![MathJax Logo](/templates/jsp/_style2/_tandf/pb2/images/math-jax.gif)
Abstract
New solutions to the navigation problem related to low-cost integrated navigation systems (INS) are often published. Since these new solutions are generally compared with ad hoc mathematical models that are not fully exposed, one cannot be sure of the relative improvements. In this work, complete mathematical model for a low-cost INS is suggested to be used as a benchmarking. As far as the authors’ knowledge, a benchmarking for low-cost INS has not been previously reported. Shown INS comprises a strapdown inertial navigation system, loosely coupled to a GPS receiver. The INS mathematical model is based upon classical navigation equations and classical sensor models, both from recognized authors. The algorithm that details the INS operation is also presented. The benchmarking is provided as an open-source toolbox for MATLAB. Additionally, this work can be taken as a starting point for new practitioners in the INS field. To validate the INS mathematical model, real-world data sets from three different Micro Electro-Mechanical Systems (MEMS) inertial measurement units (IMU) and a GPS receiver are processed. It is observed that obtained RMS errors from the three INS are coherent with the quality of corresponding MEMS IMU. This confirms that the proposed benchmarking is a suitable tool to evaluate objectively new solutions to low-cost INS.
1. Introduction
An integrated navigation system (INS) is an electronic device mainly composed of an onboard computer, an inertial measurement unit (IMU), which contains accelerometers and gyroscopes, in addition to aiding sensors such as a GPS receiver, a barometer, and/or magnetometers. It provides estimates of position and velocity, as well as orientation parameters for a vehicle. Recently, with advances in Micro Electro-Mechanical Systems (MEMS) technology, commercial off-the-shelf MEMS-based inertial sensors are available. INS using MEMS IMU are a subject of great interest today due to their particular characteristics, such as light weight, low power consumption, and low cost, which make them suitable for several applications, e.g., navigation of aerial and ground unmanned micro-robots.
Despite of navigation equations from recognized authors [Citation1–Citation4] may lead to similar results for a particular reference frame (ECI, ECEF, local), more information is needed to fully describe an INS. For instance, different integration architectures (tight vs. loosely coupled) or diverse sensors error models will drastically produce unequal outcomes. Moreover, an open-loop correction architecture, as opposite to closed-loop, is impractical for loosely coupled INS ([Citation3], Section 12.1.1). Hence, a complete mathematical model of the navigation system against which a new solution is compared must be provided in order to replicate shown results.
New approaches to the navigation problem related to low-cost INS are often proposed in the literature, for instance, modifications to nonlinear filters to estimate system states or novel integration strategies. Generally, these new solutions are compared with ad hoc mathematical models which are not fully shown, commonly by space restrictions (e.g. see [Citation5,Citation6]). In other works, navigation data are processed using proprietary software that usually does not reveal mathematical models due to copyright issues (e.g. see [Citation7]).
A completely defined INS mathematical model can be a useful tool to contrast new solutions for low-cost INS, in order to obtain fair numerical comparisons. The use of a well-known benchmarking would lead to get unbiased conclusions about the advantages of new navigation approaches with respect to former solutions. To the best of authors’ knowledge, a benchmarking for low-cost INS has not been previously reported in the literature.
In this article, an approach to benchmarking for low-cost INS is presented. It consists of a strapdown inertial navigation system (SINS), loosely coupled to a GPS receiver, and an extended Kalman filter (EKF) to accomplish the fusion of sensors. The main INS algorithm that exposes the sequence in which equations must be solved is also provided. It tries to clarify some implementation aspects. The proposed mathematical model is based upon classical navigation equations and classical sensor models. The benchmarking is given as an open-source toolbox for MATLAB, de facto standard programming language for simulation and mathematical computing. It can be downloaded from [Citation8]. The authors believe that this is the first work that suggests an approach to benchmarking for low-cost INS.
Although the primary contribution of this work is to supply a benchmarking for low-cost INS, it might be also beneficial for new practitioners in the INS area. Since it summarizes INS formulas in the discrete domain, it can be used to understand better a typical loosely coupled INS. Conventional literature on this subject gives complete navigation solutions for different frames projections. Generally, this detailed amount of information can be overwhelming for an INS newcomer who may not have a solid background on navigation basis, stochastic processes and control theory. Furthermore, classical literature does not explain practical INS issues, e.g., which clock must be considered as the master clock of the system, GPS clock or SINS clock.
Suggested benchmarking is validated by applying a practical procedure. Field data were collected from three MEMS IMU and a GPS receiver. Reference values are obtained by fusing navigation-grade IMU and DGPS measurements. Three INS are set up and processed using the benchmarking. Lastly, systems performances are analysed.
The rest of this article is organized as follows. Section 2 shows mathematical models of sensors. Section 3 exhibits the mathematical model of a loosely coupled INS, including EKF equations. Section 4 shows the INS algorithm and comments some developmental issues. In Section 5, method to validate the benchmarking is explained. Finally, in Section 6 concluding remarks are commented.
2. Sensors mathematical models
This section exposes the mathematical models of inertial sensors and GPS.
All the equations presented in this work are in the discrete-time domain, except otherwise stated. Being the current interval sample tk, variables with subscript (–) correspond to the former interval sample, . Besides, variables with subscript (+) belong to the later interval sample,
.
Noisy measurements have as superscript a tilde (~). Estimated variables that depend on noisy measurements have as superscript a hat (λ). A skew symmetric matrix operator is defined as where r{3×1} is a vector ([Citation4], Equation B.15). Lastly, the symbol ‘o’ means entrywise product.
2.1. Gyroscopes
Outputs of orthogonal triaxial gyroscopes are modelled as,
where represents the ideal gyroscopes outputs ([Citation2], Equation 3.29), and the rest of terms represent different types of errors.
A gyroscope has several sources of errors as angle random walk noise (ARW), rate random walk noise, rate ramp noise, biases, cross-coupling errors, scale factor errors, and axes misalignments, among others. The proposed benchmarking takes only three errors into account which are considered to be dominant in MEMS gyroscopes: ARW and static and dynamic biases. ARW can be expressed as Gaussian white-noise sequence where
Usually, gyroscope manufacturers deliver ARW in root-PSD units that must be converted to International System (SI) units. If ARW is
, then ([Citation4], Section 4.6.3.2),
Static bias bg varies every time the gyroscope is turned on but stays constant throughout operation ([Citation3], Section 4.4.1), hence it is modelled as a random constant process ([Citation4], Section 4.6.3.1). On the other hand, dynamic bias δbg is usually observed at low frequencies and is associated with correlation time τg and variance ([Citation3], Section 4.4.1). Thus, it is modelled as a scalar Gauss-Markov process ([Citation4], Section 4.6.3.3). Values from τg and
define the discrete sequence ηgδb [Citation9].
2.2. Accelerometers
The proposed error model of accelerometers is similar to that of gyroscopes,
where accelerometer’s random noise is given as velocity random walk (VRW) as with variance
denotes the static bias and
is a discrete sequence related to dynamic bias noise δbf, which is modelled as a scalar Gauss-Markov process with correlation time τf and variance
.
As with gyroscopes, VRW is commonly provided in units that must be changed to SI units. Thus, if VRW is , then,
2.3. GPS receiver
2.3.1. GPS position
A low-cost GPS usually delivers estimates of position only in the navigation frame (n-frame) as where
denotes geodetic latitude,
denotes geodetic longitude, both in radians, and
denotes geodetic altitude in meters above the reference ellipsoid ([Citation4], Section 2.3.2.1).
A GPS receiver provides position with certain dispersion. Thus, GPS position is considered to be added with three Gaussian white noises sequences, viz, ,
and
as
In general, GPS manufacturers give horizontal position (2D) accuracy expressed as circular error probable (CEP) in meters, which is the radius of the circle centred on the correct location that contains 50% of the expected horizontal position errors ([Citation4], Section 4.9.1.2). Considering that latitude and longitude standard deviations, σγm and σλm respectively, are equal, then ([Citation4], Table 4.2)
GPS standard deviations are also needed in units of radians and can be obtained as follows,
2.3.2. GPS velocity
Additionally, most low-cost GPS receivers provide estimates of velocity in the vehicle-carried North-East-Down (NED) frame ([Citation10], Section 2.2.4).
GPS velocity vector is modelled as true NED velocity
plus a Gaussian white noise sequence
as
where is given by GPS manufacturer.
3. Integrated navigation mathematical model
This section presents the mathematical model of a loosely coupled strapdown inertial navigation system, in addition to EKF equations to fusion sensors information.
3.1. Strapdown inertial navigation system
A strapdown inertial navigation system (SINS) is an electronic device rigidly mounted on a vehicle, compound of a microcomputer and inertial sensors (accelerometers and gyroscopes), whose axes are aligned with respect to the vehicle body frame (b-frame), to calculate continuously estimates of orientation, position and velocity. shows a diagram of a SINS.
shows some important constants from the World Geodetic System 1984 (WGS84) Earth model to be used next.
Table 1. Constants from WGS84 Earth model.
3.1.1. Turn rates
The turn rate of the Earth expressed in the navigation frame (n-frame) is ([Citation2], Equation 3.72)
The turn rate of the n-frame respect to the Earth expressed in the n-frame, known as the transport rate, is ([Citation3], Equation 5.37)
where RM is the meridian radius of curvature ([Citation4], Equation 2.6) and RN is the normal radius of curvature ([Citation4], Equation 2.7)
3.1.2. Attitude
Quaternion attitude representation is selected to propagate changes in body orientation. A quaternion vector is defined as,
Equations to update are ([Citation11], Equation 7.39)
Vectors and
are provided by the EKF (Equation (21b)). The time between inertial measurements is δtS. Updated
is a unit vector to within first order. Commonly, a brute-force normalization should be done to insure
(Equation (13h)). Initial quaternion
can be obtained from Euler angles ([Citation2], Equation 3.65).
A direction cosine matrix is needed for projecting measurements from the b-frame to the n-frame. Elements of
are updated using quaternion as follows ([Citation2], Equation 3.63):
Roll , pitch
and yaw
angles are updated using matrix
as ([Citation2], Equation 3.66)
3.1.3. Gravity
Equations to evaluate the estimated local gravity into the n-frame are ([Citation2], Equation 3.89–3.91)
3.1.4. Velocity
SINS velocity is represented in the vehicle-carried NED coordinate system ([Citation10], Section 2.2.4).
is determined by the following equations ([Citation2], Equation 3.69)
vectors and
are given by the EKF (Equation (21b)).
3.1.5. Position
As with GPS, SINS position is represented in the n-frame as and is calculated in a specific order as ([Citation3], Equation 5.49)
3.2. Extended Kalman filter
The Kalman filter is an algorithm for linear systems that operates recursively on noisy input and output data to produce a statistically optimal estimate of the system states. The EKF is a nonlinear extension of the Kalman filter, which linearizes about an estimate of the current mean and covariance. This algorithm can fuse information coming from IMU and GPS to get state estimates with less errors when compared with using sensors separately.
The SINS error model is obtained by perturbing the mechanization equations (Section 3.1) and is given by a series of first-order differential equations. The resulting system is error-oriented and linear, although time-variant. depicts how SINS, GPS and EKF work together. Corrections in are fed back and used it as prior information to calculate estimates at the SINS. This scheme is known as close-loop correction ([Citation3], Section 12.1.1).
The continuous state-space model of the system is ([Citation12], Section 7.1)
The discrete state-space model of the system is ([Citation12], Section 5.5)
Vectors ζ N(0, Q) and ν
N(0, R), Gaussian distributions with zero mean and known covariance matrix, are driving noise and measurement noise, respectively. Vectors
,
and
are defined as
where is the lever arm from the GPS antenna to the IMU, and
is the curvilinear-to-Cartesian position change transformation matrix ([Citation3], Equation 12.81).
Being I{3×3} an identity matrix and 0{3×3} a null matrix, state-space matrices are
Submatrices Fxx are shown in [Citation2] (Equation 12.28).
Covariance matrix Q is defined as ([Citation3], Equation 12.67)
where (Equation (2)),
(Equation (4)),
and
are the power spectral densities (PSD) of, respectively, the gyroscopes random noises, accelerometers random noises, gyroscopes dynamic biases and accelerometers dynamic biases.
and
are obtained as ([Citation3], Equation 12.68 and 12.69)
Covariance matrix R is defined as,
Diagonal entries from R are provided by the GPS error profile. Matrix in Equation (21e) motivates the use of σγm and σλm in R, instead of σγ and σλ. This way, diagonal elements from R are of the same order, which produces better numerical stability in calculating the Kalman gain, K (Algorithm 1).
Algorithm 1 presents a simplified version of EKF algorithm for one iteration ([Citation2], Section 13.6.2.3). The master INS clock is the GPS clock. EKF evolves between GPS time steps, δtG. Between GPS measurements, SINS keeps updating estimates of attitude, velocity and position.
Algorithm 1 Simplified extended Kalman filter
1: Update (Equation (21c)), F (Equation (22)), and G (Equation (23)).
2:
3:
4:
5:
6:
7:
8:
The covariance matrix P{21×21} must be set up initially before execution of Algorithm (1). It is formed as a diagonal matrix whose individual elements are chosen according to the expected initial variances of (Equation (21b)) as
The Kalman filter may have serious numerical problems ([Citation13], Chapter 6). To avoid this situation, it is necessary but not sufficient that covariance matrix P be symmetric at each iteration. Line 8 of Algorithm 1 ensures this condition ([Citation4], Section 5.9.1).
4. INS algorithm
This section shows the main INS algorithm that exhibits the sequence in which navigation equations must be solved. In addition, some features of the proposed INS model are commented.
A loosely coupled SINS/GPS system is chosen between other types of integration schemes since it can be implemented with most low-cost GPS receivers, which usually only deliver position data in the navigation frame (n-frame). Besides, this frame has the property that horizontal (2D) and vertical errors are decoupled. In addition, n-frame position is represented in a more intuitive way when compared, for instance, with ECEF coordinates.
Chosen sensors for proposed INS are inertial sensors and GPS because they are ubiquitous in most navigation systems. This list of sensors does not pretend to be fixed. If a practitioner wants to compare her system with the proposed INS model using additional sensors, such as magnetometers or an odometer, she has to modify (Equation (21c)), H (Equation (24)) and R (Equation (27)) in the provided MATLAB toolbox. Lastly, the practitioner has to report only the changes with respect to the benchmarking, instead of the complete model. Generally speaking, since the benchmarking is provided as open-source code, any change that has to be made to achieve a fair comparison between a particular INS and the proposed benchmarking is able to be carried out.
Algorithm 2 details the operation of the INS. All system variables are in SI units.
Vector is defined as
Formulas for quaternion correction are ([Citation11], Equation 7.34, A.172a, and A.173)
where comes from Equation (12) and
is delivered by the EKF (Equation (21b)).
Attitude is initialized with estimated Euler angles, typically at rest. Position and velocity are initialized with corresponding GPS measurements.
Algorithm 2 INS algorithm.
1: Set ,
,
, and
2: Set ng, nf, , and
3: Set σγ, σλ, σγm, σγm, σh, and σv
4: Load (Equation (1)),
(Equation (3)),
(Equation (5a–c)),
(Equation (8)), tS, and tG
5: Set ,
, and
6: Calculate with
([Citation2], Equation 3.65)
7: Calculate with
(Equation (14a–i))
8: Set ,
,
, and
9: Set , Q (Equation (25)), R (Equation (27)), and P(1) (Equation (28))
10: Guarantee that
11: Guarantee that
12: Set i = 2
13: for k = 2 to kG do
14: while do
15: Update and
(Equations (9) and (10))
16: Update (Equation (13a–h))
17: Update (Equation (14a–i))
18: Update (Equation (15a–c))
19: Update (Equation (16a–d))
20: Update (Equation (17a–d))
21: Update (Equation (18a–c))
22: i = i + 1
23: end while
24: Update (Algorithm 1)
25: Correct
26: Correct (Equation (30a) and (b))
27: Correct (Equation (14a–i))
28: end for
The INS algorithm considers that discrete-time series and
are synchronized, i.e., each is associated with the same time sequence tS with kS elements. On the other hand, GPS discrete-time series
and
are related to time sequence tG with kG elements. Generally, low-cost GPS receivers deliver estimates at lower frequencies than an IMU, then kG < kS. Sequences tS and tG must be adjusted for two reasons: to execute the SINS before the EFK at least once and to provide inertial data until the last GPS measurement.
The benchmarking has certain limitations. Neither corrections in computation of attitude are made for conning effects, nor velocity is corrected for sculling effects. In addition, GPS position is derived under the assumption that it is only affected by a zero-mean Gaussian noise. In some particular cases, noise distribution of GPS position should be considered as non-Gaussian.
5. Validation method
The method to validate the suggested INS mathematical model takes a practical approach. Three INS are set up using real-world data sets that were collected on field from three different MEMS IMU and a GPS. Then, obtained performances are analysed and checked if they are coherent with the quality of used sensors.
5.1. Experiment setup
Several IMU and a Novatel OEM4 dual-frequency GPS data sets are provided by [Citation14], which were logged during the open-sky trajectory shown in . In addition, a DGPS system was implemented using a Topcon Legacy GPS base station.
The trajectory took place in the vicinity of The Ohio State University, USA. The globe with a circle marks the beginning of the trajectory. On the other hand, the globe with a square points its end. The trajectory presents high and low dynamics. Firstly, the vehicle performs several ‘8’ patterns on a parking. Then, it is driven along a road. The path covers 14.67 minutes throughout which the availability of GPS signal is 100%.
Figure 3. Trajectory during which data sets were generated (image courtesy of Google Earth [Citation15]).
![Figure 3. Trajectory during which data sets were generated (image courtesy of Google Earth [Citation15]).](/cms/asset/8de39d82-3734-4c91-ac4a-a3635e7caaa6/nmcm_a_952642_f0003_b.gif)
Three MEMS IMU are selected from [Citation14], namely, Xbow IMU400 CD (XBOW1), Xsens MTi (XSENS1) and Gladiator Landmark 10 (GLAD), to implement three integrated systems: XBOW1/GPS, XSENS1/GPS and GLAD/GPS. A reference data set is obtained by fusing navigation-grade Honeywell IMU H764 G-1 and DGPS measurements.
The same three MEMS IMU units used in [Citation14] were profiled in [Citation16], in which IMU units error characteristics were determined by using the Allan variance and PSD techniques. MEMS IMU noises terms ARW, VRW, σgδb, σfδb, τg and τf are taken from [Citation16] (Table 4.4), ARW and VRW from AV column. It can be seen from that Table that XBOW1 and XSENS1 are of similar quality, and, on the contrary, GLAD presents a lower grade. GSP position error is 1.5 m CEP, and σv = 0.03 m/s, as stated in the GPS datasheet [Citation17]. Lever arm vectors and are provided.
5.2. Result analysis
displays the RMS errors with respect to the reference data set, for the three proposed INS and the GPS-only solution.
Table 2. RMS errors for the three INS and GPS-only solution.
exposes that XBOW1/GPS and XSENS1/GPS performances are close, since these IMU have also similar error profiles. On the other hand, GLAD/GPS shows a worse performance, which is coherent with GLAD quality. Moreover, it can be seen that the three integrated systems present smaller position errors than the GPS-only solution. All these scenarios are expected.
6. Conclusions
In this work, an approach to benchmarking for low-cost INS is proposed. This article shows the complete mathematical model of a loosely coupled INS, as well as the error models of inertial sensors and a GPS receiver. Plus, the main algorithm that details the INS operation is also exposed.
Suggested benchmarking is based on classical navigation equations. It is provided as an open-source toolbox for MATLAB and can be downloaded from [Citation8]. The benchmarking is intended to generate a particular benchmark against which a novel INS solution can be objectively contrasted.
Validation of the benchmarking is achieved through processing real-world data sets from three MEMS IMU and a GPS receiver. It is observed that performances of the three INS are coherent with corresponding MEMS IMU error characteristics.
In conclusion, it is demonstrated that the proposed benchmarking is a suitable tool to evaluate new solutions to low-cost INS.
Acknowledgements
The authors would like to thank to Dr. Charles K. Toth (from The Ohio State University, USA), Dr. Allison Kealy, and Azmir Hasnur-Rabiain (both from The University of Melbourne, Australia) for generously sharing IMU and GPS data sets, and in particular, for Hasnur-Rabiain’s unselfish help. They would also like to thank to Dr. C.A. Catania (from the Universidad Nacional de Cuyo, Argentina) for his comments on this work.
Additional information
Funding
References
- R.M. Rogers, Applied Mathematics in Integrated Navigation Systems, 2nd ed., American Institute of Aeronautics and Astronautics, Inc., Reston, VA, 2003.
- D.H. Titterton and J.L. Weston, Strapdown Inertial Navigation Technology, 2nd ed., Institution of Engineering and Technology/The American Institute of Aeronautics and Astronautics, London/Reston, 2004.
- P.D. Groves, Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, Artech House, Norwood, MA, 2008.
- J. Farrell, Aided Navigation: GPS with High Rate Sensors, McGraw-Hill Professional, New York, NY, 2008.
- R. van der Merwe and E.A. Wan, Sigma-point Kalman filters for integrated navigation, Proceedings of the 60th Annual Meeting of The Institute of Navigation, Dayton, OH, June 2004, pp. 641–654.
- S. Godha and M.E. Cannon, Integration of DGPS with a low cost MEMS-based inertial measurement unit (IMU) for land vehicle navigation application, Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005), Long Beach, CA, September 2005, pp. 333–345.
- A.K. Brown and Y. Lu, Performance test results on an integrated GPS/MEMS inertial navigation package, Proceedings of the 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2004), Long Beach, CA, September 2004.
- Benchmarking for loosely-coupled low-cost navigation systems, (2014). Available at http://www.github.com/rodralez/navego
- J.M. Strus, M. Kirkpatrick, and J.W. Sinko, Development of a high accuracy pointing system for maneuvering platforms, Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, September 2007, pp. 2541–2549.
- G. Cai, B.M. Chen, and T.H. Lee, Unmanned Rotorcraft Systems, Springer, London, 2011.
- J.L. Crassidis and J.L. Junkins, Optimal Estimation of Dynamic Systems, 2nd ed., Chapman and Hall/CRC, Boca Raton, FL, 2011.
- R.G. Brown and P.Y.C. Hwang, Introduction to Random Signals and Applied Kalman Filtering, 3rd ed., John Wiley & Sons, Inc., Hoboken, NJ, 1997.
- M.S. Grewal and A.P. Andrews, Kalman Filtering: Theory and Practice Using MATLAB, 3rd ed., John Wiley & Sons, Inc., Hoboken, NJ, 2008.
- C. Toth, D. Brzezinska, N. Politi, and A. Kealy, Reference data set for performance evaluation of MEMS-based integrated navigation solutions, FIG Working Week 2011, Marrakech, May 2011.
- Google Earth. Imagery © 2014 DigitalGlobe, U.S. Geological Survey, USDA Farm Service Agency. The Ohio State University, USA, 2014. 40.001319N, 83.039045W.
- A. Hasnur-Rabiain, Performance evaluation of MEMS based INS/GPS integration, Master’s thesis, Department of Geomatics, The University of Melbourne, 2010.
- Novatel Inc., OEM4 Family User Manual (OM-20000046 Rev 19), Calgary, Novatel Inc., 2005.