发明内容
有鉴于此,本发明的目的是提供一种基于手势的遥控小车控制方法、系统和存储介质,以提高遥控小车手势识别的效率。
本发明所采用的第一技术方案是:
一种基于手势的遥控小车控制方法,包括:
获取第一激活指令,根据所述第一激活指令激活穿戴设备;
获取第二激活指令,根据所述第二激活指令激活遥控小车;
获取所述穿戴设备的第一重力数据和第一预设时间内的角速度数据;
根据所述第一重力数据和所述角速度数据控制所述遥控小车。
进一步,所述根据所述第一重力数据和所述角速度数据控制所述遥控小车,其具体包括:
根据所述第一重力数据获取第一掌心朝向和第一手掌倾角;
根据所述角速度数据获取手掌平移方向;
根据所述第一掌心朝向、所述第一手掌倾角和所述手掌平移方向控制所述遥控小车。
进一步,所述根据所述第一掌心朝向、第一手掌倾角和手掌平移方向控制所述遥控小车,其具体包括:
确定所述第一掌心朝向为预设方向,根据所述第一手掌倾角和所述手掌平移方向控制所述遥控小车。
进一步,所述根据所述第一手掌倾角和所述手掌平移方向控制所述遥控小车,其具体包括:
根据所述第一手掌倾角控制所述遥控小车的移动方向和移动速度;
根据所述手掌平移方向控制所述遥控小车的旋转方向。
进一步,所述基于手势的遥控小车控制方法还包括:
获取第三激活指令,根据所述第三激活指令激活机械臂;
获取所述穿戴设备的第二重力数据和第二预设时间内的加速度数据;
根据所述第二重力数据和所述加速度数据控制所述机械臂;
其中,所述机械臂设置于所述遥控小车上。
进一步,所述根据所述第二重力数据和所述加速度数据控制所述机械臂,其具体包括:
根据所述第二重力数据获取第二掌心朝向和第二手掌倾角;
根据所述加速度数据获取手掌在竖直方向上的移动轨迹;
根据所述第二掌心朝向、所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂。
进一步,所述根据所述第二掌心朝向、所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂,其具体包括:
确定所述第二掌心朝向为预设方向,根据所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂。
进一步,所述根据所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂,其具体包括:
根据所述手掌在竖直方向上的移动轨迹控制所述机械臂的朝向;
根据所述第二手掌倾角控制所述机械臂在垂直平面上的位置。
本发明所采用的第二技术方案是:
一种基于手势的遥控小车控制系统,包括:
穿戴设备,用于获取第一激活指令、第二激活指令、第一重力数据和第一预设时间内的角速度数据;根据所述第一激活指令激活穿戴设备;根据所述第二激活指令激活遥控小车;
遥控小车,用于根据所述第一重力数据和所述角速度数据进行移动。
本发明所采用的第三技术方案是:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的基于手势的遥控小车控制方法。
与现有技术相比较,本发明通过穿戴设备获取第一重力数据和第一预设时间内的角速度数据,通过对第一重力数据和角速度数据进行识别得到对应的手势,通过手势实现对于遥控小车的控制;相较于现有的图像识别遥控小车控制方法,本发明通过穿戴设备对手势进行识别,其识别效率更高。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。此外,对于以下实施例中所述的若干个,其表示为至少一个。
本发明实施例提供了一种基于手势的遥控小车控制方法,参照图2,包括:
S210、获取第一激活指令,根据所述第一激活指令激活穿戴设备;
S220、获取第二激活指令,根据所述第二激活指令激活遥控小车;
S230、获取所述穿戴设备的第一重力数据和第一预设时间内的角速度数据;
S240、根据所述第一重力数据和所述角速度数据控制所述遥控小车。
具体的,参照图1,在本方法中涉及穿戴设备100、机械臂200和遥控小车300,穿戴设备100分别与机械臂200和遥控小车300通信,其通信方式可以采用蓝牙、无线网络等方式进行通信。穿戴设备100由用户佩戴在手指上,用于获取用户的手势信息,机械臂200和遥控小车300会根据获取到的手势信息进行运动,穿戴设备100可以通过戒指的方式进行实现,使用戒指的方式进行实现,相比于传统的穿戴设备体积更小,轻巧而便携,适用于各种场合;遥控小车300上的车轮为麦克纳姆轮,可以实现全方位的移动;遥控小车300上还设置有LED灯,用于在遥控小车300移动的时候进行照明。
参照图3,穿戴设备包括柔性电路板301和外壳302。柔性电路板是穿戴设备内部各元器件的支撑体与通电载体,负责将各元器件连接起来。外壳302采用不导电、轻质和硬度高的材料,保护内部电路不被影响的同时,保护内部元器件不被破坏。
参照图4,柔性电路板301上设置有电容触摸按键的触摸区域401、电容触摸按键的集成电路芯片402、九轴惯性传感器403、微控制单元404、复位电路405、充电接口406、充放电电路407、电源模块408以及重力传感器409。
电容触摸按键的触摸区域401为电容触摸按键的触摸区域,其作用是读取电容变化。当人的手指放在触摸区域上面时,触摸区域的电容会发生变化。
电容触摸按键的集成电路芯片402为电容触摸按键的集成电路芯片,与触摸区域相连,当人的手指放在触摸区域上面时,触摸区域的电容会发生变化,集成电路根据电容变化判断按键被按下。
电容触摸按键的触摸区域401和电容触摸按键的集成电路芯片402共同构成电容触摸按键,电容触摸按键基于人体的电流感应运作。其包括触摸区域和单通道微处理器,按键整体事实上是一个集成电路芯片。当人的手指放在触摸区域上面时,触摸区域的电容会发生变化,而电容的变化被单通道微处理器读取并判断是否为人手的触摸,进而实现按键的功能。
九轴惯性传感器403包括三轴陀螺仪、三轴加速度计以及三轴磁感应传感器,其作用是获取穿戴设备发生的惯性运动状态,并将这些运动状态转化为电信号。其中,陀螺仪获取穿戴设备的角度与方向信息,加速度计测量穿戴设备在空间中个方向的加速度,而磁感应传感器则用于消除加速度计和陀螺仪在个方向上的累计偏差。九州惯性传感器通过I2C接口与4集成了无线传输模块的微处理器相连。
微控制单元404为集成了无线传输模块的微控制单元,负责将穿戴设备的运动状态进行计算并转化为遥控指令,并将指令通过无线传输的方式发送到遥控小车上,进而实现操作遥控小车的功能。
复位电路405用于使电路恢复到起始状态,在开发、维修过程中作为检修、测试的触点来使用。
充电接口406可以使用USB Type-C充电接口,可以通过具备Type-C接口的数据线与外部电源连接,进而将电流传输到充放电电路407。
电源模块408用于为柔性电路板301上各元器件进行供电,电源模块408通过充放电电路407充电接口406连接。
重力传感器409用于确认佩戴穿戴设备时手掌的朝向,比如可以得出掌心是否朝下,以及手掌朝前、后、左、右各个方向的倾斜角。
九轴惯性传感器403和重力传感器409用于检测穿戴设备的角速度数据、加速度数据以及重力数据,通过角速度数据、加速度数据以及重力数据计算得到用户手势,根据用户手势实现对于遥控小车300和机械臂200的控制。
第一激活指令用于激活穿戴设备,当穿戴设备接收到第一激活指令之后才会开始识别用户手势。第一激活指令可以通过长按电容触摸按键进行触发。
第二激活指令用于激活遥控小车,当遥控小车接收到第二激活指令之后才会启动控制模式,用户才能通过手势对于小车进行控制。第二激活指令可以通过双击电容触摸按键进行触发。
第一重力数据用于检测用户的掌心朝向和手掌倾角,通过重力传感器409的读数,可以确认佩戴穿戴设备用户手掌的朝向,比如可以得出掌心是否朝下,以及手掌朝前、后、左、右各个方向的倾斜角。
角速度数据用于检测用户手掌的平移方向,通过九轴惯性传感器403可以获取穿戴设备的角速度,通过穿戴设备的角速度可以确认佩戴穿戴设备用户手掌的平移方向为顺时针还是逆时针。
通过获取穿戴设备100的第一重力数据和角速度数据,可以根据第一重力数据和角速度数据推导出用户的手势信息,通过用户的手势信息实现对于遥控小车300的控制,相较于传统的图像识别方式能够适用于更多的场景。
进一步作为可选的实施方式,所述根据所述第一重力数据和所述角速度数据控制所述遥控小车,其具体包括:
根据所述第一重力数据获取第一掌心朝向和第一手掌倾角;
根据所述角速度数据获取手掌平移方向;
根据所述第一掌心朝向、所述第一手掌倾角和所述手掌平移方向控制所述遥控小车。
具体的,通过穿戴设备上的重力传感器获取穿戴设备的重力数据,利用重力分量计算可以得到手掌与水平面的仰角数值,即手掌的倾角和手掌掌心的朝向;通过穿戴设备上的九轴惯性传感器的角速度可以计算得到手掌的平移方向;根据掌心朝向、手掌倾角和手掌平移方向等手势信息实现对于遥控小车的控制。
通过手掌倾角和手掌平移方向实现对于遥控小车的控制,相较于其他手势控制方式更为简便。
进一步作为可选的实施方式,所述根据所述第一掌心朝向、第一手掌倾角和手掌平移方向控制所述遥控小车,其具体包括:
确定所述第一掌心朝向为预设方向,根据所述第一手掌倾角和所述手掌平移方向控制所述遥控小车。
具体的,只有在第一掌心朝向为预设方向的情况下,才会实现对于遥控小车的控制。预设方向可以设置为朝下,即在检测到掌心朝下的情况下才会开启手势识别;也可以配合长按电容触摸按键作为触发条件,实现对于遥控小车手势识别的限定触发,即在掌心朝下且电容触摸按键被按下的情况下实现对于手势的识别。
通过掌心朝向实现对于手势识别的筛选,可以减少误触发的情况,提高手势控制的稳定性。
进一步作为可选的实施方式,所述根据所述第一手掌倾角和所述手掌平移方向控制所述遥控小车,其具体包括:
根据所述第一手掌倾角控制所述遥控小车的移动方向和移动速度;
根据所述手掌平移方向控制所述遥控小车的旋转方向。
具体的,根据手掌倾角控制遥控小车的移动方向和移动速度,手掌倾角可以拆分为手掌倾斜方向和手掌倾斜角度,手掌倾斜方向用于控制遥控小车的移动方向,手掌倾斜角度用于控制遥控小车的移动速度。当手掌与水平面之间倾斜角处于0~15°之间,认为手掌为水平静止状态,遥控小车保持停止运动状态;当手掌与水平面之间倾斜角为15~30°之间,遥控小车为速度1的模式,朝着手掌对应方向移动;当倾斜角为30~45°之间时,遥控小车为速度2的模式,朝着手掌对应方向移动;当倾斜角大于45°时,遥控小车为速度3的模式,朝着手掌对应方向移动。当有两个方向的倾斜角都大于15°时,遥控小车会始终以速度2的模式,朝着手掌对应的方向移动,该行进状态无法变速。
根据手掌平移方向控制遥控小车的旋转方向,手掌平移方向可以分为顺时针平移和逆时针平移。当手掌绕逆时针并水平地转动时,遥控小车绕自体进行左旋转;当手掌绕顺时针并水平地转动时,遥控小车绕自体进行右旋转。
相较于其他的手势控制方式,使用手掌倾角控制遥控小车的移动方向和移动速度,使用手掌在水平面上的平移方向控制遥控小车的旋转方向更为匹配。在遥控小车移动方向和移动速度的技术上加入了遥控小车的旋转方向的控制,提高了遥控小车在移动上的灵活性。
进一步作为可选的实施方式,所述基于手势的遥控小车控制方法还包括:
获取第三激活指令,根据所述第三激活指令激活机械臂;
获取所述穿戴设备的第二重力数据和第二预设时间内的加速度数据;
根据所述第二重力数据和所述加速度数据控制所述机械臂;
其中,所述机械臂设置于所述遥控小车上。
具体的,第三激活指令用于激活机械臂,在激活机械臂的同时会让遥控小车保持待机状态。第三激活指令可以通过掌心朝左且双击电容触摸按键触发。
第二重力数据用于检测用户的掌心朝向和手掌倾角,通过重力传感器的读数,可以确认佩戴穿戴设备用户手掌的朝向,比如可以得出掌心是否朝下,以及手掌朝前、后、左、右各个方向的倾斜角。
加速度数据用于检测用户手掌绕竖直方向转圈的方向,通过九轴惯性传感器可以获取穿戴设备的加速度,通过穿戴设备的加速度可以确认佩戴穿戴设备用户手掌在竖直方向上的运动轨迹为顺时针还是逆时针。
在遥控小车上设置机械臂,可以扩宽遥控小车的功能,使得遥控小车能够在移动的基础上实现对于物体的抓取和放置。
进一步作为可选的实施方式,所述根据所述第二重力数据和所述加速度数据控制所述机械臂,其具体包括:
根据所述第二重力数据获取第二掌心朝向和第二手掌倾角;
根据所述加速度数据获取手掌在竖直方向上的移动轨迹;
根据所述第二掌心朝向、所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂。
具体的,通过穿戴设备上的重力传感器获取穿戴设备的重力数据,利用重力分量计算可以得到手掌与水平面的仰角数值,即手掌的倾角和手掌掌心的朝向;通过穿戴设备上的九轴惯性传感器的加速度可以计算得到手掌在竖直方向上的运动轨迹;根据掌心朝向、手掌倾角和在竖直方向上的运动轨迹等手势信息实现对于机械臂的控制。
通过重力数据和手掌倾角实现对于手势信息的检测,使得可以通过穿戴设备实现对于机械臂的手势控制。
进一步作为可选的实施方式,所述根据所述第二掌心朝向、所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂,其具体包括:
确定所述第二掌心朝向为预设方向,根据所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂。
具体的,只有在第二掌心朝向为预设方向的情况下,才会实现对于机械臂的控制。预设方向可以设置为朝下,即在检测到掌心朝下的情况下才会开启手势识别。
通过掌心朝向实现对于手势识别的筛选,可以减少误触发的情况,提高手势控制的稳定性。
进一步作为可选的实施方式,所述根据所述第二手掌倾角和所述手掌在竖直方向上的移动轨迹控制所述机械臂,其具体包括:
根据所述手掌在竖直方向上的移动轨迹控制所述机械臂的朝向;
根据所述第二手掌倾角控制所述机械臂在垂直平面上的位置。
具体的,在检测到手掌掌心朝下的情况下,确定电容触摸按键没有被按下,会根据手掌在竖直方向上的移动轨迹控制机械臂的朝向;在检测到手掌掌心朝下的情况下,确定电容触摸按键被短暂按下,会根据电容触摸按键控制机械臂进行抓取和松开;检测到手掌掌心朝下的情况下,确定电容触摸按键被长按,会根据手掌倾角控制机械臂在垂直平面上的位置。
参照图5,机械臂上设置有第一舵机501、第二舵机502、第三舵机503、第四舵机504和第五舵机505,第一舵机501设置正在机械臂底座上,用于控制机械臂在水平平面上,即三维空间中的X轴和Y轴形成的平面上的转动,也就是控制机械臂整体左旋转或右旋转。第二舵机502、第三舵机503和第四舵机504共同控制机械臂在垂直平面,即三维空间中的X轴与Z轴的移动。第五舵机505用于控制机械臂上机械手的抓取和松开。
根据手掌在竖直方向上的移动轨迹控制机械臂的朝向,在检测到手掌绕竖直方向逆时针旋转会控制第一舵机501逆时针转动,在检测到手掌绕竖直方向顺时针旋转会控制第一舵机501顺时针转动。通过手掌绕竖直方向转圈可以控制机械臂的朝向。
根据电容触摸按键控制机械臂进行抓取和松开,在检测到电容触摸按键被短暂按下后,会控制第五舵机505来控制机械臂夹子的松开和闭合。通过按压电容触摸按键可以控制机械臂的抓取和松开。
根据手掌倾角控制机械臂在垂直平面上的位置,其控制原理为在数据库中预存手掌倾角对应的机械臂二维坐标,在检测到一个手掌倾角后,会根据手掌倾角在数据库中获取对应的机械臂二维坐标;将对应的机械臂二维坐标转换为对应的舵机角度,控制第二舵机502、第三舵机503和第四舵机504转动到对应的舵机角度,从而实现对于机械臂在垂直平面的控制。可以通过穿戴设备上的惯性传感器通过重力分量计算出手掌与水平面的仰角数值,范围在-90~90度之间,.在-90~90仰角度数值中,每间隔3度为一个操作指令。每个操作指令对应一组操作第二舵机502、第三舵机503和第四舵机504的行程数值。三个舵机会根据对应的行程数值驱动机械臂移动到垂直平面上,即三维空间中X轴与Z轴形成的平面上对应的坐标点。因为指令只有60个,因此,行程数值也只有对应的60组,也就是说,通过指令能控制机械臂在垂直平面上最多60个坐标点上移动。第二舵机502、第三舵机503和第四舵机504的行程数值可以通过软件去修改,可以根据实际需求进行编辑,或者提前准备多组行程数值表提供选择。
通过手掌倾角、手掌在竖直方向上的移动轨迹和电容触摸按键的配合,实现对于机械臂的转动、移动和抓取控制,将复杂的机械臂动作使用简单的手势识别进行控制。
本发明实施例还提供了一种基于手势的遥控小车控制系统,参照图1,包括:
穿戴设备100,用于获取第一激活指令、第二激活指令、第一重力数据和第一预设时间内的角速度数据;根据所述第一激活指令激活穿戴设备;根据所述第二激活指令激活遥控小车300;
遥控小车300,用于根据所述第一重力数据和所述角速度数据进行移动。
具体的,本系统包括穿戴设备100、机械臂200和遥控小车300,穿戴设备100分别与机械臂200和遥控小车300通信,其通信方式可以采用蓝牙、无线网络等方式进行通信。穿戴设备100由用户佩戴在手指上,用于获取用户的手势,机械臂200和遥控小车300会根据手势进行运动;
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的基于手势的遥控小车控制方法。
具体的,存储介质存储有处理器可执行的指令,处理器可执行的指令在由处理器执行时用于执行上述方法实施例中任一个技术方案所述的一种交互信息处理方法步骤。对于所述存储介质,其可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。可见,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。