徐丽敏,熊 智,王钲淳,张 苗
(南京航空航天大学自动化学院,南京211106)
随着社会的进步,国内外掀起了研究行人导航定位技术的热潮。目前,较为成熟的行人导航定位服务系统主要依赖于GPS[1]。针对大型商场、地下车库、消防救援等应用场景,GPS往往无法正常工作,这将给人类的日常生活带来不便,甚至导致巨大的财产损失和人员伤亡。
针对GPS信号易受干扰的特性,基于微机电系统(Micro Electro Mechanical System,MEMS)的自主式惯性定位导航系统应运而生并迅速发展[2]。其中,第1种方法为航位推算算法(Pedestrian Dead Reckoning,PDR),即利用惯性传感器数据信息实时检测出行人行走的步数,通过预测的每步步长及利用磁传感器与陀螺仪估计的航向角共同决定行人的位置。第2种方法则是基于捷联解算的行人导航算法,即将惯性传感器固定在行人的足部、腿部、腰部等位置,通过处理输出的加速度与角速度值,预估行人的姿态信息和位置。其中,Fox⁃lin[3]最早提出了在行人足部位置放置惯性传感设备的行人导航定位系统。该系统采用零速更新算法进行零速修正,能够抑制惯性系统的误差,但不能满足高精度定位的要求,且成本高昂,不利于推广应用。哈尔滨工程大学团队[4]提出了一种仅仅适用于缓慢行走场景的、基于足部的IMU/GPS组合导航系统,其验证试验在开阔的操场上进行,虽定位精度较好,但适用局限性较大。同时,近年来,国内外专家学者主要针对行人正常行走步态下的行人导航定位方法[5⁃6]及零速检测方法[7⁃8]进行了相关研究,针对跑步状态下的行人导航定位及零速检测方法的研究较少。而在救援等应用场景下,人体多为跑步步态。另外,在室内外过渡点进行定位的精度低,不能平滑自动切换。因此,针对行人跑步室内外无缝组合的导航定位技术亟待研究。
针对以上不足,本文分析了行人在跑步状态下的运动特性,提出了一种适用于行人跑步状态的综合零速检测方法,研究了基于Kalman滤波的行人跑步零速修正算法(Zero Velocity Update,ZUPT),并提出了1种基于BP神经网络的GPS可用信号筛选方法。最后,基于上述分析研究提出了1种适用于跑步状态的惯性/零速/GPS室内外无缝组合导航定位方法,实现了行人跑步状态下室内外无缝组合导航定位。
本文采用捷联惯性导航解算算法,将惯性测量单元(Inertial Measuring Unit,IMU)固定在行人脚面上,省去了机电式的惯性平台,其体积与质量较平台惯导大大减小,具有较高的灵活性与可靠性[9]。捷联惯性导航解算算法包括姿态解算、位置解算和速度解算,如(1)式所示。
在正常跑步状态下,行人的足部与地面存在一个相对静止的瞬间,即零速区间。将惯性测量元件固定在行人脚面上,行人在跑步运动状态下的实测惯性传感器数据如图1和图2所示。
图1 陀螺仪三轴数据Fig.1 Data of tri-axial gyroscope
图2 加速度计三轴数据Fig.2 Data of tri-axial acceleration
由图1和图2可知,三轴加速度与三轴角速度数据具有周期性,且跑步较步行运动状态更为剧烈,传感器的晃动将导致零速区间短且不稳定。针对跑步状态,本文零速检测的条件如下:
(1)加速度模值与重力加速度的差值及其标准差
式(2)、式(3)中,fkx、fky、fkz为第 k时刻加速度计采集得到的比力信息,g为重力加速度,ωkx、ωky、ωkz为第k时刻陀螺仪采集得到的角速度信息,n为方差计算区间大小,则有
式(5)~式(8)中,λ1、λ2、λ3与λ4分别为4 种零速检测方法的标志位,εa1、εa2与 εw1、εw2分别为ak、σ1k、gk、σ2k所对应的判别阈值。其中,阈值εa1、εa2与 εw1、εw2是根据多组试验中的 ak、σ1k、gk、σ2k曲线与所对应的零速区间的对比分析而得到。
图3为4种零速检测方法的检测结果对比曲线,图 3(a)、图 3(b)与图 3(d)均存在误判现象。本文同时针对不同路径分别进行了多次试验,其对比结果如表1所示。
图3 4种零速检测方法的结果图Fig.3 Diagram of four zero velocity detection methods
由表1可知,方法3的检测准确率最高,同时受变量的约束较少,稳定性较好,故采用基于加速度模值与重力加速度的差值ak、该差值的标准差σ1k、角速度模值gk的组合方法进行零速检测。
表1 4种零速检测方法的检测步数结果Table 1 Statistical results of four zero velocity detection methods
GPS在开阔的室外环境下精度较高,但信号容易受到高楼、高架等环境的干扰。为提高组合导航定位的精度,需对GPS信息进行筛选。传统的GPS可用信息筛选方法主要以特征量(如PDOP值)作为依据,较为片面化。针对传统筛选方法的局限性,本文提出了一种基于BP神经网络的GPS可用信息筛选方法。
本文构建了 “4输入1输出”与 “4个隐藏节点” 的神经网络,4个输入为Δp、Δv、Δh和pd,分别代表GPS的位置变化量、速度变化量、航向角变化量及PDOP值。1个输出为flag,代表GPS的标志位(1代表有效,0代表无效,即误差较大)。BP神经网络的架构如图4所示。
图4 BP神经网络的架构Fig.4 Structure of BP neural network
利用评估准确的GPS数据对该BP神经网络进行训练,BP神经网络预测误差曲线如图5所示。由于网络输出为标志位flag(非0即1),将实时输出flag与真实flag做差并取其绝对值,则形成的误差非0即1。输入实时GPS的位置变化量、速度变化量、航向角变化量及PDOP值,利用训练好的神经网络输出GPS标志位,判断实测GPS信息的有效性。将筛选后的有效GPS个数与实际有效GPS个数进行比较,得到筛选结果成功的比例。具体5次试验的训练结果如图6所示。
图5 BP神经网络预测误差曲线Fig.5 Error curve of BP neural network
图6 筛选结果成功比例折线图Fig.6 Successful ratio of screening results
惯性/GPS组合导航利用具有绝对位置信息的GPS不断地修正惯导误差,以抑制惯导误差的增长,同时利用惯导短时、高精度的特性弥补GPS在短时间内的失锁和跳转问题,使组合后的导航精度得到显著提高。
本文构建了18维的Kalman滤波器状态量,具体如下
式(10)中,F为系统矩阵,G为系统噪声矩阵,W为系统噪声。
采用可变量测模型,主要可见以下3种情况:
1)当仅检测出零速区间时,鉴于零速区间的位置不变,速度为0,6维量测信息为Zzupt,量测方程如式(11)所示,即惯导解算的位置信息与上一时刻惯导解算的位置信息的差值,以及惯导解算的速度信息与零速的差值。
2)当仅GPS的信息为有效时,6维量测信息为ZGPS/INS,量测方程如式(12)所示,即惯导系统与GPS接收机得到的位置信息的差值,以及两者所得出的速度信息的差值。
3)当零速区间与有效GPS信息同时存在时,采用 12维量测信息 [ZzuptZGPS/INS],量测方程如下
式(13)中,H为量测矩阵,V为量测噪声矩阵,L为纬度,RM和RN分别为子午圈和卯酉圈半径,LINS、λINS、hINS为惯导解算的位置信息,LZUPT、λZUPT、hZUPT为上一时刻惯导解算的位置信息,νeINS、νnINS、νuINS为惯导解算的速度信息,νeZUPT、νnZUPT、νuZUPT为零速,λGPS、LGPS、hGPS为GPS接收机所给的位置信息,νeGPS、νnGPS、νuGPS为GPS接收机所给的速度信息。
结合上述模型,组合算法的具体流程如图7所示。
图7 惯性/零速/GPS组合导航定位算法Fig.7 Integrated navigation positioning algorithm of INS/ZUPT/GPS
试验采用AHRS低成本惯性测量单元,陀螺仪与加速度计的采集频率为200Hz。经静态试验分析得到两者的均值与均方差,其性能参数如表2所示。
表2 性能参数Table 2 Performance parameters
分别在室内与室外场景下进行测试,其中2组规划路径如图8所示。图8(a)中的黄线为室内方形,总路径长为200.46m。图8(b)中的黄线为室外操场方形,总路径长为346m。室内外过渡场景如图8(a)中的红色虚线所示,总路径长为123.16m。其中,试验路线的相对距离由高精度激光测距仪测量而得。
图8 真实测试路径Fig.8 Real testing trajectory
为对比零速检测算法的优劣,在捷联导航解算算法的基础上,加入不同的零速修正算法。如图9(a)所示,蓝色虚线表示应用上文所提的第2种零速检测方法的结果,红色实线表示应用上文所提的第3种零速检测方法的结果,红色轨迹基本与规划路线相匹配,且首尾误差约为1.5m。
如图9(b)所示,蓝色虚线表示应用上文所提的第3种零速检测方法的结果,绿色虚线表示应用上文所提的第4种零速检测方法的结果。相比较而言,蓝色轨迹基本与规划路线相匹配,误差约为13.3m。若在加入零速修正的捷联导航解算算法的基础上,融合有效GPS进行组合导航解算,如图9(b)中的红色实线所示。其与规划路径基本一致,同时误差也减小到了3.13m。
图9 部分测试路径Fig.9 Partial testing trajectory
图10(a)中的黄色虚线为标准路径,红色实线表示与经筛选的GPS进行组合的结果。图10(b)中的蓝色虚线表示与未筛选的GPS进行组合的结果。由图10可知,红色轨迹基本与规划路径一致,其路径误差根据实测点与路线起终点、拐点的平均误差计算而得,而蓝色轨迹受到GPS的误修正,与实际的轨迹相差较大。
图10 室内外路径Fig.10 Indoor-outdoor trajectory
表3是不同试验场景的误差结果汇总表,3组试验的误差比均在跑步总里程的1%以内。
表3 误差结果Table 3 Error results
本文在分析了行人跑步运动特性的基础上,对比研究并提出了可靠适用的行人跑步状态下的零速检测方法。设计了基于BP神经网络的GPS可用信号筛选方法,增强了GPS信息的有效性与可靠性。本文有效融合了惯性导航、零速、GPS信息,通过Kalman滤波的方法进行了误差修正,解决了惯导误差快速累积的问题。仿真结果表明,基于惯性/零速/GPS的行人跑步室内外无缝导航定位算法的平均定位误差可减小到行人跑步总里程的1%以内。