#include <Mapper.h>

Public Member Functions | |
| Edge< LocalizedRangeScan > * | AddEdge (LocalizedRangeScan *pSourceScan, LocalizedRangeScan *pTargetScan, kt_bool &rIsNewEdge) |
| void | AddEdges (LocalizedRangeScan *pScan, const Matrix3 &rCovariance) |
| void | AddVertex (LocalizedRangeScan *pScan) |
| LocalizedRangeScanVector | FindNearLinkedScans (LocalizedRangeScan *pScan, kt_double maxDistance) |
| ScanMatcher * | GetLoopScanMatcher () const |
| MapperGraph (Mapper *pMapper, kt_double rangeThreshold) | |
| kt_bool | TryCloseLoop (LocalizedRangeScan *pScan, const Name &rSensorName) |
| virtual | ~MapperGraph () |
Public Member Functions inherited from karto::Graph< LocalizedRangeScan > | |
| void | AddEdge (Edge< LocalizedRangeScan > *pEdge) |
| void | AddVertex (const Name &rName, Vertex< LocalizedRangeScan > *pVertex) |
| void | Clear () |
| const std::vector< Edge< LocalizedRangeScan > * > & | GetEdges () const |
| const VertexMap & | GetVertices () const |
| Graph () | |
| virtual | ~Graph () |
Private Member Functions | |
| Pose2 | ComputeWeightedMean (const Pose2Vector &rMeans, const std::vector< Matrix3 > &rCovariances) const |
| void | CorrectPoses () |
| std::vector< LocalizedRangeScanVector > | FindNearChains (LocalizedRangeScan *pScan) |
| LocalizedRangeScanVector | FindPossibleLoopClosure (LocalizedRangeScan *pScan, const Name &rSensorName, kt_int32u &rStartNum) |
| LocalizedRangeScan * | GetClosestScanToPose (const LocalizedRangeScanVector &rScans, const Pose2 &rPose) const |
| Vertex< LocalizedRangeScan > * | GetVertex (LocalizedRangeScan *pScan) |
| void | LinkChainToScan (const LocalizedRangeScanVector &rChain, LocalizedRangeScan *pScan, const Pose2 &rMean, const Matrix3 &rCovariance) |
| void | LinkNearChains (LocalizedRangeScan *pScan, Pose2Vector &rMeans, std::vector< Matrix3 > &rCovariances) |
| void | LinkScans (LocalizedRangeScan *pFromScan, LocalizedRangeScan *pToScan, const Pose2 &rMean, const Matrix3 &rCovariance) |
Private Attributes | |
| ScanMatcher * | m_pLoopScanMatcher |
| Mapper * | m_pMapper |
| GraphTraversal< LocalizedRangeScan > * | m_pTraversal |
Additional Inherited Members | |
Public Types inherited from karto::Graph< LocalizedRangeScan > | |
| typedef std::map< Name, std::vector< Vertex< LocalizedRangeScan > * > > | VertexMap |
Protected Attributes inherited from karto::Graph< LocalizedRangeScan > | |
| std::vector< Edge< LocalizedRangeScan > * > | m_Edges |
| VertexMap | m_Vertices |
|
virtual |
Destructor
Definition at line 1136 of file Mapper.cpp.
| Edge< LocalizedRangeScan > * karto::MapperGraph::AddEdge | ( | LocalizedRangeScan * | pSourceScan, |
| LocalizedRangeScan * | pTargetScan, | ||
| kt_bool & | rIsNewEdge | ||
| ) |
Creates an edge between the source scan vertex and the target scan vertex if it does not already exist; otherwise return the existing edge
| pSourceScan | |
| pTargetScan | |
| rIsNewEdge | set to true if the edge is new |
Definition at line 1313 of file Mapper.cpp.
| void karto::MapperGraph::AddEdges | ( | LocalizedRangeScan * | pScan, |
| const Matrix3 & | rCovariance | ||
| ) |
Link scan to last scan and nearby chains of scans
| pScan | |
| rCovariance | uncertainty of match |
Definition at line 1160 of file Mapper.cpp.
| void karto::MapperGraph::AddVertex | ( | LocalizedRangeScan * | pScan | ) |
Adds a vertex representing the given scan to the graph
| pScan |
Definition at line 1145 of file Mapper.cpp.
|
private |
Compute mean of poses weighted by covariances
| rMeans | |
| rCovariances |
Definition at line 1506 of file Mapper.cpp.
|
private |
Optimizes scan poses
Definition at line 1600 of file Mapper.cpp.
|
private |
Find chains of scans that are close to given scan
| pScan |
Definition at line 1398 of file Mapper.cpp.
| LocalizedRangeScanVector karto::MapperGraph::FindNearLinkedScans | ( | LocalizedRangeScan * | pScan, |
| kt_double | maxDistance | ||
| ) |
Find "nearby" (no further than given distance away) scans through graph links
| pScan | |
| maxDistance |
Definition at line 1497 of file Mapper.cpp.
|
private |
Tries to find a chain of scan from the given device starting at the given scan index that could possibly close a loop with the given scan
| pScan | |
| rSensorName | |
| rStartNum |
Definition at line 1550 of file Mapper.cpp.
|
private |
Finds the closest scan in the vector to the given pose
| rScans | |
| rPose |
Definition at line 1292 of file Mapper.cpp.
|
inline |
|
inlineprivate |
|
private |
Link the chain of scans to the given scan by finding the closest scan in the chain to the given scan
| rChain | |
| pScan | |
| rMean | |
| rCovariance |
Definition at line 1381 of file Mapper.cpp.
|
private |
Find nearby chains of scans and link them to scan if response is high enough
| pScan | |
| rMeans | |
| rCovariances |
Definition at line 1358 of file Mapper.cpp.
|
private |
Adds an edge between the two scans and labels the edge with the given mean and covariance
| pFromScan | |
| pToScan | |
| rMean | |
| rCovariance |
Definition at line 1341 of file Mapper.cpp.
| kt_bool karto::MapperGraph::TryCloseLoop | ( | LocalizedRangeScan * | pScan, |
| const Name & | rSensorName | ||
| ) |
Tries to close a loop using the given scan with the scans from the given device
| pScan | |
| rSensorName |
Definition at line 1226 of file Mapper.cpp.
|
private |
|
private |
|
private |