cs 326a: motion planning kynodynamic planning + dealing with moving obstacles + dealing with...

32
CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

Post on 21-Dec-2015

227 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

CS 326A: Motion Planning

Kynodynamic Planning+ Dealing with Moving

Obstacles+ Dealing with Uncertainty+ Dealing with Real-Time

Issues

Page 2: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

2

Kinodynamic Planning Problem

Plan a robot’s trajectory that satisfies a dynamic equation of motion of the

form:

s’ = f(s,u)where:– s is robot’s state configuration x velocity at time t– u is control input at time t

avoids collision with moving obstacles

Outcome: (Piecewise-constant) control function u(t)

Page 3: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

3

ProblemPlan a robot’s trajectory that satisfies a dynamic motion constraint of the

form:

s’ = f(s,u)where:– s is robot’s state configuration x velocity at time t– u is control input at time t

avoids collision with moving obstacles

Outcome: (Piecewise-constant) control function u(t)

Note similarity with non-holonomic

constraintq’ = f(q,u)

Page 4: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

Nonholonomic vs. Dynamic Constraints

Nonholonomic constraint: f(q,q’) = 0

Dynamic constraints: f(q,q’,q’’) = 0

s = (q,q’) g(s,s’) = 0

Kinodynamic planning is done in state (configuration x velocity) space rather than in configuration space

The dimensionality of state space is twice that of configuration space

Page 5: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

5

Similarity of Method Construction of a tree,

by integrating equation of motion with selected control inputs

However, planning occurs in state space, instead of configuration space

Hence, PRM-like planner rather than deterministic one, to deal with greater dimensionality of the space

Page 6: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

6

air bearing

gas tank

air thrusters

Robot created to study issues in robot control and planning in no-gravityspace environment

Example: Space Robot

Page 7: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

7

Navigation Among Moving Obstacles

Page 8: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

8

Model, Sensing, and Control

The robot and the obstacles are represented as disks moving in the plane

The position and velocity of each disc are measured by an overhead camera every 1/30 sec

xx

yrobot

obstacles

Page 9: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

9

Model, Sensing, and Control

The robot and the obstacles are represented as disks moving in the plane

The position and velocity of each disc are measured by an overhead camera within 1/30 sec

The robot controls the magnitude f and the orientation of the total pushing force exerted by the thrusters

xx

y

f

robot

obstacles

M

q=(x,y)

s=(q,q')

u=(f , )

1x"= f cos

m1

y"= f sinm

ff

Page 10: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

x

y

t

Moving Obstacles in ConfigurationxTime

Space

Page 11: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

straight line segments

Traditional PRM

Page 12: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

12

s

g

Kinodynamic Planning with PRM in State x Time Space

The roadmap is a tree oriented along the time axis (because of the moving obstacles)

Bi-directional search?

t=1

t=2

t=3

t=2

t=1

t=4

t=2

t=3

t=4

t=5

t=3

Page 13: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

13

s

g

PRM in State x Time Space

The roadmap is a tree oriented along the time axis

endgame region

Compare!

Page 14: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

endgame region

Sampling Strategy

1

1

1

2 1

1

1

1

2

Page 15: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

Goal Region

Bi-Directional Search: Forward & Backward

Integration

Page 16: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

16

Example Run

t

x

y

Obstacle map to cylinders in configurationtime space

Page 17: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

17

Other Examples

Page 18: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

18

But executing this trajectory is likely to fail ...

1) The measured velocities of the obstacles are inaccurate 2) Tiny particles of dust on the table affect trajectories and

contribute further to deviation

Obstacles are likely to deviate from their expected trajectories

3) Planning takes time, and during this time, obstacles keep moving

The computed robot trajectory is not properly synchronized with those of the obstacles

The robot may hit an obstacle before reaching its goal

[Robot control is not perfect but “good” enough for the task]

Page 19: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

19

But executing this trajectory is likely to fail ...

1) The measured velocities of the obstacles are inaccurate 2) Tiny particles of dust on the table affect trajectories and

contribute further to deviation

Obstacles are likely to deviate from their expected trajectories

3) Planning takes time, and during this time, obstacles are moving

The computed robot trajectory is not properly synchronized with those of the obstacles

The robot may hit an obstacle before reaching its goal

[Robot control is not perfect but “good” enough for the task]

Planning must take both uncertainty in world state and time constraints into account

Page 20: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

20

Dealing with Uncertainty

The robot can handle uncertainty in an obstacle position by representing the set of all positions of the obstacle that the robot think possible at each time

For example, this set can be a disc whose radius grows linearly with time

t = 0 t = T t = 2T

Initial set ofpossible positions

Set of possible positions at time 2TSet of possible

positions at time T

Page 21: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

21

Dealing with Uncertainty

The robot can handle uncertainty in an obstacle position by representing the set of all positions of the obstacle that the robot think possible at each time

For example, this set can be a disc whose radius grows linearly with time

t = 0 t = T t = 2T

The robot must plan to be outside this disc at time t = T

Page 22: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

22

Dealing with Uncertainty

The robot can handle uncertainty in an obstacle position by representing the set of all positions of the obstacle that the robot think possible at each time (belief state)

For example, this set can be a disc whose radius grows linearly with time

The forbidden regions in configurationtime space are cones, instead of cylinders

The trajectory planning method remains essentially unchanged

Page 23: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

23

Dealing with Planning Time

Let t=0 the time when planning starts. A time limit is given to the planner

The planner computes the states that will be possible at t and use them as the possible initial states

It returns a trajectory at some t , whose execution will start at t

Since the PRM planner isn’t absolutely guaranteed to find a solution within , it computes two trajectories using the same roadmap: one to the goal, the other to any position where the robot will be safe for at least an additional . Since there are usually many such positions, the second trajectory is at least one order of magnitude faster to compute

Page 24: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

Safe Region

endgame region

Planning an Escape Trajectory

Page 25: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

25

Are we done?

Not quite ! The uncertainty model may be itself incorrect, e.g.:

• There may be more dust on the table than anticipated

• Some obstacles have the ability to change trajectories

But if we are too careful, we will end up with forbidden regions so big that no solution trajectory will exist any more

So, it might be better to take some “risk”The robot must monitor the execution of theplanned trajectory and be prepared to re-plan a new trajectory

Page 26: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

26

Are we done?

The robot must monitor the execution of theplanned trajectory and be prepared to re-plan a new trajectory

Execution monitoring consists of using the camera (at 30Hz) to verify that all obstacles are at positions allowed by the robot’s uncertainty model

If an obstacle has an unexpectedposition, the planner is called backto compute a new trajectory.

Note tradeoff between uncertaintymodel and number of re-plans

Page 27: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

27

Experimental Run with Re-Planning

11 22 33

44 55 66

77

Page 28: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

28

11 22 33

44 55 66

77

Experimental Run with Re-Planning

Page 29: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

29

Another Experimental Run

Total duration : 40 sec

X

Page 30: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

30

Another Experimental Run

Page 31: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

31

Example in Simulation

8 replanning operations

Page 32: CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues

32

Is this guaranteed to work?

Of course not : Thrusters might get clogged The robot may run out of air or

battery The granite table may suddenly break

into pieces Etc ...

[Unbounded uncertainty]