机器人搬运码垛金字塔形状物料仿真设计研究

    潘杰

    

    

    

    摘要:搬运码垛是机器人经常要完成的任务,把物料搬运码垛成一个金字塔形状需要一个精确的设计过程,此过程要设置带有传感器的能够传送物品的传送带功能装置,设置准确的属性和信号连接,设置工作站的逻辑关系,对起始点和放置点进行示教定位、编写搬运码垛程等。本文在robotstudio基础上完成了机器人将物料分层次码垛成一个金字塔形状智能工作站。

    关键词:机器人;搬运;码垛

    中图分类号:TP391? ? ? 文献标识码:A

    文章编号:1009-3044(2021)17-0021-03

    开放科学(资源服务)标识码(OSID):

    1 研究任务

    在机器人工作站中,编写机器人程序,完成传送带物料输送到位后,机器人从传送带上将物料取走,摆放到指定的物料盘中,要求按照由右到左的顺序摆放,分五层摆放,从最低层往上数,摆放数量为5个、4个、3个、2个、1个,最终摆放成金字塔形狀。物料直径是40mm,物料高度为20mm,左右物料中间空袭的间距是2mm。启动和停止按钮在RobotStudio中通过仿真工作站I/O信号模拟。利用教建立的仿真工作站进行机器人编程并仿真运行无问题后,在将程序导入实际的工作站中,示教运行完成物料的搬运动作。

    2 传送带功能的建立

    在建模工具栏中选择“Smart组件”,在RobotStudio“布局”窗口的列表中右击新建立的Smart组件名称,快捷菜单中选择“重命名”,输入名称为“传送带动作”, 在“布局”窗口的列表中拖拽“小物料和传送带到传送带动作”节点下。

    2.1.设置传感器

    在传送带动作组件窗口中点击“添加组件”,从菜单中选择“传感器”,然后在子菜单中选择“PlaneSensor”。设置动作组件:在传送带动作组件窗口中点击“添加组件”,从菜单中选择“动作”,然后在子菜单中选择“Source”。在属性窗口中进行设置。? 添加“Queue”组件,不需要对属性进行设置。? 设置LinearMover组件。添加“LogicGate”组件,在属性窗口中设定“Operator”为NOT。

    3 设定属性和信号连接

    3.1 设置属性连结

    在“传送带动作”组件窗口中,点击“属性与连结”标签,然后点击“添加连结”,将弹出“添加连结”窗口。

    3.2 添加I/OConnection

    (1)设置传送带信号输入开始小物料的来源的复制。

    (2)设置来源执行后,开始队列的执行,将复制的小物料排列在队列后。

    (3)设置传感器识别到物料后,队列停止。

    (4)设置传感器识别到物料后,给外部输出识别到物料的信号。

    (5)设置当物料被拿走后,传感器没有识别到物料关联反向信号。

    (6)设置反向信号与来源执行相关联,实现当传感器没有识别到物料时,物料复制并重复进行排队前进。

    4 工作站的逻辑设置

    4.1 添加机器人系统

    在添加机器人系统的选项界面中点击“选项”按钮。弹出更改选项窗口,在类别中选择“Default Language”,在选项中取消English的勾选,勾选Chinese,为了让机器人能够与外部通信还需要添加网络设备,所以在类别中选择“Industrial Networks”,在选项中勾选“709-1 DeviceNet Master/Slave”,点击“确定”按钮后,回到“从布局创建系统”窗口。

    4.2 建立机器人IO信号

    点击“控制器”菜单,在左侧控制器列表中展开“配置”接点,双击“I/O System”接点,在右侧打开配置I/O系统窗口。在配置I/O系统窗口中右键单击“DeviceNet Device”节点选择“新建DeviceNet Device…”,打开的窗口中的Name后文本框中输入“D651”,然后点击确定。在配置I/O系统窗口中右键单击“Signal”节点选择“新建Signal”,在Type of Signal列表中选择“Digital Input”。在配置I/O系统窗口中右键单击“Signal”节点选择“新建Signal”,在Type of Signal列表中选择“Digital Output”。

    4.3 设定信号连接

    进入“仿真”菜单,在工具栏中选择“工作站逻辑”。设置工作站启动信号用来实现启动功能,模拟工作站中的“启动按钮”的功能;设置工作站停止信号用来实现停止功能,模拟工作站“停止按钮”的功能;设置与夹爪的连接实现机器人通过“do_xp”信号来控制吸盘的开合;设置传送带信号与机器人信号的连接实现机器人通过 “di_csd”信号是否为1来判断物料是否到位。设置工作站启动信号与机器人信号的连接设置工作站启动信号与传送带启动信号连接:实现传送带获得工作站传入的启动信号;设置工作站停止信号与机器人信号的连接:实现机器人获得工作站传给机器人的停止信号。设置结果如图1所示。

    5 码垛编程

    5.1 搬运流程图

    机器人首先运动到初始位置,之后机器人末端工具直线运动到第一个待取料的上方点位,然后垂直下落到取物料点位,夹取物料、向上抬起到上方定位后平移到待放点位上方,再垂直下落到放置点位后放下物料,之后机器人抬起。夹取其他物料的过程与第一个相同,只是点位不同。总体流程图如图2所示。

    5.2 程序数据声明

    编写程序前首先要进行程序数据声明,声明起始点、取料点、放料点等7个点位, 在RobotStudio中选择RAPID菜单,按照下列程序所示进行程序数据声明。

    程序数据声明:

    MODULE Module1

    CONST robtarget home:=[[301.24,0.00,558.00],[0.00526559,0,-0.999986,0],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]]; !声明起始点

    CONST robtarget qwl:=[[322.54,426.08,287.50],[0.00526541,-4.20242E-8,-0.999986,-1.10285E-7],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]]; !声明取料点常量

    CONST robtarget fwl:=[[346.29,-282.31,297.79],[0.00526535,-1.92038E-8,-0.999986,-8.44633E-8],[-1,-1,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]]; !声明放料点常量

    VAR num i; !声明循环次数计数变量

    VAR robtarget qwls; !声明取物料点上方变量

    VAR robtarget fwls; !声明放物料点上方变量

    VAR robtarget fwl2; !声明放物料点到位变量

    5.3 编写main函数

    PROC main() !主函数

    Movej home,v300,fine,tool0\WObj:=wobj0; !运动到起始点

    FOR i FROM 0 TO 14 DO !循环 15 次,取放 15 个物料

    qwls:=offs(qwl,0,0,30); !计算取料点上方点位

    MoveL qwls,v300,fine,tool0\WObj:=wobj0; !运动到传送带取物料位置上方

    WaitDI di_csd,1; !等待输入信号 di_csd 为 1,即等待传送带物料到位

    MoveL qwl,v300,fine,tool0\WObj:=wobj0; !运动到取料点位置

    set do_xp; !吸盘置 1,执行夹取动作,夹取物料

    WaitTime 0.5; !等待 0.5s,以夹稳物料

    MoveL qwls,v300,fine,tool0\WObj:=wobj0; !提升到取料点上方位置

    IF i<5 THEN !如果 i<5

    fwls:=offs(fwl,0,i*42-36,40); !运动到第一层放料点位置上方

    fwl2:=offs(fwl,0,i*42-36,0); !运动到第一层放料点位置

    ELSEIF i<9 THEN !否则 5<=i<9

    fwls:=offs(fwl,0,(i-5)*42-16,80); !运动到第二层放料点位置上方

    fwl2:=offs(fwl,0,(i-5)*42-16,20); !运动到第二层放料点位置

    余下循环程序可根据9<=i<12 ,12<=i<14, i=14,可依次运动到第三层、第四层、第五层的放料点,

    设置放料点程序如下:

    MoveL fwls,v300,fine,tool0\WObj:=wobj0; !移动到放料点上方

    MoveL fwl2, v300, fine, tool0\WObj:=wobj0; !慢速下落到放料点位置

    reset do_xp; !吸盘置 0

    WaitTime 0.5; !等待 0.5s ,以放稳物料

    ENDFOR ! 结束 FOR 循环

    Movej home,v300,fine,tool0\WObj:=wobj0; !运动到起始点

    Stop; !停止本次循环

    ENDPROC ! 结束 main 函数

    ENDMODULE !结束 MODULE

    5.4 程序导入机器人工作站

    在RobotStudio软件中,点击“RAPID”菜单,在左侧列表中,展开RAPID接点,右键单击程序模块“module1”,然后选择“保存模块为…”,选择保存位置,然后点击“保存”按钮。加载模块到真实工作站,要保证电脑与真实工作站的控制器通过网线连接。在RobotStudio中,新建空工作站,添加“IRB120”机器人,然后在“控制器”菜单中,点击“添加控制器”子菜单中的“一键连接…”,连接到真实工作站中的控制器 在“控制器”列表中将出现服务端口及其下面列出的控制器系统,展开接点到“T_ROB1”,右键点击该节点,从弹出菜单中选择“加载模块”,在打开的窗口中选择之前保存的模块,然后点击“打开”按钮,如果原有工作站有同名的模块,则会出现一个对话框,询问是否覆盖同名的模块,这里点击“是”。

    5.5 点位示教

    示教home点,将机器人的末端工具,调整为垂直向下状态,此点为home点,在示教器的“程序编辑器”中,打开main例行程序,在代码中点击MovJ 后面home,选择下方的“修改位置”,完成home点的示教。示教取料点,取物料目标点要保证夹住物料时不改变位置,在代码中点击MovL后面qwl,选择下方的“修改位置”,完成qwl点的示教。示教放料点,示教放物料目标点(点位名称fwl)时,应当夹着物料进行示教。在代码中点击MovL 后面fwl,选择下方的“修改位置”,完成 fwl点的示教。

    6 仿真运行

    在RobotStudio的仿真设定中不需要仿真机器人,在“仿真”菜单中点击“仿真设定”,在仿真设定窗口中取消“system1”后面的勾选,关闭仿真设定窗口。在“仿真”菜单中,点击“重置”从列表中选择“初始状态”,使工作站和機器人恢复到运行的起止状态位置。

    机器人开启自动,在“控制器”菜单中点击“控制面板”,在右侧出现“控制面板”窗口,在窗口中将操作模式选择为“自动”,点击“电机按钮”给电机上电。在“仿真”菜单中,点击“播放”按钮,开始仿真,“I/O仿真器”窗口中选择系统为“工作站信号”,在下面出现start和stop两个按钮,点击“start”将启动机器人和传送带的运行。按下“stop”将停止机器人的运行,再次点击“start”机器人将继续运行。最终实现如图3所示金字塔形状搬运码垛功能。

    参考文献:

    [1] 李勇.基于RobotStudio的码垛机器人智能工作站仿真的探究[J].科技资讯,2018,16(28):31-32.

    [2] 李鹏,顾立志,李辉,等.基于Robotstudio的码垛机器人工作站构建的仿真研究[J].内燃机与配件,2019(18):252-253.

    [3] 黄明鑫,惠为东.基于RobotStudio的机器人码垛工作站仿真研究[J].南方农机,2018,49(23):43-44,51.

    [4] 苏士超.基于RobotStudio的搬运码垛工作站仿真设计[J].电脑知识与技术,2020,16(32):235-236.

    【通联编辑:梁书】