37 #ifndef JSK_PCL_ROS_UTILS_PLANE_CONCATENATOR_H_ 38 #define JSK_PCL_ROS_UTILS_PLANE_CONCATENATOR_H_ 40 #include <jsk_recognition_msgs/PolygonArray.h> 41 #include <jsk_recognition_msgs/ModelCoefficientsArray.h> 42 #include <jsk_recognition_msgs/ClusterPointIndices.h> 44 #include <jsk_pcl_ros_utils/PlaneConcatenatorConfig.h> 45 #include <dynamic_reconfigure/server.h> 59 typedef PlaneConcatenatorConfig
Config;
62 sensor_msgs::PointCloud2,
63 jsk_recognition_msgs::ClusterPointIndices,
64 jsk_recognition_msgs::PolygonArray,
65 jsk_recognition_msgs::ModelCoefficientsArray
77 const sensor_msgs::PointCloud2::ConstPtr& cloud_msg,
78 const jsk_recognition_msgs::ClusterPointIndices::ConstPtr& indices_msg,
79 const jsk_recognition_msgs::PolygonArray::ConstPtr& polygon_array_msg,
80 const jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr& coefficients_array_msg);
83 pcl::KdTreeFLANN<PointT>& kdtree,
84 pcl::PointCloud<PointT>::Ptr
cloud,
86 virtual pcl::ModelCoefficients::Ptr
refinement(
87 pcl::PointCloud<PointT>::Ptr cloud,
88 pcl::PointIndices::Ptr indices,
89 pcl::ModelCoefficients::Ptr original_coefficients);
double ransac_refinement_eps_distance_
double ransac_refinement_eps_angle_
PlaneConcatenatorConfig Config
virtual void unsubscribe()
boost::shared_ptr< PlaneConcatenator > Ptr
message_filters::Subscriber< jsk_recognition_msgs::PolygonArray > sub_polygon_
ros::Publisher pub_indices_
double ransac_refinement_outlier_threshold_
double connect_angular_threshold_
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
message_filters::Subscriber< jsk_recognition_msgs::ClusterPointIndices > sub_indices_
double connect_distance_threshold_
message_filters::Subscriber< jsk_recognition_msgs::ModelCoefficientsArray > sub_coefficients_
virtual bool isNearPointCloud(pcl::KdTreeFLANN< PointT > &kdtree, pcl::PointCloud< PointT >::Ptr cloud, jsk_recognition_utils::Plane::Ptr target_plane)
double connect_perpendicular_distance_threshold_
int ransac_refinement_max_iteration_
virtual void configCallback(Config &config, uint32_t level)
ros::Publisher pub_coefficients_
message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices, jsk_recognition_msgs::PolygonArray, jsk_recognition_msgs::ModelCoefficientsArray > SyncPolicy
virtual pcl::ModelCoefficients::Ptr refinement(pcl::PointCloud< PointT >::Ptr cloud, pcl::PointIndices::Ptr indices, pcl::ModelCoefficients::Ptr original_coefficients)
virtual void concatenate(const sensor_msgs::PointCloud2::ConstPtr &cloud_msg, const jsk_recognition_msgs::ClusterPointIndices::ConstPtr &indices_msg, const jsk_recognition_msgs::PolygonArray::ConstPtr &polygon_array_msg, const jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr &coefficients_array_msg)
ros::Publisher pub_polygon_
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_cloud_