侵权投诉
焊接机器人 喷涂机器人 搬运机器人 装配机器人 切割机器人 其它机器人
订阅
纠错
加入自媒体

ABB机器人数据类型的秘密4

2020-09-30 11:22
机器人说
关注

先来回答之前遗留的几个问题吧。

问题1:为什么在【程序数据】页面里对P10进行了【修改位置】操作,执行指令语句时机器人却无法运动到示教的目标位置呢?

ABB机器人数据类型的秘密4


大家都知道,当手动操纵页面当前所选择的工具坐标系、工件坐标系与程序编辑器页面中运动指令语句中所指定的工具坐标系、工件坐标系不完全相同时,是无法在程序编辑器页面对运动指令的目标点位进行【修改位置】操作的,否则系统会提示下图所示的的错误。


ABB机器人数据类型的秘密4


但是当你在程序数据页面中对位置数据进行【修改位置】操作时则没有这样的限制,因为程序数据页面中没有指定该位置数据的参考坐标系。当你在程序数据页面中对位置数据进行【修改位置】操作时,实际上是告诉机器人控制系统,重新计算手动操作页面所选择的工具的TCP在所选择的参考工件坐标系下的组件值,并将结果存入位置数据中。计算坐标值、工具姿态时所使用的参考坐标系,与运动指令语句中指定的参考坐标系不一致,往往会导致机器人运动到非你所期望的空间位置上去。


问题2:位置数据P10是以坐标值的形式来描述目标位置的,那它是以什么坐标系为参考坐标系的呢?


ABB机器人数据类型的秘密4

在第3篇文章中,我们已经了解到robotarget数据类型由:trans、rot、robconf、extax四个组件构成的,它们分别存储的是笛卡尔空间坐标值、工具姿态、轴配置、外轴位置,并没有哪一个组件记录了参考坐标系。所以本题的正确答案是:robotarget型数据P10,其本身并不指定参考坐标系,当对它进行【修改位置】操作时,以手动操作页面所选择的工具坐标系和工件坐标系为参考坐标系,当它被放在运动指令语句中作为运动指令的目标点位时,以运动指令所指定工具坐标系工件坐标系为参考坐标系。当运动指令语句中没有显式指定工件坐标系时,是默认以wobj0为编程工件坐标系,如果需要指定其它工件坐标系为指令语句的编程坐标系,则需启用运动指令的[\wobjdata]可选变元。


wobj0的数据类型是wobjdata(工件数据),它由robhold、ufprog、ufmec、uframe、oframe共5个组件构成,其各个组件的作用如下:

(1)robhold组件  表明机器人工作时工件是否是被机器人末端所夹持,true值表示机器人夹持工件,false值表示机器人夹持工具。

(2)ufprog组件  表明该工件坐标系是否会随着其它联动机械单元而移动,true值表示该工件坐标系将不会伴随其它机械单元联动,false值表示该工件坐标系将会伴随其它机械单元联动。

(3)ufmec组件  当ufprog组件值为true时,该组件值不起作用;当ufprog组件值为falses时,该组件值指明工件坐标系将伴随联动的机械单元的名称。

(4)uframe组件  ABB机器人的工件坐标系其实是由用户坐标系和目标坐标系耦合之后的结果,uframe组件记录了用户坐标与wobjo坐标系的相对位置关系。使用目标方法定义工件坐标系时,该组件的值将会被重新计算。


ABB机器人数据类型的秘密4


(5)oframe组件 ABB机器人的工件坐标系其实是由用户坐标系和目标坐标系耦合之后的结果,uframe组件记录了目标坐标系与用户坐标系的相对位置关系。使用目标方法定义工件坐标系时,该组件的值将会被重新计算。


ABB机器人数据类型的秘密4


问题3:指令语句中的tool0起到什么作用呢?



ABB机器人数据类型的秘密4


在指令语句中tool0,一方面是提供了目标点位的工具参考坐标系,让运动指令语句中位置数据的参考坐标系明确;另一方面是向机器人控制系统提供了工具的重量、重心、惯性矩等物理属性,让机器人控制系统能够精确的计算机器人伺服电机的工作电流和需要输出的力矩。


我们假设运动指令语句中的P10的声明语句如下所示,并以此来说明tooldata在运动指令语句中的作用。


ABB机器人数据类型的秘密4


运动指令语句中的tool0,表明P10声明语句中的笛卡尔坐标值[500,0,800]描述的是执行完成该运动指令时,工具tool0的tcp在参考工件坐标系下的空间坐标值;也表明P10声明语句中四元数[1,0,0,0]描述的是完成运动指令时tool0工具坐标系的轴方位。四元素用于描述坐标系的姿态,不易直观感受到一组四元数值表达了怎样的姿态,可以通过RAPID编程语言所提供的EulerZYX函数将四元数转变为欧拉角旋转角度,在示教器手动操纵页面也可以选择以何种方式来显示工具坐标系的姿态。



ABB机器人数据类型的秘密4



tool0的数据类型是tooldata(工具数据),它由robhold、tframe、tload共3个组件构成,其各个组件的作用如下:

(1)robhold组件  表明机器人工作时工具是否被机器人末端所夹持,ture值表示机器人夹持工具,false值表示机器人不夹持工具。

(2)tframe组件  记录该工具的工件坐标系属性,表明了该工具坐标系与tool0的相对位置关系。

(3)tload组件   记录该工具的重量、重心位置,力矩惯性矩轴方位以及围绕力矩惯性轴的惯性矩。

最后,记得关注微信公众号:OFweek机器人,更多干货在等你!

1.限时下载 | 工业机器人四大家族(ABB、库卡、安川)全套资料!

2.限时下载 | 松下机器人(教育、培训、保养...)全套资料!

3.限时下载 | 机器人培训全套资料!(300个PPT+400个视频教程)

4.限时下载 | 11个品牌机器人维修保养大全(ABB、库卡、安川...)

5.限时下载 | 200套最全机器人设计资料,免费领取!


声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号