曾澤欽,陳 燕,鄒湘軍,李承恩
(華南農(nóng)業(yè)大學(xué)工程學(xué)院/南方農(nóng)業(yè)機(jī)械與裝備關(guān)鍵技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510642)
虛擬現(xiàn)實(shí)技術(shù)在工業(yè)、農(nóng)業(yè)、軍事、醫(yī)學(xué)和教育等各個(gè)應(yīng)用領(lǐng)域已取得許多研究成果[1-5]。虛擬仿真技術(shù)有安全可靠、重復(fù)性高的特點(diǎn),而機(jī)械裝配是機(jī)械制造過程中的重要環(huán)節(jié),虛擬裝配可以提高產(chǎn)品的裝配效率,降低產(chǎn)品的開發(fā)成本[6-8]。
文獻(xiàn)[9]對虛擬環(huán)境下線纜的裝配仿真技術(shù)進(jìn)行了研究。文獻(xiàn)[10-11]也以農(nóng)機(jī)關(guān)鍵零部件進(jìn)行虛擬裝配研究。但是上述研究使用鍵盤與鼠標(biāo)進(jìn)行虛擬裝配,缺少沉浸性以及交互性。
文獻(xiàn)[12-16]在虛擬現(xiàn)實(shí)以及機(jī)器視覺領(lǐng)域均開展了大量研究。結(jié)合仿真,有學(xué)者利用多目視覺在動(dòng)態(tài)曲面變形跟蹤與三維重構(gòu)取得成果[17-19]。此外,許多研究者利用虛擬現(xiàn)實(shí)與機(jī)器視覺等技術(shù)結(jié)合實(shí)現(xiàn)虛擬裝配的應(yīng)用[20-24]。分別使用Leap Motion 傳感器[20-21]、文獻(xiàn)[22-23]以及結(jié)合視覺算法[24]將人的行為傳入虛擬環(huán)境中模擬出人的行為。使用傳感器將人的行為傳入虛擬平臺(tái),具有交互性好、沉浸性高以及對實(shí)際工作指導(dǎo)作用明顯的優(yōu)點(diǎn)。且使用相機(jī)的成本遠(yuǎn)低于數(shù)據(jù)手套、Kinect等設(shè)備。
基于以上認(rèn)識(shí),以變速箱裝配為例,采用Unity3D構(gòu)建虛擬裝配平臺(tái),結(jié)合雙目立體視覺系統(tǒng)實(shí)現(xiàn)交互式虛擬裝配,為后續(xù)開發(fā)的農(nóng)機(jī)產(chǎn)品虛擬裝配平臺(tái)和實(shí)現(xiàn)產(chǎn)品的虛擬制造提供技術(shù)支持。
所構(gòu)建的基于視覺感知的交互式虛擬裝配系統(tǒng),以二級(jí)變速箱為例,應(yīng)用Unity3D以C#編程語言建立虛擬裝配平臺(tái),基于OpenCV視覺庫構(gòu)建雙目立體視覺系統(tǒng)獲取現(xiàn)實(shí)中手的命令信息與位置信息。完整的系統(tǒng)結(jié)構(gòu),如圖1所示。它分別由虛擬裝配平臺(tái)和雙目立體視覺系統(tǒng)組成。交互式虛擬裝配前,需對相機(jī)進(jìn)行立體標(biāo)定以及獲取手部命令樣本訓(xùn)練SVM(支持向量機(jī))分類器。裝配期間,雙目立體視覺系統(tǒng)獲取在試驗(yàn)平臺(tái)范圍內(nèi)的手部圖像,利用顏色空間分割出左、右圖像中的手部,利用已訓(xùn)練好的SVM分類器進(jìn)行分類識(shí)別,獲得手部命令信息。

