Obstacle Avoidance is the action executed by an autonomous robot to avoid previously detected obstacles. This is of special interest for aerial autonomous vehicles due to the extensive amount of objects that can be present a threat to a drone. However, even in underwater vehicles, this method is still present, as in autonomous underwater vehicles (AUVs) or underwater snake robots (USRs). The skill to avoid obstacles underwater becomes essential when crashing can compromise the robot's movement and watertight.
As well as its uses on submarines, obstacle avoidance is utilized in mechanisms of war, like drones in urban areas, where there are citizens and buildings, due to the requirement for high precision in those situations. However, even in daily life situations, this technology can be found, like in cleaning robots for example, where it is used to avoid a sofa or a chair, with the help of various sensors for the most diverse obstacles.
In our AUV, we plan to use this technology with Path Planning. The Path Planning basically, using as reference a map generated by the SLAM area, gives commands with the objective of moving the robot to any given point in the map. To make this happen the fastest path is calculated, using Dijkstra or A* methods, then possible obstacles are accounted for so our robot can avoid them using the path given. Inside a competition environment this is useful to move the robot from one exam to another.
Dijkstra's algorithm uses a graph with nodes and edges, then chooses the starting point and ending point as two nodes inside this graph, using the size of the edges that separate them to find the shortest path. A* algorithm, on the other hand, calculates the best path between two points by adding the remaining distance to reach the destination with the distance already moved, and doing this for every little path decision it makes.
Diante disso, pode-se perceber que o Obstacle Avoidance é utilizado nos dias de hoje em diversas situações, desde as mais comuns até as mais complexas. Com o auxílio de um sistema de SLAM esta técnica amplia e otimiza ainda mais os movimentos realizados pelo robô, de modo que sua Navegação Autônoma fique ainda mais refinada.
Given its many uses, Obstacle Avoidance shows its importance in many present time situations, from the simple ones to the most complex. With the help of a SLAM system this technology amplifies and optimizes the set of movements of the robot, refining its autonomous navigation.
Written by Thiago Moutinho.