Class LoopClosureHandler¶
Defined in File loop-closure-handler.h
Class Documentation¶
-
class loop_closure_handler::LoopClosureHandler¶
Public Types
-
typedef std::unordered_map<FrameKeypointIndexPair, vi_map::LandmarkIdSet> KeypointToLandmarksMap¶
-
typedef std::vector<std::pair<FrameKeypointIndexPair, vi_map::LandmarkId>> KeypointToLandmarkVector¶
-
typedef std::vector<std::pair<vi_map::LandmarkId, vi_map::LandmarkId>> LandmarkToLandmarkVector¶
-
typedef std::unordered_map<vi_map::LandmarkId, vi_map::LandmarkId> LandmarkToLandmarkMap¶
-
typedef std::pair<Eigen::Vector3d, Eigen::Vector3d> Vector3dPair¶
-
typedef Aligned<std::vector, Vector3dPair> MergedLandmark3dPositionVector¶
-
typedef vi_map::MissionBaseFrameMap MissionBaseFrameMap¶
Public Functions
-
explicit LoopClosureHandler(vi_map::VIMap *map, LandmarkToLandmarkMap *landmark_id_old_to_new)¶
-
explicit LoopClosureHandler(summary_map::LocalizationSummaryMap const *summary_map, LandmarkToLandmarkMap *landmark_id_old_to_new)¶
-
LoopClosureHandler() = delete¶
-
bool handleLoopClosure(const vi_map::LoopClosureConstraint &loop_closure_constraint, bool merge_matching_landmarks, bool add_loopclosure_edges, int *num_inliers, double *inlier_ratio, pose::Transformation *T_G_I_ransac, vi_map::LoopClosureConstraint *inlier_constraints, MergedLandmark3dPositionVector *landmark_pairs_merged, pose_graph::VertexId *vertex_id_closest_to_structure_matches, std::mutex *map_mutex, bool use_random_pnp_seed = true) const¶
-
bool handleLoopClosure(const aslam::VisualNFrame &query_vertex_n_frame, const std::vector<vi_map::LandmarkIdList> &query_vertex_landmark_ids, const pose_graph::VertexId &query_vertex_id, const vi_map::VertexKeyPointToStructureMatchList &structure_matches, bool merge_matching_landmarks, bool add_loopclosure_edges, int *num_inliers, double *inlier_ratio, pose::Transformation *T_G_I_ransac, vi_map::VertexKeyPointToStructureMatchList *inlier_structure_matches, MergedLandmark3dPositionVector *landmark_pairs_merged, pose_graph::VertexId *vertex_id_closest_to_structure_matches, std::mutex *map_mutex, bool use_random_pnp_seed = true) const¶
-
void updateQueryKeyframeInvalidLandmarkAssociations(const std::vector<int> &inliers, const KeypointToLandmarkVector &query_keypoint_idx_to_landmark_pairs, vi_map::Vertex *query_vertex) const¶
-
void mergeLandmarks(const std::vector<int> &inliers, const LandmarkToLandmarkVector &query_landmark_to_map_landmark_pairs, MergedLandmark3dPositionVector *landmark_pairs_actually_merged) const¶
Friends
- friend class LoopClosureHandlerTest
-
typedef std::unordered_map<FrameKeypointIndexPair, vi_map::LandmarkIdSet> KeypointToLandmarksMap¶