王增磊, 晏玉祥, 韓德川, 白曉亮,2, 張樹生
(1.西北工業大學 機電學院, 陜西 西安 710072; 2.東莞市三航軍民融合創新研究院, 廣東 東莞 523808)
裝配是產品生命周期中的一個重要環節,產品的裝配時間和裝配質量直接影響著產品的開發成本和使用性能。在當今中國制造業中手工裝配仍占據著重要地位[1-2],其費用高昂且屬于產品研制工作的后端,提高裝配效率和可靠性所帶來的經濟效益遠比簡單地降低零件生產成本所帶來的經濟效益顯著[3]。
在手工裝配中經常會遇到一些盲區手工裝配的情況,所謂的盲區手工裝配是指在裝配過程中的人手、目標位置、手持零部件或手持工具等出現在盲區或者狹窄區域中,使得裝配過程的必要視覺信息丟失,從而對裝配過程造成困難,甚至難以進行。對于這種特殊情況,裝配工人在作業過程中需要不斷調整身體姿態,才能部分地看到裝配部位,導致裝配效率低、錯誤率高、工人容易疲勞等,甚至是無法進行裝配。Boothroyd等[4]通過研究表明裝配過程中存在工件被遮擋的情況,被遮擋的程度越大裝配難度越大。此外,Jovanovic等[5]通過研究表明,裝配過程中的身體姿態越復雜裝配難度越大。
增強現實(augmented reality,AR)技術具有同時展現真實世界信息和虛擬世界信息的能力,能夠將計算機生成的裝配引導信息(如三維模型、裝配動畫、文本提示等) 在裝配現場中“無縫”疊加,能大大提高裝配操作效率和質量[6],在解決上述問題中具有很大的潛力。
為了在裝配現場中"無縫"疊加虛擬裝配引導信息,需要對虛擬信息進行三維注冊。三維注冊技術是虛實融合效果的基本要求,實現三維注冊的關鍵為攝像機定位追蹤。早期的增強現實所采用的攝像機追蹤算法都是基于人工標志點的,最具代表性的為美國華盛頓大學HIT實驗室開發的ARToolkit[7],通過圖形處理找到標識物的角點像素坐標及標識物的世界坐標,利用PnP[8-9]算法求解相機位姿。由加拿大研究院開發的ARTag[10]使用了一種邊緣啟發式搜索算法,用來降低標識識別的誤檢率,使其在具有一定抗遮擋能力的同時,具有較低的姿態估計誤差及內部編碼率。基于人工標志點的攝像機追蹤算法具有算法復雜度低、追蹤穩定性強、追蹤精度高、漂移小等特點,在增強現實裝配領域,機械產品追蹤精度要求高[11],因此基于人工標志點的攝像機追蹤方法具有顯著優勢。
增強現實可視化方式除了傳統的PC顯示外,其他顯示方式概括起來有3大類:①手持式顯示;②HMD(head mount display)顯示;③投影顯示[12]。手持式顯示主要指手機平板等移動式顯示設備,但顯示方式并不直觀;HMD增強現實顯示主要缺點是長時間穿戴會不舒適;基于投影的顯示通常不需要用戶穿戴或者攜帶任何設備。Bimber等[13]采用幾何變形、輻射補償、多焦點投影和多投影儀共同投影的技術實現了在普通平面上產生立體投影的效果。由于操作者更喜歡在無負載的情況下工作,因此基于投影的顯示在機械裝配領域內有更大的應用。
在增強現實輔助裝配領域,哥倫比亞大學的Henderson和Feiner[14]開發了一個面向狹小空間的增強現實輔助裝配系統,實驗人員佩戴AR眼鏡,通過文本、標簽、箭頭和動畫的引導在狹窄的炮塔內安裝緊固件、指示燈以及線纜等零件,實驗結果表明在狹小空間內使用增強現實系統輔助裝配時可以減少操作人員頭部的移動次數。
受Feiner等工作的啟發,王增磊等[15]對手工裝配中遇到的盲區問題,利用增強現實技術將盲區信息直觀呈現給工人。該方法根據待裝配對象可見部分的大小使用HTC vive的2個手柄或通過leap motion對手的追蹤間接估計待裝配對象位姿,并利用vive頭盔顯示增強現實場景和裝配體模型。這種方法很大程度上解決了盲區不可見部分的裝配難題,但是基于傳感器的追蹤方法極易受到外部環境的干擾,導致模型抖動或丟失,因此,很難適用于高精度的裝配場景。此外,調研發現工人在制造現場作業時不喜歡佩戴頭盔,這會給工作帶來諸多不便,如增加工作負荷等。
本文在前述研究的基礎上提出一種精確、魯棒基于機器視覺的定位追蹤方法,并將該方法應用于盲區裝配,同時借助局部誤差放大的原理進行AR可視化引導裝配,從而期望提高裝配精度和裝配效率,降低裝配錯誤率、緩解工人身心疲勞。
基于機器視覺的增強現實盲區裝配總體工作流程如圖1所示,總共包括3個部分:①標志點橢圓的識別和檢測;②盲區對象的定位追蹤;③盲區裝配信息的AR可視化。在開始階段,使用相機采集盲區裝配現場的圖像,通過圖像預處理降低圖像噪聲,采用輪廓查找、橢圓擬合等方式識別標志點橢圓,由于標志點貼在盲區待裝配對象的外表面,所以通過對橢圓的定位追蹤就可以實現盲區待裝配對象的定位追蹤,并通過解PnP問題,實現橢圓中心點3D世界坐標與2D像素坐標的轉換,從而求得相機的位姿(R/T),將位姿信息傳入unity3D中,與unity3D中的模型實現虛實結合。最后根據虛實結合注冊的結果,將裝配引導信息通過投影的方式在裝配環境中疊加,同時借助局部誤差放大的原理進行AR可視化引導裝配。

