周晨珺,胡 劍,喻信東,肖 佩,李剛炎
(1.武漢理工大學(xué) 機電工程學(xué)院,湖北 武漢 430070;2.湖北泰晶電子科技股份有限公司,湖北 隨州441300)
封蓋移載機械手運動學(xué)是對于末端執(zhí)行器與各個關(guān)節(jié)在空間位置和姿態(tài)的關(guān)系研究。李保豐[1]、陳支等[2]運用DH(Denvit-Hartenberg)代數(shù)法建立相關(guān)的DH參數(shù)誤差模型,但DH參數(shù)法在相鄰關(guān)節(jié)軸相互平行或者接近平行的情況下,DH模型存在參數(shù)的奇異性和突變性的缺點。
為了解決DH模型在相鄰關(guān)節(jié)軸相互平行或者接近平行時存在的問題,引入MDH(modified denvit-dartenberg)矩陣,分析封蓋移載機械手的正運動學(xué)[3]?;赗obotics Toolbox工具箱對所建立的運動學(xué)模型進行仿真,驗證建立的MDH參數(shù)[4]。通過所建立的MDH模型引入微分思想,建立封蓋移載機械手的誤差模型[5-6],通過Matlab對MDH模型的各個參數(shù)引入誤差,得到對應(yīng)誤差參量的末端位置誤差圖,從而為封蓋移載機械手的設(shè)計和安裝提供理論依據(jù)。
所研究的封蓋移載機械手主要運用在SMD(surface mounted devices)封裝設(shè)備當(dāng)中,是其中的關(guān)鍵部件,如圖1所示。該機械有4個自由度, 3個旋轉(zhuǎn)關(guān)節(jié)和1個移動關(guān)節(jié),其中關(guān)節(jié)1、關(guān)節(jié)2、關(guān)節(jié)3的3條軸線相互平行,關(guān)節(jié)4的軸線與其他3條軸線相互垂直。該封蓋移載機械手移載封蓋到指定位置并能調(diào)整封蓋的方向使封蓋放入后續(xù)工位,其運動區(qū)域類似一個扇形區(qū)間。該設(shè)備結(jié)構(gòu)簡單、移載速度快。
圖1 某封蓋移載機械手三維圖及其坐標系的建立
按照DH模型建立方法,依次建立各個關(guān)節(jié)的坐標系。建立的各關(guān)節(jié)坐標系及連桿參數(shù)如圖2所示。根據(jù)各連桿之間的關(guān)系可得DH參數(shù),如表1所示。其中,ai為各連桿長度;αi為連桿的扭角;θi為各連桿的夾角;di為各連桿的偏置。
圖2 某封蓋移載機械手結(jié)構(gòu)簡圖及坐標系的建立
iai/mmαi/(°)θi/(°)di/mm12250θ100~90°2-00d2-20~-10 mm30-90θ3-85180~270°4200θ4067.5~90.0°
雖然DH參數(shù)法已經(jīng)廣泛應(yīng)用于封蓋移載機械手運動學(xué)建模與分析中,但機械手相鄰連桿軸線平行,兩軸的微小夾角會使兩軸的公法線位置產(chǎn)生很大的偏差,從而使建立的模型不準確。為了解決相鄰關(guān)節(jié)平行時DH模型的局限性,一些學(xué)者提出5參數(shù)的MDH模型。該模型是在原有的a、α、θ、d4個參數(shù)基礎(chǔ)上引入了一個繞Y軸旋轉(zhuǎn)的轉(zhuǎn)角β。而在坐標系的建立中,對于旋轉(zhuǎn)關(guān)節(jié)和移動關(guān)節(jié)有兩種不同的建模方法。根據(jù)本機構(gòu)有3條軸線相互平行的特點,可以得到本封蓋移載機械手的MDH參數(shù),如表2所示。
表2 封蓋移載機械手的MDH參數(shù)
正運動學(xué)方程描述了封蓋移載機械手末端執(zhí)行器的位置和姿態(tài),是進行運動學(xué)分析的基本方程。根據(jù)文獻[7]可得坐標系變換矩陣Ti-1,i為:
(1)
式中:cθi、sθi分別為cosθi、sinθi;cαi、sαi分別為cosαi、sinαi;cβi、sβi分別為cosβi、sinβi。
由此可以得到4個連桿的變換矩陣:
根據(jù)已知的各相鄰桿的齊次變換矩陣,將各連桿的齊次變換矩陣相乘可得末端執(zhí)行器的位姿方程(又稱正運動學(xué)模型):
T0,i=T0,1(θ1)T1,2(d2)T2,3(θ3)T3,4(θ4)
(2)
根據(jù)式(2)可得正運動學(xué)方程:
(3)
式中:nx=cθ4c(θ1+θ3);ox=-sθ4c(θ1+θ3);ax=-s(θ1+θ3);px=20cθ4c(θ1+θ3)+225cθ1;ny=cθ4s(θ1+θ3);oy=-sθ4s(θ1+θ3);ay=c(θ1+θ3);py=225sθ1+20cθ4s(θ1+θ3);nz=-sθ4;oz=-cθ4;az=0;pz=d2-20sθ4-25。
基于式(3)求得封蓋移載機械手的末端執(zhí)行器的位置和姿態(tài)。已知封蓋移載機械手各個關(guān)節(jié)的位置參數(shù)θ1、d2、θ3、θ4的初始位置,當(dāng)給定各個關(guān)節(jié)變量時,根據(jù)式(3)求得唯一的T0,4與之對應(yīng)。
封蓋移載機械手的運動仿真采用Robotics Toolbox[8]來完成,對于連桿的建模需要調(diào)用Link函數(shù)。其編程語句如下:
L1 = Link(′d′, 0, ′a′, 225, ′alpha′, 0);
L1.qlim=[0,pi/2];
L2 = Link(′theta′, 0, ′a′,0, ′alpha′,0);
L2.qlim=[-20,-10];
L3 = Link(′d′, -85, ′a′,0, ′alpha′, -pi/2);
L3.qlim=[pi,3*pi/2];
L4 = Link(′d′, 0, ′a′, 20, ′alpha′, 0);
L4.qlim=[3*pi/8,pi/2]
bot = SerialLink([L1 L2 L3 L4], ′name′, ′my robot′)
q1=[0 -10 pi pi/2];
bot.plot(q1,′workspace′,[-250,250,-250,250,-250,250]);
bot.teach()
已知封蓋移載機械手的初始位置,各關(guān)節(jié)位置參數(shù)為:θo1=0°、do2=-10、θo3=180°、θo4=90°,取料工位各關(guān)節(jié)的位置參數(shù)為:θk1=0°、dk2=-20、θk3=270°、θk4=67.5°,放料工位各關(guān)節(jié)位置參數(shù)為:θr1=90°、dr2=-20、θr3=270°、θr4=90°。通過plot函數(shù)在Matlab中繪制出封蓋移載機械手的模型,利用示教模式手動對模型運動軌跡進行仿真,通過已知各個工位各關(guān)節(jié)位置參數(shù),得到初始位置、取料工位位置和放料工位位置如圖3所示,其中箭頭表示機械手在這3個工位相互變化。
圖3 基于Robotics工具箱的仿真建模
從圖3可知,封蓋移載機械手在各個工位時各連桿的位姿滿足要求,因此本MDH參數(shù)在Robotics Toolbox中所建立的模型是有效的。
封蓋移載機械手的幾何參數(shù)誤差,主要包括關(guān)節(jié)的連桿長度誤差Δai、連桿的扭角誤差Δαi、連桿的轉(zhuǎn)角誤差Δθi、連桿的偏置誤差Δdi等[9-10]。而這些誤差中,連桿的長度誤差Δai和連桿的偏置誤差Δdi是由于制造加工和安裝而產(chǎn)生的;連桿的轉(zhuǎn)角誤差Δθi主要來源于編碼器的零位誤差;連桿的扭角誤差Δai主要來源于相鄰關(guān)節(jié)軸線的垂直度或者平行度的偏差。連桿參數(shù)誤差示意圖如圖4所示。
圖4 連桿參數(shù)誤差示意圖
在理想情況下,封蓋移載機械手的末端執(zhí)行器的位姿始終與設(shè)備控制器指令的位姿一致。但在實際情況下,誤差是不可避免的,因此封蓋移載機械手的末端執(zhí)行器的位置始終會與理想情況不一致?;谖⒎炙枷?,可以把各關(guān)節(jié)產(chǎn)生的誤差引入到末端執(zhí)行器坐標系,然后再根據(jù)末端執(zhí)行器的位置偏差從而建立起封蓋移載機械手的幾何誤差模型。
筆者以封蓋移載機械手為研究對象,由于封蓋移載機械手第1關(guān)節(jié)、第2個關(guān)節(jié)和第3個關(guān)節(jié)平行。根據(jù)上述分析,DH矩陣在相鄰軸平行的情況下有一定的局限性,因此采用MDH矩陣建立幾何誤差模型,對于非相鄰平行的軸繼續(xù)采用DH方法建模。
根據(jù)MDH模型封蓋移載機械手連桿的變換矩陣可以表示為:
Ti-1,i=Rot(Zi-1,θi)Trans(Zi-1,di)×
(4)
由于受到幾何誤差的影響,在實際情況下的齊次變換矩陣為:
RTi-1,i=Rot(Zi-1,θi+Δθi)×
(5)
因此可得連桿i的誤差模型為:
d(Ti-1,i)=RTi-1,i-Ti-1,i=Ti-1,iΔi
(6)
式中:Δi為微分變換矩陣,根據(jù)微分運動學(xué)可以表示為:
(7)
式中:δx、δy、δz分別為x、y、z方向的旋轉(zhuǎn)距離。
由于Δai、Δαi、Δdi、Δθi和Δβi在實際情況下都比較微小,因此在這種情況下可用連桿的微分模型來替換,此時全微分連桿的微分模型為:
(8)
由式(6)可求得Δi,見式(9);由此,根據(jù)式(7)和式(9)可得式(10)。
(9)
(10)
將式(10)以微分運動向量的形式ΔLi=[Δai,Δαi,Δdi,Δθi,Δβi]對其進行表示:
(11)
式中:Gi為誤差系數(shù)矩陣,關(guān)節(jié)誤差ki只是相對于工具坐標系而言,因此需要將這些誤差變換到基坐標下,其變換公式如下:
(12)
式中,Bi,4為i關(guān)節(jié)的坐標系位姿誤差轉(zhuǎn)換到末端執(zhí)行器的坐標系位姿誤差的轉(zhuǎn)換矩陣。
Diei
(13)
根據(jù)式(13),可得封蓋移載機械手的末端位姿誤差公式:
(14)
式中:J為擴展雅克比矩陣,ΔL=[Δa1,…Δa4,Δα1,…,Δα4,Δd1,…,Δd4,Δθ1,…,Δθ4,β1,β2]為有待辨識的參數(shù)誤差值,根據(jù)封蓋移載機械手的機械結(jié)構(gòu)中1、2、3軸都相互平行的特點,因此在2軸和3軸上引入旋轉(zhuǎn)參數(shù)β1、β2,因此在ΔL中包含了β1、β2兩個旋轉(zhuǎn)參數(shù)。
位姿誤差模型分為末端執(zhí)行器的位置誤差模型和末端執(zhí)行器的姿態(tài)誤差模型。在通常情況下,末端執(zhí)行器的姿態(tài)是很難測量出來的。因此筆者僅基于位置誤差模型,把MDH模型中5個參數(shù)的誤差用末端執(zhí)行器中心位置坐標表示。根據(jù)位置誤差模型利用Matlab軟件編程的方式來進行實例計算。Matlab的編程流程如圖5所示。
圖5 Matlab編程流程
分別給Δαi、Δθi、Δβi賦5個值,分別取0.01~0.05 rad,給Δai、Δdi賦值為0.1~0.5 mm,由于關(guān)節(jié)1、關(guān)節(jié)2、關(guān)節(jié)3相互平行,根據(jù)MDH的建模原則,關(guān)節(jié)1中的Δd1、關(guān)節(jié)2中的Δα2和Δθ2始終為0,由此可得相對應(yīng)坐標點的末端位置誤差,結(jié)果如圖6~圖9所示。
圖6 關(guān)節(jié)1上各參數(shù)誤差對末端X、Y、Z方向位置誤差
圖7 關(guān)節(jié)2上各參數(shù)誤差對末端X、Y、Z方向位置誤差
圖8 關(guān)節(jié)3上各參數(shù)誤差對末端X、Y、Z方向位置誤差
圖9 關(guān)節(jié)4上各參數(shù)誤差對末端X、Y、Z方向位置誤差
由圖6~圖9可知,4個關(guān)節(jié)中在不同誤差參數(shù)影響下的效果是不一樣的。
對于關(guān)節(jié)1而言,Δa1和Δα1的誤差對末端位姿影響極其微小,因此對于兩軸線之間的距離和關(guān)節(jié)1和關(guān)節(jié)2之間公法線的夾角處誤差可以適當(dāng)放寬。Δθ1誤差對于末端位姿的Y方向位置誤差有很大的影響,Δβ1對于末端位置X方向位置誤差有很大的影響,因此關(guān)節(jié)1的原點定位要保證高度精準,同時在設(shè)計和安裝的過程中盡量保證關(guān)節(jié)軸線轉(zhuǎn)角,其他兩個關(guān)節(jié)平行。
對于關(guān)節(jié)2而言,Δα2隨著誤差增大對末端位置的Z方向有較小的影響,因此在設(shè)計和安裝中可稍微放寬對相鄰軸線公法線的夾角要求。而Δd2對末端位置的Z方向位置誤差有一定的影響,這時對關(guān)節(jié)2的原點定位提出了較高的要求,在安裝中一定要保證移動關(guān)節(jié)的原點位置精度,并同關(guān)節(jié)1一致。由于Δβ2的誤差值對末端位置的X方向影響很大,因此要保證關(guān)節(jié)1、關(guān)節(jié)2、關(guān)節(jié)3的軸線盡量平行。
對于關(guān)節(jié)3而言,Δa3、Δα3、Δd3分別對末端位置的X、Y、Z方向有很大的影響,因此要保證關(guān)節(jié)3旋轉(zhuǎn)軸的下端夾取位置的安裝精度,同時也要保證零件的公差標注合理,與關(guān)節(jié)4安裝的垂直度滿足精度要求。Δθ3和Δβ3誤差對末端位置影響不大,因此對軸3和軸4之間軸線的夾角值和兩軸是否絕對垂直可適當(dāng)放寬要求。
對于關(guān)節(jié)4而言,主要影響末端位置精度的誤差量為Δa4和Δθ4,因此一定要保證影響零件末端位置到關(guān)節(jié)軸線的精度,加工誤差在可控范圍,而且對于關(guān)節(jié)4轉(zhuǎn)動的原點精度必須要滿足精度要求。Δα4和Δd4則對末端位置的影響不大,在設(shè)計和安裝時可以適當(dāng)放寬要求。
在使用傳統(tǒng)DH模型的基礎(chǔ)上,針對關(guān)節(jié)軸線平行時DH模型有一定局限性的缺點,采用MDH模型建立某型封蓋移載機械手的運動學(xué)模型。同時通過MDH模型推導(dǎo)了封蓋移載機械手的正運動學(xué)模型。利用Robotics Toolbox對封蓋移載機械手進行仿真,驗證所建立MDH模型的合理性。根據(jù)MDH模型建立了某型封蓋移載機械手的誤差模型,利用Matlab軟件編程的方式對誤差模型中5個誤差參數(shù)進行計算,分析了各個關(guān)節(jié)中影響大的誤差參數(shù)并提出了解決方法,為封蓋移載機械手的位置精度設(shè)計和安裝提供理論依據(jù)。