Paket gym-electric-motor (GEM) adalah kotak alat Python untuk simulasi dan kontrol berbagai motor listrik. Ini dibangun di atas lingkungan gimnasium Faram, dan, oleh karena itu, dapat digunakan untuk keduanya, simulasi kontrol klasik dan eksperimen pembelajaran penguatan. Ini memungkinkan Anda untuk membangun kereta drive yang khas dengan blok bangunan yang biasa, yaitu, tegangan pasokan, konverter, motor listrik dan model beban, dan mendapatkan tidak hanya simulasi loop tertutup dari struktur fisik ini, tetapi juga antarmuka yang kaya untuk menyumbat algoritma pengambilan keputusan apa pun, dari kontrol umpan balik linier hingga agen gradien kebijakan yang mendalam. Selain itu, kerangka kerja otomatis untuk struktur kontrol klasik berdasarkan pengontrol PI disediakan.
Cara mudah untuk memulai dengan GEM adalah dengan bermain -main dengan buku catatan interaktif berikut di Google Colaboratory. Fitur paling penting dari GEM serta demonstrasi aplikasi dipamerkan, dan memberikan kickstart untuk insinyur di industri dan akademisi.
Ada daftar skrip contoh mandiri juga untuk demonstrasi minimalis.
Rutinitas dasar sesederhana:
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 .
Lingkungan permata terdiri dari blok bangunan berikut:
Di antara berbagai model DC -motor, motor AC berikut - bersama dengan rekan elektronik daya mereka - tersedia: tersedia:
Konverter dapat digerakkan dengan menggunakan siklus tugas (set kontrol kontinu) atau perintah switching (set kontrol terbatas).
Buku putih untuk kotak alat umum dalam konteks simulasi drive dan prototipe kontrol dapat ditemukan dalam Journal of Open Sorce Software (JOSS). Silakan gunakan entri Bibtex berikut untuk mengutipnya:
@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}
}
Buku putih untuk pemanfaatan kerangka kerja ini dalam pembelajaran penguatan tersedia di IEEE-XPlore (preprint: arxiv.org/abs/1910.09434). Silakan gunakan entri Bibtex berikut untuk mengutipnya:
@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}}
Buku putih untuk pendekatan kontrol klasik dari kontrol motorik gym-listrik tersedia di IEEE-Xplore. Silakan gunakan entri Bibtex berikut untuk mengutipnya:
@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}}
Untuk menjalankan tes unit '' Pytest '' diperlukan. Semua tes dapat ditemukan di folder '' Tes ''. Jalankan pytest di folder root proyek:
>>> pytest
atau dengan cakupan tes:
>>> pytest --cov=./
Semua tes akan lulus.