圖1 盲區裝配總體工作流程圖
識別和檢測橢圓標志點是為了實時定位追蹤與標志點綁定的盲區待裝配對象,本文橢圓標志點的識別和檢測技術流程如圖2所示。

圖2 橢圓識別檢測流程
由于受光照、環境等眾多因素的影響,相機采集的圖像總是會存在許多噪聲,而這些噪聲會對檢測識別橢圓帶來一定影響,因此采集到原始圖像后,需要對這些圖像進行圖像預處理,以有效降低由于噪聲和失真變形對后續識別算法造成的干擾。首先對原始圖像灰度化處理后進行高斯濾波,然后采用Hough PV所提出的最大類間方差法[16](OTSU)圖像二值化處理,再利用canny邊緣檢測算子提取二值圖像中的有效邊緣輪廓,得到的邊界輪廓上的像素點集并不是完整的輪廓曲線,因此再對使用鏈表結構形式儲存的輪廓信息進行遍歷篩選,經篩選處理得到完整的二維輪廓曲線。為了提高橢圓檢測精度,需要將橢圓識別實現亞像素精度定位,為此對已查找到的輪廓邊緣像素點集,通過使用最小二乘法[17]進行橢圓擬合,從而計算出橢圓中心點的亞像素精度坐標位置。橢圓的一般方程為
Ax2+Bxy+Cy2+Dx+Ey+F=0
(1)
運用最小二乘法進行橢圓擬合,即最小化輪廓邊緣像素點集與擬合橢圓之間的距離度量。距離度量指的是平面內一點(x0,y0)到橢圓方程f(x,y)=0所代表的代數距離即f(x0,y0)。為了避免方程零解,令A+C=1,設查找到的某個輪廓邊緣像素點集為Pi(x,y),包含的像素點個數為n,運用最小二乘法計算方程(1)的系數,使得函數
f(A,B,C,D,E)=
(2)
最小。根據極值定理,當f(A,B,C,D,E)最小時,滿足
(3)
根據上述等式得到的線性方程組,以及約束條件A+C=1,就可以計算得到方程系數A,B,C,D,E,F的值。則橢圓中心坐標Pc(Xc,Yc)為
(4)

(5)
橢圓擬合完成后,為了減小圖像中出現的干擾橢圓點,根據橢圓面積和長度進行篩選,精確找到目標標志點橢圓,并輸出橢圓中心點坐標。
對盲區對象的追蹤是通過將橢圓標志點粘貼在盲區對象表面,通過追蹤橢圓的方式間接追蹤盲區待裝配對象。為了確定橢圓粘貼表面的位姿,首先需要標定相機,獲得相機的內參矩陣Mc、相機內參畸變參數矩陣等,然后通過解PnP問題,確定相機在真實世界坐標系下的坐標(3D)與像素坐標下的坐標(2D)之間的轉換關系。PnP問題是求解3D-2D點對運動的方法,描述了當知道n個三維空間點坐標及其二維投影位置時,如何估計相機的位姿。在1幅圖像中,最少只要知道3個點的空間坐標即3D坐標,就可以用于估計相機的運動以及相機的姿態。而特征點的空間世界坐標,可以通過深度圖來確定,亦可在初始化時,通過設定世界坐標系的方法解得,由于本文使用單目相機,因此通過設計1個大橢圓、3個小橢圓標志點以橢圓所在平面為世界坐標XY平面,并以大橢圓標志點中心坐標作為原點確定世界坐標系(Z坐標設為0),并按照順時針方向逐個確定3個小橢圓的世界坐標,又通過橢圓檢測可以確定對應的橢圓中心點像素坐標,因此通過公式
(6)
可以確定矩陣[R|t],其中R是旋轉矩陣,t是位移向量。在(6)式中
(7)
相機的內參矩陣為
(8)
求得矩陣[R|t]后,就可以完成從世界坐標系到相機坐標系的轉換。如果世界坐標系為X,相機坐標系對應坐標為X′,那么X′=[R|t]·X。從相機坐標系到理想像素坐標系的變換就需要內參數矩陣Mc。那么理想像素坐標系L=Mc·[R|t]·X。
在知道真實世界坐標系與像素坐標系的轉換關系后,可以獲得橢圓標志點所在的平面的位置和姿態,在unity3D虛擬世界中,通過給虛擬“十字”模型賦值的方式,使“十字”模型位于虛擬相機坐標系下4個橢圓的正中心之間的位置,通過實時追蹤橢圓標志點,無論怎么移動和旋轉待裝配對象,十字模型也會隨橢圓標志點所在的平面移動和旋轉,與橢圓的相對位置始終保持不變。
在unity3D虛擬世界中,通過將“十字”模型疊加到視頻流中裝配體表面,可以實現“十字”模型隨裝配體移動而移動,為了在真實世界中實現盲區裝配,需要將unity3D中的裝配信息進行AR可視化處理,從而實現操作者在信息的引導下有效地完成盲區的裝配。

