motion planning algorithms : bug-family

30
1 Motion Planning Algorithms : BUG-family

Upload: jane

Post on 07-Jan-2016

27 views

Category:

Documents


2 download

DESCRIPTION

Motion Planning Algorithms : BUG-family. To plan a path. find a continuous trajectory leading from initial position of the automaton (a mobile robot) to its target position or conclude in finite time that the target can’t be reached. Assumptions: Automaton – a point - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Motion Planning Algorithms : BUG-family

1

Motion Planning Algorithms : BUG-family

Page 2: Motion Planning Algorithms : BUG-family

2

To plan a path find a continuous trajectory leading from initial

position of the automaton (a mobile robot) to its target position or conclude in finite time that the target can’t be reached.

Assumptions:

Automaton – a point Environment – 2D plane filled with unknown /

known obstacles of arbitrary shape and size.

Page 3: Motion Planning Algorithms : BUG-family

3

How do I get from point A to point B?

Approaches– Map-based

• Requires significant a priori knowledge

• Generally pretty easy – after all, you have a map

– Sensing-based• No a priori knowledge required, entirely sensor based

Provable (exact, algorithmic) and heuristic approach.

Page 4: Motion Planning Algorithms : BUG-family

4

Path planning with complete information (Map-based approach)

Piano movers problem – have perfect information about the obstacles.

Given a solid object of known size and shape in 2D or 3D space, its initial and target position and orientation.

Given a set of obstacles whose shapes, positions, and orientations in space are fully described.

Page 5: Motion Planning Algorithms : BUG-family

5

The task is to find a continuous path for the object from the initial position to the target position while avoiding collisions with obstacles along the way.

Because full information is assumed, the whole operation of path planning is a one-time off-line operation.

Main difficulty – obtaining a computationally efficient scheme.

Advantage – any optimization criteria (shortest/safest/minimum-time/… path) can be easily introduced.

Page 6: Motion Planning Algorithms : BUG-family

6

Path planning with incomplete information (Sensing-based approach)

An element of uncertainty about the environment (local character information provided by sensors) is presented and the operation of path planning is a continuous on-line process.

Path planning is limited to the automaton’s immediate surroundings for which information on the scene is available. Within this limited area the problem is treated as one with complete information.

Two critical aspects of navigating in the unknown terrain:– The computation is based on local information (online algorithms)

– Sensing is an integral part of the navigation (sensor operations schedule is required)

Page 7: Motion Planning Algorithms : BUG-family

7

Bug Methodology V. Lumelsky and A. Stepanov, “Path-Planning Strategies

for a Point Mobile Automaton Moving Amidst Unknown Obstacles of Arbitrary Shape”, Algorithmica (1987) 2: 403-430.

Combine local with global information Guaranteed to converge if a solution exists

Drive to goal

Follow an obstacle

Encounterobstacle

“Leaving condition”

Page 8: Motion Planning Algorithms : BUG-family

8

Model Environment:

Plane with a set of obstacles and points S and T.

Obstacle – simply closed curve of finite length s.t. a straight line crosses it only in finitely many points.Obstacles do not touch each other. Scene contains locally finite number of obstacles.

Page 9: Motion Planning Algorithms : BUG-family

9

Automaton MA is a point. Information provided by sensors is

– (1) current coordinates of MA

– (2) the fact of contacting the obstacle. T-coordinates are given; MA can always calculate its

direction toward and its distance from T. Memory for storing data/intermediate results is limited. Motion capabilities:

– move toward T on a straight line,

– move along obstacle boundary,

– stop.

Page 10: Motion Planning Algorithms : BUG-family

10

Definitions A local direction is a once and for all decided

direction for passing around an obstacle: left or right.

MA defines a hit point H on the obstacle when, while moving along a straight line toward T, MA contacts the obstacle at point H.

MA defines a leaving point L on the obstacle when it leaves the obstacle at the point L in order to continue its straight line walk toward T.

No point can be defined both H and L.

Page 11: Motion Planning Algorithms : BUG-family

11

Bug1 : Memory Requirements

R1 – coordinates of the current closest to T point Qm on the obstacle boundary

R2 – integrates the length of the obstacle boundary starting at Hi

R3 - integrates the length of the obstacle boundary starting at Qm

Page 12: Motion Planning Algorithms : BUG-family

12

Bug1

Page 13: Motion Planning Algorithms : BUG-family

13

Bug1 1. From the point Li-1, move toward T

along a straight line until one of the

following occurs:

(a) Target T is reached. Stop.

(b) An obstacle is encountered and a hit point Hi is defined. Go to step 2.

2. Using the local direction, follow the obstacle boundary. If T is reached, stop. After having traversed the whole boundary and having returned to Hi, define a new leave point Li = Qm. Go to step 3.

3. Using the contents of registers R2 and R3, determine the shorter way along the boundary to Li and use it to get to Li. Apply the test for target reachability. If T is not reachable – stop. Otherwise, Set i=i+1 and go to step 1.

Page 14: Motion Planning Algorithms : BUG-family

14

Test for reachability:

If MA, after having arrived at Li in step 3 of the algorithm, discovers that the straight line (Li,T) crosses some obstacle at point Li, this can only mean that the crossed obstacle is i and that the T is not reachable – either S or T is trapped inside i-th obstacle.

Page 15: Motion Planning Algorithms : BUG-family

15

Page 16: Motion Planning Algorithms : BUG-family

16

Worst-case path length

