APP下载

EtherCAT实时性对SCARA机器人轨迹精度的影响研究

2018-11-21张爱军

自动化仪表 2018年11期
关键词:主站实时性机械手

孙 琳,张爱军

(南京理工大学机械工程学院,江苏 南京 210094)

0 引言

随着我国劳动力成本的提高,工业机器人作为一种新型的劳动力,正在慢慢改变工业领域的生产模式[1]。其中,小型装配机器人获得越来越多企业的青睐。这种类型的机器人分为四轴SCARA机器人和六轴关节式机器人。SCARA机器人结构简单、刚度小、往复速度快、精度高,主要应用于高速取放作业的领域。

SCARA机器人的总线通信方式有Modbus、Profibus、EtherCAT等。EtherCAT作为一种新型工业以太网总线,已成为工业以太网领域的主流。EtherCAT是一种开放式实时以太网协议,其抗干扰性强、拓扑结构灵活、数据传输速度高[2]、数据刷新周期短,分布时钟能够达到小于100 ns的同步精度[3]。目前,国内一些学者对EtherCAT的高速、高实时性进行了大量的研究。陈灏等[12]设计了分布时钟算法,并在试验平台上对同步性进行了仿真验证。党选举等[3]分析了主从站之间的通信时序,研究了影响同步误差的因素;但其没有通过不同的试验测试对比验证其高实时性,也没有将EtherCAT对SCARA机器人的运动轨迹精度的影响进行试验分析。本文以双相机引导机械手贴合系统为背景,进行了实时性对机器人轨迹精度的影响的验证。

1 系统构建

1.1 SCARA机器人工作原理

SCARA机器人的工作空间近似圆柱体。它在水平方向有两个平行的旋转关节,使得机械臂在X-Y平面内移动;在竖直方向即Z轴方向有一个旋转关节和一个平移关节,使得机械手末端作上下运动[4]。SCARA机器人具备以下优点:可用于电子和汽车零部件装配;可加工具备高速、高重复定位精度特征的零件;机械结构简单、运行可靠;手工操作全自动化;占地面积小、运动范围大;臂长400 mm,最大负载3 kg;紧凑型设计。

1.2 EtherCAT的工作原理

EtherCAT充分利用了以太网全双工的特性[5],使用主从模式介质访问控制。EtherCAT工作原理如图1所示。

图1 EtherCAT工作原理图

EtherCAT总线技术采用了Interbus的“集总帧”这一中心思想。EtherCAT对帧传输的核心思想是集中传输单独处理,将不同网段不同设备中的过程数据都集中存放在同一个EtherCAT报文中。该以太网帧按照确定的顺序遍历所有从站。主站发送报文给第一个从站。从站读取帧中需要的对应的数据,同时插入需要输出的数据,再传递给下一个从站。报文经过最后一个节点从站的处理后再返回,最终通过第一个节点返回到主站[6]。整个报文的处理过程形成一个闭环。报文信息均由从站控制器处理,即在硬件上进行,所以总线延时很短。

1.3 系统结构

本文选用的平台是SCARA机械手双相机引导对位系统。该系统结构框图如图2所示。系统由一台SCARA机器人、五台带有EtherCAT网口的驱动器、一个主站控制器、一个光源控制器、一个光电传感器、两个相机和两个光源构成。光源控制器主要是控制光源的亮度。光电传感器用来检测皮带上的物体,通过高低电平的变化给出信号。此时皮带停止,相机进行拍照处理。处理完成后,机械手进行贴合操作。本文重点分析EtherCAT对SCARA机器人运动过程中轨迹精度的影响,不研究相机的标定、机械振动等因素的影响。

图2 系统结构框图

2 EtherCAT实时性分析

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)

3 SCARA机器人运动学分析

机器人运动学分析是研究轨迹规划的重要基础[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)

4 试验测试结果分析

4.1 wireshark抓包分析EtherCAT实时性

本文采用wireshark抓包软件,选择ALLBUS-TAP抓包工具为报文打上时间戳。ALLBUS-TAP抓取过程中对网络仅造成0.7 μs的延时。如果将主站发送的相邻两个报文作差分运算,其延时时间相互抵消,可以不用考虑。选用Matlab软件,主站抖动延时折线如图5所示。由图5可以看出,通信周期为2 ms,主站的抖动时间在150 μs左右。

图5 主站抖动延时折线图

4.2 示波器观察同步误差

本文采用的方法是测量1号从站和4号从站之间的同步误差。首先,需要将1号从站和4号从站的DC中断用杜邦线标引,1号从站接示波器的CH1信源,4号从站接示波器的CH2信源,采用双通道示波器同时捕捉其中断输出信号,分别设定其通信周期为2 ms和250 μs,可以分析各轴之间的同步性能。通过观察示波器波形,可以得出结论:1号从站和4号从站的同步误差只有28 ns左右,其分布时钟的同步性能已经达到了很高的水平,符合IEEE 1588精确时钟协议。文献[12]的同步误差为60 ns,表明本文选择的驱动器更好;同时,也可看出不同周期并不会影响其同步误差,这是因为同步误差本身就有一定的波动。

4.3 试验结果对比分析

本次试验采用七次多项式算法对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 速度给定与反馈曲线

5 结束语

通过对EtherCAT的实时性进行分析,介绍了EtherCAT的分布时钟机制;使用抓包工具分析了抖动延时;用示波器观察了其同步误差。由此可得出结论:EtherCAT的实时性高,能够实现从站之间的同步。通过对SCARA机器人采用D-H建模方法,进行运动学分析,采用点到点(point to point,PTP)多项式插值方法进行了轨迹规划,选择带有EtherCAT总线的伺服驱动器,验证了EtherCAT的同步性能会影响轨迹规划的精度,为EtherCAT在机器人领域的深入研究打下了坚实的基础。

猜你喜欢

主站实时性机械手
某数控车床的桁架机械手结构设计
人体体感感知机械手设计与实现
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
车轮装配机械手气动控制系统设计
基于粒子群迭代的一种冗余机械手逆解算法
航空电子AFDX与AVB传输实时性抗干扰对比
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
计算机控制系统实时性的提高策略
县级配电自动化主站系统的设计