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.
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.
-
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.
-
Simulation
First-class support for both Gazebo Harmonic and MuJoCo. Force-injection plugins, perception terrain stack, multi-robot scenarios.
-
Logging + training
Bag recording, MATLAB/Python post-processing, RL/BC episode management, and reproducible perf-test rigs.
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
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}
}
