一种用于智能机器人的命令解析方法及机器人与流程

文档序号:12459612阅读:232来源:国知局
一种用于智能机器人的命令解析方法及机器人与流程

本发明涉及机器人领域,具体涉及一种用于智能机器人的命令解析方法及机器人。



背景技术:

随着机器人技术的不断发展,智能机器人越来越多的被应用与人类的家庭生活中。

当前,大多智能机器人在出厂时内部预设有系统基本指令以及对应的反馈机制。用户在使用智能机器人时,一般是向智能机器人输入包含系统基本指令的交互输入从而得到机器人基于相应反馈机制生成的交互输出。

由于智能机器人的制造者在预设系统基本指令时不可能预想到智能机器人今后的所有应用场景,因此也就不能为智能机器人今后的所有应用需求设置对应的系统基本指令以及反馈机制。

但是,由于智能机器人的用户需求是多种多样的,并且随着智能机器人在家庭生活中的应用不断深化,用户对其的功能要求也不断增加。尤其的,在某些用户的需求中不希望以常见的系统基本指令操作机器人,而是希望以个性的命令方式控制机器人。但是在现有技术的系统基本指令设置下,上述功能需求是无法被满足的。



技术实现要素:

本发明提供了一种用于智能机器人的命令解析方法,所述方法包括:

获取用户输入;

对所述用户输入进行基于用户自定义指令的解析;

当基于用户自定义指令的解析成功时,基于用户自定义指令的反馈机制生成相应的交互输出。

在一实施例中:

对所述用户输入进行基于系统基本指令的解析并对所述用户输入进行基于所述用户自定义指令的解析;

当基于系统基本指令和/或用户自定义指令的解析成功时,基于系统基本指令和/或用户自定义指令的反馈机制生成相应的交互输出。

在一实施例中:

对所述用户输入进行基于系统基本指令的解析;

当基于系统基本指令的解析成功时,基于系统基本指令的反馈机制生成相应的交互输出;

仅当基于系统基本指令的解析失败时对所述用户输入进行基于用户自定义指令的解析。

在一实施例中:

对所述用户输入进行基于系统基本指令的解析并判断所述用户输入中是否存在系统基本指令解析失败的部分;

当所述用户输入中存在系统基本指令解析失败的部分时对所述系统基本指令解析失败的部分进行基于用户自定义指令的解析;

基于系统基本指令和/或用户自定义指令的反馈机制针对所述用户输入中系统基本指令和/或用户自定义指令解析成功的部分生成相应的交互输出。

在一实施例中,所述方法还包括:

接收用户输入并解析,获取待设置的所述用户自定义指令;

判断待设置的所述用户自定义指令与所述系统基本指令或已设置的用户自定义指令间是否存在冲突,如存在冲突,则输出冲突提醒;

如待设置的所述用户自定义指令与所述系统基本指令或已设置的用户自定义指令间不存在冲突,针对待设置的所述用户自定义指令接收用户输入并解析,获取待设置的所述自定义指令对应的反馈机制,将待设置的所述用户自定义指令及其反馈机制进行关联设置保存。

本发明还提出了一种智能机器人,所述机器人包括:

输入采集模块,其配置为获取用户输入;

自定义解析模块,其配置为对所述用户输入进行基于用户自定义指令的解析;

输出模块,其配置为当基于用户自定义指令的解析成功时,基于用户自定义指令的反馈机制生成相应的交互输出。

在一实施例中:

所述机器人还包括系统基本解析模块,所述系统基本解析模块配置为对所述用户输入进行基于系统基本指令的解析;

所述输出模块配置为当基于系统基本指令和/或用户自定义指令的解析成功时,基于系统基本指令和/或用户自定义指令的反馈机制生成相应的交互输出。

在一实施例中:

所述机器人还包括系统基本解析模块,所述系统基本解析模块配置为对所述用户输入进行基于系统基本指令的解析;

所述输出模块配置为当基于系统基本指令的解析成功时,基于系统基本指令的反馈机制生成相应的交互输出;

所述自定义解析模块配置为仅当基于系统基本指令的解析失败时对所述用户输入进行基于用户自定义指令的解析。

在一实施例中:

所述机器人还包括系统基本解析模块,所述系统基本解析模块配置为对所述用户输入进行基于系统基本指令的解析并判断所述用户输入中是否存在系统基本指令解析失败的部分;

