引 言 車輛定位導航技術是智能交通系統( ITS)中一個重要技術,而定位精度、定位數據的連續性和可靠性是導航系統性能的三個重要因素。 車輛定位導航的精度直接取決于各個傳感器的精度,而傳感器精度的提高往往受技術、價格等因素的影響。 目前廣泛采用的基于多傳感器融合的組合導航系統,能夠有效提高導航定位精度,增強導航系統的可靠性,進而充分保證導航數據的連續性和可用性。 傳感器數量在系統中的需求增加,傳統儀器不再適應系統要求。本文作者利用NI公司的虛擬儀器編程軟件LabVIEW所設計的多傳感器信息采集平臺,為組合導航中的多傳感器信息采集工作提供了一個通用的平臺,克服了傳統儀器功能單一,靈活性差,更新和維護費用高的缺點。 并且將數據采集、預處理、信息顯示、存儲和回放集成在一起,形成統一格式的數據文件,方便與其它數據分析軟件的接口,例如與Matlab的接口。 在這個多傳感器信息采集平臺,各種傳感器信息可以顯示在同一界面上,可以很方便地在其它傳感器的信息中添加GPS時間信息,解決了以往實現多傳感器信息同步困難的問題。 軟件開發平臺LabVIEW及結構 LabVIEW全稱是Laboratory Virtual InstrumentEngineering Workbench ,是目前十分流行的虛擬儀器的軟件開發平臺,是美國國家儀器公司(National Instrument) 推出的一種基于圖形開發、調試和運行程序的集成化環境,是目前國際上唯一的編譯型的圖形化編程語言。 系統硬件結構 實現此平臺的硬件結構如圖1所示。各種傳感器通過串行接口與計算機相連,實現與計算機的通信,計算機利用系統的LabVIEW程序對各種傳感器發送控制命令,多傳感器信息通過串口送入計算機,供LabVIEW程序進行數據的識別,讀取,存儲以及后處理工作。 各種傳感器信息分別通過各自接口與計算機通信之間是并行的。 由于實驗室條件有限,多傳感器僅以IMU和GPS為例完成了系統的設計工作。 系統軟件結構 系統的軟件結構圖如圖2 所示。 由圖2 可以看到,整個系統完成了GPS/IMU的數據采集、數據預處理、信息的同一界面顯示、數據存儲、數據回放的功能。 系統關鍵技術及其功能實現 系統關鍵技術 (1) LabVIEW的并行機制 LabVIEW軟件應用程序采用了并行程序結構,分別實現對多傳感器信息的測控。 如在多任務并行處理中,兩個循環結構構成了兩個并行的任務,每個任務體的執行順序是互不相關的,甚至這兩個任務執行的次數也是可以不一樣的。 (2) 串行口通信子VI 串行口通信的子VI針對計算機標準的串行口。LabVIEW提供了一組(共5 個) 串行口通信子VI控件來承擔對編程的支持,它們依次是:①串口初始化(Serial PortInit) ; ②串口讀(Serial PortRead) ; ③串口寫(Serial PortWrite) ; ④串口字節數(ByteSatSerialPort) ; ⑤串口中斷(Serial PortBreak) 。 (3) 數據同步機制原理 多傳感器信息融合中,要使誤差最小,兩個傳感器數據的時間應該相匹配。 然而在實際的傳送到車輛中的基本定位信息只需要有限的時間信息,只要為傳感器信息確定數據起始時間,然后可以根據傳送的數據量以及通信波特率來確定時間。 以GPS信息與慣性導航系統( Inertial Navigation System,INS) 的組合為例,由于INS與GPS的采樣率不同,INS采樣率一般為10 Hz ,而GPS的采樣率為1Hz。 如圖3 所示,設t1時刻為IMU/INS及GPS信息開始可用時刻,首先從t1開始向緩存器中存儲一系列的IMU/INS信息,由于GPS采樣率較低,此時的GPS信息可能并不是t1時刻而是前一秒內的信息。 假設GPS信息在t1+Δt時刻更新,當接收到GPS的t1+Δt時間信息后,將緩存器的信息恢復到正確的時間并完成更新,取t1+Δt為兩個傳感器的數據起始時間,這樣IMU/INS信息和GPS信息就達到了時間上的匹配,此后的時間信息就可以通過傳送的數據量以及通信波特率來確定。 系統功能實現 (1) 數據的采集和預處理 此部分將傳感器原始數據從串口連續正確地讀進來之后,對數據進行預處理,通過格式的轉換,數學計算等將原始數據轉換為傳感器實際測量信息,并實現了IMU轉動角度的實時測量功能。 其基本原理就是將角速度進行時間積分,得到角度的變化值。 由于陀螺儀在不同的溫度下有著不同程度的零點漂移,在積分的情況下其誤差就會不斷累加,所以在此模塊中特別增加了一個實時計算陀螺儀各軸方向靜止狀態時平均漂移的子VI,用來對角速度積分的誤差進行補償,從而得到比較準確的角度變化值。下面以IMU為例,說明原始數據到實際測量值轉換的實現過程。每個IMU信息包含18個字節信息,其定義如表1所示。 表1 IMU18字節定位信息 圖4 為利用公式節點進行數據預處理框圖。 其中x 和y 是輸入的原始數據,z 為輸出的實際測量值。 程序將18字節的字符串數據轉換為數字數組后,在框圖上可直接在公式節點中輸入公式,完成原始信息到實際測量值的轉換。 (2) 信息顯示 軟件采用友好和直觀的界面呈現來自傳感器的信息,分別對來自GPS和IMU的數據信息進行呈現。 其部分界面如圖5、圖6所示。 我們在設計過程中,特別采用了Tab控件,可以將IMU和GPS信息同時顯示在同一面板的不同分頁上,使我們能夠很方便地交互地察看兩個傳感器的信息。 圖5 IMU信息顯示界面 圖6 GPS信息顯示界面 (3) 數據存儲 在LabVIEW軟件平臺下,可以采用3種格式存儲數據:文本文件,二進制文件和數據記錄文件。數據存儲的功能由一個寫文件子VI和一個Case結構構成。 點擊前面板上的存儲控制按鈕時,系統就會將IMU或者GPS數據進行存儲,并且可以隨時終止存儲工作。 由于IMU信息中沒有實際時間信息,為了實現多傳感器信息的同步,以及存儲文件的后處理需要,特在IMU存儲信息中添加了同步的GPS時間信息。 為了方便用其它的程序來讀取數據進行后處理工作,本文采用的是文本文件的存儲格式。 (4) 數據回放 進行數據的回放工作,首先要將文件按照其存儲格式識別出來,然后再將信息顯示在界面上。 由于LabVIEW對文件進行讀取的函數不是很多,而且一般對文件格式的要求比較嚴格,所以,我們采取了一種方法,就是先將文件中所有的字符串讀出來,然后再利用LabVIEW中豐富的字符串操作函數,對所讀取的字符串進行分離,識別和處理。對GPS信息進行讀取、處理、顯示、存儲,以及回放的程序,與IMU相似,只是在數據格式方面有些不同,本文不再贅述。 結 語 利用LabVIEW及現有的實驗室設備建立了多傳感器信息采集平臺,本平臺通用性能好,免除了對多傳感器信息采集的操作過程中一些煩瑣的工作,采集過程不再需要編寫不同的軟件以適應不同傳感器要求;將多傳感器信息在同一界面上顯示,使測量信息更加直觀;形成了統一格式的數據存儲文件,有利于多傳感器存儲信息的后處理。 本平臺充分利用了虛擬儀器的靈活性和多輸入多輸出的特點,將計算機、多傳感器、LabVIEW軟件結合起來,構成了一個虛擬儀器系統,實現對多傳感器信息的測控,為將來進一步研究利用虛擬儀器測控多傳感器信息以及進行多傳感器信息融合奠定了基礎。 |