饒志榮 董紹江* 王 軍 蔡巍巍 劉 偉
(1.重慶交通大學 機電與車輛工程學院,重慶 400074;2.大陸汽車研發(fā)(重慶)有限公司,重慶 400074)
自治水下機器人在油氣勘探、水下救援和海洋科學中都有著廣泛的應用[1]。最初應用于執(zhí)行海洋任務的自治水下機器人(autonomous underwater vehicle,AUV)是全驅動AUV,全驅動AUV是指其驅動器數(shù)量與自由度相等。而當AUV的驅動器數(shù)量少于其自由度時則稱為欠驅動AUV。隨著海洋裝備的發(fā)展,欠驅動AUV越發(fā)體現(xiàn)出其重要性。在實際應用中,許多欠驅動AUV在潛伏或搖擺方向上缺少推進器或者其他機械結構,相比全驅動AUV質量更輕,續(xù)航更久。欠驅動AUV雖然降低了自身重量,但也給控制帶來更大困難,并且AUV本身是一個高度耦合的非線性系統(tǒng),這些因素導致對AUV的精準運動控制是極具難度的。
欠驅動AUV在垂直面上的軌跡跟蹤是欠驅動AUV運動控制研究中基本的問題之一。Subudhi等[2]提出了一種輸出反饋控制器,基于AUV線性化模型完成了其在垂直面上的軌跡跟蹤任務。賈鶴鳴等[3]采用神經(jīng)網(wǎng)絡自適應反步控制器,實現(xiàn)了AUV的變深控制。Lakhekar等[4]構造了一個增強的動態(tài)模糊滑??刂破鱽砀纳艫UV在執(zhí)行任務時的深度控制性能。
滑模控制(sliding mode control,SMC)因對各種干擾和系統(tǒng)參數(shù)變化不敏感而得到廣泛應用[5]。楊儉健等[6]對無人遙控潛水器(remotely operated vehicle,ROV)的深度軌跡跟蹤進行了研究,利用反步法設計出滑模變結構控制器,在理想和有干擾的情況下分別實現(xiàn)了軌跡跟蹤。Gao等[7]將六自由度AUV狀態(tài)方程解耦為垂直和水平兩部分,并分別設計了滑模控制器,實現(xiàn)了垂直面上的軌跡跟蹤。但以上研究并未考慮到系統(tǒng)模型本身的擾動。
SMC適用于誤差全局有界的系統(tǒng),為提高AUV的自適應能力,許多基于自適應思想的控制器被用來控制AUV。魏延輝等[8]針對AUV水平面的軌跡跟蹤控制在軸向、側向和艏向3個自由度上分別采用自適應反步法滑??刂破骱妥赃m應終端滑??刂破?,仿真結果表明兩種控制器的控制效果良好,AUV能夠對水平面上的軌跡實現(xiàn)精確跟蹤。外部干擾是影響AUV控制精度的另一個關鍵因素,具有可預測性弱、非周期、非線性的特點。非線性干擾觀測器(nonlinear disturbance observer,NDO)是一種可以減少外部干擾對系統(tǒng)控制影響的有效手段。張利軍等[9]在AUV深度的自適應輸出反饋控制設計過程中引入NDO,提升了系統(tǒng)的動態(tài)性能;文獻[10]針對水面艦艇設計了一種基于有限時間的NDO,仿真結果表明該NDO能實現(xiàn)干擾的精確估計,但其收斂時間受初始的觀測誤差影響,適用性較低,而且文獻[9]和[10]的干擾觀測器只針對常值干擾才具有良好的估計效果。以上研究主要集中在系統(tǒng)參數(shù)自適應的設計上,并以此為基礎引入其他控制算法,設計過程繁瑣,較少關注外界干擾本身的估計。
本文提出一種基于NDO的自適應終端滑模控制器,以解決欠驅動AUV在深度路徑跟蹤中受外部干擾和內(nèi)部擾動而難以精準控制的問題。通過設計NDO估計外部干擾,降低外部干擾對欠驅動AUV運動控制的影響,再使用自適應終端滑模對NDO未能估計的干擾進行控制。針對傳統(tǒng)滑模收斂時間長和抖振嚴重的問題,本文采用的自適應終端滑??刂破髂芨焖俚貙崿F(xiàn)收斂,并改善傳統(tǒng)滑模中由符號函數(shù)帶來的抖振現(xiàn)象。
欠驅動AUV推進系統(tǒng)主要由主推進器、方向舵和水平舵組成。由于在橫移和垂向上缺少推進器,所以屬于欠驅動系統(tǒng)。為了分析欠驅動AUV的運動狀態(tài)方程,定義了兩個坐標系,如圖1所示,其中{B}和{E}分別表示運動坐標系和固定坐標系。
圖1 欠驅動AUV運動坐標系和固定坐標系Fig.1 Underactuated AUV motion coordinate system and the fixed coordinate system
對欠驅動AUV深度控制進行研究,需要建立其在垂直面上的運動學和動力學模型??紤]欠驅動AUV實際運行時的工作環(huán)境,由于難以獲得其精準數(shù)學模型,需要對欠驅動AUV數(shù)學模型進行必要、合理的簡化。假設欠驅動AUV本體為剛體,并且形狀與質量分布關于縱向和橫向對稱,重心和浮心位于同一垂直線上,速度較低,因此可將欠驅動AUV垂直面上的運動學和動力學模型從六自由度狀態(tài)方程中解耦出來。首先假設欠驅動AUV的垂直面與水平面的運動之間相互解耦,并且滿足v=0,ψ=φ=0,p=r=0,忽略欠驅動AUV橫搖方向運動對其縱搖方向運動的干擾,可得如下垂直面運動學與動力學模型[12]。
(1)
(2)
(3)
(4)
式中,m、W和B分別表示欠驅動AUV的質量、重力和浮力;Iyy為欠驅動AUV關于y軸的慣性矩;Z{·}和M{·}為欠驅動AUV的水動力參數(shù),下標{·}為加速度水動力系數(shù)和耦合項水動力系數(shù)的統(tǒng)稱;δs為欠驅動AUV舵角輸入,下標s表示動力源;Text為欠驅動AUV所受外部干擾。
(5)
由于外部干擾Text是整個系統(tǒng)所受干擾的最主要部分,為消除這部分干擾對欠驅動AUV運動的影響,通過引入NDO來得到外部干擾值并進行補償[13]。在設計控制器時將外部干擾Text轉為估計T2。假設2是T2的估計值,ext是Text的估計值,顯然可得ext和2滿足關系式:
(6)
式中,G(x)=[0 0A3]T;E(x)=[0 0 1]T;F(x)=[-Ux2+T1x3A1x3+A2sinx2+A4|x3|x]T。
設計如下形式的NDO
(7)
式中,h為NDO的內(nèi)部變量;2為T2估計值的輸出;f(x)=f1x1+f2x2+f3x3,f1,f2和f3均為常數(shù)且都大于零;
(8)
NDO雖然能夠對外部干擾進行補償,但依舊存在部分外部干擾未能得到有效補償?shù)膯栴},這一小部分的外部干擾仍然會對欠驅動AUV的系統(tǒng)參數(shù)造成擾動,導致整個控制系統(tǒng)的精度下降。SMC為實現(xiàn)較好的控制,常采用較大的控制增益,致使控制系統(tǒng)抖振嚴重。與SMC相比,終端滑模利用滑模面上的非線性項,可實現(xiàn)系統(tǒng)誤差的快速收斂并能有效降低傳統(tǒng)SMC的抖振。本文通過在NDO后引入自適應終端滑模對未補償?shù)耐獠扛蓴_和系統(tǒng)內(nèi)部擾動進行控制。基于NDO的自適應終端滑??刂葡到y(tǒng)設計如圖2所示。
圖2 基于NDO的自適應終端滑??刂葡到y(tǒng)結構Fig.2 System structure of the adaptive terminal sliding mode control based on NDO
(9)
定義Λ的估計值為,并且滿足關系同樣由于對外部干擾缺乏先驗知識,并假設Λ相對系統(tǒng)的動態(tài)特性變化緩慢,即則存在
根據(jù)欠驅動AUV的狀態(tài)方程,利用反步法設計滑模面函數(shù),取設定軌跡為zd。定義第一個滑模面函數(shù)S1為
S1=x1-zd
(10)
考慮到T1是狀態(tài)方程中的內(nèi)部擾動量,需要降低該值對系統(tǒng)控制的影響。定義1是T1的估計值,且取自適應律公式(11)計算1。
(11)
構建李雅普諾夫函數(shù)V1為
(12)
定義第一個虛擬輸入α1為
(13)
定義第二個滑模面函數(shù)S2及李雅普諾夫函數(shù)V2為
S2=x2-α1
(14)
(15)
定義第二個虛擬輸入α2及第三個滑模面函數(shù)S3為
(16)
S3=x3-α2
(17)
然后構建一個終端滑模面函數(shù)S4為
(18)
式中,n1、n2、m1和m2均為常數(shù),sign()為符號函數(shù)。
(19)
根據(jù)以上自適應律及所設計的滑模面函數(shù),可建立舵的控制輸入為
(20)
定義一個包括NDO和終端滑模面的李雅普諾夫函數(shù)V3為
(21)
為了保證所設計的欠驅動AUV深度控制器的有效性,利用李雅普諾夫原理分析系統(tǒng)穩(wěn)定性。
(22)
(23)
(24)
同樣從式(8)、(19)和(23)可得
(25)
(26)
(27)
仿真結果如圖3~9所示。圖3為欠驅動AUV分別在基于NDO的自適應終端滑模控制,無NDO的自適應終端滑模控制,傳統(tǒng)比例、積分和微分(proportion integral differential,PID)控制和基于NDO的傳統(tǒng)滑模控制下的深度跟蹤曲線,其中PID參數(shù)的確定采用試湊法進行調(diào)節(jié),最后選擇一組較為理想的參數(shù):比例項kp=50,積分項ki=9,微分項kd=60。圖4則展示了欠驅動AUV在上述4種不同控制器下的深度跟蹤誤差。
圖3 欠驅動AUV深度跟蹤曲線Fig.3 Underactuated AUV depth tracking curves
圖4 欠驅動AUV深度跟蹤誤差Fig.4 Underactuated AUV depth tracking error
欠驅動AUV整個運動過程可分為t∈[0,30)的定深階段和t∈[30,80]的深度跟蹤階段,其中系統(tǒng)在t∈[10,20]和t∈[40,60]時都將受到外界干擾。但從圖3和圖4可以看出在基于NDO的自適應終端滑模控制下,無論是定深階段還是深度跟蹤階段,欠驅動AUV都能實現(xiàn)準確的深度跟蹤控制。在無NDO自適應終端滑模控制下,欠驅動AUV在t∈[0,10]未受外部干擾時能實現(xiàn)定深控制,但從10 s開始受到外界干擾后誤差增大,未能實現(xiàn)有效的深度跟蹤控制。由此可見NDO在補償外界干擾方面是非常有效的。
為了證明所設計自適應終端滑模控制器在無NDO的情況下同樣具有較強的抗干擾能力,設計傳統(tǒng)PID與之對照。從圖3和圖4可以看出無NDO的自適應終端滑模控制器和PID控制器在受到外界干擾時都會出現(xiàn)較大的跟蹤誤差,但無NDO的自適應終端滑模跟蹤誤差均比同期的傳統(tǒng)PID跟蹤誤差小,而且無NDO的自適應終端滑??刂葡啾葌鹘y(tǒng)PID控制器響應更為迅速。同時當外界干擾消失后,無NDO的自適應終端滑??刂破鞅葌鹘y(tǒng)PID控制器能更快收斂至設定軌跡。可以看出本文所設計的控制器在無NDO的情況下同樣具有較強的抗干擾能力。
圖5為基于NDO的傳統(tǒng)滑模控制和基于NDO的自適應終端滑??刂频那夫寗覣UV深度跟蹤誤差。其中基于NDO的傳統(tǒng)滑模跟蹤誤差最大值為0.22 m,基于NDO的自適應終端滑模跟蹤誤差最大值為0.137 5 m,前者誤差最大值是后者的1.6倍;此外基于NDO的傳統(tǒng)滑??刂圃诙ㄉ铍A段的峰值時間為3.5 s,而基于NDO自適應終端滑模在定深階段的峰值時間為2.1 s,前者峰值時間是后者的1.67倍。說明基于NDO的自適應終端滑模收斂更快,精度更高。
圖5 基于傳統(tǒng)滑模與自適應終端滑模的欠驅動AUV深度跟蹤誤差Fig.5 Underactuated AUV depth tracking error based ontraditional sliding mode and adaptive terminal sliding mode
為了進一步驗證所設計的自適應終端滑??刂破鞯男阅?,將其與基于NDO的傳統(tǒng)滑??刂七M行仿真實驗對比。實驗結果如圖6所示,其中圖6(a)為基于NDO的傳統(tǒng)滑模舵角控制曲線,圖6(b)為基于NDO的自適應終端滑模舵角控制曲線。對比圖6(a)、(b),可以看出基于NDO的傳統(tǒng)滑??刂葡到y(tǒng)抖振現(xiàn)象明顯,與之相比基于NDO的自適應終端滑??刂魄€整體平滑,說明所設計終端滑??刂破髦衝1|S3|m1sign(S3)、n2|S3|m2sign(S3)和Wμ這3項能夠對傳統(tǒng)滑模控制的抖振現(xiàn)象起到明顯的改善作用。
圖6 基于NDO的傳統(tǒng)滑??刂坪突贜DO的自適應終端滑??刂频那夫寗覣UV舵角控制曲線Fig.6 Rudder angle control curves of underactuated AUVs based on NDO traditional sliding mode control and NDO adaptive terminal sliding mode control
圖7 基于NDO的終端滑??刂葡到y(tǒng)外部干擾實際值和觀測值Fig.7 Actual and observed values of external disturbances of terminal sliding mode control system based on NDO
在基于NDO的終端滑??刂葡到y(tǒng)中,外部干擾和內(nèi)部擾動的實際值與觀測值分別如圖7、8所示。由圖7可知NDO能夠迅速準確地估計到外部干擾,自適應算法在整個過程對內(nèi)部擾動實現(xiàn)有效的估計。本文所設計欠驅動AUV在前30 s處于定深階段,30~80 s則處于連續(xù)深度跟蹤階段,從圖8中可以看出,0~30 s的定深階段的觀測值與實際值的誤差更大,這是因為自適應算法本身需要運行過程中不斷實時迭代系統(tǒng)最新狀態(tài)信息,而在定深階段系統(tǒng)狀態(tài)變化非常緩慢,不能為系統(tǒng)提供更多的有效信息,致使定深階段的觀測值與實際值之間稍有差距。
圖8 基于NDO的終端滑??刂葡到y(tǒng)內(nèi)部擾動實際值和觀測值Fig.8 Actual and observed values of internal disturbances of terminal sliding mode control system based on NDO
圖9 垂蕩速度w變化曲線Fig.9 Plot showing variation of heave speed w
綜合以上實驗結果和理論分析,所設計的基于NDO的自適應終端滑??刂破髂軌蛴行崿F(xiàn)欠驅動AUV的定深和深度跟蹤控制,具有良好的抗外部干擾和內(nèi)部擾動能力。
(1)針對欠驅動AUV深度運動控制問題,設計了基于NDO的自適應終端滑模控制器。針對外部干擾,通過引入NDO對外部干擾進行觀測,并對NDO觀測的外界干擾誤差和欠驅動AUV系統(tǒng)的內(nèi)部擾動引入自適應終端滑??刂破鬟M行補償,結果表明所設計的控制器具有良好的控制性能。
(2)針對本文所設計的基于NDO的自適應終端滑??刂破鞯姆抡娼Y果表明,該控制器的跟蹤誤差最大值為0.137 5 m,峰值時間為2.1 s,具有良好的控制精度和抗干擾能力。與傳統(tǒng)滑??刂葡啾?,自適應終端滑模控制器能夠有效改善傳統(tǒng)滑??刂频亩墩瘳F(xiàn)象,降低欠驅動AUV執(zhí)行機構因抖振而造成的損害。
目前本文研究只關注了欠驅動AUV在垂直面上的運動控制,關于欠驅動AUV在三維空間中的路徑跟蹤控制還需要進一步的研究。