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

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

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



背景技术:

随着机器人技术的不断发展,智能机器人的越来越多的被应用到人类日常的生产生活中。尤其的,在家庭室内或办公场所中,服务型机器人扮演越来越重要的角色。

服务型机器人的主要应用方向是理解用户需求并且以满足用户需求为目标自动完成复杂的指令。在大部分的应用场合中,用户需求集中在对特定的目标物体进行操作,例如“拿一瓶可乐过来”。这就需要机器人能够定位特定的目标物体并根据定位信息执行匹配的操作。

在现有技术中,虽然可以通过多种技术手段实现对特定的目标物进行定位。但是,相较于其他应用操作,执行定位操作时需要消耗较高的数据采集、数据处理量;尤其的,随着定位精度的提高,其消耗的数据采集、数据处理量更是成倍增加。这就使得快速、精准的定位操作需要较高水平的硬件支撑,在硬件水平受限的情况下,不仅需要较长的定位时间,而且很难保证定位精度。

由于现有技术的定位操作存在的上述局限性,因此现有技术中的服务机器人或是成本高昂,不利于机器人的推广普及;或是在有定位需求时反应迟钝,大大限制了机器人的应用范围,降低了用户体验。



技术实现要素:

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

获取多模态交互输入数据;

判断回应所述多模态交互输入数据是否需要进行物体定位;

当需要进行物体定位时确定需要进行定位的目标物体;

从已保存的地图数据中提取与所述目标物体相关联的位置信息;

结合所述位置信息生成并输出回应所述多模态交互输入数据的多模态交互输出。

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

识别物体并判断对应所述物体的位置信息是否已被保存到所述地图数据中;

当对应所述物体的位置信息尚未保存时,将所述物体的位置信息以及所述物体的标签关联保存入所述地图数据中。

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

验证所述地图数据中保存的所述位置信息所对应的位置是否存在对应物体;

当所述位置信息所对应的位置不存在对应物体时更新所述地图数据。

在一实施例中,将所述物体的位置以及所述物体的标签关联保存入所述地图数据中,其中:

当不存在所述物体的标签时,输出获取所述物体的标签的多模态输出数据;

解析用户针对所述多模态输出数据的回应,获取所述物体的标签。

在一实施例中,结合所述位置信息生成并输出回应所述多模态交互输入数据的多模态交互输出,其中,所述多模态交互输出为根据所述当前目标物体的位置进行路径规划并导航,实现回应多模态交互输入数据的多模态交互输出;

其中,

当所述目标物体对应多个位置信息时,采用距离当前位置最近的位置信息。

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

输入获取模块,其配置为获取多模态交互输入数据;

定位请求判定模块,其配置为判断响应所述多模态交互输入数据是否需要进行物体定位;

目标物确认模块,其配置为当需要进行物体定位时确定需要进行定位的目标物体;

地图存储模块,其配置为保存地图数据;

位置获取模块,其配置为从所述地图数据中提取与所述目标物体相关联的位置信息;

输出模块,其配置为结合所述位置信息生成并输出响应所述多模态交互输入数据的多模态交互输出。

在一实施例中,所述机器人还包括用于构造所属地图数据的记录模块,其中,所述记录模块包括:

识别单元,其配置为识别物体;

位置信息保存确认单元,其配置为判断所述识别单元识别出的物体所对应的位置信息是否已被保存到所述地图数据中;

信息纪录单元,其配置为当所述图像识别单元识别出的物体所对应的位置信息尚未保存到所述地图数据中时将所述物体的位置信息以及所述物体的属性特征描述关联保存入所述地图数据中。

在一实施例中,所述机器人还包括用于验证所述地图数据中所述位置信息是否有效的验证模块,其中,所述验证模块包括:

识别单元,其配置为识别物体;

位置信息验证单元,其配置为基于所述识别单元的识别结果判断所述位置信息对应的位置是否存在该位置信息对应的物体;

地图数据更新单元,其配置为当所述位置信息对应的位置不存在该位置信息对应的物体时,更新所述地图数据。

在一实施例中,所述信息纪录单元包括:

询问单元,其配置为当不存在所述物体的属性特征描述时,输出获取所述物体的属性特征描述的多模态输出数据;

