A physical test of a theory about how people move their arms.
Recreating human reaching with a robot arm
The goal was to build a real, physical test of a specific theory of human motor control — the 1993 McIntyre-Bizzi Modified Equilibrium-Point model — by implementing it on a 2-DOF robot arm and using that arm to recreate Tamar Flash’s classic 1987 experiment: moving a hand between six target points and observing the resulting minimum-jerk trajectories.

Reaching movements have two components worth separating: how the central nervous system generates a motor command in the first place, and how the musculoskeletal system’s own dynamics turn that command into motion. The Equilibrium-Point (or “servo”) hypothesis handles this by cleanly separating passive mechanical dynamics — joint stiffness and damping around some equilibrium angle — from neural control, which just has to produce that equilibrium angle over time from delayed position and velocity feedback. It deliberately ignores joint biomechanics and muscle force-length relationships in exchange for a much simpler robotic control framework.

Building the arm
We built the arm from 0.25” acrylic (easy to machine accurately) sized to 50th-percentile male arm-segment proportions, with two Maxon pancake motors mounted directly at each joint — model 244879 at the shoulder, a weaker 323772 at the elbow. Direct-drive was the key choice here: no gearbox means no backlash or added friction fighting the impedance controller, and Hall sensors at each joint gave relative angle feedback.

To control two joints instead of one, we ran two copies of the joint-level feedback controller (one per joint) plus Flash’s multi-joint stiffness model to capture coupled 2-joint muscle dynamics — a single joint’s controller doesn’t know about the other joint without that coupling term.
Working around a hard bandwidth limit
The Maxon EPOS2 servo drives we used talk over USB serial, which capped our control loop at a 20ms period (50Hz). Standard digital-control practice wants roughly 30x margin between loop rate and the continuous-time bandwidth you’re trying to emulate, which put a hard ceiling of about 1.67 Hz (10.47 rad/s) on anything we could reasonably implement.
That turned out fine: computing the frequency response for a single link (0.0474 kg·m² inertia) using McIntyre’s own published neural-control gains showed the gain never crosses unity — estimated system bandwidth came out around 0.01 Hz, comfortably inside our hardware limit. So rather than tuning the controller for the snappiest possible performance, we left it with McIntyre’s original, deliberately-suboptimal-but-biomimetic parameters — the whole point was testing the model, not building the fastest arm we could.

Testing against Flash’s experiment
First test: hold the shoulder at 1.6 rad and the elbow at 0.8 rad, then hit the end effector with an impulse and watch it settle back — a basic stability and impedance check.

Then the actual reaching experiments: driving the arm between Flash’s target points (1→4, then 3→6), each repeated three times, and comparing the resulting hand paths against her published minimum-jerk trajectories.

The 1→4 reach came out as a slightly exaggerated version of Flash’s observed movement — a good result. The 3→6 reach overshot the target more than her data showed, with the controller visibly correcting the error before finally settling — a real result, not just a clean confirmation, and the Hall sensors’ coarse resolution adds visible discretization noise to both trajectory plots.

Subjectively, the arm’s response to the impulse perturbation felt genuinely natural to interact with by hand, and it reliably completed minimum-jerk-like reaches consistent with Flash’s data. The clearest paths to a more realistic arm from here: dynamic stiffness (a Hill muscle model with contractile-length-dependent stiffness instead of fixed impedance), higher control bandwidth, better joint-angle sensing, and richer muscle geometry — agonist/antagonist pairs and multi-joint muscles instead of one lumped stiffness term per joint.
The arm pushed mid-reach: the equilibrium-point controller pulls it back to the commanded posture.
Video
Three more runs of the arm, each commanded through the equilibrium-point controller.
A quarter-second reach: the fastest of the commanded movements.
The same reach commanded over half a second.
A reach with a deliberate delay in the command.