基于RTK-GPS/INS的列车组合定位方法研究
2020-12-08陈光武魏宗寿张琳婧
陈光武, 刘 昊, 魏宗寿, 张琳婧
(1. 兰州交通大学 自动控制研究所,甘肃 兰州 730070; 2. 甘肃省高原交通信息工程及控制重点实验室,甘肃 兰州 730070)
列车定位是列车运行控制系统的重要组成部分,可以快速、精确地获得列车的位置信息,是列车安全运行和管理的重要保障。我国列车CTCS-4 级列控系统[1]的要求目标是:列车须通过自主定位获得位置信息,须大量减少传统、陈旧的轨旁设备,在提高铁路运输效率的同时,减少铁路建设维护的成本。同时,随着铁道网络不断密集化,给列车定位精度提出了更高的要求[2]。
目前,很多列车采用了全球定位系统 (Global Position System, GPS), GPS 能够实现高精度快速定位,但是在铁路网密集化之后,单纯的GPS定位精度总是在5~10 m之间,我国相邻两个轨道之间的宽度为3 m,因此在并行线路中依然不能满足列车的定位精度要求,文献[1-2]指出,基于卫星差分定位的系统能够进一步提高列车的定位精度,适合我国国情,采用卫星差分基准站设计和校准技术是提高列车定位的主要技术手段。然而,鉴于卫星定位依然不是自主式定位,其动态性能一般,而且容易发生信号遮挡和干扰等问题,因而需要自主导航系统来提高这项技术。具有MEMS传感器的惯性导航系统INS不仅为这个问题提供了节省成本的解决方案[3],而且实际证明其非常有效,该系统具有自主式、隐蔽性导航,工作环境不受介质限制,能提供丰富的导航信息,且连续提供多种导航参数(位置、速度、姿态、航向等)的输出信息以及导航数据输出率高等优点[4]。但是,INS也存在其固有缺陷,如定位误差随时间积累,初始对准时间长,难以长时间独立工作[5]。从根本上讲惯性测量单元IMU与差分GPS组合的导航定位系统具有广阔的应用前景[6]。
对于上述的这两部分传感器,采用单纯的数据融合,在一般情况下都可以获得较好的效果,然而考虑到列车运行当中的复杂环境,在卫星失锁的情况下,仍不能对INS的信息输出进行指导性修正,所以在这种情况下定位效果依然较差[7]。对于IMU部分,国内外也不断提出了各种滤波算法,常见的处理方法有Kalman滤波、各种改进的Kalman滤波、小波阈值去噪、最小均方自适应滤波等[8],但是这些标准算法或滤波方法均有一定的缺陷[9],因此也就导致了自适应差、应对复杂环境滤波效果一般的问题,这也严重影响了惯性平台的定位效果,影响定位系统中的定位结果。
针对上述种种问题,本文提出了一种高精度的RTK-GPS和惯性平台相组合的列车定位导航系统。在整体系统中,数据融合部分采用了简单卡尔曼滤波;传感器部分采用了粒子群算法改进的RLS滤波;同时,利用组合导航过程,对数据融合误差纠正方程进行学习,在卫星失锁情况下,利用学习结果持续对滤波后的惯性测量单元的数据进行校正。最后,对提出的滤波算法、数据融合过程和组合导航系统进行半实物验证和实物测试,结果表明:在有复杂干扰的列车运行环境中,在该算法和系统的配合下,可较高精度地实时定位列车位置,在工程中具有较高的适应性和实际应用价值。
1 粒子群优化的自适应RLS算法
递推最小二乘法RLS的设计思路很简单,利用在已知n-1时刻滤波器抽头权系数的情况下,通过更新,求出n时刻的滤波器抽头权系数[10],即RLS算法的基本原理就是利用已知或已计算得到的n-1时刻的滤波器权向量的最小二乘估计wt-1,根据n时刻得到的新的观测数据,用迭代的方法计算出n时刻滤波器权向量的最小二乘估计值。RLS 估计从每次获得的测量值中提取出被估计的信息,用于修正上一步所得的估计,量测次数越多,修正次数越多,估计精度也就越高[11]。
1.1 自适应RLS算法
传统的RLS算法输入信号、计算误差以及更新滤波器权系数的公式如下[12]:
(1)滤波输出
y(n)=wT(n-1)x(n)
( 1 )
(2)计算增益
( 2 )
(3)估计误差
e(n)=d(n)-wT(n-1)x(n)
( 3 )
(4)更新权重系数
w(n)=w(n-1)+k(n)e(n)
( 4 )
(5)更新协方差
p(n)=[p(n-1)-k(n)w(n)p(n-1)]/λ
( 5 )
式中:w(n)为滤波器在n时刻的权重向量;d(n)为滤波器输入的量测信号;y(n)为滤波后的输出信号;x(n)为RLS算法的估计量;e(n)为滤波前后的信号误差量;λ为滤波器的遗忘因子。
算法开始之前,要先进行初始化,即w(0)=0,R(0)=σI,σ一般取一个较小值,因为在不知道信噪比的情况下,均默认为需要滤波的信号量信噪比较高,因此希望相关矩阵的初始值R(0)在R(n)中占得比重非常小,即
( 6 )
RLS算法的最终求取准则为指数加权下的误差平方和最小,从而实现最优滤波的目的,代价函数为
( 7 )
式( 6 )是由代价函数求导解出的,指数加权下的递推最小二乘法的解与维纳滤波器的形式一致[13]。协方差矩阵P(n)是由R(n)求逆所得,进一步影响了权益k(n)的计算,因此这一部分带有遗忘因子的内容也是进一步优化RLS算法的关键。
1.2 RLS算法改进
自适应滤波是在维纳滤波、Kalman滤波等线性滤波基础上发展起来的一种最优滤波方法[14]。如果数据输出的运行环境的特性不变,自适应算法滤波器会找到最佳的自由参数或参数集,并在滤波器性能最优时停止参数的调整,一般将该过程称为参数捕获过程。如果数据输出的运行环境会随时间而变化,自适应滤波器在发现变化后会重新调整自身的参数,以适应变化使自身的滤波性能继续最优化,一般将该过程称为性能跟踪过程[15]。本文中提出的改进算法就是在RLS算法的基础上,加入粒子群优化算法,自适应调整遗忘因子,同时,增强RLS算法自身的自适应性;然后针对增益向量中的矩阵P(n),结合无损变换UT,增强RLS算法自身应对非线性系统的能力。这种结合无损变换的粒子群优化的RLS算法称为PU-RLS。
1.2.1 遗忘因子优化
粒子群算法是进化算法的一种,是一类可用于复杂系统优化的具有强鲁棒性的搜索算法,该算法通过追随当前搜索到的最优值、从迭代搜索入手,寻找全局最优解。该算法实现容易、收敛精度高、收敛速度快,相比其他算法在解决实际问题当中具有一定的优越性;同时,粒子群算法还是一种并行算法,在列车组合定位过程中利用它,可以在优化结果的同时对实时性有极大帮助。相对于传统优化算法,粒子群算法主要有以下特点[16]:粒子群算法直接以适应度作为搜索信息,无需导数等其他辅助信息;粒子群算法使用多点进行随机搜索,具有同一层面下的并发性;针对离散信息优化结果较好;粒子群算法采用概率搜索技术,而非确定性规则。上述这些优点都可以很好地结合RLS算法,去优化遗忘因子λ,或是进行一些公式内的定参,以此来优化RLS算法,进一步提高自身的自适应性。
遗忘因子是误差测度函数中的加权因子,引入它的目的是为了赋予原来数据与新数据以不同的权值,使该算法具有对输入过程特性变化的快速反应能力[17]。一般情况下,在平稳环境中我们希望λ较大,可以较好地保持之前对误差的处理效果;而在非平稳的环境中,则希望λ较小,针对有限区域内或最佳时刻的误差来更加精准地适应非平稳环境,使得算法在非平稳环境下对信号的每一个趋势都有所跟踪、适应。为了针对λ使用粒子群算法进行优化,对遗忘因子λ进行如下建模
( 8 )
该模型代表了n时刻的遗忘因子值,ei为i时刻的滤波估计误差;δi为i时刻信号的信噪比,由i-1时刻滤波后的信号作为标准信号、滤波前的信号作为含噪声信号计算得到;λmin为第2时刻开始到n时刻之前的最小遗忘因子;ρ为敏感增益系数,描述了当前环境的平稳性。模型的后半部分用来防止粒子群算法搜索陷入局部最优,导致优化结果不佳。
1.2.2 结合UT变换的粒子群优化的自适应RLS
粒子群优化算法中,加速系数设置为2.6;伪随机数采用随机函数rand(),范围为[0,1];粒子速度能达到的最大值设置为10;结束条件设置为优化代数,此优化代数是动态的,n时刻的遗忘因子值对应的代数为n。粒子群优化流程见图1。
图1 粒子群优化λ流程
( 9 )
(10)
x(n)=x(n-1)+V(n|n-1)
(11)
(12)
综上所述,1.2.1节和1.2.2节中内容即为针对RLS自适应算法的主要改进,其一,针对遗忘因子进行新的建模;其二,针对该建模进行粒子群优化,寻找最优遗忘因子;其三,利用UT变换针对RLS中的观测量进行改进,增强RLS算法的非线性能力。将该种算法称为结合UT变换的粒子群优化的RLS自适应算法(以下简称为“PU-RLS算法”)。
2 列车组合定位系统
列车组合定位系统主要介绍其中的组合测量系统,该系统平台结构见图2。
图2 列车组合定位系统平台
该套组合测量系统主要包括:GPS基准站,用于做出载波相位差分信息,在实际铁路运行中可以考虑广域多基准站模式;车载GNSS接收机,用于接受车载GPS信号,并做差分处理;IMU惯性测量平台,作为无源测量端,用于输出惯性测量信息。其中,GNSS接收机和卫星基准站均采用GNSS卫星信号接收板卡,而惯性传感器则采用的是低成本高可靠性的9轴MEMS传感器。在实际的列车组合定位系统设计过程中,可以根据自身实际需求,采用不同传感器、加入系统参考部分,依据不同策略形成多种不同的列车组合定位系统,最后根据测量结果进行评估之后再做出实际设计。GNSS接收机在经过状态监测之后,和IMU测量单元输出的信息汇总在中央处理单元当中,通过信息融合板卡进行数据融合,最后输出到车载定位计算机当中显示。
列车组合定位系统从功能角度包括了卫星信息输出部分、惯性平台信息输出部分、卫星状态监测部分以及数据融合部分。列车组合定位系统流程见图3。
图3 列车组合定位系统结构
卫星信息输出部分。主要在接收基准站信号后输出实时差分信号,或是通过自身车载卫星信号接收天线输出单点定位结果。
卫星状态监测部分。主要监测卫星信息输出部分的卫星颗数、HDOP值,通过评估做出决策;其中主要依靠卫星颗数n来做出判断,HDOP值只做参考,一般认为若n>10,则输出为单点定位结果;若4 惯性平台信息输出部分。主要通过惯性测量单元输出信息,对列车运行姿态做出评估;其次,在卫星定位信息的辅助下也做出定位结果输出,该部数据在进入融合之前必须做滤波处理;同时,通过滤波前后的结果学习惯性测量单元的误差方程,并进行定参。 数据融合部分。主要根据系统需求采用一定的数据融合算法,本文主要采用Kalman滤波融合算法,针对上述两个主要传感器输出的定位信息进行融合计算, 对车载定位计算机输出相对较优的定位结果;利用融合结果和卫星单点定位结果,进行学习单点卫星定位的误差方程,并进行定参。 上述的两个误差方程中,有重点作用的主要是学习、定参之后的惯性测量单元的误差方程。对IMU信息的误差方程做简单建立,如下 ε(j)=Aδ+Bσ+Cψ(m;j) (13) 式中:δ为系统中采用IMU单元的零偏误差;σ为系统中IMU单元的随机游走误差,这两部分均需对应系统采用的惯性测量单元;ψ(m;j)为学习期间(m时刻到j时刻)得到的高斯白噪声均值,假设Filter2前后结果的误差为纯的高斯白噪声,则用其均值来表示。 其中系统内的Filter1和Filter2,这两个滤波器中的滤波算法均使用之前文中提出的PU-RLS算法。之所以要对IMU信息进行学习误差方程计算,是因为组合导航当中的位置信息,通常都是由卫星信息来指导、纠正惯性平台输出信息的;在卫星失锁的情况下,惯性平台输出的位置信息通常都会有较大、较快的发散,此时可以通过粒子群算法学习之前的误差校正信息,依然以学习卫星信息得到的误差方程和滤波器来纠正惯性平台的位置输出,使平台始终处在一种组合信息输出过程当中,使惯性平台的位置输出始终有相对准确的信息进行指导。 为了验证本文中提出的结合无损UT变换的粒子群优化的自适应RLS滤波算法(PU-RLS)的优越性,提出的列车组合定位系统的有效性,以及提出的改进算法在组合系统当中的适用性,设计了两部分实物试验。第一部分是车载试验,针对提出的改进算法和系统,利用速度误差、位置误差较全面地进行论述;第二部分是磁悬浮列车测试,在实际列车运行环境当中再次进行验证、分析。 车载测试在校园内进行,在部分区域内因为高楼遮挡对GPS信号、RTK-GPS信号有较大的影响,在该部分区域内定位精度波动较大。首先介绍一下本次车载测试的一些硬件参数。其中,卫星部分,核心板卡主要采用了K700卫星定位板卡,其属于三系统单频OEM板卡,可进行单频RTK,单点定位数据输出频率为10 Hz,RTK差分数据输出频率为5 Hz。惯性测量单元采用了3DM-IMU200 A,该测量单元该单元具有高可靠性和稳定性的MEMS陀螺仪、加速度计和磁强计,其抗电磁干扰的能力也较强,其主要参数如表1所示。 表1 车载惯性测量单元性能参数 车载测试的卫星数据部分采用差分数据,关于卫星部分,在楼顶架设基准站,以保证区域宽阔,基准站部分可以较好地接收卫星信号,做出与移动站之间公共卫星的RTK差分数据。本次试验当中只对GPS卫星的数据做了差分,因此输出差分数据时的公共卫星颗数较少。差分技术采用了RTK载波相位差分技术,该种技术是一种实时动态地处理两个测量站的载波相位观测量的差分方法,在信号较好的空旷野外,可实时达到厘米级别的定位精度。因此,RTK卫星差分数据一方面可以满足实时精度要求,检测出铁轨和铁轨之间的最小间距3 m;另一方面,在系统中可以简单作为基准参考值使用。车载测试现场设备安装图见图4。 图4 车载测试现场设备安装图 在车载测试的实际过程当中,测试环境具有复杂性和不稳定性,十分适合验证系统的可行性;同时,无法获取干扰噪声的先验信息,对于汽车运动特性也无法预知。所以,进行了原始解算结果误差、自适应RLS算法解算结果误差和PU-RLS算法解算结果误差三者之间的对比。 方法一:任何预处理都不做,直接采用Kalman滤波进行数据融合。 方法二:采用自适应RLS算法进行预处理,对卫星数据进行区别、决策处理,然后采用Kalman滤波做数据融合。 方法三:采用PU-RLS算法进行预处理,对卫星数据进行区别、决策处理,然后再采用Kalman滤波做数据融合。 试验以东向、北向的速度和位置作为数据源进行分析,验证系统和算法相结合下的优越性。首先,对车载试验东向、北向的速度误差做出分析,结果见图5和图6。 图5 东向速度误差对比 图6 北向速度误差对比 表2 速度误差对比 m/s 在该部分验证、分析当中,分别采用了传统的Kalman滤波的组合数据解算、加入自适应RLS算法的组合数据解算、以及使用PU-RLS算法的组合数据解算三种方法,利用解算得到的速度误差作为对比数据。在分析过程汇总加入标准差来衡量误差,标准差越小,说明误差越集中在0附近,误差越小,通过图5、图6和表2可知,虽然加入自适应RLS算法后,对解算出来的速度有一定的帮助,但是在使用本文提出的PU-RLS算法后,可以得到东向速度误差的标准差从原始解算结果的0.514 6 m/s降到了0.224 1 m/s,北向速度误差的标准差从0.994 9 m/s降到了0.423 3 m/s,明显看出无论是误差的最大值还是误差标准差相比于原始计算结果均有大幅降低,对于速度的收敛有明显提高。因为速度和物体运动的位置关系较大,下面使用更为直观的位置误差,同样对上述三种方法进行了对比、分析,结果见图7~图9。 图7 东向位置误差对比 图8 北向位置误差对比 图9 位置误差对比 通过图7~图9,可以较直接地得出结论,使用本文提出的PU-RLS组合定位系统解算出的位置结果均有明显的改善。其中,图9当中区域A代表了东向位置误差的最大值对比;区域B代表了东向位置误差的均值对比;区域C代表了东向位置误差的标准差对比;区域D代表了北向位置误差的最大值对比;区域E代表了北向位置误差的均值对比;区域F代表了北向位置误差的标准差对比。从图9直观地看出对于解算出的位置结果,使用PU-RLS算法后,各项数据的误差均大幅减少,可以认为本文提出的算法和系统较传统的算法和系统有一定的优越性。其中,误差的均值可以较好地反映出算法的定位精度,以东向位置为例,方法一的定位精度在3.26 m左右,方法二的定位精度在2.43 m左右,方法三的定位精度在1.21 m以内。 针对位置融合算法设置了以下的对比试验,以东向位置作为试验数据,对比基准为KF融合算法,结果见图10。可以从图10中观察到,失锁部分最为明显,PURLS-KF算法结果对比AKF算法有较大的提升。其中,AKF算法的定位精度为3.08 m,PURLS-KF的定位精度为1.21 m以内。 图10 位置融合对比实验 为了验证组合定位系统GPS信号失锁情况下的定位性能,从上述的东向和北向位置解算结果当中选取一段区间的测量数据进行GPS失锁的仿真,在位置推算的过程中采用了PU-RLS算法;其中,分别选取区间时间为6 800~8 500 s的东向位置误差和北向位置误差,在7 350 s处出现大约150 s的GPS信号失锁情况,通过结果分析可以发现,在GPS信号失锁期间,东向位置误差的标准差为12.396 3 m,通过滤波算法和系统后,降到了5.077 2 m;北向位置误差的标准差由2.541 1 m降到了1.000 7 m,说明本文提出的PU-RLS算法,在GPS信号失锁情况下,依然有较好的优化作用。验证结果见图11。 图11 GPS信号失锁区域位置误差对比 为了验证在实际列车的复杂运行环境中本文算法和系统的有效性,进一步结合长沙磁悬浮列车现场测试数据进行对比、分析,测试线路全长18.55 km,测试线路和现场测试情况见图12。 图12 磁悬浮测试设备及线路 选取部分利用惯性测量单元、GNSS接收机所采集到的数据进行Matlab处理之后,再进一步做出分析。相应的定位误差结果见图13和表3。 图13 磁悬浮东向位置误差对比 表3 磁悬浮东向位置误差对比 依据图13和表3的对比分析结果可知,自适应RLS有一定的优化效果,但是结果的精度远不如本文提出的PU-RLS算法,在该算法的优化下,东向位置误差的均值降到了原始结果的一半多,标准差只有三分之一,减小了误差范围,极大地提高了系统的定位精度。 本文以某型号的惯性测量单元和GNSS接收机等定位传感器构建了列车组合定位系统, 在系统内的滤波算法方面结合无损UT无损变换、利用粒子群优化改进了自适应RLS算法,并将其称之为PU-RLS算法。就本文提出的算法和系统,进行了车载试验与仿真、列车实测数据验证,试验结果表明, 提出的PU-RLS算法较自适应RLS算法具有一定的优越性,使解算速度、位置结果有较好的收敛精度,提出的改进算法在组合定位系统当中的具有较好的适用性,列车组合定位系统能够在复杂运行环境中实现高精度的列车定位, 在列车工程使用中具有一定的环境适应性和实际应用价值。3 系统测试与试验验证
3.1 车载测试
3.2 长沙磁悬浮现场测试
4 结束语