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