![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
slam
鸡蛋灌饼想加辣条
扛住就是本事。
展开
-
vins-mono:视觉与IMU联合初始化推导
原创 2019-11-14 10:40:16 · 381 阅读 · 0 评论 -
vins-mono:IMU预积分公式推导
原创 2019-11-14 10:37:58 · 424 阅读 · 2 评论 -
vins-mono(5)vin_mono数据集测试
编译运行VINS-Mono:源码地址: https://github.com/HKUST-Aerial-Robotics/VINS-Mono在运行前修改结果保存地址:/home/yhj/catkin_ws/src/VINS-Mono/config/euroc/euroc_config.yaml中修改pose_graph_save_path为想存的地址1.构建ros工作空间下载vins_mon...原创 2019-11-13 11:49:19 · 1401 阅读 · 5 评论 -
vins-mono(4)重定位以及全局优化
vins的重定位模块主要包含回环检测,回环候选帧之间的特征匹配,紧耦合重定位三个部分.a.回环检测:采用BRIEF描述子的DBOW2词袋进行闭环检测,对新来的关键帧重新检测500个角点进行闭环检测同时对所有角点进行BRIEF描述,然后计算当前帧与词袋的相似度,与关键帧数据库中所有帧进行对比,通过闭环一致性检测得到闭环候选帧.(回环检测只对关键帧进行,当一帧被加入到关键帧中时才进行回环检测)b...原创 2019-11-13 11:40:04 · 818 阅读 · 0 评论 -
vins-mono(3)后端非线性优化
紧耦合单目VIO:初始化之后,执行一个基于滑窗的紧耦合单目VIO,得到精度更高鲁棒性更好的状态估计值.滑窗中的状态向量定义为: &n...原创 2019-11-13 11:37:54 · 716 阅读 · 2 评论 -
vins-mono(2)初始化
系统初始化:目的:计算出绝对尺度s,陀螺仪偏置bg,加速度偏置ba,重力加速度G和每个时刻的速度v.也就是系统固有参数的标定背景:单目惯性紧耦合是一个非线性程度很高的系统.纯视觉单目SLAM缺乏实际的尺度的信息,并且无法知道惯性坐标系,它的pose大多是基于第一帧为世界坐标系建立的(如ORB SLAM),同时它无法得到比较准确的速度,这对于控制和规划是很重要的.而虽然IMU与视觉互补,可以...原创 2019-11-13 11:26:33 · 780 阅读 · 2 评论 -
vins-mono(1)数据预处理
一.视觉追踪 每当采集到一帧图像,都会进行KLT稀疏光流追踪,同时保证每帧图像提取的Harris角点数目在100-300个,将跟踪到的特征点push到图像队列中.主要实现在readImage函数中:1.对原始图像进行预处理,如果图像过亮或太暗,则使用自适应直方图均衡化的方法增强图像对比度,img为当前要处理的...原创 2019-11-13 11:19:14 · 578 阅读 · 0 评论 -
详解协方差与协方差矩阵
协方差的定义 对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定则X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4个...转载 2019-10-08 15:05:04 · 779 阅读 · 0 评论 -
均值,期望,方差,标准差,协方差
(把自己看的博客内容进行了综合)1.均值均值,其实是针对实验观察到的特征样本而言的。比如我们实验结果得出了x1,x2,x3……xn这n个值,那么我们的均值计算是1/N \ * (x_{1}+x_{2}+…x_{n})比如我们进行掷骰子,掷了六次,点数分别为2,2,2,4,4,4,这六次的观察就是我们的样本,于是我们可以说均值为(2+2+2+4+4+4)/6=3。但是千万不能说期望是3,下面...原创 2019-06-16 22:40:44 · 17798 阅读 · 6 评论 -
线性
转载自: https://blog.csdn.net/fengbingchun/article/details/77714201 1. 线性函数 在数学里,线性函数(也称一次函数)这名词主要是用于两种不同,但相关的领域。 在初级代数与解析几何,线性函数是只拥有一个变量的一阶多项式...转载 2018-10-19 20:34:31 · 601 阅读 · 0 评论 -
一元线性回归模型
#一元线性回归模型模型如下:总体回归函数中Y与X的关系可是线性的,也可是非线性的。对线性回归模型的“线性”有两种解释: (1)就变量而言是线性的,Y的条件均值是 X的线性函数 (2)就参数而言是线性的,Y的条件均值是参数的线性函数线性回归模型主要指就参数而...转载 2018-10-13 10:29:53 · 23727 阅读 · 0 评论 -
(翻译)edge slam
边缘SLAM:基于边缘点的单目视觉SLAM摘要: 近年来,视觉SLAM取得了很大的发展,但是在低纹理环境中依然有很大的挑战.在低纹理环境中,由于缺乏充足的特征点,基于特征点的SLAM无法可靠的估计环境结构和位姿.此外,当3d-2d对应特征点的数量不足以使用BA进行增量式相机位姿估计时,现有的视觉SLA...原创 2019-06-01 22:41:20 · 875 阅读 · 0 评论 -
VIO:飞行机器人单目VIO算法测评
原地址:https://blog.csdn.net/u012348774/article/details/81414264泡泡图灵智库,带你精读机器人顶级会议文章标题:A Benchmark Comparison of Monocular Visual-Inertial Odometry Algorithms for Flying Robots作者:Jeffrey Delmerico, Da...转载 2019-06-25 19:52:14 · 927 阅读 · 0 评论 -
SLAM评估工具evo的使用
evo官方指南参考博客:https://blog.csdn.net/A_L_A_N/article/details/88708979<官方手册+这篇参考博客,完全可以掌握evo的基本操作>Then----实践出真知:1、 安装evosudo apt install python-pippip install evo --upgrade --no-binary evo出现...原创 2019-09-07 15:40:14 · 7409 阅读 · 0 评论 -
看ORB SLAM代码中遇到的c++知识点
1.system.h中----枚举类型的定义与结构体的定义相似,其形式为:enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... 标识符[=整型常数], } 枚举变量;2.string.c_str(): const * char c_str() 一个将stri...原创 2018-07-24 10:23:53 · 365 阅读 · 0 评论 -
Ubuntu16.04下跑通orb slam(数据集)
重装系统后,所有的都重来一次吧,就当再巩固一下~在之前已经安装了所相关的各种库。1.安装ORB SLAM2先cd到自己打算存储ORBSLAM2工程的路径,然后执行下列命令:git clone https://github.com/raulmur/ORB_SLAM2.gitcd ORB_SLAM2chmod +x build.sh./build.sh之后会在lib文件夹下生成libO...原创 2019-01-15 19:18:02 · 999 阅读 · 0 评论 -
TUM数据加载
数据读取程序的完成:void LoadImages(const string &strFile, vector<string> &vstrImageFilenames, vector<double> &vTimestamps){ ifstream f; f.open(strFile.c_str()); //前三行为说明文字...原创 2019-03-19 21:51:08 · 401 阅读 · 0 评论 -
ORB SLAM中图像金字塔的构建
图像金字塔是同一幅图像在不同尺度下的集合,包括图像的上采样和下采样。opencv中使用pyrDown/pyrUp和resize都可以达到缩放图像的目的,区别是前者是先高斯模糊然后采样,后者通过插值的方法实现。resize可以将源图像精准的转化为指定尺寸的图像。在我们经常看到的SIFT特征提取中,构建高斯金字塔是它实现特征提取的基础,但是并不是所有的多尺度变换都要基于高斯模糊,比如orb slam中...原创 2019-03-22 16:06:31 · 3416 阅读 · 2 评论 -
opencv与ORB SLAM提取orb特征点比较
在ORB SLAM中,通过四叉树的方式存储关键点,使得图像上特征点分布均匀,便于追踪。此次实验分别用opencv接口和ORB SLAM实现特征点的提取,效果图如下:实现程序:#include <iostream>//#include <opencv2/core/core.hpp>//#include <open...原创 2019-03-25 20:24:33 · 1862 阅读 · 15 评论 -
orb slam追踪线程
看完程序好久了,但是持续性忘记,粗略看过两次,留在脑子里的东西少得可怜,看来还是得总结做笔记啊.追踪bok为临时变量,表示每个函数是否执行成功.一.首先检查并更新上一帧被替换的地图点.CheckReplacedInLastFrame().二.进行模式追踪:2.1选择其中一种模型进行追踪a.bok=TrackReferenceKeyFrame(): 当运动速度为0时(①初始化成功时②追...原创 2019-05-24 15:42:26 · 453 阅读 · 0 评论 -
VINS
VINS技术路线 写在前面:本文整和自己的思路,希望对学习VINS或者VIO的同学有所帮助,如果你觉得文章写的对你的理解有一点帮助,可以推荐给周围的小伙伴们,当然,如果你有任何问题想要交流,欢迎随时探讨。话不多说,下面上正文。VINS代码地址:https://github.com/HKUST-Aerial-Robotics/VINS-Mono参考文档:1.V...转载 2019-03-18 14:43:49 · 2067 阅读 · 0 评论