机器人及其动作控制方法和装置与流程

文档序号:13973975阅读:609来源:国知局
机器人及其动作控制方法和装置与流程

本发明涉及机器人领域,具体而言,涉及一种机器人及其动作控制方法和装置。



背景技术:

随着人们生活质量提高和机器人技术的发展,人们对智能机器人的需求越来越多,各种功能的机器人应运而生,如扫地机器人,送餐机器人,陪护机器人等。但这些机器人只能提供特定的服务,动作单一、机械,跟人的交互量低,且没有什么附加功能,无法根据人们的需求及时做出相应的响应。

智能机器人大多功能单一,智能化程度低,能够处理的外界信号也较少,而且都是偏向于服务型的,在做动作方面一般都是将已经编好的动作做一遍,中间是不能暂停或者暂停后再次启动动作需要重新做一遍。给人的感觉很死板,无法体现出跟人的交互。如果在机器人动作执行的过程中发出指令,机器人无法立即响应,只能等到当前的动作全部做完才能响应,当动作做完后,距离指令的发出可能已经很长时间,机器人再执行指令可能已经没有意义了,用户也等的不耐烦了,因此机器人的响应速度慢,用户体验差。

针对相关技术中机器人在执行动作时响应速度慢的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种机器人及其动作控制方法和装置,以解决机器人在执行动作时响应速度慢的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种机器人动作控制方法,该方法包括:在机器人执行第一预设动作时,获取机器人的动作响应模式,其中,动作响应模式为机器人对控制指令的响应模式;接收控制指令,其中,控制指令为控制机器人执行第二预设动作的指令;以及根据动作响应模式控制机器人执行第二预设动作,其中,机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,停止执行第一预设动作,开始执行第二预设动作。

进一步地,根据动作响应模式控制机器人执行第二预设动作包括:获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;判断机器人的动作在第一预设动作的序列中的执行状态,其中,执行状态包括执行开始,执行中和执行完成;如果判断出机器人的动作在第一预设动作的序列中的执行状态为执行中,则控制机器人执行第二预设动作;如果判断出机器人的动作在第一预设动作的序列中的执行状态为执行开始和执行完成,则不控制机器人执行第二预设动作。

进一步地,判断机器人的动作在第一预设动作的序列中的执行状态包括:获取机器人在第一预设动作的序列中动作执行状态的标识信息;根据标识信息确定机器人在第一预设动作的序列中的动作执行状态。

进一步地,动作响应模式还包括第二模式,根据动作响应模式控制机器人执行第二预设动作包括:获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;在机器人的第一预设动作的序列中的动作执行完之后,控制机器人执行第二预设动作。

进一步地,机器人包括控制器和传感器,接收控制指令包括:接收用户输入的控制指令;或接收控制器生成的控制指令,其中,控制器根据传感器采集到的信号生成控制指令。

进一步地,传感器为用于探测障碍物的传感器,接收控制器生成的控制指令包括:机器人通过传感器探测机器人运行路上的障碍物;在传感器探测到机器人运行路上的障碍物时,控制器生成躲避障碍物的指令;机器人接收躲避障碍物的指令。

进一步地,接收控制指令包括接收语音控制指令。

为了实现上述目的,根据本发明的另一方面,还提供了一种机器人动作控制装置,该装置包括:获取单元,用于在机器人执行第一预设动作时,获取机器人的动作响应模式,其中,动作响应模式为机器人对控制指令的响应模式;接收单元,用于接收控制指令,其中,控制指令为控制机器人执行第二预设动作的指令;以及控制单元,用于根据动作响应模式控制机器人执行第二预设动作,其中,机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,停止执行第一预设动作,开始执行第二预设动作。

进一步地,控制单元包括:第一获取模块,用于获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;判断模块,用于判断机器人的动作在第一预设动作的序列中的执行状态,其中,执行状态包括执行开始,执行中和执行完成;控制模块,用于在判断出机器人的动作在第一预设动作的序列中的执行状态为执行中时,控制机器人执行第二预设动作,在判断出机器人的动作在第一预设动作的序列中的执行状态为执行开始和执行完成时,不控制机器人执行第二预设动作。

进一步地,第一获取模块包括:获取子模块,用于获取机器人在第一预设动作的序列中动作执行状态的标识信息;确定子模块,用于根据标识信息确定机器人在第一预设动作的序列中的动作执行状态。

进一步地,动作响应模式还包括第二模式,控制单元包括:第二获取模块,用于获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;第二控制模块,用于在机器人的第一预设动作的序列中的动作执行完之后,控制机器人执行第二预设动作。

进一步地,机器人包括控制器和传感器,接收单元包括:第一接收模块,用于接收用户输入的控制指令;或第二接收模块,用于接收控制器生成的控制指令,其中,控制器根据传感器采集到的信号生成控制指令。

