任务需求
现有工业视觉相机,通过利用Socket通信使相机和机器人相连接,任意旋转待检测物体后,相机拍照即可识别出物体的位置,视觉相机检测物体的位置通过Socket发送给机器人端,机器人根据发送过来的数据完成对被检测到物体的上表面轮廓“边缘”运动,工作站布局如图1- 1所示。
图1- 1工作站布局
软件工具
Socket调试工具:TCP客户端-小陆课堂
ABB机器人仿真软件:RobotStudio6.08
知识准备
本任务利用Socket实现设备之间通信,关于“Socket通信概览”,如图1- 1所示。Socket通信分为服务器端和客户端两种,两种类型在RAPID程序中建立通信的过程比较类似,但在实际调用函数时略有区别。
图1- 2 Socket通信概览
Socket Messaging的目的是允许RAPID编程人员运用TCP/IP网络协议在电脑之间发送数据,一个Socket代表了一个普通的通信信道,独立于被运用的网络通信协议。
Socket通讯是一个标准,通过Socket Messaging一台机器人控制器内的RAPID程序可以和另一台电脑上的程序进行通信,要使用Socket通信需要拥有RobotWare选项,616-1PC Interface。
任务实战
根据图1- 1所示布局创建系统,并为系统配置“616-1 PC Interface”选项,如图1- 3所示。
图1- 3系统配置
系统创建完成后,为“被检测物体”创建“工件坐标系,其名称可自定义或默认“Workobject_1””,然后基于所创建工件坐标系,在被检测物体边缘处,示教p1~p4四个位置点,以及机器人回原点等,如图1- 4所示。
图1- 4记录点位
将所示教点位信息以“同步到RAPID”方式,打开RPID编辑器,可查看到所创建点位信息,如图1- 5所示。
图1- 5同步到RAPID中
在RAPID编辑器中,编写开启服务器程序,其IP地址为“127.0.0.1”,端口号为“2006”,同时将接收到“字符串”信息,传递至“rHandleData”程序中进行解析处理,如图1- 6所示。
图1- 6开启服务器
需注意的是,ABB机器人运动及坐标系都是根据四元数来辨别姿态,所以之间的Rz无法使用,这时需要利用OrientZYX欧拉角转换函数将Rz转换为四元数并复制给getPoseVer中的Rot四元数,如图1- 7所示。
图1- 7数据解析处理
任务调试
在作者【小陆课堂】公众号发送“TCP客户端”获取调试工具安装包,安装完成后,并运行可看到如图1- 8所示界面。
图1- 8小陆课堂专用调试工具
将RAPID程序添加至Main主程序中,并运动程序,然后在“TCP/IP”客户端输入机器人端的IP地址及其端口号,点击“建立连接”,显示“连接成功”,说明通信成功,如图1- 9所示。
图1- 9建立通信
在发送消息区输入“100.56,25.68,-20.20,”这么一串字符串数据,然后点击“发送数据”,如图1- 10所示。
图1- 10发送数据
可见,基于客户端发送:100.56,25.68,-20.20,数据,机器人位姿也发生了改变,如图1- 11所示。
图1- 11机器人位姿
机器人Socket通信及实战应用视频讲解
如何获取更多机器人实战文章?
关注微信公众号“小陆课堂”: