CN1758991A - 机器人装置、其行为控制方法及程序 - Google Patents
机器人装置、其行为控制方法及程序 Download PDFInfo
- Publication number
- CN1758991A CN1758991A CNA2004800065833A CN200480006583A CN1758991A CN 1758991 A CN1758991 A CN 1758991A CN A2004800065833 A CNA2004800065833 A CN A2004800065833A CN 200480006583 A CN200480006583 A CN 200480006583A CN 1758991 A CN1758991 A CN 1758991A
- Authority
- CN
- China
- Prior art keywords
- level
- internal state
- action
- movement
- outside stimulus
- 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.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Toys (AREA)
Abstract
一种行为选择控制***(100)包括:多个要素行为,用于当被选择时输出行为;行为值计算部分(120),用于根据来自内部状态管理部分(91)和外部刺激识别部分(80)的信息通过参考数据库来计算每个要素行为的行为值AL;以及行为选择部分(130),用于选择具有最大行为值AL的要素行为作为待执行的行为。每个行为与预定的内部状态和外部刺激相关。行为值计算部分(120)根据与输入的内部状态相应的对行为的期望值以及基于预期的内部状态变化的预期的满意度变化来计算每个行为的行为值AL,该预期的内部状态变化预期将根据输入的外部刺激而变化。
Description
技术领域
本发明一般涉及一种可以自主(autonomously)动作的机器人装置以及控制机器人装置的动作的方法和程序,特别涉及一种可以基于其自身内部状态和外部刺激来选择并实现动作的机器人装置以及机器人动作控制方法和程序。
本申请要求与2003年3月11日提交的日本专利申请No.2003-065587的优先权,其全部内容通过引用并入于此。
背景技术
近年来,包括共存型机器人和娱乐型机器人的新机器人领域正代替工业机器人装置而处于研究和发展的过程中。这种机器人被设计来基于诸如来自传感器等的外部刺激的信息来实现动作。
例如,在“Tetsuya Ogata and Shigeki Kanno:Creation of Robot ActionOn the Basis of Self-preservation-Methodology and Implementation ofMachine Model,Journal of the Japan Academy of Robotics(1997),Vol.15,No.5,pp.710-721(在下文中将称其为“常规技术”)”中公开了一种基于从机器人自卫本能(self-preservation)的观点做作的评估而产生机器人动作的方法。“从机器人自卫本能的观点进行的评估”是从机器人硬件的耐久性和故障率的观点评估机器人装置。更具体地,计算自卫本能评估函数,其将环境信息(来自视觉和听觉传感器的输入)以及包括电池状态、电力消耗、电路温度等的输入信息转换成从硬件耐久性和故障率观点对机器人装置的耐久性的评估值(故障率),以及监视内部和外部传感信息和自卫本能函数的值以利用实际上正在机器人装置发出的用于另一个动作的命令来替换多个行为中正在进行的动作。这样,机器人装置将反映如下的可接受性,即其将实施得到较好的自卫本能评估的一个动作,而不实施得到较差评估的任何动作。
此外,机器人装置可以引入对“情绪(Sentiment)”建模的自卫本能评估函数。例如,它可以通过在被充电时显露黄色以表示高兴以及当被放电时显露蓝色以表示恐惧来表达感情。
常规技术中公开的机器人装置的基于“自卫本能”的评估是如此简单以致将“充电”评估为好而将“放电”评估为不好。即,该评估仅可以产生与人类的单向交流。
通常视作玩具的许多共存型和娱乐型机器人被设计成仅响应于外部刺激来动作。即,用户的操作和机器人的反应之间的关系是固定的。因此,机器人用户对这种响应于同样的外部刺激而仅重复同样的动作的玩具机器人厌烦了。
最近已经提出了下述机器人***,其中对诸如本能(instinct)和情绪的感情建模以管理***的内部状态并且相应于内部状态的变化而选择动作。但是,在许多这样的机器人***中,响应于内部状态和外部刺激可选的动作是固定的那些,从而难于通过用户和环境之间的交互来选择除了这些固定的动作外的任何动作。
如果能够将一种使机器人实施适于当前情形的下一最优动作(action)或行动(motion)的功能以及使机器人基于其过去的经验改变下一动作或行动的功能安装在机器人中,则机器人将使用户感觉到对机器人渐增的亲近感或满意感。该机器人将给予用户更大的乐趣,并且其与用户的交互将更顺利(smoother)。
发明内容
因此,本发明的目的是通过提供一种作为娱乐型机器人可以实施不令人厌倦的动作的机器人装置、以及机器人动作控制方法和程序来克服上述现有技术的缺点。
上述目的可通过提供一种基于其自身的内部状态和外部刺激自主选择并实施动作的机器人装置而达到,根据本发明该机器人装置包括:
多个动作记述(action-stating)模块,每个中都记述了动作;
动作水平(activation level)计算部件,用于根据内部状态和外部刺激计算该多个动作记述模块中所记述的每个动作的动作水平;以及
动作选择部件,用于基于该计算的动作水平选择动作记述模块之一并且做出所选择的动作记述模块中所记述的动作,
每个动作记述模块中所记述的动作与预定的内部状态和外部刺激相关联;以及
动作水平计算部件基于内部状态确定满意水平和与内部状态相关联的动作的本能水平,并且基于根据当前内部状态确定的本能水平和根据预计将基于当前内部状态和输入的外部刺激而变化的内部状态确定的预测满意水平的变化量来计算每个动作的动作水平。
在根据本发明的上述机器人装置中,由于确定了相应于当前内部状态的动作的本能水平,并且确定了预测满意水平的变化量,其中该预测满意水平的变化量是当前内部状态的满意水平以及相应于预测内部状态的预测满意水平之间的差值,上述预测内部状态被预测为在提供了外部刺激和做出动作之后将变化,根据满意水平和预测满意水平变化量计算动作水平并且基于计算的动作水平选择待做出的动作,所以该机器人可以响应于将相应于其周围环境和与用户的交流而变化的内部状态以及各种外部刺激而实施各种唯一的动作。
此外,动作水平计算部件可以适于从由当前内部状态确定的本能水平、由当前内部状态确定的满意水平和预测满意水平变化量计算每个动作的动作水平。
此外,动作水平计算部件可以具有其中有输入外部刺激和预测内部状态变化量的动作水平计算数据库,以便参考该动作水平计算数据库而计算动作水平。可以相应于机器人装置与之交流的用户以及机器人装置的周围环境而准备不同的数据库。
此外,动作水平计算数据库可以具有与外部刺激相关联的预测内部状态变化量。这样,动作水平计算数据库使得可以通过利用线性模型对动作水平计算数据库中没有找到的输入值进行线性插值而计算预测内部状态变化量。由于动作水平计算数据库不必对于每个外部刺激具有的所有值都具有预测内部状态变化量,所以可以减少数据量。
此外,上述目的可以通过提供一种用在机器人装置中用于控制该机器人装置来基于其自身的内部状态和外部刺激自主选择并实施动作的机器人动作控制方法而达到。根据本发明该方法包括:
动作水平计算步骤,用于根据内部状态和外部刺激计算多个动作记述模块中所记述的每个动作的动作水平;以及
动作选择步骤,用于基于该计算的动作水平选择动作记述模块之一并且做出所选择的动作记述模块中所记述的动作,
每个动作记述模块中所记述的动作与预定的内部状态和外部刺激相关联;以及
在动作水平计算步骤中,基于内部状态确定满意水平和与内部状态相关联的动作的本能水平,并且基于从当前内部状态确定的本能水平和从预计将基于当前内部状态和输入的外部刺激而变化的内部状态确定的预测满意水平的变化量来计算每个动作的动作水平。
此外,上述目的可以通过提供一种计算机可读的机器人动作控制程序而达到,该机器人动作控制程序使计算机控制机器人装置来基于其自身的内部状态和外部刺激自主选择并实施动作。
附图说明
图1是示出作为本发明实施例的机器人装置的外观的透视图。
图2是作为本发明实施例的机器人装置的示意性框图。
图3是包括在作为本发明实施例的机器人装置中的控制单元的详细框图。
图4是包括在作为本发明实施例的机器人装置中的控制***中的用于计算每个动作的动作水平并且使机器人装置根据计算的动作水平实施动作的动作选择***部分的示意图。
图5也是一示意图,其示出了由动作水平计算单元根据内部状态和外部刺激校准动作水平AL的过程中进行的操作的流程。
图6以图形图示了内部状态和外部刺激之间的关系,其中沿着水平轴绘制了内部状态向量IntV(内部变量)的分量以及沿着垂直轴绘制了本能向量InsV的分量。
图7A和7B分别示出了在动作水平计算数据库中关于内部状态“营养”和内部状态“疲劳”的动作水平计算数据。
图8以图形图示了内部状态与满意水平之间的关系,其中沿着水平轴绘制了“营养”IntV_NOURISHMENT以及沿着垂直轴绘制了满意水平S_NOURISHMENT。
图9以图形图示了内部状态与满意水平之间的关系,其中沿着水平轴绘制了“疲劳”IntV_FATIGUE以及沿着垂直轴绘制了对内部状态“疲劳”的满意水平S_FATIGUE。
图10A和10B分别示出了用于确定内部状态“营养”和“疲劳”的预测内部状态变化量的动作水平计算数据结构的示例。
图11解释一维外部刺激的线性插值。
图12解释二维外部刺激的线性插值。
图13示出了动作水平计算单元中在计算动作水平的过程中所进行的操作的流程。
图14是示出在包括在作为本发明的实施例的机器人装置中的控制***中所进行的从外部刺激的输入到动作水平计算数据库的学习的范围的操作的流程的示意图。
图15解释相应于一维外部刺激更新预测的内部状态变化量的示例。
图16解释相应于二维外部刺激更新预测的内部状态变化量的示例。
图17示出了在相应于所进行的动作的结果通过学***计算数据库的过程中进行的操作的流程。
图18是作为本发明实施例的机器人装置中的动作控制***的示意图,该示意图示出了***的功能块。
图19也是作为本发明实施例的机器人装置中的动作控制***的示意图,该示意图示出了***的对象。
图20是由作为本发明实施例的机器人装置中的状况依存行为层(situated-behavior layer)进行的状况依存行为控制的示意图。
图21是由多个计划(schema)组成的状况依存行为层的示意图。
图22是状况依存行为层中的计划的树型配置的示意图。
图23是状况依存行为层中用于控制普通状况依存行为的机制的示意图。
图24是由多个计划组成的反射(reflexive)状况依存行为层的示意图。
图25是由反射状况依存行为层控制反射状况依存行为的机制的示意图。
图26是示出用在状况依存行为层中的计划的类定义的示意图。
图27是示出状况依存行为层中的类的函数的示意图。
图28解释计划的可重用性(re-entrability)。
具体实施方式
将参考附图关于本发明的实施例来详细描述本发明。本发明应用于模仿生命并且可以与用户交互的机器人装置,诸如宠物型行为体(agent)、拟人(humanoid)型行为体等。下面将首先描述这种机器人装置的配置。接下来,将描述机器人装置中的控制***、用于选择动作的动作选择控制***的配置。最后,将描述包括这种动作选择控制***的机器人控制***。
(A)机器人装置的配置
图1是示出了作为本发明实施例的机器人装置的外观的透视图。如图1所示,一般以标号1指示的机器人装置是躯干单元1,耦合到躯干单元2的两个预定位置的头部单元3,两个臂部单元、左和右、4R和4L,以及两个腿部单元、左和右、5R和5L的集合体。如图所示,臂部单元4R,4L和腿部单元5R,5L耦合到躯干单元2。这里应该注意,“R”和“L”分别代表“右”和“左”,在下面描述中同此。
图2是作为本发明实施例的机器人装置的示意性功能框图。如图2所示,机器人装置1包括对整个机器人装置1进行操作控制并处理数据的控制单元20、输入/输出单元40、驱动单元50、和电源单元60。下面将对这些组件的每个进行描述。
输入/输出单元40包括输入元件诸如等同于人类眼睛并且捕捉周围图像的CCD相机15、等同于人类耳朵的麦克风16、置于头部单元、背部等用来通过电气检测施加给该身体部分的预定压力来感测用户接触的触觉传感器18、用于测量至位于机器人装置前向的物体的距离的距离传感器、以及等同于人类五种感觉的陀螺(gyro)传感器的各种其它传感器。此外,输入/输出单元40包括输出元件诸如头部单元中提供的等同于人类嘴巴的扬声器17、在人类眼睛位置提供的用于表达感情并且显示视觉上识别出的状态的LED指示器(眼睛灯)19等等。通过提供声音、LED指示器19的闪烁等,输出元件还可以通过除了腿部的机械行动式样(pattern)以外别的式样来向用户表达来自机器人装置1的反馈。
例如,通过由在头部单元的顶部上提供的触觉传感器18的组合来检测接触,可以检测用户在机器人装置1的头部上的动作,诸如“轻拍”、“打击”、“轻叩”等等。例如,在预定的时间间隔连续地由某些压力传感器检测到的一系列接触可能被视为“轻拍”,而在短时间内由压力传感器检测到的接触被视为“打击”,根据该确定而改变内部状态,并且由前述的输出元件表达内部状态的改变。
驱动单元50是用于根据从控制单元20提供的对于预定行动式样的命令来实现机器人装置1的身体行动的功能块。其由用于控制机器人装置1的动作的控制单元20来控制。此外,驱动单元50是用于实现机器人装置1的每个关节的自由度的功能模块并且包括提供在每个关节的每个滚动(roll)轴、俯仰(pitch)轴、偏航(yaw)轴上的多个驱动单元541到54n。每个驱动单元包括下述组合:使得绕预定轴转动的马达(motor)、检测马达的转动位置的编码器、以及基于来自编码器的输出适应性地控制马达的转动位置和转动速度的驱动器。更具体地,驱动单元541包括马达511、编码器521、驱动器531,驱动单元542包括马达512、编码器522、驱动器532,...,以及驱动单元54n包括马达51n、编码器52n、驱动器53n。
根据本发明的机器人装置1是两足行走型的,但是通过改变驱动单元的组合,可以将其构造成诸如四足行走的机器人等的腿式移动(leggedlocomotion)机器人。
电源单元60字面上是用于为机器人装置1内部的每个电路等提供电力的功能模块。作为本发明实施例的机器人装置1是使用电池的自驱动(self-driven)类型。电源单元60包括可再充电电池61、管理可再充电电池61的充电/放电状态的充电/放电控制器62。
可再充电电池61例如是由包裹在筒(cartridge)内的多个锂离子蓄电池(secondary cell)形成的“电池组(battery pack)”。
此外,充电/放电控制器62通过测量电池61的端电压(terminal voltage)和充电/放电电流量、电池61周围的环境温度等检测电池61中的残余电势,以确定电池充电的开始时间和终止时间等。控制单元20被告知了由充电/放电控制器62所确定的电池充电的开始时间和终止时间,以控制机器人装置1来开始和终止电池充电操作。
控制单元20等同于“大脑(brain)”,并且例如被安装在机器人装置1的头部或者躯干单元中。
图3是控制单元的详细框图。如图3所示,控制单元20包括作为由总线28连接到存储器、其它电路组件和***装置的主控制器的CPU(CentralProcessing Unit,中央处理单元)21。总线28是包括数据总线、地址总线、控制总线等的控制信号传送通道(channel)。总线28上的每个装置被分配了唯一的地址(存储器地址或I/O地址)。CPU21可以通过指定装置的地址与总线28上的特定装置通信。
作为总线28上的装置之一,提供了RAM(Random-Access Memory,随机存取存储器)22,其是由诸如DRAM(Dynamic RAM,动态随机存取存储器)的易失性存储器形成的可写存储器。其用于加载将由CPU21执行的程序的代码,以及临时保存基于待执行的程序的工作数据(work data)。
作为总线28上的装置之一,还提供了ROM(Read-Only Memory,只读存储器)23,其是用于永久存储程序和数据的只读存储器。存储在ROM 23中的程序代码包括在给机器人装置1提供电力后首先执行的自检(self-test)程序,指定机器人装置1的操作的操作控制程序,等等。
机器人装置1的控制程序包括:“传感器输入/识别程序”,用于处理来自相机15、麦克风16等的传感器输入并且将其识别为符号;“动作控制程序”,用于在管理诸如短期存储、长期存储等的存储操作(稍后将详述)的同时基于传感器输入和预定的动作控制模型来控制机器人装置1的动作;“驱动控制程序”,用于根据动作控制模型等来控制每个关节马达的驱动、从扬声器17输出的声音等等。
作为总线28上的装置之一,还提供了由诸如EEPROM(ElectricallyErasable and Programmable ROM,电可擦除及可编程ROM)的电可擦除及可重写存储器元件组成的非易失性存储器24。其用于保持以非易失方式连续更新的数据。要连续更新的数据包括诸如加密密钥等的安全信息,出货后待安装的装置控制程序,等等。
作为总线28上的装置之一,还提供了接口25,接口25使机器人装置1与提供在控制单元20外部的装置互相连接从而使得机器人装置1能够与这样的外部装置交换数据。接口25向相机15、麦克风16或扬声器17提供数据并且从相机15、麦克风16或扬声器17接收数据。此外,接口25向驱动单元50中的驱动器531到53n提供数据和命令并且从驱动单元50中的驱动器531到53n接收数据和命令。
此外,接口25可以包括用于连接计算机的***装置的通用(general-purpose)接口,诸如串行接口如RS(Recommended Standard,推荐标准)-232C、并行接口如IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)1284、USB(Universal Serial Bus,通用串行总线)接口、i-Link(IEEE 1394)接口、SCSI(Small Computer System Interface,小型计算机***接口)、接受RC卡或者记忆棒(memory stick)的存储卡接口等,以在本地连接的外部装置之间移动程序和数据。
上面的接口25还可以包括红外数据通信(infrared data communication,IrDA)接口以与外部装置进行无线电通信。
此外,控制单元20包括到接近的无线电数据通信诸如蓝牙或者经由诸如IEEE 802.11b的无线电网络或者诸如因特网的广域网与各种主机数据通信的无线电通信接口26、网络接口卡(Network Interface Card,NIC)27等。
通过在机器人装置1与主机之间进行数据通信,可以对于机器人装置1的复杂操作控制进行计算或者利用远程计算机资源对机器人装置1进行远程控制。
(B)机器人装置的动作控制
接下来,将详细描述用于控制作为本发明实施例的机器人装置的动作的方法。前述机器人装置1被设计成响应于其自身的内部状态和外部状态,或来自用户的指令或动作而自主动作。即,机器人装置1可以响应于外部刺激和其自身内部状态来自主选择并且实施动作。通过用于控制根据本发明的机器人装置的动作的方法,基于动作的动作水平AL而选择并且执行另一动作。在机器人装置的动作控制中,下面将描述从响应于机器人装置的内部状态和外部刺激选择待进行的动作到进行所选择的动作这一范围的动作选择控制过程。将首先解释如果计算作为选择机器人装置动作的参考的动作水平AL。
(1)机器人装置的动作的选择
图4是包括在机器人装置中的控制***中的用于计算每个动作的动作水平并且根据计算的动作水平实现动作的动作选择***部分的示意图。如图4所示,以标号100指示的动作选择控制***包括:内部状态管理器(Internal-State Manager,ISM)91,用于通过将一些种类的感情(emotion)诸如本能(instinct)和情绪(sentiment)建成数学模型来管理这些种类的感情;外部刺激识别单元80,用于识别周围的诸如传感器输入等的外部刺激;多个要素(elementary)动作模块132(图4中仅示出了A到D),每个都输出基于内部状态和外部刺激所选择的动作;动作水平计算单元120,用于计算每个要素动作模块132的动作水平AL;动作选择器130,用于基于动作水平AL选择要进行的要素动作模块132。当所选择的要素动作模块132提供输出动作时,机器人装置1实现该动作。
要素动作模块132是用于根据内部状态和外部刺激确定动作输出的模块。为每个模块准备了状态机,并且依据在前动作(行动)和情形将对从传感器提供的外部信息的识别结果分类以使得机器人装置实现该动作。将该模块(动作记述(action-stating)模块)陈述为计划(schama)121,该计划121具有监视函数和动作函数,该监视函数用于理解(appreciate)相应于外部刺激和内部状态的状况以及计算动作水平AL,该动作函数用于实现伴随(incidental)动作实现的状态机。稍后将详细描述该计划。对于每个要素动作模块132,相应于要素动作模块132中记述的动作定义了预定的内部状态和外部刺激。
本文所称的“外部刺激”是外部刺激识别单元80中机器人感测到的信息等,并且其包括诸如由处理自相机提供的图像产生的色彩信息、形状信息、面部表情信息等的物体信息等。更具体地,物体信息包括例如,色彩、形状、面部、普通的3D(three-dimension,三维)物体、手势以及行动、声音、触摸、距离、场所、时间、与用户的交流次数,等等。
此外,“内部状态”是由上述内部状态管理器91管理的诸如本能和情绪的感情。即,内部状态包括疲劳、疼痛、营养、口渴、关爱(affection)、好奇心等等。
例如,输出动作是“吃(Eat)”的要素动作模块A覆盖了作为外部刺激的物体的类型(OBJECT_ID)、大小(OBJECT_SIZE)、距离(OBJECT_DISTANCE)等以及作为内部状态的营养、疲劳等。这样,每个要素动作模块所覆盖的外部刺激和内部状态的类型被定义,以及相应于该外部刺激和内部状态的动作(要素动作)的动作水平被计算。应该注意,一个内部状态或外部刺激当然与多个要素动作以及与单个要素动作相关联。
此外,内部状态管理器91被供给了外部刺激和关于电池的残余电势、机器人装置中的马达的转动角等的信息,并且计算并且管理相应于多个内部状态的内部状态向量IntV(内部变量)。更具体地,例如,内部状态“营养”可以基于电池的残余电势来确定,以及内部状态“疲劳”可以基于消耗的电力来确定。
通过参考动作水平计算数据库121,动作水平计算单元120根据特定时刻的外部刺激和内部状态来计算在该时刻的要素动作模块A到D的每个的动作水平AL。在本发明的实施例中,为要素动作模块A到D的每个提供了动作水平计算单元120。然而,单个动作水平计算单元120可以用于计算所有要素动作模块的动作水平。
“动作水平AL”指示机器人装置希望实现具有该动作水平的要素动作模块到何种程度(实现优先级)。动作选择器130基于动作的动作水平AL选择要素动作模块,并且所选择的要素动作模块输出其中所记述的动作。即,每个要素动作模块使其自身的动作水平计算单元120计算动作水平,并且动作选择器130选择例如其动作水平AL最高的要素动作。
根据相应于每个当前内部状态的每个动作的本能、基于当前内部状态的满意水平、以及预计将基于外部刺激而变化的内部状态的变化量(即指示预计作为响应于输入的外部刺激而实现动作的结果将变化的内部状态的变化的满意水平的预测变化量)来计算每个要素动作模块的动作水平AL。
以当特定“类型”和“大小”的物体存在于特定“距离”处时、基于内部状态“营养”和“疲劳”计算其动作输出是“吃”的要素动作模块A的动作水平AL为示例,下面将详细解释如何计算预定的要素动作模块A中的动作水平AL。
(2)动作水平计算单元
图5是示出了由动作水平计算单元120根据内部状态和外部刺激校准动作水平AL的过程中所进行的操作的流程的示意图。在本发明的实施例中,为每个要素动作模块定义了具有多于一个内部状态作为分量的内部状态向量IntV(内部变量),以及由内部状态管理器91提供相应于每个要素动作模块的内部状态向量IntV。即,内部状态向量IntV的每个分量指示表示例如前述感情等的一个内部状态(内部参数)的值,并且其用于计算与内部状态向量IntV具有的每个分量相应的要素动作模块的动作水平。更具体地,例如,对于动作输出是“吃”的要素动作模块A,定义了内部状态向量“营养”IntV_NOURISHMENT和“疲劳”IntV_FATIGUE。
此外,为每个内部状态定义了具有多于一个外部刺激水平作为分量的外部刺激向量ExStml(外部刺激),以及由外部刺激识别单元80提供相应于每个内部状态即要素动作模块的外部刺激向量ExStml。即,外部刺激向量ExStml的每个分量指示诸如前述物体的大小和类型、到物体的距离等等的识别信息,并且其用于计算与外部刺激向量ExStml的每个分量相应的内部状态水平。更具体地,例如,为内部状态IntV_NOURISHMENT定义了外部刺激向量ExStml“物体类型”OBJECT ID和“物体大小”OBJECT_SIZE,而为内部状态“疲劳”IntV_FATIGUE定义了外部刺激向量ExStml“到物体的距离”OBJECT_DISTANCE。
动作水平计算单元120被供给了内部状态向量IntV和外部刺激向量ExStml,并且计算动作水平AL。更具体地,动作水平计算单元120包括:第一计算块MV,用于基于内部状态向量IntV确定指示机器人装置希望到何种程度来实现考虑中的要素动作的动机向量(motivation vector);第二计算块RV,用于基于内部状态向量IntV和外部刺激向量ExStml来确定指示是否能够实现该要素动作的释放向量(releasing vector)。其根据这两个向量来计算动作水平AL。
(2-1)动机向量的计算
根据要素动作模块中所记述的内部状态向量IntV将作为用于计算动作水平AL的元素之一的动机向量确定为指示要素动作模块的本能的本能向量InsV(instinct variable,本能变量)。例如,动作输出是“吃”的要素动作模块A具有内部状态向量IntV“IntV_NOURISHMENT”和“IntV_FATIGUE”,因而本能向量InsV“InsV_NOURISHMENT”和“InsV_FATIGUE”被确定为动机向量。即,本能向量InsV将是用于计算动作水平AL的动机向量。
为了计算本能向量InsV,可以使用下述函数,使得当内部状态向量IntV的值大时将本能确定为得到满足并且使本能水平变小,而当内部状态向量IntV变得大于预定值时使本能水平为负值。
更具体地,该函数由下面的公式(1)给出并且如图6所示那样。图6以图形图示了内部状态与本能之间的关系,其中沿着水平轴绘制了内部状态向量IntV的分量而沿着垂直轴绘制了本能向量InsV的分量。
其中IntV:内部状态向量
InsV:本能向量
A到F:常数
从上面的公式(1)和图6可知,本能向量InsV只依赖于内部状态向量IntV的值。该函数是这样的即在内部状态的值为0到100的情况下,本能的值为-1到1。例如,通过设置内部状态和本能水平的曲线L1,沿着该曲线例如当内部状态被满足到约80%时本能水平是0,则机器人装置将选择使内部状态的80%总是得到满足的动作。这样,在相应于内部状态IntV_NOURISHMENT的本能是食欲InsV_NOURISHMENT的情况下,这意味着当机器人装置“饥饿”时,机器人装置将具有较大的食欲,而当“胃部”被填充到大于80%时机器人装置将不再有食欲。利用该理论,可以使机器人装置实现表达这样的感情的动作。
通过改变上面的公式(1)中的常数A到F,可为每个内部状态确定唯一的本能水平。例如,在内部状态的值在0和100之间的情况下,本能水平可以在1和0之间变化。此外,可以为每个内部状态准备不同于公式(1)的内部状态/本能水平函数。
(2-2)释放向量的计算
另一方面,释放向量作为用于动作水平AL的计算的另一元素是根据满意水平向量S(satisfaction,满意)和预测满意变化向量计算的,其中该满意水平向量S根据内部状态向量IntV确定而预测满意变化向量根据外部刺激向量ExStml确定。
首先,根据每个要素动作模块中所定义的内部状态和为该内部状态所定义的外部刺激确定如下面的公式(2)给出的预测内部状态变化向量(predictedinternal-state variation vector),该预测内部状态变化向量指示将在动作实现之后获得的内部状态与当前内部状态:
dIntV={
dIntV_NOURISHMENT,
dIntV_FATIGUE} ...(2)
其中
dIntV:预测内部状态变化向量
dIntV_NOURISHMENT:内部状态“营养”的预测变化量
dIntV_FATIGUE:内部状态“疲劳”的预测变化量
“预测内部状态变化向量”指示在动作实现之后可能发生的当前内部状态向量的预测变化量。其可通过参考动作水平计算单元120可参考的动作水平计算数据库121中的动作水平计算数据来确定。动作水平计算数据是对外部刺激向量与在动作实现之后可能发生的预测内部状态变化向量之间相应性(correspondence)的描述。通过参考该数据库,动作水平计算单元20可以获得相应于输入的外部刺激向量的预测内部状态变化向量。
请注意,稍后将详细描述动作水平计算数据库121的构成。这里将首先描述如何从动作水平计算数据库确定预测内部状态变化量和预测本能水平变化量。
注册(register)在动作水平计算数据库中的动作水平计算数据可以是图7A和7B中所示的那些。图7A示出了关于内部状态“营养”的动作水平计算数据。如将了解的,作为实现要素动作模块的动作输出“吃”的结果,物体大小(OBJECT_SIZE)越大,内部状态“营养”越得到满意,即,其OBJECT_ID相应于OBJECT_ID=1的物体M1将比相应于OBJECT_ID=0的物体M1更加使内部状态“营养”得到满意,OBJECT_ID相应于OBJECT_ID=2的物体M3将比相应于OBJECT_ID=1的物体M2更加使内部状态“营养”得到满意。也就是说,“营养”将得到满意
图7B示出了关于内部状态“疲劳”的动作水平计算数据。作为实现要素动作模块的动作输出“吃”的结果,到物体的距离“OBJECT_DISTANCE”越大,内部状态“疲劳”将越得到满意。即,将使机器人装置疲劳。
更具体地,如上为每个要素动作定义了内部状态向量IntV和外部刺激向量InsV。从而,在提供了具有作为外部状态向量ExStml的分量的物体大小和物体类型的向量的情况下,将确定与为其定义了具有内部状态IntV_NOURISHMENT的内部状态向量的要素动作模块A的动作结果对应的预测内部状态变化量,其中,为该内部状态IntV_NOURISHMENT定义了外部刺激向量ExStml。在提供了具有到物体的距离的向量的情况下,将确定与其定义了具有内部状态IntV_FATIGUE的内部状态向量的要素动作模块A的动作结果对应的预测内部状态变化量,其中为该内部状态IntV_FATIGUE定义了外部刺激向量ExStml。
接下来,根据内部状态向量IntV计算如下面的公式(3)给出的满意水平向量S,以及根据由上面的公式(2)给出的预测内部状态变化向量确定如下面的公式(4)给出的预测满意水平变化向量:
S={S_NOURISHMENT,S_FATIGUE} ...(3)
其中S:满意水平向量
S_NOURISHMENT:内部状态“营养”的满意水平
S_FATIGUE:内部状态“疲劳”的满意水平
dS={
dS_NOURISHMENT,
dS_FATIGUE} ...(4)
其中
dS:预测满意水平向量
dS_NOURISHMENT:内部状态“营养”的满意水平的预测变化量
dS_FATIGUE:内部状态“疲劳”的满意水平的预测变化量
为了计算对于内部状态向量IntV的满意水平向量S,对于要素动作模块A中所定义的内部状态向量[IntV_NOURISHMENT,IntV_FATIGUE]的分量IntV_NOURISHMENT和IntV_FATIGUE分别可用由下面的公式(5-1)和(5-2)给出的函数:
Satisfaction(NOURISHEMNT)
Satisfaction(FATIGUE)
其中A到F:常数
图8和9以图形分别示出了公式(5-1)和(5-2)中所示的函数。图8示出了内部状态与满意水平之间的关系,其中沿着水平轴绘制了“营养”IntV_NOURISHMENT而沿着垂直轴绘制了满意水平S_NOURISHMENT。图9示出了沿着水平轴绘制的内部状态IntV_FATIGUE和沿着垂直轴绘制的内部状态“疲劳”的满意水平S_FATIGUE之间的关系。
在图8所示的函数中,内部状态“营养”的值IntV_NOURISHMENT取0到10的值而该内部状态的满意水平S_NOURISHMENT取0到1的值(所有值都是正的)。该函数绘制了这样的曲线L2,即满意水平在内部状态值处于0到80范围内的情况下从0开始变大,然后减少并且当内部状态值达到100时返回到0。更具体地,根据当前内部状态“营养”(IntV_NOURISHMENT=40)(在特定时刻)计算的满意水平S_NOURISHMENT和与如图7A中所确定的内部状态“营养”的预测内部状态变化量(从40到80的20)对应的预测满意水平变化量都是正的。
图8仅示出了函数L2,但是可以使用如图9所示的函数。即,在图9所示的函数中,内部状态“疲劳”的值IntV_FATIGUE取0到100的值而内部状态的满意水平S_FATIGUE取0到-1的值(所有值都是负的)。该函数绘制了这样的曲线L3,即内部状态越大,满意水平变得越低。根据当前内部状态“疲劳”的值计算的满意水平S_FATIGUE是负的。当如图7A中给出的内部状态“疲劳”的预测内部状态变化量是正的时,预测满意水平变化量将是负的。
通过将公式(5-1)和(5-2)中给出的函数中的常数A到F设置为可变的,可以设置为不同的内部状态提供不同的满意水平的函数。
通过用下面的公式(6)确定在实施动作之后外部刺激将使内部状态得到满意的程度,可以确定作为用于计算动作水平AL的另一元素的释放向量:
ReleasingVector=α·
ds+(1-α)(S+
dS) ...(6)
其中α:
dS/S比率
dS:预测满意水平变化向量
S+
dS:预测满意水平向量
这里请注意,将存在这样的趋势,即当公式(6)中的α项大时,释放向量很大地依赖于预测满意水平变化量,即在实施动作之后可以获得多高的满意水平,也就是说,指示满意水平增加的值,以及当α项小时,释放向量很大地依赖于预测满意水平,即指示在实施动作之后将获得的满意水平的值。
(2-3)动作水平AL的计算
最终根据如上计算的动机向量和释放向量如下面的公式(7)所给出那样计算动作水平AL:
ActivationLevel=βMoticationVector·(1-β)ReleasingVectorT ...(7)
其中β:动机/释放比率
这里请注意,存在这样的趋势,即当“β”大时动作水平AL很大地依赖于内部状态(本能水平)而当“β”小时很大地依赖于外部刺激(预测满意水平变化量和满意水平)。这样,根据内部状态值(内部状态向量IntV)和外部刺激值(外部刺激向量ExStml)计算本能水平、满意水平和预测满意水平,并可以基于这些本能水平、满意水平和预测满意水平计算动作水平AL。
然后,动作选择器130基于上面的动作水平AL选择动作。从而,即使动作选择器130被供给相同的外部刺激,它也将依赖于当前内部状态的值选择不同的动作。
(2-4)动作水平计算数据库
下面,将解释动作水平计算数据库121中的动作水平计算数据的结构以及如何参考该数据库。如上所述,动作水平计算数据用来确定响应于输入的外部刺激的预测内部状态变化量。在外部刺激向量空间中,对于为每个要素动作所定义的内部状态,定义了代表点(typical point)(外部刺激值)。在该代表点上定义了指示内部状态的可预测变化的预测内部状态变化量。当在所定义的外部刺激向量空间中输入的外部刺激取该代表点上的值时,预测内部状态变化量将取在该代表点上定义的值。
图10A和10B以图形图示了动作水平计算数据结构的结构示例。如图10A所示,为了确定内部状态“营养”的预测内部状态变化量,如下面的表1所示定义了外部刺激向量空间中的代表点(OBJECT_ID,OBJECT_SIZE)和与该代表点RN和RF对应的预测内部状态变化量:
表1
外部刺激向量(OBJECT_ID,OBJECT_SIZE) | 预测内部状态变化量IntV_NOURISHMENT |
(0,0.0) | 0.0 |
(0,100.0) | 10.0 |
(1,0.0) | 0.0 |
(1,100.0) | 20.0 |
(2,0.0) | 0.0 |
(2,100.0) | 30.0 |
如图10B所示,为了确定内部状态“疲劳”的预测内部状态变化量,如下面的表2所示定义了外部刺激向量空间中的代表点(OBJECT_DISTANCE)和相应于该代表点的预测内部状态变化量:
表2
外部刺激向量(OBJECT_DISTANCE) | 预测内部状态变化量IntV_FATIGUE |
(0.0) | 0.0 |
(100.0) | 20.0 |
由于如上在外部刺激向量空间中仅在代表点上定义了预测内部状态变化量,所以外部刺激向量空间中除了所定义的代表点外没有值将可能依赖于外部刺激的类型(例如,OBJECT_DISTANCE或OBJECT_SIZE)。在这种情况下,可以通过从输入的外部刺激附近的代表点线性插值来确定预测内部状态变化量。
图11和12解释了一维和二维外部刺激的线性插值。在如图10B所示在根据一个外部刺激(OBJECT_DISTANCE)确定预测内部状态变化量的情况下,即,在为一个内部状态定义了一个外部刺激的情况下,如图11所示沿着水平轴绘制外部刺激,沿着垂直轴绘制相应于该外部刺激的预测内部状态变化量,并且可以在指示在作为外部刺激(OBJECT_DISTANCE)参数的代表点D1和D2上所定义的预测内部状态变化量的直线L4上确定输入的外部刺激Dn的预测内部状态变化量In。
此外,在除了图11中所示的外部刺激OBJECT_DISTANCE外例如还定义了响应于内部状态作为输入提供的外部刺激OBJECT_WEIGHT作为如图12所示的来自两个分量的外部刺激的情况下,定义了作为每个外部刺激的预定参数的代表点(D1,W1)、(D1,W2)、(D2,W1)、和(D2,W2)。在存在相应于这些参数的预测内部状态变化量的情况下,当提供不同于上面的四个代表点的外部刺激Enm(Dn,Wn)作为输入时,首先确定当OBJECT_DISTANCE=D1时经过在外部刺激OBJECT_WEIGHT的代表点W1和W2上定义的预测内部状态变化量的直线L5,然后确定当OBJECT_DISTANCE=D2时经过在外部刺激OBJECT_WEIGHT的代表点W1和W2上定义的预测内部状态变化量的直线L6。然后,确定与两个输入外部刺激Enm中的一个,例如是Wn对应的在两条直线L5和L6上的预测内部状态变化量,并且确定连接这两个预测内部状态变化量的直线L7,并且沿着直线L7确定与作为输入提供的另一外部刺激Dn对应的预测内部状态变化量。这样,可以通过使用线性插值来确定相应于外部刺激Enm的预测内部状态变化量。
(2-5)动作水平的计算
将参考图13中所示的流程图描述在图5中所示的动作水平计算单元120中如何计算动作水平。
如图13所示,首先,当由图4中所示的外部刺激识别单元80识别出外部刺激时,将该外部刺激提供给动作水平计算单元120。这时,由外部刺激识别单元80被告知了外部刺激识别的内部状态管理器91例如将被提供来自内部状态管理器91的每个内部状态(在步骤S1中)。
接下来,根据每个所提供的内部状态,利用例如如上的前述函数(1)计算相应的本能水平,由此根据内部状态向量计算作为动机向量的本能水平向量IntV(在步骤S2中)。
此外,动作水平计算单元120利用前述公式(5-1)和(5-2)根据每个所提供的内部状态计算相应的满意水平,由此根据内部状态向量IntV计算满意水平向量S(在步骤S3中)。
另一方面,根据所提供的外部刺激(外部刺激向量)确定作为实施动作的结果可能发生的预测内部状态变化量(在步骤S4中)。使用与步骤S3相同的函数,确定相应于预测内部状态变化量的预测满意水平变化量(在步骤S5中),以及利用公式(6)根据如此获得的预测满意水平变化量和在步骤S3中已确定的满意水平向量来确定释放向量(在步骤S6中)。
最后,利用前述公式(7)根据步骤S2中所确定的动机向量和步骤S6中所确定的释放向量来计算动作水平A1。
请注意,在前面叙述中,解释了每次识别出外部刺激时进行步骤S1到S7的动作水平计算单元120中的动作水平AL的计算,但是例如其可以在预定的定时来完成。此外,当识别出外部刺激并且计算动作水平时,可以仅对于相应于所识别出的外部刺激的内部状态来计算本能水平和满意水平,或者可以对于所有内部状态计算本能水平和满意水平。
根据本发明,通过基于内部状态和外部刺激计算动作水平AL并且基于该动作水平AL选择动作,可以使得机器人装置作为娱乐型机器人向用户实施不令人厌倦(unwearying)的动作。
此外,由于视情况可能发生的噪声等而从传感器向动作水平计算单元120提供不同于代表点的外部刺激。即使在这种情况下,也可以通过利用线性插值计算预测内部状态变化量来与到代表点的距离成比例地更新的邻近代表点处的预测内部状态变化量,并且可以以较少的计算量确定预测内部状态变化量。
请注意,本发明并不局限于上面已经描述的实施例,而是当然可以在不背离所附权利要求中定义及陈述的范围和精神的条件下以各种方式进行修改。例如,可以提供一种用于更新前述动作水平计算数据库的学***计算数据中的内部状态变化向量来学习预测内部状态变化向量。
(3)动作水平计算数据库的学习
这里将描述如何从机器人装置实施动作之后的内部状态变化向量学***计算数据中的预测内部状态变化向量。用于学***计算数据库的学***计算数据库,以及依据学***计算数据的这种学习,需要教师信号(teacher signal)。例如,依赖于动作结果的实际内部状态变化量可以用作教师信号来学习响应于外部刺激而得到的预测内部状态变化量。
图14是示出从外部刺激的输入到活动水平计算数据库的学***计算数据库121计算动作水平AL,并且动作选择单元例如基于动作水平AL的值选择其动作水平AL最大的要素动作模块。所选择的要素动作模块提供输出动作并且机器人装置将实施该动作。
作为由机器人装置进行的动作实施的结果,图4中所示的内部状态管理器91改变其自身的内部状态。即,内部状态管理器91将相应于动作实施之后时间流逝或者相应于动作的结果来改变内部状态。更具体地,假定基于机器人装置中的电池的残余电势确定内部状态“营养”,以及内部状态“疲劳”取决于电力消耗,则电池的残余电势将由于动作实施而更低从而内部状态“营养”的水平也更低,而内部状态“疲劳”将与由动作实施所导致的电力消耗量成比例地更大。
作为实际动作实施的结果,机器人的内部状态发生变化,并且可以确定动作实施之后的内部状态的变化量。如图14所示,动作实施之后获得的内部状态变化向量dIntV将是教师信号,将由学***计算数据库121。
学***所必需的外部刺激取在代表点上的值的情况下,利用下面的公式(8)基于实际的内部状态变化量来更新在代表点上的预测内部状态变化量:
dIntV=(1-γ)
dIntV+γdIntV ...(8)
其中
dIntV:预测内部状态变化向量
dIntV:内部状态变化向量
γ.学习率(learning rate)
此外,在为计算某所选择的要素动作的动作水平所必需的外部刺激取不同于代表点上的值时,在该外部刺激附近的代表点上,即在用于线性插值的代表点上的预测内部状态变化量要学习得到。对于每个外部刺激,将公式(8)乘以外部刺激与到代表点的距离之间的比率以更新预测内部状态变化量。
图15和16分别是解释更新相应于一维外部刺激的预测内部状态变化量以及相应于二维外部刺激的预测内部状态变化量的示例的示意图。如图15所示,在提供外部刺激Dn作为输入并且该外部刺激Dn不在任何代表点上的情况下,如上所述那样对在外部刺激Dn附近的代表点D1和D2进行线性插值以确定在动作实施之前的预测内部状态变化量。然后,在动作实施之后,确定了实际的内部状态变化量(dIntV_Fatigue),从代表点D1和D2与外部刺激Dn之间的距离和学习率γ来学习在代表点D1和D2上的预测内部状态变化量,并且如下面的公式(9-1)和(9-2)所给出的那样更新在代表点D1和D2上的预测内部状态变化量:
其中r0+r1=1
其中r0:代表点D1和外部刺激Dn之间的距离对代表点D1和D2之间的距离的比率
r1:代表点D2和外部刺激Dn之间的距离对代表点D1和D2之间的距离的比率
dIntV_Fatigue:内部状态变化量
γ.学习率
此外,同样是在提供两个外部刺激作为输入的情况下,如下面的公式(10-1)、(10-2)、(10-3)、(10-4)给出的那样学习和更新如上用于在动作实施之前通过线性插值确定相应于外部刺激Enm(Dn,wn)的预测内部状态变化量Inm的、相应于在输入的外部刺激附近的代表点(D1,W1)、(D1,W2)、(D2,W1)、(D2,W2)的预测内部状态变化量:
其中
rd0+rd1=1
其中rd0:代表点W1和外部刺激Wn之间的距离对代表点W1和W2之间的距离的比率
rd1:代表点W2和外部刺激Wn之间的距离对代表点W1和W2之间的距离的比率
rw0+rw1=1
其中rw0:代表点D1和外部刺激Dn之间的距离对代表点D1和D2之间的距离的比率
rw1:代表点D2和外部刺激Dn之间的距离对代表点D1和D2之间的距离的比率
dIntV_Fatigue:内部状态变化量
γ.学习率
(4)学***计算数据库
接下来,将参考图17中的流程图解释相应于实施的动作由图14中所示的学***计算数据库。
首先,如图17中所示,基于由图4中所示的动作水平计算单元120计算的动作水平AL,由动作选择器130监视对于所有要素动作的动作水平计算结果,以便选择例如其动作水平AL最高的要素动作模块,由此由该要素动作模块输出动作(在步骤S8中)。
当实施动作时,机器人装置将使其电池残余电势改变,并且基于残余电势的变化量计算的内部状态将从在动作实施之前的内部状态而变化。此外,基于作为动作实施的结果的电力消耗计算的内部状态将从在动作实施之前的内部状态而变化。图4中所示的内部状态管理器91计算在动作实施之后内部状态的这样的变化量,并且将计算的变化量提供给学***计算数据库中的预测内部状态变化量计算如前述公式(9-1),(9-2)或(10-1)到(10-4)所给出的新预测内部状态变化量,并且更新动作水平计算数据库(在步骤S10中)。
通过提供学习部件以通过对预测内部状态变化量反馈实际的内部状态变化量来进行学习,可以将环境和用户的交互结果反映在动作的选择上。
(5)机器人装置中的控制***
接下来,将关于适合作为机器人装置的控制***的具体示例来详细描述用于计算动作水平AL和进行输出所选择动作的操作的动作选择控制***。图18是包括前述动作选择控制***100的控制***的示意性框图。通常以标号10表示控制***。作为本发明实施例的机器人装置1被设计成相应于外部刺激的识别结果和内部状态的变化量来控制动作。此外,机器人装置1包括长期存储的功能。通过在长期存储部件中与外部刺激相关联地存储内部状态的变化量,机器人装置1可以相应于外部刺激识别结果和内部状态的变化量来控制动作。
更具体地,相应于下述外部刺激以及内部状态计算动作水平AL以选择(产生)动作并且实施该动作,该外部刺激包括例如由处理从图2所示的相机15提供的图像产生的色彩信息、形状信息、面部信息等等,更具体地,色彩、形状、面部、普通3D物体、手势、运动、接触、嗅觉、味觉等等,该内部状态基于机器人装置的机体指示诸如本能、情绪等等的感情。
内部状态的本能要素是疲劳、发热或者温度、疼痛、食欲或者饥饿、口渴、关爱、好奇心、和***(elimination)或***中的至少一个。此外,感情要素包括快乐、悲伤、愤怒、惊奇、厌恶、恐惧、受挫(frustration)、厌倦(boredom)、困倦(somnolence)、社交性(gregariousness)、忍耐(patience)、紧张(tense)、放松(relaxed)、警戒、内疚(guilt)、敌意(spite)、忠诚(loyalty)、服从和嫉妒。
图示的控制***10中可以采用面向对象的程序设计以安装在机器人装置中。在这种情况下,每个程序是集成了数据和用于处理数据的过程的对象(object)该对象是“模块单元”。此外,可以通过使用消息通信和共享存储器的对象间通信方法在对象之间传送和调用(invoke)数据。
为了识别环境70,动作控制***10包括图4中的作为包括视觉识别单元81、听觉识别单元82、触觉识别单元83等的功能模块的外部刺激识别单元80。
视觉识别单元81基于经由诸如例如CCD(Charge-Coupled Device,电荷耦合装置)相机的图像输入装置提供的捕获图像而识别诸如面部、色彩等的图像并且提取图像的特征。
此外,听觉识别单元82识别经由诸如麦克风等的声音输入装置提供的语音数据以提取语音特征并且识别单词单元(文本)。
此外,触觉识别单元83从例如包括在机器人装置的头部单元中的触觉传感器识别传感器信号,以识别诸如“轻拍”或“打击”的外部刺激。
内部状态管理器(Internal-State Manager,ISM)91通过对几种类型的感情数学建模管理这几种类型的感情诸如本能和情绪。其相应于由前述视觉识别单元81、听觉识别单元82、触觉识别单元83识别的外部刺激(external stimuli,ES)管理诸如机器人装置1的本能和感情的内部状态。
分别为情绪模型和本能模型(情绪/本能模型)每个都提供了识别结果和动作记录以管理情绪和本能水平。动作模型可以参考这些情绪和本能水平。
此外,对于相应于外部刺激识别的结果和内部状态的变化量的动作控制,动作控制***10包括用于存储那些当时间过去较短的时间就将丢失的信息的短期存储器(Short-Term Memory,STM)92和用于存储相对长期的信息的长期存储器(Long-Term Memory,LTM)93。将信息存储机制分为短期存储和长期存储是以神经心理学(neuropsychology)为基础的。
短期存储器92是用于短期内保持环境中由前述视觉识别单元81、听觉识别单元82、触觉识别单元83识别出的目标和事件的功能模块。例如,STM92将来自图2中所示的相机15的输入图像保存短至约15秒的时间段。
长期存储器93用于保持通过学习获得的信息,诸如物体的名称。长期存储器93可以存储例如相互关联的在特定动作记述模块中的外部刺激和内部状态变化量。
此外,通常将对机器人装置1的动作控制施加到由反射状况依存行为层(reflexive situated behaviors layer)103实施的“反射状况依存行为”、由状况依存行为层(Situated Behaviors Layer,SBL)102实施的“状况依存行为”、由熟虑行为层(deliberative behaviors layer)101实施的“熟虑行为”。
反射状况依存行为层103是用于响应于由视觉识别单元81、听觉识别单元82或触觉识别单元83识别出的外部刺激实施反射状况依存行为的功能模块。“反射状况依存行为”基本上是这样的,即,直接接收、分类从传感器提供的外部信息的识别结果,并且直接确定输出动作。例如,诸如寻找人类面部、点头等的行为应该优选地设置为反射状况依存行为。
状况依存行为层102基于短期和长期存储器92和93中的内容和由内部状态管理器91管理的内部状态直接响应于机器人装置1的当前状况来控制动作。
状况依存行为层102中具有为每个动作(要素动作)准备的状态机,并且其基于先前动作和状况对从传感器提供的外部信息的识别结果进行分类,并且实施机器人装置1的动作。此外,状况依存行为层102实施将内部状态保持在特定范围内的动作(也称作“动态平衡(homeostasis)行为”)。在内部状态超过指定范围的情况下,状况依存行为层102将激活该动作从而可以容易地实施用于将内部状态返回到指定范围内的动作(实际上,在既考虑内部状态也考虑外部刺激的情况下选择动作)。状况依存行为比反射状况依存行为反应慢得多。状况依存行为层102相应于图4中所示的动作选择控制***100中的要素动作模块132、动作水平计算单元120、动作选择器130。其如先前所描述的那样根据内部状态和外部刺激计算动作水平AL以基于计算的动作水平AL输出动作。
熟虑行为层101基于短期和长期存储器92和93中的内容为机器人装置1准备相对长期的动作计划。“熟虑行为”是根据来自用户的指令或者给定状况通过推论(deduce)或者计划而完成的行为。例如,根据机器人装置的当前位置和目标位置来搜索路径是熟虑行为。由于该推论或者计划可能需要较长处理时间和较大计算负载以及机器人保持交互的反应时间(简而言之,它们需要较长的处理时间),因而反射状况依存行为层和状况依存行为层以实时为基础重复反应,而熟虑行为层进行推论或计划。
熟虑行为层101、状况依存行为层(SBL)102、和反射依存行为层102可以称为独立于机器人装置1的硬件的上级(superordinate)应用程序。另一方面,配置依赖型动作和反应单元(configuration-dependent actions and reactions)104根据这样的上级应用程序,即来自动作记述模块(计划)的指令直接控制机器人装置1的硬件(环境)诸如关节致动器(joint actuator)。利用该配置,机器人装置1可以基于控制程序判断其内部状态和周围环境并且响应于用户的指令或者在机器人装置1上的动作而自主行动。
接下来,将参考图19详细描述动作控制***10,图19是示出了作为本发明实施例的动作控制***10的对象的示意图。
如图19所示,视觉识别单元81包括三个对象,即,面部检测器114、多种色彩***(multi-color tracker)、面部鉴别(identify)单元115。
面部检测器114是用于检测图像帧中的面部区域并且提供检测结果给面部鉴别单元115的对象。多种色彩***113是用于识别色彩并且提供识别结果给面部鉴别单元115和短期存储器(STM)92的对象。面部鉴别单元115通过检索手头的(on-hand)个人目录(person dictionary)来寻找该人的面部图像来鉴别该人是谁,并且将关于该人的ID信息连同关于面部图像区域的位置和大小的信息一起输出到STM92。
听觉识别单元82包括两个对象,“听觉识别(Audio Recog)”单元111和“语音识别(Speech Recog)”单元112。“听觉识别”单元111是被供以来自声音输入单元诸如麦克风的语音数据、提取特征并检测语音部分的对象。其将语音部分中的语音数据的特征和声源的方向提供给“语音识别”单元112和STM92。“语音识别”单元112是基于从“听觉识别”单元111提供的语音特征、语音词典、和语法词典来进行语音识别的对象。其将一组识别出的单词提供给STM92。
触觉识别单元83由触觉传感器119组成作为用于识别来自触觉传感器的传感器输入的对象。其将识别结果提供给STM92和作为管理内部状态的对象的内部状态模型(Internal-State Model,ISM)91。
STM92是包含在短期存储器中的对象,其也是一个功能模块,用于在短期内保持由每个识别对象从环境中识别出的目标或事件(即,例如,其将来自相机15的输入图像保持约15秒的较短期间)。STM92周期性地通知作为外部刺激的STM客户端(client)的SBL102。
LTM93是包括在长期存储器中的对象,用于在长期内保持通过学习获得的信息,诸如对象的名字。LTM93可以存储例如动作记述模块(计划)中互相关联的外部刺激和内部状态变化量。
ISM91是包括在内部状态管理器中的对象。其管理在数学模型中形成的几类感情诸如本能和情绪。更具体地,其相应于由每个识别对象识别出的外部刺激ES来管理机器人装置1的内部状态诸如本能和感情。
SBL102是包括在状态依存行为层中的对象。SBL102也是作为STM92的客户端(STM客户端)的对象。基于来自STM92的关于外部刺激(目标和事件)的信息的周期性通知,SBL 102确定即待执行的计划,即动作记述模型(稍后将详细描述)。
反射SBL(反射状态依存行为层)103是包括在反射状态依存行为层中的对象。其响应于由每个前述识别对象识别出的外部刺激来实现反射的或直接的机器人行动。例如,其进行诸如寻找人类面部、点头或者障碍物检测以迅速避开障碍的行为。
SBL102选择相应于诸如外部刺激或者内部状态的状况的行动。另一方面,反射SBL103选择响应于外部刺激的反射行动。由于这些对象的每个彼此独立地选择动作,所以在其使机器人装置1执行所选择的动作记述模块(计划)的情况下,机器人装置1的硬件资源与它们的冲突(conflict)根据具体情况而定将可能使得其不可能进行这样的动作选择。RM(Resource Manager,资源管理器)116作为对象裁决(arbitrate)在SBL102和反射SBL103进行动作选择期间的硬件冲突。将裁决的结果通知那些基于裁决结果完成机器人行动的每个模块,从而可使机器人开始动作。
还提供了声音执行器(sound performer)172、行动控制器173、LED控制器174,这些都是完成机器人行动的对象。声音执行器172是输出语音或声音的对象。其相应于经由RM116从SBL102提供的文本或者命令合成声音并且在机器人身体中的扬声器处传送声音。行动控制器173是操作机器人身体的每个关节致动器的对象。响应于经由RM116从RML102提供的用于移动手、腿等的命令,行动控制器173计算需要考虑的关节的角度。LED控制器174是使LED闪烁的对象。响应于经由RM116从SBL102接收的命令,LED控制器174控制LED19闪烁。
(5-1)控制状况依存行为
前面曾经描述过用于计算动作水平AL以选择待实施的动作的状况依存行为层,但是下面将对其进行更详细地描述。图20是由状况依存行为层(SBL)(但是其包括反射状况依存行为层)进行的状况依存行为控制的示意图。将包括视觉识别单元81、听觉识别单元82、和触觉识别单元83的外部刺激识别单元80对环境70的识别结果(传感器信息182)作为外部刺激183提供给状况依存行为层(包括反射状况依存行为层103)102a。将与外部刺激识别单元80对环境70的识别结果对应的内部状态变化量184也提供给状况依存行为层102a。状况依存行为层102a可以基于外部刺激183和内部状态变化量184判断状况以选择动作。状况依存行为层102a如上基于外部刺激183和内部状态变化量184计算每个动作记述模块(计划)的动作水平AL以便相应于动作水平AL的量选择计划,并且实施动作(行动)。对于动作水平AL的计算,例如可以通过使用库(library)对所有计划进行统一计算。该库保存了用于根据内部状态向量计算本能向量的函数、用于根据内部状态向量计算满意水平向量的函数、用于根据外部刺激对预测内部状态变化向量进行预测的动作评估数据库。
(5-2)计划
图21示意性地图示了由多个计划132组成的状况依存行为层102。状况依存行为层102具有作为前述的要素动作的动作记述模块、具有为每个动作记述模块准备的状态机、基于先前的动作(行动)和状况对从每个传感器提供的外部信息的识别结果进行分类、从而使机器人做出行动。将作为要素动作的动作记述模块称为计划132,该计划132具有用于基于外部刺激和内部状态判断状况的“监视(Monitor)”函数和用于伴随动作的实施来实现状态机的“动作(Action)”函数。
提供了状况依存行为层102b(严格地说,包括在状况依存行为层102中用于控制普通状况依存行为的层),其由以树型结构形式分级地彼此连接的多个计划132组成。其基于外部刺激和内部状态全面地判断最优计划132以控制动作。树131包括由通过对行为性(ethological)状况依存行为进行数学建模得到的动作模型形成的子树、用于表达情绪的子树等等的多个子树(分支)。
图22示意性地图示了状况依存行为层102中的计划的树型配置。如图所示,状况依存行为层102以从抽象动作种类向具体动作种类的方向在每层中布置了计划。关于计划,将从短期存储器92被通知以外部刺激的根(root)计划2011、2021、2031布置在第一层。例如,在直接在根计划下面的层中,分别布置了用于“调查(Investigate)”、“摄取(Ingestive)”、“表演(Play)”的计划2012、2022、2032。此外,在“调查”计划2012下面,布置了用于“调查性腿式移动(Investigative Locomotion)”、“头在空气中嗅(Head in Air Sniffing)”、“调查性嗅”的多个计划2013,每个中都记述了更具体的调查性动作。类似地,在“摄取”计划2022下面,布置了用于“吃”和“饮”的多个计划2023,每个中都记述了更具体的摄取动作。同样,在“表演”计划2032下面,布置了用于“表演鞠躬”、“表演欢迎”、“表演抓(paw)”的多个计划2033,每个都具有更具体的表演动作。
如图所示,为每个计划提供了外部刺激183和内部状态(变化量)184。此外,每个计划至少具有“监视”函数和“动作”函数。
“监视”函数用于基于外部刺激183和内部状态184计算考虑中的计划的动作水平。每个计划具有作为动作水平计算部件的“监视”函数。在图22所示的树型配置中,上级(父母)计划可以以外部刺激183和内部状态184作为参数调用下级(子女)计划的“监视”函数,并且子女计划以动作水平AL作为返回值。此外,为了计算其自身的动作水平AL,计划可以调用子女计划的“监视”函数。由于从每个子树返回动作水平AL到每个根计划,所以根计划可以对于外部刺激和内部状态变化全面地判断最优的计划,即,动作。这里请注意,每个计划的动作水平当然可以由资源管理器(RM)116和单独提供的动作选择器来观察,稍后将对其详细描述,并且可以基于每个动作水平AL的值来选择动作。
动作选择可以适于选择例如其动作水平AL最高的计划,或者选择其动作水平AL高于预定阈值的多于两个的计划以并行执行(但是,在这种情况下,就计划之间的硬件资源而言应该没有冲突)。
“动作”函数具有状态机,其中记述了计划自身具有的动作。在图22所示的树型配置中,父母计划可以调用“动作”计划并且启动或者中断子女计划的运行。在本实施例中,“动作”函数的状态机在其准备好之前不会被初始化。换言之,即使在中断计划运行时,也不会重置该状态。由于计划在运行期间保存收集的工作数据,所以其可以被实现并中断。
图23示意性地图示了状况依存行为层102中用于控制普通状况依存行为的机制。
如图23所示,从短期存储器(STM)92通知状况依存行为层102外部刺激183,同时从内部状态管理器91提供内部状态改变184给状况依存行为层102。状况依存行为层102包括多个子树,诸如由对行为性状况依存行为进行数学化形成的动作模型、用于表达感情的子树等等。响应于外部刺激183的通知,根计划调用每个子树的“监视”函数、通过参考作为返回值的动作水平AL全面地做出动作选择、并且调用实施所选择的动作的子树的“动作”函数。此外,在由资源管理器(RM)116对状况依存行为与反射状况依存行为层103中的反射状况依存行为之间的冲突做出裁决之后,将状况依存行为层102中所确定的状况依存行为施加给行动控制器。
而且,反射状况依存行为层103响应于由每个识别对象识别出的外部刺激183进行反射或直接行动控制,例如通过障碍检测来迅速避开障碍。这样,与图22中所示的用于控制普通状况依存行为的计划的布置不同,直接从每个识别对象被供以信号的多个计划133不是如图21所示那样分级地布置而是被彼此平行地布置。
图24示意性地图示了反射状况依存行为层103中计划的配置。如图所示,反射状况依存行为层103中平行地布置了响应于听觉***识别结果可操作的计划“避开大声音(Avoid Big Sound)”204、“面对大声音(Face to Big Sound)”205、和“对声音点头(Nodding sound)”209,响应于视觉***识别结果可操作的计划“面对移动物体(Face to Moving object)”206和“避开移动物体(AvoidMoving object)”207,以及响应于触觉***识别结果可操作的计划“把手放到后面(Putting Back Hands)”208。
如图所示,为做出反射行为的每个计划提供了外部刺激183。每个计划至少具有“监视”函数和“动作”函数。“监视”函数用于相应于外部刺激183计算计划的动作水平AL以判断是否要做出相应于所计算出的动作水平AL的反射状况依存行为。“动作”函数具有状态机(稍后将详细描述),其中记述了该计划自身具有的反射状况依存行为。当被调用时,“动作”函数将实施反射状况依存行为并且改变“动作”状态。
图25示意性地图示了反射状况依存行为层103中用于控制反射状况依存行为层的机制。如图24所示那样,反射状况依存行为层103其中平行地布置了记述反应(reactive)行为的计划和记述瞬时响应行为(instantaneous responsivebehavior)的计划。当被提供了来自包括在识别模块80中的每个对象的识别结果时,相应的反射状况依存行为计划将通过“动作”函数计算动作水平AL,并且判断是否应该启动相应于该AL值的考虑中的动作。在由资源管理器(RM)116对反射状况依存行为与状况依存行为层102中的状况依存行为之间的硬件资源冲突做出裁决之后,将由反射状况依存行为层103确定启动的反射状况依存行为施加给行动控制器(MC)173。
包括在状况依存行为层102和反射状况依存行为层103中的计划可以记述为在“C++”语言中表述的“类对象”。图26示意性地图示了状况依存行为层102中所使用的计划的类定义。图26中所示的每个块等价于一个类对象。
如图所示,状况依存行为层(SBL)102包括多于一个计划,用于给SBL102的输入和输出事件分配ID的事件数据处理器(Event Data Handler,EDH)211、用于管理SBL102中的计划的计划处理器(Schema Handler)212、用于从外部对象(STM、LTM、RM、每个识别对象等等)接收数据的多于一个的接收数据处理器(Receive Data Handler,RDH)213、和用于发送数据到外部对象的多于一个的发送数据处理器(Send Data Handler,SDH)214。
计划处理器212将诸如包括在状况依存行为层(SBL)102和反射状况依存行为层103中的计划、树型配置等信息存储为文件。例如,在初始启动***之后,计划处理器212读取配置信息文件以重构如图22所示的状况依存性为层102中的计划配置并且将每个计划实体映射在存储空间中。
每个计划包括作为计划的基放置的OpenR_Guest 215。OpenR_Guest 215作为类对象包括多于一个的Dsubject 216和多于一个的DObject 217,通过Dsubject 216该计划发送数据到外部,而通过DObject 217计划从外部接收数据。例如,当计划发送数据到SBL102的外部对象(STM、LTM、每个识别对象等等)时,Dsubject 216将发送数据写入发送数据处理器214中。此外,DObject 217可以从接收数据处理器213读取从SBL102的外部对象接收的数据。
还提供了计划管理器218和计划基(Schema Base)219。它们都是继承OpenR_Guest 215的类对象。“类继承”是继承原始类的定义。在这种情况下,其指的是计划管理器218和计划基219也包括在OpenR_Guest 215中定义的诸如Dsubject 216、DObject 217等的类对象(这对后面的也同样适用)。例如,在如图22所示的多个计划的树型配置中,计划管理器218具有类对象“计划列表(Schema List)”220,其管理子女计划的列表(即,其具有指向子女计划的指针)从而可以调用子女计划的函数。此外,计划基219具有指向父母计划的指针,从而可以从父母计划返回所调用函数的返回值。
计划基219具有两个类对象,即,状态机221和代替(Pronome)222。状态机221管理有关计划动作(“动作”函数)的状态机。父母计划可以选择子女计划的“动作”函数的状态机(改变状态)。代替222替换对于其执行了考虑中的计划或者施加了动作的目标(“动作”函数)。如稍后将描述的,该计划被代替222中放置的目标占据并且在动作(或行动)完成(成功或不成功)之前将不会释放。为了对于新目标执行同样的动作,在存储空间中产生了以相同的类定义的计划。作为结果,可以为每个目标独立执行同样的计划(而在个体计划的工作数据之间没有干扰),并且将可以保证稍后将描述的动作的可重用性(re-entrability)。
还提供了父母计划基223。这是继承了计划管理器218和计划基219两者的类对象。在计划的树型配置中,父母计划基223管理每个作为父母计划的计划自身和子女计划之间的关系,即计划之间的父母-子女关系。
还提供了中间父母计划基(Intermediate Parent Schema Base)224。其是继承父母计划基223的类对象,并且实现每个类的接口转换。此外,中间父母计划基224具有计划状态信息(Schema Status Info)225。计划状态信息225是用于管理计划自身的状态机的类对象。父母计划可以通过调用子女计划的“动作”函数而选择状态机的状态。此外,父母计划可以调用子女计划的“监视”函数并且询问相应于状态机的正常状态的动作AL。但是,应该注意,计划的状态机与前述“动作”函数的状态机不同。
还提供了和父母计划(And Parent Schema)226、Num或父母计划(Num OrParent Schema)227和或父母计划(Or Parent Schema)228。它们是继承中间父母计划基224的类对象。And Parent Schema 226具有指向要同时执行的多个子女计划的指针。Or Parent Schema 228具有指向要选择性执行的多个子女计划的指针。此外,Num Or Parent Schema 227具有指向其中预定部分要同时执行的多个子女计划的指针。
还提供了父母计划(Parent Schema)229,其是继承了上面所有的AndParent Schema 226、Num Or Parent Schema 227、和Or Parent Schema 228的类对象。
图27示意性地图示了状况依存行为层(SBL)102中的类的函数。状况依存行为层(SBL)102包括用于从STM、LTM、诸如每个识别对象的外部对象接收数据的多于一个的接收数据处理器(RDH)213以及用于发送数据到外部对象的多于一个的发送数据处理器(SDH)214。
事件数据处理器(EDH)211是用于为SBL102的输入或输出事件分配ID的类对象。从RDH213和SDH214向其通知输入或输出事件。
计划处理器212是用于管理计划的类对象。其将关于包括在SBL102中的计划的配置的信息存储为文件。例如,在***初始启动之后,计划处理器212读取配置信息文件以重构状况依存行为层(SBL)102中的计划配置。
每个计划都根据图26中所示的类定义产生并且其实体被映射在存储空间中。每个计划以OpenR_Guest 215作为基类对象,并且具有诸如DSubject216、DObject 217等用于访问外部数据的类对象。
下面类出了计划具有的主要函数和状态机。在计划基219中声明了下面的函数。
Activation Monitor():
当准备好时激活计划的执行函数
Actions():
用于在激活时执行动作的状态机
Goal():
用于当激活时评估计划是否达到了目的的函数
Fail():
用于当激活时判断计划是否失败的函数
Sleep Actions():
在处于睡眠之前要执行的状态机
Sleep Monitor():
当处于睡眠时恢复动作的执行函数
Resume Actions():
在恢复之前要恢复动作的状态机
Destroy Monitor():
用于在睡眠时判断计划是否失败的执行函数
Make Pronome():
用于确定作为整体的树的目标的函数
(5-3)状况依存行为层的函数
状况依存行为层(SBL)102基于短期和长期存储器92和93的内容以及由内部状态管理器91管理的内部状态控制符合机器人装置1的当前状况的动作。
如(5-2)中已描述的,本实施例中的状况依存行为层102由计划树组成(参见图22)。计划知道它们的自己的父母和子女并且彼此独立。因为该计划树型配置,状况依存行为层102具有下述主要特征:并发评估(concurrentevaluation)、并发执行(concurrent performance)、抢占(preemption)和可重用性(re-entrability)。下面将解释这些特征的每个。
(5-3-1)并发评估
如前面曾提到的,作为动作记述模块的计划具有用于基于外部刺激和内部状态变化量判断状况的“监视”函数。安装了“监视”函数,这是因为在类对象计划基中计划具有“监视”函数。“监视”函数用于基于外部刺激和内部状态计算计划自身的动作水平AL。
在图22所示的树型配置中,上级(父母)计划可以以外部刺激和内部状态变化量作为参数调用其下级(子女)计划的“监视”函数,而子女计划以动作水平AL作为返回值。同样,计划可以调用其子女计划的“监视函数”以便计算其自身的动作水平AL。由于将动作水平AL从每个子树返回到路线上的计划2011到2031,所以可以相应于外部刺激183和内部状态变化量184全面地判断最优计划,即动作。
由于上述树型配置,在从树型配置的底部向顶部的方向上并发地基于外部刺激183和内部状态变化量184来评估计划。更具体地,在计划具有子女计划的情况下,其将首先调用其子女计划中被选择一个的“监视”函数,然后执行其自己的“监视”函数。接着,该计划将从树型函数的顶部向底部的方向传递作为评估结果的执行许可(performance permission)。当解决了该操作中使用的资源之间的冲突时实现该评估和执行。
本实施例中的状况依存行为层102可适应于诸如外部刺激183和内部状态变化量184的状况,这是因为可以使用计划的树型配置来评估动作。此外,由于在评估期间可以评估整个树型配置并且基于在该评估中计算的动作水平AL改变该树,所以可以优先考虑待执行的计划即动作。
(5-3-2)并发执行
由于将动作水平AL从每个子树返回到路线上的计划,所以可以以综合的方式相应于外部刺激183和内部状态变化量184判断最优计划,即动作。例如,可选择其动作水平AL最高的计划,或者可以选择其动作水平AL高于预定阈值的多于两个的计划以并行执行(但是,在这种情况下,就计划之间的硬件资源而言应该没有冲突)。
执行如此选择并且被给予执行许可的计划。即,该计划更详细地观察外部刺激183和内部状态变化量184并且执行命令。接连地,即以从树型配置的顶部向底部的方向并发地执行计划。即,在计划具有子女计划的情况下,执行子女计划的“动作”函数。
“动作”函数具有其中记述了计划自身的动作(行动)的状态机。在图22所示的树型配置中,父母计划可以调用“动作”函数以启动或者中止(abort)其子女计划的执行。
由于该计划树,在资源之间不存在冲突的情况下,本实施例中的状况依存行为层(SBL)102可以执行使用过多资源的另一计划。但是,应该注意,除非限制了被使用达到目标的资源,否则不一致的动作将有可能发生。在资源管理器对状况依存行为与由反射状况依存行为层(反射SBL)103进行的反射状况依存行为之间的硬件资源冲突进行裁决之后,状况依存行为层102中所确定的状况依存行为被施加到行动控制器。
(5-3-3)抢占(preemption)
如果存在比曾经执行的计划更重要(具有更高的优先权)的计划,则必须中止后者的计划并且必须将执行权传递给更重要的计划。此外,当已经完成了(成功地或不成功地)更重要的计划时,同样有必要恢复(resume)初始计划以继续执行。
根据计划的优先权执行计划类似于计算机的操作***(OS)的所谓“抢占”的函数。在操作***中,在考虑任务调度的情况下按时间顺序执行具有较高优先权的任务。
另一方面,由于根据本实施例的机器人装置1的控制***10覆盖了多个对象,所以在这些对象之间进行了裁决。例如,作为用于控制反射状况依存行为的对象的反射状况依存行为层103必须避开障碍或者获得平衡而丝毫不考虑作为用于控制上级状况依存行为的对象的状况依存行为层102的行为评估。实际上,反射状况依存行为层103剥夺了状况依存行为层102的执行权以执行反射状况依存行为。在被告知该剥夺的条件下,上级动作记述模块(SBL)将通过处理该剥夺而保持抢占能力。
这里假定在状况依存行为层102中,作为基于外部刺激183和内部状态变化184做出的动作水平AL的评估结果,将执行许可赋予了一个计划。此外假定作为基于后续外部刺激183和内部状态变化184做出的动作水平AL的评估结果,另一计划变为具有更高的重要性。在这种情况下,通过利用正被执行的计划的“动作”函数选择睡眠状态以中止该计划而选择另一抢占动作。
保存正被执行的计划的“Actions()”状态而执行另一计划的“Actions()”。此外,在另一计划的“Actions()”完成之后,可以再执行被中止了的计划的“Actions()”。
此外,在执行权传递到另一计划之前,中止正被执行的计划的“Actions()”并且执行“SleepActions()”。例如,当在交互期间发现一个足球时,机器人装置1可以通过说“等一会”而玩足球。
(5-3-4)可重用性
包括在状况依存行为层102中的每个计划是一种和协相处例程(rubroutine)。当从多个父母调用时,计划具有用于父母存储其内部状态的存储空间。
可重用性类似于计算机领域,即OS(操作***)中的可重用性。在本文中将称其为“计划可重用性”。如图27所示,计划由类对象组成,并且通过生成用于每个目标(Pronome)的类对象的实体,即实例来实现可重用性。
下面将参考图28描述该计划可重用性。计划处理器212是用于管理计划的类对象。其将关于包括在SBL102中的计划配置的信息存储为文件。在***启动时,计划处理器212读取配置信息文件以重构SBL102中计划的树型配置。在图28所示的示例中,指定诸如“吃”221、“对话(Dialog)”222等的动作的计划的实体被映射在存储空间中。
这里假定作为基于外部刺激183和内部状态变化量184做出的动作水平AL的评估结果,为计划“对话”222设置了目标“A”(Pronome)并且“对话”222要与个人A进行交谈。
还假定在这种情况下,个人B打断了机器人装置1和个人A之间的交谈并且作为基于外部刺激183和内部状态变化量184做出的动作水平AL的评估结果,给予与个人B交谈的计划223更高的优先权。
在这种情况下,计划处理器212将继承了与个人B交谈的类的另一对话实体(实例)映射在存储空间中。由于通过使用另一对话实体并且与初始对话实体独立进行与个人B的交谈,所以将不会打断与个人A的交谈。因而,对话A可以保持数据一致性。在完成与个人B的交谈之后,可以在断点处开始继续与个人A的交谈。
就绪列表(Ready list)中的计划相应于其对象(外部刺激183)而被评估,即,计算计划的动作水平AL,并将执行权传递给该计划。这之后,产生已移动到就绪列表中的计划的实例,并且评估其它对象。这样,可以使同样的计划进入活动或者睡眠状态。
如上所述,实现前述控制***的控制程序预先存储在闪存ROM23中,并且在将电源连接到机器人装置1之后的初始期间被读取。这样,机器人装置1可以响应于其自身的内部状态、周围环境、来自用户的指令或者用户在机器人装置1上的动作而自主动作。
在前文中,参考附图关于本发明的某些作为示例的优选实施例详细描述了本发明。但是,本领域普通技术人员应该理解,本发明并不局限于这些实施例而是可以在不背离所附权利要求中阐述和定义的范围和精神的条件下以各种方式进行修改、替换性构建或者以各种其它形式实施。
工业实用性
如前文中已描述的,响应于自身的内部状态和外部刺激自主选择动作并且实施所选择动作的机器人装置1包括:其中记述了动作的多个动作记述模块;动作水平计算部件,用于基于内部状态和外部刺激计算记述在多个动作记述模块中的每个动作的动作水平;和动作选择部件,用于基于计算的动作水平选择动作记述模块并且实施记述在该动作记述模块中的动作。每个动作记述模块中所记述的动作与预定的内部状态和外部刺激相关联。动作水平计算部件基于与内部状态相关联的动作的本能和该内部状态来确定满意水平,并且基于根据本能水平确定的预测满意水平变化量计算每个动作的动作水平,其中本能水平由当前内部状态和被预测为基于当前内部状态和所提供的外部刺激变化的预测内部状态得到。从而,由于通过根据内部状态确定待实施的动作的本能水平、和以基于当前内部状态的满意水平为基础确定实施该动作后预测的变化量、根据这些数据计算动作水平并且选择动作而响应于相同的外部刺激和内部状态选择了不同的动作,所以机器人装置可以响应于内部状态(其响应于环境和与用户的交流而变化)对各种用户实施不令人厌倦的动作。
Claims (11)
1.一种基于其自身的内部状态和外部刺激自主选择并实施动作的机器人装置,所述机器人装置包括:
多个动作记述模块,每个中都记述了动作;
动作水平计算部件,用于根据内部状态和外部刺激计算该多个动作记述模块中所记述的每个动作的动作水平;以及
动作选择部件,用于基于所计算的动作水平选择动作记述模块之一并且做出所选择的动作记述模块中所记述的动作,
每个动作记述模块中所记述的动作与预定的内部状态和外部刺激相关联;以及
所述动作水平计算部件基于内部状态确定满意水平和与内部状态相关联的动作的本能水平,并且基于根据当前内部状态确定的本能水平和根据预计将基于当前内部状态和输入的外部刺激而变化的内部状态确定的预测满意水平的变化量来计算每个动作的动作水平。
2.根据权利要求1所述的装置,其中,所述动作水平计算部件根据由当前内部状态确定的本能水平、由当前内部状态确定的满意水平和预测满意水平变化量来计算每个动作的动作水平。
3.根据权利要求1所述的装置,其中,所述动作水平计算部件具有其中有输入的外部刺激和预测内部状态变化量的动作水平计算数据库,以便参考该动作水平计算数据库而计算动作水平。
4.根据权利要求3所述的装置,其中,所述动作水平计算数据库具有与外部刺激的值相关联的预测内部状态变化量。
5.根据权利要求4所述的装置,其中,在提供了不在所述动作水平计算数据库中的值时,所述动作水平计算部件通过使用线性模型的线性插值来计算预测内部状态变化量。
6.一种用在机器人装置中以控制该机器人装置基于其自身的内部状态和外部刺激自主选择并实施动作的机器人动作控制方法,所述方法包括:
动作水平计算步骤,用于根据内部状态和外部刺激计算多个动作记述模块中所记述的每个动作的动作水平;以及
动作选择步骤,用于基于所计算的动作水平选择动作记述模块之一并且做出所选择的动作记述模块中所记述的动作,
每个动作记述模块中所记述的动作与预定的内部状态和外部刺激相关联;以及
在所述动作水平计算步骤中,基于内部状态确定满意水平和与内部状态相关联的动作的本能水平,并且根据从当前内部状态确定的本能水平和从预计将基于当前内部状态和输入的外部刺激而变化的内部状态确定的预测满意水平的变化量来计算每个动作的动作水平。
7.根据权利要求6所述的方法,其中,在所述动作水平计算步骤中,根据由当前内部状态确定的本能水平、由当前内部状态确定的满意水平和预测满意水平变化量计算每个动作的动作水平。
8.根据权利要求6所述的方法,其中,在所述动作水平计算步骤中,参考其中输入的外部刺激和预测内部状态变化量互相关联的动作水平计算数据库来计算动作水平。
9.根据权利要求8所述的方法,其中,所述动作水平计算数据库具有与外部刺激的值相关联的预测内部状态变化量。
10.根据权利要求9所述的方法,其中,在提供了不在所述动作水平计算数据库中的值时,在所述动作水平计算步骤中通过使用线性模型的线性插值来计算预测内部状态变化量。
11.一种用于使计算机控制机器人装置来基于其自身的内部状态和外部刺激自主选择并实施动作的程序,所述程序包括:
动作水平计算步骤,用于根据内部状态和外部刺激计算多个动作记述模块中所记述的每个动作的动作水平;以及
动作选择步骤,用于基于所计算的动作水平选择动作记述模块之一并且做出所选择的动作记述模块中所记述的动作,
每个动作记述模块中所记述的动作与预定的内部状态和外部刺激相关联;以及
在所述动作水平计算步骤中,基于内部状态确定满意水平和与内部状态相关联的动作的本能水平,并且根据由当前内部状态确定的本能水平和由预计将基于当前内部状态和输入的外部刺激而变化的内部状态确定的预测满意水平的变化量来计算每个动作的动作水平。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003065587A JP2004268235A (ja) | 2003-03-11 | 2003-03-11 | ロボット装置、その行動制御方法及びプログラム |
JP065587/2003 | 2003-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1758991A true CN1758991A (zh) | 2006-04-12 |
CN100364731C CN100364731C (zh) | 2008-01-30 |
Family
ID=32984500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800065833A Expired - Fee Related CN100364731C (zh) | 2003-03-11 | 2004-03-09 | 机器人装置、其行为控制方法及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7853357B2 (zh) |
EP (1) | EP1602457B1 (zh) |
JP (1) | JP2004268235A (zh) |
CN (1) | CN100364731C (zh) |
WO (1) | WO2004080665A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597897A (zh) * | 2009-11-06 | 2012-07-18 | 株式会社日立制作所 | 移动机器人*** |
CN106393141A (zh) * | 2016-10-31 | 2017-02-15 | 江苏华航威泰机器人科技有限公司 | 一种机器人控制*** |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3875659B2 (ja) * | 2003-07-25 | 2007-01-31 | 株式会社東芝 | カメラ装置及びロボット装置 |
US7383100B2 (en) * | 2005-09-29 | 2008-06-03 | Honda Motor Co., Ltd. | Extensible task engine framework for humanoid robots |
KR100825719B1 (ko) * | 2005-12-09 | 2008-04-29 | 한국전자통신연구원 | 복수의 감정 생성 로봇 및 로봇에서 복수의 감정 생성 방법 |
US8648867B2 (en) | 2006-09-25 | 2014-02-11 | Neurala Llc | Graphic processor based accelerator system and method |
US20080119959A1 (en) * | 2006-11-21 | 2008-05-22 | Park Cheonshu | Expression of emotions in robot |
KR100883352B1 (ko) * | 2006-11-21 | 2009-02-11 | 한국전자통신연구원 | 원격대화에서 감정 및 의사의 표현 방법과 이를 위한 리얼이모티콘 시스템 |
JP2008152362A (ja) * | 2006-12-14 | 2008-07-03 | Konami Digital Entertainment:Kk | ゲームプログラム、ゲーム装置及びゲーム制御方法 |
US8909370B2 (en) * | 2007-05-08 | 2014-12-09 | Massachusetts Institute Of Technology | Interactive systems employing robotic companions |
JP5537432B2 (ja) * | 2007-10-22 | 2014-07-02 | 本田技研工業株式会社 | 分散人型ロボットアーキテクチャにおける通信ミドルウェアの設計および評価 |
US8265789B2 (en) * | 2007-12-03 | 2012-09-11 | Electronics And Telecommunications Research Institute | Network-based robot system and method for action execution of robot |
US20090319459A1 (en) * | 2008-02-20 | 2009-12-24 | Massachusetts Institute Of Technology | Physically-animated Visual Display |
WO2009158653A1 (en) * | 2008-06-27 | 2009-12-30 | Intuitive Automata, Inc. | Apparatus and method for assisting in achieving desired behavior patterns |
EP2216145B1 (en) * | 2009-02-06 | 2011-06-08 | Honda Research Institute Europe GmbH | Learning and use of schemata in robotic devices |
KR20110015765A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로계획장치 및 그 방법 |
ES2358139B1 (es) * | 2009-10-21 | 2012-02-09 | Thecorpora, S.L. | Robot social. |
DE102009054230A1 (de) * | 2009-11-23 | 2011-05-26 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern von Manipulatoren |
FR2969026B1 (fr) * | 2010-12-17 | 2013-02-01 | Aldebaran Robotics | Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation |
EP2661311B8 (en) | 2011-01-05 | 2019-12-11 | Sphero, Inc. | Self-propelled device with actively engaged drive system |
US9218316B2 (en) | 2011-01-05 | 2015-12-22 | Sphero, Inc. | Remotely controlling a self-propelled device in a virtualized environment |
US9090214B2 (en) | 2011-01-05 | 2015-07-28 | Orbotix, Inc. | Magnetically coupled accessory for a self-propelled device |
US9429940B2 (en) * | 2011-01-05 | 2016-08-30 | Sphero, Inc. | Self propelled device with magnetic coupling |
US10281915B2 (en) | 2011-01-05 | 2019-05-07 | Sphero, Inc. | Multi-purposed self-propelled device |
US9431027B2 (en) * | 2011-01-26 | 2016-08-30 | Honda Motor Co., Ltd. | Synchronized gesture and speech production for humanoid robots using random numbers |
US20120244969A1 (en) | 2011-03-25 | 2012-09-27 | May Patents Ltd. | System and Method for a Motion Sensing Device |
US8959082B2 (en) | 2011-10-31 | 2015-02-17 | Elwha Llc | Context-sensitive query enrichment |
US20130106683A1 (en) * | 2011-10-31 | 2013-05-02 | Elwha LLC, a limited liability company of the State of Delaware | Context-sensitive query enrichment |
US9573276B2 (en) * | 2012-02-15 | 2017-02-21 | Kenneth Dean Stephens, Jr. | Space exploration with human proxy robots |
US9292758B2 (en) | 2012-05-14 | 2016-03-22 | Sphero, Inc. | Augmentation of elements in data content |
US9280717B2 (en) | 2012-05-14 | 2016-03-08 | Sphero, Inc. | Operating a computing device by detecting rounded objects in an image |
US9827487B2 (en) | 2012-05-14 | 2017-11-28 | Sphero, Inc. | Interactive augmented reality using a self-propelled device |
US10056791B2 (en) | 2012-07-13 | 2018-08-21 | Sphero, Inc. | Self-optimizing power transfer |
US20140288704A1 (en) * | 2013-03-14 | 2014-09-25 | Hanson Robokind And Intelligent Bots, Llc | System and Method for Controlling Behavior of a Robotic Character |
EP3000030A4 (en) | 2013-05-22 | 2017-07-05 | Neurala Inc. | Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence |
EP2999940A4 (en) | 2013-05-22 | 2017-11-15 | Neurala Inc. | Methods and apparatus for early sensory integration and robust acquisition of real world knowledge |
US9211644B1 (en) | 2013-10-25 | 2015-12-15 | Vecna Technologies, Inc. | System and method for instructing a device |
US9829882B2 (en) | 2013-12-20 | 2017-11-28 | Sphero, Inc. | Self-propelled device with center of mass drive system |
US9626566B2 (en) | 2014-03-19 | 2017-04-18 | Neurala, Inc. | Methods and apparatus for autonomous robotic control |
CA2941250A1 (en) | 2014-03-19 | 2015-09-24 | Neurala, Inc. | Methods and apparatus for autonomous robotic control |
WO2016014137A2 (en) * | 2014-05-06 | 2016-01-28 | Neurala, Inc. | Apparatuses, methods, and systems for defining hardware-agnostic brains for autonomous robots |
CN106293042B (zh) * | 2015-06-26 | 2020-06-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2017177128A1 (en) * | 2016-04-08 | 2017-10-12 | The Trustees Of Columbia University In The City Of New York | Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface |
WO2017187620A1 (ja) * | 2016-04-28 | 2017-11-02 | 富士通株式会社 | ロボット |
CN106625665B (zh) * | 2016-12-15 | 2019-03-12 | 北京卫星制造厂 | 一种可移动式自动寻址的钻铣机器人*** |
JP6729424B2 (ja) | 2017-01-30 | 2020-07-22 | 富士通株式会社 | 機器、出力装置、出力方法および出力プログラム |
US11138016B2 (en) * | 2018-03-14 | 2021-10-05 | Mitsubishi Electric Corporation | System construction support device, system construction support method, and non-transitory storage medium |
US11972339B2 (en) * | 2018-03-23 | 2024-04-30 | Google Llc | Controlling a robot based on free-form natural language input |
US11816551B2 (en) | 2018-11-05 | 2023-11-14 | International Business Machines Corporation | Outcome-based skill qualification in cognitive interfaces for text-based and media-based interaction |
KR102657884B1 (ko) | 2018-12-18 | 2024-04-17 | 삼성전자주식회사 | 서비스 로봇의 동작 제어 방법 및 장치 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6224988A (ja) | 1985-07-23 | 1987-02-02 | 志井田 孝 | 感情をもつロボツト |
US6031549A (en) * | 1995-07-19 | 2000-02-29 | Extempo Systems, Inc. | System and method for directed improvisation by computer controlled characters |
JPH10289006A (ja) * | 1997-04-11 | 1998-10-27 | Yamaha Motor Co Ltd | 疑似感情を用いた制御対象の制御方法 |
DE69739216D1 (de) * | 1997-08-29 | 2009-03-05 | Sony France Sa | Der Entwicklung von konditionierten Reflexen angepasstes System |
JP3086206B2 (ja) * | 1998-07-17 | 2000-09-11 | 科学技術振興事業団 | エージェント学習装置 |
US6941199B1 (en) * | 1998-07-20 | 2005-09-06 | The Procter & Gamble Company | Robotic system |
JP2000042959A (ja) * | 1998-07-28 | 2000-02-15 | Denso Corp | 移動ロボットシステムの充電制御装置 |
JP2000064933A (ja) * | 1998-08-19 | 2000-03-03 | Yamaha Motor Co Ltd | 2サイクル筒内噴射エンジンの始動方法 |
US6295602B1 (en) * | 1998-12-30 | 2001-09-25 | Spyrus, Inc. | Event-driven serialization of access to shared resources |
US6347261B1 (en) * | 1999-08-04 | 2002-02-12 | Yamaha Hatsudoki Kabushiki Kaisha | User-machine interface system for enhanced interaction |
JP2001038658A (ja) | 1999-08-04 | 2001-02-13 | Yamaha Motor Co Ltd | ロボットにおける触覚表現システム |
US6604091B2 (en) * | 1999-09-10 | 2003-08-05 | Yamaha Hatsudoki Kabushiki Kaisha | Interactive artificial intelligence |
US6446056B1 (en) * | 1999-09-10 | 2002-09-03 | Yamaha Hatsudoki Kabushiki Kaisha | Interactive artificial intelligence |
US6587846B1 (en) * | 1999-10-01 | 2003-07-01 | Lamuth John E. | Inductive inference affective language analyzer simulating artificial intelligence |
US6490501B1 (en) * | 1999-10-06 | 2002-12-03 | Bell Helicopter Textron Inc. | Cure monitoring and control system |
JP2001260063A (ja) * | 2000-03-21 | 2001-09-25 | Sony Corp | 多関節型ロボット及びその動作制御方法 |
EP1247624A1 (en) * | 2000-03-24 | 2002-10-09 | Sony Corporation | Method for determining action of robot and robot |
JP2001334482A (ja) | 2000-03-24 | 2001-12-04 | Sony Corp | ロボット装置及びロボット装置の行動決定方法 |
JP2001277166A (ja) * | 2000-03-31 | 2001-10-09 | Sony Corp | ロボット及びロボットの行動決定方法 |
US6845297B2 (en) * | 2000-05-01 | 2005-01-18 | Irobot Corporation | Method and system for remote control of mobile robot |
JP4491912B2 (ja) * | 2000-05-22 | 2010-06-30 | ソニー株式会社 | バッテリ駆動の脚式移動ロボット及びその制御方法 |
JP2002018146A (ja) * | 2000-07-04 | 2002-01-22 | Tomy Co Ltd | 対話型玩具、反応行動パターン生成装置および反応行動パターン生成方法 |
FR2811449B1 (fr) * | 2000-07-05 | 2008-10-10 | Mathematiques Appliquees S A | Systeme automatique pour la prise de decision par un agent virtuel ou physique |
JP2002036158A (ja) * | 2000-07-27 | 2002-02-05 | Yamaha Motor Co Ltd | 自律機能を有する電子機器 |
EP1327504B1 (en) * | 2000-10-13 | 2018-05-02 | Sony Corporation | Robot device and behavior control method for robot device |
JP4296736B2 (ja) | 2000-10-13 | 2009-07-15 | ソニー株式会社 | ロボット装置 |
KR20020061961A (ko) * | 2001-01-19 | 2002-07-25 | 사성동 | 지능형 애완로봇 |
US6690134B1 (en) * | 2001-01-24 | 2004-02-10 | Irobot Corporation | Method and system for robot localization and confinement |
US7328196B2 (en) * | 2003-12-31 | 2008-02-05 | Vanderbilt University | Architecture for multiple interacting robot intelligences |
US8396592B2 (en) * | 2001-06-12 | 2013-03-12 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
KR100624403B1 (ko) * | 2001-10-06 | 2006-09-15 | 삼성전자주식회사 | 인체의 신경계 기반 정서 합성 장치 및 방법 |
US20040002790A1 (en) * | 2002-06-28 | 2004-01-01 | Paul Senn | Sensitive devices and sensitive applications |
US7303010B2 (en) * | 2002-10-11 | 2007-12-04 | Intelligent Robotic Corporation | Apparatus and method for an autonomous robotic system for performing activities in a well |
US7899760B2 (en) * | 2004-12-07 | 2011-03-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Systems, methods and apparatus for quiesence of autonomic systems with self action |
-
2003
- 2003-03-11 JP JP2003065587A patent/JP2004268235A/ja not_active Withdrawn
-
2004
- 2004-03-09 US US10/547,922 patent/US7853357B2/en not_active Expired - Fee Related
- 2004-03-09 EP EP04718724A patent/EP1602457B1/en not_active Expired - Fee Related
- 2004-03-09 WO PCT/JP2004/003030 patent/WO2004080665A1/ja active Application Filing
- 2004-03-09 CN CNB2004800065833A patent/CN100364731C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597897A (zh) * | 2009-11-06 | 2012-07-18 | 株式会社日立制作所 | 移动机器人*** |
CN102597897B (zh) * | 2009-11-06 | 2014-10-08 | 株式会社日立制作所 | 移动机器人*** |
CN106393141A (zh) * | 2016-10-31 | 2017-02-15 | 江苏华航威泰机器人科技有限公司 | 一种机器人控制*** |
Also Published As
Publication number | Publication date |
---|---|
US7853357B2 (en) | 2010-12-14 |
WO2004080665A1 (ja) | 2004-09-23 |
EP1602457A4 (en) | 2010-05-12 |
US20060184273A1 (en) | 2006-08-17 |
EP1602457B1 (en) | 2011-08-24 |
JP2004268235A (ja) | 2004-09-30 |
EP1602457A1 (en) | 2005-12-07 |
CN100364731C (zh) | 2008-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1758991A (zh) | 机器人装置、其行为控制方法及程序 | |
CN1290034C (zh) | 机器人装置及其行为控制方法 | |
CN1151016C (zh) | 机器人设备及其控制方法,和机器人性格判别方法 | |
CN1273912C (zh) | 机器人装置、面容识别方法和面容识别装置 | |
CN1518489A (zh) | 用于机器人的行为控制***和行为控制方法及机器人装置 | |
CN1380846A (zh) | 机器人设备、控制机器人设备动作的方法、以及外力检测设备和方法 | |
CN1372506A (zh) | 机器人设备行为决定方法和机器人设备 | |
CN1280715C (zh) | 构建智能用户辅助设备的方法和设备 | |
CN1309535C (zh) | 机器人设备、用于控制机器人设备运动的方法以及用于控制机器人设备运动的*** | |
CN1161700C (zh) | 网络*** | |
CN1652063A (zh) | 前摄的用户接口 | |
CN1103659C (zh) | 机器人装置及机器人装置动作决定方法 | |
CN1692341A (zh) | 信息处理设备、信息处理方法、程序以及存储介质 | |
CN100351789C (zh) | 信息提供设备、方法和信息提供*** | |
CN1304177C (zh) | 机器人装置及其控制方法 | |
CN100346941C (zh) | 机器人及机器人的姿态控制方法 | |
KR101028814B1 (ko) | 소프트웨어 로봇 장치와 그 장치에서 소프트웨어 로봇의행동 발현 방법 | |
CN1398214A (zh) | 有足机器人、用于有足机器人的动作控制方法、和存储介质 | |
CN1099888A (zh) | 脸部图像数据处理装置 | |
CN1890708A (zh) | 音频设备控制装置、音频设备控制方法及程序 | |
CN1855224A (zh) | 信息处理装置、信息处理方法及程序 | |
CN1144005A (zh) | 图像处理方法及电子装置 | |
CN1808414A (zh) | 学习、识别和生成数据的方法和设备以及计算机程序 | |
JP2005193331A (ja) | ロボット装置及びその情動表出方法 | |
US11969876B2 (en) | Robot and control method of robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080130 Termination date: 20130309 |