石 川
(億航智能設備(廣州)有限公司, 廣東 廣州 510670)
無人機在航拍、防火防災、空中物流運輸、城市空中交通以及空中編隊表演等領域中有著十分重要的作用。作為一個新興科技產品,其為社會提供了更多的便利。無人機囊括了固定翼、單旋翼、多旋翼(四旋翼、六旋翼、八旋翼等)以及撲翼機等多種形態(tài),其中,四旋翼無人機憑借其自身特性,占據了較大市場比重。
文獻[1]運用四元數結合擴展卡爾曼濾波的方式對四旋翼飛行器的姿態(tài)進行良好的估計,并與傳統(tǒng)流行的互補濾波和梯度下降法進行對比,展示出更好的魯棒性。傳統(tǒng)線性控制算法有比例積分微分(PID)[2]和線性二次型調節(jié)器(LQR)[3]等,雖然應用在四旋翼飛行器上也有比較良好的控制效果,但四旋翼飛行器是一個非線性的多輸入多輸出強耦合欠驅動的控制系統(tǒng),線性的控制算法很難解決非線性且復雜的問題。文獻[4]采用積分反步法,解決了傳統(tǒng)反步控制存在的穩(wěn)態(tài)誤差問題。文獻[5]融合了H2、H∞控制,解決了模型不確定和噪聲干擾導致控制發(fā)散的問題,但缺少對實際飛行軌跡跟蹤控制的探討。文獻[6]采用自適應積分反步控制,在文獻[4]的基礎上提高了魯棒性,降低了陣風干擾和模型不確定帶來的墜機風險。文獻[7]運用基于模型的強化學習方法實現了預先動力學未知情況下的懸??刂?。文獻[8]采用神經網絡自適應和滑??刂频姆椒?實現了四旋翼飛行器的位置姿態(tài)跟蹤和抗擾,但是由于神經網絡相對依賴硬件設備的性能,故比較難應用于低成本的真實飛機。
本文提出了一種將反步法、滑模、跟蹤微分器(TD)[9]以及擴張狀態(tài)觀測器(ESO)[9]結合的反步滑??箶_(BSMTE)控制方法,并開展了數值仿真實驗及真機驗證實驗。結果表明,所提方法應用在四旋翼飛行器上,可實現魯棒性、容錯性與抗擾性更好的飛行控制,以應對更多非線性且較為復雜和困難的環(huán)境,執(zhí)行更為艱難的任務。
假設飛行器是剛性且對稱,螺旋槳和電機也是剛體,電機的推力和阻力正比于轉子轉速的平方,電機轉動軸平行于軸方向,慣性矩陣是時不變的,忽略地面效應,忽略飛行器的彈性形變。
運用文獻[4]提供的四旋翼飛行器的動力學和運動學公式推導得出的數學建模,并結合真機實驗平臺的電機序號,給出如下定義。
(1)
式中:U1為油門控制輸入;x、y、z分別為三個線性方向;φ、θ、ψ分別為三個姿態(tài)角;m、g分別為四旋翼飛行器的質量和重力加速度;Ix、Iy、Iz為四旋翼飛行器在三個方向上的轉動慣量;Jr為轉子慣量;ω1、ω2、ω3、ω4分別為四個電機的轉速;b、d、l分別為升力系數、阻力系數和機臂長度。此處,ωd=ω1+ω2-ω4-ω3。
本節(jié)先對TD、ESO進行原理描述,隨后對反步滑??刂破鬟M行嚴格的Lyapunov穩(wěn)定性證明,并且推導出了控制律。
(1)跟蹤微分器(TD)
TD作為一種合理的過渡安排過程,目的是快速跟蹤目標輸入,并減弱由于快速響應帶來的超調,其控制器框架如圖1所示。
圖1 提出的控制器框架圖
通過函數fhan(q1,q2,r,h)來實現上述過程,具體為
(2)
式中:r、h、d分別為快速因子、步長和濾波因子;q1、q2均為輸入狀態(tài)量。
(2)擴張狀態(tài)觀測器(ESO)
ESO作為一種特殊的干擾狀態(tài)觀測器,輸入一維狀態(tài)v,其估計值v1和v的一階微分估計值v2,以及二階微分v3作為系統(tǒng)的總擾動項。其中,v1和v2除了能逼近真實狀態(tài)v和v的一階導數之外,還可以濾除部分噪聲,使得曲線更平滑,從而提高系統(tǒng)的穩(wěn)定性。其功能通過式(3)的fal(c,α,δ)來實現,其輸入輸出過程如圖1所示。
(3)
式中:c、α、δ為函數變量,無具體含義。
(3)水平位置控制器的設計
這里采用傳統(tǒng)的反步法??紤]誤差e1,其中xd是x的期望值。
e1=xd-x
(4)
定義一個Lyapunov函數
(5)
可以看出該函數是正定的。對式(5)進行求導可得
(6)
式中:f1是一個虛擬的控制量,令
(7)
代入式(6)得到
(8)
由Lyapunov穩(wěn)定性可知,該控制器是穩(wěn)定的,其中κ1為控制增益。
接著,定義一個二階跟蹤誤差
(9)
于是
(10)
繼續(xù)定義一個Lyapunov函數
(11)
可知是正定的,求導可得
(12)
(13)
此時控制器穩(wěn)定,其中κ2為控制增益,ux、U1分別為水平x方向位置控制器輸入和垂直位置控制器輸入,下同。由此可得
(14)
根據水平x方向的位置控制器,可以得出水平y(tǒng)方向的位置控制器,即
(15)
其中
反解模塊為
(16)
其中
(4)垂直位置控制器的設計
為了提升控制系統(tǒng)的魯棒性,這里引入滑??刂啤J紫?滑模面為
sz=-κ5e5-e6
(17)
其中
滑??刂频腖yapunov穩(wěn)定性推導類似水平位置控制器所采用的反步法,只是用滑模面來代替二階跟蹤誤差。根據滑??刂婆c上述水平位置控制器的反步控制公式,得到如下垂直位置控制器
(18)
(5)姿態(tài)控制器
根據上述推導,可以得出三個姿態(tài)角度控制器的控制輸入,即
(19)
(20)
(21)
其中
式中:ai(i=1,2,3,4,5)、bj(j=1,2,3)均為中間變量;sφ、sθ、sψ為三個姿態(tài)角的滑模面;ei(i=1,2,…,12)為上述控制器的誤差;其他大于0的參數均為控制增益。
本文采用文獻[4]中提供的四旋翼數值仿真模型參數進行數值仿真實驗。
(1)實驗1:抗陣風擾動實驗
軌跡跟蹤期望的三維方向為
(22)
式中:t表示仿真實驗運行時間。外界陣風擾動數值為
(23)
本實驗在引入外界陣風擾動的情況下,觀察四旋翼無人機的軌跡跟蹤性能和姿態(tài)穩(wěn)定性能是否滿足響應較快、超調量小且穩(wěn)定的控制要求,并與文獻[4]中提出的積分反步(IB)控制算法以及傳統(tǒng)的比例積分微分(PID)控制算法進行了對比。
圖2和圖3展示了四旋翼飛行器的速度以及位置信息。表1為根據圖3得出的位置跟蹤控制性能對比表,其中x、y、z方向的響應時間分別從實驗的第9 s、第5 s和第0 s開始計算,在第30 s~40 s引入了陣風擾動。由表1可見,IB算法在x、y方向上的超調量和響應時間均最小,但引入陣風擾動后,在z方向出現了較大的超調量。PID算法的響應時間較小,但3個方向均產生了較大的超調量。而本文的BSMTE算法在滿足響應時間較小的前提下,在3個方向均取得了較小的超調量,說明本文算法具有良好的抗擾動性。圖2的飛行速度信息、圖4的空間側視信息、圖5和圖6的姿態(tài)角度、角速度信息也可以佐證上述結論。
表1 實驗1位置跟蹤控制性能對比表
圖2 四旋翼飛行器的速度信息
圖3 四旋翼飛行器的位置信息
圖4 四旋翼飛行器的三維位置空間側視圖
圖5 四旋翼飛行器的姿態(tài)角度
圖6 四旋翼飛行器的姿態(tài)角速度
(2)實驗2:模型不確定性實驗
本實驗在模型不確定的情況下,使其中的單個執(zhí)行器僅提供75%的升力,另外三個執(zhí)行器提供完整的升力,來完成軌跡跟蹤任務。本實驗僅與IB算法進行對比,因在同等升力失效的情況下,PID算法控制已發(fā)散,無法完成目標任務。圖7、圖8分別為單執(zhí)行器失效15%下的速度信息及位置信息。
圖7 單執(zhí)行器失效15%下的速度信息
圖8 單執(zhí)行器失效15%下的位置信息
由圖8可以計算得出實驗2的相關控制性能數據信息,如表2所示。
表2 實驗2位置跟蹤控制性能對比表
對比可得,IB算法和本文算法的響應時間均符合控制要求,但本文算法的最大超調量遠遠小于IB算法,說明在單個執(zhí)行器失效15%的情況下,本文算法仍能達到良好的位置控制跟蹤性能。
綜合表1可知,本文算法在模型確定無失效及模型不確定有部分失效的情況下,均可以較好地滿足位置跟蹤控制要求,說明本文提出的算法具備較好的魯棒性和容錯性。圖9~圖11也佐證了這一結論。
圖9 單執(zhí)行器失效15%下的三維位置信息
圖10 單執(zhí)行器失效15%下的姿態(tài)角
圖11 單執(zhí)行器失效15%下的姿態(tài)角速度
本實驗采用億航GHOST2.0四旋翼無人機作為真機實驗平臺,如圖12所示,其整機重量為1.15 kg,其中,飛控嵌入式程序采用C/C++語言進行編寫,主控采用算力較低的STM32F4單片機。
圖12 億航GHOST2.0四旋翼無人機平臺
為驗證本文提出的BSMTE算法的容錯性和魯棒性,在實驗中采取對4號螺旋槳進行適當裁剪的方式,以確保四旋翼無人機的物理模型是不確定的。通過運用遙控器操控四旋翼無人機解鎖并起飛到空中適當高度,做一些橫滾俯仰的飛行動作,而后保持飛機水平位置懸停,觀察飛機表現,擇機降落后獲取飛行日志,進行數據分析。當4號螺旋槳進行適當裁剪后,其只能提供約75%的升力,而其他3個螺旋槳仍提供100%升力。裁剪后的4號螺旋槳和與其旋轉方向一致的正常3號螺旋槳的對比如圖13所示。
圖13 裁剪前后對比圖
本實驗截取飛行日志中(已對4號螺旋槳進行適當裁剪)飛行姿態(tài)角度、角速度和位置信息數據進行對比。通過圖14和圖15可以看出,姿態(tài)角度雖然存在小范圍的超調誤差,但是響應速度較快,靈敏度及穩(wěn)定性較高。從俯仰角和橫滾角可以看出,飛機的真實姿態(tài)響應緊貼目標角度,而偏航角會存在目標角度上下10°的波動誤差,這是由于飛機的偏航姿態(tài)控制優(yōu)先級低于橫滾姿態(tài)和俯仰姿態(tài)控制,姿態(tài)控制會調用更多的執(zhí)行器輸出給到俯仰和橫滾姿態(tài)上,從而減弱偏航姿態(tài)的控制效果。此外,本實驗使用的四旋翼無人機的4個執(zhí)行器電機安裝角度垂直于機臂所在機身平面,故螺旋槳的槳盤面平行于機臂所在的機身平面,從力學上分析,缺少一定的作用于偏航姿態(tài)的力和力矩,故偏航的控制效果稍差于橫滾和俯仰姿態(tài)。
圖14 姿態(tài)角度對比
圖15 姿態(tài)角速度對比
由圖16可看出,僅在小范圍存在超調誤差,整體位置基本沒有穩(wěn)態(tài)誤差,位置跟蹤控制性能穩(wěn)定。圖17反映了飛機的4個電機螺旋槳的控制輸出轉速差異,可明顯看出,4號執(zhí)行器電機螺旋槳的輸出轉速遠遠高于其他3個,通過提升4號電機的轉速,換取更大的升力,來補償因螺旋槳被部分裁剪而損失的升力,進而驗證了本文提出的算法具有較強的容錯性和魯棒性。
圖16 水平位置信息
圖17 4個電機控制轉速輸入
圖16中,對比700 s左右x和y的位置信息,可以看出飛機處于水平懸停的狀態(tài)。圖14中也可以看出,700 s前后,飛機的俯仰角和橫滾角都趨于0°且航向角誤差也是趨于0°。圖15中同一時間左右的俯仰角速度和橫滾角速度也是緊貼目標角速度且趨近于0°/s的。這表明,使用本文提出的BSMTE算法的四旋翼無人機在懸停狀態(tài)下的位置控制和姿態(tài)控制精度較高。同一時刻,圖17中的4號電機轉速控制輸入約為1 750,3號電機轉速控制輸入近似為1 580,由于飛控的轉速映射范圍為1 100~1 900,所以差值約占總范圍的0.21,約為五分之一,而誤差是由位置偏差導致的姿態(tài)小角度修正所產生。上述結論從真實數據上驗證了執(zhí)行器部分失效,進而驗證了螺旋槳提供的升力缺失,即螺旋槳有破損或人為裁剪等情況。
本文提出了BSMTE控制算法,并通過數值仿真實驗和低算力真機飛行實驗,驗證了本文所提算法具有良好的姿態(tài)、位置跟蹤性能,且在有外界擾動或執(zhí)行機構部分失效的情況下,依舊可以完成指定任務,具有良好的魯棒性、容錯性和抗擾動性。后續(xù)將針對執(zhí)行器機構絕大部分失效或單個執(zhí)行器完全失效的情況展開故障檢測、分離及魯棒性更強的容錯控制研究與試驗,并且增加一定的執(zhí)行器安裝傾角,以提升偏航姿態(tài)的控制效果。