获取单元,其配置为解析用户针对所述多模态输出数据的回应,获取所述物体的属性特征描述。

在一实施例中,所述输出模块配置为根据所述当前目标物体的位置进行路径规划并导航,实现回应多模态交互输入数据的多模态交互输出;

其中,所述输出模块还配置为当所述当前目标物体对应多个位置信息时,采用距离当前位置最近的位置信息。

根据本发明的方法,可以简单快速的获取指定物体的位置信息以实现响应当前多模态交互输入数据的多模态交互输出。相较于现有技术,本发明的方法硬件需求低、反应迅速,不仅可以有效控制机器人成本,而且可以大大提高机器人交互输出的反应速度,增强机器人的用户体验。

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

附图说明

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

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

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

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

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

具体实施方式

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

随着机器人技术的不断发展,智能机器人的越来越多的被应用到人类日常的生产生活中。尤其的,在家庭室内或办公场所中,服务型机器人扮演越来越重要的角色。

服务型机器人的主要应用方向是理解用户需求并且以满足用户需求为目标自动完成复杂的指令。在大部分的应用场合中,用户需求集中在对特定的目标物体进行操作,例如“拿一瓶可乐过来”。这就需要机器人能够定位特定的目标物体并根据定位信息执行匹配的操作。

在现有技术中,虽然可以通过多种技术手段实现对特定的目标物进行定位。但是,相较于其他应用操作,执行定位操作时需要消耗较高的数据采集、数据处理量;尤其的,随着定位精度的提高,其消耗的数据采集、数据处理量更是成倍增加。这就使得快速、精准的定位操作需要较高水平的硬件支撑,在硬件水平受限的情况下,不仅需要较长的定位时间,而且很难保证定位精度。

由于现有技术的定位操作存在的上述局限性,因此现有技术中的服务机器人或是成本高昂,不利于机器人的推广普及;或是在有定位需求时反应迟钝(定位精度需求越高,反应越迟钝),大大限制了机器人的应用范围,降低了用户体验。

针对上述问题,本发明提出了一种用于机器人的交互输出方法。在实际的交互应用场景中,机器人获取并解析多模态交互输入数据,然后生成并输出用于回应多模态交互输入数据的多模态交互输出。在此过程中,为了实现多模态交互数据的输出,在某些情况下机器人需要获取目标物体的定位信息(在现有技术中,此时就需要机器人执行定位操作)。在本发明一实施例中,在机器人需要获取目标物体的定位信息时,并不是直接按照常规的定位操作流程为目标物体进行定位,而是调用预先保存的物体位置信息。由于数据调用操作并不需要消耗较高的数据采集、数据处理量;并且需要消耗较高数据采集、数据处理量的定位操作是在之前的空闲时间中预先执行的,其并不会影响当前的数据采集以及数据处理;因此机器人生成并输出多模态交互输出的反应速度就被大大提高。

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

如图1所示,在一实施例中,机器人首先获取多模态交互输入数据(步骤S100),然后解析多模态交互输入数据,生成并输出回应多模态交互输入数据的多模态输出(步骤S101)。

具体的,在步骤S100中,机器人获取到的多模态交互输入数据可以是直接来自于用户输入,也可以是针对交互环境的数据采集。在步骤S101中,机器人的交互输出是基于预设的交互策略,针对交互输入采取的交互回应。

例如在一应用场景中,用户直接命令机器人去拿一罐可乐(直接的用户输入),机器人执行命令(交互策略是执行用户的命令)去拿一罐可乐。在另一应用场景中,机器人检测用户行为,发现用户在地板上睡着了(针对交互环境的数据采集),如果交互策略是用户在地板上睡着时需要给他盖毛毯,那么机器人拿来毛毯盖在用户身上;如果交互策略是用户在地板上睡着时需要叫醒用户,那么机器人叫醒用户。

在步骤S101的执行过程中,判断回应多模态交互输入数据是否需要进行物体定位(步骤S110)。

