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