關(guān)天民 ,李寧 ,軒亮,王美令
(1.大連交通大學(xué) 機械工程學(xué)院,遼寧 大連 116028; 2.江漢大學(xué) 機電與建筑工程學(xué)院,湖北 武漢 430056; 3.大連交通大學(xué) 動車運用與維護工程學(xué)院,遼寧 大連 116028)
機械臂是通過對人類手臂的模仿,創(chuàng)造出的一種能夠?qū)崿F(xiàn)將手爪移動到所需位置和承受爪抓取工件的重量,以及手臂本身的重量等目的的機械裝置[1- 3].本文所設(shè)計的機械臂肩關(guān)節(jié)與現(xiàn)有機械臂肩關(guān)節(jié)相比主要有兩點區(qū)別:第一,所設(shè)計的肩關(guān)節(jié)初始端不是固定的,現(xiàn)有工業(yè)機械臂肩部大部分都與地面相對固定,本文設(shè)計機械臂始端固定在軀干,與地面相對運動.另外一個區(qū)別就是定位不同,本文所設(shè)計的機械臂肩關(guān)節(jié)通過結(jié)構(gòu)、驅(qū)動仿生定位于輔助機械臂,既可以單獨作為一款獨立的機械臂,又可以穿戴在人體背部或固定于輪椅等設(shè)備上輔助人上肢完成其單獨完成有難度的任務(wù).
本文主要對機械臂肩關(guān)節(jié)進行運動學(xué)分析與仿真,通過確定各關(guān)節(jié)與末端的位置、速度關(guān)系可以為后續(xù)的動力學(xué)分析、控制等提供基礎(chǔ)理論和數(shù)據(jù)支持.
根據(jù)人體上肢運動原理及結(jié)構(gòu)分析得出,肩部運動可基本分為大臂前屈/后伸、外展/內(nèi)收和旋內(nèi)/旋外三個動作[4],如圖1所示,據(jù)此確定機械臂自由度分配.根據(jù)表1各關(guān)節(jié)活動范圍參數(shù),設(shè)計肩部各關(guān)節(jié)活動范圍.
(a)外展/內(nèi)收(b)前屈/后展 (c)水平外展/水平內(nèi)收
圖1 肩關(guān)節(jié)基本動作
現(xiàn)有機械臂結(jié)構(gòu)根據(jù)各自由度連接方式可以分為串聯(lián)和并聯(lián).串聯(lián)機械臂具有結(jié)構(gòu)簡單、控制簡便、工作空間大等優(yōu)點,廣泛應(yīng)用于工業(yè)機械臂和人形機器人領(lǐng)域,但其也有誤差積累、動力學(xué)特性差等缺陷;并聯(lián)機械臂相對于串聯(lián)結(jié)構(gòu)物誤差積累、動力學(xué)特性較好等優(yōu)點,同時也具有工作空間小、動力學(xué)計算較繁瑣、控制較復(fù)雜等缺陷[5].
根據(jù)串聯(lián)機械臂具有結(jié)構(gòu)簡單、控制簡單等優(yōu)點,本文設(shè)計的機械臂肩關(guān)節(jié)結(jié)構(gòu)選擇串聯(lián)結(jié)構(gòu),同時通過采用縮小各自由度距離、結(jié)構(gòu)輕量化等措施彌補其誤差積累等缺陷.因水平外展/內(nèi)收范圍較小,參照人體胸鎖結(jié)構(gòu),肩關(guān)節(jié)的偏航關(guān)節(jié)采取液壓活塞桿直線驅(qū)動,液壓具有響應(yīng)快速,輸出力或力矩較大,而且因為流體的體積彈性模量,使其具有一定程度的柔順性,柔順性作用不僅可以保護機械結(jié)構(gòu),而且當(dāng)輔助機械臂與人體上肢干擾時有一定程度的保護上肢的作用,結(jié)構(gòu)如圖2所示.
圖2 肩部偏航關(guān)節(jié)
肩部回轉(zhuǎn)關(guān)節(jié)完成肩關(guān)節(jié)外展內(nèi)收動作,采用電機與帶傳動結(jié)合方式,將較重的電機放在靠近肩關(guān)節(jié)起始端,減少轉(zhuǎn)動慣量進而減小串聯(lián)機構(gòu)誤差積累的影響,帶具有彈性,可緩和沖擊.結(jié)構(gòu)如圖3所示.
圖3 肩部回轉(zhuǎn)關(guān)節(jié)
肩部俯仰關(guān)節(jié)完成肩關(guān)節(jié)的前屈后伸動作,
圖4 肩部俯仰關(guān)節(jié)
采用電機直接驅(qū)動,放置位置直接放到關(guān)節(jié)處,減少誤差積累,電傳動精確度高、控制精密.結(jié)構(gòu)如圖4所示.
本文所設(shè)計肩關(guān)節(jié)驅(qū)動方式采取混合驅(qū)動,根據(jù)各關(guān)節(jié)各自由度實際功能要求選取合適驅(qū)動方式,整體結(jié)構(gòu)如圖5所示.這樣配置帶來的優(yōu)點一個是能源最大化利用,第二個就是與人體上肢結(jié)構(gòu)更加相似,可以在為人體上肢設(shè)計的實際環(huán)境中自由使用.
圖5 肩部整體圖
機械臂的運動學(xué)主要研究在不考慮驅(qū)動力時機械臂的運動學(xué)特性.將機構(gòu)的空間位移量的解析表示為時間的函數(shù)就是機械臂的運動學(xué)分析,具體研究內(nèi)容包括機械臂末端位置和機械臂關(guān)節(jié)變量空間以及姿態(tài)間關(guān)系[6].運動學(xué)分析是機械臂結(jié)構(gòu)設(shè)計的基礎(chǔ),既可以確定桿件尺寸與工作空間、軌跡規(guī)劃的關(guān)系,又是之后動力學(xué)分析和控制的基礎(chǔ).
為描述肩關(guān)節(jié)相鄰桿件間平移和轉(zhuǎn)動關(guān)系,采用D-H參數(shù)法.肩關(guān)節(jié)坐標系坐標原點選擇一個相對固定位置來進行理論計算,坐標系下角標1
圖6 肩關(guān)節(jié)坐標系示意圖
ai-1αi-1diθi1000θ1(pi/2)20pi/241.6θ2(-pi/2)30-pi/241.6θ3(0)
表示偏航關(guān)節(jié),2表示回轉(zhuǎn)關(guān)節(jié),3表示俯仰關(guān)節(jié),各關(guān)節(jié)(自由度)坐標系如圖6所示,肩關(guān)節(jié)D-H坐標系參數(shù)如表2所示.
上表中ai-1表示從zi-1到zi沿xi-1的距離;αi-1表示從zi-1到zi繞xi-1的旋轉(zhuǎn)角度;di表示從xi-1到xi沿zi的距離;θi表示從xi-1到xi繞zi的旋轉(zhuǎn)角度.
正運動學(xué)即已知桿件的幾何參數(shù),求解相對于參考系的桿件的末端點處的位姿.即已知肩關(guān)節(jié)結(jié)構(gòu)參數(shù),求出肩關(guān)節(jié)末端位姿.對肩關(guān)節(jié)進行正運動學(xué)分析是整個肩關(guān)節(jié)設(shè)計的基礎(chǔ),為后續(xù)的動力學(xué)分析及控制提供基礎(chǔ)的關(guān)機和末端的相互關(guān)系.
(1)
(3)
(4)
如使用[pxpypz]T表示機械臂肩關(guān)節(jié)最后一個自由度在基坐標系中的位置,[r11r21r31]T表示肩部最后一個自由度坐標系的x3軸在基坐標系中的方向矢量,[r12r22r32]T表示肩部最后一個自由度坐標系的y3軸在基坐標系中的方向矢量,[r13r23r33]T表示肩部最后一個自由度坐標系的z3軸在基坐標系中的方向矢量.肩關(guān)節(jié)末端矩陣又可表示為式.
(5)
如果給定一個末端位置,要求肩關(guān)節(jié)到達此位置,各關(guān)節(jié)需要轉(zhuǎn)動多少角度,這就是逆運動學(xué)需要解決的問題,也是機械臂控制的重要基礎(chǔ).其沒有通用的解法,主要分析方法包括幾何方法、數(shù)值方法解析方法等.下面利用代數(shù)法求解:
末端位置矩陣為
(6)
(7)
令矩陣方程兩端元素(2,3)對應(yīng)相等,得r23c1-r13s1=0
(8)
令矩陣方程兩端元素(3,3)對應(yīng)相等,得c2=r33
θ2=arccosr33
(9)
令矩陣方程兩端元素(3,2)對應(yīng)相等,得-s2s3=r32
(10)
為完成設(shè)計工作任務(wù),機械臂末端執(zhí)行機構(gòu)不僅要有一定位姿軌跡,還要有一定的速度,研究操作空間速度與關(guān)節(jié)空間速度之間的線性映射關(guān)系——雅可比矩陣[7].雅可比不僅用來表示操作空間與關(guān)節(jié)空間之間速度線性映射關(guān)系,同時也用來表示兩空間之間力的傳遞關(guān)系.相當(dāng)于是某一特定時間的瞬時運動學(xué).
機械臂肩關(guān)節(jié)的雅可比矩陣定義為它的操作速度與關(guān)節(jié)速度的線性變換,可以看成是從關(guān)節(jié)空間向操作空間運動速度的傳動比.運動方程
x=x(q)
(11)
代表操作空間x與關(guān)節(jié)空間q之間的位移關(guān)系.速度是位置對時間的導(dǎo)數(shù),即將式兩邊對時間t求導(dǎo),即得出q與x之間的微分關(guān)系
(12)
(13)
式中,i=1,2,…,6;j=1,2,…,n.
(14)
式(14)中第一行第一列,表示第一個關(guān)節(jié)轉(zhuǎn)動某一角度時,執(zhí)行機構(gòu)相應(yīng)的在x1方向轉(zhuǎn)動某個角度.
利用機器人工具箱可以快速計算出任意位置雅可比矩陣,命令為
J=r·jacob0([θ1θ2θ3])
機械臂的工作空間是評價其完成任務(wù)能力的一個重要運動學(xué)指標,其研究方法主要有數(shù)值法、圖解法和代解析法三種[8].肩、肘、腕三個關(guān)節(jié)綜合作用確定了末端執(zhí)行機構(gòu)所能到達的位置與運動能力.其中肩關(guān)節(jié)因其是機械臂的結(jié)構(gòu)的基礎(chǔ),如果能做到其工作空間是封閉近似球體,有助于確定機械臂最終工作空間也是封閉近似球體,也就是說明從結(jié)構(gòu)上來看機械臂有完成任務(wù)的基本能力.采用蒙特卡洛法進行計算,當(dāng)各自由度在規(guī)定活動范圍隨機取值時,通過確定末端執(zhí)行機構(gòu)的所有隨機值集合,就得到了機械臂的工作空間.基本步驟如下:
(1)求解機械臂肩關(guān)節(jié)運動學(xué)正解,并根據(jù)正解求出末端位姿矩陣;
(2)基于Matlab中隨機函數(shù)Rand產(chǎn)生n個[0,1]間的隨機值;
(3)生成隨機關(guān)步長(θimax-θimin)*rand(n,1);
(4)將N個關(guān)節(jié)變量隨機值代入運動學(xué)方程中,求得末端N個位姿矩陣,矩陣集合即為工作空間.
Robotics toolbox工具箱提供了機器人研究所涉及的運動學(xué)、動力學(xué)、軌跡規(guī)劃等重要的函數(shù)[9].該工具箱可以對機器人進行圖形仿真,能再現(xiàn)系統(tǒng)運動規(guī)律或過程,并可以分析實際控制時的實驗數(shù)據(jù)[10].
首先需要在matlab環(huán)境中構(gòu)建機械臂三維模型,在各自由度D-H參數(shù)基礎(chǔ)上,使用Link函數(shù)構(gòu)建模型,使用’modified’口令,表明這是改進型D-H參數(shù)法,輸入dirvebot(r)口令生成模型,自動生成運動學(xué)模型界面,肩關(guān)節(jié)的三個關(guān)節(jié)轉(zhuǎn)動角可以在此界面任意調(diào)整,相應(yīng)的肩關(guān)節(jié)模型也會相應(yīng)的變化,如圖7所示.
圖7 工具箱界面
使用Robotics Toolbox中fkine函數(shù)對給定一組關(guān)節(jié)值q=[-pi/6 -pi/4pi/8],求解,得到肩關(guān)節(jié)末端矩陣如下所示:
ans=
將同樣關(guān)節(jié)值代入采用D-H參數(shù)得到的末端矩陣計算,結(jié)果如下
T=
兩種不同方法得出的肩關(guān)節(jié)末端矩陣一致,證明了理論算法和采用matlab仿真驗證的結(jié)果都是正確的.
使用上節(jié)的末端矩陣T,代入ikine函數(shù),在matalb中運算結(jié)果是
qi=[-0.5236 -0.7854 0.3927]
將矩陣T中的數(shù)值代入上章的逆運動學(xué)解中計算,可以得到同樣一組解,證明該機械臂逆運動學(xué)方程求解正確.
基于蒙特卡羅法仿真,隨機值取50 000,各個關(guān)節(jié)角度范圍參照表1.生成肩關(guān)節(jié)工作空間如圖8所示.
圖8 肩關(guān)節(jié)工作空間
如圖8所示,坐標原點O表示肩關(guān)節(jié)起始端所在位置,肩關(guān)節(jié)可達空間是一個封閉的近似球體,可以到達此范圍內(nèi)的任意位置,從結(jié)構(gòu)上來看,具有完成任務(wù)的基本能力.
用jtraj函數(shù)規(guī)劃肩關(guān)節(jié)空間中各關(guān)節(jié)運動軌跡,得出肩部各關(guān)節(jié)肩部末端位置、角位移、角速度和角加速度隨時間變化,分別如圖9~圖12所示.
圖9 肩部末端位置隨時間變化圖
圖10 各關(guān)節(jié)角位移隨時間變化圖
圖11 各關(guān)節(jié)角速度度隨時間變化
圖12 各關(guān)節(jié)角加速度隨時間變化圖
由以上四圖可得,肩關(guān)節(jié)末端位置變化曲線光滑,無拐點.偏航關(guān)節(jié)速度等變化最為平穩(wěn),而在實際生活中,人體上肢完成水平外展/內(nèi)收運動相比其他兩個動作頻率較低,所設(shè)計的肩關(guān)節(jié)能更好的輔助上肢完成類似活動.
本文根據(jù)人體肩關(guān)節(jié)結(jié)構(gòu)設(shè)計仿生肩部結(jié)構(gòu),并根據(jù)各小關(guān)節(jié)實際運動形式選擇合適的驅(qū)動,完成模型.后進行運動學(xué)分析,針對運動學(xué)推導(dǎo)過程較復(fù)雜且難以驗證的問題,運用matlab 機器人工具箱進行仿真驗證,證明正逆運動學(xué)計算的正確性并進行了軌跡規(guī)劃和工作空間確定.經(jīng)驗證,本文所設(shè)計機械臂肩關(guān)節(jié)工作空間完整,各關(guān)節(jié)角速度變化平穩(wěn),曲線光滑,滿足肩關(guān)節(jié)運動要求.完整的運動學(xué)計算與仿真為后續(xù)動力學(xué)及控制提供了良好的基礎(chǔ).
[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è)機器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J].機械工程學(xué)報,2014,50(9):1- 13.
[4]ZOU JINHUI,LIU SHUYUAN.Human Anatomy[M].Beijing:Science Press,2005.
[5]張亮.仿人機器人肩肘腕關(guān)節(jié)及臂的設(shè)計[D].秦皇島:燕山大學(xué)工學(xué),2016:3- 9.
[6]SAEED B.NIKU.機器人學(xué)導(dǎo)論[M].北京:電子工業(yè)出版社,2013:49- 54.
[7]蔡自興.機器人學(xué)基礎(chǔ)[M].北京:機械工業(yè)出版社,2015.
[8]劉志忠,柳洪義,羅忠,等.機器人工作空間求解的蒙特卡羅法改進[J].農(nóng)業(yè)機械學(xué)報,2013,44(1):230- 235.
[9]左服勇,胡小平,謝珂,等.基于Matlab Rob otics工具箱的SCARA機器人軌跡規(guī)劃與仿真[J].湖南科技大學(xué)學(xué)報(自然科學(xué)版),2012,27(2):41- 44.
[10]謝斌,蔡自興.基于Matlab Robotics Toolbox的機器人學(xué)仿真實驗教學(xué)[J].計算機教育,2010,19(10):40- 43.