關天民 ,李寧 ,軒亮,王美令
(1.大連交通大學 機械工程學院,遼寧 大連 116028; 2.江漢大學 機電與建筑工程學院,湖北 武漢 430056; 3.大連交通大學 動車運用與維護工程學院,遼寧 大連 116028)
機械臂是通過對人類手臂的模仿,創(chuàng)造出的一種能夠實現(xiàn)將手爪移動到所需位置和承受爪抓取工件的重量,以及手臂本身的重量等目的的機械裝置[1- 3].本文所設計的機械臂肩關節(jié)與現(xiàn)有機械臂肩關節(jié)相比主要有兩點區(qū)別:第一,所設計的肩關節(jié)初始端不是固定的,現(xiàn)有工業(yè)機械臂肩部大部分都與地面相對固定,本文設計機械臂始端固定在軀干,與地面相對運動.另外一個區(qū)別就是定位不同,本文所設計的機械臂肩關節(jié)通過結構、驅動仿生定位于輔助機械臂,既可以單獨作為一款獨立的機械臂,又可以穿戴在人體背部或固定于輪椅等設備上輔助人上肢完成其單獨完成有難度的任務.
本文主要對機械臂肩關節(jié)進行運動學分析與仿真,通過確定各關節(jié)與末端的位置、速度關系可以為后續(xù)的動力學分析、控制等提供基礎理論和數(shù)據(jù)支持.
根據(jù)人體上肢運動原理及結構分析得出,肩部運動可基本分為大臂前屈/后伸、外展/內收和旋內/旋外三個動作[4],如圖1所示,據(jù)此確定機械臂自由度分配.根據(jù)表1各關節(jié)活動范圍參數(shù),設計肩部各關節(jié)活動范圍.

(a)外展/內收(b)前屈/后展 (c)水平外展/水平內收

圖1 肩關節(jié)基本動作
現(xiàn)有機械臂結構根據(jù)各自由度連接方式可以分為串聯(lián)和并聯(lián).串聯(lián)機械臂具有結構簡單、控制簡便、工作空間大等優(yōu)點,廣泛應用于工業(yè)機械臂和人形機器人領域,但其也有誤差積累、動力學特性差等缺陷;并聯(lián)機械臂相對于串聯(lián)結構物誤差積累、動力學特性較好等優(yōu)點,同時也具有工作空間小、動力學計算較繁瑣、控制較復雜等缺陷[5].
根據(jù)串聯(lián)機械臂具有結構簡單、控制簡單等優(yōu)點,本文設計的機械臂肩關節(jié)結構選擇串聯(lián)結構,同時通過采用縮小各自由度距離、結構輕量化等措施彌補其誤差積累等缺陷.因水平外展/內收范圍較小,參照人體胸鎖結構,肩關節(jié)的偏航關節(jié)采取液壓活塞桿直線驅動,液壓具有響應快速,輸出力或力矩較大,而且因為流體的體積彈性模量,使其具有一定程度的柔順性,柔順性作用不僅可以保護機械結構,而且當輔助機械臂與人體上肢干擾時有一定程度的保護上肢的作用,結構如圖2所示.

圖2 肩部偏航關節(jié)
肩部回轉關節(jié)完成肩關節(jié)外展內收動作,采用電機與帶傳動結合方式,將較重的電機放在靠近肩關節(jié)起始端,減少轉動慣量進而減小串聯(lián)機構誤差積累的影響,帶具有彈性,可緩和沖擊.結構如圖3所示.

圖3 肩部回轉關節(jié)
肩部俯仰關節(jié)完成肩關節(jié)的前屈后伸動作,

圖4 肩部俯仰關節(jié)
采用電機直接驅動,放置位置直接放到關節(jié)處,減少誤差積累,電傳動精確度高、控制精密.結構如圖4所示.
本文所設計肩關節(jié)驅動方式采取混合驅動,根據(jù)各關節(jié)各自由度實際功能要求選取合適驅動方式,整體結構如圖5所示.這樣配置帶來的優(yōu)點一個是能源最大化利用,第二個就是與人體上肢結構更加相似,可以在為人體上肢設計的實際環(huán)境中自由使用.

圖5 肩部整體圖
機械臂的運動學主要研究在不考慮驅動力時機械臂的運動學特性.將機構的空間位移量的解析表示為時間的函數(shù)就是機械臂的運動學分析,具體研究內容包括機械臂末端位置和機械臂關節(jié)變量空間以及姿態(tài)間關系[6].運動學分析是機械臂結構設計的基礎,既可以確定桿件尺寸與工作空間、軌跡規(guī)劃的關系,又是之后動力學分析和控制的基礎.
為描述肩關節(jié)相鄰桿件間平移和轉動關系,采用D-H參數(shù)法.肩關節(jié)坐標系坐標原點選擇一個相對固定位置來進行理論計算,坐標系下角標1

