COMP 150: Probabilistic Robotics for Human-Robot Interaction - - PowerPoint PPT Presentation

comp 150 probabilistic robotics for human robot
SMART_READER_LITE
LIVE PREVIEW

COMP 150: Probabilistic Robotics for Human-Robot Interaction - - PowerPoint PPT Presentation

COMP 150: Probabilistic Robotics for Human-Robot Interaction Instructor: Jivko Sinapov www.cs.tufts.edu/~jsinapov Today Homework 1 hints Introduction for Particle Filters for localization Localization and Mapping Robot Maps


slide-1
SLIDE 1

COMP 150: Probabilistic Robotics for Human-Robot Interaction

Instructor: Jivko Sinapov www.cs.tufts.edu/~jsinapov

slide-2
SLIDE 2

Today

  • Homework 1 hints
  • Introduction for Particle Filters for localization
slide-3
SLIDE 3

Localization and Mapping

slide-4
SLIDE 4

Robot Maps

[https://www.pirobot.org/blog/0015/map-1b.png]

slide-5
SLIDE 5

Robot Maps

[http://www.openrobots.org/morse/doc/1.2/user/advanced_tutorials/ros_nav_tutorial.html]

slide-6
SLIDE 6

Robot Maps

[https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/IROS-Kinect-Challenge/combined.png]

slide-7
SLIDE 7

Robot Maps

[http://rrt.fh-wels.at/images/sites/fancybox/3d_mapping.jpg]

slide-8
SLIDE 8

Robot Maps

slide-9
SLIDE 9
slide-10
SLIDE 10

A Simple 1-D Map

slide-11
SLIDE 11

A Simple 1-D Map

How would we represent this map using math?

slide-12
SLIDE 12

A Simple 1-D Map

At t = 1, our robot receives an observation:

slide-13
SLIDE 13

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x)

slide-14
SLIDE 14

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x)

slide-15
SLIDE 15

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x)

slide-16
SLIDE 16

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x)

slide-17
SLIDE 17

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x)

slide-18
SLIDE 18

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x) Clearly, a single Gaussian is insufficient to represent our belief that we may be at either of the 3 doors with equal probability

slide-19
SLIDE 19

A Simple 1-D Map

At t = 1, our robot receives an observation:

x bel(x) Clearly, a single Gaussian is insufficient to represent our belief that we may be at either of the 3 doors with equal probability What if we had an initial estimate of the robot’s location prior to

  • bserving and moving?
slide-20
SLIDE 20
slide-21
SLIDE 21

But what if we don’t know where we are at the start?

Or, what if somebody moves the robot manually after it started its operation?

slide-22
SLIDE 22

Odometry

“Odometry is the use of data from motion sensors to estimate change in position over time. It is used in robotics by some legged or wheeled robots to estimate their position relative to a starting location. This method is sensitive to errors due to the integration of velocity measurements over time to give position estimates. “

slide-23
SLIDE 23

Odometry Errors

slide-24
SLIDE 24

Basic idea behind Particle Filters

x

slide-25
SLIDE 25

Now, in 2-D

[http://www.ite.uni-karlsruhe.de/METZGER/DIPLOMARBEITEN/dipl2.html]

slide-26
SLIDE 26

Robot Pose

slide-27
SLIDE 27

Odometry Motion Model

slide-28
SLIDE 28

Sampling from the Model

slide-29
SLIDE 29

Motion Model

slide-30
SLIDE 30

Velocity Models with Different Parameters

slide-31
SLIDE 31

Velocity Models with Different Parameters

slide-32
SLIDE 32

Example

slide-33
SLIDE 33

Initially, we do not know the location of the robot, so the particles are everywhere

slide-34
SLIDE 34

Next, the robot sees a door

slide-35
SLIDE 35

Therefore, we inflate particles next to a door and shrink the rest

slide-36
SLIDE 36

Therefore, we inflate particles next to a door and shrink the rest

slide-37
SLIDE 37

Computing the weights

x1 x1 p(z1|x1) x1 Before After

slide-38
SLIDE 38

Before, we continue we re-sample our particles to make them all the same size

slide-39
SLIDE 39

Before, we continue we re-sample our particles to make them all the same size

slide-40
SLIDE 40

Resampling Rules

= = =

slide-41
SLIDE 41

Resampling

  • Given: Set S of weighted samples.
  • Wanted : Random sample, where the probability
  • f drawing xi is given by wi.
  • Typically done n times with replacement to

generate new sample set S’.

slide-42
SLIDE 42

w2 w3 w1 wn Wn-1

Roulette wheel Resampling

w2 w3 w1 wn Wn-1

  • Roulette wheel
  • Binary search, n log n
  • Stochastic universal sampling
  • Systematic resampling
  • Linear time complexity
  • Easy to implement, low variance

[From Thrun’s book “Probabilistic Robotics”]

slide-43
SLIDE 43

Next, the robot moves to the right...

slide-44
SLIDE 44

Therefore, we have to shift the particles to the right as well

slide-45
SLIDE 45

Therefore, we have to shift the particles to the right as well

slide-46
SLIDE 46

...and add some position noise

slide-47
SLIDE 47

...and add some position noise

slide-48
SLIDE 48

Next, the robot senses that is next to a door

slide-49
SLIDE 49

Next, the robot senses that is next to a door

slide-50
SLIDE 50

…we resample again

slide-51
SLIDE 51

The robot keeps going to the right...

slide-52
SLIDE 52

...we shift the particles again

slide-53
SLIDE 53

...and we add noise.

slide-54
SLIDE 54

And so on...

slide-55
SLIDE 55

Now, let’s compare that to some of the other methods

slide-56
SLIDE 56

Grid Localization

slide-57
SLIDE 57

Markov Localization

slide-58
SLIDE 58

KF

slide-59
SLIDE 59

Particle Filter

slide-60
SLIDE 60

Examples

slide-61
SLIDE 61

Localizing using Sonar

slide-62
SLIDE 62
slide-63
SLIDE 63
slide-64
SLIDE 64
slide-65
SLIDE 65
slide-66
SLIDE 66
slide-67
SLIDE 67
slide-68
SLIDE 68
slide-69
SLIDE 69
slide-70
SLIDE 70
slide-71
SLIDE 71
slide-72
SLIDE 72
slide-73
SLIDE 73

73

slide-74
SLIDE 74

74

slide-75
SLIDE 75

75

slide-76
SLIDE 76

76

slide-77
SLIDE 77

77

slide-78
SLIDE 78

78

slide-79
SLIDE 79

Using Ceiling Maps

slide-80
SLIDE 80

Vision-Based Localization

P(z|x) h(x) z

slide-81
SLIDE 81

Under a light

Measurement z: P(z|x):

slide-82
SLIDE 82

Close to a light

Measurement z: P(z|x):

slide-83
SLIDE 83

Far from a light

Measurement z: P(z|x):

slide-84
SLIDE 84

Could the robot use both vision and sonar to localize? How?

slide-85
SLIDE 85

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

  • bservations.

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

slide-86
SLIDE 86

Localization and Mapping Project Ideas

  • Build maps and localize using vision
  • 2D and/or 3D vision
  • Ceiling Maps
  • Incorporate multiple sources of observations for

computing p(z1,z2,…,zk|x)

  • Integrate existing mapping and localization

algorithms into the turtlebot2 code-base

slide-87
SLIDE 87

Credits

  • Some slides adapted / borrowed from:

Alexander Stoytchev Sebastian Thrun

slide-88
SLIDE 88

THE END

slide-89
SLIDE 89

89

slide-90
SLIDE 90

90