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 实现了基于单刚体模型的控制器。它提供了两种不同的计算方法:

  1. 基于梯度的 MPC:使用 acados 进行快速计算(CPU 上小于 5ms),具有可选的落脚点优化、地面反作用力平滑和稳定性准则。
  2. 基于采样的 MPC:使用 jax 在 GPU 上执行数千次并行模拟(小于 2ms),支持 MPPI 和 CEMPPI 等策略,并具有多种控制参数化(零阶、线性或三次样条)。

适用对象

专为从事腿式运动研究的机器人研究人员和工程师设计,他们需要一个灵活、基于 Python 的 MPC 框架,并能与 Mujoco 和现实硬件兼容。

特点

  • 双重实现,同时支持基于梯度 (CPU) 和基于采样 (GPU) 的优化。
  • 极低延迟:基于梯度的方法小于 5ms,基于采样的模拟小于 2ms。
  • 支持先进的控制策略,包括 MPPI、CEMPPI 和 Feedback-MPPI。
  • 兼容于 Mujoco 模拟,并可通过 Unitree 机器人通讯工具进行实际部署。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目