圖1 視覺感知交互式虛擬裝配系統(tǒng)結(jié)構(gòu)Fig.1 System Structure of Visual Perception Interactive Virtual Assembly
同時(shí),根據(jù)三角測量原理通過視差得出手相對于左相機(jī)成像光點(diǎn)的空間位置信息。虛擬裝配平臺(tái)根據(jù)雙目立體視覺系統(tǒng)得到的檢測結(jié)果在虛擬環(huán)境中控制虛擬手對虛擬變速箱零件進(jìn)行操作,實(shí)現(xiàn)交互式虛擬裝配。
所使用硬件設(shè)備主要包括:(1)2臺(tái)工業(yè)相機(jī)構(gòu)成的雙目立體視覺,分辨率1280×960像素,幀率15fps,鏡頭焦距為8mm;(2)高精度棋盤標(biāo)定板,角點(diǎn)數(shù)量為8×11個(gè),角點(diǎn)距離(30±0.01)mm;(3)筆記本電腦作為圖像處理及虛擬仿真平臺(tái),主要配置:i5-4210處理器、8G內(nèi)存、NVIDIA940M顯卡。系統(tǒng)設(shè)備,如圖2所示。

圖2 系統(tǒng)硬件設(shè)備Fig.2 System Hardware Equipment
對于虛擬仿真場景,三維模型是其重要基礎(chǔ)。虛擬裝配平臺(tái)所需仿真模型主要為變速箱模型以及虛擬手模型。
為減少數(shù)據(jù)量簡化虛擬手模型,在Unity3D中使用多個(gè)立方體組合構(gòu)成虛擬手,指節(jié)之間使用空氣鉸鏈連接,在每個(gè)關(guān)節(jié)點(diǎn)設(shè)置虛擬馬達(dá)以實(shí)現(xiàn)手指彎曲動(dòng)作,如圖3(a)所示。
利用SolidWorks構(gòu)建變速箱模型,將模型轉(zhuǎn)換為FBX 格式導(dǎo)入U(xiǎn)nity3D的虛擬環(huán)境中,通過改變材料與顏色使得其具有高真實(shí)性、高零件辨識(shí)度,如圖3(b)所示。記錄裝配狀態(tài)下變速箱的裝配狀態(tài),包括零件位置信息,安裝位置信息,干涉情況。零件位置信息即每個(gè)零件處于裝配狀態(tài)下的空間坐標(biāo)。安裝位置信息為零件與零件直接的配合關(guān)系,如軸孔相對位置,如圖3(c)中綠色立方體表示變速箱下端蓋所對應(yīng)的安裝位置。干涉情況即裝配狀態(tài)下零件之間的干涉情況,如裝配狀態(tài)下銷孔配合處存在干涉。記錄下變速箱裝配狀態(tài)后,將變速箱有序拆分并放置在顯眼的地方,同時(shí)記錄拆分狀態(tài)下的裝配狀態(tài),如圖3(d)所示。

圖3 虛擬三維模型Fig.3 Virtual 3D Model
虛擬對象的行為表達(dá)由行為模型與認(rèn)知模型構(gòu)成[25]。行為模型是虛擬對象對外部變化的直接反應(yīng),所模擬的行為應(yīng)符合現(xiàn)實(shí)世界中的基本運(yùn)動(dòng)和行為規(guī)律;認(rèn)知模型是虛擬角色對獲取的信息進(jìn)行分析、決策執(zhí)行過程的一種描述。
假設(shè)行為的表達(dá)規(guī)則是規(guī)則R的集合[26],定義為:

對任意行為有如下規(guī)則描述:根據(jù)第j個(gè)規(guī)則,對條件Fj推理并決策,決策結(jié)果傳輸?shù)綀?zhí)行節(jié)點(diǎn)輸出行為Aj,與其他行為產(chǎn)生的可視化現(xiàn)象為Pj,定義為:

