一种机械手控制方法及机械手控制系统与流程

文档序号:23753936发布日期:2021-01-29 14:53阅读:55来源:国知局
一种机械手控制方法及机械手控制系统与流程

[0001]
本发明涉及模式识别和机电控制技术领域,具体涉及一种机械手控制方法及机械手控制系统。


背景技术:

[0002]
在一些比较危险的场合,比如排爆、进入有险情的灾区进行救灾,为了保护人的生命安全,往往需要使用机器人进入现场工作,这时机器人的远程控制就发挥了重大的用处。
[0003]
人的大脑控制自己的手臂是很灵活的,如果用自己的手臂来指挥机器人,机器人的运动也就更加灵活。因此,研究人的手臂动作直接控制机器人就能发挥很大的作用。
[0004]
研究发现肌电信号是非周期性、非线性、容易受到影响而含有大量噪声的生理信号。目前的对肌电信号研究主要使用的是小波变换算法,陷波滤波和低通滤波,再结合模式识别的方法进行分类。
[0005]
然而,现有的小波变换、陷波滤波和低通滤波对于含有大量非周期的高斯噪声和白噪声的肌电信号处理效果并不是很好。
[0006]
基于以上描述,亟需一种机械手控制方法及系统,以解决现有小波变换、陷波滤波和低通滤波对于含有大量非周期的高斯噪声和白噪声的肌电信号处理效果差的问题。


技术实现要素:

[0007]
本发明的目的之一在于提供一种机械手控制方法,该方法能够有效去除肌电信号的高斯噪声和白噪声,提高了肌电信号的准确性。
[0008]
本发明的目的之二在于提供一种机械手控制系统,该系统使用上述的机械手控制方法,能够有效去除肌电信号的高斯噪声和白噪声,提高了肌电信号的准确性。
[0009]
本发明的目的通过以下技术方案予以实现。
[0010]
一种机械手控制方法,包括步骤:
[0011]
s10.采集人体手臂皮肤表面的m路肌电信号;
[0012]
s20.把采集的m路带有噪声的肌电信号使用卡尔曼滤波器得出真实的肌电信号;
[0013]
s30.将步骤s20中得出的肌电信号作为样本数据进行标准化处理;
[0014]
s40.采用支持向量机模块对步骤s30中经过标准化处理后的肌电信号进行训练并预测识别出手臂动作;
[0015]
s60.根据识别出的手臂动作,发送控制指令来控制机械手的运动。
[0016]
作为优选,所述m的取值范围为4-8。
[0017]
作为优选,在步骤s40和步骤s60之间,还具有步骤:
[0018]
s50.对步骤s40中的预测识别结果进行二次识别。
[0019]
作为优选,在步骤s50中,二次识别的具体步骤为:选取一段时间周期t内,对支持向量机模块识别的结果进行判断和归类,如果该识别结果属于某一类,就把该类记上一票,当超出时间周期t,就开始统计票数,票数最多的一类作为最后识别的手臂动作。
[0020]
作为优选,在步骤s20中,根据采集的m路肌电信息,确定系统噪声的协方差q和测量噪声的协方差r,构建卡尔曼状态方程,使用递归优化的方法,根据上一次的估计值和当前的测量值估算出当前状态的真实值;
[0021]
(1)估计系统在时间k的状态:x(k)=a*x(k-1)+b*u(k),肌电信号的系统输入u(k)=0,假设肌电信号保持不变性a=1,得到估计状态 x(k)=x(k-1);
[0022]
(2)计算估计误差协方差矩阵:p(k)=a*p(k-1)*a

