Project Icon

gym-electric-motor

电机仿真与控制的Python开源工具箱

Gym Electric Motor (GEM) 是一个用于电机仿真与控制的Python开源工具箱,支持传统控制和强化学习实验。它能构建典型的传动系统,进行闭环仿真并提供各种决策算法接口。适用于工业和学术领域的工程师,涵盖从线性反馈控制到深度确定性策略梯度等多种应用。通过简单的安装步骤和丰富的示例文档,用户可以快速开始使用并进行深入研究。

项目介绍:gym-electric-motor

概述

gym-electric-motor(简称GEM)是一个用于模拟和控制各种电动机的Python工具包。该工具包基于Faram Gymnasium Environments构建,适用于经典控制模拟和强化学习实验。用户可以通过GEM构建一个典型的传动系统,包括供电电压、变频器、电动机和负载模型,从而实现该物理结构的闭环模拟。此外,GEM还为各种决策算法提供了丰富的接口,这些算法范围从线性反馈控制到深度确定性策略梯度(DDPG)智能体。此外,GEM还提供了一个基于PI控制器的自动化框架,用于经典控制结构。

快速入门

用户可以通过一些互动式的Google Colaboratory笔记本快速上手GEM。这些笔记本展示了GEM的重要功能以及应用演示,可以帮助工业和学术领域的工程师快速入门。

以下是几个示例笔记本:

  • GEM cookbook
  • Stable-baselines3 DDPG示例
  • Stable-baselines3 DQN示例
  • MPC示例

此外,还有一些独立范例脚本可供查看,以演示最小功能。

一个简单的基本操作如下:

import gym_electric_motor as gem

if __name__ == '__main__':
    env = gem.make("Finite-CC-PMSM-v0")  # 实例化一个离散控制的PMSM
    env.reset()
    for _ in range(10000):
        (states, references), rewards, done, _ =\
        env.step(env.action_space.sample())  # 随机选择控制动作
        if done:
            (states, references), _ = env.reset()
    env.close()

安装

  • 从PyPI安装(推荐):
    pip install gym-electric-motor
    
  • 从GitHub源码安装:
    git clone git@github.com:upb-lea/gym-electric-motor.git
    cd gym-electric-motor
    # 然后选择以下任一种方式
    python setup.py install
    # 或者
    pip install -e .
    

构建模块

GEM环境由以下几部分组成:

  • 物理结构:

    • 电压供给
    • 变频器
    • 电动机
    • 负载模型
  • 用于参考生成、奖励计算和可视化的实用功能

GEM环境中的信息流

GEM支持多个直流电机模型,并提供了交流电机和其电子部分的如下选项:

  • 永磁同步电机(PMSM)
  • 同步磁阻电机(SynRM)
  • 外部励磁同步电机(EESM)
  • 鼠笼式异步电机(SCIM)
  • 双馈感应电机(DFIM)

变频器可以采用占空比(连续控制组)或开关命令(有限控制组)来驱动。

引用

GEM的总体介绍及其在驱动仿真和控制原型中的应用可以参考《开放源代码软件期刊》(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上的白皮书。以下是引用该论文的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控制的经典控制方法,请参考可在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。所有测试都位于“tests”文件夹中。在项目的根目录下执行pytest:

>>> pytest

或者运行带有测试覆盖率的命令:

>>> pytest --cov=./

所有的测试应当通过。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号