RoboDK API

RoboDK API(应用程序接口)是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(例如Python或c#中的程序)时,RoboDK将为特定的机器人控制器生成特定的程序。机器人程序是根据后置处理程序为特定的机器人选择。的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 -图片

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

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工具箱。更多关于app的信息请点击这里:AppLoader

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

下面几节将分别展示如何创建一个用于模拟、离线编程和在线编程的简单程序。ayx官方更多的例子在RoboDK的Python API页面。此外,RoboDK库在scripts和宏文件夹中提供了示例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.右键单击RoboDK API -图片8Python程序

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

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

RoboDK API -图片9

Robolink()

RDK.setRunMode (RUNMODE_MAKE_ROBOTPROG

Python在线编程

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

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

2.选择在机器人上运行

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

RoboDK API -图片11

Robolink()

RDK.setRunMode (RUNMODE_RUN_ROBOT

解决RoboDK中的Python设置问题

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

如果看到如下错误信息:“在工具-选项-Python中设置Python解释器的路径”或“无法运行Python脚本”,您应该遵循以下步骤。在:Tools-Options-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的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变量将相应地更新(与using相同)选择机器人).

c#模拟

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

RoboDK API -图17

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

设置任何断点来调试应用程序和检查机器人目标。机器人目标可以定义为关节坐标或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

Matlab的RoboDK API可以在RoboDK安装文件夹中找到,并提供了一些示例(C:/RoboDK/Matlab/)。用于Matlab的RoboDK API以m个文件的形式提供。

Matlab是由MathWorks.此外,MATLAB还允许矩阵操作、函数和数据的绘图以及算法的实现。

主要部分本文档解释了使用RoboDK API与Matlab等广泛使用的编程语言进行机器人编程的优点。

用于Matlab的RoboDK 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.x7093.com/Matlab-API

仿真软件的例子

可以使用一个Simulink项目作为示例。在模拟中,机器人沿着任意生成的XYZ坐标集移动。

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

RoboDK API -图片21

命令行选项

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

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

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

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

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

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

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

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

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 =没有

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

改变颜色为蓝色

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

-AUTOGEN_MAINPROG =掠夺

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

-SELECTTOOL = # 1

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

-SELECTTOOL = "工具名称"

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

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

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

-SELECTCUTTER =“刀的名字”

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

显示

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

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

辞职

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

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