<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s121115983</article-id>
<article-id pub-id-type="publisher-id">sensors-12-15983</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Performance Analysis of Constrained Loosely Coupled GPS/INS Integration Solutions</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Falco</surname><given-names>Gianluca</given-names></name><xref ref-type="aff" rid="af1-sensors-12-15983"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-12-15983"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Einicke</surname><given-names>Garry A.</given-names></name><xref ref-type="aff" rid="af2-sensors-12-15983"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Malos</surname><given-names>John T.</given-names></name><xref ref-type="aff" rid="af2-sensors-12-15983"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Dovis</surname><given-names>Fabio</given-names></name><xref ref-type="aff" rid="af3-sensors-12-15983"><sup>3</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-12-15983">
<label>1</label> Istituto Superiore Mario Boella, Via P.C. Boggio 61, 10138 Torino, Italy</aff>
<aff id="af2-sensors-12-15983">
<label>2</label> CSIRO Exploration and Mining, Pullenvale, QLD 4069, Australia; E-Mails: <email>garry.einicke@csiro.au</email> (G.A.E.); <email>john.malos@csiro.au</email> (J.T.M.)</aff>
<aff id="af3-sensors-12-15983">
<label>3</label> Politecnico di Torino, Department of Electronics and Telecommunications, Corso Duca degli Abruzzi, 24, 10129 Torino, Italy; E-Mail: <email>fabio.dovis@polito.it</email></aff>
<author-notes>
<corresp id="c1-sensors-12-15983">
<label>*</label> Author to whom correspondence should be addressed; E-Mail: <email>falco@ismb.it</email>; Tel.: +39-011-2276-404; Fax: +39-011-2276-499.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>20</day>
<month>11</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>11</issue>
<fpage>15983</fpage>
<lpage>16007</lpage>
<history>
<date date-type="received">
<day>07</day>
<month>09</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>08</day>
<month>11</month>
<year>2012</year></date>
<date date-type="accepted">
<day>09</day>
<month>11</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>The paper investigates approaches for loosely coupled GPS/INS integration. Error performance is calculated using a reference trajectory. A performance improvement can be obtained by exploiting additional map information (for example, a road boundary). A constrained solution has been developed and its performance compared with an unconstrained one. The case of GPS outages is also investigated showing how a Kalman filter that operates on the last received GPS position and velocity measurements provides a performance benefit. Results are obtained by means of simulation studies and real data.</p></abstract>
<kwd-group>
<kwd>loosely coupled integration</kwd>
<kwd>Kalman filter</kwd>
<kwd>constraints</kwd>
<kwd>GPS outages</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>The error in an inertial system grows very quickly over time even if when an initial calibration procedure has been performed. Position error bias on startup also significantly affects position error over time. In fact, an initial calibration can correct short term errors only and the position error can become unacceptable after a very short period of time. In order to mitigate the error of inertial devices another sensor can be used in cooperation with the Inertial Measurement Unit (IMU). Typically, an absolute precise position estimate from a GPS receiver can be used to reset an Inertial Navigation System's (INS) solution or may be integrated with it by applying a data fusion algorithm (e.g., Kalman filter). The benefits of a GPS/INS integration are that the INS estimates can be corrected by the GPS data and that the INS can provide position and angle updates at a quicker rate than GPS. For highly dynamic vehicles such as missiles and aircraft, INS navigation solutions can interpolate between the GPS updates. Additionally, GPS signal losses may occur and the INS can continue to calculate position, velocity and orientation angles during outages. The two systems are complementary and are often employed together. Several approaches are possible for the integration of GPS and INS to provide a combined navigation solution. Such integration strategies differ on the type of information that is shared between the systems. There are four different categories of integration approaches: un-coupled [<xref ref-type="bibr" rid="b1-sensors-12-15983">1</xref>], loosely coupled (LC) [<xref ref-type="bibr" rid="b2-sensors-12-15983">2</xref>,<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>], tightly coupled (TC) [<xref ref-type="bibr" rid="b4-sensors-12-15983">4</xref>,<xref ref-type="bibr" rid="b5-sensors-12-15983">5</xref>], and ultra-tightly coupled (UTC) techniques [<xref ref-type="bibr" rid="b6-sensors-12-15983">6</xref>–<xref ref-type="bibr" rid="b8-sensors-12-15983">8</xref>]. The first method is the simplest integration of GPS and INS. The two systems operate independently, but when a GPS position and/or velocity measurement is available the IMU is reset. This method does not provide any performance enhancement. The second approach uses GPS position and velocity measurements in a Kalman filter that models INS error dynamics, while the third uses GPS estimates of Pseudoranges and Doppler and inertial estimates within a Kalman filter. In the UTC approach, outputs from the central navigation processor, after projection into satellite line-of-sight coordinates, are used to control the code and carrier replica signals for each satellite channel. On the other hand, a conventional tightly coupled GPS/INS system uses separate tracking loops for each satellite channel, which operate autonomously. As a result, the UTC design is considered more robust to jamming and vehicle dynamics.</p>
<p>In this work we address a loosely coupled approach. The paper investigates the performance of such an integration using both simulated and real measurements. For real tests we have used a Sirf-JP13 [<xref ref-type="bibr" rid="b9-sensors-12-15983">9</xref>] and a Microstrain 3DM-Gx2 [<xref ref-type="bibr" rid="b10-sensors-12-15983">10</xref>] modules as GPS receiver and IMU, respectively. In this work we have also considered the possibility to receive additional geographic information as an aiding to the position provided by the GPS receivers. This extra info can be delivered by a Google Map (GM) service if we have an embedded system equipped with GPS, IMU and a communication transceiver in order to establish an internet connection to download data from the GM service. In such a scenario we have developed a LC algorithm able to exploit additional position information when available. Furthermore, the case-study of an operational scenario in which GPS outages are experienced, has been analyzed. In such a case, a Kalman filter that leverages on the last received GPS measurement has been designed in order to reduce the error of INS-only navigation solution.</p>
<p>The paper is organized as follows: Section 2 describes the main characteristics of the INS mechanization equations and it provides the main features of the Kalman filter that will be applied in a loosely coupled integration. Results obtained through simulations and in a real scenario are presented. Section 3 deals with the improvements obtained by using known information to constrain the solution, such as the boundaries of the road along which the system is travelling, provided by an external aiding source such as Google Map. A description of the Kalman filter designed to include constraints information is also given. Performance comparisons are presented for an unconstrained loosely coupled system using simulated and real data.</p>
<p>Section 4 demonstrates the performance of a loosely coupled system in case of a 50-s-long GPS outage. An approach that uses a Kalman filter to reduce INS position error has been developed by exploiting the last available GPS position and velocity. Eventually, conclusions are drawn in Section 5.</p></sec>
<sec>
<label>2.</label>
<title>Loosely Coupled GPS/INS Integration</title>
<sec>
<label>2.1.</label>
<title>Loosely Coupled and INS Equations</title>
<p>LC integration combines estimates from GPS and INS outputs, and such integration might be basically performed in two different ways. The first one, referred as open loop, estimates INS error by exploiting GPS information, and does not interfere with the operation of INS. The second approach, named closed loop, involves the use of a Kalman filter to mitigate INS errors.</p>
<p>In our work we have employed the second method where a Kalman filter calculates position and velocity error states to correct the INS solution. The block diagram of the closed-loop LC solution is shown in <xref ref-type="fig" rid="f1-sensors-12-15983">Figure 1</xref>.</p>
<p>Independent position and velocity estimates are calculated within a GPS receiver and are optionally filtered. Then, the output of this filter is used periodically as input to an INS filter. The second Kalman filter uses the difference between the GPS-derived positions, velocities and the ones computed by means of an INS device to get the error estimates.</p>
<p>The design of the Kalman filter for loosely coupled integration is described later in this Section. An INS filter generally consists of nine navigation error states, including three positions Δ<italic>r̲<sup>n</sup></italic>, three velocities Δ<italic>v̲<sup>n</sup></italic> and three attitude error states <italic>ε̲<sup>n</sup></italic>, see [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>,<xref ref-type="bibr" rid="b11-sensors-12-15983">11</xref>–<xref ref-type="bibr" rid="b17-sensors-12-15983">17</xref>]. For convenience, the symbols <italic>x̲</italic> and 
<inline-formula>
<mml:math id="mm1" display="inline">
<mml:semantics id="sm1">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>x</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow></mml:semantics></mml:math></inline-formula> are used from this moment on to indicate a vector and matrix, respectively. Due to the presence of noise in the inertial sensor measurements, the system state vector needs to be enlarged depending on the inertial sensor's error characteristics.</p>
<p>The increased number of the error states could include bias error estimations both of the INS gyros and accelerometers (<italic>b̲<sub>g</sub></italic> and <italic>b̲<sub>a</sub></italic>) and/or the scale factor estimations (<italic>S̲<sub>g</sub></italic> and <italic>S̲<sub>a</sub></italic>). The output noise within accelerometer and gyro measurements may be represented as:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">noise</mml:mtext>
<mml:mrow>
<mml:mtext mathvariant="italic">acc</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>S</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>⋅</mml:mo>
<mml:munder accentunder="true">
<mml:mi>f</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>b</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>w</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">noise</mml:mtext>
<mml:mrow>
<mml:mtext mathvariant="italic">gyro</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>S</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>g</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>⋅</mml:mo>
<mml:munder accentunder="true">
<mml:mi>f</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>b</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>g</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>w</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>g</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>where:
<list list-type="bullet">
<list-item>
<p><italic>f̲</italic> is the correct acceleration or angular velocity (in the body frame);</p></list-item>
<list-item>
<p><italic>S̲<sub>a</sub></italic>, <italic>S̲<sub>g</sub></italic> are the scale factor of accelerometers and gyros;</p></list-item>
<list-item>
<p><italic>b̲<sub>a</sub></italic>, <italic>b̲<sub>g</sub></italic>, is the bias of accelerometers and gyros that can be considered constant over time <italic>t</italic>;</p></list-item>
<list-item>
<p><italic>w̲<sub>a</sub></italic>, <italic>w̲<sub>g</sub></italic> is the white noise component of accelerometers and gyros respectively.</p></list-item></list></p>
<p>In the paper we have modeled the accelerometers and gyroscopes' noises as white noise components (<italic>i.e.</italic>, <italic>w̲<sub>a</sub></italic>, <italic>w̲<sub>g</sub></italic>) and we did not consider the deterministic errors, such as the scale factor and the bias, since their contribution is negligible. Moreover, we have used both simulated and real data to model gyro and accelerometers errors. As far as the simulation test is concerned, we have developed a proper software in Matlab<sup>®</sup> able to generate accelerometers and gyros raw measurements at different rates (e.g., sampling frequency at 500 or 100 Hz) and with different noise components. Furthermore, the simulator can provide information about the orientation angles (yaw, pitch and roll) of a vehicle that is moving along a trajectory. As far as the simulated path is concerned, we have implemented the same surveyed track of the real scenario in which the tests have performed, giving us the possibility to do accurate comparison between synthetic data and the real ones. In the case of real data we have utilized measurements from a 3DM-Gx2 MEMS-IMU. It has been argued in [<xref ref-type="bibr" rid="b11-sensors-12-15983">11</xref>] that gyro and accelerometer errors of this device are dominated by white noise (see <xref ref-type="fig" rid="f2-sensors-12-15983">Figure 2</xref>). Therefore, a 9-state Kalman filter should be adequate for correcting inertial solutions.</p>
<p>The perturbation of the inertial navigation equations to obtain error states is detailed in [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>]. A scheme that summarizes the overall n-frame INS processes is provided in <xref ref-type="fig" rid="f3-sensors-12-15983">Figure 3</xref>. A common orientation for Local Tangent Plane is the North-East-Down (NED) system defined as follows:
<list list-type="simple">
<list-item>
<p>X<sup>n</sup> horizontal axis in the direction of increasing latitude;</p></list-item>
<list-item>
<p>Y<sup>n</sup> horizontal axis in the direction of increasing longitude;</p></list-item>
<list-item>
<p>Z<sup>n</sup> to make a right-handed orthogonal coordinate system.</p></list-item></list></p>
<p>In the following we will refer to the NED coordinate system as n-frame.</p>
<p>The position in the n-frame is expressed in geodetic coordinates, namely
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>where φ, λ and <italic>h</italic> represent the latitude, longitude and altitude of the estimated user's position, expressed in radians and meters (for altitude) respectively.</p>
<p>The velocities in the n-frame are given by:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>D</mml:mi></mml:msub>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>v<sub>N</sub></italic>, <italic>v<sub>E</sub></italic>, <italic>v<sub>D</sub></italic> are the velocities along North, East and Down coordinates and computed in m/s.</p>
<p>The motion of a vehicle can be described by equations that involve INS kinematics. The derivations of these equations can be broken up into three parts: position, velocity and attitude. A full derivation is reported in [<xref ref-type="bibr" rid="b12-sensors-12-15983">12</xref>]. The position, velocity and attitude rates (from [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>] and [<xref ref-type="bibr" rid="b13-sensors-12-15983">13</xref>]) are given by:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>r</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mo>Ω</mml:mo>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>D</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>f</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi></mml:msup>
<mml:mo>−</mml:mo>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ie</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">en</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>)</mml:mo>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>g</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>⋅</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ib</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula><italic>D͇</italic><sup>−1</sup> is a diagonal matrix defined as follows:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>D</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where R<sub>M</sub> is the radius of curvature in the meridian and R<sub>N</sub> is the prime vertical at certain latitude expressed as:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>sin</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>sin</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>with a = 6378317.0 m and e = 0.0818 and where <italic>f̲<sup>b</sup></italic> is the acceleration information in the body-frame and 
<inline-formula>
<mml:math id="mm8" display="inline">
<mml:semantics id="sm8">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is the frame rotation matrix from body to n-frame.
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>ψ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>A more detailed explanation of the previous equations can be found in [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>] and [<xref ref-type="bibr" rid="b17-sensors-12-15983">17</xref>]. The vector Ω̲ = [<italic>φ</italic>, <italic>θ</italic>, <italic>ψ</italic>] consists of the Euler angles (Roll, Pitch and Yaw). The orientation angles are computed by exploiting the gyroscopes sensors. Other techniques are based on a blending of accelerometers and magnetometers to compute the attitude [<xref ref-type="bibr" rid="b18-sensors-12-15983">18</xref>,<xref ref-type="bibr" rid="b19-sensors-12-15983">19</xref>]. Although this last method is particularly suitable for low-cost MEMS IMUs whose gyroscopes are not sensitive to the Earth's rotation (for this reason the yaw can not be estimated properly through gyro-compassing techniques [<xref ref-type="bibr" rid="b20-sensors-12-15983">20</xref>]), it requires, on the other hand, an additional Kalman filter to combine the measurements coming from the two sensors (<italic>i.e.</italic>, accelerometers and magnetometers). Therefore, we prefer to keep the integration level as simple as possible and we will design a unique GPS/INS Kalman filter where the yaw information is provided by the GPS receiver itself [<xref ref-type="bibr" rid="b21-sensors-12-15983">21</xref>].</p>
<p>
<inline-formula>
<mml:math id="mm10" display="inline">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ie</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm11" display="inline">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">en</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are the rotation vectors from the e-frame to the n-frame and the rate of change of latitude and longitude, respectively [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>]:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ie</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ie</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>where (<italic>ω<sub>e</sub></italic> ≈ 7.2921155·10<sup>5</sup> rad/s) is the magnitude of the Earth rotation rate.</p>
<p><italic>g̲<sup>n</sup></italic> is the local gravity vector and <italic>R͇</italic> is the transformation matrix from the body-axes angular rates to the Euler angle angular rates and is given by [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>] as:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">=</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>tan</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>tan</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>
<inline-formula>
<mml:math id="mm14" display="inline">
<mml:semantics id="sm14">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mi>b</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> represents the raw measurement vector of the gyros sensors in the bodyframe [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>].</p>
<p>Eventually, the equations describing the error dynamics are obtained by perturbing the kinematic <xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>. These error equations are required in the construction of the INS/GPS Kalman filter. The perturbation of the position, velocity and Euler angles can be written as:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>r</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mi>v</mml:mi></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mo>Ω</mml:mo>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Ω</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>Ω</mml:mo></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The linearized position error is given by:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>r</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rr</mml:mtext></mml:mrow></mml:msub>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rv</mml:mtext></mml:mrow></mml:msub>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rr</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>cos</mml:mo>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rv</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>D</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The velocity error is given by:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vr</mml:mtext></mml:mrow></mml:msub>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vv</mml:mtext></mml:mrow></mml:msub>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>f</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>×</mml:mo></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Ω</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>f</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vr</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>D</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>D</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>D</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>γ</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>γ</mml:mi>
<mml:mn>0</mml:mn></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mtext mathvariant="italic">withR</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vv</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>D</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>D</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The attitude error can be written as:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm18" display="block">
<mml:semantics id="sm18">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mo>Ω</mml:mo>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">er</mml:mtext></mml:mrow></mml:msub>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ev</mml:mtext></mml:mrow></mml:msub>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>ω</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">in</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>×</mml:mo></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Ω</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mi>b</mml:mi></mml:msubsup>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">er</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ev</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>tan</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>Details about <xref rid="FD10" ref-type="disp-formula">Equations (10)</xref>–<xref rid="FD13" ref-type="disp-formula">(13)</xref> can be found in [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>,<xref ref-type="bibr" rid="b11-sensors-12-15983">11</xref>–<xref ref-type="bibr" rid="b17-sensors-12-15983">17</xref>].</p></sec>
<sec>
<label>2.2.</label>
<title>Loosely Coupled Kalman Filter</title>
<p>In this subsection we recall the traditional design of an error state Kalman filter for a loosely coupled GPS/INS application. An n-frame error state model [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>] is given by:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm19" display="block">
<mml:semantics id="sm19">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>r</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mo>Ω</mml:mo>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rr</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rv</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vr</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vv</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>f</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">er</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ev</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">in</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo stretchy="true">︸</mml:mo></mml:munder>
<mml:mi>F</mml:mi></mml:munder></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Ω</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:munder accentunder="true">
<mml:mi>w</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where all the sub-matrices <italic>F͇<sub>xx</sub></italic> are the ones as stated in <xref rid="FD10" ref-type="disp-formula">Equations (10)</xref>–<xref rid="FD13" ref-type="disp-formula">(13)</xref>. <italic>f̲<sup>n</sup></italic> is the raw measurements of accelerometers expressed in n-frame whereas 
<inline-formula>
<mml:math id="mm20" display="inline">
<mml:semantics id="sm20">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>ω</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">in</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is the raw information of the gyros sensors in the n-frame too. Eventually, parameters <italic>w̲</italic> indicate the noise components of gyros and accelerometers, respectively. As previously explained in Section 2.1, only white noise has been considered. The discrete-time analogue of (14) is expressed as:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="mm21" display="block">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Φ</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:munder accentunder="true">
<mml:mi>I</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>+</mml:mo>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>h.o.t.</italic> means higher order terms that can be neglected for the computation.</p>
<p>The covariance matrix <italic>Q<sub>K</sub></italic> associated to the discrete-time noise vector <italic>w̲</italic> can be determined by the approximate expression [<xref ref-type="bibr" rid="b14-sensors-12-15983">14</xref>]:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math id="mm22" display="block">
<mml:semantics id="sm22">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>Q</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo>≈</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Φ</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>K</mml:mi></mml:msub>
<mml:munder accentunder="true">
<mml:mi>G</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:munder accentunder="true">
<mml:mi>Q</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>G</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:munder accentunder="true">
<mml:mi>G</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:munder accentunder="true">
<mml:mi>Q</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>G</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mo>Φ</mml:mo>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>K</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>t</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>where Δt is the sampling time that we set equal to 1 s and <italic>G͇</italic> is a matrix equal to:
<disp-formula id="FD17">
<label>(17)</label>
<mml:math id="mm23" display="block">
<mml:semantics id="sm23">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>G</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula><italic>Q͇</italic> is a diagonal matrix representing the white noise on the accelerometers <italic>q̲<sub>a</sub></italic> and <italic>q̲<sub>g</sub></italic> gyros that can be stated as:
<disp-formula id="FD18">
<label>(18)</label>
<mml:math id="mm24" display="block">
<mml:semantics id="sm24">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>Q</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">diag</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>q</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">diag</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>q</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>g</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo>
<mml:mo>·</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In a loosely-coupled integration approach, the filter measurement is the difference between the INS and the GPS navigation solutions. The measurement vector is given by:
<disp-formula id="FD19">
<label>(19)</label>
<mml:math id="mm25" display="block">
<mml:semantics id="sm25">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>z</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>V</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Following the approach suggested in [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>], since φ and λ are in radians and their values are very small, we multiply the first two rows of <xref rid="FD19" ref-type="disp-formula">Equation (19)</xref> by (<italic>R<sub>M</sub></italic> + <italic>h</italic>) and (<italic>R<sub>N</sub></italic> + <italic>h</italic>)cos <italic>φ</italic> to obtain:
<disp-formula id="FD20">
<label>(20)</label>
<mml:math id="mm26" display="block">
<mml:semantics id="sm26">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>z</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The design matrix becomes:
<disp-formula id="FD21">
<label>(21)</label>
<mml:math id="mm27" display="block">
<mml:semantics id="sm27">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Finally, the measurement noise covariance matrix is calculated as:
<disp-formula id="FD22">
<label>(22)</label>
<mml:math id="mm28" display="block">
<mml:semantics id="sm28">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>φ</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>λ</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>h</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>N</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>D</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The value of each element in the diagonal matrix R depends on the accuracy of the GPS estimates. A detailed description of Kalman filtering combining models with measurements is reported in [<xref ref-type="bibr" rid="b15-sensors-12-15983">15</xref>]. However, since we use a feedback loosely coupled approach, the error state vector is set to zero after every measurement updates [<xref ref-type="bibr" rid="b16-sensors-12-15983">16</xref>,<xref ref-type="bibr" rid="b17-sensors-12-15983">17</xref>,<xref ref-type="bibr" rid="b22-sensors-12-15983">22</xref>].</p></sec>
<sec sec-type="results">
<label>2.3.</label>
<title>Results</title>
<p>Tests were carried out along a surveyed track located within CSIRO's site in Pullenvale, QLD, Australia. A 3-D plot of the test track and is shown in <xref ref-type="fig" rid="f4-sensors-12-15983">Figure 4</xref>.</p>
<p>We investigated the algorithm's performance using both simulated data and real data. In the first case we have generated synthetic gyros and accelerometers values along a path that perfectly matches the realistic scenario. This simulation will be used as a term of comparison with the results we obtained by working with real GPS and INS measurements on the field.</p>
<p>We have also corrupted the simulated data, representing the inertial accelerometer and gyro, with noise sources resembling the typical characteristics of a low-cost MEMS IMU, as in <xref ref-type="table" rid="t1-sensors-12-15983">Table 1</xref>.</p>
<p>Simulated GPS positions and velocities' estimates were also generated, and the variances of those measurements were set equal to the values reported in <xref ref-type="table" rid="t2-sensors-12-15983">Table 2</xref>.</p>
<p>The variances of <xref ref-type="table" rid="t2-sensors-12-15983">Table 2</xref> refer to the case of unfiltered GPS measurements. By utilizing the synthetic GPS and INS data we were able to run the LC algorithm and the results can be seen in <xref ref-type="fig" rid="f5-sensors-12-15983">Figure 5</xref>.</p>
<p>We have repeated the test, by using this time, data directly read from the GPS and the IMU sensors:
<list list-type="bullet">
<list-item>
<p>raw gyro and accelerometer outputs from a 3DM-Gx2 INS after an initial calibration,</p></list-item>
<list-item>
<p>positions and velocities' estimates from a Sirf JP13- Falcom GPS receiver.</p></list-item></list></p>
<p>In our LC GPS/INS implementation, the process noise covariance, Q, was estimated through the Allan Variance technique which is detailed in [<xref ref-type="bibr" rid="b11-sensors-12-15983">11</xref>]. The components of the measurement noise covariance, R, were selected as summarized in <xref ref-type="table" rid="t3-sensors-12-15983">Table 3</xref>.</p>
<p>The results of such a GPS/INS hybridization technique are plotted in <xref ref-type="fig" rid="f6-sensors-12-15983">Figure 6</xref>.</p>
<p>It is clear from <xref ref-type="fig" rid="f5-sensors-12-15983">Figure 5</xref> that the performance of the LC integration solution (red line) significantly improves the performance of the INS-only solution (black line). In fact, the LC approach trusts the GPS estimates (when they are available) and does not allow the INS navigation solution to drift. The main difference between the synthesized measurements and the real ones is that the positions obtained by the simulated GPS are centred on the reference track and the deviations are modelled as white noise. On the other hand, in a real scenario, the user's position estimations at consecutive time instants are correlated because they are processed within the GPS receiver by a proper Kalman filter. Such measurements can have a bias offset with respect to the surveyed path (as it can be noted in <xref ref-type="fig" rid="f6-sensors-12-15983">Figure 6</xref>). This fact can be explained by considering that a GPS system has an accuracy that depends on several factors: quality of the GPS receiver, the algorithm used to compute the Position-Velocity-Time (PVT) with or without carrier phase information, the effect of ionosphere compensation in the PVT estimation, the number of visible satellites when the test is performed. Another aspect that is clear by observing <xref ref-type="fig" rid="f5-sensors-12-15983">Figures 5</xref> and <xref ref-type="fig" rid="f6-sensors-12-15983">6</xref> is the different time required to the vehicle to complete the path when simulated or real data have been used. This fact should not be surprising if we consider the velocity profile of the two figures. By comparing the velocity along the eastern and northern directions, we can notice how the estimated speed is higher when real GPS data are applied with respect to the case of simulated data. As a consequence, the time necessary to run the trajectory will be shorter. Although the solution provided by GPS is sufficiently accurate (e.g. notice in <xref ref-type="fig" rid="f6-sensors-12-15983">Figure 6</xref> the improvement in the Euler angles' estimation when the INS is aided by the GPS), it is still unable to fulfil the requirements of continuity and reliability in many situations. In order to reduce the error of the GPS we have designed a LC integration scheme that uses a Kalman filter with some constraints. This aspect will be described in details in the next Section and details on constrained Kalman filters can be found in [<xref ref-type="bibr" rid="b23-sensors-12-15983">23</xref>–<xref ref-type="bibr" rid="b26-sensors-12-15983">26</xref>].</p></sec></sec>
<sec>
<label>3.</label>
<title>Loosely Coupled Integration Using Constraints</title>
<sec>
<label>3.1.</label>
<title>Performance Assessment</title>
<p>It is well known that GPS estimation is affected by a certain error that is strongly dependent on the number of satellites available for the PVT estimation. Thus, as a consequence, the LC solution trusts the GPS position and velocity estimates in a way proportional to number of satellites in view. Therefore, the overall performance of the LC solution will leverage on the availability of the GPS updates. In order to improve the performance with respect to the results shown in <xref ref-type="fig" rid="f5-sensors-12-15983">Figures 5</xref> and <xref ref-type="fig" rid="f6-sensors-12-15983">6</xref> we have designed a Kalman filter that exploits additional aiding information. In particular, we have considered an external source that provides some additional geographical data. For instance, such pieces of information can be obtained by the Google Maps service, as shown in the block diagram depicted in <xref ref-type="fig" rid="f7-sensors-12-15983">Figure 7</xref>. Such an implementation requires that the user is equipped with a smartphone designed to embed a GPS receiver, accelerometers and gyros sensors as well as a communication transceiver able to establish a wireless internet connection. In this way the user is able to receive information about the road being travelled, as provided by the Google Maps (GM) service.</p>
<p>As far as the accuracy of GM is concerned, the last improvements in terms of position precision developed by Google on GE and GM can be found in [<xref ref-type="bibr" rid="b27-sensors-12-15983">27</xref>]. It has been shown in [<xref ref-type="bibr" rid="b28-sensors-12-15983">28</xref>] that comparing GM and Google Earth (GE), the difference between the two mapping systems is of 2.5 m. On the other hand, when he repeated the test by plotting the point on high-accuracy map he noticed a difference of 10 m with respect to the GM.</p>
<p>This means the GM can not be used for systems that require a high level of accuracy but it could be fine for mass-market applications. Another concern of using a Google Maps service is the process of receiving the map information should be quick enough to be applied in real-time and the internet connection should always be available for all the duration of the test. If this happens we can build up a more complex LC scheme that also integrates street constraints to estimate the user's position and velocity.</p>
<p>In <xref ref-type="fig" rid="f8-sensors-12-15983">Figure 8</xref> an example of results obtained using as constraints the boundaries of the road is shown. The blue line represents a simulated GPS position estimation over time whereas the red line indicates the boundary of the path the user is driving along. Both the GPS and constraint information are expressed in latitude, longitude and altitude coordinate respectively. In this example we have supposed the street is 10meters wide in both latitude and longitude. As for the altitude we have considered that the GPS estimation can be acceptable only when it falls within an interval of 4 meters with respect to the altitude information received by Google Maps. The boundaries of the hypothetical road have been computed setting the offsets Δ<italic>n</italic> = 10 [<italic>m</italic>], Δ<italic>e</italic> = [<italic>m</italic>] and then obtaining the Coordinates offsets (in radians) 
<inline-formula>
<mml:math id="mm29" display="inline">
<mml:semantics id="sm29">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>R</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm30" display="inline">
<mml:semantics id="sm30">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>180</mml:mn></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>, where R = 6378137 [m] is the Earth radius and where <italic>φ</italic>, <italic>λ</italic> are the latitude and longitude coordinates as stated in <xref rid="FD2" ref-type="disp-formula">Equation (2)</xref>.</p>
<p>The offset in the position in decimal degrees is obtained as 
<inline-formula>
<mml:math id="mm31" display="inline">
<mml:semantics id="sm31">
<mml:mrow>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">off</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mn>180</mml:mn></mml:mrow>
<mml:mi>π</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm32" display="inline">
<mml:semantics id="sm32">
<mml:mrow>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">off</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mn>180</mml:mn></mml:mrow>
<mml:mi>π</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>Constraint information can be added by increasing the dimensions of the output mapping matrix <italic>H͇</italic> of <xref rid="FD21" ref-type="disp-formula">Equation (21)</xref> and the measurements <italic>z̲</italic> of <xref rid="FD20" ref-type="disp-formula">Equation (20)</xref> as:
<disp-formula id="FD23">
<label>(23)</label>
<mml:math id="mm33" display="block">
<mml:semantics id="sm33">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>z</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">CONSTRAINT</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">CONSTRAINT</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">CONSTRAINT</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD24">
<label>(24)</label>
<mml:math id="mm34" display="block">
<mml:semantics id="sm34">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD25">
<label>(25)</label>
<mml:math id="mm35" display="block">
<mml:semantics id="sm35">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>λ</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">GPS</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mi>E</mml:mi></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">CONS</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>λ</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">CONS</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">CONS</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>As previously explained also in this case constraint information are computed in LLH coordinate system. The variances of the map measurements need to be well-selected so that the resulting position estimates fall within the constraint boundaries.</p></sec>
<sec sec-type="results">
<label>3.2.</label>
<title>Results</title>
<p>The position estimates calculated from simulated data are shown in <xref ref-type="fig" rid="f9-sensors-12-15983">Figure 9</xref>, comparing the LC solution using both synthetic and real measurements with and without Map constraints.</p>
<p>It can be seen from <xref ref-type="fig" rid="f9-sensors-12-15983">Figure 9(b)</xref> that the use of additional constraint information can improve the performance. Without constraints the absolute value of the average error is 8.036 m, while with constraints the error is reduced to only 3.056, with an improvement of almost 5 m.</p>
<p>The same approach has been used with Google-Maps-sourced altitude information. In this case we have chosen a noise variance of 4 m<sup>2</sup> for the height constrained filter. The calculated altitude position errors using simulated GPS and INS measurements are shown in <xref ref-type="fig" rid="f10-sensors-12-15983">Figure 10</xref>.</p>
<p>The mean error without additional altitude information is 3.69 m, whereas with constraints the mean error is 1.05 m, thus yielding an improvement of about 2.5 m.</p></sec></sec>
<sec>
<label>4.</label>
<title>Loosely Coupled &amp; GPS Outages</title>
<p>The powerful synergy between the GPS and INS makes the combination of these two navigation technologies a viable position option. GPS, when combined with MEMS inertial devices, can restrict their error growth over time and allows for online estimation of the sensor errors, while the inertial devices can bridge the position estimates when there is no GPS signal reception. Generally speaking, during GPS outages the LC position estimates follow INS-only navigation solution [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>]. As a consequence when dealing with low-cost IMU such as the MEMS, the position estimation error grows with time due to the IMU error growth, thus causing a drift in the solution that compromises the long term accuracy of the system. The performance of our LC solution in case of GPS outages of a duration up to 50 seconds is shown in <xref ref-type="fig" rid="f11-sensors-12-15983">Figure 11</xref>.</p>
<p>As shown in <xref ref-type="fig" rid="f11-sensors-12-15983">Figure 11</xref> the error is about 400 m after a 50 s GPS outage. This quick drifting of the position from the expected one is justified by the low quality of the INS we have used. During the GPS unavailability, the Kalman filter works in prediction mode where the navigation solution leverages on the INS's accelerometers and gyroscopes only. In order to reduce the error further, we employ a time-varying measurement covariance to take into account that the inertial error grows with time.</p>
<p>We have designed a Kalman filter that, by propagating the last GPS information available, corrects the position and velocity estimation as computed by the INS navigation equation only. A block diagram that depicts this strategy is shown in <xref ref-type="fig" rid="f12-sensors-12-15983">Figure 12</xref>.</p>
<p>As we mentioned before, we exploit the last received GPS position information, namely
<disp-formula id="FD26">
<label>(26)</label>
<mml:math id="mm36" display="block">
<mml:semantics id="sm36">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>r</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">rr</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:munder accentunder="true">
<mml:mi>w</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The covariance matrix <italic>Q<sub>K</sub></italic> associated with the discrete-time noise vector <italic>w̲</italic> is the same as in (16). Concerning on the noise covariance matrix of the states <italic>Q͇</italic>, it can be written as:
<disp-formula id="FD27">
<label>(27)</label>
<mml:math id="mm37" display="block">
<mml:semantics id="sm37">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>Q</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">diag</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>q</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The measurement vector <italic>z̲</italic> becomes:
<disp-formula id="FD28">
<label>(28)</label>
<mml:math id="mm38" display="block">
<mml:semantics id="sm38">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>z</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>r</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">Last</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">Last</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">Last</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">Last</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The output mapping matrix is given by:
<disp-formula id="FD29">
<label>(29)</label>
<mml:math id="mm39" display="block">
<mml:semantics id="sm39">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>φ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The noise covariance corresponding to (28) is:
<disp-formula id="FD30">
<label>(30)</label>
<mml:math id="mm40" display="block">
<mml:semantics id="sm40">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>φ</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:mi>K</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>φ</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>λ</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:mi>K</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>h</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:mi>K</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The time-varying measurement noise covariance results in a time-varying gain. At the beginning of a GPS outage, the GPS estimates are weighted more than the INS outputs. As long as the outage time increases, such weight is decreased. An example of with a linear trend over time is depicted in <xref ref-type="fig" rid="f13-sensors-12-15983">Figure 13</xref>.</p>
<p>The performance resulting from the use of a time-varying measurement noise covariance yields is shown in <xref ref-type="fig" rid="f14-sensors-12-15983">Figure 14</xref>.</p>
<p>It can be seen from <xref ref-type="fig" rid="f14-sensors-12-15983">Figure 14</xref> that the use of a time-varying measurement covariance can provide a reduction of the error that now has a magnitude of about 100 m after a 50 s GPS outage with respect to the cases of traditional GPS/INS loosely coupled approaches (<italic>i.e.</italic>, with and without constraints). In this analysis the constrained LC has been designed to add boundaries on the altitude axis only.</p>
<p>For the real scenario we have developed a similar Kalman filter that works by using the last available velocity information of GPS. The state-space matrices for the Kalman filter are:
<disp-formula id="FD31">
<label>(31)</label>
<mml:math id="mm41" display="block">
<mml:semantics id="sm41">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>F</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">vv</mml:mtext></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:munder accentunder="true">
<mml:mi>w</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The definition of all the variables in <xref rid="FD26" ref-type="disp-formula">Equations (26)</xref>–<xref rid="FD31" ref-type="disp-formula">(31)</xref> is the same as in Section 2 for the <xref rid="FD10" ref-type="disp-formula">Equations (10)</xref>–<xref rid="FD13" ref-type="disp-formula">(13)</xref> respectively.</p>
<p>The G matrix becomes:
<disp-formula id="FD32">
<label>(32)</label>
<mml:math id="mm42" display="block">
<mml:semantics id="sm42">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>G</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>and the noise covariance matrix <italic>Q͇</italic> of the model is:
<disp-formula id="FD33">
<label>(33)</label>
<mml:math id="mm43" display="block">
<mml:semantics id="sm43">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>Q</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">diag</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:munder accentunder="true">
<mml:mi>q</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>For the measurement we can write:
<disp-formula id="FD34">
<label>(34)</label>
<mml:math id="mm44" display="block">
<mml:semantics id="sm44">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>z</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mi>n</mml:mi></mml:msup></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">INS</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>v</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">GPS</mml:mtext>
<mml:mo>|</mml:mo>
<mml:mtext mathvariant="italic">last</mml:mtext></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The design matrix <italic>H͇</italic> that bounds the measurements to the error-states becomes:
<disp-formula id="FD35">
<label>(35)</label>
<mml:math id="mm45" display="block">
<mml:semantics id="sm45">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo stretchy="true">_</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>and thus the noise covariance is:
<disp-formula id="FD36">
<label>(36)</label>
<mml:math id="mm46" display="block">
<mml:semantics id="sm46">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo stretchy="true">═</mml:mo></mml:munder>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">VN</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">VE</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">VD</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>⋅</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>α(t) defines the rate at which the noise covariance matrix (referred to the measurements) increases over time.</p>
<p>We assumed that the parameter α increases very slowly with time (as the velocity of the user was almost constant) as shown in <xref ref-type="fig" rid="f15-sensors-12-15983">Figure 15</xref>.</p>
<p>We have run again the LC solution after having included the modified noise covariance matrix in the Kalman filter design. In particular, <xref ref-type="fig" rid="f16-sensors-12-15983">Figure 16</xref> highlights the altitude error by using different LC integration approaches. It follows from <xref ref-type="fig" rid="f16-sensors-12-15983">Figure 16</xref> that the two LC solutions that adopt an adaptive measurements' noise covariance matrix can provide significant improvement during GPS outages.</p>
<p>For example the first method that uses the last user's position information, as provided by the GPS module, gives an error of about 20 m after 45 s of outage with a reduction of almost 30 m with respect a traditional un-constrained LC algorithm that is able to exploit the GPS data only when available and relying on the INS-only navigation during the period of GPS unavailability. The Kalman filter, that exploits the last received update of the GPS velocity and the time-varying weights, provides the best performance with an error after 40 s of only 12 m.</p></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>This paper addresses the subject of loosely-coupled GPS/INS integration. In particular, we have designed a nine states Kalman filter that gives a correction to inertial derived position, velocity and Euler angles by exploiting the available GPS measurements. We have demonstrated the performance of this approach using simulated and real measurements.</p>
<p>In order to improve the LC performance, a constrained approach has been described. Use of maps or altitude constraints can provide benefits in the accuracy of the navigation solution. For example, with simulated measurements, the three-dimensional root-mean-square error (latitude, longitude and altitude) has been reduced of 5m. In the case of real measurements, a 2.5 m reduction in altitude error has been observed.</p>
<p>In addition, we have examined the performance of loosely-coupled integration solutions when GPS outages occur. When GPS information is not available we rely on INS estimates. In order to improve the error during outage times we have developed two solutions to improve performance that exploits an adaptive Kalman filter whose measurement's noise covariance varies over time according to the last GPS update. From the results, it is observed that using the last received GPS position and velocity information can lead to decrease the position error between 30 m and 40 m when a 50-s-long GPS outage occurs.</p></sec></body>
<back>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-15983"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Titterton</surname><given-names>D.H.</given-names></name><name><surname>Weston</surname><given-names>J.L.</given-names></name></person-group><source>Strapdown Inertial Navigation Technology</source><edition>2nd ed.</edition><publisher-name>The American Institute of Aeronautics and Astronautics</publisher-name><publisher-loc>Reston, VA, USA</publisher-loc><year>1996</year></citation></ref>
<ref id="b2-sensors-12-15983"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wolf</surname><given-names>R.</given-names></name><name><surname>Eissfeller</surname><given-names>B.</given-names></name><name><surname>Hein</surname><given-names>G.</given-names></name></person-group><article-title>A Kalman Filter for the Integration of a Low Cost INS and an attitude GPS</article-title><conf-name>Proceedings of the International Symposium on Kinematic Systems in Geodesy, Geomatics and Navigation</conf-name><conf-loc>Banff, AB, Canada</conf-loc><conf-date>3–6 June 1997</conf-date><fpage>143</fpage><lpage>150</lpage></citation></ref>
<ref id="b3-sensors-12-15983"><label>3.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Solimeno</surname><given-names>A.</given-names></name></person-group><article-title>Low-Cost INS/GPS Data Fusion with Extended Kalman Filter for Airborne Applications</article-title><source>Master Thesis</source><publisher-name>Universidad Tecnica de Lisboa</publisher-name><publisher-loc>Lisboa, Portugal</publisher-loc><month>July</month><year>2007</year></citation></ref>
<ref id="b4-sensors-12-15983"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Li</surname><given-names>L.</given-names></name><name><surname>Wang</surname><given-names>Y.</given-names></name><name><surname>Rizos</surname><given-names>C.</given-names></name><name><surname>Mumford</surname><given-names>P.</given-names></name><name><surname>Ding</surname><given-names>W.</given-names></name></person-group><article-title>Low-Cost Tightly Coupled GPS/INS Integration Based on a Nonlinear Kalman Filtering Design</article-title><conf-name>Proceedings of the 2006 National Technical Meeting of The Institute of Navigation</conf-name><conf-loc>Monterey, CA, USA</conf-loc><conf-date>18–20 January 2006</conf-date><fpage>958</fpage><lpage>966</lpage></citation></ref>
<ref id="b5-sensors-12-15983"><label>5.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Petovello</surname><given-names>M.</given-names></name></person-group><article-title>Real-time Integration of a Tactical-Grade IMU and GPS for High-Accuracy Positioning and Navigation</article-title><source>Ph.D. Thesis</source><publisher-name>Department of Geomatics Engineering, University of Calgary</publisher-name><publisher-loc>Calgary, AB, Canada</publisher-loc><year>2003</year></citation></ref>
<ref id="b6-sensors-12-15983"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Babu</surname><given-names>R.</given-names></name><name><surname>Wang</surname><given-names>J.</given-names></name></person-group><article-title>Real-Time Data Analysis of Ultra-Tight GPS/INS</article-title><conf-name>Proceedings of IGNSS Symposium 2007</conf-name><conf-loc>Sydney, NSW, Australia</conf-loc><conf-date>4–6 December 2007</conf-date></citation></ref>
<ref id="b7-sensors-12-15983"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Pany</surname><given-names>T.</given-names></name><name><surname>Kaniuth</surname><given-names>R.</given-names></name><name><surname>Eissfeller</surname><given-names>B.</given-names></name></person-group><article-title>Deep Integration of Navigation Solution and Signal Processing</article-title><conf-name>Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005)</conf-name><conf-loc>Long Beach, CA, USA</conf-loc><conf-date>13–16 September 2005</conf-date><fpage>1095</fpage><lpage>1102</lpage></citation></ref>
<ref id="b8-sensors-12-15983"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Petovello</surname><given-names>M.G.</given-names></name><name><surname>Lachapelle</surname><given-names>G.</given-names></name></person-group><article-title>Comparison of Vector-Based Software Receiver Implementations with Application to Ultra-Tight GPS/INS Integration</article-title><conf-name>Proceedings of the 19th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2006)</conf-name><conf-loc>Fort Worth, TX, USA</conf-loc><conf-date>26–30 September 2006</conf-date><fpage>1790</fpage><lpage>1799</lpage></citation></ref>
<ref id="b9-sensors-12-15983"><label>9.</label><citation citation-type="web"><person-group person-group-type="author"><collab>FalcomSirft JP-13</collab></person-group><comment>Available online: <ext-link xlink:href="http://www.sequoia.co.uk/wireless/product.php?id=73" ext-link-type="uri">http://www.sequoia.co.uk/wireless/product.php?id=73</ext-link> (accessed on 14 November 2012)</comment></citation></ref>
<ref id="b10-sensors-12-15983"><label>10.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Microstrain 3DM-Gx2 MEMS IMU</collab></person-group><comment>Available online: <ext-link xlink:href="http://www.microstrain.com/inertial/3DM-GX2" ext-link-type="uri">http://www.microstrain.com/inertial/3DM-GX2</ext-link> (accessed on 14 November 2012)</comment></citation></ref>
<ref id="b11-sensors-12-15983"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Allan</surname><given-names>D.W.</given-names></name></person-group><article-title>Statistics of atomic frequency standards</article-title><source>Proc. IEEE</source><year>1966</year><volume>54</volume><fpage>221</fpage><lpage>230</lpage><pub-id pub-id-type="doi">10.1109/PROC.1966.4634</pub-id></citation></ref>
<ref id="b12-sensors-12-15983"><label>12.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Farrel</surname><given-names>J.A.</given-names></name><name><surname>Barth</surname><given-names>M.</given-names></name></person-group><source>The Global Position System and Inertial Navigation</source><publisher-name>McGraw-Hill</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1999</year></citation></ref>
<ref id="b13-sensors-12-15983"><label>13.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Knedlik</surname><given-names>S.</given-names></name><name><surname>Zhou</surname><given-names>J.</given-names></name><name><surname>Dai</surname><given-names>Z.</given-names></name><name><surname>Ezzaldeen</surname><given-names>E.</given-names></name><name><surname>Loffeld</surname><given-names>O.</given-names></name></person-group><article-title>Analysis of Low-Cost GPS/INS for Bistatic SAR Experiments</article-title><conf-name>Proceedings of the 21st International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2008)</conf-name><conf-loc>Savannah, GA, USA</conf-loc><conf-date>22–25 September 2008</conf-date><fpage>2115</fpage><lpage>2122</lpage></citation></ref>
<ref id="b14-sensors-12-15983"><label>14.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Shin</surname><given-names>E.H.</given-names></name></person-group><article-title>Estimation Techniques for Low-Cost Inertial Navigation</article-title><source>Ph.D. Thesis</source><publisher-name>Department of Geometrics Engineering, University of Calgary</publisher-name><publisher-loc>Calgary, AB, Canada</publisher-loc><year>2005</year></citation></ref>
<ref id="b15-sensors-12-15983"><label>15.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Brown</surname><given-names>G.R.</given-names></name><name><surname>Hwang</surname><given-names>P.Y.C.</given-names></name></person-group><source>Introduction to Random Signals and Applied Kalman Filtering</source><edition>3rd ed.</edition><publisher-name>John Wiley &amp; Sons</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1997</year></citation></ref>
<ref id="b16-sensors-12-15983"><label>16.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Shin</surname><given-names>E-H.</given-names></name></person-group><article-title>Accuracy Improvement of Low Cost INS-GPS for Land Application</article-title><source>M.Sc. Thesis</source><publisher-name>Dept of Geomatics Eng., University of Calgary</publisher-name><publisher-loc>Calgary, AB, Canada</publisher-loc><year>2001</year></citation></ref>
<ref id="b17-sensors-12-15983"><label>17.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Godha</surname><given-names>S.</given-names></name></person-group><article-title>Performance Evaluation of Low-Cost MEMS-Based IMU Integrated with GPS for Land Vehicle Navigation Application</article-title><source>M.Sc. Thesis</source><publisher-name>Dept of Geomatics Eng., University of Calgary</publisher-name><publisher-loc>Calgary, AB, Canada</publisher-loc><year>2006</year></citation></ref>
<ref id="b18-sensors-12-15983"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Roth</surname><given-names>J.</given-names></name><name><surname>Kaschwick</surname><given-names>C.</given-names></name><name><surname>Trommer</surname><given-names>G.F.</given-names></name></person-group><article-title>Improving GNSS attitude determination using inertial and magnetic field sensors</article-title><source>Inside GNSS</source><year>2012</year><volume>9/10</volume><fpage>54</fpage><lpage>62</lpage></citation></ref>
<ref id="b19-sensors-12-15983"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hanal</surname><given-names>S.</given-names></name><name><surname>Wang</surname><given-names>J.</given-names></name></person-group><article-title>A novel method to integrate IMU and magnetometers in attitude and heading reference systems</article-title><source>J. Navigation</source><year>2011</year><volume>64</volume><fpage>727</fpage><lpage>738</lpage><pub-id pub-id-type="doi">10.1017/S0373463311000233</pub-id></citation></ref>
<ref id="b20-sensors-12-15983"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Park</surname><given-names>H.W.</given-names></name><name><surname>Lee</surname><given-names>J.G.</given-names></name><name><surname>Park</surname><given-names>C.G.</given-names></name></person-group><article-title>Covariance analysis of strapdown INS considering gyrocompass characteristic</article-title><source>IEEE Trans. Aero. Electron. Syst.</source><year>1995</year><volume>31</volume><fpage>320</fpage><lpage>328</lpage><pub-id pub-id-type="doi">10.1109/7.366314</pub-id></citation></ref>
<ref id="b21-sensors-12-15983"><label>21.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Aggarwal</surname><given-names>P.</given-names></name><name><surname>Syed</surname><given-names>Z.</given-names></name><name><surname>Noureldin</surname><given-names>A.</given-names></name><name><surname>El-Sheimy</surname><given-names>N.</given-names></name></person-group><source>MEMS-Base Integrated Navigation</source><publisher-name>Artech House Ed.</publisher-name><publisher-loc>Norwood, MA, USA</publisher-loc><year>2010</year></citation></ref>
<ref id="b22-sensors-12-15983"><label>22.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Savage</surname><given-names>P.G.</given-names></name></person-group><source>Introduction to Strapdown Inertial Navigation Systems</source><publisher-name>Strapdown Associates</publisher-name><publisher-loc>Maple Plain, MN, USA</publisher-loc><year>1996</year><volume>1—2</volume></citation></ref>
<ref id="b23-sensors-12-15983"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klein</surname><given-names>I.</given-names></name><name><surname>Filin</surname><given-names>S.</given-names></name><name><surname>Toledo</surname><given-names>T.</given-names></name></person-group><article-title>Pseudo-measurements as aiding to INS during GPS outages</article-title><source>J. Navigation</source><year>2010</year><volume>57</volume><fpage>25</fpage><lpage>34</lpage></citation></ref>
<ref id="b24-sensors-12-15983"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Angrisano</surname><given-names>A.</given-names></name><name><surname>Petovello</surname><given-names>M.</given-names></name><name><surname>Pugliano</surname><given-names>G.</given-names></name></person-group><article-title>Benefits of combined GPS/GLONASS with low-cost MEMS IMUs for vehicular urban navigation</article-title><source>Sensors</source><year>2012</year><volume>12</volume><fpage>5134</fpage><lpage>5158</lpage><pub-id pub-id-type="doi">10.3390/s120405134</pub-id><pub-id pub-id-type="pmid">22666079</pub-id></citation></ref>
<ref id="b25-sensors-12-15983"><label>25.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Syed</surname><given-names>Z.</given-names></name><name><surname>Aggarwal</surname><given-names>P.</given-names></name><name><surname>Yang</surname><given-names>Y.</given-names></name><name><surname>El-Sheimy</surname><given-names>N.</given-names></name></person-group><article-title>Improved Vehicle Navigation Using Aiding with Tightly Coupled Integration</article-title><conf-name>Proceedings of IEEE Vehicular Technology Conference</conf-name><conf-loc>Singapore</conf-loc><conf-date>11–14 May 2008</conf-date><fpage>3077</fpage><lpage>3081</lpage></citation></ref>
<ref id="b26-sensors-12-15983"><label>26.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Sukkarieh</surname><given-names>S.</given-names></name></person-group><article-title>Low Cost, High Integrity, Aided Inertial Navigation Systems for Autonomous Land Vehicles</article-title><source>Ph.D. Thesis</source><publisher-name>University of Sydney, Sydney</publisher-name><publisher-loc>NSW, Australia</publisher-loc><year>2000</year></citation></ref>
<ref id="b27-sensors-12-15983"><label>27.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Google Improvements on GE and GM</collab></person-group><comment>Available online: <ext-link xlink:href="http://google-latlong.blogspot.it/2010/07/improving-quality-of-borders-in-google.html" ext-link-type="uri">http://google-latlong.blogspot.it/2010/07/improving-quality-of-borders-in-google.html</ext-link> (accessed on 14 November 2012)</comment></citation></ref>
<ref id="b28-sensors-12-15983"><label>28.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Google Maps Accuracy</collab></person-group><comment>Available online: <ext-link xlink:href="http://freegeographytools.com/2007/positional-accuracy-in-google-maps-my-maps-vs-google-earth" ext-link-type="uri">http://freegeographytools.com/2007/positional-accuracy-in-google-maps-my-maps-vs-google-earth</ext-link> (accessed on 14 November 2012)</comment></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-15983" position="float">
<label>Figure 1.</label>
<caption>
<p>A closed-loop Loosely Coupled GPS/INS integration scheme [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>].</p></caption>
<graphic xlink:href="sensors-12-15983f1.gif"/></fig>
<fig id="f2-sensors-12-15983" position="float">
<label>Figure 2.</label>
<caption>
<p>Theoretical Double Integration of different noise sources for a calibrated Gx2IMU.</p></caption>
<graphic xlink:href="sensors-12-15983f2.gif"/></fig>
<fig id="f3-sensors-12-15983" position="float">
<label>Figure 3.</label>
<caption>
<p>Scheme of the INS Mechanization equations [<xref ref-type="bibr" rid="b3-sensors-12-15983">3</xref>].</p></caption>
<graphic xlink:href="sensors-12-15983f3.gif"/></fig>
<fig id="f4-sensors-12-15983" position="float">
<label>Figure 4.</label>
<caption>
<p>Test track view and 3D plot.</p></caption>
<graphic xlink:href="sensors-12-15983f4.gif"/></fig>
<fig id="f5-sensors-12-15983" position="float">
<label>Figure 5.</label>
<caption>
<p>LC performance obtained by Simulation: Position (LLH), Velocity and Euler Angles.</p></caption>
<graphic xlink:href="sensors-12-15983f5.gif"/></fig>
<fig id="f6-sensors-12-15983" position="float">
<label>Figure 6.</label>
<caption>
<p>LC performance obtained with real data: Position (LLH), Velocity and Euler Angles.</p></caption>
<graphic xlink:href="sensors-12-15983f6a.gif"/>
<graphic xlink:href="sensors-12-15983f6b.gif"/></fig>
<fig id="f7-sensors-12-15983" position="float">
<label>Figure 7.</label>
<caption>
<p>A closed-loop Loosely Coupled GPS/INS integration scheme with constraint.</p></caption>
<graphic xlink:href="sensors-12-15983f7.gif"/></fig>
<fig id="f8-sensors-12-15983" position="float">
<label>Figure 8.</label>
<caption>
<p>Example of constraints on position. The boundaries of the street are shown (red lines) and the user position has been approximated as affected by a white noise (blue).</p></caption>
<graphic xlink:href="sensors-12-15983f8.gif"/></fig>
<fig id="f9-sensors-12-15983" position="float">
<label>Figure 9.</label>
<caption>
<p>LC with and without constraints (<bold>a</bold>) and Trend of error 3D (<bold>b</bold>).</p></caption>
<graphic xlink:href="sensors-12-15983f9.gif"/></fig>
<fig id="f10-sensors-12-15983" position="float">
<label>Figure10.</label>
<caption>
<p>LC without constraints (<bold>a</bold>) and with constraints (<bold>b</bold>). Error trend of altitude (<bold>c</bold>).</p></caption>
<graphic xlink:href="sensors-12-15983f10.gif"/></fig>
<fig id="f11-sensors-12-15983" position="float">
<label>Figure 11.</label>
<caption>
<p>LC in case of GPS outage- Error in case of outage with LC algorithm.</p></caption>
<graphic xlink:href="sensors-12-15983f11.gif"/></fig>
<fig id="f12-sensors-12-15983" position="float">
<label>Figure 12.</label>
<caption>
<p>New approach in case of GPS outages.</p></caption>
<graphic xlink:href="sensors-12-15983f12.gif"/></fig>
<fig id="f13-sensors-12-15983" position="float">
<label>Figure 13.</label>
<caption>
<p>K(t) linear profile.</p></caption>
<graphic xlink:href="sensors-12-15983f13.gif"/></fig>
<fig id="f14-sensors-12-15983" position="float">
<label>Figure 14.</label>
<caption>
<p>LC in case of GPS outage with weigthening of the last available GPS solution.</p></caption>
<graphic xlink:href="sensors-12-15983f14.gif"/></fig>
<fig id="f15-sensors-12-15983" position="float">
<label>Figure 15.</label>
<caption>
<p>α design for Kalman filter.</p></caption>
<graphic xlink:href="sensors-12-15983f15.gif"/></fig>
<fig id="f16-sensors-12-15983" position="float">
<label>Figure 16.</label>
<caption>
<p>LC in case of GPS outage with weighting strategies.</p></caption>
<graphic xlink:href="sensors-12-15983f16.gif"/></fig>
<table-wrap id="t1-sensors-12-15983" position="float">
<label>Table 1.</label>
<caption>
<p>Typical characteristics of a low-cost MEMS IMU.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="center" valign="bottom" rowspan="2"><bold>Gyroscope (Angular Rate)</bold></td>
<td align="center" valign="top">Noise (ARW)
<mml:math id="mm47" display="inline">
<mml:semantics id="sm47">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo>°</mml:mo>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mi>h</mml:mi></mml:msqrt>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></td></tr>
<tr>
<td align="center" valign="top">3</td></tr>
<tr>
<td valign="bottom" colspan="2">
<hr/></td></tr>
<tr>
<td align="center" valign="bottom" rowspan="2"><bold>Accelerometer</bold></td>
<td align="center" valign="top">Noise (VRW)
<mml:math id="mm48" display="inline">
<mml:semantics id="sm48">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>ω</mml:mi>
<mml:mi>g</mml:mi>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>z</mml:mi></mml:mrow></mml:msqrt>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></td></tr>
<tr>
<td align="center" valign="top">1000</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-15983" position="float">
<label>Table 2.</label>
<caption>
<p>Simulated measurement variances.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="left" valign="middle" rowspan="5"><bold>GPS</bold> Noise Variance (R)</td>
<td align="left" valign="top">Position [m<sup>2</sup>]</td></tr>
<tr>
<td align="left" valign="top">100</td></tr>
<tr>
<td valign="bottom" colspan="2">
<hr/></td></tr>
<tr>
<td align="left" valign="top">Velocity [m/sec]<sup>2</sup></td></tr>
<tr>
<td align="left" valign="top">10</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-15983" position="float">
<label>Table 3.</label>
<caption>
<p>Noise covariance features.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="left" valign="middle" rowspan="5"><bold>GPS</bold> Noise Variance (R)</td>
<td align="left" valign="top">Position [m<sup>2</sup>]</td></tr>
<tr>
<td align="left" valign="top">10</td></tr>
<tr>
<td valign="bottom" colspan="2">
<hr/></td></tr>
<tr>
<td align="left" valign="top">Velocity [m/s]<sup>2</sup></td></tr>
<tr>
<td align="left" valign="top">0.2</td></tr></tbody></table></table-wrap></sec></back></article>
