基于卡尔曼滤波的汽车航迹推算定位系统研究

2023-02-27 03:45揭琳锋汤梓恒周伟伟
农业装备与车辆工程 2023年2期
关键词:航迹卡尔曼滤波导航系统

揭琳锋,汤梓恒,周伟伟

(225217 江苏省 扬州市 扬州工业职业技术学院 交通工程学院)

0 引言

做为智能交通系统(ITS)的重要组成部分之一的车辆定位导航系统,整合了交通地理信息技术、车辆定位技术、先进通信技术等,能有效提高交通工具的机动性、安全性以及道路的通行能力,其发展水平影响到整个智能交通系统的规划发展。全球卫星定位系统(GPS)具有精度高、成本低、定位全球性等特质,但是也有着信号易受干扰及被遮蔽的缺陷,而航迹推算(DR)系统具有不易受外界影响、短时间内误差小等优点,它们二者相结合所构成的组合导航系统能够比较全面地发挥自身优势,并且能够相互补充,拓展导航系统的使用范围,使车辆导航系统在诸多恶劣环境之下都能够提供稳定可靠的导航服务[1-4]。

本文通过融合多级卡尔曼滤波算法,建立了基于卡尔曼滤波的汽车定位系统航迹推算算法,并搭建了全球卫星定位系统(GPS)和航迹推算(DR)系统相互配合的组合导航系统,通过MATLAB 软件进行算法仿真分析。本算法及系统实现了车辆在丢失GPS信号后短时间内仍然能够进行自主定位,并能对行驶轨迹进行分析处理。

1 系统总体方案

GPS/DR 车辆导航系统采用航迹推算(DR)的方法作为全球卫星定位系统(GPS)辅助定位方式。当GPS 信号丢失时,系统切换到航迹推算模式,由霍尔里程计实时计算汽车行驶的距离,电子罗盘提供实时航向角,根据初始时刻的位置经纬度信息推算出当前的经纬度,达到为车辆定位的目标。

系统采用GPS 和DR 并辅之以卡尔曼滤波法作为车辆定位导航的基本平台,实现为车辆提供基础实时导航及短时间自主定位功能。系统主要集成了HOLUX 公司的GR-87 GPS 模块、斌青公司的BQ-CA81 电子罗盘、Atmel 公司的AT89S52 单片机、LCD1602 显示器以及它们的外围滤波、供电电路原件。

在实际算法编制中,需要综合考虑位置坐标获取、航向角测量以及行驶里程统计等三方面信息的收集处理。

2 系统算法及误差分析

航迹推算(DR)定位系统是全球卫星定位系统(GPS)辅助系统。当GPS 信号良好,系统算法经卡尔曼滤波校正DR 系统的定位信息;当GPS 信号不良,就可以使用DR 数据推算车辆位置。实际中两种系统通过卡尔曼滤波耦合,就可以获得良好的定位精度和定位可靠性[5]。

航迹推算(DR)算法产生的误差主要是传感器误差引起的位置误差的积累。一方面是里程计误差。由于车轮轮胎充气程度、磨损及载荷不同,打滑等原因造成里程计误差;另一方面是电子罗盘的误差。该误差则由包括传感器误差、周围环境磁化导致的误差等引起[6~8]。GPS 还存在定位误差包括:星历误差、GPS 接收机钟差、观测误差等三大类。

2.1 联合卡尔曼滤波的选择与应用

卡尔曼滤波器运用广泛,它使用状态空间概念描述数学公式,通过递归计算求解[9]。在GPS/DR车辆导航系统中,用卡尔曼滤波方法将GPS 和DR的信息同时用于定位解的求解,在滤波过程中修正DR 系统的状态。所以,在GPS 失效的情况下,系统自动切换为DR 推算定位。系统算法可以保持较高的定位精度[9]。

文中的GPS/DR 车辆导航系统运用联合卡尔曼滤波形式实现多传感器信息融合。GPS/DR 车辆导航系统通过联合卡尔曼滤波技术,可以很好地实现定位导航信息的最优输出,可以极大地降低传感器误差对定位系统状态估计的不良影响,提高组合系统的整体滤波精度[10]。系统运用卡尔曼滤波的具体方式如图1 所示。

图1 联合卡尔曼滤波运行框图Fig.1 Application of Kalman filter in GPS/DR vehicle navigation system

2.2 算法程序设计

软件部分主要涉及航迹推算传感器信号采集、A/D 转换,GPS 信号接收、读码,最后将数据向系统输入。

GPS/DR 车辆导航系统开发基于μVision2IDE集成开发环境。该系统采用C 语言编制程序,编辑、编译均在μVision2 开发环境下。开发完成之后,通过串口助手软件和单片机程序烧录板将程序写入系统单片机。