圖6 肩關節(jié)坐標系示意圖

ai-1αi-1diθi1000θ1(pi/2)20pi/241.6θ2(-pi/2)30-pi/241.6θ3(0)
表示偏航關節(jié),2表示回轉關節(jié),3表示俯仰關節(jié),各關節(jié)(自由度)坐標系如圖6所示,肩關節(jié)D-H坐標系參數(shù)如表2所示.
上表中ai-1表示從zi-1到zi沿xi-1的距離;αi-1表示從zi-1到zi繞xi-1的旋轉角度;di表示從xi-1到xi沿zi的距離;θi表示從xi-1到xi繞zi的旋轉角度.
正運動學即已知桿件的幾何參數(shù),求解相對于參考系的桿件的末端點處的位姿.即已知肩關節(jié)結構參數(shù),求出肩關節(jié)末端位姿.對肩關節(jié)進行正運動學分析是整個肩關節(jié)設計的基礎,為后續(xù)的動力學分析及控制提供基礎的關機和末端的相互關系.
(1)

(3)

(4)
如使用[pxpypz]T表示機械臂肩關節(jié)最后一個自由度在基坐標系中的位置,[r11r21r31]T表示肩部最后一個自由度坐標系的x3軸在基坐標系中的方向矢量,[r12r22r32]T表示肩部最后一個自由度坐標系的y3軸在基坐標系中的方向矢量,[r13r23r33]T表示肩部最后一個自由度坐標系的z3軸在基坐標系中的方向矢量.肩關節(jié)末端矩陣又可表示為式.
(5)
如果給定一個末端位置,要求肩關節(jié)到達此位置,各關節(jié)需要轉動多少角度,這就是逆運動學需要解決的問題,也是機械臂控制的重要基礎.其沒有通用的解法,主要分析方法包括幾何方法、數(shù)值方法解析方法等.下面利用代數(shù)法求解:
末端位置矩陣為
(6)

(7)
令矩陣方程兩端元素(2,3)對應相等,得r23c1-r13s1=0
(8)
令矩陣方程兩端元素(3,3)對應相等,得c2=r33
θ2=arccosr33
(9)
令矩陣方程兩端元素(3,2)對應相等,得-s2s3=r32
(10)
為完成設計工作任務,機械臂末端執(zhí)行機構不僅要有一定位姿軌跡,還要有一定的速度,研究操作空間速度與關節(jié)空間速度之間的線性映射關系——雅可比矩陣[7].雅可比不僅用來表示操作空間與關節(jié)空間之間速度線性映射關系,同時也用來表示兩空間之間力的傳遞關系.相當于是某一特定時間的瞬時運動學.
機械臂肩關節(jié)的雅可比矩陣定義為它的操作速度與關節(jié)速度的線性變換,可以看成是從關節(jié)空間向操作空間運動速度的傳動比.運動方程
x=x(q)
(11)
代表操作空間x與關節(jié)空間q之間的位移關系.速度是位置對時間的導數(shù),即將式兩邊對時間t求導,即得出q與x之間的微分關系

(12)

(13)
式中,i=1,2,…,6;j=1,2,…,n.
(14)
式(14)中第一行第一列,表示第一個關節(jié)轉動某一角度時,執(zhí)行機構相應的在x1方向轉動某個角度.
利用機器人工具箱可以快速計算出任意位置雅可比矩陣,命令為
J=r·jacob0([θ1θ2θ3])
機械臂的工作空間是評價其完成任務能力的一個重要運動學指標,其研究方法主要有數(shù)值法、圖解法和代解析法三種[8].肩、肘、腕三個關節(jié)綜合作用確定了末端執(zhí)行機構所能到達的位置與運動能力.其中肩關節(jié)因其是機械臂的結構的基礎,如果能做到其工作空間是封閉近似球體,有助于確定機械臂最終工作空間也是封閉近似球體,也就是說明從結構上來看機械臂有完成任務的基本能力.采用蒙特卡洛法進行計算,當各自由度在規(guī)定活動范圍隨機取值時,通過確定末端執(zhí)行機構的所有隨機值集合,就得到了機械臂的工作空間.基本步驟如下:
(1)求解機械臂肩關節(jié)運動學正解,并根據(jù)正解求出末端位姿矩陣;
(2)基于Matlab中隨機函數(shù)Rand產生n個[0,1]間的隨機值;
(3)生成隨機關步長(θimax-θimin)*rand(n,1);
(4)將N個關節(jié)變量隨機值代入運動學方程中,求得末端N個位姿矩陣,矩陣集合即為工作空間.
Robotics toolbox工具箱提供了機器人研究所涉及的運動學、動力學、軌跡規(guī)劃等重要的函數(shù)[9].該工具箱可以對機器人進行圖形仿真,能再現(xiàn)系統(tǒng)運動規(guī)律或過程,并可以分析實際控制時的實驗數(shù)據(jù)[10].
首先需要在matlab環(huán)境中構建機械臂三維模型,在各自由度D-H參數(shù)基礎上,使用Link函數(shù)構建模型,使用’modified’口令,表明這是改進型D-H參數(shù)法,輸入dirvebot(r)口令生成模型,自動生成運動學模型界面,肩關節(jié)的三個關節(jié)轉動角可以在此界面任意調整,相應的肩關節(jié)模型也會相應的變化,如圖7所示.

