参考链接:https://github.com/SintefManufacturing/python-urx
1. 在计算机上安装 urx
参考和例程下载见 https://github.com/SintefManufacturing/python-urx
安装方法非常简单,终端输入:
pip install urx
2. 利用网线链接UR控制器和计算机
3. 设置 UR 网络
打开示教器,选择设置机器人(Setup Robot)->网络(Setup Network)->静态地址 (Static Address)
详细设置(仅供参考)
IP地址 192.168.1.100 (注意,IP地址前三位要和计算机一致,192.168.1.X)
子网掩码 255.255.255.0
默认网关 192.168.1.1
4. 设置计算机网络 (以Ubuntu为例)
打开 网络连接 (Network Connections) 选择对应的有线网络连接 点击编辑 (Edit)
选择 IPv4设置 (IPv4 Settings)
方法 手动设置 (Manual)
IP地址 192.168.1.103 (注意,IP地址前三位要和机器人一致,192.168.1.X)
掩码 255.255.255.0
网关 192.168.1.1
5. 测试网络
在计算机终端输入
ping 192.168.1.100 (机器人IP地址)
测试有无数据收发信息
6. 测试机器人运动程序
测试例程可以选择urx例程 python-urx / examples 中的 simple.py 代码如下
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()
在程序中将地址设为机器人 IP 地址,运行程序即可
这是一个在不同参考坐标系下,沿z方向直线移动机械臂末端的程序,注意这里位置的单位是m,移动距离为0.05m,要确保机械臂在运行的时候末端有足够的空间,保险起见可以把速度v调小一些