HintedStickFinder¶

Detect a cylinder from pointcloud and line in 2-D image as hint.
Subscribing Topic¶
~input(sensor_msgs/PointCloud2)Input pointcloud
~input/camera_info(sensor_msgs/CameraInfo)Camera parameter where hint line is defined
~input/hint/line(geometry_msgs/PolygonStamped)Hint line described in 2-D image.
Only the first and second points in the polygon will be used.
Publishing Topic¶
~debug/line_filtered_indices(pcl_msgs/PointIndices)Indices of input pointcloud which is filtered by hint line.
~debug/line_filtered_normal(sensor_msgs/PointCloud2)Normal pointcloud of filtered pointcloud.
This topic is advertised but not published for now.
~debug/cylinder_marker(visualization_msgs/Marker)Marker topic to visualize detected stick
~output/cylinder_pose(geometry_msgs/PoseStamped)Pose of detected stick.
~output/inliers(pcl_msgs/PointIndices)Inliers of detected stick.
~output/coefficients(pcl_msgs/ModelCoefficients)Coefficients of detected stick. The coefficients are
[cx, cy, cz, dx, dy, dz, r, h].
Parameters¶
~min_radius(Double, default:0.05)~max_radius(Double, default:0.2)Minium and maximum radius of cylinder fitting in meters.
~filter_distance(Double, default:0.2)Maximum distance in meters from hint line to points which can be cylinder candidate.
~outlier_threshold(Double, default:0.01)Outlier threshold in cylinder fitting in meters.
~max_iteration(Integer, default:100)Maximum number of iterations in cylinder fitting
~eps_angle(Double, default:0.1)This parameter is not used for now.
~min_probability(Integer, default:0.8)Required minimum probability of cylinder fitting
~cylinder_fitting_trial(Integer, default:3)The number of cylinder fitting trials when no cylinder is found
~min_inliers(Integer, default:10)Minimum number of inliers in cylinder fitting.
~eps_2d_angle(Double, default:0.1)Maximum allowable angle difference in radians between hint line and detected stick. This evaluation is done in 2-D coordinate system.
Parameters above can be changed by dynamic_reconfigure.
~not_synchronize(Boolean, default:False)Do not synchronize
~input,~input/camera_infoand~input/hint/lineif this parameter isTrue.~input/camera_infoand~input/hint/lineare stored in nodelet and latest of the messages are used for new~inputpointcloud.~use_normal(Boolean, default:False)Do not run normal estimation inside of the nodelet and normal fields of
~inputare used instead.
Sample¶
roslaunch jsk_pcl_ros sample_hinted_stick_finder.launch