Tracking location of mobile device in a wireless network
A method and system for dynamically tracking the location of mobile nodes (104, 106, 108, 110n) in a wireless network (102) is disclosed. The method comprises: for each mobile node, dynamically measuring the range between the mobile node and at least one neighboring node (step 202); and executing a Bayesian tracking algorithm for each mobile node (step 204). The algorithm has the measured range as an input, exchanges data with tracking algorithms for neighboring mobile nodes, and utilizes a statistical model of error in measured range and a statistical model of node motion to dynamically determine location.
Latest Commonwealth Scientific and Industrial Research Organisation Patents:
This application is a national phase application of International Application No. PCT/AU2012/000018, filed Jan. 11, 2012, and related to Australia Application No. 2010905143, filed Nov. 19, 2010, both of which are incorporated by reference herein in their entirety.
TECHNICAL FIELDThe invention relates generally to wireless communications, and particularly to methods and apparatus for dynamically tracking the location of mobile devices in a wireless network.
BACKGROUNDThere are many applications in which it is desirable to track or locate objects or people, such as: tracking athletes for training or providing event information in real time; tracking emergency services or military personnel in buildings and urban environments; tracking staff, patients, and equipment in hospitals and nursing homes; and tracking staff and equipment in industrial, hazardous or mining environments for safety and automation.
The Global Positioning System (GPS) has been widely used for tracking across a wide range of applications, however there are many situations in which GPS cannot be used due to cost, accuracy, and reliability and availability of GPS signals. For example GPS cannot usually be used for tracking within large buildings or in underground mines. A solution in such cases is to deploy a local positioning system consisting of an infrastructure of anchor nodes at known locations and mobile nodes attached to the objects to track. The location of the mobile nodes can be determined in two or three dimensions through an exchange of radio signals between the mobile nodes and the anchor nodes.
A problem with local positioning systems, particularly in environments with constraints on signal propagation such as buildings and mines, is that the required anchor node density for full site coverage is not practical. Furthermore, the radio communications systems in such environments are frequently ad hoc or mesh networks. The requirements on the anchor nodes can be reduced by using “cooperative localisation”. In cooperative localisation, signals are not only exchanged between anchors and mobile nodes, but they are also exchanged between mobile nodes, hence nodes cooperate to determine their location using the network.
Cooperative localisation usually uses distance measurements between communicating node pairs, the distance being estimated from the exchanged radio signals and typically be based on time of arrival or signal strength.
A simple form of cooperative localisation is iterative multilateration. Multilateration is used to determine the locations of mobile nodes with sufficient distance measurements to anchor nodes. The computed mobile nodes are then treated as anchor nodes and this procedure is iterated until no more mobile nodes can be located. Two problems exist with this approach: the error performance is poor, and in many network topologies the location of many of the mobile nodes cannot be estimated by this algorithm.
A need exists, therefore, to provide improved location tracking.
SUMMARYIn one broad form there is provided a method for dynamically tracking the location of mobile nodes in a wireless network comprising:
-
- for each said mobile node, dynamically measuring the range between said mobile node and at least one neighbouring node; and
- executing a Bayesian tracking algorithm for each mobile node, said algorithm having said measured range as an input, exchanging data with tracking algorithms for neighbouring mobile nodes, and utilising a statistical model of error in measured range and a statistical model of node motion to dynamically determine location.
In another broad form, there is provided a wireless tracking system comprising:
-
- a plurality of mobile wireless devices, each said mobile device including a transmission circuit for the sending data as radio signals, and a range estimation module for dynamically measuring the range between said device and at least one neighbouring device; and
- a plurality of anchor wireless devices, each said anchor device being at a known location and including a range estimation circuit for dynamically measuring the range between said anchor device and at least one neighbouring device; and
- a Bayesian tracking filter for each said mobile device for receiving said measured range as an input and exchanging data with tracking algorithms for neighbouring mobile nodes, said tracking filter utilising a statistical model of error in measured range and a statistical model of node motion to dynamically determine location.
In a yet further broad form, there is provided a mobile wireless device comprising:
-
- a transceiver circuit for sending and receiving data to neighbouring said mobile devices;
- a range estimation module for dynamically measuring the range between said device and at least one neighbouring device; and
- a Bayesian tracking filter that receives said measured range as an input and exchanges data with tracking algorithms for neighbouring mobile nodes, and utilises a statistical model of error in measured range and a statistical model of node motion to dynamically determine location.
Further, there is provided a mobile wireless device comprising:
-
- a range estimation module for dynamically measuring the range between said device and neighbouring devices; and
- a transmitter circuit for sending measured ranges to separate device having a tracking filter for said mobile device.
Advantageously, the method and apparatus combine cooperative localisation with temporal tracking in a Bayesian framework that allows other information to be included in the tracking algorithm. In particular, the tracking method uses a statistical model of the mobile node motion to constrain the node track and uses a statistical model of the error in the measured range/distance between nodes. The use of information about the distribution of measured range/distance error has a beneficial effect on the tracking accuracy, particularly in radio propagation environments (such as indoors and underground) where the range/distance error is biased. Most distance measurement systems will produce some outlier measurements with potentially large errors, and a simplified distance error likelihood function is used in the Bayesian framework that is robust to such outliers. This framework also allows other information to be included such a data from an inertial motion unit or a map of the location.
Conceptually, a tracking filter is used for each mobile node. The computations for this filter can be performed on each mobile node, which has the benefit of allowing the network to scale to arbitrary size, however the computations could be distributed in other ways or centralised. Each tracking filter exchanges information with filters for neighbouring nodes so that mobile node filters have information including the range to and location of neighbouring nodes. The Bayesian framework can make use of the information about the uncertainty in node locations, such as a distribution or covariance, when available. As communication bandwidth is limited when node location distributions are exchanged usually only a simplified model rather than a full two- or three-dimensional array will be exchanged.
A ‘locate and track’ method uses a locate step to provide a location to the tracking filter. This allows a computationally simple filter to be implemented that is particularly suited to situations where the distance measurement error is approximately Gaussian distributed. A more complex ‘direct range fusion’ method allows tracking to continue where there are too few range measurements for the location step in the locate and track algorithm, and readily handles non-Gaussian noise. This approach is well suited to complex radio propagation environments such as within buildings and underground.
Compared to existing methods, embodiments of the present invention provide more accurate tracking through the greater use of information about and constraints on the mobile node. This also allows tracking to continue in situations where other methods would lose track, and also provides methods for determining when the track has been lost and for reinitialising the track of the mobile node. The estimation of kinematic parameters of the mobile nodes (such as velocity) that form part of the motion model state can also be estimated.
Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
An example application for cooperative tracking is fire fighting.
The computations to update the location of the mobile nodes can be distributed or centralised, with the two most common situations being all locations computed on a single computational device within the network (e.g., attached to one of the fire trucks) or location being distributed and calculated on each of the mobile devices. In the example embodiment, the system will be described such that the tracking of each mobile node is distributed and performed within each mobile node, which has the advantage of scaling well with network size. However, it will be understood that there are many other ways in which the computations of range and the method for tracking could equally be distributed or centralised.
Some nodes in the network 102 may have an independent means of determining their location. For example, for the fire trucks 104, 106, 108 outside the building 100 a GPS device could be used to determine their location. In other applications a conventional survey could be used to determine the location of fixed nodes. These nodes are known as the “anchor nodes”, and are used to locate the other nodes in the network that are known as the “mobile nodes”. Mobile nodes in general do not have an independent means to locating themselves. They make available information about their location and possibly a measure of the reliability of the location. Anchor nodes are often fixed so no tracking is required. A mobile node may include other aids to localisation such as an inertial motion unit or odometry, and this information can be used in the tracking filter for each mobile node.
Referring now to
A node tracking filter needs to be initialised, in step 308, with information such as an initial estimate of the respective node location. In general, there is no initial estimate of the state parameters at turn on, and the parameters become invalid if the location of the node is unknown. If the track is not initialised, then an initialisation is performed in step 308, else if so, then node tracking begins in step 310. A test is then performed in step 312 of whether the track is valid, and if not, then in step 314 the track is terminated (to begin again).
Information exchange step 304 returns information from all neighbours with which the current node has successfully communicated, which includes the possibility of information obtained from no neighbours or only a few. Is it also possible that a distance estimate to a node is obtained, but that node is not initialised so has no information about its location to send. The neighbour information must include information about the location of a neighbour. The specific information depends upon the details of the node tracking step 310, and such possibilities include coordinates for each node, or mean and covariance of node location estimate, or a distribution (two-dimensional or three-dimensional) for the node location estimate, or a compact representation of the distribution. It may be beneficial to exchange other information such as kinematic parameters for the mobile nodes. The information exchanged can also be about the last tracked location of the node, or a prediction of the node location at a future time.
Where the node tracking filters (i.e., step 310) are distributed in a network due to limited communication bandwidth, it is not generally desirable to exchange a full distribution of node location, so the use of summarised measures such as mean and covariance for a Gaussian model would be preferred in that case. This can also be extended to a Gaussian mixture model. The information exchanged between nodes will be called “exchanged node information” hereinafter. This exchange is applicable to all nodes. Mobile nodes will exchange information from their tracking filters, and anchor nodes will provide their location and may also have an uncertainty in their location (e.g. if a GPS reference, the GDOP can also be sent).
There may be situations where the range and exchanged node information that a particular node filter obtains from its neighbours does not permit the node tracking step 310 to update the current node location. Reasons for this could include insufficient neighbours, neighbours without location information or ill-conditioned data. The node tracking step 310 can predict the current location of the node, however, in the absence of usable measurements, the uncertainty in the node location grows until the estimated location is useless and the track is regarded as lost. When the track is terminated, in step 314, previous state information about the track is discarded and the track is reinitialised when suitable data becomes available. In one example embodiment, a counter is incremented every time the current information is set to the predicted state and the same counter is set to zero when the current information is set to the updated information. If the counter exceeds a predefined threshold, meaning that the node state information has been predicted for long enough, the track is terminated. In another example embodiment, the track quality is evaluated using the log-likelihood track score function. When the track score is lower than a predefined threshold the track is terminated.
Track Initialisation
Initialisation of a mobile node tracking (step 308) requires that an initial location (this could be coordinates or a distribution) for the mobile node is determined. There are often other parameters to be initialised, such as kinematic parameters or estimates of measurement and process noise, which are particular to the tracking method and motion model employed.
A known simple technique is when range measurements to a sufficient number of neighbouring anchor nodes are available through the range and location information exchange with neighbours, in which case a multilateration method such as the well-known iterative least squares algorithm can be used. In the more difficult situation where cooperative localisation is required, such a technique preferably is not used.
In one embodiment of the initialisation step 308, a known DV distance algorithm can be used. In the DV distance algorithm the multi-hop distance from each node to each anchor is determined using a distributed routing algorithm. The estimated multi-hop distance will be greater than the actual distance between the node and the anchors, and in a second phase a correction term is determined and propagated to all nodes. Based on the estimated distance to the each anchor the mobile nodes can use a multilateration algorithm to obtain an initial estimate of its location. An optional refinement step to the DV distance position estimate can be applied, which iteratively updates the node location by exchanging information with neighbours.
One disadvantage of known cooperative localisation algorithms is that they assume that the network has already been formed with all mobile nodes having a multi-hop connection to a minimum number of anchor nodes (three required for two-dimensional localisation). An example where this is not the case is if the fire fighters 110n each arrive in their trucks 104, 106, 108 and are initially in the immediate vicinity of their respective truck. In this case, the initial location for the fire fighters could be the location of the anchor nodes in the truck obtained using GPS. A similar idea is if an uninitialised node passes sufficiently close to a node of known location then that known location is used as the initial location for the uninitialised node.
Node Tracking
Node tracking (step 310) can be viewed as inference on a dynamical system. The objective is to infer the state of the system, which consists of parameters that are not directly observable from noisy measurements. A dynamical system is often defined using two models: a model describing the change of the state with time (called a ‘state transition model’) and a model that describes the relationship between the state and the measurement (called a ‘measurement model’). The term “state” is traditionally used in filtering, and for the purposes of ‘tracking’, the ‘state transition model’ is a model of the motion of the node, parameterised by the values in the state (such as location and velocity). In this document the ‘state transition model’ will be called the ‘motion model’ to emphasise its purpose, however it will be understood by those skilled in the art that a state transition model can include more than a motion model.
Often the motion and measurement models are available in a probabilistic form to account for disturbances that occur in the real world. Treating the system as a dynamical system, and using temporal information and a motion model, allows more accurate tracking of the node and estimation of kinematic parameters if desired.
Upon receiving a new measurement the state is updated to reflect its new value. With a probabilistic nature of the state-space representation of the dynamical system this process fits ideally in the Bayesian estimation approach. An advantage of using a Bayesian framework is that other information (such as from an inertial motion unit) are readily incorporated.
The problem that is solved is of tracking the state of the nodes in a wireless network from the measurements of range between pairs of nodes. The motion and measurement models can be written, respectively, as
xk=f(xk-1)+vk-1 (1)
zk=h(xk)+ωk (2)
where xk is the state of the node at time k and zk is a range measurement between a node and one of its neighbours; vk is the disturbance in the state evolution and ωk is the measurement noise. Although these disturbances are shown as additive in equations (1) and (2) for simplicity, it will be apparent that they need not be additive. ƒ(.) is the state transition function and h(.) is the measurement function. These functions can either be linear or nonlinear functions of the state xk.
Motion Model
As is known in the art, by modelling the motion and including the model in the temporal tracking (or filtering) algorithm noise is suppressed and a better quality track is obtained. For highly predictable motion, such as a ballistic trajectory, the motion is well described using the appropriate model and one seeks the model (state) parameters. In most applications, such as tracking people, the motion is more unpredictable and the model acts as a constraint on the motion (e.g. a walking person cannot move 100 m in 1 second) and facilitates estimation of kinematic parameters such as velocity. Several known models suitable for two-dimensional tracking are described below, and it will be apparent that these can be extended to three-dimensional tracking, and how other models may be used in the same tracking framework.
In one example embodiment the state will consist of the position and speed components of the node, i.e., xk=[xk, {dot over (x)}k, yk, {dot over (y)}k]T, and the motion is modelled in the Bayesian framework using a nearly constant velocity model as
xk=FCVxk-1+vk-1 (3)
where the state transition matrix is given by
where T is the period of time elapsed between sampling instances k and k−1, I2 is a two dimensional identity matrix, and denotes the Kronecker product. vk-1 is the process noise that accounts for the fact that a mobile node, in practice, cannot hold a constant velocity motion with certainty. It is commonly assumed to be Gaussian distributed with zero mean and covariance matrix Qk-1CV, given by
where q is the process noise intensity. The nearly constant velocity model given in equation (3) is linear in the assumed state vector.
In another example embodiment, the motion is not adequately modelled using a nearly constant velocity model and a constant acceleration model is used to approximate the state evolution. This model is described mathematically as
xk=FCAxk-1+vk (6)
In this case the state consists of the position, velocity, acceleration components, i.e., xk=[xk, {dot over (x)}k, {umlaut over (x)}k, yk, {dot over (y)}k, ÿk]T. The state transition matrix is given by
and the process noise is assumed zero mean Gaussian distribution whose covariance matrix
The constant acceleration model given in equation (6) is also linear in the assumed state vector.
In applications where a single motion model cannot adequately model the dynamics of the state evolution, it is known that multiple models are used to characterise the state evolution and incorporated in the Bayesian tracking framework. In one example embodiment, two nearly constant velocity models with one having low process noise intensity and the other having high process noise intensity is used to track the state of a maneuvering node.
Measurement Model
The measurement model for tracking in a wireless network using range measurement between the nodes in the network in equation (2) will have the following form
zki=√{square root over ((x−xi)2+(y−yi)2)}{square root over ((x−xi)2+(y−yi)2)}+ωki (9)
for 2-dimensional tracking, and
zki=√{square root over ((x−xi)2+(y−yi)2+(z−zi)2)}{square root over ((x−xi)2+(y−yi)2+(z−zi)2)}{square root over ((x−xi)2+(y−yi)2+(z−zi)2)}+ωki (10)
for 3-dimensional tracking. In the above two equations (x, y, z) denote the position of the node which is updating its state, and (xi, yi, zi) is the position of the neighbour. zki is the range measurement to neighbour node i and ωki is the measurement noise.
All the measurements from the neighbours can be collected in a vector and represented as
zk=h(xk)+ωk (11)
where, with N neighbours
The characteristic of the (range) measurement error ωk is dependent on the environment in which the wireless network is operated. The measured range error distribution in an outdoor environment is shown in
Bayesian Tracking of State
With the state-space model defined as in equations (1) and (2), the optimal Bayesian state estimation continuously updates the conditional posterior density of the state. The optimal Bayesian recursion for the estimation of the state of a node, given the range measurements up to and including sampling time k is given by
where xk is the state of the node at time k, zk is the set of ranges measurements obtained from all neighbours, and z1:k denotes all the range measurements from all the neighbours for all sampling times up to k. Further, p(xk-1|z1:k-1) is the posterior density at time k−1, which is assumed to be available from the previous recursions p(xk|xk-1) is the prior density and p(zk|xk) is the likelihood, which can be calculated from the state and measurement models, respectively. The denominator p(zk|z1:k-1) is the normalizing constant of the posterior distribution p(xk|z1:k). The optimal Bayesian recursion is only conceptual and cannot be determined analytically except in special cases.
One special case is the linear-Gaussian state-space model, where both the state and measurement functions are linear, and both the state and measurement noise is Gaussian distributed. In this case a Kalman filter is the optimal minimum mean squared error estimator and presents an analytical approach for the optimal Bayesian recursion. With the assumption of Gaussian noise, the state distribution is Gaussian at any given time, and hence, the Kalman filter propagates sufficient statistics of the state, namely, the mean and covariance.
If the state-space model is nonlinear then the Kalman filter is not directly applicable. The extended Kalman filter (EKF) is a modification of the Kalman filter to handle nonlinear state-space equations. In the EKF the nonlinear state and/or measurement equation is linearised using a first or second order Taylor series expansion. As in the Kalman filter, the EKF assumes a sufficient statistic of mean and covariance for the state, and propagate these through the linearised state-space model.
The unscented Kalman filter (UKF) approximates the state-space distribution using a Gaussian sufficient statistic. Unlike the EKF, the mean and covariance of the state are propagated through the nonlinear system as described by the state-space model, i.e., no linearization is performed. This is achieved by using a deterministic sampling approach in which the state is represented using a carefully chosen sample points.
A relatively recent advancement in nonlinear and non-Gaussian target tracking is the particle filtering technique. Unlike the Kalman filter, or its variants such as EKF or UKF, which assume the sufficient statistic is Gaussian and provides analytical means to propagate the mean and covariance, the particle filter is a sequential Monte Carlo technique that approximates the optimal Bayesian recursion using a point mass representation of the posterior densities. This representation consists of a set of random samples and associated weights. Denote by {xk-1i, wk-1i}i=1N, the random sample-weight pairs that represent the prior density at time k−1. With the availability of the latest measurement at time k, the particle filter algorithm approximates the posterior density at time k by a new set of random sample-weight pairs {xki, wki}i=1N, through sampling and resampling.
The measurement equation for range is non-linear, hence a non-linear filter is required, and where the noise is non-Gaussian the most suitable technique is the particle filter. However, if location is computed for each set of measurements independently (cooperative localisation) then the measurement equation is linear and we can use a simple linear filter to track location. This is termed a “locate and track” method, and the more complex filter based on range is termed the “direct range fusion” method. The locate and track approach is computationally simpler and well suited to simpler applications particularly where the noise is Gaussian distributed. The direct range fusion filter performs better with non-Gaussian noise and allows tracking to continue when there are too few measurements for an independent locate step.
Measurement Validation
An optional step preceding the node tracking step 310 is to validate the range measurements, and remove those that are inconsistent with the system state and presumably erroneous from consideration by the tracking algorithm. This is to prevent range measurement with large errors (outliers) from adversely affecting the tracking performance. In one embodiment, if the measured distance between the node and a neighbour exceeds by a threshold the expected distance (based on either previous or predicted locations) then that distance measurement is rejected as an outlier.
Locate and Track
An example embodiment of the tracking method (step 310 in
After predicting the state information of the node the locate and track method attempts, in step 606, to calculate a new node location using the most-recent set of measurements. This can fail to find a valid solution for a number of reasons including too few measurements, ill-conditioned data or inconsistent data. In step 608, if a new location was not able to be calculated then the current state of the node becomes the predicted state in step 610. If a new location can be computed then, in step 612, the tracking algorithm uses the predicted state and calculated location to update the state information in step 614. The current state is output in step 616.
There are a number of algorithms that can be used for the localisation step 606 of the algorithm. If the range error is Gaussian distributed then the least squares method is well suited to calculate the node location. If the range error is roughly Gaussian distributed but with a large number of outliers, such as measured outdoors and shown in
All prior art localisation algorithms assume that the locations of the anchors (i.e. in this case the neighbours act as anchors) are known when performing the localisation. In cooperative tracking, however, the locations of the neighbours are not known exactly, since one only has an estimate of them. Improved tracking performance can be obtained by taking into account the uncertainly in the neighbour locations.
If the distribution of node location (a two-dimensional array for two-dimensional localisation) is exchanged between nodes, then the marginal location distribution of the mobile node can be found from the range error distribution and the location distribution of the neighbours. This is only practical in centralised tracking as the amount of information to be exchanged between neighbours is in general too large. A solution for distributed implementation is to exchange summarised information such as the mean and covariance of the node location. When the range error can be approximated by a Gaussian distribution, the weighted least squares algorithm can be used to localise the node in which the weight given to any particular measurement is determined by the covariance of the estimate of the location of the neighbour.
If the range error distribution is non-Gaussian, then the range error distribution can be adjusted according to the uncertainty in the neighbour location estimate. In one embodiment where a rectangular shaped approximation of the range error is used the width of the base rectangular shape is adjusted according to the uncertainty in the location of the neighbour. That is the possible region where the mobile node could lie is expanded according to the covariance of the location estimate of the neighbour.
The state update step 612 uses the current location measurement to update the current node state. The measurement equation can be written in the two-dimensional tracking case as
zk=Hxk+ωk (14)
where zk is the estimate of the node location obtained in the localisation step and ωk is the localisation error. If the state xk consists of position and velocity components of the node, i.e., xk=[xk, {dot over (x)}k, yk, {dot over (y)}k]T, then H is given by
The advantage of the locate and track method is that the measurement equation given in (14) is linear in terms of the state xk.
In one embodiment, if the state transition function in (1), i.e., ƒ(.) can be assumed as linear and the state and measurement noise are approximated using Gaussian distributions, then the Kalman filter is used for the state update step 612 and the track prediction step 604.
In another embodiment, if the state transition function is assumed as a nonlinear function and measurement noise are approximated using Gaussian distributions then a nonlinear filtering algorithm, such as the extended Kalman filter or the unscented Kalman filter is used for the state update step 612 and track prediction step 604.
In yet another embodiment, if the state transition function is assumed as a nonlinear function of the state and/or the measurement and/or the state noise is non-Gaussian, then a particle filtering algorithm is used for the state update filter step 612 and the track prediction step 604.
A preferred embodiment of the locate and track approach that is suitable for cooperative tracking in environments with a range error distribution that can be approximated by a Gaussian distribution (possibly with heavy tails), such as typically occurs with line of sight measurements indoors or outdoors, is now described with several variants. In this embodiment the range error model is a Gaussian, the motion model is the nearly constant velocity model, the Kalman filter is used and the localise step uses a robust least squares algorithm so as to minimise the errors caused by outlier range measurements.
In the simplest variant of this embodiment there is a single motion model and the exchanged node information is only node location. The locate step uses the robust least squares algorithm. In a variant of this embodiment the exchanged node information is the mean and covariance of the node location, and a weighted version of the robust least squares algorithm is used to take into account the neighbour location reliability as provided by the covariance.
A variant of this embodiment, shown in
The input data 702 is used to predict the location of the node in step 708 using each of the Kalman filters, and prior to running the Kalman filter prediction step the IMM interaction step 706 mixes the current states of the Kalman filters as is know in the art of using IMM estimators. Localisation then occurs in step 710 using the robust least squares technique. Step 712 tests whether the localisation was successful. If not, the predicted state, covariance, and model probability is set as the current state, covariance and model probability respectively in the IMM estimator in step 714. If so, then the track is updated using the IMM estimator in step 716 and assigned to the output in step 724. Each Kalman filter produces an updated state estimate in step 718, and the probability that each model is active is updated in step 720. Each node internally propagates a mean and covariance matched to each of the models, and a probability that specifies how likely a particular model is active. The states of the multiple Kalman filters are also combined in step 722 to provide a single estimate of the state of the node. In this embodiment the exchanged node information is the node location and the IMM estimator consists of two nearly-constant velocity models: one with low process noise intensity and the other with high process noise intensity.
Another variant of this embodiment is for the exchanged node information to consist of the mean and covariance of the node location, and a weighted version of the robust least squares algorithm is used for the localise step to utilise the neighbour location covariance.
Direct Range Fusion
An embodiment of the tracking method in step 310 of
The measurement equation for the filtering algorithm in the direct range fusion method is given by equations (11) and (12), since the range information is directly used to update the state. Hence, in the case of direct range fusion method, unlike the locate and track method, the measurement equation is nonlinear. As a result, even if the state equation can be assumed to be linear, a nonlinear filtering algorithm is required.
In one example embodiment, if the state and measurement noise distribution is assumed to be Gaussian, the direct range fusion method uses the extended Kalman filter or the unscented Kalman filter.
In another example embodiment, if the state and/or measurement noise distribution is non-Gaussian a particle filter is used in the direct range fusion method.
As in the locate and track approach, how the uncertainty of the neighbour location is handled is dependent on the choice of the particular filtering. In one embodiment the mean and covariance of the node location is exchanged between the nodes. If the state of the mobile node at time k is xk and that of its neighbour i is xki and if they are known exactly, then the measured range between these two nodes can be written as
zki=∥H(xk−xki)∥+ωki (16)
Since only an estimate of the state of the neighbour node i is available, let the state and covariance received be {circumflex over (x)}ki and Pki respectively (where usually only the location components of these need to be known). Then the measurement equation can be approximated using a first-order Taylor series expansion around the estimate of the neighbour's state as
zki=∥H(xk−{circumflex over (x)}ki)∥+αiT(xki−{circumflex over (x)}ki)+ωki (17)
where αiT is the derivative of the measurement function given by
Therefore the conditional mean and covariance of the range measurement are given respectively by ∥H(xk−{circumflex over (x)}ki)∥ and αiTPkiαi+σi2, where σi2 is the variance of the range measurement error. This expansion allows us to view the measurement as
zki=∥H(xk−{circumflex over (x)}ki)∥+{tilde over (ω)}ki (19)
where the measurement error {tilde over (ω)}ki incorporates the uncertainty in the neighbours location, which has zero mean and covariance αiTPkiαi+σi2. This modified measurement equation is used in the filter as the measurement equation.
This technique is suitable for range measurement errors that can be approximated by Gaussian distributions. If the measurement noise is non-Gaussian and for example, a rectangular distribution is used as the approximate measurement noise distribution, as in the locate and track method, the width of the base shape of the rectangular approximation can be varied according to the covariance of the neighbour location. Such incorporation of the non-Gaussian range error distribution would necessitate the use of a particle filter.
A preferred embodiment of the direct range fusion method that is suitable for difficult radio propagation environments with biased and non-Gaussian measured range error distribution, such as occurs within buildings and underground, is now described with variants. The embodiment uses the nearly constant velocity motion model, particle filter and the triangular likelihood function shown in
A variation of this embodiment, shown as the process flow 900 in
The MMPF algorithm first samples the motion model based on a transition probability matrix (TPM). The TPM consists of various probabilities of the possible switch between the different motion models. The (i, j) th element of the matrix is the probability that the model switch from i to j happening, that is,
pij=P{rk=j|rk-1=i} (20)
where rk denotes the active model at time k. For example, in one implementation of the preferred embodiment with two motion models the following TPM is used
Most of the multiple model estimators, including the IMM estimator and MMPF, are not especially sensitive to the exact values of TPM. After sampling of the input 902 in step 904, the motion model state values are sampled in step 906. In the preferred embodiment the prior distribution is used to sample the state in step 908. That is, the i th sample is drawn according to
xki˜p(xk|xki,rki) (22)
If, in step 910, there are no range measurements to neighbours available, the preferred embodiment sets the sampled particles as the updated particles with the weights of these particles unmodified in step 912. Otherwise, the weights of the sampled particles are updated using the range error model in step 914. The weight of the i th particle is updated according to
wki˜wk-1ip(zk|xki) (23)
where p(zk|xki) is the likelihood of the measurement zk, which is obtained from the assumed measurement likelihood. In the preferred embodiment the triangular likelihood function shown in
Only a few particles will have non-zero weights after a few measurement updates, which is known as the sample degeneracy problem. This is avoided by resampling the updated particles in step 916; that is, replicating the particles that have higher weights and discarding the particles that have lower weights through a probabilistic selection process in step 918. In the preferred embodiment a known systematic resampling procedure is used, however many other resampling algorithms also be applied. An output is provided in step 920.
Node Hardware
All nodes are transceivers with processing hardware that have the ability to measure range to neighbouring nodes and form a data network. Range can be measured, for example, based on received signal strength (RSS) or time of arrival (TOA) using radio or acoustic signals. One example of a hardware arrangement measuring TOA is given in commonly-owned International Publication No. WO 2010/000036 A1, the entire contents of which are incorporated herein by reference.
Claims
1. A method for dynamically tracking the locations of mobile wireless devices in a wireless network, the method comprising the steps of:
- dynamically measuring by each mobile wireless device the range between said mobile wireless device and at least one neighbouring wireless device;
- transmitting by each mobile wireless device the respective range to a Bayesian tracking filter; and
- executing, by said Bayesian tracking filter, a Bayesian tracking algorithm for each mobile wireless device, said algorithm having said measured range as an input, exchanging data with tracking algorithms for neighbouring mobile wireless devices, and utilising a statistical model of error in measured range and a statistical model of wireless device motion to dynamically determine location.
2. The method of claim 1, wherein said tracking algorithm determines location using a current data set and temporal tracking.
3. The method of claim 2, wherein said data includes wireless device location distribution information and said tracking algorithm uses a weighted least squares calculation to determine location.
4. The method of claim 3, wherein said tracking algorithm is implemented as a Kalman filter or interacting multiple models.
5. The method of claim 4, wherein said model of wireless device motion is nearly constant velocity.
6. The method of claim 1, wherein said tracking algorithm determines location directly using range measurements to neighbouring wireless devices and said range error model.
7. The method of claim 6, wherein said data includes location information and an uncertainty measure, and said tracking algorithm uses the range error model modified by neighbour wireless device location variance to determine location.
8. The method of claim 7, wherein said tracking algorithm is implemented as a particle filter or as interacting multiple model particle filters.
9. The method of claim 8, wherein said model of wireless device motion is nearly constant velocity.
10. The method of claim 1, wherein said statistical model of error in measured range is a likelihood function with constant positive value beyond the region of support, a plurality of motion models are used, and said wireless devices transmit data to an access point, and said tracking algorithm for at least some of said mobile wireless devices is executed via said access point.
11. The method of claim 1, wherein said neighbouring wireless devices each transceive data from each other, from which range is measured and location is determined, and wherein each said tracking algorithm is implemented on a respective said wireless device.
12. A wireless tracking system comprising:
- a plurality of mobile wireless devices, each said mobile device including a transmission circuit for the sending data as radio signals, and a range estimation module for dynamically measuring the range between said device and at least one neighbouring device; and
- a plurality of anchor wireless devices, each said anchor device being at a known location and including a range estimation circuit for dynamically measuring the range between said anchor device and at least one neighbouring device; and
- a Bayesian tracking filter for each said mobile device for receiving said measured range as an input and exchanging data with tracking algorithms for neighbouring mobile nodes, said tracking filter utilising a statistical model of error in measured range and a statistical model of node motion to dynamically determine location.
13. The system of claim 12, wherein each mobile wireless device includes computational circuitry to implement the respective tracking filter, and said transmitter circuit additionally operates as a transceiver for exchanging data with neighbouring mobile devices.
14. The system of claim 13, wherein said tracking filters directly determine location using range measurements to neighbouring modes.
15. The system of claim 14, wherein said data includes location information and said tracking filters use the range error model directly or modified by neighbour node location variance to determine location.
16. The system of claim 15, wherein said tracking filters are implemented as particle filters or as interacting multiple model particle filters.
17. The system of claim 16, wherein said model of node motion is nearly constant velocity, wherein said model of error in measured range is a likelihood function with constant positive value beyond the region of support, and wherein a plurality of motion models are used in each tracking filter.
18. The system of claim 13, wherein each said tracking filter determines location using a current data set and temporal tracking.
19. The system of claim 18, wherein said data includes location distribution information and said tracking filters use a weighted least squares calculation to determine location.
20. The system of claim 19, wherein said tracking filters are implemented as a Kalman filter or as interacting multiple models.
21. The system of claim 20, wherein said model of node motion is nearly constant velocity.
22. The system of claim 12, wherein each mobile wireless device transmits range measurements to another computational device that executes the tracking filter for said mobile node and wherein each mobile wireless device transmits range measurements to one of a plurality of access points, and wherein said tracking filters are accessed via said access points.
23. A mobile wireless device comprising:
- a transceiver circuit for sending and receiving data to neighbouring said mobile devices;
- a range estimation module for dynamically measuring the range between said device and at least one neighbouring device; and
- a Bayesian tracking filter that receives said measured range as an input and exchanges data with tracking algorithms for neighbouring mobile nodes, and utilises a statistical model of error in measured range and a statistical model of node motion to dynamically determine location.
24. The device of claim 23, wherein each said tracking filter determines location using a current data set and temporal tracking.
25. The device of claim 24, wherein said data includes location distribution information and said tracking filters use a weighted least squares calculation to determine location.
26. The device of claim 25, wherein said tracking filters are implemented as a Kalman filter or as interacting multiple models.
27. The device of claim 26, wherein said model of node motion is nearly constant velocity.
28. The device of claim 23, wherein said tracking filters directly determine location using range measurements to neighbouring modes.
29. The device of claim 28, wherein said data includes location information and said tracking filters use the range error model directly or modified by neighbour node location variance to determine location.
30. The device of claim 29, wherein said tracking filters are implemented as particle filters or interacting multiple model particle filters.
31. The device of claim 30, wherein said model of node motion is nearly constant velocity, wherein said model of error in measured range is a likelihood function with constant positive value beyond the region of support, and wherein at least two motion models are used in each tracking filter.
32. A mobile wireless device comprising:
- a range estimation module for dynamically measuring the range between said device and said neighbouring devices; and
- a transmitter circuit for sending measured ranges to a separate device having a Bayesian tracking filter for said mobile device, said Bayesian tracking filter utilising a statistical model of error in measured range and a statistical model of node motion to dynamically determine a location of said mobile device.
6502082 | December 31, 2002 | Toyama et al. |
7076259 | July 11, 2006 | Belcea |
7199754 | April 3, 2007 | Krumm et al. |
7263349 | August 28, 2007 | Sih et al. |
7457860 | November 25, 2008 | Shang et al. |
7460976 | December 2, 2008 | Ye et al. |
8373581 | February 12, 2013 | Hassan et al. |
20080232281 | September 25, 2008 | Pahlavan et al. |
20080268873 | October 30, 2008 | Wymeersch et al. |
20080309556 | December 18, 2008 | Hohl |
20090046005 | February 19, 2009 | Namineni et al. |
20090196267 | August 6, 2009 | Walker, Sr. |
20100171642 | July 8, 2010 | Hassan et al. |
20120007779 | January 12, 2012 | Klepal et al. |
20140012061 | January 9, 2014 | Song et al. |
9953339 | October 1999 | WO |
2006073816 | July 2006 | WO |
2007093404 | August 2007 | WO |
2008115209 | September 2008 | WO |
2008115209 | September 2008 | WO |
2009021068 | February 2009 | WO |
2009099773 | August 2009 | WO |
- Wymeersch et al., Cooperative Bayesian Self-Tracking for Wireless Networks Henk, IEEE Communications Letters, Vol. 12, No. 7, Jul. 2008, pp. 505-507.
- Ferner, et al., Cooperative Anchor-less Localization for Large Dynamic Networks, Proceedings of the 2008 IEEE International Conference on Ultra-Wideband (ICUWB2008), vol. 2, pp. 181-185.
- Wymeersch et al., Cooperative Localization in Wireless Networks, Proceedings of the IEEE | vol. 97,No. 2, Feb. 2009, pp. 428-450.
- Ihler et al., Nonparametric Belief Propagation for Self-Localization of Sensor Networks, IEEE Journal on Selected Areas in Communication, vol. 23, No. 4, Apr. 2005, pp. 809-819.
- Ihler et al., Nonparametric Belief Propagation for Sensor Self-Calibration, ICASSP, 2004, pp. III-861-III-864.
- Ihler et al., Nonparametric Belief Propagation for Self-Calibration in Sensor Networks, pp. 225-233.
- Zhang et al., Dynamic Self-Calibration in Collaborative Wireless Networks Using Belief Propagation with Gaussian Particle Filtering, 2007 Conference on Information Sciences and Systems, The Johns Hopkins University, Mar. 14-16, 2007, pp. 771-776.
- International Search Report for International Application No. PCT/AU2012/000018 dated Jan. 27, 2012.
- International Preliminary Report on Patentability for International Application No. PCT/AU2012/000018 dated May 21, 2013.
Type: Grant
Filed: Jan 11, 2012
Date of Patent: Nov 24, 2015
Patent Publication Number: 20140045518
Assignee: Commonwealth Scientific and Industrial Research Organisation (Campbell, Australian Capital Territory)
Inventors: Thuraiappah Sathyan (Mawson Lakes), Mark Hedley (Sydney)
Primary Examiner: Diane Mizrahi
Application Number: 13/885,881
International Classification: H04W 4/00 (20090101); H04W 4/02 (20090101);