Class that contains the core optimization algorithm. More...
#include <treeoptimizer2.hh>

Public Types | |
| typedef std::vector< Pose > | PoseVector |
Public Types inherited from AISNavigation::TreePoseGraph2 | |
| typedef Operations2D< double >::CovarianceType | CovarianceMatrix |
| typedef Operations2D< double >::InformationType | InformationMatrix |
| typedef Operations2D< double >::PoseType | Pose |
| typedef Operations2D< double >::RotationType | Rotation |
| typedef Operations2D< double >::TransformationType | Transformation |
| typedef Operations2D< double >::TranslationType | Translation |
Public Types inherited from AISNavigation::TreePoseGraph< Operations2D< double > > | |
| typedef Operations2D< double >::BaseType | BaseType |
| typedef Operations2D< double >::CovarianceType | Covariance |
| typedef EVComparator< Edge * >::CompareMode | EdgeCompareMode |
| typedef std::list< Edge * > | EdgeList |
| typedef std::map< Edge *, Edge * > | EdgeMap |
| typedef std::multiset< Edge *, EVComparator< Edge * > > | EdgeSet |
| typedef Operations2D< double >::InformationType | Information |
| typedef Operations2D< double >::ParametersType | Parameters |
| typedef Operations2D< double >::PoseType | Pose |
| typedef Operations2D< double >::RotationType | Rotation |
| typedef Operations2D< double >::TransformationType | Transformation |
| typedef Operations2D< double >::TranslationType | Translation |
| typedef std::map< int, Vertex * > | VertexMap |
| typedef std::set< Vertex * > | VertexSet |
Public Member Functions | |
| double | error () const |
| void | initializeOnlineOptimization () |
| void | initializeOptimization () |
| void | initializeTreeParameters () |
| void | iterate (TreePoseGraph2::EdgeSet *eset=0) |
| TreeOptimizer2 () | |
| virtual | ~TreeOptimizer2 () |
Public Member Functions inherited from AISNavigation::TreePoseGraph2 | |
| virtual void | collapseEdge (Edge *e) |
| virtual void | initializeFromParentEdge (Vertex *v) |
| void | initializeOnTree () |
| bool | load (const char *filename, bool overrideCovariances=false) |
| bool | loadEquivalences (const char *filename) |
| void | printDepth (std::ostream &os) |
| void | printEdgesStat (std::ostream &os) |
| void | printWidth (std::ostream &os) |
| virtual void | revertEdgeInfo (Edge *e) |
| bool | save (const char *filename) |
| bool | saveGnuplot (const char *filename) |
Public Member Functions inherited from AISNavigation::TreePoseGraph< Operations2D< double > > | |
| Edge * | addEdge (Vertex *v1, Vertex *v2, const Transformation &t, const Information &i) |
| Edge * | addIncrementalEdge (int id1, int id2, const Transformation &t, const Information &i) |
| Vertex * | addVertex (int id, const Pose &pose) |
| EdgeSet * | affectedEdges (Vertex *v) |
| EdgeSet * | affectedEdges (VertexSet &vl) |
| bool | buildMST (int id) |
| bool | buildSimpleTree () |
| void | clear () |
| void | compressIndices () |
| Edge * | edge (int id1, int id2) |
| const Edge * | edge (int id1, int id2) const |
| int | maxIndex () |
| int | maxPathLength () |
| Edge * | removeEdge (Edge *eq) |
| Vertex * | removeVertex (int id) |
| void | revertEdge (Edge *e) |
| bool | sanityCheck () |
| EdgeSet * | sortEdges () |
| int | totalPathLength () |
| void | treeBreadthVisit (Action &act) |
| void | treeDepthVisit (Action &act, Vertex *v) |
| TreePoseGraph () | |
| Vertex * | vertex (int id) |
| const Vertex * | vertex (int id) const |
| virtual | ~TreePoseGraph () |
Protected Member Functions | |
| void | computePreconditioner () |
| double | error (const Edge *e) const |
| Pose | getPose (Vertex *v, Vertex *top) |
| void | propagateErrors () |
| void | updatePoseChain (Vertex *v, Vertex *top) |
Protected Member Functions inherited from AISNavigation::TreePoseGraph< Operations2D< double > > | |
| void | fillEdgeInfo (Edge *e) |
| void | fillEdgesInfo () |
Protected Attributes | |
| double | gamma [3] |
| int | iteration |
| PoseVector | M |
Protected Attributes inherited from AISNavigation::TreePoseGraph< Operations2D< double > > | |
| EdgeCompareMode | edgeCompareMode |
Additional Inherited Members | |
Public Attributes inherited from AISNavigation::TreePoseGraph2 | |
| int | verboseLevel |
Public Attributes inherited from AISNavigation::TreePoseGraph< Operations2D< double > > | |
| EdgeMap | edges |
| Vertex * | root |
| EdgeSet * | sortedEdges |
| VertexMap | vertices |
Class that contains the core optimization algorithm.
Definition at line 52 of file treeoptimizer2.hh.
| typedef std::vector<Pose> AISNavigation::TreeOptimizer2::PoseVector |
Definition at line 53 of file treeoptimizer2.hh.
| AISNavigation::TreeOptimizer2::TreeOptimizer2 | ( | ) |
Constructor
Definition at line 69 of file treeoptimizer2.cpp.
|
virtual |
Destructor
Definition at line 74 of file treeoptimizer2.cpp.
|
protected |
The first of the two main steps of each iteration
Definition at line 107 of file treeoptimizer2.cpp.
| double AISNavigation::TreeOptimizer2::error | ( | ) | const |
Conmputes the gloabl error of the network
Definition at line 360 of file treeoptimizer2.cpp.
|
protected |
Conmputes the error of the constraint/edge e
Definition at line 315 of file treeoptimizer2.cpp.
|
protected |
Recomputes only the pose of the node v wrt. to an arbitraty parent (top) of v in the tree
Definition at line 299 of file treeoptimizer2.cpp.
| void AISNavigation::TreeOptimizer2::initializeOnlineOptimization | ( | ) |
Initialization function
Definition at line 98 of file treeoptimizer2.cpp.
| void AISNavigation::TreeOptimizer2::initializeOptimization | ( | ) |
Initialization function
Definition at line 82 of file treeoptimizer2.cpp.
| void AISNavigation::TreeOptimizer2::initializeTreeParameters | ( | ) |
Initialization function
Definition at line 77 of file treeoptimizer2.cpp.
| void AISNavigation::TreeOptimizer2::iterate | ( | TreePoseGraph2::EdgeSet * | eset = 0 | ) |
Performs one iteration of the algorithm
Definition at line 278 of file treeoptimizer2.cpp.
|
protected |
The second of the two main steps of each iteration
Definition at line 162 of file treeoptimizer2.cpp.
|
protected |
Recomputes the poses of all vertices from v to an arbitraty parent (top) of v in the tree
Definition at line 289 of file treeoptimizer2.cpp.
|
protected |
Used to compute the learning rate lambda
Definition at line 98 of file treeoptimizer2.hh.
|
protected |
Iteration counter
Definition at line 95 of file treeoptimizer2.hh.
|
protected |
The diaginal block elements of the preconditioning matrix (D_k in the paper)
Definition at line 102 of file treeoptimizer2.hh.