#include <OpenMapper.h>

Private Member Functions | |
| Pose2 | ComputeWeightedMean (const Pose2List &rMeans, const List< Matrix3 > &rCovariances) const |
| void | CorrectPoses () |
| List< LocalizedLaserScanList > | FindNearChains (LocalizedLaserScan *pScan) |
| LocalizedLaserScanList | FindPossibleLoopClosure (LocalizedLaserScan *pScan, const Identifier &rSensorName, kt_int32u &rStartScanIndex) |
| LocalizedLaserScan * | GetClosestScanToPose (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 | |
| ScanMatcher * | m_pLoopScanMatcher |
| OpenMapper * | m_pOpenMapper |
| GraphTraversal< LocalizedObjectPtr > * | m_pTraversal |
Additional Inherited Members | |
Public Types inherited from karto::Graph< LocalizedObjectPtr > | |
| typedef List< Edge< LocalizedObjectPtr > * > | EdgeList |
| typedef List< Vertex< LocalizedObjectPtr > * > | VertexList |
Protected Attributes inherited from karto::Graph< LocalizedObjectPtr > | |
| EdgeList | m_Edges |
| VertexList | m_Vertices |
Graph for graph SLAM algorithm
Definition at line 563 of file OpenMapper.h.
| karto::MapperGraph::MapperGraph | ( | OpenMapper * | pOpenMapper, |
| kt_double | rangeThreshold | ||
| ) |
Graph for graph SLAM
| pOpenMapper | mapper |
| rangeThreshold | range threshold |
Definition at line 1429 of file OpenMapper.cpp.
|
virtual |
Destructor
Definition at line 1438 of file OpenMapper.cpp.
| 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
| pSourceObject | source object |
| pTargetObject | target object |
| rIsNewEdge | set to true if the edge is new |
Definition at line 1653 of file OpenMapper.cpp.
| void karto::MapperGraph::AddEdges | ( | LocalizedObject * | pObject | ) |
| void karto::MapperGraph::AddEdges | ( | LocalizedLaserScan * | pScan, |
| const Matrix3 & | rCovariance | ||
| ) |
Links scan to last scan and nearby chains of scans
| pScan | scan |
| rCovariance | match uncertainty |
Definition at line 1490 of file OpenMapper.cpp.
| void karto::MapperGraph::AddVertex | ( | LocalizedObject * | pObject | ) |
Adds a vertex representing the given object to the graph
| pObject | object |
Definition at line 1447 of file OpenMapper.cpp.
|
private |
Compute mean of poses weighted by covariances
| rMeans | list of poses |
| rCovariances | uncertainties |
Definition at line 2033 of file OpenMapper.cpp.
|
private |
Optimizes scan poses
Definition at line 2125 of file OpenMapper.cpp.
|
private |
Finds chains of scans that are close to given scan
| pScan | scan |
Definition at line 1861 of file OpenMapper.cpp.
| LocalizedLaserScanList karto::MapperGraph::FindNearLinkedScans | ( | LocalizedLaserScan * | pScan, |
| kt_double | maxDistance | ||
| ) |
Finds "nearby" (no further than given distance away) scans through graph links
| pScan | scan |
| maxDistance | maximum distance |
Definition at line 1987 of file OpenMapper.cpp.
| LocalizedLaserScanList karto::MapperGraph::FindOverlappingScans | ( | karto::LocalizedLaserScan * | pScan | ) |
Finds scans that overlap the given scan (based on bounding boxes)
| pScan | scan |
Definition at line 2007 of file OpenMapper.cpp.
|
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
| pScan | scan |
| rSensorName | name of sensor |
| rStartScanIndex | start index |
Definition at line 2077 of file OpenMapper.cpp.
|
private |
Finds the closest scan in the vector to the given pose
| rScans | scan |
| rPose | pose |
Definition at line 1633 of file OpenMapper.cpp.
|
inline |
|
inlineprivate |
Gets the vertex associated with the given scan
| pScan | 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
| rChain | chain |
| pScan | scan |
| rMean | mean |
| rCovariance | match uncertainty |
Definition at line 1842 of file OpenMapper.cpp.
|
private |
Finds nearby chains of scans and link them to scan if response is high enough
| pScan | scan |
| rMeans | means |
| rCovariances | match uncertainties |
Definition at line 1761 of file OpenMapper.cpp.
|
private |
Adds an edge between the two objects and labels the edge with the given mean and covariance
| pFromObject | from object |
| pToObject | to object |
| rMean | mean |
| rCovariance | match uncertainty |
Definition at line 1680 of file OpenMapper.cpp.
| kt_bool karto::MapperGraph::TryCloseLoop | ( | LocalizedLaserScan * | pScan, |
| const Identifier & | rSensorName | ||
| ) |
Tries to close a loop using the given scan with the scans from the given sensor
| pScan | scan |
| rSensorName | name of sensor |
Definition at line 1551 of file OpenMapper.cpp.
|
private |
Scan matcher for loop closures
Definition at line 723 of file OpenMapper.h.
|
private |
Mapper of this graph
Definition at line 718 of file OpenMapper.h.
|
private |
Traversal algorithm to find near linked scans
Definition at line 728 of file OpenMapper.h.