ClusterPointIndicesDecomposer¶

What is this¶
Decompose jsk_recognition_msgs/ClusterPointIndices into array of topics of sensor_msgs/PointCloud like ~output00, ~output01 and so on.
It also publishes tf of centroids of each cluster and oriented bounding box of them. The direction of the bounding box are aligned on to the nearest planes if available.
Subscribing topics¶
~input(sensor_msgs/PointCloud2):Input pointcloud.
~target(jsk_recognition_msgs/ClusterPointIndices):Input set of indices to represent clusters.
~align_planes(jsk_recognition_msgs/PolygonArray):~align_planes_coefficients(jsk_recognition_msgs/ModelCoefficientsArray):The planes for bounding box to be aligned on.
Publishing topics¶
Default Topics
~debug_output(sensor_msgs/PointCloud2):Concatenate all the clusters into one pointcloud and colorize each cluster to see the result of segmentation.
~boxes(jsk_recognition_msgs/BoundingBoxArray):Array of oriented bounding box for each segmented cluster.
If
~align_boxes,~align_boxes_with_planeand~fill_boxes_label_with_nearest_plane_indexareTrue, each box(jsk_recognition_msgs/BoundingBox)’s label indicates nearest plane index.~label(sensor_msgs/Image):Label image for each cluster point indices. You can visualize it with jsk_perception/ColorizeLabels
~mask(sensor_msgs/Image):Mask image generated from cluster point indices.
~centroid_pose_array(geometry_msgs/PoseArray)Each cloud’s centroid poses.
~negative_indices(pcl_msgs/PointIndices)Point indices which are not included in input indices.
~cluster_indices(jsk_recognition_msgs/ClusterPointIndices)Sorted cluster point indices.
Optional Topics
~output%02d(sensor_msgs/PointCloud2):Series of topics for each pointcloud cluster. This is published only when
publish_cloudsistrue./tf(tf2_msgs/TFMessage)Transformation of each decomposed points’ center of gravity.
Parameters¶
~approximate_sync(Boolean, default:False):Policy of synchronization, if
Falseit synchornizes exactly, else approximately.~queue_size(Int, default:100):Queue size of topic msgs for synchronization.
~publish_tf(Boolean, default:False):Toggle tf publishing.
~publish_clouds(Boolean, default:False):Toggle
~output%02dtopics.~align_boxes(Boolean, default:False):~align_boxes_with_plane(Boolean, default:True):- Is enabled only if
~align_boxesisTrue.
- Is enabled only if
- If
~align_boxesisTrueand~align_boxes_with_planeisTrue:- Topics
~align_planesand~align_planes_coefficientsare enabled.
- Topics
- If
~align_boxesisTrueand~align_boxes_with_planeisFalse:- Parameter
~target_frame_idis required, and bounding boxes are aligned with the target frame.
- Parameter
See
sample/sample_cluster_point_indices_decomposer.launchalso.~use_pca(Boolean, default:False):Run PCA algorithm on each cluster to estimate x and y direction.
~force_to_flip_z_axis(Boolean, default:True)Flip z axis direction if this value is true.
~max_size,~min_size(Int, default:-1,-1)If positive value, ignores cluster which points size is external from (
clusterPointsSize<~min_sizeorclusterPointsSize>~max_size).~sort_by(String, defaultinput_indices)Sort output indices. Currently below options are supported:]
input_indices: same order as the input cluster indicesz_axis: sort by z axis of cloudcloud_size: sort by size of cloud
~fill_boxes_label_with_nearest_plane_index(Boolean, default:False):If
~align_boxes,~align_boxes_with_planeand this value areTrue, each box(jsk_recognition_msgs/BoundingBox)’s label indicates nearest plane index.
Sample¶
roslaunch jsk_pcl_ros sample_cluster_point_indices_decomposer.launch
roslaunch jsk_pcl_ros sample_cluster_point_indices_decomposer_sort_by.launch