explaingit

lxliam/legged_mpc_amp

Analysis updated 2026-05-18

41C++Audience · researcherComplexity · 5/5LicenseSetup · hard

TLDR

A tool that simulates four legged robots walking and automatically records their motion as AMP training data, used to teach robots natural, animal-like gaits.

Mindmap

mindmap
  root((legged_mpc_amp))
    What it does
      Simulates quadruped walking
      Records AMP motion data
      Exports to IsaacLab format
    Tech stack
      C plus plus
      ROS Noetic
      Gazebo
      Model predictive control
    Features
      Automatic AMP recording
      Foot trajectory plotting
      Keyboard gait control
    Robots supported
      Go1 and Go2
      A1 and Aliengo
      Lite3
    Audience
      Robotics researchers
      Reinforcement learning engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Simulate a quadruped robot walking in Gazebo and record its motion as AMP training data.

USE CASE 2

Export recorded motion data into the .npz format used by IsaacLab for reinforcement learning.

USE CASE 3

Visualize the foot trajectories the model predictive controller generates in real time.

USE CASE 4

Add support for a new quadruped robot model using the provided integration guide.

What is it built with?

C++ROS NoeticGazeboEigenPinocchio

How does it compare?

lxliam/legged_mpc_ampcaspermeijn/onvifviewermarchildmann/beveldesk
Stars414141
LanguageC++C++C++
Last pushed2023-01-19
MaintenanceDormant
Setup difficultyhardmoderatemoderate
Complexity5/53/53/5
Audienceresearchergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Ubuntu 20.04, ROS Noetic, and Gazebo simulation dependencies installed.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice, under the BSD 3-Clause license.

In plain English

This project is a data generation tool for four legged robots, built on nonlinear model predictive control and whole body control techniques. It produces AMP data, which is the kind of motion data used to train robots to imitate natural, animal-like walking patterns. The tool wraps keyboard control inside the Gazebo robot simulator, fully automatic recording of that motion data, and support for importing several different robot models. The project targets Ubuntu 20.04 with ROS Noetic. After installing a list of system dependencies with apt, you compile the whole workspace with a single setup script. To run it, you open two terminals: one launches the Gazebo simulation with an empty world, and the other launches keyboard control with AMP data logging turned on and pointed at an output folder. Once running, you press a key to initialize the controller, another key to switch to a trotting gait, and the w, s, a, and d keys to steer the robot forward, backward, and turn. Core features include one step automatic recording of one to two minutes of varied motion data per sample, direct export of that data into the .npz file format used by IsaacLab, a live plotting tool that shows the foot trajectories the model predictive controller calculates, and support for several existing quadruped robot models including Go1, Go2, A1, Aliengo, and Lite3, with a guide for adding new robots. Detailed documentation covers the build process, adding new robots, and the AMP data collection and conversion steps. The project builds on an existing open source legged robot control project and its own modifications are released under the BSD 3-Clause license.

Copy-paste prompts

Prompt 1
Walk me through installing the ROS Noetic dependencies and building legged_mpc_amp on Ubuntu 20.04.
Prompt 2
Explain how to launch the Gazebo simulation and keyboard controlled AMP data recording for this project.
Prompt 3
Show me how convert_amp_data_isaaclab.py turns recorded AMP data into IsaacLab's .npz format.
Prompt 4
How do I add support for a new quadruped robot to legged_mpc_amp using the new robot setup guide?

Frequently asked questions

What is legged_mpc_amp?

A tool that simulates four legged robots walking and automatically records their motion as AMP training data, used to teach robots natural, animal-like gaits.

What language is legged_mpc_amp written in?

Mainly C++. The stack also includes C++, ROS Noetic, Gazebo.

What license does legged_mpc_amp use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice, under the BSD 3-Clause license.

How hard is legged_mpc_amp to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is legged_mpc_amp for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.