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

#define PCL_NO_PRECOMPILE

Definition at line 26 of file lidar_pattern.cpp.

Function Documentation

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.

int main ( int  argc,
char **  argv 
)

Definition at line 501 of file lidar_pattern.cpp.

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

Definition at line 468 of file lidar_pattern.cpp.

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

Definition at line 492 of file lidar_pattern.cpp.

Variable Documentation

double angle_threshold_

Definition at line 58 of file lidar_pattern.cpp.

Eigen::Vector3f axis_

Definition at line 57 of file lidar_pattern.cpp.

ros::Publisher centers_pub

Definition at line 47 of file lidar_pattern.cpp.

double centroid_distance_max_

Definition at line 53 of file lidar_pattern.cpp.

double centroid_distance_min_

Definition at line 53 of file lidar_pattern.cpp.

double circle_radius_

Definition at line 53 of file lidar_pattern.cpp.

double circle_threshold_

Definition at line 65 of file lidar_pattern.cpp.

int clouds_proc_ = 0

Definition at line 60 of file lidar_pattern.cpp.

int clouds_used_ = 0

Definition at line 60 of file lidar_pattern.cpp.

double cluster_tolerance_

Definition at line 59 of file lidar_pattern.cpp.

ros::Publisher coeff_pub

Definition at line 47 of file lidar_pattern.cpp.

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

Definition at line 49 of file lidar_pattern.cpp.

ros::Publisher cumulative_pub

Definition at line 47 of file lidar_pattern.cpp.

double delta_height_circles_

Definition at line 55 of file lidar_pattern.cpp.

double delta_width_circles_

Definition at line 55 of file lidar_pattern.cpp.

double gradient_threshold_

Definition at line 63 of file lidar_pattern.cpp.

int min_centers_found_

Definition at line 61 of file lidar_pattern.cpp.

double min_cluster_factor_

Definition at line 67 of file lidar_pattern.cpp.

double passthrough_radius_max_

Definition at line 53 of file lidar_pattern.cpp.

double passthrough_radius_min_

Definition at line 53 of file lidar_pattern.cpp.

ros::Publisher pattern_pub

Definition at line 47 of file lidar_pattern.cpp.

double plane_distance_inliers_

Definition at line 64 of file lidar_pattern.cpp.

double plane_threshold_

Definition at line 62 of file lidar_pattern.cpp.

ros::Publisher range_pub

Definition at line 47 of file lidar_pattern.cpp.

int rings_count_

Definition at line 56 of file lidar_pattern.cpp.

ros::Publisher rotated_pattern_pub

Definition at line 47 of file lidar_pattern.cpp.

bool save_to_file_

Definition at line 69 of file lidar_pattern.cpp.

std::ofstream savefile

Definition at line 70 of file lidar_pattern.cpp.

bool skip_warmup_

Definition at line 68 of file lidar_pattern.cpp.

double target_radius_tolerance_

Definition at line 66 of file lidar_pattern.cpp.

double threshold_

Definition at line 52 of file lidar_pattern.cpp.

bool WARMUP_DONE = false

Definition at line 72 of file lidar_pattern.cpp.



velo2cam_calibration
Author(s): Jorge Beltran , Carlos Guindel
autogenerated on Fri Feb 26 2021 03:40:57