1 / 30

Motion Planning Algorithms : BUG-family

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

jane
Download Presentation

Motion Planning Algorithms : BUG-family

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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) 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. 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. 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. 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. 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. 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 Encounter obstacle Follow an obstacle Drive to goal “Leaving condition”

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

  12. Bug1

  13. Bug1 • From the point Li-1, move toward T along a straight line until one of the following occurs: • Target T is reached. Stop. • 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.

  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.

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

  16. Bug2

  17. Bug2 • From the point Li-1, move toward T along a straight line (S,T) until one of the following occurs: • Target T is reached. Stop. • 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.

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

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

  20. Worst-case path length 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 + ½∑ nipi , where pi - perimeters of the obstacles intersecting the straight line segment (Start, Target)

  21. The Lower Bound for the Path-Planning Problem • For any path-planning algorithm satisfying the assumptions of Bugmodel, 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

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

  23. Alg1 1.The robot moves toward T along a straight line (S,T) [M-line] until one of the following occurs: • Target T is reached. Stop. • 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.

  24. Alg1

  25. Alg2 1.The robot moves toward T along a straight line (Li,T) until one of the following occurs: • Target T is reached. Stop. • 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 , visitedfor 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 toT 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.

  26. Alg2

  27. Worst-case path length 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)

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

More Related