張磊, 王文東, 史儀凱, 劉佳豪, 褚陽, 明杏
(西北工業(yè)大學(xué) 機電學(xué)院, 陜西 西安 710072)
因肌電信號表征著人體的運動狀態(tài)和意圖,所以可以利用肌電信號作為外骨骼機械臂的控制信號。雖然對肌電信號和外骨骼機械臂的研究很早就已經(jīng)開展,但是至今為止,現(xiàn)在的外骨骼機械臂的結(jié)構(gòu)和控制算法的適應(yīng)性都仍有一定的缺陷。因此不斷完善外骨骼機械臂的控制策略以保證較好的運動特性對于完善患者進行康復(fù)訓(xùn)練的體系具有十分重要的作用和意義。另外在一些康復(fù)訓(xùn)練中心,主要依靠一些簡單外骨骼來幫助患者進行康復(fù)訓(xùn)練。但是目前的康復(fù)運動不能反映患者的真實意圖。
人體的肌電信號中含有大量的與人體運動相關(guān)的信息,從肌電信號中識別患者的運動意圖是控制機械臂輔助人體運動的關(guān)鍵。Cavallaro等[1]設(shè)計了一套上肢七自由度外骨骼。運動預(yù)測采用的是改進的Hill肌肉模型。利用28導(dǎo)的肌電信號采集儀采集肌電信號,并用遺傳算法進行模式識別,進而估計上肢3個自由度的角度變化,但是該實驗需要的肌電傳感器較多,并且正確率也不高。張峰等[2]采集人體下肢肌電信號,并將肌電信號導(dǎo)入神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,實現(xiàn)對下肢運動意圖的分析,進而估計出下肢踝關(guān)節(jié)、膝關(guān)節(jié)和臀關(guān)節(jié)角度的變化。結(jié)果表明通過人體肌電信號值能很好地預(yù)測人體下肢角度變化。張琴等[3]利用獲得的下肢肌電信號,通過支持向量機對肌電-運動的映射關(guān)系進行訓(xùn)練,實現(xiàn)對下肢髖關(guān)節(jié)、踝關(guān)節(jié)以及膝關(guān)節(jié)的矢狀面進行連續(xù)運動預(yù)測,結(jié)果表明,基于肌電信號的下肢多關(guān)節(jié)連續(xù)運動預(yù)測在行走時控制適當?shù)乃俣仁强尚械?。丁其川等[4]對肌電信號的離散控制和連續(xù)運動估計進行了綜合討論。離散控制較為簡單,通過不同的離散控制量直接驅(qū)動不同的運動模塊,以實現(xiàn)肌電信號的離散控制。目前國內(nèi)的研究主要集中在下肢關(guān)節(jié)的運動跟隨,對上肢的離散模式估計研究較少。
本文建立了基于BP神經(jīng)網(wǎng)絡(luò)的離散運動控制模型,利用肌電信號對患者的離散運動模式進行識別,通過模式識別的正確率評價模型性能。本文對建立的離散運動模型進行了實驗,結(jié)果表明離散運動控制模型具有較高的正確率。
人體的上肢有許多自由度,要實現(xiàn)對人體上肢所有自由度的運動預(yù)測是十分困難的。本文設(shè)計了一款便攜式的外骨骼機械臂,主要使用對象是康復(fù)訓(xùn)練的患者,患者在使用時要將外骨骼戴在身上進行訓(xùn)練,故要求此外骨骼機械臂要體積小、強度高、質(zhì)量輕。另外,要保證此外骨骼機械臂的安全性,所以在設(shè)計時要綜合考慮人體工程學(xué)理論。
在對外骨骼機械臂進行結(jié)構(gòu)設(shè)計前,應(yīng)首先對人體的生理結(jié)構(gòu)進行研究。通過對人體的上肢進行觀察,發(fā)現(xiàn)人體上肢是由多個關(guān)節(jié)組合,為了設(shè)計一種便攜式的外骨骼機械臂,本文選取了手掌腕部擺動、前臂側(cè)向運動和肘關(guān)節(jié)轉(zhuǎn)動3個自由度進行設(shè)計,各關(guān)節(jié)自由度選擇位置如圖1所示。
圖1 人體上肢自由度
為了保證患者康復(fù)訓(xùn)練時的安全性,經(jīng)查閱與人體工程學(xué)理論和醫(yī)學(xué)康復(fù)理論的相關(guān)文獻,結(jié)合李慶玲等[5]對人體上肢極限運動范圍的研究和本人對成年人體工程學(xué)的研究,得知人體手掌擺動時在腕部處的運動范圍極限位置為-90°~90°(取伸掌時手心朝后為-90°,手心朝前為90°,手掌與小臂同共面定義為0°),為了保持患者安全,此范圍取為-45°~45°;人體前臂向側(cè)向旋轉(zhuǎn)時的運動范圍為-90°~90°(取小臂內(nèi)側(cè)面向大臂內(nèi)側(cè)為-90°,小臂內(nèi)側(cè)背向大臂內(nèi)側(cè)時為90°);人體肘關(guān)節(jié)的運動范圍為0°~180°(取小臂與大臂共線時為0°),考慮到不同患者的上肢粗細不同,為保障患者康復(fù)訓(xùn)練時的安全性,選定上肢外骨骼機械臂的肘關(guān)節(jié)運動角度范圍為0°~90°(取上肢自然下垂為0°,小臂水平為90°),各個自由度的角度定義如圖2所示。
圖2 各自由度的運動角度定義
綜合考慮以上的設(shè)計要求,通過對不同的成年人進行實際測量,最終選擇較為合適的尺寸,具體的上肢外骨骼機械臂三維模型如圖3所示。
圖3 外骨骼機械臂三維模型
雖然肌電信號蘊藏著大量的信息,但是其非常弱且易受到外界干擾,因此對信號的采集和處理提出了苛刻的要求。采集到的肌電信號必須經(jīng)過進一步的信號處理才能提取到有用的信息,在信號處理前一般需要經(jīng)過預(yù)處理。預(yù)處理的方式通常有:信號放大、濾波去噪、信號的偏置和歸一化等。
1) 表面肌電信號放大
肌電信號的幅值一般在0~5 mV之間,必須對信號進行放大處理。若沒有經(jīng)過放大則會導(dǎo)致信號失真等問題。信號的放大可以采用放大電路來實現(xiàn),本文采用的肌電信號傳感器內(nèi)置有1 000倍的信號放大電路,輸出的信號幅值在0~5 V之間。
2) 表面肌電信號去噪
本文的采樣率為1 000 Hz,肌電信號采集傳感器內(nèi)置有10~1 000 Hz的帶通濾波電路,可以濾除部分的低頻干擾和高頻干擾,之后為了使信號變得更加平滑,再利用卡爾曼濾波對信號進行處理。
肌電信號經(jīng)過傳感器帶通濾波后,仍含有高頻干擾,肌電信號有用頻率主要集中在20~200 Hz,為了去除200 Hz以上的高頻干擾,本文加入了一種數(shù)字濾波器以實現(xiàn)此處的濾波。利用Matlab中的FDATOOL插件設(shè)計了一種濾除200 Hz以上高頻干擾的64階FIR低通數(shù)字濾波器。
3) 肌電信號的歸一化和去偏置
在采集肌電信號的過程中,不可避免地會使肌電傳感器電極的放置位置和所受的預(yù)緊力發(fā)生輕微改變。由于電極位置的輕微變動或者其他原因,往往會導(dǎo)致采集信號幅值發(fā)生變化。為了避免幅值變化所引起的干擾,在信號處理時,往往需要對信號進行歸一化處理,將信號歸一化到[-1,1]。
由于STM32單片機的ADC只能采集正電壓,而肌電原始信號有正電壓也有負電壓,所以在傳感器內(nèi)部設(shè)置有一個2.5 V的偏置電路,使原始的肌電信號整體增加了一個直流分量,滿足了STM32的采集條件。由于肌電傳感器能夠輸出的肌電信號幅值是5 V,而STM32單片機的ADC最高允許輸入電壓是3.3 V,所以需要對傳感器輸出的肌電信號進行分壓處理。
肌電傳感器采集到的肌電信號如圖4所示,將信號進行FIR數(shù)字濾波、卡爾曼濾波、偏置、歸一化和放大等預(yù)處理后,肌電信號如圖5所示。
圖4 肌電傳感器采集到的肌電信號
圖5 預(yù)處理后的肌電信號
如何從所采集到的信號中提取出有用信息是肌電信號處理的關(guān)鍵。肌電信號的特征值是從肌電信號中提取出來能夠表征肌電信號特征的一類值。特征值的提取方法多種多樣,Purushothaman等[6]采用小波系數(shù)作為特征值。Chen等[7]利用了改進的近似熵來表征表面肌電信號。肌電信號的特征值的提取主要包括3個大方面:時域、頻域和時頻域特征值的提取。
1) 時域特征值提取
時域特征值提取方法:絕對值積分
(2)
式中,N為采樣點數(shù);xi為信號的幅值。
2) 頻域特征值提取
頻域幅值標準差:傅里葉變換可以將信號從時域轉(zhuǎn)換到頻域來觀察,通過對轉(zhuǎn)換之后的頻譜進行分析,可以觀察到時域所觀察不到的信息。同時可以觀察各個頻率分量的幅值,以及整個肌電信號的主要頻率分布。進行傅里葉變換也便于對噪音信號進行觀察,從而利用濾波器去除噪音。
傅里葉變換之后的平均幅值和幅值方差能夠在一定程度上表征信號的特征,都可以作為肌電信號的特征值來判定肌肉纖維的活躍程度,本文采用傅里葉變換之后的平均幅值作為特征值。
3) 小波變換系數(shù)
小波變換又稱為“數(shù)字顯微鏡”,可以對采集到的肌電信號從不同的角度和尺度進行觀察和分析,小波變換類似于加窗傅里葉變換,其可以將信號在不同頻率上進行分解。因為小波系數(shù)能夠在一定程度上反映肌電信號的特征,且具有很好的分辨性,所以經(jīng)常作為肌電信號的特征值使用。
由于肌電信號中含有表征肌電機體運動趨勢的信息,Batzianoulis等[8]提出了一種新的學(xué)習方法,可以實現(xiàn)對手部的抓取意圖進行解碼。從肌電信號提取的特征值就直接體現(xiàn)了人體的運動意圖,將提取的肌電信號特征值輸入到訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)中,BP神經(jīng)網(wǎng)絡(luò)就會輸出對應(yīng)的模式,以此實現(xiàn)模式識別。再根據(jù)不同的模式驅(qū)動不同的控制模塊,這樣就可以實現(xiàn)利用肌電信號對外骨骼機械臂的控制。
圖6 肌電信號離散運動控制模型
通過丁其川等[4]對肌電信號的離散控制和連續(xù)運動估計進行了綜合的討論可知,肌電信號的控制分為離散控制和連續(xù)控制。通過不同的離散控制量直接驅(qū)動不同的運動模塊,以實現(xiàn)肌電信號的離散控制,離散運動控制的具體過程如圖6所示。本文利用肌電信號的離散控制模型驅(qū)動外骨骼機械臂運動。首先采集肱二頭肌和肱三頭肌處的肌電信號,然后對肌電信號分別提取時域信號的標準差、頻域幅值的標準差以及小波系數(shù)標準差3個特征值。為了減小外界干擾引起特征值的突變和肌電信號特征值漂移帶來的影響,可以將3個特征值進行加權(quán)求和作為最終特征值。3個特征值的“權(quán)”均為33.3%。有時計算的最終特征值波動較強,可以利用卡爾曼濾波進行一次消抖處理,最后將其特征值作為BP神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)。從時域、頻域和時頻域提取的特征值轉(zhuǎn)化為最終特征值的具體過程如圖7所示。
圖7 特征值提取模型
實驗數(shù)據(jù)采集過程為:首先讓肌肉自然放松,之后將小臂放松10 s,然后有意識將小臂往下壓使肱三頭肌收縮并持續(xù)10 s;然后再將小臂放松10 s,之后再將小臂往上抬起使肱二頭肌收縮并持續(xù)20 s;最后將小臂再放松10 s后停止采集。分別對從肱二頭肌和肱三頭肌的肌電信號中提取出的特征值進行進一步處理和變換,對從時域、頻域和時頻域得到的特征值進行加權(quán)求和,利用卡爾曼濾波進行消抖平滑處理可得到最終的特征值分別如圖8和圖9所示。
圖8 肱二頭肌處得到的最終特征值
圖9 肱三頭肌處得到的最終特征值
同單隱含層相比,多隱含層泛化能力強,預(yù)測精度高,但是訓(xùn)練時間較久,對于簡單的映射關(guān)系,在網(wǎng)絡(luò)精度達到要求的情況下可以選擇單隱含層。本文要求的實驗是實時性的,因此選擇單隱含層。對于復(fù)雜的非線性模型,網(wǎng)絡(luò)預(yù)測誤差隨著節(jié)點數(shù)增加會出現(xiàn)先減少后增加的趨勢,對于簡單的非線性模型,會隨著隱含層節(jié)點數(shù)的增加誤差逐漸減少。但是隱含層節(jié)點越多所消耗的時間越長。本文選定的非線性模型僅有2個輸入1個輸出,相對簡單,同時又要求實時性,因此經(jīng)過對比選擇了6個節(jié)點。在保證誤差的范圍下,為了方便運算,采用的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為:輸入層有2個節(jié)點,分別作為在肱二頭肌和肱三頭肌特征值的輸入節(jié)點。隱含層采用tansig傳遞函數(shù)。輸出層有1個神經(jīng)元,采用purelin傳遞函數(shù)。BP神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果為識別出的模式,代表著人體的運動意圖。通過識別出小臂放松、小臂抬升、小臂下降的運動意圖,實時控制電機的停止、正轉(zhuǎn)和逆轉(zhuǎn),以實現(xiàn)外骨骼機械臂輔助患者運動。
1) 肌電信號離散控制外骨骼機械臂的實驗中所用到的實驗設(shè)備主要有:肌電傳感器、STM32單片機開發(fā)板、外骨骼機械臂、恒壓源,如圖10所示。
2) 在進行離散運動控制實驗時,要將外骨骼機械臂穿在測試者身上,要求將六軸陀螺儀傳感器固定在測試者的手心中,如圖10所示。要保證六軸陀螺儀傳感器JY61的x軸與小臂共線,實驗時通過測量x軸或z軸的角度變化量就可以計算出人體肘關(guān)節(jié)所轉(zhuǎn)過的角度。
圖10 實驗設(shè)備
本文通過模式識別結(jié)果的正確率來分析系統(tǒng)性能。為了更好地測試出本文所設(shè)計的基于肌電信號離散運動控制模型的性能,選取了8位身體指標不同的人員進行實驗測試,測試人員的身體指標如表1所示。對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練的特征值取自于測試者A。
表1 測試人員身體指標
根據(jù)以上的理論分析,本實驗通過采集人體肱二頭肌和肱三頭肌的肌電信號提取特征值,設(shè)定訓(xùn)練次數(shù)為10 000,學(xué)習率為0.01,目標誤差為0.000 1,將提取的肌電信號特征值進行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練。當BP訓(xùn)練好以后,將被試者的肌電信號導(dǎo)入到BP神經(jīng)網(wǎng)絡(luò)進行模式識別,通過識別的模式實時控制機械臂的運動。
為了檢測此控制系統(tǒng)的對不同個體的適應(yīng)能力,本實驗對8位不同測試者個體進行了測試。實驗中對每個測試者進行小臂放松、小臂抬升和小臂下降3種模式的識別,每個運動意圖進行了100次的識別,計算其模式識別的正確率,測試結(jié)果如表3所示。從表2可以看出3種模式的平均識別正確率都達到90%以上。
表3 離散運動意圖模式識別正確率
本文設(shè)計了一套三自由度的上肢外骨骼機械臂。并對肌電信號進行了預(yù)處理和提取特征值,利用BP神經(jīng)網(wǎng)絡(luò)建立了外骨骼離散控制模型。對3種離散模式進行了實驗驗證,結(jié)果表明3種模式的正確率都能達到90%以上。