Releases: cocel-postech/genz-icp
Releases · cocel-postech/genz-icp
v0.3.2
GenZ-ICP v0.3.2: PyPI Support and ROS 2 Stability Improvements
This release introduces official PyPI support for GenZ-ICP and major ROS 2 stability improvements.
🚀 PyPI Support (Major Update)
- Official Python package support:
pip install genz-icp - CLI tool:
genz_icp_pipeline - Updated the visualizer for GenZ-ICP's status representation
- Packaged pre-tuned configs for quick start
- Config parser support for both:
- Python-style sectioned YAML
- ROS-style flat YAML
- Improved dataset topic handling (
/topicvstopicnormalization)
🛠️ ROS 2 Stability and Build Fixes (Major Update)
- During real-time playback of recorded LiDAR bags in ROS 2, a QoS mismatch between the point cloud publisher and subscriber caused intermittent frame drops and timing jitter, leading to visible stuttering and occasional odometry drift.
- Fix: switched the point cloud subscriber to a RELIABLE QoS profile for stable frame delivery, improving consistency of scan integration and odometry tracking.
- Build robustness: added FetchContent/CMake compatibility handling for newer CMake environments (e.g., >= 3.31), reducing ROS 2 build failures across different systems.
Packaging and Build
- Added/updated Python packaging scaffold (
pyproject.toml, build config, metadata) - Fixed wheel-from-sdist packaging issues in the release flow
- Published PyPI package
genz-icp==0.3.2
Environment Validation
Tested and validated on Ubuntu 20.04, 22.04 environments.
Documentation
- Refreshed root/Python README for:
- installation
- pipeline usage
- config usage
- pre-tuned config examples
Acknowledgement
- We gratefully acknowledge the KISS-ICP project and team.
- The PyPI packaging/release workflow for GenZ-ICP was developed with reference to KISS-ICP’s open-source structure and practices.
v0.2.0
What's Changed
- Update computing covariance, thus removing the unnecessary memory allocation memory and loop by @Seongjun-Kim00 in #7
- Set consistent voxel size to ROS1 version by @LimHyungTae in #10
- feat: Enhance parameter handling in ROS2 by @TannerGilbert in #16
- Remove redundant calculation by @ali-pahlevani in #13
- Remove redundant conditional checks by @Daehan2Lee in #18
- Preallocate memory for voxel point buffers to improve efficiency by @Daehan2Lee in #19
New Contributors
- @Seongjun-Kim00 made their first contribution in #7
- @LimHyungTae made their first contribution in #10
- @TannerGilbert made their first contribution in #16
- @ali-pahlevani made their first contribution in #13
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
- Resolve the RViz visualization issue (flickering problem when visualizing planar and non-planar points)
- Fix Geman-McClure weighting for the point-to-plane residual
- Update Adaptive voxelization strategy based on the
desired_num_voxelized_points(using LOCUS 2.0's approach) - Modify centroid calculation process to avoid unnecessary use of a for loop
v0.0.0
Version 0.0.0