Skip to main content

ROS2

ROS 2 logo

Category
Distro Supported by Robotiq

The robotiq_tsf ROS 2 Jazzy package publishes the TSF-85 tactile sensor's static, dynamic, IMU, and fused-orientation data as ROS topics. It is available in the following repository:

https://github.com/robotiq/ros/tree/main/robotiq_tsf

Build

Clone the repository into your ROS 2 workspace's src/ folder and build with colcon:

cd ~/ros2_ws/src
git clone https://github.com/robotiq/ros.git
cd ~/ros2_ws
colcon build --packages-select robotiq_tsf
source install/setup.bash

Run

Launch the sensor node:

ros2 run robotiq_tsf poll_data_node

The node publishes on the following topics:

TopicMessage TypeDescription
TactileSensor/StaticDatarobotiq_tsf/StaticDataTaxel pressure data — two fingers, each with 28 uint16 values
TactileSensor/Dynamicrobotiq_tsf/DynamicDynamic force data — two fingers, each with one int16 value
TactileSensor/Accelerometerrobotiq_tsf/AccelerometerRaw accelerometer — two readings of [x, y, z] int16
TactileSensor/Gyroscoperobotiq_tsf/GyroscopeRaw gyroscope — two readings of [x, y, z] int16
TactileSensor/EulerAnglerobotiq_tsf/EulerAngleFused orientation — two readings of [roll, pitch, yaw] float32
TactileSensor/Quaternionrobotiq_tsf/QuaternionFused orientation — two readings of [w, x, y, z] float64
TactileSensor/Timestamprobotiq_tsf/TimestampPer-finger firmware timestamp — two uint16 values

EulerAngle and Quaternion are only published once the IMU bias calibration period completes at startup — keep the sensor still during this time.

Docker

The repository's docker/ folder provides scripts to build and run the driver in a container, with sensor devices mapped in automatically. Clone with submodules to pull in the required utilities:

git clone --recurse-submodules https://github.com/robotiq/ros.git

If you already cloned without --recurse-submodules:

git submodule update --init
ScriptDescription
build_launch_docker_ros2.shBuilds the Docker image and launches a container with sensor devices mapped in
sensor_install.shSets up udev rules and permissions for bare-metal (non-Docker) use