The invention relates to locating a device as it is displaced inside a three-dimensional space.
It is often useful to locate a device that has been displaced within a three-dimensional space. This is particularly useful when the device is GPS inaccessible, as is often the case inside buildings or shopping malls.
Known methods of location rely on measurements provided by an inertial platform housed within the device itself to measure the direction and amplitude of that device's displacement from a previous position. Among these known methods are those that use “particle filters” to estimate the position of the device in the three-dimensional environment. Particle filters exploit the fact that there exist predefined constraints on the displacements of the device inside the three-dimensional environment. A typical constraint might be that a displacement cannot pass through a wall.
Under ideal conditions, known methods make it possible to precisely estimate the position of the device. However, in reality, there may exist a constant or systematic bias in the device's direction of displacement and/or in the amplitude of the device's displacement in that direction. This bias may have very different origins.
In some cases, a systematic bias arises from a bias in the measurements of one or more sensors of the device's inertial platform. In other cases, a systematic bias arises from an error in modeling the relation that links the measurements of the inertial platform to the displacement's direction or amplitude. Yet another source of such systematic bias is incorrect positioning of the device with respect to its direction of displacement.
If not corrected, a systematic bias degrades the precision of an estimate of the device's position. It is therefore desirable to correct it.
A difficulty that arises is that, to correct such a bias, it is necessary to know its value. In most cases, this value is not known in advance. Ideally, one should calibrate the device before using it. This would enable it to determine its systematic bias. This value could then be used to correct forthcoming position estimates.
However, obliging the user to execute a prior calibration phase before launching the location of the device is in most cases impractical. To make matters worse, in some cases, bias evolves over time. Thus, a user would have to recalibrate the device from time-to-time.
The invention is aimed at avoiding this problem. In one aspect, the invention features a method of precisely locating the device even in the presence of a bias in a displacement's amplitude or direction.
One method features associating first particles with a first initial value for a corrective factor and associating second particles with a second initial value for this same corrective factor.
To understand the benefit of this method, it is assumed that the first initial value is close to the actual value of the bias to be corrected. Conversely, it is assumed that the second initial value is further from the actual value of the bias to be corrected. Thus, the values of the corrective factor that are associated with the first particles make it possible to compensate the bias more correctly, and therefore to estimate the displacement of the device more precisely, on the basis of the same measurements.
The method of the invention features a variation of a procedure that begins with first and second steps. The first step is that of providing a map of the three-dimensional space and of predefined constraints on the displacements of the device in this three-dimensional space. The second step is that of using a computer to generate several distinct particles. Each particle is associated with coordinates coding its position on the map. Each particle is also associated with a weight that represents the probability that the device is situated at the site of this particle.
The method then continues with repeated execution of third, fourth, and fifth steps. For convenience, these steps will collectively be referred to as “the loop.”
The third step is that of receiving measurements representative of the direction of displacement of the device and of the amplitude of this displacement from its previous position. These measurements are carried out by sensors onboard the displaced device. These sensors are real physical structures that are not abstract in any way.
The fourth step is that of updating the coordinates of the position of each particle. This updating procedure is carried out as a function of both the measurements received during the third step and also of a predetermined displacement law for displacing this particle from its previous position Pik-1 to a new position Pik in a manner correlated with the measured displacement of the device. Each displacement law comprises at least a first measured variable whose value is dependent on the measurement of the direction of displacement received during the third step and a second measured variable whose value is dependent on the measurement of the amplitude of this displacement received during the third step.
The fifth step includes making a decision as to whether a particle's weight should be increased relative to those of other particles. For each particle, if the latest displacement of that particle from the position Pik-1 to the position Pik satisfies the predefined constraints, the weight associated with that particle is increased with respect to the weights of the particles whose latest displacement fails to comply with these predefined constraints.
After repetition of the loop, a sixth step includes estimating the device's position on the basis of the positions of the particles and of the weights associated with these particles. This estimation is carried out, in part, by allotting more importance to the positions of the particles associated with the highest weights.
In carrying out the foregoing procedure, there exists a tendency for the position of the second particles to diverge further from the device's real position during the course of iterating the loop. Conversely, the position of the first particles remains close to the real position of the device.
Consequently, it is probable that a displacement of a second particle will rapidly violate one or more of the predefined constraints on the displacements in the three-dimensional environment. Hence, as iteration of the loop proceeds, the weight of the second particles rapidly becomes less important than that of the first particles. The determination of the device's position of the device is then carried out on the basis of a certain number of iterations of the loop by giving more importance to the positions of the first particles than to the positions of the second particles.
However, the positions of the first particles are obtained by compensating the bias more correctly. Thus, an estimate of the device's position using the foregoing method rapidly becomes more precise than it would have been had the bias not been corrected.
The foregoing method is a non-abstract method that results in an improvement in a particular technology, namely the technology of device location. The nature of the improvement can be understood from a recitation of some of the advantages thereof.
A particular advantage of the method is that this increased precision comes with no need for prior calibration. In fact, as the loop's iteration proceeds, the corrective factor, which is what makes it possible to more precisely compute a particle's position, is selected automatically. Since this corrective factor is arrived at more or less concurrently with estimating the device's position, the corrective factor is also less likely to be out of date.
Among the advantages of the method described herein is that applying the corrective factor to the measured variable corresponding to the amplitude of the displacement of the device makes it possible to automatically correct a bias in the amplitude of the displacement of this device.
Also among the advantages is that applying the corrective factor to a measured variable corresponding to the direction of the displacement of the device makes it possible to automatically correct a bias in the direction of displacement.
Also among the advantages is that generating new particles and also associating these new particles with initial values for the corrective factor that are close to the corrective factor's current values associated with the particles that have not been eliminated makes it possible to increase the precision of the estimate of the value of the corrective factor and therefore of the position of the device as the iteration of the loop proceeds.
Yet another advantage is that using, in the guise of predefined constraints, the existence of obstacles, which are impassable to the device in the three-dimensional environment, makes it possible to accelerate the convergence of the location method of location toward a precise estimate of the device's position.
Yet another advantage is that dividing the map into several zones and associating, with each of these zones, a list of identifiers of impassable obstacles contained inside that zone makes it possible to retain a simple tiling of the map into several zones while being capable of using impassable obstacles situated entirely inside these zones.
Yet another advantage arises from dividing the map into several zones and associating, with each of these zones, the displacement law that makes it possible to estimate the displacement of the device in that zone with greater precision than would have been possible had another displacement law associated with another zone been used. This makes it possible to increase the precision with which the device's position can be estimated.
Yet another advantage arises from using a favored direction of displacement in a zone of the map to change the weight associated with a particle. This makes it possible to converge more rapidly toward a precise estimate of the position of the device.
In some aspects, the invention further includes a non-transitory information-recording medium that has, encoded thereon, instructions for the execution of the above method of location when these instructions are executed by an electronic computer in a non-abstract manner.
In yet another aspect, the invention features an electronic locating unit configured to implement the foregoing method in a non-abstract manner.
In another aspect, the invention features a device that is directly transportable by a pedestrian who is moving through a three-dimensional space. Such a device is a non-abstract physical device that is made of matter and that includes an inertial platform able to measure physical quantities representative of the direction of displacement of this device and of the amplitude of this displacement and the electronic locating-unit configured in the manner already described.
All methods and devices described herein are described in their non-abstract forms. Descriptions of abstract forms have been omitted. The claims are understood to cover only non-abstract subject matter. As used herein, the term “non-abstract” is the converse of “abstract” as that term has been interpreted by the U.S. Supreme Court and the Federal Circuit as of the priority date of this application.
The invention will be better understood on reading the description which follows, given solely by way of non-limiting example and while referring to the drawings, in which:
In these figures, the same references are used to designate the same elements. Hereinafter in this description, the characteristics and functions that are well known to the person skilled in the art are not described in detail.
Each story comprises rooms and corridors delimited by walls that the pedestrian 4 cannot cross. The pedestrian 4 enters a room only by passing through a door. A room's interior can also comprise obstacles that are impassable to the pedestrian 4. Examples of such obstacles include pillars or other construction elements of the building 2.
A pedestrian 4 holds a device 10 while walking around the building 2. The device 10 locates itself on a map of the building 2 without recourse to sensors other than those that it comprises internally. In particular, the device 10 charts its position inside the building 2 without using a navigation system that calls upon external charting beacons implanted in the environment of the building 2. These external beacons can be satellites or radio-wave emitters fixed to the building 2. In particular, the device 10 charts its position without recourse to a GPS (“Global Positioning System”).
The device 10 also comprises an inertial platform 17. The inertial platform 17 uses a bus 19 to transmit data to the computer 14. This data includes measurements of the direction in which the device 10 is moving and of the amplitude of the displacement in this direction from the latest logged position of this device 10. A typical inertial platform 17 comprises a three-axis accelerometer 18, a gyrometer 19, and a three-axis magnetometer 20. In some embodiments, the inertial platform 17 also comprises a barometer 21 for measuring the altitude of the device 10.
The device 10 also includes a screen 24 that makes it possible to display a graphical representation 26 of the map 16 on which a point PA representing the current position of the pedestrian 4 inside the building 2. This point PA is therefore situated in the graphical representation 26 at the site of the map 16 corresponding to the current position of the device 10, and therefore, of the pedestrian 4.
In some embodiments, the device 10 is a smartphone or an electronic tablet 2 programmed to execute the method of
The map 16 comprises several zones 30 . . . 35 that collectively tile the entire story 8. In the illustrated embodiment, each zone is a polygon.
The zones are parallel to the story's floor and coplanar with a plane referred to herein as the “story plane.” The story plane is typically horizontal.
The zones 30 . . . 35 are contiguous and non-overlapping zones. However, to increase the readability of
In a typical implementation, the edges of each zone are at the site of an obstacle that is impassable to the pedestrian 4 such as a wall. However, in some cases, one and the same zone can encompass several rooms of the building 2. An example is the zone 33, which surrounds a room 40 and another smaller room 42.
In
A zone can also encompass impassable obstacles in the room's interior. Examples of such impassable obstacles include an interior partition, a pillar, or any other element of the building 2 that a pedestrian 4 cannot cross. Zone 31, which comprises partitions 44, 46 situated inside a room 48, provides an example of such a zone.
For each polygonal zone, the map 16 contains an identifier for that zone and the coordinates of the vertices of the polygon that defines that zone. These coordinates are typically given in an XYZ frame.
The XYZ frame is an orthogonal frame in which the X and Y directions are horizontal and the Z direction is vertical. In the illustrated embodiment, each zone is rectangular. As a result, it is possible to economize on memory by only storing the coordinates of a zone's two diagonally opposite vertices.
For each zone, the map 16 also comprises a list of identifiers of just the impassable obstacles situated inside that zone or on the periphery of that zone and another identifier that identifies a law of displacement within that zone. In some embodiments, the map also includes a favored direction of displacement.
A horizontal segment contained in the plane of the floor codes the position and the dimensions of each impassable object. Thus, each obstacle identifier is associated with a pair of points Ejd and Ejf. The points Ejd and Ejf mark, respectively, the start and the end of a segment [Ejd; Ejf], where j is the identifier of the impassable obstacle. The coordinates of the points Ejd and Ejf in the plane of the floor are known and contained in the map 16. In the illustrated embodiment, the zone 31 comprises eight obstacle identifiers IdO1 . . . IdO8. The identifiers IdO1 to IdO8 correspond, respectively, to the segments [Ea; Eb]; [Eb; Ec]; [Ec; Ed]; [Ed; Ef]; [Ef, Eg]; [Eh; Ei]; [Ej; ER] and [Ep; Em].
Each displacement law makes it possible to compute, on the basis of the measurements of the inertial platform 17 at an instant tk, the displacement of a particle Si from a previous position Pik-1 to a new position Pik. This displacement is directly correlated with that of the device 10. Typically, this displacement between the positions Pik-1 and Pik is identical or very close to that of the device 10 between the instants tk-1 and tk. Subsequently, the superscript “i” is the identifier of the particle and the subscript “k” is the order number of the instant at which the direction and the amplitude of the displacement of the device 10 are measured.
The inertial platform 17 measures an angle θk, in the plane of the story, between the device's direction of displacement and the X direction. In some embodiments, the inertial platform 17 relies on measurements from the gyrometer 19 and from the magnetometer 20 to obtain such a measurement. The direction measured at the instant tk will be referred to herein as “direction θk”.
The inertial platform 17 further provides a physical quantity representative of the amplitude lk of the displacement of the device 10 in the direction θk between the instants tk-1 and tk. For this purpose, it is possible to integrate the measurement of the accelerometer 18 between the instants tk-1 and tk and, if the measurement is zero, to retain the previous measured speed vk-1.
In the case of a pedestrian 4 walking on a horizontal floor, it is possible to obtain a more precise estimate of the amplitude lk by having the computer 14 detect, on the basis of the measurements provided by the accelerometer 18, the instant at which a pedestrian's foot contacts the floor. On the basis of these successive instants, the computer 14 computes a frequency fk of the pedestrian's footsteps.
Next, the computer 14 computes an amplitude lk of the pedestrian's displacement in the direction θk. It does so by using the following footstep model: lk=Afk+BT+C, where A, B, C and T are constants that are independent of the measurements of the inertial platform 17. The constants A, B, and C are independent of the pedestrian's morphological characteristics. The constant T is equal to the pedestrian's height 4. By default, the constant T is the mean height of a human being, for example 1.78 meters.
The device's speed vk between the instants tk-1 and tk is obtained by evaluating the expression: vk=lk/Δt, where Δt is the duration of the time interval between the instants tk-1 and tk. Typically, Δt is chosen equal to the duration between a pedestrian's footsteps.
Thus, when the pedestrian 4 moves by walking on the floor of the story 8, a displacement law is given by the following relations:
xik=Xik-1+vk·Δt·cos(θk);
yik=yik-1+vk·Δt·sin(θk)
where (xik, yik) and (xik-1, yik-1) are the coordinates, in the plane of the floor, of the positions Pik and Pik-1 of the particle Si.
In the case of a method of location of the device 10 implementing a particle filter, it is beneficial to explore the largest possible number of trajectories with the particles. Thus, the displacement of each particle is disturbed in a random manner. An example of a usable displacement law is the following:
xik=xik-1+vk·Δt·cos(θk+μix);
yik=yik-1+vk·Δt·sin(θk+μiy);
where μix and μiy are random variables.
At each instant tk and for each particle Si, the values of the random variables μix and μiy are randomly drawn as a function of a predefined centered probability distribution, i.e., one with an expectation of zero. Thus, the mean of the values of each random variable μix and μiy at the various successive instants tk tends to zero as k increases.
In some embodiments, the predefined probability distribution is the same for both random variables μix and μiy and for all the particles Si. Such a distribution, or “law,” is denoted Lpxy. This probability distribution Lpxy is characterized by a predetermined standard deviation σxy. Embodiments include those in which the probability distribution Lpxy is a uniform distribution and those in which it is a Gaussian distribution.
In the illustrated embodiment, the standard deviation σxy is constant and independent of the measurements of the inertial platform 17 for updating at each footstep. In some embodiments, the standard deviation σxy is greater than five centimeters. In others, it is greater than ten centimeters and, preferably, less than thirty-five centimeters.
In some cases, there also exists a direction bias. A direction bias is a bias in the measurement of the direction θk. A direction bias may originate from a defect in the sensors of the inertial platform 17. A direction bias can also arise from the pedestrian 4 having rotated the device 10 in a horizontal plane.
In some cases, there also exists a footstep bias. The footstep bias is a bias in the measurement of the amplitude lk of the device's displacement. Like the direction bias, the footstep bias can originate from a defect in the sensors of the inertial platform 17. Or, the footstep bias can originate from a modeling error and, in particular, an error in the default value of the coefficient T in the footstep model. One source of footstep bias arises from not knowing the pedestrian's actual height. Thus, a deviation in the pedestrian's height from average human height of 1.78 meters introduces a systematic footstep bias in the measurement of the amplitude lk.
Typically, these biases are constant at least over a time interval that is long enough to be able to estimate them.
To compensate and correct for direction and footstep biases, the displacement law used integrates corrective factors αi and εi, associated with each particle Si. In one example, the displacement law is given by the following relations:
xik=xik-1+vk·Δt·(1+εik)·cos(θk+αik)+μix;
yik=yik-1+vk·Δt·(1+εik)·sin(θk+αik)+μiy;
εik=εik-1+μiε;
αik=αik-1+μiα;
where εik and εik-1 are the values, respectively at the instants tk and tk-1, of the corrective factor εi used to correct the footstep bias, αik and αik-1 are the values, respectively at the instants tk and tk-1, of the corrective factor αi used to correct the direction bias, and μiε and μiα are random variables.
The random variables μiε and μiα are used for the same reasons and in the same manner as the variables μix and μiy introduced previously. Thus, a new value of the variables μiε and μiα is randomly drawn at each new instant tk and for each particle Si as a function, respectively, of a predefined probability distributions Lpε and of a predefined probability distributions Lpα. Typically, these probability distributions Lpε and Lpα are the same for all the particles Si. In the illustrated embodiment, the mathematical expectations of the probability distributions Lpε and Lpα are equal to zero. Consequently, just as for the random variables μix, and μiy, the mean of the values of each random variable μiε and μiα at the various successive instants tk tends to zero as k increases.
The variables μiε and μiα only slightly disturb the previous values εik-1 and αik-1 of the corrective factors εi and αi. As a result the values of the corrective factors εi and αi remain stable over time. For this purpose, the standard deviations σε and σα, respectively, of the probability distributions Lpε and Lpα do not allow a fast variation of the values of the corrective factors εi and αi. As a result, it is desirable to choose the standard deviation σε to be small enough to keep the ratio Σσεk/T to be less than ten percent per second and, preferably, less than five percent per second or one percent per second, where: σεk is the standard deviation of the distribution Lpε during the kth iteration of an updating step 96, Σσεk is the sum of the standard deviations σεk between the qth iteration and the pth iteration of the updating step 96, where q is an integer that is less than p, and T is the duration, in seconds, of the time interval which has elapsed between the qth and the pth iteration of updating step 96.
The updating step 96 is one in which the coordinates of the particle Si are updated. This step is described in greater detail with reference to
In the embodiment described herein the standard deviation σε is constant. Thus, the previous ratio can also be written: (p−q)σε/T. In this case, whatever p and q might be, the ratio is constant. The difference p−q is generally large enough to cover a time period of greater than one second or four seconds and, generally, less than ten minutes or five minutes or one minute. For example, this difference between p and q is constant whatever p.
In a similar manner, the standard deviation σα is chosen to be small enough to keep the ratio Σσαk/T less than ten degrees per second and, preferably, less than five degrees per second or one degree per second, where: σαk is the standard deviation of the probability distribution Lpα during the kth iteration of the updating step 96, Σσαk is the sum of the standard deviations σαk between the qth iteration and the pth iteration of the updating step 96, where q is an integer strictly less than p, and T is the duration, in seconds, of the time interval that has elapsed between the qth and the pth iteration of updating step 96.
The standard deviation σα is also constant. Thus, the previous ratio can also be written: (p−q)σα/T.
Just as for the variables μix and μiy, the variables μiε and μiα make it possible to explore a large number of possible values for the corrective factors εi and αi.
The displacement law described hereinabove will be referred to herein as the first displacement law. This first displacement law operates in most situations where the pedestrian 4 walks on horizontal ground.
On the other hand, in certain cases, there exist other, more precise, displacement laws.
For example, in a stairwell zone 35 that covers a stairwell comprising a staircase 50, the length of the pedestrian's footsteps depends on the depth Lm of each step of the staircase 50. Thus, in the stairwell zone 35, it would be preferable to use a second displacement law that takes this into account.
In some embodiment, a suitable second displacement law is identical to the first displacement law except that the product vik·Δt·(1+εik) is replaced with the measured variable nik. The variable nik is given by the following relation: nik=(Ent(|zik−zik-1|/Hm))·Lm, where: zik-1 and zik are the heights of the device 10 measured by the inertial platform 17 at the instants tk-1 and tk, respectively, Hm is the constant height of a stair of the staircase 50, Lm is the depth of a stair of the staircase 50, |zik−zik-1| is the absolute value of the difference between zik and zik-1, and Ent ( . . . ) is a function that returns the integer part of its argument. The height Hm and the depth Lm are known in advance and recorded in the map 16. The values of the measured variables zk and zk-1 are obtained, typically, on the basis of the measurements by the barometer 21. In this case, only the stairwell zone 35 relies on the second displacement law. All the other zones of the story 8 remain associated with the first displacement law.
Within the building 2, there exist zones 30, 31, 33 and 34 in which a pedestrian 4 moves freely in all directions. Stated otherwise, within these zones, all displacement directions are equally probable. In this particular example, the zones have no favored direction of displacement.
Conversely, there also exist zones of the building 2 in which not all displacement directions are equally probable.
For example, a corridor zone 32 spans a long corridor parallel to the X direction. In this corridor zone 32, a pedestrian's most probable displacement would be parallel to the X direction. In fact, it would be rather improbable for the pedestrian 4 to move transversely to the corridor's longitudinal direction. In this case, there is said to be a favored displacement direction in the corridor zone 32.
Each favored direction is coded by an angle γ in the plane of the floor between this favored direction and the X direction. Moreover, in this embodiment, an angular tolerance σγ is also associated with each favored direction. This angular tolerance is generally expressed in degrees or in radians. For example, in the case of the corridor zone 32, the angle γ is equal to zero degrees and the angular tolerance σγ is ±30°. In the embodiment described here, the stairwell zone 35 is also associated with a favored direction for ascending and descending the staircase 50. For this favored direction, the angle γ is equal to ninety degrees and the angular tolerance σγ is equal to ±20°.
Referring now to
The method's first step 90 occurs upon triggering the location algorithm. This might occur, for example, when a pedestrian 4 interacts with the device's user interface.
The computer 14 begins by generating an initial assembly of N0 particles Si, where i is an identifier of the particle making it possible to distinguish it from among the set of other particles generated. The number N0 of particles Si depends on the initial knowledge that one has about the position of the device 10 in the building 2 and the area of the building. Typically, N0 is greater than ten or a hundred and less than five thousand or one thousand.
Each particle Si is initially associated with an initial position Pi0 inside the building 2. The position Pi0 comprises the coordinates xi0, yi0 and zi0 of the particle Si in the XYZ frame, with an initial value wi0 of the weight wi representing the probability that the device 10 is situated at the site of this particle Si at the instant t0, with an initial value of αi0 for the corrective factor αi, and with an initial value of εi0 for the corrective factor εi.
The first step 90 also include initializing the initial position Pi0 and the variables wi0, αi0, and εi0 with their respective initial values. Numerous methods for initializing the positions Pi0 and the weights wi0 of each particle are possible. For example, if the initial position of the device 10 is known to within one meter, the positions Pi0 of all the particles Si are drawn at random inside a circle centered on the known position and having a one-meter radius. It is also possible to set each weight wi0 to be equal to 1/N0, where N0 is the initial number of particles generated.
Each value αi0 is drawn at random in such a way that the distribution of the initial values αi0 follows a predetermined probability distribution Lpα0, such as a uniform distribution, a Gaussian distribution, or some other distribution. The probability distribution Lpα0 is generally not the same as the probability distribution Lpα that is used to obtain the values of the random variable μiα.
The a priori knowledge that one has about the distribution of the direction bias makes it possible to choose the probability law for the initial values αi0 that most resembles the one observed. It is also this a priori knowledge that makes it possible to fix the value of the standard deviation σα0 of the distribution Lpα0.
In some embodiments, the standard deviation σα0 is chosen to be equal to 360° if one has no information about the direction bias. In other embodiments, the standard deviation σα0 is chosen to be less than 45° if one has only limited information about the direction bias. A particular property of the probability distribution Lpα0 is that it does not necessarily have a zero mean.
Each initial value εi0 is chosen as described previously for the initial values αi0 except that a predefined probability distribution Lpε0 is used for the footstep bias instead of the distribution Lpα0. Moreover, the probability distribution Lpε0 is not necessarily identical to the distribution Lpα0. Indeed, generally, the direction bias and footstep bias are not correlated.
Typically, the standard deviation σε0 of the distribution Lpε0 is equal to 30%±5% if one has no information about the footstep bias. In some embodiments, the standard deviation σε0 is chosen to be less than 20% if one has only a little information about the footstep bias.
During a second step 92, the inertial platform 17 transmits its measurements to the computer 14. After having received these measurements, the computer 14 uses them to compute the speed vk and the angle θk of the current displacement of the device 10 from its latest position. The new measurements of the speed vk and of the angle θk are computed each time that the computer 14 detects that the pedestrian's foot has just touched the floor.
During a third step 94, the computer 14 identifies, for each particle Si, the zone inside which that particle is currently situated. In some embodiments, for each particle Si, the computer 14 compares its last-known position Pik-1 with the periphery of each zone of the map 16.
For example, in the case of rectangular zones aligned with the XYZ frame, the computer 14 tests whether the following two inequalities are satisfied: xAj≤xik-1≤xBj and yAj≤yik-1≤yBj, where: the subscript j is an identifier of the zone of the map 16 making it possible to distinguish it from the other zones, xAj and yAj are the coordinates of that vertex of zone j which is closest to the origin of the XYZ frame, and xBj and yBj are the coordinates of that vertex of zone j that is furthest from the origin of the XYZ frame.
If these two inequalities are satisfied, then the particle Si belongs to zone j. Preferably, the computer 14 first tests whether the particle Si has remained in the same zone. A finding that the particle Si does not belong to any zone triggers additional processing. In some cases, such a finding causes the computer 14 to eliminate that particle.
During the fourth step 96, once the zone to which each particle Si belongs has been identified, each particle is displaced in a manner correlated with the measured displacement of the device 10 from its previous position Pik-1 up to a new position Pik. Accordingly, the coordinates of each particle Si are updated as a function of three variables, namely: the latest measurements received from the inertial platform 17, the coordinates of the previous position Pik-1 of this particle, and the displacement law associated with the zone inside which the particle Si is situated. For this reason, the fourth step 96 is often called an “updating step.”
The displacement law to be used is therefore that associated with the zone identified during the third step 94.
For example, if the particle Si is situated inside one of the zones 30 . . . 34, then the coordinates of the new position Pik are established using the first displacement law. On the other hand, if the particle Si is situated inside the zone 35, then the coordinates of the new position Pik are established using the second displacement law.
At each new execution of the updating step 96, the new values for the variables μix, μiy, μiα and μiε are randomly drawn with the aid of the laws Lpxy, Lpα and Lpε, respectively.
During a fifth step 98, the computer 14 updates the weights wi of each particle Si. More precisely, the computer 14 decreases the weight wi of the particle Si if its latest displacement from the position Pik-1 to the position Pik is inconsistent with predefined constraints associated with the zone inside which it is situated.
Typically, for each particle Si, the computer 14 verifies that first and second constraints have been met. The first constraint is that the segment [Pik-1; Pik] must not cross an impassable obstacle of the zone inside which the particle Si is situated. The second constraint is that the displacement direction from the position Pik-1 to the position Pik complies with the favored displacement direction associated with the zone inside which the particle Si is situated.
In some embodiments, a constraint on the displacement of the particle Si is defined as being a condition that, if satisfied by the particle Si, increases the weight wi of that particle Si with respect to the weight of the particles that do not satisfy this condition. Conversely, if this condition is not satisfied by the particle Si, then the condition decreases the weight wi of the particle Si relative to the weights of the particles that did satisfy the condition.
To evaluate the first constraint, for each particle Si, the computer 14 searches for whether there exists an intersection between the segment [Pik-1; Pik] and each impassable obstacle of the zone inside which the particle is situated. This zone was identified during third step 94. This intersection search is carried out solely with the impassable obstacles whose identifiers are contained in the list associated with the identified zone. Since each obstacle is coded by a segment, this intersection search amounts to a search for an intersection between two segments.
If an intersection exists, then a very low value or a value of zero is assigned to the weight wi. An example of a very low value is a value less than 0.2 or 0.1. In the converse case, the value of the weight wi remains unchanged.
If the zone inside which the particle Si is situated is not associated with a favored direction, then the second constraint is not used to update the weight wi. In the converse case, the second constraint is used.
To evaluate the second constraint, the computer 14 computes a weight wiθ on the basis of the deviation between the measured direction θk for the displacement of the particle Si and the favored direction of the zone inside which it is situated. The value of the weight wiθ grows larger as the angular deviation between the favored direction γ and the direction of displacement from the position Pik-1 to Pik grow smaller. The value of the weight wiθ is established while taking account of the tolerance σy associated with this favored direction. The value of the weight wiθ is therefore larger if the angular deviation between the direction of displacement of the particle Si and the favored direction lies in the tolerance margin defined by the value of σγ and, in the converse case, the value of the weight wiσ is smaller.
In some embodiments, the value of the weight wiσ is computed with the following relation: wiσ=p·exp[(θk+αik−γ)2/(2σγ2)], where p is a predefined constant coefficient. The value αik of the corrective factor αi of the direction bias is also used to compute this weight wiσ.
Thereafter, the value of the weight wi is set equal to its previous value multiplied by the value of the weight wiθ thus obtained.
During a sixth step 100, the computer 14 normalizes the weights wi of all the particles Si so that the sum of all these weights is equal to unity. In some embodiments, the computer 14 computes the sum W of all the weights wi and then divides each weight wi by the sum W.
During a seventh step 102, which is a resampling step, the computer 14 re-samples the particles Si. The seventh step 102 includes eliminating those particles whose weights wi have become too low to replace them with particles associated with parameters whose weights are higher.
Numerous re-sampling techniques are known. For example, here, we apply the SIR (Sequential Importance Resampling) scheme described in the following book: B. Ristic, S. Arulampalam, N. Gordon, “Beyond the Kalman Filter, particle filter for tracking applications,” Artech House, 2004.
The re-sampling scheme includes classifying the particles into two groups: the particles to be regenerated and the surviving particles. The particles to be regenerated are those whose weight is below a predetermined threshold. All other particles are surviving particles.
Thereafter, for each particle to be regenerated, the computer 14 eliminates the old particle and then generates a new particle to replace it. To generate a new particle, the computer 14 randomly draws a particle from the group of surviving particles. This random drawing is carried out preferably in such a way that the probability of being drawn is proportional to the weight of the surviving particle.
Thereafter, the drawn surviving-particle's position Pik and its values αik and εik are assigned to the newly-generated particle. During this step, the computer 14 adds a random disturbance to the position and to the values of the corrective factors. In some embodiments, it does so by using the random variables μx, μy, μα and με. However, these disturbances are calibrated in such a way that the values αik and εik assigned to the generated particle remain close to the current values for the corrective factors associated with the recently drawn surviving-particle. Typically, the mean of the values αik that are assigned to the generated particles are closer to the mean of the values αik of the surviving particles than to the mean of the values αik of the eliminated particles. The same holds for the values εik assigned to the generated particles.
A new weight is also assigned to each generated particle and, optionally, to the surviving particle from which it arises.
During an eighth step 104, the computer 14 estimates the position PA of the device 10 on the basis of the positions Pik and of the weights wi of all the particles Si. Numerous schemes are possible for doing this. For example, the position PA is taken equal to that of the particle Si having the highest weight wi. In another embodiment, the position PA is taken equal to the mean of the positions Pik of the particles Si on weighting each position Pik by the weight wi. Another scheme is also described in application WO 2012158441.
Finally, during a ninth step 106, a point is displayed at the position PA on the graphical representation 26 of the map 16 to indicate to the pedestrian 4 his position on this map and therefore his position inside the building 2.
The steps between the second step 92 and the ninth step 106 inclusive define a loop that repeatedly executes. As these iterations proceed, the precision of the estimate of the position of the device 10 increases. It does so because only the most probable positions Pik are retained.
In parallel with the eighth step 104, during a tenth step 108, the computer 14 computes an estimate Eα of the direction bias and an estimate Eε of the footstep bias on the basis, respectively, of the current values αik and εik of the particles Si. In some embodiments, the estimate Eα is set equal to the mean of the current values αik of all the particles Si. In a similar manner, the value of the estimate Eε is set equal to the mean of the current values εik of all the particles Si.
The precision of the estimates Eα and Eε increases as the repetitions of the loop proceed. Indeed, it is probable that the particle Si associated with an incorrect current value for the corrective factor αi or εi will rapidly fall out of compliance with the constraints that were evaluated during a fifth step 98. Hence, the particles Si associated with incorrect current values for the corrective factors are preferably eliminated during the seventh step 102. Thus, as the loop iterates, the particles Si associated with correct current values for the corrective factors are preferentially selected as surviving particles during the seventh step 102. Hence, the estimates Eα and Eε converge toward the actual values of the direction bias and the footstep bias.
Moreover, since the values of the corrective factors αi and εi converge toward the actual values of the direction and footstep biases as the loop iterates, the corrective factors correct these direction and footstep biases with increasing precision. Hence, the presence of these corrective factors in the displacement law makes it possible to substantially increase the precision of the estimate of the position PA even in the presence of such direction and footstep biases.
The estimates Eε and Eα can be displayed on the screen 24 or used by other applications to correct the direction and footstep biases.
Numerous other embodiments are possible.
For example, some embodiments feature sensors that provide a mean value of the variable measured at an instant k as well as a standard deviation in that measurement. In this case, the measured values of the angle θk and of the amplitude lk are obtained by drawing the values at random using a Gaussian probability distribution whose mean and standard deviation are equal to those transmitted by the sensors. This makes it possible to take measurement noise into account.
Embodiments include those in which the pedestrian 4 carries the device 10 and those in which the pedestrian pushes a trolley on which the device 10 has been mounted.
The latter case includes embodiments that measure speed vk by integrating the acceleration measured by the trolley and those that estimate speed by detecting detect a frequency of the impacts that occur each time a wheel of the trolley rolls over a joint between regular interruptions on pavement, such as in the interruption between flagstones or paving stones.
In some embodiments, a motorized robot transports the device 10 without the aid of the pedestrian 4. In this case, the amplitude of the displacement can be measured by measuring the number of wheel revolutions of a driving wheel of the robot.
The method described above applies to any type of three-dimensional space in which the device 10 can be displaced. The space can also be situated outdoors and outside any building. In either case, this method is useful for locating a person in a place where location by GPS or on the basis of telephonic relay is impossible.
Other ways of coding the constraints on the displacement of the device 10 are usable in the above method.
In some practices, rather than recording the position of the walls, it is possible to record all the possible paths. If the displacement of a particle does not follow one of these possible paths, then its weight is decreased.
Yet other practices feature recording the position of the doors rather than the walls. In such cases, the weight of a particle is increased if it the latter goes from one room to another by passing through a door.
Still other practices use different predefined constraints to update the value of the weight wi.
In some cases, there exists other information that provides an approximate measurement of the device's position. Such cases would then include increasing the weight wi if the position Pik is close to this approximate position and decreasing the weight if the position Pik is far from this approximate position. Sources of such other information include power received by the device 10 from a radio source of known output power having a known position in the XYZ frame. A common example of such a radio source is a Wi-Fi terminal.
Although a constraint against collision of a particle with an impassable obstacle is, in practice, most common, it is not absolutely necessary if there exist other predefined constraints such as those described above that can be used.
Some embodiments omit the sixth step 100 of normalizing the weight wi of the particles Si.
During the re-sampling of the particles, numerous other algorithms for determining the initial position of the regenerated particles can be used instead of that described above. A suitable algorithm is the Kullbak-Leibler-Divergence algorithm.
Other algorithms are possible for associating a new current value αik and εik with each regenerated particle. Each new value αik is dependent on one or more of the values αik associated with the particles that have not been eliminated and is independent of the values αik associated with the particles that have been eliminated. The same holds for the new value εik.
Another simplified practice omits the seventh step 102. Even without re-sampling, the method described herein makes it possible to increase the precision with which one can located the device's position. This is because the weight wi of each particle Si associated with an incorrect current value αik or εik decreases as the loop iterates.
Other schemes for determining whether a particle is situated inside a zone are possible.
Practices further include those in which the zones have shapes other than polygons. Examples of such practices include those in which the zone is circular. In such cases, the map 16 records the circle's center and radius. In fact, there are no limitations on the zone's shape other than the requirement that the coordinates of its periphery be determinable in the in the XYZ frame.
In the foregoing method, each zone is associated at one and the same time with impassable-obstacle identifiers, a displacement law, and a favored direction.
In an alternative practice, several immediately contiguous zones share the same displacement law.
For example, in the illustrated embodiment the zones 30 . . . 34 are all associated with the first displacement law. In this case, it may be more beneficial to record, in the map 16, several stacked strata of zones for the same story.
Each stratum in the resulting set of stacked strata comprises at least one zone and, typically, a set of several zones covering the entire area of the floor. The zones of one stratum are distinguished from the zones of another stratum by the type of property that it associates with those zones.
In one example, a first stratum comprises zones that are associated with impassable-obstacle identifiers. A second stratum comprises zones that are associated only with a respective displacement law. Finally, a third stratum comprises zones that are associated solely with a favored direction.
When such a stack of strata is applied to the story 8, the zones of the first stratum are, for example, identical to the zones 30 to 35 except that they comprise only the identifiers of impassable obstacles.
In the illustrated embodiment, the second stratum is limited to two zones. One of them is identical to the zone 35 except that it is solely associated with the second displacement law. The second stratum's remaining zone corresponds to the union of zones 30 to 34 and is solely associated with the first displacement law.
The third stratum comprises four zones, the first and second being identical, respectively, to zones 32 and 35 except that they are solely associated with a respective favored direction. The third zone corresponds to the union of zones 30 and 31 and the fourth zone then corresponds to the union of zones 33 and 34, which are not associated with any favored direction.
A location method that relies on a map comprising several strata is identical to that described above except that, for each particle Si, the zone of each stratum inside which it is situated is identified. Thereafter, it is these zones inside which it is situated that make it possible to identify the displacement law to be used and the predefined constraints to be tested so as to update the value of its weight wi. The use of several strata of zones may simplify the definition of these zones.
In other practices, one of these strata corresponds to an accessibility map. Among these are practices in which the accessibility map has contiguous boxes. Among these are practices in which the contiguous boxes that are associated with the same value of the degree Λ of accessibility are grouped together within one and the same zone.
Each zone can also be associated with additional predefined constraints for updating the weight wi of the particles situated in that zone. For example, some practices include associating, with each zone, a coefficient wα of accessibility that represents the probability that a pedestrian will enter this zone. Thereafter, when updating the weight wi of a particle Si situated in this zone, the weight wi is set to be equal to its previous value multiplied by this coefficient wα.
Other displacement laws are usable.
In some practices, the standard deviations σα and σε are not constant. Among these are practices in which they are constant over long durations and then modified for a brief time interval before returning to their previous values. For example, solely during this brief time interval, the ratios Σσεk/T and/or Σσαk/T are permitted to exceed the previously defined thresholds.
Typically, the temporary increase of the values of the standard deviations σα and σε is used to reinitialize the current values αik and εik. Generally, the values of the standard deviations σα and σε are constant for more than 90% of the time that the device 10 is being used. This prevents a rapid variation of the values of the corrective factors εi and αi during that 90% of the time.
Some practices include verifying that the ratio Σσεk/T is maintained below a predetermined threshold over at least 90% of the time that the device 10 is being used. Among these practices are those that include setting the difference p-q equal to a constant. Thereafter, the ratio Σσεk/T is computed for each value of p corresponding to an iteration of the updating step 96 occurring during this time of use. If at least 90% of the ratios thus computed are below the predetermined threshold, then one can infer that the ratio is being maintained below this predetermined threshold for more than 90% of the time that the device 10 is being used. The same computation can be used for the ratio Σσαk/T. The time of use is, for example, a period of continuous use of the device 10 without stopping the execution of the method of
In other practices, the expectation of one of the probability distributions Lpε or Lpα is non-zero. This introduces an additional bias that is added to the real bias. The current values εik or αik can also be computed on the basis of a previous value other than εik-1 or αik-1. For example, εik is computed on the basis of the previous value εik-n, where n is an integer greater than one. Thus, it is also possible to use the following relations to compute the current value of εik: εik=(εik-1+εik-2)/2+μiε or εik=εik-2+μiε. The same thing applies to the computation of the current value αik.
Moreover, if it is known that the direction bias is zero or negligible, then the first and the second displacement laws are simplified by eliminating the corrective factor αi. Conversely, if it is known that the footstep bias is zero or negligible, then the first displacement law is simplified by eliminating the corrective factor εi. The corrective factor remaining in the first displacement law is thereafter estimated as described above with reference to
Displacement laws other than those described above may be used. For example, a displacement law specifically adapted to the displacement on an escalator or on a moving walkway or in an elevator can readily be designed and associated with the zone comprising this escalator, this moving walkway or this elevator. Moreover, if there exists a measurement bias in these particular zones, then it is desirable to introduce a corrective factor into the displacement law to compensate this measurement bias. If, initially, the value of this corrective factor is not known, then this value is estimated in the same manner as was described for the corrective factors αi and εi.
Neither the ninth step 106 nor the tenth 108 need be carried out after each iteration of the loop. In some practices, these steps are carried out only after completion of every other iteration.
The previous embodiments have been described in the particular case where all processing steps to determine the position PA are carried out by the computer 14 of the device 10.
Alternative practices distribute these processing steps among several distinct computers. In some practices, these distinct computers include a computer server that is mechanically independent of the device 10. Among these practices are those in which the device 10 transmits the measurements to such a server, which then determines the position PA and returns it to the device 10, which then displays it on its screen 24. Among these practices are those that also include recording the map 16 in the server's memory.
Yet other practices include selecting a specific displacement law as a function of the zone in which the particle is situated in a manner that is independent of the other characteristics of the method of
Likewise, the use of favored directions of displacement associated with zones can also be implemented independently of the other characteristics of the method of
Number | Date | Country | Kind |
---|---|---|---|
1455575 | Jun 2014 | FR | national |
Under 35 USC 120, this application is a continuation of U.S. application Ser. No. 14/741,818, filed Jun. 17, 2015, which claims the benefit of the Jun. 18, 2014 priority date of French Application FR 1455575, the contents of which is herein incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
8548738 | Kadous et al. | Oct 2013 | B1 |
9130611 | Jia | Sep 2015 | B2 |
20050130677 | Meunier | Jun 2005 | A1 |
20090043504 | Bandyopadhyay | Feb 2009 | A1 |
20090201149 | Kaji | Aug 2009 | A1 |
20110211563 | Herrala | Sep 2011 | A1 |
20120283855 | Hoffman | Nov 2012 | A1 |
20120290254 | Thrun | Nov 2012 | A1 |
20130245991 | Kriss | Sep 2013 | A1 |
20130297204 | Bartels | Nov 2013 | A1 |
20140149069 | Kelly et al. | May 2014 | A1 |
20140350847 | Ichinokawa | Nov 2014 | A1 |
Number | Date | Country |
---|---|---|
2519803 | Jan 2014 | EP |
WO2012009328 | Jan 2012 | WO |
WO2012158441 | Nov 2012 | WO |
Entry |
---|
Edwards et al. “Comparing Particle Swarm Optimisation and Genetic Algorithms for Nonlinear Mapping” 2006 IEEE International Conference on Evolutionary Computation pp. 694-701 (Year: 2006). |
Arulampalam et al. “A Tutorial on Particle Filters for Online Nonlinear/ Non-Gaussian Bayesian Tracking,” IEEE Trans Sign Proc, 2002,vol. 50, pp. 174-186. |
Krach et al. “Cascaded Estimation Architecture for Integration of Foot-Mounted Inertial Sensors,” In the Proceedings of the 2008 IEEE/ION Position Location and Navigation Symposium, Monterey, CA, USA, MAy 5-8, 2008, pp. 112-119. |
Schmitz et al., “Combination of Map-Supported Particle Filters with Activity Recognition for Blind Navigation,” ICCHP (2), 2012, vol. 7383 of Lecture Notes in Computer Science , pp. 529-535. |
Straub. “Bachelor Thesis: Pedestrian Indoor Localization and Tracking using a Particle Filter combined with a learning Accessibility Map,” Executed at the Institute for Real-Time Computer Systems, München, DE (Submitted Aug. 2010). |
Woodman et al. “Pedestrian Localisation for Indoor Environments,” In the Proceedings of the 10th International Conference on Ubiquitous Computing, 2008, ACM: New York, pp. 114-123. |
Number | Date | Country | |
---|---|---|---|
20190383964 A1 | Dec 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14741818 | Jun 2015 | US |
Child | 16555163 | US |