大家在创建机器人的坐标时,可能没有关注坐标数据包函的各个参数。其实在坐标参数里有个参数是标明当前工具坐标是固定还是活动的。即:
PERS tooldata tool0 := [TRUE, [[0, 0, 0], [1, 0, 0, 0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]];
PERS wobjdata wobj0 := [FALSE, TRUE, "", [[0, 0, 0],[1, 0, 0, 0]],[[0, 0, 0],[1, 0, 0, 0]]];
手册的说明是这样的:
Robhold 表明当前工具坐标是活动还是固定的。
robot hold
数据类型:bool
定义机械臂是否夹持工具:
TRUE:机械臂正夹持着工具。
FALSE:机械臂未夹持工具,即为固定工具。
Robhold 表明当前工件坐标是活动还是固定的。
robot hold
数据类型:bool
规定实际程序任务中的机械臂是否正夹持着工件:
TRUE:机械臂正夹持着工件,即使用一个固定工具。
FALSE:机械臂未夹持着工件,即机械臂正夹持着工具。
Ufprog 表明当前坐标是否支持被其他机械装置驱动。即可否协同运动。
user frame programmed
数据类型:bool
规定是否使用固定的用户坐标系:
TRUE:固定的用户坐标系。
FALSE:可移动的用户坐标系,即使用协调外轴。同时以半协调或同步协调模式用于MultiMove系统。
Ufmec 表明用哪个机械单元来驱动当前工件坐标。即把机械单元的名称写在此处。
user frame mechanical unit
数据类型:string
用于协调机械臂移动的机械单元。仅在可移动的用户坐标系中进行规定(ufprog为FALSE)。
规定系统参数中所定义的机械单元名称,例如,orbit_a。
从手册中可以看出,当工具坐标中Robhold为TRUE时,表明当前机器人正夹持工具,即是活动的工具。机器人的运动中,两个坐标只能是一个固定一个活动,那么,对应的工件坐标只能是固定的了。所以,重点来了,我们要创建固定的工具坐标,那么必需要有一个活动的工件坐标。具体操作步骤如下:
第一步,创建两个坐标,一个是固定的工具坐标(即参数Robhold为FALSE),一个是活动的工件坐标(即参数Robhold为TRUE)。
建一个工具坐标,Robhold为FALSE。注意修改Mass值为正数。如下图:
会出现如下报错。先不确认,这是因为没有活动的工件坐标。
创建一个工件坐标,Robhold为TRUE。如下图:
第二步,选择一个已知工具数据的工具坐标下,定义固定工具坐标的原点和方向。跟平时定义工具坐标方法一样。只不过此时工具坐标已是固定在选定的工具面或指定的工具点上。
上图的X,Y,Z即是当前工具坐标在基坐标的位置。
第三步,选择当前定的固定的工具坐标,选择对应活动的工件坐标。机器人设为重定位运动,体验机器人无论在哪个位置,都会沿所定工具坐标做重定运动的效果。快来试一下吧!
关注智通教育官微“玩转工业机器人”公众号了解更多。
智通培训是东莞市专业的工业机器人培训机构,平时会不定期的在网站发布一些工业机器人课程相关的知识点,有兴趣的同学欢迎大家关注本网站!