隋修武,石 峰
(天津工業(yè)大學(xué) 機(jī)械工程學(xué)院,天津 300387)
康復(fù)訓(xùn)練機(jī)器人具有比人工醫(yī)療師輔助訓(xùn)練更多的優(yōu)點(diǎn)而被研究者和康復(fù)工作者所認(rèn)可,目前世界上典型的下肢康復(fù)訓(xùn)練機(jī)器人有LOPES、LOKOMAT、Gait Trainer 和Haptic Walker 等[1]??祻?fù)訓(xùn)練過程一般分為被動(dòng)階段和主動(dòng)階段,主動(dòng)階段期間實(shí)現(xiàn)康復(fù)機(jī)器人與人本體之間的人機(jī)交互,尤其是康復(fù)機(jī)器人與人體自身運(yùn)動(dòng)的協(xié)調(diào)是康復(fù)機(jī)器人運(yùn)動(dòng)規(guī)劃與控制要解決的關(guān)鍵問題之一[2]。傳統(tǒng)的人機(jī)交互多通過力、位置傳感器等進(jìn)行人體運(yùn)動(dòng)意圖預(yù)測(cè)而實(shí)現(xiàn)。利用力、位置傳感器不僅會(huì)使操作者感覺累贅,還會(huì)由于人體運(yùn)動(dòng)與反映意圖的神經(jīng)沖動(dòng)之間存在自然的電-機(jī)延時(shí)現(xiàn)象,從而導(dǎo)致人體運(yùn)動(dòng)意圖的預(yù)測(cè)不可避免的存在滯后,最終只能實(shí)現(xiàn)人體意圖的康復(fù)機(jī)器人部分閉環(huán)控制或不穩(wěn)定控制[3]。近年來基于表征肌肉活動(dòng)的無創(chuàng)的表面肌電信號(hào)預(yù)測(cè)人體運(yùn)動(dòng)意圖也因此成為實(shí)現(xiàn)人機(jī)自然交互的一種重要接口形式[4]。
利用模式識(shí)別技術(shù),通過人體表面肌電信號(hào)對(duì)人體運(yùn)動(dòng)意圖進(jìn)行模式識(shí)別,并基于模式識(shí)別的結(jié)果控制康復(fù)機(jī)器人按照某種運(yùn)動(dòng)軌跡進(jìn)行運(yùn)動(dòng),已成為目前學(xué)術(shù)研究最為成熟的方向之一[5]。但現(xiàn)有康復(fù)機(jī)器人多數(shù)是直接利用模式識(shí)別結(jié)果只作為開關(guān)信號(hào),因此機(jī)器人的運(yùn)動(dòng)也是刻板、不自然、不人性化的。近年來,以圍繞著獲取更加自然的人體運(yùn)動(dòng)意圖,實(shí)現(xiàn)基于表面肌電信號(hào)的連續(xù)運(yùn)動(dòng)預(yù)測(cè)為目的的研究成為熱點(diǎn)之一。Dario Farina 團(tuán)隊(duì)針對(duì)腕關(guān)節(jié)1~2 個(gè)自由度的連續(xù)運(yùn)動(dòng)估計(jì)開展了廣泛的研究,部分研究成果被成功地應(yīng)用于德國(guó)Otto bock 假肢手腕關(guān)節(jié)的肌電控制[6]。該團(tuán)隊(duì)主要采用線性回歸、神經(jīng)網(wǎng)絡(luò)或非負(fù)矩陣分解等方法進(jìn)行肌電-運(yùn)動(dòng)映射關(guān)系的訓(xùn)練。文獻(xiàn)[7-10]分別針對(duì)上肢肩/肘關(guān)節(jié)、手指關(guān)節(jié)的連續(xù)運(yùn)動(dòng)預(yù)測(cè),采用人工神經(jīng)網(wǎng)絡(luò)、卡爾曼濾波、高斯過程回歸等訓(xùn)練方法從肌電信號(hào)解碼出關(guān)節(jié)角度信息?;诩‰娦盘?hào)的人機(jī)接口在人體下肢運(yùn)動(dòng)意圖識(shí)別方面的研究遠(yuǎn)遠(yuǎn)落后于上肢運(yùn)動(dòng)意圖識(shí)別,尤其在連續(xù)運(yùn)動(dòng)預(yù)測(cè)方面。
針對(duì)當(dāng)前下肢連續(xù)運(yùn)動(dòng)預(yù)測(cè)精度低的問題,本實(shí)驗(yàn)提出一種基于改進(jìn)的MPSO-SVM 算法對(duì)下肢連續(xù)運(yùn)動(dòng)預(yù)測(cè)模型進(jìn)行建模的方法。即引進(jìn)指數(shù)函數(shù)和正弦函數(shù)對(duì)PSO 算法的慣性因子ω 進(jìn)行優(yōu)化,使用改進(jìn)后的MPSO 算法對(duì)SVM 算法的參數(shù)進(jìn)行最優(yōu)化處理,并建立連續(xù)運(yùn)動(dòng)預(yù)測(cè)模型。最終通過實(shí)驗(yàn)的方式對(duì)該算法進(jìn)行有效驗(yàn)證。
支持向量機(jī)(SVM)是1995 年首次提出的一種分類技術(shù)[11],用于模式識(shí)別和非線性回歸。其主要思想是將低位向量映射到高維空間,在高維空間找出輸入量與輸出量之間的映射關(guān)系。
SVM 的最優(yōu)權(quán)值向量ω*和最優(yōu)偏置b*為
式中:αi*為支持向量,αi*=[α1*,α2*,…,αM*]T,αi*> 0,i=1,2,…,M,M < N。
選擇徑向基核函數(shù)(radial basis function,RBF),RBF 核函數(shù)為:
相應(yīng)于核函數(shù)將之前的分類函數(shù)映射成
式中:xi為支持向量機(jī);x 為未知的輸入向量;K(xi,x)=K(xi)·K(x)。
粒子群優(yōu)化算法(PSO)將所要尋優(yōu)問題的每個(gè)解都稱為一個(gè)粒子,設(shè)由n 個(gè)粒子組成的群體對(duì)Q 維(每個(gè)粒子的維數(shù))空間進(jìn)行搜索,每個(gè)粒子i 對(duì)應(yīng)的位置記為 xi=[xi1,xi2,…,xiQ]T,每個(gè)粒子 i 對(duì)應(yīng)的速度記為 vi=[vi1,vi2,…,viQ]T,當(dāng)前每個(gè)粒子 i 搜索到的歷史最優(yōu)位置記為 Pi=[pi1,pi2,…,piQ]T,當(dāng)前全部粒子搜尋到的全局最優(yōu)位置記為 Pg=[pg1,pg2,…,pgQ]T[12]。
粒子的速度和位置的更新方程為:
慣性因子ω 的大小對(duì)算法的收斂速度和尋優(yōu)精度起著關(guān)鍵性作用[13]。根據(jù)粒子適應(yīng)度值的大小將粒子進(jìn)行等級(jí)劃分,對(duì)每個(gè)等級(jí)的粒子采用不同策略進(jìn)行慣性因子調(diào)整,是每個(gè)粒子都能根據(jù)各自的適應(yīng)度值選擇合適的慣性因子ω,從而使粒子收斂到全局最優(yōu)位置。為提高算法運(yùn)行效率,將粒子分為2 個(gè)等級(jí)。
對(duì)每次進(jìn)化中所有粒子的慣性因子ω 采取自適應(yīng)調(diào)整,具體步驟為:
(1)計(jì)算該種群中所有粒子的適應(yīng)度值的平均值favg,種群中有n 個(gè)粒子,記該種群第i 個(gè)粒子的適應(yīng)度值大小為fi,則
(2)適應(yīng)度值大于favg的粒子,由于它們更加接近最優(yōu)解(C,σ),慣性因子ω 應(yīng)設(shè)置很小的值。若慣性因子ω 為固定值,算法很容易陷入局部?jī)?yōu)化,很難達(dá)到全局尋優(yōu)效果。為克服上述缺點(diǎn),本文提出一種基于指數(shù)函數(shù)遞減的方式,以保證種群在搜索初期保持較大的速度進(jìn)行,在搜索中讓搜索速度快速下降,使粒子更容易收斂到全局最優(yōu)。
式中:k=1,2,…,A;A 為最大迭代次數(shù);ω(k)為第 k 個(gè)粒子的慣性因子;ωstart和ωend分別為設(shè)置的最大的慣性因子和最小的慣性因子。一般ωstart=0.9;ωend=0.4。
(3)小于等于favg的粒子,它們的性能較差,慣性因子ω 應(yīng)設(shè)置很大,從而加強(qiáng)了粒子的搜尋能力,更快更精確地向最優(yōu)解(C,σ)靠近。為使這些粒子在進(jìn)化前期較長(zhǎng)時(shí)間內(nèi)保持很強(qiáng)的大范圍搜索能力以提高搜索效率,在進(jìn)化中期有較小范圍的精細(xì)搜索以提高搜索精度,后期又能快速收斂到全局最優(yōu)位置。因此在Shi Y 提出的線性遞減動(dòng)態(tài)調(diào)整慣性因子的策略
的基礎(chǔ)上進(jìn)行改進(jìn),并引入正弦函數(shù),非線性遞減動(dòng)態(tài)的調(diào)整慣性因子,從而可以很好地表示這些粒子的ω 大小變化。即:
綜上所述,自適應(yīng)調(diào)整第i 個(gè)粒子的慣性因子ωi的計(jì)算公式為
式中:k=1,2,…,A;ωi為第 i 個(gè)粒子的慣性因子。
采用MPSO 算法對(duì)SVM 中的參數(shù)C 和σ 進(jìn)行優(yōu)化,算法原理圖如圖1 所示。
圖1 MPSO-SVM 算法流程圖Fig.1 Flow chart of MPSO-SVM algorithm
MPSO-SVM 算法主要步驟為:
(1)將所有樣本數(shù)據(jù)分為兩部分,即訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù);
(2)初始化粒子群,主要包括PSO 的參數(shù)ω、c1、c2、A 和 n,設(shè)置適應(yīng)度誤差 e,并設(shè)置 SVM 分類器參數(shù)范圍,即懲罰因子C 的范圍[Cmin,Cmax]、核函數(shù)參數(shù)σ的范圍[σmin,σmax]、初始化粒子的位置 xi0和速度 vi0以及每個(gè)粒子各自的最優(yōu)位置pi和pg;
(3)計(jì)算出每個(gè)粒子的新的適應(yīng)度值fi,根據(jù)式(8)選擇合適的慣性因子,完成粒子位置和速度的更新;
(4)將粒子的適應(yīng)度值 fi與 pi時(shí)的適應(yīng)度值f(pi)進(jìn)行比較,若fi>f(pi)或滿足|fi- f(pi)|≤e 且C(xi)<C(pi),則更新pi,將粒子的適應(yīng)度值與pg時(shí)的適應(yīng)度值f(pg)進(jìn)行對(duì)比,若fi>f(pg)或者滿足|fi- f(pg)|≤e 且C(xi)<C(pg),則更新pg;
(5)判斷進(jìn)化次數(shù)a 是否小于或等于最大進(jìn)化次數(shù)A,若小于或等于則返回到(3),否則結(jié)束進(jìn)化過程;
(6)輸出最優(yōu)解(C,σ),并創(chuàng)建 SVM 分類器,進(jìn)行模型訓(xùn)練和分類預(yù)測(cè)。
本文選取6 位年齡均為22~26 歲健康的在校研究生作為受試者,所有受試者都不存在下肢運(yùn)動(dòng)損傷或其他影響下肢正常運(yùn)動(dòng)的疾病。在信息采集時(shí),將表面肌電信號(hào)與髖關(guān)節(jié)角度、加速度的采集頻率都設(shè)置為1 kHz,用以保證信息采集的同步性。同時(shí),本實(shí)驗(yàn)利用高速相機(jī)記錄下實(shí)驗(yàn)者實(shí)驗(yàn)過程,用于判斷運(yùn)動(dòng)起止時(shí)刻,以及記錄下髖關(guān)節(jié)運(yùn)動(dòng)角度,與BWT901CL型姿態(tài)角度傳感器記錄的角度進(jìn)行對(duì)比,避免角度記錄出現(xiàn)偏差。經(jīng)試驗(yàn)測(cè)得髖關(guān)節(jié)活動(dòng)范圍[-65°~85°]。
2.1.1 肌電信號(hào)采集
圖2 為測(cè)量肌肉和行走時(shí)的肌電信號(hào)圖。
圖2 肌電信號(hào)采集Fig.2 EMG signal acquisition
根據(jù)下肢肌肉肌電信號(hào)強(qiáng)弱和肌肉相似度大小的原則,選取股直肌、股內(nèi)側(cè)肌、半腱肌和腓腸肌等四塊肌肉作為肌電信號(hào)采集對(duì)象,如圖2(a)所示。使用非侵入式表面電極、NI9205 采集卡和四通采集電路組成的采集系統(tǒng)對(duì)表面肌電信號(hào)進(jìn)行采集,采樣頻率為1 kHz,信號(hào)經(jīng)濾波電路輸出,如圖2(b)所示。實(shí)驗(yàn)中,實(shí)驗(yàn)者在規(guī)定的時(shí)間內(nèi)完成特定距離的平地自然行走,記錄下行走時(shí)四塊肌肉的肌電信息、髖關(guān)節(jié)角度和下肢加速度大小。
2.1.2 髖關(guān)節(jié)角度及加速度采集
本實(shí)驗(yàn)采用了BWT901CL 型姿態(tài)角度傳感器,該傳感器配合動(dòng)態(tài)卡爾曼濾波算法,在動(dòng)態(tài)環(huán)境下測(cè)量精度0.05°,可同時(shí)輸出x 軸、y 軸和z 軸的加速度信息和髖關(guān)節(jié)角度。實(shí)驗(yàn)時(shí),規(guī)定被測(cè)試對(duì)象在2.5 s 內(nèi),沿同一直線走過相同距離,采集的信息作為有效活動(dòng)信息。
2.2.1 下肢表面肌電信號(hào)特征提取
肌電信號(hào)、加速度特征值的提取是進(jìn)行關(guān)節(jié)角度預(yù)測(cè)的基礎(chǔ),特征值選取是否合理直接影響預(yù)測(cè)結(jié)果。
目前,針對(duì)sEMG 信號(hào)的處理方法主要有時(shí)域分析和頻域分析方法兩個(gè)方面。本實(shí)驗(yàn)選擇時(shí)域分析法中最能反映肌電信號(hào)特征的均方根值(root mean square,RMS)和積分肌電值(integral EMG)而后者又取決于肌肉負(fù)荷性因素和肌肉本身的生理、生化過程之間的內(nèi)在聯(lián)系[14]。因此,上述時(shí)域分析指標(biāo)常被用于實(shí)時(shí)地、無損傷地反映肌肉活動(dòng)狀態(tài),具有較好的時(shí)效性。
RMS 值和iEMG 值的計(jì)算公式分別為:
式中:xi為單通道 sEMG 信號(hào)序列,i=1,2,…,N;N 表示用來計(jì)算特征值的肌電信號(hào)序列長(zhǎng)度,本文選擇N=60 個(gè)樣本點(diǎn)。
在對(duì)sEMG 信號(hào)進(jìn)行特征值提取時(shí),采用移動(dòng)窗分割的方法,如圖3 所示。
圖3 肌電信號(hào)數(shù)據(jù)分割方式Fig.3 EMG signal data segmentation method
以股直肌為例,窗長(zhǎng)度為L(zhǎng),每次平移a 個(gè)長(zhǎng)度。為提高數(shù)據(jù)魯棒性,保證滿足a=L/2 條件,確保每次都有一半信號(hào)是疊加的。
2.2.2 下肢加速度特征提取
加速度傳感器能夠采集人身體三軸方向的加速度,根據(jù)人體運(yùn)動(dòng)時(shí)其三軸方向的加速度會(huì)發(fā)生變化,身體運(yùn)動(dòng)越劇烈,其合加速度越大。因此提出信號(hào)幅度域(SMA)表征單位時(shí)間內(nèi)身體運(yùn)動(dòng)劇烈程度[15-16],其公式為:
式中:T 為移動(dòng)窗時(shí)間寬度,本文選擇T = 0.3 s,即60 個(gè)采樣點(diǎn)與表面肌電信號(hào)特征值提取保持相同時(shí)間。加速度SMA 值與髖關(guān)節(jié)角度如圖4 所示。
圖4 加速度的SMA 值與髖關(guān)節(jié)角度值Fig.4 Acceleration SMA value and hip joint angle value
按上述方法進(jìn)行特征提取,可得40×9 維特征矩陣,為將肌電特征值與加速度特征值進(jìn)行更好融合,并降低特征矩陣維數(shù),本文采用主成分分析算法進(jìn)行特征值的融合。主成分分析(PCA)是一種數(shù)據(jù)壓縮和特征提取的多元統(tǒng)計(jì)分析技術(shù),旨在利用降維的思想,把多指標(biāo)轉(zhuǎn)化為少數(shù)幾個(gè)綜合指標(biāo)[17-18]。從結(jié)果中提取前9 個(gè)主成分累積貢獻(xiàn)率達(dá)到90%,可概括原始特征值,取前9 個(gè)主成分為篩選后的特征值,見表1。
表1 主成分的累積貢獻(xiàn)率Tab.1 Accumulative cumulative contribution rate of principal component
本研究的目的是提出一種改進(jìn)的MPSO 優(yōu)化算法對(duì)SVM 算法進(jìn)行優(yōu)化,使用優(yōu)化后的SVM 算法進(jìn)行關(guān)節(jié)連續(xù)運(yùn)動(dòng)預(yù)測(cè),通過對(duì)6 位為受試者的實(shí)驗(yàn)數(shù)據(jù)的采集,驗(yàn)證該算法的有效性,并將改進(jìn)算法的預(yù)測(cè)結(jié)果與SVM 算法和BP 神經(jīng)網(wǎng)絡(luò)等算法的預(yù)測(cè)效果進(jìn)行對(duì)比。為評(píng)估預(yù)測(cè)方法的準(zhǔn)確性,本研究采用均方根誤差(R)來評(píng)估關(guān)節(jié)角度預(yù)測(cè)值與關(guān)節(jié)角度測(cè)量值之間的相似程度。設(shè)θ?為髖關(guān)節(jié)實(shí)際測(cè)量值θ 的預(yù)測(cè)值。均方根誤差為:
式中:M 為關(guān)節(jié)角度樣本數(shù);θ?i為第 i 個(gè)關(guān)節(jié)角度預(yù)測(cè)值;θi為其實(shí)際測(cè)量角度。
將2 000 個(gè)樣本數(shù)據(jù)分成2 份:一份1 200 個(gè)作為模型訓(xùn)練數(shù)據(jù);另一份800 個(gè)樣本作為實(shí)際試驗(yàn)數(shù)據(jù)。經(jīng)改進(jìn)后的MPSO-SVM 算法可準(zhǔn)確預(yù)測(cè)不同時(shí)刻人體正常行走時(shí)髖關(guān)節(jié)角度變化趨勢(shì),并精確地預(yù)測(cè)出該時(shí)刻的運(yùn)動(dòng)角度,如圖5 所示。
圖5 改進(jìn)的MPSO-SVM 算法預(yù)測(cè)結(jié)果Fig.5 Prediction results of improved MPSO-SVM algorithm
為進(jìn)一步驗(yàn)證該改進(jìn)算法的優(yōu)越性,本實(shí)驗(yàn)設(shè)置了與SVM 算法和BP 神經(jīng)網(wǎng)絡(luò)算法兩個(gè)算法的對(duì)照試驗(yàn)。同等條件下,參數(shù)設(shè)置一致,并且模型訓(xùn)練樣本和測(cè)試樣本完全一樣的情況下,使用SVM 算法和經(jīng)典的BP 神經(jīng)網(wǎng)絡(luò)算法對(duì)髖關(guān)節(jié)角度進(jìn)行預(yù)測(cè),結(jié)果如圖6 所示。
圖6 預(yù)測(cè)結(jié)果對(duì)比Fig.6 Comparison of prediction results
本實(shí)驗(yàn)使用均方根誤差R 來評(píng)估預(yù)測(cè)值與實(shí)際值的精確程度,如表2 所示。
表2 所有對(duì)比結(jié)果精確度統(tǒng)計(jì)Tab.2 Accuracy statistics for all comparison results
為更加全面衡量該算法效果,表2 中增加了對(duì)算法預(yù)測(cè)結(jié)果的最大絕對(duì)誤差和平均誤差的記錄。由表2 可見,改進(jìn)的MPSO-SVM 算法在800 個(gè)測(cè)試樣本中最大絕對(duì)誤差為7.72°,平均誤差為1.40°,均方根誤差2.67。由此可見,改進(jìn)的MPSO-SVM 算法的預(yù)測(cè)效果和精確度遠(yuǎn)遠(yuǎn)優(yōu)于SVM 算法和BP 神經(jīng)網(wǎng)絡(luò)算法的預(yù)測(cè)結(jié)果。
人體連續(xù)運(yùn)動(dòng)關(guān)節(jié)角度的預(yù)測(cè)對(duì)康復(fù)機(jī)器人的研究至關(guān)重要,如何提高人體連續(xù)運(yùn)動(dòng)關(guān)節(jié)角度精度是研究重點(diǎn)。得到主要結(jié)論如下:
(1)本文通過對(duì)6 名在校研究生進(jìn)行數(shù)據(jù)采集實(shí)驗(yàn),采集受試著在做適度行走時(shí)左腿股內(nèi)側(cè)肌、股直肌、半腱肌和腓腸肌等四塊肌肉肌電信號(hào),以及下肢加速度信號(hào)和髖關(guān)節(jié)角度信息。將所采集的原始信息進(jìn)行預(yù)處理和特征提取。為提高原始信息的利用效率,以及降低特征矩陣維數(shù),本實(shí)驗(yàn)利用主成分分析算法(PCA)將肌電信號(hào)的特征值和加速度特征值所組成的特征矩陣進(jìn)行降維處理,利用降維后的特征向量進(jìn)行髖關(guān)節(jié)角度預(yù)測(cè)。
(2)為解決下肢連續(xù)運(yùn)動(dòng)情況下關(guān)節(jié)角度預(yù)測(cè)精度低的問題。本文提出改進(jìn)的MPSO-SVM 算法,通過引進(jìn)正弦函數(shù)和指數(shù)函數(shù),對(duì)PSO 算法的慣性因子ω進(jìn)行優(yōu)化,增強(qiáng)PSO 算法全局和局部尋優(yōu)的協(xié)調(diào)能力,從而實(shí)現(xiàn)對(duì)SVM 算法的最佳優(yōu)化效果。從預(yù)測(cè)結(jié)果分析,改進(jìn)的MPSO-SVM 算法預(yù)測(cè)的均方根誤差為2.67,遠(yuǎn)遠(yuǎn)小于SVM 算法的21.27 和BP 神經(jīng)網(wǎng)絡(luò)的 23.60;平均誤差為 1.40°,小于 SVM 算法的 8.02°和BP 神經(jīng)網(wǎng)絡(luò)的13.59°;針對(duì)每一時(shí)刻預(yù)測(cè)效果而言,改進(jìn)的MPSO-SVM 算法的最大絕對(duì)誤差為7.72°,預(yù)測(cè)誤差僅為髖關(guān)節(jié)角度范圍的5.51%,更是優(yōu)于SVM算法的41.7%和BP 神經(jīng)網(wǎng)絡(luò)的45.49%。
(3)改進(jìn)的MPSO-SVM 算法可有效改善下肢連續(xù)運(yùn)動(dòng)情況下髖關(guān)節(jié)角度預(yù)測(cè)精度低的問題。但本實(shí)驗(yàn)僅對(duì)在校研究生進(jìn)行實(shí)驗(yàn),為進(jìn)一步提高該算法的預(yù)測(cè)精度,還需更多實(shí)驗(yàn)進(jìn)行驗(yàn)證。