Bug algorithm: Difference between revisions
Appearance
Content deleted Content added
Dr. Greywolf (talk | contribs) Nothing. Just noted that this topic lacks a wiki page. |
Added {{More citations needed}} tag |
||
Line 1: | Line 1: | ||
{{More citations needed|date=June 2021}} |
|||
'''Bug algorithm''' is a class of [[algorithm]] that helps robots deal with [[motion planning]]<ref>[http://msl.cs.uiuc.edu/~lavalle/cs497_2001/book/uncertain/node3.html BUG Algorithms].</ref>. |
'''Bug algorithm''' is a class of [[algorithm]] that helps robots deal with [[motion planning]]<ref>[http://msl.cs.uiuc.edu/~lavalle/cs497_2001/book/uncertain/node3.html BUG Algorithms].</ref>. |
||
== Basic assumptions == |
== Basic assumptions == |
Revision as of 07:19, 4 June 2021
This article needs additional citations for verification. (June 2021) |
Bug algorithm is a class of algorithm that helps robots deal with motion planning[1].
Basic assumptions
- The robot is treated as a point inside a 2D world.
- The obstacles (if any) are unknown and nonconvex.
- There are clearly defined starting point and goal.
- The robot is able to detect obstacle boundary from a distance of known length.
- The robot always knows the direction and how far (in terms of Euclidean distance) it is from the goal.
Algorithm
- The robot moves towards the goal until an obstacle is encountered.
- Follow a canonical direction (clockwise) until the robot reaches the location of initial encounter with the obstacle (in short, walking around the obstacle).
- The robot then follows the obstacle's boundary to reach the point on the boundary that is closest to the goal.
- Go back to step 1. Repeat this until the goal is reached.