Inertial Navigation Notes

Page Contents

References

Pitch, Roll, Yaw, and Attitude

Pitch Roll and Yaw of a plane
Image from https://atadiat.com/en/e-towards-understanding-imu-frames-vpython-visualize-orientation

Roll: Rotation about the forward body axis. It describes tilting left or right.

Pitch: Rotation about the lateral body axis. It describes tilting up or down.

Yaw: Rotation about the vertical body axis. It describes heading or turning left or right.

Attitude: The orientation of the sensor body relative to a chosen reference frame. It describes how the body axes are rotated with respect to a navigation frame such as North East Down or Earth centred Earth fixed. For exampl, an aircraft is flying straight east, wings level, with its nose raised slightly. Its attitude is:

  • Roll = 0 degrees, no left or right tilt.
  • Pitch = 5 degrees nose up.
  • Yaw = 90 degrees, pointing east relative to north.

This single set of angles fully describes the aircraft orientation relative to the navigation frame.

Attitude can be represented by the vector [roll, pitch, yaw], but attitude itself is a three dimensional rotation, not inherently a vector. It is a rotation between coordinate frames.

Rotating Body Frame To Reference (Navigation) Frame

Rotating body frame to reference fame image

A 2D navigation example

A vehicle lets say, moving at a constant attitude.

2D Example

A gyro measures angular velocity, ω, so get get the angle of the base frame w.r.t to the navigation frame we integrate ω w.r.t. time:

θ(t)=t0tω(τ)dτ

Where τ is a dummy variable for integration (t used for the integration limits).

Once we have θ that will rotate the force from the body to reference frame we can do the rotation - well i think it is more of a projection of the body force vectors onto the nagivation frames axis:

Project body frame force vectors onto navigation frame E, or x, axis

So we get:

xi=|zb|sin(θ)+|xb|cos(θ)

And using similar reasoning:

zi=|xb|sin(θ)+|zb|cos(θ)

These forces measured by the IMU are accelleration. Integrate to get velocity and again to get distance.

Vxi(t)=t0txi(τ)dτ+V0=t0t|zb(τ)|sin(θ(τ))+|xb(τ)|cos(θ(τ))dτ+V0=[|zb(t)|cos(θ(t))+|xb(t)|sin(θ(t))+K1][|zb(t0)|cos(θ(t0))+|xb(t0)|sin(θ(t0))+K2]+V0=[|zb(t0)|cos(θ(t0))|zb(t)|cos(θ(t))]+[|xb(t)|sin(θ(t))|xb(t0)|sin(θ(t0))]+V0+K