VDB-EDT: An Efficient Euclidean Distance Transform Algorithm Based on VDB Data Structure
https://youtu.be/Bojh6ylYUOo
The video demonstration for ICRA-2021 paper can be found hereVDB-EDT is an efficient and robust library for large-scale occupancy grid mapping and Euclidean distance transform. Compared with the state-of-the-art method, VDB-EDT can provide high-quality and more complete mapping results, while consuming less memory and processing time.
Installation
-
This package is developed based on ROS Kinetic and the Eigen3 library is also needed.
-
Dependencies for OpenVDB and the Catkin wrapper
sudo apt-get install libglfw3-dev libblosc-dev libopenexr-dev
sudo apt-get install liblog4cplus-dev
-
Download this package and go to the VDB-EDT folder
cd src
catkin_init_workspace
cd ..
catkin build
(currently not supportcatkin_make
command )
Download Dataset
-
Please click here to download the cow-and-lady dataset.
-
Please click here to download the large-scale SubT dataset (background grid is with a size of 50m*50m).
Run VDB-EDT
-
Make sure the current path is at VDB-EDT folder, i.e., in the catkin workspace
soource devel/setup.bash
roslaunch vdb_edt VDB-EDT.launch
-
Play the cow-and-lady dataset. There exist a severe synchronization problem in this dataset. To sufficiently process this dataset, a play rate of 0.1 is recommended
rosbag play data.bag -r 0.1
-
After finishing testing cow-and-lady dataset, play the SubT dataset
rosbag play SubT.bag
Results
Results on cow-and-lady dataset
Acknowledgement
The VDB Ros Wrapper inside this package is developed by Rohit Garg from Air Lab CMU based on the work of ETHZ ASL. We give our special acknowledgement to him.