Next Article in Journal
Electrodynamic Attitude Stabilization of a Spacecraft in an Elliptical Orbit
Next Article in Special Issue
Full Envelope Control of Over-Actuated Fixed-Wing Vectored Thrust eVTOL
Previous Article in Journal
Design and Verification of Continuous Tube Forming Process Parameters for PEEK-Based Rod Aimed at Space Manufacturing Applications
Previous Article in Special Issue
Conversion of a Coaxial Rotorcraft to a UAV—Lessons Learned
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Dual-Frequency Multi-Constellation Global Navigation Satellite System/Inertial Measurements Unit Tight Hybridization for Urban Air Mobility Applications

1
Italian Aerospace Research Centre (CIRA S.c.P.A.), 81043 Capua, Italy
2
Civitanavi Systems S.p.A., 63821 Porto Sant’Elpidio, Italy
*
Author to whom correspondence should be addressed.
Aerospace 2024, 11(11), 955; https://doi.org/10.3390/aerospace11110955
Submission received: 24 September 2024 / Revised: 15 November 2024 / Accepted: 18 November 2024 / Published: 20 November 2024

Abstract

:
A global navigation satellite system (GNSS) for remotely piloted aircraft systems (RPASs) positioning is essential, thanks to the worldwide availability and continuity of this technology in the provision of positioning services. This makes the GNSS technology a critical element as malfunctions impacting on the determination of the position, velocity and timing (PVT) solution could determine safety issues. Such an aspect is particularly challenging in urban air mobility (UAM) scenarios, where low satellite visibility, multipath, radio frequency interference and cyber threats can dangerously affect the PVT solution. So, to meet integrity requirements, GNSS receiver measurements are augmented/fused with other aircraft sensors that can supply position and/or velocity information on the aircraft without relying on any other satellite and/or ground infrastructures. In this framework, in this paper, the algorithms of a hybrid navigation unit (HNU) for UAM applications are detailed, implementing a tightly coupled sensor fusion between a dual-frequency multi-constellation GNSS receiver, an inertial measurements unit and the barometric altitude from an air data computer. The implemented navigation algorithm is integrated with autonomous fault detection and exclusion of GPS/Galileo/BeiDou satellites and the estimation of navigation solution integrity/accuracy (i.e., protection level and figures of merit). In-flight tests were performed to validate the HNU functionalities demonstrating its effectiveness in UAM scenarios even in the presence of cyber threats. In detail, the navigation solution, compared with a real-time kinematic GPS receiver used as the reference centimetre-level position sensor, demonstrated good accuracy, with position errors below 15 m horizontally and 10 m vertically under nominal conditions (i.e., urban scenarios characterized by satellite low visibility and multipath). It continued to provide a valid navigation solution even in the presence of off-nominal events, such as spoofing attacks. The cyber threats were correctly detected and excluded by the system through the indication of the valid/not valid satellite measurements. However, the results indicate a need for fine-tuning the EKF to improve the estimation of figures of merit and protection levels associated to the navigation solution during the cyber-attacks. In contrast, solution accuracy and integrity indicators are well estimated in nominal conditions.

1. Introduction

The use of a global navigation satellite system (GNSS) for drone positioning is essential, thanks to the worldwide availability and continuity of this technology in the provision of positioning services. The improvement in terms of accuracy of the consolidated constellations (i.e., the global positioning system, GPS), and the spatial and frequency diversity guaranteed by the new reliable and accurate constellations deployed (i.e., Galileo), make this technology even more promising and provide better performance. Moreover, the existing augmentation technologies allow high levels of accuracy and reliability to be reached; during the execution of beyond visual line of sight operations, GNSS (possibly augmented) is the preferred choice for navigation [1].
Drones often use GNSS for positioning purposes and an increasing number of manned commercial flights also use GNSS-based information.
GNSS will become soon the main means used by flight management systems (FMSs) for the navigation of the aircraft and, especially for the remotely piloted aircraft system (RPAS), it will be a critical element of the system, and malfunctions impacting on the determination of position, velocity and timing (PVT) solution should not be ignored [1].
It is certain that the use of multi-constellation and of new frequencies which are available in modern GNSS lead to the improved accuracy and availability of PVT. However, the main weakness of GNSS-based technologies is the lack of a simple, low-cost assessment of the level of positioning errors that affects the navigation system error (NSE), a relevant component of the overall total system error (TSE), which is strictly related to the determination of GNSS integrity [2] (pp. 103–130), [3].
The International Civil Aviation Organization (ICAO) in [4] lists the essential parameter specifications for radio navigation systems (including GNSS), which might aid the navigation of the aircraft. In the civil aviation domain, the navigation system guarantees the necessary level of safety giving in output the necessary levels of GNSS integrity in order to meet ICAO prescriptions in each flight phase. However, these standards cannot be directly applied to RPAS even if aviation standards are in the process of evolving to accommodate RPAS operations, and as such, the performance requirements are not yet formally specified for the use-cases that are foreseen in urban air mobility (UAM) scenarios [5,6].
Integrity requirements in civil aviation are met through a fault detection system that is either implemented onboard the mobile platform itself, or external to the mobile platform. The most common strategy is to employ a three-layered approach in assuring integrity. Differential corrections and integrity flags are provided to the user by satellite- and ground-based augmentation systems (SBASs/GBASs) which essentially rely on external reference receivers to monitor the positioning integrity and provide ‘do not use’ messages to the user when the estimated error exceeds the assigned limits [7]. The third augmentation layer is aircraft-based augmentation systems (ABASs) that augment/fuse GNSS receiver measurements with other aircraft sensors or signal of opportunities that are able to supply position and/or velocity information on the aircraft without relying on any other satellite and/or ground infrastructures (i.e., ABASs are independent of the other two layers) [8].
ABAS benefits are twofold. First, the use of onboard sensors and/or models is free of dependence on external reference receivers as in the case of SBASs and GBASs; second, user-level monitoring is necessary to protect against localized error sources such as multipath, which cannot be mitigated by differential techniques like SBASs or GBASs. For the listed reasons, ABASs assume primary importance over SBASs and GBASs in the urban environment even in rejecting cyber-attacks such as interferences impacting on GNSS bands (i.e., jamming) or manipulation of data presented to the receiver (i.e., spoofing attacks) [9].
Inertial navigation sensors (INSs) measure position by tracking the relative movements from a known initial position and represent an environment-independent and reliable source of information, guaranteeing continuity and availability in any challenging operation scenario. Even if they can provide an autonomous solution for the position and velocity (and attitude and heading), they suffer from drift over time. Coupled with absolute positioning systems, the drift error can periodically be reset to their location. Among all non-GNSS positioning technologies, inertial navigation occupies a special position, not only because it is ubiquitous, but also because it offers characteristics that make these two technologies naturally complement each other and ideal candidates for integration [10].
In [11], a review of GPS/INS hybridization and performance is provided. Here, the authors promote the benefits of using GPS with INS, as follows: integrated systems have higher accuracy; the additional information provided by the addition of sensors means more trust can be placed in the output, due to redundancy; the integrated output can be provided at a higher rate than GPS because of the higher data rate of INS; the integrated system will be available even during a GPS outage even if the time of availability is limited by the quality of the INS. This applies to both loosely and more tightly coupled systems [12]. However, [11] recommends tightly coupled methods that even with less than four satellites in view could maintain the navigation solution. Furthermore, the access to the pseudo-range measurements can provide the benefit of slowly detecting growing errors. A stated disadvantage is that tightly coupled systems respond more slowly to INS errors than loosely coupled systems. Based on GPS/INS hybridization algorithms and considering that the INS is fault-free, different sequential detection approaches have been investigated in the literature. Two are the most popular works. The first method is the autonomous integrity monitoring extrapolation (AIME) method [13]. This method was devised to detect slowly growing errors by observing the GPS measurements over a relatively long period (up to 30 min) for an en-route and non-precision approach (0.3 nm accuracy limit) phase of flight, even with three satellite failures in the constellation [14].
The second one is the multiple hypothesis solution separation (MHSS). The MHSS method [15] is an extension of the classical snapshot solution separation receiver autonomous integrity monitoring (RAIM) concept [16] applied to a GPS/inertial system. In this method, a full Kalman filter (i.e., that uses all the available satellite measurement) is used together with a set of separate sub-Kalman filters, one for each satellite. A sub-filter and a covariance propagator are assigned to each tracked satellite in order to rigorously incorporate the basic fault detection requirements (i.e., single failure assumption).
Ensuring integrity for GNSS/INS systems is fundamental to achieve higher performance levels for future dual-frequency, multi-constellation [17] aviation services and is of vital importance for new ground and air applications like autonomous vehicles or urban air mobility.
Another advantage of inertial hybridization of GNSS is the possibility of using inertial aid to detect spoofing attacks. In recent works, Kalman filter-based INS monitors for GNSS spoofing detection are proposed for both tightly and loosely coupled INS/GNSS systems. In [18], a cumulative test statistic defined as the sum of weighted norm of the innovation vectors is used for spoofing detection. Meanwhile, in [19], the fault detection test statistic is constructed with the sum of squares of the residuals weighted by the measurement variance–covariance matrix. In these works, the innovation- or residual-based spoofing detection algorithms have shown their effectiveness in spoofing detection. Some spoofing detection ability of off-the-shelf aviation-grade INS/GNSS systems (based on solution separation or AIME) has been proved without any additional changes or supplements [20].
A specific minimum operational performance standards (MOPSs), is completely dedicated to the hybridization of GNSS and inertial system considering different classes of precision spanning from navigation grade to tactical grade systems [21]. This MOPS focuses on the integrity, continuity, and availability requirements for GPS/INS.
In this framework, in this paper, the algorithms are detailed of a hybrid navigation unit (HNU) for UAM applications implementing a tightly coupled sensor fusion between a dual-frequency multi-constellation (DFMC) GNSS receiver (in standalone configuration), an inertial measurements unit (IMU with closed-loop fibre optic gyroscope technology and quartz accelerometer) and barometric altitude from an air data computer (ADC). The implemented navigation algorithm is integrated together with autonomous fault detection and exclusion (FDE) of GPS/Galileo/BeiDou satellites and estimation of the navigation solution integrity/accuracy (in terms of protection level and figures of merit). The HNU has been verified through fast-time and real-time simulations and then validated by means of in-flight tests performed deploying the HNU on a real-time hardware and embarking it on an RPAS. Details of the implemented algorithms, in-flight test rig set-up and related results will be described in the paper.
In the next section, the functional architecture of the HNU will be described detailing the navigation and the fault detection and exclusion algorithms implemented. In section three, the validation test rig and the in-flight test results will be reported. Finally, the conclusions and further works will be given in the fourth section.

