賀巍
摘 要:提出一種基于SOC平臺的自動飛行無人機飛行控制和導航系統。用于導航、飛行控制、機載系統管理等,包括飛控、導航、命令分析與處理、電源分配與管理、任務管理、任務設備控制、通訊/數據鏈路控制、存儲與記錄子系統。這些子系統采用高度集成的一體化設計,具有輕重量,低功耗的優勢。
關鍵詞:無人機;飛行控制;飛行導航;自主飛行
中圖分類號:TP391 文獻標識碼:A 文章編號:1671-2064(2018)19-0080-02
飛控和導航的硬件由飛控控制單元、數據處理加速IP和各類傳感器構成。飛控控制單元應有豐富的接口,強大的數據處理能力,良好的軟件開發支持。文章使用ZYNQ 7000作為系統開發平臺進行設計及仿真。
1 總體設計與實現
基于SOC的總體系統框如圖1所示。
SOC中ARM(PS part)處理器,用于信號測量、飛行任務管理、飛行數據記錄等。SOC中的邏輯部分(PL part)實現其他功能單元,包括:數據采集控制寄存器、通用數字I/O、GPS信號處理單元、舵機伺服控制器,通信控制器、圖像采集控制器、存儲器、總線控制器和時鐘控制器等。所有外設控制單元用AXI標準總線與ARM CPU連接在一起。
2 飛控系統的具體實現
2.1 副翼控制回路
副翼用于控制滾轉軸,包含外環控制和內環控制。
2.1.1 外環: 傾斜角偏差反饋
滾轉控制的外環,利用傾斜角偏差計算滾轉速率指令:
PCMD=saturation(K(COMMAND-),Pmax)
定義外環性能的兩個參數:
傾斜角比例增益K:其倒數代表修正傾斜角偏差的時間常數,滾轉速率和傾斜角偏差之間的線性關系使得傾斜角以時間的指數關系逼近。
最大滾轉速率Pmax:對于大的傾斜角偏差,該量對修正傾斜角偏差所需的時間有最大的影響。
2.1.2 內環:滾轉速率偏差控制
滾轉軸內環控制根據滾轉速率以及其當前測量值計算副翼指令。假設滾轉軸慣量很小,忽略滾轉加速度,從而按定常滾轉狀態構建控制率。滾轉角速率指令實質上是歐拉滾轉角速率。但測量的是體軸系的滾轉角速度,因此首先需要計算歐拉滾轉角速率,即:
Φ=p+tanΘ(qsinΦ+rcosΦ)
控制率由三項構成。第一項是根據滾轉速率預測的副翼指令項,第二項是滾轉速率偏差的時間積分,該項是為了獲得副翼的配平位置,第三項是對滾轉阻尼的增強,即根據滾轉速率調整副翼偏角。最終的控制率由上述三項的合并通過副翼限位而得:
A=saturation(dApre+dAfee+dAdam,max)
2.2 升降舵控制回路
升降舵用來控制飛行的垂直加速度。外環采用高度和空速回路以確定垂直加速度指令。
升降舵控制率由三項構成:加速度指令預測項,加速度偏差積分項,以及為增加短周期阻尼的俯仰阻尼項。最升降舵控制指令即三項之和:
E=lim(dEpre+dEfee+dEdam,min Elevator,max Elevator)
3 方向舵控制回路
方向舵用于阻尼偏航振動和管理側向力,即協調轉彎。總的方向舵控制率為:
R=saturation(dRcoord+dRdamping,max Rudder)
4 動力控制回路
動力控制用于控制飛行的能量速率,該速率由空速變化率的垂直速率給定。高度和空速回路為動力控制回路提供了垂直速度指令和空速變化率指令。
控制率由兩部分組成,即動力預測量和偏差積分的反饋量。動力預測值是根據速率指令計算而得的。反饋項則是基于需求功率和實際功率之差。
5 軟件設計
軟件采用Vxworks實時操作系統,用C++語言開發。軟件部署在zynq的PS(ARM)部分。整個軟件采用模塊化設計,便于擴展和移植。軟件分飛行與任務管理系統FSM、自動駕駛系統AUTOPILOT、導航系統NAVIGATOR、數據采集與記錄系統DATARECODER、任務監控設備如CAMERA共六個子系統。每一個子系統都可以通過地面站獨立尋址、單獨控制。
各子系統的功能描述如下:
5.1 飛行管理系統FMS
飛行管理系統管理飛行計劃(由一系列航路點構成)、任務計劃、以及各種故障條件下的應急飛行計劃等。
5.2 自動駕駛系統Autopilot
自動駕駛系統完成飛行器的增穩、姿態控制、并根據飛行計劃進行航跡跟蹤。
5.3 導航系統Navigator
導航系統根據各傳感器的數據驚醒數據處理,給出飛行器的姿態、位置、速度及加速度等導航信息。
5.4 設備配置管理器Configurator
設備配置管理器是飛控系統的支撐系統,管理各機載傳感器及驅動器的配置及校準。
5.5 數據采集與記錄系統DataRecoder
數據采集系統采集、記錄飛控系統各部分的關鍵數據,負責遙測信息的采集和傳送。
各系統源/目標地址定義:
地址的分配規則為,0~0xF為系統保留地址,0x10~0x40為機載設備地址。其余地址留給地面設備,如果不明確給定地面設備地址,飛控系統默認的地址設為0x80。
飛控個分系統的具體地址定義如表1所示。
6 結語
綜上,本文描述了飛控系統的總體架構和飛控系統的各單元在SOC平臺上的具體實現。包括:(1)Z軸方向(偏航角);(2)Y軸方向(俯仰角);(3)X軸方向(滾轉角);(4)飛行動力等控制單元的原理公式和算法的具體實現。文章最后介紹了飛控系統的軟件系統的架構及實現。
參考文獻
[1](美)U.Meyer-Baese著,劉凌譯.數字信號處理的FPGA實現[M].北京:清華大學出版社,2011:60-61.
[2]沈再陽編著,MATLAB信號處理[M].北京:清華大學出版社,2017:100-102.