P = D+1.5∑pi ,

where ∑pi – perimeters of the obstacles intersecting the disc of radius D centered at T;

D – Euclidean distance between S and T

Page 17: Motion Planning Algorithms : BUG-family

17

Bug2

Page 18: Motion Planning Algorithms : BUG-family

18

1. From the point Li-1, move toward T

along a straight line (S,T) until

one of the following occurs:

(a) Target T is reached. Stop.

(b) An obstacle is encountered and a hit point Hi is defined. Go to step 2.

2. Using the local direction, follow the obstacle boundary until one of the following occurs:

(a) Target T is reached, stop.

(b) The line (S,T) is met at a point Q such that the distance d(Q,T) < d(Hi ,T), and the line (Q,T) does not cross the current obstacle at the point Q. Define the leaving point Li = Q. Set j=j+1. Go to step 1.

(c) MA returns to Hi completing a closed curve (the obstacle boundary) without having defined the next hit point, Hi+1. T is trapped and cannot be reached. Stop.

Bug2

Page 19: Motion Planning Algorithms : BUG-family

19

Test for reachability:

If, on the p-th local cycle, p=0,1…, after having defined a point Hi, MA returns to this point before it defines at least the first two out of the possible set of point Li,Hi+1,…,Hk, it means that MA been trapped and the T is not reachable.

Page 20: Motion Planning Algorithms : BUG-family

20

MA can meet the same obstacle more then once and has no way of distinguishing between different obstacles

Page 21: Motion Planning Algorithms : BUG-family

21

Page 22: Motion Planning Algorithms : BUG-family

22

MA passes any point of the i-th obstacle boundary

at most ni/2 times. The length of a path never exceeds the limit

P = D + ½∑ ni pi ,

where pi - perimeters of the obstacles intersecting the straight line segment (Start, Target)

Worst-case path length

Page 23: Motion Planning Algorithms : BUG-family

23

The Lower Bound for the Path-Planning Problem

For any path-planning algorithm satisfying the assumptions of Bug model, any (however large) P>0 and any (however small) D>0 , there exists a scene for which the algorithm will generate a path length P and

P ⋝ D + ∑pi,

where D is the distance between S and T

pi - perimeters of the obstacles intersecting the disk of radius D centered at T

Page 24: Motion Planning Algorithms : BUG-family

24

Sankaranarayanan`s Algorithms

A.Sankaranarayanan and M.Vidyasagar. “A new path planning algorithm for a point object moving amidst unknown obstacles in a plane.“, 1990

A.Sankaranarayanan and M.Vidyasagar. “Path planning for moving a point object amidst unknown obstacles in a plane: The universal bound on the worst case path lengths, and a classification of algorithms.“, 1990

Page 25: Motion Planning Algorithms : BUG-family

25

1.The robot moves toward T along a straight line (S,T) [M-line] until one of the following occurs:

(a) Target T is reached. Stop.(b) An obstacle is encountered and a hit point Hi is defined. Go to 2.

2. Using the local direction, follow the obstacle boundary until one of the following occurs:(a) Target T is reached, stop. (b) The line (S,T) is met for the first time at a point Q such that the distance d(Q,T) < d(Hi ,T), and the line (Q,T) does not cross the current obstacle at the point Q. Define the leaving point Li = Q. Set j=j+1. Go to 1. (c) Some previously defined hit or leave point is met. Switch local direction to the opposite. Retrace the path back to Hi and move along the section of the obstacle boundary on the other side of Hi. Go to 2. (d) MA returns to Hi completing a closed curve (the obstacle boundary) without having defined the next hit point, Hi+1. T is trapped and cannot be reached. Stop.

Alg1

Page 26: Motion Planning Algorithms : BUG-family

26

Alg1

Page 27: Motion Planning Algorithms : BUG-family

27

1.The robot moves toward T along a straight line (Li,T) until one of the following occurs:

(a) Target T is reached. Stop.(b) An obstacle is encountered and a hit point Hi is defined. Go to 2.

2. Using the local direction, follow the obstacle boundary until one of the following occurs:

(a) Target T is reached, stop. (b) If at the current point Q , visited for the first time, MA can move

along a line segment (Q,T) that does not cross the current obstacle at the point Q and Q is closest to T among all x ever visited by MA prior to visiting Q, define the leaving point Li = Q. Set j=j+1. Go to 1.

(c) Some previously defined hit or leave point is met. Switch local direction to the opposite. Retrace the path back to Hi and move along the section of the obstacle boundary on the other side of Hi. Go to 2.

(d) MA returns to Hi completing a closed curve (the obstacle boundary) without having defined the next hit point, Hi+1. T is trapped and cannot be reached. Stop.

Alg2

Page 28: Motion Planning Algorithms : BUG-family

28

Alg2

Page 29: Motion Planning Algorithms : BUG-family

29

The length of a path never exceeds the limit

P = D + 2∑pi ,

where pi - perimeters of the obstacles intersecting the straight line segment (Start, Target)

Worst-case path length

Page 30: Motion Planning Algorithms : BUG-family

30

Concluding remarks

Bug1 is the best that can be offered today. It doesn’t require knowledge of the robot’s current coordinates; it is sufficient if the robot can measure its distance from and its direction toward T.

Bug1 is a “conservative” algorithm; man or may not fit our notion of “being reasonable”

Bug2 is more “aggressive” and more efficient in many cases. Its behavior is more “human” and thus it pays a high price on the rare occasions of “bad” scenes.