一种基于手势的移动平台远程控制系统的制作方法

文档序号:10552473阅读:640来源:国知局
一种基于手势的移动平台远程控制系统的制作方法
【专利摘要】本发明一种基于手势的移动平台远程控制系统,涉及控制系统领域,包括移动平台控制部分、远程控制部分和手势控制操作方案;移动平台控制部分包括移动平台和移动平台控制器,移动平台控制器为工控机,工控机平台上运行移动平台控制程序;远程控制部分包括Leap Motion体感控制器和笔记本电脑,笔记本电脑运行远程控制程序;手势控制操作方案是:远程控制部分读Leap Motion体感控制器检测到人手的个数和Leap Motion体感控制器检测到的控制者手的手势信息,通过wifi向工控机发出对应的控制指令;本发明克服了现有技术所存在的无法直接表达控制人员的意图、人机交互手段生硬不自然和上手难度比较大的缺陷。
【专利说明】
一种基于手势的移动平台远程控制系统
技术领域
[0001]本发明的技术方案涉及控制系统,具体地说是一种基于手势的移动平台远程控制系统。
【背景技术】
[0002]随着社会自动化程度的不断提高,移动平台广泛应用于工业生产,家居服务和科学研究等领域。传统的移动平台远程控制系统对移动平台的控制主要分为以下三类:一是,利用按钮对移动平台进行控制,这种控制方法需要控制人员按下控制装置上面相应的按钮,每个按钮对应控制移动平台的相应动作;二是,利用操作杆对移动平台进行控制,控制人员拨动操作杆,操作杆的位置对应移动平台的运动方式;三是,利用触摸屏对移动平台进行控制,触摸屏可以检测控制人员手指在触摸屏上面的点击和滑动,利用这些信息控制移动平台的运动。以上三类控制系统都需要控制人员用手接触到控制设备,控制人员利用利用按钮、操作杆或触摸屏等设备控制移动平台的运动,无法直接表达控制人员的意图,人机交互手段生硬不自然,上手难度比较大。
[0003]目前现有技术中:CN102789327A公开了一种基于手势的移动机器人控制方法,是利用具有触摸功能的计算机显示设备作为控制终端设备,控制对象为搭载两自由度云台和变焦摄像机的移动机器人,机器人控制人员通过手指在触摸屏上划动来控制机器人和云台的运动;CN103576861A提出了一种非接触式手势控制系统的硬件实现,但是并没有提出手势控制的实现方法;CN104731052A披露了一种移动平台的控制系统、方法及移动平台控制装置。上述现有技术均存在无法直接表达控制人员的意图、人机交互手段生硬不自然和上手难度比较大的缺陷。

【发明内容】

