机器人控制方法及终端的制作方法

文档序号:6294180阅读:117来源:国知局
机器人控制方法及终端的制作方法
【专利摘要】本发明公开了一种机器人控制方法及终端,属于控制领域。所述方法包括:抓取与预定即时通信程序相关的数据包;检测所述数据包中是否包含预定表情关键字;若检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。本发明通过在检测到与预定即时通信程序相关的数据包中包含有预定表情关键字后,向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作;解决了现有的机器人控制方法较为简易的问题;达到了可以根据表情关键字控制机器人执行不同的反馈动作的效果。
【专利说明】机器人控制方法及终端
【技术领域】
[0001]本发明涉及控制领域,特别涉及一种机器人控制方法及终端。
【背景技术】
[0002]目前IM (Instant Messenger,即时通讯)程序已经成为了人们使用最为广泛的应用程序之一。基于即时通信程序衍生的周边产品也越来越多,頂机器人就是这些周边产品中的一种。
[0003]已有的一种玩偶型IM机器人在眼睛处设置有LED (Light Emitting Diode,发光二极管)灯。这种玩偶型IM机器人的控制方法,包括:检测当前终端是否接收到其它终端的頂信息;若检测结果为当前终端接收到其它终端的頂信息,则向玩偶型頂机器人发出预定指令;玩偶型頂机器人接收到该预定指令之后,将眼睛处设置的LED灯进行闪烁。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有的机器人控制方法较为简易,只能控制机器人进行眨眼操作,不能控制机器人执行其它更具有互动性的动作。

【发明内容】

[0005]为了解决现有的机器人控制方法较为简易的问题,本发明实施例提供了一种机器人控制方法及终端。所述技术方案如下:
[0006]根据本发明的一个方面,提供了一种机器人控制方法,所述方法包括:
[0007]抓取与预定即时通信程序相关的数据包;
[0008]检测所述数据包中是否包含预定表情关键字;
[0009]若检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。
[0010]进一步地,所述抓取与预定即时通信程序相关的数据包,包括:
[0011]监听包含有信令控制协议SIP报文的全部数据包;
[0012]从所述全部数据包中经过关键字过滤分析出与所述预定即时通信程序对应的服务器的IP地址和端口 ;
[0013]抓取源地址或目标地址与所述服务器的IP地址和端口相符合的包含有SIP报文的数据包,作为与所述预定即时通信程序相关的数据包。
[0014]进一步地,所述检测所述数据包中是否包含预定表情关键字,包括:
[0015]通过正则表达式检测所述数据包中的SIP报文的消息体中是否存在所述预定表情关键字。
[0016]进一步地,所述向机器人发送与所述预定表情关键字对应的控制指令,包括:
[0017]根据所述预定表情关键字在预设的哈希表中查询对应的控制指令;
[0018]调用预设动态链接库中的函数向所述机器人发送查询到的所述控制指令。[0019]进一步地,所述根据所述预定表情关键字在预设的哈希表中查询对应的控制指令之前,还包括:
[0020]将所述预定表情关键字与所述控制指令之间的对应关系以哈希表形式进行存储。
[0021]根据本发明的另一方面,提供了一种终端,所述终端,包括:
[0022]数据包抓取模块,用于抓取与预定即时通信程序相关的数据包;
[0023]关键字检测模块,用于检测所述数据包抓取模块抓取的数据包中是否包含预定表情关键字;
[0024]控制发送模块,用于若所述关键字检测模块检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。
[0025]进一步地,所述数据包抓取模块,包括:
[0026]启动监听单元、地址分析单元和数据包抓取单元;
[0027]所述启动监听单元,用于监听包含有信令控制协议SIP报文的全部数据包;
[0028]所述地址分析单元,用于从所述启动监听单元监听到的全部数据包中经过关键字过滤分析出与所述预定即时通信程序对应的服务器的IP地址和端口 ;
[0029]所述数据包抓取单元,用于抓取源地址或者目标地址与所述地址分析单元分析到的服务器的IP地址和端口相符合的包含有SIP报文的数据包,作为与所述预定即时通信程序相关的数据包。
[0030]进一步地,所述关键字检测模块,具体用于通过正则表达式检测所述数据包中的SIP报文的消息体中是否存在所述预定表情关键字。
[0031]进一步地,所述控制发送模块,包括:
[0032]指令查询单元和指令发送单元;
[0033]所述指令查询单元,用于根据所述关键字检测模块检测到的预定表情关键字在预设的哈希表中查询对应的控制指令;
[0034]所述指令发送单元,用于调用预设动态链接库中的函数向所述机器人发送所述指令查询单元查询到的所述控制指令。
[0035]进一步地,所述控制发送模块,还包括:关系存储单元;
[0036]所述关系存储单元,用于将所述预定表情关键字与所述控制指令之间的对应关系以哈希表形式进行存储。
[0037]本发明实施例提供的技术方案带来的有益效果是:
[0038]通过在检测到与预定即时通信程序相关的数据包中包含有预定表情关键字后,向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作;解决了现有的机器人控制方法较为简易的问题;达到了可以根据表情关键字控制机器人执行不同的反馈动作的效果。
【专利附图】

