An autonomous robot must obtain information about its surroundings to
accomplish multiple tasks that are greatly improved when this
information is efficiently incorporated into a map. Some examples are
navigation, manipulation, localization, etc. This mapping problem has
been an important research area in mobile robotics during last decades.
It does not have a unique solution and can be divided into multiple
sub-problems. Two different aspects of the mobile robot mapping problem
are addressed in this work. First, we have developed a Differential
Evolution-based scan matching algorithm that operates with high accuracy
in three-dimensional environments. The map obtained by an autonomous
robot must be consistent after registration. It is basic to detect when
the robot is navigating around a previously visited place in order to
minimize the accumulated error. This phase, which is called loop
detection, is the second aspect studied here. We have developed an
algorithm that extracts the most important features from two different
three-dimensional laser scans in order to obtain a loop indicator that
is used to detect when the robot is visiting a known place. This
approach allows the introduction of very different characteristics in
the descriptor. First, the <em>surface</em> features include the geometric forms of the scan (lines, planes, and spheres). Second, the <em>numerical</em>
features are values that describe several numerical properties of the
measurements: volume, average range, curvature, etc. Both algorithms
have been tested with real data to demonstrate that these are efficient
tools to be used in mapping tasks.