方慧娟, 尹亮, 羅繼亮
(1. 華僑大學 信息科學與工程學院, 福建 廈門 361021;2. 華僑大學 福建省電機控制與系統(tǒng)優(yōu)化調(diào)度工程技術(shù)研究中心, 福建 廈門 361021)
腦機接口(BCI)建立了一種大腦與外界直接進行通訊和控制的通道[1-3],為殘疾人和正常人提供了一種新的輔助控制方式,尤其在腦控機器人方面有著廣泛的應(yīng)用[4-6].最初,腦控機器人的研究傾向于直接腦控[7],但該方法控制效率低,且容易使用戶疲勞.將腦控與機器人自主控制相結(jié)合的共享控制方法能夠改善控制效果,并減輕用戶的思維負擔[8-9].然而,由于應(yīng)用場景的復(fù)雜化、突發(fā)事件及腦電指令延時等因素,生物智能和機器智能可能會出現(xiàn)決策上的沖突.為了實現(xiàn)更好的共享控制效果,選擇適當?shù)哪P兔枋鯞CI系統(tǒng)的特性和行為尤為重要.BCI系統(tǒng)是一個動態(tài)、不確定、隨機且不可完全觀測的系統(tǒng),隨著單元個數(shù)的增加,系統(tǒng)的狀態(tài)數(shù)指數(shù)級增長,存在“狀態(tài)空間爆炸”的問題.Petri網(wǎng)具有結(jié)構(gòu)化建模的優(yōu)點,可用較小的結(jié)構(gòu)描述一個很大的狀態(tài)空間[10-11].此外,Petri網(wǎng)對順序、并發(fā)、異步、不確定性和隨機性的復(fù)雜系統(tǒng)具有豐富的分析能力及充分的模擬能力[12-13].因此,可將Petri網(wǎng)應(yīng)用于BCI系統(tǒng)的建模中,但目前關(guān)于這方面的研究仍較為少見.Sun等[14]通過融合模糊Petri網(wǎng)的方法控制機械臂,但只是將模糊Petri網(wǎng)的模糊規(guī)則用于最終的決策,并未通過Petri網(wǎng)演化整個系統(tǒng)的運行.基于此,本文提出一種運動想象腦機接口系統(tǒng)的Petri網(wǎng)建模方法.
采用的Petri網(wǎng)結(jié)構(gòu)可定義為一個五元組PN={P,T,E,W,m0}.式中:P是一個數(shù)量有限且不為零的庫所集;T={t1,t2,…,ti}是一個數(shù)量有限且不為零的變遷集;E?(P×T)(T×P)是一個有序?qū)Φ募希硎編焖c變遷之間的有向弧;W:E→Z+是一個正整數(shù)集合,表示在有向弧上的投影,即權(quán)值;m0是系統(tǒng)的初始標識,描述系統(tǒng)在初始狀態(tài)時,每個庫所里拖肯(token)的數(shù)目.
在建立運動想象腦機接口系統(tǒng)的Petri網(wǎng)模型時,加入控制庫所[15].控制庫所是Petri網(wǎng)中的一種特殊庫所,用以描述建模對象的外部輸入.當存在外部輸入時,對應(yīng)的控制庫所產(chǎn)生一個token;否則,無token.由控制庫所輸出的弧指向的變遷稱為可控變遷,通過控制庫所分配一定的token組合,可以控制可控變遷的激發(fā),從而控制整個系統(tǒng).文中主要通過控制庫所描述的腦電檢測結(jié)果、周圍障礙物及機器人狀態(tài)等系統(tǒng)外部輸入信號控制系統(tǒng)的演化過程.
Petri網(wǎng)建模的方法可以直觀地描述整個系統(tǒng)的狀態(tài),便于對目標系統(tǒng)進行分析和改進.對于一個復(fù)雜的系統(tǒng)而言,其Petri網(wǎng)模型也十分復(fù)雜,但合成Petri網(wǎng)可以極大地簡化復(fù)雜模型的建模過程[16].首先,根據(jù)功能將整個建模對象分解為若干個不同的子網(wǎng),進行局部設(shè)計;然后,通過一組共享庫所,將各子網(wǎng)合成為完整的Petri網(wǎng)模型[17-19].共享庫所是指能夠同時存在于兩個或多個子網(wǎng)的庫所,在Petri網(wǎng)結(jié)構(gòu)中用虛線表示.
合成Petri網(wǎng)的定義如下.設(shè)Petri網(wǎng)PNi={Pi,Ti,Ei,Wi,m0,i},i=1,2,PN={P,T,E,W,m0},若滿足以下5點條件:1)P=P1∪P2且P1∩P2≠?;2)T=T1∪T2且T1∩T2≠?;3)E=E1∪E2;4)W=W1∪W2;5)m0(P)=max(m0,1(P),m0,2(P)),P∈P1∩P2,m0,i(P),P∈Pi-(P1∩P2),則稱PN為子網(wǎng)PN1,PN2的合成Petri網(wǎng).

圖1 運動想象EEG信號的二級分類Fig.1 Secondary classification of motor imaging EEG signals
在運動想象腦機接口系統(tǒng)中,人單邊肢體想象運動在腦電圖(EEG)信號中會引起大腦對側(cè)的事件相關(guān)去同步化(ERD)電位和大腦同側(cè)的事件相關(guān)同步化(ERS)電位,ERD電位和ERS電位可以由受試者自主調(diào)節(jié)產(chǎn)生,不需要任何刺激就可以輸出控制信號[20].因此,基于運動想象的BCI非常適合應(yīng)用于機器人的方向控制.為了提高EEG信號識別的準確性,對檢測到運動想象EEG信號進行二級分類[21],如圖1所示.
運動想象EEG信號的二級分類可實現(xiàn)人腦對機器人的直接控制,但直接腦控會使人的腦力負擔較大,且存在碰撞等安全隱患.因此,加入機器智能使機器人能夠自動避障,且當人未進行控制時,機器人也能夠自主運動,并將這些控制策略與機器人運動信息、腦指令信息及周圍環(huán)境障礙物信息相結(jié)合,構(gòu)建BCI系統(tǒng)的Petri網(wǎng)模型,使人的智能與機器智能相互適應(yīng),達到共享控制的目的.
運動想象腦機接口的Petri網(wǎng)模型主要分為檢測子系統(tǒng)模塊和運動決策子系統(tǒng)模塊.檢測子系統(tǒng)模塊又可以分為障礙檢測和EEG檢測,障礙檢測由機器人通過聲吶、激光等傳感器判斷周圍是否存在障礙物,判斷的結(jié)果將作為Petri網(wǎng)模型的一個外部輸入,EEG檢測結(jié)果則作為另一個外部輸入.運動決策子系統(tǒng)模塊根據(jù)檢測子系統(tǒng)的檢測結(jié)果,對機器人做出直行、停止、左轉(zhuǎn)、右轉(zhuǎn)和避障等動作決策,機器人則執(zhí)行相應(yīng)的動作.具體的控制策略有以下4個步驟.
步驟1當機器人檢測為無障,且EEG一級檢測為空閑狀態(tài)時,機器人執(zhí)行直行動作.
步驟2當機器人檢測為無障,且EEG一級檢測為非空閑狀態(tài)時,機器人根據(jù)EEG二級檢測結(jié)果對應(yīng)執(zhí)行左轉(zhuǎn)或右轉(zhuǎn)動作,即用戶的意圖.
步驟3當機器人檢測到有障礙物時,不考慮EEG檢測結(jié)果,優(yōu)先執(zhí)行避障動作.
步驟4當機器人處于非直行、左轉(zhuǎn)、右轉(zhuǎn)及避障狀態(tài)時,為停止狀態(tài).
根據(jù)上述控制策略對運動想象腦機接口系統(tǒng)進行Petri網(wǎng)建模.由于模型較為復(fù)雜,且為了便于今后進一步擴展及完善,通過Petri網(wǎng)分解合成方法對系統(tǒng)進行建模.
障礙檢測子網(wǎng)的結(jié)構(gòu),如圖2所示.圖2中:POT為障礙檢測程序,是一個可執(zhí)行庫所,用exe進行標注;PON,POY分別表示機器人周圍無障礙和有障礙的狀態(tài),是一對互斥的狀態(tài),在Petri網(wǎng)演化的過程中,任意一組表示互斥狀態(tài)的庫所中至少有一個庫所存在token;PCOY,PCON為控制庫所(用小方框表示),用于描述障礙檢測結(jié)果的外部輸入,當障礙檢測程序檢測到障礙,在PCOY中輸入一個token,反之,則在PCON中輸入一個token;t為變遷.EEG檢測子網(wǎng)的結(jié)構(gòu),如圖3所示.圖3中:PET1為EEG信號一級檢測程序,通過一級檢測可以得到空閑和非空閑的EEG信號(PEI,PEB);PET2為EEG信號二級檢測程序,通過二級檢測可以得到向左和向右的EEG信號(PEL,PER).

圖2 障礙檢測子網(wǎng)的結(jié)構(gòu) 圖3 EEG檢測子網(wǎng)的結(jié)構(gòu) Fig.2 Structure of obstacle detection subnet Fig.3 Structure of EEG detection subnet
運動決策系統(tǒng)子網(wǎng)根據(jù)機器人的運動狀態(tài),分別建立直行、左轉(zhuǎn)、右轉(zhuǎn)及避障等4個決策子網(wǎng).當機器人不處于這4種運動狀態(tài)時,則處于停止狀態(tài).直行運動決策子網(wǎng)的結(jié)構(gòu),如圖4所示.圖4中:PSY,PSN分別表示機器人是否處于直行運動狀態(tài)的庫所;PCSO表示機器人已經(jīng)完成直行動作的外部輸入控制庫所.當機器人處于直行運動狀態(tài)時,庫所PSY中存在一個token,一旦直行動作執(zhí)行完畢,控制庫所PCSO就會輸入一個token,此時,變遷t11激發(fā),機器人由直行運動狀態(tài)轉(zhuǎn)為非直行狀態(tài).此外,在Petri網(wǎng)的演化過程中,左轉(zhuǎn)、右轉(zhuǎn)及避障的決策都會使機器人從直行狀態(tài)轉(zhuǎn)為非直行狀態(tài).
左轉(zhuǎn)運動決策子網(wǎng)的結(jié)構(gòu),如圖5所示.圖5中:PLY,PLN分別表示左轉(zhuǎn)和非左轉(zhuǎn)的庫所;PCLO表示左轉(zhuǎn)動作完成的外部輸入庫所.左轉(zhuǎn)運動決策子網(wǎng)的規(guī)則與直行運動決策子網(wǎng)相似,當存在左轉(zhuǎn)完成的外部輸入,以及由Petri網(wǎng)演化得到直行、右轉(zhuǎn)和避障的決策時,都會激發(fā)相應(yīng)的變遷,使左轉(zhuǎn)狀態(tài)轉(zhuǎn)為非左轉(zhuǎn)狀態(tài).右轉(zhuǎn)運動決策子網(wǎng)的結(jié)構(gòu)與左轉(zhuǎn)運動決策子網(wǎng)的結(jié)構(gòu)相似.
避障決策子網(wǎng)的結(jié)構(gòu),如圖6所示.圖6中:PAY,PAN分別表示避障狀態(tài)和非避障狀態(tài)的庫所;PCAO表示避障動作執(zhí)行完成的外部輸入的庫所.當障礙檢測子網(wǎng)檢測到機器人周圍存在障礙物時,機器人執(zhí)行避障程序,此時,PAY中存在一個token;當障礙檢測子網(wǎng)檢測到機器人周圍由有障狀態(tài)變?yōu)闊o障狀態(tài)時,表示避障完成,PCAO輸入一個token,此時,變遷t18激發(fā),機器人由避障狀態(tài)轉(zhuǎn)變?yōu)榉潜苷蠣顟B(tài).

圖4 直行運動決策子網(wǎng)的結(jié)構(gòu) 圖5 左轉(zhuǎn)運動決策子網(wǎng)的結(jié)構(gòu) 圖6 避障決策子網(wǎng)的結(jié)構(gòu) Fig.4 Structure of straight Fig.5 Structure of left Fig.6 Structure of obstacle motion decision subnet motion decision subnet avoidance decision subnet
各決策子網(wǎng)中均存在至少一個可執(zhí)行庫所,分別表示進入不同的可執(zhí)行程序.完成子網(wǎng)建模后,找出各子網(wǎng)的共享庫所組成一個共享庫所集.由該共享庫所集合成的運動想象腦機接口系統(tǒng)Petri網(wǎng)的圖形化模型,如圖7所示.運動想象腦機接口系統(tǒng)的Petri網(wǎng)中,庫所表示的狀態(tài),如表1所示.

圖7 運動想象腦機接口系統(tǒng)Petri網(wǎng)的圖形化模型Fig.7 Graphical Petri net model of brain-computer interface system of motor imagery
表1 庫所表示的狀態(tài)
Tab.1 Status represented by place

