39 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
40 typedef std::shared_ptr<Frontend>
Ptr;
53 bool triangulate(
const std::vector<SE3d> &poses,
const std::vector<Vec2d> &pixelPoints,
72 int detectOutlier(std::vector<Feature::Ptr> &features, std::vector<PoseEdge *> &edges,
73 g2o::SparseOptimizer &optimizer,
PoseVertex *vertex);
77 SPDLOG_INFO(
"==================================================================");
78 SPDLOG_INFO(
"参考帧: {:06}\t当前帧: {:06} 追踪成功的特征点数目为: {:03}",
m_refFrame->m_id,
84 SPDLOG_INFO(
"对当前帧: {:06} 进行位姿估计 非异常点数目为: {:03} 当前帧位姿为:",
90 SPDLOG_INFO(
"==================================================================\n");
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Camera > Ptr
Definition camera.h:27
static int MIN_MAPPOINTS_NUM_FOR_TRACK
track可执行的最少特征数目
Definition config.h:39
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Dataset > Ptr
Definition dataset.h:29
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Frame > Ptr
Definition map.h:79
进行相邻帧的位姿估计和局部稀疏地图构建
Definition frontend.h:37
TrackStatus m_status
Definition frontend.h:103
int estimatePose()
根据前端追踪的结果进行位姿估计和异常值检测
Definition frontend.cc:55
Viewer::Ptr m_viewer
可视化
Definition frontend.h:102
Frame::Ptr m_refFrame
参考帧,左图提供待追踪的Feature
Definition frontend.h:95
Frontend(const Frontend &)=delete
void setViewer(const Viewer::Ptr &viewer)
Definition frontend.h:64
void track()
Definition frontend.h:75
Map::Ptr m_map
地图
Definition frontend.h:100
SE3d m_diffPose
上次位姿估计的位姿差Tcr
Definition frontend.h:101
Frontend & operator=(const Frontend &)=delete
void run()
前端启动线程
Definition frontend.cc:16
Dataset::Ptr m_dataset
数据集
Definition frontend.h:99
Camera::Ptr m_camera
相机参数
Definition frontend.h:98
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Frontend > Ptr
Definition frontend.h:40
void setDataset(const Dataset::Ptr &dataset)
Definition frontend.h:62
void initTrack()
为前端开启循环做m_refFrame的准备
Definition frontend.cc:148
bool triangulate(const std::vector< SE3d > &poses, const std::vector< Vec2d > &pixelPoints, Vec3d &worldPoint)
Definition frontend.cc:177
int detectOutlier(std::vector< Feature::Ptr > &features, std::vector< PoseEdge * > &edges, g2o::SparseOptimizer &optimizer, PoseVertex *vertex)
Definition frontend.cc:99
void addFrame(const Frame::Ptr &frame)
Definition frontend.cc:31
static Ptr getInstance()
Definition frontend.h:44
bool m_isStop
前端线程结束标识
Definition frontend.h:97
void setMap(const Map::Ptr &map)
Definition frontend.h:60
int triNewPoint(Frame::Ptr &frame, std::vector< MapPoint::Ptr > &newPoints)
三角化新的点
Definition frontend.cc:209
int trackCurrFrame()
追踪m_refFrame中的特征点到m_currFrame
Definition frontend.cc:273
Frame::Ptr m_currFrame
当前帧,参考参考帧进行Feature追踪
Definition frontend.h:96
void setCamera(const Camera::Ptr &camera)
Definition frontend.h:58
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Map > Ptr
Definition map.h:125
位姿顶点
Definition g2o_types.h:11
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Viewer > Ptr
Definition viewer.h:29
#define NAMESPACE_END
Definition common_include.h:41
#define NAMESPACE_BEGIN
Definition common_include.h:40
Sophus::SE3d SE3d
Definition common_include.h:57
Eigen::Vector3d Vec3d
Definition common_include.h:47
TrackStatus
TrackStatus来表示追踪和位姿估计后的状态 INIT_TRACKING 代表前端处在关键帧初始化状态 TRACK_GOOD 代表前端运转良好(可用MapPoint数目大于50) TRACK_BA...
Definition frontend.h:30
void printPose(const SE3d &pose)
Definition frontend.cc:5
定义slam系统的数据结构包括Feature、Frame、MapPoint、Map
展示Frontend的m_currFrame和Map的m_activeFrames和activePoints