Public Member Functions | Private Member Functions | Private Attributes
karto::MapperGraph Class Reference

#include <OpenMapper.h>

Inheritance diagram for karto::MapperGraph:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Edge< LocalizedObjectPtr > * AddEdge (LocalizedObject *pSourceObject, LocalizedObject *pTargetObject, kt_bool &rIsNewEdge)
void AddEdges (LocalizedObject *pObject)
void AddEdges (LocalizedLaserScan *pScan, const Matrix3 &rCovariance)
void AddVertex (LocalizedObject *pObject)
LocalizedLaserScanList FindNearLinkedScans (LocalizedLaserScan *pScan, kt_double maxDistance)
LocalizedLaserScanList FindOverlappingScans (LocalizedLaserScan *pScan)
ScanMatcherGetLoopScanMatcher () const
void LinkChainToScan (const LocalizedLaserScanList &rChain, LocalizedLaserScan *pScan, const Pose2 &rMean, const Matrix3 &rCovariance)
 MapperGraph (OpenMapper *pOpenMapper, kt_double rangeThreshold)
kt_bool TryCloseLoop (LocalizedLaserScan *pScan, const Identifier &rSensorName)
virtual ~MapperGraph ()

Private Member Functions

Pose2 ComputeWeightedMean (const Pose2List &rMeans, const List< Matrix3 > &rCovariances) const
void CorrectPoses ()
List< LocalizedLaserScanListFindNearChains (LocalizedLaserScan *pScan)
LocalizedLaserScanList FindPossibleLoopClosure (LocalizedLaserScan *pScan, const Identifier &rSensorName, kt_int32u &rStartScanIndex)
LocalizedLaserScanGetClosestScanToPose (const LocalizedLaserScanList &rScans, const Pose2 &rPose) const
Vertex< LocalizedObjectPtr > * GetVertex (LocalizedObject *pObject)
void LinkNearChains (LocalizedLaserScan *pScan, Pose2List &rMeans, List< Matrix3 > &rCovariances)
void LinkObjects (LocalizedObject *pFromObject, LocalizedObject *pToObject, const Pose2 &rMean, const Matrix3 &rCovariance)

Private Attributes

ScanMatcherm_pLoopScanMatcher
OpenMapperm_pOpenMapper
GraphTraversal
< LocalizedObjectPtr > * 
m_pTraversal

Detailed Description

Graph for graph SLAM algorithm

Definition at line 563 of file OpenMapper.h.


Constructor & Destructor Documentation

karto::MapperGraph::MapperGraph ( OpenMapper pOpenMapper,
kt_double  rangeThreshold 
)

Graph for graph SLAM

Parameters:
pOpenMappermapper
rangeThresholdrange threshold

Definition at line 1429 of file OpenMapper.cpp.

Destructor

Definition at line 1438 of file OpenMapper.cpp.


Member Function Documentation

Edge< LocalizedObjectPtr > * karto::MapperGraph::AddEdge ( LocalizedObject pSourceObject,
LocalizedObject pTargetObject,
kt_bool rIsNewEdge 
)

Creates an edge between the source object and the target object if it does not already exist; otherwise return the existing edge

Parameters:
pSourceObjectsource object
pTargetObjecttarget object
rIsNewEdgeset to true if the edge is new
Returns:
edge between source and target vertices

Definition at line 1653 of file OpenMapper.cpp.

Links object to last scan

Parameters:
pObjectobject

Definition at line 1464 of file OpenMapper.cpp.

void karto::MapperGraph::AddEdges ( LocalizedLaserScan pScan,
const Matrix3 rCovariance 
)

Links scan to last scan and nearby chains of scans

Parameters:
pScanscan
rCovariancematch uncertainty

Definition at line 1490 of file OpenMapper.cpp.

Adds a vertex representing the given object to the graph

Parameters:
pObjectobject

Definition at line 1447 of file OpenMapper.cpp.

