史洪松,敖 昕
(1. 江西工程學院智能制造與能源工程學院,江西 新余 338000;2. 深圳大學微納光電子學研究院,廣東 深圳 518060)
在機器人學科中大部分機械臂的材料為金屬材料,屬于剛性結(jié)構(gòu),導致機械臂的定位精準度低、操作靈活性低、結(jié)構(gòu)復雜[1],在實際工作環(huán)境中傳統(tǒng)機械臂難以滿足工作要求[2]。礦井、工業(yè)、地震、農(nóng)業(yè)等場合中需要應用柔性關(guān)節(jié)構(gòu)成的液壓驅(qū)動機械臂,因此,需要對其關(guān)節(jié)力矩的控制方法進行分析和研究。
于樹友[3]等人通過三步法設計機械臂關(guān)節(jié)力矩控制器,該控制器由三部分構(gòu)成,第一部分為誤差反饋控制,第二部分為前饋控制,第三部分為穩(wěn)態(tài)控制,利用設計的控制器實現(xiàn)關(guān)節(jié)力矩的控制,但是該方法沒有對機械臂的運動學進行分析,導致方法無法準確地跟蹤關(guān)節(jié)的位置,存在位置跟蹤誤差大的問題。李煥[4]等人對力矩與位姿之間存在的動態(tài)關(guān)系進行分析,通過腕力傳感器和關(guān)節(jié)位置傳感器測量機械臂在運動過程中的關(guān)節(jié)角,根據(jù)獲取的角度信息實現(xiàn)機械臂力矩的控制。該方法沒有對機械臂的動力學進行分析,導致方法無法在短時間內(nèi)控制關(guān)節(jié)力矩達到期望力矩,方法存在控制效率低和控制性能差的問題。屈海軍[5]等人首先分析了機械臂的結(jié)構(gòu),通過拉格朗日函數(shù)建立模糊集,根據(jù)模糊集設計模糊PID控制器,實現(xiàn)機械臂關(guān)節(jié)力矩的控制,該方法控制后的關(guān)節(jié)力矩達不到期望水平,存在關(guān)節(jié)壓力損失大的問題。
為了解決上述方法中存在的問題,提出液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法。
建立液壓驅(qū)動機械臂的運動學模型[6],通過正運動學和逆運動學對關(guān)節(jié)變量和位姿變量之間存在的關(guān)系進行分析。液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法通過齊次變換矩陣表述液壓驅(qū)動機械臂中桿件之間存在的位姿關(guān)系。圖1為機械臂坐標系與結(jié)構(gòu)示意圖。
圖1 坐標系與結(jié)構(gòu)
圖1中的{Oi-1}坐標系通過下述步驟轉(zhuǎn)變?yōu)閧Oi}坐標系:
1)為了使Zi-1軸與Zi軸方向相同,繞著Zi-1軸對關(guān)節(jié)角θi進行旋轉(zhuǎn),通過下式描述此時的旋轉(zhuǎn)齊次坐標
(1)
2)沿著Zi-1軸方向?qū)B桿偏移di進行平移處理,通過下式描述平移過程中存在的齊次變換矩陣
(2)
3)沿著Xi軸方向?qū)B桿長度αi進行平移處理,使兩個坐標系的位置重合,通過下式描述平移矩陣
(3)
4)繞Xi軸通過下述旋轉(zhuǎn)齊次方程對角度αi進行旋轉(zhuǎn)
(4)
在上述過程的基礎上構(gòu)建轉(zhuǎn)換矩陣i-1Ai,將桿件i-1轉(zhuǎn)移到桿件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函數(shù)的基礎上建立液壓驅(qū)動機械臂Lagrange方程[7,8],獲得下式
(6)
式中,τi代表的是關(guān)節(jié)i對應的力矩。
1)機械臂動能
設ri代表的是坐標系中杠件存在的點對應的矢量距離,基于參考坐標系的矢量距離r=0Airi可通過轉(zhuǎn)換獲得。
通過動能公式根據(jù)上述過程計算得到速度對該點的動能
(7)
式中,dm代表的是該點對應的質(zhì)量。
設Ti代表的是桿件在液壓驅(qū)動機械臂中的動能,可通過對上式進行積分得到
(8)
通過上述計算結(jié)果獲得所有桿件在液壓驅(qū)動機械臂中的動能總和
(9)
2)機械臂勢能
在重力公式的基礎上計算桿件中存在的點在機械臂中的勢能dVi=-gTAiridm,其中,g代表的是重力。同理,獲得液壓驅(qū)動機械臂的勢能總和
(10)
3)機械臂動力學模型
(11)
在實際工作過程中,液壓驅(qū)動機械臂存在的不確定因素較多,上述數(shù)學模型的控制精度較低,液壓機械臂控制系統(tǒng)通過線性控制算法得到的控制效果較差,因為其屬于非線性系統(tǒng),因此,將動力學方程轉(zhuǎn)化為
(12)
實現(xiàn)關(guān)節(jié)力矩控制的基礎就是液壓驅(qū)動機械臂的動力學方程,在實際應用中由于變化多變的外部環(huán)境、負載變化和測量偏差,機械臂物理參數(shù)的精度較低,對其進行拆分
(13)
液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法通過模糊神經(jīng)網(wǎng)絡實現(xiàn)多關(guān)節(jié)力矩的控制。
(14)
式中,m描述的是函數(shù)中心值。
隸屬度函數(shù)層為模糊神經(jīng)網(wǎng)絡的第二層[10,11],節(jié)點在隸屬度函數(shù)層中會生成對應的模糊隸屬度函數(shù),第l個節(jié)點在隸屬度函數(shù)層中的輸入和輸出分別如下
(15)
規(guī)則層為第三層,節(jié)點在該層中的輸入和輸出如下
(16)
輸出層為第四層,節(jié)點在輸出層中的輸入和輸入可通過下式描述
(17)
通過上述分析,獲得模糊神經(jīng)網(wǎng)絡的輸出u
(18)
采用模糊神經(jīng)網(wǎng)絡對液壓驅(qū)動機械臂多關(guān)節(jié)力矩進行控制的具體流程如圖2所示。
圖2 多關(guān)節(jié)力矩控制流程圖
1)對關(guān)節(jié)在液壓驅(qū)動機械臂中的初始值和期望軌跡進行設定,訓練對象選取學習樣本;
2)確定神經(jīng)網(wǎng)絡中節(jié)點在各層中的數(shù)量,進而確定其結(jié)構(gòu);
3)計算樣本對應的誤差變化率和誤差,在模糊神經(jīng)網(wǎng)絡中輸入誤差變化率和誤差[12],模糊神經(jīng)網(wǎng)絡的輸出即為液壓驅(qū)動機械臂的控制力矩;
4)對模糊規(guī)則進行初始化處理,確定隸屬函數(shù)寬度σ、隸屬函數(shù)的中心值m以及連接權(quán)值ωko的初始值,并計算平滑因子β、慣性系數(shù)α和學習率η;
5)根據(jù)上述參數(shù)構(gòu)建誤差函數(shù),通過該函數(shù)計算模糊神經(jīng)網(wǎng)絡中各層對應的誤差,根據(jù)誤差計算結(jié)果對各參數(shù)進行調(diào)整,輸出模數(shù)神經(jīng)網(wǎng)絡的控制量,完成液壓驅(qū)動機械臂多關(guān)節(jié)力矩的控制;
6)設置采樣時間,結(jié)束采樣時,對參數(shù)進行調(diào)整,并迭代上述過程,相反則結(jié)束迭代。
為了驗證液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法的整體有效性,需要對液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法進行測試。
分別采用液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法、文獻[3]方法和文獻[4]方法對液壓驅(qū)動機械臂關(guān)節(jié)位置進行跟蹤,對比不同方法的跟蹤誤差,測試結(jié)果如圖3所示。
根據(jù)圖3中的數(shù)據(jù)可知,采用所提方法對液壓驅(qū)動機械臂的關(guān)節(jié)位置進行跟蹤時,跟蹤誤差在0附近波動,控制在±3以內(nèi),采用文獻[3]方法和文獻[4]方法對液壓驅(qū)動機械臂的關(guān)節(jié)位置進行跟蹤時的誤差相對較大。通過上述分析可知,所提方法可較為準確地實現(xiàn)關(guān)節(jié)位置的跟蹤,因為該方法構(gòu)建了液壓驅(qū)動機械臂的動力學方程,通過動力學方程獲取了關(guān)節(jié)在機械臂運動過程中的動能和勢能,可準確地實現(xiàn)液壓機械臂關(guān)節(jié)位置的跟蹤,降低了位置跟蹤誤差。
設置關(guān)節(jié)期望力矩,采用所提方法、文獻[3]方法和文獻[4]方法對液壓驅(qū)動機械臂關(guān)節(jié)進行控制,使其達到期望力矩,控制結(jié)果如圖4所示。
圖4 力矩控制結(jié)果
對圖4進行分析可知,所提方法和文獻[3]方法均可到達期望力矩,對比兩者控制時間發(fā)現(xiàn),所提方法控制液壓驅(qū)動機械臂關(guān)節(jié)到達期望力矩所用的時間遠低于文獻[3]方法控制液壓驅(qū)動機械臂關(guān)節(jié)到達期望力矩所用的時間,而文獻[4]方法在控制過程中始終沒有達到期望力矩。通過上述測試結(jié)果可知,所提方法可在較短的時間內(nèi)完成液壓驅(qū)動機械臂關(guān)節(jié)力矩的控制,具有較好的控制效率和控制性能。
對比所提方法、文獻[3]方法和文獻[4]方法在控制液壓驅(qū)動機械臂關(guān)節(jié)時的能耗,測試結(jié)果如圖5所示。
圖5 不同方法的能耗測試結(jié)果
由圖5可知,隨著時間的增加,所提方法、文獻[3]方法和文獻[4]方法的能耗隨之增加,但在相同時間內(nèi),所提方法控制液壓驅(qū)動機械臂關(guān)節(jié)所用的能耗均低于其它兩種方法控制液壓驅(qū)動機械臂關(guān)節(jié)所用的能耗,驗證了所提方法的有效性。
通過壓力損失進一步驗證所提方法、文獻[3]方法和文獻[4]方法的控制性能,測試結(jié)果如表1所示。
表1 壓力損失測試結(jié)果
對表1中的數(shù)據(jù)進行分析可知,壓力損失與時間呈正相關(guān),隨著時間的增加,不同方法的壓力損失逐漸增大,但經(jīng)對比發(fā)現(xiàn),所提方法對液壓驅(qū)動機械臂進行控制后,關(guān)節(jié)的壓力損失均低于文獻[3]方法和文獻[4]方法對液壓驅(qū)動機械臂控制后的關(guān)節(jié)壓力損失,主要原因是上述兩種方法控制后的關(guān)節(jié)輸出力矩無法與期望力矩匹配,導致其壓力增大,而所提方法可精準的對關(guān)節(jié)輸出力矩進行控制,使其達到期望力矩,降低了關(guān)節(jié)的壓力損失。
液壓驅(qū)動機械臂通常由控制器、動力源、傳感器和傳動系統(tǒng)構(gòu)成,是實現(xiàn)臂桿連接、感知位置、提供動力的重要部件,可以保障液壓驅(qū)動機械臂運動平穩(wěn)性、精度和范圍。為了準確地完成機械臂輔助對接等力控制任務,需要對液壓驅(qū)動機械臂多關(guān)節(jié)力矩進行控制。目前機械臂多關(guān)節(jié)力矩控制方法存在關(guān)節(jié)位置跟蹤誤差大、控制效率低、控制性能差和壓力損失大的問題,提出液壓驅(qū)動機械臂多關(guān)節(jié)力矩控制方法,解決了目前方法中存在的問題,降低了關(guān)節(jié)位置跟蹤誤差,減少了控制時間,提高了控制性能,降低了壓力損失,為液壓驅(qū)動機械臂的應用提供了保障。