例如在上面的举例中,用户直接命令机器人去拿一罐可乐的情况下,机器人执行命令去拿一罐可乐,拿可乐这一操作的执行需要明确可乐的具体位置,因此需要进行物体定位。在另一应用场景中,如果交互策略是用户在地板上睡着时需要叫醒用户,那么当用户在地板上睡着时,机器人就会判断回应当前的多模态交互输入数据(用户在地板上睡着)不需要进行物体定位(叫醒用户这一行为不需要进行物体定位);如果交互策略是用户在地板上睡着时需要盖毛毯,机器人检测用户行为,发现用户在地板上睡着了,由于拿毛毯这一操作的执行需要明确毛毯的具体位置,因此需要进行物体定位。

当不需要定位时采用其他交互回应策略生成并输出多模态交互输出(例如上边举例中机器人直接叫醒用户)(步骤S111)。

当需要进行物体定位时首先确定需要进行定位的目标物体(步骤S120);然后从已保存的地图数据中提取与目标物体相关联的位置信息(例如上述举例中可乐的位置信息或是毛毯的位置信息)(步骤S130);最后结合提取出的位置信息生成并输出回应多模态交互输入数据的多模态交互输出(步骤S140)(拿可乐或是拿毛毯)。具体的,在步骤S140中,根据步骤S130所确定的位置信息进行路径规划/导航,从而生成并输出回应多模态交互输入数据的多模态交互输出。

在图1所示的步骤中,以数据采集量数据处理量相对较小的步骤S120以及S130替代了现有技术中的定位操作,本质上将现有技术中需要及时执行的定位操作放到其他空闲时段预先执行。这样在当前的处理流程中就不会被定位操作所需的大数据采集量以及大数据处理量所影响,从而大大减少了当前的处理流程的处理耗时,加快了机器人的反应速度,提高了机器人的用户体验。

进一步的,在一实施例中,地图数据中包含相互关联的物体的属性特征描述(标签)以及该物体在空间场景中的位置信息(例如空间坐标)(至少包含一个属性特征描述以及对应的位置信息)。在步骤S130中,利用步骤S120所确定的目标物体在地图数据中进行匹配搜索,搜索与目标物体匹配的属性特征描述从而确定关联保存的位置信息。

具体的,在地图数据中,物体的属性特征描述以及位置信息可以是一一对应的。以一具体应用场景为例,地图数据包含两个对应关系,其分别是“苹果、区域1”以及“可乐、区域2”;其中“苹果”和“可乐”分别是两个物体的属性特征描述(标签),“区域1”以及“区域2”则分别是两个物体在空间场景中所处的位置信息。

当用户命令“拿可乐过来”时,机器人在回应该命令时判断需要对可乐进行定位。接下来通过对“可乐”在地图数据中的匹配搜索获取标签“可乐”,进而确定关联“可乐”的位置信息“区域2”;根据“区域2”进行路径规划以及导航,移动到可乐附近并拿起可乐,然后将可乐拿到用户处。

进一步的,在实际的应用场景中,多个同类的物体可能会分别位于空间场景的多个不同位置处。因此,在地图数据中,同一属性特征描述也可以关联多个不同的位置信息。例如,在一应用场景中,3罐可乐分别位于区域2、区域3以及区域4;在地图数据中,其关联保存为“可乐、区域2、区域3、区域4”。

进一步,在步骤S130中,针对目标物体提取到的位置信息可能是多个。针对这种情况,在一实施例中,当目标物体对应多个位置信息时,采用距离当前位置最近的位置信息执行步骤S140。在另一实施例中,当目标物体对应多个位置信息时,则首先向用户发起询问,由用户确认采用哪一个位置信息。

在图1所示步骤中,关键步骤之一在于从已保存的地图数据中提取与目标物体相关联的位置信息(步骤S130)。该步骤的实现前提是当前已保存有包含位置信息的地图数据。因此,本发明还提出了记录位置信息以创建地图数据的方法。在一实施例中,当机器人来到新的环境中时,机器人识别新环境中的每个物体,关联保存物体的属性特征描述以及位置信息以构成地图数据。这样预先将当前空间场景中的所有物体位置进行记录以便之后进行在此空间场景内的定位交互输出。

