基于脑电信号的虚拟键盘和机器人控制系统的制作方法

文档序号:6420153阅读:291来源:国知局
专利名称:基于脑电信号的虚拟键盘和机器人控制系统的制作方法
技术领域
本发明属于生物医学工程技术领域,涉及一种虚拟键盘和机器人控制系统,在全系统中将生物神经系统的电生理(脑电信号)与计算机和机器人相结合,具体涉及了脑电生理、数据库、机器人、数字信号分析和处理和控制方法等技术领域。
背景技术
目前国外一些学者在实验室内研究基于脑电的脑-计算机接口(Brain-ComputerInterface)技术,主要的目的是作为残疾人的障碍补助方式,其系统主要有利用慢波脑电位(Cz电位参考文献有IEEE Trans Rehab Eng 2000;8190-192)、P300脑电位(参考文献有IEEETrans Rehab Eng 2000;8174-179)、mu或beta波脑电位(参考文献有Trans Rehab Eng 2000;8203-204)来控制计算机和周围的电子仪器;所采用的虚拟键盘输出文字的功能也是使用被动的方式,即必须有特定的光刺激受试者的视觉系统,并且只能输出英文。

发明内容
为了解决目前脑-计算机接口技术功能之不足,本发明的目的是提供一种基于脑电信号的虚拟键盘和机器人控制系统,建立了一套独特的系统,即是用大脑运动区的C3和C4处的诱发电位来实现对虚拟键盘和机器人进行控制,并且在虚拟键盘输出文字时采用的是主动的方式,它使受试者的视觉系统不需要受任何外界的刺激,这样使受试者更加自如,本发明可以实现下述目的不仅可以用虚拟键盘输出英文,还可以输出中文;用特定思维诱发的脑电信号实现对开关电路的控制,对屏幕上光标的控制,对语音系统的控制,使不能说话的残疾人能够将内心世界通过语言表达出来;用特定思维诱发的脑电信号实现对机器人行为的控制(让机器人定向移动,让机器人唱歌等);利用特定思维诱发的脑电信号实现在计算机的显示器上输出中文文字和英文文字(虚拟键盘打字);利用特定思维诱发的脑电信号实现对计算机显示器上的图像进行放大和缩小。
总之,基于脑电信号的虚拟键盘和机器人控制系统是一种供残疾人(特别是瘫痪病人)使用的电子机械装置,即它可供思维正常但有运动功能障碍的人对外界表达内心世界,对外界环境进行交流和控制,如向外界表达想要吃饭、进行户外活动或听音乐等的想法,以及控制收音机和电扇等外界环境,实现一定程度上的生活自理。
它还可为健康的人们提供在特殊环境下控制外界的环境,如帮助人们在高辐射区外对该区内部设备的控制等,也可为人们提供一种新的服务方式,如通过脑电信号指挥机器人来帮助人们做事情等。
本发明的技术方案是这样实现的它是一种基于特定思维诱发的脑电信号来表达内心世界和控制周围环境的装置,该装置通过特制的硬件平台和控制程序组成,硬件平台由一台PC机、脑-计算机接口控制器、机器人、电灯等周围电器四部分组成,其联接是PC机通过串行接口分别与机器人和脑-计算机接口控制器联接,此控制器输入端与脑传导电极联接,同时PC机与外部设备显示器联接,脑-计算机接口控制器与电灯及其它电器联接,脑传导电极与受试者联接(如图1所示)。
脑电信号通过电极采集送入脑-计算机接口控制器,脑-计算机接口控制器对脑电信号进行滤波、放大等预处理,处理后的脑电数据,通过串行口实时传送到计算机当中,计算机接收到预处理的脑电数据后,实时对接收到的脑电数据进行分析,从中提取特征信号,用来判断大脑的思维活动,实现相应的控制动作,即通过显示器显示虚拟键盘输出的结果;可以通过声卡进行语音表达;还可以通过计算机的串行口发出控制指令,传送给机器人,使机器人按照指定的程序实现预定的一些动作和唱歌;还可以将指令传回给接口控制器,控制外围的电灯及周围电器等。
本系统硬件脑-计算机接口控制器主要由五部分组成,分别为输入保护部分,前级放大部分,信号隔离部分,后级信号放大滤波部分,以及微计算机(Inter 80C196KC)采集控制部分(如图2所示),各部分的结构与工作原理如下输入保护部分本部分主要由稳压二极管和输入保护电阻组成,另外在输入前置放大器INA128的输入端也有一定的保护作用;前级放大部分本部分有两种功能模块,共三个部分,分别由INA128和LM324构成,前半部分的放大采用差动放大方法,以提高输入信号的共模抑制比,后半部放大使用的负反馈放大电路,为了有效的抑制工频干扰,在两极放大器中间,设有一个双T网络滤波器,以避免工频信号在放大过程中使信号溢出,其增益在80dB附近可调;信号隔离部分隔离级由TLP521-2构成,通过设置其输入电流大小,实现信号1∶1放大的隔离,由于隔离级的加入,使得前端的信号测量在电气上与后端完全隔离,来提高系统的安全性,同时也提高了信号的抗干扰性能;信号放大滤波部分放大器采用了LM324和OP07,前部是一个四阶的低通滤波器,由LM324构成。后部接一个负反馈放大电路,最后是一个电平调整电路,其增益在20dB附近可调。
本系统(如图3所示)通过串口,将外部计算机提取过的脑电特征信号送入中央处理器,中央处理器对输入的脑电特征信号进行判断,并负责程序的执行,实现对电机和喇叭的控制,电机驱动用来驱动直流电机,带动轮子,实现机器人的行走;音频放大器用来放大音频信号,提供给喇叭,实现机器人的发声,主程序及子程序都保留在外部存储器中。
脑电信号对机器人控制的方法是通过计算机程序来实现的脑电信号对机器人控制的计算机程序控制方法包括以下步骤(程序流程图如图4所示)程序启动后,先检查单片机内部的串行通讯控制寄存器1(SCCR1)、串行通讯控制寄存器2(SCCR2)、波特率寄存器(BAUD)相应位的设置,并将其设置到程序需要的状态,实现单片机的初始化(4010);接着检查串行通讯状态寄存器(SCSR)的状态,判断是否接收到特征脑电数据,如果收到数据(4020),将结果保存到Cmd变量中(4030),用于后面的判断,如果此时已有进程启动(4040),就先将原来的进程关掉(4050),然后判断Cdm变量的内容;对应不同的命令,启动不同的进程(4070 4090 4110),执行唱歌、转身和前进的动作,程序循环返回,重新等待串口的输入。
对脑电信号进行识别的计算机程序由总体程序流程图构成,该程序包括以下几个部分(如图5所示)该程序包括有用户界面的设计装置、数据的输入装置、数据的存储装置、脑电数据的处理与显示、打印装置、英文和中文的显示装置、图像大小的控制和屏幕上小球移动的控制装置。
程序及控制方法包括以下步骤系统开始运行时,首先判断是在线分析还是离线分析(5020 5040),如果是在线分析,先初始化串口,然后接收数据,再对接受到的数据进行相应的处理,以得到相应的脑电数据(5030);如果是离线分析,则先打开相应的数据文件,然后读取数据,再对得到的数据进行相应的处理,最后得到相应的脑电数据(5050);接着对获得的脑电数据进行平滑化处理(5060),以除去脑电波形中的毛刺;再后对脑电数据进行滤波处理(5070),除去脑电信号中的高频干扰,以便下一步进行判断(5090);接着进行特征波形的采样(5080),此步骤可以进行多次,以得到最佳的判断结果(5090);在采样完成后,根据采样得到的特征,进行相应判断(5090),接着对做出的判断进行校正(5100),对伪判断进行更正;以上步骤可以实现如下功能1)对屏幕上小球的运动进行控制,可以使其向上或向下运动,并有相应的声音提示(5110);2)对屏幕上图像的大小进行控制,可以使其放大或缩小,并有相应的声音提示(5130)3)对判断进行编码,当编码到达规定长度时,对编码进行检索,然后显示编码对应的英文或中文文字(5150 5160);4)对机器人的行为进行控制(5120);5)对周围电器的开关进行控制(5140)。
在本程序中,对脑电信号的识别算法是这个系统的核心部分,在这部分中需要经过标准特征采样后根据得到的特征来判断两种特征波形,对误判进行校正,数据处理完输出。
脑电信号的识别算法控制方法包括以下步骤(程序流程如图6所示)。
首先进行标准特征波形的采样(6010),如果采样效果不佳,还可以进行重新采样(6020),使判断的效果达到最佳;接着对进入判断区的脑电数据进行特征提取(6040),根据已得到的标准特征波形进行特征1和特征2的判断(6050,6080),接着对判断进行校正(6110),除去其中的误判和对正确的判断进行细微的调整;如果数据处理结束(6120),可以退出核心判断,如果没有,程序返回,重新采样(6020)。
脑电信号控制虚拟键盘中文汉字输出的程序控制方法是首先选择数据库建立名字为bciword.mdb的数据库,并在其中建立名字为bciword的表,表中建立bci字段,类型为text,建立word字段,类型为text。然后将中文文字输入word字段中,利用中文输入法,将对应的代码输入到bci字段中,此时要注意bci字段中的内容应该是唯一的,作为查询的标准,这样,就建立了一个特殊输入法的汉字库。
其次组成数字代码在系统中,对26个英文字母进行了二进制的编码,每个字母占五位,00001代表a,00010代表b等,此外,我们用00000代表R,表示开始执行查询,用11110代表B,表示删除一个中文文字。
本程序包括以下步骤(程序流程图如图7所示)在程序运行开始时,首先连接ODBC数据源,这里我们调用自定义的ConfigAccess()函数来自动连接,接下来就根据脑电信号来判断将要输出的汉字了。当脑电信号输入时(7010),首先判断这个信号是1还是0(7020),判断后把信号值添加在m_charindexstring变量尾部(7030或7040),当有连续5个信号输入就可以用自定义的GetStrFromIndex()函数查出其对应的值(7050 7060)。如果对应的值为小写字母则把值加到m_strchoose变量尾部(7080),当得到的值为“R”(7090),即连续输入的脑电信号为00000,则根据m_strchoose在数据库中查出对应的汉字(7120),并显示出来;当得到的值为“B”,即连续输入的脑电信号为11110,则删除上一个汉字;当得到的值为“D”,即连续输入的脑电信号为11011,则删除上一个小写字母,打出一个汉字或一个小写字母后,相应的变量初始化(7140),以便下一次查询。
在我们的系统中的二进制编码如下所示a 00001 q 10001b 00010 r 10010c 00011 s 10011d 00100 t 10100e 00101 u 10101f 00110 v 10110
g 00111 w10111h 01000 x11000i 01001 y11001j 01010 z11010k 01011 删除一个字母 11011l 01100 删除一个汉字 11110m 01101 开始查询 00000n 01110 空格 11111o 01111p 10000本发明的优点在脑电信号采集中,仅采用了两个导联(C3-A1,C4-A1)就可得到所需的信号;控制的硬件系统性能稳定,适合于残疾人;用PC机为平台的软件系统识别率高,该系统可以实现虚拟键盘的功能,使不同的脑电信号可以用文字表达出来,并且在虚拟键盘输出文字时采用的是主动的方式,它使受试者的视觉系统不需要受任何外界的刺激,这样使受试者更加自如,不仅可以用虚拟键盘输出英文,还可以输出中文;该系统可以实现脑电信号对机器人行为的控制,根据发出的思维脑电信号使机器人为人们提供一些服务。


图1为本发明基于脑电信号的虚拟键盘和机器人控制系统硬件联接框图;图2为本发明脑-计算机接口控制器电原理图;图3为脑电信号控制的机器人硬件结构框图;图4为机器人中脑电信号控制程序流程图;图5为本发明总体程序流程图;图6为本发明核心脑电信号的识别算法流程图;图7为本发明脑电信号控制虚拟键盘中文汉字输出流程图。
具体实施例方式
首先在受试者的头部安装脑传导电极,让受试者进行几分钟的训练后就可以正式运行了。受试者可以睁开眼睛,也可以闭上眼睛,这完全取决于受试者本人的意愿。受试者用思维去想眼球向上或向下而产生诱发脑电信号,来完成不同的功能,如果希望在计算机显示器上输出中文或英文文字,可以用脑电信号调出相应的代码(如00001输出“a”,00110 0001110101输出“去”)来完成不同文字的输出(如“Hello”,“我要吃饭”等)。
例如,“去”的输入法是fcu,在系统中对f的编码为00110,对c的编码为00011,对u的编码为10101,再加上00000表示开始查询。当连续输入脑电信号00110 00011 1010100000,就可以在屏幕上打出“去”字。
相应的内容还可以用语音系统播放出;如果希望控制机器人的行为,可以用脑电信号调出相应的代码让机器人移动或唱歌等;如果希望让计算机显示器上的图像不断放大,可以用思维去想眼球多次向上;如果希望让计算机显示器上的图像不断缩小,可以用思维控制眼球多次向下。如果希望控制电器开关,可以用脑电信号调出相应的代码让电器开关开或关。总之,根据受试者的要求可以实现如下功能在计算机显示器上虚拟键盘输出中、英文文字,控制机器人的行为,控制周围电器的开和关(如电灯、电视、空调和电扇等),放大或缩小计算机显示器上图像的大小,用语音系统表达内心想法等等。
权利要求
1.一种基于脑电信号的虚拟键盘和机器人控制系统,该系统由硬件平台和控制程序组成,其特征在于硬件平台由一台PC机、脑-计算机接口控制器、机器人、电灯等周围电器四部分组成,其联接是PC机通过串行接口分别与机器人和脑-计算机接口控制器联接,此控制器输入端与脑传导电极联接,同时PC机与外部设备显示器联接,脑-计算机接口控制器与电灯等其它电器联接,脑传导电极与受试者联接,计算机对机器人控制是通过计算机程序进行的。
2.按权利要求1所述控制系统,其特征在于本系统硬件脑-计算机接口控制器主要由五部分组成,分别为输入保护部分,前级放大部分,信号隔离部分,后级信号放大滤波部分,以及微计算机(Inter 80C196KC)采集控制部分。
3.按权利要求1、2所述控制系统,其特征在于本系统前级放大部分有两种功能模块,共三个部分,分别由INA128和LM324构成,前半部分的放大采用差动放大方法,以提高输入信号的共模抑制比,后半部放大使用的负反馈放大电路,为了有效的抑制工频干扰,在两极放大器中间,设有一个双T网络滤波器,以避免工频信号在放大过程中使信号溢出,其增益在80dB附近可调。
4.按权利要求1、2所述控制系统,其特征在于本系统信号隔离部分隔离级由TLP521-2构成,通过设置其输入电流大小,实现信号1∶1放大的隔离,由于隔离级的加入,使得前端的信号测量在电气上与后端完全隔离,来提高系统的安全性,同时也提高了信号的抗干扰性能。
5.按权利要求1、2所述控制系统,其特征在于本系统信号放大滤波部分放大器采用了LM324和OP07,前部是一个四阶的低通滤波器,由LM324构成,后部接一个负反馈放大电路,最后是一个电平调整电路,其增益在20dB附近可调。
6.一种脑电信号对机器人控制的方法,其特征在于机器人中脑电信号计算机程序控制方法包括以下步骤程序启动后,先检查单片机内部的串行通讯控制寄存器1(SCCR1)、串行通讯控制寄存器2(SCCR2)、波特率寄存器(BAUD)相应位的设置,并将其设置到程序需要的状态,实现单片机的初始化(4010);接着检查串行通讯状态寄存器(SCSR)的状态,判断是否接收到特征脑电数据,如果收到数据(4020),将结果保存到Cmd变量中(4030),用于后面的判断,如果此时已有进程启动(4040),就先将原来的进程关掉(4050),然后判断Cdm变量的内容;对应不同的命令,启动不同的进程(4070 4090 4110),执行唱歌、转身和前进的动作,程序循环返回,重新等待串口的输入。
7.按权利要求6所述控制方法,其特征在于对脑电信号进行识别的计算机程序控制方法包括以下步骤系统开始运行时,首先判断是在线分析还是离线分析(5020 5040),如果是在线分析,先初始化串口,然后接收数据,再对接受到的数据进行相应的处理,以得到相应的脑电数据(5030);如果是离线分析,则先打开相应的数据文件,然后读取数据,再对得到的数据进行相应的处理,最后得到相应的脑电数据(5050);接着对获得的脑电数据进行平滑化处理(5060),以除去脑电波形中的毛刺;再后对脑电数据进行滤波处理(5070),除去脑电信号中的高频干扰,以便下一步进行判断(5090);接着进行特征波形的采样(5080),此步骤可以进行多次,以得到最佳的判断结果(5090);在采样完成后,根据采样得到的特征,进行相应判断(5090),接着对做出的判断进行校正(5100),对伪判断进行更正。
8.按权利要求6所述控制方法,其特征在于脑电信号识别算法控制方法包括以下步骤首先进行标准特征波形的采样(6010),如果采样效果不佳,还可以进行重新采样(6020),使判断的效果达到最佳;接着对进入判断区的脑电数据进行特征提取(6040),根据已得到的标准特征波形进行特征1和特征2的判断(6050,6080),接着对判断进行校正(6110),除去其中的误判和对正确的判断进行细微的调整;如果数据处理结束(6120),可以退出核心判断,如果没有,程序返回,重新采样(6020)。
9.按权利要求6所述控制方法,其特征在于脑电信号控制虚拟键盘中文汉字输出的程序控制方法是首先选择数据库这里是用脑电信号来调用数据库中的汉字,其数据库是采用目前电脑中已有的,系统中首先建立名字为bciword.mdb的数据库,并在其中建立名字为bciword的表,表中建立bci字段,类型为text,建立word字段,类型为text,然后将汉字输入word字段中,利用汉字输入法,将对应的代码输入到bci字段中,此时要注意bci字段中的内容应该是唯一的,作为查询的标准,这样就建立了一个特殊输入法的汉字库。其次组成数字代码在系统中对26个英文字母进行了二进制的编码,每个字母占五位,在系统中的二进制编码如下a 00001q 10001b 00010r 10010c 00011s 10011d 00100t 10100e 00101u 10101f 00110v 10110g 00111w 10111h 01000 x 11000i 01001 y 11001j 01010 z 11010k 01011 删除一个字母11011l 01100 删除一个汉字11110m 01101 开始查询00000n 01110 空格11111o 01111p 10000
10.按权利要求6所述控制方法,其特征在于脑电信号控制虚拟键盘中文汉字输出的程序控制方法的步骤为在程序运行开始时,首先连接ODBC数据源,这里我们调用自定义的ConfigAccess()函数来自动连接,接下来就根据脑电信号来判断将要输出的汉字了,当脑电信号输入时(7010),首先判断这个信号是1还是0(7020),判断后把信号值添加在m_charindexstring变量尾部(7030或7040),当有连续5个信号输入就可以用自定义的GetStrFromIndex()函数查出其对应的值(7050 7060),如果对应的值为小写字母则把值加到m_strchoose变量尾部(7080),当得到的值为“R”(7090),即连续输入的脑电编号为00000,则根据m_strchoose在数据库中查出对应的汉字(7120),并显示出来,当得到的值为“B”,即连续输入的脑电信号为11110,则删除上一个汉字;当得到的值为“D”,即连续输入的脑电信号为11011,则删除上一个小写字母,打出一个汉字或一个小写字母后,相应的变量初始化(7140),以便下一次查询。
全文摘要
本装置涉及一种生物医学工程领域的虚拟键盘和机器人控制系统,其结构由特制的硬件平台及控制程序组成,硬件平台由一台PC机、脑-计算机接口控制器、机器人、周围电器组成,计算机通过串口与脑-计算机接口控制器联接,脑电信号通过计算机中央处理器实现对虚拟键盘和机器人的控制,其控制方式是通过计算机程序实现的,优点是控制硬件系统性能稳定,适合于残疾人;软件系统识别率高,可实现虚拟键盘的功能,使不同的脑电信号可用文字表达出来,并在虚拟键盘输出文字时采用主动的方式,受试者的视觉系统不会受任何外界的刺激,使受试者更加自如,虚拟键盘不仅可输出英文,也可输出中文,该系统可以实现脑电信号对机器人的控制,根据发出的思维脑电信号使机器人为人们提供服务。
文档编号G06F19/00GK1538340SQ20031010487
公开日2004年10月20日 申请日期2003年10月21日 优先权日2003年10月21日
发明者宏 王, 王宏, 王志宇, 庞小飞, 叶柠 申请人:东北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1