实践IC-GVINS: 以惯导为核心的GNSS-Visual-INS组合导航系统

news2024/9/29 11:41:02

视觉导航系统对环境比较敏感,受到光照变化、重复纹理、动态物体等影响;惯性导航系统(INS)则完全自主工作,不受外部环境影响,能够实现连续、高频的自主导航,但其误差发散较快。两者组合能够取长补短,形成视觉惯性导航系统(VINS)。然而,在现有VINS中,往往是由视觉起主导作用,INS优势没有得到充分发挥,无法满足复杂环境下导航系统鲁棒性的预期。我们提出了一种以INS为核心的GNSS-Visual-INS组合导航系统(IC-GVINS),可以有效提高大尺度、复杂环境下系统的绝对定位精度和鲁棒性。

视觉惯性导航系统(VINS)具有较高的精度和相对较低的成本,被广泛应用于无人车和机器人的自主导航。然而,视觉系统极易受到诸如光照变化、动态物体等影响,导致性能恶化。惯性导航系统(INS)则不受外部环境的影响,能够实现连续的自主导航。与此同时,工业级微机电系统(MEMS)惯性测量单元(IMU)已达到准战术级水平,具有较高的短期精度,加上其明显的成本优势,使用越来越广泛。为了充分发挥INS的优势,我们提出以INS为核心的GNSS-Visual-INS组合导航系统IC-GVINS [1], 以提高复杂环境下导航定位的精度和鲁棒性。

在这里插入图片描述

图1:IC-GVINS的系统框图

IC-GVINS的系统框图如图1所示。首先,我们在INS解算中考虑了地球自转的影响,以充分发挥工业级MEMS IMU的性能。为了有效补偿地球自转,我们采用基于图优化的GNSS/INS组合导航实现系统的初始化,以得到和地理坐标对齐的绝对姿态 [2]。在此基础上,用GNSS/INS结果直接初始化视觉前端系统,解决了现有GNSS-Visual-INS系统中VINS需要独立初始化的问题。然后,INS信息被用于辅助视觉前端的特征点跟踪和路标点三角化,从而提升高动态条件下的视觉特征点跟踪的连续性。最后,基于图优化框架,融合IMU预积分、视觉特征点和GNSS定位信息,实现精确的状态估计,如图2所示。
在这里插入图片描述

图2:IC-GVINS的图优化框架

本论文的主要贡献如下:

1)提出了一种以INS为核心的GNSS-Visual-INS组合导航系统IC-GVINS,以充分发挥INS的优势。INS为核心的设计特点包括:考虑地球自转的高精度INS算法、基于图优化的GNSS辅助的INS初始化以及INS辅助的视觉前端处理。

2)通过使用精确的INS先验信息,IC-GVINS仅需要使用稀疏的视觉关键帧进行状态估计,显著降低了系统的计算复杂度,提高了导航定位的实时性。同时,精确的INS信息用于辅助视觉前端特征点跟踪和路标点三角化,提升了大动态条件下的鲁棒性。

3)采用高速车载数据集(KAIST Complex Urban Dataset)和低速的机器人数据集(自采集)对IC-GVINS进行了全面的评估。实验结果表明, IC-GVINS相比于现有系统表现出更高的精度和鲁棒性。

4)开源了IC-GVINS的源代码,同时开放了多源导航传感器机器人数据集。

总结:IC-GVINS的效果表明,INS在多传感器组合导航系统中可以扮演更重要的角色。一方面,INS可以作为多源传感器融合的纽带,为多源传感器信息融合建立精准的时空关联;另一方面,INS不应该仅仅局限于后端位姿估计,还可以为多源传感器的前端观测量提取提供精确可靠的辅助。

参考文献:

[1] Xiaoji Niu, Hailiang Tang, Tisheng Zhang, Jing Fan, and Jingnan Liu, “IC-GVINS: A Robust, Real-time, INS-Centric GNSS-Visual-Inertial Navigation System,” IEEE Robotics and Automation Letters, 2022, doi: 10.1109/LRA.2022.3224367.

[2] Hailiang Tang, Tisheng Zhang, Xiaoji Niu, Jing Fan, and Jingnan Liu, “Impact of the Earth Rotation Compensation on MEMS-IMU Preintegration of Factor Graph Optimization,” IEEE Sensors Journal, vol. 22, no. 17, pp. 17194–17204, Sep. 2022, doi: 10.1109/JSEN.2022.3192552.

