Patchwork++
Fast and robust ground segmentation for 3D LiDAR point clouds from KAIST
License
BSD-2-Clause
Overview
Patchwork++ is a fast, robust, and self-adaptive ground segmentation algorithm for 3D LiDAR point clouds from KAIST's Urban Robotics Lab. It extends the original Patchwork method with improved handling of partial under-segmentation, providing reliable ground plane extraction essential for autonomous navigation and obstacle detection. Available as C++ library, Python package via pybind11, and ROS2 node.
Patchwork++ is a fast ground segmentation algorithm for 3D LiDAR point clouds that uses a self-adaptive concentric zone model. Published at IROS 2022, it provides reliable ground plane extraction as a preprocessing step for SLAM, object detection, and navigation.
Why it matters
Ground segmentation is a fundamental preprocessing step for virtually all LiDAR-based perception pipelines. Patchwork++ provides a fast, reliable solution validated at IROS 2022 that handles challenging real-world scenarios including uneven terrain and partial occlusions.
Problem it solves
LiDAR-based perception systems need to separate ground points from obstacles before performing object detection or mapping. Patchwork++ provides fast, accurate ground segmentation that handles partial under-segmentation scenarios common in real-world environments.
Key takeaways
- Fast real-time ground segmentation for 3D LiDAR scans
- Self-adaptive concentric zone model handles uneven terrain
- C++, Python (pybind11), and ROS2 interfaces
- Minimal dependencies — only requires Eigen3
Who it is for
- Autonomous vehicle perception engineers
- Mobile robotics developers working with LiDAR
- SLAM and mapping researchers needing ground plane preprocessing
Limitations
- Designed for ground segmentation only, not general point cloud segmentation
- Performance may degrade on extremely steep terrain
- Parameters may need tuning for different LiDAR configs and mounting heights