VINS-Mono: 单目视觉惯性导航系统详解

需积分: 0 0 下载量 34 浏览量 更新于2024-07-01 收藏 2.04MB PDF 举报
"VINS-Mono是一个鲁棒且多用途的单目视觉惯性状态估计器,专注于解决IMU处理、评估器初始化、外部参数标定和非线性优化的问题。该方法采用了一种能进行初始化和故障恢复的robust程序,并通过紧密耦合的非线性优化融合预积分的IMU数据和视觉数据,实现高精度的VI里程计。回环检测模块则通过结合紧耦合公式,以最小的计算成本实现重定位。此外,还利用四自由度的位姿图优化,确保全局一致性。系统包括测量预处理、初始化、VIO与重定位以及位姿图优化四个主要模块,各模块在多线程中运行,以实现实时性能。" 在VINS-Mono中,测量预处理是整个系统的基础,它负责处理来自惯性传感器(IMU)和单目相机的数据。相机部分通过特征检测和跟踪算法(如KLT稀疏光流算法)来提取并跟踪特征点,保持100至300个特征点的数量,以平衡计算效率和精度。特征点的分布通过设定最小间距得以均匀化。2D特征点首先进行畸变校正,然后通过RANSAC算法剔除异常值,再映射到单位球面上,以适应三维空间中的表示。 初始化阶段至关重要,它为后续的非线性优化型VIO提供了必要的初始值,包括姿态向量、速度向量、重力向量、陀螺仪偏差以及3D特征点坐标。这一阶段的成功与否直接影响到整个系统的稳定性和精度。 VIO(视觉惯性里程计)与重定位紧密结合,通过预积分的IMU测量和视觉观测进行紧密耦合的非线性优化,不断更新和校正估计的状态。同时,系统集成的回环检测模块能够检测到已访问过的区域,实现快速重定位,减少累积误差。 最后,位姿图优化模块利用四自由度的位姿图,对整个轨迹进行全局优化,确保长期运行时的漂移校正。这一过程在几何上验证了重定位结果,并在多线程环境下与VIO和重定位模块并行运行,以满足实时性需求。 VINS-Mono通过高效的预处理、精确的初始化、动态的VIO与重定位以及全局一致性优化,实现了单目视觉与惯性传感器数据的有效融合,为移动机器人和自动驾驶等领域的定位导航提供了强大的技术支持。