#include <algos.h>
Definition at line 12 of file algos.h.
double sm_params::clustering_threshold |
For now, a very simple max-distance clustering algorithm is used
Definition at line 75 of file algos.h.
int sm_params::debug_verify_tricks |
Checks that find_correspondences_tricks give the right answer
Definition at line 117 of file algos.h.
int sm_params::do_alpha_test |
Discard correspondences based on the angles
Definition at line 79 of file algos.h.
double sm_params::do_alpha_test_thresholdDeg |
int sm_params::do_compute_covariance |
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.
double sm_params::epsilon_theta |
A threshold for stopping.
Definition at line 31 of file algos.h.
double sm_params::epsilon_xy |
A threshold for stopping.
Definition at line 29 of file algos.h.
double sm_params::first_guess[3] |
Where to start
Definition at line 19 of file algos.h.
double sm_params::gpm_extend_range_deg |
int sm_params::gpm_interval |
double sm_params::gpm_theta_bin_size_deg |
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.
First scan ("ref"erence scan)
Definition at line 14 of file algos.h.
LDP sm_params::laser_sens |
Second scan ("sens"or scan)
Definition at line 16 of file algos.h.
double sm_params::max_angular_correction_deg |
Maximum angular displacement between scans (deg)
Definition at line 22 of file algos.h.
double sm_params::max_correspondence_dist |
Maximum distance for a correspondence to be valid
Definition at line 34 of file algos.h.
int sm_params::max_iterations |
When to stop
Definition at line 27 of file algos.h.
double sm_params::max_linear_correction |
Maximum translation between scans (m)
Definition at line 24 of file algos.h.
double sm_params::max_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.
int sm_params::orientation_neighbourhood |
Number of neighbour rays used to estimate the orientation.
Definition at line 77 of file algos.h.
double sm_params::outliers_adaptive_mult |
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.
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.
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 if error under threshold (0 or 1)
Definition at line 39 of file algos.h.
double sm_params::restart_dt |
Displacement for restarting
Definition at line 43 of file algos.h.
double sm_params::restart_dtheta |
Displacement for restarting
Definition at line 45 of file algos.h.
double sm_params::restart_threshold_mean_error |
Threshold for restarting
Definition at line 41 of file algos.h.
Noise in the scan
Definition at line 124 of file algos.h.
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.
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.
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.
int sm_params::use_sigma_weights |
The documentation for this struct was generated from the following file: