RoboDK API

RoboDK API(应用程序接口)是RoboDK通过编程语言公开的一组例程和命令。RoboDK API允许您使用一种受支持的编程语言(如c#、Python或c++)为任何机器人编程。你也可以使用RoboDK API自动化重复的任务。

与特定于供应商的机器人编程相比,使用RoboDK API可以使用独特/通用编程语言(如Python)模拟和编程任何机器人。下面的页面提供了概述和视频显示使用API进行离线编程

RoopDK API可用于Python、C、C、C++、Visual Basic(.NET)和MATLAB,这些编程语言都可以用于任何机器人手臂的仿真和编程。

RoboDK API可用于以下任务:

1.自动化模拟:创建宏以自动化RoboDK模拟器中的特定任务,例如移动对象、参考帧或机器人。

2.离线编程:使用通用编程语言对机器人进行离线编程。使用API时,RoboDK将为特定机器人控制器生成特定程序(例如Python或C#中的程序)。机器人程序根据后置处理程序为特定的机器人选择。这个使用Python进行离线编程本文档的第节提供了更多信息和示例。

3.在线编程:使用通用编程语言在线编程机器人:可以移动机器人并从RoboDK API检索其当前位置。RoboDK将使用机器人司机. 这个使用Python进行在线编程本文档的第节提供了更多信息和示例。

换句话说,用于模拟(1)的相同程序可用于生成机器人程序(2,离线编程)和实时移动机器人(3,在线编程)。

本文件涵盖以下主题:

·这个Python API以模拟、离线编程和在线编程为例

·这个c# API以模拟、离线编程和在线编程为例

·这个Matlab API以Simulink为例进行仿真

·这个命令行启动RoboDK的选项

Python API

python是一种广泛用于通用编程的高级编程语言。Python是一种编程语言,它可以让你工作得更快,更有效地集成你的系统。与其他语言相比,Python的语法允许程序员用更少的代码行来表达概念,使其友好且易于学习。

这个上一节解释将RobodkAPI与广泛使用的机器人编程语言(如Python)结合使用的优点。

默认情况下,Python会自动安装并与RoboDK集成。选择工具选择权其他更改默认设置(Python位置和Python编辑器)。

RoboDK API -图片1

Python的RoboDK API分为以下两个模块:

·这个robolink模块(robolink.py):robolink模块是RoboDK和Python之间的接口。RoboDK站点树中的任何对象都可以使用Robolink对象进行检索,它由项目对象。根据Robolink可以对该项目执行不同的操作。项目类。

·这个robodk模块(robodk.py):robodkmodule是一个用于Python的机器人工具箱,允许使用位姿转换操作,并为不同的机器人供应商获得欧拉角。所有的后处理器都依赖于此robodk模块。

你可以在文件夹C:/RoboDK/Python/中找到Python模块。当你在RoboDK中运行Python程序和post处理器时,默认情况下会自动包含此文件夹(用作PYTHONPATH)。

以下各节分别介绍如何创建用于模拟、脱机编程和联机编程的简单程序。更多示例可在RoboDK的Python API页另外,RoboDK库在默认库(C:/RoboDK/library/)中的脚本和宏文件夹中提供了Python脚本示例。

Python模拟

这个例子展示了如何使用UR机器人创建一个新站,并用机器人模拟六边形运动。

1.选择文件RoboDK API -图片2开放

2.打开UR10机器人

3.选择文件RoboDK API -图片3开放

4.打开Paint_gun.tool文件

5.打开示例Python程序SampleOfflineProgramming.py从C: / RoboDK /图书馆/宏/

6.双击离线编程项目运行模拟。机器人应在机器人当前位置周围绘制一个六边形,TCP轨迹将显示为黄色。
或者,右键单击程序并选择RoboDK API -图片5运行Python脚本

7.右键单击RoboDK API -图6离线编程项目并选择Python脚本编辑.我们应该看到如下图所示的程序。

SampleOfflineProgramming宏将绘制一个多边形的边n_sides和半径R在机器人的当前位置,相对于机器人参考框架。如果需要,将机器人移动到不同的位置,更改多边形尺寸,然后重新运行程序。

此示例类似于中显示的程序离线编程网站部分(包括视频)。

RoboDK API -图片7

Python OLP

Python程序可以使用用于模拟机器人的相同Python代码离线生成(如前一节所示)Python模拟部分)。离线编程允许生成可以在特定机器人控制器上执行的机器人程序:

1.右键单击一个RoboDK API -图8Python程序

2.选择生成机器人程序(F6)

在这种情况下,程序不是模拟的,而是快速执行以获得结果:一个特定于机器人控制器的机器人程序。

RoboDK API -图9

RDK = Robolink ()

RDK.setRunMode(RUNMODE_MAKE_ROBOTPROG)

Python在线编程

可以使用与模拟机器人相同的Python代码直接在机器人上执行Python程序(如Python模拟部分)。在线编程允许使用机器人驱动程序在特定的机器人控制器上运行通用程序:

1.右键单击一个RoboDK API -图片10Python程序

2.选择在机器人上运行

当Python程序被执行时,程序将在机器人上运行。

RoboDK API -图11

RDK = Robolink ()

RDK.setRunMode(运行模式\运行\机器人)

在RoboDK中解决Python设置问题

如果在安装Python之后安装了RoboDK,RoboDK可能无法正确运行Python脚本或生成程序。本节介绍了在RoboDK中正确设置Python解释器并运行Python脚本时应遵循的步骤。

如果看到错误信息,如“在Tools-Options-Python中设置Python解释器的路径”或“运行Python脚本失败”,应遵循以下步骤。在:Tools-Options-Python选项卡"中设置Python解释器的路径。

如果你已经安装了Python,请按照以下步骤正确设置Python解释器路径:

1.选择Windows上的开始菜单并键入python

2.右键单击要与RoboDK一起使用的Python版本,然后选择打开文件位置。

RoboDK API -图片12

对打开的文件夹重复此过程:

3.右键单击Python 3.7并选择Open file location。

RoboDK API -图13

4.在路径标题栏中选择路径上的复制。

RoboDK API -图14

在RoboDK设置中提供Python路径:

5.RoboDK开放。

6.选择工具选项。

7.选择Python选项卡。

8.将路径粘贴到Python解释器盒子添加/python.exe,如下图所示。使用正斜杠或反斜杠都可以。

RoboDK API -图片15

c# API

c#的RoboDK API是一个RoboDK.cs源文件,包含RoboDK类(类似于Python的RobolinkRoboDK类)。项目class (similar to Python’sRobolink.项目类API),以及其他用于机器人的工具,如Matrix类(RoboDK.Mat),用于使用姿态转换操作矩阵操作。

C#(发音为“C sharp”)是由Microsoft开发的一种编程语言,旨在构建在.NET Framework上运行的各种应用程序。C#简单、功能强大、类型安全且面向对象。这个主要部分本文档的第1部分解释了将RoboDK API与广泛使用的编程语言(如用于机器人编程的C#)结合使用的优点。

c#的RoboDK API提供了一个示例项目,如下图所示(包含完整的源代码)。也可以将它作为一个NuGet包来集成到任何。net项目中。

RoboDK API -图片16

选择加载文件打开RoboDK工作站或RoboDK支持的任何其他文件。如果加载了robot,robot变量将相应更新(与使用选择机器人).

c#模拟

当使用机器人命令(如MoveJ, MoveL或setDO)时,默认情况下会模拟c#程序。当示例c#项目启动时,模拟模式也是默认选择的。

RoboDK API -图片17

这意味着机器人的动作将在RoboDK中模拟。例如,我们可以通过选择右边的按钮(+Tx, -Tx,…)来移动机器人10毫米的步骤,或者我们可以选择Run Test Program来围绕机器人的当前位置进行六边形移动。

设置任何断点以调试应用程序并检查机器人目标。机器人目标可以定义为关节坐标或Mat变量(4x4姿势矩阵),也可以检查为XYZWPR格式,以解决程序问题。有关参考框架的详细信息,请参阅参考系部分。

RoboDK API -图片18

也可以将运行模式更改为离线编程在线编程(在机器人上运行),如以下部分所示。


c# OLP

C#程序可以使用与模拟机器人相同的C#代码离线生成(离线编程)。按照以下步骤测试此功能:

1.选择离线编程在运行模式一节中

2.选择运行测试程序或任何其他运动组合

3.选择生成程序获取特定于供应商的机器人程序

在这种情况下,程序不是模拟的,而是快速执行以获得结果:一个特定于机器人控制器的机器人程序。一旦程序生成,运行模式将变回模拟。

RoboDK API -图片19


c#网络编程

C#程序可以使用用于模拟的相同C#代码直接在机器人上执行。在线编程允许使用机器人驱动程序在特定机器人控制器上运行通用程序。按照以下步骤使用C#示例项目测试此功能:

1.选择在机器人运行在运行模式一节中

2.选择将使机器人移动的任何其他命令

运动将在真实机器人上运行,模拟器将与机器人同步运动。

RoboDK API -图片20

RDK=Robolink();

RDK.setRunMode(运行模式\运行\机器人);

Matlab API

RoboDK API for Matlab可在RoboDK安装文件夹中找到,其中包含一些示例(C:/RoboDK/Matlab/)。RoboDK API for Matlab是作为一组m文件提供的。

Matlab是一种专有的编程语言,由MathWorks除此之外,MATLAB允许矩阵操作、函数和数据的绘制以及算法的实现。

这个主要部分本文档的第1部分解释了将RoboDK API与广泛使用的编程语言(如Matlab)结合使用进行机器人编程的优点。

Matlab的RoboDK API包括:

·m是一个与RoboDK接口的类。RoboDK站点树中的任何对象都可以使用Robolink对象检索,并由RobolinkItem对象表示(与Python的相同)Robolink类)。

