All Projects → PRBonn → Overlap_localization

PRBonn / Overlap_localization

Licence: mit
chen2020iros: Learning an Overlap-based Observation Model for 3D LiDAR Localization.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Overlap localization

Dynamic robot localization
Point cloud registration pipeline for robot localization and 3D perception
Stars: ✭ 339 (+182.5%)
Mutual labels:  lidar, localization
Mola
A Modular Optimization framework for Localization and mApping (MOLA)
Stars: ✭ 206 (+71.67%)
Mutual labels:  lidar, localization
Hierarchical loc
Deep image retrieval for efficient 6-DoF localization
Stars: ✭ 131 (+9.17%)
Mutual labels:  learning, localization
pole-localization
Online Range Image-based Pole Extractor for Long-term LiDAR Localization in Urban Environments
Stars: ✭ 107 (-10.83%)
Mutual labels:  localization, lidar
UrbanLoco
UrbanLoco: A Full Sensor Suite Dataset for Mapping and Localization in Urban Scenes
Stars: ✭ 147 (+22.5%)
Mutual labels:  localization, lidar
direct lidar odometry
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds
Stars: ✭ 202 (+68.33%)
Mutual labels:  localization, lidar
pcl localization ros2
ROS2 package of 3D LIDAR-based Localization using PCL (Not SLAM)
Stars: ✭ 74 (-38.33%)
Mutual labels:  localization, lidar
Hdl localization
Real-time 3D localization using a (velodyne) 3D LIDAR
Stars: ✭ 332 (+176.67%)
Mutual labels:  lidar, localization
Urbannavdataset
UrbanNav: an Open-Sourcing Localization Data Collected in Asian Urban Canyons, Including Tokyo and Hong Kong
Stars: ✭ 79 (-34.17%)
Mutual labels:  lidar, localization
Letters
Письма к студентам курса
Stars: ✭ 107 (-10.83%)
Mutual labels:  learning
Webhub
📦前端资源/学习/问题整理中心,请看issue
Stars: ✭ 112 (-6.67%)
Mutual labels:  learning
Startjekyll
An example and guide to getting started with Jekyll and static site generators.
Stars: ✭ 106 (-11.67%)
Mutual labels:  learning
Cslearning
开源项目之「计算机编程自学之路」:计算机自学指南+面试大全+资源分享+技术文章
Stars: ✭ 107 (-10.83%)
Mutual labels:  learning
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1463.33%)
Mutual labels:  lidar
Door Slam
Distributed, Online, and Outlier Resilient SLAM for Robotic Teams
Stars: ✭ 107 (-10.83%)
Mutual labels:  localization
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (-5%)
Mutual labels:  learning
Thimble.mozilla.org
UPDATE: This project is no longer maintained. Please check out Glitch.com instead.
Stars: ✭ 1,414 (+1078.33%)
Mutual labels:  learning
Go Compression.github.io
The Hitchhiker's Guide to Compression
Stars: ✭ 106 (-11.67%)
Mutual labels:  learning
Ocamlverse.github.io
Documentation of everything relevant in the OCaml world
Stars: ✭ 117 (-2.5%)
Mutual labels:  learning
Spb
⚓️ Saint Petersburg, Russia
Stars: ✭ 113 (-5.83%)
Mutual labels:  learning

Overlap-based 3D LiDAR Monte Carlo Localization

This repo contains the code for our IROS2020 paper: Learning an Overlap-based Observation Model for 3D LiDAR Localization.

It uses the OverlapNet to train an observation model for Monte Carlo Localization and achieves global localization with 3D LiDAR scans.

Developed by Xieyuanli Chen and Thomas Läbe.

Localization results of overlap-based Monte Carlo Localization.

Publication

If you use our implementation in your academic work, please cite the corresponding paper:

@inproceedings{chen2020iros,
	author = {X. Chen and T. L\"abe and L. Nardi and J. Behley and C. Stachniss},
	title = {{Learning an Overlap-based Observation Model for 3D LiDAR Localization}},
	booktitle = iros,
	year = {2020},
	url={http://www.ipb.uni-bonn.de/pdfs/chen2020iros.pdf},
}

Dependencies

We are using standalone Keras with a TensorFlow backend as a library for neural networks.

The code was tested with Ubuntu 18.04 with its standard python version 3.6.

In order to do training and testing on a whole dataset, you need an Nvidia GPU.

To use a GPU, first you need to install the Nvidia driver and CUDA, so have fun!

  • CUDA Installation guide: link

  • System dependencies:

    sudo apt-get update 
    sudo apt-get install -y python3-pip python3-tk
    sudo -H pip3 install --upgrade pip
    
  • Python dependencies (may also work with different versions than mentioned in the requirements file)

    sudo -H pip3 install -r requirements.txt
    
  • OverlapNet: To use this implementation, one needs to clone OverlapNet to the local folder by:

    git clone https://github.com/PRBonn/OverlapNet
    

How to use

Quick use

For a quick demo, one could download the feature volumes and pre-trained sensor model, extract the feature volumes in the /data folder following the recommended data structure, and then run:

cd src/
python3 main_overlap_mcl.py

One could then get the online visualization of overlap-based MCL as shown in the gif.

More detailed usage

For more details about the usage and each module of this implementation, one could find them in MCL README.md.

Train a new observation model

To train a new observation model, one could find more information in prepare_training README.md.

Collection of preprocessed data

License

Copyright 2020, Xieyuanli Chen, Thomas Läbe, Cyrill Stachniss, Photogrammetry and Robotics Lab, University of Bonn.

This project is free software made available under the MIT License. For details see the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].