概述
对于机器人弧焊焊接来讲,焊接起始点的定位是非常重要的,起始点定位的精确度,会直接影响到整条焊缝的焊接效果。为了提高焊接起始点的定位效率,几乎所有的机器人厂商都开发了起始点寻位功能,ABB机器人也不例外,当然起始点寻位除了弧焊焊接应用外,也可以用在切割、铣削等应用上。
起始点寻位有很多种,例如激光起始点寻位、接触传感器起始点寻位或者视觉起始点寻位,它们的本质区别还是在寻位传感器上。ABB机器人的起始点寻位功能是通过一个名叫SmarTac的系统功能选项来实现的,SmarTac是一种接触传感器,用于搜索有安装误差的焊接起始点的位置并偏移焊接程序中的示教点。
通过使用SmarTac功能,只需简单的几个步骤就可以实现机器人起始点寻位功能。但是,很遗憾,这个功能在RobotStudio软件中似乎并不能使用,小编经过多次测试,依然没能成功。如果有测试成功的小伙伴,也欢迎分享交流。
所以,要想在RobotStudio软件中实现机器人弧焊焊接的起始点接触寻位功能,我们就要另想替代方案,本期就来介绍一种。仿真案例继续使用上一期发布的文章《RobotStudio软件:ABB机器人弧焊焊接虚拟仿真实现方法》中介绍的案例。
机器人接触传感器添加与配置
RobotStudio软件中并没有内置现成的机器人接触传感器,但是我们可以使用Smart组件中的碰撞监控传感器来代替接触传感器。
在RobotStudio软件“建模”菜单栏中新建一个空的Smart组件,然后在其中添加一个碰撞监控传感器(CollisionSensor)。
在CollisionSensor属性配置对话框中,碰撞监控对象Object1中选择机器人弧焊焊枪工具,其他属性保持默认。
名称 |
信 类型 |
值 |
说明 |
SMdoTouch |
DigitalOutput |
0 |
碰撞监控传感器反馈 |
SMdiTouch |
DigitalInput |
0 |
碰撞监控传感器控制 |
在“设计”窗口中将数字量输入信 SMdiTouch连接到碰撞监控传感器CollisionSensor的激活接口Active上,将碰撞监控传感器CollisionSensor的感应输出接口连接到数字量输出信 SMdoTouch上。
机器人接触传感器I/O信 连接
为了使机器人能够控制和监视接触传感器,还要在机器人虚拟控制器中添加两个I/O信 ,I/O信 详细配置参数如下表所示。其中,数字量输入信 diTouch用于接收接触传感器的反馈信 ,数字量输出信 doTouch用于接触传感器的激活和禁用控制。
Name |
Type of Signal |
Assigned to Device |
Device Mapping |
信 说明 |
diTouch |
Digital Input |
d651 |
1 |
接触传感器反馈 |
doTouch |
Digital Output |
d651 |
36 |
接触传感器控制 |
机器人I/O信 添加完成后,在软件“仿真”菜单栏下,点击“工作站逻辑”命令按钮,在弹出的窗口中进入“设计”功能,先将机器人虚拟控制器的数字量输出信 doTouch连接到接触传感器Smart组件的控制信 SMdiTouch上,再将Smart组件的碰撞监控传感器反馈信 SMdoTouch连接到机器人虚拟控制器的数字量输入信 diTouch上。
信 连接完成后,机器人就能够通过自身的I/O信 对接触传感器进行控制和监视了。
机器人起始点接触寻位常用指令介绍
如果机器人的SmarTac功能可用,我们就可以直接使用一维搜索指令Search_1D来对工件偏差进行搜索定位,但是RobotStudio软件中SmarTac功能并不能使用,所以要找到一种替代方案。
这里我们可以使用机器人运动指令集中的沿直线搜索指令SearchL来替代一维搜索指令Search_1D对工件的偏差进行搜索定位。
当执行到SearchL指令时,机器人在移动过程中会监控一个数字量输入信 或持续变量。当信 或持续变量的值变为所需值时,系统会立即读取机器人当前位置。
SearchL指令常见格式及指令参数详细说明如下图所示,其中一些可变元在虚拟仿真中未使用,这里不再过多介绍,更多指令内容可以查阅《ABB机器人RAPID指令、函数和数据类型技术参考手册》。
机器人搜索到工件的当前位置后,经过一系列的坐标变换得到工件的位置偏移值,然后再通过启用使用已知坐标系的程序位移指令PDispSet,对弧焊焊接程序统一进行偏移补偿,这样就能够让机器人准确地定位到焊接起始点,并对焊道进行焊接。
PDispSet指令(Program Displacement Set)用于定义和启用程序位移(使用已知坐标系),本质上它是使用已知的坐标偏移值对机器人当前使用的工件坐标系进行偏移,在运动学中相当于对机器人当前工件坐标系的右乘,PDispSet指令常见格式及指令参数详细说明如下图所示。
值得注意的是在同一时间,仅能启用一个程序位移。使用PDispSet,无法相互叠加程序位移。并且当出现使用重启模式重置RAPID、加载新例行程序或一个新模块、从起点开始执行程序、将程序指针移动到main、将程序指针移动到子程序、移动程序指针造成执行顺序丢失这些情况中的任意一种时,程序位移将自动重置。
在程序偏移结束位置需要使用停用程序位移指令PDispOff,该指令没有指令参数,直接添加即可。PDispSet指令与PDispOff指令必须成对使用,单独使用任何一条指令都会出现意想不到的错误。
机器人起始点接触寻位程序编写
根据实际需求编写机器人工件起始点接触寻位子程序,使用SearchL指令进行工件位置搜索时,需要预留出一定的搜索距离,即从搜索起始点到搜索结束点之间要有足够的搜索距离。本案例中的搜索距离为120mm,即以焊丝与工件接触的平面为基准,机器人能够搜索到的偏差为±60mm。当然,实际生产中的工件位置偏差并不会这么大,这里只是为了增强仿真效果。编写好的机器人程序及其程序说明如下图所示。
完成的机器人程序代码如下所示。
机器人仿真运行
机器人程序全部示教完成后,就可以仿真运行了。仿真运行效果如下方动态图所示,可以看到机器人能够搜索到工件的位置,并准确找到焊接起始点。
The End
上一篇:RobotStudio软件:ABB机器人弧焊焊接虚拟仿真实现方法
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!