We propose CamVox by adapting Livox lidars into visual SLAM (ORB-SLAM2) by exploring the lidars’ unique features. Based on the non-repeating nature of Livox lidars, we propose an automatic lidar-camera calibration method that will work in uncontrolled scenes. The long depth detection range also benefit a more efficient mapping. Comparison of CamVox with visual SLAM (VINS-mono) and lidar SLAM (livox_horizon_loam) are evaluated on the same dataset to demonstrate the performance.
Developer: Yuewen Zhu, Chunran Zheng, Chongjian Yuan
Our related video: our related videos are now available on [YouTube Video] [bilibili Video].
Paper: our related paper has been posted on arXiv.
Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. Follow ROS Installation.
We use Pangolin for visualization and user interface. Follow Pangolin Installation.
We use OpenCV to manipulate images and features. Follow Opencv Installation. Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2.
Follow Eigen Installation. Required at least 3.1.0.
Follow Ceres Installation.
Clone the repository and catkin_make:
cd ~/catkin_ws/src
git clone https://github.com/ISEE-Technology/CamVox && cd ..
catkin_make
cd src/CamVox/isee-camvox && chmod +x build_camvox.sh
./build_camvox.sh
source ~/catkin_ws/devel/setup.bash
Platform | Item | Pics | Shopping Link |
---|---|---|---|
![]() |
Livox Horizon | ![]() |
Lidar |
MV-CE060-10UC | ![]() |
Camera | |
Inertial Sense uINS | ![]() |
RTK | |
Manifold2C | ![]() |
Onboard-Computer | |
Scout-mini | ![]() |
Robot Chassis |
Hard synchronization is performed with all of these sensors by a trigger signal of 10 Hz. The camera output at each trigger signal(10 Hz). The lidar keeps a clock (synced with GPS-RTK) and continuously outputs the scanned point with an accurate timestamp. In the meantime, the IMU outputs at a frequency of 200 Hz synced with the trigger. The Hardware Synchronization diagram is as follows.
Connect to your PC to Livox Horizon lidar by following Livox-ros-driver installation.
chmod +x run.sh
./run.sh
We open sourced our dataset in SUSTech campus with loop closure. Download here.
We provide a rosbag file with static scenes to test the automatic calibration thread. Download here.
When the car detects more than 20 frames of still images (about 2 seconds), the automatic calibration thread starts to work. The thread will be interrupted to enter the SLAM mode if the car starts to move before the end of calibration.
The effects of automatic calibration is shown as follows.
chmod +x run.sh
./run.sh
rosbag play YOUR_DOWNLOADED.bag
The authors are grateful for the pioneering work from ORB_SLAM2, ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras. The authors also sincerely thank colleagues at Livox Technology for help in data aquisition and discussion.
This work is from ISEE Research Group at SUSTech.
The source code is released under GPLv2.0 license.
If you use CamVox in an academic work, please cite:
@misc{zhu2020camvox,
title={CamVox: A Low-cost and Accurate Lidar-assisted Visual SLAM System},
author={Yuewen Zhu and Chunran Zheng and Chongjian Yuan and Xu Huang and Xiaoping Hong},
year={2020},
eprint={2011.11357},
archivePrefix={arXiv},
primaryClass={cs.RO}
}