虽然GNSS/INS松组合算法已经很成熟,但对初学者来说正确实现它仍是不小的挑战。为此,我们开源一套基于扩展卡尔曼滤波的GNSS/INS组合导航算法代码(KF-GINS)。代码结合团队已公开的视频课程、讲义,供初学者入门使用,也可作为基础的GNSS/INS松组合算法研究平台。
随着自动驾驶和智能无人系统的发展,复杂环境下连续准确的定位定姿需求日益增加。在众多的导航定位技术中,全球卫星导航系统(GNSS)和惯性导航系统(INS)具有天然的互补性,因此GNSS/INS组合导航被公认为最经典、使用最广泛的组合导航系统。
GNSS/INS的数据融合算法首先通过INS机械编排实现导航状态的推算,然后通过Kalman滤波将GNSS的定位和测速信息作为观测量对INS推算的导航状态量进行修正。GNSS/INS数据融合的Kalman滤波算法已经很成熟,但涉及惯性导航算法、IMU误差建模、Kalman滤波设计实现等多方面的知识,正确实现组合导航算法对初学者来说仍是不小的挑战。
武汉大学i2Nav团队开源了一套基于扩展卡尔曼滤波的GNSS/INS组合导航系统(EKF-Based GNSS/INSIntegrated Navigation System, KF-GINS)算法代码。这套代码结合团队已公开的视频课程、讲义[1,2],供初学者入门使用,也可作为基础的GNSS/INS松组合算法研究平台。KF-GINS采用C++语言编写,各功能函数和模块相对独立,复用性和可扩展性较强。KF-GINS已上传到GitHub,可通过以下链接获取:
KF-GINS主要特点包括:
扩展卡尔曼滤波(误差状态向量)架构的GNSS/INS松组合算法,包括IMU误差补偿、惯性导航解算、Kalman滤波、误差反馈等环节;
采用21维系统误差状态,包括位置误差、速度误差、姿态误差、IMU零偏误差和IMU比例因子误差;
姿态误差采用Phi角模型,速度、位置误差定义在导航坐标系下;
惯性导航解算采用基于角速度和加速度线性变化假设的双子样机械编排算法,补偿了姿态圆锥效应、速度的旋转效应和划桨效应。
KF-GINS系统框架
这套代码配套的组合导航测试数据集(包含不同精度等级IMU)可以通过如下链接获取:
https://github.com/i2Nav-WHU/awesome-gins-datasets
审核编辑:刘清
-
卡尔曼滤波
+关注
关注
3文章
162浏览量
24632 -
GNSS
+关注
关注
9文章
757浏览量
47830 -
自动驾驶
+关注
关注
783文章
13674浏览量
166096 -
惯性导航
+关注
关注
2文章
55浏览量
13451
原文标题:开源代码分享之KF-GINS:基于扩展卡尔曼滤波的GNSS/INS组合导航算法
文章出处:【微信号:SmartHWFW,微信公众号:SmartHWFW】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论