Real-time obstacle avoidance is one of the key issues for successful applications of mobile robot systems. All mobile robots have some kind of avoidance of collisions, ranging from primitive algorithms that detect an obstacle and stop the robot to avoid a collision, through sophisticated algorithms, that allow the robot to deflect obstacles.
The latter algorithms are much more complex, since they involve not only the detection of an obstacle but also some quantitative measurements concerning the dimensions of the obstacle. Once these have been determined, the obstacle avoidance algorithm needs to guide the robot around the obstacle and resume the movement towards the original target.
The autonomous navigation represents a higher level of performance, since it applies the avoidance of obstacles simultaneously with the direction of the robot towards a certain objective. Autonomous navigation, in general, assumes an environment with known and unknown obstacles, and includes global route planning algorithms [3] to plan the route of the robot among known obstacles, as well as the local planning of routes for the avoidance of obstacles in real time.
However, this article assumes movement in the presence of unknown obstacles and, therefore, an autonomous navigation approach is the method of tracking the wall. Here the navigation of the robot is based on moving close to the walls at a predefined distance. If an obstacle is found, the robot considers the obstacle as simply another wall, following the contour of the obstacle until it can resume its original course. This type of navigation is less technologically demanding, as it greatly facilitates a major problem of mobile robots) determining their own position.
Of course, robot navigation using the wall tracking method is less versatile and is only suitable for very specific applications. A recently introduced commercial system uses this method in a floor-cleaning robot for long corridors. A more general and commonly used method to avoid obstacles is based on edge detection. In this method, the algorithm tries to determine the position of the vertical edges of the obstacle and, consequently, tries to direct the robot around any edge. The line connecting the two edges is considered to represent one of the boundaries of the obstacle.
their method was used in our own previous research, as well as in several other research projects, such as. A disadvantage with obstacle avoidance based on edge detection is the need for the robot to stop in front of an obstacle to allow a more accurate measurement.