ros2_control hardware interfaces
The sensor plugin exports state to controller manager. A force/torque broadcaster owns the ROS topic, frame, and publication rate.
Plugin class: netft_driver/NetFTHardwareInterface
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
sensor_ip | string | 192.168.1.1 | Sensor IPv4 address or host |
sensor_port | int | 49152 | RDT UDP port |
http_port | int | 80 | Sensor HTTP configuration port |
use_sensor_calibration | bool | true | Discover calibration from the sensor over HTTP |
counts_per_force | int | 1000000 | Counts per newton for a manual override |
counts_per_torque | int | 1000000 | Counts per newton-meter for a manual override |
receive_timeout | double | 0.1 | Maximum seconds without a valid record |
configuration_connect_timeout | double | 0.5 | HTTP connection timeout |
configuration_timeout | int | 1 | Total HTTP configuration timeout |
activation_timeout | int | 2 | Maximum wait for the first healthy hardware sample |
bias_service | string | | Software-bias service |
Interfaces
| Name | Category | Type | Description |
|---|---|---|---|
/netft/bias | service | std_srvs/Trigger | Standalone software bias |
<sensor_name>/force.x | state | double | ros2_control force/torque state interface |
<sensor_name>/force.y | state | double | ros2_control force/torque state interface |
<sensor_name>/force.z | state | double | ros2_control force/torque state interface |
<sensor_name>/torque.x | state | double | ros2_control force/torque state interface |
<sensor_name>/torque.y | state | double | ros2_control force/torque state interface |
<sensor_name>/torque.z | state | double | ros2_control force/torque state interface |
Each plugin instance owns its socket, receiver, state buffer, diagnostics, and bias service. The six values are N and N·m. Network I/O runs outside the controller-manager update loop, but end-to-end hard real-time behavior is not guaranteed.