slam
文章平均质量分 82
arrow_zjj
这个作者很懒,什么都没留下…
展开
-
vins-mono vins_estimator 代码解析
的谓词判断pred,检查迭代器区间[first, last)上的每一个元素,如果迭代器iter满足pred(*iter) == true,表示找到元素并返回迭代器值iter;未找到元素,则返回last。std::thread 建立线程 template explicit thread(Fn&& fn, Args&&... args);上锁手动 解锁自动化。原创 2022-11-26 17:27:32 · 173 阅读 · 1 评论 -
vins-mono feature_tracker 代码解析
{//对光流跟踪到的特征点forw_pts,按照被跟踪到的次数cnt从大到小排序});a b为自定义的数据类型指针,const pair确定输入形式,a.first b.first确定比较元素为第一个元素,按照从大到小的顺序进行排序。原创 2022-10-28 18:22:30 · 585 阅读 · 0 评论 -
VINS-mono ubuntu20.04bug修复总结
[feature_tracker-2] [pose_graph-4] /home/shaozu/output/pose_graph/ not exists问题原创 2022-10-24 20:52:59 · 1776 阅读 · 1 评论 -
slam-前端数学知识
常用八点法,因为八点法只利用线性性质,可以在线性代数框架下求解,满秩系数矩阵零空间维数为一,维数为一恰恰印证了尺度等价性,对于系数方程,需要满足秩为八的条件,可以求解出本质矩阵E。对于H矩阵求解得到的R和t,通过正深度排除两个点,同时可以计算得出平面的法向量,结合先验信息(已知场景可能的平面法向量)根据线性方程求解得到的E,如果不满足内在性质,可以直接将对角阵改变为(1,1,0),或者将E投影到所在流形上。基础矩阵自由度下降,会得到单应矩阵,按八点法估计会引入噪声,同时求解H和E,取重投影误差小的。原创 2022-09-24 15:53:32 · 134 阅读 · 0 评论 -
slam中的数学知识
设 A 为 n 阶对称矩阵,λ是 A 的特征方程的 k 重根,则矩阵 A -λE 的 秩 R(A -λE)= n-k,从而对应特征值λ恰有 k 个线性无关的特征向量.设 A 为 n 阶对称矩阵,则必有正交矩阵 P,使 P -1 A P = P T A P =Λ,其 中Λ 是以 A 的 n 个特征值为对角元的对角矩阵.我们把对称矩阵A叫做二次型f的矩阵,也把f叫做对称矩阵A的二次 型.对称矩阵A的秩就叫做二次型f的秩.(ii)有惟一解的充分必要条件是 R(A)= R(A,b)= n;原创 2022-09-09 11:19:41 · 821 阅读 · 0 评论 -
S-MSCKF(前端)代码解读
这里主要提一下源代码作者采用的损失函数,因为只要求代表大小,不要求精确的值,尺度不确定,所以仅仅使Ax,AY.Az最小值对应的平移量为一,其他用上面其中一个式子求解即可,详细见代码。type=“file_name” 可执行文件的名称,如果是用Python文件就写xxx.py,如果是cpp就写编译生成的可执行文件名。5.检查是否为纯旋转,在纯旋转情况下,平移量t几乎为零,计算diff的平方,小于一定阈值,为纯旋转。调用ROSbag,记录的话题(cam0_image,cam1_image,imu)开始发送。..原创 2022-08-09 19:56:29 · 1125 阅读 · 0 评论 -
slam学习笔记(2)-基于视觉slam14讲
直接法的计算:1.关键点的提取与描述子计算非常耗时(描述子匹配不怎么消耗时间)2.图像信息的丢失3.特征缺失的地方,特征点数量下降,找不到足够的匹配来计算相机运动改进方法:(1)只计算关键点,不计算描述子(保留特征点的方法),使用光流法来跟踪特征点的运动,可以避免计算和匹配描述子的时间开销依据的为特征点(2)只使用关键点,不计算描述子,使用直接法计算特征点在下一时刻图像中位置,省去描述子计算,省去光流的计算依据的为随机选取的点,通过像素值亮度来判断选取直接法优点:依据像素的亮度信息,可以完全不用计算特征点和原创 2022-07-13 20:23:08 · 644 阅读 · 0 评论 -
MSCKF学习笔记
现代的陀螺仪(MEMS)输出的是旋转变化率(RotationalRate),而不是Rotation本身,所以需要对陀螺仪的输出对时间积分才能得到朝向信息,在积分的过程中,随着时间的积累,误差也会持续累积,最终使得朝向发生偏移(Drift)。(1)IMU简介测量物体三轴姿态角及加速度的装置。对于机器人的运动,增大不确定的程度,可以使算法更具有鲁棒性,很好的应对一些不成立的假设。通过使用视觉里程计(前端),可以得到相对于机器人的三维坐标。的建立测量值,可以用传感器直接测量得到的参数值。............原创 2022-07-17 21:29:01 · 1894 阅读 · 0 评论 -
EKF(拓展卡尔曼滤波)学习笔记:
注意,slam中EKF是离散形式存在的,x(k-1)是变量,x(k-1).hat是变量值,计算概率时,带入进去。不是单纯的数值,而是一个状态分布函数,是一个概率函数,程序的更新,只需要维护一个状态变量,对其进行更新即可。(2)通过上一时刻状态来更新新的时刻的状态,考虑状态转移函数,外力作用,同时考虑系统的不确定性。概率论角度来说似然由观测方程给出,先验由过去所有状态给出,对于KF,由上一时刻状态给出。x代表某一时刻的所有状态,代表该状态下所有的观测。有上一时刻的状态,加系统输入得到系统的先验分布。...原创 2022-07-16 15:35:19 · 1443 阅读 · 0 评论 -
slam学习笔记(1)
本文为高翔博士slam14讲学习笔记旋转向量与旋转矩阵转化:四元数表示的旋转:三维旋转可以由单位四元数来描述,四元数也具有实部和虚部,类似于二维平面中的复数用eigen包可以进行所有不同类型数之间的转化群:集合加代数运算结构,G=(A,.)李群:一种光滑连续的群李代数:由一个集合,一个数域,一个二元运算(也称为李括号)组成 g=(R^3,R,x),构成一个李代数李代数表示在李群某一位置的导数特征李群李代数转换,指数映射与对数映射对于so,指数映射值罗德里格斯公式BCH近似: 左乘微小旋转,李群上的相乘等于李原创 2022-06-15 16:20:46 · 881 阅读 · 0 评论