机器人唤醒方法、装置和机器人与流程

文档序号:11208850
机器人唤醒方法、装置和机器人与流程

本发明实施例涉及人工智能自动控制领域,例如涉及一种机器人唤醒方法、装置和机器人。



背景技术:

随着人工智能技术的发展,机器人为人类的生产生活带来了很多便利。当前用户对机器人进行控制时,可对机器人预先设置唤醒词,当机器人听到一个特定的唤醒词时,就知道是用户在呼唤自己。用户可以以唤醒词加命令内容的形式向机器人发布语音命令,例如,“Mike(唤醒词),今天天气怎么样(命令内容)?”,听到语音命令的机器人将对上述语音命令进行解析,解析出唤醒词,如果唤醒词与该机器人内设置的唤醒词一致,机器人将能够判别出是在叫自己,并将语音命令中唤醒词后的内容作为命令内容,即识别出用户是在询问今天的天气,于是便可直接做出回答,如图1示出了用户对一个机器人进行控制的场景。

在实现本发明过程中,发明人发现相关技术中至少存在如下问题:当同一用户拥有多个机器人,且某项任务需要多个机器人共同完成时,现有方法将不再适用。例如,用户命令:“Mike,Tom,Jerry,帮我把房间收拾一下”,按照上述解析方法,唤醒词为Mike的机器人解析出的命令内容是“Tom,Jerry,帮我把房间收拾一下”。由于不能正确的解析出命令内容,机器人将无法完成用户交代的任务。



技术实现要素:

本发明实施例的一个目的是提供一种新的机器人唤醒方法、装置和机器人,当用户同时对多个机器人发布语音命令时,机器人能正确的解析出命令内容,从而正确的完成用户交代的任务。

第一方面,本发明实施例提供了一种机器人唤醒方法,所述唤醒方法应用于机器人,所述方法包括:

获取语音命令;

根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容,所述唤醒词库包括至少两个唤醒词,所述唤醒词库中的唤醒词用于唤醒至少两个机器人,所述机器人对应一个或一个以上的唤醒词;

根据解析出的唤醒词和命令内容执行操作。

第二方面,本发明实施例还提供了一种机器人唤醒装置,所述唤醒装置应用于机器人,所述装置包括:

语音命令获取模块,用于获取语音命令;

语音命令解析模块,用于根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容,所述唤醒词库包括至少两个唤醒词,所述唤醒词库中的唤醒词用于唤醒至少两个机器人,所述机器人对应一个或一个以上的唤醒词;

执行模块,用于根据解析出的唤醒词和命令内容执行操作。

第三方面,本发明实施例还提供了一种机器人,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。

本发明实施例提供的唤醒方法和装置,通过在机器人内预设包括至少两个唤醒词的唤醒词库,例如用户拥有多个机器人,可以将该多个机器人对应的唤醒词预先设置于唤醒词库内,当用户同时对多个机器人发布语音命令时,机器人可以根据预设的唤醒词库正确的解析出语音命令中含有的唤醒词,从而正确的解析出语音命令中的命令内容,进而正确的完成用户交代的任务。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是现有技术中用户对一个机器人进行控制的示意图;

图2是本发明方法和装置的应用场景示意图;

图3是本发明唤醒方法的一个实施例的流程图;

图4a是本发明唤醒方法的一个实施例中获取语音命令步骤的流程图;

图4b是本发明唤醒方法的一个实施例中获取语音命令步骤的流程图;

图5是本发明唤醒方法的一个实施例中解析语音命令步骤的流程图;

图6a是本发明唤醒方法的一个实施例中执行语音命令步骤的流程图;

图6b是本发明唤醒方法的一个实施例中执行语音命令步骤的流程图;

图7a是本发明唤醒方法的一个实施例的流程图;

图7b是本发明唤醒方法的一个实施例的流程图;

图8是本发明唤醒装置的一个实施例的结构示意图;

图9是本发明唤醒装置的一个实施例中语音命令获取模块的结构示意图;

图10是本发明唤醒装置的一个实施例的结构示意图;

图11是本发明唤醒装置的一个实施例的结构示意图;以及

图12是本发明实施例提供的唤醒方法的机器人的硬件结构示意图。

