4.3.2 Bias

Another source of error is sensor bias. This constant offset produced by the sensor is in some cases as large as about 25% of the full signal range measured during normal operation. The amount of bias varies from sensor to sensor, but is very repeatable from test to test for an individual sensor. Bias in the accelerometer triad is relatively small, and has thus far been ignored. The angular rate and magnetic field sensors (the cheaper of the three) show significant bias. While in the short term, bias may be assumed to be constant, in reality it slowly changes during the duration of the test, although most of the change occurs in the few minutes after startup. For example, after power has been applied to the magnetic field sensor, the magnetic field vector reported by the sensor slowly shifts and exponentially approaches a certain direction and magnitude (assuming that the vehicle is stationary). If the vehicle is powered down, and immediately powered back up, the exponential change does not reset, but instead continues on where it left off. It has been assumed that this bias is due to temperature.
A bias in the sensed acceleration will cause errors in the estimation of the vehicle tilt. Bias in the magnetic field can cause errors in estimation of vehicle heading. Bias in the vehicle angular rate sensor causes the vehicle to perceive that it is constantly rotating. A PD controller will this imaginary error in the derivative term, and in practice has been observed to produce up to about a 1°-2° steady state error. Due to these detrimental effects, it is good to determine and eliminate the sensor bias.
The angular rate bias may be estimated in real time by putting the vehicle in attitude hold, and activating a simple estimation algorithm from the user interface (Section 3.4). This estimator simply averages all of the angular rate values over the entire time that the estimator has been active, and upon deactivation updates the bias with the result


The magnetometer bias is fairly large and repeatable, so its approximate value been experimentally measured and hardcoded in the system software. The magnetometer bias may be updated real time by activating the magnetometer bias estimation algorithm from the user interface (Section 3.4). This algorithm uses the fact that the magnetic field vector is of constant magnitude. This fact indicates that the tip of the magnetic field vector should always lie on the surface of a sphere of radius centered at the origin (Figure 4-5).

Figure 4-5 Effect of bias on magnetic field vector

If the value reported by the magnetometer does not lie on the surface of this sphere and noise is neglected, then the error must be due to bias, or a perturbation in the magnetic environment. Testing has shown that magnetic disturbances within the tank at the SSL are relatively small. This is due to the fact that ferrous metals are not typically used in the underwater mockups used at the SSL. Once the error in the reported magnetic field has been identified, the algorithm makes the minimum change to the estimated bias vector necessary to move the tip of the reported magnetic field vector to the surface of the sphere. If we let represent the magnetic field reported by the magnetometer, then


where represents the actual magnetic field, and represents the actual bias vector.

Figure 4-6 Minimum bias vector change

If is the estimated magnetometer bias, we want to find a new bias vector such that there is the minimum change between and , and . First form a unit vector from the tip of the estimate of the bias vector toward the center of the sphere describing the possible solutions for the bias vector that satisfy . The center of this sphere is located at the tip of (Figure 4-6). This is given by



The new bias vector is back from the tip of a distance of in the opposite direction of this unit vector. Therefore, the new bias estimate is



So to estimate the bias, the algorithm need only know the magnitude of the magnetic field vector, the current reading from the magnetometer, and an initial bias estimate. As the vehicle rotates, the estimate is continuously refined.