[贴装专题] 基于halcon的最小二乘法计算吸嘴或机械轴旋转中心

简介: [贴装专题] 基于halcon的最小二乘法计算吸嘴或机械轴旋转中心

📢标定旋转中心目的

机器视觉实际应用过程中,有这样的案例:贴片机吸取物料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=112n(xkxu)2+(ykyu)2R

其中,g为离散的各个上视Mark点到拟合圆的距离绝对值;k为参与拟合的特征点数;(xk,yk) 为产品上的上视Mark点坐标; (xu,yu) 为吸嘴的旋转中心坐标;R为拟合圆的半径;拟合出来的圆心即为所求的吸嘴旋转轴的旋转中心。

💫halcon仿真效果

       最终显示结果中,绿色中心为图像中心,红色中心为拟合的吸嘴旋转中心,图像像素中心和实际坐标中心已知(标定得到,即吸嘴中心在上视相机中心时,机械轴的坐标),而旋转中心的像素中心也求了出来,可通过等式计算出旋转中心的实际物理坐标。

注:我这里是通过每次提取两边缘的交点,最终将这些交点拟合成圆来求得旋转中心。还有一种方法是模板匹配的方式求mark点,最终拟合mark点求圆心。

 

仿真代码和测试数据下载链接:基于halcon计算旋转中心的仿真代码


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。
目录
相关文章
|
5月前
|
算法
[贴装专题] 基于halcon的拟合矩形边缘验证贴装精度
[贴装专题] 基于halcon的拟合矩形边缘验证贴装精度
33 0
|
10月前
基于三相坐标系状态方程的感应电动机起动动态计算(Matlab代码实现)
基于三相坐标系状态方程的感应电动机起动动态计算(Matlab代码实现)
|
5月前
[Halcon&测量] 两线直线的角度测量
[Halcon&测量] 两线直线的角度测量
30 0
|
8月前
|
机器学习/深度学习 传感器 算法
球体同胚表面准各向同性采样附matlab代码
球体同胚表面准各向同性采样附matlab代码
|
9月前
【基于矢量射线的衍射积分 (VRBDI)】基于矢量射线的衍射积分 (VRBDI) 和仿真工具(Matlab代码实现)
【基于矢量射线的衍射积分 (VRBDI)】基于矢量射线的衍射积分 (VRBDI) 和仿真工具(Matlab代码实现)
|
9月前
|
算法
用于二维和三维声学设计灵敏度分析的奇异边界法(Matlab代码实现)
用于二维和三维声学设计灵敏度分析的奇异边界法(Matlab代码实现)
|
算法
大气湍流自适应光学校正算法matlab仿真,包括涡旋光束,大气湍流影响,不同轨道角动量OAM态之间的串扰,校正等
大气湍流自适应光学校正算法matlab仿真,包括涡旋光束,大气湍流影响,不同轨道角动量OAM态之间的串扰,校正等
477 0
大气湍流自适应光学校正算法matlab仿真,包括涡旋光束,大气湍流影响,不同轨道角动量OAM态之间的串扰,校正等
MOOG G123-825-001 将旋转电机的旋转力转化为线性运动
MOOG G123-825-001 将旋转电机的旋转力转化为线性运动
106 0
MOOG G123-825-001 将旋转电机的旋转力转化为线性运动
|
机器学习/深度学习 传感器 算法
基于 Ekman 方程求解大气边界层中的水平均匀流和高度相关的涡流粘度附matlab代码
基于 Ekman 方程求解大气边界层中的水平均匀流和高度相关的涡流粘度附matlab代码