陳玲玲 陳鵬飛 謝 良 許敏鵬 徐登科閆慧炯 羅治國③ 閆 野③ 印二威③
①(河北工業大學人工智能與數據科學學院 天津 300130)
②(智能康復裝置與檢測技術教育部工程研究中心 天津 300130)
③(軍事科學院國防科技創新研究院 北京 100071)
④(天津(濱海)人工智能創新中心 天津 300450)
⑤(天津大學 天津 300072)
⑥(中國鐵道科學研究院通信信號研究所 北京 100081)
由于老齡化、意外事故和疾病等諸多原因,我國失能和半失能人口日趨增多,其中處于失能或半失能狀態的老年人已經超過4×107,如何改善他們的生活已經成為重要的社會問題。隨著機器人技術和康復醫學的發展,機器人在康復醫療領域得到廣泛推廣應用[1-3]。然而,大部分重度失能患者無法通過傳統的人機交互方式(語音、鍵盤等)控制康復機器人,因此人機交互能力的擴展對于發揮康復機器人系統的作用至關重要[4-6]。
腦機接口(Brain-Computer Interface, BCI)是一種不依賴人體外周神經和肌肉的,在大腦與外界環境間建立直接信息與控制通道的技術,實現大腦與外部設備間的直接交互[7-11]。通過實時解析患者大腦信息,控制高自由度靈巧機械臂完成復雜動作,進而實現醫療輔助已成為當前BCI技術的研究熱點。目前BCI主要分為兩大類:植入式BCI和非植入式BCI[12]。植入式BCI雖然信噪比較高,但需要通過手術將微電極植入人體大腦神經皮層,具有一定風險,受試對象往往無法接受;而非植入式BCI,如腦電圖(ElectroEncephaloGraphy, EEG)具有高時間分辨率、操作簡單且對人體無創等特點,更能滿足大多數失能患者的需求。
近年來,雖然基于非植入式BCI控制機械臂的研究取得了諸多成果,但仍存在可用指令較少、控制過程嚴格受限等問題[13-17]。例如上海交通大學的徐陽[15]使用基于運動想象(Motor Imagery, MI)的BCI實現對機械臂的移動控制,僅可實現兩種控制指令;華東理工大學的左詞立等人[17]實現對兩種不同筆畫漢字字符的識別,目前所識別的漢字字符數目為2個。相對而言,基于穩態視覺誘發電位(Steady-State Visual Evoked Potential, SSVEP)的非植入式BCI (SSVEP-BCI),通信速率更高,可識別指令數目相對較多,因此備受關注[18-26]。
當人體受到一個固定頻率的視覺刺激時,大腦皮層的電位活動將被調制,從而產生一個連續的且與刺激頻率有關的響應,即為SSVEP。識別該響應的過程通常使用固定窗口,有利于降低系統復雜性和提高系統穩定性[26]。然而由于使用者間存在明顯差異,同一使用者在不同時刻也將發生變化,使得固定窗口在實際使用中受到一定限制。動態窗口可以根據當前受試者的狀態自適應地調整數據長度,從而調節刺激時長,減輕受試者的視覺疲勞,提高系統效率。王春慧等人[23]采用基于Bayes的動態停止(Dynamic Stopping, DS)策略實現了動態窗口,從而進一步提升SSVEP-BCI的性能。
另外,目前誘發SSVEP的視覺刺激大多由計算機屏幕提供,靈活性較差。例如,Chen等人[13]設計的腦控機械臂系統,使用計算機屏幕提供視覺刺激,雖然平均準確率達92.78%,但是由于屏幕位置固定,所以執行任務過程中要求受試者不斷地在機械臂和屏幕間轉移視線,加重了受試者的負擔。增強現實(Augmented Reality, AR)是一種將虛擬信息與現實世界智能融合的技術[27-31]。AR技術與BCI技術的融合(AR-BCI)在一定程度上可以解決BCI系統靈活性較差的問題[32-34]。Arpaia等人[32]利用AR-BCI實現了機器人的移動控制,使受試者擺脫了屏幕的束縛,行動更加自由。
BCI控制系統一般可為同步系統和異步系統。同步系統要求使用者嚴格按照系統分配的時序選擇命令,使用者活動受限;異步系統中操作序列沒有固定的周期節拍和嚴格的時鐘同步,每個指令或每一步操作可以根據需求來占用相應的時間,更貼近于人的正常操作習慣。異步系統的關鍵是區分用戶的工作狀態和空閑狀態[35]。
因此,綜合上述相關研究,為解決目前大多數SSVEP-BCI存在的靈活性差且易使受試者疲勞等問題,本文提出一種AR場景下基于SSVEP的機械臂異步控制系統。首先,設計視覺刺激界面,構建基于SSVEP的AR-BCI系統;接著,設計基于投票策略和差值預測的動態窗口,實現刺激時間長度的靈活調整;然后,利用偽密鑰構建狀態選擇界面,實現機械臂系統的異步控制;最后,設計腦控機械臂拼圖試驗,驗證此控制系統的有效性和可行性。相較于上述研究,本研究將AR技術、動態窗口、異步控制策略與SSVEP-BCI相融合,進一步提高了BCI系統的可行性和實用性。
本次試驗共有10名視力正常或矯正至正常的健康受試者(7名男性和3名女性;年齡在23~26歲)參加。
在所有受試者中,有5名受試者參加過BCI的相關試驗或對BCI有一定了解,而另外5名受試者不熟悉BCI及其相關試驗。所有受試者的母語均為漢語,并熟悉在試驗中使用的英文字符。其中,只有一名男性受試者為左利手,其余受試者均為右利手。試驗前,每名受試者均簽署知情同意書,并且天津大學倫理審查委員會批準了本研究(編號 TJUE-2021-115)。試驗采集地點為天津(濱海)人工智能創新中心。在整個試驗過程中,受試者坐在相對舒適安靜的實驗室中。
設計基于SSVEP的機械臂控制系統,如圖1所示,包括AR-BCI子系統和機械臂子系統,通過TCP/IP通信協議實現指令和信息的傳遞。
AR-BCI子系統包括視覺刺激、EEG數據采集和EEG數據信號處理3個模塊。
3.1.1 視覺刺激
如圖2所示,設計的視覺刺激界面包含12個刺激矩陣和1個提示框。前11個刺激矩陣采用數字的形式表示目標的終點位置坐標“1”~“11”;第12個刺激矩陣為“back”命令,用于撤銷上一步操作。

圖1 系統整體結構圖
在實際應用過程中,需要依次選擇橫縱坐標,提示框出現相應的提示符“Row”和“Column”,通過兩次閃爍確定一個坐標值。其中,第1次閃爍用于選擇坐標,閃爍結束后系統將識別結果反饋在刺激界面上,即提示框內出現反饋字符,且對應反饋字符的白色矩陣變為藍色。第2次閃爍用于校正,當受試者發現反饋字符與自身所選不符時,可以通過選擇“back”命令撤銷選擇;反之,在第2次閃爍時隨意選擇除“back”之外的命令即可。
刺激矩陣采用正弦波閃爍,如式(1)和式(2)所示,刺激頻率、相位與矩陣位置的關系為

其中,x和y為命令在刺激界面上的橫縱坐標(刺激界面上橫、縱軸的正方向分別為從左至右和從上至下),f0, Δf和 Δp分別為8.0 Hz, 0.5 Hz和0.35 π。
視覺刺激由MATLAB PsychToolBox-3(PTB3)生成,呈現在AR設備(NED+,中國)的屏幕上。屏幕分辨率為1920×1080,刷新率為60 Hz。
3.1.2 EEG數據采集
EEG數據利用EEG數據采集設備NeuSen W(博睿康,中國)來采集,采樣頻率為1000 Hz。電極按照10-20國際電極放置法進行放置,選擇位于枕區的9個電極采集EEG數據,分別為Pz, PO5,PO3, POz, PO4, PO6, O1, Oz和O2。接地電極放置在Fz和FPz之間,參考電極放置在頭部頂點。上述11個電極的阻抗均保持在10 kΩ以下。
3.1.3 EEG數據處理
EEG數據處理模塊主要包括預處理、分類和指令轉換部分。利用帶通濾波對EEG數據進行預處理,截止頻率分別為8 Hz和90 Hz,阻帶上下截止頻率分別為6 Hz和100 Hz。由于存在視覺延遲,故截取視覺刺激開始0.15 s后的EEG數據段。接著,將數據段輸入到分類模型識別受試者的意圖,并將其轉化為機械臂控制指令。
機械臂子系統主要包括機械臂、工作區域、目標物及控制主機。機械臂為6自由度機械臂(Kinova jaco2,加拿大),配有二指夾爪,固定在工作臺的右側。工作區域為一個11×11的矩形棋盤,從機械臂視角看,從左至右為橫軸,從上至下為縱軸。目標物為10顆直徑為2.8 cm的黑色小球。

