趙 迪,徐 臻,胡立宏,李西興
(湖北工業(yè)大學機械工程學院,湖北 武漢 430068)
增強現(xiàn)實(AR)技術是將真實環(huán)境與計算機虛擬信息相融合,通過全息設備展現(xiàn)給用戶,增強用戶感知的技術。
隨著增強現(xiàn)實產(chǎn)品的成熟,其在機械裝配上的應用與研究有一定成效。其主要的應用方向有兩種,AR輔助裝配和AR虛擬裝配[1-2]。文獻[3]AR輔助裝配位姿估計方法,使用SIFT特征點匹配和PNP方法對裝配基體位姿進行位姿估計,使用LINEMOD算法對裝配零部件進行位姿估計能夠準確的進行裝配基體與零部件的空間注冊,但未對零件配合做智能規(guī)劃。文獻[4]對動態(tài)視覺手勢識別下的裝配時序控制的研究,通過識別信號控制增強現(xiàn)實裝配引導系統(tǒng),提供了智能防錯方法,但其裝配只是到位置配合,忽略了零件之間的配合關系。文獻[5]基于HoloLens的汽車主減速器虛擬裝配設計,介紹了使用HoloLens為平臺實現(xiàn)AR裝配的大概流程,對后者研究有借鑒意義,但未落到細節(jié)的如何裝配上。
對于AR裝配中的最后環(huán)節(jié),零件是如何進行準確配合的,目前沒有完整的可供參考的AR裝配設計。若采用CAD中的配合方式,則喪失了AR裝配的優(yōu)勢。若是完全采用碰撞檢測的方式進行兩零件的裝配,對計算機的性能要求更高,不方便虛擬操作人員的控制且裝配效率不高。
針對以上問題,這里采取基于零件特征識別的方式,將零件可能需要進行裝配的軸與面提取出來,進行AR裝配時對手移動零件的全息影像與待裝配基體的可能需要裝配特征進行檢測,當檢測到滿足裝配要求時的位置時,對兩零件進行快速自動配合。從而實現(xiàn)對裝配精度的要求,以及提高AR裝配的效率和操作者的沉浸感。
這里系統(tǒng)的實現(xiàn)技術方案包括兩個階段,如圖1所示。離線任務階段先采用PCL對設計的零件模型進行幾何特征識別,識別軸孔與平面,并將其向量特征輸出。將零件與包含特征的腳本導入到Unity3D中,隨后進行AR虛擬裝配的系統(tǒng)設計,最后發(fā)布在HoloLens平臺中,實現(xiàn)對零件全息圖像的手動裝配。
圖1 AR裝配技術方案Fig.1 AR Assembly Technology Scheme
在線處理需要對零件特征向量,起點坐標進行世界坐標的轉化,隨后對裝配是否滿足配合要求進行計算。裝配時對手勢實時檢測,實現(xiàn)零件的拖動,旋轉與配合。
傳統(tǒng)的CAD配合方法需要人來選定軸,面等特征。這里中進行零件的特征識別,主要是進行孔,軸,平面的特征識別[6]。對一個零件的所有平面與曲面進行分割,然后輸出所有特征的方向向量以及向量起點。
在進行圖像分割時,Hough 變換與RANSAC(Random Sample Consensus)是常見的兩種選擇。Hough變換時在檢測復雜模型時具有較大的時間和空間開銷,主要用于圖像領域。而RANSAC方法目前已經(jīng)有較為成熟的實現(xiàn),對于點云檢測基元的效率已經(jīng)做了大量優(yōu)化。
這里中,特征識別的主要對象是平面與圓柱面,可調用PCL點云庫中RANSAC算法相應的特征識別函數(shù)。
RANSAC基本思路是先根據(jù)具體問題設計出求解模型,然后通過反復提取最小點集估計出模型中參數(shù)的初始值,利用初始值把數(shù)據(jù)分為所謂的“內點”和“外點”,最后反過來通過所有的內點重新計算估計模型中的參數(shù)[7]。
使用PCL 點云庫RANSAC 分割算法,對于不同的點云數(shù)據(jù)以及分割類型需要設置合適的參數(shù)。
其參數(shù)包括閾值N,迭代次數(shù)k,對圓柱面分割還有表面法線權重系數(shù)τ和估計圓柱模型半徑范圍R。這里中對實驗零件的點云分割進行多次的實驗分析,最后采用的具體參數(shù),如表1所示。
表1 RANSAC分割算法參數(shù)設置表Tab.1 RANSAC Segmentation Algorithm Parameter Setting Table
通常我們得到的零件可能是SolidWorks模型,Pro/E模型,或者是3DsMax模型,都可以在對應軟件內導出Obj通用格式的文件。但是這種格式的文件,Mesh 網(wǎng)格的密度不均勻,需要在MeshLab中對網(wǎng)格先進行中值均勻化,再導出合適的零件點云。零件的預處理流程,如圖2所示。
圖2 零件預處理流程圖Fig.2 Flow Chart of Part Pretreatment
處理后的點云數(shù)據(jù)進行體素化濾波,和法線估計后即可進行RANSAC算法進行分割。先將零件的所有平面進行分割,直到不存在閾值N范圍內的平面,然后識別剩余點云的數(shù)據(jù)中的圓柱面。最后將所有平面與圓柱面在零件坐標系下的向量數(shù)據(jù)輸出。
圖3 RANSAC分割結果Fig.3 Segmentation Results of RANSAC
使用RANSAC 算法在進行零件的平面及圓柱面分割時,其分割結果清晰,產(chǎn)生的向量起點與向量方向的數(shù)據(jù),如表2所示。對于特征向量位置起點具有毫米級別的精度,可滿足進行自動配合判別的要求。向量方向由于模型多數(shù)為平行于坐標系某一平面建模,向量輸出結果平行于某一軸的值為1。
表2 特征向量輸出表Tab.2 Output Table of Eigenvectors
4.1.1 坐標轉換
為了在裝配坐標系中,對零件與基體裝配。需要對世界坐標系中零件的向量特征做坐標轉換。
分別對向量的方向進行三維旋轉變換,與對向量的起點做空間坐標轉換。
使用羅德里格旋轉公式可計算三維空間一個向量繞旋轉軸旋轉給定角度θ以后得到的新向量。
假設旋轉軸的單位向量k和空間方向向量v分為:
旋轉后的向量可表示為:
式中:R表示為:
對零件進行xyz軸進行三次旋轉變換,旋轉角度θ零件在Unity3D裝配空間中的Rotation,如圖4所示。
圖4 零件世界坐標系中的位置Fig.4 Position of Parts in the World Coordinate System
同時需要對向量原點進行坐標轉換,零件坐標系下的坐標(Xp,Yp,Zp)轉換到世界坐標系下(Xw,Yw,Zw):
其中旋轉矩陣如下:
點坐標進行旋轉變換后,對點進行坐標的平移轉化即可得到世界坐標點(Xw,Yw,Zw)。
4.1.2 自動配合判斷
將所有零件特征的局部坐標轉化為裝配時的世界坐標后,則可以對零件的自動裝配進行判斷。
同軸自動配合,要求當軸的軸心線u與軸系零件的軸心線v靠近時,這時對軸與軸系零件進行同軸自動配合。
分別對軸心線的夾角與距離進行判斷??臻g直線的夾角為:
假設軸中心線起點為計算向量起點的距離()x0,y0,z0,孔的中心線起點為()x,y,z。
則孔與軸的距離d為:
當手動移動零件使得兩零件的軸心線同時滿足以下要求時,進行同軸化配合。
同理可對平面自動配合進行判斷,兩平面的法向量平齊且向量起點接近時對零件的平面進行自動配合。
對于齒輪等復雜幾何平面,其在進行面分割時得到的數(shù)據(jù)不足,不滿足完成準確配合的要求。或者產(chǎn)生許多不屬于裝配接觸面的向量特征,應適當增加配合特征信息,并刪減非主要配合的向量特征,減小進行自動化配合判斷的計算量。
通過添加輔助配合特征的方式,較為復雜零件也可以通過同軸配合以及平面配合進行位置是否準確的判斷,實現(xiàn)零件位姿準確配合。
這里采用HoloLens的手動跟蹤功能,進行AR裝配。在該系統(tǒng)中以抓取和拖拽作為主要的手勢交互方式[8],兩者的具體操作和表達含義,如表3所示。
表3 手勢操作及表達含義Tab.3 Gesture Operation and Expression
其手勢裝配操作流程,如圖5所示。在進行手動拖動零件進行裝配時,對零件的平面與軸面是否與基體進行配合實時計算,當檢測到向量符合3.1自動配合臨界條件時,對操作者是否繼續(xù)拖動進行二次判斷,因為這時操作者的主觀意愿可能并非是進行當前的配合,需要繼續(xù)進行觀測,若操作者的后續(xù)拖動位移仍然在配合得區(qū)間內,或者已經(jīng)松開零件則進行當前的自動配合[9]。
圖5 手勢裝配操作Fig.5 Gesture Assembly Operation
進行的時零件與基體的孔軸配合與平面重合配合,首先是先抓取零件,如圖所示抓取后的手會顯示為握緊狀態(tài),如圖6所示。當軸線與孔中心線的角度接近,且位置接近時,自動進行同軸配合。隨后繼續(xù)拖動零件,在當平面的距離接近時,自動的進行平面配合。最后松開手指完成裝配。
圖6 人機交互AR虛擬裝配步驟Fig.6 Human-Computer Interaction AR Virtual Assembly Steps
這里中將此方法應用在二級減速器的虛擬裝配系統(tǒng)中。二級減速器作為機械本科生中必不可少的學習內容,AR裝配能提高學生的學習興趣和主動性,有效緩解高效實驗設備短缺實驗場地資金不足等問題。
圖7 舊版本VR虛擬裝配平臺Fig.7 Old VR Virtual Assembly Platform
根據(jù)系統(tǒng)開發(fā)步驟,完成減速器零件的特征分析,然后將模型導入Unity3D進行虛擬裝配邏輯設計,UI需求設計和手動跟蹤控制設計,最后在Unity開發(fā)環(huán)境中選擇二級減速器虛擬裝配系統(tǒng)中的場景,并在Universal Windows Platform 下進行發(fā)布,使用Microsoft Visual Studio開發(fā)環(huán)境將減速器虛擬裝配系統(tǒng)App安裝部署到HoloLens 中,用戶即可在HoloLens 中打開系統(tǒng)App 測試系統(tǒng)的各個功能。
圖8 HoloLens AR虛擬裝配平臺Fig.8 HoloLens AR Virtual Assembly Platform
與傳統(tǒng)的VR 裝配比較,AR裝配可利用HoloLens的核心能力Spatial Mapping(空間映射),將場景內的整體虛擬對象放置在實際物體表面上從而增強系統(tǒng)的真實性。操作者可以將減速器放置在桌面上進行裝配,如圖9所示。
圖9 減速器放置在真實桌面上Fig.9 The Reducer is Placed on a Real Desktop
為驗證使用該方法在進行裝配的優(yōu)勢,對十位機械專業(yè)的實驗者進行相同時間的操作訓練,針對二級減速器從動軸系,分別使用SolidWorks,AR自動配合裝配與VR虛擬裝配進行三次裝配實驗。進行AR手勢自動配合裝配的場景,如圖10所示。
圖10 減速機從動軸系AR裝配Fig.10 AR Assembly of Driven Shafting of Reducer
實驗主要分析使用不同減速器裝配平臺的裝配效率,裝配效果以及交互性[10]。裝配效率為十位操作者的在不同裝配平臺上完成減速器從動軸系的平均操作時間。裝配效果為零件的裝配位置是否精確,裝配的方向性是否正確。交互性則包括視覺沉浸感,操作方式是否符合直覺。
操作者進行三組實驗之后,對是否滿足對裝配效果和交互性進行判斷,滿足則記一分,最后統(tǒng)計十位同學的總評分。實驗結果,如表4所示。
表4 從動軸系裝配實驗數(shù)據(jù)比對Tab.4 Comparison of Experimental Data of Driven Shafting Assembly
實驗數(shù)據(jù)表明具有自動配合功能的AR裝配,在裝配效率上具有明顯的優(yōu)勢,比傳統(tǒng)的SolidWorks 裝配在效率上提高了15.6%。同時在交互方式上更符合人的裝配經(jīng)驗。
(1)分析了AR 裝配過程中對零件準確裝配的難點問題,提出基于特征識別的AR裝配自動配合方法,以提高其裝配效率。
(2)使用RANSAC算法提取出零件的平面與孔軸特征,避免人為在三維軟件中對特征向量的檢索,提高系統(tǒng)的自動化水平。
(3)設計軸孔配合以及平面重合配合的檢測方法和在手勢裝配中自動配合流程,降低自動配合的誤操作可能性。
使用本方法搭建的二級減速器虛擬實驗平臺,經(jīng)實驗表明在裝配效率上與傳統(tǒng)方式相比具有較大提升。在進行裝配操作訓練時更加快捷方便,可適用于機械類高校實踐教學。