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