Skip to content

v0.3.2

Latest

Choose a tag to compare

@Daehan2Lee Daehan2Lee released this 05 May 12:55
· 14 commits to master since this release

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 (/topic vs topic normalization)

🛠️ 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.