CN106325228B - 机器人的控制数据的生成方法及装置 - Google Patents
机器人的控制数据的生成方法及装置 Download PDFInfo
- Publication number
- CN106325228B CN106325228B CN201510364661.7A CN201510364661A CN106325228B CN 106325228 B CN106325228 B CN 106325228B CN 201510364661 A CN201510364661 A CN 201510364661A CN 106325228 B CN106325228 B CN 106325228B
- Authority
- CN
- China
- Prior art keywords
- robot
- setting
- behavior
- interactive
- sensing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006399 behavior Effects 0.000 claims abstract description 258
- 230000002452 interceptive effect Effects 0.000 claims abstract description 190
- 230000003993 interaction Effects 0.000 claims abstract description 78
- 230000001960 triggered effect Effects 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000008447 perception Effects 0.000 claims description 67
- 230000009471 action Effects 0.000 claims description 56
- 230000001276 controlling effect Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000001953 sensory effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000036541 health Effects 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000428 dust Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 241000287828 Gallus gallus Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 239000007789 gas Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 229910002091 carbon monoxide Inorganic materials 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41835—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种机器人的控制数据的生成方法及装置,其中机器人的控制数据的生成方法包括:根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,其中,感知单元被设置为控制机器人交互行为的最小单元;根据一个或多个预设的被设置为供机器人执行的交互行为,设置触发条件触发的交互行为;根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目。本发明定义感知单元为控制机器人交互行为的最小单位,并定义交互行为,根据感知单元和交互行为设置控制条目来控制机器人的交互行为,有效提高机器人自适应交互行为能力与智能化程度。
Description
技术领域
本发明涉及机器人技术领域,特别涉及一种机器人的控制数据的生成方法及装置。
背景技术
当今的机器人多为工业机器人,而工业机器人以无感知能力的居多。这些机器人的操作程序都是预先制定的,并按照预定程序重复无误地完成确定的任务。它们缺乏适应性,只有当涉及的对象相同时,才能产生一致的结果。
发明内容
本发明实施例提供了一种机器人的控制数据的生成方法及装置,以至少有效提高机器人自适应交互行为能力与智能化程度。
在某些实施例中,一种机器人的控制数据的生成方法,包括:根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,其中,感知单元被设置为控制机器人交互行为的最小单元;根据一个或多个预设的被设置为供机器人执行的交互行为,设置该触发条件触发的交互行为;根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目。
在某些实施例中,根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,包括:从预设的感知单元中选取至少一个感知单元;设置选取的感知单元的属性,其中,感知单元的属性包括感知单元的取值;根据选取的感知单元及感知单元的属性设置用于控制机器人交互行为的触发条件。
在某些实施例中,根据一个或多个预设的被设置为供机器人执行的交互行为设置触发条件触发的交互行为,包括:从预设的被设置为供机器人执行的交互行为中选取至少一个交互行为;设置选取的交互行为的属性,其中,交互行为的属性包括交互行为的一个或多个可被机器人解析以执行的动作指令以及动作指令的参数;根据选取的交互行为及交互行为的属性设置触发条件触发的交互行为。
在某些实施例中,一种机器人交互行为的控制装置,包括:触发条件设置模块,用于根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,其中,感知单元被设置为控制机器人交互行为的最小单元;交互行为设置模块,用于根据一个或多个预设的被设置为供机器人执行的交互行为,设置触发条件触发的交互行为;生成模块,用于根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目。
在本发明实施例中,提出了一种机器人的控制数据的生成方法及装置,定义感知单元为控制机器人交互行为的最小单位,并定义交互行为,根据感知单元和交互行为设置控制条目来控制机器人的交互行为,统一了机器人控制的输入输出标准,使得非技术人员也可以编辑机器人的行为,有效提高机器人自适应交互行为能力与智能化程度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1说明根据本发明某些实施例的机器人的结构示意图;
图2a说明根据本发明某些实施例的机器人的控制数据的生成方法的流程图;
图2b说明根据本发明某些实施例的机器人控制数据的生成界面的示意图;
图2c说明根据本发明某些实施例的控制数据中交互行为的生成界面的示意图;
图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)(例如IEEE 802.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交互行为的数据。
图2a说明根据本发明某些实施例的机器人的控制数据的生成方法的流程图,如图2a所示,该方法包括:
步骤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),图形用户界面提供设置的感知单元(例如,感知单元的名称、标识等)、可以设置的感知单元的取值、感知单元之间的逻辑关系,设置触发条件的用户可以选择感知单元、感知单元的取值以及感知单元的逻辑关系,选择设置触发条件的感知单元后,按照相应的格式生成触发条件。图形用户界面还可以提供设置的交互行为,可以是预先定义好的交互行为,在选择完交互行为之后,按照相应的格式生成交互行为。在某些实施例中,也可以直接编辑触发条件和交互行为,例如按照上述的数据交换格式、使用预先定义的感知单元以及交互行为的动作指令规范,编辑触发条件和触发条件触发的交互行为,得到控制条目。
图2b示出了某些实施例的机器人的控制数据的生成界面。如图2b所示,提供了添加控制条目(在图2b中称为添加规则)的图形用户界面。该图形用户界面中,包括触发条件和触发条件触发的交互行为两个部分:
(1)第一部分为“选择机器人规则的执行条件”(本发明实施例中的触发条件),如图2b所示,感知单元包括“语音”、“视频监控情况”、“时间”、“是否有人在家”、“环境”,其中,“语音”的取值可以是对机器人说的文本,“视频监控情况”的取值包括机器人监控到有人或者有移动等。在图2b中,还包括感知单元之间的关系,图2b中示出了“同时满足”(逻辑与)和“满足一条即可”(逻辑或)两种关系。
(2)第二部分为“添加机器人的执行动作”(本发明实施例中的交互行为),如图2b所示,包括“说话”、“进入待命”、“录制音视频”、“播放音乐”、“移动”、“吸尘”、“充电”等交互行为。在图2b中,“进入待命”这一交互行为的属性包括“停止所有工作进入待命”和“退出”。
图2c示出了某些实施例的控制数据中交互行为的生成界面。如图2c所示,选中要添加的交互行为并设置选中的交互行为的属性后,点击“添加”按钮,添加的交互行为的数据可以显示在“动作列表”部分中。如图2c所示,添加的交互行为包括:“录制音视频”、“播放音乐”、“移动”、“吸尘”和“充电”。其中,“gr”表示交互行为的执行顺序,在图2c中,“gr”按照动作的添加顺序自动生成;“播放音乐(song)”中“path”链接到一组要播放的内容(例如,MP3格式的音乐);“吸尘(suck)”中属性“power(功率)”设置为3,“m(移动距离)”设置为3。
设置完成后,点击“提交”按钮,可以生成如下控制条目:
{
"ifs":{"ear":[{"txt":"你好"}],"eye":{"action":"human"},"is_and":"0"},
"trigger":{"record":[{"gr":"1","sint":"1"}],"song":[{"gr":"2","path":["http:\/\/"]}],"mo ve":[{"gr":"3","dire":"left","dire_value":"0","speed":"3"}],"suck":[{"gr":"4","power":"3","m":"3"}],"battery":[{"gr":"5","b":"1"}]},
"rule_name":"专利"
}
应当理解,图2b和2c仅作为一个示例,在某些实施例中,还可以通过其他方式提供生成控制条目的图形用户界面,例如,设置图标,通过将图标“拖拽”到编辑区域来添加感知单元或交互行为。
在某些实施例中,可以从互联网抓取内容(例如网页等),对抓取的内容进行分析,得到用于设置控制条目的内容,根据这些内容设置触发条件和触发条件触发的交互行为。例如,从互联网中抓取到生病时拨打急救电话,可以根据感知单元设置“生病”的触发条件,并将该触发条件触发的交互行为设置为“拨打急救电话”,例如,将预设的交互行为“拨打电话(Call)”的参数设置为急救电话。如果预先定义了“健康状况”这一感知单元,可以直接将感知单元的值设置为“生病”,构成的触发条件可以为{if(“health”:“sick”)}。机器人100可以根据感知到的数据判断用户的健康状况,确定健康状况是否为“生病”,例如,与用户进行语音聊天以了解用户的状态,以及检测用户的心率、体温等。在健康状况为“生病”时,机器人100生成的感知数据中包括可以{“health”:“sick”}。
在某些实施例中,还可以根据机器人100与用户的交互多个机器人100可以构成机器人系统。当没有控制条目可以控制机器人100的交互行为时,该机器人100可以将该情况的发送给其他一个或多个机器人100,其他一个或多个机器人100与其他用户交互,根据与其他用户的交互获取交互行为,并根据这一过程生成控制条目。例如,当机器人100感知到用户的语音信息“宫保鸡丁怎么做”时,如果未查找到该语音信息匹配的控制条目,机器人100可以将该语音信息发送到其他机器人100,其他机器人100主动与其他用户进行语音交互,询问其他用户“宫保鸡丁怎么做”,并记录和分析其他用户的回答,生成对应的控制条目。机器人100可以根据其他机器人100的用户的信息选择发送的机器人100,例如,机器人100判断出问题的主题是法律,机器人100可以查找到用户为法律专业的机器人100,并向该机器人100发送上述问题。
关于使用控制条目控制机器人的交互行为
将控制条目作为控制机器人交互行为的数据之后,可以根据控制条目来控制机器人的交互行为。
图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说明根据本发明某些实施例的一种触发条件设置模块602的结构框图,如图7所示,触发条件设置模块602可以包括:感知单元选取单元702,用于从预设的感知单元中选取至少一个感知单元;感知单元属性设置单元704,与感知单元选取单元702相连,用于设置选取的感知单元的属性,其中,感知单元的属性包括感知单元的取值;触发条件设置单元706,与感知单元属性设置单元704相连,用于根据选取的感知单元及感知单元的属性设置用于控制机器人交互行为的触发条件。
图8说明根据本发明某些实施例的另一种触发条件设置模块602的结构框图,如图8所示,在图7包含的单元之外,触发条件设置模块602还可以包括:关系设置单元708,与触发条件设置单元706相连,用于设置多个感知单元之间的关系。触发条件设置单元706,进一步用于根据选择的感知单元及感知单元的属性、以及感知单元之间的关系设置触发条件。
图9说明根据本发明某些实施例的一种交互行为设置模块604的结构框图,如图9所示,交互行为设置模块604可以包括:交互行为选取单元902,用于从预设的被设置为供机器人执行的交互行为中选取至少一个交互行为;交互行为属性设置单元904,与交互行为选取单元902相连,用于设置选取的交互行为的属性,其中,交互行为的属性包括交互行为的一个或多个可以被机器人解析以执行的动作指令以及动作指令的参数;交互行为设置单元906,与交互行为属性设置单元904相连,根据选取的交互行为及交互行为的属性设置触发条件触发的交互行为。
图10说明根据本发明某些实施例的另一种交互行为设置模块604的结构框图,如图10所示,在图9包含的单元之外,交互行为设置模块604还可以包括:顺序设置单元908,与交互行为设置单元906相连,用于设置多个交互行为的执行顺序。交互行为设置单元906,用于根据选取的交互行为及交互行为的属性、以及上述执行顺序设置触发条件触发的交互行为。
在本发明实施例中,定义感知单元为控制机器人交互行为的最小单位,并定义交互行为,根据感知单元和交互行为设置控制条目来控制机器人的交互行为,统一了机器人控制的输入输出标准,并且使得非技术人员也可以编辑机器人的行为,有效提高机器人自适应交互行为能力与智能化程度。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种机器人的控制数据的生成方法,其特征在于,包括:
根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,其中,感知单元被设置为控制机器人交互行为的最小单元;
根据一个或多个预设的被设置为供机器人执行的交互行为,设置所述触发条件触发的交互行为;
根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目;其中,还包括:
设置感知单元的权重,以区分不同感知单元的重要程度,进而使交互行为与重要的感知单元对应;
根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,包括:
从预设的感知单元中选取至少一个感知单元;
设置选取的感知单元的属性,其中,感知单元的属性包括感知单元的取值;
根据选取的感知单元及感知单元的属性设置用于控制机器人交互行为的触发条件;
还包括:设置多个感知单元之间的关系;
其中,根据选取的感知单元及感知单元的属性设置触发条件,包括:根据选择的感知单元及感知单元的属性、以及感知单元之间的关系设置触发条件;
还包括:设置多个交互行为的执行顺序;
其中根据选取的交互行为及交互行为的属性设置触发条件触发的交互行为,包括:根据选取的交互行为及交互行为的属性、以及所述执行顺序设置触发条件触发的交互行为;并且,
所述交互行为被配置为一个或多个动作指令,所述动作指令包括:用于执行其他控制条目而设置的到其他控制条目的链接,和/或用于从多个内容和/或多个参数中选取内容和/或参数而设置的到多个参数和/或多个内容的链接。
2.根据权利要求1所述的方法,其特征在于,根据一个或多个预设的被设置为供机器人执行的交互行为设置所述触发条件触发的交互行为,包括:
从预设的被设置为供机器人执行的交互行为中选取至少一个交互行为;
设置选取的交互行为的属性,其中,所述交互行为的属性包括交互行为的一个或多个能够被机器人解析以执行的动作指令以及动作指令的参数;
根据选取的交互行为及交互行为的属性设置触发条件触发的交互行为。
3.根据权利要求1所述的方法,其特征在于,感知单元的取值为一个或多个预定义值,
其中,设置选取的感知单元的属性包括:从感知单元的一个或多个预定义值中选取感知单元的取值。
4.根据权利要求1所述的方法,其特征在于,根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目,包括:
根据设置的触发条件、按照第一预定格式生成触发条件数据;
根据设置的交互行为、按照第二预定格式生成交互行为数据,其中,所述第一预定格式与所述第二预定格式相同或不同;
关联所述触发条件数据和所述交互行为数据,得到用于响应机器人感知到的信息来控制机器人交互行为的控制条目。
5.根据权利要求4所述的方法,其特征在于,所述第一预定格式和所述第二预定格式为数据交换格式。
6.根据权利要求5所述的方法,其特征在于,所述数据交换格式包括以下之一或任意组合:XML、JSON或者YAML。
7.根据权利要求1所述的方法,其特征在于,所述预设的感知单元包括多个层级,其中,高层级的感知单元包括低层级的一个或多个感知单元。
8.根据权利要求7所述的方法,其特征在于,高层级的感知单元包括与其相邻的低层级的一个或多个感知单元。
9.根据权利要求1所述的方法,其特征在于,还包括:
设置并生成多个控制条目;
为每个控制条目分配唯一标识;
将所述多个控制条目存储在数据交换格式的文档和/或数据库文档中。
10.根据权利要求1至9中任一项所述的方法,其特征在于,还包括:
获取机器人感知到的信息;
根据所述感知到的信息、按照至少一个感知单元生成感知数据,其中,所述感知数据包括感知单元的标识和取值;
查找与生成的感知数据匹配的控制条目;
如果查找到与所述生成的感知数据匹配的控制条目,使所述机器人执行查找到的控制条目配置的交互行为。
11.根据权利要求1至9中任一项所述的方法,其特征在于,还包括:
感知至少一项信息;
根据感知到的信息、按照至少一个感知单元生成感知数据,其中,感知数据包括感知单元的标识和取值;
将生成的感知数据发送出去;
接收与所述生成的感知数据匹配的控制条目的信息;
执行所述控制条目配置的交互行为。
12.根据权利要求1至9中任一项所述的方法,其特征在于,还包括:
接收机器人的感知数据,其中,感知数据根据机器人感知到的信息、按照至少一个的感知单元生成,感知数据包括感知单元的标识和取值;
查找与机器人的感知数据匹配的控制条目;
如果查找到与机器人的感知数据匹配的控制条目,使机器人执行查找到的控制条目配置的交互行为。
13.一种机器人的控制数据的生成装置,其特征在于,包括:
触发条件设置模块,用于根据一个或多个预设的感知单元设置用于控制机器人交互行为的触发条件,其中,感知单元被设置为控制机器人交互行为的最小单元;
交互行为设置模块,用于根据一个或多个预设的被设置为供机器人执行的交互行为,设置所述触发条件触发的交互行为;
生成模块,用于根据设置的触发条件和交互行为生成用于响应机器人感知到的信息来控制机器人交互行为的控制条目;以及
感知单元权重设置模块,设置感知单元的权重,以区分不同感知单元的重要程度,进而使交互行为与重要的感知单元对应;
所述触发条件设置模块,包括:
感知单元选取单元,用于从预设的感知单元中选取至少一个感知单元;
感知单元属性设置单元,用于设置选取的感知单元的属性,其中,所述感知单元的属性包括感知单元的取值;
触发条件设置单元,用于根据选取的感知单元及感知单元的属性设置用于控制机器人交互行为的触发条件;
所述触发条件设置模块还包括:关系设置单元,用于设置多个感知单元之间的关系;
其中,所述触发条件设置单元,用于根据选择的感知单元及感知单元的属性、以及感知单元之间的关系设置触发条件;
所述交互行为设置模块,还包括:顺序设置单元,用于设置多个交互行为的执行顺序;
其中,交互行为设置单元,用于根据选取的交互行为及交互行为的属性、以及所述执行顺序设置触发条件触发的交互行为;
所述交互行为被配置为一个或多个动作指令,所述动作指令包括:用于执行其他控制条目而设置的到其他控制条目的链接,和/或用于从多个内容和/或多个参数中选取内容和/或参数而设置的到多个参数和/或多个内容的链接。
14.根据权利要求13所述的装置,其特征在于,所述交互行为设置模块,包括:
交互行为选取单元,用于从预设的被设置为供机器人执行的交互行为中选取至少一个交互行为;
交互行为属性设置单元,用于设置选取的交互行为的属性,其中,所述交互行为的属性包括交互行为的一个或多个能够被机器人解析以执行的动作指令以及动作指令的参数;
交互行为设置单元,根据选取的交互行为及交互行为的属性设置触发条件触发的交互行为。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510364661.7A CN106325228B (zh) | 2015-06-26 | 2015-06-26 | 机器人的控制数据的生成方法及装置 |
PCT/CN2016/087261 WO2016206646A1 (zh) | 2015-06-26 | 2016-06-27 | 使机器装置产生动作的方法及系统 |
PCT/CN2016/087259 WO2016206644A1 (zh) | 2015-06-26 | 2016-06-27 | 机器人控制引擎及系统 |
PCT/CN2016/087262 WO2016206647A1 (zh) | 2015-06-26 | 2016-06-27 | 用于控制机器装置产生动作的系统 |
PCT/CN2016/087258 WO2016206643A1 (zh) | 2015-06-26 | 2016-06-27 | 机器人交互行为的控制方法、装置及机器人 |
PCT/CN2016/087257 WO2016206642A1 (zh) | 2015-06-26 | 2016-06-27 | 机器人的控制数据的生成方法及装置 |
PCT/CN2016/087260 WO2016206645A1 (zh) | 2015-06-26 | 2016-06-27 | 为机器装置加载控制数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510364661.7A CN106325228B (zh) | 2015-06-26 | 2015-06-26 | 机器人的控制数据的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106325228A CN106325228A (zh) | 2017-01-11 |
CN106325228B true CN106325228B (zh) | 2020-03-20 |
Family
ID=57721493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510364661.7A Active CN106325228B (zh) | 2015-06-26 | 2015-06-26 | 机器人的控制数据的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106325228B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874092A (zh) * | 2017-02-10 | 2017-06-20 | 深圳市笨笨机器人有限公司 | 机器人任务托管方法及系统 |
CN108345251B (zh) * | 2018-03-23 | 2020-10-13 | 苏州狗尾草智能科技有限公司 | 机器人感知数据的处理方法、系统、设备及介质 |
CN110928279B (zh) * | 2018-08-31 | 2023-08-04 | 深圳市优必选科技有限公司 | 一种机器人移动控制方法、装置及终端设备 |
CN110871813A (zh) * | 2018-08-31 | 2020-03-10 | 比亚迪股份有限公司 | 虚拟机器人的控制方法、装置、车辆、设备和存储介质 |
CN110053046B (zh) * | 2019-04-09 | 2022-05-03 | 江门市蚂蚁机器人有限公司 | 基于自定义事件的机器人控制方法及其系统 |
CN111429597B (zh) * | 2020-03-31 | 2021-11-02 | 腾讯科技(成都)有限公司 | 语音打卡方法、装置及存储介质 |
CN117245644A (zh) * | 2022-12-12 | 2023-12-19 | 北京小米机器人技术有限公司 | 机器人及其机械性格控制方法和装置、终端、存储介质 |
CN117215682A (zh) * | 2023-07-27 | 2023-12-12 | 北京小米机器人技术有限公司 | 交互事件执行方法及装置、电子设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101618280A (zh) * | 2009-06-30 | 2010-01-06 | 哈尔滨工业大学 | 具有人机交互功能的仿人头像机器人装置及行为控制方法 |
CN101970186A (zh) * | 2008-01-28 | 2011-02-09 | 塞格瑞德公司 | 与机器人进行实时交互的方法 |
CN102446428A (zh) * | 2010-09-27 | 2012-05-09 | 北京紫光优蓝机器人技术有限公司 | 基于机器人的交互式学习系统及其交互方法 |
CN104640677A (zh) * | 2012-06-21 | 2015-05-20 | 睿信科机器人有限公司 | 训练和操作工业机器人 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140038489A1 (en) * | 2012-08-06 | 2014-02-06 | BBY Solutions | Interactive plush toy |
-
2015
- 2015-06-26 CN CN201510364661.7A patent/CN106325228B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101970186A (zh) * | 2008-01-28 | 2011-02-09 | 塞格瑞德公司 | 与机器人进行实时交互的方法 |
CN101618280A (zh) * | 2009-06-30 | 2010-01-06 | 哈尔滨工业大学 | 具有人机交互功能的仿人头像机器人装置及行为控制方法 |
CN102446428A (zh) * | 2010-09-27 | 2012-05-09 | 北京紫光优蓝机器人技术有限公司 | 基于机器人的交互式学习系统及其交互方法 |
CN104640677A (zh) * | 2012-06-21 | 2015-05-20 | 睿信科机器人有限公司 | 训练和操作工业机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN106325228A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325228B (zh) | 机器人的控制数据的生成方法及装置 | |
EP3341934B1 (en) | Electronic device | |
US10389873B2 (en) | Electronic device for outputting message and method for controlling the same | |
CN105979312B (zh) | 一种信息分享方法及装置 | |
CN106325065A (zh) | 机器人交互行为的控制方法、装置及机器人 | |
KR20180083587A (ko) | 전자 장치 및 그의 동작 방법 | |
JP2021010156A (ja) | 情報を生成する方法および装置 | |
KR102561572B1 (ko) | 센서 활용 방법 및 이를 구현한 전자 장치 | |
KR20190019401A (ko) | 전자 장치 및 그 제어 방법 | |
US9543918B1 (en) | Configuring notification intensity level using device sensors | |
KR20180096182A (ko) | 전자 장치 및 그 전자 장치의 제어 방법 | |
WO2016206642A1 (zh) | 机器人的控制数据的生成方法及装置 | |
CN105659325A (zh) | 基于相关性的视觉媒体项修改 | |
KR20190009201A (ko) | 이동 단말기 및 그 제어 방법 | |
CN106325113B (zh) | 机器人控制引擎及系统 | |
US11874876B2 (en) | Electronic device and method for predicting an intention of a user | |
US20220246135A1 (en) | Information processing system, information processing method, and recording medium | |
CN106921802B (zh) | 音频数据的播放方法及装置 | |
CN110399474B (zh) | 一种智能对话方法、装置、设备及存储介质 | |
CN106572131A (zh) | 物联网中媒体数据分享的方法及系统 | |
TW202223804A (zh) | 電子資源推送方法及系統 | |
EP3270263A1 (en) | Information processing apparatus for presenting content, method for controlling the same, and control program | |
CN111352501A (zh) | 业务交互方法及装置 | |
KR20190082578A (ko) | 이동 단말기 및 그 제어 방법 | |
JP6496220B2 (ja) | 情報配信装置および情報配信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200819 Address after: No.401, No.33, Dongnan Avenue, Changshu high tech Industrial Development Zone, Suzhou City, Jiangsu Province Patentee after: Suzhou Beihu robot Co., Ltd Address before: 100193, room 6654, building 6, South 1 village, Northeast Village, Beijing, Haidian District Patentee before: BEIJING BPEER TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |