机器人交互行为的控制方法、装置及机器人与流程

文档序号:12593971阅读:239来源:国知局
机器人交互行为的控制方法、装置及机器人与流程

本发明涉及机器人技术领域,特别涉及一种机器人交互行为的控制方法、装置及机器人。



背景技术:

当今的机器人多为工业机器人,而工业机器人以无感知能力的居多。这些机器人的操作程序都是预先制定的,并按照预定程序重复无误地完成确定的任务。它们缺乏适应性,只有当涉及的对象相同时,才能产生一致的结果。



技术实现要素:

本发明实施例提供了一种机器人交互行为的控制方法、装置及机器人,以至少有效提高机器人自适应交互行为能力与智能化程度。

在某些实施例中,一种机器人交互行为的控制方法,包括:获取机器人感知到的信息;根据感知到的信息、至少按照预先定义的感知单元生成感知数据,其中,该感知数据包括感知单元的标识和取值;查找与生成的感知数据匹配的控制条目,其中,每个控制条目包含触发条件和该触发条件触发的行为,每个触发条件由至少一个感知单元构成;如果查找到与上述生成的感知数据匹配的控制条目,使机器人执行查找到的控制条目中的行为。

在某些实施例中,一种机器人交互行为的控制方法,包括:感知至少一项信息;根据感知到的信息、至少按照预先定义的感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;将生成的感知数据发送出去;接收与上述感知数据匹配的控制条目,其中,该控制条目包含触发条件和该触发条件触发的行为,触发条件由至少一个感知单元构成;执行接收到的控制条目中的交互行为。

在某些实施例中,一种机器人交互行为的控制方法,包括:提供包含多个控制条目的控制条目文档,其中,每个控制条目包含触发条件和该触发条件触发的行为,每 个触发条件由至少一个预先定义的感知单元构成;将机器人的感知数据与控制条目进行匹配,以确定是否存在与所述机器人的感知数据匹配的控制条目,其中,机器人的感知数据根据机器人感知到的信息、至少按照预先定义的感知单元生成。

在某些实施例中,一种机器人交互行为的控制装置,包括:获取模块,用于获取机器人感知到的信息;生成模块,用于根据感知到的信息、至少按照预先定义的感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;查找模块,用于查找与生成的感知数据匹配的控制条目,其中,每个控制条目包含触发条件和该触发条件触发的行为,每个触发条件由至少一个感知单元构成;执行模块,用于当查找到与生成的感知数据匹配的控制条目,使机器人执行查找到的控制条目中的行为。

在某些实施例中,一种机器人交互行为的控制装置,包括:感知模块,用于感知至少一项信息;生成模块,用于根据感知到的信息、至少按照预先定义的感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;发送模块,用于将生成的感知数据发送出去;接收模块,用于接收与所述感知数据匹配的控制条目的信息,其中,该控制条目包含触发条件和该触发条件触发的行为,触发条件由至少一个感知单元构成;执行模块,用于根据控制条目的信息执行该控制条目中的交互行为。

在某些实施例中,一种机器人交互行为的控制装置,包括:接收模块,用于接收机器人的感知数据,其中,感知数据根据机器人感知到的信息、至少按照预先定义的感知单元生成;查找模块,用于查找与机器人的感知数据匹配的控制条目,其中,每个控制条目包含触发条件和该触发条件触发的行为,每个触发条件由至少一个感知单元构成;执行模块,用于当查找到与机器人的感知数据对应的控制条目,使机器人执行查找到的控制条目中触发条件触发的行为。

在某些实施例中,一种机器人交互行为的控制装置,包括:控制条目文档,用于提供包含多个控制条目的控制条目文档,其中,每个控制条目包含触发条件和该触发条件触发的行为,每个触发条件由至少一个预先定义的感知单元构成;匹配模块,用于将机器人的感知数据与控制条目进行匹配,以确定是否存在与机器人的感知数据匹配的控制条目,其中,感知数据根据机器人感知到的信息、至少按照预先定义的感知单元生成。

上述方法可以由机器人执行,其中所述机器人具有:一个或多个单元,存储器,以及一个或多个保存在存储器中以执行这些方法的模块、程序或指令集。

用于执行上述方法的指令可以包括在被配置为由一个或多个处理器执行的计算机程序产品中。

在本发明实施例中,提出了一种机器人的控制方法、装置及机器人,预先定义了控制机器人交互行为的感知单元,将其作为控制机器人交互行为的最小单元,根据感知单元设置触发条件和触发条件所触发的交互行为,得到控制机器人的控制条目,统一了机器人控制的输入输出标准,使得非技术人员也可以编辑机器人的行为,从而便于控制机器人的交互行为,有效提高机器人自适应交互行为能力与智能化程度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1说明根据本发明某些实施例的机器人的结构示意图;

图2说明根据本发明某些实施例的机器人的控制数据的生成方法的流程图;

图3说明根据本发明某些实施例的机器人交互行为的控制方法的流程图一;

图4说明根据本发明某些实施例的机器人交互行为的控制方法的流程图二;

图5说明根据本发明某些实施例的机器人交互行为的控制方法的流程图三;

图6说明根据本发明某些实施例的机器人的控制数据的生成装置的结构框图;

图7说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图一;

图8说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图二;

图9说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图三;以及

图10说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图四。

具体实施方式

现在详细参考附图中描述的实施例。为了全面理解本发明,在以下详细描述中提到了众多具体细节。但是本领域技术人员应该理解,本发明可以无需这些具体细节而实现。在其他实例中,不详细描述公知的方法、过程、组件和电路,以免不必要地使实施例模糊。

图1说明根据本发明某些实施例的机器人的结构示意图。机器人100包括存储器 102、存储器控制器104、一个或多个处理单元(CPU)106、外设接口108、射频(RF)电路114、音频电路116、扬声器118、麦克风120、感知子系统122、姿态传感器132、摄像机134、触觉传感器136以及一个或多个其他感知装置138,以及外部接口140。这些组件通过一条或多条通信总线或信号线110进行通信。

应当理解,机器人100只是机器人100的一个实例,该机器人100的组件可以比图示具有更多或更少的组件,或具有不同的组件配置。例如,在某些实施例中,机器人100可以包括一个或多个CPU 106、存储器102、一个或多个感知装置(例如如上所述的感知装置),以及一个或多个保存在存储器102中以执行机器人交互行为控制方法的模块、程序或指令集。图1所示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。

在某些实施例中,机器人100可以是具有生物外形(例如,人形等)的机电设备,还可以是不具有生物外形但具有人类特征(例如,语言交流等)的智能装置,该智能装置可以包括机械装置,也可以包括由软件实现的虚拟装置(例如,虚拟聊天机器人等)。虚拟聊天机器人可以通过其所在的设备感知到信息,其所在的设备包括电子设备,例如手持电子设备、个人计算机等。

存储器102可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,存储器102还可以包括远离一个或多个CPU 106的存储器,例如经由RF电路114或外部接口140以及通信网络(未示出)访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WLAN)、存储局域网(SAN)等,或其适当组合。存储器控制器104可控制机器人100的诸如CPU 106和外设接口108之类的其他组件对存储器102的访问。

外设接口108将设备的输入和输出外设耦接到CPU 106和存储器102。上述一个或多个处理器106运行各种存储在存储器102中的软件程序和/或指令集,以便执行机器人100的各种功能,并对数据进行处理。

在某些实施例中,外设接口108、CPU 106以及存储器控制器104可以在单个芯片,例如芯片112上实现。而在某些其他实施例中,它们可能在多个分立芯片上实现。

RF电路114接收并发送电磁波。该RF电路114将电信号变换成电磁波,或是将电磁波变换成电信号,并且经由电磁波来与通信网络以及其他通信设备进行通信。 该RF电路114可以包括用于执行这些功能的公知电路,包括但不局限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、用户身份模块(SIM)卡、存储器等等。该RF电路112可以通过无线通信来与网络和其他设备进行通信,该网络例如又名万维网(WWW)的因特网、内部网和/或诸如蜂窝电话网络之类的无线网络、无线局域网(LAN)和/或城域网(MAN)。

上述无线通信可以使用多种通信标准、协议和技术中的任何一种,包括但不局限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如IEEE802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n)、基于因特网协议的语音传输(VoIP)、Wi-MAX,用于电子邮件、即时消息传递和/或短消息服务(SMS)的协议,或任何其他合适的通信协议,包括在本文件提交日尚未开发出的通信协议。

音频电路116、扬声器118和麦克风120提供了用户与机器人100之间的音频接口。音频电路116接收来自外设接口108的音频数据,将音频数据变换成电信号,并且将电信号传送到扬声器118。扬声器将电信号变换成人类可听见的声波。音频电路116还接收由麦克风118从声波变换的电信号。该音频电路116将电信号变换成音频数据,并且将音频数据传送到外设接口108,以便进行处理。音频数据可以由外设接口108从存储器102和/或RF电路114中检索出,和/或传送到存储器102和/或RF电路114。

在某些实施例中,可以包括多个麦克风120,多个麦克风120分布可以在不同位置,根据不同位置的麦克风120、按照预定策略确定声音发出的方向。应当理解,也可以通过某些传感器来识别声音方向。

在某些实施例中,音频电路116还包括头戴送受话器插孔(未示出)。该头戴送受话器插孔提供音频电路114与可拆装的音频输入/输出外设之间的接口,举例来说,该音频输入/输出外设既可以是纯输出耳机,也可以是同时具有输出(用于单耳或双耳的耳机)和输入(麦克风)的头戴送受话器。

在某些实施例中,还包括语音识别装置(未示出),用于实现语音到文字的识别,以及根据文字合成语音。语音识别装置可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。音频电路116接收来自外设接口108的音频数据,将音频数据变换成电信号,语音识别装置可以对音频数据进行识别,将音 频数据转换为文本数据。语音识别装置还可以根据文字数据合成音频数据,通过音频电路116将音频数据变换成电信号,并且将电信号传送到扬声器118。

感知子系统122提供机器人100的感知外设和外设接口108之间的接口,感知外设例如姿态传感器132、摄像机134、触觉传感器136和其他感知装置128。感知子系统122包括姿态控制器124、视觉控制器126、触觉控制器128以及一个或多个其他感知装置控制器130。所述一个或多个其他感知装置控制器130接收/发送来自/去往其他感知装置138的电信号。所述其他感知装置138可包括温度传感器、距离传感器、接近觉传感器、气压传感器以及空气质量检测装置等等。

