張 玲
(上海工藝美術職業學院,上海 201800)
機器人作為一種高效的生產工具,在提高生產性能方面具有較大的優勢[1]。機器人正在慢慢代替人工從事環境惡劣和性質危險的工作。如今,通過機器人和其他設備構成的生產線很大程度地提升了企業的生產速度與生產質量,加快了產品的生產和更新速度。但隨著科技的發展,各式各樣的機器人也變得復雜且多樣化。以往的機器人控制手段,大多是工程師使用各自專業的軟件獨立構建、調試與實驗,最后再對制造出的虛擬機械進行控制。然而,目前的控制手段已經難以滿足新型機械手臂的控制需求,常存在精度低與響應速度慢的問題。
針對上述問題,本文提出了一種基于人機工程學的虛擬機械手臂運動控制方法。該方法結合人機工程學構建人體模型,計算人體手臂運動過程中各關節的運動矢量與具體參數,從而強化方法的控制精度。同時,組建模糊邏輯系統,依靠該系統的模糊邏輯理論構建模糊邏輯控制器,加快控制響應速度,實現對虛擬機械手臂的高效控制。
人機工程設計流程中,第一步為組建一種存在精確人機尺寸與運動學標準的人體模型。由于本文中的虛擬機械手臂是一種可以執行相當于真正人類手臂工作的機械,所以需要通過運動空間規劃響應模型。
本研究通過3個層次構建符合人體工程學的虛擬機械手臂人機,分別為架構層、尺寸層和形態層。架構層能夠計算人體關節的架構尺寸,從而設計人體姿態;尺寸層通過獲取人體的尺寸數據計算對應的人機尺寸;形態層提供人體手臂各關節的運動姿態,幫助構建曲面人機姿態。
人體軀干部分與手臂的主要連接點是鎖骨。所以,本文組建一種五自由度[2]的聯合坐標系。在人類鎖骨位置末端擬定2個坐標軸Z1與Z0,分別為手臂的左右運動軸向與前后運動軸向。由于繞軸轉動對手臂坐標的影響并不大,因此能夠忽略不計,僅圍繞Z2、Z3和Z4對肩關節的球面運動進行模擬。肩部和手臂的運動學構造結果如圖1所示。

圖1 肩部、手臂的運動學構造
圖1中,A2為鎖骨在水平方向的尺寸;D3為鎖骨前后的尺寸,這2個參數表示了鎖骨與肩關節間存在的位置關系[3]。另外,D6為縱軸上肱骨與肩關節間的尺寸;D5為肱骨的尺寸。
肘關節即為肱骨與前臂骨間的連接關節。肘部存在2種關節連接,分別用Z5與Z6表示。Z5為彎曲與伸展運動;Z6為前臂轉動軸,前臂與Z6不會出現垂直或平行現象;D7為腕關節尺寸。在手掌運動時,前臂轉動軸的動量會在運動連接處產生,這種動量也能夠被稱為橈骨繞尺骨轉動。因此,本文只將Z6當作前臂的旋轉軸。
人體腕關節是通過多個部分組成的,這些部分會負責不同的運動形式。由于腕骨存在2個凸起的關節,而這2個關節存在不同的形狀,因此,這2個關節的運動軸是不會相交于一點的。這2個軸之間的尺寸A1大約為2 cm。
正運動學方程可以表示機械手臂末端端點或末桿的姿態與位置,是進行運動分析的基礎[4]。依據相鄰連桿的齊次轉換矩陣擬定末端執行器的參考點為Q7,則虛擬機械手臂的正運動學的計算公式為
0T7=0T11T22T33T44T55T66T7=
(1)
R為坐標系的姿態矩陣;p為坐標系的向量;i-1Ti為總變換矩陣。剩余的參數計算公式為
(2)
n、o、a和p為虛擬機械手臂的不同關節的運動參數;si與li為關節連接參數。通過正運動公式可知,利用姿態矩陣R只能對關節的旋轉角度函數進行計算。而連桿尺寸與移動關節則需要依靠手臂末端相交于基坐標系的位置向量p進行計算[5]。
虛擬機械手臂的雅克比矩陣J在機械手臂動力學、控制學與運動學內具有關鍵的作用,q=[q1,q2,…,qn]T為關節速度矢量。對于存在n個關節的虛擬機械手臂來說,雅克比矩陣J可以被描述為一種6×n的矩陣。另外,該矩陣的向量能夠對關節速度、末端角速度和線速度影響進行描述[6],機械手臂末端角速度ω與線速度v能夠被描述成關節速度q的線性函數[7],即
(3)
通過上述過程可以得到虛擬機械手臂不同關節的運動速度。
模糊邏輯系統中較為關鍵的組成部分包括模糊規則、推理合成、模糊化與反模糊化4種[7]。
模糊邏輯可以把模糊語言規則變換為數學公式的形式[8]。擬定模糊系統的映射存在輸入論域U∈Rn與輸出論域V∈Rn,利用模糊規則進行運算,即
(4)