【附图说明】
[0039]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1是本发明实施例一提供的机器人控制方法的方法流程图;
[0041]图2是本发明实施例二提供的机器人控制方法的方法流程图;
[0042]图3是本发明实施例三提供的终端的结构示意图;
[0043]图4是本发明实施例四提供的终端的结构示意图。
【具体实施方式】
[0044]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0045]请参考图1,其示出了本发明一个实施例提供的机器人控制方法的方法流程图。本实施例主要以该机器人控制方法应用于诸如台式电脑、笔记本、平板电脑或者智能手机之类的终端中来举例说明。该机器人控制方法,包括:
[0046]步骤102,抓取与预定即时通信程序相关的数据包;
[0047]终端可以从自身的网卡处抓取与预定即时通信程序相关的数据包。
[0048]步骤104,检测数据包中是否包含预定表情关键字;
[0049]终端检测抓取的数据包中是否包含有预定表情关键字。
[0050]步骤106,若检测到数据包中包含有预定表情关键字,则向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作。
[0051]若终端检测到抓取的数据包中包含有预定表情关键字,则向机器人发送与预定表情关键字对应的控制指令。机器人在接收到与预定表情关键字对应的控制指令之后,根据控制指令执行相应的反馈动作。
[0052]综上所述,本实施例提供的机器人控制方法,通过在检测到与预定即时通信程序相关的数据包中包含有预定表情关键字后,向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作;解决了现有的机器人控制方法较为简易的问题;达到了可以根据表情关键字控制机器人执行不同的反馈动作的效果。
[0053]请参考图2,其示出了本发明另一实施例提供的机器人控制方法的方法流程图。本实施例主要以该机器人控制方法应用于诸如台式电脑、笔记本、平板电脑或者智能手机之类的终端中来举例说明。该机器人控制方法,包括:
[0054]步骤202,监听包含有SIP报文的全部数据包;
[0055]SIP (Session Initiation Protocol,信令控制协议)是大部分即时通信程序所采用的通信协议。在终端启动之后,终端中的后台程序开始监听包含有SIP报文的全部数据包。
[0056]步骤204,从全部数据包中经过关键字过滤分析出与预定即时通信程序对应的服务器的IP地址和端口 ;
[0057]由于当前终端上采用SIP协议的程序可能不止一个,为了减少监听工作量,可以只监听与预定即时通信程序相关的数据包,比如,终端上可能同时运行有IMA和MB,而终端只希望监听IMA的数据包。此时,终端可以从监听的全部数据包中经过关键字过滤分析出与IMA对应的服务器的IP地址和端口。具体来讲,使用IMA的终端启动后,首先需要与登录服务器Al完成登录操作,然后与登录服务器Al分配的通信服务器A 2建立TCP(Transmission Control Protocol,传输控制协议)长连接,以便通过该TCP长连接与其它终端交互通信。假设登录服务器Al对应的网络地址为“XXX.com.cn”,则终端可以通过正则表达式进行关键字过滤,以得到与登录服务器Al完成登录操作的相关数据包,过滤时使用的关键字可以包括“XXX.com.cn”和“sip”。在终端过滤出与登录服务器Al完成登录操作的相关数据包后,可以分析出通信服务器A 2的IP地址和端口。
[0058]步骤206,抓取源地址或目标地址与服务器的IP地址和端口相符合的包含有SIP报文的数据包,作为与预定即时通信程序相关的数据包;
[0059]然后,终端可以抓取源地址或目标地址与通信服务器A 2的IP地址和端口相符合的包含有SIP报文的数据包,作为与IMA相关的数据包。抓取数据包可以利用Winpcap(windows packet capture,抓包)工具实现。
[0060]需要说明的是,经过上述步骤,可以完成抓取与预定即时通信程序相关的数据包的过程。但是步骤204和206是为了较少监听数据量的优选步骤,仅需步骤202也可以实现本实施例。
[0061]步骤208,检测数据包中是否包含预定表情关键字;
[0062]终端在抓取到的数据包中检测是否包含预定表情关键字,比如,微笑表情的表情关键字是“/微笑”、悲伤表情的表情关键字是“/悲伤”。具体来讲,终端通过正则表达式检测抓取到的数据包中的SIP报文的消息体中是否存在预定表情关键字。
[0063]步骤210,若检测到数据包中包含有预定表情关键字,则根据预定表情关键字在预设的哈希表中查询对应的控制指令;
[0064]终端可以预先将预定表情关键字与控制指令之间的对应关系以哈希表形式进行存储,比如,表情关键字“/微笑”对应的控制指令是“0x01”、表情关键字“/悲伤”对应的控制指令是“0x02”。然后,若终端检测到抓取的数据包中包含有预定表情关键字,则根据预定表情关键字在预设的哈希表中查询对应的控制指令。如果终端与机器人之间采用USB(Universal Serial BUS,通用串行总线)数据线相连,贝U控制指令可以是USB控制指令。
[0065]步骤212,调用预设动态链接库中的函数向机器人发送查询到的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作。
[0066]终端在查询到与预定表情关键字对应的控制指令之后,调用预设动态链接库中的函数向机器人发送查询到的控制指令。具体来讲,机器人可以由外壳、置于外壳内部的单片机和各种外设组件构成。外设组件可以包括电子马达、扬声器、LED灯和磁线圈等。单片机可以使用USB1.1标准协议,并相应地实现一个DLL (Dynamic Link Library,动态链接)库在终端上,供终端上的程序调用。终端通过调用动态链接库,可以通过USB数据线向单片机发送USB控制指令。单片机接收到相应的USB控制指令,通过逻辑电路完成相应的PWM(Pulse Width Modulation,脉冲宽度调制)信号输出,从而利用PWM信号控制各种外设组件协作完成与预定表情关键字对应的反馈动作。
[0067]在一个具体的例子中,机器人是一个包括有电子马达、LED灯、发声芯片和扬声器的人形玩偶,通过USB数据线与终端相连。终端在查询到与狂笑表情关键字对应的狂笑控制指令之后,调用预设动态链接库中的函数向机器人发送查询到的狂笑控制指令。机器人中的单片机接收到狂笑控制指令之后,生成三路PWM信号。其中,一路PWM信号控制电子马达旋转,使得人形玩偶的手臂和身体发生抖动;另一路PWM信号控制位于人形玩偶的脸部的红色LED进行闪烁显不;再一路PWM信号控制发声芯片和扬声器发出狂笑的笑声。
[0068]综上所述,本实施例提供的机器人控制方法,通过在检测到与预定即时通信程序相关的数据包中包含有预定表情关键字后,向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作;解决了现有的机器人控制方法较为简易的问题;达到了可以根据表情关键字控制机器人执行不同的反馈动作的效果。还通过只抓取与预定通信程序相关的数据包,达到了节省监听数据量的效果。还通过根据预定表情关键字在预设的哈希表中查询对应的控制指令,达到了可以使用表情关键字作为索引直接在哈希表中快速查询出对应的控制指令的效果。
[0069]请参考图3,其示出了本发明一个实施例提供的终端的结构方框图。该终端包括:数据包抓取模块320、关键字检测模块340和控制发送模块360。
[0070]数据包抓取模块320,用于抓取与预定即时通信程序相关的数据包;
[0071]关键字检测模块340,用于检测所述数据包抓取模块320抓取的数据包中是否包含预定表情关键字;
[0072]控制发送模块360,用于若所述关键字检测模块340检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。
[0073]综上所述,本实施例提供的终端,通过在检测到与预定即时通信程序相关的数据包中包含有预定表情关键字后,向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作;解决了现有的机器人控制方法较为简易的问题;达到了可以根据表情关键字控制机器人执行不同的反馈动作的效果。
[0074]请参考图4,其示出了本发明另一实施例提供的终端的结构方框图。作为基于图3所示实施例提供的更为优选的实施例,该终端包括:数据包抓取模块320、关键字检测模块340和控制发送模块360。
[0075]数据包抓取模块320,用于抓取与预定即时通信程序相关的数据包。
[0076]具体来讲,所述数据包抓取模块320可以包括:启动监听单元322、地址分析单元324和数据包抓取单元326。所述启动监听单元322,用于监听包含有信令控制协议SIP报文的全部数据包;所述地址分析单元324,用于从所述启动监听单元322监听到的全部数据包中经过关键字过滤分析出与所述预定即时通信程序对应的服务器的IP地址和端口 ;所述数据包抓取单元326,用于抓取源地址或者目标地址与所述地址分析单元分析到的服务器的IP地址和端口相符合的包含有SIP报文的数据包,作为与所述预定即时通信程序相关的数据包。
[0077]关键字检测模块340,用于检测所述数据包抓取模块320抓取的数据包中是否包含预定表情关键字。
[0078]具体来讲,关键字检测模块340,用于通过正则表达式检测所述数据包中的SIP报文的消息体中是否存在所述预定表情关键字。
[0079]控制发送模块360,用于若所述关键字检测模块340检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。
[0080]具体来讲,所述控制发送模块360,包括:指令查询单元362和指令发送单元364。所述指令查询单元362,用于根据所述关键字检测模块340检测到的预定表情关键字在预设的哈希表中查询对应的控制指令;所述指令发送单元364,用于调用预设动态链接库中的函数向所述机器人发送所述指令查询单元362查询到的所述控制指令。
[0081]进一步地,所述控制发送模块362,还可以包括有关系存储单元361。所述关系存储单元361,用于将所述预定表情关键字与所述控制指令之间的对应关系以哈希表形式进行存储。此时,所述指定查询单元362,用于根据所述关键字检测模块340检测到的预定表情关键字在所述关系存储单元361存储的哈希表中查询对应的控制指令。
[0082]综上所述,本实施例提供的终端,通过在检测到与预定即时通信程序相关的数据包中包含有预定表情关键字后,向机器人发送与预定表情关键字对应的控制指令,以便机器人根据控制指令执行与预定表情关键字对应的反馈动作;解决了现有的机器人控制方法较为简易的问题;达到了可以根据表情关键字控制机器人执行不同的反馈动作的效果。还通过只抓取与预定通信程序相关的数据包,达到了节省监听数据量的效果。还通过根据预定表情关键字在预设的哈希表中查询对应的控制指令,达到了可以使用表情关键字作为索引直接在哈希表中快速查询出对应的控制指令的效果。
[0083]需要说明的是:上述实施例提供的终端在控制机器人时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的终端与机器人控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0084]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0085]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0086]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种机器人控制方法,其特征在于,所述方法包括: 抓取与预定即时通信程序相关的数据包; 检测所述数据包中是否包含预定表情关键字; 若检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。
2.根据权利要求1所述的机器人控制方法,其特征在于,所述抓取与预定即时通信程序相关的数据包,包括: 监听包含有信令控制协议SIP报文的全部数据包; 从所述全部数据包中经过关键字过滤分析出与所述预定即时通信程序对应的服务器的IP地址和端口 ; 抓取源地址或目标地址与所述服务器的IP地址和端口相符合的包含有SIP报文的数据包,作为与所述预定即时通信程序相关的数据包。
3.根据权利要求2所述的机器人控制方法,其特征在于,所述检测所述数据包中是否包含预定表情关键字,包括: 通过正则表达式检测所述数据包中的SIP报文的消息体中是否存在所述预定表情关键字。
4.根据权利要求1至3任一所述的机器人控制方法,其特征在于,所述向机器人发送与所述预定表情关键字对应的控制指令,包括: 根据所述预定表情关键字在预设的哈希表中查询对应的控制指令; 调用预设动态链接库中的函数向所述机器人发送查询到的所述控制指令。
5.根据权利要求4所述的机器人控制方法,其特征在于,所述根据所述预定表情关键字在预设的哈希表中查询对应的控制指令之前,还包括: 将所述预定表情关键字与所述控制指令之间的对应关系以哈希表形式进行存储。
6.—种终端,其特征在于,所述终端,包括: 数据包抓取模块,用于抓取与预定即时通信程序相关的数据包; 关键字检测模块,用于检测所述数据包抓取模块抓取的数据包中是否包含预定表情关键字; 控制发送模块,用于若所述关键字检测模块检测到所述数据包中包含有预定表情关键字,则向机器人发送与所述预定表情关键字对应的控制指令,以便所述机器人根据所述控制指令执行与所述预定表情关键字对应的反馈动作。
7.根据权利要求6所述的终端,其特征在于,所述数据包抓取模块,包括: 启动监听单元、地址分析单元和数据包抓取单元; 所述启动监听单元,用于监听包含有信令控制协议SIP报文的全部数据包; 所述地址分析单元,用于从所述启动监听单元监听到的全部数据包中经过关键字过滤分析出与所述预定即时通信程序对应的服务器的IP地址和端口 ; 所述数据包抓取单元,用于抓取源 地址或者目标地址与所述地址分析单元分析到的服务器的IP地址和端口相符合的包含有SIP报文的数据包,作为与所述预定即时通信程序相关的数据包。
8.根据权利要求6所述的终端,其特征在于,所述关键字检测模块,具体用于通过正则表达式检测所述数据包中的SIP报文的消息体中是否存在所述预定表情关键字。
9.根据权利要求6至8任一所述的终端,其特征在于,所述控制发送模块,包括: 指令查询单元和指令发送单元; 所述指令查询单元,用于根据所述关键字检测模块检测到的预定表情关键字在预设的哈希表中查询对应的控制指令; 所述指令发送单元,用于调用预设动态链接库中的函数向所述机器人发送所述指令查询单元查询到的所述控制指令。
10.根据权利要求9所述的终端,其特征在于,所述控制发送模块,还包括:关系存储单元; 所述关系存储单 元,用于将所述预定表情关键字与所述控制指令之间的对应关系以哈希表形式进行存储。
【文档编号】G05B19/042GK103914005SQ201210591536
【公开日】2014年7月9日 申请日期:2012年12月31日 优先权日:2012年12月31日
【发明者】李阳 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1