control
ros
ros2_control
ROS2_Control
Install
sudo apt install ros-humble-ros2-control
sudo apt install ros-humble-ros2-controllers
sudo apt install ros-humble-control-msgs
# gazebo classic
sudo apt install ros-humble-gazebo-ros2-control
ROS2_control abstract controller from hardware interfaces
Hardware interface expose hardware functionality in a standard way:
- state interface (read-only) feedback from hardware
- command interface (Read/Write) : command to the hardware
Controller Manager
Resource Manager
Hardware interface
Lifecycle State
stateDiagram-v2
[*] --> Unconfigured: on_init
Unconfigured --> Inactive: on_configure
Inactive --> Active: on_activate()
Active --> Inactive: on_deactivate()
Inactive --> Unconfigured: on_cleanup()
Unconfigured --> [*]: on_shutdown()
Active --> Active: read() write()
on_init : read parameters
on_configure : establish comms
on_activate : engage actuators
on_deactivate : disengage actuators
on_cleanup : disconnect comms
on_shutdown : graceful shutdown
To Read and Watch