。
1 引言
工业机器人是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备,特别适合于多品种、变批量的柔性生产设备。根据机器人的动作形态,一般可分为下面五类:圆柱坐标型机器人、球坐标型机器人、直角坐标型机器人、关节型机器人、并联机器人。切割机器人属于直角坐标型的工业机器人,每种类型的切割机器人都对应着特定的加工材料和加工工艺,如国内开发的高压水切割机器人,型钢机器人切割系统等。对于玻璃等脆性材料,由于需要采用带有金刚石的刀具,这就要求刀头的角度必须始终与切割图形的轨迹保持正切,以具有最好的刀印和开片效果,正是基于这样的应用,我们开发了这样的机器人智能切割系统。该机器人模型示意图如图1所示:

图1
2 机器人硬件系统组成
控制系统采用三套交流伺服系统和一套气缸设备,实现机器人的四个自由度,由GALIL DMC-1842运动控制卡和工业PC驱动机器人系统。X和Y方向通过传动装置将旋转运动转换为直线运动,实现在笛卡儿坐标系下的定位和轨迹插补;切割头有两个自由度,一个是Z方向的刀头旋转运动(如图1所示),切割时刀头方向始终和XY平面的轨迹保持正切,另一个自由度是刀头上的气缸连杆设备控制着抬刀和下刀。另外,采用一块ISA总线的IPC 5372-2 数字量输入卡检测机器人伺服报警状态,提高机器人的自诊断性。
2.1运动控制系统及结构框图:
机器人运动控制采用美国GALIL公司的PCI总线的DMC-1842运动控制卡[1],该控制卡采用32位微处理器,可控制4轴,具有多轴直线插补、圆弧插补等功能,为了得到最佳控制效果,GALIL控制卡提供了含有速度、加速度前馈,Notch及低通滤波的PID滤波器补偿功能,所有滤波器参数均可调整,以求伺服系统获得最佳性能。机器人交流伺服驱动系统的工作模式设定为速度模式,以获得最佳的速度响应性能,在所有伺服参数中,速度指令电压幅值VCMS和速度环比例增益Kvp会串联到系统主回路中,对系统性能的影响最大,需要和控制卡的参数联合整定。机器人运动控制系统结构框图如图2所示。

图2:机器人控制系统结构框图
2.2机器人输入输出信号:
机器人输入信号包括:X、Y、Z各轴伺服报警状态(每轴四路报警输入线,共需采集12路信号);X、Y轴正反向限位开关输入信号;X、Y、Z各轴原点输入信号;两路TTL输入信号(切割头下探保护信号IN1,激光器搜索到切割物体信号IN2)。机器人输出信号是六路TTL输出信号(三路报警复位输出信号,以及润滑剂开关、定位杆开关、激光搜索器开关三路输出信号)。其中,X、Y轴正反向限位开关输入信号FLSX、RLSX、FLSY、RLSY和切割头下探保护信号IN1配置成中断信号,利用控制卡命令 EI[3]实现。刀头压力通过控制卡W轴的开环输出命令OF产生,可以精确产生+/-10V的模拟电压信号。
3 机器人软件设计
3.1机器人切割程序框图和人机界面:
机器人切割系统的程序框图如图3所示,人机界面如图4所示:

图3:机器人切割系统程序框图

