Calibration
Calibration
Sensors
Magnetometer
Accelerometer
Gyroscope
Calibration
Intro
Purpose
Sensor Model
Accelerometer
Magnetometer
Gyroscope
Thermal
Sensor Math
Attitude
Euler Angles
Quaternion
Coordinate Frames
Transformations
Using the VN-100
Tuning performance
Embedded Library Example
Products
Support
Company
Purchase
that are typically found on inertial sensor packages, consisting of accelerometers, gyroscopes, and magnetometers. For more
detailed information about each of these sensors take a look at our individual sensor articles.
Typical Sensor Model
For each sensor we will use a linear sensor model, which is typical for low cost MEMS sensors. This linear model consists of the
following calibration parameters.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Different tests are utilized to calculate each of the above linear calibration parameters. IEEE-STD-1293-1998 offers a
comprehensive sensor model approach for describing the error behaviors of a typical MEMS accelerometer. It also provides a
detailed test procedure for determining each of these calibration parameters along with the recommended requirement
calibration hardware.
Sensor Model Equations
Each sensor is calibrated using the linear sensor model shown below.
Temperature calibration
Each of the above calibration parameters will vary with changes in temperature. To account for this all VectorNav sensors utilize
a third order algebraic polynomial for each calibration coefficient as a function of temperature. This is consistent with the
recommended calibration procedure outlined in IEEE-STD-1293-1998. Each calibration coefficient can be calculated as follows:
Accelerometer Calibration
The accelerometer is calibrated using an industry standard 6-point tumble test. Details of this tests along with the necessarily
equations can be found in Ref 1. Essentially this consists of aligning each sensor axis both in the direction of and opposite to
the direction of known gravity. This is typically accomplished using a device known as dividing-head. This precision device
provides a means to rotate a attachment plane in extremely precise increments.
As shown above the system level calibration reduces the bias error by nearly two orders of magnitude. The middle column titled
"Pitch/Roll Error" shows the contribution the quoted accelerometer bias has on the pitch/roll angle estimate. You can see that
over 8 degrees of error is possible using automotive grade MEMS accelerometers without performing a bias calibration. The
two-point tumble test is all that is required to capture the accelerometer bias. If all you need is the sensor bias then you can
align the sensor axis with the horizontal level plane and capture 50-200 samples. The average of these samples is the sensor
axis bias. Capturing scale factor and axis misalignment require a 4-point or 6-point tumble test respectfully.
Accelerometer bias typically will vary with temperature and needs to be compensated for if you want to get good performance
beyond room temperature.
Keep in mind that performing a complete thermal calibration can be a very expensive undertaking. Since the 6-point tumble test
has to be performed at multiple temperatures, a thermal calibration can require several hours to perform. If a liquid nitrogen
thermal chamber is used, you will need to factor in the cost of the expendable gas into your cost equations. Liquid nitrogen is
typically cheaper than LCO2, but it will still run you $100-$150 per tank to refill. A bottle will typically provide 6-12 hours of cold
testing.
Accelerometer Scale Factor
The accelerometer scale factor captures the sensors sensitivity to the intended acceleration excitation axis. For MEMS sensors
typically a 4-point or 6-point tumble test is used to determine the these parameters. The standard gravity constant of 9.80665
m/s2 is typically used to scale the 1g accelerometer measurements into standard engineering units.
As shown in the above table the accelerometer scale factor doesn't contribute as much to the total error as the bias, however it
will likely need to be calibrated to provide adequate performance of the IMU as for either position/velocity or orientation
estimates. Up to 3 degrees error in pitch and roll is possible due to scale factor errors only with an un-calibrated automotive
grade MEMS accelerometer. The orientation that would be most affected by scale factor would be one where the measured
gravity vector sits in between two of the sensor axes. For instance if the pitch was equal to -45, then the measured gravity
vector would be in the XZ sensor plane measured 45 down from the X-axis. In this orientation either a scale factor error in the Xaxis or Z-axis accelerometer will result in an orientation error in the measured gravity vector. As with the bias errors this will
strongly affect the performance of your orientation solution accuracy.
Accelerometer Axis Misalignment
Ideally an IMU should consist of a three axis accelerometer where each axis is exactly 90, or perpendicular to each of the other
sensor axis. In this case each axis is linearly independent of the output of the other axes. A pure acceleration in the X-axis
should not influence the output of the Y or Z-axis. In the real-world sensors are not perfectly aligned, and this misalignment
cases the output of each sensor axis to be a slight function of the output of the other two axes. Sensor misalignment can be
caused by inaccuracies inherent to MEMS sensor design and also misalignment during the placement of the MEMS sensor on
the circuit board.
Typically misalignments for MEMS sensors will be on the order of 0.5 to 1 degree. As you might suspect, a 1 degree
misalignment in a sensor axis can translate directly into a 1 degree pitch and roll error. The misalignment can also result in
incorrectly integrated accelerations from the accelerometer. Axis misalignment can be calculated using a 6-point tumble test.
Additional Accelerometer Calibration and Testing
Addition to the linear calibration outlined above, accelerometers can also be tested and calibrated under vibration and large
accelerations using centrifuges. A centrifuge provides a means of calibrated out non-linearity's that exist beyond the +- 1g
acceleration range. Under certain circumstances accelerometer bias offsets can be calibrated for if it is known that the sensor
will be subjected to intense vibration during use.
Gyroscope Calibration
The gyros are calibrated using a precision device known as a rate table. A rate table has a circular platform connected to a
precision brushless electric motor that is combined with a control loop capable of providing very precise angular rate outputs. A
rate table will have extremely tight design tolerances which keep the rotational axis precisely perpendicular to the sensor platform
plane. The rate table is also capable of very precise angular positioning which allow for dynamic testing of the accelerometer
and IMU package. There are several providers of quality rate tables on the market including but not limited to the following:
Rate Table Manufactures
Ideal Aerosmith
Acutronic
iMAR
www.ideal-aerosmith.com
www.acutronic.com
www.imar-navigation.de/englishside/dat_engl/dat_blt9.htm
As you can see without a gyro scale factor calibration, the MEMS gyro could be up to 22 degrees off after integrating this
motion. After performing a thorough scale factor calibration, the errors can be reduced by 100X or two orders of magnitude.
Gyro scale factor is calibrated by rotating the gyro around each sensor axis at known angular rates. Linear least squares is then
used to calculate the best fit linear scale factor to fit this data. A routine almost identical to the 4-point or 6-point tumble test can
be performed on the rate table to calibrate both the accelerometer and gyro simultaneously.
Gyroscope Misalignment
Gyro misalignment accounts for the fact that each gyro axis may not be exactly perpendicular with the other gyro axes. As such
each axis will have a slight sensitivity to rotations about the other two axes. To calibrate out the misalignments on the gyro,
angular rates must be recorded in a positive and negative direction around each axes and fed into a linear least squares
algorithm. For systems with very precise gyros, a second order model can be used to re-capture some of the inherent nonlinearity in the gyro sensitivity. For normal MEMS gyros the 12 linear parameters will have a much stronger affect than the nonlinearity.
To provide an example of how the gyro axis misalignment can result in orientation errors, consider the case given in the previous
example where we rotate 360 degrees around the Z-axis. Since the X-axis and Y-axis outputs will be sensitive to Z-axis rotations,
if left uncorrected the X and Y axis gyros will incorrectly measure non-zero rotation rates. This upon integration will lead to errors
in the calculated orientation angles from these incorrectly measured X and Y rotations.
The above table shows that if left un-calibrated a automotive grade IMU could see as much as 3.6 degrees error in orientation
for this simple maneuver. After performing a misalignment calibration, the estimate for the gyro axis alignment can be improved
10X, or by an order of magnitude. More precise calibrations are possible by assuming a non-linear model, although this will
significantly increase the number of overall calibration parameters.
Gyroscope Sensitivity to Linear Acceleration
The output of MEMs gyros do exhibit some sensitivity to linear accelerations. This interdependence is very small and for most
application that do not undergo large static accelerations larger than gravity for long periods of time, this interdependence can
usually safely be ignored. For the sake of completeness VectorNav does provide the gyro sensitivity to linear acceleration
calibration parameters as part of our gyro sensor model. During factory calibration we do subject the gyros to varying linear
accelerations and estimate these calibration parameters using least-squares estimation. The gyro model includes the sensitivity
to linear accelerations as a full 3x3 matrix located next to the bias terms.
Magnetometer Calibration
Magnetometers are used to construct an orientation sensor known as an AHRS (Attitude Heading Reference System). To
calibrate accurately a magnetometer a method is required of providing the sensor with known magnetic inputs for each sensor
axis. Typically one of two methods is used to calibrate magnetometers. The first method involves the use of Helmholtz coils to
produce a magnetic field in a known direction. Since the sensor will also be influenced by the earth's magnetic field, typically a
3-axis Helmholtz coil is used to produce an arbitrary magnetic field in any desired direction.
The second method of magnetometer calibration known as the swing method, consists of rotating the sensor around a known
axis and capturing measurements at precise known heading angles. While this method may seem simpler and more cost
effective than an expensive Helmholtz coil system, this method requires very tight control over magnetic disturbances due to
surrounding magnetic objects. Any nearby objects which perturb the earth's magnetic field such as the electric motor in rotary
stages or the parts inside the thermal chamber will create permanent errors in the magnetometer calibration process.
Developing a magnetically clean calibration station can become a very daunting task and may require as much capital
investment in custom rigging as would be spent on a closed-loop Helmholtz coil.
VectorNav utilizes both Helmholtz coils and a proprietary calibration algorithm along with a highly custom calibration stand to
calibrate the magnetometer for scale factor, bias, and axis misalignment. Helmholtz coils are used to study the dynamic
response of time-varying magnetic disturbances on the filter performance.
Magnetometer Bias
The magnetometer bias has an enormous impact upon the orientation accuracy performance of an AHRS. Small low cost AHRS
sensors typically use AMR (Anisotropic Magneto-Resistive) sensors to measure both magnetic field strength and direction. This
type of sensor measures changes in resistance of the sensor element due to magnetic fields using a Wheatstone bridge. Due to
the extremely small changes in resistance caused by the measured magnetic field, the resulting change in bridge voltage
corresponds to +- 1.5mV over all possible rotations. Typically this signal is run through an op-amp to provide ~225 V/V signal
amplification so that 14-16 bit ADC's can be used instead of expensive 24-bit ADCs. Since the actual voltage deflection is so
small, it is entirely possible that the error in the magnetometer bias could be larger than the anticipated scale factor deflection of
the magnetometer over the full orientation range. If this happens it will cause the magnetometer to not even work correctly and
will lead to enormous non-linearity's in the outputs. In this case there will be orientations that are not even reachable due to the
incorrectly calibrated magnetometer. This case corresponds to the 3D sensor bias existing outside the measurement sphere.
For this reason is is absolutely imperative that the magnetometer bias is calibrated prior to use as an AHRS. Magnetometer
sensors provided by Honeywell utilize a Set/Reset function that allows for dynamic reversal of the sensor sensitivity axis, thus
providing a real-time means of nulling out the magnetometer bias. If this procedure is properly used then it will eliminate the
need to calibrate the magnetometer bias. It will also drastically reduce the errors due magnetometer bias change with
temperature. All VectorNav sensors utilize this Set/Reset function provided by Honeywell magnetic sensors.
The above table was constructed using actual calibration data from the VN-100T during thermal calibration. The mean and max
errors represent both the mean and max errors observed on a batch of 16 VN-100T sensors. If the units were to have had only
room-temperature calibration parameters loaded instead of thermally compensated parameters then on average they would
have experienced 2 degrees heading error due to magnetometer bias shift over the temperature range. This small error is
primarily due to the use of the Set/Reset provided by Honeywell sensors. If the Set/Reset was not utilized, then the average
heading error would have likely been worse than 30 degrees. The maximum error recorded in the batch of 16 sensors was 5.6
degrees at a temperature of -40C.
Magnetometer Scale Factor
The magnetometer scale factor accounts for the sensitivity of the magnetometer sensor axis to varying magnetic fields in that
same axis. In the simplest sense it can be calibrated using a procedure similar to the 4-point or 6-point tumble test described in
the accelerometer calibration section. This tumble method however is difficult to perform in a thermal chamber, due to the
requirement for a homogeneous magnetic field.
As shown in the above table, scale factor errors in the magnetometer can have considerable effects on the orientation
accuracies for an AHRS. The data for the table was constructed considering a device oriented with a heading angle of 45 deg.
In this orientation either a scale factor error in the X or Y axis will cause the measured magnetic field vector direction to shift in
one direction. Worst case would correspond to a positive scale factor error in the X-axis and a negative scale factor error in the
Y-axis. Scale factor errors that contribute equally to all axes cause errors in the measured magnitude of the magnetic field,
however they do not cause errors in the measured direction. For this reason much of the scale factor variation with temperature
which occurs equally to all three sensor axes will not affect the performance of an AHRS since it only uses the measured
direction of the magnetic field and not its length to calculate orientation. Due to the high uncertainty in the scale factor errors for
consumer grade magnetic sensors, performing a magnetometer scale factor calibration can reduce the uncertainty by two orders
of magnitude, drastically reducing the resulting heading errors.
Magnetometer Scale Factor Temperature Sensitivity
The scale factor for the magnetometer is strongly a function of temperature. As mentioned previously since temperature
variations that are in common between the three axes do not affect the vector's measured direction, much of this temperature
dependence is avoided to a large extent. Each axis will have different temperature dependencies, and these will lead to errors in
the calculated heading angle over temperature.
These scale factor temperature dependent errors can only be removed by performing a multiple magnetic calibrations at several
different temperatures.
The VectorNav magnetometers are fully calibrated at four temperatures, -40C, 0C, 40C, and 80C inside a custom environment
test chamber.
Magnetometer Misalignment
The misalignment parameters for the magnetometer account for the sensitivity of each axis to magnetic inputs in the other two
sensor axis directions. The Honeywell AMR magnetic sensors provide exceptionally low cross-axis alignment errors, thus if you
use a 3-axis magnetometer package such as their HMC1043 sensor, you might be able to get by without performing a axis
misalignment calibration. If you use two separate sensors to measure the 3D magnetic field as done on the VN-100 with the
HMC6042 and the HMC1041Z, you can get package-package misalignment which could be as high as several degrees and will
definitely need to be compensated for. The HMC1041Z is very susceptible to installation axis alignment errors. While the
HMC1041Z is an excellent magnetic sensor, its use necessitates a magnetometer axis alignment calibration.
References
1. ) IEEE-STD-1293-1998
http://standards.ieee.org/reading/ieee/std_public/new_desc/aeroelect/1293-1998.html
2.) Ideal-Aerosmith
http://www.ideal-aerosmith.com
3.) Acutronic
http://www.acutronic.com/
4.) Billingsley Aerospace & Defense
http://www.magnetometer.com/