(長(zhǎng)春理工大學(xué),長(zhǎng)春 130022)
工業(yè)4.0時(shí)代,工廠正大批采購(gòu)自動(dòng)化設(shè)備,但傳統(tǒng)設(shè)備只能應(yīng)對(duì)位置精確的元件,不像人工可以處理簡(jiǎn)單偏差。而機(jī)器視覺(jué)可以縮短這一差距,有望成為自動(dòng)化設(shè)備標(biāo)配。機(jī)器視覺(jué)是一項(xiàng)綜合技術(shù),其中包括數(shù)字圖像處理技術(shù)、機(jī)械工程技術(shù)、控制技術(shù)、電光源照明技術(shù),光學(xué)成像技術(shù)、傳感器技術(shù)、模擬與數(shù)字視頻技術(shù)、計(jì)算機(jī)軟硬件技術(shù)、人機(jī)接口技術(shù)等。所以各個(gè)行業(yè)所提及到的機(jī)器視覺(jué)應(yīng)用系統(tǒng)的原理也不盡相同,各個(gè)系統(tǒng)有其不同的針對(duì)性。比如基于機(jī)器視覺(jué)的田間雜草辨別系統(tǒng)、零件傷損檢測(cè)系統(tǒng)、芯片焊點(diǎn)定位系統(tǒng)等。這些機(jī)器視覺(jué)系統(tǒng)都不具有可移植性,只能針對(duì)特定特征進(jìn)行辨別檢測(cè)。本課題中所提及的基于機(jī)器視覺(jué)的機(jī)械手定位系統(tǒng)也是針對(duì)移動(dòng)狀態(tài)下的機(jī)械手進(jìn)行實(shí)時(shí)定位的系統(tǒng)。在本系統(tǒng)中,采用Halcon機(jī)器視覺(jué)軟件。Halcon是德國(guó)MVtec公司開發(fā)的一套完善的標(biāo)準(zhǔn)的機(jī)器視覺(jué)算法包,擁有應(yīng)用廣泛的機(jī)器視覺(jué)集成開發(fā)環(huán)境。它節(jié)約了產(chǎn)品成本,減少了程序冗余,較大程度地簡(jiǎn)化了算法的實(shí)現(xiàn)過(guò)程。在本文提到的機(jī)器視覺(jué)定位系統(tǒng)中,特點(diǎn)是采用了硬件上的改進(jìn)來(lái)簡(jiǎn)化算法的復(fù)雜性,滿足了實(shí)時(shí)性要求。文中的定位系統(tǒng)主要依托Halcon機(jī)器視覺(jué)軟件中的四點(diǎn)定位算子,利用仿射原理得到第五點(diǎn)的位置信息。并進(jìn)一步根據(jù)課題特征進(jìn)行了改進(jìn),使之更為適應(yīng)特異環(huán)境,也給其他環(huán)境的定位系統(tǒng)研究充分地留有余地。
本文的主要研究?jī)?nèi)容為基于機(jī)器視覺(jué)的移動(dòng)中布線機(jī)械手定位問(wèn)題。包括高位相機(jī)、布線機(jī)械手、低位相機(jī)、激光模組;高位相機(jī)位置固定不動(dòng)且相機(jī)鏡頭垂直朝下,低位相機(jī)固定在布線機(jī)械手上,位于在高位相機(jī)下方,布線機(jī)械手與低位相機(jī)可在水平面內(nèi)沿X、Y兩方向平移并始終保持在高位相機(jī)視野范圍內(nèi),低位相機(jī)鏡頭垂直朝下;低位相機(jī)的鏡頭外圈上固定安裝有相機(jī)外圈,激光模組固定于相機(jī)外圈上。整個(gè)設(shè)計(jì)主要崇尚簡(jiǎn)單。爭(zhēng)取用最簡(jiǎn)單的裝置完成定位這一要求相對(duì)精確的任務(wù)。圖1為“四點(diǎn)定位”系統(tǒng)簡(jiǎn)單示意圖。1為高位相機(jī),位置不動(dòng);2為低位相機(jī),實(shí)為固定在機(jī)械手一側(cè),隨機(jī)械手平動(dòng);3為紅光激光模組,共四個(gè);4為高位相機(jī)視場(chǎng);5為低位相機(jī)視場(chǎng);6為低位相機(jī)中心在平臺(tái)上的投影點(diǎn);7為紅光激光模組在平臺(tái)上發(fā)出的四個(gè)激光點(diǎn)。

