HomeRobotics & KinematicsWhole-Body Control: Redundant Arm Null-Space Simulator

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.

Robotics & Kinematics3DAdvanced60 FPS
whole-body-control-redundant-arm-null-space-simulator ↗ Open standalone

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.

⚙ Under the hood

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.

Three.jsRoboticsWhole-Body ControlRedundant ManipulatorNull-Space ProjectionInverse KinematicsTask Priority

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)