入门

本入门指南将帮助您在 RoboDK 中创建一个用于机器人仿真和离线编程的简单项目。本示例展示了如何模拟机器人上漆应用中的机械臂并对其进行编程。

本示例还概述了机器人的基本概念,如如何使用参考坐标系、工具和目标。

示例部分提供了更多不同应用的示例。例如:机器加工抛光焊接

新 RoboDK 项目

RoboDK 项目中使用的所有机器人、物体和工具都保存为一个 RoboDK 工作站(RDK 文件)。一个 RoboDK 工作站包含与机器人、工具、参考坐标系、目标、物体和其他参数有关的所有设置。RoboDK 工作站存储在一个文件中(扩展名为 RDK)。

由于机器人文件、工具和物体都保存为一个 RDK 文件,因此无需单独保存一份。

按照以下步骤创建一个新的 RoboDK 项目(RDK 工作站):

1.从网站下载并安装 RoboDK:https://robodk.com/download。

2.双击的快捷方式 Getting Started - 图片 1

3.如果已打开其他台站:           
选择文件 ➔Getting Started - 图片 2新建站 (Ctrl+N) 启动新项目

Getting Started - 图片 3Getting Started - 图片 4

可以同时打开多个 RoboDK 项目。双击树中的工作站图标Getting Started - 图片 5将激活并显示该项目。

视频本视频教程将帮助您开始第一步(添加新项目、选择机器人并添加参考坐标系):       
https://www.youtube.com/watch?v=uxlfxglE2YE&index=2&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl.

选择机器人

新机器人可以从电脑或 RoboDK 在线资源库中添加到项目中。

请按照以下步骤从在线资源库中选择机器人:

1.选择文件➔Getting Started - 图片 6 打开机器人资源库 (Ctrl+Shift+O)。打开一个新网站,显示在线资源库。您也可以通过选择工具栏中的相应按钮打开资源库。

1.使用筛选器按品牌、负载等条件查找机器人。在本例中,我们将使用优傲(Universal Robots)UR10 机器人(有效载荷为 10 千克的机器人,伸展距离为 1.3 米)。

2.选择 "打开",几秒钟后,机器人就会自动出现在工作站中。或者,您也可以下载机器人文件,然后在 RoboDK 中打开,方法是将文件拖放到窗口中。

3.加载机器人后,可关闭在线资源库。

提示:在在线资源库中选择 "清除过滤器 "或 "全部清除",即可移除您使用过的任何过滤器。在 RoboDK 资源库部分了解有关资源库的更多信息。

小贴士另外,也可以从网站 https://robodk.com/library 单独下载机器人文件(扩展名为.robot),并在 RoboDK 中打开,方法是将文件拖放到主窗口,或选择文件 打开

注:每次在 RoboDK 中加载新的机器人时,都会添加一个新的参考坐标系,代表机器人的基本坐标系。

注意:从资源库中加载机器人或任何其他示例都将存储在您的文档文件夹(C:/Users/Your Name/Documents/RoboDK)中。生成的程序默认也存储在此文件夹中。

此示例项目的默认位置是C:/RoboDK/Library/Tutorial-UR-Painting.rdk.

Getting Started - 图片 7

添加参考坐标系

参考坐标系(也称坐标系)可以将物体相对于机器人或相对于三维空间中的其他物体进行定位(包括位置和方向)。

注:有关参考坐标系的更多信息,请参阅参考坐标系部分。

请按照以下步骤添加新的参考坐标系:

1.选择程序➔Getting Started - 图片 8 添加参考坐标系插件
或者,选择工具栏中的相应按钮

2.双击参考坐标系(树上或主屏幕上的 3D 几何图形上),输入图像中显示的坐标(X,Y,Z 位置和方向的欧拉角)。在每种情况的顶部都可以使用鼠标滚轮快速更新主屏幕上参考坐标系的位置。 
默认使用以下颜色:

X 坐标➔红色。

Y 坐标➔绿色。

Z 坐标➔蓝色。

