|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]
Messages
Services
Plugins
Recent questions tagged netft_driver at Robotics Stack Exchange
|
netft_driver package from ros-netft reponetft_driver |
ROS Distro
|
Package Summary
| Version | 0.3.2 |
| License | Apache-2.0 |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/netft/ros-netft.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-04 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Xudong Han
Authors
- Xudong Han
ROS Net F/T Driver
netft_driver is a native ROS driver for ATI Ethernet Net F/T and Ethernet
Axia force/torque sensors. It supports a standalone ROS 1 or ROS 2 node and a
ROS 2 ros2_control sensor hardware plugin.
Features
- Publishes calibrated
geometry_msgs/WrenchStampeddata in N and Nm. - Reports connection, sequence, receive-rate, and device-status diagnostics.
- Provides an explicit software-bias service.
- Integrates with the standard ROS 2 force-torque sensor broadcaster.
- Carries a reviewed private snapshot of the
netft-cppacquisition core.
Supported ROS distributions
| ROS distribution | Standalone driver |
ros2_control plugin |
Support policy |
|---|---|---|---|
| ROS 2 Lyrical | Yes | Yes | Supported |
| ROS 2 Kilted | Yes | Yes | Supported |
| ROS 2 Jazzy | Yes | Yes | Supported |
| ROS 2 Humble | Yes | Yes | Compatibility |
| ROS 2 Rolling | Yes | Yes | Development |
| ROS 1 Noetic* | Yes | N/A | Legacy source support |
* ROS 1 Noetic is end-of-life and supported from source only.
Installation
ROS 2
Replace lyrical with another supported ROS 2 distribution when required.
source /opt/ros/lyrical/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select netft_driver
source install/setup.bash
ROS 1 Noetic
source /opt/ros/noetic/setup.bash
mkdir -p ~/netft_ws/src
git clone https://github.com/netft/ros-netft.git ~/netft_ws/src/netft_driver
cd ~/netft_ws
rosdep update --include-eol-distros
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
See the installation guide for prerequisites and package availability.
Quick start
ATI RDT permits one UDP client. Stop other RDT clients before starting the
driver. The examples use 192.168.1.1, ATI’s factory-default static address;
replace it with the address assigned to your sensor.
Standalone driver
ROS 2:
ros2 launch netft_driver netft.launch.py sensor_ip:=192.168.1.1
ros2 topic echo --once /netft/wrench
ROS 1:
roslaunch netft_driver netft.launch sensor_ip:=192.168.1.1
rostopic echo -n 1 /netft/wrench
The default bias service is /netft/bias. Bias changes the measurement zero;
call it only when the sensor and connected mechanism are in a safe state.
ros2_control
The plugin class is netft_driver/NetFTHardwareInterface. Include the installed
Xacro macro in the robot description managed by your controller manager:
```xml
<xacro:netft_ros2_control name=”wrist_netft_hardware”
File truncated at 100 lines see the full file
Changelog for package netft_driver
Forthcoming
- Update the private
netft-cppcore snapshot to v0.3.3, including lifecycle-safe client destruction during concurrent worker shutdown.
0.3.2 (2026-07-29)
- Update the private
netft-cppcore snapshot to v0.3.1, including the fix that prevents fail-stop clients from receiving stalled or backward FT-sequence samples. - Retain raw wrench counts in core samples while keeping ROS output in SI units.
- Use the upstream portable XML parser and remove the obsolete local fallback.
0.3.1 (2026-07-23)
- Update the private
netft-cppcore snapshot to v0.1.3 so repeated signal interruptions cannot extend the configured UDP receive timeout.
0.3.0 (2026-07-22)
- Add a private
netft-cppv0.1.2 core snapshot and remove the duplicate original runtime. - Read sensor-reported calibration by default and convert its native force and torque units to N and Nm.
- Add the explicit
use_sensor_calibration=falsemanual override, with counts/N and counts/Nm inputs. - Add HTTP configuration port and timeout parameters for sensor calibration discovery.
- Support Noetic's GCC 9 standard library with an Apache-2.0 XML parser compatibility translation unit.
- Keep the ros2_control plugin ABI private by hiding core and implementation symbols.
- License the complete repository under Apache-2.0, matching the upstream core.
0.2.2 (2026-07-22)
- Replace the project-specific sensor address in defaults and examples
with ATI's factory-default
192.168.1.1address. - Keep tests focused on executable and machine-readable contracts instead of human-facing documentation, help, error, log, and diagnostic wording.
- Normalize generated release notes and remove the obsolete source-only availability notice.
- Contributors: Xudong Han
0.2.1 (2026-07-22)
- Fix ROS version detection when isolated build environments do not
expose
ROS_VERSIONto CMake. - Declare the
ros_environmentbuild dependency and validate ROS 1 and ROS 2 configuration withROS_VERSIONunset. - Increase the ros2_control smoke-test timeout margin so transient CI scheduler stalls do not fault the healthy sensor in the two-sensor isolation scenario.
- Contributors: Xudong Han
0.2.0 (2026-07-21)
- Replace the sensor runtime with one ROS-neutral C++17 transport, protocol, status, and recovery core.
- Add the
netft_driver/NetFTHardwareInterfaceros2_control sensor plugin, six standard force-torque state interfaces, reusable Xacro, and broadcaster configuration. - Add fail-stop fault handling, lifecycle recovery, instance-local diagnostics and software bias, and multi-sensor isolation.
- Install native
netft_nodeandnetft_checkexecutables for ROS 1 and ROS 2 while preserving the standalone ROS interfaces. - Validate native builds and loopback integration for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling.
- Contributors: Xudong Han
0.1.0 (2026-07-19)
- Initial public release.
- Add one ROS 1 and ROS 2 source package for ATI Ethernet Net F/T RDT sensors.
- Add reconnect, diagnostics, software bias, loopback integration tests, and a bounded non-biasing hardware check.
- Validate source builds for Noetic, Humble, Jazzy, Kilted, Lyrical, and Rolling in locked maintainer environments.
- Contributors: Xudong Han
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/netft.launch
-
- sensor_ip [default: 192.168.1.1]
- sensor_port [default: 49152]
- http_port [default: 80]
- use_sensor_calibration [default: true]
- configuration_connect_timeout [default: 0.5]
- configuration_timeout [default: 1.0]