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