VisionPro实现振动盘360°无序抓取与正反料识别引导抓取
这是一个使用VisionPro写的一个引导抓取的可以在振动盘上实现360°无序抓取正反料识别等。1.有对应的标定vpp,检测vpp,还有产品图片。2.因为这个程序涉及到了旋转中心等公式计算,里面还附带了旋转中心公式讲解推导PPT,结合PPT可以更好的理解程序。3.该程序对刚接触视觉引导的小白会有很大帮助。仅提供一种思路方法,自己的产品请参考根据实际自行修改。最近搞了个用VisionPro写的引导抓
这是一个使用VisionPro写的一个引导抓取的可以在振动盘上实现360°无序抓取正反料识别等。 1.有对应的标定vpp,检测vpp,还有产品图片。 2.因为这个程序涉及到了旋转中心等公式计算,里面还附带了旋转中心公式讲解推导PPT,结合PPT可以更好的理解程序。 3.该程序对刚接触视觉引导的小白会有很大帮助。 仅提供一种思路方法,自己的产品请参考根据实际自行修改。

最近搞了个用VisionPro写的引导抓取程序,能在振动盘上实现超实用的360°无序抓取,还能识别正反料,跟大家分享分享。
一、整体框架
这个项目里有几个关键的vpp文件,标定vpp和检测vpp。标定vpp主要负责对整个视觉系统进行精确的参数校准,让后续的检测有一个准确的基础。检测vpp就是真正干活的,去识别产品,判断正反,确定抓取位置。同时还有产品图片,它们是检测的对象,程序就是基于这些图片来进行各种分析。
二、核心公式 - 旋转中心公式
程序里涉及到旋转中心等公式计算,这可是关键部分。我还准备了一份旋转中心公式讲解推导PPT,结合PPT能更好理解程序为啥这么写。

这是一个使用VisionPro写的一个引导抓取的可以在振动盘上实现360°无序抓取正反料识别等。 1.有对应的标定vpp,检测vpp,还有产品图片。 2.因为这个程序涉及到了旋转中心等公式计算,里面还附带了旋转中心公式讲解推导PPT,结合PPT可以更好的理解程序。 3.该程序对刚接触视觉引导的小白会有很大帮助。 仅提供一种思路方法,自己的产品请参考根据实际自行修改。

简单来说,在VisionPro中确定物体旋转中心,是为了精确抓取。咱们假设有一个二维平面上的物体,要计算它绕某点旋转后的位置,就需要用到旋转矩阵相关知识。在代码层面,比如在C# 结合VisionPro实现的时候,可能会有类似下面这样的代码片段(以下代码为示意简化版):
// 假设已经获取到物体的一些特征点坐标 (x, y)
double x = 100;
double y = 150;
// 旋转角度
double angle = Math.PI / 4;
// 旋转中心坐标 (cx, cy)
double cx = 200;
double cy = 200;
// 计算旋转后的坐标
double newX = cx + (x - cx) * Math.Cos(angle) - (y - cy) * Math.Sin(angle);
double newY = cy + (x - cx) * Math.Sin(angle) + (y - cy) * Math.Cos(angle);
上面这段代码,就是根据旋转中心 (cx, cy) 和旋转角度 angle,对物体上的点 (x, y) 进行旋转计算,得到旋转后的新坐标 (newX, newY)。在实际的VisionPro项目里,会更复杂,要结合具体的视觉算法和获取到的图像特征点来操作,但核心思路就是这样。通过这样的计算,就能准确知道物体旋转后的位置,为机器人抓取提供精确坐标。
三、对小白的帮助
这个程序对于刚接触视觉引导的小白来说,那帮助可太大了。它把整个视觉引导抓取过程串起来了,从标定到检测,再到核心的旋转中心计算。小白可以通过研究这个程序,快速上手VisionPro的基本操作,了解视觉引导抓取的整体流程。

不过要注意,这里仅提供一种思路方法哈。要是大家自己有产品,一定要参考实际情况自行修改。每个产品的形状、尺寸、摆放环境都不一样,生搬硬套肯定不行,得根据实际需求调整标定参数、检测算法以及旋转中心的计算方式等。希望这个分享能给大家在视觉引导抓取项目上带来一些灵感。



更多推荐
所有评论(0)