Understand ros2_control
ROS 2 → Control your simulated robot
Separate the controller from the hardware interface
The ros2_control explanation distinguishes application controllers from hardware-facing interfaces. The controller manager coordinates them; the simulation can expose interfaces in place of physical hardware.
Reference environment: Ubuntu 24.04, ROS 2 Jazzy and Gazebo Harmonic. Some Articulated Robotics videos use older Foxy/Gazebo Classic examples. Use the linked documentation for compatible commands and plugins. You can read and watch on mobile; simulation needs a computer.
Video by Josh Newans / Articulated Robotics ↗ · Starts at 2:28
Lesson notes
- Command interfaces accept requests; state interfaces report feedback.
- Controllers claim the interfaces they need.
- Joint names and interface types must agree across the description and configuration.
Explain it in your own words
Why can the same controller work with simulation and a real robot?
Compare your explanation
A compatible hardware interface exposes the same command/state contract while hiding how the underlying device is accessed.
Further reading and sources
Completion saves automatically after you read through to the end.
Next lesson →