基于dsp的假手指運動控制_第1頁
基于dsp的假手指運動控制_第2頁
基于dsp的假手指運動控制_第3頁
基于dsp的假手指運動控制_第4頁
基于dsp的假手指運動控制_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于dsp的假手指運動控制

現(xiàn)在許多科學(xué)家已經(jīng)對殘疾人進行了康復(fù)系統(tǒng)的研究。自從Wiener提出基于肌電信號控制假手這一概念后,出現(xiàn)了很多的肌電假手。先前大多數(shù)的肌電假手使用的是基于肌電模式識別的開/關(guān)控制或者依靠從肌電信號中估計到的力矩控制某一特殊關(guān)節(jié)。然而,隨著假手自由度的增多,很難以較高的準(zhǔn)確率識別出操作者的動作,這主要歸咎于肌電信號的非線性和非平穩(wěn)性。雖然在此后的研究中出現(xiàn)了很多新的信號處理方法提高了肌電模式識別的準(zhǔn)確率,但這些方法往往只適合在PC機環(huán)境下運行(算法計算量較大),并不適合移植到DSP中實時運行。因此,對于嵌入式的多自由度肌電假手控制來說需要找到一種識別率較高而且計算量較小的方法。在作者早期的研究中,開發(fā)了一種新型的三自由度五指欠驅(qū)動仿人型肌電假手系統(tǒng)。該系統(tǒng)在PC機平臺上,利用兩個表面電極采集到的肌電信號實現(xiàn)了對人手拇指、食指和中指彎曲動作的識別,從而完成了對肌電假手的實時控制。模式分類器結(jié)合了自回歸(AR)參數(shù)模型和Levenberg-Marquardt(LM)算法的3層前饋神經(jīng)網(wǎng)絡(luò),對3個屈指動作的平均識別率可以達到99.49%,接近于100%。此后還將該算法成功地應(yīng)用到了新研制的HIT-DLR假手中,實現(xiàn)了基于DSP的假手實時控制??刂菩酒捎肨MS320F2812,控制方式為:在PC機環(huán)境下訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù),在DSP芯片內(nèi)運行神經(jīng)網(wǎng)絡(luò)(參數(shù)不變)。然而,當(dāng)利用相同的特征提取方法,采用3個通道的肌電信號識別手指的6個動作時(拇指、食指和中指的彎曲與伸展),結(jié)果并不理想,平均識別率僅有86.67%,因此需要尋找一種新的控制方法來提高平均識別率。本文引入一種新的肌電信號非線性分析方法——樣本熵。采用AR參數(shù)模型和樣本熵進行特征提取,將彈性反向傳播(RP)算法訓(xùn)練的3層前饋神經(jīng)網(wǎng)絡(luò)進行特征分類。所建立的控制系統(tǒng)框圖如圖1所示。1dsp芯片pc機用來控制假手的肌信號來自于操作者的前臂肌肉,當(dāng)操作者收縮肌肉控制手指運動時可以檢測到該信號。所選擇的前臂肌肉為拇長屈肌、指深屈肌和指伸肌。產(chǎn)生的肌電信號首先由3個OttoBock有源電極采集,然后通過A/D采集卡(采樣頻率為2000Hz)或手掌DSP的A/D端口輸入到PC機(P42.8G)或DSP內(nèi)。PC機內(nèi)的工作是確定神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,然后通過仿真器將這些參數(shù)寫入DSP內(nèi)。而DSP芯片內(nèi)的工作是實時采集肌電信號,并對其進行特征提取和特征分類,識別最終結(jié)果將用來控制假手電機的運動。為了識別操作者動作的開始,指定了一個上升沿閾值。當(dāng)任何一個電極在50ms內(nèi)的信號變化超過事先給定的閾值時,就判斷動作已開始。在這之后200ms內(nèi)的信號將會被采集,作為動作輸入向量進行處理。為了避免不穩(wěn)定的問題,閾值不能太小。但如果閾值過大,檢測的敏感性將會降低。因此,閾值的選擇為肌肉收縮時信號最大幅值的10%。采用該方法,將在信號出現(xiàn)最晚50ms內(nèi)識別出有效信號的到來,加上信號采集時間200ms及信號處理時間(不超過150ms),完全可以認為控制是實時的。(1)ar模型參數(shù)的選取及模型擬合在很短的一段時間內(nèi),肌電信號可以看做是零均值白噪聲過程激勵的一個線性系統(tǒng)所產(chǎn)生的,因而可以用AR模型來分析。使用AR模型的優(yōu)點是肌電信號能夠表示成模型參數(shù)的形式而不包含原始波形數(shù)據(jù)。因此,數(shù)據(jù)的數(shù)量可以急劇減少,而信號的特征可以加強。AR模型的定義為xk=Ρ∑i=1αixk-i+ek(1)xk=∑i=1Pαixk?i+ek(1)式中:xk和xk-i分別為第k個和k-i個采樣數(shù)據(jù),采樣數(shù)據(jù)總數(shù)為400;αi(i=1,2,…,P)為AR模型的參數(shù);ek為白噪聲信號;P為AR模型的階次。P的選取是一個重要的問題。很多學(xué)者利用各種準(zhǔn)則確定肌電信號在采樣頻率為2000Hz時的最佳模型階次為4。作者早期的實驗也表明,AR模型的階次取為4時,對信號的分析和識別性能是最好的,更高階次的模型不會改善分類結(jié)果,而且會使得運算量增大,因此采用4階AR模型。對于3個電極而言,每個動作可以得到一個包含有12個AR模型參數(shù)的動作特征向量。AR模型參數(shù)的計算通常采用最小二乘參數(shù)估計,該方法需要對矩陣進行求逆運算。在早期的研究中發(fā)現(xiàn),對于近似奇異的病態(tài)矩陣,在DSP內(nèi)的運算過程中很難求出其逆矩陣。為回避矩陣求逆運算,在計算AR模型參數(shù)的過程中采用了最小二乘參數(shù)估計的遞推算法,詳細計算步驟見文獻,在此不贅述。(2)構(gòu)建各向異性中nmi的向量熵原本是一個熱力學(xué)概念,是用來描述熱力學(xué)系統(tǒng)混亂(無序)程度的量度。在信息論建立以后,關(guān)于熵的概念和理論得到了發(fā)展。樣本熵是JoshuaS.Richman等人于2000年提出的一種新的生物信號處理方法。在他們文章中,將近似熵與樣本熵做實驗進行了比較,結(jié)果顯示樣本熵更適合用來研究生物時間序列。因此,本文也將其選擇為肌電信號特征參數(shù)提取方法,并與AR模型參數(shù)一起共同作為特征參數(shù)。樣本熵的定義如下:①假設(shè)有一個肌電信號時間序列含有N個數(shù)據(jù),表示為{EMG(j):1≤j≤N}。②構(gòu)建N-m個向量Xm(i),其中{i|1≤i≤N-m},而Xm(i)={EMG(i+k):0≤k≤m-1},是由EMG(i)到EMG(i+m-1)共m個數(shù)據(jù)所組成的向量。③定義兩個向量間的距離d為:d[Xm(i),Xm(j)]=max{|EMG(i+k)-EMG(j+k)|:0≤k≤m-1,1≤i≤N-m,1≤j≤N-m,i≠j},即為兩者對應(yīng)元素中差值最大的一個。④給定域值r,對于每個i≤N-m的值,統(tǒng)計d[Xm(i),Xm(j)]<r的數(shù)目,記為Nm(i),定義如下函數(shù):Brm(i)=Νm(i)Ν-m-1?Bm(r)=1(Ν-m)?n-m∑i=1Brm(i)Brm(i)=Nm(i)N?m?1?Bm(r)=1(N?m)?∑i=1n?mBrm(i)⑤增加維數(shù)到m+1,構(gòu)建N-m個向量Xm+1(i),其中{i|1≤i≤N-m},而Xm+1(i)={EMG(i+k):0≤k≤m},計算Bm+1(r)=1(Ν-m)Bm+1(r)=1(N?m)·n-m∑i=1Br(m+1)(i)。由此,樣本熵可以表示為Esamp(Ν,m,r)=-ln(Bm+1(r)Bm(r))(2)在樣本熵的定義中有3個參數(shù):N,m,r。每次計算時它們必須事先固定。在本文的計算中,N=400(2000Hz下每個電極200ms內(nèi)采集的數(shù)據(jù)),m=2,r=0.2。在計算前,先將原始數(shù)據(jù)進行歸一化,使時間序列的標(biāo)準(zhǔn)偏差為1。對于每個手指動作,用樣本熵進行特征提取方法可以從每個電極采集到的信號中提取到1個特征參數(shù)。2神經(jīng)網(wǎng)絡(luò)設(shè)計第1節(jié)所提到的特征提取方法只是基礎(chǔ)工作,能夠有效地對提取的特征進行分類才是關(guān)鍵所在,一種好的分類器可以為肌電假手提供更可靠的控制信號。采用不同算法訓(xùn)練的3層前饋神經(jīng)網(wǎng)絡(luò)來設(shè)計分類器。在實驗中發(fā)現(xiàn),不同算法訓(xùn)練的網(wǎng)絡(luò)與不同的特征參數(shù)配合其泛化能力是不同的。因此采用了3種網(wǎng)絡(luò)訓(xùn)練算法進行比較實驗,即變學(xué)習(xí)速率(VLR)加動量項算法、RP算法和LM算法。選擇的神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù)為12(單獨采用AR參數(shù)模型)或15(采用AR參數(shù)模型和樣本熵);輸出層節(jié)點數(shù)為6(對應(yīng)拇指、食指和中指的彎曲與伸展動作);隱層節(jié)點數(shù)采用實驗的方法確定,數(shù)量不超過35。網(wǎng)絡(luò)訓(xùn)練的目標(biāo)誤差值設(shè)為10-6(均方誤差)。(1)提高網(wǎng)絡(luò)的速度和收斂能力VLR神經(jīng)網(wǎng)絡(luò)算法是在經(jīng)典反向傳播(BP)算法的基礎(chǔ)上,在修改網(wǎng)絡(luò)權(quán)值和閾值時引入了變學(xué)習(xí)速率和動量項,使網(wǎng)絡(luò)的學(xué)習(xí)速度和收斂能力有了很大提高。對于VLR算法,設(shè)置學(xué)習(xí)速率初值為0.5,調(diào)整值為0.96和1.02,動量項參數(shù)0.95,神經(jīng)網(wǎng)絡(luò)隱層和輸出層的變換函數(shù)均為Log-Sigmoid函數(shù)。(2)網(wǎng)絡(luò)偏微分的修正RP算法神經(jīng)網(wǎng)絡(luò)是本文引入的一種新的網(wǎng)絡(luò)學(xué)習(xí)方法,它是為了解決經(jīng)典BP算法修改網(wǎng)絡(luò)權(quán)值和閾值時利用了偏微分數(shù)值(梯度量)這一不利因素而產(chǎn)生的——當(dāng)梯度值很小時網(wǎng)絡(luò)的更新將會很慢。因此,該方法提出只采用梯度的符號用來指引網(wǎng)絡(luò)更新的方向,權(quán)值和閾值的更改量是由獨立量Δji來完成的。當(dāng)連續(xù)兩次的偏微分數(shù)值同號時,Δji將乘以一個η+;當(dāng)連續(xù)兩次的偏微分數(shù)值異號時,Δji將乘以一個η-;當(dāng)連續(xù)兩次的偏微分數(shù)值之積為零時,Δ保持不變,具體表述為Δ(n)ji={η+?Δ(n-1)ji如果?ξ(n-1)?w(n-1)ji??ξ(n)?w(n)ji>0η-?Δ(n-1)ji如果?ξ(n-1)?w(n-1)ji??ξ(n)?w(n)ji<0Δ(n-1)ji如果?ξ(n-1)?w(n-1)ji??ξ(n)?w(n)ji=0(3)式中:0<η-<1<η+;ξ為目標(biāo)誤差函數(shù);wji為網(wǎng)絡(luò)權(quán)值或閾值。Δji的修正規(guī)則可以表述如下:在每次學(xué)習(xí)時,如果某個權(quán)值或閾值的偏微分改變了符號,那么就表示上一次的修正量太大了,算法已經(jīng)跳出了局部最小,那么Δji將會通過η-減小;如果此次偏微分的符號與上次的符號相同,那么Δji將通過η+加大,同時也加快了收斂的速度。到此,由Δji可以得到權(quán)值或閾值的修正量表達式為Δw(n)ji={-Δ(n)ji如果?ξ(n)?w(n)ji>0+Δ(n)ji如果?ξ(n)?w(n)ji<00如果?ξ(n)?w(n)ji=0(4)然而,這里還有一個例外:如果此次某個權(quán)值或閾值的偏微分改變了符號,這就意味著上一次的修正量太大錯過了最小點,那么在這次操作中就要恢復(fù)到上次操作前的狀況,由于進行了恢復(fù)操作,下次進行偏微分操作一定會導(dǎo)致變號的發(fā)生。為了避免這種對修正量重復(fù)的懲罰性操作,在下次操作時不應(yīng)該更改修正量。在實際計算中,可以通過將當(dāng)前的偏微分值設(shè)置為零來達到該目的。對于RP算法,取Δ初值為0.1,最大值為50.0,最小值為10-6,調(diào)整值分別為0.5和1.2,神經(jīng)網(wǎng)絡(luò)隱層和輸出層的變換函數(shù)均為Log-Sigmoid函數(shù)。(3)非線性最小二乘問題的標(biāo)準(zhǔn)算法LM算法是高斯-牛頓法的改進形式,它既有高斯-牛頓法的局部特性,又有梯度法的全局特性,目前已成為非線性最小二乘問題的標(biāo)準(zhǔn)算法。LM算法在作者早期的研究中,取得了較好的應(yīng)用效果。其具體計算方法在此不贅述,詳見文獻。對于LM算法,取μ的初值為0.01,β的值為10,神經(jīng)網(wǎng)絡(luò)隱層的變換函數(shù)為Log-Sigmoid函數(shù),輸出層變換函數(shù)為線性函數(shù)(輸出層采用Log-Sigmoid函數(shù)不易收斂)。3網(wǎng)絡(luò)識別能力經(jīng)過不同樣本的訓(xùn)練,神經(jīng)網(wǎng)絡(luò)分類器可以適應(yīng)不同的受試者,這在早期的實驗中已經(jīng)驗證。為了驗證所建立系統(tǒng)的性能,實驗只對一健康受試者(具有豐富EMG控制經(jīng)驗)進行。實驗的目的是驗證樣本熵特征參數(shù)的有效性和不同算法神經(jīng)網(wǎng)絡(luò)分類器的性能。從受試者采集到的肌電信號分為兩部分:一部分為訓(xùn)練樣本,用來確定網(wǎng)絡(luò)參數(shù),包含有36組特征參數(shù)(每個手指動作有6組);另一部分為驗證樣本,用來驗證訓(xùn)練后的網(wǎng)絡(luò)的識別能力,包含有60組特征參數(shù)(每個手指動作有10組)。首先基于4階AR模型特征參數(shù),比較3種算法訓(xùn)練網(wǎng)絡(luò)的識別能力,結(jié)果如表1所示。由表1可以看出,采用VLR加動量項算法訓(xùn)練的網(wǎng)絡(luò)(訓(xùn)練時間為5~8s)最高平均識別率可達86.7%,而在作者早期研究中表現(xiàn)非常好的LM算法訓(xùn)練的網(wǎng)絡(luò)(訓(xùn)練時間為9~20s),在識別6個動作時平均識別率最高僅能達到85%。這與神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)變大有關(guān),過多的網(wǎng)絡(luò)權(quán)值和閾值造成了LM算法每次迭代所需時間變長、降低了效率,而且還影響了其泛化能力。而此次新引入的RP算法訓(xùn)練的網(wǎng)絡(luò)平均識別率高可達88.3%,是3種算法中最好的。此外,其1~3s的訓(xùn)練時間也是3種算法中最快的。接下來再基于4階AR模型特征參數(shù)和樣本熵,比較3種算法訓(xùn)練網(wǎng)絡(luò)的識別能力,結(jié)果如表2所示。由表2可以看出,在加入樣本熵參數(shù)后,VLR加動量項算法和LM算法訓(xùn)練的網(wǎng)絡(luò),其識別能力略有下降。而對于RP算法訓(xùn)練的網(wǎng)絡(luò)則正相反,加入樣本熵參數(shù)令平均識別率提高到91.7%,這是在網(wǎng)絡(luò)隱層節(jié)點數(shù)為25時達到的,此時分類器的結(jié)構(gòu)也較簡單。由表1和表2還可以看到,網(wǎng)絡(luò)的識別能力與隱層的節(jié)點數(shù)并沒有規(guī)律可循:識別能力有時會隨節(jié)點數(shù)的增多而增大,有時則隨節(jié)點數(shù)的增多而減小

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論