高尚文,祖家奎,陶德臣
(南京航空航天大學 自動化學院,南京 211106)
在無人機系統的研制過程中,系統綜合檢測與仿真是兩個重要環節.無人機系統主要由飛行控制系統、傳感器系統、動力系統、執行機構、通信鏈路等組成,系統綜合檢測既包括對各分系統的測試,同時對整機系統也要進行考量.通過測試,可以及時發現機載設備存在的問題,為無人機正常飛行提供安全保證.仿真將部分機載設備接入仿真環境,通過一系列飛行科目的模擬,可以驗證飛行控制律、控制邏輯,數據鏈路通信狀態以及設備穩定性.仿真能夠更真實的測試無人機系統的性能,對于提高飛控系統的設計效率、降低設計過程中可能出現的風險,發揮著重要作用[1].
在通常的研制過程中,綜合檢測系統與仿真系統往往作為兩個獨立系統,實際上兩個系統在硬件資源上有很高的重復性,獨立開來不僅造成資源的浪費,使用時也不太方便.本文所設計的系統充分考慮了綜合檢測和仿真兩大功能需求:重新進行硬件資源設計,通過軟件程序實現相應功能,滿足綜合檢測和仿真的要求.
本文首先確定綜合檢測與仿真兩大功能的共性需求,提出系統整體設計方案.接著從硬件、系統通信協議和軟件3 個方面詳細介紹系統的設計,最后搭建應用環境進行驗證.
考慮綜合檢測和仿真的實際需要,其共性的需求如下[2–4]:
1)系統的軟硬件應采用模塊化設計,盡量減少相互間的耦合性.
2)系統模擬量、開關量、頻率/脈沖、通信接口等硬件資源應足夠豐富,滿足不同類型、不同數量設備的測試要求.
3)系統應有電源轉換模塊,在測試或仿真時向其他設備供電.
4)系統應具備數據記錄功能,方便測試或仿真完畢后的數據分析.
5)系統在綜合檢測時不能改變被測試系統的軟硬件結構;仿真時可以采用外部模型,系統具備網絡通信能力.
系統對模擬量信號、開關量信號、頻率/脈沖信號以及通信接口等硬件資源的需求如表1所示.

表1 系統硬件接口資源數目
綜合檢測與仿真系統總體結構如圖1所示,系統以仿真計算機為主體,搭配飛控計算機、地面站、仿真控制臺、仿真視景、待測試設備等[5,6]實現綜合檢測和仿真兩大主要功能.仿真計算機主要是模擬無人機各個設備的接口特性,提供無人機模型,傳遞無人機飛行狀態信息.飛控計算機作為飛控程序實現的硬件載體,對仿真計算機傳入的無人機狀態信息進行解算,同時響應地面站的遙控遙測指令,發出相應控制變距控制無人機姿態.飛控計算機與仿真計算機之間按照實際設備的定義,通過串口連接,進行數據通信.仿真計算機提供無人機飛行狀態信息,飛控計算機接收解算后反饋控制信息.地面站實時顯示無人機飛行狀態信息,發送飛行控制指令,完成預定操縱.也可對飛控機參數配置進行在線調整,飛行航線在線設計.仿真控制臺實時顯示仿真計算機的狀態信息,控制仿真計算機的運行狀態.

