3D SLAM and enhanced mapping for terrian navigation

Jan 2022 - March 2022

Use rtabmap for 3D SLAM and create a custom map to go over small obstacles


Overview

The repository implements 3D SLAM package, rtabmap, for navigation of the jackal robot. The project clusters obstacles and creates a costmap that allows move base to move over small obstacles.

Dependencies

Hardware

  1. Clearpath Jackal Robot
  2. Velodyne-16 lidar
  3. Intel Realsense Camera D435i

Software

  1. ROS Noetic, Rviz, Gazebo
  2. rtabmap
  3. costmap2d
  4. PCL

Video Demo

RVIZ With original map:

Real Robot with original map:

RVIZ with custom costmap:

Real robot going over obstacle :

Quickstart Guide

Package Details

3D SLAM

Rtabmap is used to create a lidar map. Rtabmap used RGB-D SLAM approach, using the Velodyne Lidar PointCloud and Intel Realsense D435i camera to create a 3D PointCloud map. Creating an accurate lidar pointcloud map is used to create 2D occupancy map.

PCL Clustering and Costmap2D

Although rtabmap produces an occupancy map, it is not good enough for navigation as it has many grid points that are occupied due to noisy lidar data. Therefore clustering of objects based on rtabmap pointcloud gives a better sense of where large obstacles are. Using this clustering, a costmap is created where small obstales over which the jackal can go over is shown as available, while only large obstacles are make the costmap region occupied.

Future Improvement

The future work includes running the jackal in an outdoor environment to see terrain navigation, and implement autonomous navigation on the jackal.