In the context of visual tracking and video processing I need to estimate variations of the orientation related to the angular velocity. I am trying to calculate the Jacobian matrix of a quaternion $\vec{q}_k$ respect to its (supposed to be constant) angular velocity $\vec{\omega}$.

$$\frac{\partial \vec{q}_k}{\partial \vec{\omega}}(\vec q_{k-1})$$

I found a method that uses the chains rule:

$$\frac{\partial \vec{q}_k}{\partial \vec{\omega}} = \frac{\partial \vec{q}_k}{\partial \vec{qwt}}(\vec q_{k-1}) \frac{\partial \vec{qwt}}{\partial \vec{\omega}} $$

where $\vec{qwt}$ is the quaternion form of the angular velocity. The first matrix is calculated with a matrix like this, where $q$ components are from $\vec q_{k-1}$

$$\frac{\partial \vec{q}_k}{\partial \vec{qwt}}(\vec q_{k-1})=\begin{pmatrix} q_w&-q_z &q_y &q_x \\q_z&q_w &-q_x &q_y\\-q_y&q_x &q_w &q_z\\-q_x&-q_y &-q_z &q_w \end{pmatrix}$$

I didn't find how to calculate the secon partial. It looks more tricky. Any ideas about how to start?

  • 1
    $\begingroup$ Maybe this paper will help you. It contains formulas for differentiating quaternion rotation representation. $\endgroup$
    – Libor
    Commented Jul 13, 2012 at 20:17


Your Answer

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

Browse other questions tagged or ask your own question.