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

#include <edgebased_cube_finder.h>

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

Public Types

typedef jsk_pcl_ros::EdgebasedCubeFinderConfig Config
 
enum  EdgeRelation { NOT_PERPENDICULAR, A_PERPENDICULAR, B_PERPENDICULAR, C_PERPENDICULAR }
 
typedef pcl::PointXYZRGB PointT
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ParallelEdgeArray > SyncPolicy
 

Protected Member Functions

virtual std::vector< CoefficientsPaircombinateCoefficients (const std::vector< pcl::ModelCoefficients::Ptr > &coefficients)
 
virtual std::vector< IndicesPaircombinateIndices (const std::vector< pcl::PointIndices::Ptr > &indices)
 
virtual void configCallback (Config &config, uint32_t level)
 
virtual jsk_recognition_utils::ConvexPolygon::Ptr convexFromPairs (const pcl::PointCloud< PointT >::Ptr cloud, const CoefficientsPair &coefficients_pair, const IndicesPair &indices_pair)
 
virtual int countInliers (const pcl::PointCloud< PointT >::Ptr cloud, const jsk_recognition_utils::ConvexPolygon::Ptr convex)
 
virtual jsk_recognition_utils::Cube::Ptr cubeFromIndicesAndCoefficients (const pcl::PointCloud< PointT >::Ptr cloud, const IndicesCoefficientsTriple &indices_coefficients_triple, pcl::PointCloud< EdgebasedCubeFinder::PointT >::Ptr points_on_edge)
 
virtual void estimate (const sensor_msgs::PointCloud2::ConstPtr &input_cloud, const jsk_recognition_msgs::ParallelEdgeArray::ConstPtr &input_edges)
 
virtual void estimate2 (const sensor_msgs::PointCloud2::ConstPtr &input_cloud, const jsk_recognition_msgs::ParallelEdgeArray::ConstPtr &input_edges)
 
virtual jsk_recognition_utils::ConvexPolygon::Ptr estimateConvexPolygon (const pcl::PointCloud< PointT >::Ptr cloud, const pcl::PointIndices::Ptr indices, pcl::ModelCoefficients::Ptr coefficients, pcl::PointIndices::Ptr inliers)
 
virtual void estimateParallelPlane (const jsk_recognition_utils::ConvexPolygon::Ptr convex, const pcl::PointCloud< PointT >::Ptr filtered_cloud, pcl::PointIndices::Ptr output_inliers, pcl::ModelCoefficients::Ptr output_coefficients)
 
virtual void estimatePerpendicularPlane (const jsk_recognition_utils::ConvexPolygon::Ptr convex, const CoefficientsPair &edge_coefficients, const pcl::PointCloud< PointT >::Ptr filtered_cloud, pcl::PointIndices::Ptr output_inliers, pcl::ModelCoefficients::Ptr output_coefficients)
 
virtual pcl::PointCloud< PointT >::Ptr extractPointCloud (const pcl::PointCloud< PointT >::Ptr cloud, const pcl::PointIndices::Ptr indices)
 
virtual void filterBasedOnConvex (const pcl::PointCloud< PointT >::Ptr cloud, const std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &convexes, std::vector< int > &output_indices)
 
virtual void filterPairsBasedOnParallelEdgeDistances (const std::vector< IndicesPair > &pairs, const std::vector< CoefficientsPair > &coefficients_pair, std::vector< IndicesPair > &filtered_indices_pairs, std::vector< CoefficientsPair > &filtered_coefficients_pairs)
 
virtual std::vector< IndicesCoefficientsTriplefilterPerpendicularEdgeTriples (const std::vector< IndicesCoefficientsTriple > &triples)
 
virtual bool isPerpendicularVector (const Eigen::Vector3f &a, const Eigen::Vector3f &b)
 
virtual jsk_recognition_utils::Line::Ptr midLineFromCoefficientsPair (const CoefficientsPair &pair)
 
virtual jsk_recognition_utils::PointPair minMaxPointOnLine (const jsk_recognition_utils::Line &line, const pcl::PointCloud< PointT >::Ptr cloud)
 
virtual void onInit ()
 
virtual EdgeRelation perpendicularEdgeTriple (const jsk_recognition_utils::Line &edge_a, const jsk_recognition_utils::Line &edge_b, const jsk_recognition_utils::Line &edge_c)
 
virtual pcl::PointIndices::Ptr preparePointCloudForRANSAC (const jsk_recognition_utils::ConvexPolygon::Ptr convex, const CoefficientsPair &edge_coefficients_pair, const pcl::PointCloud< PointT >::Ptr cloud)
 
virtual void subscribe ()
 
