Whole-Body Control: Redundant Arm Null-Space Simulator
Drag a target for a 4-joint redundant arm to reach. Toggle whole-body / null-space control to watch the elbow dodge an obstacle zone using only the leftover degrees of freedom the reach task doesn't need — while the end-effector keeps hitting the exact same point.
A 4-joint planar arm has more joints than its 2D reach task strictly needs, leaving a genuine null space of joint motions that never move the hand. This simulator resolves that redundancy two ways: a naive minimum-norm inverse-kinematics solve that reaches the target but ignores everything else, and a whole-body / null-space solve that adds a secondary elbow-avoidance objective projected so it can never disturb the primary reach. Drag the target and the obstacle zone and switch modes to see the same exact end-effector position achieved through two different postures.
A 4-joint planar arm has two more degrees of freedom than its 2D reach task needs, leaving a genuine null space of joint motions that never move the hand. Drag the target and an obstacle zone, then switch between naive minimum-norm inverse kinematics and whole-body / null-space control to see the elbow dodge the obstacle using only the leftover joint freedom the reach task doesn't need — while the end-effector keeps hitting the exact same point.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install