2. The Hybrid Navigation Unit System

The HNU system implements all the algorithms for a tightly coupled sensor fusion between a DFMC GNSS receiver (in standalone configuration), an IMU (with closed-loop fibre optic gyroscope technology and quartz accelerometer) and barometric altitude from an ADC, together with related autonomous FDE and integrity monitoring algorithms.
Figure 1 shows the functional architecture of the system.
The Alignment module estimates the initial attitude state of the system in terms of roll, pitch and true heading angles through the IMU measurements in input. The module starts the alignment process when it is powered on and continues for a specified alignment time, which can be adjusted based on the desired accuracy. The first step in the alignment process is the calculation of the mean values of the IMU measurements. This is achieved by collecting and averaging the IMU measurements over a specified time. Once the mean values of the IMU measurements have been calculated, the Alignment module uses a combination of levelling and gyro compassing to estimate the orientation of the system [22,23]. On the other side, the Mode module implements the logic to allow all the HNU’s elements to correctly initialize and evolve. In detail, taking advantage of the IMU measurements the Mode module verifies that the vehicle is in static conditions, i.e., the measured accelerations and angular velocities are below appropriate thresholds, for all the duration of the coarse alignment process. If a movement is detected, the module changes its state in motion detection during which the acquired samples are not used for the alignment process. At the end of the coarse alignment, the Mode state goes into a zero-velocity update (ZUPT) state during which a fine alignment process of the extended Kalman filter (EKF) is activated in static conditions with zero velocity measurements forced into input. After five minutes, the ZUPT operative state is activated. In this state, the HNU is completely initialized and also ready to dynamically estimate the aircraft state. Indeed, an extended Kalman filter integrated with the FDE module, determining the valid satellite measurements, computes the navigation solution in terms of estimated position, velocity, attitude and related covariance, while a dedicated module provides the protection level (PL) and the figure of merit (FoM) of the solution.
Details of the implemented algorithms are given in the next sections.

2.1. Kalman Filter Prediction Module

The objective of the EKF module of the HNU is to provide a complete navigation solution by estimating the orientation and the position of the system in real-time. The EKF uses measurements from a multi-constellation GNSS receiver and an IMU to achieve this goal. Three constellations are used by the Kalman filter, GPS, Galileo and BeiDou. The implemented EKF algorithm is error state and closed loop; at each iteration of the algorithm, when an update happens, the error state is reset. Its computational complexity, as reported in [24], scales as the cube of the dimension of the state vector defined in (1).
In the KF prediction module, the state estimate and the state covariance matrix are updated based on process model, which predicts the future state of the system based on the current state and the dynamic model [2] (pp. 382–424). The module has as inputs the last estimate and the state covariance and last IMU measurements and outputs the predicted state and the predicted covariance matrix.
The Kalman filter has nineteen states, as reported below:
x ¯ = φ ¯ , δ v ¯ n , δ p ¯ , ε ¯ b , 𝛻 ¯ b , x ¯ C l o c k T R 19 ,
where φ ¯ is the mathematical platform misalignment angles array; δ v ¯ n is the velocity errors array; δ p ¯ is the position errors array in terms of latitude, longitude and altitude; ε ¯ b is the gyros drift error array expressed in body frame; 𝛻 ¯ b is the accelerometer errors array expressed in body frame; and x ¯ C l o c k is the clock state array composed of d t G GPS receiver clock offset; d t G E Galileo receiver clock offset w.r.t GPS; d t G C BeiDou receiver clock offset w.r.t GPS; d t d GPS receiver clock drift.
Once defined, the key initial states related to position, velocity and attitude, derived from the GNSS and the alignment module, the EKF prediction is executed in two steps. First, the states are integrated using the process equations to provide a predicted state and then the predicted covariance matrix is computed.
The state inertial integration can be divided in three steps (see Figure 2):
  • attitude update:
    C ̿ b k n k = C ̿ n k 1 n k C ̿ b k 1 n k 1 C ̿ b k b k 1
    where C ̿ b k b k 1 is rotation matrix from body frame at time t k 1 to body frame at t k derived from ω ¯ i b b   [25] including coning correction [26]. C ̿ b k 1 n k 1 is the body frame to navigation frame rotation matrix at time t k 1 . C ̿ n k n k 1 is the rotation matrix from navigation frame at time t k 1 to navigation frame at t k derived from ω ¯ i n n [25].
  • velocity update, also implementing the coning and sculling correction [27]:
    v ¯ k n = v ¯ k 1 n + v ¯ k n
    where v ¯ k n is computed from v s f b (accelerometer measurements) and sculling correction [25].
  • position update:
p ¯ k = p ¯ k 1 + M ̿ p v v ¯ k n + v ¯ k 1 n 2 D T
M ̿ p v = 0 1 R M + h 0 s e c ( L ) R N + h 0 0 0 0 1
where R M and R N are the meridian and transverse radii of the curvature of the Earth computed at latitude L , respectively.
In order to compute the predicted covariance, with DT representing the Kalman filter time step, Q the process noise matrix and G the system noise distribution matrix, KF prediction is computed with the following equations:
Q ̿ z = G ̿ Q ̿ G ̿ T D T
P ̿ z = P ̿ + 1 2 Q ̿
P ̿ = Φ ̿ P ̿ z Φ ̿ T + 1 2 Q ̿ z
where Φ in (4) is the state transition matrix and is computed by linearization of the dynamic matrix F ̿ :
Φ ̿ = I ̿ 19 x 19 + F ̿ D T
with F ̿ computed as follows:
F ̿ = F ̿ I N S 0 ̿ 15 × 4 0 ̿ 4 × 15 F ̿ C l o c k
F ̿ C l o c k = 0 0 0 D T 0 0 0 0 0 0 0 0 0 0 0 0
F ̿ I N S = M ̿ a a M ̿ a v M ̿ a p C ̿ b n 0 ̿ 3 × 3 M ̿ v a M ̿ v v M ̿ v p 0 ̿ 3 × 3 C ̿ b n 0 3 × 3 M ̿ p v M ̿ p p 0 ̿ 3 × 3 0 ̿ 3 × 3 0 ̿ 3 × 3 0 ̿ 3 × 3 0 ̿ 3 × 3 I ̿ 3 × 3 ( 1 t a u g ) 0 ̿ 3 × 3 0 ̿ 3 × 3 0 ̿ 3 × 3 0 ̿ 3 × 3 0 ̿ 3 × 3 I ̿ 3 × 3 ( 1 t a u a )
where τ g and τ a are the correlation times of the gyroscopes and accelerometers biases, respectively.
The dependencies of M ̿ i i are available in references such as [25,28].

