Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
rtabmap::Optimizer Class Referenceabstract

#include <Optimizer.h>

Inheritance diagram for rtabmap::Optimizer:
Inheritance graph
[legend]

Public Types

enum  Type {
  kTypeUndef = -1, kTypeTORO = 0, kTypeG2O = 1, kTypeGTSAM = 2,
  kTypeCeres = 3, kTypeCVSBA = 4
}
 

Public Member Functions

void computeBACorrespondences (const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, Signature > &signatures, std::map< int, cv::Point3f > &points3DMap, std::map< int, std::map< int, FeatureBA > > &wordReferences, bool rematchFeatures=false)
 
double epsilon () const
 
void getConnectedGraph (int fromId, const std::map< int, Transform > &posesIn, const std::multimap< int, Link > &linksIn, std::map< int, Transform > &posesOut, std::multimap< int, Link > &linksOut, bool adjustPosesWithConstraints=true) const
 
float gravitySigma () const
 
bool isCovarianceIgnored () const
 
bool isRobust () const
 
bool isSlam2d () const
 
int iterations () const
 
bool landmarksIgnored () const
 
std::map< int, Transformoptimize (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints, std::list< std::map< int, Transform > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0)
 
virtual std::map< int, Transformoptimize (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints, cv::Mat &outputCovariance, std::list< std::map< int, Transform > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0)
 
virtual std::map< int, TransformoptimizeBA (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, std::vector< CameraModel > > &models, std::map< int, cv::Point3f > &points3DMap, const std::map< int, std::map< int, FeatureBA > > &wordReferences, std::set< int > *outliers=0)
 
std::map< int, TransformoptimizeBA (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, Signature > &signatures, std::map< int, cv::Point3f > &points3DMap, std::map< int, std::map< int, FeatureBA > > &wordReferences, bool rematchFeatures=false)
 
std::map< int, TransformoptimizeBA (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, Signature > &signatures, bool rematchFeatures=false)
 
Transform optimizeBA (const Link &link, const CameraModel &model, std::map< int, cv::Point3f > &points3DMap, const std::map< int, std::map< int, FeatureBA > > &wordReferences, std::set< int > *outliers=0)
 
std::map< int, TransformoptimizeIncremental (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints, std::list< std::map< int, Transform > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0)
 
virtual void parseParameters (const ParametersMap &parameters)
 
bool priorsIgnored () const
 
void setCovarianceIgnored (bool enabled)
 
void setEpsilon (double epsilon)
 
void setGravitySigma (float value)
 
void setIterations (int iterations)
 
void setLandmarksIgnored (bool enabled)
 
void setPriorsIgnored (bool enabled)
 
void setRobust (bool enabled)
 
void setSlam2d (bool enabled)
 
virtual Type type () const =0
 
virtual ~Optimizer ()
 

Static Public Member Functions

static Optimizercreate (const ParametersMap &parameters)
 
static Optimizercreate (Optimizer::Type type, const ParametersMap &parameters=ParametersMap())
 
static bool isAvailable (Optimizer::Type type)
 

Protected Member Functions

 Optimizer (int iterations=Parameters::defaultOptimizerIterations(), bool slam2d=Parameters::defaultRegForce3DoF(), bool covarianceIgnored=Parameters::defaultOptimizerVarianceIgnored(), double epsilon=Parameters::defaultOptimizerEpsilon(), bool robust=Parameters::defaultOptimizerRobust(), bool priorsIgnored=Parameters::defaultOptimizerPriorsIgnored(), bool landmarksIgnored=Parameters::defaultOptimizerLandmarksIgnored(), float gravitySigma=Parameters::defaultOptimizerGravitySigma())
 
 Optimizer (const ParametersMap &parameters)
 

Private Attributes

bool covarianceIgnored_
 
double epsilon_
 
float gravitySigma_
 
int iterations_
 
bool landmarksIgnored_
 
bool priorsIgnored_
 
bool robust_
 
bool slam2d_
 

Detailed Description

Definition at line 61 of file Optimizer.h.

Member Enumeration Documentation

◆ Type

Enumerator
kTypeUndef 
kTypeTORO 
kTypeG2O 
kTypeGTSAM 
kTypeCeres 
kTypeCVSBA 

Definition at line 64 of file Optimizer.h.

Constructor & Destructor Documentation

◆ ~Optimizer()

virtual rtabmap::Optimizer::~Optimizer ( )
inlinevirtual

Definition at line 86 of file Optimizer.h.

◆ Optimizer() [1/2]

