始于焊接,不止于焊接
一、视觉功能简介
视觉功能是通过机器视觉系统对二维平面物品进行定位,输出X、Y和角度值给机器人,引导机器人实现抓取等操作。本系统支持三种应用场景:
物品固定,视场在机器人工作区域内;
物品运动,视场在机器人工作区域内;
物品运动,视场不在机器人工作区域内。
注意:机器人自身必须具备良好的定位精度,否则可能导致定位不准。
基本概念
视觉系统:包含相机及数据处理系统。
视场:视觉系统需要识别的区域。
像素:相机精度单位。
像素距离比:每个像素对应的物理尺寸(X、Y方向分别设置)。
视觉坐标系:相机固定后即确定,移动后需重新校准。
标定:校准相机与机器人坐标关系的流程。
系统工作思路
视觉系统中建立场景(包含模型、基准点、数据输出格式)。
CRP系统触发视觉系统工作。
视觉系统返回数据。
CRP系统通过用户坐标系建立视觉坐标与机器人坐标的关联。
注意:最后一个数据的结尾需增加一个回车(分隔符)作为数据结束标志。
二、视觉参数详细说明(四级界面)
2.1 第一级:视觉文件号
路径:【用户工艺】→【其他工艺】→【视觉】
设置视觉文件号(0-9)。
程序中调用的视觉指令需与此文件号对应(如
RUNVISION#(0))。
2.2 第二级:视觉配置参数
| 参数 | 说明 |
|---|---|
| 视觉厂家 | 对应代码:台达(1)、DALSA(2)、其他(3)、欧姆龙(4)、康耐视(5)、松下(6)、3D(7)、海康(9)。 |
| 跟踪选择 | 0-无跟踪(定点抓取);1-有跟踪(传送带运动中抓取)。跟踪数据存入GP50/GP51。 |
| 跟踪文件号 | 需先设置跟踪参数,若跟踪选择为0则不需设置。 |
| 视觉坐标系号码 | 通过视觉与机器人标定建立的坐标系号。 |
| 通讯超时时间 | 执行TRIGGERVISION到GETVISIONDATA之间的等待时间(超时则提示通讯超时)。 |
| 触发条件 | 0-时间触发;1-距离触发;2-指令触发(需TRIGGERVISION指令);3-IO触发。 |
| 触发时间/距离 | 设置时间(ms)或距离(mm)间隔。 |
| 通讯内容标记 | 0-无;1-1个标记;...;7-7个标记。标记对应数据变量(如GI51、GI53...)。 |
| 视觉数据重叠判断距离 | 小于此值视为物体重叠,数据舍弃。 |
| 工作区域重合 | 0-重合;1-不重合(需使用编码器关联)。 |
| 规则物体视觉计算角度 | 正方形(90°)、等边三角形(120°)。 |
| 通讯数据中有Z值 | 0-不带Z值;1-带Z值;2-带XYZABC值。 |
| 视觉坐标类型 | 0-用户;1-工具。 |
| 触发数据标识 | 设置触发时发送的标识个数(0-30)及对应GD地址。 |
| 发送机器人位置 | 1-20:连续发送指定次数;>20:每隔100ms自动发送。用于自动标定。 |
| 发送坐标类型 | 0-工具;1-用户。 |
2.3 第三级:调试参数
与相机通讯连接指示灯:点击【触发】连接/断开,绿色为连接成功。
相机IP地址/端口号:需与视觉系统设置一致。
X/Y像素距离比例:每个像素对应的实际毫米数(计算精度保留至小数点后5位)。
视觉侧/机器人侧编码器值:当工作区域不重合时使用。
视觉补偿设置:用于补偿视场与工作平面的误差,需记录9个点。
用户坐标设置:快捷打开当前用户坐标系界面。
2.4 第四级:测试参数
参考点机器人侧/相机侧记录:记录实际工件抓取姿态及摆放姿态。
旋转方向:0-反向计算角度值;1-同向计算角度值。
相机坐标:拍照后视觉系统发送的数据。Z轴可输入偏移量(防止碰撞)。
试运行允许/试运行该点:拍照后点亮绿灯,可试运行至识别点。
机器人坐标:相机数据转换后的机器人大地坐标(即抓取位置)。
数据刷新:当工作区域不重合时,用于刷新编码器数据,将视觉坐标换算到当前区域。
三、视觉标定
3.1 准备工作
机器人安装水平或垂直。
取料平台平整、水平、牢固。
相机安装牢固、垂直,安装面最好与取料平台平行或垂直。
制作标定平板(表面平整)和标定杆(末端尖形,与末端轴同心,跳动≤0.2mm)。
制作标定图形:图1(棋盘格)、图2(9点圆标,均匀分布)。
3.2 相机调试
连接方式:以太网对等网线连接。
IP设置:CRP系统默认IP:192.168.0.100。视觉系统需设置在同一网段(如192.168.0.20),端口号统一为9876。
视觉系统(欧姆龙FZ4)参数:设置“通讯模块”,以太网协议选“无协议(TCP)”,IP/端口/子网掩码与CRP匹配。
视觉程序:包含三个流程:图像输入 → 形状搜索 → 串行数据输出。串行数据输出需设置输出格式,最后一个数据需设置“分隔符”作为结束。
通讯验证:在CRP视觉界面点击【触发】,指示灯变绿,信息栏显示数据,与视觉系统输出核对。
3.3 建立相机与机器人坐标关系
3.3.1 校准视觉坐标系
将标定图2放置于视场。
通过图1、3、7的像素坐标确定X、Y方向(1→7为X,1→3为Y)。
调整标定板,确保1与7的Y坐标一致(在X轴上),1与3的X坐标一致(在Y轴上)。
固定标定板,防止位移。
3.3.2 计算像素比
已知图标1与7的实际距离(如220mm),除以两者X坐标像素差,得X像素比。
已知图标1与3的实际距离(如150mm),除以两者Y坐标像素差,得Y像素比。
3.3.3 重置视觉坐标系零点
在视觉系统中,将图标1的中心设为原点(通过修改输出表达式
U1.X - 测得值实现)。验证:重新拍照后,图标1坐标应接近 (0,0)。
3.3.4 建立用户坐标系(两种方法)
方法一:直接建立(标定杆可达视觉零点)
路径:【运行准备】→【用户坐标系设置】→【校验】。
设置原点(ORG):标定杆尖对准图标1中心,【记录当前点】。
设置XX方向:标定杆尖对准图标7中心,【记录当前点】。
设置YY方向:标定杆尖对准图标3中心,【记录当前点】。
点击【计算】完成。
方法二:跟踪功能建立(标定杆无法达到视觉零点)
视觉二级界面中:跟踪选择=1,工作区域重合=1。
在三级界面中:
点击【视觉侧编码器值】,记录标定图在视场时的编码器值。
移动标定图至机器人工作区,点击【机器人侧编码器】,记录编码器值。
后续用户坐标系建立步骤同方法一。
3.3.5 视觉与机器人跟踪标定方法
机器人末端固定尖状标定针,工具切换为0号。
流水线感应开关前放一尖状标定针。
设置跟踪工艺,开启标定。
开启流水线,尖状物经过感应开关后停止。
只能动XYZ,不能动ABC,用机器人标定针尖对准流水线上的标定针尖,记录A点。
移动机器人Z轴离开,继续开流水线至机器人可达范围,停止。
只能动XYZ,不能动ABC,再次对准,记录B点(决定方向)。
跟踪标定完成。
3.4 检验视觉引导精度
在视觉第四级界面,点击【触发】连接相机。
遮挡除图标1外的其他点,点击【拍照】,【试运行允许】变绿。
按住安全开关及【试运行该点】,机器人移至图标1。
重复对图标3、7进行测试,检查标定杆与图标中心的误差。
精度差的原因:机器人定位精度差/零位不准、相机安装不垂直、像素比不精确、焦距/曝光度不当等。
3.5 实物标定
换上实际手抓,将工件放入视场,设置视觉场景。
第四级界面点击【视觉侧点记录】,记录工件摆放姿态。
移动手抓至工件,调整抓取角度,点击【机器侧点记录】,记录机器人抓取姿态。
设置Z轴高度(工件上方安全值)。
拍照、试运行,若旋转方向不对,修改旋转方向参数(0/1切换)。
四、程序编辑
4.1 指令说明
| 指令 | 功能 |
|---|---|
RUNVISION#(0) | 运行视觉工艺,建立连接,打开后台接收 |
GETVISIONDATA#(0) | 从视觉缓冲区取数据(存入GP52/GP53),数据个数存于GI50 |
CLEARVISIONDATA#(0) | 清除视觉缓冲区数据 |
TRIGGERVISION#(0) | 触发视觉系统对应场景工作 |
TRACKSTART#(X) | 跟踪开始,跟踪缓冲区数据随编码器值刷新 |
TRACKEND#(X) | 跟踪结束 |
GETTRACKDATA#(X) | 从跟踪缓冲区取数据(存入GP50/GP51) |
4.2 变量说明
| 变量 | 定义 |
|---|---|
| GP50 / GP51 | 跟踪工艺中当前物体的机器人位置(数值相同) |
| GP52 / GP53 | 视觉工艺中当前物体的机器人位置(数值相同) |
| GI50 | 视觉缓冲区数据个数 |
| GI51 | 视觉标志1 |
| GI52 | 跟踪缓冲区个数 |
| GI53 | 视觉标志2 |
4.3 程序举例
1. 不跟踪定点识别
RUNVISION#(0) ; 运行视觉0号工艺*1TRIGGERVISION#(0) ; 触发一次 TIME T=200 ; 延时200ms JUMP *1 IF GI50<=0.000 ; 若无数据,跳转重试 GETVISIONDATA#(0) ; 取数据至GP52/GP53 ADD GP#53(3) 5.000 ; Z方向上提5mm(防撞) MOVL VL=200MM/S GP#53 PL=0MOVL VL=200MM/S GP#52 PL=0DOUT Y#(0)=ON ; 抓取 WAIT X#(0)=ON T=0 ; 等待到位 MOVL VL=200MM/S GP#53 PL=0
2. 跟踪抓取
RUNVISION#(0)*1TRIGGERVISION#(0)TIME T=200JUMP *1 IF GI52<=0.000 ; 跟踪缓冲无数据则重试 GETTRACKDATA#(X) ; X需对应跟踪文件号 TRACKSTART#(X) ; 跟踪开始 ADD GP#51(3) 5.000 ; GP51 Z方向上提5mm MOVL VL=200MM/S GP#51 PL=0MOVL VL=200MM/S GP#50 PL=0DOUT Y#(0)=ON WAIT X#(0)=ON T=0MOVL VL=200MM/S GP#51 PL=0TRACKEND#(X)
3. 双夹具抓取(需两个视觉文件号和两个工具坐标)
夹具1:视觉0 + 工具1
夹具2:视觉1 + 工具2
通过切换视觉号与工具号实现交替抓取。
附录一:CRP系统查看/修改IP地址
示教模式下按
SHIFT + C + R + P退出至Windows界面。接鼠标,启动任务管理器,运行
explorer。进入控制面板 → 网络连接 → 本地连接 → 属性 → Internet Protocol (TCP/IP)。
修改IP地址后,需进入
C:WINDOWS运行XPESvr。选择 EWF → 提交EWF。
操作 → 系统重启,修改生效。
附录二:视觉标定图形
标定图形一:棋盘格(用于调整相机平行度)。
标定图形二:9点圆标(用于建立坐标系和像素比计算)。