Skip to main content

wobjdata

说明

WorkObject data, 描述工件数据,用于计算工件坐标系。工件坐标系由3个坐标系复合而成:

  1. wobjdata所属的机器人任务坐标系
  2. 用户坐标系uframe,有2种可能:一种是由本数据所定义,另一种是由其他机械单元所定义。并且,本数据所定义的uframe的参照坐标系有2种,依赖于robhold.
  3. 物体坐标系oframe

工件坐标系的计算过程如下:

if ufprog == true:
if robhold == false:
使用uframe字段相对于任务坐标系计算用户坐标系
else:
使用uframe字段相对于机器人手腕计算用户坐标系
else:
根据ufmec获取用户坐标系

使用oframe相对于用户坐标系计算工件坐标系

wobjdata可以在基本功能区创建。

数据项

robhold

  • 类型:bool
  • 说明:用于定义工件是否由机器人持有。robhold为false时,uframe相对于任务坐标系定义。robhold为true时, uframe相对于机器人手腕坐标系定义。

当配合使用的tooldata的robhold为false的时候,需要将wobjdata的robhold字段设置为true.

如果ufprog字段为false, 则robhold字段被忽略。

ufprog

  • 类型:bool
  • 说明:用于定义工件安装形式。

若为true, 表示工件是固定的,或者由本机器人持有,用户坐标系由uframe数据项定义。

若为false, 表示工件安装在移动装置上,工件的用户坐标系的数据来自于数据项ufmec所指定的机械单元。ufmec指定的机械装置需要由本机器人的控制器控制,作为外轴,或者是本控制器控制的另一个机械臂。uframe字段会被忽略。

ufmec

  • 类型:string
  • 说明:定义工装移动所使用的机械单元名称。仅当ufprog为false时本数据项有效。

uframe

  • 类型:pose
  • 说明:定义用户坐标系。仅当ufprog为true时,本数据项有效。

如果robhold为false, 则用户坐标系的定义相对于机器人的任务坐标系。如果robhold为true, 则用户坐标系的定义相对于机器人的手腕坐标系,即tool0.

oframe

  • 类型:pose
  • 说明:定义物体坐标系。物体坐标系相对于用户坐标系定义。

例子

tooldata和wobjdata需要配合来定义。有以下3种常见的配合情况。

工具装在机械臂上,工件固定

这是最常见的情况。数据的各个组件如下定义。

  • tooldata.robhold: true
  • tooldata.tframe: 相对于tool0定义
  • wobjdata.robhold: false
  • wobjdata.ufprog: true
  • wobjdata.ufmec: 无须定义
  • wobjdata.uframe: 相对于task frame定义
  • wobjdata.oframe: 相对于uframe定义的

运动公式:uframe * oframe * robtarget = robot base frame * tool0 * tframe

工具固定,工件在运行程序的机械臂上

数据的各个组件如下定义。

  • tooldata.robhold: false
  • tooldata.tframe: 相对于task frame定义
  • wobjdata.robhold: true
  • wobjdata.ufprog: true
  • wobjdata.ufmec: 无须定义
  • wobjdata.uframe: 相对于tool0定义
  • wobjdata.oframe: 相对于uframe定义

运动公式:robot base frame * tool0 * oframe * robtarget = tframe

工具装在机械臂上,工件由外轴控制运动

数据的各个组件如下定义。

  • tooldata.robhold: true
  • tooldata.tframe: 相对于wrist定义
  • wobjdata.robhold: false
  • wobjdata.ufprog: false
  • wobjdata.ufmec: 持有工件的外轴机械装置
  • wobjdata.uframe: 无须定义
  • wobjdata.oframe: 相对于用户坐标系定义

运动公式:ufmec's frame * oframe * robtarget = robot base frame * tool0 * tframe