2.2. Fault Detection and Exclusion

This module provides an enhanced GNSS satellite FDE with respect to conventional RAIM when using civil GPS. Improved performances are obtained by combining an FDE algorithm that uses tightly coupled KF process updates (AIM FDE) with a snapshot FDE algorithm based on an extended RAIM algorithm (ERAIM FDE) that can be applied to multi-constellation measurements, with no assumption of the prior satellite failure probability and satellite error modelling (like ARAIM [25,29]).
The use of a snapshot algorithm offers two key advantages. First, it relies solely on current measurements and satellite data, enabling the real-time execution of the algorithm characterized by a lower computational complexity with respect to recursive algorithms. Additionally, it can effectively identify and slowly exclude increasing satellite measurement errors. Moreover, the combination of the ERAIM FDE with the results of AIM FDE allows some types of simple cyber-attacks to be detected. Indeed, a highly probable spoofing attack is considered when AIM FDE excludes all the satellites from a constellation while the ERAIM FDE does not. This event is indicated by a dedicated code in the FDE output, while the spoofing attack is automatically mitigated as none of the spoofed GNSS satellites are used in computing the hybrid navigation solution by the Kalman filter.
The final results of the FDE module are the set of validated satellite measurements that can be used by the EKF update step algorithm and a set of information that are used for finally computing the fused PLs and FoM, by the respective software modules.

2.2.1. AIM FDE

The AIM FDE module performs failure detection using a chi-square failure detection test based on KF-predicted residuals and, in case of a failure detection, performs exclusion by checking the validity of each GNSS satellite. Actually, any measurement that is not aligned with the estimation provided by the current EKF prediction state is excluded and, therefore, also satellites that could have been affected by heavy multipaths would be detected and excluded. The algorithm is a measurement coherence test and it is based on the procedure described in [30] (Sections 3.1.1 and 3.2).
The steps of the AIM FDE are as follows:
  • Perform conversion of the EKF state and covariance prediction from the latitude, longitude, altitude (LLH) reference coordinates to Earth-centred Earth-fixed (ECEF), which is the reference frame of the AIM FDE algorithm. This is accomplished using the reference and covariance relations described in [31];
  • Compute mean sea level values for referencing the barometric altitude taking advantage of an earth gravity model like the Earth Geopotential Model (EGM96) easily available from open source;
  • Detect possible failures of the satellites using the EKF predictions;
  • In case of failure detection, attempt exclusion.
The algorithm for failure detection sets a fail detected integer (FD) for each constellation that indicates some satellite failure, using a chi-square test based on predicted residual, as described in [30] (Section 3.1.1).
The first step is to compute virtual pseudo-ranges ρ v i k from INS data and GNSS satellite measurements. This comes out from the standard equation of GNSS ranging satellites. For all indexes i of the valid constellation satellites:
ρ v i k = x S i x ^ k , k . 1 2 + y S i y ^ k , k . 1 2 + z S i z ^ k , k . 1 2 + c · τ k , k 1
where P ¯ S i = ( x S i ,   y S i , z S i ) is the satellite position in ECEF; P R X ^ , τ ^ k , k 1 is the predicted position from EKF and the constellation related clock offset; and c is the speed of light.
Then, a partial output measurement matrix should be computed (i.e., the linear satellite observability matrix). This is the matrix H k ̿ having dimension NSATx4, where NSAT is the number of the specific constellation satellites in view, with each row i computed as follows:
H ̿ i k = P ¯ S i P ¯ R X k , k 1 T P ¯ S i P ¯ R X k , k 1
Then, we define the measurement covariance matrix R k ̿ :
R k ̿ = σ U E R E 1 2 0 0 σ U E R E N S A T 2
Therefore, we can now compute the predicted residual error of dimension NSAT for each satellite constellation:
υ ¯ k = ρ ¯ v k ρ ¯ S A T k H k ̿ · P R X ^ , τ ^ k , k 1
and its covariance:
C o v ̿ υ ¯ k = H ̿ k · C o v ̿ k , k 1 · H ̿ k T + R ̿ k .
And finally compute the test statistics below:
Λ k = υ ¯ k T · C o v ̿ υ ¯ k 1 · υ ¯ k
Λ k is a scalar stochastic process that has a chi-squared distribution with NSAT degree of freedom. Therefore, we can define the test statistic threshold TD with a given probability of false alarm PFA, as follows:
T D = χ 2 1 N S A T , P F A
where χ 2 1 N S A T , P F A is the tabled inverse of the chi-square cumulative distribution function of order NSAT, with NSAT being the total number of real satellites under consideration with related covariances.
So, a fault is declared (FD = 1), as follows:
F D = 1   i f   Λ k > T D 0   i f   Λ k T D
In case of a failure detection (FD = 1), the AIM FDE failure exclusion functionality identifies failed satellites using a method similar to that described in [30] (Section 3.2).
This algorithm sets the validity data of the GNSS satellites as follows: equal to 0 if the satellite is not in view or it is declared failed; equal to 1 if it is a valid measured pseudo-range.
First, it computes the false alert probability for each satellite by deriving it from PFA:
P F A 0 = 1 1 P F A N S A T
If a failure has been detected by the above algorithm (denoted as global test) then, for each valid satellite i of each constellation, the following sequence of operations is executed:
  • Compute the standardized residual for each satellite at epoch k:
    λ k i = c ¯ i T · C o v ̿ υ ¯ k 1 · υ ¯ k c ¯ i T · C o v ̿ υ ¯ k 1 · c ¯ i
    where c ¯ i is a vector with NSAT elements of 0 and 1 only in the i-th position;
  • Compute the value of λ M a x = m a x ( λ k i ) ;
  • Update the element VALi as follows:
    V A L i = 0   i f   λ k i > N P F A 0 / 2 0,1 1   i f   λ k i N P F A 0 / 2 0,1
    where N P F A 0 / 2 0,1 is the value that corresponds to a PFA0/2 probability for a normal distribution having 0 mean and a standard deviation of 1;
  • If more than one of above tests have failed, then remove only the satellite that has λ M a x and repeat the global test (that is now more a sanity check) on the remaining satellites;
  • Exit only if the global test is successful; otherwise, repeat steps from 1 to 4.
The final output of this algorithm will produce the new VALi array that informs which of ρ , σ U E R E i are valid.
Moreover, if a failure has been detected but not one of the tests of the previous equation has identified at least a failed satellite, then the failure-detected flag FD shall be set to 2, meaning that the algorithm has been not able to identify a satellite to be excluded.

2.2.2. ERAIM FDE

