惯性/卫星组合导航系统软件测试

2018-07-24 10:07李萍王海明郭伟全
电子产品可靠性与环境试验 2018年3期
关键词:对准软件测试卡尔曼滤波

李萍,王海明,郭伟全

(工业和信息化部电子第五研究所,广东 广州 510610)

0 引言

目前航空导航较常用的是惯性/卫星 (包括GPS、GLONASS和BD2等)组合导航系统,这种方式可以综合惯性导航、卫星导航的优点[1],提高导航系统的整体性能。软件测试是保障导航系统的可靠性的重要手段,而目前针对惯性/卫星组合导航系统软件测试的研究较少,本文通过理论结合工程实践的研究方法,给出了惯性/卫星组合导航系统软件测试的解决方案和实施方法。

软件测试技术通常分为静态测试和动态测试,其中,动态测试包括白盒测试、黑盒测试两种测试方法,黑盒测试通过数据驱动来检验每项功能是否都能正常地实现[2]。本文主要是对惯性/卫星组合导航系统软件的黑盒测试方法进行概述,通过理论结合工程实际的方法给出惯性/卫星组合导航系统软件功能的测试方法。

1 惯性/卫星组合导航软件的实现

惯性/卫星组合导航系统以惯性导航作为基准导航系统,惯性导航系统完成初始对准建立起导航坐标系后,使用惯性导航和卫星导航的同一导航信息进行滤波,进行导航数据的误差修正。导航系统的工作过程一般分为对准阶段和导航阶段,在整个过程中实时地输出导航数据。

根据对准过程中使用的参考基准信息的不同,初始对准可分为自对准、传递对准和空中对准方法。在实际的工程应用中考虑到惯导工作环境中的随机干扰因素,如阵风等引起的飞机随机晃动、飞行过程中空气动力的随机改变引起的飞机结构挠曲变形等,多采用卡尔曼滤波来实现初始对准阶段的参数估计。根据组合导航过程中卫星源的不同,组合导航方式可分为INS/GPS、INS/GNSS和INS/BD2等,由于惯性、卫星的误差源和量测误差都是随机的,因而在实际工程中多采用卡尔曼滤波来实现导航阶段的参数估计。按照卡尔曼滤波使用量测信息的不同,组合导航体系结构可分为松耦合方式、紧耦合方式和超紧耦合方式[3-4]。

卡尔曼滤波是使用状态空间法在时域内设计滤波器的,目前,其已作为一种最重要的最优估计理论被广泛地应用于各种领域,组合导航系统的设计是其最成功的应用。卡尔曼滤波可以分为滤波计算和增益计算,基本方程如下[1]所示。

状态方程和量测方程:

滤波计算:

增益计算:

根据系统和噪声特性建立数学模型,确定状态方程和量测方程后,按照以上基本方程完成卡尔曼滤波设计。在实际的工程应用中,通常对卡尔曼滤波进行适应性技术处理,包括有色噪声滤波、平方根滤波、自适应滤波和优次滤波等[1]。

2 惯性/卫星组合导航系统的软件测试

根据惯性/卫星组合导航系统的应用和特点,可将惯性/卫星组合导航系统软件的测试需求[5]归结为3类:导航参数计算、卡尔曼滤波、时间及导航性能计算。惯性/卫星组合导航系统的软件测试应当包括空中试飞验证、地面试验验证,由于试飞验证成本高、测试不充分,工程中多采用地面验证的方法,因此,本文也着重讨论地面验证软件功能的方法。

2.1 导航参数计算测试

惯性/卫星组合导航系统软件计算的导航参数包括姿态角、地理系速度、地理系加速度、地速、角速度、位置、重力加速度、惯性攻角和惯性侧滑角等。为了提高系统的可靠性,组合导航系统采用了余度设计,为了防止由于其中一个导航系统故障而导致整个导航任务失败,组合导航系统通常会设计3种导航方式,包括纯惯性导航、卫星导航和组合导航,在测试过程中应当分别测试以上3种导航方式下,导航参数计算的正确性。具体的测试方法如下所述。

a)在实际的工程应用中,由于导航系统是通过不同的总线实时地向外部系统输出导航参数的,因此,首先需要验证不同总线、同一总线在同一时间或同一状态下输出导航参数的一致性。

b)通过耦合的卫星导航信号模拟器和惯性导航模拟器[6],验证导航参数计算的正确性。模拟航空设备运动场景,例如:对地攻击机从起飞、巡航、低空突防接近战区、对地攻击和返航的过程,设计各个过程中的加速度、航向、俯仰角、横滚角、速度和高度等参数。根据已知的速度、加速度、姿态角和传感器误差等信息,利用加速度计、陀螺仪数学模型反推比力、角速度,作为加速度计和陀螺的采样值送给导航解算模块,完成整个惯性导航仿真过程。计算航空设备的空间轨迹数据,据此利用卫星导航信号模拟器模拟生成射频信号,发送给卫星信号处理模块,完成整个卫星导航信号的模拟过程。记录惯性/卫星组合导航系统在模拟环境中实时计算的导航参数,与预设参数值进行比对,验证导航参数计算是否正确。

