By Tolerance Labs engineering team · Updated
A series elastic actuator, or SEA, puts a deliberate spring between the gearbox and the load. Measuring how far the spring twists gives the output torque. The spring also changes how the joint handles impacts, and what it can and cannot do quickly.
How it works
The drive train runs motor, gearbox, spring, output. One encoder measures the angle on the gearbox side of the spring, θ_g. A second measures the output angle, θ_o. The spring deflection is Δθ = θ_g − θ_o, and the torque through it is τ = k·Δθ, where k is the spring stiffness in N·m/rad.
The controller runs a torque loop around that measurement. To deliver a torque τ_des, it moves the gearbox side until the spring is twisted by τ_des ÷ k. Friction, cogging and gear ripple sit on the motor side of the spring, so the torque loop sees them as disturbances and corrects them within its bandwidth.
The spring can be a machined flexure, a spiral or spoked disc, a set of coil springs in a rotary housing or, in a linear SEA, compression springs around a ball screw nut. A joint torque sensor works on the same principle, but its flexure is far stiffer and its deflection is read with strain gauges.
Resolution against stiffness: worked example
Torque resolution is the spring stiffness times the smallest deflection you can measure. A softer spring gives finer torque resolution and more deflection at full load. Take a joint with 50 N·m peak torque. One count of a 14-bit encoder is 2π ÷ 16,384 ≈ 0.00038 rad; one count of a 17-bit encoder is 2π ÷ 131,072 ≈ 0.000048 rad.
| Spring stiffness | Deflection at 50 N·m | Torque per count, 14-bit | Torque per count, 17-bit |
|---|---|---|---|
| 300 N·m/rad | 50 ÷ 300 ≈ 0.167 rad (9.5°) | 300 × 0.00038 ≈ 0.12 N·m | 300 × 0.000048 ≈ 0.014 N·m |
| 3,000 N·m/rad | 0.0167 rad (0.95°) | ≈ 1.15 N·m | ≈ 0.14 N·m |
| 30,000 N·m/rad | 0.00167 rad (0.095°) | ≈ 11.5 N·m | ≈ 1.4 N·m |
The last row shows why stiff flexures use strain gauges rather than encoders: 11.5 N·m per count is nearly a quarter of the joint’s range.
Resolution is not the whole story. Deflection is the small difference between two large angles, so each encoder’s absolute error lands directly in the torque. A magnetic encoder that reads 0.1° (0.0017 rad) off adds 300 × 0.0017 ≈ 0.52 N·m of error on the soft spring, and that error changes with angle. Calibrate the two encoders against each other with the output free, and mount them directly across the spring. Taking θ_g from the motor encoder divided by the ratio puts backlash and gear transmission error into the torque reading.
What the spring buys
- Shock tolerance. In a stiff joint, an impact must stop the reflected rotor inertia almost at once, so the gear teeth see a large force spike. The spring lets the output stop while the motor side slows over a longer time, which caps the peak tooth load. Hard stops at the end of the spring travel protect the spring itself.
- Force fidelity. Torque is measured at the output, after the gearbox. A high-ratio gearbox with friction and backlash can still give clean torque control, which motor current through that gearbox cannot.
- Low impedance above the control bandwidth. At frequencies the controller cannot follow, the load feels the spring rather than the full reflected inertia. That makes the joint safer to bump into and gentler on its own gears.
- Energy storage. In cyclic motion such as walking or hopping, a spring tuned to the motion can store energy in one phase and return it in the next. The stiffness that does this well is rarely the one that gives the best torque control, so for most SEAs it is a bonus, not the design goal.
What it costs
Bandwidth. To change output torque, the motor must first move the spring. Large, fast torque changes need large, fast motor-side motion, so a soft spring limits large-torque bandwidth. The motor side and the spring also form a resonance. With the output held, its frequency is f = √(k ÷ J_r) ÷ 2π, where J_r is the reflected motor-side inertia.
Example: a rotor of 5 × 10⁻⁵ kg·m² behind 50:1 reflects 5 × 10⁻⁵ × 2,500 = 0.125 kg·m². With k = 300 N·m/rad, √(300 ÷ 0.125) = √2,400 ≈ 49 rad/s, or about 7.8 Hz. With k = 3,000 N·m/rad it is √24,000 ≈ 155 rad/s, about 24.7 Hz. Torque control can reach above that frequency with care, but the resonance marks where tuning gets difficult.
Position accuracy. The spring sits between motor and load, so a varying load moves the output. On the soft spring above, a 10 N·m disturbance shifts the output by 10 ÷ 300 ≈ 0.033 rad, about 1.9°. Closing the position loop on the output encoder helps, but the resonance then limits how stiff that loop can be.
Packaging and cost. The spring, its overload stops and the second encoder add length, mass and parts. Springs have a fatigue life, and the spring and its mounts must carry full peak torque plus impact.
Choosing spring stiffness
Start from the task and work through these checks:
- Set the deflection you can accept at peak torque, then k = τ_peak ÷ Δθ_max. Many SEAs land between a few degrees and about 15° at peak.
- Check torque resolution: k times the deflection resolution after encoder calibration. Compare it with the smallest force the task must control.
- Check the locked-output resonance from k and the reflected inertia against the torque bandwidth you need. Raise k if it is too low.
- Check impact: the spring travel must absorb the expected impact before the overload stops close.
- Check position error under expected load changes if the joint must also hold position.
Typical results fall in the hundreds to a few thousand N·m/rad for leg- and arm-sized SEAs. Joint torque sensors of similar rating are often ten to a hundred times stiffer. Some designs use a nonlinear spring that is soft near zero torque, for resolution, and stiff near peak, for bandwidth and limited travel.
SEA, QDD or torque-sensor joint
Each approach gets output torque a different way. QDD vs high-ratio joints covers the gearing side, and actuators for exoskeletons covers one common SEA application. Values below are typical.
| Property | Series elastic | Quasi-direct drive | Torque-sensor joint |
|---|---|---|---|
| How torque is measured | Spring deflection from two encoders | Motor current times Kt | Strain gauges on a stiff flexure at the output |
| Output stiffness | Low, set by the spring | High, set by the gearbox | High, slightly reduced by the sensor |
| Shock tolerance | High, the spring absorbs it | Good, low reflected inertia | Depends on the gearbox; the sensor needs overload protection |
| Torque bandwidth | Lower, limited by the spring | High | High |
| Low-torque fidelity | Very good | Good, limited by friction and cogging | Very good, limited by noise and drift |
| Position accuracy under load | Lower unless the loop closes on the output | Good | Good |
| Gear ratio it suits | Any, including high ratio | About 6:1 to 10:1 | Any, including high ratio |
| Typical uses | Exoskeletons, rehabilitation, compliant arms, legged research | Legged robots, fast dynamic joints | Cobots, precise force control |
Checklist
- Set peak torque and acceptable deflection, then compute k.
- Compute torque per count from k and the deflection resolution.
- Mount both encoders directly across the spring and calibrate them together.
- Compute the locked-output resonance from k and the reflected inertia.
- Check position error under load if the joint must also hold position.
- Add overload stops and check spring fatigue at the expected cycle count.
- Compare against a QDD joint and a torque-sensor joint before committing.
SEAs are usually built rather than bought. Start from high-ratio and cycloidal joints or frameless torque motors, add an output encoder, and see exoskeleton joints for related designs.
More guides
Not sure what fits? Tell us what you're building.
We procure every part of the robot. Send a sentence or a BOM and we come back with options and a landed quote.
Send a request