This module implements an extended FDE/RAIM algorithm in which the GPS solution and satellites are first validated and then the satellites of the other constellations are validated using results from the pseudo-range (PR) pre-screening module. This algorithm is derived from a technique used for the integration of GPS receiver measurements with an IMU unit considering a tight-coupled fusion [30].
This strategy allows minimal assumptions and knowledge of the Galileo and BeiDou constellations while exploiting the heritage of several years of GPS usage in terms of reliability. The only assumption here is that GPS can have only a single failure (after the AIM FDE module) and that any satellite failure on a GPS constellation is not correlated with Galileo and BeiDou failures that conversely may also have multiple simultaneous satellite failures (any number). On the other hand, navigation integrity can only be assessed when the GPS solution is validated (e.g., when the number of satellites is above 5), preventing the use of GPS in low visibility conditions, even if the total number of satellites considering also the other constellations is well above the minimum number of satellites.
First, as with AIM FDE, this module shall be executed at each new measurement from the GNSS receiver and when a valid solution from the EKF is available, to avoid unnecessary computations.
The following steps are performed by the ERAIM algorithm:
  • Apply the appropriate masking angle to the current ranging satellites above the horizon that are valid, using the position of the receiver at the preceding epoch. The mask angle is typically 2 deg for en-route and imprecise operations and 5 deg for precision operations;
  • Compute the total sigma accuracy of residual errors for GPS satellites using the procedure [32] (Appendix J), in case of single-frequency, and [33] for multi-frequency. The expressions of the various sigma components in both cases are computed using the elevation and azimuth of ranging satellites estimated using the last valid ERAIM computed position. For L1 mode:
    σ i , S P S 2 = σ i , t r o p o 2 + σ i , U R A 2 + σ i , a i r 2
    For L1/L5 mode:
    σ i , D F 2 = σ i , t r o p o 2 + σ i , D F C 2 + σ i , a i r D F 2
    The terms in (24) and (25) express the covariance of each residual error correction after GNSS receiver compensations have been applied. Specifically, the subscripts DF stands for dual-frequency, tropo for tropospheric, iono for ionospheric (residual error after single or double frequency compensation is applied), air for RF receiver and multipath errors, URA for user range accuracy and DFC for the residual error after dual-frequency compensation.
  • Compute the full in view position and velocity fix using only the GPS satellites. The position fix is computed using an iterative weighted least mean squares algorithm with weights given by the sigmas computed at step 1, according to [32] (Appendix E). The unknowns are given by the position and clock offset of the receiver. Specifically, the following linear algebraic system equation is solved, as follows:
    ρ ¯ = G ̿ · P ¯ ,   c τ T + ε ¯
    where ρ ¯ , P ¯ and c τ are the PR errors, the position errors and the clock offset, respectively, and G ̿ is the observability matrix:
    G ¯ i = P ¯ S i P ¯ k 1 T P ¯ S i P ¯ k 1 + 1
    where P ¯ S i are the GPS satellite positions and P ¯ k 1 are the estimated positions at the previous iteration. The weighted least mean squares solution of the above system equation is found by iteration using the following tentative solutions until the position errors are below a given threshold:
    P ¯ ,   c τ T = S ̿ · ρ ¯ ,                       S ̿ = G ̿ T W ̿ G ̿ 1 G ̿ T W ̿
    where W ̿ = d i a g 1 σ i 2 is the weight matrix of the measured PR.
    The velocity fix can be found using an algorithm similar to the above step, as reported in [32] (Appendix F).
  • Perform FDE on GPS satellites using standard RAIM algorithms (any standard RAIM is equivalent as specified in [32]). Here, we adopted an algorithm that implements a Least Square Residuals method for failure detection and a Solution Separation method for excluding a failed GPS satellite. Specifically, the following is performed:
    Compute the residuals w and test statistics T:
    T = w ¯ T W ̿ w ¯ ,                     w = A ̿ · ρ ¯ G ̿ · P ^ , b ^ T ,           A ̿ = I ̿ G ̿ · S ̿
    The failure is declared as in the following standard least square residuals RAIM method:
    F a i l u r e   i f   T > T P ,     T P = χ 2 1 N S A T , P F A
    where χ 2 1 N S A T , P F A is the tabled inverse of the chi-square cumulative distribution function of order (N − 4), with NSAT being the total number of GPS satellites under consideration [32] with related covariances.
    When a failure is declared, the failure detection described in the above step shall be executed by removing one of the real satellites (Solution Separation). In case of a single failure, only one of these checks is successful that indicates the free fault set of real satellites. In case no or more than one of above checks is/are successful, then integrity is not available. This is not limiting as we preliminary examined multiple failures using AIM FDE.
    Using the free fault GPS satellite set, assign the position fix and GPS clock offset P ^ , b ^ T and compute the covariance of this solution, as follows:
    C o v k ̿ = G ̿ T W G ̿ 1
    Finally, compute the estimated errors on position and clock offset P R X ^ , τ ^ k :
    P R X ^ , τ ^ T = S ̿ · ρ ¯ , S ̿ = G ̿ T G ̿ 1 G ̿ T
  • In case of a single constellation, then, we shall perform directly the computation of PL, uncertainty levels (UL) and FOM of the solution (see step 13); otherwise, it is first required to validate the satellites of the other constellations. Therefore, for each constellation, the same computation of Step 2 above shall be performed using related data. The total PR measurement covariance matrix for each constellation other than GPS with NSAT satellites is as follows:
    R k ̿ = σ 1 2 0 0 σ N S A T 2
  • Build the ‘virtual’ PR that results from the GPS estimated position and the position of the satellite in the current constellation, as follows:
    ρ v i k = x S i x ^ k 2 + y S i y ^ k 2 + z S i z ^ k 2 + b ^ k
    and compute the matrix H ̿ of constellation satellite observability as per (27) using the current GPS position fix P ̿ ^ k instead of the P ̿ k 1 value (the GPS fix of preceding epoch) and x S i , y S i , z S i T is the position of the generic satellite in the constellation under consideration and b ^ k is an estimate of the current constellation clock offset.
  • Compute the estimated residual errors related to the current constellation υ ¯ k and its covariance C o v ̿ υ ¯ k :
    υ ¯ k = ρ ¯ v k ρ ¯ S A T k H ̿ k · P R X ^ , τ ^ k
    C o v ̿ υ ¯ k = H ̿ k · C o v ̿ k · H ̿ k T + R ̿ k
    where ρ ¯ S A T k is the vector of measured PR for the current constellation at the current epoch k and C o v ̿ k is the covariance of the current GPS position fix and of the current constellation clock offset.
  • So, given the test statistics below:
    Λ k = υ ¯ k T · C o v ̿ υ ¯ k 1 · υ ¯ k
    Λ k is a scalar stochastic process, related to the current constellation, that has a chi-squared distribution with NSAT degree of freedom;
  • We can define the test statistic threshold TD with a given probability of false alarm PFA, as in (19).
  • A fault in the current constellation is declared when:
    F a u l t = 1   i f   Λ k > T D 0   i f   Λ k T D
  • When a constellation is declared faulted, as above, we shall perform a failure exclusion procedure that, in this case, does not assume single failures. This procedure requires the false alert probability to be computed for each satellite by deriving it from PFA as in (21) and then, for each visible satellite i, the following sequence of operations shall be executed: compute the standardized residual for each satellite at epoch k as in (22); compute the maximum value of λ k i ; declare a fault for a satellite if only one of the tests below is failed:
    F a u l t i = 0   i f   λ k i > N P F A 0 / 2 0,1 1   i f   λ k i N P F A 0 / 2 0,1
    If more than one of the above tests has failed or no failure has been detected, then remove only the satellite that has λ M a x and repeat the global test (steps from 3 to 10) on the remaining satellites. As the global test failed, at least one satellite is in failure and the best candidate for exclusion is the satellite that has λ M a x . Exit only if the global test is successful, otherwise, repeat the steps of this point.
  • When the satellites in each constellation have been validated using above steps, we can finally perform the computation of the full in view PVT solution and related FOM, PL and UL. Considering only the validated satellites, the full-in-view PVT solution for a multi-constellation receiver is computed considering different clock offsets for each constellation P ¯ k , b G P S , b G A L , b B D S T and using the same algorithm as described in step three, but with the observability matrix built adding the columns for the clocks drift.
    Where indexes i, j, u are used for visible satellites in the constellations GPS, GAL and BDS, respectively, the position at the previous epoch k − 1 is the GPS position estimated at step three while the clock offsets are the values computed at the previous epoch.
  • The horizontal and vertical PL parameters for the current set of visible satellites can be computed using the following expressions:
    H P L = H s l o p e T P ( P F A ) + K P M D σ H
    V P L = V s l o p e T P ( P F A ) + K P M D σ V
    where expressions for H s l o p e , V s l o p e are given as follows:
    H s l o p e = max i σ U E R E , i S 1 , i 2 + S 2 , i 2 A i , i   ;   V s l o p e = max i σ U E R E , i S 3 , i A i , i
    with σ H and σ V given by the following:
    σ H = G ̿ T W ̿ G ̿ 1 11 + G ̿ T W ̿ G ̿ 1 22
    σ V = G ̿ T W ̿ G ̿ 1 33
    and T P ( P F A ) is given by (30).
    Finally, the horizontal and vertical uncertainty levels HUL (VUL) and the related figures of merit HFOM (VFOM) parameters are computed as reported below:
    H U L = H s l o p e T + K P M D σ H
    V U L = V s l o p e T + K P M D σ V
    T = w ¯ T W ̿ w ¯ ,                     w ¯ = A ̿ · ρ ¯ G ̿ · P ^ , b ^ T ,           A ̿ = I ̿ G ̿ · S ̿
    With P ^ , b ^ T being the position fix and clock offset and K(PMD) is the multiplying factor for a Gaussian distribution related to the probability of missed detection.
    The HFOM (VFOM) are computed by rotating the errors in ECEF to LLH in WGS84 and then using the diagonal elements of the resulting matrix:
    H F O M = 1.96 F 11 + F 22
    V F O M = 1.96 F 33
