GPS DR 模型设计系统设计简述
模型设计原因:GPS 有着全球性、全天候、实时性的导航优势,但是当遇到
城市高层建筑物、林荫道、立交桥及涵洞隧道等卫星信号“盲区”时,GPS 便不
能 为 用 户 提 供 精 确 的 导 航 信 息 , 尤 其 是 连 续 的 导 航 信 息 。 航 位 推 算
(DR,Dead-Reckoning)主要是利用方向传感器(陀螺仪)和速度传感器(里程仪)
来推算车辆的瞬时位置,可以实现连续自主式定位。但由于其推算过程是一个累
加过程,方向传感器的误差会随时间的延长而积累;另外,DR 推算只能确定物体的
相对位置和航向。考虑到 GPS 导航和 DR 自主式导航的优缺点,可以将 GPS 和
DR 结合起来可以起到互补的作用。DR 可以有效的解决 GPS 的“盲区”现象,
GPS 可以抑制 DR 的误差积累,并且解决 DR 的相对航向问题。
GPS 的工作原理:
GPS 系统组成有三部分:空间部分、地面支撑部分、用户接收机部分。
我们主要关心的是用户接收机部分。GPS 接收机按功能用途可以分为很多种,
我们主要关心的是导航型。运用 GPS 进行测量和导航的方法也有很多种。
1.单点定位:只要一部 GPS 接收机,主要接收卫星发射 L1 载波上的 C/A 码,
误差一般在 0-15 米,其中 5 米左右的概率较大。当然型号不同可能可能精
度也有所不同。但是最大误差不可能小于 15 米。
2.静态测量:主要是三台 GPS 同时工作,精度较高,主要应用于控制点的测量。
3.后处理动态(PPk):属于静态测量,需要两天 GPS 接收机同时工作,精度主
要在 0-1.5 米,基本可以满足我们工作的需要。
4.伪距差分(PDK):需要用到沿海地区的信标台,所以主要应用于沿海地区,
精度在 1 米左右。它用到了差分技术。
5.载波相位差分(RTK):也用到了差分技术,两台 GPS 接收机需要实时的通
讯,所以对接收机的要求也比较高。所以造价也较高。
考虑这几种测量方法,我们可能主要用的是单点定位和后处理动态(PPK)所以
主要了解的是这两种方法的工作原理。
单点定位:
GPS 接收机主要接收卫星发射 L1 载波(L2C 和 L5 目前只要几颗卫星上存在)
上的 C/A 码,同时还要受 SA(美国为了降低卫星精度而添加的干扰)
所以精度较低,一般为 0-15 米,其中误差主要集中在 5 米左右。
单点定位图
卫星通过 L1 载波向 GPS 接收机发射星历文件,星历文件主要包括每个卫星
在 WGS-84 坐标系中的精确位置,卫星时间,卫星发射载波的时间等。如图:
卫星 1 的坐标为(x1,y1,z1)卫星 2(x2,y2,z2)、卫星 3(x3,y3,z3)、卫星 4(x4,y4,z4)。
根据空间中求两个点直接的距离公式,我们只要三颗卫星就可以求出来 GPS 接
收机在 84 坐标系中的位置,但是因为卫星的时间和 GPS 接收机的时间有可能不
同步,它们之间有可能又时钟差,所以另外一颗卫星主要是求时钟误差。也就是
为什么单点定位必须要有 4 颗卫星信号才行。这部分可能会牵涉到的程序设计主
要是对星历文件和钟差(由于卫星时间和接收机时间不同步造成的)这些数据的
操作,GPS 接收机计算出来的坐标数据的读存操作。应该不是系统设计的重点和
难点。况且销售 GPS 接收机的厂家也应该有相应的成品软件。
后处理动态(PPK):
需要两台接收机同时工作,一台放置在一个已知点上,作为基准站,另一台
作为测量用,两台接收机之间不需要进行实时的通讯,每一台接收机的工作原理
就相当于单点定位,两台接收机之间的距离不能太大,一般为 15 公里左右,另
外:两台接收机需要同时接收五颗相同卫星的信号(其中一台主要用于参照)。
主要原理:基准站的接收机接收的信号和用于测量的接收机接收的信号进行比
对,从中除掉因电离层干扰、轨道误差、大气层折射等因素引起的误差。
后处理动态图
基准站要先开机,按时间段记录数据(比如一秒一次),第一秒它测出基准站的位
置坐标为(X1,Y1,Z1),以后依次为:(X2,Y2,Z2)、(X3,Y3,Z3)、(X4,Y4,Z4)……..而
用于测量的接收机在 A 点第二秒测得的数据是(xa,ya,za)。因为两台接收之间的
距 离 和 卫 星 与 接 收 机 之 间 的 距 离 相 比 , 两 台 接 收 机 直 接 的 距 离 可 以 忽 略
(15/20200),从而所受的电离层干扰、轨道误差、大气层折射等误差可以视为
相同,因此先利用基准站求出误差常数,依次为:Tx =X2-X,Ty=Y2-Y,
Tz=Z2-Z。所以 A 点的精确坐标应该为测量值加上 A 点的误差常数即为:
(xa+Tx,ya+Ty,za+Tz), B、C 点依次。两台接收机的数据必须进行比对才能求出
比较精确的坐标值,所以这种方法实时性较差。这部分的程序设计和单点定位的
程序设计一样主要是对星历文件和钟差还要两个接收机的数据进行比对,对大量
数据的操作。程序也应该不是系统设计的重点和难点。
陀螺仪和里程仪:
陀螺仪按工作原理和功能也可以分为很多种,有:光纤陀螺、微机械陀螺、
电子陀螺等。用于导航的主要是电子陀螺。电子陀螺主要是替代以前的磁罗盘,
磁罗盘是依靠物理磁介质通过地球磁场来获取磁北方向,因为是物理磁介质所以
很容易受到外界影响,然而电子陀螺可以克服这个缺点。所以电子陀螺的定位原
理和磁罗盘一样:通过地磁场获得磁北方向,然后再获取汽车行使的方向,从中
记录汽车行使方向和磁北方向的夹角(磁偏角),依靠此夹角对汽车进行导航。
不同型号的仪器有不同的参数。陀螺仪通常和里程仪同时使用,里程仪主要通过
获得的脉冲信号和所用的时间来获得汽车行使的即时距离。在它们的组合中我们
可能主要关心的是夹角,角速度,加速度,脉冲数等参数。如果有方向(夹角),
有距离,又有初时点的坐标,数学上很容易求得另一个点的坐标,无论是分散的
还是连续的。
这部分的程序设计应该也是一些关于数据的操作和一些串口问题,还有一些
数学公式的编写,也不应该是系统设计的重点和难点。
GPS 接收机有自己无可比拟的优势,但是也有不可避免的缺陷,比如卫星信
号盲区。DR 推算也是一样,有自己的优势和缺陷,缺陷:需要初时化、存在误
差累积,所以在汽车导航中将两种仪器结合是一种很好的方法。
系统设计方案一:
将单点定位和 DR 推算通过数据融合算法结合起来,目前用于汽车导航的数
据融合算法主要是卡尔曼滤波算法,卡尔曼滤波又分为分布式卡尔曼滤波和集中
式卡尔曼滤波两种,目前应用与汽车导航的主要是分布式卡尔曼滤波。将单点定
位和 DR 推算通过卡尔曼滤波的融合,能够有效的防治 GPS 数据的漂移、DR 推
算过程中的误差积累。基本原理如图:
单点定位和陀螺仪结合使用图
开始时,GPS 接收机接收 GPS 信息得到开始位置的坐标(xg,yg,zg),然后用
这个值初时化 DR 推算,然后将两个值通过卡尔曼滤波融合,即得到开始位置的
相对准确坐标(X1,Y1,Z1),开始的时候 GPS 的值必须相对精确(因为需要
初时化 DR 推算的值),这样就要求 GPS 接收机在开机时需要在同一个地方停留
一段时间,这样 DR 有了初始值就可以推算出一个值(xd,yd,zd)(对 DR 推算来
说它只需要初时值就行了),然后将(xg,yg,zg),(xd,yd,zd)通过数据融合求出
开始位置相对精确的坐标(X1,Y1,Z1)。当汽车行使到第二个点的时候,GPS 接
收机可以得到第二个点的坐标(xg2,yg2,zg2),通过开始位置的精确值(X1,Y1,Z1)
初始化 DR 推算,再利用 DR 测出的方向和时间,即可推算出第二个点的坐标
(xd2,yd2,zd2),然后再将 DR 推算出的值和 GPS 接收机算出的值通过卡尔曼滤
波融合,这样就求出了第二个点的相对精确坐标(X2,Y2,Z2),以后依次。当 GPS
接收机接收不到卫星信号时,此时全部依靠 DR 进行推算,推算的初始值为上一
时刻经过卡尔曼滤波输出的精确值。在没有卫星信号时,DR 推算可能会出现误
差的累计现象。
这种方法的重点和难点应该是卡尔曼滤波的融合算法,卡尔曼滤波也应该是
整个系统的重点和难点。因为关于卡尔曼滤波的资料相对较少,另外卡尔曼滤波
所涉及的数学知识较深,数学面也比较广,很难完全领悟其融合算法的实质。目
前只能最简单的进行模拟(简化大量考虑因素),另外到目前为止还有很多关于
卡尔曼滤波的问题没有解决,自己对卡尔曼滤波的理解也无法的到完全的肯定。
这个系统中可能牵涉到的其它程序模块应该有不同坐标系的坐标转换、大量数据
的读存、GPS 信号传递协议、数据在仪器之间相互传递程序、DR 推算的数据和
GPS 接收机测量的数据进行互操作,另外就是软件的界面等。在这些模块中,虽
然有些功能无法完全模拟,但这些应该不是系统的难点。
方案的优缺点:
优点:系统的实时型较好,整个系统的造价(主要是仪器)不高,系统比较
灵活,系统的误差比较稳定(能有效抑制 GPS 的漂移现象)。
缺点:误差范围可能较大(0—15 米),数据需要实时处理。
第二种设计方案:
考虑到我们我们主要的应用是道路的测量,对实时性要求不高,所以我们可以将
后处理动态(PPK)和 DR 推算结合使用。
工作原理如图:
用于测量的接收机和陀螺仪的结合使用
假设点 A、B、C、D、E、F 是将要测量地点,卫星信号在 A、B、C、F 处
信号好(卫星数大等于 4 颗),而在 D、E、处没有卫星信号,或者卫星信号差(卫
星数小于 4 颗),同时基站的 GPS 接收机一直处于工作状态。用于测量的 GPS
接收机可以很顺利的获得 A、B、C、F 四点的坐标,分别为(xa,ya,za)、(xb,yb,zb)、
(xc,yc,zc)、(xf,yf,zf),当接收机位于 D 点时,因为没有了卫星信号,系统作一
个记录(比如以时间为纪录),表示此刻没有卫星信号或者信号不全,此时调用
陀螺仪导航,系统取得上一个位置(C 点处)的坐标,用上一个坐标值初始化陀螺
仪。C-D 的过程中陀螺仪记录了角度 a1 这个值,通过角度 a1 和里程仪再推算
出 D 点的坐标,再用 D 点推算 E 点直到卫星信号丰富的 F 点,这里 D、E 两点
的坐标虽然可以推算来,但因 C 点不够精确,所以 DE 两点的坐标也是不够精确
的,我们只要记录下了 C 点到 D 点的角度和里程仪所接收到的脉冲数就行了,
D 点到 F 点也一样。用于测量的接收机存储的数据就有(xa,ya,za)、(xb,yb,zb)、
(xc,yc,zc)、(xf,yf,zf),陀螺仪的角度 a1,a2,a3,里程仪脉冲数 m1,m2,m3;这几个
主要的值,然后再将(xa,ya,za)、(xb,yb,zb)(xc,yc,zc)、(xf,yf,zf)这四个值和
基站同一时刻所测量的值进行比对,除掉由于共同原因(电离层干扰、轨道误差、
大气层折射)所产生的误差,也就是运用 PPK 技术得到相对准确的 ABCF 点的
坐标,然后用相对准确的 C 点的坐标初始化陀螺仪,利用陀螺仪所记录的角
a1,a2,a3 和脉冲数 m1,m2,m3,这几个量来推导出 DE 点的精确值。
当然测量数据的过程也可以用方案一的方法代替,也就是用于测量的 GPS
接收机和陀螺仪结合卡尔曼滤波求出每一个点的坐标值,同样这个过程也需要记
录没有卫星信号的标记,然后再将融合后的数据和基站的测量数据进行比对,除
掉一些误差,因为卡尔曼滤波除掉的误差主要是信号的漂移,和陀螺仪误差累计
等,这些误差产生的原因和后处理静态(PPK)所处理误差的产生原因(电离层
干扰、轨道误差、大气层折射)不一样。所以数据的精度原理上应该更高,但如
果它们误差产生的原因相同,那么这种方法便行不通。
这个方案系统设计其实是分为两个过程的:第一:GPS 接收机和陀螺仪这一
部分,可能牵涉到的问题有:坐标的转换(包括坐标系的选择),GPS 数据的接
收,对 GPS 数据的分析(判断卫星个数),GPS 和陀螺仪工作模式的互换,陀螺
仪数据的接收等。如果运用滤波处理还要考虑卡尔曼滤波这一块。第二:基站的
数据和测量的数据比对,可能牵涉到的问题有:对星历文件的分析,对大数据量
的操作,数据在不同机器上的相互传递,求取没有卫星信号的那些点坐标的算法
(主要是数学公式的编写),坐标的转换问题。
系统设计的缺点:可操作性差不够灵活(每测量一个区域需要先找到一个已
知点),系统的造价高(需要两台接收机),实时性差(两台接收机上的数据需要
进行比对才能得出比较精确的结果)。唯一的优点就是精度较高(1-1.5 米)。
以上的对 GPS 接收机和陀螺仪的描述,主要是自己对它们的一些理解和认
识,很多内容自己也无法得到完全肯定,另外第一种系统方案目前比较通用(主
要应用于汽车实时导航),第二种方案完全是自己为了满足测量的需要而想象的,
其可行性究竟有多高,自己没有更深入一步的去了解。两个系统涉及到程序模块
的也只是自己想到的可能会用到的知识和可能会出现的问题,可能还有很多因素
没有考虑。
gislook@yahoo.cn