GVINS紧耦合多传感器状态估计算法解析
2026/9/24 17:59:59 网站建设 项目流程

GVINS 系统概述

GVINS 是一种基于非线性优化的系统,用于实现实时、无漂移的状态估计。该系统通过将GNSS 原始测量值(如伪距和多普勒)与视觉和惯性信息进行紧耦合,以提供准确的全局 6-DoF(六自由度)估计。


1. 系统核心特点

特点描述
紧耦合设计将 GNSS 原始观测值直接融入优化过程,而非仅使用 GNSS 定位结果
多传感器融合融合 GNSS、视觉和 IMU 数据,充分利用各传感器的优势
滑窗优化框架采用 VINS-Mono 的体系结构,结合因子图优化方法
初始化流程分为三步:单点定位、4 自由度对齐、轨迹因子构建

2. 初始化流程详解

GVINS 的初始化分为以下三个步骤:

  1. 单点定位
    利用 GNSS 单点定位计算大致基准点,用于转换坐标系。

  2. 4 自由度对齐

    • 利用多普勒观测值计算速度,从而得到航向差异和接收机钟差。
    • 对齐航向后,再次优化对齐轨迹因子。
  3. 轨迹因子构建
    构建三种因子:

    • 伪距因子:位置层面的约束。
    • 多普勒因子:速度层面的约束。
    • 接收机钟差钟漂因子:连续状态转移的约束。

3. 系统优势

优势描述
消除漂移通过 GNSS 的全局约束,显著减少 VIO 的漂移问题
鲁棒性在复杂环境中(如城市峡谷、隧道出入口)表现稳定
无缝切换能够处理室内到室外环境的过渡,包括卫星信号丢失和重新获取
高精度在长时间运行中保持局部精度,即使 GNSS 测量噪声较大

4. 实验验证

GVINS 通过仿真和真实实验进行了广泛验证,结果表明:

  • 显著抑制了 VIO 的漂移。
  • 城市驾驶室内外混合环境中表现出良好的可用性和鲁棒性。
  • 在需要厘米级精度的测绘应用中表现优异。

5. 技术实现

5.1 系统框架

  • VIO 部分:采用 VINS-Mono 的框架。
  • 相机建模:使用camodocal进行相机标定。
  • 优化器:使用Ceres进行非线性优化。

5.2 依赖库

  • Ubuntu 18.04 + ROS Melodic:推荐的开发环境。
  • C++ 11 或更高版本:支持 C++11 的编译器。

5.3 示例代码片段

// 伪距因子构建示例 FactorGraph::addFactor(new PseudorangeFactor( gnss_measurement, camera_pose, imu_state, noise_model::Isotropic::Sigma(3, 0.1) ));

6. 应用场景

GVINS 适用于以下场景:

  • 城市峡谷环境:GNSS 信号易受遮挡和反射。
  • 隧道出入口:GNSS 信号频繁切换。
  • 长时间运行的无人机/机器人定位:需要高精度和稳定性。
  • 需要厘米级精度的测绘应用:如地形建模、建筑扫描等。

7. 参考资料

  • GVINS: Tightly Coupled GNSS-Visual-Inertial Fusion for Smooth and Consistent State Estimation
  • GVINS 论文解读
  • 从零部署 GVINS

参考来源

  • GVINS: Tightly Coupled GNSS-Visual-Inertial Fusion for Smooth and Consistent State Estimation - 科研通
  • GVINS论文阅读(VINS-MONO + gnss 紧耦合)_gvins 论文解读-CSDN博客
  • GVINS: Tightly Coupled GNSS–Visual–Inertial Fusion for Smooth and Consistent State Estimation - 科研通
  • 从零部署GVINS:手把手教你搭建港科大多源融合定位系统-CSDN博客
  • 2021年开源SLAM算法_ikfom csdn-CSDN博客

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询