Sensors

Force–Torque Sensor

Giving a robot a sense of touch

A force–torque sensor is a six-axis transducer, usually bolted between a robot's wrist and its tool, that measures three orthogonal forces (Fx, Fy, Fz) and three torques (Mx, My, Mz) at once. Contact loads elastically deform an internal flexure by only a few microns; bonded strain gauges turn that microstrain into millivolts, and a 6×6 calibration matrix resolves the raw bridge voltages into a clean wrench. It is the organ that lets a robot feel: the basis of compliant assembly, force-controlled deburring, hand-guiding and surgical robotics.

  • Measured channels3 forces + 3 torques
  • Force range (typical wrist)±200 N (Fx,Fy), ±500 N (Fz)
  • Torque range±10–20 N·m
  • Internal deflection~10–30 µm full scale
  • Accuracy / crosstalk< 1–2% of full scale
  • Bandwidthup to ~7 kHz internal

Interactive visualization

Press play, or step through manually. The visualization is yours to drive — try it before reading on.

Open visualization fullscreen ↗

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

What a force–torque sensor actually does

Most industrial robots are exquisitely good at position and completely blind to force. They will drive a peg into a hole with thousands of newtons whether the hole is there or not, because all they know is where their joints are commanded to be. A force–torque (FT) sensor closes that gap. Bolted as a thin puck between the wrist flange and the end-effector, it reports the complete contact load — the wrench — so the controller can react to what the tool is actually touching.

A wrench has six independent components: a force vector with three parts and a torque (moment) vector with three parts. That is why an FT sensor is fundamentally a six-axis device. Three numbers tell you which way and how hard the tool is being pushed; the other three tell you how it is being twisted. Together they pin down everything a rigid-body contact can do at a single point.

The transduction chain: contact to numbers

Inside almost every commercial FT sensor is a compact elastic element — a flexure — machined from a single billet of aluminium or maraging steel. The most common geometry is the Maltese cross: a central hub connected to the outer mounting ring by three or four thin radial beams. When the tool is loaded, those beams bend, stretch and twist by a few microns. The flexure is deliberately stiff: full-scale load typically moves the tool only 10–30 µm, so the robot still behaves rigidly, yet that tiny deflection is enough to register.

Bonded to the strained faces of the beams are foil strain gauges. A strain gauge is a serpentine of thin metal foil whose resistance changes when it is stretched:

ΔR / R = GF · ε

where:
  ΔR/R = fractional change in gauge resistance
  GF   = gauge factor (≈ 2.0 for metal foil)
  ε    = mechanical strain (ΔL / L), dimensionless

A working strain of ε ≈ 1 × 10⁻⁴ (100 microstrain) changes resistance by only 0.02%. To read something that small, gauges are wired into Wheatstone bridges — typically a half- or full-bridge per measurement axis — which convert the resistance imbalance into a differential voltage and reject temperature drift, since neighbouring gauges heat and cool together. Each bridge output is on the order of a few millivolts at full scale, so it is amplified by an instrumentation amplifier before digitisation.

Resolving six channels: the calibration matrix

A clever flexure does not give you Fx on one bridge and My on another in pure form. Real gauges are slightly misplaced, the beams are not perfectly symmetric, and one load always bleeds a little into the neighbouring channels. This bleed is called crosstalk. The fix is linear algebra. With six gauge bridges producing a raw voltage vector v, the calibrated wrench w is:

⎡ Fx ⎤     ⎡ c11 c12 ... c16 ⎤ ⎡ v1 ⎤
⎢ Fy ⎥     ⎢ c21 c22 ... c26 ⎥ ⎢ v2 ⎥
⎢ Fz ⎥  =  ⎢  .            .  ⎥ ⎢ v3 ⎥
⎢ Mx ⎥     ⎢  .            .  ⎥ ⎢ v4 ⎥
⎢ My ⎥     ⎢  .            .  ⎥ ⎢ v5 ⎥
⎣ Mz ⎦     ⎣ c61 c62 ... c66 ⎦ ⎣ v6 ⎦

      w   =          C          ·   v   (6×6 calibration matrix)

The 36 coefficients of C are found at the factory: the sensor is loaded with a sequence of precisely known forces and torques, the raw voltages are recorded, and a least-squares fit inverts the relationship. The off-diagonal terms are exactly the crosstalk corrections. A good calibration drives residual crosstalk below 1–2% of full scale and is the single biggest reason a $5,000 commercial sensor outperforms a hand-built one. The matrix is stored in the sensor's onboard electronics, so the host receives decoupled, engineering-unit values over EtherCAT, CAN or a serial link.

