UR機械人返回資訊格式解析

2021-10-06 20:47:29 字數 1424 閱讀 2544

ur機械人提供了多種埠,用於控制和讀取機械人資訊,本人整理了相關資訊,見文章《ur機械人通訊埠和協議》。

本人使用了30003埠來向機械人傳送urscript指令碼控制命令,並通過該埠接收實時返回資料。

由於30003埠返回的資訊是最全的,包含了30001、30002埠的返回資訊,因此,這裡以30003埠資訊解析。

30003埠返回資料頻率一般是125hz,即每8ms即返回乙個資料報,最高頻率能達到500hz。

個人實測,返回資料報的位元組長度一般是1108位元組,按照文獻1資料報是1044位元組,文獻2資料報是1108位元組,分析可能ur後來擴充了ur返回資料資訊。

實際上,這個位元組規定是多少並不影響使用,因為在返回的資料報的前四個位元組,即給出了資料報中包含資訊的位元組數。

下表為30003實時反饋埠機械人資訊1044位元組資料格式,來自參考文獻1。

位元組順序

內容1-4

整個資料報的位元組數

5-12

控制器通電時間,斷電清零

13-444

關節目標位置、速度、加速度、電流、扭矩,實際位置、速度、電流、控制電流

445-684

tcp位置、速度、力,0目標位置、速度

685-692

輸入位狀態

693-740

電機溫度

740-748

程式掃瞄時間

749-756

保留757-820

機械人模式,關節模式,安全模式

821-868

保留869-892

tcp加速度

893-940

保留941-948

速度比例

949-956

機械人當前動量值

957-972

保留973-996

控制板電壓,機械人電壓,機械人電流

997-1044

關節電壓

下圖為1108位元組返回資料具體的各位元組包含資料格式,來自參考文獻2。

編寫了tcp/ip程式控制ur機械人,並解析其在30003埠返回的資料報,實測結果:

每個資料報收到1108位元組資料。

資料解析時要注意,收到資料報的每個資料的位元組順序是big-endian,即高位在前,而計算機中的位元組順序是little-endian,即低位在前,要注意進行位元組順序轉換。

下圖為接收到的資料報的一部分

以幾個主要的資料解析為例:

補充了以上解析的相關示例**,感興趣的見《windows sockets 網路程式設計及ur機械人通訊資料解析**》。

1 2

演算法 UR機械人位姿表示

3 運算 參考ur是協作機械人的鼻祖也是至今市場佔比最高的品牌。博主使用過,效能確實很好,實用性很強,如今進入協作機械人行業的公司很多,2019年上海工博會得知,有70家,其實能做好的不多。ur機械人的pose表示的是tcp座標系相對於基座標係的位置和姿態。乙個座標系相對於另乙個座標系的姿態的表示方...

機械人能否返回原點

在二維平面上,有乙個機械人從原點 0,0 開始。給出它的移動順序,判斷這個機械人在完成移動後是否在 0,0 處結束。移動順序由字串表示。字元 move i 表示其第 i 次移動。機械人的有效動作有 r 右 l 左 u 上 和 d 下 如果機械人在完成所有動作後返回原點,則返回 true。否則,返回 ...

機械人能否返回原點

在二維平面上,有乙個機械人從原點 0,0 開始。給出它的移動順序,判斷這個機械人在完成移動後是否在 0,0 處結束。移動順序由字串表示。字元 move i 表示其第 i 次移動。機械人的有效動作有 r 右 l 左 u 上 和 d 下 如果機械人在完成所有動作後返回原點,則返回 true。否則,返回 ...