一种用于机器人的交互输出方法以及机器人与流程

文档序号:12671800阅读:305来源:国知局
一种用于机器人的交互输出方法以及机器人与流程

本发明涉及机器人领域,具体涉及一种用于机器人的交互输出方法以及机器人。



背景技术:

随着机器人技术的不断发展,智能机器人的越来越多的被应用到人类日常的生产生活中。随着智能机器人硬件设备的不断升级,机器人的功能也越来越复杂,对应的机器人运行时数据处理量也不断加大。最直接的一个体现就是,在机器人运行过程中,机器人系统内部单位时间内生成并传输的指令量不断增加。尤其的,在具备上位机以及下位机结构的机器人系统中,在上位机与下位机的交互过程中,单位时间内上位机需要发送到下位机执行的下位机指令不断增加。

随着机器人系统处理能力的不断升级,在某些较复杂的功能应用的实现过程中,机器人面对的执行动作较多,很难有条理的实现每一个动作的执行,这就最终导致了机器人应用功能不能完美的实现,从而大大影响了用户体验。



技术实现要素:

本发明提供了一种用于机器人的交互输出方法,所述方法包括:

获取多模态输入信息并解析,生成对应多模态交互输出的下位机指令;

为所述下位机指令匹配对应的执行优先级,根据所述执行优先级对当前所有未发送的所述下位机指令进行排序;

按照对所有未发送的所述下位机指令的排序结果依次输出所述下位机指令到机器人系统下位机;

下位机执行所述下位机指令进行对应的多模态输出。

在一实施例中,根据所述执行优先级对当前所有未发送的所述下位机指令进行排序,其中:

将当前生成的所述下位机指令加入下位机指令集;

对所述指令集中所有的下位机指令进行优先级排序。

当输出优先级最高的下位机指令后将该下位机指令从所述指令集中删除。

在一实施例中,根据所述执行优先级对当前所有未发送的所述下位机指令进行排序,其中,以所述执行优先级为基础,根据所述下位机指令的生成时间以及所述下位机指令的执行前提进行排序,包括:

在两个所述下位机指令中,当其中一个下位机指令为另一个下位机指令的执行前提时,将作为执行前提的下位机指令排在靠前的序列中;

在不存在执行前提关系的两个所述下位机指令中,当所述执行优先级相同时,按照所述下位机指令生成时间的先后顺序进行排序。

在一实施例中,为所述下位机指令匹配对应的执行优先级,其中:

根据所述多模态输入信息确定当前的机器人的交互状态和/或用户的交互需求;

基于所述交互状态和/或所述交互需求确定所述下位机指令的执行优先级。

在一实施例中,为所述下位机指令匹配对应的执行优先级,其中:

根据系统中预设的下位机指令对应的执行优先级级别列表,对所述下位机指令匹配对应的执行优先级。

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

输入采集模块,其配置为获取多模态输入信息;

指令生成模块,其配置为解析所述多模态输入信息,生成对应多模态交互输出的下位机指令;

优先级匹配模块,其配置为为所述下位机指令匹配对应的执行优先级;

指令排序模块,其配置为根据所述执行优先级对当前所有未发送的所述下位机指令进行排序;

指令输出模块,其配置为按照对所有未发送的所述下位机指令的排序结果依次输出所述下位机指令;

下位机,其配置为执行所述指令输出模块输出的下位机指令进行对应的多模态输出。

在一实施例中,所述指令排序模块包括:

指令集存储单元,其配置为保存指令集并将当前生成的所述下位机指令加入下位机指令集,并且,当输出优先级最高的下位机指令后将该下位机指令从所述指令集中删除;

指令集排序单元,其配置为对所述指令集中所有的下位机指令进行优先级排序。

在一实施例中,所述指令排序模块还配置为以所述执行优先级为基础,根据所述下位机指令的生成时间以及所述下位机指令的执行前提进行排序,其中:

在两个所述下位机指令中,当其中一个下位机指令为另一个下位机指令的执行前提时,将作为执行前提的下位机指令排在靠前的序列中;

在不存在执行前提关系的两个所述下位机指令中,当所述执行优先级相同时,按照所述下位机指令生成时间的先后顺序进行排序。

在一实施例中,所述优先级匹配模块包括:

交互信息采集单元,其配置为根据所述多模态输入信息确定当前的机器人的交互状态和/或用户的交互需求;

优先级确定单元,其配置为基于所述交互状态和/或所述交互需求确定所述下位机指令的执行优先级。

在一实施例中,所述优先级匹配模块包括:

优先级列表保存单元,其配置为保存系统中预设的下位机指令对应的执行优先级级别列表;

优先级确定单元,其配置为根据所述执行优先级级别列表对所述下位机指令匹配对应的执行优先级。

