ABB创新项目——随机物料抓取设计

一、项目设计

实现思路:1、机器人夹具的夹紧与松开,以及工件安装与拆除。2、随机物料的产生,以及实时工件坐标位置转换。3、程序实现环形码垛,已知圆心位置坐标,半径大小,以及每个点和圆心所处夹角为45°(360除8个位置得出),利用三角函数关系,算出每个点的坐标然后保存至数组中。

二、设计意义

此设计用于实现瓶装物品的另类装箱码垛,不仅可以运用于普通瓶装,也可以用于其他瓶装产品,实现自动化,减少人力资源消耗。利用RobotStudio仿真软件,在工作台上产生随机物料,用机器人夹取物料至环形码盘中。

三、设计步骤

1、建立夹爪Smart组件

利用仿真软件中自带的爪手,导入至视图中。操作步骤,点击基本菜单,点击导入模型库,选择设备这一栏,拖动鼠标滚轮,选择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,作用是线传感器感应到信号就 往外输出一个信号。相关组件连接设计看下图,连接好设计后测试一下夹爪的夹取工件动作是否正常。

6、新建一个smart组件

把工件拖入至组件中,我们需要添加两个随机数组件Random,产生X和Y方向的偏移,需要一个产生位移组件Positioner以及向量与XY之间的数值VectorConverter,还需要一个设置Rapid中工件坐标的Pos值RapidVariable以及一个复制对象Source,并在Rapid程序中新建变量PERS pos PosXY:=[0,0,0];

7、设置Random组件属性

2个Random组件属性,如下图设置,Min和Max最大最小值设置为0.1米也就是100mm,X和Y设置一样即可。

设置Source属性,如下图所示

设置RapidVariable属性,数据类型为pos,控制器为默认新建的控制器,任务为默认T_ROB1,模块也为默认Module1,值为新建变量值PosXY。如图所示:

设置Positioner属性,这里需要新建一个框架,在工作台中心,安装至工件,然后点击是。目的是已该框架为中心进行位置移动。

8、Smart组件设计连接

需要先建立一个启动信号触发随机物料产生,相关连接如下图所示:

9、建立一个工件坐标,并安装至工件上,然后点击否。

10、仿真设定及工作站逻辑设计,仿真设定选择连续,全部勾选。

工作站逻辑设计如下图,要事先建立好IO板及IO输入输出信号,然后才能添加连接。目的是为了机器人程序控制。

测试工件是否随机产生,点击di输入信号,会产生如下图所示效果:

11、创建原点,以及取料点和放料点

取料点需要带上工件坐标创建,其他的用默认wobj0就好。放料点需要创建在码盘的中心,也就是8个点的圆心上,半径这里测量为70mm,夹角为45度。点位示意如下图所示:

创建点位时每个点绕Y轴旋转180度。

最后记得同步到工作站中,选择为Module1中,包括工件坐标工具坐标。

12、程序编写,解释请看注释

MODULE Module1

PERS 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;

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 DO

P_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;

ENDFOR

WHILE 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;

ENDWHILE

MoveJ Target_20,v1000,fine,Servo\WObj:=wobj0;

Stop;

ENDPROC

ENDMODULE

3、同步到工作站中,仿真运行

13、Robot1示教器编程

14、I/O口配置

注意输入输出口的分配。

四、设计心得

工业机器人是现代工业领域中不可或缺的重要组成部分。为了增强自己在这一领域的竞争力,我报名参加了一门工业机器人课程。通过学习这门课程,我深感收获颇多,对工业机器人的理解也有了新的认识。以下是我对这门课程的心得体会。

首先,这门课程的理论知识广博且系统。课程从机器人的基本概念入手,逐步介绍了机器人的各个组成部分以及相关的技术原理。例如,课程详细讲解了机器人的传感器、执行器、控制系统等,加深了我对机器人的整体结构和工作原理的理解。同时,课程还涉及到了机器人的编程与控制,教授了各类编程软件的使用方法,如ROS、LabVIEW等。这些理论知识为我后续的实践操作提供了坚实的基础。

其次,这门课程注重实践操作。课程设置了大量的实验和实践环节,使学生有机会亲自动手操作机器人,加深对理论知识的理解和掌握。例如,我在课堂上学会了如何使用激光测距仪来获取机器人运动过程中的实际距离,以便根据实际距离进行后续的控制。我还亲自编写了机器人的控制程序,通过调试和优化过程,提升了我的编程技能和解决问题的能力。这些实践操作不仅帮助我更好地理解了机器人的操作流程,还让我在实践中体会到了机器人技术的魅力和广泛应用的前景。

第三,这门课程开阔了我的视野。通过学习这门课程,我了解到了工业机器人正在快速发展,正在逐渐实现自主学习和智能控制,不再仅仅是简单的重复动作。我深入研究了一些先进的机器人应用领域,如无人驾驶汽车、医疗机器人等。这些先进的技术和应用让我对未来的机器人发展充满了期待,并激发了我进一步深入学习和研究的动力。

第四,这门课程培养了我解决问题和团队合作的能力。在实践操作中,我们常常会遇到各种各样的问题,有时候甚至会出现无法预料的情况。这要求我们要具备快速解决问题的能力和良好的团队合作精神。在课程中,老师和同学们共同协作,互相帮助,共同解决了许多实践过程中的困难。通过与他人的合作,我不仅学会了如何与团队进行有效的沟通与协作,也提高了自己独立解决问题的能力。

最后,这门课程不仅是学习,更是一次探索与激发创造力的过程。在课程中,我有机会自主设计并改进机器人的各个环节,如执行器、传感器、控制系统等。通过自己的动手实践,我能够真正感受到机器人的创造和设计的乐趣。这种创造性的体验进一步激发了我对工业机器人领域的兴趣和热情。

通过参加这门工业机器人课程,我不仅深化了对工业机器人的理论知识的认识,也提升了自己的实践操作能力和问题解决能力。我了解到了机器人技术的前沿领域和应用,而且课程也培养了我与他人合作和创新的能力。这门课程让我受益匪浅,也让我更加坚定了在工业机器人领域深入学习和研究的决心。我相信,通过不断的努力和学习,我一定能够在这个领域取得更大的成就。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值