OpenCV  3.3.0-dev
Open Source Computer Vision
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ORB_SLAM2::LoopClosing Class Reference

#include "LoopClosing.h"

Public Types

typedef pair< set< KeyFrame * >, int > ConsistentGroup
 
typedef map< KeyFrame *, g2o::Sim3, std::less< KeyFrame * >, Eigen::aligned_allocator< std::pair< KeyFrame *const, g2o::Sim3 > > > KeyFrameAndPose
 

Public Member Functions

 LoopClosing (Map *pMap, KeyFrameDatabase *pDB, ORBVocabulary *pVoc, const bool bFixScale)
 
void InsertKeyFrame (KeyFrame *pKF)
 
bool isFinished ()
 
bool isFinishedGBA ()
 
bool isRunningGBA ()
 
void RequestFinish ()
 
void RequestReset ()
 
void Run ()
 
void RunGlobalBundleAdjustment (unsigned long nLoopKF)
 
void SetLocalMapper (LocalMapping *pLocalMapper)
 
void SetTracker (Tracking *pTracker)
 

Protected Member Functions

bool CheckFinish ()
 
bool CheckNewKeyFrames ()
 
bool ComputeSim3 ()
 
void CorrectLoop ()
 
bool DetectLoop ()
 
void ResetIfRequested ()
 
void SearchAndFuse (const KeyFrameAndPose &CorrectedPosesMap)
 
void SetFinish ()
 

Protected Attributes

bool mbFinished
 
bool mbFinishedGBA
 
bool mbFinishRequested
 
bool mbFixScale
 
bool mbResetRequested
 
bool mbRunningGBA
 
bool mbStopGBA
 
g2o::Sim3 mg2oScw
 
long unsigned int mLastLoopKFid
 
std::list< KeyFrame * > mlpLoopKeyFrameQueue
 
std::mutex mMutexFinish
 
std::mutex mMutexGBA
 
std::mutex mMutexLoopQueue
 
std::mutex mMutexReset
 
float mnCovisibilityConsistencyTh
 
bool mnFullBAIdx
 
KeyFramempCurrentKF
 
KeyFrameDatabasempKeyFrameDB
 
LocalMappingmpLocalMapper
 
MapmpMap
 
KeyFramempMatchedKF
 
ORBVocabularympORBVocabulary
 
std::thread * mpThreadGBA
 
TrackingmpTracker
 
cv::Mat mScw
 
std::vector< ConsistentGroupmvConsistentGroups
 
std::vector< KeyFrame * > mvpCurrentConnectedKFs
 
std::vector< MapPoint * > mvpCurrentMatchedPoints
 
std::vector< KeyFrame * > mvpEnoughConsistentCandidates
 
std::vector< MapPoint * > mvpLoopMapPoints
 

Member Typedef Documentation

◆ ConsistentGroup

◆ KeyFrameAndPose

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>, Eigen::aligned_allocator<std::pair<KeyFrame*const, g2o::Sim3> > > ORB_SLAM2::LoopClosing::KeyFrameAndPose

Constructor & Destructor Documentation

◆ LoopClosing()

ORB_SLAM2::LoopClosing::LoopClosing ( Map pMap,
KeyFrameDatabase pDB,
ORBVocabulary pVoc,
const bool  bFixScale 
)

Member Function Documentation

◆ CheckFinish()

bool ORB_SLAM2::LoopClosing::CheckFinish ( )
protected

◆ CheckNewKeyFrames()

bool ORB_SLAM2::LoopClosing::CheckNewKeyFrames ( )
protected

◆ ComputeSim3()

bool ORB_SLAM2::LoopClosing::ComputeSim3 ( )
protected

◆ CorrectLoop()

void ORB_SLAM2::LoopClosing::CorrectLoop ( )
protected

◆ DetectLoop()

bool ORB_SLAM2::LoopClosing::DetectLoop ( )
protected

◆ InsertKeyFrame()

void ORB_SLAM2::LoopClosing::InsertKeyFrame ( KeyFrame pKF)

◆ isFinished()

bool ORB_SLAM2::LoopClosing::isFinished ( )

◆ isFinishedGBA()

bool ORB_SLAM2::LoopClosing::isFinishedGBA ( )
inline

◆ isRunningGBA()

bool ORB_SLAM2::LoopClosing::isRunningGBA ( )
inline

◆ RequestFinish()

void ORB_SLAM2::LoopClosing::RequestFinish ( )

◆ RequestReset()

void ORB_SLAM2::LoopClosing::RequestReset ( )

◆ ResetIfRequested()

