Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Quadruped-PyMPC

四足機器人行走運動的 Python MPC 框架,提供梯度式與取樣式控制

授權條款

BSD-3-Clause

概述

Quadruped-PyMPC 是 IIT Dynamic Legged Systems Lab 推出、以 Python 撰寫的四足機器人行走運動模型預測控制框架。它實作單一剛體模型,並提供兩種互補的做法:透過 acados 進行梯度式最佳化(在 CPU 上低於 5ms),以及透過 JAX 進行大規模平行的取樣式控制(在 GPU 上低於 2ms 完成 10,000 次 rollout)。相關成果發表於 IROS 2024 與 IEEE RAL 2025,並已在真實的 Unitree 機器人上通過驗證。

Quadruped-PyMPC 是四足機器人行走運動的 Python MPC 框架,提供透過 acados 的梯度式最佳化(在 CPU 上低於 5ms),以及透過 JAX 的大規模平行取樣式控制(在 GPU 上低於 2ms 完成 10,000 次 rollout)。它支援多種步態、落腳點最佳化,以及在 Unitree 機器人上的真實硬體部署。

為何重要

這個專案讓最先進的四足機器人行走運動控制能在 Python 中使用,相關成果已發表於 IROS 2024 與 IEEE RAL 2025。梯度式/取樣式的雙重做法,加上 IIT Dynamic Legged Systems Lab 的真實硬體驗證,使它成為很有價值的研究平台。

解決的問題

為四足機器人行走運動實作模型預測控制,涉及複雜的最佳化、接觸排程與即時性限制。這個框架提供簡潔的 Python 實作,梯度式與取樣式兩種做法都能達到即時效能。

重點

  • 雙 MPC:梯度式(acados,<5ms)與取樣式(JAX,10K 次 rollout <2ms)
  • 支援對角小跑(trot)、同側步(pace)、跳躍(bound)步態,並具落腳點最佳化
  • 已在真實的 Unitree 四足機器人上通過驗證
  • 整合 ROS2 以進行硬體部署

適用對象

  • 研究四足機器人控制的足式機器人研究人員
  • 想用 Python 實作 MPC、而不必撰寫 C++ 最佳化程式碼的工程師
  • 在 Unitree 四足機器人上部署 MPC 控制器的團隊

限制

  • 以單一剛體模型為基礎,是完整動力學的簡化
  • 真實部署需要 Unitree 機器人及其 SDK
  • 以 GPU 進行取樣需要支援 JAX CUDA 的 NVIDIA 硬體

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。