Skip to content

cocel-postech/genz-icp

Repository files navigation

GenZ-ICP

License: MIT

Demo   •   Video   •   Install   •   ROS   •   Paper   •   Contact Us

animated

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

⚙️ How to build & run

ROS1

How to build

You should not need any extra dependency, just clone and 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

How to run

Option 1

If you want to use a pre-tuned parameter set, you need to provide the config file with the topic name as arguments:

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

Examples and download links for demo datasets can be found here

Option 2

Otherwise, the only required argument to provide is the topic name:

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

Check out the tuning guide for the parameters of GenZ-ICP at this link

ROS2

How to build

You should not need any extra dependency, just clone and 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
source ~/colcon_ws/install/setup.bash

How to run

The only required argument to provide is the topic name:

ros2 launch genz_icp odometry.launch.py topic:=<topic_name>

and then,

ros2 bag play <rosbag_file_name>.mcap

Check out the tuning guide for the parameters of GenZ-ICP at this link

📌 Todo list

  • Code optimization to reduce CPU load
  • Python support for GenZ-ICP

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

✨ 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!

🙏 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

📫 Contact information

If you have any questions, please do not hesitate to contact us