陶陳逸1,, 蘇振新2,, 丁佳偉2, 黃志成1,, 陸文娟2
1. 南京郵電大學(xué) 地理與生物信息學(xué)院,,江蘇 南京 210023,; 2. 南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003
摘要:結(jié)合嵌入式系統(tǒng)和腦機(jī)接口技術(shù),,構(gòu)建腦力驅(qū)動(dòng)殘疾人輪椅系統(tǒng),。首先利用腦電信號(hào)(EEG信號(hào))的采集芯片裝置TGAM對(duì)腦電信號(hào)進(jìn)行采集;其次通過(guò)藍(lán)牙模塊將TGAM和計(jì)算機(jī)相連接,,將采集到的腦波原始數(shù)據(jù)傳輸?shù)接?jì)算機(jī)上,,利用eSense算法將腦電數(shù)據(jù)進(jìn)行量化;然后再通過(guò)藍(lán)牙無(wú)線連接到Arduino輪椅控制平臺(tái),,通過(guò)I/O控制口實(shí)現(xiàn)腦力對(duì)輪椅的控制,;最后提出采用多語(yǔ)言混合編程的方法實(shí)現(xiàn)腦電信號(hào)的圖像顯示,相比單一語(yǔ)言編程的圖像顯示,,多語(yǔ)言混合編程法更好地顯示了腦電信號(hào)的三維圖像,。
關(guān)鍵詞:腦電信號(hào);eSense算法,;Arduino輪椅控制平臺(tái),;圖像顯示
0引言
人類的每一閃思維,、每一種情緒、每一個(gè)想法,,在大腦中都會(huì)產(chǎn)生特定的腦電信號(hào),腦電信號(hào)反映出大腦皮層不同區(qū)域的活動(dòng)狀態(tài),,通過(guò)對(duì)腦電信號(hào)的分析和處理,,可以有效地從腦電信號(hào)中提取可靠的特征參量來(lái)反映腦的功能狀態(tài)[1]。不同思維情況下產(chǎn)生的神經(jīng)元放電活動(dòng)信號(hào)表現(xiàn)出不同的時(shí)空變化模式并導(dǎo)致EEG信號(hào)的不同,。
隨著全球各國(guó)生活水平以及醫(yī)療水平的提高,,人口老齡化逐漸成為大部分國(guó)家需要認(rèn)真考慮的問(wèn)題,贍養(yǎng)老人也成為下一代很嚴(yán)重的壓力問(wèn)題,。因此智能生活的需求十分迫切,,身體的不健全導(dǎo)致的一些生活的不便利可以通過(guò)大腦活動(dòng)來(lái)彌補(bǔ)。智能輪椅的發(fā)明為現(xiàn)代人們提供了一種新的思路,。
對(duì)于嚴(yán)重神經(jīng)或肌肉傷殘的人來(lái)說(shuō),,可以利用大腦的信息與計(jì)算機(jī)或其他設(shè)備進(jìn)行通信,因此在腦電信號(hào)的提取方面有一定的研究必要,。
腦機(jī)接口(Brain Computer Interface,BCI)是在人腦和計(jì)算機(jī)或其他電子設(shè)備之間建立一種不依賴于常規(guī)大腦輸出通路(外周神經(jīng)和肌肉組織)的直接信息交流和控制通道,,是一種全新的人機(jī)交互系統(tǒng)[2]。對(duì)于遭受嚴(yán)重神經(jīng)或肌肉傷殘的人來(lái)說(shuō),,可以利用腦機(jī)接口技術(shù)實(shí)現(xiàn)腦電信號(hào)與計(jì)算機(jī)或其他電子設(shè)備進(jìn)行通信,。
Mindwave腦電采集裝置是一種不依賴于外周神經(jīng)和肌肉等常規(guī)輸出通道的信息交流系統(tǒng)。它可為神經(jīng)肌肉障礙患者提供一條與外界溝通的途徑,并在虛擬現(xiàn)實(shí),、游戲娛樂(lè)和航空等領(lǐng)域具有潛在價(jià)值,。目前,常用的腦電輸入信號(hào)包括P300、穩(wěn)態(tài)視覺(jué)誘發(fā)電位(SSVEP),、皮層慢電位(SCP)以及μ或β節(jié)律等,。其中,SCP、μ或β節(jié)律等自發(fā)腦電不依賴于額外刺激的輸入,不會(huì)產(chǎn)生視覺(jué)疲勞,沒(méi)有適應(yīng)性的問(wèn)題,且其神經(jīng)生理學(xué)基礎(chǔ)已獲得比較深入的研究,因而在Mindwave腦電采集裝置中得到了較多的應(yīng)用,。但是,基于自發(fā)腦電的腦機(jī)接口也存在明顯的缺陷,如并非所有個(gè)體都適用基于μ節(jié)律的腦機(jī)接口,基于SCP的腦機(jī)接口要經(jīng)過(guò)長(zhǎng)時(shí)間的訓(xùn)練才能實(shí)現(xiàn)等,。
本文以此為基礎(chǔ),設(shè)計(jì)出一種能為手腳不便的殘疾人提供一個(gè)腦力驅(qū)動(dòng)的輪椅系統(tǒng),,使用者無(wú)需手動(dòng)操作操縱桿便可完成輪椅的前進(jìn),、轉(zhuǎn)向、停止等動(dòng)作,。本文利用多語(yǔ)言混合編程方法,,設(shè)計(jì)軟件編程對(duì)腦電信號(hào)的三維圖像進(jìn)行顯示設(shè)計(jì)。
1系統(tǒng)結(jié)構(gòu)
本文的研究步驟是按照腦電信號(hào)的數(shù)據(jù)采集和分析數(shù)據(jù)處理數(shù)據(jù)輸出回饋框架,,將腦電信號(hào)一路傳輸?shù)娇刂贫藢?shí)現(xiàn)輪椅的移動(dòng),,一路傳輸?shù)接?jì)算機(jī)顯示端實(shí)現(xiàn)腦電信號(hào)的圖像顯示,。使用TGAM芯片進(jìn)行腦電數(shù)據(jù)的采集和分析,利用藍(lán)牙模塊把采集,、分析的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)上,,計(jì)算機(jī)進(jìn)行數(shù)據(jù)的處理,通過(guò)藍(lán)牙模塊把處理后的數(shù)據(jù)傳輸?shù)紸rduino平臺(tái),,經(jīng)由數(shù)據(jù)算法轉(zhuǎn)換成控制信號(hào),,對(duì)殘疾人輪椅進(jìn)行控制。輪椅的移動(dòng)狀態(tài)能夠通過(guò)人的眼睛器官回饋給大腦,,并在控制輪椅移動(dòng)的同時(shí)在計(jì)算機(jī)上顯示腦電信號(hào)的三維圖像,。
腦力驅(qū)動(dòng)殘疾人輪椅和圖像顯示的系統(tǒng)框架圖如圖1所示。
2系統(tǒng)硬件設(shè)計(jì)
2.1數(shù)據(jù)采集模塊
頭戴式無(wú)線腦機(jī)接口系統(tǒng)設(shè)備[3]采用半導(dǎo)體微加工工藝制作的“干”電極作為采集腦電信號(hào)的電極,,通過(guò)干態(tài)電極傳感器采集生物電信號(hào),,將采集的信號(hào)傳入到ThinkGear芯片中。
ThinkGear ASIC芯片是一種SoC(Systerm on Chip),。NeuroSky公司的ThinkGear ASIC專用芯片[4]集成了腦電信號(hào)的采集,、濾波、放大,、A/D轉(zhuǎn)換,、數(shù)據(jù)處理及分析等功能,并通過(guò)UART標(biāo)準(zhǔn)接口對(duì)外輸出以下4種參數(shù):
(1)數(shù)字化的原始腦電波數(shù)據(jù),,輸出頻率512 Hz(每秒512個(gè)數(shù)據(jù)包),。
(2)8個(gè)δ、θ,、α,、β、γ波EEG參數(shù),,輸出頻率1 Hz,;δ:1~3 Hz;θ:4~7 Hz,;α1:8~9 Hz,;α2:10~12 Hz;β1:13~17 Hz,;β2:18~30 Hz,;γ1:31~40 Hz;γ2:41~50 Hz,。
?。?)“專注度”、“放松度”兩個(gè)eSense參數(shù),,輸出頻率1 Hz,。
?。?)傳感器與皮膚的接觸良好程度參數(shù),輸出頻率1 Hz,。
該芯片集成的腦電信號(hào)分析模塊可以輸出實(shí)驗(yàn)所需的“專注度”和“放松度”兩個(gè)參數(shù),。
2.2Arduino平臺(tái)
Arduino UNO是Arduino USB 接口系列的最新版本,作為Arduino 平臺(tái)的參考標(biāo)準(zhǔn)模板,。UNO的處理器核心是ATmega328,,同時(shí)具有14 路數(shù)字輸入/輸出口(其中6 路可作為PWM輸出),6 路模擬輸入,,一個(gè)16 MHz 晶體振蕩器,一個(gè)USB 口,,一個(gè)電源插座,,一個(gè)ICSP header 和一個(gè)復(fù)位按鈕。UNO已經(jīng)發(fā)布到第三版,,與前兩版相比第三版有以下新的特點(diǎn):在AREF 處增加了兩個(gè)管腳SDA 和SCL,,支持I2C 接口;增加IOREF 和一個(gè)預(yù)留管腳,,將來(lái)擴(kuò)展板將能兼容5 V和3.3 V核心板,。這樣改進(jìn)了復(fù)位電路設(shè)計(jì),USB 接口芯片由ATmega16U2替代了ATmega8U2[5],。
2.3受控模塊:電動(dòng)殘疾人輪椅
輪椅的操縱桿控制電路如圖2所示,,其與機(jī)械操縱桿(如圖3)連接可對(duì)輪椅進(jìn)行方向控制。輪椅的操縱桿有五個(gè)端口,,分別為:控制輪椅前進(jìn)后退的A端口,、基準(zhǔn)參考電壓GND、控制輪椅左右轉(zhuǎn)向的B端口,、電源電壓VCC(5 V),、反饋調(diào)節(jié)電壓Vref。
輪椅方向的控制需要A端口和B端口的共同作用,。由于采用了模糊控制方法,,在A端口,電壓在2.25 V~2.75 V之間時(shí),,輪椅在前進(jìn)方向是停止的,;當(dāng)電壓低于2.25 V時(shí),輪椅會(huì)后退,,由于電路內(nèi)部的保護(hù)機(jī)制,,后退速度是固定且緩慢的;當(dāng)電壓高于2.75 V時(shí),,輪椅的轉(zhuǎn)速會(huì)隨著電壓的變大而變大,。
同樣在B端口,,電壓在2.25 V~2.75 V之間時(shí),輪椅不進(jìn)行左右轉(zhuǎn)向,;當(dāng)電壓大于2.75 V時(shí),,輪椅通過(guò)右電機(jī)轉(zhuǎn)速大于左電機(jī)轉(zhuǎn)速的方式實(shí)現(xiàn)左轉(zhuǎn),且左轉(zhuǎn)的幅度大小隨B端口輸出電壓的上升而上升,;當(dāng)電壓小于2.25 V時(shí),,輪椅通過(guò)左電機(jī)轉(zhuǎn)速大于右電機(jī)轉(zhuǎn)速的方式實(shí)現(xiàn)右轉(zhuǎn),且右轉(zhuǎn)的幅度大小隨B端口輸出電壓的降低而降低,??梢酝ㄟ^(guò)控制電壓的大小來(lái)實(shí)現(xiàn)移動(dòng)的前進(jìn)、后退,、轉(zhuǎn)向和停止,。
3系統(tǒng)軟件設(shè)計(jì)
3.1腦電信號(hào)的采集與分析
腦電信號(hào)的采集與分析采用NeuroSky公司的ThinkGear ASIC芯片,腦電信息是非平穩(wěn)隨機(jī)連續(xù)的信息,,以512 Hz的采樣率采集腦電信號(hào)[6],。腦電信號(hào)采集頻段在0~100 Hz之間。
腦電數(shù)據(jù)分析是由eSenseTM算法來(lái)完成,,eSenseTM是NeuroSky用于以數(shù)字化參數(shù)方式對(duì)人的當(dāng)前精神狀態(tài)進(jìn)行度量的專利算法[7],。首先對(duì)采集的原始腦電信號(hào)進(jìn)行放大,并消除噪聲和肌電信號(hào)的干擾,,然后利用eSenseTM算法對(duì)去除干擾的信號(hào)進(jìn)行計(jì)算,,得到量化的eSense參數(shù)值。
eSense算法主要是先對(duì)原始腦波數(shù)據(jù)進(jìn)行FTT變換[8],然后進(jìn)行頻率濾波,,得到α波和β波,,并進(jìn)行功率譜分析,選定基本參考值,,進(jìn)行歸一化,。
3.2Arduino平臺(tái)輪椅控制系統(tǒng)實(shí)現(xiàn)
TGAM無(wú)線腦電采集設(shè)備可以采集多個(gè)值,如poorsignal,、attention,、meditation以及Blink信號(hào)。
poorsignal主要反應(yīng)的是傳感器芯片上生物信號(hào)的強(qiáng)弱,,值為0時(shí)表示生物傳感器接收到的信號(hào)很好,,沒(méi)有任何明顯的問(wèn)題;值在1~199區(qū)間時(shí),,值越高說(shuō)明生物傳感器檢測(cè)到的問(wèn)題越多,;值為200時(shí)說(shuō)明傳感器可能沒(méi)有接觸到導(dǎo)電體。一般在poorsignal參數(shù)值保持為0時(shí),,采集到的其他參數(shù)值才具有時(shí)效價(jià)值,。
腦電采集裝置采集到的原始腦電信號(hào),,經(jīng)過(guò)計(jì)算機(jī)的處理后可以得到所需的“專注度”與“放松度”兩個(gè)數(shù)值。這兩個(gè)數(shù)值在0~99之間,。正常人平時(shí)的“專注度”數(shù)值在30~60之間,,當(dāng)人在高度集中時(shí),“專注度”數(shù)值會(huì)大于60,。同樣地,,正常人的“放松度”在30~60之間,當(dāng)人在閉眼放松或放松全身肌肉時(shí),,“放松度”會(huì)高于60[9],。
選用“專注度”作為控制輪椅前進(jìn)、停止的信號(hào),,此時(shí)給定B端口固定為2.5 V電壓值,,系統(tǒng)將收到的相關(guān)參數(shù)值轉(zhuǎn)換為控制輪椅移動(dòng)的對(duì)應(yīng)電壓值,attention值小于60時(shí),,A端口電壓值固定為2.5 V,保持停止?fàn)顟B(tài),;attention值在60~70之間時(shí),,A端口電壓值固定為3 V,輪椅前進(jìn),;attention值在70~80之間時(shí),,A端口電壓值固定為3.5 V,輪椅前進(jìn),;attention值在80~90之間時(shí),,A端口電壓值固定為4 V,輪椅前進(jìn),;attention值在90~100之間時(shí),,A端口電壓值固定為4.5 V,輪椅前進(jìn),。
Blink信號(hào)是肌電信號(hào),,用來(lái)控制輪椅的轉(zhuǎn)向,眨眼信號(hào)是由rawdata原始數(shù)據(jù)計(jì)算得出,,此時(shí)給定A端口固定為2.5 V電壓值,,系統(tǒng)檢測(cè)到右側(cè)眨眼信號(hào)時(shí),B端口給定電壓1.5 V,,實(shí)現(xiàn)右轉(zhuǎn)向,;當(dāng)檢測(cè)到左側(cè)眨眼信號(hào)時(shí),B端口給定電壓3.5 V,,實(shí)現(xiàn)左轉(zhuǎn)向,。
3.3腦電信號(hào)的圖像顯示
在圖像顯示方面,,綜合考慮多種問(wèn)題因素,提出采用多語(yǔ)言混合編程[10]的方法,。所謂多語(yǔ)言混合編程,,是指使用兩種或兩種以上的程序設(shè)計(jì)語(yǔ)言來(lái)開發(fā)應(yīng)用程序的過(guò)程。源文件無(wú)論使用何種語(yǔ)言編寫,,最終編譯的結(jié)果都是機(jī)器碼,。函數(shù)調(diào)用在機(jī)器碼中是很簡(jiǎn)單的一步,按照參數(shù)表的要求把參數(shù)值放入堆棧,,然后使用jmp指令跳轉(zhuǎn)到要調(diào)用的函數(shù)的函數(shù)地址即可,,程序不管如何實(shí)現(xiàn),只要知道參數(shù)表和函數(shù)地址就能調(diào)用,,所有程序最終都是機(jī)器碼,,自然也符合這個(gè)規(guī)則。所以實(shí)現(xiàn)互調(diào),,只要將對(duì)方的接口程序文件映射到自己的進(jìn)程中,,預(yù)先知道它的參數(shù)表,得到它的接口函數(shù)地址,,將參數(shù)放入堆棧,,然后跳轉(zhuǎn)到函數(shù)地址,就能實(shí)現(xiàn)調(diào)用,。
本文提出通過(guò)C++語(yǔ)言與MATLAB語(yǔ)言混合編程[11]的方法實(shí)現(xiàn)腦電信號(hào)的圖像顯示,,并成功通過(guò)編程讀取腦電采集芯片輸出的相關(guān)數(shù)值,實(shí)現(xiàn)了簡(jiǎn)單的信號(hào)二維圖形顯示,,如圖4所示,。
在腦電信號(hào)的三維圖像顯示上采用的解決方案是以MATLAB語(yǔ)言為主,C++語(yǔ)言輔助,,通過(guò)MATLAB相關(guān)的GUI設(shè)計(jì)[12],,并結(jié)合移動(dòng)端的顯示,實(shí)現(xiàn)各頻段腦電波的三維圖像實(shí)時(shí)顯示,,如圖5所示,。
4結(jié)論
本文利用腦電信號(hào)的“專注度”參數(shù),通過(guò)Arduino平臺(tái)的轉(zhuǎn)換操作,,得到有效控制命令電壓值,,完成了輪椅的前進(jìn)和停止控制,但在輪椅的后退控制上還未解決,。輪椅的左右轉(zhuǎn)向是通過(guò)眨眼信號(hào)來(lái)控制完成的,,但是由于多種噪聲的干擾,導(dǎo)致轉(zhuǎn)向的精確度不高,提高精確度的方法是盡可能濾除噪聲影響,。通過(guò)采用MATLAB語(yǔ)言和C++語(yǔ)言混合編程的方法,,成功地實(shí)現(xiàn)了腦電波的三維圖像顯示。
參考文獻(xiàn)
?。?] VELUVOLU K C, WANG Y, KAVURI S S. Adaptive estimation of EEG rhythms for optima band indentification in BCI[J]. Journal of Neuroscience Methods,,2012,203(1):163-172.
?。?] WOLPAW J R, BIRBAUMER N, HEETDERKS W J, et al.Braincomputer interface technology: a review of the first internationl meeting [J]. IEEE Trans Rehabil Eng, 2000, 8(2):222-225.
?。?] 王三強(qiáng).腦電信號(hào)采集系統(tǒng)設(shè)計(jì)及在腦—機(jī)接口中的應(yīng)用研究[D].重慶:重慶大學(xué),2006.
?。?] 張軍.ASIC技術(shù)的特點(diǎn)與應(yīng)用[J].信息技術(shù),,2001(9):1-3.
[5] 程晨.Arduino 開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,,2012.
?。?] 楊幫華,顏國(guó)正,,丁國(guó)清,,等.腦接口關(guān)鍵技術(shù)研究[J].北京生物醫(yī)學(xué)工程,2005(4):308-310.
?。?] NeuroSky.Mindset Instruction Manua[Z].神念科技有限公司,,2009.
[8] 胡廣書.數(shù)字信號(hào)處理(第2版)[M].北京:清華大學(xué)出版社,,2011.
?。?] 史小華,王洪波,王建軍.電動(dòng)輪椅控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2013(1):65-69.
?。?0] 左艷麗.C語(yǔ)言和匯編語(yǔ)言混合編程的方法和實(shí)現(xiàn)[J].職教與經(jīng)濟(jì)研究:婁底職業(yè)技術(shù)學(xué)院學(xué)報(bào),,2008(3):60-62.
[11] 陳建平,, 羅先啟.MATLAB與C/C++,、FORTRAN語(yǔ)言混合編程[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,,26(6):547-551.
?。?2] 鄧昌瑞.基于MATLAB GUI的多功能計(jì)算系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[D].南昌:南昌大學(xué),2012.