1. 项目背景与核心价值
在工业自动化产线上,机械手与视觉系统的结合早已不是什么新鲜事。但真正能把两者玩出花来的案例,往往藏在那些看似简单的重复性操作中——比如锁螺丝这个再普通不过的工序。雅马哈的这套系统之所以值得专门拆解,是因为它把"机械定位+视觉校正"的配合做到了毫米级精度,同时保持了产线应有的节奏速度。
我去年在汽车电子产线第一次见到这套系统时,最惊讶的是它的容错能力——当来料位置有±3mm偏差时,机械手能自动调整路径完成锁附,整个过程比传统夹具定位快了40%。这种柔性化特性正是当前小批量多品种生产最需要的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构解析
2.1 硬件组成清单
- 雅马哈YK-XG机械手(负载5kg/重复精度±0.02mm)
- 500万像素工业相机(全局快门/帧率30fps)
- 环形光源+同轴光复合照明系统
- 电批扭矩控制器(0.1-5Nm可调)
- 振动盘供料机构(带缺料检测)
2.2 软件控制流
典型的"拍照-计算-执行"闭环:
- 相机触发拍照(在传送带定位触发)
- 图像处理(模板匹配+边缘检测)
- 坐标转换(像素→机械坐标系)
- 路径规划(避障算法介入)
- 电批下压(压力反馈闭环)
- 扭矩监控(防漏锁/滑牙)
关键点:步骤2到步骤3的坐标转换需要做镜头畸变校正,我们现场用9点标定法能达到0.1mm的映射精度。
3. 视觉定位的魔鬼细节
3.1 特征提取的玄机
不同于常规的二维码定位,螺丝孔识别有特殊挑战:
- 反光问题:螺丝头金属反光会淹没边缘特征
- 遮挡情况:线束或相邻元件可能遮挡部分孔位
- 多型号适配:不同螺丝直径需要动态调整识别参数
我们的解决方案是:
python复制# 使用Halcon的局部阈值分割
dev_set_shape('ellipse')
threshold_sub_pix(Image, Border, 20)
select_shape(Border, Selected, 'circularity', 'and', 0.8, 1)
3.2 照明方案的试错史
经历了三种方案迭代:
- 初版:普通环形光 → 反光严重
- 改进:低角度条形光 → 阴影干扰
- 终版:同轴光+30°环形光组合 → 完美呈现孔位边缘
照明角度调
