报名人数298782
资讯中心 > 课程相关资讯 > 机器人培训 > 机器人培训 > 跟着智通培训黄老师一起探索ABB机器人数据类型的秘密!

跟着智通培训黄老师一起探索ABB机器人数据类型的秘密!

时间:2020-12-02 16:23 来源:

   智通机器人培训黄老师最近收到一条留言,说ABB机器人数据类型就好像“一条运动指令引发的血案”,因为完全没想到一条简单的运动指令背后居然隐藏着这么多值得思考的问题,“剧情”扑簌迷离、跌宕起伏。既然如此,那我们就跟着黄老师回到案发现场,探索蛛丝马迹吧!



首先我们先来解答以下问题:

(**)对于下图中机器人所示姿态,cfx的值应该是多少?



这个问题需要结合关于cfx值的说明的表格来回答。


在上图中,机器人的腕中心,相对于轴1的轴线,是在前方的位置;腕中心相对于下臂轴线,是在前方的位置;而轴5处于负数角度范围。将机器人腕中心相对位置与表中所述情况对比,可知上图所示机器人姿态,其cfx值应为1


以下给出了cfx为不同值时的机器人姿态示意:






接下来再解答以下问题:

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


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


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


接下来智通培训黄老师再为您解答如下问题:

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



我们知道,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坐标系的相对位置关系。使用目标方法定义工件坐标系时,该组件的值将会被重新计算。



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



最后解答下面的问题:

(6)指令语句中的tool0起到什么作用呢?

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


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


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

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

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

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


 本篇文章就到这里了更多资讯:智通教育(www.xue5156.com)致力于工业机器人培训、PLC培训、电工培训等行业课程,详情联系:0769-8707-8535.