牛嘯辰,王俊雄,蘇 偉,王 震
(上海交通大學船舶海洋工程國家重點實驗室,上海200240)
近年來,隨著水下機器人在巡檢、攝像、水下對接等場景的需求不斷增長,對水下機器人位置和姿態(tài)控制的穩(wěn)定性和靈活性提出了更為苛刻的要求。而在水下機器人的各種控制算法中,滑模控制具有對參數變化和系統(tǒng)未建模部分的不敏感性和極強的抗干擾性而成為水下機器人控制的有效方案之一[1]。在水下機器人的控制上,已有學者將滑模變結構控制應用在水下機器人的位置追蹤和姿態(tài)控制上[2–5],也有學者將反演法與滑??刂平Y合起來,取得了良好的控制效果[6–9]。然而在實際過程中,由于受限于執(zhí)行器的動作時間、飽和限制等,實際控制效果尚有待考究。因此,本文考慮輸入飽和的反演滑??刂破鳎噲D對其實際控制效果及工程應用進行進一步的探究。
水下機器人的建模主要包括運動學建模和動力學建模。水下機器人的目標軌跡和目標姿態(tài)需在地面坐標系下給出,而表征力和運動的動力學方程是在載體坐標系下進行的。因此運動學即表示2個坐標系下運動量的轉化關系。
按照國際拖曳水池(ITTC)推薦的坐標系以及輪機工程學會(SNAME)術語公報的體系[10?11],建立地面坐標系(E系)和載體坐標系(G系),如圖1所示。
圖1 水下機器人的地面坐標系與載體坐標系Fig.1 Earth-fixed and body-fixed coordinatesystem
按照特定的旋轉順序(Oζ-Oy1-Ox),則表示運動量從運載體坐標系到地面坐標系的轉換矩陣可以唯一表示為:
于是,運動學方程可以描述為:
動力學是在運載體坐標系下描述水下機器人力和運動之間的關系。作用在航行器上的力和力矩主要包括[11?12]:1)航行器所受到的靜力?重力和浮力;2)航行器所受到的水動力;3)推進器所產生的推力和推力矩;4)由風浪流產生的干擾力和干擾力矩。
水下機器人的動力學模型可以表示為:
進一步整理可得:
式中,M=MAM+MRB,其中MRB和MAM分別為質量矩陣和附加質量矩陣;C=CRB+CAM,其中CRB和CAM分別為科氏向心力矩陣和附加向心力矩陣;D為阻尼矩陣;g(η)為恢復力矩陣;τE為慢變干擾力;τ為六自由度控制力和控制力矩。
本文中,直流電機連接螺旋槳構成水下機器人的推進器,直流電機的轉速即為系統(tǒng)的控制輸入量。直流電機機械特性的一般表達式為[13]:
式中:U為電動機供電電源電壓;Φ為磁通量;Ke為電動機的反電動勢系數;Kt為轉矩系數;Ra為電樞電阻;T為電動機轉矩。
電動機銘牌數據為:PN=3.8 k W,UN=220 V,IN=20.6 A,nN=1100 r/min;假設額定工況下電動機的銅耗約為總損耗的50%,則由此計算可得:
1)電動機最高轉速為1200 r/min;
2)電動機最大輸出轉矩為409 N·m;
3)電動機轉速和轉矩之間的關系滿足:
T>0時,n=1200-2.92927*T;
T<0時,n=?1200-2.92927*T。
上述條件即為電動機的輸出受限條件。
圖2 直流電機的固有機械特性Fig.2 Mechanical characteristicsof DCmotor
反演法作為一種回歸設計方法,將Lapunov函數的選取與控制器的設計相結合,通過采用引入虛擬控制的方式,從系統(tǒng)微分方程的最低階次開始,一直后推來設計滿足要求的虛擬控制,從而設計出最終的控制律,使系統(tǒng)達到期望的性能指標[14]。
滑模變結構控制本質上是一種非線性控制,其最大的特點是控制的不連續(xù)性。滑??刂仆ㄟ^切換函數來實現非線性控制,根據系統(tǒng)狀態(tài)偏離滑模的程度來切換控制器參數,從而使系統(tǒng)狀態(tài)按照滑模規(guī)定的“滑動模態(tài)”軌跡運行的控制方法。滑模控制具有物理實現簡單,對系統(tǒng)參數變化不敏感無需在線辨識,抗外界干擾的優(yōu)點[15]。
將反演法與滑模控制相結合,并考慮控制器的輸出飽和,控制器的設計步驟如下:
1)定義位置誤差函數z1和角度誤差函數z2
式中:ηd為目標位置;η為實際位置;ν為實際速度;α為虛擬控制量,可以看做是ν的估計值,α的取值將直接影響系統(tǒng)的穩(wěn)定性,此處選取可以保證z1子系統(tǒng)的穩(wěn)定[16]。
2)定義Lyapunov函數V1和V2
對V1求導可得:
˙V1<0
為使 ,需對v進行進一步的設計,令
由于質量矩陣M正定,故V2正定,對V2求導可得:
3)設計滑模面s=z2
˙V2<0
為保證 ,設計控制率τ為:式中,χ為系數矩陣;sat(s)函數為符號函數,其定義如下:
控制對象采用框架式水下機器人KAMBARA,其質量為117 kg,浮力為1158 N;以重心G為運載體坐標系原點,浮心的坐標為rb=[-0.017,0,-0.015]T,其他模型參數如下:
在原有模型的基礎上增加一個側向推進器,從而使其成為全驅動水下機器人,其推力布置矩陣如下式[12]:
設定六自由度水下機器人的初始狀態(tài)和目標狀態(tài),如表1所示。
表1 目標軌跡、姿態(tài)與初始狀態(tài)設定Tab.1 Target trajectory,attitude and initial state
反演滑??刂破髦?,?取0.05,χ取diag{20,20,20,20,20,20}。
在輸入飽和的情況下,可以看到:在x,y方向的位置跟蹤上,輸入飽和的反演滑??刂破髂軌驈某跏嘉恢醚杆俑櫳夏繕塑壽E,并且保持高精度跟隨;在z方向上,從初始位置跟蹤至目標軌跡的時間稍長于x,y方向,但在經過初始調整階段后依然能保持高精度的跟蹤。
在姿態(tài)跟蹤上,由推力布置矩陣B可知,角度的控制至少由3個推進器耦合協(xié)同完成,由于強耦合關系使得?,θ,ψ的控制精度遜色于位置控制。但從工程角度講,?的平均偏差約為0.05 rad,最大偏差約為0.2 rad;ψ的平均誤差約為0.02 rad/s,已經滿足大多數場合的控制要求;θ的偏差較大的原因在于:θ由5個推進器協(xié)同控制,存在著強耦合關系,后續(xù)可以嘗試改進KAMBARA的推進器布置以得到更高的控制精度。
最終的控制量為直流電機的轉速,在輸入受限的條件下,6個推進器對應的直流電機的轉速曲線中,第1,2,6號電機存在著明顯的階段特征,而第3,4,5號電機則持續(xù)性地在轉速上下限之間變動;從推力分配矩陣B的系數來看,第1,2,6號電動機在同時影響水下機器人多個自由度的運動時,均有明顯的主次之分,而第3,4,5號電動機的對六自由度的運動影響權重區(qū)別并非十分明顯,因此造成了頻繁的抖動。
圖3 輸入飽和控制器的位置跟蹤效果Fig.3 Input saturation controller path tracking results
圖4 輸入飽和控制器的姿態(tài)控制結果Fig.4 Input saturation controller attitude control results
圖5 直流電機的速度曲線Fig.5 Speed curve of DC motor
在實際工程應用中,由于推進電機不能超越最大轉速,且轉速不能突變,因而實際控制力并不能達到理想效果。而根據上述計算分析表明,在考慮執(zhí)行器輸入飽和的情況下,若推力布置合理,反演滑??刂品椒ㄔ谒聶C器人的軌跡跟蹤和姿態(tài)控制上依然能夠得到較好的結果,從而驗證了該理論方法的實際可行性。同時可以推斷出所選電機的動力響應越迅速,越能滿足實際工程需求;針對精度需求十分高的場合,可以嘗試優(yōu)化推進器的分布,盡量消除推進器之間的耦合關系,使得單一推進器影響盡量少的自由度運動。