指令说明

101指令——触发 Mech-Vision 工程

功能介绍

用于只有 Mech-Vision 工程,没有 Mech-Viz 的场景。使用该指令触发 Mech-Vision 工程运行,执行相机拍照和视觉识别。

发送指令

Command

Vision_Proj_Num

Req_Pose_Num

Robot_Pose_Type

Robot_Pose_JPS / Robot_Pose_TCP

101

Mech-Vision 工程号

位姿数量

位姿类型

机器人 JPS 或法兰坐标

参数说明

  1. Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center 部署设置 ‣ Mech-Vision 中查询和调整。序号范围 [0-N]。

    ../../../../../_images/project_path.png
  2. 位姿数量:希望 Mech-Vision 输出的视觉结果数量。参数范围 [0-N]。

    • 0:获取 Mech-Vision 工程识别到的全部数量。

    • 1-20:希望获取指定数量的识别结果。若该数值大于 Mech-Vision 实际识别到的总数,返回值则以 Mech-Vision 识别数量为准。

    • >20:希望获取指定数量的识别结果。102指令支持20个识别结果的获取,若希望获取大于20个的识别结果,可以重复执行102指令,获取剩余识别结果。

    例如:

    • 位姿数量设置为10, Mech-Vision 工程识别到的工件总数为5,则102指令返回的位姿数量为5。

    • 位姿数量设置为0,Mech-Vision 工程识别到的工件总数为30,则第一次102指令返回20个识别结果,第二次102返回剩余10个识别结果。

  3. 位姿类型:设置参数4机器人拍照位姿的位姿类型。参数范围 [0-2]。

    • 0:不需要拍照位姿,比如 Eye To Hand 模式下可为0;

    • 1:拍照位姿是 JPS 形式;

    • 2:拍照位姿是法兰位姿。

  4. 机器人 JPS 或法兰坐标:拍照时机器人的位置,需要机器人将当前位置发送给 Mech-Center。根据参数3选择的位姿类型,将 JPS 角度值设置到 Robot_Pose_JPS,或将法兰位姿设置到 Robot_Pose_TCP 。

    注意

    JPS 和法兰位姿的浮点数数据需乘 10000,再设置到 Robot_Pose_JPS 或 Robot_Pose_TCP 模块中。

返回数据

Status Code

状态码1102:正常 其他:错误码

102指令——获取视觉结果

功能介绍

用在101指令触发 Mech-Vision 工程运行之后,使用该指令获取 Mech-Vision 的识别结果。

注意

默认设置下,该指令每次最多只能获取 20 个视觉点,若所需视觉点数量大于 20,则需多次调用该指令。

发送指令

Command

Vision_Proj_Num

102

Mech-Vision工程号

参数说明

  1. Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center 部署设置 ‣ Mech-Vision 中查询和调整。序号范围 [0-N]。

    ../../../../../_images/project_path.png

返回数据

Status Code

Send_Pose_Num

Send_Pose_Type

Target_Pose

Target_Label

1100:正常 其他:错误码

发送位姿数量

发送位姿类型

目标抓取点

目标抓取点的标签

参数说明

  1. 调用该指令,若 Mech-Vision 工程运行时间长,在10s内还未输出识别结果,Mech-Center 会返回状态码 1019 “Mech-Vision 执行时间超时”。

  2. 发送位姿数量:视觉返回的识别结果个数。范围[1-N]。

  3. 发送位姿类型:Mech-Vision 通过102指令返回的位姿类型固定为2:TCP 位姿。

  4. 目标抓取点:目标抓取点的 TCP 位姿。用户需将数据除以10000,然后使用。

  5. 目标抓取点的标签:标签是 Mech-Vision 识别的该物体标签信息。返回的标签值为整数。当 Mech-Vision 工程中使用字符串标签时,需在 Mech-Vision 工程中使用标签映射,把标签转换为整数。若 Mech-Vision 工程中没有标签信息,则标签值为0。

    注意

    位姿的收发请参考 通讯控制流程 。使用 Data_ready, Data_Acknowledge, Command_Complete 信号进行过程控制。

103指令——切换 Mech-Vision 配方

功能介绍

Mech-Vision 的配方功能用于在识别不同工件时,修改 Mech-Vision 工程各步骤的参数,包括图像匹配模板、感兴趣区域、置信阈值等。使用该指令需要在发送101指令触发 Mech-Vision 工程运行之前。

