可左右滑动选省市

一种无人系统手势控制方法发明专利

更新时间:2024-10-01
一种无人系统手势控制方法发明专利 专利申请类型:发明专利;
地区:河北-石家庄;
源自:石家庄高价值专利检索信息库;

专利名称:一种无人系统手势控制方法

专利类型:发明专利

专利申请号:CN202111388646.8

专利申请(专利权)人:中国电子科技集团公司第五十四研究所
权利人地址:河北省石家庄市中山西路589号第五十四所遥控遥测专业部

专利发明(设计)人:崔唯佳,刘厦,杜明,宗茂,李思男,何文志,刘彤,于昌立,范书瑞

专利摘要:本发明公开了一种无人系统手势控制方法及系统,属于无人系统交互控制领域。本发明采用FLEX弯曲度传感器测量手指弯曲度,通过LSTM和卷积混合神经网络进行手势识别,根据手势识别结果生成无人机指令,并与无人系统控制器建立有效的MAVLINK通信,将无人机指令无线发送到无人系统控制器端执行。本发明方法简单,易于实现,手势识别的过程在手套端进行,脱离了计算机,并且准确度高,能实时、灵敏地控制无人系统运行。

主权利要求:
1.一种无人系统手势控制方法,其特征在于,基于数据手套识别手势并对无人系统进行控制,包括以下步骤:(1)通过数据手套中的FLEX弯曲度传感器测量手指弯曲度;具体方式为:
通过数据手套中的微处理器对五个通道FLEX弯曲度传感器进行电阻值测量,根据五个通道FLEX弯曲度传感器电阻值大小判别对应五个手指弯曲角度;
(2)采用LSTM和卷积混合神经网络进行静态手势和动态手势的识别;
所述LSTM和卷积混合神经网络包括一维卷积层Conv1D1、一维最大池化层MaxPooling1D1、一维卷积层Conv1D2、一维最大池化层MaxPooling1D2、LSTM1层、Dropout1层、LSTM2层、Dropout2层以及全连接层Dense;其中,Conv1D1输出数据的维度为
32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,采用Relu作为激活函数;
MaxPooling1D1的池化内核大小为2×2,池化步长为1,填充方式为vaild不填充;Conv1D2输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,采用Relu作为激活函数;MaxPooling1D2的池化内核大小为2×2,池化步长为1,填充方式为vaild不填充;LSTM1层的数据输出维度设定为32;Dropout1层设定dropout的比例为50%;LSTM2层数据输出维度设定为64;Dropout2层设定dropout的比例为50%;Dense1采用softmax多分类函数作为激活函数,进行静态或动态手势的分类,实现由特征到类别的映射;
所述LSTM和卷积混合神经网络运行于数据手套的微处理器中;所述LSTM和卷积混合神经网络事先经过训练,训练方式为:采集10名志愿者的静态手势数据,经过数据处理之后作为静态手势数据集,放入微处理器的LSTM和卷积网络中进行训练;训练时,输入数据的大小为8000×60×5;其中,8000表示8000个训练数据,即,8种动态手势,10名志愿者,每个手势各做100次;60表示一个动态手势包含60个时间序列;5表示FLEX弯曲度传感器的五个通道,即每个手势的五个特征;
采集10名志愿者的动态手势数据,经过数据处理之后作为动态手势数据集,放入微处理器的LSTM和卷积网络中进行训练;训练时,输入数据的大小为5000×180×5;其中,5000表示5000个训练数据,即,5种动态手势,10名志愿者,每个手势各做100次;180表示一个动态手势包含180个时间序列;5表示FLEX弯曲度传感器的五个通道,即每个手势的五个特征;
步骤(2)的具体方式为:
(201)采用LSTM和卷积混合神经网络进行8种静态手势的识别,8种静态手势包括:油门加、油门减、俯冲、后仰、左滚转、右滚转、左偏航、右偏航;
(202)采用LSTM和卷积混合神经网络进行5种动态手势的识别,5种动态手势包括:解锁、上锁、切换自稳模式、切换定点模式、切换返航模式;
(3)根据手势识别结果生成无人机指令,并与无人系统控制器建立有效的MAVLINK通信;
(4)通过MAVLINK通信向无人系统控制器发送无人机指令;具体方式为:
使用mavlink_msg_manual_control向无人系统控制器发送基本操作指令;
使用mavlink_msg_command_long向无人系统控制器发送特定操作中的解锁或上锁指令;
使用mavlink_msg_set_mode向无人系统控制器发送特定操作中的切换自稳模式、切换定点模式或切换返航模式指令。
2.根据权利要求1所述的一种无人系统手势控制方法,其特征在于,8种静态手势对应的无人机指令为基本操作,5种动态手势对应的无人机指令为特定操作。 说明书 : 一种无人系统手势控制方法技术领域[0001] 本发明属于手势识别和无人系统交互控制技术领域,特别是指一种无人系统手势控制方法及系统。背景技术[0002] 随着无人机技术的不断发展和进步,无人系统的应用领域越来越广泛。传统的无人系统人为的通过无人系统控制器控制无人机的飞行动作,随着人工智能的发展,出现了一种智能无人系统控制方法。[0003] 例如,专利CN111966217A公布了一种基于手势和眼动的无人机控制方法和系统,数据手套将运动手势发送给混合现实眼镜,由混合现实眼镜识别手势并控制无人机和锁定目标。这种方法虽然可以精确地控制无人机检测和锁定目标,并加强虚拟现实环境体验感,但是手势数据采集的准确性得不到保障。为此,专利CN109144272A公布了一种基于数据手套手势识别的四旋翼无人机控制方法,通过在手套上安装位姿测量设备来采集人手手势数据,然后传感计算机进行手势识别,进一步控制四旋翼无人机的飞行。专利CN108255303B公布了一种基于自制数据手套的手势识别方法,也是通过上位机将数据手套采集到的手势数据进行处理以及手势识别,最终在上位机中显示出对应的手势。此外,专利CN111752393A公布了一种穿戴式智能手套,该发明虽然可以跟踪捕捉灵活的手势姿态变化,实时地将数据传送到微处理器,但是也需要数据通讯单元将数据传送给上位机,在上位机中呈现手部运动,进行人机交互。虽然这些方法均实现了手势控制,但是都需要借助混合现实眼镜或者计算机等附加设备完成对无人机的远程控制,同时所能控制的飞行状态种类较少。发明内容[0004] 考虑到现有无人系统控制方法的不足,本发明提出一种无人系统手势控制方法及系统,其基于LSTM和卷积混合神经网络,采用低成本、可穿戴、轻量化的手势识别装置对无人系统进行控制,无附加中间设备,可实现无人机远程控制。[0005] 为实现上述目的,本发明提供了如下方案:[0006] 一种无人系统手势控制方法,基于数据手套识别手势并对无人系统进行控制,包括以下步骤:[0007] (1)通过数据手套中的FLEX弯曲度传感器测量手指弯曲度;[0008] (2)采用LSTM和卷积混合神经网络进行静态手势和动态手势的识别;[0009] (3)根据手势识别结果生成无人机指令,并与无人系统控制器建立有效的MAVLINK通信;[0010] (4)通过MAVLINK通信向无人系统控制器发送无人机指令。[0011] 进一步的,所述LSTM和卷积混合神经网络包括一维卷积层Conv1D1、一维最大池化层MaxPooling1D1、一维卷积层Conv1D2、一维最大池化层MaxPooling1D2、LSTM1层、Dropout1层、LSTM2层、Dropout2层以及全连接层Dense;其中,Conv1D1输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,采用Relu作为激活函数;MaxPooling1D1的池化内核大小为2×2,池化步长为1,填充方式为vaild不填充;Conv1D2输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,采用Relu作为激活函数;MaxPooling1D2的池化内核大小为2×2,池化步长为1,填充方式为vaild不填充;LSTM1层的数据输出维度设定为32;Dropout1层设定dropout的比例为50%;LSTM2层数据输出维度设定为64;Dropout2层设定dropout的比例为50%;Dense1采用softmax多分类函数作为激活函数,进行静态或动态手势的分类,实现由特征到类别的映射。[0012] 进一步的,步骤(1)的具体方式为:[0013] 通过数据手套中的微处理器对五个通道FLEX弯曲度传感器进行电阻值测量,根据五个通道FLEX弯曲度传感器电阻值大小判别对应五个手指弯曲角度。[0014] 进一步的,步骤(2)的具体方式为:[0015] (201)采用LSTM和卷积混合神经网络进行8种静态手势的识别,8种静态手势包括:油门加、油门减、俯冲、后仰、左滚转、右滚转、左偏航、右偏航;[0016] (202)采用LSTM和卷积混合神经网络进行5种动态手势的识别,5种动态手势包括:解锁、上锁、切换自稳模式、切换定点模式、切换返航模式。[0017] 进一步的,所述LSTM和卷积混合神经网络运行于数据手套的微处理器中;所述LSTM和卷积混合神经网络事先经过训练,训练方式为:[0018] 采集10名志愿者的静态手势数据,经过数据处理之后作为静态手势数据集,放入微处理器的LSTM和卷积网络中进行训练;训练时,输入数据的大小为8000×60×5;其中,8000表示8000个训练数据,即,8种动态手势,10名志愿者,每个手势各做100次;60表示一个动态手势包含60个时间序列;5表示FLEX弯曲度传感器的五个通道,即每个手势的五个特征;[0019] 采集10名志愿者的动态手势数据,经过数据处理之后作为动态手势数据集,放入微处理器的LSTM和卷积网络中进行训练;训练时,输入数据的大小为5000×180×5;其中,5000表示5000个训练数据,即,5种动态手势,10名志愿者,每个手势各做100次;180表示一个动态手势包含180个时间序列;5表示FLEX弯曲度传感器的五个通道,即每个手势的五个特征。[0020] 进一步的,8种静态手势对应的无人机指令为基本操作,5种动态手势对应的无人机指令为特定操作。[0021] 进一步的,步骤(4)的具体方式为:[0022] 使用mavlink_msg_manual_control向无人系统控制器发送基本操作指令;[0023] 使用mavlink_msg_command_long向无人系统控制器发送特定操作中的解锁或上锁指令;[0024] 使用mavlink_msg_set_mode向无人系统控制器发送特定操作中的切换自稳模式、切换定点模式或切换返航模式指令。[0025] 一种无人系统手势控制系统,其包括数据手套和无人系统控制器,所述数据手套中具有微处理器和通信模块,数据手套的每根手指处均设置有FLEX弯曲度传感器,所述微处理器用于实现手势识别模块和无人机指令生成模块;[0026] 其中,FLEX弯曲度传感器用于检测手指弯曲程度,并输出信号给微处理器;[0027] 手势识别模块通过LSTM和卷积混合神经网络对手指弯曲程度进行处理、识别,得到静态手势和动态手势;[0028] 无人机指令生成模块,根据手势识别结果,得到无人系统MAVLINK指令;[0029] 通信模块用于向无人系统控制器发送无人系统MAVLINK指令;[0030] 无人系统控制器用于控制无人机飞行。[0031] 进一步的,所述微处理器为stm32嵌入式芯片。[0032] 本发明的有益效果在于:[0033] 1、本发明基于数据手套实现手势识别和指令发送,具有低成本、可穿戴、轻量化的特点。[0034] 2、本发明基于LSTM和卷积混合神经网络进行手势识别,识别准确率高。[0035] 3、本发明采用FLEX弯曲度传感器进行手势智能感知,可以有效且准确地采集手势信息并处理。[0036] 4、本发明通过8个静态手势和5个动态手势,可以分别控制无人机的8个基本操作和5个特定操作。[0037] 5、本发明能够在数据手套端完成传感器数据分析、手势识别和发送指令等工作,使无人机的控制脱离了计算机。附图说明[0038] 为了更清楚地说明本发明实施例或现有技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0039] 图1为本发明实施例中无人系统手势控制方法的流程图;[0040] 图2为本发明实施例中静态手势和基本操作图;[0041] 图2(a)为静态手势,表示油门加;[0042] 图2(b)为静态手势,表示油门减;[0043] 图2(c)为静态手势,表示俯冲;[0044] 图2(d)为静态手势,表示后仰;[0045] 图2(e)为静态手势,表示左滚转;[0046] 图2(f)为静态手势,表示右滚转;[0047] 图2(g)为静态手势,表示左偏航(向左摆动);[0048] 图2(h)为静态手势,表示右偏航(向右摆动);[0049] 图3为本发明实施例中动态手势和特定操作图;[0050] 图3(a)为动态手势,表示解锁;[0051] 图3(b)为动态手势,表示上锁;[0052] 图3(c)为动态手势,表示进行模式切换,进入自稳模式;[0053] 图3(d)为动态手势,表示进入模式切换,进入定点模式;[0054] 图3(e)为动态手势,表示进入模式切换,进入返航模式;[0055] 图4为本发明实施例中在stm32上运行神经网络的流程图;[0056] 图5为本发明实施例中静态及动态手势采集流程图;[0057] 图5(a)为静态手势采集流程图;[0058] 图5(b)为动态手势采集流程图;[0059] 图6为本发明实施例中的神经网络模型结构图。具体实施方式[0060] 下面结合附图和具体实施方式对本发明作进一步详细地说明。[0061] 如图1所示,一种无人系统手势控制方法,包括以下步骤:[0062] 采用FLEX弯曲度传感器测量手指弯曲度;[0063] 采用LSTM和卷积混合神经网络进行8种静态手势的识别;[0064] 采用LSTM和卷积混合神经网络进行5种动态手势的识别;[0065] 与无人系统控制器建立有效的MAVLINK通信,生成无人机指令,实现基于数据手套的无人系统的控制。[0066] 其中,LSTM和卷积混合神经网络包括:一维卷积层Conv1D1、一维最大池化层MaxPooling1D1、一维卷积层Conv1D2、一维最大池化层MaxPooling1D2、LSTM1层、Dropout1层、LSTM2层、Dropout2层以及全连接层Dense。[0067] 对于静态手势,输入数据的大小形状为8000×60×5。8000表示8000组训练数据。60表示一个静态手势包含60个时间序列。5表示flex传感器的五个通道即每个手势的五个特征。Conv1D1为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,选用Relu作为激活函数,最终输出数据的形状为8000×60×32。MaxPooling1D1为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild不填充。经过此层,最终输出数据的形状为8000×30×32。Conv1D2为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,选用Relu作为激活函数,最终输出数据的形状为8000×30×32。MaxPooling1D2为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild不填充。经过此层,最终输出数据的形状为8000×15×32。LSTM1该层数据输出维度设定为32,经过此层,最终输出数据的形状为8000×32。Dropout1层设定dropout的比例为50%。经过此层,最终输出数据的形状为8000×32。LSTM2层数据输出维度设定为64,经过此层,最终输出数据的形状为8000×64。Dropout2层设定dropout的比例为50%,经过此层,最终输出数据的形状为8000×64。Dense1为全连接层,经由softmax多分类函数作为激活函数,进行8种静态手势的分类,实现由特征到类别的映射关系。[0068] 对于动态手势,输入数据的大小形状为5000×180×5。5000表示5000个训练数据。180表示一个动态手势包含180个时间序列。5表示flex传感器的五个通道即每个手势的五个特征。Conv1D1为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,选用Relu作为激活函数,最终输出数据的形状为5000×180×32。MaxPooling1D1为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild不填充。经过此层,最终输出数据的形状为5000×90×32。Conv1D2为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same补零填充,选用Relu作为激活函数,最终输出数据的形状为5000×90×32。MaxPooling1D2为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild不填充。经过此层,最终输出数据的形状为5000×45×32。LSTM1层的数据输出维度设定为32,经过此层,最终输出数据的形状为5000×32。Dropout1层设定dropout的比例为50%。经过此层,最终输出数据的形状为5000×32。LSTM2层数据输出维度设定为64,经过此层,最终输出数据的形状为5000×64。Dropout2层设定dropout的比例为50%。经过此层,最终输出数据的形状为5000×64。Dense1为全连接层,经由softmax多分类函数作为激活函数,进行5种动态手势的分类,实现由特征到类别的映射关系。[0069] 数据手套主要包括传感器测量模块、控制单元、通信模块,控制单元用于实现手势识别模块、无人机指令生成模块。[0070] 传感器测量模块用于检测弯曲度传感器电阻数值,获取手指弯曲程度。可采用FLEXSENSOR2.2弯曲度传感器,通过贴附于手指的五个FLEXSENSOR2.2弯曲度柔性传感器分别采集五根手指第二关节的弯曲度信息。FLEXSENSOR2.2传感器的弯曲程度能够转换成电阻值的变化,弯曲越大,电阻越高。在笔直状态下的电阻为25k欧姆,弯曲状态电阻变化在60k‑110k欧姆。额定功率为0.5瓦。FLEXSENSOR2.2弯曲度传感器通过UART或者IIC方式与控制单元进行通信,将采集到的传感信息汇总到控制单元中进行数据处理。[0071] 控制单元可选用STM32F405RGT6微处理器。利用stm32cubemx对stm32芯片进行图形化配置,在keil5中进行传感器数据的处理,将传感器便于采集的电信号量转换成便于数据处理的角度量。[0072] 通信模块可选用JDY‑18蓝牙模块,采用基于蓝牙4.2协议标准。JDY‑18蓝牙模块的工作频段为2.4GHZ范围、调制方式采用GFSK、最大发射距离为60米、通信方式选用UART或者IIC。配置接收端蓝牙为主模式,发送端蓝牙为从模式,并对两只蓝牙进行绑定。发送端连接在手势动作检测装置端,接收端连接在pixhawk4无人系统控制器的接收串口telem2端。[0073] 使用keil5和stm32cubemx编写程序,对JDY‑18蓝牙传输模块进行配置,对传感器数据进行采集和处理。将FLEXSENSOR2.2弯曲度传感器的电阻值变化,通过程序转换成手指弯曲的角度。接收端蓝牙连接电脑端,在串口助手上显示出五个手指弯曲的角度。最后将焊接好的电路板连接上FLEXSENSOR2.2弯曲度传感器,用3.7v可充电锂电池供电,并固定在一只手套上。[0074] 手势识别模块,用于对手指弯曲程度进行处理,得到静态手势和动态手势。无人机控制的手势分为静态手势和动态手势两大类。其中静态手势有8种,分别为:油门加、油门减、俯冲、后仰、左滚转、右滚转、左偏航(向左摆动)、右偏航(向右摆动);动态手势有5种,分别为:解锁、上锁、模式切换为自稳模式、模式切换为定点模式、模式切换为返航模式。依据控制无人机手势的划分,无人机的操作也被分成基本操作和特定操作两类。将控制静态手势的操作称为基本操作,控制动态手势的操作称为特定操作。[0075] 无人机的基本操作包括油门加减、俯仰、滚转和偏航,这些操作都必须连续发送指令。其中,油门加对应的静态手势如图2(a)所示,油门减对应的静态手势如图2(b)所示,俯冲对应的静态手势如图2(c)所示,后仰对应的静态手势如图2(d)所示,左滚转对应的静态手势如图2(e)所示,右滚转对应的静态手势如图2(f)所示,左偏航对应的静态手势如图2(g)所示,右偏航对应的静态手势如图2(h)所示。[0076] 无人机的特定操作包括无人机的解锁、上锁指令以及飞行模式切换指令,这些操作仅在需要的时候发送指令。例如无人机起飞前,发送解锁指令,降落后发送上锁指令,飞行过程中根据实际情况的需求发送飞行模式切换指令,这均属于不需要连续发送的指令。动态手势包含三个独立的手势,所有动态手势的起始手势均为握拳,解锁和上锁对应的动态手势中的第二个手势为五指半握状,三种飞行模块切换对应的动态手势中的第二个手势为ok状。其中,解锁对应的动态手势如图3(a)所示,上锁的动态手势如图3(b)所示,自稳模式切换的动态手势如图3(c)所示,定点模式切换的动态手势如图3(d)所示,返航模式切换的动态手势如图3(e)所示。[0077] 对于连续操作指令,设定相应的手势指令的标准是易操作、识别迅速和方便操作者记忆。因此应选用单一的手势对应单一的命令。对于非连续操作的特定指令,由于这类特定指令十分的重要,一旦发生错误识别,例如在不适用的情况下使用错误的飞行模式,将会引发十分严重的安全后果,因此设定相应的手势指令的标准是应具有一定复杂度,防止手势捕获装置对于手势指令的误识别。[0078] 《中国手语基本手势》是2009年12月1日实施的一项中国国家标准。该标准规定了与中国手语基本手势相关的定义、中国手语基本手势动作规范及中国手语基本手势使用的一般规则等。本方法选用中国手语基本标准中的汉语手指字母图作为无人机控制手势的备选库,此标准中的手势操作简便、易于理解、便于记忆,十分符合军用无人机手势控制所需要的轻量级手势动作分析方法,并且易于利用端侧设备包含的传感器进行数据检测和手势动作重建。[0079] STM32F405RGT6微处理器上运行神经网络模型,STM32F405RGT6既负责采集数据,又负责将采集到的手部姿态数据输入到神经网络模型中进行分类。在stm32芯片上运行神经网络模型,依赖于X‑CUBE‑AI扩展包。X‑CUBE‑AI是STM32Cube.AI生态系统的STM32Cube扩展软件包的一部分,通过自动转换预训练的神经网络并将生成的优化库集成到用户的项目中,扩展了STM32CubeMX功能。也就是通过X‑Cube‑AI扩展将当前比较热门的AI框架进行C代码的转化,以支持在嵌入式设备stm32芯片上使用。整体流程如图4所示,先在PC端搭建基于keras框架的神经网络模型,采集手势数据并划分为训练集和测试集,进行分类训练。再将训练好的模型.h5文件,通过stm32cubemx以及X‑CUBE‑AI将.h5模型文件导入到数据手套的keil5工程中,再在keil5工程文件中调用该神经网络的API,以实现在STM32F405RGT6芯片上运行神经网络的目的。[0080] 在训练数据采集过程中,每个人的手部骨骼结构不完全相同,手指的可弯曲程度也不相同,即使做同一个手势,每个人都有各自不同的习惯。为了保证数据手套对于不同操作者的鲁棒性以及适应性,在为神经网络的训练集采集数据时应采集多个志愿者的手部数据,使得数据手套的手势识别具有多元广泛性。为此,采集10名志愿者的数据,一共13种操作手势,采集每人每种手势各100次,由此构成神经网络的数据集。其中有静态手势8种,动态手势5种,动态手势是由3个独立手势组成的手势组。静态手势需要较高的操作频率,而动态手势需要的操作频率较低,因此采用不同的采样频率对静态手势和动态手势分别进行采样。静态手势采样时,每个独立手势之间间隔2s,每个独立手势持续1s。动态手势采样时,每个手势组之间间隔2s,每个手势组持续3s。数据手套上多种传感器的数据采样频率不同,选取其中最低的采样频率60hz作为数据手套整体的传感器采样频率,即一秒钟可以获得60条包含所有传感器数据的手部姿态信息。静态手势采样时,每个独立手势包含60条数据,间隔包含120条数据。动态手势采样时,每个手势组包含180条数据,间隔包含120条数据。接下来处理数据并对数据集贴标签。静态手势数据集中,将每个间隔期间的120条数据删除,将独立手势内的60条数据标为一个静态手势标签。动态手势数据集中,将每个间隔期间的120条数据删除,将手势组内的180条数据标为一个动态手势标签。静态手势数据集与动态手势数据集将分开训练,都是选取各自的75%作为训练集,25%作为测试集。如图5(a)为静态手势采集流程,图5(b)为动态手势采集流程。[0081] LSTM和卷积混合神经网络的结构如图6所示。[0082] 对于静态手势数据集,输入数据的大小形状为8000×60×5。其中,8000表示8000个训练数据,8种动态手势,10名志愿者,每个手势各做100次;60表示一个动态手势包含60个时间序列;5表示flex传感器的五个通道即每个手势的五个特征。Conv1D1为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same(补零填充),选用relu作为激活函数,最终输出数据的形状为8000×60×32。MaxPooling1D1为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild(不填充)。经过此层,最终输出数据的形状为8000×30×32。Conv1D2为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same(补零填充),选用relu作为激活函数,最终输出数据的形状为8000×30×32。MaxPooling1D2为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild(不填充)。经过此层,最终输出数据的形状为8000×15×32。LSTM1层数据输出维度设定为32,经过此层,最终输出数据的形状为8000×32。Dropout1层设定dropout的比例为50%。经过此层,最终输出数据的形状为8000×32。LSTM2层数据输出维度设定为64,经过此层,最终输出数据的形状为8000×64。Dropout2层设定dropout的比例为50%,经过此层,最终输出数据的形状为8000×64。Dense1为全连接层,经由softmax多分类函数作为激活函数,进行8种静态手势的分类,实现由特征到类别的映射关系。[0083] 对于动态手势数据集,输入数据的大小形状为5000×180×5。其中,5000表示5000个训练数据,5种动态手势,10名志愿者,每个手势各做100次;180表示一个动态手势包含180个时间序列;5表示flex传感器的五个通道即每个手势的五个特征。Conv1D1为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same(补零填充),选用relu作为激活函数, ,最终输出数据的形状为5000×180×32。MaxPooling1D1为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild(不填充)。池化可以使输入的特征获得平移不变性,提取主要特征,并能有效减少输入到下层的特征数,减少模型整体的参数数量和计算量。经过此层,最终输出数据的形状为5000×90×32。Conv1D2为一维卷积层,输出数据的维度为32,卷积核的大小为7×7,步长为1,填充方式为same(补零填充),选用relu作为激活函数,最终输出数据的形状为5000×90×32。MaxPooling1D2为一维最大池化层,池化内核大小为2×2,池化步长为1,填充方式为vaild(不填充)。经过此层,最终输出数据的形状为5000×45×32。LSTM1是一种基于传统RNN改进结构之后的变体,同样具备对时间依赖性特征的提取能力,同时避免了传统RNN可能出现的梯度消失和梯度爆炸。在此模型中,经过卷积层提取的手势数据在LSTM层会按照数据采集的时间顺序,一帧一帧地正向输入到LSTM网络中。利用LSTM对时间序列的时间依赖性特征提取能力,构建动态手势前后的动作联系,最终可得到动态手势数据的对应表达。该层数据输出维度设定为32,经过此层,最终输出数据的形状为5000×32。Dropout1层的作用为抑制模型过拟合现象,减少输入到下一层的参数量,简化网路结构。设定dropout的比例为50%。经过此层,最终输出数据的形状为5000×32。LSTM2层数据输出维度设定为64,经过此层,最终输出数据的形状为5000×64。Dropout2层设定dropout的比例为50%。经过此层,最终输出数据的形状为5000×64。Dense1为全连接层,经由softmax多分类函数作为激活函数,进行5种动态手势的分类,实现由特征到类别的映射关系。[0084] 无人机指令生成模块,用于通过对静态手势和动态手势的识别,得到无人系统MAVLINK指令。本实施例中的无人协同系统是基于pixhawk4无人系统控制器的无人机系统。其中pixhawk4无人系统控制器板可兼容APM和PX4两套固件。本实施例使用的是PX4固件进行开发。PX4固件中包含两种基本的通信协议,对内的UORB通信协议和对外的MAVLINK通信协议。在手势捕获装置采集到数据,并完成手势识别之后,将不同的手势与对应的无人机控制命令相互标定;再将无人机控制命令封装成MAVLINK通信协议所规定的标准数据帧,由无线蓝牙模块向外发送;Pixhawk4的telemetry2接口连接蓝牙的接收端,无人系统控制器接收到手势捕获装置发送来的MAVLINK命令之后就可以控制飞机做出相应的响应。[0085] MAVLINK是无人系统控制器与一切外部设备进行通信的通信协议,PX4/APM都是采用MAVLINK协议实现的无人系统控制器的数据链路传输。MAVLINK协议本质是发送包含mavlink message的数据帧,MAVLINK源码中已经定义了多种用于载具通信的mavlinkmessage,用户也可以用MAVLINK生成器自定义mavlinkmessage。每一个mavlinkmessage对应一个messageID。MAVLINK官方目前有v1和v2两个版本,v2向下兼容v1。本发明采用MAVLINK的v2版本,将mavlink_v2源码通过keil5移植到stm32工程中。[0086] 通信模块,用于发送对无人系统的MAVLINK指令,控制无人机飞行。在无人系统控制器与数据手套之间建立有效的连接之后,用包含mavlinkmessage的数据帧向无人系统控制器发送控制命令。无人机的基本操作包括油门的加减、俯仰、滚转、偏航,无人机的解锁与上锁以及无人机飞行模式的切换。官方的mavlink_v2源码中包含三个mavlinkmessage,mavlink_msg_manual_control、mavlink_msg_command_long和mavlink_msg_set_mode。选用mavlink_msg_manual_control向无人系统控制器发送基本的手动控制指令,以此来向无人系统控制器发送油门、俯仰、滚转和偏航的指令。选用mavlink_msg_command_long向无人系统控制器发送解锁和上锁的控制指令。选用mavlink_msg_set_mode向无人系统控制器发送切换模式的控制指令。[0087] 总之,本发明方法简单,易于实现,手势识别的过程在手套端进行,不需要借助计算机等附加设备可以直接通过数据手套完成对无人机的远程控制,从而脱离了计算机。此外,本发明准确度高,能实时、灵敏地控制无人系统运行,且有8种静态手势和5种动态手势,所能控制的飞行状态种类相对较多。

专利地区:河北

专利申请日期:2021-11-22

专利公开日期:2024-07-26

专利公告号:CN114115537B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部