1
$\begingroup$

Given two coordinate frames $A$ and $B$, we can define the transformation between them by:

  • $[\vec r_{AB}]_A$, the vector from the origin of $A$ to the origin of $B$ (resolved in frame $A$), and
  • $q_{AB}$, the quaternion that rotates vectors resolved in coordinate system $A$ to vectors resolved in coordinate system $B$.

Of course, if these quantities are changing with respect to time, we also have their derivatives:

$$ \begin{align} [\vec v_{AB}]_A &= \frac{d}{dt}[\vec r_{AB}]_A \\ [\vec a_{AB}]_A &= \frac{d}{dt}[\vec v_{AB}]_A \\ [\vec\omega_{AB}]_B &= 2\left(\frac{d}{dt}\ q_{BA}\right) q_{BA}^{-1} \\ [\vec\alpha_{AB}]_B &= \frac{d}{dt}[\vec\omega_{AB}]_B \\ \end{align} $$


To transform a vector expressed in coordinate system $A$ to a vector expressed in coordinate system $B$, we can use the following:

$$ [\vec r]_B = q_{AB} \left([\vec r]_A - [\vec r_{AB}]_A\right) q_{AB}^{-1} $$

And for the derivatives, we have:

$$ \begin{align} [\vec v]_B &= q_{AB} \left([\vec v]_A - [\vec v_{AB}]_A\right) q_{AB}^{-1} + [\vec\omega_{AB}]_B\times[\vec r]_B \\ [\vec a]_B &= q_{AB} \left([\vec a]_A - [\vec a_{AB}]_A\right) q_{AB}^{-1} + [\vec\alpha_{AB}]_B\times[\vec r]_B \\ &\phantom{=} + 2([\vec\omega_{AB}]_B\times[\vec v]_B) - [\vec\omega_{AB}]_B\times\left([\vec\omega_{AB}]_B\times[\vec r]_B\right) \end{align} $$


We can invert the transformation from $A$ to $B$ as follows:

First we take the origin of $A$, $[\vec r_A]_A=\vec 0$, and — using the equations above — compute its position, velocity, and acceleration in frame $B$. This gives us $[\vec r_{BA}]_B$, $[\vec v_{BA}]_B$, and $[\vec a_{BA}]_B$. Then, the rotational quantities are calculated simply as:

$$ \begin{align} q_{BA} &= q_{AB}^{-1} \\ [\vec\omega_{BA}]_A &= -q_{BA}\left([\vec\omega_{AB}]_B\right) q_{BA}^{-1} \\ [\vec\alpha_{BA}]_A &= -q_{BA}\left([\vec\alpha_{AB}]_B\right) q_{BA}^{-1} \\ \end{align} $$


Now, given two transformations $A\to B$ and $B\to C$, I wish to compute their composition, $A\to C$. Here is what I've tried:

  • First I compute the inverse transformation, $B\to A$.
  • I use the inverse transformation to transform $[\vec r_{BC}]_B$ to $[\vec r_{AC}]_A$ (and likewise with the derivatives).
  • I compute the angular quantities as follows:

$$ \begin{align} q_{AC} &= q_{BC}\ q_{AB} \\ [\vec\omega_{AC}]_C &= [\vec\omega_{BC}]_C + q_{BC}([\vec\omega_{AB}]_B)q_{BC}^{-1} \end{align} $$

Here's where I run into trouble. If I compute the angular acceleration $[\vec\alpha_{AC}]_C$ in analogy with $[\vec\omega_{AC}]_C$, I get the wrong answer.

What is the proper expression for $[\vec\alpha_{AC}]_C$?

$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.