ABB机器人:工件坐标系介绍以及标定操作与使用方法

目录

工件坐标系介绍

机器人工作站创建

工件坐标系标定方法

工件坐标系手动测试

工件坐标系应用

仿真运行


工件坐标系介绍

工件坐标系对应工件:它定义工件相对于大地坐标系(或其它坐标系)的位置。

工件坐标系必须定义于两个框架:用户框架(与大地基座相关)和工件框架(与用户框架相关)。

机器人可以拥有若干工件坐标系,或者表示不同工件,或者表示同一工件在不同位置的若干副本。

对ABB机器人进行编程时就是在工件坐标系中创建目标点和轨迹路径。这会给操作人员带来很多便利,如重新定位工作站中的工件时,只需更改工件坐标系的位置,所有路径将即刻随之更新;允许操作以外部轴或传送导轨移动的工件,因为整个工件可连同其路径一起移动。

机器人工作站创建

在RobotStudio软件中添加一台ABB机器人,再添加工具模型、工作台模型和两个相同的工件模型,并分别将其安装摆放到合适位置,工作站效果如下图所示,最后创建虚拟机器人系统。

工件坐标系标定方法

ABB机器人的工件坐标系对应于系统中的工件数据,在使用之前需要先对其进行标定。

打开虚拟示教器,切换到“手动运行”模式,依次点击“ABB菜单”→“手动操纵”,在手动操纵界面中点击“工件坐标”,进入手动操纵-工件界面。

点击下方的“新建”,在新数据声明界面中设置工件数据的创建参数,这里保持默认,点击“确定”,名称为“wobj1”的工件数据创建完成。

点选新创建的wobj1,然后依次点击“编辑”→“定义…”,进入工件坐标定义界面。在用户方法后点选“3点”,下方出现用户坐标系的三个标定点位。

用户坐标需要标定的三个点为“用户点X1”、“用户点X2”、“用户点Y1”,分别代表用户坐标系的坐标原点、X坐标轴上的点、Y坐标轴上的点。

手动运行机器人TCP到工件的某个角点上,点选“用户点X1”,再点击“修改位置”,后方的状态栏显示“已修改”,第一点标定完成。

参考上述步骤,保持TCP姿态不变,手动平移机器人到标定点2与标定点3的位置处,并分别修改“用户点X2”与“用户点Y1”,标定点位如下图所示。坐标点全部修改完成后,点击“确定”,用户坐标系wobj1标定完成。

按照工件数据wobj1的创建与标定方法,创建工件数据“wobj2”,并在另一个工件上标定用户坐标系,各个标定点位如下图所示。

工件坐标系手动测试

工件坐标系在机器人手动运行时也能起到重要作用,尤其是工件的安装方向与机器人TCP或基座标系方向不一致时,就可以利用与工件方向标定一致的工件坐标系来手动运行机器人,这会为操作人员的示教编程提供更多便利。

在虚拟示教器中依次点击“ABB菜单”→“手动操纵”,在手动操纵界面中点击“坐标系”,进入手动操纵-坐标系界面,选择“工件坐标”,点击“确定”。

再点击“工件坐标”,在手动操纵-工件界面中选择“wobj2”,点击“确定”。

此时,将机器人移动到工件2附近,线性运动机器人,可以发现机器人的TCP能够沿着wobj2的坐标轴方向做直线运动,运动效果如下方动态图所示。

工件坐标系应用

工件坐标系除了在机器人手动运行时能够提供便利外,在机器人示教编程时同样能够提供便利。对于安装在不同位置或不同的安装角度的若干个工件,如果具有相同的加工运行轨迹,那么通常情况下只需要编写一个工件的加工运行轨迹程序,其他工件的加工运行轨迹程序只需要复制粘贴第一个工件的轨迹程序,然后将工件坐标系设定为相应工件的工件坐标系即可。

为机器人示教工件1的加工运行轨迹编程,工件坐标系使用wobj1;然后复制粘贴工件1的加工运行轨迹程序,将工件坐标系修改为wobj2。将程序同步到虚拟工作站,可以看到工件1的加工运行轨迹自动变换为工件2的加工运行轨迹,如下图所示。

全部编写完成的机器人程序如下图所示。

完整的机器人路径轨迹程序代码如下所示。

MODULE Module1
	TASK PERS wobjdata wobj1:=[FALSE,TRUE,"",[[1100,-345,720],[1,5.96046E-7,-3.97364E-7,1.49012E-7]],[[0,0,0],[1,0,0,0]]];
	TASK PERS wobjdata wobj2:=[FALSE,TRUE,"",[[1310.1,83.3974,720],[0.965926,-1.02845E-7,3.83824E-7,0.258819]],[[0,0,0],[1,0,0,0]]];
	CONST robtarget p10:=[[1084.01,0.00,975.85],[0.199804,5.90037E-10,0.979836,6.66317E-10],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
	CONST robtarget p20:=[[0.00,-0.00,0.00],[0.0170078,-2.29503E-7,-0.999855,5.60186E-7],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
	CONST robtarget p30:=[[300.00,-0.00,-0.00],[0.0170079,-9.29498E-8,-0.999855,6.39919E-7],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
	CONST robtarget p40:=[[300.00,200.00,-0.00],[0.0170078,-1.6326E-7,-0.999855,5.81036E-7],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
	CONST robtarget p50:=[[0.00,200.00,-0.00],[0.0170077,-1.40448E-7,-0.999855,6.01611E-7],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
	CONST robtarget p60:=[[-0.00,0.00,0.00],[0.0170078,-1.64772E-7,-0.999855,5.91751E-7],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
    PROC main()
        MoveJ p10, v300, fine, Weldgun\WObj:=wobj0;
        MoveJ p20, v300, fine, Weldgun\WObj:=wobj1;
        MoveL p30, v300, fine, Weldgun\WObj:=wobj1;
        MoveL p40, v300, fine, Weldgun\WObj:=wobj1;
        MoveL p50, v300, fine, Weldgun\WObj:=wobj1;
        MoveL p60, v300, fine, Weldgun\WObj:=wobj1;
        MoveJ p10, v300, fine, Weldgun\WObj:=wobj0;
        MoveJ p10, v300, fine, Weldgun\WObj:=wobj0;
        MoveJ p20, v300, fine, Weldgun\WObj:=wobj2;
        MoveL p30, v300, fine, Weldgun\WObj:=wobj2;
        MoveL p40, v300, fine, Weldgun\WObj:=wobj2;
        MoveL p50, v300, fine, Weldgun\WObj:=wobj2;
        MoveL p60, v300, fine, Weldgun\WObj:=wobj2;
        MoveJ p10, v300, fine, Weldgun\WObj:=wobj0;
    ENDPROC
ENDMODULE

仿真运行

对机器人仿真运行,可以看到机器人在工件1和工件2上走了相同的运行轨迹,仿真运行效果如下方动态图所示。

 The End


上一篇:RobotStudio软件:ABB机器人柔性管线包创建与虚拟仿真

  • 10
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IndRobSim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值