virtual std::vector< IndicesCoefficientsTripletripleIndicesAndCoefficients (const std::vector< pcl::PointIndices::Ptr > &indices, const std::vector< pcl::ModelCoefficients::Ptr > &coefficients)
 
virtual void unsubscribe ()
 
- Protected Member Functions inherited from jsk_topic_tools::ConnectionBasedNodelet
ros::Publisher advertise (ros::NodeHandle &nh, std::string topic, int queue_size)
 
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, image_transport::ImageTransport &it, const std::string &topic, int queue_size)
 
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, image_transport::ImageTransport &it, const std::string &topic, int queue_size)
 
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 
virtual void cameraConnectionBaseCallback ()
 
virtual void cameraConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 
virtual void cameraInfoConnectionCallback (const ros::SingleSubscriberPublisher &pub)
 
virtual void connectionCallback (const ros::SingleSubscriberPublisher &pub)
 
virtual void imageConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 
virtual bool isSubscribed ()
 
virtual void onInitPostProcess ()
 
virtual void warnNeverSubscribedCallback (const ros::WallTimerEvent &event)
 
virtual void warnOnInitPostProcessCalledCallback (const ros::WallTimerEvent &event)
 
- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::stringgetName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 

Protected Attributes

double convex_area_threshold_
 
double convex_edge_threshold_
 
double min_inliers_
 
boost::mutex mutex_
 
double outlier_threshold_
 
double parallel_edge_distance_max_threshold_
 
double parallel_edge_distance_min_threshold_
 
ros::Publisher pub_
 
ros::Publisher pub_debug_clusers_
 
ros::Publisher pub_debug_filtered_cloud_
 
ros::Publisher pub_debug_marker_
 
ros::Publisher pub_debug_polygons_
 
ros::Publisher pub_pose_array_
 
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
 
message_filters::Subscriber< jsk_recognition_msgs::ParallelEdgeArray > sub_edges_
 
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_input_
 
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
 
- Protected Attributes inherited from jsk_topic_tools::ConnectionBasedNodelet
bool always_subscribe_
 
std::vector< image_transport::CameraPublishercamera_publishers_
 
boost::mutex connection_mutex_
 
ConnectionStatus connection_status_
 
bool ever_subscribed_
 
std::vector< image_transport::Publisherimage_publishers_
 
boost::shared_ptr< ros::NodeHandlenh_
 
bool on_init_post_process_called_
 
boost::shared_ptr< ros::NodeHandlepnh_
 
std::vector< ros::Publisherpublishers_
 
bool subscribed_
 
ros::WallTimer timer_warn_never_subscribed_
 
ros::WallTimer timer_warn_on_init_post_process_called_
 
bool verbose_connection_
 

Additional Inherited Members

- Public Member Functions inherited from jsk_topic_tools::ConnectionBasedNodelet
 ConnectionBasedNodelet ()
 
- Public Member Functions inherited from nodelet::Nodelet
void init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL)
 
 Nodelet ()
 
virtual ~Nodelet ()
 

Detailed Description

Definition at line 157 of file edgebased_cube_finder.h.

Member Typedef Documentation

typedef jsk_pcl_ros::EdgebasedCubeFinderConfig jsk_pcl_ros::EdgebasedCubeFinder::Config

Definition at line 164 of file edgebased_cube_finder.h.

typedef pcl::PointXYZRGB jsk_pcl_ros::EdgebasedCubeFinder::PointT

Definition at line 163 of file edgebased_cube_finder.h.

typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ParallelEdgeArray > jsk_pcl_ros::EdgebasedCubeFinder::SyncPolicy

Definition at line 162 of file edgebased_cube_finder.h.

Member Enumeration Documentation

Enumerator
NOT_PERPENDICULAR 
A_PERPENDICULAR 
B_PERPENDICULAR 
C_PERPENDICULAR 

Definition at line 165 of file edgebased_cube_finder.h.

Member Function Documentation

std::vector< CoefficientsPair > jsk_pcl_ros::EdgebasedCubeFinder::combinateCoefficients ( const std::vector< pcl::ModelCoefficients::Ptr > &  coefficients)
protectedvirtual

Definition at line 1205 of file edgebased_cube_finder_nodelet.cpp.

std::vector< IndicesPair > jsk_pcl_ros::EdgebasedCubeFinder::combinateIndices ( const std::vector< pcl::PointIndices::Ptr > &  indices)
protectedvirtual

Definition at line 1191 of file edgebased_cube_finder_nodelet.cpp.

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

Definition at line 366 of file edgebased_cube_finder_nodelet.cpp.

jsk_recognition_utils::ConvexPolygon::Ptr jsk_pcl_ros::EdgebasedCubeFinder::convexFromPairs ( const pcl::PointCloud< PointT >::Ptr  cloud,
const CoefficientsPair coefficients_pair,
const IndicesPair indices_pair 
)
protectedvirtual

Definition at line 462 of file edgebased_cube_finder_nodelet.cpp.

int jsk_pcl_ros::EdgebasedCubeFinder::countInliers ( const pcl::PointCloud< PointT >::Ptr  cloud,
const jsk_recognition_utils::ConvexPolygon::Ptr  convex 
)
protectedvirtual

Definition at line 328 of file edgebased_cube_finder_nodelet.cpp.

jsk_recognition_utils::Cube::Ptr jsk_pcl_ros::EdgebasedCubeFinder::cubeFromIndicesAndCoefficients ( const pcl::PointCloud< PointT >::Ptr  cloud,
const IndicesCoefficientsTriple indices_coefficients_triple,
pcl::PointCloud< EdgebasedCubeFinder::PointT >::Ptr  points_on_edge 
)
protectedvirtual

Definition at line 591 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::estimate ( const sensor_msgs::PointCloud2::ConstPtr &  input_cloud,
const jsk_recognition_msgs::ParallelEdgeArray::ConstPtr &  input_edges 
)
protectedvirtual

Definition at line 702 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::estimate2 ( const sensor_msgs::PointCloud2::ConstPtr &  input_cloud,
const jsk_recognition_msgs::ParallelEdgeArray::ConstPtr &  input_edges 
)
protectedvirtual

Definition at line 868 of file edgebased_cube_finder_nodelet.cpp.

jsk_recognition_utils::ConvexPolygon::Ptr jsk_pcl_ros::EdgebasedCubeFinder::estimateConvexPolygon ( const pcl::PointCloud< PointT >::Ptr  cloud,
const pcl::PointIndices::Ptr  indices,
pcl::ModelCoefficients::Ptr  coefficients,
pcl::PointIndices::Ptr  inliers 
)
protectedvirtual

Definition at line 1162 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::estimateParallelPlane ( const jsk_recognition_utils::ConvexPolygon::Ptr  convex,
const pcl::PointCloud< PointT >::Ptr  filtered_cloud,
pcl::PointIndices::Ptr  output_inliers,
pcl::ModelCoefficients::Ptr  output_coefficients 
)
protectedvirtual

Definition at line 548 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::estimatePerpendicularPlane ( const jsk_recognition_utils::ConvexPolygon::Ptr  convex,
const CoefficientsPair edge_coefficients,
const pcl::PointCloud< PointT >::Ptr  filtered_cloud,
pcl::PointIndices::Ptr  output_inliers,
pcl::ModelCoefficients::Ptr  output_coefficients 
)
protectedvirtual

Definition at line 567 of file edgebased_cube_finder_nodelet.cpp.

pcl::PointCloud< EdgebasedCubeFinder::PointT >::Ptr jsk_pcl_ros::EdgebasedCubeFinder::extractPointCloud ( const pcl::PointCloud< PointT >::Ptr  cloud,
const pcl::PointIndices::Ptr  indices 
)
protectedvirtual

Definition at line 435 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::filterBasedOnConvex ( const pcl::PointCloud< PointT >::Ptr  cloud,
const std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &  convexes,
std::vector< int > &  output_indices 
)
protectedvirtual

Definition at line 345 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::filterPairsBasedOnParallelEdgeDistances ( const std::vector< IndicesPair > &  pairs,
const std::vector< CoefficientsPair > &  coefficients_pair,
std::vector< IndicesPair > &  filtered_indices_pairs,
std::vector< CoefficientsPair > &  filtered_coefficients_pairs 
)
protectedvirtual

Definition at line 488 of file edgebased_cube_finder_nodelet.cpp.

std::vector< IndicesCoefficientsTriple > jsk_pcl_ros::EdgebasedCubeFinder::filterPerpendicularEdgeTriples ( const std::vector< IndicesCoefficientsTriple > &  triples)
protectedvirtual

Definition at line 813 of file edgebased_cube_finder_nodelet.cpp.

bool jsk_pcl_ros::EdgebasedCubeFinder::isPerpendicularVector ( const Eigen::Vector3f &  a,
const Eigen::Vector3f &  b 
)
protectedvirtual

Definition at line 760 of file edgebased_cube_finder_nodelet.cpp.

jsk_recognition_utils::Line::Ptr jsk_pcl_ros::EdgebasedCubeFinder::midLineFromCoefficientsPair ( const CoefficientsPair pair)
protectedvirtual

Definition at line 425 of file edgebased_cube_finder_nodelet.cpp.

jsk_recognition_utils::PointPair jsk_pcl_ros::EdgebasedCubeFinder::minMaxPointOnLine ( const jsk_recognition_utils::Line line,
const pcl::PointCloud< PointT >::Ptr  cloud 
)
protectedvirtual

Definition at line 447 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::onInit ( void  )
protectedvirtual

Reimplemented from jsk_topic_tools::ConnectionBasedNodelet.

Definition at line 377 of file edgebased_cube_finder_nodelet.cpp.

EdgebasedCubeFinder::EdgeRelation jsk_pcl_ros::EdgebasedCubeFinder::perpendicularEdgeTriple ( const jsk_recognition_utils::Line edge_a,
const jsk_recognition_utils::Line edge_b,
const jsk_recognition_utils::Line edge_c 
)
protectedvirtual

Definition at line 780 of file edgebased_cube_finder_nodelet.cpp.

pcl::PointIndices::Ptr jsk_pcl_ros::EdgebasedCubeFinder::preparePointCloudForRANSAC ( const jsk_recognition_utils::ConvexPolygon::Ptr  convex,
const CoefficientsPair edge_coefficients_pair,
const pcl::PointCloud< PointT >::Ptr  cloud 
)
protectedvirtual

Definition at line 523 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::subscribe ( )
protectedvirtual
std::vector< IndicesCoefficientsTriple > jsk_pcl_ros::EdgebasedCubeFinder::tripleIndicesAndCoefficients ( const std::vector< pcl::PointIndices::Ptr > &  indices,
const std::vector< pcl::ModelCoefficients::Ptr > &  coefficients 
)
protectedvirtual

Definition at line 1127 of file edgebased_cube_finder_nodelet.cpp.

void jsk_pcl_ros::EdgebasedCubeFinder::unsubscribe ( )
protectedvirtual

Member Data Documentation

double jsk_pcl_ros::EdgebasedCubeFinder::convex_area_threshold_
protected

Definition at line 299 of file edgebased_cube_finder.h.

double jsk_pcl_ros::EdgebasedCubeFinder::convex_edge_threshold_
protected

Definition at line 300 of file edgebased_cube_finder.h.

double jsk_pcl_ros::EdgebasedCubeFinder::min_inliers_
protected

Definition at line 298 of file edgebased_cube_finder.h.

boost::mutex jsk_pcl_ros::EdgebasedCubeFinder::mutex_
protected

Definition at line 293 of file edgebased_cube_finder.h.

double jsk_pcl_ros::EdgebasedCubeFinder::outlier_threshold_
protected

Definition at line 297 of file edgebased_cube_finder.h.

double jsk_pcl_ros::EdgebasedCubeFinder::parallel_edge_distance_max_threshold_
protected

Definition at line 301 of file edgebased_cube_finder.h.

double jsk_pcl_ros::EdgebasedCubeFinder::parallel_edge_distance_min_threshold_
protected

Definition at line 301 of file edgebased_cube_finder.h.

ros::Publisher jsk_pcl_ros::EdgebasedCubeFinder::pub_
protected

Definition at line 289 of file edgebased_cube_finder.h.

ros::Publisher jsk_pcl_ros::EdgebasedCubeFinder::pub_debug_clusers_
protected

Definition at line 291 of file edgebased_cube_finder.h.

ros::Publisher jsk_pcl_ros::EdgebasedCubeFinder::pub_debug_filtered_cloud_
protected

Definition at line 291 of file edgebased_cube_finder.h.

ros::Publisher jsk_pcl_ros::EdgebasedCubeFinder::pub_debug_marker_
protected

Definition at line 291 of file edgebased_cube_finder.h.

ros::Publisher jsk_pcl_ros::EdgebasedCubeFinder::pub_debug_polygons_
protected

Definition at line 291 of file edgebased_cube_finder.h.

ros::Publisher jsk_pcl_ros::EdgebasedCubeFinder::pub_pose_array_
protected

Definition at line 290 of file edgebased_cube_finder.h.

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

Definition at line 285 of file edgebased_cube_finder.h.

message_filters::Subscriber<jsk_recognition_msgs::ParallelEdgeArray> jsk_pcl_ros::EdgebasedCubeFinder::sub_edges_
protected

Definition at line 288 of file edgebased_cube_finder.h.

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

Definition at line 287 of file edgebased_cube_finder.h.

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

Definition at line 286 of file edgebased_cube_finder.h.


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


jsk_pcl_ros
Author(s): Yohei Kakiuchi
autogenerated on Mon May 3 2021 03:03:47