·m是一个类,表示Station树中的RoboDK项。可以对该项目执行不同的操作(与Python的Robolink.项目类)。

·transl.m、rotx.m、roty.m和rotz.m是在给定XYZ平移向量或沿特定轴旋转的情况下创建姿势矩阵的函数。

·Pose_2_XYZRPW.m一个XYZRPW_2_Pose.m允许将姿势转换为XYZ位置和RPW Euler角度,反之亦然。有关详细信息,请参阅参考系部分。

以下页面提供了示例代码:
//www.hi-ks.com/Matlab-API

Simulink示例

一个Simulink项目可以作为一个例子。在仿真中,机器人沿着任意生成的一组XYZ坐标移动。

下面的视频显示了运行模拟的结果:
https://www.youtube.com/watch?v=7DDBMwa0-Oc

RoboDK API -图片21

命令行选项

本节介绍RoboDK启动时可用的命令行选项。也可以使用命令函数。

本节展示一些相关命令,可以帮助您自定义RoboDK如何启动。选择Tools-Run Script-ShowCommands显示启动RoboDK时可以使用的其他命令。

下面的调用表示对RoboDK的通用调用,带有一些参数:

RoboDK.exe-[option1]-[option2]打开文件A-[option3]打开文件B。。。

RoboDK支持的所有文件格式都可以作为参数提供。包括以下格式:

·RDKRoboDK station文件:该文件将整个项目保存在一个文件中,包括任何依赖项(机器人、工具、NC文件等)。

·机器人机器人文件:加载机器人文件还将为该机器人创建一个参考帧。

·工具工具文件:自动附加到最后添加的机器人。

·stl / wrl /步骤/ stp / iges igs /奉养对象(三维几何体):可以轻松地创建对象转换为工具

·apt / gcode /数控数控程序文件:RoboDK自动准备一个铣削项目(实用程序铣削项目)。

RDK=Robolink(args='-ADDFRAME“-RENAME=Main Ref“load\u object.stl”)

以下列表显示了一些可用的命令行选项:

-NOSPLASH

在启动时删除RoboDK启动图像。

-隐藏的

开始RoboDK隐藏。您将需要使用API显示RoboDK

newinstance

强制启动一个新的RoboDK实例。

-端口=20501

强制API通信通过给定的端口(TCP/IP协议)。默认端口为20500。

-退出最后一个COM

当不再有实例与RoboDK API通信时,关闭RoboDK。

调试

在bin文件夹中创建允许调试应用程序的RoboDK.debug.txt文件。

-斯基皮尼

跳过自定义用户设置。

-SKIPMAINT

跳过维护更新弹出窗口。在维护到期前一个月,RoboDK可能会在启动时显示一个阻止弹出窗口,以更新许可证。此参数允许您对该警告进行静音。

-设置=文件路径

从文本文件加载参数。该文本文件的每一行都被视为一个参数。

-NOSHOW

当RoboDK加载文件和更新程序时,隐藏所有窗口。

-NO_WINDOWS

隐藏加载NC文件时通常自动显示的所有窗口。

-努伊

在没有用户界面(窗口和3D视图)的情况下启动RoboDK。使用此选项可以在后台使用API运行RoboDK。如果你展示RoboDK,你将无法看到3D视图。

-TREE_STATE = 1

不要展示车站的树。

-TREE_STATE = 6

显示停靠在窗口左侧且不透明的桩号树。

-ADDFRAME

添加一个新的参考框架。任何加载的新对象都将被放置在这个参考框架中。

-重置

强制在加载新对象时将其放置在桩号参考坐标系(而不是最后添加的坐标系)上。

-重命名=名称

更改上次添加的参照系或对象的名称。

-MOVE=x;YZrx;ry;rz

移动添加的最后一个参考帧(以毫米和度为单位)。

-更新\u APT=YES

将覆盖具有相同APT文件的任何机器人亚博ios下载加工项目

-更新\u APT=否

不覆盖任何机器人加工项目(如果名称匹配,将创亚博ios下载建重复项目)。

-UPDATE=file.apt

加载或更新APT文件,如果没有问题,则生成robot程序。

-REPLACE_ITEMS = YES

当加载新文件且名称匹配时,更新现有的工具和对象。

-REPLACE_ITEMS =没有

加载新文件时,永远不要覆盖工具和对象。

-设置颜色=蓝色

设置上次加载对象(对象、工具、机器人或机构)的颜色。颜色可以是一种颜色命名颜色或十六进制颜色(例如#RRGGBBAA,示例:#88112288)。

-AUTOGEN_MAINPROG =掠夺

生成一个主程序,该程序依次调用与加载的APT文件链接的程序。

-SELECTTOOL = # 1

将可用的第一个机器人工具(或相应的数字)设置为忙碌的工具(加载新程序时使用的工具)。

-SELECTTOOL = "工具名称"

选择忙碌的使用名称匹配的工具。

-ADDCUTTER=长度|路径/刀具名称.stl

添加刀具允许添加刀具相对于刀架的几何形状。在RoboDK中,刀具被视为一种工具,保持刀具的几何形状。刀具的几何形状必须是STL文件(ASCII或二进制),原点在刀具的尖端。长度必须以相对于刀架的mm为单位(刀架的正Z轴必须指向外面)。

-SELECTCUTTER =“刀的名字”

选择刀具与选择刀具具有相同的效果,刀具被视为刀具。

显示

显示RoboDK窗口。这是自动完成时,所有文件已加载和加工项目已更新。

使用以下选项之一将改变由-SHOW命令引起的可见性。

辞职

如果没有错误消息,则退出程序。

即使有任何错误消息,也会退出程序。