rtabmap::Optimizer::Optimizer ( int  iterations = Parameters::defaultOptimizerIterations(),
bool  slam2d = Parameters::defaultRegForce3DoF(),
bool  covarianceIgnored = Parameters::defaultOptimizerVarianceIgnored(),
double  epsilon = Parameters::defaultOptimizerEpsilon(),
bool  robust = Parameters::defaultOptimizerRobust(),
bool  priorsIgnored = Parameters::defaultOptimizerPriorsIgnored(),
bool  landmarksIgnored = Parameters::defaultOptimizerLandmarksIgnored(),
float  gravitySigma = Parameters::defaultOptimizerGravitySigma() 
)
protected

Definition at line 304 of file Optimizer.cpp.

◆ Optimizer() [2/2]

rtabmap::Optimizer::Optimizer ( const ParametersMap parameters)
protected

Definition at line 316 of file Optimizer.cpp.

Member Function Documentation

◆ computeBACorrespondences()

void rtabmap::Optimizer::computeBACorrespondences ( const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  links,
const std::map< int, Signature > &  signatures,
std::map< int, cv::Point3f > &  points3DMap,
std::map< int, std::map< int, FeatureBA > > &  wordReferences,
bool  rematchFeatures = false 
)

Definition at line 560 of file Optimizer.cpp.

◆ create() [1/2]

Optimizer * rtabmap::Optimizer::create ( const ParametersMap parameters)
static

Definition at line 72 of file Optimizer.cpp.

◆ create() [2/2]

Optimizer * rtabmap::Optimizer::create ( Optimizer::Type  type,
const ParametersMap parameters = ParametersMap() 
)
static

Definition at line 79 of file Optimizer.cpp.

◆ epsilon()

double rtabmap::Optimizer::epsilon ( ) const
inline

Definition at line 94 of file Optimizer.h.

◆ getConnectedGraph()

void rtabmap::Optimizer::getConnectedGraph ( int  fromId,
const std::map< int, Transform > &  posesIn,
const std::multimap< int, Link > &  linksIn,
std::map< int, Transform > &  posesOut,
std::multimap< int, Link > &  linksOut,
bool  adjustPosesWithConstraints = true 
) const

Definition at line 188 of file Optimizer.cpp.

◆ gravitySigma()

float rtabmap::Optimizer::gravitySigma ( ) const
inline

Definition at line 98 of file Optimizer.h.

◆ isAvailable()

bool rtabmap::Optimizer::isAvailable ( Optimizer::Type  type)
static

Definition at line 47 of file Optimizer.cpp.

◆ isCovarianceIgnored()

bool rtabmap::Optimizer::isCovarianceIgnored ( ) const
inline

Definition at line 93 of file Optimizer.h.

◆ isRobust()

bool rtabmap::Optimizer::isRobust ( ) const
inline

Definition at line 95 of file Optimizer.h.

◆ isSlam2d()

bool rtabmap::Optimizer::isSlam2d ( ) const
inline

Definition at line 92 of file Optimizer.h.

◆ iterations()

int rtabmap::Optimizer::iterations ( ) const
inline

Definition at line 91 of file Optimizer.h.

◆ landmarksIgnored()

bool rtabmap::Optimizer::landmarksIgnored ( ) const
inline

Definition at line 97 of file Optimizer.h.

◆ optimize() [1/2]

std::map< int, Transform > rtabmap::Optimizer::optimize ( int  rootId,
const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  constraints,
std::list< std::map< int, Transform > > *  intermediateGraphes = 0,
double *  finalError = 0,
int *  iterationsDone = 0 
)

Definition at line 406 of file Optimizer.cpp.

◆ optimize() [2/2]

std::map< int, Transform > rtabmap::Optimizer::optimize ( int  rootId,
const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  constraints,
cv::Mat &  outputCovariance,
std::list< std::map< int, Transform > > *  intermediateGraphes = 0,
double *  finalError = 0,
int *  iterationsDone = 0 
)
virtual

◆ optimizeBA() [1/4]

std::map< int, Transform > rtabmap::Optimizer::optimizeBA ( int  rootId,
const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  links,
const std::map< int, std::vector< CameraModel > > &  models,
std::map< int, cv::Point3f > &  points3DMap,
const std::map< int, std::map< int, FeatureBA > > &  wordReferences,
std::set< int > *  outliers = 0 
)
virtual

Reimplemented in rtabmap::OptimizerG2O, and rtabmap::OptimizerCVSBA.