The probability of missed detection is related to the acceptable integrity risks for the current flight operation. In this implementation, it is assumed that it is 1 × 10−5 when no vertical guidance is required and 1 × 10−7 during precision approaches.

2.3. Kalman Filter Update Module

The objective of the Kalman filter update module is to provide an improved estimate of the orientation and position of the system, using the GNSS and baro-altimeter measurements. The Kalman filter update module computes the updated estimates of the orientation and position of the system using pseudo-ranges and delta-range rates measurements. The pseudo-range measurements provide information about the distance between the GNSS satellite and the receiver, while the delta range rate measurements provide information about the relative velocity between the GNSS satellite and the receiver. These measurements are combined with the IMU measurements to provide an improved estimate of the orientation and position of the system. The input to the Kalman filter update module includes the GNSS and ADC measurements, and the prior estimate of the state of the system. The output of the module includes the updated estimate of the state of the system, including the orientation and position of the system, as well as the state covariance matrix.
The Kalman filter update module is implemented in a single function and it adopts a cascade measurement approach, which involves combining multiple measurements from different sensors to improve the accuracy and reliability of the navigation solution (see Figure 3). These measurements include ZUPT measurements, pseudo-range measurements, delta range rate (DRR) measurements and barometric altimeter measurements.
If the system is still aligning, the KF update module only performs a ZUPT measurement through the following relations:
z ¯ Z U P T = V ¯ i n s 0   0   0 H ̿ Z U P T d x ¯
H ̿ Z U P T = 0 ¯ 3 x 3 I ¯ 3 x 3 0 ¯ 3 x 13
where z ¯ Z U P T is the innovation vector; H ̿ Z U P T is the measurement matrix and d x ¯ is the updated state.
If the system is not in alignment mode and satellites are visible and valid, the first measurement to be computed is the pseudo range measurement. Innovation, measurement matrix and measurement noise are defined as follows:
z P R = p r ¯ G N S S p r ¯ ~ I N S H ̿ P R d x ¯
where p r ¯ ~ I N S is the pseudo-range predicted at INS computed position, and the measurement matrix depends on the line-of-sights vector of each visible satellite, the complete mathematical formulation is available in [25]. Then, the predicted state and covariance is updated:
K ̿ P R = P ̿ H ̿ P R T H ̿ P R P ̿ H ̿ P R T + R ̿ P R 1
d x ¯ = d x ¯ + K ̿ z ¯ P R
P ̿ + = ( I ̿ K ̿ P R H ̿ P R ) P ̿
where R ̿ P R is computed from the user equivalent range error (UERE) of each satellite in view.
The state covariance and correction are carried forward to the next measurement. The second measurement to be computed is the delta range rate measurement. Innovation, measurement matrix and measurement noise are defined, as follows:
z ¯ D R R = d r r ¯ G N S S d r r ¯ ~ I N S H ̿ D R R d x ¯
The same considerations performed for the pseudo-range measurement are valid here, the mathematical formulation is available in [25].
K ̿ D R R = ( P ̿ H ̿ D R R T ) ( H ̿ D R R P ̿ H ̿ D R R T + R ̿ D R R ) 1
d x ¯ = d x ¯ + K ̿ z ¯ D R R
P ̿ + = ( I ̿ K ̿ D R R H ̿ D R R ) P ̿
where R ̿ D R R is supposed to be diagonal and constant.
As in the previous step, the state covariance and correction are carried forward to the next measurement. The final measurement to be calculated in the KF measure update algorithm is the barometric altimeter measurement, for which the innovation is defined as follows:
z ¯ B A R O = h ¯ I N S h ¯ b a r o H ̿ B A R O d x ¯
The apply correction step is utilized in the algorithm to incorporate the correction to the solution and provide feedback to the next iteration. The error state solution, relative to the last computed measurement step, is used to calculate the navigation solution. Corrections are summed to the predicted solution according to their physical meaning starting from the last state estimation d x ¯ = φ ¯ , δ v ¯ n , δ p ¯ , δ ε ¯ b , δ 𝛻 ¯ b , δ x ¯ C l o c k T . The error states are then transformed into the total predicted state.

2.4. Protection Level and Figure of Merit Computation

This module performs PL and FOM computation, taking advantage of EKF covariance estimation and using the ERAIM module outputs. Indeed, it basically performs PL coasting between GNSS measurements while being suitably initialized, depending on the current operating mode and validity information coming from FDE processing of the GNSS measurement. This simple approach, derived from [34], allows PL estimation to be obtained transparently and efficiently with hybrid IMU/GNSS units even during GNSS partial or complete outages, at the only price to have a preliminary characterization of the maximum acceleration errors that can be experienced by a given IMU during a pure coasting solution. Obviously, the PL drift that is obtained depends upon the IMU quality class, but, for good fibre optic gyro units, it can also still be acceptable in safety critical operations for some minutes, which should allow the vehicle to move to a safe and more comfortable condition.
The basic steps of the PL and FOM algorithm are as follows:
  • PL Initialization that selects the PL value for initialization of the PL coasting algorithm, based on the current operating mode, the status of GNSS receiver and on the current values of the KF covariance;
  • PL Coasting that implements an explicit propagation of the PLs starting from suitably initial values;
  • FOM Computation that computes the free fault figure of merit, with given covariance matrix of KF.

2.4.1. PL Initialization

Initial PLs shall come from the worst values between the PLs computed by ERAIM algorithm (that are inputs), if these are well defined (i.e., FD = 0 or 1 and FIX = 1), and the inflated KF covariance with the addition of the maximum non-detectable bias values.
The initial PL with EKF covariance shall be computed as follows:
H P L K F = H s l o p e + K P L P 11 2 + P 22 2
V P L K F = V s l o p e + K P L P 33
Then, defining HPL and VPL the worst value between ERAIM PL and the above ones, the covariance reset value in north-east-down reference frame is computed as follow:
P x , 0 = 1 K P L 2 H P L 2 2 0 0 0 H P L 2 2 0 0 0 V P L 2
K P L = e r f 1 1 2 I R
where I R is the integrity risk that is identified by the probability of missed detection as defined in the table below and erf−1 is the inverse of the normal cumulative probability function.

2.4.2. PL Coasting

Starting from the covariance initial value, as determined by the above procedure, this part of the algorithm performs coasting of the covariance position and white noises, using an explicit integration formulation, as described in [34]:
P x , k = P x , 0 + Q w t 4 1 6 k k + 1 2 k + 1
where t is the sample time; k (that is ≥0 and it is 0 when a covariance reset is performed) is the discrete number of samples since the integration start and Q w is a diagonal noise covariance tunable parameter (with the same noise power for every axis) that overbounds the rotation-corrected acceleration measurements with a Gaussian distribution taking into account that the simple noise integration model is based on non-rotating flat earth, perfect gravity compensation and known perfect attitude. This parameter is a characteristic of the IMU device that is used for integration with the GNSS receiver. Actually, higher quality IMUs will keep the covariance drift within acceptable values for several minutes.
When the above coasted covariance is below the KF covariance, then this last one shall be used.
The final protection levels are computed by inflating the corresponding elements of the above coasted covariance, as follows:
H P L F F = K P L S 11 2 + S 22 2
V P L F F = K P L S 33
where S i i 2 , with i = 1…3 are the diagonal elements of the coasted covariance matrix in the order north, east, down for position and velocity, computed as above. K P L is previously defined and depends upon the IR previously defined.

2.4.3. FOM Computation

