METHOD FOR LOCATING A VEHICLE

20230152417 · 2023-05-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A method includes: a) triggering, at an instant tuj, an exchange of radio signals between a mobile transceiver fixed to the vehicle and a fixed transceiver; then b) computing a rough distance only from the transmission or reception instants of the exchanged radio signals; (c) constructing an estimated position of the vehicle at an instant t.sub.m; (d) correcting the computed rough distance, then using this corrected rough distance to correct the estimated position. This correction comprises: computing an apparent velocity movement v.sub.a0 of the vehicle towards the fixed transceiver; then adding a corrective term δd.sub.0 to the computed rough distance, which corrective term is computed from the following relation: δd.sub.0=v.sub.a0.Math.DT0, where DT0 is equal to the elapsed time between the instants tu.sub.j and t.sub.m.

Claims

1. A method for locating a vehicle, said method comprising the following steps: a) triggering, at an instant tu.sub.j, an exchange of radio signals between a mobile transceiver fixed to the vehicle and a fixed transceiver located along a path of the vehicle; then b) once said exchange of radio signals is complete, an electronic computer computing a rough distance only from the transmission or reception instants of the radio signals exchanged during said exchange; (c) the electronic computer locating the vehicle, with said locating comprising: constructing an estimated position of the vehicle at an instant t.sub.m from a measurement carried out using a measurement unit independent and separate from the fixed and mobile transceivers and without using the computed rough distance, with the instant t.sub.m being subsequent to the instant tu.sub.j; then correcting the position of the vehicle as a function of a difference between: a distance between the fixed and mobile transceivers computed from the transmission or reception instants of the radio signals exchanged during the exchange triggered at the instant tu.sub.j; and the distance between the estimated position of the vehicle at the instant t.sub.m and the position of the fixed transceiver, wherein the method comprises a step of correcting the rough distance computed during step b) in order to obtain a corrected distance, then, during step c), it is said corrected distance that is used to correct the position of the vehicle, with said step of correcting the rough distance comprising: computing an apparent movement velocity of the vehicle towards the fixed transceiver, with the amplitude of said apparent velocity being equal to the norm of the orthogonal projection of a velocity of the vehicle between the instants tu.sub.j and t.sub.m onto an axis that passes through the geometric centre of the antennae of the mobile and fixed transceivers; then adding a first corrective term δd.sub.0 to the computed rough distance, which first corrective term is computed using the following relation: δd.sub.0=v.sub.a0.Math.DT0, where: DT0 is equal to the elapsed time between the instants tu.sub.j and t.sub.m; v.sub.a0 is the computed apparent velocity; and the “.Math.” symbol denotes arithmetic multiplication.

2. The method according to claim 1, wherein: the exchange of radio signals, triggered at the instant tu.sub.j, starts with the transmission of a first frame of information and ends with the transmission of a last frame of information, the transmission and reception instants of which are measured and then used during step b) to compute the rough distance; the step of correcting the rough distance also comprises adding a second corrective term δd.sub.1 to the computed rough distance, which second corrective term is computed using the following relation: δd.sub.1=−v.sub.a1.Math.(DT2+DT1)/2, where: v.sub.a1 is an apparent movement velocity of the vehicle towards the fixed transceiver, with the amplitude of said apparent velocity v.sub.a1 being equal to the norm of the orthogonal projection of a velocity of the vehicle between the instants tu.sub.j and t.sub.m onto an axis that passes through the geometric centre of the antennae of the mobile and fixed transceivers; DT1 is equal to the elapsed time between the instant tu.sub.j and the transmission instant of the first frame of information; DT2 is equal to the elapsed time between the instant tu.sub.j and the transmission instant of the last frame of information.

3. The method according to claim 1, wherein the radio signals are ultra-wide band signals.

4. The method according to claim 1, wherein: step a) is repeated at each instant tu.sub.j of a temporally ordered sequence of instants {0, t.sub.1, t.sub.2, . . . , tu.sub.j−1, tu.sub.j, . . . }, with each repetition of step a) being followed by a repetition of step b); the construction of an estimated position is repeated for each instant t.sub.k of a temporally ordered sequence of instants {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . }, with the frequency of the instants t.sub.k being higher than the frequency of the instants tu.sub.j, such that several instants t.sub.k are interposed between the immediately consecutive instants tu.sub.j and tu.sub.j+1, with the instant t.sub.m being the instant of said sequence of instants {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . } that immediately precedes the execution of the correction of the position of the vehicle.

5. The method according to claim 1, wherein constructing an estimated position comprises: the electronic computer acquiring a measurement of the acceleration and of the angular velocity of the vehicle at the instant t.sub.m that is carried out by an inertial navigation unit; an inertial measurement integration module constructing the estimated position of the vehicle from a previous position of the vehicle and using the measurements of the acceleration and of the angular velocity acquired at the instant t.sub.m.

6. An information storage medium, wherein the medium comprises non-transitory instructions, executable by an electronic computer, for executing a method for locating a vehicle according to claim 1, when the instructions are executed by said electronic computer.

7. A system for locating a vehicle, said system comprising: a mobile transceiver fixed to the vehicle that is capable of exchanging radio signals with a fixed transceiver located along a path of the vehicle; and an electronic computer configured to execute the following steps: a) triggering, at an instant tu.sub.j, an exchange of radio signals between the mobile transceiver fixed to the vehicle and the fixed transceiver located along a path of the vehicle; then b) once said exchange of radio signals is complete, the electronic computer computing a rough distance only from the transmission or reception instants of the radio signals exchanged during said exchange; (c) the electronic computer locating the vehicle, with said locating comprising: constructing an estimated position of the vehicle at an instant t.sub.m from a measurement carried out using a measurement unit independent and separate from the fixed and mobile transceivers and without using the computed rough distance, with the instant t.sub.m being subsequent to the instant tu.sub.j; then correcting the position of the vehicle as a function of a difference between: a distance between the fixed and mobile transceivers computed from the transmission or reception instants of the radio signals exchanged during the exchange triggered at the instant tu.sub.j; and the distance between the estimated position of the vehicle at the instant t.sub.m and the position of the fixed transceiver, wherein the electronic computer is also configured to execute a step of correcting the rough distance computed during step b) in order to obtain a corrected distance, then, during step c), said corrected distance is used to correct the position of the vehicle, with said step of correcting the rough distance comprising: computing an apparent movement velocity of the vehicle towards the fixed transceiver, with the amplitude of said apparent velocity being equal to the norm of the orthogonal projection of a velocity of the vehicle between the instants tu.sub.j and t.sub.m onto an axis that passes through the geometric centre of the antennae of the mobile and fixed transceivers; then adding a first corrective term δd.sub.0 to the computed rough distance, which first corrective term is computed using the following relation: δd.sub.0=v.sub.a0.Math.DT0, where: DT0 is equal to the elapsed time between the instants tu.sub.j and t.sub.m; v.sub.a0 is the computed apparent velocity; and the “.Math.” symbol denotes arithmetic multiplication.

Description

[0019] The invention will be better understood upon reading the following description, which is provided solely by way of a non-limiting example and with reference to the drawings, in which:

[0020] FIG. 1 is a schematic illustration of a system for locating a vehicle;

[0021] FIG. 2 is a schematic illustration of various software modules implemented in the system of FIG. 1;

[0022] FIG. 3 is a flow chart of a method for locating a vehicle using the system of FIG. 1;

[0023] FIG. 4 is a timing chart showing the instants at which different events occur on different time axes.

[0024] Throughout these figures, the same reference signs are used to denote the same elements.

[0025] Throughout the remainder of this description, the features and functions that are well known to a person skilled in the art are not described in detail. In particular, for the general knowledge of a person skilled in the art relating to systems for locating a vehicle using an inertial navigation unit, reference is made, for example, to the following thesis: S. Godha, “Performance Evaluation of Low Cost MEMS-Based IMU Integrated With GPS for Land Vehicle Navigation Application”, PhD report, 2006. Hereafter, this thesis is referred to as “Godha2006”.

[0026] In this description, a detailed example of an embodiment is first described in Chapter I with reference to the figures. Then, in the next chapter II, variants of this embodiment are presented. Finally, the advantages of the various embodiments are presented in chapter Ill.

