ABB IRB120型工业机器人多物料码垛编程及搬运实例
2021-12-06张真
张真
摘 要:针对ABB IRB 120型工业机器人,介绍了本次课程内容中码垛作业流程设计、程序指令,并对码垛实例进行设计、编程和运行,整個学习过程突出了职业性、实践性和实用性的特点。
关键词:ABB IRB 120;工业机器人;编程;码垛
ABB机器人作为世界领先的机器人制造商,掌握其应用、编程操作对促进工业发展有着极其重要的作用。《工业机器人现场编程》ABB是工业机器人、机电一体化专业的核心课程,也是必修课程,还是“1+X”工业机器人应用编程职业技能等级证书的考核内容。其任务是熟悉工业机器人工作站的结构;掌握工业机器人的基本操作、I/O通信、编程指令、程序数据的建立;对工业机器人工作站程序进行编写与调试。
1 课程内容分析
工业机器人的搬运功能广泛应用在化工、医药、金属加工、物流运送、周转、仓储等作业。可代替人工实现搬运,可明显节省劳动力成本,大幅提升工业生产率;同时,工业机器人具有较高的定位精度,可降低搬运作业的产品效率。工业机器人的搬运动作可分解为抓取工件,移动工件、放置工件等一系列子任务,只是采用的工具不同,具体的作业流程也有所不同[1]。
完成搬运作业,需要依次完成I/O配置、创建程序数据、示教目标点、编写和调试程序等操作。程序编写时,要正确选取目标示教点,并选择合适的动作模式和运行速度,避免机器人发生碰撞,防止工件脱落。本次工作需要示教的目标点有抓取靠近点、抓取点、放置靠近点、放置点以及TCP的空闲等待点。
2 码垛作业流程设计
码垛是在搬运的基础上,将工件整齐、规则地摆放成货跺的作业形式。需要对路线进行规划,然后按照规定好的路线把工件从一个位置搬运到另一个位置,每次的目标点有所不同。本次课程实践采用的机器人为ABB120型号机器人。
3 应用程序
进行码垛作业时,应根据具体的作业任务要求编写程序。需要对相关I/O信号进行配置,然后建立主程序、初始化程序、抓取程序、放置程序以及专门的放置点计算程序等。
3.1程序指令
RAPID是一种基于计算机的高级编程语言,RAPID程序是ABB工业机器人自动运行的软件基础。
(1)关节运动指令(MoveJ)
关节运动指令(MoveJ)是在对路径精度要求不高的情况下,将机器人的TCP快速移动至给定目标点的指令。关节运动指令指关注TCP的起始点和目标点,其运动轨迹不一定是直线[2]。
(2)线性运动指令(MoveL)
线性运动指令(MoveL)用来使工业机器人的TCP沿直线运动至给定的目标点。在线性运动过程中,机器人的运动状态可控,运动路径具有唯一性,但是可能会出现关节轴进入机械死点的问题。线性运动指令主要应用在激光切割、涂胶、弧焊等对路径精度要求高的场合。
(3)偏移功能Offs
该功能用于偏移操作。例如,线性运动指令
MoveL Offs(p10,100,200,300),v200,z50,tool0\wobj:=wobj0;
其中,功能Offs用于以选定的目标点p10为基准,沿着选定工件坐标系的X,Y,Z轴方向分别偏移100mm,200mm,300mm,偏移后的数据返回值作为新目标点数据,TCP将向偏移后的新目标点做线性运动。
(4)FOR重复执行判断指令。
该指令适用于一个或多个指令需要重复执行数次的情况。
(5)I/O控制指令
I/O控制指令用于控制I/O信号,以实现机器人与周边设备进行通信的目的。基本的I/O控制指令如下。Set 数字信号置位指令,该指令用于将数字输出信号至于“1”位,从而使对应的执行器开始工作。Reset 数字信号复位指令,该指令用于将数字输出信号置于“0”位。WaitTime时间等待指令。该指令用于程序在等待一个指定的时间后,再继续向下执行。
4 ABB IRB 120型工业机器人码垛实例分析
工业机器人码垛作业简易工作站如图1所示,试建立RAPID程序,使工业机器人将工作台A处的两个工件放到工作台B处的指定位置。工件的尺寸为80mm×40mm×40mm。具体的操作要求为机器人从安全点出发,移动到工作台A最上方工件10mm处,下降到工作台A最上方工件夹取点处,等待2s,气爪抓紧,等待2s,直线上升到10mm处,机器人移动到工作台B处放置工件,先下降到安全位置,然后到达放置点,等待2s,气爪松开,等待2s,放置工件,直线上升到安全位置。重复搬运第二块物料。
每个位置的数据值不同,故采用FOR循环来更新目标位置数据。根据流程,设定phome为安全位置,p10为工作台A最上方10mm处位置点,p20为工作台A最上方工件夹取点位置,p30为工作台B安全点位置,p40为工作台B最下方工件放置点位置,do4为气爪夹紧松开输出信号,具体程序如下:
PROC main() 主程序
MoveJ phome,v200,fine,tool0; 移动至安全点
FOR i Frome 0 to 1 do 重复执行判断
MoveJ p10,v200,z30,tool0; 移动至p10处
MoveL p20,v200,z30,tool0; 移动至p20处
MoveL Offs(p20,0,0,0-38*i),v200,z30,tool0; 偏移
WaitTime2; 等待2s
SetDo4; 抓取
WaitTime2; 等待2s
MoveJ p10,v200,z30,tool0; 移动至p10处
MoveJ p30,v200,z30,tool0; 移动至p30处
MoveL p40,v200,z30,tool0; 移动至p40处
MoveL Offs(p40,0,0,0-38*i),v200,z30,tool0; 偏移
WaitTime2; 等待2s
ReSetDo4; 放置
WaitTime2; 等待2s
MoveJ p30,v200,z30,tool0; 移动至p30处
MoveJ phome,v200,fine,tool0; 移动至安全点
END PROC 结束主程序
5 结语
本文结合学生实践,从课程所用ABB120型工业机器人出发,对机器人运动轨迹、基本程序指令、基本参数进行了介绍,对码垛运行实例进行编程并应用和实践。本课程以面向就业岗位为导向,结合工业机器人技术能力目标,整个学习过程突出了职业性、实践性和实用性的特点。把职业资格标准融入课程体系,将工匠精神融入人才培养中,提高学生的综合素质培养和职业能力。
参考文献:
[1]李春勤,赵振铎,李娜.工业机器人现场编程(ABB)[M].北京:航空工业出版社,2019.
[2]田贵福,林燕文.工业机器人现场编程(ABB)[M].北京:机械工业出版社,2017.
[3]李光.《工业机器人现场编程》课程教学研究与实践[J]. 科技风, 2020, No.430(26):53-54.
项目来源:广州科技职业技术大学校级项目(2021ZR09)