+q,根据肌电信号选取系统噪声协方差q=10,得到p(k)=p(k-1)+q;
[0023]
(3)卡尔曼滤波增益系数的计算:k=p(k-1)*c/(c*p(k-1)*c

+r),选取输出系数c=1,测量噪声r=0.01,得到卡尔曼增益系数 k=p(k-1)/(p(k-1)+r);
[0024]
(4)根据测量值z(k),更新状态变量:x(k)=x(k)+k*(z(k)-c*x(k)),根据肌电信号的测量值和卡尔曼增益估计出肌电信号的实际值;
[0025]
(5)更新估计误差协方差矩阵:p(k)=p(k)-k*c*p(k)。
[0026]
作为优选,在步骤s30中,先要求出样本数据的平均值和标准差,通过公式进行归一化;
[0027]
其中,μ是样本的均值,σ是样本的标准差。
[0028]
作为优选,在步骤s60中,通过蓝牙-串口模块发送控制指令来控制机械手的运动。
[0029]
一种机械手控制系统,其特征在于:包括:
[0030]
电极传感器,设置在待采集肌电信号的手臂表面,用于采集肌电信号;
[0031]
控制器,其与电极传感器相连,用于放大电极的信号并将电极的信号 a/d转换成肌电信号;
[0032]
卡尔曼滤波器,用于去除肌电信号所带的噪声,并且计算出真实的肌电信号;
[0033]
标准化处理模块,用于对肌电信号作为样本数据进行标准化处理;
[0034]
支持向量机模块,用于对标准化的肌电样本数据进行训练和预测识别出手臂动作;
[0035]
控制指令发送模块,根据真实的肌电信号发送控制指令控制机械手的运动。
[0036]
作为优选,所述控制指令发送模块为蓝牙-串口。
[0037]
作为优选,所述机械手控制系统还包括二次识别模块,用于对所预测识别出的手臂动作进行二次识别。
[0038]
本发明的有益效果是:
[0039]
本方案提供的机械手控制方法根据现有技术的不足,基于卡尔曼滤波和支持向量机(缩写为svm)的模式识别方法对肌电信号进行处理和分类。卡尔曼滤波能够很好地处理高斯噪声和白噪声,肌电信号经过卡尔曼滤波后能为支持向量机提供了准确的特征数据。通过该方法能够有效去除肌电信号的高斯噪声和白噪声,提高了肌电信号的准确性。
附图说明
[0040]
图1是本实施例提供的机械手控制方法的流程图;
[0041]
图2是本实施例一种优选方式提供的机械手控制方法的流程图;
[0042]
图3是本实施例提供的机械手控制装置的结构示意图;
[0043]
图4是本实施例一种优选方式提供的机械手控制装置的结构示意图。
[0044]
1-电极传感器;2-控制器;3-卡尔曼滤波器;4-标准化处理模块;5
-ꢀ
支持向量机模块;6-控制指令发送模块;7-机械手;8-二次识别模块。
具体实施方式
[0045]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]
方法实施例
[0047]
如图1所示,本方案提供的表面肌电信号识别算法通过识别人体的动作所产生的肌电信号,将肌电信号基于卡尔曼滤波和支持向量机的模式识别方法对肌电信号进行处理和分类,有效去除肌电信号的高斯噪声和白噪声,提高了肌电信号的准确性,进而实现对远程机械手的控制。具体的,机械手控制方法包括步骤:
[0048]
s10.采集手臂皮肤表面的m路肌电信号;
[0049]
s20.把采集的m路带有噪声的肌电信号使用卡尔曼滤波器得出真实的肌电信号;
[0050]
s30.将步骤s20中得出的肌电信号作为样本数据进行标准化处理;
[0051]
s40.采用支持向量机模块对步骤s30中经过标准化处理后的肌电信号进行训练并预测识别出手臂动作;其中,支持向量机缩写为svm。
[0052]
s60.根据识别出的手臂动作,发送控制指令来控制机械手的运动。
[0053]
其中,所述m的取值范围优选为4-8,最优选为6个,当然,m的取值并不局限于此,越多越好。
[0054]
于本实施例中,作为优选方案,如图2所示,在步骤s40和步骤s60 之间,还具有步骤:
[0055]
s50.对步骤s40中的支持向量机模块的预测识别结果进行二次识别。通过对支持向量机模块预测的结果进行二次识别,能够提高预测的准确率。
[0056]
于本实施例中,作为优选方案,在步骤s50中,二次识别的具体步骤为:选取一段时间周期t内,对支持向量机模块识别的结果进行判断和归类,如果该识别结果属于某一类,就把该类记上一票,当超出时间周期 t,就开始统计票数,票数最多的一类作为最后识别的手臂动作。
[0057]
于本实施例中,作为优选方案,在步骤s20中,根据采集的m路肌电信息,确定系统噪声的协方差q和测量噪声的协方差r,构建卡尔曼状态方程,使用递归优化的方法,根据上一次的估计值和当前的测量值估算出当前状态的真实值;
[0058]
(1)估计系统在时间k的状态:x(k)=a*x(k-1)+b*u(k),肌电信号的系统输入u(k)=0,假设肌电信号保持不变性a=1,得到估计状态 x(k)=x(k-1);
[0059]
(2)计算估计误差协方差矩阵:p(k)=a*p(k-1)*a

