This repository contains code for a VI-LOAM system, which combines the advantages of A-LOAM and Vins-Mono at a system level.
A-LOAM is an Advanced implementation of LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time), which uses Eigen and Ceres Solver to simplify code structure. This code is modified from LOAM and LOAM_NOTED. This code is clean and simple without complicated mathematical derivation and redundant operations.
Modifier: Didula Dissanayaka
Ubuntu 64-bit 16.04, 18.04 or 20.04. ROS Kinetic, Melodic or. ROS Installation
Follow Ceres Installation.
Follow PCL Installation.
Follow OpenCV Installation.
Clone the repository and catkin_make:
cd ~/catkin_ws/src
git clone https://github.com/didzdissanayaka8/VI-LOAM_ISLAB.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
Download LVI-SAM Dataset. The dataset include following sensors: Velodyne VLP-16 lidar, FLIR BFS-U3-04S2M-CS camera, MicroStrain 3DM-GX5-25 IMU, and Reach RS+ GPS.
Note that the images in the provided bag files are in compressed format. So a decompression command is added at the last line of launch/module_sam.launch
. If your own bag records the raw image data, please comment this line out.
- Configure parameters:
Configure sensor parameters in the .yaml files in the ```config``` folder.
- Run the launch file:
roslaunch viloam run.launch
- Play existing bag files:
rosbag play handheld.bag