具体实施方式

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

本发明提供的机器人唤醒方法和装置适用于如图2所示的应用场景,包括多个机器人20,多个机器人20之间可以通过网络30互相通信,其中,网络30可以是例如家庭或公司的局域网,或一个特定网络等。机器人20具有至少一个网络接口,与网络30建立通信连接,从网络30获取数据或者指令。用户10可以对多个机器人20进行设置或者发布命令。

每个机器人都具有与其对应的唤醒词用于将自身从休眠状态中唤醒或者响应用户的呼唤(唤醒词一般为一个,也可以为多个)。其中,所述唤醒词可以为机器人的名字,识别码或者其他任意词汇,所述唤醒词可以由用户进行设置,也可以在出厂时自带。

每个机器人都具有用于放置唤醒词的唤醒词库,所述唤醒词库可以在出厂时自带,也可以由用户设置。同一用户的各个机器人之间可以共享相同的唤醒词库,以图2所示的实施例为例,假设用户10拥有三个机器人,三个机器人的唤醒词分别为Mike、Tom和Jerry(此处以每个机器人对应一个唤醒词为例说明,但并不限于此,每个机器人也可以关联两个以上的唤醒词),那么三个机器人的唤醒词库均可以设置成包括Mike、Tom和Jerry。当用户同时向该三个机器人发布语音命令“Mike,Tom,Jerry,帮我把房间收拾一下”时,由于每个机器人的唤醒词库均包括Mike、Tom和Jerry,根据该唤醒词库,机器人可以解析出唤醒词Mike、Tom和Jerry,从而能正确的解析出唤醒词后的命令内容“帮我把房间收拾一下”。

在实际使用中,对语音命令中唤醒词的解析可以采用声学模型,唤醒词库中的唤醒词采用与唤醒词对应的音素序列,根据用户发出的语音和预设的声学模型解码出音素序列,再将该音素序列与唤醒词音素序列进行匹配,从而解析出唤醒词。解析出唤醒词后,语音命令中唤醒词后面的内容作为命令内容。语音命令中命令内容的语义解析需要事先构建命令词语法文件,用户发出的命令内容需要存在于事先构建的命令词语法文件中,根据用户发出的语音和命令词语法文件解析出命令内容的语义。

唤醒词库的更新可以由用户进行设置,也可以由机器人之间自行完成更新。例如目前的唤醒词库中包括Mike、Tom和Jerry三个唤醒词,当用户又购入一个机器人(假设唤醒词为John)并通过网络与其他机器人之间建立通信连接后,新加入的机器人会通过网络向其他机器人广播自己的唤醒词John,其他机器人接收到该唤醒词后,会将该唤醒词加入到唤醒词库中,并将更新后的唤醒词库发送给新加入的机器人。

需要说明的是,虽然在图2中仅显示了1个用户10、3个机器人20。但本领域技术人员可以理解的是,在实际应用过程中,该应用场景还可以包括更多的用户10和机器人20。本发明提供的机器人唤醒方法和装置亦适用于用户对一个或两个机器人进行控制的场合。

本发明实施例提供了一种机器人唤醒方法,所述唤醒方法可由图2所示的任一机器人执行,如图3所示,为所述唤醒方法的一个实施例的流程图,所述唤醒方法包括:

步骤101:获取语音命令;

在实际应用中,可以在机器人身上设置麦克风用于实时接收语音信号。所述语音命令可以是实时接收的语音信号。但是有时用户虽然发出语音,但不一定是针对机器人的语音命令,因此需要对语音信息进行进一步判断,如果该语音信息是针对唤醒词库中的任一唤醒词对应的机器人的命令,则将该语音信息作为语音命令。

步骤102:根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容,所述唤醒词库包括若干个唤醒词,所述唤醒词库中的唤醒词对应至少两个机器人;

其中,所述命令内容可以是从用户发出的语音命令中截取的命令内容对应的语音,也可以是对该语音进行语义解析后的结果。如果是前者,机器人在执行命令内容对应的操作时还需要进行语义解析。所述若干个包括一个或者多个,即所述唤醒词库可以包括一个或多个唤醒词。

步骤103:根据解析出的唤醒词和命令内容执行操作。

