uos / tsdf_localization

6D Monte Carlo Localization in 3D TSDF maps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TSDF-based 3D Monte Carlo Localization ROS Package

This package consists of several nodes and tools to perform a 6D Monte Carlo Localization of robots equipped with a 3D LiDAR in 3D TSDF maps. The sensor update is massively accelerated by a GPU-based implementation, but can also be executed on the CPU.

Demo GIF

Prerequisites

  • ROS Noetic (ros-noetic-desktop-full)
  • ROS packages: See package.xml
  • OpenMP (for CPU acceleration)
  • CUDA (optional, recommended for acceleration)

Installation

  1. Clone this repository into your ROS workspace
$ git clone --recursive https://github.com/uos/tsdf_localization.git
  1. Make sure have also installed the required external packages or also cloned them into the local ROS workspace

  2. Build the ROS workspace

$ catkin build

Demo

A quick startup including how to use tsdf_localization within your package is shown here: https://github.com/uos/tsdf_localization_demo.git

Citation

Please reference the following papers when using tsdf_localization in your scientific work.

@inproceedings{eisoldt2023,
  author={Eisoldt, Marc and Mock, Alexander and Porrmann, Mario and Wiemann, Thomas},
  booktitle={2023 Seventh IEEE International Conference on Robotic Computing (IRC)}, 
  title={{Towards 6D MCL for LiDARs in 3D TSDF Maps on Embedded Systems with GPUs}}, 
  year={2023},
  pages={158-165},
  doi={10.1109/IRC59093.2023.00035}
}

Nodes

mcl_3d

Starts MCL in a given TSDF map.

Subscribed Topics:

initialpose (geometry_msgs/PoseWithCovarianceStamped)

Initial pose guess can be provided using RViz.

/cloud (sensor_msgs/PointCloud2)

PointCloud topic for sensor update.

/odom (nav_msgs/Odometry)

Odometry message for motion update.

(optional) /imu_data (sensor_msgs/Imu)

Services

Start global localization:

/global_localization

Contributions

We are happy about issues and pull requests or other feedback. Please let us know if something did not work out as expected.

About

6D Monte Carlo Localization in 3D TSDF maps

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


Languages

Language:C++ 88.6%Language:Cuda 8.0%Language:CMake 2.0%Language:Python 1.4%