进一步地,传感器为用于探测障碍物的传感器,第二接收模块包括:检测子模块,用于使机器人通过传感器探测机器人运行路上的障碍物;生成子模块,用于在传感器探测到机器人运行路上的障碍物时,通过控制器生成躲避障碍物的指令;接收子模块,用于通过机器人接收躲避障碍物的指令。

为了实现上述目的,根据本发明的另一方面,还提供了一种机器人,该机器人包括本发明的机器人动作控制装置。

本发明通过在机器人执行第一预设动作时,获取机器人的动作响应模式,其中,动作响应模式为机器人对控制指令的响应模式;接收控制指令,其中,控制指令为控制机器人执行第二预设动作的指令;以及根据动作响应模式控制机器人执行第二预设动作,其中,机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,停止执行第一预设动作,开始执行第二预设动作,解决了机器人在执行动作时响应速度慢的问题,进而达到了提高机器人在执行动作时的响应速度的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的机器人动作控制方法的流程图;

图2是根据本发明第一实施例的机器人动作控制的示意图;

图3是根据本发明第二实施例的机器人动作控制的示意图;

图4是根据本发明实施例的机器人动作控制模型的示意图;以及

图5是根据本发明实施例的机器人动作控制装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种机器人动作控制方法。

图1是根据本发明实施例的机器人动作控制方法的流程图,如图1所示,该方法包括以下步骤:

步骤s102:在机器人执行第一预设动作时,获取机器人的动作响应模式。

机器人可以是轮式移动的机器人,例如,全方位轮式机器人或者差速移动平台轮式机器人,机器人也可以是双足机器人等。第一预设动作可以是一个动作,也可以是系列动作,例如,前进5米的动作的序列。动作响应模式为机器人对控制指令的响应模式,动作响应模式也即机器人的心情模式,或者性格模式,例如,机器人的心情模糊可以是开心或者不开心,在机器人的不同动作响应模式下,机器人对指令的回应方式不同,例如,在开心模式下,机器人对接收到的指令的反应更快,能够较快的切换动作,执行指令,在不开心模式下,机器人对于指令的回应不那么快,可能会继续运行当前的动作,直到当前动作结束才执行接收到的指令。

动作响应模式可以包含多种模式,动作响应模式可以是预先设定的模式,例如,动作响应模式还可以是娇羞模式。在每个模式下,机器人对于指令的响应方式不同,机器人对于每个指令的具体回应方式可以预先设置并保存,也可以在机器人的运行过程中进行调整和设置,可选地,在存储器中存储各个动作响应模式的数据。

步骤s104:接收控制指令。

控制指令为控制机器人执行第二预设动作的指令,第二预设动作可以是“跳舞”或者向某个物体靠近的指令,控制指令可以是用户发出的控制指令,例如,用户发出语音指令,让机器人跳舞。控制指令可以是控制器生成的控制指令,其中,控制器根据传感器采集到的信号生成控制指令,例如,机器人在运行过程中,由传感器探测机器人运行路上的障碍物,然后由控制器进行分析和处理生成的控制指令。在传感器探测到机器人运行路上的障碍物时,将探测到的障碍物的数据发送至控制器,然后控制器生成躲避障碍物的指令,发送至机器人,例如,控制器将躲避障碍物的指令发送至机器人的处理器,机器人接收躲避障碍物的指令。

接收控制指令可以是接收语音控制指令,也可以是通过无线网络接收数字控制指令等。

步骤s106:根据动作响应模式控制机器人执行第二预设动作。

机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,在执行第一预设动作的过程中,停止执行第一预设动作,开始执行第二预设动作。第一模式可以是开心模式,在开心模式下,机器人在执行第一预设动作的过程中,接收到控制指令后,能够停止执行当前的第一预设动作,立即根据控制指令执行第二预设动作,而不必等到当前的动作全部做完再执行控制指令。

例如,在进行动作封装时,将机器人的一个动作分解成很多小动作,在每个小动作执行时都能马上切换到第二预设动作,比如机器人在“开心”的情绪模式下,如果正在行走,当主人向机器人发出“跳舞”指令的时候,机器人可以马上停止当前的行走动作,转向跳舞的动作。

可选地,根据动作响应模式控制机器人执行第二预设动作可以是:在第一模式下,获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;判断机器人的动作在第一预设动作的序列中的执行状态,其中,执行状态包括执行开始,执行中和执行完成;如果判断出机器人的动作在第一预设动作的序列中的执行状态为执行中,则控制机器人执行第二预设动作,如果判断出机器人的动作在第一预设动作的序列中的执行状态为执行开始和执行完成,则不控制机器人执行第二预设动作。