第 1 次欧拉旋转➔青色。

第 2 次欧拉旋转➔品红色。

第 3 次欧拉旋转➔黄色。

提示:选择工具➔选项➔显示➔显示 XYZ 轴字母,查看坐标系轴。

3.选择查看➔ 放大参考坐标系 (+) 来增大参考坐标系。

4.选择查看➔ 使参考坐标系变小 (-) 来减小参考坐标系的大小。

5.选择查看➔ 显示/隐藏屏幕上的文本 (/),以显示或隐藏屏幕上的文本。

6.也可以选择F2 重新命名树中的任何参考坐标系或物体

Getting Started - 图片 9

视频:如何创建参考坐标系 https://www.youtube.com/watch?v=ilmJSD-a9bs&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=5。

如果使用一个以上的参考坐标系,可以将它们拖放到工作站树内,以符合实际设置中存在的依赖关系。例如,参考坐标系 2 可以相对于机器人底座参考坐标系放置。在这种情况下,如果移动 UR10 基准参考坐标系,坐标系 2 也会随之移动。如果使用其他机器人或参考坐标系,必须考虑到这一点。下一张图片显示了依赖关系的不同。

小提示按住鼠标右键在树中拖放参考坐标系(或任何其他项目),可重新排列工作站树中的项目(在其他项目之前、之后或作为嵌套项目)。

Getting Started - 图片 10

即使依赖关系不同,仍可输入或检索任何参考坐标系相对于任何其他参考坐标系的坐标,如下图所示。大多数机器人控制器都需要参考坐标系相对于机器人基准坐标系的坐标。

Getting Started - 图片 11

按住 Alt 键,或选择工具栏中的相应按钮Getting Started - 图片 12,也可以在主屏幕中移动参考坐标系。然后用鼠标在屏幕上拖动参照物。参照物移动时,相应的坐标值也会随之更新。

Getting Started - 图片 13

导入 3D 物体

RoboDK 支持大多数标准 3D 格式,如 STL、STEP(或 STP)和 IGES(或 IGS)格式。也支持其他格式,如 VRML、3DS 或 OBJ(Mac 和 Linux 版本不支持 STEP 和 IGES)。

请按照以下步骤加载新的 3D 文件:

1.选择文件➔Getting Started - 图片 14 打开

2.选择RoboDK 默认资源库中的物体检视:    
C:/RoboDK/Library/Object Inspection

3.或者,将文件拖放到 RoboDK 的主窗口中,使其自动导入。

4.将物体拖放到参考坐标系第 2 坐标系(工作站树内)。

小贴士按住右键拖放物体,可重新排列树内的项目。

视频:如何导入物体和创建工具:https://www.youtube.com/watch?v=gNgCwwpZrWE&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=4。

重要提示: 将物体嵌套在参考坐标系中,以便相对于物体进行目标教学,这一点非常重要。然后,如果参考坐标系移动,目标将与物体一起移动。

Getting Started - 图片 15

提示:对于大型 STEP 或 IGES 文件,可以通过选择来加快导入速度:      
工具➔选项➔ CAD➔快速导入设置。更多信息请参见 STEP/IGES 部分

提示虽然物体可以相对于所连接的参考坐标系移动(双击物体并输入坐标),但建议始终保持相对于给定的参考坐标系,并移动参考坐标系。这样,只需从/向机器人控制器更新参考坐标系,即可正确匹配物体参考坐标。

Getting Started - 图片 16Getting Started - 图片 17

创建工具

新的机器人工具(TCP)可在 RoboDK 中加载或根据之前加载的 3D 几何图形创建。

请按照以下步骤加载物体并将其设置为机器人工具:

1.选择文件➔Getting Started - 图片 18 打开(如一节所述)

2.选择上漆枪.stl 文件,将其添加为一个物体(它将添加到机器人基础坐标系上)

3.将物体拖放到工作站树内的机器人项目上,如下图所示

新工具可以加载或保存为 .tool 格式。

Getting Started - 图片 19Getting Started - 图片 20

