gym-electric-motor (GEM): A Python toolbox for the simulation of electric drive systems

The gym-electric-motor (GEM) library provides simulation environments for electrical drive systems and, therefore, allows to easily design and analyze drive control solutions in Python. Since GEM is strongly inspired by OpenAI’s gym (Brockman et al., 2016), it is particularly well-equipped for (but not limited to) applications in the field of reinforcement-learning-based control algorithms. In addition, the interface allows to plug in any expert-driven control approach, such as model predictive control, to be tested and to perform benchmark comparisons. The GEM package includes a wide variety of motors, power electronic converters and mechanical load models that can be flexibly selected and parameterized via the API. A modular structure allows additional system components to be included in the simulation framework.