Chapter I: Example of an Embodiment

[0027] FIG. 1 shows a vehicle 2 capable of moving along a path. For example, in this example, the vehicle 2 is a motor vehicle travelling along a road. The vehicle 2 in this case is equipped with propulsion means 34, such as an engine that drives the wheels of the vehicle 2.

[0028] The vehicle 2 is equipped with a system 30 for locating this vehicle. This system 30 is capable of determining the position, the orientation and the velocity of the vehicle 2 in a terrestrial coordinate system R.sub.T. In this case, the terrestrial coordinate system R.sub.T is fixed without any degree of freedom relative to the earth. The coordinate system R.sub.T comprises three axes, which are typically orthogonal to each other. For example, in this case, the coordinate system R.sub.T is the coordinate system known as the ECEF (“Earth Centred, Earth Fixed”) coordinate system.

[0029] A movable coordinate system R.sub.b is also fixed without any degree of freedom relative to the vehicle 2. This coordinate system R.sub.b comprises three axes that are orthogonal to each other, denoted x.sub.b, y.sub.b and z.sub.b, respectively. Conventionally, when the vehicle 2 moves horizontally, the x.sub.b and y.sub.b axes are in a horizontal plane and the z.sub.b axis is vertical. In this case, the x.sub.b axis is oriented and pointed in the direction in which the vehicle is moving when it is moving forwards.

[0030] In this case, the position of the vehicle 2 in the coordinate system R.sub.T is expressed by coordinates of the origin of the coordinate system R.sub.b in the coordinate system R.sub.T.

[0031] The orientation of the vehicle 2 is expressed by the yaw angle ψ, the pitch angle θ and the roll angle φ of the coordinate system R.sub.b defined relative to a coordinate system called “navigation” coordinate system. In practice, the orientation of the vehicle is usually in the form of an orientation matrix, from which the yaw angle, the pitch angle and the roll angle of the vehicle can be derived. The orientation of the vehicle also can be in the form of a vector directly comprising the yaw angle, the pitch angle and the roll angle of the vehicle. Hereafter, these two cases are considered to be equivalent and therefore that the orientation of the vehicle comprises the yaw angle, the pitch angle and the roll angle of the vehicle as soon as these three angles can be directly derived from a matrix or a vector.

[0032] The position, the orientation and the velocity determined by the system 6 are delivered to an output 37. Hereafter, the position, the orientation and the velocity delivered to the output 37 by the system 30 for an instant t.sub.k are denoted P(k), O(k) and V(k), respectively.

[0033] Typically, the vehicle 2 comprises a cockpit 38 for guiding or assisting the guiding of the vehicle 2 to a predefined destination. The cockpit 38 is connected to the output 37. The cockpit 38 can be a manual and/or automatic cockpit. In the case of a manual cockpit, the determined position, orientation and velocity are transmitted to a human-machine interface to help a human being to steer the propulsion means 34. In the case of an automatic cockpit, the determined position, orientation and velocity are automatically converted into commands for driving the propulsion means 34, then are automatically transmitted to these propulsion means 34.

[0034] The system 30 comprises a satellite geolocation unit 40 and an inertial measurement unit 42.

[0035] The unit 40 is known using the acronym GNSS (Global Navigation Satellite System). Based on the satellite signals that it receives, the unit 40 generates signals representing the position and the velocity of the vehicle in the coordinate system R.sub.T. The unit 40 updates its measurements at a frequency F.sub.40. Conventionally, the frequency F.sub.40 ranges between 0.1 Hz and 20 Hz.

[0036] The unit 42 is known using the acronym IMU (“Inertial Measurement Unit”). In particular, the unit 42 comprises a triaxial accelerometer 44 and a triaxial gyroscope 46. By virtue of these sensors, the unit 42 is capable of measuring the variation of the orientation, the position and the velocity of the vehicle 2. In this case, the measurement axes of the accelerometer 44 and the gyroscope 46 are coincident with the x.sub.b, y.sub.b and z.sub.b axes of the coordinate system R.sub.b, respectively. Furthermore, the accelerometer 44 is arranged such that a positive measurement of the acceleration of the vehicle 2 along the x.sub.b axis means that the vehicle 2 is accelerating while moving forward.

[0037] The unit 42 updates the acceleration and angular velocity measurements at a high frequency F.sub.42. Conventionally, the frequency F.sub.42 ranges between 20 Hz and 2,000 Hz. For example, in this case the frequency F.sub.42 is equal to 200 Hz.

[0038] In order to accurately locate the vehicle 2 along its path, the system 30 also comprises a radio transceiver 20 on board this vehicle. One or more fixed transceiver(s) located along the path of the vehicle 2 is/are also provided. For example, the fixed transceivers are arranged at regular intervals along the path of the vehicle 2. FIG. 1 shows a single fixed transceiver 22.

[0039] The description provided hereafter in the particular case of this transceiver 22 similarly applies to all the other fixed transceivers disposed along the path of the vehicle 2.

[0040] The transceiver 22 is stationary and its position in the terrestrial coordinate system R.sub.T is known in advance and does not change. When the vehicle 2 is located on a segment of its path in the vicinity of the transceiver 22, irrespective of the position of the vehicle 2 on this segment, the transceivers 20, 22 are capable of exchanging frames of information with each other, allowing the distance separating them to be measured.

[0041] The transceiver 20 exchanges frames of information with the transceiver 22 by means of a wireless radio link 48. These frames of information are particularly exchanged in order to measure the distance that separates these transceivers 20, 22 based on the flight times of these frames of information. To this end, in this case the transceivers 20, 22 are Ultra-Wide Band (UWB) transceivers. The term “ultra-wide band transceiver” or “UWB transceiver” in this case denotes a transceiver that uses a wide frequency band to send and receive the frames of information. A “wide” frequency band is a frequency band with a width that is greater than 0.2 f.sub.c, where f.sub.c is the median frequency of this frequency band. Typically, a wide frequency band is greater than 250 MHz or even greater than 400 MHz.

[0042] Each measurement of a distance between the transceivers 20, 22 requires exchanging several frames of information between these transceivers 20, 22 and measuring the transmission and reception instants of these frames of information. This exchange of frames of information is repeated at a frequency F.sub.20 in order to update the distance measurement at this frequency. The frequency F.sub.20 is smaller than the frequency F.sub.42. Typically, the frequency F.sub.20 is ten or fifty times smaller than the frequency F.sub.42. Conventionally, the frequency F.sub.20 ranges between 0.1 Hz and 20 Hz. In this case, the transmission and reception instants of the frames of information are obtained by the transceiver 20 housed in the vehicle 2.

[0043] In order to determine the position, the orientation and the velocity of the vehicle 2 from the measurements of the units 40 and 42 and the transmission and reception instants obtained by the transceiver 20, the system 30 comprises a programmable electronic computer 50. This computer 50 is capable of acquiring the measurements of the units 40 and 42 and the transmission and reception instants obtained by the transceiver 20. Then, from these measurements, the computer 50 determines the position, the orientation and the velocity of the vehicle 2 in the coordinate system R.sub.T. The computer 50 comprises a microprocessor 52 and a memory 54 comprising the instructions and the data needed to implement the method described with reference to FIG. 3.

[0044] More specifically, the memory 54 comprises the instructions of a software module 56 capable of determining the position, the orientation and the velocity of the vehicle 2 from the measurements acquired when it is executed by the microprocessor 52. In this case, the module 56 particularly implements a merge algorithm that establishes a new estimate of the position, the orientation and the velocity of the vehicle 2 from a previous estimate of the position, the orientation and the velocity of the vehicle 2 and from new measurements acquired since this previous estimate. Typically, the merge algorithm also establishes margins of error on each new estimate.

[0045] The general principles of merge algorithms are well known to a person skilled in the art. For example, an interested reader can once again refer to the aforementioned Godha2006 thesis. Typically, this merge algorithm implements one or more Kalman filter(s). In this case, the module 56 implements an architecture known as a “closed loop integration scheme” or “closed loop approach”.

[0046] FIG. 3 shows the architecture of the module 56 in more detail. The module 56 comprises: [0047] a sub-module 60 for integrating an inertial measurement; [0048] a sub-module 61 for computing a corrected distance between the transceivers 20, 22 from the transmission and reception instants obtained by the transceiver 20; and [0049] a correction sub-module 62.

[0050] The general operating principles of the sub-modules 60 and 62 are known. For example, for a detailed description of these general principles, the reader can consult Chapter 4 of the Godha2006 thesis. Thus, hereafter, only the details specific to the invention are described in detail.

[0051] The sub-module 60 is known as “Mechanization”. For each instant t.sub.k, the sub-module 60 constructs a rough estimate of a position P.sub.e(k), an orientation O.sub.e(k) and a velocity V.sub.e(k) of the vehicle 2. Throughout this document, the “k” symbol is the sequence number of the instant t.sub.k in the temporally ordered sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . } of the instants t.sub.k. Let k−1 be the sequence number of the instant t.sub.k−1 immediately preceding the instant t.sub.k. The position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k) of the vehicle 2 are each a vector comprising three coordinates. The coordinates of the position P.sub.e(k) in the coordinate system R.sub.T are denoted x.sub.e(k), y.sub.e(k) and z.sub.e(k). The coordinates of the orientation O.sub.e(k) are denoted ψ.sub.e(k), θ.sub.e(k) and φ.sub.e(k) and the coordinates of the velocity V.sub.e(k) are denoted Vx.sub.e(k), Vy.sub.e(k) and Vz.sub.e(k).

[0052] The frequency of the instants t.sub.k is less than or equal to the frequency F.sub.42. In this case, the frequency of the instants t.sub.k is equal to the frequency F.sub.42.

[0053] The sub-module 60 constructs the position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k) from: [0054] the previous position P(k−1), the previous orientation O(k−1) and the previous velocity V(k−1) determined for the vehicle 2 at the instant t.sub.k−1 by the system 30 and delivered to the output 37; and [0055] the measurements of the accelerometer 44 and of the gyroscope 46 acquired by the sub-module 60 at the instant t.sub.k.

[0056] The combination of the sub-module 60 and of the unit 42 forms an Inertial Navigation System, which is known using the acronym INS.

[0057] The sub-module 61 acquires the transmission and reception instants obtained by the transceiver 20 and the last position of the vehicle 2 estimated by the sub-module 60. Then, the sub-module 61 delivers a corrected distance to the sub-module 62 that is computed from the acquired transmission and reception instants and from the last acquired position of the vehicle 2. The detailed operation of this sub-module 61 is described with reference to FIG. 3.

[0058] At particular instants t.sub.k, the sub-module 62 corrects the position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k) constructed by the sub-module 60 for this instant t.sub.k in order to obtain a corrected position P.sub.c(k), a corrected orientation O.sub.c(k) and a corrected velocity V.sub.c(k) for this instant t.sub.k. Hereafter, these particular instants t.sub.k are called “instants t.sub.m”. The “m” symbol is equal to the sequence number of a particular instant t.sub.k in the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . }. Each sequence number m is therefore equal to a respective sequence number k. Thus, the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m) are equal to the position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k), respectively, constructed for the instant t.sub.k equal to the instant t.sub.m. The sequence {0, t.sub.1, t.sub.2, . . . , t.sub.m-1, t.sub.m, . . . } of the instants t.sub.m is a sub-set of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . }. Thus, the correction by the sub-module 62 is not carried out for each instant t.sub.k but only for some of them. At each instant t.sub.m, the sub-module 62 combines the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m) with respective correction coefficients in order to obtain the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected velocity V.sub.c(m). At the instants t.sub.m, the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected velocity V.sub.c(m) are delivered to the output 37 and not the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m). The correction coefficients are updated as a function of the measurements of the unit 40 and of the corrected distance determined by the sub-module 61. The correction coefficients are therefore updated at a frequency that is less than the frequency F.sub.42.

[0059] The sub-module 62 acquires the measurements of the unit 40 at a frequency that is less than or equal to the frequency F.sub.42. In this case, the acquisition frequency of the measurements of the unit 40 is equal to the frequency F.sub.40. Hereafter, tg.sub.i denotes the acquisition instants of a new measurement of the unit 40. These instants tg.sub.i form a temporally ordered sequence {0, tg.sub.1, tg.sub.2, . . . , tg.sub.i-1, tg.sub.i, . . . } of instants tg.sub.i. The “i” symbol denotes the sequence number of the instant tg.sub.i in this sequence. The sub-module 62 updates the correction coefficients each time a new measurement of the unit 40 is acquired and therefore for each instant tg.sub.i. The instants tg.sub.i are less frequent than the instants t.sub.k.

[0060] The sub-module 62 also acquires the corrected distance, delivered by the sub-module 61, at a frequency that is less than or equal to the frequency F.sub.42. In this case, the acquisition frequency of the corrected distance is equal to the frequency F.sub.20. Hereafter, to.sub.j denotes the acquisition instants of each new corrected distance. Also, dc.sub.j denotes the corrected distance acquired at the instant to.sub.j. The “j” symbol is the sequence number of the instant to.sub.j in the temporally ordered sequence {0, to.sub.1, to.sub.2, . . . , to.sub.j−1, to.sub.j, . . . } of the instants to.sub.j. The sub-module 62 also updates the correction coefficients each time a new corrected distance dc is acquired and therefore for each instant to.sub.j. Since the frequency F.sub.20 is lower than the frequency F.sub.42, several instants t.sub.k systematically exist between the instants to.sub.j−1 and to.sub.j.

[0061] Hereafter, the sequences {0, tg.sub.1, tg.sub.2, . . . , tg.sub.i-1, tg.sub.i, . . . } and {0, to.sub.1, to.sub.2, . . . , to.sub.j−1, to.sub.1, . . . } are both considered to be sub-sets of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . }. Thus, each instant tg.sub.i and to.sub.j corresponds to a respective instant t.sub.k of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k−1, t.sub.k, . . . }. Furthermore, in this embodiment, the instants tg.sub.i and to.sub.j are separate. In other words, at an instant tg.sub.i where the measurement of the unit 40 is acquired, no new corrected distance is acquired, and vice versa. Finally, throughout this document, the instants t.sub.m are equal to the instants at which the sub-module 62 acquires either a measurement of the unit 40 or a new corrected distance.

[0062] In order to update the correction coefficients as a function of the measurements of the unit 40 and of the corrected distance, the sub-module 62 comprises a Kalman filter 64. In order to combine the correction coefficients with the rough estimates delivered by the sub-module 60, the sub-module 62 also comprises an adder 66.

[0063] Herein, the filter 64 is known using the acronym ESKF (Error State Kalman Filter) since it estimates corrections to be made to the position, the orientation and the velocity estimated by the sub-module 60. More specifically, the filter 64 provides a state vector X.sub.m|m for each instant t.sub.m. In particular, the state vector X.sub.m|m contains the correction coefficients to be used to correct the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m). For each instant t.sub.m, the adder 66 combines the correction coefficients provided by the filter 64 with the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m) in order to obtain the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected velocity V.sub.c(m). For each instant t.sub.k after the instant t.sub.m and before the instant t.sub.m+1, no correction is made to the estimates constructed by the sub-module 60.

[0064] For example, in this case, the state vector X.sub.m|m contains correction coefficients δ.sub.x(m), δ.sub.y(m) and δ.sub.z(m) of the coordinates x.sub.e(m), y.sub.e(m) and z.sub.e(m), respectively, of the position P.sub.e(m). The adder 66 adds these coefficients δx(m), δy(m) and δz(m), respectively, to the coordinates x.sub.e(m), y.sub.e(m) and z.sub.e(m) in order to obtain the coordinates x.sub.c(m), y.sub.c(m) and z.sub.c(m), respectively, of the corrected position P.sub.c(m).

[0065] The state vector X.sub.m|m also comprises correction coefficients δ.sub.ψ(m), δ.sub.θ(m) and δ.sub.φ(m) of the coordinates ψ.sub.e(m), θ.sub.e(m) and φ.sub.e(m), respectively, of the orientation O.sub.e(m). The adder 66 adds these coefficients δ.sub.ψ(m), δ.sub.θ(m) and δ.sub.φ(m), respectively, to the coordinates ψ.sub.e(m), θ.sub.e(m) and φ.sub.e(m) in order to obtain the corrected coordinates ψ.sub.c(m), θ.sub.c(m) and φ.sub.c(m), respectively, of the orientation O.sub.c(m).

[0066] Similarly, the state vector X.sub.m|m also comprises three correction coefficients δv.sub.x(m), δv.sub.y(m) and δv.sub.z(m) used to respectively correct the coordinates Vx.sub.e(m), Vy.sub.e(m) and Vz.sub.e(m) of the velocity V.sub.e(m).

[0067] Conventionally, the state vector X.sub.m|m also comprises correction coefficients for correcting other parameters, such as measurement biases of the accelerometer 44 and of the gyroscope 46 or the like. In this embodiment, the state vector X.sub.m|m also contains: [0068] three correction coefficients δba.sub.x(m), δba.sub.y(m) and δba.sub.z(m) for correcting the measurement biases of the accelerometer 44 in directions x.sub.b, y.sub.b and z.sub.b, respectively; [0069] three correction coefficients δbg.sub.x(m), δbg.sub.y(m) and δbg.sub.z(m) for correcting the measurement biases of the gyroscope 46 around the axes parallel to the x.sub.b, y.sub.b and z.sub.b, respectively.

[0070] In this embodiment, the state vector X.sub.m|m is therefore the following vector with fifteen coordinates: [δ.sub.ψ(m), δ.sub.θ(m), δ.sub.φ(m), δv.sub.x(m), δv.sub.y(m), δv.sub.z(m), δ.sub.x(m), δ.sub.y(m), δ.sub.z(m), δba.sub.x(m), δba.sub.y(m), δba.sub.z(m), δbg.sub.x(m), δbg.sub.y(m), δbg.sub.z(m)].sup.T, where the “.sup.T” symbol is the symbol of the transposed operation.

[0071] The filter 64 is a recursive algorithm, which, for each instant t.sub.m, provides the adder 66 with a new state vector X.sub.m|m computed from: [0072] the previous state vector X.sub.m-1|m-1; [0073] the measurement of the unit 40 or of the new corrected distance acquired at the instant t.sub.m; and [0074] the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m) constructed by the sub-module 60 for the instant t.sub.m.

[0075] Conventionally, the filter 64 comprises a prediction block 68 computing a first state vector X.sub.m|m-1 from the vector X.sub.m-1|m-1, followed by an update block 70 computing the vector X.sub.m|m from the predicted vector X.sub.m|m-1. These blocks are executed one after the other for each vector X.sub.m|m.

[0076] More specifically, the block 68 constructs a prediction X.sub.m|m-1 of the state vector from the previous state vector X.sub.m-1|m-1.

[0077] In this case, an embodiment of the blocks 68 and 70 is described in the particular case where the filter 64 is an Extended Kalman Filter (EKF).

[0078] The propagation or state prediction equation of the filter 64 implemented by the block 68 is defined by the following relation (1):


X.sub.m|m-1=A.sub.m-1X.sub.m-1|m-1,

where: [0079] X.sub.m-1|m-1 is the estimate of the state vector at the instant t.sub.m-1 obtained by taking into account all the measurements up to the instant t.sub.m-1; [0080] X.sub.m|m-1 is the prediction of the state vector at the instant t.sub.m obtained by taking into account all the measurements up to the instant t.sub.m-1 and without taking into account the measurements acquired at the instant t.sub.m: [0081] A.sub.m-1 is the state transition matrix at the instant t.sub.m-1.

[0082] In the particular case described herein whereby the filter 64 is an Error State Kalman Filter, the vector X.sub.m-1|m-1 is always zero since it is assumed that the error was corrected beforehand. In other words, relation (1) is reduced to the following relation:


X.sub.m|m-1=0.

[0083] The propagation or prediction equation of the error covariance matrix implemented by the block 68 is defined by the following relation (2):


P.sub.m|m-1=A.sub.m-1P.sub.m-1|m-1A.sub.m-1.sup.T+Q.sub.m-1,

where: [0084] P.sub.m-1|m-1 is the estimate of the covariance matrix of the error at the instant t.sub.m-1 obtained by taking into account all the measurements acquired up to the instant t.sub.m-1 [0085] P.sub.m|m-1 is the prediction of the covariance matrix P.sub.m at the instant t.sub.m obtained by only taking into account the measurements acquired up to the instant t.sub.m-1; [0086] Q.sub.m-1 is the covariance matrix of the process noise v.

[0087] Block 70 corrects the prediction X.sub.m|m-1 of the state vector in order to obtain the state vector X.sub.m|m. The corrected vector X.sub.m|m is constructed as a function of a difference Y.sub.m between: [0088] an estimate {circumflex over (z)}.sub.m of a physical quantity at the instant t.sub.m; and [0089] the measurement z.sub.m of this same physical quantity at the instant t.sub.m.

[0090] The difference Y.sub.m is known as “innovation”. In this case, the measured physical quantities are the position and the velocity measured by the unit 40 and, alternately, the corrected distance delivered by the sub-module 61. Thus, for each instant tg.sub.i, the block 70 corrects the prediction X.sub.m|m-1 solely from the measurement of the unit 40 acquired at this instant tg.sub.i. Conversely, for each instant to.sub.1, the block 70 corrects the prediction X.sub.m|m-1 solely from the corrected distance acquired at this instant to.sub.1. The correction of the prediction X.sub.m|m-1, at the instants tg.sub.i, as a function of the differences in position and in velocity, is carried out, for example, as described in Godha2006. Thus, this functionality of the block 70 is not described in further detail. Only the correction of the prediction X.sub.m|m-1, at the instants to.sub.1, as a function of the corrected distance, is described hereafter.

[0091] In this embodiment, the physical quantity is the corrected distance dc.sub.m. The estimate {circumflex over (z)}.sub.m of the corrected distance dc.sub.m is constructed using the following relation (3):


{circumflex over (z)}.sub.m=√{square root over ((x.sub.e(m)−B.sub.x).sup.2+(y.sub.e(m)−B.sub.y).sup.2+(z.sub.e(m)−B.sub.z).sup.2)}

where: [0092] m is the sequence number of an instant t.sub.m of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.m-1, t.sub.m, . . . } where a new corrected distance is acquired; [0093] x.sub.e(m), y.sub.e(m) and z.sub.e(m) are the coordinates of the position P.sub.e(m) estimated by the sub-module 60 and expressed in the coordinate system R.sub.T; [0094] B.sub.x, B.sub.y, B.sub.z are the coordinates of the position of the transceiver 22 in the coordinate system R.sub.T.

[0095] The coordinates B.sub.x, B.sub.y, B.sub.z are constant and are pre-stored in the memory 54.

[0096] The innovation Y.sub.m is obtained using the following relation (4): Y.sub.m=dc.sub.m−{circumflex over (z)}.sub.m.

[0097] Typically, the block 70 corrects the prediction X.sub.m|m-1 by adding the innovation Y.sub.m multiplied by the Kalman gain K.sub.m. The gain K.sub.m is computed using the following relation (5):


K.sub.m=P.sub.m|m-1H.sub.m.sup.T(H.sub.mP.sub.m|m-1H.sub.m.sup.T+R.sub.m).sup.−1, where: [0098] the matrix R.sub.m is the covariance matrix of the noise over the corrected distance; and [0099] H.sub.m is an observation matrix.

[0100] The observation matrix H.sub.m is a function of the partial drift of the relation (3) relative to the various parameters of the state vector X.sub.m|m. The matrix R.sub.m is, for example, constant and is initialised using data relating to the covariance of the noise on the measurements of the transmission and reception instants obtained by the transceiver 20.

[0101] Then, the state vector X.sub.m|m is obtained using the following relation (6): X.sub.m|m=X.sub.m|m-1+K.sub.mY.sub.m.

[0102] The updated covariance matrix of the error at the instant t.sub.m is computed using the following relation (7): P.sub.m|m=(I−K.sub.mH.sub.m)P.sub.m|m-1, where I is the identity matrix.

