Robot control

Null space

Definition

The null space of a matrix is the set of vectors it maps to zero. For a robot task Jacobian, it contains joint velocities that produce no instantaneous motion in the specified task coordinates.

Also known as: Nullspace, Matrix kernel

Updated

Joint motion invisible to a task

A redundant manipulator may move its elbow while keeping its hand still. At the current configuration, the associated joint-velocity vector lies in the hand task's Jacobian null space.

The word is task-specific. If the task constrains only hand position, null-space motion may change hand orientation. Adding orientation constraints can remove that freedom. Modern Robotics illustrates how redundancy depends on the selected velocity task.

Combining primary and secondary objectives

MIT's differential IK treatment projects a preferred joint motion into the Jacobian null space to help return an arm toward a nominal posture while tracking an end-effector velocity.

This supplies a useful building block for task prioritization: the primary task uses visible motion directions, while a secondary objective uses remaining directions.

An instantaneous result needs continued updating

The robot Jacobian changes as the configuration changes. A vector in its null space now is not necessarily in the null space after a finite step. Maintaining the task requires recalculating the relationship as the robot moves.

Null-space projection also does not automatically satisfy joint or contact constraints. MIT notes that constraints can make primary and secondary objectives conflict, so a weighted or hierarchical optimization must handle their interaction explicitly.

Sources