机器人驱动器负责控制某种型号机器人与计算机的连接。机器人驱动器使用通用的软件接口控制与监测机器人控制器状态,实现计算机控制机器人的操作。A robot driver controls a particular type of robot that is connected to a computer. A robot driver uses a generic software interface to control and monitor a specific robot controller, enabling a computer to control a robot.
机器人驱动器为离线编程(生成离线程序后传输至机器人并运行)提供新的可能。使用机器人驱动器,可以直接使用真机机器人运行仿真(在线编程)。
下面的文章介绍了使用机器人驱动器实现在线编程项目的范例:
https://robodk.com/blog/online-programming/
使用机器人驱动器可以在机器人真机上运行任何通过RoboDK编程的机器人仿真程序。仿真器中的机器人运动将与真机运动同步,并可能实现即时程序调试功能。
RoboDK支持并提供了以下品牌机器人的驱动器:
● ABB
● Fanuc
● KUKA
● Mecademic
● Mitsubishi
● Motoman
执行以下步骤通过RoboDK使用机器人驱动器:
1.右键单击机器人
2.选择 Connect to robot…
3.输入机器人的IP地址
4.选择Connect
如果连接成功,将出现绿色的Ready信息,如下图所示。
使用用户图形界面(即GUI)生成的机器人程序可以通过以下步骤在机器人真机上运行:
1.右键点击一个仿真程序
2.勾选Run on robot选项
3.双击该程序并运行
机器人将于机器人真机上运行,而仿真器的机器人运动与其同步。连接状态将显示黄色的Working…信息,表示机器人处于工作状态。
可以通过RoboDK API控制机器人运动,例如,使用Python程序或者C#应用对机器人编程。
在机器人真机上运行Python程序(Run on robot选项)由RoboDK自动管理。按照以下步骤在机器人上运行Python程序:
1.右键点击一个Python程序
2.选择Run on robot
该程序将在机器人上运行,机器人的连接状态也随之自动更新。
如果选择在RoboDK的GUI之外运行该程序(例如为了调试程序,或者使用RoboDK C# API),可以使用RDK.setRunMode将RunMode设置为RUNMODE_RUN_ROBOT。该设置将强迫程序在机器人真机上运行。还可以使用robot.Connect()与机器人建立连接。
以下代码演示了在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])
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中的连接设置将机器人与其驱动器相关联:
1.右键点击机器人
2.选择 Connect to robot…
3.选择More options…
4.在Driver path部分定位或者输入机器人驱动器地址
每个机器人驱动器是一个独立的应用程序。机器人驱动器可以通过任何编程平台开发,例如,驱动器可以是Python模块(PY格式)或者使用任何IDE环境编译的可执行程序。
机器人驱动器可以通过命令行模式与机器人通信。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内运行机器人驱动器时,虚拟环境中的机器人也将跟随真机实时移动。在Ready信息再次显示之前,驱动器不能处理新的指令。
用户与控制台的互动、机器人的连接是通过一个Mecademic 驱动器的Python模块管理的。对于所有机器人都有同样的控制台互动,如本部分介绍。但是,与机器人的连接取决于不同的机器人生产商,在此例中请参考Meca 500 programming manual使用手册中的指令。这些指令用于移动或者监测Meca 500机器人。
机器人驱动器的设置相对于离线生成程序更加复杂。如果连接不成功,以下步骤提供一些解决连接问题的帮助:
1.检测机器人的IP地址是否正确:在机器人连接菜单中选择ping按钮(或者ping the robot through the command line)确保机器人与计算机处于同一网络中。
2.如果机器人与计算机不处于同一网络,为计算机设置static IP静态IP。
3.确保计算机上的防火墙没有阻止任何连接。
4.确保通讯端口恰当,并且在机器人端可供使用。
5.确保在机器人控制器上使用了与其型号相匹配的控制指令。
6.在机器人连接窗口双击Disconnect按钮强制停止机器人驱动器,之后再次点击connect重新尝试连接。
使用ping测试可以在Internet Protocol (IP) 网络内检测是否能与机器人通讯。
在Windows内按照以下步骤进行ping测试:
1.使用(Windows键+ R)打开运行窗口
2.输入cmd并点击OK
3.输入ping IP(机器人IP地址),例如:
ping 192.168.125.2
应出现与下图相似的反馈信息(0%信息丢失)。
如果没有通讯应检查机器人IP地址与PC电脑是否在同一本地网络内(LAN)。可能需要关闭Windows防火墙或者添加允许通讯的防火墙规则。
按照以下步骤改变电脑的IP地址:
1.选择Windows Start➔Control Panel➔Network 与Internet➔Network Connections
2.双击本地连接local area connection选项
3.选择Properties
4.选择Internet Protocol Version 4 (TCP/IPv4)
5.选择Properties
6.根据机器人的IP地址输入适当的IP以及子网掩码。