Skip to content

坐标系指令集

工具坐标系

本命令集用于配置机械臂的工具坐标系,包含计算工具坐标系、输入工具坐标系、切换当前工具坐标系、删除工具坐标系、修改工具坐标系、设置等。

自动计算工具坐标系(标定参考点)set_auto_tool_frame

将当前机械臂的末端点设置为计算工具坐标系的参考点,参考点基于六点法的要求进行设置。

注意

机械臂只能存储 10 个工具坐标系,若超过 10 个,则新建立工具不成功

  • 输入参数
参数类型说明
set_auto_tool_framestring自动计算工具坐标系。
point_numint1~6 为标定参考点。
  • 输出参数
参数类型说明
auto_tool_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

备注

机械臂上电初始化后,默认无负载。以下指令需逐行运行

实现:自动计算工具坐标系,标定当前位置为参考点 6。

json
{"command":"set_auto_tool_frame","point_num":1}
json
{"command":"set_auto_tool_frame","point_num":2}
json
{"command":"set_auto_tool_frame","point_num":3}
json
{"command":"set_auto_tool_frame","point_num":4}
json
{"command":"set_auto_tool_frame","point_num":5}
json
{"command":"set_auto_tool_frame","point_num":6}

输出

json
{
    "command": "set_auto_tool_frame",
    "auto_tool_frame": true
}

自动计算工具坐标系(自动计算生成工具)generate_auto_tool_frame

通过自动计算工具坐标系(标定参考点)成功标定 6 个参考点之后,运行此指令配置工具坐标系。

说明

自动计算工具坐标系(六点法):机械臂只能存储 10 个工具坐标系,若超过 10 个,则新建立工具不成功。

  • 输入参数
参数类型说明
generate_auto_tool_framestring自动计算工具坐标系。
tool_namestring工具坐标系名称,不能超过 10 个字符。
payloadint单位:g,最高不超过 5000g
positionint质心位置,单位:mm,精度 0.001mm
  • 输出参数
参数类型说明
auto_tool_framebooltrue:设置成功;false:设置失败。
  • 代码示例输入

备注

机械臂上电初始化后,默认无负载

实现:自动计算工具坐标系,名称为 tool2_frame,末端负载 5000g,质心位置:x-1mm,y-2mm,z-3mm。

json
{"command":"generate_auto_tool_frame","tool_name":"tool_frame","payload":5000,"position":[1000,2000,3000]}

输出

json
{
    "command": "generate_auto_tool_frame",
    "auto_tool_frame": true
}

手动输入工具坐标系set_manual_tool_frame

提示

手动输入工具坐标系:机械臂只能存储 10 个工具坐标系,若超过 10 个,则新建立工具不成功

  • 输入参数
参数类型说明
set_manual_tool_frameint手动输入工具坐标系。
tool_nameint工具坐标系名称,不能超过 10 个字符。
tool_poseint工具坐标系位姿,位置精度:0.001mm,姿态精度:0.001rad。
payloadint单位:g,最高不超过 5000g。
positionint质心位置,单位:mm,精度 0.001mm。
  • 输出参数
参数类型说明
manual_tool_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

备注

机械臂上电初始化后,默认无负载。

实现:手动输入工具坐标系,配置参数如下:

名称:tool_frame;
工具位置:x:0.1m,y:0.2m,z:0.03m;
工具姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad;
末端负载:5000g;
position:质心位置,x-1mm,y-2mm,z-3mm。

json
{"command":"set_manual_tool_frame","tool_name":"tool_frame","tool_pose":[100000,200000,30000,400,500,600],"payload":5000,"position":[1000,2000,3000]}

输出

json
{
    "command": "set_manual_tool_frame",
    "manual_tool_frame": true
}

切换当前工具坐标系set_change_tool_frame

  • 输入参数
参数类型说明
set_change_tool_framestring切换当前工具坐标系。
tool_namestring工具坐标系名称,不能超过 10 个字符。
  • 输出参数
参数类型说明
change_tool_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

实现:切换当前工具坐标系,名称 tool2_frame。

json
{ "command": "set_change_tool_frame", "tool_name": "tool2_frame" }

输出

json
{
    "command": "set_change_tool_frame",
    "change_tool_frame": true
}

删除工具坐标系set_delete_tool_frame

  • 输入参数
参数类型说明
set_delete_tool_framestring删除工具坐标系。
tool_namestring工具坐标系名称,不能超过 10 个字符。
  • 输出参数
参数类型说明
delete_tool_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

实现:删除工具坐标系,名称 tool2_frame。

json
{ "command": "set_delete_tool_frame", "tool_name": "tool2_frame" }

输出

json
{
    "command": "set_delete_tool_frame",
    "delete_tool_frame": true
}

