一种机器人触觉动作识别系统及识别方法与流程

文档序号:24121479发布日期:2021-03-02 11:42阅读:113来源:国知局
一种机器人触觉动作识别系统及识别方法与流程

[0001]
本发明涉及机器人触觉感知领域,具体是一种机器人触觉动作识别系统及识别方法。


背景技术:

[0002]
近年来,随着智能制造技术及各类机器人的快速发展,人机交互技术越来越受到关注,并成为研究热点。机器人的身影逐渐出现在了各行各业,并且扮演起了愈加重要的社会角色,越来越多的出现在了人员密集的场所,承担起服务工作。传统的机器人更多在结构化的环境中工作,需要按照特定的程序进行运作,其工作路线与运作方式都是相对固定的,完成的任务单一且在工作过程中避免与人产生直接交流,这就限制了机器人,尤其是服务型机器人的社会角色和工作任务的多样性,无法实现有效的人机物理交互(physical human-robot interactions,phri)。
[0003]
人机物理交互是机器人实现高级智能化、完成直接与人接触的较高难度工作(例如搀扶、背抱、辅助行走等)的技术前提,智能化的机器人可以发挥人在面对不同问题时的灵活可变,的优势,也可以发挥机器人在工作时的稳定性能,从而高品质的完成工作。其中,机器人触觉在人机物理交互过程中具有不可替代的重要作用。目前,机器人主要通过视觉和听觉在人机交互中与人通讯,感知环境变化,判断人体动作意图。然而,视觉和听觉无法在某些关键场合发挥作用,例如距离较近、光线较差、人与机器人直接接触等情况。此时,机器人触觉是机器人感知人体和外部环境的重要手段,是保证机器人与人接触过程中的安全性、舒适性、友好性的途径。
[0004]
机器人通常通过触觉传感器来感知外界接触。阵列式触觉传感器是由多个触觉传感单元组成的传感器。相较于单点式触觉传感器,阵列式触觉传感器集成了多个传感单元,具备接触力分布的检测能力。传统的单点触觉传感器具有难以定位、信息量少、重复性差等缺点,而阵列式触觉传感器能够采集更为全面综合的数据,为有效提取触觉信息的特征提供了先决条件。因触觉传感器信息量具备多维信息内涵,信息量大,会占用机器人控制器大量的计算资源;同时现有触觉传感器及硬件平台只具有数据感知和传输功能,不具备底层运算、判断识别等智能功能,难以实现全机器人表皮的触觉信息获取、运算、认知,会给机器人控制器带来大量的计算和储存负担,无法实现机器人触觉智能化,例如公开号为cn 108681412a的文献公开了一种基于阵列式触觉传感器的情感识别装置及方法,其情感识别种类为三种,种类较少;没有做到将算法嵌入到微控制器中,智能化的识别是在上位机中完成的,上位机计算负担大;无法同时运行多个算法,将会占用大量的计算机资源。


技术实现要素:

