Skip to content

Commit

Permalink
Improve (a bit) README
Browse files Browse the repository at this point in the history
  • Loading branch information
nachovizzo committed Feb 23, 2023
1 parent 97c843d commit d88f646
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 67 deletions.
59 changes: 11 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
# KISS-ICP: In Defense of Point-to-Point ICP – Simple, Accurate, and Robust Registration If Done the Right Way

![ubuntu](https://img.shields.io/badge/ubuntu-333333?style=flat&logo=ubuntu)
![windows](https://img.shields.io/badge/windows-333333?style=flat&logo=windows&logocolor=blue)
![macos](https://img.shields.io/badge/-macos-333333?style=flat&logo=apple)

[![KISS-ICP demo](https://user-images.githubusercontent.com/21349875/211829074-474bec08-0129-4e34-85e7-62265e44a7de.png)](https://user-images.githubusercontent.com/21349875/219626075-d67e9165-31a2-4a1b-8c26-9f04e7d195ec.mp4
)

## 📰 NEWS!!! 📰 ROS API
## ROS2 support

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

```sh
git clone https://github.com/PRBonn/kiss-icp && colcon build
```

## ROS1 support

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

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

For more detailed instructions on the ROS wrapper, please visit [here](src/cpp/kiss_icp_ros/ros1/README.md)
For more detailed instructions on the ROS wrappers, please visit this [README](ros/README.md)

## Install Python API

We released a python-package supported on
![macos](https://img.shields.io/badge/-macos-333333?style=flat&logo=apple),
![windows](https://img.shields.io/badge/windows-333333?style=flat&logo=windows&logocolor=blue), and
![ubuntu](https://img.shields.io/badge/ubuntu-333333?style=flat&logo=ubuntu).
Expand All @@ -31,12 +34,6 @@ 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:

```sh
pip install "kiss-icp[all]"
```

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

```sh
Expand All @@ -47,41 +44,7 @@ This should print the following help message:
![out](https://user-images.githubusercontent.com/21349875/193282970-25a400aa-ebcd-487a-b839-faa04eeca5b9.png)


### 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:

```sh
sudo apt install g++ python3-pip
```

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

```sh
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:

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

## Authors

- Ignacio Vizzo
- Tiziano Guadagnino
- Benedikt Mersch
- Louis Wiesmann
- Jens Behley
- Cyrill Stachniss
For advanced instructions on the Python pacakge plase see [this README](python/README.md)

## Citation

Expand Down
8 changes: 8 additions & 0 deletions cpp/kiss_icp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# KISS-ICP C++ Library

## How to build

```sh
cmake -Bbuild
cmake --build build -j$(nproc --all)
```
33 changes: 28 additions & 5 deletions python/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
# KISS-ICP Python API

![ubuntu](https://img.shields.io/badge/ubuntu-333333?style=flat&logo=ubuntu)
![windows](https://img.shields.io/badge/windows-333333?style=flat&logo=windows&logocolor=blue)
![macos](https://img.shields.io/badge/-macos-333333?style=flat&logo=apple)
# KISS-ICP

[![KISS-ICP demo](https://user-images.githubusercontent.com/21349875/211829074-474bec08-0129-4e34-85e7-62265e44a7de.png)](https://user-images.githubusercontent.com/21349875/219626075-d67e9165-31a2-4a1b-8c26-9f04e7d195ec.mp4
)
Expand Down Expand Up @@ -36,6 +32,33 @@ kiss_icp_pipeline --help
This should print the following help message:
![out](https://user-images.githubusercontent.com/21349875/193282970-25a400aa-ebcd-487a-b839-faa04eeca5b9.png)

### 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:

```sh
sudo apt install g++ python3-pip
```

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

```sh
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:

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

## Citation

If you use this library for any academic work, please cite our original [paper](https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2023ral.pdf).
Expand Down
56 changes: 42 additions & 14 deletions ros/README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,34 @@
# KISS-ICP ROS1 node
# KISS-ICP ROS wrappers

This node is just an application example on how to use the KISS-ICP C++ API. It's still considered
work in progress and we are very happy to receive any contribution from the comunity 👼

https://user-images.githubusercontent.com/21349875/214578180-b1d2431c-8fff-440e-aa6e-99a1d85989b5.mp4

## How to build
## ROS2

### How to build

You should not need any extra dependency, just clone and build:

```sh
cd ~/catkin_ws/
git clone https://github.com/PRBonn/kiss-icp
catkin build
source devel/setup.bash
colcon build
source ./install/setup.bash
```

## How to run
### How to run

Example with ouster-bagfiles (newer college, etc)
The only required argument to provide is the **topic name** so KISS-ICP knows which PointCloud2 to proces:

```sh
roslaunch kiss_icp odometry.launch bagfile:=<path_to_rosbag> topic:=/os1_cloud_node/points
roslaunch kiss_icp odometry.launch.py bagfile:=<path_to_rosbag> topic:=<topic_name>
```

You can optionally launch the node with any bagfile, and play the bagfiles on a different shell:

```sh
roslaunch kiss_icp odometry.launch topic:=/os1_cloud_node/points
roslaunch kiss_icp odometry.launch.py topic:=<topic_name>
```

and then,
Expand All @@ -36,12 +37,39 @@ and then,
rosbag play <path>*.bag
```

## Special case: how to run on KITTI
## ROS1

### How to build

You should not need any extra dependency, just clone and build:

```sh
cd ~/catkin_ws/
git clone https://github.com/PRBonn/kiss-icp
catkin build
source devel/setup.bash
```

### How to run

The only required argument to provide is the **topic name** so KISS-ICP knows which PointCloud2 to proces:

```sh
roslaunch kiss_icp odometry.launch bagfile:=<path_to_rosbag> topic:=<topic_name>
```

You can optionally launch the node with any bagfile, and play the bagfiles on a different shell:

```sh
roslaunch kiss_icp odometry.launch topic:=<topic_name>
```

TODO: add external repo to avoid extra uglyness
and then,

## How to run the evaluation
```sh
rosbag play <path>*.bag
```

This is WIP, any suggestion on how this should be done is more than welcome! Just open an issue with
your proposal.
## Out of source builds

Good news! If you don't have git or you don't need to change the core KISS-ICP library, you can just copy paste this folder into your ROS1/ROS2 workspace and build as usual. The build system will fetch the latest stable release for you.

0 comments on commit d88f646

Please sign in to comment.