劉 林,伍平平,熊 巍
(華南理工大學設(shè)計學院,廣東 廣州 510640)
虛擬現(xiàn)實技術(shù)應(yīng)用于腦卒中偏癱患者的上肢運動功能康復訓練已經(jīng)成為國內(nèi)外學者關(guān)注的熱點。國內(nèi)外許多研究機構(gòu)在該領(lǐng)域開展了許多探索性的研究,并取得了一定的臨床資料和治療成效。Godfrey[1]利用手部外骨骼康復機器人與VR游戲相結(jié)合,對慢性腦卒中后手部痙攣的患者進行康復訓練。Lauri[2]利用充氣手套與VR相結(jié)合,對腦卒中后手功能障礙患者進行康復訓練。岳宏等[3]提出一套利用虛擬現(xiàn)實技術(shù)和手臂外骨骼技術(shù)結(jié)合進行手臂康復醫(yī)療的方案。但現(xiàn)有研究還存在著以下不足:鮮有研究將患者的手跟手臂作為一個整體研究對象,既能訓練患者的手部又能訓練患者的手臂功能;對患者的主動運動激勵不足,較少考慮人機界面研究,忽略了對患者主動意識的激勵。很多研究還處于測試階段,并沒有完全應(yīng)用于臨床訓練中。
本文研究的虛擬超市認知康復訓練系統(tǒng)包括硬件和軟件兩方面,其中硬件部分有5DT數(shù)據(jù)手套、FASTRAK位置跟蹤器與計算機等,軟件部分則主要由基于EON Studio平臺的虛擬超市和虛擬手(手指和手臂)組成。在該系統(tǒng)中基于EON SDK開發(fā)Glove節(jié)點和Tracker節(jié)點,分別采集數(shù)據(jù)手套和位置跟蹤器的數(shù)據(jù),實現(xiàn)虛擬手在虛擬場景中的漫游與控制。將患者的手指和手臂功能的恢復作為一個整體對象,既能訓練上肢偏癱患者手部的功能也能訓練到患者手臂的功能;患者通過控制虛擬手在虛擬超市中購物,實現(xiàn)對虛擬商品的抓取、移動、并釋放到購物車中。同時在訓練過程中獲得視覺跟聽覺的反饋,對患者有激勵的作用。
上肢康復訓練平臺中的虛擬場景需符合患者訓練時的心理期待,所以更側(cè)重于逼真性和沉浸感,對視覺效果要求較高。
虛擬超市的外形設(shè)計比較簡單,在3DMAX中采用整體建模方法,將超市外形輪廓用曲線繪制,然后通過擠出命令生成近似的超市墻壁,再將實體模型轉(zhuǎn)化成可編輯多邊形,對可編輯多邊形中細分的幾何元素進行調(diào)整以生成如門、窗凹凸的超市細節(jié)部分。最后將制作好的超市內(nèi)部細節(jié)如貨柜、柜臺等組件與超市整體合并成虛擬場景。
虛擬超市中的虛擬商品可分為五類:水果、蔬菜、日用品、文體、食品等。將虛擬商品合并到虛擬場景中,并將其放在貨柜的合適位置,虛擬商品要進行成組處理,以使虛擬手在與虛擬商品交互時能準確地抓取到整個虛擬商品。
在模型建立后還需對模型進行以下幾點優(yōu)化:①在保證產(chǎn)品模型質(zhì)量的前提下盡量減少不需要的面片數(shù);②模型多邊形的合理分布,根據(jù)模型的實際情況對多邊形進行合理刪減調(diào)整等以達到模型的最佳狀態(tài);③點面對齊,焊接重合點。
根據(jù)與正常人手1∶1比例和手模型的層次結(jié)構(gòu)圖[4]創(chuàng)建虛擬手模型。由于手指各部分的運動存在連帶運動現(xiàn)象,手部根部關(guān)節(jié)的運動會帶動手指尖部關(guān)節(jié)的運動,因此對虛擬手的建模完成后還必須根據(jù)手指的層次結(jié)構(gòu)對手指指節(jié)進行成組處理。
人的手指是柔性的,而虛擬手指的各指節(jié)卻是剛性的,當手指各指節(jié)有彎曲時,原來完整的虛擬手會在關(guān)節(jié)處出現(xiàn)破面現(xiàn)象,這將影響整個虛擬手的逼真性。為解決破面問題,有方案提出通過在14個手指關(guān)節(jié)處添加一個光滑的球狀體[5],這種方案雖然利用球狀體填充了指節(jié)間的破面,但同時也使虛擬手模型占用的內(nèi)存增大,影響了虛擬手運動時的實時渲染。
本文提出在建立虛擬手模型時,手指指節(jié)模型的坐標系默認位置位于指節(jié)截面的中心,手指圍繞這個坐標系發(fā)生彎曲,所以在手指手背方向就會出現(xiàn)缺口。將這個坐標系移動到手指關(guān)節(jié)表面,當手指再次彎曲時將圍繞新坐標系發(fā)生轉(zhuǎn)動,此時手背方向斷面消失,手指節(jié)在手掌方向發(fā)生交叉,但不會影響視覺效果。重置坐標軸后手指的彎曲效果與重置前的手指彎曲效果對比如下圖1所示。
圖1 手指關(guān)節(jié)破面的解決方案
為了避免將3DMAX中建好的模型導入至EON Studio中材質(zhì)、貼圖等信息的丟失[6],可通過在3DMAX中加載EON Raptor插件,用于將在3DMAX中創(chuàng)建好的模型保存為EON中的文件,然后在EON中打開該文件,則在3DMAX中建好的模型能完整且不失真的導入到了EON環(huán)境中。導入至EON中的虛擬模型如圖2所示。導入至EON中的虛擬手模型如圖2所示。
圖2 虛擬商場與虛擬手模型
患者的真實手與虛擬手之間的通信主要包括獲取真實手的運動信息以及對整個虛擬手的實時漫游與控制。手指的運動信息是通過數(shù)據(jù)手套與系統(tǒng)的集成來實現(xiàn),對虛擬手的實時漫游與控制主要是通過位置跟蹤器與系統(tǒng)的集成來實現(xiàn)。
數(shù)據(jù)手套與系統(tǒng)的集成主要是獲取5DT數(shù)據(jù)手套的數(shù)據(jù),并實現(xiàn)與虛擬手之間的通信。數(shù)據(jù)手套數(shù)據(jù)的獲取是利用VC++6.0平臺,通過EON SDK開發(fā)Glove節(jié)點,此節(jié)點包含5個輸出域。然后通過EON中Script節(jié)點將數(shù)據(jù)手套中傳感器數(shù)據(jù)相應(yīng)地映射到虛擬手的關(guān)節(jié),在Script節(jié)點中設(shè)定5個入事件用于接收Glove節(jié)點中的5個輸出域數(shù)據(jù),在Script節(jié)點中對輸出變量進行賦值,設(shè)定14個輸出事件,分別給虛擬手的14個指節(jié)賦值。數(shù)據(jù)手套與虛擬手流程如圖3所示。在EON邏輯視窗中虛擬手指邏輯控制路徑圖如圖4所示。
圖3 數(shù)據(jù)手套與虛擬手的映射流程
圖4 虛擬手指邏輯控制路徑圖
虛擬手的手指彎曲運動的信息通過數(shù)據(jù)手套從患者的真實手獲得,但是整個虛擬手在虛擬場景中的轉(zhuǎn)動與移動還得依靠其他設(shè)備來完成。本系統(tǒng)采用FASTRAK位置跟蹤器來控制虛擬手3個方向的轉(zhuǎn)動自由度,由于病人是在固定椅上訓練其上肢運動功能,相當于病人的肩關(guān)節(jié)是固定的,而要實現(xiàn)虛擬手能在場景中的實時漫游,則可以再添加鍵盤的方向鍵控制虛擬手3個方向的移動自由度。將位置跟蹤器的接收點固定在數(shù)據(jù)手套上,病人戴上數(shù)據(jù)手套后便可將人手的轉(zhuǎn)動方向與虛擬手的轉(zhuǎn)動方向進行一一映射,再通過鍵盤上的方向鍵控制虛擬手在虛擬超市中的升降、前后、左右的移動方向。
位置跟蹤器與系統(tǒng)的集成實現(xiàn)方法與數(shù)據(jù)手套與系統(tǒng)集成的方法一致。利用C++6.0平臺,通過EON SDK開發(fā)Tracker節(jié)點,在程序開發(fā)過程中采用多線程技術(shù),通過創(chuàng)建一個單獨的線程函數(shù),在線程函數(shù)中調(diào)用FT_ReadContinuous()函數(shù)連續(xù)從位置跟蹤器中讀取數(shù)據(jù),將讀取到的數(shù)據(jù)暫存在一個緩沖變量中,再在EON SDK程序框架中的Update()函數(shù)中不停地從緩沖變量中取出數(shù)據(jù),然后通過EON的Script節(jié)點將從位置跟蹤器中獲得的數(shù)據(jù)與虛擬手的運動方向進行映射表達,再在邏輯視窗中建立路由關(guān)系,實現(xiàn)了控制虛擬手3個方向的轉(zhuǎn)動自由度。位置跟蹤器與虛擬手之間的通信流程,如圖5所示。為使患者在訓練過程中沉浸感更強,患者的視角要始終跟著虛擬手運動,因此需添加一個EON自帶的視點追蹤元件——FollowMe元件,將FollowMe元件放入camera框架中,在邏輯視窗中將虛擬手的Position域發(fā)送給camera,實現(xiàn)患者的視角始終跟在虛擬手的后面。
圖5 位置跟蹤器與虛擬手的通信流程
交互過程中要解決的問題是:在患者通過控制虛擬手抓取虛擬超市中商品的過程中,虛擬手與虛擬商品之間的碰撞檢測以及虛擬手抓取商品跟釋放商品的規(guī)則定義。
EON 中提供了一個碰撞檢測節(jié)點CollisionObject節(jié)點,該節(jié)點提供了Bounding sphere、Bounding spheres、Bounding box、Bounding boxes、Convex hull、Convex hulls三類6種包圍盒形式,如圖6所示。
圖6 包圍盒的形式
使用過程中可根據(jù)不同的精度要求選擇不同的包圍盒。將CollisionObject節(jié)點放置在需要碰撞檢測物體的框架下,則該物體就具有碰撞響應(yīng)的能力,當檢測到物體發(fā)生碰撞時CollisionObject節(jié)點還能同時輸出與其發(fā)生碰撞的對象名稱、碰撞時間跟碰撞位置等信息。虛擬手與虛擬超市中的大部分商品的包圍盒形式采用的是Convex hulls,對于某些模型結(jié)構(gòu)較復雜的商品則采用的是 Bounding sphere或者Bounding box,以提高碰撞響應(yīng)的速度。
在虛擬環(huán)境中通過定義一些虛擬手的抓取規(guī)則和條件,使虛擬手能像真實手那樣自然逼真地抓取、移動和釋放虛擬商品。
虛擬手抓取規(guī)則定義如下:
(1)碰撞檢測是虛擬手抓取商品的前提條件,因此先檢測虛擬手與虛擬商品是否發(fā)生碰撞;
(2)發(fā)生碰撞后才能抓取,抓取過程中大拇指必須有彎曲,并且還要另外四個手指中的一個手指也發(fā)生彎曲;
(3)在依次滿足(1)、(2)條件的基礎(chǔ)上,通過判斷各手指的彎曲程度來確定是否能實現(xiàn)抓取。預先設(shè)定好每個手指要彎曲的角度,當手指的彎曲程度達到這一角度時則實現(xiàn)抓取,手指松開后則釋放商品。
當抓取到商品后再松開手指,手指的彎曲角度不滿足抓取的角度時,則表示為滿足釋放商品的規(guī)則。借助EON中的Script節(jié)點實現(xiàn)對抓取規(guī)則的3個條件的獲取和判斷,當滿足抓取條件時,EON中的GrabConnection節(jié)點則實現(xiàn)虛擬手與虛擬商品之間的抓取,為實現(xiàn)虛擬手對各個虛擬商品的連續(xù)抓取,在名為抓取的Script節(jié)點中添加一個名為field屬性和名為TempBody的域,用于臨時保存與虛擬手發(fā)生碰撞的虛擬商品。當這個商品與虛擬手滿足抓取條件時,虛擬手則將該商品抓取。抓取成功的狀態(tài)如圖7(a)所示,手指松開的狀態(tài)如圖7(b)所示。
圖7 抓取成功的狀態(tài)與手指松開的狀態(tài)
虛擬超市認知康復訓練系統(tǒng)所面對的對象是腦卒中恢復期的患者,他們的上肢至少具有部分分離運動能力,這個系統(tǒng)主要是訓練患者的手指運動功能和手臂運動功能,同時也訓練患者的認知能力。當患者進入此訓練系統(tǒng),系統(tǒng)界面會顯示“您可以先點擊左上方菜單按鈕選擇相應(yīng)的操作!”,患者可單擊菜單按鈕,打開一列菜單,有“手信息”、“開始漫游”、“開始購物”等項目。當點擊“開始購物”后則進入購物界面,同時彈出商品類別跟購物清單菜單,如圖2所示。
接著,患者選擇購物清單,并根據(jù)購物清單中的任務(wù)去選取商品。此時,患者要判斷該購物清單所購商品屬于哪一類別,這就訓練了患者的認知能力。當患者選擇相應(yīng)的商品類別進入該界面后,還需去認識該商品類別中的商品名稱,這時進一步訓練患者的認知能力與執(zhí)行能力。在訓練過程中患者能獲得視覺跟聽覺的反饋,以激勵患者參與的積極性。商品主要分布在超市的兩側(cè),并且在不同高度的貨架上都放有商品,患者在抓取商品的過程中可以訓練其手臂的外展、內(nèi)收、上抬、下擺等能力。系統(tǒng)提供了一個功能,即治療師可以根據(jù)患者的病情調(diào)整其訓練任務(wù),針對不同程度的病人分別制定出不同的購物清單。
在實驗中,選取20例腦卒中恢復期偏癱上肢功能障礙的患者隨機分為治療組(10例)和對照組(10例),對照組接受常規(guī)治療每次40min,每天1次,連續(xù)10天。治療組接受常規(guī)治療和虛擬超市上肢康復訓練各20min,每天1次,連續(xù)10天。分別對兩組患者進行治療前、治療后的FMA上肢部分(FMA-UE)、MAS上肢部分(MAS-UE)和MBI評定[7],比較兩組的療效。治療后兩組患者FMA-UE、MAS-UE及MBI的評分均比治療前提高,與對照組相比,治療組患者FMA-UE、MBI的評分提高幅度更大。
對于腦卒中恢復期的患者,虛擬超市上肢康復訓練結(jié)合常規(guī)治療能更好地改善其偏癱上肢的運動功能,它既訓練了患者的認知能力,又將運動療法跟心理療法有機地結(jié)合在一起,更為有效地提高其日常生活活動能力。本臨床驗證采用的是小樣本實驗,未來還需要大樣本的隨機對照實驗進一步證實虛擬超市上肢康復訓練的療效。隨著虛擬現(xiàn)實技術(shù)本身的不斷進步以及該技術(shù)在康復治療領(lǐng)域的不斷推廣和深入,能推動康復運動訓練技術(shù)日臻完善,對學科的交叉發(fā)展和社會康復事業(yè)的進步具有重大現(xiàn)實意義。
[1]Godfrey S B.Hand function recovery in chronic stroke with HEXORR robotic training: A case series[C]//Conf Proc IEEE Eng Med Biol Soc.Buenos Aires,2010: 4485-4488.
[2]Lauri A.Pneumatic glove and immersive virtual reality environment for hand rehabilitative training after stroke [J].IEEE Transactions on Neural and Rehabilitation Systems Engineering, 2010, 18(5): 551-559.
[3]岳 宏, 王小龍, 張 娟.虛擬現(xiàn)實在手臂外骨骼康復系統(tǒng)中的應(yīng)用[J].科技通報, 2006, 22(1): 111-114.
[4]劉 林, 熊 巍.虛擬手在Vega中的設(shè)計與實現(xiàn)[J].機械制造, 2006, 44(2): 21-24.
[5]戴億政.桌面式虛擬環(huán)境中靈巧虛擬手的研究與實現(xiàn)[D].廣州: 華南理工大學, 2011.
[6]伍平平, 劉 林.上肢康復機器人手和手臂的集成研究[J].機械設(shè)計與制造, 2012, (12): 142-144.
[7]梁 明, 竇祖林, 王清輝, 熊 巍, 鄭雅丹, 陳穎蓓,楊 瓊, 邱雅賢.虛擬現(xiàn)實技術(shù)在腦卒中患者偏癱上肢功能康復中的應(yīng)用[J].中國康復醫(yī)學雜志,2013, 28(2): 114-118.