<h1>GenZ-ICP</h1>
<a href="https://github.com/cocel-postech/genz-icp/tree/master/cpp/genz_icp"><img src="https://img.shields.io/badge/-C++-blue?logo=cplusplus" /></a>
<a href="https://github.com/cocel-postech/genz-icp/tree/master/python/genz_icp"><img src="https://img.shields.io/badge/Python-3670A0?logo=python&logoColor=ffdd54" /></a>
<a href="https://github.com/cocel-postech/genz-icp/tree/master/ros"><img src="https://img.shields.io/badge/ROS1-Noetic-blue" /></a>
<a href="https://github.com/cocel-postech/genz-icp/tree/master/ros"><img src="https://img.shields.io/badge/ROS2-Humble-blue" /></a>
<a href=""><img src="https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black" /></a>
<a href="https://github.com/cocel-postech/genz-icp/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green.svg" alt="License: MIT" /></a>
<a href="https://ieeexplore.ieee.org/document/10753079"><img src="https://img.shields.io/badge/DOI-10.1109/LRA.2024.3498779-004088.svg"/>
<a href="https://www.youtube.com/watch?v=EyTJbdC_AA4">Demo</a>
<span> • </span>
<a href="https://www.youtube.com/watch?v=CU6aAiTIO6Y">Video</a>
<span> • </span>
<a href="https://github.com/cocel-postech/genz-icp/blob/master/README.md">Install</a>
<span> • </span>
<a href="https://github.com/cocel-postech/genz-icp/tree/master/ros">ROS</a>
<span> • </span>
<a href="https://arxiv.org/abs/2411.06766">Paper</a>
<span> • </span>
<a href="https://github.com/cocel-postech/genz-icp/issues">Contact Us</a>

GenZ-ICP is a Generalizable and Degeneracy-Robust LiDAR Odometry Using an Adaptive Weighting
pip install genz-icp
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.
For advanced instructions on the Python package please see this README
ROS 1
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/cocel-postech/genz-icp.git
cd ..
catkin build genz_icp --cmake-args -DCMAKE_BUILD_TYPE=Release
source ~/catkin_ws/devel/setup.bash
roslaunch genz_icp odometry.launch topic:=<topic_name> config_file:=<config_file_name>.yaml
rosbag play <rosbag_file_name>.bag
roslaunch genz_icp odometry.launch topic:=<topic_name>
rosbag play <rosbag_file_name>.bag
Examples and download links for demo datasets are available in ros/README.md.
Parameter tuning guide: ros/config/parameter_tuning_guide.md
ROS 2
mkdir -p ~/colcon_ws/src
cd ~/colcon_ws/src
git clone https://github.com/cocel-postech/genz-icp.git
cd ..
colcon build --packages-select genz_icp --cmake-args -DCMAKE_BUILD_TYPE=Release --symlink-install
source ~/colcon_ws/install/setup.bash
ros2 launch genz_icp odometry.launch.py topic:=<topic_name> config_file:=<config_file_name>.yaml
ros2 bag play <rosbag_file_name>.db3
ros2 launch genz_icp odometry.launch.py topic:=<topic_name>
ros2 bag play <rosbag_file_name>.db3
Examples and download links for demo datasets are available in ros/README.md.
Parameter tuning guide: ros/config/parameter_tuning_guide.md
If you use our codes, please cite our paper (arXiv, 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}
}
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!
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
If you have any questions, please do not hesitate to contact us
* Daehan Lee :envelope: daehanlee at postech dot ac dot kr
* Hyungtae Lim :envelope: shapelim at mit dot edu
$ claude mcp add genz-icp \
-- python -m otcore.mcp_server <graph>