Bug algorithm
Jump to navigation
Jump to search
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).