本发明涉及无人机控制领域,尤其涉及一种利用手势控制无人机的方法,设备及可读存储介质。
背景技术:
当前无人机已经不单单应用于军事,民用也得到了广泛的使用。无人机的控制是使用无人机至关重要的一方面,因为无人机通常是需要远程控制,这样就需要控制的准确度和精准度。目前多数无人机的操控都是通过无人机来实现。
用户使用遥控器控制无人机,可能需要深入熟悉无人机遥控器舵机的使用,油门灵敏度等,并进行大量的模拟操作以及实地飞行操作才能掌握,避免事故发生。目前的无人机遥控器远程控制需要有一定的专业既能,而且操作较为复杂,新手适应时间长,操作也不直观。所以使用遥控器远程控制无人机弊端较多,无法灵活操作,用户上手较为复杂。
技术实现要素:
为了克服上述现有技术中的不足,本发明提供一种利用手势控制无人机的方法,方法包括:
s1,将体感控制器连接至控制终端;
s2,在无人机端,将无线通信模块与单片机相连,接收控制数据;
s3,将单片机的输出与无人机的飞控、机械手的控制端相连;
s4,体感控制器接收无人机手势控制信息,将无人机手势控制信息传输至单片机;
s5,单片机接收无人机手势控制信息,并执行。
基于上述方法本发明还提供一种实现利用手势控制无人机的方法的设备,包括:
存储器,用于存储计算机程序及利用手势控制无人机的方法;处理器,用于执行所述计算机程序及利用手势控制无人机的方法,以实现利用手势控制无人机的方法的步骤。
基于上述方法本发明还提供一种具有利用手势控制无人机的方法的可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现利用手势控制无人机的方法的步骤。
基于上述方法本发明还提供一种实现利用手势控制无人机的方法的设备,包括:存储器,用于存储计算机程序及利用手势控制无人机的方法;处理器,用于执行所述计算机程序及利用手势控制无人机的方法,以实现利用手势控制无人机的方法的步骤。
基于上述方法本发明还提供一种具有利用手势控制无人机的方法的可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现利用手势控制无人机的方法的步骤。
从以上技术方案可以看出,本发明具有以下优点:
本发明涉及的利用手势控制无人机的方法,是将手势识别技术与无人机相结合进行控制。通过绑定视野范围能的手、手指或者工具来提供手势及坐标的实时数据。使用c++并结合leapmotionv2sdk库将双目识别到的数据进行处理,同时通过nrf24l01对数据进行收发。在无人机端将收到的数据进行处理来改变无人机的飞行状态。本发明可通过对根据手势的姿态进行相应的飞行状态,精确度高,避免了使用遥控器远程控制无人机弊端较多,无法灵活操作,用户上手较为复杂的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为利用手势控制无人机的方法流程图;
图2为利用手势控制无人机的方法实施例示意图。
具体实施方式
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明涉及的利用手势控制无人机的方法用于无人机的控制,如图1所示,其中,无人机可以包括所需要的传感器比如磁强计、惯性传感器、超声波传感模块、激光测距传感模块、图像传感模块等。还涉及无人接飞行所用的各种元件比如机翼,机身等等。无人机可以将飞行过程中的姿态信息、高度数据、航向数据、图像数据、距离数据等发送给控制终端,便于无人机做自身的调整。
如果无人机在飞行过程中,遇到刮风影响时,利用惯性传感器可以检测出无人机的姿态数据发生变化,通过获取姿态数据后调整自身姿态以保证按照操控指令飞行。
如果无人机飞行过程中某个方向遇到障碍物时,可以利用距离传感器检测出与障碍物的距离,从而通过体感控制器接收无人机手势控制信息,将无人机手势控制信息传输至单片机;迅速做出避障动作,从而保证机身不损伤。
具体的,方法包括:
s1,将体感控制器连接至控制终端;
利用usb串口转nrf24l01模块,将体感控制器与控制终端连接。
s2,在无人机端,将无线通信模块与单片机相连,接收控制数据;
s3,将单片机的输出与无人机的飞控、机械手的控制端相连;
s4,体感控制器接收无人机手势控制信息,将无人机手势控制信息传输至单片机;
这里,使用了双目传感器进行手势数据的采集并在控制终端进行处理;使用c++并结合leapmotionv2sdk库将双目识别到的数据进行处理,使用qt编写获取到的无人机手势控制信息进行显示,使用户观察自己的手势状态;同时将处理后的无人机手势控制信息进行自定义编码;启动发送控制指令,并向单片机发送无人机手势控制信息。
控制终端将无人机手势控制信息通过uart协议发送到串口中,通过nrf24l01模块进行无线发射;单片机实时进行nrf24l01数据的接收;单片机将接收的无人机手势控制信息进行处理,并执行。
作为本发明涉及的一种优选实施方式,步骤s4还包括:体感控制器利用摄像头采集人体手势动作图像,对人体手势动作图像进行解析,并判断出当前的人体手势动作方向;
将人体手势动作方向配置成无人机手势控制信息。
读取人体手势动作图像,提取人体手势动作图像中手部的无人机控制特征基准点,并获取无人机控制特征基准点的位移量,位移角度以及位移方向;
将无人机控制特征基准点的位移量,位移角度以及位移方向配置为无人机控制梯度方向,将无人机控制梯度方向配置为n个方向,对每个人体手势动作图像中特征点在预设范围内的梯度方向,基于同一个梯度方向进行获取,利用无人机控制梯度方向相似度对照表,对每个人体手势动作图像中特征点的无人机控制梯度方向配置为该方向的相似度方向;
将人体手势动作图像中每一帧图像的无人机控制梯度方向与预设范围内的梯度方向进行匹配,且在梯度方向移动阈值内,得到每一帧图像中多个方向区域;
再以该方向区域作为匹配标准,在图像中进行移动,将每个对应位置无人机控制特征基准点的方向与预设置无人机控制方位模板的方向进行匹配;
匹配成功后得到无人机控制相似度值;
将无人机控制相似度值,位移量,位移角度以及位移方向配置到的控制执行区域;
将控制执行区域内的无人机手势控制信息按照时间的顺序进行排列,得到控制序列,按照预设的次序进行发送,并由单片机接收并执行。
人体手势动作图像中手部的无人机控制特征基准点,可以以手掌心作为特征基准点,也可以基于某个手指等等。
人体的手可以作为一个整体来进行获取,也可以进行划分区域,仅仅获取某一个区域的运动轨迹,进而得到无人机手势控制信息。
人体手势动作可以包括:手部向上、手部向上左、手部向上右、手部向左、手部向右、手部向下左、手部向下以及手部向下右。作为刹车或减速,可以通过握拳,或者其他动作来进行设置。
s5,单片机接收无人机手势控制信息,并执行。
单片机采用arduino解码收到的无人机手势控制信息;单片机进行数据的处理,并输出pwm信息,基于pixhawk以及机械臂,实现控制无人机的飞行以及机械臂的抓取。
其中,单片机接收无人机手势控制信息,并生成用于控制无人机进行过程飞行的高度数据、姿态角数据、航向数据信息以及与控制者的距离数据信息。
这里所描述的控制终端可以实现在硬件,软件,固件或它们的任何组合。所述的各种特征为模块,单元或组件可以一起实现在集成逻辑装置或分开作为离散的但可互操作的逻辑器件或其他硬件设备。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路器件,诸如集成电路芯片或芯片组。
单片机包括一个或多个处理器执行,如一个或多个数字信号处理器(dsp),通用微处理器,特定应用集成电路(asics),现场可编程门阵列(fpga),或者其它等价物把集成电路或离散逻辑电路。因此,术语“处理器,”由于在用于本文时可以指任何前述结构或任何其它的结构更适于实现的这里所描述的技术。另外,在一些方面,本公开中所描述的功能可以提供在软件模块和硬件模块。
基于上述方法本发明还提供一种实现利用手势控制无人机的方法的设备,包括:
存储器,用于存储计算机程序及利用手势控制无人机的方法;处理器,用于执行所述计算机程序及利用手势控制无人机的方法,以实现利用手势控制无人机的方法的步骤。
基于上述方法本发明还提供一种具有利用手势控制无人机的方法的可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现利用手势控制无人机的方法的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。