目录
本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注!
概述
搬运是工业机器人最为广泛的一种应用,在虚拟仿真工作中机器人搬运同样也是非常常见的。MotoSimEG-VRC是安川机器人专用的虚拟仿真与离线编程软件,在其中能够实现机器人各种常见应用的虚拟仿真,当然也包含搬运应用。
搬运机器人工作站创建
新建机器人虚拟仿真项目,然后在仿真环境中创建虚拟机器人系统。机器人控制器选择DX200系列,并选择5轴搬运机器人,工艺应用程序选择“GENERAL”,即通用应用。然后以标准设置模式(Standard Setting Execute)创建虚拟机器人系统。
从MotoSimEG-VRC软件自带的模型库(Model Library)中添加机器人安装底座Robot_base-1600Wx800Lx925H,作为工件放置平台;添加输送带Conveyor-roll-400W_1500L_700H,作为工件抓取平台。然后,分别将添加的设备模型摆放到合适的位置。
分别以工件抓取平台与工件放置平台为父级参考对象创建模型资源节点UW、UB,这些创建的模型资源节点将作为机器人对工件自动抓取与放置的父级参考对象。
抓手工具安装到机器人
从软件自带的模型库中添加机器人抓手工具Hand-Bag-F1,使用“Move Parent”命令将抓手工具安装到机器人的T轴法兰上。然后,以抓手工具为父级参考对象创建模型资源节点UWork,作为工件在抓手工具上的安装父级参考对象。
使用“Tool Data”命令标定机器人抓手工具的TCP,由于抓手工具TCP坐标系相对于机器人默认TCP坐标系没有姿态变换,只是相对于默认TCP坐标系的Z轴做平移变换,因此可以直接在Tool Data下的Z坐标值输入框中输入偏移值。
工件创建与安装到工作平台
以输送带下的模型资源节点UW为父级参考对象,利用MotoSimEG-VRC软件的模型创建功能,创建一个“BOX”类型的长方体,将其命名为“Work”。此长方体将作为机器人搬运的工件,工件尺寸以及原点位置设定如下图所示。
工件模型创建完成后,将其移动到输送带的机器人抓取位置处,可以使用“Pos”工具直接设置工件的位置坐标,设定值为(0,1260,690,0,0,0)。
至此,安川机器人搬运仿真工作站创建完成,工作站的效果如下图所示。
机器人搬运工件模型脚本编写
MotoSimEG-VRC软件中抓手工具的开合动作以及机器人对工件的抓取与放置效果都是通过模型脚本实现的,所以需要使用模型脚本管理器(Model Script Manager)编写相应的模型脚本。
对于搬运机器人工作站需要创建三个模型脚本,分别是初始化模型脚本INIT、机器人抓取工件模型脚本PICK、机器人放置工件模型脚本DROP。
初始化模型脚本是用来恢复搬运机器人工作站的初始状态,包括抓手工具恢复初始状态(压臂打开状态)以及将工件恢复到其在输送带上的抓取位置。模型脚本的编写可以在模型脚本编辑器中使用模型脚本编辑向导自动编辑生成。
INIT//初始化模型脚本名称
AXIS6 Hand-Bag-M1=0.000,0.000,0.000,0.00,-5.00,0.00 T=0,0//移动压臂从当前位置到(0,0,0,0,-5,0),即打开抓手工具M1的压臂
AXIS6 Hand-Bag-M2=0.000,0.000,0.000,0.00,5.00,0.00 T=0,0//移动压臂从当前位置到(0,0,0,0,5,0),即打开抓手工具M2的压臂
MOV Work UW T=0,0//将工件的父级对象更改为输送带上的UW模型资源节点,而不更改工件显示位置
AXIS6 Work=0.000,1260.000,690.000,0.00,0.00,0.00 T=0,0//移动工件从当前位置到(0,1260,690,0,0,0)<输送带上的工件位置>
抓取工件模型脚本控制机器人抓手工具模型实现关闭动作,同时把抓取的工件安装到抓手工具上。
PICK//抓取工件模型脚本名称
AXIS6 Hand-Bag-M1=0.000,0.000,0.000,0.00,0.00,0.00 T=0,0//移动压臂从当前位置到(0,0,0,0,0,0),即关闭抓手工具M1的压臂
AXIS6 Hand-Bag-M2=0.000,0.000,0.000,0.00,0.00,0.00 T=0,0//移动压臂从当前位置到(0,0,0,0,0,0),即关闭抓手工具M1的压臂
MOV Work UT T=0,0//将工件的父级对象更改为抓手工具上的UT模型资源节点,而不更改工件显示位置
AXIS6 Work=0.000,0.000,205.000,0.00,0.00,0.00 T=0,0//移动工件从当前位置到(0,0,205,0,0,0)<抓手上的工件安装位置>
设定工件在抓手上的安装位置时,可以先利用模型脚本编辑向导选择当前位置的工件模型生成脚本语句。然后在模型脚本编辑器中点击“RUN”按钮运行模型脚本,此时工件安装到机器人上,但是工件模型的位置并未发生变化。这时可以使用“Pos”工具将工件调整到其在抓手工具上的安装位置处,最后在模型脚本编辑器中更新工件的当前位置为其在抓手工具上的安装位置。
放置工件模型脚本的作用是实现机器人抓手工具模型的打开动作,同时把抓手上的工件放置到工件放置平台上,工件放置到放置平台上的位置模型脚本可以按照抓取工件安装到抓手工具上的模型脚本编写方法进行编写。
DROP//放置工件模型脚本名称
AXIS6 Hand-Bag-M1=0.000,0.000,0.000,0.00,-5.00,0.00 T=0,0//移动压臂从当前位置到(0,0,0,0,-5,0),即打开抓手工具M1的压臂
AXIS6 Hand-Bag-M2=0.000,0.000,0.000,0.00,5.00,0.00 T=0,0/移动压臂从当前位置到(0,0,0,0,5,0),即打开抓手工具M1的压臂
MOV Work UB T=0,0//将工件的父级对象更改为放置台上的UB模型资源节点,而不更改工件显示位置
AXIS6 Work=0.000,0.000,930.000,0.00,0.00,0.00 T=0,0//移动工件从当前位置到(0,0,930,0,0,0)<放置平台上的工件位置>
注:模型脚本语句中,符号“//”后的文字是脚本语句注释,只是为了方便读者理解脚本含义,实际的模型脚本语句中并不支持添加这样的注释。
机器人搬运工作站I/O事件创建
在“Simulation”菜单栏下,使用“I/O Event Manager”命令在I/O事件管理器中添加机器人I/O信号与模型脚本的连接关系。全部连接关系如下图所示,当机器人的外部输出信号#30030(#0001)被置位时,激活抓取工件模型脚本;当外部输出信号#30030(#0001)被复位时,激活放置工件模型脚本;当外部输出信号#30031(#0002)被置位时,仿真软件执行初始化模型脚本。
机器人示教编程
在机器人虚拟示教器中创建两个程序,分别命名为TEST1、MASTER,其中TEST1为机器人搬运工件的子程序,MASTER为主程序。在MASTER程序中使用FOR指令使TEST1子程序执行3次,它将控制机器人在执行3次搬运后自动结束运行。
搬运机器人工作站仿真运行
在机器人虚拟示教器中选择主程序MASTER,然后关闭虚拟示教器,这样仿真运行时才会自动执行机器人主程序。
对搬运机器人工作站仿真运行,可以看到机器人按照编写的示教程序从输送带上将工件搬运到工件放置平台上,运行3个周期后搬运工作自动停止。
The End