工大创客馆-焊接科技网欢迎您

banner

极简单的生产模型和编程语句,让焊接机器人动起来,体验离线编程的简易性和乐趣

 
 
 
阅读关键词:     机器人焊接   电弧焊接     编程
 
一、机器人编程问题
 
提到编程,很多人都会头疼,感到自己编不好,从而对编程类学习望而却步,失去了很多机会。学习机器人同样也是面临这个问题,很多人很愿意用示教方式来学习,而不是自己动手来编程,这对学习机器人来说是很不好的。
 
其实机器人编程也是很简单的,它不像C语言那样复杂,而是基本上达到了可视化程度那样方便,所以大家只要用心想一想,努力练习,应该是很好掌握的。
 
下面我们用一个最简单的例子,也就是在机器人授课或培训过程中最常见的例子为例,通过最简单的焊接电弧焊接模型来实现机器人编程。请大家可以看到机器人编程也是很简单的,易于掌握的,而且也能够充分理解机器人动起来这个过程。
 
 
下面的一个最简单的例子,在机器人课程授课或培训过程中最常见,是通过现机器人来实现焊接电弧对下面的试板进行焊接,即把两块试板进行对焊焊,这在工程生产中是最常见的一个加工,几乎很多的焊接产品,尤其是压力容器都需要做这个试板焊接(见图1)
 
要机器人完成这个电弧焊接,从工程生产角度来考虑,首先应该考虑材料的焊接特性,从而确定焊接工艺参数,然后再考虑机器人操作的工艺参数,这里我们是要讲授机器人焊接问题,所以前面的焊接特性和焊接工艺参数问题,先忽略了。这里我们只是想通过这个生产模型来讲述机器人焊接问题。
 
请大家可以看到机器人编程也是很简单的,易于掌握的,而且也能够充分理解机器人动起来这个过程。
 
 
要完成这个把2块试板焊接,从焊接生产角度来说,首先考虑焊接材料特性,从而确定焊接工艺参数,然后再考虑机器人参数设定来完成机器人焊接过程。这里我们是通过这个简单例子来来讲述机器人焊接问题,所以只考虑机器人参数设定问题。
 
对这个问题的解答,一般都多用于示教方式来解答,其示意图如图2所示。在这里我们通过编程方式来解答这个问题,其目的是,一方面说明机器人编程还是很简单的,并没有想象的那样难,另一方面,通过机器人编程来让大家体验到编程语言怎样控制机器人运动。下面我们来解答这个问题。
 
 
 
 
 
 
 
 
 
 
 
 
二、具体的焊接机器人仿真设计过程
 
1)机器人工作站构建
 
打开软件ABB RobotStudio 6.08,选择机器人和焊枪如图3所示的型号。
 
在建模菜单,按图3尺寸建立底座和试板。在试板中间位置绘制直线,表示对接焊缝,然后按图4所示排列安放(用到的指令为移动指令和安装到指令,其中移动指令在主界面,而安装到指令是单击部件,如机器人、柱体等,然后右键就可以看到安装到指令)。
 
 
 
 
 
 
 
 
 
 
 
启动工作站系统,从布局建立系统(见图5)。
 
2)程序分析与编辑
程序分析:为进一步体现本质内容,我们把路径更进一步简化,只有3段,即焊枪开始运动,焊接过程和收回焊枪,见图6的A-B-C-A。
 
 
 
 
 
 
 
 
 
 
 
具体过程如下:
如图7所示,依次找到图7所示的各个按钮,并打开进入到示教器的中文界面。
如图8所示,找到程序编辑器打开并进入编辑状态。在程序编辑位置,点击添加指令,选择MoveL(即直线形式),连续添加4条MoveL指令,如图9所示。
程序指令都选用默认参数,只有星号一个参数,我们可以通过修改位置来进行设定。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
先点击第一条指令激活(见图10),这条指令也就是对应机器人的原始位置A点(见图6)。然后点击修改位置,这样第一条程序已经编辑完毕。
然后把机器人调到B的位置,可以通过位置捕捉、线性关节等方式来移动机器人,使其焊枪到达B的位置。然后点击第二条指令,激活后点击修改位置,这样第二条指令也就修改完毕。
同样方法操作完成C点的位置设定。
然后在把焊枪回到原始位置A点,点击修改位置,这样四条指令就全部修改完毕(见图11)。然后点击PP移至Main(见图11),这样完成全部编程过程。
 
 
 
 
 
 
 
 
 
 
 
 
3)仿真运行
下面我们进行仿真运行,看看效果怎样,可以通过示教器进行,也可以通过主程序仿真按钮来进行。仿真设定如图12所示,仿真运行结果如图13所示。
 
 
 
 
 
 
 
 
 
 
 
总结与扩展
可以看到了吧,整个机器人仿真程序还是很简单的,只有4条指令就可以完成这个焊接过程不比示教操作复杂。所以大家要养成离线编程思维的习惯,这对学习机器人仿真过程是很有益的。
完整的程序如下面所示,但其实不是这样复杂,因为很多参数都是是设备本身的参数,如工具参数和工业坐标的参数等。而真正的焊接机器人离线参数,咱们可以看到,也就是点位置的确定和V、Z的设定,,至于整个的整个程序的分析,咱们在后续过程中将会进一步讨论。这里就先给出个程序的全貌吧。
 
 
    PROC main()
        MoveL [[364.35,0.00,594.00],[0.5,0,0.866025,0],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]], v1000, z50, tool0;
        MoveL [[367.65,-100.00,479.49],[0.5,-1.44331E-8,0.866025,-2.27541E-8],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]], v1000, z50, tool0;
        MoveL [[350.98,90.00,479.49],[0.5,4.53729E-8,0.866025,3.77486E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]], v1000, z50, tool0;
        MoveL [[364.35,0.00,594.00],[0.5,0,0.866025,0],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]], v1000, z50, tool0;
    ENDPROC
 
 
敬告:本内容为制作人独立制作,非经制作人书面授权,请不要转载发布!
 
如果您认为本文档内容对您有益的话,恳请您把本网站-焊接科技网加入收藏夹,或记录本网站网址:weldbest.net,其实是很好记的,是由weld(焊接) 和best (最好)两个英文单词连接而成(其意义为做焊接最好的朋友),谢谢!