高 陽,張曉暉,高玉兒,尚 婷,楊啟航
西安理工大學 自動化與信息工程學院,西安 710048
水下機械臂在海洋資源的開發(fā)和利用過程中扮演的角色越來越重要,它已成為水下機器人進行深海資源研究與勘探的重要工具,在海洋探索和資源開發(fā)中起到至關重要的作用[1]。與傳統(tǒng)的工業(yè)機械臂相比,水下機械臂動力學模型具有時變、非線性、外部干擾和水動力干擾的特點,成為限制水下機械臂作業(yè)的主要因素。為進一步提升水下機械臂的運動性能,需要對水下機械臂的動力學模型以及運動控制方法進行更進一步的研究[2]。
國內外學者在水下機械臂的控制方面提出許多方法。謝宏等[3]提出了機械臂卷積神經(jīng)網(wǎng)絡滑模軌跡跟蹤控制方法,通過此算法實現(xiàn)對機械臂軌跡跟蹤的精確控制;魏娟等[4]提出了一種改進的徑向基函數(shù)模糊神經(jīng)網(wǎng)絡算法來控制機械臂,使得控制系統(tǒng)的控制精度提高、收斂速度加快,有著良好的魯棒性和控制性;Soltanpour等[5]提出了一種用于機器人手臂位置跟蹤控制的模糊自適應滑??刂?,降低了輸入的計算量和抖動現(xiàn)象;劉建昌等[6]設計的高斯徑向基函數(shù)神經(jīng)網(wǎng)絡補償器可有效地補償機械臂動力學模型的非線性,并具有較強的泛化能力和自適應能力;He等[7]采用徑向基函數(shù)神經(jīng)網(wǎng)絡對機器人的動力學進行估計,成功地補償了系統(tǒng)不確定性影響,提高了機器人系統(tǒng)的魯棒性;楊亮等[8]采用RBF神經(jīng)網(wǎng)絡處理動力學參數(shù)不確定問題,將動力學分成兩部分,分別設計兩個神經(jīng)網(wǎng)絡同時處理,較好地克服電機參數(shù)漂移對跟蹤控制性能的影響;徐智浩等[9]設計一種自適應模糊神經(jīng)網(wǎng)絡控制器,采用模糊神經(jīng)網(wǎng)絡補償器,實現(xiàn)對系統(tǒng)中包括LuGre摩擦在內的非線性環(huán)節(jié)的逼近,并利用滑??刂祈棞p小逼近并利用滑??刂祈棞p小逼近誤差。
RBF神經(jīng)網(wǎng)絡對非線性連續(xù)函數(shù)有著優(yōu)良的動態(tài)逼近能力與自適應能力,能夠以任意精度近似各種非線性函數(shù)和動態(tài)系統(tǒng),且學習收斂速度快,需要的條件較少,網(wǎng)絡結構簡單,具有良好的泛化能力,能夠大幅度提高設計和仿真的效率。因此,通過將RBF神經(jīng)網(wǎng)絡與傳統(tǒng)滑??刂葡嘟Y合,能夠有效地改善滑??刂频摹岸墩瘛比毕荨5窠?jīng)網(wǎng)絡逼近分段連續(xù)函數(shù)的能力較差正是其進行摩擦補償?shù)碾y點所在,對于摩擦這類難以精確獲取模型的參數(shù),模糊補償方法簡單,不要求被控系統(tǒng)的精確數(shù)學模型,有著良好的動態(tài)性能。
基于以上研究,本文針對水下機械臂動力學建模復雜且控制算法精度不高的現(xiàn)有問題,建立了水下機械臂的精準動力學模型,并結合RBF神經(jīng)網(wǎng)絡控制和模糊控制在滑??刂破鲀?yōu)化設計過程中的有效性,提出一種復合控制策略,該策略使用RBF神經(jīng)網(wǎng)絡逼近建模參數(shù)的不確定項,利用模糊控制補償摩擦力造成的建模影響。通過仿真實驗驗證,本文針對水下機械臂提出的控制算法有較好的綜合控制性能,能夠實現(xiàn)良好的控制效果。
Lagrange法是通過計算控制系統(tǒng)的動能和勢能,基于Lagrange約束得到動力學方程。由Lagrange法可以得到一組形式簡潔的動力學方程,適合于計算機高速求解。本文使用Lagrange法求解機械臂動力學方程[10]。理想機械臂的動力學模型為:
式中,MB(θ)是n×n階正定慣性力矩陣,C(?)是n×n階離心力和哥氏力矩陣,其中GB(θ)是n×1階重力矩陣,τ是關節(jié)力矩,θ、?、?依次是關節(jié)的角度、角速度、角加速度矩陣。二連桿串聯(lián)機械臂模型示意圖如圖1所示。
圖1 二連桿串聯(lián)機械臂示意圖Fig.1 Schematic diagram of two-link series manipulator
基于Lagrange方法得到二連桿串聯(lián)機械臂動力學參數(shù)為:
式中,c1=cosθ1,c2=cosθ2,s2=sinθ2,c12=cos(θ1+θ2)。
由于水下機械臂所處的工作環(huán)境復雜,控制系統(tǒng)的穩(wěn)定性會受到水流、摩擦、外部干擾等因素的影響,因此水下機械臂的動力學分析需要考慮到部件與水流相對運動所受的力。
由流體力學可知,機械臂在水下的受力主要由水阻力Fd、附加質量力Fm、浮力Ff和升力Fl組成。
假設機械臂各連桿均是規(guī)則圓柱體,則升力為0。
根據(jù)Morison方程[11],水阻力和附加質量力為:
式中,dFd和dFm分別表示連桿單位厚度所受到的水阻力和附加質量力,ρ是流體的密度,D表示連桿的直徑,A是水下機械臂連桿的橫截面積,v是連桿速度函數(shù),Cd是水阻力系數(shù),Cm是附加質量力系數(shù)。由于實際的水阻力系數(shù)和附加質量力系數(shù)很難測量,一般使用常數(shù)。查閱相關文獻后,本文取Cd=1.1,Cm=1[12]。
1.1.1 水阻力矩
當物體運動時,就會受到阻力的影響,水阻力就是由于機械臂與水的相對運動引起的。
關節(jié)1的角速度和關節(jié)2的角速度?使連桿1產(chǎn)生法向速度,從而導致水阻力矩τD1的產(chǎn)生[13],連桿1的水阻力矩為:
式中,x1是單位厚度dx1距離連桿1底端的長度,x2是單位厚度dx2距離連桿2底端的長度,l1是連桿1的長度,l2是連桿2的長度。
關節(jié)1的角速度?和關節(jié)2的角速度也使得連桿2產(chǎn)生法向速度,進而導致水阻力矩τD2的產(chǎn)生[13],同理可得,連桿2的水阻力矩為:
二連桿串聯(lián)機械臂計算得到的水阻力矩為:τD=,水阻力矩陣DW為:
其中:
1.1.2 附加質量力矩
當物體在水中做加速運動時,物體周圍的水也跟隨其做加速運動,就會存在一個作用力使水做加速運動,同時物體必然受到一個反作用力,這個反作用力就稱為附加質量力[13]。
連桿1所受的附加質量力矩τA1為:
連桿2所受的附加質量力矩τA2為:
由式(10)和式(11)知,附加質量力矩表達式為:τA=,求得矩陣DA和MA為:
由于重力和浮力方向相反,所以假設連桿重心和浮心重合的情況下,用等效重力代替重力和浮力[14],則等效重力為:
式中,mi是連桿i的重量;g是重力加速度;V i是連桿i的體積;ρ是水的密度;ρi是連桿i的密度。
所以兩個連桿的等效重力G(θ)為:
依據(jù)以上分析,建立基于Lagrange和Morison的水下機械臂動力學模型:
式中,M(θ)=MB(θ)+MA(θ)是含有部分附加質量力矩的正定慣性矩陣,表示離心力和哥氏力矩陣,是含有水阻力矩和部分附加質量力矩的矩陣,G(θ)∈Rn是等效重力矩陣,表示摩擦力矩陣,τd∈Rn是外部干擾,τ∈Rn是控制力矩。
設機械臂實際角度為θ(t),目標角度為θd(t),則跟蹤誤差為:
定義滑模誤差函數(shù)為:
其中Λ=ΛT>0,聯(lián)立式(17)與式(18),則:
結合式(16),可得:
式中:
水下機械臂動力學模型中的參數(shù)主要分為以上兩類,而大多數(shù)控制算法的改進針對這兩種不同類型的參數(shù)使用同一種控制策略,由于水下機械臂控制系統(tǒng)的多耦合和非線性的特點,單獨以神經(jīng)網(wǎng)絡或模糊控制作為控制策略存在局限性,對于這兩種不同性質的參數(shù)使用不同的算法逼近是較為合理的選擇。
對參數(shù)M、C、D、G使用整體RBF神經(jīng)網(wǎng)絡,不能精確地重構機械臂的水動力學方程[15]。而分塊RBF神經(jīng)網(wǎng)絡可以對每個神經(jīng)網(wǎng)絡單獨調整,從而簡化了設計,實現(xiàn)更快的權重更新過程。
本文擬采用4個RBF網(wǎng)絡分別逼近M(θ)、C(?)、D(?)和G(θ)。神經(jīng)網(wǎng)絡是一種具有高度非線性的連續(xù)時間動力系統(tǒng),它有著很強的自學習功能和對非線性系統(tǒng)的強大映射能力[16]。對于伺服系統(tǒng)而言,摩擦環(huán)節(jié)是提高系統(tǒng)性能的障礙,使系統(tǒng)響應出現(xiàn)爬行、振蕩或穩(wěn)態(tài)誤差[17],本文基于模糊補償摩擦力F(?)的系統(tǒng)控制方法設計控制律。
(1)對f進行逼近
式中,ε為神經(jīng)網(wǎng)絡逼近誤差。使用RBF神經(jīng)網(wǎng)絡,對(x)中的各項分別進行逼近:
自適應律取:
(2)對F的逼近
由于機械臂的摩擦力只與關節(jié)角速度相關,因此用于逼近摩擦力的模糊系統(tǒng)可表示為
式中,ξ(?)為模糊系統(tǒng)的基函數(shù)向量,Θ為自適應調節(jié)參數(shù)。
ξ(?)為維向量,其第l1,l2,…,l n個元素為:
式中,分別為-π/6,-π/12,0,π/12和π/6,θ?i的隸屬函數(shù)如圖2所示。
圖2 的隸屬函數(shù)Fig.2 Membership function of?
基于傳統(tǒng)模糊補償?shù)目刂破髟O計方法,設計模糊系統(tǒng)的自適應律為:
得到RBF網(wǎng)絡和模糊系統(tǒng)的輸出,設計控制律為:
式中,RBF神經(jīng)網(wǎng)絡對f的估計值為?,模糊系統(tǒng)對摩擦力F的補償輸出為?,K v是對稱正定矩陣,v是克服RBF神經(jīng)網(wǎng)絡逼近誤差ε的魯棒項。
魯棒項設計為:
定義Lyapunov函數(shù)為:
對Lyapunov函數(shù)求導可得:
考慮到水下機械臂動力學的特性,將式(24)和式(28)代入式(32),得:
由于
則?≤0,根據(jù)李雅普諾夫穩(wěn)定性定理,控制系統(tǒng)的穩(wěn)定性可證。
根據(jù)設計合適的各種控制函數(shù)項和算法,本文設計的水下機械臂控制原理示意圖如圖3所示。
圖3 水下機械臂控制原理Fig.3 Control principle of underwater manipulator
仿真使用的二連桿串聯(lián)水下機械臂的尺寸為:連桿1的質量m1=6 kg,長度l1=0.45 m,等效直徑D1=0.1 m,密度ρ1=1 698 kg/m3;連桿2的質量m2=4 kg,長度l2=0.275 m,等效直徑D2=0.1 m,密度ρ2=1 852 kg/m3[18]。
二連桿串聯(lián)水下機械臂的關節(jié)角度的期望值為θ1d=θ2d=0.1 sint,關節(jié)角度和角速度的初值設置為:
二連桿串聯(lián)水下機械臂水動力學方程參數(shù)設置為:
(1)帶有部分附加質量力矩的慣性矩陣為:
(2)離心力和哥氏力矩陣C(?)由公式(3)求得。
(3)水 阻 力 矩 陣Dw(?)和 部 分 附 加 質 量 力 矩DA(?)的矩陣為:
(4)等效重力矩陣G(θ)由公式(15)求得。
(5)摩擦模型為一般模型:庫倫摩擦力+黏性摩擦力,則摩擦力矩陣F(?)為:
其中,K1和K2分別表示庫倫摩擦系數(shù)和黏性摩擦系數(shù),取K1=0.2,K2=3。
(6)假設外加干擾項和水下機械臂期望運動軌跡一致,則外加干擾τd是0.1sint。
二連桿串聯(lián)水下機械臂控制算法參數(shù)設置為:
本文四個RBF神經(jīng)網(wǎng)絡的高斯函數(shù)中,均值c i取[-1-0.5 0 0.5 1],標準差b=10,權值矩陣中任意元素初值取0.1,滑模系數(shù)Λ=diag(10,10),K v=diag(30,30),魯棒項中εn=0.1,bd=0.1,自適應律中FM、FC、FD、FG取對角陣,每個元素取值為100。
本文使用了4種方法對二連桿串聯(lián)水下機械臂控制系統(tǒng)進行仿真實驗。其中,整體RBF神經(jīng)網(wǎng)絡、分塊RBF神經(jīng)網(wǎng)絡和本文提出的控制算法的參數(shù)基本一致。關節(jié)1的輸出力矩仿真如圖4所示,關節(jié)2的輸出力矩仿真如圖5所示,兩個關節(jié)的角度跟蹤曲線如圖6所示,誤差曲線如圖7所示。
圖4 不同算法下關節(jié)1的輸出力矩Fig.4 Output torque of joint 1 under different algorithms
圖6 兩個關節(jié)的角度跟蹤Fig.6 Angle tracking of two joints
由圖4和圖5可以得到,本文提出的算法有效地消除了滑??刂扑惴ǖ奶烊蝗毕荨墩?,并且它的響應速度更快,能夠更穩(wěn)定、更快地輸出合適的力矩。根據(jù)圖7結果,對機械臂的關節(jié)角度跟蹤誤差從響應速度、均方差、平均誤差和最大誤差四個方面進行分析,結果如表1所示。
表1 二連桿水下機械臂各關節(jié)的角度跟蹤誤差分析Table 1 Angle tracking error analysis of each joint of two-link underwater manipulator
圖5 不同算法下關節(jié)2的輸出力矩Fig.5 Output torque of joint 2 under different algorithms
圖7 兩個關節(jié)的跟蹤誤差Fig.7 Tracking error of two joints
由表1可知,在二連桿串聯(lián)水下機械臂控制系統(tǒng)的響應時間上,整體RBF滑??刂频捻憫獣r間較長,模糊分塊RBF滑??刂频捻憫獣r間相比較其他控制算法大幅度降低,關節(jié)1的響應時間是1.021 s;關節(jié)2的響應時間是1.059 s,體現(xiàn)出了本文算法的響應速度有了顯著提高。
在水下機械臂控制系統(tǒng)的軌跡跟蹤誤差上,傳統(tǒng)的滑模控制的均方差、平均誤差和最大誤差都是這四種控制算法中最大的,存在需要改良的缺陷。相比而言,整體RBF滑??刂坪头謮KRBF滑??刂普`差會小很多,而本文的模糊分塊RBF滑模算法的誤差是四種控制算法中最小的,關節(jié)1的均方差是1.35×10-6rad,平均誤差是2.83×10-4rad,最大誤差是2.03×10-2rad;關節(jié)2的均方差是4.94×10-8rad,平均誤差是5.86×10-5rad,最大誤差是3.81×10-3rad。
本文算法與分塊RBF滑模控制算法對比,關節(jié)1的平均誤差降低了25.3%,關節(jié)2的平均誤差降低了93.1%;與整體RBF滑??刂扑惴▽Ρ?,關節(jié)1的平均誤差降低了64.0%,關節(jié)2的平均誤差降低了71.8%;與滑??刂扑惴▽Ρ?,關節(jié)1的平均誤差降低了85.5%,關節(jié)2的平均誤差降低了77.8%。結果表明本文設計的模糊分塊RBF滑??刂扑惴ǖ目刂菩Ч黠@優(yōu)于其他三種控制算法。
本文針對水下機械臂控制系統(tǒng)提出了一種基于分塊RBF神經(jīng)網(wǎng)絡和模糊補償?shù)淖赃m應滑??刂扑惴?。該方法使用分塊RBF神經(jīng)網(wǎng)絡對動力學模型參數(shù)的不確定項M、C、D、G進行逼近,使用模糊系統(tǒng)對非參數(shù)的不確定項F進行補償。并且結合自適應控制、魯棒控制和滑??刂疲纳屏藗鹘y(tǒng)滑??刂贫墩竦膯栴}。同時,該方法還降低了水下機械臂控制系統(tǒng)的跟蹤誤差,提高了水下機械臂控制系統(tǒng)的響應速度、穩(wěn)態(tài)性能和抗擾性能,具有非常重要的實用價值。