远程 TCP 和工具路径 URCap – URScript 函数和示例,远程工具中心点和 G 代码工具路径导入介绍
本文介绍如何使用远程 TCP 和工具路径 URCap 启用的 URScript 功能。
最后修改于 2024 年 9 月 6 日
创建日期:2020年7月22日。
示例适用于:Polyscope for e-Series 版本:5.6.0.90886
请注意,旧版本或新版本软件的行为可能会有所不同。
此示例仅适用于 e-Series。程序文件可在页面底部下载。
远程 TCP 和工具路径 URCap 旨在增强 Universal Robots 的工艺应用能力。工艺应用意味着处理在制品,使其更接近最终产品。示例包括点胶、粘合、喷漆、去毛刺、缝纫、抛光和焊接。远程 TCP 和工具路径 URCap 支持两项关键功能:远程工具中心点和 G 代码工具路径导入。
高级用户和 UR+ 开发人员可以使用一组 URScript 函数来使用远程 TCP 和 G 代码工具路径导入功能,而无需依赖 Polyscope 中的默认 GUI。这些函数可以嵌入到其他 URCaps 中,以实现更简化的工作流程。
激活 URCap
远程 TCP 和工具路径 URCap 嵌入在 Universal Robots e-Series 的 Polyscope 5.6 及更高版本中。使用此 URCap 无需额外付费。要激活此 URCap,请转到菜单 → 设置 → 系统 → URCaps → 远程 TCP 和工具路径,然后按照机器人注册和许可证激活步骤进行操作。
步骤 1. 登录www.universal-robots.com/activate
第 2 步:将注册文件下载到您的 USB 驱动器
步骤 3. 将 USB 驱动器插入教导器并点击激活以加载注册文件
步骤 4. 重启机器人以完成激活过程

有关如何激活此 URCap 的更多信息,请参阅Polyscope 5.8 软件手册中的第 11.4 节“机器人注册和 URCap 许可证文件” ,或观看UR 支持网站上的此教程视频。
启动 URCap 控制器
激活 URCap 后,转到安装 → URCaps → 远程 TCP 和工具路径以访问 URCap 主页。首先,在使用 URCap 之前,请确保在此页面上启动控制器。当控制器状态更改为正在运行时,您可以继续使用此 URCap。

远程 TCP 和工具路径 URCap 启用了新的 URScrip 模块processpath。它包括以下功能:
功能 |
描述 |
mc_add_circular( pose_via,pose_to,a,v,r,模式=0 ) |
添加运动以移动到姿势(工具空间中的圆形) |
mc_add_linear(姿势,a,v,r ) |
添加运动以移动到姿势(工具空间中的线性) |
mc_add_path(路径 ID, a, v, r ) |
添加根据 nc_file 中指定的 g 代码移动的动作。 |
mc_get_target_rtcp_speed() |
此命令返回远程 TCP 的目标线速度。 |
mc_initialize(模式,tcp,doc=6 ) |
初始化一个新的运动序列。 |
mc_load_path( nc_file, useFeedRate ) |
加载.nc 工具路径文件。 |
mc_run_motion(id = -1) |
使用 ID id 执行动作。 |
mc_set_pcs(件) |
设置零件坐标系 (PCS)。 |
mc_set_speed_factor(秒) |
设置速度因子在范围[0, 1]内。 |
有关这些函数的详细说明,请参阅Polyscope 5.8 脚本手册中的第 7 节模块 processpath。
加载工具路径文件
请下载下面附件中的myToolPathFile.nc。这是一个示例 G 代码工具路径文件。以下是此工具路径的说明。

如果您正在 UR 机器人上进行测试,请将此工具路径文件保存在 USB 驱动器的根目录下。导航到 URCap 中的以下页面,将工具路径文件导入 Polyscope。

如果您使用 URSim 在计算机上进行测试,请将工具路径文件保存在“/programs”下。

