机器视觉定位:当吸嘴歪了,坐标系该听谁的

课堂里那声“像素怎么变成毫米”

那节课,我在讲台上摆了一台小相机、一块标定板,还有一台拆掉外壳的桌面机械臂。学生围着看,挺兴奋。有人喊,OpenCV 几行代码就能找到圆心,机器视觉定位不过如此嘛。我没接话,只在黑板上画了两个坐标系。然后问:圆心在图像里的 像素坐标,怎么变成机械臂能懂的毫米?教室安静了。有个学生小声说,乘个比例?

乘比例。听起来很顺。对吧?可相机有透视,镜头有畸变,工作平面还不一定平行于像平面。比例从哪来。学生开始翻笔记,找内参矩阵。我让他们先别算。先想:相机是另一把尺子。尺子放在哪,朝哪,刻度怎么定。机器视觉定位的麻烦,常常不在“看见”,而在“对齐”。

工业机器人手眼标定实验台相机与标定板
工业机器人手眼标定实验台相机与标定板

于是我们现场做手眼标定。机械臂带着标定板走几个姿态,相机拍。学生盯着残差,想让它小。我提醒,残差小不等于抓得准。标定板固定在末端,工具坐标系却没认真标。后面抓取偏了,怪视觉?不,得先查机械链。

标定不是求个矩阵,是给误差找边界

课程设计里,我故意把相机选择做成取舍题。全局相机,视野大,标定直观,但不一定看得见夹缝里的工件。手眼相机,跟着末端跑,遮挡少,可标定和使用都更绕。学生纠结。有人想一步到位,选贵的远心镜头。我说,先问工况:你要定位的是平面件,还是带高度的装配?视野和景深怎么平衡?

这里有个教学卡点:机械设计学生容易把机器视觉定位当成纯软件问题。其实不是。相机支架的刚度、光源的入射角、工件的表面反光,都会把坐标拖偏。一个学生用亚克力支架固定相机,手一碰,图像动几像素。他没在意。第二天抓取全偏。复盘时才发现,支架是弹性体。这个例子不复杂,但很扎心。

机械臂末端吸嘴视觉定位抓取工件示意图
机械臂末端吸嘴视觉定位抓取工件示意图

后来我把标定课拆成三段。先讲物理意义,再玩数据,再回到机械结构。说实话,顺序反过来,学生也能学会按按钮。可他们不会知道,什么时候该怀疑标定,什么时候该怀疑机构。机器视觉定位的精度,从来不是单一算法指标,它是一整条误差链的结果。

失败复盘:吸嘴歪了,定位值却没错

失败复盘:吸嘴歪了,定位值却没错
失败复盘:吸嘴歪了,定位值却没错

有个小组做吸嘴抓取。相机识别很稳,中心点几乎不跳。可吸嘴就是贴不正。学生怀疑阈值,怀疑光照,怀疑相机。我让他们把末端吸嘴拆下来,在平板上滚一下。歪的。吸嘴磨损,工具坐标系没更新。视觉给的位置没错,机械末端却不在你以为的地方。

这事的教训不新,但课堂上很有效。机器视觉定位给出的是目标位置,不是抓取成功。中间还隔着工具坐标、机器人运动学、夹持姿态。后来我加了一个小任务:用尖针去碰基准点,标末端工具。学生嫌枯燥。碰了几次后,有人忽然明白,原来每个坐标系都在说话。谁没对齐,谁就悄悄把误差塞进结果。

我也反思。以前太急着教手眼标定公式,AX=XB 写满黑板。学生抄了,但不一定懂。现在先让他们被误差咬一口。疼了,再给数学。接受度不一样。不过话说回来,公式还是得推。只是推之前,得让他们知道自己在解决什么问题。

把课程作业改成一条小产线

把课程作业改成一条小产线
把课程作业改成一条小产线

期末作业,我不再只收一份标定报告。改成一个小场景:传送带送料,相机定位,机械臂抓取,放到指定位置。精度不苛求,但流程要闭环。学生自己选相机、镜头、光源,搭支架,写通信。有人把光源装在相机同侧,反光炸了。有人把工件贴歪,定位一塌糊涂。调吧。机器视觉定位在纸面上很干净,到了台面上全是细节。

我喜欢看他们卡住后的表情。不是幸灾乐祸。是那种“原来如此”的瞬间。一个女生说,老师,我之前以为视觉就是拍照加识别。现在发现,机械结构、光源、标定、通信,少一个都不行。这话比考试分数有用。也有学生吐槽,标定太烦了。我认。标定确实烦。可它像拧螺丝,烦,但松一颗,整台机器都晃。

下次课,我打算先不看代码。先画坐标链。谁在动,谁在看,谁在抓。相机坐标系、机器人基坐标系、工具坐标系、工件坐标系。画清楚了,再谈算法。机器视觉定位不是一门孤立的图像课。对机械设计教育来说,它更像一座桥。桥这头是机构与传感器,那头是控制与算法。桥面稳不稳,得看每个连接点。嗯,就先写到这。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:机器视觉定位:当吸嘴歪了,坐标系该听谁的
文章链接:https://m.yqhljx.com/list_9/5804.html