Evaluating inertial measurement units
D Sargent -November 01, 2011
Although the definition of an IMU differs slightly among vendors, for this article, I am defining an IMU as consisting of a triad angular rate sensor (gyroscope) and a triad linear acceleration sensor (accelerometer). The IMU provides three-dimensional sensor data to an external system to describe the IMU body’s spatial behavior and motion without an external reference. I am also assuming the IMU contains additional intelligence and integrated electronics to provide calibration, compensation, and digital processing; this is in contrast to an ISA (inertial sensor assembly), which consists only of a cluster of sensors with a fixed orientation relative to each other.
An IMU is a critical component of advanced inertial sensing subsystems such as AHRSs (attitude heading and reference systems) and INSs (inertial navigation systems), where the IMU sensor data is processed to obtain position, velocity, and attitude. Figure 1 shows a high-level block diagram of a typical IMU. The key components and functional blocks include:
• a three-axis orthogonal gyroscope and accelerometer to sense the angular velocity and linear specific force for six degrees of freedom;
• a precision temperature sensor used by the internal temperature compensation logic;
• an analog front end that filters and digitizes the sensor signal output for processing by the core logic;
• core logic, which includes digital signal filtering and sensor data enhancement through calibration, thermal compensation, and data formatting (unit conversion); and
• SPI or UART interface circuitry for open connectivity to a variety of host platforms.
Determining inertial sensor performance and calibration targets for a specific industrial application is a complex task. System-level performance may not co-relate easily to individual specification parameters, but comparing IMU specifications using unaided static error analysis to determine performance metrics is a good starting point. This selection process can help you determine if a calibrated solution is necessary, and it can also help you determine the level of quality of the IMU’s calibration IP.
You must analyze a few key IMU specifications when designing with discrete inertial sensors. When using fully calibrated IMUs, you must evaluate the effect they will have on system-level position, velocity, and attitude errors. This will help you determine an IMU’s cost/performance tradeoff and find an IMU that matches the system-level design goals.
Bias error, scale-factor error, noise, and bias stability—specifications that are commonly found in IMU data sheets—can have an impact when an IMU is operated in free-running inertial or orientation mode. Typically, you can compensate for these errors in an INS by using data from systems such as magnetometers, wheel encoders, other sensors, or a GNSS (global navigation satellite system). There may be times, however, when auxiliary sensor observations will be intermittent or unreliable.
To simplify my explanation of how these errors affect an IMU’s operation, I will ignore the effects of temperature variation and will assume that all errors occur at a nominal temperature (25°C). Keep in mind, though, that temperature can have an adverse effect on errors from scale factor and bias. If the product will be used in wide environmental conditions, you must select an IMU with high-quality temperature compensation to help minimize thermal problems.
Gyroscopes and accelerometers inside an IMU all exhibit some finite measured output, even under the absence of rotation or acceleration. This is called bias error, and it consists of two parts: short-term deterministic offset and long-term random drift. Here, I will focus on the short-term bias offset (for long-term bias error, see “Bias instability,” below).
• Accelerometer bias error. Uncorrected accelerometer bias is a significant contributor to position and velocity error in navigation systems and to pitch-or-roll angle error in attitude and orientation systems. Accelerometer bias offset is measured in milli-g’s (where g typically equals 9.80665 m/s2, although it varies slightly with location).
Short-term bias-offset error shifts the acceleration vector from its true direction. This shift not only affects linear acceleration, but also, and more importantly, causes an error when the accelerometer is used to track the gravity vector. Normally, the gravity vector is subtracted from the overall accelerometer output to determine the true linear acceleration of the IMU. But the residual error term from gravity detection will be integrated once producing velocity error (which increases proportionally with time), and twice producing position error (which increases proportionally with time2).
You can estimate system-level velocity and position errors from accelerometer bias with this formula (Figure 2):
velocity error = (accelerator bias offset in g’s) × (gravity in m/s2) × (time in s)
position error = 1/2 × (accelerator bias offset in g’s) × (gravity in m/s2) × (time in s)2
| Table 1. Accelerator bias offset.|
The accelerometer is commonly used for measuring static orientation in the horizontal plane; accelerometer bias error causes inaccuracies in measuring these pitch-or-roll angles, as you can calculate with this equation (Table 1):
pitch-or-roll error angle = asin(accelerator bias offset in g’s)
• Gyro bias error. Any gyro bias offset present on the IMU output will be seen as angle error by the INS or AHRS. The angle error will increase proportionally with time when the gyro’s output is mathematically integrated to produce an angle. Gyro bias offset is measured in dps (degrees per second).
The resulting angle error introduces misalignment of the IMU orientation, affecting the projection of the gravity vector and linear acceleration. This introduces velocity errors that increase proportionally with time2, and introduces a position error that increases proportionally with time3.
To estimate system-level velocity and position errors from gyro bias, you can use the folowing formula (Figure 3):
velocity error = 1/2 × (gyro bias in dps) × π/180 × (gravity in m/s2) × (time in s)2
position error = 1/6 × (gyro bias in dps) × π/180 × (gravity in m/s2) × (time in s)3
Scale factor or sensitivity is the ratio between the measured output and the change in sense input. In general, scale factor is the slope of a straight line fitted by a least-squares method on a plot of the sensor output over the full input range. Scale-factor error is the ratio of the output error (deviation from the fitted straight line slope) over the input and is typically expressed as a percentage or ppm (parts per million). In both accelerometer and gyro, the scale-factor error will usually not be as large a contributor to total error as bias error is, but you may still need to correct it.
• Accelerometer scale-factor error. The effect of accelerometer scale-factor error is similar to that of bias error, except that the error term increases as the input acceleration increases. Therefore, the scale-factor error effect is worse in conditions where the acceleration range is wide.
To estimate system-level velocity and position errors from accelerometer scale-factor error, use this formula (Figure 4):
velocity error = (accelerator scale-factor error) × (gravity in m/s2) × (time in s)
position error = 1/2 × (accelerator scale-factor error) × (gravity in m/s2) × (time in s)2
| Table 2. Accelerator scale-factor error.|
Accelerometer scale-factor error will also cause inaccuracies in calculating pitch-or-roll angles; you can calculate the error (Table 2) with this formula:
pitch-or-roll error angle = asin(accelerator scale-factor error)
• Gyro scale-factor error. Gyro scale-factor error contributes significant errors to the angle tracking of the IMU during dynamic motion. The scale-factor error term is worse under large angular velocities; for example, a 0.1% scale-factor error on a 90°/s angular velocity can cause a 0.09°/s error. The effects of the resulting scale-factor error term can be treated similar to gyro bias error.
In this analysis of gyro scale-factor error, I arbitrarily assumed an angular rate of 60°/s. Then, I estimated system-level velocity and position errors from gyro bias using this formula (Figure 5):
velocity error = 1/2 × (gyro scale-factor error in dps) × π/180 × (gravity in m/s2) × (time in s)2
position error = 1/6 × (gyro scale-factor error in dps) × π/180 × (gravity in m/s2) × (time in s)3
Noise is the unwanted signal generated from internal electronics that interferes with measurement of the desired signal. The noise level will determine the minimum sensor output that is distinguishable from the background noise of the sensor or noise floor. Rate-noise density is specified in rms milli-g/rt-Hz (accelerometer) and rms dps/rt-Hz (gyro) and is a common spec used to quantify sensor white noise output for a given sensor bandwidth.
To estimate sensor rms noise level, determine the desired sensor bandwidth using this formula:
Noise rms = noise density × √Bandwidth
Bandwidth = frequency - 3 db × KFILTER
KFILTER = 1.57 (1st order), 1.11 (2nd order), and 1. 05 (3rd order).
In general, velocity, position, or pitch-or-roll error from the accelerometer or gyro white noise will be smaller than the other described noise sources (such as bias or scale-factor error).
• Accelerometer noise. The accelerometer noise will negatively affect the minimum pitch-or-roll angle resolvable and introduce velocity and position error caused by misalignment of the gravity vector.
To estimate system-level velocity and position errors from accelerometer noise, first calculate the accelerometer noise from the rate-noise density and bandwidth, and then use this formula (Figure 6):
velocity error = (noiseRMS in g’s) × (gravity in m/s2) × (time in s)
position error = 1/2 × (noiseRMS in g’s) × (gravity in m/s2) × (time in s)2
|Table 3. Accelerator noise density.|
To calculate the pitch-or-roll angle error from accelerometer noise (Table 3), use the following formula:
pitch-or-roll error angle = asin(noiseRMS in g’s)
• Gyro noise. Gyro noise creates orientation angle errors for an INS or AHRS, which again negatively affect the projection of the gravity vector and results in velocity and position error.
To estimate system-level velocity and position errors from gyro noise, first calculate the gyro noise from the rate-noise density and bandwidth, and then use this formula (Figure 7):
velocity error = 1/2 × (noiseRMS in dps) × π/180 × (gravity in m/s2) × (time in s)2
position error = 1/6 × (noiseRMS in dps) × π/180 × (gravity in m/s2) × (time in s)3
Bias instability of the gyro or accelerometer is the random variation in the bias (due to 1/f noise) computed over a specified sample time and averaging time interval. The bias instability is expressed in degrees per hour for the gyro, and m/s2 or milli-g for the accelerometer.
This parameter provides the benchmark of the best that is achievable for a selected gyro or accelerometer in terms of bias variation for a fully modeled sensor without “aiding” from other sources. Lower bias instability will lead to lower orientation, position, and velocity errors from the IMU. Bias instability is obtained by plotting an Allan-variance chart for a stationary gyro or accelerometer. As the averaging time increases, the noise output decreases and slopes downward until it reaches a minimum point and begins to increase again and slope upward. The minimum point on the graph is the bias instability.
Figure 8 shows the root Allan-variance graph for the gyro and accelerometer. To determine the bias instability, find the lowest point on the graph, and read the corresponding value on the vertical axis. The value returned is ~4.5º/hr and 25 micro-g. The bias instability will vary slightly from sample to sample and typically is stated for one standard deviation. T&MW
Raymond Chow is an applications engineer for Epson Research and Development, Vancouver Design Center, providing technical support for Epson Electronics America and its line of IC sensing devices and sensing systems. Chow has experience in systems integration and circuit design of sensor, display, and imaging subsystems.