代码地址:https://github.com/i2Nav-WHU/IC-GVINS
论文链接:http://i2nav.cn/ueditor/jsp/upload/file/20221204/1670138484463044283.pdf

转载地址:http://i2nav.cn/index/newListDetail_zw.do?newskind_id=f8990a24cf86440483d7821d9c2975c9&newsinfo_id=fd73881a241247c78a2ca636c77f9508

实践:

roslaunch ic_gvins ic_gvins.launch configfile:=/home/sjj/urban38/IC-GVINS/gvins.yaml
rosbag play urban38.bag 

在这里插入图片描述

在这里插入图片描述
evo评测:
在这里插入图片描述
在这里插入图片描述
论文里给的ATE、ARE精度挺好的,不知道我这是不是哪儿有问题,有知道的大神多多指教啊~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375399.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计

基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STM32F103C8T6核心系统电路设计2.2心率检测电路设计2.3 TFT2.4寸彩屏电路设计3、部分代码展示3.1 ADC初始化3.2 获取ADC采样值3.3 LCD引脚初始化3.3 在LCD指定位置显…

15 Nacos客户端实例注册源码分析

Nacos客户端实例注册源码分析 实例客户端注册入口 流程图&#xff1a; 实际上我们在真实的生产环境中&#xff0c;我们要让某一个服务注册到Nacos中&#xff0c;我们首先要引入一个依赖&#xff1a; <dependency><groupId>com.alibaba.cloud</groupId>&l…

Android与flutter混合开发

这里我使用的android studio版本是2020.3.1&#xff1b;flutter版本2.5.3。此前在网上搜索的很多教教程版本都不一样&#xff0c;新版的IDE和SDK让我遇到了很多坑故这里整理一下。一、创建项目1.在Android项目中点击File->New->New Flutter Project。File->New->Ne…

认识STM32和如何构建STM32工程

STM32介绍什么是单片机单片机(Single-Chip Microcomputer)是一种集成电路芯片&#xff0c;把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种/0口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电…

快速找到外贸客户的9种方法(建议收藏)

所有外贸企业想要做好外贸出口的头等大事&#xff0c;就是要快速的找到优质的外贸客户和订单&#xff0c;没有订单的达成&#xff0c;所有的努力都是图劳&#xff0c;还有可能会陷入一种虚假的繁荣&#xff0c;每天都很忙&#xff0c;但是没有结果。今天&#xff0c;小编就来分…

在VScode中添加Linux中的Docker容器中的Python解释器

VScode编辑器在安装好Python插件之后会自动选择环境变量中排序最高的那一个解释器作为默认解释器&#xff0c;而想要额外添加新的Python解释器就需要自己设置。 VScode编辑器安装在本地电脑 支持Python的docker安装在远程服务器 第一步&#xff0c;在/usr/local/下新建pytho…

Telnet 基础实验1: Telnet 实验

Telnet 基础实验1&#xff1a; Telnet 实验 拓扑图 配置命令 R1 的配置 undo ter mo sys sys R1 interface g0/0/0 ip address 192.168.1.1 255.255.255.0 qR2 的配置 undo ter mo system-view sysname R2 interface g0/0/0 ip address 192.168.1.2 255.255.255.0 q两台设…

微信小程序和webview使用postMessage交互

小程序和webview能交互&#xff0c;但是没有你想的那个完美小程序向webview传递参数只能使用url携带参数webview向小程序传递参数可以使用postMessage, 但是注意了&#xff0c;postMessage只会在特定的时机执行&#xff0c;请看官方文档由此可见&#xff0c;如果你想点击webvie…

深度剖析指针(上)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是指针噢&#xff0c;在学习C语言的过程中&#xff0c;指针算是一个比较重要的内容&#xff0c;当然&#xff0c;难度也是比较大的&#xff0c;那么现在就让小雅兰来带大家进入指针的世界吧 字符指针 数组指针…

HiEV洞察 | 特斯拉HW4.0再爆猛料,高精定位、雷达均有变动

