CS325 Artificial Intelligence Robotics II Navigation (Ch. 25) Dr. - - PowerPoint PPT Presentation

cs325 artificial intelligence robotics ii navigation ch 25
SMART_READER_LITE
LIVE PREVIEW

CS325 Artificial Intelligence Robotics II Navigation (Ch. 25) Dr. - - PowerPoint PPT Presentation

CS325 Artificial Intelligence Robotics II Navigation (Ch. 25) Dr. Cengiz Gnay, Emory Univ. Gnay Robotics II Navigation (Ch. 25) Spring 2013 1 / 18 Spring 2013 Robots with Different Degrees of Freedom Different robots has


slide-1
SLIDE 1

CS325 Artificial Intelligence Robotics II – Navigation (Ch. 25)

  • Dr. Cengiz Günay, Emory Univ.

Spring 2013

Günay Robotics II – Navigation (Ch. 25) Spring 2013 1 / 18

slide-2
SLIDE 2

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom:

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-3
SLIDE 3

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom: robotic arm: only joints

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-4
SLIDE 4

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom: robotic arm: only joints quadcopter/predator: all directions

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-5
SLIDE 5

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom: robotic arm: only joints quadcopter/predator: all directions roomba: location + heading

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-6
SLIDE 6

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom: robotic arm: only joints quadcopter/predator: all directions roomba: location + heading Navigate these with: particle filters: for state estimation and future prediction

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-7
SLIDE 7

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom: robotic arm: only joints quadcopter/predator: all directions roomba: location + heading Navigate these with: particle filters: for state estimation and future prediction planning: reach target from current state

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-8
SLIDE 8

Robots with Different Degrees of Freedom

Different robots has different movements and degrees of freedom: robotic arm: only joints quadcopter/predator: all directions roomba: location + heading Navigate these with: particle filters: for state estimation and future prediction planning: reach target from current state We’ll make our own self driving car :)

Günay Robotics II – Navigation (Ch. 25) Spring 2013 2 / 18

slide-9
SLIDE 9

Entry/Exit Surveys

Exit survey: Robotics I – Autonomous Robots

Which parameters do you have in the dynamic state of the roomba? How can we use the dynamic state parameters to estimate the current robot state?

Entry survey: Robotics II – Navigation (0.25 pts)

What were the steps in the particle filter algorithm? In what task would a robot need to combine a particle filter with planning? Briefly explain their roles in at least one example.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 3 / 18

slide-10
SLIDE 10

Remember Particle Filters?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 4 / 18

slide-11
SLIDE 11

Remember Particle Filters?

Remember why we needed location and heading in particles?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 4 / 18

slide-12
SLIDE 12

Localization with Particle Filters

Particle filtering: weights show likelihood; pick particles, shift, and repeat. Step 1: Initialize particles from homogeneous distribution.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 5 / 18

slide-13
SLIDE 13

Localization with Particle Filters

Particle filtering: weights show likelihood; pick particles, shift, and repeat. Step 2: Use sensors to estimate likely locations.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 5 / 18

slide-14
SLIDE 14

Localization with Particle Filters

Particle filtering: weights show likelihood; pick particles, shift, and repeat. Step 3: Resample likely particles and predict next state.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 5 / 18

slide-15
SLIDE 15

Localization with Particle Filters

Particle filtering: weights show likelihood; pick particles, shift, and repeat. Step 4: (again) Estimate location from sensors.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 5 / 18

slide-16
SLIDE 16

Localization with Particle Filters

Particle filtering: weights show likelihood; pick particles, shift, and repeat. Step 5: (again) Resample and predict state from movement.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 5 / 18

slide-17
SLIDE 17

Particle Filter Algorithm

S: Particle set {< x, w >, . . .}, U: Control vector (e.g., map), Z: Measure vector S′ = Ø, η = 0 For i=1. . . n sample j ∼ {w} w/ replacement x′ ∼ P(x′|U, Sj) w′ = P(Z|x′) η = η + w′ S′ = S′ ∪ {< x′, w′ >} End For i=1. . . n // Normalization step wi = 1

ηwi

End

Günay Robotics II – Navigation (Ch. 25) Spring 2013 6 / 18

slide-18
SLIDE 18

Particle Filter for Finding Road Boundaries

Günay Robotics II – Navigation (Ch. 25) Spring 2013 7 / 18

slide-19
SLIDE 19

Particle Filter for Finding Road Boundaries

Particles following the white lane lines so the car knows where it is.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 7 / 18

slide-20
SLIDE 20

Particles are Like Small Cars

Particle’s dynamic state to estimate next state:   x y θ  

Günay Robotics II – Navigation (Ch. 25) Spring 2013 8 / 18

slide-21
SLIDE 21

Particles are Like Small Cars

Particle’s dynamic state to estimate next state:   x y θ   & v ω

  • Günay

Robotics II – Navigation (Ch. 25) Spring 2013 8 / 18