根据本发明的方法,可以根据实际交互情况合理安排下位机指令的发送次序,从而保证执行优先级高的下位机指令可以优先发送到下位机并尽快被执行。这样就有效保证了下位机执行的条理性,从而保证机器人应用功能的完美实现,进而提高机器人的用户体验。

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

附图说明

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

图1是根据本发明一实施例的方法流程图;

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

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

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

具体实施方式

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

随着机器人技术的不断发展,智能机器人的越来越多的被应用到人类日常的生产生活中。随着智能机器人硬件设备的不断升级,机器人的功能也越来越复杂,对应的机器人运行时数据处理量也不断加大。最直接的一个体现就是,在机器人运行过程中,机器人系统内部单位时间内生成并传输的指令量不断增加。尤其的,在具备上位机以及下位机结构的机器人系统中,在上位机与下位机的交互过程中,单位时间内上位机需要发送到下位机执行的下位机指令不断增加。

随着机器人系统处理能力的不断升级,在某些较复杂的功能应用的实现过程中,机器人面对的执行动作较多,很难有条理的实现每一个动作的执行,这就最终导致了机器人应用功能不能完美的实现,从而大大影响了用户体验。

针对上述问题,本发明提出了一种用于机器人的交互输出方法。

在机器人的实际运行过程中,机器人无法有条理的实现每一个动作的执行的主要原因在于:机器人的上位机同时或在短时间内生成了大量需要下位机执行的下位机指令,由于下位机指令通常是顺次发送(每次发送一条)并顺次执行的(每次执行一条),因此当上位机发送下位机指令的发送次序出现逻辑异常(例如急需马上执行的下位机指令被安排到需要较长等待时间可以暂缓执行的下位机指令之后发送)时,其必然导致下位机的执行异常。

基于上述分析,在本发明一实施例中,当同时存在多条待发送的下位机指令时,上位机并不是按照其生成的先后顺序(或者按照随机顺序)进行发送,而是先对其进行基于执行优先级的排序,按照排序结果进行发送,使得执行优先级较高(急需马上执行)的下位机指令可以首先到达下位机并被执行,从而保证下位机执行的条理性,进而保证机器人应用功能的完美实现,提高机器人的用户体验。

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

如图1所示,在一实施例中,机器人(机器人系统的上位机)首先获取多模态输入信息(步骤S100);然后解析该多模态输入信息确定响应该多模态输入信息的多模态交互输出(步骤S110);最后生成对应该多模态交互输出的下位机指令(步骤S120)。

接下来,上位机并不是立即直接将生成的下位机指令发送到下位机执行,而是为下位机指令匹配对应的执行优先级(步骤S130),根据执行优先级对当前所有未发送的下位机指令进行排序(步骤S140);然后按照对所有未发送的下位机指令的排序结果依次输出下位机指令到机器人系统下位机(步骤S150);最后下位机执行下位机指令进行对应的多模态输出(步骤S160)。

在上述过程中,在发送下位机指令之前将下位机指令按照执行优先级进行排序,这样就能保证执行优先级高的下位机指令(需要立即执行的下位机指令)可以优先发送到下位机并尽快被执行。这样就有效保证了下位机执行的条理性,从而保证机器人应用功能的完美实现,进而提高机器人的用户体验。

进一步的,在本发明一实施例中,采用指令集排序的方式对所有未发送的下位机指令进行排序。具体的,在一实施例中,当生成新的下位机指令后首先将当前生成的下位机指令加入下位机指令集(该指令集中已保存有之前生成的所有未发送的下位机指令);然后对指令集中所有的下位机指令进行优先级排序。

在输出下位机指令到下位机时输出指令集中序位最靠前(优先级最高)的下位机指令,并且,当该指令被输出后将该下位机指令从指令集中删除。

在一实施例中,下位机指令的生成发送过程可以分为两个相对独立的流程。

首先是下位机指令的生成过程,如图2所示,在一实施例中,机器人系统的上位机首先获取多模态输入信息(步骤S200);然后解析该多模态输入信息确定响应该多模态输入信息的多模态交互输出(步骤S210);接着生成对应该多模态交互输出的下位机指令(步骤S220);对新生成的下位机指令匹配对应的优先级(步骤S230)并将该下位机指令加入指令集(步骤S240);最后对指令集中的下位机指令进行基于执行优先级的排序。