例如,机器人当前正在执行的动作包括多个动作的序列,也即,包括多个小动作,在每个小动作包括三个执行状态,执行开始,执行中和执行完成,如果机器人在“开心”的情绪模式下,当执行状态在执行中时可以停止当前的动作切换到第二预设动作,如果执行状态是执行开始和执行完成,则不能立即切换到第二预设动作,但是继续执行动作的序列中的动作,可以在下一个执行中的执行状态时切换到第二预设动作。

可选地,判断机器人的动作在第一预设动作的序列中的执行状态包括:获取机器人在第一预设动作的序列中动作执行状态的标识信息;根据标识信息确定机器人在第一预设动作的序列中的动作执行状态。在判断机器人在第一预设动作的序列中的执行状态时,可以通过获取机器人的动作执行状态的标识信息的方式判断机器人当前的动作执行状态,例如,在机器人的动作执行开始的标识信息为mot_star,执行中的标识信息为mot_do,执行完成的标识信息是mot_idle,则,机器人的主控系统可以通过获取机器人运行过程中动作执行状态的标识信息来判断机器人当前的运行状态为哪个动作执行状态。动作执行的标识信息也可以是其他类型的标识信息,例如,数字等。

可选地,动作响应模式还包括第二模式,根据动作响应模式控制机器人执行第二预设动作包括:获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;在机器人的第一预设动作的序列中的动作执行完之后,控制机器人执行第二预设动作。

第二预设模式可以是不开心模式,或者生气模式,在第二模式时,机器人在接收到控制指令后,不会立即响应,而是继续执行当前的动作的序列中的动作,直到当前的动作的序列中的动作全部执行完之后,才会响应控制指令。也即,将封装的多个小动作全部做完再响应控制指令。在判断当前的动作的序列中的动作是否全部做完时,可以通过获取动作执行状态的标识信息来判断。

在一种可选的实施方式中,机器人能够根据接收到的指令做出相应的反应,比如机器人的语音模块在收到主人“过来”的命令后,会控制自身状态,往主人走去,但是在行走的过程中,可能会收到其他信息,比如,距离传感器探测到障碍物的信息或者会语音采集模块接到主人“跳舞”的命令,这就需要机器人停止当前的行走动作,切换到指令对应的动作,避障或者“跳舞”。传统的机器人的动作控制中,机器人动作封装中都是一系列完整的动作,必须要把这一系列动作做完之后才能停止或者切换到下一个动作,当执行完这一套动作之后,主人可能已经等得不耐烦了,或者已经发出好几个命令了。机器人此时再执行主人的命令就不确定执行主人的哪个命令了,因此机器人的响应速度慢,用户体验差。本发明实施例中,给机器人设定了一种或多种动作响应模式,也即,机器人的心情模式,机器人的心情模式可以有两种,开心模式和不开心模式,其中,在开心模式下,机器人正在执行的动作可以分解为多个小动作,在每个小动作执行过程中,接收到主人的指令后,能够立即停止当前的动作,转向执行指令。例如,在机器人行走时,当主人向机器人发出“跳舞”指令时,机器人可以马上停止当前的行走动作,转向跳舞的动作。

本发明实施例的机器人动作控制方法能够接受多种外接信息,根据具体的场景控制自身的动作,处理、决策并作出合适的响应,使机器人的动作更加的流畅和灵活,实现与外界的实时交互。

该实施例采用在机器人执行第一预设动作时,获取机器人的动作响应模式,其中,动作响应模式为机器人对控制指令的响应模式;接收控制指令,其中,控制指令为控制机器人执行第二预设动作的指令;以及根据动作响应模式控制机器人执行第二预设动作,其中,机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,在执行第一预设动作的过程中,停止执行第一预设动作,执行第二预设动作,从而解决了机器人在执行动作时响应速度慢的问题,进而达到了提高机器人在执行动作时的响应速度的效果。

图2是根据本发明第一实施例的机器人动作控制的示意图,如图2所示,在机器人执行动作的过程中,包括三个动作执行状态,每个执行状态具有不同的标识信息,例如,所有动作执行开始的标识信息为mot_star,执行中的标识信息为mot_do,执行完成的标识信息是mot_idle,在控制机器人运行的程序中在每个动作执行状态切换时状态值不同,例如,在机器人由执行开始转换到执行中,状态值变为mot_is_doing;在机器人由执行中转换到执行结束,状态值变为!mot_is_doing;在机器人由执行结束转换到下一个动作执行开始,状态值变为cmd!=0。其中,cmd!=0表示机器人接收到了某个动作指令,在机器人做某个动作的时候,其它传感器还在接收信号,所以主控系统需要实时的了解机器人当前的动作状态,主控系统实时监测当前的动作状态,当动作状态为mot_do时,可以切换到下一个动作,如果当前的状态值不是mot_do的情况下接收到新的指令,此时继续执行当前动作,不切换。

