Adaptive Kalman Filtering Methods For Low-Cost GPS/INS .

3y ago
19 Views
3 Downloads
1.59 MB
9 Pages
Last View : 28d ago
Last Download : 3m ago
Upload by : Adele Mcdaniel
Transcription

Adaptive Kalman Filtering Methods for Low-Cost GPS/INSLocalization for Autonomous VehiclesAdam Werries, John M. DolanAbstract— For autonomous vehicles, navigation systems mustbe accurate enough to provide lane-level localization. Highaccuracy sensors are available but not cost-effective for production use. Although prone to significant error in poorcircumstances, even low-cost GPS systems are able to correctInertial Navigation Systems (INS) to limit the effects of deadreckoning error over short periods between sufficiently accurateGPS updates. Kalman filters (KF) are a standard approachfor GPS/INS integration, but require careful tuning in orderto achieve quality results. This creates a motivation for a KFwhich is able to adapt to different sensors and circumstanceson its own. Typically for adaptive filters, either the process (Q)or measurement (R) noise covariance matrix is adapted, andthe other is fixed to values estimated a priori. We show thatby adapting Q based on the state-correction sequence and Rbased on GPS receiver-reported standard deviation, our filterreduces GPS root-mean-squared error by 23% in comparisonto raw GPS, with 15% from only adapting R.I. INTRODUCTIONFor autonomous vehicles, navigation systems must besufficiently accurate to determine the current lane on theroad. High-accuracy sensors have been available for manydecades now, but even today they are prohibitively expensivefor automotive production. It is desirable to obtain sufficientperformance from the lowest-cost sensors available throughcareful calibration, modeling, and filtering. The Global Positioning System (GPS) and Inertial Navigation Systems (INS)are used extensively in mobile robotics applications. TheINS often consists of one or more Inertial MeasurementUnits (IMU), containing a gyroscope, an accelerometer, andsometimes a magnetometer. GPS and INS are complementary in terms of their respective limitations and together arecapable of providing a more accurate navigation solutionunder sensor fusion. The purpose of our research is toexplore sufficiently accurate navigation solutions such thatthe hardware cost would be consistent with use for currentproduction vehicles, and computational cost would be withinreason for modern embedded systems.II. RELATED WORKThe conventional Kalman Filter (CKF) is widely usedfor state estimation, but is highly dependent on accuratea priori knowledge of the process and measurement noisecovariances (Q and R), which are assumed to be constant.An autonomous vehicle experiences a dynamic range ofThis work was supported by the Department of Transportation UniversityTransportation Center at Carnegie Mellon University (CMU)Adam Werries and John Dolan are with the Robotics Institute,CMU, Pittsburgh, PA 15213, USA tions which will affect each sensor to a differing degree,inspiring the idea of Adaptive Kalman filtering (AKF).AKF allows for the Q (process) and/or R (measurement)noise covariance matrices to be adjusted according to theenvironment and dynamics [1].A. Multiple-Model Adaptive Estimation (MMAE)One adaptive method that has been used for integratinglow-cost sensors is Multiple-Model Adaptive Estimation(MMAE), which reduces the need for an accurate a prioriknowledge of Q and R, by using a bank of Kalman filters.Each filter has its own set of parameters for Q and R,along with a normalized weight for each filter in the bank.Over time, the weights are adjusted, eventually settling onthe “best” model [2]. However, running k simultaneousfilters requires k-times more computational cost [2]. Inaddition, requiring multiple approximations of Q and Rcauses performance to depend greatly on the quality of theseapproximations and their consistent applicability to differentscenarios. In order to iterate at a sufficient rate for vehiclesafety on embedded systems, the computational cost is notseen as an acceptable trade-off.B. Innovation-based Adaptive Estimation (IAE)In order to constantly adapt to new information, Q and Rshould reflect the noise characteristics of the current behaviorof the vehicle and sensors. Innovation-based adaptive estimation (IAE) uses the covariance of an N -length innovationsequence to adjust the Q and R matrices. The innovationis the difference between the expected measurement stateand the actual measurement. This has shown up to a 50%improvement over the CKF under certain conditions [3][4]. Similar to IAE, residual-based filters are shown to perform even more accurately when computing R for low-costsensors[5], instead using the difference between the predictedstate and the corrected state. Under steady-state conditions,Q may be computed using the innovation sequence as well,but under dynamic situations it is required to use the statecorrection sequence [3].C. ImprovementsUsing a CKF and INS provided with Groves’ textbook[6], we have modified the filter to improve estimates for ourvehicle. We modified the INS to process IMU measurementsin batch, averaged over the INS integration period. Wecarefully measured the lever arm from the IMU to the GPS,adding its effects to the model in order to reduce errorsresulting from the rotating reference frame. We then modified

