在前面的章节中我们介绍了GPS 定位的基本原理,GPS 定位功能在导航中的应用,用卡尔曼滤波方法提高GPS 定位精度的思路以及国内外研究者所取得的研究成果和研究进展。
在第四章中,我们重点介绍了国内外的研究者从着眼于不同的工程应用背景,从不同的角度和不同的方向上,提出了不同的卡尔曼滤波改进算法,用于GPS 定位数据处理,以提高GPS 定位精度。这些算法在不同的应用场合下都能够取得一定的效果。
同样,本论文的研究工作也将遵循着前人的研究思路,在国内外研究成果的基础上,着眼于一定的工程背景,以求在某一特定应用领域内取得新的进步。定位导航是GPS 系统的一个重要的应用领域之一,它包括飞行器的导航、船舶的导航以及车辆导航。中国科学技术大学GPS 实验室长期从事GPS 导航方面的研究,曾经取得了成功开发出海图仪、车辆导航系统等研究成果。在此基础上,本论文将着眼于GPS 导航这一领域开展下面的工作。
5.1 研究思路
利用卡尔曼滤波算法处理GPS 数据,以求获得更高的定位精度是一个很自然的想法。GPS 定位系统包括GPS 接收机在工作的过程中会受到各种随机干扰因素的影响,这使得GPS 接收机接收到的实时定位数据必然是受到各种随机干扰污染的观测数据。要达到利用GPS 实现定位导航的目标,就必然要想办法从这些受到污染的观测数据中得到载体真实的定位信息。
卡尔曼滤波器可以从收到噪声干扰污染的数据中得到真实状态得最优估计值,它通过测量结果对估计结果进行不断的修正来得到最优估计,且其采用时域上的递推算法,简单易行。但是卡尔曼滤波算法的使用条件也很苛刻的,它要求对目标系统要有一个比较准确的先验知识来启动算法和保证算法的正确执行。而这一条件恰恰是比较难以满足的。
如果将GPS 接收机的载体(可能是飞行器、船舶、车辆甚至个人)的行为和GPS 定位系统本身看作是一个动态系统,那么这个系统本质上必然是随机系统。载体的运动状态会受到许多不可预测的随机事件得影响;GPS 定位系统包括GPS接收机在工作的过程中同样会受到各种随机干扰因素的影响。这样,系统本身是无法完全准确的建模描述的。目前国内外的文献大多是将研究工作局限于某一特定环境下,在一系列的假设条件下,建立尽可能接近真实系统的系统模型,然后再设计改进的卡尔曼滤波算法。在建立系统模型时,还要考虑尽量避免模型过于复杂以至于失去实际应用价值。
本论文的工作把主要精力放在了建立系统模型上的研究。
国内外文献在建立适用于导航应用的系统模型这一问题上已经有了大量的研究,提出了诸如基于内模原理的系统模型、基于“当前”加速度的统计模型、基于一阶时间相关函数的消息模型等等。这些模型都针对了建模过程中出现的某一问题进行了改进。
本文试图从另一个角度来看这个问题:GPS 载体在运动过程中,有相当多的时间是处于这样一种运动模式,即载体是在沿着已经事先给定的运动路线在运动。这样的例子很多,例如导弹沿着事先确定的路线飞行直到击中目标;车辆沿着公路前进或转弯等等。当然在载体实际运动中,由于受到了各种随机误差因素
的干扰,无法得知其真实运动轨迹,但是总会和这一事先给定的运动路线有密切的关系。获得这一事先给定的路线的相关知识相对较为容易。如果在卡尔曼滤波处理中,能够有效地利用这些知识,很有可能会取得更好的滤波效果。
下面的章节将遵循这一思路,以车辆导航系统为例,逐步建立起系统模型方程。
5.2 带道路约束条件的GPS 导航系统模型
5.2.1 状态方程的建立

图5.1 车辆在二维平面上行驶
考虑在道路上行驶的汽车。通过车载GPS 接收机,可以获得其在三维坐标系中的位置和速度观测量。对于汽车导航定位而言,一般不必考虑其高度,而近似认为在道路上行驶的车辆只是在二维平面内运动,见图5.1,故只须建立其在二维平面坐标系中的运动方程。
图5.2 描述了在二维平面内运动的载体c 的运动状态。其中横坐标e 为东向位置,纵坐标n 为北向位置。
假设图5.2 中所用到的描述载体c 运动状态的变量的符号表示为:

