GEM (Gym-Electric-Motor) 패키지는 다양한 전기 모터의 시뮬레이션 및 제어를위한 파이썬 도구 상자입니다. Faram Gymnasium 환경을 기반으로하므로 고전적인 제어 시뮬레이션 및 강화 학습 실험 모두에 사용할 수 있습니다. 일반적인 빌딩 블록, 즉 공급 전압, 컨버터, 전기 모터 및 하중 모델을 갖춘 일반적인 드라이브 트레인을 건설 할 수 있으며이 물리적 구조의 폐쇄 루프 시뮬레이션뿐만 아니라 선형 피드백 제어에서 심층적 인 정책 구배 에이전트에 이르기까지 모든 의사 결정 알고리즘을 연결하기위한 풍부한 인터페이스를 얻을 수 있습니다. 또한 PI 컨트롤러를 기반으로 클래식 제어 구조를위한 자동화 된 프레임 워크가 제공됩니다.
GEM을 시작하는 쉬운 방법은 Google 공동 작업에서 다음 대화식 노트북을 가지고 놀는 것입니다. GEM의 가장 중요한 기능과 응용 프로그램 시연이 전시되며 업계 및 학계의 엔지니어를위한 킥 스타트를 제공합니다.
최소한의 데모를위한 독립형 예제 스크립트 목록이 있습니다.
기본 루틴은 다음과 같이 간단합니다.
import gym_electric_motor as gem
if __name__ == '__main__' :
env = gem . make ( "Finite-CC-PMSM-v0" ) # instantiate a discretely controlled PMSM
env . reset ()
for _ in range ( 10000 ):
( states , references ), rewards , done , _ =
env . step ( env . action_space . sample ()) # pick random control actions
if done :
( states , references ), _ = env . reset ()
env . close () pip install gym-electric-motor
git clone [email protected]:upb-lea/gym-electric-motor.git
cd gym-electric-motor
# Then either
python setup.py install
# or alternatively
pip install -e .
보석 환경은 다음 빌딩 블록으로 구성됩니다.

다양한 DC 모터 모델 중에서 전력 전자 상대와 함께 다음 AC 모터를 사용할 수 있습니다.
변환기는 듀티 사이클 (연속 제어 세트) 또는 전환 명령 (유한 제어 세트)을 통해 구동 될 수 있습니다.
드라이브 시뮬레이션 및 제어 프로토 타이핑의 맥락에서 일반 도구 상자를위한 백서는 Journal of Open Sorce Software (JOSS)에서 찾을 수 있습니다. 다음을 인용하려면 다음 Bibtex 항목을 사용하십시오.
@article{Balakrishna2021,
doi = {10.21105/joss.02498},
url = {https://doi.org/10.21105/joss.02498},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {58},
pages = {2498},
author = {Praneeth {Balakrishna} and Gerrit {Book} and Wilhelm {Kirchgässner} and Maximilian {Schenke} and Arne {Traue} and Oliver {Wallscheid}},
title = {gym-electric-motor (GEM): A Python toolbox for the simulation of electric drive systems},
journal = {Journal of Open Source Software}
}
강화 학습 내 에서이 프레임 워크를 활용하기위한 백서는 IEEE-xplore (preprint : arxiv.org/abs/1910.09434)에서 제공됩니다. 다음을 인용하려면 다음 Bibtex 항목을 사용하십시오.
@article{9241851,
author={Traue, Arne and Book, Gerrit and Kirchgässner, Wilhelm and Wallscheid, Oliver},
journal={IEEE Transactions on Neural Networks and Learning Systems},
title={Toward a Reinforcement Learning Environment Toolbox for Intelligent Electric Motor Control},
year={2022},
volume={33},
number={3},
pages={919-928},
doi={10.1109/TNNLS.2020.3029573}}
Gym-Electric-Motor Control의 고전적인 제어 접근법을위한 백서는 IEEE-XPlore에서 제공됩니다. 다음을 인용하려면 다음 Bibtex 항목을 사용하십시오.
@INPROCEEDINGS{10239044,
author={Book, Felix and Traue, Arne and Schenke, Maximilian and Haucke-Korber, Barnabas and Wallscheid, Oliver},
booktitle={2023 IEEE International Electric Machines & Drives Conference (IEMDC)},
title={Gym-Electric-Motor (GEM) Control: An Automated Open-Source Controller Design Suite for Drives},
year={2023},
volume={},
number={},
pages={1-7},
doi={10.1109/IEMDC55163.2023.10239044}}
단위 테스트를 실행하려면 ''Pytest ''가 필요합니다. 모든 테스트는``테스트 ''폴더에서 찾을 수 있습니다. 프로젝트의 루트 폴더에서 pytest를 실행하십시오.
>>> pytest
또는 테스트 커버리지 :
>>> pytest --cov=./
모든 테스트는 통과해야합니다.