the filter to add adaptive estimation. Typically for adaptivefilters, either R or Q is fixed, and the other is adapted [7].In this paper, we will show that accuracy can be improvedby intelligently adapting both R and Q in a stable manner.We adapted R online in a known manner by computingthe R matrix from the standard deviations (or dilution ofprecision) reported by the GPS receiver, while clampingthe result with separate minimum and maximum values forposition and velocity. This resulted in an improvement of15% in root-mean-squared (RMS) error over raw low-costGPS measurements, using as ground-truth a high-accuracyreference Applanix GPS with Real Time Kinematics (RTK)mode enabled. We then show results from adapting Qonline using the state correction sequence and scaling bythe filter time interval, resulting in an improvement of 23%in RMS error over raw GPS measurements, a further 10%improvement over the Kalman filter with only R-adaptation.Ultimately we reduced the navigation error from 2.94mRMS to 2.27m RMS, and from 6.04m max error to 4.42m.Methods for low-cost GPS/INS integrated localization thatachieve similar results require additional filter banks ortuning parameters [2] [8] [9], complex neural networks [10][11] and fuzzy logic [12][13], or violate the requirement forreal-time performance for vehicle safety by pre-filtering IMUdata with wavelet decomposition methods [10].III. APPROACHA. ArchitectureIn our system, we use a Kalman filter for a loosely-coupledintegration of GPS and INS. The INS is taken from Groves’textbook [6], along with the base Kalman filter, which washeavily modified in order to support our timing, modeling,and adaptive requirements. In loosely-coupled integration,the GPS receiver’s position and velocity solution is utilizedto apply corrections to the INS. This is opposed to themore complex tightly-coupled integration, which uses theGPS’s pseudo-range and pseudo-range-rate measurements inorder to compute a solution [6]. Shown in figure 1, the INSmaintains a running navigation solution which is used as theoutput of our navigation system. The Kalman filter statesare the position, velocity, and attitude errors of the INS,along with estimates of the accelerometer and gyroscopebiases. As each GPS solution is received, the filter iterates,using the difference between the GPS and INS solutionsas a measurement to update the filter states. A closed-loopcorrection of the INS is then applied, and the new estimatesof the biases are applied to incoming IMU measurements.The R matrix for applying GPS corrections is computedfrom the standard deviation reported by the GPS receiver.Q is then adapted online using a state-correction covariancematrix, as discussed in section III-G.B. Kalman filteringAs shown below in algorithm 1, the standard Kalman filtermaintains a Gaussian belief state with mean x̂ and covariancematrix P . At each iteration, the state is propagated usinga system model represented by the state transition matrixFig. 1. Loosely-coupled integration using a GPS to apply closed-loopcorrections to an INSΦ and assumed-Gaussian process noise covariance matrixQ. In our case, Q describes the variation noise over a timeinterval of the INS error states, which are described in sectionIII-D. The measurement model relating the x̂ state to itsmeasurements is described by H, with assumed-Gaussianmeasurement noise covariance matrix R. In our case, Rdescribes the noise covariance of the GPS measurementsfor position and velocity, described in section III-E. TheKalman gain K is then computed in order to optimally applythe difference between the measurement and the expectedstate after propagation by the process model. After themeasurement vector z is received, x and P are corrected.At the end of each iteration, we have the choice of adaptingthe noise matrices or leaving them as they are.Algorithm 1 Algorithm for Kalman Filter1: compute Φk 1 and Qk 1 2: x̂k Φk 1 x̂k 1 3: Pk Φk 1 Pk 1 ΦTk 1 Qk 14: compute Hk and Rk with measurement model 5: Kk Pk HkT (Hk Pk HkT Rk ) 16: formulate zk 7: x̂k x̂k Kk (zk Hk x̂k ) 8: Pk (I Kk Hk )Pk (I Kk Hk )T Kk Rk KkT9: Adapt Qk according to system performancewhere:x̂ x̂ P P zΦH a priori state vectora posteriori state vectora priori state error covariance matrixa posteriori state error covariance matrixmeasurement vectorprocess model matrix, state transitionmeasurement model matrix

