楊顯賜,喬書波,肖國(guó)銳,賈曉雪,彭華東,李松偉
(信息工程大學(xué)地理空間信息學(xué)院,鄭州 450001)
全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)長(zhǎng)期定位精度高、誤差穩(wěn)定不隨時(shí)間累計(jì),在室外開闊地帶可以提供連續(xù)實(shí)時(shí)的高精度定位信息,但在室內(nèi)、城市峽谷、叢林、洞穴等場(chǎng)景,極易受環(huán)境遮擋引起非視距誤差以及多路徑效應(yīng)等影響發(fā)生信號(hào)失鎖,嚴(yán)重時(shí)導(dǎo)致無法獲取定位信息.慣性導(dǎo)航系統(tǒng)(INS)具有很好的抗干擾能力、短時(shí)精度高、隱蔽性強(qiáng)、自主性高,但誤差累計(jì)快、長(zhǎng)時(shí)間導(dǎo)航定位精度會(huì)迅速下降.因此,GNSS 和INS 之間具有很好的互補(bǔ)性,GNSS/INS 組合導(dǎo)航系統(tǒng)融合了兩個(gè)系統(tǒng)的優(yōu)點(diǎn),可以在復(fù)雜環(huán)境下持續(xù)穩(wěn)定輸出平滑、高采樣率、高精度的定位結(jié)果,已經(jīng)被廣泛應(yīng)用在軍事、測(cè)繪、智能交通、地質(zhì)勘探等領(lǐng)域[1-2].
現(xiàn)在,在GNSS/INS 組合導(dǎo)航算法研究中,大多數(shù)以擴(kuò)展卡爾曼濾波(EKF)算法為主.文獻(xiàn)[3]研究表明,在城市復(fù)雜環(huán)境下,自適應(yīng)濾波算法的定位精度相較于常規(guī)卡爾曼濾波提升30%.文獻(xiàn)[4]重點(diǎn)研究了GNSS/INS 組合導(dǎo)航定位的濾波解算及系統(tǒng)的可靠性.但濾波方法服從一階馬爾可夫假設(shè),增量式遞推過程會(huì)導(dǎo)致在數(shù)據(jù)解算過程中無法充分利用歷史信息.因子圖優(yōu)化(FGO)算法作為一種批量式數(shù)據(jù)處理過程,將一個(gè)時(shí)間段內(nèi)的數(shù)據(jù)進(jìn)行全局優(yōu)化,并且當(dāng)GNSS 信號(hào)失鎖時(shí),可以在GNSS 信號(hào)恢復(fù)后對(duì)失鎖區(qū)間進(jìn)行再處理.因此相較于EKF 算法,可以得到更可靠的導(dǎo)航定位結(jié)果[5].文獻(xiàn)[6]面向城市復(fù)雜環(huán)境,基于FGO 算法進(jìn)行組合導(dǎo)航定位,研究表明在GNSS 拒止情況下,相較于卡爾曼濾波算法可以將定位精度提高30%以上.文獻(xiàn)[7]將FGO 與EKF相結(jié)合,結(jié)果表明FGO-EKF 算法具有更好的全局穩(wěn)定性和航向精準(zhǔn)度.文獻(xiàn)[8]通過模擬數(shù)據(jù)和實(shí)際數(shù)據(jù)對(duì)模型進(jìn)行驗(yàn)證表明,相比于卡爾曼濾波算法,F(xiàn)GO 模型有效降低了列車的位置誤差和速度誤差,且未出現(xiàn)誤差發(fā)散現(xiàn)象.文獻(xiàn)[9]在因子圖優(yōu)化過程中設(shè)置不同大小的滑動(dòng)窗口,實(shí)驗(yàn)結(jié)果表明,滑動(dòng)窗口的大小會(huì)影響FGO 信息融合性能.文獻(xiàn)[10]在慣性測(cè)量單元(IMU)預(yù)積分過程中考慮地球自轉(zhuǎn)的影響,實(shí)驗(yàn)證明即使對(duì)于消費(fèi)級(jí)微機(jī)電系統(tǒng)(MEMS)模塊,改進(jìn)的IMU 預(yù)積分也可以有效提高松組合的定位性能.但上述方法均未將基于FGO 的精密單點(diǎn)定位(PPP)算法應(yīng)用于GNSS/INS 組合導(dǎo)航.
針對(duì)衛(wèi)星可見數(shù)不足、多復(fù)雜環(huán)境下GNSS 信號(hào)容易發(fā)生失鎖的問題,本文提出了一種基于FGO的PPP 算法,進(jìn)行GNSS/INS 組合導(dǎo)航.首先設(shè)置偽距、載波因子,搭建基于FGO 的PPP 框架,保證GNSS定位信息的可靠性;再進(jìn)一步將解算出的PPP 位置信息設(shè)置為PPP 因子,和兼顧了地球自轉(zhuǎn)的精化預(yù)積分因子一起搭建FGO PPP/INS 組合導(dǎo)航數(shù)據(jù)融合算法框架;最后通過車載實(shí)測(cè)實(shí)驗(yàn)進(jìn)行算法驗(yàn)證,并和經(jīng)典的EKF 算法進(jìn)行對(duì)比實(shí)驗(yàn),比較分析兩種算法的數(shù)據(jù)融合定位效果.
因子圖是用來表達(dá)隨機(jī)變量聯(lián)合概率分布的二分圖模型H=(F,X,E)[11-12],由因子節(jié)點(diǎn)f∈F和變量節(jié)點(diǎn)x∈X組成,邊e∈E為存在于因子節(jié)點(diǎn)與變量節(jié)點(diǎn)之間的一條連接邊.在貝葉斯網(wǎng)絡(luò)中,所有變量聯(lián)合的概率密度是由每個(gè)節(jié)點(diǎn)關(guān)聯(lián)的條件概率密度相乘得到,類推到因子圖,將聯(lián)合概率密度表示為一系列因子的乘積,即:
式中:f(X) 為作用于全體變量的函數(shù)為與變量節(jié)點(diǎn)相連的因子函數(shù)的乘積,通常將每一個(gè)因子fi(xi)表 示成一個(gè)誤差函數(shù)即fi(xi)=d(erri(xi,zi)),其中d(·) 為 相應(yīng)的代價(jià)函數(shù),zi為實(shí)際量測(cè)值.
隨機(jī)系統(tǒng)狀態(tài)空間模型由運(yùn)動(dòng)方程xi和觀測(cè)方程zi構(gòu)成:
根據(jù)最大后驗(yàn)概率估計(jì),由量測(cè)信息計(jì)算狀態(tài)變量最優(yōu)值,將式(4)轉(zhuǎn)化為一個(gè)等價(jià)的最小二乘優(yōu)化問題,即:
式中:f(x0) 為先驗(yàn)信息構(gòu)造的誤差函數(shù),通常表示為觀測(cè)值與均值之差,通過非線性優(yōu)化使式(5)經(jīng)過一系列的線性化不斷逼近最小值,觀測(cè)函數(shù)hi(xi) 通過泰勒展開公式得到,即HiΔi,雅可比矩陣Hi為線性化點(diǎn)處關(guān)于觀測(cè)函數(shù)的偏微分.
PPP 技術(shù)一般采用單臺(tái)GNSS 接收機(jī),利用國(guó)際GNSS 服務(wù)(IGS)等提供的精密星歷和衛(wèi)星鐘差產(chǎn)品,綜合考慮各項(xiàng)誤差模型的精確改正,基于偽距和載波相位觀測(cè)值進(jìn)行非差定位解算,開展大范圍、高精度的動(dòng)態(tài)導(dǎo)航定位測(cè)量.
GNSS 定位的觀測(cè)量主要為載波相位和偽距兩種,基于原始觀測(cè)值建立非差非組合PPP 觀測(cè)方程:
式中:Pi、Li分別為第i個(gè)頻率的偽距和載波相位觀測(cè)值;ρ 為衛(wèi)星至接收機(jī)之間的幾何距離為第一個(gè)頻率與第i個(gè)頻率平方的比值;I1為第一個(gè)頻率站星視線方向的電離層延遲;dT為傾斜對(duì)流層延遲;dtr和dts分別為接收機(jī)鐘差和衛(wèi)星鐘差;Dr和Ds分別為第i個(gè)頻率時(shí)接收機(jī)端和衛(wèi)星端相位硬件延遲;λi和Ni分別為第i個(gè)頻率載波相位波長(zhǎng)和模糊度參數(shù);和分別為偽距和載波相位的測(cè)量誤差;Δ表示其他誤差項(xiàng)改正,包括天線相位中心偏移和變化、相位纏繞、相對(duì)論效應(yīng)、潮汐改正、地球自轉(zhuǎn)等,這些誤差項(xiàng)均可通過已有模型進(jìn)行精確改正[13].本文假定上述誤差項(xiàng)已在觀測(cè)值上進(jìn)行了改正.
雙頻無電離層模型是PPP 中最常見的函數(shù)模型,通過形成無電離層組合(IF)觀測(cè)值,消除掉偽距和載波相位測(cè)量中的一階電離層延遲,其模型的簡(jiǎn)化形式如下[14]:
式中:待估參數(shù)為Xs,Ys,Zs接收機(jī)三維位置坐標(biāo)、接收機(jī)鐘差、天頂對(duì)流層濕延遲和無電離層組合模糊度參數(shù).
假設(shè)衛(wèi)星坐標(biāo)為 (Xs,Ys,Zs),在測(cè)站近似坐標(biāo)(X0,Y0,Z0)點(diǎn)進(jìn)行線性化,得到誤差方程:
雙頻無電離層模型中,基于偽距和載波的觀測(cè)方程均為非線性的,經(jīng)典的濾波算法通過泰勒級(jí)數(shù)展開近似線性化,在保留一階項(xiàng)忽略高階項(xiàng)的過程中會(huì)受到非線性誤差的影響,因此我們引入SLAM 領(lǐng)域中廣泛應(yīng)用的FGO 算法,在近似點(diǎn)線性化時(shí)通過非線性優(yōu)化的方法,通過多次迭代逼近真值,可以極大減少線性化過程中產(chǎn)生的非線性誤差.
根據(jù)FGO 理論,定義接收機(jī)的位置 [x,y,z]、接收機(jī)鐘差 dtr、天頂對(duì)流層濕延遲 dT、模糊度NIF為狀態(tài)變量,偽距和載波觀測(cè)信息為因子節(jié)點(diǎn),狀態(tài)變量和因子節(jié)點(diǎn)之間由對(duì)應(yīng)的誤差函數(shù)相連接.構(gòu)建PPP FGO 框架如圖1 所示.
圖1 PPP FGO 框架
圖1 中,雙邊因子表示前后歷元間約束.狀態(tài)變量為x=[x,y,z,dtr,dT] 和N,假設(shè)觀測(cè)值均為相互獨(dú)立且服從零均值的高斯正態(tài)分布.在未發(fā)生周跳的情況下,模糊度參數(shù)是不發(fā)生變化的,所以我們將狀態(tài)變量模糊度單獨(dú)列出.則由第一節(jié)FGO 算法原理可得,狀態(tài)變量的最大后驗(yàn)概率估計(jì)為
GNSS/INS 組合導(dǎo)航定位模型由第2 節(jié)PPP FGO 算法提供優(yōu)化的位置信息、IMU 提供加速度和角速度信息.PPP 位置信息位于地心地固坐標(biāo)系中,IMU 量測(cè)信息位于載體坐標(biāo)系下,通過統(tǒng)一的坐標(biāo)轉(zhuǎn)換在“北-東-地(north-east-down)”導(dǎo)航坐標(biāo)系下進(jìn)行數(shù)據(jù)融合計(jì)算.
在經(jīng)典的捷聯(lián)INS 力學(xué)編排算法中,INS 的位置、速度、姿態(tài)更新是逐時(shí)刻遍歷的,但I(xiàn)MU 的數(shù)據(jù)輸出頻率為200 Hz/s,要遠(yuǎn)大于GNSS 數(shù)據(jù)輸出的1 Hz,因此為了消減冗余計(jì)算量,提高計(jì)算效率,引入FGO 算法的IMU 預(yù)積分技術(shù).考慮到當(dāng)IMU 中陀螺儀的零偏穩(wěn)定性小于地球自轉(zhuǎn)角速率時(shí),此時(shí)傳統(tǒng)IMU 預(yù)積分中忽略地球自轉(zhuǎn)角速度,將影響IMU的解算精度,因此通過添加地球自轉(zhuǎn)誤差項(xiàng),優(yōu)化IMU 預(yù)積分.
由2.2 節(jié)構(gòu)建的PPP FGO 模型優(yōu)化解算,得到GNSS 接收機(jī)天線相位中心(APC)高精度的三維位置坐標(biāo),設(shè)置GNSS 觀測(cè)值z(mì)GNSS(x)=pGNSS,同時(shí)得到相關(guān)協(xié)方差矩陣由IMU 精化預(yù)積分狀態(tài)遞推可得位置估計(jì)值由此構(gòu)建PPP 因子:
當(dāng)接收到GNSS 和INS 的量測(cè)信息時(shí),定義因子節(jié)點(diǎn)并更新FGO 框架,進(jìn)行狀態(tài)變量更新.GNSS/INS 組合導(dǎo)航FGO 框架如圖2 所示,由各個(gè)時(shí)刻GNSS 的偽距、載波相位觀測(cè)值計(jì)算PPP 因子,通過連接邊與對(duì)應(yīng)的狀態(tài)變量相關(guān)聯(lián),由IMU 測(cè)量值構(gòu)建IMU 精化預(yù)積分因子連接前后兩時(shí)刻的狀態(tài)變量.
圖2 GNSS/INS 松 組合FGO 框架
考慮到PPP 直接定位產(chǎn)品只有三維位置,并且在只考慮位置時(shí)可以正常進(jìn)行組合導(dǎo)航,因此我們?cè)跇?gòu)建PPP 因子時(shí)不考慮速度.
綜上,得到狀態(tài)變量的最大后驗(yàn)概率估計(jì):
式中:WZ為優(yōu)化窗口內(nèi)預(yù)積分因子個(gè)數(shù);M為優(yōu)化窗口內(nèi)PPP 因子個(gè)數(shù);當(dāng)GNSS 未發(fā)生中斷時(shí),WZ=M.
當(dāng)使用非線性優(yōu)化方法批量處理數(shù)據(jù)時(shí),觀測(cè)值以一個(gè)時(shí)間序列到達(dá),如果每次都進(jìn)行完整的批量?jī)?yōu)化會(huì)導(dǎo)致計(jì)算效率低,無法保證計(jì)算的實(shí)時(shí)性,通過使用增量非線性最小二乘估計(jì)算法iSAM2[16],當(dāng)新的因子添加進(jìn)來時(shí),只優(yōu)化被新的因子影響的那一部分,從而提高了解算效率.
為了驗(yàn)證本文所述基于FGO 的GNSS/INS 組合導(dǎo)航算法在實(shí)際工程應(yīng)用中的有效性和可靠性,在鄭州市設(shè)計(jì)一組車載實(shí)驗(yàn).跑車測(cè)試平臺(tái)如圖3 所示,序號(hào)1 表示GNSS 接收機(jī)天線,INS 元件和GNSS 接收機(jī)集成在設(shè)備2 中,跑車測(cè)試軌跡如圖4 所示,其中,綠色地標(biāo)為起點(diǎn),紅色地標(biāo)為終點(diǎn).本實(shí)驗(yàn)使用非線性優(yōu)化方法對(duì)PPP 和組合導(dǎo)航數(shù)據(jù)進(jìn)行處理對(duì)PPP 和組合導(dǎo)航數(shù)據(jù)進(jìn)行非線性優(yōu)化處理.滑動(dòng)窗口大小為20 s,當(dāng)窗口中待估參數(shù)達(dá)到窗口大小上限時(shí),窗口向前推進(jìn),對(duì)窗口外的歷史數(shù)據(jù)采用邊緣化操作,構(gòu)建到先驗(yàn)因子中[6].由霍尼韋爾的高性能的微機(jī)電系統(tǒng)HGuidei300 提供IMU 數(shù)據(jù),采樣頻率為200 Hz,其標(biāo)稱參數(shù)如表1 所示.GNSS 數(shù)據(jù)為本文自行解算的高精度PPP 定位結(jié)果,數(shù)據(jù)更新頻率為1 Hz,IMU 預(yù)積分的頻率為1 Hz,數(shù)據(jù)處理設(shè)備為ThinkPad P15v,F(xiàn)GO 算法的實(shí)驗(yàn)環(huán)境為ubuntu16.04,編程語(yǔ)言為C++,EKF 的實(shí)驗(yàn)環(huán)境為Window10,編程語(yǔ)言為MATLAB.
表1 慣性導(dǎo)航元件標(biāo)定參數(shù)及空間杠桿桿臂
圖3 跑車測(cè)試平臺(tái)
圖4 跑車測(cè)試軌跡
為了驗(yàn)證FGO 算法對(duì)于PPP 解算的有效性,通過車載實(shí)測(cè)實(shí)驗(yàn)對(duì)該P(yáng)PP 算法的定位精度進(jìn)行評(píng)估.實(shí)驗(yàn)采集了2022 年7 月6 日約1.6 h 的GPS 衛(wèi)星動(dòng)態(tài)觀測(cè)數(shù)據(jù),數(shù)據(jù)處理采用IGS GBM 分析中心的精密星歷和鐘差產(chǎn)品,衛(wèi)星截止高度角選為10°,接收機(jī)類型為Septentrio,對(duì)比實(shí)驗(yàn)采用目前成熟的RTKLIB 程序[17]進(jìn)行PPP 動(dòng)態(tài)定位解算,動(dòng)態(tài)定位運(yùn)動(dòng)軌跡“真值”基于NovAtel 公司開發(fā)的后處理軟件Inertial Explorer,利用緊組合模式計(jì)算得到,其精度為厘米級(jí).在進(jìn)行FGO 解算時(shí),先通過RTKLIB將相關(guān)誤差項(xiàng)進(jìn)行精確改正,再傳遞到模型中對(duì)狀態(tài)變量進(jìn)行非線性優(yōu)化求解.圖5 給出了基于FGO 算法、EFK 算法進(jìn)行PPP 動(dòng)態(tài)定位后,N、E、D 方向三維坐標(biāo)分量的FGO 估值、EFK 估值與參考坐標(biāo)值之間的差異.可以看出,基于FGO 估計(jì)時(shí),模糊度收斂之后的數(shù)據(jù)將會(huì)同步帶入未收斂前,進(jìn)行全局優(yōu)化,因此曲線整體相對(duì)平滑.進(jìn)一步結(jié)合表2 中PPP 定位的三維位置均方根誤差(RMSE)可以初步得到如下結(jié)論:使用EFK 算法時(shí),PPP 定位具有一定的收斂時(shí)間;使用FGO 算法時(shí),由于其全局優(yōu)化的功能,可以很好地將過去時(shí)間段和現(xiàn)在時(shí)刻的定位信息進(jìn)行統(tǒng)一優(yōu)化,因此定位結(jié)果在初始時(shí)刻就實(shí)現(xiàn)了收斂.FGP 算法的批處理模式相當(dāng)于雙向?yàn)V波平滑器,但是不同的是,F(xiàn)GO 算法通過采用滑動(dòng)窗口和邊緣化策略,并且利用了雅可比矩陣的稀疏性,與傳統(tǒng)批量平滑相比估計(jì)效率提升了35 倍,顯著提高了導(dǎo)航系統(tǒng)的實(shí)時(shí)性[18-19].除此之外,F(xiàn)GO 算法即插即用的特點(diǎn),可有效處理組合導(dǎo)航等多源異類異步信息[20].特別當(dāng)應(yīng)用在SLAM 中時(shí),F(xiàn)GO 算法可通過回環(huán)檢測(cè)實(shí)現(xiàn)載體運(yùn)動(dòng)的重新定位,保證系統(tǒng)長(zhǎng)時(shí)間運(yùn)行、全局一致性軌跡和地圖構(gòu)建[21].分析三維位置的RMSE值,相較于EFK 算法,F(xiàn)GO 算法在N、E、D 方向上的定位精度分別提升了37.09%、28.79%、64.59%.
表2 基于EKF 和FGO 的PPP 的三維位置RMSE m
圖5 基于EKF 和FGO 的PPP 三維位 置RMSE
將基于FGO 的PPP 定位結(jié)果設(shè)置為GNSS PPP 因子,構(gòu)建到GNSS/INS 松組合導(dǎo)航定位FGO框架中.為了驗(yàn)證FGO 算法對(duì)GNSS/INS 松組合導(dǎo)航信息融合的有效性,采用目前應(yīng)用成熟的基于EFK 算法的組合導(dǎo)航作為對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)基于嚴(yán)恭敏[22]開發(fā)的PSINS 工具箱進(jìn)行.考慮到實(shí)驗(yàn)的充分性,設(shè)置4 組實(shí)驗(yàn)進(jìn)行對(duì)比分析,實(shí)驗(yàn)一(EKF PPPEKF)使用RTKLIB 處理的PPP 位置信息與INS 進(jìn)行基于EKF 的組合導(dǎo)航,實(shí)驗(yàn)二(FGO PPP-EKF)使用RTKLIB 處理的PPP 位置信息與INS 進(jìn)行基于FGO 的組合導(dǎo)航,實(shí)驗(yàn)三(EKF PPP-FGO)使用FGO處理的PPP 位置信息與INS 進(jìn)行基于EKF 的組合導(dǎo)航,實(shí)驗(yàn)四(FGO PPP-FGO)使用FGO 處理的PPP位置信息與INS 進(jìn)行基于FGO 的組合導(dǎo)航,通過充分分析不同精度的PPP 定位結(jié)果在兩種算法下與慣導(dǎo)融合的定位性能,評(píng)價(jià)兩種算法的優(yōu)劣.動(dòng)態(tài)定位運(yùn)動(dòng)軌跡“真值”同4.1 節(jié)得到.表3 為實(shí)測(cè)數(shù)據(jù)在4 組實(shí)驗(yàn)下組松合導(dǎo)航的三維位置RMSE,位置誤差曲線如圖6 所示.
表3 GNSS/INS 三維位置RMSE m
圖6 GNSS/INS 松組合三維位置RMSE
圖6 和表3 實(shí)驗(yàn)結(jié)果表明,高精度PPP 定位結(jié)果可以極大地提高GNSS/INS 松組合導(dǎo)航的定位性能.對(duì)實(shí)驗(yàn)一、三和實(shí)驗(yàn)二、四進(jìn)行分組對(duì)比,可以看出,當(dāng)PPP 定位精度相同時(shí),EKF 的馬爾可夫理論導(dǎo)致載體運(yùn)動(dòng)狀態(tài)的傳遞只能是向前推進(jìn)的,但FGO算法可以在接收到后一階段的PPP 定位信息時(shí),對(duì)整個(gè)時(shí)間段內(nèi)的狀態(tài)進(jìn)行再優(yōu)化,形成一個(gè)整體的最優(yōu)結(jié)果,可以極大提高組合導(dǎo)航的定位精度.結(jié)合圖6 分析FGO 算法相較于EFK 的誤差曲線更加平滑,定位精度更高.對(duì)實(shí)驗(yàn)一和實(shí)驗(yàn)四進(jìn)行對(duì)比分析,F(xiàn)GO 算法相較于EFK 算法,可以極大地提高組合導(dǎo)航的定位精度,為松組合提供更優(yōu)的PPP 定位結(jié)果的同時(shí),實(shí)現(xiàn)了信息融合的更優(yōu)化.結(jié)合表3,相較于EFK 算法,基于FGO 的組合導(dǎo)航在N、E、D 方向上定位精度分別提升了49.08%、41.22%、71.86%.
本文針對(duì)衛(wèi)星可見數(shù)不足、多復(fù)雜環(huán)境下GNSS信號(hào)容易發(fā)生失鎖的問題,提出了一種基于FGO 的PPP 算法,進(jìn)行GNSS/INS 松組合導(dǎo)航,極大地提高了組合導(dǎo)航定位精度.實(shí)驗(yàn)結(jié)果表明:
1)在進(jìn)行PPP 時(shí),F(xiàn)GO 算法由于其全局優(yōu)化的特性,可以在模糊度收斂后對(duì)收斂前時(shí)間段的數(shù)據(jù)進(jìn)行再優(yōu)化,使PPP 定位結(jié)果在初始時(shí)刻就體現(xiàn)出模糊度收斂后的定位精度,極大提高了PPP 的可靠性和有效性.
2)本文提出的基于FGO 的PPP 算法,可以為GNSS/INS 松組合提供可靠的導(dǎo)航定位結(jié)果,相較于EKF 算法,在N、E、D 方向上的定位精度分別提升了49.08%、41.22%、71.86%.