Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
jsk_pcl_ros::MultiPlaneSACSegmentation Class Reference

#include <multi_plane_sac_segmentation.h>

Inheritance diagram for jsk_pcl_ros::MultiPlaneSACSegmentation:
Inheritance graph
[legend]

Public Types

typedef jsk_pcl_ros::MultiPlaneSACSegmentationConfig Config
 
typedef message_filters::Synchronizer< SyncNormalImuPolicyNormalImuSynchronizer
 
typedef pcl::PointXYZRGB PointT
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices > SyncClusterPolicy
 
typedef message_filters::sync_policies::ApproximateTime< sensor_msgs::PointCloud2, sensor_msgs::Imu > SyncImuPolicy
 
typedef message_filters::sync_policies::ApproximateTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2, sensor_msgs::Imu > SyncNormalImuPolicy
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > SyncPolicy
 

Public Member Functions

virtual ~MultiPlaneSACSegmentation ()
 

Protected Member Functions

virtual void applyRecursiveRANSAC (const pcl::PointCloud< PointT >::Ptr &input, const pcl::PointCloud< pcl::Normal >::Ptr &normal, const Eigen::Vector3f &imu_vector, std::vector< pcl::PointIndices::Ptr > &output_inliers, std::vector< pcl::ModelCoefficients::Ptr > &output_coefficients, std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &output_polygons)
 
virtual void configCallback (Config &config, uint32_t level)
 
virtual void onInit ()
 
virtual void publishResult (const std_msgs::Header &header, const std::vector< pcl::PointIndices::Ptr > &inliers, const std::vector< pcl::ModelCoefficients::Ptr > &coefficients, const std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &convexes)
 
virtual void segment (const sensor_msgs::PointCloud2::ConstPtr &msg)
 
virtual void segment (const sensor_msgs::PointCloud2::ConstPtr &msg, const sensor_msgs::PointCloud2::ConstPtr &msg_nromal)
 
virtual void segmentWithClusters (const sensor_msgs::PointCloud2::ConstPtr &msg, const jsk_recognition_msgs::ClusterPointIndices::ConstPtr &clusters)
 
virtual void segmentWithImu (const sensor_msgs::PointCloud2::ConstPtr &msg, const sensor_msgs::Imu::ConstPtr &imu)
 
virtual void segmentWithImu (const sensor_msgs::PointCloud2::ConstPtr &msg, const sensor_msgs::PointCloud2::ConstPtr &msg_nromal, const sensor_msgs::Imu::ConstPtr &imu)
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 

Protected Attributes

double eps_angle_
 
int max_iterations_
 
int min_inliers_
 
int min_points_
 
int min_trial_
 
boost::mutex mutex_
 
double normal_distance_weight_
 
double outlier_threshold_
 
ros::Publisher pub_coefficients_
 
ros::Publisher pub_inliers_
 
ros::Publisher pub_polygons_
 
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
 
ros::Subscriber sub_
 
message_filters::Subscriber< jsk_recognition_msgs::ClusterPointIndices > sub_clusters_
 
message_filters::Subscriber< sensor_msgs::Imu > sub_imu_
 
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_input_
 
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_normal_
 
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
 
boost::shared_ptr< message_filters::Synchronizer< SyncClusterPolicy > > sync_cluster_
 
boost::shared_ptr< message_filters::Synchronizer< SyncImuPolicy > > sync_imu_
 
boost::shared_ptr< message_filters::Synchronizer< SyncNormalImuPolicy > > sync_normal_imu_
 
tf::TransformListenertf_listener_
 
bool use_clusters_
 
bool use_imu_parallel_
 
bool use_imu_perpendicular_
 
bool use_normal_
 

Detailed Description

Definition at line 98 of file multi_plane_sac_segmentation.h.

Member Typedef Documentation

◆ Config

typedef jsk_pcl_ros::MultiPlaneSACSegmentationConfig jsk_pcl_ros::MultiPlaneSACSegmentation::Config

Definition at line 134 of file multi_plane_sac_segmentation.h.

◆ NormalImuSynchronizer

Definition at line 151 of file multi_plane_sac_segmentation.h.

◆ PointT

Definition at line 133 of file multi_plane_sac_segmentation.h.

◆ SyncClusterPolicy

typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices > jsk_pcl_ros::MultiPlaneSACSegmentation::SyncClusterPolicy

Definition at line 140 of file multi_plane_sac_segmentation.h.

◆ SyncImuPolicy

Definition at line 144 of file multi_plane_sac_segmentation.h.

◆ SyncNormalImuPolicy

typedef message_filters::sync_policies::ApproximateTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2, sensor_msgs::Imu > jsk_pcl_ros::MultiPlaneSACSegmentation::SyncNormalImuPolicy

