Bug algorithm
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Bug algorithm is a class of algorithm that helps robots deal with motion planning.[1][2]
Basic assumptions
[edit | edit source]- 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
[edit | edit source]The most basic form of Bug algorithm (Bug 1) is as follows:
- 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.
See also
[edit | edit source]References
[edit | edit source]- ^ BUG Algorithms.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).