王運(yùn)強(qiáng) 鄒 欣
(河北建筑工程學(xué)院,河北 張家口075024)
GPS全稱為Global Positioning System,意為全球定位系統(tǒng),其實(shí)質(zhì)上是衛(wèi)星定位系統(tǒng),即通過衛(wèi)星系統(tǒng)來進(jìn)行授時(shí),定位和測速.DR全稱為Dead Reckoning,意為航跡推算法.對(duì)于陸基車輛來說,航跡推算系統(tǒng)基本由測量航向角的傳感器和測量距離的傳感器構(gòu)成.
盡管GPS定位導(dǎo)航系統(tǒng)能夠全天候、連續(xù)實(shí)時(shí)地提供高精度的三維位置和速度信息,但是當(dāng)車輛行駛在高樓林立的市區(qū)時(shí),由于GPS衛(wèi)星信號(hào)經(jīng)常受到遮擋,有些情況下通過GPS系統(tǒng)實(shí)現(xiàn)連續(xù)準(zhǔn)確的定位是不可能的.而車輛航位推算導(dǎo)航系統(tǒng)(DR)是一種自主式的車輛導(dǎo)航系統(tǒng),它短時(shí)間內(nèi)精度高,但導(dǎo)航誤差隨時(shí)間積累.因此這兩種導(dǎo)航方式都有其優(yōu)缺點(diǎn).但是利用組合導(dǎo)航技術(shù)把上述兩種導(dǎo)航系統(tǒng)結(jié)合起來,構(gòu)成GPS/DR組合導(dǎo)航系統(tǒng),利用其各自的優(yōu)點(diǎn),互相取長補(bǔ)短,能夠獲得優(yōu)于任何單獨(dú)一種導(dǎo)航系統(tǒng)的精度和可靠性,可確保移動(dòng)車輛在丟失衛(wèi)星信號(hào)時(shí)仍能有效的確定車輛所在的位置.
卡爾曼濾波是一種時(shí)域?yàn)V波方法,采用狀態(tài)空間方法描述系統(tǒng),從與被提取信號(hào)有關(guān)的量測量中通過算法估計(jì)出所需信號(hào).卡爾曼濾波在導(dǎo)航系統(tǒng)中有廣泛的應(yīng)用.在本系統(tǒng)中應(yīng)用了分散卡爾曼濾波,較好的提高了導(dǎo)航的準(zhǔn)確度.
本系統(tǒng)的設(shè)計(jì)采用分散濾波的方式.分散濾波即利用卡爾曼濾波器對(duì)各個(gè)子系統(tǒng)進(jìn)行濾波處理,最后對(duì)系統(tǒng)進(jìn)行信息綜合及傳感器誤差校正.
航跡推算是車輛導(dǎo)航定位中所采用的一種比較經(jīng)典的算法.由于車輛的運(yùn)動(dòng)可以看作是在二維平面上的運(yùn)動(dòng),因此如果已知車輛的起始點(diǎn)e0,n0(e為局部平面坐標(biāo)系中的東向位置坐標(biāo),n為局部平面坐標(biāo)系中的北向位置坐標(biāo))和初始航向角θ0,通過實(shí)時(shí)測量車輛的行駛距離s和航向角的變化,就可以實(shí)時(shí)推算車輛的位置.
在該系統(tǒng)模型設(shè)計(jì)中,用GPS精確定位結(jié)果輔助航位推算系統(tǒng)的初始化,給出準(zhǔn)確的初始位置,同時(shí)對(duì)航位推算系統(tǒng)的位置誤差進(jìn)行自主校正,減小誤差積累.另一方面,當(dāng)GPS無法定位或定位誤差太大時(shí),便切換至航位推算系統(tǒng),短時(shí)間內(nèi)校正GPS信息,直至GPS定位恢復(fù)正常后,再切換至GPS定位系統(tǒng)進(jìn)行精確定位.理論分析和試驗(yàn)結(jié)果均表明,GPS與DR組合的車輛導(dǎo)航系統(tǒng)具有較高的定位精度與良好的可靠性.
1.2.1 GPS卡爾曼濾波模型的建立
為了提高GPS定位精度,除了采用差分GPS方法外,運(yùn)用卡爾曼濾波器將真實(shí)的狀態(tài)從各種隨機(jī)干擾中實(shí)時(shí)最優(yōu)地估計(jì)出來是提高定位精度的重要途徑.運(yùn)用卡爾曼濾波器進(jìn)行最優(yōu)估計(jì),需建立較準(zhǔn)確的系統(tǒng)模型和觀測模型.
以一個(gè)三維空間運(yùn)動(dòng)目標(biāo)為例,為了確定其位置和速度,其狀態(tài)變量可取為
其中,物體運(yùn)動(dòng)的坐標(biāo)系取為地球坐標(biāo)系(x y z)、(vxvyvz)、(axayaz)分別為物體的位置、速度和加速度分量,εxεyεz分別為物體在x y z 3個(gè)坐標(biāo)軸上的位置誤差,可視為各種誤差源造成的總的位置誤差.GPS接收機(jī)輸出的定位結(jié)果x′、y′、z′取為外部觀測量Lx,Ly,Lz.考慮到12個(gè)狀態(tài)變量帶來的計(jì)算工作量相當(dāng)大,可將12個(gè)狀態(tài)變量按坐標(biāo)軸的不同分為3組,即x軸方向:x,vx,ax,εx;y軸方向:y,vy,ay,εy;z軸方向:z,vz,az,εz.對(duì)應(yīng)的3個(gè)外觀測量分別為Lx,Ly,Lz這3組狀態(tài)變量之間沒有藕合,其對(duì)應(yīng)的外觀測量也分別獨(dú)立.因此,為降低運(yùn)算量,可將3個(gè)軸向的狀態(tài)變量分別進(jìn)行濾波處理.以X軸為例,狀態(tài)變量為X=[x vxaxεx]T,系統(tǒng)噪聲矢量為 W=[0 0ωaxωx]T,
系統(tǒng)方程為x·(t)=AxX(t)+W(t).其中Ax為系統(tǒng)轉(zhuǎn)移矩陣.ωx,ωax分別為(0,q2x)、(0,q2ax)的高斯白噪聲.
系統(tǒng)觀測方程為Lx=HxX+V其中V為觀測噪聲向量,V=[ωLx],ωLx為觀測誤差向量,取為(0,R2x)的高斯白噪聲,Hx為觀測矩陣,Hx=[1 0 0 1].
由所建立的系統(tǒng)方程和觀測方程可見,這是一個(gè)典型的線性卡爾曼濾波模型,系統(tǒng)中所有的狀態(tài)變量是否可觀測,可根據(jù)可觀測性依據(jù)判定.由于rank[HxHxA HxA2HxA3]T=4=狀態(tài)變量個(gè)數(shù),故系統(tǒng)是完全可觀測的.
上述系統(tǒng)方程和觀測方程離散化后為
其卡爾曼濾波方程為
1.2.2 航位推算系統(tǒng)推廣卡爾曼濾波模型的建立
航位推算系統(tǒng)中的所有傳感器的誤差均會(huì)造成位置誤差的積累,從而使得定位精度降低.為了提高系統(tǒng)精度,采用推廣卡爾曼濾波器對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行濾波處理.
以一個(gè)二維空間運(yùn)動(dòng)目標(biāo)為例,為了確定其位置和速度,取其狀態(tài)向量為X=[e n vevnaean]T其中,(e veae),(n vnan)分別為物體東向及北向的位置、速度和加速度分量,系統(tǒng)噪聲矢量取為W =[0 0 0 0ωeωn]T,則系統(tǒng)方程為X =AX +W,其中ωe,ωn分別為 (0,q2e),(0,q2n)的高斯白噪聲,A為系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣.
根據(jù)以上條件,建立離散系統(tǒng)的推廣卡爾曼濾波方程為
1.2.3 整合卡爾曼濾波器
系統(tǒng)正常工作時(shí),GPS作為主定位系統(tǒng),所采得的數(shù)據(jù)經(jīng)卡爾曼濾波器濾波處理后直接用于系統(tǒng)的定位與導(dǎo)航.另外,GPS定位系統(tǒng)的輸出信息定期對(duì)航位推算系統(tǒng)的傳感器進(jìn)行誤差校正.當(dāng)GPS信號(hào)較差或丟失時(shí),這時(shí)便切換至航位推算系統(tǒng),對(duì)角速率陀螺和里程表采得的數(shù)據(jù)進(jìn)行推廣卡爾曼濾波處理后代替GPS進(jìn)行定位與導(dǎo)航,當(dāng)GPS信號(hào)恢復(fù)正常后,再切換回GPS定位系統(tǒng).
組合導(dǎo)航系統(tǒng)由4部分組成:信號(hào)接收處理模塊、導(dǎo)航信號(hào)處理模塊、主CPU處理單元、電源模塊.組合導(dǎo)航系統(tǒng)硬件組成結(jié)構(gòu)如圖1所示.
圖1 組合導(dǎo)航系統(tǒng)硬件組成結(jié)構(gòu)
信號(hào)接收處理模塊主要用于將自動(dòng)接收的來自天線的GPS射頻信號(hào),經(jīng)過一系列處理過程,最后輸出GPS數(shù)據(jù)到主CPU處理單元.它的硬件部分主要包括導(dǎo)航計(jì)算DSP,變頻器、標(biāo)頻器、信號(hào)通道、微處理器和存儲(chǔ)單元等組成.
導(dǎo)航信號(hào)處理模塊主要用于采集汽車的運(yùn)行信號(hào),經(jīng)濾波放大后,再通過電平轉(zhuǎn)換電路使信號(hào)電壓降低到正常工作電壓,然后將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)送至主CPU處理單元.其硬件部分主要由隔離放大電路、抗混疊低通濾波器、譯碼計(jì)數(shù)電路、模數(shù)轉(zhuǎn)換電路組成.
主CPU處理單元由CPU芯片、存儲(chǔ)單元、數(shù)據(jù)緩沖電路及外圍顯示接口電路組成,完成對(duì)數(shù)據(jù)的融合處理,并將結(jié)果顯示在液晶屏上.
一個(gè)嵌入式系統(tǒng)(embedded system)就是一個(gè)計(jì)算機(jī)硬件和軟件的集合體.當(dāng)目標(biāo)硬件平臺(tái)設(shè)計(jì)完成后,我們必須根據(jù)功能的需求設(shè)計(jì)與之匹配的軟件程序來驅(qū)動(dòng)硬件平臺(tái)進(jìn)行工作.由于我們所選用的主處理器為ARM內(nèi)核的CPU,因而我們軟件設(shè)計(jì)的語言相應(yīng)的采用了ARM C標(biāo)準(zhǔn)庫鏈接.
本系統(tǒng)軟件部分由BOOT引導(dǎo)程序、初始化配置程序、卡爾曼濾波算法程序、GPS信號(hào)串口通信、周期性定時(shí)中斷服務(wù)程序組成.組合導(dǎo)航儀硬件電路復(fù)位后,CPU根據(jù)具體的硬件環(huán)境,首先從FLASH ROM中起開始執(zhí)行BOOT程序即CPU芯片的啟動(dòng)程序;然后執(zhí)行初始化配置程序建立標(biāo)志變量同時(shí)對(duì)外圍芯片進(jìn)行初始化配置;程序進(jìn)入周期性定時(shí)中斷任務(wù):在100 ms和1 s用戶周期任務(wù)中分別對(duì)慣導(dǎo)信號(hào)和GPS信號(hào)進(jìn)行采樣處理,其中在100 ms內(nèi)主要根據(jù)慣導(dǎo)信號(hào)對(duì)車輛進(jìn)行DR航位推算;在1 s內(nèi)主要根據(jù)串口所收到的GPS信號(hào)經(jīng)卡爾曼濾波后得到較為精確的車輛用戶信息;并通過輸出顯示程序?qū)⑺@示到液晶屏上.
本文設(shè)計(jì)的基于ARM處理器的車載組合導(dǎo)航儀是在組合導(dǎo)航的理論上獨(dú)立開發(fā)的系統(tǒng).該車載組合導(dǎo)航儀主要用來采集陸基車輛在行駛過程中的車載陀螺及里程儀的角速率和速度信號(hào),與車載GPS衛(wèi)星天線所收集的GPS數(shù)據(jù)信息通過融合處理,然后將所得數(shù)據(jù)信息發(fā)送至CPU進(jìn)行顯示,為用戶直觀地顯示當(dāng)前的位置、時(shí)間、速度等信息.理論分析和試驗(yàn)結(jié)果均表明,該組合車輛導(dǎo)航系統(tǒng)具有較高的定位精度與良好的可靠性.
[1]楊殿閣,卜鍵,鄭四發(fā),等.車載導(dǎo)航系統(tǒng)的研究與實(shí)現(xiàn),汽車技術(shù),2005,(1):1~4
[2]張其善,吳今培,楊東凱.《智能車輛定位導(dǎo)航系統(tǒng)及應(yīng)用》,北京科學(xué)出版社,2002:1~25
[3]李駒光,聶雪媛,江澤明,等.《ARM應(yīng)用系統(tǒng)開發(fā)詳解》,清華大學(xué)出版社,2003.12
[4]吳明暉,徐睿,黃健,等.《基于ARM的嵌入式系統(tǒng)開發(fā)與應(yīng)用》,人民郵電出版社,2004.6
[5]董緒榮,張守信,華仲春.《GPS/INS組合導(dǎo)航定位及其應(yīng)用》,北京:國防科技大學(xué)出版社,1998