孫 琳,張愛軍
(南京理工大學機械工程學院,江蘇 南京 210094)
隨著我國勞動力成本的提高,工業機器人作為一種新型的勞動力,正在慢慢改變工業領域的生產模式[1]。其中,小型裝配機器人獲得越來越多企業的青睞。這種類型的機器人分為四軸SCARA機器人和六軸關節式機器人。SCARA機器人結構簡單、剛度小、往復速度快、精度高,主要應用于高速取放作業的領域。
SCARA機器人的總線通信方式有Modbus、Profibus、EtherCAT等。EtherCAT作為一種新型工業以太網總線,已成為工業以太網領域的主流。EtherCAT是一種開放式實時以太網協議,其抗干擾性強、拓撲結構靈活、數據傳輸速度高[2]、數據刷新周期短,分布時鐘能夠達到小于100 ns的同步精度[3]。目前,國內一些學者對EtherCAT的高速、高實時性進行了大量的研究。陳灝等[12]設計了分布時鐘算法,并在試驗平臺上對同步性進行了仿真驗證。黨選舉等[3]分析了主從站之間的通信時序,研究了影響同步誤差的因素;但其沒有通過不同的試驗測試對比驗證其高實時性,也沒有將EtherCAT對SCARA機器人的運動軌跡精度的影響進行試驗分析。本文以雙相機引導機械手貼合系統為背景,進行了實時性對機器人軌跡精度的影響的驗證。
SCARA機器人的工作空間近似圓柱體。它在水平方向有兩個平行的旋轉關節,使得機械臂在X-Y平面內移動;在豎直方向即Z軸方向有一個旋轉關節和一個平移關節,使得機械手末端作上下運動[4]。SCARA機器人具備以下優點:可用于電子和汽車零部件裝配;可加工具備高速、高重復定位精度特征的零件;機械結構簡單、運行可靠;手工操作全自動化;占地面積小、運動范圍大;臂長400 mm,最大負載3 kg;緊湊型設計。
EtherCAT充分利用了以太網全雙工的特性[5],使用主從模式介質訪問控制。EtherCAT工作原理如圖1所示。

圖1 EtherCAT工作原理圖
EtherCAT總線技術采用了Interbus的“集總幀”這一中心思想。EtherCAT對幀傳輸的核心思想是集中傳輸單獨處理,將不同網段不同設備中的過程數據都集中存放在同一個EtherCAT報文中。該以太網幀按照確定的順序遍歷所有從站。主站發送報文給第一個從站。從站讀取幀中需要的對應的數據,同時插入需要輸出的數據,再傳遞給下一個從站。報文經過最后一個節點從站的處理后再返回,最終通過第一個節點返回到主站[6]。整個報文的處理過程形成一個閉環。報文信息均由從站控制器處理,即在硬件上進行,所以總線延時很短。
本文選用的平臺是SCARA機械手雙相機引導對位系統。該系統結構框圖如圖2所示。系統由一臺SCARA機器人、五臺帶有EtherCAT網口的驅動器、一個主站控制器、一個光源控制器、一個光電傳感器、兩個相機和兩個光源構成。光源控制器主要是控制光源的亮度。光電傳感器用來檢測皮帶上的物體,通過高低電平的變化給出信號。此時皮帶停止,相機進行拍照處理。處理完成后,機械手進行貼合操作。本文重點分析EtherCAT對SCARA機器人運動過程中軌跡精度的影響,不研究相機的標定、機械振動等因素的影響。

圖2 系統結構框圖
EtherCAT采用的是網口形式的一進一出,其協議處理直達I/O層,傳輸速率為100 Mbit/s,是一種高速以太網。采用邏輯尋址的方式,將映射過程轉移到從站設備,可以減輕系統負擔;數據被按照要求傳輸,使得整個傳輸過程快速、靈活、高效。EtherCAT提供了一種分布時鐘機制[7],可以確保同步操作在被控制系統中進行。該同步性能可以在很大程度上減小抖動延時。
分布時鐘同步機制通常將主站連接的第一個具有分布式時鐘功能的從站作為參考時鐘,其他從站時鐘和主站時鐘以該時鐘為參考。為實現時鐘同步,需進行傳輸延遲測量、時鐘偏移補償和時鐘漂移補償。傳輸延遲是由報文在傳輸過程中網線的傳輸延遲導致的,其測量的是EtherCAT從站節點離開和返回幀之間的時間差,記為tdelay。該時間寫入寄存器0x928~0x92B,采用wireshark抓包可以發現:主站在進行傳輸延遲測量時,會不斷地發送BWR和APRD指令,以獲取平均值,得到有參考意義的傳輸延遲時間。
由于參考時鐘tsys_ref與本地時鐘tlocal_time之間有一定的偏差,所以需要進行偏移補償。該偏移由主站計算,偏移時間toffset寫入寄存器0x920~0x927。傳輸延遲測量和時鐘偏移補償的過程在INIT狀態完成。每個從站內部都有一個系統時間本地副本tlocal_copy_time,如式(1)所示。主站向所有從站發送ARMW或FRMW指令進行靜態漂移補償。該補償過程的寫入是一個持續過程,漂移補償是本地系統時間副本與參考時間的插值。通過觀察TwinCAT3中寄存器0x92C-0x92F的值,可以知道其系統時間誤差,以此判斷是否滿足同步性要求。通過式(2)進行漂移補償。當Δt>0時,減小本地時鐘的速度;當Δt<0時,增加本地時鐘的速度。
tlocal_copy_time=tlocal_time+toffset
(1)
Δt=(tlocal_time+toffset+tdelay)-tsys_ref
(2)
機器人運動學分析是研究軌跡規劃的重要基礎[8],本文選用標準的D-H建模方法,建立機器人連桿坐標系,如圖3所示。

圖3 機器人連桿坐標系
坐標系的y軸方向由右手定則確定。機器人連桿參數的確定是分析機器人運動規律的前提,連桿i-1的長度是關節軸i-1與關節軸i之間公垂線的長度ai-1;連桿轉角αi-1是坐標系繞x軸旋轉的角度;連桿偏距di是相鄰兩個連桿坐標系x軸之間的距離,即沿z軸平移的距離;關節角θi是坐標系繞z軸旋轉的角度[9-11]。
D-H參數如表1所示。

表1 D-H參數表
機器人正運動學是已知機器人各連桿參數和關節變量,求取機器人末端機械手的位姿。式(3)為D-H矩陣,是由四個齊次變換矩陣通過右乘得到的。將各個D-H矩陣相乘,可以得到從機器人基坐標系到機器人末端位姿的傳遞矩陣,如式(4)所示。
(3)
記cos=c、sin=s:
(4)
(5)
式中:n、o、a組成的3×3的矩陣表示末端坐標系相對于參考坐標系的旋轉變換;p為位置向量。
令式(4)與式(5)相等,則可得:
(6)
由式(6)可求得在給定各關節參數后的機械手末端在基坐標系中的位置。通過Matlab中的機器人工具箱中的教學指令,可以直觀地看出改變關節角度其位姿的變化情況。機器人仿真圖如圖4所示。

圖4 機器人仿真圖
如果希望機械手末端處于期望的位姿,就必須知道機械手每個關節的角度,這個過程就是逆運動學分析。
(7)
本文采用wireshark抓包軟件,選擇ALLBUS-TAP抓包工具為報文打上時間戳。ALLBUS-TAP抓取過程中對網絡僅造成0.7 μs的延時。如果將主站發送的相鄰兩個報文作差分運算,其延時時間相互抵消,可以不用考慮。選用Matlab軟件,主站抖動延時折線如圖5所示。由圖5可以看出,通信周期為2 ms,主站的抖動時間在150 μs左右。

圖5 主站抖動延時折線圖
本文采用的方法是測量1號從站和4號從站之間的同步誤差。首先,需要將1號從站和4號從站的DC中斷用杜邦線標引,1號從站接示波器的CH1信源,4號從站接示波器的CH2信源,采用雙通道示波器同時捕捉其中斷輸出信號,分別設定其通信周期為2 ms和250 μs,可以分析各軸之間的同步性能。通過觀察示波器波形,可以得出結論:1號從站和4號從站的同步誤差只有28 ns左右,其分布時鐘的同步性能已經達到了很高的水平,符合IEEE 1588精確時鐘協議。文獻[12]的同步誤差為60 ns,表明本文選擇的驅動器更好;同時,也可看出不同周期并不會影響其同步誤差,這是因為同步誤差本身就有一定的波動。
本次試驗采用七次多項式算法對SCARA機械手關節空間進行軌跡規劃,可以實現速度、加速度以及加加速度的平穩變化,其多項式如式(8)所示。分別對其關于時間t求一階、二階、三階導數,求出速度、加速度、加加速度的表達式。給定始末條件,求出7個系數如式(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。
本次試驗主要測試使用EtherCAT的分布式時鐘同步時與不同步時,機械手運動過程中的速度給定與反饋的偏差,采樣周期都設為250 μs。將多項式算法封裝成C模塊,使用主站控制器,選用可編程邏輯控制器(programmable logic controller,PLC)編程軟件[12],調用寫好的C模塊,控制SCARA運動。其速度是由定時中斷到來時的時間代入速度公式算出來的。將其速度數據導出,用LabVIEW上位機進行處理。圖6為同步與不同步時整合在一起的速度給定與反饋圖。從圖6可看出,同步時其給定與反饋的偏差很小,抖動也很小。

圖6 速度給定與反饋曲線
通過對EtherCAT的實時性進行分析,介紹了EtherCAT的分布時鐘機制;使用抓包工具分析了抖動延時;用示波器觀察了其同步誤差。由此可得出結論:EtherCAT的實時性高,能夠實現從站之間的同步。通過對SCARA機器人采用D-H建模方法,進行運動學分析,采用點到點(point to point,PTP)多項式插值方法進行了軌跡規劃,選擇帶有EtherCAT總線的伺服驅動器,驗證了EtherCAT的同步性能會影響軌跡規劃的精度,為EtherCAT在機器人領域的深入研究打下了堅實的基礎。