I have quaternion orientations, angular velocities and derivatives of those quaternions. The conversion goes like:

$$\dot{q}=\frac{1}{2}\Omega\otimes q$$

Where: $$\Omega=[0,\omega_x,\omega_y,\omega_z]^T$$

What I am looking for is the partial derivative of the orientation quaternion to the angular velocity:

$$\frac{\partial \dot{q}}{\partial \omega}=\frac{\partial (\frac{1}{2}\Omega\otimes q)}{\partial \omega}$$

However, I am unsure how to take the derivative of this quaternion product. In general, what does the solution to the following look like? $$\frac{\partial (q_1 \otimes q_2)}{\partial q_1}$$


I believe it is the Jacobian matrix:

$$\left[ \begin{array}{cccc} \partial \dot q_w / \partial \omega_× & \partial \dot q_x / \partial \omega_x & \partial \dot q_y /\partial \omega_x & \partial \dot q_z / \partial \omega_x \\ \partial \dot q_w / \partial \omega_y & \partial \dot q_x / \partial \omega_y & \partial \dot q_y / \partial \omega_y & \partial \dot q_z /\partial \omega_y \\ \partial \dot q_w /\partial \omega_z &\partial \dot q_x / \partial \omega_z & \partial \dot q_y / \partial \omega_z & \partial \dot q_z /\partial \omega_z \\ \end{array} \right]$$

  • $\begingroup$ I guess so, since that's the definition of the vector derivative. But then what does $$\partial \dot{q_w} / \partial \omega_x$$ look like? $\endgroup$
    – Roberto
    Jan 24 '20 at 13:41

Decided to take the long route. The Hamilton product of two quaternions is defined as: $$q_1 \otimes q_2 =$$ $$\left[ \begin{array}{c} a_{1}a_{2}-b_{1}b_{2}-c_{1}c_{2}-d_{1}d_{2} \\ a_{1}b_{2}+b_{1}a_{2}+c_{1}d_{2}-d_{1}c_{2} \\ a_{1}c_{2}-b_{1}d_{2}+c_{1}a_{2}+d_{1}b_{2} \\ a_{1}d_{2}+b_{1}c_{2}-c_{1}b_{2}+d_{1}a_{2} \end{array} \right]$$

So then in general $$\frac{\partial (q_1 \otimes q_2)}{\partial q_1} =$$ $$\left[ \begin{array}{cccc} a_{2} & -b_{2} & -c_{2} & -d_{2} \\ b_{2} & a_{2} & d_{2} & -c_{2} \\ c_{2} & -d_{2} & a_{2} & b_{2} \\ d_{2} & c_{2} & -b_{2} & a_{2} \end{array} \right]$$

Which I think is equal to (one of) the (possible) matrix representation(s) of $q_2$, $\hat{q}_2$: $$\frac{\partial (q_1 \otimes q_2)}{q_1} = \hat{q}_2$$

So then $$\frac{\partial (\frac{1}{2}\Omega \otimes q)}{\partial \omega} = \frac{1}{2}\hat{q}_{2:4}$$

Where $\hat{q}_{2:4}$ are the last three columns of the matrix representation of q.

This is confirmed by: https://arxiv.org/pdf/0811.2889.pdf


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.