閆翔
(西北大學信息科學與技術學院 陜西省西安市 710000)
飛控設備是無人機機載設備的重要組成部分。無人機飛控設備的運行狀況對無人機的安全與性能有著重要影響。飛控設備運行異常或出現故障,將嚴重影響無人機運行的安全性、可靠性。受到飛行環境因素的影響及零部件老化等因素的影響,無人機飛控設備的構件易發生故障。此外,滯空時間的延長也使無人機飛控設備發生故障的可能性有所增加。飛控設備作為一種典型的閉環非線性控制系統,其中一個環節出現問題,將會影響整個無人機系統的飛行安全,因此對飛控設備的可靠性要求較高。為了提升無人機飛控設備的可靠性、生存性、維護性,對飛控設備的檢測進行研究十分重要。
飛控設備是無人機的核心部件,具有飛行控制、自主導航等多項功能。飛控設備的諸多核心功能均由無人機飛行控制軟件實現。飛控設備包含硬件部分和軟件部分,機箱、電源等屬于硬件部分;軟件部分則包含基于實時操作系統的控制軟件和前后臺式控制軟件。在結構方面,無人機分控設備包括傳感器子系統、飛行控制計算機子系統、伺服動作子系統等。無人機飛控設備的輸出部分由舵面位置與無線電遙測構成,輸入部分則由傳感器信號與無線電遙控指令構成。飛行控制、飛行制導、飛行管理共同構成無人機飛控設備系統。
飛控設備系統的功能為確保無人機飛行軌跡的準確性,并確保無人機準確跟蹤預定飛行軌跡。其核心功能在于以不同姿態角信號反饋為基礎實現無人機飛行姿態的穩定控制,構成無人機飛行姿態穩定控制回路。飛控設備制導系統可對無人機飛行運動軌跡進行準確控制,確保無人機飛行時保持預定高度,實現對無人機航向、航跡及地面滑跑航向的控制。飛控設備的傳感器可探測到相對目標的幾何關系和側偏等參數,通過傳感器與制導系統的結合,進一步按照無人機制導要求及規律形成指令,將指令傳輸至飛行姿態穩定控制回路。飛行姿態穩定控制回路接收到制導指令信號后可對無人機方向舵、升降舵、副翼舵進行控制,從而實現無人機姿態、航向、航跡的改變,不僅可以確保無人機以為足夠的準確度飛行,還能夠使無人機更好地追蹤相對目標。
飛控設備是無人機的核心部件,承載著無人機飛行控制、自主導航等諸多核心功能,而飛控設備系統軟件則具有實時多任務調度管理功能。無人機飛控設備的軟件主要具有數值計算、硬件控制、安全保護、通訊、錯誤檢測、錯誤恢復等具體功能。主要模塊涉及傳感器信息接收、控制率解算、輸出控制執行、糾偏控制執行、滑行糾偏控制、自主導航等幾大模塊。因無人機飛控設備系統軟件實時性要求高,在檢測時需重點驗證程序的執行時間是否滿足系統規定的實踐要求;因無人機飛控設備系統軟件安全程度要求高,在檢測時需進行充分測試。

表1:飛控設備系統軟件的設計及檢測之間的關系