根据所选择的硬件和算法的编译,再通过加入联合卡尔曼滤波,便可得到系统软件设计流程。(1)AT89S52 单片机与GR-87 GPS 模块的串口通信波特率设置在9 600 bps,当串口通信波特率达到4 800 bps 时系统自动切换而BQ-CA81 电子罗盘数据通信。(2)设置串口1 中断,用来接收GPS 接收模块送来的信息,在内存中开辟一段GPS 信息缓冲区,每接收一个字节,写入缓冲区,当接收满一帧的时候,设置输出标志位,以表示可以输出GPS信息。检测一帧是否接收完毕,采用检测‘’符号的方法,‘’为GPS 输出每一帧开始的标识[11-15]。

系统软件流程如图2 所示。GPS 工作程序流程如图3 所示。电子罗盘工作程序流程如图4 所示。

图2 系统软件流程图Fig.2 System software flowchart

图3 GPS 工作程序流程图Fig.3 GPS working procedure flow chart

图4 电子罗盘工作程序流程图Fig.4 Flow chart of electronic compass working procedure

通过对GPS/DR 车辆导航系统所要达到技术指标的总体分析,进行硬件和软件系统的设计与搭建,并进行整合集成,获得系统总体设计制造方案。提出航迹推算算法,并设计相应软件流程图。

3 系统调试

3.1 硬件器件调试

设计、组装GPS/DR 车辆导航系统后,必须经过硬件调试,验证能否达到功能指标,发现并改正设计缺陷。主要的调试方法运用了电路检查法、电压、电阻测量法以及信号注入法等。

3.2 仿真测试

本文采用MATLAB 软件进行仿真实验。

(1)首先对实验小车进行运动模型分析,并根据小车标示规格参数估计,对小车运动方程建模,并做简化:

假定环境噪声为信噪比20 dB 高斯白噪声,得到模拟噪声信号曲线,如图5 所示。

图5 MATLAB 软件模拟加入高斯白噪声Fig.5 MATLAB software simulating joining white Gaussian noise

实验先模拟车辆在无干扰源噪声情况下的行驶轨迹作为原始参照,如图6 所示。加入高斯白噪声干扰,获得不经过卡尔曼滤波的轨迹图像。然后给程序注入卡尔曼滤波算法,模拟系统在噪声环境中融合卡尔曼滤波算法所行驶轨迹,并获得轨迹图像。通过仿真试验验证航迹推算算法可行性以及融合卡尔曼滤波算法的必要性[16~18]。

图6 卡尔曼滤波算法程序仿真过程Fig.6 Kalman filter algorithm program simulation process

GPS/DR 车辆导航系统航迹推算(DR)模块卡尔曼滤波算法MATLAB 仿真结果如图7 所示。

通过对仿真图像的对比分析,可以清楚观察到在环境中加入非线性、非平稳性高斯白噪声之后,GPS/DR 车辆导航系统算法程序仿真记录的位置坐标在原始轨迹周围震荡,图7(b)所示,且幅度较大,会造成系统导航定位的失准。

图7 卡尔曼滤波算法程序仿真结果Fig.7 Simulation results of Kalman filter algorithm

通过向系统注入卡尔曼滤波算法之后,由MATLAB 仿真所得到系统位置坐标的波动幅度明显减小,更加接近路径的原始轨迹曲线。从而可以判断,此时由高斯白噪声对系统信号所造成的影响明显减弱,系统导航精度偏差降低。试验证明,融合了卡尔曼滤波算法的GPS/DR 车辆导航系统能够有效减少噪声环境下的导航定位偏差,滤波之后离散的仿真定位数据更加接近原始曲线。进而证明卡尔曼滤波算法的加入可以有效提高GPS/DR 车辆导航系统在噪声环境中的定位可靠性和实用性。

4 结论

本文讨论了智能交通系统中的核心技术车辆自主导航技术的发展与改进,重点研究了航迹推算算法的发展与改进,设计了一套基于AT89S52 单片机并结合全球卫星导航系统(GPS)、航迹推算(DR)技术的组合导航系统架构,重点阐述了航迹推算(DR)与卡尔曼滤波融合导航算法,提高了GPS信号遮蔽后系统精度。通过对系统算法程序部分的MATLAB 计算机模拟仿真,航迹推算算法与卡尔曼滤波的融合有效提升了导航系统在GPS 信号遮蔽情况下的导航精度,提高了系统的稳定性和实用性。

猜你喜欢
航迹卡尔曼滤波导航系统
说说“北斗导航系统”
梦的航迹
“北斗”导航系统是怎样炼成的
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
自适应引导长度的无人机航迹跟踪方法
一种GNSS/SINS容错深组合导航系统设计
解读全球第四大导航系统
视觉导航下基于H2/H∞的航迹跟踪
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制