1. 课程导入与视觉引导系统全景

在工业机器人应用中,机器人本身只擅长“按轨迹运动”,它并不知道工件在哪里、姿态是否偏移、来料是否混料。视觉引导系统要解决的,正是把“看得见”变成“动得准”的问题:由相机获取工件图像,经视觉算法计算出工件在相机坐标系下的位姿,再通过手眼标定关系转换到机器人坐标系,最终生成机器人可执行的抓取或加工目标位姿。ABB机器人视觉引导系统,就是以ABB机器人控制器(IRC5或OmniCore)为核心,配合视觉传感器、通信接口与标定方法,实现“识别—定位—转换—引导—执行—校验”的完整闭环。

典型应用场景

视觉引导在产线上最常见的形态有三类。第一类是无序抓取(Bin Picking):工件散乱堆放在料框中,3D相机拍摄点云,匹配工件CAD模型,输出抓取位姿,机器人避开碰撞完成取件。第二类是定位装配与对位:工件由输送线或托盘送到工位,2D/3D视觉测量其实际位置与角度偏差,机器人据此修正装配轨迹,例如螺丝锁付、连接器插装、玻璃涂胶。第三类是在线检测与引导修正:视觉先判断工件是否合格、型号是否正确,再把合格工件的坐标发给机器人,实现“先判后抓”,避免抓取不良品。

这些场景的共同点是:工件来料位置不固定、人工示教点位无法覆盖全部偏差、节拍要求较高。若来料完全一致且定位精度足够,纯示教即可,无需视觉;一旦偏差超过机器人重复定位精度可容忍的范围,视觉引导就成为必要手段。

系统组成

一套完整的ABB机器人视觉引导系统,可以拆成五个部分来看。

  • 视觉传感器:2D相机用于平面定位、字符/条码识别;3D相机(结构光、ToF、激光轮廓)用于获取点云与六自由度位姿。选型时关注视野(FOV)、工作距离、分辨率、精度与节拍。
  • 视觉处理单元:可以是相机内置、工控机或ABB的Integrated Vision/TrueView等方案,负责图像采集、标定、模板匹配、点云配准与位姿输出。
  • 机器人本体与控制器:ABB IRB系列机器人配合IRC5或OmniCore控制器,执行运动指令并管理I/O与通信。
  • 通信接口:常用Socket、Profinet、EtherNet/IP、OPC UA等,把视觉计算结果以字符串或数据结构形式传给机器人。
  • 标定与坐标系:包括相机内参标定、手眼标定(Eye-in-Hand或Eye-to-Hand)、工具坐标系(TCP)与工件坐标系(Work Object)建立。
手眼关系是视觉引导的“地基”。Eye-to-Hand是相机固定、机器人运动,标定得到相机坐标系到机器人基坐标系的固定变换;Eye-in-Hand是相机装在法兰上,标定得到相机到TCP的变换。两者标定方法不同,误差都会直接放大到抓取精度上。

开发与集成流程总览

从项目落地角度看,视觉引导的开发集成通常遵循一条主线:需求与精度分析 → 相机与镜头选型 → 标定 → 视觉算法调试 → 通信联调 → 机器人程序编写 → 现场验证与节拍优化。下面这张图把这条主线与各环节的关键输出、判断依据放在一起,便于建立整体认知。

ABB机器人视觉引导系统开发与集成主线 需求与精度分析 节拍 / 偏差 / 精度 相机与镜头选型 FOV / 精度 / 工作距离 标定 内参 / 手眼 / TCP 视觉算法调试 匹配 / 点云 / 位姿 通信与联调 Socket / 字段 / 时序 输出:精度指标 ±0.5mm / 3s节拍 输出:选型清单 相机 / 镜头 / 光源 输出:标定文件 残差 < 0.3mm 输出:位姿数据 X Y Z Rx Ry Rz 输出:可执行程序 RAPID 抓取指令 数据流:从像素到机器人动作 相机采集 图像 / 点云 视觉计算 像素坐标 坐标转换 相机→机器人 通信传输 字符串 / 结构 机器人执行 MoveL / MoveJ 抓取结果校验 / 偏差反馈 / 参数修正 本课程学习路径 ① 系统全景与坐标系基础 ② 相机选型与标定实操 ③ 视觉算法与位姿输出 ④ 通信联调与现场集成

本课程的学习路径与实战目标

本课程按“先建立坐标系与标定概念,再打通视觉与机器人通信,最后完成现场集成与排障”的顺序展开。学习路径分为四段:第一段理解系统全景与坐标系基础,明确基坐标系、工具坐标系、工件坐标系与相机坐标系之间的变换关系;第二段掌握相机选型与手眼标定实操,能独立完成标定并判断残差是否合格;第三段进入视觉算法与位姿输出,理解模板匹配、点云配准如何得到六自由度位姿;第四段完成通信联调与现场集成,包括Socket报文格式设计、RAPID程序编写、异常处理与节拍优化。

实战目标可以概括为:给定一个来料位置存在偏差的抓取工位,能够完成相机安装与标定、视觉程序调试、机器人通信程序编写,并让机器人稳定抓取。判断是否达成的依据包括:标定残差在允许范围内(示例目标可设为小于0.3mm)、连续抓取成功率满足产线要求(示例可设为99%以上)、单次视觉引导节拍满足生产节拍(示例可设为3s以内)。这些数值是教学示例目标,实际项目需根据工件尺寸、精度要求和节拍重新确定。

学习建议:每学完一个模块,都在真实或仿真的ABB机器人工作站上复现一次。视觉引导的难点往往不在单个算法,而在坐标系一致性、通信时序和异常处理。把这三件事做扎实,现场集成就会顺畅很多。

接下来进入具体内容之前,先记住一条主线:视觉负责“算出位姿”,标定负责“统一坐标”,通信负责“传递位姿”,机器人负责“执行位姿”,校验负责“确认位姿”。后续每一章,都是围绕这条主线中的某个环节展开。