1 #include <gsl/gsl_vector.h> 4 #include "../csm_all.h" 21 double theta =
angleDiff(alpha_j, alpha_i);
35 for(i=0;i<laser_sens->
nrays;i++) {
42 double *p_i_w = laser_sens->
points_w[i].
p;
45 double best_dist = 10000;
47 int from;
int to;
int start_cell;
53 for(j=from;j<=to;j++) {
62 if( (-1 == j1) || (dist < best_dist) ) {
75 if(j1==0 || (j1 == (laser_ref->
nrays-1))) {
83 if((j2up==-1)&&(j2down==-1)) {
87 if(j2up ==-1) { j2 = j2down; }
else 88 if(j2down==-1) { j2 = j2up; }
else {
91 j2 = dist_up < dist_down ? j2up : j2down;
INLINE int ld_next_valid_up(LDP ld, int i)
double distance_squared_d(const double a[2], const double b[2])
double angleDiff(double a, double b)
double max_angular_correction_deg
INLINE void ld_set_correspondence(LDP ld, int i, int j1, int j2)
INLINE int ld_valid_ray(LDP ld, int i)
double max_linear_correction
enum correspondence::@5 type
void possible_interval(const double *p_i_w, LDP laser_sens, double max_angular_correction_deg, double max_linear_correction, int *from, int *to, int *start_cell)
double max_correspondence_dist
int *restrict alpha_valid
double do_alpha_test_thresholdDeg
point2d *restrict points_w
void find_correspondences(struct sm_params *params)
struct correspondence *restrict corr
INLINE void ld_set_null_correspondence(LDP ld, int i)
INLINE int ld_next_valid_down(LDP ld, int i)
int compatible(struct sm_params *params, int i, int j)
int use_point_to_line_distance