Class PlaneFinder
- Defined in File plane_finder.hpp 
Inheritance Relationships
Base Type
- public robot_calibration::FeatureFinder(Class FeatureFinder)
Derived Type
- public robot_calibration::RobotFinder(Class RobotFinder)
Class Documentation
- 
class PlaneFinder : public robot_calibration::FeatureFinder
- Finds the largest plane in a point cloud. - Subclassed by robot_calibration::RobotFinder - Public Functions - 
PlaneFinder()
 - 
virtual ~PlaneFinder() = default
 - Initialize the feature finder. - Parameters:
- name – The name of this finder. 
- node – The node to use when loading feature finder configuration data. 
 
- Returns:
- True/False if the feature finder was able to be initialized 
 
 - 
virtual bool find(robot_calibration_msgs::msg::CalibrationData *msg)
- Once the robot has been moved into the proper position and settled, this function will be called. It should add any new observations to the msg passed in. - Parameters:
- msg – The message to which observations should be added. 
- Returns:
- True if feature finder succeeded in finding the features and adding them to the observation list. False otherwise. 
 
 - Protected Functions - ROS callback - updates cloud_ and resets waiting_ to false. 
 - 
virtual void removeInvalidPoints(sensor_msgs::msg::PointCloud2 &cloud, double min_x, double max_x, double min_y, double max_y, double min_z, double max_z)
- Remove invalid points from a cloud. - Invalid points include: - points with NAN values 
- points with infinite values 
- points with z-distance of 0 
- points outside our min/max x,y,z parameters 
 - Parameters:
- cloud – The point cloud to remove invalid points from 
 
 - 
virtual sensor_msgs::msg::PointCloud2 extractPlane(sensor_msgs::msg::PointCloud2 &cloud)
- Extract a plane from the point cloud. - cloud The cloud to extract plane from - non-plane points will remain - Returns:
- New point cloud comprising only the points in the plane 
 
 - Extract points from a cloud into a calibration message. - Parameters:
- sensor_name – Used to fill in observation “sensor_name” 
- cloud – Point cloud from which to extract observations 
- msg – CalibrationData to fill with observation 
- publisher – Optional pointer to publish the observations as a cloud 
 
 
 - 
virtual bool waitForCloud()
- Wait until a new cloud has arrived. 
 - Protected Attributes - 
rclcpp::Subscription<sensor_msgs::msg::PointCloud2>::SharedPtr subscriber_
 - 
rclcpp::Publisher<sensor_msgs::msg::PointCloud2>::SharedPtr publisher_
 - 
rclcpp::Clock::SharedPtr clock_
 - 
bool waiting_
 - 
sensor_msgs::msg::PointCloud2 cloud_
 - 
DepthCameraInfoManager depth_camera_manager_
 - 
std::string plane_sensor_name_
 - 
int points_max_
 - 
double initial_sampling_distance_
 - 
double plane_tolerance_
 - 
double min_x_
 - 
double max_x_
 - 
double min_y_
 - 
double max_y_
 - 
double min_z_
 - 
double max_z_
 - 
Eigen::Vector3d desired_normal_
 - 
double cos_normal_angle_
 - 
std::string transform_frame_
 - 
int ransac_iterations_
 - 
int ransac_points_
 - 
bool output_debug_
 
- 
PlaneFinder()