[0005]
针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于柔性阵列式触觉传感器和嵌入式硬件平台的机器人触觉动作识别系统及识别方法。
[0006]
本发明解决所述识别系统技术问题的技术方案是,提供一种机器人触觉动作识别
系统,其特征在于,该识别系统包括阵列式触觉传感器、嵌入式微控制器和上位机;所述阵列式触觉传感器穿戴在载体上,阵列式触觉传感器和嵌入式微控制器连接,嵌入式微控制器与上位机连接。
[0007]
本发明解决所述识别方法技术问题的技术方案是,提供一种基于所述的机器人触觉动作识别系统的动作识别方法,其特征在于,该识别方法包括以下步骤:
[0008]
第一步、训练卷积神经网络;
[0009]
(1)将阵列式触觉传感器穿戴于载体上,所述阵列式触觉传感器是由m行n列的电极形成的阵列,行列之间的行列交点处设置有介电层;启动上位机和嵌入式微控制器;
[0010]
动作设计者采用标准动作向m个参与者演示施加于阵列式触觉传感器的r种特征动作;再令m个参与者分别将r种特征动作按照动作设计者演示的标准动作施加于阵列式触觉传感器,每种特征动作重复n次;
[0011]
每个参与者以一种特征动作施加于阵列式触觉传感器一次的输出信号记为一个训练样本,则得到p=r
×
m
×
n个训练样本;每个训练样本中的每一帧包含u
×
u个压力数据,分别对应m行
×
n列的阵列式触觉传感器的各个行列交点处的压力值,压力矩阵若存在缺失位置则用0补全;u为m和n中的最大值;压力矩阵为阵列式触觉传感器各个行列交点处的压力值形成的矩阵;
[0012]
嵌入式微控制器实时采集阵列式触觉传感器的输出信号并传输到上位机中储存;上位机实时显示阵列式触觉传感器的各个行列交点处的压力值以及总压力值随时间的变化曲线;总压力值为各个行列交点处受到的压力值之和;
[0013]
(2)在上位机中计算各个训练样本的每一帧各自所包含的压力数据的和值,选取每个训练样本中各自的压力数据和值最大的一帧包含的u
×
u个压力数据组成特征动作数据集{rp},作为训练卷积神经网络时的输入;特征动作数据集{rp}中包含p组u
×
u个压力数据;
[0014]
(3)在上位机中构建卷积神经网络;再用特征动作数据集{rp}训练卷积神经网络;训练完成后,得到卷积神经网络模型集合,从中选取验证集准确率最高的卷积神经网络模型;
[0015]
(4)将卷积神经网络模型转化为编程文件,编程文件中包含应用程序编程接口;
[0016]
第二步、设计判别算法进行动作识别;
[0017]
(1)在上位机中对adc模块进行编程,在adc模块中设定压力阈值、压力作用时间阈值、总压力阈值和压力矩阵质心移动距离阈值;
[0018]
(2)将编程后的adc模块和第一步得到的编程文件嵌入到嵌入式微控制器中;
[0019]
(3)嵌入式微控制器实时检测阵列式触觉传感器各个行列交点处的压力值,再在嵌入式微控制器中计算得到压力作用时间、总压力值和压力矩阵质心移动距离;再通过判别算法进行动作识别,得到识别结果。
[0020]
与现有技术相比,本发明有益效果在于:
[0021]
1、本识别系统采用阵列式触觉传感器具有良好的柔性、高灵敏度、可靠性高,且量程大及成本低等优势。
[0022]
2、本发明建立了一个包含12种人机交互动作的数据集,该数据集的采集面向众多人群,动作种类多且复杂,满足泛化能力,目前没有用于人机交互的动作数据集。
[0023]
3、本发明设计了能够实现多分类(即能够多种动作识别)的卷积神经网络构架,并将神经网络模型移植到嵌入式微控制器中,实现了微型化、小型化,有了更多的应用场景;卷积神经网络由于容错性好、鲁棒性强,相对于传统的机器学习算法(如svm)准确率更高。
[0024]
4、本发明的动作识别方法采用了判别算法这一人工智能算法,识别结果由卷积神经网络模型与动作特征阈值判断共同得出,提高了最终识别的准确率。
[0025]
5、本识别系统具有对人-机物理接触过程中触觉信息测量、数据采集和储存、信息特征提取、动作识别等功能,通过参与者施加不同的特征动作到触觉传感器上对触觉信息数据进行采集,并对数据进行特征提取,建立一个神经网络在上位机中训练,通过将判别算法嵌入到微控制器中,从而实现对特征动作的模式识别,识别出人施加给载体的动作。
[0026]
6、本发明实现了机器人终端智能化即底层智能化,其判别算法在嵌入式微控制器中实现,而不占用上位机的大量资源,减轻了上位机的运算负担,减小触觉信息带来的计算资源占用和延迟;终端智能化可实现分布式的传感与识别,在理论上可以实现无数终端智能化传感器同时并行感知与识别。
[0027]
7、本识别系统搭建方法简单,易于操作。由于参考人可根据实际情况自主搭建或扩充数据集,并且卷积神经网络也可以由参考人自主搭建,所以本识别系统的算法具备基于新数据库的学习能力。本发明可用于智能机器人进行人机交互等领域,本系统以及方法具备通用性好、识别率高等特点,具备极高的应用和社会价值。
附图说明
[0028]
图1为本发明的系统整体结构示意框图;
[0029]
图2为本发明的阵列式触觉传感器的结构示意图;
[0030]
图3为本发明的阵列式触觉传感器的行列交点处的结构示意图;
[0031]
图4为本发明实施例1的卷积神经网络构架图;
[0032]
图5为本发明实施例1的识别测试结果图。
[0033]
图中:1、阵列式触觉传感器;2、嵌入式微控制器;3、上位机;101、电极;102、介电层。
具体实施方式
[0034]
下面给出本发明的具体实施例。具体实施例仅用于进一步详细说明本发明,不限制本申请权利要求的保护范围。
[0035]
本发明提供了一种机器人触觉动作识别系统(简称识别系统),其特征在于,该识别系统包括阵列式触觉传感器1、嵌入式微控制器2和上位机3;所述阵列式触觉传感器1穿戴在载体上,阵列式触觉传感器1和嵌入式微控制器2通过有线连接,嵌入式微控制器2与上位机3通过有线或者无线方式连接;嵌入式微控制器2与上位机3有线连接时,上位机3为嵌入式微控制器2提供电源;嵌入式微控制器2与上位机3无线连接时,嵌入式微控制器2需要外接电源;嵌入式微控制器2通过电路板引脚为阵列式触觉传感器1提供电源。
[0036]
所述载体用于支撑和搭载阵列式触觉传感器1;
[0037]
所述阵列式触觉传感器1用于采集参与者执行的动作,将压力信号转化为电信号输入到嵌入式微控制器2中;
[0038]
所述嵌入式微控制器2用于接收阵列式触觉传感器1采集的压力信息,并通过判别算法对特征动作进行识别,然后将压力信息以及识别结果通过有线(串口或者并口通讯)或者无线通讯(无线网络、蓝牙bluetooth、近场通讯nfc等)发送到上位机3;
[0039]
所述上位机3对从嵌入式微控制器2接收到的压力值数据及动作识别结果进行保存和显示;
[0040]
所述阵列式触觉传感器1是由行列电极101形成的阵列,其原理为压阻式、电容式、超级电容式、压电式、有机晶体管等传感原理,行列之间的行列交点处设置有介电层102;所述介电层102为离子凝胶纤维层。
[0041]
本发明同时提供了一种基于所述机器人触觉动作识别系统的动作识别方法(简称识别方法),其特征在于,该识别方法包括以下步骤:
[0042]
第一步、训练卷积神经网络;
[0043]
(1)将阵列式触觉传感器1穿戴于载体上,所述阵列式触觉传感器1是由m行n列的电极101形成的阵列,行列之间的行列交点处设置有介电层102;启动上位机3和嵌入式微控制器2,并设置嵌入式微控制器2的采样频率为xhz,设置上位机3的数据储存方式为连续储存;
[0044]
动作设计者采用标准动作向m个参与者演示施加于阵列式触觉传感器1的r种特征动作;再令m个参与者分别将r种特征动作按照动作设计者演示的标准动作施加于阵列式触觉传感器1,每种特征动作重复n次;
[0045]
每个参与者以一种特征动作施加于阵列式触觉传感器1一次的输出信号记为一个训练样本,则得到p=r
×
m
×
n个训练样本;每个训练样本中的每一帧包含u
×
u个压力数据,u为m和n中的最大值,分别对应m行
×
n列的阵列式触觉传感器1的各个行列交点处的压力值,压力矩阵若存在缺失位置则用0补全;压力矩阵为阵列式触觉传感器1各个行列交点处的压力值形成的矩阵;
[0046]
嵌入式微控制器2实时采集阵列式触觉传感器1的输出信号并传输到上位机3中储存;上位机3实时显示阵列式触觉传感器1的各个行列交点处的压力值以及总压力值随时间的变化曲线;总压力值为各个行列交点处受到的压力值之和;
[0047]
(2)在上位机3中计算各个训练样本的每一帧各自所包含的压力数据的和值,选取每个训练样本中各自的压力数据和值最大的一帧包含的u
×
u个压力数据组成特征动作数据集{rp}并进行数据筛选去掉错误的帧,作为训练卷积神经网络时的输入;特征动作数据集{rp}中包含p组u
×
u个压力数据;
[0048]
优选地,分别将p组u
×
u个压力数据存储到名称为i_j的任何程序可读取格式的文件中,便于卷积神经网络在训练时的读取,其中i代表第i种动作特征,1≤i≤r,j代表第i种动作的第j个数据,1≤j≤m
×
n。
[0049]
(3)在上位机3中使用深度学习框架构建卷积神经网络;再用特征动作数据集{rp}训练卷积神经网络;训练完成后,得到卷积神经网络模型集合,从中选取验证集准确率最高的卷积神经网络模型并保存;
[0050]
优选地,卷积神经网络的训练方法是:将特征动作数据集{rp}中每种特征动作的前a%的数据作为训练集,后(1-a)%的数据作为验证集;训练卷积神经网络,得到卷积神经网络模型集合,从中选取验证集准确率最高的卷积神经网络模型,保存此卷积神经网络模
型为相应的格式。
[0051]
优选地,构建卷积神经网络过程中,通过数据增强、调整网络参数等方法,进一步提高卷积神经网络的准确性。
[0052]
(4)利用初始化代码生成器将卷积神经网络模型转化为适用于电子设计自动化软件的编程文件,编程文件中包含应用程序编程接口(application programming interface,api);api是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节。
[0053]
第二步、设计判别算法进行动作识别;
[0054]
(1)在上位机3中对微控制器软件开发工具中的adc(模拟数字转换器)模块进行编程,在adc模块中设定压力阈值、压力作用时间阈值、总压力阈值和压力矩阵质心移动距离阈值;
[0055]
由于无动作时阵列式触觉传感器1有压力噪音,因此压力阈值大于无动作时压力噪声的大小;对于压力作用时间阈值,在施加应激动作时发现应激动作的压力作用时间在200ms以内;总压力阈值通过动作过程实验观察总压力的变化获得;由于卷积神经网络的输入为一帧压力数据而不包含动作随时间的移动信息,在识别移动动作时容易与非移动的相似动作产生混淆,所以需要设定压力矩阵质心移动距离阈值,压力矩阵质心移动距离阈值需通过经验与实际实验测试确定;
[0056]
(2)通过程序烧录工具将编程后的adc模块和第一步得到的编程文件嵌入到嵌入式微控制器2中;
[0057]
(3)嵌入式微控制器2实时检测阵列式触觉传感器1各个行列交点处的压力值,再在嵌入式微控制器2中计算得到压力作用时间、总压力值和压力矩阵质心移动距离;再通过判别算法进行动作识别,得到识别结果并传输到上位机3中显示。
[0058]
压力作用时间是在压力值≥压力阈值之后开始计时直至压力值<压力阈值时结束计时得到的;压力矩阵质心移动距离为压力作用时间阈值时得到的压力矩阵质心与之后得到的压力矩阵质心之间的距离,其中压力矩阵质心的横坐标x与纵坐标y的计算公式:其中,
[0059][0060]
其中,f(a,b)代表阵列式触觉传感器第a行第b列的压力值,1≤a≤u,1≤b≤u。
[0061]
优选地,判别算法是:通过各个行列交点处的压力值与压力阈值的比较来判别是否施加动作;当确定施加动作时,通过压力作用时间与压力作用时间阈值的比较来判别施加动作是否为应激动作;当确定施加动作为应激动作时,通过总压力值与总压力阈值的比较来判别动作施加力的大小以确定应激动作的类型;当确定施加动作不是应激动作时,经过卷积运算得到初步识别结果,再通过压力矩阵质心移动距离与压力矩阵质心移动距离阈值的比较来判别卷积神经网络模型易混淆的相似动作,来进一步修正初步识别结果,得到最终识别结果。
[0062]
优选地,判别算法具体是:当各个行列交点处的压力值<压力阈值时,没有施加动作;
[0063]
当各个行列交点处的压力值≥压力阈值时且压力作用时间≤压力作用时间阈值时,认定为施加应激动作;再通过总压力值与总压力阈值的比较来判别应激动作的类型;当总压力值<总压力阈值时认定为压力小的应激动作,当总压力值≥总压力阈值时认定为压力大的应激动作;
[0064]
当各个行列交点处的压力值≥压力阈值且压力作用时间>压力作用时间阈值时,将超过压力作用时间阈值后得到的各个行列交点处的压力值实时输入编程文件的卷积神经网络模型中,经过卷积运算得到初步识别结果;再结合初步识别结果并通过压力矩阵质心移动距离与压力矩阵质心移动距离阈值的比较来判别卷积神经网络模型易混淆的相似动作,来进一步修正初步识别结果,从而提高了准确率,得到最终识别结果。
[0065]
实施例1
[0066]
本实施例中,第一步的(1)中,载体为机器人前臂,m=32,n=32,x=100,m=25,r=12,n=40(右手20次、左手20次),p=12000,u=32。12种特征动作选择为拉、捏、推、握、抓、戳、拽、击打、抚摸、挠、轻拍、滑动。嵌入式微控制器2与上位机3通过usb数据线连接。
[0067]
第一步的(2)中,i_j的任何程序可读取格式的文件的格式类型为i_j.txt、i_j.xls或i_j.xlsx。
[0068]
第一步的(3)中,深度学习框架采用pytorch深度学习框架。a=80,验证集准确率最高为94.57%。卷积神经网络模型的保存格式为.tflite。
[0069]
由图4可以看出,卷积神经网络构架由七层卷积层和一个池化层组成,c代表通道数,s代表卷积步长。第一层卷积层输入为32
×
32的压力数据矩阵,经过卷积核大小为3,通道为32,步长为2的卷积后,得到16
×
16
×
32的输出作为下一层的输入。以此类推,每一层卷积层的输出作为下一层的输入,经过七层卷积和一次池化运算后,最后的输出层设置为12个分类结果。
[0070]
第一步的(4)中,利用初始化代码生成器(initialization code generator)stm32cubemx的扩展包stm32cube.ai将保存格式为.tflite的卷积神经网络模型转化为适用于keil ide的编程文件
[0071]
第二步的(1)中,压力阈值设定为0.5n,总压力阈值设定为5n,压力作用时间阈值设定为200ms。对于应激动作,压力小的应激动作为轻拍动作,压力大的应激动作为击打动作。
[0072]
12种特征动作选择为拉、捏、推、握、抓、戳、拽、击打、抚摸、挠、轻拍、滑动。其中,应激动作为击打和轻拍,其他为非应激动作;非应激动作中卷积神经网络模型易混淆的相似动作为:握、拽与滑动,拉与抚摸,抓与挠。
[0073]
握、拽与滑动中压力矩阵质心移动距离阈值为8mm和18mm,即初步识别结果为握、拽与滑动中的任意一个,当压力矩阵质心移动距离<8mm时最终识别结果修正为握,当8mm≤压力矩阵质心移动距离<18mm时最终识别结果修正为拽,当压力矩阵质心移动距离≥18mm时最终识别结果修正为滑动。
[0074]
拉与抚摸中压力矩阵质心移动距离阈值为6mm,即初步识别结果为拉与抚摸中的任意一个,当压力矩阵质心移动距离<6mm时最终识别结果修正为拉,当压力矩阵质心移动距离≥6mm时最终识别结果修正为抚摸。
[0075]
抓与挠中压力矩阵质心移动距离阈值为5mm,即初步识别结果为抓与挠中的任意
一个,当压力矩阵质心移动距离<5mm时最终识别结果修正为抓,当压力矩阵质心移动距离≥5mm时最终识别结果修正为挠。
[0076]
第二步的(2)中,程序烧录工具为stm32cubeprogrammer。
[0077]
第二步的(3)中,选取10个测试者(测试者为不在建立数据库中的人员)进行触觉动作实时识别测试,每种动作重复5遍,嵌入式微控制器2采集阵列式触觉传感器1的压力信息,并通过判别算法计算输出每个动作的识别结果并传输到上位机3中显示。最终测试的混淆矩阵如图5所示,准确率可达94.5%。
[0078]
本发明未述及之处适用于现有技术。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1