ROS 1 已废弃且不再官方支持,需要 ROS 1 只能用 v0.3.0;ROS 2 需单独克隆仓库并用 colcon 编译,不是 pip 安装就能用;运行前需自备 LiDAR 数据,README 未说明内置数据集。
pip install kiss-icp
kiss_icp_pipeline --helpREADME 未说明具体显存、CPU 或 GPU 型号要求;仅标注支持 Linux、Windows 与 macOS。
一个几乎不用调参就能跑通的 LiDAR 里程计流水线,适合快速搭建激光雷达定位基线
一套开箱即用的 LiDAR 里程计与建图管线,基于点到点 ICP 实现,无需调参即可在机器人上稳定运行,支持 ROS/ROS2。
核心能力
- 无需调参即可在多数场景运行 LiDAR 里程计
- 提供 pip 安装的 Python 包与 kiss_icp_pipeline 命令行入口
- 附带 ROS 2 封装,可用 colcon 编译为 kiss_icp 包
- 基于点对点 ICP 的配准方案,论文发表于 RA-L
容易踩的坑
- v1.3.0最新正式版2026-04-26 · 2026-04-26 08:43 UTC
New release after almost a year, to pick up especially the change to version pinning in the python package. ARM systems should also now work for
pip install.What's Changed
- Return deskewed frame from the pipeline (#448) by @ksuszka in https://github.com/PRBonn/kiss-icp/pull/449
- upgrade versions for sophus and TBB to avoid old cmake version errors by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/456
- Fix HeLiPR dataloader by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/460
- Add Gupta as codeowner by @benemer in https://github.com/PRBonn/kiss-icp/pull/466
- pass by reference the pointclouds by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/472
- Remove max_range and deskew from CLI by @benemer in https://github.com/PRBonn/kiss-icp/pull/434
- Make KISS-ICP compatible with Polyscope 2.4.0 by @l00p3 in https://github.com/PRBonn/kiss-icp/pull/469
- Remove unused variable by @benemer in https://github.com/PRBonn/kiss-icp/pull/473
- Allow to set ROS parameters from a yaml file by @leroycorentin in https://github.com/PRBonn/kiss-icp/pull/467
- Enter Malladi by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/477
- Replace iron with jazzy and kilted by @benemer in https://github.com/PRBonn/kiss-icp/pull/481
- feat: add ROS service to reset odometry by @qza36 in https://github.com/PRBonn/kiss-icp/pull/479
- Add support for autoware point type by @jimmyshe in https://github.com/PRBonn/kiss-icp/pull/484
- chore: tf2_ros to hpp headers by @Timple in https://github.com/PRBonn/kiss-icp/pull/480
- fix rosbags dataloader to match the latest rosbags version on pypi by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/488
- Add Linux ARM Python Builders by @matthew-lidar in https://github.com/PRBonn/kiss-icp/pull/482
- Remove ament_target_dependencies and replace with target_link_libraries by @mehermvr in https://github.com/PRBonn/kiss-icp/pull/493
- Bump version to 1.3.0 by @mehermvr in https://github.com/PRBonn/kiss-icp/pull/492
New Contributors
- @ksuszka made their first contribution in https://github.com/PRBonn/kiss-icp/pull/449
- @leroycorentin made their first contribution in https://github.com/PRBonn/kiss-icp/pull/467
- @qza36 made their first contribution in https://github.com/PRBonn/kiss-icp/pull/479
- @jimmyshe made their first contribution in https://github.com/PRBonn/kiss-icp/pull/484
- @Timple made their first contribution in https://github.com/PRBonn/kiss-icp/pull/480
- @matthew-lidar made their first contribution in https://github.com/PRBonn/kiss-icp/pull/482
Full Changelog: https://github.com/PRBonn/kiss-icp/compare/v1.2.3...v1.3.0
- v1.2.32025-03-17 · 2025-03-17 08:38 UTC
查看更新说明
What's Changed
- Use callable for generic dataloader by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/441
- Gupta/fix serialized dataloaders by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/445
- Fix open3d not raising an exception on invalid files when guessing dataset format by @Adraub in https://github.com/PRBonn/kiss-icp/pull/442
- v1.2.3 by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/446
New Contributors
- @Adraub made their first contribution in https://github.com/PRBonn/kiss-icp/pull/442
Full Changelog: https://github.com/PRBonn/kiss-icp/compare/v1.2.2...v1.2.3
- v1.2.22025-01-30 · 2025-01-30 12:19 UTC
查看更新说明
Finally fix deskewing and the kernel threshold
What's Changed
- Update GitHub actions' versions by @saurabh1002 in https://github.com/PRBonn/kiss-icp/pull/424
- Remove paris luco dataset and plyfile dependency. Fixes #425 by @nachovizzo in https://github.com/PRBonn/kiss-icp/pull/426
- Simplify deskewing by @benemer in https://github.com/PRBonn/kiss-icp/pull/427
- Read Timestamps from PLY by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/428
- Change default config by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/429
- Make empty timestamps default everywhere by @benemer in https://github.com/PRBonn/kiss-icp/pull/430
- Same defaults for ROS and CPP by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/431
- Deskew the scans by default by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/432
- Move the normalization of the timestamps in preprocessing by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/433
- Remove divided by three in the robust kernel by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/437
- v1.2.2 by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/438
Full Changelog: https://github.com/PRBonn/kiss-icp/compare/v1.2.1...v1.2.2
- v1.2.12025-01-14 · 2025-01-14 15:18 UTC
查看更新说明
What's Changed
- Update CI Actions by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/423
Full Changelog: https://github.com/PRBonn/kiss-icp/compare/v1.2.0...v1.2.1
- v1.2.02025-01-09 · 2025-01-09 15:52 UTC
查看更新说明
Highlight
Finally deskew in the proper reference frame, results improve slightly overall. Fix memory allocations, added a proper preprocessing pipeline with control on the number of threads
What's Changed
- Reduce memory allocation by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/410
- Improve Runtime by reshaping the DataAssociation by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/411
- Use relative names for topics by @fdila in https://github.com/PRBonn/kiss-icp/pull/415
- Remove unused EigenToPointCloud2 by @benemer in https://github.com/PRBonn/kiss-icp/pull/416
- Publish map in odom_lidar frame by @benemer in https://github.com/PRBonn/kiss-icp/pull/417
- Preprocessing Pipeline by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/412
- Input timestamps by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/419
- Fix known issues with dataloaders by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/420
- Deskewing...again by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/421
- New Release: 1.2.0 by @tizianoGuadagnino in https://github.com/PRBonn/kiss-icp/pull/422
New Contributors
- @fdila made their first contribution in https://github.com/PRBonn/kiss-icp/pull/415
Full Changelog: https://github.com/PRBonn/kiss-icp/compare/v1.1.0...v1.2.0
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
KISS-ICP is a LiDAR Odometry pipeline that just works on most of the cases without tunning any parameter.
Install
pip install kiss-icp
Next, follow the instructions on how to run the system by typing:
kiss_icp_pipeline --help
For advanced instructions on the Python package please see this README
ROS support
cd ~/ros2_ws/src/ && git clone https://github.com/PRBonn/kiss-icp && cd ~/ros2_ws/ && colcon build --packages-select kiss_icp
For more detailed instructions on the ROS wrapper, please visit this README
⚠️ ⚠️ ROS 1 is deprecated in KISS-ICP and is not officially supported anymore. Upgrade now to ROS 2! ⚠️ ⚠️
The last release that supports ROS 1 is v0.3.0, if you still need ROS 1 support please check that version.
Citation
If you use this library for any academic work, please cite our original paper.
@article{vizzo2023ral,
author = {Vizzo, Ignacio and Guadagnino, Tiziano and Mersch, Benedikt and Wiesmann, Louis and Behley, Jens and Stachniss, Cyrill},
title = {{KISS-ICP: In Defense of Point-to-Point ICP -- Simple, Accurate, and Robust Registration If Done the Right Way}},
journal = {IEEE Robotics and Automation Letters (RA-L)},
pages = {1029--1036},
doi = {10.1109/LRA.2023.3236571},
volume = {8},
number = {2},
year = {2023},
codeurl = {https://github.com/PRBonn/kiss-icp},
}
Contributing
We envision KISS-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!