[0103] The matrix P.sub.m|m contains the margins of error on the estimates of the correction coefficients.

[0104] In this particular embodiment, the adder 66 is a simple adder that adds the corresponding correction coefficients that are contained in the state vector X.sub.m|m to the position P.sub.e(k), to the orientation O.sub.e(k) and to the velocity V.sub.e(k). Then, the adder 66 delivers the corrected position P.sub.c(k), orientation O.sub.c(k) and velocity V.sub.c(k) obtained thus to the output 37.

[0105] The operation of the system 30 will now be described with reference to the method in FIG. 3 and using the timing chart in FIG. 4.

[0106] The use of the system 30 for locating the vehicle 2 starts with a phase 120 of initializing the system 30. This phase 120 starts immediately after the system 30 is activated, i.e., typically immediately after it has been powered up. During this phase 120, the various variables and parameters needed to execute the module 56 are initialized. For example, the initial values of the position, the velocity and the orientation of the vehicle 2 and the correction coefficients are initialized. Numerous algorithms exist for quickly obtaining these initial values.

[0107] Once the initialization phase 120 is complete, a phase 130 of executing the module 56 begins.

[0108] During a step 136, each time new measurements of the unit 42 are acquired by the computer 50, the module 56 determines and updates the position, the orientation and the velocity of the vehicle 2. Thus, this updating is carried out for each instant t.sub.k.

[0109] More specifically, step 136 comprises an operation 138, during which the accelerometer 44 and the gyroscope 46 respectively measure the acceleration and the angular velocity of the vehicle 2 and these new measurements are acquired by the computer 50 at the instant t.sub.k.

[0110] Then, during an operation 140, the sub-module 60 constructs the rough estimates P.sub.e(k), O.sub.e(k) and V.sub.e(k) from: [0111] the previous position P(k−1), the previous orientation O(k−1) and the previous velocity V(k−1); and [0112] the measurements of the accelerometer 44 and the gyroscope 46 acquired at the instant t.sub.k.

[0113] The lower portion of FIG. 4 comprises a time axis 142, along which the instants t.sub.k to t.sub.k+10 are shown at which the unit 42 measures the acceleration and the angular velocity. The time axis 144 shows the times at which the sub-module 60 acquires the acceleration and the angular velocity measured by the unit 42. A dashed arrow connects each instant t.sub.k at which a measurement is carried out by the unit 42 to the instant at which the sub-module 60 acquires this measurement. The time axis 146 shows the instants at which the sub-module 60 delivers the estimates P.sub.e(k), O.sub.e(k) and V.sub.e(k). A dashed arrow connects each instant at which a measurement is acquired by the sub-module 60 to the instant at which the sub-module 60 delivers the estimates P.sub.e(k), O.sub.e(k) and V.sub.e(k) obtained from this acquired measurement.

[0114] At the same time as step 136, during a step 148, the transceivers 20 and 22 exchange frames of information in order to allow a rough distance to be measured between these transceivers 20, 22 from the transmission and reception instants of these frames of information. Each exchange of frames of information allows enough transmission and reception instants to be acquired to compute a rough distance between these transceivers 20 and 22. In this case, these exchanges are triggered periodically at the frequency F.sub.20. Each exchange therefore occurs over a respective period T.sub.20,j equal to 1/F.sub.20. Each of the periods T.sub.20,j starts at a respective instant tu.sub.j of a temporally ordered sequence {0, tu.sub.1, tu.sub.2, . . . , tu.sub.j−1, tu.sub.j, . . . } of the instants tu.sub.j. The difference between the instants tu.sub.j+1 and tu.sub.j is equal to the duration of the period T.sub.20,j.

[0115] In this embodiment, the method for measuring round-trip distance is implemented. This distance measurement method is better known as “two-way ranging”. According to this method, each exchange comprises: [0116] the transceiver 20 transmitting a first frame of information; then [0117] in response to the transceiver 22 receiving this first frame of information, the transceiver 22 transmitting a second frame of information.

[0118] The first frame of information is transmitted at an instant M.sub.1,j and is received by the transceiver 22 at an instant M.sub.2,j. The second frame of information is transmitted at an instant M.sub.3,j and is received by the transceiver 20 at an instant M.sub.4,j. The instant M.sub.1,j is not necessarily coincident with the instant tu.sub.j. The duration between the instants tu.sub.j and M.sub.1,j is referred to herein as the duration DT1. The instant M.sub.3,j necessarily occurs after the start of the period T.sub.20,j. The duration between the instants tu.sub.j and M.sub.3,j is referred to herein as the duration DT2. These durations DT1 and DT2 can be computed from the instant tu.sub.j and the measurements of the instants M.sub.1,j and M.sub.3,j.

[0119] The instants M.sub.1,j and M.sub.4,j are measured by the transceiver 20. The instants M.sub.2,j and M.sub.3,j are measured by the transceiver 22.

[0120] In the upper part of FIG. 4, a time axis 150 shows the instants M.sub.1,j and M.sub.4,j measured by the transceiver 20. A time axis 152 shows the instants M.sub.2,j and M.sub.3,j measured by the transceiver 22. An arrow connects the transmission and reception instants M.sub.1,j and M.sub.2,j, respectively, of the first frame of information. Another arrow connects the transmission and reception instants M.sub.3,j and M.sub.4,j, respectively, of the second frame of information. The durations DT1 and DT2 are shown in FIG. 4 for the period T.sub.20,j. Finally, a time axis 154 shows the instants to.sub.1 at which the distances dc.sub.j are delivered by the sub-module 61, then acquired by the sub-module 62. In FIG. 4, the periods T.sub.20j−1 to T.sub.20,j+1, as well as the start and end instants tu.sub.j−1 to tu.sub.j+2 of each of these periods, are shown.

[0121] Since the instant M.sub.3,j is measured by the transceiver 22, it cannot be transmitted to the transceiver 20 in the second frame of information transmitted at this instant. In this case, the instants M.sub.2,j and M.sub.3,j measured by the transceiver 22 are transmitted to the transceiver 20 in the second frame of information transmitted during the next period T.sub.20,j+1. Accordingly, the instant to.sub.j at which the sub-module 61 delivers the distance dc does not occur in the period T.sub.20,j, but in the next period T.sub.20,j+1. A delay of several tens of milliseconds therefore exists between the instants M.sub.1,j, M.sub.2,j, M.sub.3,j and M.sub.4,j used to compute the distance dc.sub.j and the instant at which this distance dc.sub.j is available for processing by the sub-module 62. However, at an instant t.sub.m, the sub-module 62 computes the innovation Y.sub.m from the difference between the last acquired distance dc.sub.m and an estimate {circumflex over (z)}.sub.m of this distance constructed from the last estimated position P.sub.e(m). Assuming that the instant t.sub.m is equal to the instant t.sub.k+9 in FIG. 4, then the last distance dc.sub.m is equal to the distance dc.sub.j. The last acquired position is the position P.sub.e(k+9). As illustrated in FIG. 4 by dashed arrows that point toward the sub-module 62, this distance dc.sub.j and this position P.sub.e(k+9) are transmitted to the sub-module 62 so that it computes the new state vector X.sub.m|m from these measurements. If no correction is made, the innovation Y.sub.m computed by the sub-module 62 is equal to the difference between the measured distance dc and the estimated distance {circumflex over (z)}.sub.k+9. The distance dc.sub.j corresponds to the distance between the transceivers 20, 22 as it was during the period T.sub.20,j, while the estimated distance {circumflex over (z)}.sub.k+9 corresponds to the distance between the transceivers 20, 22 as it was at the instant t.sub.k+9, i.e., during the period T.sub.20,j+1. In other words, the innovation compares a distance as it was during the period T.sub.20,j with an estimate of the distance as it is in the next period T.sub.20,j+1. However, when the vehicle 2 moves quickly, the distance between the transceivers 20, 22 varies by several tens of centimetres between the period T.sub.20,j and the period T.sub.20,j+1. Thus, this introduces an error into the computation of the innovation Y.sub.m that degrades the accuracy of the location of the vehicle. Hereafter, this error is called “measurement delay” since it originates from the fact that the distance measurement occurs over a fairly long duration. As described in detail hereafter, in this method the distance dc is corrected in order to compensate for this measurement delay.

