You're reading the documentation for a development version. For the latest released version, please have a look at Jazzy.
Force Torque Sensor Broadcaster
Broadcaster of messages from force/torque state interfaces of a robot or sensor.
The published message type is geometry_msgs/msg/WrenchStamped
.
The broadcaster also supports filtering the force/torque readings using a filter chain, enabling the sequential application of multiple filters. In this case, an additional topic with the
_filtered
suffix will be published containing the final result. For more details on filters, refer to the filters package repository.
See the parameter section for instructions on configuring a filter chain with an arbitrary number of filters.
The controller is a wrapper around ForceTorqueSensor
semantic component (see controller_interface
package).
Parameters
This controller uses the generate_parameter_library to handle its parameters. The parameter definition file located in the src folder contains descriptions for all the parameters used by the controller.
The interfaces can be defined in two ways, using the sensor_name
or the interface_names
parameter:
Those two parameters cannot be defined at the same time.
The filter chain is configured as a sequential list of filters under the sensor_filter_chain
parameter, where each filter is identified by the key filterN
, with N
representing its position in the chain (e.g., filter1
, filter2
, etc.).
Each filter entry must specify the name
and type
of the plugin, along with any additional parameters required by that specific filter plugin. The chain will use the pluginlib library to load each filter at runtime,
passing the specified parameters.
The chain processes the data sequentially, passing the output of one filter as the input to the next.
Full list of parameters:
- frame_id (string)
Sensor’s frame_id in which values are published.
Default: “”
Constraints:
parameter is not empty
- sensor_name (string)
Name of the sensor used as prefix for interfaces if there are no individual interface names defined. If used, standard interface names for a 6D FTS will be used:
<sensor_name>/force.x, ..., <sensor_name>/torque.z
Default: “”
- interface_names
(optional) Defines custom, per axis interface names. This is used if different prefixes, i.e., sensor name, or non-standard interface names are used. It is sufficient that only one
interface_name
is defined. This enables the broadcaster to use force sensing cells with less than six measuring axes. An example definition is:interface_names: force: x: example_name/example_interface
- interface_names.force.x (string)
Name of the state interface with force values on ‘x’ axis.
Default: “”
- interface_names.force.y (string)
Name of the state interface with force values on ‘y’ axis.
Default: “”
- interface_names.force.z (string)
Name of the state interface with force values on ‘z’ axis.
Default: “”
- interface_names.torque.x (string)
Name of the state interface with torque values around ‘x’ axis.
Default: “”
- interface_names.torque.y (string)
Name of the state interface with torque values around ‘y’ axis.
Default: “”
- interface_names.torque.z (string)
Name of the state interface with torque values around ‘z’ axis.
Default: “”
- offset.force.x (double)
The offset of force values on ‘x’ axis.
Default: 0.0
- offset.force.y (double)
The offset of force values on ‘y’ axis.
Default: 0.0
- offset.force.z (double)
The offset of force values on ‘z’ axis.
Default: 0.0
- offset.torque.x (double)
The offset of torque values around ‘x’ axis.
Default: 0.0
- offset.torque.y (double)
The offset of torque values around ‘y’ axis.
Default: 0.0
- offset.torque.z (double)
The offset of torque values around ‘z’ axis.
Default: 0.0
- multiplier.force.x (double)
The multiplier of force value on ‘x’ axis.
Default: 1.0
- multiplier.force.y (double)
The multiplier of force value on ‘y’ axis.
Default: 1.0
- multiplier.force.z (double)
The multiplier of force value on ‘z’ axis.
Default: 1.0
- multiplier.torque.x (double)
The multiplier of torque value around ‘x’ axis.
Default: 1.0
- multiplier.torque.y (double)
The multiplier of torque value around ‘y’ axis.
Default: 1.0
- multiplier.torque.z (double)
The multiplier of torque value around ‘z’ axis.
Default: 1.0
An example parameter file for this controller can be found in the test directory:
test_force_torque_sensor_broadcaster:
ros__parameters:
frame_id: "fts_sensor_frame"
test_force_torque_sensor_broadcaster_with_chain:
ros__parameters:
frame_id: "fts_sensor_frame"
sensor_name: "fts_sensor"
sensor_filter_chain:
filter1:
name: dummy
type: filters/IncrementFilterWrench