High Quality Orientation Sensors

The overall quality of an orientation sensor can be determined by examining its performance in three critical areas.  For an orientation sensor to have good overall performance, careful attention needs to be placed towards each of these three categories.

VectorNav is committed to manufacturing high quality orientation sensors, which excel in each of the following three areas.

Sensor / Calibration / Kalman Filter

Sensor Selection

The construction of a high quality orientation sensor starts with well designed sensors.  Orientation sensors utilize accelerometers, magnetometers, and gyros all of which are 3D vector measurement based sensors.  This means that each sensor actually consist of three separate measurement devices; one in each coordinate direction.  By combining these measurements together, the sensor is able to measure both the magnitude and direction of the acceleration, magnetic field, and angular rate in 3D space.  For a sensor to measure the correct direction of a vector, its measurements must not only be accurate, but it also needs to be repeatable over time.  This is where performance factors such as noise, hysteresis, and bias drift come into play.

The sensors used on the VN-100 were carefully selected to provide the highest accuracy and repeatability possible, while still maintaining an extremely tight form factor and exceptionally low power consumption.

The actual sensors used on the VN-100 are listed below along with their corresponding datasheets.

Accelerometer

Manufacture: Analog Devices
Model: ADXL325
Datasheet: http://www.analog.com/static/imported-files/data_sheets/ADXL325.pdf

Magnetometer

Manufacture: Honeywell
Model: HMC6042 & HMC1041Z
Datasheet: http://www.magneticsensors.com/datasheets/HMC6042.pdf
Datasheet: http://www.magneticsensors.com/datasheets/hmc1041z.pdf

Angular Rate Gyros

Manufacture: Invensense
Model: IDG-500 & ISZ-500
Datasheet: http://www.invensense.com/mems/gyro/documents/PS-IDG-0500-00-06.pdf
Datasheet: http://www.invensense.com/mems/gyro/documents/PS-ISZ-0500

 

Sensor Calibration

Sensor calibration is a method of improving sensor performance by removing structural errors in the sensor outputs.  Calibration ensures that each of the three sensor axes are scaled correctly with respect to each other, while also ensuring that each measurement axis points in the right direction.  Since each vector measurement actually consist of three separate sensor measurements, it is extremely important that each of the 9 sensors are aligned accurately to the same coordinate frame.  In order to get good performance from an orientation sensor, individual sensor axes need to be aligned to better than 1/4th of a degree.  For the angular rate gyro, even higher accuracies are required, with desired axis alignments of better than 1/20th of a degree.  Maintaining accurate axis alignment is critical, especially for the gyro, since you are directly integrating the measured angular rates.  Imagine spinning your sensor at a rate of 300 degrees per second, which is not an uncommon rate for small devices.  If your sensor axis alignment perpendicular to the spin direction is off by only 1/10th of a degree, then after 5 seconds your attitude estimate will be in error by more than 2.5 degrees.

For large scale orientation sensors, such as those used on full-scale aircraft and satellites, each of the nine sensor axes can be manually adjusted to ensure that they point in the right direction.  When dealing with small MEMS based sensors however, relying on the accurate placement of the sensors doesn't make sense.  A typical MEMS based accelerometer or gyro has a size of only 3-5 mm in length.  When the MEMS sensor is soldered to a PCB board, variability in the amount of solder under each pad can be as high as 0.25 to 0.5 mm.  This variability on a 3 mm long part can lead to alignment errors as high as 10 degrees.

In short if you want to create a high accuracy orientation sensor using small MEMS sensors, you MUST re-calibrate the sensors after soldering them to the PCB.

Calibrating nine sensor axes so that they are aligned to within 1/20th of a degree is an expensive and time consuming task.  It requires access to sophisticated and expensive calibration equipment which in the past has made developing small low cost orientation sensors very difficult and time consuming.  See our article on sensor calibration to learn more about the sensor calibration process.

This leads us to one of the most important, yet easily overlooked advantages of the VN-100. 

When you purchase a VN-100 orientation sensor, you are purchasing a sensor that has been thoroughly calibrated to ensure that each of the nine sensor axes mathematically aligned to within 1/20th of a degree from a common reference frame, and the sensor outputs are scaled correctly, relative to each other, to better than 0.25%.

