專利名稱:基于pc機及dsp的多自由度肌電假手訓練及控制系統的制作方法
技術領域:
本發明涉及一種假手控制的肌電信號訓練、在線識別平臺研究及嵌入式
實現的裝i,屬于生物信息識別及控制相關領域。
背景技術:
肌電假手是一種重新建立人與外界環境可操作性聯系的接口 ,它通過采
集人手臂處的肌肉電信號(Electromyography, EMG)作為控制源,經過分析處 理及模式識別,用以控制手指完成一些基本操作。這種基于生物信號控制策 略的肌電假手的優點是顯而易見的,因為其再次利用了人神經肌肉電傳導的 特性并將其輸出至外界環境,對于殘疾人的神經康復是相當有益的。
然而,諸如Otto Bock SensorHand等一些商業肌電假手,由于只采用了 一至兩個自由度,因此在抓取功能性方面表現欠佳,像個簡單的夾持器,致 使很多殘疾人患者不愿意佩戴假手。國外許多研究機構開展了擬人大小的、 多功能假手的研究,如意大利Cyberhand、 SmartHand,英國i-limb,以及國 內機器人技術與系統國家重點實驗室的HIT/DLR Prosthetic Hand等。多自由 度擴展了假手的靈巧程度,提升了其抓取功能,然而卻給控制帶來一定的難 度。由于自由度增多,如何能夠合理使用人前臂肌肉電信號所蘊含的豐富信 息,從而分辨出人手部的一些特定動作或姿態進行假手的實時控制,是多自 由度肌電假手亟待解決的問題。借助于一些模式識別方法,如人工神經網絡、 遺傳算法、自組織神經網絡等,手部或肘部動作的瞬態肌電信號的分類已經 可以得到很高的識別成功率。支持向量機(Support Vector Machine, SVM) 業已被證明是高效可靠的分類工具,基于此而建立起來的肌電模式識別系統 具有更令人信服的理論基礎及高成功率。然而更多的研究只存在于實驗室的 理論分析方面,還沒有具體的實際嵌入式應用。
發明內容
本發明為解決基于向量機建立的肌電模式識別系統還處于實驗室的理論 分析階段、開發周期較長、沒有實際嵌入式應用的問題,提供一種基于PC 機及DSP的多自由度肌電假手訓練及控制系統。本發明包括以下單元肌電信號電極,用于將采集的肌電信號發送到供電轉接模塊和DSP目標
板;
供電轉接模塊,用于為肌電信號電極供電,并將來自肌電信號電極的肌 電信號發送到數據采集卡;
數據采集卡,用于采集供電轉接模塊的肌電信號,并將采集的肌電信號 通過PCI總線發送到PC機;
DSP目標板,用于將來自肌電信號電極的肌電信號轉換成肌電數字信號 并進行肌電模式識別,并將所述模式識別結果發送到PC機;
PC機,用于接收來自數據采集卡的肌電信號和來自DSP目標板的模式 識別結果,并提供虛擬假手的顯示平臺;
DSP仿真器,用于建立PC機與DSP目標板之間的連接,提供PC機與 DSP目標板之間數據交換和DSP仿真功能;
本發明還包括以下單元-
顯示控制模塊,用于將來自數據采集卡的肌電信號進行實時繪制并顯示 輸出,接收來自SVM模式識別模塊的模式識別結果,并通過虛擬手顯示肌 電信號控制假手的狀態;
SVM訓練模塊,用于將各模式的肌電信號數據進行訓練; 'SVM模式識別模塊,用于實時識別DSP目標板采集到的肌電信號;
所述顯示控制模塊是一個運行在PC機的操作系統中的Labview程序, 所述SVM訓練模塊是一個運行在PC機的操作系統中的Matlab程序,所述 SVM模式識別模塊是一個運行在DSP內部的基于SVM分類器的C程序。
有益效果本發明基于SVM分類器的嵌入式DSP實現,建立一種基于 PC機及DSP相結合的肌電假手訓練及控制平臺,為多模式肌電信號的識別 提供一種方便快捷的評估驗證以及嵌入式實現裝置,以縮短多自由假手肌電 信號控制的開發周期。
圖1是本發明的整體結構示意圖;圖2是本發明基于PC機平臺的硬件 配置示意圖;圖3是本發明基于DSP平臺的硬件配置示意圖。圖3中的電源 為DSP目標板4供電,DSP仿真器6的一端通過圖3中的USB 口與PC機5連接,DSP仿真器6的另一端通過圖3中的JTAG 口與DSP目標板4連接, DSP目標板4的另一端通過圖3中的串口與PC機5連接。
具體實施例方式
具體實施方式
一參見圖1 圖3,本實施方式由以下單元組成 肌電信號電極1,用于將采集的肌電信號發送到供電轉接模塊2和DSP 目標板4;
供電轉接模塊2,用于為肌電信號電極1供電,并將來自肌電信號電極1 的肌電信號發送到數據采集卡3;
數據采集卡3,用于采集供電轉接模塊2的肌電信號,并將采集的肌電
信號通過PCI總線發送到PC機5;
DSP目標板4,用于對來自肌電信號電極1的肌電信號轉換成肌電數字
信號并進行肌電模式識別,將模式識別結果發送到PC機5;PC機5,用于接收來自數據采集卡3的肌電信號和來自DSP目標板4 的控制信號,并提供虛擬假手的顯示平臺;
DSP仿真器6,用于建立PC機5與DSP目標板4之間的連接,提供PC 機5與DSP目標板4之間數據交換和DSP仿真功能;
顯示控制模塊7,用于將來自數據采集卡3的肌電信號實時繪制在PC 機5的顯示窗口上,接收來自SVM模式識別模塊9的模式識別結果,并通 過虛擬顯示肌電信號控制肌電假手;
SVM訓練模塊8,用于將各模式肌電信號數據在PC機5的Matlab環境 內進行訓練;
SVM模式識別模塊9,用于實時識別DSP目標板4采集到的肌電信號; 所述顯示控制模塊7是一個運行在PC機5的操作系統中的Labview程 序,所述SVM訓練模塊8是一個運行在PC機5的操作系統中的Matlab程 序,所述SVM模式識別模塊9是一個運行在DSP內部的基于SVM分類器 的C程序。
本實施方式基于多自由度假手的肌電控制及嵌入式實現,硬件上包括PC 機5、 DSP目標板4以及DSP信號采集系統和必要的通訊連接。軟件上包括 一個在PC機5上運行的Labview程序,即顯示控制模塊7,用于對肌電信號實時監測以及虛擬假手的實現; 一個基于DSP分類器的SVM模式識別模塊 9,其中包括參數可配置SVM的DSP內部識別實現(C語言),其由3個基 本函數(分別是核函數kernel、兩類間識別函數predict一svm和多類間識別函 數whole_predict_svm ) 以及Matlab環境下生成的兩個頭文件 (DSP28—SVM—DEF.h和DSP28—SVM—VAR.h,分別存放SVM相關的符號常 量及全局變量值)構成; 一個DSP同Matlab環境交互并進行訓練數據采集 及訓練的SVM訓練模塊8。
基于PC機5的硬件配置有肌電信號電極1采用OttoBock公司的 13E200,數據采集卡3采用ADLINK公司的PCI-9118HR,肌電信號電極1 和數據采集卡3之間通過供電轉接模塊2連接,供電轉接模塊2的作用包括 給肌電電極1提供穩定的5V電壓以及提供與數據采集卡3連線的接口 SCSI-II (50針);數據采集卡3插至PC機5的PCI插槽上,與PC機5之間 通過高速PCI總線通信。
基于DSP的硬件配置有DSP目標板4采用TI公司的TMS320F2812 DSP 為核心處理芯片的目標板,板上提供電極穩定5V電壓供電及電極線接口; DSP仿真器6采用合眾達XDS-510仿真器,DSP仿真器6的一端通過JTAG 口連接DSP目標板4,另一端通過USB連接PC機5; DSP目標板4還通過 串口同PC機5連接。
顯示控制模塊7通過在PC機5上編制Labview程序實現,其功能在于 實時檢測多通道肌電信號、接收控制指令以及虛擬假手實時控制演示;數據 采集函數調用ADLINK開發的基于Labview軟件環境的插件,通過循環實現 連續采集,采集到的數據繪制到Labview前面板圖形顯示窗;通過觀察肌電 信號的實時采集結果,獲取信號合適的幅度以及信號之間不相關的信息,以 調整肌電電極的位置;使用Pro/E工程建模軟件進行虛擬手的建模,采用自 上而下的設計方法,每個手指指節之間連接時要考慮組件轉配關系。具體做 法是對于遠指關節DIP,中指節作為基體,指尖作為加入的零件,將指尖與 中指節連接成組件DM;在裝配近指關節時,近指節DIP作為基體,中指節 與指尖連接成的組件DM作為加入的新組件,組成新的組件DMP;然后再 將組件DMP裝配至手掌之上。將所有手指裝配完畢后,使用Pro/E軟件輸出成VRML格式文件,各零件及分組件以Inline節點形式出現在總的VRML 文件內;使用Labview軟件集成ParallelGraphics公司的Cortona VRML Client 控件,并指向虛擬假手的VRML文件,調用控件內置函數,以手指各關節的 龜度可以控制;顯示控制模塊7還包括一串口接收程序,用于接收SVM模 式識別模塊9傳回的識別結果。
基于DSP的SVM模式識別模塊9中的訓練數據釆集,通過其模塊內主 函數的一個二維數組實現。當DSP目標板4的AD采集口實時采集肌電信號 時,此二維數組存儲多通道肌電信號值,存儲完畢將產生中斷供SVM訓練 模塊8提取。
建立SVM訓練模塊8同DSP目標板4之間的連接,通過Matlab與DSP 調試軟件CCS之間的軟件接口 Link for Code Composer Studio,將DSP目標 板4采集到的各模式肌電信號樣本傳入PC機5的SVM訓練模塊8中(硬件 上通過DSP仿真器6)。全部模式訓練數據采集完畢后,在SVM訓練模塊8 的Matlab環境下采用開源軟件libsvm2.84進行SVM的訓練。訓練完畢后, 在SVM訓練模塊8內通過m文件函數將SVM各參數寫入到單獨的頭文件 DSP28—SVM—DEF.h和DSP28—SVM—VAR.h中,將其復制到CCS工程目錄替 換舊文件,重新編譯鏈接,供SVM模式識別模塊9調用并進行實時肌電信 號的識別。由于頭文件內包含新的SVM參數信息,因此可以用于實時識別 訓練后的肌電模式。
基于DSP的SVM模式識別模塊9中的肌電信號在線識別中,用于采集 訓練數據的二維數組不被激活。SVM模式識別模塊9主函數內含有用于SVM 識別的函數kernel、 predict—svm、 whole_predict—svm,直接在數據采集完畢 后調用。識別完畢將識別出的模式標號通過串口發往PC虛擬假手或者按照 協議發往假手。其中,顯示控制模塊7主要負責在訓練之前檢測肌電信號, 以及在訓練完畢后接收DSP目標板4給出的控制信號(軟件通過顯示控制 SVM模式識別模塊9,硬件通過RS232串口),實時顯示肌電控制情況,即 虛擬手指的運動狀態。
權利要求
1、基于PC機及DSP的多自由度肌電假手訓練及控制系統,它包括以下單元肌電信號電極(1),用于將采集的肌電信號發送到供電轉接模塊(2)和DSP目標板(4);供電轉接模塊(2),用于為肌電信號電極(1)供電,并將來自肌電信號電極(1)的肌電信號發送到數據采集卡(3);數據采集卡(3),用于采集供電轉接模塊(2)的肌電信號,并將采集的肌電信號通過PCI總線發送到PC機(5);DSP目標板(4),用于將來自肌電信號電極(1)的肌電信號轉換成肌電數字信號并進行肌電模式識別,并將所述模式識別結果發送到PC機(5);PC機(5),用于接收來自數據采集卡(3)的肌電信號和來自DSP目標板(4)的模式識別結果,并提供虛擬假手的顯示平臺;DSP仿真器(6),用于建立PC機(5)與DSP目標板(4)之間的連接,提供PC機(5)與DSP目標板(4)之間數據交換和DSP仿真功能;其特征在于它還包括以下單元顯示控制模塊(7),用于將來自數據采集卡(3)的肌電信號進行實時繪制并顯示輸出,接收來自SVM模式識別模塊(9)的模式識別結果,并通過虛擬手顯示肌電信號控制假手的狀態;SVM訓練模塊(8),用于將各模式的肌電信號數據進行訓練;SVM模式識別模塊(9),用于實時識別DSP目標板(4)采集到的肌電信號;所述顯示控制模塊(7)是一個運行在PC機(5)的操作系統中的Labview程序,所述SVM訓練模塊(8)是一個運行在PC機(5)的操作系統中的Matlab程序,所述SVM模式識別模塊(9)是一個運行在DSP內部的基于SVM分類器的C程序。
2、 根據權利要求1所述的基于PC機及DSP的多自由度肌電假手訓練及 控制系統,其特征在于所述DSP內部的SVM分類器由三個基本識別函數組成, 分別是核函數kernel、兩類間識別函數predict—svm和多類間識別函數 whole_predict—svm,以及頭文件"DSP28—SVM—DEF.h"和"DSP28—SVM— VAR.h",分別存放SVM相關的符號常量及全局變量值。
3、根據權利要求1所述的基于PC機及DSP的多自由度肌電假手訓練及 控制系統,其特征在于SVM訓練模塊(8)中的訓練數據,通過SVM模式識別 模塊(9)主函數內的二維數組進行保存,存儲完畢產生中斷供SVM訓練模塊(8) 提取。在Matlab環境下進行肌電信號的特征提取以及SVM訓練,訓練完畢后 SVM訓練模塊(8)將SVM各項參數重新寫入SVM模式識別模塊(9)中,以用于 肌電模式的實時識別。
全文摘要
基于PC機及DSP的多自由度肌電假手訓練及控制系統,它涉及一種假手控制的肌電信號訓練、在線識別平臺研究及嵌入式實現的裝置,以解決基于向量機建立的肌電模式識別系統還處于實驗室的理論分析階段、沒有實際嵌入式應用的問題。顯示控制模塊用于將來自數據采集卡的肌電信號進行實時繪制并輸出,接收來自SVM模式識別模塊的模式識別結果,顯示肌電信號控制肌電假手的狀態;SVM訓練模塊用于將各模式的肌電信號數據進行訓練;SVM模式識別模塊用于識別DSP目標板采集的肌電信號;顯示控制模塊和SVM訓練模塊運行在PC機操作系統中。本發明建立基于PC機及DSP相結合的肌電假手訓練及控制平臺,為多模式肌電信號的識別提供一種評估驗證以及嵌入式實現裝置。
文檔編號A61F2/54GK101305940SQ20081006487
公開日2008年11月19日 申請日期2008年7月7日 優先權日2008年7月7日
發明者宏 劉, 力 姜, 楊大鵬, 趙京東 申請人:哈爾濱工業大學