行业新闻
嵌入式视觉系统给制造业带来的好处
日期:2017-04-05
来源:九游会J9
机器视觉长期以来用于工业自动化系统中,以通过取代传统上的人工检查来提高生产质量和产量。从拾取和放置、对象跟踪到计量、缺陷检测等应用,利用视觉数据可以通过提供简单的通过失败信息或闭环控制回路,来提高整个系统的性能。
视觉的使用并不仅仅在工业自动化领域;我们也看到了相机在日常生活中的大量应用,例如用于计算机、移动设备,特别是在汽车中。摄像头仅仅是在几年前才被引入到汽车中,但是现在汽车中已经配备了大量摄像头,以为驾驶员提供完整的360°车辆视图。
但是谈到机器视觉领域的最大技术进步,可能一直是处理能力。随着处理器性能每两年翻一番,以及对多核CPU、GPU和FPGA等并行处理技术的持续关注,视觉系统设计人员现在可以将高度复杂的算法应用于视觉数据,并创建更智能的系统。
处理技术的发展带来了新机会,而不仅仅是更智能或更强大的算法。让我们看看为制造机器增加视觉功能的应用案例。这些系统传统上设计为形成协作分布式系统的智能子系统网络,该系统允许模块化设计(见图1)。
图1:智能子系统网络,其设计为构成协作分布式控制系统。该系统允许模块化设计,但采用这种以硬件为中心的方法可能导致性能瓶颈。
然而,随着系统性能的提高,采用这种以硬件为中心的方法可能遇到困难,因为这些系统通常采用时间关键和非时间关键协议的混合来联接。通过各种通信协议将这些不同的系统联接在一起,会导致延迟、确定性和吞吐量方面出现瓶颈。
例如,如果设计者试图利用这种分布式架构开发应用,并且必须在视觉和运动系统之间保持紧密集成,例如在视觉伺服中所需要的,那么可能遇到由于缺乏处理能力而带来的主要性能挑战。此外,由于每个子系统都具有自己的控制器,这实际上会降低处理效率。
最后,由于这种以硬件为中心的分布式方法,设计人员不得不使用不同的设计工具来设计视觉系统中每个子系统的特定视觉软件,以及用于运动系统的运动专用软件等。这对于规模较小的设计团队而言尤其具有挑战性,因为一个小团队甚至是一名工程师,需要负责设计中的许多部分。
幸运的是,有更好的方法为先进的机器和设备设计这些系统,这是一种简化复杂性、提高集成度、降低风险和缩短上市时间的方法。如果我们将思维从以硬件为中心转向以软件为中心的设计方法,结果会怎么样(见图2)?如果我们使用能用单一设计工具实现不同任务的编程工具,那么设计人员就可以在他们的软件中反映机械系统的模块性。
图2:以软件为中心的设计方法,允许设计人员通过在单个强大的嵌入式系统中整合不同的自动化任务(包括视觉检查、运动控制、I/O和HMI)来简化控制系统结构。
这允许设计人员通过在单个强大的嵌入式系统(见图3)中整合不同的自动化任务(包括视觉检查、运动控制、I/O和HMI)来简化控制系统结构。这消除了子系统通信的挑战,因为现在所有子系统都在单个控制器上的相同软件堆栈中运行。 高性能嵌入式视觉系统是这种集中式控制器的最佳候选者,因为这些设备中已经内置了这些功能。
图3:将处理器与FPGA和I/O结合在一起的异构架构,不仅是设计高性能视觉系统、也是集成运动控制、HMI和I/O的理想解决方案。
让我们来看看这种集中式处理架构的一些好处。以视觉引导运动应用为例,例如柔性馈送,其中视觉系统为运动系统提供引导功能。这里,零件的位置和取向都是随机的。在任务开始时,视觉系统拍摄零件的图像以确定其位置和取向,并将该信息提供给运动系统。
然后,运动系统根据图像坐标将致动器移动到零件所处的位置,并拾起它。它也可以使用此信息在放置零件之前校正方向。通过这种方法,设计者可以消除先前用于定向和定位零件的任何夹具。这不但降低了成本,还允许应用程序能更容易地适应新的零件设计,只需要修改软件即可。
以硬件为中心的架构的关键优点是其可扩展性,这主要归因于系统之间的以太网链路。但是也必须特别注意通过该链路的通信。如前所述,这种方法的挑战在于以太网链路的不确定性,并且带宽有限。
对于大多数仅在任务开始时给出引导的视觉引导运动任务,这是可接受的;但是也可能存在其他情况,其中延迟的变化可能是一大挑战。将这种设计转向集中式处理架构,具有诸多优点。
首先,因为可以使用相同的软件开发视觉系统和运动系统,设计者不需要熟悉多种编程语言或环境,因此降低了开发复杂性。第二,消除了以太网网络上的潜在性能瓶颈,因为现在数据仅在单个应用中的环路之间传递,而不是在物理层之间传递。
这使得整个系统的运行具有确定性,因为一切共享相同的过程。当将视觉直接引入控制回路中时,例如在视觉伺服应用中,这是特别有价值的。这里,视觉系统在运动期间连续捕获致动器和目标零件的图像,直到运动完成。这些捕获的图像用于提供关于运动成功的反馈。有了这一反馈,设计人员可以提高现有自动化的精度和精密度,而无需升级到高性能运动硬件。
现在提出了一个问题:这个系统是什么样子?如果设计人员将要使用能满足机器视觉系统所需的计算和控制需求的系统,并要与其他系统(如运动控制、HMI和I/O)无缝连接,那么他们需要使用具备所需性能的硬件架构,以及每个这些系统所需的智能和控制能力。
这种系统的一个很好的选择是:使用将处理器和FPGA与I/O相结合的异构处理架构。已经有很多行业投资这种架构,包括美国Xilinx公司的Zynq全可编程SoC(将ARM处理器与Xilinx 7系列FPGA架构相结合),以及英特尔数十亿美元收购Altera等。
对于视觉系统,使用FPGA特别有益,这主要是因为其固有的并行性。算法可以分开,运行数千种不同的方式,并且可以保持完全独立。另外,这种架构的好处不仅仅体现在视觉方面,其对运动控制系统和I/O也大有裨益。
处理器和FPGA可用于执行高级处理、计算和制定决策。设计人员几乎可以通过模拟和数字I/O、工业协议、定制协议、传感器、致动器和继电器等,连接到任何总线上的任何传感器。此架构还满足了其他要求,如时序和同步以及业务挑战(如提高生产率)。每个人都希望更快地开发产品,这种架构消除了对大型专业设计团队的需要。
不幸的是,虽然这种架构提供了很多性能和可扩展性,但是实现它的传统方法需要专业知识,特别是在使用FPGA时。这为设计者带来了巨大风险,并有可能导致使用该架构不切实际甚至不可能。然而,使用集成软件(如NI LabVIEW),设计人员可以通过提取低级复杂性,并将所需的所有技术集成到单一开发环境中,来提高生产率,降低风险。
这种特定的设备使用机器视觉、运动控制和工业I/O的组合,将芯片从硅晶片上取下并封装。这是能使用图1中的分布式架构的机器示例,每个子系统可以单独开发,然后通过网络集成在一起。
图4:使用中央集权的、以软件为中心的方法,将其主机控制器、机器视觉和运动系统、I/O和HMI全部集成到单个控制器中,性能优越。
机器视觉是一项复杂的任务,需要大量的处理能力。随着摩尔定律继续增加处理元件(如CPU、GPU和FPGA)的性能,设计人员可以使用这些组件来开发高度复杂的算法。设计人员还可以使用此技术来提高设计中其他组件的设计性能,特别是在运动控制和I/O领域。
随着所有这些子系统性能的提高,用于开发这些机器的传统分布式架构将面临压力。将这些任务整合到单个控制器中,运行在单个软件环境下,消除了设计过程中的瓶颈,使设计人员可以专注于创新,而不必担心实施问题。
视觉的使用并不仅仅在工业自动化领域;我们也看到了相机在日常生活中的大量应用,例如用于计算机、移动设备,特别是在汽车中。摄像头仅仅是在几年前才被引入到汽车中,但是现在汽车中已经配备了大量摄像头,以为驾驶员提供完整的360°车辆视图。
但是谈到机器视觉领域的最大技术进步,可能一直是处理能力。随着处理器性能每两年翻一番,以及对多核CPU、GPU和FPGA等并行处理技术的持续关注,视觉系统设计人员现在可以将高度复杂的算法应用于视觉数据,并创建更智能的系统。
处理技术的发展带来了新机会,而不仅仅是更智能或更强大的算法。让我们看看为制造机器增加视觉功能的应用案例。这些系统传统上设计为形成协作分布式系统的智能子系统网络,该系统允许模块化设计(见图1)。
然而,随着系统性能的提高,采用这种以硬件为中心的方法可能遇到困难,因为这些系统通常采用时间关键和非时间关键协议的混合来联接。通过各种通信协议将这些不同的系统联接在一起,会导致延迟、确定性和吞吐量方面出现瓶颈。
例如,如果设计者试图利用这种分布式架构开发应用,并且必须在视觉和运动系统之间保持紧密集成,例如在视觉伺服中所需要的,那么可能遇到由于缺乏处理能力而带来的主要性能挑战。此外,由于每个子系统都具有自己的控制器,这实际上会降低处理效率。
最后,由于这种以硬件为中心的分布式方法,设计人员不得不使用不同的设计工具来设计视觉系统中每个子系统的特定视觉软件,以及用于运动系统的运动专用软件等。这对于规模较小的设计团队而言尤其具有挑战性,因为一个小团队甚至是一名工程师,需要负责设计中的许多部分。
幸运的是,有更好的方法为先进的机器和设备设计这些系统,这是一种简化复杂性、提高集成度、降低风险和缩短上市时间的方法。如果我们将思维从以硬件为中心转向以软件为中心的设计方法,结果会怎么样(见图2)?如果我们使用能用单一设计工具实现不同任务的编程工具,那么设计人员就可以在他们的软件中反映机械系统的模块性。
这允许设计人员通过在单个强大的嵌入式系统(见图3)中整合不同的自动化任务(包括视觉检查、运动控制、I/O和HMI)来简化控制系统结构。这消除了子系统通信的挑战,因为现在所有子系统都在单个控制器上的相同软件堆栈中运行。 高性能嵌入式视觉系统是这种集中式控制器的最佳候选者,因为这些设备中已经内置了这些功能。
让我们来看看这种集中式处理架构的一些好处。以视觉引导运动应用为例,例如柔性馈送,其中视觉系统为运动系统提供引导功能。这里,零件的位置和取向都是随机的。在任务开始时,视觉系统拍摄零件的图像以确定其位置和取向,并将该信息提供给运动系统。
然后,运动系统根据图像坐标将致动器移动到零件所处的位置,并拾起它。它也可以使用此信息在放置零件之前校正方向。通过这种方法,设计者可以消除先前用于定向和定位零件的任何夹具。这不但降低了成本,还允许应用程序能更容易地适应新的零件设计,只需要修改软件即可。
以硬件为中心的架构的关键优点是其可扩展性,这主要归因于系统之间的以太网链路。但是也必须特别注意通过该链路的通信。如前所述,这种方法的挑战在于以太网链路的不确定性,并且带宽有限。
对于大多数仅在任务开始时给出引导的视觉引导运动任务,这是可接受的;但是也可能存在其他情况,其中延迟的变化可能是一大挑战。将这种设计转向集中式处理架构,具有诸多优点。
首先,因为可以使用相同的软件开发视觉系统和运动系统,设计者不需要熟悉多种编程语言或环境,因此降低了开发复杂性。第二,消除了以太网网络上的潜在性能瓶颈,因为现在数据仅在单个应用中的环路之间传递,而不是在物理层之间传递。
这使得整个系统的运行具有确定性,因为一切共享相同的过程。当将视觉直接引入控制回路中时,例如在视觉伺服应用中,这是特别有价值的。这里,视觉系统在运动期间连续捕获致动器和目标零件的图像,直到运动完成。这些捕获的图像用于提供关于运动成功的反馈。有了这一反馈,设计人员可以提高现有自动化的精度和精密度,而无需升级到高性能运动硬件。
现在提出了一个问题:这个系统是什么样子?如果设计人员将要使用能满足机器视觉系统所需的计算和控制需求的系统,并要与其他系统(如运动控制、HMI和I/O)无缝连接,那么他们需要使用具备所需性能的硬件架构,以及每个这些系统所需的智能和控制能力。
这种系统的一个很好的选择是:使用将处理器和FPGA与I/O相结合的异构处理架构。已经有很多行业投资这种架构,包括美国Xilinx公司的Zynq全可编程SoC(将ARM处理器与Xilinx 7系列FPGA架构相结合),以及英特尔数十亿美元收购Altera等。
对于视觉系统,使用FPGA特别有益,这主要是因为其固有的并行性。算法可以分开,运行数千种不同的方式,并且可以保持完全独立。另外,这种架构的好处不仅仅体现在视觉方面,其对运动控制系统和I/O也大有裨益。
处理器和FPGA可用于执行高级处理、计算和制定决策。设计人员几乎可以通过模拟和数字I/O、工业协议、定制协议、传感器、致动器和继电器等,连接到任何总线上的任何传感器。此架构还满足了其他要求,如时序和同步以及业务挑战(如提高生产率)。每个人都希望更快地开发产品,这种架构消除了对大型专业设计团队的需要。
不幸的是,虽然这种架构提供了很多性能和可扩展性,但是实现它的传统方法需要专业知识,特别是在使用FPGA时。这为设计者带来了巨大风险,并有可能导致使用该架构不切实际甚至不可能。然而,使用集成软件(如NI LabVIEW),设计人员可以通过提取低级复杂性,并将所需的所有技术集成到单一开发环境中,来提高生产率,降低风险。
这种特定的设备使用机器视觉、运动控制和工业I/O的组合,将芯片从硅晶片上取下并封装。这是能使用图1中的分布式架构的机器示例,每个子系统可以单独开发,然后通过网络集成在一起。
机器视觉是一项复杂的任务,需要大量的处理能力。随着摩尔定律继续增加处理元件(如CPU、GPU和FPGA)的性能,设计人员可以使用这些组件来开发高度复杂的算法。设计人员还可以使用此技术来提高设计中其他组件的设计性能,特别是在运动控制和I/O领域。
随着所有这些子系统性能的提高,用于开发这些机器的传统分布式架构将面临压力。将这些任务整合到单个控制器中,运行在单个软件环境下,消除了设计过程中的瓶颈,使设计人员可以专注于创新,而不必担心实施问题。