嵌入式視覺系統(tǒng)給制造業(yè)帶來的好處
長期以來用于系統(tǒng)中,以通過取代傳統(tǒng)上的人工檢查來提高生產(chǎn)質(zhì)量和產(chǎn)量。從拾取和放置、對象跟蹤到計量、缺陷檢測等應用,利用視覺數(shù)據(jù)可以通過提供簡單的通過失敗信息或閉環(huán)控制回路,來提高整個系統(tǒng)的性能。
本文引用地址:http://www.biyoush.com/article/201808/385037.htm視覺的使用并不僅僅在工業(yè)領域;我們也看到了相機在日常生活中的大量應用,例如用于計算機、移動設備,特別是在汽車中。攝像頭僅僅是在幾年前才被引入到汽車中,但是現(xiàn)在汽車中已經(jīng)配備了大量攝像頭,以為駕駛員提供完整的360°車輛視圖。
但是談到機器視覺領域的最大技術進步,可能一直是處理能力。隨著處理器性能每兩年翻一番,以及對多核CPU、GPU和FPGA等并行處理技術的持續(xù)關注,視覺系統(tǒng)設計人員現(xiàn)在可以將高度復雜的算法應用于視覺數(shù)據(jù),并創(chuàng)建更智能的系統(tǒng)。
處理技術的發(fā)展帶來了新機會,而不僅僅是更智能或更強大的算法。讓我們看看為制造機器增加視覺功能的應用案例。這些系統(tǒng)傳統(tǒng)上設計為形成協(xié)作分布式系統(tǒng)的智能子系統(tǒng)網(wǎng)絡,該系統(tǒng)允許模塊化設計(見圖1)。
圖1:智能子系統(tǒng)網(wǎng)絡,其設計為構成協(xié)作分布式。該系統(tǒng)允許模塊化設計,但采用這種以硬件為中心的方法可能導致性能瓶頸。
然而,隨著系統(tǒng)性能的提高,采用這種以硬件為中心的方法可能遇到困難,因為這些系統(tǒng)通常采用時間關鍵和非時間關鍵協(xié)議的混合來聯(lián)接。通過各種通信協(xié)議將這些不同的系統(tǒng)聯(lián)接在一起,會導致延遲、確定性和吞吐量方面出現(xiàn)瓶頸。
例如,如果設計者試圖利用這種分布式架構開發(fā)應用,并且必須在視覺和運動系統(tǒng)之間保持緊密集成,例如在視覺伺服中所需要的,那么可能遇到由于缺乏處理能力而帶來的主要性能挑戰(zhàn)。此外,由于每個子系統(tǒng)都具有自己的控制器,這實際上會降低處理效率。
最后,由于這種以硬件為中心的分布式方法,設計人員不得不使用不同的設計工具來設計視覺系統(tǒng)中每個子系統(tǒng)的特定視覺軟件,以及用于運動系統(tǒng)的運動專用軟件等。這對于規(guī)模較小的設計團隊而言尤其具有挑戰(zhàn)性,因為一個小團隊甚至是一名工程師,需要負責設計中的許多部分。
幸運的是,有更好的方法為先進的機器和設備設計這些系統(tǒng),這是一種簡化復雜性、提高集成度、降低風險和縮短上市時間的方法。如果我們將思維從以硬件為中心轉向以軟件為中心的設計方法,結果會怎么樣(見圖2)?如果我們使用能用單一設計工具實現(xiàn)不同任務的編程工具,那么設計人員就可以在他們的軟件中反映機械系統(tǒng)的模塊性。
圖2:以軟件為中心的設計方法,允許設計人員通過在單個強大的中整合不同的自動化任務(包括視覺檢查、、I/O和HMI)來簡化控制系統(tǒng)結構。
這允許設計人員通過在單個強大的嵌入式系統(tǒng)(見圖3)中整合不同的自動化任務(包括視覺檢查、運動控制、I/O和HMI)來簡化控制系統(tǒng)結構。這消除了子系統(tǒng)通信的挑戰(zhàn),因為現(xiàn)在所有子系統(tǒng)都在單個控制器上的相同軟件堆棧中運行。 高性能嵌入式視覺系統(tǒng)是這種集中式控制器的最佳候選者,因為這些設備中已經(jīng)內(nèi)置了這些功能。
圖3:將處理器與FPGA和I/O結合在一起的異構架構,不僅是設計高性能視覺系統(tǒng)、也是集成運動控制、HMI和I/O的理想解決方案。
讓我們來看看這種集中式處理架構的一些好處。以視覺引導運動應用為例,例如柔性饋送,其中視覺系統(tǒng)為運動系統(tǒng)提供引導功能。這里,零件的位置和取向都是隨機的。在任務開始時,視覺系統(tǒng)拍攝零件的圖像以確定其位置和取向,并將該信息提供給運動系統(tǒng)。
然后,運動系統(tǒng)根據(jù)圖像坐標將致動器移動到零件所處的位置,并拾起它。它也可以使用此信息在放置零件之前校正方向。通過這種方法,設計者可以消除先前用于定向和定位零件的任何夾具。這不但降低了成本,還允許應用程序能更容易地適應新的零件設計,只需要修改軟件即可。
以硬件為中心的架構的關鍵優(yōu)點是其可擴展性,這主要歸因于系統(tǒng)之間的以太網(wǎng)鏈路。但是也必須特別注意通過該鏈路的通信。如前所述,這種方法的挑戰(zhàn)在于以太網(wǎng)鏈路的不確定性,并且?guī)捰邢蕖?/p>
對于大多數(shù)僅在任務開始時給出引導的視覺引導運動任務,這是可接受的;但是也可能存在其他情況,其中延遲的變化可能是一大挑戰(zhàn)。將這種設計轉向集中式處理架構,具有諸多優(yōu)點。
首先,因為可以使用相同的軟件開發(fā)視覺系統(tǒng)和運動系統(tǒng),設計者不需要熟悉多種編程語言或環(huán)境,因此降低了開發(fā)復雜性。第二,消除了以太網(wǎng)網(wǎng)絡上的潛在性能瓶頸,因為現(xiàn)在數(shù)據(jù)僅在單個應用中的環(huán)路之間傳遞,而不是在物理層之間傳遞。
這使得整個系統(tǒng)的運行具有確定性,因為一切共享相同的過程。當將視覺直接引入控制回路中時,例如在視覺伺服應用中,這是特別有價值的。這里,視覺系統(tǒng)在運動期間連續(xù)捕獲致動器和目標零件的圖像,直到運動完成。這些捕獲的圖像用于提供關于運動成功的反饋。有了這一反饋,設計人員可以提高現(xiàn)有自動化的精度和精密度,而無需升級到高性能運動硬件。
現(xiàn)在提出了一個問題:這個系統(tǒng)是什么樣子?如果設計人員將要使用能滿足機器視覺系統(tǒng)所需的計算和控制需求的系統(tǒng),并要與其他系統(tǒng)(如運動控制、HMI和I/O)無縫連接,那么他們需要使用具備所需性能的硬件架構,以及每個這些系統(tǒng)所需的智能和控制能力。
這種系統(tǒng)的一個很好的選擇是:使用將處理器和FPGA與I/O相結合的異構處理架構。已經(jīng)有很多行業(yè)投資這種架構,包括美國Xilinx公司的Zynq全可編程SoC(將ARM處理器與Xilinx 7系列FPGA架構相結合),以及英特爾數(shù)十億美元收購Altera等。
對于視覺系統(tǒng),使用FPGA特別有益,這主要是因為其固有的并行性。算法可以分開,運行數(shù)千種不同的方式,并且可以保持完全獨立。另外,這種架構的好處不僅僅體現(xiàn)在視覺方面,其對運動控制系統(tǒng)和I/O也大有裨益。
處理器和FPGA可用于執(zhí)行高級處理、計算和制定決策。設計人員幾乎可以通過模擬和數(shù)字I/O、工業(yè)協(xié)議、定制協(xié)議、傳感器、致動器和繼電器等,連接到任何總線上的任何傳感器。此架構還滿足了其他要求,如時序和同步以及業(yè)務挑戰(zhàn)(如提高生產(chǎn)率)。每個人都希望更快地開發(fā)產(chǎn)品,這種架構消除了對大型專業(yè)設計團隊的需要。
不幸的是,雖然這種架構提供了很多性能和可擴展性,但是實現(xiàn)它的傳統(tǒng)方法需要專業(yè)知識,特別是在使用FPGA時。這為設計者帶來了巨大風險,并有可能導致使用該架構不切實際甚至不可能。然而,使用集成軟件(如NI LabVIEW),設計人員可以通過提取低級復雜性,并將所需的所有技術集成到單一開發(fā)環(huán)境中,來提高生產(chǎn)率,降低風險。
理論是一回事,將其付諸實踐是另一回事。Master Machinery是臺灣一家生產(chǎn)半導體加工設備的公司(見圖4)。這種特定的設備使用機器視覺、運動控制和工業(yè)I/O的組合,將芯片從硅晶片上取下并封裝。這是能使用圖1中的分布式架構的機器示例,每個子系統(tǒng)可以單獨開發(fā),然后通過網(wǎng)絡集成在一起。
圖4:使用中央集權的、以軟件為中心的方法,Master Machinery公司將其主機控制器、機器視覺和運動系統(tǒng)、I/O和HMI全部集成到單個控制器中,性能是競爭對手的10倍。
行業(yè)內(nèi)這種機器每小時的產(chǎn)量大約為2000個零件。但是Master Machinery公司采取了不同的方法。他們設計了中央集權的、以軟件為中心的架構,并將主機控制器、機器視覺和運動系統(tǒng)、I/O和HMI全部集成到單獨的控制器中,所有都采用LabVIEW編程。除了不需要單個子系統(tǒng)實現(xiàn)成本節(jié)約之外,這種方法還具備性能優(yōu)勢,其每小時大約能生產(chǎn)20000個零件,是競爭產(chǎn)品的10倍。
Master Machinery公司成功的關鍵因素之一是能夠將多個子系統(tǒng)組合在單個軟件堆棧中,特別是機器視覺和運動控制系統(tǒng)。使用這種統(tǒng)一的方法,Master Machinery公司不但簡化了設計機器視覺系統(tǒng)的方式,而且還簡化了如何設計整個系統(tǒng)。
機器視覺是一項復雜的任務,需要大量的處理能力。隨著摩爾定律繼續(xù)增加處理元件(如CPU、GPU和FPGA)的性能,設計人員可以使用這些組件來開發(fā)高度復雜的算法。設計人員還可以使用此技術來提高設計中其他組件的設計性能,特別是在運動控制和I/O領域。
隨著所有這些子系統(tǒng)性能的提高,用于開發(fā)這些機器的傳統(tǒng)分布式架構將面臨壓力。將這些任務整合到單個控制器中,運行在單個軟件環(huán)境下,消除了設計過程中的瓶頸,使設計人員可以專注于創(chuàng)新,而不必擔心實施問題。
評論