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