修改工具坐标系update_tool_frame

修改工具坐标系。

  • 输入参数
参数类型说明
update_tool_framestring修改工具坐标系参数。
tool_namestring工具坐标系名称,不能超过 10 个字符。
tool_poseint工具相对机械臂末端法兰中心位姿
  • 输出参数
参数类型说明
update_statebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

实现:指定要修改的工具坐标系,配置参数如下:

名称:tool_frame;
工具位置:x:0.1m,y:0.2m,z:0.03m;
位置精度:0.001mm;
工具姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad;
姿态精度:0.001rad;
末端负载5000g;
质心位置:x-1mm,y-2mm,z-3mm;
payload:单位:g,最高不超过5000g;
position:质心位置,单位:mm,精度0.001mm。

json
{"command":"update_tool_frame","tool_name":"tool_frame","tool_pose":[100000,200000,30000,400,500,600],"payload":5000,"position":[1000,2000,3000]}

输出

json
{
    "command": "update_tool_frame",
    "update_state": true
}

查询当前工具坐标系get_current_tool_frame

  • 输入参数
参数类型说明
get_current_tool_framestring查询当前工具坐标系。
  • 输出参数
参数类型说明
current_tool_framestring返回当前工具信息。
  • 代码示例

输入

实现:查询当前工具坐标系。

json
{ "command": "get_current_tool_frame" }

输出

返回当前工具坐标系信息,如下:

工具名称:tool2_frame;
工具位置:x:0.1m,y:0.2m,z:0.03m;
位置精度:0.001mm;
工具姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad;
姿态精度:0.001rad;
重量:payload:5kg精度0.001kg;
质心:position:1mm精度0.001mm。

json
{
    "state": "current_tool_frame",
    "tool_name": "tool2_frame",
    "pose": [
        100000,
        200000,
        30000,
        400,
        500,
        600
    ],
    "payload": 5000,
    "position": [
        1000,
        2000,
        3000
    ]
}

查询已有所有工具名称get_total_tool_frame

  • 输入参数
参数类型说明
get_total_tool_framestring查询已有所有工具名称。
  • 输出参数
参数类型说明
total_tool_framestring返回所有工具名称。
  • 代码示例

输入

实现:查询已有所有工具名称。

json
{ "command": "get_total_tool_frame" }

输出

返回所有工具名称,共 10 个。工具名称:base_tool1,base_tool2,其中“NULL”为空坐标系,未建立。

json
{
  "state":"total_tool_frame",
  "tool_names":["base_tool1","base_tool2"….,"NULL"]
}

查询指定工具坐标系get_tool_frame

  • 输入参数
参数类型说明
get_tool_framestring查询指定工具信息。
tool_namestring工具名称。
  • 输出参数
参数类型说明
given_tool_framesting返回指定工具信息。
  • 代码示例

输入

实现:查询指定工具信息。

json
{ "command": "get_tool_frame", "tool_name": "tool" }

输出

返回指定工具信息,如下:

工具名称:tool2_frame,
工具位置:x:0.1m,y:0.2m,z:0.03m,位置精度:0.001mm
工具姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad,姿态精度:0.001rad
重量:payload:5kg精度0.001kg
质心:position:1mm精度0.001mm。

成功

json
{
    "state": "given_tool_frame",
    "tool_name": "tool2_frame",
    "pose": [
        100000,
        200000,
        30000,
        400,
        500,
        600
    ],
    "payload": 5000,
    "position": [
        1000,
        2000,
        3000
    ]
}

失败:

json
{
    "command": "get_tool_frame",
    "get_state": false
}

工作坐标系

本命令集用于配置机械臂的工作坐标系,包含手动设置工作坐标系、输入工作坐标系、切换当前工作坐标系、删除工作坐标系、修改工作坐标系等。

自动设置工作坐标系set_auto_work_frame

提示

机械臂只能存储 10 个工作坐标系,若超过 10 个,则新建立坐标系不成功

  • 输入参数
参数类型说明
set_auto_work_framestring自动设置工作坐标系。
frame_namestring工作坐标系名称,不能超过 10 个字符
point_numint参考点 1~3 代表工作坐标系原点、X 轴上一点和 Y 轴上一点,4 代表根据前三个标定点计算工作坐标系
  • 输出参数
参数类型说明
auto_work_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

实现:设置工作坐标系,名称 work2_frame,将当前位置标定为参考点 3(Y 轴上一点)。

json
{"command":"set_auto_work_frame","frame_name":"work_frame","point_num":3}

输出

json
{
    "command": "set_auto_work_frame",
    "auto_work_frame": true
}

手动输入工作坐标系set_manual_work_frame

提示

机械臂只能存储 10 个工作坐标系,若超过 10 个,则新建立坐标系不成功

  • 输入参数
