王增磊, 晏玉祥, 韓德川, 白曉亮,2, 張樹生
(1.西北工業(yè)大學(xué) 機(jī)電學(xué)院, 陜西 西安 710072; 2.東莞市三航軍民融合創(chuàng)新研究院, 廣東 東莞 523808)
裝配是產(chǎn)品生命周期中的一個重要環(huán)節(jié),產(chǎn)品的裝配時間和裝配質(zhì)量直接影響著產(chǎn)品的開發(fā)成本和使用性能。在當(dāng)今中國制造業(yè)中手工裝配仍占據(jù)著重要地位[1-2],其費(fèi)用高昂且屬于產(chǎn)品研制工作的后端,提高裝配效率和可靠性所帶來的經(jīng)濟(jì)效益遠(yuǎn)比簡單地降低零件生產(chǎn)成本所帶來的經(jīng)濟(jì)效益顯著[3]。
在手工裝配中經(jīng)常會遇到一些盲區(qū)手工裝配的情況,所謂的盲區(qū)手工裝配是指在裝配過程中的人手、目標(biāo)位置、手持零部件或手持工具等出現(xiàn)在盲區(qū)或者狹窄區(qū)域中,使得裝配過程的必要視覺信息丟失,從而對裝配過程造成困難,甚至難以進(jìn)行。對于這種特殊情況,裝配工人在作業(yè)過程中需要不斷調(diào)整身體姿態(tài),才能部分地看到裝配部位,導(dǎo)致裝配效率低、錯誤率高、工人容易疲勞等,甚至是無法進(jìn)行裝配。Boothroyd等[4]通過研究表明裝配過程中存在工件被遮擋的情況,被遮擋的程度越大裝配難度越大。此外,Jovanovic等[5]通過研究表明,裝配過程中的身體姿態(tài)越復(fù)雜裝配難度越大。
增強(qiáng)現(xiàn)實(augmented reality,AR)技術(shù)具有同時展現(xiàn)真實世界信息和虛擬世界信息的能力,能夠?qū)⒂嬎銠C(jī)生成的裝配引導(dǎo)信息(如三維模型、裝配動畫、文本提示等) 在裝配現(xiàn)場中“無縫”疊加,能大大提高裝配操作效率和質(zhì)量[6],在解決上述問題中具有很大的潛力。
為了在裝配現(xiàn)場中"無縫"疊加虛擬裝配引導(dǎo)信息,需要對虛擬信息進(jìn)行三維注冊。三維注冊技術(shù)是虛實融合效果的基本要求,實現(xiàn)三維注冊的關(guān)鍵為攝像機(jī)定位追蹤。早期的增強(qiáng)現(xiàn)實所采用的攝像機(jī)追蹤算法都是基于人工標(biāo)志點的,最具代表性的為美國華盛頓大學(xué)HIT實驗室開發(fā)的ARToolkit[7],通過圖形處理找到標(biāo)識物的角點像素坐標(biāo)及標(biāo)識物的世界坐標(biāo),利用PnP[8-9]算法求解相機(jī)位姿。由加拿大研究院開發(fā)的ARTag[10]使用了一種邊緣啟發(fā)式搜索算法,用來降低標(biāo)識識別的誤檢率,使其在具有一定抗遮擋能力的同時,具有較低的姿態(tài)估計誤差及內(nèi)部編碼率?;谌斯?biāo)志點的攝像機(jī)追蹤算法具有算法復(fù)雜度低、追蹤穩(wěn)定性強(qiáng)、追蹤精度高、漂移小等特點,在增強(qiáng)現(xiàn)實裝配領(lǐng)域,機(jī)械產(chǎn)品追蹤精度要求高[11],因此基于人工標(biāo)志點的攝像機(jī)追蹤方法具有顯著優(yōu)勢。
增強(qiáng)現(xiàn)實可視化方式除了傳統(tǒng)的PC顯示外,其他顯示方式概括起來有3大類:①手持式顯示;②HMD(head mount display)顯示;③投影顯示[12]。手持式顯示主要指手機(jī)平板等移動式顯示設(shè)備,但顯示方式并不直觀;HMD增強(qiáng)現(xiàn)實顯示主要缺點是長時間穿戴會不舒適;基于投影的顯示通常不需要用戶穿戴或者攜帶任何設(shè)備。Bimber等[13]采用幾何變形、輻射補(bǔ)償、多焦點投影和多投影儀共同投影的技術(shù)實現(xiàn)了在普通平面上產(chǎn)生立體投影的效果。由于操作者更喜歡在無負(fù)載的情況下工作,因此基于投影的顯示在機(jī)械裝配領(lǐng)域內(nèi)有更大的應(yīng)用。
在增強(qiáng)現(xiàn)實輔助裝配領(lǐng)域,哥倫比亞大學(xué)的Henderson和Feiner[14]開發(fā)了一個面向狹小空間的增強(qiáng)現(xiàn)實輔助裝配系統(tǒng),實驗人員佩戴AR眼鏡,通過文本、標(biāo)簽、箭頭和動畫的引導(dǎo)在狹窄的炮塔內(nèi)安裝緊固件、指示燈以及線纜等零件,實驗結(jié)果表明在狹小空間內(nèi)使用增強(qiáng)現(xiàn)實系統(tǒng)輔助裝配時可以減少操作人員頭部的移動次數(shù)。
受Feiner等工作的啟發(fā),王增磊等[15]對手工裝配中遇到的盲區(qū)問題,利用增強(qiáng)現(xiàn)實技術(shù)將盲區(qū)信息直觀呈現(xiàn)給工人。該方法根據(jù)待裝配對象可見部分的大小使用HTC vive的2個手柄或通過leap motion對手的追蹤間接估計待裝配對象位姿,并利用vive頭盔顯示增強(qiáng)現(xiàn)實場景和裝配體模型。這種方法很大程度上解決了盲區(qū)不可見部分的裝配難題,但是基于傳感器的追蹤方法極易受到外部環(huán)境的干擾,導(dǎo)致模型抖動或丟失,因此,很難適用于高精度的裝配場景。此外,調(diào)研發(fā)現(xiàn)工人在制造現(xiàn)場作業(yè)時不喜歡佩戴頭盔,這會給工作帶來諸多不便,如增加工作負(fù)荷等。
本文在前述研究的基礎(chǔ)上提出一種精確、魯棒基于機(jī)器視覺的定位追蹤方法,并將該方法應(yīng)用于盲區(qū)裝配,同時借助局部誤差放大的原理進(jìn)行AR可視化引導(dǎo)裝配,從而期望提高裝配精度和裝配效率,降低裝配錯誤率、緩解工人身心疲勞。
基于機(jī)器視覺的增強(qiáng)現(xiàn)實盲區(qū)裝配總體工作流程如圖1所示,總共包括3個部分:①標(biāo)志點橢圓的識別和檢測;②盲區(qū)對象的定位追蹤;③盲區(qū)裝配信息的AR可視化。在開始階段,使用相機(jī)采集盲區(qū)裝配現(xiàn)場的圖像,通過圖像預(yù)處理降低圖像噪聲,采用輪廓查找、橢圓擬合等方式識別標(biāo)志點橢圓,由于標(biāo)志點貼在盲區(qū)待裝配對象的外表面,所以通過對橢圓的定位追蹤就可以實現(xiàn)盲區(qū)待裝配對象的定位追蹤,并通過解PnP問題,實現(xiàn)橢圓中心點3D世界坐標(biāo)與2D像素坐標(biāo)的轉(zhuǎn)換,從而求得相機(jī)的位姿(R/T),將位姿信息傳入unity3D中,與unity3D中的模型實現(xiàn)虛實結(jié)合。最后根據(jù)虛實結(jié)合注冊的結(jié)果,將裝配引導(dǎo)信息通過投影的方式在裝配環(huán)境中疊加,同時借助局部誤差放大的原理進(jìn)行AR可視化引導(dǎo)裝配。
圖1 盲區(qū)裝配總體工作流程圖
識別和檢測橢圓標(biāo)志點是為了實時定位追蹤與標(biāo)志點綁定的盲區(qū)待裝配對象,本文橢圓標(biāo)志點的識別和檢測技術(shù)流程如圖2所示。
圖2 橢圓識別檢測流程
由于受光照、環(huán)境等眾多因素的影響,相機(jī)采集的圖像總是會存在許多噪聲,而這些噪聲會對檢測識別橢圓帶來一定影響,因此采集到原始圖像后,需要對這些圖像進(jìn)行圖像預(yù)處理,以有效降低由于噪聲和失真變形對后續(xù)識別算法造成的干擾。首先對原始圖像灰度化處理后進(jìn)行高斯濾波,然后采用Hough PV所提出的最大類間方差法[16](OTSU)圖像二值化處理,再利用canny邊緣檢測算子提取二值圖像中的有效邊緣輪廓,得到的邊界輪廓上的像素點集并不是完整的輪廓曲線,因此再對使用鏈表結(jié)構(gòu)形式儲存的輪廓信息進(jìn)行遍歷篩選,經(jīng)篩選處理得到完整的二維輪廓曲線。為了提高橢圓檢測精度,需要將橢圓識別實現(xiàn)亞像素精度定位,為此對已查找到的輪廓邊緣像素點集,通過使用最小二乘法[17]進(jìn)行橢圓擬合,從而計算出橢圓中心點的亞像素精度坐標(biāo)位置。橢圓的一般方程為
Ax2+Bxy+Cy2+Dx+Ey+F=0
(1)
運(yùn)用最小二乘法進(jìn)行橢圓擬合,即最小化輪廓邊緣像素點集與擬合橢圓之間的距離度量。距離度量指的是平面內(nèi)一點(x0,y0)到橢圓方程f(x,y)=0所代表的代數(shù)距離即f(x0,y0)。為了避免方程零解,令A(yù)+C=1,設(shè)查找到的某個輪廓邊緣像素點集為Pi(x,y),包含的像素點個數(shù)為n,運(yùn)用最小二乘法計算方程(1)的系數(shù),使得函數(shù)
f(A,B,C,D,E)=
(2)
最小。根據(jù)極值定理,當(dāng)f(A,B,C,D,E)最小時,滿足
(3)
根據(jù)上述等式得到的線性方程組,以及約束條件A+C=1,就可以計算得到方程系數(shù)A,B,C,D,E,F的值。則橢圓中心坐標(biāo)Pc(Xc,Yc)為
(4)
(5)
橢圓擬合完成后,為了減小圖像中出現(xiàn)的干擾橢圓點,根據(jù)橢圓面積和長度進(jìn)行篩選,精確找到目標(biāo)標(biāo)志點橢圓,并輸出橢圓中心點坐標(biāo)。
對盲區(qū)對象的追蹤是通過將橢圓標(biāo)志點粘貼在盲區(qū)對象表面,通過追蹤橢圓的方式間接追蹤盲區(qū)待裝配對象。為了確定橢圓粘貼表面的位姿,首先需要標(biāo)定相機(jī),獲得相機(jī)的內(nèi)參矩陣Mc、相機(jī)內(nèi)參畸變參數(shù)矩陣等,然后通過解PnP問題,確定相機(jī)在真實世界坐標(biāo)系下的坐標(biāo)(3D)與像素坐標(biāo)下的坐標(biāo)(2D)之間的轉(zhuǎn)換關(guān)系。PnP問題是求解3D-2D點對運(yùn)動的方法,描述了當(dāng)知道n個三維空間點坐標(biāo)及其二維投影位置時,如何估計相機(jī)的位姿。在1幅圖像中,最少只要知道3個點的空間坐標(biāo)即3D坐標(biāo),就可以用于估計相機(jī)的運(yùn)動以及相機(jī)的姿態(tài)。而特征點的空間世界坐標(biāo),可以通過深度圖來確定,亦可在初始化時,通過設(shè)定世界坐標(biāo)系的方法解得,由于本文使用單目相機(jī),因此通過設(shè)計1個大橢圓、3個小橢圓標(biāo)志點以橢圓所在平面為世界坐標(biāo)XY平面,并以大橢圓標(biāo)志點中心坐標(biāo)作為原點確定世界坐標(biāo)系(Z坐標(biāo)設(shè)為0),并按照順時針方向逐個確定3個小橢圓的世界坐標(biāo),又通過橢圓檢測可以確定對應(yīng)的橢圓中心點像素坐標(biāo),因此通過公式
(6)
可以確定矩陣[R|t],其中R是旋轉(zhuǎn)矩陣,t是位移向量。在(6)式中
(7)
相機(jī)的內(nèi)參矩陣為
(8)
求得矩陣[R|t]后,就可以完成從世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換。如果世界坐標(biāo)系為X,相機(jī)坐標(biāo)系對應(yīng)坐標(biāo)為X′,那么X′=[R|t]·X。從相機(jī)坐標(biāo)系到理想像素坐標(biāo)系的變換就需要內(nèi)參數(shù)矩陣Mc。那么理想像素坐標(biāo)系L=Mc·[R|t]·X。
在知道真實世界坐標(biāo)系與像素坐標(biāo)系的轉(zhuǎn)換關(guān)系后,可以獲得橢圓標(biāo)志點所在的平面的位置和姿態(tài),在unity3D虛擬世界中,通過給虛擬“十字”模型賦值的方式,使“十字”模型位于虛擬相機(jī)坐標(biāo)系下4個橢圓的正中心之間的位置,通過實時追蹤橢圓標(biāo)志點,無論怎么移動和旋轉(zhuǎn)待裝配對象,十字模型也會隨橢圓標(biāo)志點所在的平面移動和旋轉(zhuǎn),與橢圓的相對位置始終保持不變。
在unity3D虛擬世界中,通過將“十字”模型疊加到視頻流中裝配體表面,可以實現(xiàn)“十字”模型隨裝配體移動而移動,為了在真實世界中實現(xiàn)盲區(qū)裝配,需要將unity3D中的裝配信息進(jìn)行AR可視化處理,從而實現(xiàn)操作者在信息的引導(dǎo)下有效地完成盲區(qū)的裝配。
圖3 投影位置局部放大示意圖
系統(tǒng)的軟件架構(gòu)主要由四部分構(gòu)成,即服務(wù)器與客戶端的通信和數(shù)據(jù)共享、基于人工標(biāo)識的定位追蹤算法、盲區(qū)的可視化與裝配引導(dǎo)信息的虛實融合以及相機(jī)投影儀對的標(biāo)定。整個架構(gòu)基于unity3D和visual studio(C/C++)開發(fā),通過把基于人工標(biāo)識的定位追蹤信息以DLL的形式嵌入到unity3D的工程中,并以投影儀的形式實現(xiàn)AR可視化裝配引導(dǎo)。
為驗證該方法對盲區(qū)裝配的影響,設(shè)計了1套盲區(qū)裝配硬件系統(tǒng)。如圖4所示,系統(tǒng)由投影儀、USB相機(jī)、上下接插件以及運(yùn)行程序的服務(wù)器組成。在實驗的過程中需要將上接插件底部的針腳準(zhǔn)確插入到下接插件內(nèi)部對應(yīng)的針孔里,針腳和針孔模型示意圖如圖5所示。由于針腳被固定在一個較大的形體底面,因此在整個裝配過程中針孔和針腳完全被形體所遮擋,實際裝配過程中只能通過經(jīng)驗以及不斷試探,才能完成工作。
圖4 系統(tǒng)硬件圖
圖5 針腳和針孔模型示意圖
本實驗中共有20人參與實驗,17位男性,3位女性,所有人都有AR/VR方面的實驗經(jīng)驗。實驗中,參與者分別在有AR引導(dǎo)下進(jìn)行裝配和無AR引導(dǎo)下進(jìn)行裝配,因此本用戶研究實驗為組內(nèi)設(shè)計。為了平衡學(xué)習(xí)效應(yīng)的影響,打亂相鄰2組的參與者參與實驗的條件順序,如:前面一組先做有AR引導(dǎo)的盲區(qū)裝配,后做無AR引導(dǎo)的盲區(qū)裝配,后面一組參與實驗的條件順序正好相反。
有AR引導(dǎo)的盲區(qū)裝配實驗場景如圖6所示。實驗開始時,實驗工作人員開始計時,參與者從固定位置拿起上接插件,移動上接插件將紅色十字架對準(zhǔn)綠色十字架(見圖6a)),當(dāng)2個十字架之間的距離接近于零時注意觀察距離偏差放大圖(見圖6b)),直到二者之間的距離為零時平穩(wěn)地將上接插件的針腳準(zhǔn)確插到下接插件的針孔里,完成裝配后結(jié)束計時同時記錄是否裝配正確,unity3D中的運(yùn)行界面如圖6c)所示。
圖6 AR引導(dǎo)盲區(qū)裝配實驗場景
本節(jié)中通過裝配完成的時間間接衡量裝配效率,時間越短,則說明效率越高,反之。同時,對裝配過程中的錯誤率進(jìn)行了統(tǒng)計。由于本章實驗設(shè)計是采用組內(nèi)實驗設(shè)計,因此對時間變量和錯誤率進(jìn)行配對樣本T檢驗。最后,對問卷結(jié)果進(jìn)行分析。
2.3.1 裝配完成時間
如圖7所示,有AR引導(dǎo)的盲區(qū)裝配平均時間(4.48±1.21 s)與無AR引導(dǎo)的盲區(qū)裝配平均時間(8.47±2.75 s)相比有顯著的差異。
圖7 裝配完成時間
2.3.2 裝配錯誤率
對于裝配錯誤率采用公式(9)計算
(9)
如圖8所示,有增強(qiáng)現(xiàn)實輔助下的裝配錯誤率(0.00±0.00)與無增強(qiáng)現(xiàn)實輔助下的裝配錯誤率(0.26±0.12,p<0.05)相比有顯著性差異。
圖8 裝配錯誤率
本文針對手工裝配中的盲區(qū)裝配作業(yè)難題,提出了一種基于增強(qiáng)現(xiàn)實的盲區(qū)裝配方法。該方式首先利用基于機(jī)器視覺的定位追蹤方法對待裝配零件進(jìn)行定位追蹤,然后利用誤差放大的AR可視化效果進(jìn)行引導(dǎo)裝配,最后設(shè)計并實施了基于增強(qiáng)現(xiàn)實的盲區(qū)裝配實驗,對裝配效率及錯誤率進(jìn)行評估。實驗結(jié)果表明本文方法能顯著提高盲區(qū)裝配作業(yè)的效率,并能有效降低裝配錯誤率。