优傲(Universal Robots)可通过两种不同的方法RoboDK 进行编程:URP 文件和脚本文件。
1.图形用户界面(URP 文件):URP 程序是通过机器人示教器的触摸屏创建的。一个 URP 程序可以有一个或多个 SCRIPT 文件作为子程序。在执行前,URP 程序会在机器人控制器的幕后转化为 SCRIPT 程序。
2.脚本文件:脚本程序使用 UR 编程语言。与其他编程语言一样,UR 脚本也有变量、类型、控制语句流、函数等。此外,UR 脚本还有多个内置变量和函数,可控制输入/输出和机器人的运动。
使用 RoboDK,您可以生成可由 UR 机器人执行的 SCRIPT 和 URP 文件。此外,如果机器人与计算机相连,还可以通过 RoboDK 在机器人上执行程序。
RoboDK 还能将 SCRIPT 文件导入模拟器。这样,您就可以模拟 SCRIPT 程序,对其进行修改并重新导出。
UR 机器人的图形用户界面称为 PolyScope(如下图所示)。
机器人的 IP 需要直接从 RoboDK 模拟器执行程序。也可以通过 FTP 传输程序文件。
机器人的 IP 可以从 UR示教器主屏幕的 "关于 "菜单中获取。
机器人必须通过以太网连接(直接连接或通过网络)与计算机相连。通过 Ping 测试可以检测网络链接是否已正确建立。
机器人驱动器提供了离线编程(生成程序,然后传输到机器人并执行)的替代方案。您可以直接在机器人上运行 RoboDK 中的模拟程序(在线程序)。更多信息,请参阅 "机器人驱动器 "部分。
请按照以下步骤从 RoboDK 连接到机器人:
1.在 RoboDK 中右击机器人
2.选择: 连接到机器人...
3.输入机器人的 IP 地址
4.选择连接。
如果连接成功,应显示 "就绪 "的绿色信息。
重要: 如果您使用的是 URe 机器人系列(UR3e、UR5e 或 UR10e),则需要启用 UR 的远程控制选项。
注意: 如果连接失败,请确保在计算机和机器人之间正确建立了网络连接。确保计算机 IP 与机器人位于同一网络。在 Windows 系统中,您可能需要管理员权限才能这样做。更多信息请参阅驱动器故障排除部分。
注意:为了更好地排除故障,建议关闭 Windows 防火墙。
从连接菜单中选择 "获取机器人关节"、"移动关节 "和 "移动线性",即可移动机器人。
提示: 如果机器人没有反应,双击 "断开连接 "可强制驱动器进程停止。然后,选择 "连接",即可正常重启连接。
从电脑到机器人运行程序有两种不同的方法:
1.在 RoboDK(在线程序)中带反馈逐步在机器人上运行:
这种方法将机器人作为服务器,每条指令在模拟器中执行时都会逐步发送给机器人。这种方法可用于调试目的。
a.右键单击程序(本例中为 Print3D)
b.选择在机器人上运行
c.双击程序启动它(或右击并选择运行)
选中该选项后,每次双击程序(或右键单击,然后选择运行)时,它都会连接到真正的机器人。
这些操作也可从 RoboDK API 中获得,它可以将机器人编程与其他应用程序整合在一起。API 可用 Python 和 C# 等程序语言编写。
2.将程序发送至机器人 生成完整的程序,将其传输至机器人,并在真正的机器人上启动程序(机器人离线编程):
a.右键单击程序(本例中为 Print3D)
b.选择发送程序到机器人(Ctrl+F6)。
如果您使用的是 URe 机器人(UR3e、UR5e 或 UR10e),则应启用 UR 机器人控制器上的远程控制选项。
请按照以下步骤启用 URe 的远程控制功能:
1.从右上角按钮选择 "设置 "菜单
2.选择系统-远程控制
3.选择启用
4.将操作模式更改为远程控制
注:第一代 UR 机器人(非 URe),如 UR3、UR5 和 UR10,默认情况下已启用远程控制选项。
RoboDK 仿真准备就绪后,您就可以生成 SCRIPT 和/或 URP 程序。这两个文件可由机器人控制器执行。请按照以下步骤,从机器人仿真中生成 SCRIPT 和 URP 程序:
1.右键单击程序(本例中为 Print3D)
2.选择生成机器人程序 F6
程序将在文本编辑器中显示(可在菜单:工具➔ 选项➔ 程序中更换该行为)。
提示: 使用名为优傲(Universal Robots URP)的后处理器生成 URP 文件,可在机器人控制器上轻松修改。右击程序,选择 "选择后处理器",即可更改后处理器。
提示: 可以选择不同的后处理器或自定义后处理器,以定义程序的生成方式(例如,支持夹爪或外部传感器)。
注: 默认的后处理器(称为优傲(Universal Robots))会生成一个 SCRIPT 程序和一个以脚本文件形式执行程序的 URP 程序。此后置处理器经过优化,可以很好地处理大型程序(如果选择 Universal Robots URP 后置处理器,则不会出现这种情况)。
可以通过 SFTP 传输或 USB 驱动器传输 SCRIPT 和 URP 文件。
注:URP 程序可直接在机器人上执行,但 SCRIPT 程序必须从另一个 URP 程序执行。
以下步骤概述了在优傲(Universal Robots)机器人上加载 URP 文件的步骤。
1.右击程序,选择 "选择后处理器
2.选择优傲(Universal Robots URP)。
前 2 个步骤是可选的,因为默认职位也会生成 URP 文件,不过,它可以让您生成用户可读的 URP 程序,而不是执行脚本文件的 URP 程序。
3.右击程序,选择生成机器人程序 (F6)
4.将生成的 URP 文件保存到 USB 存储盘中。
5.将 USB 存储盘连接到机器人示教器(UR 的 Polyscope)
6.在机器人示教器上选择 "运行 "选项卡
7.选择 "加载程序",加载 RoboDK 生成的程序
8.选择 "程序 "选项卡,然后选择 "播放 "按钮启动程序
注意:您可能需要切换到手动模式(右上角显示手形的按钮必须可见)
注意:您可能需要激活机器人(左下方的指示灯应为绿色,而非红色)
9.选择播放按钮启动程序。
以下步骤和图片概括了在机器人上执行 SCRIPT 程序的步骤。运行 URP 程序文件不需要这些步骤:
1.在示教器主屏幕上选择机器人程序
2.选择空程序
3.选择 "结构 "选项卡
4.选择 "高级 "选项卡
5.选择脚本代码
6.选择文件(如图所示)
7.选择 RoboDK 生成的脚本文件
8.选择播放图标运行程序
9.选择文件➔保存更改
10.最后,就可以执行程序了
从 RoboDK 生成的 SCRIPT 程序(如按 F6 键)可通过 USB 盘传输到机器人,如果机器人和计算机连接,也可通过 FTP 传输。
建议将 FileZilla 客户端安装在默认路径下或直接安装在 RoboDK 安装文件夹内,以便 RoboDK 自动检测到它:
C:\RoboDK\FileZilla FTP 客户端
通过 FTP 传输文件:
1.右键点击机器人
2.选择连接至机器人...
3.选择 "探索"。FileZilla 客户端将打开(用于 FTP 传输的软件)。
4.选择文件➔ 网站管理器...
5.在预定义站点中选择优傲(Universal Robots)样本。
6.选择复制。将创建优傲(Universal Robots)设置的副本。
7.输入机器人的 IP 地址(本例中为 192.168.1.66)。
8.选择连接。
9.将之前生成的SCRIPT 文件传输到机器人。
SCRIPT 程序通常存储在机器人控制器的 /Programs/ 文件夹中。
注意:通信端口可能需要改为 22,UR 控制器可能只接受 SFTP 连接。
资源库中有一个宏,可以让您监控 UR 机器人的状态,并更新 RoboDK 中真实机器人的位置。
1.选择文件➔ 打开
2.从以下位置加载宏UR_ActivateMonitoring.py:C:/RoboDK/Library/Macros/。我们将在站内添加一个新的 Python 物件。
3.确保在机器人连接参数中正确提供了机器人的 IP 地址。
4.双击宏即可开始监控。
模拟器将更新机器人的位置,并在真实机器人移动时创建目标。此外,还可以监控机器人的速度、加速度和电机电流。
RoboDK 支持为可操作 RobotiQ 夹爪的优傲(Universal Robots)机器人生成程序。您可以通过离线生成程序,并使用适用于 UR 机器人的 RoboDK 驱动程序来操作 RobotiQ 夹爪。
您可以使用 RoboDK 离线生成程序,直接通过 UR 控制器操作 RobotiQ 夹爪。
要添加对 RobotiQ 夹爪的支持,应选择Universal_Robots_RobotiQ 后处理器:
1.右键单击程序或机器人
2.选择选择后处理器
3.选择优傲(Universal Robots)RobotiQ
小贴士更改与程序链接的后处理器适用于使用同一机器人的所有程序。
然后,您就可以生成可以操作 RobotiQ 夹爪的程序调用。例如:rq_move_and_wait( 255 ) 用于打开夹爪,或 rq_move_and_wait( 0 ) 用于关闭夹爪。
在 RoboDK 中准备好程序后,您可以使用以下 2 种方法之一在机器人上运行程序:
这种操作方法不需要使用驱动器。
提示:进一步了解如何在程序部分生成程序。
您可以使用驱动器(在机器人上运行选项)直接从 RoboDK 操作 RobotiQ 夹爪。通过用于 UR 和 RobotiQ 的 RoboDK 驱动程序,您可以从 RoboDK 中逐步运行程序,并随时从 RoboDK 中查看正在运行的指针。
确保您可以连接到机器人以使用此功能,这一点很重要。您可能需要 Windows 的管理员权限和/或添加 Windows 防火墙规则,以允许此通信(如果禁用 Windows 防火墙,可能有助于排除是否与防火墙有关的问题)。
注:选项 "生成程序 F6 "和 "将程序发送至机器人 "仍可正常工作,无需设置驱动器(Windows 防火墙、杀毒软件等)。
您应按照以下步骤,为直接从 RoboDK 移动 RobotiQ 夹爪添加支持:
1.下载以下脚本文件:
https://robodk.com/files/upload/progrobodk-rq.zip
注意:对于不支持通过工具进行通信的旧版控制器,应使用此版本:
https://robodk.com/files/upload/progrobodk-rq-no-tool-com.zip。
2.在此处解压缩 progrobodk.script 文件:
C:/RoboDK/bin/progrobodk.script
3.确保重新启动正在运行的驱动器(双击断开连接,然后,连接)。
4.选择工具-选项-驱动器
5.取消选中该选项:与机器人连接时,用 RoboDK 管理程序调用。
提示: UR日志可以帮助您了解机器人方面是否有任何故障。
要使用驱动器正确操作夹爪(例如,打开/关闭夹爪),应通过传递 0-255 范围内的参数,使用程序调用 rq_move_and_wait。
例如
rq_move_and_wait( 0 ) # 完全关闭夹爪
rq_move_and_wait( 255 ) # 完全打开夹爪
作为参数传递的数字是驱动器所需要的。
UR 机器人支持圆周运动和直线运动,但是,如果使用 UR 机器人的驱动器,您可能会在示教器上看到错误。
使用 UR 机器人驱动器("在机器人上运行 "选项)时,您可能会看到以下错误,这是因为该驱动器默认情况下没有应用 UR 后处理器中的所有默认过滤器。这些过滤器有助于清理代码,使 UR 控制器能顺利运行程序。
这些错误包括
1.半径无限大的圆弧 (CIRCULAR_ARC_WITH_INFINITE_RADIUS):当您尝试制作半径较大的圆弧运动时,可能会看到此错误。后处理器会自动将这些运动转换为线性运动。
2.半径为零的圆弧 (CIRCULAR_ARC_WITH_ZERO_RADIUS):小的圆弧运动可能会出现此错误。后处理器可能会删除这些移动或将其转换为线性移动。
离线生成程序(右键单击程序并选择生成程序,或 F6)或自动发送到机器人(右键单击程序并选择发送程序到机器人,或 Ctrl+F6)时,应该不会出现这些错误。这两种生成程序的方法使用的是后处理器,而不是驱动器。
如果脱机生成程序(不使用驱动器)时仍出现错误,可以通过以下步骤自动将圆弧移动转换为线性移动:
通过 URSim,您可以在计算机上模拟真实的优傲(Universal Robots)机器人控制器的行为。这样,您就可以熟悉控制器,并测试使用 RoboDK 生成的程序。本节将指导您安装 URSim。
您应从优傲(Universal Robots)网站下载 URSim 官方镜像,并从官方网站下载 Oracle VM VirtualBox。
1.从以下链接下载最新的非 Linux 版离线模拟器:https://www.universal-robots.com/download/?query=。
3.从以下链接安装Oracle VM VirtualBox 软件:https://www.virtualbox.org/wiki/Downloads。
4.在硬盘上创建一个文件夹,命名为URSim。
5.将下载的URSim 压缩文件内容解压到URSim 文件夹。
6.启动Oracle VM VirtualBox。
本节介绍如何使用 Oracle VM VirtualBox 创建新的虚拟机,以模拟优傲(Uiversal Robots)控制器。
请按照以下步骤创建新的 Linux 机器并加载下载的机械结构映像:
1.启动 VirtualBox,然后按 "新建"。
2.将名称设为UR_Sim_Eseries,并将机器文件夹设为您创建的文件夹。
将类型设为Linux,版本设为Ubuntu(64 位)。
3.将内存大小设置为768 MB,然后按 "下一步"。
4.选择 "使用现有虚拟硬盘文件",并定义解压缩文件所在文件夹的路径。按 "创建"。
5.按 "Start(开始)"启动虚拟机器。
6.如果出现 "Hardware acceleration is not available"(硬件加速不可用)的错误,则可能需要重启计算机并更改BIOS 设置以启用虚拟化。启用虚拟化后,您就可以重新启动 Windows、VirtualBox 和虚拟机器了。
7.虚拟机器现在应该可以启动了。
您可以选择在 Windows 计算机和模拟控制器之间设置一个共享文件夹,以方便传输程序文件。
按照以下步骤,将 RoboDK 程序文件夹与仿真 UR 机器人控制器中的新文件夹进行映射:
1.本节介绍如何在 Windows 和 URSim 之间建立共享文件夹以传输程序。
2.打开 URSim 的虚拟机。
3.在 Linux Ubunto 中创建一个文件夹,将其命名为"/home/ur/"下的 "RoboDK_Shared"。
4.拖放桌面上的 "RoboDK_Shared "文件夹,在桌面上创建快捷方式。
5.打开RoboDK_Shared。
6.选择查看➔ 文件夹查看模式➔ 紧凑型查看。
7.从 VirtualBox 窗口的顶部菜单中选择设备➔ 共享文件夹➔ 共享文件夹设置。
8.使用下图所示按钮添加新的共享文件夹。
9.选择 Windows 中共享文件夹的路径(可使用计算机上的任何文件夹)。
10.选中 "自动安装 "和 "永久安装"。
11.挂载点:/home/ur/RoboDK_Shared
12.从 VirtualBox 顶部菜单中选择设备➔ 插入 Guest Additions CD 映像。
13.选择 "在文件管理器中打开",然后按 "确定"。
14.打开文件夹:/media/ur/VBox_Gas_6.1.38 (VBox 版本可能有所不同)。
15.双击 "autorun.sh "文件并选择 "执行"(密码为 "easybot")。脚本运行可能需要一点时间。
16.重新启动虚拟机器。
注意:请确保使用Linux 开始菜单➔ 注销➔ 重新启动,或关闭虚拟机并选择发送关机信号选项重新启动。
17.打开终端:选择 "开始 "按钮➔ 系统工具➔ UXTerm。
18.在终端中键入:sudo adduser $USER vboxsf,然后按 "回车键"。
19.重启虚拟机。
20.如果您在 Windows 共享文件夹中用 RoboDK 生成了新文件,可以在虚拟机共享文件夹 "RoboDK_Shared "中按 "查看"→"重新加载文件夹 "或按 "F5 "键。
您可以使用 URSim 测试 RoboDK 和优傲(Universal Robots)控制器之间的连接。
1.在 Oracle VM VirtualBox 管理器中。
2.选择UR_Sim_Eseries VM 并按设置。
3.选择网络➔ Attached to: 并选择Bridge Adapter(网桥适配器),然后按OK(确定)。
4.启动 URSim 虚拟机器加工。
5.使用您首选的 UR 型号启动 Polyscope。
8.读取模拟器 IP 地址。
9.进入 URSim 的 "移动 "窗口。
10.在 RoboDK 工作站中打开相同的 UR 模型。
11.选择连接➔连接机器人。
12.输入 UR Sim IP 地址,然后按连接。
13.使用 "获取位置 "获取 URSim 机器人的位置,并将其应用于 RoboDK。
14.使用 "移动关节 "将 URSim 机器人移动到 RoboDK 机器人的位置。
15.右键单击 RoboDK 程序,选择 "在机器人上运行 "和 "运行",即可同时在 RoboDK 和 URSim 中运行程序。
本节中的步骤为可选步骤,仅在离线编程需要精度的特定情况下才需要执行。本节介绍如何在 RoboDK 中输入 UR 机器人的唯一运动学值,以精确模拟机器人。
重要: 如果您校准了机器人,并希望生成过滤程序以补偿机器人的实际误差,则需要执行此程序。
UR 控制器的运动学对于每个机器人都是独一无二的。运动学是以 DH 台面(Denavit Hartenberg)形式定义机器人的尺寸。RoboDK 模拟器默认使用标称 UR 运动学,因此模拟器运动学与控制器运动学之间可能存在 2 毫米到 10 毫米的差异。
要使仿真与真实机器人完全一致,只需打开用示教挂件创建的 URP 文件,即可导入 UR 机器人专用运动学。
注意:URP 文件必须与要模拟的控制器相同。
您也可以按照此步骤手动加载 URP 文件:
1.读取使用真实机器人(不使用 RoboDK 或 UR 模拟器)生成的 URP 文件
2.在 RoboDK 中打开机器人。您可以在 RoboDK 资源库中找到 UR 机器人。您也可以使用现有RoboDK 工作站中的 UR 机器人。
3.选择工具-运行脚本
4.选择UR_LoadControllerKinematics
5.选择从机器人控制器中提取的URP 文件。
您应该会看到如下图所示的信息。如果您没有加载有效的 URP 文件或没有选择正确的 UR 机器人,则可能会看到警告信息。
完成此步骤后,您可以右键单击机器人,选择 "另存为 .robot"。这些参数将与机器人文件一起保存,您可以使用机器人文件,而不必在每个新项目中重复此步骤。
RoboDK 会从 URP 文件中提取机器人的特定信息,并将其考虑到机器人文件中的模拟和离线编程中。如下图所示,您可以在机器人参数菜单中更改此设置并恢复默认运动学。
您会发现示教挂件中显示的位姿信息与 RoboDK 中显示的运动学信息一致(确保移除 RoboDK 和 UR 机器人上的工具坐标系和参考坐标系,以便进行比较)。
注意: RoboDK 使用修改后的 DH 参数(修改后的 Denavit Hartenberg),而不是 UR 使用的DH。RoboDK 会根据 URP 文件中的 DH 参数自动计算修改后的 DH 参数。因此,您从urcontrol.conf.[UR3/UR5/UR10]文件中提取的 DH 参数不能直接复制到此台面中。
UR 的运动学特性在不同的机器人之间会发生变化,因为每台机器人都是由 UR 在工厂校准的。库卡(Kuka)、ABB、安川(Motoman)或发那科(Fanuc)等其他机器人供应商则不校准机器人,除非您购买所谓的绝对精度选件。绝对精度选件可考虑多达40 个校准参数或更多。
此程序与RoboDK 的机器人校准不同。机器人校准有助于提高真实机器人的精度。