The present invention relates generally to positioning systems, and in particular to a method of determining relative and/or absolute position.
Many positioning systems are known, for instance, the Global Positioning System (GPS) is widely used to determine the position of vehicles, aircraft, pedestrians, etc. However, these systems have limitations which prevent their use in many scenarios. One such scenario is the case of indoor positioning, where line-of-sight to GPS satellites is obstructed by the building structure. Many other scenarios, such as those requiring high accuracy, also prove problematic with existing positioning systems. Typical accuracy of consumer positioning systems is about 10 meters.
Therefore, it is desired to provide novel positioning systems and methods capable of providing high accuracy in indoor environments.
Herein, we describe a method of calculating position and a positioning system using two or more wireless communication devices, hereafter referred to as nodes. With one or more of the nodes having Received Signal Strength (RSS) measuring capability and one or more of the mobile nodes having an Inertial Measurement Unit (IMU).
Normally, positioning based on RSS measurements is not sufficiently accurate for most applications. With the method and algorithms described herein, we disclose a new method and a positioning system applicable to portable wireless devices, including but not limited to, smartphones, tablets, laptops, et cetera. The methods disclosed combine RSS measurements as well as measurements from other ancillary sensors, e.g. accelerometer, barometer, magnetometer, etc. available in all or a subset of the system nodes, ultimately, providing position data with significantly improved accuracy.
Referring to
The mobile nodes 101 are equipped with RSS measuring capability. One or more of the mobile nodes are equipped with one or more ancillary sensors, including but not limited to, one or more inertial sensors 106. The system determines the positions of the mobile nodes 101 based on RSS information corresponding to an RF communication 130 from the fixed nodes 121, inertial sensor 106 measurements, and the map database 105.
In this embodiment the host processing engine is in the form of a microprocessor 104. In some embodiments, as shown in
The RSS measurement observed at node k due to RF transmission 130 made by node l, is denoted here as
d
kl=10(z
where γ is the pathloss exponent, zl(dBm) is the measured RSS of the RF signal transmitted by node l at a reference distance of 1 m in decibels milliwatt (dBm), which may be determined during calibration. Those skilled in the art appreciate that, if zl(dBm) is measured at a distance other than 1 m, equation (1) must be adjusted accordingly. In this embodiment, γ is estimated during calibration. In some embodiments, the RSS-based location algorithm estimates γ. Those skilled in the art appreciate that the estimation of γ may be achieved through a variety of known methods, such as Least Squares (LS) methods.
The Euclidean distance between nodes k and l on a two-dimensional surface (e.g. floor of a building) is related to node coordinates xk,yk,xl,yl (with reference to a local and/or a global coordinate system) as
d
kl=√{square root over ((xk−xl)2+(yk−yl)2)} (2)
In some embodiments, a nominal position, denoted here as {tilde over (x)}k,{tilde over (y)}k, is assigned to mobile node k. Nominal positions are previously known positions of mobile nodes. In some embodiments, nominal positions are projected positions predicted from inertial sensor measurements or from other ancillary sensors 107 available in mobile nodes. In other embodiments, nominal positions are estimated using any singular implementation or combination of known RSS positioning methods, e.g. proximity-based methods.
In some embodiments, mobile node positions are calculated according to the steps described below.
All or a subset of RSS measurements may be used to calculate the nominal range between nodes k and l as
{tilde over (d)}
kl=√{square root over (({tilde over (x)}k−xl)2+({tilde over (y)}k−yl)2)} (3)
Calculate the difference between nominal range {tilde over (d)}kl and RSS range estimate dkl as
Δkl={tilde over (d)}kl−dkl (4)
A
kl=[({tilde over (x)}k−xl)/{tilde over (d)}kl({tilde over (y)}k−yk)/{tilde over (d)}kl] (5)
Calculate mobile node position(s) as
{circumflex over (x)}
k
={tilde over (x)}
k
+δx
k
ŷ
k
={tilde over (y)}
k
+δy
k (6)
where δxk=[δX]k and δyk=[δY]k, and
[δXδY]=(ATΔ)−1ATA (7)
and [Δ]kl=Δk1, [A]kl=Akl from equations (4) and (5), respectively.
In some embodiments, anchor nodes are equipped with RSS measuring capability and mobile node positions are estimated based on the RSS measurements made at all or a subset of anchor nodes. In other embodiments, RSS measurement capability is enabled in all or a subset of mobile and anchor nodes.
RSS measurements are associated with unique identifiers representing the source node of the RF transmission (e.g. MAC address). In some embodiments, nominal node positions are determined by the position of the closest node(s) with known position(s). For example, RSS values measured at node k, over a period of τ seconds, will be searched to determine the unique identifiers (e.g. the MAC address) of the node associated with the largest RSS value. If, for example, the largest RSS value measured by node k belongs to node l, the known position of node l can be used as the nominal position of node k i.e. {tilde over (x)}k=xl and {tilde over (y)}k=yl.
In other embodiments, if the largest RSS measurement made at node k is associated with wireless transmission made by node l, and this value is larger than a predetermined threshold, nodes k and l may be considered to be collocated i.e. xk=xl and yk=yl.
In some embodiments, the mobile node k is a smartphone participating on a WiFi network.
In other embodiments, the mobile node k is a smartphone receiving Bluetooth® signals transmitted by other nodes.
In some embodiments, the mobile node k is a smartphone measuring RSS of Bluetooth® and WiFi signals transmitted by other nodes.
Those skilled in the art appreciate that a variety of RSS-based position estimation methods are known, such as, proximity-based, differential RSS, fingerprinting, multilateration, etc. and may be used interchangeably.
In some embodiments, where RSS fingerprinting is used to determine coarse node positions, the RSS fingerprint map is produced based on an initial calibration.
In other embodiments, where RSS fingerprinting is used to determine coarse node positions, computed positions and observable sensor data are relayed to the processing engine to refine and update the RSS fingerprint map.
Mobile nodes are equipped with at least one inertial measurement unit and may include other ancillary sensors including but not limited to, magnetometer, barometer, lux meter, temperature sensor, camera, et cetera. The host processing engine fuses RSS measurements with ancillary sensor measurements to improve positioning accuracy.
In some embodiments, RSS-based position estimates are used to correct for inertial sensor errors, e.g. bias and bias drift, thereby providing improved positioning accuracy. One implementation of such sensor fusion is described below.
IMU measurements at mobile nodes are used to estimate mobile node attitudes. Accelerometer measurements are generally made with reference to the body frame. Mobile node attitudes may be used to transform acceleration information to the navigation frame, also known as the local level frame (LLF). Those skilled in the art, appreciate that a variety of vector coordinate transformations are commonly used in navigation systems and embodiments herein are not limited to use of any particular frame. For simplicity of notation and as a non-limiting example, LLF is assumed hereafter.
Let ak denote the vector acceleration associated with IMU measurements of node k. Also, let δ{dot over (θ)}k, δv{dot over (k)}k, and δ{dot over (a)}k denote the time rate of change of the 2D vector position error δθk=[δxk δyk], velocity error, and accelerometer error associated with node k such that
δ{dot over (θ)}k=δvk
δ{dot over (v)}k=δak (8)
In this embodiment, accelerometer errors are modeled using a first order Markov process as
δ{dot over (a)}k=−αkδak+√{square root over (2αkσk2)}wk (9)
where αk is the reciprocal of the correlation time of the Markov process, σk2 is the variance of the white noise associated with the process, and wk is the 2×1 uncorrelated White Gaussian Noise vector (WGN) of unit covariance.
An error state equation can be given for node k as
where 02, and 12 are 2×2 matrices of zeros and ones, respectively, and
W
k
T=[0,0,0,0,wkT√{square root over (2αkσk2)}]
For the system with KI such nodes, the KF state equation may be expressed in matrix form as
{dot over (X)}=AX+W (11)
where XT=[x1, . . . , xK
where 0 denotes a 6×6 matrix of zeros.
A KF state propagation equation in discrete form is then given as
x[n|n−1]=Φx[n−1|n−1] (12)
where
Φ=exp(AΔtn)≅(I6K
where I6K
P[n|n−1]=ΦP[n−1|n−1]Φ+Q (14)
where Q is the 6KI×6KI diagonal matrix of noise covariance with the 6 diagonal elements associated with node k given as
Q
diag
{k:k+6}≅Δtn[0,0,0,0,2αkσk2,2αkσk2] (15)
Let θLS denote the LS estimate vector of the mobile node positions. The indirect Kalman Filter measurement equation is given as
Ψ[n]=θLS[n]−θ[n|n−1]=Hx+η (16)
where H=IK
x[n|n]=x[n|n−1]+K[Ψ[n]−Hx[n|n−1]] (17)
where K is the Kalman gain given as
K=P[n|n−1]HT(HP[n|n−1]HT+R)−1 (18)
The accuracy of the Kalman Filter update is depicted in the prediction covariance which is given as (the Joseph form)
P[n|n]=[I−KH]P[n|n−1][I−KH]T+KRKT (19)
Finally, the updated positions are
θk[n]=θkINS[n]+δθk[n|n] (20)
where θkINS[n] is the 2D position of mobile node k from INS.
Those skilled in the art appreciate that, in alternative embodiments, various Bayesian methods such as particle filter, other forms of Kalman Filter, etc. may be used for fusing IMU data with RSS measurements.
In some embodiments, ancillary sensor data, e.g. inertial sensor outputs, are relayed to the processing engine along with the RSS measurements.
In some embodiments, RSS is measured at anchor nodes, and coarse mobile node position based on those RSS measurements are relayed to the mobile node. The mobile node fuses the provided coarse position with its ancillary sensor (including IMU) measurements to improve location accuracy.
In some embodiments, the RF communication data is not relayed to the processing engine, and coarse node position(s) are computed locally at nodes. In other embodiments the RF communication data contains the position of the transmitting anchor node.
In other embodiments, the position of the transmitting anchor node is embedded in the transmitted wireless communication data.
In another embodiment, ancillary sensor data is continuously stored in memory until it is relayed to the processing engine in addition to the RSS measurements.
In some embodiments, ancillary sensor information will be preprocessed in some nodes and only state variables of interest will be sent to the processing engine. For example, each mobile node may process its IMU and magnetometer sensor outputs to estimate user heading and the number of steps taken between RSS measurements.
In one embodiment, a pedestrian dead reckoning (PDR) algorithm is first utilized to determine position information from IMU data. Generally speaking, PDR methods estimate user position relative to an initially known position based on: pedestrian's stride length, number of steps taken since the initial position, and the heading information extracted from an electronic compass on the mobile device. Those skilled in the art appreciate that various PDR methods are known and have been integrated to athletic wearables such as Garmin Phenix 3®.
In another embodiment of the current disclosure described in
In one embodiment of the current disclosure, the anchor nodes of the system may not be equipped with inertial sensing functionality. They may not possess information about their fixed position. They may not possess RSS measurement capability.
In another embodiment, the anchor nodes manage the wireless communication between nodes.
In one embodiment, RSS measurements are first processed using a traditional position location algorithm such as triangulation or Least Squares to derive position from RSS measurements. This information is then directly fused with inertial sensor data to improve position location accuracy.
In an embodiment of the current disclosure, the nodes share timing information such as the start and/or end times of each measurement.
In some embodiments, a cooperative positioning system is implemented as shown in
In another embodiment of the current disclosure, some or all of the nodes are equipped with barometric pressure sensors for determining node altitudes.
In one embodiment, some or all of the nodes are equipped with magnetic sensing functionality for determining mobile node heading.
In one other embodiment of this disclosure, sensor measurements will be sorted based on their relative accuracy and only high quality measurements will be considered for positioning. That is, the sensor data is captured and assessed for accuracy based on their corresponding signal to noise ratio, variance, etc. Only a subset of more reliable measurements will be considered for further processing.
In one embodiment of the current disclosure, the positioning algorithm is aided by context aware constraints, such as map information on the location of walls and non-traversable terrain, or motion constraint information such as step length of the person carrying a mobile node, etc.
Although embodiments have been described above with reference to the accompany drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the scope thereof as defined by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/248,131, filed Oct. 29, 2015, which is incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62248131 | Oct 2015 | US |