حزمة الصالة الرياضية والكهربائية (GEM) هي صندوق أدوات بيثون لمحاكاة وتحكم المحركات الكهربائية المختلفة. إنه مبني على بيئات Faram Gymnasium ، وبالتالي ، يمكن استخدامها لكلاهما ، محاكاة التحكم الكلاسيكية وتجارب التعلم التعزيز. يتيح لك إنشاء قطار قيادة نموذجي مع لبنات البناء المعتادة ، أي فولتية العرض ، المحولات ، المحركات الكهربائية ونماذج الحمل ، وليس فقط محاكاة حلقة مغلقة لهذه الهيكل المادي ، ولكن أيضًا واجهة غنية لتوصيل أي خوارزمية لصنع القرار ، من التحكم في التعليقات الحتمية العميقة. بالإضافة إلى ذلك ، يتم توفير إطار آلي لهياكل التحكم الكلاسيكية القائمة على وحدات التحكم PI.
هناك طريقة سهلة للبدء في GEM هي من خلال اللعب مع أجهزة الكمبيوتر المحمولة التفاعلية التالية في Google Colaboratory. يتم عرض أهم ميزات GEM وكذلك عروض التطبيقات ، وإعطاء Kickstart للمهندسين في الصناعة والأوساط الأكاديمية.
هناك قائمة بالبرامج النصية المستقلة للمثال أيضًا للمظاهرات البسيطة.
الروتين الأساسي بسيط مثل:
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 -Motor المختلفة ، تتوفر محركات AC التالية - إلى جانب نظرائهم الإلكترونية القوية -:
يمكن أن تكون المحولات مدفوعة عن طريق دورة عمل (مجموعة تحكم مستمرة) أو أوامر التبديل (مجموعة التحكم المحدودة).
يمكن العثور على ورقة بيضاء لصندوق الأدوات العام في سياق محاكاة محرك الأقراص والتحكم في النماذج الأولية في مجلة برنامج Sorce Open (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}}
تتوفر ورقة بيضاء لنهج التحكم الكلاسيكية للتحكم في الصالة الرياضية والكهربائية في 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=./
يجب أن تمر جميع الاختبارات.