Public Member Functions | |
void | cloud_cb (const sensor_msgs::PointCloud2::ConstPtr &msg) |
void | computeCentroid (const sample_consensus::PointCloud &points, const std::vector< int > &indices, pcl::PointXYZ ¢roid) |
Compute the centroid of a set of points using their indices and return it as a Point32 message. More... | |
void | computeCovarianceMatrix (const sample_consensus::PointCloud &points, const std::vector< int > &indices, Eigen::Matrix3d &covariance_matrix, pcl::PointXYZ ¢roid) |
Compute the 3x3 covariance matrix of a given set of points using their indices. The result is returned as a Eigen::Matrix3d. More... | |
void | computePointNormal (const sample_consensus::PointCloud &points, const std::vector< int > &indices, Eigen::Vector4d &plane_parameters, double &curvature) |
Compute the Least-Squares plane fit for a given set of points, using their indices, and return the estimated plane parameters together with the surface curvature. More... | |
bool | fitSACLine (sample_consensus::PointCloud *points, vector< int > *indices, vector< int > &inliers) |
Find a line model in a point cloud given via a set of point indices with SAmple Consensus methods. More... | |
void | flipNormalTowardsViewpoint (Eigen::Vector4d &normal, const pcl::PointXYZ &point, const geometry_msgs::PointStamped &viewpoint) |
Flip (in place) the estimated normal of a point towards a given viewpoint. More... | |
void | getCloudViewPoint (string cloud_frame, geometry_msgs::PointStamped &viewpoint_cloud, tf::TransformListener *tf) |
Get the view point from where the scans were taken in the incoming sample_consensus::PointCloud message frame. More... | |
IncGroundRemoval (ros::NodeHandle &anode) | |
double | pointToPlaneDistanceSigned (const pcl::PointXYZ &p, const Eigen::Vector4d &plane_coefficients) |
Get the distance from a point to a plane (signed) defined by ax+by+cz+d=0. More... | |
double | transformDoubleValueTF (double val, std::string src_frame, std::string tgt_frame, ros::Time stamp, tf::TransformListener *tf) |
Transform a value from a source frame to a target frame at a certain moment in time with TF. More... | |
void | transformPoint (tf::TransformListener *tf, const std::string &target_frame, const tf::Stamped< pcl::PointXYZ > &stamped_in, tf::Stamped< pcl::PointXYZ > &stamped_out) |
Transform a given point from its current frame to a given target frame. More... | |
void | updateParametersFromServer () |
virtual | ~IncGroundRemoval () |
Public Attributes | |
sample_consensus::PointCloud | cloud_ |
sample_consensus::PointCloud | cloud_noground_ |
tf::MessageFilter< sensor_msgs::PointCloud2 > * | cloud_notifier_ |
ros::Publisher | cloud_publisher_ |
message_filters::Subscriber< sensor_msgs::PointCloud2 > * | cloud_subscriber_ |
double | ground_slope_threshold_ |
sample_consensus::PointCloud | laser_cloud_ |
std::string | laser_tilt_mount_frame_ |
int | planar_refine_ |
std::string | robot_footprint_frame_ |
double | sac_distance_threshold_ |
double | sac_fitting_distance_threshold_ |
int | sac_max_iterations_ |
int | sac_min_points_per_model_ |
tf::TransformListener | tf_ |
geometry_msgs::PointStamped | viewpoint_cloud_ |
double | z_threshold_ |
Protected Attributes | |
ros::NodeHandle & | node_ |
Definition at line 64 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Definition at line 90 of file sac_inc_ground_removal_standalone.cpp.
|
inlinevirtual |
Definition at line 133 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Definition at line 315 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Compute the centroid of a set of points using their indices and return it as a Point32 message.
points | the input point cloud |
indices | the point cloud indices that need to be used |
centroid | the output centroid |
Definition at line 224 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Compute the 3x3 covariance matrix of a given set of points using their indices. The result is returned as a Eigen::Matrix3d.
points | the input point cloud |
indices | the point cloud indices that need to be used |
covariance_matrix | the 3x3 covariance matrix |
centroid | the computed centroid |
Definition at line 250 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Compute the Least-Squares plane fit for a given set of points, using their indices, and return the estimated plane parameters together with the surface curvature.
points | the input point cloud |
indices | the point cloud indices that need to be used |
plane_parameters | the plane parameters as: a, b, c, d (ax + by + cz + d = 0) |
curvature | the estimated surface curvature as a measure of
|
Definition at line 285 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Find a line model in a point cloud given via a set of point indices with SAmple Consensus methods.
points | the point cloud message |
indices | a pointer to a set of point cloud indices to test |
inliers | the resultant inliers |
Definition at line 152 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Flip (in place) the estimated normal of a point towards a given viewpoint.
normal | the plane normal to be flipped |
point | a given point |
viewpoint | the viewpoint |
Definition at line 196 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Get the view point from where the scans were taken in the incoming sample_consensus::PointCloud message frame.
cloud_frame | the point cloud message TF frame |
viewpoint_cloud | the resultant view point in the incoming cloud frame |
tf | a pointer to a TransformListener object |
Definition at line 462 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Get the distance from a point to a plane (signed) defined by ax+by+cz+d=0.
p | a point |
plane_coefficients | the normalized coefficients (a, b, c, d) of a plane |
Definition at line 450 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Transform a value from a source frame to a target frame at a certain moment in time with TF.
val | the value to transform |
src_frame | the source frame to transform the value from |
tgt_frame | the target frame to transform the value into |
stamp | a given time stamp |
tf | a pointer to a TransformListener object |
Definition at line 530 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Transform a given point from its current frame to a given target frame.
tf | a pointer to a TransformListener object |
target_frame | the target frame to transform the point into |
stamped_in | the input point |
stamped_out | the output point |
Definition at line 496 of file sac_inc_ground_removal_standalone.cpp.
|
inline |
Definition at line 137 of file sac_inc_ground_removal_standalone.cpp.
sample_consensus::PointCloud IncGroundRemoval::cloud_ |
Definition at line 72 of file sac_inc_ground_removal_standalone.cpp.
sample_consensus::PointCloud IncGroundRemoval::cloud_noground_ |
Definition at line 72 of file sac_inc_ground_removal_standalone.cpp.
tf::MessageFilter<sensor_msgs::PointCloud2>* IncGroundRemoval::cloud_notifier_ |
Definition at line 76 of file sac_inc_ground_removal_standalone.cpp.
ros::Publisher IncGroundRemoval::cloud_publisher_ |
Definition at line 87 of file sac_inc_ground_removal_standalone.cpp.
message_filters::Subscriber<sensor_msgs::PointCloud2>* IncGroundRemoval::cloud_subscriber_ |
Definition at line 77 of file sac_inc_ground_removal_standalone.cpp.
double IncGroundRemoval::ground_slope_threshold_ |
Definition at line 80 of file sac_inc_ground_removal_standalone.cpp.
sample_consensus::PointCloud IncGroundRemoval::laser_cloud_ |
Definition at line 72 of file sac_inc_ground_removal_standalone.cpp.
std::string IncGroundRemoval::laser_tilt_mount_frame_ |
Definition at line 85 of file sac_inc_ground_removal_standalone.cpp.
|
protected |
Definition at line 67 of file sac_inc_ground_removal_standalone.cpp.
int IncGroundRemoval::planar_refine_ |
Definition at line 84 of file sac_inc_ground_removal_standalone.cpp.
std::string IncGroundRemoval::robot_footprint_frame_ |
Definition at line 85 of file sac_inc_ground_removal_standalone.cpp.
double IncGroundRemoval::sac_distance_threshold_ |
Definition at line 82 of file sac_inc_ground_removal_standalone.cpp.
double IncGroundRemoval::sac_fitting_distance_threshold_ |
Definition at line 83 of file sac_inc_ground_removal_standalone.cpp.
int IncGroundRemoval::sac_max_iterations_ |
Definition at line 81 of file sac_inc_ground_removal_standalone.cpp.
int IncGroundRemoval::sac_min_points_per_model_ |
Definition at line 81 of file sac_inc_ground_removal_standalone.cpp.
tf::TransformListener IncGroundRemoval::tf_ |
Definition at line 74 of file sac_inc_ground_removal_standalone.cpp.
geometry_msgs::PointStamped IncGroundRemoval::viewpoint_cloud_ |
Definition at line 75 of file sac_inc_ground_removal_standalone.cpp.
double IncGroundRemoval::z_threshold_ |
Definition at line 80 of file sac_inc_ground_removal_standalone.cpp.