一、 作品概述
核心定义:基于HALCON的视觉分拣系统,是一个利用HALCON强大的机器视觉库,实现对目标物体的自动识别、定位、检测,并通过与机器人或执行机构的通信,引导其完成抓取、分类和放置的自动化系统。
“基于HALCON的视觉分拣系统”是一个综合性极强的优秀作品。它成功地融合了机器视觉、机器人学、自动控制和软件工程等多个技术领域。评价其水平,不仅要看它是否能够完成基本的分拣动作,更要深入分析其系统的稳定性、精度、效率以及应对复杂情况的能力。
二、 系统关键技术模块分析
1. 硬件平台搭建
工业相机: 选择面阵或线阵相机,分辨率、帧率需根据物体运动速度和检测精度决定。
镜头: 焦距、景深、畸变等参数直接影响成像质量。通常需要计算视场和分辨率。
照明系统:这是项目的关键成败点之一。 需要根据物体表面特性(颜色、纹理、反光)选择合适的光源(如环形光、背光、条形光)和打光方式,以凸显目标特征,抑制干扰。
计算机:安装HALCON软件及运行时环境,负责运行视觉算法。
通信单元: 实现计算机与机器人/PLC的通信,常用方式有Ethernet/IP、Profinet、TCP/IP,或者通过I/O卡发送触发信号和坐标。
2. 软件算法流程(HALCON核心)
图像采集:
使用 `open_framegrabber` 连接相机。
使用 `grab_image` 或 `grab_image_async`(异步采集,效率更高)实时获取图像。
图像预处理:
目的: 提升图像质量,为后续处理做准备。
目标定位与分割:
Blob分析(形状特征):最常用。通过 `threshold`(阈值分割)将目标与背景分离,然后使用 `connection`(连通域分析)和 `select_shape`(形状选择)根据面积、圆度、矩形度等特征筛选出目标物体。
模板匹配:
当物体形状固定但位置和角度任意时使用。使用 `create_shape_model` 创建模板,然后通过 `find_shape_model` 在图像中快速、精准地定位模板,并输出其位置和角度。
颜色分割: 如果分拣依据是颜色,可使用 `decompose3` 分解RGB通道,或在HSV空间下使用 `trans_from_rgb` 和 `threshold` 进行分割。
边缘提取:
使用 `edges_sub_pix` 提取亚像素精度的边缘,再通过 `fit_circle_contour_xld` 或 `fit_rectangle2_contour_xld` 等算子拟合几何形状。
识别与测量:
对分割出的区域进行定量分析,如计数、读取二维码/条形码(`create_data_code_2d_model`, `find_data_code_2d`)、测量尺寸等。
坐标转换:
目的:
将相机图像坐标系中的像素坐标,转换为机器人基座坐标系下的世界坐标。
方法: 使用HALCON的标定板(`find_caltab`, `find_marks_and_pose`)进行手眼标定。确定相机与机器人的相对位置关系后,通过 `affine_trans_point_2d` 等算子进行坐标转换。
通信与控制:
将计算出的目标世界坐标(X, Y, Z)和旋转角度(Rz),通过TCP/IP Socket或自定义协议发送给机器人控制器。