郭民環(huán), 蘇巖, 朱欣華
(南京理工大學(xué)機(jī)械工程學(xué)院, 南京 210094)
四旋翼無人機(jī)(UAVs)因為結(jié)構(gòu)簡單、起降方便等諸多優(yōu)點,目前已經(jīng)在非常多的領(lǐng)域內(nèi)得到廣泛應(yīng)用,如物流配送、無線通信、農(nóng)業(yè)植保和災(zāi)害監(jiān)測等[1-3]。在這些應(yīng)用中,常常需要使用一個或多個四旋翼無人機(jī)來提取和搬運負(fù)載。與將負(fù)載直接固定在機(jī)身上相比,采用吊掛的方式既不會改變無人機(jī)自身的動力學(xué)屬性,同時對負(fù)載也沒有嚴(yán)格的外形尺寸限制[4]。但是,吊掛的飛行方式會增加模型的復(fù)雜程度,使得系統(tǒng)的欠驅(qū)動特性更加明顯,再加上不可避免的外界干擾,這些都使得該問題具有很大的挑戰(zhàn),也引起了許多研究人員的關(guān)注。
賓夕法尼亞大學(xué)的Kumar等[4-6]借助微分平坦理論、幾何控制方法和混合整數(shù)優(yōu)化等工具,在微分平坦空間內(nèi)來解決無人機(jī)吊掛系統(tǒng)的路徑生成和跟蹤控制問題。蘇黎世聯(lián)邦理工學(xué)院(ETH)的研究人員[7]采用迭代線性二次型控制器(iLQR),使得該系統(tǒng)能夠在狀態(tài)空間內(nèi),通過不斷迭代學(xué)習(xí)的方式實現(xiàn)復(fù)雜約束條件下的最優(yōu)控制。近年來,也有國內(nèi)的研究人員將各種不同的控制方法應(yīng)用在該系統(tǒng)中。鮮斌等[8]對此系統(tǒng)設(shè)計了基于能量分析的非線性控制器,并與LQR控制器進(jìn)行了對比。李偉榮等[9]針對帶懸掛負(fù)載的八旋翼無人機(jī)設(shè)計了一個PID串級控制器,并通過實驗實現(xiàn)了穩(wěn)定飛行。Yi等[10]設(shè)計了一個滑模控制器,以提高系統(tǒng)的魯棒性和跟蹤性能。Guo等[11]設(shè)計了一個帶有約束的H2/H∞混合控制器,實現(xiàn)系統(tǒng)暫態(tài)性能與魯棒性能的綜合。
上述研究都是針對只有一個無人機(jī)的情況,當(dāng)負(fù)載較重時,就有必要使用多個無人機(jī),因此,本文將研究有2個無人機(jī)的吊掛飛行系統(tǒng)。文獻(xiàn)[12-13]將單個的情況推廣到了多個無人機(jī),并針對吊掛載荷為質(zhì)點和剛體這2種情況,分別設(shè)計幾何控制器,再根據(jù)微分平坦理論進(jìn)行參考軌跡設(shè)計和路徑跟蹤。
現(xiàn)有的應(yīng)用大多都將該問題考慮為只有一個目標(biāo)函數(shù)的控制系統(tǒng)。但是在實際應(yīng)用中,因為性能配置的差異或者所處空間位置的不同,2個無人機(jī)可能有著不一樣的控制需求。比如,第1架無人機(jī)只需要負(fù)責(zé)跟蹤參考軌跡,第2架無人機(jī)則主要負(fù)責(zé)保持隊形并穩(wěn)定吊掛負(fù)載。在這種情況下,如果只設(shè)計一個目標(biāo)函數(shù),或者是簡單的性能加權(quán)而不考慮兩者之間互動的影響,可能無法充分發(fā)揮系統(tǒng)的潛力。
博弈論就是這樣一個有助于理解不同決策主體相互作用的工具[14]。一般說來,博弈有2類模型:非合作型和合作型。其中,前者是以單個參與人的可能行動為基本元素,而后者以參與人群的可能聯(lián)合行動集合為基本元素。目前,博弈論已經(jīng)廣泛應(yīng)用于多智能體領(lǐng)域。文獻(xiàn)[15]將多個無人小車的編隊運動看成是一個非合作的博弈問題,并在圖論的基礎(chǔ)上為不同的無人車設(shè)計目標(biāo)函數(shù),用微分博弈方法來求解。類似的,文獻(xiàn)[16]研究了有1個領(lǐng)導(dǎo)者和N個跟隨者的多智能體系統(tǒng),領(lǐng)導(dǎo)者負(fù)責(zé)跟蹤目標(biāo),跟隨者負(fù)責(zé)保持隊形。
本文首先建立受控系統(tǒng)的動力學(xué)模型并線性化,然后將2個無人機(jī)看成是具有不同目標(biāo)函數(shù)的決策主體,并在非合作二人博弈的框架下進(jìn)行控制器設(shè)計,最后通過數(shù)值仿真進(jìn)行驗證。
類似文獻(xiàn)[8],為了簡化分析,本文做如下合理假設(shè):
1) 四旋翼無人機(jī)是幾何中心與質(zhì)心重合的剛體。
2) 吊掛負(fù)載認(rèn)為是質(zhì)點,通過2根質(zhì)量不計的無彈性繩子吊掛在無人機(jī)的質(zhì)心處。
3) 2根繩子的張力始終大于0,所有的空氣阻力都忽略不計。
αi,βi為2根繩子在{S}內(nèi)的角度,因為吊掛負(fù)載始終在2個無人機(jī)之間,因此有0°<βi<90°,定義從吊掛負(fù)載到無人機(jī)的單位方向向量為
ρi=[cosβicosαi,cosβisinαi,sinβi]T
無人機(jī)的控制輸入為各自作用在{Bi}內(nèi)的力FQi和力矩MQi分別為
圖1 帶吊掛負(fù)載的2個四旋翼無人機(jī)Fig.1 Two quadrotor UAVs carrying cable-suspended payload
(1)
根據(jù)幾何關(guān)系,給定無人機(jī)1的位置后,可以依次確定吊掛負(fù)載和無人機(jī)2的位置:
(2)
根據(jù)D’Alembert原理,與廣義坐標(biāo)相對應(yīng)的廣義力為
(3)
因此,系統(tǒng)的動能和勢能分別表示為
(4)
式中:mP、mQ1和mQ2分別為吊掛負(fù)載、無人機(jī)1和無人機(jī)2的質(zhì)量;IQ1和IQ2分別為無人機(jī)1和無人機(jī)2的轉(zhuǎn)動慣量;g為重力加速度矢量。
Euler-Lagrange方程為
(5)
將式(3)和式(4)代入式(5),可得
(6)
(7)
為了進(jìn)行線性控制器設(shè)計,需要分析系統(tǒng)(無干擾項)的平衡點并建立對應(yīng)的線性模型。
圖2為該系統(tǒng)的俯視圖。當(dāng)系統(tǒng)處于非平衡狀態(tài)時,吊掛負(fù)載為P′;而當(dāng)系統(tǒng)處于平衡狀態(tài)時,無人機(jī)(Q1,Q2)和吊掛負(fù)載(P)將處于同一垂直平面內(nèi)。同時,為了控制兩無人機(jī)之間的相對位置關(guān)系保持不變,默認(rèn)系統(tǒng)平衡時β1=β2=45°,定義αF為無人機(jī)隊形方向角。
給定系統(tǒng)的平衡點(xeq,ueq)之后,利用Taylor級數(shù)展開公式,可以得到依賴于隊形方向角形αF的參數(shù)化線性模型為
圖2 帶吊掛負(fù)載的四旋翼無人機(jī)(俯視)Fig.2 Quadrotor UAVs carrying a cable-suspended payload (Top)
(8)
為了充分考慮不同無人機(jī)的性能差異,并能夠在非合作博弈的框架下討論,式(8)中的控制輸入項可以拆成式(9)的形式:
(9)
在數(shù)字控制系統(tǒng)中,若控制器的工作頻率為fs,則動力學(xué)微分方程式(9)(不表示干擾輸入項)可以改寫成如式(10)差分形式:
x[k+1]=A[k]x[k]+
B1[k]u1[k]+B2[k]u2[k]
(10)
根據(jù)文獻(xiàn)[17],可以將式(10)看成是有2個參與者的非合作動態(tài)博弈模型。根據(jù)參與者掌握的信息情況,該模型可以有不同的類型,比如斯塔伯格模型和納什模型。本文采用納什模型,即假定每個參與者同時知道自己和對方的目標(biāo)函數(shù)。換言之,每個決策主體都希望從其可能的控制策略ui中,找出一個使其目標(biāo)函數(shù)Γi最小的策略。很顯然,當(dāng)各決策主體的目標(biāo)函數(shù)相同時,該問題就是一般的最優(yōu)控制問題,而當(dāng)目標(biāo)函數(shù)不同時,則無法利用一般的最優(yōu)控制來求解,此時,需要求出系統(tǒng)的納什均衡。
所謂二人博弈的納什均衡策略[18-19]是每個參與者對其他參與者的最優(yōu)反應(yīng)策略的集合,并且任一參與者單方面改變決策之后必然導(dǎo)致其目標(biāo)函數(shù)變差,即
(11)
為了求出上述納什均衡策略,需要事先確定參與者對過去狀態(tài)信息的掌握情況。一般說來,在求解動態(tài)博弈模型第k步的控制策略時,存在如下3種情況[17]:
1) 完全信息結(jié)構(gòu):參與者知道系統(tǒng)過去的所有狀態(tài)信息。
2) 反饋信息結(jié)構(gòu):參與者僅知道系統(tǒng)初始狀態(tài)x[0]和當(dāng)前狀態(tài)x[j]。
3) 開環(huán)信息結(jié)構(gòu):參與者僅知道系統(tǒng)初始狀態(tài)x[0]。
與完全信息結(jié)構(gòu)相比,開環(huán)信息結(jié)構(gòu)不需要存儲過去所有的狀態(tài)信息;與反饋信息結(jié)構(gòu)相比,其問題的復(fù)雜程度較低[15]。因此,本文采用開環(huán)信息結(jié)構(gòu)來求解納什均衡,并進(jìn)一步將其與滾動優(yōu)化相結(jié)合使其仍然具有狀態(tài)反饋的形式。
考慮一個如式(10)的動態(tài)系統(tǒng),其初始狀態(tài)為x[0],2個決策主體的控制序列分別為u1[k]和u2[k],(0≤k≤N-1),當(dāng)該控制序列作用于系統(tǒng)之后,可以為每個決策主體設(shè)計一個線性二次型目標(biāo)函數(shù):
(12)
(13)
給定任意初始值x[0],開環(huán)納什均衡解:
(14)
(15)
(16)
(17)
(18)
式中:P1[N]=S1;P2[N]=S2。
ψ[k+1]=(A[k]-B1[k]Hu1[k]-
B2[k]Hu2[k])ψ[k]
(19)
式中:ψ[0]=I。
為了將開環(huán)信息結(jié)構(gòu)的納什均衡解應(yīng)用于動態(tài)系統(tǒng)中,本文借鑒模型預(yù)測控制中的滾動優(yōu)化方法,設(shè)計一種狀態(tài)反饋滾動納什控制器。
若納什控制器的滾動優(yōu)化時長為TN,那么該控制器解的序列總長度為N=TNfs。類似的,若仿真總時長為TM,則仿真序列的總長度為M=TMfs。
因此,滾動納什控制的算法流程如下:
仿真過程0≤k≤M,滾動周期0≤i≤N。
1) 讀取當(dāng)前時刻狀態(tài)信息x[k]。
4) 令k←k+1,重復(fù)步驟1),直至k=M。
本節(jié)設(shè)計2個仿真實例來驗證滾動納什控制器的效果:第1個實例是無人機(jī)在有外部干擾的情況下控制系統(tǒng)保持平衡;第2個實例是在有外部擾動的情況下,無人機(jī)1跟蹤參考軌跡,無人機(jī)2保持隊形和穩(wěn)定吊掛負(fù)載,并將該控制器與LQR進(jìn)行了對比。這2個仿真實例的3D動畫視頻可參見相關(guān)鏈接(https:∥youtu.be/-0Nkp26EPGs)。
無人機(jī)吊掛系統(tǒng)的部分物理參數(shù)設(shè)定如下:
mQ1=mQ2=0.55 kg,mP=0.2 kg,Lr=1.0 m,
IQ1=IQ2=diag([0.002 3,0.002 8,0.004 6]) kg·m2。
為方便起見,本文不考慮隊形變化的情況,即αF始終等于0°,因此可得系統(tǒng)平衡時的非零狀態(tài)如下:α1=0°,β1=45°,θ1=8.74°,α2=180°,β2=45°,θ2=-8.74°,Fz1=Fz2=6.44 N。
目標(biāo)函數(shù)中的權(quán)值矩陣類似于LQR控制器,需要根據(jù)各無人機(jī)控制目的進(jìn)行設(shè)計。本文設(shè)定無人機(jī)1的任務(wù)主要是跟蹤參考軌跡,而無人機(jī)2的任務(wù)主要是保持隊形同時穩(wěn)定吊掛負(fù)載。同時設(shè)定式(12)和式(13)中的相關(guān)權(quán)值矩陣均時不變,具體如下:
Q1= diag([200,16.66,200,16.66,1 000,20,
1.63,5.72,1.63,5.72,1.63,5.72,2.86,
1.43,2.86,1.43,2.86,1.43,2.86,1.43,
0.88,5.72,0.88,5.72,57.29,5.72])∈R26×26
R11=ρw1diag([20,100,100,100]) ∈R4×4
Q2= diag([0.01,0.002,0.01,0.002,0.01,
0.002, 1.14,0.57,1.14,0.57,1.14,0.57,
114.59,5.72,286.47, 1.43,114.59,5.72,
286.47,1.43,57.29,28.64,57.29, 28.64,
57.29,28.64]) ∈R26×26
R22=ρw2diag([1,1,1,1])∈R4×4
其中:S1=Q1;S2=Q2;ρw1和ρw2用來調(diào)節(jié)狀態(tài)/控制平衡。
本文仿真中,控制器的控制頻率fs=50 Hz,納什控制器的滾動優(yōu)化時長TN=2 s,即N=100。
當(dāng)2個四旋翼無人機(jī)與吊掛負(fù)載處于懸停平衡狀態(tài)時,考慮外部有一個沿著y方向的干擾如圖3所示,該干擾由方波和白噪聲疊加構(gòu)成,沿著y方向作用在吊掛負(fù)載上。仿真時長TM=8 s,即M=400。
應(yīng)用滾動納什控制器后,2個無人機(jī)會沿著y方向來回移動以穩(wěn)定吊掛負(fù)載。無人機(jī)和吊掛負(fù)載的平面運動軌跡如圖4所示,各自y方向的位置誤差如圖5所示。
由圖4和圖5可知,吊掛負(fù)載受到y(tǒng)軸方向的外部干擾后偏離平衡位置。因為無人機(jī)1的主要任務(wù)是穩(wěn)定自身的位置,因此仍然保持較小的位置誤差。而無人機(jī)2的任務(wù)是保持隊形和穩(wěn)定吊掛負(fù)載,因此它會沿著y軸方向快速移動來使系統(tǒng)盡快恢復(fù)平衡。
圖3 作用在吊掛負(fù)載上的外部干擾Fig.3 Exogenous disturbances acting on cable-suspended payload
圖4 外部干擾下的運動軌跡(俯視)Fig.4 Motion trajectories with exogenous disturbances (Top)
圖5 外部干擾下的y方向位置Fig.5 Position errors in y direction with exogenous disturbances
第2個仿真實例中,系統(tǒng)仍然存在一個外部擾動作用在吊掛負(fù)載上(仿真時間為30 s),但是此時無人機(jī)1的任務(wù)為跟蹤一個“★”形參考軌跡,而無人機(jī)2負(fù)責(zé)跟蹤無人機(jī)1以保持隊形和穩(wěn)定吊掛負(fù)載。仿真時長TM=30 s,即M=1 500。
在跟蹤參考軌跡的過程中,當(dāng)?shù)鯍熵?fù)載受到外部干擾時,其產(chǎn)生的搖擺運動必然會對無人機(jī)的性能產(chǎn)生負(fù)面影響。應(yīng)用LQR控制器和滾動納什控制器后,2個四旋翼無人機(jī)和吊掛負(fù)載的平面運動軌跡分別如圖6所示。
由圖6可知,因為LQR控制器只是簡單地將各目標(biāo)函數(shù)相加,而未考慮無人機(jī)之間的互相影響,因此其效果比應(yīng)用納什控制器要差一些。而對于納什控制器,通過合理地設(shè)置目標(biāo)函數(shù)J1和J2之后,無人機(jī)1仍然能夠較好地跟蹤參考軌跡,與此同時,無人機(jī)2則能夠通過不斷調(diào)整自身位置的方式,一方面讓吊掛負(fù)載可以從外部干擾的作用下重新恢復(fù)平衡,另一方面還能夠跟蹤無人機(jī)1并盡可能保持隊形。
圖6 跟蹤參考軌跡(俯視)Fig.6 Tracking a given trajectory (Top)
1) 本文在非合作博弈的框架下對有2個四旋翼無人機(jī)的吊掛飛行系統(tǒng)進(jìn)行研究,設(shè)計了一個基于狀態(tài)反饋的滾動納什控制器。
2) 該方法允許用戶通過調(diào)節(jié)無人機(jī)的目標(biāo)函數(shù)來設(shè)定不同的任務(wù),比如,用戶可以讓一架無人機(jī)主要負(fù)責(zé)路徑跟蹤,另一架則負(fù)責(zé)保持隊形和穩(wěn)定吊掛負(fù)載。
3) 與只有一個目標(biāo)函數(shù)的控制器相比,這種分布式的方法充分考慮無人機(jī)的差異性,因而使得系統(tǒng)有了更大的調(diào)節(jié)空間。
4) 本文主要針對線性時不變模型進(jìn)行了仿真驗證,在后續(xù)的工作中,將進(jìn)一步應(yīng)用于線性時變模型以及更多無人機(jī)的情況。