-
Notifications
You must be signed in to change notification settings - Fork 11
Tutorial 3: OctoMap and RTAB Map
samaahitabelavadi edited this page Jul 5, 2017
·
16 revisions
- 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
Picture on the right shows the key visual features of the picture on the left as detected by RTAB-MAP
-
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