YixFeng / Block-Map-Based-Localization

A localization system based on Block Maps (BMs) to reduce the computational load caused by maintaining large-scale maps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BM-Loc


🎬Video   •   🛠️Installation   •   📑Paper

BMLoc_cover

In this work, we propose a Block Map (BM) generation and maintenance method and the corresponding BM-based localization system. The main contributions are as follows:

  • A BM-based localization system in a large-scale environment is proposed for the first time.
  • A BM generation method and corresponding switching strategy is proposed which maintains the spatial continuity of adjacent BMs.
  • A factor graph-based optimization method with the dynamic sliding window based on BMs is proposed to achieve accurate and reliable state estimation.
  • We achieve the best performance on publicly available large-scale datasets NCLT and M2DGR.

Installation

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu $\geq$ 18.04

1.2 ROS Package

2. Build

cd <your workspace>/src
git clone https://github.com/koide3/ndt_omp
git clone https://github.com/SMRT-AIST/fast_gicp --recursive
git clone https://github.com/koide3/hdl_global_localization
git clone https://github.com/YixFeng/Block-Map-Based-Localization

cd ..
catkin_make
source devel/setup.bash

Run

We provide some Block Maps (Google Drive) to make your tests easy.

  • M2DGR street_01

m2dgr_street_01

  • M2DGR street_02

m2dgr_street_02

1. NCLT

Download NCLT from https://robots.engin.umich.edu/nclt/

roslaunch block_localization run_nclt.launch

2. M2DGR

Download M2DGR from https://github.com/SJTU-ViSYS/M2DGR

roslaunch block_localization run_m2dgr.launch

Remarks: Since BM-Loc is a map-based localization method, you need to provide the directory where maps are stored. Edit the parameter globalmap_dir in config/*.yaml files.

Citation

If you use any of this code, please cite our paper.

@article{feng2024block,
  title={Block-Map-Based Localization in Large-Scale Environment},
  author={Feng, Yixiao and Jiang, Zhou and Shi, Yongliang and Feng, Yunlong and Chen, Xiangyu and Zhao, Hao and Zhou, Guyue},
  journal={arXiv preprint arXiv:2404.18192},
  year={2024}
}

Acknowledgements

Thanks for the open-source projects hdl_localization, hdl_global_localization and LIO-SAM.

About

A localization system based on Block Maps (BMs) to reduce the computational load caused by maintaining large-scale maps

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 96.8%Language:CMake 3.2%