图5.2 载体运动状态描述
系统状态变量的选取有多种方式,为了比较全面地反映载体运动状况,可以这样选取:
![]()
如果假定载体作等加速度运动,则各状态变量之间应该服从以下规律:

以上规律对于北向运动分量也是相同的,所以下面的分析都是以东向运动分量为例进行论述。
从式(5.2)中可以看出,列写完整的状态方程的关键问题是确定反映加速度变化规律的模型。因为在任意时刻下载体的位置、速度分量的值都可以在各自的初值的基础之上由加速的变化规律推算出来。这从物理上来看是直观而必然的。由于载体运动时不断的受到动力和阻力的联合作用,可以近似的把加速度的变化过程建模成一阶马尔可夫过程,即

对式(5.4)进行离散化处理后得到离散状态方程:

从物理意义上来看,东向和北向的位置、速度和加速度分量之间没有必然联系,因而是相互解耦的,所以可以将状态方程分解为东向方程和北向方程,分别处理。这样原先的六维状态方程分解成了两个三维方程,大大减小了卡尔曼滤波的计算量,可以提高算法得实时性能。
5.2.2 观测方程的建立
下面讨论观测方程的建立。
观测量的选取取决于GPS 接收机的输出信息,即载体的位置、速度信息,所以观测量可以选取为:


5.2.3 约束条件的引入
以上建立起了比较基本的系统状态方程和观测方程模型。很自然就考虑到,怎样才能更多的利用载体运动状态的知识,来使系统模型更加符合载体的真实运动状况呢?
考虑通常情况下,车辆载体在行驶的时候,必须要沿着某条确定道路行驶(汽车离开道路行驶的情况不在本文的研究范围内)。大部分的道路可以抽象为由若干条直线段连接而成的折线。这样,车辆在道路上行驶就可以看作是载体沿着某直线段在二维平面上运动(见图5.3)。可以认为,该直线方程就是载体运动的约束条件。
约束条件的引入,将制约载体运动状态的道路条件引入到模型当中,使得系统模型所表达的信息量变得更加丰富。而约束条件的获得也是比较方便的。在第三章曾经介绍过,矢量电子地图是车辆导航系统的基础。通过矢量电子地图可以方便的获得有关道路段的方向、长度、节点坐标等等信息。当然,这些信息的准确程度是取决于矢量电子地图的准确程度的。所以下面的分析都是在矢量电子地图是相当精确的这样一个前提条件下进行的,而这个前提条件目前是可以满足的[1]。

图5.3 道路约束条件示意图
将图5.3 所示的道路抽象为二维直角坐标平面中的直线,则其直线方程可以表达为
![]()
由于车辆的行驶轨迹和方向受到道路的约束,制约载体运动的约束方程就可以表示为:

这样,就建立起了道路约束条件的模型。
综合式(5.5),(5.9),(5.12),到目前为止,就建立起了一个基本的带有道路约束条件的GPS 定位导航系统的动态模型。
该模型和在国内外文献中可以看到的常见的GPS 定位导航系统模型相比一个最大的不同之处就是,在状态方程和观测方程之外,还多了一个约束条件模型。因此,使用该模型的卡尔曼滤波器必然也要做出相应的修改,才能正确的执行地推算法。
5.2.4 带约束条件的卡尔曼滤波器的建立
约束条件相当于在状态变量之间增加了新的条件关系。这时,基本的卡尔曼滤波递推算法无法套用,必须对其做出修改。本文充分利用最小方差估计原则,在保留原有的状态参数的基础上,推导出带约束条件的卡尔曼滤波递推算法。下面将要看到,与基本的卡尔曼滤波递推算法相比,该方法仅仅在对一步预测值的
表达式作了一些补充,其他步骤都没有变化。
对于如下存在约束条件的系统方程:


.
可以看出,考虑约束条件影响后的卡尔曼滤波方程与基本卡尔曼滤波方程相比较,仅仅是在原来的一步预测方程中加了一个修正量。因此,整个递推算法在计算量上并没有很大的增加。
5.3 实验分析
本文到目前为止,已经建立起了一个比较基本的GPS 定位导航系统的动态模型;接着在对载体运动规律的分析基础上,提出了约束条件的概念,建立了约束条件方程;然后将它们合并在一起建立了带约束条件的GPS 定位导航系统动态模型;最后推导了带约束条件的卡尔曼滤波递推算法。
接下来的内容将通过实验和数据分析来检验上述系统模型和带约束条件的卡尔曼滤波算法的有效性。
实验在运行Windows 2000 Professional 操作系统的PC 机上进行。
5.3.1 匀速直线运动实验分析
首先进行计算机仿真实验。使用的仿真工具为MATLAB 6.22.

