机器人姿态生成的制作方法

文档序号:18269940发布日期:2019-07-27 09:34阅读:392来源:国知局
机器人姿态生成的制作方法

许多类型的机器人已经被用于各种各样的应用中。传统上,机器人主要被用于工业应用。近年来,越来越多的机器人已经被用于人机交互领域,例如被用于家庭服务和医疗服务中的机器人。在这种趋势下,如何实现人与机器人之间更加自然和顺畅的交流吸引了越来越多的关注。



技术实现要素:

本文描述的主题的实施例提供了一种用于机器人姿态生成的方法、装置和机器人系统。一般来说,确定与将要由机器人说出的话语相对应的概念。在概念被确定或被选择后,从预定的姿态库中取回与确定的概念相对应的姿态的符号表示。随后,将符号表示提供给机器人,使得机器人执行姿态。

传统的聊天机器人可能不会从聊天智能中提供伴随着口头话语的任何姿态响应,或者可能仅提供有限的但是不恰当的姿态功能,与传统的聊天机器人不同的是,本公开的实施例提供了一种尤其是聊天机器人系统中的用于机器人姿态生成的方法和装置,其支持伴随着或同步于口头话语生成适当的姿态,并且与口语话语同步。通过这种方式,可以实现人和机器人之间更加自然、全面和有效的交流。

需要理解的是,发明内容并非意在标识本文描述的主题的实施例的关键或必要特性,其也并非意在用来限定本文描述的主题的范围。本文描述的主题的其他特征将通过以下描述变得易于理解。

附图说明

结合附图,通过对本文描述的主题的实施例进行更加详细的描述使得本文描述的主题的以上和其他目标、特点和优势更加显而易见,附图中相同的附图标记通常表示相同的构件。

图1示出了用于实现本文描述的主题的实施例的机器人系统的示意图。

图2示出了根据本公开实施例的用于机器人姿态生成的方法的流程图。

图3a示出了根据本公开实施例的一个典型的拉班舞谱(labanotation)以及由拉班舞谱表示的相对应的概念的示意图。

图3b示出了机器人身体部位的符号的示例。

图4示出了根据本公开实施例将话语映射为向量的过程的流程图。

图5示出了适合于实现本文描述的主题的一个或多个实施例的装置的框图。

所有附图中相同或相似的参考标记用于指示相同或相似的元素。

具体实施方式

本公开的原理现在将参照附图中示出的几个实施例进行描述。尽管本公开的实施例在附图中进行了图示,但需要理解的是,描述本公开的实施例仅为了有助于本领域技术人员更好地理解本公开,从而更好地实现本公开,而不是为了以任何方式限定公开范围。

此处使用的短语“包括”及其变型应被解释为开放术语,意为“包括但不限于”。短语“基于”应被解释为“至少部分基于”。除非另有规定,术语“一个”被解释为“一个或多个”。短语“一个实施例”应被解释为“至少一个实施例”。短语“另一实施例”应被解释为“至少一个另一实施例”。短语如“第一”和“第二”可以指代不同或相同的对象。其他定义也可以被明显地和隐含地包含在以下描述中。

图1根据本公开的实施例示出了机器人系统1000的示意图。如图1所示,根据本申请的实施例,机器人系统1000一般包括机器人100、服务器300以及装置10。装置10被用于根据将要由机器人100说出的话语来与口头话语一起生成适当的姿态。

例如,机器人100可以是聊天机器人。服务器300通常是能够处理接收到的消息并提供经处理的信息的设备,并且它可以是基于云的计算机的形式,例如用于聊天机器人情形的聊天智能。也就是说,用户可以通过例如视听触觉智能来与聊天智能300进行“对话”。

在用户(未显示)与机器人100之间进行的正常聊天过程期间,用户可以首先向机器人100做出表达或提出问题,然后期望从机器人100获得响应,例如用户所提问题的答案。

常规地,在服务器300经由机器人接收到用户的表达/话语后,与服务器300相关联的处理器可以基于接收到的表达/话语执行一些分析,并相应地准备对将要由机器人100说出的表达的响应或回答。然而,如上文所提到的,一些传统的聊天机器人不具有任何动作或姿态功能。另一方面,一些其他的传统的聊天机器人可能能够提供一些姿态和口语,然而,这些姿态可能是不恰当/不正确的姿态,多数情况下这些生成的姿态可能仅是随机的姿态。

