#include <algos.h>
Definition at line 12 of file algos.h.
◆ clustering_threshold
double sm_params::clustering_threshold |
For now, a very simple max-distance clustering algorithm is used
Definition at line 75 of file algos.h.
◆ debug_verify_tricks
int sm_params::debug_verify_tricks |
Checks that find_correspondences_tricks give the right answer
Definition at line 117 of file algos.h.
◆ do_alpha_test
int sm_params::do_alpha_test |
Discard correspondences based on the angles
Definition at line 79 of file algos.h.
◆ do_alpha_test_thresholdDeg
double sm_params::do_alpha_test_thresholdDeg |
◆ do_compute_covariance
int sm_params::do_compute_covariance |
◆ do_visibility_test
int sm_params::do_visibility_test |
I believe this trick is documented in one of the papers by Guttman (but I can't find the reference). Or perhaps I was told by him directly.
If you already have a guess of the solution, you can compute the polar angle
of the points of one scan in the new position. If the polar angle is not a monotone
function of the readings index, it means that the surface is not visible in the
next position. If it is not visible, then we don't use it for matching.
This is confusing without a picture! To understand what's going on, make a drawing
in which a surface is not visible in one of the poses.
Implemented in the function visibilityTest().
Definition at line 96 of file algos.h.
◆ epsilon_theta
double sm_params::epsilon_theta |
A threshold for stopping.
Definition at line 31 of file algos.h.
◆ epsilon_xy
double sm_params::epsilon_xy |
A threshold for stopping.
Definition at line 29 of file algos.h.
◆ first_guess
double sm_params::first_guess[3] |
Where to start
Definition at line 19 of file algos.h.
◆ gpm_extend_range_deg
double sm_params::gpm_extend_range_deg |
◆ gpm_interval
int sm_params::gpm_interval |
◆ gpm_theta_bin_size_deg
double sm_params::gpm_theta_bin_size_deg |
◆ hsm
◆ laser
double sm_params::laser[3] |
Pose of sensor with respect to robot: used for computing the first estimate given the odometry.
Definition at line 121 of file algos.h.
◆ laser_ref
First scan ("ref"erence scan)
Definition at line 14 of file algos.h.
◆ laser_sens
LDP sm_params::laser_sens |
Second scan ("sens"or scan)
Definition at line 16 of file algos.h.
◆ max_angular_correction_deg
double sm_params::max_angular_correction_deg |
Maximum angular displacement between scans (deg)
Definition at line 22 of file algos.h.
◆ max_correspondence_dist
double sm_params::max_correspondence_dist |
Maximum distance for a correspondence to be valid
Definition at line 34 of file algos.h.
◆ max_iterations
int sm_params::max_iterations |
When to stop
Definition at line 27 of file algos.h.
◆ max_linear_correction
double sm_params::max_linear_correction |
Maximum translation between scans (m)
Definition at line 24 of file algos.h.
◆ max_reading
double sm_params::max_reading |
◆ min_reading
double sm_params::min_reading |
mark as invalid ( = don't use ) rays outside of this interval
Definition at line 127 of file algos.h.
◆ orientation_neighbourhood
int sm_params::orientation_neighbourhood |
Number of neighbour rays used to estimate the orientation.
Definition at line 77 of file algos.h.
◆ outliers_adaptive_mult
double sm_params::outliers_adaptive_mult |
◆ outliers_adaptive_order
double sm_params::outliers_adaptive_order |
Parameters describing a simple adaptive algorithm for discarding. 1) Order the errors. 2) Choose the percentile according to outliers_adaptive_order. (if it is 0.7, get the 70% percentile) 3) Define an adaptive threshold multiplying outliers_adaptive_mult with the value of the error at the chosen percentile. 4) Discard correspondences over the threshold.
This is useful to be conservative; yet remove the biggest errors.
Definition at line 65 of file algos.h.
◆ outliers_maxPerc
double sm_params::outliers_maxPerc |
Percentage of correspondences to consider: if 0.9, always discard the top 10% of correspondences with more error
Definition at line 53 of file algos.h.
◆ outliers_remove_doubles
int sm_params::outliers_remove_doubles |
Do not allow two different correspondences to share a point
Definition at line 69 of file algos.h.
◆ restart
Restart if error under threshold (0 or 1)
Definition at line 39 of file algos.h.
◆ restart_dt
double sm_params::restart_dt |
Displacement for restarting
Definition at line 43 of file algos.h.
◆ restart_dtheta
double sm_params::restart_dtheta |
Displacement for restarting
Definition at line 45 of file algos.h.
◆ restart_threshold_mean_error
double sm_params::restart_threshold_mean_error |
Threshold for restarting
Definition at line 41 of file algos.h.
◆ sigma
Noise in the scan
Definition at line 124 of file algos.h.
◆ use_corr_tricks
int sm_params::use_corr_tricks |
Use smart tricks for finding correspondences. Only influences speed; not convergence.
Definition at line 36 of file algos.h.
◆ use_ml_weights
int sm_params::use_ml_weights |
If 1, the field "true_alpha" is used to compute the incidence beta, and the factor (1/cos^2(beta)) used to weight the impact of each correspondence. This works fabolously if doing localization, that is the first scan has no noise. If "true_alpha" is not available, it uses "alpha".
Definition at line 107 of file algos.h.
◆ use_point_to_line_distance
int sm_params::use_point_to_line_distance |
If 1, use PlICP; if 0, use vanilla ICP.
Definition at line 99 of file algos.h.
◆ use_sigma_weights
int sm_params::use_sigma_weights |
The documentation for this struct was generated from the following file: