一、项目实施情况:
(1) 研究目的及意义
安全大过天,安全永远是第一位的。然而凡是必须有人工参与的高危作业,现有的安全保障措施总是充满着缺陷的,在面对未知的安全风险时这些措施无法完全保障作业人员的人身安全,而目前常规控制方式(机械控制、电气控制)的机器人又远无法满足对人类动作高度模拟的需求,做不到完全取代人在高危作业中的作用,不仅仅是在工业生产作业中,在冰川科考、深海及太空探索领域,地震、火灾、洪涝等自然灾害救灾现场,置身于危险环境的相关科研人员和救援人员同样需要强有力的安全保障。
因此开发一款能够应用于危险作业环境且能够高度同步人类感知及肢体活动的机器人及其控制系统具有巨大的社会意义与市场价值。
本项目的目的是利用深度学习技术通过识别表面肌电信号(Surface electromyography, sEMG)、脑电信号(Electroencephalogram, EEG)所对应的不同人体动作信号,同时基于ROS机器人操作系统通过上下位机Socket节点通讯实现对机器人的控制,使得机器人能够在高危工作环境中同步人类感知活动。
项目的主要技术路线如图1.1所示:
图1.1 技术路线图
(1) 项目内容
本项目主要包括人体生理电信号检测、机器人控制系统两部分。
1.
人体生理电信号检测
a)信号采集
本项目采用使用Delsys肌电采集设备采集8通道的sEMG肌电数据,使用BP脑电采集设备采集C3、C4等24个通道EEG脑电数据。
Delsys无线表面肌电采集系统采用非侵入性的表面电极方法,由肌电采集设备和肌电采集软件组成,其中肌电采集仪器包含16个肌电电极和一个基站组成。肌电电极使用医用胶带粘贴到相应肌肉上,通过无线传感器模块与基站进行通信,基站与PC机直接连接,将电极发送过来的信号传输得到主机,并通过上位机软件显示出来。
BP脑电采集系统由脑电帽、放大器、上位机软件组成,其中脑电帽为64通道如图,电极摆放位置遵从国际10-20标准导联,放大器用于放大脑电信号,并通过无线传感模块将采集到的脑电信号发送到电脑,并在软件显示出采集到的脑电信号。
b) 信号预处理
由于采集得到的原始sEMG、EEG信号中包含大量噪声及无用信息,需对其进行预处理操作,获取较为纯净的数据以便于下一步特征识别的进行。下面将对sEMG信号预处理及EEG信号预处理进行分别介绍
本文采用基于小波变换的阈值去噪法对sEMG信号进行预处理。sEMG信号具有信噪比低、随机性强、非平稳等特点,sEMG信号中的噪声主要包括高斯白噪声、基线漂移、工频干扰三种。由于sEMG信号是通过置于皮肤表面的电极获得,采集过程中外界环境多采集到的信号有较大的影响,所以对表面肌电信号的预处理工作是非常必要的。
基于小波变换的阈值去噪法是进行表面肌电信号滤波常用的一种方法。有用信号通常表现为低频信号,而噪声信号通常表现为高频信号在对信号进行小波分解后有用信号和噪声信号的小波系数的特点不一样,有用信号的小波系数大且数量少,噪声信号的小波系数小且数量多。
本文利用基于小波变换的阈值去噪法去除sEMG高频噪声主要步骤如下:
第一步:对采集的表面肌电信号进行小波分解,确定分解层数和小波函数。本文选择sym6函数作为信号滤波的小波函数,并通过实验得出选择4层分解能过得到比较好的滤波效果;
第二步:选择阈值估计方法。本文选择启发式阈值,同时选择了mln标志;
第三步:信号重构,将小波分解后的底层的系数和各层的细节系数进行重构。
本文对EEG信号的预处理共分为坏导检测与插值、滤波、重参考、去伪迹、信号分段与基线校正五步。脑电预处理程序选择使用基于python的MNE-Python开源脑电分析工具箱及。
第一步:坏导检测与插值
由于电极损坏、接触不良或其他外来因素的干扰,部分脑电电极未能正确记录电位数据,我们将这种电极称为坏导。坏导的存在将会阻碍后续滤波、重参考等步骤的进行,也会极大干扰数据质量,使得最终检测模型的效果变差。
坏导检测与插值处理的步骤如下:
(1)
通过读取脑电原始数据,观察每个电极通道的数据,并手动选取出现明显错误的电极通道将其标记为坏导;
(2)
利用该坏导临近的其他电极通道,采取球面样条曲线插值算法对坏导进行插值处理,将插值出的数据代替原坏导的数据。
第二步:滤波
原始EEG中可能包含多种类型的噪声,例如工频干扰、肌电噪声等,这些噪声大都会对脑电信号的特征提取与分析造成诸多困难。消除脑电信号中存在的噪声,本文采用有限脉冲响应(FIR)滤波器对脑电信号进行滤波操作,以提高脑电信号的信噪比。
为保证滤波后的数据能够包含全部的脑电频段,考虑将滤波频率设置在0.3~50Hz之间。在完成带通滤波的操作后,再使用陷波滤波器(Notch Filter)对信号所包含的50Hz工频干扰进行滤除。
第三步:重参考
脑电采集的电极种类包括活动电极与参考电极。由于参考电极同样是原本用于检测脑电信号的活动电极,其电位并不一定真的完全为零,因此在根据参考电极计算活动电极电位时必然会导致信息损失。为了降低参考电极对整个脑电图的影响,需要对整个脑电图进行重新参考即重参考。
平均参考的理论依据来源于物理研究发现人的大脑总是处于零电位的状态,因此如果在整个大脑皮层覆盖上电极,则全部电极电位和恒为零。但因为实践中无法真正做到电极对整个大脑皮层的覆盖,因此通常采取近似的办法——电极覆盖50%以上的头皮便可认为符合进行平均参考的条件。由于本项目所使用的BP脑电采集系统包含64个通道,因此采用平均参考法对脑电信号进行重参考操作。
第四步:去伪迹
伪迹是一种特殊的噪声,伪迹干扰长期以来都是困扰信号处理领域的一大难题。通常伪迹的频段与目标信号的频段重叠或相同,因此常常与有效信息混杂在一起,无法通过一般的滤波算法消除。
脑电信号中的伪迹通常指眼电(Electrooculography, EOG)——包含眼动(Eye
Move)与眨眼(Eye Blink)、EMG、心电(ECG)、等非脑电的人体生理电信号。不同种类的伪迹特点也不同,例如眨眼伪迹通常会造成信号幅值在瞬间出现较大的跃升从而形成一个高幅尖峰,眼动伪迹则会使对应波形图出现一个近似矩形波,EMG伪迹则通常具有显著高于脑电信号的频率。
图2.2 伪迹波形与其对应地形图
ICA是一种在数字音频、通讯等信号处理领域常用的信号源分离算法。之所以可以采用ICA对EEG进行伪迹去除,是因为EEG是一种非高斯随机信号,ICA正适用于该类信号的盲源分离。因为EEG表示的脑电电位随时间变化的情况,经过ICA处理之后,EEG将被按照预先假设的信号源个数划分为不同的独立成分,通过比较不同独立成分的特点是否与伪迹相似,选择删去符合伪迹特点的成分,以此实现将伪迹信号从脑电信号中去除。
具体ICA去伪迹的步骤如下:
(1)
首先确定ICA算法的计算方法、假设信号源个数以及学习批次,本文 选用最大化互信息法(Infomax)作为计算方法,一般认为15至30个信号源对脑电信号的成分划分效果较好。因此本文选择的假设信号源个数为30,算法学习轮数设置为1500轮;
(2)
将待处理的EEG数据输入ICA中,使ICA对EEG中的不同成分进行学习与分解;
(3)
ICA分离完成后,比较各个独立成分的波形图与地形图是否与某一种伪迹相匹配,通过设定的伪迹阈值确定伪迹所属成分并去除,最后将脑电信号还原导出便完成了去伪迹这一步骤。
第五步:信号分段与基线校正
信号分段指的是通过时间滑窗将原本连续的脑电信号划分多批为定长的脑电信号片段。目的是便于识别算法的学习EEG数据中的特征。本项目中设定信号分段的滑动窗口的大小为5秒,为防止数据重叠其步长也设定为5秒。
基线校正的目的在于消除自发脑电的脑电噪声以及温度变化等造成基线漂移,基线校正对于静息态脑电并非必要,但是对于事件诱发脑电十分必要。我们选择从每个EEG片段起始点开始持续0.1秒的数据均值作为平均基线值对整个脑电信号片段进行校正。
c) 信号识别
信号识别包括特征提取、特征融合以及特征识别三步。
首先是特征提取部分。
对于sEMG信号,本项目分别进行了时域特征、频域两种特征的提取。时域特征包括绝对均值(MAV)、均方根值(RMS)。
绝对均值(MAV):
绝对均值可以直接反映表面肌电信号的平均强度。
均方根值(RMS):
均方根值能够在一定程度上反映肌电信号的有效值,表示各个肌肉对完成动作做出的贡献。均方根值在肌电信号的时域上,变化趋势非常明显,是常用的时域特征。
sEMG信号本身具有非平稳性,时域信号的幅值随着动作强度的变化而发生变化,因此单纯的时域信号可能会造成识别效果的不理想。在频域下,相同的动作不同时间做虽然动作强度不同,但是信号的频率具有一定的相似度,因此增加了信号的稳定,有望提高动作识别的准确率。
功率谱最大值(MPS):
假设短时的肌电信号是平稳的,每个窗内的信号为有限个点的信号,利用自相关系数法估计信号的功率谱。
对于EEG信号,我们采用了集合3D卷积加多头自注意力机制的深度学习模型进行特征提取。
3D卷积是一种用于处理三维数据的卷积,其卷积核的维度也为三维。3D卷积的计算与2D卷积类似,但因为3D卷积比2D卷积多了一维的深度信息,使得其卷积核不仅仅在二维平面上进行滑动还可以在深度维度上滑动,因此3D卷积在处理带时间维度的三维数据(例如视频、脑电信号等)时能够同时提取时间与空间特征,相较于2D卷积有更好的表现。
在实际应用中3D卷积所处理的数据一般是五维张量(Five-dimensional Tensor),五个维度分别是批尺寸(batch size)N、输入输出通道数C、深度D、高度H、宽度W。在处理具有时间序列的三维数据时,深度D常被称为时间尺寸,H与W则常被合称为空间尺寸,输入输出通道数C指的是3D卷积输入输出的特征图(Feature Map)数。
多头自注意力机制(Multi-Head Self- Attention, MHSA)则是在自注意力机制的基础上,首先将输入数据按照通道、时间等维度通过分块编码(Patch Embedding)划分成若干子块,每个子块被称为注意力头,其次对每一个注意力头进行位置编码(Positional Embedding)来记录头向量中每个元素的位置信息,并对每一个注意力头分别进行注意力权重的计算,最后把归一化后的注意力权重与对应元素加权求和,并将所有的头按照头向量维度顺序拼接起来得到最终的输出。因此通过MHSA,模型可以同时关注不同位置和不同方面的信息,从而更好地捕捉序列之间的关系,提高模型的表示能力和泛化能力。
为了实现注意力机制与卷积运算的有效结合,本项目设计了一种3DC-MHSA模块作为编码器网络的特征提取器。该模块首先利用3D卷积将输入数据降至二维,保证注意力机制输出最终仍然能够保持二维尺寸。为了实现注意力机制与卷积运算的有效结合,本项目设计了一种3DC-MHSA模块作为编码器网络的特征提取器。该模块首先利用3D卷积将输入数据降至二维,其次将原始多头自注意力机制中利用线性层提取Q
图2.4 3DC-MHSA结构示意图
特征融合方面,本项目采用了“融合系数”进行特征融合,并利用Fisher值计算融合系数。
Fisher判别分析是数据处理的常用技术。Fisher判别分析法的思路非常简单:给定一个训练样本集,我们尽量把样本投射到一条直线上,使相似样本的投射点尽可能接近,不相似样本的投射点尽可能远离;在对一个新样本进行分类时,我们把它投射到同样的直线上,根据投射点的位置确定新样本的类别。
特征识别方面采用了PSO-SVM分类器对sEMG与EEG特征进行检测与识别。PSO-SVM分类器由粒子群优化算法(Particle
Swarm Optimization, PSO)与支持向量机(Support Vector Machine, SVM)两部分组成,其中粒子群优化算法负责参数寻优,SVM分类器负责分类。通过引入PSO寻找SVM中的两个超参数的全局最优值,使得SVM的分类效果达到最优。
PSO-SVM的主要步骤如下:
1) 初始化粒子的种群数为50,粒子的维度为2维,即SVM中的参数 和参数 ,设置迭代次数为500;
2) 设置适应度函数,选取5折交叉验证,并计算平均识别率,将识别率作为粒子的适应度值;
3) 计算粒子的适应度,并初始化粒子的最优位置和种群的全局最优位置;
4) 更新粒子的位置和速度;
5) 重复执行3-4步骤,直至最大迭代数;
经过优化得到最优的 和 ,随后即可用优化得到的参数来训练SVM分类器。
2. 机器人控制系统
在实现对sEMG、EEG信号的检测与识别后,下一步就需要将检测结果转化为控制信号用于对机器人进行控制。
本项目基于ROS设计了多模态机器人控制系统。该系统选择PC作为上位机,Jetson NX与 stm32f103单片机作为下位机。上位机负责信号处理与识别,并将识别结果通过Socket通讯发送给下位机,下位机则负责接收识别结果并并通过正运动学解算程序转化为轮速、转向角等控制信息,最后通过串口通讯来控制电机等机器人硬件模块。
该多模态机器人控制系统的整体架构如下:
信号采集与处理:在此阶段,sEMG和EEG信号将被实时采集并进行预处理。预处理包括滤波、去噪等操作,以减小信号中的噪声成分,提高识别的准确度。
特征提取与识别:将处理过的信号进行特征提取和,并利用PSO-SVM分类器进行识别,分类结果将用于控制机器人的动作。
控制信号生成:根据信号识别的结果,通过正运动学解算生成相应的控制信号。这些信号包括轮速、转向角等参数,用于指导机器人执行相应的动作。
ROS节点通信:在ROS中,节点之间的通信基于ROS Master的中心化通信架构。ROS
Master是一个注册中心,用于管理节点之间的通信。每个节点在启动时都会向ROS Master注册自己的名称、话题、服务等信息,并接收其他节点的注册信息。当节点需要通信时,它会向ROS Master查询其他节点的地址和端口号,并建立连接进行通信。本项目共设置了3个ROS节点——Socket节点、运动解算节点和串口通讯节点,Socket节点负责接收上位机PC端的识别结果,运动解算节点负责通过正运动学解算程序获得控制信号,串口通讯节点负责将控制信号通过串口发送给单片机实现对电机等硬件模块的控制。
(1) 项目成果
本项目设计了一套完整的基于深度学习与脑机接口的多模态机器人控制系统,利用sEMG与EEG信号进行机器人平台控制,基于ROS机器人操作系统设计完成了对于智能车、车载机器臂控制和通讯。
在项目实施期间,项目成员于2022年中国自动化大会参与发表《基于 EEG 与 sEMG 的上肢动作识别研究》论文一篇,参与申请《柔性阵列传感器压力分布数据采集系统V1.0》软著一项,获得“2021第七届山东省“互联网+”大学生创新创业大赛铜奖”、“第九届山东省高校机器人大赛一等奖”、“2021 全国大学生电子设计竞赛山东赛区二等奖”、“第二十四届中国机器人及人工智能大赛全国总决赛机器人创新赛二等奖”、“2022年第十七届全国大学生智能汽车竞赛航天物流组全国总决赛一等奖”等奖项。
(2) 总结与展望
本项目从高危环境作业的特种机器人任务场景出发,提出了一种基于深度学习与脑机接口的多模态机器人控制系统。本项目主要包含以下创新点:
(1) 使用Delsys肌电采集设备采集8通道的sEMG肌电数据,使用BP脑电采集设备采集EEG脑电数据,同时开发了人体生理电信号预处理程序对采集到的肌电、脑电数据进行预处理;
(2) 在基于sEMG进行动作识别中引入“融合系数”的概念,通过Fisher值计算出特征的融合系数矩阵,与特征矩阵相乘的到融合特征向量用于动作的分类识别;
(3) 在运动相关EEG信号识别中设计了一种结合3D卷积和多头自注意力机制的3DC-MHSA模块,用于对EEG信号进行特征提取。3D卷积能够实现对EEG时空特征的提取,而多头自注意力机制则能够通过计算通道注意力权重来提取通道特征;
(4) 选用PSO-SVM分类器最为动作识别的分类工具,并引入交叉熵损失函数作为PSO算法的适应度函数,对分类器进行优化;
(5) 基于ROS机器人操作系统设计了机器人平台上下位机控制及通讯系统,通过分布式松耦合通讯机制实现肌电、脑电识别程序对机器人平台的控制。
在本项目的研究过程中,项目组深刻地认识到了深度学习和脑机接口技术在机器人控制领域的重要性和应用前景。项目组在项目研究过程中不断学习脑电信号处理、机器人控制等领域前沿知识,成功实现将人的思维和机器人控制相结合,实现了更加贴近人体运动感官的机器人控制。在曹佃国老师的指导下,项目组成员分工明确合作良好,项目的成功大大地提升了项目组成员团队合作能力。
此外,该项目尚存在一些不足和欠缺,需要进一步深入研究和探索。首先,该项目中采用的脑机接口技术虽然能够实现对人体运动意图的识别,但是对于不同人的脑电信号和肌电信号存在差异,需要进行个性化的训练和优化,以提高识别的准确性和稳定性。其次,该项目中采用的深度学习算法虽然能够对大量的数据进行训练,但是在实际应用中,需要考虑算法的实时性和效率,以及模型的可解释性和可靠性问题。此外,在数据采集和处理过程中,还需要考虑数据的质量和隐私保护等问题。最后,该项目中涉及到的机器人控制系统也需要进一步完善和优化,例如降低控制信号传输延迟同时提高传感器精度。
综上所述,我们认为该项目为未来机器人控制技术的发展具有一定借鉴意义,但仍需要不断地探索和研究。
二、项目创新点与特色:
本项目从高危环境作业的特种机器人任务场景出发,提出了一种基于深度学习与脑机接口的多模态机器人控制系统。本项目主要包含以下创新点:
(1) 使用Delsys肌电采集设备采集8通道的sEMG肌电数据,使用BP脑电采集设备采集EEG脑电数据,同时开发了人体生理电信号预处理程序对采集到的肌电、脑电数据进行预处理;
(2) 在基于sEMG进行动作识别中引入“融合系数”的概念,通过Fisher值计算出特征的融合系数矩阵,与特征矩阵相乘的到融合特征向量用于动作的分类识别;
(3) 在运动相关EEG信号识别中设计了一种结合3D卷积和多头自注意力机制的3DC-MHSA模块,用于对EEG信号进行特征提取。3D卷积能够实现对EEG时空特征的提取,而多头自注意力机制则能够通过计算通道注意力权重来提取通道特征;
(4) 选用PSO-SVM分类器最为动作识别的分类工具,并引入交叉熵损失函数作为PSO算法的适应度函数,对分类器进行优化;
(5) 基于ROS机器人操作系统设计了机器人平台上下位机控制及通讯系统,通过分布式松耦合通讯机制实现肌电、脑电识别程序对机器人平台的控制。