RoboDK API

RoboDK API (Application Program Interface)是RoboDK通过编程语言公开的一组例程和命令。RoboDK API允许您使用支持的编程语言之一对任何机器人进行编程,例如c#, Python或c++。您还可以使用RoboDK API自动执行重复性任务。

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

RoboDK API可用于Python, c#, C, c++, Visual Basic (. net)和Matlab。这些编程语言中的任何一种都可以用来模拟和编程任何机械臂。

RoboDK API可用于以下任务:

1.自动模拟:创建宏来自动执行RoboDK模拟器中的特定任务,例如移动对象,参考框架或机器人。

2.ayx官方脱机编程:使用通用编程语言脱机编程机器人。当使用API时,RoboDK将为特定的机器人控制器生成特定的程序(例如Python或c#中的程序)。机器人程序是根据后置处理程序为特定的机器人选择。的ayx官方Python离线编程本文档的部分提供了更多信息和示例。

3.在线编程:使用通用编程语言在线编程机器人:可以移动机器人并从RoboDK API检索它们的当前位置。RoboDK将驾驶机器人使用机器人司机。的Python在线编程章节提供更多信息和示例。

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

本文件涵盖以下主题:

·Python API以模拟、离线编程和在线编程为例ayx官方

·c# API以模拟、离线编程和在线编程为例ayx官方

·Matlab API以Simulink为例进行仿真

·命令行选项启动RoboDK

Python API

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

前一节解释了将RoboDK API与广泛使用的机器人编程语言(如Python)一起使用的优点。

Python默认自动安装并集成到RoboDK中。选择工具选项其他更改默认设置(Python位置和Python编辑器)。

RoboDK API -图片1

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

·robodk包是Python API的分布式入口点。它是所有子包和模块的共同父包。

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

·robomathsub-module (robomath.py)是一个Python机器人工具箱,允许操作姿势转换,并获得不同机器人供应商的欧拉角。所有后置处理器都依赖于这个模块。

·robodialogssub-module (robodialogs.py)是一个对话框工具箱。例如,打开和保存文件对话框、消息提示等。

·robofileiosub-module (robofileio.py)是一个文件操作工具箱。文件属性,CSV, FTP等。

·roboappssub-module (roboapps.py)是一个RoboDK应用工具箱。更多有关应用程式的资料,请参阅此处:AppLoader

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

下面的小节分别展示了如何创建一个简单的程序来进行模拟、离线编程和在线编程。ayx官方中提供了更多示例RoboDK的Python API页面。此外,RoboDK库在脚本和宏文件夹中附带了示例Python脚本,可在默认库(C:/RoboDK/ library /)中获得。

Python模拟

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

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

2.打开UR10机器人

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

4.打开Paint_gun.tool文件

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

6.双击SampleOfflineProgramming项来运行模拟。机器人应该在机器人当前位置周围画一个六边形,TCP的轨迹将以黄色显示。
或者,右键单击程序并选择RoboDK API -图5运行Python脚本

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

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

中显示的程序类似于此示例ayx官方网站的一部分(包括视频)。

RoboDK API -图7

Python OLP

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

1.右键单击aRoboDK API -图8Python程序

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

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

RoboDK API -图片9

RDK = Robolink()

RDK.setRunMode (RUNMODE_MAKE_ROBOTPROG

Python在线编程

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

1.右键单击aRoboDK API -图片10Python程序

2.选择在机器人上运行

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

RoboDK API -图片11

RDK = Robolink()

RDK.setRunMode (RUNMODE_RUN_ROBOT

在RoboDK中排除Python设置问题

如果安装Python后再安装RoboDK,可能会导致RoboDK无法正常运行Python脚本或生成程序。本节展示了在RoboDK中正确设置Python解释器并运行Python脚本时应该遵循的步骤。

如果您看到如下错误消息,您应该遵循以下步骤:"在Tools-Options-Python中设置Python解释器的路径"或" Failed to run Python script "。在“Tools-Options-Python”选项卡中设置Python解释器的路径。

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

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

2.右键单击您想与RoboDK一起使用的Python版本并选择打开文件位置。

RoboDK API -图12

对打开的文件夹重复此步骤:

3.右键单击Python 3.7并选择打开文件位置。

RoboDK API -图13

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

RoboDK API -图14

在RoboDK设置中提供Python路径:

5.RoboDK开放。

6.选择Tools-Options。

7.选择Python选项卡。

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

RoboDK API -图片15

c# API

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

c#(发音为“C sharp”)是一种由微软开发的编程语言,旨在构建各种运行在。net框架上的应用程序。c#简单、强大、类型安全、面向对象。主要部分本文档解释了将RoboDK API与广泛使用的编程语言(如c#)一起用于机器人编程的优点。

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

RoboDK API -图16

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

c#模拟

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

RoboDK API -图17

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

设置任何断点来调试应用程序并检查机器人目标。机器人目标可以定义为关节坐标或Mat变量(4x4姿态矩阵),并且它们可以作为XYZWPR格式进行检查以排除程序问题。中有关参考系的更多信息参考帧部分。

RoboDK API -图18

也可以将运行模式更改为ayx官方在线编程(在Robot上运行),如下部分所示。


c# OLP

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

1.选择ayx官方在运行模式部分中

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

3.选择生成掠夺获取厂商特定的机器人程序

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

RoboDK API -图19


c#在线编程

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

1.选择在机器人上运行在运行模式部分中

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

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

RoboDK API -图片20

RDK = Robolink();

RDK.setRunMode (RUNMODE_RUN_ROBOT);

Matlab API

RoboDK的Matlab API可在RoboDK安装文件夹中获得,并附有一些示例(C:/RoboDK/Matlab/)。Matlab的RoboDK API是作为一组m文件提供的。

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

主要部分本文档解释了将RoboDK API与广泛使用的编程语言(如Matlab)一起用于机器人编程的优点。

用于Matlab的RoboDK API包括:

·Robolink。m是一个与RoboDK接口的类。RoboDK Station Tree中的任何对象都可以使用Robolink对象进行检索,并由RobolinkItem对象表示(和Python一样Robolink类)。

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

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

·Pose_2_XYZRPW。m和xyzrpw__pose。m允许转换姿势到XYZ位置和RPW欧拉角,反之亦然。更多资料请参阅参考帧部分。

下面的页面提供了示例代码:
//www.x7093.com/Matlab-API

仿真软件的例子

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

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

RoboDK API -图21

命令行选项

介绍启动RoboDK时可用的命令行选项。命令行选项也可以使用命令API的功能。

本节将展示一些相关命令,这些命令可以帮助您定制RoboDK的启动方式。选择Tools-Run Script-ShowCommands显示启动RoboDK时可以使用的其他命令。

下面的调用代表了一个带有一些参数的对RoboDK的通用调用:

RoboDK.exe -[option1] -[option2] open_fileA -[option3] open_fileB…

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

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

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

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

·stl / wrl /步骤/ stp / iges igs /奉养对象(3D几何):对象可以很容易地转换成工具

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

RDK = Robolink(args='-ADDFRAME ' -RENAME=Main Ref ' load_object.stl')

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

-NOSPLASH

在启动时移除RoboDK启动映像。

人间

启动RoboDK隐藏。您将需要使用API来显示RoboDK

newinstance

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

- port = 20501

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

-EXIT_LAST_COM

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

调试

在bin文件夹中创建一个RoboDK.debug.txt文件,用于调试应用程序。

-SKIPINI

跳过自定义用户设置。

-SKIPMAINT

跳过维护更新窗口。在维护到期前一个月,RoboDK可能会在启动时弹出阻止更新license的窗口。此参数允许您将此警告静音。

设置= filepath

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

-NOSHOW

隐藏所有的窗口,而RoboDK正在加载文件和更新程序。

-NO_WINDOWS

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

-NOUI

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

-TREE_STATE = 1

不要展示车站树。

-TREE_STATE = 6

显示站树停靠在窗口的左侧,不透明。

-ADDFRAME

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

重置

强制,如果一个新的对象被加载,它将被放置在站的参考框架(而不是最后添加的框架)。

重命名=名字

更改添加的最后一个参考帧或对象的名称。

让让= x, y, z, rx;变化;rz

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

-UPDATE_APT = YES

是否会覆盖任何具有相同APT文件的机器人加工项目

-UPDATE_APT =没有

不覆盖任何机器人加工项目(将创建重复的项目,如果有一个名称匹配)。

- update = file.apt

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

-REPLACE_ITEMS = YES

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

-REPLACE_ITEMS =没有

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

改变颜色为蓝色

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

-AUTOGEN_MAINPROG =掠夺

生成一个主程序,按顺序调用链接到加载的APT文件的程序。

-SELECTTOOL = # 1

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

-SELECTTOOL = "工具名称"

选择活跃的使用名称匹配的工具。

-ADDCUTTER = |路径长度/刀name.stl

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

-SELECTCUTTER =“刀的名字”

选择工具与选择工具的效果相同,切割机被视为工具。

显示

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

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

辞职

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

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