QRK process noise covariance matrix measurement noise covariance matrix Kalman gainThe process model, measurement model, and adaptive algorithm are described in detail in the following sections.C. INS mechanizationFollowing position/velocity initialization from the firstGPS fix and attitude initialization from stationary leveling/gyrocompassing [6], the INS begins processing gyrobbscope (ωib) and accelerometer (fib) measurements receivedfrom the IMU. As shown in figure 2, each measurementincrements the solution as an integral over the time interval,correcting for gravity, the rotating reference frame, and thecurrent estimate of the biases in the sensors.Fig. 3. Diagram of vehicle showing coordinate axes and pose error variablesused in process modelthe accelerometer and gyroscope biases (ba and bg ), e δψeb δv e eb e x δreb ba bgFig. 2.Earth-centered Earth-fixed frame Inertial Navigation System [6]whereeδψebeδvebeδrebbabgThusThe INS internal state is as follows, where each state ispost-corrected by the KF,bωibbfibCbevbepeb angular rate measurement from gyroscope specific force measurement from accelerometer INS attitude solution, frame transformation matrix from body frame to Earth-centered Earth-fixed(ECEF) frame INS velocity solution of the body in the ECEFframe INS position solution of the body in the ECEFframeD. Process modelThe process model is responsible for propagation according to the expected value for each state. The state vector forour system consists of monitoring the attitude (δψ), velocity(δv), and position (δr) errors shown in figure 3, along with INS solution attitude error INS solution velocity error INS solution position error Accelerometer bias Gyroscope biasthe state transition matrix is [6] eF11 030303 F e F e F e Ĉ e τs2223 21bΦ 03 03 I3 τs I3 030303I303030303 Ĉbe τs03 03 03 I3(1)(2)whereeF11 I3 Ωeie τs ih ebF21 Ĉbe fˆib τs(3b)eF22(3c) eF23 andΩeieereSeγ̂ibI3 2Ωeie τse T2γ̂ e (r̂eb) e ibereS (L̂b ) r̂eb τs(3a)(3d) Earth rotation rate Geocentric Radius at the surface, equation assumes near-surface gravitational effects Gravity model value at current location

