機(jī)器視覺(jué)在工業(yè)自動(dòng)化控制中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
機(jī)器視覺(jué)長(zhǎng)期以來(lái)用于工業(yè)自動(dòng)化系統(tǒng)中,以通過(guò)取代傳統(tǒng)上的人工檢查來(lái)提高生產(chǎn)質(zhì)量和產(chǎn)量。從拾取和放置、對(duì)象跟蹤到計(jì)量、缺陷檢測(cè)等應(yīng)用,利用視覺(jué)數(shù)據(jù)可以通過(guò)提供簡(jiǎn)單的通過(guò)失敗信息或閉環(huán)控制回路,來(lái)提高整個(gè)系統(tǒng)的性能。
視覺(jué)的使用并不僅僅在工業(yè)自動(dòng)化領(lǐng)域;我們也看到了相機(jī)在日常生活中的大量應(yīng)用,例如用于計(jì)算機(jī)、移動(dòng)設(shè)備,特別是在汽車(chē)中。攝像頭僅僅是在幾年前才被引入到汽車(chē)中,但是現(xiàn)在汽車(chē)中已經(jīng)配備了大量攝像頭,以為駕駛員提供完整的360°車(chē)輛視圖。但是談到機(jī)器視覺(jué)領(lǐng)域的最大技術(shù)進(jìn)步,可能一直是處理能力。隨著處理器性能每?jī)赡攴环约皩?duì)多核CPU、GPU和FPGA等并行處理技術(shù)的持續(xù)關(guān)注,視覺(jué)系統(tǒng)設(shè)計(jì)人員現(xiàn)在可以將高度復(fù)雜的算法應(yīng)用于視覺(jué)數(shù)據(jù),并創(chuàng)建更智能的系統(tǒng)。
例如,如果設(shè)計(jì)者試圖利用這種分布式架構(gòu)開(kāi)發(fā)應(yīng)用,并且必須在視覺(jué)和運(yùn)動(dòng)系統(tǒng)之間保持緊密集成,例如在視覺(jué)伺服中所需要的,那么可能遇到由于缺乏處理能力而帶來(lái)的主要性能挑戰(zhàn)。此外,由于每個(gè)子系統(tǒng)都具有自己的控制器,這實(shí)際上會(huì)降低處理效率。最后,由于這種以硬件為中心的分布式方法,設(shè)計(jì)人員不得不使用不同的設(shè)計(jì)工具來(lái)設(shè)計(jì)視覺(jué)系統(tǒng)中每個(gè)子系統(tǒng)的特定視覺(jué)軟件,以及用于運(yùn)動(dòng)系統(tǒng)的運(yùn)動(dòng)專(zhuān)用軟件等。這對(duì)于規(guī)模較小的設(shè)計(jì)團(tuán)隊(duì)而言尤其具有挑戰(zhàn)性,因?yàn)橐粋€(gè)小團(tuán)隊(duì)甚至是一名工程師,需要負(fù)責(zé)設(shè)計(jì)中的許多部分。
讓我們來(lái)看看這種集中式處理架構(gòu)的一些好處。以視覺(jué)引導(dǎo)運(yùn)動(dòng)應(yīng)用為例,例如柔性饋送,其中視覺(jué)系統(tǒng)為運(yùn)動(dòng)系統(tǒng)提供引導(dǎo)功能。這里,零件的位置和取向都是隨機(jī)的。在任務(wù)開(kāi)始時(shí),視覺(jué)系統(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ī)捰邢?。?duì)于大多數(shù)僅在任務(wù)開(kāi)始時(shí)給出引導(dǎo)的視覺(jué)引導(dǎo)運(yùn)動(dòng)任務(wù),這是可接受的;但是也可能存在其他情況,其中延遲的變化可能是一大挑戰(zhàn)。將這種設(shè)計(jì)轉(zhuǎn)向集中式處理架構(gòu),具有諸多優(yōu)點(diǎn)。
首先,因?yàn)榭梢允褂孟嗤能浖_(kāi)發(fā)視覺(jué)系統(tǒng)和運(yùn)動(dòng)系統(tǒng),設(shè)計(jì)者不需要熟悉多種編程語(yǔ)言或環(huán)境,因此降低了開(kāi)發(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)橐磺泄蚕硐嗤倪^(guò)程。當(dāng)將視覺(jué)直接引入控制回路中時(shí),例如在視覺(jué)伺服應(yīng)用中,這是特別有價(jià)值的。這里,視覺(jué)系統(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)化的精度和精密度,而無(wú)需升級(jí)到高性能運(yùn)動(dòng)硬件。
現(xiàn)在提出了一個(gè)問(wèn)題:這個(gè)系統(tǒng)是什么樣子?如果設(shè)計(jì)人員將要使用能滿(mǎn)足機(jī)器視覺(jué)系統(tǒng)所需的計(jì)算和控制需求的系統(tǒng),并要與其他系統(tǒng)(如運(yùn)動(dòng)控制、HMI和I/O)無(wú)縫連接,那么他們需要使用具備所需性能的硬件架構(gòu),以及每個(gè)這些系統(tǒng)所需的智能和控制能力。這種系統(tǒng)的一個(gè)很好的選擇是:使用將處理器和FPGA與I/O相結(jié)合的異構(gòu)處理架構(gòu)。已經(jīng)有很多行業(yè)投資這種架構(gòu),包括美國(guó)Xilinx公司的Zynq全可編程SoC(將ARM處理器與Xilinx 7系列FPGA架構(gòu)相結(jié)合),以及英特爾數(shù)十億美元收購(gòu)Altera等。
對(duì)于視覺(jué)系統(tǒng),使用FPGA特別有益,這主要是因?yàn)槠涔逃械牟⑿行?。算法可以分開(kāi),運(yùn)行數(shù)千種不同的方式,并且可以保持完全獨(dú)立。另外,這種架構(gòu)的好處不僅僅體現(xiàn)在視覺(jué)方面,其對(duì)運(yùn)動(dòng)控制系統(tǒng)和I/O也大有裨益。處理器和FPGA可用于執(zhí)行高級(jí)處理、計(jì)算和制定決策。設(shè)計(jì)人員幾乎可以通過(guò)模擬和數(shù)字I/O、工業(yè)協(xié)議、定制協(xié)議、傳感器、致動(dòng)器和繼電器等,連接到任何總線(xiàn)上的任何傳感器。此架構(gòu)還滿(mǎn)足了其他要求,如時(shí)序和同步以及業(yè)務(wù)挑戰(zhàn)(如提高生產(chǎn)率)。每個(gè)人都希望更快地開(kāi)發(fā)產(chǎn)品,這種架構(gòu)消除了對(duì)大型專(zhuān)業(yè)設(shè)計(jì)團(tuán)隊(duì)的需要。
不幸的是,雖然這種架構(gòu)提供了很多性能和可擴(kuò)展性,但是實(shí)現(xiàn)它的傳統(tǒng)方法需要專(zhuān)業(yè)知識(shí),特別是在使用FPGA時(shí)。這為設(shè)計(jì)者帶來(lái)了巨大風(fēng)險(xiǎn),并有可能導(dǎo)致使用該架構(gòu)不切實(shí)際甚至不可能。然而,使用集成軟件(如NI LabVIEW),設(shè)計(jì)人員可以通過(guò)提取低級(jí)復(fù)雜性,并將所需的所有技術(shù)集成到單一開(kāi)發(fā)環(huán)境中,來(lái)提高生產(chǎn)率,降低風(fēng)險(xiǎn)。