# New Release: Ground Segmentation Library + ROS 2 Integration!

**URL:** <https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601>\
**Category:** Projects\
**Tags:** release, ros2, autonomous-driving, perception, jazzy\
**Created:** [February 20, 2026, 3:05pm UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601 "2026-02-20T15:05:57Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![haider8645](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/haider8645/32/25878_2.png) [@haider8645](https://discourse.openrobotics.org/u/haider8645)\
**Post date:** [February 20, 2026, 3:05pm UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601/1 "2026-02-20T15:05:57Z")

</div>

# **GSeg3D: High-Precision Grid-Based Ground Segmentation for Safety-Critical Autonomous Driving and Robotics Applications**

Paper DOI: [https://doi.org/10.1109/ICRCV67407.2025.11349133](https://doi.org/10.1109/ICRCV67407.2025.11349133)

We’re excited to announce the release of our **Ground Segmentation** C++ library and its native **ROS 2** support, designed to make reliable ground extraction easier and more efficient for robotics and autonomous systems!

🔗 **Explore the projects on GitHub:**

- 📦 **Core Library:** **[https://github.com/dfki-ric/ground\_segmentation](https://github.com/dfki-ric/ground_segmentation)**

- 🤖 **ROS 2 Integration:** **[https://github.com/dfki-ric/ground\_segmentation\_ros2](https://github.com/dfki-ric/ground_segmentation_ros2)**

* * *

### **💡 What’s Inside?**

**Ground Segmentation**

- A lightweight and flexible C++ library for extracting ground surfaces from 3D point clouds.

- Ideal for mobile robots, perception pipelines, and real-world navigation tasks.

**Ground Segmentation ROS2**

- Seamless integration with ROS 2 (Humble and beyond).

- Ready-to-use ROS 2 nodes and interfaces.

- Publishes segmented ground and non-ground point clouds for downstream perception stacks.

* * *

### **🚀 Why It Matters**

Ground extraction is a fundamental step in many robotic pipelines, from SLAM to motion planning. Our implementation emphasizes **accuracy, performance, and ease of use** , so you can focus on building higher-level autonomy.

Whether you’re working on autonomous driving, field robots, or research, we hope this tool accelerates your development.

* * *

### **🛠 Get Started**

📥 Clone, build, and integrate with your system

💬 Feedback and contributions are highly welcome!

#ros2 #robotics #PointCloud #perception #OpenSource #C++

---

<div class="post-metadata">

**Author:** ![peci1](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peci1/32/10145_2.png) [@peci1](https://discourse.openrobotics.org/u/peci1)\
**Post date:** [February 20, 2026, 6:42pm UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601/2 "2026-02-20T18:42:15Z")

</div>

Is it only for indoor or also outdoor scenarios?

---

<div class="post-metadata">

**Author:** ![haider8645](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/haider8645/32/25878_2.png) [@haider8645](https://discourse.openrobotics.org/u/haider8645)\
**Post date:** [February 20, 2026, 8:12pm UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601/3 "2026-02-20T20:12:05Z")

</div>

Both indoor and outdoor. Give it a try and see for yourself 🙂

---

<div class="post-metadata">

**Author:** ![haider8645](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/haider8645/32/25878_2.png) [@haider8645](https://discourse.openrobotics.org/u/haider8645)\
**Post date:** [February 27, 2026, 3:27pm UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601/4 "2026-02-27T15:27:16Z")

</div>

@peci1 FYI

[![](https://us1.discourse-cdn.com/flex022/uploads/ros/original/3X/5/e/5e4875471578837c4c8207a7a362b57753949284.jpeg "GSeg3D: High-Precision Grid-Based Ground Segmentation for Safety-Critical Robotics Applications") ](https://www.youtube.com/watch?v=GXLTOoJbOhQ)

---

<div class="post-metadata">

**Author:** ![peci1](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peci1/32/10145_2.png) [@peci1](https://discourse.openrobotics.org/u/peci1)\
**Post date:** [February 28, 2026, 6:01pm UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601/5 "2026-02-28T18:01:51Z")

</div>

Thanks! A colleague of mine has tested your segmentation package on our outdoor dataset from a Livox Mid360 lidar and in general, we were quite impressed.

Our idea was to use this segmentation to find “surely traversable” terrain and then to use our MonoForce approach on the unsure/geometrically untraversable parts.

However, we’ve noticed that GSeg3D sometimes marks even 1 meter tall bushes as traversable (but the segmentation is usually flickering in these areas). After reading the paper, I don’t really understand how could that happen because the height variation in bushes is usually quite noticeable. It is winter now so the bushes are leafless, so maybe it could just be that there are too few points measured on them?

---

<div class="post-metadata">

**Author:** ![haider8645](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/haider8645/32/25878_2.png) [@haider8645](https://discourse.openrobotics.org/u/haider8645)\
**Post date:** [March 1, 2026, 6:09am UTC](https://discourse.openrobotics.org/t/new-release-ground-segmentation-library-ros-2-integration/52601/6 "2026-03-01T06:09:56Z")

</div>

Thanks a lot for the detailed feedback, that’s very helpful.

Could you please share a short sample of the dataset (e.g., a rosbag snippet or a few PCD/PLY frames) where the bushes are classified as traversable? I’d be happy to test it on my side.

It might be parameter-related (e.g., cellSizeX/Y/Z, maxGroundHeightDeviation, etc.), especially with sparse winter vegetation and Livox sampling patterns. With a small sample, I can try a few configurations and better understand what’s happening.

Also, could you please confirm whether you’re using the ROS 2 node with the dual-segmentation setup (Phase I + Phase II)? That can influence how vegetation and sparse structures are handled.

Looking forward to taking a closer look.
