Learning outcomes
- Compose rigid transforms with explicit frame labels.
- Distinguish point transforms from vector transforms.
- Verify rotation and Jacobian conventions numerically.
Prerequisites: Linear algebra, ODEs, and earlier lectures in this sequence.
Frame labels are part of the quantity
Write RWB for the rotation mapping body components into world components:
pW=RWBpB+pWB.
A point transform uses translation. A free vector such as angular velocity changes coordinates using rotation alone. Mixing these operations causes plausible-looking but incorrect geometry.
A rigid transform is
TWB=[RWB0pWB1].
Its inverse has rotation RWB⊤ and translation −RWB⊤pWB. Frame labels guide composition: TWC=TWBTBC.
Rotation matrices
A proper rotation satisfies R⊤R=I and detR=1. The first condition preserves lengths and angles; the determinant excludes reflections. A matrix close to orthogonal is not exactly on SO(3). Diagnose drift rather than silently treating the result as a rigid rotation.
Define [ω]×r=ω×r. World-frame angular velocity gives R˙=[ωW]×R. Body-frame angular velocity gives R˙=R[ωB]×. They agree because ωW=RωB.
A body is translated to (1,2,0) and rotated 90∘ about world z. Its local point (1,0,0) maps to (1,3,0). Its local direction (1,0,0) maps to (0,1,0), without translation.
Composing rotations about different axes generally depends on order. Test nonparallel axes: two z rotations cannot expose an ordering bug.
MuJoCo mapping
After forward kinematics, body xpos and xmat describe world pose. Sites provide useful tool frames. The translational Jacobian maps qvel to world linear velocity for the queried point.
Some spatial APIs use rotational-before-linear ordering. In particular, mj_objectVelocity must not be interpreted as a generic six-vector ordered like a free-joint qvel without checking the convention. Frame, origin, and component order all matter.
When comparing with manipulation notes, translate frame conventions explicitly MIT differential IK. Matching variable names do not establish that two Jacobians mean the same thing.
Practice and exercise
Practice 2 checks a quaternion quarter-turn against its rotation matrix. Extend it with the point/vector example.
Check: Is R⊤pW enough to recover body coordinates of a world point? Answer: only if the origins coincide. Generally, pB=R⊤(pW−pWB). Missing translation can produce correct orientation with systematically wrong tool position.
As a second test, compose a transform with its inverse and check both rotation and translation. A small rotation residual alone cannot detect a wrong inverse translation.