Skip to content

6-Axis Force/Torque Sensor

Overview

The 6-axis Force/Torque (F/T) sensor is the most complete force sensing solution in robotics, capable of simultaneously measuring forces in three directions and torques in three directions:

\[\vec{W} = \begin{bmatrix} F_x & F_y & F_z & M_x & M_y & M_z \end{bmatrix}^T\]

These six components fully describe the generalized force (wrench) acting on a rigid body.


Working Principle

Strain Gauges + Wheatstone Bridge

The core of a 6-axis F/T sensor is a set of precisely arranged strain gauges. The sensor's elastic body deforms slightly under force, and the strain gauges convert this deformation into resistance changes.

Single Wheatstone Bridge:

\[V_{out} = V_{ex} \left( \frac{R_1 R_3 - R_2 R_4}{(R_1 + R_2)(R_3 + R_4)} \right)\]

When strain gauge resistance changes are very small (\(\Delta R \ll R\)):

\[V_{out} \approx \frac{V_{ex} \cdot G_F \cdot \varepsilon}{4}\]

where \(G_F\) is the Gauge Factor and \(\varepsilon\) is the strain.

Multi-Channel Measurement

A 6-axis F/T sensor typically contains 6 to 8 Wheatstone bridge channels, each with different sensitivity to various force/torque combinations.

The raw output is a voltage vector \(\vec{V} \in \mathbb{R}^n\) (\(n \geq 6\)).

Calibration Matrix

The conversion from raw voltages to force/torque is performed through a calibration matrix \(C\):

\[\vec{F} = C \cdot \vec{V}\]

where:

  • \(\vec{F} \in \mathbb{R}^6\) -- force/torque output
  • \(C \in \mathbb{R}^{6 \times n}\) -- Calibration Matrix
  • \(\vec{V} \in \mathbb{R}^n\) -- raw voltage signals

Calibration Process:

  1. Apply known force/torque combinations (typically using precision weights)
  2. Record the corresponding voltage outputs
  3. Solve the calibration matrix via least squares:
\[C = F_{known} \cdot V_{measured}^+ \]

where \(V_{measured}^+\) is the pseudoinverse.

Calibration Matrix Example

A typical \(6 \times 6\) calibration matrix:

\[C = \begin{bmatrix} c_{11} & c_{12} & c_{13} & c_{14} & c_{15} & c_{16} \\ c_{21} & c_{22} & c_{23} & c_{24} & c_{25} & c_{26} \\ \vdots & & & & & \vdots \\ c_{61} & c_{62} & c_{63} & c_{64} & c_{65} & c_{66} \end{bmatrix}\]

Ideally, \(C\) would be diagonal (fully decoupled channels), but in practice the off-diagonal elements are non-zero -- this is cross-talk. Good sensors have cross-talk error < 2%.


Major Products

ATI Industrial Automation

ATI is the "gold standard" for 6-axis F/T sensors, widely used in academic research and industry.

ATI Mini45

Parameter Specification
Range (Fx, Fy) ±580 N
Range (Fz) ±1160 N
Range (Mx, My) ±20 N·m
Range (Mz) ±20 N·m
Resolution (Fx, Fy) 1/8 N
Diameter 45 mm
Height 15.7 mm
Weight 92 g
Overload Protection 5.5x ~ 20x

ATI Nano17

Parameter Specification
Range (Fx, Fy) ±12 N
Range (Fz) ±17 N
Range (Mx, My) ±120 N·mm
Resolution (Fx, Fy) 1/160 N
Diameter 17 mm
Height 14.5 mm
Weight 9.1 g

The Nano17 provides high-precision measurement in an extremely small form factor, commonly used for dexterous hand fingertip force sensing.

ATI Data Acquisition Systems

  • Net F/T: Ethernet-based DAQ box, up to 7 kHz
  • DAQ F/T: USB interface, suitable for laboratory environments
  • EtherCAT F/T: Industrial bus interface, integrates with PLC/industrial controllers

OnRobot HEX-E / HEX-H

OnRobot targets the collaborative robot market:

Model HEX-E HEX-H
Range (Fz) 200 N 600 N
Range (Mz) 5 N·m 16 N·m
Resolution 0.2 N 0.5 N
Interface USB / UR-specific USB / UR-specific
Feature High precision Large range

Integration-friendly: OnRobot provides plug-and-play solutions for Universal Robots.