This high level of precision calibration ensures that the VN-100 provides you with the highest accuracy orientation estimates possible using the latest miniature MEMS inertial sensors.

 

Calibration Parameters and their Temperature Dependence

Each VN-100 sold is thoroughly calibrated using a linear sensor model to remove the effect of all first order structural sensor errors.

A factory calibration consist of accurately determining calibration parameters for the following sensor linear model terms.  Click on any of the links below to learn more about how each of the different types of calibration parameters, an how they ultimately affect the overall performance of an IMU or orientation sensor.

Calibration Parameters Measured during Factory Calibration

Accelerometer Bias

Accelerometer Scale Factor

Accelerometer Axis Misalignment

Gyroscope Bias

Gyroscope Scale Factor

Gyroscope Axis Misalignment

Gyroscope Sensitivity to Linear Acceleration

Magnetometer Bias

Magnetometer Scale Factor

Magnetometer Axis Misalignment

A single temperature calibration capable of capturing the above sensor parameters, estimates 57 individual calibration parameters which are then subsequently loaded onto the VN-100.  The onboard firmware then uses these calibration parameters to digitally remove these measured errors in the sensors.  By performing this precise linear calibration, the overall performance of the MEMS sensors can be improved by an order of magnitude compared to the performance you would typically see using un-calibrated consumer grade MEMS sensors.  This enables the use of low-cost miniature MEMS inertial sensors for applications where near-tactical performance levels are required.

 

VectorNav Calibration Report

Each VN-100 is individually calibrated and tested prior to leaving the factory to ensure that it operates within expected specifications.  After each individual sensor calibration is performed, the calculated calibration parameters are then loaded onto each sensor.  Next, each sensor undergoes a robotic driven motion profile, capable of measuring the actual errors in both the individual calibrated sensor outputs, and the final Kalman filtered orientation estimates.  The results of these test form the basis of a quality control document that we call the Calibration Report.  After each calibration our technicians review each Calibration Report to ensure that each sensor operates within the desired specifications.

 

Thermally Compensated VN-100

Each of the 57 calculated calibration parameters either represent a static bias, or the sensitivity of an individual sensor to a specific coordinate direction.  Since MEMS sensors rely upon measuring very small changes in resistance, capacitance, and inductance in the sensor substrate as a function of applied motion, their outputs will also be inherently influenced by changes in temperature.  Since the linear sensor model described above, with its 57 calibration parameters, is not a function of temperature,  the sensor will experience output errors which increase proportional to the temperature difference from room temperature.

Typically a sensor calibrated only at room temperature will experience 3-4 degrees error in pitch/roll and 6-7 degrees error in heading due to thermal effects.  It is possible to calibrate the VN-100 such that it maintains constant performance over the full operating temperature range.  To do this, we need to modify the linear calibration model so that each calibration coefficient can vary with temperature.  For our calibration model this expands the number of calibration coefficients from 57 to 230.  Instead of using a constant parameter for each of the 57 base calibration coefficients, instead a 3rd order polynomial that is a function of temperature is used, which leads to 57x4 calibration parameters. The additional two calibration parameters are used to calibrate the onboard temperature sensor.

Calculating the now 230 calibration parameters is a much more involved process, as it requires essentially calibrating the sensor multiple times at several independent temperatures.  As opposed to a single room temperature calibration, a thermal calibration must be performed inside of a environmental test chamber, increasing the time and complexity of the calibration.

For some applications the additional time required for a complete thermal calibration is well worth the additional expense.

In the first test only a linear calibration model is used.  This case is equivalent to the performance that you can expect from a normal VN-100 which is only calibrated at room temperature.

The second test shows the performance of the same sensor subjected to the exact same test using the improved 230 parameter 3rd order calibration model.  This case is equivalent to the performance that you can expect from a VN-100T sensor.

Since the VN-100 targets a such a wide range of potential applications, some of which reside completely indoors, we offer the normal VN-100 as a lower-cost option for these customers.  The normal VN-100 also provides a cost-effective option as a test and evaluation board, since both sensors share identical hardware and firmware, thus exhibiting identical performance at room temperature.

