Tutorial 3: OctoMap and RTAB Map - eYSIP-2017/eYSIP-2017_Indoor-Environments-Mapping-using-UAV GitHub Wiki
Indoor Environment Mapping Tutorials
OctoMap and RTAB-Map
- Octree
- An octree is a tree data structure in which each internal node has exactly eight children.
- Octrees are most often used to partition a three-dimensional space by recursively subdividing it into eight octants
Left: Recursive subdivision of a cube into octants. Right: The corresponding octree.
-
OctoMap
- The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++ particularly suited for robotics
- The map implementation is based on an Octree and is designed to meet the following requirements:
- Full 3D model - The map is able to model arbitrary environments without prior assumptions about it
- Updatable - It is possible to add new information or sensor readings at any time.
- Flexible - The extent of the map does not have to be known in advance.
- Compact - The map is stored efficiently, both in memory and on disk
-
RTAB-Map
- Simultaneous Localisation And Mapping (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it
- RTAB-Map (Real-Time Appearance-Based Mapping) is a RGB-D Graph-Based SLAM approach based on an incremental appearance-based loop closure detector
- RTAB-Map can be used alone with a hand-held Kinect or stereo camera for 6DoF RGB-D mapping
-
Localisation and Loop closure detection
- Loop closure is the problem of recognising a previously-visited location and updating the map accordingly.
- The loop closure detector in RTAB-Map uses a bag-of-words approach to determinate how likely a new image comes from a previous location or a new location
- The visual features used by RTAB-Map can be computed using a number of popular techniques from computer vision including SIFT, SURF, BRIEF, FAST, etc
-
OctoMap Vs RTAB-Map
- OctoMap is only a mapping approach. It is an efficient way of storing and manipulating 3D maps
- RTAB-Map is a complete SLAM approach. It does localisation based on visual features it detects in the RGB video stream
- For mapping, OctoMap requires a backend SLAM package for localisation and loop closure detection while it is possible to do mapping with just RTAB-Map
-
References