Public Types | Public Member Functions | Public Attributes | Protected Attributes | Private Attributes
PlaneSegmentationPclRgbAlgorithm Class Reference

IRI ROS Specific Driver Class. More...

#include <plane_segmentation_pcl_rgb_alg.h>

List of all members.

Public Types

typedef
iri_plane_segmentation_pcl_rgb::PlaneSegmentationPclRgbConfig 
Config
 define config type

Public Member Functions

void config_update (Config &new_cfg, uint32_t level=0)
 config update
void fixPlaneCoefficientsOrientation (pcl::ModelCoefficients::Ptr coefs)
 Makes the plane normal point at the camera direction.
pcl::PointCloud< pcl::PointXYZ >
::Ptr 
getBiggestClusterPC (pcl::PointCloud< pcl::PointXYZ >::Ptr cloud_orig)
 get biggest cluster pointcloud
void getBiggestPlaneInliers (pcl::PointIndices::Ptr inliers, pcl::ModelCoefficients::Ptr coefficients, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud)
 get biggest plane's inliers
void getBiggestPlaneInliersDownsampling (pcl::PointIndices::Ptr inliers, pcl::ModelCoefficients::Ptr coefficients, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud)
 get biggest plane's inliers
void getNearestBigPlaneInliers (pcl::PointIndices::Ptr inliers, pcl::ModelCoefficients::Ptr coefficients, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud_orig)
void lock (void)
 Lock Algorithm.
 PlaneSegmentationPclRgbAlgorithm (void)
 constructor
double pointToPlaneDistance (const pcl::PointXYZ &p, const std::vector< float > &plane_coefficients)
double pointToPlaneDistanceSigned (const pcl::PointXYZ &p, const std::vector< float > &plane_coefficients)
pcl::PointCloud
< pcl::PointXYZRGB >::Ptr 
segmentBiggestPlane (pcl::PointCloud< pcl::PointXYZRGB >::Ptr cloud_rgb_orig, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud_orig, pcl::ModelCoefficients::Ptr coefficients)
 get biggest plane pointcloud
bool try_enter (void)
 Tries Access to Algorithm.
void unlock (void)
 Unlock Algorithm.
 ~PlaneSegmentationPclRgbAlgorithm (void)
 Destructor.

Public Attributes

Config config_
 config variable

Protected Attributes

CMutex alg_mutex_
 define config type

Private Attributes

bool choose_nearest_plane
bool choose_plane_by_distance
bool plane_clustering
double plane_max_height
double plane_min_cluster_distance
int plane_min_cluster_size
double plane_min_height
int plane_segm_iterations
double plane_segm_probability
double plane_size_thresh
bool pointcloud_downsample
double pointcloud_downsample_size

Detailed Description

IRI ROS Specific Driver Class.

Definition at line 63 of file plane_segmentation_pcl_rgb_alg.h.


Member Typedef Documentation

typedef iri_plane_segmentation_pcl_rgb::PlaneSegmentationPclRgbConfig PlaneSegmentationPclRgbAlgorithm::Config

define config type

Define a Config type with the PlaneSegmentationPclRgbConfig. All driver implementations will then use the same variable type Config.

Definition at line 106 of file plane_segmentation_pcl_rgb_alg.h.


Constructor & Destructor Documentation

constructor

In this constructor parameters related to the specific driver can be initalized. Those parameters can be also set in the openDriver() function. Attributes from the main node driver class IriBaseDriver such as loop_rate, may be also overload here.

Definition at line 3 of file plane_segmentation_pcl_rgb_alg.cpp.

Destructor.

This destructor is called when the object is about to be destroyed.

Definition at line 7 of file plane_segmentation_pcl_rgb_alg.cpp.


Member Function Documentation

void PlaneSegmentationPclRgbAlgorithm::config_update ( Config new_cfg,
uint32_t  level = 0 
)

config update

In this function the driver parameters must be updated with the input config variable. Then the new configuration state will be stored in the Config attribute.

Parameters:
new_cfgthe new driver configuration state
levellevel in which the update is taken place

Definition at line 11 of file plane_segmentation_pcl_rgb_alg.cpp.

Makes the plane normal point at the camera direction.

Makes the plane normal point at the camera direction. If it was pointing in the opposite direction, it just inverts it.

Definition at line 224 of file plane_segmentation_pcl_rgb_alg.cpp.

pcl::PointCloud< pcl::PointXYZ >::Ptr PlaneSegmentationPclRgbAlgorithm::getBiggestClusterPC ( pcl::PointCloud< pcl::PointXYZ >::Ptr  cloud_orig)

get biggest cluster pointcloud

Gets the biggest cluster pointcloud

Definition at line 242 of file plane_segmentation_pcl_rgb_alg.cpp.

get biggest plane's inliers

Gets the inliers of the points in biggest plane, and the plane coefficients.

Definition at line 201 of file plane_segmentation_pcl_rgb_alg.cpp.

get biggest plane's inliers

Gets the inliers of the points in biggest plane, and the plane coefficients. It also downsamples the pointcloud to have better performance

Definition at line 72 of file plane_segmentation_pcl_rgb_alg.cpp.

Definition at line 137 of file plane_segmentation_pcl_rgb_alg.cpp.

void PlaneSegmentationPclRgbAlgorithm::lock ( void  ) [inline]

Lock Algorithm.

Locks access to the Algorithm class

Definition at line 131 of file plane_segmentation_pcl_rgb_alg.h.

double PlaneSegmentationPclRgbAlgorithm::pointToPlaneDistance ( const pcl::PointXYZ &  p,
const std::vector< float > &  plane_coefficients 
) [inline]

Definition at line 227 of file plane_segmentation_pcl_rgb_alg.h.

double PlaneSegmentationPclRgbAlgorithm::pointToPlaneDistanceSigned ( const pcl::PointXYZ &  p,
const std::vector< float > &  plane_coefficients 
) [inline]

Definition at line 233 of file plane_segmentation_pcl_rgb_alg.h.

pcl::PointCloud< pcl::PointXYZRGB >::Ptr PlaneSegmentationPclRgbAlgorithm::segmentBiggestPlane ( pcl::PointCloud< pcl::PointXYZRGB >::Ptr  cloud_rgb_orig,
pcl::PointCloud< pcl::PointXYZ >::Ptr  cloud_orig,
pcl::ModelCoefficients::Ptr  coefficients 
)

get biggest plane pointcloud

Sets to black all points not belonging to the plane

Definition at line 35 of file plane_segmentation_pcl_rgb_alg.cpp.

Tries Access to Algorithm.

Tries access to Algorithm

Returns:
true if the lock was adquired, false otherwise

Definition at line 147 of file plane_segmentation_pcl_rgb_alg.h.

void PlaneSegmentationPclRgbAlgorithm::unlock ( void  ) [inline]

Unlock Algorithm.

Unlocks access to the Algorithm class

Definition at line 138 of file plane_segmentation_pcl_rgb_alg.h.


Member Data Documentation

define config type

Define a Config type with the PlaneSegmentationPclRgbConfig. All driver implementations will then use the same variable type Config.

Definition at line 72 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 82 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 81 of file plane_segmentation_pcl_rgb_alg.h.

config variable

This variable has all the driver parameters defined in the cfg config file. Is updated everytime function config_update() is called.

Definition at line 114 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 92 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 87 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 94 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 93 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 86 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 88 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 89 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 85 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 77 of file plane_segmentation_pcl_rgb_alg.h.

Definition at line 78 of file plane_segmentation_pcl_rgb_alg.h.


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


iri_plane_segmentation_pcl_rgb
Author(s): David Martinez
autogenerated on Fri Dec 6 2013 21:27:02