首页> 中国专利> 基于VC++和Matlab混合编程的Emotiv脑控无人机系统及方法

基于VC++和Matlab混合编程的Emotiv脑控无人机系统及方法

摘要

本发明涉及一种基于VC++和Matlab混合编程的Emotiv脑控无人机系统及方法。本系统包括:Emotiv脑电信号采集模块(1)、Matlab脑电信号在线分析模块(2)、无人机飞行控制模块(3),其中Emotiv脑电信号采集模块(1)是通过Emotiv设备获取受试者控制无人机的脑信号,脑信号传输给电脑上的VC++采集软件,采集软件采用TCP/IP协议传输给Matlab脑电信号在线分析模块(2);对采集的脑电信号进行预处理,特征提取,分类,分析出其中的有效成分,并将其转换成控制命令,通过无线串口的方式发送给无人机飞行控制模块(3);接收到控制命令之后,执行起飞,降落,左飞,右飞飞行操作。本发明采用VC++和Matlab混合编程实现,可以方便地嵌入脑机接口的模式识别方法和实际的硬件设备和软件应用,为脑机接口的在线分析和实际应用奠定基础。

著录项

  • 公开/公告号CN106940593A

    专利类型发明专利

  • 公开/公告日2017-07-11

    原文格式PDF

  • 申请/专利权人 上海大学;

    申请/专利号CN201710089650.1

  • 申请日2017-02-20

  • 分类号G06F3/01(20060101);

  • 代理机构上海上大专利事务所(普通合伙);

  • 代理人何文欣

  • 地址 200444 上海市宝山区上大路99号

  • 入库时间 2023-06-19 02:48:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-11

    授权

    授权

  • 2017-08-04

    实质审查的生效 IPC(主分类):G06F3/01 申请日:20170220

    实质审查的生效

  • 2017-07-11

    公开

    公开

说明书

技术领域

本发明涉及一种基于VC++和Matlab混合编程的Emotiv脑控无人机系统及方法。具体的说,包括Emotiv脑电信号采集模块(1),Matlab脑电信号在线分析模块(2)和无人机飞行控制模块(3)三部分,能够对采集的脑电信号显示、保存、在线识别,控制无人机飞行并在Matlab编写的GUI界面上显示结果。具有可移植性强、操作简单且功能全面等特点。

背景技术

脑机接口是指通过电极从头皮或颅内获得含有控制意图的脑电信号,经过预处理、特征提取与分类,识别出不同的用户意图,并将之转化为能够控制外部设备的命令。它包含脑电信号检测和脑电信号识别两方面,其中脑电信号的识别最为重要,主要完成脑电信号的预处理、特征提取与分类。

现有的脑机接口领域的研究大多还是在实验室阶段,实际应用少之又少。其中一个主要因素在于脑机接口系统中关键在于脑电信号识别环节,而采集脑电信号的好坏直接影响了识别结果的正确性。由于工艺和技术的限制,制作脑电采集设备的难度较大,造成应用于脑机接口中脑电采集设备价格非常昂贵,不便于推广。其次脑电采集设备所使用的放大器体积较大,通道连接线多,不够便携。再者,进行脑机接口实验时需要涂上导电膏增强脑电信号,过程较为繁琐,这都不便于应用的实际使用和推广。近几年市场上也陆续出现了很多无线的脑电采集设备,无线设备价格相对传统设备低很多,体积小,便携,使用也简便,便于实际应用和推广。但是普遍存在导联数少,采样频率低等缺点,使得采集到的脑电信号信息缺失过于严重,无法准确还原信息,对分析处理造成了很大的干扰。

发明内容

本发明的目的是考虑到目前在脑机接口领域的实际使用少,推广难的现状,设计一种实时高效便携的基于VC++和Matlab混合编程的Emotiv脑控无人机系统及方法。

为了实现上述目的,本发明的构思是:

脑机接口系统包含信号采集,信号分析处理和控制器三个部分。本文采用Emotiv epoc作为脑电采集设备作为研究的一个基本出发点,采用Matlab自编预处理、特征提取和分类函数处理脑电信号,采用无人机作为控制器,构成了一个完整便携的脑机接口系统。Emotivepoc是近几年才推出的一个较新无线脑电采集设备,有14个通道可以采集脑电信号,采样频率128HZ,Emotiv的这些设备特点让其具有推广优势同时,其采集的脑电信号的信息还原度也很高,降低了信号分析处理的难度。

根据上述发明构思,本发明采用下述技术方案:

基于VC++和Matlab混合编程的Emotiv脑控无人机系统及方法,其特征在于:由Emotiv脑电信号采集模块(1)经Matlab脑电信号在线分析模块(2)连接无人机飞行控制模块(3)构成,其中,Emotiv脑电信号采集模块(1)使用Emotiv epoc设备采集受试者控制无人机飞行时的脑信号,脑信号通过无线方式传输给电脑上的VC++采集软件,采集软件采用TCP/IP协议传输给所述Matlab脑电信号在线分析模块(2);Matlab脑电信号在线分析模块(2)接收到脑信号之后,对其显示,保存,进行预处理、特征提取和分类识别,最终分析出脑信号中的有效成分并将其转换成控制指令通过无线串口方式传输给所述无人机飞行控制模块(3);无人机飞行控制模块(3)包括通信协议的调试和控制协议的设计,最终无人机飞行控制模块(3)接收到控制指令控制无人机执行起飞,降落,左飞,右飞一系列飞行操作。

一种基于VC++和Matlab混合编程的Emotiv脑控无人机方法,采用上述系统进行操作,其特征在于:(一)所述Emotiv脑电信号采集模块(1)采用VC++软件编写,并使用多线程编程以及TCP/IP通信协议技术;Matlab脑电信号在线分析模块(2)采用Matlab编程实现,识别函数采用Matlab编写;具体实现步骤为:

1-1)参数设置:需要设置的信息包括采样通道的名称、采样通道数、TCP/IP传输协议的IP地址及端口号、串口传输的端口号及波特率、文件保存时间,在Matlab GUI界面中通过对相应控件编程实现;

1-2) 由Emotiv脑电信号采集模块(1)实现脑电信号的实时采集、显示、停止、保存,采用VC++编写:

(1-2-1)采集:一个线程接收Emotiv epoc设备采集的脑电数据,另外一个线程通过TCP/IP通信协议将采集的数据传输给Matlab编写的脑电信号在线分析模块(2);

(1-2-2)显示:当采集的数据达到预定点数时,在Matlab GUI界面的显示控件中显示数据;

(1-2-3)停止:判断采集的数据是否达到设定点数,到所需点数时,停止采集数据;

(1-2-4)保存:将采集到的数据以文本形式存储,同时可以清除显示控件中的波形;

1-3)Matlab脑电信号在线分析模块(2)对实时采集到的脑电信号进行在线识别,在Matlab环境中调用自编预处理、特征提取以及分类函数实现;

(1-3-1)调用Matlab预处理函数:在Matlab编译环境下,自编预处理函数ica.m,,对应独立成分分析方法;

(1-3-2)滤除噪声:通过独立成分分析方法,滤除掉眼电、肌电伪迹,同时获取受试者的眨眼状态,用作后续的无人机飞行控制模块(3)的一种控制信号。

(1-3-3)调用Matlab特征提取函数:在Matlab编译环境下,自编特征提取函数ar.m,对应自回归模型参数特征提取方法;

(1-3-4)获得初始特征数组:根据选定的特征提取函数提取信号特征,构建初始特征数组:ar.m特征提取函数对信号时域波形提取4阶AR模型系数,组成初始特征数组;

(1-3-5)调用Matlab模式分类函数:在Matlab编译环境下,自编分类识别函数svm.m对应支持向量机分类方法;