可选的,机器人解析出唤醒词和命令内容后,如果解析中的唤醒词包括自身对应的唤醒词,则执行命令内容对应的操作,如果不包含自身对应的唤醒词,则不执行任何操作。或者,无论解析出的唤醒词是否包含自身对应的唤醒词,都将命令内容发送给唤醒词对应的其他机器人,由唤醒词对应的机器人共同完成用户交代的任务。也可以由机器人根据命令内容将用户交代的任务分解成若干个子任务,将子任务分别通知唤醒词对应的其他机器人,由唤醒词对应的机器人协作完成用户交代的任务。

需要说明的是,上述步骤101、102和103并不必然被每个机器人都执行到,任一机器人有可能执行全部步骤也有可能只执行其中的一或两个步骤。以图2所示的应用场景为例,当用户发出语音“Mike,Tom,Jerry,帮我把房间收拾一下”时。机器人Mike,Tom,Jerry可以分别获取用户发出的语音命令,解析出唤醒词和命令内容后,如果发现自己是用户的命令对象,则根据解析出的命令内容执行操作。在这种情况下,三个机器人都执行了步骤101、102和103。也可能只有机器人Mike听到了用户发出的语音命令,Mike获取了语音命令后,解析出唤醒词和命令内容,将命令内容发送给Tom和Jerry,三个机器人共同执行任务。在这种情况下只有Mike执行了步骤101、102和103,而Tom和Jerry只执行了步骤103。步骤102可能只被一个机器人或几个机器人执行,执行的机器人会将解析出的唤醒词和命令内容通过网络共享给其他机器人。

本发明实施例提供的唤醒方法,通过在机器人内预设包括若干个唤醒词的唤醒词库,例如用户拥有多个机器人,可以将该多个机器人对应的唤醒词预先设置于唤醒词库内,当用户同时对多个机器人发布语音命令时,机器人可以根据预设的唤醒词库正确的解析出语音命令中含有的唤醒词,从而正确的解析出语音命令中的命令内容,进而完成用户交代的任务。

其中,具体的,在本发明的某些实施例中,如图4a所示,所述获取语音命令包括以下步骤;

步骤1011:监听语音信息;

每个机器人都会实时监听用户发出的语音信息;

步骤1012:确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

步骤1013:如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息作为语音命令。

确认上述语音信息是否是用户针对唤醒词库中的任一唤醒词对应的机器人发出的命令,如果是,则该语音信息即为用户发出的语音命令。具体的,确认所述语音信息是否为针对唤醒词库对应的机器人的命令,首先确认所述语音信息是否包括预设唤醒词库中的任一唤醒词,如果包括唤醒词库中的任一唤醒词,则继续判断该唤醒词的出现是否为用户对机器人的命令或者呼唤,而不是用户在与其他人的通话中提到机器人。判断用户发出的语音信息是否是对机器人的命令或者呼唤,可以通过判断唤醒词与后面的语音内容之间停顿的时间间隔是否超过一预设时间,如果超过一预设时间,则该语音信息是对机器人的命令或者呼唤。或者可以通过判断第一个唤醒词前面是否有其他语音内容,如果没有其他语音内容,则该语音信息是对机器人的命令或者呼唤。

可选的,在所述唤醒方法的其他实施例中,如图4b所示,所述获取语音命令包括:

步骤1014:监听语音信息;

每个机器人都会实时监听用户发出的语音信息;

步骤1015:确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

步骤1016:如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息以及监听到语音信息的起始时刻,并加入预设的临时命令记录组;

如果机器人监听到用户发出的语音信息,会进一步判断所述语音信息是否是用户针对唤醒词库中的任一唤醒词对应的机器人发出的命令,如果是,则记录所述语音信息以及机器人听到语音信息的时刻,并加入预设的临时命令记录组。

在实际应用中,机器人可以将所述语音信息和听到语音信息的时刻存入机器人的缓存中。建立临时命令组的目的是获取相对完整和清晰的用户命令,以图2所示的三个机器人为例,假设用户发布的语音命令为“Mike,Tom,Jerry,帮我把房间收拾一下”,则听到“Mike”开头、“Tom”开头或“Jerry”开头的每一个机器人记录其听到上述唤醒词时的时间戳t(起始时刻),并不一定每个机器人都能听到完整的命令,可能有的机器人正在远处向用户移动,没有听到最开始的“Mike”,听到的是“Tom,Jerry,帮我把房间收拾一下”,此处记录的时间戳就是为了防止这种半截语句被当作完整命令的情况发生。

