qpc001 / kiss-icp

KISS-ICP: In Defense of Point-to-Point ICP – Simple, Accurate, and Robust Registration If Done in the Right Way https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2023ral.pdf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KISS-ICP: In Defense of Point-to-Point ICP – Simple, Accurate, and Robust Registration If Done the Right Way

ubuntu windows macos

overview

Point cloud maps (blue) generated online by our proposed odometry pipeline on different datasets with the same set of parameters. We depict the latest scan in yellow. The scans are recorded using different sensors with different point densities, different orientations, and different shooting patterns. The automotive example stems from the MulRan dataset. The drone of the Voxgraph dataset and the segway robot used in the NCLT dataset show a high acceleration motion profile. The handheld mechanical LiDAR of LOAM Livox has a completely different shooting pattern than the commonly used rotating mechanical LiDAR.

📰 NEWS!!! 📰 ROS API

It was never this easy, just git clone this repo into your catkin workspace and build it:

cd ~/catkin_ws/ && git clone https://github.com/PRBonn/kiss-icp && catkin build

For more detailed instructions on the ROS wrapper, please visit here

ROS Video Example

kiss_icp_ros.mp4

Install Python API

We released a python-package supported on macos, windows, and ubuntu.

To get started, just run

pip install kiss-icp

If you also want to install all the (optional) dependencies, like Open3D for running the visualizer:

pip install "kiss-icp[all]"

Next, follow the instructions on how to run the system by typing:

kiss_icp_pipeline --help

This should print the following help message: out

Install Python API (developer mode)

If you plan to modify the code then you need to setup the dev dependencies, luckilly, the only real requirements are a modern C++ compiler and the pip package manager, nothing else!, in Ubuntu-based sytems this can be done with:

sudo apt install g++ python3-pip

After that you can clone the code and install the python api:

git clone https://github.com/PRBonn/kiss-icp.git
cd kiss-icp
pip install --verbose .

Install Python API (expert mode)

If you want to have more controll over the build, you should then install cmake, ,ninja, tbb, Eigen, and pybind11 as extra dependencies in your system, the ubuntu-way of doing this is:

sudo apt install build-essential libeigen3-dev libtbb-dev pybind11-dev ninja-build

Teaser Video

kiss-icp.mp4

Authors

  • Ignacio Vizzo
  • Tiziano Guadagnino
  • Benedikt Mersch
  • Louis Wiesmann
  • Jens Behley
  • Cyrill Stachniss

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     = {1-8},
  doi       = {10.1109/LRA.2023.3236571},
  volume    = {8},
  number    = {2},
  year      = {2023},
  codeurl   = {https://github.com/PRBonn/kiss-icp},
}

Star History

Star History Chart

About

KISS-ICP: In Defense of Point-to-Point ICP – Simple, Accurate, and Robust Registration If Done in the Right Way https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2023ral.pdf

License:MIT License


Languages

Language:Python 50.2%Language:C++ 33.4%Language:Jupyter Notebook 9.1%Language:CMake 7.1%Language:Makefile 0.2%