所述自定义解析模块配置为当所述用户输入中存在系统基本指令解析失败的部分时对所述系统基本指令解析失败的部分进行基于用户自定义指令的解析;

所述输出模块配置为基于系统基本指令和/或用户自定义指令的反馈机制针对所述用户输入中系统基本指令和/或用户自定义指令解析成功的部分生成相应的交互输出。

在一实施例中,所述机器人还包括:

待设置指令获取模块,其配置为接收用户输入并解析,获取待设置的所述用户自定义指令;

冲突判断模块,其配置为判断待设置的所述用户自定义指令与所述系统基本指令或已设置的用户自定义指令间是否存在冲突;

冲突提醒模块,其配置为当待设置的所述用户自定义指令与所述系统基本指令或已设置的用户自定义指令间存在冲突时输出冲突提醒;

反馈机制获取模块,其配置为当待设置的所述用户自定义指令与所述系统基本指令或已设置的用户自定义指令间不存在冲突时针对待设置的所述用户自定义指令接收用户输入并解析,获取待设置的所述用户自定义指令对应的反馈机制;

用户自定义指令设置模块,其配置为将待设置的所述用户自定义指令及对应的反馈机制进行关联设置保存。

根据本发明的方法,可以实现基于用户自定义指令的机器人操控,不仅大大拓展了机器人的应用范围,而且增加了机器人操控的趣味性,并且使机器人更满足用户的个性化需求,并且由于可以根据简单的命令,满足用户各种各样的需求,有效的提高了与用户进行交互的效率,提高了反馈的准确率,大大增强了机器人的用户体验。

本发明的其它特征或优点将在随后的说明书中阐述。并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1、图3~图5是根据本发明实施例的方法流程图;

图2是根据本发明实施例的方法的部分流程图;

图6~图8是根据本发明实施例的机器人系统结构简图;

图9是根据本发明实施例的机器人系统部分结构简图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

当前,大多智能机器人在出厂时内部预设有系统基本指令以及对应的反馈机制。用户在使用智能机器人时,一般是向智能机器人输入包含系统基本指令的交互输入从而得到机器人基于相应反馈机制生成的交互输出。

由于智能机器人的制造者在预设系统基本指令时不可能预想到智能机器人今后的所有应用场景,因此也就不能为智能机器人今后的所有应用需求设置对应的系统基本指令以及反馈机制。

但是,由于智能机器人的用户需求是多种多样的,并且随着智能机器人在家庭生活中的应用不断深化,用户对其的功能要求也不断增加。尤其的,在某些用户的需求中不希望以常见的系统基本指令操作机器人,而是希望以个性的命令方式控制机器人。但是在现有技术的系统基本指令设置下,上述功能需求是无法被满足的。

针对上述情况,本发明提出了一种用于智能机器人的命令解析方法。在本发明的方法中,用户可以预先自行设置用户自定义指令(个性指令)以及用户自定义指令对应的反馈机制(即当输入个性指令后机器人应该做出什么样的回应)。在人机交互的过程中,机器人基于预先设置的用户自定义指令对用户输入进行解析,当用户输入满足用户自定义指令时,机器人就按照预设的反馈机制进行多模态输出。这样,用户对机器人的操作就不再仅限于呆板的基本指令操作,机器人的应用范围被大大拓展,机器人的用户体验得到有效提升。

接下来基于附图详细描述根据本发明实施例的方法的详细流程,附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

如图1所示,在一实施例中,机器人在人机交互过程中获取用户输入(步骤S110);然后对用户输入进行基于用户自定义指令的解析(步骤S120);当基于用户自定义指令的解析成功时(用户输入满足/包含/匹配用户自定义指令),基于用户自定义指令的反馈机制生成相应的交互输出(步骤S130)。

例如,在一应用实例中,用户设置用户自定义指令为“穿越千年的羁绊,宿命中闪烁的双子星,以珀耳塞福涅的旨意,苏醒吧”,对应的机器人反馈机制是对机器人进行唤醒。在人机交互过程中,如果机器人解析到用户输入为“穿越千年的羁绊,宿命中闪烁的双子星,以珀耳塞福涅的旨意,苏醒吧”,则机器人进入被唤醒状态。这样,用户就不需要采用机器人出厂时预设的基本唤醒操作指令来唤醒机器人,大大提高了唤醒操作的趣味性,提高了用户体验。

