20.04.2014 Views

Bayesian Filters for Location Estimation and Tracking – An Introduction

Bayesian Filters for Location Estimation and Tracking – An Introduction

Bayesian Filters for Location Estimation and Tracking – An Introduction

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Bayesian</strong> <strong>Filters</strong> <strong>for</strong> <strong>Location</strong> <strong>Estimation</strong><br />

<strong>and</strong> <strong>Tracking</strong> <strong>–</strong> <strong>An</strong> <strong>Introduction</strong><br />

Traian E. Abrudan<br />

tabrudan@fe.up.pt .<br />

Instituto de Telecomunicações, Departamento de Engenharia<br />

Electrotécnica e Computadores, Universidade do Porto, Portugal<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 1


Outline<br />

• Motivation<br />

• Deterministic vs. probabilistic models<br />

• Probabilistic models <strong>for</strong> location estimation <strong>and</strong> tracking<br />

• <strong>Bayesian</strong> filters<br />

− Kalman filter <strong>and</strong> its extensions<br />

− Grid-based filter<br />

− Particle filter<br />

− Pros. <strong>and</strong> cons.<br />

• Real-world results<br />

• Conclusions<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 2


Motivation<br />

• Indoor propagation environment is extremely harsh<br />

• Signals experience deep fades in space, time <strong>and</strong> frequency<br />

• As a results of all these effects, the propagation channel behaves<br />

r<strong>and</strong>omly<br />

• Measurements are subject to r<strong>and</strong>om errors due to<br />

− r<strong>and</strong>om noise at the sensors<br />

− device manufacturing imperfections<br />

− imperfect calibration<br />

• Dealing with uncertainties calls <strong>for</strong> probabilistic models<br />

• Powerful statistical estimators may be derived<br />

• They do not just provide an estimated value, they also provide<br />

reliability in<strong>for</strong>mation<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 3


Deterministic vs. statistical models<br />

• Deterministic models <strong>for</strong> location estimation are quite “rough”<br />

− per<strong>for</strong>m “hard decisions” (quantize the estimated parameters)<br />

− discard valuable statistical in<strong>for</strong>mation embedded in the data<br />

• Probabilistic models exploit the available statistical in<strong>for</strong>mation<br />

− Parameters are modeled as r<strong>and</strong>om variables with the<br />

corresponding probability density functions (p.d.f.’s)<br />

− Prior knowledge on the errors (e.g. from the measurements) may<br />

be included in the model in order to improve the parameter<br />

estimation process<br />

− Optimality can be achieved (w.r.t the assumed prior)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 4


Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

• Let x k denote the L S × 1 state vector at time instance k, with<br />

x k ∈ D x ⊂ R L S (or C<br />

L S)<br />

• x k may include the position (but also velocity, acceleration,<br />

heading, etc.)<br />

• Let z k be the observation vector at time k (e.g. RSSI, ToA, AoA,<br />

etc., or combinations of those)<br />

• Our goal is to estimate the sequence of states x k , k = 0, 1 . . .,<br />

based on all available measurements up to time k (abbreviated z 1:k )<br />

• For this reason, the process is called filtering<br />

• The corresponding posterior p.d.f. we are interested in is p(x k |z 1:k )<br />

• Assume that the (hidden) true states x k are connected in a<br />

1st-order Markov chain <strong>–</strong> Hidden Markov Model (HMM)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 5


Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

k − 1 k k + 1<br />

p(x k |x k−1 )<br />

x k−1 x k x k+1<br />

time instance<br />

hidden states<br />

(cannot be observed <strong>and</strong><br />

have to be estimated)<br />

p(z k |x k )<br />

z k−1 z k z k+1<br />

observations<br />

(measurements)<br />

Figure 1: First-order Hidden Markov Model [Muh03]<br />

Markov model assumptions:<br />

• The current true state is conditionally independent of all previous<br />

states given the last state: p(x k |x 1:k−1 ) = p(x k |x k−1 )<br />

• Observations z 1:k are conditionally independent provided that<br />

x 0 , . . .,x k , are known: p(z k |x 1:k ) = p(z k |x k )<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 6


Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

• State-space model:<br />

prediction equation: x k = f(x k−1 ,u k ) + w k → p(x k |x k−1 )<br />

measurement equation: z k = h(x k ) + v k → p(x k |z k )<br />

(1)<br />

(2)<br />

f,h are known functions<br />

u k is a known input (required only if a control input exists)<br />

w k is the state (process) noise<br />

v k is the measurement noise<br />

w k ,v k are i.i.d., mutually independent, with known p.d.f.’s<br />