在某些实施例中,机器人100可以具有多个姿态控制器124,以控制机器人100的不同肢体,机器人的肢体可以包括但不限于手臂、足和头部。相应的,机器人100可以包括多个姿态传感器132。在某些实施方式中,机器人100可以不具备姿态控制器124和姿态传感器132,机器人100可以是固定形态,不具备手臂、足等机械活动部件。在某些实施例中,机器人100的姿态可以不是机械的手臂、足和头部,也可以采用可变形的构造。

机器人100还包括用于为各种组件供电的电源系统142。该电源系统142可以包括电源管理系统、一个或多个电源(例如电池、交流电(AC))、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(例如发光二极管(LED)),以及与便携式设备中的电能生成、管理和分布相关联的其他任何组件。充电系统可以是有线充电系统,或者也可以是无线充电系统。

在某些实施例中,软件组件包括操作系统144、通信模块(或指令集)146、交互行为控制装置(或指令集)148以及一个或多个其他装置(或指令集)150。

操作系统144(例如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或是诸如Vxworks之类的嵌入式操作系统)包括用于控制和管理常规系统任务(例如内存管理、存储设备控制、电源管理等等)以及有助于各种软硬件组件之间通信的各种软件组件和/或驱动器。

通信模块146有助于经一个或多个外部接口140而与其他设备进行通信,并且它还包括用于处理RF电路114和/或外部接口140接收的数据的各种软件组件。外部接口140(例如通用串行总线(USB)、FIREWIRE等等)适合于直接或者经网络(例如因特网,无线LAN等等)间接耦接到其他设备。

在某些实施例中,机器人100还可以包括显示装置(未示出),显示装置可以包括但不限于触敏显示器、触摸板等。上述一个或多个其他装置150可以包括图形模块(未示出),图形模块包括用于在显示装置上呈现和显示图形的各种已知软件组件。注意术语“图形”包括可以显示给用户的任何对象,包括但不局限于文本、网页、图标(例如包括软按键在内的用户界面对象)、数字图像、视频、动画等等。触敏显示器或触摸板还可以用于用户输入。

机器人100通过例如姿态传感器132、摄像机134、触觉传感器136和其他感知装置128、麦克风120等感知外设感知机器人10的外部环境和机器人本身的状况,机器人100感知到的信息经由感知外设对应控制装置处理,并交由一个或多个CPU106处理。机器人100对环境的感知包括但不限于自身的传感器(例如姿态传感器132、摄像机134、触觉传感器136和其他感知装置128)检测到的信息,还可以是与机器人100相连的外部装置(未示出)检测到的信息,机器人100与外部装置之间建立通信连接,机器人100和外部装置通过该通信连接传输数据。外部装置包括各种类型的传感器、智能家居设备等。

在某些实施例中,机器人100感知到的信息包括但不限于声音、图像、环境参数、触觉信息、时间、空间等。环境参数包括但不限于温度、湿度、气体浓度等;触觉信息包括但不限于与机器人100的接触,包括但不限于与触敏显示器的接触、与触觉传感器的接触或靠近,触觉传感器可以设置在机器人的头部、手臂等部位(未示出),应当说明的是还包括其他形式的信息。声音可以包括语音和其他声音,声音可以是麦克风120采集到的声音,也可以是存储器102中存储的声音;语音可以包括但不限于人类说话或唱歌等。图像可以是单张图片或视频,图片和视频包括但不限于由摄像机134拍摄得到,也可以从存储器102中读取或者通过网络传输到机器人100。

机器人100感知的信息不仅包括机器人100外部的信息,还可以包括机器人100自身的信息,包括但不限于机器人100的电量、温度等信息。例如,可以在感知到机器100的电量低于20%时,使机器人100移动到充电位置自动充电。

应当理解,机器人100不限于通过上述的方式感知到信息,还可以通过其他形式感知到信息,包括在本文件提交日尚未开发出的感知技术。此外,机器人100的感知装置也不限于设置在机器人100上的感知装置,还可以包括与机器人100关联而未设置在机器人100上的感知装置,例如各种用于感知信息的传感器。作为一个示例,机 器人100可以与设置在一定区域内的温度传感器、湿度传感器(未示出)等关联,通过这些传感器感知到相应的信息。机器人100可以通过多种类型的通信协议与这些传感器通信,以从这些传感器获取信息。

在某些实施例中,可以根据预设的条件设定机器人100感知的信息,这些条件可以包括但不限于设定机器人100感知哪些信息、在什么时间感知信息等。例如,可以设定在于用户语音对话时,感知用户的声音、追踪用户的面部、识别用户的姿态等,而不感知其他信息、或者在生成感知单元时降低其他信息的作用、或者对感知到的其他信息进行处理等;或者,在某一时间段(例如,用户外出、机器人100单独在室内的时间内)感知环境参数、感知图像和视频数据,通过环境参数判断是否需要与空调等设备交互,通过图像和视频数据判断室内是否有陌生人进入等。应当理解,设定感知的信息的条件并不限于此,上述条件仅作为举例说明,可以根据情况设定机器人100需要感知的信息。

关于感知单元

定义至少一个感知单元,感知单元作为控制机器人100的最小单元(或者称为最小输入单元),机器人100至少根据感知单元做出交互行为。机器人100的交互行为可以受到一个或多个感知单元控制,例如,当一个或多个感知单元的取值发生变化时,机器人100可以响应这些变化做出交互行为;或者,当一个或多个感知单元的取值在某一取值范围内或等于某一值时,机器人100可以响应感知单元做出交互行为。应当理解,感知单元对机器人100交互行为的控制不限于上述情况,上述情况仅作为举例说明。

在某些实施例中,感知单元可以包括多个层级,高层级的感知单元可以包含低层级的一个或多个感知单元。在某些实施例中,高层级的感知单元可以包含与其相邻的低层级的一个或多个感知单元,同一高层级的感知单元可以包含不同的低层级的感知单元。在时间上,合成高层级的感知单元的低层级感知单元包括但不限于同一时间或时间段的低层级感知单元,以及该时间或时间段之前的历史的低层级的感知单元。在某些实施例中,高层级的感知单元由不同时间的低层级感知单元确定。

在某些实施例中,感知单元的取值可以是一个或一组值,也可以是一个或多个取值的范围。可以根据机器人100感知到的信息确定感知单元的取值,一个感知单元可以由感知到的一项或多项信息确定,同一感知单元可以由感知到的不同数据来确定。 感知到的信息可以包括实时感知到的信息,或者历史感知到的信息(例如过去某一时刻或某段时间感知到的信息)。在某些情况下,感知单元的取值由实时感知到的信息和历史感知到的信息共同确定。

作为一个例子,可以设置听觉(ear)、视觉(eye)、时间(timer)、是否有人在家(so_at_home)以及环境(environment)几个感知单元。听觉描述听到的语音,在机器人100接收到声音时,对接收到的声音进行语音识别处理,识别得到声音中语音的文本,听觉的取值可以是听到的语音的文本;在某些实施例中,视觉还可以包括声音的方向,声音的方向以机器人的面部为参考,包括左、右、前、后等方向。视觉描述视频监控情况,机器人100可以对图像或视频进行分析,判断当前是否有人或者是否有移动,视觉的取值可以包括是否有人、是否有移动等等。是否有人在家的取值可以是“0”或“1”,“0”表示没有人在家,“1”表示有人在家。时间描述时间信息,其取值可以是一个时间点或者一个时间范围,例如每年2月1日14点整。环境描述环境情况,包括温度、湿度、噪音、PM2.5、空气中的燃气的ppm、空气中的一氧化碳含量、空气中的氧气含量等,其取值可以是每种参数的值或者范围。

在某些实施例中,可以预定义感知单元的取值。预定义的感知单元的取值可以是一个或多个具体值、或者一个或多个取值范围。感知单元的取值可以是明确的值,也可以由通配符(或其类似)与明确的值共同构成,但不限于此。例如,感知单元为“语音”时,其取值可以是“*下雨*”,表示任意包含“下雨”的语音信息;或者其取值可以是“*[下有]雨*”,表示任意包含“下雨”或“有雨”的语音信息。

机器人100可以根据感知单元和感知到的信息生成感知数据,感知数据可以包括一项或多项感知单元,感知数据中包括感知单元的标识和取值。感知数据中每个感知单元的取值参见对感知单元的描述。机器人100根据感知到的信息、按照感知单元生成感知数据,可以采用多种分析方法根据感知到的信息得到感知单元的取值,例如,通过语音识别技术得到语音的文本、通过图像识别技术分析感知到的图像中是否存在人像、通过人像(面部)识别技术确定人像的属性等。应当理解,机器人100不限于通过上述的方式得到感知单元的取值,还可以通过其他方式,包括在本文件提交日尚未开发出的处理技术。

关于控制条目

基于预先定义的感知单元和预设的供机器人执行的交互行为,可以设置触发条件 以及触发条件触发的交互行为。根据触发条件和触发条件触发的交互行为,生成用于响应机器人感知到的信息控制机器人交互行为的控制条目。控制条目可以具有唯一标识,以区分控制条目。

触发条件可以由一个或多个感知单元构成,感知单元之间可以配置逻辑关系,逻辑关系包括但不限于“与”、“或”以及“非”等。在某些实施例中,触发条件可以包括构成触发条件的感知单元的标识和取值,感知单元的取值可以是一个或一组值或者一个或一组取值范围。感知单元的取值可以是明确的值,也可以由通配符(或其类似)与明确的值共同构成,但不限于此。例如,触发条件中感知单元为“语音”时,其取值可以是“*下雨*”,表示任意包含“下雨”的语音信息;或者其取值可以是“*[下有]雨*”,表示任意包含“下雨”或“有雨”的语音信息。

触发条件可以触发的一个或多个交互行为。在某些实施例中,可以设置交互行为之间的顺序,以按照设置的顺序执行多个交互行为。交互行为可以被配置为一个或多个可被机器人解析以执行的动作指令,动作指令还可以包括一个或多个参数。在某些实施例中,还可以配置所述一个或多个动作指令的执行顺序。该执行顺序可以包括但不限于随机执行一个或一组动作指令,以实现随机执行一个或多个动作;或者,按照预定步骤顺序执行多个动作指令。

机器人100的操作系统144及其他相关装置,可以解析交互行为的动作指令,使得机器人执行交互行为。例如,为了使机器人向前移动5米,动作指令可以是“move{“m”:5}”。机器人交互行为的控制装置148解析该动作指令,得到要执行的任务(移动)和任务参数(向前5米),向操作系统144传递任务和参数,操作系统144进一步处理使得移动装置(未示出)执行移动,移动装置可以包括足式、轮式以及履带式等。应当理解,也可以设置具体指令,比如移动装置的各个电机(或者类似部件)的参数。

