仇 杰,邱亞峰,顧捷,王月華
(南京理工大學機械工程學院,江蘇南京 210094)
近年來,由于四旋翼飛行器具有低成本、高靈活性、體積小、重量輕的優勢,使其在軍事偵察、自然災害、信息測繪、交通控制、城市應急救援、電影拍攝等領域得到了廣泛應用[1-2]。然而在控制方面,四旋翼飛行器也存在如非線性、多變量、欠驅動性、抗干擾能力弱及易耦合性強等問題[3]。
目前,國內外學者針對如何控制四旋翼的位置和姿態問題已提出許多用于解決無人機控制問題的算法,如PID 控制器、反步法、基于神經網絡、基于滑模控制的自適應控制。Jones K等人設計了基于線性PID的控制律,實現了飛行控制的功能[4],但是在外界干擾時控制效果不太理想,不能適應復雜多變的環境。Patel A R等人提出了一種基于解析模型的滑模PD控制器來實現對旋翼的控制[5],但是其自適應能力較差。田聰玲、王日俊等提出的基于反步法的非線性控制器[6-7],雖能實現對飛行器的有效控制,但是其依賴于模型的準確建立。陳彥民等人利用分散PID神經元網絡理論設計了控制律[8],雖然具有較高的自適應性與魯棒性,但控制器的計算量大,算法復雜。
因此本文提出了一種基于雙層回路的非線性控制器設計方法,旨在解決四旋翼無人偵察器的姿態穩定控制與位置追蹤問題。建立外層回路的模糊PID控制器來解決位置追蹤問題,它既保持了模糊控制算法不依賴精確模型、控制靈活快速的優點,又結合了PID控制算法靜態誤差小的優勢;建立內層回路的滑模控制器來實現無人機姿態穩定問題,滑動模態對滿足匹配條件的參數變化與外部擾動具有較強的魯棒性[9]。
為了更好地研究四旋翼無人偵察器系統,首先需要建立一個準確的動力學模型,其機體模型如圖1所示:

圖1 四旋翼無人偵察器模型圖
偵察器的運動通過4個電機來驅動。假設偵察器在無風環境下低速飛行,并暫且忽略由安裝誤差帶來的系統不確定性以及四旋翼飛行器飛行過程中所受的干擾,則經過一系列的推導和簡化[10],可得到如下動力學模型表達式
(1)
式中,m為偵察器的總質量;θ為俯仰角,γ為滾轉角,φ為偏航角;[x,y,z]代表偵察器在慣性坐標系中坐標位置;l為偵察器半徑,代表電機到機體中心的距離;Ii代表偵察器繞每個軸的轉動慣量;εi為阻力系數;ui為虛擬的控制輸入。
式(1)可以分解為一個全驅動子系統和一個欠驅動子系統[11]。其中,全驅子系統可以表示為
(2)
欠驅動子系統可以表示為:
(3)
(4)
針對本文所提的雙層閉環回路控制器,設計如圖2所示的系統結構。其中,位置控制器根據三個期望位置信號和位置反饋信息進行高度和軌跡控制,在產生虛擬輸入u1的同時,也給姿態控制器產生期望俯仰角θd和期望偏航角φd;姿態控制器根據三個期望姿態角和姿態反饋信息產生虛擬輸入u2、u3、u4,從而實現偵察器的穩定控制和自適應。

圖2 偵察器控制結構圖
根據全驅動通道z-γ表達式(2),高度子系統期望控制輸入u1d可表示為
(5)
式中,Δz=zd-z。
為了使u1快速收斂于期望輸入u1d,可設計其一階導數為飽和函數
(6)
式中,k1、k2、k3為控制參數,kp、ki、kd為更新參數,sat(·)為標準飽和函數,其具體定義如下
(7)
考慮到飛行器控制的實際情況,式(5)中kp、ki、kd的值應該是隨著飛行控制要求而變化的,因此本文將采用模糊PID控制[12]的方法實時調整PID參數,從而實現z→zd。

(8)
對式(8)求導可得
(9)
根據式(9)可設計如下滑模控制律[13],使sγ在有限時間內到達0:
(10)
式中cγ>0,Mγ>0,kγ>0。
則式(9)可簡化為
(11)
建立Lyapunov函數為:
(12)
則對式(12)求導可得:
(13)


(14)
式中
根據式(14),定義誤差方程為
(15)
式中,c、s分別代表三角函數cos和sin。
則根據式(15)可設計滑模面為
s=c1e1+c2e2+c3e3+e4
(16)
式中,ci>0(i=1,2,3)。
則對式(16)求導可得
(17)
為了使s在有限時間內到達0,根據式(17)設計如下滑模控制律
(18)
式中,M>0,ku>0。則式(15)可簡化為
(19)
建立李雅普諾夫函數為
(20)
則式(20)的一階導數為
(21)

模糊PID控制器設計的關鍵是要確定高度誤差e和高度誤差變化率ec與kp、ki、kd三個參數之間的模糊關系[14],從而使得偵察器在不同飛行控制要求下,能不斷檢測e和ec,利用模糊規則進行模糊推理,以實現對PID參數的在線修正,最終獲得良好的動態和靜態控制性能。考慮到PID參數各自的作用和相互之間的互聯關系,并根據以往經驗制定如下模糊規則表,見表1。

表1 kp模糊規則
根據模糊控制器設計原理,按如圖3所示模糊控制結構進行模糊PID控制器的設計[15]。

圖3 Fuzzy-PID控制結構圖
此控制器由兩輸入、三輸出構成,其中輸入由系統高度誤差e和誤差變化率ec組成,將PID控制器的三個參數kp、ki、kd作為輸出。將輸入、輸出的變化范圍分別定義為模糊集上的論域,具體如下
e,ec={-3,-2,-1,0,1,2,3}
kp,kd={-3,-2,-1,0,1,2,3}
ki={-0.06,-0.04,-0.02,0,0.02,0.04,0.06}
選取“負大(NB)”、“負中(NM)”、“負小(NS)”、“零(ZO)”、“正小(PS)”、“正中(PM)”、“正大(PB)”來描述系統變量的變化,則可將系統子集表示為{NB,NM,NS,ZO,PS,PM,PB}。其隸屬度函數如圖4所示(此處僅以e和kp為例)。

圖4 e的隸屬度函數

圖5 kp的隸屬度函數
為驗證本文所提出的雙層回路控制算法的有效性,利用MATLAB進行軌跡跟蹤仿真,觀察模糊PID與滑模控制器分別在位置控制與姿態角控制方面的效果。仿真中偵察器參數如表2所示。

表2 偵察器各項參數
仿真的跟蹤軌跡定義如下
(22)
圖6為位置響應曲線圖,軌跡跟蹤的結果如圖6(d)所示。實際響應收斂速度較快,且跟蹤誤差較小。

圖6 位置跟蹤響應曲線
期望偏航角φ在仿真時給定,其值為π/3,而期望俯仰角和滾轉角由姿態控制器確定。從圖7可以看出,俯仰角θ與滾轉角γ均在1s左右到達穩態且超調量較小。

圖7 姿態響應曲線
本文針對偵察器飛行控制問題進行了研究,設計了基于雙層閉環回路的控制器:其外層采用模糊PID控制器進行軌跡追蹤控制,內層采用滑模控制器來解決姿態控制問題。在MATLAB/Simulink環境下建立了偵察器的非線性模型并進行了軌跡跟蹤仿真,由仿真結果可以看出,此控制器在位姿控制上具有良好的自適應性及魯棒性,能夠更好地實現對偵察器的飛行控制。