閆翔
(西北大學信息科學與技術(shù)學院 陜西省西安市 710000)
飛控設(shè)備是無人機機載設(shè)備的重要組成部分。無人機飛控設(shè)備的運行狀況對無人機的安全與性能有著重要影響。飛控設(shè)備運行異?;虺霈F(xiàn)故障,將嚴重影響無人機運行的安全性、可靠性。受到飛行環(huán)境因素的影響及零部件老化等因素的影響,無人機飛控設(shè)備的構(gòu)件易發(fā)生故障。此外,滯空時間的延長也使無人機飛控設(shè)備發(fā)生故障的可能性有所增加。飛控設(shè)備作為一種典型的閉環(huán)非線性控制系統(tǒng),其中一個環(huán)節(jié)出現(xiàn)問題,將會影響整個無人機系統(tǒng)的飛行安全,因此對飛控設(shè)備的可靠性要求較高。為了提升無人機飛控設(shè)備的可靠性、生存性、維護性,對飛控設(shè)備的檢測進行研究十分重要。
飛控設(shè)備是無人機的核心部件,具有飛行控制、自主導航等多項功能。飛控設(shè)備的諸多核心功能均由無人機飛行控制軟件實現(xiàn)。飛控設(shè)備包含硬件部分和軟件部分,機箱、電源等屬于硬件部分;軟件部分則包含基于實時操作系統(tǒng)的控制軟件和前后臺式控制軟件。在結(jié)構(gòu)方面,無人機分控設(shè)備包括傳感器子系統(tǒng)、飛行控制計算機子系統(tǒng)、伺服動作子系統(tǒng)等。無人機飛控設(shè)備的輸出部分由舵面位置與無線電遙測構(gòu)成,輸入部分則由傳感器信號與無線電遙控指令構(gòu)成。飛行控制、飛行制導、飛行管理共同構(gòu)成無人機飛控設(shè)備系統(tǒng)。
飛控設(shè)備系統(tǒng)的功能為確保無人機飛行軌跡的準確性,并確保無人機準確跟蹤預定飛行軌跡。其核心功能在于以不同姿態(tài)角信號反饋為基礎(chǔ)實現(xiàn)無人機飛行姿態(tài)的穩(wěn)定控制,構(gòu)成無人機飛行姿態(tài)穩(wěn)定控制回路。飛控設(shè)備制導系統(tǒng)可對無人機飛行運動軌跡進行準確控制,確保無人機飛行時保持預定高度,實現(xiàn)對無人機航向、航跡及地面滑跑航向的控制。飛控設(shè)備的傳感器可探測到相對目標的幾何關(guān)系和側(cè)偏等參數(shù),通過傳感器與制導系統(tǒng)的結(jié)合,進一步按照無人機制導要求及規(guī)律形成指令,將指令傳輸至飛行姿態(tài)穩(wěn)定控制回路。飛行姿態(tài)穩(wěn)定控制回路接收到制導指令信號后可對無人機方向舵、升降舵、副翼舵進行控制,從而實現(xiàn)無人機姿態(tài)、航向、航跡的改變,不僅可以確保無人機以為足夠的準確度飛行,還能夠使無人機更好地追蹤相對目標。
飛控設(shè)備是無人機的核心部件,承載著無人機飛行控制、自主導航等諸多核心功能,而飛控設(shè)備系統(tǒng)軟件則具有實時多任務(wù)調(diào)度管理功能。無人機飛控設(shè)備的軟件主要具有數(shù)值計算、硬件控制、安全保護、通訊、錯誤檢測、錯誤恢復等具體功能。主要模塊涉及傳感器信息接收、控制率解算、輸出控制執(zhí)行、糾偏控制執(zhí)行、滑行糾偏控制、自主導航等幾大模塊。因無人機飛控設(shè)備系統(tǒng)軟件實時性要求高,在檢測時需重點驗證程序的執(zhí)行時間是否滿足系統(tǒng)規(guī)定的實踐要求;因無人機飛控設(shè)備系統(tǒng)軟件安全程度要求高,在檢測時需進行充分測試。
表1:飛控設(shè)備系統(tǒng)軟件的設(shè)計及檢測之間的關(guān)系
表2:飛控設(shè)備系統(tǒng)軟件單元測試中接口測試注意事項
無人機飛控設(shè)備系統(tǒng)軟件的檢測是為了確保無人機飛控設(shè)備系統(tǒng)軟件的質(zhì)量,測試應(yīng)盡早介入系統(tǒng)開發(fā)過程中。無人機分控設(shè)備系統(tǒng)軟件測試首先需明確建立設(shè)計與測試之間的測試模型。極限編程思想認為測試應(yīng)貫穿于開發(fā)的全過程。因此借助改進的V 模型可將測試引入開發(fā)過程。傳統(tǒng)V 模型的劃分較為簡單清晰,即先編碼、后測試。但在軟件實際開發(fā)過程中,比較適宜的方法是開發(fā)一段進行一次測試,再開發(fā)一段再進行一次測試,借助改進的V 模型進行編碼與測試應(yīng)反復輪換,實現(xiàn)編碼與測試的“混沌狀態(tài)”,避免所有編碼完成后再次開展單元測試。作為一種軟件開發(fā)通常采用的模式,結(jié)合無人機飛控設(shè)備系統(tǒng)的軟件測試的特點,在無人機飛控設(shè)備檢測中可嘗試應(yīng)用改進的V 模型進行飛控設(shè)備系統(tǒng)軟件檢測,具體的測試方案主要有需求分析階段的測試、概要設(shè)計階段的測試、詳細設(shè)計階段的測試,測試的執(zhí)行過程則包含系統(tǒng)檢測、集成檢測、確認檢測。與此同時,檢測過程還包含1 個單元測試與編碼的混合階段,即混沌狀態(tài)。改進V 模型將無人機飛控設(shè)備系統(tǒng)軟件的設(shè)計及檢測之間的關(guān)系如表1 所示。
無人機飛控設(shè)備系統(tǒng)軟件的單元檢測涉及4 個部分。其中飛控設(shè)備系統(tǒng)軟件單元測試的基礎(chǔ)是模塊接口測試。這一部分測試的目的在于檢測數(shù)據(jù)是否能夠正確流入模塊或流出模塊,通過這一部分的測試,其他單元檢測任務(wù)才有意義。單元檢測首先應(yīng)進行接口測試,具體注意事項見表2;其次進行局部數(shù)據(jù)結(jié)構(gòu)檢測,這一部分測試的目的是檢測臨時存儲在模塊內(nèi)的數(shù)據(jù)執(zhí)行程序時是否正確、完整,因飛控設(shè)備系統(tǒng)軟件運行錯誤發(fā)生的根源多在于局部數(shù)據(jù)結(jié)構(gòu),故檢測時應(yīng)力求發(fā)現(xiàn)不合適或不相容問題、變量初始化問題、變量無初值問題、變量省缺值錯誤問題、不正確變量名問題、地址異常問題。除上述檢測外,進行單元測試時需查清全局數(shù)據(jù)對單元模塊產(chǎn)生的影響?;谡w測試模型可知無人機飛控設(shè)備系統(tǒng)軟件單元測試需緊接編碼之后,源程序編制完成后,即進行復審,復審完成后進行編譯檢查,編譯檢查結(jié)束后進行單元測試。無人機飛控設(shè)備系統(tǒng)軟件的單元檢測首先應(yīng)針對代碼進行靜態(tài)測試,基于整個代碼的內(nèi)容與性質(zhì)設(shè)計測試的具體內(nèi)容,設(shè)計動態(tài)黑盒與動態(tài)白盒測試內(nèi)容后開始執(zhí)行測試,每測試一次便依據(jù)測試中發(fā)現(xiàn)的問題修改代碼,每次修改代碼后重復進行上述單元測試過程,發(fā)現(xiàn)問題后再次進行代碼修改,不斷反復“測試-修改”模式,直至符合軟件需求。
完成無人機飛控設(shè)備系統(tǒng)軟件單元測試后,需開展集成測試。無人機飛控設(shè)備系統(tǒng)軟件集成檢測主要涉及模塊內(nèi)檢測、模塊間檢測2 個部分。模塊內(nèi)集成檢測與模塊間集成檢測的重點為分配主機平臺、目標平臺的工作內(nèi)容。無人機飛控設(shè)備系統(tǒng)軟件集成測試時首先對主機平臺軟件靜態(tài)進行檢驗,分析安全性編碼與數(shù)據(jù)流、信息流等指標,并對流程結(jié)構(gòu)進行判斷,然后定義軟件度量模型。完成上述操作后依據(jù)度量模型分析度量,執(zhí)行插裝代碼后分析動態(tài)覆蓋率,后基于Testbed 分析歷史文件獲取碼動態(tài)執(zhí)行信息,詳見圖1。無人機飛控設(shè)備系統(tǒng)軟件的集成檢測的集成級別有所不同,其中越高級別的集成對目標環(huán)境的依賴越強,越低級別的軟件集成在主機平臺上完成則更具優(yōu)勢。飛控設(shè)備系統(tǒng)軟件的集成檢測過程與主機平臺軟件集成檢測過程大致一致,有所不同的是由無人機飛控設(shè)備系統(tǒng)軟件宿主/目標機平臺的軟件集成檢測由目標機完成執(zhí)行部分,可選擇軟件插裝也可選擇硬件插裝,宿主與目標機交叉編譯完成編譯部分。在無人機飛控設(shè)備系統(tǒng)軟件集成檢測中,基于有效的交叉測試策略能夠提高測試水平與測試效率。值得注意的是正確使用LDRA-Testbed/TBrun 測試工具對無人機飛控設(shè)備系統(tǒng)軟件集成檢測也尤為重要?;贚DRA-Testbed/TBrun 進行無人機飛控設(shè)備系統(tǒng)軟件集成檢測流程如下:
(1)首先使主機環(huán)境執(zhí)行靜態(tài)測試;
(2)插裝軟件代碼準備進行動態(tài)覆蓋測試,基于源碼執(zhí)行主機環(huán)境功能測試,發(fā)現(xiàn)軟件錯誤后及時予以修正;
(3)插裝軟件代碼下進行動態(tài)覆蓋率檢測,基于所要求的覆蓋率修正軟件錯誤;
(4)在目標環(huán)境下使用源碼執(zhí)行功能測試,修正軟件錯誤、測試腳本錯誤,確認目標環(huán)境下軟件測試的正確;
(5)使用插裝后的軟件代碼重復進行覆蓋率測試,添加測試用例,檢測軟件覆蓋率有無改變。
飛控設(shè)備系統(tǒng)軟件集成檢測的多數(shù)測試均在主機環(huán)境下執(zhí)行,最終確定檢測結(jié)果后,進行最后系統(tǒng)測試時移植至目標環(huán)境。主機環(huán)境到目標環(huán)境的成功移植是進行軟件交叉測試的基礎(chǔ),有利于提高軟件質(zhì)量和軟件維護。
圖1:飛控設(shè)備系統(tǒng)軟件集成檢測流程
圖2:無人機飛控設(shè)備作動器檢測原理
無人機飛控設(shè)備中的作動器是由舵機和助力器組成的,由控制律提供輸出信號,由線位移傳感器測得輸出信號。作為高階非線性系統(tǒng),無人機飛控設(shè)備作動器模型可采用二階線性作動器環(huán)節(jié)、位置限制環(huán)節(jié)、速率限制環(huán)節(jié)的組合予以表示。飛控設(shè)備的作動器檢測目的在于發(fā)現(xiàn)作動器的運行異常和故障情況,進一步分析作用器故障的性質(zhì)、程度。飛控設(shè)備作動器檢測的優(yōu)劣主要取決于檢測的實時性與檢測的準確性,即作動器檢測的時間要短,檢測的需警率與檢測的漏報率要低。作動器檢測涉及的方法有直接等價空間法、暫態(tài)等價空間法、多余度等價空間法,檢測原理如圖2 所示。在飛控設(shè)備作動器檢測中,故障預警信號產(chǎn)生后故障估計模塊能夠快速準確地針對故障預警分析出故障的性質(zhì)與程度。
故障估計的實時性與估計的準確性對重構(gòu)后的飛控設(shè)備系統(tǒng)性能可產(chǎn)生直接影響,在作動器檢測重點是十分重要的環(huán)節(jié)。因作動器卡死故障對無人機的影響很大,故進行作動器檢測時對作動器卡死故障的故障估計結(jié)果要求更高,一方面要求故障估計過程要快,一方面要求故障估計分析結(jié)果要準確。與此同時,應(yīng)準確判斷作動器發(fā)生的故障時卡死故障、增益變化故障還是偏差故障。鑒于無人機飛控設(shè)備作動器輸出信號中存在噪聲,故需要對作動器輸出的估計值進行濾波操作,確保獲取更為真實、準確地估計結(jié)果。第一,可對飛控設(shè)備作動器實際輸出進行滑動窗口濾波;第二可對估計值進行滑動窗口濾波并在一個估計周期內(nèi)進行估計值的均值計算。在獲得故障參數(shù)估計值后,將估計值與故障性質(zhì)判斷門限進行比較即可確定作動器故障的類型,判斷作動器發(fā)生何種故障。
現(xiàn)階段,伴隨科學技術(shù)的快速發(fā)展,一些新技術(shù)與新產(chǎn)品的不斷涌現(xiàn),使得無人機飛控設(shè)備的應(yīng)用技術(shù)有了新的突破和新的發(fā)展。作為一個開放式、集成化、模塊化的系統(tǒng),飛控設(shè)備的檢測和故障診斷尤為重要,基于傳感器參數(shù)的校準構(gòu)建具有較好的通用性與較強的擴展能力的檢測方案有利于解決無人機飛控設(shè)備檢測問題,借助適配器接口應(yīng)用到更多型號無人機飛控設(shè)備的檢測中也有利于檢測方案的應(yīng)用推廣。但鑒于無人機飛控檢測尚處于不斷發(fā)展和完善的階段,本文提出的檢測思路上存在一些不完善的地方,希望在后續(xù)的研究工作中可以做進一步的改進,在改進V 模型的基礎(chǔ)上進一步細化,完善目標機的集成測試、系統(tǒng)測試與交叉測試,還應(yīng)考慮應(yīng)用多元化的測試工具,大大提高飛控設(shè)備的檢測效率。