[IEEE RA-L] This repository is the official code for Narrowing your FOV with SOLiD: Spatially Organized and Lightweight Global Descriptor for FOV-constrained LiDAR Place Recognition.
Hogyun Kim, Jiwon Choi, Taehu Sim, Giseop Kim, Younggun Cho†
- [November, 2024] Now, Distributed-SOLiD-SLAM code is released!!
- [September, 2024] SOLiD is introduced in HeLiPR-Place-Recognition Toolbox!!
- [August, 2024] Now, the SOLiD-A-LOAM code is released!!
- [August, 2024] Now, the SOLiD-PyICP-SLAM code is released!!
- [August, 2024] The SOLiD is added in awesome-lidar-place-recognition!!
- [August, 2024] Now, the SOLiD code is released!!
- [July, 2024] SOLiD is accepted in RA-L!!
- Integrated with KISS-ICP: SOLiD-KISS-ICP
- Integrated with LIO-SAM: SOLiD-LIO-SAM
- Integrated with FAST-LIO2: SOLiD-FAST-LIO2
- Integrated with LT-mapper
- SOLiD can be integrated with various LiDAR odometry including solid-state LiDAR and Situations (i.e. intra-session, inter-session, and multi-robot).
- Intra-session SLAM
- Integrated with A-LOAM: SOLiD-A-LOAM
- Integrated with a basic ICP odometry: SOLiD-PyICP-SLAM
- This implementation is fully Python-based so slow but for educational purposes.
- Inter-session SLAM
- (TBD) Integrated with LT-mapper
- Multi-Robot SLAM
- Integrated with DiSCo SLAM: Distributed-SOLiD-SLAM
- Intra-session SLAM
- The traditional method uses a bird eye view and overlooks vertical information.
- Also, because it focuses on performance, it is difficult to apply in real-time on an onboard computer.
- SOLiD is a lightweight and fast LiDAR global descriptor for FOV constraints situations that are limited through fusion with other sensors or blocked by robot/sensor operators including mechanical components or solid-state LiDAR (e.g. Livox).
-
Python version
- If you use the other LiDAR sensor, you modify the parameters in parser of test.py and lidar file structure in utils/point_module.py.
$ git clone https://github.com/sparolab/SOLiD.git $ cd python $ python3 test.py
- If you use the other LiDAR sensor, you modify the parameters in parser of test.py and lidar file structure in utils/point_module.py.
-
Cpp version
- If you use the other LiDAR sensor, you modify the parameters in include/solid_module.h.
$ git clone https://github.com/sparolab/SOLiD.git $ cd cpp $ mkdir build $ cd build $ cmake .. $ make $ ./test_solid
- If you use the other LiDAR sensor, you modify the parameters in include/solid_module.h.
- If you want to clip the points, you can use python/bin/point_clipper.py
$ git clone https://github.com/sparolab/SOLiD.git $ cd python/bin/ $ python3 point_clipper.py
- If you have a question, you utilize a alphaXiv and comment here.
@article{kim2024narrowing,
title={Narrowing your FOV with SOLiD: Spatially Organized and Lightweight Global Descriptor for FOV-constrained LiDAR Place Recognition},
author={Kim, Hogyun and Choi, Jiwon and Sim, Taehu and Kim, Giseop and Cho, Younggun},
journal={IEEE Robotics and Automation Letters},
year={2024},
publisher={IEEE}
}
- Hogyun Kim ([email protected])
- For academic usage, the code is released under the BSD 3.0 license. For any commercial purpose, please contact the authors.