ROS2_CONTROL + URDF

A ros2_control block describes an interface contract; the hardware plugin still owns physical I/O.

ros2_control extends robot-description workflows with hardware components, plugins, command interfaces, state interfaces, sensors and GPIOs. URDF content is parsed into HardwareInfo while a loaded hardware component performs actual read/write behavior.

MATURITYROS 2 CONTROL REFERENCE
LAST VERIFIED16 Oct 2026
SOURCE VERSIONros2_control Kilted / Rolling documentation
EVIDENCE BOUNDARYA ros2_control description declares hardware interfaces; it does not prove the device is connected, calibrated or safe to command.

DESCRIPTION

ros2_control turns robot-description metadata into a typed hardware contract.

01

Hardware plugin

The hardware element identifies the plugin class that implements the component.

02

Command interfaces

Declare values controllers may command, such as position, velocity or effort.

03

State interfaces

Declare values hardware exposes back to controllers and broadcasters.

04

Sensors

Group read-only state interfaces for hardware sensors.

05

GPIO

Represent additional digital or analog hardware interfaces.

06

Transmissions

Describe actuator-to-joint mappings when the hardware component uses them.

RUNTIME

The XML is configuration; the plugin performs read and write.

01URDF + ros2_control→
02HardwareInfo→
03Hardware plugin→
04read()→
05Controllers→
06write()→
07Physical device

Official ros2_control tutorials describe a real-time read/update/write loop. Parsing a hardware definition is not the same event as commanding hardware.

PRIMARY SOURCES