[0122] At the same time as step 148, during a step 160, during each period T.sub.20,j, the sub-module 61 acquires a position P.sub.j and a velocity V.sub.j representing the position and the velocity of the vehicle 2 during this period T.sub.20,j. This position P.sub.j and this velocity V.sub.j are temporarily stored in order to be used during the next period T.sub.20,j+1. For example, in this case, at the beginning of each period T.sub.20,j, the sub-module 61 acquires the position P.sub.e(k) and the velocity V.sub.e(k) delivered by the sub-module 60 at the instant t.sub.k immediately after the instant tu.sub.j. This position P.sub.e(k) and this velocity V.sub.e(k) are then stored as a position P.sub.j and a velocity V.sub.j, respectively.

[0123] When the transceiver 20 has measured the instants M.sub.1,j and M.sub.4,j and has received the measurements M.sub.2,j and M.sub.3,j, during a step 162, the transceiver 20 transmits these measurements to the sub-module 61.

[0124] In response, during a step 164, the sub-module 61 computes a rough distance db.sub.j solely from the transmission and reception instants measured during the period T.sub.20,j.

[0125] In this case, the distance db.sub.j is computed using the following relation (8):

[00001] db j = c . ( M 4 , j - M 3 , j ) + ( M 2 , j - M 1 , j ) 2

where the “c” symbol denotes the speed of light. Hereafter, unless otherwise stated, the “.” symbol in a mathematical relation denotes the arithmetic operation of multiplication.

[0126] During a step 166, the sub-module 61 corrects the rough distance db.sub.j in order to obtain a corrected distance dc.sub.j. In this embodiment, step 166 comprises: [0127] an operation 168 for correcting the movement of the vehicle 2 during the durations DT1 and DT2 in order to obtain a measurement of the distance at the instant tu.sub.j, and [0128] an operation 170 for correcting the measurement delay.

[0129] During operation 168, the sub-module 61 corrects the distance db.sub.j in order to take into account the fact that the vehicle 2 moves between the instants tu.sub.j and M.sub.4,j and to thus obtain a more accurate distance dp.sub.j between the transceivers 20, 22 at the instant tu.sub.j. To this end, in this embodiment, the movement velocity of the vehicle 2 is considered to be constant over the entire period T.sub.20,j. Under these conditions, the distance dp.sub.j is computed using the following relation: dp.sub.j=db.sub.j+δd.sub.1, where δd.sub.1=−v.sub.a1.(DT2+DT1)/2, where v.sub.a1 is the apparent movement velocity of the vehicle 2 towards the transceiver 22. The amplitude of the velocity v.sub.a1 is equal to the norm of the orthogonal projection of a velocity v.sub.j1 of the vehicle 2 onto the axis that passes through the geometric centre of the antennae of the transceivers 20, 22. The velocity v.sub.j1 is a velocity that represents the velocity of the vehicle 2 during the interval [tu.sub.j; M.sub.4,j]. In this case, the velocity v.sub.j1 is selected as equal to the velocity v.sub.j stored during step 160. The velocity v.sub.a1 is a number that is positive when the vehicle 2 approaches the transceiver 22 and is negative when it moves away from this transceiver 22.

[0130] In this case, the velocity v.sub.a1 is computed using the following relation: v.sub.a1=−V.sub.j.u.sub.bv, where: [0131] the “.” symbol denotes the scalar product operation; [0132] V.sub.j is the velocity stored for the period T.sub.20,j during step 160; and [0133] u.sub.bv is a direction vector that points from the geometric centre of the transceiver antenna 22 toward the geometric centre of the transceiver antenna 20.

[0134] The coordinates of this vector u.sub.bv are provided by the following relation:

[00002] ? ? indicates text missing or illegible when filed

where: [0135] x.sub.j, y.sub.j and z.sub.j are the coordinates of the position P.sub.j of the vehicle stored during the period T.sub.20,j during step 160; and [0136] B.sub.x, B.sub.y, B.sub.z are the coordinates of the position of the transceiver 22.

[0137] During operation 170, the sub-module 61 corrects the distance dp.sub.j so that it is as close as possible to the distance between the transceivers 20, 22 at the instant t.sub.m. Thus, using the example of FIG. 4 again, the sub-module corrects the distance dp.sub.j so that it is close to the distance between the transceivers 20, 22 at the instant t.sub.k+9. To this end, the sub-module 61 adds a corrective term δd.sub.0 to the distance dp.sub.j that corresponds to the distance the vehicle 2 has travelled towards the transceiver 22 during the time interval [tu.sub.j, t.sub.j]. Thus, the corrected distance is computed using the following relation: dc.sub.j=dp.sub.j−δd.sub.0. The term δd.sub.0 is computed using the following relation: δd.sub.0=v.sub.a0.Math.DT0, where: [0138] DT0 is equal to the elapsed time between the instants tu.sub.j and t.sub.m; [0139] v.sub.a0 is an apparent movement velocity of the vehicle 2 towards the transceiver 22.

[0140] The velocity v.sub.a0 is defined as the velocity v.sub.a1, i.e., its amplitude is equal to the norm of the orthogonal projection of a velocity V.sub.j0 of the vehicle 2 onto the axis that passes through the geometric centre of the antennae of the transceivers 20, 22. The velocity V.sub.j0 is a velocity representing the velocity of the vehicle 2 during the interval [tu.sub.j; t.sub.m]. The velocity v.sub.a0 is a number that is positive when the vehicle 2 approaches the transceiver 22 and is negative when it moves away from this transceiver 22. In this case, in order to simplify the computations, the velocity v.sub.a0 is considered to be equal to the velocity v.sub.a1.

[0141] In this case, the duration DT0 is a constant pre-stored in the memory 54 or computed from the instants tu.sub.j and t.sub.m. Indeed, in this case, the clocks triggering the instants t.sub.k and tu.sub.j are synchronised. For example, to this end, the system 30 uses the same clock to generate the instants t.sub.k and tu.sub.j.

[0142] It is this distance dc.sub.j that is acquired by the sub-module 62 at the instant to.sub.j.

[0143] Then, only if the instant t.sub.k is also an instant tg.sub.i at which a measurement of the unit 40 is acquired, after step 136, the computer 50 executes a step 170 of updating the correction coefficients as a function of the new measurement of the unit 40. During this step 170, the correction coefficients are updated without using the transmission and reception instants obtained by the transceiver 20.

[0144] Only if the instant t.sub.k is an instant to.sub.j at which a corrected distance dc.sub.j is acquired, after step 136, the computer 50 executes a step 180 of updating the correction coefficients as a function of the new corrected distance dc.sub.j. During this step 180, the correction coefficients are updated without using the measurement of the unit 40.

[0145] If the instant t.sub.k corresponds neither to an instant tg.sub.i nor to an instant to.sub.j, then the position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k) estimated by the sub-module 60 and not corrected by the sub-module 62 are delivered to the output 37. Thus, at the instants t.sub.k between the instants t.sub.m, the position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k) are delivered to the output 37. Furthermore, the method returns to step 136 without executing either step 170 or step 180. In this case, the previous position, the previous orientation and the previous velocity used during the next iteration of step 136 are equal to the position P.sub.e(k), the orientation O.sub.e(k) and the velocity V.sub.e(k), respectively.

[0146] During step 180, the sub-module 62 begins by acquiring, during an operation 201, the new corrected distance dc.sub.j.

[0147] Then, during an operation 202, the block 68 is executed by the computer 50 in order to obtain the predicted state vector X.sub.m|m-1 from the previous estimate X.sub.m-1|m-1 of this state vector. The previous estimate X.sub.m-1|m-1 is the one obtained at the previous instant t.sub.m-1. The previous instant t.sub.m-1 corresponds either to an instant tg.sub.i or to the instant to.sub.j−1. Therefore, the previous estimate X.sub.m-1|m-1 is the one that was constructed either during the previous execution of step 170 or during the previous execution of step 180.

