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