許明西,何漢武,吳悅明,鄒序焱,陳友濱
廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣州 510006
虛擬現(xiàn)實(shí)技術(shù)是以人為中心,通過(guò)計(jì)算機(jī)建立一個(gè)再現(xiàn)人的視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)、嗅覺(jué)等多種感官虛擬世界的技術(shù)。在理想的虛擬世界中,人能夠獲得來(lái)自真實(shí)世界中的各種感受,當(dāng)前的虛擬現(xiàn)實(shí)主要是視覺(jué)和聽(tīng)覺(jué)的虛擬呈現(xiàn),而觸覺(jué)和嗅覺(jué)的虛擬呈現(xiàn)與現(xiàn)實(shí)有較大差距。觸覺(jué)是皮膚的基本感覺(jué)之一,絕大多數(shù)動(dòng)物擁有遍布全身的觸覺(jué)器官。狹義的觸覺(jué)是指外部輕微刺激作用于皮膚觸覺(jué)感受器所引起的膚覺(jué)。廣義的觸覺(jué)還包括外部作用力使得皮膚變形所引起的膚覺(jué),即壓覺(jué),亦稱(chēng)為“觸壓覺(jué)”[1]。觸覺(jué)的分類(lèi)有很多,本文討論的熱觸覺(jué)屬于觸覺(jué)中的一種。
虛擬現(xiàn)實(shí)技術(shù)對(duì)當(dāng)前教育起到重要的推動(dòng)作用[2-3]。其中,虛擬實(shí)驗(yàn)的推廣彌補(bǔ)了真實(shí)實(shí)驗(yàn)中原材料不足、設(shè)備成本高、危險(xiǎn)實(shí)驗(yàn)依靠演示等缺陷。如化學(xué)實(shí)驗(yàn)中,減少了實(shí)驗(yàn)材料的浪費(fèi),提供了對(duì)實(shí)驗(yàn)現(xiàn)象的另一種表現(xiàn)形式。虛擬實(shí)驗(yàn)的使用效果依靠對(duì)視聽(tīng)觸嗅等多通道信息的再現(xiàn)。當(dāng)前虛擬實(shí)驗(yàn)都表現(xiàn)為視覺(jué)呈現(xiàn)和交互操作,對(duì)觸覺(jué)再現(xiàn)主要是力反饋[4]和振動(dòng)電機(jī)提供的振動(dòng)反饋[5]。觸覺(jué)由于其傳輸?shù)男问讲煌谝曈X(jué),在虛擬世界中的觸覺(jué)感知必須來(lái)源于真實(shí)世界的觸覺(jué)感受。目前,市場(chǎng)上已有部分以數(shù)據(jù)手套形式出現(xiàn)的熱觸覺(jué)再現(xiàn)產(chǎn)品,如PowerClaw、Senso、HaptX 等,但都通過(guò)手部皮膚直接接觸制熱源,只能對(duì)手部產(chǎn)生熱刺激,該類(lèi)產(chǎn)品存在熱觸覺(jué)感知區(qū)域有限、成本高、硬件配置要求高等缺點(diǎn),且不是針對(duì)虛擬實(shí)驗(yàn)場(chǎng)景而設(shè)計(jì)的產(chǎn)品。虛擬實(shí)驗(yàn)中,人體皮膚熱觸覺(jué)的產(chǎn)生主要來(lái)自于非接觸的熱源刺激,通過(guò)接觸式的熱觸覺(jué)再現(xiàn)非接觸式的熱觸覺(jué)會(huì)降低虛擬實(shí)驗(yàn)的沉浸感。
在冷熱觸覺(jué)的研究領(lǐng)域,當(dāng)前的研究主要基于帕爾貼(Peltier)效應(yīng)[6]來(lái)復(fù)現(xiàn)人體在虛擬場(chǎng)景下對(duì)溫度的感知。如Guiatni等人[7]設(shè)計(jì)了一種遠(yuǎn)程熱觸覺(jué)再現(xiàn)裝置,通過(guò)帕爾貼能夠使操作者感受到遠(yuǎn)程物體的溫度變化;Citerin等人[8]設(shè)計(jì)了一個(gè)在虛擬環(huán)境下進(jìn)行交互并感知運(yùn)動(dòng)和熱反饋的裝置,該裝置針對(duì)的是單個(gè)手指和一個(gè)虛擬對(duì)象之間的熱傳遞;Nakatani 等人[9]使用帕爾貼設(shè)計(jì)了一個(gè)小尺寸可穿戴觸覺(jué)模塊,可同時(shí)提供振動(dòng)和熱觸覺(jué);Gallo 等人[10]設(shè)計(jì)了一個(gè)由帕爾貼組成的熱顯示器,能夠在指尖下的四個(gè)不同位置提供可獨(dú)立控制的熱刺激;Peiris等人[11]為虛擬現(xiàn)實(shí)領(lǐng)域的HMD設(shè)計(jì)了一個(gè)熱觸覺(jué)反饋模塊,該模塊由帕爾貼組成并集成在VR頭盔內(nèi),直接在用戶臉上提供熱反饋。以上研究都是針對(duì)不同的應(yīng)用場(chǎng)景,不能直接用于虛擬實(shí)驗(yàn)的熱觸覺(jué)再現(xiàn)。
PTC(Positive Temperature Coefficient)電阻是一種具有正溫度系數(shù)的熱敏半導(dǎo)體材料,材料的電阻值在一定范圍內(nèi)保持基本不變或僅有較小變化,而當(dāng)溫度達(dá)到某個(gè)特定溫度時(shí),材料的電阻值隨著溫度的升高發(fā)生突變,在一個(gè)很小的溫度范圍(通常為幾攝氏度到十幾攝氏度)內(nèi)迅速增大到原來(lái)的103~105倍,此特定溫度被稱(chēng)為居里溫度[12]。PTC 熱敏電阻在衛(wèi)星、電路控制及汽車(chē)[13-14]等領(lǐng)域均有運(yùn)用。PTC熱敏電阻與電阻絲或紅外發(fā)熱元件相比,具有無(wú)明火、自動(dòng)控溫、轉(zhuǎn)熱效率高等優(yōu)點(diǎn),適用于安全性高的場(chǎng)合。
綜上所述,目前已有的虛擬現(xiàn)實(shí)熱觸覺(jué)再現(xiàn)裝置都屬于接觸式,對(duì)于非接觸的熱觸覺(jué)呈現(xiàn)效果較差。利用帕爾貼效應(yīng)復(fù)現(xiàn)熱感知,會(huì)同時(shí)產(chǎn)生熱量和冷量,產(chǎn)熱小、控溫不便,且需要與帕爾貼保持接觸,限制了熱感知的交互方式。因此,本文設(shè)計(jì)了基于Arduino 單片機(jī)利用PTC 發(fā)熱體提供熱觸覺(jué)的系統(tǒng)。該系統(tǒng)的熱源能對(duì)虛擬熱源的空間位置自動(dòng)定位,并使用了PID 算法控溫,能與HTC VIVE 進(jìn)行串口通信,并在虛擬環(huán)境下提供熱觸覺(jué)交互。
現(xiàn)實(shí)中產(chǎn)生熱量有很多種方法,不同熱量發(fā)散方式人體皮膚有不同的感知。本系統(tǒng)針對(duì)的是虛擬實(shí)驗(yàn)下的熱觸覺(jué)再現(xiàn),在實(shí)驗(yàn)過(guò)程中產(chǎn)生熱量的熱源基本都是靜止不動(dòng)的,因此熱觸覺(jué)的產(chǎn)生是一種被動(dòng)的方式,需要操作者靠近或接觸熱源才能夠感知熱量,使用非接觸的熱觸覺(jué)能夠更好地提供虛擬實(shí)驗(yàn)的真實(shí)感。
本系統(tǒng)主要由交互系統(tǒng)、定位系統(tǒng)、控溫系統(tǒng)組成,如圖1 所示。交互系統(tǒng)使用HTC VIVE 設(shè)備,VR 頭盔顯示虛擬場(chǎng)景,手柄控制器提供定位與交互功能。定位系統(tǒng)使用42 步進(jìn)電機(jī),主要作用是調(diào)整制熱模塊的位置和方向??販叵到y(tǒng)采用PTC加熱體作為制熱源,使用DSB18B29 溫度傳感器測(cè)量溫度,結(jié)合PID 控制算法實(shí)現(xiàn)控溫。本系統(tǒng)的熱觸覺(jué)再現(xiàn)是通過(guò)熱氣傳遞熱量產(chǎn)生熱感知。
圖1 系統(tǒng)控制結(jié)構(gòu)示意圖
本系統(tǒng)的熱觸覺(jué)再現(xiàn)裝置實(shí)物如圖2所示,PC端與下位機(jī)使用藍(lán)牙模塊HC-05進(jìn)行串口通訊,虛擬場(chǎng)景可以同時(shí)在PC端和HTC VIVE頭盔中顯示。
圖2 系統(tǒng)裝置圖
控溫系統(tǒng)由PTC 加熱體、DS18B20 溫度傳感器、LCD1602顯示屏組成。本系統(tǒng)使用的DS18B20測(cè)溫范圍是-55 ℃至125 ℃,在-10 ℃至85 ℃范圍內(nèi)的精度為 ±0.5 ℃,滿足了實(shí)驗(yàn)要求。該溫度傳感器位于PTC加熱體的上方,用于測(cè)量出風(fēng)口的溫度并反饋給Arduino中的PID 控制器;LCD1602 顯示屏采用IIC 串行總線連接,節(jié)省了單片機(jī)的IO 口;固態(tài)繼電器用于PID 控制器的開(kāi)關(guān)電路控制,用低電壓元件控制高電壓元件的通斷。
制熱模塊包括PTC加熱體和散熱風(fēng)扇,使用時(shí)通過(guò)PTC加熱體來(lái)產(chǎn)生熱量,耐高溫的散熱風(fēng)扇從PTC加熱體底部將熱量吹出。散熱風(fēng)扇額定電壓12 V,尺寸90 mm×90 mm×15 mm。PTC 加熱體由PTC 陶瓷加熱片、鋁外殼、絕緣層PI膜、U型波紋狀散熱片組成,如圖3所示。PTC陶瓷加熱片的尺寸80 mm×15 mm×5 mm,居里溫度80 ℃,最大工作溫度120 ℃,U型波紋狀散熱片的尺寸為96 mm×93 mm×15 mm,該P(yáng)TC加熱體的額定電壓220 V,額定功率500 W。
圖3 PTC加熱體
PTC 的自適應(yīng)溫控是指當(dāng)對(duì)PTC 加熱片通交流或直流電時(shí),在居里溫度Tc以下,如室溫T25時(shí),電阻小,升溫速度快,升至居里溫度點(diǎn)Tc后,溫度在Tc~Tp范圍內(nèi)穩(wěn)定運(yùn)行;在居里溫度Tc以上時(shí),電阻快速增大,由于功率不變,使電流下降至穩(wěn)定值,從而實(shí)現(xiàn)自動(dòng)控溫,見(jiàn)圖4所示。
圖4 R-T電阻溫度特性曲線
PTC 加熱體可以根據(jù)熱量需求選擇不同的功率規(guī)格和恒定溫度的PTC 陶瓷加熱片,本系統(tǒng)選用的PTC加熱體在0.5 m3的密封空間可將環(huán)境溫度加熱至70 ℃。PTC加熱體具有熱阻小、換熱效率高、無(wú)明火、絕緣的優(yōu)點(diǎn),是一種自動(dòng)恒溫、省電安全的電加熱器,且能夠長(zhǎng)時(shí)間處于干燒狀態(tài),避免了在虛擬實(shí)驗(yàn)時(shí)由于誤操作帶來(lái)的安全隱患。
定位系統(tǒng)由滾珠絲杠、步進(jìn)電機(jī)、導(dǎo)軌、滑塊、紅外限位開(kāi)關(guān)等部件組成。滾珠絲桿推動(dòng)滑塊在導(dǎo)軌上運(yùn)動(dòng),紅外限位開(kāi)關(guān)防止滑塊碰撞到導(dǎo)軌兩邊的基座。
本系統(tǒng)的熱源定位使用了兩個(gè)42步進(jìn)電機(jī)分別控制PTC加熱體的位置和朝向,一個(gè)步進(jìn)電機(jī)將制熱模塊移動(dòng)到虛擬實(shí)驗(yàn)熱源映射到真實(shí)環(huán)境下的空間位置點(diǎn),另一個(gè)步進(jìn)電機(jī)控制熱源的發(fā)熱方向,步進(jìn)電機(jī)額定電壓12 V,分別由兩個(gè)A4988 模塊進(jìn)行驅(qū)動(dòng),接線如圖5所示。A4988 驅(qū)動(dòng)模塊提供5 種步進(jìn)模式,最小旋轉(zhuǎn)角度0.112 5°,考慮該系統(tǒng)對(duì)熱源位置的精度和控制要求,采用全步進(jìn)模式,每發(fā)送一個(gè)脈沖,步進(jìn)電機(jī)旋轉(zhuǎn)一個(gè)步距角(1.8°)。該系統(tǒng)通過(guò)Arduino 控制A4988 驅(qū)動(dòng)模塊的三個(gè)引腳控制步進(jìn)電機(jī),步進(jìn)引腳STEP 用于接收脈沖信號(hào),方向引腳DIR 用于控制步進(jìn)電機(jī)的旋轉(zhuǎn)方向,使能引腳Enable用于控制電機(jī)是否接收控制信號(hào)。
圖5 步進(jìn)電機(jī)的控制電路圖
本系統(tǒng)的控制系統(tǒng)主要分為位置控制和溫度控制。不同虛擬實(shí)驗(yàn),熱源可能在不同位置,本系統(tǒng)使用兩個(gè)步進(jìn)電機(jī)控制熱源的位置和方向。實(shí)驗(yàn)中,實(shí)驗(yàn)者需要感受不同的溫度變化,而PTC陶瓷加熱片受限于居里溫度,具有自適應(yīng)控溫特性,無(wú)法自動(dòng)調(diào)節(jié)到所需的目標(biāo)溫度,通過(guò)外加控溫電路,結(jié)合PID 控制算法和PWM脈沖來(lái)調(diào)節(jié)溫度的變化。
虛擬熱源與制熱模塊具有位置映射關(guān)系,通過(guò)在軟件系統(tǒng)中將實(shí)驗(yàn)臺(tái)初始化,保證了現(xiàn)實(shí)環(huán)境和虛擬環(huán)境的坐標(biāo)系相同,再通過(guò)虛擬環(huán)境下的熱源位置控制現(xiàn)實(shí)環(huán)境下的制熱模塊的位置,即可保證熱觸覺(jué)產(chǎn)生的真實(shí)感。本系統(tǒng)對(duì)熱源的感知位置提供了4 個(gè)自由度的定位方法,制熱模塊的位置控制示意圖,如圖6 所示。P代表真實(shí)環(huán)境下發(fā)熱的位置,或虛擬環(huán)境下的熱源位置,O點(diǎn)代表真實(shí)環(huán)境下的制熱模塊位置,或真實(shí)實(shí)驗(yàn)臺(tái)映射到虛擬實(shí)驗(yàn)臺(tái)的點(diǎn),該制熱模塊位于滾珠絲桿上,M1 表示x軸步進(jìn)電機(jī),M2 表示y軸步進(jìn)電機(jī)。
圖6 制熱模塊的位置控制示意圖
實(shí)驗(yàn)前,初始化制熱模塊在滾珠絲桿的位置,當(dāng)虛擬實(shí)驗(yàn)對(duì)熱量產(chǎn)生有方向要求時(shí),可使y軸方向的步進(jìn)電機(jī)M2 旋轉(zhuǎn)β角度,控制熱源在水平面的發(fā)熱方向,β的取值范圍為 [-90°,90°],表示只能指向?qū)嶒?yàn)臺(tái)一邊,如由OP2旋轉(zhuǎn)到OP1。
已知虛擬環(huán)境下熱源空間位置,可得現(xiàn)實(shí)環(huán)境下制熱模塊需要產(chǎn)生熱量的位置P點(diǎn),利用式(1)計(jì)算M1控制制熱模塊在x軸方向的位移S,再導(dǎo)入到式(2)計(jì)算出M1 旋轉(zhuǎn)的角度α,該角度表示Arduino 脈沖引腳需要發(fā)送x=α/1.8 個(gè)脈沖。
式中,PM1 為P點(diǎn)在x軸方向與M1 的距離,OP1為虛擬熱源與制熱模塊的距離OP在水平面的投影。
式中,L為滾珠絲杠的導(dǎo)程,k為滾珠絲杠的精度系數(shù)。
實(shí)驗(yàn)中熱源可能在不同的高度,該系統(tǒng)提供手動(dòng)調(diào)節(jié)制熱模塊與實(shí)驗(yàn)臺(tái)的夾角γ,控制熱源感知位置在垂直面的高度和制熱模塊的發(fā)熱方向,利用式(3)計(jì)算虛擬熱源與O點(diǎn)的連線與實(shí)驗(yàn)臺(tái)的夾角θ,而γ=90°-θ。
式中,PP1為虛擬熱源到實(shí)驗(yàn)臺(tái)的垂直距離,OP1為虛擬熱源在實(shí)驗(yàn)臺(tái)上的投影到O點(diǎn)的距離。
虛擬熱源與PTC加熱體的距離不同,產(chǎn)生的溫度會(huì)有差異,風(fēng)速不同,對(duì)熱觸覺(jué)的感知效果也會(huì)有影響。針對(duì)該問(wèn)題,在10 m×7 m×4 m 的空間下對(duì)該系統(tǒng)的制熱模塊進(jìn)行了風(fēng)速距離溫度測(cè)試,風(fēng)速通過(guò)Arduino 的PWM引腳模擬量控制,對(duì)不同距離不同風(fēng)速2 min取一次溫度值,如圖7所示。由曲線可知,距離近溫度高,距離遠(yuǎn)溫度低;不同風(fēng)速下75 mm以內(nèi),溫度差異較小,這是由于PTC 加熱片上方的導(dǎo)風(fēng)口避免了出風(fēng)口的熱量向四周擴(kuò)散;當(dāng)大于75 mm 的距離時(shí),降溫速率有了差異??傮w數(shù)據(jù)表明,相同距離下風(fēng)速大的溫度較風(fēng)速小的溫度高,可用風(fēng)速大小表示虛擬熱源與制熱模塊的距離OP。由于PTC的自適應(yīng)控溫,風(fēng)速變大而發(fā)熱片需要恒溫,會(huì)消耗更大的功率。因此,可以根據(jù)式(4)調(diào)節(jié)風(fēng)扇風(fēng)速的大小。
式中,Ppwm指控制風(fēng)速引腳的PWM 輸入值,取值范圍[0,255],k為控風(fēng)系數(shù),OP為熱源與制熱模塊的距離,dmax代表達(dá)到目標(biāo)溫度時(shí)熱源與制熱模塊的最大距離。
圖7 不同風(fēng)速和距離下的溫度曲線圖
溫度是熱觸覺(jué)再現(xiàn)重要的參數(shù)之一,具有滯后性、非線性、慣性大等特點(diǎn)。人體對(duì)溫差敏感程度較弱,當(dāng)溫差在5 ℃以上時(shí)有比較強(qiáng)烈的感覺(jué),這表明對(duì)控溫精度要求不高,該系統(tǒng)采用傳統(tǒng)PID控制算法實(shí)現(xiàn)對(duì)PTC加熱體的溫度控制,溫度控制示意圖如圖8所示。
PID控制器[15]由比例單元(P)、積分單元(I)、微分單元(D)組成,是一種線性控制方法。通過(guò)寫(xiě)入Arduino單片機(jī)的PID 控制程序,計(jì)算PC 端輸入的目標(biāo)溫度值與DS18B20溫度傳感器實(shí)時(shí)測(cè)量的溫度值的偏差e(t),對(duì)偏差值e(t)進(jìn)行比例、積分、微分運(yùn)算得到結(jié)果u(t)。在連續(xù)時(shí)間域中,PID控制算法的表達(dá)式為:
圖8 溫度控制系統(tǒng)示意圖
式中,kp為比例系數(shù);Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù)。
在數(shù)字控制系統(tǒng)中,溫度的采集不是連續(xù)的,需要對(duì)式(5)進(jìn)行離散化處理,得到離散的PID表達(dá)式為:
式中,kp為比例系數(shù);ki為積分系數(shù);kd為微分系數(shù);u(k)為第k次采樣時(shí)刻控制器的輸出值;e(k)為第k次采樣時(shí)刻輸入控制系統(tǒng)的偏差值;e(k-1)為第k-1 次采樣時(shí)刻輸入控制系統(tǒng)的偏差值;T為采樣周期。
根據(jù)PID控制器的輸出值u(k),Arduino通過(guò)PWM脈寬調(diào)制控制繼電器的通斷改變PTC加熱體的通斷,實(shí)現(xiàn)對(duì)PTC 加熱體的溫度控制。當(dāng)實(shí)時(shí)測(cè)量的溫度比目標(biāo)溫度高時(shí),繼電器斷開(kāi),PTC加熱體停止加熱;當(dāng)實(shí)時(shí)測(cè)量的溫度比目標(biāo)溫度低時(shí),繼電器接通,PTC 加熱體開(kāi)始加熱。
由于PTC陶瓷加熱片的電阻溫度特性,具有自適應(yīng)控溫的特點(diǎn),為達(dá)到目標(biāo)溫度引入了PID控制器。本系統(tǒng)的溫度控制為閉環(huán)控制,將DS18B20實(shí)時(shí)測(cè)量的PTC加熱體出風(fēng)口溫度值作為PID 控制器的輸入值。為檢驗(yàn)該系統(tǒng)的溫度控制情況,在室溫27 ℃的10 m×7 m×4 m空間下進(jìn)行溫度控制測(cè)試。該實(shí)驗(yàn)中DS18B20 放置于距離發(fā)熱體表面100 mm 處,得到如圖9 所示不同目標(biāo)溫度的控溫過(guò)程。從圖中目標(biāo)溫度為33 ℃~45 ℃的PID 控溫過(guò)程可知,波動(dòng)誤差均勻,控溫精度不高。經(jīng)過(guò)實(shí)驗(yàn)分析,DS18B20 測(cè)溫是通過(guò)空氣介質(zhì)導(dǎo)熱,測(cè)溫時(shí)間具有滯后性,且實(shí)驗(yàn)環(huán)境的氣流也會(huì)影響到溫度測(cè)量,PTC陶瓷加熱片的電阻會(huì)隨溫度變化也是穩(wěn)態(tài)誤差較大的原因之一。當(dāng)目標(biāo)溫度為30 ℃接近室溫時(shí),控溫精度較高,穩(wěn)態(tài)誤差小。
從圖中曲線可知,目標(biāo)溫度越低,升溫速度越快,溫度越高,升溫速率下降,升溫曲線與PTC 加熱體的最大升溫曲線重合。當(dāng)不使用PID控制器,使PTC加熱體達(dá)到最大溫度,整個(gè)加熱過(guò)程非常平穩(wěn),且最后的穩(wěn)態(tài)誤差較小,說(shuō)明了PTC加熱片的自適應(yīng)控溫精度較高。從圖像的其他控溫曲線可以發(fā)現(xiàn),PTC加熱片能夠減小溫度超調(diào),并提高控溫精度[16]。
圖9 不同目標(biāo)溫度的PTC加熱體溫度控制過(guò)程
本文系統(tǒng)熱觸覺(jué)再現(xiàn)硬件模塊可以用于多種VR軟件平臺(tái),以HTC VIVE作為虛擬實(shí)驗(yàn)的交互工具和實(shí)驗(yàn)平臺(tái),軟件系統(tǒng)基于Unity引擎使用C#進(jìn)行開(kāi)發(fā)和設(shè)計(jì)。
為提高虛擬場(chǎng)景的沉浸感,將虛擬實(shí)驗(yàn)臺(tái)與真實(shí)實(shí)驗(yàn)臺(tái)的長(zhǎng)寬高設(shè)計(jì)成相同大小。由于本系統(tǒng)的熱觸覺(jué)再現(xiàn)是非接觸式,熱源相對(duì)人體是靜止的,因此在進(jìn)行虛擬實(shí)驗(yàn)前,需要校準(zhǔn)真實(shí)場(chǎng)景和虛擬場(chǎng)景下的實(shí)驗(yàn)臺(tái)位置,保證實(shí)驗(yàn)者與實(shí)驗(yàn)臺(tái)的距離在兩種環(huán)境下相同。以HTC VIVE頭盔為例,在程序執(zhí)行之前,需要將Unity引擎中的虛擬相機(jī)相對(duì)于虛擬實(shí)驗(yàn)臺(tái)的位置,設(shè)為真實(shí)場(chǎng)景下人眼相對(duì)于實(shí)驗(yàn)臺(tái)的位置,即可保證開(kāi)始實(shí)驗(yàn)時(shí),人眼看到的虛擬場(chǎng)景和真實(shí)場(chǎng)景的實(shí)驗(yàn)臺(tái)是一致的,如圖10所示。
圖10 虛實(shí)場(chǎng)景視角示意圖
系統(tǒng)軟件的作用是使PC 端能夠直接控制下位機(jī),如圖11 所示,表示該系統(tǒng)軟件的運(yùn)行流程圖。PC 端發(fā)送的串口數(shù)據(jù)分為三種形式。引腳電平數(shù)據(jù)控制Arduino的引腳輸出;目標(biāo)溫度控制PID 輸出;脈沖數(shù)據(jù)控制步進(jìn)電機(jī)的旋轉(zhuǎn)。整個(gè)系統(tǒng)軟件可作為虛擬實(shí)驗(yàn)主程序的一個(gè)分支,表示熱觸覺(jué)在虛擬實(shí)驗(yàn)中的應(yīng)用。
系統(tǒng)的控制部分提供軟件接口,針對(duì)的是PC 端和下位機(jī)的串口通訊數(shù)據(jù),該系統(tǒng)可將COM 號(hào)信息寫(xiě)入XML文件,通過(guò)讀取XML文件自動(dòng)解析接口數(shù)據(jù)。軟件接口腳本位于同一個(gè)命名空間下,可單獨(dú)打包成dll文件,供其他設(shè)備調(diào)用。接口類(lèi)包括讀寫(xiě)XML 文件串口信息和讀寫(xiě)串口數(shù)據(jù),接口函數(shù)包含初始化串口、打開(kāi)和關(guān)閉串口,判斷串口是否打開(kāi),接收和發(fā)送串口數(shù)據(jù),發(fā)送控制電機(jī)的串口數(shù)據(jù)等功能。由于需要實(shí)時(shí)接收溫度傳感器發(fā)送的串口溫度數(shù)據(jù),采用了多線程編程。為了不影響下次打開(kāi)該串口,退出主程序前需調(diào)用關(guān)閉串口的函數(shù)。
由于人體對(duì)熱觸覺(jué)的感知都與皮膚有關(guān),針對(duì)在虛擬實(shí)驗(yàn)中的交互操作,本系統(tǒng)主要對(duì)手部進(jìn)行交互設(shè)計(jì),如圖12所示。當(dāng)實(shí)驗(yàn)者操作虛擬物體時(shí),HTC手柄的紅外定位可得到實(shí)驗(yàn)者手部的位置,PTC加熱體再針對(duì)該部位產(chǎn)生熱量,獲得熱觸覺(jué)感知,符合虛擬實(shí)驗(yàn)需要,且通過(guò)事件觸發(fā)能夠提供手動(dòng)的交互操作;HTC頭盔用于場(chǎng)景顯示,并提供了實(shí)驗(yàn)者的頭部定位、視角方向信息。
整個(gè)系統(tǒng)屬于虛擬現(xiàn)實(shí)系統(tǒng)的一部分,視覺(jué)呈現(xiàn)主要信息,熱觸覺(jué)作為虛擬現(xiàn)實(shí)交互的一個(gè)補(bǔ)償。在虛擬實(shí)驗(yàn)交互開(kāi)發(fā)中,可利用手與熱源的距離,控制制熱模塊的開(kāi)啟和關(guān)閉,如兩者距離在發(fā)熱范圍以內(nèi),打開(kāi)制熱模塊,否則關(guān)閉制熱模塊;也可利用兩者的距離,控制風(fēng)速和溫度大小,當(dāng)距離較近時(shí),減小散熱風(fēng)速提高溫度,距離較遠(yuǎn)時(shí),增大散熱風(fēng)速提高溫度;或利用條件控制,虛擬實(shí)驗(yàn)臺(tái)和真實(shí)實(shí)驗(yàn)臺(tái)空間位置一一對(duì)應(yīng),無(wú)需考慮手的空間位置,例如化學(xué)反應(yīng)中的放熱反應(yīng),當(dāng)達(dá)到放熱條件時(shí),打開(kāi)制熱模塊,反應(yīng)結(jié)束,則關(guān)閉制熱模塊。
不同虛擬實(shí)驗(yàn)熱源主要分為固定和移動(dòng)兩種,固定熱源可對(duì)制熱模塊一次定位實(shí)現(xiàn)放熱。針對(duì)移動(dòng)熱源,當(dāng)需要對(duì)手部持續(xù)產(chǎn)熱時(shí),根據(jù)HTC 手柄確定的手部空間位置,得到x軸步進(jìn)電機(jī)移動(dòng)的水平位移和y軸步進(jìn)電機(jī)旋轉(zhuǎn)到制熱方向的角度,散熱風(fēng)扇可根據(jù)手與制熱模塊的距離改變風(fēng)速大小,從面間接改變溫度大小。LCD 顯示屏向?qū)嶒?yàn)者顯示出風(fēng)口的目標(biāo)溫度和測(cè)量的實(shí)時(shí)溫度。
為了測(cè)試該系統(tǒng)是否提高了虛擬實(shí)驗(yàn)的沉浸感以及系統(tǒng)的可靠性和有效性,以中學(xué)鋁熱反應(yīng)實(shí)驗(yàn)為例,驗(yàn)證該系統(tǒng)在虛擬實(shí)驗(yàn)熱觸覺(jué)再現(xiàn)上的效果。主要實(shí)驗(yàn)步驟為當(dāng)實(shí)驗(yàn)者點(diǎn)燃鎂條后,使氧化鐵粉末和鋁粉在高溫下劇烈反應(yīng),發(fā)出耀眼的光芒,并放出大量的熱,實(shí)驗(yàn)者可在一定區(qū)域內(nèi)近距離感受到熱量。實(shí)驗(yàn)要求10位實(shí)驗(yàn)者完成5次虛擬實(shí)驗(yàn),為了更好地形成對(duì)比,第1次實(shí)驗(yàn)在只有視覺(jué)呈現(xiàn)的情況下,完成該虛擬實(shí)驗(yàn)的操作過(guò)程;第2 次實(shí)驗(yàn)引入該系統(tǒng)制熱裝置的熱觸覺(jué)呈現(xiàn),在虛擬場(chǎng)景中有放熱時(shí)制造熱量。實(shí)驗(yàn)者對(duì)這兩次虛擬實(shí)驗(yàn)的沉浸感和熱觸覺(jué)再現(xiàn)的真實(shí)感評(píng)分,總分10分,分?jǐn)?shù)越高代表體驗(yàn)效果越好。第3~5次實(shí)驗(yàn)重復(fù)第2次實(shí)驗(yàn),根據(jù)系統(tǒng)正常運(yùn)行次數(shù)評(píng)分,總分3分。最后作為觀察者,對(duì)實(shí)驗(yàn)者在添加了熱觸覺(jué)通道虛擬實(shí)驗(yàn)的情緒變化進(jìn)行評(píng)估,分為積極(A)、一般(B)、消極(C)。整體測(cè)試結(jié)果如表1所示。
表1 熱觸覺(jué)裝置虛擬實(shí)驗(yàn)測(cè)試結(jié)果
從測(cè)試數(shù)據(jù)可知,第1次無(wú)熱觸覺(jué)通道實(shí)驗(yàn)的期望值為7.50,第2次有熱觸覺(jué)通道實(shí)驗(yàn)的期望值為8.93,后3次實(shí)驗(yàn)系統(tǒng)基本都正常運(yùn)行。結(jié)果表明該裝置提供的熱觸覺(jué)再現(xiàn),提高了對(duì)虛擬實(shí)驗(yàn)的沉浸感和真實(shí)感,系統(tǒng)的穩(wěn)定性較好。通過(guò)觀察實(shí)驗(yàn)者情緒變化發(fā)現(xiàn),大部分人在加入熱觸覺(jué)通道后產(chǎn)生興奮、刺激等積極情緒,證明了該系統(tǒng)熱觸覺(jué)再現(xiàn)的有效性。由于鋁熱反應(yīng)放出大量的熱,產(chǎn)生耀眼的光芒,視覺(jué)通道效果明顯,部分觀察者存在條件反射會(huì)避開(kāi)熱量產(chǎn)生的區(qū)域,導(dǎo)致感知效果較差,該裝置釋放的熱氣起到補(bǔ)償觸覺(jué)通道缺失的作用。
圖12 系統(tǒng)軟件交互設(shè)計(jì)
本文通過(guò)使用PTC 加熱體設(shè)計(jì)了熱觸覺(jué)再現(xiàn)系統(tǒng)。該系統(tǒng)包含利用步進(jìn)電機(jī)搭建的工作臺(tái),提供了多個(gè)自動(dòng)控制熱源位置和方向的自由度,并對(duì)系統(tǒng)的交互設(shè)計(jì)進(jìn)行了分析。系統(tǒng)采用了PID控制算法進(jìn)行控溫,并對(duì)系統(tǒng)的控溫過(guò)程、可靠性和有效性進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)果表明控溫的速度和精確度基本滿足了虛擬實(shí)驗(yàn)要求,系統(tǒng)的熱觸覺(jué)通道提高了虛擬實(shí)驗(yàn)的沉浸感。該系統(tǒng)采用非接觸式的傳熱模型再現(xiàn)熱觸覺(jué)感知,能夠較好地在虛擬實(shí)驗(yàn)中感受真實(shí)實(shí)驗(yàn)帶給實(shí)驗(yàn)者的放熱反饋。
本系統(tǒng)是利用空氣介質(zhì)傳遞熱量,并未考慮皮膚在不同傳熱介質(zhì)下熱傳導(dǎo)的影響。由于溫度傳感器測(cè)量的方式影響了測(cè)量溫度的實(shí)時(shí)性,且受測(cè)溫精度限制,系統(tǒng)在控溫方面有待提高。