• For localization <strong>–</strong> prediction: a motion model<br />

<strong>–</strong> measurement: RSSI, ToA, AoA, kinematic<br />

parameters, etc., or combinations<br />

• Problem: what to trust more: the prediction or the measurement?<br />

• The <strong>Bayesian</strong> estimator solves this problem reliably<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 7


• State-space model:<br />

Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

prediction equation: x k = f(x k−1 ,u k ) + w k → p(x k |x k−1 )<br />

measurement equation: z k = h(x k ) + v k → p(x k |z k )<br />

(3)<br />

(4)<br />

• We would like to derive a <strong>for</strong>mula such that the new posterior p.d.f.<br />

at time k, p(x k |z 1:k ) is obtained by updating the old posterior at<br />

time k − 1, p(x k−1 |z 1:k−1 )<br />

• This way, the filter can operate sequentially, in real-time (online)<br />

• Moreover, we store only the parameters at the previous time<br />

instance <strong>and</strong> avoid memory growth<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 8


Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

• Assume that the old posterior p(x k−1 |z 1:k−1 ) is available at time k<br />

• Prediction step: p(x k−1 |z 1:k−1 ) → p(x k |z 1:k−1 )<br />

• Using Chapman-Kolmogorov equation:<br />

∫<br />

p(x k |z 1:k−1 ) = p(x k |x k−1 )p(x k−1 |z 1:k−1 )dx k−1 (5)<br />

D x<br />

• This is the prior of the state x k without knowing the incoming<br />

measurement z k , knowing only the previous measurements z 1:k−1<br />

• The prediction step usually de<strong>for</strong>ms / translates / spreads the p.d.f.<br />

due to noise<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 9


Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

• Update step: { p(x k |z 1:k−1 ), z k<br />

}<br />

→ p(xk |z 1:k )<br />

p(x k |z 1:k ) = p(z k|x k )p(x k |z 1:k−1 )<br />

, i.e., posterior =<br />

p(z k |z 1:k−1 )<br />

likelihood · prior<br />

evidence<br />

(6)<br />

• The denominator c = p(z k |z 1:k−1 ) = ∫ D x<br />

p(z k |x k )p(x k |z 1:k−1 )dx k is<br />

just a normalization constant (independent of x k )<br />

• The update combines the likelihood of the received measurement<br />

with the predicted state<br />

• The update step usually concentrates the p.d.f.<br />

• A closed-<strong>for</strong>m expression that relates the old posterior to the new<br />

posterior is obtained by replacing eq. (5) into eq. (6)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 10


Probabilistic models<br />

<strong>for</strong> location estimation <strong>and</strong> tracking<br />

• Sequential update of the prior p(x k−1 |z 1:k−1 ), z k → p(x k |z 1:k ):<br />