(1-3-6)获得识别结果:将初始特征数组送入分类器分析识别,得到识别结果:svm.m分类函数将初始特征数组作为SVM分类器的输入,进行模式分类,输出识别结果,识别结果分为想象左手运动和想象右手运动;

(1-3-7)将反映受试思维状态的识别结果回显到Matlab GUI界面的显示控件中,同时将识别结果通过无线串口的方式传输给无人机飞行控制模块(3)。

(二)所述无人机飞行控制模块(3)采用C51编程实现;具体实现步骤为:

2-1)控制协议制定:通过眨眼来控制无人机的起飞和降落;想象左手运动控制无人机左飞,想象右手运动控制无人机右飞;

2-2)无人机飞行控制:通过C51编程接收Matlab脑电信号在线分析模块(2)通过无线串口发送的控制指令,同时将控制指令转换为单片机PWM数字信号口的信号,控制无人机上电机按照预定的速度旋转,实现起飞、降落、左飞和右飞;

本发明与现有技术相比,具有以下实质性特点和显著优点:界面友好,操作灵活,便携易推广;能够实现脑电数据的实时识别,是脑机接口技术在在实际应用领域的一次尝试。

附图说明

图1是本发明的总体结构框图。

图2是本发明的总体流程图。

图3是本发明具体实施例Emotiv脑控无人机系统Matlab主程序界面图。

具体实施方式

本发明的优选实施例结合附图详述如下:

实施例一:

参见图1,本基于VC++和Matlab混合编程的Emotiv脑控无人机系统,由Emotiv脑电信号采集模块(1)经Matlab脑电信号在线分析模块(2)连接无人机飞行控制模块(3)构成。Emotiv脑电信号采集模块(1)采用VC++软件编写,并使用多线程编程以及TCP/IP通信协议技术;Matlab脑电信号在线分析模块(2)采用Matlab编程实现,具体识别函数采用Matlab编写;无人机飞行控制模块(3)采用了C51编程实现。

实施例二:

参见图2,基于VC++和Matlab混合编程的Emotiv脑控无人机方法,完成参数设置之后,VC++采集软件开始采集脑信号,然后采用TCP/IP协议传输给Matlab脑电信号在线分析模块(2);Matlab脑电信号在线分析模块(2)接收到脑信号之后,对其显示,保存,然后调用Matlab自编预处理函数ica.m滤除眼电和肌电伪迹、调用Matlab自编特征提取函数ar.m获取初始特征数组、调用Matlab自编分类函数svm.m对已获取的特征数组进行分类,最终分析出脑信号中的有效成分并将其转换成控制指令,传输给无人机飞行控制模块(3)控制无人机执行起飞,降落,左飞,右飞一系列飞行操作。

参见图3,基于VC++和Matlab混合编程的Emotiv脑控无人机系统Matlab主程序界面图,实现参数设置、接收VC++软件传输的脑电信号、脑电信号显示及保存,脑电信号分析处理及通过串口给无人机飞行控制模块(3)发送控制指令的功能。具体操作步骤如下:

1)参数设置:包括信号采集IP设置和端口设置,无人机连接端口号设置和波特率设置以及通道选择设置。在‘信号采集面板’设置TCP/IP传输IP地址以及端口号;在‘无人机连接’面板设置无线WIFI模块设备的端口号及波特率;在‘通道选择’面板设置采样通道。

2)信号采集、显示及保存:点击‘信号采集面板’的‘开始采集’按钮,VC++编写的采集软件开始从Emotiv epoc 设备采集脑电数据;点击‘连接’按钮,‘连接状态’控件将显示‘已连接’,数据将传输到Matlab编写的主程序中,同时显示在‘信号显示’控件当中。点击‘停止’按钮,数据停止采集;点击‘保存’按钮,将之前采集的脑电数据以.txt或者.mat的格式存储。

