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, TKeyFrameID > | TPairKeyFrameID |
| 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 > | |
| 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 > | |
| 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 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.
| typedef std::pair<TKeyFrameID,TKeyFrameID> mrpt::srba::TPairKeyFrameID |
Used to represent the IDs of a directed edge (first –> second)
Definition at line 34 of file srba_types.h.
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.
| 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.
Definition at line 164 of file srba_types.h.
| 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().
| V mrpt::srba::getTheOtherFromPair2 | ( | const V | one, |
| const K2K_EDGE & | p | ||
| ) |
For usage with K2K_EDGE = typename kf2kf_pose_traits<POSE_TRAITS>::k2k_edge_t.
Definition at line 191 of file srba_types.h.
Referenced by mrpt::srba::TRBA_Problem_state< KF2KF_POSE_TYPE, LM_TYPE, OBS_TYPE, RBA_OPTIONS >::are_keyframes_connected(), mrpt::srba::RbaEngine< KF2KF_POSE_TYPE, LM_TYPE, OBS_TYPE, RBA_OPTIONS >::bfs_visitor(), mrpt::srba::RbaEngine< KF2KF_POSE_TYPE, LM_TYPE, OBS_TYPE, RBA_OPTIONS >::create_complete_spanning_tree(), and mrpt::srba::TRBA_Problem_state< KF2KF_POSE_TYPE, LM_TYPE, OBS_TYPE, RBA_OPTIONS >::find_path_bfs().
| Page generated by Doxygen 1.8.9.1 for MRPT 1.3.0 SVN: at Sun Sep 13 03:55:12 UTC 2015 |