Three Point Controller
- class gem_controllers.stages.base_controllers.three_point_controller.ThreePointController(control_task)[source]
This class represents a three point controller, that can be used for discrete action spaces.
- Parameters
control_task (str) – Control task of the three point controller
- __call__(state, reference)[source]
Select one of the three actions.
- Parameters
state (np.ndarray) – The state of the environment.
reference (np.ndarray) – The reference of the state.
- Returns
Action or reference for the next stage
- Return type
action(np.ndarray)
- _tune_current_controller(env, env_id)[source]
Calculate the hysteresis levels of the current control stage and set the action values.
- Parameters
env (ElectricMotorEnvironment) – The GEM-Environment that the controller shall be created for.
env_id (str) – The corresponding environment-id to specify the concrete environment.
- _tune_speed_controller(env, _env_id)[source]
Calculate the hysteresis levels of the speed control stage and set the torque reference values.
- Parameters
env (ElectricMotorEnvironment) – The GEM-Environment that the controller shall be created for.
_env_id (str) – The corresponding environment-id to specify the concrete environment.
- property action_range
Action range of the base controller
- property high_action
High action value of the three point controller
- property hysteresis
Value of the hysteresis level
- property idle_action
Idle action value of the three point controller
- property low_action
Low action value of the three point controller
- property referenced_state_indices
Indices of the controlled states