田震,楊盤柱(通訊作者)
(1.貴陽電氣控制設(shè)備有限公司,貴州貴陽,550016;2.貴州索立得光電科技有限公司,貴州貴陽,550016)
北斗/GPS定位設(shè)備都需要接收衛(wèi)星信號來實(shí)現(xiàn)定位,要得到運(yùn)動物體的行進(jìn)軌跡,則需要實(shí)時接收衛(wèi)星信號。車輛定位過程中途經(jīng)嚴(yán)重遮擋地帶,接收設(shè)備無法接收衛(wèi)星信號,導(dǎo)致定位數(shù)據(jù)漂移。如何解決數(shù)據(jù)漂移的問題,國內(nèi)的學(xué)者提出了一些觀點(diǎn),比如基于速度約束型的卡爾曼濾波法[1]、顧及速度約束的基于時間序列數(shù)據(jù)處理方法[2]、采用載波相位差分技術(shù)(RTK)來抑制數(shù)據(jù)漂移[3]。本設(shè)計(jì)提出了基于北斗/GPS 的車輛定位系統(tǒng),并對當(dāng)前技術(shù)存在的一些問題進(jìn)行了改進(jìn)。包括對拐點(diǎn)處的優(yōu)化處理,對盲區(qū)類型進(jìn)行判斷,并進(jìn)行盲區(qū)補(bǔ)傳,盡量減輕環(huán)境帶來的影響。
終端設(shè)計(jì)采用主控模塊Air800配合加速度傳感器模塊MPU6050及供電電路實(shí)現(xiàn)車輛定位功能。在終端設(shè)備的設(shè)計(jì)過程中為了提高系統(tǒng)的性能,本設(shè)計(jì)進(jìn)行了三點(diǎn)改進(jìn)。
長安大學(xué)的周經(jīng)美提出了基于視覺感知的定位技術(shù)[5],提高了GPS盲區(qū)內(nèi)車輛定位精度,但是該方法對數(shù)據(jù)處理單元的運(yùn)行速度有著很高的要求,一般嵌入式模塊很難滿足。本設(shè)計(jì)采用慣性導(dǎo)航技術(shù)來解決盲區(qū)內(nèi)定位數(shù)據(jù)無法獲取的問題,采用加速度傳感器獲取車輛的加速度和航向角,并采用航跡推算的方法得到車輛在盲區(qū)內(nèi)的運(yùn)行軌跡。
判斷車輛處在GSM盲區(qū)還是定位盲區(qū)或者同時盲區(qū)。如果處于GPS或北斗盲區(qū),則通過加速度傳感器獲取車輛的加速度和航向角推算出車輛在盲區(qū)內(nèi)的運(yùn)行軌跡;如果處于GSM盲區(qū),則待發(fā)送數(shù)據(jù)包會緩存至GPS_BUF,待出GSM盲區(qū)后,將數(shù)據(jù)補(bǔ)發(fā)至服務(wù)器。若有拐點(diǎn)出現(xiàn),同樣將拐點(diǎn)數(shù)據(jù)包緩存起來,在下個周期執(zhí)行發(fā)送之前先補(bǔ)傳拐點(diǎn)數(shù)據(jù)包。
設(shè)計(jì)中采用MPU6050傳感器獲取車輛的在某一時間點(diǎn)加速度和航向角,通過積分可以得到車輛的速度和位移。當(dāng)車輛進(jìn)入定位盲區(qū)時,利用慣性導(dǎo)航算法對車輛位置推算。實(shí)現(xiàn)過程如下:傳感器對速度和方向信息的測量是通過物理坐標(biāo)系進(jìn)行的,而位置計(jì)算是由導(dǎo)航坐標(biāo)系完成,NOE為導(dǎo)航坐標(biāo)系,yox為物理坐標(biāo)系,可以得到狀態(tài)方程(1):
其中,γ是導(dǎo)航坐標(biāo)系N軸與物理坐標(biāo)系y軸的夾角,(n , e)是導(dǎo)航坐標(biāo)系的北向和東向分量,(u , v)是物理坐標(biāo)系中兩個幅度分量(u代表向前,v代表向右)[6]。
在定位數(shù)據(jù)中,可以得到車輛進(jìn)入GPS定位盲區(qū)前K-1時刻的速度和航向φk1-,如圖1、2所示。
圖1 導(dǎo)航坐標(biāo)系和物理坐標(biāo)系
MPU6050可以測出車輛的三軸加速度(ax,ay,az)由牛頓慣性定理可得:
其中,Vk為速度的變化矢量,T為加速度傳感器的采樣周期車輛在k-1時刻的速度和向前的加速度ay方向是近似相同的[6],則有:
根據(jù)三角形正弦定理可得:
可以得到:
把(θk,βk,αk)帶入(7)式可以得出下一個時刻的速度:
由圖2中的三角形關(guān)系αk=|φk- φk-1|和加速度ax(k)的方向,可以得出下一時刻的航向k結(jié)合圖所示的兩個坐標(biāo)系的轉(zhuǎn)換關(guān)系可以得出新時刻北向和東向位移[7]:
圖2 導(dǎo)航坐標(biāo)系中的向量三角形
根據(jù)幾何關(guān)系分析,在較小的位移內(nèi)經(jīng)緯度的變化表示為:
式中,kφΔ 為緯度變化;kλΔ 為經(jīng)度變化;ER為地球半徑。GPS可以給出INS定位時的初始位置(λ,θ),新時刻的位置可以由下式得出[8]:
當(dāng)前,國內(nèi)針對拐點(diǎn)有著廣泛的研究,許志勇、于今等人提出了層間插值算法用于對物體邊緣輪廓的研究[9],該算法對輪廓差別不大的插值輪廓效果較好;李雪晨、汪仁煌等提出了改進(jìn)型彎曲度算法[10],有效解決羽毛球生產(chǎn)過程中羽毛缺陷的階梯形狀修剪問題。以上研究均是對已有的物體或圖像的拐點(diǎn)研究。為了合理準(zhǔn)確地描述車輛在拐彎處的運(yùn)行軌跡,本設(shè)計(jì)采用閾值判斷的方法對拐點(diǎn)進(jìn)行判斷,通過計(jì)算多個時間點(diǎn)的拐角之和,并與設(shè)定值進(jìn)行對比,以此來判斷車輛是否拐彎,該方法將使得車輛在拐彎處運(yùn)行軌跡的描述更加合理。
(1)拐彎方向:車輛拐彎一般發(fā)生在路口,方向分為三種:右拐、左拐、掉頭。如圖3、4、5所示。
圖3 右轉(zhuǎn)彎示意圖
圖4 左轉(zhuǎn)彎示意圖
圖5 車輛掉頭示意圖
(2)拐彎方向范圍初步確定:本系統(tǒng)中Air800模塊采集到的方向角是以正北方向?yàn)?°方向,順時針方向的偏離角為方向角,范圍為0°~360°。車輛拐彎通常發(fā)生在路口處。在0°~360°的范圍內(nèi),并不是所有方向都算作拐彎。如圖6所示,假設(shè)車輛初始方向?yàn)榧^所指方向,那么初步指定與初始方向偏離的角度:45°~315°范圍內(nèi)為拐彎方向范圍,0°~45°以及315°~360°范圍則為非拐彎方向范圍。
圖6 拐彎方向范圍示意圖
(3)拐點(diǎn)確定:在拐點(diǎn)判斷之前系統(tǒng)已完成8秒8個方向角采集并緩存。假設(shè)車輛方向角初值為x0(8秒之前采得),分別求得x1、x2、x3、x4、x5、x6、x7、x8與原始方向角度x0偏差,即它們與x0差的絕對值,并逐個緩存于數(shù)組DIF[8]中。若車輛發(fā)生了拐彎,則數(shù)組元素DIF[7]為最大偏離角度。DIF[0]~DIF[6]分別與最大偏離角的一半作比較,最先大于最大偏離角一半的點(diǎn)確定為拐點(diǎn)。最后將此點(diǎn)緩存于拐點(diǎn)發(fā)送緩存區(qū)。流程圖如圖7所示。
圖7 拐點(diǎn)判斷流程圖
Air800模塊在運(yùn)動狀態(tài)下速度值穩(wěn)定變化,但在靜止?fàn)顟B(tài)下存在速度漂移。比如車輛為靜止?fàn)顟B(tài),但數(shù)據(jù)包中的速度狀態(tài)位卻不為0。針對此問題,設(shè)置判斷算法。假設(shè)每秒采集一次速度值,采集8次,共采得8個速度值。8個速度值為0(或1)的個數(shù)為c。經(jīng)過初步判斷和二次判斷后獲得標(biāo)志位值,并添加進(jìn)發(fā)送數(shù)據(jù)包中,在第8秒發(fā)送給服務(wù)器。初步判斷:
若c>4,即8個速度中0或1的總個數(shù)過半,則初步判斷車輛為靜止?fàn)顟B(tài)。若c<4,即8個速度中0或1的總個數(shù)未超過一半,則初步判斷車輛為運(yùn)動狀態(tài)。
二次判斷:若c>4,檢查上一次車輛運(yùn)動狀態(tài)標(biāo)志位,循環(huán)檢查5次,若5次均為靜止?fàn)顟B(tài),則判斷車輛當(dāng)前狀態(tài)為靜止?fàn)顟B(tài)。若c<4,同樣檢查上一次車輛運(yùn)動狀態(tài)標(biāo)志位,循環(huán)檢查5次,若5次均為運(yùn)動狀態(tài),則判斷車輛當(dāng)前狀態(tài)為運(yùn)動狀態(tài)。流程圖如圖8所示。
圖8 運(yùn)動狀態(tài)判斷流程圖
其中c為采集的8次速度值中速度為0或1的總個數(shù);a0是上一次發(fā)送數(shù)據(jù)包中的車輛狀態(tài)標(biāo)志;a1是本次發(fā)送數(shù)據(jù)包中的車輛狀態(tài)標(biāo)志;m是上一次發(fā)送數(shù)據(jù)包中的車輛狀態(tài)為靜止?fàn)顟B(tài)的次數(shù);t是上一次發(fā)送數(shù)據(jù)包中的車輛狀態(tài)為運(yùn)動狀態(tài)的次數(shù)。經(jīng)過以上速度漂移處理后,避免了因速度值采集誤差引起的車輛狀態(tài)誤判的情況。車輛狀態(tài)檢測更加準(zhǔn)確。
終端模塊上電后,當(dāng)設(shè)備定位成功以后,接收到的定位數(shù)據(jù)包會在Lua Tools軟件的界面內(nèi)顯示出來。數(shù)據(jù)包的內(nèi)容如圖9中的紅色方框內(nèi)所示。
圖9 定位功能測試
測試方案:將設(shè)備牢靠固定于車輛以后,車輛在選定區(qū)域進(jìn)行測試。車輛運(yùn)行過程中,將經(jīng)歷拐彎、掉頭、進(jìn)入北斗/GPS定位盲區(qū)和GSM通信盲區(qū),以及停止熄火等狀態(tài),以滿足實(shí)際使用過程的情況。對GPS/北斗盲區(qū)和GSM盲區(qū)的測試將選用地下停車場來模擬實(shí)際的定位盲區(qū)和GSM盲區(qū)。在此過程中設(shè)備無法獲取GPS定位數(shù)據(jù),同時也無法發(fā)送數(shù)據(jù)包至服務(wù)器。
通過圖10和圖11可以很清楚地看出盲區(qū)處理與慣性導(dǎo)航功能確實(shí)對車輛在北斗/GPS盲區(qū)處的運(yùn)行軌跡的描述起到了優(yōu)化作用,該算法對車輛在盲區(qū)內(nèi)的運(yùn)行軌跡是可以描述出來的。并且通過觀察細(xì)節(jié)圖發(fā)現(xiàn),該軌跡與車輛的實(shí)際運(yùn)行軌跡基本吻合。
圖10 車輛運(yùn)行軌跡圖
圖11 地下停車場運(yùn)動軌跡細(xì)節(jié)圖
通過對車輛定位系統(tǒng)的測試,驗(yàn)證了系統(tǒng)的整體性能,滿足了設(shè)計(jì)要求和應(yīng)用需求。設(shè)計(jì)通過AGPS技術(shù)縮短了定位模塊的冷啟動時間,通過此技術(shù),模塊冷啟動時間縮短至18秒;拐點(diǎn)判斷技術(shù)、慣性導(dǎo)航技術(shù)的應(yīng)用使GPS/北斗和GSM盲區(qū)內(nèi)車輛運(yùn)動軌跡被完整的記錄下來,解決盲區(qū)內(nèi)數(shù)據(jù)漂移問題。車輛經(jīng)過GPS/北斗和GSM盲區(qū)時,定位數(shù)據(jù)經(jīng)盲區(qū)補(bǔ)傳后,運(yùn)行軌跡與實(shí)際軌跡基本吻合,滿足了應(yīng)用要求。