Skip to content

ROS2_Control

ros2_control is a framework for robot hardware abstraction and controller management

Hardware interface Abstracts real or simulated robot hardware and expose hardware functionality in a standard way:

  • state interface (read-only) feedback from hardware
  • command interface (Read/Write) : command to the hardware

Install

1
2
3
4
5
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

ros2_control Concepts & Simulation

Controller Manager

Resource Manager

Hardware interface

Lifecycle State

1
2
3
4
5
6
7
8
9
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