#include <OpenMapper.h>
|
kt_double | CorrelateScan (ScanMatcherGridSet *pScanMatcherGridSet, LocalizedLaserScan *pScan, const Pose2 &rSearchCenter, const Vector2d &rSearchSpaceOffset, const Vector2d &rSearchSpaceResolution, kt_double searchAngleOffset, kt_double searchAngleResolution, kt_bool doPenalize, Pose2 &rMean, Matrix3 &rCovariance, kt_bool doingFineMatch) |
|
CorrelationGrid * | GetCorrelationGrid () const |
|
Grid< kt_double > * | GetSearchGrid () const |
|
kt_double | MatchScan (LocalizedLaserScan *pScan, const LocalizedLaserScanList &rBaseScans, Pose2 &rMean, Matrix3 &rCovariance, kt_bool doPenalize=true, kt_bool doRefineMatch=true) |
|
virtual | ~ScanMatcher () |
|
|
static void | ComputeAngularCovariance (ScanMatcherGridSet *pScanMatcherGridSet, const Pose2 &rBestPose, kt_double bestResponse, const Pose2 &rSearchCenter, kt_double searchAngleOffset, kt_double searchAngleResolution, Matrix3 &rCovariance) |
|
static void | ComputePositionalCovariance (Grid< kt_double > *pSearchSpaceProbs, const Pose2 &rBestPose, kt_double bestResponse, const Pose2 &rSearchCenter, const Vector2d &rSearchSpaceOffset, const Vector2d &rSearchSpaceResolution, kt_double searchAngleResolution, Matrix3 &rCovariance) |
|
static ScanMatcher * | Create (OpenMapper *pOpenMapper, kt_double searchSize, kt_double resolution, kt_double smearDeviation, kt_double rangeThreshold) |
|
static kt_double | GetResponse (ScanMatcherGridSet *pScanMatcherGridSet, kt_int32u angleIndex, kt_int32s gridPositionIndex) |
|
|
static void | AddScan (CorrelationGrid *pCorrelationGrid, LocalizedLaserScan *pScan, const Vector2d &rViewPoint, kt_bool doSmear=true) |
|
static void | AddScanNew (CorrelationGrid *pCorrelationGrid, const Vector2dList &rValidPoints, kt_bool doSmear=true) |
|
static void | AddScans (CorrelationGrid *pCorrelationGrid, const LocalizedLaserScanList &rScans, const Vector2d &rViewPoint) |
|
static void | AddScansNew (CorrelationGrid *pCorrelationGrid, const LocalizedLaserScanList &rScans, const Vector2d &rViewPoint) |
|
static Vector2dList | FindValidPoints (LocalizedLaserScan *pScan, const Vector2d &rViewPoint) |
|
Scan matcher
Definition at line 1078 of file OpenMapper.h.
karto::ScanMatcher::~ScanMatcher |
( |
| ) |
|
|
virtual |
karto::ScanMatcher::ScanMatcher |
( |
OpenMapper * |
pOpenMapper | ) |
|
|
inlineprotected |
Marks cells where scans' points hit as being occupied. Can smear points as they are added.
- Parameters
-
pCorrelationGrid | correlation grid used for scan matching |
pScan | scan whose points will mark cells in grid as being occupied |
viewPoint | do not add points that belong to scans "opposite" the view point |
doSmear | whether the points will be smeared |
Definition at line 1124 of file OpenMapper.cpp.
Marks cells where scans' points hit as being occupied
- Parameters
-
pCorrelationGrid | correlation grid used for scan matching |
rScans | scans whose points will mark cells in grid as being occupied |
viewPoint | do not add points that belong to scans "opposite" the view point |
Definition at line 1084 of file OpenMapper.cpp.
Computes the angular covariance of the best pose
- Parameters
-
pScanMatcherGridSet | set of grids used for scan matching |
rBestPose | best pose |
bestResponse | best response |
rSearchCenter | center of search space |
searchAngleOffset | amount to search in each angular direction |
searchAngleResolution | angular resolution of search |
rCovariance | output parameter covariance |
Definition at line 1033 of file OpenMapper.cpp.
Computes the positional covariance of the best pose
- Parameters
-
pSearchSpaceProbs | probabilities of poses over search space |
rBestPose | best pose |
bestResponse | best response |
rSearchCenter | center of search space |
rSearchSpaceOffset | amount to search in each direction |
rSearchSpaceResolution | grid resolution of search |
searchAngleResolution | angular resolution of search |
rCovariance | output parameter covariance |
Definition at line 939 of file OpenMapper.cpp.
kt_double karto::ScanMatcher::CorrelateScan |
( |
ScanMatcherGridSet * |
pScanMatcherGridSet, |
|
|
LocalizedLaserScan * |
pScan, |
|
|
const Pose2 & |
rSearchCenter, |
|
|
const Vector2d & |
rSearchSpaceOffset, |
|
|
const Vector2d & |
rSearchSpaceResolution, |
|
|
kt_double |
searchAngleOffset, |
|
|
kt_double |
searchAngleResolution, |
|
|
kt_bool |
doPenalize, |
|
|
Pose2 & |
rMean, |
|
|
Matrix3 & |
rCovariance, |
|
|
kt_bool |
doingFineMatch |
|
) |
| |
Finds the best pose for the scan centering the search in the correlation grid at the given pose and search in the space by the vector and angular offsets in increments of the given resolutions
- Parameters
-
pScanMatcherGridSet | set of grids used for scan matching |
pScan | scan to match against correlation grid |
rSearchCenter | the center of the search space |
rSearchSpaceOffset | searches poses in the area offset by this vector around search center |
rSearchSpaceResolution | how fine a granularity to search in the search space |
searchAngleOffset | searches poses in the angles offset by this angle around search center |
searchAngleResolution | how fine a granularity to search in the angular search space |
doPenalize | whether to penalize matches further from the search center |
rMean | output parameter of mean (best pose) of match |
rCovariance | output parameter of covariance of match |
doingFineMatch | whether to do a finer search after coarse search |
- Returns
- strength of response
Definition at line 718 of file OpenMapper.cpp.
Creates a scan matcher with the given parameters
- Parameters
-
pOpenMapper | mapper |
searchSize | how much to search in each direction |
resolution | grid resolution |
smearDeviation | amount to smear when adding scans to grid |
rangeThreshold | cutoff for range readings |
- Returns
- scan matcher
Definition at line 441 of file OpenMapper.cpp.
Computes which points in a scan are on the same side as the given viewpoint
- Parameters
-
pScan | scan |
rViewPoint | viewpoint |
- Returns
- points on the same side
Definition at line 1188 of file OpenMapper.cpp.
Gets the correlation grid data (for debugging). NOTE: This only works in single-threaded mode.
- Exceptions
-
- Returns
- correlation grid
Definition at line 1287 of file OpenMapper.cpp.
Gets response at given position for given rotation (only look up valid points)
- Parameters
-
pScanMatcherGridSet | set of grids used for scan matching |
angleIndex | index of angle |
gridPositionIndex | index of grid position |
- Returns
- response
Definition at line 1245 of file OpenMapper.cpp.
Gets the search grid data (for debugging). NOTE: This only works in single-threaded mode.
- Exceptions
-
- Returns
- search grid
Definition at line 1299 of file OpenMapper.cpp.
Matches given scan against set of scans
- Parameters
-
pScan | scan being scan-matched |
rBaseScans | set of scans whose points will mark cells in grid as being occupied |
rMean | output parameter of mean (best pose) of match |
rCovariance | output parameter of covariance of match |
doPenalize | whether to penalize matches further from the search center |
doRefineMatch | whether to do finer-grained matching if coarse match is good |
- Returns
- strength of response
Definition at line 496 of file OpenMapper.cpp.
The documentation for this class was generated from the following files: