FRAME_TRANS2 -- 正逆解坐标转换

类型

机械手计算指令

描述

坐标转换函数。

使用时必须base正确的轴号。逆解时,base虚拟轴;正解时,base关节轴。

按照正确的顺序填入相应个数的数据。填入的个数与数据,与?*frame一致。

语法

FRAME_TRANS2(tableintableout, dir)

tableintable数组中的索引号,从这个索引开始连续存储数据,正解时输入关节坐标,逆解时输入虚拟轴坐标列表,最后附加姿态

tableouttable这个索引开始存储数据,正解时输出虚拟坐标,最后附加姿态,逆解时输出关节坐标列表

dir:模式选择

模式

类型

描述

0

逆解

虚拟轴到关节轴,无姿态,自动使用当前的姿态

1

正解

关节轴到虚拟轴,无姿态输出

2

逆解

输入虚拟轴坐标,最后加上姿态

3

正解

输出虚拟轴坐标,输出最后一个位置填姿态

适用控制器

通用

例子

scara结构为例,第一关节轴L1=10,第二关节轴L2=10table(100)作为输入坐标的存放位置,table(200)作为输出坐标的存放位置。

建立连接后,关节轴原点坐标(0,0),此时虚拟轴坐标为(20,0),如下图。

虚拟轴坐标 (10,10) 时,有两种姿态

关节轴 (0,90) 和关节轴 (90,-90)

坐标转换表

状态

BASE

输入XY、姿态

使用指令模式

输出关节坐标

逆解

虚拟轴

table(100,20,0,0)

frame_trans2(100,200,0)

table(200,0,0)

table(100,10,10,1)

table(200,0,90)

table(100,10,10,1)

frame_trans2(100,200,2)

table(200,90,-90)

输入关节坐标

使用指令模式

输出XY、姿态

table(100,0,0)

frame_trans2(100,200,1)

table(200,20,0,0)

table(100,0,90)

table(200,10,10,0)

table(100,90,-90)

table(200,10,10,0)

table(100,90,-90)

frame_trans2(100,200,3)

table(200,10,10,1)