📢标定旋转中心目的
在机器视觉实际应用过程中,有这样的案例:贴片机吸取物料A贴到物料B的过程中,由于,上料端物料A每次的角度都有一些偏差,需要贴片机上的吸嘴旋转一定角度,贴到物料B上。但是,当吸嘴末端的中心与其自身的旋转中心不重合时,会导致贴装过程中物料A贴和物料B的中心偏差计算出现误差,贴合精度会不满足要求
📢标定前的准备工作
Lid是需要吸取的产品。吸嘴由金属材质的吸嘴本体E和橡胶材质的吸盘F组成,吸嘴在吸取产品Lid过程中主要靠吸盘吸取。第一延长线M和第二延长线N是Lid两条相邻边缘的延长线,两条延长线的交点就是所需的Lid角点。吸嘴吸取Lid旋转拍照之前,需要先将Lid的左上角和旁边的产品孔洞Q做成模板,产品孔洞Q的目的是使产品左上角和另外三个角作区分,否则模板匹配时可能会匹配到另外三个角,模板做完之后要提取产品角点,通过提取产品的两条边缘,计算出其边缘延长线,延长线的交点就是产品的角点,这些角点就是我们需要对其进行拟合,获取圆心即旋转中心所需要的点。
✨标定吸嘴旋转中心
吸嘴吸取产品,将吸取产品的吸嘴移动到UpLook上视相机上方,每次旋转30°~50°UpLook上视相机拍一次照,获取产品上面的上视Mark点信息,将产品旋转一周360°进行拍照,对获得的所有上视Mark点进行拟合圆,求得的圆中心即为吸嘴旋转轴的旋转中心。当吸取产品的吸嘴移动到UpLook上视相机上方,每旋转30°,UpLook上视相机拍一次照,旋转一周,共得到12张图像上面的产品上视Mark点信息,12张图像对应12个Mark点,其点集合为{ (xk,yk) | k = 1,2,…,12} ,通过最小二乘法原理,各个上视Mark点坐标到拟合圆的距离绝对值之和最小,即:
g = ∑ k = 1 12 ∣ ( x k − x u ) 2 + ( y k − y u ) 2 n − R ∣ g=\sum_{k=1}^{12} |\sqrt[n]{(x_k-x_u)^2+(y_k-y_u)^2}-R|g=k=1∑12∣n(xk−xu)2+(yk−yu)2−R∣
其中,g为离散的各个上视Mark点到拟合圆的距离绝对值;k为参与拟合的特征点数;(xk,yk) 为产品上的上视Mark点坐标; (xu,yu) 为吸嘴的旋转中心坐标;R为拟合圆的半径;拟合出来的圆心即为所求的吸嘴旋转轴的旋转中心。
💫halcon仿真效果
最终显示结果中,绿色中心为图像中心,红色中心为拟合的吸嘴旋转中心,图像像素中心和实际坐标中心已知(标定得到,即吸嘴中心在上视相机中心时,机械轴的坐标),而旋转中心的像素中心也求了出来,可通过等式计算出旋转中心的实际物理坐标。
注:我这里是通过每次提取两边缘的交点,最终将这些交点拟合成圆来求得旋转中心。还有一种方法是模板匹配的方式求mark点,最终拟合mark点求圆心。
仿真代码和测试数据下载链接:基于halcon计算旋转中心的仿真代码
戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。 |