Estimate angular velocity and acceleration from a sequence of rotations

4.4k Views Asked by At

I have a set of rotations:

$R(t) \in R^{3x3}, t = 1, 2, ... T$.

I can extract the orientation of a body $\theta (t)$ from the rotation matrix $R(t)$. I am interested to estimate the angular velocity $\omega (t)$ and angular acceleration $\alpha (t)$. I have performed spline quaternion interpolation. I imagine that I can use the following formula to estimate $\omega (t)$:

$\omega = 2 \frac{dq}{dt} * \hat{q} $,

where $\hat{q}$ is the inverse of $q$. What is the formula for computing $\alpha (t)$?

1

There are 1 best solutions below

4
On BEST ANSWER

So you know the quaternion's first derivative $$ \dot q = \frac{1}{2} \omega q $$ which is how you got to your equation $$ \omega = 2 \dot q \hat q $$ The quaternion's second derivative is $$ \ddot q = \frac{1}{2}(\dot \omega q + \omega \dot q) $$ and substituting the first derivative above gives $$ \ddot q = \frac{1}{2}(\dot \omega q + \omega \frac{1}{2} \omega q) $$ $$ \ddot q = \frac{1}{2} \dot \omega q + \frac{1}{4} \omega \omega q $$ Which you can use to get the acceleration $\dot \omega$ $$ \dot \omega = 2 (\ddot q \hat q - (\dot q \hat q )^2) $$