VoxelMap is an efficient and probabilistic adaptive(coarse-to-fine) voxel mapping method for 3D LiDAR. Unlike the point cloud map, VoxelMap uses planes as representation units. A scan of LiDAR data will generate or update the plane. Each plane contains its own plane parameters and uncertainties that need to be estimated. This repo shows how to integrate VoxelMap into a LiDAR odometry.
Related paper available on arxiv:
Efficient and Probabilistic Adaptive Voxel Mapping for Accurate Online LiDAR Odometry
Our accompanying videos are now available on YouTube.
PCL>= 1.8, Follow PCL Installation.
Eigen>= 3.3.4, Follow Eigen Installation.
Follow livox_ros_driver Installation.
Clone the repository and catkin_make:
cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/VoxelMap.git
cd ..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver before build (follow 1.2 livox_ros_driver)
Current version of VoxelMap does not support IMU and requires undistorted point cloud.
Step A: Setup before run
Edit config/velodyne.yaml
to set the below parameters:
- LiDAR point cloud topic name:
lid_topic
- If you want to show the voxel map, set
pub_voxel_map
totrue
- If you want to show the accumulated point cloud map, set
pub_point_cloud
totrue
Step B: Run below
cd ~/$VOXEL_MAP_ROS_DIR$
source devel/setup.bash
roslaunch voxel_map mapping_velodyne.launch
Step C: Play rosbag.
If want to save the trajectory result (camera pose), set the write_kitti_log
to true
and change the result_path
to your own path.
Step A: Download our bags here: Voxel Map L515 Datasets
Then the same step as 3.1
Thanks for Fast-LIO2 (Fast Direct LiDAR-inertial Odometry)
The source code is released under GPLv2 license.For any technical issues, please contact us via email ycj1@connect.hku.hk. For commercial use, please contact Dr. Fu Zhang fuzhang@hku.hk.