hku-mars / D-Map

D-Map provides an efficient occupancy mapping approach for high-resolution LiDAR sensors.
GNU General Public License v2.0
281 stars 26 forks source link

D-Map: Occupancy Grid Mapping Framework without Ray-Casting for High-resolution LiDAR Sensors

Introduction

D-Map is an efficient occupancy mapping framework for high-resolution LiDAR sensors. The framework introduces three main novelties to address the computational efficiency challenges of occupancy mapping.

Framework Overview

The map structure of D-Map consists of two parts: the occupied map and the unknown map. The green block represents the pipeline of the occupancy update strategy. At each update, a depth image is rasterized from the incoming point clouds at the sensor pose. Subsequently, a 2-D segment tree is constructed on the depth image to enable efficient occupancy state determination. The cell extraction module retracts the unknown cells on the octree from the largest to the smallest size, projects them to the depth image, and determines their occupancy states. The cells determined as known are directly removed from the map, while the unknown ones remain, and the undetermined ones are split into smaller cells for further occupancy state determination.

Our Paper and Accompanying Video

If you are using any code of this repo in your research, please cite our paper as follows:

@ARTICLE{dmap2023cai,
  author={Cai, Yixi and Kong, Fanze and Ren, Yunfan and Zhu, Fangcheng and Lin, Jiarong and Zhang, Fu},
  journal={IEEE Transactions on Robotics}, 
  title={Occupancy Grid Mapping Without Ray-Casting for High-Resolution LiDAR Sensors}, 
  year={2023},
  volume={},
  number={},
  pages={1-20},
  doi={10.1109/TRO.2023.3323936}}

Build & Run demo

1. How to build this project

cd ~/catkin_ws/src
git clone git@github.com:hku-mars/D-Map.git
cd ..
catkin_make
source devel/setup.bash

2. Run rosbag examples

2.1 Workshop Dataset

roslaunch dmap DMap_example.launch
rosbag play workshop.bag

2.2 Kitti Dataset

Note: The parameters should be provided according to the LiDAR's manual sheet. Inappropriate settings might lead to unsatisfying mapping performance.

Odometry & Point Cloud Input

D-Map

Auxiliary Params

Notes

D-Map requires a projection of point cloud onto a depth image. Please confirm that you have a correct depth image via visualization in rviz. You can check whether D-Map is working normally by:

License

The source code of D-Map is released under GPLv2 license. For commercial use, please contact Mr. Yixi CAI (yixicai@connect.hku.hk) or Dr. Fu ZHANG (fuzhang@hku.hk).