在某些实施例中,交互行为的动作指令包括:用于执行其他控制条目而设置的到其他控制条目的链接,和/或用于从多个内容和/或多个参数中选取内容和/或参数而设置的到多个参数和/或多个内容的链接。每个控制条目可以具有唯一标识,动作指令可以引用控制条目的标识连接到该控制条目。动作指令链接到的内容可以是一组动作,机器人100可以根据其他因素执行一组动作中的动作,例如,可以预先配置机器人100的性格或性别等属性,这些属性可以存储在存储器102中,不同性别或者性格 的机器人100对同一情况(或称为场景)的交互行为可以不同,机器人100可以根据设置的性格或性别等属性从一组动作中选择执行的动作,这些动作可以包括但不限于机器人100的肢体动作等。动作指令还可以链接到一个或一组内容,该内容可以包括但不限于语音聊天的内容、各种互联网信息等,例如,机器人100根据控制条目执行的动作为查询北京的天气,动作指令可以是一个查询天气的地址,机器人100到这一地址获取北京的天气,这一地址可以包括统一资源定位符(URL)、内存地址、数据库字段等。

机器人100的交互行为包括但不限于通过输出语音、调整姿态、输出图像或视频、与其他设备进行交互等。输出语音包括但不限于与用户聊天、播放音乐;调整姿态包括但不限于移动(例如,模仿人类步行等)、肢体摆动(例如,手臂、头部的摆动)、神态调整等;输出图像或视频包括但不限于在显示装置上显示图像或视频,图像可以是动态电子表情等,也可以是拍摄得到的图像,或者从网络中获取到的图像;与其他设备交互包括但不限于控制其他设备(例如调整空调设备的工作参数等)、向其他设备传输数据、与其他设备建立连接等。应当理解,交互行为并不限于上述列举的内容,机器人100对感知到的信息的反应均可被视为机器人100的交互行为。

控制条目可以采用数据交换格式配置,当然也可以采用其他格式配置。数据交换格式包括但不限于XML、JSON或者YAML等。以JSON为例,需要实现:当用户说:“给我唱一首歌”,先往以中等速度0角度后退10cm然后开始唱一首歌,唱完歌以后10秒拍个照片发送给用户,然后0角度前行5CM。JSON数据格式的控制条目可以是如下内容:

在上述的控制条目中,“ifs”部分为根据感知单元设置的触发条件,“ear”为感知单 元的标识,“唱歌”为感知单元的取值。"trigger"部分为触发条件触发的交互行为,包括“move(移动)”、“song(唱歌)”和“take_pic(拍照)”三个交互行为,每个交互行为包括相应的动作指令。其中,“song(唱歌)”链接到“http://bpeer.com/i.mp3”,唱歌的内容从“http://bpeer.com/i.mp3”中获取,“gr”为动作的执行顺序。

在某些实施例中,多个控制条目可以存储为数据交换格式的文档,或者也可以存储在数据库中。在某些实施例中,机器人100还可以包括数据库系统,该数据库系统用以存储控制条目。数据库系统提供接口供一个或多个CPU 106从数据库中读取数据,以及向数据库系统写入数据。

机器人交互行为的控制装置148可以根据控制条目控制机器人的交互行为,控制装置148获取机器人感知到的信息,根据感知到的信息、至少按照预先定义的感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;查找与生成的感知数据匹配的控制条目;如果查找到与生成的感知数据匹配的控制条目,使机器人执行查找到的控制条目中的交互行为。

在某些实施例中,控制装置148也可以将机器人100感知到的信息发送出去,由远端服务器(未示出)根据感知到的信息和感知单元生成感知数据,并查找与生成的感知单元匹配的控制条目,然后将查找到的控制条目发送给控制装置148,控制装置148使机器人执行控制条目中的交互行为。可选地,可以生成感知到的信息的标识,以确定接收到的控制条目是否为针对发送的感知到的信息的控制条目。可选地,发送给控制装置148的可以是控制条目本身,也可以是控制条目的标识,或者控制条目配置的交互行为数据,或者其他使控制装置148确定控制条目配置的交互行为的信息。

在某些实施例中,控制装置148可以根据机器人100感知到的信息和感知单元生成感知数据,将生成的感知数据发送至远端服务器,远端服务器接收感知数据,查找与感知数据匹配的控制条目,将查找到的控制条目发送至机器人100,控制装置148使机器人100执行控制条目中的交互行为。

应当理解,控制装置148并不限于通过如上所述的方式控制机器人的交互行为,还可以是以上几种方式的组合或者其他方式。

关于生成控制条目

在某些实施例中,可以根据感知单元设置触发条件,以及该触发条件触发的交互行为,得到控制条目,并将控制条目作为控制机器人100交互行为的数据。

图2说明根据本发明某些实施例的机器人的控制数据的生成方法的流程图,如图2所示,该方法包括:

步骤S202,根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件;

步骤S204,根据一个或多个预设的被设置为供机器人执行的交互行为,设置所述触发条件触发的交互行为;

步骤S206,根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目。

在上述步骤S202中,可以从预设的感知单元中选取至少一个感知单元;设置选取的感知单元的属性,其中,感知单元的属性包括感知单元的取值;根据选取的感知单元及感知单元的属性设置用于控制机器人交互行为的触发条件。在某些实施例中,还设置多个感知单元之间的关系,感知单元之间的关系包括但不限于“与”、“或”、“非”等逻辑关系;上述步骤S202,可以根据选择的感知单元及感知单元的属性、以及感知单元之间的关系设置触发条件。

