Robot Drivers
机器人驱动程序可以控制连接到计算机的真实机器人。机器人驱动程序使用通用软件接口来控制和监视特定的机器人控制器,使计算机能够控制工业机器人。
机器人驱动程序提供了脱机编程的替代方案(程序被模拟,生成,然后传输到机器人并执行)。使用机器人驱动程序,您可以在模拟机器人时移动机器人(在线编程)。
以下文章显示了使用机器人驱动程序的在线编程项目示例:https://robodk.com/blog/online-programming/
可以使用机器人驱动程序在机器人上执行在RoboDK中编程的任何机器人模拟。然后,模拟器中的机器人运动与真实机器人同步,并且可以实时调试机器人程序。
注意:机器人驱动程序默认位于文件夹/ RoboDK / api / Robot /中。驱动程序可以是Python文件(PY格式)或EXE文件。
注意:机器人驱动程序不是后处理器。后处理器允许生成由机器人控制器执行的程序(离线编程)。后处理器部分中的更多信息。
以下列表提供了RoboDK中一些受支持的机器人驱动程序:
● ABB
● Fanuc
● 库卡
● 学术
● 三菱
● Motoman
● 通用机器人
重要:大多数机器人驱动程序使用TCP / IP套接字通信协议。可能需要为某些机器人控制器(来自机器人制造商)购买额外的软件选项,因为默认情况下可能不允许套接字通信。
注意:最终用户可以添加或修改现有机器人驱动程序,然后在“机器人连接”菜单中链接新驱动程序。
如何使用机器人驱动程序
按照以下步骤将机器人驱动程序与RoboDK配合使用:
-
右键单击机器人
-
选择连接到机器人…
-
输入机器人的IP
-
选择“ 连接”
如果连接成功,将显示显示Ready的绿色消息,如下图所示。
提示:使用ping按钮测试机器人是否已连接到计算机。
重要事项:某些机器人控制器需要特定设置或激活机器人控制器上的特定选项。按照机器人的说明进行操作。
提示:选择获取机器人关节以从机器人检索当前机器人位置并更新RoboDK中虚拟机器人的位置。
提示:双击“断开连接”两次以强制驱动程序停止。如果机器人意外停止(例如由于碰撞或轴限制),驱动程序可能会无响应,在这种情况下,可以通过双击Disconnect重新启动驱动程序,然后再次连接。
提示:如果机器人和计算机位于同一网络中,机器人程序也可以离线生成并通过FTP传输,如“ 传输程序”部分所示。在这种情况下不使用机器人驱动程序。通过在机械手连接窗口中选择更多选项,提供IP,FTP用户名和FTP密码。然后,在选择将程序发送到机器人选项(Ctrl + F6)时,可以传送程序。
注意:如果连接不起作用,“ 故障排除”部分将提供更多信息。
使用GUI
使用图形用户界面(GUI)创建的机器人程序可以按照以下步骤在机器人上执行:
-
右键单击一个 程序
-
选中Run on robot选项
-
双击程序启动它
程序应该从真实的机器人开始,模拟器将跟随机器人的运动。当机器人忙时,连接状态将显示工作…黄色。
注意:程序图标应如下图所示进行更新,以显示程序正在机器人上运行。
使用API
可以从RoboDK API控制机器人的移动,例如,从Python程序或C#应用程序编程机器人。
从RoboDK运行Python程序时,将自动管理Run on robot选项。按照以下步骤在机器人上运行Python程序:
-
右键单击Python程序
-
选择在机器人上运行
程序应该开始在机器人上运行,机器人连接状态将相应更新。
提示:从C:/ RoboDK / Library / Macros /文件夹中选择宏SampleOfflineProgramming.py,以围绕机器人当前位置的六边形路径对其进行测试。
如果程序在RoboDK的GUI之外执行(出于调试目的,或者我们使用RoboDK API作为C#),我们可以使用RDK.setRunMode将RunMode设置为RUNMODE_RUN_ROBOT。这将强制程序在机器人上运行。也可以使用robot.Connect()建立连接。
注意:除非使用GUI在机器人上生成或设置为运行Python程序,否则RoboDK会自动将RunType设置为RUNMODE_SIMULATE,默认情况下启动RoboDK API。
# Start the RoboDK API
RDK = Robolink()
robot = RDK.Item('',ITEM_TYPE_ROBOT)
# Connect to the robot using default connetion parameters
success = robot.Connect()
status, status_msg = robot.ConnectedState()
if status != ROBOTCOM_READY:
# Stop if the connection did not succeed
raise Exception("Failed to connect: " + status_msg)
# Set to run the robot commands on the robot
RDK.setRunMode(RUNMODE_RUN_ROBOT)
# Note: This is set automatically if we use
# robot.Connect() through the API
# Move the robot:
robot.MoveJ([10,20,30,40,50,60])
提示:从C:/ RoboDK / Library / Macros /文件夹中选择宏SampleOnlineProgramming.py以获得更完整的示例。此外,RoboDK API部分提供了使用Python API和C#API进行在线编程的更多示例。
注意:也可以从RoboDK API触发使用GUI创建的程序,就像使用GUI手动触发一样,如上一节所示。以下示例显示了如何:
prog = RDK.Item('MainProgram', ITEM_TYPE_PROGRAM)
prog.setRunType(PROGRAM_RUN_ON_ROBOT) # Set the run on robot option
# Set to PROGRAM_RUN_ON_SIMULATOR to run on the simulator only
prog.RunProgram()
while prog.Busy() == 1:
pause(0.1)
print("Program done")
自定义机器人驱动程序
机器人驱动程序默认位于文件夹/ RoboDK / api / Robot /中。RoboDK链接到机器人连接设置中的特定驱动程序:
- 右键单击机器人
- 选择 连接到机器人…
- 选择更多选项…
- 在“ 驱动程序路径”部分中找到或输入驱动程序路径的路径
一个机器人驱动程序是独立控制台应用程序。可以使用任何编程平台开发机器人驱动程序,例如,它们可以是Python模块(PY格式)或在任何开发环境下构建的任何可执行程序。
机器人驱动程序允许通过命令行与机器人通信。RoboDK也使用可手动执行的相同命令从PC驱动机器人。每个机器人驱动程序都可以在控制台模式下运行以进行测试
C:/ RoboDK / bin / robot /中提供了一个示例Python驱动程序(apimecademic.py)及其控制Mecademic机器人的源代码。
双击apimecademic.py文件以在控制台模式下运行模块(必须安装Python)。驱动程序将等待任何新命令。例如,我们可以输入以下命令来连接到提供IP和通信端口的机器人:
CONNECT 192.168.100.1 10000
如果连接成功,我们应该看到SMS:Ready消息。然后,我们可以输入以下命令来检索当前的机器人关节:
CJNT
我们还可以输入其他命令,如MOVJ,MOVL或SETTOOL来移动机器人或更新TCP:
MOVJ 10 20 30 40 50 60
一些机器人支持实时监控关节位置。在这种情况下,当机器人通过发送JNTS_MOVING命令移动时,可以提供关节位置反馈。当从RoboDK运行驱动程序时,虚拟机器人将实时跟踪真实机器人的移动。在发送就绪消息之前,不会处理新命令。
注意:当从RoboDK运行驱动程序时,任何使用前缀SMS:发送的消息都将显示在连接状态栏中。特定消息以特定颜色显示,例如就绪(绿色),工作(黄色)或等待(蓝色)。任何其他消息将以红色显示。
与控制台的交互和与机器人的连接由Mecademic驱动程序的一个Python模块管理。对于所有机器人,与控制台的交互应该相同,如本节所述。但是,与每个机器人的交互取决于机器人制造商,在这种情况下,我们参考Meca 500编程手册来发送适当的命令。这些命令允许移动和监控Meca 500机器人。
疑难解答
设置机器人驱动程序可能不像离线生成程序那样简单(离线编程)。如果连接不起作用,以下步骤提供了一些查找问题根源的提示:
-
确保机器人的IP正确且可访问:从机器人连接菜单中选择ping按钮(或通过命令行ping机器人)以确保机器人和计算机位于同一网络中。
-
如果机器人和计算机不在同一网络中,请为计算机 设置静态IP。
-
如果您使用的是Windows:确保已关闭Windows防火墙以防止阻止任何连接。
-
确保机器人侧的通信端口合适且可用。
-
确保机器人控制器上遵循适当的说明,具体取决于控制器型号。
-
双击机器人连接窗口上的断开连接以强制驱动程序停止,然后再次选择连接以尝试新连接。
注意:您可能需要Windows上的管理员权限才能执行其中一些操作。
Ping测试
ping测试将测试机器人在Internet协议(IP)网络上的可达性。
如果没有通信,我们应该验证机器人的IP和PC是否在同一局域网(LAN)中。可能需要关闭Windows防火墙或添加规则以允许通信。
准确性
1、机器人校准(激光跟踪仪)
工业机器人具有高度可重复性但不准确,因此通过机器人校准可以提高工业机器人的精度。机器人的标称精度取决于机器人的品牌和型号。通过机器人校准,您可以将机器人精度提高2到10倍。
可选地,可以执行球杆仪测试(圆形测试)或ISO9283路径精度测试以快速验证机器人的准确性。
需要测量系统来校准机器人。RoboDK可用于校准机器人以及生成精确的机器人程序(包括过滤程序和使用RoboDK的离线编程引擎)。通过球杆仪测试或机器人铣削,RoboDK还可用于在校准之前和之后测试机器人的精度
机器人校准可显着提高离线编程机器人的精度,也称为离线编程(OLP)。校准机器人具有比未校准机器人更高的绝对和相对定位精度。
安装RoboDK并正确执行机器人校准需要以下项目:
- 一个或多个工业机器人手臂
- 测量系统:任何激光跟踪仪,如Leica,API或Faro,或光学CMM,如Creaform的C-Track立体相机都应该工作
- 必须安装RoboDK软件,并且需要适当的机器人校准测试许可证。对于网络许可证,需要Internet连接才能检查许可证。要安装或更新RoboDK以进行机器人校准:
从下载部分https://robodk.com/download下载RoboDK
湾设置测量系统的驱动程序(Creaform Optical CMM不需要)。 解压缩并复制相应的文件夹:
API激光跟踪器: https://robodk.com/downloads/private/API.zip (OTII and Radian trackers)
Faro激光跟踪 器: https://robodk.com/downloads/private/Faro.zip (all Faro Trackers)
Leica激光跟踪器: https://robodk.com/downloads/private/Leica.zip (all Leica Trackers)
到文件夹:C:/ RoboDK / api /
离线设置
建议在开始进行测量之前,在RoboDK(离线设置)中创建机器人设置的虚拟环境。本节介绍如何脱机准备RoboDK站。这可以在拥有机器人和跟踪器之前完成,只能使用安装了RoboDK的计算机。
RoboDK校准设置示例可以从以下文件夹下载:https://www.robodk.com/downloads/calibration/
如果您已有离线单元,请跳过此部分。可以近似估计参考系和工具框架。样品站如下图所示。
RoboDK站是存储虚拟环境站和校准信息的地方。该站保存为RDK文件。按照以下步骤从头开始创建用于机器人校准的机器人工作站(视频预览:https://youtu.be/Nkb9uDamFb4):
- 选择机器人:
a、选择文件 ➔ 打开在线库。在线图书馆将出现在RoboDK中。
b、使用过滤器按品牌,有效载荷,…找到您的机器人
C。选择下载,机器人应自动出现在工作站中。
d。 或者,从http://www.robodk.com/library单独下载机器人文件(.robot文件扩展名)并使用RoboDK打开它们。
机器人校准LaserTracker - 图3