根據(jù)虛擬裝配作業(yè)狀況,行為表達(dá)規(guī)則描述列舉如下:
R1:IF 現(xiàn)實(shí)手處于展開狀態(tài)THEN 虛擬平臺(tái)中的虛擬手處于展開狀態(tài)SHOW AS 虛擬手不會(huì)抓取零件OR 將前一刻抓取的零件放下。
根據(jù)行為表達(dá)規(guī)則,虛擬環(huán)境中虛擬手部與變速箱零件間的交互規(guī)則,如圖4所示。虛擬裝配平臺(tái)獲取雙目立體視覺系統(tǒng)得出的手部位置信息與手部命令識(shí)別信息,根據(jù)手部位置信息在虛擬環(huán)境下對應(yīng)位置生成虛擬手。根據(jù)手部命令信息控制虛擬手射出射線,若是展開命令,不發(fā)射或停止射線,若是握拳命令,生成射線。當(dāng)射線與對應(yīng)零件相交,可根據(jù)手部位置信息改變對應(yīng)零件位置,從而實(shí)現(xiàn)抓取與移動(dòng)零件的功能。抓取零件后,若手部命令為展開,虛擬手停止生成射線,與零件斷開聯(lián)系,并判斷零件是否到達(dá)安裝位置,若達(dá)到安裝位置,零件移動(dòng)至安裝位置,之后當(dāng)零件與安裝位置重合,判斷該零件是否正確安裝,并給出警告。

圖4 虛擬裝配的交互規(guī)則Fig.4 Interaction Rules of Virtual Assembly
視角變化是影響虛擬沉浸性的重要部分。虛擬交互裝配期間的視角采用俯視視角,并跟隨虛擬手運(yùn)動(dòng)。此時(shí)視角控制的定義為:

式中:φx0,φy0,φz0—觀察視角下Camera 對象旋轉(zhuǎn)的角度,°;T0—Camera對象的平移矩陣,mm;(x0,y0,z0)—實(shí)際環(huán)境下手部相對于左相機(jī)成像光點(diǎn)的空間坐標(biāo),mm;C0—常數(shù),表示在虛擬環(huán)境下虛擬攝像機(jī)對象相對于坐標(biāo)原點(diǎn)的高度信息,mm。
相機(jī)因?yàn)橹圃斓脑?,獲得的圖像存在畸變,需要通過標(biāo)定,從數(shù)學(xué)上解決畸變的問題。雙目立體視覺系統(tǒng)由2個(gè)USB接口工業(yè)相機(jī)組成。根據(jù)張正友標(biāo)定法,采用黑白棋盤標(biāo)定板對雙目立體視覺系統(tǒng)進(jìn)行標(biāo)定,求解相機(jī)的內(nèi)部參數(shù)(焦距、鏡頭徑向失真系數(shù)等)和外部參數(shù)(攝像機(jī)位置與方向、掃射角和傾斜角)。
運(yùn)用提前訓(xùn)練好的分類器進(jìn)行識(shí)別能夠有效的提高試驗(yàn)期間的識(shí)別效率。SVM分類器需要在試驗(yàn)前進(jìn)行訓(xùn)練,通過試驗(yàn)平臺(tái)獲取手部展開的圖像與手部握拳的圖像并打上標(biāo)簽,如圖5所示。手部展開的圖像標(biāo)簽為1,握拳的圖像標(biāo)簽為0。線性SVM分類器的優(yōu)化目標(biāo)是邏輯回歸優(yōu)化目標(biāo)的線性近似,定義為:

圖5 采集的樣本Fig.5 Collected Sample

其中,

式中:C—常數(shù)項(xiàng);m—樣本數(shù);n—特征數(shù);θT—特征組成的向量;(x(i),y(i))—第i個(gè)樣本;hθ(x)—SVM的假設(shè)模型。
在試驗(yàn)環(huán)境下雙目相機(jī)獲取的手部左圖像,如圖6(a)所示。將原圖的顏色空間RGB轉(zhuǎn)換為HSV(Hue,Saturation,Value),如圖6(b)所示。再對其進(jìn)行自適應(yīng)閾值分割將手部與背景分離,如圖6(c)所示。為了獲得更好的分割效果,對閾值分割出的圖像進(jìn)行形態(tài)學(xué)閉運(yùn)算,如圖6(d)所示。之后利用輪廓外接矩形與凸包檢測將手部框選,如圖6(e)所示。最后在原圖中將框選部分截取并利用已訓(xùn)練好的SVM分類器進(jìn)行分類識(shí)別,如圖6(f)所示。

圖6 手部圖像分割Fig.6 Segmentation of Hand Image
通過對左、右圖像中的手部圖像分割識(shí)別后,可以得到框選出來的手部在左、右圖像中的像素點(diǎn)坐標(biāo)。如圖7所示,根據(jù)三角測量原理可以通過視差計(jì)算出點(diǎn)的深度方向上的空間距離,計(jì)算公式如下:

圖7 視差求取深度信息示意圖Fig.7 Schematic Diagram of Obtaining Depth Information by Parallax

式中:D—左右攝像機(jī)光軸的距離,m;Z—目標(biāo)在視覺系統(tǒng)下的深度信息,m;f—焦距,m;xl—左圖像中對應(yīng)點(diǎn)的橫坐標(biāo),m;xr—右圖像中對應(yīng)點(diǎn)的橫坐標(biāo),m。
為驗(yàn)證和考察所構(gòu)建系統(tǒng)的穩(wěn)定性和基于視覺感知的交互式虛擬裝配性能,首先對所構(gòu)建的雙目立體視覺系統(tǒng)進(jìn)行測試,然后進(jìn)行虛擬裝配試驗(yàn)。試驗(yàn)設(shè)計(jì)如下:
5.1.1 手部位置信息準(zhǔn)確性試驗(yàn)
人手懸空會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,為驗(yàn)證雙目立體視覺系統(tǒng)獲取手部位置信息的準(zhǔn)確性,試驗(yàn)設(shè)計(jì)了真手與假手2種對象,以雙目立體視覺系統(tǒng)獲取約300對測試圖像,根據(jù)三角測量原理獲取手部位置坐標(biāo),重復(fù)3次。根據(jù)獲取的數(shù)據(jù),采用下式求解出閾值用于補(bǔ)償因抖動(dòng)現(xiàn)象所造成的真手與假手位置信息的誤差,提高雙目立體視覺系統(tǒng)輸出位置信息的準(zhǔn)確性。

式中:e—閾值,mm;(xi,yi,zi)—第i個(gè)關(guān)鍵點(diǎn)的空間坐標(biāo),mm。
5.1.2 分類器性能測試與交互性試驗(yàn)
為了測試SVM分類器性能,同時(shí)驗(yàn)證雙目立體視覺系統(tǒng)實(shí)時(shí)性。通過控制虛擬手抓取零件,分析其抓取情況,計(jì)算出分類器的成功率、精確率、召回率。之后對雙目視覺算法運(yùn)算耗時(shí)狀況進(jìn)行統(tǒng)計(jì)并分析。

式中:ωs—成功率;ωp—精確率;ωr—召回率;F1—ωp和ωr的調(diào)和平均數(shù);ntest—測試樣本數(shù);Pt—正例正確分類為正例;Nt—負(fù)例正確分類為負(fù)例;Pf—負(fù)例錯(cuò)誤分類為正例;Nf—正例錯(cuò)誤分類為負(fù)例;
5.1.3 交互式虛擬裝配試驗(yàn)
實(shí)踐民俗學(xué)研究一定要注意個(gè)體敘事是流動(dòng)的、變化的文本。其實(shí)集體敘事也是靠個(gè)體講述的,不同的個(gè)體在不同的實(shí)踐目的下,即便是講述同一個(gè)集體敘事,也會(huì)呈現(xiàn)出千差萬別的形式,其根本原因就在于集體敘事實(shí)際上是不同交流實(shí)踐的不同結(jié)果??傊?,個(gè)體敘事概念的提出,實(shí)際上可以反思原來的民間文學(xué)文本分析的各種研究范式,它為我們呈現(xiàn)出闡釋民間文學(xué)的另一種視角,即實(shí)踐的視角,也就是我們所說的實(shí)踐民俗學(xué)的視角。
應(yīng)用基于視覺感知的交互式虛擬裝配系統(tǒng)進(jìn)行變速箱裝配試驗(yàn),試驗(yàn)20次。每次試驗(yàn)后統(tǒng)計(jì)試驗(yàn)的路徑長度、安裝耗時(shí)、安裝結(jié)果。其中路徑長度與所獲取手部位置坐標(biāo)之間的關(guān)系為:

