algos.h
Go to the documentation of this file.
1 #ifndef H_SCAN_MATCHING_LIB
2 #define H_SCAN_MATCHING_LIB
3 
4 #include <gsl/gsl_vector.h>
5 #include <gsl/gsl_matrix.h>
6 
7 #include "hsm/hsm.h"
8 #include "hsm/hsm_interface.h"
9 #include "laser_data.h"
10 
11 
12 struct sm_params {
17 
19  double first_guess[3];
20 
25 
29  double epsilon_xy;
31  double epsilon_theta;
32 
37 
39  int restart;
43  double restart_dt;
46 
47 
48  /* Functions concerning discarding correspondences.
49  THESE ARE MAGIC NUMBERS -- and they need to be tuned. */
50 
54 
65  double outliers_adaptive_order; /* 0.7 */
66  double outliers_adaptive_mult; /* 2 */
67 
70 
71 
72 
73  /* Functions that compute and use point orientation for defining matches. */
81 
82 
97 
100 
108 
109  /* If 1, the field "readings_sigma" is used to weight the correspondence by 1/sigma^2 */
111 
115 
118 
121  double laser[3];
122 
124  double sigma;
125 
128 
129  /* Parameters specific to GPM (unfinished :-/ ) */
133  /* Parameter specific to HSM (unfinished :-/ ) */
134  struct hsm_params hsm;
135 };
136 
137 
138 struct sm_result {
140  int valid;
141 
143  double x[3];
144 
148  int nvalid;
150  double error;
151 
153  #ifndef RUBY
154  gsl_matrix *cov_x_m;
155  gsl_matrix *dx_dy1_m;
156  gsl_matrix *dx_dy2_m;
157  #endif
158 };
159 
160 
161 void sm_icp(struct sm_params*input, struct sm_result*output);
162 void sm_icp_xy(struct sm_params*input, struct sm_result*output);
163 void sm_gpm(struct sm_params*input, struct sm_result*output);
164 void sm_hsm(struct sm_params*input, struct sm_result*output);
165 
166 /* Unfinished, untested :-/ */
167 void sm_mbcip(struct sm_params*input, struct sm_result*output);
168 
169 
170 
171 void sm_journal_open(const char* file);
172 
173 #endif
int do_alpha_test
Definition: algos.h:79
void sm_icp(struct sm_params *input, struct sm_result *output)
Definition: icp.c:29
int nvalid
Definition: algos.h:148
int outliers_remove_doubles
Definition: algos.h:69
int use_ml_weights
Definition: algos.h:107
void sm_journal_open(const char *file)
Definition: icp.c:14
int iterations
Definition: algos.h:146
void sm_hsm(struct sm_params *input, struct sm_result *output)
Definition: hsm_interface.c:56
double epsilon_xy
Definition: algos.h:29
int max_iterations
Definition: algos.h:27
double max_angular_correction_deg
Definition: algos.h:22
int orientation_neighbourhood
Definition: algos.h:77
double clustering_threshold
Definition: algos.h:75
double max_linear_correction
Definition: algos.h:24
double error
Definition: algos.h:150
int valid
Definition: algos.h:140
double max_reading
Definition: algos.h:127
double outliers_adaptive_mult
Definition: algos.h:66
int use_corr_tricks
Definition: algos.h:36
double restart_dt
Definition: algos.h:43
double sigma
Definition: algos.h:124
gsl_matrix * dx_dy2_m
Definition: algos.h:156
int use_sigma_weights
Definition: algos.h:110
double restart_threshold_mean_error
Definition: algos.h:41
double max_correspondence_dist
Definition: algos.h:34
double outliers_maxPerc
Definition: algos.h:53
LDP laser_ref
Definition: algos.h:14
int do_visibility_test
Definition: algos.h:96
double do_alpha_test_thresholdDeg
Definition: algos.h:80
LDP laser_sens
Definition: algos.h:16
struct hsm_params hsm
Definition: algos.h:134
double min_reading
Definition: algos.h:127
Definition: hsm.h:7
int restart
Definition: algos.h:39
double restart_dtheta
Definition: algos.h:45
void sm_icp_xy(struct sm_params *input, struct sm_result *output)
Definition: icp.c:198
double first_guess[3]
Definition: algos.h:19
double laser[3]
Definition: algos.h:121
int gpm_interval
Definition: algos.h:132
double gpm_theta_bin_size_deg
Definition: algos.h:130
int do_compute_covariance
Definition: algos.h:114
double gpm_extend_range_deg
Definition: algos.h:131
double outliers_adaptive_order
Definition: algos.h:65
double epsilon_theta
Definition: algos.h:31
gsl_matrix * cov_x_m
Definition: algos.h:154
int use_point_to_line_distance
Definition: algos.h:99
void sm_gpm(struct sm_params *input, struct sm_result *output)
Definition: gpm.c:11
gsl_matrix * dx_dy1_m
Definition: algos.h:155
int debug_verify_tricks
Definition: algos.h:117
void sm_mbcip(struct sm_params *input, struct sm_result *output)


csm
Author(s): Andrea Censi
autogenerated on Tue May 11 2021 02:18:23