Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Motion Planning Algorithms : BUG-family. 2 To plan a path  find a continuous trajectory leading from initial position of the automaton (a mobile robot)

Similar presentations


Presentation on theme: "1 Motion Planning Algorithms : BUG-family. 2 To plan a path  find a continuous trajectory leading from initial position of the automaton (a mobile robot)"— Presentation transcript:

1 1 Motion Planning Algorithms : BUG-family

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

3 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.

4 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.

5 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.

6 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)

7 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 Encounter obstacle “Leaving condition”

8 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.

9 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.

10 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.

11 11 Bug1 : Memory Requirements  R 1 – coordinates of the current closest to T point Q m on the obstacle boundary  R 2 – integrates the length of the obstacle boundary starting at H i  R 3 - integrates the length of the obstacle boundary starting at Q m

12 12 Bug1

13 13 Bug1 1. From the point L i -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 H i 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 H i, define a new leave point L i = Q m. Go to step 3. 3. Using the contents of registers R 2 and R 3, determine the shorter way along the boundary to L i and use it to get to L i. Apply the test for target reachability. If T is not reachable – stop. Otherwise, Set i=i+1 and go to step 1.

14 14 Test for reachability: If MA, after having arrived at L i in step 3 of the algorithm, discovers that the straight line (L i,T) crosses some obstacle at point L i, 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.

15 15

16 16 Worst-case path length P = D+1.5∑p i, where ∑p i – perimeters of the obstacles intersecting the disc of radius D centered at T ; D – Euclidean distance between S and T

17 17 Bug2

18 18 1. From the point L i -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 H i 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(H i,T), and the line (Q,T) does not cross the current obstacle at the point Q. Define the leaving point L i = Q. Set j=j+1. Go to step 1. (c) MA returns to H i completing a closed curve (the obstacle boundary) without having defined the next hit point, H i +1. T is trapped and cannot be reached. Stop. Bug2

19 19 Test for reachability:  If, on the p-th local cycle, p=0,1…, after having defined a point H i, MA returns to this point before it defines at least the first two out of the possible set of point L i,H i+ 1,…,H k, it means that MA been trapped and the T is not reachable.

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

21 21

22 22 MA passes any point of the i-th obstacle boundary at most n i /2 times. The length of a path never exceeds the limit P = D + ½∑ n i p i, where p i - perimeters of the obstacles intersecting the straight line segment (Start, Target) Worst-case path length

23 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 + ∑p i, where D is the distance between S and T p i - perimeters of the obstacles intersecting the disk of radius D centered at T

24 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

25 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 H i 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(H i,T), and the line (Q,T) does not cross the current obstacle at the point Q. Define the leaving point L i = 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 H i and move along the section of the obstacle boundary on the other side of H i. Go to 2. (d) MA returns to H i completing a closed curve (the obstacle boundary) without having defined the next hit point, H i +1. T is trapped and cannot be reached. Stop. Alg1

26 26 Alg1

27 27 1.The robot moves toward T along a straight line (L i,T) until one of the following occurs: (a)Target T is reached. Stop. (b)An obstacle is encountered and a hit point H i 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 L i = 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 H i and move along the section of the obstacle boundary on the other side of H i. Go to 2. (d) MA returns to H i completing a closed curve (the obstacle boundary) without having defined the next hit point, H i +1. T is trapped and cannot be reached. Stop. Alg2

28 28 Alg2

29 29 The length of a path never exceeds the limit P = D + 2∑p i, where p i - perimeters of the obstacles intersecting the straight line segment (Start, Target) Worst-case path length

30 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.


Download ppt "1 Motion Planning Algorithms : BUG-family. 2 To plan a path  find a continuous trajectory leading from initial position of the automaton (a mobile robot)"

Similar presentations


Ads by Google