范永祥,崔海坡,邵印麟
(1.上海理工大學(xué)醫(yī)療器械與食品學(xué)院上海市介入醫(yī)療器械工程中心,上海 200093;2.上海普陀區(qū)人民醫(yī)院,上海 200060)
平衡能力是人體的一項重要生理功能。在日常生活以及各種活動中,人體需要對身體重心的穩(wěn)定進(jìn)行控制,才能不斷應(yīng)對外界突發(fā)變化情況[1]。靜態(tài)平衡能力指人體在坐立或站立狀態(tài)下肌肉維持等長收縮的狀態(tài),屬于人體平衡能力的一種。國外靜態(tài)平衡功能評估測試儀生產(chǎn)單位較多,如美國Betec 公司生產(chǎn)的BalanceCheck 系統(tǒng)、德國公司生產(chǎn)的Bismarck SuperBalance 系統(tǒng)、英國生產(chǎn)的Medi?ca Balance Trainer 系統(tǒng)、日本ANIMA 公司的重心動搖平衡檢查系統(tǒng)等,它們都具有測試人體靜態(tài)平衡功能。20 世紀(jì)90 年代起,國內(nèi)也開展了靜態(tài)平衡功能定量檢測并應(yīng)用于臨床,且對某些疾病患者的姿勢圖進(jìn)行分析研究,對其平衡功能進(jìn)行定量測評[2-3]。隨著計算機(jī)技術(shù)在醫(yī)學(xué)中的廣泛應(yīng)用,廠家推出了各種型號的靜態(tài)平衡儀,主要由帶有壓力傳感器的測力臺、計算機(jī)、顯示器、顯示平衡功能的控制板、專用于平衡功能的處理和分析軟件以及打印機(jī)等組成[4]。通過這些設(shè)備的組合應(yīng)用,能夠計算并顯示靜態(tài)平衡能力的評價指標(biāo),包括重心偏移幅度、擺幅指數(shù)、重心分布區(qū)域、動搖軌跡長、外周面積、單位面積軌跡長等[5]。大部分平衡功能訓(xùn)練模塊功能較為單一,患者配合訓(xùn)練意愿不強。盡管少量訓(xùn)練設(shè)備開發(fā)了三維游戲模塊[6],但其不能根據(jù)患者的平衡功能障礙程度調(diào)節(jié)游戲難度,患者難以完成游戲過程,降低了患者通過游戲完成康復(fù)訓(xùn)練的效果[7]。此外,進(jìn)口設(shè)備價格昂貴,不利于大范圍推廣應(yīng)用。因此,開發(fā)一款價格便宜、功能全面的平衡功能評價與訓(xùn)練系統(tǒng)具有現(xiàn)實意義。
本文開發(fā)的平衡功能障礙智能康復(fù)訓(xùn)練系統(tǒng)主要由下位機(jī)測量板和上位機(jī)軟件組成。下位機(jī)的壓力測量板采用模塊化設(shè)計,既可以利用單個測量板進(jìn)行單獨的手、足部測試,也可以組合應(yīng)用多個壓力測量板;上位機(jī)軟件是基于Qt Creator 開發(fā)的Windows 系統(tǒng)下的客戶端程序,通過數(shù)據(jù)采集卡的信號傳輸接口連接測量板和電腦。本文還開發(fā)了三維游戲用于康復(fù)訓(xùn)練。采用Unity3D 作為開發(fā)平臺設(shè)計智能游戲模塊,可根據(jù)患者的平衡功能障礙程度調(diào)節(jié)游戲難度,滿足不同患者需求。
系統(tǒng)總體設(shè)計框圖如圖1 所示。系統(tǒng)中的腳踏板與數(shù)據(jù)轉(zhuǎn)接盒兩個硬件最為重要,它們是整個系統(tǒng)穩(wěn)定運行的核心。腳踏板感知人體壓力的快慢,直接關(guān)系到軟件使用時的靈敏度與易用性,數(shù)據(jù)轉(zhuǎn)接盒處理數(shù)據(jù)的水平也直接關(guān)系到軟件界面展示數(shù)據(jù)的精確度與合理性。平衡能力訓(xùn)練與評估軟件的設(shè)計策略決定了整個設(shè)計系統(tǒng)的功能特點、使用范圍以及可擴(kuò)展性。
Fig.1 System overall design圖1 系統(tǒng)總體設(shè)計框圖
根據(jù)平衡訓(xùn)練系統(tǒng)功能需求,腳踏板部分設(shè)計包括壓力傳感器模塊和傳感器調(diào)理電路模塊。數(shù)據(jù)轉(zhuǎn)接盒部分包括采集調(diào)理電路模塊、數(shù)據(jù)采集卡模塊、USB 數(shù)據(jù)隔離模塊、調(diào)壓模塊等。軟件部分采用上位機(jī)客戶端軟件設(shè)計技術(shù)以及三維游戲開發(fā)技術(shù),開發(fā)一系列適用于平衡康復(fù)患者的趣味游戲。在設(shè)計過程中各個模塊硬件及軟件部分盡量做到相對獨立,為后續(xù)功能擴(kuò)展和系統(tǒng)升級創(chuàng)造條件。系統(tǒng)各模塊功能如下:
腳踏板部分由4 個壓力傳感器以及傳感器調(diào)理電路組成。4 個壓力傳感器是以圓心為中心受力點的柱狀結(jié)構(gòu),在受到壓力時輸出模擬電壓信號,可在一定程度上消除橫向力帶來的橫向位移。傳感器調(diào)理電路主要實現(xiàn)對壓力信號的接收、RFI 濾波、放大及平均處理,處理完的信號由通信線傳輸?shù)綌?shù)據(jù)轉(zhuǎn)接盒,如圖2 所示。
數(shù)據(jù)轉(zhuǎn)接盒包含調(diào)壓模塊、采集調(diào)理電路、數(shù)據(jù)采集卡和USB 隔離芯片,如圖3 所示。調(diào)壓模塊實現(xiàn)220V 交流轉(zhuǎn)5V 直流給轉(zhuǎn)接板供電;采集調(diào)理電路由四階低通濾波器濾波電路對信號濾波,再傳導(dǎo)至數(shù)據(jù)采集卡的模擬信號輸入端;數(shù)據(jù)采集卡則對信號進(jìn)行采樣、數(shù)字化和傳輸;考慮到電氣安全問題,最后還要利用USB 隔離芯片進(jìn)行電氣隔離,保障USB 接口能夠安全傳輸數(shù)據(jù)到電腦端,并對數(shù)據(jù)進(jìn)行存儲、分析、處理、展示等操作。
Fig.2 Intelligent balance training instrument foot pedal圖2 智能平衡訓(xùn)練儀腳踏板
Fig.3 Data transfer box structure圖3 數(shù)據(jù)轉(zhuǎn)接盒結(jié)構(gòu)
軟件部分由平衡能力評估模塊和三維游戲訓(xùn)練模塊組成。平衡能力評估模塊通過處理數(shù)據(jù)采集卡傳來的數(shù)據(jù),計算出患者的重心投影位置以及重心偏移的百分比,實時顯示到軟件界面,據(jù)此評估患者的實時平衡功能,并把訓(xùn)練結(jié)果保存到患者個人信息檔案?;颊邫n案則采用數(shù)據(jù)庫保存患者所有信息,方便醫(yī)師根據(jù)患者的記錄輔助患者進(jìn)行針對性訓(xùn)練;三維游戲訓(xùn)練模塊則由多個不同類型的趣味三維訓(xùn)練游戲以及智能調(diào)整參數(shù)的算法程序組成。通過智能調(diào)整游戲參數(shù)機(jī)制吸引患者主動進(jìn)行訓(xùn)練,在這種不斷調(diào)整重心的過程中逐步提高患者對身體的控制能力,最終實現(xiàn)平衡能力的康復(fù)。
患者檔案模塊采用SQLite 數(shù)據(jù)庫保存患者所有信息。Qt Creator 內(nèi)部嵌入了SQLite 數(shù)據(jù)庫,處理SQLite 數(shù)據(jù)庫的類主要是QSQLQuery 及其子類QSQLDatabase[8]。通 過QSQLDatabase 的addDatabase 函數(shù),可在Qt 項目內(nèi)部創(chuàng)建SQLite 數(shù)據(jù)庫。創(chuàng)建患者數(shù)據(jù)庫表patient 后,通過相關(guān)執(zhí)行函數(shù)對數(shù)據(jù)庫進(jìn)行增加、修改、刪除、查詢等操作,并將數(shù)據(jù)庫的有關(guān)信息顯示到Qt 軟件創(chuàng)建的界面控件table?Widget 上。增加數(shù)據(jù)庫記錄時,以“患者姓名+出生日期”作為該數(shù)據(jù)記錄的ID,方便日后對記錄進(jìn)行查詢。
患者檔案模塊界面如圖4 所示?;颊咴谶M(jìn)行平衡能力評估或平衡能力訓(xùn)練前,必須登記個人信息到該模塊,該模塊記錄了患者的詳細(xì)檔案信息?;颊邫n案模塊主要功能是保存患者的個人基本信息、平衡能力的評估數(shù)據(jù)以及訓(xùn)練結(jié)果數(shù)據(jù)?;颊邫n案模塊還記錄了患者的優(yōu)勢側(cè)與患側(cè)、診斷與病史、損傷日期、手術(shù)日期、檢查次數(shù)、主治醫(yī)師等信息,方便醫(yī)師根據(jù)患者的記錄輔助患者進(jìn)行針對性訓(xùn)練。創(chuàng)建的數(shù)據(jù)記錄文件保存在“my.db”文件中,便于與評估模塊、訓(xùn)練模塊進(jìn)行數(shù)據(jù)共享以及同步更新。
Fig.4 Patient file module interface圖4 患者檔案模塊界面
平衡功能評估模塊是上位機(jī)軟件系統(tǒng)的核心模塊。本系統(tǒng)設(shè)計的上位機(jī)軟件是基于Qt Creator 平臺編寫的,QtCreator 具有跨平臺、代碼簡潔、開發(fā)高效等優(yōu)點[9]。Qt 使用QtDesigner 對界面的布局和控件進(jìn)行排版,再利用QSS腳本語言進(jìn)行界面美化,可節(jié)省大量的開發(fā)時間。本系統(tǒng)采用的數(shù)據(jù)采集卡配備了基于C++的驅(qū)動程序源文件,該源文件包含獲取數(shù)據(jù)采集卡各個通道信號的類和函數(shù)[10]。Qt Creator 可直接調(diào)用,從而實時獲取各通道電壓信號。數(shù)據(jù)采集卡一共有16 個通道,本系統(tǒng)使用模擬信號輸入的4個通道AI0 到AI3 分別獲取4 個壓力板傳輸進(jìn)來的電壓信號,再通過數(shù)據(jù)擬合的方法把兩個通道的電壓信號轉(zhuǎn)換為每個測力板承受的重量值。根據(jù)力矩平衡原理,可以得到受試者的重心在地面上的投影位置坐標(biāo),通過重心坐標(biāo)的變化反映患者的平衡能力。通過動態(tài)實時顯示重心坐標(biāo)的位置以及重心在左右兩個方向的偏移指數(shù)評估患者的平衡能力。數(shù)據(jù)采集與處理流程如圖5 所示。
平衡能力評估模塊軟件運行界面如圖6 所示,不同的標(biāo)簽卡顯示患者不同方向?qū)Φ孛娴膲毫χ?,通過計算得出患者對地面不同方向的重心偏移指數(shù)。
訓(xùn)練結(jié)束時會顯示評估結(jié)果,如圖7 所示。評估結(jié)果為平衡能力的生理學(xué)參數(shù),包括重心擺動軌跡長度、軌跡平均擺動速率、平均擺動幅度、最大擺動幅度和重心軌跡圖,作為評估平衡能力的參考分析數(shù)據(jù)。
Fig.5 Flow of data acquisition and processing program圖5 數(shù)據(jù)采集與處理流程
Fig.6 Software execution interface圖6 軟件運行界面
Fig.7 Evaluation result interface圖7 評估結(jié)果界面
三維游戲訓(xùn)練模塊不僅要求游戲充滿趣味性和吸引力,還要適合老年人的生理和心理狀態(tài)。使用Unity3D 平臺開發(fā)的游戲畫面豐富、元素逼真,能夠增強使用者操作游戲的沉浸感,起到很好的視覺和聽覺反饋作用[11]。本系統(tǒng)搭建了多種適用于平衡康復(fù)訓(xùn)練的三維游戲,游戲種類豐富,場景多樣,難度可調(diào),可提供給不同患者進(jìn)行選擇,如圖8 所示。
Fig.8 3D games scene construction圖8 三維游戲場景搭建
以打磚塊游戲為例,本文設(shè)計的一個游戲場景如圖9所示。先創(chuàng)建顏色鮮明的背景場景和游戲元素(磚塊、滑板等),再在Unity3D 軟件中編寫游戲元素對應(yīng)的C#腳本代碼,控制游戲中各個元素在游戲過程中的物理變化,如磚塊被小球擊中后消失、小球掉落地面生命數(shù)減一,滑板移動速率變化與壓力板承受壓力大小同步變化等?;赨ni?ty3D 平臺創(chuàng)建的三維游戲場景逼真,游戲元素生動,能夠達(dá)到使玩家沉浸于游戲的目的[12]。
Fig.9 Brick-breaking game scene construction圖9 打磚塊游戲場景搭建
為了使電路模塊中的數(shù)據(jù)采集卡信號變化與游戲中的元素運動同步調(diào)用,還需要編寫數(shù)據(jù)采集卡的數(shù)據(jù)傳輸接口代碼文件。接口文件能夠獲取各個測力板承受的壓力值大小,供各游戲場景使用[13]。數(shù)據(jù)傳輸接口關(guān)鍵代碼如下:
整個游戲系統(tǒng)中較為重要的部分是實現(xiàn)壓力板受到的壓力大小與游戲關(guān)鍵元素的運動同步變化。該步驟目的是驅(qū)使患者在游戲時主動執(zhí)行游戲任務(wù),沉浸到三維虛擬環(huán)境中。三維游戲主要通過評分機(jī)制來反饋訓(xùn)練效果,讓患者進(jìn)行自我驅(qū)動式訓(xùn)練,從而達(dá)到良好的訓(xùn)練效果[14]??刂朴螒蜿P(guān)鍵元素運動方式的主要代碼如下:
在開發(fā)出具有較強操作性和趣味性的三維游戲基礎(chǔ)上,本文在游戲程序中還添加了基于遺傳算法思想的能夠智能調(diào)整游戲參數(shù)和游戲難度的代碼片段,其智能性體現(xiàn)在能夠根據(jù)患者自身平衡能力情況以及訓(xùn)練效果的實時反饋及時調(diào)整訓(xùn)練參數(shù)和難度[15]。
遺傳算法基本原理是將問題的解映射為染色體,算法對每個染色體進(jìn)行評價,通過適應(yīng)值來對染色體進(jìn)行選擇[16]。優(yōu)勝劣汰則通過適應(yīng)性好的染色體繁殖機(jī)會更多來體現(xiàn)。在算法執(zhí)行前,需要先給出一組假設(shè)解,即隨機(jī)給出一組染色體,然后將這組假設(shè)解嵌入到問題中,給予一個適應(yīng)度函數(shù)評價其適應(yīng)度。適應(yīng)性高的染色體擁有更多的繁殖機(jī)會,對染色體進(jìn)行復(fù)制,淘汰適應(yīng)性低的染色體。然后交叉、變異,產(chǎn)生下一代染色體,再對新群體進(jìn)行優(yōu)化,直到產(chǎn)生最優(yōu)解[17]。
本文將患者訓(xùn)練時產(chǎn)生的初始數(shù)據(jù)作為初始建模條件個體,量化游戲障礙物、方向控制等屬性,將生命數(shù)、游戲獲得分?jǐn)?shù)作為適應(yīng)度函數(shù),對染色體進(jìn)行交叉和變異。隨后,找到適應(yīng)度最差的個體進(jìn)行淘汰,找出適應(yīng)度最好的個體進(jìn)行復(fù)制和繁殖,通過個體特征和屬性交叉產(chǎn)生下一代;再引入隨機(jī)突變函數(shù),挑選一定的染色體并隨機(jī)賦予一個新值,控制這種隨機(jī)突變的概率;然后利用突變后的染色體與其他染色體進(jìn)行交叉產(chǎn)生新的后代。如此往復(fù),數(shù)代之后獲得適用于該患者的游戲難度和游戲參數(shù)的最優(yōu)值并實時更新到游戲中。智能算法流程如圖10 所示。
Fig.10 Intelligent algorithm flow圖10 智能算法流程
為驗證系統(tǒng)對平衡功能障礙患者的有效性,對18 位患有平衡功能障礙患者進(jìn)行隨機(jī)對照試驗?;颊吣挲g為60±5 歲,男性10 名,女性8 名。將18 名患者隨機(jī)分為兩組,其中對照組患者使用一般的物理康復(fù)治療設(shè)備進(jìn)行康復(fù)鍛煉,作為空白對照;實驗組患者使用平衡康復(fù)系統(tǒng)進(jìn)行為期15 天的下肢平衡功能訓(xùn)練,每天訓(xùn)練30min,分別進(jìn)行10min 的平衡功能評估以及20min 的三維游戲平衡功能訓(xùn)練。最后分別測試兩組患者的Berg 平衡量表分?jǐn)?shù)(Berg 平衡量表每一項檢查項滿分是4 分,分值越高代表平衡性越好),如表1 所示。
Table 1 Clinical trial data表1 臨床實驗數(shù)據(jù)
實驗結(jié)果顯示,實驗組的Berg 平衡量表平均分?jǐn)?shù)提升的百分比都高于對照組的平均分?jǐn)?shù)提升百分比,特別是站立狀態(tài)靜態(tài)平衡下的平衡檢查項目至少提高了10%。Berg平衡量表分?jǐn)?shù)是體現(xiàn)人體平衡功能的指標(biāo)[18],說明了該平衡功能訓(xùn)練系統(tǒng)確實能提高人體的平衡能力。
維持身體平衡不僅是人體重要的生理機(jī)能,同時也是人們?nèi)粘I畹谋U希?9-20]。因此,在科研領(lǐng)域以及臨床實踐中,人體平衡能力的測量與評估具有重要的研究價值[21]。本文設(shè)計了一套針對平衡能力損傷患者的智能化康復(fù)訓(xùn)練系統(tǒng),該系統(tǒng)可以根據(jù)患者自身平衡能力情況以及康復(fù)訓(xùn)練的實時反饋信息,及時調(diào)整訓(xùn)練參數(shù)和游戲難度。對患者的平衡功能進(jìn)行康復(fù)對照實驗,結(jié)果顯示,以三維游戲為載體的平衡功能康復(fù)系統(tǒng)相對于傳統(tǒng)的康復(fù)手段而言省時省力,有助于提高患者的平衡功能。同時,作為一款模塊化、上位機(jī)與下位機(jī)可分離的系統(tǒng),平衡功能障礙康復(fù)訓(xùn)練系統(tǒng)也為其他康復(fù)功能障礙系統(tǒng)的研究和開發(fā)提供了借鑒。但本次對照實驗采用的樣本量較小,還需要通過進(jìn)一步的嚴(yán)謹(jǐn)實驗和數(shù)據(jù)分析來驗證系統(tǒng)的有效性;系統(tǒng)還需在訓(xùn)練游戲的多樣性、趣味性上進(jìn)一步改進(jìn)和完善。