The VN-100T, on the other hand, seeks to achieve the highest level of performance, providing consentient and reliable operation across the entire temperature operating range of -40C to 80C.

 

Quaternion based Kalman Filter

After removing all of the structural errors in the sensor measurements, the only thing left standing between you and high quality orientation measurements is a sensor fusion algorithm. This is where the Kalman Filter comes into play.  Ironically, roughly determining the orientation of a sensor based on raw sensor measurements actually is not necessarily a complicated procedure. If you are not too concerned with overall accuracies, then with some generous use of trigonometry, you can easily estimate your attitude based upon two vector measurements. This is actually the approach taken by low to mid grade orientation sensor manufactures. Many MEMS sensor manufactures such as ST and Honeywell are starting to fuse 3-axis magnetometer together with 3-axis accelerometers to form a low-cost orientation sensor. These sensors will typically utilize this trig approach to determining attitude.

There are three main problems with this simple approach when high accuracy is required.  First of all the methods does not lend itself well to incorporating the addition of an angular rate sensor, or additional vector measurements.  The performance of the gyro has an enormous impact upon the overall quality of an orientation sensor.  As such it is important to develop an attitude algorithm that correctly incorporates a complete gyro model, which this method is unable to do in a mathematically robust manner.

The second problem isn't so apparent, and has to do with the fact that many of the resulting trigonometric equations do not mathematically behave well in certain orientations. These simpler orientation solutions typically rely on using a three parameter approach to attitude representation such as representing attitude with the angles yaw, pitch, and roll.  These angles provide a very intuitive means of estimating attitude, and lends well to formulating the necessary trigonometric equations to represent angular rotations.  The unfortunate effect of using an Euler angle representation for attitude is that when two of the three successive rotations co-align you end up loosing a degree of rotational freedom.  Also, in the time rate of change equations for the three angles, a cosine shows up in the denominator which will send certain calculated terms off towards infinity at certain angles. If you have ever used an orientation sensor where at certain orientations the behavior suddenly changes or locks up, you are experiencing what is known as gimbal lock. The term "gimbal lock" comes from an actual hardware problem that was experienced with old mechanical gyros where two of the three gimbals would align in such a way that they effectively created a direction upon which a physical rotation of the device is no longer possible.  Even though this is fundamentally a hardware problem, it is exactly the same problem that occurs in the math when you calculate orientation using only three principal angles.  When two of the gimbals approach alignment, then even very small rotations in certain directions start to require unrealistically large angular deflections at angular rates which approach infinity. Interestingly during the Apollo 11 Moon mission, the engineers when confronted with the gyro lock problem,  found that they could get around the problem in one of two ways.  The preferred solution was to add a 4th gimbal, thus eliminating the possibility that two aligned gyros would result in a lost degree of freedom.  Since weight was a premium on these missions the engineers decided instead to go with three gimbal solution, and to manually rotate the gimbals when the alignment reached higher than 85 degrees.

After the Lunar Module landed, Michael Collins aboard the Command Module joked "How about sending me a fourth gimbal for Christmas?"

A quaternion based attitude solution is the mathematical equivalent of Michael Collins Christmas wish for a forth gimbal.  The quaternion in its simplest form is a 4 term representation for the orientation of an object.  The forth term provides a means of constructing a robust mathematical framework to represent angular rotations, that is completely independent of the "gimbal lock" problem inherent with many orientation sensors.

The attitude determination algorithm used on the VN-100 was designed from the ground up to fully utilize the advantages provided by the quaternion based attitude representation.  The result is a completely smooth attitude solution that is free from any "gimbal lock".  Under no orientation will the math start to behave incorrectly.  This provides the framework for a extremely predictable and robust attitude sensor.

With the combination of high quality sensors, a rock solid thermally compensated 3rd order calibration, and a robust "gimbal-lock" free quaternion based non-linear Extended Kalman filter solution, the VN-100 represents a state-of-the-art orientation sensor squeezed into an extremely small package.

When your solution requires the best possible performance using the smallest reliable solid-state MEMS inertial sensors on the market, you will be hard pressed to find a better solution than that offered by the VectorNav VN-100T.