AUBO(ARCS)标准接口指令
本文介绍AUBO(ARCS)机器人与梅卡曼德视觉系统之间进行TCP协议通信的标准接口指令。其中,机器人(客户端)发送指令给梅卡曼德视觉系统(服务端),梅卡曼德视觉系统将处理后的数据返回给机器人。
注意事项
-
AUBO(ARCS)机器人指令说明:
-
g_mm_status是全局变量,用于存储指令执行的状态码。用户可在调用相关指令后检查该变量的值,以确定是否执行成功或处理异常情况。
-
对于下文描述的指令名称,括号外的名称是简称,括号内的名称是全称。例如,initSocket(mm_init_socket),其中,initSocket是简称,mm_init_socket是全称。
-
-
指令的数据单位:
-
关节角的单位是度(°)。
-
机器人法兰位姿或机器人工具位姿由位置和姿态组成,位置(XYZ坐标值)单位为毫米(mm);姿态使用欧拉角表示,单位为度(°)。
-
-
视觉点或路径点:
-
视觉点:Mech-Vision识别的目标物体,一个视觉点包括物体位姿、标签、物体尺寸、自定义数据等信息。
-
路径点:机器人沿着规划路径需逐一到达的点位,一个路径点包括机器人位姿、标签、移动类型等信息。路径点可分为以下两种类型:
-
视觉移动路径点:“视觉移动”步骤对应的路径点。
-
非视觉移动路径点:除“视觉移动”步骤外,其他移动类步骤对应的路径点。
-
-
通信初始化
调用顺序
-
该指令需要在“在开始之前”中被调用。
-
在使用该指令后,用户需调用openSkt指令才能建立机器人与视觉系统之间的TCP协议通信连接。
运行Mech-Vision工程
功能介绍
该指令用于触发Mech-Vision工程运行。在Mech-Vision工程运行期间,视觉系统会执行相机拍照,并对图像数据进行一系列的视觉算法处理,最终得到一系列视觉点或路径点。
|
调用顺序
-
工程中的步骤参数需要在运行Mech-Vision工程之前被设置,因此addFunc(选择mm_set_model参数)指令或addFunc(选择mm_set_boxsize参数)指令需先于startVis指令被调用。
-
只有运行Mech-Vision工程后,视觉系统才得到视觉点或路径点,因此startVis指令需先于getData指令被调用。
指令名称
startVis(mm_start_vision)
输入参数
Project ID
该参数表示Mech-Vision工程编号。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
PosNumberNeed
该参数表示期望从Mech-Vision工程获取的视觉点或路径点数量。取值为0或大于0的整数,具体说明如下。
| 若Mech-Vision工程中存在“路径规划”步骤,该参数表示预期路径点数量,否则表示预期视觉点数量。 |
-
0:从Mech-Vision工程获取所有视觉点或路径点。
-
大于0的整数:从Mech-Vision工程获取指定数量的视觉点或路径点。
-
如果Mech-Vision工程输出的视觉点或路径点总数小于指定的参数值,则获取输出的所有视觉点或路径点。
-
如果Mech-Vision工程输出的视觉点或路径点总数大于或等于指定的参数值,则获取指定数量的视觉点或路径点。
-
|
Type of robot pose to send
该参数指定真实机器人的位姿将以何种形式传入Mech-Vision工程。取值为None、Current Position、Current Flange Pose、Predefined Jps,具体说明如下表。
| Type of robot pose to send | 说明 | 适用场景 |
|---|---|---|
None |
该指令无需向Mech-Vision工程传入机器人位姿。 若Mech-Vision工程中使用“路径规划”步骤,则路径规划的起始点为路径规划工具中设置的Home点。 |
相机的安装方式为Eye To Hand,并且项目无需进行提前拍照,则使用该设定。 |
Current Position |
该指令需要将机器人的当前关节角和法兰位姿传入Mech-Vision工程。 |
相机的安装方式为Eye In Hand,则必须使用该设定。 除使用桁架机器人的场景外,大多数场景推荐使用该设定。 |
Current Flange Pose |
该指令需要将机器人的当前法兰位姿传入Mech-Vision工程。 |
场景中使用桁架机器人,推荐使用该设定。 |
Predefined Jps |
该指令需要将用户自定义的关节角传入Mech-Vision工程。此关节角数据将发送给Mech-Vision工程的“路径规划”步骤作为起始点,即机器人从该起始点向路径规划的第一个路径点进行移动。 用户自定义的关节角数据在Predefined Jps变量中设置。 |
相机的安装方式为Eye To Hand,并且项目需要进行提前拍照,则使用该设定。 |
Predefined Jps
该参数表示用户自定义的关节角数据。
-
若Type of robot pose to send参数值为Predefined Jps,此关节角数据将发送给Mech-Vision工程的“路径规划”步骤作为起始点,即机器人从该起始点向路径规划的第一个路径点进行移动。
-
若Type of robot pose to send参数值不为Predefined Jps,Predefined Jps会自动填充一个默认值,用户无需手动设置该参数。
获取数据
指令名称
getData(mm_get_data)
参数说明
None(不获取数据)
该参数表示不获取Mech-Vision或Mech-Viz输出的数据。
From Vision(获取Mech-Vision输出的数据)
mm_get_vis_data(获取视觉结果)
说明
选择mm_get_vis_data,表示获取Mech-Vision输出的视觉结果(一系列视觉点),即可获取视觉点的位姿、标签和末端工具。视觉点的物体位姿(即“输出”步骤的poses端口数据)将会由视觉系统自动转换为对应机器人的工具位姿,具体转换流程如下。
| 若“输出”步骤的第一个输入端口是工件中心点,则“输出”步骤会将工件中心点转化为对应的抓取点。因此,通过该指令获取的位姿其实是抓取点的位姿,而不是工件中心点的位姿。 |
-
将物体位姿由四元数形式转换为欧拉角形式。
-
将物体位姿绕X轴旋转180°,使其Z轴朝下。
调用顺序
该指令的执行结果将暂存于机器人内存中,用户随后需调用getPosejps(选择mm_get_pos参数)指令进行转存后才可访问数据。
输入参数
- Project ID
-
该参数表示Mech-Vision工程编号。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
输出参数
- Pose Num
-
该参数指定一个变量名称。该变量将用于保存Mech-Vision返回的视觉点数量。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
mm_get_dy_data(获取Mech-Vision自定义数据)
说明
选择mm_get_dy_data,表示除了获取视觉点的位姿和标签外,还获取“输出”步骤的自定义端口数据。
自定义端口的设置可从“输出”步骤参数的打开编辑器处进入,其中自定义通信键名就是自定义端口名称,例如下图中customeData1和customeData2端口就是自定义端口。
|
调用顺序
该指令的执行结果将暂存于机器人内存中,用户随后需调用getPosejps(选择mm_get_dypos参数)指令进行转存后才可访问数据。
输入参数
- Project ID
-
该参数表示Mech-Vision工程编号。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
输出参数
- Pose Num
-
该参数指定一个变量名称。该变量将用于保存Mech-Vision返回的视觉点数量。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
mm_get_vis_path(获取Mech-Vision规划路径)
说明
选择mm_get_vis_path,表示获取Mech-Vision规划的路径(一系列路径点),即可获取路径点的位姿、标签和末端工具。此处的路径由“路径规划工具”(从下图的配置向导进入)规划。“路径规划”步骤相关的内容,可参考《路径规划》。
| Mech-Vision“输出”步骤的端口类型参数需要设置为“预定义(机器人路径)”。 |
调用顺序
该指令的执行结果将暂存于机器人内存中,用户随后需调用getPosejps指令进行转存后才可访问数据,根据位姿形式选择如下参数。
-
mm_get_pos参数:位姿形式为工具位姿。
-
mm_get_jps参数:位姿形式为关节角。
输入参数
- Project ID
-
该参数表示Mech-Vision工程编号。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
- Pose Type
-
该参数用于指定获取路径点的位姿形式。取值为1或2。
-
1:关节角。
-
2:工具位姿。
-
输出参数
- Pose Num
-
该参数指定一个变量名称。该变量将用于保存Mech-Vision返回的路径点数量。
- Vision Pose Index
-
该参数指定一个变量名称。该变量将保存路径规划工具中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置编号。如果路径中无视觉移动路径点,则该变量值为0。
例如,如果规划路径由以下路径点组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则视觉移动路径点的位置编号为3。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为1103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
mm_get_plan_data(获取Mech-Vision视觉移动规划数据)
说明
选择mm_get_plan_data,表示除了获取Mech-Vision规划路径外,还获取视觉移动规划数据。此处的“视觉移动规划数据”是指路径规划工具(从“路径规划”步骤处进入)中“视觉移动”步骤规划的数据,包括被抓取工件的标签、已抓取的工件总数、本次抓取的工件数量、吸盘边角号、TCP偏移量、工件组朝向、单个工件朝向、工件组尺寸。
调用顺序
该指令的执行结果将暂存于机器人内存中,用户随后需调用getPosejps(选择mm_get_plan_pos参数)指令进行转存后才可访问数据。
输入参数
- Project ID
-
该参数表示Mech-Vision工程编号。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
- Pose Type
-
该参数用于指定获取路径点的位姿形式。取值为1或2。
-
1:关节角。
-
2:工具位姿。
-
输出参数
- Pose Num
-
该参数指定一个变量名称。该变量将用于保存Mech-Vision返回的路径点数量。
- Vision Pose Index
-
该参数指定一个变量名称。该变量将保存路径规划工具中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置编号。如果路径中无视觉移动路径点,则该变量值为0。
例如,如果规划路径由以下路径点组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则视觉移动路径点的位置编号为3。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为1103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
From Viz(获取Mech-Viz输出的数据)
mm_get_viz_data(获取Mech-Viz规划路径)
说明
选择mm_get_viz_data,表示获取Mech-Viz工程规划的移动路径(一系列路径点),即可获取路径点的位姿、标签和末端工具。
调用顺序
该指令的执行结果将暂存于机器人内存中,用户随后需调用getPosejps指令进行转存后才可访问数据,根据位姿形式选择如下参数。
-
mm_get_pos参数:位姿形式为工具位姿。
-
mm_get_jps参数:位姿形式为关节角。
输入参数
- Pose Type
-
该参数用于指定获取路径点的位姿形式。取值为1或2。
-
1:关节角。
-
2:工具位姿。
-
输出参数
- Pose Num
-
该参数指定一个变量名称。该变量将用于保存Mech-Viz返回的路径点数量。
- Vision Pose Index
-
该参数指定一个变量名称。该变量将保存Mech-Viz工程中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置编号。如果路径中无视觉移动路径点,则该变量值为0。
例如,如果规划路径由以下路径点组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则视觉移动路径点的位置编号为3。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为2100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
mm_get_plan_data(获取Mech-Viz规划路径、视觉移动规划数据或自定义数据)
说明
选择mm_get_plan_data,表示除了获取Mech-Viz规划路径外,还获取视觉移动规划数据或自定义数据。
-
视觉移动规划数据:Mech-Viz中“视觉移动”步骤规划的数据,包括被抓取工件的标签、已抓取的工件总数、本次抓取的工件数量、吸盘边角号、TCP偏移量、工件组朝向、单个工件朝向、工件组尺寸。
-
自定义数据:Mech-Vision自定义端口输出的数据,再经Mech-Viz转发后得到的数据。
自定义端口的设置可从“输出”步骤参数的打开编辑器处进入,其中自定义通信键名就是自定义端口名称,例如下图中customeData1和customeData2端口就是自定义端口。
-
预设通信键(下图中的poses、labels、sizes、offsets等)所代表的端口数据不属于自定义数据。
-
Mech-Vision “输出”步骤的端口类型参数需要设置为“自定义”,且必须存在poses端口。
-
调用顺序
该指令的执行结果将暂存于机器人内存中,用户随后需调用getPosejps指令进行转存后才可访问数据,根据位姿形式选择如下参数。
-
mm_get_plan_pos参数:位姿形式为工具位姿。
-
mm_get_plan_jps参数:位姿形式为关节角。
输入参数
- Project ID
-
该参数必须设置为0。
- Pose Type
-
该参数用于指定Mech-Viz返回的数据格式,取值为1、2、3或4。
Pose Type
返回数据的说明(每个字段的具体解释参见下文;若Mech-Vision工程无自定义端口,则无 自定义数据项)
路径点类型
数据信息
1
非视觉移动路径点
位姿(关节角形式), 移动类型, 末端工具编号, 速度
视觉移动路径点
位姿(关节角形式), 移动类型, 末端工具编号, 速度, 自定义数据项1, …, 自定义数据项N
2
非视觉移动路径点
位姿(工具位姿形式), 移动类型, 末端工具编号, 速度
视觉移动路径点
位姿(工具位姿形式), 移动类型, 末端工具编号, 速度, 自定义数据项1, …, 自定义数据项N
3
非视觉移动路径点
位姿(关节角形式), 移动类型, 末端工具编号, 速度
视觉移动路径点
位姿(关节角形式), 移动类型, 末端工具编号, 速度, 视觉移动规划数据, 自定义数据项1, …, 自定义数据项N
4
非视觉移动路径点
位姿(工具位姿形式), 移动类型, 末端工具编号, 速度
视觉移动路径点
位姿(工具位姿形式), 移动类型, 末端工具编号, 速度, 视觉移动规划数据, 自定义数据项1, …, 自定义数据项N
- 位姿
-
路径点的位姿可以是机器人关节角或工具位姿,具体形式取决于发送指令时指定的 Pose Type 参数值。
- 移动类型
-
-
1:关节移动。
-
2:直线移动。
-
- 末端工具编号
-
路径点的末端工具编号。若值为-1,表示不使用末端工具。
- 速度
-
移动类步骤参数中设置的速度参数值乘以Mech-Viz中设置的全局速度,使用百分数表示。
- 视觉移动规划数据
-
Mech-Viz中“视觉移动”步骤规划的数据,包括被抓取工件的标签、已抓取的工件总数、本次抓取的工件数量、吸盘边角号、TCP偏移量、工件组朝向、单个工件朝向、工件组尺寸。
名称 说明 维数 被抓取工件的标签
由10个整数组成,默认为10个0
10
已抓取的工件总数
累计已抓取的工件数量
1
本次抓取的工件数量
本次抓取的工件数量
1
吸盘边角号
本次吸盘所使用的边角号
1
TCP偏移量
工件组中心相对于末端工具中心的XYZ偏移量
3
工件组朝向
工件组与吸盘长边的朝向关系,0表示平行,1表示垂直
1
单个工件朝向
单个工件长边与吸盘长边的朝向关系,0表示平行,1表示垂直
1
工件组尺寸
本次抓取的工件组的长宽高
3
- 自定义数据项
-
单个路径点的所有自定义端口的数据。例如,“输出”步骤各端口的数据如下表所示,则获取第一个路径点的自定义数据项为 [0,0,1]与[0,0], 获取第二个路径点的自定义数据项为[1,0,0]与[1,1]。
端口名称
poses
labels
customData1
customData2
端口数据
[
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0]
]
[
"0",
"1"
]
[
[0, 0, 1],
[1, 0, 0]
]
[
[0, 0],
[1, 1]
]
第一个路径点
[0, 0, 0, 1, 0, 0, 0]
0
[0, 0, 1]
[0, 0]
第二个路径点
[0, 0, 0, 1, 0, 0, 0]
1
[1, 0, 0]
[1, 1]
输出参数
- Pose Num
-
该参数指定一个变量名称。该变量将用于保存Mech-Viz返回的路径点数量。
- Vision Pose Index
-
该参数指定一个变量名称。该变量将保存Mech-Viz工程中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置编号。如果路径中无视觉移动路径点,则该变量值为0。
例如,如果规划路径由以下路径点组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则视觉移动路径点的位置编号为3。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为2100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
转存数据
指令名称
getPosejps(mm_get_posjps)
参数说明
None(不转存数据)
该参数表示不转存任何数据。
mm_get_pos(转存视觉结果或规划路径,且位姿形式为工具位姿)
说明
选择mm_get_pos,表示将某个视觉点或路径点的工具位姿、标签和末端工具编号转存到指定变量中。
输入参数
- Index
-
该参数用于指定视觉点或路径点的索引号,即将该索引号对应视觉点或路径点的工具位姿、标签和末端工具编号转存到指定变量中。索引号从1开始。
输出参数
- Pose
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应视觉点或路径点的工具位姿。
- Tool ID
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应视觉点或路径点的末端工具编号。
- Label
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应视觉点或路径点的标签。
mm_get_jps(转存规划路径,且位姿形式为关节角)
说明
选择mm_get_jps,表示将某个路径点的关节角、标签和末端工具编号转存到指定变量中。
输入参数
- Index
-
该参数用于指定路径点的索引号,即将该索引号对应路径点的关节角、标签和末端工具编号转存到指定变量中。索引号从1开始。
输出参数
- Jps
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的关节角。
- Tool ID
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的末端工具编号。
- Label
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的标签。
mm_get_dypos(转存Mech-Vision自定义数据)
说明
选择mm_get_dypos,表示将某个视觉点的工具位姿、标签和自定义数据转存到指定变量中。
输入参数
- Index
-
该参数用于指定视觉点的索引号,即将该索引号对应视觉点的自定义数据转存到指定变量中。索引号从1开始。
输出参数
- Pose
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应视觉点的工具位姿。
- Label
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应视觉点的标签。若无标签信息,则标签值默认为0。
- Custom Data
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应视觉点的自定义数据。例如,“输出”步骤各端口的数据如下表所示,则获取第一个视觉点的自定义数据项为 [0,0,1]与[0,0], 获取第二个视觉点的自定义数据项为[1,0,0]与[1,1]。
端口名称
poses
labels
customData1
customData2
端口数据
[
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0]
]
[
"0",
"1"
]
[
[0, 0, 1],
[1, 0, 0]
]
[
[0, 0],
[1, 1]
]
第一个视觉点
[0, 0, 0, 1, 0, 0, 0]
0
[0, 0, 1]
[0, 0]
第二个视觉点
[0, 0, 0, 1, 0, 0, 0]
1
[1, 0, 0]
[1, 1]
mm_get_plan_pos(转存视觉移动规划数据,且位姿形式为工具位姿)
说明
选择mm_get_plan_pos,表示将某个路径点的工具位姿、移动类型、末端工具编号、速度、自定义数据和视觉移动规划数据转存到指定变量中。
输入参数
- Index
-
该参数用于指定路径点的索引号,即将该索引号对应路径点的工具位姿、移动类型、末端工具编号、速度、自定义数据和视觉移动规划数据转存到指定变量中。索引号从1开始。
输出参数
- Pose
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的工具位姿。
- Move Type
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的移动类型,取值为1或2。
-
1:关节移动。
-
2:直线移动。
-
- Tool ID
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的末端工具编号。若值为-1,表示不使用末端工具。
- Speed
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的速度。根据不同的工程,速度的含义也有所不同,具体如下。
-
对于Mech-Vision工程:速度指路径规划工具中设置的仿真速度值,使用百分数表示。
-
对于Mech-Viz工程:速度指移动类步骤参数中设置的速度参数值乘以Mech-Viz中设置的全局速度,使用百分数表示。
-
- Custom Data
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的自定义数据。例如,“输出”步骤各端口的数据如下表所示,则获取第一个路径点的自定义数据项为 [0,0,1]与[0,0], 获取第二个路径点的自定义数据项为[1,0,0]与[1,1]。
端口名称
poses
labels
customData1
customData2
端口数据
[
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0]
]
[
"0",
"1"
]
[
[0, 0, 1],
[1, 0, 0]
]
[
[0, 0],
[1, 1]
]
第一个路径点
[0, 0, 0, 1, 0, 0, 0]
0
[0, 0, 1]
[0, 0]
第二个路径点
[0, 0, 0, 1, 0, 0, 0]
1
[1, 0, 0]
[1, 1]
- Plan Data
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的视觉移动规划数据。视觉移动规划数据的详细数据如下表所示。
名称 说明 维数 被抓取工件的标签
由10个整数组成,默认为10个0
10
已抓取的工件总数
累计已抓取的工件数量
1
本次抓取的工件数量
本次抓取的工件数量
1
吸盘边角号
本次吸盘所使用的边角号
1
TCP偏移量
工件组中心相对于末端工具中心的XYZ偏移量
3
工件组朝向
工件组与吸盘长边的朝向关系,0表示平行,1表示垂直
1
单个工件朝向
单个工件长边与吸盘长边的朝向关系,0表示平行,1表示垂直
1
工件组尺寸
本次抓取的工件组的长宽高
3
mm_get_plan_jps(转存视觉移动规划数据,且位姿形式为关节角)
说明
选择mm_get_plan_jps,表示将某个路径点的关节角、移动类型、末端工具编号、速度、自定义数据和视觉移动规划数据转存到指定变量中。
输入参数
- Index
-
该参数用于指定路径点的索引号,即将该索引号对应路径点的关节角、移动类型、末端工具编号、速度、自定义数据和视觉移动规划数据转存到指定变量中。索引号从1开始。
输出参数
- Pose
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的关节角。
- Move Type
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的移动类型,取值为1或2。
-
1:关节移动。
-
2:直线移动。
-
- Tool ID
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的末端工具编号。若值为-1,表示不使用末端工具。
- Speed
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的速度。根据不同的工程,速度的含义也有所不同,具体如下。
-
对于Mech-Vision工程:速度指路径规划工具中设置的仿真速度值,使用百分数表示。
-
对于Mech-Viz工程:速度指移动类步骤参数中设置的速度参数值乘以Mech-Viz中设置的全局速度,使用百分数表示。
-
- Custom Data
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的自定义数据。例如,“输出”步骤各端口的数据如下表所示,则获取第一个路径点的自定义数据项为 [0,0,1]与[0,0], 获取第二个路径点的自定义数据项为[1,0,0]与[1,1]。
端口名称
poses
labels
customData1
customData2
端口数据
[
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0]
]
[
"0",
"1"
]
[
[0, 0, 1],
[1, 0, 0]
]
[
[0, 0],
[1, 1]
]
第一个路径点
[0, 0, 0, 1, 0, 0, 0]
0
[0, 0, 1]
[0, 0]
第二个路径点
[0, 0, 0, 1, 0, 0, 0]
1
[1, 0, 0]
[1, 1]
- Plan Data
-
该参数指定一个变量名称。该变量将用于保存指定索引号对应路径点的视觉移动规划数据。视觉移动规划数据的详细数据如下表所示。
名称 说明 维数 被抓取工件的标签
由10个整数组成,默认为10个0
10
已抓取的工件总数
累计已抓取的工件数量
1
本次抓取的工件数量
本次抓取的工件数量
1
吸盘边角号
本次吸盘所使用的边角号
1
TCP偏移量
工件组中心相对于末端工具中心的XYZ偏移量
3
工件组朝向
工件组与吸盘长边的朝向关系,0表示平行,1表示垂直
1
单个工件朝向
单个工件长边与吸盘长边的朝向关系,0表示平行,1表示垂直
1
工件组尺寸
本次抓取的工件组的长宽高
3
运行Mech-Viz工程
功能介绍
该指令用于触发Mech-Viz工程运行。Mech-Viz是基于Mech-Vision输出的视觉结果规划机器人的移动路径。
| 在Mech-Viz工程资源面板中,右键单击工程名称,勾选设为自动加载。 |
调用顺序
工程中的步骤参数需要在触发Mech-Viz工程运行之前被设置,因此addFunc(选择mm_set_property参数)指令或addFunc(选择mm_get_property参数)指令需先于startViz指令被调用。
指令名称
startViz(mm_start_viz)
输入参数
Type of robot pose to send
该参数指定真实机器人的位姿将以何种形式传入Mech-Viz工程,取值为None、Current Position或Predefined Jps,具体说明如下表。
| Type of robot pose to send | 说明 | 适用场景 |
|---|---|---|
None |
该指令无需向Mech-Viz工程传入机器人位姿,Mech-Viz工程中仿真机器人将从设置的Home点开始移动到第一个路径点。 |
相机的安装方式为Eye To Hand。 |
Current Position |
该指令需要将机器人的当前关节角和法兰位姿传入Mech-Viz工程,Mech-Viz工程中仿真机器人将从传入的关节角开始移动到第一个路径点。 |
相机的安装方式为Eye In Hand,推荐使用该设定。 |
Predefined Jps |
该指令需要将机器人的一个示教点(非当前关节角,而是自定义关节角,在Predefined Jps变量中设置)传入Mech-Viz工程,用于在机器人处于拍照区域外时,提前触发Mech-Viz工程规划下一轮路径,Mech-Viz工程中仿真机器人将从传入的示教点开始运动到第一个路径点。 |
相机的安装方式为Eye To Hand,推荐使用该设定。 |
Predefined Jps
该参数表示用户自定义的关节角数据。
-
若Type of robot pose to send参数值为Predefined Jps,此关节角数据将发送给Mech-Viz工程作为起始点,即机器人从该起始点向路径规划的第一个路径点进行移动。
-
若Type of robot pose to send参数值不为Predefined Jps,Predefined Jps会自动填充一个默认值,用户无需手动设置该参数。
添加功能
指令名称
addFunc(mm_additional_function)
参数说明
None(不添加功能)
该参数表示不添加功能。
mm_set_branch(设置Mech-Viz消息分支出口)
说明
选择mm_set_branch,表示设定Mech-Viz“消息分支”步骤的出口。Mech-Viz工程运行至“消息分支”步骤时,将等待该指令指定出口。
调用顺序
该指令需在startViz指令之后被调用。
输入参数
- Branch ID
-
该参数用于指定消息分支的步骤编号。取值为正整数。步骤编号可在步骤参数中查看,例如上图中的步骤编号为1。
- Branch Port
-
该参数用于指定“消息分支”步骤的出口号。取值为正整数。若将该参数值设置为N,则Mech-Viz工程将沿“消息分支”步骤的N-1出口继续执行。
mm_set_index(设置Mech-Viz当前索引)
说明
选择mm_set_index,表示设定Mech-Viz索引类步骤的当前索引值。索引类步骤是指包含“索引”参数的步骤,例如“按阵列移动”、“按序列移动”、“自定义垛型”、“预设垛型”等步骤。
调用顺序
通常在索引类步骤前存在一个“消息分支”步骤,机器人端首先调用startViz指令,然后调用addFunc(选择mm_set_index参数)指令,最后调用addFunc(选择mm_set_branch参数)指令。如此,Mech-Viz将有充足时间设置当前索引值。
输入参数
- Skill Num
-
该参数用于指定索引类步骤的步骤编号。取值为正整数。步骤编号可在步骤参数中查看,例如上图中的步骤编号为3。
- Index Num
-
该参数用于指定索引类步骤的当前索引值。取值为正整数。若将该参数值设置为N,则相应步骤的当前索引值为N-1。
mm_set_model(切换Mech-Vision参数配方)
mm_set_boxsize(向Mech-Vision工程传入物体尺寸)
说明
选择mm_set_boxsize,表示向Mech-Vision工程中传入物体尺寸。传入的物体尺寸就是“读取物体尺寸”步骤的箱子尺寸设置参数值,如下图所示。
| 使用该指令时,Mech-Vision工程中只能存在一个“读取物体尺寸”步骤,否则视觉系统将返回错误。 |
调用顺序
该指令需在startVis指令之前被调用。
输入参数
- Project ID
-
该参数表示Mech-Vision工程编号。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
- Length、Width、Height
-
上述三个参数表示传入Mech-Vision工程的物体尺寸(依次为长、宽、高,单位为毫米)。尺寸值将被“读取物体尺寸”步骤读取并分别写入X轴上的长度、Y轴上的长度、Z轴上的长度。
mm_set_property(设置Mech-Viz步骤参数值)
说明
选择mm_set_property,表示设置Mech-Viz工程中指定步骤的步骤参数值。
调用顺序
该指令需在startViz指令之前被调用。
输入参数
- ID
-
该参数为property_config文件中指定的配置编号字段。
在Mech-Vision工具栏的 下,单击 属性配置,即可打开property_config文件。
在使用该指令前,用户需提前在property_config文件中指定步骤编号、参数名称对应的key名称和参数值,具体格式如下所示。
write, 配置编号, 步骤编号, key名称, 参数值
write
指定该行用于设置步骤参数值。
配置编号
指定一个编号(非唯一),为正整数。
步骤编号
指定将要设置的参数所属步骤的编号。
key名称
指定将要设置的参数名称对应的key名称。
参数值
指定将要设置的参数值。
-
property_config文件中可以设置多条write指令,且配置编号允许重复,即使用一个配置编号设置多个参数值。
-
key名称 可通过 Keys查询工具 获取。在Mech-Viz软件中,单击菜单栏中的 文件,在左下角处,单击 选项,勾选 开发者模式,单击 确定,关闭软件并重启;然后单击菜单栏中的 ,即可打开该工具。单击具体步骤图标,中间区域就是选中步骤的所有参数名称对应的key名称。设置的key名称必须是下图区域中出现的名称。
-
property_config文件中以“#”为开头的内容为注释行,指令在执行代码时会忽略注释,不做任何处理。
-
对property_config文件编辑完后,注意保存文件,并重启Mech-Vision工具栏中的接口服务。
-
输出参数
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为2108。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
mm_get_property(读取Mech-Viz步骤参数值)
说明
选择mm_get_property,表示读取Mech-Viz工程中指定的步骤参数值。
调用顺序
该指令需在startViz指令之前被调用。
输入参数
- ID
-
该参数为property_config文件中指定的配置编号字段。
在Mech-Vision工具栏的 下,单击 属性配置,即可打开property_config文件。
在使用该指令前,用户需提前在property_config文件中指定步骤编号和参数名称对应的key名称,具体格式如下所示。
read, 配置编号, 步骤编号, key名称
read
指定该行用于读取步骤参数值。
配置编号
指定一个唯一的编号,为正整数。一个配置编号只能用于读取一个步骤参数值。如果读取多个步骤参数值,请使用不同的配置编号。
步骤编号
指定将要读取的参数所属步骤的编号。
key名称
指定将要读取的参数名称对应的key名称。
-
key名称 可通过 Keys查询工具 获取。在Mech-Viz软件中,单击菜单栏中的 文件,在左下角处,单击 选项,勾选 开发者模式,单击 确定,关闭软件并重启;然后单击菜单栏中的 ,即可打开该工具。单击具体步骤图标,中间区域就是选中步骤的所有参数名称对应的key名称。设置的key名称必须是下图区域中出现的名称。
-
property_config文件中以“#”为开头的内容为注释行,指令在执行代码时会忽略注释,不做任何处理。
-
对property_config文件编辑完后,注意保存文件,并重启Mech-Vision工具栏中的接口服务。
property_config文件中可以设置多条read指令,但每条read指令的配置编号必须唯一。
-
输出参数
- dataValue
-
该参数用于保存返回的指定步骤的参数值。
- g_mm_status
-
该参数用于保存该指令执行的状态码。若指令执行正常,则状态码为2109。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
mm_get_notify(获取通知的消息)
说明
选择mm_get_notify,表示获取通知的消息。当Mech-Vision工程或Mech-Viz工程运行至“通知”步骤时,视觉系统会返回“通知”步骤中预先设置的消息。
在使用该指令前,“通知”步骤需满足以下设置。
-
Mech-Vision工程中的“通知”步骤
-
将“通知”步骤连接在其他步骤的右侧(此处以“输出”步骤为例)。
-
在“输出”的步骤参数处,勾选有输出时触发控制流。
-
在“通知”的步骤参数处,服务名称填写Standard Interface Notify(不可更改),消息填写1001(根据需求填写,但必须为正整数)。
-
-
Mech-Viz工程中的“通知”步骤
-
将“通知”步骤连接在工作流程中的合适位置。
-
在“通知”的步骤参数处,勾选标准接口,消息填写1000(根据需求填写,但必须为正整数)。
-
调用顺序
输出参数
- dataValue
-
该参数用于保存通知的消息(暂时只支持正整数)。
mm_get_dolist(获取吸盘DO信号)
说明
选择mm_get_dolist,表示获取Mech-Vision或Mech-Viz工程规划的多分区吸盘的控制信号。
在使用该指令前,用户需提前在Mech-Vision或Mech-Viz软件中进行如下配置。
-
配置Mech-Vision工程
-
在“路径规划”步骤参数中,单击配置向导。在全局配置中,将箱子拆垛开关置于打开状态。
-
在“路径规划”步骤参数中,单击配置向导,双击末端工具名称,工具类型选择拆垛吸盘,单击拆垛吸盘配置,根据需求配置DO信号。
-
-
配置Mech-Viz工程
-
在Mech-Viz软件中,“视觉移动”步骤的 抓取工艺 选择 箱子拆垛。
-
在Mech-Viz软件中,双击末端工具名称,工具类型选择拆垛吸盘,单击拆垛吸盘配置,根据需求配置DO信号。
-
调用顺序
该指令需在getData指令之后被调用,即机器人先获取移动路径,再获取视觉移动路径点对应的吸盘DO信号。
输入参数
- Project ID
-
该参数指定DO信号列表的来源。取值为0或正整数,具体说明如下。
-
0:从Mech-Viz获取DO信号列表。
-
正整数:从Mech-Vision获取DO信号列表。此处设置的正整数就是Mech-Vision工程编号。
-
- Block Num
-
该参数为吸盘配置器中设置的吸盘分区数量。例如,上图中的吸盘分区数量为3。
输出参数
- Do List
-
该参数指定一个变量名称。该变量将保存获取的DO信号。根据所搭建工程的不同,该指令返回的DO信号会有所不同,具体如下。
-
Mech-Vision工程规划的吸盘DO信号
-
在路径规划的全局配置中,若规划全部视觉结果开关处于关闭状态,则该指令返回64个DO信号,表示本轮规划的吸盘DO信号,其中有效的DO信号为非负整数,范围为 0~999;无效的DO信号为-1(作为占位值)。
例如,在下表中,返回的有效DO信号为1、3、5、6,即表示机器人需将上述DO信号对应的值设为ON。
第1个
第2个
第3个
第4个
第5个
第6个
第7个
第8个
…
第63个
第64个
1
3
5
6
-1
-1
-1
-1
…
-1
-1
-
在路径规划的全局配置中,若规划全部视觉结果开关处于打开状态,则Mech-Vision可以根据同一视觉结果进行多轮规划。该指令返回的64个DO信号是所有轮规划的吸盘DO信号。此时使用吸盘分区数量,即可区分每轮规划的吸盘DO信号。
例如,吸盘分区数量为4,该指令共返回64个DO信号,其中,每4个DO信号为一轮规划的多分区吸盘控制信号。
第1轮规划
第2轮规划
…
第16轮规划
第1个
第2个
第3个
第4个
第5个
第6个
第7个
第8个
…
第61个
第62个
第63个
第64个
1
3
4
-1
1
4
-1
-1
…
-1
-1
-1
-1
-
-
Mech-Viz工程规划的吸盘DO信号
-
若“视觉移动”步骤未勾选“复用视觉结果”,则该指令返回64个DO信号,表示本轮规划的吸盘DO信号,其中有效的DO信号为非负整数,范围为 0~999;无效的DO信号为-1(作为占位值)。
例如,在下表中,返回的有效DO信号为1、3、5、6,即表示机器人需将上述DO信号对应的值设为ON。
第1个
第2个
第3个
第4个
第5个
第6个
第7个
第8个
…
第63个
第64个
1
3
5
6
-1
-1
-1
-1
…
-1
-1
-
若“视觉移动”步骤勾选“复用视觉结果”,且“视觉移动”步骤在循环流程中,则Mech-Viz可以根据同一视觉结果进行多轮规划。该指令返回的64个DO信号是所有轮规划的吸盘DO信号。此时使用吸盘分区数量,即可区分每轮规划的吸盘DO信号。
例如,吸盘分区数量为4,该指令共返回64个DO信号,其中,每4个DO信号为一轮规划的多分区吸盘控制信号。
第1轮规划
第2轮规划
…
第16轮规划
第1个
第2个
第3个
第4个
第5个
第6个
第7个
第8个
…
第61个
第62个
第63个
第64个
1
3
4
-1
1
4
-1
-1
…
-1
-1
-1
-1
-
-
标定
功能介绍
该指令用于机器人的手眼标定(外参标定)。该指令需要与Mech-Vision工具栏中的相机标定结合使用,从而实现自动标定,具体参见AUBO(ARCS)自动标定。