机器视觉究竟有多牛,看看这些工业自动化应用就知道了
2017-04-09
机器视觉长期以来用于工业自动化系统中,以通过取代传统上的人工检查来提高生产质量和产量。从拾取和放置、对象跟踪到计量、缺陷检测等应用,利用视觉数据可以通过提供简单的通过失败信息或闭环控制回路,来提高整个系统的性能。
视觉的使用并不仅仅在工业自动化领域;我们也看到了相机在日常生活中的大量应用,例如用于计算机、移动设备,特别是在汽车中。摄像头仅仅是在几年前才被引入到汽车中,但是现在汽车中已经配备了大量摄像头,以为驾驶员提供完整的360°车辆视图。
但是谈到机器视觉领域的最大技术进步,可能一直是处理能力。随着处理器性能每两年翻一番,以及对多核CPU、GPU和FPGA等并行处理技术的持续关注,视觉系统设计人员现在可以将高度复杂的算法应用于视觉数据,并创建更智能的系统。
处理技术的发展带来了新机会,而不仅仅是更智能或更强大的算法。让我们看看为制造机器增加视觉功能的应用案例。这些系统传统上设计为形成协作分布式系统的智能子系统网络,该系统允许模块化设计(见图1)。
图1:智能子系统网络,其设计为构成协作分布式控制系统。该系统允许模块化设计,但采用这种以硬件为中心的方法可能导致性能瓶颈。
然而,随着系统性能的提高,采用这种以硬件为中心的方法可能遇到困难,因为这些系统通常采用时间关键和非时间关键协议的混合来联接。通过各种通信协议将这些不同的系统联接在一起,会导致延迟、确定性和吞吐量方面出现瓶颈。
例如,如果设计者试图利用这种分布式架构开发应用,并且必须在视觉和运动系统之间保持紧密集成,例如在视觉伺服中所需要的,那么可能遇到由于缺乏处理能力而带来的主要性能挑战。此外,由于每个子系统都具有自己的控制器,这实际上会降低处理效率。
最后,由于这种以硬件为中心的分布式方法,设计人员不得不使用不同的设计工具来设计视觉系统中每个子系统的特定视觉软件,以及用于运动系统的运动专用软件等。这对于规模较小的设计团队而言尤其具有挑战性,因为一个小团队甚至是一名工程师,需要负责设计中的许多部分。
幸运的是,有更好的方法为先进的机器和设备设计这些系统,这是一种简化复杂性、提高集成度、降低风险和缩短上市时间的方法。如果我们将思维从以硬件为中心转向以软件为中心的设计方法,结果会怎么样(见图2)?如果我们使用能用单一设计工具实现不同任务的编程工具,那么设计人员就可以在他们的软件中反映机械系统的模块性。
图2:以软件为中心的设计方法,允许设计人员通过在单个强大的嵌入式系统中整合不同的自动化任务(包括视觉检查、运动控制、I/O和HMI)来简化控制系统结构。
这允许设计人员通过在单个强大的嵌入式系统(见图3)中整合不同的自动化任务(包括视觉检查、运动控制、I/O和HMI)来简化控制系统结构。这消除了子系统通信的挑战,因为现在所有子系统都在单个控制器上的相同软件堆栈中运行。 高性能嵌入式视觉系统是这种集中式控制器的最佳候选者,因为这些设备中已经内置了这些功能。
图3:将处理器与FPGA和I/O结合在一起的异构架构,不仅是设计高性能视觉系统、也是集成运动控制、HMI和I/O的理想解决方案。
让我们来看看这种集中式处理架构的一些好处。以视觉引导运动应用为例,例如柔性馈送,其中视觉系统为运动系统提供引导功能。这里,零件的位置和取向都是随机的。在任务开始时,视觉系统拍摄零件的图像以确定其位置和取向,并将该信息提供给运动系统。
然后,运动系统根据图像坐标将致动器移动到零件所处的位置,并拾起它。它也可以使用此信息在放置零件之前校正方向。通过这种方法,设计者可以消除先前用于定向和定位零件的任何夹具。这不但降低了成本,还允许应用程序能更容易地适应新的零件设计,只需要修改软件即可。
以硬件为中心的架构的关键优点是其可扩展性,这主要归因于系统之间的以太网链路。但是也必须特别注意通过该链路的通信。如前所述,这种方法的挑战在于以太网链路的不确定性,并且带宽有限。
对于大多数仅在任务开始时给出引导的视觉引导运动任务,这是可接受的;但是也可能存在其他情况,其中延迟的变化可能是一大挑战。将这种设计转向集中式处理架构,具有诸多优点。