Building a map using SLAM
Before to start configuring the Navigation stack, we need to install it. The ROS desktop full installation will not install the ROS Navigation stack. We must install the Navigation stack separately, using the following command:
sudo apt-get install ros-noetic-navigation
After installing the Navigation package, let's start learning how to build a map of the robot environment. The robot we are using here is the differential wheeled robot that we discussed in the previous chapter. This robot satisfies all three requirements of the Navigation stack.
The ROS gmapping
package is a wrapper of the open source implementation of SLAM, called OpenSLAM
(https://openslam-org.github.io/gmapping.html). The package contains a node called slam_gmapping
, which is the implementation of SLAM and helps to create a 2D occupancy grid map from the laser scan data and the mobile robot pose.
The basic hardware requirement for doing SLAM is a laser scanner...