Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

url-kaist/patchwork-plusplus

Open more actions menu

Repository files navigation

Patchwork++



Video   •   Install   •   ROS2   •   Paper   •   Contact Us

animated

Patchwork++, an extension of Patchwork, is a fast, robust, and self-adaptive ground segmentation algorithm on 3D point cloud.

📂 What's in this repo

If you are familiar with ROS1, you can also visit here and try executing ROS1-based Patchwork++!

📦 Prerequisite packages

What we need are just minimal dependencies.

sudo apt-get install g++ build-essential libeigen3-dev python3-pip python3-dev cmake -y

⚙️ How to build & Run

Python

Pure installation

make pyinstall

Then, you can use Patchwork++ by import pypatchworkpp, which is super simple!

Installation to run demo

Only Open3D (> 0.17.0) is additionally installed for visualization purposes.

make pyinstall_with_demo

How to run Python demos is explained here.

C++

Pure installation

make cppinstall

Installation with demo

Only Open3D (> 0.17.0) is additionally installed for visualization purposes.

make cppinstall_with_demo

How to run the C++ demos is explained here.

ROS2

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

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/url-kaist/patchwork-plusplus.git
cd ~/ros2_ws
colcon build --packages-select patchworkpp
source ./install/setup.bash

How to launch ROS2 nodes is explained here.

📝 Citation

If you use our codes, please cite our paper (arXiv, IEEE Xplore)

@inproceedings{lee2022patchworkpp,
    title={{Patchwork++: Fast and robust ground segmentation solving partial under-segmentation using 3D point cloud}},
    author={Lee, Seungjae and Lim, Hyungtae and Myung, Hyun},
    booktitle={Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst.},
    year={2022},
    pages={13276-13283}
}

In addition, you can also check the paper of our baseline, Patchwork. (arXiv, IEEE Xplore)

@article{lim2021patchwork,
    title={Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor},
    author={Lim, Hyungtae and Minho, Oh and Myung, Hyun},
    journal={IEEE Robotics and Automation Letters},
    year={2021}
}

🚩 Tested Environment

  • Ubuntu 18.04 and 20.04 and 22.04
  • CMake 3.25.1 (>=3.20, min. Required to install Open3D)
    • In scripts/install_open3d.bash, the installation of the higher version of CMake is already implemented.
  • Open3D 0.15.2 0.18.0
  • pybind11 v2.2.3
  • Eigen 3.3.7

📫 Contact Information

If you have any questions, please do not hesitate to contact us


Todo List

  • Support intensity for RNR in master branch
  • Support Patchwork mode for users who use this repository for baseline comparison purposes
  • Integrate TBB and optimize the performance
Morty Proxy This is a proxified and sanitized view of the page, visit original site.