Browse by type
ROLL is a LiDAR-based algorithm that can provide robust and accurate localization performance against long-term scene changes.
Related paper: ROLL: Long-Term Robust LiDAR-based Localization With Temporary Mapping in Changing Environments. The paper is now accepted by IROS 2022
mkdir catkin_ws/src -p && cd catkin_ws/src
git clone https://github.com/HaisenbergPeng/ROLL.git
git clone https://github.com/HaisenbergPeng/FAST_LIO.git
cd ../.. && catkin_make
We need all data except for Image and Hokuyo. Extract all files in one directory. 2. Generate rosbag with the original data
Change the variables "record_time" and "root_dir", and arrange files in directory "root_dir" as following:
├── cov_2012-01-15.csv
├── gps.csv
├── gps_rtk.csv
├── gps_rtk_err.csv
├── groundtruth_2012-01-15.csv
├── kvh.csv
├── ms25.csv
├── ms25_euler.csv
├── odometry_cov_100hz.csv
├── odometry_cov.csv
├── odometry_mu_100hz.csv
├── odometry_mu.csv
├── README.txt
├── velodyne_hits.bin
└── wheels.csv
cd src/scripts
python nclt_data2bag_BIN.py
Then a rosbag named "2012-01-15_bin.bag" will be generated.
roslaunch roll GTmapping_nclt.launch
rosbag play <root_dir>/2012-01-15_bin.bag --clock
Localization test
By default, the algorithm will get the initial pose from topic "ground_truth". If it cannot get such a topic, it load initial pose from variable "initialGuess".
roslaunch roll loc_nclt.launch
rosbag play <root_dir>/<another_bag> --clock
Evaluation
All evaluations were performed with matlab scripts, which are open-sourced as well