圖1 系統整體方案圖
針對綜合檢測功能,設計了3 個子功能:自檢測、設備檢測、飛控系統測試.自檢測是指仿真計算機自身工作狀態的測試,系統以仿真計算機為主體,工作前需判斷仿真計算機工作狀態.設備檢測指對單個設備工作狀態的測試,如舵機、慣導等設備的測試.飛控系統測試是指無人機整體系統的測試,仿真計算機與飛控計算機連接,通過控制飛控計算機對機載設備的輸出信號達到系統綜合檢測的目的.
針對仿真功能,仿真計算機內部程序模擬出傳感器設備接口特性、執行機構.無人機動力學模型可由仿真機內部實時解算模擬或采用外部動力模型,常見的有Xplane 軟件[7,8]、Flightgear 軟件等,這兩款軟件既可作為外部模型進行實時解算,也可作為仿真視景實時顯示無人機運行狀態.
仿真計算機的設計是本系統設計的核心,采用Power PC 處理器作為硬件平臺,VxWorks 實時操作系統作為軟件運行平臺.Power PC 處理器因其穩定性在航空航天領域使用較多,課題組使用該處理器已經開發了飛控計算機等設備,積累了一定經驗.系統采用模塊化設計,每個功能模塊對應一塊板卡,每塊板卡通過機箱上的導槽插入機箱內,通過64 芯連接器插在機箱內背板上的64 芯連接器插座上.這樣設計將各個資源模塊按照功能不同劃分到不同的板卡,方便設備測試和維護,使用更具靈活性,擴展性能強.
圍繞綜合檢測與仿真的設計目標,系統具備以下功能:
1)單個設備的檢測以及無人機整機系統的綜合檢測.根據設備的不同特性輸入不同的信號源激勵,觀察設備狀態.
2)傳感器及其他設備接口特性的驗證.傳感器等設備主要通過串口與飛控機進行通信,仿真計算機通過模擬通信過程驗證接口特性.
3)導航/制導/控制系統的驗證.通過一系列飛行科目的模擬,從地面站、仿真視景以及數據記錄器的數據分析,驗證控制效果.
4)數據分析功能.在測試或仿真結束后,對仿真計算機內部數據記錄器里的數據進行分析,對結果進行定量判斷.
2.1.1 仿真計算機
仿真計算機遵循模塊化設計的思想,分為6 個模塊:CPU 模塊、頻率測量模塊、模擬信號模塊、開關量信號模塊、通信模塊、電源模塊.在硬件上,每個模塊單獨成板,板上設計一塊FPGA 或CPLD,掛靠在背板上的LBC 總線上,CPU 可通過操作LBC 總線讀取各模塊采集到的數據,模塊圖如圖2,實物圖如圖3.
各模塊具體設計和包含資源如下:
1)CPU 模塊:采用Power PC 處理器MPC8309,VxWorks 操作系統,包含2 個10-100 MBPS 自適應標準網絡接口,1 個網口用于下載仿真程序,另一個網口用于網絡通信.CPU 模塊還包括數據記錄器,記錄仿真過程數據;2 路獨立的標準RS232 串行接口,用于同仿真控制臺通信和調試使用.
2)頻率測量模塊:板上設計一塊FPGA,頻率脈沖信號和PWM 輸入信號由光耦芯片隔離并整形輸入到FPGA 內,FPGA 由CPU 給出命令自動測量,PWM 輸出信號由光耦芯片隔離輸出.此模塊包含12 路PWM輸入,滿足FUTABA 遙控器特性;12 路PWM 輸出,滿足航模舵機的接口特性;4 路頻率測量,其中2 路輸入、2 路輸出,測量范圍為1 Hz~1 kHz,測量的信號類型包括方波、三角波、正弦波.

圖2 仿真計算機硬件模塊圖

圖3 仿真計算機實物圖
3)模擬信號模塊:板上設計一塊FPGA,模擬量輸入通道由兩片AD7608 芯片組成,模擬量輸出通道由4 片AD5764 芯片組成.FPGA 根據CPU 的需求自動采集AD 變換器所有通道的數據,同時也將CPU 輸入的DA 轉換數據按DA 的數據和命令格式輸出.此模塊包含16 通道模擬量輸入輸出,輸入輸出范圍為?10~10 V 或?15~15 V,可通過內部跳線設置.
4)開關量信號模塊:開關量輸出信號,使用兩個8 位鎖存器芯片74LS373 產生16 位TTL 輸出數字信號,再通過光耦芯片隔離驅動成+27 V/低電平模式或地/開模式.開關量輸入信號,通過光耦芯片隔離轉換成TTL 電平,再由兩片8 位的三態輸入控制芯片74L-S245輸入到LBC 的數據總線.輸入輸出譯碼控制使用一片CPLD 芯片EPM7128,CPLD 掛在背板的LBC 總線上.此模塊包含16 路開關量輸入輸出,可通過跳線設置+27 V/低電平模式或地/開模式.
5)通信模塊:包含12 路串口,其中6 路為RS232/RS422,可通過跳線選擇,4 路固定為RS232,2 路固定為RS422/RS485,可通過跳線選擇,還包含4 路CAN總線接口.串口控制器和CAN 控制器都采用FPGA IP 核.由于12 個串口控制器IP 核和4 個CAN 控制器IP 核需要的FPGA 資源較大,這里需選用EP3C25F25-6UBG.
6)電源模塊:輸入電壓范圍為18~36 V,內部包含DC-DC 隔離電源模塊將電壓轉換供仿真計算機內部芯片和外部設備使用.內部使用的±15 V 和+5 V 選用10 W 小功率模塊,提供給外部輸出電源選用20 W模塊,可輸出+5 V,+12 V,+27 V 和±15 V 不同大小的電壓.
2.1.2 飛控計算機
本系統所采用的機載飛行控制計算機為自行設計和研制,如圖4所示.

