吳浩鎮 徐家駿 曹芳淇 彭 芳
(電子科技大學中山學院,廣東中山 528402)
穩態視覺誘發電位腦機接口的方法主要有:功率譜密度分析(Power Spectrum Density Analysis,PSDA),典型線性相關分析(CCA)。PSDA 對SSVEP信號分類的準確率偏低,受噪聲影響波動大且不穩定[1]。本文采用CCA分析轉換成控制信號,以Topic為橋梁傳遞到機械臂,實現基于SSVEP的BCI對7自由度的機械臂的控制。
腦機接口是一種基于腦電信號的全新的人機交互方式,受試者佩戴電極帽,由視覺刺激引發腦電信號,將采集的腦電信號分析轉換為控制信號傳到機械臂以實現腦控機械臂。
本文中機械臂采用Franka公司的PANDA械臂,該機械臂通過話題通訊接收來自MATLAB的腦電信號,運用笛卡爾運動規劃實現機械臂的運動規劃。腦電數據的采集采用COMPUMEDICS 公司的Graeleeg可穿戴腦電采集設備。
BCI通信原理如圖1所示,通過ROS MASTER在MATLAB機和ROS機兩邊互相創立一個節點,并且通過話題通訊在節點之間傳遞信息,實現信息傳輸。當Graeleeg腦電機采集一個腦部信號時,并通過MATLAB轉變成有用的控制信號時候,通過Topic橋梁,使得MATLAB的控制信號可以發布出去[2]。

圖1 腦控機械臂通信原理
當有信息發布時,ROS的訂閱節點訂戶不斷訂閱話題,當需要訂閱的話題名與MATLAB機發布的話題名一致時,兩者建立連接并開始數據的傳送,然后通過程序去判斷控制信號并控制PANDA機械臂的相關運動。
視覺刺激通過MATLAB的Psychtoolbox工具包編寫程序實現,基于采樣正旋編碼方法在顯示器上實現所需的刺激頻率,在基于SSVEP的BCI系統中,誘發SSVEP信號的刺激源頻率范圍為4~50 Hz。不同的刺激頻率會極大地影響SSVEP信號的強度。在6個頻率塊的刺激頻率間隔1 Hz。
視覺刺激一共分為兩個階段:刺激階段和分析階段。在刺激階段中,按預定刺激頻率閃爍2 s后停止,隨后將腦電信號截取保存等待分析結果,完成后將分析得到的頻率匹配對應的頻率塊并標以紅色。
當人眼受到固定頻率超過4 Hz的視覺刺激時,大腦皮質活動將被調節,而腦電信號頻率又可細分為低頻段(<15 Hz)、中頻段(15~30 Hz)、高頻段(>30 Hz),低頻刺激誘發的SSVEP會在較短的時間內達到穩態,且刺激后不會即刻消失。故本文采用9~14 Hz的刺激頻段,利用MATLAB與Curry8(腦電信號采集套件)構成通訊以實時獲取數據。當視覺刺激程序啟動時,數據開始收集隨后進行預處理。
腦電信號屬于非平穩隨機信號,容易受到各種噪聲干擾。對獲取的初始數據的噪聲和干擾進行處理,將采樣率從MATLAB中得到的1 024 Hz降至256 Hz,然后進行帶通濾波和50 Hz陷波濾波去除干擾,利于后面數據分析。圖2為原始腦電數據,圖3為濾波后數據,濾波后對比特征明顯。

圖2 9 Hz降采樣(256 Hz)后數據

圖3 帶通濾波50 Hz陷濾波后數據
本文使用巴特沃斯濾波器和雙線性變換方法來設計濾波器。由于腦電信號中存在倍頻干擾,設計陷濾波器濾除經低通濾波后腦電信號的倍頻干擾。陷濾波器的本質是IIR帶阻濾波器,其基本設計方法與帶通濾波器類似。設置1個周期,過濾通過低通濾波器后的多個峰值噪聲[3]。
CCA是研究兩組變量之間相關性的統計分析方法,為了從整體上掌握兩組指標之間的相關性,分別從兩組變量中提取兩個具有代表性的綜合變量u1和v1(分別為兩組變量的線性組合),利用這兩個綜合變量之間的相關性來反映兩組指標之間的整體相關性。研究相關系數ρ(u,v)并在組合中尋找最大相關系數的線性組合。
本文采用現有的典型相關分析方法在通用的正弦余弦模板上進行單次實驗,利用正弦余弦構造Yi作為參考信號。