上述步骤S204中,可以从预设的被设置为供机器人执行的交互行为中选取至少一个交互行为;设置选取的交互行为的属性,其中,交互行为的属性包括交互行为的一个或多个可被机器人解析以执行的动作指令以及动作指令的参数;根据选取的交互行为及交互行为的属性设置触发条件触发的交互行为。在某些实施例中,还可以设置多个交互行为的执行顺序,交互行为的执行顺序包括但不限于随机执行一个或多个交互行为,或者按预定步骤执行多个交互行为。上述步骤S204,可以根据选取的交互行为及交互行为的属性、以及上述执行顺序设置触发条件触发的交互行为。

在某些实施例中,按照预定的数据表达方式来描述触发条件和触发条件触发的交互行为。可选地,可以使用数据交换格式根据触发条件和触发条件触发的交互行为生成控制条目。数据交换格式包括但不限于以下之一或任意组合:XML、JSON或者YAML。应当理解,还可以采用其他格式生成触发条件和触发条件触发的交互行为,包括本文件提交日尚未开发出的数据表达方式。

在某些实施例中,可以设置多个控制条目,并将多个控制条目存储为数据交换格式的文档。或者,多个控制条目也可以存储在数据库中。将多个控制条目存储为数据交换格式的文档时,相邻的控制条目之间可以用预定符号分隔,以区分不同的控制条 目。存储控制条目的文档可以存储在机器人100的存储器102中,控制条目的文档也可以存储在远端服务器中。

交互行为被配置为一个或多个动作指令。上述动作指令包括:用于执行其他控制条目而设置的到其他控制条目的链接,和/或用于从多个内容和/或多个参数中选取内容和/或参数而设置的到多个参数和/或多个内容的链接。例如,对于“查询天气”的动作指令,可以链接到提供天气信息的网页,从网页中获取要查询的城市的天气信息。查询到天气信息后,可以显示在机器人100的显示装置上,或者也可以通过语音播报天气信息。在某些实施例中,链接到一组动作的参数时,可以根据其他配置选择执行的动作的参数;同样,链接到多个内容时(例如聊天的多个语料),也可以根据其他配置选择呈现的内容。

还可以设置动作指令的执行顺序,其中,执行顺序包括:随机执行一个或多个动作指令,或者按预定步骤执行多个动作指令。执行顺序可以用符号进行标记,如果没有标记,可以按照描述动作的先后顺序。同一类型的动作可以作为一个整体,动作之间的先后顺序可以进行标记,例如“先向前移动5米,点头5次,然后向后退10米”,动作指令可以表达为[move:{gr:0,m:+5;gr:2,m:-10};head{gr:1,head:5}],“gr”表示动作的执行先后顺序,取值小的动作先执行。

在某些实施例中,可以提供用于设置触发条件和交互行为的图形用户界面(GUI),图形用户界面提供设置的感知单元(例如,感知单元的名称、标识等)、可以设置的感知单元的取值、感知单元之间的逻辑关系,设置触发条件的用户可以选择感知单元、感知单元的取值以及感知单元的逻辑关系,选择设置触发条件的感知单元后,按照相应的格式生成触发条件。图形用户界面还可以提供设置的交互行为,可以是预先定义好的交互行为,在选择完交互行为之后,按照相应的格式生成交互行为。在某些实施例中,也可以直接编辑触发条件和交互行为,例如按照上述的数据交换格式、使用预先定义的感知单元以及交互行为的动作指令规范,编辑触发条件和触发条件触发的交互行为,得到控制条目。

在某些实施例中,可以从互联网抓取内容(例如网页等),对抓取的内容进行分析,得到用于设置控制条目的内容,根据这些内容设置触发条件和触发条件触发的交互行为。例如,从互联网中抓取到生病时拨打急救电话,可以根据感知单元设置“生病”的触发条件,并将该触发条件触发的交互行为设置为“拨打急救电话”。如果预先 定义了“健康状况”这一感知单元,可以直接将感知单元的值设置为“生病”,构成的触发条件可以为{if(“health”:“sick”)}。机器人100可以根据感知到的数据判断用户的健康状况,确定健康状况是否为“生病”,例如,与用户进行语音聊天以了解用户的状态,以及检测用户的心率、体温等。在健康状况为“生病”时,机器人100生成的感知数据中包括可以{“health”:“sick”}。

关于使用控制条目控制机器人的交互行为

将控制条目作为控制机器人交互行为的数据之后,可以根据控制条目来控制机器人的交互行为。

图3说明根据本发明某些实施例的机器人交互行为的控制方法的流程图一,如图3所示,该方法包括:

步骤S302,获取机器人感知到的数据;

步骤S304,根据感知到的信息、至少按照预先定义的感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;

步骤S306,在存储的多个控制条目中查找与生成的感知数据匹配的控制条目;

步骤S308,如果查找到与生成的感知数据匹配的控制条目,使机器人执行查找到的控制条目中的交互行为。

在某些实施例中,机器人100通过网络与远端服务器(未示出)通信,机器人100感知至少一项数据,远端服务器从机器人100获取机器人感知到的信息,该获取包括远端服务器请求机器人100发送其感知到的信息,或者机器人感知到信息后,向远端服务器发送机器人100感知到的信息。机器人100可以周期性向远端服务器发送感知到的信息,或者在感知到的信息发生变化时向远端服务器发送感知到的信息,以降低远端服务器与机器人100之间的数据传输量。

