This application claims priority to foreign French patent application No. FR 2307495, filed on Jul. 13, 2023, the disclosure of which is incorporated by reference in its entirety.
The present invention relates to a method and a system for determining a trajectory of a movable carrier.
The technical field of the invention is that of localization by merging data between data originating from a relative position information sensor, such as an INS (Inertial Navigation System), and data originating from an absolute position information sensor, such as a satellite navigation system (GNSS (Global Navigation Satellite System)).
Localization systems using merging allow a movable carrier such as a vehicle to be reliably located, even when the conditions for receiving the GNSS signal deteriorate. Indeed, low-power GNSS signals are susceptible to intentional interference (jamming) and unintentional interference (areas not covered by the GNSS signals).
A localization system using INS/GNSS merging supplements the information missing from the satellite system by estimating the movements of the vehicle based on measurements of its accelerations (accelerometer) and angular velocities (gyrometer). When the satellite signal is lost, an important feature of the trajectory reconstructed from the sensors is its drift as a function of time, caused by the accumulation of measurement errors.
Readjustments are inherent to merging techniques and, although unrealistic since the tracked object cannot make such jumps in position, the estimated trajectory offers the best absolute precision within the context of real-time use.
However, when the trajectory is computed in non-real-time, the readjustment can be anticipated and corrected before the drift occurs. Indeed, for some applications, a regular real-time trajectory, i.e., one that does not include significant corrections, as well as a precise non-real-time trajectory, are necessary.
This is the case, for example, for topographical survey applications, in which a movable object takes a certain number of shots of a scene and these are subsequently processed in order to complete a digital reconstruction of this same scene, in particular to complete Simultaneous Localization And Mapping (SLAM).
There are two aspects to the related requirements of this reconstruction:
Real-time GNSS/INS merging algorithms and non-real-time GNSS/INS merging algorithms are known in the prior art.
Real-time navigation systems combining the two inertial INS (Inertial Navigation System) and GNSS (Global Navigation Satellite System) subsystems are based on a merging algorithm that conventionally belongs to the Kalman filter family, as described in further detail in [1], or to its numerous derivatives, such as Extended Kalman Filter (EKF), Error-State Kalman Filter (ES-KF), Unscented Kalman Filter (UKF), Interacting Multiple-Models Kalman Filter (IMM-KF). Typically, these algorithms estimate the distribution of a state, i.e., the average value, as well as the associated covariance of a set of variables of interest.
In the present case, this state vector can be formed, for example, by the position, the velocity, the attitude angles and the biases of the inertial sensors of the considered system.
Most often, in order to optimize the processing, the algorithm estimates the errors in the aforementioned quantities in order to then apply the necessary corrections. This is a particular architecture, called Closed Loop architecture (cf. [1], paragraph 16), using Loose coupling, and is illustrated in
In this example, the relative position information sensor CR, for example, an inertial system, continuously computes a solution that is notably made up of an estimate of attitude, position and velocity (called APV solution), which is then compared, with respect to the position P and the velocity V, with those originating from the absolute position information sensor CA, for example, a GNSS receiver.
This difference is fed into the Kalman filter (P-EKF prediction and M-EKF update), which computes the necessary corrections to be made to the quantities of interest, but also to the sensors (bias, scale, etc.). All these corrections δψ, δθ, δφ, δpos,vel, δbacc, δbgyr, δSf are applied to the inertial APV solution in order to produce a corrected APV solution ψ, θ, φ, pos, vel, bacc, bgyr.
In the present application, a trajectory corresponds to an APV solution.
In this example, the state vector xke at the instant tk, which includes all the estimated quantities of interest, is formed by:
In which δψebe corresponds to the three angular corrections (x, y and z planes), δvebe corresponds to the three velocity corrections (x, y and z planes), δrebe corresponds to the three position corrections (x, y and z planes), δba corresponds to the three accelerometer bias corrections (x, y and z planes), and δbg corresponds to the three gyrometer bias corrections (x, y and z planes).
In addition to computing the corrections, the algorithm also estimates the covariance Pk associated with the solution that contains the specifics of all the values that are plotted in the form of a matrix of dimensions m×m, where m represents the dimension of the state vector.
Another conventional architecture, not shown herein but based on identical principles, uses a closed loop but tight coupling, for which the raw measurements of the receiver (pseudo-range and pseudo-range rate) are compared with a prediction of these same values based on the inertial solution.
These algorithms can use several different definitions for the angles, positions and velocities, depending on the selected reference frame (ECI, ECEF, ENU, etc.), thus, the estimated angles are not necessarily the roll, pitch and yaw angles.
In addition to inertial measurements and GNSS measurements, the algorithm can also take into account a wide variety of other sources of information, such as measurements originating from a magnetometer, an odometer, a barometer (altitude), etc.
The common point of all these architectures and variants is that they schematically comprise two steps, illustrated in
The temporal organization of the processing is divided into two assemblies operating at different rates, namely, the relative position information sensor CR (typically the inertial unit), and the Kalman filter (P-EKF and M-EKF in
The relative position information sensor CR operates at the high acquisition frequency of the inertial unit (f1, generally ranging between 50 Hz and 2000 Hz, typically approximately equal to 200 Hz for some inertial navigation systems). Processing is therefore initiated by generating a new measurement taken by the inertial measurement unit (measured by the accelerometer and the gyrometer) at the instant ti, which is then processed with a view to updating the angles/position/velocity of the APV solution.
At a lower frequency, generally ranging between 0.1 Hz and 20 Hz and typically equal to approximately 10 Hz, the Kalman filter processing operations are initiated by providing a new measurement/new information, outside the inertial unit. In its simplest configuration, comprising only an inertial unit and a GNSS receiver, this involves a GNSS measurement, but for more complex systems it can also correspond to at least one of the following measurements: an Ultra Wide Band distance measurement, an odometer measurement, an altimeter measurement, the detection of a static phase (which is not a “measurement” as such, but falls within the category of “information”), taking into account velocity constraints, or even a radar measurement.
In the case of GNSS/INS non-real-time merging algorithms, the problem of computing a merged trajectory in non-real-time is known as “optimal smoothing”.
One of the most widespread techniques for tackling this problem is called “Rauch-Tung-Striebel Smoother”, or “RTS-Smoother”, and is described in [2]. This technique involves reprocessing all the data (INS measurements, GNSS, etc.) in increasing order of time (i.e., as in real-time processing) in order to generate a first trajectory, then in decreasing order of time in order to generate a second trajectory, and then computing a solution that combines the two trajectories.
There are many variants to this method, but they all require the raw measurements to be available, which implies saving and transferring a significant amount of data (for example, 12 to 1000 bytes per measurement instant, or 144 kB to 12 MB for 1 minute of recording at 200 Hz), as well as fairly complex processing of these data.
The approach proposed by [3] applies a very similar method, in which the data are reprocessed several times in the forward and backward directions and are then combined in order to obtain a regular trajectory. However, this method requires all the raw measurements to be available and reprocessed, as mentioned above.
Other approaches, such as [4], reprocess the recorded positions of a trajectory by selecting only some positions so that the trajectory formed by the selected points meets a regularity criterion. This approach therefore processes a reduced number of points but does not really correct the positions. Indeed, only the aberrant points are processed (cf. the white and black points in
The invention thus aims to provide a method for determining a trajectory of a movable carrier, which computes a merged and regular trajectory in real-time and a precise and regular trajectory in non-real-time, while limiting the flow of information as well as the backup capacity required for the non-real-time trajectory.
Therefore, an aim of the invention is a method for determining a trajectory of a movable carrier, comprising the following steps:
S1) at each instant ti, determining a merged trajectory of the movable carrier, with the merged trajectory being obtained by merging data provided by at least one relative position information sensor with data provided by at least one absolute position information sensor, and, at a plurality of determined instants tk determined from among the instants ti, generating a merged data packet comprising data merged at the determined instant tk and at least one confidence indicator associated with the data packet of the merged position at the determined instant tk, with the confidence indicator comprising information concerning the precision of the data provided by the absolute position information sensor;
S2) at each determined instant tk, determining a regularized trajectory as a function of the detection of a jump in position in the merged data packet between the previous selected instant tk−1 and the selected instant tk.
Advantageously, the method further comprises a step S3) of segmenting the regularized trajectory into segments, called high-confidence segments, and into segments, called low-confidence segments, with the segmentation being carried out as a function of the confidence indicator associated with the merged data packet for each determined instant tk, and of determining a post-processed trajectory, with the post-processed trajectory corresponding to the merged trajectory for each high-confidence segment, and the post-processed trajectory being determined, for each low-confidence segment, by a geometric transformation of the low-confidence segment, such that a continuity condition is met between each of the ends thereof and the end of the adjacent high-confidence segment.
Advantageously, the relative position information sensor comprises an inertial unit.
Advantageously, the absolute position information sensor comprises a GNSS receiver supporting the RTK mode, with the confidence indicator being provided by the RTK value of the GNSS receiver, in particular the “RTK fix” value.
Advantageously, the first step S1 comprises computing a correction indicator that represents the deviation between the data provided by the relative position information sensor and the data provided by the absolute position information sensor between two consecutive selected instants tk−1 and tk.
Advantageously, the correction indicator is determined by the relation:
Advantageously, detecting a jump in position comprises comparing the correction indicator with a predetermined threshold.
Advantageously, the regularized trajectory is determined by applying a compensation to the position on the merged trajectory (TrA) at the determined instant tk, with the compensation being iteratively determined by the following relation:
Advantageously, the predetermined threshold is determined as a function of the quality of the relative position information sensor.
Advantageously, the geometric transformation comprises at least one translation or rotation.
Advantageously, the geometric transformation further comprises a homothety when the low-confidence segment is preceded or followed by a high-confidence segment.
Advantageously, the geometric transformation (gm) applied to a position p on the low-confidence segment (S1NFC) is defined by the relation:
Advantageously, step S3 further comprises a weighted recombination of the merged trajectory and of the post-processed trajectory.
Advantageously, steps S1 and S2 are performed in real-time when the movable carrier is moving, and step S3 is performed in non-real-time.
The invention also relates to a system for determining a trajectory of a movable carrier, comprising:
Advantageously, the fixed device is further configured for segmenting the corrected trajectory into segments, called high-confidence segments, and into segments, called low-confidence segments, with the segmentation being carried out as a function of the confidence indicator associated with the data packet for each determined instant tk, and for determining a post-processed trajectory, with the post-processed trajectory corresponding to the merged trajectory for each high-confidence segment, and the post-processed trajectory being determined, for each low-confidence segment, by a geometric transformation of the low-confidence segment, such that a continuity condition is met between each of the ends thereof and the end of the adjacent high-confidence segment.
Advantageously, the movable device and the fixed device are connected to each other by a radio link.
Further features, details and advantages of the invention will become apparent from the description, which is provided with reference to the appended drawings, which are provided by way of an example.
The main steps of the method according to the invention are described with reference to
The method comprises a first step S1), which comprises determining a merged trajectory TrA of the movable carrier at each instant ti. The merged trajectory TrA is obtained by merging data provided by at least one relative position information sensor CR with data provided by at least one absolute position information sensor CA.
According to one embodiment, the relative position information sensor CR is an inertial navigation unit, and the absolute position information sensor CA is a satellite navigation receiver.
Other types of sensor can be contemplated, provided that data can be merged between the sensors, that the absolute position information sensor CA can provide navigation information with the desired precision, and that the relative position information sensor CR can continuously provide positioning information, i.e., even when the absolute position information sensor CA is unable to provide localization information.
For example, the absolute position information sensor CA can be a GNSS signal receiver, a radio wave transmitter/receiver terminal of the UWB, Wi-Fi or 4G/5G type, or any other equivalent technology. The relative position information sensor CR can be an odometer or even an optical flow sensor.
More generally, an absolute position information sensor CA refers to a sensor that relies on an external element (for example, a satellite or a telecommunications station). Conversely, a relative position information sensor CR refers to a sensor that does not rely on an external element, which is thus able to provide a position error that increases as a function of time.
It is also possible to exploit constraints linked to the nature of the movable carrier, for example, a land vehicle, whose position can only be characterized two-dimensionally, or even a train, whose trajectory includes constraints linked to the railway track that is used.
The first step S1 can be implemented by a block BFD that generates the merged trajectory TrA in real-time at a frequency f1, which corresponds to the frequency for generating the position information from the relative position information sensor CR (cf.
The first sub-step S11 involves initializing the APV solution using techniques known to a person skilled in the art.
The second sub-step S12 involves receiving measurements originating from a relative position information sensor CR such as an inertial unit (three acceleration values provided by an accelerometer, three rotation speed values provided by a gyrometer), at each measurement instant ti.
For each measurement instant ti the algorithm computes an APV(i) inertial solution in real-time using techniques known to a person skilled in the art (third sub-step S13).
At each measurement instant ti, the block BFD determines whether measurements originating from the absolute position information sensor CA such as a GPS system (for example, position, velocity, raw pseudo-range measurements) have been received (sub-step S14).
If this is the case, a corrected APV(i) inertial solution is computed using techniques known to a person skilled in the art (sub-step S15). The merged trajectory TrA of the movable carrier is thus determined at each measurement instant ti based on the corrected APV(i) inertial solution.
Sub-step S16 involves determining whether the corrected APV(i) inertial solution computed at the measurement instant ti belongs to the set of determined instants tk determined from among the instants ti. This sub-step is also implemented as long as no measurement originating from the absolute position information sensor CA has been received.
The instants tk can be determined by decimating the count of the measurement instants ti, using a decimation counter that can be reloaded at a predetermined value Ndec, for example, ranging between 1 and 1000, preferably equal to 200, and which is decremented by one unit at each measurement instant ti. When the counter reaches the value 0, it is reloaded and sub-step S17 is performed.
Sub-step S17 involves generating a merged data packet Dkfus comprising data merged at the determined instant tk and at least one confidence indicator ckfus associated with the data packet of the merged position at the determined instant tk.
The data packet contains, for example: the time tk, the position pkfus, the velocity vkfus, the angles akfus, one or more confidence indicators Iconf, a correction indicator Icorr. Some variables are vector variables and therefore can include several values. Given that the invention aims to compensate for deviations in position, it is essential that the data packet includes the position pkfus. As a variant, all the APV values can be transmitted. The confidence indicator ckfus comprises information concerning the precision of the data provided by the absolute position information sensor CA.
According to an embodiment in which the absolute position information sensor comprises a GNSS receiver supporting the RTK mode, the confidence indicator ckfus is provided by the RTK value of the GNSS receiver, in particular the “RTK fix” value.
RTK (“Real-time Kinematic”) is a GNSS technique that allows centimetric precision to be achieved, but requires the reception of correction data. These are generally computed and transmitted from a nearby fixed base (usually less than 10 km away).
RTK uses a mathematical ambiguity resolution algorithm to compute the exact number of radio wavelengths between the satellites and the ground station antenna and to produce a fixed or floating solution. In a fixed solution, the number of wavelengths is an integer, which allows centimetric precision to be provided. In a floating solution (“RTK float”), the algorithm does not provide an acceptable fixed solution; therefore, the ambiguity is allowed to be a decimal or a floating point number. The precision is generally sub-metric. In a “no RTK” operating mode (also called “stand alone” mode), the order of magnitude of the precision is metric.
Many other confidence indicators can be computed, such as, for example, indicators established from the coefficients of the covariance matrix of the solution computed by the Kalman filter.
According to one embodiment, the correction indicator represents the deviation between the data provided by the relative position information sensor and the data provided by the absolute position information sensor between two consecutive selected instants tk−1 and tk.
In particular, the correction indicator is equal to the sum of the norms of the trajectory corrections made at each instant ti between two consecutive selected instants tk−1 and tk, according to the formula:
Numerous other correction indicators can be computed, such as, for example, a sum of the norms that would only relate to some components of the correction xi, such as the velocity components, a distance between two successive positions, a statistic (average deviation, variance, etc.) relating to the distance between successive positions established for all the positions computed between two transmitted packets, or even the detection of particular phenomena (detection of odometer slippage, loss of the GNSS signal, saturation of the sensors, loss of data, etc.).
It should be noted that a variant of the decimation of the count of the measurement instants ti (sub-step S16) involves computing the elapsed time since the last execution of sub-step S17: if this time exceeds a predetermined duration, sub-step S17 is executed. According to another variant, sub-step S17 can be executed for each correction of the inertial position (triggered by the reception of a GNSS measurement, for example).
The merged trajectory TrA, determined by the block BFD (
The method comprises a second step S2 of determining a regularized trajectory TrB as a function of the detection of a jump in position in the merged data packet Dkfus between the previous selected instant tk−1 and the selected instant tk.
Some embodiments of the second step are described in further detail in
In a first sub-step S21, a variable Δk, which contains the accumulation of all the regularization corrections, is initialized at
The second sub-step S22 involves receiving the merged data packet Dkfus comprising data merged at the determined instant tk, at least one confidence indicator ckfus associated with the data packet of the merged position at the selected instant tk, and optionally a correction indicator.
The detection of a jump in position advantageously comprises comparing the correction indicator contained in the data packet with a predetermined threshold Tjump (sub-step S23):
Icorr>Tjump.
For example, the predetermined threshold Tjump can range between 0.01 and 10, with this value being able to be determined as a function of the desired precision.
According to an advantageous embodiment, the predetermined threshold Tjump is determined as a function of the quality of the relative position information sensor. Indeed, with a very good quality inertial unit, it can be worthwhile setting a relatively low threshold Tjump, which implies a low tolerance to any drift of the inertial unit. Conversely, with a lower quality inertial unit, it can be worthwhile setting a relatively high threshold Tjump, which implies a high tolerance to any drift of the inertial unit.
As a variant, the condition for detecting a jump in position can relate to the successive breaching of the thresholds, breaching several thresholds simultaneously (for example, a threshold linked to the sum of the position correction norms and a threshold linked to the sum of the velocity correction norms, with both thresholds having to be exceeded) or even breaching indiscriminately (exceeding one of the two thresholds).
The regularized trajectory TrB can be determined by applying the compensation Δk to the position pkfus on the merged trajectory TrA at the selected instant tk, with the compensation being iteratively determined by the following relation:
Thus, in
Conversely, if no jump in position has been detected, the compensation does not change, and
Thus, in a fifth sub-step S25, the regularized position of the regularized trajectory TrB is computed by applying a compensation Δk to the position pkfus, using the following relation:
Finally, the position pkfus of the merged trajectory TrA, the position pkreg of the regularized trajectory TrB, the correction δk, the confidence indicator ckfus, as well as all the other data (tk, vkfus, akfus), are saved for post-processing (sub-step S26).
Applying the correction δk has the effect of completely canceling the displacement between the selected instants tk−1 and tk, resulting in the position remaining identical between these two instants. As a variant, complete cancelation can be followed by a substitution with a probable displacement, computed, for example, as a function of the previous displacement between the selected instants tk−2 and tk−1, or any other previous displacement.
The second step S2 can be implemented by a trajectory correction block BCT, which generates the regularized trajectory TrB in real-time (
The regularized trajectory TrB is said to be regular and not precise since there is coherence between the various positions of the trajectory, but it does not correspond to the precisely estimated trajectory (with the jumps in position having been compensated for).
Combining the first two steps S1 and S2 allows a trajectory to be computed in real-time that is devoid of jumps, i.e., significant discontinuities depending on the value of the set jump detection threshold, but that also is as precise as possible even in a degraded GNSS environment, by virtue of the merging of the data originating from absolute position information sensors and relative position information sensors (GNSS/INS merging, for example).
The regularized trajectory TrB can prove to be very useful for assembling various shots (photogrammetry, radar imagery), which requires very precise relative positions between the various shots, which is not the case when a significant correction is present.
The method according to the invention comprises an optional third step. This step involves computing a post-processed trajectory TrC based on the merged trajectory TrA, the regularized trajectory TrB, and the confidence indicators (cf.
To this end, at each determined instant tk, the regularized trajectory TrB is divided into high-confidence segments SmFC and low-confidence segments SmNFC. A “segment” is understood to mean a portion of the trajectory. The division is carried out as a function of the confidence indicator ckfus associated with the merged data packet Dkfus for each selected instant tk. The post-processed trajectory TrC corresponds to the merged trajectory TrA for each high-confidence segment SC, i.e., the APV solution of the merged trajectory TrA. In addition, for each low-confidence segment SmNFC, the post-processed trajectory TrC is determined by a geometric transformation of the low-confidence segment SmNFC, such that a continuity condition is met between each of the ends thereof and the end of the adjacent high-confidence segment.
Thus, the post-processed trajectory TrC is regular in real-time and regular and precise in non-real-time during post-processing.
The geometric transformation is used to improve the performance capabilities of the method, and it has the following advantages:
The method according to the invention considerably limits the data rate required between the movable carrier and the fixed system responsible for computing the post-processed trajectory, which also offers better reliability in the event of a loss of data during transmission.
By way of an example, using the techniques of the prior art for computing the trajectory in non-real-time would require storing the raw data from the sensors and transmitting said data from the movable device, where they would be acquired, to the computation means (a computer), where they would be processed. According to this example, a radio link offering a useful data rate ranging between 38.4 kb/s (three accelerometer data items, three gyrometer data items, coded on four bytes, with an acquisition frequency equal to 200 Hz) and 200 kb/s (with more sensors) would be required. In addition, the loss of data during transmission would have a significant effect on the reconstruction of the trajectory since this would lead to errors when computing the inertial solution.
The method according to the invention would allow a radio link to be used at 0.9 kb/s or 3.84 kb/s depending on whether only the position is transmitted, or the entire APV solution.
In a first sub-step S31, the packets, or points of the trajectory, stored in the backup means MS, are sent to the trajectory processing block BPT (
In a second sub-step S32, the regularized trajectory TrB is divided into high-confidence segments SmFC and low-confidence segments SmNFC.
According to an embodiment in which the absolute position information sensor CA comprises a GNSS receiver supporting the RTK mode, the packets for which the confidence indicator ckfus corresponds to the “RTK fix” value (with more or less of a tolerance margin) are classified as high-confidence segments SmFC, and the packets whose confidence indicator ckfus is too far from the “RTK fix” value (i.e., a different confidence indicator ckfus from the “RTK fix” value with more or less of a tolerance margin) are classified as low-confidence segments SmNFC.
As a variant, the segmentation can be carried out without knowing the RTK value. In particular, the confidence indicator ckfus can be compared with a threshold. Additional test criteria can be added, such as comparing the confidence indicator ckfus with several thresholds, or even the fact that a sufficient number of consecutive points must meet a condition in order to be classified as a high-confidence segment SFC
In a third sub-step S33, the corrected positions are computed for all the points of each low-confidence segment SmNFC as illustrated in
The points belonging to a low-confidence segment SmNFC are classified into sub-groups of consecutive points (over time, according to the determined instants t), thus forming M trajectory segments SmNFC represented by their indices:
The first point of the segment SmNFC has the index km and the last point of the segment has the index (k+l)m.
For example, in
All the points on the regular trajectory of the same segment SmNFC have the same geometric transformation gm applied to them, in order to compute corrected positions pkcorr:
The geometric transformation gm of the segment SmNFC is computed in such a way that the segment SmNFC coincides at both ends (pk
Thus, the continuity condition can be expressed as:
Advantageously, the geometric transformation comprises at least one translation or rotation, as well as a homothety when the low-confidence segment is preceded or followed by a high-confidence segment. Thus, at the beginning or end of the trajectory, only the translation or the rotation can be applied.
These geometric transformations applied to a position p are defined as follows:
is verified.
The angle of rotation W is computed as follows:
The continuity condition has been defined with geometric transformations on the positions of the APV solution of the estimated trajectory. Other geometric transformations can be contemplated, for example, by also taking into account the velocity and the angles resulting from the merging.
The fourth sub-step S34 then involves reconstituting the post-processed trajectory TrC (made up of the positions pkPP) based on the merged positions and the corrected positions.
Thus, for each high-confidence segment SmFC:
For each low-confidence segment SmNFC.
According to one embodiment, the sub-step S34 further comprises a weighted recombination of the merged trajectory TrA and of the post-processed trajectory TrC.
The weighted combination of the positions can be expressed using the following relation:
The weighted combination limits the effect caused by close proximity between the start point and the end point of the post-processed trajectory. Indeed, when the trajectory forms a “loop”, a very small error in the position of the start/end points is multiplied by the geometric transformation and the points in the middle of the loop can be highly erroneous. Weighted combination of the positions avoids such errors.
The invention also relates to a system able to implement the predefined method. The system, illustrated in
Number | Date | Country | Kind |
---|---|---|---|
2307495 | Jul 2023 | FR | national |