Derivative of a rotated vector with respect to the quaternion

2.5k Views Asked by At

Let us say we have a right-handed unit quaternion, describing the rotation from frame $a$ to frame $b$: $q_a^b$. The rotation matrix formed from this quaternion is $R\left( q_a^b \right)$ and describes a passive rotation. That is, $R\left( q_a^b \right)v$ describes the same object $v$ in the new frame $b$.

The following expression is given in Michael Andre Bloesh's dissertation without explanation link - (unfortunately embargoed until April 2018)

$$\frac{d}{dq_a^b} R\left( q_a^b \right)v = -\left( R\left( q_a^b \right)v \right)^\times $$

where the $\left( \cdot \right)^\times $ notation is the skew-symmetric matrix.

I played with these expressions numerically to confirm the above and also discovered that the derivative of the active rotation is

$$\frac{d}{dq_a^b} R\left( q_a^b \right)^\top v = R \left( q_a^b \right)^\top \left( v \right)^\times $$

which I guess makes some intuitive sense as well.

While these expressions seem to work, how do I approach this problem in a principled way (i.e. not guessing and checking with numerical differentiation)?