具体的,确认所述语音信息是否为针对唤醒词库对应的机器人的命令,首先确认所述语音信息是否包括预设唤醒词库中的任一唤醒词,如果包括唤醒词库中的任一唤醒词,则继续判断该唤醒词的出现是否为用户对机器人的命令或者呼唤,而不是用户在与其他人的通话中提到机器人。判断用户发出的语音信息是否是对机器人的命令或者呼唤,可以通过判断唤醒词与后面的语音内容之间停顿的时间间隔是否超过一预设时间,如果超过一预设时间,则该语音信息是对机器人的命令或者呼唤。或者可以通过判断第一个唤醒词前面是否有其他语音内容,如果没有其他语音内容,则该语音信息是对机器人的命令或者呼唤。

步骤1017:确认临时命令记录组内的机器人记录的起始时刻中的最早时刻,根据所述最早时刻确定起始时间段;

比较临时命令记录组内的机器人记录的起始时刻,确定最早的时刻,因为最早的时刻记录的语音信息相对最完整。例如最早时刻为t1,以最早时刻t1为起点,并按照一个经验设定阈值t0确定起始时间段为从t1到t1+t0。

t0的设置可以根据机器人的性能和经验来设定,例如0.1s。一方面,不同机器人的反应有快有慢,因此需要设定一个时间差,另一方面,用户发出的两个唤醒词之间会有一个相对固定的间隔,因此设定的时间差应小于此间隔,以防漏掉一个唤醒词。

步骤1018:获得起始时刻位于所述起始时间段内的语音信息中清晰度最高的语音信息作为语音命令。

语音信息记录结束后,临时命令记录组内的机器人会对自身缓存的语音信息进行清晰度判定,得到分数值x,取起始时间段(t1到t1+t0)内的清晰度最高的语音信息作为语音命令。

需要说明的是,上述步骤1014、1015、1016、1017和1018并不必然被每个机器人都执行到,一般听到语音信息的机器人都会执行步骤1014、1015和1016,但是步骤1017和1018可能只被一个机器人或几个机器人执行,每个机器人可以向其他机器人广播自己的工作状态,由最空闲的机器人来执行,然后执行的机器人会将执行结果通过网络共享给其他机器人。

本发明实施例通过各机器人记录监听到语音信息的起始时刻,并加入临时命令记录组,通过比较临时命令记录组内的机器人记录的起始时刻,可以确定听到语音信息的最早时刻,能获得相对完整的语音命令。通过确定起始时间段内清晰度最高的语音信息作为语音命令,能获得相对完整和清晰的语音命令,增强了获取用户语音命令的可靠性。语音命令的清晰便于对所述语音命令的正确解析,语音命令的完整,可以保证能尽可能完整的解析出用户发出的唤醒词,便于各唤醒词对应的机器人之间的协同合作。

具体的,在所述唤醒方法的某些实施例中,如图5所示,所述根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容,包括:

步骤1021:根据语音命令和唤醒词库解析出语音命令中的唤醒词;

由于用户可能命令一个或者同时命令多个机器人,用户对机器人的语音命令的语法格式一般如下:

<name>,[与|和|还有|那个|嗯|…]<name>,[与|和|还有|那个|嗯|…]<name>,……,<command>。

其中,<name>为某个机器人的唤醒词,<name>的出现次数可以是一个或多个;

[与|和|还有|那个|嗯|…]为两个唤醒词间可能出现的连词,如“张三还有李四”,此连词并不是一定出现的,因此用[]表示;

<command>为唤醒词后的命令内容。

例如,用户语音命令为“张三,李四,还有王五,帮我十二点前准备好午饭”,此句话按照上述语法格式套用,则可判定“张三,李四,王五”为三个机器人的唤醒词,“还有”为连词或口头语,“帮我十二点前准备好午饭”为命令内容。

通过将语音命令和唤醒词库中的唤醒词逐一进行匹配,就可以解析出语音命令中的唤醒词。

步骤1022:根据语音命令和唤醒词解析出语音命令中的命令内容。

解析出语音命令中的唤醒词后,语音命令中唤醒词后面的内容即为用户实际的命令内容,通过对该命令内容的语义解析,就能获知用户的真实用意。

需要说明的是,上述步骤1021和1022并不必然被每个机器人都执行到,可能只被一个机器人或几个机器人执行,每个机器人可以向其他机器人广播自己的工作状态,由最空闲的机器人来执行。

具体的,在所述唤醒方法的某些实施例中,如图6a所示,所述根据解析出的唤醒词和命令内容执行操作,包括:

步骤1031:将命令内容通知与唤醒词对应的机器人,以使与唤醒词对应的机器人执行命令内容对应的操作。

可以是解析出唤醒词和命令内容的机器人也可以是通过网络获取唤醒词和命令内容的其他机器人将命令内容通知与唤醒词对应的机器人。例如,用户发布的语音命令为“Mike,Tom,Jerry,帮我把房间收拾一下”,假设解析语音命令的机器人是Mike,那么Mike会将命令内容“帮我把房间收拾一下”发送给Tom和Jerry,然后Mike、Tom和Jeery一起收拾房间。其中,Mike发送给Tom和Jeery的命令内容可以是进行语义解析后的结果,也可以是语音,需要Tom和Jerry自行对语音进行语义解析。

可选的,在所述唤醒方法的其他实施例中,如图6b所示,所述根据解析出的唤醒词和命令内容执行操作,包括:

步骤1032:根据命令内容分解任务,将分解后的任务分别通知与唤醒词对应的机器人,以使与唤醒词对应的机器人协作执行命令内容对应的操作。

在实际应用中,机器人解析出唤醒词和命令内容后,可以是解析出唤醒词和命令内容的机器人也可以是通过网络获取唤醒词和命令内容的其他机器人,可以通知唤醒词对应的其他机器人等待任务,使各个机器人建立任务组,任务组成员间开始同步(如共享位置信息,唯一识别码,自身能力等等),然后等待任务。解析语音命令的机器人根据命令内容结合各个机器人的位置和自身能力,将用户交代的任务进行拆解,分成若干个子任务,然后将拆解后的子任务发送给任务组内的其他成员,任务组内的机器人协作完成用户交代的任务。例如,以图2为例说明,假设解析语音命令的机器人为Mike,Mike将收拾房间的任务分成三个子任务:收拾客厅和卧室、收拾卫生间以及收拾厨房,Mike可以将收拾卫生间和收拾厨房的子任务分别发送给Tom和Jerry,自己收拾客厅和卧室。

本发明实施例相对于现有技术,执行任务的主体不再是单独的机器人,而是将多个机器人联合起来共同执行任务,执行效率更高,用户体验好。

如图7a所示,为所述唤醒方法的一个实施例的流程示意图,在该实施例中,所述唤醒方法,包括:

步骤201:监听语音信息;

每个机器人都会实时监听用户发出的语音信息;

步骤202:确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

步骤203:如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息作为语音命令。

每个监听到语音信息的机器人都会确认上述语音信息是否是用户针对唤醒词库中的任一唤醒词对应的机器人发出的命令,如果是,则将该语音信息作为语音命令。

步骤204:根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容。

在该实施例中,每个监听到语音命令的机器人会对语音命令进行解析,解析出唤醒词和命令内容。

步骤205:将命令内容通知与唤醒词对应的机器人,以使与唤醒词对应的机器人执行命令内容对应的操作。

解析语音命令的机器人,如果解析出的唤醒词不包括自己,则将命令内容发送给其他唤醒词对应的机器人;如果解析出的唤醒词包括自己,则开始执行命令内容对应的操作,并将命令内容发送给其他相关的机器人。机器人如果自身解析出命令内容,则按照自身解析出的命令内容执行操作,如果自身没有解析出命令内容,则按照其他机器人发送的命令内容执行操作。

