崔健,喻向天,張賽昆,馬冬寶,湯曉華
(1.北京電子科技職業(yè)學(xué)院,北京 102600;2.武漢理工大學(xué),湖北 武漢 430070;3.深圳市物新智能科技有限公司,廣東 深圳 518107)
機(jī)器視覺作為計(jì)算機(jī)科學(xué)和人工智能領(lǐng)域的一個(gè)重要分支,已經(jīng)成為了當(dāng)今社會(huì)中不可或缺的技術(shù)之一。隨著機(jī)器視覺技術(shù)的不斷發(fā)展和應(yīng)用,越來越多的教育機(jī)構(gòu)和培訓(xùn)機(jī)構(gòu)開始注重機(jī)器視覺方面的教育和培訓(xùn)。然而,由于機(jī)器視覺領(lǐng)域的實(shí)驗(yàn)設(shè)備和工具通常價(jià)格昂貴、操作復(fù)雜,以及安全隱患等問題,使得機(jī)器視覺實(shí)驗(yàn)教育受到了一定的限制。
虛擬仿真技術(shù)是一種基于計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺、虛擬現(xiàn)實(shí)等多種技術(shù)的計(jì)算機(jī)輔助教育方法。通過虛擬仿真技術(shù),可以在計(jì)算機(jī)中建立虛擬實(shí)驗(yàn)環(huán)境,并在該環(huán)境中進(jìn)行學(xué)習(xí)和實(shí)驗(yàn),以達(dá)到節(jié)約成本、安全可靠、多角度觀察等優(yōu)點(diǎn)。因此,虛擬仿真技術(shù)逐漸成為了教育領(lǐng)域中一個(gè)非常重要的技術(shù)手段。
基于虛擬仿真的實(shí)驗(yàn)教學(xué)平臺(tái)是指利用虛擬仿真技術(shù),通過數(shù)字化模型、虛擬現(xiàn)實(shí)技術(shù)等手段,模擬實(shí)際操作環(huán)境,讓學(xué)生進(jìn)行虛擬實(shí)驗(yàn)和實(shí)踐操作,以達(dá)到教學(xué)和實(shí)踐的目的。該技術(shù)可以有效地提高實(shí)驗(yàn)教學(xué)的安全性和效率,同時(shí)也可以增強(qiáng)學(xué)生的學(xué)習(xí)興趣和動(dòng)手能力。近年來,基于虛擬仿真的實(shí)驗(yàn)教學(xué)平臺(tái)已經(jīng)成為國內(nèi)外高校和研究機(jī)構(gòu)關(guān)注的熱點(diǎn)領(lǐng)域。
國外基于虛擬仿真的實(shí)驗(yàn)教學(xué)平臺(tái)的研究和應(yīng)用已經(jīng)非常成熟。美國、加拿大、英國、澳大利亞等國家的高校和研究機(jī)構(gòu),早在20 年前就開始研究和應(yīng)用虛擬仿真技術(shù)。比如,美國哈佛大學(xué)的Virtual ChemLab 平臺(tái)可以讓學(xué)生進(jìn)行化學(xué)實(shí)驗(yàn)的虛擬仿真;英國??巳卮髮W(xué)的Virtual Fieldwork 平臺(tái)可以讓學(xué)生進(jìn)行地理實(shí)驗(yàn)的虛擬仿真;澳大利亞昆士蘭大學(xué)的VECCI 平臺(tái)可以讓學(xué)生進(jìn)行商業(yè)運(yùn)營實(shí)驗(yàn)的虛擬仿真。這些平臺(tái)不僅可以提高學(xué)生的學(xué)習(xí)效果,還可以節(jié)省實(shí)驗(yàn)成本和實(shí)驗(yàn)室場(chǎng)地的使用。
在國內(nèi),隨著數(shù)字化轉(zhuǎn)型的加速,基于虛擬仿真的實(shí)驗(yàn)教學(xué)平臺(tái)的研究和應(yīng)用也在不斷發(fā)展。國內(nèi)許多高校和研究機(jī)構(gòu)已經(jīng)開始研究和應(yīng)用這一技術(shù),例如,中國礦業(yè)大學(xué)的Virtual Campus 平臺(tái)可以讓學(xué)生進(jìn)行建筑實(shí)驗(yàn)的虛擬仿真;北京理工大學(xué)的Virtual Lab 平臺(tái)可以讓學(xué)生進(jìn)行機(jī)械實(shí)驗(yàn)的虛擬仿真;清華大學(xué)的Virtual Medical Education Center 可以讓學(xué)生進(jìn)行醫(yī)療實(shí)驗(yàn)的虛擬仿真。這些平臺(tái)不僅可以提高學(xué)生的實(shí)踐能力和動(dòng)手能力,還可以提高教學(xué)效果和教學(xué)質(zhì)量。
雖然國內(nèi)外在基于虛擬仿真的實(shí)驗(yàn)教學(xué)平臺(tái)方面的研究和應(yīng)用有所不同,但是兩者都存在一些共同的問題。例如,如何解決虛擬仿真技術(shù)在模擬真實(shí)環(huán)境方面的局限性、如何提高虛擬仿真技術(shù)的逼真度和交互性、如何保障學(xué)生的實(shí)踐操作安全等問題都需要進(jìn)一步研究和解決。
針對(duì)以上問題,本文針對(duì)機(jī)器視覺領(lǐng)域的教學(xué)需求,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于機(jī)器視覺虛擬仿真的實(shí)驗(yàn)教育平臺(tái)。該平臺(tái)的核心在于利用虛擬仿真技術(shù)實(shí)現(xiàn)了機(jī)器視覺設(shè)備和工具的模擬,以及機(jī)器視覺算法的實(shí)踐。具體地,該平臺(tái)使用Blender 建模技術(shù),將各種機(jī)器視覺設(shè)備和工具進(jìn)行3D 建模,然后將模型導(dǎo)入到Unity 引擎中。通過使用WPF 構(gòu)建控制端,可以實(shí)現(xiàn)對(duì)Unity 場(chǎng)景進(jìn)行操控和操作。此外,平臺(tái)還模擬PLC 控制運(yùn)動(dòng),從而實(shí)現(xiàn)對(duì)機(jī)器視覺相關(guān)算法的學(xué)習(xí)和實(shí)踐。
通過該平臺(tái),學(xué)生可以更加直觀地感受機(jī)器視覺設(shè)備和工具的特點(diǎn)和使用方法,學(xué)習(xí)和掌握機(jī)器視覺相關(guān)算法和技術(shù),并在虛擬實(shí)驗(yàn)環(huán)境中進(jìn)行實(shí)驗(yàn)和練習(xí)。該平臺(tái)具有操作簡(jiǎn)單、成本低、安全可靠、學(xué)習(xí)效果好等優(yōu)點(diǎn),為學(xué)生提供了一個(gè)更加實(shí)際、直觀的學(xué)習(xí)環(huán)境,能夠幫助學(xué)生更好地理解機(jī)器視覺算法的原理和應(yīng)用。
本文的主要工作包括以下幾個(gè)方面:
(1)利用Blender 建模技術(shù),將機(jī)器視覺設(shè)備和工具進(jìn)行3D 建模,并導(dǎo)入到Unity 引擎中,構(gòu)建機(jī)器視覺虛擬仿真場(chǎng)景。
(2)用WPF 構(gòu)建控制端,實(shí)現(xiàn)對(duì)Unity 場(chǎng)景的操控和操作,包括對(duì)機(jī)器視覺設(shè)備和工具的控制、對(duì)PLC 的控制以及實(shí)驗(yàn)數(shù)據(jù)的收集和展示等功能。
(3)通過實(shí)驗(yàn)測(cè)試,驗(yàn)證了該平臺(tái)的可行性和有效性,證明了該平臺(tái)可以提高學(xué)生的學(xué)習(xí)效果和參與度。
本文的組織結(jié)構(gòu)如下:第二部分介紹了機(jī)器視覺虛擬仿真的相關(guān)技術(shù);第三部分詳細(xì)介紹了本文設(shè)計(jì)和實(shí)現(xiàn)的基于機(jī)器視覺虛擬仿真的實(shí)驗(yàn)教育平臺(tái)的設(shè)計(jì)思路和技術(shù)細(xì)節(jié);第四部分對(duì)該平臺(tái)的實(shí)驗(yàn)結(jié)果進(jìn)行了評(píng)估和分析;最后,第五部分為本文的結(jié)論部分,總結(jié)了本文的主要工作和成果,并提出了后續(xù)工作的展望和建議。
機(jī)器視覺算法是一種通過數(shù)字圖像處理和計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)對(duì)圖像中的信息進(jìn)行分析和處理的技術(shù)。機(jī)器視覺算法可以實(shí)現(xiàn)對(duì)圖像中的物體進(jìn)行檢測(cè)、跟蹤、識(shí)別和分類等任務(wù),具有廣泛的應(yīng)用前景,如智能交通、智能制造和智能醫(yī)療等領(lǐng)域。機(jī)器視覺算法中常用的技術(shù)包括圖像處理、特征提取、目標(biāo)檢測(cè)、目標(biāo)跟蹤和圖像分類等。
Blender 建模技術(shù)是實(shí)現(xiàn)機(jī)器視覺虛擬仿真場(chǎng)景的重要工具之一。通過Blender 建模技術(shù),可以將機(jī)器視覺設(shè)備和工具進(jìn)行3D 建模,包括相機(jī)、光源、傳感器、機(jī)械臂等。建模完成后,將模型導(dǎo)出為標(biāo)準(zhǔn)格式,如FBX、OBJ 或DAE 格式,再導(dǎo)入到Unity 引擎中,實(shí)現(xiàn)虛擬場(chǎng)景的構(gòu)建。
Unity 引擎是實(shí)現(xiàn)機(jī)器視覺虛擬仿真場(chǎng)景的關(guān)鍵工具之一。通過Unity 引擎,可以將Blender 建模的模型導(dǎo)入到場(chǎng)景中,并添加材質(zhì)、紋理和動(dòng)畫等效果。同時(shí),Unity 還支持多種腳本語言,如C#和JavaScript 等,可以實(shí)現(xiàn)場(chǎng)景中的交互和控制。
WPF(Windows Presentation Foundation) 是 一種微軟公司開發(fā)的用戶界面框架,可以用于創(chuàng)建基于Windows 操作系統(tǒng)的客戶端應(yīng)用程序。WPF 技術(shù)具有強(qiáng)大的可視化效果和交互性能,支持多種數(shù)據(jù)綁定和樣式模板等高級(jí)特性,可以實(shí)現(xiàn)復(fù)雜的用戶界面設(shè)計(jì)和開發(fā)。
在機(jī)器視覺虛擬仿真教育平臺(tái)中,我們采用WPF 技術(shù)構(gòu)建控制端,對(duì)Unity 場(chǎng)景進(jìn)行操控。通過WPF 技術(shù),可以實(shí)現(xiàn)豐富的用戶界面設(shè)計(jì)和交互功能,包括按鈕、滑塊、文本框、復(fù)選框等控件,以及數(shù)據(jù)綁定和事件處理等高級(jí)特性。
以上是機(jī)器視覺虛擬仿真教育平臺(tái)中涉及到的關(guān)鍵技術(shù)和工具的詳細(xì)介紹。這些技術(shù)和工具的結(jié)合,為機(jī)器視覺虛擬仿真教育平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)提供了有力的支持和保障。
本章節(jié)將詳細(xì)介紹機(jī)器視覺虛擬仿真教育平臺(tái)的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)過程。
機(jī)器視覺虛擬仿真教育平臺(tái)的系統(tǒng)設(shè)計(jì)主要包括以下幾個(gè)方面。
3.1.1整體架構(gòu)設(shè)計(jì)
本系統(tǒng)采用了基于機(jī)器視覺虛擬仿真的實(shí)驗(yàn)教育平臺(tái),其整體架構(gòu)如圖1 所示。
圖1 網(wǎng)絡(luò)架構(gòu)圖
本系統(tǒng)主要由3 部分組成,分別為建模渲染模塊、Unity 控制模塊和WPF 控制模塊。
3.1.2建模渲染模塊
本模塊采用Blender 建模工具進(jìn)行模型的建立和設(shè)計(jì),通過導(dǎo)出FBX 文件的方式將模型導(dǎo)入到Unity 中,并在Unity 中進(jìn)行場(chǎng)景的渲染和動(dòng)畫效果的設(shè)置。具體流程如下:
(1)在Blender 中進(jìn)行機(jī)械臂和物體的建模和設(shè)計(jì)。
(2)將Blender 中的模型導(dǎo)出為FBX 文件。
(3)在Unity 中導(dǎo)入Blender 中導(dǎo)出的FBX 文件,設(shè)置物體的貼圖、材質(zhì)、動(dòng)畫等屬性,創(chuàng)建PLC 的運(yùn)動(dòng)軌跡和物體的運(yùn)動(dòng)路徑。
3.1.3Unity 控制模塊
本模塊主要是在Unity 中進(jìn)行模型拼接,并編寫C#腳本對(duì)模型進(jìn)行控制以及與WPF 控制端進(jìn)行通信。具體流程如下:
(1)對(duì)從Blender 導(dǎo)入的模型進(jìn)行拼接,獲取其相對(duì)位置等信息,以及設(shè)置相應(yīng)的觸發(fā)器等相應(yīng)部件。
(2)編寫C#腳本,實(shí)現(xiàn)模型上的相關(guān)代碼邏輯,并賦予給對(duì)應(yīng)的模型。以及在腳本中通過TCP/IP 協(xié)議與WPF 中的程序進(jìn)行通信,實(shí)現(xiàn)用戶對(duì)場(chǎng)景中模型的控制信息回傳。
3.1.4WPF 控制模塊
本模塊采用WPF(Windows Presentation Foundation)技術(shù)進(jìn)行界面的設(shè)計(jì)和實(shí)現(xiàn),用戶可以通過控制端對(duì)機(jī)臺(tái)模型生成過程和PLC 運(yùn)動(dòng)進(jìn)行控制。具體流程如下:
(1)在Visual Studio 中創(chuàng)建WPF 應(yīng)用程序。
(2)設(shè)計(jì)控制端的界面,包括生成控制界面、PLC控制界面等。
(3)通過TCP/IP 協(xié)議與Unity 中的控制程序進(jìn)行通信,實(shí)現(xiàn)用戶對(duì)場(chǎng)景中模型的控制。
3.2.1硬件環(huán)境
本系統(tǒng)的硬件環(huán)境主要包括1 臺(tái)運(yùn)行Windows 10 操作系統(tǒng)的個(gè)人電腦。
3.2.2軟件環(huán)境
本系統(tǒng)的軟件環(huán)境主要包括Blender、Unity、Visual Studio 等軟件。
3.2.3系統(tǒng)實(shí)現(xiàn)流程
本系統(tǒng)實(shí)現(xiàn)的流程如下:
(1)在Blender 中進(jìn)行物體的建模和設(shè)計(jì),包括物體的每個(gè)部位和物體的形狀、大小、質(zhì)地等屬性。
相機(jī)鏡頭光源模型,如圖2 所示。
圖2 相機(jī)鏡頭光源模型
機(jī)臺(tái)模型,如圖3 所示。
物體模型,如圖4 所示。
圖3 機(jī)臺(tái)模型
圖4 物體模型
(2)將Blender 中的模型導(dǎo)出為FBX 文件。
(3)在Unity 中導(dǎo)入Blender 中導(dǎo)出的FBX 文件,設(shè)置物體的貼圖、材質(zhì)、動(dòng)畫等屬性,創(chuàng)建PLC 的運(yùn)動(dòng)軌跡和物體的運(yùn)動(dòng)路徑,在Unity 中的場(chǎng)景如圖5 所示。
圖5 Unity 場(chǎng)景圖
(4)在Visual Studio 中創(chuàng)建WPF 應(yīng)用程序,設(shè)計(jì)控制端的界面,包括生成控制、PLC 運(yùn)動(dòng)控制等,控制端界面如圖6 所示。
圖6 控制端界面
(5)通過TCP/IP 協(xié)議與Unity 中的控制程序進(jìn)行通信,實(shí)現(xiàn)用戶對(duì)場(chǎng)景中物體的控制,包括控制機(jī)臺(tái)的生成、控制PLC 的運(yùn)動(dòng)等。
(6)在Unity 中編寫控制程序,通過TCP/IP 協(xié)議與WPF 進(jìn)行通信,實(shí)現(xiàn)控制指令的回傳。
為了驗(yàn)證本系統(tǒng)的可行性和實(shí)用性,我們進(jìn)行了一系列的實(shí)驗(yàn)和測(cè)試。下面是實(shí)驗(yàn)的具體內(nèi)容和結(jié)果。
該實(shí)驗(yàn)旨在讓用戶掌握機(jī)臺(tái)的整體結(jié)構(gòu),并根據(jù)所要做的案例,選擇對(duì)應(yīng)模型。實(shí)驗(yàn)主要分為以下幾個(gè)部分:
(1)機(jī)臺(tái)設(shè)置部分。機(jī)臺(tái)設(shè)置界面如圖7 所示,在生成控制里的機(jī)臺(tái)設(shè)置界面,用戶可以在部位選擇中,按照機(jī)臺(tái)的整體結(jié)構(gòu)生成機(jī)臺(tái)模型,如圖8 所示,圖中為機(jī)臺(tái)在Unity 場(chǎng)景中的生成順序。
圖7 機(jī)臺(tái)設(shè)置界面
(2)物體設(shè)置部分。物體設(shè)置界面如圖9 所示,在生成完機(jī)臺(tái)的模型后,在生成控制里的物體設(shè)置界面,用戶可以在物體類型中,根據(jù)所要做的案例,選擇對(duì)應(yīng)模型,如圖10 所示,圖中為在Unity 場(chǎng)景中選擇不同物體的模型效果。
圖8 機(jī)臺(tái)生成過程
圖10 不同物體模型效果圖
圖9 物體設(shè)置界面
(3)視角設(shè)置部分。視角設(shè)置界面如圖11 所示,在生成完對(duì)應(yīng)的物體模型后,在生成控制里的視角設(shè)置界面,用戶在視角選擇中,可以選擇外部視角,模擬第一人稱視角;也可以選擇相機(jī)視角,模擬相機(jī)的成像效果。如圖12 所示,為選擇機(jī)械零件物體后,選擇相機(jī)視角所看到的效果圖。
圖12 相機(jī)視角效果圖
圖11 視角設(shè)置界面
實(shí)驗(yàn)結(jié)果表明,可以有效地提高用戶對(duì)機(jī)臺(tái)以及機(jī)臺(tái)上的物體的熟悉程度。
該實(shí)驗(yàn)旨在模擬PLC 運(yùn)動(dòng)控制。如圖13 所示,在PLC 控制的參數(shù)設(shè)置界面中,有回零、運(yùn)動(dòng)設(shè)置和控制設(shè)置3 個(gè)選項(xiàng)。
圖13 參數(shù)設(shè)置界面
(1)回零。在Unity 場(chǎng)景中設(shè)置左下角的坐標(biāo)為(0,0),選中回零選項(xiàng)時(shí),PLC 會(huì)控制托盤平臺(tái)回到(0,0),如圖14 所示。
(2)運(yùn)動(dòng)設(shè)置。在選中運(yùn)動(dòng)設(shè)置選項(xiàng)時(shí),可以對(duì)X、Y、Z、R(旋轉(zhuǎn))4 個(gè)軸向進(jìn)行設(shè)置,而Unity 場(chǎng)景中的PLC會(huì)控制托盤平臺(tái)移動(dòng)到相應(yīng)的位置,外置θ 軸也會(huì)調(diào)整高度和旋轉(zhuǎn)角度,如圖15 所示。
圖15 運(yùn)動(dòng)設(shè)置效果圖
(3)控制設(shè)置。在選中控制設(shè)置選項(xiàng)時(shí),可以控制信號(hào)燈和吸嘴的開關(guān),以及獲取當(dāng)前的位置,會(huì)在PLC控制的軸位置界面中顯示X、Y、Z、R(旋轉(zhuǎn))4 個(gè)軸向的當(dāng)前位置,如圖16 所示。
圖14 回零效果圖
圖16 軸位置界面
表1顯示了10 組不同X、Y、Z 運(yùn)動(dòng)坐標(biāo)對(duì)應(yīng)的真實(shí)數(shù)據(jù)和實(shí)驗(yàn)測(cè)量的結(jié)果,可以看出真實(shí)值和實(shí)驗(yàn)值相差較小,且實(shí)驗(yàn)值在真實(shí)值±0.1 范圍內(nèi)變化。因此實(shí)驗(yàn)結(jié)果表明,虛擬仿真實(shí)驗(yàn)平臺(tái)的PLC 控制運(yùn)動(dòng)結(jié)果足夠準(zhǔn)確,用戶可以通過PLC 控制界面的一系列操作,準(zhǔn)確模擬PLC 運(yùn)動(dòng)控制過程,有效提高PLC 運(yùn)動(dòng)的控制能力和精度。
表1 真實(shí)值和實(shí)驗(yàn)值的對(duì)比
為了進(jìn)一步了解用戶對(duì)本系統(tǒng)的使用情況和滿意度,我們進(jìn)行了用戶實(shí)際體驗(yàn)調(diào)查。調(diào)查對(duì)象為若干名機(jī)械工程專業(yè)和計(jì)算機(jī)專業(yè)的大學(xué)生。調(diào)查結(jié)果表明,大部分用戶認(rèn)為本系統(tǒng)操作簡(jiǎn)單、功能齊全、體驗(yàn)流暢,并且可以有效地提高實(shí)際操作能力和動(dòng)手能力。
以上實(shí)驗(yàn)和測(cè)試結(jié)果表明,本系統(tǒng)可以有效地提高用戶物體運(yùn)動(dòng)控制能力和精度,同時(shí)可以提供更加真實(shí)的視覺體驗(yàn),達(dá)到了實(shí)驗(yàn)教育的目的。
本文設(shè)計(jì)和實(shí)現(xiàn)了一種基于機(jī)器視覺虛擬仿真的實(shí)驗(yàn)教育平臺(tái)。該平臺(tái)結(jié)合了Blender、Unity、WPF 和PLC等技術(shù)和工具,提供了一種新的教育方式,可以為用戶提供更加真實(shí)的視覺體驗(yàn)和更加靈活的操作控制,達(dá)到了實(shí)驗(yàn)教育的目的。
在系統(tǒng)設(shè)計(jì)方面,我們基于機(jī)器視覺的虛擬仿真技術(shù),將Blender 中的物體模型導(dǎo)入到Unity 中,并利用WPF 技術(shù)構(gòu)建控制端,實(shí)現(xiàn)了用戶對(duì)物體的實(shí)時(shí)操控和控制PLC 運(yùn)動(dòng)的功能。在系統(tǒng)實(shí)現(xiàn)方面,我們通過對(duì)系統(tǒng)的軟硬件進(jìn)行優(yōu)化,提高了系統(tǒng)的性能和穩(wěn)定性,同時(shí)為用戶提供了一個(gè)友好的操作界面。
通過實(shí)驗(yàn)和測(cè)試,我們發(fā)現(xiàn)該系統(tǒng)可以有效地提高用戶的物體運(yùn)動(dòng)控制能力和精度,同時(shí)可以提供更加真實(shí)的視覺體驗(yàn)。用戶可以在模擬場(chǎng)景中自由探索、學(xué)習(xí)和實(shí)踐,不受時(shí)間、空間和設(shè)備限制,大大提高了學(xué)生的學(xué)習(xí)熱情和學(xué)習(xí)效果。
在未來,我們將進(jìn)一步完善該系統(tǒng),增加更多的實(shí)驗(yàn)案例和控制模式,提高系統(tǒng)的穩(wěn)定性和可靠性。我們還將探索更加先進(jìn)的虛擬仿真技術(shù),如增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)等,為用戶提供更加真實(shí)的學(xué)習(xí)體驗(yàn)。同時(shí),我們也將積極與機(jī)械工程和自動(dòng)化領(lǐng)域的教育機(jī)構(gòu)合作,將本系統(tǒng)應(yīng)用到實(shí)際的教學(xué)中,為學(xué)生提供更加優(yōu)質(zhì)的教育資源。最終,我們期望該系統(tǒng)能夠成為機(jī)械工程和自動(dòng)化領(lǐng)域教育的重要工具,推動(dòng)教育的創(chuàng)新和發(fā)展。