以一具体的应用为例,假设存在A1~A10的执行优先级(A1的执行优先级最高,优先级级别设定为降序)。在一个交互周期中,机器人上位机根据多模态输入信息生成了下位机指令B1,并为其匹配执行优先级A4,将其加入到指令集中。假设此时并没有其他的未发送下位机指令,则指令集可表示为(B1(A4))。接下来,在下一个交互周期中,机器人上位机根据多模态输入信息生成了下位机指令B2,并为其匹配执行优先级A5,将其加入到指令集中。假设此时下位机指令B1并没有被发送出去,则指令集可表示为(B1(A4),B2(A5))。接下来,在下一个交互周期中,机器人上位机根据多模态输入信息生成了下位机指令B3,并为其匹配执行优先级A1,将其加入到指令集中。假设此时下位机指令B1并没有被发送出去,则指令集可表示为(B3(A4),B1(A4),B2(A5))。对应当前的指令集,下位机指令的发送顺序就应该为B3、B1、B2。

接下来是下位机指令的发送过程。如图3所示,当需要发送下位机指令时,机器人系统的上位机首先提取指令集中排位最靠前(执行优先级最高)的下位机指令(步骤S300);然后将提取出的指令发送到下位机(步骤S310);接着判断当前的指令发送操作是否成功(步骤S320);如果不成功,则返回步骤S300,再次发送该指令;如果成功,则删除指令集中排位最靠前的下位机指令(已经成功发送的指令)(步骤S330)。

进一步的,为了防止在下位机尚未执行完成当前的下位机指令时上位机不断的发送新下位机指令而造成的下位机指令拥堵。在一实施例中,上位机发送下位机指令之前需要验证下位机状态。

具体的,如图4所示,机器人系统的上位机首先判断当前是否可以发送下位机指令(下位机是否处于可接受新指令的空闲状态)(步骤S400);如果不可以发送(下位机忙碌)则继续等待并返回步骤S400;如果可以发送,提取指令集中排位最靠前(执行优先级最高)的下位机指令(步骤S410);然后将提取出的指令发送到下位机(步骤S420);接着判断当前的指令发送操作是否成功(步骤S430);如果不成功,则返回步骤S410,再次发送该指令;如果成功,则删除指令集中排位最靠前的下位机指令(已经成功发送的指令)(步骤S440)并返回步骤S400判断是否可以继续发送下一条下位机指令。

对应的,在一实施例中,如图5所示,机器人系统的下位机判断自身的状态是否可以执行新的下位机指令(步骤S500);当当前暂时无法接收新的下位机指令时,回馈上位机自身的忙碌状态(步骤S550)并返回步骤S500重复判断自身状态(固定时间间隔后或者当前正在执行下位机指令执行完成后)。

当当前可以接收新的下位机指令时,回馈上位机自身的空闲状态(步骤S510);上位机接收到该回馈后确定下位机可以接收新指令(图4所示的步骤400),发送新的下位机指令(图4所示的步骤410、420)。下位机接收新的下位机指令(步骤520),并在接收完毕后回馈上位机接收成功(步骤S530)。接着下位机执行接收到的下位机指令(步骤S540),并在执行完毕后返回步骤S500判断自身是否可以接受新的下位机指令。

进一步的,在步骤S530中,下位机接收完毕新的下位机指令后回馈上位机接收成功。上位机根据下位机的回馈判断当前的指令发送操作执行成功(图4所示步骤430)。如果下位机没有接收到下位机指令或没有接收到完整的下位机指令,则不执行步骤S530(不发出回馈)。上位机在发出下位机指令固定时间间隔内没有接收到下位机的回馈则说明当前的指令发送操作执行失败。

进一步的,在本发明中,保证下位机执行的条理性的关键点之一在于对待发送下位机指令的排序,具体的,即为待发送的下位机指令匹配正确的执行优先级。具体的,在一实施例中,首先根据多模态输入信息确定当前的机器人的交互状态和/或用户的交互需求;然后基于交互状态和/或交互需求确定所述下位机指令的执行优先级。

例如,假设在某一机器人的应用场合中,机器人在空闲状态下随机自主活动。在此场景中,具体的,其需要执行的下位机指令包括:

用于进行随机自主活动的操作指令(例如实现四处张望、四处移动行为的指令);

采集用户行为信息,监控用户新交互指示的指令(例如采集用户面部信息、摄像头跟踪用户面部移动)。

考虑到当前机器人是在空闲状态下的自主行为,那么及时回应用户的新指令是最优先的选项,因此在上述需要执行的下位机指令中,采集用户行为信息,监控用户新交互指示的指令具有最高的执行优先级。也就是说,当实现四处张望的指令在指令集中时,如果新生成了摄像头跟踪用户面部移动的指令,则优先执行摄像头跟踪用户面部移动的指令。

由于在实际的人机交互场景下,机器人的交互状态以及交互需求是相当复杂多变的,通过对交互状态以及交互需求的分析确定下位机指令的执行优先级势必需要大量的数据处理操作。在处理器性能不足时就有可能导致机器人反应的迟钝。甚至,在数据采集分析失误时还会导致执行优先级匹配错误从而最终导致下位机执行混乱。