本发明实施例提供的唤醒方法,通过在机器人内预设包括若干个唤醒词的唤醒词库,机器人可以根据预设的唤醒词库正确的解析出语音命令中含有的唤醒词,从而正确的解析出语音命令中的命令内容,进而正确的完成用户交代的任务。用户可以对多个机器人同时发出指令,多个机器人可以联合起来共同执行用户发布的任务,执行效率更高,用户体验好。

如图7b所示,为所述唤醒方法的一个实施例的流程示意图,在该实施例中,所述唤醒方法,包括:

步骤301:监听语音信息;

每个机器人都会实时监听用户发出的语音信息;

步骤302:确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

步骤303:如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息以及监听到语音信息的起始时刻,并加入预设的临时命令记录组;

每个监听到语音信息的机器人都会确认上述语音信息是否是用户针对唤醒词库中的任一唤醒词对应的机器人发出的命令,如果是,则记录所述语音信息以及监听到语音信息的起始时刻,并加入预设的临时命令记录组。然后,加入临时命令记录组的机器人会向其他机器人广播自己加入了临时命令记录组,以使临时命令记录组内的组员能知晓其他组员的存在。

步骤304:确认临时命令记录组内的机器人记录的起始时刻中的最早时刻,根据所述最早时刻确定起始时间段;

临时命令记录组中的机器人会向组内的其他机器人广播自己记录的起始时刻,某个机器人会确定各个起始时刻中的最早时刻,并根据该最早时刻确定起始时间段。

步骤305:获得起始时刻位于所述起始时间段内的语音信息中清晰度最高的语音信息作为语音命令

语音信息记录结束后,临时命令记录组中的机器人对自身记录的语音信息进行清晰度判定,得到清晰度分数值,然后向临时命令记录组中的其他机器人广播该清晰度分数值,某个机器人会找出位于起始时间段内清晰度最高的语音信息。

步骤306:根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容;

步骤307:根据命令内容分解任务,将分解后的任务分别通知与唤醒词对应的机器人,以使与唤醒词对应的机器人协作执行命令内容对应的操作。

需要说明的是,上述步骤304、305、306和307并不必然被每个机器人执行,每个机器人可以向其他机器人广播自己的工作状态,由最空闲的机器人来执行。

本发明实施例提供的唤醒方法,通过在机器人内预设包括若干个唤醒词的唤醒词库,机器人可以根据预设的唤醒词库正确的解析出语音命令中含有的唤醒词,从而正确的解析出语音命令中的命令内容,进而正确的完成用户交代的任务。通过各机器人记录监听到语音信息的起始时刻,并加入临时命令记录组,通过比较临时命令记录组内的机器人记录的起始时刻,可以确定听到语音信息的最早时刻,能获得相对完整的语音命令。通过确定起始时间段内清晰度最高的语音信息作为语音命令,能获得相对完整和清晰的语音命令,增强了获取用户语音命令的可靠性。用户可以对多个机器人同时发出指令,多个机器人可以以协作的方式完成用户发布的任务,执行效率更高,用户体验好。

可选的,在所述唤醒方法的其他实施例中,所述方法还包括:

更新唤醒词库。

当用户又购入一个机器人,并通过网络与其他机器人之间建立通信连接后,新加入的机器人会通过网络向其他机器人广播自己的唤醒词,收到唤醒词的机器人会将该唤醒词同步到自身的唤醒词库,并将同步后的全集唤醒词库发回给该新加入的机器人。

可选的,在所述唤醒方法的其他实施例中,所述方法还包括:

解散临时命令记录组。

任务分配完成后,各个机器人开始执行任务,此时可以解散临时命令记录组,释放内存,提高资源利用率。

相应的,本发明实施例还提供了一种机器人唤醒装置,所述唤醒装置设置于图2所示的任一机器人内,如图8所示,所述唤醒装置400包括:

语音命令获取模块401,用于获取语音命令;

语音命令解析模块402,用于根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容,所述唤醒词库包括若干个唤醒词,所述唤醒词库中的唤醒词对应至少两个机器人;

执行模块403,用于根据解析出的唤醒词和命令内容执行操作。

本发明实施例提供的唤醒装置,通过在机器人内预设包括若干个唤醒词的唤醒词库,机器人可以根据预设的唤醒词库正确的解析出语音命令中含有的唤醒词,从而正确的解析出语音命令中的命令内容,进而正确的完成用户交代的任务。