如果您的 URSim 中尚不存在此目录,请按照以下步骤创建它。
在 URSim 中打开系统工具 > XTerm。
转到根目录:cd /
创建一个名为“programs”的新文件夹:sudo mkdir programs
授予访问“程序”的权限:sudo chmod guoa+wx programs
以下示例展示了如何在脚本中使用这些函数。请选择 UR5e 进行测试。
示例 1 - 远程 TCP 移动
URScript 文件 (Example1.script) 附加如下。
# 定义远程 TCP
远程TCP = p[-0.3909, -0.519, 0.295, 1.57, 0.0, 0.0]
# 定义零件坐标系 (PCS)
pcs = p[0.0, 0.0, 0.01, 0.0, 0.0, 0.0]
# 使用远程 TCP 初始化(模式 = 1)并约束 6-DOF
mc_initialize(1,remote_tcp,doc = 6)
# 设置 PCS
mc_set_pcs(件)
# 定义航点
路径点 1 = p[0.05, 0.1, 0.1, 0.0, 0.0, 0.0]
路径点2 = p[0.05, 0.05, 0.1, 0.0, 0.0, 0.0]
circle_viapoint = p[0.075, 0.1, 0.1, 0.0, 0.0, 0.0]
圆的端点 = p[0.1, 0.05, 0.1, 0.0, 0.0, 0.0]
# 定义运动参数
加速因子 = 0.05
速度因子 = 0.25
混合半径 = 0.02
# 约束模式下的圆周运动
模式=1
# 添加线性和圆周运动
mc_add_linear(路径点 1、加速因子、速度因子、混合半径)
mc_add_linear(航路点2,加速因子,速度因子,混合半径)
mc_add_circular(圆的通过点,圆的端点,加速度因子,速度因子,混合半径,模式)
# 为后续的运动设置不同的PCS
件数 = p[0.0, 0.0, 0.02, 0.0, 0.0, 0.0]
加速因子 = 0.1
速度因子 = 1.0
blend_rad_toolpath = 0.0
mc_set_pcs(件)
# 添加 G 代码工具路径运动
path_id = mc_load_path("/programs/myToolPathFile.nc", use_feedrate = False)
mc_add_path(路径 ID、加速因子、速度因子、blend_rad_toolpath)
# 执行动作
mc_run_motion()
示例 2 - 使用 5 自由度的常规 TCP 工具路径移动
URScript 文件 (Example2.script) 附加如下。
# 定义 TCP
tcp = p[0.0, 0.03, 0.125, 2.3580, 0.0, 0.0]
# 定义零件坐标系 (PCS)
件数 = p[-0.25, -0.65,0.05,0.0,0.0,-1.57]
# 使用常规 TCP(模式 = 0)进行初始化并约束 5-DOF
mc_initialize(0,tcp,doc = 5)
# 定义初始航点
路径点 1 = p[0.05, 0.1, 0.1, 0.0, 0.0, 0.0]
# 定义运动参数
速度因子 = 0.1
加速因子 = 0.25
混合半径 = 0.02
blend_rad_toolpath = 0.0
# 设置 PCS
mc_set_pcs(件)
# 添加线性运动
mc_add_linear(路径点 1、加速因子、速度因子、混合半径)
# 添加 G 代码工具路径运动
path_id = mc_load_path("/programs/myToolPathFile.nc", use_feedrate = False)
mc_add_path(路径 ID、加速因子、速度因子、blend_rad_toolpath)
# 执行动作
mc_run_motion()
示例 3 – 工具路径随数字输出移动
URScript 文件 (Example3.script) 附加如下。
# 此示例演示如何使用运动 ID 等待特定运动完成并设置数字输出
# 定义远程 TCP
远程TCP = p[-0.3909, -0.519, 0.295, 1.57, 0.0, 0.0]
# 定义零件坐标系 (PCS)
pcs = p[0.0, 0.0, 0.01, 0.0, 0.0, 0.0]
# 使用远程 TCP 初始化(模式 = 1)并约束 6-DOF
mc_initialize(1,remote_tcp,doc = 6)
# 设置 PCS
mc_set_pcs(件)
# 定义航点
路径点 1 = p[0.05, 0.1, 0.1, 0.0, 0.0, 0.0]
路径点2 = p[0.05, 0.05, 0.1, 0.0, 0.0, 0.0]
circle_viapoint1 = p[0.075, 0.1, 0.1, 0.0, 0.0, 0.0]
圆的端点1 = p[0.1, 0.05, 0.1, 0.0, 0.0, 0.0]
# 定义运动参数
速度因子 = 0.1
加速因子 = 0.05
混合半径 = 0.02
# 添加线性和圆周运动
id0 = mc_add_linear(航点1、加速因子、速度因子、混合半径)
id1 = mc_add_linear(航点2、加速因子、速度因子、混合半径)
id2 = mc_add_circular(circle_viapoint1,circle_endpoint1, acc_factor, speed_factor, blend_radius, mode = 1)
# 定义并设置 G 代码工具路径的 PCS
pcs_toolpath = p[0.0, 0.0, 0.02, 0.0, 0.0, 0.0]
mc_set_pcs(pcs_toolpath)
# 添加 G 代码工具路径运动
path_id = mc_load_path("/programs/myToolPathFile.nc", use_feedrate = True)
id3 = mc_add_path(path_id, 1.0, 0.0, 0.0)
# 执行动作至 id=id2 并等待 id2 完成。
# 这将执行从 id0 到 id2 的动作。
mc_run_motion(id2)
# 设置数字输出
设置标准数字输出(7,true)
# 执行其余动作 - 在本例中,仅执行 id3
mc_run_motion()
# 设置数字输出
设置标准数字输出(7,false)
更多技术参考, 公众号文章:
Airking Robots
北京艾科伯特科技有限公司,是专注协作机器人和移动机器人的技术公司,Airking Robots——艾科伯特立足于航空/航天,专注于机器人智能制造方向,Airking Robots是优傲机器人,Robotiq等协作机器人方向中国区域金牌提供商
商务联系:

更多案例请关注公众号:





