openpnp - 吸嘴的单独校准
文章目录
- openpnp - 吸嘴的单独校准
- 概述
- 笔记
- 1. 视觉直径
- 2. 偏移阈值
- 最好改一下检测到的视觉直径指示圆圈的宽度
- END
openpnp - 吸嘴的单独校准
概述
当设备标定完,开始正常使用后。
当设备机械归零后,如果吸嘴连杆(N1,N2)上已经安装了吸嘴。会自动校验吸嘴。
发现会偶发的校验吸嘴失败。
参数根本就没有动,光照情况也一样。
此时,要是单独校验失败的吸嘴,有时也能校验成功,有时会校验失败。
其实,如果开机机械归零后的自动校验吸嘴会偶发失败,在校验参数没改的情况下,以后还可能吸嘴校验失败。所以,在吸嘴校验失败后,如果不微调参数,是没有意义的。
像偶发的吸嘴校验失败,应该是opencv对参数敏感,要微调参数才靠谱。而不是啥参数也不改,直接再校验一遍吸嘴,图自己心安。
出现吸嘴校验失败,就说明opencv需要的检测参数设置的不合适。一定要微调才行。
笔记
openpnp在标定时,已经将吸嘴检测需要的参数填好了。但是可能是opencv对检测参数敏感。如果不能稳定的每次都校验吸嘴成功,我们自己要根据实际情况来微调参数。
我的吸嘴校验参数(手工多次校验都成功):


N1和N2上挂的吸嘴都是503.不同点在Z轴零点处,N2比N1的高度高0.2mm左右。
N1和N2下落后的高度都是 -25.760
但是将吸嘴落到底部相机视野中时,看到的吸嘴内径大小是不一样的。差0.1mm.
也许是吸嘴本身有公差吧。吸嘴的校验参数是每个吸嘴一套检测参数,不影响。要根据每个吸嘴的实际情况来配置opencv检测参数。
openpnp已经将参数大致填好了,我们微调即可。
吸嘴检测的视觉直径只能用吸嘴内部,不能用吸嘴外壁(影响检测效果和精度,也影响设备标定精度)。
如果从底部相机中看到的吸嘴内壁不干净(毛毛拉拉的),可以用通针(503的吸嘴内壁直径为0.4~0.5mm), 可以用0.4mm的通针通干净,再用酒精面片擦拭吸嘴尖端,用毛刷清理吸嘴外壁的毛毛,就可以在底部相机中看到一个完整干净的黑色的吸嘴内壁了。
参数主要是2个:
1. 视觉直径
这个视觉直径就填吸嘴内壁的直径(需要填底部相机中看到的直径,不能是吸嘴的实际直径,因为相机测量和实际尺寸是有偏差的)
不要用标尺手工去数内壁直径,不准。
将顶部相机光标改为基准点类型,将光标中心移动到吸嘴内壁中间,然后将size改为吸嘴内径,看看是否能和底部相机看到的吸嘴内壁套合,微调到完全套合。


2. 偏移阈值
这个值可能是预期的吸嘴中心和实际的吸嘴中心的容差。
试了一下,也不是设的越大越好。针对不同吸嘴,有的设置的大了, 反而校验不过。
如果设置的小了(e.g. 比吸嘴内壁直径小0.1mm), 也会校验失败。
偏移阈值大概在吸嘴直径的+/-0.1mm的范围内。
如果偏移阈值比吸嘴内壁直径小(e.g. -0.1mm), 有时也能校验过,但是不稳定。可能再手工校验几次,就会出现失败的情况。

我自己实验的结果是,偏移阈值 >= 视觉直径 0.05mm ~ 0.1mm的范围内,可以保证手工校验多次,都可以保证吸嘴能校验成功。
可以观察校验过程,一旦opencv检测的吸嘴中心的提示点不在实际的吸嘴内壁中心。这时就要微调“偏移阈值”,应该就是3个值(吸嘴内壁直径, 吸嘴内壁直径+0.05,吸嘴内壁直径+0.1)
最好改一下检测到的视觉直径指示圆圈的宽度
openpnp默认给的检测到的圆圈的宽度是2,在1920x1080显示器中太宽了,不容易看清opencv到底检测的是哪个圆圈,改成1好些。


