一、在计算机上安装urx 库
终端输入:pip install urx;
参考和例程下载见: https://github.com/SintefManufacturing/python-urx;
二、利用网线连接UR3机器人和计算机
用一根网线连接ur3机器人控制箱和电脑,搭建计算机与机器人通信通路;
(注意,控制箱网线口在箱体底部)
三、设置 UR3机器人网络
打开示教器,选择设置机器人(Setup Robot)>> 网络(Setup Network)>> 静态地址 (Static Address) ;
等到网络符号提示连接成功,即表示网络设置成功;
详细设置(仅供参考)
IP地址 192.168.1.100 (注意,IP地址前三位要和计算机保持一致,192.168.1.X)
子网掩码 255.255.255.0
四、设置计算机网络
关闭 计算机WiFi连接;
打开 网络连接 (Network Connections) 选择对应的有线网络连接;
打开 以太网状态 >> 属性 >> 手动设置IPv4 >> 填写IP地址和子网掩码
详细设置(仅供参考)
选择 IPv4设置 (IPv4 Settings)
开启 手动设置 (Manual)
IP地址 192.168.1.1(注意,IP地址前三位要和机器人一致,192.168.1.X)
掩码 255.255.255.0
五、测试网络
在计算机终端输入:ping 192.168.1.100(机器人IP地址);
查看有无数据收发信息;
(注意,很多问题都是出在机器人和电脑的ip地址设置上,导致计算机和UR3机器人不能建立通讯)
六、测试机器人运动
代码如下(示例):
import urx
import logging
if __name__ == "__main__":
logging.basicConfig(level=logging.WARN)
rob = urx.Robot("192.168.1.100") # your robot ip
rob.set_tcp((0,0,0,0,0,0)) # tool center point
rob.set_payload(0.5, (0,0,0))
try:
l = 0.05 # unit: meter
v = 0.01
a = 0.1
pose = rob.getl() # x, y, z, rx, ry, rz
print("robot tcp is at: ", pose)
print("absolute move in base coordinate ")
pose[2] += l
rob.movel(pose, acc=a, vel=v) # 机器人末端位置移动
print("relative move in base coordinate ")
rob.translate((0, 0, -l), acc=a, vel=v) # 机器人末端位置返回
print("relative move back and forth in tool coordinate")
rob.translate_tool((0, 0, -l), acc=a, vel=v) # 机器人工具位置移动
rob.translate_tool((0, 0, l), acc=a, vel=v) # 机器人工具位置返回
finally:
rob.close()
七、出现的问题及解决办法:
以上示例程序无法全部运行,UR3机器人执行一次动作指令就停止,并显示错误: Robot.Stopped;
实际上,运行完代码rob.movel(pose, acc=a, vel=v) 程序就停止了;
解决办法:笔者认为这与urx包版本有一定问题,最后下载新本版urx包对已安装的urx进行替换即可;
下载链接:https://hub.nuaa.cf/jkur/python-urx。