郝文康, 陳琪鋒
(中南大學(xué)自動化學(xué)院, 湖南 長沙 410083)
固定翼無人機集群協(xié)同執(zhí)行任務(wù)已經(jīng)成為無人機系統(tǒng)應(yīng)用的重要發(fā)展趨勢,小型多無人機具有高協(xié)同性、多任務(wù)、低成本等優(yōu)勢而備受關(guān)注[1-2]。無人機編隊控制技術(shù)作為多無人機協(xié)同的子問題得到了廣泛研究,無人機編隊飛行的目標是通過控制各個無人機的行為以達到理想的隊形[3]。
常見的編隊飛行策略有主從法、虛擬結(jié)構(gòu)法、基于行為法、共識理論等[4]。無人機編隊按照通信方式可劃分為集中式和分布式兩種[5],集中式方法中通過建立控制中心來實現(xiàn)對整個編隊的控制,而分布式方法則是通過相鄰個體之間的信息交換來完成整體的編隊。因分布式控制不存在控制中心,相比集中式具有更好的靈活性和擴展性。對于編隊控制方法,常見的有一致性控制[6]、自適應(yīng)反饋[7]、滑??刂芠8]、模糊控制[9]等,但這些方法不便于處理約束,而使用優(yōu)化的方法,如分布式模型預(yù)測控制(distributed model predictive control, DMPC)可根據(jù)具體的需求設(shè)計成本函數(shù)和約束條件[10-11]。
DMPC是一種在每個采樣瞬間求解最優(yōu)軌跡的反饋控制方法。對該理論的研究,從早期Dunbar[12]和Camponogara[13]等開始至今,已取得豐碩成果,并在無人機領(lǐng)域得到大量應(yīng)用。Zhou等[10]在非線性模型預(yù)測控制框架下,設(shè)計了一種無人機無碰撞編隊飛行控制器。Zhang等[14]研究了基于自適應(yīng)差分進化的多無人機編隊分布式模型預(yù)測控制,實現(xiàn)了多架無人機實時編隊保持和避碰。Wei等[15]提出一種改進的DMPC方案,通過在每個智能體的成本函數(shù)中加入狀態(tài)偏差的懲罰項,提高其一致性。Zhou等[16]針對無人機編隊問題,提出一種集中和分布式并存的信息交互策略,并基于模型預(yù)測控制算法設(shè)計了控制律。Hu等[17]基于模型預(yù)測控制構(gòu)建了多無人機協(xié)同搜索路徑規(guī)劃模型,并使用粒子群算法對模型進行求解,以提高協(xié)同搜索效率。Grafe等[18]針對無人機集群的路徑規(guī)劃問題,設(shè)計了一種事件觸發(fā)的DMPC算法,可降低無人機的計算量和功耗。孫田野等[19]基于分布式模型預(yù)測控制,提出基于改進擬仿射類進化方法,以提高無人機編隊的集結(jié)速度。趙超輪等[11]針對四旋翼編隊問題,設(shè)計一種分布式模型預(yù)測控制器,使得無人機能夠在跟蹤期望軌跡的過程中快速形成隊形。
對于模糊控制問題,Chen等[20]設(shè)計一種完全分布式的自適應(yīng)模糊控制,來解決多智能體系統(tǒng)的全局一致性問題。Rojo-Rodriguez等[21]針對多架四旋翼無人機編隊飛行問題,提出一種基于一致性的模糊邏輯增益調(diào)度協(xié)議。Rezaee等[22]針對無人機主從編隊控制問題,設(shè)計了模糊邏輯控制對僚機的速度和姿態(tài)進行控制。Xu等[23]設(shè)計了模糊比例-積分-微分(proportional-integral-derivative, PID)規(guī)則的控制器對傳統(tǒng)PID的參數(shù)進行優(yōu)化,以提高其控制性能。Tran等[24]通過模糊推理系統(tǒng)自動調(diào)整一致性編隊控制器的參數(shù),在有限的信息帶寬和動態(tài)環(huán)境條件中實現(xiàn)無人機編隊。魏英杰等[25]針對自主水下航行器的控制問題,設(shè)計了一個模糊變結(jié)構(gòu)控制器,以提高其魯棒性。吳正平等[26]針對干擾彈作戰(zhàn)問題,提出一種模糊線性/非線性自抗擾切換控制器。
關(guān)于無人機編隊控制問題,一般研究的是編隊的穩(wěn)定性和可行性,很少有關(guān)編隊過程中節(jié)省能量的研究。對于DMPC算法中的參數(shù)設(shè)定,增大控制量的權(quán)重可減少控制量的作用,但會減緩狀態(tài)收斂的速率[27-28]。本文考慮在控制量權(quán)重不變的情況下,對控制量施加模糊約束來減少控制量的作用,從而達到節(jié)省能量的效果。本文使用模糊理論設(shè)計對控制量(控制指令)的模糊約束,一方面模糊控制不依賴于無人機的動力學(xué)模型,具有魯棒性[22];另一方面模糊理論根據(jù)語言變量值把狀態(tài)誤差分成不同的狀態(tài)集分別設(shè)計控制約束,使得約束更具有針對性和漸變性。如此,當無人機狀態(tài)誤差大時采用較大的指令約束上界,當狀態(tài)誤差小時則采用較小的指令約束上界,使得無人機在不同狀態(tài)集下都有合適的狀態(tài)收斂速率。為了驗證提出的模糊約束DMPC編隊飛行控制器的有效性,使用拉丁超立方抽樣(Latin hypercube sampling, LHS)方法與無模糊約束的DMPC算法進行了對比。
本文采用分布式的編隊控制架構(gòu),首先選取一架無人機作為無人機編隊的長機,負責規(guī)劃并跟蹤路徑,然后以長機為起點構(gòu)造分布式隊形,確定各個無人機在編隊中的目標點(期望相對位置),最后根據(jù)各個無人機與鄰居的相對位置誤差設(shè)計控制器,其中相對誤差定義為與鄰居之間的相對位置減去期望相對位置。下面是編隊控制問題涉及的基本模型。
對于固定翼無人機,其在三維空間中的飛行控制一般采取平面控制和高度控制解耦的形式,為了簡化其飛行過程中的動力學(xué)參數(shù),本文假設(shè)無人機定高飛行,采用了無人機的二維平面運動學(xué)模型,其運動學(xué)模型[10]為
(1)
對于無人機的控制,采用自動駕駛儀系統(tǒng)對無人機的位置和姿態(tài)進行控制,這里只考慮速度和航向角兩個回路的自動駕駛儀模型[23,29]:
(2)
同時考慮無人機實際飛行過程中的狀態(tài)約束,包括速度、加速度、角速度和角加速度:
(3)
式中:Vmin為最小飛行速度;Vmax為最大飛行速度;amax為最大加速度;ωmax為最大角速度;αmax為最大角加速度。
X(k+1)=f(X(k),U(k))
(4)
式中:X(k)和U(k)表示第k時刻的狀態(tài)量和控制量;X(k+1)表示第k+1時刻的狀態(tài)量;f(·)是非線性連續(xù)函數(shù);X(k)∈X,U(k)∈UX,X為狀態(tài)空間,UX為指令約束空間,無人機在狀態(tài)空間的狀態(tài)變化要滿足式(3)的狀態(tài)約束。
圖1 編隊飛行示意圖Fig.1 Schematic diagram of formation flight
在上述條件下,目標點在PnOPe坐標系中的坐標為
(5)
(6)
(7)
式中:I3×3為3階單位矩陣,
(8)
模糊控制基于啟發(fā)性的語言決策規(guī)則,利用模糊規(guī)則來描述系統(tǒng)變量間的關(guān)系,適用于對非線性、時變和模型不完全系統(tǒng)的控制,具有較強的魯棒性、適應(yīng)性和一定的智能水平。本文通過分析模糊控制的過程獲得控制指令的約束,首先對不同的誤差狀態(tài)和控制指令進行語言變量集劃分,然后根據(jù)模糊規(guī)則和模糊推理確定指令輸出模糊集的范圍,即速度和角度指令的約束范圍。設(shè)計模糊約束為了減弱參數(shù)變化對控制效果的影響,兼顧降低超調(diào)和減小收斂時間,減少速度和角度的變化幅度以節(jié)省能量。求解模糊約束的過程如下。
圖2 變量的隸屬度函數(shù)Fig.2 Membership function of variables
表1 航向角指令誤差的模糊規(guī)則Table 1 Fuzzy rule of yaw angle command error
表2 速度指令誤差的模糊規(guī)則Table 2 Fuzzy rule of speed command error
最后,確定模糊約束。基于輸入和輸出變量的隸屬度函數(shù)及模糊控制規(guī)則,輸入公式對應(yīng)的狀態(tài)量誤差,可求出與規(guī)則相對應(yīng)的49個輸出模糊集(不同輸出模糊集的最大隸屬度不同),對不同的輸出模糊集進行聚合可以得到聚合模糊集,如圖3和圖4所示。定義最大輸出模糊集為聚合集中最大隸屬度對應(yīng)的元素集合,最優(yōu)語言值為最大輸出模糊集對應(yīng)的語言變量。對于聚合模糊集的清晰化常用到5種方法,即最大輸出模糊集的最小值法Som、中值法Mom、最大值法Lom和聚合模糊集的重心法Centroid、面積等分法Bisector,分別對航向角的輸出解模糊,可得到相對應(yīng)的輸出值CSom、CMom、CLom、CCtrd和CBsctr。
圖3 航向角指令的模糊約束Fig.3 Fuzzy constraints of yaw angle command
圖4 速度指令的模糊約束Fig.4 Fuzzy constraints of speed command
本節(jié)首先介紹DMPC相關(guān)內(nèi)容,DMPC不僅要考慮各無人機與長機之間的狀態(tài)誤差以及控制誤差,還需要與其他鄰居之間的狀態(tài)誤差;其次,確定模糊約束,雖然每個無人機都和其鄰居之間存在誤差狀態(tài),會產(chǎn)生不同模糊約束,但控制量誤差僅和長機相關(guān),所以這里僅考慮通過各無人機與長機之間的狀態(tài)誤差建立模糊約束;最后,把模糊約束添加到DMPC方法中,得到本文提出的模糊約束DMPC控制器。
在用DMPC方法解決分布式最優(yōu)控制問題中,給定更新周期(或采樣周期)δ和預(yù)測時域T=δNp,Np為預(yù)測的步數(shù)。假設(shè)分布式最優(yōu)控制問題可以在tk=t0+δk時刻被瞬時同步解決,其中t0表示初始時刻,tk表示經(jīng)過k次更新后的實際狀態(tài)量對應(yīng)的時刻,其中k∈N。對于分布式模型預(yù)測最優(yōu)控制問題,需要考慮鄰居的狀態(tài)影響,要在每個預(yù)測域內(nèi)對每個無人機的鄰居的狀態(tài)量X-i進行估計。假設(shè)對鄰居的狀態(tài)估計滿足以下條件:若已知無人機鄰居的當前狀態(tài)量和估計控制軌跡,則可對鄰居未來的狀態(tài)進行估計;在每次更新之前,無人機i可以接受其鄰居上一時刻的估計控制軌跡,同時無人機i也會向鄰居傳輸自身的估計控制軌跡。為了方便區(qū)分不同情況下的狀態(tài)和控制,引入下面的符號。相應(yīng)無人機i在tk時刻的實際狀態(tài)量Xi(tk)和控制量Ui(tk),定義[11]:
(9)
(10)
則可以給出目標函數(shù):
(11)
式中:S(X)和S(U)為歸一化矩陣,使狀態(tài)量誤差和控制量誤差歸一化到[-1,1]區(qū)間;M1,M2,N分別為正定對稱矩陣,用以保證DMPC算法的穩(wěn)定性并確定不同的變量所對應(yīng)的權(quán)重[10]。
(12)
式中:κ為任意給定常數(shù);X為狀態(tài)空間;UX為指令約束空間;UC為模糊約束區(qū)間。
雖然傳統(tǒng)DMPC算法可以通過增大控制量的權(quán)重以降低控制量的作用,但是這樣會導(dǎo)致收斂時間變長。而采用具有模糊約束的DMPC算法,在控制量的權(quán)重不變的情況下可以降低控制量的幅度變化并使得控制量在一段時間內(nèi)處于常值狀態(tài),以達到降低控制量作用的目的,從而減小能量消耗。模糊約束DMPC算法的描述如算法1所示。
算法 1 模糊約束DMPC算法輸入 Xi(t0),X-i(t0),Np,δ輸出 最優(yōu)控制指令U*i(τ|tk)初始化 令tk=t0,對于所有時刻τ∈[tk,tk+T),設(shè)U^i(τ|t0)=0和U^-i(τ|t0)=0,t0時刻的控制模糊約束為UC0。步驟 1 根據(jù)式(10)求解最優(yōu)控制指令U*i(τ|tk)。步驟 2 輸出U*i(tk|tk)作為τ∈[tk,tk+1)時間段的控制指令。步驟 3 計算所有無人機tk+1時刻的狀態(tài)量Xi(tk+1)和估計控制量U^i(·|tk+1),為計算tk+1時刻U*i(τ|tk+1)做準備。首先把控制指令U*i(tk|tk)帶入無人機單機模型求解tk+1時刻的狀態(tài)量,其次根據(jù)下式求解無人機的估計控制量:U^i(tk+1+δs|tk+1)=U*i(tk+1+δs|tk), s=0,1,…,Np-2U*i(tk+δs|tk), s=Np-1 步驟 4 無人機i把Xi(tk+1)和U^i(·|tk+1)傳送給每個鄰居,并從鄰居處接受X-i(tk+1)和U^-i(·|tk+1)。步驟 5 更新控制指令的模糊約束。步驟 6 令k=k+1,重復(fù)步驟1~步驟5。
固定翼無人機的控制可采取水平控制和高度控制解耦的形式,對于高度的控制器設(shè)計不會對水平方向的控制產(chǎn)生影響。已知無人機在高度方向的自動駕駛儀為
(13)
為了驗證提出的模糊約束DMPC編隊飛行控制器的有效性,進行了以下的仿真試驗。仿真中考慮6個無人機UAV0~UAV5,其中長機UAV0為編隊拓撲結(jié)構(gòu)的參考點,他們的位置坐標、航向角、速度以及相對參考點的參考位置坐標的初始值如表3所示。
表3 無人機的初始條件Table 3 Initial conditions of unmanned aerial vehicles
仿真試驗包含以下兩個試驗,假設(shè)參考軌跡為慣性坐標系下的Pe方向,并且此過程中不考慮外界的干擾。
長機跟蹤軌跡,其他無人機根據(jù)編隊控制算法飛行,比較DMPC算法和具有模糊約束DMPC算法在能量消耗方面的差異。
兩種方法產(chǎn)生的飛行軌跡如圖5和圖6所示,可以觀察到每個編隊成員不斷調(diào)整自身位置,以形成期望隊形。通過對比可以發(fā)現(xiàn),DMPC算法生成的軌跡會產(chǎn)生較大的波動,而具有模糊約束的DMPC算法在編隊形成過程中更為平穩(wěn),飛行軌跡較為平滑。
圖6 具有模糊約束的DMPC算法生成的飛行軌跡Fig.6 Flight trace generated by DMPC algorithm with fuzzy constraints
對兩種方法產(chǎn)生的狀態(tài)變化軌跡進行對比,如圖7所示,圖中模糊約束DMPC方法的圖例為DMPC&Fuzzy。為了更好地展示仿真效果,選取了位置誤差較大的UAV5的狀態(tài)變化,其中圖7(a)和圖7(b)展示了無人機在飛行過程中單坐標軸的位置變化,圖7(c)和圖7(d)展示了無人機飛行過程中速度和航向角的變化。從圖7中可以發(fā)現(xiàn)以下幾點:① 兩種方法在相同系數(shù)下都可以實現(xiàn)相對位置保持,并且收斂時間差別不大;② 從航向角和速度的變化可以發(fā)現(xiàn),由于DMPC沒有考慮模糊約束,會使得航向角和速度在快速達到極值以后迅速遠離極值;③ 對于圖7(a)中的DMPC算法,無人機在X方向達到合適位置以后,由于速度還未保持一致,導(dǎo)致位置出現(xiàn)超調(diào)的情況;④ 而具有模糊約束的DMPC算法,可以使得無人機在飛行的過程中較為平緩的變化,以減少不必要的能量損失。通過對比發(fā)現(xiàn),模糊約束DMPC算法可以減小速度和航向角的變化幅度并起到平穩(wěn)飛行的作用。
圖7 無人機狀態(tài)量的變化軌跡Fig.7 Trajectory of unmanned aerial vehicles states
為了更好地對兩種方法進行對比,定義以下4個對比指標:飛行路程,即無人機從編隊開始到結(jié)束所飛行的總路程可表示為
(14)
速度變化累計值,即速度改變量絕對值的累加可表示為
(15)
角度變化累計值,即角度改變量絕對值的累加可表示為
(16)
能量損耗,即克服阻力所做的功,由于兩種方法的初末狀態(tài)相同,故采用飛行過程中克服阻力做功來衡量能量的消耗。于是可以得到能量損耗的計算公式[30]為
(17)
式中:阻力和速度的平方成正比Fdrag=KdragV2,假設(shè)阻力系數(shù)在飛行過程中為常數(shù)保持不變,為方便計算,令Kdrag=1。
從具體的數(shù)值上進行對比,DMPC方法的飛行路程、速度變化累計值和角度變化累計值分別為3 266.75 m,20.92 m/s,0.71 rad,而具有模糊約束的DMPC算法,其變化分別為3 263.76 m,12.03 m/s,0.48 rad,模糊約束DMPC算法的變化為DMPC算法的99.9%,57.5%,67.6%。對于兩種方法的能量損耗變化如圖8所示。
圖8 能量損耗的變化過程Fig.8 Change trajectory of energy consumption
從圖8中可出,DMPC方法與模糊約束DMPC算法相比,后者克服阻力做功的過程平緩。對于兩種方法的能量差值曲線呈現(xiàn)先增大后減小的趨勢,對于該結(jié)果產(chǎn)生的原因可以結(jié)合圖7(c)進行解釋,剛開始DMPC方法的速度增加較快,克服阻力做功較多,呈現(xiàn)上升趨勢;由于DMPC方法的速度增加和下降的幅度大,會在18 s左右的時刻速度達到相同,在之后的時刻,前者速度小于后者,導(dǎo)致DMPC方法克服阻力做功較小,差值曲線呈現(xiàn)降低的趨勢,最終趨于穩(wěn)定;能量消耗差值穩(wěn)定時,其值大于零,說明模糊約束DMPC方法具有節(jié)省能量的優(yōu)勢。
為了進一步對比模糊約束DMPC算法和DMPC算法,采用LHS方法獲取無人機的初始位置,從不同的初始位置出發(fā)跟蹤編隊拓撲結(jié)構(gòu)中的目標點,仿真對比DMPC算法和具有模糊約束的DMPC算法在飛行路程、速度與角度變化累計值和能量消耗的差異。
樣本點選取。長機從原點出發(fā)沿Pe方向飛行,編隊僚機的目標點G在以長機為中心構(gòu)造出的正五邊形頂點上,抽樣規(guī)則為每架無人機分別以各自的目標點G為中心左右各500 m的范圍內(nèi)抽樣1 000次,完成1 000次的編隊飛行試驗,選取結(jié)果如圖9所示。
圖9 LHS的樣本位置Fig.9 Samples location for LHS
圖10展示了模糊約束DMPC算法與DMPC算法的對比仿真結(jié)果,從單個無人機(以UAV5為例)和無人機編隊兩個方面對比以下4個指標,即飛行路程之差、速度變化累計值之差、航向角變化累計值之差和能量損耗之差,其差值為DMPC算法減去模糊約束DMPC算法的仿真結(jié)果。
圖10 兩種控制方法計算結(jié)果的差值圖Fig.10 Diagrams of difference between the results of two control methods
從圖10中可以看出,本文提出的模糊約束DMPC算法的指標(飛行路程、航向角變化累計值和速度變化累計值以及能量消耗)值總體優(yōu)于DMPC算法;同時若從編隊的角度對比兩種方法,優(yōu)勢更為明顯。
依據(jù)4個評價指標,分別從編隊飛行試驗1 000次和單機飛行1 000×5次的仿真結(jié)果進行統(tǒng)計,表4為抽樣的統(tǒng)計結(jié)果。從表4中的統(tǒng)計結(jié)果可以看出:① 由于樣本點的初始位置不同但具有相同的初始速度和角度,所以只考慮角度和速度改變的標準差;② 在對編隊飛行的統(tǒng)計中可以看出,在每次的仿真實驗中本文提出的模糊約束DMPC算法的各個指標都優(yōu)于DMPC算法;③ 在對單機飛行的統(tǒng)計中,差值小于0的樣本點中不僅絕對值小而且占的比例也很小,其中飛行距離和角度改變不足7%,飛行速度不足21%,對于能量損耗差小于0的僅占0.2%,最小值為-42.23,遠小于平均值;④ 模糊約束DPMC角度改變和速度改變量的標準差約為DMPC算法的一半。統(tǒng)計結(jié)果表明,具有模糊約束的DMPC算法在減少飛行路程、航向角變化累計值和速度變化累計值方面效果明顯,同時從標準差可以看出,對于整個樣本空間使用模糊約束DMPC算法的速度變化累計值和角度變化累計值的波動較為平緩。
表4 仿真結(jié)果統(tǒng)計Table 4 Statistical of simulation results
(1) 把無人機編隊中僚機相對長機的狀態(tài)誤差空間進行模糊集劃分,并根據(jù)定義的模糊規(guī)則設(shè)計與僚機誤差狀態(tài)相適應(yīng)的控制指令模糊約束,作為對DMPC控制器的控制量約束,降低了速度和航向角的變化幅度,減少了無人機在編隊過程中的能量消耗。
(2) LHS對比仿真的統(tǒng)計結(jié)果表明,提出的算法在單機和編隊(6架)飛行中節(jié)省能量的比例分別為99.8%和100%,從統(tǒng)計意義層面說明該方法在整個樣本空間都具有較好的性能優(yōu)勢。