以ur5機械人為例,通過30003,30004埠實現不同的控制需求。本篇文章先針對30003埠。
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)
)
30003埠為realtime埠,ur5達到125hz,ur5e為500hz。埠資料的定義規則可參考ur官方excel文件,截圖如下。
ur5,版本為5.2,位元組數共有1108個,首先,將位元組所表示的名稱和位元組型別放入字典中:
dic=
按照字典中的格式解析,解析之後將解析的資料再放入字典中,**如下:
data = s.recv(
1108
)names=
ii=range
(len
(dic)
)for key,i in
zip(dic,ii)
: fmtsize=struct.calcsize(dic[key]
) data1,data=data[
0:fmtsize]
,data[fmtsize:
] fmt=
"!"+dic[key]
) dic[key]
=dic[key]
,struct.unpack(fmt, data1)
print
(names)
print
(dic)
檢視解析效果:檢視6個關節「q actual」(關節角度值,弧度表示):
弧度轉角度後,print。
a=dic[
"q actual"
]a2=np.array(a[1]
)print
(a2*
180/math.pi)
結果如下:
[
-91.71335427
-98.9555408
-126.22260227
-46.29498985
91.3924979
-1.77616916
]
本實驗通過ursim模擬ur5,測試了可行性。ursim與上位機通訊鏈結可參考如下: 上位機C 通過TCP IP和庫卡機械人通訊
隔了相當長的一段時間,我又來寫一下上位機c 利用tcp ip和庫卡機械人通訊的文章 上位機要想和庫卡機械人通訊,首先要給機械人安裝 ethernetkrl 這個軟體,對,是給機械人安裝。具體軟體的安裝以及初步通訊測試就不多做介紹了。因為本文不是介紹該軟體的安裝,所以就不多做解釋,下面的內容預設已經能...
華景機械人怎麼控制 上位機程式設計 工業機械人
一.需求分析 工業機械人主要應用於一些焊接,搬運等工作站上,他們往往使用plc作為主控,或者利用工業機械人本身的軟plc系統作為主控,來協調機械人和外部io,感測器,外部軸,執行單元 那麼什麼時候需要上位機呢?最主要的可以區分為兩大塊 1.機器視覺 2.離線程式設計 機器視覺在市場上區分也可分為兩大...
cleanRobot(掃地機械人上位機)
摘要 udp通訊,與ros進行udp通訊,進而與掃地機通訊 當前版本 1.1 作者 聶咸豐 完成日期 2019年7月10日 取代版本 1.0 作者 張雪平 完成日期 2019年5月12日 ifndefcarudp h definecarudp h include include include in...