指令说明¶
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 或法兰坐标
参数说明
Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center
中查询和调整。序号范围 [0-N]。位姿数量:希望 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个识别结果。
位姿类型:设置参数4机器人拍照位姿的位姿类型。参数范围 [0-2]。
0:不需要拍照位姿,比如 Eye To Hand 模式下可为0;
1:拍照位姿是 JPS 形式;
2:拍照位姿是法兰位姿。
机器人 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工程号
参数说明
Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center
中查询和调整。序号范围 [0-N]。
返回数据
Status Code
Send_Pose_Num
Send_Pose_Type
Target_Pose
Target_Label
1100:正常 其他:错误码
发送位姿数量
发送位姿类型
目标抓取点
目标抓取点的标签
参数说明
调用该指令,若 Mech-Vision 工程运行时间长,在10s内还未输出识别结果,Mech-Center 会返回状态码 1019 “Mech-Vision 执行时间超时”。
发送位姿数量:视觉返回的识别结果个数。范围[1-N]。
发送位姿类型:Mech-Vision 通过102指令返回的位姿类型固定为2:TCP 位姿。
目标抓取点:目标抓取点的 TCP 位姿。用户需将数据除以10000,然后使用。
目标抓取点的标签:标签是 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配方编号
参数说明
Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center
中查询和调整。序号范围 [0-N]。Mech-Vision 配方编号:Mech-Vision 工程中配方模板的编号。序号范围 [1-N]。
返回数据
状态码
1107:正常 其他:错误码
201指令——启动 Mech-Viz¶
功能介绍
该指令用于既有 Mech-Vision 又有 Mech-Viz 的场景,用于启动 Mech-Viz 工程,调用相应的 Mech-Vision 工程,并规划抓取路径。在 Mech-Viz 中需要将启动的工程设置为 自动加载。
发送指令
Command
Robot_Pose_Type
Robot_Pose_JPS
201
位姿类型
机器人关节角
参数说明
位姿类型:发送机器人当前位姿的位姿类型。
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。
机器人关节角:机器人的当前 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指令发送该分支的分支出口。
发送指令
Command
Viz_Task_Name
Viz_Task_Value
203
分支名
分支出口
参数说明
分支名:在运行之前需要在 Mech-Viz 工程中修改对应的分支名字为纯数字格式。参数范围 [1-N]。每个分支的名字不能重复。
分支出口:给定分支的出口号,Mech-Viz 程序将沿该出口继续执行。参数范围 [1-N]。
注意
出口号为 Mech-Viz 显示的端口号加1,即端口0为1号出口。
返回数据
Status Code
2105:正常 其他:错误码
204指令——设置索引¶
功能介绍
在 Mech-Viz 工程中带索引属性的移动技能,比如按序列移动、按阵列移动、智能垛型等,可以通过调用该指令设置其索引值。
发送指令
Command
Viz_Task_Name
Viz_Task_Value
204
索引名
索引值
参数说明
索引名:带索引属性的移动技能名称,正整数。
索引值:索引的值,正整数。
返回数据
Status Code
状态码2106:正常 其他:错误码
205指令——获取规划路径¶
注意
默认设置下,该指令每次最多只能发送 20 个路径目标点,若路径目标点数大于 20,则需多次调用该指令。
发送指令
Command
Req_Pose_Type
205
请求位姿类型
功能介绍
在调用201指令启动 Mech-Viz 运行之后,可以通过调用该指令获取 Mech-Viz 规划的移动路径。
如果希望某个移动技能的位姿不发送给机器人端,可以在该移动技能的名称尾部添加 “_internal” 关键字标识(带下划线,不区分大小写)。
参数说明
请求位姿类型
205返回的位姿类型为机器人 JPS 。
205返回的位姿类型为机器人 TCP 位姿。
返回数据
Status Code
Send_Pose_Num
Send_Pose_Type
Visual_Point_Index
Target_Pose
Target_Label
Target_Speed
状态码2100:正常 其他:错误码
发送位姿数量
发送位姿类型
视觉点位置
目标抓取点
目标抓取点的标签
目标抓取点的移动速度
参数说明
调用该指令,若 Mech-Viz / Mech-Vision 工程运行时间长,路径在10s内还未规划完成,Mech-Center 会返回状态码2025“Mech-Viz 执行时间超时”。
发送位姿数量:Mech-Viz 工程中发出来的移动点的数量。若视觉移动技能勾选了“复用视觉结果”导致输出的位姿数量大于20,则机器人可以再次调用205指令接收剩余位姿。
发送位姿类型:目标抓取点的位姿类型,与201指令请求位姿类型一致。
JPS 。
TCP 位姿。
视觉点位置:即工程中的视觉移动在路径中的位置。
例如 Mech-Viz 路径是:移动-1,移动-2,视觉移动,移动-3,则视觉点位置是3。若路径中无视觉移动,则该位返回值为零。
目标抓取点:Mech-Viz 规划出来的移动点的位姿。用户需将数据除以10000,然后使用。
目标抓取点的标签:标签是 Mech-Vision 识别的该物体标签信息。返回的标签值为整数。当 Mech-Vision 工程中使用字符串标签时,需在 Mech-Vision 工程中使用标签映射,把标签转换为整数。若 Mech-Vision 工程中没有标签信息,则标签值为0。
目标抓取点的速度,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 工程号
外部传入数据
参数说明
Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center
中查询和调整。序号范围 [1-99]。外部传入数据:将箱子尺寸长宽高(单位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:正常 其他:错误码
返回数据