62
1 Bayes Filter – Particle Filter and Monte Carlo Localization Introduction to Mobile Robotics Wolfram Burgard

Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

1

Bayes Filter – Particle Filter and Monte Carlo Localization

Introduction toMobile Robotics

Wolfram Burgard

Page 2: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

2

§ Estimating the state of a dynamical system is a fundamental problem

§ The Recursive Bayes Filter is an effective approach to estimate the belief about the state of a dynamical system§ How to represent this belief?§ How to maximize it?

§ Particle filters are a way to efficiently represent an arbitrary (non-Gaussian) distribution

§ Basic principle§ Set of state hypotheses (“particles”)§ Survival-of-the-fittest

Motivation

Page 3: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

3

=ηP(zt | xt ) P(xt | ut, xt−1)∫ Bel(xt−1) dxt−1

Bayes Filters

=η P(zt | xt,u1, z1,…,ut ) P(xt | u1, z1,…,ut )Bayes

z = observationu = actionx = state

Bel(xt ) = P(xt | u1, z1…,ut, zt )

Markov =η P(zt | xt ) P(xt | u1, z1,…,ut )

Markov =η P(zt | xt ) P(xt | ut, xt−1)∫ P(xt−1 | u1, z1,…,ut ) dxt−1

=η P(zt | xt ) P(xt | u1, z1,…,ut, xt−1)∫P(xt−1 | u1, z1,…,ut ) dxt−1

Total prob.

Markov =ηP(zt | xt ) P(xt | ut, xt−1)∫ P(xt−1 | u1, z1,…, zt−1) dxt−1

,

Page 4: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Probabilistic Localization

Page 5: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

5

§ Particle sets can be used to approximate functions

Function Approximation

§ The more particles fall into an interval, the higher the probability of that interval

§ How to draw samples from a function/distribution?

Page 6: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

6

§ Let us assume that f(x)< a for all x§ Sample x from a uniform distribution§ Sample c from [0,a]§ if f(x) > c keep the sample

otherwise reject the sample

Rejection Sampling

c

xf(x)

c

x’

f(x’)

OK

a

Page 7: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

7

§ We can even use a different distribution g to generate samples from f

§ Using an importance weight w, we can account for the “differences between g and f ”

§ w = f / g§ f is called target§ g is called proposal§ Pre-condition:

f(x)>0 à g(x)>0

Importance Sampling Principle

Page 8: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

8

§ Set of weighted samples

Particle Filter Representation

§ The samples represent the posterior

State hypothesis Importance weight

Page 9: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Importance Sampling with Resampling:Landmark Detection Example

Page 10: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Distributions

Page 11: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

11

Distributions

Wanted: samples distributed according to p(x| z1, z2, z3)

Page 12: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

This is Easy!We can draw samples from p(x|zl) by adding noise to the detection parameters.

Page 13: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Importance Sampling

Target distribution f : p(x | z1, z2,..., zn ) =p(zk | x) p(x)

k∏p(z1, z2,..., zn )

Sampling distribution g: p(x | zl ) =p(zl | x)p(x)

p(zl )

Importance weights w: fg=p(x | z1, z2,..., zn )

p(x | zl )=p(zl ) p(zk | x)

k≠l∏

p(z1, z2,..., zn )

Page 14: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Importance Sampling with Resampling

Weighted samples After resampling

Page 15: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Particle Filter Localization

1. Draw from

2. Draw from

3. Importance factor for

4. Re-sample

Page 16: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

17

§ Let us assume that f(x)< a for all x§ Sample x from a uniform distribution§ Sample c from [0,a]§ if f(x) > c keep the sample

otherwise reject the sample

Rejection Sampling

c

xf(x)

c

x’

f(x’)

OK

a

2. Draw from

Page 17: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

18

§ We can even use a different distribution g to generate samples from f

§ Using an importance weight w, we can account for the “differences between g and f ”

§ w = f / g§ f is called target§ g is called proposal§ Pre-condition:

f(x)>0 à g(x)>0

Importance Sampling Principle

3. Importance factor for

Page 18: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Particle Filters

