MCPcopy Index your code
hub / github.com/cocel-postech/genz-icp

github.com/cocel-postech/genz-icp @v0.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.2 ↗ · + Follow
374 symbols 861 edges 57 files 38 documented · 10% updated 21d agov0.3.2 · 2026-05-05★ 688
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<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>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://www.youtube.com/watch?v=CU6aAiTIO6Y">Video</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://github.com/cocel-postech/genz-icp/blob/master/README.md">Install</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://github.com/cocel-postech/genz-icp/tree/master/ros">ROS</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://arxiv.org/abs/2411.06766">Paper</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://github.com/cocel-postech/genz-icp/issues">Contact Us</a>

animated

GenZ-ICP is a Generalizable and Degeneracy-Robust LiDAR Odometry Using an Adaptive Weighting

Install

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 support

ROS 1

Build

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

Run with pre-tuned config

roslaunch genz_icp odometry.launch topic:=<topic_name> config_file:=<config_file_name>.yaml
rosbag play <rosbag_file_name>.bag

Run with only topic

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

Build

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

Run with pre-tuned config

ros2 launch genz_icp odometry.launch.py topic:=<topic_name> config_file:=<config_file_name>.yaml
ros2 bag play <rosbag_file_name>.db3

Run with only topic

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

:pencil: Citation

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}
}

: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 at postech dot ac dot kr * Hyungtae Lim :envelope: shapelim at mit dot edu

Core symbols most depended-on inside this repo

append
called by 18
python/genz_icp/tools/pipeline_results.py
empty
called by 12
python/genz_icp/mapping.py
EigenToPointCloud2
called by 7
ros/ros1/Utils.hpp
EigenToPointCloud2
called by 7
ros/ros2/Utils.hpp
empty
called by 6
python/genz_icp/tools/pipeline_results.py
clear
called by 5
python/genz_icp/mapping.py
_text_colored
called by 4
python/genz_icp/tools/visualizer.py
read_point_cloud
called by 4
python/genz_icp/datasets/nclt.py

Shape

Method 243
Function 80
Class 51

Languages

Python68%
C++32%

Modules by API surface

python/genz_icp/tools/visualizer.py23 symbols
python/genz_icp/datasets/kitti_raw.py21 symbols
python/genz_icp/pipeline.py20 symbols
python/genz_icp/datasets/generic.py15 symbols
ros/ros2/Utils.hpp13 symbols
ros/ros1/Utils.hpp13 symbols
python/genz_icp/pybind/genz_icp_pybind.cpp13 symbols
python/genz_icp/datasets/mcap.py12 symbols
python/genz_icp/datasets/rosbag.py11 symbols
python/genz_icp/datasets/kitti.py11 symbols
python/genz_icp/tools/pipeline_results.py10 symbols
cpp/genz_icp/core/VoxelHashMap.cpp10 symbols

For agents

$ claude mcp add genz-icp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact