孫 琳,張愛(ài)軍
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇 南京 210094)
隨著我國(guó)勞動(dòng)力成本的提高,工業(yè)機(jī)器人作為一種新型的勞動(dòng)力,正在慢慢改變工業(yè)領(lǐng)域的生產(chǎn)模式[1]。其中,小型裝配機(jī)器人獲得越來(lái)越多企業(yè)的青睞。這種類型的機(jī)器人分為四軸SCARA機(jī)器人和六軸關(guān)節(jié)式機(jī)器人。SCARA機(jī)器人結(jié)構(gòu)簡(jiǎn)單、剛度小、往復(fù)速度快、精度高,主要應(yīng)用于高速取放作業(yè)的領(lǐng)域。
SCARA機(jī)器人的總線通信方式有Modbus、Profibus、EtherCAT等。EtherCAT作為一種新型工業(yè)以太網(wǎng)總線,已成為工業(yè)以太網(wǎng)領(lǐng)域的主流。EtherCAT是一種開放式實(shí)時(shí)以太網(wǎng)協(xié)議,其抗干擾性強(qiáng)、拓?fù)浣Y(jié)構(gòu)靈活、數(shù)據(jù)傳輸速度高[2]、數(shù)據(jù)刷新周期短,分布時(shí)鐘能夠達(dá)到小于100 ns的同步精度[3]。目前,國(guó)內(nèi)一些學(xué)者對(duì)EtherCAT的高速、高實(shí)時(shí)性進(jìn)行了大量的研究。陳灝等[12]設(shè)計(jì)了分布時(shí)鐘算法,并在試驗(yàn)平臺(tái)上對(duì)同步性進(jìn)行了仿真驗(yàn)證。黨選舉等[3]分析了主從站之間的通信時(shí)序,研究了影響同步誤差的因素;但其沒(méi)有通過(guò)不同的試驗(yàn)測(cè)試對(duì)比驗(yàn)證其高實(shí)時(shí)性,也沒(méi)有將EtherCAT對(duì)SCARA機(jī)器人的運(yùn)動(dòng)軌跡精度的影響進(jìn)行試驗(yàn)分析。本文以雙相機(jī)引導(dǎo)機(jī)械手貼合系統(tǒng)為背景,進(jìn)行了實(shí)時(shí)性對(duì)機(jī)器人軌跡精度的影響的驗(yàn)證。
SCARA機(jī)器人的工作空間近似圓柱體。它在水平方向有兩個(gè)平行的旋轉(zhuǎn)關(guān)節(jié),使得機(jī)械臂在X-Y平面內(nèi)移動(dòng);在豎直方向即Z軸方向有一個(gè)旋轉(zhuǎn)關(guān)節(jié)和一個(gè)平移關(guān)節(jié),使得機(jī)械手末端作上下運(yùn)動(dòng)[4]。SCARA機(jī)器人具備以下優(yōu)點(diǎn):可用于電子和汽車零部件裝配;可加工具備高速、高重復(fù)定位精度特征的零件;機(jī)械結(jié)構(gòu)簡(jiǎn)單、運(yùn)行可靠;手工操作全自動(dòng)化;占地面積小、運(yùn)動(dòng)范圍大;臂長(zhǎng)400 mm,最大負(fù)載3 kg;緊湊型設(shè)計(jì)。
EtherCAT充分利用了以太網(wǎng)全雙工的特性[5],使用主從模式介質(zhì)訪問(wèn)控制。EtherCAT工作原理如圖1所示。
圖1 EtherCAT工作原理圖
EtherCAT總線技術(shù)采用了Interbus的“集總幀”這一中心思想。EtherCAT對(duì)幀傳輸?shù)暮诵乃枷胧羌袀鬏攩为?dú)處理,將不同網(wǎng)段不同設(shè)備中的過(guò)程數(shù)據(jù)都集中存放在同一個(gè)EtherCAT報(bào)文中。該以太網(wǎng)幀按照確定的順序遍歷所有從站。主站發(fā)送報(bào)文給第一個(gè)從站。從站讀取幀中需要的對(duì)應(yīng)的數(shù)據(jù),同時(shí)插入需要輸出的數(shù)據(jù),再傳遞給下一個(gè)從站。報(bào)文經(jīng)過(guò)最后一個(gè)節(jié)點(diǎn)從站的處理后再返回,最終通過(guò)第一個(gè)節(jié)點(diǎn)返回到主站[6]。整個(gè)報(bào)文的處理過(guò)程形成一個(gè)閉環(huán)。報(bào)文信息均由從站控制器處理,即在硬件上進(jìn)行,所以總線延時(shí)很短。
本文選用的平臺(tái)是SCARA機(jī)械手雙相機(jī)引導(dǎo)對(duì)位系統(tǒng)。該系統(tǒng)結(jié)構(gòu)框圖如圖2所示。系統(tǒng)由一臺(tái)SCARA機(jī)器人、五臺(tái)帶有EtherCAT網(wǎng)口的驅(qū)動(dòng)器、一個(gè)主站控制器、一個(gè)光源控制器、一個(gè)光電傳感器、兩個(gè)相機(jī)和兩個(gè)光源構(gòu)成。光源控制器主要是控制光源的亮度。光電傳感器用來(lái)檢測(cè)皮帶上的物體,通過(guò)高低電平的變化給出信號(hào)。此時(shí)皮帶停止,相機(jī)進(jìn)行拍照處理。處理完成后,機(jī)械手進(jìn)行貼合操作。本文重點(diǎn)分析EtherCAT對(duì)SCARA機(jī)器人運(yùn)動(dòng)過(guò)程中軌跡精度的影響,不研究相機(jī)的標(biāo)定、機(jī)械振動(dòng)等因素的影響。
圖2 系統(tǒng)結(jié)構(gòu)框圖
EtherCAT采用的是網(wǎng)口形式的一進(jìn)一出,其協(xié)議處理直達(dá)I/O層,傳輸速率為100 Mbit/s,是一種高速以太網(wǎng)。采用邏輯尋址的方式,將映射過(guò)程轉(zhuǎn)移到從站設(shè)備,可以減輕系統(tǒng)負(fù)擔(dān);數(shù)據(jù)被按照要求傳輸,使得整個(gè)傳輸過(guò)程快速、靈活、高效。EtherCAT提供了一種分布時(shí)鐘機(jī)制[7],可以確保同步操作在被控制系統(tǒng)中進(jìn)行。該同步性能可以在很大程度上減小抖動(dòng)延時(shí)。
分布時(shí)鐘同步機(jī)制通常將主站連接的第一個(gè)具有分布式時(shí)鐘功能的從站作為參考時(shí)鐘,其他從站時(shí)鐘和主站時(shí)鐘以該時(shí)鐘為參考。為實(shí)現(xiàn)時(shí)鐘同步,需進(jìn)行傳輸延遲測(cè)量、時(shí)鐘偏移補(bǔ)償和時(shí)鐘漂移補(bǔ)償。傳輸延遲是由報(bào)文在傳輸過(guò)程中網(wǎng)線的傳輸延遲導(dǎo)致的,其測(cè)量的是EtherCAT從站節(jié)點(diǎn)離開和返回幀之間的時(shí)間差,記為tdelay。該時(shí)間寫入寄存器0x928~0x92B,采用wireshark抓包可以發(fā)現(xiàn):主站在進(jìn)行傳輸延遲測(cè)量時(shí),會(huì)不斷地發(fā)送BWR和APRD指令,以獲取平均值,得到有參考意義的傳輸延遲時(shí)間。
由于參考時(shí)鐘tsys_ref與本地時(shí)鐘tlocal_time之間有一定的偏差,所以需要進(jìn)行偏移補(bǔ)償。該偏移由主站計(jì)算,偏移時(shí)間toffset寫入寄存器0x920~0x927。傳輸延遲測(cè)量和時(shí)鐘偏移補(bǔ)償?shù)倪^(guò)程在INIT狀態(tài)完成。每個(gè)從站內(nèi)部都有一個(gè)系統(tǒng)時(shí)間本地副本tlocal_copy_time,如式(1)所示。主站向所有從站發(fā)送ARMW或FRMW指令進(jìn)行靜態(tài)漂移補(bǔ)償。該補(bǔ)償過(guò)程的寫入是一個(gè)持續(xù)過(guò)程,漂移補(bǔ)償是本地系統(tǒng)時(shí)間副本與參考時(shí)間的插值。通過(guò)觀察TwinCAT3中寄存器0x92C-0x92F的值,可以知道其系統(tǒng)時(shí)間誤差,以此判斷是否滿足同步性要求。通過(guò)式(2)進(jìn)行漂移補(bǔ)償。當(dāng)Δt>0時(shí),減小本地時(shí)鐘的速度;當(dāng)Δt<0時(shí),增加本地時(shí)鐘的速度。
tlocal_copy_time=tlocal_time+toffset
(1)
Δt=(tlocal_time+toffset+tdelay)-tsys_ref
(2)
機(jī)器人運(yùn)動(dòng)學(xué)分析是研究軌跡規(guī)劃的重要基礎(chǔ)[8],本文選用標(biāo)準(zhǔn)的D-H建模方法,建立機(jī)器人連桿坐標(biāo)系,如圖3所示。
圖3 機(jī)器人連桿坐標(biāo)系
坐標(biāo)系的y軸方向由右手定則確定。機(jī)器人連桿參數(shù)的確定是分析機(jī)器人運(yùn)動(dòng)規(guī)律的前提,連桿i-1的長(zhǎng)度是關(guān)節(jié)軸i-1與關(guān)節(jié)軸i之間公垂線的長(zhǎng)度ai-1;連桿轉(zhuǎn)角αi-1是坐標(biāo)系繞x軸旋轉(zhuǎn)的角度;連桿偏距di是相鄰兩個(gè)連桿坐標(biāo)系x軸之間的距離,即沿z軸平移的距離;關(guān)節(jié)角θi是坐標(biāo)系繞z軸旋轉(zhuǎn)的角度[9-11]。
D-H參數(shù)如表1所示。
表1 D-H參數(shù)表
機(jī)器人正運(yùn)動(dòng)學(xué)是已知機(jī)器人各連桿參數(shù)和關(guān)節(jié)變量,求取機(jī)器人末端機(jī)械手的位姿。式(3)為D-H矩陣,是由四個(gè)齊次變換矩陣通過(guò)右乘得到的。將各個(gè)D-H矩陣相乘,可以得到從機(jī)器人基坐標(biāo)系到機(jī)器人末端位姿的傳遞矩陣,如式(4)所示。
(3)
記cos=c、sin=s:
(4)
(5)
式中:n、o、a組成的3×3的矩陣表示末端坐標(biāo)系相對(duì)于參考坐標(biāo)系的旋轉(zhuǎn)變換;p為位置向量。
令式(4)與式(5)相等,則可得:
(6)
由式(6)可求得在給定各關(guān)節(jié)參數(shù)后的機(jī)械手末端在基坐標(biāo)系中的位置。通過(guò)Matlab中的機(jī)器人工具箱中的教學(xué)指令,可以直觀地看出改變關(guān)節(jié)角度其位姿的變化情況。機(jī)器人仿真圖如圖4所示。
圖4 機(jī)器人仿真圖
如果希望機(jī)械手末端處于期望的位姿,就必須知道機(jī)械手每個(gè)關(guān)節(jié)的角度,這個(gè)過(guò)程就是逆運(yùn)動(dòng)學(xué)分析。
(7)
本文采用wireshark抓包軟件,選擇ALLBUS-TAP抓包工具為報(bào)文打上時(shí)間戳。ALLBUS-TAP抓取過(guò)程中對(duì)網(wǎng)絡(luò)僅造成0.7 μs的延時(shí)。如果將主站發(fā)送的相鄰兩個(gè)報(bào)文作差分運(yùn)算,其延時(shí)時(shí)間相互抵消,可以不用考慮。選用Matlab軟件,主站抖動(dòng)延時(shí)折線如圖5所示。由圖5可以看出,通信周期為2 ms,主站的抖動(dòng)時(shí)間在150 μs左右。
圖5 主站抖動(dòng)延時(shí)折線圖
本文采用的方法是測(cè)量1號(hào)從站和4號(hào)從站之間的同步誤差。首先,需要將1號(hào)從站和4號(hào)從站的DC中斷用杜邦線標(biāo)引,1號(hào)從站接示波器的CH1信源,4號(hào)從站接示波器的CH2信源,采用雙通道示波器同時(shí)捕捉其中斷輸出信號(hào),分別設(shè)定其通信周期為2 ms和250 μs,可以分析各軸之間的同步性能。通過(guò)觀察示波器波形,可以得出結(jié)論:1號(hào)從站和4號(hào)從站的同步誤差只有28 ns左右,其分布時(shí)鐘的同步性能已經(jīng)達(dá)到了很高的水平,符合IEEE 1588精確時(shí)鐘協(xié)議。文獻(xiàn)[12]的同步誤差為60 ns,表明本文選擇的驅(qū)動(dòng)器更好;同時(shí),也可看出不同周期并不會(huì)影響其同步誤差,這是因?yàn)橥秸`差本身就有一定的波動(dòng)。
本次試驗(yàn)采用七次多項(xiàng)式算法對(duì)SCARA機(jī)械手關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃,可以實(shí)現(xiàn)速度、加速度以及加加速度的平穩(wěn)變化,其多項(xiàng)式如式(8)所示。分別對(duì)其關(guān)于時(shí)間t求一階、二階、三階導(dǎo)數(shù),求出速度、加速度、加加速度的表達(dá)式。給定始末條件,求出7個(gè)系數(shù)如式(9)所示。
q(t)=k0+k1(t-t0)+k2(t-t0)2+
k3(t-t0)3+k4(t-t0)4+
k5(t-t0)5+k6(t-t0)6+k7(t-t0)7
(8)
解得:
(9)
式中:Q=q1-q0;T=t1-t0。
本次試驗(yàn)主要測(cè)試使用EtherCAT的分布式時(shí)鐘同步時(shí)與不同步時(shí),機(jī)械手運(yùn)動(dòng)過(guò)程中的速度給定與反饋的偏差,采樣周期都設(shè)為250 μs。將多項(xiàng)式算法封裝成C模塊,使用主站控制器,選用可編程邏輯控制器(programmable logic controller,PLC)編程軟件[12],調(diào)用寫好的C模塊,控制SCARA運(yùn)動(dòng)。其速度是由定時(shí)中斷到來(lái)時(shí)的時(shí)間代入速度公式算出來(lái)的。將其速度數(shù)據(jù)導(dǎo)出,用LabVIEW上位機(jī)進(jìn)行處理。圖6為同步與不同步時(shí)整合在一起的速度給定與反饋圖。從圖6可看出,同步時(shí)其給定與反饋的偏差很小,抖動(dòng)也很小。
圖6 速度給定與反饋曲線
通過(guò)對(duì)EtherCAT的實(shí)時(shí)性進(jìn)行分析,介紹了EtherCAT的分布時(shí)鐘機(jī)制;使用抓包工具分析了抖動(dòng)延時(shí);用示波器觀察了其同步誤差。由此可得出結(jié)論:EtherCAT的實(shí)時(shí)性高,能夠?qū)崿F(xiàn)從站之間的同步。通過(guò)對(duì)SCARA機(jī)器人采用D-H建模方法,進(jìn)行運(yùn)動(dòng)學(xué)分析,采用點(diǎn)到點(diǎn)(point to point,PTP)多項(xiàng)式插值方法進(jìn)行了軌跡規(guī)劃,選擇帶有EtherCAT總線的伺服驅(qū)動(dòng)器,驗(yàn)證了EtherCAT的同步性能會(huì)影響軌跡規(guī)劃的精度,為EtherCAT在機(jī)器人領(lǐng)域的深入研究打下了堅(jiān)實(shí)的基礎(chǔ)。