圖2 視覺刺激界面
控制主機安裝Ubuntu 16.04系統和機器人操作系統(Robot Operating System, ROS)。機械臂的驅動程序和運動控制程序均部署在ROS上。在ROS中,除了機械臂原有的節點外,還包括ARBCI系統發布的節點,用于向機械臂發送控制命令及接收機械臂狀態信息。
機械臂的路徑規劃采用笛卡兒空間軌跡規劃方法,在輸入機械臂的始末端位置、姿態及沿途經過的路徑點位姿變化后,系統自動規劃機械臂的行動路徑。同時,在機械臂行動過程中,系統通過機械臂相關節點實時獲取當前機械臂的運行速度和位置信息,用以確定夾爪工作的開始時刻。
4.1.1 CCA算法
視覺刺激頻率與刺激誘發的SSVEP信號存在一定的相關性,典型相關分析(Canonical Correlation Analysis, CCA)是挖掘數據相關性的常用算法。

利用CCA計算每個刺激頻率下多通道EEG信號與正弦-余弦參考信號之間的規范相關性。選擇具有最大典范相關性的正弦余弦參考信號頻率作為SSVEP頻率,完成目標識別。
雖然CCA算法對于SSVEP具有較好的分類效果,但難以對少量數據進行分類處理,且沒有充分提取數據的重要信息,影響了分類效果。因此,引入濾波器組典型相關分析方法(Filter Bank Canonical Correlation Analysis, FBCCA)對其改進。
4.1.2 FBCCA算法

如圖4所示,設計基于投票策略和差值預測的動態窗口,使視覺刺激時長可以在1.8~3.0 s靈活變化。
投票步驟:
步驟1 當系統讀入數據時長Td達到1.6 s時,將預處理后EEG數據導入FBCCA算法得到預測結果,將該結果作為系統第1次投票(S1=C);
步驟2 按照步長0.2 s繼續讀入數據;
步驟3 將預處理后EEG數據導入FBCCA算法計算預測結果 ,將該結果作為系統第2次投票(S2=C);

圖3 SSVEP-BCI中用于目標識別的FBCCA算法流程圖

圖4 基于投票策略和差值預測的動態窗口
步驟4 比較兩次投票結果。如果結果相同,將投票結果C成為系統預判結果;反之,繼續按照步長0.2 s讀入EEG數據并進行投票,直至相鄰兩次投票結果相同。
步驟5 如果EEG數據達到3.0 s時,停止讀入數據,選擇系統最后一次投票結果作為系統預判結果。
基于差值預測的FBCCA算法步驟:
步驟1 將EEG數據導入FBCCA算法求得目標識別的特征ρ?k;
步驟2 選擇最大特征值所對應的目標作為判別結果 ;對ρ?k從小到大進行排序,選擇其中最大的兩個特征值,并計算兩者的差值E;
步驟3 當差值E大于閾值0.20時,將C作為算法預判結果輸出;反之,將“12”(即命令“back”)作為算法預判結果輸出。其中,閾值是通過離線試驗確定的。
異步控制的關鍵在于區分休息狀態和工作狀態,因此設計基于SSVEP-BCI的狀態切換界面。狀態切換界面上設有5個目標矩陣,包括兩條指令“Open”和“Keep”。
Open:位于狀態切換界面4個角落的目標均代表“Open”指令。當受試者選擇4個角落中的任一目標時,系統從休息狀態切換至工作狀態,即從當前界面切換到刺激界面(如圖2所示),并激活刺激界面。
Keep:位于狀態切換界面中央,該命令為偽密鑰,也稱為“假目標”。當受試者選擇此命令時,系統保持現有狀態,即休息狀態。在佩戴AR眼鏡后,受試者的視線一般集中在屏幕中央,所以當此命令存在時,受試者會在有意無意中選擇該命令,保證系統狀態不變。為了進一步提高系統穩定性,在信號處理過程中,加入閾值判別(閾值因個體而異)。當使用者沒有專注于“Keep”目標矩陣時,系統輸出特征值無法超過閾值,系統將強制輸出“Keep”命令,維持系統狀態。
狀態切換界面的刺激方式與刺激界面相同,單次刺激時長為2.8 s,兩次刺激間隔0.5 s。刺激頻率的范圍為8.0~10 Hz,頻率間隔為0.5 Hz;初始相位均為0。
為驗證系統有效性,分別設計離線和在線兩種試驗:
(1) 離線試驗:在AR環境下完成屏幕上的目標識別任務,無機械臂控制;
(2) 在線試驗:在AR環境下控制機械臂并完成拼圖任務。
離線試驗目的是幫助受試者熟悉相關試驗,檢測AR-BCI系統的實際性能,驗證動態窗口的有效性。在離線試驗中,受試者佩戴AR眼鏡,并專注于屏幕上的SSVEP刺激界面,無需控制機械臂。
每名受試者需要進行至少10次測試,每次測試包含12個識別目標提示(即12條指令),每個目標提示出現的順序是隨機的。每輪識別過程持續4 s,其中3 s用于視覺刺激,1 s用于目標提示和休息。在試驗前,屏幕中出現目標提示,相應目標的白色背景變為紅色。在試驗中,目標按照預設的頻率和相位閃爍,為受試者提供視覺刺激,要求受試者將視線聚焦在所提示的目標。當一輪刺激結束后,屏幕上會出現下一個目標的提示,要求受試者及時將目光從上一個目標轉移到下一個目標。
試驗結束后,分別使用固定窗口和動態窗口對離線數據進行處理,并對比兩者的差異。
在線試驗要求受試者佩戴AR眼鏡,通過抓取黑色小球并將其放置在工作區域完成拼圖任務。在線試驗中沒有視覺提示,小球放置的位置并不固定,由受試者自行選擇。當受試者確定小球放置位置后,自行切換刺激界面,受試者選擇目標放置位置的坐標(行坐標和列坐標)。然后,機械臂到指定位置抓取小球,并將小球根據選擇結果移動到目標位置。
要求受試者在工作區域依次完成菱形和三角形兩項拼圖任務,其中每個圖形由8顆黑色小球組成,記錄受試者完成任務所需時間。

將離線試驗的EEG數據分別選用固定窗口1(刺激時長2 s)、固定窗口2(刺激時長3 s)及動態窗口,計算12個目標分類的準確率和ITR,結果如表1、表2和表3所示。3次測試的分類準確率依次為(92.08±7.02)%,(95.41±4.13)%和(93.11±5.85)%;ITR依次為(59.59±9.90) bit·min-1, (47.87±4.92)bit·min-1和(59.69±8.11) bit·min-1。

表1 離線試驗1的結果

表2 離線試驗2的結果

表3 離線試驗3的結果
離線試驗2(固定窗口3 s)的識別準確率最高,但其ITR遠低于試驗1和試驗3(p<0.05),而試驗1(固定窗口2 s)與試驗3(動態窗口)的ITR無顯著性差異(p>0.05)。使用動態窗口后,平均刺激時長(2.02±0.02) s略高于2 s,遠低于3 s。試驗3的平均識別準確率高于試驗1,且動態窗口的平均ITR均高于固定窗口。
如圖5所示,由受試者識別結果的混淆矩陣可知,使用動態窗口時,12個目標的識別準確率為88.57%~98.10%,由單因素方差分析可知,類間無顯著差異(p>0.05)。分類錯誤多發生在兩個相鄰的目標之間,如目標“8”和目標“back”,如圖2所示,目標“8”位于目標“back”的正上方。主要原因是相鄰目標之間存在一定的干擾。