Robotiq FT 300-S

Parameter Specification
Range (Fx, Fy, Fz) ±300 N
Range (Mx, My, Mz) ±30 N·m
Resolution 0.2 N / 0.002 N·m
Interface USB / UR / ROS
Sampling Rate 100 Hz

Chinese Manufacturers

  • Hypersen: HPS-FT series, EtherCAT interface
  • Kunwei Technology: KWR series, good cost-performance ratio
  • SRI (Sunrise Instruments): 6-axis F/T sensors targeting collaborative robots

Interfaces and Communication

Analog Output

  • Each channel outputs ±10V or ±5V analog voltage
  • Requires external ADC (16-bit or higher recommended)
  • Advantage: Lowest latency
  • Disadvantage: Susceptible to noise, complex wiring

Digital Interfaces

Sensor ──[SPI/I2C]──> MCU ──[USB/Ethernet]──> PC

Sensor ──[EtherCAT]──> Industrial Controller

Sensor ──[USB]──> PC (laboratory setup)
  • Deterministic communication, 1 ms cycle
  • Multi-device daisy-chain topology
  • Shares the same bus as servo drives
  • ATI EtherCAT F/T: Connects directly to EtherCAT bus

ROS Integration

ATI sensor ROS driver:

# Typical ROS2 node publishing force/torque data
# Message type: geometry_msgs/msg/WrenchStamped
from geometry_msgs.msg import WrenchStamped

msg = WrenchStamped()
msg.header.stamp = self.get_clock().now().to_msg()
msg.header.frame_id = "ft_sensor_link"
msg.wrench.force.x = F[0]
msg.wrench.force.y = F[1]
msg.wrench.force.z = F[2]
msg.wrench.torque.x = F[3]
msg.wrench.torque.y = F[4]
msg.wrench.torque.z = F[5]

self.publisher.publish(msg)

Mounting Location

Wrist Mount (Most Common)

The sensor is mounted between the robot arm's end flange and the end-effector:

[Joint 6 Flange] ── [6-axis F/T Sensor] ── [End-Effector/Gripper]

This measures the interaction force between the end-effector and the environment.

Note: The sensor reading includes the weight of the end-effector (gravity compensation required).

Gravity Compensation

After installation, gravity compensation is needed to eliminate the effect of the end-effector's weight:

\[\vec{F}_{ext} = \vec{F}_{raw} - \vec{F}_{gravity}(\theta)\]

Gravity compensation steps:

  1. Record sensor readings at multiple orientations without load
  2. Fit the end-effector mass \(m\) and center of mass position \(\vec{r}_{CoM}\)
  3. Compute and subtract the gravity term in real-time:
\[\vec{F}_{gravity} = \begin{bmatrix} m \vec{g}_{sensor} \\ \vec{r}_{CoM} \times m \vec{g}_{sensor} \end{bmatrix}\]

where \(\vec{g}_{sensor}\) is the gravity acceleration projected into the sensor frame (varies with robot orientation).


Typical Applications

Precision Assembly

Peg-in-Hole assembly is a classic application of 6-axis F/T sensors:

  1. Search phase: Spiral search, detect contact force
  2. Alignment phase: Adjust orientation based on torque information
  3. Insertion phase: Apply constant axial force, zero lateral torques

Criterion: \(|F_z| > F_{threshold}\) and \(\sqrt{M_x^2 + M_y^2} < M_{tolerance}\)

Surface Polishing/Grinding

Maintain constant normal contact force:

\[F_{normal} = F_{desired} \pm \Delta F_{tolerance}\]

The controller adjusts position based on force error:

\[\Delta x = K_p (F_{desired} - F_{measured}) + K_i \int (F_{desired} - F_{measured}) dt\]

Collision Detection

Detect collisions through force transients:

\[|\vec{F}_{ext}| > F_{collision\_threshold} \Rightarrow \text{trigger safety stop}\]

Usage Precautions

  1. Avoid overload: Exceeding the range may permanently damage the sensor
  2. Temperature drift: Warm up for 15-30 minutes after powering on
  3. Periodic zeroing (Biasing): Eliminate zero-point drift
  4. Cable strain relief: Prevent cable tension from affecting measurements
  5. Mounting torque: Use a torque wrench per manufacturer specifications
  6. Calibration verification: Periodically verify accuracy with known weights


References


评论 #