郭 明,侯伯杰,高建設(shè),張慧慧
(鄭州大學(xué)機械與動力工程學(xué)院,河南 鄭州 450001)
在自動化生產(chǎn)中,工業(yè)機器人[1]的應(yīng)用越來越多,機器人在對零件進(jìn)行搬運、切割、噴涂等方面的應(yīng)用大大提高了自動化生產(chǎn)的效率。這些應(yīng)用中的機器人控制系統(tǒng)主要是基于各種傳感器將檢測到的信息傳送給機器人,機器人系統(tǒng)根據(jù)傳感器獲得的信息進(jìn)行下一步操作,機器人系統(tǒng)的效率與精度也依賴于各種傳感器技術(shù)的發(fā)展。其中機器視覺技術(shù)的發(fā)展為機器人感知外界信息提供了一種新的方向。機器視覺自動檢測技術(shù)效率高、速度快、精度高、檢測結(jié)果穩(wěn)定可靠、方便信息集成,另外經(jīng)過一系列發(fā)展的視覺技術(shù)的成本不斷降低,同其它自動化設(shè)備一樣可以在各種惡劣和危險的環(huán)境中應(yīng)用。
近年來,機器視覺在機器人系統(tǒng)中應(yīng)用廣泛,文獻(xiàn)[2]將視覺運用到了藥房取藥機器人系統(tǒng)中,實現(xiàn)了取藥機器人準(zhǔn)確識別定位藥品,且藥品定位信息準(zhǔn)確,提高了藥房的取藥效率。文獻(xiàn)[3]設(shè)計了一種雙目視覺識別定位、機械手撿拾和自主避障的輪式智能撿球機器人,通過機器視覺識別定位,引導(dǎo)機器人去抓取乒乓球、高爾夫球、網(wǎng)球等多種小型球類的拾取任務(wù),解決了人工拾取球問題。文獻(xiàn)[4]運用視覺重構(gòu)與機器人運動聯(lián)合技術(shù),提出了一種通過雙目視覺提取工件輪廓的三維坐標(biāo),然后生成機器人空間曲線的姿態(tài)軌跡完成切削任務(wù)的機器人切割系統(tǒng)。文獻(xiàn)[5]把機器視覺應(yīng)用于農(nóng)業(yè)領(lǐng)域,提出了應(yīng)用結(jié)構(gòu)光視覺技術(shù)實現(xiàn)谷粒體積流量的測量。該結(jié)構(gòu)光三維視覺測量系統(tǒng),應(yīng)用梯形微元積分求和法建立谷粒流體積計算模型,實現(xiàn)了滑槽輸送谷粒體積的在線測量,推動了精準(zhǔn)農(nóng)業(yè)的發(fā)展。文獻(xiàn)[6]設(shè)計了一套零件搬運過程中機械零件的位姿檢測系統(tǒng),實現(xiàn)了對零件的形狀與位姿識別,但根據(jù)不同的零件需要編寫相應(yīng)的程序選取零件特征,通用性較差,且只能滿足機械零件上下料的位姿檢測。
目前存在的機器人視覺檢測系統(tǒng)應(yīng)用廣泛,對于機器人加工零件,例如待切割、待涂噴、待磨拋等類的零件很大一部分為異形、體積較大等特征的零件,現(xiàn)存機器人視覺檢測系統(tǒng)均不能對此類零件進(jìn)行位姿測量。對于切割零件來說,通常此類零件體積較大,且大多存在異形,當(dāng)零件邊緣毛邊需要切割時,零件的邊緣輪廓特征采用視覺難以準(zhǔn)確提取。即便提取也需要相機具有較大的視野范圍和復(fù)雜度很高的提取算法,反而會降低視覺定位精度和導(dǎo)致系統(tǒng)魯棒性變差。另外對于剛性較差的其它類待加工零件,夾具并不能對其進(jìn)行精確定位,因此難以實現(xiàn)精確切割、涂噴和磨拋等加工,通常保留較大的加工余量,后續(xù)需要進(jìn)行人工處理。為了能夠使機器人一次性完成加工工作,對于初始不同位姿的加工零件,機器人的初始加工對刀點及后續(xù)加工路徑需要進(jìn)行相應(yīng)調(diào)整。調(diào)整也就需要對待加工零件的初始位姿進(jìn)行求解,以修正零件在不同初始位姿下的機器人加工軌跡。對于該類零件位姿難以確定的難題,提出了一種采用參照物的雙目視覺位姿測量方法,并且設(shè)計了一套基于雙目視覺零件的位姿測量系統(tǒng),可以對米量級大型零件進(jìn)行位姿測量。
這里的零件位姿測量系統(tǒng)主要由4個模塊組成,分別為圖像采集模塊、圖像處理與特征匹配模塊、位姿測量模塊、位姿輸出模塊。其具體流程,如圖1所示。在對位姿測量系統(tǒng)雙目相機進(jìn)行標(biāo)定后,將兩個相機所采集的圖像進(jìn)行圖像處理,主要包括濾波處理和特征檢測。特征提取時,提取圖像中參照物角點,在將該特征提取后,對兩幅圖像所對應(yīng)的同一點進(jìn)行匹配,然后由位姿測量模塊對該零件的所處位姿進(jìn)行計算,最后輸出該零件的所處的位姿信息。
圖1 位姿測量系統(tǒng)流程圖Fig.1 Flow Chart of Pose Measurement System
視覺系統(tǒng)中所用相機采集的圖像由于光照的不同,以及周圍環(huán)境中的灰塵等影響,會出現(xiàn)不同條件下相機采集的工件圖像存在較大差異的現(xiàn)象。對相機采集到的工件圖像進(jìn)行預(yù)處理可以消除圖像中影響期望特征提取的錯誤特征,提高工件特征的明顯度,也可以過濾掉環(huán)境影響的錯誤信息來簡化數(shù)據(jù)的復(fù)雜度,從而改進(jìn)下一步特征識別與匹配的可靠性。
特征檢測是檢測出進(jìn)行處理后的零件圖像中的特征。特征匹配是將提取出來的特征點進(jìn)行立體匹配以獲得其世界坐標(biāo)信息。
對圖像進(jìn)行濾波處理可以增強圖像,通過濾波,可以強調(diào)圖像中的一些特征,對拍攝過程中相機采集到的影響期望特征提取的干擾噪聲進(jìn)行濾除。濾波方法主要有:均值濾波、中值濾波、高斯濾波等。采用高斯濾波的方法去除干擾噪聲,效果明顯。
視覺系統(tǒng)中采集到的圖像,主要包括零件的角點特征、邊緣線特征和面特征等。這里的零件位姿檢測系統(tǒng)中圖像采集模塊是采用了兩個黑白相機,在灰度空間的特征檢測中,由于灰度圖像為一維圖像,檢測出圖像中的特征后可以直接從圖像中提取出來。該系統(tǒng)采用Harris角點特征檢測[7]直角三角形參照物的三個頂點,由于切割零件表面角點少,參照物角點特征明顯,在生成特征向量后進(jìn)行匹配時,設(shè)定相應(yīng)閾值即可對誤差點進(jìn)行剔除。匹配后的角點為進(jìn)行下一步位姿測量提供數(shù)據(jù)。
在進(jìn)行立體匹配得到左右相機圖像的匹配特征點坐標(biāo)后,即可用雙目視覺測量方法求解匹配點世界坐標(biāo)。由相機成像原理可知,對于空間中一點P(XW,YW,ZW),到像素坐標(biāo)系uv的轉(zhuǎn)換關(guān)系[8-9],如式(1)所示。
式中:Z—點P的深度;ρw、ρh—每個像素點各自的寬和高;u0和v0—主點橫縱坐標(biāo);f—相機的焦距;R—相機外參旋轉(zhuǎn)矩陣;t—平移向量。式中沒有考慮相機畸變,相機畸變會導(dǎo)致相機失真,這里在標(biāo)定時引進(jìn)了高階畸變補償成像過程中導(dǎo)致的畸變[9],徑向畸變參數(shù)矯正公式如下:
式中:(x,y)—畸變點原始位置;r—該點到主點距離;(xdistorted,ydistorted)—矯正徑向畸變之后的位置;k1,k2,k3—徑向畸變系數(shù)。
切向畸變的矯正公式如下:
式中:p1、p2—切向畸變系數(shù)。
單個相機標(biāo)定后相機內(nèi)參和外參均可得到,因此只需要知道空間點的景深Z就可以得到空間點的坐標(biāo)。單目相機并不能獲得其景深,采用雙目視覺獲得景深的方法獲取Z值[8],如圖2 所示??臻g中一點P,在雙目視覺系統(tǒng)中的左相機的圖像平面成像點為p1和右相機的圖像平面成像點為p2,雙目系統(tǒng)中的兩個相機的焦距均為f,OR和OL分別是左右相機的坐標(biāo)系原點。左邊相機的光軸和右邊相機的光軸是平行的。左邊相機的成像平面上p1的橫向坐標(biāo)為XL,右邊相機的成像平面上p2的橫向坐標(biāo)為XR。定義雙目視差d=XL-XR。
圖2 雙目視覺視差與深度原理圖Fig.2 Schematic Diagram of Binocular Visual Parallax and Depth
已知:
最后,質(zhì)量管理不到位。質(zhì)量是工程施工進(jìn)度的主要影響因素之一,結(jié)合我國建筑工程實踐來看,在建筑工程施工中,針對施工人員工作行為以及技術(shù)操作的管理未得到有效的落實,不規(guī)范操作的現(xiàn)象十分常見,這為工程施工質(zhì)量埋下了嚴(yán)重的隱患,不可避免的波及到了施工進(jìn)度。
根據(jù)相似三角形原理有:
上式兩式相加有:
又因為:
可得:
得:
由式(6)獲得Z值后即可通過式(1)求得匹配點世界坐標(biāo)。這里采用的直角三角形參照物示意圖,如圖3所示。在特征匹配后即可通過雙目相機標(biāo)定后的參數(shù)、式(1)和式(6)求解出三角形參照物的三個頂點的世界坐標(biāo)。
圖3 參照物Fig.3 Reference
其中直角三角形直角點為標(biāo)定物坐標(biāo)系的原點O,直角三角形的直角短邊和直角長邊為標(biāo)定物坐標(biāo)系的X軸方向和Y軸方向,Z軸方向垂直于標(biāo)定物直角三角形平面。參照物由人工定位貼附于零件上,參照物坐標(biāo)系相對于零件坐標(biāo)系即不存在旋轉(zhuǎn),也不存在Z軸方向的平移,只存在X,Y軸方向的平移。得到參照物坐標(biāo)系位姿后,零件坐標(biāo)系姿態(tài)與參照物坐標(biāo)系姿態(tài)一致,零件坐標(biāo)系原點位置BO(x,y,z)可以通過式(7)得到。
可簡寫為:
其中BO,AO分別是零件坐標(biāo)系原點位置和參照物坐標(biāo)系原點位置,t=(x,y,0)代表兩個坐標(biāo)系之間的平移變換。更為簡潔方法為在人工進(jìn)行貼附時,直接貼附與零件坐標(biāo)系重合,那么BO=AO。
得到三角形參照物三維位姿具體步驟如下:
(1)假設(shè)所匹配的直角三角形三個頂點求解的世界坐標(biāo)分別為A=(x1,y1,z1),B=(x2,y2,z2),C=(x3,y3,z3)。分別計算,找到最小值。若為最小,則點A為參照物坐標(biāo)系原點O,即為參照物的世界位置。另外兩種情況同理。
(2)確定參照物坐標(biāo)系原點O坐標(biāo)后,假設(shè)步驟一所得結(jié)果O=A,分別計算|。找到較小值。若較小,則可以得到為參照物坐標(biāo)系X軸方向為參照物坐標(biāo)系Y軸方向,即為參照物坐標(biāo)系Z軸方向,也同為零件坐標(biāo)系Z軸方向。其它兩種情況同理。
(3)對所求叉積結(jié)果單位化得r=(r1,r2,r3),即為參照物坐標(biāo)系Z軸在世界坐標(biāo)系中的單位方向向量,至此,參照物坐標(biāo)系三個坐標(biāo)軸方向確定,即可求取參照物坐標(biāo)系的三個歐拉角。
為了測驗該零件位姿測量系統(tǒng)的可行性,搭建了零件位姿測量系統(tǒng)實驗平臺,如圖4 所示。該實驗平臺主要有2 個型號為CGU2-130M 的黑白相機,接口為USB2.0 兼容USB3.0 并由USB供電,鏡頭焦距為12mm,視角為28.5°,相機三腳架,自制標(biāo)定板,自制不等腰直角三角形參照物,筆記本電腦組成。
圖4 系統(tǒng)實驗平臺Fig.4 System Experiment Platform
由前文可知,若想計算三維空間物體的幾何信息,從式(1)可知必須知道相機的參數(shù),保證這些參數(shù)的精確性是獲得位姿測量系統(tǒng)實驗準(zhǔn)確性的前提,而相機標(biāo)定[10]就是獲得這些參數(shù)。實驗采用MATLAB 2016b標(biāo)定工具箱對雙目相機系統(tǒng)進(jìn)行標(biāo)定。其中一組標(biāo)定板左右相機圖片,如圖5(a)所示。
圖5 相機標(biāo)定圖片F(xiàn)ig.5 Camera Calibration Picture
圖6 軟件系統(tǒng)界面Fig.6 The Main Interface of the Software System
標(biāo)定結(jié)果,如表1所示。
表1 相機標(biāo)定參數(shù)Tab.1 Camera Calibration Parameters
這里設(shè)計根據(jù)上述系統(tǒng)結(jié)構(gòu)運用C#語言聯(lián)合MATLAB語言編譯的動態(tài)鏈接庫設(shè)計了零件位姿測量系統(tǒng)軟件,軟件環(huán)境為Visual Studio 2015,MATLAB 2016b。該軟件測量實驗過程中的系統(tǒng)界面,如圖5所示。這里的實驗零件,如圖4所示。圖4(a)所示零件為客車操控臺殼體零件總長約為230cm,圖4(b)所示為客車車門殼體零件總體長約150cm,寬約80cm。本次實驗設(shè)定了零件坐標(biāo)系與參照物坐標(biāo)系完全一致。對該位姿下的兩個零件分別進(jìn)行了15次和8次重復(fù)拍攝求解位姿。其中一次匹配結(jié)果,如圖7所示。
圖7 參照物角點匹配Fig.7 Reference Object Corner Matching
對兩個零件的位姿測量數(shù)據(jù)記錄,如表2、表3所示。表中位置為參照物位置,姿態(tài)表述方式α、β和γ為歐拉式ZXZ序列的歐拉角。
表2 操控臺殼體位姿測量數(shù)據(jù)Tab.2 Pose Measurement Data of Console Shell
由表2中可以看出該系統(tǒng)的在X軸方向位置波動在(0~0.17)mm之間,Y軸方向的波動在(0~0.10)mm之間,Z軸方向的波動在(0~0.27)mm之間;α角角度波動在(0~0.34)°之間,β角角度波動在(0~0.29)°之間,γ角角度波動在(0~0.33)°之間。從實驗結(jié)果看,該系統(tǒng)能夠有效測量多種零件的位置和姿態(tài),各個參數(shù)的偏差均較小,本測量系統(tǒng)能夠為零件切割系統(tǒng)提供精度較高的位姿。
針對機器人加工系統(tǒng)中,由于大型加工零件的不易定位,用機器人對零件進(jìn)行加工總是保留很大余量,后續(xù)需要人工處理的問題,提出了一種對這些零件進(jìn)行位姿測量的方法,設(shè)計了一款零件位姿測量系統(tǒng)軟件,方便機器人根據(jù)初始位姿的不同對加工路徑進(jìn)行修正,且該系統(tǒng)成本低廉。并且用該方法對不同零件位姿進(jìn)行了實驗測量。
結(jié)果表明:該系統(tǒng)能夠有效測量多種零件的位置和姿態(tài),為機器人加工系統(tǒng)修正加工路線提供了技術(shù)支持。