Derivative of Quaternion Multiplication with Angular Velocity

647 Views Asked by At

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

2

There are 2 best solutions below

0
On BEST ANSWER

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

1
On

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