This algorithm finally computes the free fault 95% accuracy of position and velocity based on the covariance matrix of the Kalman filter, as follows:
H F O M = 1.96 S 11 2 + S 22 2
V F O M = 1.96 S 33
V H F O M = 1.96 S 44 2 + S 55 2
V V F O M = 1.96 S 66
where S i i 2 , with i = 1…6 are the diagonal elements of the Kalman filter covariance matrix in the order north, east, down for position and velocity.

3. Validation Test Rig and In-Flight Results

After fast-time and real-time HW in-the-loop verification of the HNU module, in-flight demonstrations have been performed exploiting an Italian Aerospace Research Centre (CIRA) flight experimental vehicle capable of executing autonomous flights. Such a vehicle is based on a modified TECNAM P92-Echo S (named FLARE) with a related ground control station and a dedicated datalink, located close to the Capua airport in CIRA premises. The HNU software was deployed on a PC-104 hardware and embarked on the RPAS as payload under test (i.e., the RPAS had its own guide, navigation and control system managing the flight while the HNU runs in parallel) in order to safely test its functionalities.
Figure 4 shows the setup for the in-flight testing. It is composed of the following:
  • A GNSS receiver, model JAVAD-DELTA3, and related antenna capable of receiving GPS, Galileo and BeiDou signals;
  • An IMU, model Civitanavi KRIO, based on fibre-optic gyros and quartz accelerometers;
  • An air data system;
  • A PC-104 platform for the RT execution of the item under test (i.e., HNU module), not involved in the control of the automatic flight (AURORA payload module in Figure 4).
Furthermore, a real-time kinematic (RTK) GPS receiver is also installed onboard and used as reference centimetre level position sensor to estimate the actual performance of the HNU in terms of position and velocity errors.
Figure 5 highlights the specific installation location of each equipment of Figure 4 on the experimental flight vehicle.
The considered use case is that of an RPAS performing a photogrammetry mission over the Rome urban area through a complete autonomous flight. The real flights have been actually performed in the Capua area while the Rome operational area has only been used to inject into the actual GNSS observables the threats related to the urban environment of Rome. That has been possible taking advantage of a GNSS threat simulator (GTS) module (see Figure 4) developed to elaborate and modify the DFMC GNSS observables in order to introduce the effects of satellite visibility (i.e., the actual visibility condition of the receiver’s antenna with respect to terrain and ground obstacles), multipath, radio frequency interference and cyber threats (i.e., jamming, spoofing) typical of an UAM scenario.
In fact, the “actual operational area” has been located around the Capua airport as required by the experimental permit to fly prescriptions while the “virtual operational area” has been located over the Rome city centre (see Figure 6) simply shifting the position by means of a constant latitude, longitude and altitude values.
In the described operational context, a spoofing threat test was executed, in which in addition to satellite visibility and multipath threats, a cyber-attack with a spoofer device was injected into the GNSS receiver.
In this test, the GTS was configured to inject the spoofing attack on all the satellites in view, in a location that is near the planned trajectory of FLARE and with a signal that has a spoofing to signal ratio of about 45 db. The scenario that resulted from the above configuration is related to a hacker who performs the spoofing attack from the roof of a building located quite close to the FLARE trajectory and activates it as soon as the vehicle is around the spoofer location. The spoofer is a meaconer that simply re-transmits to the HNU the satellite signals gathered by a GNSS receiver that is fixed in the same position of the spoofer.
Figure 7 shows the comparison between the following:
  • The GNSS-received satellites, that are the real satellites acquired by the GNSS device in the actual operational area where the aircraft is flying at about 3000 ft of altitude;
  • The satellites provided by the GTS, that are the ones acquired by the GNSS device but filtered due to visibility (i.e., the RPAS is flying at about 350 ft) in the urban scenario (i.e., the virtual operational area). Figure 8 reports the mission flight plan, in terms of latitude, longitude, and terrain elevation emulated on Rome area;
  • The validated satellites from the FDE algorithm, given in input the GTS measurements.
From the previous figure, the effect is clear of the reduced satellite visibility due to the surrounding terrain and obstacles of the urban scenario with respect to the actual operational area. Moreover, in the time interval between 1100 s and 1700 s, continuous changes in the FDE-validated satellites can be noted, due to the removal of those affected by the multipath effect. In fact, during that time interval, the RPAS is flying the FGH segments (see Figure 8) that are next to a mountain.
In the time interval that goes from 1700 s to about 2000 s, the effect of the cyber-attack is clear. As the GTS injects the threat, the FDE detects it and excludes all the satellites so that the HNU can continue to provide a valid solution even in these conditions taking advantage of the IMU and ADS measurements.
Finally, it is worth noting that in the first 500 s, the FDE-validated number of satellites must not be considered because the HNU is in the alignment phase, with the RPAS steady on the ground, and so the EKF and the FDE are still not fully initialized.
Figure 9 reports the trajectory performed by the vehicle from the take-off to landing in the actual operational area. It is worth noting that during the execution of the automatic flight plan, near the waypoint F (see Figure 8 and Figure 9), the flight control computer experienced a failure which required a manual recovery from the pilot. The failure autonomously detected by the flight control computer (FCC) regarded a C2 link loss. After the pilot recovery manoeuvre, the failure disappeared and the flight continued in autonomous mode as expected.
Looking to the HNU FDE status in Figure 10, it can be noted how it excludes some satellites throughout the flight due to the effects of multipath, but a larger region between 1700s and 2000s confirms the spoofing detection as induced by the GTS. Moreover, sporadic events that make all the satellites be excluded can be noted along the flight. They are associated with conditions in which the number of GPS-validated satellites is below five, determining the impossibility for the FDE to validate the GPS solution and then the satellites of the other constellations as explained in the ERAIM algorithm description section (see Section 2.2.2).
The performance of HNU in terms of position and velocity errors and related FOMs and PLs are reported in the following figures. It is evident that during this flight, the AURORA payload performed well on the horizontal but even better on the vertical due to the barometric altitude aiding.
Figure 11 shows the comparison among the position error of the HNU with respect to the RTK (used as reference for position and velocity), the figure of merit and the protection level on both the horizontal and the vertical plane. On the horizontal (see Figure 11a), during the nominal flight (i.e., without considering the time interval of application of the cyber threat), the HNU position error has a mean of 13 m with a standard deviation of about 8.5 m. It is always bounded by the computed PL except during the spoofing attack. In that case, it is evident that the horizontal position error overcomes the HPL indicating the necessity to better tune the KF. However, as soon as the cyber-attack ends, the HNU recovers the HPL. On the vertical plane, the mean of the error is about 9.2 m with a standard deviation of 6.5 m, also considering the spoofing attack time interval. In fact, in this case, the aid of the barometric measurements avoids the error to increase in time while the HNU makes a good estimation of the VPL for all the flight.
For what concerns the FOM, on the horizontal it has a mean of 2 m (not considering the spoofing interval), while on the vertical, it has a mean of 5.9 m considering all the flight (after the take-off phase).
In Figure 12, the HNU performances related to the velocity are also reported. On the horizontal plane, the velocity error has a mean of about 0.6 m/s and 0.31 m/s and a standard deviation of 1.7 m/s and 0.4 m/s considering or not the spoofing time interval. On the vertical plane, the velocity error has a mean of 0.19 m/s with a standard deviation of 0.21 m/s considering all the flight phase apart from the take-off.
It is worth noting that errors are evaluated with respect of the solution of an RTK differential GPS receiver onboard and acquired from the FCC. Indeed, such RTK GPS receiver is used during the FLARE actual flights as a reference for the aircraft position and velocity solution.
In conclusion, a general underestimation of the FOMs with respect of the actual position and velocity errors has been highlighted both on the horizontal and the vertical plane. HPL behaviour is consistent on the whole trajectory, but during the coasting phase (i.e., during the cyber-attack) it underestimates the actual horizontal position error. The VPL, on the other side, is correctly estimated for the whole mission after the take-off. All these considerations imply the need to make a fine tuning of the EKF in order to have a better estimation of the navigation solution and related integrity/accuracy during cyber-attacks.
The performed tests demonstrate that the HNU is capable of providing a good estimation of the navigation solution in nominal conditions and to detect electromagnetic threats continuing to provide a valid navigation solution to the RPAS without compromising the execution of the automatic mission. This last aspect represents the main advantage of the present technique with respect of the classical approach based only on the GNSS device where also a temporary outage of the GNSS can determine the discontinuity of the PVT solution even in nominal scenarios. This is particularly evident in urban and suburban environments, where the benefits of GNSS are compromised by significant multipath effects, poor satellite visibility and electromagnetic interference. In this respect, a quantitative evaluation of the navigation solution degradation in the different GNSS satellite visibility and multi-path conditions is outside the scope of this paper. However, from a qualitative stand-point, the proposed tight coupling Kalman filter strategy can optimally use all the available satellites (even if they are below the minimum number required by a GNSS receiver), while the above results demonstrate that the satellites affected by heavy multi-path or spoofing attacks are typically removed by the proposed FDE module.