根据本申请不同实施例,可以实现对用户做出连同机器人100的语音输出一起或与语音输出同步的适当姿态响应。换言之,可以实现从口语到姿态的翻译机制。此外,由于这些姿态是基于要被说出的话语生成的,或者是至少基于从这些话语中提取的一些概念生成的,因此以这种方式生成的姿态会更加准确和自然。

为方便讨论,本文描述的主题的实施例将参照机器人系统1000进行描述。然而,需要理解的是,描述机器人系统1000仅出于说明的目的,并没有对本文描述的主题范围做出任何建议和限定。例如,这些思想和原理也适用于独立运行的机器。

图2示出了根据本公开实施例的用于机器人姿态生成的方法200的流程图。方法200可以在如图1所示的装置10上执行。所示出的装置10可以是客户设备或基于云的装置,或者其可以是图1所示的服务器300的一部分。应该理解的是,方法200还可以包括未显示的其他操作和/或省略说明的步骤。此处本文描述的主题的范围不限于此方面。

以下将参照图1、图3和图4来描述方法200。在204处,根据将要由机器人100说出的话语确定一个或多个概念(c1,c2,…,cn)。将要由机器人100说出的话语可以是与用户的对话中主动的或响应的声音交互。它可以是一个单词、一个短语、多个单词组成的完整话语的口语。需要注意的是,虽然图1中所示的要被说出的话语是从服务器300接收的,但是在一些其他实施例中,话语可以直接从装置10中获得。

如上所述,在一些实施例中,用户可以先向机器人100并且进一步地向服务器300作出表达/提问,例如,经由麦克风传送他/她的声音,以及经由集成在机器人100上的摄像机传送他/她的图像。服务器300接收来自用户的表达/问题后,与服务器300相关联的处理器(未显示)将基于所接收到的表达执行分析,并准备将要由机器人100说出的表达以作为对该问题的的响应或回答。

在一些实施例中,来自用户的输入表达/问题将首先在本地进行检验。如果它被包含在特定的集合中,换言之,如果它是一个特定的对话,那么针对这个表达/问题的答案将在本地被准备。如果不被包含在特定的集合中,输入表达/问题将被进一步被发送到服务器300以获得响应。

在本文描述的主题的上下文中,概念一般被定义为从一组词中抽取的具有代表性的词。一组词可以包含以下词:这些词在上下文中享有相同或相似含义,因此它们在向量空间中与其他词在相似度上的位置非常接近。典型的概念可以包括例如“你好(hello)”、“很好(good)”、“谢谢(thanks)”、“饥饿(hungry)”等等。需要注意的是,本文描述的主题的范围并不限于概念中所包含的格式或内容。用户可以根据需要定义其他特定的概念。

如图1所示的机器人系统1000包括姿态库108,其被创建以存储多个预定的姿态和对应的概念。在一些实施例中,与姿态库108中的姿态相对应的每个概念都可以由第一向量表示。在本例中,确定与话语相对应的概念(c1,c2,…,cn)可以包括获取表示话语的第二向量,并且然后确定第二向量与多个第一向量的相似度。这样,基于确定的相似度,可以从姿态库108中存储的多个概念中选择与话语相对应的概念。

在一个实施例中,接收的话语或表达可以首先被给到系统,如“分布式词语嵌入”系统,以将话语转换为向量并且从而映射成概念。随后,通过检查从话语转换而来的向量与姿态库108中每个向量之间的相似度,可以从多个概念中选择具有最大相似度的概念,以作为与话语相对应的确定的概念。

图4示出了一个说明从话语到向量的转换过程400的示例。如图4所示,将要由机器人100说出的话语410是“我同意你的观点(iagreewithyou)”,“分布式词语嵌入”系统可以确定出具有最佳匹配的概念420例如为“同意(agree)”,然后概念“同意(agree)”被被映射到相对应的向量430以用于与存储在姿态库108中的向量进行比较。需要理解的是,虽然该示例只描述了一个基于词语的匹配机制(即基于词语水平相似度),但是基于其他水平相似度的概念匹配也是可能的,如短语级别相似度、语句级别相似度、文件级别相似度、甚至是语义级别相似度。

继续参考图1,在206处,从预定义的姿态库108中取回与确定的概念(c1,c2,…,cn))相对应的姿态的符号表示(sr1,sr2,...,srn)。

