ABB机器人RobotStudio仿真之随机物料抓取

news/2024/10/17 22:13:06/

在这里插入图片描述

概述

如上图所示,利用RobotStudio仿真软件,在工作台上产生随机物料,用机器人夹取物料至环形码盘中。需要建立两个Smart组件来实现该动画的仿真效果,实现思路:1、机器人夹具的夹紧与松开,以及工件安装与拆除。2、随机物料的产生,以及实时工件坐标位置转换。3、程序实现环形码垛,已知圆心位置坐标,半径大小,以及每个点和圆心所处夹角为45°(360除8个位置得出),利用三角函数关系,算出每个点的坐标然后保存至数组中。

1、建立夹爪Smart组件

1、利用仿真软件中自带的爪手,导入至视图中。操作步骤,点击基本菜单,点击导入模型库,选择设备这一栏,拖动鼠标滚轮,选择ABB Smart Gripper 。如下图所示:
在这里插入图片描述
2、右键选择工具Smart_Gripper_Servo,断开与库的连接,并且去掉可由传感器检测,点击选择修改机械装置,设置同步位置为25,原点位置为0。如图所示:
在这里插入图片描述
3、建立Smart组件,点击建模菜单,点击Smart组件,修改名字为夹爪,点击添加组件,选择本体中PoseMove组件,一共添加两个PoseMove组件,重命名为PoseMove夹紧和松开,再添加一个取反信号LogicGate组件属性Operator选项为NOT非。以及新建一个DI_Open信号。编辑一下组件属性,机械装置为上一步的Smart_Gripper_Servo工具,Pose为同步位置和远点位置。相关组件设计如下图所示,用线连接即可,不用再去设置属性和连接以及信号和连接。最后把上一步的工具拖入至Smart组件中,点击信号仿真,看是否有夹紧松开的动作。
在这里插入图片描述
4、自行选择机器人并创建机器人系统,我这里选择1200这款机器人,这里不详细介绍怎么创系统及建I\O板及信号,新建两个DI和两个DO信号,目的是控制随机物料的产生和夹爪夹取动作。接下来介绍把夹爪工具安装到机器人六轴法兰盘上,设置好夹爪的本地原点后,右键点击安装至机器人中即可。
在这里插入图片描述
5、在建模菜单,建立工作台和工件,以及事先准备好的码盘导入库文件即可,相关素材关注并私聊给出。完善夹爪Smart组件安装与拆除功能,新添加组件Attacher和Detacher。以及新添加一个信号锁定组件LogicSRLatch,作用是线传感器感应到信号就 往外输出一个信号。相关组件连接设计看下图,连接好设计后测试一下夹爪的夹取工件动作是否正常。
在这里插入图片描述

在这里插入图片描述

2、建立产生随机物料Smart组件

1、新建一个smart组件,把工件拖入至组件中,我们需要添加两个随机数组件Random,产生X和Y方向的偏移,需要一个产生位移组件Positioner以及向量与XY之间的数值VectorConverter,还需要一个设置Rapid中工件坐标的Pos值RapidVariable以及一个复制对象Source,并在Rapid程序中新建变量PERS pos PosXY:=[0,0,0];
在这里插入图片描述
2、设置Random组件属性,2个Random组件属性,如下图设置,Min和Max最大最小值设置为0.1米也就是100mm,X和Y设置一样即可。

在这里插入图片描述
设置Source属性,如下图所示

在这里插入图片描述
设置RapidVariable属性,数据类型为pos,控制器为默认新建的控制器,任务为默认T_ROB1,模块也为默认Module1,值为新建变量值PosXY。如图所示:
在这里插入图片描述
设置Positioner属性,这里需要新建一个框架,在工作台中心,安装至工件,然后点击是。目的是已该框架为中心进行位置移动。
在这里插入图片描述
在这里插入图片描述
2、Smart组件设计连接,需要先建立一个启动信号触发随机物料产生,相关连接如下图所示:
在这里插入图片描述
3、建立一个工件坐标,并安装至工件上,然后点击否。
在这里插入图片描述
在这里插入图片描述
4、仿真设定及工作站逻辑设计,仿真设定选择连续,全部勾选。
在这里插入图片描述
工作站逻辑设计如下图,要事先建立好IO板及IO输入输出信号,然后才能添加连接。目的是为了机器人程序控制。
在这里插入图片描述
测试工件是否随机产生,点击di输入信号,会产生如下图所示效果:
在这里插入图片描述

3、实现机器人抓取码垛

1、创建原点,以及取料点和放料点。取料点需要带上工件坐标创建,其他的用默认wobj0就好。放料点需要创建在码盘的中心,也就是8个点的圆心上,半径这里测量为70mm,夹角为45度。点位示意如下图所示:
在这里插入图片描述
创建点位时每个点绕Y轴旋转180度。
在这里插入图片描述
最后记得同步到工作站中,选择为Module1中,包括工件坐标工具坐标。
在这里插入图片描述
2、程序编写,解释请看注释

MODULE Module1PERS pos PosXY:=[-24.6073,35.4348,0];  PERS tooldata Servo:=[TRUE,[[0,0,114.2],[1,0,0,0]],[0.215,[8.7,12.3,49.2],[1,0,0,0],0.00021,0.00024,0.00009]];TASK PERS wobjdata Workobject_1:=[FALSE,TRUE,"",[[500,-300,600],[1,0,0,0]],[[35.7578,-98.6632,0],[1,0,0,0]]];CONST robtarget Target_20:=[[413.722,-2.479,690.887],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];VAR num nCount:=0;VAR num nOffs_Rz:=1;VAR num number_count;CONST robtarget Target_30:=[[455,166.24,230.83],[9.29468E-08,-5.25318E-08,1,3.41642E-09],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];PERS robtarget P_Place{8}:=[[[504.497,215.737,230.83],[8.45642E-8,0.382683,0.92388,3.87256E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[455,236.24,230.83],[6.33075E-8,0.707107,0.707107,6.81391E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[405.503,215.737,230.83],[3.24128E-8,0.92388,0.382683,8.71791E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[385,166.24,230.83],[3.41642E-9,-1,-8.82041E-9,-9.29468E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[405.503,116.743,230.83],[3.87256E-8,-0.92388,0.382683,-8.45642E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[455,96.24,230.83],[6.81391E-8,-0.707107,0.707107,-6.33075E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[504.497,116.743,230.83],[8.71791E-8,-0.382684,0.92388,-3.24128E-8],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]],[[525,166.24,230.83],[9.29468E-8,3.4891E-8,1,3.41643E-9],[0,-1,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]]];CONST robtarget Target_50:=[[0,0,0],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];PROC main()Reset doOpen;Reset do_Start;nCount:=1;nOffs_Rz:=1;number_count:=1;nOffs_Rz:=1;!产生8个放料点位放到数组中保存FOR index FROM 1 TO 8 DOP_Place{nOffs_Rz}:=Target_30;P_Place{nOffs_Rz}.trans.x:=P_Place{nOffs_Rz}.trans.x+70*cos(index*45);P_Place{nOffs_Rz}.trans.y:=P_Place{nOffs_Rz}.trans.y+70*sin(index*45);P_Place{nOffs_Rz}:=RelTool(P_Place{nOffs_Rz}, 0, 0, 0 \Rz:= index*45);  Incr nOffs_Rz;ENDFORWHILE nCount<=8 DO!原点MoveJ Target_20,v1000,z100,Servo\WObj:=wobj0;!产生随机工件PulseDO\PLength:=0.5, do_Start;WaitDI di_End,1;!把偏移产生的数值转换到工件坐标中去Workobject_1.oframe.trans:=PosXY;WaitTime 0.5;MoveJ offs(Target_50,0,0,100),v500,fine,Servo\WObj:=Workobject_1;!取料MoveJ Target_50,v1000,fine,Servo\WObj:=Workobject_1;Set doOpen;WaitTime 0.5;MoveJ offs(Target_50,0,0,100),v1000,z100,Servo\WObj:=Workobject_1;MoveJ Offs(P_Place{number_count},0,0,250),v1000,fine,Servo\WObj:=wobj0;! 放料MoveL P_Place{number_count},v500,fine,Servo\WObj:=wobj0;Reset doOpen;WaitDI diClose,0;WaitTime 0.5;MoveJ Offs(P_Place{number_count},0,0,100),v1000,z10,Servo\WObj:=wobj0;Incr number_count;Incr nCount;ENDWHILEMoveJ Target_20,v1000,fine,Servo\WObj:=wobj0;Stop;ENDPROC
ENDMODULE

3、同步到工作站中,仿真运行,看运行逻辑是否 达到想要的效果,最终展示效果如下视频,如有疑问可在文章下评论。

获取完整视频及安装包请点击以下传送门:

传送门
在这里插入图片描述


http://www.ppmy.cn/news/394854.html

相关文章

海思Hi3516DV300 SDK首次安装以及编译问题的解决

摘要 首先应阅读“Hi3516CV500/Hi3516DV300/Hi3516AV300 开发环境 用户指南”完成开发环境的搭建&#xff0c;这样会少走不少弯路。那么下面将给出这个文档给出的软件包安装步骤 步骤 1 配置默认使用 bash 执行 sudo dpkg-reconfigure dash 选择 no 步骤 2 安装软件包 执行&am…

ABB机器人编程示例

【一】&#xff1a;系统介绍 中文手册&#xff1a;http://samwangpan01.club:8081/externalLinksController/chain/ABB%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C.pdf?ckey7GLNrf1%2BOQSWcq5sVS%2FgnB8vkb7KlFdiqF%2BhMQLd6YxkLw7tWFYKqFXOj3TRqlE5 R…

RobotStudio软件:ABB机器人弧焊焊接虚拟仿真实现方法

目录 概述 机器人弧焊焊接简易工作站布局 弧焊焊接机器人虚拟系统创建 弧焊焊接机器人I/O信号配置 机器人弧焊焊接系统配置 常用机器人弧焊焊接指令介绍 机器人弧焊焊接示教编程 机器人弧焊焊接仿真运行 本文已经首发在个人微信公众号&#xff1a;工业机器人仿真与编程…

Robotstudio软件:机床上下料工作站机器人示教编程

本文已经首发在个人微信公众号&#xff1a;工业机器人仿真与编程&#xff08;微信号&#xff1a;IndRobSim&#xff09;&#xff0c;欢迎关注&#xff01; 工业机器人机床上下料工作站示教编程相对来讲还是比较简单的&#xff0c;本质上就是机器人搬运的一个具体应用&#xff0…

RobotStudio软件:ABB机器人弧焊焊接起始点接触寻位虚拟仿真方法

目录 概述 机器人接触传感器添加与配置 机器人接触传感器I/O信号连接 机器人起始点接触寻位常用指令介绍 机器人起始点接触寻位程序编写 机器人仿真运行 本文已经首发在个人微信公众号&#xff1a;工业机器人仿真与编程&#xff08;微信号&#xff1a;IndRobSim&#xff…

RobotStudio码垛机器人创建过程

一、安装夹具 导入一个IRB2600机器人 移动夹具的本地坐标原点&#xff0c;使原点位置为顶面中心&#xff08;与法兰盘连接的部位&#xff09; 对齐夹爪Smart组件的本地坐标和机器人末端法兰盘的坐标&#xff0c;使夹具的本地坐标与法兰盘的本地坐标重合&#xff0c;为下一步安…

Robotstudio软件:ABB机器人机器视觉位姿引导虚拟仿真

本文已经首发在个人微信公众号&#xff1a;工业机器人仿真与编程&#xff08;微信号&#xff1a;IndRobSim&#xff09;&#xff0c;欢迎关注&#xff01; 概述 近几年来机器视觉技术在工业生产中得到了广泛的应用&#xff0c;在工业机器人应用领域中&#xff0c;机器视觉被广…

RobotStudio教程:ABB机器人TCP路径轨迹跟踪功能介绍与使用方法

目录 功能介绍 机器人工作站创建 TCP路径轨迹全局跟踪 基于事件管理器的TCP路径轨迹局部跟踪 基于Smart组件的TCP路径轨迹局部跟踪 仿真运行 功能介绍 干涉检查是虚拟仿真工作中非常重要的一个步骤&#xff0c;尤其是机器人工具与工件、工装夹具之间的碰撞干涉&#xff…