发送指令

Command

Vision_Proj_Num

Vision_Recipe_Num

103

Mech-Vision工程号

Mech-Vision配方编号

参数说明

  1. Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center 部署设置 ‣ Mech-Vision 中查询和调整。序号范围 [0-N]。

    ../../../../../_images/project_path.png
  2. Mech-Vision 配方编号:Mech-Vision 工程中配方模板的编号。序号范围 [1-N]。

    ../../../../../_images/parameters_recipes.png

返回数据

状态码

1107:正常 其他:错误码

201指令——启动 Mech-Viz

功能介绍

该指令用于既有 Mech-Vision 又有 Mech-Viz 的场景,用于启动 Mech-Viz 工程,调用相应的 Mech-Vision 工程,并规划抓取路径。在 Mech-Viz 中需要将启动的工程设置为 自动加载

../../../../../_images/automatic_loading.png

发送指令

Command

Robot_Pose_Type

Robot_Pose_JPS

201

位姿类型

机器人关节角

参数说明

  1. 位姿类型:发送机器人当前位姿的位姿类型。

    0:不需要当前机器人位姿数据,则机器人关节角可以不填。 1:当前机器人位姿是 JPS 形式。

    • 位姿类型设置为0时,Mech-Viz 中仿真机器人会从初始位姿 JPS=[0,0,0,0,0,0] 开始运动到第一个移动点;

    • 位姿类型设置为1时,Mech-Viz 中仿真机器人会从初始位姿 JPS=输入的 JPS 开始运动到第一个移动点。

    • 当场景中存在碰撞模型,干扰机器人从初始位姿 JPS=[0,0,0,0,0,0] 运动到第一个移动点时,则位姿类型必须设置为1。

  2. 机器人关节角:机器人的当前 JPS 。

    注意

    JPS 的实际数据需乘 10000 转换为整数,然后发送到 Robot_Pose_JPS 或 Robot_Pose_TCP 模块中。

返回数据

Status Code

2103:正常 其他:错误码

202指令——停止 Mech-Viz

功能介绍

停止 Mech-Viz 运行。如果 Mech-Viz 工程不是死循环,或可以正常停止,则不需要使用该指令。

发送指令

Command

202

返回数据

Status Code

2104:正常 其他:错误码

203指令——选择分支

功能介绍

在 Mech-Viz 工程中有分支(根据服务消息)技能时,用于控制 Mech-Viz 工程中的分支技能走指定的出口。在调用该指令之前,需要先启动 Mech-Viz。Mech-Viz 运行到分支技能会等待203指令发送该分支的分支出口。

../../../../../_images/select_branch.png

发送指令

Command

Viz_Task_Name

Viz_Task_Value

203

分支名

分支出口

参数说明

  1. 分支名:在运行之前需要在 Mech-Viz 工程中修改对应的分支名字为纯数字格式。参数范围 [1-N]。每个分支的名字不能重复。

  2. 分支出口:给定分支的出口号,Mech-Viz 程序将沿该出口继续执行。参数范围 [1-N]。

    注意

    出口号为 Mech-Viz 显示的端口号加1,即端口0为1号出口。

返回数据

Status Code

2105:正常 其他:错误码

204指令——设置索引

功能介绍

在 Mech-Viz 工程中带索引属性的移动技能,比如按序列移动、按阵列移动、智能垛型等,可以通过调用该指令设置其索引值。

../../../../../_images/set_index.png

发送指令

Command

Viz_Task_Name

Viz_Task_Value

204

索引名

索引值

参数说明

  1. 索引名:带索引属性的移动技能名称,正整数。

  2. 索引值:索引的值,正整数。

返回数据

Status Code

状态码2106:正常 其他:错误码

205指令——获取规划路径

注意

默认设置下,该指令每次最多只能发送 20 个路径目标点,若路径目标点数大于 20,则需多次调用该指令。

发送指令

Command

Req_Pose_Type

205

请求位姿类型

功能介绍

在调用201指令启动 Mech-Viz 运行之后,可以通过调用该指令获取 Mech-Viz 规划的移动路径。