p(x k |z 1:k )<br />

} {{ }<br />

prior at time k<br />

= 1 ∫<br />

c p(z k|x k ) p(x k |x k−1 )<br />

} {{ } D x<br />

} {{ }<br />

from meas. eq. from pred. eq.<br />

p(x k−1 |z 1:k−1 )<br />

} {{ }<br />

prior at time k−1<br />

dx k−1 (7)<br />

• This theoretically allows an optimal <strong>Bayesian</strong> solution <strong>–</strong> Minimum<br />

Mean Square Error (MMSE), Maximum a posteriori (MAP)<br />

estimators, etc.<br />

• Un<strong>for</strong>tunately, this is just a conceptual solution, integrals are<br />

intractable<br />

• In some cases (under restrictive assumptions), (close to) optimal<br />

tractable solutions are obtained:<br />

− Kalman filter [Sin70, ParLee01, AbrPauBar11]<br />

− grid-based filter [Muh03]<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 11


• State-space model:<br />

Kalman filter (KF)<br />

prediction equation: x k = F k x k−1 + B k u k + G k w k<br />

(8)<br />

measurement equation: z k = H k x k + v k (9)<br />

where F k ,B k ,G k ,H k are known matrices<br />

• When noises are zero-mean jointly Gaussian, Kalman filter is<br />

optimal estimator in the mean-square error (MSE) sense<br />

• Otherwise, KF is the best linear estimator<br />

• It finds the posterior mean E{x k |z 1:k } = ˆx k|k <strong>and</strong> its covariance<br />

E{(x k − ˆx k|k )(x k − ˆx k|k ) T } <strong>and</strong> updates them sequentially<br />

ˆx k|k = ˆx k|k−1 − K k [z k − F kˆx k|k−1 ] (10)<br />

where K k is the Kalman gain, <strong>and</strong> the subscript (·) k|k−1 denotes the<br />

a priori estimated state (be<strong>for</strong>e considering the measurement z k )<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 12


Kalman filter <strong>and</strong> its extensions (EKF, UKF)<br />

• Extended Kalman filter (EKF) <strong>–</strong> an extension of KF to non-linear<br />

state-space equations<br />

− either the process is non-linear, or the measurements are not a<br />

linear function of the states<br />

− EKF linearizes the model about the new estimate (similar to<br />

Taylor series approximation)<br />

− works well in many situations, but may diverge <strong>for</strong> highly<br />

non-linear models (covariance is propagated through<br />

linearization)<br />

• Unscented Kalman filter (UKF) <strong>–</strong> mean <strong>and</strong> covariance are<br />

projected via the so-called unscented trans<strong>for</strong>m<br />

− picks up a minimal set of sample points around the mean <strong>–</strong><br />

called sigma points <strong>–</strong> propagates those through the non-linearity<br />

− UKF can deal with highly-nonlinear models<br />

− often, UKF works better than EKF<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 13


Kalman filter <strong>and</strong> its extensions (EKF, UKF)<br />

• KF, EKF, UKF do not work very well <strong>for</strong> p.d.f.’s that have<br />

− heavy-tails / high kurtosis<br />

• They may totally fail <strong>for</strong><br />

− heavily skewed p.d.f.’s<br />

− bimodal/multimodal p.d.f.’s<br />

• We need more general filters to tackle these problems<br />

• It is everything about approximating well integrals <strong>and</strong> the p.d.f.’s in<br />

the optimal Bayes estimation of the posterior<br />

p(x k |z 1:k )<br />

} {{ }<br />

prior at time k<br />

= 1 ∫<br />

c p(z k|x k ) p(x k |x k−1 )<br />

} {{ } D x<br />

} {{ }<br />

from meas. eq. from pred. eq.<br />

p(x k−1 |z 1:k−1 )<br />

} {{ }<br />

prior at time k−1<br />

dx k−1<br />

• The price we pay is the high complexity <strong>–</strong> curse of dimensionality<br />

[DauHua03]<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 14


Grid-based filter<br />

• Limit the total number of possible states to N S [AruMas02, Muh03]<br />

• define a grid of discrete states x i (may also be different at each<br />

time instance)<br />

• The p.d.f.’s are discretized as well<br />

• The conditional probability of state x i given the measurements<br />

z 1:k−1 is<br />

P(x k−1 = x i |z 1:k−1 ) = ω i k−1|k−1 (11)<br />

• Then, the old posterior may be written as a sum of Dirac pulses<br />

p(x k−1 |z 1:k−1 ) =<br />

∑N S<br />

i=1<br />

ω i k−1|k−1 δ(x k−1 − x i ) (12)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 15


Grid-based filter<br />

• Both the new prior <strong>and</strong> the new posterior have the same structure:<br />

a sum of weighted <strong>and</strong> delayed Dirac impulses<br />

p(x k |z 1:k−1 ) =<br />

p(x k |z 1:k ) =<br />

∑N S<br />

i=1<br />

∑N S<br />

i=1<br />

ω i k|k−1 δ(x k−1 − x i ) (13)<br />

ω i k|k δ(x k−1 − x i ) (14)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 16


Grid-based filter<br />

• The prediction step: the Chapman-Kolmogorov equation (5)<br />

becomes:<br />

p(x k |z 1:k−1 ) =<br />

=<br />

∑N S<br />

∑N S<br />

i=1<br />

∑N S<br />

i=1<br />

j=1<br />

ω j k−1|k−1 p(xi |x j )δ(x k−1 − x i ) (15)<br />

ω i k|k−1 δ(x k−1 − x i ) (16)<br />

where<br />

N S<br />

ωk|k−1 i = ∑<br />

j=1<br />

ω j k−1|k−1 p(xi |x j ) (17)<br />

new prior weights = old posterior weights, reweighted using<br />

state transition probabilities<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 17


Grid-based filter<br />

• The update step: equation (6) becomes:<br />

p(x k |z 1:k ) =<br />

∑N S<br />

i=1<br />

ω i k|k δ(x k−1 − x i ) (18)<br />

where<br />

ω i k|k = ω i k|k−1 p(z k|x i )<br />

∑ NS<br />

j=1 ωj k|k−1 p(z k|x j )<br />

(19)<br />

posterior weights = prior weights, reweighted using likelihoods<br />

• Grid-based filters are computationally expensive<br />

• Grid resolution needs to be sufficiently high<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 18


Particle filter<br />

• They are sophisticated model estimation techniques based on<br />

simulation<br />

• Also known as Sequential Monte Carlo (SMC) methods<br />

[GusGun02, AruMas02, Muh03]<br />

• Integrals involved in the <strong>Bayesian</strong> filter cannot be solved analytically<br />

• The idea: represent the p.d.f.’s by using a set of r<strong>and</strong>om “particles”<br />

(r<strong>and</strong>om = Monte Carlo method)<br />

• Particles are just differently weighted samples of the distribution<br />

• By increasing the number of samples, the representation almost<br />

sure converges to the true p.d.f.<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 19


Particle filter<br />

0.6<br />

0.5<br />

equal weight particles<br />

original p.d.f.<br />

representatation of the p.d.f.<br />

0.6<br />

0.5<br />

non−equal weight particles<br />

original p.d.f.<br />

representatation of the p.d.f.<br />

0.4<br />

0.4<br />

0.3<br />

0.3<br />

0.2<br />

0.2<br />

0.1<br />

0.1<br />

0<br />

0<br />

−0.1<br />

−3 −2 −1 0 1 2 3 4 5<br />

−0.1<br />

−3 −2 −1 0 1 2 3 4 5<br />

Figure 2: Representation of the Gaussian p.d.f. N(1, 1) using particles<br />

(1-D case). The particle weight is represented by its size.<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 20


Particle filter<br />

2−D Gaussian p.d.f.<br />

4<br />

equal weight particles<br />

4<br />

non−equal weight particles<br />

0.2<br />

0.15<br />

3<br />

2<br />

1<br />

3<br />

2<br />

1<br />

0.1<br />

0<br />

0<br />

0.05<br />

−1<br />

−1<br />

0<br />

4<br />

2<br />

0<br />

−2<br />

−4<br />

−4<br />

−2<br />

0<br />

2<br />

−2<br />

4<br />

−3<br />

−4<br />

−4 −2 0 2 4<br />

−2<br />

−3<br />

−4<br />

−4 −2 0 2 4<br />

Figure 3: Representation of the Gaussian p.d.f. using particles (1-D<br />

case). The particle weight is represented by its size. The p.d.f. is<br />

N([0.5; 1], [1.6 0.8; 0.8 0.8])<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 21


Particle filter<br />

Sequential Importance Sampling (SIS)<br />

• SIS is the basic framework <strong>for</strong> most particle filter algorithms<br />

• Let {x i 0:k } be a set of points (particles), i = 1, . . .,N P<br />

• This describes the whole trajectory in the state space <strong>for</strong> each<br />

particle i<br />

• Let ωk i be the associated weights, normalized such that<br />

∑ NP<br />

i=1 ωi k = 1<br />

• Then, the discrete weighted approximation of the posterior p.d.f. is<br />

p(x k |z 1:k ) ≈<br />

∑N P<br />

i=1<br />

ω i kδ(x 0:k − x i 0:k) (20)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 22


Particle filter<br />

Sequential Importance Sampling (SIS)<br />

• Usually, we cannot draw samples x i k<br />

from p(·) directly<br />

• Assume we sample directly <strong>for</strong> a (different) importance density q(·)<br />

• Our approximation is still correct (up to normalization) if<br />

ω i k ∝ p(xi 0:k |z 1:k)<br />

q(x i 0:k |z 1:k)<br />

(21)<br />

• The benefit is that we can choose q(·) freely<br />

• If the importance function is chosen to factorize such that<br />

q(x 0:k |z 1:k ) = q(x k |x 0:k−1 ,z 1:k )q(x 0:k−1 |z 1:k−1 ) (22)<br />

then one can augment the old particles x i 0:k−1 by<br />

x k ∼ q(x k |x 0:k−1 ,z 1:k ) to get the new particles x i 0:k<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 23


Particle filter<br />

Sequential Importance Sampling (SIS)<br />

• The weight update is of <strong>for</strong>m<br />

ωk i = ωk−1<br />

i p(z k |x i k )p(xi k |xi k−1 )<br />

q(x i k |x 0:k−1,z 1:k )<br />

(23)<br />

• Furthermore, if q(x i k |x 0:k−1,z 1:k ) = q(x i k |x k−1,z 1:k ) (only<br />

dependent on the last state), then we do not need to preserve the<br />

full trajectory of the particles x 0:k−1 , neither the observations z 1:k<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 24


Particle filter<br />

Degeneracy Problem<br />

• The problem with SIS approach is that after few iterations, most<br />

particles have negligible weight<br />

• The weight is concentrated on only few particles <strong>–</strong> the one that<br />

closely match the measurements<br />

• Solutions:<br />

− brute <strong>for</strong>ce: huge number of particles <strong>–</strong> too complex<br />

− good choice of importance density<br />

− resampling<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 25


Particle filter<br />

Optimal importance density<br />

• It can be shown that the optimal importance density is given by<br />

• Then<br />

q opt (x k |x k−1 ,z k ) = p(x k |x k−1 ,z k ) (24)<br />

ω i k = ω i k−1<br />

∫<br />

D x<br />

p(z k |x ′ k)p(x ′ k|x i k−1)dx ′ k (25)<br />

• Drawing sample from the optimal distribution is not always possible<br />

• One alternative is to choose the importance density to be the prior<br />

q(x k |x k−1 ,z k ) = p(x k |x k−1 ) (26)<br />

• This is simple, but does not take into account the measurements<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 26


• Basic idea of resampling:<br />

Particle filter<br />

Resampling<br />

Whenever the degeneracy exceeds some threshold, replace the<br />

old samples (+ weights) with a new set of samples (+ weights),<br />

such that the sample density reflects better the posterior p.d.f.<br />

• This eliminates particles with low weights <strong>and</strong> chooses new<br />

particles in the more probable regions<br />

• Complexity is possible in O(N P )<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 27


Particle filter<br />

Resampling<br />

old posterior p.d.f.<br />

resampling<br />

prediction<br />

step<br />

measurement<br />

& update<br />

new posterior p.d.f.<br />

Figure 4: Illustration of the resampling process.<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 28


Particle filter<br />

Pseudo-code [Muh03, AruMas02]<br />

[{x i k , ωi k }N P<br />

i=1 ] = PF({xi k−1 , ωi k−1 }N P<br />

i=1 ,zi k )<br />

FOR i = 1 to N P<br />

draw x i k ∼ q(x k|x i k−1 ,z k)<br />

update weights according to<br />

ωk i = ωk−1<br />

i p(z k |x i k )p(xi k |xi k−1 )<br />

q(x i k |x 0:k−1,z 1:k )<br />

END FOR<br />

normalize weights to ∑ N P<br />

i=1 ωi k = 1<br />

IF degeneracy is too high<br />

resample {x i k , ωi k }N P<br />

i=1<br />

END IF<br />

• Knowledge of the initial posterior is required <strong>–</strong> not possible, a<br />

proposal density is used<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 29


Particle filter<br />

Sample Impoverishment Problem<br />

• No degeneracy problem, but new problem arises<br />

• Particle with too high weight are selected more <strong>and</strong> more often<br />

• The other ones will slowly die out<br />

• This leads to a loss of diversity or sample impoverishment<br />

• For small process noise, all particles can collapse into a single<br />

point within a few iterations<br />

• <strong>An</strong>other problem: resampling limits the possibility to parallelize the<br />

algorithm<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 30


RF-based Localization<br />

Position tracking <strong>–</strong> <strong>Bayesian</strong> estimation methods<br />

• There are various other kinds of particle filters in the literature<br />

− sampling importance resampling (SIR)<br />

− auxiliary sampling importance resampling (ASIR)<br />

− regularized particle filter (RPF)<br />

− Gaussian sum particle filter (GSPF)<br />

− kernel density estimation based<br />

− ...<br />

• There are also Markov Chain Monte Carlo (MCMC) batch <strong>Bayesian</strong><br />

methods<br />

• They model the full posterior x k ∼ p(x 0 , . . .,x k |y k , . . .,y 0 ) <strong>–</strong> not<br />

online, very complex<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 31


<strong>Bayesian</strong> filters<br />

Pros. <strong>and</strong> cons.<br />

✔ close to optimal per<strong>for</strong>mance<br />

✔ can deal with non-linearities, non-Gaussian noise <strong>–</strong> even<br />

multimodal distributions are not a problem<br />

✔ PF can be implemented in O(N P ), mostly parallelizable<br />

✔ in contrast to HMM filters (state space discretized to N S ) states, PF<br />

focus on probable regions of the state space<br />

✔ <strong>Bayesian</strong> filters can reliably fuse data originating from different<br />

sensors (e.g. RF signals, kinematic sensors, cameras, etc.)<br />

✔ As long as the sources of measurement error (r<strong>and</strong>omness) are<br />

independent, fusing multiple sensors will always improve results<br />

✘ might be too complex <strong>for</strong> some real-time applications<br />

✘ degeneracy <strong>and</strong> sample impoverishment problems may arise<br />

✘ choosing the importance density might be hard<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 32


<strong>Bayesian</strong> <strong>Filters</strong><br />

Thesis: “If you want to solve a problem, particle filters are the best<br />

filters you can use, much better than e.g. Kalman filters.”<br />

• Right or wrong?<br />

• Very wrong!<br />

• PF contain r<strong>and</strong>omness <strong>–</strong> only converge to the true posterior when<br />

number of particles N P → ∞ (asymptotically optimal)<br />

• If assumption <strong>for</strong> Kalman filters or grid-based filters hold, no particle<br />

filter can outper<strong>for</strong>m them<br />

• In case these assumptions hold approximately, other filters may<br />

per<strong>for</strong>m reasonably well with much lower complexity than PF<br />

• For location estimation <strong>and</strong> tracking, these assumptions do not<br />

hold, in general (multimodal p.d.f’s arise easily)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 33


Practical aspects <strong>for</strong> localization<br />

Motion model<br />

• It is important to have an accurate description of the reality<br />

• People’s motion is subject to physical constraints<br />

− position (accessible areas, transition between them)<br />

− speed (stopped, walking, running)<br />

− acceleration (changes in speed are limited)<br />

• It is sensible to take into account these constraints when doing<br />

position tracking<br />

• Motion models predict the next position based on the previous one<br />

• In<strong>for</strong>mation about the building layout may be used as well<br />

• Such in<strong>for</strong>mation may improve drastically the location estimation<br />

<strong>and</strong> tracking<br />

• There are many motion models in the literature: uni<strong>for</strong>m linear<br />

motion, diffusion approach, angular p.d.f., multi-user motion<br />

models, etc. [AbrPauBar11, Roy11, KaiKhi11, QuiSta10]<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 34


Real-world results<br />

Work in Progress...<br />

• We test a grid-based filter using real-world results, the same as in<br />

[AbrPauBar11]<br />

• The sensor nodes are equipped with two RF front-ends operating<br />

at 433MHz <strong>and</strong> 2.4GHz, respectively<br />

• RSSI on both frequency was used<br />

• no knowledge about the building geometry<br />

• unknown starting point (initial posterior based on the first<br />

measurement)<br />

• the same linear motion model as in [AbrPauBar11]<br />

• the true position was measured using a laser range meter<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 35


Real-world results<br />

Work in Progress...<br />

10<br />

Indoor location estimation <strong>and</strong> tracking<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

25<br />

18<br />

A1<br />

A2<br />

ending point<br />

8<br />

1<br />

A4<br />

A3 starting point<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 5: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

• office environment in Aveiro<br />

• grid-based filter<br />

• spatial grid resolution: 0.5 meters<br />

• single user case (<strong>for</strong> better<br />

visualization)<br />

• also because of limited amount of<br />

measurement data<br />

• true user path <strong>–</strong> gray solid line with<br />

circle markers<br />

• anchor nodes: A 1 , . . .,A 4<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 36


Real-world results<br />

Work in Progress...<br />

p(x 1<br />

| r 1:1<br />

)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• Receive the very first<br />

measurement z 1<br />

• initial (proposal) posterior<br />

distribution p(x 1 |z 1:1 ) <strong>–</strong> continuous<br />

representation<br />

• computed just using the first measurement<br />

z 1<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 6: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 37


Real-world results<br />

Work in Progress...<br />

p(x 2<br />

| r 1:1<br />

)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

25<br />

18<br />

A1<br />

A2<br />

ending point<br />

8<br />

1<br />

A4<br />

A3 starting point<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

• Prediction step <strong>–</strong> get the prior:<br />

p(x 2 |z 1:1 ) =<br />

∫<br />

D x<br />

p(x 2 |x 1 )p(x 1 |z 1:1 )dx 1<br />

− p(x 2 |x 1 ): based on the<br />

prediction equation<br />

− p(x 1 |z 1:1 ): the old posterior<br />

• The spreading of the posterior after<br />

the prediction step may be noticed<br />

Figure 7: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 38


Real-world results<br />

Work in Progress...<br />

p(x 2<br />

| r 1:1<br />

) x p(r 2<br />

| x 2<br />

)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

25<br />

18<br />

A1<br />

A2<br />

ending point<br />

8<br />

1<br />

A4<br />

A3 starting point<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

• receive new measurement z 2<br />

• Compute its likelihood p(z 2 |x 2 )<br />

based on the measurement<br />

equation (log-distance RSSI<br />

channel model)<br />

• Multiply the likelihood with the prior<br />

p(x 2 |z 1:1 ) <strong>and</strong> normalize to get the<br />

new posterior<br />

Figure 8: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 39


Real-world results<br />

Work in Progress...<br />

p(x 2<br />

| r 1:2<br />

)<br />

South−North axis [meters]<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

25<br />

18<br />

A1<br />

A2<br />

ending point<br />

8<br />

1<br />

A4<br />

A3 starting point<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 9: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

• New posterior<br />

p(x 2 |z 1:2 ) = p(z 2|x 2 )p(x 2 |z 1:1 )<br />

p(z 2 |z 1:1 )<br />

• The denominator is just a<br />

normalization factor <strong>–</strong> it does not<br />

need to be calculated<br />

• Shrinking of the new posterior may<br />

be noticed<br />

• Calculate new position estimate ˆx 2 ,<br />

as the dominant mode (maximum a<br />

posteriori estimate)<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 40


Real-world results<br />

Work in Progress...<br />

x est<br />

(2) vs. x true<br />

(2)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• The estimated (red line) vs. the<br />

true position (gray line)<br />

• Progress is shown by the orange<br />

line<br />

• Repeat this procedure at every<br />

step...<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 10: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 41


Real-world results<br />

Work in Progress...<br />

p(x 3<br />

| r 1:2<br />

)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• Prediction: p(x 3 |z 1:2 )<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 11: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 42


Real-world results<br />

Work in Progress...<br />

p(x 3<br />

| r 1:2<br />

) x p(r 3<br />

| x 3<br />

)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• New measurement <strong>and</strong> its likelihood<br />

p(z 3 |z 3 ) to be multiplied with<br />

the prior<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 12: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 43


Real-world results<br />

Work in Progress...<br />

p(x 3<br />

| r 1:3<br />

)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• New posterior p(x 3 |z 1:3 )<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 13: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 44


Real-world results<br />

Work in Progress...<br />

x est<br />

(3) vs. x true<br />

(3)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• New position estimate ˆx 3<br />

• <strong>and</strong> so on...<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 14: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 45


Real-world results<br />

Work in Progress...<br />

x est<br />

(25) vs. x true<br />

(25)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• Tracked location (red solid line with<br />

circle markers)<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 15: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 46


Real-world results<br />

Work in Progress...<br />

x est<br />

(25) vs. x true<br />

(25)<br />

10<br />

South−North axis [meters]<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

A1<br />

A4<br />

18<br />

8<br />

A2<br />

A3<br />

ending point<br />

25<br />

1<br />

starting point<br />

• The discretized position estimates<br />

0 2 4 6 8 10<br />

West−East axis [meters]<br />

Figure 16: <strong>Location</strong> estimation <strong>and</strong> tracking<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 47


Conclusions<br />

• <strong>Bayesian</strong> filters represent powerful tools <strong>for</strong> location estimation <strong>and</strong><br />

tracking<br />

• Various approaches exist (KF, EKF, UKF, grid-based filter, particle<br />

filters...)<br />

• They have different degrees complexity/accuracy<br />

• There is no “best option”, the choice depends on the application at<br />

h<strong>and</strong><br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 48


References<br />

[AbrPauBar11] T. E. Abrudan, L. M. Paula, J. Barros, J. P. S. Cunha, <strong>and</strong> N. B. Carvalho, “Indoor <strong>Location</strong><br />

<strong>Estimation</strong> <strong>and</strong> <strong>Tracking</strong> in Wireless Sensor Networks using a Dual Frequency Approach”, 2011<br />

IEEE International Conference on Indoor Positioning <strong>and</strong> Indoor Navigation (IPIN), Guimarães,<br />

Portugal, 21<strong>–</strong>23 Sep. 2011.<br />

[Sin70] R. A. Singer, “Estimating optimal tracking filter per<strong>for</strong>mance <strong>for</strong> manned maneuvering targets”,<br />

IEEE Transactions on Aerospace <strong>and</strong> Electronic Systems, vol. AES-6, pp. 473<strong>–</strong>483, Jul. 1970.<br />

[ParLee01] S.-T. Park <strong>and</strong> J. G. Lee, “Improved Kalman filter design <strong>for</strong> three-dimensional radar tracking”,<br />

IEEE Transactions on Aerospace <strong>and</strong> Electronic Systems, vol. 37, pp. 727<strong>–</strong>739, Apr. 2001.<br />

[Muh03] Matthias Mühlich, “Particle filters. <strong>An</strong> overview”, (tutorial presentation), Filter workshop,<br />

Bucharest, Romania, 2003.<br />

[AruMas02] M.S. Arulampalam, S. Maskell, N. Gordon, T.Clapp, “A tutorial on particle filters <strong>for</strong> online<br />

nonlinear/non-Gaussian <strong>Bayesian</strong> tracking”, IEEE Transactions on Signal Processing, vol.50,<br />

no.2, pp. 174<strong>–</strong>188, Feb 2002.<br />

[GusGun02] F. Gustafsson, F. Gunnarsson, N. Bergman, U. Forssell, J. Jansson, R. Karlsson, P.-J. Nordlund,<br />

“Particle filters <strong>for</strong> positioning navigation <strong>and</strong> tracking”, IEEE Transactions on Signal Processing,<br />

vol.50, no.2, pp. 425<strong>–</strong>437, Feb 2002.<br />

[DouFre02] A. Doucet, N. de Freitas, N. Gordon (Eds.), Sequential Monte Carlo Methods in Practice,<br />

Springer Verlag, 2001.<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 49


References<br />

[FoxHig03] V. Fox, J. Hightower, Lin Liao, D. Schulz, G. Borriello, “<strong>Bayesian</strong> filtering <strong>for</strong> location estimation”,<br />

IEEE Pervasive Computing, vol.2, no.3, pp. 24<strong>–</strong>33, Jul.-Sept. 2003.<br />

[DauHua03] F. Daum, J. Huang, “Curse of dimensionality <strong>and</strong> particle filters,” Proceedings of the IEEE<br />

Aerospace Conference, 2003, vol.4, no., pp. 4-1979<strong>–</strong>4-1993, Mar. 8<strong>–</strong>15, 2003.<br />

[DouJoh09] A. Doucet <strong>and</strong> A.M. Johansen, “A tutorial on particle filtering <strong>and</strong> smoothing: fifteen years later”,<br />

The Ox<strong>for</strong>d H<strong>and</strong>book of Nonlinear Filtering, Ox<strong>for</strong>d University Press, 2009.<br />

[Hau05] A.J. Haug, “A Tutorial on <strong>Bayesian</strong> <strong>Estimation</strong> <strong>and</strong> <strong>Tracking</strong> Techniques Applicable to Nonlinear<br />

<strong>and</strong> Non-Gaussian Processes”, Mitre Corporation Technical Report, MTR 05W0000004 (public<br />

release), Jan. 2005<br />

[CarDav07] F. Caron, M. Davy, E. Duflos, P. Vanheeghe, “Particle filtering <strong>for</strong> multiuser data fusion with<br />

switching observation models: Applications to l<strong>and</strong> vehicle navigation”, IEEE Transactions on<br />

Signal Processing, vol.50, no.2, pp. 425<strong>–</strong>437, Feb 2002.<br />

[HueCad02] C. Hue, J.-P. Le Cadre, P. Pérez, “Sequential Monte Carlo Methods <strong>for</strong> Multiple Target <strong>Tracking</strong><br />

<strong>and</strong> Data Fusion”, IEEE Transactions on Signal Processing, vol.50, no.2, pp. 309<strong>–</strong>325, Feb<br />

2002.,<br />

[HenKar10] G. Hendeby, R. Karlsson, F. Gustafsson, “The Rao-Blackwellized Particle Filter: A Filter Bank<br />

Implementation” EURASIP Journal on Advances in Signal Processing. vol. 2010, Article ID<br />

724087, 10 pages, 2010.<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 50


References<br />

[Roy11] R. R. Roy, H<strong>and</strong>book of Mobility Models <strong>and</strong> Mobile Ad Hoc Networks, Springer, 2011.<br />

[QuiSta10] M. Quigley, D. Stavens, A. Coates, <strong>and</strong> S. Thrun. “Sub-Meter Indoor Localization in Unmodified<br />

Environments with Inexpensive Sensors.” In Proceedings of the IEEE/RSJ International<br />

Conference on Intelligent Robots <strong>and</strong> Systems 2010 (IROS10), Taipei, Taiwan, 2010.<br />

[KaiKhi11] S. Kaiser, M. Khider, <strong>and</strong> P. Robertson, “A maps-based angular PDF <strong>for</strong> navigation systems in<br />

indoor <strong>and</strong> outdoor environments”, 2011 IEEE International Conference on Indoor Positioning<br />

<strong>and</strong> Indoor Navigation (IPIN), Guimarães, Portugal, 21<strong>–</strong>23 Sep. 2011.<br />

Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!