Skip to content

Quad-SDK

Open-source, ROS-based full-stack framework for agile quadrupedal locomotion.

Vertically integrated planning, control, estimation, communication, and development tools — from simulation to hardware deployment, with minimal user changes across multiple platforms.

Get started Source on GitHub

Quad-SDK promo


What's inside

  • Planning stack


    Long-horizon RRT-Connect global planner with mixed motion primitives, NMPC local body planner, Raibert-style footstep planner, and CBS-based multi-robot coordination.

    Global Body Planner

  • Control + estimation


    Real-time control loop, EKF state estimation, and a momentum-based external wrench observer. Hardware abstraction supports Spirit, Go1, Go2, A1, B2, Spot, and Vision60.

    Robot Driver

  • Simulation


    First-class support for both Gazebo Harmonic and MuJoCo. Force-injection plugins, perception terrain stack, multi-robot scenarios.

    Quad Simulator

  • Logging + training


    Bag recording, MATLAB/Python post-processing, RL/BC episode management, and reproducible perf-test rigs.

    Quad Logger


Quick start

cd ~/ros2_ws/src
git clone --recurse-submodules https://github.com/robomechanics/quad-sdk.git
cd quad-sdk
chmod +x setup.sh && ./setup.sh
cd ~/ros2_ws
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bash

# Launch
ros2 launch quad_utils quad_gazebo.py

# In a second terminal — stand the robot
ros2 topic pub /robot_1/control/mode std_msgs/UInt8 "data: 1" --once

# In a third terminal — start the planning stack
ros2 launch quad_utils quad_plan.py

Full installation guide


Cite this work

If you use Quad-SDK in academic work, please cite:

@inproceedings{abs:norby-quad-sdk-2022,
  author    = {Norby, Joseph and Yang, Yanhao and Tajbakhsh, Ardalan and
               Ren, Jiming and Yim, Justin K. and Stutt, Alexandra and
               Yu, Qishun and Flowers, Nikolai and Johnson, Aaron M.},
  title     = {Quad-{SDK}: Full Stack Software Framework for Agile
               Quadrupedal Locomotion},
  booktitle = {ICRA Workshop on Legged Robots},
  year      = {2022}
}

Read the paper