开发者生态

Model Predictive Control Toolkit for Robotics

Model Predictive Control Toolkit for Robotics(MPC Toolkit)是一个面向机器人模型预测控制的开源工具包,提供了系统建模、最优控制问题求解、实时部署和学习型MPC等完整功能。工具包支持多种MPC范式,包括线性MPC(基于QP求解)、非线性MPC(NMPC,基于NLP求解)、学习型MPC(基于高斯过程/神经网络/强化学习的MPC)、鲁棒MPC(基于管的鲁棒MPC、min-max MPC)、随机MPC(基于场景的随机MPC、分布鲁棒MPC)等;支持多种系统模型,包括运动学模型、动力学模型、接触模型、柔性体模型等;支持多种求解算法,包括QP求解器(OSQP、qpOASES)、NLP求解器(IPOPT、SNOPT)、凸优化(CVXPY)、实时迭代方法等;支持多种代码生成和实时部署方法,包括ACADO、CasADi、FORCES Pro等;支持多种学习方法与MPC的结合,包括基于高斯过程的模型学习、基于神经网络的模型学习、基于强化学习的代价函数学习等。工具包基于Python和C++实现,提供了与ROS、MoveIt、MuJoCo、PyBullet、Gazebo等工具的接口,支持多种机器人平台(机械臂、移动机器人、人形机器人、无人机等)。工具包采用BSD 3-Clause开源协议,GitHub星标超过900,是机器人MPC领域使用最广泛的开源工具之一。

开源项目

项目说明

Model Predictive Control Toolkit for Robotics(MPC Toolkit)是一个面向机器人模型预测控制的开源工具包,提供了系统建模、最优控制问题求解、实时部署和学习型MPC等完整功能。工具包支持多种MPC范式,包括线性MPC(基于QP求解)、非线性MPC(NMPC,基于NLP求解)、学习型MPC(基于高斯过程/神经网络/强化学习的MPC)、鲁棒MPC(基于管的鲁棒MPC、min-max MPC)、随机MPC(基于场景的随机MPC、分布鲁棒MPC)等;支持多种系统模型,包括运动学模型、动力学模型、接触模型、柔性体模型等;支持多种求解算法,包括QP求解器(OSQP、qpOASES)、NLP求解器(IPOPT、SNOPT)、凸优化(CVXPY)、实时迭代方法等;支持多种代码生成和实时部署方法,包括ACADO、CasADi、FORCES Pro等;支持多种学习方法与MPC的结合,包括基于高斯过程的模型学习、基于神经网络的模型学习、基于强化学习的代价函数学习等。工具包基于Python和C++实现,提供了与ROS、MoveIt、MuJoCo、PyBullet、Gazebo等工具的接口,支持多种机器人平台(机械臂、移动机器人、人形机器人、无人机等)。工具包采用BSD 3-Clause开源协议,GitHub星标超过900,是机器人MPC领域使用最广泛的开源工具之一。