Collision Detection in Humanoid Joints: Momentum Observers, Torque Sensing and ISO/TS 15066 Limits
Collision detection in humanoid joints: how a robot feels a bump it didn’t plan
A humanoid that works next to people has to notice when its arm or body hits something it did not expect, and react within milliseconds. Most of that sensing happens inside the joints: encoders, motor current or torque sensors, a dynamic model and an observer that turns the mismatch into an estimate of external torque. ISO/TS 15066 sets how hard the contact may be.
Sources: ISO/TS 15066 body-model values as tabulated in arXiv 2311.13814; arXiv 2510.10843; humanoid.guide calculation from the same table (see Table 2).
Why a humanoid has to sense contact through its joints
Cameras and depth sensors let a robot avoid people it can see. They do not tell it that its elbow has just brushed a shelf, that a co-worker has stepped into its swinging arm, or that a box is heavier than planned. Those events show up first as forces on the robot’s structure, and the cheapest place to measure them is in the joints that already exist. Every humanoid joint has a position encoder and a servo drive that knows its motor current, and many add a second encoder or a torque sensor.
Collision handling is usually split into stages: detection (did something happen?), isolation (which link was hit?), identification (how hard, and in which direction?) and reaction (what does the robot do next?). Detection must be fast and must not raise false alarms during normal, vigorous motion. That is harder on a humanoid than on a fixed factory arm, because the feet hit the ground at every step and the whole body is accelerating.
Figure 1 · From joint signals to a reaction: the momentum-observer pipeline
Illustration: humanoid.guide, after TUM RPCHI lecture notes (KUKA LWR III) and Vorndamme, Schappler & Haddadin, ICRA 2017. Schematic, not a specific product.
The momentum observer: the workhorse method
The most widely used detector in research and in collaborative arms is the generalized momentum observer, developed by Alessandro De Luca, Sami Haddadin and colleagues on the DLR/KUKA lightweight robot. The robot’s generalized momentum is p = M(q)·q̇: joint velocities weighted by the inertia matrix. A dynamic model predicts how that momentum should change given the commanded motor torque, gravity and Coriolis terms. The observer integrates the difference between prediction and measurement and feeds it back through a gain. The output, the residual r, behaves like a first-order low-pass filtered copy of the external joint torque.
Two properties made it the default. It needs only joint positions, velocities and motor torque, with no acceleration signal (which is noisy) and no inverse of the inertia matrix. And each joint gets its own residual, so the joints that respond tell the robot roughly where the hit was: a collision on a link shows up in the joints between that link and the base, not in those beyond it. The gain sets the trade-off. A higher gain gives a faster residual but passes more noise, which forces a higher threshold.
Figure 2 · Animated · A residual rising after a contact and crossing the detection threshold
Illustration: humanoid.guide. Curve computed as r = 10·(1 − e−t/20 ms) plus synthetic noise; real gains, noise and thresholds vary by robot. CSS animation; shows the final state when reduced motion is requested.
Current, torque sensors or skin: what the joint measures
The observer is only as good as its torque signal. Inferring torque from motor current is free, because the drive measures current anyway, but between the motor and the link sit gear friction, backlash, hysteresis and torque ripple. A 2025 study on a two-joint leg compared both on the same hardware: a custom strain-gauge joint torque sensor tracked ground truth with an RMS error of 0.032 N·m, while the motor-current estimate had 0.164 N·m, about five times worse. Friction grows with gear ratio, so the gap is widest in high-ratio strain-wave joints and smallest in quasi-direct-drive joints, which is one reason low-ratio legs are good at feeling contact.
Model errors are the other enemy. A learned model helps: researchers have trained Gaussian-process models of motor current on a UR10 arm, using only currents and joint positions, to handle friction at very low speed where analytic models fail. On a humanoid, the feet complicate everything. A detector has to separate expected foot-ground forces from unexpected hits, which is why the humanoid work so far adds force/torque sensors in the structure. Vorndamme, Schappler and Haddadin’s 2017 algorithm for detecting, isolating and identifying collisions on a general humanoid used momentum observers plus internal force/torque sensors, and was demonstrated on a simulated Atlas. On an ANYmal quadruped with an arm, a momentum-based observer detected collisions with a delay of about 160 ms at a threshold of 10% of the estimated force, the fastest of six estimators compared.
Table 1 · Ways a humanoid joint can sense an unplanned contact
| Signal | Extra hardware | Strength | Weakness | Published figure |
|---|---|---|---|---|
| Motor current + model | None | Free, every joint has it | Gear friction, ripple, model errors | 0.164 N·m RMSE |
| Joint torque sensor | Strain gauges at the output | Sees torque after the gearbox | Cost, stiffness, cabling, drift | 0.032 N·m RMSE |
| Six-axis F/T sensors in the structure | One or more F/T cells | Contact force and location | Expensive, needs dynamic compensation | <0.2 N force error |
| Tactile or capacitive skin | Sensor covering | Location, can sense before touch | Coverage, wiring, durability | — |
Sources: arXiv 2510.10843 (2-DoF leg, strain-gauge sensors up to 8.5 N·m, hip F/T sensor; force error below 0.2 N under static loads); Vorndamme et al., ICRA 2017; arXiv 1905.08689. — means no comparable figure in these sources.
How hard is too hard: the ISO/TS 15066 body model
Detection decides when a robot notices contact. The limits decide what the contact may feel like before that. ISO/TS 15066, written for collaborative industrial robots and now folded into ISO 10218-2:2025, gives a body model of 29 areas in 12 regions with permissible forces and pressures, built on pain-onset studies. It separates quasi-static contact, where a person is clamped or pressed, from transient contact, a brief impact the person can recoil from, which is allowed to be higher. The quasi-static force limits run from 65 N for the face to 220 N for the thighs and knees.
Chart 1 · Maximum permissible contact force by body region, ISO/TS 15066
Source: ISO/TS 15066:2016 body-model values as tabulated in Safe Physical Human-Robot Interaction through Variable Impedance Control based on ISO/TS 15066 (arXiv 2311.13814). Values shown are the quasi-static limits; transient limits are higher.
The same table gives an effective spring constant and an effective mass for each region, which turns a force limit into a speed limit. If all the robot’s kinetic energy at impact goes into compressing the body region, the peak force is F = v·√(μ·k), where μ is the reduced mass of robot and body part. Rearranged, the permissible relative speed is v = F / √(μ·k). The robot’s effective mass depends on its pose and which link hits, which is exactly why reflected rotor inertia, set by gear ratio, matters for safety.
Table 2 · Permissible relative speed at impact, by robot effective mass
| Body region | Force · k · body mass | Robot 2 kg | Robot 5 kg | Robot 10 kg | Robot 20 kg |
|---|---|---|---|---|---|
| Hands and fingers | 140 N · 75 N/mm · 0.6 kg | 0.75 m/s | 0.70 m/s | 0.68 m/s | 0.67 m/s |
| Lower arms and wrists | 160 N · 40 N/mm · 2 kg | 0.80 m/s | 0.67 m/s | 0.62 m/s | 0.59 m/s |
| Chest | 140 N · 25 N/mm · 40 kg | 0.64 m/s | 0.42 m/s | 0.31 m/s | 0.24 m/s |
Calculation: humanoid.guide, v = F / √(μ·k), μ = (1/mbody + 1/mrobot)−1, using the quasi-static force values, spring constants and effective body masses tabulated in arXiv 2311.13814. Using the quasi-static force is conservative; a formal assessment follows the full standard and measured contact.
The numbers are sobering for a full-size humanoid. A light hand meeting a light hand is allowed around 0.7 m/s. A heavy arm segment moving into a chest, with 20 kg of effective mass behind it, is allowed about a quarter of a metre per second. No detector can undo energy that is already in the impact, so speed and effective mass have to be limited near people before anything is detected, and detection then limits what happens after the first touch: how long the robot keeps pushing and whether it clamps someone.
What the robot does next, and why falling is the hard part
Arm reactions are well studied. The robot can stop, switch to gravity compensation so the arm floats and can be pushed away, perform a reflex move in the direction of the contact force, or slow down and continue. A fixed-base cobot can simply stop. A humanoid cannot always: freezing a leg mid-step, or cutting torque, makes it fall, and a falling 60–130 kg robot is a bigger hazard than the bump. Its reactions must keep it balanced, which ties collision response to the whole-body controller and to brakes and controlled descent.
Standards are catching up. ISO 25785-1, a working draft since May 2025 for industrial mobile robots with actively controlled stability, including humanoids, is expected to build on the ISO/TS 15066 limits and to call for fall detection, controlled descent and speed reduction near people. Agility Robotics, which contributes to that draft, describes Digit 5 as built for “cooperatively safe” work: it detects people with several sensor types and an independent safety controller oversees whether it avoids them, stops or sits down. That is perception-led separation, not contact detection, and it shows where the industry is starting: keep distance first, then make contact survivable.
What to ask an actuator or robot supplier
- Which torque signal feeds the detector? Motor current, a joint torque sensor or both, and at what rate the drive reports it.
- Detection threshold and delay. The smallest external torque the joint flags without false alarms during fast motion, and the time from contact to reaction.
- Back-drive torque and reflected inertia. A joint that is easy to push back both senses contact better and hurts less on impact.
- Whether detection runs on safety-rated hardware. A residual computed in the motion controller is a feature; one computed in a certified safety channel can count toward a safety function.
- Measured contact forces. Pressure and force measured with a test device against ISO/TS 15066 values, at the speeds the robot will use near people.
Go deeper: The Humanoid Actuation Report
249 pages on motors, reducers, screws, bearings, encoders and drives, the vendors behind every major platform, and the cost curves that decide adoption to 2036.
The Humanoid Actuation Report All joints & actuators articles All humanoid.guide reportsKeep reading · Joints & actuators
Related articles
FAQ
How does a humanoid robot detect a collision without a skin?
Through its joints. A model-based observer, most often the generalized momentum observer, compares the momentum the robot should have, given its commanded motor torques, with what its encoders measure. The difference, called the residual, approximates the external torque at each joint. When it crosses a threshold, the robot flags a collision.
Is motor current enough, or does a joint need a torque sensor?
Current works and costs nothing extra, but gear friction, backlash and ripple blur it. In one 2025 leg test, current-based torque estimates had about five times the error of a strain-gauge joint torque sensor. Low-ratio quasi-direct-drive joints get closer to sensor quality than high-ratio strain-wave joints.
How much force may a robot apply to a person?
ISO/TS 15066 lists permissible values by body region. Quasi-static limits range from 65 N for the face to 220 N for the thighs and knees; hands and fingers are 140 N. Brief transient contacts are allowed higher values. The specification was written for collaborative industrial robots; the humanoid draft ISO 25785-1 is expected to build on it.
Why can’t a humanoid simply stop when it hits something?
Because stopping or cutting torque can make it fall. A legged robot has to keep its balance while it reacts, so collision response is tied into the whole-body controller, and draft standards point toward controlled descent rather than collapse.
Sources
- Safe Physical Human-Robot Interaction through Variable Impedance Control based on ISO/TS 15066, arXiv 2311.13814 (body-region force limits, spring constants and effective masses)
- Power and Force Limiting Technique at Collaborative Workplace, MM Science Journal, June 2021 (29 body areas, pressure limits, transient contact under 50 ms)
- TUM, Robotics and physical human-robot interaction, Part 4: Collision Detection (generalized momentum observer, KUKA LWR III, reaction strategies)
- Contact Sensing via Joint Torque Sensors and a Force/Torque Sensor for Legged Robots, arXiv 2510.10843, 2025 (0.032 vs 0.164 N·m RMSE, force error below 0.2 N)
- Vorndamme, Schappler & Haddadin, Collision Detection, Isolation and Identification for Humanoids, ICRA 2017 (momentum observers plus internal F/T sensors, simulated Atlas)
- Collision detection and identification for a legged manipulator, arXiv 2207.14745 (ANYmal with arm, 159 ms detection delay for continuous-time momentum observer)
- Proprioceptive Robot Collision Detection through Gaussian Process Regression, arXiv 1905.08689 (UR10, currents and joint positions only)
- i-SCOOP, ISO 25785-1 explained (scope, May 2025 draft, ISO/TS 15066 in ISO 10218-2:2025, controlled descent)
- Robotics 24/7, Agility Robotics debuts Digit 5 humanoid robot for cooperatively safe work at scale (people detection, independent safety controller, ISO 25785-1 participation)