Definition at line 437 of file Optimizer.cpp.

◆ optimizeBA() [2/4]

std::map< int, Transform > rtabmap::Optimizer::optimizeBA ( int  rootId,
const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  links,
const std::map< int, Signature > &  signatures,
std::map< int, cv::Point3f > &  points3DMap,
std::map< int, std::map< int, FeatureBA > > &  wordReferences,
bool  rematchFeatures = false 
)

Definition at line 450 of file Optimizer.cpp.

◆ optimizeBA() [3/4]

std::map< int, Transform > rtabmap::Optimizer::optimizeBA ( int  rootId,
const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  links,
const std::map< int, Signature > &  signatures,
bool  rematchFeatures = false 
)

Definition at line 512 of file Optimizer.cpp.

◆ optimizeBA() [4/4]

Transform rtabmap::Optimizer::optimizeBA ( const Link link,
const CameraModel model,
std::map< int, cv::Point3f > &  points3DMap,
const std::map< int, std::map< int, FeatureBA > > &  wordReferences,
std::set< int > *  outliers = 0 
)

Definition at line 524 of file Optimizer.cpp.

◆ optimizeIncremental()

std::map< int, Transform > rtabmap::Optimizer::optimizeIncremental ( int  rootId,
const std::map< int, Transform > &  poses,
const std::multimap< int, Link > &  constraints,
std::list< std::map< int, Transform > > *  intermediateGraphes = 0,
double *  finalError = 0,
int *  iterationsDone = 0 
)

Definition at line 341 of file Optimizer.cpp.

◆ parseParameters()

void rtabmap::Optimizer::parseParameters ( const ParametersMap parameters)
virtual

Reimplemented in rtabmap::OptimizerGTSAM, and rtabmap::OptimizerG2O.

Definition at line 329 of file Optimizer.cpp.

◆ priorsIgnored()

bool rtabmap::Optimizer::priorsIgnored ( ) const
inline

Definition at line 96 of file Optimizer.h.

◆ setCovarianceIgnored()

void rtabmap::Optimizer::setCovarianceIgnored ( bool  enabled)
inline

Definition at line 103 of file Optimizer.h.

◆ setEpsilon()

void rtabmap::Optimizer::setEpsilon ( double  epsilon)
inline

Definition at line 104 of file Optimizer.h.

◆ setGravitySigma()

void rtabmap::Optimizer::setGravitySigma ( float  value)
inline

Definition at line 108 of file Optimizer.h.

◆ setIterations()

void rtabmap::Optimizer::setIterations ( int  iterations)
inline

Definition at line 101 of file Optimizer.h.

◆ setLandmarksIgnored()

void rtabmap::Optimizer::setLandmarksIgnored ( bool  enabled)
inline

Definition at line 107 of file Optimizer.h.

◆ setPriorsIgnored()

void rtabmap::Optimizer::setPriorsIgnored ( bool  enabled)
inline

Definition at line 106 of file Optimizer.h.

◆ setRobust()

void rtabmap::Optimizer::setRobust ( bool  enabled)
inline

Definition at line 105 of file Optimizer.h.

◆ setSlam2d()

void rtabmap::Optimizer::setSlam2d ( bool  enabled)
inline

Definition at line 102 of file Optimizer.h.

◆ type()

virtual Type rtabmap::Optimizer::type ( ) const
pure virtual

Member Data Documentation

◆ covarianceIgnored_

bool rtabmap::Optimizer::covarianceIgnored_
private

Definition at line 192 of file Optimizer.h.

◆ epsilon_

double rtabmap::Optimizer::epsilon_
private

Definition at line 193 of file Optimizer.h.

◆ gravitySigma_

float rtabmap::Optimizer::gravitySigma_
private

Definition at line 197 of file Optimizer.h.

◆ iterations_

int rtabmap::Optimizer::iterations_
private

Definition at line 190 of file Optimizer.h.

◆ landmarksIgnored_

bool rtabmap::Optimizer::landmarksIgnored_
private

Definition at line 196 of file Optimizer.h.

◆ priorsIgnored_

bool rtabmap::Optimizer::priorsIgnored_
private

Definition at line 195 of file Optimizer.h.

◆ robust_

bool rtabmap::Optimizer::robust_
private

Definition at line 194 of file Optimizer.h.

◆ slam2d_

bool rtabmap::Optimizer::slam2d_
private

Definition at line 191 of file Optimizer.h.


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


rtabmap
Author(s): Mathieu Labbe
autogenerated on Mon Jan 23 2023 03:39:00