趙進(jìn)創(chuàng),馬 超,潘屏萍,傅文利
(廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院,廣西 南寧530004)
腦機(jī)接口BCI(Brain Computer Interface)是一種新型的人機(jī)交互方式,它基于腦電信號(hào)EEG(Electroencephalogram)實(shí)現(xiàn)人腦與計(jì)算機(jī)或其他電子設(shè)備的交互,脫離了對(duì)人體外周神經(jīng)和肌肉組織的依賴[1-2]。因此,該技術(shù)在醫(yī)療、游戲以及工業(yè)控制等諸多領(lǐng)域表現(xiàn)出很好的發(fā)展前景。
目前,國(guó)內(nèi)外腦機(jī)接口技術(shù)研究與應(yīng)用的主流方案是以計(jì)算機(jī)作為核心處理平臺(tái)[1]實(shí)現(xiàn)多通道腦電信號(hào)采集。此方案通常具有較好的性能,但也存在系統(tǒng)操作復(fù)雜、軟硬件設(shè)備昂貴、體積龐大、功耗高等不足,難以進(jìn)行推廣和市場(chǎng)普及。
本文采用TGAM1_R2.4A單通道腦電信號(hào)采集模塊[3]、STM32嵌入式處理器結(jié)合μC/OS-II多任務(wù)實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)通過專注度和眨眼信號(hào)控制的嵌入式小車控制系統(tǒng)。測(cè)試結(jié)果表明,該系統(tǒng)在控制小車速度和方向方面具有反應(yīng)靈敏、穩(wěn)定性較高的特點(diǎn)。
系統(tǒng)由腦電信號(hào)采集與傳輸、腦電信號(hào)處理、運(yùn)動(dòng)控制和信息顯示等部分組成。腦電信號(hào)采集由TGAM1_R2.4A模塊實(shí)現(xiàn)。腦電信號(hào)通過藍(lán)牙模塊BLK-MD-BC04B傳輸至STM32嵌入式處理器進(jìn)行處理,獲取專注度和眨眼信號(hào)。系統(tǒng)通過L298N芯片控制電機(jī)的轉(zhuǎn)動(dòng)狀態(tài)。系統(tǒng)框架圖如圖1所示。
圖1 系統(tǒng)框架圖
TGAM1_R2.4A是基于ThinkGearTM腦波傳感器技術(shù)設(shè)計(jì)的采集芯片,由放置在前額處的傳感器電極觸點(diǎn)和耳部的參考電極觸點(diǎn)采集腦電信號(hào)。腦電信號(hào)經(jīng)芯片內(nèi)部處理后可通過串口(UART)輸出數(shù)字化原始腦電信號(hào),α,β等腦波波段數(shù)據(jù)以及eSense專注度和放松度指數(shù)。
采用具有串口功能的BLK-MD-BC04B藍(lán)牙模塊作為無(wú)線傳輸?shù)陌l(fā)送和接收單元。利用AT命令配置藍(lán)牙發(fā)送單元為從機(jī)模式并設(shè)置配對(duì)密碼。藍(lán)牙模塊與TGAM1_R2.4A連接原理圖如圖2所示。配置藍(lán)牙接收單元為主機(jī)模式和自動(dòng)搜索遠(yuǎn)端藍(lán)牙設(shè)備狀態(tài),設(shè)置與發(fā)送單元相同的配對(duì)密碼并與STM32串口1連接,連接原理圖如圖6所示。
圖2 TGAM1_R2.4A與藍(lán)牙發(fā)送單元連接原理圖
STM32接收到腦電信號(hào)作為ThinkGearTM數(shù)據(jù)包,依據(jù)通信協(xié)議解碼獲得eSense專注度數(shù)據(jù)、數(shù)字化原始腦電信號(hào)。系統(tǒng)可直接解碼獲取專注度數(shù)據(jù),但眨眼信號(hào)需系統(tǒng)自行識(shí)別。
STM32接收到的數(shù)字化原始腦電信號(hào)如圖3所示,圖中幅度較小的波形是反映人腦活動(dòng)的腦電信號(hào),幅度較大的尖峰則是眨眼動(dòng)作引起的眼電信號(hào)與腦電信號(hào)的疊加[4]。由圖3可知眨眼動(dòng)作引起的眼電信號(hào)幅度遠(yuǎn)大于腦電信號(hào),而有意眨眼信號(hào)的幅度比自然眨眼信號(hào)大100單位以上。本文采用有意眨眼信號(hào)結(jié)合方向指示燈控制小車方向。
圖3 STM32接收的原始腦電信號(hào)
因不同使用者的腦電信號(hào)幅度不同且同一使用者佩戴傳感器的位置和角度的不同也會(huì)導(dǎo)致采集到的腦電信號(hào)幅度不同,故不能設(shè)定一個(gè)固定的眨眼信號(hào)判斷閾值滿足系統(tǒng)要求。在系統(tǒng)上電后啟動(dòng)一個(gè)自動(dòng)設(shè)定眨眼信號(hào)判斷閾值的過程,該過程持續(xù)時(shí)間為60 s,同時(shí)要求在設(shè)定過程中保持自然眨眼動(dòng)作狀態(tài),按圖4所示流程進(jìn)行判斷閾值的設(shè)定。人正常眨眼頻率約為每分鐘10~20次[5],故該過程以6 s為時(shí)間單位,分別計(jì)算每個(gè)時(shí)間單位內(nèi)腦電信號(hào)的最大值A(chǔ)i,然后計(jì)算60 s時(shí)間內(nèi)10個(gè)腦電信號(hào)最大值的平均值??紤]到眨眼動(dòng)作的不一致性,為提高眨眼信號(hào)識(shí)別的準(zhǔn)確率,需要對(duì)平均值加一個(gè)過渡緩沖值。經(jīng)測(cè)試,過渡緩沖值設(shè)為100可獲得較好的識(shí)別效果。圖4中AREF為眨眼信號(hào)判斷閾值,即:
系統(tǒng)完成自動(dòng)設(shè)定眨眼判斷閾值后即可進(jìn)入有意眨眼信號(hào)識(shí)別階段,其流程如圖5所示。STM32讀取原始腦電數(shù)據(jù)A并與 AREF比較。若 A>AREF,則開始計(jì)時(shí),直到A<AREF時(shí)停止計(jì)時(shí),記錄時(shí)間為t。由于每次眨眼動(dòng) 作 的 持 續(xù) 時(shí) 間 在0.3 s~0.4 s之 間[5],若 0.1 s<t<0.3 s, 則 認(rèn)為是一次有意眨眼動(dòng)作。若t≤0.1 s 或 t≥0.3 s,雖然檢測(cè)到超過眨眼判斷閾值的腦電信號(hào),但其持續(xù)時(shí)間與眨眼動(dòng)作不同,認(rèn)為是需要過濾的干擾信號(hào)。
圖4 判斷閾值設(shè)定流程圖
圖5 有意眨眼信號(hào)識(shí)別流程圖
系統(tǒng)采用Cortex-M3內(nèi)核架構(gòu)的嵌入式芯片STM32-F103ZET6[6]作為核心處理器,采用 3.5英寸 TFT液晶觸摸顯示屏進(jìn)行相關(guān)信息的顯示和控制指令的輸入,利用L298N芯片驅(qū)動(dòng)兩路電機(jī)控制小車運(yùn)動(dòng)狀態(tài),采用TLP521-2光耦芯片進(jìn)行隔離以保證系統(tǒng)穩(wěn)定性,電路原理圖如圖6所示。L298N的使能端ENA、ENB與STM32芯片的PWM輸出端口PA6、PA7連接,改變 STM32輸出脈沖的占空比即可調(diào)節(jié)電機(jī)的轉(zhuǎn)速,進(jìn)而達(dá)到控制小車速度的目的。小車運(yùn)動(dòng)狀態(tài)的控制定義如表1所示。
利用全彩LED的顏色變化顯示專注度大小。在小車頂部設(shè)置指示前方、左方、右方的方向指示燈。
小車控制過程為:系統(tǒng)上電后進(jìn)行眨眼信號(hào)判斷閾值的設(shè)定,然后進(jìn)入運(yùn)動(dòng)控制狀態(tài)。在運(yùn)動(dòng)控制狀態(tài)中系統(tǒng)以1.5 s的時(shí)間間隔按順時(shí)針方向?qū)?個(gè)方向進(jìn)行掃描。當(dāng)掃描某一方向時(shí)相應(yīng)的方向指示燈亮,若在1.5 s內(nèi)沒有檢測(cè)到有意眨眼信號(hào),則進(jìn)入下一運(yùn)行方向的掃描;若在1.5 s內(nèi)檢測(cè)到有意眨眼信號(hào),則立即執(zhí)行相應(yīng)動(dòng)作,在動(dòng)作執(zhí)行期間若檢測(cè)到有意眨眼信號(hào),則系統(tǒng)停止運(yùn)動(dòng)退出動(dòng)作執(zhí)行狀態(tài),重新進(jìn)入掃描狀態(tài)。
圖6 小車控制系統(tǒng)電路原理圖
表1 小車運(yùn)動(dòng)狀態(tài)的控制定義
圖7 運(yùn)動(dòng)控制程序流程圖
軟件主體采用具有搶占式內(nèi)核的 μC/OS-II多任務(wù)實(shí)時(shí)操作系統(tǒng)[7]與μC/GUI圖形用戶界面相配合的方案。利用串口中斷方式進(jìn)行腦電信號(hào)的接收并在中斷服務(wù)程序中進(jìn)行腦電信號(hào)解碼、專注度提取、眨眼信號(hào)識(shí)別以保證腦電信號(hào)得到實(shí)時(shí)處理。設(shè)置小車運(yùn)動(dòng)狀態(tài)控制任務(wù)為最高優(yōu)先級(jí)的任務(wù)以確保對(duì)小車運(yùn)動(dòng)狀態(tài)的實(shí)時(shí)控制。其運(yùn)動(dòng)控制程序流程如圖7所示。
系統(tǒng)上電后,各功能模塊進(jìn)行初始化,通過藍(lán)牙模塊建立連接,啟動(dòng)60 s自動(dòng)設(shè)定眨眼信號(hào)判斷閾值過程。在上述啟動(dòng)過程中,若某一過程未成功完成,則系統(tǒng)無(wú)法進(jìn)入下一個(gè)啟動(dòng)過程。在確定眨眼信號(hào)判斷閾值之后,若系統(tǒng)檢測(cè)到一次有意眨眼信號(hào),則進(jìn)入運(yùn)動(dòng)控制狀態(tài)。
眨眼信號(hào)是系統(tǒng)重要的控制信號(hào),眨眼信號(hào)的識(shí)別效果直接影響系統(tǒng)的性能。組織5名未參與本研究的人員進(jìn)行眨眼信號(hào)識(shí)別效果的測(cè)試。測(cè)試分為A、B兩個(gè)批次,其中A批次是被測(cè)人員首次接觸該系統(tǒng)進(jìn)行的測(cè)試,B批次是被測(cè)人員經(jīng)過半小時(shí)的訓(xùn)練之后進(jìn)行的測(cè)試。測(cè)試結(jié)果如表2所示。
對(duì)測(cè)試數(shù)據(jù)分析可知,在被測(cè)人員不熟悉系統(tǒng)操作的情況下,眨眼動(dòng)作不規(guī)范,識(shí)別率較低。但經(jīng)過短時(shí)間的訓(xùn)練之后,識(shí)別率已經(jīng)達(dá)到比較可靠、穩(wěn)定的水平。
為測(cè)試系統(tǒng)性能,設(shè)計(jì)圖8所示的運(yùn)動(dòng)路線,被測(cè)人員在B批次測(cè)試后開始進(jìn)行按規(guī)定運(yùn)動(dòng)路線控制小車運(yùn)動(dòng)的測(cè)試,每位被測(cè)人員測(cè)試10次并繪制運(yùn)動(dòng)軌跡圖。從50次測(cè)試結(jié)果中根據(jù)偏離規(guī)定路線的程度選出最佳和最差運(yùn)動(dòng)軌跡,如圖8所示,A虛線為最佳控制軌跡,B實(shí)線為最差控制軌跡。
測(cè)試結(jié)果表明,本系統(tǒng)的眨眼信號(hào)識(shí)別方法對(duì)經(jīng)過相關(guān)訓(xùn)練的使用者來(lái)說具有較好的識(shí)別效果。系統(tǒng)在控制小車前進(jìn)速度和方向方面反應(yīng)靈敏,穩(wěn)定性較高。
利用腦機(jī)接口(BCI)技術(shù)結(jié)合低成本、低功耗的嵌入式處理器平臺(tái),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)通過專注度和眨眼信號(hào)控制的小車控制系統(tǒng)。測(cè)試結(jié)果表明,該系統(tǒng)模塊簡(jiǎn)單、易于應(yīng)用且具有較好的穩(wěn)定性和較高的反應(yīng)速度。本系統(tǒng)為腦機(jī)接口技術(shù)在醫(yī)療(如電動(dòng)輪椅)、游戲以及工業(yè)控制等方面的應(yīng)用和推廣進(jìn)行了有益的探索。
表2 眨眼信號(hào)識(shí)別率測(cè)試結(jié)果
圖8 運(yùn)動(dòng)路線及測(cè)試軌跡圖
[1]王嬌娜,劉紀(jì)紅,張力,等.基于腦-機(jī)接口的無(wú)線智能機(jī)器人控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(8):119-125.
[2]王根,方慧娟,羅登.基于事件相關(guān)電位的 BCI新型輸入系統(tǒng)研究[J].微型機(jī)與應(yīng)用,2013,32(7):66-68.
[3]NeuroSky.TGAM1 Spec Sheet[EB/OL].(2010-03-24)[2013-12-09].http://www.neurosky.com.cn.
[4]STEVEN J LUCK著.事件相關(guān)電位基礎(chǔ)[M].范思陸,丁玉瓏,曲折,等譯.上海:華東師范大學(xué)出版社,2009.
[5]苑瑋琦,滕紅艷.眼睛疲勞程度判定方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(17):199-203.
[6]STMicroelectronics.STM32F103E[EB/OL].(2011-04)[2013-12-09].http://www.st.com.
[7]任哲.嵌入式實(shí)時(shí)操作系統(tǒng) μC/OS-II原理及應(yīng)用(第二版)[M].北京:北京航空航天大學(xué)出版社,2012.