李 蔚,朱志浩,高 直,董俊杰,劉建平
(1.鹽城工學院電氣工程學院,江蘇鹽城 224002;2.鹽城工學院信息工程學院,江蘇鹽城 224002)
工業生產中,經常使用機械臂進行多種操作。當僅僅使用機械臂進行簡單的搬運、裝配等操作時,只需對其進行位置跟蹤控制;當涉及復雜裝配、拋光、打磨等操作時,不僅需要控制其運動軌跡,還需要控制其對于約束面的力,以便完成復雜的生產作業。因此針對機械臂的力/位混合控制成為當前機械化工業的一個研究重點[1]。基于這一問題,Raibert 等[2]提出了機器人位置/力控制,即將機器人的任務空間劃分為兩個正交子空間,分別設計不同的控制器進行控制,其中在與約束面相切的方向進行力控制,在法線方向進行位置控制;文獻[3-4]提出了降階的機械臂力/位混合控制算法,基于約束面,對機械臂模型進行降階;文獻[5-6]建立了一種新的動力學模型和滑模控制方法,進一步解決了機器人的控制問題;文獻[7-8]采用了基于神經網絡的技術,對不確定性函數進行自適應學習,降低了濾波誤差對跟蹤性能的影響;文獻[9-10]提出了一種魯棒自適應控制算法,應用反步法和自適應算法修正機械臂系統參數,利用自適應方法對動力學模型中的非線性部分和未知擾動進行補償,同時克服系統參數不確定性的影響;文獻[11-12]使用命令濾波技術和反步法,解決了加速度不連續的問題,同時構建了誤差補償系統;文獻[13-14]對機械臂進行了一種坐標變換,結合自適應神經網絡,確保末端執行的精度。
顯然,以往的研究大多是將控制方案分成兩個子部分,分別設計控制器進行控制,由于對于未知參數不能快速修正,系統往往需要較長的響應與跟蹤時間。本文將兩個子部分整合在同一坐標空間和控制器中,并根據自適應滑模控制算法和降階方法的優點,提出一種基于自適應降階滑模算法的機械臂力/位混合控制器設計方案。
取x為機械臂末端位置向量,q∈Rn(n為機械臂自由度)為機械臂的角度向量,約束方程為Φ(x) = 0,取x=h(q),則約束方程可以寫為:
約束方程的雅可比矩陣為:
受約束的機械臂在關節空間的動力學方程為
式中:D(q) ∈R(n×n)為慣性矩陣;C(q,?) ∈R(n×n)為離心力與哥氏力矩陣;G(q) ∈Rn為重力項矢量;τf為約束力矢量,N;τ為控制輸入力矩矢量,N。
式(3)描述的動力學系統具有如下性質[15]:
性質1是一個斜對稱矩陣,可得:
性質2慣性矩陣D(q)正定對稱有界,即存在k1、k2,滿足下式:
性質3存在參數線性化關系,即
由機械臂動力學方程可知其動力學模型是受約束的,因此可以憑借約束方程對模型進行降階。
約束力方程為:
式中:λ為接觸力矢量。
對式(1)關于q求導,得:
圖1 為帶有垂直約束的二自由度機械臂的模型。圖1 中l1、l2分別為機械臂兩個連桿的長度,m;q1為連桿1 與水平方向的夾角,rad;q2為連桿1與連桿2的夾角,rad。
由圖1 可知,二自由度機械臂末端受到力的約束,機械臂的自由度由兩個變為一個。圖1 中q1描述了機械臂的約束運動,q2可用q1來表示,形式為:
則:
將式(9)代入式(3),可推導出:
則受約束的二自由度機械臂的動力學方程亦可表示為:
式中:
由式(12)可得
考慮(q1)的值對于λ的影響,有:
(1)當Jq= 0 時,λ的值由(q1)的表達來決定。
(2)當Jq≠0時,λ的值為:
式(12)等號兩邊同時左乘LT(q1),可得:
即:
式中:
式(15)即為降階后受約束的二自由度的機械臂模型,具有如下性質:
性質1Jq(q1)L(q1)=LT(q1)JTq(q1)= 0。
性質2D?L(q1)- 2CL(q1,q?1)為斜對稱矩陣。
設qd(t)為機械臂運動的期望角度,為機械臂末端所受到的期望約束力,滿足Φ(qd)= 0,=(qd)λd,定義以下變量:
式中:q1d為q1的期望角度,rad;q1e為角度誤差,rad;qr1為系統誤差向量,rad;Λ為一個常數矩陣,且Λ>0。
滑模函數s為:
力誤差eλ為:
式中:λd為機械臂末端的期望接觸力,N。
設計控制器為:
用于控制力的項:
式中:Kλ為一個常數矩陣,且Kλ>0。
由式(6)、式(19),可得自適應控制器:
自適應律?為:
式中:Γ為正定常對角矩陣。
證:設計李雅普諾夫函數為
等號兩邊關于時間t求導,得:
式中:JTq=JTq(q1)。
將 式(21)代 入 式(24),且 由 于(q1)-2CL(q1,)為斜對稱矩陣,得:
由李雅普諾夫穩定性定理可知,系統在平衡點處李雅普諾夫意義下穩定,且s和?有界,q1e和也均有界?→0,則:
式中:λmin為矩陣LTL的最小特征值。
由式(25)可知:‖ ‖s可漸近收斂于零,進而可知t→∞,q1e→0,即當t→∞時,跟蹤誤差趨于零,閉環系統穩定。
以圖1 機械臂系統模型為例,使用MATLAB中的simulink 模塊對受約束機械臂模型進行仿真,驗證本文設計的“基于自適應降階滑模的力/位混合控制算法”的有效性。圖1 機械臂兩個連桿長度均為1 m,質量m1=m2= 1 kg。機械臂動力學模型(公式(3))參數如下:
由于二自由度機械臂的運動學方程為:
則由圖1 可得,機械臂末端在笛卡爾空間中的位置為:
約束函數為x1=Φ(x) = 0,則
由Φ(x) =Φ(h(q)) =Φ(q1)及式(32)可得:
當q1+q2= π 時 ,q1= 0,q2= π, 則Jq(q) = 0,λ= 0;
當q1+q2≠π時,Jq(q)≠0,則由式(14)求λ。
由l1= 1 m、l2= 1 m及式(32),可得:
l1cosq1+l2cos(q1+q2)= 0
又由圖1可知:
則cos(q1+q2)= cos(π -q1)
即
初始狀態取[q1?]=[1.0 0],則期望位置為q1d= 0.8 + 0.1cost,理想接觸力為λd= 1 +2.5sint,控制器參數如下:
仿真結果如圖2~圖3所示。
由圖2可看出:在位置跟蹤上,本文所使用的基于自適應降階滑模的力/位混合控制算法在0.4 s 時就已經跟蹤上,而傳統的機械臂自適應位置控制方法在2 s 才跟蹤上。因此,與傳統方法對比,本文所使用的算法提高了響應速度并且有極好的跟蹤效果。由圖3 可以看出:在力控制方面,本文所使用算法雖然初始時由于受到干擾以及震動的影響,有一定的波動,且出現一定的誤差,但很快就在0.7 s 后趨于穩定,且誤差被限定在極小的范圍內,從而驗證了本文算法的有效性。
圖4~圖8 分別為本文算法所使用參數p1、p2、p3、p4、p5的估計誤差項。由圖4~圖8 可以看出:經過自適應降階滑模控制器的影響,本文所使用的控制算法與傳統方法相比,整體參數誤差較小,雖然個別參數仍有一定的誤差,但也趨于平緩穩定,因此也在一定程度上證明了控制器的有效性。
由于自適應滑模算法能夠提高對未知參數的修正能力,降低系統的不確定性,而降階方法可以提升控制系統的響應速度,文章引入自適應滑模算法,并將其與降階方法相結合,實現了機械臂的力/位混合控制。仿真結果表明該控制方案能夠讓機械臂快速準確地跟蹤位置信號和力信號,具備極好的穩定性,驗證了控制方案的有效性。