Robotic Systems · Lecture 7

Recursive inverse dynamics and the mass matrix

Simeon Nedelchev

Full notes, practice, and references

RNEA

A forward pass propagates motion.

A backward pass accumulates wrenches.

Joint projection gives required generalized force.

Inverse dynamics

ID⁡(q,v,a)=M(q)a+c(q,v)\operatorname{ID}(q,v,a)=M(q)a+c(q,v)

This ideal form assumes a declared force convention.

Mass-matrix columns

M:j=ID⁡(ej)−ID⁡(0)M_{:j}=\operatorname{ID}(e_j)-\operatorname{ID}(0)

All calls use the same state.

Column example

M=[5221]M=\begin{bmatrix}5&2\\2&1\end{bmatrix}, c=(3,4)c=(3,4)

ID⁡(e1)=(8,6)\operatorname{ID}(e_1)=(8,6)

Difference: (5,2)(5,2)

CRBA

Composite subtree inertias support mass-matrix assembly.

One mass matrix answers many acceleration queries.

Engine connection

Compare APIs by the quantity they return.

Reading: Pinocchio algorithms MuJoCo API

Reading

Return to the notes