Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AISNavigation::TreeOptimizer2 Struct Reference

Class that contains the core optimization algorithm. More...

#include <treeoptimizer2.hh>

Inheritance diagram for AISNavigation::TreeOptimizer2:
Inheritance graph
[legend]

Public Types

typedef std::vector< PosePoseVector
 
- 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)
 
EdgeSetaffectedEdges (Vertex *v)
 
EdgeSetaffectedEdges (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 ()
 
EdgeSetsortEdges ()
 
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
 
EdgeSetsortedEdges
 
VertexMap vertices
 

Detailed Description

Class that contains the core optimization algorithm.

Definition at line 52 of file treeoptimizer2.hh.

Member Typedef Documentation

Definition at line 53 of file treeoptimizer2.hh.

Constructor & Destructor Documentation

AISNavigation::TreeOptimizer2::TreeOptimizer2 ( )

Constructor

Definition at line 69 of file treeoptimizer2.cpp.

AISNavigation::TreeOptimizer2::~TreeOptimizer2 ( )
virtual

Destructor

Definition at line 74 of file treeoptimizer2.cpp.

Member Function Documentation

void AISNavigation::TreeOptimizer2::computePreconditioner ( )
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.

double AISNavigation::TreeOptimizer2::error ( const Edge *  e) const
protected

Conmputes the error of the constraint/edge e

Definition at line 315 of file treeoptimizer2.cpp.

TreeOptimizer2::Pose AISNavigation::TreeOptimizer2::getPose ( Vertex *  v,
Vertex *  top 
)
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.

void AISNavigation::TreeOptimizer2::propagateErrors ( )
protected

The second of the two main steps of each iteration

Definition at line 162 of file treeoptimizer2.cpp.

void AISNavigation::TreeOptimizer2::updatePoseChain ( Vertex *  v,
Vertex *  top 
)
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.

Member Data Documentation

double AISNavigation::TreeOptimizer2::gamma[3]
protected

Used to compute the learning rate lambda

Definition at line 98 of file treeoptimizer2.hh.

int AISNavigation::TreeOptimizer2::iteration
protected

Iteration counter

Definition at line 95 of file treeoptimizer2.hh.

PoseVector AISNavigation::TreeOptimizer2::M
protected

The diaginal block elements of the preconditioning matrix (D_k in the paper)

Definition at line 102 of file treeoptimizer2.hh.


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


rtabmap
Author(s): Mathieu Labbe
autogenerated on Mon Dec 14 2020 03:37:08