CS机器人视觉引导上下(2D相机)
1. 简介
随着工业的发展,在生产中对自动化的要求越来越高,视觉技术已被广泛引入机器人行业,具备视觉的机器人能更快、更准、更灵活地完成定位抓取、对位组装等。基于图像分析的视觉技术在机器人引导相关应用中的主要作用是精确获取对象物(待抓取
物体)和目标物(待组装物体)的坐标位置和角度,并将图像坐标转换为(工业机械臂)机器人能识别的机器人坐标,指导(机器人进行纠偏和组装。因此,手眼标定和定位引导是机器视觉在机器人引导中应用的的核心
1.1 手眼标定原理
原理:所谓手眼标定,即将手(机械手)和眼(摄像机)的坐标系统一起来,解决相机与机械手之间的坐标转换关系,让机械手能精确抓取到摄像机定位的目标。
1.2 CS 机器人搭配视觉工作流程
CS 机器人搭配 2D 视觉,常用于偏移取料。常见流程:来料位置不固定,视觉在固定高位对产品拍照,算出产品位置后把数据发给机器人,机器人走到对应取料位夹取产品后再去放料。如 果没有视觉,也可以用电脑网口调试助手和电脑虚拟机搭配测试,模拟视觉,用网口助手发对应偏移数据给到机器人运动。
1.3 运行前准备
1.3.1 检查网络是否连通
插好网线,将机器人 IP 和视觉 IP 设置成同网段(前三位相同,后一位不同),然后在视觉电脑终端 ping 机器人 IP,看是否能 ping 通,确认网络有连通。
1.3.2 示教机器人的工具 TCP 和用户坐标系
确认机器人的工具 TCP,可以用四点法把 TCP 点做到吸盘/夹爪中点,也可以不做,默认在法兰中心,在做旋转中心标定时用这个工具 TCP。
确认机器人的坐标系,可以利用基座坐标系,也可以先新建用户坐标系,然后标定时使
用对应的用户坐标系
注:1.机器人采用的单位是 m 和弧度制,相机发送过来的一般是 mm 和角度制,需要在机器人端或在相机端转换。
2.TCP/IP 通讯需要使用 FB2 口,需在网络里配置 FB2 网口 IP 地址
1.3.3 9 点标定方向+3 点标定旋转 TCP 点
本案例采用 9 点标定视觉方向与机器人基座标系 X/Y /Z 方向一致,每次移动 合适距离。
采用 3 点标定视觉旋转中心与机器人工具 TCP 相同。如图

2. 案例分享
2.1 案例简介
机器人到固定位置取料,然后去拍照,获取偏差值或者绝对值,以此来调整放料位置
PLC+2D 相机+CS 机器人
PLC 与机器人通讯协议:profinet,机器人做从站(CS-profinet 本文配置流程不再详细介绍)
相机和机器人通讯协议:TCP/IP,机器人做客户端

2.2 IO 定义
根据项目需求定义 IO 表

2.3 机器人配置
2.3.1 机器人基本配置
1.安装方式(默认正装)
2.负载设置(设置负载和重心,如设置不正确,会影响拖动效果和碰撞灵敏度)
3.根据需求看是否需要设置工具坐标 3.根据需求看是否需要设置用户坐标
4. FB2 网口 IP 要和相机工控机 IP 设置同一网段
5. 安装需要的插件:寄存器监视插件
(使用到的寄存器都需要重命名,方便在程序中使用,特别是整数寄存器和浮点寄存器,否则
程序中无法选择该信号)

(注意:CS 机器人 PN 名称,无法由 PLC 分配,只可机器人配置内更改)
2.3.3 安全原点输出
可配置输出主要配置安全原点信号,即机器人在 Home 位自动输出一个信号
安全原点信号配置步骤:
1.设置原点
2.设置安全原点
3. 安全 IO 配置
3.1 首先【配置】【通用】里面找到【原点】 置一个机器人原点,根据现场实际情况进行设置,后期修改原点也可直接编辑位置。

3.2 设置安全原点
然后再进入【配置】【安全】【安全原点】 输入之前设置好的安全密码, 然后参考原点选择刚刚设置的原点,点击应用,安全原点就配置好了

3.3 原点信号输出
最后在【配置】【安全】【安全 IO】中选择可配置输出 IO,选择其中一组信号,然后配置成需要的安全原点信号,这样就可以机器人处于原点位置时,可以在可配置 IO 输出的端口读到输出信号。
注意:设置完安全原点后,如果更新了原点位置,安全原点信号是没法在新的原点位置输出
的,需按上面步骤,把第二步重新进行更新一次原点,这样就可以输出新的原点信号给外部设
备了。

可以通过 profinet 通信协议读取安全原点,也可以通过已配置好的可配置输出信号。
2.3.4 主程序和释放抱闸配置
在启动选项卡配置开机自动加载任务文件,即主程序
自动释放抱闸配置后,机器人收到这个上升沿信号后,会依次打开电源,释放抱闸,若已经打
开电源,会直接释放抱闸
注:启动任务数字输入可不配置,这个信号只有开机后第一次启动任务有效,如中途暂停或停止后信号无效

2.3.4 启动信号配置
(需要安装寄存器插件,向艾利特工程师获取或者点击可下载 RegisterMonitor-1.2.6.0.elico)
配置-通用-IO,这里主要重命名信号,如果不重新命名,在 IO 配置中无法选择此信号
输入信号:

输出信号:如上图
2.4 机器人接线
2.4.1 远程开关机
机器人开机步骤:1.控制柜电源打开
2.点击示教器上的开机按钮(可以通过接线实现,如下图)
B2

2.4.2 急停接线

2.4.3 网络连接

2.4.4 远程模式
外部控制机器人启动需要将机器人模式改为远程模式。

2.4.5 启动时序
1.远程开机或者示教器点击开机按钮
2.PLC 给机器人发送自动释放抱闸信号,等待机器人反馈抱闸已释放信号
3.在机器人无急停无报错信号情况下,给机器人一个启动信号,等待机器人运行中信号反馈,如
果超过 2 秒,未收到机器人运行中信号,关闭启动信号 0.5 秒,再次启动,循环直到收到启动信号 止如需要程序重新开始,则给机器人停止信号,机器人反馈停止中,关闭停止信号,再给机器
人启动信号,机器人反馈运行中,再关闭启动信号
4. 如需暂停任务,可配置暂停信号。
3.相机标定
机器人要与相机进行 9 点标定或 3 点旋转。若创建了坐标系,则给相机的点位要在创建的坐标
系下的点位
9 点标定是为了建立相机坐标系和机器人坐标系之间的变换关系
3 点旋转是为了旋转中心与机器人工具 TCP 一致
标定按照下图顺序进行,即机器人依次到达 12 个点位,并把这 12 个点位坐标给到相机不同厂家的相机 9 点标定的顺序可能不同,可按情况进行调整

3.1 标定程序
定义和 PLC 通信的两个整形寄存器:
输入:标定位置编号
输出:反馈位置编号
PLC 通过标定位置编号赋值,让机器人执行对应标定位置,机器人到达位置后,并反馈位置标
号,反馈正确,让相机记录相关信息,此时可以执行标定。
注意:可以自定义 X 方向偏移距离(doffsetX),Y 方向偏移距离(doffsetY)和旋转角度
(doffsetT),doffsetX 和 doffsetY 单位是米, CamNum 是相机标定位置编号,可以利用 PLC 往里面传递参数,可以实现根据相机的需要自动标定,


4.机器人程序
4.1 机器人动作流程
机器人搭配视觉的动作流程如下图 :

4.2 机器人收相对坐标
机器人收到视觉发送过来的坐标是相对值,也就是相对取料基准位的偏移,机器人在取料
基准位上加上视觉发过来的偏移量(dx,dy,rz),到达纠偏后的取料位。程序如下图 。

网口通讯程序 socket_tcpip.script 如下图 :

接收视觉坐标脚本程序 receive.script 如下图 6。视觉发过来的数据按照:"OK,1,2,3#"格式,第 1 位数代表标志符,拍照成功发送"OK",拍照失败发送"NG";第 2,3,4 位数分别是 X,Y,RZ 方向的偏移,数据用","隔开,末尾用"#"作为结束符。

4.3 机器人收绝对坐标
机器人收到视觉发送过来的坐标是相对值,也就是相对取料基准位的偏移,机器人在取料基准位上加上视觉发过来的偏移量(dx,dy,rz),到达纠偏后的取料位。程序如下图 。

机器人接收数据脚本如下图