表2:飛控設備系統軟件單元測試中接口測試注意事項
無人機飛控設備系統軟件的檢測是為了確保無人機飛控設備系統軟件的質量,測試應盡早介入系統開發過程中。無人機分控設備系統軟件測試首先需明確建立設計與測試之間的測試模型。極限編程思想認為測試應貫穿于開發的全過程。因此借助改進的V 模型可將測試引入開發過程。傳統V 模型的劃分較為簡單清晰,即先編碼、后測試。但在軟件實際開發過程中,比較適宜的方法是開發一段進行一次測試,再開發一段再進行一次測試,借助改進的V 模型進行編碼與測試應反復輪換,實現編碼與測試的“混沌狀態”,避免所有編碼完成后再次開展單元測試。作為一種軟件開發通常采用的模式,結合無人機飛控設備系統的軟件測試的特點,在無人機飛控設備檢測中可嘗試應用改進的V 模型進行飛控設備系統軟件檢測,具體的測試方案主要有需求分析階段的測試、概要設計階段的測試、詳細設計階段的測試,測試的執行過程則包含系統檢測、集成檢測、確認檢測。與此同時,檢測過程還包含1 個單元測試與編碼的混合階段,即混沌狀態。改進V 模型將無人機飛控設備系統軟件的設計及檢測之間的關系如表1 所示。
無人機飛控設備系統軟件的單元檢測涉及4 個部分。其中飛控設備系統軟件單元測試的基礎是模塊接口測試。這一部分測試的目的在于檢測數據是否能夠正確流入模塊或流出模塊,通過這一部分的測試,其他單元檢測任務才有意義。單元檢測首先應進行接口測試,具體注意事項見表2;其次進行局部數據結構檢測,這一部分測試的目的是檢測臨時存儲在模塊內的數據執行程序時是否正確、完整,因飛控設備系統軟件運行錯誤發生的根源多在于局部數據結構,故檢測時應力求發現不合適或不相容問題、變量初始化問題、變量無初值問題、變量省缺值錯誤問題、不正確變量名問題、地址異常問題。除上述檢測外,進行單元測試時需查清全局數據對單元模塊產生的影響。基于整體測試模型可知無人機飛控設備系統軟件單元測試需緊接編碼之后,源程序編制完成后,即進行復審,復審完成后進行編譯檢查,編譯檢查結束后進行單元測試。無人機飛控設備系統軟件的單元檢測首先應針對代碼進行靜態測試,基于整個代碼的內容與性質設計測試的具體內容,設計動態黑盒與動態白盒測試內容后開始執行測試,每測試一次便依據測試中發現的問題修改代碼,每次修改代碼后重復進行上述單元測試過程,發現問題后再次進行代碼修改,不斷反復“測試-修改”模式,直至符合軟件需求。
完成無人機飛控設備系統軟件單元測試后,需開展集成測試。無人機飛控設備系統軟件集成檢測主要涉及模塊內檢測、模塊間檢測2 個部分。模塊內集成檢測與模塊間集成檢測的重點為分配主機平臺、目標平臺的工作內容。無人機飛控設備系統軟件集成測試時首先對主機平臺軟件靜態進行檢驗,分析安全性編碼與數據流、信息流等指標,并對流程結構進行判斷,然后定義軟件度量模型。完成上述操作后依據度量模型分析度量,執行插裝代碼后分析動態覆蓋率,后基于Testbed 分析歷史文件獲取碼動態執行信息,詳見圖1。無人機飛控設備系統軟件的集成檢測的集成級別有所不同,其中越高級別的集成對目標環境的依賴越強,越低級別的軟件集成在主機平臺上完成則更具優勢。飛控設備系統軟件的集成檢測過程與主機平臺軟件集成檢測過程大致一致,有所不同的是由無人機飛控設備系統軟件宿主/目標機平臺的軟件集成檢測由目標機完成執行部分,可選擇軟件插裝也可選擇硬件插裝,宿主與目標機交叉編譯完成編譯部分。在無人機飛控設備系統軟件集成檢測中,基于有效的交叉測試策略能夠提高測試水平與測試效率。值得注意的是正確使用LDRA-Testbed/TBrun 測試工具對無人機飛控設備系統軟件集成檢測也尤為重要。基于LDRA-Testbed/TBrun 進行無人機飛控設備系統軟件集成檢測流程如下:
(1)首先使主機環境執行靜態測試;
(2)插裝軟件代碼準備進行動態覆蓋測試,基于源碼執行主機環境功能測試,發現軟件錯誤后及時予以修正;
(3)插裝軟件代碼下進行動態覆蓋率檢測,基于所要求的覆蓋率修正軟件錯誤;
(4)在目標環境下使用源碼執行功能測試,修正軟件錯誤、測試腳本錯誤,確認目標環境下軟件測試的正確;
(5)使用插裝后的軟件代碼重復進行覆蓋率測試,添加測試用例,檢測軟件覆蓋率有無改變。
飛控設備系統軟件集成檢測的多數測試均在主機環境下執行,最終確定檢測結果后,進行最后系統測試時移植至目標環境。主機環境到目標環境的成功移植是進行軟件交叉測試的基礎,有利于提高軟件質量和軟件維護。

圖1:飛控設備系統軟件集成檢測流程

圖2:無人機飛控設備作動器檢測原理
無人機飛控設備中的作動器是由舵機和助力器組成的,由控制律提供輸出信號,由線位移傳感器測得輸出信號。作為高階非線性系統,無人機飛控設備作動器模型可采用二階線性作動器環節、位置限制環節、速率限制環節的組合予以表示。飛控設備的作動器檢測目的在于發現作動器的運行異常和故障情況,進一步分析作用器故障的性質、程度。飛控設備作動器檢測的優劣主要取決于檢測的實時性與檢測的準確性,即作動器檢測的時間要短,檢測的需警率與檢測的漏報率要低。作動器檢測涉及的方法有直接等價空間法、暫態等價空間法、多余度等價空間法,檢測原理如圖2 所示。在飛控設備作動器檢測中,故障預警信號產生后故障估計模塊能夠快速準確地針對故障預警分析出故障的性質與程度。
故障估計的實時性與估計的準確性對重構后的飛控設備系統性能可產生直接影響,在作動器檢測重點是十分重要的環節。因作動器卡死故障對無人機的影響很大,故進行作動器檢測時對作動器卡死故障的故障估計結果要求更高,一方面要求故障估計過程要快,一方面要求故障估計分析結果要準確。與此同時,應準確判斷作動器發生的故障時卡死故障、增益變化故障還是偏差故障。鑒于無人機飛控設備作動器輸出信號中存在噪聲,故需要對作動器輸出的估計值進行濾波操作,確保獲取更為真實、準確地估計結果。第一,可對飛控設備作動器實際輸出進行滑動窗口濾波;第二可對估計值進行滑動窗口濾波并在一個估計周期內進行估計值的均值計算。在獲得故障參數估計值后,將估計值與故障性質判斷門限進行比較即可確定作動器故障的類型,判斷作動器發生何種故障。
現階段,伴隨科學技術的快速發展,一些新技術與新產品的不斷涌現,使得無人機飛控設備的應用技術有了新的突破和新的發展。作為一個開放式、集成化、模塊化的系統,飛控設備的檢測和故障診斷尤為重要,基于傳感器參數的校準構建具有較好的通用性與較強的擴展能力的檢測方案有利于解決無人機飛控設備檢測問題,借助適配器接口應用到更多型號無人機飛控設備的檢測中也有利于檢測方案的應用推廣。但鑒于無人機飛控檢測尚處于不斷發展和完善的階段,本文提出的檢測思路上存在一些不完善的地方,希望在后續的研究工作中可以做進一步的改進,在改進V 模型的基礎上進一步細化,完善目標機的集成測試、系統測試與交叉測試,還應考慮應用多元化的測試工具,大大提高飛控設備的檢測效率。