UR E 系列(Polyscope 5.9 及以上)¶
本文介绍 UR(Universal Robots) E 系列机器人的标准接口通信配置。
插件安装与配置¶
本节介绍为 UR E 系列机器人安装与配置 Mech-Mind 3D Vision Interface (URCap 插件)。
安装 URCap 插件¶
要安装 URCap 插件,执行如下步骤:
在梅卡曼德系统软件的安装目录
Mech-Center\Robot_Interface\Robot_Plugin\UR_URCAP
文件夹下,根据 Polyscope 版本将相应 URCap 插件文件复制到 U 盘中。若 Polyscope 版本为 5.9 及以上(6.0 以下),则将后缀为 1.5.0.urcap 的文件复制到 U 盘中。
若 Polyscope 版本为 6.0 及以上,则将后缀为 1.5.0.urcapx 的文件复制到 U 盘中。
将 U 盘插入到 UR 示教器。
按示教器右上角的汉堡按钮,并选择 设置。
在 设置 界面,选择 系统 > URCap。
按 + 按钮切换到 U 盘查找 URCap 插件文件。
在 选择 URCap 以安装 界面,选中具体 URCap 插件文件,并按 打开 按钮。URCap 插件将会自动安装。
按 重启 按钮以使修改生效。
至此,URCap 插件已成功安装到 UR 示教器。
注意
安装完成后,用户还需要设置机器人的 IP 地址(选择 设置 > 系统 > 网络)。注意,机器人的 IP 地址必须与工控机的 IP 地址在同一网段。
使用 Mech-Mind 3D Vision Interface¶
注解
使用前,确保 Mech-Vision 和 Mech-Viz(如需要) 工程已准备好可以运行,并且 Mech-Mind 工控机已经连接到机器人的网络。
要使用 Mech-Mind 3D Vision Interface,您需要先完成如下配置。
单击 Mech-Vision 工具栏中 机器人与接口配置 。
单击 选择机器人 下拉框,选择 品牌机器人 ,然后单击 选择机器人型号 ,选择具体 UR 机器人型号,单击 下一步 。
在 通信方式 下,接口类型选择 标准接口 ,协议选择 TCP Server ,协议格式选择 ASCII ,主机端口固定使用 50000 (不可更改),最后单击 应用 。
在 Mech-Vision 主界面,确认工具栏中的接口服务已开启。
在 Mech-Vision 上启动接口服务后,在 UR 示教器上进行如下操作以连接接口服务。
在 UR 示教器上,在顶部栏按 安装设置,然后选择 URCap > 网络设置。URCap 插件的 网络设置 界面将显示。
将 MechMind 工控机 IP 地址 和 端口号 分别设置为 Mech-Mind 工控机的 IP 地址和端口号(与 Mech-Vision 通信配置中的端口号保持一致),并按 Apply。
按 Connection Test 按钮。
使用插件进行自动标定¶
本节介绍使用 URCap 插件进行自动标定的过程。
标定过程包含四个步骤:
创建标定程序¶
在 UR 示教器顶部栏中,按 新建 按钮,并选择 程序,用于创建一个新程序。
在顶部栏中按 程序 按钮,然后选择 URCaps > 标定。在左侧面板的 机器人程序 程序树下自动创建出 Calibrate 程序示例节点。
创建的程序示例节点仅是模板。您需要进一步配置标定程序,并示教标定起始点。
示教标定起始点¶
在程序树下选择 Calibrate 节点,在右侧面板的 命令 页签中,根据实际需要将 从 Mech-Vision 获取的位姿类型 参数设置为“Joint Angle”或“Flange Pose”。
在程序树下选择 MOVEJ 节点,在右侧 移动 面板,设置运动类型为“MoveJ”、“MoveL”或“MoveP”,并将 设置 TCP 设置为 忽略激活的 TCP 以确保路点被记录为法兰位姿。
手动控制将机器人移动到标定起始点。
返回 UR 示教器,在程序树下选择 start_pose 节点,并在右侧 路点 面板中按 设置路点 按钮。界面将会跳转至 移动 页签。
在 移动 页签中,确认机器人当前的法兰位姿合适,并按 确定 按钮。
运行标定程序¶
在左侧面板选择 机器人程序 程序树,在右侧面板中取消勾选 程序永远循环 复选框,以确保该程序仅运行一次。
出于安全考虑,在底部栏中将机器人的速度降低到合适的值,例如 10%。
当标定程序成功运行时,Mech-Vision 日志栏的 Console 标签页中显示“进入标定流程,请在 Mech-Vision 中启动标定”。
在 Mech-Vision 中完成标定¶
启动 Mech-Vision 软件,单击 相机标定(标准) 或在菜单栏中依次单击 打开标定工具。
根据相机的安装方式,按照软件提示完成剩余操作。
若相机安装方式为 Eye to Hand 模式,则参考 《Eye to Hand 场景下的自动标定》。
若相机安装方式为 Eye in Hand 模式,则参考 《Eye in Hand 场景下的自动标定》。
如需保存标定程序进行后续使用,在顶部栏选择 保存 > 将程序另存为…。
完成手眼标定后,您可以 创建抓放程序 来控制 UR 机器人执行视觉引导的抓放作业。
创建抓放程序¶
URCap 插件提供抓放示例节点,通过极少的编程工作就可以创建出抓放程序。
抓放示例程序节点提供三种选项:
使用 Mech-Vision(抓取点):适用于仅使用 Mech-Vision 工程(未包含“路径规划”步骤)且机器人不需要 Mech-Viz 规划路径的场景。
使用 Mech-Vision(抓取路径):适用于仅使用 Mech-Vision 工程(包含“路径规划”步骤)且机器人不需要 Mech-Viz 规划路径的场景。
使用 Mech-Viz:适用于 Mech-Viz 工程与 Mech-Vision 工程一起使用为机器人提供无碰撞的运动路径的场景。
该插件为每个选项提供的程序模板,方便进行编程。
注解
下文示例假设已经正确设置当前使用的夹具以及工具中心点(TCP)。
使用 Mech-Vision(抓取点)¶
要创建使用 Mech-Vision(抓取点)的程序,执行如下步骤:
选择使用 Mech-Vision(抓取点)选项。
在 UR 示教器顶部栏中,按 新建 按钮,并选择 程序,用于创建一个新程序。
在顶部栏中,按 程序 按钮,然后选择 URCaps > 抓放示例。在左侧面板的 机器人程序 程序树中将自动添加 Pick and Place 示例节点。
在右侧面板的 命令 页签中,按 使用 Mech-Vision(抓取点) 按钮。程序树中的 Pick and Place 节点下将会自动添加程序模板。
选择程序树中的 Mech-Mind Connect 节点,在右侧 Mech-Mind 连接 面板,确认 主机 IP 的值为 Mech-Mind 工控机的 IP 地址。
设置图像采集点。
手动控制机器人移动到合适的位置。Mech-Vision 将在此处触发拍照。
注解
对于 Eye-In-Hand 场景,机器人应置于工件的上方。
对于 Eye-To-Hand 场景,机器人应不阻挡相机的视野。
返回 UR 示教器,在程序树中选择 MOVEJ 节点,在右侧 移动 面板中设置运动类型为“MoveJ”、“MoveL”或“MoveP”, 并将 设置 TCP 设置为 使用激活的 TCP。
在程序树中选择 Capture_image 节点,并在右侧 路点 面板中按 设置路点 按钮。界面将会跳转至 移动 页签。
在 移动 页签中,确认机器人当前的 TCP 位姿合适,并按 确定 按钮。
图像采集点设置后,执行下一步。
触发 Mech-Vision 工程运行。
在程序树中选择 Trigger Mech-Vision 节点,并在右侧 触发 Mech-Vision 面板中设置参数 发送机器人位姿类型、 Mech-Vision 工程编号 和 返回的位姿数量。
参数
描述
发送机器人位姿类型
指定真实机器人的位姿将以何种形式传入 Mech-Vision。
Current Position:该指令以“机器人当前关节角+当前法兰”形式向视觉系统传入机器人位姿。若工程为 Eye In Hand 模式,则推荐使用该参数。 在使用时,Mech-Vision 工程中存在的“路径规划”步骤将使用机器人发送关节角。如果法兰位姿为全零,则忽略法兰数据。
Predefined JPs:该指令以预定义关节角(读取用户设置的关节角变量)形式向视觉系统传入机器人位姿。若工程为 Eye To Hand 模式,则推荐使用该参数。 在使用时,Mech-Vision 工程中存在的“路径规划”步骤将使用机器人发送的关节角作为初始位姿。
Mech-Vision 工程编号
Mech-Vision 工程编号,可在 Mech-Vision 工程列表窗口中查看,工程名称前的数字表示工程编号。
返回的位姿数量
期望 Mech-Vision 输出的物体位姿的数量。
如果设为 0,输出所有检测出的物体位姿,但不超过20个。
如果设为 1 到 20 之间的整数,若检测到的物体位姿总数大约期望的值,Mech-Vision 将尝试返回固定数量的物体位姿。
(可选)按 设置配方编号 按钮,程序树中的 Trigger Mech-Vision 节点下将自动添加 Set Recipe ID 节点。
在程序树中选择 Set Recipe ID 节点,并在右侧 切换配方 面板中设置参数 工程参数配方编号。
设置如何接收 Mech-Vision 结果。
在程序树中选择 Receive Mech-Vision Result 节点,选择接受数据类型为 Basic,并为 位姿、 标签、 接受位姿数量、和 状态码 设置变量名,用于存放视觉结果。
参数
描述
接受数据类型
Basic:接收视觉点和标签。 Planned path:接收“路径规划”步骤输出的路径点和标签。 Custom:接收视觉点、标签和自定义端口数据。
位姿
检测到物体的位姿,格式为XYZ。机器人携带激活的 TCP 可以直接运动至该点。默认情况下,接收的视觉点将保存在数组变量“pose[]”中,数组起始索引为 1。
标签
检测到物体的标签,标签值为整数。默认情况下,标签保存在数组变量“label[]”中,数组起始索引为1。标签和位姿一一对应。
接受位姿数量
接收检测到物体位姿的总数。
状态码
返回的状态码。请参考 状态码列表。11xx 为正常状态码,10xx 为错误码。默认情况下,状态码保存在变量“status_code”中。
起始索引值
位姿和标签的数组变量的起始索引。默认情况下,起始索引值为 1。
抓取点索引
在 接受数据类型 为 Planned path 时,此变量才会在界面显示。 该变量表示在接收的路径点中视觉移动点的索引。例如,路径规划步骤返回三个点,依次为相对移动_1,视觉移动_1和相对移动_2,则抓取点索引为 2。 默认情况下,抓取点索引保存在变量“vision_point”中。
自定义数据
在 接受数据类型 为 Custom 时,此变量才会在界面显示。 该变量表示从 Mech-Vision 中的输出步骤接收自定义数据,即除 poses 和 labels 之外其他端口的数据。 默认情况下,自定义数据保存在变量“custom_data”中。
设置抓取作业。
注解
一次抓取作业包含了三个运动:Pick_above,直线运动到抓取点;Pick,抓取物体;Pick_depart,抓取物体后离开。
在右侧 Pick 面板,分别为 抓取接近点 和 抓取离开点 设置参数 距离 和 参考方向。
在程序树中选择 pick 节点下的 MoveJ 节点,并在右侧 移动 面板,保持默认配置。
在程序树中选择 pick_above 节点,并在右侧 路点 面板,保持默认配置。
在程序树中选择 MoveL 节点,并在右侧 移动 面板,保持默认配置。
在程序树中选择 pick 节点,并在右侧 路点 面板,保持默认配置。
根据实际情况,在 pick 节点后添加夹具控制逻辑。
在程序树中选择第二个 MoveJ 节点,并在右侧 移动 面板,保持默认配置。
在程序树中选择 pick_depart 节点,并在右侧 路点 面板,保持默认配置。
设置放置作业。
在程序树中选择 place 节点下的 MoveJ 节点,并在右侧 移动 面板,保持默认配置。
手动控制机器人移动到放置被抓物体的正确位置。
返回 UR 示教器,在程序树中选择 MoveJ 节点下的 place 节点,并在右侧 路点 面板中按 设置路点 按钮。界面将会跳转至 移动 页签。
在 移动 页签中,确认机器人当前的法兰位姿合适,并按 确定 按钮。
设置放置位姿后,根据实际情况,在 place 节点后添加夹具控制逻辑。
使用 Mech-Vision(抓取路径)¶
要创建使用 Mech-Vision(抓取路径)的程序,执行如下步骤:
选择使用 Mech-Vision(抓取路径)选项。
在 UR 示教器顶部栏中,按 新建 按钮,并选择 程序,用于创建一个新程序。
在顶部栏中,按 程序 按钮,然后选择 URCaps > 抓放示例。在左侧面板的 机器人程序 程序树中将自动添加 Pick and Place 示例节点。
在右侧面板的 命令 页签中,按 使用 Mech-Vision(抓取路径) 按钮。程序树中的 Pick and Place 节点下将会自动添加程序模板。
参考 使用 Mech-Vision(抓取点) 的步骤 2,确认 主机 IP 的值为 Mech-Mind 工控机的 IP 地址。
参考 使用 Mech-Vision(抓取点) 的步骤 3,设置图像采集点。
参考 使用 Mech-Vision(抓取点) 的步骤 4,触发 Mech-Vision 工程运行。
参考 使用 Mech-Vision(抓取点) 的步骤 5,设置接收 Mech-Vision 结果。
注意
在程序树中选择 Receive Mech-Vision Result 节点后,接受数据类型需为 Planned path。
抓取点索引变量表示在接收的路径点中视觉移动点的索引。例如,路径规划步骤返回三个点,依次为相对移动_1,视觉移动_1和相对移动_2,则抓取点索引为 2。默认情况下,抓取点索引保存在变量“vision_point”中。
配置运动循环,使机器人按照“路径规划”步骤输出的路径运动,即靠近物体、抓取物体和离开抓取点(不包含放置物体)。关于如何设置 MoveL 和 MoveJ 节点,参考 使用 Mech-Vision(抓取点) 的步骤 6。
注解
在实际应用中,运动循环可能包含多个 pick_above MoveJ 节点、一个 pick MoveL 节点和多个 pick_depart MoveJ 节点。
参考 使用 Mech-Vision(抓取点) 的步骤 7,设置放置作业。
使用 Mech-Viz¶
要创建使用 Mech-Viz 的抓放程序,执行如下步骤:
选择使用 Mech-Viz 选项。
在 UR 示教器顶部栏中,按 新建 按钮,并选择 程序,用于创建一个新程序。
在顶部栏中,按 程序 按钮,然后选择 URCaps > 抓放示例。在左侧面板的 机器人程序 程序树中将自动添加 Pick and Place 示例节点。
在右侧面板的 命令 页签中,按 使用 Mech-Viz 按钮。程序树中的 Pick and Place 节点下将会自动添加程序模板。
选择程序树中的 Mech-Mind Connect 节点,在右侧 Mech-Mind 连接 面板,确认 主机 IP 的值为 Mech-Mind 工控机的 IP 地址。
参考 使用 Mech-Vision(抓取点) 的步骤 3,设置图像采集点。
注解
该点为触发 Mech-Viz 工程的位置。
触发 Mech-Viz 工程运行。
在程序树中选择 Trigger Mech-Viz 节点,并在右侧 触发 Mech-Viz 面板中设置参数 发送机器人位姿类型。
注解
若发送机器人位姿类型为 Current Position,则表示将机器人的当前关节角和法兰位姿传入 Mech-Viz,Mech-Viz 软件中仿真机器人将会从当前机器人关节角位置开始,运动到第一个路径点。若发送机器人位姿类型为 Predefined JPs,则表示将机器人的一个预定义关节角传入 Mech-Viz,Mech-Viz 软件中仿真机器人将会从当前机器人关节变量设定的位置开始,运动到第一个路径点。
如果您需要在 Mech-Viz 工程中使用分支步骤并希望机器人选择分支出口,按 设置分支出口 按钮,并跳到步骤 b 设置分支出口。
如果您使用了有索引参数的移动类步骤,按 设置索引值 按钮,并跳到步骤 c 设置索引值。
(可选)在程序树中选择 Set Branch Value 节点,并在右侧 Set Branch Value 面板中设置参数 分支步骤编号 和 分支出口号。
(可选)在程序树中选择 Set Index Value 节点, 并在右侧 Set Index Value 面板中设置参数 移动类步骤编号 和 索引值。
设置如何接收 Mech-Viz 结果。
在程序树中选择 Receive Mech-Viz Result 节点,并为 位姿、 标签、 速度 (%)、 接受位姿数量、 状态码、和 抓取点索引 设置变量名,用于存放 Mech-Viz 输出的路径规划结果。
参数
描述
位姿
规划的路径点位姿,格式为XYZ。机器人携带激活的 TCP 可以直接运动至该点。默认情况下,接收的位姿将保存在数组变量“pose[]”中,数组起始索引为 1。
标签
检测到物体的标签,标签值为整数。对于非视觉点,标签应为 0。默认情况下,标签保存在数组变量“label[]”中,数组起始索引为1。标签和位姿一一对应。
速度
机器人移动到路径点的运动速度,单位为 %。
接受位姿数量
接收路径点位姿的总数。
状态码
返回的状态码。请参考 状态码列表。21xx 为正常状态码,20xx 为错误码。默认情况下,状态码保存在变量“status_code”中。
抓取点索引
在接收的路径点中视觉移动点的索引。例如 Mech-Viz 返回三个点,依次为相对移动_1,视觉移动_1和相对移动_2,则抓取点索引为 2。默认情况下,抓取点索引保存在变量“vision_point”中。
起始索引值
位姿和标签的数组变量的起始索引。默认情况下,起始索引值为 1。
配置运动循环,使机器人按照 Mech-Viz 规划的路径运动,即靠近物体、抓取物体和离开抓取点(不包含放置物体)。关于如何设置 MoveL 和 MoveJ 节点,参考 使用 Mech-Vision(抓取点) 的步骤 6。
注解
在实际应用中,运动循环可能包含多个 pick_above MoveJ 节点、一个 pick MoveL 节点和多个 pick_depart MoveJ 节点。
如果您在 Receive Mech-Viz Result 节点修改了位姿、标签等参数的默认变量名,您需要相应修改该步骤中的变量名。
参考 使用 Mech-Vision(抓取点) 的步骤 7,设置放置作业。