在一些实施例中,姿态库108可以使用所谓的“从观察中学习”的技术被预先创建。特别地,机器人100的姿态需要先被记录。姿态通常由机器人100相关联的摄像头前的执行者(例如,人)执行。然后执行者的一些重要姿势可以被摄像机捕获或“观察”,并随后转换成与执行的姿态相对应的符号表示(也称为符号)。在一些实施例中,取回符号表示(sr1,sr2,...,srn)包括取回拉班舞谱(labanotation)(la1,la2,…,lan)。因此,通过获得的拉班舞谱,可以建立表示所执行的姿态的拉班舞谱和概念之间的关系(例如拉班舞谱-概念对),并且存储于姿态库108以用于将来使用。

拉班舞谱已经被用于记录人们的舞蹈。本文中拉班舞谱特别地限定机器人100的至少一个身体部位关于多个时隙中的朝向。根据发明人的观察,机器人系统1000所使用的拉班舞谱是描述人们的行为的充分必要条件。这是因为,观看几个舞者跳同样的舞蹈最后得到的是同样的拉班舞谱,另一方面,任何舞者都可以基于相同拉班舞谱来执行/重建同样的舞蹈。

进一步地,拉班舞谱与机器无关(或与硬件无关),其可以克服硬件差异性问题。此外,作为一种简明的符号表示方法,机器人和云计算之间的拉班舞谱很容易通过有限信道进行传输。而且,相比于其他类型的表示方法,拉班舞谱需要更小的内存。

在一些实施例中,通过连续捕获/记录的姿态,可以确定机器人100的至少一个身体部位在多个时隙中的朝向,并且然后可以得到与朝向相对应的符号。在此之后,将与对应的时隙301相关联的符号作为拉班舞谱的一部分进行存储。

在一些实施例中,至少一个身体部位包括多个身体部位,并且拉班舞谱包括与多个时隙301相对应的第一维度和与多个身体部位相对应的第二维度(即,二维拉班舞谱)。图3a示出了二维拉班舞谱表示概念“好(good)”。在这一拉班舞谱中,每一列(即,第二维度)对应于一个特定的身体部分,例如左手、左臂、支撑物、右臂、右手、头部。每一行(即第一维度)对应于具有给定持续时间的时隙301。此外,符号代表当时身体部位所朝向的方向。

需要注意的是,图3a中的示例拉班舞谱仅出于说明的目的而被示出,并非对本文描述的主题的范围做出任何建议和限定。换言之,更复杂的拉班舞谱可以涉及更多的身体部位,如包括图3b所示的左肘或右膝也是可能的(被虚线圆圈所标注)。

附加地或备选地,对于先前创建的姿态库108,多个姿态的多个拉班舞谱分组为拉班舞谱簇,对于每个拉班舞谱簇,可以确定一个具有代表性的拉班舞谱。在这种情况下,在多个拉班舞谱中,表示相似姿态的相似拉班舞谱可以被聚类/分组。因此,一个拉班舞谱/姿态簇(而不是单个拉班舞谱/姿态)由代表性的拉班舞谱来表示。通过这种方式,可以保证任何与相同簇对应的概念都将给出相同的姿态。

相比于包含“一对一”概念—拉班舞谱对的姿态库108,以上述可选方式创建的姿态库108包含用于“多对一”的概念到拉班舞谱匹配。因此,从预定义的姿态库108中取回与确定的概念(c1,c2,…,cn)相对应的姿态的符号表示(sr1,sr2,...,srn)包括获取表示话语的第二向量,以及确定第二向量与多个第一向量的相似度,然后从多个概念中基于相似度选择与话语对应的概念。根据所选择的概念,取回步骤进一步包括(例如基于拉班舞谱的相似度)确定与所选择的概念相对应的符号表示簇,从符号表示簇中取回存储于姿态库108中的具有代表性的符号表示。

在208处,提供符号表示以使机器人100执行该姿态。在一些实施例中,使机器人100执行该姿态包括沿第一维度执行拉班舞谱以触发多个身体部位根据多个时隙301的相应朝向来执行该姿态。

如图3a所示,在执行拉班舞谱时,如图3a所示,时间从底部到顶部流逝(如箭头所示),并且在给定的时隙301中将执行指示多个身体部位不同朝向的各种符号的特定组合,使得机器人100可以连续地执行对应的与时间关联的动作。

