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