如图2所示,在一实施例中,当机器人所处的场景发生转换(步骤S200)后首先判断针对当前所处的空间场景是否存在已保存的地图数据(步骤S210)。如果已存在,则不构造新的地图数据,暂时待机(步骤S211)。如果针对当前的空间场景不存在对应的地图数据,则识别当前空间场景中的物体(步骤S220),获取物体的属性特征描述(步骤S221)以及位置信息(步骤S222);关联保存属性特征描述以及位置信息以构造地图数据(步骤S230)。

进一步的,考虑到空间场景中的物体可能会发生变化(例如被取走物体、新添物体或是改变原有物体的位置),因此,在一实施例中,机器人(随机或者按照固定频率)会对所处的空间场景中的物体进行位置信息识别更新。

如图3所示,在一实施例中,机器人识别当前空间场景中的物体(识别一个物体)(步骤S300),判断识别出的物体的位置信息是否已被保存(记录)到地图数据中(步骤S310),如果已被保存,则返回步骤S300,识别下一个物体。

如果当前识别出的物体的位置信息尚未保存,则说明该物体是新加入当前空间场景的物体或者是原有物体被挪到了当前的新位置。此时,将该物体的属性特征描述以及位置信息关联保存如地图数据中(步骤S320)。

进一步的,在一实施例中,在步骤S310中需要首先判断当前物体的属性特征描述是否已存在于已保存的地图数据中,如果不存在,则说明此物体的位置信息从来没有被记录过(是新加入当前空间场景的物体)。

当当前物体的属性特征描述已存在于已保存的地图数据中时,继续判断该属性特征描述在地图数据中关联的位置信息是否与实际空间场景中该物体的位置信息一致。当两者一致时,该物体的位置信息就是已保存过的。如果不一致,则说明已保存的位置信息是在其他位置上的同类物体的位置信息(新加入当前空间场景的物体与已保存位置信息的物体同类,具有相同的属性特征描述)或者当前位置上的物体是其他位置上的原有物体移动过来的。在这种情况下,当前的物体的位置信息还尚未保存。

具体的,如图4所示,在一实施例中,机器人在当前的空间场景中首先识别物体(步骤S400),获取物体标签(步骤S410),判断获取到的物体标签是否存在于已保存的地图数据中(步骤S420)。如果不存在,则获取该物体的位置信息(步骤S460),将物体标签与位置信息关联保存入地图数据中(步骤S450)。

如果已保存的地图数据中存在该物体标签,则获取该物体的位置信息(步骤S430),判断该位置信息是否与已保存的地图数据中的位置信息一致(步骤S440),如果一致,则识别下一个物体(返回步骤400)。如果不一致,则将物体标签与位置信息关联保存入地图数据中(步骤S450)。

进一步的,在实际环境中,一个空间场景内会存在很多不同种类的物体,受限于机器人的识别硬件以及用于物品识别的数据库,机器人可能会遇到无法进行识别的物体,仅能确认物体的位置,但是无法识别获取该物体准确的属性特征描述(标签)。针对这种情况,在一实施例中,当机器人无法确认物体的准确属性特征描述(标签)时(例如图2所示的步骤S221中),向用户发起主动询问,输出获取物体的属性特征描述的多模态输出数据,解析用户针对多模态输出数据的回应,从用户处获取物体的属性特征描述(标签)。

进一步的,在一实施例中,当机器人无法识别获取物体准确的属性特征描述时,则判定该物体尚未被记录。例如在图4所示的流程中,如果在步骤S400中机器人无法识别获取物体准确的属性特征描述,则在步骤S410中向用户发起询问获取物体的属性特征描述并跳到步骤S460获取位置信息(不需要执行步骤S420)。

上述图3以及图4的流程主要针对新加入当前空间场景的物体以及被挪动位置的物体进行记录,本质上是为地图数据添加新的记录。但是,当空间场景中的原有物体被移动后(移出该空间场景或移到空间场景中的新位置),其在地图数据中对应的记录就无效了,如果不进行地图场景的更新,无效信息势必会影响之后的定位效果以及多模态交互输出的实现。

因此,在本发明一实施例中,机器人在空闲状态下(随机或者按照固定频率)验证地图数据中保存的位置信息所对应的位置是否存在对应物体(验证记录是否有效);当位置信息所对应的位置不存在对应物体时更新地图数据(删除或修改对应的记录)。