slide-22
SLIDE 22

Particles are Like Small Cars

Particle’s dynamic state to estimate next state:   x y θ   & v ω

  x′ y′ θ′  

Günay Robotics II – Navigation (Ch. 25) Spring 2013 8 / 18

slide-23
SLIDE 23

Particles are Like Small Cars

Particle’s dynamic state to estimate next state:   x y θ   & v ω

  x′ y′ θ′   Also add some noise to account for uncertainty:

Günay Robotics II – Navigation (Ch. 25) Spring 2013 8 / 18

slide-24
SLIDE 24

Particles are Like Small Cars

Particle’s dynamic state to estimate next state:   x y θ   & v ω

  x′ y′ θ′   Also add some noise to account for uncertainty:

Günay Robotics II – Navigation (Ch. 25) Spring 2013 8 / 18

slide-25
SLIDE 25

Particles are Like Small Cars

Particle’s dynamic state to estimate next state:   x y θ   & v ω

  x′ y′ θ′   Also add some noise to account for uncertainty:

Günay Robotics II – Navigation (Ch. 25) Spring 2013 8 / 18

slide-26
SLIDE 26

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-27
SLIDE 27

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-28
SLIDE 28

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-29
SLIDE 29

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-30
SLIDE 30

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-31
SLIDE 31

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7 & w4 = 0.2

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-32
SLIDE 32

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7 & w4 = 0.2 (before normalization)

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-33
SLIDE 33

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7 & w4 = 0.2 (before normalization) Total = 0.7 + 0.7 + 0.2 + 0.2 = 1.8

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-34
SLIDE 34

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7 & w4 = 0.2 (before normalization) Total = 0.7 + 0.7 + 0.2 + 0.2 = 1.8 w1 = 7/18 & w4 = 2/18 (after normalization)

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-35
SLIDE 35

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7 & w4 = 0.2 (before normalization) Total = 0.7 + 0.7 + 0.2 + 0.2 = 1.8 w1 = 7/18 & w4 = 2/18 (after normalization) Why?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-36
SLIDE 36

Factor In Measurements

Pacman particles try to stay on the road lines: Measures pattern on ground, z. Question:

1 4 3 2

Likelihood based on measurement: P(dashes|on the line) = 0.7 P(no dashes|off the line) = 0.8 Particle weights, w, for 1 & 4? w1 = 0.7 & w4 = 0.2 (before normalization) Total = 0.7 + 0.7 + 0.2 + 0.2 = 1.8 w1 = 7/18 & w4 = 2/18 (after normalization) Why? So that weights are probabilities that add up to 1.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 9 / 18

slide-37
SLIDE 37

Then, Resample New Particles

Pick new 4 particles based on probs: w1 = w2 = 7/18 and w3 = w4 = 2/18

1 4 3 2

Günay Robotics II – Navigation (Ch. 25) Spring 2013 10 / 18

slide-38
SLIDE 38

Then, Resample New Particles

Pick new 4 particles based on probs: w1 = w2 = 7/18 and w3 = w4 = 2/18

1 4 3 2 1 4 3 2 1x 2x 1x

Günay Robotics II – Navigation (Ch. 25) Spring 2013 10 / 18

slide-39
SLIDE 39

Then, Resample New Particles

Pick new 4 particles based on probs: w1 = w2 = 7/18 and w3 = w4 = 2/18

1 4 3 2 1 4 3 2 1x 2x 1x 1 4 3

3

2

2 2

1x 2x 1x

1

Günay Robotics II – Navigation (Ch. 25) Spring 2013 10 / 18

slide-40
SLIDE 40

Then, Resample New Particles

Pick new 4 particles based on probs: w1 = w2 = 7/18 and w3 = w4 = 2/18

1 4 3 2 1 4 3 2 1x 2x 1x 1 4 3

3

2

2 2

1x 2x 1x

1

Günay Robotics II – Navigation (Ch. 25) Spring 2013 10 / 18

slide-41
SLIDE 41

Then, Resample New Particles

Pick new 4 particles based on probs: w1 = w2 = 7/18 and w3 = w4 = 2/18

1 4 3 2 1 4 3 2 1x 2x 1x 1 4 3

3

2

2 2

1x 2x 1x

1

Wash, rinse and repeat!

Günay Robotics II – Navigation (Ch. 25) Spring 2013 10 / 18

slide-42
SLIDE 42

Then, Resample New Particles

Pick new 4 particles based on probs: w1 = w2 = 7/18 and w3 = w4 = 2/18

1 4 3 2 1 4 3 2 1x 2x 1x 1 4 3

3

2

2 2

1x 2x 1x

1

Wash, rinse and repeat! Repeat the process:

1 Estimate 2 Measure 3 Resample Günay Robotics II – Navigation (Ch. 25) Spring 2013 10 / 18

slide-43
SLIDE 43

Particle Filters Solution to Every Problem?

