1 概述

UR机器人提供了多种端口,用于控制和读取机器人信息,本人整理了相关信息,见文章《UR机器人通信端口和协议》。
本人使用了30003端口来向机器人发送URScript脚本控制命令,并通过该端口接收实时返回数据。

2 UR返回信息协议解析

2.1 返回数据包频率和长度

由于30003端口返回的信息是最全的,包含了30001、30002端口的返回信息,因此,这里以30003端口信息解析。
30003端口返回数据频率一般是125Hz,即每8ms即返回一个数据包,最高频率能达到500Hz。
个人实测,返回数据包的字节长度一般是1108字节,按照文献1数据包是1044字节,文献2数据包是1108字节,分析可能UR后来扩充了UR返回数据信息。
实际上,这个字节规定是多少并不影响使用,因为在返回的数据包的前四个字节,即给出了数据包中包含信息的字节数。

2.2 返回数据包格式

下表为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。

3 解析实例

编写了TCP/IP程序控制UR机器人,并解析其在30003端口返回的数据包,实测结果:
每个数据包收到1108字节数据。
数据解析时要注意,收到数据包的每个数据的字节顺序是Big-Endian,即高位在前,而计算机中的字节顺序是Little-Endian,即低位在前,要注意进行字节顺序转换。
下图为接收到的数据包的一部分

以几个主要的数据解析为例:

  1. 第1-4字节(上图中偏移地址:0x0):00 00 04 54,整数型数据,即0x454,1108,这就是接收数据的字节长度。
  2. 第13字节(上图中偏移地址:0x0c)开始,连续6个Double型数据,即关节目标位置q target,数据为:2.466446,-0.586911,1.581819,-2.725837,4.662427,-0.580726;
  3. 第445字节(上图中偏移地址:0x1bc)开始,连续6个Double型数据,即当前TCP位置矢量Tool Vector Actual,数据为:0.405443,-0.164387,0.030460,2.077079,-2.308484,0.256067。
    收到数据与UR示教器上显示数据比对一致。

4 相关代码

补充了以上解析的相关示例代码,感兴趣的见《Windows Sockets 网络编程及UR机器人通信数据解析代码》。

参考文献

1 https://wenku.baidu.com/view/c78aa35c0722192e4436f61c.html
2 https://blog.csdn.net/seing128/article/details/89713207

UR机器人返回信息格式解析相关推荐

  1. UR机器人数据包解析(python与C++实现)

    一.与UR机器人进行通讯 如果还没有完成电脑与UR机器人的通讯,可以参考这个博客(https://blog.csdn.net/qq_41685265/article/details/104327982 ...

  2. UR机器人通信端口和协议

    1 概述 UR机器人作为目前使用广泛的协作机器人,其开放了基于TCP/IP的远程控制功能,提供了多个多类型的端口,用于工业总线控制,或者用户自行编程控制,以下记录整理此方面的信息. 2 UR机器人通信 ...

  3. UR机器人开发(1)-上位机直接通讯控制

    第一次使用UR机器人,并且尝试与上位机直接通讯,进行运动控制.因此本文记录整个安装调试过程,避免后续踩坑.本文采用socket通讯方式,通过python编程,实现机器人乱序抓取(暂且不考虑视觉部分). ...

  4. UR机器人通信接口总结

    UR机器人通讯接口总结 UR机器人公司的官网教程给出了UR机器人提供的通讯接口,如下图所示: Dashboard(29999) 接口是机器人人机界面进程负责维护和执行的一个端口.主要负责接收上位机指令 ...

  5. UR机器人C语言和Python编程控制

    UR机器人编程控制 一.通过 TCP/IP 进行远程控制 二.UR机器人通信端口类型 2.1.Modbus TCP端口(502端口) 2.2.C语言上位机编程端口(30001/30002/30003端 ...

  6. UR机器人装箱姿态_关于人机协作机器人UR的介绍

    原标题:关于人机协作机器人UR的介绍 在这几年,各大工业机器人制造商,目前都热衷与人机协作,ABB的"玉米",FANUC的"绿手臂",KUKA的"伊娃 ...

  7. UR机器人TCP通讯示例

    本文介绍UR机器人通讯示例,采用的是UR5机器人,实现的功能是从电脑端给机器人发送坐标,让机器人运动到目标位置.已经经过实操检验.本文截图是在虚拟机上,与实际界面显示略有不同,仔细看图片和文字. 1. ...

  8. UR机器人(二):Path and Time Scaling

    1.引言 看过UR机器人脚本手册的都应该知道有这样一个直线插补函数: interpolate_pose(p_from, p_to, alpha); 参数:p_from表示初始pose,p_to表示目标 ...

  9. UR机器人TCP通讯示例 详细例程,手把手教会你

    本文介绍UR机器人通讯示例,采用的是UR5机器人,实现的功能是从电脑端给机器人发送坐标,让机器人运动到目标位置.已经经过实操检验.本文截图是在虚拟机上,与实际界面显示略有不同,仔细看图片和文字. 1. ...

最新文章

  1. [转帖]tar高级教程:增量备份、定时备份、网络备份
  2. 框架中解决部分页面返回登录
  3. oracle 安装grid补丁,安装oracle 11.2.0.4.4的psu补丁过程
  4. 2.4 程序示例--线性决策边界-机器学习笔记-斯坦福吴恩达教授
  5. 【深度学习】图解 9 种PyTorch中常用的学习率调整策略
  6. 爱奇艺数据中台建设组合拳:日志投递、统一数仓、大数据平台
  7. 配置Cisco ASA 5512 公网访问ASDM 详解
  8. scratch作品_孩子的scratch作品只能演示?教你把它三步变为电脑软件
  9. 天猫盒子 显示电脑连接服务器失败,天猫魔盒访问电脑共享文件需要密码的解决方法...
  10. 地图客户端自动化测试
  11. win10关闭windows聚焦_Win10聚焦锁屏壁纸无法自动更换的处理方法
  12. 分布式数据库设计——分布式数据库的基础概念
  13. 【数据结构】平行四边形数量
  14. Python操作MyS QL
  15. 为什么很难统一量子力学与广义相对论?
  16. 饥荒 阿里云服务器搭建记录
  17. 五层协议之数据链路层
  18. UI自动化框架 基于selenium+pytest和PO分层思想
  19. [数学建模] 微分方程--捕鱼业的持续发展
  20. PM常用语看这篇就够了

热门文章

  1. Echarts 横坐标时间轴,相同的年份只显示第一个,方案记录
  2. tomcat启动项目时一直卡住无反应的解决方案
  3. 用计算机管理从新分区,电脑如何分区硬盘分区_电脑怎么重新分区教程-win7之家...
  4. 股票量化自动交易软件下单原则条件
  5. MinIO 中的图片在前端列表渲染时报错 404
  6. 检索报告计算机类,计算机类的检索报告.docx
  7. 大数据学习一般都需要学习哪些知识
  8. 计算机系统软件和应用软件的区别
  9. 一直被模仿从未被超越的AWS为什么这么强?
  10. dep和rpm的安装