具体的,在所述唤醒装置的某些实施例中,所述语音命令获取模块401包括:

语音信息监听子模块,用于监听语音信息;

语音命令确认子模块,用于确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

第一语音命令获取子模块,用于如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息作为语音命令。

可选的,在所述唤醒装置的其他实施例中,如图9所示,所述语音命令获取模块401包括:

语音信息监听子模块4011,用于监听语音信息;

语音命令确认子模块4012,用于确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

语音命令记录子模块4013,用于如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息以及监听到语音信息的起始时刻,并加入预设的临时命令记录组;

起始时间段确认子模块4014,用于确认临时命令记录组内的机器人记录的起始时刻中的最早时刻,根据所述最早时刻确定起始时间段;

第二语音命令获取子模块4015,用于获得起始时刻位于所述起始时间段内的语音信息中清晰度最高的语音信息作为语音命令。

具体的,在所述唤醒装置的某些实施例中,,所述语音命令确认子模块包括:

语音命令确认子单元,用于如果所述语音信息包括预设唤醒词库中的任一唤醒词且该唤醒词的出现为呼唤,则所述语音信息为针对唤醒词库对应的机器人的命令。

可选的,如图10所示,在所述唤醒装置的其他实施例中,所述唤醒装置500除了包括语音命令获取模块501、语音命令解析模块502和执行模块503之外,还包括:

唤醒词库更新模块504,用于更新唤醒词库。

其中,在一些实施例中,所述唤醒词库更新模块包括:

第一唤醒词库更新子模块,用于根据唤醒词设置指令设置唤醒词,并广播所述唤醒词。

在另一些实施例中,所述唤醒词库更新模块还包括:

第二唤醒词库更新子模块,用于接收广播的唤醒词,将所述唤醒词加入预设的唤醒词库中,并将更新后的唤醒词库发送给广播唤醒词的机器人。

具体的,在所述唤醒装置的某些实施例中,所述语音命令解析模块包括:

唤醒词解析子模块,用于根据语音命令和唤醒词库解析出语音命令中的唤醒词;

命令内容解析子模块,用于根据语音命令和唤醒词解析出语音命令中的命令内容。

具体的,在所述唤醒装置的某些实施例中,所述执行模块包括:

第一执行子模块,用于将命令内容通知与唤醒词对应的机器人,以使与唤醒词对应的机器人执行命令内容对应的操作。

在所述唤醒装置的其他实施例中,所述执行模块包括:

第二执行子模块,用于根据命令内容分解任务,将分解后的任务分别通知与唤醒词对应的机器人,以使与唤醒词对应的机器人协作执行命令内容对应的操作。

如图11所示,为所述唤醒装置的一个实施例的结构示意图,在该实施例中,所述唤醒装置600包括:

语音命令获取模块601,用于获取语音命令;其中,所述语音命令获取模块601包括:

语音信息监听子模块6011,用于监听语音信息;

语音命令确认子模块6012,用于确认所述语音信息是否为针对唤醒词库对应的机器人的命令;

语音命令记录子模块6013,用于如果所述语音信息为针对唤醒词库对应的机器人的命令,则记录所述语音信息以及监听到语音信息的起始时刻,并加入预设的临时命令记录组;

起始时间段确认子模块6014,用于确认临时命令记录组内的机器人记录的起始时刻中的最早时刻,根据所述最早时刻确定起始时间段;

第二语音命令获取子模块6015,用于获得起始时刻位于所述起始时间段内的语音信息中清晰度最高的语音信息作为语音命令。

语音命令解析模块602,用于根据所述语音命令和预设的唤醒词库,解析出所述语音命令中的唤醒词以及命令内容,所述唤醒词用于唤醒机器人;其中,所述语音命令解析模块602包括:

唤醒词解析子模块6021,用于根据语音命令和唤醒词库解析出语音命令中的唤醒词;

命令内容解析子模块6022,用于根据语音命令和唤醒词解析出语音命令中的命令内容。

执行模块603,用于根据解析出的唤醒词和命令内容执行操作,其中,所述执行模块603包括:

