王运强 邹 欣
(河北建筑工程学院,河北 张家口075024)
GPS全称为Global Positioning System,意为全球定位系统,其实质上是卫星定位系统,即通过卫星系统来进行授时,定位和测速.DR全称为Dead Reckoning,意为航迹推算法.对于陆基车辆来说,航迹推算系统基本由测量航向角的传感器和测量距离的传感器构成.
尽管GPS定位导航系统能够全天候、连续实时地提供高精度的三维位置和速度信息,但是当车辆行驶在高楼林立的市区时,由于GPS卫星信号经常受到遮挡,有些情况下通过GPS系统实现连续准确的定位是不可能的.而车辆航位推算导航系统(DR)是一种自主式的车辆导航系统,它短时间内精度高,但导航误差随时间积累.因此这两种导航方式都有其优缺点.但是利用组合导航技术把上述两种导航系统结合起来,构成GPS/DR组合导航系统,利用其各自的优点,互相取长补短,能够获得优于任何单独一种导航系统的精度和可靠性,可确保移动车辆在丢失卫星信号时仍能有效的确定车辆所在的位置.
卡尔曼滤波是一种时域滤波方法,采用状态空间方法描述系统,从与被提取信号有关的量测量中通过算法估计出所需信号.卡尔曼滤波在导航系统中有广泛的应用.在本系统中应用了分散卡尔曼滤波,较好的提高了导航的准确度.
本系统的设计采用分散滤波的方式.分散滤波即利用卡尔曼滤波器对各个子系统进行滤波处理,最后对系统进行信息综合及传感器误差校正.
航迹推算是车辆导航定位中所采用的一种比较经典的算法.由于车辆的运动可以看作是在二维平面上的运动,因此如果已知车辆的起始点e0,n0(e为局部平面坐标系中的东向位置坐标,n为局部平面坐标系中的北向位置坐标)和初始航向角θ0,通过实时测量车辆的行驶距离s和航向角的变化,就可以实时推算车辆的位置.
在该系统模型设计中,用GPS精确定位结果辅助航位推算系统的初始化,给出准确的初始位置,同时对航位推算系统的位置误差进行自主校正,减小误差积累.另一方面,当GPS无法定位或定位误差太大时,便切换至航位推算系统,短时间内校正GPS信息,直至GPS定位恢复正常后,再切换至GPS定位系统进行精确定位.理论分析和试验结果均表明,GPS与DR组合的车辆导航系统具有较高的定位精度与良好的可靠性.
1.2.1 GPS卡尔曼滤波模型的建立
为了提高GPS定位精度,除了采用差分GPS方法外,运用卡尔曼滤波器将真实的状态从各种随机干扰中实时最优地估计出来是提高定位精度的重要途径.运用卡尔曼滤波器进行最优估计,需建立较准确的系统模型和观测模型.
以一个三维空间运动目标为例,为了确定其位置和速度,其状态变量可取为
其中,物体运动的坐标系取为地球坐标系(x y z)、(vxvyvz)、(axayaz)分别为物体的位置、速度和加速度分量,εxεyεz分别为物体在x y z 3个坐标轴上的位置误差,可视为各种误差源造成的总的位置误差.GPS接收机输出的定位结果x′、y′、z′取为外部观测量Lx,Ly,Lz.考虑到12个状态变量带来的计算工作量相当大,可将12个状态变量按坐标轴的不同分为3组,即x轴方向:x,vx,ax,εx;y轴方向:y,vy,ay,εy;z轴方向:z,vz,az,εz.对应的3个外观测量分别为Lx,Ly,Lz这3组状态变量之间没有藕合,其对应的外观测量也分别独立.因此,为降低运算量,可将3个轴向的状态变量分别进行滤波处理.以X轴为例,状态变量为X=[x vxaxεx]T,系统噪声矢量为 W=[0 0ωaxωx]T,
系统方程为x·(t)=AxX(t)+W(t).其中Ax为系统转移矩阵.ωx,ωax分别为(0,q2x)、(0,q2ax)的高斯白噪声.
系统观测方程为Lx=HxX+V其中V为观测噪声向量,V=[ωLx],ωLx为观测误差向量,取为(0,R2x)的高斯白噪声,Hx为观测矩阵,Hx=[1 0 0 1].
由所建立的系统方程和观测方程可见,这是一个典型的线性卡尔曼滤波模型,系统中所有的状态变量是否可观测,可根据可观测性依据判定.由于rank[HxHxA HxA2HxA3]T=4=状态变量个数,故系统是完全可观测的.
上述系统方程和观测方程离散化后为
其卡尔曼滤波方程为
1.2.2 航位推算系统推广卡尔曼滤波模型的建立
航位推算系统中的所有传感器的误差均会造成位置误差的积累,从而使得定位精度降低.为了提高系统精度,采用推广卡尔曼滤波器对系统数据进行滤波处理.
以一个二维空间运动目标为例,为了确定其位置和速度,取其状态向量为X=[e n vevnaean]T其中,(e veae),(n vnan)分别为物体东向及北向的位置、速度和加速度分量,系统噪声矢量取为W =[0 0 0 0ωeωn]T,则系统方程为X =AX +W,其中ωe,ωn分别为 (0,q2e),(0,q2n)的高斯白噪声,A为系统状态转移矩阵.
根据以上条件,建立离散系统的推广卡尔曼滤波方程为
1.2.3 整合卡尔曼滤波器
系统正常工作时,GPS作为主定位系统,所采得的数据经卡尔曼滤波器滤波处理后直接用于系统的定位与导航.另外,GPS定位系统的输出信息定期对航位推算系统的传感器进行误差校正.当GPS信号较差或丢失时,这时便切换至航位推算系统,对角速率陀螺和里程表采得的数据进行推广卡尔曼滤波处理后代替GPS进行定位与导航,当GPS信号恢复正常后,再切换回GPS定位系统.
组合导航系统由4部分组成:信号接收处理模块、导航信号处理模块、主CPU处理单元、电源模块.组合导航系统硬件组成结构如图1所示.
图1 组合导航系统硬件组成结构
信号接收处理模块主要用于将自动接收的来自天线的GPS射频信号,经过一系列处理过程,最后输出GPS数据到主CPU处理单元.它的硬件部分主要包括导航计算DSP,变频器、标频器、信号通道、微处理器和存储单元等组成.
导航信号处理模块主要用于采集汽车的运行信号,经滤波放大后,再通过电平转换电路使信号电压降低到正常工作电压,然后将模拟信号转化为数字信号送至主CPU处理单元.其硬件部分主要由隔离放大电路、抗混叠低通滤波器、译码计数电路、模数转换电路组成.
主CPU处理单元由CPU芯片、存储单元、数据缓冲电路及外围显示接口电路组成,完成对数据的融合处理,并将结果显示在液晶屏上.
一个嵌入式系统(embedded system)就是一个计算机硬件和软件的集合体.当目标硬件平台设计完成后,我们必须根据功能的需求设计与之匹配的软件程序来驱动硬件平台进行工作.由于我们所选用的主处理器为ARM内核的CPU,因而我们软件设计的语言相应的采用了ARM C标准库链接.
本系统软件部分由BOOT引导程序、初始化配置程序、卡尔曼滤波算法程序、GPS信号串口通信、周期性定时中断服务程序组成.组合导航仪硬件电路复位后,CPU根据具体的硬件环境,首先从FLASH ROM中起开始执行BOOT程序即CPU芯片的启动程序;然后执行初始化配置程序建立标志变量同时对外围芯片进行初始化配置;程序进入周期性定时中断任务:在100 ms和1 s用户周期任务中分别对惯导信号和GPS信号进行采样处理,其中在100 ms内主要根据惯导信号对车辆进行DR航位推算;在1 s内主要根据串口所收到的GPS信号经卡尔曼滤波后得到较为精确的车辆用户信息;并通过输出显示程序将它显示到液晶屏上.
本文设计的基于ARM处理器的车载组合导航仪是在组合导航的理论上独立开发的系统.该车载组合导航仪主要用来采集陆基车辆在行驶过程中的车载陀螺及里程仪的角速率和速度信号,与车载GPS卫星天线所收集的GPS数据信息通过融合处理,然后将所得数据信息发送至CPU进行显示,为用户直观地显示当前的位置、时间、速度等信息.理论分析和试验结果均表明,该组合车辆导航系统具有较高的定位精度与良好的可靠性.
[1]杨殿阁,卜键,郑四发,等.车载导航系统的研究与实现,汽车技术,2005,(1):1~4
[2]张其善,吴今培,杨东凯.《智能车辆定位导航系统及应用》,北京科学出版社,2002:1~25
[3]李驹光,聂雪媛,江泽明,等.《ARM应用系统开发详解》,清华大学出版社,2003.12
[4]吴明晖,徐睿,黄健,等.《基于ARM的嵌入式系统开发与应用》,人民邮电出版社,2004.6
[5]董绪荣,张守信,华仲春.《GPS/INS组合导航定位及其应用》,北京:国防科技大学出版社,1998