L̂bτs Current latitude Filter iteration time difference (epoch) Indicates skew-symmetric matrix of previousvectorThe process noise covariance matrix Q is first estimatedaccording to a priori testing values, and then adapted asdescribed in section III-G.E. Measurement modelThe measurement model is responsible for relating measurements to states. The measurement for our system consistsof the difference between the GPS and INS navigationsolutions, as in the measurement vector in (4), [6]. eebr̂eaG r̂eb Ĉbe lbaδzke (4)eebbbv̂eaG v̂eb Ĉbe (ω̂ib lba) Ωeie Ĉbe lbaTo apply this measurement, we need to formulate Hk asfollows [6] e Hr1 03 I3 03 03e(5a)HG,k eeHv1 I3 03 03 Hv5 ebHr1 (Ĉbe lba(5b)) e bebeebHv1 {Ĉb (ω̂ib lba ) Ωie Ĉb lba } (5c) ee bHv5 Ĉb lba (5d)wherezke blbaer̂eaGev̂eaG Measurement vector, difference between GPSand INS solutions, accounting for the lever armdifference, ECEF frame Lever arm from IMU to GPS in body frame GPS-reported position vector, ECEF frame GPS-reported velocity vector, ECEF frameF. Adaptation of measurement noise matrix RThe measurement noise covariance matrix R is computedaccording to the per-axis ECEF-frame position and velocitystandard deviations reported by the GPS user-equipment.This is then scaled by the Kalman filter iteration interval.Minimum and maximum variance values were enforced inorder to ensure stability. 2σxk002σyk0 τsRk 0(6)200 σzkG. State-correction sequence adaptation of process noisematrix QThe process noise matrix adaptation is formulated basedon the state-correction sequence [3], where N is the lengthof state-corrections sequence used in the computation. xk x̂ k x̂kQ̂k 1NkXj k N(7a) xj xTj Pk ΦPk 1ΦT(7b)Fig. 4.Top-down view of vehicle pathIV. TESTING PROCEDURETesting was performed on public roads through a largepark on a hill near the Carnegie Mellon University campususing our Cadillac SRX vehicle, where the path is shown infigure 4. A high-accuracy RTK-enabled Applanix navigationmodule was used to provide an accurate-as-possible groundtruth. This specific location allows for high-quality GPSresults, and consistently provides the Applanix module withFixed or Float RTK, supplying a solution accurate to within5 (fixed) to 30 (float) centimeters. Time was synced usingthe Network Time Protocol between the vehicle’s Linuxmachines and a Raspberry Pi 2 (RPi-2) used for low-costdata collection. Time difference between the two is estimatedat less than 10ms.A low-cost IMU (InvenSense MPU-6050) was affixed tothe RPi-2, which was then mounted in the vehicle. Thisspecific IMU is ideal because the accelerometer and gyroscope are within the same QFN package, minimizing crosscoupling errors and relaxing the calibration requirements.This sensor was about 5 on Digikey at the time of writing.A low-cost GPS, the Novatel Flex6, was also connectedto the same RPi-2. The GPS antenna was then mounted onthe roof of the vehicle. This GPS is ideal for our testingbecause it provides a full ECEF-frame navigation solutionwith position, velocity, and standard deviations. This GPSis available by quoted price from Novatel, but the price isconsistent with use in a production vehicle. The manufacturerclaims on the product page that with L1/L2 signals, error canreach as low as 1.2 meters, and 0.6m with SBAS [14].Data were also collected using a Skytraq Venus 6 GPS,which was available for 50 from SparkFun at the time ofwriting, along with a 13 magnetic-mounted antenna. ThisGPS can be configured to provide ECEF coordinates forposition and velocity, although it reports dilution of precision(DOP) instead of standard deviation. This was convertedto measurement standard deviation using the manufacturerreported standard deviation, σr 2.5m, and the relationwith the position DOP (PDOP), σ 2 P DOP 2 σr2 . It is

possible to use the horizontal and vertical DOP, HDOP andV DOP , but that would require a frame change from ECEFto the local-navigation-frame (Northing, Easting) and backagain, inducing additional error based on the attitude errorof the INS.The lever arm between the IMU and GPS mountinglocations was carefully measured, although some error isunavoidable without a full 3D model of the vehicle. It isestimated that the error is less than 5 centimeters for eachaxis, which has less than a 1% effect on the performance.The data were then run through the filter offline inMATLAB simulation, although the intention is ultimatelyto transition to a filter in C running online on the RPi2. Parameters used in the filter for initial covariance matrixestimates, adaptive window size, initial biases, etc. were chosen by determining a theoretically feasible range. Followingthat, scripts were used to perform a brute-force parametersearch within the feasible ranges in order to improve errorand stability. The parameter search was run over multipledatasets in order to prevent selecting minima specific to asingle dataset.For this dataset, the IMU collects data at 1000 Hz, theNovatel at 4Hz, and the Skytraq at 1Hz. The INS system runsat 25 Hz, averaging IMU data over the interval, running theKalman filter at each iteration that a GPS solution is reported.Fig. 5.Raw accelerometer data from the MPU-6050.V. RESULTSThe U.S. Department of Transportation has a recommendation of at least 2.7 meters for the width of local urban roads[15]. This places a lower bound on the required performance:error and uncertainty must be no greater than half of thatwidth, 1.35m, in order to achieve lane-level localization. Theresults of testing with the IMU and GPS described in theprevious section are seen in table (I). Results are shown forboth the conventional Kalman filter, where we only adaptR based on the GPS-reported standard deviation, and ourfully adaptive Kalman filter, which uses the state-correctionsequence to estimate Q online. The window size chosen forQ for the Novatel GPS was 60, as it allowed the system toquickly respond to changing noise characteristics. Due to thepoor quality of the Skytraq GPS, smaller window sizes ofaround 5 30 performed better, and 10 was chosen.In figures 5 and 6, I show the raw accelerometer andgyroscope data, which is very noisy.A. Using Novatel GPSSourceRMSRMS Red.MaxMax Red.2D GPS2D CKF2D .17%6.21%3D GPS3D CKF3D 420.36%26.89%TABLE IN OVATEL - BASED FILTER ERROR RESULTS IN METERSFig. 6.Raw gyroscope data from the MPU-6050.The filter error compared to the high-quality Applanixsolution is shown in figure 7, split into Northing, Easting,and Altitude in meters. Of special note is the region around200 seconds. The altitude graph clearly shows that the GPShas provided a poor solution, and the filter is able to continueutilizing the information provided by the GPS, while notbeing too aggressive with corrections due to the increase inthe R matrix.Note that the altitude corrections are significantly betterthan the Northing/Easting corrections, which is likely due tothe IMU’s correction of pitch/roll through accelerometer leveling. Yaw has no inherent correction besides gyrocompassing, which is only possible with very accurate gyroscopes.Unfortunately for us, autonomous driving benefits little fromhigh accuracy in altitude, but the 2D RMS error has beenimproved to 1.75m, which is closer to the manufacturerreported certainty of 1.2m.R is shown over time in figure 8, showing how it changesbased on the quality. Also seen is the minimum/maximumvalue clamping that was applied in order to ensure filter

Fig. 7. Novatel dataset. Error between ground-truth vs low-cost GPS andground-truth vs filter solutionFig. 8. Novatel dataset. R measurement noise covariance matrix (GPS)over the course of a datasetFig. 9. Novatel dataset. Q process noise covariance matrix (INS error)adapting over the course of a dataset, 3D pose. Note that they are notsettling to zero, just to much smaller values.Fig. 10. Novatel dataset. Q process noise covariance matrix adapting overthe course of a dataset, sensor biases. Note that they are not settling to zero,just to

for GPS/INS integration, but require careful tuning in order to achieve quality results. This creates a motivation for a KF which is able to adapt to different sensors and circumstances on its own. Typically for adaptive filters, either the process (Q) . rithms for integrating gps and low cost ins,” in Position Location and .

Related Documents:

1D Kalman filter 4 Kalman filter for computing an on-line average What Kalman filter parameters and initial conditions should we pick so that the optimal estimate for x at each iteration is just the average . Microsoft PowerPoint - 2

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

9 Problem with Kalman Filter zLinear case (Kalman Filter) zState update equation zMeasurement Equation zNon-Linear case (Extended Kalman Filter) where, f and h are non-linear functions x(k) Ax(k 1) w(k 1) z(k) Hx(k) v(k)x(k) f (x(k 1),w(k 1))z(k) h(x(k),v(k))Extended Kalman Filter (EKF) zLinearizes about current mean a

3 filtering and selective social filtering),6 Algeria (no evidence of filtering),7 and Jordan (selective political filtering and no evidence of social filtering).8 All testing was conducted in the period of January 2-15, 2010.

10 tips och tricks för att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare känner säkert till Cobb’s paradox. Martin Cobb verkade som CIO för sekretariatet för Treasury Board of Canada 1995 då han ställde frågan

service i Norge och Finland drivs inom ramen för ett enskilt företag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett för tv (Sveriges Television , SVT ), ett för radio (Sveriges Radio , SR ) och ett för utbildnings program (Sveriges Utbildningsradio, UR, vilket till följd av sin begränsade storlek inte återfinns bland de 25 största

Hotell För hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C är acceptabel men att motiven för en högre standard är starka. Ljudklass C motsvarar de tidigare normkraven för hotell, ljudklass A/B motsvarar kraven för moderna hotell med hög standard och ljudklass D kan användas vid

LÄS NOGGRANT FÖLJANDE VILLKOR FÖR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill använda Apple-mjukvara (enligt definitionen nedan) för att utveckla en eller flera Applikationer (enligt definitionen nedan) för Apple-märkta produkter. . Applikationer som utvecklas för iOS-produkter, Apple .