复合型机器人

当前位置:前位置:首页 > 复合型机器人
全部 1899

【干货】ABB机器人编程技巧创建有规律的机器人旋转Robtarget

时间:2024-01-11   访问量:0

1)如果有上图所示的六个产品仓位需要吸纳,如何最快速的创建仓位?(纯教学?幼稚,太手动了。)

2)如下图所示,我们可以发现1号位置与0号位置相同,1号位置是距离0号位置的半径偏移,2-6号位置也是距离0号位置的半径偏移,2-6号位置都是朝向圆心。由于图中有六个,即从2号开始,每个点的姿态相对于1号旋转60度。

3)是否只要教了0点的位置,半径已知(如果未知,自己测)就可以不用教自动算出其他六个点的位置?答案当然是肯定的!!!

4)因为涉及到坐标系偏差和旋转,所以要准备好刀具和工件坐标系。

5)创建一个刀具gripper_dual,假设Z方向为100,刀具的Z方向为刀具延伸方向。

6)如下图创建一个坐标系,圆心在中间,从0到1的方向是如图所示的X和Y。下图工件坐标系Z向下(满足右手定则)。这个创作主要是为了计算方便。

7)在工件2坐标系中和夹爪_双重刀具下,示教中间产品位置Target_center。此时,刀具的z必须垂直于产品平面,即刀具的z朝下。(其实只要用这个点的姿态和z,这个点的xy为0,因为这个点在workobject2坐标系中是在原点,也就是xy为0。)

8)设置圆心到第一个产品的距离(即半径),例如21.45 mm。

9)我们假设第一个位置叫做Target1,它在workobject2坐标系中。

Target 1:= Target _ center;!先让Target1的位置和姿态等于Target_center。

target 1 . trans . x:= radius * cos(60 * 0);!重新计算位置的x

target 1 . trans . y:= radius * sin(60 * 0);!重新计算位置的y轴

Target1:=RelTool(Target1,0,0,0 rz:= 0 * 60);!获得计算的位置x和y后,tcp围绕工具的z旋转60°。

10)通过上面的例子,获得了目标1的位置,注意它在工件2坐标系中。

11)在测试过程中,可以相对简单地完成六个位置的计算和移动,如下所示

PROC main()

半径:= 21.45;

count 1:= 1;

WHILEcount17 DO

rHome

cal

路线1;

count 1:= count 1+1;

结束时间

结束过程

过程例程1()

MoveJoffs(Target_temp,0,0,-30),v500,z1,gripper _ dualWObj:= work object _ 2;

MoveLTarget_temp,v500,z1,gripper _ dualWObj:= work object _ 2;

等待时间1;

MoveLoffs(Target_temp,0,0,-30),v500,z1,gripper _ dualWObj:= work object _ 2;

结束过程

过程校准()

目标_温度:=目标_中心;

测试计数1

案例1:

target _ temp . trans . x:= radius * cos(60 *(count 1-1));

target _ temp . trans . y:= radius * sin(60 *(count 1-1));

Target _ temp:= rel tool(Target _ temp,0,0,0 rz:=(count 1-1)* 60);

案例二:

target _ temp . trans . x:= radius * cos(60 *(count 1-1));

target _ temp . trans . y:= radius * sin(60 *(count 1-1));

Target _ temp:= rel tool(Target _ temp,0,0,0 rz:= 60);

案例三:

target _ temp . trans . x:= radius * cos(60 *(count 1-1));

target _ temp . trans . y:= radius * sin(60 *(count 1-1));

Target _ temp:= rel tool(Target _ temp,0,0,0 rz:= 120);

案例4:

target _ temp . trans . x:= radius * cos(60 *(count 1-1));

target _ temp . trans . y:= radius * sin(60 *(count 1-1));

Target _ temp:= rel tool(Target _ temp,0,0,0 rz:= 180);

案例5:

target _ temp . trans . x:= radius * cos(60 *(count 1-1));

target _ temp . trans . y:= radius * sin(60 *(count 1-1));

Target _ temp:= rel tool(Target _ temp,0,0,0 rz:=-120);

案例6:

target _ temp . trans . x:= radius * cos(60 *(count 1-1));

target _ temp . trans . y:= radius * sin(60 *(count 1-1));

Target _ temp:= rel tool(Target _ temp,0,0,0 rz:=-60);

结束测试

结束过程

过程主页()

MoveJpHome,v500,z1,gripper _ dualWObj:= wobj 0;

结束过程

1)是什么?码垛?

定期移动机器人抓取并放置。

2)如何简化?码垛程序

设置工件坐标系,刀具,为第一码垛放置教学用点,可以设置xyz方向的间距和数量。

3)如何创造

创建m _托盘模块

创建两个例程

在init程序中,设置xyz方向的数量和每个方向的间距。

在p_main程序中,创建机器人移动到pHome点、pPick位置(抓取位置)和第一个pPlace_ini。

通过三层for循环,继续进行码垛。示例程序首先是X方向,然后是Y方向,然后是Z方向。

其中,偏移量如下:

pPlace:=offs(pPlace_ini,(i-1)*dis_x,(j-1)*dis_y,(k-1)* dis _ z);

横丝机器人编程技巧1: abb机器人Pdisp轨迹迁移使用“[干货] ABB”机器人编程技巧1: abb机器人Pdisp轨迹偏移使用

【干货】ABB机器人编程技巧2:单站多预约程序

【干货】ABB机器人编程技巧3:在robotstudio中创建两个。机器人套接字连接基于

【干货】ABB机器人编程技巧4:双站预订程序

【干货】ABB机器人编程技巧五:处理提取与摄像头Socket通信的数据。

【干货】ABB机器人编程技巧6: abb机器人如何创建数组

【干货】ABB机器人编程技巧7: abb机器人创建自定义数据类型

【干货】ABB机器人编程技巧8: abb机器人数据存储类型差异

【干货】ABB机器人编程技巧9:创建带参数的例程

【干货】ABB机器人编程技巧10: abb机器人建立码垛程序

【干货】ABB机器人编程技巧12:12:Fine和z0的区别

上一篇:打破人工智能让吃瓜群众无瓜可吃

下一篇:腾讯发布首个全自研四足机器人“机器狗Max”

返回顶部