发明内容
本发明实施例要解决的技术问题在于,提供一种协作机器人控制方法,能有效提高协作机器人的控制准确度。
本发明实施例进一步要解决的技术问题在于,提供一种协作机器人控制装置,能有效提高协作机器人的控制准确度。
本发明实施例进一步要解决的技术问题在于,提供一种计算机可读存储介质,以存储能有效提高协作机器人的控制准确度的计算机程序。
为了解决上述技术问题,本发明实施例提供以下技术方案:一种协作机器人控制方法,包括以下步骤:
实时采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号;
对所述实际脑电信号进行预处理,所述预处理至少包括去直流漂移和降采样;
采用典型相关分析方法求取通用模板信号与预处理后的实际脑电信号的目标典型相关系数,所述通用模板信号是预先基于共同特征提取原理构建而得;
根据所述目标典型相关系数和预存的反映典型相关系数与控制指令对应关系的数据表编码产生相应的控制指令;以及
根据所述控制指令控制协作机器人运动。
进一步的,所述采用典型相关分析方法求取通用模板信号与预处理后的实际脑电信号的目标典型相关系数具体包括:
将预先基于共同特征提取原理构建而得的通用模板信号替换所述典型相关分析方法的理想模板信号以获得典型相关系数的表达式;
根据所述典型相关系数的表达式计算获得预处理后的实际脑电信号在不同刺激频率下对应的多个初步典型相关系数;以及
将所述多个初步典型相关系数中的最大值作为预处理后的实际脑电信号对应的所述目标典型相关系数。
进一步的,所述刺激图像基于正弦编码方法构建获得。
进一步的,所述实时采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号时,还对所述实际脑电信号进行分块处理。
进一步的,所述预处理还包括基于第一预定频率的带通滤波和基于第二预定频率的陷波滤波。
进一步的,根据所述控制指令控制协作机器人运动后,还判断所述协作机器人运动动作是否实现预定动作,并在判断为未实现所述预定动作时根据协作机器人的当前状态反馈调节所述刺激图像的刺激频率再从所述实时采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号的步骤开始循环处理直至所述协作机器人实现所述预定动作。
另一方面,为了解决上述进一步的技术问题,本发明实施例提供以下技术方案:一种协作机器人控制装置,与协作机器人相连,所述协作机器人控制装置包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述中任意一项所述的协作机器人控制方法。
进一步的,所述协作机器人为具有七自由度的机械臂。
再一方面,为了解决上述进一步的技术问题,本发明实施例提供以下技术方案:一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任意一项所述的协作机器人控制方法。
采用上述技术方案后,本发明实施例至少具有如下有益效果:本发明实施例首先通过采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号后,实际脑电信号进行去直流漂移和降采样,去除实际脑电信号中的直流成分,降低干扰,然后采用典型相关分析方法求取通用模板信号与预处理后的实际脑电信号的目标典型相关系数,基于共同特征提取原理构建获得的通用模板信号能有效的增强实际脑电信号中的SSVEP特征,并抑制其中的干扰分量,从而保证控制的准确度,然后进一步根据目标典型相关系数和预存的反映典型相关系数与控制指令对应关系的数据表编码产生相应的控制指令,并最后根据所述控制指令控制协作机器人运动,能有效提高协助机器人控制的准确度。
具体实施方式
下面结合附图和具体实施例对本申请作进一步详细说明。应当理解,以下的示意性实施例及说明仅用来解释本发明,并不作为对本发明的限定,而且,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合。
如图1所示,本发明一个可选实施例提供一种协作机器人控制方法,包括以下步骤:
S1:实时采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号;
S2:对所述实际脑电信号进行预处理,所述预处理至少包括去直流漂移和降采样;
S3:采用典型相关分析方法求取通用模板信号与预处理后的实际脑电信号的目标典型相关系数,所述通用模板信号是预先基于共同特征提取原理构建而得;
S4:根据所述目标典型相关系数和预存的反映典型相关系数与控制指令对应关系的数据表编码产生相应的控制指令;以及
S5:根据所述控制指令控制协作机器人1运动。
本发明实施例首先通过采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号后,实际脑电信号进行去直流漂移和降采样,去除实际脑电信号中的直流成分,降低干扰,然后采用典型相关分析方法求取通用模板信号与预处理后的实际脑电信号的目标典型相关系数,基于共同特征提取原理构建获得的通用模板信号能有效的增强实际脑电信号中的SSVEP特征,并抑制其中的干扰分量,从而保证控制的准确度,然后进一步根据目标典型相关系数和预存的反映典型相关系数与控制指令对应关系的数据表编码产生相应的控制指令,并最后根据所述控制指令控制协作机器人运动,能有效提高协助机器人控制的准确度。
在本发明一个可选实施例中,如图2所示,所述步骤S3具体包括:
S31:将预先基于共同特征提取原理构建而得的通用模板信号替换所述典型相关分析方法的理想模板信号以获得典型相关系数的表达式;
S32:根据所述典型相关系数的表达式计算获得预处理后的实际脑电信号在不同刺激频率下对应的多个初步典型相关系数;以及
S33:将所述多个初步典型相关系数中的最大值作为预处理后的实际脑电信号对应的所述目标典型相关系数。
本实施例中,传统典型相关分析方法的理想模板信号仅能表示标准正余弦组成的理想模板信号,首先通过将通用模板信号替换所述典型相关分析方法的理想模板信号,从而获得典型相关系数的表达式,提高后续识别的准确度,然后根据典型相关系数的表达式计算获得预处理后的实际脑电信号在不同刺激频率下对应的多个初步典型相关系数,最后将所述多个初步典型相关系数中的最大值作为实际脑电信号对应的所述目标典型相关系数,即可快速、准确的对刺激目标进行分类识别。
在本发明一个可选实施例中,所述刺激图像为基于正弦编码方法构建获得。本实施例中,通过一组可以按照固定频率闪烁的方块呈现,而视觉刺激交互界面的配置时,可以通过基于Matlab的Psych tool box工具箱编写完成,通过采样正弦编码方法实现选定频率的视觉刺激,其中,采样正弦编码方法可以调整每一帧图像的灰度值,在视觉刺激时使每帧图像的灰度值按照正弦波的方式变化,从而可以达到显示器刷新率一半一下的任意频率的视觉刺激,视觉刺激的控制相对方法方便。
在本发明一个可选实施例中,所述实时采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号时,还对所述实际脑电信号进行分块处理。本实施例中,通过在采集实际脑电信号时,还对实际脑电信号进行分块处理,可使得数据采集和处理能适配不同配置的处理设备的数据处理速度,避免实际脑电信号过大,降低处理速度,有利于提高通用性。
在本发明一个可选实施例中,所述预处理还包括基于第一预定频率的带通滤波和基于第二预定频率的陷波滤波。本实施例中,还通过带通滤波和陷波滤波,能分别衰减实际脑电信号中的伪迹和去除电源工频干扰,提高后续识别的准确度。
在本发明一个可选实施例中,根据所述控制指令控制协作机器人1运动后,还判断所述协作机器人1运动动作是否实现预定动作,并在判断为未实现所述预定动作时根据协作机器人1的当前状态反馈调节所述刺激图像的刺激频率再从所述实时采集控制者观察以预先选定的刺激频率闪烁的刺激图像生成的实际脑电信号的步骤开始循环处理直至所述协作机器人1实现所述预定动作。本实施例中,在控制协作机器人1运动后,可通过反复的判断所述协作机器人1运动动作是否实现预定动作,并在判断为未实现所述预定动作时根据协作机器人1的当前状态反馈调节所述刺激图像的刺激频率,最终使协作机器人1实现所述预定动作,从而实现闭环控制,提高控制的准确度。
在具体实施时,所述判断所述协作机器人1运动动作是否实现预定动作可由控制者通过肉眼直接判断,当然,为提高判断的准确度,还可以采用相应的监测系统实际监测协作机器人1的运动,从而实现自动化的判断;另外,所述预定动作可以是指根据指令作出相应的运动而从预设起点移动至预设终点。
本发明实施例通过离线实验阶段验证了信号采集和信号传输的有效性,并通过开源数据集验证了识别准别率的提升效果,开源数据集为清华大学35人数据集,图3所示为该数据集中从S1~S10共十位受试者在不同方法下的识别准确率。由图3可见,经过共同特征处理之后的识别方法相较于传统的CCA和ITCCA方法,本发明实施例的识别准确率在不同的时间窗口下均有不同程度的提高,尤其是在3s时间窗口内的识别准确率的提高程度要明显高于更长时间窗口下的准确率的提高程度,即本发明实施例可以改善短时间窗口内采集的脑电信号的特征。
另一方面,如图4所示,本发明实施例提供一种协作机器人控制装置3,与协作机器人1相连,所述协作机器人控制装置3包括处理器30、存储器32以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例所述的协作机器人控制方法。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器32中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述协作机器人控制装置3中的执行过程。例如,所述计算机程序可以被分割成图5所述的协作机器人控制装置3中的功能模块,其中,信号采集模块41、信号预处理模块42、系数计算模块43、指令编码模块44以及机器人控制模块45分别对应执行以上的步骤S1-步骤S5;如图6所示,为本发明实施例的协作机器人控制装置3的实际原理示意图。
所述协作机器人控制装置3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述协作机器人控制装置3可包括,但不仅限于,处理器30、存储器32。本领域技术人员可以理解,所述示意图仅仅是协作机器人控制装置3的示例,并不构成对协作机器人控制装置3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述车载摄像头抖动识别装置1还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述协作机器人控制装置3的控制中心,利用各种接口和线路连接整个协作机器人控制装置3的各个部分。
所述存储器32可用于存储所述计算机程序和/或模块,所述处理器30通过运行或执行存储在所述存储器32内的计算机程序和/或模块,以及调用存储在存储器32内的数据,实现所述协作机器人控制装置3的各种功能。所述存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如图形识别功能、图形层叠功能等)等;存储数据区可存储根据识别装置的使用所创建的数据(比如图形数据等)等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明实施例所述的功能如果以软件功能模块或单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器30执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在具体实施时,步骤S1中,信号采集时,对脑电信号进行直流采样,采样率为1024Hz;所述实际脑电信号的采集通道选择了位于控制者的大脑枕叶区上的6个电极,分别为Oz、O1、O2、Pz、P3以及P4。
在线进行实际脑电信号的数据传输时,利用脑电信号采集软件Curry的数据流传输接口,分别在Curry端和Matlab端创建服务器和客户端,然后利用TCP/IP通信将实时采集的实际脑电信号在线传输到Matlab端进行分析处理,由于实际脑电信号传输时以数据包的形式将实时采集的信号发送到Matlab端,故在Matalb端需要对数据头进行解析,以此确定在线传输时实际脑电信号的采样率、信号采集通道、数据包中信号数据本身的大小等信息,从而为随后的信号处理确定出数据缓冲区大小;另外,在Matlab端,首先在Matlab端利用timer类计时器和计时器回调函数实现对脑电信号的同步接收;而且,可以通过设置Matalb端计时器回调函数的执行时间间隔对发送的脑电信号数据包进行分块处理。
另外,所述刺激图像通过一组可以按照固定频率闪烁的方块图像呈现,在预先设置视觉刺激图像的交互界面的配置时,可以通过基于Matlab的Psychtoolbox工具箱编写完成,通过以下公式1进行编码:
其中,n为刺激图像的每一帧图像的序号,f为刺激频率,R为显示器刷新率;由此可知,本方法可以实现30Hz以下的任意频率的刺激图像;例如,在如图7所示的实施例中,所用的视觉刺激频率为9Hz~14Hz,分别对应协作机器人在三维空间中运动的六个命令,即在X、Y和Z轴的正负方向。
在步骤S2中,对应前述的直流采样的采样率,所述降采样的采样率为256Hz;由于需求的滤波精度不同,带通滤波和陷波滤波对应的第一预定频率和第二预定频率可能存在不同,在本实施例中,所述第一预定频率为6-88Hz,所述第二预定频率为50Hz。
在步骤S3中,基于共同特征提取原理构建获得的通用模板信号可通过离线实验采集的多个试次的脑电信号数据构建获得,具体步骤如下:
首先,设定
为采集的第t个试次的离线实验数据,其中N
c与N
p分别为信号采集时的通道数和采样点数;然后通过共平均多个试次之间的离线数据得到受试者类内SSVEP模板信号
并表示为以下公式2:
进一步的,为利用共同特征提取的方法求得优化后的SSVEP通用模板信号,即为实现对多集离线数据的共同变换,定义空间滤波器
对原SSVEP模板信号
进行变换,使得原模版信号
经过变换之后增强SSVEP特征,具体表示为公式3:
进一步的,设定经过空间滤波器w变换之后
则经过变换之后的SSVEP通用模板信号可表示为公式4:
进一步的,为保证利用公式3变换时保留脑电信号中的SSVEP分量,并抑制干扰分量,利用公式5所示的协方差表示类间信号的相关性:
综合公式3、4和5可得协方差矩阵如以下公式6:
基于上述协方差公式6,对角元素为同一受试者脑电信号的类间相关性,则可表示为公式7:
进一步的,通过共同特征提取使得通用模板信号增强SSVEP特征分量,也即通过公式3所示的空间滤波器变换使得多集数据之间的相关性最大,则利用公式6的协方差矩阵关系并结合公式7的受限条件,获得如以下公式8的优化问题:
由上述公式8可知,通过最大化多组数据集之间的相关性求出一组空间滤波器,从而提取出多组数据集之间的通用特征,使得求出的通用模板信号是最能代表多集数据间的共同特征的通用模板信号。
最后,基于拉格朗日乘子法将上述公式8变换为广义特征值问题,则得到如公式9的通用模板信号:
在步骤S31中,由于传统的典型相关分析方法中的参考信号Y仅能代表由标准正余弦组成的理想模板信号,因此,利用通用模板信号
代替参考信号Y,计算得到
在步骤S32中,分别计算在线采集的实际脑电信号X与K个不同刺激频率对应的通用模板信号
之间的初步典型相关系数ρ
k。
在步骤S33中,将初步典型相关系数ρk中的最大值所对应的刺激目标作为目标典型相关系数,并将目标典型相关系数作为最后分类识别结果,最后再利用公式10确定出目标典型相关系数所对应的目标刺激频率ftarget:
在步骤S4和步骤S5中,基于脑机接口的协作机器人控制系统中,协作机器人的控制通过ROS(机器人操作系统)完成,即首先将Matlab端作为一个网络节点连入ROS网络中,随后Matlab端和ROS端订阅共同的话题消息,则此时将实际脑电信号分类后的结果(目标刺激频率)编码相应的控制命令,即对于每一个分类结果编码不同的控制命令,最后当ROS端接收到Matalb端通过网络节点发送过来的控制命令时,控制协作机器人1按照控制命令进行相应的动作。
在本发明一个可选实施例中,所述协作机器人1为具有七自由度的机械臂。本实施例中,协作机器人1为具有七自由度的机械臂,其各个关节的活动可在控制装置3的控制下到达三维空间的任意位置,灵活度非常高。
在具体实施时,由于协作机器人1是一个拥有7个自由度的机械臂(FrankaPanda),若协作机器人1的末端执行器到达三维空间中的某个位置,则需要协调各个关节的角度,同时利用关节角度变量确定机械臂末端执行器的位姿;本实施例中,采用DH参数法作为机械臂的连杆参数的通用方法,在建立机械臂的运动学方程时确定相邻关节轴的空间位置关系。本发明实施例中机械臂的标准型DH参数下表所示:
关节角i |
α<sub>i</sub> |
a<sub>i</sub> |
d<sub>i</sub> |
θ<sub>i</sub> |
1 |
π/2 |
0 |
d<sub>1</sub>>0 |
q<sub>1</sub> |
2 |
-π/2 |
0 |
0 |
q<sub>2</sub> |
3 |
π/2 |
a<sub>3</sub>>0 |
d<sub>3</sub>>0 |
q<sub>3</sub> |
4 |
-π/2 |
a<sub>4</sub><0 |
0 |
q<sub>4</sub> |
5 |
π/2 |
0 |
d<sub>5</sub>>0 |
q<sub>5</sub> |
6 |
π/2 |
a<sub>6</sub>>0 |
0 |
q<sub>6</sub> |
7 |
0 |
0 |
d<sub>7</sub>>0 |
q<sub>7</sub> |
结合上述参数表,可建立第i-1关节到第i个关节之间的变换矩阵,具体公式如公式11所示:
由此,根据公式11能快速实现对协作机器人1的运动学求解,实现准确的控制。
再一方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述实施例所述的协作机器人控制方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。