ABSTRACT

Autonomous robot navigation can be defined as the capability for a robot to move itself from one place to another without the helping of a human, i.e., 2without needing a human operator to achieve it. In order for a robot to achieve autonomous navigation, the next algorithms and representations are usually:

A map of the environment in which the robot is going to navigate. A virtual representation or abstraction of the environment is required, and it has to be obtained using sensors such as cameras, laser, infrared, sonars, etc. Then these sensor readings have to be translated into a representation that the robot can use to make decisions about the actions that it has to make to navigate in the environment.

A method to localize the robot in the environment and into the representation of it (in the map). With this process, the current position of the robot within the map is calculated.

A path-planner. This is the algorithm that obtains the trajectory that the robot should follow in the environment to achieve a goal position in the map. It is usual that the obtained path is represented as a sequence of spatial coordinates regarding the map of the environment.

A movement-planner. This algorithm obtains paths represented as a sequence of movements described by linear and angular velocities at which the robot should move to follow the desired trajectory.

A controller. This is the method that computes the control actions (usually values of voltages and torques) that the robot has to perform to follow the desired trajectory.

As the reader will note, all the algorithms described above depend on having a good representation of the environment in which the robot will navigate. That is to say, it is very important to get a map that is accurate, with enough information and highly descriptive of the environment in order for the rest of the algorithms involved in autonomous navigation to obtain good results. For example, for a path planner algorithm to get an optimal path from a start to a goal position on the environment it is necessary to give it information about areas that it can traverse and places that are occupied by obstacles. Or even better, we can provide the path planner information about how easy (or how difficult) is to traverse a patch of terrain.