Pose2 karto::MapperGraph::ComputeWeightedMean ( const Pose2List rMeans,
const List< Matrix3 > &  rCovariances 
) const [private]

Compute mean of poses weighted by covariances

Parameters:
rMeanslist of poses
rCovariancesuncertainties
Returns:
weighted mean

Definition at line 2033 of file OpenMapper.cpp.

Optimizes scan poses

Definition at line 2125 of file OpenMapper.cpp.

Finds chains of scans that are close to given scan

Parameters:
pScanscan
Returns:
chains of scans

Definition at line 1861 of file OpenMapper.cpp.

Finds "nearby" (no further than given distance away) scans through graph links

Parameters:
pScanscan
maxDistancemaximum distance
Returns:
"nearby" scans that have a path of links to given scan

Definition at line 1987 of file OpenMapper.cpp.

Finds scans that overlap the given scan (based on bounding boxes)

Parameters:
pScanscan
Returns:
overlapping scans

Definition at line 2007 of file OpenMapper.cpp.

LocalizedLaserScanList karto::MapperGraph::FindPossibleLoopClosure ( LocalizedLaserScan pScan,
const Identifier rSensorName,
kt_int32u rStartScanIndex 
) [private]

Tries to find a chain of scan from the given sensor starting at the given scan index that could possibly close a loop with the given scan

Parameters:
pScanscan
rSensorNamename of sensor
rStartScanIndexstart index
Returns:
chain that can possibly close a loop with given scan

Definition at line 2077 of file OpenMapper.cpp.

LocalizedLaserScan * karto::MapperGraph::GetClosestScanToPose ( const LocalizedLaserScanList rScans,
const Pose2 rPose 
) const [private]

Finds the closest scan in the vector to the given pose

Parameters:
rScansscan
rPosepose

Definition at line 1633 of file OpenMapper.cpp.

Gets the graph's scan matcher

Returns:
scan matcher

Definition at line 635 of file OpenMapper.h.

Gets the vertex associated with the given scan

Parameters:
pScanscan
Returns:
vertex of scan

Definition at line 655 of file OpenMapper.h.

void karto::MapperGraph::LinkChainToScan ( const LocalizedLaserScanList rChain,
LocalizedLaserScan pScan,
const Pose2 rMean,
const Matrix3 rCovariance 
)

Links the chain of scans to the given scan by finding the closest scan in the chain to the given scan

Parameters:
rChainchain
pScanscan
rMeanmean
rCovariancematch uncertainty

Definition at line 1842 of file OpenMapper.cpp.

void karto::MapperGraph::LinkNearChains ( LocalizedLaserScan pScan,
Pose2List rMeans,
List< Matrix3 > &  rCovariances 
) [private]

Finds nearby chains of scans and link them to scan if response is high enough

Parameters:
pScanscan
rMeansmeans
rCovariancesmatch uncertainties

Definition at line 1761 of file OpenMapper.cpp.

void karto::MapperGraph::LinkObjects ( LocalizedObject pFromObject,
LocalizedObject pToObject,
const Pose2 rMean,
const Matrix3 rCovariance 
) [private]

Adds an edge between the two objects and labels the edge with the given mean and covariance

Parameters:
pFromObjectfrom object
pToObjectto object
rMeanmean
rCovariancematch uncertainty

Definition at line 1680 of file OpenMapper.cpp.

Tries to close a loop using the given scan with the scans from the given sensor

Parameters:
pScanscan
rSensorNamename of sensor
Returns:
true if a loop was closed

Definition at line 1551 of file OpenMapper.cpp.


Member Data Documentation

Scan matcher for loop closures

Definition at line 723 of file OpenMapper.h.

Mapper of this graph

Definition at line 718 of file OpenMapper.h.

Traversal algorithm to find near linked scans

Definition at line 728 of file OpenMapper.h.


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


nav2d_karto
Author(s): Sebastian Kasperski
autogenerated on Sun Apr 2 2017 03:53:09