推荐开源项目:HILO-MPC —— 机器学习支持的最优控制与估计工具箱
项目地址:https://gitcode.com/gh_mirrors/hi/hilo-mpc
项目介绍
HILO-MPC 是一个基于 Python 的工具箱,旨在轻松、灵活且高效地实现机器学习支持的最优控制和估计问题。该项目主要由德国达姆施塔特工业大学控制与网络物理系统实验室和奥托·冯·格里克大学系统理论与控制实验室共同开发。HILO-MPC 可用于模型预测控制、移动视界估计、卡尔曼滤波、求解最优控制问题,并提供了与嵌入式模型预测控制工具的接口。
项目技术分析
HILO-MPC 的核心技术亮点在于其与多种知名框架的紧密集成:
- TensorFlow 和 PyTorch 支持:可以直接与 TensorFlow 和 PyTorch 集成,创建机器学习模型。
- CasADi 集成:利用 CasADi 框架高效构建控制和估计问题。
- 广泛的机器学习模型支持:目前支持的模型包括前馈神经网络和高斯过程,正在开发中的模型包括贝叶斯神经网络和循环神经网络。
HILO-MPC 支持多种非线性模型预测控制(MPC)和最优控制问题,包括参考跟踪、轨迹跟踪、路径跟随、经济非线性 MPC 以及线性 MPC 等。所有非线性 MPC 支持软约束、时变系统和时变参数,适用于连续时间和离散时间模型,形式可以是 DAE 或 ODE。
项目及技术应用场景
HILO-MPC 适用于多种实际应用场景,包括但不限于:
- 生物反应器控制:利用混合第一原理和学习模型进行非线性 MPC 控制。
- 轨迹跟踪与路径跟随:结合机器学习和避障技术的模型预测控制。
- 连续搅拌槽反应器控制:使用高斯过程预测模型的输出反馈 MPC。
- 学习型 NMPC 控制:利用神经网络进行学习型非线性 MPC 控制。
- 经典控制问题:如 LQR、PID 控制。
- 移动视界估计与卡尔曼滤波:应用于连续搅拌槽反应器的多种滤波技术。
项目特点
- 易于安装和使用:通过 pip 即可安装,提供了丰富的示例和文档。
- 高度灵活性:支持多种机器学习模型和控制问题类型,适用于不同领域的应用。
- 高效性能:借助 CasADi 框架,确保控制和估计问题的高效求解。
- 开放性和可扩展性:开源项目,用户可以根据需要扩展功能和模型。
安装指南
pip install hilo-mpc
额外依赖包
为了充分利用 HILO-MPC 的全部功能,建议安装以下依赖包:
| 包名 | 版本 | 用途 | |---------------------|-------------------|---------------------------------------| | TensorFlow | >=2.3.0, <2.8.0 | 训练神经网络 | | PyTorch | >=1.2.0 | 训练神经网络 | | scikit-learn | >=0.19.2 | 训练数据标准化 | | Bokeh | >=2.3.0, <3.0.0 | 绘图 | | Matplotlib | >=3.0.0 | 绘图 | | pandas | >=1.0.0 <=1.5.1| 提供神经网络训练数据 |
文档与引用
详细的文档请参考 HILO-MPC 文档。若在研究中使用 HILO-MPC,请引用以下文献:
@misc{pohlodek2022hilompc,
title = {Flexible development and evaluation of machine-learning-supported optimal control and estimation methods via {HILO-MPC}},
author = {Pohlodek, Johannes and Morabito, Bruno and Schlauch, Christian and Zometa, Pablo and Findeisen, Rolf},
publisher = {arXiv},
year = {2022},
doi = {10.48550/ARXIV.2203.13671}
}
HILO-MPC 是一个功能强大且灵活的工具箱,适用于广大科研人员和工程师在机器学习支持的最优控制和估计领域的应用。立即尝试,开启高效控制与估计的新篇章!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考