probabilistic robotics bayes filter implementations particle filters

58
Probabilistic Robotics Bayes Filter Implementations Particle filters

Post on 18-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Probabilistic Robotics Bayes Filter Implementations Particle filters

Probabilistic Robotics

Bayes Filter Implementations

Particle filters

Page 2: Probabilistic Robotics Bayes Filter Implementations Particle filters

Sample-based Localization (sonar)

Page 3: Probabilistic Robotics Bayes Filter Implementations Particle filters

Represent belief by random samples

Estimation of non-Gaussian, nonlinear processes

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

Filtering: [Rubin, 88], [Gordon et al., 93], [Kitagawa 96]

Computer vision: [Isard and Blake 96, 98] Dynamic Bayesian Networks: [Kanazawa et al., 95]d

Particle Filters

Page 4: Probabilistic Robotics Bayes Filter Implementations Particle filters

Importance Sampling with Resampling

),...,,(

)()|(),...,,|( :fon distributiTarget

2121

n

kk

n zzzp

xpxzpzzzxp

)(

)()|()|( :gon distributi Sampling

l

ll zp

xpxzpzxp

),...,,(

)|()(

)|(

),...,,|( : w weightsImportance

21

21

n

lkkl

l

n

zzzp

xzpzp

zxp

zzzxp

g

f

Page 5: Probabilistic Robotics Bayes Filter Implementations Particle filters

Importance Sampling with Resampling

Weighted samples After resampling

Page 6: Probabilistic Robotics Bayes Filter Implementations Particle filters

Particle Filters

Page 7: Probabilistic Robotics Bayes Filter Implementations Particle filters

)|()(

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

xzpxBel

xBelxzpw

xBelxzpxBel

Sensor Information: Importance Sampling

Page 8: Probabilistic Robotics Bayes Filter Implementations Particle filters

'd)'()'|()( , xxBelxuxpxBel

Robot Motion

Page 9: Probabilistic Robotics Bayes Filter Implementations Particle filters

)|()(

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

xzpxBel

xBelxzpw

xBelxzpxBel

Sensor Information: Importance Sampling

Page 10: Probabilistic Robotics Bayes Filter Implementations Particle filters

Robot Motion

'd)'()'|()( , xxBelxuxpxBel

Page 11: Probabilistic Robotics Bayes Filter Implementations Particle filters

1. Algorithm particle_filter( St-1, ut-1 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. Insert

9. For

10. Normalize weights

Particle Filter Algorithm

0, tS

ni 1

},{ it

ittt wxSS

itw

itx ),|( 11 ttt uxxp )(

1ij

tx 1tu

)|( itt

it xzpw

ni 1

/it

it ww

Page 12: Probabilistic Robotics Bayes Filter Implementations Particle filters

draw xit1 from Bel(xt1)

draw xit from p(xt | xi

t1,ut1)

Importance factor for xit:

)|()(),|(

)(),|()|(ondistributi proposal

ondistributitarget

111

111

tt

tttt

tttttt

it

xzpxBeluxxp

xBeluxxpxzp

w

1111 )(),|()|()( tttttttt dxxBeluxxpxzpxBel

Particle Filter Algorithm

Page 13: Probabilistic Robotics Bayes Filter Implementations Particle filters

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 14: Probabilistic Robotics Bayes Filter Implementations Particle filters

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 2i

ii wcc 1

1],,0]~ 11 inUu

nj 1

11

nuu jj

ij cu

1,'' nxSS i

1ii

Also called stochastic universal sampling

Page 15: Probabilistic Robotics Bayes Filter Implementations Particle filters

Start

Motion Model Reminder

Page 16: Probabilistic Robotics Bayes Filter Implementations Particle filters

Proximity Sensor Model Reminder

Laser sensor Sonar sensor

Page 17: Probabilistic Robotics Bayes Filter Implementations Particle filters

17

Page 18: Probabilistic Robotics Bayes Filter Implementations Particle filters

18

Page 19: Probabilistic Robotics Bayes Filter Implementations Particle filters

19

Page 20: Probabilistic Robotics Bayes Filter Implementations Particle filters

21

Page 21: Probabilistic Robotics Bayes Filter Implementations Particle filters

22

Page 22: Probabilistic Robotics Bayes Filter Implementations Particle filters

23

