Indoor rotation sensor and directional sensor for determining the heading angle of portable device

10429185 ยท 2019-10-01

Assignee

Inventors

Cpc classification

International classification

Abstract

A method and system are provided for determining a heading angle of a user of a portable electronic device in an indoor environment. In an embodiment, the device collects rotational movement information indicative of rotational movement of the device and determines a first heading angle of the device. The first heading angle is determined by using the downward direction of the device to determine the vertical angular rate in the horizontal plane, and integrating the vertical angular rate to form the first heading angle. The device collects first direction information from a first direction sensor and second direction information from a second direction sensor and uses it determine which of the first and second direction information is an outlier, e.g., inaccurate due to an occurrence of a disturbance. The device then corrects the heading angle by comparing the heading angle to the first and second direction information.

Claims

1. A method for determining a heading angle of a portable electronic device in an indoor environment comprising: providing an orientation model describing how rotational movement is integrated to orientation; receiving rotational movement information from a rotational sensor of the portable electronic device, the rotational movement information being indicative of rotational movement of the portable electronic device; determining a first heading angle of the portable electronic device at the processor based on the received rotational movement information and the orientation model and then computing the orientation around the downward direction of the portable electronic device to form the first heading angle; receiving first direction information from a first direction sensor of the portable electronic device; receiving second direction information from a second direction sensor, wherein the second direction information is indicative of a direction of movement of the portable electronic device; using the processor of the portable electronic device, identifying an outlier that is one of said first and second direction information, the outlier comprising information that is inaccurate due to an occurrence of a disturbance; and computing a correction to the heading angle at the processor of the portable electronic device by comparing the heading angle to the first and second direction information and considering the outlier.

2. The method in accordance with claim 1 wherein detecting the outlier comprises applying an odometric model to identify the outlier.

3. The method in accordance with claim 2 wherein detecting the outlier further comprises applying a building information model (BIM) to the result of the applying the odometric model to identify physically impossible movements as outliers, wherein the BIM includes information relating to building structures.

4. The method in accordance with claim 1 wherein the rotational movement information comprises angular rate information from a gyroscopic sensor.

5. The method in accordance with claim 4 wherein the outlier arises from the angular rate information from the gyroscopic sensor and is due to a change in orientation of the device in relation to the user rather than a change in a heading of the user.

6. The method in accordance with claim 1 wherein receiving first direction information from a direction sensor of the portable electronic device comprises receiving the first direction information from an accelerometer.

7. The method in accordance with claim 6 wherein the outlier arises from an acceleration of the device.

8. The method in accordance with claim 1 wherein receiving the second direction information comprises receiving information from a magnetometer.

9. The method in accordance with claim 8 wherein the outlier is due to a magnetic field in the device environment that is superimposed on the earth magnetic field.

10. The method in accordance with claim 9 further comprising reporting the outlier due to the device environment.

11. The method in accordance with claim 10 wherein reporting the outlier comprises notifying a remote entity of the outlier and device position information when the outlier is detected.

12. The method in accordance with claim 11 wherein the remote entity is a crowd-sourced database.

13. A portable electronic device configured to determine a heading angle of the device in an indoor environment, the device comprising: a gyroscopic sensor configured to detect rotational movement of the device; a first direction sensor; a second direction sensor; and a controller configured to receive rotational movement information from the gyroscopic sensor, determine at the controller a first heading angle of the portable electronic device based on the received rotational movement information by using a sensed downward direction to determine the vertical angular rate in the horizontal plane, and integrating the vertical angular rate to form the first heading angle, receive first direction information from the first direction sensor and second direction information from the second direction sensor, identify an outlier that is one of the first direction information and second direction information, the outlier comprising information that is inaccurate due to an occurrence of a disturbance, and compute a correction to the heading angle by comparing the heading angle to the first and second direction information and considering the outlier.

14. The portable electronic device in accordance with claim 13 wherein the first direction sensor comprises at least one accelerometer.

