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