-
Notifications
You must be signed in to change notification settings - Fork 1
Ground Removal
Ground Removal is an essential part of the perception pipeline which takes a LiDAR-based point cloud, down samples the point cloud, and performs outlier removal for points which are the considered ground. The effect is performance gain and detection accuracy for SLAM. This pipeline is integrated within lidar_cone_detector because of the way the two algorithms are tightly coupled.
File Structure: lidar_cone_detector
(Note that this is shared with the greater LiDAR perception pipeline.
src/ground_plane_removal.cppinclude/lidar_cone_detector/ground_plane_removal.hpplaunch/lidar_bringup.xml
Tech Stack:
-
pcl: This is the main PCL (Point Cloud Library) used for performing RANSAC. -
pcl_ros: A wrapper for interfacing ROS messages and PCL. pcl_conversionpcl_msgssensor_msgsvision_msgstf2
The RANSAC algorithm runs using the following step process:
-
Subscription to the point cloud on the topic
/lidar/pcl/raw -
pcl::VoxelGridVoxel down sampling. This makes the point cloud data sparse for further processing. -
pcl::StatisticalOutlierRemovalRemoves statistical outliers. -
pcl::SACSegmentationSegments the outliers and the cone data points. This segmentation only occurs on a 2D Plane (prototype). -
pcl::ExtractIndicesExtracts the ground point cloud and the cone point cloud. -
RViz2Visualizes the point cloud usingROS2andRViz2 -
This data is then published into two point clouds on topics
/lidar/pcl/cones&/lidar/pcl/ground