Public Member Functions | Public Attributes | Private Member Functions | List of all members
PolarMatcher Class Reference

#include <polar_match.h>

Public Member Functions

void pm_find_far_points (PMScan *ls)
 
void pm_init ()
 Initialises internar variables. More...
 
void pm_median_filter (PMScan *ls)
 
PM_TYPE pm_psm (PMScan *lsr, PMScan *lsa)
 
PM_TYPE pm_psm_c (PMScan *lsr, PMScan *lsa)
 
void pm_segment_scan (PMScan *ls)
 
 PolarMatcher ()
 stopping condition; the pose change has to be smaller than ... for ICP, MBICP More...
 

Public Attributes

std::vector< PM_TYPEpm_co
 
PM_TYPE PM_DFI
 
std::vector< PM_TYPEpm_fi
 
PM_TYPE PM_FI_MAX
 
PM_TYPE PM_FI_MIN
 
double PM_FOV
 
int PM_L_POINTS
 
double PM_MAX_ERROR
 
int PM_MAX_ITER
 stopping condition; the pose change has to be smaller than ... More...
 
int PM_MAX_ITER_ICP
 maximum number of iterations for PSM.PSM_C More...
 
double PM_MAX_RANGE
 field of view of the laser range finder in degrees More...
 
int PM_MIN_VALID_POINTS
 [cm] max valid laser range (set this to about 400 for the Hokuyo URG) More...
 
int PM_SEARCH_WINDOW
 minimum number of valid points for scanmatching More...
 
std::vector< PM_TYPEpm_si
 
double PM_STOP_COND
 
int PM_STOP_COND_ICP
 maximum number of iterations for ICP,MBICP More...
 
double PM_TIME_DELAY
 half window size which is searched for correct orientation More...
 

Private Member Functions

PM_TYPE norm_a (PM_TYPE a)
 
void pm_cov_est (PM_TYPE err, double *c11, double *c12, double *c22, double *c33, bool corridor=false, PM_TYPE corr_angle=0)
 
PM_TYPE pm_error_index (PMScan *lsr, PMScan *lsa)
 
PM_TYPE pm_orientation_search (const PMScan *ref, const PM_TYPE *new_r, const int *new_bad)
 
void pm_scan_project (const PMScan *act, PM_TYPE *new_r, int *new_bad)
 
PM_TYPE pm_translation_estimation (const PMScan *ref, const PM_TYPE *new_r, const int *new_bad, PM_TYPE C, PM_TYPE *dx, PM_TYPE *dy)
 
PM_TYPE point_line_distance (PM_TYPE x1, PM_TYPE y1, PM_TYPE x2, PM_TYPE y2, PM_TYPE x3, PM_TYPE y3, PM_TYPE *x, PM_TYPE *y)
 

Detailed Description

Definition at line 93 of file polar_match.h.

Constructor & Destructor Documentation

PolarMatcher::PolarMatcher ( )

stopping condition; the pose change has to be smaller than ... for ICP, MBICP

Definition at line 65 of file polar_match.cpp.

Member Function Documentation

PM_TYPE PolarMatcher::norm_a ( PM_TYPE  a)
inlineprivate

Definition at line 119 of file polar_match.h.

void PolarMatcher::pm_cov_est ( PM_TYPE  err,
double *  c11,
double *  c12,
double *  c22,
double *  c33,
bool  corridor = false,
PM_TYPE  corr_angle = 0 
)
private

Definition at line 349 of file polar_match.cpp.

PM_TYPE PolarMatcher::pm_error_index ( PMScan lsr,
PMScan lsa 
)
private

Definition at line 236 of file polar_match.cpp.

void PolarMatcher::pm_find_far_points ( PMScan ls)

Definition at line 216 of file polar_match.cpp.

void PolarMatcher::pm_init ( )

Initialises internar variables.

Definition at line 72 of file polar_match.cpp.

void PolarMatcher::pm_median_filter ( PMScan ls)

Definition at line 96 of file polar_match.cpp.

PM_TYPE PolarMatcher::pm_orientation_search ( const PMScan ref,
const PM_TYPE new_r,
const int *  new_bad 
)
private

