Extended Kalman filter Implementation For Low-cost INS/GPS .

3y ago
39 Views
2 Downloads
3.55 MB
11 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Nadine Tse
Transcription

16th Symposium on Navigation of the Canadian Navigation SocietyToronto, Canada, 26-27 April 2005Extended Kalman filter implementation for low-costINS/GPS Integration in a Fast Prototyping Environment1Richard Gourdeau, Ph.D.René Jr. Landry, Ph.D.Former graduate student 2École de technologie supérieuregiroux richard@videotron.caProfessorÉcole Polytechnique de ole de technologie supérieurerlandry@ele.etsmtl.caRichard Giroux, Ph.D.AbstractIn previous communications, the authors have highlighted the advantages of using a fast-prototyping approach tothe development of low-cost INS integration algorithm. More specifically, they have addressed two fundamentalaspects of inertial navigation integration algorithm design: the validation of a Simulink simulator, and the performance evaluation of the integration algorithms provided within Simulink for inertial data integration. Thispaper addresses the next step in the development sequence of INS/GPS integration algorithm development: theinclusion of an extended Kalman filter in the Simulink fast-prototyping environment and real-time experimentalassessment of the entire fusion algorithm. As a general conclusion, the rapid-prototyping approach chosen in theimplementation has permitted the design of the algorithms and data acquisition scheme in an efficient mannerand in a short development time period.1IntroductionThe design of low-cost inertial navigation system(INS) fused with GPS generates great interest sincemany years now. Many approaches have been investigated in order to mitigate the poor performance of lowcost sensors, but few people have addressed the issueof the design process itself.Simulation of aided-INS systems is mandatory priorto real implementation in order to validate the design. Furthermore, numerical analysis of algorithmsbehavior is necessary since the highly non-linear equations governing the system prohibit extensive analytical analysis. If we exclude proprietary simulators,commercial simulation package tools available until nowto achieve this goal are Matlab script files(www.gpsoftnav.com). However, modular and easy1 The research work associated to this publication has beenperformed during the Ph.D. studies of the principal author. Partof this research has also been done at the Australian Centre forField Robotics (ACFR), The University of Sydney, Australia.2 Since October 2004, the main author is a research fellowat the Canadian Space Agency John H. Chapman Space Centre,St-Hubert, Canada.graphical design allowed by Simulink incited us to create a simulator in this user-friendly environment. Also,it permits rapid real-time testing, which is of great interest for the physical implementation of low-cost system. To our knowledge, only one simulator that usesSimulink for INS/GPS algorithm design has been already presented [1]. However, no detail on the algorithm processing performance is given.It has been already shown that Simulink is an interesting tool for the integration of the equations ofmotion [2]. However, the implementation of an extended Kalman filter (EKF) for INS/GPS fusion ina graphical coding environment is not a trivial task.This follow-up paper highlights the design and realtime implementation phases of the fusion algorithm.The first section reviews several solutions to theproblem of INS/GPS fusion. Then, the architectureof the Simulink-based fusion algorithm is presented.The flow of information between functions of the EKFis also described. An important aspect of this paperrelates to the real-time computation effort required toprocess the EKF algorithm, and to some extent theentire INS/GPS fusion algorithms. Following that,practical implementation is shown and experimental

