劉云平,牛天宇,敖洋釩,周朝杰,還紅華,張婷婷
(1.南京信息工程大學 江蘇省大氣環境與裝備技術協同創新中心,南京 210044;2.江蘇省農業科學院,南京 210014;3.中國人民解放軍陸軍工程大學,南京 210001)
無人機集群因其低成本、大規模、高協同性等優勢,廣泛應用在城市作戰、搜索救援等領域[1],無人機智能集群技術是未來無人機技術的重要研究方向[2]。隨著無人機集群技術的發展,越來越多的飛行任務需要無人機在城市樓宇、戶外山林等復雜變化的飛行環境中集群作業[3,4],其中廣泛存在障礙物復雜多變、無人機通信與感知能力受限等不確定因素,對于無人機穩定集群造成不可忽視的約束作用[5]。當前基于預設群體運動行為控制的方法難以實現快速動態調節,在無人機實際飛行過程中系統時延、傳感器的累積誤差等因素難以規避,引起集群系統難以跟蹤預設狀態,導致基于預設行為的集群控制失效[6]。因此,如何在復雜變化的飛行環境中實現集群模型的快速自適應調節,保持無人機集群運動一致性,仍是目前無人機智能集群領域值得研究的問題。
針對復雜環境下無人機集群運動一致性問題,建立合理穩定的集群模型至關重要。在以往的研究中人類通過對昆蟲、鳥類等群體生物的集群行為研究總結出許多智能集群算法[7-9],此類算法最早可以溯源到Reynolds 通過對鳥類群體運動的觀察分析[10],總結出的集體運動三條基本準則:第一條是排斥作用,用于避免集群個體之間的碰撞;第二條是對齊作用,用于使集群個體與附近個體的速度矢量保持對齊;第三條是內聚作用,用于保持個體聚集在一起?;谏鲜鋈龡l準則,Reynolds 在計算機仿真軟件中建立了Boid模型,為后續分布式集群模型提供了理論基礎。R.Olfati-Saber 等提出了一種用于設計和分析多代理網狀系統的分布式集群算法[11],解決了蜂擁模型中自主集結和避障問題。以Boid 模型為典型的群體蜂擁集群模型為無人機集群提供了理論基礎,但由于此類模型僅考慮集群中個體自身的運動狀態,而忽略了真實飛行狀態下的環境因素,因此無法實際應用于無人機集群飛行。隨著計算機視覺、無線通信等技術的發展,針對真實飛行環境中的無人機集群研究層出不窮。浙江大學FastLab 實驗室的Xin Zhou 等設計了快速反應的軌跡規劃器[12],展現出分布式無人機集群在雜亂環境中強大的導航能力,但由于無人機集群缺乏分布式控制模型,因此在復雜飛行環境中難以保持運動一致性。比利時物理學家Tamás Vicsek 團隊針對真實環境下的無人機集群飛行提出一種集群模型,Csaba Virágh等提出了一種基于個體速度的無人機集群模型[13],該模型考慮到無人機集群飛行時運動和通信范圍受限、通信存在延遲等問題,通過設計帶有粘性摩擦項的速度計算函數,實現相鄰無人機之間的速度融合;Gábor Vásárhelyi 等建立了一種真實無人機蜂擁模型[14],設計了一種具有順序參數和適應度函數的模型參數優化框架,實現了十架四旋翼無人機的自主集群飛行。VICSEK 模型提供了一種考慮真實飛行條件的無人機分布式集群控制方法,但由于其參數調節缺乏對集群運動穩定程度的考量,在復雜飛行環境下難以實現快速自適應調節,易發生系統振蕩、收斂速度慢甚至集群發散等問題,難以保證無人機集群運動的一致性。因此,要解決復雜飛行環境下的無人機集群運動穩定性問題,需要建立集群運動穩定程度的度量標準,并基于此動態調節無人機集群模型參數,在動態變化的外部干擾下保持無人機集群運動一致性。北京航空航天大學的段海濱團隊針對群體智能系統的群體熵度量問題做出深入研究,羅杰等提出了群體智能系統的基本特性以及其形成的激發匯聚建模[15],指出群體智能系統實質上是一類復雜非線性動力學系統,討論了群體智能系統群體熵度量所應滿足的基本性質。陳琳等針對受限環境中無人機集群的目標合圍控制問題[16],提出了一種基于局部度量距離交互的分布式集群目標合圍控制方法,實現基于熵度量的無人機集群控制。通過上述工作可以看出,無人機集群中的群體熵度量具備科學可行性以及較高的自適應調節能力。
本文提出一種無人機集群運動一致性的群體熵度量理論,通過建立群體運動行為穩定程度的熵度量函數,并將其作為個體之間協同運動的適應度值指標,實現復雜環境下無人機集群運動一致性的自適應調節。由于智能本身是一種抽象的實體,難以對其進行直接的評估和度量;而群體智能系統的行為是群體智能的外在表現形式,是一種可以直接度量的現象,所以可以從系統的動力學行為入手,探索群體智能系統的度量理論和方法。
考慮三維歐氏空間中由N架無人機組成的集群系統,可建立無人機在慣性參考系坐標下的運動學模型:
式(1)中下標i∈N表示集群中第i架無人機,ωi為水平面上第i架無人機水平速度矢量與慣性坐標系X 軸的夾角度數,hi為第i架無人機的飛行高度,為第i架無人機的速度向量。
式(2)(3)中Pi和Pj分別表示集群中第i架和第j架無人機為無人機Ni在障礙物上的投影位置。
針對無人機個體通信與感知范圍內的速度計算方式,將各無人機速度分量拆分成內部避碰、速度對齊、避障和自推進四個分量[13],下面給出各部分的速度計算模型。
(1)內部避碰分量模型
對于任意第i架無人機Ni的感知范圍Rc內的其他無人機對于Ni都有一個作用半徑為rrep的相互排斥力來保證無人機集群不發生內部碰撞。由此建立分布式集群避碰的速度分量計算公式:
式(4)中prep是排斥力線性增益,rij=| |ri-rj||是無人機Ni和無人機Nj之間的位置差范數。當集群內機間距離小于作用半徑時,即rij<rrep時內部避碰分量計算公式如式(4)所示,當rij≥rrep時無人機機間內部避碰分量忽略不計。
(2)速度對齊分量模型
通過設計一種負反饋調節的速度分量,可以使集群中各無人機的速度具有隨速度計算公式迭代而統一的趨勢,具體計算公式如式(5):
式(5)中vij表示無人機i與無人機j的速度差表示速度對齊分量用于計算速度對齊誤差最大值,dpros表示無人機之間預期距離,Cfrict是速度對齊線性增益,vfrict是速度對齊容許誤差。當集群內機間距離大于作用半徑時速度對其分量計算公式如式(5)所示,其余情況下速度對其分量忽略不計。africt為首選加速度,pfrict用來決定兩個減速階段交叉點的線性增益,D(·)是為了速度在兩個狀態之間平滑轉化設計的衰減函數,計算公式如式(6):
式(6)中,r是無人機和預期停止點之間的距離,a是首選加速度,p用來決定兩個減速階段交叉點的線性增益。當r< 0時,D(·) 為0;當0 <rp<a/p時,D(·)計算公式為rp;其余情況下D(·)計算公式為
(3)避障分量模型
采用與速度對齊分量相似的方式計算避障分量。假設障礙物為虛擬無人機,通過使無人機與虛擬無人機速度對齊的方式來實現障礙規避。定義虛擬無人機的位置向量速度向量則避障速度分量計算如式(7):
式(7)中函數D(·)計算公式與式(6)相同是無人機與虛擬無人機之間的位置差范數,是無人機與虛擬無人機之間的速度差范數。與速度對齊公式不同的是,虛擬無人機不存在速度容許誤差。當無人機與障礙物距離大于作用半徑時內部避碰速度分量如式(7)計算,其余情況下內部避碰速度分量忽略不計。
(4)自推進分量模型
在無人機速度為零時,集群模型會陷入局部最優解導致集群失效。因此,在速度計算分量中加入保持當前速度飛行的自推進項,并設置參數viner來控制其大小。
(5)多無人機分布式集群模型
對以上四種分量合成可以建立多無人機分布式集群模型。集群中第i架無人機速度計算公式如式(8):
式(8)中αrep、αfrict、αobst、αiner是各速度分量的權重?;诟鳠o人機的速度計算公式,可以設計出無人機分布式集群控制策略:
隨著算法迭代次數的增加,無人機群逐漸形成機間距離穩定、機間速度一致且具有自主避障功能的分布式集群系統。
與傳統無人機分布式集群模型相比,上述無人機分布式集群模型省去了使無人機相互靠攏的內聚作用。這種方式解決了無人機之間引力和斥力相互作用形成的系統振蕩,但也造成新的缺點:外部干擾下的集群的發散問題。無人機的速度是由自身當前速度、感知范圍內其他無人機速度以及障礙物的影響共同決定的,在其遇到較復雜的外部干擾時無人機的速度會產生較大的隨機量,導致原本聚集的無人機群分散。為了解決這一缺點,本文提出一種無人機集群運動一致性的群體熵度量理論,通過建立群體運動行為穩定程度的熵度量函數,并將其作為個體之間協同運動的適應度值指標,實現復雜環境下無人機集群運動一致性的自適應調節。
在無人機分布式集群模型的速度對齊分量中,無人機Ni的速度計算受到其通信范圍內感知到的所有其他無人機Nj的速度平均影響,根據與中心無人機Ni的實際距離來調節影響權重。因此本文改進速度對齊計算方式,將適應度值轉化為速度對齊分量中各無人機影響權重。通過制定合理的適應度值計算方式,無人機在集群過程中可以自主學習周圍臨近無人機的行為,并選擇適應度值高的臨近無人機作為主要學習目標。
在構建的無人機分布式集群模型中,最能體現集群中無人機之間相互影響作用的是速度對齊部分,即相鄰的無人機之間互相速度融合,最終方向大小相同的趨勢。速度一致的結果是無人機會保持集群的陣型,但集群整體飛行的方向具有較大的隨機性,并且在外部噪聲干擾下波動較大,其原因在于每一架無人機的速度是由其感知范圍內其他所有臨近無人機共同影響的,每架臨近無人機的影響權重相同。在集群算法迭代過程中,對速度對齊計算結果產生主要影響的是無人機之間的速度差值,即無人機速度會趨向于其感知范圍內速度差值較大的無人機。因此無人機集群速度會趨向于速度較大的個體,且很容易被外部噪聲擾動,難以保持集群運動的一致性。
為了實現無人機集群運動一致性,速度對齊部分加入各Nj對Ni的影響權重pfitness,改進后的速度對齊公式如式(10)所示:
即在速度的整體合成公式中,參數Cconver的引入可以使各無人機Nj對無人機Ni影響權重改變的情況下,在數值上保證速度對齊分量不會因為疊加而產生明顯得增大或減小,算法的改進僅對無人機飛行速度方向的選擇產生影響,從而保證集群中各無人機運動速度趨于一致。
隨著信息論、控制論的發展,近年來熵的概念逐漸被引入多智能體系統的評估,用來表述系統的混亂無序程度。熵增表示系統向混亂無序狀態演化的趨勢,熵減表示系統向和諧有序狀態演化的趨勢。參考羅杰等[7]提出的群體智能系統群體熵度量理論,群體熵定義為系統結構熵與個體相互作用信息熵的復合函數:
式(13)中,G為反映個體構型瞬態熵的演化函數,F為反映系統整體協同關聯水平過程熵的演化函數,F?G為函數F與G的復合運算,ln[ Ξ ]為某時刻群體行為中個體的統計學意義熵。
復雜環境中無人機集群飛行時,需要不斷改變飛行方向以實現障礙物穿越,隨著時間變化,集群中各架無人機的運動一致性逐步下降。無人機集群的運動一致性難以直接評估計量,而集群運動中無人機的速度樣本是運動一致性的外在表現形式,是一種可以實際測量、控制的變量。因此考慮基于各架無人機速度樣本建立群體熵度量體系,從而對無人機集群系統在復雜飛行環境中的運動一致性水平進行調控。
將式(13)具體化為無人機集群的局部速度熵,為2.1 節中速度對齊計算公式選取一種合理的影響權重參數在式(2)中給出了的定義,基于可以使用無人機的通訊范圍Rc將集群劃分為K個不同的群組,且群組的劃分是根據時間而變化的。對于每一架無人機Ni,在其感知范圍內的每一架Nj都有以其為中心的群組。定義在t時刻以Nj為中心的子群為對于群組內各無人機的速度而言,速度相差較大的情況對應群組的熵較大,而速度相差較小的情況對應群組的熵較小。在預期的無人機分布式集群系統中,各無人機速度差應控制在一個較小的容許范圍vfrict內,即群組的熵應控制在一個較小的范圍內。本文通過使無人機集群向著速度相差減小的趨勢迭代飛行速度參數,實現各群組局部速度熵減,從而保證無人機集群的魯棒性。
本文使用速度樣本的方差來描述各群組內無人機速度的差異程度。將無人機集群中的一個群組中各無人機的速度視作一組數據樣本其方差為隨著算法的迭代,希望無人機向著熵減的趨勢集群,即集群中無人機速度會趨于一致,速度樣本的方差呈遞減狀態,滿足式(14):
在無人機集群的過程中,系統是向著熵減的趨勢進行迭代優化。在算法迭代過程中,加大速度差異較小的群組QNj對群組QNi的影響權重,因此選用熵的倒數作為各無人機之間交互的適應度值,即
總結2.1 節和2.2 節中的工作,改進后的無人機集群模型中速度對齊公式如式(17)所示:
針對復雜環境下無人機集群運動一致性的群體熵度量,通過對集群模型中速度對齊算法的改進,實現對集群過程中無人機對周圍子群影響權重的自適應調控,保證無人機集群運動的一致性。
以往無人機分布式集群算法的研究工作大多局限于模型的建立,從而忽視了算法在現實飛行環境下的實際應用能力。因此本文進行了兩方面的工作,從理論層面到實踐層面證明了算法的可行性。第一部分是算法驗證實驗,搭建了二維的算法程序,從而驗證無人機通過迭代計算可以形成穩定的集群規模。第二部分是物理仿真實驗,在物理仿真軟件Gazebo 中搭建了四旋翼無人機動力學模型,并通過復雜飛行環境下的兩組實驗對比證明改進后的模型使無人機集群具有更高的運動一致性。
實驗中使用具有兩個維度方向的粒子來代表垂直方向速度固定、水平方向速度隨算法迭代改變的無人機,通過在Matlab 中進行二維實驗初步驗證算法的可行性。實驗中設置的無人機參數如表1 所示。
通過這一部分的實驗,希望證明改進后的集群算法具有更高的穩定性。因此,進行了加入熵度量適應度值的無人機群和不加入熵度量適應度值的無人機群對比實驗。實驗流程如下:
(1)無人機的生成與初始化。在邊長為10 m 的正方形區域內隨機位置生成無人機。給這些無人機賦予了初始速度,旨在保證集群算法不會因為初值為零而失效的同時,探究一個混亂的無人機集群系統能否保持運動一致性。因此,生成的無人機具備的參數有:初始位置、速度、通訊范圍。無人機群的生成如圖1所示,圖中橫縱坐標為實際單位的等比縮放。

