Abstract
Real-time obstacle avoidance is one of the key issues to successful applications of mobile robot systems. All mobile robots feature some kind of collision avoidance, ranging from primitive algorithms that detect an obstacle and stop the robot short of it in order to avoid a collision, through sophisticated algorithms, that enable the robot to detour obstacles. The latter algorithms are much more complex, since they involve not only the detection of an obstacle, but also some kind of quantitative measurements concerning the obstacle's dimensions.
Description of Real-Time Obstacle Avoidance
Once these have been determined, the obstacle avoidance algorithm needs to steer the robot around the obstacle and resume motion toward the original target. Autonomous navigation represents a higher level of performance, since it applies obstacle avoidance simultaneously with the robot steering toward a given target.
Autonomous navigation, in general, assumes an environment with known and unknown obstacles, and it includes global path planning algorithms to plan the robot's path among the known obstacles, as well as local path planning for real-time obstacle avoidance. This article, however, assumes motion in the presence of unknown obstacles, and therefore One approach to autonomous navigation is the wall-following method Here the robot navigation is based on moving alongside walls at a predefined distance. If an obstacle is encountered, the robot regards the obstacle as just another wall, following the obstacle's contour until it may resume its original course.
This kind of navigation is technologically less demanding, since one major problem of mobile robots) the determination of their own position) is largely facilitated.Naturally, robot navigation by the wall-following method is less versatile and is suitable only for very specific applications. One recently introduced commercial system uses this method on a floor-cleaning robot for long hallways A more general and commonly employed method for obstacle avoidance is based on edge detection. In this method, the algorithm tries to determine the position of the vertical edges of the obstacle and consequently attempts to steer the robot around either edge. The line connecting the two edges is considered to represent one of the obstacle's boundaries.