[0148] The prediction X.sub.m|m-1 of the state vector is constructed by implementing relation (1). In this particular case whereby the filter 64 is an error-state Kalman filter, the prediction X.sub.m|m-1 is systematically zero.

[0149] During operation 202, the block 68 also constructs the prediction P.sub.m|m-1 of the covariance matrix P.sub.m at the instant t.sub.m by implementing relation (2).

[0150] During an operation 206, the block 70 constructs the estimate {circumflex over (z)}.sub.m of the distance between the transceivers 20, 22 by implementing the relation (3). In this embodiment, during operation 206, the block 70 also computes the observation matrix H.sub.m. The matrix H.sub.m is, for example, computed by deriving the relation (3) relative to each of the various parameters of the state vector X.sub.m|m.

[0151] During the next operation 208, the block 70 updates the correction coefficients. To this end, it corrects the prediction X.sub.m|m-1 as a function of the difference Y.sub.m between the corrected distance dc.sub.j and its estimate z.sub.m. To this end, the block 70 computes the difference Y.sub.m according to relation (4). Then, the gain K.sub.m is computed using relation (5). The corrected state vector X.sub.m|m is then obtained by implementing relation (6).

[0152] During operation 208, the block 70 also obtains the updated covariance matrix P.sub.m|m using relation (7).

[0153] On completion of steps 170 and 180, during a step 210, the sub-module 62 corrects the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m) in order to obtain the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected velocity V.sub.c(m).

[0154] To this end, the adder 66 adds the correction coefficients contained in the vector X.sub.m|m to the corresponding coordinates of the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m), constructed during the last execution of operation 136, in order to obtain the position P.sub.c(m), the orientation O.sub.c(m) and the velocity V.sub.c(m). Thus, the position P.sub.c(m), the orientation O.sub.c(m) and the velocity V.sub.c(m) are delivered to the output 37 only at the instants t.sub.m and not the position P.sub.e(m), the orientation O.sub.e(m) and the velocity V.sub.e(m). Furthermore, during step 210, the position P(k), the orientation O(k) and the velocity V(k) are transmitted to the sub-module 60 and are used by the sub-module 60 as the previous position, the previous orientation and the previous velocity of the vehicle 2 during the next iteration of step 136.

[0155] After step 210, the method returns to step 136.

Chapter II: Variants

Variants of Determining Distance:

[0156] Other methods for measuring the rough distance db.sub.j from the transmission and reception instants of frames of information between the transceivers 20 and 22 can be implemented. For example, as a variant, the method for measuring the round-trip distance is replaced by a method for measuring distance with two outbound and one return trip, known as “three-way ranging”. In this “three-way ranging” method, each exchange of frames of information between the transceivers 20 and 22 comprises, in addition to the transmission of the first and second frames of information, the transceiver 20 transmitting, in response to the reception of the second frame of information, a third frame of information at an instant M.sub.5,j and the transceiver 22 receiving this third frame of information at an instant M.sub.6,j. In this case, the rough distance db.sub.j is computed using the following relation:

[00003] db j = c . 1 2 + ε AB ( ( M 3 , j - M 2 , j ) + ( 1 + ε AB ) ( M 4 , j - M 1 , j ) )

where ε.sup.AB is defined by the following relation:

[00004] ε AB = ( M 6 , j - M 2 , j ) Δ T - 1

where ΔT is equal to M.sub.5,j−M.sub.1,j.

[0157] As a variant, computing the rough distance db.sub.j takes into account the drift of the clock located in the transceiver 20 relative to the clock located in the transceiver 22. These clocks are used to measure the transmission and reception instants of the frames of information. To this end, for example, the rough distance db.sub.j is computed using the following relation:

[00005] db j = c . ( M 4 , j - M 1 , j ) - ( M 3 , j - M 2 , j ) ( 1 + ε drift , j ) 2

where ε.sub.drift,j is defined by the following relation:

[00006] ε drift , j = Δ T remote , j - Δ T local , j Δ T remote , j

where ΔT.sub.remote,j=M.sub.2,j−M.sub.2,j−1 and ΔT.sub.local,j=M.sub.1,j−M.sub.1,j−1.

[0158] The measurements of the instants M.sub.2,j and M.sub.3,j can be transmitted to the transceiver 20 by means other than the second frame of information transmitted during the period T.sub.20,j+1. For example, these instants M.sub.2,j and M.sub.3,j are transmitted to the transceiver 20 by means of an additional frame of information, the transmission and reception instants of which are not used for computing the distance db.sub.j. For example, this additional frame of information is transmitted at an instant M.sub.5,j and is received by the transceiver 20 at an instant M.sub.6,j. The instants M.sub.5,j and M.sub.6,j are then typically included between the instants M.sub.4,j and tu.sub.j+1. In this case, the instant to.sub.j is closer to the instant tu.sub.j than in the previous embodiments. For example, the instant to.sub.j is then located towards the end of the period T.sub.20,j. However, even in this case, a measurement delay exists that is worthwhile correcting. In another embodiment, this additional frame is transmitted by means of an information transmission link established using transceivers independent of the transceivers 20 and 22.

[0159] As a variant, the transceivers 20 and 22 are capable of carrying out a rough measurement and a precise measurement of the reception instants. In this case, this possibility can be taken advantage of, for example, in accordance with the following scheme. UWB technology uses an indicator known using the acronym FPI (“First Path Index”). This indicator is constructed by the transceivers 20, 22. This indicator normally must be between high L.sub.H and low L.sub.B limits. When this indicator is between the high L.sub.H and low L.sub.B limits, the precise measurement is used. Conversely, if this indicator is not between the high L.sub.H and low L.sub.B limits, the rough value is used.

[0160] The roles of the transceivers 20 and 22 can be reversed. In this case, it is the transceiver 22 that transmits the first frame of information at the instant M.sub.1,j and, in response to receiving this first frame of information, the transceiver 20 transmits the second frame of information at the instant M.sub.3,j. In this embodiment, the instants M.sub.2,j and M.sub.3,j are measured by the transceiver 20 and the instants M.sub.1,j and M.sub.4,j are measured by the transceiver 22. The transceiver 22 transmits the measured instants M.sub.1,j and M.sub.4,j to the transceiver 20, for example, in the first frame of information transmitted at the instant M.sub.1,j+1.

[0161] As a variant, the coordinates B.sub.x, B.sub.y and B.sub.z of the position of the fixed transceiver 22 are contained in a frame of information, for example, the second frame of information, transmitted from the transceiver 22 to the transceiver 20. In this case, these coordinates do not need to be previously stored in the memory 54.

[0162] Other methods for computing the apparent velocity v.sub.a0 are possible. For example, as a variant, the velocity V.sub.j0 used to compute the velocity v.sub.a0 is equal to the average of the velocities V.sub.e(k) measured by the sub-module 61 during the entire period T.sub.20,j. To this end, for example, during step 160, the sub-module 61 records each of the velocities V.sub.e(k) throughout the period T.sub.20,j, then computes an average velocity from these velocities V.sub.e(k). The stored velocity Vj0 is equal to this average velocity. Similarly, the position Pj can be taken as an average of the positions P.sub.e(k) recorded during the period T.sub.20,j. In another embodiment, the velocity V.sub.j0 is considered to be equal to the velocity V.sub.e(k) recorded at the instant t.sub.k closest to the middle of the period T.sub.20,j.

[0163] The variants of the previous paragraph can be adapted to the computation of the velocity v.sub.a1. In this case, the average velocity is preferably computed by taking into account only the velocities V.sub.e(k) recorded during the interval [tu.sub.j, M.sub.4,j]. Similarly, the average position taken into account for computing the velocity v.sub.a1 is an average position over the interval [tu.sub.j, M.sub.4,j]. This example also shows that the apparent velocities v.sub.a0 and v.sub.a1 do not need to be identical.

[0164] In a simplified embodiment, the operation 168 of correcting the movement of the vehicle 2 during the durations DT1 and DT2 is omitted. This is particularly the case when the durations DT1 and DT2 are very small.

