Coder Social home page Coder Social logo

u-mac / block-map-based-localization Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yixfeng/block-map-based-localization

0.0 0.0 0.0 1.69 MB

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

C++ 96.76% CMake 3.24%

block-map-based-localization's Introduction

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 give 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.

block-map-based-localization's People

Contributors

yixfeng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.