圖1 系統(tǒng)整體示意圖
激光模組的選取:由于相機(jī)鏡頭外圈尺寸限制,激光模組盡可能小且光斑清晰,經(jīng)過(guò)對(duì)比選用φ4mm、功率為1Mw、波長(zhǎng)650的紅光激光模組,基本參數(shù)如表1所示。

表1 激光模組參數(shù)表
光源與激光模組共同集成在一塊pcb板上,尺寸上選擇0805的LED燈珠。
本文中主要是利用仿射原理,參照示例圖片進(jìn)行仿射運(yùn)算,計(jì)算出實(shí)時(shí)圖片中的中心位置,對(duì)目標(biāo)進(jìn)行定位。仿射變換是在幾何上定義為兩個(gè)向量空間之間的一個(gè)仿射變換或者仿射映射由一個(gè)非奇異的線性變換(運(yùn)用一次函數(shù)進(jìn)行的變換)接上一個(gè)平移變換組成。在有限維的情況,每個(gè)仿射變換可以由一個(gè)矩陣A和一個(gè)向量b給出,仿射原理是一種二維坐標(biāo)到二維坐標(biāo)之間的線性變換,保證了圖像的平直性和平行性。要進(jìn)行仿射變換,必須先獲取變換矩陣。要獲取變換矩陣,必須先獲取特征點(diǎn)坐標(biāo)、角度等信息,本文利用示例圖片進(jìn)行幾何匹配來(lái)獲取變換矩陣(變換矩陣即下文提到的HomMat2D)。仿射變換其實(shí)是一種簡(jiǎn)單的變換,因?yàn)樽儞Q簡(jiǎn)單、步數(shù)少,所以畸變率低、結(jié)果也容易掌握,故準(zhǔn)確率有保證。本文中也利用Halcon軟件對(duì)圖像進(jìn)行了其他方面的處理,其間包括了基本的圖像處理,如圖像二值化、閾值分割、連通域分析等。
仿射變換矩陣獲取:在本文中應(yīng)用的近似點(diǎn)對(duì)應(yīng)的仿射變換,算子vector_to_hom_mat2d從至少3各點(diǎn)對(duì)應(yīng)的仿射變換逼近,并將其作為齊次變換矩陣HomMat2D點(diǎn)對(duì)應(yīng)在元組(Px,Py)和(Qx,Qy)中傳遞,對(duì)應(yīng)的點(diǎn)必須在元組中的相同索引位置。如果超過(guò)三個(gè)點(diǎn)的對(duì)應(yīng),轉(zhuǎn)換就會(huì)被過(guò)度確定。在這種情況下,返回的轉(zhuǎn)換時(shí)最小化輸入點(diǎn)(Px,Py)和轉(zhuǎn)換點(diǎn)(Qx,Qy)之間的距離的轉(zhuǎn)換,如以下等式所描述的:

通過(guò)Halcon軟件依次識(shí)別示例圖片中所對(duì)應(yīng)的四點(diǎn)和中心點(diǎn),然后識(shí)別采集圖片的四點(diǎn),軟件會(huì)根據(jù)點(diǎn)之間的幾何關(guān)系獲取變換矩陣HomMat2D。
系統(tǒng)的整體流程如圖2所示。若是工作條件較為簡(jiǎn)單,低位相機(jī)所識(shí)別的工作面為完整工作表面,則利用四個(gè)點(diǎn)即可完成四點(diǎn)定位。此時(shí)直接調(diào)用算子進(jìn)行定位計(jì)算即可。而本文中所用的方法原本是針對(duì)一個(gè)充滿孔洞的大型布線平臺(tái)所設(shè)計(jì)。孔洞為布線過(guò)程中固定拐點(diǎn)柱所用,每?jī)蓚€(gè)孔洞的中心距離為d。因?yàn)榭锥吹拇嬖冢约す饽=M所打出的光斑有很大可能性因?yàn)楸豢锥次斩В瑹o(wú)法識(shí)別。此時(shí),程序出錯(cuò)。

圖2 系統(tǒng)整體流程圖
為了解決光斑消失問(wèn)題,本文中采用增加激光點(diǎn)的方法。共四組、八個(gè)激光點(diǎn)。每組兩個(gè)激光點(diǎn)間距離略大于d。在真正操作臺(tái)上操作的時(shí)候,某些激光光斑可能消失。因?yàn)槊拷M兩個(gè)激光點(diǎn)間的距離略大于d,所以每組至少有一個(gè)激光點(diǎn)在平臺(tái)上。此時(shí)高位相機(jī)視野中激光點(diǎn)個(gè)數(shù)4≤n≤8。此時(shí)所增加的圖片處理的方法如圖3所示。

