肖遠(yuǎn)鵬
(中國電子科技集團(tuán)公司第二十七研究所 河南省鄭州市 450047)
當(dāng)代航空航天事業(yè)蓬勃發(fā)展,隨著5G、半導(dǎo)體、傳感器等高新技術(shù)的發(fā)展,無人機(jī)發(fā)展也得到了科技的浸潤和推進(jìn),在軍事、民用、電力等很多行業(yè)廣泛應(yīng)用。無人機(jī)的種類也不僅只有固定翼和傳統(tǒng)直升機(jī)的形式,隨著智能化的發(fā)展,復(fù)合翼、多軸旋翼、矢量控制等多種機(jī)型相繼涌現(xiàn)。無人機(jī)的飛行控制系統(tǒng)一般包括以處理器為核心的飛控計算機(jī)、機(jī)載傳感器和伺服執(zhí)行機(jī)構(gòu)等,實現(xiàn)無人機(jī)任務(wù)設(shè)備管理、信息采集和姿態(tài)穩(wěn)定控制、導(dǎo)航信息計算和制導(dǎo)及應(yīng)急管理控制等功能。越來越多的科研人員或在校師生對無人機(jī)飛控系統(tǒng)展開研究和試驗工作,文獻(xiàn)[1]設(shè)計了一種雙DSP 作為主控制器的無人機(jī)飛行控制系統(tǒng)的軟件,將數(shù)據(jù)計算和控制飛行姿態(tài)分開,提高計算和控制效率;文獻(xiàn)[2]基于C8051F120 單片機(jī)和USOS 嵌入式實時操作系統(tǒng),采用PID 控制率實現(xiàn)姿態(tài)控制,實現(xiàn)了無人機(jī)的軌跡控制。文獻(xiàn)[3-6]都是以STM32 系列處理器為核心,在硬件、軟件、算法或仿真的一個方向進(jìn)行深耕。文獻(xiàn)[7]采用STM32F427VIT6 作為主控芯片,引入freeRTOS 實時操作系統(tǒng),實現(xiàn)任務(wù)調(diào)度,采用無線控制芯片nRF24L01+實現(xiàn)飛行器和遙控端的數(shù)據(jù)交互,實現(xiàn)了一種有效控制距離約80 米的控制系統(tǒng)。文獻(xiàn)[8]以STM32F103ZET6 控制器為核心硬件,采用自適應(yīng)算法融合多傳感器,實現(xiàn)航模的遠(yuǎn)程控制和穩(wěn)定飛行。
我單位現(xiàn)有小型特種作戰(zhàn)系列固定翼無人機(jī)、海燕系列無人機(jī)、靶機(jī)等無人機(jī)系統(tǒng),也有四、六、八等多旋翼無人機(jī)系統(tǒng);每個機(jī)型都有其對應(yīng)的飛行控制系統(tǒng),但每套飛控的設(shè)計、研制、試驗等工作需消耗大量的人力物力,針對此情況,設(shè)計一套可以適用于現(xiàn)有機(jī)型且可擴(kuò)展的飛行控制系統(tǒng)迫在眉睫。本文采用主流、貨源穩(wěn)定且功能強(qiáng)大的STM32H753 為處理器,集成電源管理模塊、組合慣導(dǎo)及空速傳感器,以單獨(dú)板卡構(gòu)成航電系統(tǒng)完成飛行控制和機(jī)載供電,采用合理的飛控軟件架構(gòu),進(jìn)行模塊化設(shè)計并分類飛控參數(shù),為研制多機(jī)型通用性飛控系統(tǒng)提供新的思路和建議。
飛控計算機(jī)包括硬件板卡、控制軟件與組合慣導(dǎo)三個部分。硬件板卡是控制軟件的載體,共同完成飛行控制律解算、傳感器數(shù)據(jù)采集、舵機(jī)指令發(fā)送、遙控數(shù)據(jù)接收、遙測數(shù)據(jù)分發(fā)、任務(wù)載荷指令轉(zhuǎn)發(fā)、飛控參數(shù)存儲等功能。組合慣導(dǎo)完成陀螺儀、加速度計、定位模塊、動靜壓傳感器等的數(shù)據(jù)采集和融合,解算出無人機(jī)的三維位置信息與姿態(tài)參數(shù)。
圖1:系統(tǒng)信息流程圖
圖2:控制回路結(jié)構(gòu)和信息流程圖
圖3:半實物仿真系統(tǒng)組成
飛控計算機(jī)采集組合慣導(dǎo)給出的三維位置數(shù)據(jù)并解算用于飛機(jī)的導(dǎo)航,結(jié)合預(yù)先裝訂的航點航線,根據(jù)導(dǎo)航公式計算輸出引導(dǎo)控制指令,引導(dǎo)飛機(jī)按既定航路飛行;引導(dǎo)控制指令和俯仰角、滾轉(zhuǎn)角、航向角、空速、氣壓高度等數(shù)據(jù)用于飛機(jī)的飛行控制律解算。解算后的數(shù)據(jù)根據(jù)配置好的飛機(jī)類型與該類型飛機(jī)的飛行階段和對應(yīng)的飛行控制解算公式,輸出控制指令驅(qū)動執(zhí)行機(jī)構(gòu),分別控制副翼、升降舵、方向舵的偏轉(zhuǎn)角度或電機(jī)、發(fā)動機(jī)的轉(zhuǎn)速,實現(xiàn)自動飛行控制。飛控計算機(jī)根據(jù)航路數(shù)據(jù)中的任務(wù)載荷控制指令或機(jī)載數(shù)據(jù)終端發(fā)來的任務(wù)載荷控制指令,發(fā)出相應(yīng)的指令對任務(wù)設(shè)備進(jìn)行控制。同時飛控計算機(jī)收集任務(wù)設(shè)備的工作狀態(tài)數(shù)據(jù)和傳感器組件采集的飛行參數(shù)、導(dǎo)航參數(shù)和其他設(shè)備工作數(shù)據(jù),將其組幀后由機(jī)載數(shù)據(jù)終端發(fā)送回地面,便于地面對飛機(jī)的飛行狀態(tài)和設(shè)備工作狀態(tài)進(jìn)行監(jiān)控和操控。
本文使用的STM32H753 是一個功能非常強(qiáng)大的處理器平臺,它基于Cortex?-M7 架構(gòu)內(nèi)核,帶雙精度浮點單元,運(yùn)行頻率高達(dá)480MHZ,能夠提供無與倫比的處理速度。
硬件通用性是以豐富的接口資源與運(yùn)算能力為基礎(chǔ)的。STM32H753 處理器包含多達(dá) 35 個通信接口(除了 4 個 UART 之外,還有 4 個運(yùn)行速度達(dá)到 12.5 Mb/s 的 USART 接口、1 個低功耗 UART、6 個 100 Mb/s 的 SPI 接口,4 個帶有新型可選數(shù)字濾波功能的 1 MHz I2C 接口、2 個 FD-CAN、2 個 SDIO、帶片上 PHY 的 USB 2.0 全速設(shè)備/主機(jī)/OTG 控制器和 1 個 USB2.0 高速/全速設(shè)備/主機(jī)/OTG 控制器、片上全速 PHY 和 ULPI、以太網(wǎng) MAC、SPDIF-IN、HDMI-CEC、攝像頭接口、單線協(xié)議接口和 MDIO 從接口。模擬部分包括2 個 12 位 DAC、3 個達(dá)到 16 位最大分辨率 (3.6 Msample/s) 的快速 ADC 以及 22 個 16 位及 32 位定時器(16 位高分辨率定時器的運(yùn)行頻率高達(dá) 400 MHz),可擴(kuò)容并且支持Compact Flash、NAND、SRAM 和 SDRAM 等存儲器,也可以利用雙模 Quad-SPI 從外部串行 Flash 執(zhí)行代碼。接口完全滿足目前擁有的絕大部分無人機(jī)的需求。
從板卡引出多路pwm 輸出、IO 輸入輸出、422/485/232 串口、sbus、can 總線、pwm 輸入、I2C 總線、ad 采集等接口,涵蓋了目前無人機(jī)機(jī)型的全部應(yīng)用接口;12~36V 寬壓輸入,對外提供12V/5A、5V/8A 供電輸出、IO 控制電壓輸出、繼電器輸出等接口,涵蓋基本無人機(jī)機(jī)載常用電源,并提供足夠的功率輸出。
飛控系統(tǒng)的信息流程如圖1 所示。
按照串級控制法,無人飛行器的控制回路從里到外分別為:阻尼增穩(wěn)控制回路、姿態(tài)閉環(huán)控制回路、航線規(guī)劃與航跡控制回路,還有獨(dú)立的發(fā)動機(jī)轉(zhuǎn)速閉環(huán)控制回路,各個回路的結(jié)構(gòu)和信息流程如圖2 所示。
飛控軟件包括數(shù)據(jù)采集和通訊、控制算法、導(dǎo)航算法、數(shù)據(jù)存儲及應(yīng)急策略等部分,幾個部分相對獨(dú)立,在設(shè)計中將通用程序與不同機(jī)型無人機(jī)使用的外圍程序文件分離,建立標(biāo)準(zhǔn)化接口文件與接口數(shù)據(jù),文件的增減或內(nèi)部改動不影響整個軟件的正常使用。為了飛控軟件程序容易開發(fā)及便于維護(hù),采用RTOS(嵌入式實時操作系統(tǒng))為運(yùn)行環(huán)境,隔離飛控硬件板卡和飛控軟件,為設(shè)備提供統(tǒng)一的驅(qū)動和接口,同時具備任務(wù)管理、任務(wù)及中斷間的同步與通信機(jī)制、內(nèi)存及中斷管理等功能,大大提高了無人機(jī)飛控系統(tǒng)的穩(wěn)定可靠性。
飛控軟件是整個飛控系統(tǒng)的核心內(nèi)容,影響到無人機(jī)飛行任務(wù)執(zhí)行的質(zhì)量及整個無人機(jī)系統(tǒng)的性能,是實現(xiàn)飛控系統(tǒng)功能的主要支撐。無人機(jī)飛控系統(tǒng)具有功能多、信息吞吐量大、邏輯時序關(guān)系復(fù)雜和實時性要求高等特點,這些特點也是設(shè)計、開發(fā)、調(diào)試、測試的難點所在。軟件的可靠性對整個飛控系統(tǒng)的可靠性至關(guān)重要,確保軟件的可靠性和功能的正確性、完備性,是飛控系統(tǒng)軟件設(shè)計與開發(fā)的主要思想。
在飛控軟件設(shè)計中,遵循軟件工程規(guī)范,采用模塊化的軟件結(jié)構(gòu)以保證軟件的質(zhì)量和軟件的可維護(hù)性,采用實時多任務(wù)設(shè)計技術(shù)以解決實時多通道任務(wù)進(jìn)程調(diào)度、異步/并發(fā)事件處理、時間/資源沖突等問題,并采用關(guān)鍵信息(如飛控系統(tǒng)狀態(tài)信息)的余度技術(shù)以確保在軟件故障情況下根據(jù)關(guān)鍵信息數(shù)據(jù)實現(xiàn)基礎(chǔ)功能的正常運(yùn)行狀態(tài),開展充分的軟件測試確保飛控軟件功能的完整性和正確性。
無人機(jī)仿真系統(tǒng)利用simulink 建立無人機(jī)微分狀態(tài)方程,搭建無人機(jī)數(shù)學(xué)模型,采用自動代碼生成軟件生成實時仿真機(jī)運(yùn)行代碼,進(jìn)行無人機(jī)運(yùn)動學(xué)、動力學(xué)的解算,輸出無人機(jī)位置、速度和姿態(tài)信息。代碼生成與編譯控制軟件,支撐了模型到代碼下載的自動化過程,實現(xiàn)了將模型到仿真機(jī)的一鍵下載,為試驗的進(jìn)行提供了極大的便利,半實物仿真系統(tǒng)的組成如圖3 所示。
仿真系統(tǒng)各個模塊的功能是:
(1)信號模擬系統(tǒng):根據(jù)收到的驅(qū)動數(shù)據(jù),模擬生成飛控導(dǎo)航計算機(jī)傳感器需要接收到的衛(wèi)星導(dǎo)航信號、載體角度運(yùn)動信號以及載體加速度運(yùn)動信號。
(2)飛控導(dǎo)航計算機(jī)仿真系統(tǒng):接收無人機(jī)仿真系統(tǒng)的輸出,進(jìn)行無人機(jī)飛控導(dǎo)航解算,并將計算結(jié)果輸出給后端系統(tǒng)。
(3)視景仿真系統(tǒng):通過網(wǎng)絡(luò)實時接收飛機(jī)仿真解算出的三維位置姿態(tài)數(shù)據(jù),并實時顯示無人機(jī)的飛行姿態(tài)和航跡。
(4)無人機(jī)仿真系統(tǒng):采集接收飛機(jī)的舵機(jī)輸出量,通過運(yùn)動學(xué)模型進(jìn)行解算,輸出無人機(jī)的位置和姿態(tài)信息數(shù)據(jù)。
(5)通信系統(tǒng):完成各分系統(tǒng)之間的數(shù)據(jù)傳遞,主要通過串口和網(wǎng)口兩種方式傳輸。
飛行控制系統(tǒng)是整個無人機(jī)系統(tǒng)的關(guān)鍵組成部分,是無人機(jī)完成起降和飛行的大腦中樞,本文針對單位現(xiàn)有無人機(jī)機(jī)型,集成處理器、電源管理、慣導(dǎo)和傳感器為硬件模塊,分類飛控參數(shù)設(shè)計軟件模塊,提出一種無人機(jī)飛行控制系統(tǒng)設(shè)計思路和方案;雖然距離完整實現(xiàn)還有很長路要走,但也為研制多機(jī)型通用性飛控系統(tǒng)提供了新的思路和建議,具有較大的工程意義且合理可行。