圖7 工具箱界面
使用Robotics Toolbox中fkine函數(shù)對給定一組關節(jié)值q=[-pi/6 -pi/4pi/8],求解,得到肩關節(jié)末端矩陣如下所示:
ans=

將同樣關節(jié)值代入采用D-H參數(shù)得到的末端矩陣計算,結果如下
T=

兩種不同方法得出的肩關節(jié)末端矩陣一致,證明了理論算法和采用matlab仿真驗證的結果都是正確的.
使用上節(jié)的末端矩陣T,代入ikine函數(shù),在matalb中運算結果是
qi=[-0.5236 -0.7854 0.3927]
將矩陣T中的數(shù)值代入上章的逆運動學解中計算,可以得到同樣一組解,證明該機械臂逆運動學方程求解正確.
基于蒙特卡羅法仿真,隨機值取50 000,各個關節(jié)角度范圍參照表1.生成肩關節(jié)工作空間如圖8所示.

圖8 肩關節(jié)工作空間
如圖8所示,坐標原點O表示肩關節(jié)起始端所在位置,肩關節(jié)可達空間是一個封閉的近似球體,可以到達此范圍內的任意位置,從結構上來看,具有完成任務的基本能力.
用jtraj函數(shù)規(guī)劃肩關節(jié)空間中各關節(jié)運動軌跡,得出肩部各關節(jié)肩部末端位置、角位移、角速度和角加速度隨時間變化,分別如圖9~圖12所示.

圖9 肩部末端位置隨時間變化圖

圖10 各關節(jié)角位移隨時間變化圖

圖11 各關節(jié)角速度度隨時間變化

圖12 各關節(jié)角加速度隨時間變化圖
由以上四圖可得,肩關節(jié)末端位置變化曲線光滑,無拐點.偏航關節(jié)速度等變化最為平穩(wěn),而在實際生活中,人體上肢完成水平外展/內收運動相比其他兩個動作頻率較低,所設計的肩關節(jié)能更好的輔助上肢完成類似活動.
本文根據(jù)人體肩關節(jié)結構設計仿生肩部結構,并根據(jù)各小關節(jié)實際運動形式選擇合適的驅動,完成模型.后進行運動學分析,針對運動學推導過程較復雜且難以驗證的問題,運用matlab 機器人工具箱進行仿真驗證,證明正逆運動學計算的正確性并進行了軌跡規(guī)劃和工作空間確定.經驗證,本文所設計機械臂肩關節(jié)工作空間完整,各關節(jié)角速度變化平穩(wěn),曲線光滑,滿足肩關節(jié)運動要求.完整的運動學計算與仿真為后續(xù)動力學及控制提供了良好的基礎.
[1]WU D.Research on Development and Prospect of Industrial Robots in China[J].Applied Mechanics and Materials,2014,3138(563):1717- 1720.
[2]International Federation of Robotics.Industria l robots as defined by ISO8373[EB/OL].http://www.ifr.org/industial-robots/.
[3]王田苗,陶永.我國工業(yè)機器人技術現(xiàn)狀與產業(yè)化發(fā)展戰(zhàn)略[J].機械工程學報,2014,50(9):1- 13.
[4]ZOU JINHUI,LIU SHUYUAN.Human Anatomy[M].Beijing:Science Press,2005.
[5]張亮.仿人機器人肩肘腕關節(jié)及臂的設計[D].秦皇島:燕山大學工學,2016:3- 9.
[6]SAEED B.NIKU.機器人學導論[M].北京:電子工業(yè)出版社,2013:49- 54.
[7]蔡自興.機器人學基礎[M].北京:機械工業(yè)出版社,2015.
[8]劉志忠,柳洪義,羅忠,等.機器人工作空間求解的蒙特卡羅法改進[J].農業(yè)機械學報,2013,44(1):230- 235.
[9]左服勇,胡小平,謝珂,等.基于Matlab Rob otics工具箱的SCARA機器人軌跡規(guī)劃與仿真[J].湖南科技大學學報(自然科學版),2012,27(2):41- 44.
[10]謝斌,蔡自興.基于Matlab Robotics Toolbox的機器人學仿真實驗教學[J].計算機教育,2010,19(10):40- 43.