
vins-mono
稻壳特筑
SLAM、Computer Vision、Unmanned Aerial vehicle、Deep Learning、Multiple Sensor Fusion、C++
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VINS-MONO的运行方法
VINS-MONO的运行方法原创 2022-08-01 15:03:07 · 741 阅读 · 1 评论 -
相机+IMU标定 Realsense D435i
使用的标定工具总共包含两个,一个是苏黎士联邦理工的Kalibr工具,可以标定相机内参及相机-IMU外参,另外一个是港科大的imu_utils,可以标定IMU内参,我们先标定IMU内参,再标定相机内参,最后联合标定,得到相机-IMU的外参。一、IMU标定1.修改rs_camera.launch部分参数使得IMU数据同步:找到realsense-ros工作环境文件夹中的rs_camera.launch位置:在 /realsense的catkin工作环境/src/realsense-ros...原创 2020-12-22 15:29:40 · 4089 阅读 · 14 评论 -
evo轨迹对比图绘制
evo_traj euroc data.csv --save_as_tumevo_ape tum vins_result_loop.txt data.tum -p -vaevo_traj tum vins_result_loop.txt --ref=data.tum -p --plot_mode=xyz --align --correct_scale--save_results指令原创 2020-11-19 22:58:44 · 2453 阅读 · 0 评论 -
win10下安装ubuntu16.04 并配置SLAM运行环境
https://www.cnblogs.com/masbay/p/10745170.html原创 2020-10-08 22:36:34 · 1079 阅读 · 0 评论 -
SLAM中的奇异值分解
奇异值分解的物理意义和几何意义奇异值分解是一个能适用于任意的矩阵的一种分解的方法:假设A是一个M* N的矩阵,那么得到的U是一个M* M的方阵(里面的向量是正交的,U里面的向量称为左奇异向量且为单位正交阵)Σ是一个M* N的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值)是一个N* N的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量且为单位正交阵),从图片来反映几个相乘的矩阵的大小可得下面的图片:奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较...原创 2020-07-29 12:40:25 · 697 阅读 · 0 评论 -
SLAM中的RANSAC
随机抽样一致算法(RANdom SAmple Consensus),简称RANSAC算法,采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数。其广泛应用在计算机视觉领域和数学领域,例如直线拟合、平面拟合、计算图像或点云间的变换矩阵、计算基础矩阵等方面。RANSAC算法基本思想: 从数据集中随机选出一组局内点(其数目要保证能够求解出模型的所有参数),计算出一套模型参数。 用得到的模型去测试其他所有的数据点,如果某点的误差在设定的误差阈值之内,就判定其为局内点,否则为局外点,只.原创 2020-07-29 17:23:55 · 1095 阅读 · 0 评论 -
SLAM中的边缘化舒尔补
在我们这个工科领域,它来源于概率论中的边际分布(marginal distribution)。如从联合分布p(x,y)去掉y得到p(x),也就是说从一系列随机变量的分布中获得这些变量子集的概率分布。回忆了这个概率论中的概念以后,让我们转到SLAM的Bundle Adjustment上,随着时间的推移,路标特征点(landmark)和相机的位姿pose越来越多,BA的计算量随着变量的增加而增加,即使BA的H矩阵是稀疏的,也吃不消。因此,我们要限制优化变量的多少,不能只一味的增加待优化的变量到BA里,而应该去掉原创 2020-07-29 22:02:50 · 3016 阅读 · 0 评论 -
SLAM中光流算法
为什么要用金字塔?因为lk算法的约束条件即:小速度,亮度不变以及区域一致性都是较强的假设,并不很容易得到满足。如当物体运动速度较快时,假设不成立,那么后续的假设就会有较大的偏差,使得最终求出的光流值有较大的误差。考虑物体的运动速度较大时,算法会出现较大的误差。那么就希望能减少图像中物体的运动速度。一个直观的方法就是,缩小图像的尺寸。假设当图像为400×400时,物体速度为[16 16],那么图像缩小为200×200时,速度变为[8,8]。缩小为100*100时,速度减少到[4,4]。所以在源图像缩放了很多原创 2020-07-29 19:17:33 · 1456 阅读 · 0 评论 -
VINS-MONO翻译以及理论推导系列(三):VI紧耦合单目VIO、VII重定位
VI. 紧耦合单目VIO估计器初始化后,我们采用基于滑动窗口的紧耦合单目VIO进行高精度和鲁棒状态估计。图3显示了滑动窗口的图示。A. 公式化滑动窗口中的完整状态向量定义为: 其中是捕获图像时的IMU状态。它包含了IMU在世界帧中的位置、速度和方向,以及在IMU 本体坐标帧中的加速度计偏置和陀螺仪偏置,n是关键帧的总数,m是滑动窗口中的特征总数,是第一次观测到的特征的逆深度。我们使用视觉惯性集束调整公式(BA).我们最小化所有测量残差的先验和马氏范数之和,...原创 2020-07-10 23:09:27 · 1113 阅读 · 0 评论 -
VINS-MONO翻译以及理论推导系列(四):VIII全局位姿图优化、IX实验结果
VIII. GLOBAL POSE GRAPH OPTIMIZATION 重新定位后,局部滑动窗口移动并与过去的姿态保持一致。利用重定位结果,此附加姿态图优化步骤被开发以确保过去姿势的集合被登记为全局一致配置 由于我们的视觉惯性设置使滚动和俯仰角完全可观测,累积漂移只发生在四个自由度(x,y,z和偏航角)。为此,我们忽略了对无漂移滚转和俯仰状态的估计,只进行了四自由度姿态图的优化。A. Adding Keyframes into the Pose Graph当关键帧从...原创 2020-07-10 23:13:44 · 1816 阅读 · 0 评论 -
VINS-MONO翻译以及理论推导系列(二):V估计器初始化
V 估计器初始化紧耦合单目VIO是一个高度非线性的系统.由于单目相机无法直接观测到尺度,因此,如果没有良好的初始值,很难直接将这两种测量结果融合在一起。人们可以假设一个静止的初始条件来启动单目vins估计器。然而,这种假设是不合适的,因为在实际应用中经常会遇到运动下的初始化.当IMU测量结果被大偏置破坏时,情况就变得更加复杂了。事实上,初始化通常是单目vins最脆弱的步骤。需要一个鲁棒的初始化过程来确保系统的适用性。 我们采用松耦合的传感器融合方法得到初始值.我们发现,纯视觉的SLAM...原创 2020-07-08 22:22:29 · 495 阅读 · 0 评论 -
VINS-MONO翻译以及理论推导系列(一):IV测量预处理
IV:测量值预处理该部分描述惯性以及单目视觉测量的预处理步骤。对于视觉测量,我们追踪连续帧间的特征点以及在最近的帧中检测新的特征点。对于IMU测量,对两连续帧进行预计分。注意到我们使用的廉价的IMU,其测量值会受到偏置和噪声的双重影响。因此我们特意将偏置考虑在IMU预计分的过程中。A.视觉处理前端对每一帧新的图像,现有的特征点由KLT稀疏光流算法[29]进行跟踪.同时检测新的角点特征以维持每帧图像中最低(100-300)特征点数。检测器通过设置两相邻特征点的最小像素间隔来保证统一的特征点分布。首原创 2020-07-07 22:32:29 · 689 阅读 · 5 评论