微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于TCP/IP协议实现上位机对UR机器人的远程控制

基于TCP/IP协议实现上位机对UR机器人的远程控制

时间:12-19 来源:互联网 点击:

load.urp>

Polyscope的版本号

poweron使机器人本体通电

poweroff使机器人本体断电

brakerelease释放制动器

safetymode返回机器人当前所处的安全模式状态

表3Dashboard指令列表

显而易见,我们可以通过一些Dashboard指令,远程切换、加载程序,同时可以启动、暂停、停止程序,这样上位机就可以远程控制程序了。

5、上位机编程端口

UR机器人有3种编程方式:Polyscope编程、脚本编程以及C-API编程。Polyscope编程指的是程序在示教器上被编辑,机器人然后执行,这是UI层的编程方式。C-API编程是在研发层上的编程方式。我们重点介绍的是脚本编程方式,脚本编程的语言是UR公司在python语言基础上,自己研发的URScript语言。URScript是在脚本层上控制机器人的编程语言,就像其他编程语言一样,它有变量类型,语法结构、方法等。另外,它有一系列的专用方法来控制机器人运动以及IO状态。

UR机器人的控制器是运行在Mini-ITXPC上的,一旦PC启动机器人控制器(就像启动服务一样),Polyscope软件就通过PC本地的TCP/IP端口与机器人控制器建立连接了。同样,当上位机作为客户端,通过30001或30002或30003特定的编程端口,与机器人控制器建立TCP/IP连接,这样我们就可以在上位机上按照URScript语言的格式编写脚本程序,直接发送给机器人控制器,机器人就可以直接执行程序了。

按照上面所述的机器人脚本编程原理,我就可以在上位机上制作如下界面,实现对UR机器人的远程编程。

图4脚本编程

6、实时反馈端口

30001、30002、30003除了用于远程编程外,还有其他功能,如下表所述。

端口名称功能

30001第一客户端端口客户端可发送脚本代码至服务器;服务器自动以5Hz的频率返回机器人状态与补充消息到客户端。

30002第二客户端端口客户端可发送脚本代码安全文件传输协议;服务器自动以5Hz的频率返回机器人状态与消息到客户端。

30003实时反馈端口客户端可发送脚本代码安全文件传输协议;服务器自动以125Hz的频率返回机器人状态与消息到客户端。

表4编程口

这三个端口另一个共同的特点就是,一旦客户端打开端口,就会按照一定的频率收到来自机器人的信息。需要注意的是30003端口是实时反馈端口,客户端每8ms能收到一次来自机器人的信息。另外,通过测试,客户端通过30001和30002只能每200ms左右收到来自机器人的信息。

其实客户端通过这三个端口收到的机器人信息也稍有不同。通过30003端口收到信息是最丰富的,包含了通过30002收到的信息以及通过30001收到的大部分信息。

所以说通过实时反馈端口,客户端收到机器人信息效率是最高的,内容也是最全的。通过实时反馈端口每次收到的数据包有1044个字节,这些字节以标准的格式排列。注意在极少情况下客户端会收到小于1044个字节,但是字节排列的格式不变。下表是1044字节排列的顺序表。

字节顺序内容

1-4整个数据包的字节数

5-12控制器通电时间,断电清零

13-444关节目标位置、速度、加速度、电流、扭矩,实际位置、速度、电流,控制电流

445-684TCP位置、速度、力,0目标位置、速度

685-692输入位状态

693-740电机温度

740-748程序扫描时间

749-756保留

757-820机器人模式,关节模式,安全模式

821-868保留

869-892TCP加速度

893-940保留

941-948速度比例

949-956机器人当前动量值

957-972保留

973-996控制板电压,机器人电压,机器人电流

997-1044关节电压

表5实时反馈数据包

有了这些数据,上位机的数据表现就会十分丰富。下面有2张上位机界面图,“点动图”获取了关节位置、TCP位置;“初始化图”获取了关节模式、关节实际电流、关节电压以及其他数据。

图5点动图

图6初始化图

7、结束语

综上所述,机器人作为ModbusTCP服务器,上位机通过502端口可以控制机器人的所有IO;上位机可以通过30001或30002或30003端口远程下载程序到机器人;上位机通过29999端口可以远程控制程序运行状态;上位机通过30003端口可以实时得到机器人的状态信息。也就是说,利用UR机器人开放的基于TCP/IP协议的端口,可以制作自己的Polyscope软件,实现上位机的远程控制。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top