ROBOTICS 101Concept explainer

Arm Dynamics: Mass Matrix, Coriolis, Gravity

The torque a robot joint needs is the sum of three parts. Inertia resists changes in speed. Coriolis and centrifugal effects appear when several joints move at once. Gravity pulls the links down even when nothing moves. Which one matters most depends on how fast the arm moves.

The equation of motion

For joint angles \(\mathbf{q}\), every rigid arm obeys

$$\boldsymbol\tau = M(\mathbf{q})\,\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\,\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q})$$

\(M\) is the mass matrix, which changes with the pose: the shoulder must move more mass when the arm is stretched out. \(C\) holds the Coriolis and centrifugal terms, which grow with the square of speed. \(\mathbf{g}\) is gravity, which depends only on the pose.

What to notice

At slow speed the gravity curve almost equals the total, so a slow arm is mostly fighting its own weight. Speed up and the inertia term grows with the square of speed, then dominates. The Coriolis term is smaller, but it couples the joints: moving the elbow fast puts a torque on the shoulder. Model-based controllers, such as computed torque, compute all three parts in real time to cancel them.