史洪松,敖 昕
(1. 江西工程學院智能制造與能源工程學院,江西 新余 338000;2. 深圳大學微納光電子學研究院,廣東 深圳 518060)
在機器人學科中大部分機械臂的材料為金屬材料,屬于剛性結構,導致機械臂的定位精準度低、操作靈活性低、結構復雜[1],在實際工作環境中傳統機械臂難以滿足工作要求[2]。礦井、工業、地震、農業等場合中需要應用柔性關節構成的液壓驅動機械臂,因此,需要對其關節力矩的控制方法進行分析和研究。
于樹友[3]等人通過三步法設計機械臂關節力矩控制器,該控制器由三部分構成,第一部分為誤差反饋控制,第二部分為前饋控制,第三部分為穩態控制,利用設計的控制器實現關節力矩的控制,但是該方法沒有對機械臂的運動學進行分析,導致方法無法準確地跟蹤關節的位置,存在位置跟蹤誤差大的問題。李煥[4]等人對力矩與位姿之間存在的動態關系進行分析,通過腕力傳感器和關節位置傳感器測量機械臂在運動過程中的關節角,根據獲取的角度信息實現機械臂力矩的控制。該方法沒有對機械臂的動力學進行分析,導致方法無法在短時間內控制關節力矩達到期望力矩,方法存在控制效率低和控制性能差的問題。屈海軍[5]等人首先分析了機械臂的結構,通過拉格朗日函數建立模糊集,根據模糊集設計模糊PID控制器,實現機械臂關節力矩的控制,該方法控制后的關節力矩達不到期望水平,存在關節壓力損失大的問題。
為了解決上述方法中存在的問題,提出液壓驅動機械臂多關節力矩控制方法。
建立液壓驅動機械臂的運動學模型[6],通過正運動學和逆運動學對關節變量和位姿變量之間存在的關系進行分析。液壓驅動機械臂多關節力矩控制方法通過齊次變換矩陣表述液壓驅動機械臂中桿件之間存在的位姿關系。圖1為機械臂坐標系與結構示意圖。

圖1 坐標系與結構
圖1中的{Oi-1}坐標系通過下述步驟轉變為{Oi}坐標系:
1)為了使Zi-1軸與Zi軸方向相同,繞著Zi-1軸對關節角θi進行旋轉,通過下式描述此時的旋轉齊次坐標

(1)
2)沿著Zi-1軸方向對連桿偏移di進行平移處理,通過下式描述平移過程中存在的齊次變換矩陣

(2)
3)沿著Xi軸方向對連桿長度αi進行平移處理,使兩個坐標系的位置重合,通過下式描述平移矩陣

(3)
4)繞Xi軸通過下述旋轉齊次方程對角度αi進行旋轉

(4)
在上述過程的基礎上構建轉換矩陣i-1Ai,將桿件i-1轉移到桿件i處
i-1Ai=R(Z,θi)×T(0,0,di)×T(αi,0,0)×R(X,αi)

(5)
其中,Sθi=sin(θi),Cθi=cos(θi)。

在Lagrange函數的基礎上建立液壓驅動機械臂Lagrange方程[7,8],獲得下式

(6)
式中,τi代表的是關節i對應的力矩。
1)機械臂動能
設ri代表的是坐標系中杠件存在的點對應的矢量距離,基于參考坐標系的矢量距離r=0Airi可通過轉換獲得。
通過動能公式根據上述過程計算得到速度對該點的動能

(7)
式中,dm代表的是該點對應的質量。
設Ti代表的是桿件在液壓驅動機械臂中的動能,可通過對上式進行積分得到

(8)
通過上述計算結果獲得所有桿件在液壓驅動機械臂中的動能總和

(9)
2)機械臂勢能
在重力公式的基礎上計算桿件中存在的點在機械臂中的勢能dVi=-gTAiridm,其中,g代表的是重力。同理,獲得液壓驅動機械臂的勢能總和

(10)
3)機械臂動力學模型


(11)

在實際工作過程中,液壓驅動機械臂存在的不確定因素較多,上述數學模型的控制精度較低,液壓機械臂控制系統通過線性控制算法得到的控制效果較差,因為其屬于非線性系統,因此,將動力學方程轉化為

(12)
實現關節力矩控制的基礎就是液壓驅動機械臂的動力學方程,在實際應用中由于變化多變的外部環境、負載變化和測量偏差,機械臂物理參數的精度較低,對其進行拆分

(13)

液壓驅動機械臂多關節力矩控制方法通過模糊神經網絡實現多關節力矩的控制。


(14)
式中,m描述的是函數中心值。
隸屬度函數層為模糊神經網絡的第二層[10,11],節點在隸屬度函數層中會生成對應的模糊隸屬度函數,第l個節點在隸屬度函數層中的輸入和輸出分別如下

(15)
規則層為第三層,節點在該層中的輸入和輸出如下

(16)

