Inertial Navigation
   IMU and INS
   Your Application
   Unaided Position Estimate
Relative Attitude Determination

Orientation Sensors



   Sensor Model

Using the VN-100
   Embedded Library Example


A gyroscope is a type of sensor that measures angular rate.

Gyro Sensor Model

A sensor model is used to mathematically correct for errors in scale factor, misalignment, and bias. The gyros used in VectorNav inertial sensors unless otherwise stated use a linear sensor model.

gyro sensor model

This written out as algebraic equations this gives

gyro sensor model
Temperature calibration

To above calibration parameters will vary with changing temperature. To account for this all VectorNav sensors utilize a third order algebraic polynomial for each calibration coefficient as a function of temperature. Each calibration coefficient can be calculated as follows:

temperature calibration
MEMS Gyro Error Characteristics

Gyros have several different sources of error, each with their own unique characteristics. It is important to understand how each of these sources of error contribute to the overall orientation accuracy.

To above calibration parameters will vary with changing temperature. To account for this all VectorNav sensors utilize a third order algebraic polynomial for each calibration coefficient as a function of temperature. Each calibration coefficient can be calculated as follows:

temperature calibration
Constant Bias

The bias of a rate gyro is the average output when the device is sitting still. Since the output of a gyro is integrated to find the orientation angle, constant bias errors grow linearly with time. You can find the constant bias error of a gyro by taking the average of the output over a long period of time while the device is not rotating. Once you know the constant bias you can subtract it from subsequent measurements to eliminate this form of error.

White Noise / Angle Random Walk

MEMS gyros will exhibit very high frequency noise that is caused by thermo-mechanical events. This type of noise shows up in a form known as "white noise". Simply put, white noise is a random amount that is added to the signal that has an average amount equal to sigma and with a long term average equal to zero. Mathematically this is stated as a zero mean process with a standard deviation equal to sigma.

White Noise Effect on Integrated Orientation

When a white noise error is integrated over time the effect it has on the integrated result is equal to:

white noise angle random walk

If we want to look at how this white noise will affect measurements over a certain period of time then we typically look this value measured at 1 second.

white noise angle random walk

Gyro manufactures call this parameter the "Angle Random Walk". The reason it is evaluated at 1 is so that we can multiply this value by a given time (t) to get the equivalent 1 sigma orientation error caused by the gyro white noise. For example let's say we are interested in finding out what the contribution to the orientation error will be from the gyro white noise over a period of 100s. With t=100s, we then multiply the ARW given for particular gyro by sqrt(100)=10. If the ARW was 0.02 deg/sqrt(sec) then the contribution to orientation error from the white noise over a period of 100 seconds would be 0.02x10=0.2 deg.

** Key Point **

To find error in orientation due to gyro white noise multiply ARW by the square root of the integration time (t).

Error = ARW *sqrt( t)

Bias Stability

The bias of a MEMS gyro will wander or walk over time due to flicker noise in the electronics and other effects. The bias fluctuations due to flicker are usually modeled as random walk.

A bias stability measurement tells you how stable the bias of a gyro is over a certain specified period of time. The value given in gyro datasheets is typically given in units of deg/hr or deg/s for low end gyros.

How the Bias Stability and Angular Random Walk is calculated

The bias stability is calculated as the minimum average change in consecutive gyro measurements when analyzed over varying sample times. To calculate this a plot known as a Allan Variance plot is constructed from the gyro raw measurements. The Allan Variance is a function of sampling time and can be calculated as follows:

  1. Take a long sequence of data and divide it into bins equal to the sampling time period. For instance if the sampling time period was 2 seconds and we had 3600 seconds worth of data then we would divide all the data up into 1800 bins. Bins should be created only if you can get at least nine measurements in it. Any fewer will not have any statistical basis.
  2. The Allan Variance is then given by
bias stability and angular random

The Allan Deviation is equal to the square root of the Allan Variance, thus

bias stability and angular random

The Allan Variance is computed for many different sampling times ranging from 0.1 to somewhere above 1000. The calculated Allan Deviation is then plotted to give a plot that looks like the following.

stability and angular random walk graph

In the above plot the minimum Allan Deviation is ~0.01 deg/s and occurs at around 100s sampling time. For this gyro the bias stability would be stated as equal to 0.01 deg/s or 36 deg/hr. To convert deg/s to deg/hr simply multiply by 3600.

The Angle Random Walk can also be determine from a Allan Variance Plot by getting the value at a sampling time of 1s. For the above graph the Allan Deviation at 1s is equal to ~0.075 deg/s. We then say that the gyro has a bias angle random walk of 0.075 deg/s/sqrt(s) or 4.6 deg/s/sqrt(hr). To convert from deg/s/sqrt(s) to deg/s/sqrt(hr) you simply multiply the value by 60.

How to collect data for a Allan Variance Plot

The amount of data that you need to collect to perform an Allan variance plot is dependent upon where the likely minimum of the gyro bias will show up in terms of sampling rate. For MEMS gyros typically the minimum will occur at sampling times of less than 1000s. To capture at least 9 measurements with 1000s maximum bin size, we will need at least 9000 seconds of data. Typically the data is captured at 50-100Hz. This means that you will need at least 2.5 hr of data. Normally data is captured for 12hr at constant temperature. To maintain a constant temperature you will need to perform this test in a environmentally controlled test chamber to get optimal results.

Comparing Gyros and Inertial Measurement Units using the Gyro Bias Stability

The gyro bias stability is a measure of the "goodness" of a gyro. In general the lower the bias stability the lower the errors will be when integrating the gyro output over time. A gyro with lower bias stability will lead to lower errors in position estimates for an inertial measurement unit.