從X和Y尋求變量x1和x2(N×P矩陣,p1≤p2)。形式化表示如x=由于CCA對數據的線性依賴性,將X、Y投影到1維,而對應的投影向量或線性系數向量分別為a、b,定義u=aTx1,v=bTx2,可算出u和v的方差和協方差:

通過尋求a、b,使式(3)中結果最大化,以得出最大相關系數對應的頻率。
相對關節運動規劃,關節運動規劃出來的運動是無規律可循的,而笛卡爾運動規劃則可以按照要求在工作空間范圍內去規劃相應的運動路線。笛卡爾運動規劃是當給定機械臂的末端姿態時,它會通過逆運動學解出各個關節的角度。
本文研究的課題由于需要精確控制機械臂的運動距離,故采用笛卡爾運動規劃來實現路徑規劃。機械臂運動規劃末端可以看成一條直線,故可選用定時插補法和定距插補法對其相應的軌跡點進行插補。由于定距插補規劃出來的軌跡不是很平滑,故采用定時插補法,只需在相同時間內對運動規矩進行插補,當時間取值足夠小時,其末端運動規矩可以相應地近似光滑。
首先,機械臂需要建立一個URDF模型,該模型是用參數形式去描述機械臂的關節與連桿參數、慣性矩陣、外觀和碰撞屬性等一系列參數之間的聯系。
在URDF模型建立之后,需要配置MOVEIT。通過使用MOVEIT的配置助手對其進行相關的配置。首先,建立碰撞免檢矩陣,有助于減小機械臂的運動規劃時間;其次,創建機械臂的虛擬關節與建立機械臂的運動規劃組;最后,定義機械臂位置、末端執行器、跟被動關節。在完成以上步驟后,即可生成機械臂的配置文件。
把全部的路徑規劃點添加到Waypoints數組中,然后進行路徑規劃,設置終端步進值為0.01,即每隔1 cm計算能否走直線的運動規劃,并添加跳躍閾值與避障規劃,對全部路徑點的運動規劃進行逆運動學求解,把逆運動學成功的路線比例值賦值給Fraction,在100次逆運動學求解過程中,如果有1次Fraction的值為1,即笛卡爾運動規劃成功并開始執行該路徑點的運動規劃。反之,則笛卡爾運動規劃失敗,并把失敗的Fraction值反饋給MOVEIT。
本文對腦電數據的采集與處理、與機械臂的通訊控制進行分析,招募6個年齡在21~24之間并且身體狀況良好的男性受試者,視力情況均為矯正后視力正常。
對原始數據進行256 Hz降采樣和濾波減小干擾,利于后期的數據分析。將處理后的數據代入公式(1)(3)計算,得到刺激頻率。
在15 Hz頻率下改變不同通道采集5次,對所得數據進行CCA分析的效果如表1所示。64通道在相關性上要優于其他通道,但在其所得結果正確率不如8通道,故最終選擇8通道數據采集。

表1 不同通道15 Hz刺激5次得到的數據
對6名受試者數據分析結果,在8通道9 Hz采集10次,10~14 Hz各采集5次。由CCA識別結果,識別的正確率平均為91.85%。
為了確保機械臂能夠正確流暢地按照指令進行操作,在實驗過程中,也在Topic通訊下對機械臂的實時性進行分析,即在不同頻率下分別對機械臂連續發送3個控制指令,看機械臂能否正確按照指令執行命令。
Topic通訊下PANDA機械臂的極限接收頻率為3 Hz,而1個腦電信號采集與分析過程大概則需要2~3 s,因此,判斷機械臂可以正確流暢地按照腦電信號執行相應的控制指令。
通過笛卡爾運動規劃,可使得無規律可循的運動規矩讓機械臂在三維空間下走出我們要求的相應運動路線,但笛卡爾運動規劃會使機械臂運動不穩定,因此,需要降低其速度,以此來實現機械臂的穩定運行。
本文基于SSVEP的BCI,規劃了腦控機器人運動方向的控制策略。在刺激呈現畫面數量和刺激目標數量一定的情況下,優化布局,適當增加間距或刺激時間,可以提高正確識別率。同時在ROS平臺下,基于笛卡爾運動規劃下的運動規劃穩定性與速度呈反比,可以通過編程調節速度來尋求較合適的運動平衡點。在刺激呈現時間、視覺傳遞時間和測試平臺環境相同的條件下,多位受試者在SSVEP刺激下實現高準確率控制機器臂。