机器人驱动器

机器人驱动器可以控制与计算机相连的真实机器人。机器人驱动器使用特定的软件接口来控制和监控特定的机器人控制器,使计算机能够直接控制机械臂。

机器人驱动器为离线编程(模拟、生成程序,然后传输到机器人并执行)提供了一种替代方案。使用机器人驱动器,您可以在模拟的同时移动机器人(在线程序)。

以下文章展示了一个使用机器人驱动器的在线程序项目示例: https://robodk.com/blog/online-programming/

任何在 RoboDK 中编程的机器人模拟都可以通过机器人驱动器在机器人上执行。这样,模拟器中的机器人运动就会与真实机器人同步,并可实时调试机器人程序。

注:机器人驱动器默认位于 /RoboDK/api/Robot/ 文件夹中。机器人驱动器可以是 Python 文件(PY 格式)或 EXE 文件。

注:机器人驱动器不是后处理器。后处理器可以生成由机器人控制器执行的程序(离线编程)。更多信息请参阅后处理器部分。

以下列表提供了 RoboDK 支持的部分机器人驱动器:

安宁机器人公司

ABB

自动机

柯马(Comau)

电装(Denso)

越疆(Dobot)

斗山(Doosan)

艾利特(Elibot)

爱普生(Epson)

发那科(Fanuc)

大族(Han's

韩华

节卡(Jaka)

川崎(Kawasaki)

KEBA

Kinova

库卡(Kuka) KRC

库卡(Kuka) IIWA

Mecademic

三菱(Mitsubishi)

涅约

史陶比尔(Staubli)

达明(Techman)/欧姆龙(Omron)

uFactory xArm

优傲(Universal Robots)

开塔(Wlkata)

安川(Motoman)

重要提示: 大多数机器人驱动器使用 TCP/IP 套接字通信协议。由于默认情况下可能不允许使用套接字通信,因此可能需要为某些机器人控制器(由机器人制造商提供)购买额外的软件选件。

注:并非所有机器人驱动器都支持所有功能(例如实时监控或探测)。这在很大程度上取决于机器人控制器以及机器人控制器远程支持的功能。

注:最终用户可以添加或修改现有的机器人驱动器,然后,在机器人连接菜单中链接新的驱动器。更多信息,请参阅如何自定义驱动器部分。

如何使用机器人驱动器

本节介绍如何使用机器人驱动器从 RoboDK 连接到真正的机械臂,并执行一些简单的操作。

1.右键点击机器人

2.选择Robot Drivers - 图片 1 连接到机器人...

3.输入机器人的 IP 地址

4.选择连接

如果连接成功,就会出现显示就绪的绿色信息,如下图所示。

提示:使用 ping 按钮测试机器人是否与电脑连接。

重要信息: 某些机器人控制器需要进行特定设置或激活机器人控制器上的特定选项。请按照机器人的说明进行操作。

Robot Drivers - 图片 2

提示:选择 "获取机器人关节 "可从机器人获取当前机器人位置,并更新 RoboDK 中虚拟机器人的位置。

提示:双击两次 "断开连接 "可强制停止驱动器进程。如果机器人意外停止(例如由于碰撞或轴限),驱动器可能会变得反应迟钝,在这种情况下,可以双击 "断开 "重新启动驱动器,然后,再次单击 "连接"。

小贴士机器人程序也可以离线生成,如果机器人和计算机在同一网络中,则可通过 FTP 传输传输程序,如部分所示。此时不使用机器人驱动器。在机器人连接窗口中选择更多选项,提供 IP、FTP 用户名和 FTP 密码。然后,选择发送程序到机器人(Ctrl+F6)选项,即可传输程序。

注:使用 RoboDK API 创建的程序也可用于实时移动机器人。更多信息,请参阅 "使用 API 的驱动器"。

注意:如果连接不成功,"故障排除 "部分将提供更多信息。

使用图形用户界面

使用图形用户界面(GUI)创建的机器人程序可按照以下步骤在机器人上执行。

1.右键单击Robot Drivers - 图片 3程序

2.选中 "在机器人上运行 "选项

3.双击程序启动它

程序应在真实机器人上启动,模拟器将跟随机器人运动。当机器人处于忙碌状态时,连接状态将以黄色显示 "工作中..."。

注:程序图标应如下图所示更新,以显示程序正在机器人上运行。

Robot Drivers - 图片 4

使用 API

可以通过 RoboDK API 控制机器人的运动,例如,通过 Python 程序或 C# 应用程序对机器人进行编程。

从 RoboDK 运行 Python 程序时,会自动管理 "在机器人上运行 "选项。请按照以下步骤在机器人上运行 Python 程序:

1.右键单击Robot Drivers - 图片 5 Python 程序

2.选择Robot Drivers - 图片 6 在机器人上运行

程序应开始在机器人上运行,机器人连接状态也会相应更新。

提示:从 C:/RoboDK/Library/Macros/ 文件夹中选择宏 SampleOfflineProgramming.py,用机器人当前位置周围的六边形路径对其进行测试。

Robot Drivers - 图片 7

如果程序是在 RoboDK 的图形用户界面之外执行的(出于调试目的,或者我们正在使用 C# 的 RoboDK API 等),我们可以使用 RDK.setRunMode 运行模式设置为 RUNMODE_RUN_ROBOT。这将强制程序在机器人上运行。还可以使用 robot.Connect() 建立连接。

注:RoboDK 会在启动 RoboDK API 时自动将运行类型设置为 RUNMODE_SIMULATE,除非使用图形用户界面在机器人上生成或设置运行 Python 程序。

下面的代码展示了一个直接从 API 与机器人建立连接的简短示例:

# 启动 RoboDK API

RDK= Robolink()

机器人= RDK.Item('',ITEM_TYPE_ROBOT)

 

# 使用默认连接参数连接机器人

success= robot.Connect()

status, status_msg= robot.ConnectedState()

如果 status �=�robotcom_ready

# 如果连接不成功,则停止

    raise Exception("Failed to connect: "+ status_msg)

 

# 设置在机器人上运行机器人命令

RDK.setRunMode(RUNMODE_RUN_ROBOT)

# 注:如果我们使用

# 通过 API 连接机器人

 

# 移动机器人:

robot.MoveJ([10,20,30,40,50,60])

提示:选择 C:/RoboDK/Library/Macros/ 文件夹中的宏 SampleOnlineProgramming.py 以获取更完整的示例。此外,RoboDK API Python API 部分还提供了更多使用和 C# API 进行在线编程的示例。

注: 也可以从 RoboDK API 中触发使用图形用户界面创建的程序,触发方式与使用图形用户界面手动触发的方式相同,如上一节所示。下面的示例说明了如何操作:

prog= RDK.Item('MainProgram', ITEM_TYPE_PROGRAM)

prog.setRunType(PROGRAM_RUN_ON_ROBOT) # 设置机器人运行选项

# 设置为 PROGRAM_RUN_ON_SIMULATOR,以便仅在模拟器上运行

prog.RunProgram()

while prog.Busy()== 1

    暂停(0.1)

print("Program done")


 

定制机器人驱动器

机器人驱动器默认位于 /RoboDK/api/Robot/ 文件夹中。RoboDK 会在机器人连接设置中链接到特定驱动器:

1.右键点击机器人

2.选择Robot Drivers - 图片 8 连接到机器人...

3.选择更多选项...

4.在 "驱动器路径 "部分找到或输入驱动器路径的路径

一个机器人驱动器是一个独立的控制台应用程序。机器人驱动器可以使用任何编程平台开发,例如,可以是一个 Python 模块(PY 格式),也可以是在任何开发环境下构建的任何可执行程序。

Robot Drivers - 图片 9

机器人驱动器可通过命令行与机器人通信。RoboDK 也可使用可手动执行的命令,从电脑上驱动机器人。每个机器人驱动器都可以在控制台模式下运行,以便进行测试。

C:/RoboDK/bin/robot/ 中提供了用于控制 Mecademic 机器人的 Python 驱动器示例 (apimecademic.py) 及其源代码。

双击 apimecademic.py 文件,以控制台模式运行模块(必须安装 Python)。驱动器将等待任何新命令。例如,我们可以键入以下命令,通过 IP 和通信端口连接机器人:

连接 192.168.100.1 10000

如果连接成功,我们将看到一条 SMS:Ready 消息。然后,我们就可以输入以下命令来获取当前的机器人关节:

CJNT

我们还可以键入 MOVJ、MOVL 或 SETTOOL 等其他命令来移动机器人或更新 TCP:

活动J 10 20 30 40 50 60

Robot Drivers - 图片 10

有些机器人支持实时监控关节位置。在这种情况下,可以通过发送 JNTS_MOVING 命令,在机器人移动时提供关节位置反馈。从 RoboDK 运行驱动器时,虚拟机器人将实时跟随真实机器人运动。在发送就绪信息之前,不会处理新命令。

注:从 RoboDK 运行驱动器时,任何以 SMS: 为前缀发送的信息都将显示在连接状态栏中。特定消息会以特定颜色显示,如就绪(绿色)、工作(黄色)或等待(蓝色)。任何其他信息都将以红色显示。

与控制台的交互和与机器人的连接由 Mecademic 驱动器的一个 Python 模块管理。如本节所述,所有机器人与控制台的交互方式都应相同。不过,与每个机器人的交互取决于机器人制造商,在这种情况下,我们参考 Meca 500 编程手册来发送相应的命令。通过这些命令可以移动和监控 Meca 500 机器人。


故障排除

设置机器人驱动器可能不像离线生成程序(离线编程)那么简单。如果连接不成功,本节将提供一些提示,帮助您找到问题的根源。

1.确保机器人的 IP 正确且可连接:从机器人连接菜单中选择 ping 按钮(或通过命令行 ping 机器人),确保机器人和计算机处于同一网络中。

2.如果机器人和计算机不在同一个网络中,请为计算机设置静态 IP

3.如果使用 Windows:确保关闭Windows 防火墙,以防止阻止任何连接。

4.确保机器人侧的通信端口合适可用。

5.根据控制器型号,确保遵循机器人控制器上的适当说明。

6.双击机器人连接窗口上的断开连接,强制停止驱动器,然后,选择再次连接,尝试新的连接。

注意:您可能需要 Windows 系统的管理员权限才能执行其中某些操作。

Ping 测试

ping 测试将测试机器人在互联网协议(IP)网络上的可达性。

请按照以下步骤在 Windows 上执行 ping 测试:

1.选择Robot Drivers - 图片 11(windows 键 + R),打开一个新的控制台窗口

2.键入 cmd 并选择确定

3.键入 ping IP,其中 IP 应为机器人的 IP)。例如      
ping 192.168.125.2

我们应该看到与信号损失为 0% 时的图像相似的响应

Robot Drivers - 图片 12

如果没有通讯,我们应该确认机器人和电脑的 IP 是否在同一个局域网(LAN)内。可能需要关闭 Windows 防火墙或添加一条允许通信的规则。

设置静态 IP

请按照以下步骤更改计算机的 IP:

1.选择 Windows 开始➔控制面板➔网络和 Internet➔网络连接

2.双击局域网连接卡

3.选择属性。

4.选择互联网协议版本 4 (TCP/IPv4)

5.选择属性

6.根据机器人 IP 和子网掩码输入计算机的IP。

Robot Drivers - 图片 13