https://github.com/willguimont/r2_lidar_icp
https://github.com/willguimont/r2_lidar_icp
icp lidar lidar-point-cloud machine-learning point-cloud point-cloud-registration
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/willguimont/r2_lidar_icp
- Owner: willGuimont
- License: mit
- Created: 2021-10-28T22:04:47.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-18T19:42:22.000Z (5 months ago)
- Last Synced: 2024-11-18T20:44:04.585Z (5 months ago)
- Topics: icp, lidar, lidar-point-cloud, machine-learning, point-cloud, point-cloud-registration
- Language: Python
- Homepage:
- Size: 16.7 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# r2_lidar_icp
Iterative Closest Point (ICP) algorithm for lidar odometry.
r2_lidar_icp is a simple Python implementation of the ICP algorithm aimed to be easy to understand and modify.[r2_lidar_icp in action](https://youtu.be/9I7yZk28Vi0?si=otcAcv2YrVtqMob7)
## Pipeline for ICP
- Preprocess (downsample, filter, compute descriptors, etc.)
- While not converged
- Find matches
- Reject outlier matches
- Compute transformation
- Transform point cloud
- Return transformation## TODO
- [ ] Add tests
- [ ] Add 3D support for PointToPlaneMinimizer
- [ ] Profile and optimize (numba, cython, etc.)
- [ ] Refactor PointCloud to contain its descriptors
- [ ] Robust kernel
- [ ] De-skewing using IMU
- [ ] Dynamic object detection
- [ ] Diffentiable ICP
- [ ] Differentiable LiDAR simulator
- [ ] More filters
- [libpointmatcher filters](https://libpointmatcher.readthedocs.io/en/latest/DataFilters/#filter-index)
- [libpointmatcher config](https://libpointmatcher.readthedocs.io/en/latest/Configuration/)