参数类型说明
set_manual_work_framestring手动输入工作坐标系。
frame_namestring工作坐标系名称,不能超过 10 个字符。
frame_poseint工作坐标系位姿,位置精度:0.001mm,姿态精度:0.001rad。
  • 输出参数
参数类型说明
manual_work_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

实现:手动输入工作坐标系,配置参数如下:

名称:work_frame;
坐标系位置:x:0.1m,y:0.2m,z:0.03m;
坐标系姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad;

json
{"command":"set_manual_work_frame","frame_name":"work_frame","frame_pose":[100000,200000,30000,400,500,600]}

输出

json
{
    "command": "set_manual_work_frame",
    "manual_work_frame": true
}

切换当前工作坐标系set_change_work_frame

  • 输入参数
参数类型说明
set_change_work_framestring切换当前工作坐标系。
frame_namestring工作坐标系名称,不能超过 10 个字符
  • 输出参数
参数类型说明
change_work_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

切换当前工作坐标系,名称 work2_frame。

json
{"command":"set_change_work_frame","frame_name":"work2_frame"}

输出

json
{
    "command": "set_change_work_frame",
    "change_work_frame": true
}

删除工作坐标系set_delete_work_frame

  • 输入参数
参数类型说明
set_delete_work_framestring删除工作坐标系。
frame_namestring工作坐标系名称,不能超过 10 个字符
  • 输出参数
参数类型说明
delete_work_framebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

删除工作坐标系,名称 work2_frame。

json
{"command":"set_delete_work_frame","frame_name":"work2_frame"}

输出

json
{
    "command": "set_delete_work_frame",
    "delete_work_frame": true
}

修改工作坐标系update_work_frame

  • 输入参数
参数类型说明
update_work_framestring修改工作坐标系。
frame_namestring工作坐标系名称,不能超过 10 个字符
frame_posestring工作位置
  • 输出参数
参数类型说明
update_statebooltrue:设置成功;false:设置失败。
  • 代码示例

输入

实现:修改指定工作坐标系,配置参数如下:

名称:work_frame;
坐标系位置:x:0.1m,y:0.2m,z:0.03m;
位置精度:0.001mm;
坐标系姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad;
姿态精度:0.001rad。

json
{"command":"update_work_frame","frame_name":"work_frame","frame_pose":[100000,200000,30000,400,500,600]}

输出

json
{
    "command": "update_work_frame",
    "update_state": true
}

查询当前工作坐标系get_current_work_frame

  • 输入参数
参数类型说明
get_current_work_framestring查询当前工作坐标系。
  • 输出参数
参数类型说明
current_work_framestring返回当前工作坐标系信息。
  • 代码示例

输入

实现:查询当前工作坐标系。

json
{ "command": "get_current_work_frame" }

输出

返回当前工作坐标系信息,如下:

坐标系名称:work2_frame,
坐标系位置:x:0.1m,y:0.2m,z:0.03m,位置精度:0.001mm;
坐标系姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad,姿态精度:0.001rad。

json
{
    "state": "current_work_frame",
    "frame_name": "work2_frame",
    "pose": [
        100000,
        200000,
        30000,
        400,
        500,
        600
    ]
}

查询已有所有工作坐标系名称get_total_work_frame

  • 输入参数
参数类型说明
get_total_work_framestring查询已有所有工作坐标系名称。
  • 输出参数
参数类型说明
total_work_framestring返回所有工作坐标系名称。
  • 代码示例

输入

实现:查询已有所有工作坐标系名称。

json
{ "command": "get_total_work_frame" }

输出

返回所有工作坐标系名称,坐标系名称:work1,work2,…。

json
{
  "state":"total_work_frame",
  "frame_names":["work1","work2","NULL"]
}

查询指定工作坐标系get_work_frame

  • 输入参数
参数类型说明
get_work_framestring查询指定工作坐标系。
frame_namestring坐标系名称
  • 输出参数
参数类型说明
given_work_framestring返回指定坐标系信息。
  • 代码示例

输入

实现:查询指定工作坐标系。

json
{ "command": "get_work_frame", "frame_name": "work1" }

输出

返回指定坐标系信息,如下:

坐标系名称:work2_frame,
坐标系位置:x:0.1m,y:0.2m,z:0.03m,位置精度:0.001mm
坐标系姿态:rx:0.4rad,ry:0.5rad,rz:0.6rad,姿态精度:0.001rad。

成功:

json
{
    "state": "given_work_frame",
    "frame_name": "work2_frame",
    "pose": [
        100000,
        200000,
        30000,
        400,
        500,
        600
    ]
}

失败:

json
{
    "command": "get_work_frame",
    "get_state": false
}