控制条目文档可以存储在远端服务器中,远端服务器包括一个或多个处理器,以及一个或多个保存在存储器中以执行图3所示的方法的模块、程序或指令集。远端服务器可以是单一的服务器,也可以是由多个服务器组成的服务器集群。应当理解,上述的程序或指令集并不局限于在一台服务器上运行,也可以在分布式的计算资源上运行。

在某些实施例中,可以将查找到的控制条目发送给机器人100,机器人100从控制条目中读取交互行为,并执行交互行为。或者,可以将查找到的控制条目中的交互 行为的数据发送给机器人100。或者,也可以对控制条目中的交互行为的数据进行解析,得到机器人100可以执行的指令,将得到的指令发送至机器人100,机器人100执行该指令。应当理解,上述方式仅为举例说明。

图4说明根据本发明某些实施例的机器人交互行为的控制方法的流程图二,如图4所示,该方法包括:

步骤S402,接收机器人的感知数据,其中,感知数据根据机器人感知到的信息、至少按照预先定义的感知单元生成,感知数据包括感知单元的标识和取值;

步骤S404,在存储的多个控制条目中查找与机器人的感知数据匹配的控制条目;

步骤S406,如果查找到与机器人的感知数据匹配的控制条目,使机器人执行查找到的控制条目中的交互行为。

如图4所示,机器人100感知至少一项信息,并根据感知到的信息和感知单元生成感知数据,将感知数据发送出去。在某些实施例中,机器人100将感知数据发送至远端服务器(未示出)。机器人100可以在生成感知数据之后发送感知数据,也可以在接收到远端服务器的请求后发送感知数据。

在某些实施例中,远端服务器中存储控制条目的文档,例如,数据交换格式的文档,或者数据库等。当然,控制条目文档可以分布式存储在多个存储空间。远端服务器可以包括一个或多个处理器,以及一个或多个保存在存储器中以执行图3所示的方法的模块、程序或指令集。

图5说明根据本发明某些实施例的机器人交互行为的控制方法的流程图三,如图5所示,该方法包括:

步骤S502,感知至少一项信息;

步骤S504,根据感知到的信息、至少按照所述预先定义的感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;

步骤S506,将生成的感知数据发送出去;

步骤S508,接收与感知数据匹配的控制条目的信息;

步骤S510,根据控制条目的信息执行该控制条目配置的交互行为。

在某些实施例中,机器人100的交互行为控制装置148执行如图5所示的方法。机器人100感知至少一项信息,按照感知数据生成策略,根据感知单元生成感知数据。机器人100生成感知数据之后,将感知数据发送至远端服务器。远端服务器中存储控 制条目的文档,在存储多个控制条目中查找与机器人的感知数据匹配的控制条目,如果查找到与机器人的感知数据匹配的控制条目,将该控制条目发送至机器人100。在某些实施例中,可以将控制条目中的交互行为的动作指令发送至机器人100。

在某些实施例中,将生成的感知数据发送出去之前,还可以确定生成的感知数据的标识。确定生成的感知数据的标识后,将生成的感知数据及其标识发送出去。远端服务器在查找到与生成的感知数据匹配的控制条目后,将控制条目的信息和对应的感知数据的标识发送至控制装置148,控制条目的信息可以是控制条目本身、控制条目的标识、控制条条目配置的行为及其任意组合,但不限于此。控制装置接收控制条目的信息,并根据控制条目的信息中携带的感知数据的标识,判断接收到的控制条目的信息是否为与生成的感知数据匹配的控制条目的信息。

控制装置148可以根据控制条目的标识确定对应的控制条目,并执行控制条目中的交互行为。或者,控制装置148可以直接从远端服务器发送的控制条目中读取控制条目配置的交互行为,执行该交互行为。再者,如果远端服务器发送的是控制条目中配置的交互行为,控制装置148可以直接解析并执行该交互行为。

在某些实施例中,可以将机器人的感知数据与控制条目中的触发条件进行匹配,所述的匹配包括但不限于判断是否存在某一感知单元、比较感知单元的取值。

在某些实施例中,当查找到多个与机器人的感知数据项匹配的触发条件时,可以确定机器人的感知数据与匹配到的多个触发条件的匹配程度,至少根据匹配程度选择与生成的感知数据匹配的控制条目。作为一个例子,对于感知数据中的语音文本,可以但不限于采用编辑距离确定匹配程度,编辑距离的取值越小两个文本越相似。语音文本还可以采用正则表达式来匹配。

在某些实施例中,还可以设置控制条目的优先级,在选择控制条目时可以参考控制条目的优先级。例如,可以将控制条目分类为核心控制条目、用户控制条目以及临时控制条目,核心控制条目为优先级最高的控制条目,其次是用户控制条目,最后是临时控制条目。在查找控制条目时,可以先从核心控制条目中查找与感知数据匹配的控制条目。如果在核心控制条目中未查找到与感知数据匹配的控制条目,可以在用户控制条目中查找与感知数据匹配的控制条目。如果在用户控制条目中未查找到与感知数据匹配的控制条目,可以在临时训练库中查找与感知数据匹配的控制条目。