So Particle Filters allow us to

Günay Robotics II – Navigation (Ch. 25) Spring 2013 11 / 18

slide-44
SLIDE 44

Particle Filters Solution to Every Problem?

So Particle Filters allow us to stay within the road. Do they also help the robot reach the goal?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 11 / 18

slide-45
SLIDE 45

Particle Filters Solution to Every Problem?

So Particle Filters allow us to stay within the road. Do they also help the robot reach the goal? No.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 11 / 18

slide-46
SLIDE 46

Particle Filters Solution to Every Problem?

So Particle Filters allow us to stay within the road. Do they also help the robot reach the goal? No. Still need planning. Let’s start with MDPs.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 11 / 18

slide-47
SLIDE 47

Particle Filters Solution to Every Problem?

So Particle Filters allow us to stay within the road. Do they also help the robot reach the goal? No. Still need planning. Let’s start with MDPs.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 11 / 18

slide-48
SLIDE 48

Particle Filters Solution to Every Problem?

So Particle Filters allow us to stay within the road. Do they also help the robot reach the goal? No. Still need planning. Let’s start with MDPs.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 11 / 18

slide-49
SLIDE 49

Planning: MDP in City Navigation

Includes heading direction, one-way circle

Günay Robotics II – Navigation (Ch. 25) Spring 2013 12 / 18

slide-50
SLIDE 50

MDP with Heading and Turns

(Count turns only at the intersection.)

Günay Robotics II – Navigation (Ch. 25) Spring 2013 13 / 18

slide-51
SLIDE 51

MDP with Heading and Turns

(Count turns only at the intersection.)

Günay Robotics II – Navigation (Ch. 25) Spring 2013 13 / 18

slide-52
SLIDE 52

MDP with Heading and Turns

(Count turns only at the intersection.)

Günay Robotics II – Navigation (Ch. 25) Spring 2013 13 / 18

slide-53
SLIDE 53

MDP with Heading and Turns

(Count turns only at the intersection.) Direct movement distance to goal: 6 With the right loop: 6 + 8 (additional steps) +6 (3 right turns) = 6 + 14

Günay Robotics II – Navigation (Ch. 25) Spring 2013 13 / 18

slide-54
SLIDE 54

MDP with Heading and Turns

(Count turns only at the intersection.) Direct movement distance to goal: 6 With the right loop: 6 + 8 (additional steps) +6 (3 right turns) = 6 + 14 How many values per grid?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 13 / 18

slide-55
SLIDE 55

MDP with Heading and Turns

(Count turns only at the intersection.) Direct movement distance to goal: 6 With the right loop: 6 + 8 (additional steps) +6 (3 right turns) = 6 + 14 How many values per grid? More than one.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 13 / 18

slide-56
SLIDE 56

MDP in Action for Car Driving: Lane Change

Günay Robotics II – Navigation (Ch. 25) Spring 2013 14 / 18

slide-57
SLIDE 57

MDP in Action for Car Driving: Roadblock

Günay Robotics II – Navigation (Ch. 25) Spring 2013 15 / 18

slide-58
SLIDE 58

A* for Robot Planning

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-59
SLIDE 59

A* for Robot Planning

Any problems with this?

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-60
SLIDE 60

A* for Robot Planning

Any problems with this? A* is dicrete: sharp turns for car

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-61
SLIDE 61

A* for Robot Planning

Any problems with this? A* is dicrete: sharp turns for car Robot car: needs continuous

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-62
SLIDE 62

A* for Robot Planning

Any problems with this? A* is dicrete: sharp turns for car Robot car: needs continuous Hybrid of discrete & continuous:

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-63
SLIDE 63

A* for Robot Planning

Any problems with this? A* is dicrete: sharp turns for car Robot car: needs continuous Hybrid of discrete & continuous: Save location & heading within grid block.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-64
SLIDE 64

A* for Robot Planning

Any problems with this? A* is dicrete: sharp turns for car Robot car: needs continuous Hybrid of discrete & continuous: Save location & heading within grid block. Also: prune loops, which makes it incomplete.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 16 / 18

slide-65
SLIDE 65

Hybrid A*: Driving in Parking Lot

Günay Robotics II – Navigation (Ch. 25) Spring 2013 17 / 18

slide-66
SLIDE 66

Summary: Robotic Navigation

What we did so far:

Günay Robotics II – Navigation (Ch. 25) Spring 2013 18 / 18

slide-67
SLIDE 67

Summary: Robotic Navigation

What we did so far: Perception: Particle filter Planning: MDP and A*

Günay Robotics II – Navigation (Ch. 25) Spring 2013 18 / 18

slide-68
SLIDE 68

Summary: Robotic Navigation

What we did so far: Perception: Particle filter Planning: MDP and A* Hope we gave you a flavor, more algorithms are also used: Reinforcement learning.

Günay Robotics II – Navigation (Ch. 25) Spring 2013 18 / 18