#include <Mapper.h>
Private Member Functions | |
Pose2 | ComputeWeightedMean (const Pose2Vector &rMeans, const std::vector< Matrix3 > &rCovariances) const |
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) |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
ScanMatcher * | m_pLoopScanMatcher |
Mapper * | m_pMapper |
GraphTraversal< LocalizedRangeScan > * | m_pTraversal |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Public Types inherited from karto::Graph< LocalizedRangeScan > | |
typedef std::map< Name, std::map< int, Vertex< LocalizedRangeScan > * > > | VertexMap |
Protected Member Functions inherited from karto::Graph< LocalizedRangeScan > | |
void | serialize (Archive &ar, const unsigned int version) |
Protected Attributes inherited from karto::Graph< LocalizedRangeScan > | |
std::vector< Edge< LocalizedRangeScan > * > | m_Edges |
VertexMap | m_Vertices |
|
virtual |
Destructor
Definition at line 1441 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 1631 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 1473 of file Mapper.cpp.
Vertex< LocalizedRangeScan > * karto::MapperGraph::AddVertex | ( | LocalizedRangeScan * | pScan | ) |
Adds a vertex representing the given scan to the graph
pScan |
Definition at line 1455 of file Mapper.cpp.
|
private |
Compute mean of poses weighted by covariances
rMeans | |
rCovariances |
Definition at line 1945 of file Mapper.cpp.
void karto::MapperGraph::CorrectPoses | ( | ) |
Optimizes scan poses
Definition at line 2044 of file Mapper.cpp.
Vertex< LocalizedRangeScan > * karto::MapperGraph::FindNearByScan | ( | Name | name, |
const Pose2 | refPose | ||
) |
LocalizedRangeScanVector karto::MapperGraph::FindNearByScans | ( | Name | name, |
const Pose2 | refPose, | ||
kt_double | maxDistance | ||
) |
Find "nearby" (no further than given distance away) scans through graph links
pScan | |
maxDistance |
Definition at line 1853 of file Mapper.cpp.
std::vector< Vertex< LocalizedRangeScan > * > karto::MapperGraph::FindNearByVertices | ( | Name | name, |
const Pose2 | refPose, | ||
kt_double | maxDistance | ||
) |
Find "nearby" (no further than given distance away) vertices through KD-tree
pScan | |
maxDistance |
Definition at line 1865 of file Mapper.cpp.
|
private |
Find chains of scans that are close to given scan
pScan |
Definition at line 1724 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 1835 of file Mapper.cpp.
std::vector< Vertex< LocalizedRangeScan > * > karto::MapperGraph::FindNearLinkedVertices | ( | LocalizedRangeScan * | pScan, |
kt_double | maxDistance | ||
) |
Find "nearby" (no further than given distance away) vertices through graph links
pScan | |
maxDistance |
Definition at line 1844 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 1989 of file Mapper.cpp.
|
private |
Finds the closest scan in the vector to the given pose
rScans | |
rPose |
Definition at line 1610 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 1707 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 1684 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 1662 of file Mapper.cpp.
|
inlineprivate |
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 1544 of file Mapper.cpp.
void karto::MapperGraph::UpdateLoopScanMatcher | ( | kt_double | rangeThreshold | ) |
Create new scan matcher for graph
rangeThreshold |
Definition at line 2066 of file Mapper.cpp.
|
friend |
Serialization: class MapperGraph
|
private |
|
private |
|
private |