• Stars
    star
    282
  • Rank 146,549 (Top 3 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 2 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ROS & ROS2 Implementation of Patchwork++

patchwork-plusplus-ros

This is ROS package of Patchwork++ (@ IROS'22), which is a fast and robust ground segmentation method.

animated

If you are not familiar with ROS, please visit the original repository.

If you follow the repository, you can run Patchwork++ in Python and C++ easily.

📂 What's in this repository

  • ROS based Patchwork source code (patchworkpp.hpp)
  • Demo launch file (demo.launch) with sample rosbag file. You can execute Patchwork++ simply!

📦 Prerequisite packages

You may need to install ROS, PCL, Eigen, ...

⚙️ How to build Patchwork++

To build Patchwork++, you can follow below codes.

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws
$ catkin build # or catkin_make

🏃 To run the demo codes

There is a demo which executes Patchwork++ with sample rosbag file. You can download a sample file with the following command.

For the sample rosbag data, I utilizes semantickitti2bag package.

$ wget https://urserver.kaist.ac.kr/publicdata/patchwork++/kitti_00_sample.bag

If you have any trouble to download the file by the above command, please click here to download the file directly.

The rosbag file is based on the KITTI dataset. The bin files are merged into the rosbag file format.

The sample file contains LiDAR sensor data only.

Then, you can run demo as follows.

# Start Patchwork++
$ roslaunch patchworkpp demo.launch
# Start the bag file
$ rosbag play kitti_00_sample.bag

📌 TODO List

  • Update additional demo codes processing data with .bin file format
  • Generalize point type in the source code
  • Add visualization result of demo codes in readme

Citation

If you use our codes, please cite our paper.

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

@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},
    note={{Submitted}} 
}
@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}
}

📮 Contact

If you have any question, don't be hesitate let us know!

More Repositories

1

patchwork-plusplus

Patchwork++: Fast and robust ground segmentation method for 3D LiDAR scans. @ IROS'22
C++
626
star
2

Quatro

Fast and robust global registration for terrestrial robots @ ICRA2022
C++
307
star
3

TRAVEL

Traversable ground and above-ground object segmentation using graph representation of 3D LiDAR scans
C++
249
star
4

UV-SLAM

UV-SLAM: Unconstrained Line-based SLAM Using Vanishing Points for Structural Mapping
C++
235
star
5

dynaVINS

DynaVINS : A Visual-Inertial SLAM for Dynamic Environments
C++
202
star
6

Ground-Segmentation-Benchmark

Ground segmentation benchmark in SemanticKITTI dataset
C++
191
star
7

AlterGround-LeGO-LOAM

The page for PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry
C++
172
star
8

outlier-robust-radar-odometry

Outlier-robust radar odometry (ORORA), which is accepted in ICRA'23
C++
108
star
9

Patchwork2

Are you ready for fast and robust ground-segmentation for all terrain robots?
89
star
10

kaistviodataset

"Visual-Inertial Dataset" (RA-L'21 with ICRA'21): it contains harsh motions for VO/VIO, like pure rotation or fast rotation with various motion types.
Shell
75
star
11

Struct-MDC

Official page of Struct-MDC (RA-L'22 with IROS'22); Depth completion from Visual-SLAM using point & line features
Python
47
star
12

Quatro-LeGO-LOAM

C++
39
star
13

VinsFusionSC

VINS-Fusion combined with Switchable Constraints
C++
32
star
14

ERASOR2

Accepted in RSS'23 (coming soon!)
6
star
15

url_bib_utils

Frequently used abbreviations of conf/journals when writing references by latex
TeX
4
star
16

HeLiMOS-PointCloud-Toolbox

HeLiMOS Toolbox
C++
1
star