憑借模糊邏輯系統理論,加入輸入論域U[9],并擬定U內的連接函數g(x),可以利用式(4)的模糊邏輯公式R(l)進行運算,即

(5)
為了解決因為虛擬機械手臂建模不精確而出現系統不確定部分,致使其控制性能下滑的問題,本文擬定自適應模糊邏輯系統來解決不確定部分[10]。因此,為了縮減模糊規則數量,需要將輸入調整為關節i的誤差率,ηi為靠近誤差上界的ηi0;K為對稱正定矩陣。那么,擬定誤差函數為
xi=Ai+B((xi)+ηi(ηi0))K
(6)
A為穩定矩陣;B為誤差矩陣。在此基礎上,設定Q為矩陣特征值,其最小值為λmin(Q),矩陣特征最大值為λmax(K),那么有
(7)
存在λmin(Q)≥λ2Km/‖xi‖,即xi的收斂半徑為‖xi‖=(2λmax(K)/λmin(Q))|ηi0|時,V≤0。因此,Q的特征值越大,K的特征值就會越小,ηi的誤差且上界ηi0也會變小,而xn的收斂半徑越小,運動控制的效果就會越好[11]。
以虛擬機械手臂的肩關節當作實驗目標,將階躍信號與模糊信號作為輸入信號,驗證本研究設計的基于人機工程學的虛擬機械手臂運動控制方法的軌跡跟蹤精度與響應速度[12]。
分別采集實際跟蹤軌跡和期望軌跡,依靠二者對比結果,得到所提方法在機械手臂運動控制上的響應速度與位置跟蹤性能結果,如圖2和圖3所示。

圖2 階躍信號肩關節跟蹤特性

圖3 正弦信號肩關節跟蹤特性
通過圖2和圖3能夠看出,肩關節具有很好的響應速度和軌跡跟蹤效果,不論算法輸入到肩關節的信號是什么信號,關節都可以快速響應到算法擬定的目標方位,并保持在目標位置上。結合圖1肩部和手臂的運動學構造可以看出,人體軀干部分與手臂的主要連接的關節為肩關節,而肩關節的響應速度快,能夠證明在本文方法的運動控制下的虛擬機械手臂響應速度快。
實驗過程:操作人員將正弦波位置作為輸入指令,運動控制算法接收并解析該指令,將關節位置信息分別下發到控制器內??刂扑惴ㄅc機械手臂的通信周期是2 ms,依靠EtherCAT以太網連接伺服驅動器與運動控制算法,設定數據的同步周期為250 μs,通信數據的吞吐量為290 B。利用記錄2次數據的傳輸時間間隔,能夠得到在交換數據狀態下,基于所提控制方法的虛擬機械手臂抖動情況,其結果如圖4所示。
通過圖4能夠得知,所提方法伺服周期波動基本處于(250±2) μs之間,波動最大值不會大于10 μs。上述結果表明,使用所提方法控制的虛擬機械手臂不會因為數據轉換期間的通信空缺,出現大幅度抖動狀況。

圖4 數據轉換期間虛擬機械手臂抖動狀況
通過CPLD編程控制執行程序,把機械手臂控制算法的輸入端擬定為TRF7960,設定手臂姿態數據收集頻率為1 200 kHz,動作傳感信息輸出時間為0.15 ms。擬定虛擬機械手臂轉矩作為實驗指標,依靠所提方法對初始機械手臂進行控制,獲取轉矩姿態跟蹤控制曲線,結果如圖5所示。

圖5 虛擬機械手臂轉矩姿態跟蹤曲線
通過圖5能夠看出,本文方法控制下機械手臂姿態參量的擬定轉矩和實際轉矩擬合程度高,且波動幅度基本相同,機械手臂的轉矩控制精度高。
為了進一步證明本文方法的實用性,使用該方法控制虛擬機械手臂抓取目標,獲取距離參量控制性能曲線,其結果如圖6所示。

圖6 虛擬機械手臂位移控制曲線
通過圖6能夠看出,期望位移與實際控制位移曲線基本重合,僅僅有2處出現較小差異,可忽略不計。這是因為本文方法憑借建立的模糊矩陣加強控制精度,使其具有輸出穩定和控制精度高的優點,極大地提升系統的魯棒性。
為了提高虛擬機械手臂的控制精度與響應效率,本文提出一種基于人機工程學的虛擬機械手臂運動控制方法。該方法通過模糊邏輯系統與人體工程模型,實現對虛擬機械手臂的控制。但算法依舊存在一定的弊端:其較為偏向自動控制,并沒有相應的規避障礙物程序,導致虛擬機械手臂在工作時還需要耗費人力檢測,防止意外發生。因此,在接下來的研究中,將在本文方法基礎上,構建一種自動化規避障礙物算法,優化虛擬機械手臂的控制效果。