[0004]本发明所要解决的技术问题是:提供一种基于手势的移动平台远程控制系统,利用移动平台的手势控制操作方案,实现对移动平台的操作,克服了现有技术所存在的无法直接表达控制人员的意图、人机交互手段生硬不自然和上手难度比较大的缺陷。
[0005]本发明解决该技术问题所采用的技术方案是:一种基于手势的移动平台远程控制系统,包括移动平台控制部分、远程控制部分和手势控制操作方案;其中,移动平台控制部分包括移动平台和移动平台控制器,该移动平台控制器为工控机,该工控机被安置在一个加有摄像头和动力源的移动平台上,并通过串口向移动平台发送运动控制指令,该工控机连接到wifi,通过线路与动力源连接,又通过USB接口与摄像头相连,工控机平台上运行移动平台控制程序;远程控制部分包括Leap Mot 1n体感控制器和笔记本电脑,Leap Mot1n体感控制器放置在笔记本电脑的正前方,通过USB线与笔记本电脑相连,笔记本电脑连接到wifi,笔记本电脑运行远程控制程序,循环读取Leap Mot 1n体感控制器采集到的手势信息,并对提取到的手势特征进行分类和量化,通过wifi向工控机发出对应的控制指令,同时,远程控制程序通过wifi接收移动平台上的摄像头采集到的图像信息,并将移动平台摄像头采集到的图像信息全屏显示在笔记本电脑屏幕上,笔记本电脑上运行远程控制程序;手势控制操作方案如下:
[000?] 第一步,远程控制部分读Leap Mot 1n体感控制器检测到人手的个数,通过wifi向工控机发出对应的控制指令:
[0007](1.1)0个人手,移动平台保持上一时刻运动状态不变;
[0008](1.2) I个人手,进入下面第二步进行判断;
[0009 ] (1.3) 2个人手,向移动平台发出停止运动命令;
[0010]第二步,远程控制部分读LeapMot1n体感控制器检测到的控制者手的手势信息,通过wif i向工控机发出对应的控制指令:
[0011](2.1)当检测到控制者连续两次向左摆手,向移动平台发出原地逆时针运动命令;
[0012](2.2)当检测到控制者连续两次向右摆手,向移动平台发出原地顺时针运动命令;
[0013](2.3)当检测到控制者的手指有隔空点击电脑屏幕的动作,利用向量ScreenType.Direct1n,该向量包含三个坐标(x,y,z),求& = &1"(^&11(2八):若x>0且ζ>0,Α=&;若1〈0且2>0,厶=&+31;若1>0且2〈0,厶=-&;若1〈0且2〈0,厶=31-3;变量1 = 50/^,变量『2 =50/A,计算r3= [r2/20的整数部分],计算R = 20 X r3,R的单位为厘米;当x>0且z>0时,移动平台以R为半径向右后方转弯;当x〈0且z>0时,移动平台以R为半径向左后方转弯;当x>0且z〈O时,移动平台以R为半径向左前方转弯;当x〈0且z〈0时,移动平台以R为半径向右后方转弯;
[0014](2.4)当检测到控制者的手短时间内从张开状态到握拳状态,再到张开状态,向移动平台发出停止运动命令;
[0015](2.5)当检测到控制者的手短时间内从张开状态到握拳状态,再到张开状态,再到握拳状态,再到张开状态,向移动平台发出后退运动命令;
[0016](2.6)当控制者手的手势不符合以上五种状态,则移动平台保持上一时刻运动状态不变。
[0017]第三步,返回第一步,再次进行判断。
[0018]上述一种基于手势的移动平台远程控制系统,所述工控机平台上运行移动平台控制程序是:利用socket套接字,将工控机设置为虚拟服端,创建服务端socket,登记接口,监听来自客户端的连接请求,等待远程控制部分发来连接请求,接收来自远程控制部分的运动控制命令,处理命令,并发送给移动平台;该程序的流程顺序是:启动后开启两个线程,一个线程是:创建服务器socket,服务器socket登记接口,监听连接请求,是否有连接请求?当答案为否时返回监听连接请求;当答案为是时顺序下行接收数据,处理数据,通知远程客户端完成了一次发送,同时发送运动控制指令;另一个线程是:采集移动平台传感器信息,检测是否存在有效的socket连接?当答案为否时返回采集移动平台传感器信息;当答案为是时则发送移动平台传感器信息到远程控制部分。
[0019]上述一种基于手势的移动平台远程控制系统,所述笔记本电脑运行远程控制程序是:利用socket套接字,将笔记本电脑设置为虚拟服务端,创建服务端socket,通过服务器端的地址和端口向服务器端发送连接请求,创建服务端socket的数据传输;该程序的流程顺序是:启动后开启两个线程,一个线程是:创建客户端socket,通过服务器地址和端口号向服务器发送连接请求,是否成功建立连接关系?当答案为否时返回通过服务器地址和端口号向服务器发送连接请求;当答案为是时顺序下行创建用于发送数据的服务器socket,创建用于接收数据的服务器socket;另一个线程是:启动Leap Mot1n体感控制器,判断手势信息并生成控制指令,检测是否存在有效的socket连接?当答案为否时返回判断手势信息并生成控制指令;当答案为是时顺序下行发送运动控制指令到移动平台控制部分。
[0020]上述一种基于手势的移动平台远程控制系统,所述移动平台具有前进、后退、原地旋转和以设定转弯半径转弯的运动能力。
[0021]上述一种基于手势的移动平台远程控制系统,所述摄像头能够同时采集彩色图像和深度图像。
[0022]上述一种基于手势的移动平台远程控制系统,所涉及的硬件设备均通过公知途径获得,其安装、连接方法和操作方法是本技术领域的技术人员能够掌握的。
[0023]本发明的有益效果是:与现有技术相比,本发明的突出的实质性特点和显著进步如下:
[0024](I)本发明设计了一种基于手势的移动平台远程控制系统,利用Leap Mot1n体感控制器采集控制人员的手势信息,结合手势信息与手势控制操作方案,向移动平台发出运动控制指令。实现移动平台远程控制人员对移动平台的非接触式手势控制。
[0025](2)本发明设计了一种基于手势的移动平台远程控制系统,包括移动平台控制程序,移动平台控制程序运行在工控机上,并为工控机配备输出移动平台控制信号的接口,只需做简单的配置就能够控制任意移动平台的移动方式,适用性很强。
[0026](3)本发明设计了一种基于手势的移动平台远程控制系统,包括远程控制部分程序,运行在笔记本电脑上的远程控制部分程序能够运行在任何版本的windows7操作系统上,适应性很强。
【附图说明】
[0027]下面结合附图和实施例对本发明进一步说明。
[0028]图1是本发明一种基于手势的移动平台远程控制系统的硬件整体构成示意图。
[0029]图2是本发明中的移动平台控制程序的流程示意图。
[0030]图3是本发明中的远程控制程序的流程示意图。
[0031]图4是本发明中的手势控制操作方案中的摆手手势示意图。
[0032]图5是本发明中的手势控制操作方案中的点击屏幕的手势示意图。
[0033]图6是本发明中的Leap Mot1n体感控制器坐标示意图。
[0034]图中,1.远程控制部分,2.移动平台控制部分,2-1.移动平台控制器,2-2.移动平台
【具体实施方式】
[0035]图1所示实施例表明,本发明一种基于手势的移动平台远程控制系统的硬件整体包括移动平台控制部分2和远程控制部分1,移动平台控制部分2包括移动平台2-2和移动平台控制器2-1,在移动平台控制部分2和远程控制部分I之间通过wifi实现通信连接。
[0036]图2所示实施例表明,本发明中的移动平台控制程序的流程是:启动移动平台控制程序,启动后开启两个线程,一个线程是:—创建服务器socket—服务器socket登记接口 —监听连接请求4是否有连接请求?4当答案为否时返回监听连接请求;当答案为是时顺序下行4接收数据—处理数据4通知远程客户端完成了一次发送,同时发送运动控制指令;另一个线程是采集移动平台传感器信息—检测是否存在有效的socket连接?—当答案为否时返回采集移动平台传感器信息;当答案为是时则—发送移动平台传感器信息到远程控制部分。
[0037]图3所示实施例表明,本发明中的远程控制程序的流程是:启动远程控制程序,启动后开启两个线程,一个线程是:—创建客户端socket—通过服务器地址和端口号向服务器发送连接请求—是否成功建立连接关系?—当答案为否时返回通过服务器地址和端口号向服务器发送连接请求;当答案为是时顺序下行—创建用于发送数据的服务器socket—创建用于接收数据的服务器socket;另一个线程是启动Leap Mot1n体感控制器—判断手势?目息并生成控制指令—检测是否存在有效的socket连接?—当答案为否时返回判断手势信息并生成控制指令;当答案为是时顺序下行—发送运动控制指令到移动平台控制部分。
[0038]图4所示实施例显示本发明中的手势控制操作方案中的摆手手势为:将手掌自然张开,手掌垂直于Leap Mot 1n体感控制器,做连续两次向左摆手或做连续两次向右摆手。
[0039]图5所示实施例显示本发明中的手势控制操作方案中的手指有隔空点击电脑屏幕的动作,点击屏幕的手势为:控制者的大拇指、中指、无名指和小拇指为握拳状态,食指伸出做点击动作。
[0040]图6所示实施例显示本发明中的Leap Mot1n体感控制器坐标方向,Leap Mot1n体感控制器检测到的手势位置信息和向量的坐标都是在这个坐标系下的坐标。
[0041 ] 实施例
[0042]本实施例的一种基于手势的移动平台远程控制系统,包括移动平台控制部分2、远程控制部分I和手势控制操作方案;
[0043]其中,移动平台控制部分2包括移动平台2-2和移动平台控制器2-1,该移动平台控制器2-1为工控机,该工控机被安置在一个加有摄像头和动力源的移动平台2-2上,并通过串口向移动平台发送运动控制指令,该工控机连接到wifi,通过线路与动力源连接,又通过USB接口与摄像头相连,工控机平台上运行移动平台控制程序;本实施例的移动平台2-2选择MobileRobots ActivMedia公司的P1neer 3AT作为移动平台2-2,具有前进、后退、原地旋转和以设定转弯半径转弯的运动能力。P1neer 3AT重9kg,负重能力23kg,具有4个声纳环,提供360度无死角障碍物探测,采用两个带光电编码器的驱动轮。本实施例的工控机为P1neer 3AT配备的车载工控机,具有四个串口和两个USB口,配备无线网卡和视频采集设备。车载工控机通过串口COMl向P1neer 3AT发送运动控制指令,其控制指令采用ARIA函数库进行封装。所用摄像头能够同时采集彩色图像和深度图像。上述运行在该工控机平台上的移动平台控制程序是:利用socket套接字,将工控机设置为虚拟服端,创建服务端socket,登记接口,监听来自客户端的连接请求,等待远程控制部分发来连接请求,接收来自远程控制部分的运动控制命令,处理命令,并发送给移动平台;该程序的流程顺序是:启动后开启两个线程,一个线程是:创建服务器socket,详细地说是,进行socket网络连接,首先加载winsock函数库,构造服务器socket,网络协议选择TCP/IP协议,socket类型选择流式socket,服务器socket登记接口 ;监听连接请求,详细地说是,配置监听地址和端口,监听地址与移动平台工控机的IP地址一致,选择监听端口 8885,利用bind()函数绑定监听socket,利用accept ()函数等待连接请求;是否有连接请求?当答案为否时返回监听连接请求;当答案为是时顺序下行接收数据,处理数据,通知远程客户端完成了一次发送,同时发送运动控制指令,详细地说是,当检测到存在有效的连接请求时,用recv()函数接收socket发送来的数据,将接收到的数据转换为移动平台的运动控制命令,发送给移动平台,向远程控制部分发送已接收数据的报告;另一个线程是:采集移动平台传感器的信息,将它们进行压缩打包,检测是否存在有效的socket连接?当答案为否时返回采集移动平台传感器信息;当答案为是时则发送移动平台传感器信息到远程控制部分。
[0044]远程控制部分I包括Leap Mot1n体感控制器和笔记本电脑,Leap Mot1n体感控制器放置在笔记本电脑的正前方,通过USB线与笔记本电脑相连,笔记本电脑连接到wifi,笔记本电脑运行远程控制程序,循环读取Leap Mot1n体感控制器采集到的手势信息,并对提取到的手势特征进行分类和量化,通过wifi向工控机发出对应的控制指令,同时,远程控制程序通过wifi接收移动平台2-2上的摄像头采集到的图像信息,并将移动平台2-2上的摄像头采集到的图像信息全屏显示在笔记本电脑屏幕上,笔记本电脑上运行的远程控制程序是利用socket套接字,将笔记本电脑设置为虚拟服务端,创建服务端socket,通过服务器端的地址和端口向服务器端发送连接请求,创建服务端socket的数据传输;该程序的流程顺序是:启动后开启两个线程,一个线程是:创建客户端socket,详细地说是,进行socket网络连接,首先加载winsock函数库,构造客户端socket,网络协议选择,TCP/IP协议,socket类型选择流式socket;通过服务器地址和端口号向服务器发送连接请求,即利用connect ()函数向移动平台控制程序发起连接请求;是否成功建立连接关系?当答案为否时返回通过服务器地址和端口号向服务器发送连接请求;当答案为是时顺序下行创建用于发送数据的服务器socket,利用send()函数发送数据,创建用于接收数据的服务器socket,利用reCV()函数接收数据;另一个线程是:启动Leap Mot1n体感控制器即利用Leap Mot1n体感控制器进行手势检测,判断手势信息并生成控制指令,详细地说是利用Leap Mot1n体感控制器的hand属性检测手的个数,利用swipe属性检测手的左右滑动,用finger属性检测手指的个数,用1^11(1.8作&81:代1^丨11()属性来判断是否为握拳状态,检测是否存在有效的socket连接?当答案为否时返回判断手势信息并生成控制指令;当答案为是时顺序下行发送运动控制指令到移动平台控制部分2;
[0045]手势控制操作方案如下:
[0046]第一步,远程控制部分读Leap Mot1n体感控制器检测到人手的个数,即LeapMot 1n体感控制器hand属性,通过wif i向工控机发出对应的控制指令:
[0047](1.1)0个人手即hand = 0,移动平台2-2保持上一时刻运动状态不变;
[0048](1.2) I个人手即hand = I,进入下面第二步进行判断;
[0049 ] (1.3) 2个人手即hand = 2,向移动平台2_2发出停止运动命令;
[0050]第二步,远程控制部分读Leap Mot1n体感控制器检测到的控制者手的手势信息,通过wif i向工控机发出对应的控制指令:
[0051 ] (2.1)当在Leap Mot1n体感控制器在90帧内连续两次检测到Gesture.Type =Gesture.GestureType.TYPE_SWIP,且Swip.Direct1n向量的x值小于零(如图6所不),则确定控制者连续两次向左摆手,向移动平台2-2发出原地逆时针运动命令;
[0052](2.2)当在Leap Mot 1n体感控制器在90帧内连续两次检测到Gesture.Type =Gesture.GestureType.TYPE_SWIP,且Swip.Direct1n向量的x值大于零(如图6所不),则确定控制者连续两次向右摆手,向移动平台2-2发出原地顺时针运动命令;
[0053](2.3)当检测到控制者的手指有隔空点击电脑屏幕的动作,利用向量ScreenType.Direct1n,该向量包含三个坐标(x,y,z),求& = &1"(^&11(2八):若x>0且ζ>0,Α=&;若1〈0且2>0,厶=&+31;若1>0且2〈0,厶=-&;若1〈0且2〈0,厶=31-3;变量1 = 50/^,变量『2 =50/A,计算r3 = [r2/20的整数部分],计算R = 20*r3,R的单位为厘米;当x>0且z>0时,移动平台以R为半径向右后方转弯;当x〈0且z>0时,移动平台以R为半径向左后方转弯;当x>0且z〈0时,移动平台以R为半径向左前方转弯;当x〈0且z〈0时,移动平台以R为半径向右后方转弯;
[0054](2.4)当Leap Mot1n体感控制器在90帧内检测到hand.Strength属性的值依次为0,1,0;则认为控制者的手短时间内从张开状态到握拳状态,则确定控制者的手短时间内从张开状态到握拳状态,再到张开状态,向移动平台2-2发出停止运动命令;
[0055](2.5)当Leap Mot1n体感控制器在90帧内检测到hand.Strength属性的值依次为0、1、0、1、0,则确定检测到控制者的手短时间内从张开状态到握拳状态,再到张开状态,再到握拳状态,再到张开状态,向移动平台2-2发出后退运动命令;
[0056](2.6)当控制者手的手势不符合以上五种状态,则移动平台2-2保持上一时刻运动状态不变。
[0057]第三步,返回第一步,再次进行判断。
[0058]上述实施例中所涉及的硬件设备均通过公知途径获得,其安装、连接方法和操作方法是本技术领域的技术人员能够掌握的。
【主权项】
1.一种基于手势的移动平台远程控制系统,其特征在于:包括移动平台控制部分、远程控制部分和手势控制操作方案;其中,移动平台控制部分包括移动平台和移动平台控制器,该移动平台控制器为工控机,该工控机被安置在一个加有摄像头和动力源的移动平台上,并通过串口向移动平台发送运动控制指令,该工控机连接到wifi,通过线路与动力源连接,又通过USB接口与摄像头相连,工控机平台上运行移动平台控制程序;远程控制部分包括Leap Mot1n体感控制器和笔记本电脑,Leap Mot1n体感控制器放置在笔记本电脑的正前方,通过USB线与笔记本电脑相连,笔记本电脑连接到wifi,笔记本电脑运行远程控制程序,循环读取Leap Mot1n体感控制器采集到的手势信息,并对提取到的手势特征进行分类和量化,通过wif i向工控机发出对应的控制指令,同时,远程控制程序通过wif i接收移动平台上的摄像头采集到的图像信息,并将移动平台摄像头采集到的图像信息全屏显示在笔记本电脑屏幕上,笔记本电脑上运行远程控制程序;手势控制操作方案如下: 第一步,远程控制部分读Leap Mot 1n体感控制器检测到人手的个数,通过wifi向工控机发出对应的控制指令: (I.I)O个人手,移动平台保持上一时刻运动状态不变; (1.2)I个人手,进入下面第二步进行判断; (1.3)2个人手,向移动平台发出停止运动命令; 第二步,远程控制部分读Leap Mot1n体感控制器检测到的控制者手的手势信息,通过wif i向工控机发出对应的控制指令: (2.1)当检测到控制者连续两次向左摆手,向移动平台发出原地逆时针运动命令; (2.2)当检测到控制者连续两次向右摆手,向移动平台发出原地顺时针运动命令; (2.3 )当检测到控制者的手指有隔空点击电脑屏幕的动作,利用向量ScreenType.Direct1n,该向量包含三个坐标(x,y,z),求& = &1"(^&11(2八):若x>0且ζ>0,Α=&;若1〈0且2>0,厶=&+31;若1>0且2〈0,厶=-&;若1〈0且2〈0,厶=31-3;变量1 = 50/^,变量『2 =50/A,计算r3= [r2/20的整数部分],计算R = 20 X r3,R的单位为厘米;当x>0且z>0时,移动平台以R为半径向右后方转弯;当x〈0且z>0时,移动平台以R为半径向左后方转弯;当x>0且z〈O时,移动平台以R为半径向左前方转弯;当x〈0且z〈0时,移动平台以R为半径向右后方转弯; (2.4)当检测到控制者的手短时间内从张开状态到握拳状态,再到张开状态,向移动平台发出停止运动命令; (2.5)当检测到控制者的手短时间内从张开状态到握拳状态,再到张开状态,再到握拳状态,再到张开状态,向移动平台发出后退运动命令; (2.6)当控制者手的手势不符合以上五种状态,则移动平台保持上一时刻运动状态不变。 第三步,返回第一步,再次进行判断。2.根据权利要求1所述一种基于手势的移动平台远程控制系统,其特征在于:所述工控机平台上运行移动平台控制程序是:利用socket套接字,将工控机设置为虚拟服端,创建服务端socket,登记接口,监听来自客户端的连接请求,等待远程控制部分发来连接请求,接收来自远程控制部分的运动控制命令,处理命令,并发送给移动平台;该程序的流程顺序是:启动后开启两个线程,一个线程是:创建服务器socket,服务器socket登记接口,监听连接请求,是否有连接请求?当答案为否时返回监听连接请求;当答案为是时顺序下行接收数据,处理数据,通知远程客户端完成了一次发送,同时发送运动控制指令;另一个线程是:采集移动平台传感器信息,检测是否存在有效的socket连接?当答案为否时返回采集移动平台传感器信息;当答案为是时则发送移动平台传感器信息到远程控制部分。3.根据权利要求1所述一种基于手势的移动平台远程控制系统,其特征在于:所述笔记本电脑运行远程控制程序是:利用socket套接字,将笔记本电脑设置为虚拟服务端,创建服务端socket,通过服务器端的地址和端口向服务器端发送连接请求,创建服务端socket的数据传输;该程序的流程顺序是:启动后开启两个线程,一个线程是:创建客户端socket,通过服务器地址和端口号向服务器发送连接请求,是否成功建立连接关系?当答案为否时返回通过服务器地址和端口号向服务器发送连接请求;当答案为是时顺序下行创建用于发送数据的服务器socket,创建用于接收数据的服务器socket;另一个线程是:启动LeapMot1n体感控制器,判断手势信息并生成控制指令,检测是否存在有效的socket连接?当答案为否时返回判断手势信息并生成控制指令;当答案为是时顺序下行发送运动控制指令到移动平台控制部分。4.根据权利要求1所述一种基于手势的移动平台远程控制系统,其特征在于:所述移动平台具有前进、后退、原地旋转和以设定转弯半径转弯的运动能力。5.根据权利要求1所述一种基于手势的移动平台远程控制系统,其特征在于:所述摄像头能够同时采集彩色图像和深度图像。
【文档编号】G05B19/04GK105912105SQ201610204528
【公开日】2016年8月31日
【申请日】2016年3月31日
【发明人】孙昊, 蔡俊奇, 杨鹏
【申请人】河北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1