机器视觉定位:从标定到抓取,那些工程坑你都踩过吗?

摘要:视觉定位是个系统工程,坐标系、标定、光源、算法,一环扣一环。这篇讲讲实战中踩过的坑,以及怎么避免。

先讲个真实经历。去年帮客户做一套焊接引导系统,视觉定位精度要求±0.3mm,相机、镜头、运动平台全是新的,软件也算得天花乱坠,结果装上以后就是稳定偏移2mm,找了一天找不到原因。后来发现是标定板温度变形了,你信吗?

说实话,这样的坑我踩过不止一次。视觉定位看起来简单,就是相机拍个照,算法算一下,机器人动一下。但在实际产线上,精度、稳定性、节拍,每一样都能让你头疼。今儿不整虚的,就聊聊这几年积累下来的教训。

坐标变换:别把旋转矩阵当摆设

视觉定位的本质,是把像素坐标变成机器人能用的空间坐标。这里头第一个坑就是坐标系的定义。相机坐标系、图像坐标系、机器人基坐标系、工具坐标系……恨不得每个厂家都有自己的习惯。我曾经接过一个项目,对方用四元数传姿态,我用欧拉角,对齐接口时愣是多花了两天,因为90度旋转方向理解反了。

一个标准的视觉定位流程,通常是这样:相机拍图,拿到物体在图像中的像素位置,经过畸变校正后,用相机内参转到归一化平面,再通过标定好的手眼矩阵变换到机器人坐标系。这中间任何一步的误差,都会被放大。尤其是旋转矩阵,一旦你的旋转顺序选择不对,系统就可能出现随姿态变化而漂移的怪毛病。

所以,我建议在项目一开始就定义统一的数学约定,比如用ZYX欧拉角还是XYZ,用左乘还是右乘。这不是理论问题,是工程协作问题。

机器视觉定位手眼标定坐标变换流程图
机器视觉定位手眼标定坐标变换流程图

标定:精度高不高,一半看它

标定:精度高不高,一半看它
标定:精度高不高,一半看它

标定是最容易翻车的地方。张正友标定法大家都懂,但真正做的时候,标定板你都可能没拿正。光圈要调小,景深要足够,标定板倾斜角度要控制在45度以内,最好多拍些角度。我见过有人拍20张图里19张是同一姿态,那出来的内参自然不稳定。

手眼标定(Eye-in-Hand)更是如此。本质上你在求解AX=XB这个超定方程,常用Tsai-Lenz或Park-Martin方法。但,你要确保机器人在标定过程中走的路程足够分散,如果只在小范围内移动,解算矩阵会病态,结果就是三个位置准,换一个方向就偏。此外,标定后一定要随手留存一组验证点,用实测值X/Y/Z和计算值对比,误差在允许范围内再往下走,否则就别浪费时间了。

还有个小细节:标定板的平整度和热膨胀系数。前面说的那个2mm偏移,就是标定板被太阳晒了一中午,铝基板拱了0.3mm,但相机离得远,误差被放大到2mm。从那以后,我再也不买便宜的树脂基标定板,改用陶瓷基或超低膨胀微晶玻璃,贵一点,但稳。

光源和镜头:视觉定位的“另一半”误差

很多人把定位问题完全归咎于算法,其实光源选错了,算法再强也白搭。我记得做一个药瓶盖检测,用常规环形光总是反光,特征点提取都飘忽。换成低角度环形光加偏振片,瞬间清晰,定位稳定性提高了30%。所以光源设计不是“亮一点”那么简单,要依据物体材质、颜色、光泽度去选。

镜头方面,畸变是定位精度的隐形杀手。一个2mm焦距的鱼眼镜头,边缘畸变可能有5%以上,如果你的特征点都在边缘,又没做畸变校正,那误差就大了。选镜头时一定要看光学畸变参数,最好选低畸变工业镜头,或者在标定中把畸变模型加进去。顺便说一句,很多人忽略了镜头温度漂移,金属镜筒和玻璃的膨胀系数不同,温度变化几度,焦距就变了,这也是为什么视觉系统最好装在恒温或者有温度补偿的机壳里。

机器视觉定位低角度环形光源打光示意图
机器视觉定位低角度环形光源打光示意图

实战案例:螺栓拧紧机器人的视觉定位

去年做的一个新能源电池托盘拧紧项目,要求视觉引导机器人找12个孔位,定位精度±0.5mm,节拍4秒一个孔。相机分辨率1280×1024,视野80mm×60mm,理论像素精度0.0625mm。开始我们用的面阵相机加常规背光,检测椭圆轮廓,但孔位表面有切屑和油污,边缘不干净,有时候质心偏出0.8mm。

后来怎么解决?我们把算法从最小二乘椭圆拟合改成了随机采样一致(RANSAC)加亚像素边缘提取,把油污区域作为异常值剔除。同时,把光源切换成同轴光,减少物体表面反光。最后实测重复定位精度±0.2mm,连续运行一周没有漂移。这件事给我的经验是,视觉定位的瓶颈往往在图像预处理,而不是后期变换矩阵。

另外,别忘了机构和视觉系统的配合。机器人零点漂移、减速带背隙,都会让标定失效。建议每班开机先跑一个基准点复检程序,一旦偏差超限,自动暂停并提示重新标定。这比手动定期标定靠谱得多。在评估定位精度时,我习惯参照ISO 5725的重复性和再现性概念,用GRR分析来做验收,别光看供应商给的标称值。

写在后面

说句实话,机器视觉定位是个系统工程,每个环节都像木桶的板。我见过太多项目,算法工程师和机械工程师各自埋头干活,最后联调时互相甩锅。其实只要把坐标系约定、标定流程、光源设计这些基本功做扎实,90%的定位问题都能提前规避。

下次遇到定位偏差,别急着调算法,先去看看标定板的温度,或者光源是不是老化变暗了。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:机器视觉定位:从标定到抓取,那些工程坑你都踩过吗?
文章链接:https://m.yqhljx.com/list_9/795.html