車(chē)載定位定向?qū)Ш较到y(tǒng)檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)
1、引言
車(chē)載定位定向導(dǎo)航系統(tǒng)是指裝載在輪式及履帶式車(chē)輛上,能自主地為車(chē)輛提供方位基準(zhǔn)和位置信息的一種裝置。本文所述的車(chē)載定位定向導(dǎo)航系統(tǒng)由尋北儀、方位保持儀、里程計(jì)、高程計(jì)等組成,其中,尋北儀和方位保持儀是極其重要的部分,它們的錯(cuò)誤或失效直接影響系統(tǒng)的定向、定位精度,甚至?xí)斐蓢?yán)重后果,因此對(duì)其進(jìn)行準(zhǔn)確的故障檢測(cè)和診斷顯得尤為重要。目前,該系統(tǒng)采用傳統(tǒng)的故障檢測(cè)模式,通過(guò)硬件和軟件方式比較各模塊相關(guān)信號(hào)的實(shí)際值與參考值之差,若超出允許范圍,則認(rèn)為出現(xiàn)異?;蚬收?其準(zhǔn)確性和可控性較差。此外,該系統(tǒng)在性能檢測(cè)和故障診斷方面還存在以下兩點(diǎn)不足:一是受體積和重量等因素的制約,系統(tǒng)設(shè)計(jì)時(shí)沒(méi)有預(yù)留與外部檢測(cè)儀器(如示波器、萬(wàn)用表等)的接口,因此,無(wú)法進(jìn)行野外環(huán)境下的檢修;二是系統(tǒng)無(wú)法保存并顯示內(nèi)部慣性器件各個(gè)時(shí)期工作狀態(tài)的數(shù)據(jù),而這些數(shù)據(jù)對(duì)系統(tǒng)的使用、管理和維護(hù)具有極其重要的意義。
2、基本思想
獲取定位定向導(dǎo)航系統(tǒng)中慣性器件運(yùn)行時(shí)的狀態(tài)數(shù)據(jù)是對(duì)其進(jìn)行性能分析和故障診斷的前提條件,由于導(dǎo)航系統(tǒng)本身沒(méi)有預(yù)留檢測(cè)接口,常規(guī)的檢測(cè)儀器顯然無(wú)能為力。但我們注意到導(dǎo)航系統(tǒng)內(nèi)部不但 有專用的A/D模塊、V/F(電壓/頻率)轉(zhuǎn)換模塊和計(jì)算機(jī)模塊等負(fù)責(zé)采集慣性器件信號(hào),而且還預(yù)留了一個(gè)RS-232串行通信端口,在此啟發(fā)下我們?cè)O(shè)計(jì)了一種檢測(cè)裝置--檢測(cè)儀,它能在保持導(dǎo)航系統(tǒng)硬件結(jié)構(gòu)不變、性能指標(biāo)不受影響的前提下,實(shí)現(xiàn)對(duì)導(dǎo)航系統(tǒng)的性能測(cè)試和故障診斷等功能。為此,我們只需簡(jiǎn)單地對(duì)導(dǎo)航系統(tǒng)軟件做一些增補(bǔ),使之在原來(lái)單一的定位定向?qū)Ш綘顟B(tài)工作模式基礎(chǔ)上增添了待檢測(cè)狀態(tài)的工作模式。檢測(cè)儀通過(guò)RS-232串行口以串行通信的方式與導(dǎo)航系統(tǒng)進(jìn)行通信以獲取系統(tǒng)內(nèi)部由A/D模塊和V/F模塊采集到的數(shù)據(jù),采用基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)處理和分析方法,使得對(duì)導(dǎo)航系統(tǒng)的性能檢測(cè)和故障診斷變得準(zhǔn)確、便捷。
檢測(cè)儀的工作流程如圖1所示。當(dāng)導(dǎo)航系統(tǒng)處于待檢測(cè)狀態(tài)時(shí),檢測(cè)儀通過(guò)串行端口向?qū)Ш较到y(tǒng)發(fā)送各種檢測(cè)命令,導(dǎo)航系統(tǒng)隨即進(jìn)入相應(yīng)的檢測(cè)狀態(tài)并把檢測(cè)數(shù)據(jù)傳送給檢測(cè)儀,由檢測(cè)儀完成數(shù)據(jù)處理和系統(tǒng)性能分析,檢測(cè)結(jié)束后系統(tǒng)自動(dòng)恢復(fù)到導(dǎo)航狀態(tài)。檢測(cè)過(guò)程中,導(dǎo)航計(jì)算機(jī)通過(guò)中斷控制方式接收命令、采集數(shù)據(jù)和發(fā)送數(shù)據(jù)。操作人員通過(guò)檢測(cè)儀發(fā)出各種檢測(cè)命令后,檢測(cè)過(guò)程由計(jì)算機(jī)自動(dòng)完成,無(wú)需人工干預(yù)。
3、硬件配置
作為專用的檢測(cè)設(shè)備,要求檢測(cè)儀在車(chē)載定位定向?qū)Ш较到y(tǒng)需要檢測(cè)、維修的任何時(shí)間和地點(diǎn)都能夠方便地與導(dǎo)航系統(tǒng)對(duì)接并進(jìn)行性能測(cè)試和故障診斷。因此檢測(cè)儀必須具有體積小、重量輕、功耗低、可靠性高、便于攜帶等特點(diǎn),能在各種惡劣環(huán)境特別是野外環(huán)境下使用。根據(jù)以上要求,檢測(cè)儀選用了嵌入式計(jì)算機(jī)PC/104模塊。整個(gè)檢測(cè)儀的硬件配置如圖2所示。
PC/104計(jì)算機(jī)模塊是檢測(cè)儀的核心部分,由于檢測(cè)儀在檢測(cè)過(guò)程中不但要實(shí)時(shí)完成大量數(shù)據(jù)的收發(fā)任務(wù),還要實(shí)時(shí)對(duì)獲得的各種數(shù)據(jù)進(jìn)行復(fù)雜的處理、分析和存儲(chǔ),因此要求其有盡可能高的性能。我們選用的PC/104計(jì)算機(jī)模塊具有一個(gè)內(nèi)置浮點(diǎn)運(yùn)算協(xié)處理器的高速嵌入式Pentium CPU、兩個(gè)16C550等同高速串行口,能夠快速可靠地進(jìn)行RS-232串行通信,迅速準(zhǔn)確地完成所賦予的各項(xiàng)功能。
電源模塊的作用是向PC/104計(jì)算機(jī)模塊和液晶顯示屏提供+5V和+12V電源。為便于和其它計(jì)算機(jī)交換數(shù)據(jù),檢測(cè)儀還留有一個(gè)以太網(wǎng)口。
4、軟件設(shè)計(jì)
檢測(cè)儀的軟件基于Windows平臺(tái)的Visual Basic 6.0、Visual C++ 6.0、Matlab6.5和Access 2000設(shè)計(jì)完成。Visual Basic提供了功能強(qiáng)大且使用方便的串行通信控件"MSComm",在開(kāi)發(fā)Windows應(yīng)用程序的編程語(yǔ)言中具有獨(dú)特的優(yōu)勢(shì),但在數(shù)據(jù)處理等方面功能較弱,Visual C++ 6.0、Matlab6.5可彌補(bǔ)其不足。在數(shù)據(jù)庫(kù)操作方面,檢測(cè)軟件使用了Visual Basic提供的數(shù)據(jù)接口ActiveX數(shù)據(jù)訪問(wèn)對(duì)象(Data Access Object,DAO)來(lái)管理數(shù)據(jù)庫(kù)。DAO支持對(duì)Access數(shù)據(jù)庫(kù)的簡(jiǎn)捷方便的訪問(wèn),是一種便于使用的應(yīng)用程序接口。
4.1通信協(xié)議
檢測(cè)儀和導(dǎo)航系統(tǒng)之間的傳輸波特率為9600位/秒,傳輸幀格式為:1位起始位,8位數(shù)據(jù)位,1位停止位,1位偶校驗(yàn)位,共11位數(shù)據(jù)。雙方進(jìn)行通信時(shí)只需將預(yù)傳送數(shù)據(jù)的開(kāi)頭加上一個(gè)起始判別字節(jié)即可。 檢測(cè)儀和導(dǎo)航系統(tǒng)之間的通信流程為:檢測(cè)儀發(fā)送檢測(cè)命令--導(dǎo)航計(jì)算機(jī)發(fā)回相關(guān)數(shù)據(jù)。
4.2功能模塊的設(shè)計(jì)
為了便于開(kāi)發(fā)、調(diào)試、升級(jí)和維護(hù),軟件采用了模塊化的設(shè)計(jì)思想,整個(gè)軟件主要由四個(gè)窗體和六個(gè)標(biāo)準(zhǔn)模塊組成。窗體包括展示窗體、功能選擇窗體、導(dǎo)航窗體和檢測(cè)窗體;標(biāo)準(zhǔn)模塊 是檢測(cè)儀完成各項(xiàng)任務(wù)的功能模塊,包括CRC校驗(yàn)碼計(jì)算模塊、通信模塊、坐標(biāo)變換模塊、數(shù)據(jù)拆分模塊、數(shù)據(jù)庫(kù)管理模塊和檢測(cè)數(shù)據(jù)處理模塊等。CRC校驗(yàn)碼計(jì)算模塊用于生成串行通信校驗(yàn)碼;通信模塊的作用是利用Visual Basic中串行通信控件"MSComm"的"input"和"output"屬性和"OnComm"事件完成數(shù)據(jù)的收發(fā)任務(wù);坐標(biāo)變換模塊負(fù)責(zé)把54坐標(biāo)轉(zhuǎn)換為地心經(jīng)緯度坐標(biāo);數(shù)據(jù)拆分模塊可把整型數(shù)據(jù)拆分為字節(jié)型數(shù)據(jù),以便于通過(guò)串口發(fā)送;數(shù)據(jù)庫(kù)管理模塊根據(jù)需要把檢測(cè)的數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中;檢測(cè)數(shù)據(jù)處理模塊為整個(gè)軟件的核心,根據(jù)檢測(cè)數(shù)據(jù)的類型給出相應(yīng)的處理結(jié)果。
4.3檢測(cè)數(shù)據(jù)的處理
為準(zhǔn)確判斷導(dǎo)航系統(tǒng)的工作狀態(tài),我們?cè)O(shè)計(jì)了基于BP神經(jīng)網(wǎng)絡(luò)的故障診斷方法,作用函數(shù)選取S型函數(shù) 。由于尋北儀中陀螺儀和加速度計(jì)正常工作時(shí)的信號(hào)均為周期信號(hào),故這些信號(hào)可采用同一網(wǎng)絡(luò)進(jìn)行性能檢測(cè)和故障診斷。檢測(cè)時(shí)取得一個(gè)周期的信號(hào),首先經(jīng)過(guò)低通數(shù)字濾波器以減少、消除檢測(cè)數(shù)據(jù)中干擾和噪聲的影響,然后進(jìn)行歸一化處理。經(jīng)過(guò)對(duì)試驗(yàn)數(shù)據(jù)的多次仿真試驗(yàn),我們提取到其故障特征信號(hào)為峰值(MAX)、峭度(KUR)、標(biāo) 準(zhǔn)差(STD)這三個(gè)量作為網(wǎng)絡(luò)的輸入。網(wǎng)絡(luò)采用離線訓(xùn)練、在線使用的方式。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示,其中隱含層神經(jīng)元個(gè)數(shù)、各個(gè)神經(jīng)元上的權(quán)值和閾值均由大量試驗(yàn)樣本數(shù)據(jù)訓(xùn)練得到??紤]到神經(jīng)元的作用函數(shù)選為S型函數(shù),故選取網(wǎng)絡(luò)的輸出訓(xùn)練樣本為0.9(有故障)或0.1(無(wú)故障)。神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法采用自適應(yīng)學(xué)習(xí)率梯度下降反向傳播算法,且參數(shù)每一步更新不僅考慮當(dāng)前的梯度方向,而且還考慮前一時(shí)刻的梯度方向,從而降低了網(wǎng)絡(luò)性能對(duì)參數(shù)調(diào)整的敏感性,有效地抑制了訓(xùn)練結(jié)果出現(xiàn)局部極小問(wèn)題。對(duì)一個(gè)訓(xùn)練好的BP網(wǎng)絡(luò)來(lái)說(shuō),根據(jù)網(wǎng)絡(luò)的輸出(out)即可判斷相應(yīng)的慣性部件是否工作正常。測(cè)試結(jié)果表明,采用基于BP神經(jīng)網(wǎng)絡(luò)的故障判別方法適合于車(chē)載定位定向?qū)Ш较到y(tǒng)慣性器件的故障診斷,準(zhǔn)確率高。
5、結(jié)論
檢測(cè)儀的研制成功,解決了車(chē)載定位定向?qū)Ш较到y(tǒng)在野外環(huán)境下無(wú)法進(jìn)行性能測(cè)試和故障診斷的難題。它不但能快速準(zhǔn)確地獲取導(dǎo)航系統(tǒng)慣性器件的狀態(tài)信息數(shù)據(jù)并完成系統(tǒng)的性能分析和故障診斷,還能保證導(dǎo)航系統(tǒng)的正常工作且性能指標(biāo)不受影響,其工作原理為已有裝備的性能檢測(cè)和故障診斷提供了一種新思路。
參考文獻(xiàn):
[1] 陳離劍.陸地車(chē)輛定位定向?qū)Ш较到y(tǒng)計(jì)算機(jī)控制系統(tǒng)的研制:[碩士學(xué)位論文].北京: 北京理工大學(xué),1998
[2] 范逸之,陳立元. Visual Basic與RS-232串行通信控制. 北京: 清華大學(xué)出版社, 2002.6
[3] 姚志軍,張平,白向林.一種基于PC104的測(cè)試儀器.現(xiàn)代電子技術(shù),2003,1.P57-P58.
評(píng)論