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