iit-DLSLab/Quadruped-PyMPC
A model predictive controller for quadruped robots based on the single rigid body model and written in python. Gradient-based (acados) or Sampling-based (jax)
解决的问题
它为四足机器人提供了一种高性能模型预测控制器 (MPC),使其能够执行小跑、快步和跳跃等复杂动作,同时保持稳定性和鲁棒性。
运作原理
该项目使用 Python 实现了基于单刚体模型的控制器。它提供了两种不同的计算方法:
- 基于梯度的 MPC:使用
acados进行快速计算(CPU 上小于 5ms),具有可选的落脚点优化、地面反作用力平滑和稳定性准则。 - 基于采样的 MPC:使用
jax在 GPU 上执行数千次并行模拟(小于 2ms),支持 MPPI 和 CEMPPI 等策略,并具有多种控制参数化(零阶、线性或三次样条)。
适用对象
专为从事腿式运动研究的机器人研究人员和工程师设计,他们需要一个灵活、基于 Python 的 MPC 框架,并能与 Mujoco 和现实硬件兼容。
特点
- 双重实现,同时支持基于梯度 (CPU) 和基于采样 (GPU) 的优化。
- 极低延迟:基于梯度的方法小于 5ms,基于采样的模拟小于 2ms。
- 支持先进的控制策略,包括 MPPI、CEMPPI 和 Feedback-MPPI。
- 兼容于 Mujoco 模拟,并可通过 Unitree 机器人通讯工具进行实际部署。
相关
- 项目
- 项目
- 项目
- Dispatch
- 项目