式中:L—路徑長度,m;K—所獲取手部位置數(shù)。
5.2.1 手部位置信息的穩(wěn)定性
通過試驗(yàn)得到的手部在靜止?fàn)顩r下各個(gè)方向上的測量平均偏差,如表1所示。根據(jù)表1數(shù)據(jù)由式(7)可以計(jì)算得到閾值下限為9.4006mm,取閾值為10mm 補(bǔ)償因抖動(dòng)現(xiàn)象造成的位置信息誤差。

表1 靜止?fàn)顩r下的測量平均偏差Tab.1 Average Measurement Deviation of Static Conditions
5.2.2 分類器測試結(jié)果與算法耗時(shí)
使用160張測試樣本對所構(gòu)建的SVM 分類器進(jìn)行測試,計(jì)算得出成功率為92.45%,精確率為98.65%,召回率為86.90%,F(xiàn)1值為92.41%。表明SVM分類器工作效果良好。
進(jìn)行識(shí)別定位前,需要先載入訓(xùn)練好的SVM分類器,耗時(shí)約1s。每幀手部識(shí)別與定位消耗時(shí)間集中于(65~80)ms的范圍帶,如圖8所示。表明雙目立體視覺系統(tǒng)的算法運(yùn)行不會(huì)影響到軟件的運(yùn)行流暢性,具有實(shí)時(shí)性。

圖8 視覺檢測算法耗時(shí)分布圖Fig.8 Time-Consuming Distribution of Visual Detaction Algorithm
5.2.3 零件裝配試驗(yàn)狀況分析
虛擬環(huán)境下的裝配過程,如圖9所示。其符合一般裝配操作流程:操作者先定位所需裝配零件的位置,如圖9(a)所示。然后抓取零件并移動(dòng)至于高處,防止橫移時(shí)與其他零件碰撞,如圖9(b)所示。之后移動(dòng)至安裝位置,如圖9(c)所示。最后,在靠近安裝位置后放開零件,完成安裝,如圖9(d)所示。


圖9 虛擬環(huán)境下的裝配過程Fig.9 Assembly Process in Virtual Environment
20次零件裝配試驗(yàn)的結(jié)果,如表2所示。在20次試驗(yàn)中,零件安裝成功18次,失敗了2次,安裝成功率為90%。其中,第一次失敗是操作者對變速箱不熟悉,將軸安裝到另一個(gè)軸孔內(nèi);第二次失敗是因?yàn)橄到y(tǒng)采用俯視視角,容易造成操作者對深度距離把握不足,之后的操作者留意提示后有所改善。

表2 零件裝配試驗(yàn)狀況統(tǒng)計(jì)Tab.2 Statistics of Parts Assembly Test
(1)通過構(gòu)建仿真模型,首先根據(jù)行為推理規(guī)則建立了虛擬裝配平臺(tái);同時(shí)構(gòu)建雙目立體視覺系統(tǒng),基于顏色空間分割手部圖像,通過SVM分類器并根據(jù)三角測量原理得出識(shí)別結(jié)果與位置信息。最后將雙目立體視覺系統(tǒng)得到的結(jié)果傳入虛擬裝配平臺(tái),通過設(shè)定好的閾值控制虛擬手抓取零件,實(shí)現(xiàn)了基于視覺感知的交互式虛擬裝配。
(2)經(jīng)視覺系統(tǒng)驗(yàn)證試驗(yàn),所構(gòu)建雙目立體視覺系統(tǒng)識(shí)別與定位的能力良好,具有實(shí)時(shí)性。多組零件裝配試驗(yàn)表明,交互式虛擬裝配的沉浸度高、交互效果好。
(3)以二級(jí)變速箱為例,對融合機(jī)器視覺感知的交互式虛擬裝配技術(shù)進(jìn)行研究,并對所構(gòu)建系統(tǒng)進(jìn)行了驗(yàn)證。后續(xù)將該系統(tǒng)運(yùn)用到典型農(nóng)機(jī)關(guān)鍵零部件裝配中,如圖10所示。為開發(fā)的農(nóng)機(jī)產(chǎn)品虛擬裝配平臺(tái)和實(shí)現(xiàn)產(chǎn)品的虛擬制造提供技術(shù)支持。

圖10 典型農(nóng)機(jī)零部件模型Fig.10 Typical Agricultural Parts Model