在某些实施例中,机器人100可以感知至少一项信息,根据感知到的信息和感知 单元生成感知数据,并读取控制条目(包括但不限于从机器人100的存储器102读取),查找与生成的感知数据匹配的控制条目,如果查找到与生成的感知数据匹配的控制条目,机器人100执行查找到的控制条目中的交互行为。

在某些实施例中,控制条目的文档可以存储机器人100的存储器102和远端服务器中。机器人100感知至少一项信息,根据感知到的信息和感知单元生成感知数据,从存储器102中读取控制条目,在读取的控制条目中查找与生成的感知数据匹配的控制条目。如果查找到与生成的感知数据匹配的控制条目,机器人100执行查找到的控制条目中的交互行为;如果在读取的控制条目中没有查找到与生成的感知数据匹配的控制条目,机器人100可以将生成的感知数据发送到远端服务器,远端服务器在存储的控制条目中查找与接收到的感知数据匹配的控制条目,如果查找到与接收到的感知数据匹配的控制条目,使机器人100执行该控制条目中的交互行为。远端服务器还可以将查找到的控制条目发送至机器人100,机器人100可以通过接口(未示出)接收控制条目,并存储接收到的控制条目。

如上所述,当查找到与感知数据匹配的控制条目时,使机器人100执行控制条目中的交互行为。当未查找到与感知数据匹配的控制条目时,可以不作交互行为,机器人100可以继续感知至少一项信息,感知何种信息可以根据预设的条件确定。在某些实施例中,当未查找到与感知数据匹配的控制条目时,可以进行语音回复或者导入互联网中的内容(例如,展示网页信息等)。当未查找到与感知数据匹配的控制条目时,可以判断感知数据是否与语音有关(例如,是否接收到用户的语音指令等),如果确定感知数据与语音有关,可以进行语音回复,或者根据语音内容在互联网中搜索相关内容,在机器人100的显示装置中呈现给用户。

在某些实施例中,可以根据机器人与用户的交互行为设置控制条目。当未查找到与机器人100的感知数据匹配的控制条目时,机器人100可以与用户进行语音聊天,在聊天过程中,机器人100分析用户的需求和意图,得到情景和该情境下机器人的交互行为,根据情景、机器人的交互行为、按照感知单元生成控制条目。例如,用户生病时,对机器人说“我生病了”,机器人100的控制条目中没有在用户生病时的交互行为,此时机器人100可以和用户进行语音交互,比如询问用户“我不清楚需要做什么”,用户可以说“帮我拨打我的私人医生的电话吧,电话号码是….”,机器人100可以拨打电话。此外,在这种情况下,机器人100分析得出用户“生病”时需要联系医生,根 据分析得出的结果,机器人100可以生成控制条目,例如,触发条件为[if(health:sick)],触发条件触发的交互行为为[call{number:“//doctor_number.php”]。

下面对某些实施例的机器人的控制数据的生成装置的结构进行描述。由于机器人的控制数据的生成装置解决问题的原理与机器人交互行为的控制方法相似,因此机器人的控制数据的生成装置的实施可以参见机器人的控制数据的生成方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6说明根据本发明某些实施例的机器人的控制数据的生成装置的结构框图,如图6所示,该装置包括:

触发条件设置模块602,用于根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,其中,感知单元被设置为控制机器人交互行为的最小单元;

交互行为设置模块604,与触发条件设置模块602相连,用于根据一个或多个预设的被设置为供机器人执行的交互行为,设置所述触发条件触发的交互行为;

生成模块606,与交互行为设置模块604相连,用于根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目。

图7说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图一,如图7所示,该装置包括:获取模块702,用于获取机器人感知到的信息;生成模块704,与获取模块702相连,用于根据感知到的信息、至少按照预先定义的感知单元生成感知数据;查找模块706,与生成模块704相连,用于查找与生成的感知数据匹配的控制条目;执行模块708,与查找模块706相连,用于当查找到与生成的感知数据匹配的控制条目时,使机器人执行查找到的控制条目中的行为。

图8说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图二,如图8所示,该装置包括:感知模块802,用于感知至少一项信息;生成模块804,与感知模块802相连,用于根据感知到的信息、至少按照预先定义的感知单元生成感知数据;发送模块806,与生成模块804相连,用于将生成的感知数据发送出去;接收模块808,与发送模块806相连,用于接收与感知数据匹配的控制条目的信息;执行模块810,与接收模块808相连,用于根据所述控制条目的信息执行该控制条目中的交互行为。

图9说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图三,如图9所示,该装置包括:接收模块902,用于接收机器人的感知数据;查找模块904,与接收模块902相连,用于查找与所述机器人的感知数据匹配的控制条目;执行模块906,与查找模块904相连,用于当查找到与所述机器人的感知数据对应的控制条目,使所述机器人执行查找到的控制条目中触发条件触发的行为。

图10说明根据本发明某些实施例的机器人交互行为的控制装置的结构框图四,如图10所示,该装置包括:控制条目文档1002,用于提供包含多个控制条目的控制条目文档,其中,每个控制条目包含触发条件和该触发条件触发的行为,每个触发条件由至少一个预先定义的感知单元构成;

匹配模块1004,与控制条目文档1002相连,用于将机器人的感知数据与控制条目进行匹配,以确定是否存在与所述机器人的感知数据匹配的控制条目,其中,所述感知数据根据机器人感知到的信息、至少按照预先定义的感知单元生成。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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