备选地或附加地,方法200还可进一步包括使机器人100说出与姿态同步的话语的步骤。通过这种方式可以实现人与机器人之间更加自然和顺畅的交流。

在一些实施例中,如图1所示,姿态库108或拉班舞谱可以被存储于远程服务器200处,如云计算机。在这种情况下,用户可以根据需要很容易地通过编辑/更改云计算机上的拉班舞谱来更新姿态。这对于避免因每天重复的、相同的姿态而引起的厌倦情绪尤其是非常有帮助的。换言之,通过改变拉班舞谱,机器人100每天可以执行不同的姿态。当然,也可以将姿态库108或拉班舞谱存储在本地,例如,装置10。

在一些实施例中,仅姿态库108的一部分被存储于远程服务器200处,而姿态库108的其他部分被存储在本地。如上所述,对于一些特定的对话,可以使用拉班舞谱来设计作为姿态库108的一部分的特定姿态,并将其保存在本地,然而对于随机的/通用的对话,作为姿态库108的另一部分的通用姿态将被存储在远程服务器200中。

图5是适用于实现本文描述的主题的一个或多个实施例的装置10的框图。例如,参照图1,装置10可以如上述执行功能。需要理解的是,装置10无意对本文描述的主题的使用或功能范围做出任何建议和限定,不同的实施例可以在不同的通用目的或专用目的的计算环境中被实施。

如图所示,装置10包括至少一个处理单元(也被称作处理器)102和存储器104。处理单元102执行计算机可执行指令,它可以是真实的或虚拟的处理器。在多处理系统中,多处理单元执行计算机可执行指令以提高处理能力。存储器104可以是易失性存储器(如寄存器、缓存器、ram),和非易失性存储器(如rom、eeprom、闪速存储器),或它们的某种组合。

根据本文描述的主题的实施例,存储器104与处理单元102耦合,并存储指令用于由处理单元102执行。这些指令由处理单元102执行时,使得装置10:接收将要由机器人100说出的话语;确定与接收到的话语相对应的概念(c1,c2,…,cn);从预定义的姿态库108取回与确定的概念(c1,c2,…,cn)配对的姿态的符号表示(sr1,sr2,...,srn);并使机器人100执行符号表示以执行姿态。

在图4所示的示例中,装置10进一步包括一个或多个通信连接510。互连机制(未显示),如总线、控制器或网络,将装置10的各部件互连。通常地,操作系统软件(未显示)为在设备10中提供有用于其他软件执行的操作环境,并协调装置10的各组件的行动。

通信连接510支持通过通信介质与另一个计算实体的通信。此外,装置10的各组件的功能可以在单一计算机中实现,也可以在能够通过通信连接进行通信的多台计算机中实现。因此,装置10可以在网络环境中(例如,机器人系统环境1000)通过使用逻辑连接至一个或多个其他服务器、网络pc或另一个公共网络节点进行操作。举例来说,通信媒体包括有线或无线网络技术,且不受限制。

面下将列举本文所述主题的一些实施例。

在一些实施例中,提供了一种用于机器人姿态生成的方法。该方法包括:确定与将要由机器人说出的话语相对应的概念;从预定义的姿态库取回与确定的概念相对应的姿态的符号表示;并提供符号表示(sr1,sr2,...,srn)以使机器人执行该姿态。

在一些实施例中,取回符号表示包括:取回拉班舞谱,其限定机器人的至少一个身体部位在多个时隙中的朝向。

在一些实施例中,该方法进一步包括通过以下方式创建姿态库:捕获执行者的姿态;从所捕获的姿态确定执行者的至少一个身体部位在多个时隙中的朝向;生成与对应的时隙相关联的表示朝向的符号,作为拉班舞谱的一部分。

在一些实施例中,该方法进一步包括将多个拉班舞谱分组为拉班舞谱簇,从拉班舞谱簇中确定代表性的拉班舞谱。

在一些实施例中,姿态库的至少一部分被存储于远程服务器处。

在一些实施例中,至少一个身体部位包括多个身体部位,拉班舞谱包括与多个时隙相对应的第一维度和与多个身体部位相对应的第二维度。

在一些实施例中,提供符号表示以使机器人执行该姿态包括:沿第一维度执行拉班舞谱以触发多个身体部位根据多个时隙的相应朝向执行该姿态。

