“使用NI PXI,我們能夠在實(shí)時(shí)狀態(tài)下以低延時(shí)完成復(fù)雜的無(wú)人機(jī)模型仿真,并完美地模擬了航空設(shè)備界面。”
- Francisco Alarcón Romero, FADA-CATEC
挑戰(zhàn):
在目標(biāo)硬件上搭建一個(gè)系統(tǒng),在實(shí)時(shí)控制仿真環(huán)境中,來(lái)驗(yàn)證無(wú)人飛機(jī)(UAV)的制導(dǎo)、導(dǎo)航和控制(GNC)算法。
解決方案:
在開(kāi)發(fā)的早期階段,開(kāi)發(fā)一個(gè)硬件在環(huán)(HIL)測(cè)試環(huán)境來(lái)測(cè)試無(wú)人機(jī)GNC解決方案。
HIL測(cè)試環(huán)境是軟件仿真和飛機(jī)實(shí)驗(yàn)的一個(gè)中間步驟,對(duì)于無(wú)人機(jī)GNC軟件的開(kāi)發(fā)過(guò)程非常關(guān)鍵。通過(guò)HIL環(huán)境,工程師可以在一個(gè)可控的仿真環(huán)境中對(duì)無(wú)人機(jī)軟件進(jìn)行測(cè)試。同時(shí),它也能加速設(shè)計(jì),縮短開(kāi)發(fā)周期。
通過(guò)HIL環(huán)境,工程師可以發(fā)覺(jué)軟件仿真(主要是同步和定時(shí))中沒(méi)有出現(xiàn)的問(wèn)題,從而避免現(xiàn)場(chǎng)試驗(yàn)的故障,并增加無(wú)人機(jī)團(tuán)隊(duì)的安全性。
我們開(kāi)發(fā)了一個(gè)通用的HIL平臺(tái)來(lái)設(shè)計(jì)驗(yàn)證控制和導(dǎo)航算法。這個(gè)HIL測(cè)試環(huán)境完全集成在一個(gè)基于模型的設(shè)計(jì)開(kāi)發(fā)周期中(見(jiàn)圖1)。
圖1 : HWIL測(cè)試環(huán)境示意圖
基于模型的開(kāi)發(fā)
首先我們?cè)O(shè)計(jì)編改了無(wú)人機(jī)平臺(tái),將其用于仿真,并將控制器和算法部署至硬件中。
我們根據(jù)基于模型的設(shè)計(jì)理念來(lái)完成這個(gè)任務(wù)。對(duì)于系統(tǒng)設(shè)計(jì)和仿真來(lái)說(shuō)這是一個(gè)可靠方便的方法。使用代碼自動(dòng)生成工具可以使我們減少設(shè)計(jì)時(shí)間,輕松完成對(duì)于測(cè)試架構(gòu)的重復(fù)利用,以及快速系統(tǒng)原型,從而形成一個(gè)連續(xù)的確認(rèn)和驗(yàn)證過(guò)程。
構(gòu)架的目的包括:在不同的硬件平臺(tái)上不用任何改變即可對(duì)模型重復(fù)利用;對(duì)設(shè)計(jì)測(cè)試套件模型進(jìn)行重復(fù)使用以驗(yàn)證目標(biāo)系統(tǒng);將透明模型完全集成到目標(biāo)硬件中,并創(chuàng)建一個(gè)系統(tǒng)的,快速的流程,將自動(dòng)生成的代碼集成到目標(biāo)硬件,從而使得控制工程師無(wú)需軟件工程師的參與,即可以快速測(cè)試模型(見(jiàn)圖2)。對(duì)于這個(gè)項(xiàng)目,我們使用Simulink®公司的MathWorks軟件(我們還使用了Esterel Technologies公司的SCADE套件)開(kāi)發(fā)了模型任務(wù),并使用MathWorks和Real-Time Workshop®公司的軟件實(shí)現(xiàn)自動(dòng)編碼。我們需要兩次不同的編改:在無(wú)人機(jī)中進(jìn)行測(cè)試及執(zhí)行的算法是由ANSI C代碼編寫(xiě)的,仿真無(wú)人機(jī)動(dòng)態(tài)行為的數(shù)學(xué)模型將通過(guò)LabVIEW仿真接口工具包轉(zhuǎn)換至NI LabVIEW軟件動(dòng)態(tài)庫(kù)中。
圖2: 基于模型的開(kāi)發(fā)流程
在最終的系統(tǒng)中,我們使用多個(gè)LabVIEW I/O模塊來(lái)仿真一些無(wú)人機(jī)航空電子和邏輯傳感器以及激勵(lì)器接口。
LabVIEW Real-Time PXI
PXI 是一個(gè)基于PC的平臺(tái),可用于測(cè)試,測(cè)量和控制,能夠在不同的接口和總線中提供高帶寬和超低的執(zhí)行延時(shí)。在這個(gè)案例中,PXI需要在一個(gè)復(fù)雜的無(wú)人機(jī)模型中運(yùn)行,該模型會(huì)在實(shí)時(shí)中以動(dòng)態(tài)庫(kù)的形式被執(zhí)行。 在系統(tǒng)中使用PXI模塊能讓我們使用無(wú)人機(jī)上完全一樣的接口進(jìn)行HIL仿真。所以,我們會(huì)以現(xiàn)場(chǎng)實(shí)驗(yàn)完全相同的配置驗(yàn)證GNC算法處理單元。這對(duì)于一些使用純仿真不足以捕捉所有硬件相關(guān)問(wèn)題(例如信號(hào)噪音,錯(cuò)誤和同步問(wèn)題)的系統(tǒng)來(lái)說(shuō)是十分重要的。
GPS仿真器
通過(guò)Spirent GSS8000 GPS仿真器,我們能夠仿真并生成用戶(hù)選擇的GNSS星座衛(wèi)星所發(fā)出的相同的射頻信號(hào)。這些信號(hào)會(huì)以飛行實(shí)驗(yàn)相同的方式傳送到無(wú)人機(jī)上真實(shí)的GPS傳感器,并能仿真慣性傳感器(加速度計(jì)和回轉(zhuǎn)儀)。我們可以指定不同的情況,降級(jí)信號(hào),指定天線模式及模擬IMU傳感器錯(cuò)誤。
板載處理單元
我們?cè)趯?shí)時(shí)操作系統(tǒng)(QNX或VxWorks)中運(yùn)行一個(gè)PC/104單元,操作系統(tǒng)中包含了算法和控制策略,用于測(cè)試自動(dòng)代碼生成工具和集成架構(gòu)創(chuàng)建的代碼的完成。我們?cè)诂F(xiàn)場(chǎng)實(shí)驗(yàn)的真實(shí)無(wú)人機(jī)中也使用了相同的單元。
可視化
我們可以使用Simulink External Mode軟件對(duì)無(wú)人機(jī)進(jìn)行調(diào)試。通過(guò)這個(gè)軟件,我們可以監(jiān)測(cè)用戶(hù)需要實(shí)時(shí)知曉的信號(hào)值。此外我們可以改變嵌入式處理單元中所執(zhí)行算法的參數(shù)。在操作中所使用的界面,與控制工程師在仿真設(shè)計(jì)算法時(shí)所使用的界面完全一樣。由此,整個(gè)測(cè)試環(huán)境完全透明,而且能以同現(xiàn)場(chǎng)測(cè)試一樣的方式進(jìn)行HIL測(cè)試,從而大幅減少開(kāi)發(fā)時(shí)間。
結(jié)果
對(duì)比飛行遙測(cè)和使用同樣的GNC算法的HIL仿真,可以表明HIL的精準(zhǔn)性和與真實(shí)測(cè)試結(jié)果的相似性。
我們?cè)谝患芨难b過(guò)的無(wú)線電控制的直升飛機(jī)上集成了幾個(gè)傳感器(加速度計(jì),回轉(zhuǎn)儀,磁力計(jì),GPS和一個(gè)高度計(jì))和一個(gè)處理單元(見(jiàn)圖3),將其轉(zhuǎn)變成一架無(wú)人機(jī),進(jìn)行飛行測(cè)試。
圖3:實(shí)驗(yàn)中使用的基于CB5000 RC直升機(jī)改裝而成的無(wú)人機(jī)
無(wú)人機(jī)在沒(méi)有過(guò)沖或任何一個(gè)永久誤差的情況下,達(dá)到了水平面要求的參考值(見(jiàn)圖4和圖5)。HIL仿真和真實(shí)的飛行測(cè)試結(jié)果極其一致。
圖4:北方位置對(duì)比結(jié)果
圖5: 西方位置對(duì)比結(jié)果
結(jié)論
HIL環(huán)境非常適用于測(cè)試包含真實(shí)硬件的整個(gè)系統(tǒng)。使用NI PXI,我們?cè)趯?shí)時(shí)狀態(tài)下以低延時(shí)仿真了一個(gè)復(fù)雜的無(wú)人機(jī)模型,并完美模擬了航空設(shè)備界面。
這個(gè)環(huán)境能檢測(cè)出軟件仿真中無(wú)法顯示的錯(cuò)誤,從而避免現(xiàn)場(chǎng)實(shí)驗(yàn)意外的發(fā)生。因?yàn)榭刂乒こ處熢谠O(shè)計(jì),開(kāi)發(fā)和驗(yàn)證過(guò)程中也會(huì)使用相同的可視化和調(diào)試工具,由此可以快速重復(fù)循環(huán),減少開(kāi)發(fā)時(shí)間。