One of the most basic things that a robot can do is to move around the
world. To do this effectively, the robot needs to know where it is
and where it should be going. This is usually acheived by giving the
robot a map of the world, a starting location, and a goal location.
In the previous chapter, we saw how to build a map of the world from
sensor data. Now, we’ll look at how to make your robot autonomously
navigate from one part of the world to another, using this map and the
ROS navigation packages. We’ll start by helping the robot to figure
out where it is.
Localizing the Robot in a Map
In this section, we’ll see how we can use the ROS amcl package to
localize the robot in a map. The amcl node implements a set of
probabilistic localization algorithms, collectively known asAdaptive
Monte Carlo Localization, which are described in the bookProbabilistic Robotics by Sebsastian Thrun, Wolfram Burgard, and
Dieter Fox (MIT Press). In particular, it uses the algorithms
likelihood_field_range_finder_model, Augmented_MCL, and
KLD_Sampling_MCL. While you don’t need to know all of the technical
details of how these algorithms work in order to use the localization
package, understanding some of the high-level details will make your
life easier when you’re trying to make localization work.1
The location of the robot, also known as its pose, is represented by a position and orientation in the ...
With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, interactive tutorials, and more.