默认情况下,RoboDK 将 TCP 定义在 [X,Y,Z]=[0,0,200] mm 的位置。可以通过手动输入坐标和/或按住 ALT+Shift 键移动 TCP 来更改,如下图所示:

1.按住ALT+Shift 或从工具栏中选择高亮显示的按钮

2.选择浅蓝色平面(TCP 的 XZ 平面),然后将 TCP 向喷涂枪表面大致拖动,如下图所示

3.选择绿色圆形箭头(绕 Y 轴旋转),使 Z 轴指向外侧

4.获得坐标估计值后,可以通过双击上漆枪物体手动润色这些值。在每种情况下都可以使用鼠标滚轮快速更新主屏幕上的位置。

注: 这些是根据 3D 绘图得出的估计值。如果 TCP 的定义已在机器人上校准,则可以通过在该箱中粘贴坐标来导入。

Getting Started - 图片 21

此时,可以保存电台:

1.选择文件➔Getting Started - 图片 22 保存站 (Ctrl+S)

2.将文件保存为 Paint Test.rdk。窗口标题和工作站名称将被更新

注意:下面 2 个小节是可选的,显示了需要以不同方式定义 TCP 的假设情况。这些小节中的修改将不用于本示例的后续步骤。要继续本例,请继续阅读显示如何创建目标的部分。

设置相对 TCP

您可以将一个工具(TCP)相对于另一个工具(TCP)进行参照,例如,定义给定的间距或将刀具相对于参照物或刀架放置。

这些步骤假定必须在沿 Z 轴 150 毫米处相对于第一个 TCP 增加第二个插件:

1.右键点击机器人

2.选择Getting Started - 图片 23 添加工具 (TCP)。将出现一个名为工具 2 的新项目。

3.双击这个新的 TCP

4.选择相对于➔ 上漆枪的工具中心点

5.输入坐标 Z 为 150 毫米,并将其他位移和旋转设为 0。

Getting Started - 图片 24

这个相对于之前定义的 TCP 的新 TCP 将在本演示接下来的章节中删除。

移动工具几何图形

在 RoboDK 中加载工具时,工具的几何形状可能没有相对于机器人法兰(适配器参考坐标系)正确对齐。

以下步骤假定出现了错误,工具绕 Z 轴安装了 180 度,因此应进行以下修正:

1.在工具详细信息窗口中选择更多选项

2.在喷枪几何图形的黄色外壳(Z 旋转)中输入 180,如下图所示。鼠标滚轮可用于每个外壳的顶部,以快速更新主屏幕上的位置。

Getting Started - 图片 25

提示:如果 TCP 是在此操作之前定义的,那么 TCP 将不再与几何图形相匹配。要将 TCP 的位置更新到正确的位置,我们可以按照本节开头所述的步骤操作(按住 Alt 键或手动输入数值)。或者,我们可以选择脚本(自定义位姿)表示方法(如下图所示),将 TCP 绕机器人法兰旋转,并在 TCP 定义前插入 Z 旋转(在 TCP 行定义的开头)。

Getting Started - 图片 26

注:有关如何提供变换和坐标系的更多信息,请参阅参考坐标系部分。

创建目标

机器人的位置记录为目标。笛卡尔目标定义了工具相对于坐标系的位置。关节目标定义了给定机器人关节值的机器人位置。

注:RoboDK 默认创建笛卡尔目标(红色目标)。您可以右键单击目标并将其设置为关节目标,将其转换为关节目标(绿色目标)。

按照以下步骤创建两个目标,分别作为新的主目标和接近目标:

1.双击机器人,显示机器人面板。

2.选择 "油漆枪 "作为工具坐标系。工具或参考坐标系一旦激活,就会在树形图标中显示一个绿点。

3.选择第 2 个坐标系作为参考坐标系。

4.按住Alt 键,通过 TCP 或机器人法兰拖动机器人到安全位置,避免与任何物体发生碰撞。或者,移动工具坐标系 (TCP) 相对于参考坐标系的坐标。

