工业4.0浪潮席卷全球,国家智能制造战略加速推进,传统的“编程—执行”模式机器人已难以满足复杂应用需求。在许多场景下,必须为机器人配备视觉感知能力——即机器视觉成像与感知系统,使其能够识别、分析并处理高级任务,自主判断目标场景状态,灵活应对各类突发问题。
机器视觉系统组成
若您从视觉软件入手接触本行业,建议先全局了解机器视觉系统的完整架构。一套典型机器视觉系统可拆分为三大部分:图像采集、图像处理、运动控制。基于PC的视觉系统由以下组件构成,如图1所示。
① 工业相机与工业镜头——这是成像的核心器件。通常由一套或多套成像系统组成视觉前端。若有多路相机,可通过图像卡切换获取数据,或同步控制同时采集多通道信号。相机输出信号类型多样:标准单色视频(RS-170/CCIR)、复合信号(Y/C)、RGB信号,亦可是非标准的逐行扫描、线扫描、高分辨率信号,完全取决于应用需求。
② 光源——作为辅助成像要素,光源对成像质量影响显著。常见选择包括各种形状的LED灯、高频荧光灯、光纤卤素灯等。
③ 传感器——通常以光纤开关、接近开关形式出现,用于判断被测对象位置与状态,并告知图像传感器何时开始采集。
④ 图像采集卡——一般插在PC中,主要职责是将相机输出的图像传送至主机。它将模拟或数字信号转换为特定格式的图像数据流,同时可控制相机触发信号、曝光时间、快门速度等参数。采集卡硬件结构因相机类型而异,总线形式多样,例如PCI、PCI64、Compact PCI、PC104、ISA等。
⑤ PC平台——电脑是视觉系统的大脑,负责图像数据处理及大部分控制逻辑。对于检测类应用,通常需要较高频率的CPU以缩短处理时间。此外,工业现场电磁、振动、灰尘、温度干扰较大,必须采用工业级电脑。
⑥ 视觉处理软件——机器视觉软件负责处理输入图像数据,通过运算输出结果。结果可以是PASS/FAIL信号、坐标位置、字符串等。常见软件形式有C/C++图像库、ActiveX控件、图形化编程环境,可专用于特定功能(如LCD检测、BGA检测、模板对准),也可用于通用任务(定位、测量、条码/字符识别、斑点检测等)。
⑦ 控制单元(包含I/O、运动控制、电平转换等)——视觉软件完成分析后,需与外部单元通信以控制生产过程。简单控制可直接利用图像采集卡自带I/O,复杂逻辑/运动控制则需附加可编程逻辑控制单元或运动控制卡实现。
一个完整机器视觉系统的工作流程大致如下:
- 工件定位检测器探测到物体进入视野中心,向图像采集部分发送触发脉冲。
- 图像采集部分按预设程序与延时,分别向摄像机和照明系统发出启动脉冲。
- 摄像机停止当前扫描,重新开始新一帧,或触发后启动一帧。
- 曝光机构在扫描前打开,曝光时间可预设。
- 另一个启动脉冲打开灯光,灯光与摄像机曝光时间匹配。
- 摄像机曝光后,正式开始一帧图像的扫描与输出。
- 图像采集部分接收模拟视频信号,通过A/D数字化,或直接接收数字视频数据。
- 数字图像存入处理器或计算机内存。
- 处理器对图像进行处理、分析、识别,得出测量结果或逻辑控制值。
- 处理结果控制流水线动作、定位、纠正运动误差等。
机器人视觉成像的结构形式
机器人视觉系统的核心在于模拟人眼视觉成像与人脑智能判断决策。它利用图像传感技术获取目标信息,经过提取、处理、理解,最终用于测量、检测、识别、定位或机器人自身伺服控制。
工业领域最具代表性的案例是机器人手眼系统。根据成像单元安装方式不同,可分为两类:固定成像眼看手系统(Eye-to-Hand)与随动成像眼在手系统(Eye-in-Hand),如图2所示。
图 2 两种机器人手眼系统的结构形式 (a)眼在手机器人系统 (b)眼看手机器人系统
某些应用场景为兼顾全局视场与局部高分辨率、高精度,可采用混合协同模式。例如,固定成像眼看手系统负责定位,随动成像眼在手系统负责定向;或固定系统估计相对方位,随动系统进行高精度姿态估计。如图3所示。
图 3 机器人协同视觉系统原理图
机器人视觉三维成像方法
3D视觉成像分为光学与非光学两大类,目前应用最广的是光学方法,包括:飞行时间法、激光扫描法、激光投影成像、立体视觉成像等。
飞行时间3D成像
飞行时间(TOF)相机利用光飞行时间差获取物体深度信息。目前已有多款商用产品,如Mesa Imaging SR-4000、PMD CamCube 3.0、微软Kinect V2等。
TOF成像适用于大视野、远距离、低精度、低成本的3D采集场景。其特点为速度快、视野大、工作距离远、价格低廉,但精度较低且易受环境光干扰。以Camcube 3.0为例,在4米距离内深度精度可达3mm以下,每个像素对应一个3D数据。
扫描3D成像
扫描3D成像方法包括扫描测距、主动三角法、色散共焦法。扫描测距采用准直光束1D扫描整个表面实现3D测量;主动三角法基于三角测量原理,使用准直光束或平面光束扫描目标完成3D成像(图4);色散共焦法则通过分析反射光束光谱获取聚焦位置(图5)。
图 4 线结构光扫描三维点云生成示意图
图 5 色散共焦扫描三维成像示意图
扫描3D成像最大优势在于高精度,其中色散共焦还能测量透明、高反、光滑表面,堪称杀手级应用。但其缺点是速度慢、效率低。即使安装在机械臂末端实现高精度测量,也不适合实时引导与定位,应用场景受限。此外,主动三角扫描在复杂面形中易产生遮挡,需合理规划末端路径。
结构光投影3D成像
结构光投影是目前机器人3D视觉感知的主要技术路径。系统由投影仪与相机组成,常见配置包括单投影单相机、单投影双相机、单投影多相机、单相机双投影、单相机多投影等。基本原理是:投影仪向目标投射特定结构光图案,相机摄取被调制的图像,再通过处理与视觉模型求解三维信息。
按投影次数分为单次投影3D与多次投影3D。单次投影主要采用空间复用编码和频率复用编码,曝光与成像时间短,抗振动性能好,适合运动物体实时3D成像,例如机器人实时引导、抓取线上运动产品。但深度方向空间分辨率受视场、镜头倍率、像素影响,大视场下提升困难。
多次投影3D空间分辨率高,能解决表面斜率阶跃与空洞问题,但存在明显短板:
- 连续相移投影易受投影仪、相机非线性和环境变化影响;
- 抗振性差,不适合连续运动物体;
- 在Eye-in-Hand系统中,机械臂连续运动时难以完成3D成像与引导;
- 实时性较差,不过随着投影频率与采集速度提升,该问题正逐步改善。
对于粗糙表面,结构光可直接投射;但对于大反射率光滑表面和镜面物体,需借助偏折法。偏折法测量复杂面型通常需要多次投影,因此也继承多次投影的缺点。此外,偏折法对曲率变化敏感——反射角变化率是表面曲率变化率的2倍,极易产生遮挡。
立体视觉3D成像
立体视觉通俗来说,就是利用一只或两只眼睛感知三维结构。一般从不同视点获取两幅或多幅图像,重构目标3D结构或深度信息,如图6所示。
图6 立体视觉三维成像示意图
立体视觉分为被动与主动两种。被动视觉仅依赖相机接收目标场景的光辐射,通过2D图像灰度值进行度量,适用于特定条件:室内、光辐射动态范围不大、无遮挡、表面非光滑且纹理清晰,或工业零部件几何规则明显、控制点易确定。
主动立体视觉则采用光调制(编码结构光、激光调制等)照射场景,对表面点进行编码标记,再解码求匹配点,通过三角法求解3D结构。其优点为抗干扰强、不依赖环境光(可利用带通滤波消除干扰),精度、重复性、可靠性高;缺点是在复杂场景中易产生遮挡。
基于结构光测量与3D物体识别技术开发的机器人3D视觉引导系统,可对较大深度范围内散乱堆放的零件进行全自由度定位与拾取。相比传统2D视觉只能固定深度识别、获取部分自由度信息,该系统具有更高柔性与更广检测范围,为机床上下料、零件分拣、码垛堆叠等工业问题提供了有效的自动化方案。
机器视觉3D引导系统框架
3D重建和识别技术
通过自主开发的3D扫描仪,可快速获取场景的点云图像,再借助3D识别算法,实现对点云图中多种目标的识别与位姿估计。
3D重建和识别效率

