何秀明,申祖武,吳迎峰,田會方
(武漢理工大學 機電工程學院,湖北 武漢 430070)
自動鋪放技術作為一種典型的復合材料技術,已經(jīng)廣泛應用于航空航天和風力發(fā)電等領域。美國Vought公司制造了世界上第一臺自動鋪放機,用于生產(chǎn)中小曲率大型飛機部件[1]。Ingersoll、M-Torres Forest-Line等公司研制了新一代多坐標自動鋪放機用以商業(yè)生產(chǎn),其鋪放精度已達到0.5 mm[2]。
國內(nèi)自動鋪放技術經(jīng)過多年的不斷努力也取得了一定的成果。文獻[3]成功研制了工業(yè)自動鋪放機,并實現(xiàn)了樣件的鋪放工作。文獻[4]設計了自動鋪放機鋪放頭,并開發(fā)了自動鋪放機的計算機控制系統(tǒng)。文獻[5]研制了7軸纖維鋪放頭和對應的數(shù)控系統(tǒng)。但與國外相比,目前國內(nèi)的鋪放仍以手工鋪放為主,部分企業(yè)即使裝備了自動鋪放機,但是在某些環(huán)節(jié)仍然需要人為干預,自動化程度較低。
而機器視覺作為一種新興的技術,擁有非接觸、處理速度快、準確和信息量大等特點。利用機器視覺技術,可以提高自動化設備的自動化程度、精度和速度,提高其生產(chǎn)效率,降低勞動成本[6]。因此,將機器視覺技術應用到自動鋪放機中,建立了鋪放頭視覺測量系統(tǒng),可將鋪放頭的位置信息傳輸?shù)戒伔艡C的控制系統(tǒng),從而實現(xiàn)鋪放機的視覺反饋控制,大大提高鋪放機的自動化程度。鋪放頭視覺測量系統(tǒng)作為鋪放機視覺反饋控制的前提,具有十分重要的研究價值。
如圖1所示,將圖像的像素坐標系中的一點p(u,v)投影到三維世界坐標系中的對應點P(X,Y,Z),需要經(jīng)過4個坐標系的轉化:像素坐標系O-uv、毫米坐標系O1-xy、相機坐標系OC-XCYCZC和三維世界坐標系OW-XWYWZW。
圖1 相機標定原理圖
像素坐標系和毫米坐標系間的轉化關系為:
(1)
式中:dx和dy為每像素分別在x和y方向的實際物理尺寸;cx和cy為毫米坐標系O1-xy和像素坐標系O-uv原心O1和O的偏移量。
根據(jù)針孔相機模型[7],點P在毫米坐標系下的坐標(x,y)與在相機坐標系下的坐標(XC,YC,ZC)的轉化關系為:
(2)
式中:s=Zc;F為透鏡的物理焦距長度。
點P在相機坐標系下的坐標(XC,YC,ZC)與其在三維世界坐標系下的坐標(XW,YW,ZW)的轉化關系為:
(3)
式中:R和T分別為點P從相機坐標系到三維世界坐標系的旋轉矩陣和平移向量,R為3×3矩陣,T為3×1向量。
聯(lián)立式(1)、式(2)和式(3),并化簡可得:
(4)
式中:fx=F/dx;fy=F/dy;M1和M2分別為相機的內(nèi)參數(shù)矩陣和外參數(shù)矩陣,相機標定的目的即獲得M1和M2。
基于雙目視覺建立鋪放頭視覺測量系統(tǒng),其三維重建主要包括立體校正、立體匹配和三維重投影。
首先,用極線約束來簡化立體校正[8]。極線約束就是一幅圖像上的某特征在另一幅圖像上的匹配視圖一定在對應的極線上。因此,立體校正可表述為:使得左右兩幅圖像的對極線剛好在同一水平線上,從而讓左右圖像嚴格地行對齊,只需在對應行進行一維搜索即可匹配到對應點。
接著選擇運行速度較快的BM(block matching)算法來對嚴格對齊的左右兩幅圖像進行一維搜索,從而實現(xiàn)立體匹配[9]。用BM算法將兩圖像上的目標點匹配成功后,得到該點的視差d。
最后根據(jù)如圖2所示的三角測量原理,將目標點在左右圖像平面的視差d轉化成距離,從而得到目標點的三維坐標,實現(xiàn)三維重投影[10]。
圖2 三角測量原理圖
圖2中,兩相機的圖像平面位于同一平面,兩相機的主光線平行,兩相機間的距離T一定,兩相機的焦距相同,都為f。三維世界坐標系下的點P在左右圖像上的成像點的橫坐標分別為xl和xr,視差d=xl-xr。利用相似三角形可得出點P到投影中心的垂直距離Z,如式(5)所示。
(5)
將一個二維點a(x,y)和其關聯(lián)的視差d重投影到三維世界中:
(6)
式中,重投影矩陣Q中的參數(shù)可以通過相機標定獲得。因此,可以根據(jù)式(6)得到二維點a對應的三維坐標(X/V,Y/V,Z/V)。
鋪放頭視覺測量系統(tǒng)主要包括圖像采集模塊和圖像預處理與數(shù)據(jù)計算模塊,如圖3所示。
圖3 鋪放頭視覺測量系統(tǒng)總體框圖
圖3中,圖像采集模塊需要首先做好準備工作,將光源放置于鋪放頭特定位置,在鋪放頭的運動范圍內(nèi)布置足夠的相機,確保鋪放頭始終在兩兩相機組成的雙目系統(tǒng)的視場范圍內(nèi),然后通過相機實時獲取鋪放頭的圖像信息,最后將其轉化為相應的數(shù)字信號傳給PC機;圖像預處理與數(shù)據(jù)計算模塊則首先對相機進行標定,以獲得相機的內(nèi)外參數(shù),接著通過圖像預處理,得到實時獲取的圖像中目標點(光源)的二維坐標,最后通過三維重建,結合相機的內(nèi)外參數(shù),將目標點的圖像二維坐標轉化為其在三維世界坐標系下的三維坐標,得到鋪放頭的位置。
鋪放頭視覺測量系統(tǒng)的硬件部分主要包括:光源、相機、鏡頭、圖像采集卡和PC機。其中,光源選用深圳市百優(yōu)特光電科技有限公司生產(chǎn)的F5 940 nm 0.4 W紅外LED燈,相機選用JAI公司生產(chǎn)的CB-140GE工業(yè)相機,鏡頭選用型號為M0814-MP2的日本Computar工業(yè)鏡頭。
鋪放機初步的鋪放任務所要求的空間不大,因此,圖像采集模塊使用兩臺相機即可完成鋪放機鋪放頭初步的位置測量??紤]到今后可能會增加相機的數(shù)目以擴大系統(tǒng)的測量范圍或者測量某些特定細節(jié),對相機進行串聯(lián)式連接,如圖4所示。該連接方式下,圖像采集卡只需一個輸入接口,交換式集線器作為相機與圖像采集卡的中轉站,將所有相機傳輸?shù)膱D像信息“串聯(lián)”起來傳給圖像采集卡,所有相機和圖像采集卡屬于路由器提供的一個網(wǎng)絡。
圖4 相機串聯(lián)式連接
鋪放頭視覺測量系統(tǒng)的軟件部分是基于OpenCV-2.4.13開發(fā)的,其主要包括:相機標定、圖像預處理和三維重建。
根據(jù)相機標定原理,對視覺測量系統(tǒng)中的相機進行標定的參數(shù)有:相機的內(nèi)參數(shù)矩陣M1和外參數(shù)矩陣M2。為了同時滿足視覺測量系統(tǒng)的時效性和準確性,綜合MATLAB和OpenCV各自的優(yōu)點,對相機的傳統(tǒng)標定方法進行改進。由于相機的內(nèi)參數(shù)矩陣M1是相機的固有參數(shù),不會改變,因此先用標定結果較準確的MATLAB分別對兩相機進行單目標定,得到它們的內(nèi)參數(shù)矩陣M1。然后將得到的結果導入時效性較好的OpenCV中,對兩相機進行雙目標定,得到它們的外參數(shù)矩陣M2。
圓是圖像預處理中較容易識別的,因此,將7個完全一致的紅外LED燈集成于一塊板子上,且兩兩相鄰LED燈的距離為50 mm,制成供相機拍攝的不對稱靶板,點亮LED燈,通過相機拍攝靶板得到的圖像如圖5(a)所示。需要注意的是,初步的視覺測量系統(tǒng)利用該靶板來測量鋪放頭位置,但是在實際生產(chǎn)中,應該將紅外LED燈直接安裝在鋪放頭上,以便相機通過捕捉LED燈的位置來確定鋪放頭的位置。拍攝該靶板的相關圖像,再基于OpenCV對其進行圖像預處理,流程如圖6所示。
圖5 圖像預處理效果圖
圖6 圖像預處理流程圖
首先對靶板原圖進行形態(tài)學處理,將各個目標圓分離,并消除由噪聲引起的毛刺。接著對其進行閾值化,通過設置合適的閾值,將LED燈與其背景分割開,初步得到7個圓。然后進行Canny邊緣檢測,尋找各個圓的輪廓。最后通過最小二乘圓法[11]對這些圓的輪廓進行定位,確定它們的圓心,圓心即表示相應的LED燈的位置。
如圖5所示為圖像預處理效果圖。其中圖5(a)為靶板原圖,圖5(b)為經(jīng)過形態(tài)學處理后的圖像,圖5(c)為閾值化后的圖像,圖5(d)為Canny邊緣檢測后再對靶板所在區(qū)域的放大圖。圖像預處理結果符合預期,對Canny邊緣檢測后的圖像用最小二乘圓法進行目標圓的定位,可得到亞像素級別的LED燈的圖像二維坐標。
根據(jù)三維重建原理,通過相機標定獲得的相機內(nèi)外參數(shù),可以將圖像預處理獲得的LED燈的二維坐標轉化為其對應的三維坐標。左右兩相機逐幀拍攝靶板圖像,然后基于OpenCV依次求得每幀圖像中靶板上LED燈的三維坐標,獲得靶板的實時位置,初步測量過程中將靶板固定在鋪放機鋪放頭上,即可得到鋪放頭的X軸、Y軸和Z軸的實時數(shù)據(jù)。
根據(jù)設計要求,搭建了如圖7所示的實驗平臺,主要包括視覺測量系統(tǒng)和龍門式碳纖維預浸帶鋪放機。其中,視覺測量系統(tǒng)包括左右兩相機和裝有靶板的鋪放頭,從上到下、從左到右依次將靶板上各個LED燈標記為LED1、LED2、LED3、LED4、LED5、LED6和LED7。實驗前,通過相機標定將兩相機各自的內(nèi)參數(shù)矩陣和兩相機之間的外參數(shù)矩陣標定好,并保存在PC機中,以便實驗時調(diào)用。
圖7 視覺測量系統(tǒng)試驗平臺
啟動鋪放機,手動控制鋪放頭運動,將鋪放頭調(diào)至兩相機的視場中間。通過鋪放頭視覺測量系統(tǒng)對靶板上的7個LED燈重復測量100次,獲得LED燈的三維坐標,記為(x,y,z)。將各個LED燈后一次的測量值與其前一次的做差,得到各個LDE燈的三維坐標的重復性精度,如表1所示。
表1 各個LED燈三維坐標的重復性精度 mm
故視覺測量系統(tǒng)的總體靜態(tài)重復性精度約為0.1 mm。為了進一步研究視覺測量系統(tǒng)的性能,接下來研究該系統(tǒng)的動態(tài)測量精度。
不管靶板如何隨鋪放頭運動,靶板上的相鄰LED燈的間距都是50 mm。通過相鄰LED燈的間距可以間接確定視覺測量系統(tǒng)的測量誤差,相鄰LED燈的間距可以通過式(8)求得:
(8)
式中:d12為LED1與LED2的間距;(x1,y1,z1)為LED1的三維坐標;(x2,y2,z2)為LED2的三維坐標。以此類推,還可分別求得d23、d14、d45、d56和d67。
保持兩相機的位置不變,手動控制鋪放機鋪放頭在兩相機的視場內(nèi)運動。視覺測量系統(tǒng)首先進行圖像采集,兩相機隨機拍攝鋪放頭運動過程中的5個位置的靶板圖像。需要注意的是,必須保證兩相機同時拍攝某一時刻的靶板圖像,若拍攝得到的圖像中的紅外LED燈的特征不明顯,還可以在兩相機鏡頭前加一塊濾光片,以初步剔除波長為650 nm的紅外光之外的可見光,保證獲得的圖像質(zhì)量。接著對靶板圖像分別進行圖像預處理,并結合相機標定結果,通過三維重建分別求得鋪放頭的5個位置信息。然后通過式(8)將該位置信息轉化為兩兩LED燈的間距,再將測得的間距與其實際間距50 mm做差并取絕對值,從而間接獲取視覺測量系統(tǒng)的動態(tài)測量誤差如表2所示。
表2 視覺測量系統(tǒng)的動態(tài)測量誤差 mm
由表2可知,視覺測量系統(tǒng)的總體動態(tài)測量誤差在0.8 mm左右。為了進一步驗證視覺測量系統(tǒng)的可行性,通過視覺測量系統(tǒng)來測量鋪放頭運動的位移。
保持兩相機的位置不變,手動控制鋪放機鋪放頭在兩相機的視場內(nèi)緩慢運動,視覺測量系統(tǒng)分別拍攝靶板在其中兩位置的圖像,并求得各個LED燈對應的三維坐標。將同一LED燈在這兩位置的三維坐標相減,獲得鋪放頭在這兩位置的測量位移。將在鋪放機控制界面顯示的這兩位置的三維坐標相減,得到鋪放頭在這兩位置的實際位移。任意選取6個位置以測得兩兩位置間的位移,則可獲得鋪放頭的5組位移數(shù)據(jù),如表3所示。
表3 視覺測量系統(tǒng)的位移測量 mm
表3中,視覺測量系統(tǒng)的總體位移測量誤差在1 mm左右。綜上所述,視覺測量系統(tǒng)的重復性精度和測量誤差都在可接受的范圍內(nèi),該系統(tǒng)達到了設計要求,可以實時獲取鋪放頭的位置,從而提高鋪放設備的自動化程度,以取代人工鋪放。
為了提高自動鋪放機的自動化程度,將機器視覺技術應用到自動鋪放機中,初步搭建了鋪放頭的視覺測量系統(tǒng)。對系統(tǒng)中重要硬件進行了選型,并選擇了方便該測量系統(tǒng)后續(xù)發(fā)展的連接方式?;贠penCV編寫了測量軟件,實現(xiàn)了相機標定、圖像預處理和三維重建。最后搭建了實驗系統(tǒng)對視覺測量系統(tǒng)進行了相關實驗,結果證明該系統(tǒng)可以實時獲取鋪放頭的位置。