XiaoJake / 3d_bbs

基于 GPU 加速和改进的分枝定界算法应用于 3D 的快速全局重定位

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3d_bbs

Fast and accurate 3D global localization using branch-and-bound scan matching.
Please refer to our paper.

overview

The latest implementation demonstrates faster processing times than those published in the paper.
Specifically, when tested in a real environment with the following hardware configuration (Intel Core i7-10700K 3.8GHz, 32GB RAM, and NVIDIA GeForce RTX2060), the processing times are as follows:

  • Hierarchical voxelmap construction
    • Paper: 9,272 ms on average
    • Latest: 3,494 ms on average
    • Use saved voxelmap: 130 ms on average
  • Localize
    • Paper: 878 ms on average
    • Latest: 189 ms on average

Dependencies

  • bbs3d (Lower versions are not tested)
    • Eigen3 version 3.4.0 or higher
    • CMake version 3.15 or higher
    • GPU version: CUDA version 12.0 or higher
  • test
    • (All bbs3d dependencies)
    • PCL
  • ros2 test
    • (All bbs3d dependencies)
    • ros2 humble

Support Docker 🐳

If nvidia driver is 525.60.11 or higher, try docker!
For more information, you can check docker_start.md

3d_bbs core source code

Build and Install

git clone https://github.com/KOKIAOKI/3d_bbs.git
cd 3d_bbs
mkdir build && cd build
  • CPU ver. & GPU ver. (Please ignore the large number of warnings)
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
sudo make install
  • CPU ver. only
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_CUDA=OFF
make -j8
sudo make install

Test code

See test_code.md
overview

ROS 2 test code

See ros2_test_code.md
overview

About

基于 GPU 加速和改进的分枝定界算法应用于 3D 的快速全局重定位

License:MIT License


Languages

Language:C++ 68.6%Language:Cuda 22.0%Language:CMake 5.1%Language:Python 2.4%Language:Dockerfile 1.0%Language:Shell 1.0%