仅支持 ROS 1(Noetic 及更早),ROS 2 用户应改用主仓库 patchwork-plusplus;demo 需额外 wget 下载 kitti_00_sample.bag 样例数据;需预先装好 ROS、PCL、Eigen 等依赖
patchwork-plusplus-ros
url-kaistGPL-3.0更新放缓Patchwork++ 的 ROS/ROS2 封装,用于激光雷达点云的快速地面分割与地面点剔除,方便直接接入机器人感知流程。
ROS & ROS2 Implementation of Patchwork++
mkdir -p ~/catkin_ws/src && cd ~/catkin_ws && catkin buildREADME 未说明显存或 GPU 要求,仅提及需安装 ROS、PCL、Eigen 等依赖
Patchwork++ 地面分割算法的 ROS 1 封装,用于从 3D 点云中快速稳健地分离地面点
Patchwork++ 的 ROS/ROS2 封装,用于激光雷达点云的快速地面分割与地面点剔除,方便直接接入机器人感知流程。
核心能力
- 封装 Patchwork++ 地面分割算法为 ROS 1 节点
- 提供 patchworkpp.hpp 源码供 C++ 调用
- 附带 demo.launch 与示例 rosbag 可直接跑通
- 基于 KITTI 数据制作样例点云包
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
patchwork-plusplus-ros
This is the ROS 1 package of Patchwork++ (@ IROS'22), a fast and robust ground segmentation method.
[!IMPORTANT] Using ROS 2? The main
url-kaist/patchwork-plusplusrepository now natively supports ROS 2 (Humble and Jazzy are exercised in CI). If you are on ROS 2, please use that repository directly — there is a dedicatedros2_nodetarget that you can launch out of the box, and the C++ / Python APIs in the same repo work alongside it. Thispatchwork-plusplus-rosrepository remains for ROS 1 (Noetic and earlier) users only.
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.
:open_file_folder: 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!
:package: Prerequisite packages
You may need to install ROS, PCL, Eigen, ...
:gear: 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
:runner: 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
:pushpin: 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}
}
:postbox: Contact
If you have any question, don't be hesitate let us know!
- Seungjae Lee :envelope: (sj98lee at kaist.ac.kr)
- Hyungtae Lim :envelope: (shapelim at kaist.ac.kr)