I am wondering how to integrate a measurement of angular velocity into an orientation quaternion. Suppose I have measurements of the rotation rate about the three principal axes of a body. I would combine them like so:

$$ {^B_R}{\dot{q}}{_{\omega,t}}=\frac{1}{2}{^B_R}{q}{_t}\otimes[0,\omega{_x},\omega{_y},\omega{_z}] ,$$

where $ \omega{_x},\omega{_y},\omega{_z} $ are the angular rates about the $x$-,$y$- and $z$-axis (e.g. in deg/sec). Also, the leading sub-script $R$ denotes the inertial reference frame while $B$ denotes the body frame. A leading sub-script denotes the frame being described and a leading super-script denotes the frame this is with reference to.

Now I have seen (and I thought so myself) that people use

$$ {^B_R}{q}{_{t+1}}={^B_R}{q}{_{t}}\otimes({^B_R}{\dot{q}}{_{\omega,t}}\Delta{t}) $$

to compose the two rotations. However, the paper I'm following and that I want to implement just adds them up:

$$ {^B_R}{q}{_{t+1}}={^B_R}{q}{_{t}}+{^B_R}{\dot{q}}{_{\omega,t}}\Delta{t} $$

I am aware that this might not be the right site, I thought about maths or scicomp, but I was unsure. Also I can see that the linked question seems like an answer, but I am more looking for an explanation for why the author (Sebastian Madgwick) used the additive operation instead of composition.


Your Answer

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

Browse other questions tagged or ask your own question.