基于LabVIEW的多傳感器信息采集平臺(tái)
車輛定位導(dǎo)航技術(shù)是智能交通系統(tǒng)( ITS)中一個(gè)重要技術(shù),而定位精度、定位數(shù)據(jù)的連續(xù)性和可靠性是導(dǎo)航系統(tǒng)性能的三個(gè)重要因素。 車輛定位導(dǎo)航的精度直接取決于各個(gè)傳感器的精度,而傳感器精度的提高往往受技術(shù)、價(jià)格等因素的影響。 目前廣泛采用的基于多傳感器融合的組合導(dǎo)航系統(tǒng),能夠有效提高導(dǎo)航定位精度,增強(qiáng)導(dǎo)航系統(tǒng)的可靠性,進(jìn)而充分保證導(dǎo)航數(shù)據(jù)的連續(xù)性和可用性。 傳感器數(shù)量在系統(tǒng)中的需求增加,傳統(tǒng)儀器不再適應(yīng)系統(tǒng)要求。本文作者利用NI公司的虛擬儀器編程軟件LabVIEW所設(shè)計(jì)的多傳感器信息采集平臺(tái),為組合導(dǎo)航中的多傳感器信息采集工作提供了一個(gè)通用的平臺(tái),克服了傳統(tǒng)儀器功能單一,靈活性差,更新和維護(hù)費(fèi)用高的缺點(diǎn)。 并且將數(shù)據(jù)采集、預(yù)處理、信息顯示、存儲(chǔ)和回放集成在一起,形成統(tǒng)一格式的數(shù)據(jù)文件,方便與其它數(shù)據(jù)分析軟件的接口,例如與Matlab的接口。 在這個(gè)多傳感器信息采集平臺(tái),各種傳感器信息可以顯示在同一界面上,可以很方便地在其它傳感器的信息中添加GPS時(shí)間信息,解決了以往實(shí)現(xiàn)多傳感器信息同步困難的問(wèn)題。
軟件開(kāi)發(fā)平臺(tái)LabVIEW及結(jié)構(gòu)
LabVIEW全稱是Laboratory VirtualInstrumentEngineering Workbench ,是目前十分流行的虛擬儀器的軟件開(kāi)發(fā)平臺(tái),是美國(guó)國(guó)家儀器公司(NationalInstrument) 推出的一種基于圖形開(kāi)發(fā)、調(diào)試和運(yùn)行程序的集成化環(huán)境,是目前國(guó)際上唯一的編譯型的圖形化編程語(yǔ)言。
系統(tǒng)硬件結(jié)構(gòu)
實(shí)現(xiàn)此平臺(tái)的硬件結(jié)構(gòu)如圖1所示。各種傳感器通過(guò)串行接口與計(jì)算機(jī)相連,實(shí)現(xiàn)與計(jì)算機(jī)的通信,計(jì)算機(jī)利用系統(tǒng)的LabVIEW程序?qū)Ω鞣N傳感器發(fā)送控制命令,多傳感器信息通過(guò)串口送入計(jì)算機(jī),供LabVIEW程序進(jìn)行數(shù)據(jù)的識(shí)別,讀取,存儲(chǔ)以及后處理工作。 各種傳感器信息分別通過(guò)各自接口與計(jì)算機(jī)通信之間是并行的。 由于實(shí)驗(yàn)室條件有限,多傳感器僅以IMU和GPS為例完成了系統(tǒng)的設(shè)計(jì)工作。
系統(tǒng)軟件結(jié)構(gòu)
系統(tǒng)的軟件結(jié)構(gòu)圖如圖2 所示。 由圖2 可以看到,整個(gè)系統(tǒng)完成了GPS/IMU的數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、信息的同一界面顯示、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)回放的功能。
系統(tǒng)關(guān)鍵技術(shù)及其功能實(shí)現(xiàn)
系統(tǒng)關(guān)鍵技術(shù)
(1) LabVIEW的并行機(jī)制
LabVIEW軟件應(yīng)用程序采用了并行程序結(jié)構(gòu),分別實(shí)現(xiàn)對(duì)多傳感器信息的測(cè)控。 如在多任務(wù)并行處理中,兩個(gè)循環(huán)結(jié)構(gòu)構(gòu)成了兩個(gè)并行的任務(wù),每個(gè)任務(wù)體的執(zhí)行順序是互不相關(guān)的,甚至這兩個(gè)任務(wù)執(zhí)行的次數(shù)也是可以不一樣的。
(2) 串行口通信子VI
串行口通信的子VI針對(duì)計(jì)算機(jī)標(biāo)準(zhǔn)的串行口。LabVIEW提供了一組(共5 個(gè)) 串行口通信子VI控件來(lái)承擔(dān)對(duì)編程的支持,它們依次是:①串口初始化(Serial PortInit) ; ②串口讀(Serial PortRead) ; ③串口寫(xiě)(Serial PortWrite) ; ④串口字節(jié)數(shù)(ByteSatSerialPort) ; ⑤串口中斷(Serial PortBreak) 。
(3) 數(shù)據(jù)同步機(jī)制原理
多傳感器信息融合中,要使誤差最小,兩個(gè)傳感器數(shù)據(jù)的時(shí)間應(yīng)該相匹配。 然而在實(shí)際的傳送到車輛中的基本定位信息只需要有限的時(shí)間信息,只要為傳感器信息確定數(shù)據(jù)起始時(shí)間,然后可以根據(jù)傳送的數(shù)據(jù)量以及通信波特率來(lái)確定時(shí)間。 以GPS信息與慣性導(dǎo)航系統(tǒng)( Inertial NavigationSystem,INS) 的組合為例,由于INS與GPS的采樣率不同,INS采樣率一般為10 Hz ,而GPS的采樣率為1Hz。 如圖3 所示,設(shè)t1時(shí)刻為IMU/INS及GPS信息開(kāi)始可用時(shí)刻,首先從t1開(kāi)始向緩存器中存儲(chǔ)一系列的IMU/INS信息,由于GPS采樣率較低,此時(shí)的GPS信息可能并不是t1時(shí)刻而是前一秒內(nèi)的信息。 假設(shè)GPS信息在t1+Δt時(shí)刻更新,當(dāng)接收到GPS的t1+Δt時(shí)間信息后,將緩存器的信息恢復(fù)到正確的時(shí)間并完成更新,取t1+Δt為兩個(gè)傳感器的數(shù)據(jù)起始時(shí)間,這樣IMU/INS信息和GPS信息就達(dá)到了時(shí)間上的匹配,此后的時(shí)間信息就可以通過(guò)傳送的數(shù)據(jù)量以及通信波特率來(lái)確定。
系統(tǒng)功能實(shí)現(xiàn)
(1) 數(shù)據(jù)的采集和預(yù)處理
此部分將傳感器原始數(shù)據(jù)從串口連續(xù)正確地讀進(jìn)來(lái)之后,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)格式的轉(zhuǎn)換,數(shù)學(xué)計(jì)算等將原始數(shù)據(jù)轉(zhuǎn)換為傳感器實(shí)際測(cè)量信息,并實(shí)現(xiàn)了IMU轉(zhuǎn)動(dòng)角度的實(shí)時(shí)測(cè)量功能。 其基本原理就是將角速度進(jìn)行時(shí)間積分,得到角度的變化值。 由于陀螺儀在不同的溫度下有著不同程度的零點(diǎn)漂移,在積分的情況下其誤差就會(huì)不斷累加,所以在此模塊中特別增加了一個(gè)實(shí)時(shí)計(jì)算陀螺儀各軸方向靜止?fàn)顟B(tài)時(shí)平均漂移的子VI,用來(lái)對(duì)角速度積分的誤差進(jìn)行補(bǔ)償,從而得到比較準(zhǔn)確的角度變化值。下面以IMU為例,說(shuō)明原始數(shù)據(jù)到實(shí)際測(cè)量值轉(zhuǎn)換的實(shí)現(xiàn)過(guò)程。每個(gè)IMU信息包含18個(gè)字節(jié)信息,其定義如表1所示。
評(píng)論