Skip to content

Packages

Quad-SDK is a workspace of focused ROS 2 packages. Each one builds in isolation (colcon build --packages-select <name>) and most have their own unit tests.

Planning

Package What it does
global_body_planner RRT-Connect planner with mixed motion primitives (GBP-L); exposes a plan_with_constraints service for multi-robot replanning
local_planner NMPC body plan + Raibert footstep heuristic
nmpc_controller CasADi/IPOPT nonlinear MPC, exposed as a library
conflict_based_search Multi-robot global planning — coordinates per-robot global planners via OBB conflict detection + time-windowed constraints

Control + estimation

Package What it does
robot_driver Real-time control loop, EKF state estimation, hardware abstraction
body_force_estimator Momentum-based external wrench observer

Simulation

Package What it does
quad_simulator Gazebo Harmonic plugins, worlds, and robot descriptions
force_applicator Runtime disturbance injection for robustness testing

Utilities

Package What it does
quad_utils Kinematics/dynamics (Pinocchio), launch system, shared utilities
quad_msgs Message definitions
quad_logger Bag recording + log post-processing (Python + MATLAB)
quad_training Time-sync + episode management for RL/BC data collection
quad_perf_tests Performance-testing utilities
scripts Blender visualization / rendering scripts