具体的,如图5所示,机器人从已保存的地图数据中提取已保存的位置信息(步骤S500),判断在当前的空间场景中与提取出的位置信息对应的位置上是否有物体存在(步骤S510),如果没有物体存在,则说明与记录对应的物体已经被移动,该记录无效,此时删除相关记录(删除对应的位置信息以及与物体标签的关联关系)(步骤S560)。

如果该位置上存在物体,则识别获取该物体的物体标签(步骤S520),从地图数据中提取与该位置信息关联的物体标签(步骤S530),判断识别获取到的物体标签与提取的物体标签是否一致(步骤S540)。如果一致,则说明该记录有效,提取下一条位置信息(返回步骤S500)。如果不一致,则说明该记录无效,修改与该位置信息关联的物体标签(将地图数据中与该位置信息关联的物体标签替换为从当前空间场景中识别获取的物体标签)(步骤S550)。

在实际应用场合中,由于一个空间场景内会存在很多不同种类的物体,如果针对所有的物体进行位置信息的预先记录势必导致最后获取的地图数据具有较高的数据量。并且,在实际应用中,并不是空间场景内的物体都会作为机器人的操作执行对象,即,对于机器人而言,空间场景内有很多物体是可以无视的,机器人以后的多模态交互输出不会涉及到这些物体。

具体的,如图6所示,在机器人识别物体的过程中,首先指定一个物体(步骤S610),判断该物体是否属于预先限定的目标物体范围(步骤S620),如果属于,则继续进行识别(步骤S630),如果不属于,则停止识别(步骤S640),无视该物体,将识别目标转到下一个物体(步骤S650)。

综上,根据本发明的方法,可以简单快速的获取指定物体的位置信息以实现响应当前多模态交互输入数据的多模态交互输出。相较于现有技术,本发明的方法硬件需求低、反应迅速,不仅可以有效控制机器人成本,而且可以大大提高机器人交互输出的反应速度,增强机器人的用户体验。

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

输入获取模块600,其配置为获取多模态交互输入数据;

输出模块610,其配置为生成并输出响应多模态交互输入数据的多模态交互输出;

定位请求判定模块620,其配置为判断响应所述多模态交互输入数据(生成并输出多模态交互输出)是否需要进行物体定位;

目标物确认模块630,其配置为当需要进行物体定位时确定需要进行定位的目标物体;

地图存储模块640,其配置为保存地图数据;

位置获取模块650,其配置为从地图存储模块640保存的地图数据中提取与目标物确认模块630确认的目标物体相关联的位置信息。

输出模块610还配置为结合位置信息生成并输出响应所述多模态交互输入数据的多模态交互输出。

进一步的,在一实施例中,机器人还包括用于记录位置信息的记录模块。如图7所示,记录模块700包括:

识别单元701,其配置为识别物体;

位置信息保存确认单元702,其配置为判断识别单元701识别出的物体所对应的位置信息是否已被保存到地图存储模块710中保存的地图数据中;

信息纪录单元703,其配置为当图像识别单元识别出的物体所对应的位置信息尚未保存到地图数据中时将物体的位置信息以及物体的属性特征描述关联保存入地图数据中。

进一步的,在一实施例中,机器人还包括用于验证地图数据中位置信息是否有效的验证模块。如图8所示,验证模块800包括:

识别单元801,其配置为识别物体;

位置信息验证单元802,其配置为基于识别单元801的识别结果判断地图存储模块810中保存的地图数据中位置信息对应的位置是否存在该位置信息对应的物体;

地图数据更新单元803,其配置为当位置信息对应的位置不存在该位置信息对应的物体时,更新地图存储模块810中保存的地图数据。

进一步的,在一实施例中,如图7所示,信息纪录单元703包括:

询问单元704,其配置为当不存在物体的属性特征描述时,输出获取物体的属性特征描述的多模态输出数据;

获取单元705,其配置为解析用户针对多模态输出数据的回应,获取物体的属性特征描述。

进一步的,针对多个同样的物体分散在不同的位置的情况,在一实施例中,输出模块还配置为当当前目标物体对应多个位置信息时,采用距离当前位置最近的位置信息。

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

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