多种材质识别效果测试
得益于健壮的重建与识别算法,不同材质的零件均能稳定重建和识别——即便是反光严重的铝材和黑色零件,效果依然出色,能够适应广泛的工业场景。
机器人路径规划
获得零件位姿仅是第一步。要成功拾取,还需完成以下工作:自主开发的轨迹规划算法可轻松胜任这些任务,确保取件过程稳定可靠。
快速切换拾取对象
仅需四个简单操作即可实现拾取对象快速切换,无需复杂工装或产线调整。
性能比较
1. 飞行时间相机、光场相机等单相机3D成像方案,体积小、实时性好,适合随动成像眼在手系统进行3D测量、定位与实时引导。但短期内难以广泛普及至普通眼在手系统:飞行时间相机空间分辨率与精度偏低,不适合高精度场景;光场相机性能与精度尚可,但商业化产品稀少(如德国Raytrix),价格昂贵,使用成本过高。

图 7 随动成像眼在手系统机器人3D视觉成像优选方案
2. 结构光投影3D系统,精度与成本适中,市场前景良好。它由若干相机-投影仪组成,若将投影仪视为逆向相机,则相当于双目或多目三角测量系统。
3. 被动立体视觉在工业领域也有应用,但适用场景有限。单目立体视觉实现难度较大,双目或多目要求纹理或几何特征清晰。
4. 结构光投影与双目立体视觉均存在体积较大、易产生遮挡的问题。增加投影仪或相机可覆盖遮挡区域,但会增大体积,降低在Eye-in-Hand系统中的灵活性。
总结
光学3D视觉成像方法种类繁多,但真正能搭载于工业机器人、组成合适的随动成像眼在手系统,对变动目标进行3D成像、引导手臂精准定位与操作的方案并不多。从工业应用角度考量,我们更关注三大要素:精度、速度、体积与重量。机器人末端承受载荷有限,可用空间有限,传感器在满足精度条件下越轻越小越实用。因此,随动成像眼在手系统的最佳3D成像方法是被动单目(单相机)3D成像——体积小、重量轻,且能从根本上避免双目或多目多视图的遮挡难题。
