賈子熙,王 帥,郝一達(dá),伍一鶴
(1. 東北大學(xué) 機(jī)器人科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110819;2. 南京理工大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 210094)
混合現(xiàn)實(shí)技術(shù)(mixed reality,簡(jiǎn)稱MR)是虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)技術(shù)的進(jìn)一步發(fā)展,它能夠?qū)⑺枰膶?duì)象附加在真實(shí)世界中,在現(xiàn)實(shí)世界、虛擬世界和用戶之間建立起信息回路,從中增強(qiáng)用戶的真實(shí)感[1-2]。目前,該技術(shù)已經(jīng)在工業(yè)制造、軍事、文化、醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用[3]。由于 MR 技術(shù)具有良好的沉浸感和交互性,在教育領(lǐng)域中具有廣泛的應(yīng)用前景,可以實(shí)現(xiàn)虛擬課堂、虛擬實(shí)驗(yàn)室。
在新工科背景下,機(jī)器人工程專業(yè)正在如火如荼地發(fā)展中。機(jī)器人技術(shù)作為一門實(shí)踐性很強(qiáng)的新興交叉學(xué)科,很多高校都在積極探索實(shí)踐教學(xué)如何更好地提升機(jī)器人專業(yè)人才培養(yǎng)質(zhì)量[4-5]。與傳統(tǒng)工科實(shí)驗(yàn)對(duì)象不同,機(jī)械臂實(shí)驗(yàn)存在一定危險(xiǎn)性,機(jī)器人實(shí)驗(yàn)室建設(shè)需要投入很多的資金和空間;另外,傳統(tǒng)的實(shí)踐教學(xué)方式容易使學(xué)生過分依賴教師的“教”的過程,學(xué)生自主學(xué)習(xí)的興趣不高。本文基于 HoloLens 開發(fā)的虛擬實(shí)驗(yàn)系統(tǒng),在虛擬環(huán)境下實(shí)現(xiàn)倒立擺與機(jī)械臂系統(tǒng)的控制,能夠讓學(xué)生不受時(shí)間、地點(diǎn)的限制進(jìn)行教學(xué)實(shí)驗(yàn),同時(shí)具有較高的安全性,可以減少實(shí)驗(yàn)室建設(shè)成本,提高學(xué)生自主學(xué)習(xí)能力。
本系統(tǒng)采用 HoloLens 作為硬件支持。HoloLens是由微軟發(fā)布的一款基于Window10 的頭戴式混合現(xiàn)實(shí)設(shè)備,擁有獨(dú)立的計(jì)算單元,可以不受線纜限制而獨(dú)立使用,能夠讓用戶在真實(shí)環(huán)境與虛擬影像進(jìn)行交互[6-7]。
本系統(tǒng)采用 Unity3D 作為開發(fā)工具。Unity3D 是一款多平臺(tái)集成的 3D 游戲開發(fā)引擎,可以實(shí)現(xiàn)模型可視化、實(shí)時(shí)三維動(dòng)畫、3D 視頻游戲。它為開發(fā)者提供了強(qiáng)大的物理引擎系統(tǒng),包括多種物理模擬組件。開發(fā)者可以使用封裝好的 API 構(gòu)建出復(fù)雜的虛擬場(chǎng)景,模擬出真實(shí)的物理效果[8-10]。并且,Unity3D 支持跨平臺(tái)開發(fā),開發(fā)者可根據(jù)需要將項(xiàng)目發(fā)布在不同平臺(tái)上,這可以讓虛擬實(shí)驗(yàn)的開發(fā)變得更加便捷。
本系統(tǒng)使用Unity3D 搭建倒立擺模型和機(jī)械臂模型,將其導(dǎo)入HoloLens 中,通過HoloLens 進(jìn)行交互控制。在倒立擺系統(tǒng)中,本系統(tǒng)實(shí)現(xiàn)了對(duì)擺桿角度和小車位置的控制,通過對(duì)內(nèi)環(huán)、外環(huán)PID 參數(shù)進(jìn)行調(diào)節(jié)實(shí)現(xiàn)將倒立擺穩(wěn)定在設(shè)定位置。在機(jī)械臂系統(tǒng)中,為改變目標(biāo)物體的位置與姿態(tài),本系統(tǒng)通過逆運(yùn)動(dòng)學(xué)得到各關(guān)節(jié)位置,生成預(yù)測(cè)軌跡,最后移動(dòng)機(jī)械臂到指定位置,最終實(shí)現(xiàn)虛擬機(jī)械臂的控制。
2.1.1 倒立擺系統(tǒng)
倒立擺的物理模型如圖1 所示。
圖1 倒立擺物理模型
小車質(zhì)量為M,擺桿質(zhì)量為m,擺桿長(zhǎng)度為l,擺桿偏角為θ,根據(jù)牛頓運(yùn)動(dòng)定律可得:
擺桿繞其重心的轉(zhuǎn)動(dòng)方程:
擺桿重心的運(yùn)動(dòng)方程:
小車在水平方向所受合力:
聯(lián)立式(1)—(3)可得倒立擺模型:
其中J為擺桿的轉(zhuǎn)動(dòng)慣量,
采用雙閉環(huán)控制,將小車位置作為外環(huán),擺桿擺角作為內(nèi)環(huán),實(shí)現(xiàn)在保持?jǐn)[桿不倒的同時(shí)控制小車位置[11-12]。雙閉環(huán)PID 倒立擺控制系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
圖2 倒立擺控制系統(tǒng)結(jié)構(gòu)框圖
2.1.2 機(jī)械臂系統(tǒng)
確定機(jī)械臂的DH 參數(shù)表如表1 所示。
表1 機(jī)械臂的DH 參數(shù)表
由連桿坐標(biāo)系中的位置關(guān)系可知,關(guān)節(jié)1,2,3,4,5 的中心在同一個(gè)平面內(nèi),故設(shè)關(guān)節(jié)1,2,3,4,5,6 的當(dāng)前位置為目標(biāo)位置為目標(biāo)角度為設(shè)目標(biāo)物的位置為PT。以為坐標(biāo)軸原點(diǎn),易得到由式
可解得Pt5。由于關(guān)節(jié)1,2,3,4,5 的中心在同一個(gè)平面內(nèi),由式
可解得Pt2,由式
可解得Pt3,由式
可解得Pt4。
2.2.1 倒立擺系統(tǒng)
Unity 環(huán)境里組件的部署情況及腳本列表如圖 3所示。對(duì)應(yīng)的系統(tǒng)組件詳見表2。
2.2.2 機(jī)械臂系統(tǒng)
Unity 環(huán)境里組件的部署情況見圖4。系統(tǒng)組件部署情況詳見表3。
圖3 Unity 環(huán)境中的倒立擺系統(tǒng)組件部署
表2 倒立擺系統(tǒng)組件
2.3.1 倒立擺系統(tǒng)
圖4 Unity 環(huán)境中的機(jī)械臂系統(tǒng)組件部署
表3 機(jī)械臂系統(tǒng)組件
倒立擺控制系統(tǒng)演示效果如圖5 所示。經(jīng)過測(cè)試,系統(tǒng)實(shí)現(xiàn)了同時(shí)對(duì)擺桿角度和小車位置的控制,實(shí)驗(yàn)者還可自行調(diào)節(jié)內(nèi)外環(huán)PID 參數(shù)進(jìn)行實(shí)驗(yàn),測(cè)試系統(tǒng)在不同PID 參數(shù)下的穩(wěn)定性。
圖5 倒立擺控制系統(tǒng)效果演示
2.3.2 機(jī)械臂系統(tǒng)
虛擬機(jī)械臂演示效果如圖6 所示。測(cè)試結(jié)果顯示,虛擬機(jī)械臂在不同場(chǎng)景下均表現(xiàn)良好。測(cè)試過程中,可以清晰地觀察到周圍環(huán)境與機(jī)械臂的交互情況。機(jī)械臂的碰撞模型與周圍環(huán)境的碰撞清晰可見,機(jī)械臂的每次抓取均可達(dá)到預(yù)設(shè)的誤差范圍,即滿足
圖6 機(jī)械臂系統(tǒng)效果演示
虛擬實(shí)驗(yàn)室可使用虛擬技術(shù)(虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、混合現(xiàn)實(shí)技術(shù))來(lái)模擬實(shí)驗(yàn)場(chǎng)景,再根據(jù)實(shí)驗(yàn)要求和流程組裝成一個(gè)完整的實(shí)驗(yàn)體系。該方案可以通過網(wǎng)絡(luò)實(shí)現(xiàn)教師與學(xué)生間的交流,從而提高學(xué)生的主觀能動(dòng)性。隨著混合現(xiàn)實(shí)技術(shù)的發(fā)展和普及,混合現(xiàn)實(shí)技術(shù)將在機(jī)器人工程專業(yè)交互式教學(xué)中發(fā)揮潛能,為學(xué)生提供情境交互體驗(yàn),幫助學(xué)生探索抽象復(fù)雜的機(jī)器人技術(shù)。