3)信号在线分析及控制无人机飞行:点击‘无人机连接’面板的‘连接’按钮,‘连接状态’控件将显示‘已连接’;点击‘开始’按钮,将调用自编预处理、特征提取及分类函数对采集的脑电数据进行实时的在线分析,同时将分析结果转换为控制指令通过无线串口的方式传输给无人机的飞行控制模块控制无人机飞行。其中2S内连续眨眼2次控制无人机的起飞,连续4S闭眼控制无人机降落,想象左手运动控制无人机左飞,想象右手运动控制无人机右飞。点击‘停止’按钮,结束数据在线分析和信号采集。

实施例三:

参见图2,本基于VC++和Matlab混合编程的Emotiv脑控无人机方法,采用上述系统进行操作,其特征在于:(一)所述Emotiv脑电信号采集模块(1)采用VC++软件编写,并使用多线程编程以及TCP/IP通信协议技术;Matlab脑电信号在线分析模块(2)采用Matlab编程实现,识别函数采用Matlab编写;具体实现步骤为:

1-1)参数设置:需要设置的信息包括采样通道的名称、采样通道数、TCP/IP传输协议的IP地址及端口号、串口传输的端口号及波特率、文件保存时间,在Matlab GUI界面中通过对相应控件编程实现;

1-2) 由Emotiv脑电信号采集模块(1)实现脑电信号的实时采集、显示、停止、保存,采用VC++编写:

(1-2-1)采集:一个线程接收Emotiv epoc设备采集的脑电数据,另外一个线程通过TCP/IP通信协议将采集的数据传输给Matlab编写的脑电信号在线分析模块(2);

(1-2-2)显示:当采集的数据达到预定点数时,在Matlab GUI界面的显示控件中显示数据;

(1-2-3)停止:判断采集的数据是否达到设定点数,到所需点数时,停止采集数据;

(1-2-4)保存:将采集到的数据以文本形式存储,同时可以清除显示控件中的波形;

1-3)Matlab脑电信号在线分析模块(2)对实时采集到的脑电信号进行在线识别,在Matlab环境中调用自编预处理、特征提取以及分类函数实现;

(1-3-1)调用Matlab预处理函数:在Matlab编译环境下,自编预处理函数ica.m,,对应独立成分分析方法;

(1-3-2)滤除噪声:通过独立成分分析方法,滤除掉眼电、肌电伪迹,同时获取受试者的眨眼状态,用作后续的无人机飞行控制模块(3)的一种控制信号。

(1-3-3)调用Matlab特征提取函数:在Matlab编译环境下,自编特征提取函数ar.m,对应自回归模型参数特征提取方法;

(1-3-4)获得初始特征数组:根据选定的特征提取函数提取信号特征,构建初始特征数组:ar.m特征提取函数对信号时域波形提取4阶AR模型系数,组成初始特征数组;

(1-3-5)调用Matlab模式分类函数:在Matlab编译环境下,自编分类识别函数svm.m对应支持向量机分类方法;

(1-3-6)获得识别结果:将初始特征数组送入分类器分析识别,得到识别结果:svm.m分类函数将初始特征数组作为SVM分类器的输入,进行模式分类,输出识别结果,识别结果分为想象左手运动和想象右手运动;

(1-3-7)将反映受试思维状态的识别结果回显到Matlab GUI界面的显示控件中,同时将识别结果通过无线串口的方式传输给无人机飞行控制模块(3)。

(二)所述无人机飞行控制模块(3)采用C51编程实现;具体实现步骤为:

2-1)控制协议制定:通过眨眼来控制无人机的起飞和降落;想象左手运动控制无人机左飞,想象右手运动控制无人机右飞;

2-2)无人机飞行控制:通过C51编程接收Matlab脑电信号在线分析模块(2)通过无线串口发送的控制指令,同时将控制指令转换为单片机PWM数字信号口的信号,控制无人机上电机按照预定的速度旋转,实现起飞、降落、左飞和右飞。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号