機(jī)器視覺長(zhǎng)期以來(lái)用于工業(yè)自動(dòng)化系統(tǒng)中,以通過(guò)取代傳統(tǒng)上的人工檢查來(lái)提高生產(chǎn)質(zhì)量和產(chǎn)量。從拾取和放置、對(duì)象跟蹤到計(jì)量、缺陷檢測(cè)等應(yīng)用,利用視覺數(shù)據(jù)可以通過(guò)提供簡(jiǎn)單的通過(guò)失敗信息或閉環(huán)控制回路,來(lái)提高整個(gè)系統(tǒng)的性能。
視覺的使用并不僅僅在工業(yè)自動(dòng)化領(lǐng)域;我們也看到了相機(jī)在日常生活中的大量應(yīng)用,例如用于計(jì)算機(jī)、移動(dòng)設(shè)備,特別是在汽車中。攝像頭僅僅是在幾年前才被引入到汽車中,但是現(xiàn)在汽車中已經(jīng)配備了大量攝像頭,以為駕駛員提供完整的360°車輛視圖。
但是談到機(jī)器視覺領(lǐng)域的最大技術(shù)進(jìn)步,可能一直是處理能力。隨著處理器性能每?jī)赡攴环约皩?duì)多核CPU、GPU和FPGA等并行處理技術(shù)的持續(xù)關(guān)注,視覺系統(tǒng)設(shè)計(jì)人員現(xiàn)在可以將高度復(fù)雜的算法應(yīng)用于視覺數(shù)據(jù),并創(chuàng)建更智能的系統(tǒng)。
處理技術(shù)的發(fā)展帶來(lái)了新機(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)。該系統(tǒng)允許模塊化設(shè)計(jì),但采用這種以硬件為中心的方法可能導(dǎo)致性能瓶頸。
然而,隨著系統(tǒng)性能的提高,采用這種以硬件為中心的方法可能遇到困難,因?yàn)檫@些系統(tǒng)通常采用時(shí)間關(guān)鍵和非時(shí)間關(guān)鍵協(xié)議的混合來(lái)聯(lián)接。通過(guò)各種通信協(xié)議將這些不同的系統(tǒng)聯(lián)接在一起,會(huì)導(dǎo)致延遲、確定性和吞吐量方面出現(xiàn)瓶頸。
例如,如果設(shè)計(jì)者試圖利用這種分布式架構(gòu)開發(fā)應(yīng)用,并且必須在視覺和運(yùn)動(dòng)系統(tǒng)之間保持緊密集成,例如在視覺伺服中所需要的,那么可能遇到由于缺乏處理能力而帶來(lái)的主要性能挑戰(zhàn)。此外,由于每個(gè)子系統(tǒng)都具有自己的控制器,這實(shí)際上會(huì)降低處理效率。
最后,由于這種以硬件為中心的分布式方法,設(shè)計(jì)人員不得不使用不同的設(shè)計(jì)工具來(lái)設(shè)計(jì)視覺系統(tǒng)中每個(gè)子系統(tǒng)的特定視覺軟件,以及用于運(yùn)動(dòng)系統(tǒng)的運(yùn)動(dòng)專用軟件等。這對(duì)于規(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),這是一種簡(jiǎn)化復(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ì)人員通過(guò)在單個(gè)強(qiáng)大的嵌入式系統(tǒng)中整合不同的自動(dòng)化任務(wù)(包括視覺檢查、運(yùn)動(dòng)控制、I/O和HMI)來(lái)簡(jiǎn)化控制系統(tǒng)結(jié)構(gòu)。
這允許設(shè)計(jì)人員通過(guò)在單個(gè)強(qiáng)大的嵌入式系統(tǒng)(見圖3)中整合不同的自動(dòng)化任務(wù)(包括視覺檢查、運(yùn)動(dòng)控制、I/O和HMI)來(lái)簡(jiǎn)化控制系統(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的理想解決方案。
讓我們來(lái)看看這種集中式處理架構(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)到零件所處的位置,并拾起它。它也可以使用此信息在放置零件之前校正方向。通過(guò)這種方法,設(shè)計(jì)者可以消除先前用于定向和定位零件的任何夾具。這不但降低了成本,還允許應(yīng)用程序能更容易地適應(yīng)新的零件設(shè)計(jì),只需要修改軟件即可。
以硬件為中心的架構(gòu)的關(guān)鍵優(yōu)點(diǎn)是其可擴(kuò)展性,這主要?dú)w因于系統(tǒng)之間的以太網(wǎng)鏈路。但是也必須特別注意通過(guò)該鏈路的通信。如前所述,這種方法的挑戰(zhàn)在于以太網(wǎng)鏈路的不確定性,并且?guī)捰邢蕖?/p>
對(duì)于大多數(shù)僅在任務(wù)開始時(shí)給出引導(dǎo)的視覺引導(dǎo)運(yùn)動(dòng)任務(wù),這是可接受的;但是也可能存在其他情況,其中延遲的變化可能是一大挑戰(zhàn)。將這種設(shè)計(jì)轉(zhuǎn)向集中式處理架構(gòu),具有諸多優(yōu)點(diǎn)。