Main MRPT website > C++ reference
MRPT logo
Namespaces | Classes | Typedefs | Enumerations | Functions
mrpt::srba Namespace Reference

Detailed Description

An heavily template-based implementation of Relative Bundle Adjustment (RBA) - See [mrpt-srba].

Namespaces

 internal
 
 kf2kf_poses
 
 landmarks
 
 observations
 
 options
 

Classes

struct  compute_jacobian_dAepsDx_deps
 Auxiliary sub-jacobian used in compute_jacobian_dh_dp() (it's a static method within specializations of this struct) More...
 
struct  compute_jacobian_dAepsDx_deps< jacob_point_landmark, 2, 3, RBA_ENGINE_T >
 
struct  compute_jacobian_dAepsDx_deps< jacob_point_landmark, 3, 3, RBA_ENGINE_T >
 
struct  compute_jacobian_dAepsDx_deps< jacob_point_landmark, 3, 6, RBA_ENGINE_T >
 
struct  compute_jacobian_dAepsDx_deps< jacob_relpose_landmark, 3, 3, RBA_ENGINE_T >
 
struct  compute_jacobian_dAepsDx_deps< jacob_relpose_landmark, 6, 6, RBA_ENGINE_T >
 
struct  compute_jacobian_dAepsDx_deps_SE2
 Case: 2D or 3D points, SE(2) poses Both cases are grouped because a SE(2) pose doesn't transform the "z" of 3D points, so both sets of Jacobians are almost identical. More...
 
struct  hessian_traits
 Types for the Hessian blocks: More...
 
struct  jacobian_traits
 Types for the Jacobians: More...
 
struct  kf2kf_pose_traits
 The argument "POSE_TRAITS" can be any of those defined in srba/models/kf2kf_poses.h (typically, either kf2kf_poses::SE3 or kf2kf_poses::SE2). More...
 
struct  landmark_rendering_as_point
 Render 2D/3D point landmarks. More...
 
struct  landmark_rendering_as_pose_constraints
 Render "fake graph-slam-like landmarks" as keyframe-to-keyframe constraints. More...
 
struct  landmark_rendering_none
 Not to be rendered. More...
 
struct  landmark_traits
 The argument "LM_TRAITS" can be any of those defined in srba/models/landmarks.h (typically, either landmarks::Euclidean3D or landmarks::Euclidean2D). More...
 
struct  LandmarkRendererBase
 
struct  LandmarkRendererBase< landmark_rendering_as_point >
 Landmark renderer for: landmark_rendering_as_point. More...
 
struct  LandmarkRendererBase< landmark_rendering_as_pose_constraints >
 Landmark renderer for: landmark_rendering_as_pose_constraints. More...
 
struct  LandmarkRendererBase< landmark_rendering_none >
 Landmark renderer for: landmark_rendering_none. More...
 
struct  observation_traits
 
struct  rba_joint_parameterization_traits_t
 Useful data structures that depend of a combination of "OBSERVATION_TYPE"+"LANDMARK_PARAMETERIZATION_TYPE"+"RELATIVE_POSE_PARAMETERIZATION". More...
 
struct  RBA_OPTIONS_DEFAULT
 The set of default settings for RbaEngine. More...
 
class  RbaEngine
 The main class for the mrpt-srba: it defines a Relative Bundle-Adjustment (RBA) problem with (optionally, partially known) landmarks, the methods to update it with new observations and to optimize the relative poses with least squares optimizers. More...
 
class  SchurComplement
 A generic symbolic and numeric Schur-complement handler for builing reduced systems of equations. More...
 
struct  sensor_model
 Generic declaration, of which specializations are defined for each combination of LM+OBS type. More...
 
struct  sensor_model< landmarks::Euclidean2D, observations::Cartesian_2D >
 Sensor model: 2D landmarks in Euclidean coordinates + Cartesian 2D observations. More...
 
struct  sensor_model< landmarks::Euclidean2D, observations::RangeBearing_2D >
 Sensor model: 2D landmarks in Euclidean coordinates + 2D Range-Bearing observations. More...
 
struct  sensor_model< landmarks::Euclidean3D, observations::Cartesian_3D >
 Sensor model: 3D landmarks in Euclidean coordinates + Cartesian 3D observations. More...
 
struct  sensor_model< landmarks::Euclidean3D, observations::MonocularCamera >
 Sensor model: 3D landmarks in Euclidean coordinates + Monocular camera observations (no distortion) More...
 
struct  sensor_model< landmarks::Euclidean3D, observations::RangeBearing_3D >
 Sensor model: 3D landmarks in Euclidean coordinates + 3D Range-Bearing observations. More...
 
struct  sensor_model< landmarks::Euclidean3D, observations::StereoCamera >
 Sensor model: 3D landmarks in Euclidean coordinates + Stereo camera observations (no distortion) More...
 
struct  sensor_model< landmarks::RelativePoses2D, observations::RelativePoses_2D >
 Sensor model: 2D relative poses landmarks and observations (relative 2D-graph SLAM) More...
 
struct  sensor_model< landmarks::RelativePoses3D, observations::RelativePoses_3D >
 Sensor model: 3D relative poses landmarks and observations (relative 3D-graph SLAM) More...
 
struct  TBFSEntry
 
struct  THessianSymbolicInfo
 Symbolic information of each Hessian block. More...
 
struct  TJacobianSymbolicInfo_dh_dAp
 Symbolic information of each Jacobian dh_dAp. More...
 
struct  TJacobianSymbolicInfo_dh_df
 Symbolic information of each Jacobian dh_df. More...
 
struct  TNewEdgeInfo
 Used in TNewKeyFrameInfo. More...
 
struct  TRBA_Problem_state
 All the important data of a RBA problem at any given instant of time Operations on this structure are performed via the public API of srba::RbaEngine. More...
 
struct  TSpanTreeEntry
 Used in TRBA_Problem_state. More...
 

Typedefs

typedef uint64_t TKeyFrameID
 Numeric IDs for key-frames (KFs) More...
 
typedef uint64_t TLandmarkID
 Numeric IDs for landmarks. More...
 
typedef uint64_t topo_dist_t
 Unsigned integral type for topological distances in a graph/tree. More...
 
typedef std::pair< TKeyFrameID, TKeyFrameIDTPairKeyFrameID
 Used to represent the IDs of a directed edge (first –> second) More...
 

Enumerations

enum  landmark_jacob_family_t { jacob_point_landmark, jacob_relpose_landmark }
 Specify the kind of Jacobian to be used for compute_jacobian_dAepsDx_deps<> More...
 
enum  TEdgeCreationPolicy { ecpICRA2013 = 0, ecpLinearGraph, ecpStarGraph }
 For usage in RbaEngine.parameters. More...
 
enum  TCovarianceRecoveryPolicy { crpNone = 0, crpLandmarksApprox }
 Covariances recovery from Hessian matrix policy, for usage in RbaEngine.parameters. More...
 

Functions

template<typename PAIR , typename V >
getTheOtherFromPair (const V one, const PAIR &p)
 Aux function for getting, from a std::pair, "the other" element which is different to a known given one. More...
 
template<typename K2K_EDGE , typename V >
getTheOtherFromPair2 (const V one, const K2K_EDGE &p)
 For usage with K2K_EDGE = typename kf2kf_pose_traits<POSE_TRAITS>::k2k_edge_t. More...
 

Typedef Documentation

typedef uint64_t mrpt::srba::TKeyFrameID

Numeric IDs for key-frames (KFs)

Definition at line 31 of file srba_types.h.

typedef uint64_t mrpt::srba::TLandmarkID

Numeric IDs for landmarks.

Definition at line 32 of file srba_types.h.

typedef uint64_t mrpt::srba::topo_dist_t

Unsigned integral type for topological distances in a graph/tree.

Definition at line 33 of file srba_types.h.

Used to represent the IDs of a directed edge (first –> second)

Definition at line 34 of file srba_types.h.

Enumeration Type Documentation

Specify the kind of Jacobian to be used for compute_jacobian_dAepsDx_deps<>

Enumerator
jacob_point_landmark 

Landmarks are points.

jacob_relpose_landmark 

"fake landmarks" used for relative pose observations

Definition at line 16 of file landmark_jacob_families.h.

Covariances recovery from Hessian matrix policy, for usage in RbaEngine.parameters.

Note
Implements mrpt::utils::TEnumType
Enumerator
crpNone 

Don't recover any covariance information.

crpLandmarksApprox 

Approximate covariances of landmarks as the inverse of the hessian diagonal blocks.

Definition at line 176 of file srba_types.h.

For usage in RbaEngine.parameters.

Note
Implements mrpt::utils::TEnumType
Enumerator
ecpICRA2013 

The sub-map method introduced in the ICRA2013 paper.

ecpLinearGraph 

Each keyframe is only connected to its predecessor (no loop closures)

ecpStarGraph 

All keyframes are connected to the first one (it can be used to emulate global coordinates)

Definition at line 164 of file srba_types.h.

Function Documentation

template<typename PAIR , typename V >
V mrpt::srba::getTheOtherFromPair ( const V  one,
const PAIR &  p 
)

Aux function for getting, from a std::pair, "the other" element which is different to a known given one.

Definition at line 185 of file srba_types.h.

Referenced by mrpt::srba::TRBA_Problem_state< KF2KF_POSE_TYPE, LM_TYPE, OBS_TYPE, RBA_OPTIONS >::TSpanningTree::update_symbolic_new_node().

template<typename K2K_EDGE , typename V >
V mrpt::srba::getTheOtherFromPair2 ( const V  one,
const K2K_EDGE &  p 
)



Page generated by Doxygen 1.8.9.1 for MRPT 1.3.0 SVN: at Sun Sep 13 03:55:12 UTC 2015