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