Supply Converter Motor Load System (SCML)
The technical structure of the SCML-Systems in the GEM-toolbox can bee seen in the figure below.
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