基于Wi-Fi独立加密信道的脑机控制系统和方法与流程

文档序号:32611456发布日期:2022-12-20 20:05阅读:38来源:国知局
基于Wi-Fi独立加密信道的脑机控制系统和方法与流程
基于wi-fi独立加密信道的脑机控制系统和方法
技术领域
1.本发明属于脑机控制领域和医疗康复领域,尤其涉及一种基于wi-fi独立加密信道的脑机控制系统和方法。


背景技术:

2.在康复医疗领域,脑电信号的准确与否通常会以动画图像等形式展现,比如,显示正确或者错误的图画,或者游戏对象的某种变化动画。软件设计者通常会采用这种方式来提升脑控康复过程的可感知性,但是,患者长期端坐在固定位置,注视若干组变化图片或视频难免产生厌烦情绪,影响最终的识别结果。
3.在脑机接口领域,随着脑电领域的发展,研究人员分析和使用脑电信号的研究进一步完善,利用脑电信号完成对现有设备控制操作的意愿也更加强烈。但是不少研究人员通常直接使用脚本算法设计语言进行算法设计,直接集成在指令发送模块中稍显复杂。
4.在通讯加密领域,脑电信号和其他信号相比具备特殊性,属于一类比较敏感的人体信号,在医院等场景下落地使用时,信号环境较为复杂,出于最大限度保护用户隐私的目的,应该在通讯方式上尽可能的保证隐私性。但现有技术方案很少对此进行特殊设计。
5.本发明提出的基于wi-fi独立加密信道的脑机控制系统和方法,快速帮助研究人员完成算法验证,方便其使用自己的脑电识别算法完成对机器人的控制;一方面,患者通过机器人运动可以直观感受脑电识别的正确性,可以增加患者的康复积极性;一方面,采用三步加密的密钥验证机制,可以对控制过程中可能产生的敏感数据进行有效保护。


技术实现要素:

6.为解决现有技术中存在的不足,本发明的目的在于,提供一种基于wi-fi独立加密信道的脑机控制系统和方法。
7.为实现本发明的目的,本发明所采用的技术方案是:
8.一种基于wi-fi独立加密信道的脑机控制系统,包括设计于脑电帽的控制指令发送模块和设计于机器人的控制指令接收模块,以及机器人的运动控制模块;
9.控制指令发送模块包括脑电信号采集模块、脑电识别模块和识别结果发送模块;脑电信号采集模块读取受试者的脑电信号数据,对数据进行预处理之后发送给脑电识别模块;脑电识别模块进行脑电信号特征提取,并将提取的特征输入训练好的分类器中进行识别分类;将分类结果通过识别结果发送模块发送给远端机器人;
10.其中,识别结果发送模块基于wi-fi独立加密信道与对应的远程机器人通信;
11.机器人的控制指令接收模块接收脑电识别分类结果,并发送给运动控制模块用于控制机器人的运动。
12.进一步地,识别结果发送模块和控制指令接收模块均为wi-fi模块,设置独立信道,对独立信道设置独立加密ssid名,加入独立通道需要验证密钥;
13.识别结果发送模块发送分类结果时,先搜寻加入控制指令接收模块对应的wi-fi
独立加密信道,验证密钥后将分类结果发送给远端机器人的控制指令接收模块。
14.进一步地,机器人控制指令接收模块均以无线热点模式接入识别结果发送模块的无线热点网络中;
15.在无线热点请求加入的过程中,加入单独通道验证使用wpa-psk方法进行准入验证,如果加入请求使用的约定密钥匹配正确,放行该次请求;如果匹配失败,该次请求被驳回。
16.进一步地,机器人运动控制模块,包括串口消息接收模块、消息轮训模块、串口报文解析模块、动作执行模块;
17.消息轮训模块不断轮训访问是否有来自wi-fi接收模块的消息,当有报文消息时进入时,串口消息接收模块的串口接收服务开启,进行串口消息接收,并通知报文解析模块开始工作;
18.串口报文解析模块验证报文解析的目的地址,来源地址,位长,校验位信息,核验无误后提取对应的控制指令;动作执行模块不断轮训报文解析模块的命令,如果有正确解析的指令则通知机器人执行动作指令。
19.进一步地,整报文的发送采用加密通讯机制,识别结果发送模块中设置有报文加密模块,串口报文解析模块中设置有报文解密模块,初始化过程预先部署公钥和私钥对。
20.进一步地,整报文经解析后获得单个报文帧,单个报文帧依然是加解密发送的;识别结果发送模块中设置有报文帧加密模块,串口报文解析模块中设置有报文帧解密模块,对单个报文帧进行加密和解密,初始化过程中用户可自定义公钥和私钥对。
21.进一步地,快速模幂法中的公钥和私钥对的自定义方法为,用户根据给定素数生成范围,随机生成素数对,获取第一公共模数和第二公共模数,构造密钥函数,生成公钥数字对和私钥数字对。
22.一种基于wi-fi独立加密信道的脑机控制方法,包括步骤:
23.受试者佩戴脑电帽,根据电脑文字以及语音提示进行运动想象;脑电信号采集模块读取受试者的脑电信号数据,对数据进行预处理之后发送给脑电识别模块;
24.脑电识别模块运用csp算法进行脑电信号特征提取,并将提取的特征输入训练好的分类器中进行识别分类,得到分类结果;
25.识别结果发送模块搜寻加入对应的wi-fi独立加密信道,验证密钥;将分类结果发送给远端机器人的控制指令接收模块;
26.机器人的控制指令接收模块接收脑电识别分类结果,并发送给运动控制模块用于控制机器人的运动;
27.消息轮训模块不断轮训访问是否有来自wi-fi接收模块的消息,当有消息时进入时,串口消息接收模块的串口接收服务开启,进行串口消息接收,并通知报文解析模块开始工作;
28.串口报文解析模块验证报文解析的目的地址,来源地址,位长,校验位信息,核验无误后提取对应的控制指令;动作执行模块不断轮训报文解析模块的命令,如果有指令则通知机器人执行动作指令。
29.进一步地,脑电识别模块运用csp算法进行脑电信号特征提取,并将提取的特征输入训练好的分类器中进行识别分类,得到分类结果;之前还包括,采集受试者的脑电信号数
据训练集,脑电识别模块运用csp算法对训练集进行脑电信号特征提取,采用提取的训练集特征对分类器进行训练,并保存权重文件;其中,分类器采用adaboost。
30.进一步地,在脑机控制的通信过程中,使用三步加密方法:首先,wi-fi热点请求加入独立信道时,通过验证过程中使用wpa-psk方法进行准入验证;其次,整报文的发送采用加密通讯机制,解析过程中使用rsa方法加解密;最后,整报文经解析后获得单个报文帧,单个报文帧依然是加解密发送的,报文帧解析过程使用用户可自定义的快速模幂方法进行加解密。
31.本发明的有益效果在于,与现有技术相比,本发明提出基于wi-fi的三步加密的密钥验证机制,分别对独立信道、整报文、报文帧单独进行安全加密,在整个无线传输的三个关键环节上进行有效简便的加密设计,三阶段的加密模块可以组合在一起部署,也可以拆分后单独部署,灵活性强。该套加密组合方案可由用户自定义部署,隐私性好,自由度高,可以较为便捷的解决复杂场景下敏感数据的加密传输问题。
32.本发明使用matlab对模块做独立封装,可直接调用,执行速度快,可快速验证该模块的正确性。本发明使用广泛集成的算法输出识别结果,编写的发送接受接口,移植性强,方便执行。
33.本发明由机器人的前进、后退、左转、右转等行为直接展示脑电的识别效果,趣味性强,可方便患者直观感受脑电识别的正确性,增强康复意愿。本发明提出了一整套脑电信号提取、分类、加密发送、接收并执行控制流程的解决方案,可为未来脑机接口介入其他种类的机器人提供直接方法。
附图说明
34.图1是本发明所述的基于wi-fi独立加密信道的脑机控制系统示意图;
35.图2是识别结果发送模块发送流程示意图;
36.图3是控制指令接收模块接收工作流程示意图;
37.图4是报文解析模块工作流程示意图;
38.图5是报文帧加解密密钥对的生成方法示意图;
39.图6是动作执行模块工作流程示意图;
40.图7是本发明所述的基于wi-fi独立加密信道的脑机控制方法流程图。
具体实施方式
41.下面结合附图和实施例对本发明的技术方案作进一步的说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本技术的保护范围。
42.本发明提出一种基于wi-fi独立加密信道的脑机控制系统和方法,采用基于wi-fi的三步加密的密钥验证机制,分别对独立信道、整报文、报文帧单独进行安全加密;可以用来展示脑电信号的识别结果,提升患者康复过程的趣味性。为脑机控制接口提供一个便利的matlab接口实现,可实现matlab脑电识别程序在任何阶段对机器人的直接控制。为方便控制机器人的运动,封装一套解决方案以方便机器人运动的控制程序。
43.如图1所示,本发明所述的基于wi-fi独立加密信道的脑机控制系统,包括设计于脑电帽上的控制指令发送模块和设计于机器人上的控制指令接收模块,以及机器人的运动
控制模块。
44.控制指令发送模块包括脑电信号采集模块、脑电识别模块和识别结果发送模块。
45.脑电信号采集模块通过脑电帽读取受试者的脑电信号数据并对数据进行预处理,脑电信号采集模块需设置被试数、设置采样率、单次采样时间,设置脑电通道选择,进行滤波频段选择。实际数据集由受试者的实时脑电信号数据组成。bci范式由四个不同的运动想象任务组成,即左手(类别1)、右手(类别2)、前进(类别3)和后退(类别4)的运动想象。范式记录不同时段的两组数据,第一组用于训练记录想象行为的分类器,第二组用于测试受试者当前脑电信号。
46.受试者坐在电脑屏幕前面的舒适的扶手椅上,在第一组试验开始时,电脑界面文字提示受试者开始对应类别的想象,同时还进行语音提示。两秒后,以箭头的形式指向左、右、下或上(对应于四个类中左手、右手、前进或后退的一个)的动画提示,出现在屏幕上若干秒。这促使受试者完成所需的运动想象任务。该阶段不提供任何反馈。受试者在第六秒时被要求执行运动想象任务,直到屏幕上的动画提示消失为止。随后屏幕再次为黑色的短暂中断,此时将此间采集的脑电信号数据进行脑电信号特征提取。
47.脑电识别模块,运用csp算法进行脑电信号特征提取,对提取的特征进行boosting分类,adaboost是其中一种获取聚类效果较好的分类器,采用第一组采集数据所提取的特征对分类器进行训练,并保存该权重文件。
48.第二组实验开始,电脑界面文字提示受试者开始对应类别的想象,以箭头的形式指向左、右、下或上(对应于四个类中左手、右手、前进或后退的一个)的动画提示,出现在屏幕上若干秒。受试者开始进行想象行为,采集此间的脑电信号数据。
49.脑电识别模块,运用csp算法进行脑电信号特征提取,并将提取的特征输入训练好的分类器中进行识别分类;如果分类结果正确,则保存该次分类结果等待发送。
50.通过该方式获取脑电的分类信号,把信号的采集过程和信号的识别过程解耦分离,使得识别结果更好。
51.本发明使用matlab程序做脑电信号数据特征的提取和识别,封装独立matlab接口方便开发人员和用户进行调用,提供基于csp的脑电信号模式用来控制机器人的前进后退左转右转等行为。
52.识别结果发送模块,为wi-fi发送模块,开辟了独立的信道并加密,对独立的信道设置独立加密的ssid名。识别结果发送模块,获取上轮脑电识别模块得到的分类结果后,识别结果发送模块开始搜寻加入对应的wi-fi独立加密信道,验证密钥,指定远程机器人地址,指定所需协议类型,指定通讯端口。识别结果发送模块负责与对应的远程机器人建立加密通讯机制,通过此机制将发送结果发送给远端机器人。如图2所示。
53.通过把识别结果发送模块和脑电识别模块独立,使得发送过程可以在上述脑电识别模块的任意位置调用,提升了发送时机的自由度。
54.机器人平台简介,差分轮式机器人平台因其简洁的机械和驱动结构设计,易于扩展的承载能力,良好的适航性被许多机器人平台采用,作为通用式机器人常用平台。本发明基于脑电信号控制的机器人平台就是基于此类平台,这类机器人平台通常具备可扩展和组装的上层结构,差分轮式驱动结构,可供充电的电气接口。
55.机器人平台上设计控制指令接收模块和运动控制模块。
56.控制指令接收模块,为wi-fi接收模块,开辟独立加密信道,对独立的信道设置独立加密的ssid名,加入单独通道需要验证密钥,本发明使用wpa-psk方法进行准入验证,如图3所示。机器人平台的控制指令接收模块均以无线热点模式接入识别结果发送模块的wi-fi发送模块的无线热点中。
57.在无线热点请求加入的过程中,加入单独通道验证使用wpa-psk方法进行准入验证,如果加入客户端使用的约定的密钥匹配正确,那么加密模块会放行该次客户端请求;如果匹配失败,那么客户端的该次请求会被驳回。
58.wpa-psk是一种预定义安全密钥的加解密方式,该方式使用wpa-psk方法对用户提供的预定义安全密钥进行加密传输,下面对wpa-psk的四步握手过程进行阐释:
59.1、接收者ap热点把自己的随机数(anonce)传给发起者sta,sta在收到随机数(anonce)后,生成ptk;
60.2、sta把自己的随机数传给ap,同时加了mic(对应于ptk中的kck,也就是秘钥确认秘钥);ap收到随机数以后,就可以生成ptk了;将收到的mic和自己生成的mic比较进行完整性校验,如果校验失败,握手失败;校验成功,ap生成ptk和gtk(grouptransient key,用来加密组播和广播);
61.3、将gtk(组临时密钥)和mic(消息完整性校验码)一起发给sta,因为此时双方都已经知道ptk(成对临时密钥),所以会对gtk进行kek加密;
62.4、sta发送ack进行确认。
63.四次握手完成以后,之后的帧传播就都会以加密的方式进行。该过程保证了每个脑机软件和机器人平台的报文通讯都是基于一个独立的预定义wi-fi通道。
64.控制指令接收模块通过对应的独立信道接收控制指令发送模块的识别结果发送模块发送过来的脑电识别分类结果。之后,将该脑电识别分类结果发送给运动控制模块,用于控制机器人的运动。
65.机器人运动控制模块建立独立的消息监听机制用来监听消息的传送,设计独立的报文核验机制进行报文解析。机器人运动控制模块,包括串口消息接收模块、消息轮训模块、串口报文解析模块、动作执行模块。
66.串口消息接收模块,从机器人的wi-fi接收模块接口转向机器人的运动控制模块接口,当消息监听机制监控到串口有消息传入时,串口接收服务开启,通知消息轮训服务开启,进行串口消息接收,没有则不开启。
67.消息轮训模块,消息轮训服务挂在操作系统后端不断轮训访问是否有来自wi-fi接收模块的消息,当有消息时进入时,进行串口消息接收,并通知报文解析模块开始工作。
68.串口报文解析模块,报文解析模块验证报文解析的目的地址,来源地址,位长,校验位等信息,核验无误后提取对应的控制指令。如图4所示。
69.其中,整报文的发送采用加密通讯机制,识别结果发送模块中设置有报文加密模块,串口报文解析模块中设置有报文解密模块,均为整报文加密模块,整报文加密模块是对单个整报文进行加密和解密的模块,初始化过程需要预先部署公钥和私钥对。具体方法如下:部署密钥生成模块,生成rsa非对称加密对,机器人端部署公钥public.pem,负责解密脑机端发送的报文,脑机端部署私钥private.pem,负责加密发送。
70.识别结果发送模块中加密的过程,脑机端部署私钥private.pem,负责加密发送,
具体方法如下:调用get_private_key()寻找密钥文件,读取密钥内容存储为msg,选择对应编码类型(如

utf-8’),调用encrypt_data()对发送信息进行加密。
71.串口报文解析模块的解密过程,机器人获取到单次整报文后,需要对整个报文进行解密才能读取,机器人端部署公钥public.pem,负责解密读取数据报,具体方法如下:调用get_public_key()寻找密钥文件,读取密钥内容存储为msg,选择对应编码类型(如

utf-8’),调用decrypt_data()对发送信息进行解密。
72.该过程保证了每次整报文发送对象和接收对象都基于一对rsa密钥,这一步骤保证了在独立信道密码被破解的情况下,报文结构不被破解,机器人正确获得可解析的整报文。
73.上文提到的机器人获得可解析的整报文,经过解析后获得单个报文帧,但此单个报文帧依然是加密的,因此,进一步地设置报文帧加解密模块,识别结果发送模块中设置有报文帧加密模块,串口报文解析模块中设置有报文帧解密模块。报文帧加解密模块可以对单个报文帧进行加密和解密,初始化过程中自定义公钥和私钥对。
74.如图5所示,获取公钥私钥的具体方法如下:
75.1、给定素数生成范围,获取生成的两个素数p、q,该数值生成范围可在128到65535区间内调整,用以修改加密强度,调用gen_prime()完成;
76.2、求取第一公共模数n1,公式为n1=pq;求取第二公共模数n2,公式为n2=(p-1)(q-1);
77.3、构造密钥函数key(n)=e-n

78.4、自定义选取一个较小的与key(n1)互质的正整数作为公共指数,这里选择e,则数对(n1,e)为密钥对中的公钥,其中公钥参数为正整数e;
79.5、计算d=e-1
modkey(n1),d作为私钥参数,则数对(n1,d)为密钥对中的私钥。
80.报文帧的加密发送使用可自定义的快速模幂法进行加密操作,具体方法如下:将输入的消息转换为16进制字符串,输入公钥(n1,e),调用encrypt()方法既可完成加密,加密后得到的数据为16进制字符串,类似:
[0081]“0x136a2fdc25200ae0fa09b6e88f233e4f0ddfd4c3a8f31d245525ea027ae59416ee2e6689a9eefbee8f757dac1b72727a933a316998e41291ebdb9b01ca92ef579fb5f5f351c3ade9e109ac06f8bcd75640c7a46130296c4e40a5392b3a613ffdc50a9e7784d188bf9f68678634a4392827e62d2401167c25712188d1d346070”[0082]
获取到整报文的解密数据后,需要对整报文进行拆包,拆包后的数据采用可自定义的快速模幂法进行解密,具体方法如下:发送时使用私钥(n1,d)进行解密,调用decrypt()方法既可完成解密,解密后将获得类似“0xa1”,“0xa2”,“0x11”,“0x13”,“0x34”这样的原始报文的一个16进制独立帧。
[0083]
动作执行模块,动作执行模块不断轮训监控报文解析模块的命令,如果有指令则通知机器人的轮式电机等模块开始执行动作指令,没有则不进行此流程。如图6所示。
[0084]
如图7所示,本发明还提供一种基于wi-fi独立加密信道的脑机控制方法,基于上述系统实现,具体包括步骤:
[0085]
(1)受试者在电脑屏幕前面,佩戴脑电帽,根据电脑文字以及语音提示进行运动想象;脑电信号采集模块通过脑电帽读取受试者的脑电信号数据并对数据进行预处理,之后
发送给脑电识别模块;
[0086]
(2)脑电识别模块运用csp算法进行脑电信号特征提取,并将提取的特征输入训练好的分类器中进行识别分类;如果分类结果正确,则保存该次分类结果等待发送;
[0087]
(3)识别结果发送模块获取上轮脑电识别模块得到的分类结果后,识别结果发送模块开始搜寻加入对应的wi-fi独立加密信道,验证密钥;与对应的远程机器人通过加密通讯机制将分类结果发送给远端机器人;
[0088]
(4)机器人的控制指令接收模块通过对应的独立信道接收控制指令发送模块的识别结果发送模块发送过来的脑电识别分类结果;之后,将该脑电识别分类结果发送给运动控制模块,用于控制机器人的运动;
[0089]
(5)运动控制模块通过消息监听机制用来监听消息的传送,当消息监听机制监控到串口有消息传入时,通知消息轮训服务开启,串口接收服务开启进行串口消息接收,并通知报文解析模块开始工作;报文解析模块解析报文获取命令通知动作执行模块进行执行,动作执行模块不断轮训监控报文解析模块的命令,如果有指令则通知机器人的轮式电机等模块开始对应的执行动作。
[0090]
其中,在脑机控制的通信过程中,使用三步加密方法:首先,wi-fi热点请求加入独立信道时,通过验证过程中使用wpa-psk方法进行准入验证;其次,整报文的发送采用加密通讯机制,解析过程中使用rsa方法加解密;最后,整报文经解析后获得单个报文帧,单个报文帧依然是加解密发送的,报文帧解析过程使用用户可自定义的快速模幂方法进行加解密。
[0091]
本发明的有益效果在于,与现有技术相比,本发明由机器人的前进、后退、左转、右转等行为直接展示脑电的识别效果,趣味性强,可方便患者直观感受脑电识别的正确性,增强康复意愿。本发明提出了一整套脑电信号提取、分类、加密发送、接收并执行控制流程的解决方案,可为未来脑机接口介入其他种类的机器人提供直接方法。
[0092]
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1