圖4 飛控計算機實物圖
該型飛行控制計算機采用PowerPC 處理器,由CPU 板卡、綜合信號板卡、資源擴展板卡三塊板卡組成,包括1 路網絡通信、12 路串口通信、2 路CAN 通信、8 路模擬量輸入、4 路模擬量輸出、8 路數字量輸入、12 路數字量輸出、2 路頻率量輸入,內部自帶數據記錄器[7].
2.1.3 輔助設備
除上述仿真計算機和飛控機外,系統硬件還包括兩臺PC 機,兩個MOXA 設備(USB 轉串口供PC 機使用),串口轉接線兩條,基于上述硬件配置可完成系統搭建.
系統通信協議主要包括兩部分,一是仿真系統與仿真控制臺之間的通信,采用串行通信;二是仿真系統與仿真視景之間的通信,采用網絡通信(UDP 通信).
2.2.1 仿真控制臺通信協議
仿真控制臺采用如下通信形式:采用RS232 串行通信;波特率不超過38400 bps、8 位數據位、1 位停止位、無校驗;采用二進制碼,多字節數據傳送時,低字節在前、高字節在后.上行數據定義為仿真控制臺軟件向仿真/測試設備發送的數據流;下行數據定義為仿真/測試設備向仿真控制臺軟件發送的數據流.通信數據包格式如圖5.

圖5 通信數據包格式定義
通信數據包由5 部分組成:同步碼、有效數據長度、幀識別碼、有效數據區、和校驗.同步碼2 個字節(0xEB,0x90),作為數據包開始的標志;有效數據長度為協議第4 部分有效數據的字節數;幀識別碼用于區分不同的仿真設備;有效數據包括指令信息和各設備的狀態信息;和校驗采用8 位和格式校驗,校驗數據不包括數據包同步頭(0xEB,0x90)的2 個字節,從字節索引號2 至N+3 數據進行校驗,校驗結果的低位在N+4.
2.2.2 仿真視景通信協議
UDP 網絡通信采用標準的UDP 網絡通信協議,仿真計算機為客戶端,IP 地址:192.168.1.1,端口號:4000.仿真視景為服務器端,IP 地址:192.168.1.2,端口號:4001.上行數據定義為仿真視景向仿真計算機發送的數據流,下行數據定義為仿真計算機向仿真視景發送的數據流.UDP 通信的數據包格式如圖6所示.

圖6 UDP 通信幀結構
幀同步碼為4 個字節,幀識別碼為1 個字節,作為下行數據幀開始發送的標志;幀數據區為固定長度字節數,幀結束標識碼為1 字節,自行設定.
2.3.1 測試與實時仿真軟件
測試與實時仿真軟件在Workbench 平臺下開發,基于VxWork6.9 操作系統.VxWorks 是一個運行在目標機上的高性能和可剪裁的嵌入式實時操作系統,具備以下特點:(1)多任務;(2)有線程優先級;(3)多種中斷級別[9].軟件整體可分為應用管理層、測試/仿真執行層、設備驅動層、硬件設備層.應用管理層負責與仿真控制臺進行交互,根據需要調用測試/仿真執行層的各功能模塊.測試/仿真執行層負責測試及仿真功能的實現,在仿真計算機的硬件資源的基礎上編程模擬出各種設備接口特性,模型的實時解算等.此部分包括初始化模塊、自檢測及設備檢測模塊、傳感器仿真模塊、舵機仿真模塊、發動機模型模塊、無人機模型模塊.設備驅動層包括底層硬件的驅動程序和接口,供測試/仿真執行層調用.硬件設備層包括各種信號量物理接口,依靠這些接口與其他設備連接.VxWorks 基于多任務調度,每個模塊設置為一個單獨任務,由操作系統調用.各模塊之間除了數據交換外互相獨立、自成體系,降低了程序的耦合性,便于程序調試和后期維護、擴展和修改,同時也增加了程序的可讀性[10].總體模塊如圖7所示.
2.3.2 仿真控制臺軟件
仿真控制臺主要功能是作為上位機在檢測或仿真過程中發送指令,檢測各設備狀態信息,其設計同樣基于模塊化設計的思想,開發平臺為Qt.總體分為通信處理模塊、指令控制模塊、激勵信號注入模塊、故障注入模塊、數據顯示模塊等五部分,結構圖如圖8所示.
仿真控制臺軟件的主要功能模塊如下:
1)通信處理模塊:仿真控制臺與仿真計算機之間采用串行通信,該部分實現兩者之間信息發送和接收的建立,并對接收的數據進行解幀,解幀后的數據供其他模塊使用.
2)指令控制模塊:該模塊主要作用是通過離散式上傳指令的方式進行仿真計算機功能的控制,包括運行模式的選擇,不同模式下控制指令發送等.
3)激勵信號注入模塊:在綜合測試模式下,對不同待測設備施加不同激勵信號,觀察設備運行狀態,采集設備回饋信號.
4)故障注入模塊:在仿真模式下,模擬設備的故障狀態,觀察無人機系統的應對反應.故障包括:數據鏈路斷開,傳輸數據頻率變化、設備數據異常等.
5)數據顯示模塊:主要是通過表格、曲線等比較直觀的形式顯示測試或仿真過程中設備的數據.

