This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
This includes some optimization on the original implementation
- Analytic methods is used instead of auto differentiation. This is performed on se3
- Use linear motion prediction model to estimate the initial pose
- Laser odometry and laser mapping are merged
- A dynamic local map is used instead of global map, in order to save memory cost. Based on massive experiments, this only has slight influence on the performance.
Computational efficiency evaluation (based on KITTI dataset): Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
Dataset | ALOAM | FLOAM |
---|---|---|
KITTI |
151ms | 59ms |
Localization error:
Dataset | ALOAM | FLOAM |
---|---|---|
KITTI sequence 00 |
0.55% | 0.51% |
KITTI sequence 02 |
3.93% | 1.25% |
KITTI sequence 05 |
1.28% | 0.93% |
Ubuntu 64-bit 18.04.
ROS Melodic. ROS Installation
Follow Ceres Installation.
Follow PCL Installation.
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
Download KITTI sequence 05 or KITTI sequence 07
Unzip compressed file 2011_09_30_0018.zip. If your system does not have unzip. please install unzip by
sudo apt-get install unzip
And then copy the file 2011_09_30_0018.bag into ~/catkin_ws/src/floam/dataset/ (this may take a few minutes to unzip the file)
cd ~/catkin_ws/src/floam/dataset/
unzip ~/Downloads/2011_09_30_0018.zip
roslaunch floam floam.launch
if you would like to create the map at the same time, you can run (more cpu cost)
roslaunch floam floam_mapping.launch
To generate rosbag file of kitti dataset, you may use the tools provided by kitti_to_rosbag or kitti2bag
Thanks for A-LOAM and LOAM(J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) and LOAM_NOTED.