Ten complete robotics applications covering every workflow a ROS2 developer needs. Ordered from simple to advanced, with both Rust and Python examples.
| Example | Language | What you'll learn |
|---|---|---|
| differential_drive | Rust | Nodes, topics, messages, scheduler basics |
| python_robot | Python | Same as differential_drive — the Python starting point |
| Example | Language | What you'll learn |
|---|---|---|
| robot_arm | Rust | Services, frame transforms (TransformFrame), trajectory control |
| sensor_navigation | Rust | Multi-rate scheduling, sensor pipelines, reactive control |
| camera_perception | Rust | CV pipeline: camera → object detection → tracking (IoU, SORT) |
| Example | Language | What you'll learn |
|---|---|---|
| multi_robot | Rust | Namespaced topics, launch files, fleet coordination |
| quadruped | Rust | Real-time nodes, budgets, deadlines, IMU feedback |
| pick_and_place | Rust | Actions: goal lifecycle, feedback, cancellation |
| Example | Language | What you'll learn |
|---|---|---|
| driver_integration | Rust | Hardware drivers via [drivers] config, Terra HAL, custom drivers |
| record_replay | Rust | Session recording, blackbox forensics, deterministic replay |
| ROS2 Workflow | Horus Example |
|---|---|
| Publisher/Subscriber tutorial | differential_drive or python_robot |
| tf2 and frame transforms | robot_arm |
| nav2 sensor pipeline | sensor_navigation |
| darknet_ros / YOLO detection | camera_perception |
| Multi-robot swarm | multi_robot |
| ros2_control hardware | driver_integration |
| MoveIt pick-and-place | pick_and_place |
| rosbag2 record/play | record_replay |
| Legged robot control | quadruped |
- Horus installed (
horusCLI available) - sim3d installed (for physics simulation)
- Python 3.9+ (for
python_robotexample)
Every Rust example follows the same workflow:
# Terminal 1: start the simulator (optional — examples work without sim)
sim3d --mode visual --robot robots/<robot>.urdf --world worlds/<world>.yaml
# Terminal 2: run the controller
horus run main.rsFor Python:
horus run main.pyWhile running, use the CLI to inspect the system:
horus topic list # see active topics
horus topic echo <topic> # watch live messages
horus node list # see running nodes
horus monitor -t # TUI dashboardEach example contains:
example_name/
main.rs / main.py # Controller application
horus.toml # Project manifest (deps, drivers, scripts)
robots/*.urdf # Robot description (links, joints, sensors)
worlds/*.yaml # Environment (ground, obstacles, lighting)
launch/*.yaml # Launch configuration (multi_robot only)
README.md # Walkthrough and expected behavior