7 #include <orb_slam/LocalMapping.h>
8 #include <orb_slam/LoopClosing.h>
9 #include <orb_slam/Initializer.h>
10 #include <orb_slam/ORBmatcher.h>
11 #include <orb_slam/Optimizer.h>
12 #include <orb_slam/PnPsolver.h>
14 #include <opencv2/core.hpp>
58 WAISlam(
const cv::Mat& intrinsic,
59 const cv::Mat& distortion,
61 KPextractor* iniExtractor,
62 KPextractor* relocExtractor,
63 KPextractor* extractor,
64 std::unique_ptr<WAIMap> globalMap,
75 virtual bool update(cv::Mat& imageGray);
89 std::pair<std::vector<cv::Point2f>,
90 std::vector<cv::Point3f>>& matching);
103 return std::vector<WAIMapPoint*>();
110 return std::vector<WAIKeyFrame*>();
118 return std::string(
"TrackingState_Idle\n");
121 return std::string(
"Initializing");
124 return std::string(
"None");
127 return std::string(
"TrackingLost");
130 return std::string(
"TrackingOK");
133 return std::string(
"TrackingStart");
136 return std::string(
"");
147 virtual void setMap(std::unique_ptr<WAIMap> globalMap);
151 virtual void drawInfo(cv::Mat& imageBGR,
155 bool showKeyPointsMatched);
KPextractor * _iniExtractor
std::queue< WAIFrame > _framesQueue
std::mutex _cameraExtrinsicGuessMutex
unsigned long _lastRelocFrameId
int getMatchedCorrespondances(WAIFrame *frame, std::pair< std::vector< cv::Point2f >, std::vector< cv::Point3f >> &matching)
virtual int getNumKeyFrames()
std::vector< WAIMapPoint * > getMatchedMapPoints(WAIFrame *frame)
virtual bool isInitialized()
void transformCoords(cv::Mat transform)
virtual void setCamExrinsicGuess(cv::Mat extrinsicGuess)
unsigned long _lastKeyFrameFrameId
std::string getLoopCloseStatus()
virtual bool update(cv::Mat &imageGray)
virtual bool isTracking()
std::mutex _lastFrameMutex
virtual WAITrackingState getTrackingState()
virtual std::vector< WAIMapPoint * > getMapPoints()
virtual std::string getPrintableState()
virtual cv::Mat getPose()
virtual std::vector< WAIMapPoint * > getLocalMapPoints()
virtual WAIFrame * getLastFramePtr()
void updateState(WAITrackingState state)
int getMapPointMatchesCount() const
void createFrame(WAIFrame &frame, cv::Mat &imageGray)
virtual void setMap(std::unique_ptr< WAIMap > globalMap)
virtual int getKeyFrameCount()
virtual bool hasStateIdle()
void changeIntrinsic(cv::Mat intrinsic, cv::Mat distortion)
KPextractor * getKPextractor()
int getNextFrame(WAIFrame &frame)
virtual void updatePoseKFIntegration(WAIFrame &frame)
virtual bool retainImage()
int getKeyFramesInLoopCloseQueueCount()
virtual int getKeyPointCount()
virtual void requestStateIdle()
static void updatePoseThread(WAISlam *ptr)
KPextractor * _relocExtractor
virtual void drawInfo(cv::Mat &imageBGR, float scale, bool showInitLine, bool showKeyPoints, bool showKeyPointsMatched)
virtual WAIFrame getLastFrame()
std::thread * _poseUpdateThread
virtual std::vector< WAIKeyFrame * > getKeyFrames()
virtual void updatePose(WAIFrame &frame)
std::mutex _frameQueueMutex
virtual WAIMap * getMap()
std::mutex _cameraExtrinsicMutex
WAISlam(const cv::Mat &intrinsic, const cv::Mat &distortion, WAIOrbVocabulary *voc, KPextractor *iniExtractor, KPextractor *relocExtractor, KPextractor *extractor, std::unique_ptr< WAIMap > globalMap, WAISlam::Params params)
unsigned int _relocFrameCounter
virtual int getMapPointCount()
float minCommonWordFactor