This directory contains the source code of overlap-based MCL.
The implementation of overlap-based MCL contains three parts:
- Generating data for training a sensor model using OverlapNet;
- Generating feature-volume-based map;
- Monte Carlo localization system using the trained sensor model and feature-volume map.
To train a new observation model, one could find more information in prepare_training README.md.
To generate the feature-volume map, one should first download/train the overlap-based observation model, map data and query data. The data contains the range depth images and normal images of the map and the query scans.
After putting them all into the /data
folder, one can get the feature volumes by running:
python3 gen_feature_volumes.py
Please first check the recommended data structure in the data README.md if you get any issues when generating the map.
Once the map of feature volumes is generated, one could run the overlap-based MCL by:
python3 main_overlap_mcl.py
More technical details could be found in our IROS2020 paper.
More information about the parameters of the overlap-based observation model and MCL can be found in our configuration file localization.yml.