Skip to content

Commit f6b38db

Browse files
committed
docs(readme): add 'Choosing an algorithm' subsection for patchwork vs patchwork++
1 parent 5d2042d commit f6b38db

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,28 @@ source ./install/setup.bash
107107

108108
How to launch ROS2 nodes is explained [here][rosexamplelink].
109109

110+
## :compass: Choosing an algorithm
111+
112+
This repository ships two ground segmentation algorithms with the same input/output API. Pick the one that fits your data:
113+
114+
- **Patchwork++** (default): adaptive elevation/flatness thresholds, RNR (intensity-based reflected noise removal), RVPF (vertical structure suppression), and TGR (probability-based ground revert). Best when the LiDAR has reflection artefacts or you want self-tuning thresholds.
115+
- **Patchwork** (classic, since 1.1.0): fixed elevation/flatness thresholds with explicit `z < -sensor_height - 2.0m` cutoff and few-points reject, plus optional ATAT for unknown sensor heights. Often more aggressive on ground-plane noise in heavily cluttered scenes.
116+
117+
**Python:**
118+
119+
```python
120+
import pypatchworkpp as p
121+
122+
pp_default = p.patchworkpp(p.Parameters()) # Patchwork++
123+
pp_classic = p.patchwork(p.PatchworkParams()) # Patchwork (classic)
124+
```
125+
126+
**ROS2:**
127+
128+
```bash
129+
ros2 launch patchworkpp patchworkpp.launch.py algorithm:=patchwork
130+
```
131+
110132
## :pencil: Citation
111133

112134
If you use our codes, please cite our paper ([arXiv][arxivlink], [IEEE *Xplore*][patchworkppieeelink])

0 commit comments

Comments
 (0)