圖3 投影位置局部放大示意圖

系統的軟件架構主要由四部分構成,即服務器與客戶端的通信和數據共享、基于人工標識的定位追蹤算法、盲區的可視化與裝配引導信息的虛實融合以及相機投影儀對的標定。整個架構基于unity3D和visual studio(C/C++)開發,通過把基于人工標識的定位追蹤信息以DLL的形式嵌入到unity3D的工程中,并以投影儀的形式實現AR可視化裝配引導。
為驗證該方法對盲區裝配的影響,設計了1套盲區裝配硬件系統。如圖4所示,系統由投影儀、USB相機、上下接插件以及運行程序的服務器組成。在實驗的過程中需要將上接插件底部的針腳準確插入到下接插件內部對應的針孔里,針腳和針孔模型示意圖如圖5所示。由于針腳被固定在一個較大的形體底面,因此在整個裝配過程中針孔和針腳完全被形體所遮擋,實際裝配過程中只能通過經驗以及不斷試探,才能完成工作。

圖4 系統硬件圖

圖5 針腳和針孔模型示意圖
本實驗中共有20人參與實驗,17位男性,3位女性,所有人都有AR/VR方面的實驗經驗。實驗中,參與者分別在有AR引導下進行裝配和無AR引導下進行裝配,因此本用戶研究實驗為組內設計。為了平衡學習效應的影響,打亂相鄰2組的參與者參與實驗的條件順序,如:前面一組先做有AR引導的盲區裝配,后做無AR引導的盲區裝配,后面一組參與實驗的條件順序正好相反。
有AR引導的盲區裝配實驗場景如圖6所示。實驗開始時,實驗工作人員開始計時,參與者從固定位置拿起上接插件,移動上接插件將紅色十字架對準綠色十字架(見圖6a)),當2個十字架之間的距離接近于零時注意觀察距離偏差放大圖(見圖6b)),直到二者之間的距離為零時平穩地將上接插件的針腳準確插到下接插件的針孔里,完成裝配后結束計時同時記錄是否裝配正確,unity3D中的運行界面如圖6c)所示。

圖6 AR引導盲區裝配實驗場景
本節中通過裝配完成的時間間接衡量裝配效率,時間越短,則說明效率越高,反之。同時,對裝配過程中的錯誤率進行了統計。由于本章實驗設計是采用組內實驗設計,因此對時間變量和錯誤率進行配對樣本T檢驗。最后,對問卷結果進行分析。
2.3.1 裝配完成時間
如圖7所示,有AR引導的盲區裝配平均時間(4.48±1.21 s)與無AR引導的盲區裝配平均時間(8.47±2.75 s)相比有顯著的差異。

圖7 裝配完成時間
2.3.2 裝配錯誤率
對于裝配錯誤率采用公式(9)計算

(9)
如圖8所示,有增強現實輔助下的裝配錯誤率(0.00±0.00)與無增強現實輔助下的裝配錯誤率(0.26±0.12,p<0.05)相比有顯著性差異。

圖8 裝配錯誤率
本文針對手工裝配中的盲區裝配作業難題,提出了一種基于增強現實的盲區裝配方法。該方式首先利用基于機器視覺的定位追蹤方法對待裝配零件進行定位追蹤,然后利用誤差放大的AR可視化效果進行引導裝配,最后設計并實施了基于增強現實的盲區裝配實驗,對裝配效率及錯誤率進行評估。實驗結果表明本文方法能顯著提高盲區裝配作業的效率,并能有效降低裝配錯誤率。