
SLAM
文章平均质量分 96
ncepu_Chen
这个作者很懒,什么都没留下…
展开
-
VINS-Mono笔记03_预积分
VINS-Mono笔记03_预积分预积分理论为什么需要预积分连续时间下的预积分离散时间下的预积分预积分量的协方差预积分代码实现预积分类`IntegrationBase`预积分类的成员函数构造函数`IntegrationBase::IntegrationBase()`传入IMU数据帧时调用`IntegrationBase::push_back()`进行预积分零偏改变时调用`IntegrationBase::repropagate()`重新积分优化过程中调用`IntegrationBase::evaluate.原创 2022-01-12 17:20:47 · 2274 阅读 · 9 评论 -
VINS-Mono笔记02_前端特征点追踪feature_tracker
VINS-Mono笔记02_前端特征点追踪feature_tracker预备知识ROS预定义消息格式图像消息格式[`Image`](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/Imu.html)点云消息格式[`PointCloud`](http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/PointCloud.html)ROS节点的格式前端特征点追踪节点`feature_tracker.原创 2022-01-10 09:18:44 · 3137 阅读 · 2 评论 -
VINS-Mono笔记01_VINS-Mono的编译运行
VINS-Mono笔记01_VINS-Mono的编译运行编译VINS-Mono安装ROS安装OpenCV,Eigen3和Ceres创建ROS工作空间导入ROS包编译运行VINS-Mono运行ROS节点运行launch文件准备数据查看节点间的关系本笔记记录在Ubuntu18.04下基于Ruroc数据集编译运行VINS-Mono项目的过程.编译VINS-Mono安装ROS关于ROS安装的教程很多,随便找一篇照着做就行.为提升速度,可以将软件源换成国内源.安装OpenCV,Eigen3和CeresOp原创 2022-01-06 10:06:53 · 5491 阅读 · 10 评论 -
ORB-SLAM2代码详解09: 闭环线程LoopClosing
ORB-SLAM2代码详解09: 闭环线程LoopClosing各成员函数/变量闭环主函数: `Run()`闭环检测: `DetectLoop()`计算Sim3变换: `ComputeSim3()`闭环矫正: `CorrectLoop()`各成员函数/变量闭环主函数: Run()void LoopClosing::Run() { while (1) { if (CheckNewKeyFrames()) { if (DetectLoop()) {原创 2021-05-14 11:44:20 · 4702 阅读 · 2 评论 -
ORB-SLAM2代码详解07: 跟踪线程Tracking
ORB-SLAM2代码详解07: 跟踪线程Tracking各成员函数/变量跟踪状态初始化单目相机初始化: `MonocularInitialization()`双目/RGBD相机初始化: `StereoInitialization()`初始位姿估计根据恒速运动模型估计初始位姿: `TrackWithMotionModel()`根据参考帧估计位姿: `TrackReferenceKeyFrame()`通过重定位估计位姿: `Relocalization()`跟踪局部地图: `TrackLocalMap()`关原创 2021-05-14 11:38:11 · 5713 阅读 · 2 评论 -
ORB-SLAM2代码详解08: 局部建图线程LocalMapping
ORB-SLAM2代码详解08: 局部建图线程LocalMapping各成员函数/变量局部建图主函数: `Run()`处理队列中第一个关键帧: `ProcessNewKeyFrame()`剔除冗余地图点: `MapPointCulling()`创建新地图点: `CreateNewMapPoints()`融合当前关键帧和其共视帧的地图点: `SearchInNeighbors()`局部BA优化: `Optimizer::LocalBundleAdjustment()`剔除冗余关键帧: `KeyFrameCul原创 2021-05-14 11:37:45 · 4728 阅读 · 0 评论 -
ORB-SLAM2代码详解06: 单目初始化器Initializer
ORB-SLAM2代码详解06: 单目初始化器Initializer各成员变量/函数初始化函数`Initialize()`计算基础矩阵`F`和单应矩阵`H`RANSAC算法计算基础矩阵`F`: `FindFundamental()`八点法计算`F`矩阵: `ComputeF21()`计算单应矩阵`H`: `FindHomography()`卡方检验计算置信度得分: `CheckFundamental()`、`CheckHomography()`归一化: `Normalize()`使用基础矩阵`F`和单应矩阵原创 2021-05-14 11:34:05 · 4496 阅读 · 1 评论 -
ORB-SLAM2代码详解05: 关键帧KeyFrame
ORB-SLAM2代码详解05: 关键帧KeyFrame各成员函数/变量共视图`mConnectedKeyFrameWeights`基于对地图点的观测构造共视图`UpdateConnections()`生成树`mpParent`、`mspChildrens`关键帧的删除参与回环检测的关键帧具有不被删除的特权`mbNotErase`删除关键帧时维护共视图和生成树对地图点的观测回环检测==与本质图==`KeyFrame`的用途`KeyFrame`类的生命周期各成员函数/变量共视图mConnectedKey原创 2021-05-14 11:33:32 · 7292 阅读 · 4 评论 -
ORB-SLAM2代码详解04: 帧Frame
ORB-SLAM2代码详解04: 帧Frame各成员函数/变量相机相关信息特征点提取特征点提取`ExtractORB()`ORB-SLAM2对双目/RGBD特征点的预处理双目视差公式双目特征点的处理:双目图像特征点匹配`ComputeStereoMatches()`RBGD特征点的处理: 根据深度信息构造虚拟右目图像`ComputeStereoFromRGBD()`畸变矫正`UndistortKeyPoints()`特征点分配`AssignFeaturesToGrid()`构造函数`Frame()``Fra原创 2021-05-14 11:30:01 · 5367 阅读 · 1 评论 -
ORB-SLAM2代码详解03: 地图点MapPoint
ORB-SLAM2代码详解03: 地图点MapPoint各成员函数/变量地图点的世界坐标`mWorldPos`与关键帧的观测关系`mObservations`尺度平均观测距离`mfMinDistance`和`mfMaxDistance`更新平均观测方向和距离`UpdateNormalAndDepth()`特征描述子地图点的删除与替换地图点的删除`SetBadFlag()`地图点的替换`Replace()``MapPoint`类的用途`MapPoint`的生命周期各成员函数/变量地图点的世界坐标mWor原创 2021-05-14 11:28:38 · 8027 阅读 · 8 评论 -
ORB-SLAM2代码详解02: 特征点提取器ORBextractor
ORB-SLAM2代码详解02: 特征点提取器ORBextractor各成员函数/变量构造函数`ORBextractor()`构建图像金字塔`ComputePyramid()`提取特征点并进行筛选`ComputeKeyPointsOctTree()`八叉树筛选特征点`DistributeOctTree()`计算特征点方向`computeOrientation()`计算特征点描述子`computeOrbDescriptor()``ORBextractor`类的用途`ORBextractor`类提取特征点的主函原创 2021-05-14 11:27:14 · 10540 阅读 · 16 评论 -
ORB-SLAM2代码详解01: ORB-SLAM2代码运行流程
ORB-SLAM2代码详解01: ORB-SLAM2代码运行流程运行官方Demo阅读代码之前你应该知道的事情变量命名规则理解多线程为什么要使用多线程?多线程中的锁SLAM主类`System`构造函数跟踪函数运行官方Demo以TUM数据集为例,运行Demo的命令:./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILErgbd_tu原创 2021-05-14 11:25:07 · 13448 阅读 · 10 评论 -
《视觉SLAM十四讲》笔记摘抄
ch02 初识SLAM经典视觉SLAM框架视觉SLAM流程包括以下步骤:传感器信息读取: 在视觉SLAM中主要为相机图像信息的读取和预处理.如果是在机器人中,还可能有码盘、惯性传感器等信息的读取和同步.视觉里程计(Visual Odometry,VO): 视觉里程计的任务是估算相邻图像间相机的运动,以及局部地图的样子.VO又称为前端(Front End).视觉里程计不可避免地会...原创 2020-04-05 19:27:01 · 56012 阅读 · 26 评论