基于虛擬現實的網絡化上肢康復訓練系統
現階段,在國內的康復治療中,針對患者功能訓練的治療仍舊以治療師的手法操作為主,或輔助一些簡單的訓練器械,且訓練過程單調無趣,患者容易產生厭煩情緒。治療師不容易即時了解病人的訓練程度和效果 [1][2]。研究表明,如果能夠在訓練過程中提供多種形式的信息反饋,充分發揮患者的主觀能動性,將會使康復訓練效果得到很大提高。虛擬現實是一種新興的并且迅速發展的技術,它的主要特點是:利用計算機和傳感技術生成一個具有多種感官刺激的虛擬境界,這種虛擬境界可以使人產生一種身臨其境的感覺;人能以自然的方式與虛擬境界中的對象進行交互[3]。將虛擬現實技術應用到康復醫療領域,可以有效的解決現有的康復醫療方法的局限性[4]。
康復機器人技術在歐美等國家己經得到了科研工作者和醫療機構的普遍重視 ,也取得了一些有價值的成果. 06年 Tobias Nef等人研制了基于虛擬現實技術的上肢康復醫療機器人 ARMIn[5]。Rutgers大學和 Stanford醫學院在基于虛擬環境的遠程康復機器人系統方面做了大量的工作[6]。清華大學研制了一種上肢康復設備 UECM,可以在平面內進行兩個自由度的運行訓練[1]。
本文針對實驗室現有的一種上肢康復訓練機器人系統設計開發了虛擬現實的輔助康復訓練系統,以激發患者進行康復訓練的興趣和動力,達到提高康復訓練效果的目的。
1.系統總體概況
1.1 康復訓練機器人系統總體結構圖康復訓練機器人系統主要可分為上位機遠程監控系統和下位機系統。 系統整體結構圖如圖 1所示。
1.2 康復機器人機構設計
康復機器人機構部分主要有座椅部分、支撐部分、牽引部分組成,如圖 2所示。訓練時,病人坐在椅子上,通過懸吊線和肘關節支撐套將病人的手臂吊起,病人的手被固定在康復訓練牽引機械臂的托盤上。
1.3康復機器人系統工作原理
該康復訓練系統由 4部分組成:基于虛擬現實技術的輔助訓練客戶端,康復機器人控制系統(下位機) ,醫生端監控計算機(上位機),和網絡通訊部分。其中康復機器人控制系統由 ARM主控模塊、測量控制電路、鍵盤及 LCD顯示電路、存儲器件等主要部分組成。被動訓練模式運行時,安裝在康復訓練牽引機械臂的力和位置傳感器將采集的病人運動的力和位置信號經過信號處理后送給 ARM主控模塊,主控模塊經過預處理后再通過下位機網絡模塊把力和位置信息通過局域網傳送給醫生端監控主機,同時監控軟件繪制出力度信號和位置信號的實時曲線,并訪問后臺病案數據庫,實時記錄訓練各項狀態參數。醫生根據反饋的信息判斷病人的康復情況,并通過上位機設置康復訓練參數,發送控制指令給下位機,下位機根據醫生設置的參數,采用相應的控制算法,發送控制信號,經驅動電路放大后驅動電機,從而控制康復訓練牽引機械臂的運動。主動模式和阻抗模式運行時,虛擬現實訓練客戶端軟件和上位機遠程監控軟件同時通過局域網連接至下位機 ARM嵌入式康復機器人主控模塊,主控模塊把采集到的力度和位置信號經過預處理后,同時發送給上位機監控程序和虛擬現實訓練程序。虛擬現實輔助訓練軟件利用接收到的網絡數據通過相應算法轉化為虛擬場景中物體的坐標,同時配合設置好的虛擬場景和人機交互策略實現虛擬現實輔助康復訓練過程。本文分別使用 windows GDI 和 OpenGL+3dmax 設計了兩套虛擬現實康復訓練程序,分別配合主動訓練模式和阻抗訓練模式。
2、虛擬現實輔助康復訓練客戶端軟件開發
康復病人由于肢體肌肉處于廢退狀態,很容易對鍛煉感到厭煩,這對于病人的康復進程是很不利的。為此本文利用 Windows GDI,OpenGL+3Dmax設計了兩個具有良好交互性的游戲程序作為患者輔助康復訓練平臺,使患者在游戲過程中不知不覺的完成鍛煉,變原來的消極鍛煉為積極主動的參與鍛煉。
2.1配合阻抗訓練模式的虛擬現實輔助訓練軟件設計
2.1.1 阻抗訓練模式介紹
該訓練模式適用于即將康復的患者,這類患者的患肢已經逐步恢復運動能力,這時就可以根據患者的康復情況,在康復鍛煉過程中通過機器人給患者的患肢作用一定大小的阻尼力,使患者完成動作的時候克服阻力,從而增強肌肉的力量,逐步恢復到正常狀態。
2.1.2 程序設計
該軟件采用 VC++6.0創建的基于單文檔的 MFC應用程序。游戲開始后病人通過控制機械臂的水平運動,控制虛擬場景中水平擋板的移動反彈小球,擊打上畫面上方的矩形磚塊。如圖 3所示。程序開始運行后,通過 GDI繪制出彈球游戲的基本場景,小球和水平移動擋板,完成游戲參數的基本初始化工作。在創建框架窗體的同時使用 CAsyncSocket類的 MySocket派生類,初始化訓練客戶端套接字,封裝了網絡通信消息響應函數。并重載了其中的 OnReceive(), OnAccept(),OnConnect(),OnClose()等消息響應函數,這些函數分別映射 CMyView類中相應的處理函數。完成套接字初始化后,立即與下位機服務器連接,并開始接收下位機傳送的位置和力度數據。當有網絡數據到達時,程序映射調用 CMyView類中的 OnReceive()函數,完成接收下位機傳送的位置信號數據,通過公式(1)
shippositon=(long)(-w*855/180) (1)
評論