In this package, we compare octomap and voxblox with respect to Euclidean distance field (EDF). Specifically, we compare the time taken to compute EDF from octomap or TSDT along with the query time when traversing the EDF. The nodes included are twofold: 1) a pointcloud publisher from pcd file, and a node where each server for mapping is included, and we query by traversing in a grid way. As the EDF from octomap does not include visualization for rviz, I coded :)
For the former node can crop the pcd for the pointcloud published with the following paramters;
<param name="x_max" value="20"/>
<param name="y_max" value="20"/>
<param name="z_max" value="5"/>
<param name="x_min" value="-10"/>
<param name="y_min" value="-10"/>
<param name="z_min" value="-2"/>
The tunable arguments for the second node are mainly:
<arg name = "resolution" value = "0.2" />
<arg name = "max_range" value = "20.0"/>
<arg name = "max_obstacle_distance" value = "5"/>
Disclaimer: I am not an expert in mapping. In this package, I just used the out-of-box API provided by the two libraries. Also, I just did not include the pointcloud insertion load of octomap from pointcloud (TODO). Currently, the time is tracked only in voxblox package.
Launch the below:
roslaunch multi_chaser octomap_vs_voxblox.launch