
A satellite launcher requires accurate and reliable navigation to reach orbit safely. This challenging application includes vertical launch, flying through diverse layers of the atmosphere, discontinuous acceleration and stages separation, high terminal velocities and hostile temperature and vibration ranges. The Inertial Navigation System (INS) is typically coupled with a Global Navigation Satellite System (GNSS) receiver to achieve the desired solution quality along the complete ascent trajectory. Here, several INS/GNSS integrated navigation strategies are described and evaluated through numerical simulations. In particular, we evaluate different INS/GNSS integration using: loose coupling, tight coupling and an intermediate Kalman filter on the receiver to enhance the loosely coupled navigation solution. The main contributions are: a compensation model of tropospheric delays on the GNSS observables, a compensation of processing/communication delays on GNSS receiver outputs, covariance adaptations to consider vehicle's high dynamics, and an specific way to integrate the filtered solution and its covariance provided by the GNSS receiver. The tightly coupled integrated navigation proved to be the best choice to handle possible GNSS receiver positioning solution outages, to exploit more degrees of freedom for the compensation of GNSS observables and the possibility to make a cross validation of individual GNSS observables with INS-based information. This is specially important during the periods with a low number of satellites in view when the GNSS positioning solution can not be validated or even computed by the GNSS receiver alone. Finally, a test with hardware in the loop is provided to validate the numerical result for the selected tightly coupled INS/GNSS.
Citation: Victor Cánepa, Pablo Servidia. Design and evaluation of INS/GNSS loose and tight coupling applied to launch vehicle integrated navigation[J]. Metascience in Aerospace, 2024, 1(1): 66-109. doi: 10.3934/mina.2024004
[1] | Yuan Hu, Zhihao Jiang, Xintai Yuan, Xifan Hua, Wei Liu . Isometric mapping algorithm based GNSS-R sea ice detection. Metascience in Aerospace, 2024, 1(1): 38-52. doi: 10.3934/mina.2024002 |
[2] | Pasynok Sergey . Cumulative STF coefficients evaluation and validation. Metascience in Aerospace, 2024, 1(4): 371-378. doi: 10.3934/mina.2024017 |
[3] | Jubilee Prasad Rao, Sai Naveen Chimata . Machine learning-based surrogates for eVTOL performance prediction and design optimization. Metascience in Aerospace, 2024, 1(3): 246-267. doi: 10.3934/mina.2024011 |
[4] | Jiaqing Kou, Tianbai Xiao . Artificial intelligence and machine learning in aerodynamics. Metascience in Aerospace, 2024, 1(2): 190-218. doi: 10.3934/mina.2024009 |
[5] | Sarker Ashraful Islam, Farhana Kabir Esheta, Md Mahir Shahriar, Dewan Hasan Ahmed . Numerical study of aerodynamic drag reduction of a circular cylinder with an inbuilt nozzle. Metascience in Aerospace, 2024, 1(4): 379-400. doi: 10.3934/mina.2024018 |
[6] | Shorob Alam Bhuiyan, Ikram Hossain, Redwan Hossain, Md. Sakib Ibn Mobarak Abir, Dewan Hasan Ahmed . Effect of a bioinspired upstream extended surface profile on flow characteristics and a drag coefficient of a circular cylinder. Metascience in Aerospace, 2024, 1(2): 130-158. doi: 10.3934/mina.2024006 |
[7] | Ephraim Suhir . Probabilistic design for reliability of aerospace electronics and photonics: role, significance, attributes, challenges. Metascience in Aerospace, 2024, 1(2): 185-189. doi: 10.3934/mina.2024008 |
[8] | Igor V. Bezmenov . Trend detection in time series of measurement data in solving problems in space geodynamics and other research areas. Metascience in Aerospace, 2024, 1(3): 268-291. doi: 10.3934/mina.2024012 |
[9] | O.N. Korsun, Om Moung Htang . The practical rules for aircraft parameters identification based on flight test data. Metascience in Aerospace, 2024, 1(1): 53-65. doi: 10.3934/mina.2024003 |
[10] | Dulce M Graciano, Fernando Z Sierra-Espinosa, Juan C García . Numerical simulation of vortex-induced vibration in a bladeless turbine: Effects of separation distance between tandem harvesters. Metascience in Aerospace, 2024, 1(3): 309-328. doi: 10.3934/mina.2024014 |
A satellite launcher requires accurate and reliable navigation to reach orbit safely. This challenging application includes vertical launch, flying through diverse layers of the atmosphere, discontinuous acceleration and stages separation, high terminal velocities and hostile temperature and vibration ranges. The Inertial Navigation System (INS) is typically coupled with a Global Navigation Satellite System (GNSS) receiver to achieve the desired solution quality along the complete ascent trajectory. Here, several INS/GNSS integrated navigation strategies are described and evaluated through numerical simulations. In particular, we evaluate different INS/GNSS integration using: loose coupling, tight coupling and an intermediate Kalman filter on the receiver to enhance the loosely coupled navigation solution. The main contributions are: a compensation model of tropospheric delays on the GNSS observables, a compensation of processing/communication delays on GNSS receiver outputs, covariance adaptations to consider vehicle's high dynamics, and an specific way to integrate the filtered solution and its covariance provided by the GNSS receiver. The tightly coupled integrated navigation proved to be the best choice to handle possible GNSS receiver positioning solution outages, to exploit more degrees of freedom for the compensation of GNSS observables and the possibility to make a cross validation of individual GNSS observables with INS-based information. This is specially important during the periods with a low number of satellites in view when the GNSS positioning solution can not be validated or even computed by the GNSS receiver alone. Finally, a test with hardware in the loop is provided to validate the numerical result for the selected tightly coupled INS/GNSS.
B, E, I | Body, Earth-Centered Earth-Fixed and Inertial frames. |
→p,→v,→ω,→θ | Vehicle's current state (position, velocity, angular velocity and attitude). |
→pd,→vd,→ωd,→θd | Vehicle's desired state (position, velocity, angular velocity and attitude). |
s | GNSS satellite index. |
k | Discrete time index. |
c | Speed of light. |
tpps,k | Times of validity of GNSS measurements (one per second). |
Δtk,˜Δtk | Receiver's solution processing/communication delay, and its measurement. |
Ω_eei | Coordinates of Earth angular velocity from I to E, expressed in E. |
S(⋅), δ(⋅) | Cross product operator and Dirac delta function. |
GNSS measurements, models and fix computation: | |
˜ρs,k, ˜ρcs,k | Measured pseudorange for satellite s at time tk, and its compensated value. |
tTs,k | Transmission time from satellite s, of the signal received at time tk. |
tRk | Reception time corresponding to the solution available at time tk. |
τs,k | Propagation time from satellite s available at tk. |
ηTs,k | Transmission time measurement noise obtained for satellite s available at tk. |
τGs,k | Vacuum propagation time from the satellite s available at tk. |
τIs,k,τTs,k,τRs,k | Ionospheric, tropospheric and relativistic delays from satellite s available at tk. |
bt,k, dt,k | Receiver clock bias and drift at time tk. |
Δρs,k | Compensation term for pseudorange measurement from satellite s at time tk. |
˜Δfs,k | Doppler carrier frequency deviation, obtained from s at time tk. |
fs0, fsR,k | Nominal and measured carrier frequency, obtained from s at time tk. |
ηfs,k | Carrier frequency measurement noise. |
λs | GNSS signal wavelenght transmitted by satellite s. |
˙Rs,k | True derivative of the range from satellite s a time tk. |
v_ers,k | Relative velocity between satellite s and the receiver, at time tk. |
e_es,k | Vector between satellite s and the receiver at time tk. |
p_es,k,v_es,k | Position and velocity of s satellite expressed in E and valid for time tk. |
p_ek, v_ek | User position and velocity expressed in E at time tk. |
Sc1,Sc2 | Clock bias and clock drift process noises power spectral density. |
εs,k, hv,k | Elevation and altitude parameters for the tropospheric delay model. |
Re | Earth radius parameter for the tropospheric delay model. |
ˆΔρT, ˆΔρI, ˆΔρR | Tropospheric, ionospheric and relativistic delay compensation models. |
˜ρ_k, ˜˙ρ_k | Pseudoranges and delta-pseudoranges measurement at time tk. |
˜E_k | Ephemeris vectors computed for time tk in frame E. |
Nk | Number of visible satellites used for PVT fix computation at time tk. |
ˆρ_k | Vector of the pseudorange estimations for visible satellites, at time tk. |
p_Pk, bPc,k | Position and clock bias determined by Bancroft algorithm at time tk. |
v_Pk, dPc,k | Velocity and clock drift determined using Bancroft solution at time tk. |
qPk | Quality number of the PVT fix solution. |
Extended Kalman Filter for INS/GNSS loosely coupled integration: | |
θ_bbe, v_e, p_e | Vehicle's attitude, linear velocity and position state vectors. |
x_, x_INS | Vehicle state and associated INS output, with attitude, linear velocity and position. |
ω_bbi | Coordinate vector of the angular velocity →ω from I to B, expressed in B. |
μ_ | Inertial measurements, including gyroscope output μ_ω and accelerometer output μ_f. |
ξ_ω,ξ_f | Additive process noises of gyroscopes and accelerometers. |
γ_e, ξ_g | Gravity acceleration and process noise (model uncertainty) on E frame. |
a_b | Vehicle's acceleration in B frame. |
Ceb | Vehicle's attitude matrix of the body B respect to E. |
ξ_p | Additive process noise for the position derivative. |
ξ_μ, ξ_b | Process noises for the IMU and model uncertainties. |
b_, b_ω, b_f | b_ is the IMU biases composed by gyro biases b_ω and accelerometer biases b_f. |
ξ_bω, ξ_bf | Process noises for IMU biases. |
fμ | Nonlinear function for vehicle's kinematic model of the EKF-LC. |
Bμ | Input matrix for the vehicle's kinematic model on the EKF-LC. |
ξ_ | Process noises for the EKF-LC vehicle's kinematic model. |
Qξ | Covariance of the process noises for the EKF-LC vehicle's kinematic model. |
χ_ | Augmented state for the EKF-LC. |
f | Right-hand side of ˙χ_ in the EKF-LC process model. |
B | Input matrix for the EKF-LC augmented state. |
δχ_ | Augmented state error respect to an estimation. |
ˆf_b, ˆω_bbi | Estimate of the specific force and the angular velocity in body frame. |
ˆb_ω, ˆb_f | Gyroscope and accelerometer bias estimations. |
ξ_χk | Discrete-time process noises for the EKF-LC. |
˜y_k | Position and velocity solutions as measurements for the EKF-LC, at time tk. |
η_k | Measurement noises vector for the external measurement on EKF-LC, at time tk. |
H | Measurement matrix on the EKF-LC model. |
Rk | Covariance of the measurement noises for the EKF-LC, at time tk. |
δχ_kk | A posteriori estimation error of the augmented state for the EKF-LC, at time tk. |
ˆχ_k−1k, ˆχkk | A priori and a posteriori augmented state estimations in the EKF-LC, at time tk. |
ˆb_kk | A posteriori estimation of IMU biases. |
Φk | Transition matrix at time tk in the EKF-LC. |
Qχk | Covariance of the discrete-time process noise in the EKF-LC. |
Pk−1k, Pkk | Covariance of the a priori and a posteriori augmented state estimation error. |
Kk | Kalman gain matrix in the EKF-LC. |
ˆy_kk | INS estimation of vehicle's position and velocity at time tk. |
Affordable modern navigation solutions integrates an Inertial Navigation System (INS, see [1,2]) with a receiver of a Global Navigation System by Satellites (GNSS). This integration (or coupling) improves the quality of the navigation even if the INS has a low quality Inertial Measurement Unit (IMU, with three or more gyroscopes and accelerometers), due to the fusion between the inertial navigation estimates and the independent GNSS receiver measurements. The vehicle's guidance and control ([3,4,5]) and the flight safety [6] are users of these integrated navigation outputs, being required to have navigation solutions independent from the one being used for the guidance and control. In this context, the cost of the whole system is significatively reduced by allowing lower cost IMUs, which motivated the assessment of reliable INS/GNSS integration algorithms presented in this work.
The Extended Kalman Filter (EKF) has been used since its formulation for spacecraft navigation, and is typically used to combine the INS and GNSS receiver outputs. Other integration schemes have been also considered in the literature, including the Robust Unscented Kalman Filter (RUKF), the derivative UKF and the direct filtering approaches [7,8,9,10]. Figure 1 shows the Navigation functional block in the context of a Navigation, Guidance and Control (NGC) system of an aerospace propelled vehicle. The Guidance block compares the Trajectory block output (i.e. the desired trajectory →pd(t),→vd(t) with initial conditoin →p(t0),→v(t0)) with the Navigation block output (i.e., the current kinematic state →p(t),→v(t)) and generates an output in terms of attitude reference (→θd(t),→ωd(t)) to the (attitude) Control block and other output to the Propulsion/Staging block (i.e. the main engine start or cut-off events, and stages/fairing separation events). The Control block compares the guidance attitude reference with the current navigated attitude (→θ(t),→ω(t)) and computes the commands to be implemented by the actuators. The rotation and translation dynamics are determined by the Guidance, Control and derived actuation allocation functions as well as the flight environment, and generate the (unknown) physical state for the inertial sensors and GNSS receivers whose measurements are the input to the Navigation block.
A satellite launch vehicle has unique features due to its wide operational range in terms of acceleration, velocity, position, temperature, vibrations, antenna visibility, etc. For this reason, selecting constant covariance matrices for the process noises (covariance Q) and the external measurement noises (covariance R) for the EKF implementation in the Navigation block may not be realistic beyond some suborbital flights [11]. Due to these particular flight dynamics, the system noise statistics may be unknown and time varying, which requires specific filtering frameworks [12,13,14,15]. The measurement uncertainties are also affected by the delay of the GNSS receiver solution availability, which is more significant for higher accelerations and velocities. On [16] we showed convenient to use an adaptive version of the EKF to compensate these effects, which will be also used here on the GNSS receiver filtered solution. Moreover we propose a compensation for the tropospheric delay effect on the GNSS pseudoranges during the ascent through different layers of the atmosphere, including negative elevations for the line of sight which are progressively incorporate during ascent. Finally, to assess the robustness of the navigation we simulate a model of variation of IMU biases during ascent (with increasing temperature) and the possible failure on the GNSS receiver and/or antennas.
In this work we are interested in the design and evaluation of possible coupling strategies. A comparison is made between the following integrated navigation alternatives:
● Loosely coupled INS/GNSS, using as external measurements the PVT fix solution (Position, Velocity, Time) provided by the GNSS receiver (at least four satellites are necessary, see [17]).
● Loosely coupled INS/GNSS, using as external measurements a PVT filtered solution provided by the GNSS receiver, which assumes a model of the movement to smooth and robustify the solution. This filter on the receiver will be called EKF-GNSS. It is not necessary to have at least four satellites for a valid solution, as the EKF-GNSS propagates it, but this solution will have an error as the internal model does not know the true accelerations and angular velocities. On the other hand, there is a loosely coupled EKF filter to combine this solution and its covariance with the INS output.
● Tightly coupled INS/GNSS, using as external measurements the observables (pseudorange and delta-pseudorange) and satellite ephemeris from the GNSS receiver. It is not necessary to have four satellites and with at least one satellite the innovations will be integrated with the inertial navigation, hence this option is a priori more efficient in terms of the use of the available information.
The solutions given by all these strategies are compared using the numerical simulator framework described in [3], on which it is possible to simplify the evaluation of all the estimation errors and produce the failure scenarios as desired (as presented in [18]). This comparison is shown in Figure 2, where EKF-LC is the loosely coupled extended Kalman filter and EKF-TC is the tightly coupled extended Kalman filter. The bottom layer on this figure defines the type of GNSS receiver output, which can be a simple PVT model (white noise plus the simulated variables) or the lower level information generated by the receiver (ephemeris, pseudorange, delta-pseudoranges, etc). The middle layer is only active when the receiver delivers high level outputs as the PVT fix solution (computed with the Bancroft algorithm) or the PVT filtered solution obtained with the EKF-GNSS. Finally, the third (and higher) level contains the integrated navigation blocks (EKF-LC and EKF-TC). This comprehensive evaluation is the main achievement of the current work, including the simulation of launch vehicle's dynamics, GNSS receiver solutions, observables generation, associated ephemeris and main IMU features, which will be augmented with hardware in the loop evaluations on a future work. Other information fusion techniques have been also considered in the literature, including nonlinear filtering [19,20,21], which is beyond the scope of this work and will be compared in future research.
Section 2 provides the measurement model for the GNSS observables in the receiver (pseudorange, delta-pseudorange and user clock) and Section 3 provides a deterministic compensation model for the atmospheric and relativistic effects. A summary of the EKF-LC applied to a launch vehicle is given in the Appendix. It includes a description of the kinematic model of the vehicle with measurements of acceleration (from accelerometers), angular velocity (from gyroscopes), position and velocity (from the GNSS receiver solution).
On Section 4, an algorithm is proposed to compute the PVT solution using the EKF-GNSS filter, and compared with respect to the typical fix solution obtained with the well-known Bancroft algorithm (see [17]), which requires at least four visible satellites to obtain a result. The EKF-GNSS uses adaptive covariance matrices as a function of the last velocities to obtain a coarse estimate of the acceleration, and provides state variable covariances to describe the PVT filtered solution to be integrated as external measurements by the EKF-LC (i.e. a time varying R matrix).
Section 5 develops the EKF-TC for the proposed tightly coupled INS/GNSS. The main advantage of this coupling is that the information is exploited more efficiently, as the observables are used even when the number of satellite is not enough to compute the PVT fix solution. The communication delay compensation for EKF-TC is provided in subsection 5.4.
These methods are evaluated by simulations in Section 6, showing the advantage of the PVT filtered solution over the PVT fix solution, for the loosely coupled INS/GNSS. Moreover, the tightly coupled INS/GNSS is shown better than the other options, and is finally validated with a test using hardware in the loop. The conclusions are provided in Section 7.
The GNSS-based navigation requires to develop a measurement model for the pseudoranges, delta-pseudoranges and the user clock dynamics, which are used both for the analytic description and the onboard prediction of the measurements. For the onboard evaluation of these models, we consider that the receiver obtains the ephemeris of the GNSS satellites from the signal code. For each satellite we can compute the position p_es,k and velocity v_es,k, both written in E frame at the reception time tRk. As the information in the signal code is given on E frame at the transmission time of each satellite, it is necessary to correct this frame using the Earth angular velocity and the propagation time. In order to build the receiver observables, we need first to define the user (i.e. receiver) clock dynamics in terms of a bias and drift.
The clock bias bt and drift dt can be described with x_c:=c[btdt]T with the continuous model [22]:
˙x_c(t)=Fcx_c(t)+ϵ_c(t), Fc:=[0100] | (2.1) |
where ϵ_c is a zero-mean gaussian white noise with autocovariance E[ϵ_c(t)ϵ_Tc(τ)]=δ(τ−t)Qc, being:
Qc:=c[Sc100Sc2], Sc1=h02, Sc2=2π2h−2 | (2.2) |
The coefficients h0 and h−2 can be obtained as a function of the Allan variances [39] and can be found for typical GNSS clocks as the high quality Temperature Compensated Crystal Oscillator in [41]:
h0:=2×10−21, h−2:=3×10−24 | (2.3) |
In the following we will construct the model for the pseudorange and delta-pseudorange using the evaluation of the user clock at the reception times tRk, hence we define bt,k=bt(tRk) and dt,k=dt(tRk).
Let ˜ρs,k be the pseudorange (i.e. computed distance using GNSS measurements) between the vehicle and the GNSS satellite s, which is computed with the transmission time tTs,k, and the time of reception tRk at the k-th measurement instant. Each tTs,k is measured using a GNSS time system:
tTs,k=tRk−τs,k−ηTs,k | (2.4) |
where τs,k is the propagation time and ηTs,k is a measurement zero-mean gaussian noise. The time τs,k is determined by the vacuum propagation time τGs,k:=Rs,k/c, where Rs,k is the distance between the user location at reception time tRk and the satellite s location at transmission time tTs,k, plus the signal delay times τIs,k, τTs,k and τRs,k, corresponding respectively to the ionospheric, tropospheric and relativistic delays (see [3]):
τs,k:=τGs,k+τIs,k+τTs,k+τRs,k | (2.5) |
The time tRk is measured with a local clock modelled with an unknown bias bt,k relative to the GNSS system time, which is time-varying with the unknown clock dynamic. The receiver clock bias is common for all the pseudoranges, provided that all the measurements are made at the same time, and the measured reception time is tRk+bt,k. Hence the pseudorange measurement ˜ρs,k is defined as:
˜ρs,k:=c(tRk+bt,k)−ctTs,k | (2.6) |
=c(tRk−tTs,k)+cbt,k | (2.7) |
=cτs,k+cbt,k+cηTs,k | (2.8) |
with c the speed of light in vacuum. Let Δρs,k be the sum of atmospheric and relativistic delays, hence:
˜ρs,k=cτGs,k+cτIs,k+cτTs,k+cτRs,k+cbt,k+cηTs,k | (2.9) |
=Rs,k+Δρs,k+cbt,k+cηTs,k | (2.10) |
where Rs,k=‖p_es,k−p_ek‖. Finally, for certain model ˆΔρs,k of Δρs,k it will be useful to define the compensated pseudorange measurement:
˜ρcs,k:=˜ρs,k−ˆΔρs,k | (2.11) |
≈Rs,k+cbt,k+cηTs,k | (2.12) |
The Doppler effect makes possible to construct the delta-pseudorange ˜˙ρs,k, as a function of the difference ˜Δfs,k between the measured carrier frequency from the s-th GNSS satellite fsR,k and its nominal value fs0:
˜Δfs,k:=−(fs0−fsR,k)−fs0dt,k−fs0ηfs,k | (2.13) |
where ηfs,k is a zero-mean white gaussian measurement noise and dt,k is the clock drift term.
Let λs=c/fs0 be the carrier wave lenght, hence:
˜˙ρs,k:=−λs˜Δfs,k | (2.14) |
=λs(fs0−fsR,k)+λsfs0dt,k+λsfs0ηfs,k | (2.15) |
=˙Rs,k+cdt,k+cηfs,k | (2.16) |
where we have used ˙Rs,k=λs(fs0−fsR,k), which is known as the Doppler effect (see [40]). Moreover, ˙Rs,k is also given by the dot product between the relative velocity vector v_ers,k and the unit vector ˘e_es,k which points along the line of sight between the user and the s-th satellite, i.e.:
˙Rs,k:=˘e_eTs,k⋅v_ers,k | (2.17) |
with:
e_es,k:=p_es,k−p_ek,˘e_es,k:=e_es,k‖e_es,k‖ | (2.18) |
and [18]:
v_ers,k:=Ω_eei×p_es,k+v_es,k−Ω_eei×p_ek−v_ek | (2.19) |
The compensation (2.11) requires to estimate Δρs,k onboard with models for the troposphere, ionosphere and relativistic effects. A simple tropospheric model will be extended for smaller and negative elevations, while for the ionosphere we will use the Klobuchar model [22,33]. A simple relativistic model is also provided for compensation.
A mapping function of the tropospheric delay is given in [22] as a function of the user altitude hv,k and the line of sight elevation εs,k relative to the s-th satellite at time tk. For the elevation range 5∘≤εs,k≤90∘ the following function provides the delay in meters:
ΔρTm(εs,k,hv,k):=kαe−hv,k/hτsin(εs,k)+ϕα | (3.1) |
where hτ:=7518.8m, ϕα:=0.0121 and kα:=2.47m. As for εs,k<εα=5∘ the model is not defined, lets consider the following function for all the positive elevations:
ΔρTa(εs,k,hv,k):=ΔρTm(εs,k,hv,k),ifεs,k≥εα | (3.2) |
ΔρTa(εs,k,hv,k):=kαe−hv,k/hτ[2sin(εα)+ϕα−1sin(2εα−εs,k)+ϕα],if 0≤εs,k<εα | (3.3) |
which now is valid for ΔρTm in the range 0≤εs,k≤90∘.
For negative angles εmin(hv,k)≤εs,k≤0, where εmin:=−acos(Re/(Re+hv,k))≤0 is the minimum feasible angle not blocked by the Earth with local radius Re. Here we follow the same idea taken in the simulator implementation [3], which composes the delay for negative angles as shown in the Figure 3. The total delay is given by the sum of delay segments '1-2'+'2-3'+'3-s', hence:
ΔρTd:=Δρ3−s+Δρ2−3+Δρ1−2,ifεmin(hv,k)≤εs,k≤0 | (3.4) |
The point 2 was defined such that the elevation is zero which corresponds to the altitude ˉhs,k:=ˉh(εs,k,hv,k) such that:
ˉh(εs,k,hv,k):=(Re+hv,k)cos(εs,k)−Re | (3.5) |
where Re is the local Earth radius. The tropospheric delay is computed using (3.3):
Δρ2−s(εs,k,hv,k):=ΔρTa(0,ˉh(εs,k,hv,k)) | (3.6) |
On the segment between the point 3 and the satellite, the delay is computed as:
Δρ3−s(εs,k,hv,k):=ΔρTa(−εs,k,hv,k) | (3.7) |
With previous definitions:
Δρ2−3=Δρ2−s−Δρ3−s | (3.8) |
Δρ1−2=Δρ2−3 | (3.9) |
and (3.4) is computed for negative values of εs,k as:
ΔρTd(εs,k,hv,k):=ΔρTa(−εs,k,hv,k)+2[ΔρTa(0,ˉh(εs,k,hv,k))−ΔρTa(−εs,k,hv,k)] | (3.10) |
:=2ΔρTa(0,ˉh(εs,k,hv,k))−ΔρTa(−εs,k,hv,k) | (3.11) |
Considering (3.2), (3.3) and (3.11), for all εmin(hv,k)≤εs,k≤90∘ the proposed model for the Tropospheric Delay Compensation (TDC) becomes:
ΔρT(εs,k,hv,k):=ΔρTa(εs,k,hv,k),ifεs,k≥0 | (3.12) |
ΔρT(εs,k,hv,k):=2ΔρTa(0,ˉh(εs,k,hv,k))−ΔρTa(−εs,k,hv,k),ifεs,k<0 | (3.13) |
Figure 4 shows ˆΔρTs,k:=ΔρT(εs,k,hv,k) as a function of εs,k and parameterized for different positive altitudes hv.
Finally, a better result was obtained, by comparison with the high fidelity model given in [3], by replacing the gain parameter kα in (3.1) and (3.3) by a gain function k(εs,k,hv,k) as follows:
k(εs,k,hv,k):=kα⋅max[0,(1−hv,k16hτ)],ifεs,k≥εα | (3.14) |
k(εs,k,hv,k):=kα⋅max[0,(910+εs,k10εα−hv,k16hτ)],if0≤εs,k<εα | (3.15) |
The compensation uses the model proposed by Klobuchar [33] for the Ionospheric Delay Compensation (IDC), ˆΔρIs,k, as a function of coefficients broadcasted by the GPS constellation. This model does not consider the variation in altitude but only the elevation of the line of sight.
The relativistic delay affects the measurement of the pseudoranges, and is included on the estimate ˆΔρs,k. It is well known that part of this delay is generated by orbit eccentricity [3]. This part of the effect can be modelled as a function of the ephemeris of each observed satellite s at time tk:
ˆΔρRs,k:=−2c2p_eTs,kv_es,k | (3.16) |
It is well known that to obtain the PVT fix solution it is necessary to have at least four GNSS satellites ([17,22]), being possible to validate it with more than four GNSS satellites in view. A more accurate solution can be obtained by filtering the GNSS observables to obtain the PVT filtered solution, using certain hypothesis on the user motion dynamics as considered in [23,24]. To model these PVT solutions, we assume that there are Nk satellites acquired by the receiver on times tk=tRk, with the associated ephemeris, pseudorange and delta-pseudorange. At each time, the vector ˜ρ_k∈RNk contains the measured pseudoranges and the vector ˜˙ρ_k∈RNk contains the measured delta-pseudoranges. Also, the vector ˜E_k contains the ephemeris position and velocity coordinates of the Nk satellites.
The equations relating the nonlinear GNSS measurements with the unknown position and clock bias can be solved iteratively in steps i:=1,...,Mk using Newton method [17], and provided Nk≥4. In order to avoid this complexity, an approximate algebraic method has been typically adopted [22]. The solution proposed by Bancroft in [17] re-states the problem in terms of a second order polynomial, by using the same linear functional as defined by Lorentz on relativistic mechanics [25]. The PVT point solution p_Pk on frame E and the clock bias bPc,k, for time tk, are given by the Bancroft algorithm as:
p_Pk:=[y1y2y3]T, bPc,k:=y4 | (4.1) |
where y_:=[y1y2y3y4]T is given by one of the following options:
y_∈λ1,2u_+v_ | (4.2) |
being λ1,2 the solutions at time tk of a second order polinomial. The vectors u_,v_∈R4 are determined by the pseudoranges and ephemeris of the GNSS satellites observed at that moment. A test of residuals selects which of the two solutions in (4.2) is the correct one and describes it with a quality number qPk∈N which measures the degree of accuracy of the point solution. The point velocity solution v_Pk for time tk in frame E and the associated clock drift dPc,k can be obtained in a similar way [26].
Nomenclature:
p_Fk, v_Fk | Position and velocity computed using EKF-GNSS algorithm. |
ΔT | GNSS receiver solution period, typically one second. |
a_Fk | Acceleration estimate computed by the EKF-GNSS filter at time tk. |
˙a_Fk | Discrete zero-mean white noise with covariance matrix Q˙ak for time tk. |
x_Fk | State of the EKF-GNSS filter, including position, velocity and acceleration. |
ΦFpva | Transition matrix of the EKF-GNSS filter for state x_Fk. |
BFpva | Input matrix of the EKF-GNSS filter process model for state x_Fk. |
bFc,k, dFc,k | Receiver clock bias and drift for the EKF-GNSS filter. |
˙dFc,k | Zero-mean random process with variance σ2˙d,k. |
b_Fc,k | State vector for the receiver clock parameters bFc,k and dFc,k. |
ΦFc | Transition matrix for the state vector b_Fc,k |
BFc | Input matrix for the EKF-GNSS process model of state b_Fc,k. |
χ_Fk | Augmented state for the EKF-GNSS filter. |
ξ_Fk | Process noise vector for the EKF-GNSS filter, with covariance QχFk. |
ΦF | Transition matrix of the EKF-GNSS filter, for the augmented state χ_Fk. |
BF | Process input matrix for the augmented state χ_Fk of the EKF-GNSS. |
˜y_Fk | Measurement model output of pseudoranges and delta-pseudoranges. |
hFk | Measurement function for the EKF-GNSS filter. |
η_Fk | Zero-mean measurement noise for the EKF-GNSS filter, with covariance RFk. |
v_Frs,k | Relative velocity between satellite s and the vehicle at time tk. |
NFk | Number of satellites available at time tk. |
e_Fs,k | Line of sight computed with the EKF-GNSS solution for satellite S at time tk. |
p_Fk | Position solution of the EKF-GNSS at time k. |
ˆχ_F,(k−1)k | Augmented state a priori estimation of the EKF-GNSS filter. |
ˆχ_F,kk | Augmented state a posteriori estimation of the EKF-GNSS filter. |
PF,(k−1)k | Augmented state error covariance a priori estimation of the EKF-GNSS filter. |
PF,kk | Augmented state covariance error a posteriori estimation of the EKF-GNSS filter. |
ˆQξFk, ˆRFk | Process and measurement noise covariances for the EKF-GNSS filter at time k. |
δy_Nk | Whole innovation vector at tk for the Nk observed satellites. |
δy_Fk | Innovation vector with valid observables for the EKF-GNSS filter. |
NFk | Number of valid satellites used on the EKF-GNSS. |
ˆpF,kk | EKF-GNSS estimated position at tk. |
HFk | EKF-GNSS measurement matrix at tk. |
KFk | EKF-GNSS Kalman gain matrix at tk. |
˜pek | GNSS receiver output position in E frame at time k. |
˜vek | GNSS receiver output velocity in E frame at time k. |
ˆRpvk | Covariance of the combined vector with ˜pek and ˜vek. |
qFk | Quality index of the EKF-GNSS solution. |
Here we describe a PVT filtered solution which is typically used on GNSS receivers to improve the accuracy, based on certain model of the vehicle. The particular dynamics of a satellite launcher makes convenient to use as internal states of the filter the user position, velocity and acceleration, and the user clock bias and drift [24]. This includes the adaptation of covariances as proposed in [22].
We take the following discrete model for the position, velocity and acceleration dynamics of the satellite launch vehicle:
p_Fk+1=p_Fk+v_FkΔT+a_FkΔ2T2+˙a_FkΔ3T6 | (4.3) |
v_Fk+1=v_Fk+a_FkΔT+˙a_FkΔ2T2 | (4.4) |
a_Fk+1=a_Fk+˙a_FkΔT | (4.5) |
where ΔT=1sec, the super-index F stands for the receiver filter solution, p_Fk, v_Fk and a_Fk are the position, velocity and acceleration to be estimated, while ˙a_Fk is a random discrete zero-mean white noise gaussian model with covariance matrix Q˙ak:=E[˙a_Fk˙a_FTk]. Let x_Fk:=[p_FTkv_FTka_FTk]T and:
x_Fk+1=ΦFpva⋅x_Fk+BFpva˙a_Fk | (4.6) |
being:
ΦFpva:=I9×9+ΔTU39×9+Δ2TU69×9 | (4.7) |
BFpva:=[Δ3T6IΔ2T2IΔTI]T | (4.8) |
with Um9×9∈R9×9 a matrix with δi+m,j on its i-th row and j-th column, being δi+m,j the Kronecker delta, such that δi+m,j:=1 when i+m=j, or δi+m,j:=0 otherwise.
A simplified model of the receiver clock is defined here with a bias bFc,k and drift dFc,k such that:
bFc,k+1=bFc,k+ΔTdFc,k+Δ2T2˙dFc,k | (4.9) |
dFc,k+1=dFc,k+ΔT˙dFc,k | (4.10) |
where ˙dFc,k is a zero-mean random process with variance σ2˙d,k. Let b_Fc,k:=[bFc,kdFc,k]T be the clock model state vector to be estimated, which obeys the model:
b_Fc,k+1=ΦFc⋅b_Fc,k+BFc⋅˙dFc,k | (4.11) |
where:
ΦFc:=[1ΔT01],BFc:=[Δ2T2ΔT] | (4.12) |
The full state vector of the filter is χ_Fk:=[x_FTkb_FTc,k]T and satisfy:
χ_Fk+1=ΦFχ_Fk+BFξ_Fk | (4.13) |
with ξ_Fk:=[˙a_FTk˙dFc,k]T, where ˙a_Fk and ˙dFc,k are not correlated, and:
ΦF:=[ΦFpva09×202×9ΦFc],BF:=[BFpva09×102×3BFc] | (4.14) |
The covariance matrix of ξ_Fk is:
QξFk:=E[ξ_Fkξ_FTk] | (4.15) |
and is related with the covariance of the last term in (4.13) through:
QχFk:=BFQξFkBFT | (4.16) |
The measurement model for the pseudoranges and delta-pseudoranges of the NK satellites seen at tk is:
˜y_Fk:=hFk(χ_Fk)+η_Fk | (4.17) |
being η_Fk a zero-mean measurement noises vector and RFk:=E[η_Fkη_FTk], while [22]:
hFk(χ_Fk):=[‖e_F1,k‖+bFc,k ⋮ ‖e_FNFk,k‖+bFc,k ˘e_FT1,k⋅v_Fr1,k+dFc,k ⋮ ˘e_FTNFk,k⋅v_FrNFk,k+dFc,k] | (4.18) |
where e_Fs,k, ˘e_Fs,k and v_Frs,k are defined as in (2.18) and (2.19), as a function of χ_Fk and satellite s.
The EKF-GNSS filter is depicted in Figure 5, where the a priori estimate ˆχ_F,(k−1)k and the a posteriori estimate ˆχ_F,kk have respectively the error covariance matrices PF,(k−1)k and PF,kk, while the process noises covariance ˆQξFk and the measurement noises covariance ˆRFk will be computed for each time tk on frame E. Let δy_Nk∈R2Nk be the innovations vector at tk for the Nk observed satellites. A validation logic is used for each innovation, rejecting wrong measurements as a function of the absolute value of each innovation component. Let δy_Fk∈R2NFk be the vector of innovations for NFk≤Nk satellites validated at tk. The filtered solution to be used as external measurement by the EKF-LC is composed by the position ˜p_ek:=ˆp_F,kk and the velocity ˜v_ek:=ˆv_F,kk. The receiver output also includes a quality index qFk, the number of observed satellites, and the estimation error covariance ˆRpvk obtained from the matrix PF,kk.
The output Jacobian matrix for hFk(χ_Fk) becomes:
HFk:=[Hρk H˙ρk], Hρk:=[⋮ ∇_χρs,k ⋮], H˙ρk:=[⋮ ∇_χ˙ρs,k ⋮] | (4.19) |
being:
∇_χρs,k:=[1 0 −˘e_FTs,k 0_T6] | (4.20) |
∇_χ˙ρs,k:=[0 1 ∇_pρs,k −˘e_FTs,k 0_T3] | (4.21) |
with:
∇_pρs,k:=˘e_FTs,kS(Ω_eei)−v_FTrs,k⋅(I−˘e_Fs,k˘e_FTs,k)‖e_Fs,k‖ | (4.22) |
Notice that the matrix BF has more rows than columns, hence it is not possible to guarantee the stochastic exponential convergence using the condition in [29] given as QχFk=BFQξFkBFT>q_I for q_>0. However, following the Remarks after Theorem 3.1 in [29], it is not actually necessary, to obtain error bounds, that QχFk were given by the covariance of the noise term, although any other positive definite matrix could be chosen as well. In [30] the target tracking problem is considered with an input matrix having more rows than columns in the same way.
During the ascent of the launch vehicle, the acceleration grows as the mass of propellant is burned, while the thrust also grows due to the less dense atmosphere. Therefore it is good to estimate the acceleration in order to bound the process noises for the EKF-GNSS. The acceleration in E frame will be estimated using the last two point solutions at tk−1 and tk:
ˆa_Pk:=[ˆaPxkˆaPykˆaPzk]T=v_Pk−v_Pk−1ΔT | (4.23) |
The process noise covariance becomes:
ˆQξFk:=[ˆσ2˙ax,k000 0ˆσ2˙ay,k00 00ˆσ2˙az,k0 000ˆσ2¨bc] | (4.24) |
where ˆσ2¨bc>0 is a constant parameter associated to the deviation of the clock drift derivative and:
ˆσ2˙ax,k:=[αQ⋅(ˆaPxk)2,ˆσ2˙a]m | (4.25) |
ˆσ2˙ay,k:=[αQ⋅(ˆaPyk)2,ˆσ2˙a]m | (4.26) |
ˆσ2˙az,k:=[αQ⋅(ˆaPxz)2,ˆσ2˙a]m | (4.27) |
where αQ∈R>0 adjusts the adaptation as a function of the acceleration and [a,b]m:=a if a>b, otherwise [a,b]m:=b. Moreover, ˆσ2˙a>0 provides an estimation of the diagonal of ˆQξFk.
For significant velocity variations, the pseudoranges and delta-pseudoranges innovations are more noisy. We define the covariance matrix of measurement noises, adapted as a function of the acceleration computed in (4.23):
ˆRFk:=[ˆRFρ,k0N×N0N×NˆRF˙ρ,k], ˆRFρ,k:=[αρ⋅‖ˆa_Pk‖,ˆσ2ρ]mIN×N, ˆRF˙ρ,k:=[α˙ρ⋅‖ˆa_Pk‖,ˆσ2˙ρ]mIN×N | (4.28) |
being αρ,α˙ρ∈R>0 adaptation sensitivity parameters, while ˆσ2ρ>0 and ˆσ2˙ρ>0 provides an initial estimation of the diagonal components of ˆRFk.
Nomenclature:
χ_ρ | Augmented state for the EKF-TC. |
x_c | State vector of the GNSS receiver clock errors. |
bc, dc | Local clock bias and drift errors in the pseudorange measurements. |
ϵc | Random process for the local clock model. |
Qc | Autocovariance's parameters for ϵc. |
fρ | Nonlinear function to model ˙χ_ρ in the EKF-TC. |
Bρ | Input matrix for the process noise inputs to model ˙χ_ρ in EKF-TC. |
ξ_ρ | Process noise in the EKF-TC. |
Qρ | Autocovariance's parameters for process noises in the EKF-TC. |
ˆχ_ρ | Estimation of the state vector χ_ρ. |
Fρ | Jacobian matrix of fρ. |
Nρk | Number of GNSS satellites with valid observables. |
˜E_ρk | Measurements of the satellite positions and velocities (ephemeris). |
˜y_ρk | Measurements of pseudoranges and delta-pseudoranges at step k. |
˜ρ_ck | Pseudorange measurements with estimated delay compensations. |
y_ρk | Model of pseudoranges and delta-pseudoranges measured at step k. |
˜˙ρ_k | Delta-pseudorange measurements used in the EKF-TC. |
η_ρk | Measurement noises of pseudorange and delta-pseudoranges. |
Rρk | Covariance matrix of the measurement noises. |
h_ρk(⋅) | Model of the output y_ρk as a function of the state. |
Hρk | Jacobian matrix of h_ρk. |
ˆχ_ρkk | Augmented state a posteriori estimation of the EKF-TC. |
ˆχ_ρ(k−1)k | Augmented state a priori estimation of the EKF-TC. |
ΔK | Update period of EKF-TC and EKF-LC filters. |
δχ_ρkk | Augmented state error for the a posteriori estimation. |
δχ_ρ(k−1)k | Augmented state error for the a priori estimation. |
Pρkk, Pρ(k−1)k | Estimated state error covariances for the a priori and a posteriori estimation. |
Qρk | Covariance of the discrete-time process noise for the EKF-TC. |
Φρk | Transition matrix for the EKF-TC. |
Kρk | EKF-TC Kalman gain matrix. |
ˆy_ρk | Estimation of pseudoranges and delta-pseudoranges at step k. |
In this section we describe the EKF-TC using pseudorange and delta-pseudorange as observables, and propose a method to compensate communication delays on the receiver output information.
The measurements (2.10) and (2.16) will be fused with the INS to obtain the desired kinematic state (attitude, position and velocity) and the user clock bias bt and drift dt; all these variables are included on the augmented state:
χ_ρ:=[χ_x_c] | (5.1) |
The derivative of χ_ρ is computed using (7.3) and (2.1):
˙χ_ρ=fρ(χ_ρ,μ_)+Bρ(χ_ρ)ξ_ρ | (5.2) |
with:
fρ(χ_ρ,μ_):=[f(χ_,μ_)Fcx_c], Bρ(χ_ρ):=[B(χ_)015×202×18I2×2] | (5.3) |
and the continuous-time vector of process noises ξ_ρ:=[ξ_Tϵ_Tc]T, zero-mean gaussian white noise with autocovariance E[ξ_ρ(t)ξ_ρT(τ)]=δ(τ−t)Qρ(t) where:
Qρ(t):=[Qξ(t)018×202×18Qc(t)]∈R20×20 | (5.4) |
Let ˆχ_ρ be an estimate of χ_ρ, hence we will consider the linearization:
δ˙χ_ρ≈Fρ(ˆχ_ρ,μ_)δχ_ρ+Bρ(ˆχ_ρ)ξ_ρ, Fρ(ˆχ_ρ,μ_):=[F(ˆχ_,μ_)015×202×15Fc] | (5.5) |
Lets group (2.12) and (2.16) on a single vector function h_ρk for the observables from Nρk satellites:
˜y_ρk:=[˜ρ_ck˜˙ρ_k]=h_ρk(χ_ρk,˜E_ρk)+η_ρk | (5.6) |
where η_ρk is a zero-mean measurement noise with covariance Rρk:=E[η_ρkη_ρTk]. Also, the Jacobian matrix Hρk:=∂h_ρk∂χ_ρ is defined with the submatrices ∂ρ_ck∂χ_ρk and ∂˙ρ_k∂χ_ρ, with Nρk rows each:
Hρk:=[∂ρ_ck∂χ_ρ∂˙ρ_k∂χ_ρ] | (5.7) |
Notice that with Nρk variables at a given sample instant tk, Hρk may have a different number of rows.
Each row in ∂ρ_cfk∂χ_ρ uses a gradient ∇_χρcs defined for a given measured satellite s:
∇_χρcs(χ_ρk,˜E_ρk):=[∇_θρcs∇_vρcs∇_pρcs∇_bωρcs∇_bfρcs∇_clkρcs]|(χ_ρk,˜E_ρk) | (5.8) |
and each row in ∂˙ρ_fk∂χ_ρ uses the gradient ∇_χ˙ρs of the delta-pseudorange associated to the same satellite s:
∇_χ˙ρs(χ_ρk,˜E_ρk):=[∇_θ˙ρs∇_v˙ρs∇_p˙ρs∇_bω˙ρs∇_bf˙ρs∇_clk˙ρs]|(χ_ρk,˜E_ρk) | (5.9) |
Hence:
{∇_θρcs,k:=0_T3∇_vρcs,k:=0_T3∇_pρcs,k:=−˘e_Ts,k∇_bωρcs,k:=0_T3∇_bfρcs,k:=0_T3∇_clkρcs,k:=[10], {∇_θ˙ρs,k:=0_T3∇_v˙ρs,k:=˘e_Ts,k∇_p˙ρs,k:=˘e_Ts,kS(Ω_eei)−v_Trs,k‖e_s,k‖(I−˘e_s,k˘e_Ts,k)∇_bω˙ρs,k:=0_T3∇_bf˙ρs,k:=0_T3∇_clk˙ρs,k:=[01] | (5.10) |
where 0_3:=[000]T, and we have used the notation ∇_pρcs,k:=∇_pρcs(χ_ρk,˜E_ρk) for all the gradients.
We consider the following definitions to implement the EKF steps as in the Appendix: ˆχ_ρkk+1 and ˆχ_ρ(k+1)k+1 are the a priori and a posteriori estimates of χ_ρk+1, and for the k+1 step the prediction is ˆχ_ρkk+1:=[ˆχ_kTk+1ˆx_kTc,k+1]T where ˆχ_kk+1 is estimated with (7.11) and ˆx_kc,k+1 is estimated as follows:
ˆx_kc,k+1:=Φc,kˆx_kc,k, Φc,k:=exp(FcΔK)=[1ΔK01] | (5.11) |
The covariance matrix of the a priori estimation error Pρkk+1 is computed as in (7.12) while the a posteriori estimation error covariance matrix Pρ(k+1)k+1 is computed as in (7.15). The filter state estimation error is δχ_ρk, the process noise covariance is Qρk, and the augmented state transition matrix is here:
Φρk+1:=[Φk015×202×15Φc,k] | (5.12) |
On the filtering stage at step k+1 we solve for Kρk+1 as in (7.14) and the a posteriori estimation ˆχ_ρ(k+1)k+1 as in (7.13). In order to compute the innovation, we also define the estimate ˆy_ρk+1:=h_ρk+1(ˆχ_ρkk+1,˜E_ρk+1).
Nomenclature:
Hρpps,k | Jacobian matrix of h_ρ using INS information interpolated at tpps,k. |
˜y_ρpps,k | Pseudorange and delta-pseudorange measurements at tpps,k. |
ˆy_ρpps,k | Estimation of pseudoranges and delta-pseudoranges at tpps,k. |
˜E_fpps,k | GNSS satellite positions and velocities measured at tpps,k. |
˜y_Rxfpps,k | GNSS receiver's outputs. |
ˆθ_bpps,k | Vehicle's attitude interpolated at tpps,k with INS data. |
ˆp_epps,k | Vehicle's position interpolated at tpps,k with INS data. |
ˆv_epps,k | Vehicle's velocity interpolated at tpps,k with INS data. |
δy_ρpps,k | Pseudorange and delta-pseudorange's innovations at tpps,k. |
Kppsk | Kalman gain when the Kalman Filter use the latency compensation. |
A compensation of the delay in the communication of the GNSS receiver output is proposed here for the tightly coupled integration with the pseudoranges and delta-pseudoranges, assuming a known (or estimated) delay. The filter applies the update on time tk with measurements corresponding to a previous time tpps,k; the difference is a delay mainly due to processing and communication tasks defined as Δtk. Estimation ˜Δtk of this delay is provided by the receiver output, which also contains the pseudorange and delta-pseudorange measurements and the ephemeris of the valid satellites.
Following [18] we consider a small enough* Δtk=tk−tpps,k, hence the output Jacobian matrix evaluated at tk can be approximated by the output Jacobian matrix evaluated at tpps,k:
Hρk≈Hρpps,k | (5.13) |
*Validated for delays around 300 ms or smaller.
and the following approximations are also valid:
δχ_ρk=Kρk(Hρk)⋅(˜y_ρk−ˆy_ρk) | (5.14) |
≈Kρk(Hρpps,k)⋅(˜y_ρk−ˆy_ρk) | (5.15) |
≈Φ(Δtk)⋅Kρk(Hρpps,k)⋅(˜y_ρpps,k−ˆy_ρpps,k) | (5.16) |
≈Kρk(Hρpps,k)⋅(˜y_ρpps,k−ˆy_ρpps,k) | (5.17) |
where (5.15) is based on the approximation (5.13) and the smoothness of (7.14). On (5.16) an approximation of the correction at tk is obtained using the past innovation multiplied by the transition matrix Φ(Δtk). As Δtk is small, (5.16) can be further simplified with Φ(Δtk)≈I, leading to (5.17).
Using (5.13) and the smoothness of (7.14), the following approximation will be useful for the computation of the covariance Pkk in (7.15):
Kρk(Hρk)⋅Hρk≈Kρk(Hρpps,k)⋅Hρpps,k | (5.18) |
Finally, the remaining EKF steps are executed for prediction and filtering as defined in the Appendix by updating the state with the correction (5.17), and (5.18) for the computation of Pkk. Figure 6 shows a possible algorithmic implementation:
Algorithm 5.1. Compensation of GNSS receiver output delays, for EKF-TC:
− step 01: On tk>tpps,k read the GNSS receiver output corresponding to the acquisitions made on time tpps,k. We generate the following vector having only the valid observables and ephemeris:
˜y_Rxpps,k:=[˜Δtk ˜y_ρTpps,k ˜E_Tpps,k]T | (5.19) |
where ˜Δtk is the estimated delay, ˜y_ρpps,k:=[˜ρ_cf(tpps,k)T˜˙ρ_(tpps,k)T]T contains the valid observable measurements taken at tpps,k, and ˜E_pps,k contains the associated satellite's ephemeris.
− step 02: Compute ˆp_epps,k by interpolation of the INS past information parameterized by the estimated delay; i.e.: ˆp_epps,k:=ˆp_ek(˜Δtk,INS|1,...,n).
− step 03: Compute in the same way: ˆv_epps,k:=ˆv_ek(˜Δtk,INS|1,...,n).
− step 04: Compute in the same way: ˆθ_bpps,k:=ˆθ_bk(˜Δtk,INS|1,...,n).
− step 05: Compute the estimate ˆy_ρpps,k of y_ρpps,k based on (2.12) and (2.16), using ˜E_pps,k, ˆp_epps,k, ˆv_epps,k and ˆθ_bpps,k.
− step 06: Compute Hρpps,k.
− step 07: Assign Hρk←Hρpps,k (approximation (5.13)).
− step 08: Execute the EKF-TC to compute the gain Kppsk=Kρk(Hρpps,k) and approximate (5.17) and (5.18).
− step 09: Assign (χ_ρ)kk←(χ_ρ)k−1k+Kppsk⋅(˜y_ρpps,k−ˆy_ρpps,k) (approximation (5.17)).
− step 10: Assign Pkk←(I−Kppsk⋅Hρpps,k)Pk−1k (approximation (5.18)).
The proposed strategies are verified by numerical simulations of a small lift two-stage satellite launch vehicle direct ascent to a Low Earth Orbit. The trajectory is shown in Figure 8, which has typical values with an acceleration profile up to 6g, and an injection altitude of 350km. For all these simulations, the vehicle is on the launch PAD during the first minute, while the injection velocity is achieved after 10 minutes of simulation.
The acceleration profile shows the take-off after the first minute. Before four minutes of simulation, the acceleration shows the first stage Main Engine Cut-Off event (which could have a cluster of thrusters [34,35,36,37]), followed by the ignition of the second stage engine. The second stage Main Engine Cut-Off event happens after 10 minutes of simulation time. The trajectory is shown in Figure 7, for a hypothetic launch scenario towards a middle inclination Low Earth Orbit, showing in white the burn of first stage engine, in cyan the burn of second stage engine and in green the injected orbit.
Table 1 shows the main performance parameters considered for the inertial measurement unit (IMU). The initial value of each bias (at t=t0=−60 seconds) is considered as a small fraction (≈5%) of the true initial value: this considers an alignment process previous to the launch. Once the vehicle is launched at t=0, and during the two-minute burn period of the engine, the measurements are modified to consider the variation in temperature in the following way:
μ_Tω(t)=μ_ω(t)+δTb_ω(t) | (6.1) |
μ_Tf(t)=μ_f(t)+δTb_f(t) | (6.2) |
Axis | bω(t0)[∘/hr] | σξω[∘/hr] | σξbω[∘/sec2] | bf(t0)[mg] | σξf[mg] | σξbf[mg/sec] |
X | 0.0109 | 0.7 | 0.0292 | -0.0244 | 0.024 | 0.0155 |
Y | 0.0041 | 0.7 | 0.0292 | -0.2743 | 0.024 | 0.0155 |
Z | -0.1070 | 0.7 | 0.0292 | 0.0027 | 0.024 | 0.0155 |
where δTb_ω(t) and δTb_f(t) are ramp functions active between t=0 (lift-off) and t=120 seconds (main engine cut-off). Therefore these ramps are characterized by their values at t=0 and t=120. For this particular simulation we took:
δTb_ω(t≤0)=[000], δTb_ω(t≥120)=[−4.5131−7.50169.9218]∘/hr | (6.3) |
δTb_f(t≤0)=[000], δTb_f(t≥120)=[0.289580.936980.85423]mg | (6.4) |
and these values are linearly interpolated for 0≤t≤120. Notice that we have assumed zero orthogonality and scale factor errors, which are not significant relative to the errors we have modelled, as typically considered for satellite launchers (see [38]).
On [3] we developed a numerical simulation tool for GNSS constellations and a receiver, including a model of each observable's acquisition as a function of the link budget and the internal behaviour of the receiver. The purpose was to have the possibility to test navigation strategies on a controlled framework, which was used to evaluate loosely coupled and tightly coupled strategies as shown in the thesis work [18]. The behaviour of the receiver processing was modelled with a state-machine, while the acquired satellites were modelled using the link bugdet using the antenna radiation pattern and compared with the signal to noise threshold C/N0. During the ascent, new satellites appear in visibility and other satellite are lost moving towards smaller elevations. Finally, the receiver processing delay depends on the number of visible satellites, which can also be modelled. These models were later validated using a Spirent GSS8000 simulator and a multi-antenna GNSS receiver. There are four antennas assumed to be located all at the same point of the IMU location (to simplify the exposition) and pointing orthogonal to the launch vehicle longitudinal direction, equi-spaced by 90∘, as shown in Figure 9. The vectors n_i are the normal of each antenna (left side in Figure 9), while a simple radiation pattern profile GR(θas) (red curve shown on the right side) has been simulated as proposed in [18]. This simplified pattern is also applied relative to the axial direction, which means that when the vehicle is vertically launched, the signal from a satellite located exactly on the zenith will be attenuated. Finally, we have considered all the antennas located on the Launch Vehicle (LV) longitudinal axis, although they are actually located on the external surface of the fuselage: as the attitude of this vehicle is three-axes stabilized, the effect of each antenna's arm is considered negligible (see [18] for a more complete model).
Here we evaluate the EKF-LC integrated navigation, using the fix obtained with the three possible inputs: ⅰ) simulated kinematics with additive noise, ⅱ) PVT solution using the Bancroft algorithm, and ⅲ) a filtered solution computed using a Kalman filter in the GNSS receiver. All these solutions are evaluated with a numerical simulator considering several effects as communication delay, GNSS data outages and antenna failures, which will be later compared with the corresponding tightly coupled solution.
The Figure 10 shows the result with constant delay Δtk=˜Δtk=300ms comparing the cases without compensation (red), with the delay compensation given in the Appendix (blue) and without delay (black, as reference). The GNSS receiver used for hardware in the loop testing [32] has a smaller delay than this bound, taken as a worst case.
For a given simulated measurements serie with pseudoranges and delta-pseudoranges, we compare the filtered solution with the point PVT solution given by the Bancroft algorithm. The deterministic atmospheric delays are not simulated or compensated, while the clock bias and drift are simulated and compensated by the filter. Moreover, we consider a zero-mean white noise with covariance 4m2) for the pseudorange and a covariance 0.01m/s2 for the delta-pseudorange. In Figure 11 the clock bias and drift are shown in red and black respectively, while the respective values computed by Bancroft algorithm are shown in light blue and light green, and the values computed by EKF-GNSS on the receiver are shown in blue and green. The filtered solution converges during the first seconds and is kept with a mean error close to zero. The point solution using Bancroft algorithm has more estimation error deviation. Figure 12 illustrates the autocorrelations of observables innovation sequences of some satellites during all the simulation, which shows the expected uncorrelation.
Lets compare the position and velocity of point and filtered solutions: the Figure 13 shows the position and velocity error of the point solution (light blue and light green) and the filtered solution (blue and green) respect to the simulated values; we have shown only one coordinate to simplify the graph and the upper trace shows the number of satellites involved in the solution: Nk and NFk respectively for the point and filtered ones. The dotted lines shows the estimation deviation of the EKF-GNSS filter, where it can be observed the effect of the adaptation on matrices ˆQξFk and ˆRFk computed with the acceleration ˆa_Pk, as for higher acceleration there will be more velocity and position deviations.
The filtered solution also provides the covariances of the position and velocity from the EKF-GNSS covariance matrix PF,kk. This makes possible to use it for the external measurement noise description used by the loosely coupled integrated navigation system.
The number of tracked satellites on a GNSS receiver is a very important indicator of the quality of the solution, and also may be the cause of the unfeasibility to compute a navigation solution at all. Here we simulate restrictions which might not be realistic as real causes of failures, but determine a behaviour with low number of satellites which may be observed during flight [3].
In particular, on a multi-antenna receiver with four patch antennas we consider the failure of three of them during a 30 seconds segment shown in grey in Figure 14. After antennas recovery, the visible satellite are incorporated one by one after a processing in sequence, which is modelled by a state-machine. On this simulation the point solution is not available even one minute after the failure, However, as the filter propagates there is a continuity on the availability of the filtered solution, with increasing uncertainty shown in the filter estimation covariance PFk, in dotted lines.
Following the statement of the problem made in Figure 2 lets compare each of the possible loosely coupled INS/GNSS implementations, where we will not consider solution availability delays to simplify the exposition. The results are summarized on Tables 2 and 3 with RMS (root-mean-square) values of the estimation errors for the position and velocity using the INS/GNSS with the different PVT sources:
PV Bancroft: Point solution using Bancrof algorithm. The matrix ˆRk taken by the INS/GNSS is constant and was estimated using the standad deviation of a set of outputs as shown in Figure 13.
EKF-GNSS #1: The Extended Kalman Filter for the receiver estimates the receiver position, velocity, clock bias and clock drift, implemented using adaptive covariances for the process noise and measurement noise. In order to initialize these matices, we use: ˆσ˙dc=0.005m/s2, ˆσ˙a=0.5m/s3, ˆσρ=2m and ˆσ˙ρ=0.1m/s, αQ=0.01, αρ=1ms2 and α˙ρ=0.01m. The INS/GNSS filter uses a covariance matrix ˆRk obtained from the elements of the filter state covariance PFk of the receiver and scaled by 10.
EKF-GNSS #2: Idem #1 but without adaptation on covariance matrices ˆQξFk and ˆRFk of the EKF-GNSS receiver filter. Lets define ˆσ˙dc=0.005m/s2, ˆσ˙a=1m/s3, ˆσρ=4m and ˆσ˙ρ=0.2m/s. The INS/GNSS uses the same ˆRk matrix values defined previously for PV Bancroft.
EKF-GNSS #3: Idem #1, but the filter state vector of the receiver only contains the position and velocity; i.e., without including the acceleration†.
†This implies to discard the first three rows of BFpva en (4.8) and using higher variances on QξFk diagonal elements (e.g.: 20 times) respect to those in #1.
PV simulation + noise: Position and velocity receiver solutions defined as the true values plus a zero-mean white noise with small standard deviations given by 10cm in position and 0.01m/s in velocity. These values were also used to define ˆRk on the INS/GNSS algorithm.
PV Solution | εPx[m] | εPy[m] | εPz[m] | Decorrelated pos. innov.? |
PV Bancroft | 0.49 | 0.64 | 1.60 | Yes |
EKF-GNSS #1 | 0.41 | 0.37 | 0.59 | Yes |
EKF-GNSS #2 | 0.42 | 0.41 | 0.85 | Yes |
EKF-GNSS #3 | 0.40 | 0.37 | 0.65 | No |
PV Simul. + noise | 0.03 | 0.03 | 0.03 | Yes |
PV Solution | εVx[m/s] | εVy[m/s] | εVz[m/s] | Decorrelated vel. innov.? |
PV Bancroft | 0.047 | 0.077 | 0.133 | Yes |
EKF-GNSS #1 | 0.046 | 0.047 | 0.052 | Yes |
EKF-GNSS #2 | 0.043 | 0.050 | 0.063 | Yes |
EKF-GNSS #3 | 0.044 | 0.048 | 0.053 | No |
PV Simul. + noise | 0.010 | 0.010 | 0.010 | Yes |
With the exception of case EKF-GNSS #3, the innovations are decorrelated. Figure 15 compares the estimation errors of the Extended Kalman Filter on the INS/GNSS using the receiver measurements obtained on cases PV Bancroft (blue), EKF-GNSS #1 (red) and PV Simulation + noise (grey). The point and filtered solutions have similar results with different covariances Pk.
Figure 16 shows the same cases under a failure on three antenna patches, leaving only one antenna operative during 30 seconds. There is an advantage on using filtered solutions which are also available during the failure, as the filter propagates previous states, although with increasing uncertainties.
The Tropospheric Delay Compensation (TDC) proposed in subsection 3.1 is evaluated here through numerical simulation of a satellite launcher ascent. This model extends the typical range of elevations to consider even negative values, which are not available at sea level due to the need to consider a minimum positive elevation in order to avoid obscuration and multi-path effects. The minimum elevation configured at sea level was 10∘ and for higher altitudes the minimum elevation is modified with the following function:
ϵmin:={10∘10hτ−hv,k10hτ for hv,k≤10hτ−acos(Re+10hτRe+hv,k) for hv,k>10hτ |
where hτ:=7518.8m as before, hv,k is the vehicle's altitude at time tk and Re is the local Earth radius. Notice that this function is smooth and provides a value of 10∘ at sea level and a minimum angle which can be negative at typical LEO altitudes.
The TDC model was applied to compensate the simulated delays obtained with a more accurate model developed in [3]; the results are shown in Figure 17 for a typical satellite launch ascent trajectory where the orbit injection is achieved 9 minutes after a vertical launch from sea level. The upper graph shows the evaluation of the simulated delays, and the graph below shows the error relative from the TDC model to the more accurate model in [3].
The error is bounded by ±1m, which is considered a good match considering the simplification of the TDC model proposed here in comparison with the more complex model developed in [3] for simulation purposes.
Here we evaluate the proposed tightly coupled (TC) integrated navigation against the loosely coupled (LC) integrated navigation proposed in subsection 7 and subsection 4.1), under antenna failures as simulated previously in subsection 6.2.3.
The TC vs. LC results are shown in Figure 18 (nominal scenario) and Figure 19 (GNSS antenna failure with recovery scenario). In the nominal scenario, both estimation error profiles are good during the ascent. However, under antenna failure the small number of tracked satellites makes unfeasible to compute the Bancroft solution (i.e. the fix) and therefore the LC algorithm estimation error is increased significantly. On the other hand, the TC algorithm output continues the fusion between the INS with the GNSS observables, which is clearly seen in Figure 19.
In section 6.2.4 we have shown the results with loosely coupled navigation and different positioning sources, including the same Bancroft algorithm taken as a reference here. It can be seen that the results with tightly coupled navigation are at least similar or better compared to any of these solutions, including the receiver filtered output which includes a propagation of the solution when there is no fix. Moreover, the complexity here is focused on the integrated navigation algorithm, which has more information due to the fact that includes the INS data which is not shared with the GNSS receiver.
The Figure 21 shows the Sky Plot identifying the declination and azimuth of the satellites in view by the GNSS receiver, at the moment of lift-off, just after the failure of three antennas (only one antenna remains operative, hence the satellites in view are limited to an angular sector), and at orbit injection when all the antennas are recovered and also due to higher altitudes there are more potential satellites to track. Notice that a satellite's declination greater than 90∘ appears only when the vehicle ascents, otherwise at lift-off the maximum declination is 90∘ (i.e. on the horizon).
The tightly coupled (EKF-TC) integration with delay compensation (Algorithm 5.1) is evaluated with the same direct ascent trajectory considered in the Appendix. The results for a known delay Δtk=300ms are shown in Figure 22. The performance is compared with respect to the loosely coupled (EKF-LC) integrated navigation when there are at least four satellites in view, leading to similar results.
This method based on the approximation of (5.13) which was validated by simulations in [18].
During the ascent trajectory, the temperature has a significant variation on each sector, including the payload and the secondary structures where the navigation units are mounted. In particular, the gyroscopes and accelerometers have certain sensitivity with respect to the temperature time derivative [42]. Considering an estimate of the temperature variation, we have considered a bias ramp during two minutes after lift-off, with is added to a constant bias component considered separately since the first minute of simulation when the vehicle is on the launch platform.
With this common statement of the problem, we test two EKF-TC implementations: one with IMU bias estimation and the other without it, as considered for χ_ρk respectively in (7.5) and (5.1). The Table 4 shows the position, velocity, attitude and angular velocity errors as estimated in mean square just after the upper stage main engine cut-off. The errors obtained when the IMU bias compensation is activated are also good enough to compute the first estimation of the mean orbital elements [43]. However, when this compensation is not active, the velocity error becomes two order of magnitude higher.
Nav. Variable | RMS error with IMU Bias Estimation | RMS error without IMU Bias Estimation |
Pitch/Yaw | 0.01∘ | 0.08∘ |
Roll | 0.5∘ | 0.8∘ |
Ang. Velocity | 0.002∘/s | 0.004∘/s |
Position | 2m | 64m |
Velocity | 0.1m/s | 3.7m/s |
Figure 23 shows the evolution of these estimation errors during all the ascent (in black, without bias estimation, in red, green and blue the result using bias estimation). The discontinuities after the first stage burn-out, staging and second stage engine start are shown useful to improve the IMU bias estimation, increasing navigation sensibility [44]. On the other hand, when the IMU biases are not estimated, the innovations becomes correlated, as shown in Figure 24.
A first validation of the proposal using hardware was performed using a four-antenna GPS/GLONASS L1 receiver being developed [32], with a Spirent GSSS 8000 simulator. This allowed to assess the position, velocity and attitude integrated navigation error and the evolution of number of satellites in comparison with the numerical simulations taken as a common simulation framework for all previous simulation results shown in this work. The number of satellites used for this simulation varies between 6 and 8 during the ascent, which is a lower number limited by the current version of the receiver which considers an elevation mask of 10∘. Figure 25 can be directly compared with the numerical results in Figure 22, showing a similar behaviour in position and velocity errors, with a higher stationary error which may be in part due to a worse visible satellite number and distribution. Notice that with the GNSS receiver hardware there is an error in position around 10m in Figure 25 which does not vanish with increasing altitudes, showing that the approximation (2.12) is more uncertain respect to the models implemented on the GNSS simulator, mainly for the uncertain ephemeris of GNSS satellite orbits, the ionospheric model (which was compensated with zero alfa and beta coefficients) and relativistic model used for compensation. Regarding the attitude navigation errors, a closer analysis shows that this error is mainly explained by the attitude error in the roll axis, which is a known effect for the typical trajectory of a launch vehicle (see [38]). Table 5 summarizes the worst case results for each simulation type (SIL: software in the loop, i.e. numerical simulation; HIL: hardware in the loop, i.e. with GNSS RF simulator and a GNSS receiver) over all the simulation time.
Type | min(Nk) | No delay compensation | With delay compensation | ||||
Att. [∘] | Vel. [m/s] | Pos. [m] | Att. [∘] | Vel. [m/s] | Pos. [m] | ||
SIL | 8 | 1.72∘ | 15.0 | 2317 | 0.59∘ | 0.15 | 3.72 |
HIL | 6 | 1.00∘ | 13.2 | 2312 | 0.85∘ | 0.54 | 19.00 |
In this work we consider design trade-offs for the navigation function on a satellite launcher. A comparison has been made between different INS/GNSS couplings. The evaluation is made with numerical simulations for a small lift launch vehicle with vertical launch and a final injection into LEO orbit. The robustness of the proposal has been tested under the following scenarios:
● Low number of satellites, which may be caused by antenna failure.
● Delay in the availability of the GNSS receiver output, which may be caused by communication and/or processing delays.
● Inertial sensor bias variations, to model temperature sensitivity.
The main contributions presented in this work are:
● Compensation of the delay on the GNSS receiver output, for both EKF-LC and EKF-TC.
● Compensation of tropospheric delay in the GNSS signals, extending a simple deterministic model to allow negative elevations of the line of sight.
● Adaptation of the covariance matrices to improve the EKF-LC and EKF-GNSS results, under the wide acceleration ranges of the ascent phase.
The best solution was given by the EKF-TC, which allows to process the GNSS observables given by the receiver even when there is no PVT solution output on the receiver. It was also verified that inertial sensor bias variation can be successfully estimated. A first hardware in the loop test was made using a Spirent GSSS 8000 simulator with a multi-antenna GNSS receiver under development, and will be continued as future work.
The authors declare they have not used Artificial Intelligence (AI) tools in the creation of this article.
This work has been supported by the National Commission of Space Activities in Argentina (CONAE), and the Ministry of Science, Technology and Innovation in Argentina. The authors would like to thank Prof. Juan Giribet for his suggestions and criticism.
The authors declare that there are no conflict of interest.
This Appendix is based on [16] and is provided as a self-contained summary of the loosely coupled integrated navigation. The state vector x_(t) contains as sub-vectors a parametrization of the attitude, velocity and position of a body frame B of the vehicle relative to the Earth Centered Earth Fixed (ECEF) frame E:
x_:=[θ_bbev_ep_e] ∈R9 | (7.1) |
where θ_bbe∈R3 represents the vector angle (i.e. the rotation axis versor times the angle of the rotation) of the attitude of the body B respect to E, expressed in B, v_e∈R3 is the translational velocity and p_e∈R3 the position on E frame.
The vector of inertial measurements is μ_:=[μ_Tω μ_Tf]T, where μ_ω and μ_f are respectively the outputs of a set of three gyroscopes and three accelerometers mounted following the axes of a right-hand frame. Additive noises ξ_ω and ξ_f are defined for gyros and accelerometers respectively.
The acceleration in body frame a_b can be estimated with a gravity model and the specific force measurements: γ_b+ξ_g is the true gravity seen in body frame, where ξ_g is a model uncertainty and γ_b is obtained from a gravity model γ_e in E frame, the vehicle's position p_e and the attitude matrix Ceb=Ceb(θ_bbe) as γ_b=CeTbγ_e(p_e).
Let ξ_μ:=[ξ_Tω ξ_Tf ξ_Tg ξ_Tp]T where ξ_p is a random term considered for the position derivative ˙p_e:=v_e+ξ_p which purpose will be later explained. On the other hand, let b_:=[b_Tω b_Tf]T∈R6 be the bias of angular velocity measurements b_ω and specific forces bias b_f which are modelled as Markov processes, integrating random variables defined by ξ_b:=[ξ_Tbω ξ_Tbf]T, where ξ_bω and ξ_bf are uncorrelated gaussian processes with zero mean.
The following relations apply:
{˙b_ω=ξ_bωμ_ω=b_ω+ω_bbi+ξ_ω˙b_f=ξ_bfμ_f=b_f+a_b−γ_b−ξ_g+ξ_f | (7.2) |
The vehicle's kinematics can be obtained as a function of the inertial measurements (see [11]):
[˙x_˙b_]=[fμ(x_,b_,μ_)0_6]+[Bμ(x_)09×606×12I6×6][ξ_μξ_b] | (7.3) |
where we defined the zero matrix 0n×m∈Rn×m, the identity matrix In×n∈Rn×n, the zero vector 0_n∈Rn, fμ gives the kinematic coordinates derivatives as a function of the measurements and model parameters, while Bμ is a linear transformation between the measurement noises and the effects on kinematic coordinates derivatives.
The vector of the process noises is ξ_:=[ξ_Tμ ξ_Tb]T, it has zero mean and autocovariance:
E[ξ_(t)ξ_T(τ)]:=δ(τ−t)Qξ(t) | (7.4) |
where δ(⋅) is the Dirac function [27] and 0<Qξ(t)∈R18×18 for all t. Let χ_:=[x_T b_T]T∈R15, be the augmented state vector, hence the differential equation in χ_ can be written as in [11] as:
˙χ_=f(χ_,μ_)+B(χ_)ξ_ | (7.5) |
where:
f(χ_,μ_):=[fμ(x_,b_,μ_)0_6] B(χ_):=[Bμ(x_)09×606×12I6×6] Bμ(x_):=[−I0000−CebI0000I] | (7.6) |
with 03:=03×3 and I3:=I3×3. Notice that the random term ξ_p enforced a full rank B(χ_)∈R15×18.
Let ˆχ_(t) be the estimation of the augmented state. We can linearize the associated dynamic model and describe the evolution of the error around the estimation, given by δχ_:=χ_−ˆχ_. The resulting system is linear time varying:
δ˙χ_≈F(ˆχ_,μ_)δχ_+B(ˆχ_)ξ_ | (7.7) |
with [27]:
F(ˆχ_,μ_):=∂f∂χ_|ˆχ_,μ_=[−S(ˆω_bbi)00I0−ˆCebS(ˆf_b)−2S(Ω_eei)Γe(ˆp_e)0ˆCeb 0I000 00000 00000 ],Γe(ˆp_e):=∂γ_e∂p_e|ˆp_e |
where S(u_) is the matrix associated to the vector product u_×, the vector ˆf_b:=μ_f−ˆb_f is an estimate of the specific force as a function of the acceleration measured in body frame and the estimate ˆb_f of the measurement bias, the vector ˆω_bbi=μ_ω−ˆb_ω is an estimate of the angular velocity in body frame as measured by the gyroscopes and compensated by the gyro bias estimation ˆb_ω, the matrix ˆCeb is an estimate of the attitude matrix and the vector Ω_eei is the Earth rotation velocity.
Let tk, with k∈N0, be the nominal discrete times on which the Kalman filter processes external measurements from the receiver, and tk:=t0+kΔK. The augmented state error δχ_k:=δχ_(tk) verifies:
δχ_k+1=Φ(tk+1,tk)δχ_k+ξ_χk | (7.8) |
where ξ_χk∈R15 is a discrete-time process zero-mean gaussian white-noise [28]. Finally, the transition matrix Φ(tk+1,tk) for the state δχ_k can be estimated as in [16], using a 5th-order polynomial.
The discrete-time vector function ˜y_k represents the external measurements from the GNSS receiver, with the position and velocity vectors in ECEF frame, evaluated at time tk. This can be written in terms of the augmented vector as:
˜y_k:=Hχ_k+η_k | (7.9) |
where χ_k:=χ_(tk), η_k is a vector with measurement noises, defined as a discrete-time gaussian and uncorrelated stochastic process, with zero mean and covariance matrix Rk:=E[η_kη_Tk], and H is given as follows:
H:=[00I000I000] | (7.10) |
When a new measurement ˜y_k+1 arrives on time tk+1, the prediction and filtering tasks are executed, which are detailed in the following subsections.
The prediction step on k+1 is defined as [28]:
ˆχ_kk+1=[x_TINS(tk+1)ˆb_kTk]T | (7.11) |
Pkk+1=Φk⋅Pkk⋅ΦTk+Qχk with Qχk≈BkQξkBTkΔK | (7.12) |
where Bk:=B(tk), Φk:=Φ(tk+1,tk), Qχk is the covariance of the discretized noise ξ_χk‡, x_INS:=[ˆθ_bTbe ˆv_eT ˆp_eT]T is the output of the INS algorithm (see [11,27]), and Pkk+1=E[δχ_kk+1δχ_kTk+1]. The initialization k=0 is made with a priori information written in terms of ˆχ_00:=E[χ_0] and P00.
‡We assume that it is pre-filtered to avoid alias and preserve de-correlation (see [27]).
The a posteriori estimation ˆχ_k+1k+1 is:
ˆχ_k+1k+1=ˆχ_kk+1+Kk+1⋅(˜y_k+1−ˆy_kk+1) | (7.13) |
where ˆy_kk+1:=Hˆχ_kk+1 is the prediction of the external measurement while:
Kk+1=Pkk+1HT⋅(H⋅Pkk+1⋅HT+Rk+1)−1 | (7.14) |
Pk+1k+1=Pkk+1−Kk+1⋅H⋅Pkk+1 | (7.15) |
In [29] it is shown that the discrete-time Extended Kalman Filter estimation error can be analysed in a stochastic framework with a nonlinear observability condition, which determines an exponentially bounded behaviour:
Definition 7.1. The random process χ_k−ˆχ_k is said to obey an exponential bound in mean square if there exist positive real numbers a,b>0 and 0<c<1 such that for all k≥0:
E[‖χ_k−ˆχ_k‖2]<a‖χ_0−ˆχ_00‖2ck+b | (7.16) |
Among other sufficient conditions for this behaviour (see [29]), the following bounds are required:
0<q_I≤Qχk≤¯qI | (7.17) |
0<r_I≤Rk≤¯rI | (7.18) |
Notice that q_>0 requires Bk=B(χ_(tk)) full rank, which was enforced by adding the random term ξ_p. Other ways to guarantee exponentially boundedness in mean square can be found in [29,30].
At time tpps,k the internal acquisition of the GNSS signals is made, but the integrated navigation block will have this information available later, after all the processing and communication latencies, which implies a random delay Δtk:=tk−tpps,k. Following the compensation method developed in [16], we assume that the GNSS receiver output contains a measure ˜p_eTpps,k of the position, a measure ˜v_eTpps,k of the velocity and an estimate ˜Δtk of the delay. This information corresponds to the time tpps,k<tk, while the EKF will apply the associated correction at time tk. We integrate one step by the Euler method to estimate the external measurement for tk:
˜y_k:=[˜p_epps,k+ˆv_epps,k˜Δtk˜v_epps,k+ˆa_epps,k˜Δtk] | (7.19) |
To this end, we consider an interpolator which estimates the velocity ˆv_epps,k and acceleration ˆa_epps,k using past INS data for tk−˜Δtk≈tpps,k. The external measurements covariance Rk now includes receiver measurement noises taken at tpps,k and the effect of the propagation error up to time tk (estimated with a vector function ε_∗k(ˆa_epps,k,ˆa_epps,k−1,˜Δtk) and a delay estimation deviation ˆσηΔt), estimated in [16] as:
ˆRk=ˆRpvk+˜Δtk2⋅ˆRˆvˆak+ˆσ2ηΔtˆ˙y_pps,kˆ˙y_Tpps,k+ε_∗kε_∗Tk | (7.20) |
where is the interpolator output; see [16] for a complete description, on which a covariance is assumed as provided by the receiver, while is determined by the interpolator. From a practical point of view, this method does not require to read the PPS signal.
[1] |
Savage PG (1998) Strapdown Inertial Navigation Integration Algorithm Design Part 1: Attitude Algorithms. J Guid Control Dynam 21: 19–28. https://doi.org/10.2514/2.4228 doi: 10.2514/2.4228
![]() |
[2] |
Savage P (1998) Strapdown Inertial Navigation Integration Algorithm Design Part 2: Velocity and Position Algorithms. J Guid Control Dynam 21: 208–221. https://doi.org/10.2514/2.4242 doi: 10.2514/2.4242
![]() |
[3] | Moreno A, Cánepa V, Giribet J, et al. (2021) Simulador GNSS para la Evaluación de Algoritmos de Navegación Integrada en Vehículos Aeroespaciales. XI Congreso Argentino de Tecnología Espacial. |
[4] | Tewari A (2011) Advanced Control of Aircraft, Spacecraft and Rockets, Wiley. |
[5] | Suresh BN, Sivan K (2015) Integrated Design for Space Transportation Systems, Springer. |
[6] | Range Command Council, US Army White Sands Missile Range (2011) 324 Global Positioning and Inertial Measurements Range Safety Tracking Systems Commonality Standard. |
[7] |
Hu G, Gao B, Zhong Y, et al. (2019) Robust Unscented Kalman Filtering With Measurement Error Detection for Tightly Coupled INS/GNSS Integration in Hypersonic Vehicle Navigation. IEEE Access 7: 151409–151421. https://doi.org/10.1109/ACCESS.2019.2948317 doi: 10.1109/ACCESS.2019.2948317
![]() |
[8] |
Hu G, Wang W, Zhong Y, et al. (2018) A New Direct Filtering Approach to INS/GNSS Integration. Aerosp Sci Technol 77: 755–764. https://doi.org/10.1016/j.ast.2018.03.040 doi: 10.1016/j.ast.2018.03.040
![]() |
[9] |
Meng Y, Gao S, Zhong Y, et al. (2016) Covariance Matching Based Adaptive Unscented Kalman Filter for Direct Filtering in INS/GNSS Integration. Acta Astronaut 120: 171–181. https://doi.org/10.1016/j.actaastro.2015.12.014 doi: 10.1016/j.actaastro.2015.12.014
![]() |
[10] |
Hu G, Gao S, Zhong Y (2015) A Derivative UKF for Tightly Coupled INS/GPS Integrated Navigation. ISA T 56: 135–144. https://doi.org/10.1016/j.isatra.2014.10.006 doi: 10.1016/j.isatra.2014.10.006
![]() |
[11] | Bernadi P (2013) Sistema de Navegación INS/GPS para un Cohete Suborbital Controlado, Engineering Thesis, Universidad de Buenos Aires. |
[12] |
Hu G, Gao B, Zhong Y, et al. (2020) Unscented Kalman Filter with Process Noise Covariance Estimation for Vehicular INS/GPS Integration System. Inform Fusion 64: 194–204. https://doi.org/10.1016/j.inffus.2020.08.005 doi: 10.1016/j.inffus.2020.08.005
![]() |
[13] |
Gao Z, Gu C, Yang J, et al. (2020) Random Weighting-Based Nonlinear Gaussian Filtering. IEEE Access 8: 19590–19605. https://doi.org/10.1109/ACCESS.2020.2968363 doi: 10.1109/ACCESS.2020.2968363
![]() |
[14] |
Gao B, Gao S, Hu G, et al. (2018) Maximum Likelihood Principle and Moving Horizon Estimation Based Adaptive Unscented Kalman Filter. Aerosp Sci Technol 73: 184–196. https://doi.org/10.1016/j.ast.2017.12.007 doi: 10.1016/j.ast.2017.12.007
![]() |
[15] |
Gao S, Hu G, Zhong Y (2015) Windowing and Random Weighting Based Adaptive Unscented Kalman Filter. Int J Adapt Control 29: 201–223. https://doi.org/10.1002/acs.2467 doi: 10.1002/acs.2467
![]() |
[16] |
Cánepa V, Servidia P, Giribet J (2022) Adaptive Extended Kalman Filter for Integrated Navigation in a Satellite Launch Vehicle. VI Congreso Bienal de la Sección Argentina del IEEE (ARGENCON), San Juan, Argentina. 1–8. https://doi.org/10.1109/ARGENCON55245.2022.9939949 doi: 10.1109/ARGENCON55245.2022.9939949
![]() |
[17] | Bancroft S (1985) An Algebraic Solution of the GPS Equations, in IEEE Transactions on Aerospace and Electronic Systems. 1: 56–59. doi: 10.1109/TAES.1985.310538. |
[18] | Cánepa V (2022) Navegación Integrada Fuertemente Acoplada para Vehículos Lanzadores de Satélites, Engineering Thesis, Universidad de Buenos Aires. |
[19] |
Gao B, Hu G, Gao S, et al. (2018) Multi-sensor Optimal Data Fusion for INS/GNSS/CNS Integration Based on Unscented Kalman Filter. Int J Control Autom Syst 16: 129–140. https://doi.org/10.1007/s12555-016-0801-4. doi: 10.1007/s12555-016-0801-4
![]() |
[20] |
Hu G, Gao S, Zhong Y, Gao B, Subic A, (2016) Matrix Weighted Multisensor Data Fusion for INS/GNSS/CNS Integration, Proceedings of the Institution of Mechanical Engineers, Part G. J Aerospace Eng 230: 1011–1026. https://doi.org/10.1177/0954410015602723 doi: 10.1177/0954410015602723
![]() |
[21] |
Hu G, Gao S, Zhong Y, et al. (2016) Modified Federated Kalman Filter for INS/GNSS/CNS Integration, Proceedings of the Institution of Mechanical Engineers, Part G. J Aerospace Eng 230: 30–44. https://doi.org/10.1177/0954410015586860. doi: 10.1177/0954410015586860
![]() |
[22] | Parkinson B, Spilker J (1996) Global Positioning System: Theory and Applications. AIAA, Washington DC. |
[23] |
Kaniewski P, Gil R, Konatowski S (2016) Algorithms of Position and Velocity Estimation in GPS Receivers. Annu Navigation 23. https://doi.org/10.1515/aon-2016-0004 doi: 10.1515/aon-2016-0004
![]() |
[24] | Sarunic P (2016) Development of GPS Receiver Kalman Filter Algorithms for Stationary, Low-Dynamics, and High-Dynamics Applications. Defense, Science and Technology Group, Australia, Technical Report DST-Group-TR-3260. |
[25] | Gómez D, Langston C, Smalley R (2015) A Closed-form Solution for Earthquake Location in a Homogeneous Half-space Based on the Bancroft GPS Location Algorithm. |
[26] | Cánepa V, Servidia P, Giribet J (2023) Aspectos Prácticos en la Navegación Integrada de Vehículos Lanzadores. XII Congreso Argentino de Tecnología Espacial. |
[27] | España M (2019) Sistemas de Navegación Integrada con Aplicaciones, 2nd ed. Comisión Nacional de Actividades Espaciales. Available from: www.argentina.gob.ar/ciencia/conae/publicaciones. |
[28] | Jazwinski A (1970) Stochastic Processes and Filtering Theory. Math Sci Eng 64. |
[29] | Reif K, Günther S, Yaz E (1999) Stochastic Stability of the Discrete-time Extended Kalman Filter. IEEE 44. |
[30] | Ford J, Coulter A (2001) Filtering for Precision Guidance: The Extended Kalman Filter. Aeronautical and Maritime Research Laboratory. |
[31] |
Rodríguez S, García J, Scillone G, et al. (2020) Dual-Antenna Dual-Band High Performance Cubesat-Compatible GPS Receiver. IEEE Lat Am T 18: 265–272. https://doi.org/10.1109/TLA.2020.9085279 doi: 10.1109/TLA.2020.9085279
![]() |
[32] | López La Valle R, Rodriguez S, Garcia J (2018) Documento de Control de Interfaces (ICD) M3GR-EMB. SENYT-UNLP. |
[33] | Klobuchar J (1987) Ionospheric Time-Delay Algorithms for Single-Frequency GPS Users. IEEE T Aero Elec Syst 3: 325–331. |
[34] |
Servidia P, Sánchez Peña R (2002) Thruster Design for Position/Attitude Control of Spacecraft. IEEE T Aero Elec Sys 38: 1172–1180. https://doi.org/10.1109/TAES.2002.1145741 doi: 10.1109/TAES.2002.1145741
![]() |
[35] |
Servidia P (2010) Control Allocation for Gimbaled/Fixed Thrusters. Acta Astronaut 66: 587–594. https://doi.org/10.1016/j.actaastro.2009.07.023 doi: 10.1016/j.actaastro.2009.07.023
![]() |
[36] |
Servidia P, Sánchez Peña R, (2005) Spacecraft Thruster Control Allocation Problems. IEEE T Automat Contr 50: 245–249. https://doi.org/10.1109/TAC.2004.841923 doi: 10.1109/TAC.2004.841923
![]() |
[37] |
Servidia P, Sánchez Peña R (2005) Practical Stabilization in Attitude Thruster Control. IEEE T Aerosp Elec Sys 41: 584–598. https://doi.org/10.1109/TAES.2005.1468750 doi: 10.1109/TAES.2005.1468750
![]() |
[38] |
Beaudoin Y, Desbiens A, Gagnon E, et al. (2018) Observability of Satellite Launcher Navigation with INS, GPS, Attitude Sensors and Reference Trajectory. Acta Astronaut 142: 277–288. https://doi.org/10.1016/j.actaastro.2017.10.038 doi: 10.1016/j.actaastro.2017.10.038
![]() |
[39] | Van Dierendonk A, McGraw J, Grover Brown R (1984) Relationship Between Allan Variances and Kalman Filter Parameters. NASA Goddard Space Flight Center, Proc. of the 16th Ann. Precise Time and Time Interval (PTTI) Appl. and Planning Meeting 273–293. |
[40] | Kaplan E, Hegarty C (2006) Understanding GPS: Principles and Applications, Artech House. |
[41] | Grover Brown R, Hwang P (2012) Introduction to Random Signals and Applied Kalman Filtering. 4th ed. John Wiley & Sons, Inc. |
[42] | KHV 1750 Inertial Measurement Unit Technical Manual (2013) KVH Industries. |
[43] | Gomez E, Servidia P, España M (2019) Fast and Reliable Computation of Mean Orbit Elements for Autonomous Orbit Control, IAA-LA2-03-03, Proceedings of the 2nd IAA Latin American Symposium on Small Satellites, 69–76. |
[44] |
España M, Carrizo J, Giribet J (2019) Sensability and Excitability Metrics Applied to Navigation Systems Assessment. J Navigation 72: 1481–1495. https://doi.org/10.1017/S0373463319000328 doi: 10.1017/S0373463319000328
![]() |
1. | Soyeong Kim, Jaeyoung Jo, Jiwon Seok, Paulo Resende, Benazouz Bradai, Kichun Jo, Localization Fusion Framework Based on Track-to-Track Fusion With Bias Correction, 2025, 21, 1551-3203, 156, 10.1109/TII.2024.3449993 |
Axis | ||||||
X | 0.0109 | 0.7 | 0.0292 | -0.0244 | 0.024 | 0.0155 |
Y | 0.0041 | 0.7 | 0.0292 | -0.2743 | 0.024 | 0.0155 |
Z | -0.1070 | 0.7 | 0.0292 | 0.0027 | 0.024 | 0.0155 |
PV Solution | Decorrelated pos. innov.? | |||
PV Bancroft | 0.49 | 0.64 | 1.60 | Yes |
EKF-GNSS #1 | 0.41 | 0.37 | 0.59 | Yes |
EKF-GNSS #2 | 0.42 | 0.41 | 0.85 | Yes |
EKF-GNSS #3 | 0.40 | 0.37 | 0.65 | No |
PV Simul. + noise | 0.03 | 0.03 | 0.03 | Yes |
PV Solution | Decorrelated vel. innov.? | |||
PV Bancroft | 0.047 | 0.077 | 0.133 | Yes |
EKF-GNSS #1 | 0.046 | 0.047 | 0.052 | Yes |
EKF-GNSS #2 | 0.043 | 0.050 | 0.063 | Yes |
EKF-GNSS #3 | 0.044 | 0.048 | 0.053 | No |
PV Simul. + noise | 0.010 | 0.010 | 0.010 | Yes |
Nav. Variable | RMS error with IMU Bias Estimation | RMS error without IMU Bias Estimation |
Pitch/Yaw | ||
Roll | ||
Ang. Velocity | ||
Position | ||
Velocity |
Type | No delay compensation | With delay compensation | |||||
Att. [] | Vel. [m/s] | Pos. [m] | Att. [] | Vel. [m/s] | Pos. [m] | ||
SIL | 8 | 15.0 | 2317 | 0.15 | 3.72 | ||
HIL | 6 | 13.2 | 2312 | 0.54 | 19.00 |
Axis | ||||||
X | 0.0109 | 0.7 | 0.0292 | -0.0244 | 0.024 | 0.0155 |
Y | 0.0041 | 0.7 | 0.0292 | -0.2743 | 0.024 | 0.0155 |
Z | -0.1070 | 0.7 | 0.0292 | 0.0027 | 0.024 | 0.0155 |
PV Solution | Decorrelated pos. innov.? | |||
PV Bancroft | 0.49 | 0.64 | 1.60 | Yes |
EKF-GNSS #1 | 0.41 | 0.37 | 0.59 | Yes |
EKF-GNSS #2 | 0.42 | 0.41 | 0.85 | Yes |
EKF-GNSS #3 | 0.40 | 0.37 | 0.65 | No |
PV Simul. + noise | 0.03 | 0.03 | 0.03 | Yes |
PV Solution | Decorrelated vel. innov.? | |||
PV Bancroft | 0.047 | 0.077 | 0.133 | Yes |
EKF-GNSS #1 | 0.046 | 0.047 | 0.052 | Yes |
EKF-GNSS #2 | 0.043 | 0.050 | 0.063 | Yes |
EKF-GNSS #3 | 0.044 | 0.048 | 0.053 | No |
PV Simul. + noise | 0.010 | 0.010 | 0.010 | Yes |
Nav. Variable | RMS error with IMU Bias Estimation | RMS error without IMU Bias Estimation |
Pitch/Yaw | ||
Roll | ||
Ang. Velocity | ||
Position | ||
Velocity |
Type | No delay compensation | With delay compensation | |||||
Att. [] | Vel. [m/s] | Pos. [m] | Att. [] | Vel. [m/s] | Pos. [m] | ||
SIL | 8 | 15.0 | 2317 | 0.15 | 3.72 | ||
HIL | 6 | 13.2 | 2312 | 0.54 | 19.00 |