Tutorials

A ten-part series that builds up from one sensor node to a driver you wrote yourself. Every part exists in Rust, Python and C++ with the same numbering, so you can follow one language end to end or compare the same step across all three.

/tutorials had no page of its own until now: the individual parts were reachable from the sidebar, but the directory itself returned a 404, which is what anyone following a /tutorials link from outside the site got.

ℹ️Start with Getting Started, not here

These assume you have run something already. If you have not, do Quick Start first — it is the page that introduces the three concepts (node, topic, scheduler) the tutorials use without re-explaining.

The series

#PartRustPythonC++
1Sensor node — publish at a fixed rateRustPythonC++
2Motor controller — subscribe and actRustPythonC++
3Full robot — several nodes, one schedulerRustPythonC++
4Custom messages — your own wire typesRustPythonC++
5Hardware and real-time — rates, budgets, deadlinesRustPythonC++
6Services and actions — request/response and long jobsRustPythonC++
7Parameters deep dive — tuning without recompilingRustPythonC++
8Multi-process — one robot, several executablesRustPythonC++
9Record and replay — capture a run, replay itRustPythonC++
10Write a driver — wrap real hardwareRustPythonC++

Standalone tutorials

Two more that do not belong to the numbered sequence:

TutorialRustPythonC++
Real-time control — a hard-RT loop, start to finishRustPythonC++
Migrating from ROS 2 — the API mappingRustPythonC++

Where to go next

  • Example Projects — ten complete applications in the repository, if you would rather read a finished robot than build one up
  • Recipes — task-shaped answers, such as bridging to an existing ROS 2 system
  • CLI Reference — every command the tutorials use