輸出層為第四層,節點在輸出層中的輸入和輸入可通過下式描述

(17)

通過上述分析,獲得模糊神經網絡的輸出u

(18)
采用模糊神經網絡對液壓驅動機械臂多關節力矩進行控制的具體流程如圖2所示。

圖2 多關節力矩控制流程圖
1)對關節在液壓驅動機械臂中的初始值和期望軌跡進行設定,訓練對象選取學習樣本;
2)確定神經網絡中節點在各層中的數量,進而確定其結構;
3)計算樣本對應的誤差變化率和誤差,在模糊神經網絡中輸入誤差變化率和誤差[12],模糊神經網絡的輸出即為液壓驅動機械臂的控制力矩;
4)對模糊規則進行初始化處理,確定隸屬函數寬度σ、隸屬函數的中心值m以及連接權值ωko的初始值,并計算平滑因子β、慣性系數α和學習率η;
5)根據上述參數構建誤差函數,通過該函數計算模糊神經網絡中各層對應的誤差,根據誤差計算結果對各參數進行調整,輸出模數神經網絡的控制量,完成液壓驅動機械臂多關節力矩的控制;
6)設置采樣時間,結束采樣時,對參數進行調整,并迭代上述過程,相反則結束迭代。
為了驗證液壓驅動機械臂多關節力矩控制方法的整體有效性,需要對液壓驅動機械臂多關節力矩控制方法進行測試。
分別采用液壓驅動機械臂多關節力矩控制方法、文獻[3]方法和文獻[4]方法對液壓驅動機械臂關節位置進行跟蹤,對比不同方法的跟蹤誤差,測試結果如圖3所示。
根據圖3中的數據可知,采用所提方法對液壓驅動機械臂的關節位置進行跟蹤時,跟蹤誤差在0附近波動,控制在±3以內,采用文獻[3]方法和文獻[4]方法對液壓驅動機械臂的關節位置進行跟蹤時的誤差相對較大。通過上述分析可知,所提方法可較為準確地實現關節位置的跟蹤,因為該方法構建了液壓驅動機械臂的動力學方程,通過動力學方程獲取了關節在機械臂運動過程中的動能和勢能,可準確地實現液壓機械臂關節位置的跟蹤,降低了位置跟蹤誤差。
設置關節期望力矩,采用所提方法、文獻[3]方法和文獻[4]方法對液壓驅動機械臂關節進行控制,使其達到期望力矩,控制結果如圖4所示。

圖4 力矩控制結果
對圖4進行分析可知,所提方法和文獻[3]方法均可到達期望力矩,對比兩者控制時間發現,所提方法控制液壓驅動機械臂關節到達期望力矩所用的時間遠低于文獻[3]方法控制液壓驅動機械臂關節到達期望力矩所用的時間,而文獻[4]方法在控制過程中始終沒有達到期望力矩。通過上述測試結果可知,所提方法可在較短的時間內完成液壓驅動機械臂關節力矩的控制,具有較好的控制效率和控制性能。
對比所提方法、文獻[3]方法和文獻[4]方法在控制液壓驅動機械臂關節時的能耗,測試結果如圖5所示。

圖5 不同方法的能耗測試結果
由圖5可知,隨著時間的增加,所提方法、文獻[3]方法和文獻[4]方法的能耗隨之增加,但在相同時間內,所提方法控制液壓驅動機械臂關節所用的能耗均低于其它兩種方法控制液壓驅動機械臂關節所用的能耗,驗證了所提方法的有效性。
通過壓力損失進一步驗證所提方法、文獻[3]方法和文獻[4]方法的控制性能,測試結果如表1所示。

表1 壓力損失測試結果
對表1中的數據進行分析可知,壓力損失與時間呈正相關,隨著時間的增加,不同方法的壓力損失逐漸增大,但經對比發現,所提方法對液壓驅動機械臂進行控制后,關節的壓力損失均低于文獻[3]方法和文獻[4]方法對液壓驅動機械臂控制后的關節壓力損失,主要原因是上述兩種方法控制后的關節輸出力矩無法與期望力矩匹配,導致其壓力增大,而所提方法可精準的對關節輸出力矩進行控制,使其達到期望力矩,降低了關節的壓力損失。
液壓驅動機械臂通常由控制器、動力源、傳感器和傳動系統構成,是實現臂桿連接、感知位置、提供動力的重要部件,可以保障液壓驅動機械臂運動平穩性、精度和范圍。為了準確地完成機械臂輔助對接等力控制任務,需要對液壓驅動機械臂多關節力矩進行控制。目前機械臂多關節力矩控制方法存在關節位置跟蹤誤差大、控制效率低、控制性能差和壓力損失大的問題,提出液壓驅動機械臂多關節力矩控制方法,解決了目前方法中存在的問題,降低了關節位置跟蹤誤差,減少了控制時間,提高了控制性能,降低了壓力損失,為液壓驅動機械臂的應用提供了保障。