Sensing technologies compared

Foil strain gaugeSemiconductor (piezoresistive)CapacitivePiezoelectric (quartz)Optical (FBG)
Gauge factor / sensitivity~2 (low)~100 (high)HighVery highHigh
Static (DC) loadsYesYesYesNo — charge bleeds offYes
BandwidthkHzkHzkHzVery high (>10 kHz)kHz
Temperature stabilityGood (bridge cancels)Poor — needs comp.GoodExcellentSensitive (needs ref.)
Overload toleranceModerateBrittleGoodExcellentGood
EMI immunityModerateModerateModerateGoodExcellent (immune)
Typical useMost robot wrist sensorsMEMS, fingertip arraysCollaborative-robot skinsCrash/impact rigsMRI-safe surgical tools

Foil strain gauges dominate wrist-mounted FT sensors because they read static loads, cost little, and the Wheatstone bridge naturally cancels thermal drift. Piezoelectric quartz wins where impacts and high bandwidth matter but cannot hold a steady reading. Optical fibre-Bragg-grating sensors are chosen when the robot must work inside an MRI scanner, where any metal and any electrical signal is forbidden.

Worked example: an off-center push becomes a torque

Suppose a peg-in-hole task pushes the tool straight down its mounting axis with Fz = 50 N, but the contact point is offset 8 mm sideways from the sensor's measuring center. The sensor sees not just a force but a moment about the perpendicular axis:

Mx = Fz × offset
   = 50 N × 0.008 m
   = 0.40 N·m

A single-axis load cell would report only "50 N down" — blind to the offset.
The six-axis sensor reports Fz = 50 N AND Mx = 0.40 N·m,
which the controller reads as "the peg is touching off-center; rotate to align."

That extra moment channel is the whole point of going six-axis. In a search-based insertion strategy, the controller nulls the spurious moments (Mx, My) to find the hole's true center before pressing down — the robot literally feels its way in, the way a human wiggles a key into a lock.

Resolution, noise and the trade you cannot escape

The flexure designer faces one unavoidable tension. Make the beams thin and compliant and you get a large strain per newton — high sensitivity and fine resolution — but the sensor also becomes a soft spring that lowers the robot's effective stiffness, droops under payload, and risks fatigue cracking. Make the beams thick and you get a stiff, robust, high-overload sensor with a poor signal-to-noise ratio. Commercial designs land in the middle, sizing the flexure so full-scale load produces a few hundred to a thousand microstrain.

  • Resolution is set by the noise floor of the bridge plus amplifier, often 1/4000 to 1/16000 of full scale — for a 200 N range that is roughly 0.05 N.
  • Bandwidth is limited by the mechanical resonance of the flexure-plus-tool mass; internal electronics may run at 7 kHz, but a heavy gripper drops the usable bandwidth to a few hundred hertz.
  • Hysteresis and nonlinearity come from the adhesive bond and micro-slip in the gauge backing; staying in the linear-elastic regime keeps them under ~0.1% of full scale.

From signal to motion: compliant control

An FT sensor is only as useful as the control loop that consumes it. Three schemes dominate:

  • Impedance / admittance control. The robot is programmed to behave like a virtual mass–spring–damper: the measured wrench drives a commanded velocity or position offset, so the arm gives way when pushed. This is how a heavy industrial robot can be hand-guided gently or insert a fragile part without cracking it.
  • Explicit force control. One or more axes are regulated to a target force (e.g. press with exactly 20 N while grinding) while the remaining axes stay position-controlled — a hybrid force/position scheme.
  • Collision detection. A spike in the wrench beyond a threshold triggers an immediate stop, the safety backbone of human-robot collaboration.

All three depend on gravity compensation. The sensor reads the weight of the gripper and any grasped part even with no external contact, and as the wrist tilts that weight projects differently onto the six axes. The controller models the tool's mass and center of gravity, computes the expected weight wrench from the robot's measured orientation, and subtracts it. Skip this and a 2 kg gripper buries the 1 N contact forces you are trying to control under a 20 N offset.