作者 | 查理斯 编辑 | 王博特斯拉 HW4.0 消息传出后&#xff0c;有人爆料说在硬件层面发生了巨大变化&#xff0c;引发行业轰动。大家都在猜测HW4.0 具体做了哪些改动。 2月16日&#xff0c;Twitter用户greentheonly爆出HW4.0的主板拆解照片。2月18日又爆出毫米波雷达的拆解照片…

[oeasy]python0095_乔布斯求职_雅达利_atari_breakout_打砖块_布什内尔_游戏机_Jobs

编码进化 回忆上次内容 上次 我们回顾了 电子游戏的历史 从 电子游戏鼻祖 双人网球到 视频游戏 PingPong再到 街机游戏 Pong 雅达利 公司 来了 嬉皮士 捣乱&#xff1f;&#x1f914; 布什内尔 会如何 应对 呢&#xff1f;&#x1f914; 布什内尔 布什内尔 本身就有点 …

Maven创建父子项目工程详细配置

Maven创建父子项目工程详细配置1.Maven子父工程依赖配置2.环境/版本一览&#xff1a;3.创建父工程4.创建子工程5.子模块之间引用依赖6.打包1.Maven子父工程依赖配置 你还在对Maven子父工程依赖配置感到疑惑吗&#xff1f;看了这篇文章你讲对它们有个新的认知&#xff0c;小白也…

构建对话机器人:Rasa3安装和基础入门

在开源对话机器人中&#xff0c;Rasa社区很活跃&#xff0c;在国内很多企业也在使用Rasa做对话机器人&#xff0c;有rasa开发经验的往往是加分项。 当年实习的时候接触到了Rasa&#xff0c;现在工作中也使用Rasa&#xff0c;因此&#xff0c;写写一些经验文档&#xff0c;有助后…

测试报告踩坑的点

测试报告作为测试人员的核心输出项&#xff0c;是体现自己工作价值的重要承载工具&#xff0c;需要我们认真对待&#xff0c;所以我们要重视测试报告的输出&#xff0c;那么在编写测试报告的时候&#xff0c;我们有哪些点需要注意的呢? 01 不要乱用模板 很多测试新人在编写测试…

LeetCode 周赛 334,在算法的世界里反复横跳

本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 提问。 大家好&#xff0c;我是小彭。 今天是 LeetCode 第 334 场周赛&#xff0c;你参加了吗&#xff1f;这场周赛考察范围比较基础&#xff0c;整体难度比较平均&#xff0c;第一题…

使用linux部署项目步骤

文章目录前言一、服务器环境配置二、数据库导入三、项目打包1、修改项目中的访问路径2、修改db.properties的数据库访问路径3、打包4、修改配置&#xff0c;启动服务四、测试总结前言 今天学习了在服务器中部署项目&#xff0c;记录一下 一、服务器环境配置 首先要安装VMware&…

CTFer成长之路之逻辑漏洞

逻辑漏洞CTF 访问url: http://1b43ac78-61f7-4b3c-9ab7-d7e131e7da80.node3.buuoj.cn/ 登录页面用随意用户名密码登录 访问url&#xff1a; http://1b43ac78-61f7-4b3c-9ab7-d7e131e7da80.node3.buuoj.cn/user.php 登陆后有商品列表&#xff0c;共三个商品,点击购买flag 钱…

【数据结构】队列的接口实现(附图解和源码)

队列的接口实现&#xff08;附图解和源码&#xff09; 文章目录队列的接口实现&#xff08;附图解和源码&#xff09;前言一、定义结构体二、接口实现&#xff08;附图解源码&#xff09;1.初始化队列2.销毁队列3.队尾入队列4.判断队列是否为空5.队头出队列6.获取队列头部元素7…

算法练习(七)数据分类处理

一、数据分类处理 1、题目描述&#xff1a; 信息社会&#xff0c;有海量的数据需要分析处理&#xff0c;比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。采集输入大数据和分类规则&#xff0c;通过大数据分类处理程序&#xff0c;将大数据分类输出…

Matlab 实用小函数汇总

文章目录Part.I 元胞相关Chap.I 创建空 char 型元胞Part.II 矩阵相关Chap.I 矩阵插入元素Part.III 字符串相关Chap.I 获取一个文件夹下所有文件的文件名的部分内容Part.IV 结构体相关Chap.I 读取结构体Chap.II 取结构体中某一字段的所有值本篇博文记录一些笔者使用 Matlab 时&a…