KRL 的几何操作运算和逆运算

目录 Content
[hide]

在 KRL 语言中,需要对坐标系进行转换,就会用到几何操作符和逆运算函数。

KUKA_FRAME

一、几何操作符 “ : ”

运算操作符“:”叫做“几何操作符” (Geometric operator),可以对两个矢量进行计算,实质上就是对坐标系进行平移和欧拉变换。

如下图,箭头表示箭头终点所指的坐标系相对于箭头起始点所指的坐标系的变换,也即描述的谁相对于谁的关系。

krl_vector_translation_inverse (1)用表达式表示就是

F3 = F1:F2

二、逆运算函数 INV_POS()

KRL 还有一个函数 INV_POS() ,可以求某个位置的逆运算,也即坐标系的逆运算。例如 FRAME A 是相对于 FRAME B, 那么 INV_POS(A) 即是 FRAME B 相对于 FRAME A。

如下图所示

krl_vector_translation_inverse (2)三、应用举例

1. 在表达式 F3 = F1:F2 中,已知 F1 和 F3,求 F2

可由下图发现之间的关系

krl_vector_translation_inverse (3)

F2 = INV_POS(F1):F3

 

2. 已知TCP当前的坐标,求出法兰盘中心相对于WORLD坐标系的数值

可以发现有如下关系

krl_vector_translation_inverse (4)

$BASE:$POS_ACT = ?:$TOOL

krl_vector_translation_inverse (5)根据前面的介绍,即可以写出表达式

? = $BASE:$POS_ACT:INV_POS($TOOL)

3. 计算不同坐标系和工具下的坐标

如果知道一个点位P1,对应工具 T1和坐标系B1,那么如何计算P1在对应工具T2和坐标系B2种的位置P2?

对应关系如下图

即可写出表达式

P2 = INV_POS(B2) : B1 : P1 : INV_POS(T1) : T2

4. 判断两个E6POS数据在空间是同一个点

{X 0, Y 0, Z 0, A 100, B 110, C 120} 和 { {X 0, Y 0, Z 0, A -80, B 70, C -60} 是相同工具和坐标系中的两个数据,如何判断两个数据是是否同一点?这个答案留给看官了。

<MORE TODO>

四、其他

1.  OrangeEdit 计算工具

使用OrangeEdit计算工具可脱离KRL运行环境进行计算

1). “ : ” 运算

2016-02-19 15-04-49

2). INV_POS() 运算

2016-02-19 15-05-08

Leave a Reply

Your email address will not be published. Required fields are marked *