GNSS localization method assisted by an artificial intelligence model
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
- Filing Date
- 2023-04-21
- Publication Date
- 2026-06-19
AI Technical Summary
Existing satellite navigation systems face challenges in accurately calculating positioning solutions due to uncertainties and biased measurements, particularly in environments with multiple potential failures and complex interference, leading to increased computational requirements and reduced precision.
An artificial intelligence model, such as a recurrent neural network, is trained to determine optimal weighting coefficients for satellite navigation measurements using joint metrics, minimizing the impact of errors and biases through a least squares resolution.
The AI model improves positioning precision by effectively identifying and weighting reliable measurements, reducing computational complexity and enhancing the accuracy of positioning and speed calculations in diverse environments.
Abstract
Description
Title of the invention: GNSS localization method assisted by an artificial intelligence model
[0001] The invention relates to the field of satellite positioning and navigation systems known by the acronym GNSS (Global Navigation Satellite System) systems.
[0002] The invention relates more specifically to a method for locating a GNSS system, assisted by an artificial intelligence model.
[0003] [Fig.l] represents a diagram of an architecture of a GNSS receiver according to the prior art. Such a REC receiver has the function of acquiring and processing satellite radio navigation signals or GNSS signals transmitted by satellites of one or more constellations among the existing GPS, Glonass, Galileo or Beidou constellations. The signals are transmitted in one or more frequency bands, for example the L1, L2 or L5 bands.
[0004] The REC receiver comprises an ANT antenna, a radiofrequency RF input stage which ensures the amplification, filtering, frequency transposition and digitization of the analog signals received by the ANT antenna. It also comprises a baseband processing stage BB allowing the acquisition of the signals, their demodulation, the extraction of the data contained in the signals to generate GNSS MG messages and raw measurements relating to these MB signals. The REC receiver finally comprises a navigation processor NAV configured to perform a calculation of a PVT positioning solution which comprises positioning information of the receiver and / or information on the speed of movement of the receiver and / or time information, i.e. the clock of the receiver relative to that of the satellite constellation.
[0005] More specifically, the baseband processing stage BB provides the navigation processor NAV with at least the following elements: - Raw MB measurements containing at least one of the following measurements: pseudo-range measurements, Doppler measurements or pseudo-range ratios, phase measurements of the GNSS signal carrier waves and the reception times of the GNSS signals. It can also provide link quality indicators such as the signal-to-noise ratio (C / N0), - GNSS MG messages containing at least: ephemerides or parameters for estimating the positions and speeds of the satellites; satellite clock error correction parameters; elements characterizing the state of the satellites and the state of their measurements, the parameters of a model for estimating iono-spherical delays.
[0006] The invention relates to the implementation of the navigation processor NAV and more precisely the algorithm for estimating the PVT positioning information.
[0007] The navigation processor NAV receives as input the raw measurements MB and the GNSS messages MG and typically produces, for each of the satellites for which a signal is received, information from among: a pseudo-distance measurement, a carrier phase measurement, a Doppler shift measurement.
[0008] Pseudorange or phase measurements can be used to determine the position as well as the clock offset of the receiver, while the Doppler shift measurement is used for the determination of the velocity and clock drift of the receiver.
[0009] For example, if we consider a pseudo-distance measurement Pi between a receiver with coordinates x' 3' £ and a satellite SVi with coordinates A? y? zi, this measurement respects the following relation: p. = z}+ ô + St 2.1
[0010] Where dj is the geometric distance between the receiver and the SVi satellite,
[0011] 5 is a distance offset resulting from a clock offset A t between the receiver and the constellation (all satellites belonging to the same GNSS constellation being perfectly synchronized, the offset is the same for all satellites in the constellation) converted into meters by multiplying it with the speed of light 6 ô = A t .c 2.3
[0012] Ei is a measurement error caused by multiple phenomena such as: - the measurement noise of the receiver, of the order of a few cm to a few meters, - propagation delays in the ionosphere and troposphere, of the order of a few cm to a few meters, - satellite position errors, - effects related to signal propagation.
[0013] The operation of the GNSS system is such that observations from different satellites are collected simultaneously during a period of time called an “epoch” (epoch = simultaneous transmissions of satellite signals) at the end of which a set of measurements { p J is collected.
[0014] The calculation of the position solution (X, y, z, 5) depends on the receiver's operating mode. A distinction is made between a tracking mode and a so-called “single-epoch” mode.
[0015] The tracking mode is a receiver operating mode for which a solution has already been calculated during a previous epoch k-1. In this case, the solution at time k is obtained by updating the solution k-1 using the measurements collected during epoch k. This calculation is generally performed by a Kalman filter or one of its many derivatives (EKF, UKF, etc.).
[0016] The so-called "single-epoch" mode is a receiver operating mode for which no previous solution is available. This mode, a priori less efficient than the tracking mode, is nevertheless of interest for certain applications such as: - initialization of the tracking algorithm, - use in a fusion context with other measurement modalities such as inertial units, where the calculated solutions are filtered again by another algorithm, - in certain applications (e.g.: loT for Internet of Things) where the calculation is carried out remotely (in a remote server) and for which different constraints (consumption, flow rate) only allow a one-off transfer of measurements from the sensor nodes / tags to be located.
[0017] The invention relates more particularly, but not exclusively, to the so-called “single-epoch” mode in that it aims to calculate a positioning solution for a given epoch at time k without benefit of a previous solution.
[0018] In so-called single epoch mode, the calculation of a position solution ( X = [x, y, z, (5] ) comprising four unknowns can therefore be determined from all the measurements | pj collected at epoch k using equation 2.1. Since the number of measurements N (typically, from 4 to 50) is generally greater than the number of unknowns which is at least equal to 4, the solution must therefore be calculated in the sense of a criterion for minimizing errors affecting the measurements - also called residuals - such as least squares. More precisely, the number of unknowns is equal to 4 when all the received signals are emitted by satellites of the same constellation (for example the GPS constellation). If the signals are emitted by satellites of at least two constellations (for example GPS and GALILEO) then the number of unknowns is equal to 5. Generally, the number of unknowns is equal to 3+m, where m is the number of satellite constellations envisaged.
[0019] Relation 2.4 gives the least squares equation for determining the solution of position X by searching for the solution that minimizes a weighted sum of the squared residues. (X, y, z, 5) = argminE* o;z A, (xf x,yz,ô 2.4
[0020] The residues A jX) correspond to the difference between the prediction of the measurement according to model 2.1 for the solution X on the one hand, and the measurement Pi carried out on the other hand, where x,y,z and ô are the solutions of equation 2.4. A / (X= Pi ■ + 2.5
[0021] And defines the weighting coefficient associated with the measurement #i, that is to say the “importance” that it will have in the calculation of the solution.
[0022] The term defines the weighting coefficient or weight associated with each measurement Pj. The higher it is, the higher the associated measurement will contribute to the calculated solution. A zero weight wz- = 0 means that a measurement has no influence on the calculated solution and is therefore equivalent to the absence of this measurement. In the case where the weight is non-zero, its importance is evaluated relative to the weights of the other measurements, its value alone therefore does not allow its importance to be defined.
[0023] The same type of equation as equation 2.5 can be established using phase measurements rather than pseudo-distance measurements, the two quantities being identical in their model, apart from a coefficient.
[0024] The same type of equation can also be established to calculate a velocity solution ( E » ^), including the velocity components as well as P the receiver clock drift, from the Doppler measurements.
[0025] In the remainder of the document, the invention is described for the search for a position solution from pseudo-distance measurements but it can thus be extended directly to the search for a position solution from phase measurements or to the search for a speed solution from Doppler measurements by applying the same algorithm.
[0026] There are several weighting strategies for the least squares solution given by equation 2.4. One possible solution is to calculate the weight based on the probable error associated with each measurement using the model of equation 2.6, i.e. the inverse of the variance of the probable error on the measurement with index i. = A 2.6
[0027] This weighting strategy indeed finds theoretical foundations (Bayesian estimation), which allow it to be justified under certain hypotheses. In this case, the probable error a' is the standard deviation associated with the distribution of the measurement error Pj, that is to say the distribution of the random term si of equation 2.1. In addition to its theoretical justification, this approach allows the value ai expressed in meters to be linked to measurable physical phenomena. Thus, the distribution of measurement errors can
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035] be established empirically by test campaigns, or from other known elements (satellite positioning accuracy, propagation in the ionosphere, receiver noise etc.). Typically, C values are between 1m and 20m, but can vary depending on the intensity of the received signal or the elevation of the satellite for example. Techniques relating different ancillary metrics (signal-to-noise ratio C / N0, satellite elevation, etc.) to the assumed accuracy of the measurement are called stochastic weighting. For example, the error variance can be obtained using the empirical model given in paper [1] and reproduced in equation 2.7. O i / o ^7 \ ut = —~ cf + v * sin"0, \ ' ! 2.7 In which and P, respectively represent the elevation angle and the intensity of the signal received from the SVi satellite, and and are two empirical terms. Other empirical models can be used as an alternative to the one given above. Although these empirical formulas are widely used, they are nonetheless difficult to adjust, and more precise modeling of the distribution of each of the measurements received would allow for improved performance. However, this more precise modeling can prove extremely complex in practice, as the number of phenomena involved are numerous (state of atmospheric layers, type of receiver, satellite positioning accuracy, presence of obstacles in the receiver's environment, etc.) and difficult to predict. Furthermore, in order to guarantee the optimality, and therefore good precision, of the calculated solutions, it is important that all the measurements taken into account to establish this solution conform to the model used a priori, that is to say within an expected error range. However, several phenomena can significantly degrade the quality of a measurement such as: - a satellite malfunction, - an attack - for example jamming or decoying - against GNSS signals, - the presence of obstacles (for example buildings in an urban environment) blocking the direct path of the wave, leading the receiver to only measure a reflected path which will have traveled a distance potentially much greater than expected. These biased measurements must therefore be detected as such, and excluded from the calculation of the solution or be assigned a zero weight, which is equivalent. This is called fault detection.
[0036] There is therefore a need for a location method that makes it possible to better take into account the uncertainties linked to the theoretical models for calculating the weighting coefficients when solving the solution by least squares. There is also a need for a location method that makes it possible to reliably eliminate biased measurements from the calculation of the positioning solution.
[0037] Existing integrity monitoring schemes, such as Receiver Autonomous Integrity Monitoring (RAIM), determine whether there is a failure in a satellite measurement by examining the consistency of a set of redundant measurements. One way to do this is to use the solution separation method. The solution separation method for RAIM receivers is based on calculating the difference between a full navigation solution that is rendered using all N visible satellites and a set of navigation sub-solutions that are rendered using Ni visible satellites. In calculating the set of navigation sub-solutions, the RAIM algorithm assumes that only one satellite failure occurs at a time.
[0038] However, with the introduction of new constellations (e.g. Galileo, BeiDou) and the continued use of existing constellations (e.g. global positioning systems (GPS and GLONASS), it is more likely that there may be multiple simultaneous satellite failures at any given time. In addition, failures of entire constellations will also need to be considered by future integrity monitoring schemes.
[0039] In response to the possibility of multiple failures occurring at the same time, Advanced Receiver Autonomous Integrity Monitoring (ARAIM) was developed. ARAIM is based on the solution separation method, but has been modified to account for the occurrence of multiple simultaneous failures and constellation failures. For each failure to be monitored, a navigation sub-solution is created that does not include the measurements associated with the failure. For example, if two single simultaneous failures are to be monitored, then a set of sub-solutions based on eliminating all possible combinations of two satellites must be created.
[0040] However, the increase in the number of visible satellites and higher probabilities of simultaneous failures (as expected with new constellations) can significantly increase the number of sub-solutions to be created. This has a significant impact on the computational requirements of the algorithm, resulting in more expensive chips for receiver implementation.
[0041] Many fault detection and exclusion (FDE) techniques have been developed, these can be classified into two main categories, depending on whether the fault is analyzed in the measurement space (Residual-Based RA1M, noted here RB) as described in [3] or in the solution space (Solution-Separation RA1M, noted here SS) as described in [2].
[0042] In the case of RB methods, a first solution Xo is calculated using all the measurements, then a statistical test is carried out on the set of residues A ^Xq) in order to determine if a fault is present among the measurements. Indeed, if all the measurements respect the expected model (for example Gaussian model, of a given standard deviation) then the sum of the squared residues is given by the following relation 3.1 3.1
[0043] The sum of the residues follows a chi-2 law and this hypothesis can be tested by comparing the value obtained to a threshold T. X2 <T 3.2
[0044] In the case of SS methods, a first solution Xo is calculated using all the measurements, as well as N solutions Xi each based on AM measurements excluding the satellite SV). Then, each of the solutions is compared (in norm) with respect to the solution 3.3
[0045] If none of them deviates more than a certain predetermined threshold T, You <T, i = 1 ... N 3.4
[0046] then this means that no measurement contains a fault.
[0047] In both cases, if the test is inconclusive, this means that there is at least one fault among the measurements.
[0048] In order to exclude the fault, we can construct N subsets of AM measurements and repeat the operation. If one of the tests is satisfied, then all the measurements associated with the subset are considered valid and the calculated solution can be retained. If, on the other hand, none of the tests is satisfied, the operation is repeated by constructing subsets of N-2 measurements which will then be tested individually, and so on.
[0049] It should be noted that at each iteration corresponding to a number h of faults tested, the number Lh of subsets to be constructed for each hypothesis of number of faults h, is given by the relation: T < Cn —______~______ h (nh) W 3.5
[0050] This number can quickly become considerable when the number of faults tested becomes large.
[0051] For example, a standard multi-constellation receiver can typically obtain 40 measurements, and, in an urban environment, the number of faults can frequently be between 3 and 10, leading to numbers of subsets to be tested of between 9880 and 847660528, which can quickly become prohibitive in terms of computational cost.
[0052] It should be noted that all these approaches have in common the fact that they are based on a decision (via a statistical test) to include or not certain measures, but do not modify the weights associated with each of them, except by forcing them to 0, which is equivalent to an exclusion.
[0053] Other known approaches are based on a modification of the weightings such as the method proposed in reference [5].
[0054] This approach is distinguished by the assignment of unharmed weighting coefficients to measurements that are nevertheless detected as being affected by a fault, here mainly caused by multi-path. The idea is to preserve a balance between, on the one hand, the reduction of the weight of faulty measurements in the calculation of the solution and, on the other hand, the degradation of the geometric dilution of the precision caused by the exclusion of faulty measurements.
[0055] Geometric dilution of accuracy concerns a problem of measurement imprecision due to geometric factors. In other words, the relative positions of the receiver and the satellites significantly affect the position accuracy.
[0056] For example, for identical measurement accuracy, satellites that are “rather aligned” in the sky will lead to less positioning accuracy than satellites that are distributed homogeneously in the sky.
[0057] This phenomenon, called geometric dilution of precision or simply dilution of precision, can be quantified precisely from the even approximate positions (>lkm) of the receiver and the satellites. It is often represented in the form of multiplicative terms in the three directions of space, which make it possible to translate the measurement error into position error in these same directions. For example, a horizontal dilution (HDOP) of precision of 2, means that a measurement error of 1m (assumed to be identical for all the satellites) translates into a horizontal positioning error of 2m.
[0058] The method proposed in [5] consists of: - Detecting all faulty measurements, - Iteratively reducing the weight of the faulty measurements until a number maximum iteration is reached, or the geometric dilution of precision, calculated taking into account the new weighting, exceeds a certain threshold, - Non-faulty measurements use the classic formulas of the state of the art such as that of equation 2.7 for example.
[0059] Another approach proposed in [8] focuses on the adjustment of the weighting formulas of the measurements in the case of multi-paths with a notion of learning (in the form of a linear regression of the values), however it does not consider as inputs for the calculation of the weightings joint information (i.e. based on calculations combining several signals, such as the residues for example).
[0060] Reference [9] describes the use of a convolutional neural network (CNN) to classify GNSS signals into three categories: line-of-sight (LOS), non-line-of-sight (NLOS) and multipath (MP). However, this algorithm uses as inputs directly the outputs of the correlators of the ranging processor, which are internal data and generally not accessible outside the receiver, and does not use joint inputs, i.e. involving several signals from different satellites simultaneously. In addition, the outputs associated with each signal / satellite are of a discrete nature.
[0061] In summary, there is therefore a need to improve the methods of the prior art, in particular in taking more precise account of errors and uncertainties of various origins which impact satellite radionavigation measurements.
[0062] The invention aims to propose a new location method which aims to improve the precision of positioning or speed thanks to better weighting of the measurements.
[0063] The invention uses an artificial intelligence model which is trained to learn to determine, from joint measurements carried out on all the signals received within an epoch, a set of weighting coefficients allowing a more precise calculation of location information via a least squares resolution.
[0064] The subject of the invention is a method, implemented by computer, for learning an artificial intelligence model intended to be used to determine location information for a satellite radio navigation receiver, the method comprising the steps of: - Receive a training data set comprising several sets of satellite radionavigation measurements each associated with reference positioning information, - Determine, for each set of measurements, a set of metrics comprising at least one set of residuals calculated for several sub- sets of measurements each excluding at least one measurement from the set, - For each set of measurements, i. Determine a set of reference weighting coefficients, ii. Train the artificial intelligence model to produce a set of weighting coefficients from the sets of metrics of the training data, so as to minimize a distance between said weighting coefficients and the reference weighting coefficients, - the weighting coefficients being intended to weight a set of residues, equal to a difference between a measurement and predicted positioning information, during a calculation of prediction of positioning information by minimizing the sum of the squared residues and weighted by the weighting coefficients.
[0065] According to a particular aspect of the invention, each reference weighting coefficient is associated with a satellite and is a function of a residue calculated as the difference between a pseudo-distance associated with a radionavigation measurement emitted by this satellite and a reference pseudo-distance calculated from the reference positioning information.
[0066] According to a particular aspect of the invention, the reference positioning information is provided by a positioning means taken from: an inertial system or a high-precision GNSS system or a combination of the two systems.
[0067] According to a particular aspect of the invention, the artificial intelligence model is an artificial neural network, for example a recurrent neural network.
[0068] According to a particular aspect of the invention, the set of measurements of the training data further comprises a set of quality indicators of the signal received for each measurement.
[0069] The invention also relates to a method for locating a satellite radio navigation receiver comprising the steps of: - Receive a set of N satellite radio navigation measurements, N being an integer at least equal to 4, - Determine, from the measurements received, a set of metrics comprising at least one set of residuals calculated for several subsets of measurements each comprising at most Nl measurements, - Execute an inference phase of the artificial intelligence model trained using the learning method according to the invention, from said set of metrics to determine a set of weighting coefficients, - Determine location information from said radio measurements satellite navigation and weighting coefficients by finding the value of the location information that minimizes the sum of the squared residuals associated with the N measurements, weighted by the weighting coefficients.
[0070] According to a particular aspect of the invention, the satellite radionavigation measurements are pseudo-distance measurements and the location information is a position of a receiver.
[0071] According to a particular aspect of the invention, a residue is defined by the difference between a pseudo-distance measurement and a prediction of this measurement.
[0072] According to a particular aspect of the invention, the satellite radionavigation measurements are phase or Doppler measurements and the location information is a position or a speed of a receiver.
[0073] According to a particular aspect of the invention, the set of metrics further comprises a set of quality indicators of the signal received for each measurement.
[0074] The invention also relates to a satellite radionavigation signal receiver comprising a GNSS signal reception stage, a baseband processing stage and a navigation processor configured to execute the steps of the location method according to the invention.
[0075] The invention also relates to a computer program comprising instructions for executing the method according to the invention, when the program is executed by a processor.
[0076] The invention also relates to a recording medium readable by a processor on which is recorded a program comprising instructions for the execution of the method according to the invention, when the program is executed by a processor.
[0077] Other characteristics and advantages of the present invention will appear better on reading the description which follows in relation to the following appended drawings.
[0078] [Fig. 1] represents a diagram of a satellite radio navigation receiver according to the prior art,
[0079] [Fig.2] represents a diagram of a satellite radio navigation receiver according to the invention,
[0080] [Fig.3] represents a flowchart detailing the main steps of a method determining location information of a GNSS receiver according to an embodiment of the invention,
[0081] [Fig.4] represents a flowchart detailing the steps of a method of training an artificial intelligence model intended to be used to determine location information, according to an embodiment of the invention,
[0082] [Fig.5] represents a flowchart detailing the steps of a prediction method of location information from the trained artificial intelligence model by the method of [Fig.4], according to one embodiment of the invention,
[0083] [Fig.6] represents a residue matrix intended to feed an artificial intelligence engine according to a first exemplary embodiment,
[0084] [Fig.7] represents a residue matrix intended to feed an artificial intelligence engine according to a second exemplary embodiment.
[0085] The description of the invention is, subsequently, made for the case of a determination of position from pseudo-distance measurements, but the invention applies in a similar manner to determine speed or time information from pseudo-distance, phase or Doppler measurements.
[0086] [Fig.2] diagrams the functional architecture of a satellite radionavigation signal receiver according to one embodiment of the invention.
[0087] The receiver comprises a first reception stage REC which comprises an antenna, a radio frequency stage RF and a baseband processing stage BB similar to those already described in [Fig.l].
[0088] The invention can be implemented in a digital navigation processor NAV, as shown in [Fig.2]. Alternatively, the measurements provided by the reception stage REC can be transmitted to a remote server in which the invention is implemented.
[0089] The reception stage REC is capable of receiving different radio navigation signals transmitted by different satellites each transmitting on one or more frequencies and belonging to the same constellation or to different constellations. The signals are transmitted during an epoch.
[0090] The reception stage REC provides at output measurements of pseudo-distances Pi (or phase or Doppler) as well as various quality indicators of each signal received, for example a signal-to-noise ratio indicator C / N0 or a lock time indicator.
[0091] A first EXT metrics extraction module receives the measurements and indicators and provides as output a set of metrics characterizing the signals.
[0092] This set of metrics comprises at least one set of joint metrics, i.e. metrics calculated from several signals. The joint metrics are for example a set of residues organized in an MR matrix as represented in [Fig.6], the residues being calculated from each subset of Nl satellites among N satellites in visibility of the receiver and for which signals have been received.
[0093] Optionally, the set of metrics also includes per-link metrics that correspond to or are calculated from the link indicators provided by the receiving stage REC.
[0094] A second artificial intelligence AI module is configured to provide as output
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103] a set of weighting coefficients <vt pour chacune des mesures. Par exemple, le module IA est implémenté au moyen d’un réseau de neurones artificiel entrainé au moyen de techniques d’apprentissage machine. A third least-squares RMC module determines a solution positioning from the pseudo-distance measurements provided by the REC reception stage and the weighting coefficients provided by the IA module by applying equation 2.4. [Fig.3] shows, on a flowchart, the main stages of the invention. In step 301, the artificial intelligence model used is initialized, in particular its parameters {y01 are initialized in order to learn a function f which allows to calculate the weighting coefficients [associated with 1^1 measurements In step 302, the artificial intelligence model is trained to adjust its parameters to learn how to perform the function f. The training is carried out on a number K of measurement sets for example associated with k positions k=LK known. The training is carried out in such a way that the weighting coefficients obtained are as close as possible to the reference coefficients | jA The number K of measurement sets used is such that KN is greater than the number of parameters P (KN > P) and is for example between 10000 and 10000000. N is the number of measurements carried out from signals emitted by different satellites. Advantageously, the reference weighting coefficients are calculated using equation 2.6 from a known reference position solution xre^ which is for example provided by a high-precision receiver which may be equipped with an inertial unit or any other means independent of the GNSS signals. The reference weighting coefficients correspond to residuals defined by equation 4.1 A^X^ = Pi - yd, + 4.1 The reference weights are calculated using an empirical model, for example that given in equation 2.7. The parameters {y0} are adjusted for example in such a way as to minimize a cost function C which is a function of a distance between the weighting coefficients obtained and the reference weighting coefficients. The cost function C is for example given by relation 4.2: duj^EtC ii uuf-uA ii 4.2
[0104] In step 303, the artificial intelligence model trained in step 302 is then used to predict, from new measurements, a set of weighting coefficients which are used to calculate a positioning solution from the least squares equation 2.4.
[0105] Each step of the invention will now be described in more detail.
[0106] The artificial intelligence model used may be an artificial neural network, for example a recurrent neural network or any other model that can be trained to learn to perform a particular function.
[0107] According to a particular embodiment of the invention, the artificial intelligence model is a recurrent neural network or LSTM-NN for “Long Short Term Memory Neural Network”. The network comprises, for example, two hidden layers of 893 and 517 neurons respectively. The input layer comprises as many neurons as metrics provided by the metrics extraction module EXT and the output layer comprises a number N of neurons equal to the number of weighting coefficients to be generated which is itself equal to the maximum number of measurements associated with different satellites that a receiver can receive. This parameter can be defined a priori.
[0108] The activation functions of the layers of the neural network are, for example, a hyperbolic tangent function tanh or a ReLU activation function. The parameters of the neural network, in particular the synaptic coefficients, are initialized to a predetermined value, for example 0 or 1 or a random value between 0 and 1.
[0109] The number of layers (1 to 100), the number of neurons (5 to 1000 per layer) as well as the number of parameters P = 1000 to 100,000,000 can vary. The “activation function” of each layer can be chosen from examples such as ReLU, tanh, or sigmoid for example. The number of layers, as well as the number of neurons and the choice of the activation function can themselves be part of the parameters that can be optimized during the learning step 302. Other types of networks can also be used such as fully connected or convolutional “CNN” (convolutional-NN) networks or GRU (“Gate Recurrent Unit”) networks for example.
[0110] The input data of the neural network are normalized between 0 and 1 by dividing each of the values by a predetermined value (example 10, 100 or 1000) or by the maximum value of the values calculated on all the input data.
[0111] [Fig.4] represents, on a flowchart, the steps of implementing a method for learning an artificial intelligence model according to an embodiment of the invention.
[0112] The method receives as input the parameters determined during the phase initialization represented by step 401 in [Fig.4].
[0113] Step 402 consists of generating a training database for training the model. The training data consists of several test sets, each set consisting of several satellite radionavigation measurements and an associated reference positioning solution.
[0114] The database can be constructed by collecting real i 1 k measurements at vi J using a receiver and measuring the reference position from a high-performance system (x1^, ), such as an inertial system or a GNSS system high precision or a combination of both systems. In this case, the receiver clock offset (not provided by the reference system, as it is specific to the receiver used for collection) can be calculated using relation 5.1 (the index k is omitted for better readability). ôref = yref, 5.1
[0115] According to an alternative embodiment, the learning data comprises, in addition to pseudo-distance measurements, other metrics associated with each of the signals received such as, for example, the signal-to-noise ratio C / N0 or the signal locking duration.
[0116] According to another embodiment variant, the learning database is generated by simulation.
[0117] The training data are organized in the form of metrics identical to those produced by the metrics extraction module, i.e. a residue matrix possibly supplemented by metrics specific to each link.
[0118] In step 403, for each set of measurements in the training database, an inference phase of the neural network is executed to calculate the weighting coefficients from the network parameters.
[0119] In step 404, a set of reference weighting coefficients are determined. Advantageously, they are calculated from the reference position and the reference measurements using, for example, equation 2.6 or a similar equation.
[0120] For example, the reference weighting coefficients can be calculated using one of the following formulas:
[0121] =-----1----- =----------1---------_ ( Ae / ( ”
[0122] ^ef . L , 1 '
[0123]
[0124] In step 405, the neural network is trained to adjust its parameters | Seen} in function: - calculated weighting coefficients: / w |k , - reference weighting coefficients: j ^ref jk .
[0125] More precisely, the adjustment of the parameters is for example carried out by means of: - a phase of propagation of the learning data in the neural network from the network inputs to its outputs to calculate weighting coefficients { Jk , - an error calculation between the calculated output and the result to be obtained via a cost function, - an error backpropagation phase which aims to adjust the synaptic parameters or coefficients for each connection between two neurons using a backpropagation algorithm which aims to minimize the cost function. The backpropagation algorithm is for example based on gradient descent or any other equivalent algorithm.
[0126] The cost function is a distance function between the calculated weighting coefficients and the reference weighting coefficients so as to make the calculated weighting coefficients converge towards the reference coefficients.
[0127] For example, the following cost function can be used as a replacement for that given in equation 4.2: c( {vu} )=E*=1E* { Il {4?} - { to P II 5.2
[0128] Any other cost function reflecting a difference between the coefficients calculated by the algorithm and the reference coefficients can be used.
[0129] Once the model is trained, it can be used to predict positioning information.
[0130] [Fig.5] shows schematically the steps of implementing a location method according to one embodiment of the invention.
[0131] In step 501, a new set of measurements acquired by a radio navigation receiver is received, for example a set of pseudo-distance measurements fql cor-l ni corresponding to the same GNSS epoch. The number N of measurements taken can typically vary from around 4 to 50 measurements.
[0132] The receiver can receive satellite signals from different constellations (GPS, Galileo Glonass, Beidou, Qzs etc.).
[0133] The receiver can receive several signals at different frequencies (L1, L2, L5, El, E2 bands etc.) for the same satellite. Thus, a single satellite can lead to the reception of several signals for example, if the receiver has this capacity (multi-band receiver).
[0134] The receiver can produce, for each signal received, several types of measurements among: - Pseudo-distance measurements, carrier phase, Doppler measurements. - Signal-to-noise ratio measurements C / NO, receiver hang-up time measurements.
[0135] Carrier or Doppler measurements can be used instead of pseudo-range measurements. In this case the residual matrix is calculated on the phase measurements or on the Doppler measurements.
[0136] Carrier or Doppler measurements can be used in addition to pseudo-range measurements. In this case, several residue matrices can be calculated and presented as input to the algorithm.
[0137] In an alternative embodiment, a selection is made within the measurements. Certain measurements can be excluded from the processing immediately because they are assumed to be unreliable. A preliminary validity test can be based, for example, on a minimum elevation of the satellite i: CC dmin, with 6min chosen between 1 and 15 deg for example (i.e. the measurement is retained if the elevation of the satellite is greater than the minimum value #„„•„); or on signal level criteria: C / N0 > C / NO . .
[0138] In step 502, a set of metrics is extracted from the measurements.
[0139] In one embodiment, step 502 consists of constructing a residue matrix M as illustrated in [Fig.6].
[0140] Such a matrix is of dimensions N by N, where N is the number of measurements associated with different satellites. Each row of the matrix corresponds to a subset of measurements in which a satellite has been excluded. We therefore have N subsets of Nl measurements. For each subset we calculate Nl residuals using equations 2.4 and 2.5 and using an empirical model for determining the weighting coefficients. On each row of the matrix M we therefore have Nl residual values with j the index of the satellite and Xi corresponding to the set of measurements of index i. The residuals d are calculated by limiting ourselves to the Nl measurements of the set °Xi Xi.
[0141] The diagonal term of the matrix can be replaced by an arbitrary value taken in the range [1 1000] for example or can correspond to the calculation of a residual for the excluded measure.
[0142] In order for the matrix to maintain a constant size of dimensions NxN (which facilitates implementation) if the number of measurements received is less than N, then all missing coefficients are assigned a predefined value V.
[0143] Other indicators can be added to the matrix M such as the quality indicators of each link (C / N0(i), LT1), or the elevation of the satellite
[0144] Statistical indicators derived from the link quality indicators can also be added. For example, empirical statistics such as the mean value C / 2V0 (i) and the standard deviation (7^N0 calculated over a sliding window of M samples preceding the current epoch can be added, as well as the number of samples used to calculate these empirical statistics (WA): 101451 C / W o 0 = / MW 101461 (c / no®. c / n0 (0)2
[0147] In the case where other information relating to each link is used in addition to the residues, these can be advantageously added to the residue matrix as illustrated in [Fig.7] forming a matrix M of characteristics composed of a matrix of residues MR as well as a matrix of metrics per link ML.
[0148] In all cases, the metrics determined in step 502 must be of the same nature as those used to train the neural network during the learning phase.
[0149] The use of joint metrics such as residuals calculated for different subsets of measurements makes it possible to provide the artificial intelligence model with more complete information than the individual link quality metrics for each measurement alone. From all of these metrics, the artificial intelligence model can learn to identify which measurement is likely to be affected by an error and then assign it a lower value weighting coefficient than the other measurements.
[0150] If the number of metrics obtained in step 502, which depends on the number of measurements made in step 501, is less than the number of metrics used during the learning phase (corresponding to the number of inputs of the neural network), then the additional inputs of the neural network are supplemented by zero or arbitrarily chosen values.
[0151] In step 503, the artificial intelligence engine trained during the learning phase is executed to determine a set of weighting coefficients from the metrics calculated in step 502 which are provided to it as input. The weighting coefficients obtained make it possible to weight with higher values the measurements identified as reliable and with lower values the measurements identified as erroneous. Characterizing measurements as reliable or erroneous is possible because the neural network has been trained to generate the best possible coefficients in a large number of different situations covered by the training data.
[0152] In particular, the learning data advantageously cover numerous application cases including scenarios for which certain measurements are affected by errors.
[0153] In an alternative embodiment, the artificial intelligence engine may be trained to produce an output that is not directly a weighting coefficient as defined in equation 2.4, but connected to it via a function g such as: 5.4
[0154] In this case, during the training phase, the reference coefficients are transformed in the same way using the same function g.
[0155] In step 504, a positioning solution is calculated from the weighting coefficients determined in step 503 by the neural network.
[0156] The solution is calculated from equation 2.4 applied to the measurements {pj and the coefficients {a'J calculated in step 503.
[0157] Different algorithms can be used to solve equation 2.4, such as recursive least squares, the Levenberg-Marquardt algorithm, or gradient descent.
[0158] When the measurements come from satellites belonging to several different constellations, it is necessary to estimate a clock offset per constellation. The definition of the solution therefore becomes X — [x, y, z, Ôj, ..., ôN ] and the calculation of the residue of equation 2.5 becomes equation 5.6: A = p. - (d / x, y, z) + <5C) 5.6
[0159] Equation 5.6 uses the appropriate offset dc, where C denotes the constellation of the measurement considered.
[0160] The calculation of the solution can rely on a previous solution (kV epoch) which can be used to initialize the resolution of equation 2.4 and thus speed up the processing.
[0161] The calculation of the solution can also be carried out by filtering algorithms (Kalman filter type), which carry out an update of the solution obtained at epoch k-1, (i.e. -X^i) to calculate the solution at the current epoch (i.e. 2Q).
[0162] In the case where step 503 does not produce output weighting coefficients as defined in equation 2.4 (see variant of step 503 and equation 5.4), these will first be transformed by a function g() before being used.
[0163] The location method described in [Fig.5] makes it possible to provide positioning information comprising at least one of the indications among a position, a speed or a clock time reference.
[0164] The localization method can be performed in a NAV navigation processor of a GNSS receiver of the type described in [Fig.2].
[0165] Alternatively, the location method can be executed in a remote server from measurements taken by a GNSS receiver and then transmitted to this server.
[0166] Generally speaking, the learning and localization methods according to the invention can be implemented using hardware and / or software components. The software elements can be available as a computer program product on a computer-readable medium, which medium can be electronic, magnetic, optical or electromagnetic. The hardware elements can be available in whole or in part, in particular as dedicated integrated circuits (ASIC) and / or configurable integrated circuits (FPGA) and / or as neural circuits or as a digital signal processor DSP and / or as a graphics processor GPU, and / or as a microcontroller and / or as a general processor for example. References
[0167] [1] P. Groves “Principles of GNSS, Inertial and multisensor integrated navigation Systems 2nd edition » Artech House, 2013
[0168] [2] M. Joerger and B. Pervan « Fault détection and exclusion using solution sé paration and chi-squared ARA1M » IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 52, NO. 2 APRIL 2016
[0169] [3] F. Haque, V. Dehghanian and A. O. Fapojuwo, "Fault Détection and Correction Using Observation Domain Optimization for GNSS Applications," 2022 IEEE International Conférence on Wireless for Space and Extrême Environments (WiSEE), Winnipeg, MB, Canada, 2022, pp. 61-66, doi:10.1109 / WiSEE49342.2022.9926799.
[0170] [4] K. Zhang and P. Papadimitratos, "Fast Multiple Fault Détection and Exclusion (FM-FDE) Algorithm for Standalone GNSS Receivers," in IEEE Open Journal of the Communications Society, vol. 2, pp. 217-234, 2021, doi: 10.1109 / OJCOMS.2021.3050333.
[0171] [5] A. Pirsiavash, A. Broumandan, G. Lachapelle and K. O’Keefe, "Détection and De-weighting of Multipath-affected Measurements in a GPS / Galileo Combined Solution," 2019 European Navigation Conférence (ENC), Warsaw, Poland, 2019, pp. 1-11, doi: 10.1109 / EURONAV.2019.8714191.
[0172] [6] Pirsiavash A, Broumandan A, Lachapelle G, O'Keefe K. GNSS Code Multipath Mitigation by Cascading Measurement Monitoring Techniques. Sensors (Basel). 2018 Jun 19;18(6): 1967. doi: 10.3390 / sl8061967. PMID: 29921798; PMCID: PMC6022099
[0173] [7] Groves, P., & Jiang, Z. (2013). Height Aiding, C / NO Weighting and Consistency Checking for GNSS NLOS and Multipath Mitigation in Urban Areas. The Journal of Navigation, 66(5), 653-669. doi: 10.1017 / S0373463313000350
[0174] [8] Daniel Médina, Kasia Gibson*, Ralf Ziebold , Pau Closas, « Détermination of Pseudorange Error Models and Multipath Characterization under Signal-Degraded Scénarios”
[0175] [9] WO2022 / 237989
Claims
Claims
1. A computer-implemented method for training an artificial intelligence model for use in determining location information for a satellite radionavigation receiver, the method comprising the steps of: - Receiving (402) a training data set comprising a plurality of satellite radionavigation measurement sets each associated with a reference positioning information, - Determining, for each measurement set, a metrics set comprising at least one residual set calculated for a plurality of measurement subsets each excluding at least one measurement from the set, - For each measurement set, i. Determining (404) a reference weighting coefficient set, ii.Training (403,405) the artificial intelligence model to produce a set of weighting coefficients from the sets of metrics of the training data, so as to minimize a distance between said weighting coefficients and the reference weighting coefficients, - the weighting coefficients being intended to weight a set of residuals, equal to a difference between a measurement and a predicted positioning information, during a calculation of prediction of a positioning information by minimizing the sum of the squared residuals and weighted by the weighting coefficients.
2. Method for training an artificial intelligence model according to claim 1 in which each reference weighting coefficient is associated with a satellite and is a function of a residual calculated as the difference between a pseudo-distance associated with a radio navigation measurement emitted by this satellite and a reference pseudo-distance calculated from the reference positioning information.
3. A method of training an artificial intelligence model according to any one of the preceding claims wherein the reference positioning information is provided by a positioning means taken from: an inertial system or a high-precision GNSS system or a combination of the two systems.
4. A method of training an artificial intelligence model according to any preceding claim wherein the artificial intelligence model is an artificial neural network, for example a recurrent neural network.
5. A method of training an artificial intelligence model according to any preceding claim wherein each set of measurements of the training data further comprises a set of quality indicators of the signal received for each measurement.
6. Method for locating a satellite radionavigation receiver comprising the steps of: - Receiving (501) a set of N satellite radionavigation measurements, N being an integer at least equal to 4, - Determining (502), from the received measurements, a set of metrics comprising at least one set of residuals calculated for several subsets of measurements each comprising at most N1 measurements, - Executing (503) an inference phase of the artificial intelligence model trained by means of the learning method according to any one of the preceding claims, from said set of metrics to determine a set of weighting coefficients, - Determining (504) location information from said satellite radionavigation measurements and the weighting coefficients by searching for the value of the location information which minimizes the sum of the squared residuals,associated with the N measures, weighted by the weighting coefficients.,
7. A method according to claim 6 wherein the satellite radio navigation measurements are pseudo-range measurements and the location information is a position of a receiver.
8. A method according to claim 7 wherein a residue is defined by the difference between a pseudo-distance measurement and a prediction of that measurement.
9. A method according to claim 6 wherein the satellite radio navigation measurements are phase or Doppler measurements and the location information is a position or velocity of a receiver.
10. A method according to any one of claims 6 to 9 wherein the set of metrics further comprises a set of received signal quality indicators for each measurement.
11. Satellite radio navigation signal receiver comprising a GNSS signal reception stage (RF), a baseband processing stage (BB) and a navigation processor (NAV) configured to perform the steps of the location method according to any one of claims 6 to 10.
12. A computer program comprising instructions for executing the method according to any one of claims 1 to 10, when the program is executed by a processor.
13. A processor-readable recording medium having recorded thereon a program comprising instructions for executing the method according to any one of claims 1 to 10, when the program is executed by a processor.