百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

ABB机器人:机床上下料工作站机器人示教编程

yund56 2025-02-25 01:17 10 浏览

工业机器人机床上下料工作站示教编程相对来讲还是比较简单的,本质上就是机器人搬运的一个具体应用,无非就是把工件由上料位置搬运到数控机床上,再把加工完成的工件从数控机床上拆卸下来,然后搬运到工件下料位置,如此循环往复而已。

工艺说明

在虚拟仿真软件Robotstudio软件中,机器人示教编程有多种方式,你可以使用“路径编辑”功能选项卡中的相关功能进行示教编程;也可以使用虚拟示教器,按照机器人现场示教的方法进行示教编程;当然如果你对ABB机器人指令足够熟悉,你也可以使用Robotstudio软件自带的“RAPID”程序编辑器进行示教编程。无论使用哪一种方法进行示教编程,最终实现的都是工件加工工艺过程。

按照机器人机床上下料工艺,本例我们需要创建6条例行程序,分别是开始与结束位置的机器人Home点程序,自动给料装置A位置处的取料程序Pick_FA,自动给料装置B位置处的取料程序Pick_FB,数控机床上下料程序Machine_Drop_Pick,输送带放料程序Conveyor_Drop,以及机器人主程序Main。

Home点程序

机器人Home点程序是机器人加工开始的初始位置点程序,同时加工结束后机器人返回后的最终位置。ABB机器人Home点程序通常使用绝对位置运动指令MoveAbsJ,因为MoveAbsJ指令是使用的机器人6个运动轴的轴角度值来定义目标位置的,机器人执行此指令过程中不受空间姿态影响,直接运行到各轴指定的目标角度位置。将机器人手动运行到合适的位置处,为其示教当前点位置,作为机器人Home点程序,程序中机器人工具选择tool0。

示教完成的机器人Home程序如下所示:

	PROC Home()
	    MoveAbsJ JointTarget_1,v500,fine,tool0\WObj:=wobj0;
	ENDPROC

给料装置取料与输送带放料程序编写

给料装置A取料程序是典型的机器人搬运程序,它属于搬运程序中的取料程序。这类程序有一个共同的特点,就是在可以使用较少的示教位置点实现复杂的机器人搬运程序,因为程序中大部分示教点可以被重复使用。最简洁的机器人取料程序,只需要示教两个机器人位置点即可实现,其中一个点用来调整机器人工具姿态,另一个点是机器人的工件取料位置点。比如我们本例中的这个机器人取料程序,只需要示教三个位置点即可,其中的Target_10是机器人工具姿态调整点,也就是把机器人工具调整到与工件垂直的姿态。Target_30是机器人抓取工件位置点,在这一点处机器人实现对工件的抓取。

Target_20是工件抓取上方位置点,这一点是机器人对工件抓取的位置调整点,在这一点处机器人工具要完全对准工件的抓取位置,然后使用线性运动指令MoveL,直接运行机器人准确到达工件抓取位置处,同时机器人抓取完工件后的返回过程中,为了避免工件与周边设备发生干涉,因此同样需要准确的向上运行到抓取上方位置处,然后再进行自由运动。所以,这里的工件抓取上方位置点我们重复使用了两次,示教编程过程中只需要复制粘贴即可,然后修改一下指令的运动类型即可。由于这一点是Target_30的垂直正上方位置点,因此这里我们完全可以使用ABB机器人的位置偏移功能Offs(),直接对Target_30在Z轴方向上偏移一个合适的距离,这样我们就不需要手动示教Target_20点位置了,此时的机器人抓取工件程序也就变成了最简洁的两点机器人搬运程序。

示教编程过程中,我们规定机器人工具的TCP1作为机器人从自动给料装置取料的TCP,而TCP2作为机器人从数控机床上取料的TCP,机器人例行程序如下图所示。

	PROC Pick_FA()
	    MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
	    MoveJ Target_20,v500,z100,TCP1\WObj:=wobj0;
	    MoveL Target_30,v500,fine,TCP1\WObj:=wobj0;
	    MoveL Target_20,v500,z100,TCP1\WObj:=wobj0;
	    MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
	ENDPROC

