|
RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
|


Public Member Functions | |
| OptimizerCVSBA (int iterations=Parameters::defaultOptimizerIterations(), bool slam2d=Parameters::defaultRegForce3DoF(), bool covarianceIgnored=Parameters::defaultOptimizerVarianceIgnored()) | |
| OptimizerCVSBA (const ParametersMap ¶meters) | |
| virtual Type | type () const |
| Returns the concrete back-end identifier (one of Type). | |
| virtual std::map< int, Transform > | 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, BAOutliers *outliers=0) |
| Bundle adjustment: jointly refine poses and 3D points (back-end-level entry point). | |
Public Member Functions inherited from rtabmap::Optimizer | |
| 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) const |
Extracts the connected component reachable from fromId. | |
| virtual void | parseParameters (const ParametersMap ¶meters) |
Reads shared knobs from parameters and applies them to this instance. | |
| std::map< int, Transform > | 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) |
| Pose-graph optimization that grows the graph one node at a time. | |
| std::map< int, Transform > | 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) |
| Pose-graph optimization (single shot). | |
| virtual std::map< int, Transform > | 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) |
Pose-graph optimization with marginal covariance of rootId. | |
| std::map< int, Transform > | 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, const ParametersMap ®istrationParameters=ParametersMap()) |
| BA wrapper that derives camera models and correspondences from signatures. | |
| std::map< int, Transform > | optimizeBA (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, Signature > &signatures, bool rematchFeatures=false, const ParametersMap ®istrationParameters=ParametersMap()) |
| BA convenience wrapper: like the overload above but ignores the refined 3D points and observation map. | |
| Transform | optimizeBA (const Link &link, const CameraModel &model, std::map< int, cv::Point3f > &points3DMap, const std::map< int, std::map< int, FeatureBA > > &wordReferences, BAOutliers *outliers=0) |
| Refine a single two-frame link via BA. | |
| 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, bool useLinkTransformAsGuess=false, ParametersMap registrationParameters=ParametersMap()) |
| Build BA correspondences (3D points + per-frame observations) from signatures. | |
| int | iterations () const |
| Max solver iterations. | |
| bool | isSlam2d () const |
| True if optimizing in SE(2) instead of SE(3). | |
| bool | isCovarianceIgnored () const |
| If true, all edges share an identity information matrix. | |
| double | epsilon () const |
| Convergence threshold on cost decrease. | |
| bool | isRobust () const |
| If true, use a robust kernel / switchable factors against bad loop closures. | |
| bool | priorsIgnored () const |
| If true, unary priors on poses are dropped. | |
| bool | landmarksIgnored () const |
| If true, landmark/marker observations are dropped. | |
| float | gravitySigma () const |
| Std-dev (rad) of the gravity prior on roll/pitch; 0 disables it. | |
| void | setIterations (int iterations) |
| void | setSlam2d (bool enabled) |
| void | setCovarianceIgnored (bool enabled) |
| void | setEpsilon (double epsilon) |
| void | setRobust (bool enabled) |
| void | setPriorsIgnored (bool enabled) |
| void | setLandmarksIgnored (bool enabled) |
| void | setGravitySigma (float value) |
Static Public Member Functions | |
| static bool | available () |
Static Public Member Functions inherited from rtabmap::Optimizer | |
| static bool | isAvailable (Optimizer::Type type) |
Returns whether type was compiled in (its third-party dependency was found). | |
| static Optimizer * | create (const ParametersMap ¶meters) |
| Factory: build an optimizer from a ParametersMap. | |
| static Optimizer * | create (Optimizer::Type type, const ParametersMap ¶meters=ParametersMap()) |
Factory: build an optimizer of a specific type. Caller owns the result. | |
Additional Inherited Members | |
Public Types inherited from rtabmap::Optimizer | |
| enum | Type { kTypeUndef = -1 , kTypeTORO = 0 , kTypeG2O = 1 , kTypeGTSAM = 2 , kTypeCeres = 3 , kTypeCVSBA = 4 } |
| Graph-optimizer back-end identifier. More... | |
Protected Member Functions inherited from 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()) | |
| Optimizer (const ParametersMap ¶meters) | |
Definition at line 35 of file OptimizerCVSBA.h.
|
inline |
Definition at line 41 of file OptimizerCVSBA.h.
|
inline |
Definition at line 46 of file OptimizerCVSBA.h.
|
inlinevirtual |
Definition at line 48 of file OptimizerCVSBA.h.
|
inlinevirtual |
Returns the concrete back-end identifier (one of Type).
Implements rtabmap::Optimizer.
Definition at line 50 of file OptimizerCVSBA.h.
|
virtual |
Bundle adjustment: jointly refine poses and 3D points (back-end-level entry point).
Concrete subclasses (g2o, Ceres, cvsba) override this; the base implementation errors out. The other optimizeBA() overloads ultimately funnel here.
| rootId | Pose to hold fixed. If negative, ALL poses other than the (positive) lowest id are held fixed. |
| poses | Initial pose estimates keyed by frame id. |
| links | Edges used to define the BA problem topology. |
| models | Camera model(s) per frame; for stereo, Tx must be set on the model (= -baseline*fx). Multi-camera rigs have multiple entries per frame. |
| points3DMap | In/out: world 3D points keyed by word id; refined on return. |
| wordReferences | Observations: <wordId, <frameId, FeatureBA>>. See FeatureBA. |
| outliers | Optional output: word ids dropped by the back-end's outlier rejection. |
Reimplemented from rtabmap::Optimizer.