进一步的,为了实现基于用户自定义指令的用户输入解析,在本发明一实施例中还提出了用户自定义指令的设置方法。设置用户自定义指令,其关键点之一在于保证用户自定义指令与机器人当前已保存的系统基本指令之间不存在冲突。这样,在用户在输入自定义指令时机器人才不会陷入无法确定是采用用户自定义的回馈机制还是采用系统基本回馈机制的状态。

具体的,如图2所示,在一实施例中,机器人在人机交互过程中获取用户输入(步骤S210);解析用户输入判断是否需要设置用户自定义指令(是否需要进入用户自定义指令设置状态)(步骤S220);当不需要设置用户自定义指令采用其他的回馈机制对用户输入进行回应并返回步骤S210,继续获取新的用户输入。

当需要设置用户自定义指令时,机器人从用户处获取待设置的用户自定义指令(步骤S221)。具体的,在一实施例中,在步骤S221中,为了简单方便的获取待设置的用户自定义指令,当机器人进入用户自定义指令设置状态时会首先向用户提供待设置的用户自定义指令的输入提醒和/或输入界面。

当机器人获取到待设置的用户自定义指令后并不直接保存该指令,而是首先判断该用户自定义指令是否与机器人现有的系统基本指令冲突(例如共用同样的指令描述)(步骤S230)。以一具体的应用环境为例,用户自定义指令是关键词“起床”,在现有的系统基本指令中已存在“起床”这一指令并且对应的回馈机制是唤醒机器人,那么用户自定义指令就与系统基本指令冲突。

进一步的,在一实施例中,在步骤S230中不仅要判断当前待设置的用户自定义指令与现有的系统基本指令是否冲突,还需要判断当前待设置的用户自定义指令与已设置完成的用户自定义指令是否冲突。

在步骤S230中,如果判断结果是存在指令冲突,那么当前的用户自定义指令就无法设置,此时机器人向用户输出冲突提醒,提醒用户修改当前的待设置的用户自定义指令(当前的待设置的用户自定义指令与系统基本指令或已设置的用户自定义指令冲突)或取消已设置完成的用户自定义指令(当前的待设置的用户自定义指令与已设置的用户自定义指令冲突)(步骤S240)。

进一步的,为了便于用户进行冲突指令的调整修改,在一实施例中,在步骤S240中,机器人还向用户输出与待设置的用户自定义指令发生冲突的系统基本指令或已设置的用户自定义指令以及对应的反馈机制。

在步骤S230中,如果判断结果是不存在指令冲突,那么说明当前的待设置的用户自定义指令是可以被设置的,此时机器人进一步获取该用户自定义指令的反馈机制(步骤S250)。具体的,获取用户输入并解析出其中包含的用户自定义指令的反馈机制。

具体的,在一实施例中,在步骤S250中,为了简单方便的获取待设置的用户自定义指令对应的反馈机制,当机器人进入用户自定义指令设置状态时会首先向用户提供待设置的用户自定义指令的输入提醒和/或输入界面。进一步的,在步骤S250中,为了保证获取到的待设置的用户自定义指令对应的反馈机制可以被有效的执行,在一实施例中,机器人通过输入提醒和/或输入界面限制并引导用户的反馈机制输入并验证用户输入的反馈机制是否可以被实现。如果用户输入的反馈机制不可以被实现则提醒用户重新输入。

最后,机器人将获取到的反馈机制与待设置的用户自定义指令进行关联设置保存。这样,在之后的人机交互过程中,当用户输入该用户自定义指令时机器人就可以以设定中的回馈机制进行交互输出。

这里需要注意的是,在一实施例中,在设定用户自定义指令时需要验证待设置的用户自定义指令与现有指令系统是否存在冲突。但是,在不存在指令冲突时,指令对应的回馈机制是可以重复的,即多条不同的用户自定义指令以及系统基本指令可以对应同样的回馈机制。

以一以语音交互为主要交互方式的应用场景为例。在人机交互过程中:

用户通过语音向机器人输入“我要设置自定义指令”;

机器人解析用户输入,明确用户需求,进入用户自定义指令设置状态,向用户语音输出“请说出您想要设置的指令”;

用户语音输入“起床”;

机器人判断在当前系统基本指令中已存在“起床”指令,机器人向用户输出“已存在起床指令,它是唤醒机器人的指令,请说出新的指令”;

用户语音输入“别睡了”;

机器人当前指令系统中不存在“别睡了”指令,机器人向用户输出“请输入别睡了对应的操作”;

用户语音输入“唤醒系统并向我打招呼”;

机器人解析用户输入,“唤醒系统”以及“向用户打招呼”都可以被实现,于是将用户自定义指令“别睡了”以及回馈机制“进入被唤醒状态、向用户打招呼”关联设置保存。

进一步的,在本发明一实施例中,用户自定义指令以及对应的回馈机制可以是单一模态的输入/输出,也可以是多模态的交互输入/输出。以一应用场景为例,用户将语音或文字输入“父亲的名字是什么”作为用户自定义指令,对应的回馈机制可以设置为语音输出或文字显示“小明”。用户也可以将打响指这一行为(包含打响指的动作以及打响指发出的声音)作为用户自定义指令,对应的回馈机制可以设置为“唤醒机器人、走向用户、向用户询问“请问有何吩咐””。

基于用户自定义指令的设置、对应的回馈机制的设置以及之后人机交互过程中基于用户自定义指令的用户输入解析就可以实现基于用户自定义指令(个性命令)的机器人操控。但是,在实际的人机交互过程中,用户对机器人的操控往往并不是仅仅限于使用用户自定义指令,其操作指令也包含系统基本指令或者系统基本指令与用户自定义指令的组合。因此,在一实施例中,在人机交互过程中,对用户输入分别进行(同时进行或先后进行)基于系统基本指令的解析以及基于用户自定义指令的解析。

如图3所示,在一实施例中,机器人在人机交互过程中获取用户输入(步骤S310);然后对用户输入进行基于系统基本指令的解析(步骤S320);接着对用户输入进行基于用户自定义指令的解析(步骤S330);最后综合步骤S320以及S330的解析结果生成交互输出(步骤S340)。具体的,在步骤S340中,当基于系统基本指令和/或用户自定义指令的解析成功时,基于系统基本指令和/或用户自定义指令的反馈机制生成相应的交互输出。其中,步骤S320以及步骤S330可以同时或者按照任何先后顺序执行。

在上述实施例中,对同一用户输入先后/同时进行了基于系统基本指令的解析以及基于用户自定义指令的解析。两种指令模式的解析势必造成较高的数据处理压力。为了降低数据处理量,在本发明一实施例中,对所有用户输入并不完全执行基于系统基本指令的解析以及基于用户自定义指令的解析,而是优先(首先)执行基于系统基本指令的解析,仅当基于系统基本指令的解析失败时才对用户输入进行基于用户自定义指令的解析。

如图4所示,在一实施例中,机器人在人机交互过程中获取用户输入(步骤S410);然后对用户输入进行基于系统基本指令的解析(步骤S420);判断基于系统基本指令的解析是否成功(步骤S430);当基于系统基本指令的解析成功时,基于系统基本指令的反馈机制生成相应的交互输出(步骤S440)。

当基于系统基本指令的解析失败时,对用户输入进行基于用户自定义指令的解析(步骤S450);接着基于步骤S450的解析成果生成交互输出(步骤S460)。具体的,在步骤S460中,当基于用户自定义指令的解析成功时,基于用户自定义指令的反馈机制生成相应的交互输出;当基于用户自定义指令的解析失败时(在此情况下,系统基本指令解析也是失败的),向用户输出无法进行指令解析的提示。

进一步的,在实际应用环境中,用户输入的指令可能是多个系统基本指令或多个用户自定义指令的组合,也可能是多个系统基本指令与多个用户自定义指令的混合组合。在这种情况下,当用户输入被基于系统基本指令成功解析后就直接生成交互输出就会漏掉某些用户自定义指令。因此,在一实施例中,在进行基于系统基本指令的用户输入解析时判断是否将所有的用户输入都解析成功,如果都解析成功,则说明所有的用户输入均变为可以理解的基本指令,不存在遗漏的部分。如果没有全部解析成功,则说明一部分用户输入无法基于系统基本指令进行解析,这部分用户输入中可能包含用户自定义指令,需要基于用户自定义指令对该部分的用户输入进行解析。

具体的,如图5所示,在一实施例中,机器人在人机交互过程中获取用户输入(步骤S510);然后对用户输入进行基于系统基本指令的解析(步骤S520);判断基于系统基本指令是否成功解析全部的用户输入(步骤S430);当基于系统基本指令成功解析全部用户输入时,基于系统基本指令的反馈机制生成相应的交互输出(步骤S550)。

