Fast and accurate 3D global localization using branch-and-bound scan matching.
Please refer to our paper.
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:
- Paper: 878 ms on average
- Latest: 159 ms on average
- bbs3d (Lower versions are not tested)
- Eigen3
- CMake version 3.15 or higher
- GPU version: CUDA version 12.0 or higher
- test
- (All bbs3d dependencies)
- PCL
If nvidia driver is 525.60.11 or higher, try docker!
For more information, you can check docker_start.md
- GPU (Please ignore the large number of warnings)
git clone https://github.com/KOKIAOKI/3d_bbs.git
cd 3d_bbs
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
sudo make install
- GPU
cd 3d_bbs/test/
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
Please download test data.
Config file format is 3d-bbs/test/config/test.yaml
Please edit the config file as below:
- Copy the target and source paths in the downloaded test_data to target_clouds and source_clouds items.
- Create the output folder where you want to save the output pcd and copy the path to output_folder in test.yaml.
- Test data work with default parameter values.
- GPU
cd 3d_bbs/test/build/
./gpu_test <config_file_path>