PI Current Controller

class gem_controllers.pi_current_controller.PICurrentController(env, env_id, base_current_controller='PI', decoupling=True)[source]

This class forms the PI current controller, for any motor.

Initilizes a PI current control stage.

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.

  • base_current_controller (str) – Selection which base controller should be used for the current control stage.

  • decoupling (bool) – Flag, if a EMF-Feedforward correction stage should be used in the PI current controller.

property clipping_stage

Clipping stage of the current controller

control(state, reference)[source]

Claculate the reference values for the input voltages.

Parameters
  • state (np.array) – actual state of the environment

  • reference (np.array) – current references

Returns

voltage references

Return type

np.ndarray

property current_base_controller: BaseController

Base controller for the current control

current_control(state, current_reference)[source]

Calculate the input voltages.

Parameters
  • state (np.array) – state of the environment

  • current_reference (np.array) – current references

Returns

voltage references

Return type

np.array

property emf_feedforward: EMFFeedforward

EMF feedforward stage of the current controller

property referenced_states

Referenced states of the current control stage.

property references

Reference values of the current control stage.

reset()[source]

Reset all components of the stage

property signal_names

Signal names of the calculated values.

property stages

List of the stages up to the current controller

property t_n

Time constant of the current controller

property transformation_stage

Coordinate transformation stage at the output

tune(env, env_id, a=4, **kwargs)[source]

Tune the components of the current control stage.

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.

  • a (float) – Design parameter of the symmetric optimum for the base controllers

property voltage_reference: ndarray

Reference values for the input voltages