+q,根据肌电信号选取系统噪声协方差q=10,得到p(k)=p(k-1)+q;
[0060]
(3)卡尔曼滤波增益系数的计算:k=p(k-1)*c/(c*p(k-1)*c

+r),选取输出系数c=1,测量噪声r=0.01,得到卡尔曼增益系数 k=p(k-1)/(p(k-1)+r);
[0061]
(4)根据测量值z(k),更新状态变量:x(k)=x(k)+k*(z(k)-c*x(k)),根据肌电信
号的测量值和卡尔曼增益估计出肌电信号的实际值;
[0062]
(5)更新估计误差协方差矩阵:p(k)=p(k)-k*c*p(k)。
[0063]
于本实施例中,作为优选方案,在步骤s30中,通过z-score进行标准化处理,先要求出样本数据的平均值和标准差,通过公式进行归一化;
[0064]
其中,μ是样本的均值,σ是样本的标准差。
[0065]
z-score标准化后的数据都聚中在0附近,成为均值为0,方差为1 的正态分布。
[0066]
使用z-score标准化适用于属性的最大值或最小值未知,或有超出样本取值范围的数据。
[0067]
于本实施例中,作为优选方案,在步骤s40中,通过支持向量机模块预测识别手臂动作的步骤包括:
[0068]
通过以下公式来实现多类别的分类,
[0069][0070]
s.t.y
i
((w.x
i
)+b)≥1-ξ
i
,i=1,...,l
[0071]
ξ
i
>0,i=1,...,l
[0072]
其中,x
i
是特征输入向量,w是权重向量,b是偏置;
[0073]
使用径向基核函数(rbf):
[0074]
k(x,y)=exp(-γ||x-y||2),γ>0
[0075]
x为支持向量,y为待分类向量,||x-y||2为二范数距离的计算;
[0076]
使用网格搜索寻优的方法,由惩罚因子c和核函数半径γ组成网格变量并做交叉验证计算准确率,根据计算和训练结果测试,选择γ=100,惩罚因子c=0.25具有较高的识别率。
[0077]
于本实施例中,作为优选方案,在步骤s60中,通过蓝牙-串口模块发送控制指令来控制机械手的运动。当然,并不一定局限于通过蓝牙-串口模块发送控制指令来控制机械手的运动,也可以通过其它设备向机械手发送指令。
[0078]
装置实施例
[0079]
如图3所示,本方案提供的机械手控制系统使用以上所述的机械手控制方法,该机械手控制系统包括电极传感器1、控制器2、卡尔曼滤波器 3、标准化处理模块4、支持向量机模块5及控制指令发送模块6。
[0080]
电极传感器1设置在待采集肌电信号的手臂表面,用于采集肌电信号;作为优选方案,电极传感器1设置在小臂的表面。
[0081]
控制器2与电极传感器1通过导线相连,控制器2用于放大电极的信号并将电极的信号a/d转换成肌电信号。
[0082]
卡尔曼滤波器3用于去除肌电信号所带的噪声,并且计算出真实的肌电信号;所述噪声主要为高斯噪声和白噪声。
[0083]
标准化处理模块4用于对肌电信号作为样本数据进行标准化处理。
[0084]
支持向量机模块5用于对标准化的肌电样本数据进行训练和预测识别出手臂动作。
[0085]
控制指令发送模块6根据真实的肌电信号发送控制指令控制机械手7 的运动。
[0086]
于本实施例中,作为优选方案,所述控制指令发送模块6为蓝牙-串口。但控制指令发送模块6并不局限于蓝牙-串口,也可以为其它设备。
[0087]
于本实施例中,作为优选方案,如图4所示,所述机械手控制系统还包括二次识别模块8,二次识别模块8用于对所预测识别出的手臂动作进行二次识别。对支持向量机模块5(svm)预测的结果进行二次识别,能够提高预测的准确率。
[0088]
当然,以上只是本发明的典型实例,除此之外,本发明还可以有其它多种具体实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1