潘旭東 關(guān)靖添 霍 紅 閆紀(jì)紅 高勝東 榮偉彬
哈爾濱工業(yè)大學(xué)機(jī)電工程學(xué)院 黑龍江哈爾濱 150001
隨著第四次科技革命的到來,涌現(xiàn)出很多新技術(shù)。具備自動(dòng)化、智能化,提高存儲(chǔ)效率及存儲(chǔ)空間利用率的云存儲(chǔ)技術(shù)和具有虛實(shí)結(jié)合、實(shí)時(shí)交互的AR技術(shù)受到了研究者的重視。
云存儲(chǔ)是分布式存儲(chǔ)技術(shù)與虛擬化技術(shù)結(jié)合在一起的高科技產(chǎn)物。它的工作原理和工作內(nèi)容同云計(jì)算十分相似。在1990年波音公司的Tom Caudell首次提出了“Augmented Reality”這一詞匯。1997年Azuma等研究人員認(rèn)為AR應(yīng)該包含3個(gè)準(zhǔn)則:虛實(shí)結(jié)合、實(shí)時(shí)交互和三維注冊[1]。AR技術(shù)在實(shí)際物理環(huán)境視圖中包含虛擬元素,以便實(shí)時(shí)創(chuàng)建混合現(xiàn)實(shí)[2]。一個(gè)完整的AR系統(tǒng)通常由4部分組成:攝像機(jī)跟蹤定位、虛擬模型渲染、三維注冊和系統(tǒng)顯示[3]。
機(jī)械制造工藝課程設(shè)計(jì)是機(jī)械設(shè)計(jì)制造及其自動(dòng)化等相關(guān)機(jī)械類專業(yè)本科學(xué)生必修的實(shí)踐性課程,是安排在修完相關(guān)專業(yè)課程(尤其是機(jī)械制造技術(shù)基礎(chǔ)課程)之后的一次綜合性實(shí)際演練。對培養(yǎng)學(xué)生的專業(yè)能力、加深對專業(yè)知識的理解起到了重要作用[4]。對于工科院校機(jī)械類專業(yè)的本科生,順利完成機(jī)械制造技術(shù)的課程設(shè)計(jì)對學(xué)生深入理解和運(yùn)用前序課堂教學(xué)內(nèi)容有著重要意義。
傳統(tǒng)的機(jī)械制造工藝課程設(shè)計(jì)教育存在著一些不足,主要體現(xiàn)在以下3個(gè)方面:(1)教學(xué)質(zhì)量不穩(wěn)定,指導(dǎo)教師的工藝知識及經(jīng)驗(yàn)直接影響學(xué)生課程設(shè)計(jì)的質(zhì)量;(2)教師的重復(fù)性工作量大;(3)學(xué)生的重復(fù)性工作量也大,工藝設(shè)計(jì)過程中,學(xué)生需反復(fù)查閱大量相關(guān)的表格[5]。
目前,國外學(xué)者M(jìn)artin-Gutierrez等人利用增強(qiáng)現(xiàn)實(shí)技術(shù)教學(xué)內(nèi)容三維展示的特點(diǎn)為工科學(xué)生實(shí)踐培訓(xùn)開發(fā)了一款A(yù)R應(yīng)用程序[6]。國內(nèi)在機(jī)械工程相關(guān)課程的實(shí)踐教學(xué)中,大連理工大學(xué)進(jìn)行的AR技術(shù)輔助工程訓(xùn)練教學(xué)研究較為有代表性[7]。以上研究探索了AR技術(shù)在實(shí)踐教學(xué)中應(yīng)用的可行性,證明了采用基于AR虛實(shí)結(jié)合的手段可以輔助實(shí)踐教學(xué),在此基礎(chǔ)上進(jìn)一步探討和深入。
2017年筆者曾研究并開發(fā)了一套基于AR技術(shù)的機(jī)械制造工藝課程設(shè)計(jì)教學(xué)輔助系統(tǒng)開發(fā)[8]??紤]到移動(dòng)終端的數(shù)據(jù)存儲(chǔ)容量和系統(tǒng)調(diào)用的問題,其未實(shí)現(xiàn)多套零件和夾具的展示,同時(shí)對模型的文字信息描述不足。因此,在此基礎(chǔ)上引入AR云存儲(chǔ)技術(shù),開發(fā)出一款基于云存儲(chǔ)技術(shù)的機(jī)械制造工藝課程設(shè)計(jì)移動(dòng)AR教學(xué)軟件,實(shí)現(xiàn)了模型的云端存儲(chǔ),因此可提供多套零件和夾具的展示,提高了軟件響應(yīng)速度,減少內(nèi)存占用。同時(shí)采用Easy Touch 插件,對模型的行為控制更加準(zhǔn)確。增加課程準(zhǔn)備新模塊,進(jìn)一步豐富軟件文字內(nèi)容,提高軟件在教學(xué)中的實(shí)用性。經(jīng)過測試和實(shí)踐教學(xué)應(yīng)用,證明該系統(tǒng)使用方便,減少了學(xué)生的負(fù)擔(dān),提高了學(xué)生對知識的理解程度,達(dá)到了輔助教學(xué)的目的,深受學(xué)生好評。
軟件設(shè)計(jì)主要考慮以下幾點(diǎn):第一,軟件必須完成現(xiàn)實(shí)環(huán)境和虛擬三維造型的疊加融合,達(dá)到功能完整性;第二,攝像頭對目標(biāo)圖像的捕捉定位必須準(zhǔn)確,避免出現(xiàn)疊加偏移的情況;第三,要使攝像頭快速捕捉到目標(biāo)圖像并通過計(jì)算機(jī)匹配識別,渲染出虛擬三維造型,必須保證虛擬物體疊加到真實(shí)環(huán)境后運(yùn)動(dòng)的流暢性,做到不卡頓,動(dòng)作自然連貫;第四,由于程序要廣泛應(yīng)用于Android平臺,要保證程序可以在Android4.0及以上版本穩(wěn)定運(yùn)行,同時(shí)要避免程序崩潰、程序閃退、文件缺失和損壞等情況。
軟件系統(tǒng)采用圖形化的人機(jī)交互界面(如圖1所示),從軟件功能上分為課程準(zhǔn)備平臺和AR展示平臺。其中,課程準(zhǔn)備平臺又包含3個(gè)模塊,分別為分配題目、課設(shè)信息和零件分析。AR展示平臺包含2個(gè)模塊,分別為零件模型和夾具體裝配模型。
從軟件運(yùn)行流程上分為信息輸入、融合顯示和人機(jī)交互3層。信息輸入模塊主要包括用戶進(jìn)入主菜單后對功能平臺的選擇和在AR展示平臺中對目標(biāo)圖的識別和模型預(yù)處理;融合顯示模塊為軟件進(jìn)行跟蹤注冊攝像頭位置并完成疊加顯示的功能;人機(jī)交互模塊為學(xué)生根據(jù)需求對軟件進(jìn)行操作。
圖1 軟件總體框架演示圖
如表1所示,本軟件集成開發(fā)環(huán)境為Unity3D,利用C#腳本完成圖形用戶界面和數(shù)據(jù)文件的編寫。采用HiAR SDK作為軟件開發(fā)包,運(yùn)行系統(tǒng)選擇適應(yīng)性好的Android平臺。在建模方面,選擇三維造型軟件Solidworks,并通過3ds max將模型轉(zhuǎn)化為.fbx格式后再導(dǎo)入U(xiǎn)nity3D中進(jìn)行AR開發(fā)。
表1 開發(fā)平臺與工具
軟件開發(fā)主要應(yīng)滿足課程的教學(xué)需求,同時(shí)兼顧學(xué)生的使用習(xí)慣和要求,學(xué)生可以根據(jù)課程進(jìn)度和個(gè)人需求自行進(jìn)行選擇。根據(jù)課程進(jìn)度,軟件的課程準(zhǔn)備平臺和AR展示平臺的開發(fā)流程和功能將在下文中說明。
平臺主要完成文字信息的展示,幫助學(xué)生完成課程設(shè)計(jì)的預(yù)處理。如圖2所示,平臺包含分配題目、課設(shè)信息和零件分析3個(gè)模塊。其中,課程設(shè)計(jì)信息分為綜合課程設(shè)計(jì)介紹、設(shè)計(jì)及繪圖注意事項(xiàng)2個(gè)子模塊;零件分析包含零件功能和工藝分析2個(gè)子模塊。
圖2 課程準(zhǔn)備平臺流程演示圖
分配題目模塊由一個(gè)Button控件和一個(gè)Text控件組成,實(shí)現(xiàn)題目的隨機(jī)分配;課程設(shè)計(jì)信息模塊和零件分析模塊均用Canvas控件作為底板,選用Image控件作為文字內(nèi)容的容器,并將文本信息編輯好后植入容器中;課程設(shè)計(jì)信息模塊通過Toggle Group控件實(shí)現(xiàn)Text控件中信息的顯示與隱藏;零件分析模塊由Input Field控件實(shí)現(xiàn)在Text控件中搜索并顯示的功能。課程準(zhǔn)備平臺的實(shí)現(xiàn)如圖3所示。
圖3 課程準(zhǔn)備平臺演示圖
基于云存儲(chǔ)的AR展示平臺主要完成零件及其夾具的AR模型展示,其流程如圖4所示。
圖4 AR展示平臺流程演示圖
該平臺需要對圖紙的信息、真實(shí)環(huán)境中的信息進(jìn)行三維注冊,將計(jì)算機(jī)生成的虛擬信息疊加應(yīng)用到真實(shí)環(huán)境,利用傳感技術(shù)和顯示設(shè)備將虛擬信息和真實(shí)環(huán)境統(tǒng)一在一個(gè)畫面或空間內(nèi),從而實(shí)現(xiàn)對現(xiàn)實(shí)環(huán)境的增強(qiáng),達(dá)到超越現(xiàn)實(shí)的感官體驗(yàn),加深學(xué)生課程設(shè)計(jì)中對復(fù)雜零件的認(rèn)知,達(dá)到自主學(xué)習(xí)的目的。
2.2.1 云識別服務(wù)的構(gòu)建
云識別服務(wù)采用了HiAR SDK及其云存儲(chǔ)模塊。其主要構(gòu)建步驟為,登錄HiAR管理后臺創(chuàng)建圖集及應(yīng)用(如圖5所示),將得到AppKey/Secret輸入至HiARCamera的腳本文件中完成應(yīng)用與軟件的關(guān)聯(lián)。在HiAR官方網(wǎng)站管理后臺中選擇圖集,關(guān)聯(lián)應(yīng)用,將圖集中的圖片作為軟件的識別圖進(jìn)行應(yīng)用。
圖5 Camera與應(yīng)用關(guān)聯(lián)示意圖
2.2.2 識別圖與模型的上傳
圖6所示為識別圖上傳界面。每個(gè)識別圖都有自己的TargetID用以區(qū)分,圖片上傳后可以看到圖片的可識別度星級,該星級越高說明圖片可識別性越高。
圖6 識別圖上傳界面
完成零件腳本編輯并打包為Android平臺的數(shù)據(jù)包。在項(xiàng)目目錄中找到壓縮包,在管理后臺選擇零件對應(yīng)的識別圖。如圖7所示,在設(shè)置AR內(nèi)容包下點(diǎn)擊設(shè)置,在目錄中找到數(shù)據(jù)包,點(diǎn)擊上傳即可完成數(shù)據(jù)包的上傳。
圖7 云平臺上傳的數(shù)據(jù)包示意圖
2.2.3 旋轉(zhuǎn) 縮放 剖視等功能的實(shí)現(xiàn)
零件旋轉(zhuǎn)和剖視分別借助Quick Swipe和Quick Tap組件實(shí)現(xiàn)。通過手勢操作實(shí)現(xiàn)零件的旋轉(zhuǎn)、縮放和剖視功能并可展示零件參考信息。運(yùn)用Easytouch插件識別單擊、雙擊、滑動(dòng)等手勢(如圖8所示)。
圖8 零件模型及旋轉(zhuǎn)、剖視圖展示
2.2.4 多圖識別功能的實(shí)現(xiàn)
開啟多圖識別后,軟件通過調(diào)用攝像頭可同時(shí)識別多個(gè)圖,即可完成多個(gè)虛擬模型的疊加,擴(kuò)展程序的功能。同時(shí)顯示2個(gè)零件,比較其作用、工藝的差異;同時(shí)識別零件和其對應(yīng)工序的夾具,提高對零件和夾具的理解;同時(shí)識別夾具和夾具的工作動(dòng)畫,對夾具的工作原理有更深刻的理解。如圖9所示,為開啟多圖識別功能后,可同時(shí)識別2個(gè)零件、展示2個(gè)零件,還可同時(shí)操作2個(gè)零件。
圖9 多圖識別展示圖
軟件開發(fā)后運(yùn)用到了教學(xué)中,經(jīng)過教學(xué)實(shí)踐證明,該軟件對于機(jī)械制造工藝課程設(shè)計(jì)的教學(xué)具有良好的輔助效果。學(xué)生普遍反映,通過該軟件能夠提高對于零件和夾具的認(rèn)知程度,提高夾具設(shè)計(jì)的效率(如圖10所示)。
圖10 教學(xué)實(shí)踐應(yīng)用
為了幫助解決機(jī)械制造工藝課程設(shè)計(jì)教學(xué)過程所面臨的學(xué)生理解困難、效率低等問題,提高教學(xué)質(zhì)量及學(xué)生學(xué)習(xí)興趣。研究并開發(fā)了一套利用智能手機(jī)終端的基于AR云存儲(chǔ)技術(shù)的機(jī)械制造教學(xué)軟件。該軟件利用云存儲(chǔ)技術(shù),解決了移動(dòng)終端數(shù)據(jù)存儲(chǔ)問題,減小了軟件容積,增強(qiáng)了軟件的功能,實(shí)現(xiàn)了易于更新的特性。軟件可實(shí)際應(yīng)用于機(jī)械制造工藝課程設(shè)計(jì)的教學(xué)中,輔助學(xué)生完成課程設(shè)計(jì)準(zhǔn)備工作和實(shí)現(xiàn)零件的AR展示。學(xué)生通過對零件的直觀了解做出工藝流程的安排和后續(xù)特定工序夾具的設(shè)計(jì)。軟件的使用可以有效地輔助機(jī)械制造工藝課程設(shè)計(jì)教學(xué)的進(jìn)行。