4. 视觉抓取系统架构设计

视觉抓取系统的架构设计,本质上是把“看得见”和“抓得准”这两件事在物理层、数据层和控制层上串成一条闭环链路。相机负责把光信号转成图像,镜头决定视野与分辨率,光源决定目标特征是否稳定可提取,工控机完成图像处理与位姿计算,通信接口把结果送到MOTOMAN控制器,控制器再驱动机械臂完成抓取。任何一个环节的参数不匹配,都会在最终抓取精度上被放大。

一、从抓取任务反推系统架构

架构设计不应从“选什么相机”开始,而应从抓取任务反推。需要先明确几个关键量:目标物体的尺寸范围、抓取精度要求、节拍要求、工作距离、安装方式(Eye-to-Hand 还是 Eye-in-Hand)、以及MOTOMAN控制器的型号与可用接口。以常见的MOTOMAN GP系列或MH系列为例,控制器通常提供Ethernet/IP、PROFINET、EtherCAT或标准TCP/IP Socket接口,部分型号支持MotoPlus二次开发。视觉系统与控制器之间的数据交换方式,直接决定了架构是“视觉给坐标、控制器做手眼转换”,还是“视觉直接输出机器人坐标系下的目标位姿”。

假设一个典型场景:目标为100mm×80mm的金属工件,抓取精度要求±0.5mm,节拍要求2秒/件,工作距离约600mm,采用Eye-to-Hand固定安装。这个任务决定了相机分辨率、镜头焦距、光源类型和通信周期的基本量级。

二、相机与镜头的参数匹配

相机选型的核心是分辨率与帧率。按精度反推:若要求±0.5mm,通常取像素当量不超过0.15mm/pixel,留出3倍以上余量。视野需覆盖工件可能出现的最大范围,假设为400mm×300mm,则所需像素数约为400/0.15≈2667,300/0.15≈2000,即至少500万像素。实际选型可选用500万像素GigE相机,分辨率2448×2048,像素当量约0.16mm/pixel,满足要求。

镜头焦距由工作距离和视野决定。使用公式 f = (WD × sensor_size) / FOV。以1/1.8英寸传感器(约7.2mm×5.4mm)为例,工作距离600mm,视野400mm,则 f ≈ (600×7.2)/400 ≈ 10.8mm,可选12mm定焦镜头。若工作距离或视野变化,需重新核算。镜头接口需与相机匹配(C口或CS口),并注意景深是否覆盖工件高度变化范围。

三、光源与打光方式

光源的目标不是“照亮”,而是让目标特征在图像中稳定可分割。金属工件常见问题是反光和阴影。对于平面金属件,环形光或同轴光可减少阴影;对于有高度差的工件,低角度条形光可突出边缘;对于高反光表面,圆顶光或偏振片组合更有效。光源控制器应支持频闪或常亮,频闪可与相机触发同步,延长LED寿命并减少发热。实际调试时,应观察图像中目标边缘的灰度梯度是否稳定,而不是只看“亮不亮”。

四、工控机与通信接口

工控机承担图像采集、预处理、特征提取、位姿计算和通信任务。建议配置:Intel i5或以上、8GB内存、SSD、千兆网卡(支持Jumbo Frame)、以及独立的USB或GigE接口。若使用深度学习模型,需考虑GPU。软件层面,常用Halcon、VisionPro或OpenCV,配合相机SDK完成采集。

通信接口是视觉与MOTOMAN控制器之间的桥梁。常见方案有三种:

  • TCP/IP Socket:视觉工控机作为客户端或服务端,向控制器发送目标位姿字符串。MOTOMAN控制器通过MotoPlus或标准Socket指令接收。优点是灵活,缺点是需自行处理握手和超时。
  • Ethernet/IP或PROFINET:适合与PLC或控制器做周期性数据交换,实时性较好,但数据量有限,通常传输坐标和状态字。
  • EtherCAT:若控制器支持,可实现更高实时性,但视觉端需支持EtherCAT主站,成本较高。

实际工程中,Socket方案最常用。视觉端发送格式可定义为:X,Y,Z,Rx,Ry,Rz,Status,控制器解析后调用抓取程序。需约定坐标系:视觉输出的坐标应明确是相机坐标系还是机器人基坐标系。若为相机坐标系,控制器需根据手眼标定矩阵转换;若为机器人基坐标系,视觉端需完成手眼变换。两种方式均可,但必须在架构设计阶段确定,避免后期混乱。

五、集成方案与信号链

完整的集成方案应包含触发、采集、处理、通信、执行和反馈六个环节。触发可由控制器发出,也可由光电传感器发出。相机收到触发后曝光,图像通过GigE传至工控机,工控机在50~200ms内完成处理并输出位姿,通过Socket发送至控制器,控制器执行抓取并返回完成信号。若抓取失败,视觉端可重新拍照或调整策略。

视觉抓取系统集成信号链与数据流 光源 环形/同轴/条形 工件 金属/塑料/装配件 相机 + 镜头 500万像素 / 12mm 工控机 图像处理 / 位姿计算 Halcon / OpenCV 通信接口 Socket / Ethernet/IP PROFINET / EtherCAT MOTOMAN控制器 DX200 / YRC1000 机械臂 GP系列 / MH系列 触发与反馈 光电/控制器触发 抓取完成信号 照射 反射光 图像数据 位姿数据 坐标/状态 运动指令 完成信号 触发脉冲 手眼标定矩阵 T_cam_to_base Eye-to-Hand:固定安装,标定一次;Eye-in-Hand:随臂运动,需实时补偿 坐标系约定 相机坐标系 → 机器人基坐标系 典型节拍 触发→采集→处理→通信→抓取 ≈ 1.5~2.5s

六、架构设计中的关键检查点

在方案落地前,建议逐项确认以下内容:相机像素当量是否满足精度要求并留有余量;镜头焦距与工作距离是否匹配,景深是否覆盖工件高度变化;光源是否使目标边缘在图像中形成稳定梯度;工控机处理时间是否满足节拍;通信协议是否与MOTOMAN控制器兼容,数据格式和坐标系是否明确;手眼标定方式是否确定,标定精度是否可验证;异常处理是否完整,包括拍照失败、通信超时、抓取失败后的重试或报警逻辑。

手眼标定是视觉抓取精度的关键。Eye-to-Hand方式下,标定一次即可长期使用,但相机位置变动后必须重新标定;Eye-in-Hand方式下,相机随机械臂运动,标定矩阵需结合当前关节角实时计算,对控制器和视觉端的同步要求更高。

架构设计的最终输出不是一张框图,而是一组可执行的参数和接口约定:相机型号与分辨率、镜头焦距与接口、光源类型与控制器、工控机配置与软件、通信协议与数据格式、坐标系定义与标定方法、以及异常处理策略。这些内容确定后,系统集成才有可依据的基准,后续调试也才能快速定位问题环节。