RoboDK API

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

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

RoboDK 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的语法允许程序员用更少的代码行来表达概念,使其友好且易于学习。

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

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

RoboDK API -图像1

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

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

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

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

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

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

roboappssub-module (roboapps.py)是RoboDK Apps工具箱。更多关于应用程序的信息可在这里:AppLoader

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

下面几节分别展示如何创建一个简单的模拟程序、离线编程和在线编程程序。中有更多的例子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在机器人的当前位置,相对于机器人参考系。如果需要,将机器人移动到不同的位置,改变多边形尺寸并重新运行程序。

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

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 (RUNMODE_RUN_ROBOT

在RoboDK中解决Python设置问题

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

如果您看到诸如“在工具-选项-Python中设置Python解释器的路径”或“运行Python脚本失败”之类的错误消息,您应该遵循这些步骤。在“工具-选项-Python”选项卡中设置Python解释器的路径。

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

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

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

RoboDK API -图12

在打开的文件夹上重复这个步骤:

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

RoboDK API -图13

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

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的RoboDK类)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毫米,或者我们可以选择Run Test Program以围绕机器人当前位置运行一个六角形移动。

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

RoboDK API -图18

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


c# OLP

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

1.选择离线编程在运行模式部分

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)进行机器人编程的优点。

RoboDK的Matlab API包括:

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

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

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

Pose_2_XYZRPW。我是一个姿势。m允许将姿势转换为XYZ位置和RPW欧拉角,反之亦然。更多资料,请浏览参考帧部分。

示例代码可在以下页面:
//www.w5838.com/Matlab-API

仿真软件的例子

以Simulink项目为例。在模拟中,机器人沿着一组任意生成的XYZ坐标移动。

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

RoboDK API -图21

命令行选项

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

本节将展示一些相关命令,可以帮助您自定义RoboDK的启动方式。选择工具-运行脚本- showcommands显示启动RoboDK时可以使用的其他命令。

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

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

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

RDK➔RoboDK站文件:该文件将整个项目保存在一个文件中,包括所有依赖项(机器人,工具,NC文件,…)

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

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

stl/wrl/step/stp/iges/igs/sld➔对象(3D几何):对象可以很容易地转换为工具

apt/gcode/cnc➔数控程序文件:RoboDK自动准备铣削项目(Utilities➔铣削项目)。

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可能会在启动时弹出一个阻塞窗口来更新许可证。此参数允许您静音此警告。

设置= 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或二进制),其原点位于刀具的尖端。长度必须以毫米为单位,相对于刀架(刀架的正Z轴必须指向外面)。

-SELECTCUTTER =“刀的名字”

Selectcutter具有与SELECTTOOL相同的效果,刀具被视为工具。

显示

显示RoboDK窗口。当加载了所有文件并更新了加工项目时,这将自动完成。

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

辞职

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

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