(長春理工大學,長春 130022)
工業(yè)4.0時代,工廠正大批采購自動化設(shè)備,但傳統(tǒng)設(shè)備只能應對位置精確的元件,不像人工可以處理簡單偏差。而機器視覺可以縮短這一差距,有望成為自動化設(shè)備標配。機器視覺是一項綜合技術(shù),其中包括數(shù)字圖像處理技術(shù)、機械工程技術(shù)、控制技術(shù)、電光源照明技術(shù),光學成像技術(shù)、傳感器技術(shù)、模擬與數(shù)字視頻技術(shù)、計算機軟硬件技術(shù)、人機接口技術(shù)等。所以各個行業(yè)所提及到的機器視覺應用系統(tǒng)的原理也不盡相同,各個系統(tǒng)有其不同的針對性。比如基于機器視覺的田間雜草辨別系統(tǒng)、零件傷損檢測系統(tǒng)、芯片焊點定位系統(tǒng)等。這些機器視覺系統(tǒng)都不具有可移植性,只能針對特定特征進行辨別檢測。本課題中所提及的基于機器視覺的機械手定位系統(tǒng)也是針對移動狀態(tài)下的機械手進行實時定位的系統(tǒng)。在本系統(tǒng)中,采用Halcon機器視覺軟件。Halcon是德國MVtec公司開發(fā)的一套完善的標準的機器視覺算法包,擁有應用廣泛的機器視覺集成開發(fā)環(huán)境。它節(jié)約了產(chǎn)品成本,減少了程序冗余,較大程度地簡化了算法的實現(xiàn)過程。在本文提到的機器視覺定位系統(tǒng)中,特點是采用了硬件上的改進來簡化算法的復雜性,滿足了實時性要求。文中的定位系統(tǒng)主要依托Halcon機器視覺軟件中的四點定位算子,利用仿射原理得到第五點的位置信息。并進一步根據(jù)課題特征進行了改進,使之更為適應特異環(huán)境,也給其他環(huán)境的定位系統(tǒng)研究充分地留有余地。
本文的主要研究內(nèi)容為基于機器視覺的移動中布線機械手定位問題。包括高位相機、布線機械手、低位相機、激光模組;高位相機位置固定不動且相機鏡頭垂直朝下,低位相機固定在布線機械手上,位于在高位相機下方,布線機械手與低位相機可在水平面內(nèi)沿X、Y兩方向平移并始終保持在高位相機視野范圍內(nèi),低位相機鏡頭垂直朝下;低位相機的鏡頭外圈上固定安裝有相機外圈,激光模組固定于相機外圈上。整個設(shè)計主要崇尚簡單。爭取用最簡單的裝置完成定位這一要求相對精確的任務。圖1為“四點定位”系統(tǒng)簡單示意圖。1為高位相機,位置不動;2為低位相機,實為固定在機械手一側(cè),隨機械手平動;3為紅光激光模組,共四個;4為高位相機視場;5為低位相機視場;6為低位相機中心在平臺上的投影點;7為紅光激光模組在平臺上發(fā)出的四個激光點。
圖1 系統(tǒng)整體示意圖
激光模組的選?。河捎谙鄼C鏡頭外圈尺寸限制,激光模組盡可能小且光斑清晰,經(jīng)過對比選用φ4mm、功率為1Mw、波長650的紅光激光模組,基本參數(shù)如表1所示。
表1 激光模組參數(shù)表
光源與激光模組共同集成在一塊pcb板上,尺寸上選擇0805的LED燈珠。
本文中主要是利用仿射原理,參照示例圖片進行仿射運算,計算出實時圖片中的中心位置,對目標進行定位。仿射變換是在幾何上定義為兩個向量空間之間的一個仿射變換或者仿射映射由一個非奇異的線性變換(運用一次函數(shù)進行的變換)接上一個平移變換組成。在有限維的情況,每個仿射變換可以由一個矩陣A和一個向量b給出,仿射原理是一種二維坐標到二維坐標之間的線性變換,保證了圖像的平直性和平行性。要進行仿射變換,必須先獲取變換矩陣。要獲取變換矩陣,必須先獲取特征點坐標、角度等信息,本文利用示例圖片進行幾何匹配來獲取變換矩陣(變換矩陣即下文提到的HomMat2D)。仿射變換其實是一種簡單的變換,因為變換簡單、步數(shù)少,所以畸變率低、結(jié)果也容易掌握,故準確率有保證。本文中也利用Halcon軟件對圖像進行了其他方面的處理,其間包括了基本的圖像處理,如圖像二值化、閾值分割、連通域分析等。
仿射變換矩陣獲?。涸诒疚闹袘玫慕泣c對應的仿射變換,算子vector_to_hom_mat2d從至少3各點對應的仿射變換逼近,并將其作為齊次變換矩陣HomMat2D點對應在元組(Px,Py)和(Qx,Qy)中傳遞,對應的點必須在元組中的相同索引位置。如果超過三個點的對應,轉(zhuǎn)換就會被過度確定。在這種情況下,返回的轉(zhuǎn)換時最小化輸入點(Px,Py)和轉(zhuǎn)換點(Qx,Qy)之間的距離的轉(zhuǎn)換,如以下等式所描述的:
通過Halcon軟件依次識別示例圖片中所對應的四點和中心點,然后識別采集圖片的四點,軟件會根據(jù)點之間的幾何關(guān)系獲取變換矩陣HomMat2D。
系統(tǒng)的整體流程如圖2所示。若是工作條件較為簡單,低位相機所識別的工作面為完整工作表面,則利用四個點即可完成四點定位。此時直接調(diào)用算子進行定位計算即可。而本文中所用的方法原本是針對一個充滿孔洞的大型布線平臺所設(shè)計??锥礊椴季€過程中固定拐點柱所用,每兩個孔洞的中心距離為d。因為孔洞的存在,所以激光模組所打出的光斑有很大可能性因為被孔洞吸收而消失,無法識別。此時,程序出錯。
圖2 系統(tǒng)整體流程圖
為了解決光斑消失問題,本文中采用增加激光點的方法。共四組、八個激光點。每組兩個激光點間距離略大于d。在真正操作臺上操作的時候,某些激光光斑可能消失。因為每組兩個激光點間的距離略大于d,所以每組至少有一個激光點在平臺上。此時高位相機視野中激光點個數(shù)4≤n≤8。此時所增加的圖片處理的方法如圖3所示。
圖3 提取4點流程圖
獲取圖中激光點中心點坐標(x1,y1),(x2,y2)(x3,y3),…,(xn,yn)。圖4為激光點打在完整平面上所采集的圖片,即示例圖片。圖5位兩個光斑因孔洞而消失之后所采集處理過的圖片。點2和點3已經(jīng)消失,為了便于理解,其他點的編號不變。
圖4 激光點完整示意圖
圖5 激光點丟失示意圖
以每個點中心為圓心做半徑為d的圓。
這樣一組中包括一個點的為一個獨立的圓,一組中包含兩個點的會形成兩個相交的圓。當兩個圓有相交的時候取并集,此時n個點被區(qū)域劃分成四組,即最初的四組。
圖6 區(qū)域劃分
取每個區(qū)域內(nèi)縱坐標最小的點,得到四點定位的四個點。即圖6中的點1、點4、點5、點7。
獲取四點組合的向量信息,角度信息。如圖7所示。令圖中點1指向點4的向量為點1指向點7的向量為點1指向點5的向量為;的夾角為∠A;與的夾角為∠B。
圖7 點向量信息
與示例圖片圖8信息進行比對,相差范圍內(nèi)的即確定四點組合。
圖8 示例圖片
圖中四組點,每組提取一個點所形成四點組合有24=16個。組合如下:
在原油期貨的主要交易者中,保險、養(yǎng)老金、對沖基金等大類資產(chǎn)配置資金的總量和市場份額不斷上升,國內(nèi)以原油期貨為標的的結(jié)構(gòu)性存款產(chǎn)品也快速增長。原油作為影響通脹的最重要商品受到大類資產(chǎn)配置資金的追捧,后者通常是用固定收益的全部或部分利息來購買原油期貨或期權(quán),在保本的同時獲得接近油價變動的收益,以對沖通脹的影響。這類資金是原油期貨的長期多頭,在一定程度上推動油價上漲。
第1組:點1357。
第2組:點1358。
第3組:點1367。
……
第16組:點2468。
表2 各組點對應的數(shù)據(jù)
通過s,s',t,t'與16組已知數(shù)據(jù)比對,hn=(SSn)2+(S'-S'n)2+(t-tn)2+(t'-t'n )2。
圖9 示例圖片及各點區(qū)域劃分
表3 示例圖片各點坐標
圖10 最終定位結(jié)果(中間點)
表4 抓取圖片各點坐標
通過實例圖片和采集圖片的對比可以清晰的看到:通過仿射原理所定位到的中心點滿足幾何關(guān)系,一定程度上避免了圖片畸變造成的影響。
本文中所應用的“四點定位”方法,在硬件上稍作改變,從而大大簡化了算法流程、減少了程序的復雜程度,節(jié)約了運算時間、滿足了實時定位的需求,充分利用了Halcon軟件強大的功能。通過編寫算法和C++或C#進行聯(lián)合二次開發(fā),就可以編寫成針對不同情況的定位軟件,為定位工作提供便利。