VisionMaster应用实例——识别锁付孔位

项目背景:相机对法兰盘表面进行拍照,获取法兰盘上16个孔位的位置,通过VisionMaster进行TCP通信,将位置信息发送给机械臂,对这16孔位的螺丝进行拧紧,同时需要根据十字锁付的特点。

思路分析:
1.方案一:采用的方案是用高精度特征匹配,将孔位作为特征模板,识别16个孔位,通过标定转换等步骤将坐标发送给机械臂。
PS:因为需要进行十字锁付,所以需要将识别到的16个孔位坐标进行从X、Y两个方向进行排列,同时由于孔位特征较小,存在个别孔位识别遗漏的情况。
2.方案二:由于法兰盘是固定在工位上的,无论法兰盘如何旋转,法兰盘的圆心位置都是固定的,孔位只是圆上的一点,跟随圆的旋转变换坐标,所以只需要计算出法兰盘的旋转角度即可。
采用的方案是用高精度特征匹配,将整个法兰盘作为模板,通过模板匹配得出当前法兰盘位置相对于模板的旋转角度,同时计算出孔位的坐标沿圆心旋转后的坐标。
PS:因为在模板中每个孔位是固定的,按编号从1~16,根据十字锁付的特点,一个周期拧编号1、9、5、13这四个点。这么做每个孔位点是计算出来的,就不存在个别孔位识别遗漏的情况。

1.圆上某点沿圆心旋转后的坐标关系式

参考:https://blog.csdn.net/zhaitianbao/article/details/120971301

在这里插入图片描述
在这里插入图片描述

2.Lua语言中的三角运算

在这里插入图片描述

接下来将上述的公式转换为Lua函数,由于在VisionMaster高精度模板匹配中设置的旋转角度是-180°——180°,则待检测目标若是由模板顺时针旋转得到,则角度范围是0°——180°,反之逆时针的角度范围是-180°——0°。所以按照上面的公式中旋转角度T要变成-T。

Lua中的三角函数与反三角函数,操作的是弧度非角度。

print(math.sin(angle * pi / 180))
print("sin value......")
print(math.sin(angle))
print(pi)
local pi = 3.14159265358979323846
local rotate_angle=0   --相比于模板旋转的角度
--法兰盘的中心点
local center_x=0
local center_y=0

--圆上某点沿圆心旋转后的坐标关系式
--计算旋转后的x坐标
function offset_x(x1,y1)
    result_x = (x1 - center_x) * math.cos(-rotate_angle * pi / 180) - (y1 - center_y) * math.sin(-rotate_angle * pi / 180) + center_x
    
    return result_x
end

--计算旋转后的y坐标
function offset_y(x1,y1)
    result_y = (y1 - center_y) * math.cos(-rotate_angle * pi / 180) + (x1 - center_x) * math.sin(-rotate_angle * pi / 180) + center_y
    
    return result_y
end

3.VisionMaster

打开通信管理,开启TCP服务端
在这里插入图片描述
相机管理中设置相机固定曝光和增益,触发模式改为软触发
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: VisionMaster是一款强大的图像识别软件,它非常适合处理各种类型的图像识别问题。为了帮助用户更好地使用VisionMaster,开发者提供了详细的教程。VisionMaster教程包括了从基础知识到高级应用的所有内容,用户可以根据自己的实际需要选择相应的部分进行学习。在VisionMaster教程中,用户可以学习到如何进行图像的预处理、特征提取、模型训练和结果分析等方面的知识。此外,VisionMaster教程还提供了大量的实例代码,用户可以直接使用或根据自己的需求修改。 VisionMaster教程还附带了一些实用工具,如数据集构建、模型优化和调试等,这些工具可以帮助用户更快地解决问题并提高效率。总的来说,VisionMaster教程详细而全面,适用于初学者和高级用户,为用户提供了一个快速学习和应用VisionMaster的平台,如果您想了解更多关于VisionMaster的知识,不妨试试VisionMaster教程! ### 回答2: VisionMaster是一种先进的计算机视觉软件和编程开发环境。它是由美国科技公司Cognex开发的,旨在帮助企业自动化和提高生产效率。VisionMaster可以处理各种图像,包括二维码、条形码、OCR等,能够自动识别和检测。VisionMaster的主要适用场景包括自动化生产线、机器视觉系统、智能物流和安防监控等。 在使用VisionMaster之前,需要进行一定的教程学习。教程内容包括软件使用方法、算法开发和调试等方面。这些教程可以来自Cognex官方网站或第三方教程平台。在学习教程之后,使用VisionMaster可以大大减少企业的人力成本和生产周期,同时提高了生产质量和准确性。 总的来说,VisionMaster是一种强大的计算机视觉软件和编程开发环境,通过学习VisionMaster教程,企业可以快速掌握该软件的使用方法和编程技巧,从而提高生产效率和准确性。 ### 回答3: VisionMaster是一种非常实用的计算机软件,在图像处理和分析方面有着广泛的应用VisionMaster教程是学习这种软件的重要组成部分,通过教程可以快速掌握VisionMaster的基本操作方法和高级功能,从而提升图像处理和分析的能力。 教程一般分为两部分,第一部分主要介绍软件的基本界面、工具栏、菜单等,帮助用户快速了解软件的组成和各个部分的功能。第二部分则着重讲解软件的各种功能和应用场景,包括图像处理、图像分析、数据分析以及其他高级功能等。 学习VisionMaster教程需要具备一定的计算机基础和常识,同时需要具备一定的图像处理和分析知识。在学习过程中,可以通过实践来巩固所学的知识,并通过案例分析来更好地理解相关内容。 总之,VisionMaster教程对于从事图像处理和分析的人员来说是一个非常重要的工具,学习教程能够帮助用户轻松掌握软件的基本操作方法和高级功能,提高工作效率和准确性,从而对工作和研究起到积极的促进作用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boss-dog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值