4. Conclusions

In this paper, the algorithms of a hybrid navigation unit for UAM applications were detailed. Such system implements a tightly coupled sensor fusion between a DFMC GNSS receiver (in standalone configuration), an IMU (with closed-loop fibre optic gyroscope technology and quartz accelerometer) and barometric altitude from an ADC.
The peculiarity of the system is the integration of the navigation algorithm together with autonomous fault detection and exclusion of GPS/Galileo/BeiDou satellites and estimation of navigation solution integrity/accuracy algorithms.
The implemented FDE module provides an enhanced GNSS satellite failure detection and exclusion with respect to conventional RAIM when using civil GPS, taking advantage of multi-constellation measurements. It gives in output the set of validated satellite measurements that are used by the EKF update step algorithm together with the information necessary to compute the fused protection levels and figures of merit.
The effectiveness of the proposed algorithm has been validated by means of in-flight testing using an RTK GPS receiver with centimetric precision as reference for position and velocity measurements. The HNU module has been deployed on a real-time hardware machine and embarked as payload on a RPAS capable to execute autonomous mission. For safety reasons, the real flights have been performed in the Capua area using the GTS module on board to inject in the actual GNSS observables the threats related to the urban environment of Rome (e.g., multipath, satellite poor visibility, spoofing and jamming) constituting the virtual operational area.
The results obtained have highlighted the improvement in the PNT solution of the developed HNU with respect to a GNSS pure system whose performance are lowered in urban environment. In fact, the integration with the FDE algorithm applied to multi-constellation measurements was demonstrated to be effective in the rejection of satellite failures and/or cyber-attacks continuing to guarantee the integrity of the PNT solution.
Anyway, a general underestimation of the FOMs with respect to actual position and velocity errors and the fact that, during the cyber-attack, the HPL does not bound the position error indicate the necessity to better tune the EKF.
Future works will aim at fine-tuning the implemented EKF. This will be achieved through fast-time and real-time simulations taking advantage of the data recorded during this flight test campaign, in order to achieve better estimates of the navigation solution and its related integrity/accuracy during cyber-attacks. Then, further in-flight tests will be scheduled in order to evaluate the updated HNU module functionalities.

Author Contributions

Conceptualization, all authors; methodology, all authors; software, F.C., G.C. (Gianluca Corraro), A.F. and G.C. (Giovanni Cuciniello); validation, G.C. (Gianluca Corraro), G.C. (Giovanni Cuciniello) and L.G. (Luca Garbarino); writing—original draft preparation, F.C., G.C. (Gianluca Corraro), A.F. and G.C. (Giovanni Cuciniello); writing—review and editing, R.S. and F.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the European Space Research and Technology Centre (ESTEC)/European Space Agency (ESA) under contract NAVISP-EL3-018 (itAlian Urban aiR mObility technologies & distrRibuted test-fAcility, AURORA).

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to funding contract restriction.

Conflicts of Interest

Authors Federico Corraro, Andrea Flora and Roberto Senatore were employed by the company Civitanavi Systems S.p.A. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

References

  1. Teunissen, P.J.G.; Montenbruck, O. Handbook of Global Navigation Satellite Systems, 1st ed.; Springer: Berlin, Germany, 2017; pp. 197–271. [Google Scholar]
  2. Grewal, M.S.; Weill, L.R.; Andrews, A.P. Global Positioning Systems, Inertial Navigation, and Integration, 1st ed.; Wiley & Sons Inc.: New York, NY, USA, 2006; pp. 103–130, 382–424. [Google Scholar]
  3. Zhu, N.; Marais, J.; Bétaille, D.; Berbineau, M. GNSS Position Integrity in Urban Environments: A Review of Literature. IEEE Trans. Intell. Transp. Syst. 2018, 19, 2762–2778. [Google Scholar] [CrossRef]
  4. ICAO. Annex 10—Aeronautical Telecommunications—Volume 1—Radio Navigation Aids, 8th ed.; ICAO: Montreal, QC, Canada, 2023. [Google Scholar]
  5. European Union Aviation Safety Agency (EASA). Introduction of a Regulatory Framework for the Operation of Drones; EASA: Köln, Germany, 2015.
  6. Italian Civil Aviation Authority (ENAC). Roadmap AAM (2021–2030); ENAC: Toulouse, France, 2024. [Google Scholar]
  7. Sabatini, R.; Moore, T.; Hill, C. Avionics-based GNSS integrity augmentation synergies with SBAS and GBAS for safety-critical aviation applications. In Proceedings of the 35th Digital Avionics Systems Conference, Sacramento, CA, USA, 25–29 September 2016. [Google Scholar]
  8. International Civil Aviation Organization (ICAO). Annex 457—Global Navigation Satellite System (GNSS) Manual, 2nd ed.; ICAO: Montreal, QC, Canada, 2012. [Google Scholar]
  9. Sabatini, R.; Moore, T.; Hill, C. Avionics-Based Integrity Augmentation System for Mission-and Safety-Critical GNSS Applications. In Proceedings of the 25th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS), Nashville, TN, USA, 17–21 September 2012. [Google Scholar]
  10. Quan, W.; Li, J.; Gong, X.; Fang, J. INS/CNS/GNSS Integrated Navigation Technology, 1st ed.; Springer: Berlin, Germany, 2015; pp. 237–257. [Google Scholar]
  11. Lee, Y.C.; O’Laughlin, D.G. Performance Analysis of a Tightly Coupled GPS/Inertial System for Two Integrity Monitoring Methods. Navigation 2000, 47, 175–189. [Google Scholar] [CrossRef]
  12. Vezinet, J. Study of Future On-Board GNSS/INS Hybridization Architectures. Ph.D. Thesis, Institut National Polytechnique, Toulouse, France, December 2014. [Google Scholar]
  13. Diesel, J.W.; Luu, S. GPS/IRS AIME: Calculation of Thresholds and Protection Radius Using Chi-Square Methods. In Proceedings of the ION GPS-95, Palm Springs, CA, USA, 12–15 September 1995. [Google Scholar]
  14. Diesel, J.; King, J. Integration of Navigation Systems for Fault Detection, Exclusion, and Integrity Determination—Without WAAS. In Proceedings of the National Technical Meeting of the Institute of Navigation, Anaheim, CA, USA, 18–20 January 1995. [Google Scholar]
  15. Brenner, M. Integrated GPS/Inertial Fault Detection Availability. In Proceedings of the ION GPS 95, Palm Springs, CA, USA, 12–15 September 1995. [Google Scholar]
  16. Feng, S.; Ochieng, W.; Walsh, D.; Ioannides, R. A Measurement Domain Receiver Autonomous Integrity Monitoring Algorithm. GPS Solut. 2006, 10, 85–96. [Google Scholar] [CrossRef]
  17. Garcia Crespillo, O. GNSS/INS Kalman Filter Integrity Monitoring with Uncertain Time Correlated Error Processes. Ph.D. Thesis, Ecole Polytechnique Federale de Lausanne, Losanna, Switzerland, February 2022. [Google Scholar]
  18. Tanıl, Ç.; Khanafseh, S.; Joerger, M.; Pervan, B. Kalman Filter-based INS Monitor to Detect GNSS Spoofers Capable of Tracking Aircraft Position. In Proceedings of the IEEE/ION Position, Location and Navigation Symposium (PLANS), Savannah, GA, USA, 11–14 April 2016. [Google Scholar]
  19. Manickam, S.; Keefe, K.O. Using Tactical and MEMS Grade INS to Protect Against GNSS Spoofing in Automotive Applications. In Proceedings of the 29th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+), Portland, OR, USA, 12–16 September 2016. [Google Scholar]
  20. Yang, L.; Qiangwen, F.; Zhenbo, L.; Sihai, L. GNSS Spoofing Detection Ability of a Loosely Coupled INS/GNSS Integrated Navigation System for two Integrity Monitoring Methods. In Proceedings of the International Technical Meeting of the Institute of Navigation, Monterey, CA, USA, 30 January–2 February 2017. [Google Scholar]
  21. RTCA DO-384; Minimum Operational Performance Standards (MOPS) for GNSS Aided Inertial Systems. RTCA: Washington, DC, USA, 2020.
  22. Dai, Z.; Ziebold, R.; Born, A.; Engler, E. Heading-determination using the sensor-fusion based maritime PNT Unit. In Proceedings of the IEEE/ION Position, Location and Navigation Symposium (PLANS), Myrtle Beach, SC, USA, 23–26 April 2012. [Google Scholar]
  23. Avrutov, V.V.; Buhaiov, D.V.; Meleshko, V.V. Gyrocompassing Mode of the Attitude and Heading Reference System. In Proceedings of the IEEE 4th International Conference Actual Problems of Unmanned Aerial Vehicles Developments (APUAVD), Kyiv, Ukraine, 17–19 October 2017. [Google Scholar]
  24. Daum, F.E. Extended Kalman Filters, 1st ed.; Springer: London, UK, 2014. [Google Scholar]
  25. Groves, P.D. Principles of GNSS, Inertial, and Multi-Sensor Integrated Navigation Systems, 2nd ed.; Artech House: London, UK, 2013; pp. 559–640. [Google Scholar]
  26. Ignagni, M.B. Efficient Class of Optimized Coning Compensation Algorithms. J. Guid. Control. Dyn. 1996, 19, 424–429. [Google Scholar] [CrossRef]
  27. Ignagni, M.B. Duality of Optimal Strapdown Sculling and Coning Compensation Algorithms. Navigation 1998, 45, 85–95. [Google Scholar] [CrossRef]
  28. Titterton, D.H.; Weston, J.L. Strapdown Inertial Navigation Technology, 2nd ed.; Institution of Engineering and Technology: London, UK; The American Institute of Aeronautics: Reston, VA, USA, 2004; pp. 342–350. [Google Scholar]
  29. Blanch, J.; Walter, T.; Enge, P.; Lee, Y.; Pervan, B.; Rippl, M.; Spletter, A. Advanced RAIM User Algorithm Description: Integrity Support Message Processing, Fault Detection, Exclusion, and Protection Level Calculation. In Proceedings of the 25th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS), Nashville, TN, USA, 17–21 September 2012. [Google Scholar]
  30. Zhang, C.; Zhao, X.; Pang, C.; Zhang, L.; Feng, B. The Influence of Satellite Configuration and Fault Duration Time on the Performance of Fault Detection in GNSS/INS Integration. Sensors 2019, 19, 2147. [Google Scholar] [CrossRef] [PubMed]
  31. Crassidis, J.L. Sigma-Point Kalman Filtering for Integrated GPS and Inertial Navigation. IEEE Trans. Aerosp. Electron. Syst. 2006, 42, 750–756. [Google Scholar] [CrossRef]
  32. RTCA DO-229; Minimum Operational Performance Standards (MOPS) for Global Positioning System/Satellite-Based Augmentation System Airborne Equipment. RTCA: Washington, DC, USA, 2020.
  33. EUROCAE ED-259; Minimum Operational Performance Standards for Galileo—Global Positioning System—Satellite-Based Augmentation System Airborne Equipment. EUROCAE: Saint-Denis, France, 2019.
  34. Crespillo, O.G.; Grosch, A.; Belabbas, B.; Rippl, M. GNSS-aided INS Integrity Concept. In Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+), Tampa, FL, USA, 8–12 September 2014. [Google Scholar]