圖7 仿真計算機軟件結構

圖8 仿真控制臺軟件結構圖
系統包含硬件設備:仿真計算機、飛控計算機、待測試設備.軟件:地面站軟件、仿真控制臺軟件、數據解碼與分析軟件.應用環境搭建參照圖1系統整體方案圖即可完成,一臺PC 機運行地面站軟件,通過PC 串口與飛控計算機通信.飛控計算機與仿真計算機之間的通信也通過串口進行,設備的連接需參考實際定義.另一臺PC 機運行仿真控制臺軟件,同樣通過串口與仿真計算機通信,監控仿真計算機運行狀態.仿真控制臺界面如圖9.
綜合檢測系統驗證方案如下:
1)將仿真計算機與飛控系統按相應設備定義連接,使用1 臺PC 機運行仿真控制臺軟件;
2)仿真控制臺選擇“自檢測”模式,首先測試仿真計算機工作狀態;
3)仿真控制臺切換至“設備測試”模式,對單個設備進行檢測;
4)仿真控制臺切換至“飛控檢測”模式,對整體系統進行檢測,測試環境搭建如圖10所示.

圖10 測試環境圖
如圖11所示為舵機測試過程中仿真控制臺顯示情況,通過仿真控制臺將舵機的位置依次設置為“5”、“6”、“7”、“8”、“9”、“10”、“11”,可以看出反饋值與設定值相同,舵機工作狀態正常.
以無人直升機為例,仿真系統驗證方案如下:
1)使用兩臺PC 機,一臺PC 機運行地面站軟件,另一臺PC 機運行仿真視景軟件和仿真控制臺軟件,這里仿真視景軟件選用Xplane 軟件;
2)根據飛控程序和仿真程序對各個設備的串口定義,飛控計算機和仿真計算機之間通過串口轉接線纜以及轉接頭連接;
3)上電運行,仿真控制臺發送“仿真”指令,系統進入仿真模式.通過地面站控制無人直升機從起飛懸停到小機動飛行來觀察分析仿真效果.仿真實物搭建如圖12所示.

圖11 測試效果圖

圖12 仿真環境圖
如圖13所示為地面站設計的航線飛行過程,結果顯示飛行軌跡基本與航線一致.

圖13 地面站飛行效果圖
經過測試驗證,各軟件以及各仿真設備運行正常,無人機飛行過程中狀態信息以及各個仿真設備信息在地面站和仿真控制臺中實時顯示,整個仿真系統能很好地完成飛行控制系統的驗證工作.
根據仿真計算機數據記錄器的記錄數據,進行數據解轉碼、數據分析,如圖14和圖15.

圖14 數據轉碼軟件

圖15 數據分析軟件
本文立足于實際工程需要,設計出一套適用于無人機飛行控制系統驗證和綜合檢測的系統.在分析綜合檢測和仿真兩大功能共性需求的基礎上提出以仿真計算機為主體的設計方案.著重介紹了仿真計算機的硬件結構、資源配置,測試/仿真軟件設計框架和通信協議設計,最后以實際測試結果驗證系統的合理性.通過最后的仿真結果可以看出,該系統性能可靠、操作靈活性強,具有很好的實際應用價值.