Octomap vs RTAB map : ROS 3D mapping techniques

ROS 3D mapping techniques

Octomap vs RTAB map

Octomap and RTAB mapping are 2 popular 3D mapping techniques.

Octomap:

Octomap is a mapping technique based on an octa tree data structure,

 in which each node is consist of children or branches.

So in an octomap, it is dividing the 3d space into 8 partitions recursively,

resulting in the 3D occupancy grids. 


Octomap vs RTAB mapping ROS

Octomap has the probabilistic approach to remove dynamic obstacles from the map,
as it will use probability to identify the dynamic obstacles through multiple
iterations and eventually will remove these dynamic obstacles from the map.

Octomapping with drone example

Octomap generates compact maps so it will consume only significantly less memory 
space and only need low computational power,
because of this feature octomap is better preferred in aerial robotics.
Octomap of a room : octomap vs rtab map

Octomap is preferred over other mapping techniques as it can handle dynamic

changes in the environment and even dynamic objects.

Octomap provides a full 3D model and also probabilistic voxl grids do not make

any difficulties.

 

RTAB map  :

RTAB map is built using the RGB depth graph-based slam approach.

The main feature of the RTAB map is the representation of
objects as it is in the map i.e in their real color, shape and other features are
preserved as much as possible.

RTAB mapping in ROS

 

RTAB map also supports incremental mapping and loop closure.
The loop closure detection  determines whether the agent has visited a particular
area before or not,by comparing the probability of the images coming from the
same location and based on that it will update or improve the map.

 

Steps in RTAB map :

 


Differences between Octomap and RTAB-map:  

Octomap

RTABMap

Full 3D model

Full 3D model

Depth sensitive maps

Full featured map

Colours of the maps have been used

to highlight depth variations

of the objects

Real world colors of the

objects have been mapped

Dynamic objects recognition

with probabilistic

Dynamic objects are

recognized as clashed static

objects

Discrete pixel level

visualization

Human-friendly map

visualization

Easy to set up and build map

Octamap requires little extra effort to set up and create map

Dynamic obstacle handling in map creation:

In octomap, every object is treated with the probability of existing in the particular space. As the object moves, the probability gets lower and it’s removed from the map

Dynamic obstacle handling in map creation:

RTABMap it is Using the loop closure detection methodology, dynamic objects are identified in the static background and the 3D map is updated by reducing the points that belonged to the particular object

Better odometry error handling (because of loop closure detection)

Lower odometry error Handling(during map creation)

In a multi-robot system, it is important to share the details with other agents. Hence, one more criterion should be considered - sharing of the built maps.

It is better to share information that is only relevant to autonomous navigation instead of sharing the 3D maps as a whole.

In this case, the octomap gives better mathematical support for detecting the edges of obstacles and sharing those spatial coordinates using the octree.

Conclusion:

Octomap framework is ideal in the scenario of detecting obstacles,collision-free
navigation, and sharing navigation information among other agents.

The octree data structure supports the application with a lightweight 

mathematical solution.but when it comes to the purpose of building a descriptive 

map of the terrain which can be used in further decision-making of intelligent

robots and humans, RTABMap serves a major advantage. 

It can also be ideal for error correction of odometry data.

Considering the two scenarios, it can be deduced that using the advantages of both
mapping techniques might enhance the performance of a multi-robot system.
Starting with creating RTABMap straight from the Kinect camera,
the RTABMap feed can then be used to build an octomap.


When navigation and data sharing processes are being executed,
the secondly built octomap can be used and the real appearance-based
RTABMap is preserved as the default 3D map.

                                                        ***