针对上述情况,在本发明一实施例中,预先构造优先级级别列表,针对不同的下位机操作指令预先定义其执行优先级。在为下位机指令匹配对应的执行优先级时,根据系统中预设的下位机指令对应的执行优先级级别列表,对下位机指令匹配对应的执行优先级。

进一步的,由于在实际的人机交互场景下,机器人的交互状态以及交互需求是相当复杂多变的,因此在某些交互场景中,固定的执行优先级并不能准确反映下位机指令执行的合理先后顺序。

因此,在一实施例中,在根据执行优先级对当前所有未发送的下位机指令进行排序时,以执行优先级为基础,根据下位机指令的生成时间以及下位机指令的执行前提进行排序。具体的,其包括:

在两个下位机指令中,当其中一个下位机指令为另一个下位机指令的执行前提时,将作为执行前提的下位机指令排在靠前的序列中;

在不存在执行前提关系的两个下位机指令中,当执行优先级相同时,按照下位机指令生成时间的先后顺序进行排序。

综上,根据本发明的方法,可以根据实际交互情况合理安排下位机指令的发送次序,从而保证执行优先级高的下位机指令(需要立即执行的下位机指令)可以优先发送到下位机并尽快被执行。这样就有效保证了下位机执行的条理性,从而保证机器人应用功能的完美实现,进而提高机器人的用户体验。

进一步的,根据本发明的方法,本发明还提出了一种智能机器人。如图6所示,在一实施例中,机器人包括:

输入采集模块610,其配置为获取多模态输入信息;

指令生成模块620,其配置为解析多模态输入信息,生成对应多模态交互输出的下位机指令,其中多模态交互输出匹配响应多模态输入信息;

优先级匹配模块630,其配置为为下位机指令匹配对应的执行优先级;

指令排序模块640,其配置为根据执行优先级对当前所有未发送的下位机指令进行排序;

指令输出模块650,其配置为按照对所有未发送的下位机指令的排序结果依次输出下位机指令;

下位机602,其配置为执行指令输出模块650输出的下位机指令进行对应的多模态输出。

进一步的,在一实施例中,输入采集模块610、指令生成模块620、优先级匹配模块630、指令排序模块640以及指令输出模块650从属于机器人系统的上位机601。

进一步的,如图7所示,在一实施例中,指令排序模块740包括指令集存储单元741以及指令集排序单元742。具体的:输入采集模块710获取多模态输入信息;指令生成模块720生成下位机指令;优先级匹配模块730为下位机指令匹配对应的执行优先级;指令集存储单元741保存指令集并将当前生成的下位机指令加入下位机指令集;指令集排序单元742对指令集中所有的下位机指令进行优先级排序;指令输出模块750将指令集中排位最靠前的下位机指令输出到下位机702;指令集存储单元741在指令输出模块750输出下位机指令后从指令集中删除该指令;下位机702执行接收到的下位机指令。

进一步的,在一实施例中,优先级匹配模块通过当前的交互状态和/或交互需求确定下位机指令的执行优先级。具体的,如图8所示,优先级匹配模块830包含交互信息采集单元831以及优先级确认单元832。

其中:输入采集模块810获取多模态输入信息;指令生成模块820生成下位机指令;交互信息采集单元831根据多模态输入信息(在本实施例中,采用输入采集模块810获取到的多模态输入信息)确定当前的机器人的交互状态和/或用户的交互需求;优先级确定单元832基于交互信息采集单元831确认的交互状态和/或交互需求确定指令生成模块820生成的下位机指令的执行优先级。

进一步的,在一实施例中,优先级匹配模块通过预先设定的执行优先级级别列表确定下位机指令的执行优先级。具体的,如图9所示,优先级匹配模块930包含优先级列表保存单元931以及优先级确定单元932。

其中:输入采集模块910获取多模态输入信息;指令生成模块920生成下位机指令;优先级列表保存单元931保存系统中预设的下位机指令对应的执行优先级级别列表;优先级确定单元932基于优先级列表保存单元931保存的执行优先级级别列表确定指令生成模块920生成的下位机指令的执行优先级。

进一步的,在一实施例中,指令排序模块还配置为以执行优先级为基础,根据下位机指令的生成时间以及下位机指令的执行前提进行排序,其中:

在两个下位机指令中,当其中一个下位机指令为另一个下位机指令的执行前提时,将作为执行前提的下位机指令排在靠前的序列中;

在不存在执行前提关系的两个所述下位机指令中,当执行优先级相同时,按照下位机指令生成时间的先后顺序进行排序。

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

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