圖3 提取4點(diǎn)流程圖
獲取圖中激光點(diǎn)中心點(diǎn)坐標(biāo)(x1,y1),(x2,y2)(x3,y3),…,(xn,yn)。圖4為激光點(diǎn)打在完整平面上所采集的圖片,即示例圖片。圖5位兩個(gè)光斑因孔洞而消失之后所采集處理過(guò)的圖片。點(diǎn)2和點(diǎn)3已經(jīng)消失,為了便于理解,其他點(diǎn)的編號(hào)不變。

圖4 激光點(diǎn)完整示意圖

圖5 激光點(diǎn)丟失示意圖
以每個(gè)點(diǎn)中心為圓心做半徑為d的圓。
這樣一組中包括一個(gè)點(diǎn)的為一個(gè)獨(dú)立的圓,一組中包含兩個(gè)點(diǎn)的會(huì)形成兩個(gè)相交的圓。當(dāng)兩個(gè)圓有相交的時(shí)候取并集,此時(shí)n個(gè)點(diǎn)被區(qū)域劃分成四組,即最初的四組。

圖6 區(qū)域劃分
取每個(gè)區(qū)域內(nèi)縱坐標(biāo)最小的點(diǎn),得到四點(diǎn)定位的四個(gè)點(diǎn)。即圖6中的點(diǎn)1、點(diǎn)4、點(diǎn)5、點(diǎn)7。
獲取四點(diǎn)組合的向量信息,角度信息。如圖7所示。令圖中點(diǎn)1指向點(diǎn)4的向量為點(diǎn)1指向點(diǎn)7的向量為點(diǎn)1指向點(diǎn)5的向量為;的夾角為∠A;與的夾角為∠B。


圖7 點(diǎn)向量信息
與示例圖片圖8信息進(jìn)行比對(duì),相差范圍內(nèi)的即確定四點(diǎn)組合。

圖8 示例圖片
圖中四組點(diǎn),每組提取一個(gè)點(diǎn)所形成四點(diǎn)組合有24=16個(gè)。組合如下:
在原油期貨的主要交易者中,保險(xiǎn)、養(yǎng)老金、對(duì)沖基金等大類資產(chǎn)配置資金的總量和市場(chǎng)份額不斷上升,國(guó)內(nèi)以原油期貨為標(biāo)的的結(jié)構(gòu)性存款產(chǎn)品也快速增長(zhǎng)。原油作為影響通脹的最重要商品受到大類資產(chǎn)配置資金的追捧,后者通常是用固定收益的全部或部分利息來(lái)購(gòu)買原油期貨或期權(quán),在保本的同時(shí)獲得接近油價(jià)變動(dòng)的收益,以對(duì)沖通脹的影響。這類資金是原油期貨的長(zhǎng)期多頭,在一定程度上推動(dòng)油價(jià)上漲。
第1組:點(diǎn)1357。

第2組:點(diǎn)1358。


第3組:點(diǎn)1367。
……
第16組:點(diǎn)2468。

表2 各組點(diǎn)對(duì)應(yīng)的數(shù)據(jù)
通過(guò)s,s',t,t'與16組已知數(shù)據(jù)比對(duì),hn=(SSn)2+(S'-S'n)2+(t-tn)2+(t'-t'n )2。

圖9 示例圖片及各點(diǎn)區(qū)域劃分

表3 示例圖片各點(diǎn)坐標(biāo)

圖10 最終定位結(jié)果(中間點(diǎn))

表4 抓取圖片各點(diǎn)坐標(biāo)

通過(guò)實(shí)例圖片和采集圖片的對(duì)比可以清晰的看到:通過(guò)仿射原理所定位到的中心點(diǎn)滿足幾何關(guān)系,一定程度上避免了圖片畸變?cè)斐傻挠绊憽?/p>
本文中所應(yīng)用的“四點(diǎn)定位”方法,在硬件上稍作改變,從而大大簡(jiǎn)化了算法流程、減少了程序的復(fù)雜程度,節(jié)約了運(yùn)算時(shí)間、滿足了實(shí)時(shí)定位的需求,充分利用了Halcon軟件強(qiáng)大的功能。通過(guò)編寫算法和C++或C#進(jìn)行聯(lián)合二次開發(fā),就可以編寫成針對(duì)不同情況的定位軟件,為定位工作提供便利。