本发明涉及一种人机交互方法,具体地说是一种采用手势识别的方法通过上位机来对机器人的运动进行相关控制。
背景技术:
近年来,研究人员对地外星体的探测逐步深入,星体表层采样研究成为探测星体的重要环节。目前,研究人员对地外星体的探测与采样主要集中在月球和火星上,并使用空间探测机器人对星体资源进行了原位分析和土壤采样。
在对地外星体表层进行采样研究时存在着空间作业环境复杂、未知等问题;而人类操作者比空间探测机器人有更好的判断力、洞察力,因此使用人机交互技术通过操作人员对空间探测机器人进行实时控制,以确保探测机器人能顺利完成任务。在过去的几十年里,人机交互技术受到了研究人员的广泛关注而且得到了迅速的发展,出现了多种成熟的人机交互方式。语音识别和手势识别是其中的两大主要发展方向。由于手势识别相比语音识别具有信息量丰富、易于实现等优点,因此广泛应用于人机交互系统中,是人机交互系统的重要技术环节之一。
在人机交互系统的研究发展过程之中,手势识别系统主要可以分为两类:数据手套系统和徒手系统。在本发明中使用数据手套系统,将数据手套的手势作为人机交互系统的输入,从而实现对机器人的运动控制。
技术实现要素:
针对现有技术的不足,本发明提供一种基于手势的人机交互方法,经过对操作者手势数据的采集和归一化处理构建了手势模板,为了使得手势模板能够进行准确分类,提出的改进pso-svm分类算法,克服了传统分类算法不能对数据进行准确分类以及传统pso算法容易陷入局部最优的问题。
本发明为实现上述目的所采用的技术方案是:
一种基于手势的人机交互方法,包括:
步骤1:根据数据手套的弯曲度值,构建手势初始模板,并对手势初始模板数据进行归一化处理,得到手势训练集模板;
步骤2:采用改进的pso算法对svm支持向量机分类器进行参数寻优,得到惩罚参数和核参数最优值;
步骤3:将寻优后的参数结果导入svm支持向量机分类器预测函数中,对手势训练集模板进行训练,对训练后的手势训练集模板用测试集进行预测,得到svm支持向量机分类预测模板;
步骤4:实时采集手势数据,并对实时手势数据进行归一化处理,将归一化处理后的数据在svm支持向量机分类器中进行分类;
步骤5:将分类后的数据进行手势匹配,得到匹配结果,通过控制器控制采样机器人。
构建手势初始模板的过程为:
对每一种手势,采集其数据手套的对应弯曲度值若干次,得到n*5的矩阵,从而建立手势初始模板。
所述归一化处理过程为:
其中,x表示要归一化的初始数据,y表示归一化的结果,xmax初始数据最大值,xmin表示初始数据最小值,ymax表示归一化结果数据最大值,ymin表示归一化结果最小值。
所述改进的pso算法为:
其中,搜索空间为d维;总粒子数为n;第i个粒子的位置表示为pi=(pi1,pi2,…pid);vi为第i个粒子飞行位置变化率,vi=(vi1,vi2,...vid);pbesti为第i个粒子在飞行的历史中去过的最优位置(即该粒子的个体最优值),pbesti=(pi1,pi2,…pid);当前种群在飞行中全部粒子的最优位置,即全局最优值表示为gbest(该值为所有pbesti中的最优值)。ω表示改进的惯性权重,c1,c2是加速因子,是两个正实数,分别称为认知学习率和社会学习率,通常取值为c1=c2=2,rand()为[0,1]范围内相互独立的随机数。tmax和t分别代表种群的最大迭代次数和当前迭代次数;ωstart和ωend分别代表初始迭代权重和终止迭代权重,其中ωstart=0.9,ωend=0.4。对于学习因子的取值过大或过小都不利于粒子群寻优,一般情况下c1和c2的关系是c1+c2>4,c1和c2取值范围为[1,2.5]。学习因子改进策略按c1由大变小,c2由小变大改进。
将对每一种手势采集其数据手套的对应弯曲度值次数的一部分用于对手势训练集模板进行训练。
所述对手势训练集模板进行训练为:
根据数据手套的对应弯曲度值,将手势训练集模板划分为若干区间,作为分类区间。
所述用测试集进行预测过程为:
将测试集的手势数据输入到手势训练集模板中,进行分类,判断分类值是否满足分类区间;
如果满足分类区间,则得到svm支持向量机分类预测模板;否则返回步骤3。
所述手势匹配过程为:
将分类后的数据根据分类进行编号,得到的编号与已有的控制编号进行匹配;
如果匹配成功,则根据对应的控制编号的控制状态对采样机器人进行控制;否则返回步骤3。
所述数据手套包括在每根手指弯曲处设置弯曲传感器,连接arm控制器,采集弯曲度值发送到arm控制器;分压电路连接arm控制器,通过串联电阻分压控制电流大小。
本发明具有以下有益效果及优点:
本发明通过人机交互方法,使用正确识别和匹配后的手势数据,对机器人进行了实时的控制,从实验效果可以看出改进pso-svm分类算法在识别的正确率有了显著的提高,使得整套人机交互系统在对采样机器人实时控制更加便利和高效,从而有效地减少了误操作次数,提高了控制的准确度。
附图说明
图1是本发明的方法流程图;
图2是本发明的改进的pso算法寻优流程图;
图3是本发明的人机交互系统结构图;
图4是本发明的数据手套结构图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
如图1所示为本发明的方法流程图。
首先,通过数据手套对操作者的手势进行采集,每个手势的活动值可以唯一确定。同一种手势采集20次,这样每个手势就会有20个不同的样本描述。样本集一共包含了11种手势样本,每种样本由5个数据组成,从而构成了220×5的特征样本矩阵。建立手势初始模板。然后对手势模板中的数据进行归一化处理使得原始数据被规整到[0,1]范围内。在归一化数据里把训练集和测试集提取出来,并对每组样本数据标注类别标签。其中1-20个样本属于第一类(类别标签为1),第21-40个样本为属于第二类(类别标签为2);依次类推,每20个样本为一类,一共将样本分成11类,然后用改进的pso算法对数据进行训练并svm支持向量机进行参数寻优。训练后的手势训练集模板划分为若干区间,作为分类区间。将测试集的手势数据输入到手势训练集模板中,进行分类,判断分类值是否满足分类区间。如果满足分类区间,则得到svm支持向量机分类预测模板。将分类后的数据根据分类进行编号,得到的编号与已有的控制编号进行匹配;如果匹配成功,则根据对应的控制编号的控制状态对采样机器人进行控制。
如图2所示为本发明的改进的pso算法寻优流程图。
其中,搜索空间为d维,总粒子数为n。第i个粒子的位置表示为pi=(pi1,pi2,…pid);第i个粒子飞行位置变化率(即“速度”)表示为vi=(vi1,vi2,...vid);第i个粒子在飞行的历史中去过的最优位置(即该粒子的个体最优值)表示为pbesti=(pi1,pi2,…pid);当前种群在飞行中全部粒子的最优位置,即全局最优值表示为gbest(该值为所有pbesti中的最优值)。ω表示改进的惯性权重,c1,c2是加速因子,是两个正实数,分别称为认知学习率和社会学习率,通常取值为c1=c2=2,rand()为[0,1]范围内相互独立的随机数。tmax和t分别代表种群的最大迭代次数和当前迭代次数;ωstart和ωend分别代表初始迭代权重和终止迭代权重,其中ωstart=0.9,ωend=0.4。对于学习因子的取值过大或过小都不利于粒子群寻优,一般情况下c1和c2的关系是c1+c2>4,c1和c2取值范围为[1,2.5]。学习因子改进策略按c1由大变小,c2由小变大改进。
如图3所示为本发明的人机交互系统结构图。
用数据手套采集操作人员的相关手势的弯曲度数据,通过无线传输模块发送给上位机系统,在matlab数学节点中进行相关的数据、指令处理,处理后的结果形成控制指令,通过无线传输模块发送给采样机器人从而进行相关的运动控制。为了满足对手势进行实时匹配,需要设计上位机系统对数据进行处理。labview是美国ni公司研发的一种工业标准图形化编程工具,主要用于研发测试、测量和控制系统,它是专门为工程师和科学家而设计的直观图形化编程语言。为了使操作人员能够简明、直观地看到手势识别与控制机器人的全部过程。上位机操作界面主要包括三个部分:手势数据采集区,手势匹配与机器人控制区,用来显示手势数据对应的控制指令是否,无线监控区主要作用是实时显示机器人上摄像机的图像采集结果,方便操作者实时掌握机器人运动作业环境。
如图4所示为本发明的数据手套结构图。
数据手套由手套部分和外围分压电路两部分组成。其中手套的手指部位由5个flex2.2弯曲传感器制成,传感器实质上是一个可变电阻,通过对传感器进行弯曲来改变表面导电粒子的分布,从而改变电阻。弯曲程度越大,传感器的电阻值就越大。为了保护好arm控制器和弯曲传感器不在通电过程中因为电压过大而损坏,因此设计由n个电阻组成的外围分压电路,从而使得arm控制器和弯曲传感器满足额定工作电压。经过实验证明,数据手套的使用,不仅在输入端对操作人员的手势进行了实时数据采集,同时还能提高操作者对采样机器人控制的灵活度和自由度。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普
通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进的润饰,这些改进和润饰也应视为本发明的保护范围。