APP下载

运动想象脑机接口系统的Petri网建模方法

2020-02-27方慧娟尹亮罗继亮

关键词:库所子网右转

方慧娟, 尹亮, 罗继亮

(1. 华侨大学 信息科学与工程学院, 福建 厦门 361021;2. 华侨大学 福建省电机控制与系统优化调度工程技术研究中心, 福建 厦门 361021)

脑机接口(BCI)建立了一种大脑与外界直接进行通讯和控制的通道[1-3],为残疾人和正常人提供了一种新的辅助控制方式,尤其在脑控机器人方面有着广泛的应用[4-6].最初,脑控机器人的研究倾向于直接脑控[7],但该方法控制效率低,且容易使用户疲劳.将脑控与机器人自主控制相结合的共享控制方法能够改善控制效果,并减轻用户的思维负担[8-9].然而,由于应用场景的复杂化、突发事件及脑电指令延时等因素,生物智能和机器智能可能会出现决策上的冲突.为了实现更好的共享控制效果,选择适当的模型描述BCI系统的特性和行为尤为重要.BCI系统是一个动态、不确定、随机且不可完全观测的系统,随着单元个数的增加,系统的状态数指数级增长,存在“状态空间爆炸”的问题.Petri网具有结构化建模的优点,可用较小的结构描述一个很大的状态空间[10-11].此外,Petri网对顺序、并发、异步、不确定性和随机性的复杂系统具有丰富的分析能力及充分的模拟能力[12-13].因此,可将Petri网应用于BCI系统的建模中,但目前关于这方面的研究仍较为少见.Sun等[14]通过融合模糊Petri网的方法控制机械臂,但只是将模糊Petri网的模糊规则用于最终的决策,并未通过Petri网演化整个系统的运行.基于此,本文提出一种运动想象脑机接口系统的Petri网建模方法.

1 带控制库所的合成Petri网

1.1 带控制库所的Petri网

采用的Petri网结构可定义为一个五元组PN={P,T,E,W,m0}.式中:P是一个数量有限且不为零的库所集;T={t1,t2,…,ti}是一个数量有限且不为零的变迁集;E⊆(P×T)(T×P)是一个有序对的集合,表示库所与变迁之间的有向弧;W:E→Z+是一个正整数集合,表示在有向弧上的投影,即权值;m0是系统的初始标识,描述系统在初始状态时,每个库所里拖肯(token)的数目.

在建立运动想象脑机接口系统的Petri网模型时,加入控制库所[15].控制库所是Petri网中的一种特殊库所,用以描述建模对象的外部输入.当存在外部输入时,对应的控制库所产生一个token;否则,无token.由控制库所输出的弧指向的变迁称为可控变迁,通过控制库所分配一定的token组合,可以控制可控变迁的激发,从而控制整个系统.文中主要通过控制库所描述的脑电检测结果、周围障碍物及机器人状态等系统外部输入信号控制系统的演化过程.

1.2 合成Petri网的定义

Petri网建模的方法可以直观地描述整个系统的状态,便于对目标系统进行分析和改进.对于一个复杂的系统而言,其Petri网模型也十分复杂,但合成Petri网可以极大地简化复杂模型的建模过程[16].首先,根据功能将整个建模对象分解为若干个不同的子网,进行局部设计;然后,通过一组共享库所,将各子网合成为完整的Petri网模型[17-19].共享库所是指能够同时存在于两个或多个子网的库所,在Petri网结构中用虚线表示.

合成Petri网的定义如下.设Petri网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为子网PN1,PN2的合成Petri网.

2 运动想象脑机接口系统的Petri网模型设计

2.1 运动想象脑机接口系统

图1 运动想象EEG信号的二级分类Fig.1 Secondary classification of motor imaging EEG signals

在运动想象脑机接口系统中,人单边肢体想象运动在脑电图(EEG)信号中会引起大脑对侧的事件相关去同步化(ERD)电位和大脑同侧的事件相关同步化(ERS)电位,ERD电位和ERS电位可以由受试者自主调节产生,不需要任何刺激就可以输出控制信号[20].因此,基于运动想象的BCI非常适合应用于机器人的方向控制.为了提高EEG信号识别的准确性,对检测到运动想象EEG信号进行二级分类[21],如图1所示.

运动想象EEG信号的二级分类可实现人脑对机器人的直接控制,但直接脑控会使人的脑力负担较大,且存在碰撞等安全隐患.因此,加入机器智能使机器人能够自动避障,且当人未进行控制时,机器人也能够自主运动,并将这些控制策略与机器人运动信息、脑指令信息及周围环境障碍物信息相结合,构建BCI系统的Petri网模型,使人的智能与机器智能相互适应,达到共享控制的目的.

运动想象脑机接口的Petri网模型主要分为检测子系统模块和运动决策子系统模块.检测子系统模块又可以分为障碍检测和EEG检测,障碍检测由机器人通过声呐、激光等传感器判断周围是否存在障碍物,判断的结果将作为Petri网模型的一个外部输入,EEG检测结果则作为另一个外部输入.运动决策子系统模块根据检测子系统的检测结果,对机器人做出直行、停止、左转、右转和避障等动作决策,机器人则执行相应的动作.具体的控制策略有以下4个步骤.

步骤1当机器人检测为无障,且EEG一级检测为空闲状态时,机器人执行直行动作.

步骤2当机器人检测为无障,且EEG一级检测为非空闲状态时,机器人根据EEG二级检测结果对应执行左转或右转动作,即用户的意图.

步骤3当机器人检测到有障碍物时,不考虑EEG检测结果,优先执行避障动作.

步骤4当机器人处于非直行、左转、右转及避障状态时,为停止状态.

2.2 Petri网模型子网

根据上述控制策略对运动想象脑机接口系统进行Petri网建模.由于模型较为复杂,且为了便于今后进一步扩展及完善,通过Petri网分解合成方法对系统进行建模.

障碍检测子网的结构,如图2所示.图2中:POT为障碍检测程序,是一个可执行库所,用exe进行标注;PON,POY分别表示机器人周围无障碍和有障碍的状态,是一对互斥的状态,在Petri网演化的过程中,任意一组表示互斥状态的库所中至少有一个库所存在token;PCOY,PCON为控制库所(用小方框表示),用于描述障碍检测结果的外部输入,当障碍检测程序检测到障碍,在PCOY中输入一个token,反之,则在PCON中输入一个token;t为变迁.EEG检测子网的结构,如图3所示.图3中:PET1为EEG信号一级检测程序,通过一级检测可以得到空闲和非空闲的EEG信号(PEI,PEB);PET2为EEG信号二级检测程序,通过二级检测可以得到向左和向右的EEG信号(PEL,PER).

图2 障碍检测子网的结构 图3 EEG检测子网的结构 Fig.2 Structure of obstacle detection subnet Fig.3 Structure of EEG detection subnet

运动决策系统子网根据机器人的运动状态,分别建立直行、左转、右转及避障等4个决策子网.当机器人不处于这4种运动状态时,则处于停止状态.直行运动决策子网的结构,如图4所示.图4中:PSY,PSN分别表示机器人是否处于直行运动状态的库所;PCSO表示机器人已经完成直行动作的外部输入控制库所.当机器人处于直行运动状态时,库所PSY中存在一个token,一旦直行动作执行完毕,控制库所PCSO就会输入一个token,此时,变迁t11激发,机器人由直行运动状态转为非直行状态.此外,在Petri网的演化过程中,左转、右转及避障的决策都会使机器人从直行状态转为非直行状态.

左转运动决策子网的结构,如图5所示.图5中:PLY,PLN分别表示左转和非左转的库所;PCLO表示左转动作完成的外部输入库所.左转运动决策子网的规则与直行运动决策子网相似,当存在左转完成的外部输入,以及由Petri网演化得到直行、右转和避障的决策时,都会激发相应的变迁,使左转状态转为非左转状态.右转运动决策子网的结构与左转运动决策子网的结构相似.

避障决策子网的结构,如图6所示.图6中:PAY,PAN分别表示避障状态和非避障状态的库所;PCAO表示避障动作执行完成的外部输入的库所.当障碍检测子网检测到机器人周围存在障碍物时,机器人执行避障程序,此时,PAY中存在一个token;当障碍检测子网检测到机器人周围由有障状态变为无障状态时,表示避障完成,PCAO输入一个token,此时,变迁t18激发,机器人由避障状态转变为非避障状态.

图4 直行运动决策子网的结构 图5 左转运动决策子网的结构 图6 避障决策子网的结构 Fig.4 Structure of straight Fig.5 Structure of left Fig.6 Structure of obstacle motion decision subnet motion decision subnet avoidance decision subnet

2.3 Petri网模型全局网

各决策子网中均存在至少一个可执行库所,分别表示进入不同的可执行程序.完成子网建模后,找出各子网的共享库所组成一个共享库所集.由该共享库所集合成的运动想象脑机接口系统Petri网的图形化模型,如图7所示.运动想象脑机接口系统的Petri网中,库所表示的状态,如表1所示.

图7 运动想象脑机接口系统Petri网的图形化模型Fig.7 Graphical Petri net model of brain-computer interface system of motor imagery

表1 库所表示的状态
Tab.1 Status represented by place

序号库所状态序号库所状态1POT执行障碍检测程序15PER当前EEG信号状态为右转2PCOY障碍检测程序检测到障碍物的外部输入(控制库所)16PLY执行左转程序3PCON障碍检测程序未检测到障碍物的外部输入(控制库所)17PCLO机器人完成左转动作的外部输入(控制库所)4POY当前机器人周围为有障状态18PLN未在执行左转程序5PON当前机器人周围为无障状态19PSY执行直行程序6PET1执行EEG一级检测程序20PCSO机器人完成直行动作的外部输入(控制库所)7PCEB检测到EEG一级分类为非空闲(控制库所)21PSN未在执行直行程序8PCEI检测到EEG一级分类为空闲(控制库所)22PRY执行右转程序9PEB当前EEG信号状态为非空闲23PCRO机器人完成右转动作的外部输入(控制库所)10PEI当前EEG信号状态为空闲24PRN未在执行右转程序11PET2执行EEG二级检测程序25PAY执行避障程序

续表Continue table

2.4 模型正确性的验证

为了进一步验证该模型的正确性,采用可达图对模型的动态过程进行分析.将标识m0=[POT,PON,PET1,PEI,PLN,PSN,PRN,PAN]T作为可达图的起点,表示在初始状态时,执行障碍检测程序和EEG一级检测程序,机器人为停止状态.

为了更加直观地描述系统状态,只在标识中列出所有存在token的库所.当Petri网模型的外部输入不同时,Petri网的状态可达图,如图8所示.

图8 Petri网的状态可达图Fig.8 State reachability graph of Petri net

为了完整地描述整个系统的运行过程,只列出不同控制库所作用下的可达标识状态,省略部分中间状态.图8中:有向弧上标注的为标识状态转换所需激发的变迁序列;mi表示系统的可达标识;Pj表示外部输入库所中存在token;m0表示机器人停止运动;4个分支分别表示左转、右转、直行和避障功能的实现.验证结果表明,该模型满足BCI系统所设定的控制策略,并且可以确定当前模型具有活性、可回复性及无死锁性,逻辑上不存在错误.可达图中部分关键标识为

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分别表示机器人避障、直行、左转和右转等运动状态.

3 脑机接口系统Petri网模型的改进

3.1 扩展子网

为了进一步提高移动机器人的避障效率,将控制策略的步骤3更新如下:当系统检测到障碍物时,若EEG一级检测为空闲,执行自动避障功能;若EEG一级检测为非空闲,则根据EEG二级检测结果,执行左避障或右避障.由此建立的EEG控制避障决策子网的结构,如图9所示.由图9可知:当EEG一级检测为空闲时,机器人执行自动避障功能,此时,库所PAY中存在一个token;当EEG一级检测为非空闲时,如果执行左避障,变迁t21被激发,库所PLAY中存在token,如果执行右避障,变迁t26被激发,库所PRAY中存在token;当避障动作完成后,控制库所PCAO输入一个token,变迁t22,t24,t25中的一个被激发,机器人恢复为非避障状态.

