Quadruped-PyMPC
基于梯度和采样控制的四足运动 Python MPC 框架
许可证
BSD-3-Clause
概述
Quadruped-PyMPC 是来自 IIT 动态腿式系统实验室的基于 Python 的四足机器人运动模型预测控制框架。它使用单刚体模型实现了两种互补方法:通过 acados 的基于梯度的优化(CPU 上小于 5ms)和通过 JAX 的大规模并行采样控制(GPU 上 10,000 次滚动展开小于 2ms)。发表于 IROS 2024 和 IEEE RAL 2025,已在真实 Unitree 机器人上验证。
Quadruped-PyMPC 是一个用于四足运动的 Python MPC 框架,提供通过 acados 的基于梯度的优化(CPU 上小于 5ms)和通过 JAX 的大规模并行采样控制(GPU 上 10,000 次滚动展开小于 2ms)。支持多种步态、足端优化和在 Unitree 机器人上的真实硬件部署。
为何重要
该项目使最先进的四足运动控制在 Python 中变得易于使用,并在 IROS 2024 和 IEEE RAL 2025 上发表了成果。来自 IIT 动态腿式系统实验室的双重梯度/采样方法和真实硬件验证使其成为一个有价值的研究平台。
解决的问题
为四足运动实现模型预测控制涉及复杂的优化、接触调度和实时约束。该框架提供了一个简洁的 Python 实现,梯度和采样两种方法均达到实时性能。
要点
- 双重 MPC:基于梯度(acados,<5ms)和基于采样(JAX,10K 次滚动展开 <2ms)
- 支持对角步、侧对步、跳跃步态及足端优化
- 在 Unitree 四足机器人上进行了真实验证
- ROS2 集成用于硬件部署
适用人群
- 从事四足控制的腿式机器人研究人员
- 希望使用 Python MPC 而无需编写 C++ 优化代码的工程师
- 在 Unitree 四足机器人上部署 MPC 控制器的团队
局限
- 基于单刚体模型——是完整动力学的简化
- 真实部署需要 Unitree 机器人及其 SDK
- 基于 GPU 的采样需要支持 JAX CUDA 的 NVIDIA 硬件