如果希望某个移动技能的位姿不发送给机器人端,可以在该移动技能的名称尾部添加 “_internal” 关键字标识(带下划线,不区分大小写)。

参数说明

请求位姿类型

  1. 205返回的位姿类型为机器人 JPS 。

  2. 205返回的位姿类型为机器人 TCP 位姿。

返回数据

Status Code

Send_Pose_Num

Send_Pose_Type

Visual_Point_Index

Target_Pose

Target_Label

Target_Speed

状态码2100:正常 其他:错误码

发送位姿数量

发送位姿类型

视觉点位置

目标抓取点

目标抓取点的标签

目标抓取点的移动速度

参数说明

  1. 调用该指令,若 Mech-Viz / Mech-Vision 工程运行时间长,路径在10s内还未规划完成,Mech-Center 会返回状态码2025“Mech-Viz 执行时间超时”。

  2. 发送位姿数量:Mech-Viz 工程中发出来的移动点的数量。若视觉移动技能勾选了“复用视觉结果”导致输出的位姿数量大于20,则机器人可以再次调用205指令接收剩余位姿。

  3. 发送位姿类型:目标抓取点的位姿类型,与201指令请求位姿类型一致。

    1. JPS 。

    2. TCP 位姿。

  4. 视觉点位置:即工程中的视觉移动在路径中的位置。

    例如 Mech-Viz 路径是:移动-1,移动-2,视觉移动,移动-3,则视觉点位置是3。若路径中无视觉移动,则该位返回值为零。

  5. 目标抓取点:Mech-Viz 规划出来的移动点的位姿。用户需将数据除以10000,然后使用。

  6. 目标抓取点的标签:标签是 Mech-Vision 识别的该物体标签信息。返回的标签值为整数。当 Mech-Vision 工程中使用字符串标签时,需在 Mech-Vision 工程中使用标签映射,把标签转换为整数。若 Mech-Vision 工程中没有标签信息,则标签值为0。

  7. 目标抓取点的速度,Mech-Viz 中该移动技能设置的非速度参数。范围[1-100]。

    注意

    位姿的收发请参考 通讯控制流程 。使用 Data_ready, Data_Acknowledge, Command_Complete 信号进行过程控制。

206指令——获取 DO 列表

功能介绍

主要用于多分区吸盘/纸箱多抓的场景。当需要使用 Mech-Viz 进行吸盘控制时,可使用该指令获取 Mech-Viz 规划的吸盘控制信号。调用该指令之前需要先执行205指令获取 Mech-Viz 规划路径,以确保工程运行完成。

发送指令

Command

206

返回数据

Status Code

DO List

状态码2102:正常 其他:错误码

DO 信号列表

501指令——外部传入物体尺寸

功能介绍

设置 Mech-Vision 工程中指定 读取物体尺寸 步骤的物体尺寸。

Mech-Vision 工程中应有 读取物体尺寸 步骤。该步骤参数 从参数读取物体尺寸 应设定为 True

发送指令

Command

Vision_Proj_Num

Ext_Input_Data

501

Vision 工程号

外部传入数据

参数说明

  1. Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center 部署设置 ‣ Mech-Vision 中查询和调整。序号范围 [1-99]。

    ../../../../../_images/project_path.png
  2. 外部传入数据:将箱子尺寸长宽高(单位mm)先乘10000,再给到 Ext_Input_Data[1-3]。

返回数据

Status Code

状态码1108:正常 其他:错误码

502指令——外部传入位姿

功能介绍

动态传入位姿点数据。配合 Mech-Viz 中的 outer_move 使用。该功能需要配合 Mech-Center/tool/viz_project/outer_move 工程使用,并在运行之前把其中的 outer_move 放到合适的位置。该指令需要在调用201指令之前调用。

发送指令

Command

Ext_Input_Data

502

外部传入数据

参数说明

外部传入位姿:机器人的 TCP 位姿数据(单位mm),用户需要将位姿数据乘10000,再给到 Ext_Input_Data[1-6]。

返回数据

Status Code

状态码2107:正常 其他:错误码

901指令——获取软件状态

功能介绍

用于获取 Mech-Vision、Mech-Viz、Mech-Center 的软件运行状态。目前只支持检测 Mech-Vision 是否注册。

发送指令

Command

901

返回数据

Status Code

状态码1101:正常 其他:错误码

返回数据