耿增顯,陳錦濤,趙嶷飛,2,劉 宏
(1.中國民航大學(xué)空中交通管理學(xué)院,天津 300300;2.民航航班廣域監(jiān)視與安全管控技術(shù)重點實驗室,天津 300300)
近年來,無人機運行智能化水平日益提高,特別是隨著無人機自主運行技術(shù)、組網(wǎng)編隊、智能避障技術(shù)、4G/5G 寬帶通信技術(shù)等的發(fā)展,我國無人機產(chǎn)業(yè)發(fā)展迅猛,其應(yīng)用領(lǐng)域和應(yīng)用場景不斷地深化拓展,已在我國國民經(jīng)濟和社會發(fā)展等方面得到了廣泛應(yīng)用[1]。與此同時,由于無人機種類繁多、結(jié)構(gòu)多樣、運行條件和環(huán)境差異大等因素,無人機運行特性難以精確描述,難以建立統(tǒng)一規(guī)范的無人機運動特性模型和航跡預(yù)測模型。
吳翰等[2]使用拉格朗日方程建立了無人機動力學(xué)模型,對比分析了仿真實驗結(jié)果。云超等[3]針對中小型無人機運動特性,詳細(xì)研究了無人機建模與仿真,并利用Matlab/Simulink 研究了無人機仿真系統(tǒng)設(shè)計。Jung 等[4]建立了無人機半物理仿真平臺,可以實現(xiàn)無人機運動特性仿真研究。Senseable City Lab[5]利用 Sky Call 系統(tǒng),通過設(shè)置飛行的速度、高度以及飛行目標(biāo)點等數(shù)據(jù),可以利用超聲波傳感器實現(xiàn)自主避障,開展無人機模擬仿真研究。李凌云[6]、詹楨等[7],李力等[8]分別針對具體問題,研究了利用BP 網(wǎng)絡(luò)對具體對象進(jìn)行分析和研究,結(jié)果表明BP 神經(jīng)網(wǎng)絡(luò)預(yù)測方法的有效性,BP 神經(jīng)網(wǎng)絡(luò)能夠適應(yīng)航跡預(yù)測及路徑規(guī)劃研究。
本文針對無人機運動特性及航跡預(yù)測問題,通過搭建小型無人機實際運行場景分析小型無人機飛行原理和運動特性;然后建立基于BP 神經(jīng)網(wǎng)絡(luò)的四旋翼無人機航跡預(yù)測模型,對模型的結(jié)構(gòu)進(jìn)行了研究;利用大疆SPARK 小型四旋翼無人機獲取實際運行數(shù)據(jù),用 MATLAB 建立仿真環(huán)境,對所建立的航跡預(yù)測模型進(jìn)行仿真研究,仿真結(jié)果驗證了模型的有效性。
四旋翼無人機是目前應(yīng)用最為廣泛的無人機,根據(jù)機身結(jié)構(gòu)的組成樣式不同,可大致劃分為“十”型和“X”型。本文以四旋翼無人機為例,說明其運動原理。4 旋翼無人機具有四個旋翼,4 個旋翼處于同一高度平面,分別為M1、M2、M3、M4。常規(guī)四旋翼無人機組成結(jié)構(gòu)如圖1 所示。
圖1 四旋翼無人機旋翼結(jié)構(gòu)
四旋翼無人機旋翼M1 和M3 逆時針方向旋轉(zhuǎn),旋翼M2 和M4 順時針方向旋轉(zhuǎn)。由位于兩個軸向的旋翼反方向旋轉(zhuǎn)方式抵消彼此扭矩,從而使四旋翼無人機能在空中保持預(yù)定方向飛行或懸停不動。四旋翼無人機的運動主要包括有垂直運動、俯仰運動、滾轉(zhuǎn)運動、偏航運動。
四旋翼無人機垂直運動通過M1、M2、M3、M4 電機的轉(zhuǎn)速。上升運動時,4 個旋翼轉(zhuǎn)速均增加,水平方向穩(wěn)定,當(dāng)豎直方向上總的合力向上時,出現(xiàn)向上的加速度帶動機體做加速上升;相反,垂直下降時,4 個旋翼均減速,水平方向穩(wěn)定,當(dāng)豎直方向上總的合力向下時,出現(xiàn)朝下的加速度帶動機體做加速下降。
四旋翼無人機俯仰運動可以理解為無人機“抬頭”、“低頭”運動。加大M3、M4 電機轉(zhuǎn)速或者減小M1、M2 轉(zhuǎn)速,使得機體向前繞Y軸做低頭姿態(tài),同時產(chǎn)生向前的分力,帶動無人機向前做俯沖運動;同理,相反條件的操作下,無人機將繞Y軸呈現(xiàn)“低頭”現(xiàn)象,并帶有向后運動的趨勢。
四旋翼無人機滾轉(zhuǎn)實際上就是無人機繞X軸進(jìn)行旋轉(zhuǎn)。加大M1、M4 電機轉(zhuǎn)速或者減小M2、M3 轉(zhuǎn)速,使得機身在合力作用下繞X軸向左側(cè)方向傾斜飛行;相反,減小M1、M4 轉(zhuǎn)速或者加大M2、M3 轉(zhuǎn)速,使得機身在合力作用下繞X軸向右側(cè)方向傾斜飛行。
四旋翼無人機偏航運動減小M1、M3 電機的轉(zhuǎn)速或者增大M2、M4 轉(zhuǎn)速,使得機身在合力矩的作用下繞 Z 軸向左逆時針改航;相反,如需實現(xiàn)右偏航,只需增大M1、M3 電機轉(zhuǎn)速或者減小M2、M4 轉(zhuǎn)速,使得機身在合力矩的作用下繞 Z 軸向右逆時針改航。
根據(jù)以上分析可知,通過進(jìn)行不同的旋翼組合,四旋翼無人機就可以實現(xiàn)無人機運動特性飛行。四旋翼無人機運動特性關(guān)系如表1 所示。
表1 四旋翼運動特性關(guān)系
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)體系包含大量處理單元(神經(jīng)元Neurons),他們互聯(lián)而成,依靠抽象、簡化和模擬等系統(tǒng)工程處理過程,類同于大腦解決問題的特征,在人工智能迅速發(fā)展的時代可以很好地充當(dāng)許多領(lǐng)域的基礎(chǔ)算法[7?8]。反向傳播(Back propagation,BP)神經(jīng)網(wǎng)絡(luò)是現(xiàn)階段眾多領(lǐng)域應(yīng)用較為成熟的網(wǎng)絡(luò)模型之一[7?8]。
BP 神經(jīng)網(wǎng)絡(luò)有兩種處理過程。第一種是正向傳播,它的處理方式是信號通過輸入后經(jīng)過一層層的單元處理傳輸?shù)诫[藏層,之后繼續(xù)向輸出層傳輸。在其信息的傳遞處理過程中,每一層的神經(jīng)元只會對之后的單元造成影響,并不會在同級之間產(chǎn)生影響。當(dāng)輸出層并不能像預(yù)期的樣子,無法獲得正常的輸出結(jié)果時,則傳遞處理過程進(jìn)入第二種方式,通過把誤差信息經(jīng)過原路返回,并調(diào)整各權(quán)重,以達(dá)到誤差最小化,實現(xiàn)最終的計算目的。典型的BP 神經(jīng)網(wǎng)絡(luò)流程圖如圖2 所示。
圖2 BP 神經(jīng)網(wǎng)絡(luò)流程圖
2.2.1 BP 網(wǎng)絡(luò)結(jié)構(gòu)
BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分3 層,分別為輸入層、隱含層和輸出層。其中隱藏層又可以分為一層和多層,單個隱藏層和多個隱藏層的選擇會導(dǎo)致神經(jīng)網(wǎng)絡(luò)內(nèi)部計算過程發(fā)生很大的變化,進(jìn)而影響模型的擬合度及預(yù)測結(jié)果的誤差大小。綜合考慮神經(jīng)網(wǎng)絡(luò)和航跡預(yù)測問題,本文選擇單個隱藏層的最簡化形式輸入—隱藏—輸出3 層神經(jīng)網(wǎng)絡(luò)來完成對四旋翼無人機航跡的預(yù)測問題。
根據(jù)前文對運動特性的分析,最終選擇8 個輸入作為BP 神經(jīng)網(wǎng)絡(luò)的輸入變量,分別為無人機運動過程中的3 個線運動參數(shù)縱向位移(TX)、橫向位移(TY)、垂直位移(TZ),角運動參數(shù)俯仰角(RX)、滾轉(zhuǎn)角(RY)、偏航角(RZ),以及航向(Heading)和風(fēng)(Wind)。輸出為無人機飛行的4D 航跡,分別為時間(T)、縱向(X)、橫向(Y)、垂直(Z) 軸方向的位移變化。BP 網(wǎng)絡(luò) 拓?fù)鋱D如圖3所示。
圖3 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D
2.2.2 隱藏節(jié)點
根據(jù)以往大量的文獻(xiàn)論述,節(jié)點的多或者少都會影響神經(jīng)網(wǎng)絡(luò)的預(yù)測效果。節(jié)點數(shù)太少不僅導(dǎo)致網(wǎng)絡(luò)模型的容錯率下降,還影響預(yù)測結(jié)果;節(jié)點數(shù)過多則發(fā)生預(yù)測能力下降,計算時間過長等問題。本文選用根據(jù)經(jīng)驗公式和誤差平方和確認(rèn),隱含層節(jié)點常用計算公式如式(1)所示。
式中:S為隱藏層節(jié)點數(shù);U為輸入節(jié)點數(shù);V為輸出節(jié)點數(shù);a表示[1,10]的一個整數(shù)。隱含層節(jié)點個數(shù)范圍為
因此本試驗中選擇隱藏層神經(jīng)元層數(shù)為一層,個數(shù)為4~13 中的一個合適常數(shù)。
2.2.3 網(wǎng)絡(luò)學(xué)習(xí)率確定
學(xué)習(xí)率(learning rate)是BP 神經(jīng)網(wǎng)絡(luò)在實際解決問題時的關(guān)鍵參數(shù)[7?8],它能起到調(diào)整網(wǎng)絡(luò)模型的作用。在其模型訓(xùn)練時,如果學(xué)習(xí)率過大,將導(dǎo)致訓(xùn)練震蕩或者函數(shù)發(fā)散;相反,學(xué)習(xí)率過小,發(fā)生訓(xùn)練收斂速度延緩變慢。為了得到可靠的模型,通過多次試驗和經(jīng)驗選定學(xué)習(xí)率lr 為0.001。預(yù)測模型參數(shù)及初始化配置如表2 所示。
表2 仿真參數(shù)初始化配置
經(jīng)過上述神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的分析和設(shè)計,BP 神經(jīng)網(wǎng)絡(luò)算法對于預(yù)測實際問題的研究流程變得更完善,對于航跡預(yù)測模型的實現(xiàn)提供了理論性的實驗基礎(chǔ),也同時對該預(yù)測問題的輸入?yún)⒘?、輸出參量等分析得更加透徹。?lián)系前文無人機運動特性的研究,結(jié)合本章預(yù)測性研究和網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的內(nèi)容,并由于輸入?yún)⒘繉叫酗L(fēng)和飛行航向的考慮,同時加入風(fēng)矢量和無人機速度兩種運行參數(shù),完成了最終所需的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的航跡預(yù)測物理模型的搭建。
式中,Wn、We、Vn、Ve分別表示風(fēng)向量在X軸方向分量、Y軸方向分量以及地球坐標(biāo)系下無人機X,Y軸速度。
通過實驗室運動捕捉系統(tǒng)設(shè)計無人機運動特性實驗[9],獲取相應(yīng)的運動特性實驗數(shù)據(jù),并對數(shù)據(jù)進(jìn)行預(yù)處理,將不合格數(shù)據(jù)剔除,按照下面的方法對數(shù)據(jù)進(jìn)行歸一化處理。
式中:Yi為歸一處理結(jié)果;ei為處理前變量;emax和emin分別為最大值和最小值。
根據(jù)上述處理結(jié)果和仿真要求,選取400 組數(shù)據(jù)開展基于BP 網(wǎng)絡(luò)的小型無人機航跡預(yù)測研究。400 組數(shù)據(jù)中其中200 組為輸入樣本,其余200 組為輸出樣本,以RX、RY、RZ、TX、TY、TZ、Heading、Wind 為參數(shù)輸入,以T、TX、TY、TZ 為參數(shù)輸出,默認(rèn)隱藏層為10 個節(jié)點。神經(jīng)網(wǎng)絡(luò)模型輸入值和輸出值如表3、表4 所示。
表3 神經(jīng)網(wǎng)絡(luò)模型輸入值
表4 神經(jīng)網(wǎng)絡(luò)模型輸出值
將200 組輸入數(shù)據(jù)和輸出數(shù)據(jù)分別Matlab 導(dǎo)入,基于BP 網(wǎng)絡(luò)工具箱進(jìn)行研究,通過對搭建的8-10-4 數(shù)據(jù)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行充分的學(xué)習(xí)和訓(xùn)練,實現(xiàn)所需的預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)。隨后,將100 組預(yù)測數(shù)據(jù)進(jìn)行導(dǎo)入,驗證其解決問題的能力和可靠性,并通過選擇獲得預(yù)測數(shù)據(jù)。通過對預(yù)測數(shù)據(jù)的導(dǎo)出和簡單處理,為后續(xù)航跡預(yù)測分析做數(shù)據(jù)支撐和準(zhǔn)備。
神經(jīng)網(wǎng)絡(luò)重復(fù)的學(xué)習(xí)訓(xùn)練是為了通過函數(shù)的傳遞和模型的擬合來達(dá)到減小均方誤差(MSE)的目的。圖4 示出了神經(jīng)網(wǎng)絡(luò)進(jìn)行到768 代epoch訓(xùn)練的情況,MSE 通過多次訓(xùn)練得到了最終訓(xùn)練效果0.281 18。
圖4 神經(jīng)網(wǎng)絡(luò)8-10-4 層結(jié)構(gòu)訓(xùn)練
圖5 和圖6 給出了BP 神經(jīng)網(wǎng)絡(luò)模型數(shù)據(jù)和實際航跡數(shù)據(jù)的絕對誤差和相對誤差。
圖5 實際航跡數(shù)據(jù)與預(yù)測航跡數(shù)據(jù)絕對誤差
圖6 實際航跡數(shù)據(jù)與預(yù)測航跡數(shù)據(jù)相對誤差
值得注意的是,除個別數(shù)據(jù)的絕對誤差較高之外,其余誤差均明顯較低,并且在相對誤差的分析中,除了時間維度的誤差相較于其余三組維度的誤差較高,總的來說各維度數(shù)據(jù)均保持較低相對誤差,由此表明BP 神經(jīng)網(wǎng)絡(luò)算法在無人機航跡預(yù)測領(lǐng)域具有很高的挖掘價值。
本文基于BP 網(wǎng)絡(luò)對小型無人機航跡進(jìn)行預(yù)測,分析了無人機運動原理以及無人機基本運動特性,利用實際飛行數(shù)據(jù),通過建立BP 神經(jīng)網(wǎng)絡(luò)預(yù)測模型對小型四旋翼無人機運動特性進(jìn)行仿真研究。通過以上BP 神經(jīng)網(wǎng)絡(luò)模型的實際數(shù)據(jù)與預(yù)測數(shù)據(jù)的綜合分析對比,發(fā)現(xiàn)基于神經(jīng)網(wǎng)絡(luò)算法進(jìn)行航跡預(yù)測可以得到四旋翼無人機較為精準(zhǔn)和可靠的航跡預(yù)測,可以很好地避免無人機的一些外部影響,減小預(yù)測的位置誤差,增加航跡預(yù)測的穩(wěn)定。仿真結(jié)果表明神經(jīng)網(wǎng)絡(luò)預(yù)測可以滿足預(yù)期要求,驗證了該模型在一定條件下可以實現(xiàn)相對準(zhǔn)確的預(yù)測,說明了該預(yù)測模型有很好的發(fā)展和應(yīng)用前景。