Friday 25 October 2019

rotational kinematics - Why is the derivative of the quaternion equal to the Kronecker product of the quaternion itself and the angular velocity?


the dimension of $ \dot{\mathrm{Q}}(t)$ is 4x1 but the following product is 4x4 $$ \dot{\mathrm{Q}}(t)=\frac{1}{2}\mathrm{Q}(t)\otimes\overline{\Omega}(t)\ , (1) $$ equation (1) is part of the dynamic attitude system of rigid body


syms q0 q1 q2 q3 w1 w2 w3 real
Q=[q0 q1 q2 q3]' % quaternion
W=[w1 w2 w3] % angular velocity
W_bar=[0 W]
Q_dot=0.5*kron(Q,W_bar) % derivative of the quaternion

the result is :



Q =

q0
q1
q2
q3


W =


[ w1, w2, w3]


W_bar =

[ 0, w1, w2, w3]


Q_dot =


[ 0, (q0*w1)/2, (q0*w2)/2, (q0*w3)/2]
[ 0, (q1*w1)/2, (q1*w2)/2, (q1*w3)/2]
[ 0, (q2*w1)/2, (q2*w2)/2, (q2*w3)/2]
[ 0, (q3*w1)/2, (q3*w2)/2, (q3*w3)/2]

Answer



Your expression for quaternion multiplication is wrong. It is not the Kronecker (or outer) product, although some people use the same symbol $\otimes$ to represent it. Multiplying two 4-element quaternions together yields another 4-element quaternion. We need to take care with the sign convention, and the convention of body-fixed or space-fixed angular velocity, but I believe the formula you are looking for is (in matrix multiplication form) $$ \begin{pmatrix} \dot{Q}_0 \\ \dot{Q}_1 \\ \dot{Q}_2 \\ \dot{Q}_3 \end{pmatrix} = \frac{1}{2} \begin{pmatrix} Q_0 & -Q_1 & -Q_2 & -Q_3 \\ Q_1 & Q_0 & -Q_3 & Q_2 \\ Q_2 & Q_3 & Q_0 & -Q_1 \\ Q_3 & -Q_2 & Q_1 & Q_0 \end{pmatrix} \begin{pmatrix} 0 \\ \bar{\Omega}_1 \\ \bar{\Omega}_2 \\ \bar{\Omega}_3 \end{pmatrix} $$


Generally, if we write a quaternion as a combination of a scalar and a vector $\mathbf{A}= \bigl(a_0,\mathbf{a}\bigr)=\bigl(a_0,a_1,a_2,a_3\bigr)$, and similarly for $\mathbf{B}$ and $\mathbf{C}$, then the quaternion product may be expressed $$ \mathbf{C} = (c_0, \mathbf{c}) = \mathbf{A}\otimes\mathbf{B} = \bigl( a_0b_0-\mathbf{a}\cdot\mathbf{b},a_0\mathbf{b}+b_0\mathbf{a}+\mathbf{a}\times\mathbf{b} \bigr) $$ where $\cdot$ is the usual scalar product of two vectors, and $\times$ is the vector cross product. If we expand this into individual terms, we can see that it may be written in a similar form to my answer above $$ \begin{pmatrix} c_0 \\ c_1 \\ c_2 \\ c_3 \end{pmatrix} = \begin{pmatrix} a_0 & -a_1 & -a_2 & -a_3 \\ a_1 & a_0 & -a_3 & a_2 \\ a_2 & a_3 & a_0 & -a_1 \\ a_3 & -a_2 & a_1 & a_0 \end{pmatrix} \begin{pmatrix} b_0 \\ b_1 \\ b_2 \\ b_3 \end{pmatrix} $$


NB in the dynamics community these parameters can be called either "quaternions" or "Euler parameters". If you look on Wikipedia, you will see that the term "quaternion" refers to Hamilton's extension of complex numbers, and that usage is probably mathematically correct. There is also a close connection with (complex) Cayley-Klein parameters. However, in the current context, the parameters are all real, and we commonly refer to them as quaternions.


No comments:

Post a Comment

Understanding Stagnation point in pitot fluid

What is stagnation point in fluid mechanics. At the open end of the pitot tube the velocity of the fluid becomes zero.But that should result...