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)框架,使其能够执行如小跑、踱步和跳跃等复杂动作。通过实时计算最优控制动作,解决了在足式运动中保持稳定性和平衡的挑战。

工作原理

系统使用单刚体模型来预测和优化机器人运动。提供两种不同的实现路径:

  • 基于梯度的MPC: 使用 acados 实现快速计算(现代CPU上低于5ms),并包含足点优化和基于李雅普诺夫函数的稳定性准则等功能。
  • 基于采样的MPC: 利用 jax 实现大规模并行滚动(在GPU上10,000次滚动在2ms内完成),支持MPPI、CEMPPI以及多种控制参数化方式(零阶、线性或三次样条)的随机采样策略。

适用人群

本项目专为使用Mujoco进行仿真或部署到真实Unitree机器人的足式运动与控制系统的研究人员和工程师设计。

主要亮点

  • 双引擎架构: 同时支持基于CPU的梯度优化和基于GPU的采样加速。
  • 适用于真实场景: 与Mujoco兼容,并集成了状态估计和通信工具,可直接部署到真实机器人。
  • 极高效率: 无论是梯度还是采样控制回路,均实现极低延迟。
  • 高级控制选项: 包含可选的地面反力平滑处理和步频自适应功能,以提升鲁棒性。

相关

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