视觉导航系统对环境比较敏感,受到光照变化、重复纹理、动态物体等影响;惯性导航系统(INS)则完全自主工作,不受外部环境影响,能够实现连续、高频的自主导航,但其误差发散较快。两者组合能够取长补短,形成视觉惯性导航系统(VINS)。然而,在现有VINS中,往往是由视觉起主导作用,INS优势没有得到充分发挥,无法满足复杂环境下导航系统鲁棒性的预期。我们提出了一种以INS为核心的GNSS-Visual-INS组合导航系统(IC-GVINS),可以有效提高大尺度、复杂环境下系统的绝对定位精度和鲁棒性。
视觉惯性导航系统(VINS)具有较高的精度和相对较低的成本,被广泛应用于无人车和机器人的自主导航。然而,视觉系统极易受到诸如光照变化、动态物体等影响,导致性能恶化。惯性导航系统(INS)则不受外部环境的影响,能够实现连续的自主导航。与此同时,工业级微机电系统(MEMS)惯性测量单元(IMU)已达到准战术级水平,具有较高的短期精度,加上其明显的成本优势,使用越来越广泛。为了充分发挥INS的优势,我们提出以INS为核心的GNSS-Visual-INS组合导航系统IC-GVINS [1], 以提高复杂环境下导航定位的精度和鲁棒性。
IC-GVINS的系统框图如图1所示。首先,我们在INS解算中考虑了地球自转的影响,以充分发挥工业级MEMS IMU的性能。为了有效补偿地球自转,我们采用基于图优化的GNSS/INS组合导航实现系统的初始化,以得到和地理坐标对齐的绝对姿态 [2]。在此基础上,用GNSS/INS结果直接初始化视觉前端系统,解决了现有GNSS-Visual-INS系统中VINS需要独立初始化的问题。然后,INS信息被用于辅助视觉前端的特征点跟踪和路标点三角化,从而提升高动态条件下的视觉特征点跟踪的连续性。最后,基于图优化框架,融合IMU预积分、视觉特征点和GNSS定位信息,实现精确的状态估计,如图2所示。
本论文的主要贡献如下:
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精度挺好的,不知道我这是不是哪儿有问题,有知道的大神多多指教啊~