Why Tactile Sensing Matters for Robot Manipulation
Vision tells a robot where objects are. Tactile sensing tells it how objects feel. This distinction is critical: a camera cannot detect whether a grasp is about to slip, whether an object is deformable, or how much force is being applied to a fragile item. Research consistently shows that adding tactile feedback improves grasp success rates by 15-30% on novel objects compared to vision-only policies.
The tactile sensor market has exploded since 2020, with vision-based tactile sensors (GelSight, DIGIT) making high-resolution touch data accessible to research labs for under $500. This guide compares the leading options and helps you choose the right sensor for your manipulation task.
SVRC integrates tactile sensors into our data collection pipelines and provides pre-configured tactile-equipped arms through our leasing program.
Tactile Sensor Working Principles
Tactile sensors fall into four main technology families, each with distinct tradeoffs in resolution, durability, and data format:
1. Vision-Based Tactile Sensors (GelSight, DIGIT, 9DTact)
A deformable elastomer pad is pressed against objects. A camera behind the elastomer photographs the deformation pattern through the transparent gel. Image processing (photometric stereo) converts the deformation image into a high-resolution depth map and contact geometry.
- Resolution: Extremely high -- sub-millimeter spatial resolution (limited by camera pixels, typically 25-50 um per pixel).
- Output: RGB image (320x240 to 640x480) that encodes contact geometry. Can also derive normal force by integrating the depth map.
- Advantages: Rich geometric information, inexpensive camera hardware, works with standard CNN pipelines for learning.
- Disadvantages: Gel elastomer wears out (500-5000 contact cycles before replacement), bulky compared to thin-film sensors, limited frame rate (30-60 fps).
2. Resistive / Piezoresistive Arrays (Paxini, RoboSkin)
A grid of pressure-sensitive elements (taxels) changes electrical resistance under applied force. Each taxel is independently read, producing a pressure map analogous to an image.
- Resolution: Moderate -- taxel pitch of 2-5 mm, giving 8x8 to 16x16 arrays per fingertip.
- Output: 2D pressure array (integer values proportional to force per taxel). Often published as a grayscale image in ROS2.
- Advantages: Thin profile (1-3 mm), high durability (100K+ cycles), fast sampling (100-1000 Hz), conformal to curved surfaces.
- Disadvantages: Lower spatial resolution than vision-based sensors, requires per-sensor calibration for accurate force measurement.
3. Capacitive Sensors (BioTac, Xela)
Two conductive layers separated by a compressible dielectric change capacitance under pressure. BioTac adds a fluid-filled elastomer jacket that also senses temperature and vibration.
- Resolution: Low-moderate -- BioTac has 19 taxels plus impedance electrodes. Xela offers higher-density arrays (4 mm pitch).
- Output: Multi-modal: force + vibration (high frequency AC signal for slip detection) + temperature.
- Advantages: Multi-modal sensing, proven in research (1000+ papers cite BioTac).
- Disadvantages: BioTac is discontinued (SynTouch ceased operations in 2023). Replacement fluid leaks are a known failure mode.
4. Optical Waveguide / Fiber Sensors
Light propagates through an optical fiber or waveguide. Deformation from contact changes light transmission properties (intensity, wavelength, or phase). Used primarily in medical robotics and soft grippers where electrical interference is problematic.
- Advantages: MRI-compatible, immune to electromagnetic interference.
- Disadvantages: Complex signal processing, limited commercial availability for robotics.
Tactile Sensor Comparison Table
| Sensor | Type | Resolution | Force Range | Sample Rate | ROS2 Driver | Durability | Price | Status |
|---|---|---|---|---|---|---|---|---|
| GelSight Mini | Vision-based | ~30 um/pixel (640x480) | 0-40 N | 30 fps | gelsight_ros2 | 1000-3000 cycles | $400 | Available |
| DIGIT | Vision-based | ~40 um/pixel (320x240) | 0-25 N | 60 fps | digit_ros2 | 500-2000 cycles | $300 | Available |
| 9DTact | Vision-based | ~50 um/pixel (320x240) | 0-30 N | 30 fps | Community | 1000+ cycles | $200 (DIY) | Open-source |
| Paxini Gen3 | Piezoresistive array | 16x16 taxels (3 mm pitch) | 0-100 N | 100 Hz | paxini_ros2 | 100K+ cycles | $800 | Available (SVRC) |
| BioTac SP | Capacitive + fluid | 19 taxels + 19 impedance | 0-30 N | 100 Hz (DC) / 2.2 kHz (AC) | biotac_ros2 | 50K+ cycles | $5,000 | Discontinued |
| Xela uSkin | Capacitive (3-axis) | 4x4 to 16x16 (4 mm pitch) | 0-10 N per taxel | 250 Hz | xela_ros2 | 50K+ cycles | $1,200-$3,000 | Available |
| RoboSkin (Pressure Profile Systems) | Capacitive array | Custom (down to 2 mm pitch) | 0-140 kPa | 1000 Hz | Custom | 100K+ cycles | $2,000-$5,000 | Available |
Detailed Sensor Profiles
GelSight Mini
The GelSight Mini from GelSight Inc. (MIT spin-off) is the most widely used vision-based tactile sensor in research. It outputs a 640x480 RGB image at 30 fps that encodes sub-millimeter surface geometry. The elastomer gel is replaceable ($30/gel, 5-minute swap). The sensor body is approximately 25x25x30 mm, making it suitable for parallel-jaw grippers but too bulky for multi-fingered dexterous hands.
Best for: Research on surface texture classification, object pose estimation from touch, and learning contact-rich policies. The image output works directly with standard vision CNNs and ViTs.
Limitation: The 30 fps frame rate and ~10 ms USB latency limit real-time reactive grasping. For slip detection, you need at least 100 Hz.
DIGIT (Meta AI)
DIGIT is a compact vision-based sensor developed by Meta AI. It is smaller than GelSight Mini (20x27x18 mm) and produces 320x240 images at 60 fps. DIGIT was designed specifically for dexterous hand integration and fits on the fingertips of the Allegro Hand.
Best for: Multi-fingered dexterous manipulation research. The compact form factor and higher frame rate make it better suited for reactive grasping than GelSight Mini.
Limitation: The gel is not user-replaceable (factory service required). Lower resolution than GelSight Mini. Limited commercial availability -- procurement can take 4-8 weeks.
Paxini Gen3
Paxini tactile sensors use piezoresistive arrays that provide a 16x16 taxel grid at 100 Hz. The thin-film design (2 mm profile) conforms to curved fingertip surfaces, making it compatible with dexterous hands like the Orca Hand. Unlike vision-based sensors, Paxini arrays have no moving parts and no gel to replace, providing 100K+ cycle durability that makes them production-viable.
Best for: Production manipulation systems, high-duty-cycle data collection, and applications requiring long sensor life. The 100 Hz sample rate enables slip detection via pressure gradient analysis.
SVRC availability: Paxini sensors are stocked at SVRC and available for integration with OpenArm 101 and Orca Hand platforms. Pre-configured tactile-equipped arms are available through our leasing program starting at $1,200/month.
BioTac SP (Discontinued)
BioTac was the gold standard for multi-modal tactile sensing: 19 force taxels, 19 impedance electrodes (for detecting object material), a hydrophone (for vibration/slip at 2.2 kHz), and a thermistor. No current sensor matches its breadth of modalities. However, SynTouch ceased operations in 2023, and BioTac units are no longer available new. Existing users should plan migration.
Migration path: For force-only applications, Paxini Gen3 or Xela uSkin are direct replacements. For slip detection, use Paxini at 100 Hz with pressure derivative thresholding. For impedance (material classification), there is no direct replacement -- use vision-based methods instead.
ROS2 Integration
Tactile sensors publish data using two main ROS2 message types, depending on the sensor technology:
| Sensor Type | ROS2 Message | Topic Example | Notes |
|---|---|---|---|
| Vision-based (GelSight, DIGIT) | sensor_msgs/Image | /gelsight/image_raw | Standard camera image; process with OpenCV or CNN |
| Array (Paxini, Xela) | sensor_msgs/Image (16UC1) | /paxini/pressure_image | 16-bit grayscale; each pixel = one taxel pressure |
| Array (3-axis, Xela) | geometry_msgs/WrenchStamped[] | /xela/tactile | Per-taxel 3-axis force (normal + shear) |
# Example: Subscribe to Paxini tactile data in ROS2 Python
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import Image
import numpy as np
from cv_bridge import CvBridge
class TactileListener(Node):
def __init__(self):
super().__init__('tactile_listener')
self.bridge = CvBridge()
self.sub = self.create_subscription(
Image, '/paxini/pressure_image', self.callback, 10)
def callback(self, msg):
# Convert 16-bit grayscale image to numpy array (16x16)
pressure = self.bridge.imgmsg_to_cv2(msg, '16UC1')
total_force = np.sum(pressure) * 0.01 # scale to Newtons
max_taxel = np.max(pressure)
# Detect slip: check if pressure gradient exceeds threshold
gradient = np.gradient(pressure)
slip_detected = np.max(np.abs(gradient)) > 500
self.get_logger().info(
f'Force: {total_force:.1f}N, Max: {max_taxel}, Slip: {slip_detected}')
Calibration Procedure
Tactile sensor calibration maps raw sensor readings to physical force values (Newtons). Without calibration, you can detect relative pressure changes but cannot control to a target force.
Vision-Based Sensors (GelSight, DIGIT)
- Collect reference images: Record the sensor image with no contact (background). This serves as the reference for photometric stereo.
- Apply known loads: Press a flat surface against the gel using a precision force gauge (Mark-10 M5-10, $400) at 5, 10, 15, 20, 25, 30 N. Record the gel image at each load.
- Fit calibration curve: Compute the average pixel intensity change in the contact region for each load. Fit a polynomial (typically quadratic) mapping intensity change to force. Store as a calibration file.
- Validate: Apply 3 known intermediate loads and verify the predicted force is within 10% of actual.
Piezoresistive Arrays (Paxini)
- Zero offset: Record 100 frames with no contact. Average and store as the per-taxel zero offset. Subtract this from all future readings.
- Single-point calibration: Apply a known distributed load (flat plate + 500g weight = 4.9 N over the array area). Record 100 frames and compute the per-taxel scale factor so that the sum of calibrated taxels equals 4.9 N.
- Multi-point calibration (optional, higher accuracy): Repeat at 3-5 load levels and fit a per-taxel linear or polynomial calibration curve. This accounts for taxel-to-taxel sensitivity variation.
- Temperature compensation: Piezoresistive sensors drift with temperature. If operating in varying ambient temperatures, repeat zero offset measurement every 30 minutes or implement continuous offset tracking during non-contact phases.
Calibration Best Practices
- Calibrate at the temperature and humidity where you will operate.
- For vision-based sensors, recalibrate after every gel replacement.
- Store calibration data alongside your dataset (in the HDF5 metadata) so downstream processing can re-calibrate if needed.
- Check calibration weekly for production systems. Drift > 15% indicates sensor degradation.
Selection Decision Framework
Use these decision rules to narrow your choice:
| Your Requirement | Best Choice | Why |
|---|---|---|
| Maximum surface detail (texture, geometry) | GelSight Mini | Highest spatial resolution (30 um/pixel) |
| Compact for dexterous hand fingertips | DIGIT or Paxini Gen3 | Smallest form factors (18-20 mm width) |
| Production durability (100K+ cycles) | Paxini Gen3 | No gel to replace, solid-state construction |
| 3-axis force (shear + normal) | Xela uSkin | Per-taxel 3-axis measurement for slip vector |
| Lowest cost for research prototyping | 9DTact (DIY) | Open-source design, ~$200 in parts |
| Fast sampling for reactive control | RoboSkin (PPS) | 1000 Hz for high-bandwidth force control |
| Works with CNN/ViT learning pipelines | GelSight or DIGIT | Image output directly compatible with vision models |
Integration with SVRC Hardware
SVRC has validated tactile sensor integration with our hardware platforms:
- OpenArm 101 ($4,500, 6-DOF, 500g payload): Supports GelSight Mini and Paxini Gen3 on the parallel-jaw gripper. The 500g payload accommodates sensor weight (GelSight: 45g per finger, Paxini: 8g per finger). ROS2 launch files include tactile topic recording by default.
- Orca Hand: Paxini Gen3 sensors are the recommended choice due to their thin profile. Each of 5 fingertips is equipped with a 16x16 array. The Orca Hand driver node publishes all 5 tactile streams simultaneously on separate topics.
- DK1 Bimanual: Dual OpenArm setup with synchronized tactile recording on both grippers. Our Data Services pipeline records tactile data alongside camera and joint state data in HDF5 format for imitation learning.
All tactile data collected at SVRC is accessible through the Data Platform, where you can visualize contact patterns, filter episodes by tactile events, and download synchronized multi-modal datasets.