Optimized SC F LOAM Save

Project README

This method is different from the method of directly combining scan context and f-loam in the following two points: 1. The method uses an adaptive threshold to further judge the loop closure detection results, reducing false loop closure detections; 2. This method uses feature point-based matching to calculate the constraints between a pair of loop closure frame point clouds, so that this method only needs 30% of the time consumption of SC-A-LOAM in the process of constructing loop frame constraints.

You can find the preprint on Arxiv: https://arxiv.org/abs/2204.04932.

Optimized-SC-F-LOAM

This work combines F-LOAM with Scan-Context and optimizes it to reduce the time required to compute pose constraints between a pair of loop closure point clouds to 28% of Simple-SC-F-LOAM.(Simple-SC-F-LOAM is a way to directly combine F-LOAM with Scan-Context)

contributor: Lizhou Liao, Chongqing University, Chongqing, China

1. Mapping result

效果图3

2. UGV platform

image

UGV equipped with a 16-beam LiDAR

3. Evaluation

All tests were done based on the Robot Operating System (ROS) that was installed on a laptop with an AMD R5-5600H processor, a 16 GB RAM and the Ubuntu platform.

3.1. Results on KITTI Sequence 00 and Sequence 05

image

3.2. Comparison of trajectories on KITTI dataset

image

3.3. Experiment environment of the UGV platform

image

4. Prerequisites

4.1. Ubuntu and ROS

Ubuntu 64-bit 20.04.

ROS noetic. ROS Installation: http://wiki.ros.org/noetic/Installation/Ubuntu.

4.2. Ceres Solver

Follow Ceres Installation: 
http://www.ceres-solver.org/installation.html.

4.3. PCL

Follow PCL Installation: 
https://pointclouds.org/downloads/#linux.

4.4. GTSAM

Follow GTSAM Installation: 
https://gtsam.org/get_started/.

4.4. Trajectory visualization

For visualization purpose, this package uses hector trajectory sever, you may install the package by

sudo apt-get install ros-noetic-hector-trajectory-server

5. Build

5.1. Clone repository:

cd ~/catkin_ws/src
git clone https://github.com/SlamCabbage/Optimized-SC-F-LOAM.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash

5.2. Create message file:

In this folder, Ground Truth information, optimized pose information, F-LOAM pose information and time information are stored:

mkdir -p ~/message/Scans

Change line 383 in the laserLoopOptimizationNode.cpp to your own "messgae" folder path

5.3. Launch ROS

roslaunch optimized_sc_f_loam optimized_sc_f_loam_mapping.launch

6. Test on KITTI sequence

You can download the sequence 00 and 05 datasets from the KITTI official website and convert them into bag files using the kitti2bag open source method.

00: 2011_10_03_drive_0027 000000 004540

05: 2011_09_30_drive_0018 000000 002760

See the link: https://github.com/ethz-asl/kitti_to_rosbag

7. Acknowledgements

Thanks for SC-A-LOAM(Scan context: Egocentric spatial descriptor for place recognition within 3d point cloud map) and F-LOAM(F-LOAM : Fast LiDAR Odometry and Mapping).

8. citation

@inproceedings{liao2022optimized,
  title={Optimized SC-F-LOAM: Optimized Fast LiDAR Odometry and Mapping Using Scan Context},
  author={Liao, Lizhou and Fu, Chunyun and Feng, Binbin and Su, Tian},
  booktitle={2022 6th CAA International Conference on Vehicular Control and Intelligence (CVCI)},
  pages={1--6},
  year={2022},
  organization={IEEE}
}
Open Source Agenda is not affiliated with "Optimized SC F LOAM" Project. README Source: SlamCabbage/Optimized-SC-F-LOAM
Stars
98
Open Issues
0
Last Commit
1 year ago

Open Source Agenda Badge

Open Source Agenda Rating