5.使用 "其他配置 "部分在不同的机器人配置之间切换,并确保没有任何机器人轴接近轴限制。

视频:如何创建机器人目标:https://www.youtube.com/watch?v=ylKTq03-b_A&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=5

提示: 一般来说,程序的第一个目标最好让关节轴尽可能居中(关节滑块尽可能居中,如下图所示)。这样可以确保机器人在沿着程序做线性移动时不会达到轴的极限。这可以通过更改机器人配置来实现。

6.选择程序➔Getting Started - 图片 27 Teach Target(Ctrl+T),或工具栏上的相应按钮(如图所示)。目标将作为激活参考坐标系的隶属物放置,并自动记住当前机器人的位置(笛卡尔轴和关节轴)。       
在本示例中,第一个目标使用的机器人关节坐标为[您可以从文本中复制这些关节值,然后使用相应的按钮粘贴Getting Started - 图片 28到机器人面板的关节轴点动中

注: 选择另一个参考坐标系将把新目标置于该参考坐标系中。

Getting Started - 图片 29

7.F2 将第一个目标重命名为 "主页"。或者,选择工具➔ 重命名项

8.将机器人移近零件的一条边缘(使用Alt 键拖动工具、输入坐标或手动点动轴)。在本例中,我们使用的机器人关节坐标为 [0,0,200,180,0,180] 度。

9.选择程序➔Getting Started - 图片 30 Teach Target(Ctrl+T)或工具栏上的相应按钮来创建新目标。

10.如步骤 7 所示,将目标重命名为Approach

11.交替选择 "原点目标 "和 "接近目标",即可看到机器人在两个目标之间移动。

12.如果需要记录某个目标的不同位置,请右键单击目标,然后选择 "教导当前位置"(Alt+ 双击)。

13.右键单击目标,选择Getting Started - 图片 31 目标选项...(F3),打开下图所示的目标选项窗口。

Getting Started - 图片 32

如果需要,可提供不同的值来定义目标。

插件程序

您可以轻松创建一个新程序,让机器人安全接近工件。

请按照以下步骤创建一个从 "原点 "目标移动到 "接近 "目标的程序:

1.从菜单中选择程序➔Getting Started - 图片 33或工具栏中的相应按钮(如下图所示),添加程序

2.将程序重命名为ApproachMove。

3.选择主页目标。

4.选择程序➔Getting Started - 图片 34 移动关节指令(或工具栏中的相应按钮)    
将自动添加两条指令,告诉机器人我们使用的是什么工具坐标系和参考坐标系。

注: 如果没有选择目标,将在机器人当前位置创建一个新目标。

5.选择接近目标

6.再次选择程序➔Getting Started - 图片 35 移动关节指令

双击 ApproachMove 程序,它将执行程序模拟。模拟栏和预计周期时间将显示出来。

Getting Started - 图片 36

注:有关如何添加机器人程序指令的更多信息,请参阅机器人程序部分。

在曲面上创建目标

在表面上创建目标功能对于上漆或检视等应用非常有用。

请按照以下步骤使用表面上的 "教授目标 "来教授目标:

1.选择程序➔Getting Started - 图片 37 在表面示教目标 (Ctrl+Shift+T)

2.将鼠标光标移到零件上,即可预览机器人到达零件时的样子。

3.在物体上选择几个点(左击)。每次鼠标左键点击都将定义一个新目标,保持 TCP 的 Z 轴与表面法线(垂直于表面)。

4.如有必要,可通过移动左侧面板上的滚轮或按左/右键,围绕 Z 轴调整方向。

5.按住Alt 键移动现有目标。

6.按住Alt+Shift 可移动现有目标,同时使其保持在表面。

7.选择Esc 键或在屏幕上右击并选择 "完成",退出 "在表面创建目标"模式。

Getting Started - 图片 38

创建目标后,按照以下步骤生成程序:

1.选择在表面创建的所有目标并右击。

提示:按住 Ctrl 键可选择多个目标。或者,选择目标 3,按住 shift 键,然后选择目标 10,即可选择目标 3 和目标 10 之间的所有目标。

2.从弹出菜单中选择重命名组

3.输入上漆。所有选定的目标都将重新命名和编号。

4.再次右键点击目标,选择 "创建程序"。一个新程序就会生成。第一个运动将是关节运动,随后的运动将是线性运动。

5.选择F2 将程序重命名为PaintTop。

6.双击PaintTop 程序,即可看到模拟沿目标移动。

7.如有需要,可通过拖动程序内的移动指令重新排列移动顺序。

Getting Started - 图片 39

添加撤回程序

您可以轻松创建一个新程序,将机器人从零件上安全地缩回到安全位置。

与之前的操作类似:

1.将机器人置于最后一个目标处,相对于机器人面板中的参考坐标系(下图中高亮显示的情况),通过增加 TCP 的 Z 坐标来向上移动机器人。

2.选择程序➔Getting Started - 图片 40 添加程序,或工具栏上的相应按钮。

3.选择程序➔Getting Started - 图片 41 移动线性指令,或工具栏中的相应按钮Getting Started - 图片 42。按F2 键,将其重命名为 "缩回"

4.选择主页目标

5.选择程序➔Getting Started - 图片 43 移动关节指令。将添加一个新的移动指令,与原点目标相连。

双击每个程序,逐个模拟。按住空格键或选择 "快速仿真 "按钮可加快仿真速度 / 。Getting Started - 图片 44Getting Started - 图片 45

Getting Started - 图片 46

主程序

您可以轻松创建一个机器人主程序,依次执行进场、上漆和缩回程序。

请按照以下步骤创建主程序:

1.选择程序➔Getting Started - 图片 47 添加程序

2.选择程序➔Getting Started - 图片 48 程序调用指令

3.输入名称ApproachMove 或选择 "选择程序 "自动选择。

4.选择确定

5.如下图所示,对PaintTop Retract 重复前面的步骤

双击主程序将运行整个模拟。右键单击主程序并选择 "循环",可使其进行循环模拟。

提示:在提供程序名称作为程序调用时,可以键入多行。每一行都将转换为新的程序调用指令。

Getting Started - 图片 49

如果移动参考坐标系 2(例如,按住 Alt 键并拖动参考坐标系的 X/红色轴),物体和目标也将随之移动。如果目标变得不可触及,目标图标Getting Started - 图片 50上将显示一个小警告标志,如下图所示。

提示:选择查看➔ 显示/隐藏机器人工作区 (*) 以显示机器人工作区。

Getting Started - 图片 51

生成机器人程序

在RoboDK中做好模拟准备后,您就可以轻松生成机器人程序。通过机器人程序,您无需编写任何代码,即可在机器人控制器上运行程序。

请按照以下步骤生成机器人程序:

1.右键单击程序(例如MainProg)。也可以按住 Ctrl 键同时选择多个程序进行生成。

2.选择生成机器人程序 (F6)。或者选择 "生成机器人程序为...",指定保存文件的位置。

然后,您就可以在文本编辑器中看到机器人程序。

有关如何生成机器人程序的更多信息,请参阅程序部分

在本例中,您将获得 UR 机器人的 SCRIPT 程序文件。对于优傲(Universal Robots)机器人,您可以单独导出任何程序,也可以导出包括子程序在内的主程序。

您获得的文件是离线生成程序的结果。可将该文件发送至机器人控制器,以运行在 RoboDK 中模拟的相同动作。

注: 如果您使用的是 UR 机器人,可以更改后处理器,生成机器人控制器可读取的 URP 文件。请访问以下章节,了解有关 SCRIPT 程序和 URP 程序区别的更多信息:如何为优傲(Universal Robots)控制器生成和修改URP程序,以及使用优傲(Universal Robots)控制器启动SCRIPT程序

注意:"在机器人上运行 "选项需要机器人驱动器才能正常工作。这些驱动器可能需要在机器人控制器上安装额外的软件选项和/或在机器人控制器上进行特定设置(UR 机器人不属于这种情况)。

Getting Started - 图片 52

提示:使用RoboDK进行离线编程时,需要使用后处理器来定义用于生成每个程序的语法。RoboDK 提供多种后处理器,以支持多个机器人控制器和不同的制造应用。对于特定的机器人控制器,可能有不止一种后处理器可用。

可以为 UR 机器人更换后处理器,自定义程序的生成方式:

1.右键点击程序或机器人。

2.选择Getting Started - 图片 53 选择后处理器。

3.选择优傲(Universal Robots URP)。

注意:所有带有黑色图标的后处理器都可以通过选择程序➔ Add/Edit Post Processor(添加/编辑后处理器)进行修改。

再次生成程序。在本例中,默认后处理器使用关节值来定义每个线性移动,而第二个后处理器则使用直角坐标来定义每个线性移动。

注:更多信息请参见 "后处理器 "部分

使用脚本

您可以使用脚本自定义模拟。RoboDK API允许您根据需要自定义仿真。RoboDK 与 Python 集成,通过使用示例脚本或使用 RoboDK API,您可以改善仿真结果。

默认情况下,RoboDK 会安装 Python 和一组示例脚本,让您可以改进模拟效果。其中包括模拟上漆枪、模拟 2D 相机、将 SVG 文件转换为机器人程序、给定对峙自动设置 TCP、使用 Python 对机器人进行编程、模拟离散事件等。也可以使用其他程序语言,如 C#、C++ 或 Matlab。更多信息,请参阅 RoboDK API 部分

在本例中,我们将添加一个现有的示例脚本,模拟喷漆枪的行为。您也可以用透明色来更换喷涂的颜色(通过选择工具➔ 更换颜色工具 - Shift+T),或者用适当的颜色加载现有模型(可从本地资源库中的 paint_gun.tool 或在线库中获取,注意可能需要更新设置工具指令以链接到新工具)。

1.选择文件➔Getting Started - 图片 54 打开一个新的 Python 脚本(py 文件)。

2.导航至 C:/RoboDK/Library/Macros/ 查看一些示例宏。

3.选择"喷涂"

4.选择打开。一个新的 Python 物件Getting Started - 图片 55将被插件。该宏可以模拟喷涂体积的粒子沉积建模。

5.双击SprayOn 宏进行测试。

6.选择开启即可激活。

7.按住 Alt 键,拖动机器人凸缘,用上漆枪沿表面移动机器人。          
您应该可以看到上漆枪的痕迹。颜色和透明度应根据 TCP 与表面的距离远近而变化。
选择 Esc 键清除模拟上漆。

8.双击相同的SprayOn 程序,选择关闭以关闭粒子模拟。

Getting Started - 图片 56

为了更好地了解幕后发生的事情,通过以下方式查看或编辑 Python 代码:

1.右键单击Getting Started - 图片 57 SprayOn

2.选择 "编辑 Python 脚本"

将出现一个新窗口(文本编辑器),显示模拟喷涂行为的代码以及 Python 如何与 RoboDK 集成。

要在主程序中考虑到喷涂模拟,我们可以按照以下步骤进行:

1.右键单击 "调用 ApproachMove "指令。

2.选择添加指令➔Getting Started - 图片 58 程序调用指令,第一次程序调用后将添加一条新指令,并弹出一个新窗口。

3.输入SprayOn(1)。

4.选择确定。

5.PaintTop 程序设置SprayOn(0) 后重复同样的操作,如下图所示。       
如有必要,可通过在程序中拖放来重新排列指令的顺序。

6.运行MainProg 程序。迭代两次后,结果应该如图所示(以正常速度模拟)。

Getting Started - 图片 59

还可以创建新的宏:

1.选择程序➔Getting Started - 图片 60 添加 Python 程序。

2.右键点击新程序,选择编辑 Python 脚本。

RoboDK 支持在程序内设置机器人速度、设置数字输出、等待数字输入、显示信息等。这些指令可在程序菜单下找到。