results are given which show the advantages of thefast-prototyping approach. The last part of the paperis dedicated to some discussions and conclusions.2direct representation of the variables, there are 22 components to numerically integrate to obtain the navigation solution. However, there are ways to reduce thenumber of variables to 12.onNCB , [E vN ]N ,E CN , h R22(1)N ³ Ṅ F N , [I aB ]B , [I ω B ]B(2)Review of INS/GPS fusionschemesIt is well-known that the solution of the equationsof motion (direct integration) is not accurate over timebecause the error in the solution grows due to the following [3]:- Sensor errors;- Inaccurate initial value of the solution;- Inexact gravity acceleration model;- Finite computation capabilities of numerical computers.where[I aB ]B[I ω B ]BNCB[E vN ]NECNh Accelerometer;Rate gyros;Direction cosine matrix;Velocity (East-North-Up);Position matrix (lat-long);Altitude.For the indirect implementation of the Kalman filter, an error model has to be derived. Again, a set oferror variables is defined by Equation 3, and its dynamics given by Equation 4. The error model used isthe standard ψ-error model, found in many books andpapers [10, 11, 12, 13].on N ]N , [E δr N ]N , ψ N R9(3)δN [E δv ³ (4)δN F err N , [I aB ]B δNModern-day computer tends to mitigate the latest issue and permits the use of high-order integration methods, as it has been highlighted previously [2]. Also, theerror in the initial value of the solution can be minimized given an appropriate initializing time for thesystem. On the other hand, the gravity model can befine tuned to represent in a more accurate manner theactual gravity field [4]. This is of importance for highlyaccurate INS systems which use inertial-grade sensorsand no external sensors (or very few external measurements). However, at the other end of the spectrum,low-cost INS system performance is mainly driven bythe sensor errors which make the equation of motionsolution drifting very rapidly. Hence, a fusion schemewith external sensors is mandatory to ensure properperformance.There are different approaches to perform the fusion of external information with the solution of theequations of motion [5]. The most practical algorithmis the Kalman filter implemented in an extended formto accommodate the non-linear behavior of the equations of motion. The filter itself can be implementedusing different strategies: direct, indirect feedforwardand indirect feedback implementations [6]; and theywill be described in the following sections. But first,the definition of some mathematical expressions usedthroughout the paper is required.To simplify the mathematical description of theequations at stake, a navigation variables set N isdefined by Equation 1 and comprises the usual INSparameters. The equations of motion are then statedby Equation 2, where the variation of the navigationparameters is a function of the parameters themselves,and the inputs of accelerations and rotation rates. Theexpansion of these common equations can be found in[7, 8], whereas the specific notation and details on thereference frames are explained in [2, 9]. By using thewhere N ]N [E δvE [ δrN ]N Nψ Velocity error;Position error;Attitude error.Finally, the extended Kalman filter applied to anarbitrary set X of variables to be estimated is presented as follows [6, 14]:Xbk kγkXbk k 1 Xbk k 1 Kk γk³ Yk H Xbk k 1 ³ Φk Xbk 1 k 1 , U k(5)(6)(7)whereXbk k Xbk k 1 2The estimate of the variables at timeinstant k, a posteriori the external measurement (knowledge of the externalsignal at time k);The estimate of the variables at time instant k, a priori the external measurement (knowledge of the external signalat time k 1 only);

Kk YkH( · ) γk Φk ( · ) Uk 2.1Matrix weight of correction of the apriori estimated external measurements(Kalman gain);The external measurements;The function mapping the set of variables to the external measurements;The innovation, representing the error between the external measurementsand the estimation of the external measurement based on the a priori ³ estimabtion of the variables Yk H Xbk k 1 ;State transition matrix (discreet version of F( · ) in Equation 2);The inputs to the system.more efficiently with state variables around zero, andthat implementation is called indirect integration.2.2In the indirect integration approach, the set of variables linked to the error in the equations of motion isconsidered as the estimated variable in the extendedKalman filter. Hence, Equation 4 represents the process to be estimated by the Kalman filter and the arbitrary set of variables in Equations 5 to 7 is replacedby the set of error variables:XIn the direct integration approach, the set of variables linked to the equations of motion is consideredas the estimated variable in the extended Kalman filter. Therefore, Equation 2 represents the process tobe estimated by the Kalman filter and the arbitraryset of variables in Equations 5 to 7 is replaced by theset of navigation variables: δNAlso, the external measurement relation is given byEquation 10, where the set of measurement variablesis the difference between the set of navigation variablesand the set of external measurements.³ ³ Ykind Hind δNk k Hext Nk Mk (10)Direct integrationXIndirect integrationAs for the direct integration, the set of external measurement can be given as follows in the case of GPSmeasurement:on(11)Mk PkGP S , VkGP S R6NAlso, the external measurement relation is given byEquation 8, where the set of measurement variables isgiven directly by the set of external measurements.³ Ykdir Hdir Nk k Mk(8)However, the set of navigation variables as to be mappedto correspond to the same physical meaning as the external measurements, and can be represented by:on³ Hext Nk(12) PkIN S , VkIN S R6In the case of GPS measurement, the set of externalmeasurements is given as follows:on(9)Mk PkGP S , VkGP S R62.2.1Feedforward modeIn the feedforward mode of the indirect integration approach, the estimated navigation error from theKalman filter is subtracted to the navigation solution,resulting in a corrected navigation solution:Figure 1 depicts the signals flow. The extended Kalmanfilter operates in the “navigation filter” block resultingin the estimate of the set of navigation variables. Theinputs are the accelerometers and the rate gyros, andthe GPS is the external measurement signal.bNd N δN(13)Figure 2 shows a block diagram of this configuration.The “Equations of motion solution” block numericallyintegrates Equation 2 to give an open loop solution.The extended Kalman filter operates in the “navigation filter” block resulting in the estimate of the set oferror variables. The inputs are the accelerometers, andthe GPS data and the open loop navigation solutionare considered as external measurements.This configuration operates well if the error variables are kept small. But given the low-cost nature ofthe sensors, the estimated (and true) error in the navigation solution get out of bound rapidly. The feedbackmode of the indirect integration answers this problematic.Figure 1: Direct integration approachThis configuration is not used very often due to itscomputation burden. Also, the Kalman filter operates3

3The Simulink environment is a graphical-interfaceutility that provides powerful tools to design and prototype real-time algorithms. The hierarchical structure of the algorithm is presented at Figure 4. Thetop-level functions, depicted at Figure 5, are the equations of motion solution, the navigation filter and theonline calibration of the sensors. The former has beenpresented in a previous paper [2] and the later will bepart of future publications. Herein, the focus is onthe navigation filter implementation and experimentalresults.Figure 2: Indirect integration in feedforward mode2.2.2Description of the Simulinkfusion algorithm architectureFeedback modeIn the feedback mode of the indirect integration,the corrected set of navigation variables replaces theprevious value of the set of navigation variables. Theset of error variables is then reset to zero for the nextround of estimation.db δNN bN(14)Figure 3 illustrates the approach. As for the feedforward approach, the “Equations of motion integration” block numerically integrates Equation 2 but iscorrected by the estimated navigation error at eachtimestep. The extended Kalman filter still operatesin the “navigation filter” block resulting in the estimate of the set of error variables. The inputs arethe accelerometers, and the GPS data and the corrected navigation solution are considered as externalmeasurements.Figure 4: Hierarchical structure of the algorithmFigure 3: Indirect integration in feedback modeThis configuration is the most robust one and isnecessary when operating with low-cost sensors. Thisapproach has been implemented in a Simulink environment and is the subject of the next section.Figure 5: Top-level functionsThe navigation filter is composed of two main parts:the extended Kalman filter and the error control.Figure 6 shows the signal flow of this blockset. The“error control” block manages the relation betweenthe “extended Kalman filter” and the “integration of4

Figure 6: Navigation filter functionsFigure 7: Extended Kalman filter functions5

The “event correction” signal provided to the block“Correction of estimates” of Figure 7 is negative. Figure 8 shows an inside look of this block, and a negative“event correction” drives a nul output for the correction of the state variables and the covariance matrix.This correction (nul for the propagation phase) is thensent to the “State vector propagation” and “Covariance matrix propagation” blocks of Figure 7. An insidelook at the block “Covariance matrix propagation” isshown at Figure 9. Since the correction is nul, only thepropagation of the covariance matrix is performed.On the other hand, if there is an external signalavailable, the “event correction” signal is positive andthe extended Kalman filter superposes the correctionphase to the prediction phase. In fact, this event triggers the computation of a correction in the block “Correction of estimates” of Figure 7, and detailed at Figure 8. In this detailed figure, the difference betweenthe external signal (here a GPS signal) and the INSsolution is first computed, and the result is used inthe “Computation of corrections to estimates” block.These corrections are sent to the “State vector propagation” and “Covariance matrix propagation” blocksof Figure 7. Again, a look at the functionalities of theblock “Covariance matrix propagation” illustrated atFigure 9 shows that the correction is applied to thepropagation of the estimated covariance matrix. Asimilar process is performed for the correction of theestimated state variables. Also, it should be notedthat a “system parameters” function updates the timevarying parameters of the system model as depicted inFigure 7.equations of motion” block (and the “sensor calibration” block when this functionality is used). If theindirect integration in feedforward mode is used, the“error control” block has no effect and no correction issent to the “integration of equations of motion” block.However, the feedback mode implies the correction ofthe solution of the equations of motion and the reset of the estimated error variables. That is the mainfunction of the “error control” block. It is driven bya state-machine which sends events that trigger thecorrection and the reset of the values.Figure 8: Correction of estimates functions4Real-time computation assessmentIn order to physically implement the algorithm on areal-time platform, it is important to assess the level ofcomputation effort required to run the different functions of the algorithm. The embedded computer isa PC104 type with a Pentium Mobile processor of266MHz and 128Mb of RAM. The Real-Time Workshop toolbox of Simulink is used to generate C-codefrom the Simulink blockset-code, and then an executable format of the code is transferred to the embedded computer with the xPCTarget application. Thecomputation time information (amount of time requiredto process all algorithm computations during a cycle)is obtained through the use of xPCTarget real-timerun data log.Following the companion paper previously published[2], Figure 10 shows the real-time computation effortof different integration methods. Although not at issue in this paper, it is important to show that thepreliminary assessment for the choice of an integra-Figure 9: Propagation and correction of covariancematrix estimateThe extended Kalman filter block of Figure 6 isalso driven by a state-machine. The propagation ofthe estimates (state variables and covariance matrix) isdone at each time step, whereas the event “correction”is driven by the reception of an external measurement.Figures 7, 8 and 9 detail the extended Kalman filteroperation and the explanation of the two modes (withor without external measurements) follows.When there is no external measurement, the extended Kalman filter operates in the propagation mode.6

tion method made with simulation computation timestill holds with real-time computation effort. Indeed,the Runge-Kutta of 4th order (ODE4) is of comparableburden with respect to the Savage algorithm. Then,the RK4 integration algorithm is still used in all thesimulation and real-time implementations. For moreinformation on the pros and cons, the reader is invitedto consult the previously published paper [2].For the Kalman filter algorithm computation time(Figure 11), three phases have been studied: the linearisation of non-linear function, the prediction phaseand the combined prediction/correction phase. Nospecialized form of Kalman filter algorithm was coded,meaning full matrix multiplications were performed.The linearisation and prediction phase are performedat each cycle. However, the prediction/correction modeis only activated when an external measurement isavailable. The number of state variables has a majorinfluence on the computation time, as we know thatthe number of multiplications in the prediction phaseof the Kalman filter is proportional to the cube of thenumber of state variables (Mult n3 ). The trend canbe seen on Figure 11. Part on the navigation filter,the error control has also been investigated but wasfound to be negligible compared to the Kalman filtercomputation burden (mean computation time of 80 µsper cycle).Although the previous graphs provide insight information about the complexity of the different functions,it is the total computation time that is relevant to determine the sample rate of the inertial sensors (Figure12). Two common hypothesis have been compared:the full set of equations of motion and the flat-earthassumptions, reducing the complexity of the equationsto integrate and the error control. As it can be seen,there are no significant differences between both approaches, mainly caused by the Kalman filter implementation which is the same for both schemes. Then,with a maximum total computation time of 4300 µs,a sampling rate of 200 Hz is achievable for acquiringthe sensor data and processing the algorithm.5video card or can be transferred to a host computerfor real-time or post processing via the Ethernet network card. Communication between the PC104 andthe GPS receiver is made through a serial connection.A more detailed description of the experimental setupcan be found in [15].Figure 10: Computation time of different integrationmethodsFigure 11: Computation time of Kalman filterExperimental resultsThe experiments have been conducted using a highspeed vehicle. The IMU, PC104 and the GPS receiverwere fixed in the back trunk of the vehicle as illustrated in Figure 13. The Tetrad IMU unit is madeup of four accelerometers and four gyros, each set ofmeasuring devices arranged in a tetrahedral configuration. Acquisition and processing of data received fromthe IMU is carried out by the PC104 computer stackas seen in Figure 13. An ADC card is used to sample the IMU and temperature sensor measurements at200 Hz. IMU data can be graphically displayed inreal-time using an external monitor connected via theFigure 12: Tota

16th Symposium on Navigation of the Canadian Navigation Society Toronto, Canada, 26-27 April 2005 Extended Kalman filter implementation for low-cost INS/GPS Integration in a Fast Prototyping Environment Richard Giroux, Ph.D. 1 Richard Gourdeau, Ph.D. Ren e Jr. Landry, Ph.D. Former graduate student 2 Professor Professor Ecole de technologie sup erieure Ecole Polytechnique de Montr eal .

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

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

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

The fi lter at the back of the tool acts crucially to suck in air into the chamber. For maintaining the best performance of the tool users should always keep it clean. 1. Unscrew the socket screw on the fi lter. 2. Take out the fi lter and clean the mesh with brush or air. 3. Put the fi lter on the machine and fasten with the socket screw .

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 .