manumerous/wb_humanoid_mpc
Whole-Body Nonlinear MPC for Realtime Humanoid Loco-Manipulation Planning and Control
What it solves
This project provides a real-time, physics-based controller for humanoid robots, enabling them to perform complex movements like walking and manipulation tasks. It solves the challenge of managing the high-dimensional dynamics of a humanoid robot in real-time to generate stable, fluid behaviors.
How it works
The project implements a Nonlinear Model Predictive Controller (NMPC) that optimizes movements based on two different formulations:
- Centroidal Dynamics MPC: Optimizes whole-body kinematics and center-of-mass dynamics, supporting either a single rigid body model or full centroidal dynamics with 6 DoF contact.
- Whole-Body Dynamics MPC: Optimizes contact forces and joint accelerations, with the option to compute joint torques for every step in the planning horizon.
It is built upon an extended version of the ocs2 framework and utilizes libraries like pinocchio and hpipm for dynamics and optimization.
Who it’s for
Robotics researchers and developers working with humanoid platforms (such as the Unitree G1) who need a high-performance, torque-level control system for loco-manipulation.
Highlights
- Real-time Torque Optimization: Directly optimizes full-order torque-level dynamics in real-time.
- Hardware Agnostic: Designed to be platform-agnostic, though it supports examples for the Unitree G1 and 1X Neo.
- Interactive Control: Supports base velocity and height control via Xbox gamepad or a GUI.
- Dockerized Setup: Provides a Dockerfile and Dev Container support for easier installation and development.
Related
- Project
- Project
- Project
- Project
- Project