图1 卫星导航信号的模拟过程

c)在地面跑车试验中,通过真实的卫星信号和载体运动参数,验证导航参数计算的正确性。地面跑车试验的设备包括卫星组合系统、卫星接收机天线和高精度基准设备,驾驶试验车按照规划路线、参数进行跑动,记录组合导航系统、基准设备输出的导航参数并进行比对,从而验证组合导航计算的正确性。地面跑车试验中需要设计卫星信号反复被遮蔽的行车路线,从而验证组合导航的容错性和恢复性。

2.2 卡尔曼滤波测试

首先,需要验证卡尔曼滤波软件实现的正确性,测试方法包括以下两种。

a)通过对源代码人工扫描的形式,检查是否完全实现设计的卡尔曼滤波过程,包括系统数学模型、噪声数学模型、状态初始化值和量测值等;在人工演算矩阵计算过程中,是否存在使计算结果无效的软件缺陷,包括无逆矩阵、无穷大、除0和矩阵维数不满足要求等,并检查软件的容错处理是否全面。

b)通过Matlab软件仿真卡尔曼滤波实现过程,在相同的量测值、固定的噪声值和相同的滤波次数的情况下,对比卡尔曼滤波仿真计算和软件实际运行的结果。测试使用的计算机浮点数精度,必须与运行惯性/卫星组合导航系统软件设备的浮点数精度一致。

此外,还需验证卡尔曼滤波设计的合理性,通过Matlab软件仿真卡尔曼滤波实现过程,采用遗传算法自动生成量测值,监控卡尔曼滤波的均方误差、状态方程和计算过程的异常计算结果,自动化测试卡尔曼滤波设计的缺陷。

通过对卡尔曼滤波特性的分析发现,在设备运行过程中还需注意以下几点:

a)卡尔曼滤波的均方误差反映了滤波正确性,均方误差矩阵应当趋于零或趋于某一稳态值,数学模型的不准确可能导致卡尔曼滤波失效;

b)卡尔曼滤波量测维数、系统维数越大,计算量就会越大,卡尔曼滤波执行周期设置不合理,可能导致无法满足实时性要求;

c)对准完成时间是根据滤波可观性推导出的时间最优值[7],对准完成后导航精度应满足设计要求。

2.3 时间性能

设备运行中测量事件完成时间。时间测量的方法包括秒表计时、示波器测量和使用系统时间计算等,应当根据测量时间量级、软件实现框架和测试环境等因素,选择不同的测量方法。以下给出一个实例,如图2所示。

a)测量任务1完成时间是否为T1ms;

b)多任务实时系统设计要求:任务1(执行周期为T1ms,优先级高),……,任务5(执行周期为1 s,优先级低),任务6(执行周期为10 s,优先级低);

c)组合导航设备已封装,无法开箱引线使用示波器测量;

d)系统时间精度为μs。

此情况下只能选择使用设备本身的系统时间进行时间测量,并将结果通过串口进行打印。而对于多任务实时软件,打印输出计算结果的时机会影响测试结果的正确性。

图2 时间测量方法

由于打印输出任务的优先级低,故应优先选择在任务执行周期长、优先级低的任务中,完成对时间测量结果的打印。

2.4 导航性能

组合导航性能包括位置精度、航向精度、姿态精度和速度精度。在跑车试验中用高精度卫星接收机为测试基准,进行位置和速度精度的测试。间隔T s同时采集组合导航设备、基准设备的经度λ、纬度φ和速度,总计采集N次后,计算试验的径向误差率REP和速度误差均方根RMSV。

在实验室高精度转台上,以精密转台为测试基准,进行航向和姿态精度测试。将组合导航惯导设备安装在精密转台上,完成水平、方位校准后,将转台调水平,方位对北,使转台分别在方位、俯仰和横滚上变化,同时采集组合导航设备、转台的航向角H、俯仰角θ和横滚角ψ,分别采集N次后,计算方位、俯仰和横滚误差的均方值RMSH、RMSθ和 RMSψ。

3 结束语

本文提炼的导航参数计算、卡尔曼滤波、时间性能和导航性能等软件测试需求,基本覆盖了惯性/卫星组合导航系统软件的全部功能,针对各个测试需求的测试全面且切实可用。因此,本文提出的惯性/卫星组合导航系统软件测试方案具有较强的工程实践性,可以在今后的测试工程项目中推广和应用。

猜你喜欢
对准软件测试卡尔曼滤波
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
EXCEL和VBA实现软件测试记录管理
对准提升组织力的聚焦点——陕西以组织振兴引领乡村振兴
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
一种改进的速度加姿态匹配快速传递对准算法
软件测试工程化模型及应用研究
基于模糊卡尔曼滤波算法的动力电池SOC估计
INS/GPS组合系统初始滚转角空中粗对准方法
基于扩展卡尔曼滤波的PMSM无位置传感器控制