White Paper Heuristic Drift Reduction for Gyroscopes in Vehicle Tracking Applications by Johann Borenstein Last revised: 12/6/27 ABSTRACT The present invention pertains to the reduction of measurement errors in gyroscopes used for tracking, recording, or monitoring the position of vehicles or walking persons. The role of gyroscopes (or gyros in short) in these applications is to augment GPS when GPS reception is unavailable. Specifically, a gyro measures rate of rotation, from which the heading of the vehicle or changes in their attitude (i.e., yaw, pitch, and roll), can be computed. Such tracking systems may use an individual single-axis gyro, or more commonly a three-axes gyro that is part of a socalled Inertial Measurement Unit (IMU). A well known problem with the use of gyroscopes is that they suffer from drift, a well known phenomenon that results in the unbounded growth of errors over time. It is this ill-effect of drift that renders low-cost gyros almost entirely useless in applications that require good accuracy for more than, say, 2-5 minutes. The present invention provides a heuristic method for estimating the undesirable drift component in the gyros output and eliminating that component. The method, called Heuristic Drift Reduction (HDR), is effective only in tracking, recording, or monitoring (collectively referred to as tracking ) applications. The HDR method is not useful in applications where the gyro is part of a control loop for actually steering the vehicle. This restriction precludes the use of HDR in some robotics applications, but makes the method attractive in connection with manned vehicles as well as with some specific unmanned vehicle applications. The potential benefits of HDR is substantial. In principle and under favorable conditions, HDR can remove 1% of the DC-component of gyro drift, leaving only a small heading error, regardless of the duration of travel. This feature is particularly desirable in connection with lowcost/high-drift gyros. Under less favorable conditions, the heuristic drift reduction method does not entirely eliminate drift, but it reduces the drift rate. The result is a substantial extension of the amount of time, during which the system provides reasonably accurate heading data beyond the 2-5 minutes quoted above. Under most conditions the HDR system introduces small errors, while reducing large drift errors. Up to a certain degree, the effectiveness of the drift remediation depends on the amount of drift associated with the gyro. In low-drift gyros, such as fiberoptic gyros (FOGs), the errors introduced by the HDR system will be larger than the drift of the gyro, making HDR unfeasible for FOGs. However, for high drift gyros the HDR-induced errors are negligible. For example, for a gyro with a drift rate of ~1.3 /min, HDR reduces errors about 5-fold. For gyros with drift rates of ~15 /min, HDR reduces drift-induced errors by one to two orders of magnitude. 1
7 EXPERIMENTAL RESULTS WITH THE REAL, PHYSICAL GYRO The proposed HDR system lends itself well to tracking the heading angle of vehicles driven by human drivers, such as automobiles, trucks, or even remotely controlled unmanned vehicles. The HDR system would work well with autonomous unmanned ground vehicles only if the HDR s gyro is independent of the vehicle s heading control system. 7.1 Introduction to the Experimental Results In order to evaluate the performance of the HDR system in automobiles, we installed a Memsense nimu in a small sports utility vehicle (SUV), a Subaru Forester, and collected the raw output of our Memsense nimu s Z-axis gyro. For the purpose of the experiments described here, we used only the data from the Z-axis gyro and disregarded data from all other sensors in the nimu. Some key specifications for the nimu are listed in Table II. We performed experiments in three different sets of driving environments: Table II: Key specifications for the Memsense nimu Weight (gram) 15 Size (mm) 45x23x13 Bandwidth (Hz) 5 Specs for the gyros in the nimu Range (deg/sec) ±1,2 Angle Random Walk (deg/rt-hr) 1. City This drive took 24 minutes. It started on the north-side of Ann Arbor, Michigan and ended on the south side of the city. The drive led through the downtown area. 2. Country This drive took also 24 minutes, mostly on paved roads outside of city limits. 3. Highway This drive took 5 minutes. The drive was exclusively on highways between Ann Arbor and Detroit, Michigan, USA. In each of these drives a consumer-grade GPS receiver logged GPS data, from which we computed momentary heading. This served as ground truth against which gyro-derived heading was compared. Since our efforts aim only at improving the performance of gyros, we made no attempt at logging odometry data from the wheels of the test vehicle. Since without odometry data one cannot plot the trajectory of the vehicle, we only present plots of gyro-derived heading, but not of gyro and odometry-derived position (for overview purposes only, we provide a plot of the trajectory derived from GPS data). In each heading plot, we show three lines: 1. GPS-derived heading. This data serves as ground truth. 2. Gyro-derived heading without the HDR algorithm. 3. Gyro-derived heading with the HDR algorithm. Prior to each drive, we sampled the Z-axis gyro for 2 seconds while standing still, in order to compute the static bias drift e. e was then subtracted from all gyro data, regardless of whether HDR was used or not. For each of the three environments (city, country, and highway) we provide one overview map and three plots: 4.4 Bias drift (deg/hr) 8 19
Map: Shows trajectory of the drive, based on GPS data. Plot 1: Shows heading versus time for (1) GPS-derived ground truth, (2) gyro-derived heading without HDR, and (3) gyro-derived heading with HDR. Heading is measured in degrees and matched to a Cartesian coordinate system. Plot 2: Fake drift added to the real gyro data, to emulate high-drift gyros. Plot 3: Same as Plot 1 but this time for the real gyro data plus the fake drift data. 7.1.1 Experiments with fake drift In reality we drove through each of the environments only once and we have therefore only one single data set for each drive. Moreover, any data from these drives is specific to the particular IMU that we used. This data set is the one shown in Plot 1 for each environment. In order to assess the applicability of the HDR system to a broader range of gyros, we added in postprocessing artificial (i.e., fake ) drift to the real data from the real nimu s Z-axis gyro. Since the driving was done for real, all the detractors for the HDR method are real, regardless of whether the drift is real or fake. We therefore believe that adding fake drift is a reasonable approach to emulating the data expected from higher-drift gyros on the same drive. The added drift was always of the form: D i+1 = D i-1 + N r,i A r (x) Where D i Fake drift to be added to the ith real gyro sample, in deg/sec. D i-1 Fake drift that was added to the previous gyro sample, in deg/sec. N r,i Random number between -.5 and.5, generated at each sampling interval. T Sampling period (T = 1 second in all experiments, with and without fake drift). A r Amplitude of random drift component. A r =.1 deg/sec in all three environments. We kept the parameter A r the same across all three environments, thereby bounding the amplitude of the fake drift. With the random number generator, infinitely many significantly different fake drift profiles can be created with the empiric formula of Eq. x. For the purpose of documenting the results with fake drift, we picked one random drift profile and plotted it in Plot 2 for each environment. Plot 3 for each environment is identical to Plot 1, but it reflects the results obtained after adding the fake drift of Plot 2. Since infinitely many fake drift profiles can be created, we took care to chose for Plot 2 drift profiles that resulted neither in especially good nor especially bad results. That is to say, the results presented here are close to the average performance of the HDR algorithm across a large number of drift profiles. 7.1.2 Identical parameter sets Before presenting the plots for each environment, we should emphasize that all three tunable HDR parameters, namely, ε c, ε c2, and the threshold, were kept the same across all three environments in all experiments without fake drift. Then, for the experiments with fake drift (which meant to emulate a different gyro, altogether), we picked a second set of ε c, ε c2, and the 2
threshold. That second set of parameters was also and kept the same across all three environments. Start 7.2 Experiment 1: City Drive Figure 16 shows a partial map of Ann Arbor, and the trajectory of the City Drive, as recorded by the GPS unit. The drive started on the northern side of Ann Arbor, passed through downtown, and ended just south of city limits. The speed was generally slow, as typical for city driving, and there were many stops at intersections. Since our purpose was to evaluate the HDR method, we made no attempt at recalculating the static bias drift whenever the car was stopped, even though doing so would provide a reasonable and effective performance boost. Figure 17, Figure 18, and Figure 19 represent Plots 1, 2, and 3, respectively, as explained in Section 7.1. Stop Scale: 2 km - 1.24 mi Figure 16: Trajectory of the City Drive, based on GPS data. 33 3 27 24 21 18 15 12 9 Absolute Corrected Heading 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 Figure 17: Plot of Heading derived from GPS (ground truth), heading computed without HDR, and heading with HDR 21
Drift [deg/sec] 2. 1.8 1.6 1.4 1.2 1..8.6.4.2. -.2 -.4 -.6 -.8-1. -1.2-1.4-1.6-1.8-2. I Fake drift 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 Figure 18: Same experimental data as in Figure 17 (City Drive), but with fake drift added to the real gyro data. Observe how the Integrator I tracks the fake drift. 33 3 27 24 21 18 15 12 9 Absolute Corrected Heading 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 Figure 19: Plot of heading derived from GPS (ground truth), heading computed without HDR, and heading with HDR, after adding the fake drift of Figure 18 to real gyro data for the city drive. Table III: Summary of the results for the City Drive. Real gyro data, no drift added Real gyro data plus fake drift of Figure 18 Average heading error without HDR 42 186 Average heading error with HDR 9 11 HDR reduced average heading errors by factor of 4.7 16.2 22
7.3 Experiment 2: Country Drive Start/ Stop Scale: 1 km -.62 mi Figure 2: Trajectory of the 26-minute Country Drive experiment based on GPS data. 9 3 True Heading (from GPS) Corrected Heading -3 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 26 - -9-12 -15-18 -21-24 -27-3 -33 Figure 21: Plot of Heading derived from GPS (ground truth), heading computed without HDR, and heading with HDR 23
Fake drift [deg/sec] 2. 1.8 1.6 1.4 1.2 1..8.6.4.2. -.2 -.4 -.6 -.8-1. -1.2-1.4-1.6-1.8-2. I Fake drift 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 26 Figure 22: Same experiment as in Figure 21 (Country Drive), but with fake drift added to the real gyro data. 9 3 True Heading (from GPS) Corrected Heading 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 26-3 - -9-12 -15-18 -21-24 -27-3 -33 Figure 23: Plot of heading derived from GPS (ground truth), heading computed without HDR, and heading with HDR, with the fake drift. The average heading error was 5 deg for the uncorrected heading computed without HDR, and 22 deg for the heading computed with HDR. Table IV: Summary of results for the Country Drive Real gyro data, no drift added Real gyro data plus fake drift of Figure 22 Average heading error without HDR 4 3 Average heading error with HDR 12 17 HDR reduced average heading errors by factor of 3.5 17.8 24
7.4 Experiment 3: Highway Drive Stop Start Scale: 5 km - 3.1 mi Figure 24: Trajectory of the 26-minute Highway Drive experiment based on GPS data. 3 28 2 24 22 2 18 1 14 12 1 8 4 2-2 -4 - -8-1 -12-14 -1-18 ±18 o +Y (9 o ) o o +27 or -9 +X ( o ) True Heading (from GPS) Corrected heading 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 2627 28 29 3 31 32 33 34 3536 37 38 39 4 41 42 43 44 45 46 47 48 49 5 Time [sec] Figure 25: Plot of heading derived from GPS (ground truth), heading computed without HDR, and heading with HDR 25
Drift [deg/sec] 2. 1.8 1.6 1.4 1.2 1..8.6.4.2. -.2 -.4 -.6 -.8-1. -1.2-1.4-1.6-1.8-2. 1 2 3 4 5 6 7 8 9 11112131415161718192212223242526272829331323334353637383944142434445464748495 I Fake drift Figure 26: Same experiment as in Figure 25, but with fake drift added to the real gyro data. 3 28 2 24 22 2 18 1 14 12 1 8 4 2-2 -4 - -8-1 -12-14 -1-18 ±18 o +Y (9 o ) o o +27 or -9 +X ( o ) True Heading (from GPS) Corrected heading 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 2627 28 29 3 31 32 33 34 3536 37 38 39 4 41 42 43 44 45 46 47 48 49 5 Time [sec] Figure 27: Plot of heading derived from GPS (ground truth), heading computed without HDR, and heading with HDR, with the fake drift. The average heading error was 5 deg for the uncorrected heading computed without HDR, and 22 deg for the heading computed with HDR. Table V: Summary of results for the Highway Drive Real gyro data, no drift added Real gyro data plus fake drift of Figure 26 Average heading error without HDR 131 1126 Average heading error with HDR 25 19 HDR reduced average heading errors by factor of 5.25 57.9 26