15. The portable electronic device in accordance with claim 13 wherein the second direction sensor comprises at least one magnetometer.

16. The portable electronic device in accordance with claim 13 wherein the outlier is due to a magnetic field in the device environment that is superimposed on the earth magnetic field.

17. The portable electronic device in accordance with claim 13 wherein the outlier arises from an acceleration of the device.

18. The portable electronic device in accordance with claim 13 wherein the controller is further configured to detect the outlier by applying an odometric model.

19. The portable electronic device in accordance with claim 13 wherein the controller is further configured to detect the outlier by applying a building information model (BIM) to the result of the odometric model to identify a physically impossible movement as an outliers, wherein the BIM includes information relating to building structures.

Description

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

(1) While the appended claims set forth the features of the present techniques with particularity, these techniques, together with their objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:

(2) FIG. 1 shows a module-level schematic of a system in accordance with an embodiment of the disclosed principles;

(3) FIG. 2 shows a set of data plots associated with data in accordance with an embodiment of the disclosed principles;

(4) FIG. 3 shows a further set of data plots associated with data in accordance with an embodiment of the disclosed principles;

(5) FIG. 4 shows a further set of data plots associated with data in accordance with an embodiment of the disclosed principles;

(6) FIG. 5 shows a further set of data plots associated with data in accordance with an embodiment of the disclosed principles;

(7) FIG. 6 shows a further set of data plots associated with data in accordance with an embodiment of the disclosed principles; and

(8) FIG. 7 shows a flow chart of indoor navigation in accordance with an embodiment of the disclosed principles.

DETAILED DESCRIPTION

(9) The present invention will be described more fully hereinafter with reference to the accompanying drawing, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the drawing, like numbers refer to like elements.

(10) There are three coordinate systems to consider: The orientation of the user carried device q, the coordinate system of the reference map, which can be assumed to be a world reference system (A vector in the device coordinate system is rotated to reference coordinate system by the rotation matrix R(q)), and the body orientation of the user relative to the map, and most importantly the heading and heading rate {dot over ( )} defining in what direction the user is moving relative the reference map.

(11) The device in one embodiment includes the following inertial and magnetic sensors:

(12) Gyroscopes (103) providing turn rate , but measured with an offset b.sup..sub.k and noise e.sup..sub.k to yield y.sup..sub.k=.sub.k+b.sup..sub.k+e.sup..sub.k. Accelerometers (101) providing gravity g in the device coordinate system, but measured with an offset b.sup.a.sub.k and disturbance d.sup.a.sub.k (the linear acceleration a of the device) and noise e.sup.a.sub.k to yield y.sup.a.sub.k=R(q.sub.k)g+b.sup.a.sub.k+d.sup.a.sub.k+e.sup.a.sub.k.
Magnetometers (105) providing the earth magnetic field m in the device coordinate system, but measured with a bias b.sup.m.sub.k and disturbance d.sup.m.sub.k (stemming from soft and hard iron in the environment) and noise e.sup.m.sub.k to yield y.sup.m.sub.k=R(q.sub.k)m+b.sup.m.sub.k+d.sup.m.sub.k+e.sup.m.sub.k. The earth magnetic field is here assumed to be a constant vector m, which might be known in advance or might be estimated in a separate calibration phase.
Secondary position sensors are also relevant for this invention, such as Bluetooth beacons or global navigation satellite systems (GNSS) providing a position fix (X(t), Y(t)) of high accuracy.

(13) In summary, we have the raw measurements:
y.sup..sub.k=.sub.k+b.sup..sub.k+e.sup..sub.k
y.sup.a.sub.k=R(q.sub.k)g+b.sup.a.sub.k+d.sup.a.sub.k+e.sup.a.sub.k
y.sup.m.sub.k=R(q.sub.k)m+b.sup.m.sub.k+d.sup.m.sub.k+e.sup.m.sub.k
These sensors are representative for the key steps in this invention, but it should be noted that there are other sensors for measuring angle and angular rates of a device for indoor navigation.