由于脑电指令存在识别误差及延时等问题,如果机器人一直运行可能过度偏离路线,为此设计一个定时器模块,对机器人进行运行3 s,停止2 s的循环控制.定时器模块的控制策略:定时器1的计时周期为3 s,在计时期间,机器人可以执行直行、左转和右转的动作,定时器1计时满3 s后关闭;定时器2开始计时,机器人进入停止状态,定时器2计时满2 s后,进入定时器清零状态;在定时器1计时期间,一旦检测到障碍物,定时器立刻清零,机器人转为避障状态,避障动作执行完成后,重新开始计时.

定时器Petri网子网的结构,如图10所示.图10中:PT1,PT2用exe进行标注,分别表示定时器1,定时器2;PCT1O,PCT2O分别表示定时器1和2完成计时的外部输入;PTC表示定时器1和2均不计时的状态.通过该子网演化可以实现对脑控机器人的步进控制,减少因脑电识别误差带来的影响.

图9 EEG控制避障决策子网的结构 图10 定时器Petri网子网的结构 Fig.9 Structure of EEG control obstacle avoidance decision subnet Fig.10 Structure of timer Petri subnet

3.2 扩展全局Petri网

建立完上述子网后,将新增子网的共享库所添加到全局网的共享库所集,更新后的共享库所集为{PON,POY,PET1,PEI,PEB,PEL,PER,PLN,PSN,PRN,PT1,PT2}.合成的扩展全局Petri网,如图11所示.新增库所的状态,如表2所示.

图11 合成的扩展全局Petri网Fig.11 Extended global Petri net

表2 新增库所的状态
Tab.2 Status represented by new place

序号库所状态序号库所状态28PRAY执行向右避障程序32PTC执行定时器清零程序29PLAY执行向左避障程序33PCT1定时器1计时满3 s的外部输入(控制库所)30PT1执行定时器1程序34PCT2定时器2计时满2 s的外部输入(控制库所)31PT2执行定时器2程序

3.3 扩展全局Petri网的验证

通过可达图算法验证扩展后全局Petri网的正确性.通过控制库所输入不同的外部信息,可得扩展全局Petri网的状态可达图,如图12所示.图12中:初始标识m0=[POT,PON,PET1,PEI,PLN,PSN,PRN,PAN,PT2]T表示系统初始时处于停止状态,定时器2开始计时.该可达图从m1所在分支起按顺时针顺序分别表示避障、直行、右行和左行的可达状态,其中,避障又分为自动避障、左避障和右避障3个部分.当系统处于初始状态时,定时器2计时,初始标识用灰色标注;当机器人执行避障动作时,定时器1,2均未计时,避障相关标识用白色标注;当机器人执行直行、左行和右行的动作时,定时器1计时,直行、左行和右行的标识均用黑色标注.

图12 扩展全局Petri网的状态可达图Fig.12 State reachability graph of extended global Petri net

由图12可知:扩展后的全局Petri网具有活性、可回复性及无死锁性,且逻辑上不存在错误.其中部分关键标识为

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分别描述机器人避障、左避障、右避障、直行、左转和右转的运动状态.

4 结束语

使用Petri网方法解决脑机接口系统的建模问题,实现机器人直行、左转、右转、左避障、右避障和自主避障等功能,若需要添加新的共享控制策略和功能,可以在已建好的Petri网模型上进行修改.通过建立一个描述新功能的Petri网子网,并将其与已有的Petri网进行合成,即可实现对BCI系统Petri网模型的扩展.通过Petri网对脑机接口系统的演化可以实时观测系统的运行状态,具有分析和改进控制策略的作用,提高了脑控机器人在未知复杂环境中的适用性和安全性.

猜你喜欢

库所子网右转
日出(外一首)
为“右转必停”叫好
基于Delphi-模糊Petri 网的航空发动机故障诊断
基于Petri网的单元控制系统及编程研究
子网划分问题研究及应用
基于展开的状态空间搜索方法
航天器多子网时间同步系统设计与验证
基于CPN的OAuth协议建模与分析①
基于农村主路交叉路口优先右转汽车的碰撞预警系统初步设计
浅谈子网划分技术