Robotic Systems · Lecture 4

Scalar-first quaternions and attitude integration

Simeon Nedelchev

Full notes, practice, and references

Scalar-first convention

Q=(w,x,y,z)Q=(w,x,y,z)

Identity: (1,0,0,0)(1,0,0,0)

QQ and −Q-Q represent the same orientation.

Axis-angle form

Q=(cos⁡(θ/2),nsin⁡(θ/2))Q=(\cos(\theta/2),n\sin(\theta/2))

The half-angle is essential.

Body angular velocity

Q˙=12Q⊗(0,ωB)\dot Q=\tfrac12Q\otimes(0,\omega^B)
Qk+1=Qk⊗Exp⁡Q(ΔtωB)Q_{k+1}=Q_k\otimes\operatorname{Exp}_Q(\Delta t\omega^B)

Quarter-turn check

Q=(2/2,0,0,2/2)Q=(\sqrt2/2,0,0,\sqrt2/2)

A positive z quarter-turn maps x to y.

Configuration operations

mj_integratePos updates qpos from tangent velocity.

mj_differentiatePos computes a tangent difference.

Check

Identity and negative identity have zero physical attitude error.

What does raw subtraction report?

Reading

Return to the notes