在一些实施例中,该方法进一步包括:使机器人说出与姿态同步的话语。

在一些实施例中,预定义的姿态库包括分别表示多个概念的多个第一向量,从预定义姿态库中取回与确定的概念相对应的姿态的符号表示,包括:获取表示话语的第二向量;确定第二向量与多个第一向量的相似度;基于相似度从多个概念中选择与该话语相对应的概念。

在一些实施例中,该姿态库包括分别表示多个概念的多个第一向量,从预定义姿态库(108)中取回与确定的概念相对应的姿态的符号表示,包括:获取表示话语的第二向量;确定第二向量与多个第一向量的相似度;基于相似度从多个概念中选择与该话语相对应的概念;确定与选择的概念相对应的符号表示簇;从符号表示簇中取回具有代表性的符号表示。

在一些实施例中,提供了一种用于机器人姿态生成的装置,该装置包括:处理单元;存储器,存储器与处理单元耦合,存储指令用于由处理单元执行,这些指令由处理单元执行时,使得装置:确定与接收到的将要由机器人说出的话语相对应的概念;从预定义的姿态库中取回与确定的概念相对应的姿态的符号表示;将符号表示提供给机器人以执行该姿态。

在一些实施例中,取回符号表示包括:取回限定机器人的至少一个身体部位在多个时隙中的朝向的拉班舞谱。

在一些实施例中,该装置进一步被配置为通过以下方式创建姿态库:捕获执行者的姿态;从所捕获的姿态确定执行者的至少一个身体部位在多个时隙中的朝向;生成与对应的时隙相关联的表示朝向的符号以作为拉班舞谱的一部分;将拉班舞谱和概念进行关联。

在一些实施例中,该装置进一步被配置为将多个拉班舞谱分组为拉班舞谱簇,从拉班舞谱簇中确定代表性的拉班舞谱。

在一些实施例中,姿态库的至少一部分被存储于远程服务器处。

在一些实施例中,至少一个身体部位包括多个身体部位,拉班舞谱包括与多个时隙相对应的第一维度和与多个身体部位相对应的第二维度。

在一些实施例中,提供符号表示以使机器人执行姿态包括:沿第一维度执行拉班舞谱以触发多个身体部位根据多个时隙的相应朝向执行该姿态。

在一些实施例中,该装置进一步被配置为:使机器人说出与姿态同步的话语。

在一些实施例中,预定义的姿态库包括分别表示多个概念的多个第一向量,从预定义姿态库(108)中取回与确定的概念相对应的姿态的符号表示,包括:表示话语的第二向量;确定第二向量与多个第一向量的相似度;基于相似度从多个概念中选择与话语相对应的概念。

在一些实施例中,姿态库包括分别表示多个概念的多个第一向量,从预定义姿态库中取回与确定的概念相对应的姿态的符号表示包括:获取表示话语的第二向量;确定第二向量与多个第一向量的相似度;基于相似度从多个概念中选择与话语相对应的概念;确定与选择的概念相对应的符号表示簇;从符号表示簇中取回具有代表性的符号表示。

在一些实施例中,提供了用于固态驱动器存储的计算机程序产品。计算机程序产品被有形地存储在非瞬态机器可读介质中,包括机器可执行指令,机器可执行指令在被执行时使机器:确定与接收到的将要由机器人说出的话语相对应的概念;从预定义的姿态库中取回与确定的概念相对应的姿态的符号表示;将符号表示提供给机器人以执行该姿态。

在一些实施例中,取回符号表示包括;取回限定机器人的至少一个身体部位在多个时隙中的朝向的拉班舞谱。

在一些实施例中,计算机程序进一步包括促使机器:通过以下方式创建姿态库:捕获执行者的姿态;从所捕获的姿态确定执行者的至少一个身体部位在多个时隙中的朝向;生成与对应的时隙相关联的表示朝向的符号,作为拉班舞谱的一部分;将拉班舞谱和概念进行关联。

在一些实施例中,姿态库的至少一部分被存储于远程服务器处。

应了解,上述本公开的详细实施例仅是对本公开原理的例证或解释,并非对本公开做出限定。因此,任何不偏离本公开的精神和范围的修改、同等替代和改进等,均应纳入本公开的保护范围。同时,本公开所附的权利要求书旨在覆盖属于权利要求书的范围和边界或相当于范围和边界的范围和边界的所有变更和修改。

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