图4:机器人人机界面
3.2线程实现:
伺服状态监控线程通过CPU扫描数字量采集卡的板卡地址而获得各轴伺服报警状态,如果发生伺服报警,该线程会和机器人切割主线程通讯,以采取相应保护措施。
机器人切割主线程空闲时阻塞,等待上层界面的“切割开始”信号。切割函数封装了运动控制卡的命令,能根据传入的参数自动选择切割速度、加速度以及矢量速度平滑系数等切割参数。切割图形可由用户在编辑命令区域完成,或者直接载入CAD文件。切割函数和人机界面的开发语言是VC++6.0,开发环境是Windows98第二版,采用OPENGL作图,读入的CAD文件类型是AutoCAD R14的DXF文件。机器人的主要运动控制函数定义如下:
int CutLine(double x0,double y0,double x1,double y1)//直线切割函数
int CutArc(double radius,double startangle,double anglewidth)//圆弧切割函数
int CutEllipse(double MajorLength,double MinorLength,double startAngle, double angleWidth,
double rotation)//椭圆弧切割函数
int ContinuousCut(char *filename ,int cut_counts)//多义线切割函数
int CutLines(char *filename)//任意曲线切割函数
int SearchObject(double coordinate[3][2])//搜索切割物体的函数
对于中断监控线程,首先要配置运动控制卡的中断使能特性,用命令EI1024,1配置成限位中断使能和输入1中断使能。应用程序通过处理WM_DMCINTERRUPT消息可以处理控制卡发出的中断,该消息定义在DMCCOM.H中[6]。
3.3位移分辨率的匹配:
由于X轴和Y轴可能出现位移分辨率不匹配的问题,即机器人两轴运行相同的脉冲数时,位移却不同,这时需要用ES[3]命令来修正插补序列,如果X、Y轴的编码器线数分别为2000和5000,电机每转的行走距离分别为27.494mm和27.489mm,此时:
设 m=1000×2000×27.489/5000=1099.56≈10996
n=1000×27.494=27494
此时,用控制卡的ES m, n命令,可以保证矢量插补时两轴位移分辨率一致。
3.4传动件的消隙:
传动机构存在间隙,也叫侧隙,由于DMC-1842运动控制卡取消了辅助编码器接口,无法同时反馈轴端编码器信号和位置信号,一种软件消除传动件间隙的方法是:将控制卡固件升级到Rev s63b版本,该版本提供一个BK命令用来消除反向间隙。另外可以采用的硬件消隙方法有:消隙齿轮消隙、柔性齿轮消隙、对称传动消隙、偏心机构消隙、齿廓弹性覆盖层消隙等方法[4]。
3.5坐标变换:
机器人切割系统采用两种切割方式:定位切割和搜索切割。涉及两个直角坐标系:机床坐标系、切割物体坐标系。所有的图形绘制都是基于切割物体坐标系的,切割时再转换到机床坐标系。机器人切割台上沿X、Y方向各有三个气缸,定位切割时气缸顶起来,切割物体靠在定位杆上,此时坐标变换相当于一个坐标平移;搜索切割是将切割物体大致放于切割区,由机器人自己去搜索切割物体(机器人切割头上装有一个激光搜索器,下方有反光物体时会产生一个输入信号),此时只需搜索切割物体y方向上的一个点和x方向上的两个点就可以确定切割物体平面(切割物体一般是矩形),此时的坐标变换相当于平移+旋转变换。
设切割物体坐标系为[O‘;i‘,j‘],机床坐标系为[O;i,j],切割物体坐标系的原点O‘在 [O;i,j]中的坐标是[x0,y0]T,如果M点在[O;i,j]与[O‘;i‘,j‘]的坐标分别是[x,y]T与[x‘,y‘]T,S为正交矩阵,假设切割物体倾斜放置,可以理解为机床坐标系[O;i,j]通过逆时针旋转θ角得到切割物体坐标系[O‘;i‘,j ‘],此时切割物体坐标到机床坐标变换公式为[5]:

4 实验结果:
机器人伺服采用SANYO公司[2]的产品,各轴伺服系统的具体参数为:
X轴:伺服型号:PY2A050A2 电机型号:P60B13150B
Kp:45 Kvp:160 Tvi:20 VCMS:200
Y轴:伺服型号:PY2A030A2 电机型号:P50B08075H
Kp:37 Kvp:240 Tvi:15 VCMS:200
Z轴:伺服型号:PY2A015A2 电机型号:P50B05020D
Kp:37 Kvp:200 Tvi:15 VCMS:200
控制卡参数:KP 12,8,8 KI 8,2,2 KD 30,10,10 BK 5,5 MT,,-1 CE,,2 OE0,0
图5显示了机器人XYZ三轴联动时采集到的XY轴的运行轨迹:

图5:机器人运行轨迹
5 结束语:
本文从硬件到软件介绍了基于DMC-1842运动控制卡的切割机器人的实现过程,从工业现场的实际运行效果来看,该套机器人切割系统工作性能稳定,切割刀印光滑,具有较高的切割精度,切割速度快。机器人预留了6路TTL输入接口,可用于日后完善机器人的安全区域物体侵入检测等行为,增强机器人的安全性能。此外,该机器人还有一些可以改进的地方,比如设计更好的传动机构以达到更高的定位和切割精度,根据气温微调各轴分辨率以克服热胀冷缩对精度的影响,设计自动换刀机构以提高切割效率等等。




