Generalizable and degeneracy-robust LiDAR odometry
Project description
GenZ-ICP
Demo • Install • ROS • Paper • Contact Us
GenZ-ICP is a Generalizable and Degeneracy-Robust LiDAR Odometry Using an Adaptive Weighting
Install
pip install genz-icp
If you also want to install all the dependencies, like Open3D/Polyscope for visualization (recommended):
pip install "genz-icp[all]"
Running the system
Next, follow the instructions on how to run the system by typing:
genz_icp_pipeline --help
This should print a help message with supported dataloaders and options.
Config
You can generate a default config genz_icp.yaml by typing:
genz_icp_dump_config
Now, you can modify the parameters and pass the file to --config when running genz_icp_pipeline as follows:
genz_icp_pipeline --config /path/to/genz_icp.yaml --visualize /path/to/data --topic /pointcloud_topic
Built-in pre-tuned configs (installed with pip)
Pre-tuned YAML files are packaged together with genz-icp, so you can use them by filename directly.
Available pre-tuned configs:
corridor.yaml: Ground-Challenge dataset,Corridor1andCorridor2sequences (topic:/velodyne_points)exp07.yaml: Hilti-Oxford dataset,Exp07sequence (topic:/hesai/pandar)kitti.yaml: KITTI odometry dataset (topic:/velodyne_points)long_corridor.yaml: SubT-MRS dataset,Long_Corridorsequence (topic:/velodyne_points)newer_college.yaml: Newer College dataset,01_short_experiment,02_long_experiment,07_parklandmountsequences (topic:/os1_cloud_node/points)indoor.yaml: General indoor environments (topic set by user input)outdoor.yaml: General outdoor environments (topic set by user input)
Example:
genz_icp_pipeline --config long_corridor.yaml --visualize /path/to/data --topic /velodyne_points
You can still pass your own local YAML path:
genz_icp_pipeline --config /path/to/my_config.yaml --visualize /path/to/data --topic /pointcloud_topic
Install Python API (developer mode)
If you plan to modify the code, the main requirements are a modern C++ compiler and pip.
In Ubuntu-based systems:
sudo apt install g++ python3-pip
Then clone and install editable mode:
git clone https://github.com/cocel-postech/genz-icp.git
cd genz-icp
python3 -m pip install -e ./python --no-build-isolation
Install Python API (expert mode)
If you want more control over the build, install CMake and dependencies explicitly:
sudo apt install build-essential libeigen3-dev libtbb-dev pybind11-dev ninja-build
:pencil: Citation
If you use our codes, please cite our paper ([arXiv][arXivLink], IEEE Xplore)
@ARTICLE{lee2024genzicp,
author={Lee, Daehan and Lim, Hyungtae and Han, Soohee},
journal={IEEE Robotics and Automation Letters (RA-L)},
title={{GenZ-ICP: Generalizable and Degeneracy-Robust LiDAR Odometry Using an Adaptive Weighting}},
year={2025},
volume={10},
number={1},
pages={152-159},
keywords={Localization;Mapping;SLAM},
doi={10.1109/LRA.2024.3498779}
}
:sparkles: Contributors
Like KISS-ICP, we envision GenZ-ICP as a community-driven project, we love to see how the project is growing thanks to the contributions from the community. We would love to see your face in the list below, just open a Pull Request!
:pray: Acknowledgement
Many thanks to KISS team—Ignacio Vizzo, Tiziano Guadagnino, Benedikt Mersch—to provide outstanding LiDAR odometry codes!
Please refer to KISS-ICP for more information
:mailbox: Contact information
If you have any questions, please do not hesitate to contact us
- Daehan Lee :envelope: daehanlee
atpostechdotacdotkr - Hyungtae Lim :envelope: shapelim
atmitdotedu
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file genz_icp-0.3.1.tar.gz.
File metadata
- Download URL: genz_icp-0.3.1.tar.gz
- Upload date:
- Size: 41.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f900c0b983061857d69779af7ef1776f68660b3578a05f38ec7e176baadf077
|
|
| MD5 |
805202291aeea591064cab33fa8b209b
|
|
| BLAKE2b-256 |
1a8c4929b27b3a5ae66df57345573b20943f5a01ac532f5ed54150232a154f61
|
File details
Details for the file genz_icp-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: genz_icp-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 477.1 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f25cd93063f6d9b1cf2dad0cce365edb0e1bd21223aca9a836b0f4f92bfbfa32
|
|
| MD5 |
21bb2dc061b16d794b25f48a3824045c
|
|
| BLAKE2b-256 |
28f2a6f7f938a4499e6937f3e65e6a9604f4ce56ea0ffe5e45b1cf145b60e733
|
File details
Details for the file genz_icp-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: genz_icp-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 477.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba8c857875a55580cdda89219bb7eb533b9fb552094adeb17ec649622cd167e7
|
|
| MD5 |
6729ae7bf435780b6d434b0dda26aaac
|
|
| BLAKE2b-256 |
77f5cf89f991dd0b5f41ddeedd95a5870a525243769bd75896f7bc816940d09c
|
File details
Details for the file genz_icp-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: genz_icp-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 476.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ec2c5ad52d6f961979b4da28fd703296dcc0e9de02b82f8bbc9a90238e91685
|
|
| MD5 |
f5d936caec1977f5179ab5e2409e0f06
|
|
| BLAKE2b-256 |
c7b1abd483206ccd6c3a9f7c4c16220df37e6ed78930a0228ae3e2d92520980f
|
File details
Details for the file genz_icp-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: genz_icp-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 475.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a9d48249811843641d4aee25d0702921c7e2baa8570542248d6c688c52b2e8a
|
|
| MD5 |
c7f44cd27c7fc53f8590d80f5c80b459
|
|
| BLAKE2b-256 |
772c7b9944daaee12807b9f8a5c01b0fddf6abad82e19cded154b0363225306d
|
File details
Details for the file genz_icp-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: genz_icp-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 476.1 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85bd75c0b713fb91b6a22241861730ef600b814f07b11ff454d27158fd92e407
|
|
| MD5 |
f43ed982f1cd1b35024d723d4d12c90e
|
|
| BLAKE2b-256 |
418db0cc348598eae4a6ab2a449f9c2d2eb3e22352590b4bc2224cc228d8c045
|
File details
Details for the file genz_icp-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: genz_icp-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 475.6 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a5410c3957849cde6a05230594196f82aa24a01dbf5e42c7b51de47ecf4d794
|
|
| MD5 |
a9a9693609755a85a782c47d5db2c4d8
|
|
| BLAKE2b-256 |
77eef24ed4b75d8418b548fe54aef5408aedfdd1e144374946c90f6e7ef973f8
|