(14) In the horizontal plane, the heading defines the direction of motion of the device relative the reference map. The heading in the horizontal plane is defined as , and correspondingly, the heading rate is defined as {dot over ()}. A heading rate sensor can be provided by {dot over ()}=.sub.z from the gyro, given that the device is orientated horizontally all the time. With an inclination sensor measuring q, the heading rate can be computed as {dot over ()}=(1,0,0)R(q). In this way, we have the basic form of a heading rate sensor.

(15) One way to compute the heading rate directly is based on the dot product of the gyro and accelerometer,

(16) . = || .Math. a || g ( 4 )

(17) This model illustrates the main problems of using the gyro as a heading rate sensor. More advanced ways to utilize the gyro will be described later. If we replace the theoretical values of gravitational acceleration and rotational rates using (1) and (2), then we approximate the total effects of bias, disturbance and noise as
y.sup.{dot over ()}.sub.k={dot over ()}.sub.k+b.sup.{dot over ()}.sub.k+e.sup.{dot over ()}.sub.k.(5)

(18) The point is that we replace the three-dimensional errors of two sensors with one dimensional error of each kind (offset, disturbance, measurement error). This is sufficient for horizontal positioning, and substantially decreases the complexity of the problem. Normally, the set of all offsets is not even identifiable.

(19) Similarly, the heading of the device can be computed from the magnetometer using a cross product (for simplicity, assuming an horizontal device with ==0 more advanced models to follow)

(20) v = a m = ( cos ( ) sin ( ) 0 sin ( ) - cos ( ) 0 0 0 1 ) ( 0 cos ( ) m - sin ( ) m ) ( 0 0 g ) = gm cos ( ) ( cos ( ) sin ( ) 0 ) , ( 6 ) = atan ( 2 / 1 ) . ( 7 )

(21) Here, m is the magnitude of the earth magnetic field and is dip angle (angle to horizontal plane). Both are location-dependent, but their influence will be cancelled out when solving the right hand side above for the heading .

(22) Once again, if we replace the theoretical values of gravitational acceleration and magnetic field with the observed values (1) and (3), then we approximate the total effects of bias, disturbance and noise as
y.sup..sub.k=.sub.k+b.sup.{dot over ()}.sub.k+e.sup.{dot over ()}.sub.k.(8)

(23) Thus, the inertial sensors provide the following heading related information, which can be seen as virtual sensors of heading rate and heading:
y.sup.{dot over ()}.sub.k={dot over ()}.sub.k+b.sup.{dot over ()}.sub.k+d.sup.(1).sub.k+e.sup.{dot over ()}.sub.k(9)
y.sup..sub.k={dot over ()}.sub.k+b.sup..sub.k+d.sup.(2).sub.k+e.sup..sub.k(10)

(24) The first disturbance d.sup.(1).sub.k is mainly due to an acceleration that causes the accelerometer to measure linear acceleration besides gravitation. The second disturbance d.sup.(2).sub.k is mainly due to a magnetic disturbance that comes and goes. The two offsets b.sub.k are caused by all of the involved offsets (nine in total). These offsets are slowly varying over time, and can during short time horizons be seen as a constant.

(25) A Horizontal Motion Model

(26) Denoting the horizontal position at time t with (X (t), Y(t)), one embodiment of dead reckoning model based on the state vector x=(X, Y, , {dot over ()}, L, b.sup., b.sup.{dot over ()}) is as follows:
X(t+1)=(t)+L(t)cos((t)),(11)
Y(t+1)=Y(t)+L(t)sin((t)),(12)
(t+1)=(t)+T(t){dot over ()}(t),(13)
{dot over ()}(t+1)={dot over ()}(t)+T(t)w.sup.{dot over ()}(t),(14)
L(t+1)=L(t)+w.sub.L(t),(15)
b.sup.{dot over ()}(t+1)=b.sup.{dot over ()}(t)+w.sup.b,{dot over ()}(t),(16)
b.sup.(t+1)=b.sup.(t)+w.sup.b,(t),(17)