[0165] In another embodiment, the corrective term δd.sub.1 is subtracted from the distance db.sub.j and is not added. In this case, the distance dp.sub.j that is obtained corresponds to the distance between the transceivers 20, 22 at the instant M.sub.4,j and not at the instant tu.sub.j. Therefore, during operation 170, the duration DT0 is considered to be equal to the duration of the interval [M.sub.4,j; t.sub.m]. This variant is functionally identical to the description provided in Chapter I, since the sum δd.sub.1+δd.sub.0 of the corrective terms computed according to this variant is equal to the sum of the corrective terms computed according to the method described in Chapter I.

Variants of the Kalman Filter:

[0166] Numerous other embodiments of the filter 64 are possible. For example, the filter 64 can be a linear Kalman filter, an Extended Kalman Filter (EKF), an Unscented Kalman Filter (UKF) or even an adaptive Kalman filter.

[0167] Numerous variants of the relations implemented in the Kalman filter exist. Indeed, these relations depend on the coordinate system in which the position, the orientation and the velocity of the vehicle are expressed. However, other coordinate systems can be used instead of the coordinate system R.sub.T. For example, the ECI (Earth Centred Inertial) coordinate system can be cited. The ECI coordinate system is not fixed relative to the surface of the earth since the earth rotates in this frame. The coordinate system R.sub.T also can be a coordinate system that is fixed relative to the stars. When another coordinate system is used, it is possible, simply by changing the coordinate system, to return to the situation described herein.

[0168] The Kalman filter relations can also contain an additional rotation matrix for taking into account the fact that the measurement axes of the unit 42 are not aligned on the axes of the coordinate system R.sub.b.

[0169] Similarly, numerous variants of the state vector X.sub.m|m are possible. For example, the state vector X.sub.m|m also may not comprise a correction coefficient for the biases of the accelerometer 44 and of the gyroscope 46. The state vector X.sub.m|m can also comprise additional state variables.

[0170] In another embodiment, the corrected distance is added to the state vector of the Kalman filter and the state and observation matrices are modified accordingly. However, such an embodiment then requires executing the Kalman filter at each instant t.sub.k, which is not always desirable.

[0171] The previous teaching for the particular case whereby the correction sub-module 62 uses one or more Kalman filter(s) also applies to correction sub-modules that construct the correction coefficients using estimators other than Kalman filters. In general, the description provided herein applies to any correction sub-module configured to update the correction coefficients using a difference between: [0172] a measurement of a physical quantity constructed from the corrected distance dc.sub.j; and [0173] an estimate of this physical quantity constructed from measurements of the unit 42 or of another sensor separate from the transceiver 20.

[0174] Other embodiments of the sub-module 62 are possible. For example, as a variant, the sub-module 62 is arranged as described in the architecture known as “tight coupling”. This architecture is described in more detail in chapter 4.1.2 of the Godha2006 thesis.

Variants of the Method:

[0175] The position of the vehicle 2 can be determined from measurements of one or more measurement unit(s) other than the inertial measurement unit 42. For example, these measurement units are selected from the group made up of: [0176] the satellite geolocation unit 40; [0177] the inertial measurement unit 42; [0178] an odometer; [0179] a magnetometer associated with a map of the magnetic fields of the earth.

[0180] For example, in one embodiment, the unit 42 is replaced by the satellite geolocation unit 40. The position P.sub.e(k) and the velocity V.sub.e(k) are then the measurements of the position and of the velocity of the vehicle 2 delivered by this unit 40 at the instants tg.sub.i. In such an embodiment, the correction sub-module 62 corrects the position P.sub.e(k) and the velocity V.sub.e(k) solely from the distance dc.sub.j delivered by the sub-module 61. The duration DT0 is then considered to be equal to the duration of the interval between the instant tu.sub.j and the last instant tg.sub.i at which the unit 40 delivered an estimate of the position and of the velocity of the vehicle. In another embodiment, a combination of several sensors delivers, at each instant t.sub.k, the position P.sub.e(k) and the velocity V.sub.e(k). For example, this combination of sensors comprises an odometer that allows the velocity of the vehicle 2 to be estimated and a triaxial magnetometer that allows the orientation of the vehicle 2 to be estimated. It is also possible to deliver a position P.sub.e(k) and a velocity P.sub.e(k) from these two sensors. Other combinations of sensors are possible. Thus, the description that has been provided also can be implemented in a location system in which the units 40 and 42 are replaced by one or more other sensor(s) from which the position and the velocity of the vehicle 2 can be determined.

[0181] As a variant, the system 30 is equipped with additional sensors, such as, for example, a magnetometer, a barometer, an altimeter or an odometer. In this case, the correction sub-module 62 is modified in order to take into account the measurements of these additional sensors for correcting the rough estimates delivered by the integration sub-module 60.

[0182] In another embodiment, the satellite geolocation unit 40 is omitted. In this case, for example, the correction coefficients are only updated from the corrected distances dc.sub.j.

[0183] If the movement of the vehicle 2 is limited, then certain measurements along certain measurement axes may be omitted. For example, if the vehicle 2 is limited to moving in a horizontal plane, the measurements along the Z.sub.T axis can be omitted.

Variants of the Locating System:

[0184] As a variant, the transceivers 20, 22 are not UWB transceivers. For example, the transceivers 20, 22 are replaced by radio transceivers that use a much narrower frequency spectrum for exchanging frames of information.

[0185] As a variant, the system for locating the vehicle 2 comprises a single fixed transceiver or, alternatively, several fixed transceivers. In the case whereby the system comprises several fixed transceivers, these are preferably distributed at regular intervals along the path or along a portion of this path. In this latter case, if the mobile transceiver 20 can simultaneously communicate with several fixed transceivers, then, instead of providing a single corrected distance at an instant to.sub.1, the sub-module 61 simultaneously provides several corrected distances, with each of these distances corresponding to a distance between the transceiver 20 and a respective fixed transceiver. Subsequently, the sub-module 62 corrects the estimate of the position by taking into account these different distances and the known positions of the various fixed transceivers. In this case, advantageously, the first frame of information transmitted by the transceiver 20 is common to all the fixed transceivers.

[0186] As a variant, the electronic computer 50 is not housed inside the vehicle 2 but elsewhere. For example, the electronic computer 50 is housed inside a fixed terminal that already contains the transceiver 22.

[0187] Temporal synchronisation between the instants tu.sub.j and t.sub.k can be obtained by other means. For example, as a variant, a common trigger signal is sent to the transceiver 20 and to the unit 42 in order to trigger the completion of the measurements at the same time.

Other Variants:

[0188] The vehicle 2 is not necessarily a motor vehicle. The description that has been provided applies to any vehicle capable of moving along a path equipped with fixed transceivers. For example, the vehicle 2 also can be a railway vehicle or a boat.

[0189] As a variant, the vehicle 2 does not comprise propulsion means 34 on board the vehicle 2. This is the case, for example, when the vehicle 2 is a cable-car towed by a cable.

[0190] Similarly, the cockpit 38 can be remote and located outside the vehicle 2. This is the case when the vehicle 2 is a remotely controlled vehicle or a cable-car.

[0191] In a simplified embodiment, the system 30 does not deliver the position or the velocity or the orientation of the vehicle 2 to the output 37. For example, in a highly simplified embodiment, only the distance dc.sub.j that separates the vehicle 2 from the transceiver 22 is delivered to the output 37. However, even in such a simplified embodiment, the position and the velocity of the vehicle 2 are determined in order to make the various corrections described above.

Chapter III: Advantages of the Described Embodiments

[0192] Adding the corrective term δd.sub.0 to the rough distance db.sub.1 allows a corrected distance dc.sub.j to be obtained that takes into account the fact that the vehicle 2 has moved between the instants tu.sub.j and t.sub.m. Thus, the distance dc.sub.j reduces the amplitude of the measurement delay. The computed innovation Y.sub.m is then more accurate, which allows more precise location of the vehicle to be obtained.

[0193] Adding the corrective term δd.sub.1 to the rough distance db.sub.j allows a corrected distance dc.sub.j to be obtained that also compensates for the fact that the vehicle 2 has moved between the instants tu.sub.j and M.sub.4,j. This allows more precise location of the vehicle to be obtained.

[0194] The use of UWB transceivers allows more precise location of the vehicle 2 to be obtained.