圖5 12個指令預測字符與真實字符的混淆矩陣

圖6 在線實驗場景,受試者控制機械臂完成拼圖任務
10名受試者參加在線試驗,實驗場景如圖6所示。在線試驗過程中,小球放置位置由受試者自行決定,當系統預判結果與受試者所選不符時,即判定為錯誤指令。且當校正環節失效導致小球位置放錯時,判定為最終執行錯誤。其中一組執行準確與失誤的場景如圖7所示。
7.2.1 選擇控制指令試驗
如表4所示,對比使用固定窗口(刺激時長3 s)和動態窗口的在線試驗結果,兩次試驗完成任務的平均時間分別為725.4 s和681.7 s,使用動態窗口完成任務所需時間明顯少于固定窗口,同時平均識別準確率、平均錯誤命令數目和平均最終執行錯誤數目均差異不大。

圖7 執行準確與失誤的場景圖
在線使用動態窗口后,平均命令選擇時間為2.18 s,高于離線試驗的平均刺激時長2.02 s,原因是在線試驗過程中視覺刺激和數據處理同步進行,算法運行及數據傳輸占用一定的時間。但使用動態窗口的在線試驗的平均命令選擇時間仍低于3 s固定時長,有利于降低受試者的視覺疲勞和精神疲勞,進一步提高系統的實用性。通過對比錯誤命令數目和最終執行錯誤數目發現,最終執行錯誤數目明顯低于錯誤命令數目,說明增加糾錯環節可以有效避免受試者發送錯誤指令,提高系統的穩定性和準確性。
7.2.2 狀態切換試驗
如表5所示,對比使用固定窗口(刺激時長2.8 s)和動態窗口的狀態切換的試驗結果,兩種情況的平均準確率分別為95.40%和96.07%,差異不大。且平均總命令數目和平均錯誤命令數目都差異較小。但是,狀態切換試驗的平均準確率明顯高于選擇控制指令的平均準確率。主要原因是狀態切換的指令數量(5個)遠少于控制指令的數量(12個),且狀態切換界面的刺激矩陣之間相鄰較遠,相互干擾較小。

表4 選擇控制指令試驗結果

表5 選擇控制指令試驗結果
本文設計了一套AR環境下基于SSVEP的機械臂異步控制系統。使用AR設備擺脫了傳統屏幕的束縛,使BCI系統的使用更為便利。使用動態窗口可以靈活調整刺激時長,在一定程度上減輕受試者的視覺疲勞。利用FBCCA算法,充分提取數據的重要信息,實現12目標的準確識別,確定目標位置坐標。系統的平均準確度為(93.11±5.85)%,平均ITR為(59.69±8.11) bits·min-1。采用偽密鑰實現機械臂異步控制,使受試者順利完成兩種拼圖任務(平均時間681.7 s),有效地提高了系統的實用性和靈活性。
試驗結果表明,無論是BCI試驗經驗豐富的受試者還是無經驗受試者均可利用該系統控制機械臂去完成相應的目標任務。本文的研究是一次有益的探索,證明了本文提出的人機交互方法具備一定的可行性和有效性,為將來腦控機械臂的發展提供了一種新的思路。同時,此系統將來還可以作為一種康復理療的手段,幫助病患恢復自身的運動能力,具有一定的應用前景。
雖然該系統具有一定的優勢,但在異步控制方面,基于偽鍵而設計的狀態切換策略使得受試者的視線受到一定的遮擋,影響了受試者的使用。同時,滑動窗口也存在進一步改進的空間。并且SSVEP自身也存在一些局限性。例如目前誘發SSVEP信號的視覺刺激大多數采用低頻視覺刺激,這容易引起受試者疲勞。另外SSVEP-BCI系統的效率相對于傳統交互方式還是比較慢,影響了他的推廣及應用。未來的工作將對更為便利和有效的異步控制方式、刺激范式和滑動窗口進行研究,使控制系統的實用性得到進一步提高。