给料装置B取料程序与给料装置A取料程序是一致的,由于机器人是对同一个给料装置进行取料,而这两个取料位置的所需的工具姿态又相同,所以给料装置B取料的机器人程序中可以与给料装置A取料程序共用一个机器人工具姿态调整点Target_10,示教时只需把Target_10点程序复制粘贴即可,完整机器人例行程序如下所示。

	PROC Pick_FB()
	    MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
	    MoveJ Target_40,v500,fine,TCP1\WObj:=wobj0;
	    MoveL Target_50,v500,fine,TCP1\WObj:=wobj0;
	    MoveL Target_40,v500,fine,TCP1\WObj:=wobj0;
	    MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
	ENDPROC

输送带的放料程序的示教编程思想与机器人自动给料装置取料程序的编程思想类似,同样可以用三个机器人位置点完成示教编程,如下图中的Target_140、Target_150、Target_160所示,只是前者的目的是放置工件,而后者的目的是放置工件,这里就不过多介绍了。

机器人输送带放料例行程序,如下图所示。

	PROC Conveyor_Drop()
	    MoveJ Target_140,v500,fine,TCP2\WObj:=wobj0;
	    MoveJ Target_150,v500,fine,TCP2\WObj:=wobj0;
	    MoveL Target_160,v500,fine,TCP2\WObj:=wobj0;
	    MoveL Target_150,v500,fine,TCP2\WObj:=wobj0;
	    MoveJ Target_140,v500,fine,TCP2\WObj:=wobj0;
	ENDPROC

数控机床上下料编程

数控机床上下料机器人程序与自动给料装置取料程序、输送带放料程序不同。我们试想一下,机器人从自动给料装置上取来待加工工件,如果是工作站刚启动运行,那么此时数控机床上并没有加工完成的工件,所以此时机器人直接将取来的工件安装到数控机床上即可;但是如果工作站并不是刚启动运行,那么此时的数控机床上必定有加工工件,机器人在安装新的待加工工件之前,需要先把加工完成的工件取下来,然后再进行安装。这也就是机器人工具上有两个工作位置的原因。

示教数控机床上下料机器人程序时,我们暂时不用考虑第一次启动运行的情况,直接按照正常运行的情况进行示教。上面我们已经规定了机器人工具的TCP1作为机器人从自动给料装置取料的TCP,TCP2作为机器人从数控机床上取料的TCP。正常情况下需要先从数控机床上取下加工完成的工件,因此这里首先使用机器人TCP2进行示教编程。选择合适位置点Target_100进行示教,作为机器人机床上下料起始位置点。

Target_110~ Target_130点与自动给料装置抓取工件程序类似,Target_110是机器人工具姿态调整点。在Target_110点位置处,机器人工具旋转90°,因为机床上的工件是垂直状态安装的,工具旋转之后才能实现抓取拆除工作。Target_130点是机器人在数控机床上抓取已加工完成工件的位置点,Target_120点是抓取位置上方点。

?Target_80、Target_90点是机器人放置待加工工件程序点,Target_90点是机器人在数控机床上安装工件的位置点,Target_80点是安装工件上方位置点,这与机器人输送带放料程序完全一致。同时,Target_80点位置与Target_120点相同,Target_90点位置与Target_130点相同,不同的是Target_80、Target_90点使用的是机器人工具的TCP1。机器人由Target_120点向Target_80点运行过程中实现工具工作位置的切换,即由TCP2转换为TCP1,以实现由抓取工件转换为放置工件。

完整的机器人机床上下料例行程序如下图所示。

    PROC Machine_Pick_Drop()
        MoveJ Target_100,v500,fine,TCP2\WObj:=wobj0;
        MoveJ Target_110,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_120,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_130,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_120,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_80,v500,fine,TCP1\WObj:=wobj0;
        MoveL Target_90,v500,fine,TCP1\WObj:=wobj0;
        MoveL Target_80,v500,fine,TCP1\WObj:=wobj0;
        MoveJ Target_110,v500,fine,TCP2\WObj:=wobj0;
        MoveJ Target_100,v500,fine,TCP2\WObj:=wobj0;
    ENDPROC

运行效果如下图。

除此之外还有主程序Main,它是用来编程机器人运行控制逻辑的,同时还有机器人抓取与放置工件的信号控制指令,这些内容都会在下一期介绍。

总结

通过上述机床上下料程序的示教,可以看出机器人搬运类程序的共有特点是,以机器人工作位置点(抓取点、放置点)为中心,工作点前后的程序点完全对称,示教编程时可以充分利用这一大特点,简化程序数量,降低示教编程工作量,提高编程效率。

The End


上一篇:Robotstudio软件:机器人后台运行程序创建与运行测试

相关推荐

豆包编程能力升级:支持HTML代码实时预览、交互

