Dynamics

mass (inertia) matrix

The mass matrix, also called the inertia matrix, is the grid of numbers that links how fast a robot's joints are speeding up to how much actuation force each joint needs to make that happen. For a single object on a frictionless floor, one number — its mass — turns a desired acceleration into the required push. A multi-joint robot is far busier, so it needs a whole grid: the mass matrix is the multi-joint generalization of that single mass number, telling the controller the price in force for any pattern of joint accelerations.

What makes it interesting is two things. First, the matrix is configuration-dependent: it changes as the robot folds and unfolds. An arm stretched straight out is much harder to swing than the same arm tucked in close, because reaching out flings its mass far from the joint — the same skater-arms effect that governs rotational inertia. Second, the off-diagonal entries capture coupling: shoving one joint also tends to disturb its neighbors, the way wiggling one end of a loosely held chain tugs the rest. The mass matrix bookkeeps every one of these cross-influences at once.

This matrix sits at the very heart of a robot's equation of motion. To compute inverse dynamics — figuring out the forces needed to produce a desired motion — you multiply the mass matrix by the wanted accelerations. To compute forward dynamics — predicting the motion that given forces will produce — you effectively invert it. Either way, an accurate mass matrix is what lets a robot move crisply and confidently instead of guessing at how its own weight will fight back.

A two-link arm needs far more shoulder torque to start swinging when the elbow is straight than when it is bent, even for the same target speed. The mass matrix encodes exactly this: its shoulder entry grows large when the arm reaches out and shrinks when the arm folds in.

Same arm, same target speed — but a straightened arm is much heavier to swing, and the mass matrix is what records that change.

It is often written M(q) — the "(q)" is a reminder that the matrix depends on the robot's current configuration, the set of joint angles q.

Also called
mass matrixjoint-space inertia matrixM(q)质量矩阵广义惯性矩阵