李 偉,劉 忠,熊中剛,李源周,陳 忠
(1.長(zhǎng)沙市電子工業(yè)學(xué)校,湖南 長(zhǎng)沙 410205;2.桂林航天工業(yè)學(xué)院機(jī)電工程學(xué)院,廣西 桂林 541004;3.桂林電子科技大學(xué)機(jī)電工程學(xué)院,廣西 桂林 541004;4.桂林理工大學(xué)機(jī)械與控制工程學(xué)院,廣西 桂林 541004)
對(duì)機(jī)器人在自動(dòng)化生產(chǎn)線上的點(diǎn)位示教及歐拉角變換的研究已有相關(guān)報(bào)道。李福武等[1]利用Robot-Studio 仿真軟件對(duì)碼垛機(jī)器人作業(yè)仿真分析,論證了工業(yè)機(jī)器人碼垛作業(yè)的可行性,提高了識(shí)別效率,未對(duì)環(huán)形陳列產(chǎn)品的點(diǎn)位進(jìn)行研究。朱程廣等[2-3]對(duì)歐拉角到四元數(shù)轉(zhuǎn)化展開了研究,歐拉角角度的變化范圍廣和精度高的特點(diǎn)。韓華[4]為了提高企業(yè)自動(dòng)化生產(chǎn)線的生產(chǎn)效率,利用RobotStudio 仿真軟件對(duì)生產(chǎn)線進(jìn)行虛擬設(shè)計(jì)及論證,驗(yàn)證系統(tǒng)的可行性,減少產(chǎn)品調(diào)試時(shí)間。王陽(yáng)等人[5]針對(duì)工人在線分揀誤差率大、時(shí)間成本高和工作效率低等問(wèn)題,結(jié)合RobotStudio 仿真分析和實(shí)驗(yàn)驗(yàn)證了機(jī)器視覺的工業(yè)機(jī)器人自動(dòng)分揀設(shè)備的可行性。
在企業(yè)生產(chǎn)中常會(huì)遇到不同大小、不同產(chǎn)品個(gè)數(shù)環(huán)形陣列產(chǎn)品的機(jī)器人點(diǎn)位進(jìn)行示教,用傳統(tǒng)方法對(duì)環(huán)形陣列中每個(gè)產(chǎn)品進(jìn)行手動(dòng)點(diǎn)位示教,工作量大,示教點(diǎn)位精度不高及效率低。針對(duì)以上問(wèn)題,分析環(huán)形陣列異形產(chǎn)品如何在機(jī)器人點(diǎn)位示教安裝調(diào)試過(guò)程中,減少機(jī)器人的點(diǎn)位示教數(shù)量,提高機(jī)器人調(diào)試效率和加工精度。通過(guò)創(chuàng)建參考工件坐標(biāo)系和參考點(diǎn)位,采用歐拉角運(yùn)算方法,將工件坐標(biāo)方位的四元數(shù)轉(zhuǎn)換成歐拉角,方便對(duì)工件坐標(biāo)進(jìn)行固定角度的旋轉(zhuǎn),再通過(guò)編程獲取旋轉(zhuǎn)后參考工件坐標(biāo)系下的機(jī)器人點(diǎn)位,經(jīng)過(guò)RobotStudio 仿真軟件進(jìn)行仿真模擬,減少機(jī)器人的點(diǎn)位示教量、提高機(jī)器人調(diào)試效率和加工精度。
環(huán)形陣列異形產(chǎn)品點(diǎn)位計(jì)算原理的實(shí)質(zhì)是工件坐標(biāo)的綜合應(yīng)用,在進(jìn)行點(diǎn)位處理時(shí),首先在環(huán)形陣列產(chǎn)品圓心處定義一個(gè)工件坐標(biāo)wobj1 作為環(huán)形陣列點(diǎn)位處理的參考坐標(biāo),并示教環(huán)形陣列中任意一個(gè)產(chǎn)品在基坐標(biāo)wobj0 及指定工具坐標(biāo)系下的機(jī)器人位置作為環(huán)形陣列點(diǎn)位處理的基點(diǎn),通過(guò)編程將示教的基點(diǎn)轉(zhuǎn)換到參考工件坐標(biāo)及相應(yīng)工具下,作為后續(xù)的點(diǎn)位獲取的參考點(diǎn),再通過(guò)編程將參考坐標(biāo)系wobj1 表示角度的四元數(shù),轉(zhuǎn)換成歐拉角,方便對(duì)參考坐標(biāo)系的旋轉(zhuǎn)。獲得了參考坐標(biāo)系wobj1 的歐拉角后,就可以根據(jù)環(huán)形陣列的個(gè)數(shù),對(duì)參考坐標(biāo)系旋轉(zhuǎn)一固定的角度,并獲取參考坐標(biāo)系wobj1 旋轉(zhuǎn)后的工件坐標(biāo)系及相應(yīng)工具下的機(jī)器人點(diǎn)位,最后再將獲取的點(diǎn)位轉(zhuǎn)換到基坐標(biāo)wobj0 及指定工具坐標(biāo)系下,并將該點(diǎn)位保存,重復(fù)上面旋轉(zhuǎn)參考坐標(biāo)及獲取點(diǎn)位及轉(zhuǎn)換點(diǎn)位的步驟,直到將環(huán)形陣列的點(diǎn)位全部獲取。
為了更好地對(duì)環(huán)形陣列異形產(chǎn)品點(diǎn)位處理進(jìn)行理解,通過(guò)圖1 所示六個(gè)異形元件環(huán)形陣列來(lái)說(shuō)明環(huán)形陣列點(diǎn)位處理的原理。
圖1 環(huán)形陣列元件布局圖
先建立一個(gè)robtarget 一維數(shù)組dw,大小根據(jù)環(huán)形陣列的個(gè)數(shù)來(lái)確定,用來(lái)存儲(chǔ)環(huán)形陣列的機(jī)器人點(diǎn)位數(shù)據(jù)如圖2(a)所示。接下來(lái)在環(huán)形陣列的圓心yd處定義一個(gè)工件坐標(biāo)wobj1 作為環(huán)形陣列點(diǎn)位處理的參考坐標(biāo)系如圖2(b)所示,并示教在基坐標(biāo)wobj0及工具xp(此例中機(jī)器人工具全為xp 工具)下的dw{1},作為環(huán)形陣列點(diǎn)位處理的基點(diǎn)。并通過(guò)編程將dw{1} 數(shù)據(jù)轉(zhuǎn)換至工件坐標(biāo)wobj1 及工具坐標(biāo)xp 下,并保存在點(diǎn)位數(shù)據(jù)rdw 中,作為后續(xù)環(huán)形陣列點(diǎn)位獲取的參考點(diǎn)。再通過(guò)編程,將表示wobj1 姿態(tài)的四元數(shù)轉(zhuǎn)換為歐拉角度,方便wobj1 進(jìn)行固定角度的旋轉(zhuǎn)。準(zhǔn)備工作全部做好后,就可以對(duì)參考工作坐標(biāo)wobj1進(jìn)行旋轉(zhuǎn)了,旋轉(zhuǎn)的角度根據(jù)環(huán)形陣列的元器件個(gè)數(shù)來(lái)確定。旋轉(zhuǎn)后的工件坐標(biāo)wobj1、如圖2(c)所示,通過(guò)編程獲取機(jī)器人在工件坐標(biāo)wobj1 及工具坐標(biāo)xp下的機(jī)器人位置,并將該點(diǎn)位轉(zhuǎn)換至wobj0 及工具坐標(biāo)xp 下的點(diǎn)位數(shù)據(jù),并保存至數(shù)組dw 的第二個(gè)存儲(chǔ)區(qū)dw{2}中,其它環(huán)形陣列點(diǎn)位按dw{2}數(shù)據(jù)獲取步驟獲取即可。
圖2 環(huán)形陣列點(diǎn)位處理原理說(shuō)明圖
環(huán)形陣列異形產(chǎn)品點(diǎn)位處理的實(shí)質(zhì)是工件坐標(biāo)的靈活應(yīng)用,參考工件坐標(biāo)及參考點(diǎn)位的可靠定義決定了環(huán)形陣列中其他元件的機(jī)器人點(diǎn)位的精度,如何保證參考工件坐標(biāo)及參考點(diǎn)位的精度和可靠性,是環(huán)形陣列產(chǎn)品點(diǎn)位處理的基礎(chǔ)。
2.1.1 參考工件坐標(biāo)系創(chuàng)建
工件坐標(biāo)系的綜合應(yīng)用是解決環(huán)形陣列異形產(chǎn)品點(diǎn)位計(jì)算的基礎(chǔ)。在創(chuàng)建參考工件坐標(biāo)時(shí),首先示教環(huán)形陣列的圓心yd,作為參考工件坐標(biāo)的原點(diǎn),如圖3 所示。再在yd的基礎(chǔ)上往x軸方向偏移一固定值,此處設(shè)為100 mm,作為參考工件坐標(biāo)的x軸上的點(diǎn)xdw。最后在yd的基礎(chǔ)上往y軸方向偏移一固定值100 mm,作為參考工件坐標(biāo)的y軸方向的點(diǎn)ydw。點(diǎn)位的獲取通過(guò)offs 偏移功能來(lái)實(shí)現(xiàn),具體的編程如下:
圖3 參考工作坐標(biāo)定義示意圖
proc js()
xdw=offs(yd,100,0,0);!在yd 點(diǎn)的基礎(chǔ)上往x 軸方向移動(dòng)100mm
ydw=offs(yd,0,100,0); !在yd 點(diǎn)的基礎(chǔ)上往y軸方向移動(dòng)100mm
end proc
參考工件坐標(biāo)創(chuàng)建所需的三個(gè)點(diǎn)yd,xdw,ydw 確定好后,通過(guò)指令DefFrame 就可以創(chuàng)建參考工件坐標(biāo)了,DefFrame(Define Frame)指令用于計(jì)算一個(gè)坐標(biāo)系,并從三個(gè)位置來(lái)定義該坐標(biāo)系,該三個(gè)位置分別為新坐標(biāo)系的原點(diǎn),x軸上的點(diǎn)和定義坐標(biāo)系的xy平面y方向的點(diǎn)位。參考工件坐標(biāo)wobj1 的定義的具體編程步驟為:
proc js()
xdw=offs(yd,100,0,0);!獲取參考工件坐標(biāo)的x軸上的點(diǎn)位
ydw=offs(yd,0,100,0);!獲取參考工件坐標(biāo)的y方向的點(diǎn)位
wobj1.uframe:=DefFrame (yd,xdw,ydw);!通過(guò)DefFrame 指令定義參考坐標(biāo)系wobj1
end proc
2.1.2 參考點(diǎn)位創(chuàng)建
參考工件坐標(biāo)wobj1 確定后,要獲取在工件坐標(biāo)wobj1 及相應(yīng)工具坐標(biāo)(工具坐標(biāo)為xp)下的機(jī)器人位置數(shù)據(jù),作為其他點(diǎn)位獲取的參考點(diǎn),首先示教在基坐標(biāo)wobj0 及xp 工具坐標(biāo)系下的dw{1},作為環(huán)形陣列點(diǎn)位處理的基點(diǎn),再通過(guò)CalcJointT 指令獲取在wobj0 及xp 工具坐標(biāo)系下的機(jī)器人接頭位置數(shù)據(jù)jdw(jointtarget 數(shù)據(jù)類型),再通過(guò)CalcRobT 指令獲取參考工件坐標(biāo)wobj1 及xp 工具坐標(biāo)系下的機(jī)器人點(diǎn)位rdw(robtarget 數(shù)據(jù)類型),作為環(huán)形陣列中其它工件點(diǎn)位的參考點(diǎn)位,具體的編程操作如下所示:
proc js()
xdw=offs(yd,100,0,0); !獲取參考工件坐標(biāo)的x軸上的點(diǎn)位
ydw=offs(yd,0,100,0); !獲取參考工件坐標(biāo)的y方向的點(diǎn)位
wobj1.uframe:=DefFrame(yd,xdw,ydw);!計(jì)算出參考坐標(biāo)系wobj1
jdw:=CalcJointT(dw{ 1},xpwobj:=wobj0);! 獲取dw{1}在wobj0 及xp 工具坐標(biāo)系下的機(jī)器人接頭位置數(shù)據(jù)
rdw:=CalcRobT(jwz,xpwobj:=wobj1);!獲取機(jī)器人接頭位置數(shù)據(jù)jdw 在wobj0 及xp 工具坐標(biāo)系下的機(jī)器人位置數(shù)據(jù),作為環(huán)形陣列點(diǎn)位處理的參考點(diǎn)位
end proc
2.2.1 工件坐標(biāo)旋轉(zhuǎn)原理
ABB 工業(yè)機(jī)器人的工件坐標(biāo)系的姿態(tài)是以四元數(shù)的形式來(lái)描述的,該四元數(shù)包括四個(gè)組成部分:q0、q1、q2和q3。通過(guò)用于描述坐標(biāo)系各軸相對(duì)于參考系統(tǒng)方向的旋轉(zhuǎn)矩陣,描述坐標(biāo)系的姿態(tài)如圖4 所示。
圖4 坐標(biāo)系各軸相對(duì)于參考系統(tǒng)方向的旋轉(zhuǎn)矩陣示意圖
旋轉(zhuǎn)后的坐標(biāo)系軸(x,y,z)為矢量,其可以用參考坐標(biāo)系表示:
由式(1)可知,參考坐標(biāo)系中x矢量的x軸向分量將為x1,y軸向分量將為x2,z軸向分量將為x3,以此類推。這三個(gè)矢量可在一個(gè)矩陣(旋轉(zhuǎn)矩陣)組合,各矢量由此構(gòu)成一欄:
四元數(shù)僅僅是一種描述此旋轉(zhuǎn)矩陣的更為簡(jiǎn)潔的方式,根據(jù)旋轉(zhuǎn)矩陣的各元素,計(jì)算四元數(shù)的計(jì)算式:
使用四元數(shù)的形式來(lái)改變工件坐標(biāo)的姿態(tài)很不方便,如果可以用坐標(biāo)軸的歐拉角分量來(lái)表示,就很容易進(jìn)行角度的旋轉(zhuǎn),四元數(shù)與歐拉角轉(zhuǎn)換的算式為:式(4)所示,繞固定坐標(biāo)系的X-Y-Z軸旋轉(zhuǎn)角度依次為α,β,γ角。
2.2.2 工件坐標(biāo)旋轉(zhuǎn)
在ABB 機(jī)器人中使用EulerZYX 指令,能夠很方便將工件坐標(biāo)系表示姿態(tài)的四元數(shù)轉(zhuǎn)換成各軸歐拉角分量,獲取了各軸歐拉角分量后,就可根據(jù)環(huán)形陣列元器件的陣列個(gè)數(shù)對(duì)參考坐標(biāo)系進(jìn)行繞某根軸進(jìn)行固定角度旋轉(zhuǎn)了,改變了相應(yīng)軸的旋轉(zhuǎn)角度后,需要在旋轉(zhuǎn)后的參考坐標(biāo)系處建立一個(gè)新的坐標(biāo)系,要將歐拉角表示坐標(biāo)軸的姿態(tài)轉(zhuǎn)變成四元數(shù)來(lái)表示工件坐標(biāo)姿態(tài),用OrientZYX 指令來(lái)實(shí)現(xiàn)。具體的編程操作步驟如下:
proc gj()
rx:=EulerZYX(X,wobj1.uframe.rot);!獲取wobj1的x 軸歐拉角分量
ry:=EulerZYX(Y,wobj1.uframe.rot);!獲取wobj1的y 軸歐拉角分量
rz:=EulerZYX(,wobj1.uframe.rot);!獲取wobj1的z 軸歐拉角分量
rz:=rz-(360/6);!改變z 軸方向的旋轉(zhuǎn)角度,+/-號(hào)可以改變坐標(biāo)旋轉(zhuǎn)方向。
wobj1.uframe.rot:=OrientZYX (rz,ry,rx);!通過(guò)OrientZYX 指令重新定義工件坐標(biāo)wobj1,使wobj1 繞Z 軸旋轉(zhuǎn)60°。
endproc
通過(guò)將工件坐標(biāo)的姿態(tài)轉(zhuǎn)換為歐拉角表示,能夠很方便對(duì)工件坐標(biāo)姿態(tài)進(jìn)行繞某根軸進(jìn)行固定角度的旋轉(zhuǎn),獲取環(huán)形陣列點(diǎn)位處理所需新工件坐標(biāo),先通過(guò)CalcJointT 指令獲取在變換后工件坐標(biāo)wobj1 及xp 工具坐標(biāo)系下的機(jī)器人關(guān)節(jié)位置jdw(jointtarget 數(shù)據(jù)類型),再通過(guò)CalcRobT 指令獲取wobj0 及xp 工具坐標(biāo)系下的機(jī)器人點(diǎn)位(robtarget 數(shù)據(jù)類型),并將機(jī)器人點(diǎn)位保存至相應(yīng)存儲(chǔ)點(diǎn)位數(shù)組dw 中,即可獲取相應(yīng)角度下的機(jī)器人點(diǎn)位數(shù)據(jù)。其它環(huán)形陣列的點(diǎn)位獲取步驟和方法都是一至的,可以用有限次循環(huán)指令for 來(lái)實(shí)現(xiàn)。具體的編程步驟如下:
!*點(diǎn)位獲取的具體步驟例行程序,采用帶參數(shù)例行程序來(lái)實(shí)現(xiàn),ksd 為環(huán)形陣列點(diǎn)位存儲(chǔ)的起始點(diǎn),zls 為環(huán)形陣列的元器件個(gè)數(shù)*
proc js(num ksd,num zls)
FOR i FROM ksd+1 TO ksd+zls-1 DO
rx:=EulerZYX(X,wobj1.uframe.rot);!獲取wobj1的x 軸歐拉角分量
ry:=EulerZYX(Y,wobj1.uframe.rot);! 獲取wobj1的y 軸歐拉角分量
rz:=EulerZYX(,wobj1.uframe.rot);! 獲取wobj1的z 軸歐拉角分量
rz:=rz-(360/zls);!參考坐標(biāo)繞Z 軸旋轉(zhuǎn)固定角度,+/-角度改變旋轉(zhuǎn)方向
wobj1.uframe.rot:=OrientZYX(rz,ry,rx);!通過(guò)歐拉角旋轉(zhuǎn)后,重新定義旋轉(zhuǎn)后的工件坐標(biāo)
jwz:=CalcJointT(rdw,xpwobj:=wobj1);!獲取在工具坐標(biāo)xp,旋轉(zhuǎn)后的工件坐標(biāo)wobj1 下的rdw 參考點(diǎn)位的機(jī)器人關(guān)節(jié)位置
dw{i}:=Calcrobt(jwz,xpwobj:=wobj0);!將機(jī)器人處在工具坐標(biāo)xp,新工件坐標(biāo)wobj1 下的機(jī)器人關(guān)節(jié)位置,轉(zhuǎn)換為在工具坐標(biāo)xp,工件坐標(biāo)wobj0 下的機(jī)器人位置,并存儲(chǔ)在數(shù)組dw 相應(yīng)的存儲(chǔ)區(qū)。
ENDFOR
endproc
通過(guò)上面的環(huán)形陣列點(diǎn)位獲取步驟,理論上僅需要示教兩個(gè)點(diǎn),就可以將環(huán)形陣列的所有點(diǎn)位通過(guò)計(jì)算得出,為了對(duì)點(diǎn)位處理結(jié)果的可行性進(jìn)行驗(yàn)證,在robotstudio 仿真軟件中,搭建如圖5 所示的工作站,通過(guò)smart 組件創(chuàng)建一個(gè)吸盤工具和一條異形元件傳送帶。在工作站中通過(guò)傳送帶將異形元件源源不斷的送到指定位置,再通過(guò)機(jī)器人將元件安裝到環(huán)形陣列的安放位置。將編寫好的程序?qū)氲绞窘唐髦?,首先示教環(huán)形陣列的中心點(diǎn)yd,創(chuàng)建參考工件坐標(biāo)wobj1,再在xp 工具和工件坐標(biāo)wobj0 下示教第一個(gè)元件的安裝點(diǎn)位,作為環(huán)形陣列點(diǎn)位處理的基點(diǎn),運(yùn)行程序,通過(guò)對(duì)異形產(chǎn)品環(huán)形陣列點(diǎn)位的計(jì)算處理,將環(huán)形陣列的機(jī)器人點(diǎn)位記錄下來(lái),在接下來(lái)的仿真過(guò)程中機(jī)器人能按環(huán)形陣列點(diǎn)位計(jì)算得出的點(diǎn)位,將傳送帶傳過(guò)來(lái)的元件,精確的安裝到環(huán)形陣中各元件安裝位置。仿真程序主要由主程序、環(huán)形陣列點(diǎn)位計(jì)算例行程序及元器件裝配例行程序組成。環(huán)形陣列點(diǎn)位計(jì)算例行程序主要負(fù)責(zé)對(duì)環(huán)形陣列點(diǎn)位的計(jì)算處理,元器件裝配例行程序根據(jù)環(huán)形陣列點(diǎn)位計(jì)算例行程序計(jì)算得出的點(diǎn)位對(duì)元器件進(jìn)行安裝,主程序中對(duì)機(jī)器人的操作順序進(jìn)行調(diào)用,具體的仿真操作程序如下:
圖5 robotstuio 中搭建的仿真工作站
module lianxi
proc main()
moveabsj home,v500,z0,xp;!程序啟動(dòng)前回home 點(diǎn),確保安全
js 1,6;!調(diào)用環(huán)形陣列點(diǎn)位處理程序,啟始存儲(chǔ)位置為1,環(huán)形陣列的產(chǎn)品個(gè)數(shù)為6
PulseDOPLength:=0.1,object_control;!啟動(dòng)異形元件傳送帶
zp 1,6;!調(diào)用異形元件裝配例行程序
moveabsj home,v500,z0,xp;!元件裝配完成,機(jī)器人回home 點(diǎn)位
endproc
!**環(huán)形陣列點(diǎn)位處理例行程序,采用帶參數(shù)例行程序來(lái)實(shí)現(xiàn)**
PROC js(num ksd,num zls)
xdw:=Offs(yd,100,0,0); ! 在yd 點(diǎn)的基礎(chǔ)上往x軸方向移動(dòng)100mm.
ydw:=Offs(yd,0,100,0); ! 在yd 點(diǎn)的基礎(chǔ)上往y軸方向移動(dòng)100mm.
wobj1.uframe:=DefFrame(yd,xdw,ydw); !創(chuàng)建參考坐標(biāo)wobj1
jdw:=CalcJointT(dw{ksd},xpwobj:=wobj0); !獲取基點(diǎn)位的關(guān)節(jié)位置
rdw:=CalcRobT(jdw,xpwobj:=wobj1);!獲取旋轉(zhuǎn)參考點(diǎn)位
FOR i FROM ksd+1 TO ksd+jsd-1 DO !循環(huán)對(duì)環(huán)形陣列點(diǎn)位獲取
rx:=EulerZYX(X,wobj1.uframe.rot);!獲取wobj1的x 軸歐拉分量
ry:=EulerZYX(Y,wobj1.uframe.rot);!獲取wobj1的y 軸歐拉分量
rz:=EulerZYX(,wobj1.uframe.rot);!獲取wobj1的z 軸歐拉分量
rz:=rz-(360/zls); ! 繞z 軸旋轉(zhuǎn)固定角度
wobj1.uframe.rot:=OrientZYX(rz,ry,rx);!創(chuàng)建旋轉(zhuǎn)后的新工件坐標(biāo)
jdw:=CalcJointT(rdw,xpwobj:=wobj1);!旋轉(zhuǎn)后參考點(diǎn)位的關(guān)節(jié)位置
dw{i}:=Calcrobt(jdw,xpwobj:=wobj0);!旋轉(zhuǎn)后機(jī)器人安裝點(diǎn)位獲取
ENDFOR
ENDPROC
!**環(huán)形陣列異形產(chǎn)品裝配例行程序**
proc zp(num ksd,num zls)
for num1 from ksd to ksd+zls-1 do !環(huán)形陣列產(chǎn)品裝配次數(shù)
movej offs(sqd,0,0,50),v400,fine,xp;!異形元件拾取點(diǎn)安全點(diǎn)
waitdi object_dw,1;!等待異形產(chǎn)品運(yùn)行到位
movel sqd,v400,fine,xp;!機(jī)器人運(yùn)行至異形元件拾取點(diǎn)
Set xp_control;!打開吸盤,開始拾取元件
WaitTime 2;!等待0.2 秒,確保元件拾取可靠
MoveL offs(sqd,0,0,50),v400,fine,xp;!回異形元件拾取點(diǎn)安全點(diǎn)
MoveJ offs(dw{num1},0,0,50),v400,fine,xp;!安裝元件安全點(diǎn)
movel dw{num1},v400,fine,xp;!機(jī)器人將元件放置到安裝點(diǎn)
Reset xp_control;!關(guān)閉吸盤,安裝元件
WaitTime 2;!等待0.2 秒,確保元件安裝可靠
MoveL Offs (dw {num1},0,0,50),v400,fine,xp;!回安裝元件安全點(diǎn)
endfor
endproc
endmodule
在robotstudio 軟件中搭建環(huán)形陣列裝配工作站,并將環(huán)形陣列點(diǎn)位處理程序?qū)耄M(jìn)行仿真驗(yàn)證,通過(guò)環(huán)形陣列異形產(chǎn)品機(jī)器人點(diǎn)位計(jì)算處理,能很方便計(jì)算出環(huán)形陣列中的點(diǎn)位。并且只需要以一個(gè)環(huán)形陣列的圓點(diǎn)作為參考工件坐標(biāo)系和以任意一個(gè)環(huán)形陣列異形產(chǎn)品的機(jī)器人安裝點(diǎn)位作為參考點(diǎn)位進(jìn)行示教,就能通過(guò)調(diào)用環(huán)形陣列點(diǎn)位處理例行程序求出其它環(huán)形陣列中的機(jī)器人點(diǎn)位。在程序仿真中,可修改環(huán)形陣列點(diǎn)位處理例行程序的參數(shù),適配不同大小和不同陣列個(gè)數(shù)的環(huán)形陣列異形產(chǎn)品,都只需要示教兩個(gè)點(diǎn)位就可以很精確的得出其它環(huán)形陣列機(jī)器人的點(diǎn)位數(shù)據(jù),大大地減少了點(diǎn)位示教的工作量,提高了機(jī)器人作業(yè)效率。