Skip to content

cocel-postech/genz-icp

Repository files navigation

GenZ-ICP



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

For example,

roslaunch genz_icp odometry.launch topic:=/velodyne_points config_file:=long_corridor.yaml
rosbag play subt_mrs_long_corridor.bag

The original bagfile for the Long_Corridor sequence of SubT-MRS dataset can be downloaded from here

subt_mrs_long_corridor.bag includes only the /velodyne_points topic and can be downloaded from 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

Python

Will be available in an upcoming update

📌 Todo list

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

🙏 Acknowledgement

Many thanks to Ignacio Vizzo 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