1.robtarget数据用法
2.robtarget数据结构
< dataobject of robtarget >
< trans of pos > ! 表示工具中心点的位置(x、y和z),单位mm
< x of num >
< y of num >
< z of num >
< rot of orient > ! 表示工具中心点的姿态(四元数)
< q1 of num >
< q2 of num >
< q3 of num >
< q4 of num >
< robconf of confdata > !机械臂的轴配置
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >
< extax of extjoint > !附加轴的位置
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num
(1)四元数
以四元数的形式来描述姿态,该四元数包括四个组成部分:q1、q2、q3和q4。
计算方法:
旋转后的坐标系轴(x,y,z)为矢量,其可以用参考坐标系表示如下:
x = (x1, x2, x3)
y = (y1, y2, y3)
z = (z1, z2, z3)
这意味着参考坐标系中x矢量的x轴向分量将为x1,y轴向分量将为x2,以此类推。
这三个矢量可在一个矩阵(旋转矩阵)中组合,各矢量由此构成一栏:
四元数仅仅是一种描述此旋转矩阵的更为简洁的方式;根据旋转矩阵的各元素,计算四元数:
示例:
各轴将相关,如下:
x’ = -z = (0, 0, -1)
y’ = y = (0, 1, 0)
z’ = x = (1, 0, 0)
旋转矩阵:
四元数:
(2)轴配置
(3)附加轴
定义附加轴、定位器或工件机械臂的轴位置。
extjoint型数据用于保存各逻辑轴(a - f)的位置值。
对于与物理轴相连的各逻辑轴,其位置定义如下:
对于旋转轴,其位置定义为从校准位置起旋转的度数。
对于线性轴,其位置定义为与校准位置的距离(以mm计)。
如果逻辑轴未与物理轴相连,则将值9E9作为位置值,以此表明该轴未予以连接。
执行期间,检查各轴的位置数据以及是否连接相关轴。
如果储存的位置值不符合实际的轴连接,则以下内容适用:
如果未在位置数据(值为9E9)中定义位置,则当连接且未激活该轴时,将忽略该值。但是如果激活该轴,则将会产生错误。
如果在位置数据中定义该位置,则将忽略该值,即便未连接该轴。
如果未激活轴,则不会进行任何运动,且不会产生有关轴(含正确位置数据)的错误。
如果使用附加轴偏移量(指令EOffsOn或EOffsSet),则在ExtOffs坐标系中指定出位置。
如果一个附加轴以独立模式运行,且应由机械臂及其附加轴进行新的运动,则采用独立模式的附加轴的位置数据不得为9E9。数据必须为系统未使用的任意值。
3.robtarget使用场景
CONST robtarget p10 := [ [600, 500, 225.3], [1, 0, 0, 0], [1, 1, 0, 0], [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ];
MoveJ p10, v2000, fine \Inpos := inpos50, grip3;