Figure 1. Functional architecture of HNU system.
Figure 1. Functional architecture of HNU system.
Aerospace 11 00955 g001
Figure 2. Inertial integration algorithm in ENU frame, where L, λ and h represent latitude, longitude and altitude values at time step k and k − 1, respectively.
Figure 2. Inertial integration algorithm in ENU frame, where L, λ and h represent latitude, longitude and altitude values at time step k and k − 1, respectively.
Aerospace 11 00955 g002
Figure 3. KF update algorithm.
Figure 3. KF update algorithm.
Aerospace 11 00955 g003
Figure 4. Detailed architecture of the in-flight test rig.
Figure 4. Detailed architecture of the in-flight test rig.
Aerospace 11 00955 g004
Figure 5. Internal and external view of the experimental flight vehicle (modified TECNAM P92-Echo S) highlighting the locations of the equipment installed on board.
Figure 5. Internal and external view of the experimental flight vehicle (modified TECNAM P92-Echo S) highlighting the locations of the equipment installed on board.
Aerospace 11 00955 g005
Figure 6. Actual (flight) vs. virtual operational area.
Figure 6. Actual (flight) vs. virtual operational area.
Aerospace 11 00955 g006
Figure 7. Comparison among the GNSS-received satellites, the satellites provided by the GTS and the validated ones from the FDE algorithm.
Figure 7. Comparison among the GNSS-received satellites, the satellites provided by the GTS and the validated ones from the FDE algorithm.
Aerospace 11 00955 g007
Figure 8. Terrain elevation along the RPAS flight plan in Rome operational area (virtual area). The spoofer/jammer position is highlighted in green.
Figure 8. Terrain elevation along the RPAS flight plan in Rome operational area (virtual area). The spoofer/jammer position is highlighted in green.
Aerospace 11 00955 g008
Figure 9. Horizontal (a) and vertical (b) trajectory performed by the vehicle from the take-off to landing (i.e., HNU recorded data) demonstrating the proper HNU behaviour compared to the RTK horizontal centimetric position recorded (i.e., GCS recorded data).
Figure 9. Horizontal (a) and vertical (b) trajectory performed by the vehicle from the take-off to landing (i.e., HNU recorded data) demonstrating the proper HNU behaviour compared to the RTK horizontal centimetric position recorded (i.e., GCS recorded data).
Aerospace 11 00955 g009
Figure 10. FDE status indication (0, no failure; 1, failure detected and excluded; 2, failure detected and not excluded; 3, test not possible due to wrong GNSS or KF data; 4, sanity check failed, i.e., all satellites seem to be invalid).
Figure 10. FDE status indication (0, no failure; 1, failure detected and excluded; 2, failure detected and not excluded; 3, test not possible due to wrong GNSS or KF data; 4, sanity check failed, i.e., all satellites seem to be invalid).
Aerospace 11 00955 g010
Figure 11. HNU position performance on the horizontal (a) and on the vertical (b) plane.
Figure 11. HNU position performance on the horizontal (a) and on the vertical (b) plane.
Aerospace 11 00955 g011
Figure 12. HNU velocity performance on the horizontal (a) and on the vertical (b) plane.
Figure 12. HNU velocity performance on the horizontal (a) and on the vertical (b) plane.
Aerospace 11 00955 g012
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Corraro, G.; Corraro, F.; Flora, A.; Cuciniello, G.; Garbarino, L.; Senatore, R. Dual-Frequency Multi-Constellation Global Navigation Satellite System/Inertial Measurements Unit Tight Hybridization for Urban Air Mobility Applications. Aerospace 2024, 11, 955. https://doi.org/10.3390/aerospace11110955

AMA Style

Corraro G, Corraro F, Flora A, Cuciniello G, Garbarino L, Senatore R. Dual-Frequency Multi-Constellation Global Navigation Satellite System/Inertial Measurements Unit Tight Hybridization for Urban Air Mobility Applications. Aerospace. 2024; 11(11):955. https://doi.org/10.3390/aerospace11110955

Chicago/Turabian Style

Corraro, Gianluca, Federico Corraro, Andrea Flora, Giovanni Cuciniello, Luca Garbarino, and Roberto Senatore. 2024. "Dual-Frequency Multi-Constellation Global Navigation Satellite System/Inertial Measurements Unit Tight Hybridization for Urban Air Mobility Applications" Aerospace 11, no. 11: 955. https://doi.org/10.3390/aerospace11110955

APA Style

Corraro, G., Corraro, F., Flora, A., Cuciniello, G., Garbarino, L., & Senatore, R. (2024). Dual-Frequency Multi-Constellation Global Navigation Satellite System/Inertial Measurements Unit Tight Hybridization for Urban Air Mobility Applications. Aerospace, 11(11), 955. https://doi.org/10.3390/aerospace11110955

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop