Namespaces | Functions | Variables
PointCloudMetrics.h File Reference

Various point cloud metric calculations and utilities. More...

#include <geometry_msgs/Point.h>
#include <graspdb/Grasp.h>
#include <sensor_msgs/PointCloud2.h>
#include <tf2/LinearMath/Transform.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <vector>
Include dependency graph for PointCloudMetrics.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  rail
namespace  rail::pick_and_place
namespace  rail::pick_and_place::point_cloud_metrics

Functions

void rail::pick_and_place::point_cloud_metrics::calculateAvgColors (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &pc, double &avg_r, double &avg_g, double &avg_b)
 Average color value calculator.
double rail::pick_and_place::point_cloud_metrics::calculateRegistrationMetricDistanceError (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &base, const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &target)
 Point cloud distance error metric calculator.
void rail::pick_and_place::point_cloud_metrics::calculateRegistrationMetricOverlap (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &base, const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &target, double &overlap, double &color_error, const double metric_overlap_search_radius=DEFAULT_METRIC_OVERLAP_SEARCH_RADIUS)
 Point cloud overlap metric calculator.
double rail::pick_and_place::point_cloud_metrics::calculateStdDevColors (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &pc, double &std_dev_r, double &std_dev_g, double &std_dev_b)
 Color value standard deviation calculator.
double rail::pick_and_place::point_cloud_metrics::calculateStdDevColors (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &pc, double &std_dev_r, double &std_dev_g, double &std_dev_b, const double avg_r, const double avg_g, const double avg_b)
 Color value standard deviation calculator.
bool rail::pick_and_place::point_cloud_metrics::classifyMerge (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &base, const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &target)
 Classify the point cloud merge.
geometry_msgs::Point rail::pick_and_place::point_cloud_metrics::computeCentroid (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &pc)
 Compute the centroid of the given point cloud.
void rail::pick_and_place::point_cloud_metrics::filterPointCloudOutliers (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &pc, const double filter_outlier_search_radius=DEFAULT_FILTER_OUTLIER_SEARCH_RADIUS, const double filter_outlier_min_num_neighbors=DEFAULT_FILTER_OUTLIER_MIN_NUM_NEIGHBORS)
 Filter point cloud outliers.
void rail::pick_and_place::point_cloud_metrics::filterRedundantPoints (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &pc, const double filter_redundant_search_radius=DEFAULT_FILTER_REDUNDANT_SEARCH_RADIUS)
 Filter redundant points from the point cloud.
void rail::pick_and_place::point_cloud_metrics::pclPointCloudToROSPointCloud2 (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &in, sensor_msgs::PointCloud2 &out)
 Convert a PCL point cloud to a ROS point cloud message.
tf2::Transform rail::pick_and_place::point_cloud_metrics::performICP (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &target, const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &source, const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &result)
 Perform ICP on the given point clouds.
void rail::pick_and_place::point_cloud_metrics::rosPointCloud2ToPCLPointCloud (const sensor_msgs::PointCloud2 in, const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &out)
 Convert a ROS point cloud message to a PCL point cloud.
void rail::pick_and_place::point_cloud_metrics::transformToOrigin (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &pc, const geometry_msgs::Point &centroid)
 Transform the point cloud to be centered about the origin.
void rail::pick_and_place::point_cloud_metrics::transformToOrigin (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &pc)
 Transform the point cloud to be centered about the origin.
void rail::pick_and_place::point_cloud_metrics::transformToOrigin (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &pc, std::vector< graspdb::Grasp > &grasps, const geometry_msgs::Point &centroid)
 Transform the point cloud and grasps to be centered about the origin.
void rail::pick_and_place::point_cloud_metrics::transformToOrigin (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &pc, std::vector< graspdb::Grasp > &grasps)
 Transform the point cloud and grasps to be centered about the origin.

Variables

static const int rail::pick_and_place::point_cloud_metrics::DEFAULT_FILTER_OUTLIER_MIN_NUM_NEIGHBORS = 6
static const double rail::pick_and_place::point_cloud_metrics::DEFAULT_FILTER_OUTLIER_SEARCH_RADIUS = 0.01
static const double rail::pick_and_place::point_cloud_metrics::DEFAULT_FILTER_REDUNDANT_SEARCH_RADIUS = 0.0004
static const double rail::pick_and_place::point_cloud_metrics::DEFAULT_METRIC_OVERLAP_SEARCH_RADIUS = 0.005

Detailed Description

Various point cloud metric calculations and utilities.

A collection of static functions for calculating various point cloud metrics and utility functions.

Author:
Russell Toris, WPI - russell.toris@gmail.com
David Kent, WPI - russell.toris@gmail.com
Date:
April 8, 2015

Definition in file PointCloudMetrics.h.



rail_recognition
Author(s): David Kent , Russell Toris , bhetherman
autogenerated on Thu Jun 6 2019 19:44:08