序號庫所狀態(tài)序號庫所狀態(tài)1POT執(zhí)行障礙檢測程序15PER當前EEG信號狀態(tài)為右轉(zhuǎn)2PCOY障礙檢測程序檢測到障礙物的外部輸入(控制庫所)16PLY執(zhí)行左轉(zhuǎn)程序3PCON障礙檢測程序未檢測到障礙物的外部輸入(控制庫所)17PCLO機器人完成左轉(zhuǎn)動作的外部輸入(控制庫所)4POY當前機器人周圍為有障狀態(tài)18PLN未在執(zhí)行左轉(zhuǎn)程序5PON當前機器人周圍為無障狀態(tài)19PSY執(zhí)行直行程序6PET1執(zhí)行EEG一級檢測程序20PCSO機器人完成直行動作的外部輸入(控制庫所)7PCEB檢測到EEG一級分類為非空閑(控制庫所)21PSN未在執(zhí)行直行程序8PCEI檢測到EEG一級分類為空閑(控制庫所)22PRY執(zhí)行右轉(zhuǎn)程序9PEB當前EEG信號狀態(tài)為非空閑23PCRO機器人完成右轉(zhuǎn)動作的外部輸入(控制庫所)10PEI當前EEG信號狀態(tài)為空閑24PRN未在執(zhí)行右轉(zhuǎn)程序11PET2執(zhí)行EEG二級檢測程序25PAY執(zhí)行避障程序

續(xù)表Continue table
為了進一步驗證該模型的正確性,采用可達圖對模型的動態(tài)過程進行分析.將標識m0=[POT,PON,PET1,PEI,PLN,PSN,PRN,PAN]T作為可達圖的起點,表示在初始狀態(tài)時,執(zhí)行障礙檢測程序和EEG一級檢測程序,機器人為停止狀態(tài).
為了更加直觀地描述系統(tǒng)狀態(tài),只在標識中列出所有存在token的庫所.當Petri網(wǎng)模型的外部輸入不同時,Petri網(wǎng)的狀態(tài)可達圖,如圖8所示.

圖8 Petri網(wǎng)的狀態(tài)可達圖Fig.8 State reachability graph of Petri net
為了完整地描述整個系統(tǒng)的運行過程,只列出不同控制庫所作用下的可達標識狀態(tài),省略部分中間狀態(tài).圖8中:有向弧上標注的為標識狀態(tài)轉(zhuǎn)換所需激發(fā)的變遷序列;mi表示系統(tǒng)的可達標識;Pj表示外部輸入庫所中存在token;m0表示機器人停止運動;4個分支分別表示左轉(zhuǎn)、右轉(zhuǎn)、直行和避障功能的實現(xiàn).驗證結(jié)果表明,該模型滿足BCI系統(tǒng)所設(shè)定的控制策略,并且可以確定當前模型具有活性、可回復(fù)性及無死鎖性,邏輯上不存在錯誤.可達圖中部分關(guān)鍵標識為
m2=[POT,POY,PET1,PEI,PLN,PSN,PRN,PAY]T,
m4=[POT,PON,PET1,PEI,PLN,PSY,PRN,PAN]T,
m8=[POT,PON,PET1,PEB,PLY,PSN,PRN,PAN]T,
m10=[POT,PON,PET1,PEB,PLN,PSN,PRY,PAN]T.
上式中:m2,m4,m8,m10分別表示機器人避障、直行、左轉(zhuǎn)和右轉(zhuǎn)等運動狀態(tài).
為了進一步提高移動機器人的避障效率,將控制策略的步驟3更新如下:當系統(tǒng)檢測到障礙物時,若EEG一級檢測為空閑,執(zhí)行自動避障功能;若EEG一級檢測為非空閑,則根據(jù)EEG二級檢測結(jié)果,執(zhí)行左避障或右避障.由此建立的EEG控制避障決策子網(wǎng)的結(jié)構(gòu),如圖9所示.由圖9可知:當EEG一級檢測為空閑時,機器人執(zhí)行自動避障功能,此時,庫所PAY中存在一個token;當EEG一級檢測為非空閑時,如果執(zhí)行左避障,變遷t21被激發(fā),庫所PLAY中存在token,如果執(zhí)行右避障,變遷t26被激發(fā),庫所PRAY中存在token;當避障動作完成后,控制庫所PCAO輸入一個token,變遷t22,t24,t25中的一個被激發(fā),機器人恢復(fù)為非避障狀態(tài).
由于腦電指令存在識別誤差及延時等問題,如果機器人一直運行可能過度偏離路線,為此設(shè)計一個定時器模塊,對機器人進行運行3 s,停止2 s的循環(huán)控制.定時器模塊的控制策略:定時器1的計時周期為3 s,在計時期間,機器人可以執(zhí)行直行、左轉(zhuǎn)和右轉(zhuǎn)的動作,定時器1計時滿3 s后關(guān)閉;定時器2開始計時,機器人進入停止狀態(tài),定時器2計時滿2 s后,進入定時器清零狀態(tài);在定時器1計時期間,一旦檢測到障礙物,定時器立刻清零,機器人轉(zhuǎn)為避障狀態(tài),避障動作執(zhí)行完成后,重新開始計時.
定時器Petri網(wǎng)子網(wǎng)的結(jié)構(gòu),如圖10所示.圖10中:PT1,PT2用exe進行標注,分別表示定時器1,定時器2;PCT1O,PCT2O分別表示定時器1和2完成計時的外部輸入;PTC表示定時器1和2均不計時的狀態(tài).通過該子網(wǎng)演化可以實現(xiàn)對腦控機器人的步進控制,減少因腦電識別誤差帶來的影響.

圖9 EEG控制避障決策子網(wǎng)的結(jié)構(gòu) 圖10 定時器Petri網(wǎng)子網(wǎng)的結(jié)構(gòu) Fig.9 Structure of EEG control obstacle avoidance decision subnet Fig.10 Structure of timer Petri subnet
建立完上述子網(wǎng)后,將新增子網(wǎng)的共享庫所添加到全局網(wǎng)的共享庫所集,更新后的共享庫所集為{PON,POY,PET1,PEI,PEB,PEL,PER,PLN,PSN,PRN,PT1,PT2}.合成的擴展全局Petri網(wǎng),如圖11所示.新增庫所的狀態(tài),如表2所示.

圖11 合成的擴展全局Petri網(wǎng)Fig.11 Extended global Petri net
表2 新增庫所的狀態(tài)
Tab.2 Status represented by new place

序號庫所狀態(tài)序號庫所狀態(tài)28PRAY執(zhí)行向右避障程序32PTC執(zhí)行定時器清零程序29PLAY執(zhí)行向左避障程序33PCT1定時器1計時滿3 s的外部輸入(控制庫所)30PT1執(zhí)行定時器1程序34PCT2定時器2計時滿2 s的外部輸入(控制庫所)31PT2執(zhí)行定時器2程序
通過可達圖算法驗證擴展后全局Petri網(wǎng)的正確性.通過控制庫所輸入不同的外部信息,可得擴展全局Petri網(wǎng)的狀態(tài)可達圖,如圖12所示.圖12中:初始標識m0=[POT,PON,PET1,PEI,PLN,PSN,PRN,PAN,PT2]T表示系統(tǒng)初始時處于停止狀態(tài),定時器2開始計時.該可達圖從m1所在分支起按順時針順序分別表示避障、直行、右行和左行的可達狀態(tài),其中,避障又分為自動避障、左避障和右避障3個部分.當系統(tǒng)處于初始狀態(tài)時,定時器2計時,初始標識用灰色標注;當機器人執(zhí)行避障動作時,定時器1,2均未計時,避障相關(guān)標識用白色標注;當機器人執(zhí)行直行、左行和右行的動作時,定時器1計時,直行、左行和右行的標識均用黑色標注.

圖12 擴展全局Petri網(wǎng)的狀態(tài)可達圖Fig.12 State reachability graph of extended global Petri net
由圖12可知:擴展后的全局Petri網(wǎng)具有活性、可回復(fù)性及無死鎖性,且邏輯上不存在錯誤.其中部分關(guān)鍵標識為
m2=[POT,POY,PET1,PEI,PLN,PSN,PRN,PAY,PTC]T,
m4=[POT,POY,PET1,PEB,PLN,PSN,PRN,PLAY,PTC]T,
m5=[POT,POY,PET1,PEB,PLN,PSN,PRN,PRAY,PTC]T,
m7=[POT,PON,PET1,PEI,PLN,PSY,PRN,PAN,PT1]T,
m11=[POT,PON,PET1,PEB,PLY,PSN,PRN,PAN,PT1]T,
m13=[POT,PON,PET1,PEB,PLN,PSN,PRY,PAN,PT1]T.
上式中:m2,m4,m5,m7,m11,m13分別描述機器人避障、左避障、右避障、直行、左轉(zhuǎn)和右轉(zhuǎn)的運動狀態(tài).
使用Petri網(wǎng)方法解決腦機接口系統(tǒng)的建模問題,實現(xiàn)機器人直行、左轉(zhuǎn)、右轉(zhuǎn)、左避障、右避障和自主避障等功能,若需要添加新的共享控制策略和功能,可以在已建好的Petri網(wǎng)模型上進行修改.通過建立一個描述新功能的Petri網(wǎng)子網(wǎng),并將其與已有的Petri網(wǎng)進行合成,即可實現(xiàn)對BCI系統(tǒng)Petri網(wǎng)模型的擴展.通過Petri網(wǎng)對腦機接口系統(tǒng)的演化可以實時觀測系統(tǒng)的運行狀態(tài),具有分析和改進控制策略的作用,提高了腦控機器人在未知復(fù)雜環(huán)境中的適用性和安全性.