第二执行子模块6031,用于根据命令内容分解任务,将分解后的任务分别通知与唤醒词对应的机器人,以使与唤醒词对应的机器人协作执行命令内容对应的操作。

唤醒词库更新模块604,用于更新唤醒词库。

语音信息监听子模块6011实时监听用户发出的语音,语音命令确认子模块6012确认语音信息监听子模块6011监听到的语音信息是否为用户针对唤醒词库对应的机器人的命令,如果所述语音信息为针对唤醒词库对应的机器人的命令,语音命令记录子模块6013对所述语音信息以及监听到语音信息的起始时刻进行记录,并加入预设的临时命令记录组。临时命令记录组中的机器人会向其他机器人广播自己记录的起始时刻,起始时间段确认子模块6014根据各个起始时刻确认监听到用户语音命令的最早时刻,并根据该最早时刻确定起始时间段。语音信息记录结束后,临时命令记录组中的机器人对自身记录的语音信息进行清晰度判定,得到清晰度分数值,然后向临时命令记录组中的其他机器人广播该清晰度分数值,第二语音命令获取子模块6015确定起始时刻位于所述起始时间段内的语音信息中清晰度最高的语音信息作为语音命令。唤醒词解析子模块6021根据该语音命令解析出唤醒词,命令内容解析子模块6022,根据语音命令和上述唤醒词解析出命令内容。第二执行子模块6031,根据上述命令内容分解任务,促使与唤醒词对应的机器人协作执行命令内容对应的操作。

本发明实施例提供的唤醒装置,通过在机器人内预设包括若干个唤醒词的唤醒词库,机器人可以根据预设的唤醒词库正确的解析出语音命令中含有的唤醒词,从而正确的解析出语音命令中的命令内容,进而正确的完成用户交代的任务。通过各机器人记录监听到语音信息的起始时刻,并加入临时命令记录组,通过比较临时命令记录组内的机器人记录的起始时刻,可以确定听到语音信息的最早时刻,能获得相对完整的语音命令。通过确定起始时间段内清晰度最高的语音信息作为语音命令,能获得相对完整和清晰的语音命令,增强了获取用户语音命令的可靠性。用户可以对多个机器人同时发出指令,多个机器人可以以协作的方式完成用户发布的任务,执行效率更高,用户体验好。

需要说明的是,上述唤醒装置可执行本发明实施例所提供的唤醒方法,具备执行方法相应的功能模块和有益效果。未在唤醒装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的唤醒方法。

图12是本发明实施例提供的机器人唤醒方法的机器人700的硬件结构示意图,如图12所示,该机器人700包括:

一个或多个处理器701以及存储器702,图12中以一个处理器701为例。

处理器701和存储器702可以通过总线或者其他方式连接,图12中以通过总线连接为例。

存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的唤醒方法对应的程序指令/模块(例如,附图8所示的语音命令获取模块401、语音命令解析模块402、执行模块403)。处理器701通过运行存储在存储器702中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的唤醒方法。

存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据唤醒装置的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至唤醒装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器702中,当被所述一个或者多个处理器701执行时,执行上述任意方法实施例中的唤醒方法,例如,执行以上描述的图3中的方法步骤101至步骤103,图4a中的方法步骤1011至步骤1013,图4b中的方法步骤1014至步骤1018,图5中的方法步骤1021至步骤1022,图6a中的方法步骤1031,图6b中的方法步骤1032,图7a中的方法步骤201-205,图7b中的方法步骤301-307;实现图8中的模块401-403、图9中子模块4011和4015,图10中模块501-504,图11中模块601-604、子模块6011-6015、子模块6021-6022、子模块6031的功能。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图12中的一个处理器701,可使得上述一个或多个处理器可执行上述任意方法实施例中的唤醒方法,例如,执行以上描述的图3中的方法步骤101至步骤103,图4a中的方法步骤1011至步骤1013,图4b中的方法步骤1014至步骤1018,图5中的方法步骤1021至步骤1022,图6a中的方法步骤1031,图6b中的方法步骤1032,图7a中的方法步骤201-205,图7b中的方法步骤301-307;实现图8中的模块401-403、图9中子模块4011和4015,图10中模块501-504,图11中模块601-604、子模块6011-6015、子模块6021-6022、子模块6031的功能。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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