Skip to content

robotics-88/pcl-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pcl-analysis

ROS node for doing point cloud analysis and segmentation. See PCL library documentation for further information on the PCL methods used in this package.

Description

Subscribes to a point cloud topic, does processing on that point cloud, and publishes processed point cloud(s). Currently used for segmenting out ground/non-ground clouds from input pointcloud using PMF filtering.

Subscriptions

[point_cloud_topic]<sensor_msgs::PointCloud2>: Input point cloud ROS message

Publications

/cloud_ground<sensor_msgs::PointCloud2>: Point cloud of extracted ground points from the PMF filter. /cloud_nonground<sensor_msgs::PointCloud2>: Inverse of cloud_ground - only includes non-ground points (trees, objects, etc).

Parameters

pub_rate: Loop rate for processing and publication, in hz. Higher rate increases CPU usage proportionally up to maximum rate (which is same rate that point_cloud_topic gets published).

point_cloud_topic: Rostopic name for input pointcloud.

voxel_grid_leaf_size: Leaf size for voxel grid filter. In other words, distance between points in downsampling. Increase for faster processing, decrease for more precise output pointclouds.

pmf_max_window_size: Maximum window size on the PMF filter. Increase for more accurate/robust filtering, decrease for faster processing.

pmf_slope: Slope of PMF used for computing height threshold for filtered height.

color-projection

ROS node for projecting colors from an image to its corresponding point cloud.

Description

Subscribes to both the pointcloud2 and the image topics and takes in the intrinsic and extrinsic parameters from the param.yml files. Using these matrices, the transformation matrix is calculated between the image and the pointcloud. The FOV of the pointcloud is set based on the FOV of the image. Using the computed transformation matrix, the colors are projected from the image to its corresponding point in the pointcloud.

To run this color projection node, first start decco in offline mode with a bag. Then:

roslaunch pcl_analysis sync_fusion_modified.launch

Reference repo for the color projection node is: https://github.com/GCaptainNemo/Fusion-Lidar-Camera-ROS/tree/main

Troubleshooting

If using a bag with Livox CustomMsg pointcloud, use this repo to convert to Pointcloud2. Run the node:

rosrun liv2pcl liv2pcl_node

Only relevant if running on raw livox data. Defaults to run on registered Lidar. Note that the current extrinsics need improvement.

About

ROS node for doing point cloud analysis and segmentation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published