# Estimate angular velocity and acceleration from a sequence of rotations

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 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)$$

• Thanks for the derivation. Regarding the quantity $(\dot{q}\hat{q})^2$ do I have to use the exponential property of quaternions? – crow May 24 '16 at 7:10
• This requires you to know $\dot{q}$ in order to find $\omega$ though. How do you get the quantity $\dot{q}$ from the sequence of quaternions? – adamconkey Sep 27 '17 at 17:23
• Also, $\omega$ is 3-dimensional. You can interpret it as a quaternion with 0 scalar part, but how do you enforce that it gets 0 scalar part when you compute it in this way as the scaled product of two quaternions? – adamconkey Sep 27 '17 at 20:23
• I estimated $\dot{q}, \ddot{q}$ by fitting quaternion splines and evaluating the derivatives. – crow Sep 29 '17 at 13:54