Definition at line 149 of file multi_plane_sac_segmentation.h.

◆ SyncPolicy

typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > jsk_pcl_ros::MultiPlaneSACSegmentation::SyncPolicy

Definition at line 137 of file multi_plane_sac_segmentation.h.

Constructor & Destructor Documentation

◆ ~MultiPlaneSACSegmentation()

jsk_pcl_ros::MultiPlaneSACSegmentation::~MultiPlaneSACSegmentation ( )
virtual

Definition at line 107 of file multi_plane_sac_segmentation_nodelet.cpp.

Member Function Documentation

◆ applyRecursiveRANSAC()

void jsk_pcl_ros::MultiPlaneSACSegmentation::applyRecursiveRANSAC ( const pcl::PointCloud< PointT >::Ptr &  input,
const pcl::PointCloud< pcl::Normal >::Ptr &  normal,
const Eigen::Vector3f imu_vector,
std::vector< pcl::PointIndices::Ptr > &  output_inliers,
std::vector< pcl::ModelCoefficients::Ptr > &  output_coefficients,
std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &  output_polygons 
)
protectedvirtual

Definition at line 200 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ configCallback()

void jsk_pcl_ros::MultiPlaneSACSegmentation::configCallback ( Config config,
uint32_t  level 
)
protectedvirtual

Definition at line 188 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ onInit()

void jsk_pcl_ros::MultiPlaneSACSegmentation::onInit ( )
protectedvirtual

Definition at line 78 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ publishResult()

void jsk_pcl_ros::MultiPlaneSACSegmentation::publishResult ( const std_msgs::Header header,
const std::vector< pcl::PointIndices::Ptr > &  inliers,
const std::vector< pcl::ModelCoefficients::Ptr > &  coefficients,
const std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &  convexes 
)
protectedvirtual

Definition at line 342 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ segment() [1/2]

void jsk_pcl_ros::MultiPlaneSACSegmentation::segment ( const sensor_msgs::PointCloud2::ConstPtr &  msg)
protectedvirtual

Definition at line 444 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ segment() [2/2]

void jsk_pcl_ros::MultiPlaneSACSegmentation::segment ( const sensor_msgs::PointCloud2::ConstPtr &  msg,
const sensor_msgs::PointCloud2::ConstPtr &  msg_nromal 
)
protectedvirtual

Definition at line 424 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ segmentWithClusters()

void jsk_pcl_ros::MultiPlaneSACSegmentation::segmentWithClusters ( const sensor_msgs::PointCloud2::ConstPtr &  msg,
const jsk_recognition_msgs::ClusterPointIndices::ConstPtr &  clusters 
)
protectedvirtual

Definition at line 308 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ segmentWithImu() [1/2]

void jsk_pcl_ros::MultiPlaneSACSegmentation::segmentWithImu ( const sensor_msgs::PointCloud2::ConstPtr &  msg,
const sensor_msgs::Imu::ConstPtr &  imu 
)
protectedvirtual

Definition at line 369 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ segmentWithImu() [2/2]

void jsk_pcl_ros::MultiPlaneSACSegmentation::segmentWithImu ( const sensor_msgs::PointCloud2::ConstPtr &  msg,
const sensor_msgs::PointCloud2::ConstPtr &  msg_nromal,
const sensor_msgs::Imu::ConstPtr &  imu 
)
protectedvirtual

Definition at line 376 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ subscribe()

void jsk_pcl_ros::MultiPlaneSACSegmentation::subscribe ( )
protectedvirtual

Definition at line 121 of file multi_plane_sac_segmentation_nodelet.cpp.

◆ unsubscribe()

void jsk_pcl_ros::MultiPlaneSACSegmentation::unsubscribe ( )
protectedvirtual

Definition at line 170 of file multi_plane_sac_segmentation_nodelet.cpp.

Member Data Documentation

◆ eps_angle_

double jsk_pcl_ros::MultiPlaneSACSegmentation::eps_angle_
protected

Definition at line 215 of file multi_plane_sac_segmentation.h.

◆ max_iterations_

int jsk_pcl_ros::MultiPlaneSACSegmentation::max_iterations_
protected

Definition at line 210 of file multi_plane_sac_segmentation.h.

◆ min_inliers_

int jsk_pcl_ros::MultiPlaneSACSegmentation::min_inliers_
protected

Definition at line 208 of file multi_plane_sac_segmentation.h.

◆ min_points_

int jsk_pcl_ros::MultiPlaneSACSegmentation::min_points_
protected

Definition at line 209 of file multi_plane_sac_segmentation.h.

◆ min_trial_

int jsk_pcl_ros::MultiPlaneSACSegmentation::min_trial_
protected

Definition at line 217 of file multi_plane_sac_segmentation.h.

◆ mutex_

boost::mutex jsk_pcl_ros::MultiPlaneSACSegmentation::mutex_
protected

Definition at line 201 of file multi_plane_sac_segmentation.h.

◆ normal_distance_weight_

double jsk_pcl_ros::MultiPlaneSACSegmentation::normal_distance_weight_
protected

Definition at line 216 of file multi_plane_sac_segmentation.h.

◆ outlier_threshold_

double jsk_pcl_ros::MultiPlaneSACSegmentation::outlier_threshold_
protected

Definition at line 207 of file multi_plane_sac_segmentation.h.

◆ pub_coefficients_

ros::Publisher jsk_pcl_ros::MultiPlaneSACSegmentation::pub_coefficients_
protected

Definition at line 191 of file multi_plane_sac_segmentation.h.

◆ pub_inliers_

ros::Publisher jsk_pcl_ros::MultiPlaneSACSegmentation::pub_inliers_
protected

Definition at line 191 of file multi_plane_sac_segmentation.h.

◆ pub_polygons_

ros::Publisher jsk_pcl_ros::MultiPlaneSACSegmentation::pub_polygons_
protected

Definition at line 191 of file multi_plane_sac_segmentation.h.

◆ srv_

boost::shared_ptr<dynamic_reconfigure::Server<Config> > jsk_pcl_ros::MultiPlaneSACSegmentation::srv_
protected

Definition at line 192 of file multi_plane_sac_segmentation.h.

◆ sub_

ros::Subscriber jsk_pcl_ros::MultiPlaneSACSegmentation::sub_
protected

Definition at line 190 of file multi_plane_sac_segmentation.h.

◆ sub_clusters_

message_filters::Subscriber<jsk_recognition_msgs::ClusterPointIndices> jsk_pcl_ros::MultiPlaneSACSegmentation::sub_clusters_
protected

Definition at line 199 of file multi_plane_sac_segmentation.h.

◆ sub_imu_

message_filters::Subscriber<sensor_msgs::Imu> jsk_pcl_ros::MultiPlaneSACSegmentation::sub_imu_
protected

Definition at line 200 of file multi_plane_sac_segmentation.h.

◆ sub_input_

message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::MultiPlaneSACSegmentation::sub_input_
protected

Definition at line 197 of file multi_plane_sac_segmentation.h.

◆ sub_normal_

message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::MultiPlaneSACSegmentation::sub_normal_
protected

Definition at line 198 of file multi_plane_sac_segmentation.h.

◆ sync_

boost::shared_ptr<message_filters::Synchronizer<SyncPolicy> > jsk_pcl_ros::MultiPlaneSACSegmentation::sync_
protected

Definition at line 193 of file multi_plane_sac_segmentation.h.

◆ sync_cluster_

boost::shared_ptr<message_filters::Synchronizer<SyncClusterPolicy> > jsk_pcl_ros::MultiPlaneSACSegmentation::sync_cluster_
protected

Definition at line 194 of file multi_plane_sac_segmentation.h.

◆ sync_imu_

boost::shared_ptr<message_filters::Synchronizer<SyncImuPolicy> > jsk_pcl_ros::MultiPlaneSACSegmentation::sync_imu_
protected

Definition at line 195 of file multi_plane_sac_segmentation.h.

◆ sync_normal_imu_

boost::shared_ptr<message_filters::Synchronizer<SyncNormalImuPolicy> > jsk_pcl_ros::MultiPlaneSACSegmentation::sync_normal_imu_
protected

Definition at line 196 of file multi_plane_sac_segmentation.h.

◆ tf_listener_

tf::TransformListener* jsk_pcl_ros::MultiPlaneSACSegmentation::tf_listener_
protected

Definition at line 202 of file multi_plane_sac_segmentation.h.

◆ use_clusters_

bool jsk_pcl_ros::MultiPlaneSACSegmentation::use_clusters_
protected

Definition at line 212 of file multi_plane_sac_segmentation.h.

◆ use_imu_parallel_

bool jsk_pcl_ros::MultiPlaneSACSegmentation::use_imu_parallel_
protected

Definition at line 213 of file multi_plane_sac_segmentation.h.

◆ use_imu_perpendicular_

bool jsk_pcl_ros::MultiPlaneSACSegmentation::use_imu_perpendicular_
protected

Definition at line 214 of file multi_plane_sac_segmentation.h.

◆ use_normal_

bool jsk_pcl_ros::MultiPlaneSACSegmentation::use_normal_
protected

Definition at line 211 of file multi_plane_sac_segmentation.h.


The documentation for this class was generated from the following files:


jsk_pcl_ros
Author(s): Yohei Kakiuchi
autogenerated on Tue Jan 7 2025 04:05:46