Robotic Systems · Lecture 8

Forward dynamics, ABA, and simulator pipelines

Simeon Nedelchev

Full notes, practice, and references

Forward dynamics

Mv˙=τ−cM\dot v=\tau-c

A linear solve avoids explicitly forming M−1M^{-1}.

Coupling example

M=[5221],τ−c=(1,0)M=\begin{bmatrix}5&2\\2&1\end{bmatrix},\quad\tau-c=(1,0)
v˙=(1,−2)\dot v=(1,-2)

Diagonal division misses the coupling.

ABA

Recursive elimination computes tree accelerations.

The algorithm can avoid assembling dense M.

Constraints change the workload

Constraint solvers need repeated inertia solves.

An engine may factor M rather than use bare ABA.

Engine step

Kinematics and forces precede acceleration solving.

Integration advances the state.

Derived arrays need a consistent measurement point.

Benchmark

Compare the same physical query and model.

Small Python timings cannot establish asymptotic complexity.

Reading

Return to the notes