Supply Converter Motor Load System (SCML)

The technical structure of the SCML-Systems in the GEM-toolbox can bee seen in the figure below.

../../_images/SCML_Setting.svg

The system consists of a Voltage Supply, a Power Electronic Converter, an Electrical Motor and the Mechanical Load. Additionally, each SCML-System has got an ODE-Solver for the simulation.

The abstract SCML-System defines the overall structure. From this, the DcMotorSystem and the SynchronousMotorSystem derive. They only implement private methods. Therefore, the interface to the user stays the same in all cases.

class gym_electric_motor.physical_systems.physical_systems.SCMLSystem(converter, motor, load, supply, ode_solver, tau=0.0001, calc_jacobian=None)[source]

The SCML(Supply-Converter-Motor-Load)-System is used for the simulation of a technical setting consisting of these components and a solver for the electrical ODE of the motor and mechanical ODE of the load.

Parameters:
  • converter (PowerElectronicConverter) – Converter for the physical system

  • motor (ElectricMotor) – Motor of the system

  • load (MechanicalLoad) – Mechanical Load of the System

  • supply (VoltageSupply) – Voltage Supply

  • ode_solver (OdeSolver) – Ode Solver to use in this setting

  • tau (float) – discrete time step of the system

  • calc_jacobian (bool) – If True, the jacobian matrices will be taken into account for the ode-solvers. Default: The jacobians are used, if available

property converter

The power electronic converter instance in the system

property electrical_motor

The electrical motor instance of the system

property limits

Returns: ndarray(float): An array containing the maximum allowed physical values for each state variable.

property mechanical_load

The mechanical load instance in the system

property nominal_state

Returns: ndarray(float): An array containing the nominal values for each state variable.

reset(*_)[source]

Reset all the systems modules to an initial state.

Returns:

The new state of the system.

seed(seed=None)[source]

The function to set the seed.

This function is called by within the global seed call of the environment. The environment passes the sub-seed to this component that is generated based on the source-seed of the env.

Parameters:

seed ((np.random.SeedSequence, None)) – Seed sequence to derive new seeds and reference generators at every episode start. Default: None (a new SeedSequence is generated).

Returns:

A list containing all seeds within this RandomComponent. In general, this list has length 1. If the RandomComponent holds further RandomComponent instances, the list has to contain also these entropies. The entropy of this instance has to be placed always at first place.

Return type:

List(int)

simulate(action, *_, **__)[source]

Simulation of the Physical System for one time step with the input action. This method is called in the environment in every step to update the systems state.

Parameters:

action (element of action_space) – The action to play on the system for the next time step.

Returns:

The systems state after the action was applied.

Return type:

element of state_space

property supply

The voltage supply instance in the physical system

Dc Motor System

class gym_electric_motor.physical_systems.physical_systems.DcMotorSystem(converter, motor, load, supply, ode_solver, tau=0.0001, calc_jacobian=None)[source]

SCML-System that can be used for all DC Motors.

Parameters:
  • converter (PowerElectronicConverter) – Converter for the physical system

  • motor (ElectricMotor) – Motor of the system

  • load (MechanicalLoad) – Mechanical Load of the System

  • supply (VoltageSupply) – Voltage Supply

  • ode_solver (OdeSolver) – Ode Solver to use in this setting

  • tau (float) – discrete time step of the system

  • calc_jacobian (bool) – If True, the jacobian matrices will be taken into account for the ode-solvers. Default: The jacobians are used, if available

Synchronous Motor System

class gym_electric_motor.physical_systems.physical_systems.SynchronousMotorSystem(control_space='abc', **kwargs)[source]

SCML-System that can be used with all Synchronous Motors

Parameters:
  • control_space (str) – (‘abc’ or ‘dq’) Choose, if actions the actions space is in dq or abc space

  • kwargs – Further arguments to pass tp SCMLSystem

reset(*_)[source]

Reset all the systems modules to an initial state.

Returns:

The new state of the system.

simulate(action, *_, **__)[source]

Simulation of the Physical System for one time step with the input action. This method is called in the environment in every step to update the systems state.

Parameters:

action (element of action_space) – The action to play on the system for the next time step.

Returns:

The systems state after the action was applied.

Return type:

element of state_space

Squirrel Cage Induction Motor System

class gym_electric_motor.physical_systems.physical_systems.SquirrelCageInductionMotorSystem(control_space='abc', ode_solver='scipy.ode', **kwargs)[source]

SCML-System for the Squirrel Cage Induction Motor

Parameters:
  • control_space (str) – (‘abc’ or ‘dq’) Choose, if actions the actions space is in dq or abc space

  • kwargs – Further arguments to pass tp SCMLSystem

reset(*_)[source]

Reset all the systems modules to an initial state.

Returns:

The new state of the system.

simulate(action, *_, **__)[source]

Simulation of the Physical System for one time step with the input action. This method is called in the environment in every step to update the systems state.

Parameters:

action (element of action_space) – The action to play on the system for the next time step.

Returns:

The systems state after the action was applied.

Return type:

element of state_space

Doubly Fed Induction Motor System

class gym_electric_motor.physical_systems.physical_systems.DoublyFedInductionMotorSystem(ode_solver='scipy.ode', **kwargs)[source]

SCML-System for the Doubly Fed Induction Motor

Parameters:

kwargs – Further arguments to pass tp SCMLSystem

reset(*_)[source]

Reset all the systems modules to an initial state.

Returns:

The new state of the system.

simulate(action, *_, **__)[source]

Simulation of the Physical System for one time step with the input action. This method is called in the environment in every step to update the systems state.

Parameters:

action (element of action_space) – The action to play on the system for the next time step.

Returns:

The systems state after the action was applied.

Return type:

element of state_space