你已经有了一个表面整饰任务。
你需要用机器人视觉来检测零件。
简单吧?
ñ不总是。表面处理会使机器人很难重新检测目标。这将导致丢失对象、低效的编程设置以及应用程序中缺乏健壮性。
但是,有一个解决方案...
其中之一的限制机器人视觉就是要求被检测到的物体保持不变相当一致之间当你训练被检测对象时,它。这个通常不是一个问题。ñ通常,我们在生产过程的同一阶段检测我们的零件,所以它们看起来都非常相似当机器人检测到它们。
表面加工的问题是,它本质上涉及到改变对象的外观。事实上,这就是全部目的表面整理!
如果你的机器人视觉部件不断变化,你怎么能得到可靠的结果!?
当表面处理改变对象时会发生什么
dOES这种情况听起来很熟悉?
ÿOU使用部分教机器人的视觉算法。然后,你做了试运行。这似乎很好地工作 - 机器人可以检测部分在多个阶段进行中。
但是,当然,你不是在一个真正的测试它生产环境。ÿ你只是正在经历的表面处理手术在开发过程中。当你开始做真正的测试 - 用真实的表面加工运行机器人有时小姐ES对象后,他们已经被打磨,抛光,和/或涂漆。
为什么不是对象检测算法能够认识你完成部分?
Ť他可以是真气的情况,但它是很常见的。
为什么表面处理混淆视觉算法
问题的关键在于机器人视觉如何检测对象。
[Robot愿景是通常基于一个算法称为模板匹配。该算法作品通过检测特征该对象并使用此作为的“模板”。在检测阶段中,该算法然后搜索当前图像内的这个模板(详细详细有关模板匹配如何工作的信息,看到我们以前的文章)。
有几个对于机器人视觉挑战的情况。当各部分之间有太多的差异时,就会出现一个大的挑战。模板匹配算法认为图像中的目标与模板的匹配不够紧密,因此忽略了该目标。
当然,你可以设置算法更宽松,但(当算法检测到不存在或错误一部分另一部分即),这将导致“假阳性”。
当你的机器人未能检测该成品零件,这正是发生了什么。
你的培训该算法在该未完成的部分。但是,没有瓦特的部分更小,更光滑,或不同的形状。Ť颜色可能会不同,或者光线与物体表面的相互作用可能会不同。从算法的角度来看,这是一个完全不同类型的对象。
在这种情况下,你可能会认为,你只需要重新训练算法完成的部分。
而且,这可能是一个可行的选择......
但是,如果您需要在过程的多个阶段检测该部件,该怎么办呢?
一个解决办法是把未完成的部分和完成的部分作为不同的对象来教。但是,这将意味着添加不必要的编程。这将意味着用两套不同的方法、选择和放置动作(每个对象一个动作)来训练机器人,尽管您实际上只需要一套动作。
你想要一个更强大的,有效的方式来训练算法。
使机器人视觉训练模型更加健壮
去年,我们的集成工程师已经确定了这个共同的问题。他们想出了一个巧妙的技巧,一定程度上解决了这个问题。我们谈论它在我们的文章一个不寻常的技巧,提高了机器人视觉教学金宝博台球。
他们的招涉及使用打印出零件的CAD模型的训练模板匹配算法。这意味着,这影响了训练的唯一的事情就是部分的轮廓清晰这在图中显示出来了。
像照明,对比度和失真问题马上被淘汰。
虽然这招很管用,但还不是个好主意升。事实上,这是一种“杂工”(一种低效、不雅的变通方法)。作为工程师,我们总是想出一些拼凑的东西,让我们的应用程序以一种快速而粗糙的方式工作。
Ť他的诀窍是有效的,但它是不容易的在使用。你必须清理你的CAD模型,找到正确的类型和颜色的纸张,校准你的打印机,以确保打印在正确的大小,在你可以训练机器人之前,等等。
必须有一个更优雅的解决方案!
有。
如何快速教一个强大的机器人视觉模型的CAD模型
在我们的腕式相机URCap的最新更新中,我们介绍了一种全新的训练机器人视觉的方法。
这个新方法以一种快速、简单和优雅的方式为您提供了集成工程师技巧的所有好处。它也有一些额外的好处,我将在稍后的轮廓。
现在只需将2D CAD模型直接导入到机器人程序中,就可以训练对象模板。
你刚才导出要机器人检测部分的观点...
其装载到机器人控制器...
设置部分高度...
就大功告成了!
这种新方法甚至与通常的零件检测方法相比,有一些额外的好处,包括:
对光线变化的检测更加可靠。
它可以用来训练具有边在其他方面过于棘手教对象。
它可以处理有光泽的表面,有时产生错误的边缘。
如果您使用的表面处理与机器人视觉,这是值得检查了这个最新的更新。它的那些变化,可能看起来很小的表面上,但可以对你的编程效率有显著的影响之一。
你与机器人视觉和/或表面处理遇到什么问题?告诉我们在下面的评论或加入的讨论LinkedIn,推特,脸谱网, 要么自由度机器人专业社区。
发表评论