Video • Install • ROS2 • Paper • Contact Us
Patchwork++, an extension of Patchwork, is a fast, robust, and self-adaptive ground segmentation algorithm on 3D point cloud.
- C++ source code of Patchwork++ (patchworkpp)
 - Python binding of Patchwork++ using pybind11 (python_wrapper)
 - Examples codes of C++, Python, and ROS2 👍
 
If you are familiar with ROS1, you can also visit here and try executing ROS1-based Patchwork++!
What we need are just minimal dependencies.
sudo apt-get install g++ build-essential libeigen3-dev python3-pip python3-dev cmake -y
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.
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.
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.
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}
}
- Ubuntu 
18.04 and20.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. 
 - In 
 - Open3D 
0.15.20.18.0 - pybind11 v2.2.3
 - Eigen 3.3.7
 
If you have any questions, please do not hesitate to contact us
- Seungjae Lee ✉️ sj98lee 
atkaistackr - Hyungtae Lim ✉️ shapelim 
atkaistackr 
-  Support intensity for RNR in 
masterbranch -  Support 
Patchworkmode for users who use this repository for baseline comparison purposes - Integrate TBB and optimize the performance
 