当基于系统基本指令没有成功解析全部的用户输入时(解析成功一部分或者所有的用户输入都解析失败),对解析失败的那一部分用户输入进行基于用户自定义指令的解析(步骤S540);最后,在步骤S560中综合步骤S520以及步骤S540的解析结果生成交互输出。

具体的,在步骤S460中,如果用户输入一部分被基于系统基本指令解析成功,一部分被基于用户自定义指令解析成功,则综合解析成功的系统基本指令以及用户自定义指令的反馈机制生成相应的交互输出(基于系统基本指令和/或用户自定义指令的反馈机制针对用户输入中系统基本指令和/或用户自定义指令解析成功的部分生成相应的交互输出);如果存在既不能基于系统基本指令解析成功也不能基于用户自定义指令解析成功的部分,则向用户输出不能进行指令解析的提示。

综上,根据本发明的方法,可以实现基于用户自定义指令的机器人操控,不仅大大拓展了机器人的应用范围,而且增加了机器人操控的趣味性,并且使机器人更满足用户的个性化需求,并且由于可以根据简单的命令,满足用户各种各样的需求,有效的提高了与用户进行交互的效率,提高了反馈的准确率,大大增强了机器人的用户体验。

基于本发明的方法,本发明还提出了一种可以实现用户自定义指令操控的智能机器人。如图6所示,在一实施例中,机器人包括:

输入采集模块600,其配置为获取用户输入;

自定义解析模块610,其配置为对用户输入进行基于用户自定义指令的解析;

输出模块620,其配置为当基于用户自定义指令的解析成功时,基于用户自定义指令的反馈机制生成相应的交互输出。

进一步的,在一实施例中,机器人还包括系统基本解析模块,系统基本解析模块配置为对用户输入进行基于系统基本指令的解析。如图7所示,输入采集模块700配置为获取用户输入;自定义解析模块711配置为对用户输入进行基于用户自定义指令的解析;系统基本解析模块712配置为对用户输入进行基于系统基本指令的解析;输出模块720配置为当基于系统基本指令和/或用户自定义指令的解析成功时,基于系统基本指令和/或用户自定义指令的反馈机制生成相应的交互输出。

进一步的,在一实施例中,机器人的系统基本解析模块与自定义解析模块具有明确的解析优先区别。如图8所示,输入采集模块800配置为获取用户输入;系统基本解析模块812配置为对用户输入进行基于系统基本指令的解析;自定义解析模块811配置为仅当基于系统基本指令的解析失败时才对用户输入进行基于用户自定义指令的解析;输出模块820配置为当基于系统基本指令的解析成功时,基于系统基本指令的反馈机制生成相应的交互输出,当基于系统基本指令解析失败但基于用户自定义指令的解析成功时,基于用户自定义指令的反馈机制生成相应的交互输出。

进一步的,在一实施例中,机器人可以对复杂的指令集合进行分部分解析。在如图8所示的结构中,输入采集模块800配置为获取用户输入;系统基本解析模块812配置为对用户输入进行基于系统基本指令的解析并判断用户输入中是否存在系统基本指令解析失败的部分;自定义解析模块811当用户输入中存在系统基本指令解析失败的部分时对系统基本指令解析失败的部分进行基于用户自定义指令的解析;输出模块820配置为基于系统基本指令和/或用户自定义指令的反馈机制针对用户输入中系统基本指令和/或用户自定义指令解析成功的部分生成相应的交互输出。

进一步的,在一实施例中,机器人还构造有用于进行用户自定义指令设置的结构。如图9所示,机器人还包括:

待设置指令获取模块900,其配置为接收用户输入并解析,获取待设置的所述用户自定义指令;

冲突判断模块910,其配置为判断待设置的用户自定义指令与系统基本指令或已设置的用户自定义指令间是否存在冲突;

冲突提醒模块920,其配置为当待设置的用户自定义指令与系统基本指令或已设置的用户自定义指令间存在冲突时输出冲突提醒;

反馈机制获取模块930,其配置为当待设置的用户自定义指令与系统基本指令或已设置的用户自定义指令时针对待设置的用户自定义指令接收用户输入并解析,获取待设置的用户自定义指令对应的反馈机制;

用户自定义指令设置模块940,其配置为将待设置的用户自定义指令及对应的反馈机制进行关联设置保存。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。

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