为了比较不同滤波算法的滤波精度,分别计算了采用不同滤波算法得到的定位结果误差,即滤波后的位置点与真实位置点的距离。
图5.4 是按照上述参数仿真得到的误差曲线图。其中图a 是带道路约束条件的卡尔曼滤波误差曲线,图b 是基本卡尔曼滤波误差曲线。从图中可以看出,使用带道路约束条件的卡尔曼滤波算法所得到的滤波结果要好于使用基本卡尔曼滤波算法所得到的结果。

图5.4 匀速直线运动仿真曲线
如表5.1 可以所示,从滤波误差均值来看,使用基本卡尔曼滤波算法的滤波误差均值为4.69 而使用带速度约束条件的卡尔曼滤波算法的滤波误差均值为3.85,误差均值减小了17.9%。可见,使用带速度约束条件的卡尔曼滤波算法后,滤波精度的提高效果还是相当明显的。
从物理意义上来看,因为带道路 约束条件的卡尔曼滤波算法在处理定位数据的时候,考虑了道路的条件,实际上是在基本卡尔曼滤波结果的基础上加了一个和道路条件有关的修正量。所以,滤波结果也就相应得更加接近于真实值。

表5.1 匀速直线运动仿真误差分析
5.3.2 实测轨迹实验分析
接下来进行实测轨迹实验。实验所用的接收机为美国ROCKWELL 公司的JUPITER GPS-OEM 接收板,实验数据取自2003 年12 月15 日在合肥市某道路实际跑车所纪录的数据,计算中共取用了300 个历元。为了简化计算,没有考虑转弯情况,所以实际轨迹取自一段直路。
为了取得比较精确的道路约束模型参数,在采集定位数据的道路两头,利用GPS 接受机作静态定位,获得道路两个端点的比较精确的坐标值。这样的到的道路参数为,d =-19.976;m = 51229.399.有了这两个参数,就可以得到精确的道路曲线方程。

图5.5 是实测轨迹滤波曲线。其中横坐为经度,纵坐标为纬度,单位均为分。为了能够对结果看得更加清楚,对图中纵坐标作了放大。图中曲线3 为精确测定的道路曲线,曲线1、2 分别为一般卡尔曼滤波和带道路约束条件的卡尔曼滤波。
从图中可以看出,滤波结果与MATLAB 仿真轨迹滤波结果是一致的。采用带约束条件的卡尔曼滤波算法后,滤波结果偏离真实路线的现象得到了改善。这种改善效果体现在以下两个方面:
第一:曲线2 的轨迹相比于曲线1 明显更加接近曲线3,也就是真实道路轨迹。因为采集数据时,载体(也就是汽车)只能沿着道路行驶,不可能偏离道路或者驶出道路之外,所以,滤波后的轨迹越接近真实道路,也就意味着滤波结果越精确。
第二;曲线2 的轨迹的变化,即围绕着曲线3 的跳跃明显低于曲线1。这也就说明,带道路约束条件的卡尔曼滤波算法的滤波结果更加稳定。

图5.5 实测轨迹滤波曲线
5.4 小结
本章在考虑了GPS 定位导航应用的特殊情况之后,提出了道路约束条件的概念,并推导出了带约束条件的卡尔曼滤波算法。经过仿真和实测轨迹滤波的检验,证明,相对于基本卡尔曼滤波算法,该算法确实在提高定位导航精度上有一定效果。而且,由于导航系统绝大多数都是一矢量电子地图为基础,道路信息的获得非常方便,所以,上述方法也具有一定的使用性。
但是,上述提高GPS 定位导航精度方法的实际效果的好坏与事先掌握的道路信息的准确程度密切相关。如果因为某些因素,使得道路信息的准确程度大幅下降,无法起到约束作用,那么采用带道路约束条件的滤波方法的效果也必然将受到很大影响。而且在实际导航应用过程中,可能在某一段时间内不能获得当前路
段的信息,这时无法获得道路约束条件,也就无法使用带道路约束条件的GPS定位导航滤波方法了。