Page 23: Probabilistic Robotics Bayes Filter Implementations Particle filters

24

Page 24: Probabilistic Robotics Bayes Filter Implementations Particle filters

25

Page 25: Probabilistic Robotics Bayes Filter Implementations Particle filters

26

Page 26: Probabilistic Robotics Bayes Filter Implementations Particle filters

27

Page 27: Probabilistic Robotics Bayes Filter Implementations Particle filters

28

Page 28: Probabilistic Robotics Bayes Filter Implementations Particle filters

29

Page 29: Probabilistic Robotics Bayes Filter Implementations Particle filters

30

Page 30: Probabilistic Robotics Bayes Filter Implementations Particle filters

31

Page 31: Probabilistic Robotics Bayes Filter Implementations Particle filters

32

Page 32: Probabilistic Robotics Bayes Filter Implementations Particle filters

33

Page 33: Probabilistic Robotics Bayes Filter Implementations Particle filters

34

Page 34: Probabilistic Robotics Bayes Filter Implementations Particle filters

35

Page 35: Probabilistic Robotics Bayes Filter Implementations Particle filters

36

Sample-based Localization (sonar)

Page 36: Probabilistic Robotics Bayes Filter Implementations Particle filters

37

Initial Distribution

Page 37: Probabilistic Robotics Bayes Filter Implementations Particle filters

38

After Incorporating Ten Ultrasound Scans

Page 38: Probabilistic Robotics Bayes Filter Implementations Particle filters

39

After Incorporating 65 Ultrasound Scans

Page 39: Probabilistic Robotics Bayes Filter Implementations Particle filters

40

Estimated Path

Page 40: Probabilistic Robotics Bayes Filter Implementations Particle filters

Using Ceiling Maps for Localization

Page 41: Probabilistic Robotics Bayes Filter Implementations Particle filters

Vision-based Localization

P(z|x)

h(x)z

Page 42: Probabilistic Robotics Bayes Filter Implementations Particle filters

Under a Light

Measurement z: P(z|x):

Page 43: Probabilistic Robotics Bayes Filter Implementations Particle filters

Next to a Light

Measurement z: P(z|x):

Page 44: Probabilistic Robotics Bayes Filter Implementations Particle filters

Elsewhere

Measurement z: P(z|x):

Page 45: Probabilistic Robotics Bayes Filter Implementations Particle filters

Global Localization Using Vision

Page 46: Probabilistic Robotics Bayes Filter Implementations Particle filters

47

Robots in Action: Albert

Page 47: Probabilistic Robotics Bayes Filter Implementations Particle filters

48

Application: Rhino and Albert Synchronized in Munich and Bonn

[Robotics And Automation Magazine, to appear]

Page 48: Probabilistic Robotics Bayes Filter Implementations Particle filters

Localization for AIBO robots

Page 49: Probabilistic Robotics Bayes Filter Implementations Particle filters

50

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 50: Probabilistic Robotics Bayes Filter Implementations Particle filters

51

Approaches

•Randomly insert samples (the robot can be teleported at any point in time).

• Insert random samples proportional to the average likelihood of the particles (the robot has been teleported with higher probability when the likelihood of its observations drops).

Page 51: Probabilistic Robotics Bayes Filter Implementations Particle filters

52

Random SamplesVision-Based Localization936 Images, 4MB, .6secs/imageTrajectory of the robot:

Page 52: Probabilistic Robotics Bayes Filter Implementations Particle filters

53

Odometry Information

Page 53: Probabilistic Robotics Bayes Filter Implementations Particle filters

54

Image Sequence

Page 54: Probabilistic Robotics Bayes Filter Implementations Particle filters

55

Resulting Trajectories

Position tracking:

Page 55: Probabilistic Robotics Bayes Filter Implementations Particle filters

56

Resulting Trajectories

Global localization:

Page 56: Probabilistic Robotics Bayes Filter Implementations Particle filters

57

Global Localization

Page 57: Probabilistic Robotics Bayes Filter Implementations Particle filters

58

Kidnapping the Robot

Page 58: Probabilistic Robotics Bayes Filter Implementations Particle filters

60

Summary

• Particle filters are an implementation of recursive Bayesian filtering

• They represent the posterior by a set of weighted samples.

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

• They are then weighted according to the likelihood of the observations.

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