1、机器人码垛应用控制编程 【任务描述】码垛是指将形状基本一致的产品按一定的要求堆叠起来。这项工作起初由人工完成,随着科技的发展,这类危险的、劳动强度大的工作逐渐由机器人取而代之。码垛机器人的功能就是将物件(箱体、罐体等)一层一层地放到托盘上,适用于化工、食品等自动生产企业。机器人码垛不仅安全、速度快、码垛整齐,而且可以不间断地工作,大大提高了工作效率。本任务将讲解如何编写基本的机器人码垛程序。【任务目标】1、掌握ABB工业机器人I/O信号设置方法。2、掌握ABB工业机器人码垛物件放置位置的计算方法。3、掌握ABB工业机器人码垛程序数据赋值方法。4、掌握ABB工业机器人码垛点位示教以及机器人码垛程
2、序的编写方法。机器人码垛从原点执行动作,移动到抓料区上方等待抓取,再移动物件1抓取点夹持物件,移动到码垛点放置;接着,机器人移动到抓料区进行物件2抓取,动作如此循环。要求码垛2层,每层3个物件。本任务采用点位示教偏移法来完成,即只需要精确示教物件1的抓取点和物件1的码垛点即可,其余点可以通过物件长、宽、高、间距等数据计算出来,然后通过相对位置移动,再配合赋值指令来完成一系列动作。机器人码垛控制程序由主程序、初始化程序、位置计算例行程序、抓取例行程序、放置例行程序构成。编程时需要注意以下几个方面:(1)配置夹持夹爪I/O信号。在机器人的6轴末端添加一个气动夹爪,利用电磁阀来控制手爪的开合。当需要
3、抓取物件时,将气动夹爪信号接通,实现夹紧功能;当机器人运行到码垛放置点,需要松开夹爪时,将气动夹爪信号设置关闭,实现松开功能。(2)明确码垛位是以物件1为零点,其余5点采用偏移位置坐标。(3)抓取物件和放置物件后,通常需要设置0.51s的停留时间。(4)定义变量作为计数值,每次从主程序启动时,都需要对计数变量进行初始化(赋值为1即可)。选择ABB菜单栏,单击“控制面板”,然后单击“配置系统参数”,进入I/O配置界面,双击“Signal”单击“添加”,建立一个数字输出信号,信号名称为“do4”,信号类型“Type of Signal”选择为“Digital Output”(数字量输出)双击“As
4、signed to Unit”,选择“d652”I/O板设置输出信号的分配地址为4 单击“确定”,在“重新启动”对话框中单击“是”完成配置 打开ABB菜单栏,选择“手动操纵”,单击“工具坐标”,新建一个工具坐标并命名为“tool1”,其他参数默认即可,单击“确定”选择“tool1”,单击“编辑”选择“更改值”单击“mass”,填入夹爪工具重量(约2kg),根据实际情况将工具的重心位置填入“cog”(约:10,-5,50)单击“编辑”选择“定义”,单击“方法”,再在“方法”下拉菜单中选择“TCP和Z,X”示教第示教第1 1点点 示教第示教第2 2点点 示教第示教第3 3点点 示教第示教第4 4点
5、点 如图所示,使用示教器以4种不同的姿态移动机器人,让夹爪的参考点A与固定参考点B接触(首先以单轴调整工具姿态,然后以线性运动接近),每完成一个和固定参考点接触的姿态之后要单击“修改位置”,保存该点的位置数据。设定延伸器点X的位置(工具坐标的X轴正方向)设定延伸器点Z的位置(工具坐标的Z轴正方向)检验工具坐标。打开ABB菜单栏,选择“手动操纵”,将“动作模式”选择“重定位“,”坐标系”选定为“工具”,“工具坐标”选定为“tool1”编程前,先设置物件计数变量名为“nCount”数据,“nCount”为“num”类型的数据,并且将初始值设为1。根据任务创建主程序main_()、初始化程序Init
6、ALL()、位置计算例行程序Position()、抓取例行程序Grasp()、放置例行程序Place()。关键目标点示教主要有:工作原点(origin)、物件抓取位置点(pPick)、第一个物件码垛放置点(pPlace)。初始化程序用于完成码垛工作中机器人返回原点的功能,还需要对输出信号及计数变量进行复位。位置计算例行程序说明:pot1、pot2为位置坐标变量。pPick表示抓取第一个物件的位置坐标(此坐标根据实际情况示教),当nCount=1时,pot1的位置坐标等同于pPick坐标值。以pPick的坐标点为零点进行偏移(-36,0,-46分别代表X、Y、Z的偏移量),当示教完成物件1的抓取
7、点位后,可以算出物件2的位置相对于物件1在X轴发生负方向偏移36mm,Y轴未发生偏移,Z轴往负方向偏移46mm。相对坐标系如图所示。(其中物件尺寸为:长长宽宽高高=125 mm52 mm46 mm,物件之间间隔为20mm。)以同样的方法算出其余点的偏移量。码垛放置位同样只需要示教物件1的放置位置即可,pPlace就是物件1放置的示教点坐标,以此坐标为零点进行相对位置偏移,计算出其他点位。抓取物件位置图抓取物件位置图 物件码垛位置图物件码垛位置图 抓取物件程序设计 放置例行程序思路设计:将第一个抓取的物件放置到示教点(pPlace点),一个流程运行完后将计数变量值“nCount”加1,其他放置点是以示教pPlace点作为零点进行相对坐标位置偏移,计算出其他点位,其他点位数据依靠变量pot2计算得到。码垛目标为2层,每层3个物件,每个物件之间间距为20mm。程序说明程序说明:当nCount=2时(机器人在抓取第2个物件时),通过位置计算程序,将第2个物件所需要的抓取位坐标和码垛位坐标分别传给pot1和pot2,机器人移动到第2个物件上方进行抓取物件,同样移动到码垛位放料的上方进行放置动作,然后变量值计算(nCount+1),这时nCount=3,并且符合nCount7条件,所以继续循环,进行抓取第3个物件的动作,以此类推。