ros2_control chainable controllers
The bota_payload_utils package implements two ros2_control chainable controllers:
These controllers follow the Bota Control Toolkit architecture, allowing them to be easily integrated into processing chains with other Bota Control ros2_control controllers, such as the Bota Driver ros2_control hardware_interface.
Bota Payload Compensator Controller
Parameters
The controller requires the following parameters:
Parameter |
Description |
|---|---|
|
Configuration file path for the block |
|
The name of the previous block in the processing chain. |
|
Offset between the Wrench frame and the IMU frame. |
|
If true, the output wrench is zeroed during controller activation (see below). |
Note
The input_block_name parameter should match the controller name of the previous block in the processing chain.
Warning
The imu_offset parameter will be deprecated in future releases as the IMU data will be published by the driver in the same frame as the wrench.
Interfaces
The controller claims an input state interface as the one described in the Bota Control ros2_control controllers
The controller exposes an output state interface as the one described in the Bota Control ros2_control controllers
Taring procedure
The output wrench is zeroed during controller activation if the parameter tare_on_activation is set to true in the controller configuration.
To perform a taring procedure, the compensator controller needs to be deactivated and then re-activated. It is important to ensure that no controller is actively using the compensator output during this process, as it will be automatically deactivated.
Bota Payload Estimator Controller
Parameters
The controller requires the following parameters:
Parameter |
Description |
|---|---|
|
Configuration file path for the block |
|
The name of the previous block in the processing chain. |
|
Offset between the Wrench frame and the IMU frame. |
Note
The input_block_name parameter should match the controller name of the previous block in the processing chain.
Warning
The imu_offset parameter will be deprecated in future releases as the IMU data will be published by the driver in the same frame as the wrench.
Interfaces
The controller claims an input state interface as the one described in the Bota Control ros2_control controllers
The controller exposes an output state interface as described in the table below:
Interface Name |
Type |
Description |
|---|---|---|
|
Status |
Indicates if the estimator is currently running |
|
Status |
Indicates if the estimator was successful |
Services
The controller exposes the following service:
Service |
Service Type |
Description |
|---|---|---|
|
|
Start the payload estimation routine |
It can be called while the controller is active to start the estimation process with the following command:
ros2 service call /<CONTROLLER_NAME>/start_payload_estimation std_srvs/srv/Trigger {}
Safety Guidelines
A proper use of the Bota Control Toolkit ros2_control controllers requires monitoring two distinct safety aspects:
Controller Status
The status flag output by the controller indicates if the data being provided is valid and reliable. Always monitor this flag in your control logic and react accordingly to ensure safe operation.
Sensor hardware interface Status Flags
The sensor hardware interface provides status flags that indicate data quality and operational conditions. Always monitor these flags in your control logic and react accordingly to ensure safe operation. The same recommendations provided in the Bota Driver ros2_control hardware_interface documentation apply here as well.
Getting Started
Bota Systems provides a ROS2 set of demo packages to get yourself started with the Bota Payload Utilities in ros2_control.
Found the packages implementation in our official GitLab repository.
bota_demo_ros2_control
on GitLab