Motion Planning Algorithms : BUG-family 1 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. 2 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. 3 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. 4 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 5 easily introduced. 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 6 schedule is required) 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: 403430. Combine local with global information Guaranteed to converge if a solution exists Drive to goal Encounter obstacle “Leaving condition” Follow an obstacle 7 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. 8 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. 9 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. 10 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 11 Bug1 12 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. Bug1 (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 step131. 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. 14 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 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. 18 1. Bug2 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 21 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 + ½∑ ni pi , where pi - perimeters of the obstacles intersecting the straight line segment (Start, Target) 22 The Lower Bound for the PathPlanning 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 23 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 24 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 is25 trapped and cannot be reached. Stop. Alg1 Alg1 26 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 27 cannot be reached. Stop. Alg2 Alg2 28 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) 29 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. 30
© Copyright 2026 Paperzz