圖1 無人機初始化生成圖Fig.1 UAV initialization generation chart
(2)改進前集群算法驗證。為了模擬真實的通訊受限環境,將無人機的通訊范圍設置在一個合理的范圍內,使其只能感知到周圍小范圍內的其他無人機,而不能感知到地圖內所有其他無人機。同時為了驗證算法的改進之處對于集群穩定性的提升,將外部干擾設置為一個較大的隨機噪聲,用于模擬復雜飛行環境對于集群的影響。進行了100 組重復實驗,每組實驗進行50 次算法迭代。統計數據發現,在100 次重復實驗中有86 次明顯形成了集群,但其中的69 次在經過強外部干擾的算法迭代后集群發生了分散,如圖2 所示,圖中橫縱坐標為實際單位的等比縮放。通過數據還發現,大部分初始化無人機群在第15~20 次迭代后形成明顯的集群。

圖2 強外部干擾影響下的無人機集群發散Fig.2 UAV cluster dispersion under the influence of strong external disturbances
(3)改進后的算法驗證。在這一步實驗中,無人機在算法迭代的過程中會進行熵度量適應度值的計算和交互,其余參數設置與上一步實驗相同。同樣進行了100 組重復實驗,每組實驗進行50 次算法迭代。統計數據后發現,100 組實驗全部形成了穩定的集群,且經過高噪聲的算法迭代集群都可以保持穩定,如圖3所示,圖中橫縱坐標為實際單位的等比縮放。這一部分的實驗大部分在第10~15 次迭代后就形成了明顯的集群。由此可以看出,引入群體熵度量的算法對于集群運動一致性提升明顯,集群運動收斂速度提升30%左右。