(27) Here, the offsets are assumed to be slowly time-varying according to a random walk. The heading is assumed to be double integrated white noise, and the speed L(t) is integrated white noise. The position is dead-reckoned from heading and speed. The sampling rate can be time-varying, and T(t)denotes the sample interval at time t. In one embodiment, t denotes the number of steps taken, L(t) is the step length and T(t) the step interval.

(28) The point with this selection of states is that the measurements in (9) and (10) are now (linear) functions of the state. Similarly, position related measurements as provided by GNSS, radio beacons or proximity sensors are also (linear) functions of the state. In total, the framework fits a standard filtering application, where the extended or unscented Kalman filter, point-mass or particle filters, can be applied. It will be appreciated that other suitable algorithms may be used instead if desired.

(29) The horizontal motion model (11)-(17) constitutes one instance of a pedestrian odometric model with the purpose of dead-reckoning inertial sensor information into a trajectory. This pedestrian trajectory can be used to monitor the correctness or plausibility of the sensor information. If one of the inertial sensors gives contradictory information or information that results in improbable trajectories, it can be deemed to be an outlier. The odomeric model is thus one instrument for detecting outliers in the measurements.

(30) Moreover, building information models (BIM) can be used to define feasible pedestrian trajectories that follow corridors and doors, without crossing walls and other obstacles. BIM is thus a further tool to monitor the measurements and another instrument that can be used to detect outliers.

(31) Building information models can also be handled in the filter framework described above, for instance as constraints on passable areas in the horizontal plane.

(32) One key point is that supporting information from BIM and position sensors will assist in tracking the offsets and in this way improve the dead-reckoning in intervals with no such information.

(33) Outlier Rejection of Bad Measurements.

(34) The virtual sensors in (9) and (10) can both be either reliable or unreliable, depending on the disturbance. This can be phrased as a hypothesis test for each virtual sensor i:
H.sup.(i).sub.0:d.sup.(i).sub.k=0,(18)
H.sup.(i).sub.1:d.sup.(i).sub.k0.(19)

(35) To decide if a virtual sensor is reliable at the same time as getting a robust estimate of heading, a filter approach can be done. In a straightforward embodiment, a Kalman filter can be used as follows.

(36) The hypothesis test in (18) can be implemented using the following tests:
|y.sup.(1).sub.k{circumflex over ()}.sub.k|<h.sup.(1),(20)
|y.sup.(2).sub.k{circumflex over ({dot over ()})}.sub.k{circumflex over (b)}.sub.k|<h.sup.(2),(21)
(22)

(37) It should be noted that there are many ways to state this and similar tests, for instance by weighting the test statistics with the inverse covariance from the Kalman filter. In an IPS, some of the disturbances can be reoccurring at the same position for all users. This is true for magnetic disturbances, for instance. The device may therefore report the existence and size of the disturbance to a database. This allows for crowd-sourcing of magnetic field disturbances that can be added to the IPS BIM model.

(38) Three-Dimensional Orientation Models

