搬运机器人示教路径的编程与优化
2019-10-29李言武
李言武
搬运机器人示教路径的编程与优化
李言武
(安徽工贸职业技术学院,安徽淮南,232007)
示教编程是机器人普遍采用的编程方式。操作人员通过示教器反复调整示教点机器人的作业位置、运动参数和工艺参数,将满足作业要求的这些数据记录下来,编写控制程序使机器人实际运行时再现在示教点上记录的机器人位姿。根据机器人运动轨迹,对示教路径进行优化,通过偏移指令编写控制程序,可以有效减少示教点的个数,避免繁琐的示教工作。
搬运机器人;示教点;路径;优化;编程。
目前,示教编程是机器人普遍采用的编程方式,是操作人员根据机器人运动轨迹,有序确定一系列示教点,通过示教器反复调整示教点机器人的作业位置、运动参数和工艺参数,然后将满足作业要求的这些数据记录下来,机器人实际运行时就可以再现在示教点上记录的机器人位姿[1] [2]。但是,对于运动路径较为复杂的机器人控制,需要确定更多个示教点,示教工作将会变得较为繁琐。为此,以搬运机器人控制为例,根据机器人运动轨迹,对示教路径进行优化,通过偏移指令编写控制程序,可以有效减少示教点的个数,避免繁琐的示教工作。
1. 搬运机器人控制要求
搬运机器人控制过程示意图如图1所示,其中A位置为工件初始位置,B位置为工件台,机器人起始位置(安全点)位于A位置附近上方,要求机器人将工件从A位置搬运到B位置的工件台。机器人完成一次搬运的具体过程为:(1)机器人处于起始位置(安全点);(2)机器人由起始位置(安全点)运动到预抓取点位置;(3)机器人由预抓取点位置下降到抓取点位置,利用吸盘吸附工件;(4)机器人将工件从抓取点位置提升到预抓取点位置,然后搬运到预释放点位置;(5)机器人从预释放点位置下降到释放点位置,并释放工件;(6)机器人由释放点位置上升到预释放点位置,然后返回起始位置(安全点)。
图1 搬运机器人控制过程示意图
2. 机器人示教路径的优化与编程
2.1 示教路径的优化
根据控制要求分析可知,搬运机器人实现工件从A位置到B位置的搬运操作,通常需要示教的点至少为五个,分别为:起始位置(安全点)、预抓取点、抓取点、预释放点和释放点[3] [4]。由于预抓取点与抓取点共同位于坐标轴Z方向上,其间运动路径为直线,因此通过示教抓取点位置后,利用坐标轴Z方向上的位置偏移量可以非常方便地确定预抓取点位置,从而省去预抓取点的示教操作;同理,预释放点和释放点也可以采用同样的方法,只需要示教释放点。搬运机器人示教路径优化前后情况对照见表1:
表1 搬运机器人示教路径优化前后情况对照见表
对机器人示教路径进行优化时,其示教点选取的基本原则为:
第一,示教点必须选择机器人运动轨迹中要求精准定位的作业位置,使机器人运行时精准再现机器人位姿。如搬运机器人需要选择起始位置(安全点)、抓取点和释放点作为示教点,以确定精准搬运操作的机器人位姿。
第二,示教点能为合理规划机器人的运动轨迹提供参考位置,以便于通过示教点在坐标轴X、Y、Z所在轴向上的相对偏移距离dX、dY、dZ来确定必要的作业位置。如搬运机器人可以通过示教抓取点和释放点,通过Z轴方向上的相对偏移距离dZ分别确定预抓取点和预释放点的位置。
2.2 示教编程
2.2.1变量定义
搬运机器人示教路径通过优化后,只需要对机器人起始位置(安全点)、抓取点和释放点的作业位置、运动参数和工艺参数置进行示教,变量分别定义为ap0、ap1和ap2,其位置坐标对应为(ap0.x,ap0.y,ap0.z)、(ap1.x,ap1.y,ap1.z)与(ap2.x,ap2.y,ap2.z)。同时,预抓取点和预释放点无需示教,变量自定义为yzq和ysf,其位置相对于抓取点和释放点的坐标分别可表示为(ap1. x +dX,ap1. y +dY,ap1. z+dZ)与(ap2. x +dX,ap2. y+dY,ap2.z+dZ)。
2.2.2主要指令格式及功能
主要指令格式及功能见表2。
表2 主要指令格式及功能
2.2.3控制程序
根据搬运机器人作业要求,预抓取点和预释放点分别对应抓取点和释放点的Z轴正方向的直线距离均设定为+200mm,即相对偏移距离dZ= 200mm,相对坐标分别为(ap1. x,ap1. y,ap1. z+dZ)与(ap2. x,ap2. y,ap2.z+dZ)。因此,搬运机器人的示教程序编写如下[5] [6]:
PTP(ap0)——设定机器人起始位置;
yzq:= ap1 ——抓取点位置变量ap1赋给预抓取点位置变量yzq;
yzq.z:= yzq.z + 200 ——预抓取点位置变量yzq沿z轴正方向偏移200mm;
Lin(yzq)——机器人行进到预抓取点位置,即抓取点正上方200mm处;
Lin(ap1)——机器人行进到抓取点位置;
WaitIsFinished()——上述指令执行完后才能继续执行后续程序;
ZQ.Set(True) ——抓取工件;
WaitTime(2000)——等待2000ms,用于确保工件抓取成果;
Lin(yzq)——机器人行进到预抓取点位置,即抓取点正上方200mm处;
ysf:= ap2 ——释放点位置变量ap2赋给预释放点位置变量ysf;
ysf.z:= ysf.z + 200 ——预释放点位置变量ysf沿z轴正方向偏移200mm;
PTP(ysf)——机器人行进到预释放点位置,即释放点正上方200mm处;
Lin(ap2)——机器人行进到释放点位置;
WaitIsFinished()——上述指令执行完后才能继续执行后续程序;
ZQ.Set(False) ——释放工件;
WaitTime(2000)——等待2000ms,用于确保工件释放成果;
Lin(ysf)——机器人行进到预释放点位置,即释放点正上方200mm处;
PTP(ap0)——机器人返回起始位置。
3. 总结
实践表明,根据机器人运动轨迹,对示教路径进行优化,通过偏移指令编写控制程序,可以有效减少示教点的个数,避免繁琐的示教工作。
[1]李天旭. MOTOMAN工业机器人示教编程方法探究[J]. 通化师范学院学报, 2010(8):48-51.
[2]张爱红,张秋菊. 机器人示教编程方法[J]. 组合机床与自动化加工技术, 2003(4):47-49.
[3]倪晓清. 基于视觉的工业机器人示教编程研究[J]. 中国设备工程, 2018(4):175-176.
[4]张石磊,等. 基于增强现实的6自由度工业机器人示教研究[J]. 机电工程, 2019(1):77-83.
[5]毕晓峰. 机器人原理与弧焊机器人示教编程[J]. 电焊机, 2009(4):83-86.
[6]徐明,杨可. 浅谈华数机器人示教编程[J]. 智能机器人, 2018(4):76-78.
Programming of Teaching Path for Handling Robot and Corresponding Optimization
LI Yan-wu
Teach programming is widely used in robot programming. Operators repeatedly adjust the working position, motion parameters and process parameters of the robot at the teaching point by means of the teaching device and then record the data which meets the working requirements so as to represent the robot's posture recorded at the teaching point in practical operation by writing program. Optimizing the teaching path and compiling the control program through offset instructions according to the robot's motion trajectory can effectively reduce the number of teaching points and avoid tedious teaching work.
Handling robot; Teaching point; Path; Optimization; Programming.
TP242
A
1009-1114(2019)03-0023-03
2019-05-17
李言武(1974—),安徽定远人,硕士研究生,副教授,主要研究方向为电子技术、通讯与自动控制技术。
文稿责编 钱峰