NMPC-WBC stack for legged robots, leveraging OCS2 and ros-controls
Top 30.2% on sourcepulse
This repository provides a framework for legged robot control, focusing on Nonlinear Model Predictive Control (NMPC), Whole-Body Control (WBC), state estimation, and sim2real deployment. It targets researchers and engineers working with legged robots, offering a high-performance, easy-to-use baseline for model-based locomotion control.
How It Works
The framework integrates NMPC and WBC using the OCS2 library for trajectory optimization and ros-controls for hardware interfacing. The NMPC component solves an optimization problem to determine optimal system states and inputs, considering constraints like friction cones and foot-ground interaction. The WBC then translates these optimized states and inputs into joint torques, with low-gain PD control for improved tracking and shock absorption. A Kalman filter estimates the robot's base position and velocity.
Quick Start & Requirements
ocs2_legged_robot_ros
and other packages using catkin build
.catkin tools
, git
, sudo apt install liburdfdom-dev liboctomap-dev libassimp-dev
, ros-noetic-rqt-controller-manager
.Highlighted Details
ros-control
interface.Maintenance & Community
This project is not supported anymore. The authors are developing a new framework and are not actively working on this repository.
Licensing & Compatibility
The README does not explicitly state a license. However, dependencies like OCS2, Pinocchio, and hpp-fcl are typically under permissive licenses (e.g., BSD, MIT), suggesting potential compatibility with commercial use.
Limitations & Caveats
The project is explicitly marked as unsupported and no longer maintained. Users should be aware that there will be no further updates or bug fixes.
5 months ago
1 day