void ORB_SLAM2::LoopClosing::ResetIfRequested ( )
protected

◆ Run()

void ORB_SLAM2::LoopClosing::Run ( )

◆ RunGlobalBundleAdjustment()

void ORB_SLAM2::LoopClosing::RunGlobalBundleAdjustment ( unsigned long  nLoopKF)

◆ SearchAndFuse()

void ORB_SLAM2::LoopClosing::SearchAndFuse ( const KeyFrameAndPose CorrectedPosesMap)
protected

◆ SetFinish()

void ORB_SLAM2::LoopClosing::SetFinish ( )
protected

◆ SetLocalMapper()

void ORB_SLAM2::LoopClosing::SetLocalMapper ( LocalMapping pLocalMapper)

◆ SetTracker()

void ORB_SLAM2::LoopClosing::SetTracker ( Tracking pTracker)

Member Data Documentation

◆ mbFinished

bool ORB_SLAM2::LoopClosing::mbFinished
protected

◆ mbFinishedGBA

bool ORB_SLAM2::LoopClosing::mbFinishedGBA
protected

◆ mbFinishRequested

bool ORB_SLAM2::LoopClosing::mbFinishRequested
protected

◆ mbFixScale

bool ORB_SLAM2::LoopClosing::mbFixScale
protected

◆ mbResetRequested

bool ORB_SLAM2::LoopClosing::mbResetRequested
protected

◆ mbRunningGBA

bool ORB_SLAM2::LoopClosing::mbRunningGBA
protected

◆ mbStopGBA

bool ORB_SLAM2::LoopClosing::mbStopGBA
protected

◆ mg2oScw

g2o::Sim3 ORB_SLAM2::LoopClosing::mg2oScw
protected

◆ mLastLoopKFid

long unsigned int ORB_SLAM2::LoopClosing::mLastLoopKFid
protected

◆ mlpLoopKeyFrameQueue

std::list<KeyFrame*> ORB_SLAM2::LoopClosing::mlpLoopKeyFrameQueue
protected

◆ mMutexFinish

std::mutex ORB_SLAM2::LoopClosing::mMutexFinish
protected

◆ mMutexGBA

std::mutex ORB_SLAM2::LoopClosing::mMutexGBA
protected

◆ mMutexLoopQueue

std::mutex ORB_SLAM2::LoopClosing::mMutexLoopQueue
protected

◆ mMutexReset

std::mutex ORB_SLAM2::LoopClosing::mMutexReset
protected

◆ mnCovisibilityConsistencyTh

float ORB_SLAM2::LoopClosing::mnCovisibilityConsistencyTh
protected

◆ mnFullBAIdx

bool ORB_SLAM2::LoopClosing::mnFullBAIdx
protected

◆ mpCurrentKF

KeyFrame* ORB_SLAM2::LoopClosing::mpCurrentKF
protected

◆ mpKeyFrameDB

KeyFrameDatabase* ORB_SLAM2::LoopClosing::mpKeyFrameDB
protected

◆ mpLocalMapper

LocalMapping* ORB_SLAM2::LoopClosing::mpLocalMapper
protected

◆ mpMap

Map* ORB_SLAM2::LoopClosing::mpMap
protected

◆ mpMatchedKF

KeyFrame* ORB_SLAM2::LoopClosing::mpMatchedKF
protected

◆ mpORBVocabulary

ORBVocabulary* ORB_SLAM2::LoopClosing::mpORBVocabulary
protected

◆ mpThreadGBA

std::thread* ORB_SLAM2::LoopClosing::mpThreadGBA
protected

◆ mpTracker

Tracking* ORB_SLAM2::LoopClosing::mpTracker
protected

◆ mScw

cv::Mat ORB_SLAM2::LoopClosing::mScw
protected

◆ mvConsistentGroups

std::vector<ConsistentGroup> ORB_SLAM2::LoopClosing::mvConsistentGroups
protected

◆ mvpCurrentConnectedKFs

std::vector<KeyFrame*> ORB_SLAM2::LoopClosing::mvpCurrentConnectedKFs
protected

◆ mvpCurrentMatchedPoints

std::vector<MapPoint*> ORB_SLAM2::LoopClosing::mvpCurrentMatchedPoints
protected

◆ mvpEnoughConsistentCandidates

std::vector<KeyFrame*> ORB_SLAM2::LoopClosing::mvpEnoughConsistentCandidates
protected

◆ mvpLoopMapPoints

std::vector<MapPoint*> ORB_SLAM2::LoopClosing::mvpLoopMapPoints
protected

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