Transforming NED Acceleration Profile to Body Frame through Quarternions

I have an acceleration profile which is in the North-East-Down coordinate system. The moving object in question is 6 DOF, however, and frequently approaches 90 degrees in roll, pitch, and yaw, making Euler angles a poor means for the transformation. I'm very inexperienced with quaternions and having a hard time making, if not figuring out if it's even possible to do this. I'd like to have a quaternion rotation matrix that changes my velocity profile from inertial to body frame horizontal and vertical accelerations if possible. I'll take anything that might help.

• I know a lot about quaternions and rotations with quaternions but I have no idea what you just said. (Don't worry, that's typical of quaternion questions.) If you have a rotation in mind and you know its axis and the angle it rotates around the axis, then finding the quaternion is easy. Do you know the axis and angle of rotation (at each point of time?) – rschwieb Nov 16 '16 at 15:36

I will assume that your local coordinate system corresponds to your global coordinate system when yaw, pitch and roll are zero. By that I mean that x = forward, y = right, z = down (SAE standard). I will also assume that yaw, pitch and roll are done with respect to local axes in that order in the right hand sense. By this I mean that first you yaw about Z (CW), then pitch about Y (Up) and then roll about X (right). You can then define a quaternion for each of these. Let $\psi =$ yaw angle, $\phi =$ =pitch angle, and $\theta =$ roll angle. Then: $$q_y = [\cos(\psi/2), (0,0,1)\sin(\psi/2)]$$ $$q_p = [\cos(\phi/2), (0,1,0)\sin(\phi/2)]$$ $$q_r = [\cos(\theta/2), (1,0,0)\sin(\theta/2)]$$

Then your composed rotation would be

$$q = q_y q_p q_r$$

in that order. You can then rotate a vector $a = [a_x, a_y, a_z]$ from the global (NED) to local frame (SAE) by using the inverse transformation

$$\bar{a} = q^*aq$$

using normal multiplication rules for quaternions. You can also work out a normal rotation matrix from $q$ if that is what you prefer. The equation is found in many places on the web like here.

I gave you just the highlights assuming that you have some familiarity with the algebra of quaternions.

• I am familiar with the basics of quaternion algebra, and so far this seems to be helping me get the numbers I expect! Thank you for the help and sorry for the long reply. – cellbycellwest Dec 5 '16 at 12:28