图3是根据本发明第二实施例的机器人动作控制的示意图,如图3所示,机器人的行走可以分为三个小动作,wk_fst,wk_one,wk_lst,每个小动作都有三个状态:执行开始,执行中和执行结束,标识信息为idle,star,do,在机器人行走的过程中如果主人发出控制指令,也即命令,机器人马上能够检测到现在自身动作处于哪个执行状态,立刻从当前的小动作切换,执行主人的命令,因此机器人能够给人及时的反馈和回应,让主人感觉到它的活力,使得机器人更像一个人类的小伙伴,提高用户体验。

图4是根据本发明实施例的机器人动作控制模型的示意图。

机器人的操作系统包含但是不局限以下的几种功能模块:主控系统模块;运动控制模块;语音采集处理模块;图像采集处理模块;力敏模块;测距模块;音频播放模块;其他传感器的接口。其中,语音模块、运动控制模块、力敏模块和测距模块通过通用异步收发传输器(universalasynchronousreceiver/transmitter,简称为uart)接口与主控板连接通信,输入接口还可以是摄像头的输入接口,主控板可以是主控系统模块中的主控板;音频播放模块通过音频(audio)接口与主控板连接通信;图像采集处理模块通过usb接口与主控板连接通信。主控模块通过uart和usb接口接收各类传感器采集的数据,然后处理、决策,输出相应的动作和声音。机器人的动作控制模型包括输入、处理、决策和输出,其中,输入可以是通过多个传感器的接口输入,主控系统模块对输入的信号进行处理,然后生成决策信号,通过决策信号控制机器人的输出,例如,输出可以是动作、声音。

本发明实施例的机器人动作控制方法还能够应用于其他领域的机器人,例如,机械手臂等,其中与外界的智能设备的通信和控制也可以扩展为其他的带有通讯模块的执行器或者执行装置。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种机器人动作控制装置,该机器人动作控制装置可以用于执行本发明实施例的机器人动作控制方法。

图5是根据本发明实施例的机器人动作控制装置的示意图,如图5所示,该装置包括:

获取单元10,用于在机器人执行第一预设动作时,获取机器人的动作响应模式,其中,动作响应模式为机器人对控制指令的响应模式。

接收单元20,用于接收控制指令,其中,控制指令为控制机器人执行第二预设动作的指令。

控制单元30,用于根据动作响应模式控制机器人执行第二预设动作,其中,机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,停止执行第一预设动作,开始执行第二预设动作。

可选地,控制单元30包括:第一获取模块,用于获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;判断模块,用于判断机器人的动作在第一预设动作的序列中的执行状态,其中,执行状态包括执行开始,执行中和执行完成;控制模块,用于在判断出机器人的动作在第一预设动作的序列中的执行状态为执行中时,控制机器人执行第二预设动作,在判断出机器人的动作在第一预设动作的序列中的执行状态为执行开始和执行完成时,不控制机器人执行第二预设动作。

可选地,第一获取模块包括:获取子模块,用于获取机器人在第一预设动作的序列中动作执行状态的标识信息;确定子模块,用于根据标识信息确定机器人在第一预设动作的序列中的动作执行状态。

可选地,动作响应模式还包括第二模式,控制单元30包括:第二获取模块,用于获取机器人的第一预设动作的序列,其中,第一预设动作的序列为机器人执行的第一预设动作的序列,第一预设动作的序列中至少包括一个动作;第二控制模块,用于在机器人的第一预设动作的序列中的动作执行完之后,控制机器人执行第二预设动作。

可选地,机器人包括控制器和传感器,接收单元20包括:第一接收模块,用于接收用户输入的控制指令;或第二接收模块,用于接收控制器生成的控制指令,其中,控制器根据传感器采集到的信号生成控制指令。

可选地,传感器为用于探测障碍物的传感器,第二接收模块包括:检测子模块,用于使机器人通过传感器探测机器人运行路上的障碍物;生成子模块,用于在传感器探测到机器人运行路上的障碍物时,通过控制器生成躲避障碍物的指令;接收子模块,用于通过机器人接收躲避障碍物的指令。

该实施例采用获取单元10在机器人执行第一预设动作时,获取机器人的动作响应模式,其中,动作响应模式为机器人对控制指令的响应模式;接收单元20接收控制指令,其中,控制指令为控制机器人执行第二预设动作的指令。控制单元30根据动作响应模式控制机器人执行第二预设动作,其中,机器人的动作响应模式包括第一模式,在第一模式下,机器人在接收到控制指令之后,停止执行第一预设动作,开始执行第二预设动作,从而解决了机器人在执行动作时响应速度慢的问题,进而达到了提高机器人在执行动作时的响应速度的效果。

本发明实施例还提供了一种机器人,该机器人包括本发明实施例提供的机器人动作控制装置。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1