(39) The exemplary and illustrative computations leading to (9) can be extended to more advanced three-dimensional navigation models. Here, the rotational dynamics can be stated as a dynamical system using the rotation vector q (Euler angles, quaternions or any other representation deemed useful) and angular rate vector using the state vector x(t)=(q.sup.T(t),.sup.T(t),b.sup.(t),m(t).sup.T. Here, gyro bias and magnetic field are also included in the state vector.

(40) The continuous time dynamics for this state vector are given by:
{dot over (q)}(t)=S(q(t))(t),(23)
{dot over ()}(t)=v.sup.(t),(24)
b.sup.(t)=v.sup.b(t),(25)
m(t)=v.sup.m(t),(26)
where v.sup.i(t), i{, b, m} are stochastic processes modeling the change in angular rate, gyro bias and magnetic field, respectively. Here, q=q(t) is a continuous time angle, while q.sub.k is the value at a sampling time t.sub.k, indexed by k.

(41) In this 3D case, there is also an option to eliminate the angular rate from the state vector, and the complete model becomes:
{dot over (q)}(t)=S(q(t))(y.sup.(t)b.sup.(t)e.sup.(t))(27)
y.sup.a.sub.k=R(q.sub.k)g+b.sup.a.sub.k+d.sup.a.sub.k+e.sup.a.sub.k(28)
y.sup.m.sub.k=R(q.sub.k)m+b.sup.m.sub.k+d.sup.m.sub.k+e.sup.m.sub.k(29)

(42) Here, d.sup.(i).sub.k for i{m, a} is a possible disturbance on magnetometer (m) and accelerometer (a), respectively, and e.sup.(i).sub.k denotes their measurement noise.

(43) Just as in the 2D case, we can first include the offset values b in the state vector and learn these on the fly, and second we can pose the problem with disturbances as a hypothesis test, this time directly on the magnetometer and accelerometer (i{a, m}):
H.sup.(i).sub.0:d.sup.(i).sub.k=0,(33)
H.sup.(i).sub.1:d.sup.(i).sub.k0.(34)

(44) A simple hypothesis test is to accept the magnetometer measurement if
y.sup.m.sub.kR({circumflex over (q)}.sub.k){circumflex over (m)}.sub.k<h.sup.m(35)
and for the accelerometer
y.sup.a.sub.kR({circumflex over (q)}.sub.k)g<h.sup.a(36)

(45) The described embodiments illustrated in 2D and 3D fit into a general nonlinear filtering framework where the state vector is x=(q.sup.T b.sup.,T m.sup.T).sup.T. It is also a standard problem to detect the disturbances in the measurements y.sub.k by outlier detection algorithms, and in such case exclude such outliers from the filter operation.

(46) The result is a nonlinear filter that provides the orientation q of the device even during short time accelerations and passages of magnetic field disturbances. The time update in the nonlinear filter involves simulation of the dynamic model from one measurement time to the next one. The model in Equation (30) above is given in continuous time, and can in a standard way be discretized by integrating the measured turn rate. This is preferably done as fast as possible to avoid discretization effects.

(47) The measurements arrive at a high sampling rate. Since the movement of the user is rather periodic, much can be gained by averaging the accelerometer and magnetometer signals over one complete cycle. The motion pattern would then ideally integrate to zero when moving with constant speed straightforward, and the two disturbances would naturally be zero. This approach requires that the period time of the motion pattern is known, which requires an external input. Here, a standard step detection algorithm can be used.

(48) In one embodiment, the particle filter is used as a nonlinear filter. It has many nice features for indoor navigation. The disturbances we anticipate in Equations (1-3) that we want to detect can be summarized as follows: The disturbance d.sub.k.sup.a is due to a linear acceleration of the device. This can be caused by user operation of the device, which implies problem to find the downward direction and the orientation q of the device. The disturbance d.sub.k.sup.m is due to hard and soft iron in the environment, that gives rise to a magnetic field that is superimposed on the earth magnetic field that is used to find that compass direction.

(49) What we mean by outlier is thus a disturbance, including the ones above, that would be falsely interpreted as motion-related if not detected and treated appropriately in the IPS. An outlier can also be caused in the sensor itself, rather than by the user or the environment.

(50) For instance, it can handle the nonlinear rotation operations without approximation, and it can evaluate a large number of hypotheses on the trajectory in real-time on standard devices. For this approach, it adds the benefit of soft decisions. That is, normally an outlier rejection test or hypothesis test leads to a hard decision that is fed back to the filter. An incorrect decision will then lead to a decision feedback problem that may cause divergence in the filter. The feature of having a large number of independent hypotheses in the particle filter enables soft decisions.

(51) While there are other application scenarios for the illustrated system and process, this document will not attempt to catalog all such uses. Those of skill in the art will appreciate that there are many possible embodiments to which the principles of the present disclosure may be applied. The embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the claims. Therefore, the techniques as described herein contemplate all such embodiments as may come within the scope of the following claims and equivalents thereof.