謝文雅,徐庶,于鵬飛,王忠,方宜武,田琪,陳飛,黃曉巍
(中國電子科技南湖研究院,浙江嘉興 314002)
3架及以上無人機編隊飛行共同完成特定任務,相對單個無人機具有可靠性強、解決問題能力強的特點。多年以來已有大量文獻對無人機編隊飛行的控制算法進行了大量深入的研究,也有部分文獻對編隊飛行可視化仿真方法進行了一定的探索。
文獻[1]采用PID控制和遺傳算法對固定翼無人機編隊飛行控制進行了數值仿真與研究;文獻[2]針對無人機編隊飛行利用基于X-Plane的硬件在環設計了一套無人機編隊飛行快速試驗系統;文獻[3]為了縮小編隊飛行理論研究與實際應用的差距,設計了一種智能仿真系統;文獻[4]利用MilkShape 3D構造無人機模型,然后將模型加載到場景中,設計了一種編隊飛行仿真平臺;文獻[5]、[6]利用3D可視化工具Unity對旋翼無人機編隊飛行進行了可視化仿真與研究;文獻[7]、[8]利用FlightGear對小型固定翼無人機進行了可視化飛行仿真。
根據文獻調研情況,目前對固定翼無人機編隊飛行控制算法的理論研究較多,但可用于編隊飛行控制算法仿真驗證的方法較少,目前仍在探索如何提供一種快捷、可靠、直觀的仿真方法,從而幫助編隊飛行算法的快速驗證與迭代。
有少量文獻探索使用Unity或FlightGear對無人機編隊飛行進行可視化仿真,能夠一定程度上實現可視化渲染效果,但這兩個工具相對虛幻引擎的渲染效果與逼真度相對較差,且需設置的參數較多,不利于控制算法的快速驗證與迭代。很少有文獻采用SIMULINK和虛幻引擎對固定翼無人機編隊飛行進行可視化仿真。本文提出的基于SIMULINK和虛幻引擎的固定翼無人機可視化編隊飛行仿真與驗證方法,能夠快捷、可靠、直觀地用于固定翼無人機編隊飛行算法的仿真與驗證工作,有助于編隊飛行算法的快速設計與驗證迭代,具有一定的先進性和創新性,對相關研究工作具有一定的借鑒意義。
本文采用SIMULINK中UAV Toolbox工具箱作為底層功能模塊。該工具箱包含的Guidance Model模塊,集成了無人機模型和自動駕駛儀模型,形成了小型固定翼無人機閉環引導系統。Guidance Model模塊的模塊圖如圖1所示。
圖1 Guidance Model模塊圖
Guidance Model模塊有兩個輸入和一個輸出。輸入分別為引導控制量Control和飛機環境量Environment,輸出為飛機的飛行狀態量State。其中,輸入量Control為包含目標高度、目標空速和目標滾轉角三個控制指令的控制總線輸入量,用于引導和控制飛機完成水平和垂直方向的飛行任務;輸入量Environment為包含北向風速、東向風速、地向風速和重力加速度4個量的飛行環境控制量,用于設定飛機飛行環境中的風速和重力因素,模擬對飛機飛行的影響;輸出量State為包含8個飛行狀態量的總線輸出量,8個飛行狀態分別為北向位置、東向位置、高于地面的飛行高度、空速、航向角、飛行路徑角、滾轉角和滾轉角速率。在地面坐標系下,無人機的各狀態量計算公式為:
式中:xe、ye和h分別為無人機在地面坐標系的位置和高度,χ、γ和φ分別為無人機的航向角、飛行路徑角和滾轉角,Va和Vg分別為無人機的空速和地速,上標c表示目標指令command。
本文采用3架無人機組成編隊飛行機群,其中一架無人機為長機,兩架為僚機。編隊飛行過程中僚機跟隨長機,保持隊形飛行,并完成隊形變換任務。隊形圖如圖2所示。
圖2 無人機編隊飛行隊形圖
編隊飛行開始,無人機群保持隊形1飛行;然后由隊形1變換為隊形2飛行,僚機1向右滾轉,僚機2向左滾轉,到達隊形2的指定位置;最后無人機群由隊形2變換為隊形3,僚機1縮短和長機的距離,保持緊湊隊形,同時飛行高度調整至高于長機,無人機2則和長機保持平行飛行,同時飛行高度由高于長機飛至低于長機。
為實現上述隊形,需要設計縱向控制指令、側向控制指令和法向控制指令。
縱向控制指令為目標空速,根據PID控制原理,目標空速計算為
式中:kp、ki、kd和kf分別為比例增益、積分增益、微分增益和前饋增益,xerr為位置誤差,Vzj為長機的空速狀態量。
側向控制指令為目標滾轉角,根據串級PID,計算過程如下。
首先計算目標側向空速:
其次由側速偏差計算目標側加速度:
最后計算目標滾轉角:
法向控制指令為目標高度,因此直接根據長機高度狀態量和期望隊形,計算得到僚機目標高度值,作為僚機的法向控制指令。
采用UAV Toolbox 工具箱的Simulation 3D UAV Vehicle模塊實時仿真固定翼無人機的飛行狀態,該模塊會根據其兩個輸入端變量Translation和Rotation所代表的位置向量和姿態角向量,模擬出一個無人機,并把模擬的無人機放置到3D可視化環境中。該模塊的模塊圖如圖3所示。
圖3 Simulation 3D UAV Vehicle模塊圖
采用UAV Toolbox工具箱的Simulation 3D Scene Configuration模塊來生成可視化場景。該模塊的功能是實現一個3D仿真環境。該模塊的模塊圖如圖4所示。
圖4 Simulation 3D Scene Configuration模塊圖
Simulation 3D Scene Configuration模塊的場景來源可以有3種:默認場景、虛幻可執行文件和虛幻編輯器。本文使用默認的US city block場景。
搭建編隊飛行長機的可視化仿真模型(如圖5)。
圖5 長機可視化仿真模型
僚機模型和長機模型類似,只需按數學模型搭建控制指令即可,此處僅給出僚機1的側向控制指令仿真模型如圖6所示。
圖6 僚機1側向控制指令仿真模型
其中輸入1為長機位置的East分量,輸入2為僚機1位置的East分量,輸出1位僚機1的目標滾轉角控制指令。
以僚機1為可視化場景視角,隊形1的可視化仿真結果如圖7所示。由圖7可以看到位于僚機1右前方的長機和僚機2。
圖7 編隊飛行隊形1仿真圖
圖8所示為無人機編隊由隊形1變換到隊形2的過渡狀態,僚機1向右滾轉,僚機2向左滾轉。
圖8 隊形1變換為隊形2的過渡狀態
圖9所示為隊形2的可視化仿真結果。由圖9可以看到位于僚機1正前方長機和位于僚機1左前方的僚機2。
圖9 編隊飛行隊形2仿真圖
圖10所示為無人機編隊由隊形2變換到隊形3的過渡狀態,僚機1開始爬升,僚機2開始下降。
圖10 隊形2變換為隊形3的過渡狀態
圖11所示為隊形3的可視化仿真結果。
圖11 編隊飛行隊形3仿真圖
由圖11可以看到位于僚機1正前方的長機,且二者距離相對隊形2較小。僚機2位于僚機1的左前方,且二者距離相對隊形2較小。同時僚機1 的高度最高,僚機2的高度最低。
以上各圖展示了固定翼無人機編隊飛行的可視化場景,可以真實而直觀地將編隊飛行算法渲染出來,有助于更好地設計與驗證編隊飛行算法。
編隊飛行可視化仿真的定量數據結果如圖12所示。
圖12 編隊飛行定量仿真數據
由圖12可知,僚機1在10 s內完成了由隊形1到隊形2的變換,變換過程平滑無超調無誤差,無人機具有良好的側向位置響應特性;且當前側速和目標側速變化曲線貼合度較高,無人機具有良好的側速響應特性。僚機1在10 s內完成了由隊形2到隊形3的變換,變換過程平滑無超調無誤差,無人機具有良好的縱向位置響應特性;且當前空速和目標空速變化曲線貼合度較高,無人機具有良好的空速響應特性。
通過場景分析和數據分析,驗證了本文提出的基于SIMULINK和虛幻引擎的固定翼無人機可視化編隊飛行仿真與驗證方法,能夠快捷、可靠、直觀地用于固定翼無人機編隊飛行算法的仿真與驗證工作,有助于編隊飛行算法的快速設計與驗證迭代,具有一定的先進性和創新性,對相關研究工作具有一定的借鑒意義。