Macros | Functions | Variables
lidar_pattern.cpp File Reference
#include <dynamic_reconfigure/server.h>
#include <pcl/common/eigen.h>
#include <pcl/common/transforms.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/passthrough.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl_conversions/pcl_conversions.h>
#include <ros/ros.h>
#include <sensor_msgs/PointCloud2.h>
#include <std_msgs/Empty.h>
#include <velo2cam_calibration/ClusterCentroids.h>
#include <velo2cam_calibration/LidarConfig.h>
#include <velo2cam_utils.h>
Include dependency graph for lidar_pattern.cpp:

Go to the source code of this file.

Macros

#define PCL_NO_PRECOMPILE
 

Functions

void callback (const PointCloud2::ConstPtr &laser_cloud)
 
int main (int argc, char **argv)
 
void param_callback (velo2cam_calibration::LidarConfig &config, uint32_t level)
 
void warmup_callback (const std_msgs::Empty::ConstPtr &msg)
 

Variables

double angle_threshold_
 
Eigen::Vector3f axis_
 
ros::Publisher centers_pub
 
double centroid_distance_max_
 
double centroid_distance_min_
 
double circle_radius_
 
double circle_threshold_
 
int clouds_proc_ = 0
 
int clouds_used_ = 0
 
double cluster_tolerance_
 
ros::Publisher coeff_pub
 
pcl::PointCloud< pcl::PointXYZ >::Ptr cumulative_cloud
 
ros::Publisher cumulative_pub
 
double delta_height_circles_
 
double delta_width_circles_
 
double gradient_threshold_
 
int min_centers_found_
 
double min_cluster_factor_
 
double passthrough_radius_max_
 
double passthrough_radius_min_
 
ros::Publisher pattern_pub
 
double plane_distance_inliers_
 
double plane_threshold_
 
ros::Publisher range_pub
 
int rings_count_
 
ros::Publisher rotated_pattern_pub
 
bool save_to_file_
 
std::ofstream savefile
 
bool skip_warmup_
 
double target_radius_tolerance_
 
double threshold_
 
bool WARMUP_DONE = false
 

Macro Definition Documentation

◆ PCL_NO_PRECOMPILE

#define PCL_NO_PRECOMPILE

Definition at line 26 of file lidar_pattern.cpp.

Function Documentation

◆ callback()

void callback ( const PointCloud2::ConstPtr &  laser_cloud)

Geometric consistency check At this point, circles' center candidates have been computed (found_centers). Now we need to select the set of 4 candidates that best fit the calibration target geometry. To that end, the following steps are followed: 1) Create a cloud with 4 points representing the exact geometry of the calibration target 2) For each possible set of 4 points: compute similarity score 3) Rotate back the candidates with the highest score to their original position in the cloud, and add them to cumulative cloud

Definition at line 74 of file lidar_pattern.cpp.

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 501 of file lidar_pattern.cpp.

◆ param_callback()

void param_callback ( velo2cam_calibration::LidarConfig &  config,
uint32_t  level 
)

Definition at line 468 of file lidar_pattern.cpp.

◆ warmup_callback()

void warmup_callback ( const std_msgs::Empty::ConstPtr &  msg)

Definition at line 492 of file lidar_pattern.cpp.

Variable Documentation

◆ angle_threshold_

double angle_threshold_

Definition at line 58 of file lidar_pattern.cpp.

◆ axis_

Eigen::Vector3f axis_

Definition at line 57 of file lidar_pattern.cpp.

◆ centers_pub

ros::Publisher centers_pub

Definition at line 47 of file lidar_pattern.cpp.

◆ centroid_distance_max_

double centroid_distance_max_

Definition at line 53 of file lidar_pattern.cpp.

◆ centroid_distance_min_

double centroid_distance_min_

Definition at line 53 of file lidar_pattern.cpp.

◆ circle_radius_

double circle_radius_

Definition at line 53 of file lidar_pattern.cpp.

◆ circle_threshold_

double circle_threshold_

Definition at line 65 of file lidar_pattern.cpp.

◆ clouds_proc_

int clouds_proc_ = 0

Definition at line 60 of file lidar_pattern.cpp.

◆ clouds_used_

int clouds_used_ = 0

Definition at line 60 of file lidar_pattern.cpp.

◆ cluster_tolerance_

double cluster_tolerance_

Definition at line 59 of file lidar_pattern.cpp.

◆ coeff_pub

ros::Publisher coeff_pub

Definition at line 47 of file lidar_pattern.cpp.

◆ cumulative_cloud

pcl::PointCloud<pcl::PointXYZ>::Ptr cumulative_cloud

Definition at line 49 of file lidar_pattern.cpp.

◆ cumulative_pub

ros::Publisher cumulative_pub

Definition at line 47 of file lidar_pattern.cpp.

◆ delta_height_circles_

double delta_height_circles_

Definition at line 55 of file lidar_pattern.cpp.

◆ delta_width_circles_

double delta_width_circles_

Definition at line 55 of file lidar_pattern.cpp.

◆ gradient_threshold_

double gradient_threshold_

Definition at line 63 of file lidar_pattern.cpp.

◆ min_centers_found_

int min_centers_found_

Definition at line 61 of file lidar_pattern.cpp.

◆ min_cluster_factor_

double min_cluster_factor_

Definition at line 67 of file lidar_pattern.cpp.

◆ passthrough_radius_max_

double passthrough_radius_max_

Definition at line 53 of file lidar_pattern.cpp.

◆ passthrough_radius_min_

double passthrough_radius_min_

Definition at line 53 of file lidar_pattern.cpp.

◆ pattern_pub

ros::Publisher pattern_pub

Definition at line 47 of file lidar_pattern.cpp.

◆ plane_distance_inliers_

double plane_distance_inliers_

Definition at line 64 of file lidar_pattern.cpp.

◆ plane_threshold_

double plane_threshold_

Definition at line 62 of file lidar_pattern.cpp.

◆ range_pub

ros::Publisher range_pub

Definition at line 47 of file lidar_pattern.cpp.

◆ rings_count_

int rings_count_

Definition at line 56 of file lidar_pattern.cpp.

◆ rotated_pattern_pub

ros::Publisher rotated_pattern_pub

Definition at line 47 of file lidar_pattern.cpp.

◆ save_to_file_

bool save_to_file_

Definition at line 69 of file lidar_pattern.cpp.

◆ savefile

std::ofstream savefile

Definition at line 70 of file lidar_pattern.cpp.

◆ skip_warmup_

bool skip_warmup_

Definition at line 68 of file lidar_pattern.cpp.

◆ target_radius_tolerance_

double target_radius_tolerance_

Definition at line 66 of file lidar_pattern.cpp.

◆ threshold_

double threshold_

Definition at line 52 of file lidar_pattern.cpp.

◆ WARMUP_DONE

bool WARMUP_DONE = false

Definition at line 72 of file lidar_pattern.cpp.



velo2cam_calibration
Author(s): Jorge Beltran , Carlos Guindel
autogenerated on Wed Mar 16 2022 02:33:29