Skip to content

legged_control

  • Software
  • Humanoids and robot learning
  • Framework

A model-based control stack for legged robots combining nonlinear MPC and whole-body control, built on OCS2 and ros-control for ROS. It is no longer supported by its authors.

  • Stale

Source on GitHub: github.com/qiayuanl/legged_control (opens in a new tab). Facts read at commit a7f381c (opens in a new tab).

Licenses

Code
BSD-3-Clause (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit a7f381c (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

Labels

  • StaleNo commit in 12 months: the newest is from 13 Feb 2025.

What it does

  • Runs a nonlinear model predictive controller that plans centroidal dynamics, with contact and gait constraints, at each cycle.
  • A whole-body controller turns the planned states and inputs into joint torques, sent as feed-forward terms with low-gain PD commands.
  • A linear Kalman filter estimates base position and velocity from IMU orientation, acceleration and foot positions.
  • Includes simulation via Gazebo and a hardware interface for the Unitree A1, and can be adapted to custom robots through the ros-control interface.
  • Gait and goal are commanded separately, with cmd_vel and move_base_simple goals used to drive the robot.
  • The authors state the project is no longer supported and point to legged_perceptive for perception-based locomotion.

Written by Robotheca from the project's README (opens in a new tab) at commit a7f381c.

Getting started

Difficulty
Advanced
Hardware it needs, as the project states it
It targets the Unitree A1 robot and requires ROS (noetic is named in the instructions) and the OCS2 packages built with catkin tools.

Maintenance

Status
Stale: no commit in 12 months
Newest commit
13 Feb 2025 on master
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots on Robotheca that use it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.