通过socket通讯控制ur机械臂
以前一直使用ros跟机械臂打交道,但在使用moveit控制机械臂运动的时候会出现一些卡顿现象,具体可参照这个网页,于是想通过ur指令直接来控制机械臂。
控制ur机械臂的指令有movel,movep,movej具体用处大家可以自己查查,这里我主要用的是movel,来控制机械臂的末端
1.socket客户端(连接机械臂)
HOST ='192.168.0.5' //ur机械臂ip地址,根据自己实际情况修改
PORT = 30003 //端口,根据自己实际情况修改
ADDR = (HOST,PORT)
robot = socket(AF_INET,SOCK_STREAM)
robot.connect(ADDR)
这里是ur端口的介绍,使用30003是因为可以通过接受urscript指令并返回机械臂当前信息来实时控制,这里是返回信息的解析
2.控制机械臂运动(发送控制指令)
str_command = "movel(p[%(x)s,%(y)s,%(z)s,%(rx)s,%(ry)s,%(rz)s],a=%(a)s,v=%(v)s,t=%(t)s)" %{'x':x,'y