圖3 強外部干擾情況下無人機集群保持穩定Fig.3 Stabilization of UAV clusters in the presence of strong external interference
通過上面兩部分對比試驗,可以看出隨機生成的無人機群基本都在20 次迭代后進入穩定狀態,因此分別統計兩部分實驗前20 次迭代的無人機樣本熵值方差,繪制折線圖如圖4 所示。

圖4 改進前后算法中無人機樣本熵值方差變化圖定Fig.4 Plotting the change in entropy variance of UAV samples in the algorithm before and after improvement

圖5 兩種控制方式響應速度對比圖Fig.5 Comparison of the response speed of the two control methods
通過圖4 中數據對比可以看出,兩次實驗中的速度樣本熵值方差總體均成遞減趨勢,即改進前后算法均可以使隨機生成的無人機形成集群。但使用改進前算法計算出的樣本熵值方差經過20 次迭代不具備趨于0 的趨勢,即無人機集群在高噪聲的迭代過程中發生了擴散,并且熵值方差在噪聲的影響下呈上下波動趨勢。使用改進后算法計算出的樣本熵值方差經過20次迭代呈現趨于0 的趨勢,即無人機集群在高噪聲的迭代過程中能夠保持穩定,并且熵值方差在噪聲的影響下仍呈現遞減趨勢。
通過對比實驗可以看出,算法的改進對于受限環境下的多無人機集群穩定性有著顯著性提升,且集群形成所需要的算法迭代次數更少,系統收斂速度更快。
第一部分的實驗初步驗證了改進后算法的可行性和優越性,但簡化的二維無人機個體僅具備兩個方向的速度,相比于真實無人機缺乏了很多物理必需的參數。因此,為了證明改進后的算法能夠應用于真實無人機集群系統,本文在Gazebo 物理仿真環境中搭建四旋翼無人機模型和復雜飛行地圖,進行無人機集群物理仿真實驗。在實驗過程中無人機控制方式選擇方面,進行了速度控制和加速度控制的數據對比。如圖 5所示,相比于加速度控制,速度控制具有更高的響應速度和更小的穩態誤差,因此實驗過程中采用速度控制無人機飛行。
在3.1 節的實驗中,通過限制無人機的感知范圍,來模擬真實飛行條件下無人機受限的通訊,但外部干擾是通過在速度上疊加隨機噪聲來實現的。在物理仿真實驗中,構建復雜的飛行地圖來體現外部干擾,具體表現為繁多且龐大的障礙物,以及較大的風阻。分別對算法改進前后的兩組無人機群進行了編隊避障飛行實驗,如圖6 所示。

