首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让机器人之间相互交流?

欢迎关注工业机器人之家

随着视觉系统和其他机器人辅助工具的使用日益普遍,机器人承担的任务越来越复杂。这就需要机器人在工作期间互相传递零件。为此,机器人之间需要进行交流以保持高效率和节约生产时间。通用机器人有多种通信协议可以满足几乎所有的新旧网络,这些通信协议包括:MODBUS,ProfiNet,EtherNet / IP,TCP / IP和XMLRPC。

TCP / IP和远程控制

通用机器人最常用的一种通信方法是通过以太网实现简单的TCP / IP套接字连接。 为什么TCP / IP如此流行?在通用机器人上运行着的的远程控制服务器(包括主服务器、辅助服务器、实时服务器和仪表板服务器)都使用TCP / IP协议,这些服务器远程接收来自外部设备和其他机器人的客户端程序发来的各种命令。就两台机器人互相传递零件的情况而言,传递的时间可能取决于前一个任务的完成情况,仪表板服务器可用于启动、暂停或停止运行机器人。下面是仪表板服务器运行的一个示例,两个UR3协作机器人正在合作拼一个魔方:

每个机器人移动魔方的三个面,但是每次移动需要一个机器人拿好魔方,这样方便另一个机器人旋转魔方。要做到这一点,拿着魔方的机器人将移动到合适的位置,准备好之后再告知另一个机器人开设旋转魔方。接着,拿着魔方的机器人将暂停自己的程序,等待另一个机器人完成魔方的旋转

仪表板服务器除了开启或停止机器人运行以外还有更多的功能。有关仪表板服务器命令和用法的更多信息,请参阅Universal Robots支持页面上的文章15690。

其他远程控制服务器

仪表板服务器可以访问高级功能,例如加载程序、获取机器人状态以及启动和停止机器人。还可以实现更加具体的功能例如移动机器人,通过机器人上运行的主服务器(端口30001)、辅助服务器(端口30002)或实时服务器(端口30003)进行存档实现。这些服务器接收 URScript语言的命令,例如:

movej(暂停)让机器人做出指定姿势

sleep(秒)让机器人等待几秒钟

freedrive_mode()将机器人切换到自由运行模式

以上这些做为编码字符串发送到机器人并立即得到执行。当两个机器人的传递位置不停变化时,这些编码会有所帮助。拿着零件的机器人可以告诉另一个机器人指定位置在哪,或者在指定的位置等待一定时间。想了解关于URScript及本机功能的更多信息,请下载URScript手册(SW3.5)。由于服务器有实现远程操控通用机器人的功能,因此把它们统称为远程控制服务器。如果有一些URScript本身不支持特定功能对服务器,那么可以将预定义函数编写并输入机器人的前导码中,那么当命令通过远程服务器发送到机器人时,它们可以马上理解这些命令。

测试仪表板服务器:

为实现测试目的,可以使用测试套接字的程序例如HyperTerminal或类似的程序。在这个例子中使用的是免费软件程序 SocketTest

XMLRPC派上用场

另一种通信方法是XMLRPC,全称是XML formatted Remote Procedure Call,即远程过程调用(远端程序呼叫)的分布式计算协议。虽然这个方法并不只用于机器人之间的沟通,但是这种通信方法对于运行URScript 语言不支持的执行功能时非常有用。XMLRPC可以在运行时调用另一种语言编写的程序或预定义函数,这对于与URController不兼容的需要单独执行程序特别有用。想了解XMLRPC功能的更多信息,请阅读Universal Robots Support页面上的文章16326。

在美国印第安纳州的Task Force Tips公司里,两台UR5机器人在一台视觉控制的机器上协同工作。视觉系统和机器人之间所有

的沟通都是通过MODBUS进行的

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171221B0Z3VF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券