Function estimating the orientation of the current scan represented with range readings new_r and flags new_bad with respect to the reference scan ref. Assuming that the current and ref scan were taken at the same position, to an orientation change of the current scan a left or right shift of the scan ranges corresponds. The functions estimates the orientation by finding that shift which minimizes the difference between the current and ref. scan. The orientation estimate is then refined using interpolation.

Definition at line 718 of file polar_match.cpp.

PM_TYPE PolarMatcher::pm_psm ( PMScan lsr,
PMScan lsa 
)

Definition at line 516 of file polar_match.cpp.

PM_TYPE PolarMatcher::pm_psm_c ( PMScan lsr,
PMScan lsa 
)

Definition at line 387 of file polar_match.cpp.

void PolarMatcher::pm_scan_project ( const PMScan act,
PM_TYPE new_r,
int *  new_bad 
)
private

projects the current (active) scan act to the base (ref.) (0,0,0) coordinate frame returns in new_r interpolated r at measurement bearings returns in new_bad bad flags of the interpolated range readings

Definition at line 615 of file polar_match.cpp.

void PolarMatcher::pm_segment_scan ( PMScan ls)

Definition at line 134 of file polar_match.cpp.

PM_TYPE PolarMatcher::pm_translation_estimation ( const PMScan ref,
const PM_TYPE new_r,
const int *  new_bad,
PM_TYPE  C,
PM_TYPE dx,
PM_TYPE dy 
)
private

Definition at line 796 of file polar_match.cpp.

PM_TYPE PolarMatcher::point_line_distance ( PM_TYPE  x1,
PM_TYPE  y1,
PM_TYPE  x2,
PM_TYPE  y2,
PM_TYPE  x3,
PM_TYPE  y3,
PM_TYPE x,
PM_TYPE y 
)
private

Definition at line 589 of file polar_match.cpp.

Member Data Documentation

std::vector<PM_TYPE> PolarMatcher::pm_co

Definition at line 141 of file polar_match.h.

PM_TYPE PolarMatcher::PM_DFI

Definition at line 137 of file polar_match.h.

std::vector<PM_TYPE> PolarMatcher::pm_fi

Definition at line 139 of file polar_match.h.

PM_TYPE PolarMatcher::PM_FI_MAX

Definition at line 136 of file polar_match.h.

PM_TYPE PolarMatcher::PM_FI_MIN

Definition at line 135 of file polar_match.h.

double PolarMatcher::PM_FOV

Definition at line 143 of file polar_match.h.

int PolarMatcher::PM_L_POINTS

Definition at line 133 of file polar_match.h.

double PolarMatcher::PM_MAX_ERROR

Definition at line 150 of file polar_match.h.

int PolarMatcher::PM_MAX_ITER

stopping condition; the pose change has to be smaller than ...

Definition at line 152 of file polar_match.h.

int PolarMatcher::PM_MAX_ITER_ICP

maximum number of iterations for PSM.PSM_C

Definition at line 153 of file polar_match.h.

double PolarMatcher::PM_MAX_RANGE

field of view of the laser range finder in degrees

Definition at line 144 of file polar_match.h.

int PolarMatcher::PM_MIN_VALID_POINTS

[cm] max valid laser range (set this to about 400 for the Hokuyo URG)

Definition at line 145 of file polar_match.h.

int PolarMatcher::PM_SEARCH_WINDOW

minimum number of valid points for scanmatching

Definition at line 146 of file polar_match.h.

std::vector<PM_TYPE> PolarMatcher::pm_si

Definition at line 140 of file polar_match.h.

double PolarMatcher::PM_STOP_COND

Definition at line 151 of file polar_match.h.

int PolarMatcher::PM_STOP_COND_ICP

maximum number of iterations for ICP,MBICP

Definition at line 154 of file polar_match.h.

double PolarMatcher::PM_TIME_DELAY

half window size which is searched for correct orientation

[ms]time delay (time registration error) in the laser measurements

Definition at line 148 of file polar_match.h.


The documentation for this class was generated from the following files:


polar_scan_matcher
Author(s): Ivan Dryanovski
autogenerated on Mon Jun 10 2019 15:08:51