Page 19: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

)|()(

)()|()()|()(

xzpxBel

xBelxzpw

xBelxzpxBel

aaa

¬

-

-

-

Sensor Information: Importance Sampling

Page 20: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Bel−(x) ← p(x | u, x ') Bel(x ') d x '∫

Robot Motion

Page 21: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Bel(x) ← α p(z | x) Bel−(x)

w ←α p(z | x) Bel−(x)

Bel−(x)= α p(z | x)

Sensor Information: Importance Sampling

Page 22: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Robot Motion

Bel−(x) ← p(x | u, x ') Bel(x ') d x '∫

Page 23: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

24

Particle Filter Algorithm

§ Sample the next generation for particles using the proposal distribution

§ Compute the importance weights :weight = target distribution / proposal distribution

§ Resampling: “Replace unlikely samples by more likely ones”

Page 24: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

25

1. Algorithm particle_filter( St-1, ut, zt):2.

3. For Generate new samples

4. Sample index j(i) from the discrete distribution given by wt-1

5. Sample from using and

6. Compute importance weight

7. Update normalization factor

8. Add to new particle set

9. For

10. Normalize weights

Particle Filter Algorithm

0, =Æ= htSi =1,…,n

St = St∪{< xti,wt

i >}

η =η +wti

xti p(xt | xt−1,ut ) xt−1

j (i) utwti = p(zt | xt

i )

i =1,…,n

wti = wt

i /η

Page 25: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

draw xit-1 from Bel(xt-1)

draw xit from p(xt | xi

t-1,ut)

Importance factor for xit:

wti =

target distributionproposal distribution

=η p(zt | xt ) p(xt | xt−1,ut ) Bel (xt−1)

p(xt | xt−1,ut ) Bel (xt−1)∝ p(zt | xt )

Bel(xt ) = η p(zt | xt ) p(xt | xt−1,ut ) Bel(xt−1)∫ dxt−1

Particle Filter Algorithm

Page 26: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Resampling

§ Given: Set S of weighted samples.

§ Wanted : Random sample, where the probability of drawing xi is given by wi.

§ Typically done n times with replacement to generate new sample set S’.

Page 27: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

w2

w3

w1wn

Wn-1

Resampling

w2

w3

w1wn

Wn-1

§ Roulette wheel

§ Binary search, n log n

§ Stochastic universal sampling

§ Systematic resampling

§ Linear time complexity§ Easy to implement, low variance

Page 28: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

1. Algorithm systematic_resampling(S,n):

2.3. For Generate cdf4.5. Initialize threshold

6. For Draw samples …7. While ( ) Skip until next threshold reached8.9. Insert10. Increment threshold

11. Return S’

Resampling Algorithm

11,' wcS =Æ=

ni !2=i

ii wcc += -1

1],,0]~ 11 =- inUu

nj !1=

11

-+ += nuu jj

ij cu >

{ }><È= -1,'' nxSS i1+= ii

Also called stochastic universal sampling

Page 29: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

30

Particle Filters for Mobile Robot Localization

§ Each particle is a potential pose of the robot

§ Proposal distribution is the motion model of the robot (prediction step)

§ The observation model is used to compute the importance weight (correction step)

Page 30: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Start

Motion Model

Page 31: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Proximity Sensor Model (Reminder)

Laser sensor Sonar sensor

Page 32: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

36

Mobile Robot Localization Using Particle Filters (1)

§ Each particle is a potential pose of the robot

§ The set of weighted particles approximates the posterior belief about the robot’s pose (target distribution)

Page 33: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

37

Mobile Robot Localization Using Particle Filters (2)

§ Particles are drawn from the motion model (proposal distribution)

§ Particles are weighted according to the observation model (sensor model)

§ Particles are resampled according to the particle weights

Page 34: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

38

Mobile Robot Localization Using Particle Filters (3)

Why is resampling needed?

§ We only have a finite number of particles

§ Without resampling: The filter is likely to loose track of the “good” hypotheses

§ Resampling ensures that particles stay in the meaningful area of the state space

Page 35: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

39

Page 36: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

40

Page 37: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

41

Page 38: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

42

Page 39: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

43

Page 40: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

44

Page 41: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

45

Page 42: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

46

Page 43: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

47

Page 44: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

48

Page 45: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

49

Page 46: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

50

Page 47: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

51

Page 48: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

52

Page 49: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

53

Page 50: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

54

Page 51: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

55

Page 52: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

56

Sample-based Localization (Sonar)

Page 53: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Using Ceiling Maps for Localization

[Dellaert et al. 99]

Page 54: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Vision-based Localization

P(z|x)

h(x)z

Page 55: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Under a Light

Measurement z: P(z|x):

Page 56: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Next to a Light

Measurement z: P(z|x):

Page 57: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Elsewhere

Measurement z: P(z|x):

Page 58: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

Global Localization Using Vision

Page 59: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

69

Limitations

§ The approach described so far is able § to track the pose of a mobile robot and § to globally localize the robot

§ How can we deal with localization errors (i.e., the kidnapped robot problem)?

Page 60: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

70

Approaches

§ Randomly insert a fixed number of samples with randomly chosen poses

§ This corresponds to the assumption that the robot can be teleported at any point in time to an arbitrary location

§ Alternatively, insert such samples inversely proportional to the average likelihood of the observations (the lower this likelihood the higher the probability that the current estimate is wrong).

Page 61: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

71

Summary – Particle Filters

§ Particle filters are an implementation of recursive Bayesian filtering

§ They represent the posterior by a set of weighted samples

§ They can model arbitrary and thus also non-Gaussian distributions

§ Proposal to draw new samples§ Weights are computed to account for the

difference between the proposal and the target

§ Monte Carlo filter, Survival of the fittest, Condensation, Bootstrap filter

Page 62: Introduction to Mobile Robotics Bayes Filter –Particle ...people.eecs.berkeley.edu/~pabbeel/cs287-fa19/... · and Monte Carlo Localization Introduction to Mobile Robotics Wolfram

72

Summary – PF Localization

§ In the context of localization, the particles are propagated according to the motion model.

§ They are then weighted according to the likelihood model (likelihood of the observations).

§ In a re-sampling step, new particles are drawn with a probability proportional to the likelihood of the observation.

§ This leads to one of the most popular approaches to mobile robot localization