Connect perception, planning, and control.
See how ROS 2 nodes, hardware interfaces, and local motor loops fit together in a robot you can inspect and debug.
Change an input.
See what follows.
A simplified learning model. Values describe the model, not a connected robot.
Give each layer a clear responsibility.
A perception node turns sensor data into useful estimates. A planner selects a route or a joint trajectory. A controller converts the target into commands for the hardware. Local motor electronics enforce electrical limits and execute fast loops. Keep timestamps and coordinate frames explicit across those boundaries.
A practical system architecture
| Layer | Input → output | Example check |
|---|---|---|
| Perception | Range/image samples → obstacles and pose | Reject stale samples and record calibration. |
| Planner | Goal + estimated state → path/trajectory | Respect geometry, reach, and collision constraints. |
| ros2_control | State interfaces → controller update → command interfaces | Verify interface types, units, and controller lifecycle. |
| Hardware / MCU | Setpoints → timed driver output | Watchdog timeout disables motion. |
| Feedback | Encoder/current data → measured state | Check sign, scaling, timestamps, and error flags. |
Why the read–update–write cycle matters
The ros2_control controller manager coordinates reading hardware state, updating active controllers, and writing commands. Its timing depends on the configured system and hardware; merely installing ROS 2 does not create a hard real-time or safety-rated machine. Start with simulation and verify the same interfaces against a restrained physical mechanism.
Build in four observable stages
- Publish a synthetic sensor value with units and timestamps.
- Run a simulated differential-drive or joint controller and inspect target versus measured state.
- Connect one hardware interface with conservative limits and verify direction.
- Test loss of messages, node shutdown, and stale commands before adding autonomous planning.
The proportional-response experiment above explains one local feedback concept. It does not simulate ROS scheduling or a complete navigation stack.
Go to the source
Manufacturer and project documentation. Reviewed 20 September 2026; check your exact board revision and software release.