METHOD FOR DETERMINING A CORRECTED DISTANCE
20230152414 · 2023-05-18
Assignee
Inventors
Cpc classification
G01S5/0294
PHYSICS
G01S5/0269
PHYSICS
G01S13/765
PHYSICS
International classification
Abstract
A method determines a corrected distance between a mobile transceiver fastened to a vehicle and a fixed transceiver. The method includes: identification, among a set of predetermined path segments, of the segment on which the vehicle is currently found on the basis of the last position determined for this vehicle, then selection of a correction function specifically associated with the identified segment using a table that associates, with each path segment, a respective correction function, then execution of the identified correction function to obtain a current correction coefficient for correcting a raw distance computed from transmission and reception times of the radio signals exchanged between the fixed and mobile transceivers, then correction of the last raw distance computed using the current correction coefficient to obtain the corrected distance.
Claims
1. A method for determining a corrected distance between a mobile transceiver fastened to a vehicle and a fixed transceiver, said method comprising the following steps when the vehicle is moving along a path segment belonging to a countable set of a plurality of predetermined path segments: a) acquisition, by an electronic computer, of transmission and reception times of radio signals exchanged between the fixed and mobile transceivers, b) computation, by the electronic computer, of a raw distance between the fixed and mobile transceivers solely from the acquired transmission and reception times of the exchanged radio signals, then c) determination, by the electronic computer, of the position of the vehicle, wherein the method comprises: identification, among the set of predetermined path segments, of the predetermined segment on which the vehicle is currently found on the basis of the last position determined for said vehicle, then selection of a correction function specifically associated with the identified segment using a table that associates, with each path segment, a respective correction function, each of these correction functions being able, when it is executed, to deliver a correction coefficient for correcting the raw distance, then execution of the identified correction function to obtain a current correction coefficient, then correction of the last raw distance computed using the current correction coefficient to obtain the corrected distance.
2. The method according to claim 1, wherein: each correction function: is parametrized by a first physical quantity so that the delivered correction coefficient varies as a function of the value of said first physical quantity even when the vehicle remains inside the same predetermined segment, said first physical quantity being chosen from the group made up: of the distance between the fixed and mobile transceivers, and of a physical quantity representative of the power of the received radio signals, and is different from at least one of the other correction functions in that, for a given value of the first physical quantity, it delivers a different correction coefficient, the method comprises obtaining the current value of the first physical quantity, and the execution of the identified correction function comprises execution of the identified correction function parametrized with the obtained current value of the first physical quantity to obtain the current correction coefficient.
3. The method according to claim 2, wherein the first physical quantity is the distance between the fixed and mobile transceivers.
4. The method according to claim 2, wherein the method comprises a calibrating phase in which, for each predetermined path segment and for various positions of the vehicle on said predetermined path segment: a raw distance between the fixed and mobile transceivers is computed solely from the acquired transmission and reception times of the exchanged radio signals, and for the same vehicle position, an accurate distance is measured using another sensor that allows a distance measurement that is more accurate than the raw distance to be obtained without using the acquired transmission and reception times of the exchanged radio signals, then determination of a correction function that approximates the variation in the error between the computed raw distance and the measured accurate distance depending on the value of the first physical quantity, and association of said correction function with said predetermined path segment.
5. The method according to claim 1, wherein the correction function associated with a predetermined segment is entirely defined by the values of N constants, where N is lower than or equal to four.
6. The method according to claim 5, wherein each correction function is defined by the following relationship:
7. The method according to claim 1, wherein the radio signals are ultra-wideband signals.
8. A method for locating a vehicle moving along a path segment belonging to a countable set of a plurality of predetermined path segments, said method comprising the following steps: determination, by an electronic computer, of a corrected distance between a mobile transceiver fastened to the vehicle and a fixed transceiver located along predetermined path segments, acquisition, by an electronic computer, of a measurement of a second physical quantity that varies as a function of the position of the vehicle, said measurement being taken by a sensor independent of the fixed and mobile transceivers, then determination, by an electronic computer, of the position of the vehicle from the acquired measurement of the second physical quantity and from the determined corrected distance, wherein, during the determination of the corrected distance between the fixed and mobile transceivers, said corrected distance is determined by implementing a method for determining said corrected distance according to claim 1.
9. The method according to claim 8, wherein the acquisition of a measurement of the second physical quantity comprises acquisition of a measurement chosen from the group made up: of a measurement of the acceleration of the vehicle, taken by an inertial navigation system, and of a measurement of the position or speed of the vehicle, taken by a satellite geolocation unit.
10. The method according to claim 9, wherein: the acquisition of a measurement of the second physical quantity comprises: acquisition of a measurement of the acceleration of the vehicle, taken by an inertial navigation system, and acquisition of a measurement of the angular velocity of the vehicle, taken by the inertial navigation system, and the method in addition comprises determination, by the electronic computer, of the orientation of the vehicle from the acquired measurements of the acceleration and angular velocity of the vehicle and of the determined corrected distance.
11. A system for determining a corrected distance between a mobile transceiver fastened to a vehicle and a fixed transceiver, said system comprising an electronic computer configured to execute the following steps when the vehicle is moving along a path segment belonging to a countable set of a plurality of predetermined path segments: acquisition, by the electronic computer, of transmission and reception times of radio signals exchanged between the fixed and mobile transceivers, computation, by the electronic computer, of a raw distance between the fixed and mobile transceivers solely from the acquired transmission and reception times of the exchanged radio signals, then determination, by the electronic computer, of the position of the vehicle, wherein the electronic computer is also configured to execute the following operations: identification, among the set of predetermined path segments, of the predetermined segment on which the vehicle is currently found from the last position determined for said vehicle, then selection of a correction function specifically associated with the identified segment using a table that associates, with each segment of the path, a respective correction function, each of these correction functions being able, when it is executed, to deliver a correction coefficient for correcting the raw distance, then execution of the identified correction function to obtain a current correction coefficient, then correction of the last raw distance computed using the current correction coefficient to obtain the corrected distance.
Description
[0021] The invention will be better understood on reading the following description, which is given solely by way of non-limiting example, with reference to the drawings, in which:
[0022]
[0023]
[0024]
[0025]
[0026] In these figures, the same references have been used to designate elements that are the same.
[0027] In the remainder of this description, features and functions well known to those skilled in the art are not described in detail. In particular, with respect to the general knowledge of those skilled in the art of devices for locating a vehicle using an inertial navigation system, the reader is referred, 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. Below, this thesis is designated by the expression “Godha2006”.
[0028] In this description, a detailed example of embodiment is first described in Section I with reference to the figures. Next, in the following section, Section II, variants of this embodiment are presented. Lastly, the advantages of the various embodiments are presented in Section III.
Section I: Example of Embodiment
[0029]
[0030] For example, in this example of embodiment, the vehicle 2 is a gondola lift suspended from a cable 4. In
[0031] The path of the vehicle 2 here comprises an upward stretch 12 from the station 6 to the station 8, and a downward stretch 14 from the station 8 to the station 6. Here, these upward and downward stretches 12, 14 do not coincide.
[0032] With a view to accurately locating the vehicle 2 along its path, the vehicle 2 comprises a radio transceiver 20 located on-board this vehicle. One or more fixed transceivers are also provided, these being located along the path of the vehicle 2. For example, the fixed transceivers are placed at regular intervals along the upward stretch 12. In
[0033] The description given below in the particular case of this transceiver 22 applies identically to all the other fixed transceivers placed along the path of the vehicle 2.
[0034] The transceiver 22 is immobile and its position in a terrestrial frame of reference R.sub.T is known in advance and does not change. Here, the terrestrial frame of reference R.sub.T is fixed without any degree of freedom to the Earth. The frame of reference R.sub.T comprises three axes, which are typically orthogonal to one another. For example, here, the frame of reference R.sub.T is the ECEF frame of reference (ECEF standing for “Earth Centred, Earth fixed”).
[0035] In
[0036] Segment S3 extends from a start point D to an end point E. Segment S4 extends from the point E to an end point F. In this embodiment, the end and start point of segments S1 and S2 are coincident. Likewise, the end and start point of segments S3 and S4 are coincident.
[0037] Here, the points B and E are the points, of the upward and downward stretches 12, 14 respectively, closest to the transceiver 22.
[0038] Whatever the position of the vehicle on any one of the segments S1 to S4, the fixed and mobile transceivers are capable of exchanging data frames allowing the distance that separates them to be measured. As a result, below, segments S1 to S4 are said to be “associated” with the fixed transceiver 22.
[0039] Typically, the movement of the vehicle 2 is controlled from a control post 38. Here, this post 38 is located in the start station 6.
[0040]
[0041] The system 30 is able to determine the position, orientation and speed of the vehicle 2 in the terrestrial frame of reference R.sub.T. To this end, a mobile frame of reference R.sub.b that is fixed with no degree of freedom to the body of the vehicle 2 is defined. This frame of reference R.sub.b comprises three axes that are orthogonal to one another, denoted x.sub.b, y.sub.b and z.sub.b, respectively. Conventionally, when the vehicle 2 moves horizontally, the axes x.sub.b and y.sub.b are in a horizontal plane and the axis z.sub.b is vertical. Here the axis x.sub.b is oriented and points in the direction in which the vehicle moves when it moves forward.
[0042] Here, the position of the vehicle 2 in the frame of reference R.sub.T is expressed by coordinates of the origin of the frame of reference R.sub.b in the frame of reference R.sub.T.
[0043] The orientation of the vehicle 2 is expressed by the yaw angle ψ, the pitch angle θ and the roll angle φ of the frame of reference R.sub.b with respect to a frame of reference referred to as the “navigation” frame of reference. In practice, most often, the orientation of the vehicle takes the form of an orientation matrix from which it is possible to deduce the yaw angle, the pitch angle and the roll angle of the vehicle. The orientation of the vehicle may also take the form of a vector directly comprising the yaw angle, the pitch angle and the roll angle of the vehicle. Below, these two particular cases will be considered to be equivalent and hence the orientation of the vehicle will be considered to comprise the yaw angle, the pitch angle and the roll angle of the vehicle if these three angles can be deduced directly from a matrix or a vector.
[0044] The position, orientation and speed determined by the system 30 are delivered to an output 37. Below, the position, orientation and speed delivered to the output 37 by the system 30 for a time t.sub.k are denoted P(k), O(k) and V(k), respectively.
[0045] The output 37 is for example connected to a human-machine interface 34 that is housed in the vehicle 2 and that displays the position, orientation and speed determined by the system 30. The output 37 may also be connected to the control post 38 via a wireless or wired link. In the latter case, the position, orientation and speed determined by the system 30 are automatically converted into commands for controlling the motor used to drive the cable 4.
[0046] The system 30 comprises a satellite geolocation unit 40, an inertial measurement unit 42 and the transceiver 20.
[0047] The unit 40 is a GNSS unit (GNSS being the acronym of Global Navigation Satellite System). From the satellite signals that it receives, the unit 40 generates signals representative of the position and speed of the vehicle in the frame of reference R.sub.T. The unit 40 updates its measurements at a frequency F.sub.40. Conventionally, the frequency F.sub.40 is comprised between 0.1 Hz and 20 Hz.
[0048] The unit 42 is an IMU (acronym of Inertial Measurement Unit). The unit 42 notably comprises a triaxial accelerometer 44 and a triaxial gyrometer 46. By virtue of these sensors, the unit 42 is capable of measuring the variation in the orientation, position and speed of the vehicle 2. Here, the measurement axes of the accelerometer 44 and of the gyrometer 46 are coincident with the axes x.sub.b, y.sub.b and z.sub.b of the frame of reference R.sub.b, respectively. In addition, the accelerometer 44 is arranged so that a positive measurement of the acceleration of the vehicle 2 along the axis x.sub.b means that the vehicle 2 accelerates by moving forward.
[0049] The unit 42 updates the measurements of acceleration and speed at a high frequency F.sub.42. Conventionally, the frequency F.sub.42 is comprised between 20 Hz and 2000 Hz. For example, here, the frequency F.sub.42 is equal to 200 Hz.
[0050] The transceiver 20 exchanges data frames with the transceiver 22 via a wireless radio link 48. These data frames are notably exchanged with a view to measuring, based on the times of flight of these data frames, the distance that separates these transceivers 20, 22. To this end, here, the transceivers 20, 22 are ultra-wideband (UWB) transceivers. The term “ultra-wideband transceiver” or “UWB transceiver” here designates a transceiver that uses a wide frequency band to send and receive the data frames. A “wide” frequency band is a frequency band the width of which is larger than 0.2f.sub.c, where f.sub.c is the central frequency of this frequency band. Typically, a wide frequency band has a width larger than 250 MHz or even larger than 400 MHz.
[0051] Measurement of a distance between the transceivers 20, 22 requires the exchange of a plurality of data frames between these transceivers 20, 22 and measurement of the times of transmission and reception of these data frames. This exchange of data frames is repeated at a frequency F.sub.20, in order to update at this frequency the distance measurement. The frequency F.sub.20 is lower than the frequency F.sub.42. Typically, the frequency F.sub.20 is ten or fifty times lower than the frequency F.sub.42. Conventionally, the frequency F.sub.20 is comprised between 0.1 Hz and 20 Hz. Here, the times of transmission and reception of the data frames are obtained by the transceiver 20 housed in the vehicle 2.
[0052] To determine the position, orientation and speed of the vehicle 2 from the measurements of the units 40 and 42 and from the transmission and reception times obtained by the transceiver 20, the system 30 comprises a programmable electronic computer 50. This computer 50 is able to acquire the measurements of the units 40 and 42 and the transmission and reception times obtained by the transceiver 20. Next, from these measurements, the computer 50 determines the position, orientation and speed of the vehicle 2 in the frame of reference R.sub.T. The computer 50 comprises a microprocessor 52 and a memory 54 comprising the instructions and data required to implement the method described with reference to
[0053] More precisely, the memory 54 comprises the instructions of a software module 56 able to determine the position, orientation and speed of the vehicle 2 from the acquired measurements when it is executed by the microprocessor 52. Here, the module 56 notably implements a fusing algorithm that establishes, from a preceding estimation of the position, orientation and speed of the vehicle 2 and from new measurements acquired since this preceding estimation, a new estimation of the position, orientation and speed of the vehicle 2. Typically, the fusing algorithm also establishes margins of error in each new estimation.
[0054] The general principles of fusing algorithms are well known to those skilled in the art. For example, the interested reader may once again refer to the thesis Godha2006 cited above. Typically, this fusing algorithm implements one or more Kalman filters. Here, the module 56 employs an architecture known as a “closed loop integration scheme” or “closed loop approach”.
[0055] Here, the memory 54 also comprises a table 58 that with each segment Sn associates one respective correction function f.sub.sn(d), where the index Sn is the identifier of one segment among the segments S1 to S4.
[0056]
[0060] 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 may consult chapter 4 of the thesis Godha2006. Thus, below, only details specific to the invention are described in detail.
[0061] The sub-module 60 is also known as the “mechanization”. For each time t.sub.k, the sub-module 60 constructs a raw estimation of a position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) of the vehicle 2. In this text, the symbol “k” is the order number of the time t.sub.k in the time-ordered sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k-1, t.sub.k, . . . } of times t.sub.k. The order number of the time t.sub.k-1 that immediately precedes the time t.sub.k is denoted k−1. The position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) of the vehicle 2 are each a vector containing three coordinates. The coordinates of the position P.sub.e(k) in the frame of reference 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 speed V.sub.e(k) are denoted Vx.sub.e(k), Vy.sub.e(k) and Vz.sub.e(k).
[0062] The frequency of the times t.sub.k is lower than or equal to the frequency F.sub.42. Here, the frequency of the times t.sub.k is equal to the frequency F.sub.42.
[0063] The sub-module 60 constructs the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) from: [0064] the preceding position P(k−1), the preceding orientation O(k−1) and the preceding speed V(k−1), i.e. the position, orientation and speed determined for the vehicle 2 at the time t.sub.k-1 by the system 30 and delivered to the output 37, and [0065] measurements of the accelerometer 44 and of the gyrometer 46 acquired by the sub-module 60 at the time t.sub.k.
[0066] The combination of the sub-module 60 and of the unit 42 forms what is known as an INS (acronym of Inertial Navigation System).
[0067] The sub-module 61 acquires the transmission and reception times obtained by the transceiver 20 and the last position of the vehicle 2 estimated by the sub-module 60. Next, the sub-module 61 delivers, to the sub-module 62, a corrected distance computed from the acquired transmission and reception times and from the last acquired position of the vehicle 2. The operation of this sub-module 61 is described in more detail with reference to
[0068] At certain particular times t.sub.k, the sub-module 62 corrects the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) constructed by the sub-module 60 for this time t.sub.k, in order to obtain a corrected position P.sub.c(k), a corrected orientation O.sub.c(k) and a corrected speed V.sub.c(k) for this time t.sub.k. Below, these particular times t.sub.k are called “times t.sub.m”. The symbol “m” is equal to the order number of a particular time t.sub.k in the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k, . . . }. Each order number m is therefore equal to one respective order number k. Thus, the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m) are equal to the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) constructed for the time t.sub.k equal to the time t.sub.m, respectively. The sequence {0, t.sub.1, t.sub.2, . . . , t.sub.m−1, t.sub.m, . . . } of times t.sub.m is a sub-set of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k, . . . }. Thus, the sub-module 62 does not make the correction for each time t.sub.k, but only for some thereof. At each time t.sub.m, the sub-module 62 combines the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m) with respective correction coefficients to obtain the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected speed V.sub.c(m). At the times t.sub.m, it is the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected speed V.sub.c(m) that are delivered to the output 37, and not the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m). The correction coefficients are updated depending on the measurements of the unit 40 and on the corrected distance determined by the sub-module 61. The correction coefficients are therefore updated at a frequency lower than the frequency F.sub.42.
[0069] The sub-module 62 acquires the measurements of the unit 40 at a frequency lower than or equal to the frequency F.sub.42. Here, the frequency of acquisition of the measurements of unit 40 is equal to the frequency Foo. Below, the acquisition times of a new measurement of the unit 40 are denoted tg.sub.i. These times tg.sub.i form a time-ordered sequence {0, tg.sub.1, tg.sub.2, . . . , tg.sub.i, . . . } of times tg.sub.i. The symbol “i” designates the order number of the time 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 time tg.sub.i. The times tg.sub.i are less frequent than the times t.sub.k.
[0070] The sub-module 62 also acquires the corrected distance, delivered by the sub-module 61, at a frequency lower than or equal to the frequency F.sub.42. Here, the frequency of acquisition of the corrected distance is equal to the frequency F.sub.20. Below, the acquisition times of each new corrected distance are denoted to.sub.j. The corrected distance acquired at the time to.sub.j is further denoted dc.sub.j. The symbol “j” is the order number of the time to.sub.j in the time-ordered sequence {0, to.sub.1, to.sub.2, . . . , to.sub.j-1, to.sub.j, . . . } of times to.sub.j. The sub-module 62 also updates the correction coefficients each time a new corrected distance dc.sub.j is acquired and therefore for each time to.sub.j. Since the frequency F.sub.20 is lower than the frequency F.sub.42, there are systematically a plurality of times t.sub.k between the times to.sub.j-1 and to.sub.j.
[0071] Below, 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 sub-sets of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k-1, t.sub.k, . . . }. Thus, each time tg.sub.i and to.sub.j corresponds to one respective time t.sub.k of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.k-1, t.sub.k, . . . }. In addition, in this embodiment, the times tg.sub.i and to.sub.j are different. In other words, at a time tg.sub.i when the measurement of the unit 40 is acquired, no new corrected distance is acquired and vice-versa. Lastly, in this text, the times t.sub.m are equal to the times at which the sub-module 62 acquires either a measurement of the unit 40 or a new corrected distance.
[0072] To update the correction coefficients depending on the measurements of the unit 40 and on the corrected distance, the sub-module 62 comprises a Kalman filter 64. To combine the correction coefficients with the raw estimations delivered by the sub-module 60, the sub-module 62 also comprises an adder 66.
[0073] Here, the filter 64 is an error-state Kalman filter (ESKF) because it estimates corrections to be made to the position, orientation and speed estimated by the sub-module 60. More precisely, the filter 64 delivers, for each time t.sub.m, a state vector X.sub.m|m. The state vector X.sub.m|m notably contains the correction coefficients to be used to correct the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m). For each time t.sub.m, the adder 66 combines the correction coefficients delivered by the filter 64 with the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m) to obtain the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected speed V.sub.c(m). For each time t.sub.k subsequent to the time t.sub.m and prior to the time t.sub.m+1, no correction is made to the estimations constructed by the sub-module 60.
[0074] For example, here, the state vector X.sub.m|m contains correction coefficients δ.sub.x(m), δ.sub.y(m) and δ.sub.z(m) for the coordinates x.sub.e(m), y.sub.e(m) and z.sub.e(m) of the position P.sub.e(m), respectively. The adder 66 adds these coefficients δ.sub.x(m), δ.sub.y(m) and δ.sub.z(m) to the coordinates x.sub.e(m), y.sub.e(m) and z.sub.e(m) to obtain the coordinates x.sub.c(m), y.sub.c(m) and z.sub.c(m) of the corrected position P.sub.c(m), respectively.
[0075] The state vector X.sub.m|m also contains correction coefficients δ.sub.ψ(m), δ.sub.θ(m) and δ.sub.φ(m) for the coordinates ψ.sub.e(m), θ.sub.e(m) and φ.sub.e(m) of the orientation O.sub.e(m), respectively. The adder 66 adds these coefficients ψ.sub.e(m), θ.sub.e(m) and φ.sub.e(m) to the coordinates ψ.sub.e(m), θ.sub.e(m) and φ.sub.e(m) to obtain the corrected coordinates ψ.sub.c(m), θ.sub.c(m) and φ.sub.c(m) of the orientation O.sub.c(m), respectively.
[0076] Similarly, the state vector X.sub.m|m also contains three correction coefficients δv.sub.x(m), δv.sub.y(m) and δv.sub.z(m) used to correct the coordinates Vx.sub.e(m), Vy.sub.e(m) and Vz.sub.e(m) of the speed V.sub.e(m), respectively.
[0077] Conventionally, the state vector X.sub.m|m also contains correction coefficients for correcting other parameters, such as measurement biases of the accelerometer 44 and of the gyrometer 46, inter alia. In this embodiment, the state vector X.sub.m|m in addition contains: [0078] 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 the directions x.sub.b, y.sub.b and z.sub.b, respectively, [0079] three correction coefficients δbg.sub.x(m), δbg.sub.y(m) and δbg.sub.z(m) for correcting the measurement biases of the gyrometer 46 around axes parallel to the directions x.sub.b, y.sub.b and z.sub.b, respectively.
[0080] In this embodiment, the state vector X.sub.m|m is therefore the following vector of fifteen coordinates: [δ.sub.ψ(m), δ.sub.e(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.2(m)].sup.T, where the symbol “T” symbolizes the transpose operation.
[0081] The filter 64 is a recursive algorithm that, for each time t.sub.m, delivers to the adder 66 a new state vector X.sub.m|m computed from: [0082] the preceding state vector X.sub.m−1|m-1, [0083] the measurement of the unit 40 or the new corrected distance acquired at the time t.sub.m, and [0084] the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m) constructed by the sub-module 60 for the time t.sub.m.
[0085] Conventionally, the filter 64 comprises a predicting block 68 for computing a first state vector X.sub.m|m-1 from the vector X.sub.m|m-1, followed by an updating block 70 that computes 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-1.
[0086] More precisely, the block 68 constructs a prediction X.sub.m|m-1 of the state vector from the preceding state vector X.sub.m|m-1.
[0087] Here, an example of embodiment of the blocks 68 and 70 is described in the particular case where the filter 64 is an extended Kalman filter (EKF).
[0088] The equation used by the block 68 to propagate or predict the state of the filter 64 is defined by the following relationship, relationship (1):
X.sub.m|m-1=A.sub.m−1X.sub.m−1|m-1
where: [0089] X.sub.m|m-1 is the estimation of the state vector at the time t.sub.m−1, said estimation being obtained taking into account all the measurements up to the time t.sub.m−1, [0090] X.sub.m|m-1 is the prediction of the state vector at the time t.sub.m, said prediction being obtained taking into account all the measurements up to the time t.sub.m−1 but not taking into account the measurements acquired at the time t.sub.m, [0091] A.sub.m−1 is the state transition matrix at the time t.sub.m−1.
[0092] In the particular case described here where the filter 64 is an error-state Kalman filter, the vector X.sub.m−1|m-1 is always zero because it is assumed that the error was corrected previously. In other words, relationship (1) simplifies to the following relationship: X.sub.m|m-1=0.
[0093] The equation used by the block 68 to propagate or predict the error covariance matrix is defined by the following relationship, relationship (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: [0094] P.sub.m−1|m-1 is the estimation of the error covariance matrix at the time t.sub.m−1, said estimation being obtained taking into account all the measurements acquired up to the time t.sub.m−1, [0095] P.sub.m|m-1 is the prediction of the covariance matrix P.sub.m at the time t.sub.m, said prediction being obtained solely taking into account the measurements acquired up to the time t.sub.m−1, [0096] Q.sub.m−1 is the covariance matrix of the process noise v.
[0097] The block 70 corrects the prediction X.sub.m|m-1 of the state vector so as to obtain the state vector X.sub.m|m. The corrected vector X.sub.m|m is constructed depending on a difference Y.sub.m between: [0098] an estimation {circumflex over (z)}.sub.m of a physical quantity at the time t.sub.m, and [0099] the measurement z.sub.m of the same physical quantity at the time t.sub.m.
[0100] The difference Y.sub.m is known as “innovation”. Here, the measured physical quantities are the position and speed measured by the unit 40 and, alternately, the corrected distance delivered by the sub-module 61. Thus, for each time tg.sub.i, the block 70 corrects the prediction X.sub.m|m-1 solely on the basis of the measurement of the unit 40 acquired at this time tg.sub.i. Reciprocally, for each time to.sub.j, the block 70 corrects the prediction X.sub.m|m-1 solely on the basis of the corrected distance acquired at this time to.sub.j. At the times tg.sub.i, the prediction X.sub.m|m-1 is corrected depending on differences in position and speed, for example as described in Godha2006. Thus, this functionality of the block 70 is not described in more detail. Only correction of the prediction X.sub.m|m-1, at the times to.sub.j depending on the corrected distance, is described below.
[0101] In this example of embodiment, the physical quantity is the corrected distance dc.sub.m. The estimation {circumflex over (z)}.sub.m of the corrected distance dc.sub.m is constructed using the following relationship, relationship (3):
where:
{circumflex over (z)}=√{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)} [0102] m is the order number of a time t.sub.m of the sequence {0, t.sub.1, t.sub.2, . . . , t.sub.m−1, t.sub.m, . . . } when a new corrected distance is acquired, [0103] 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, said coordinates being expressed in the frame of reference R.sub.T, [0104] B.sub.x, B.sub.y, B.sub.z are the coordinates of the position of the transceiver 22 in the frame of reference R.sub.T.
[0105] The coordinates B.sub.x, B.sub.y, B.sub.z are constants and stored beforehand in the memory 54.
[0106] The innovation Y.sub.m is obtained using the following relationship, relationship (4): Y.sub.m=dC.sub.m−{circumflex over (z)}.sub.m.
[0107] Typically, the block 70 corrects the prediction X.sub.m|m-1 by adding thereto the innovation Y.sub.m multiplied by the Kalman gain Km. The gain K.sub.m is computed using the following relationship, relationship (5): K.sub.m=P.sub.m|m-1 H.sub.m.sup.T (H.sub.mP.sub.m|m-1 H.sub.m.sup.T+R.sub.m).sup.−1, where: [0108] the matrix R.sub.m is the covariance matrix of the noise in the corrected distance, and [0109] H.sub.m is an observation matrix.
[0110] The observation matrix H.sub.m is dependent on the partial derivative of relationship (3) with respect to the various parameters of the state vector X.sub.m|m. The matrix R.sub.m is for example constant and initialized using data on the covariance of the noise in the measurements of the transmission and reception times obtained by the transceiver 20.
[0111] Next, the state vector X.sub.m|m is obtained using the following relationship, relationship (6): X.sub.m|m=+K.sub.mY.sub.m.
[0112] The updated error covariance matrix at the time t.sub.m is computed using the following relationship, relationship (7): P.sub.m|m=(I−K.sub.mH.sub.m)P.sub.m|m-1, where I is the identity matrix.
[0113] The matrix P.sub.m|m contains the margins of error in the estimations of the correction coefficients.
[0114] In this particular embodiment, the adder 66 is a simple adder that adds, to the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k), the corresponding correction coefficients contained in the state vector X.sub.m|m. Next, the adder 66 delivers, to the output 37, the corrected position P.sub.c(k), orientation O.sub.c(k) and speed V.sub.c(k) thus obtained.
[0115] The operation of the system 30 will now be described with reference to the method of
[0116] The method starts with a calibrating phase 100. In this phase 100 the correction functions f.sub.Sn associated with each of the segments S1 to S4 are determined.
[0117] To do this, in a step 102, the vehicle 2 is made to travel the entirety of the segment S1, starting from point A and ending at point B.
[0118] In parallel to step 102, in a step 104, the transceivers 20 and 22 exchange data frames in order to allow a raw distance between these transceivers 20, 22 to be measured from the transmission and reception times of these data frames. Each exchange of data frames allows a sufficient number of transmission and reception times to be acquired to compute a raw distance between these transceivers 20 and 22. For example, here, these exchanges are triggered periodically at the frequency F.sub.20. Each exchange therefore occurs over the course of one respective period T.sub.20,j.
[0119] In this example of embodiment, the two-way ranging method is employed. In this method, each exchange comprises: [0120] transmission by the transceiver 20 of a first data frame, then [0121] in response to reception of this first data frame by the transceiver 22, transmission by the transceiver 22 of a second data frame.
[0122] The first data frame is transmitted at a time M.sub.1,j and received by the transceiver 22 at a time M.sub.2,j. The second data frame is transmitted at a time M.sub.3,j and received by the transceiver 20 at a time M.sub.4,j.
[0123] The times M.sub.1,j and M.sub.4,j are measured by the transceiver 20. The times M.sub.2,j and M.sub.3,j are measured by the transceiver 22. Since the time M.sub.3,j is measured by the transceiver 22, it cannot be transmitted to the transceiver 20 in the second data frame transmitted at this time. Here, the times M.sub.2,j and M.sub.3,j measured by the transceiver 22 are transmitted to the transceiver 20 in the second data frame sent in the course of the following period T.sub.20,j+1. Because of this delay, the time to.sub.j at which the sub-module 62 acquires the distance dc.sub.j is well after the end of the period T.sub.20,j.
[0124] When the transceiver 20 has measured the times M.sub.1,j and M.sub.4,j and received the measurements M.sub.2,j and M.sub.3,j, in a step 106, the transceiver 20 transmits these measurements to the sub-module 61.
[0125] In response, in a step 108, the sub-module 61 computes a raw distance db.sub.j only from the transmission and reception times measured during the period T.sub.20,j. Here, the distance db.sub.j is computed using the following relationship, relationship (8):
where the symbol “c” designates the speed of light. Below, unless otherwise indicated, the symbol “.” in a mathematical relationship designates the arithmetical operation of multiplication.
[0126] In parallel to steps 104 to 108, in a step 110, and in each period T.sub.20,j, a precise distance dp.sub.j is measured without using the transmission and reception times of the data frames. To do this, measurements are taken by another sensor independent of the transceivers 20 and 22. Typically, this other sensor is used only during the calibrating phase 100. This sensor must have a better accuracy, and typically an accuracy two or ten times better, than the accuracy of the measurement of the raw distance db.sub.j. For example, this other sensor is an optical range-finder temporarily installed along the segments S1 to S4.
[0127] In a step 112, once the distances db.sub.j and dp.sub.j have been obtained for a multitude of different positions of the vehicle 2 along the segment S1, a correction function f.sub.s1 that returns the correction coefficient allowing the distance db.sub.j to be corrected is determined. To do this, for each pair of distances db.sub.j and dp.sub.j, an error ed.sub.j between these distances db.sub.j and dp.sub.j is computed. The function f.sub.s1 is parametrized by the value of a physical quantity chosen from the group consisting: [0128] of the distance d between the transceivers 20 and 22, and [0129] of a physical quantity representative of the power of the received radio signals.
[0130] In this example of embodiment, the function f.sub.s1 is parametrized by the distance d and therefore denoted f.sub.s1 (d).
[0131] Here, the function f.sub.s1 (d) is defined by the following relationship, relationship (9):
where a.sub.s1, b.sub.s1 and d.sub.0,s1 are constants. This function f.sub.s1 (d) is entirely defined once the values of the constants a.sub.s1, b.sub.s1 and d.sub.0,s1 are known. Here, to determine the function f.sub.s1 (d), the values of the constants a.sub.s1, b.sub.s1 and d.sub.0,s1 that minimize the following difference for all the measured distances dp.sub.j are computed: |f.sub.s1(dp.sub.j)−ed.sub.j|. For example, to do this, a numerical solver is used.
[0132] Once the function f.sub.s1 (d) has been determined, it is associated with the segment S1 in the table 58. For example, to do this, the values of the constants a.sub.s1, b.sub.s1 and d.sub.0,s1 are associated with the segment S1 by the table 58.
[0133] The preceding steps, which have been described in the particular case of the segment S1, are reiterated for each of the segments and hence, at the end of the phase 100, the table 58 contains one correction function associated with each of the segments S1 to S4. Most often, the correction functions thus determined are all different from one another.
[0134] After the calibrating phase 100, the system 30 is used to determine a corrected distance dc.sub.j between the transceivers 20 and 22 and to locate the vehicle 2.
[0135] Use of the system 30 to locate the vehicle 2 starts with a phase 120 of initializing the system 30. This phase 120 starts immediately after activation of the system 30, i.e. typically just after it has been turned on. In this phase 120, the various variables and parameters required by the execution of the module 56 are initialized. For example, the values of the position, speed and orientation of the vehicle 2 and of the correction coefficients are initialized to initial values. There are many algorithms that allow these initial values to be rapidly obtained.
[0136] Once the initializing phase 120 has ended, a phase 130 of executing the module 56 begins.
[0137] In 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, orientation and speed of the vehicle 2. Thus, for each time t.sub.k, the position, orientation and speed of the vehicle 2 are updated.
[0138] More precisely, step 136 comprises an operation 138 in which the accelerometer 44 and gyrometer 46 measure the acceleration and angular velocity of the vehicle 2, respectively, and these new measurements are acquired by the computer 50 at the time t.sub.k.
[0139] Next, in an operation 140, the sub-module 60 constructs the raw estimations P.sub.e(k), O.sub.e(k) and V.sub.e(k) from: [0140] the preceding position P(k−1), the preceding orientation O(k−1) and the preceding speed V(k−1), and [0141] the measurements of the accelerometer 44 and of the gyrometer 46 acquired at the time t.sub.k.
[0142] In parallel to step 136, a step 150 of determining the distance between the transceivers 20, 22 is executed. This step 150 is reiterated at the frequency F.sub.20 in order to provide, to the sub-module 62, a new corrected distance dc.sub.j at each time to.sub.j.
[0143] Step 150 comprises the following operations in succession: [0144] an operation 152 of exchanging data frames between the transceivers 20, 22, [0145] an operation 154 of transmission of the times M.sub.1,j, M.sub.2,j, M.sub.3,j and M.sub.4,j to the computer 50 and of acquisition of these times by the sub-module 61, [0146] an operation 156 of computation of the raw distance db.sub.j, [0147] an operation 158 of identification among the segments S1 to S4 of the segment on which the vehicle 2 is found, [0148] an operation 160 of selection of the correction function associated with the identified segment, [0149] an operation 162 of execution of the selected correction function, then [0150] an operation 164 of correction of the raw distance db.sub.j to obtain the corrected distance dc.sub.j.
[0151] Operations 152, 154 and 156 are identical to steps 104, 106 and 108, respectively.
[0152] In the operation 158, to identify the segment on which the vehicle 2 is currently found, the sub-module 61 uses the last position of the vehicle 2 estimated by the sub-module 60. In contrast, in this example of embodiment, the coordinates of the segments S1 to S4 are not used. To perform said identification, direction vectors u.sub.v and u.sub.b are associated with the transceivers 20 and 22, respectively. The vector u.sub.v is fixed with respect to the body of the vehicle 2. Thus, this vector u.sub.v changes only if the orientation of the vehicle changes. The vector u.sub.b is fixed with respect to the transceiver 22. Since the transceiver 22 is immobile, the vector u.sub.b does not change. The directions in which the vectors u.sub.v and u.sub.b point may be chosen arbitrarily. Specifically, these vectors u.sub.v and u.sub.b are simply used to express the relative orientation of the transceivers 20, 22.
[0153] In this example of embodiment, to simplify the computations, the vectors u.sub.v and u.sub.b are horizontal. Again to simplify the computations, the vector u.sub.v is chosen to lie parallel to the direction x.sub.b of the frame of reference R.sub.b and to be of opposite sign to the direction x.sub.b. Here, the vector u.sub.b is chosen to lie parallel to and to be of same sign as the vector u.sub.v, when the vehicle is on the segment S1.
[0154] Under these conditions, the coordinates of the vector u.sub.v are given by the following relationship:
u.sub.v=[cos(ψ.sub.v)sin(ψ.sub.v)0].sup.T
where the angle ψ.sub.v is the yaw angle of the vehicle 2, which is obtained from the last orientation O.sub.e(k) estimated by the sub-module 60.
[0155] For its part, the vector u.sub.b is defined by the following relationship:
u.sub.b=[cos(ψ.sub.b)sin(ψ.sub.b)0].sup.T
where the angle ψ.sub.b is the yaw angle of the transceiver 22. The angle ψ.sub.b is a constant because the transceiver 22 is fixed.
[0156] In the operation 158, the sub-module 61 computes the coordinates of a direction vector u.sub.bv that points from the geometric centre of the antenna of the transceiver 22 to the geometric centre of the antenna of the transceiver 20. The coordinates of this vector u.sub.bv are given by the following relationship:
where: [0157] x.sub.e(k), y.sub.e(k) and z.sub.e(k) are the coordinates of the current position P.sub.e(k) of the vehicle 2, and [0158] B.sub.x, B.sub.y, B.sub.z are the coordinates of the position of the transceiver 22.
[0159] Next, the sub-module 61 computes the cosine of an end angle α.sub.v and of a start angle α.sub.b using the following relationships:
and
cos(α.sub.v)=−u.sub.bv.sup.T.Math.u.sub.v
cos(α.sub.b)=u.sub.bv.sup.T.Math.u.sub.b
[0160] Finally, the sub-module 61 identifies the segment on which the vehicle 2 is found from the signs of the cosines of the angles α.sub.v and α.sub.b using a pre-stored table such as the following table:
TABLE-US-00001 Sign of cos Sign of cos Corresponding (α.sub.v) (α.sub.b) segment − + S1 + − S2 − − S3 + + S4
[0161] This table allows the identified segment to be obtained from the signs of the computed cos(α.sub.v) and cos(α.sub.b). The signs in the columns of this table result from arbitrary choices made when defining the direction vectors u.sub.v and u.sub.b. This table must therefore be modified depending on these choices. The only really important thing is to keep the same conventions between the time when this table is constructed and the times when this table is used.
[0162] In the operation 160, the sub-module 61 selects the correction function associated by the table 58 with the segment identified in the operation 158.
[0163] In the operation 162, the sub-module 61 executes the selected correction function. To do this, for example, it computes a distance d between the transceivers 20, 22 on the basis of the last position P.sub.e(k) estimated for the vehicle 2 and of the coordinates of the transceiver 22. Next, it executes the selected correction function parametrized by the value of this distance d. The sub-module 61 thus obtains a correction coefficient Cd.
[0164] Lastly, in the operation 164, the sub-module 61 computes the corrected distance dc.sub.j using the following relationship: dc.sub.j=db.sub.j−Cd. It is this distance dc.sub.j that is acquired by the sub-module 62 at the time to.sub.j.
[0165] Next, only if the time t.sub.k is in addition a time tg.sub.i when a measurement of the unit 40 is acquired, after step 136, the computer 50 executes a step 170 of updating the correction coefficients depending on the new measurement of the unit 40. In this step 170 the correction coefficients are updated without using the transmission and reception times obtained by the transceiver 20.
[0166] Only if the time t.sub.k is a time to.sub.j when a corrected distance dc.sub.j is acquired, after step 136, the computer 50 executes a step 180 of updating the correction coefficients depending on the new corrected distance dc.sub.j. In this step 180 the correction coefficients are updated without using the measurement of the unit 40.
[0167] If the time t.sub.k corresponds neither to a time tg.sub.i nor to a time to.sub.j, then the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) as estimated by the sub-module 60 and not corrected by the sub-module 62 are delivered to the output 37. Thus at times t.sub.k located between the times t.sub.m, it is the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k) that are delivered to the output 37. In addition, the method returns to step 136 without executing either step 170 or step 180. In this case, the preceding position, the preceding orientation and the preceding speed used in the next iteration of step 136 are also the position P.sub.e(k), orientation O.sub.e(k) and speed V.sub.e(k), respectively.
[0168] In step 180, the sub-module 62 begins by acquiring, in an operation 201, the new corrected distance dc.sub.j.
[0169] Next, in an operation 202, the block 68 is executed by the computer 50 to obtain the predicted state vector X.sub.m|m from the preceding estimation X.sub.m−1|m-1 of this state vector. The preceding estimation is the estimation obtained at the preceding time t.sub.m−1. The preceding time t.sub.m−1 corresponds either to a time tg.sub.i or to the time to.sub.j-1. Thus, the preceding estimation is the estimation that was constructed either in the preceding execution of step 170 or in the preceding execution of step 180. The prediction X.sub.m|m-1 of the state vector is constructed by implementing relationship (1). In this particular case where the filter 64 is an error-state Kalman filter, the prediction X.sub.m|m-1 is systematically zero.
[0170] In the operation 202, the block 68 also constructs the prediction P.sub.m|m-1 of the covariance matrix P.sub.m at the time t.sub.m by implementing relationship (2).
[0171] In an operation 206, the block 70 constructs the estimation {circumflex over (z)}.sub.m of the distance between the transceivers 20, 22 by implementing relationship (3). In this embodiment, in the operation 206, the block 70 also computes the observation matrix H.sub.m. The matrix H.sub.m is, for example, computed by taking the derivative of relationship (3) with respect to each of the various parameters of the state vector X.sub.m|m.
[0172] In the following operation, operation 208, the block 70 updates the correction coefficients. To do this, it corrects the prediction X.sub.m|m-1 depending on the innovation Y.sub.m between the corrected distance dc.sub.j and its estimation {circumflex over (z)}.sub.m. To this end, the block 70 computes the innovation Y.sub.m using relationship (4). Next, the gain K.sub.m is computed using relationship (5). The corrected state vector X.sub.m|m is then obtained by implementing relationship (6).
[0173] In the operation 208, the block 70 also obtains the covariance matrix P.sub.m|m updated using relationship (7).
[0174] At the end of steps 170 and 180, in a step 210, the sub-module 62 corrects the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m) to obtain the corrected position P.sub.c(m), the corrected orientation O.sub.c(m) and the corrected speed V.sub.c(m).
[0175] To do this, 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), orientation O.sub.e(m) and speed V.sub.e(m) constructed in the last execution of the operation 136, to obtain the position P.sub.c(m), orientation O.sub.c(m) and speed V.sub.c(m). Thus, only at the times t.sub.m, it is the position P.sub.c(m), orientation O.sub.c(m) and speed V.sub.c(m) that are delivered to the output 37, and not the position P.sub.e(m), orientation O.sub.e(m) and speed V.sub.e(m). In addition, in step 210, the position P(k), orientation O(k) and speed V(k) are transmitted to the sub-module 60 and used by the sub-module 60 as preceding position, preceding orientation and preceding speed of the vehicle 2 in the next iteration of step 136.
[0176] After step 210, the method returns to step 136.
Section II: Variants
[0177] Variants of the Determination of Distance:
[0178] Other methods for measuring the raw distance db.sub.j from the times of transmission and reception of data frames between the transceivers 20 and 22 may be implemented. For example, as a variant, the two-way ranging method is replaced by a three-way ranging method. In this three-way ranging method, each exchange of data frames between the transceivers 20 and 22 comprises, in addition to the transmission of first and second data frames, the transmission by the transceiver 20, in response to reception of the second data frame, of a third data frame at a time M.sub.5,j and reception of this third data frame by the transceiver 22 at a time M.sub.6,j. In this case, the raw distance db.sub.j is computed using the following relationship:
where ε.sup.AB is defined by the following relationship:
where ΔT is equal to M.sub.5,j−M.sub.1,j.
[0179] The measurements of the times M.sub.2,j and M.sub.3,j may be transmitted to the transceiver 20 by other means than the second data frame emitted in the course of the period T.sub.20,j+1. For example, these times M.sub.2,j and M.sub.3,j are transmitted to the transceiver 20 via an additional data frame the transmission and reception times of which are not used to compute the distance db.sub.j. In another embodiment, this additional frame is transmitted via a data-transmission link set up using transceivers independent of the transceivers 20 and 22.
[0180] As a variant, the transceivers 20 and 22 are capable of taking an approximate measurement and a precise measurement of the reception times. In this case, advantage may be taken of this capability, for example in the following way. UWB technology uses an indicator known by the acronym FPI (standing for First Path Index). This indicator is constructed by the transceivers 20, 22. This indicator must normally be comprised between an upper limit L.sub.H and a lower limit L.sub.B. When this indicator is between the limits L.sub.H and L.sub.B, it is precise measurement that is used. In contrast, if this indicator is not comprised between these limits L.sub.H and L.sub.B, it is the approximate measurement that is used.
[0181] As a variant, the computation of the raw distance db.sub.j allows for drift in the clock located in the transceiver 20 with respect to the clock located in the transceiver 22.
[0182] These clocks are used to measure the transmission and reception times of the data frames. To do this, for example, the raw distance db.sub.j is computed using the following relationship:
where ε.sub.drift,j is defined by the following relationship:
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.
[0183] The roles of the transceivers 20 and 22 may be reversed. In this case, it is the transceiver 22 that transmits the first data frame at the time M.sub.1,j and, in response to reception of this first data frame, the transceiver 20 transmits the second data frame at the time M.sub.3,j. In this embodiment, the times M.sub.2,j and M.sub.3,j are measured by the transceiver 20 and the times M.sub.1,j and M.sub.4,j are measured by the transceiver 22. The transceiver 22 transmits the measured times M.sub.1,j and M.sub.4,j to the transceiver 20, for example in the first data frame transmitted at the time M.sub.1,j+1.
[0184] 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 data frame, for example the second data frame transmitted from the transceiver 22 to the transceiver 20. In this case, these coordinates do not need to be stored in the memory 54 beforehand.
[0185] Other embodiments of the correction functions are possible. In particular, forms other than the one given in relationship (9) are possible for each correction function. For example, the correction function may be entirely defined by the values of four constants instead of three. For example, the correction function may be a polynomial of third or second degree, or a quotient of two polynomials of first degree. In particular, it is possible to use correction functions that are entirely defined by less than three constants. For example, in this case, the correction function is a polynomial of first degree or a constant. In the latter case, the correction coefficient is constant and independent of the distance d.
[0186] In the operation 162, the value of the distance d used to execute the selected correction function may be obtained differently. For example, the distance d is set equal to the distance db.sub.j computed in operation 156.
[0187] As a variant, the correction function is parametrized by the value of a physical quantity representative of the power of the radio signal received by the transceivers 20, 22. This physical quantity may be directly the power of the received radio signal or another physical quantity that represents this power. For example, by way of illustration, this physical quantity may also be the signal-to-noise ratio, a gain, a number of pilot symbols used, inter alia. In the case where the correction function is parametrized by a physical quantity representative of the power of the received radio signal, in the calibrating phase 100 this physical quantity is measured for each position where the distance dp.sub.j is measured. Next, these measurements of this physical quantity are used to determine the various constants that define the correction function.
[0188] In another variant, the correction function is parametrized both by the distance d and by the physical quantity representative of the power of the received radio signals.
[0189] Although the commonest case is for all the determined correction functions to be different from one another, the correction functions associated with two or more segments may potentially be identical.
[0190] Other methods for identifying the segment on which the vehicle 2 is found are possible. For example, as a variant, the segment on which the vehicle 2 is found is identified by comparing the current position P.sub.e(k) of the vehicle 2 with the coordinates of the various segments S1 to S4. For example, in the case where the segments S1 to S4 are straight line segments, the sub-module 61 verifies that the position P.sub.e(k) belongs to one of these straight line segments. To do this, for example, the equations defining each of these straight line segments are used. In the latter case, the orientation O.sub.e(k) of the vehicle 2 is not required to identify the segment on which the vehicle 2 is current found. In another variant, the current position P.sub.e(k) allows the curvilinear abscissa of the vehicle 2 with respect to a reference point to be determined. This curvilinear abscissa then allows the segment on which the vehicle 2 is found to be identified by comparing it to the curvilinear abscissae of the start and end points of each segment.
[0191] The number of predetermined segments may be different from four. For example, in one simplified embodiment, it is equal to two. Such a case is obtained if the segments S1 and S2 are replaced by a single segment that extends from point A to point C and if the segments S3 and S4 are replaced by a single segment that extends from point D to point F. In another variant, the number of predetermined segments associated with the transceiver 22 is higher than four.
[0192] Variants of the Kalman Filter:
[0193] Many other embodiments of the filter 64 are possible. For example, the filter 64 may be a linear Kalman filter, an extended Kalman filter (EKF), an unscented Kalman filter (UKF) or even an adaptive Kalman filter.
[0194] There are many variants of the relationships implemented in the Kalman filter. Specifically, these relationships depend on the frame of reference in which the position, orientation and speed of the vehicle are expressed. However, other frames of reference are usable instead of the frame of reference R.sub.T. For example, mention may be made of the ECI frame (ECI standing for Earth Centred Inertial). The ECI frame is not stationary with respect to the Earth's surface since the Earth rotates in this frame of reference. The frame of reference R.sub.T may also be a frame of reference that is fixed with respect to the stars. When another frame of reference is used, it is possible, via a simple change of coordinate system, to return to the situation described here.
[0195] The relationships of the Kalman filter may also contain an additional rotation matrix in order to take into account the fact that the measurement axes of the unit 42 are not aligned with the axes of the frame of reference R.sub.b.
[0196] Likewise, many variants of the state vector X.sub.m|m are possible. For example, the state vector X.sub.m|m may also not contain a correction coefficient for the biases of the accelerometer 44 and of the gyrometer 46. The state vector X.sub.m|m may also contain additional state variables.
[0197] What was taught above in the particular case where the correcting sub-module 62 uses one or more Kalman filters also applies to correcting sub-modules that construct the correction coefficients using estimators other than Kalman filters. Generally, what has been taught here applies to any correcting sub-module configured to update the correction coefficients using an innovation between: [0198] a measurement of a physical quantity constructed using the corrected distance dc.sub.j, and [0199] an estimation of this physical quantity constructed using measurements of the unit 42.
[0200] Other embodiments of the sub-module 62 are possible. For example, as a variant, the sub-module 62 has a tight-coupling architecture. This architecture is described in more detail in chapter 4.1.2 of the thesis Godha2006.
[0201] Variants of the Locating System:
[0202] 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 to exchange the data frames.
[0203] As a variant, the system 30 is equipped with additional sensors, such as for example a magnetometer, a barometer or an odometer. In this case, the correcting sub-module 62 is modified to take into account the measurements of these additional sensors to correct the raw estimations delivered by the integrating sub-module 60.
[0204] In another embodiment, the satellite geolocation unit 40 is omitted. In this case, for example, the correction coefficients are updated solely using the corrected distances dc.sub.j.
[0205] As a variant, the system for locating the vehicle 2 comprises a single fixed transceiver or, in contrast, a plurality of fixed transceivers. In the case where the system comprises a plurality of fixed transceivers, the latter are preferably distributed at regular intervals along the path or along one length of this path. In the latter case, if the mobile transceiver 20 is able to simultaneously communicate with a plurality of fixed transceivers, then, instead of delivering at a time to.sub.j a single corrected distance, the sub-module 61 simultaneously delivers a plurality of corrected distances, each of these distances corresponding to a distance between the transceiver 20 and one respective fixed transceiver. Next, the sub-module 62 corrects the estimation of the position by taking into account these various distances and the known positions of the various fixed transceivers.
[0206] 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 anchor that already contains the transceiver 22.
[0207] Variants of the Method:
[0208] The method described here for determining the corrected distance dc.sub.j may be used in methods other than methods for locating a vehicle. In particular, the corrected distance dc.sub.j may be used for purposes other than the purpose consisting in correcting an estimation of the position of the vehicle. For example, the method for determining the corrected distance dc.sub.j is implemented only in the case where only the distance between the transceivers 20, 22 must be determined. In such a case, the position of the vehicle is determined by any means such as, for example, solely using the satellite geolocation unit 40 or any other sensor capable of determining the position of the vehicle 2 independently of the measurements of the times of transmission and reception of data frames exchanged between the transceivers 20, 22.
[0209] The position, orientation and speed of the vehicle 2 may be determined by methods other than those implementing a fusing algorithm such as described above. In this case, the fusing algorithm is replaced by another algorithm that performs the same function and that allows the position of the vehicle 2 to be determined. Thus, in simplified variants, only the position of the vehicle 2 is estimated.
[0210] The position of the vehicle 2 may be determined from measurements of one or more other measurement units. For example, these measurement units are chosen from the group consisting of: [0211] the satellite geolocation unit 40; [0212] the inertial measurement unit 42, [0213] an odometer, [0214] a magnetometer associated with a map of terrestrial magnetic fields.
[0215] Thus, what has been described may also be implemented in a locating system in which the units 40 and 42 are replaced by one or more other sensors whereby the position of the vehicle 2 may be determined.
[0216] As a variant, it is possible for, at a given time t.sub.m, a new measurement of the unit 40 and a new corrected distance to be acquired. In other words, as a variant, the times tg.sub.i and to.sub.j may be concomitant. In this case, the computer 50 updates the correction coefficients depending both on the new measurements of the unit 40 and on the new corrected distance. For example, to do this, the computer 50 computes a new gain K.sub.m depending on an observation matrix formed by concatenation of the matrix H.sub.m and of the observation matrix used to update the correction coefficients depending on the measurement of the unit 40.
[0217] 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 the Kalman filter to be executed at each time t.sub.k, this not always being desirable.
[0218] Other Variants:
[0219] The vehicle 2 is not necessarily a gondola lift. What has been described applies to any vehicle constrained to move over a countable number of predetermined segments. For example, the system 30 may be applied to the case where the vehicle is a motor vehicle. In this case, each segment corresponds to one traffic lane. If the road comprises more than two traffic lanes then, preferably, more than two predetermined segments are used in order for each segment to correspond to one respective lane. The system 30 may also be applied to a rail vehicle. In the latter case, the lanes are tracks of a railway.
[0220] As a variant, the various predetermined segments associated with the same fixed transceiver are not parallel to one another. Such a situation may arise when the segments correspond to segments of railway tracks or of traffic lanes that cross in proximity to a given fixed transceiver.
[0221] As a variant, when the vehicle 2 is travelling a path segment, it may diverge slightly from the reference path travelled by this vehicle in the calibrating phase 100 without this decreasing the accuracy of the corrected distance dc.sub.j. Here, a difference between the current path of the vehicle 2 and the reference path is considered to be slight if, at any point A of the current path, the difference |θ.sub.v−θ.sub.ref| remains smaller than 10° or 5°, where: [0222] θ.sub.v is the angle between the direction vectors u.sub.v and u.sub.b that were defined above when the vehicle is located at point A of the current path, and [0223] θ.sub.ref is the angle between the direction vectors u.sub.v and u.sub.b when the vehicle is located on the point of the reference path closest to the current point A.
[0224] As a variant, the control post 38 is located inside the vehicle 2. This is notably the case when the vehicle 2 is, for example, a motor vehicle or a rail vehicle.
[0225] In one simplified embodiment, the system 30 does not determine the speed of the vehicle 2. In this case, the module 56 may be simplified.
Section III: Advantages of the Described Embodiments
[0226] The fact of using a plurality of correction functions each associated with one respective segment of the path makes it possible to determine, on each of these segments, a correction function that is both simple and rapid to execute while remaining accurate. In addition, these correction functions are simpler to establish. Specifically, the number of values that each of these correction functions must approximate as accurately as possible is much lower than the total number of values to be approximated along the complete path of the vehicle 2. The fact that the number of values to be approximated is much lower makes it possible to use, at equal accuracy, a correction function that is simpler to implement and more rapid to execute. Thus, by associating with each of the segments one respective correction function, it is possible to simplify the implementation of the method without decreasing accuracy, or indeed even increasing it. In addition, the number of segments remains low since the vehicle is constrained to move along a limited number of segments.
[0227] In the context where the corrected distance dc.sub.j is used to locate a vehicle, simplifying the implementation of the determination of this corrected distance without decreasing the accuracy thereof also makes it possible not to decrease the accuracy of the position determined for the vehicle.
[0228] Parametrizing the correction function with the distanced between the transceivers 20 and 22 or depending on a physical quantity representative of the power of the received radio signals improves the accuracy of the corrected distance dc.sub.j.
[0229] The fact that the correction function is parametrized by the distance d rather than a physical quantity representative of the power of the received radio signals also makes it possible to further increase the accuracy of the distance dc.sub.j.
[0230] The fact that the correction function is entirely defined by at most three constants simplifies the determination of this correction function in the calibrating phase 100. In addition, such a calibration function is then simple to implement, without however decreasing the accuracy of the corrected distance dc.sub.j.