圖6 Gazebo 物理引擎仿真實驗Fig.6 Gazebo Physics Engine Simulation Experiment
圖6 為在Gazebo 仿真環境中進行的算法改進對比實驗。由于系統熵值是在時刻計算迭代的,為了展現整個實驗過程中系統熵值的變化趨勢,選取實驗中起始狀態、第一次避障、第二次避障以及穿過障礙物后最終狀態四個熵值變化較大的時間節點作為關鍵節點。圖6(a)(b)(c)(d)為改進前算法四架無人機集群仿真實驗,圖6(e)(f)(g)(h)為改進后算法四架無人機集群仿真。通過兩組實驗對比可以看出,改進前的無人機集群在穿越密集障礙物時發生明顯的分裂,運動一致性降低;而改進后的無人機集群在穿越密集障礙物后仍保持集群收斂,集群運動一致性提升明顯。將兩次實驗中無人機集群在四個關鍵節點的個體熵值和系統熵值繪制成折線圖,如圖7、圖8 所示。

圖7 四架無人機兩次實驗熵值變化Fig.7 Entropy change for two experiments with four UVAs

圖8 兩次實驗無人機集群系統熵值變化Fig.8 Entropy changes of UAV cluster system for two experiments
通過圖7 中數據對比可以看出,除第一架飛機外,算法改進后無人機個體熵值基本較改進前低,且均可以在熵增之后自適應調節至熵減狀態,即每架飛機在復雜飛行環境中均可趨于穩定狀態自適應調節。
通過圖8 中數據對比可以看出,兩次實驗在四個關鍵節點處的熵值總體呈上升趨勢。但改進前的實驗中系統熵值整體一直呈遞增的趨勢,即無人機集群系統的穩定性逐步下降,系統熵值平均值為0.925,實驗過程中熵值波動范圍在63.4%內;而改進后的實驗中系統熵值雖在避障過程中呈上升趨勢,但總體水平較改進前明顯降低,在避障結束后呈下降趨勢。無人機集群系統在飛行過程中穩定性水平較改進前整體提升,能夠根據復雜變化的飛行約束自適應調節,保持無人機集群運動一致性;系統熵值平均值為0.587,熵值波動范圍在41.6%內,即引入群體熵度量的無人機集群運動一致性提升了21.8%。
通過兩組實驗的對比,可以看出無人機在使用改進前算法進行集群時,在遇到障礙物時由于機間引力的缺失,會采取分散繞過的方式通過;這也導致經歷多次避障后,個別無人機可能會由于距離的擴散而丟失通訊,從而導致集群的分散。無人機在使用改進后算法進行集群時,采用熵度量的方式彌補了機間引力缺失導致的缺點,能夠在多次避障后仍保持穩定集群,提高了無人機集群運動一致性。
針對復雜飛行環境中無人機穩定集群問題,本文提出一種無人機集群運動一致性的群體熵度量理論,通過建立群體運動行為穩定程度的熵度量函數,并在無人機分布式集群模型中引入適應度值交互機制,將其作為個體之間協同運動的適應度值指標,實現復雜環境下無人機集群運動一致性的自適應調節。在此基礎上進行了Matlab 算法仿真、Gazebo 物理引擎仿真兩步實驗,驗證了群體熵度量對于復雜環境下無人機集群運動的有效性。