IT之家3月19日消息,IT之家从豆包官方获悉,豆包宣布AI编程功能迎来三项升级,包括HTML预览、Python运行、生成完整项目。据介绍,目前豆包支持HTML代码实时预览和交互...

1898款游戏!80、90回忆杀,重温旧梦,快速搭建中文DOS游戏服务

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:羊刀仙大家好,我是羊刀仙。本期来介绍一个特别情怀向的游戏项目:chinese-dos-games。这套包含1898款经典中文DOS游戏的合集...

利用 SVG 文件内的 HTML 代码进行网络钓鱼攻击

随着时间的推移,网络钓鱼攻击的技术越来越精妙,旨在欺骗用户并规避安全措施。攻击者会使用欺骗性的URL重定向策略,例如将恶意网站地址附加到看似安全的链接后,在PDF中嵌入链接,以及发送HTML...

aardio + AI 大模型自动编写 Python 代码、网页前端代码的经验与技巧

在AI时代,老式的编程习惯完全被颠覆。原来可能要一大堆插件或工具辛苦堆出来的程序,现在只要把AI调教好了就行。aardio支持调用十几种编程语言,这很适合发挥AI大模型的优势。对于AI...

用AI制作游戏就是如此简单!

很多人不知道如何利用AI提高效率,不知道AI能帮我们做什么,其实可以让我们实现很多自己根本不懂的领域取得直观体验,比如利用DS或者豆包,输入“我想做一个简单的单机俄罗斯方块游戏”,AI会给出phtho...

不会写代码?教你用DeepSeek 三步做出小游戏

如今,借助人工智能技术,哪怕你完全看不懂代码,也能通过DeepSeek制作出属于自己的网页版大鱼吃小鱼游戏。接下来,就为大家详细介绍制作过程。第一步、向DeepSeek描述需求为何要做网页版的...

《暗黑1》被移植成网页游戏 可在浏览器上玩了

《暗黑1》,这款1996年发售的“鼠标杀手”砍杀游戏,现在可以在浏览器上玩了。国外专注暴雪游戏的Rivsoft分享了一个《暗黑1》的共享版本,该版本只包含地下城的头2个地区和三个角色职业中的一个。不...

网页代码过滤 轻松获取专辑目录

通过过滤网页代码,可以将网页上显示不全的长文件名列表完整地提取出来。我有一个含有75个视频文件的《中医诊断学》课件,文件名是以01.RMVB、02.RMVB……75.RMVB这种格式命名的。我希望能找...

IDEA 2021首个大版本发布,Java开发者感动哭了(附新亮点演示)

工欲善其事,必先利其器!就在不久之前,Java领域的开发神器IntelliJIDEA终于迎来2021年的一个重要的大版本更新:IntelliJIDEA2021.1。现如今大量的Java开发者深度...

View Source:在 iOS 上轻松查看网页源代码

在移动互联网时代,移动端的应用和web体验都尤为重要,在PC上有很多web前端工具可以选择,而在移动端貌似就少之又少了,在NEXT出现的ViewSource能帮你在iOS上查看...

当我们《寻找房祖名》,我们能找到什么?

游戏葡萄原创专稿,未经允许请勿转载柯震东,因为在九把刀电影《那些年我们追过的女孩》中饰演男主角柯景腾而走红的台湾影星,在昨天被爆出了和著名演员成龙之子房祖名吸毒被抓的丑闻,一时间相关讨论席卷社交网络。...

多用途游戏娱乐新闻网站HTML5模板

Retnews是一个响应式的HTML新闻,博客,杂志网站模板,可以使用这套前端模板简约很多设计的工作。模板有许多特性适合流行的主题商业、时尚,游戏,娱乐,生活方式、体育、科技、政治、旅行、天气、视频等...

简约好看的个人引导页HTML源码下载

源码介绍一款非常简约好看的个人引导页HTML源码,非常适合个人主页以及个人导航使用,纯HTML不需要数据库,上传服务器即可使用!...

教你如何在微信公共平台上插入小游戏(图文教程)

很多玩微信公共平台的朋友都想在公共平台上面插入几个小游戏,用来跟用户之间互动,这里花生来分享一下如何在微信公共平台上插入游戏,以及如何制作html5微信小游戏。首先是找游戏,总共有三个方法,本人比较倾...

html5重力感应剖析附源码

下面是测试html5重力感应的demohttp://bbs.qietu.com/html/zhongli/http://www.qietu.com/html/f2/qqqianbao/demo2是切图...