以UR5机器人为例,通过30003,30004端口实现不同的控制需求。本篇文章先针对30003端口。
1、通过socket与UR控制器建立通信连接
import socket
import struct
import math
import numpy as np
HOST = "192.168.2.23" # The remote host
PORT = 30003 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
2、解析30003端口的数据
30003端口为Realtime端口,UR5达到125hz,UR5e为500hz。端口数据的定义规则可参考UR官方Excel文档,截图如下。
UR5,版本为5.2,字节数共有1108个,首先,将字节所表示的名称和字节类型放入字典中:
dic= {
'MessageSize': 'i', 'Time': 'd', 'q target': '6d', 'qd target': '6d', 'qdd target': '6d',