Failure modes and trade-offs

  • Mechanical overload. A crash drives the flexure past yield, leaving a permanent offset, or fractures a beam outright. Good sensors include hard mechanical stops that bottom out before the gauges are destroyed; the rated overload is often 5–20× full scale on the protected axes.
  • Fatigue cracking. The flexure is a spring cycling millions of times. Stress concentrations at the beam roots grow cracks; designers fillet the corners and keep peak stress well below the endurance limit.
  • Thermal drift. A temperature gradient across the sensor — a warm motor on one side, cool air on the other — unbalances the bridges and shifts the zero. Bridge wiring cancels uniform temperature, but not gradients; precision work needs warm-up time and periodic re-zeroing (taring).
  • Crosstalk degradation. If the calibration matrix is stale, or the flexure has been overloaded, off-axis loads leak into the wrong channels and corrupt control. Re-calibration restores it.
  • Cable and EMI noise. Millivolt bridge signals near servo drives pick up electrical noise; shielded, twisted cabling and digitising inside the sensor head are the defenses.
  • Stiffness penalty. Inserting a compliant element between wrist and tool lowers the robot's positioning stiffness and adds a resonance — a real cost the design budget must absorb.

Where they earn their keep

  • Assembly. Peg-in-hole, snap-fits and connector mating, where the robot must feel alignment instead of relying on perfect part placement.
  • Surface finishing. Deburring, polishing and grinding at a constant contact force regardless of part-to-part variation.
  • Hand-guiding / teaching. An operator grabs the tool and the robot follows, the FT sensor reading the human's intent.
  • Surgical and medical robotics. Feeling tissue contact forces a surgeon's hands could not, often with optical sensors for MRI compatibility.
  • Research and biomechanics. Ground-reaction force plates and gait labs use the same six-axis principle at a larger scale.

Frequently asked questions

What is a force–torque sensor?

A force–torque sensor is a six-axis transducer, usually bolted between a robot's wrist and its tool, that measures three orthogonal forces (Fx, Fy, Fz) and three torques (Mx, My, Mz) simultaneously. Contact loads elastically deform an internal flexure; bonded strain gauges convert the microstrain into voltages, and a 6×6 calibration matrix multiplies the six raw channels into six decoupled force and torque values. Typical units measure forces of a few hundred newtons and torques of tens of newton-metres with sub-1% accuracy.

Why does a force–torque sensor need six axes?

A general contact between a tool and the world produces a wrench — a force vector plus a torque vector — that has six independent components. To fully reconstruct that wrench you need at least six independent measurements, one per degree of freedom. Fewer axes leave the controller blind to part of the load: a single-axis load cell can tell you push-pull force along one direction but cannot distinguish a centered push from an off-center one, which produces a torque a six-axis sensor would catch.

How do strain gauges measure force in a force–torque sensor?

Foil strain gauges are bonded to thin flexural beams inside the sensor (often a Maltese-cross). When a load deforms a beam, the gauge stretches or compresses, changing its electrical resistance by ΔR/R = GF·ε, where the gauge factor GF is about 2 for metal foil. The gauges are wired into Wheatstone bridges so that a microstrain of 10⁻⁴ produces a few millivolts. The flexure deflects only microns, so the tool stays essentially rigid while the gauges still see a clean, repeatable signal.

What is crosstalk in a force–torque sensor and how is it removed?

Crosstalk is the unwanted appearance of one load axis in another channel — for instance, pushing purely along Z producing a small reading on the Mx torque channel because the gauges are not perfectly placed. The cure is calibration: the sensor is loaded with known forces and torques, and a least-squares fit produces a 6×6 decoupling matrix. Multiplying the six raw bridge voltages by this matrix subtracts the cross-terms, typically bringing residual crosstalk below 1–2% of full scale.

What is the difference between a force–torque sensor and joint-torque sensing?

A wrist-mounted force–torque sensor measures the external wrench at the tool directly and cleanly, but only at that one location. Joint-torque sensing instead measures torque at each motor through harmonic-drive flex or motor current, then uses the robot's Jacobian to estimate the end-effector wrench. Joint sensing detects contact anywhere along the arm and avoids a fragile wrist sensor, but it is noisier and corrupted by link inertia and friction. Many collaborative robots use joint sensing; precision assembly still favors a dedicated wrist FT sensor.

What is gravity compensation and why does an FT sensor need it?

The sensor reads the weight of everything mounted distal to it — the gripper and any grasped part — even with no external contact. As the wrist tilts, that payload's weight projects differently onto the six axes, so the baseline reading drifts. Gravity compensation models the tool mass and center of gravity, computes the expected weight wrench from the robot's measured orientation, and subtracts it. Without it, a 2 kg gripper produces a ~20 N offset that swamps the gentle contact forces compliant control is trying to regulate.