机器人设备、控制机器人设备动作的方法、以及外力检测设备和方法

文档序号:2822281阅读:382来源:国知局
专利名称:机器人设备、控制机器人设备动作的方法、以及外力检测设备和方法
技术领域
本发明一般涉及机器人设备、控制机器人设备动作的方法、和外力检测设备和方法。
背景技术
一般来说,知识获取或语言获取主要以视频信息和音频信息的关联存储为基础。
“从自然音频-视频输入学习字词”(由Deb Roy和Alex Pentland所著)(以下将称作文献1)公开了从输入语音和输入图像学习语言的教义。文献1中的学习方法被概述如下。
将图像信号和语音信号(声音信号)相互同时或按不同时间供应给学习系统。在文献1中,这种相互同时或按不同时间供应的一对图像和语音的事件被称作“AV事件”。
当图像信号和语音信号如此供应时,进行图像处理,以便通过图像处理从图像信号中检测颜色和形状,同时进行语音处理,以便依据语音信号检测递归神经网络并进行语音信号的音素分析。具体地说,根据图像特征空间中的特征将输入图像归类到每个类别(特殊图像识别类别或图像识别类别)。同时,根据声音特征空间中的特征将输入语音归类到每个类别(特殊声音识别类别或声音识别类别)。该特征空间由

图1所示的多个元素组成。例如,对于图像信号,特征空间由元素是色差信号和亮度信号的二维或三维空间组成。由于输入图像具有这样一个特征空间中的元素的预定映象,因此可以根据该元素映象识别颜色。在该特征空间中,考虑到识别颜色的距离,进行分类。
对于例如声音的识别,利用了连续识别HMM(隐含的马尔可夫模型)方法。连续识别HMM方法(下面简称为“HMM”)允许语音信号按音素序列被识别。此外,上述的递归神经网络是通过其将信号反馈到输入层侧的一种神经网络。
根据涉及同时发生的相关(相关学习),将已归类的音素与用于学习目的的图像处理所分类的刺激物(图像)进行相关。也就是,获得表示为一个图像的事物的名称和说明,作为学习结果。
如图2所示,在上述学习中,根据每一个基于图像信息形成的图像类别鉴别(识别)输入图像,该图像类别包括“红色物”、“蓝色物”、…;同时根据每一个依据声音信息形成的类别鉴别(识别)输入语音,该声音类别包括所发出的“红色”、“蓝色”、“黄色”、…。
然后,通过相关学习将上述分类的图像和语音进行相关处理,因而,当“红色物”作为输入图像被供应时,图2中的学习系统200可以输出“红色”的音素序列(发出声音),作为相关学习的结果。
最近,已经提出了一种可以响应周围环境(外部因素)和内部状态(诸如情绪或本能的内部因素)自主地进行举止的机器人设备。这种机器人设备(下面称之为“机器人”)被设计成与人类或环境进行交互作用。例如,人们已经提出了所谓的宠物机器人和类似物,每个具有类似动物的外形和类似动物的举止。
例如,这样一种机器人所具有的学习各种信息的能力导致其娱乐性能的改善。特别是,学习动作或举止的能力将增加与机器人玩耍的乐趣。
上述应用于被设计成可控制动作的机器人的学习方法(如文献1所述)遇到了以下问题。
首先,上述学习方法不适合设置以对机器人行动进行控制。
如文献1所述,如果响应输入信号建立一个被存储字或输入信号被判断为一个新信号,则将建立发声方式并输出适当的音素序列。然而,当机器人与人类或环境进行交互时,不需要发出输入的信号,而是需要响应该输入进行适当的行动。
此外,当根据图像特征空间和声音特征空间中的距离进行分类时,所获得的图像和语音将是图像和声音特征空间中彼此接近的信息。然而,在某些情况下,机器人需要响应图像和语音进行不同动作。在这种情况下,必须为合适的动作做出分类。然而,传统的方法不能适应这种需求。
传统的知识或语言获取系统主要包括以下部件(1)分类图像信号和生成新类别的装置;(2)分类声频信号和生成新类别的装置;(3)将项(1)和项(2)彼此进行相关或者相互关联地学习图像和声音的装置。
当然,某些传统的知识或语言获取系统使用不同于上述功能的部件。但是上述三个功能是这种系统的基本功能。
上述项(1)和(2)中的分类包括特征空间中的映象,用预见知识进行有效信号的参数辨别,使用概率分类等。
一般来说,图像例如可以通过以下两种方式来识别控制用于每种颜色,比如颜色空间中的红、蓝、绿和黄色的颜色模板的阈值;或者,根据现有颜色存储区域与特征空间中的输入颜色之间的距离,为出现的颜色刺激确定每种颜色的概率。例如,对于已经分类为图1所示特征空间中的一个特征的区域,依据输入图像的特征所确定的区域到现存特征区域的距离,确定分类的概率。此外,神经网络的方法可以有效用于此目的。
另一方面,为了学习语音,将通过音素检测由HMM供应的音素序列与所存储的音素序列进行相互比较,并且根据比较结果按概率识别一个字。
按上述项(1)和项(2)生成新类别的装置包括估算一个输入信号,以确定它是否属于现存类别。当确定输入信号属于现存类别时,认为它属于该类别并被反馈到分类方法。另一方面,如果判断该输入信号不属于任何类别,则生成一个新类别并进行学习,用于根据输入的刺激进行分类。
新类别按下列方式生成。例如,如果判断一个图像类别不属于任何现存类别(图像A的类别,图像B的类别,…),则划分现存类别(例如,图像A的类别)以生成图3A所示的新图像类别。如果判断一个声音类别不属于任何现存类别(声音α类别,声音β类别,…),则划分现存类别(例如,声音β类别),以生成图3B所示的新声音类别。
此外,项(3)中的图像和声音的关联包括关联存储器或类似物。
用于图像的辨别类别被称作矢量(以下,将称之为“图像识别矢量”)IC[i](i=0,1,…NIC-1),用于声音的辨别类别被称作矢量(以下,将称之为“声音识别矢量”)SC[j](j=0,1,…NSC-1)。对于所呈现的图像信号和声音信号(为学习而供应),分别将每个识别类别的概率或估算结果设置给矢量值。
在一个自检索关联存储器(self-recalling associative memory)中,将图像识别矢量IC和声音识别矢量SC构成由下列等式(1)和(2)给定的单个矢量CV[n]=IC[n](0≤n<NIC)…………………………………(1)
CV[n]=SC[n-NIC](0≤n<NSC)……………………………(2)需要说明的是,在自检索关联存储器领域,由Hopfield提出的所谓的Hopfield网络是众所周知的。
上述矢量被变换成将在下面说明的单个矢量。假定矢量CV是列矢量,则通过将下式(3)给出的矩阵delta W增加到当前存储的矩阵W中构成自检索关联存储器。
delta_W=CV×trans(CV) …………………………………(3)因而,可以将一个图像刺激(输入图像)当作一个类别,并且将作为语音识别结果的一个字(例如,HMM的类别)与该类别相关联。通过呈现一个新图像(例如,红色物)和输入语音“红色”,使每个图像和声音类别按图像刺激物的红色来描述,以便具有刺激物的适当尺寸或特征空间的距离,同样,每个类别对语音“红色”的音素序列的适当范围起作用。这些类别被处理为上述等式中的相关矩阵并且被随机地平均,使图像和语音类别关于同样刺激物具有高位值,即,它们之间具有高相关。因而,当红色图像被呈现时,存储与红色图像关联的HMM类别“红色(发出的声音)”。
另一方面,“Perceptually Grounded Meaning Creation”(by Luc Steels,ICMAS,Kyoto,1996)(以下将称作“文献2”)公开了一种通过称之为“辨别游戏”的试验的意图获取。下面概述该辨别游戏。
“辨别游戏”系统包括多个不限于上述图像和声音的传感器通道和特征检测器。一个称作“代理(agent)”(比如,软件)的事物借助特征检测器,尝试区别新近呈现的对象与另一个对象(已经被识别的对象),即,根据特征区别诸多对象。如果没有可以区别诸多对象的特征,则建立对应于新近呈现的对象的新特征检测器。如果一个对象没有可区别另一个对象的特征,即,当对应的特征检测器不能用于该对象时,则判断该代理赢得该辨别游戏。如果一个对象具有对应的特征检测器,则判定该代理是游戏的获胜者。
然后,整个系统根据“自然选择论者”的原理进行工作。也就是,赢得游戏的对象具有较高的生存概率,而输掉游戏的对象将建立新的特征检测器。然而,该新的特征检测器将在下一个游戏中使用,并且不知道该检测器是否将提供一个正确结果。因而,能够更好进行区别的代理将生存。
该辨别游戏已经在上文中概述。换言之,这种辨别游戏可以被看作经自然选择建立更好的特征检测器的方法。
此外,“自适应语言的自发自组织”(by Luc Steels,Muggleton,S.(ed),1996,Machine,Intelligence 15)(下面称作“文献3”)给出通过“语言游戏”方法的语言生成。该“语言游戏”包括以下三个步骤第一步传播(声音)。
第二步创建。在此步骤中,代理建立一个新字,并且将它与一个新特征关联。
第三步自组织。在此步骤中,系统通过分类和选择进行自组织。
更具体地说,该语言游戏包括用于所谓的图像处理的第一步骤;用于与语言处理相联系的字(然而,实际上,不识别语音,而是输入所谓的字符)的第二步骤;和将第一步骤(步骤1)中获得的图像与字相关联的第三步骤。前述的辨别游戏没有相当于第二步骤的部分,它仅适用于现存特征空间中造成的区别。
此外,“Language Acquisition with A Conceptual Structure-Based SpeechInput from Perceptual Information”(Iwasaki和Tamura,索尼计算机科学实验室)(以下称作文献4)公开了使用用于语音识别的HMM的语法和典型图案(圆、三角或其它形状,红、蓝和其它颜色)的获取,其中,在用于图像识别的计算机的监视器上彩色显示图像。
在文献4中,用户同时对图4所示的监视器210上的图案(对象)点击指点器或鼠标(用指示的指点器212),和发出“红色圆形物”或类似的声音。在文献3的语言游戏中,用于彩色图像的辨别游戏理论和HMM语音识别被用来按概率实现第一至第三步骤。
对于新类别的生成,实行一个预定的检验方法。在文献4公开的方法中,当判别应当通过使用用于语音识别的HMM的检验生成一个新类别时,细分HMM以生成新类别。
此外,通过指点指针和点击鼠标选择的图案211(第一对象(Obj1))被移动到如图4箭头所指示的第二对象(Obj2),同时,供应发出的语音“攀登”,以识别在监视器210上形成的图案的运动。如此识别的运动通过HMM分类。
如上所述,各种用于知识或语言获取的技术已经被提出。然而,这些技术在以下的涉及机器人的动作获取(动作学习)方面是不利的。
(1)输入信号的特征空间中的距离和输入信号的类别归属的估价;(2)动作的创建和估价;
(3)机器人与用户之间的目标对象的共享。所谓的目标对象共享。
解决上述问题(1)是困难的,因为对输入图像信号的类别归属的估价仅受到图像信号、同一时间供应的声音信号的影响,或者受到基于这两个信号检索的存储信息的影响。需要说明的是,类别归属估价是用于输入信号属于那个类别的类别索引。
假定已经输入的一个图像信号被认为在特征空间上非常接近现存类别中的图像信号。在此情况下,如图5A所示,类别A和类别B在图像特征空间中彼此接近。然而,假定如此输入的图像信号用来生成新类别。
另一方面,如果在这些条件下判断已经输入一个语音信号,作为相应于该图像信号的对象的其它信息,并且该输入的语音信号距现存类别非常远,则将为该对象生成用于语音信号的一个新类别。所以,假定例如,如图5B所示,声音α的类别(相应于图像A类别的声音类别)和声音β的类别(相应于图像B类别的声音类别)在声音特征空间中被不同地映象,所以可以设置阈值S2。
因此,如果根据特征空间作出的声音的类别归属估价可以反映图像的类别归属估价,则能够生成用于该图像的新类别。例如,通过反映声音特征空间中类别归属估价,可以在彼此接近的图像A和B的类别之间设置阈值S1,以区别如图5A所示的类别。也就是,通过参考任何其它类别归属估价,可以更适当地实现一个类别的归属。
然而,若图像信号或语音信号的类别彼此非常接近,则上述情况不足以生成图像或语音的新类别。这意味着当图像类别或声音类别在它们的相应特征空间中彼此接近时,如图6A和图6B所示,不可能区别它们,尽管从第三特征空间来看它们具有相当不同的特征。第三特征空间可以表现出动作特征。
所以,本发明的目的是克服现有技术的上述缺点,该目的是通过提供一种适合于适当地区别其相应特征空间中的对象的机器人设备和控制该机器人设备的动作的方法来实现的。
当被判断属于新类别的信号供应给机器人设备时,上述问题(2)在于生成机器人设备的新动作以及估价该新动作。
对于传统技术,语言创建的估价相当于所生成的动作的估价。对于文献3公开的技术,生成任意的音素序列。它将是包含在输入信号,可能是图像信号中的对象的名称或类似物。然而,将不生成产生动作的任意运动系列。
例如,即使生成了具有四个腿(具有例如3个自由度)的机器人设备的各关节角的任意系列,机器人设备也不会进行任何有意义的运动。当生成语言时,语言的音素序列将仅仅是对象名称。然而,如何估价所生成的动作好或不好将成为一个问题。
此外,本发明的具有克服现有技术的上述缺点的另一个目的,该目的是通过提供适合于生成输入的适当动作的机器人设备和控制该机器人设备的的动作的方法实现的。
上述问题(3)是所谓的目标对象共享(共享的关注)。造成该问题的原因是机器人设备感知的信息非常不稳定。例如,当用户或训练者在不对着机器人设备的图像信号输入单元(例如CCD摄像机)的方向上,试着通过手持橙色球和发出“橙色球”声音来教导机器人设备时,如果机器人设备视野内的一个对象是粉红色盒,则机器人设备将“粉红色盒”与语音“橙色球”相联系。
在文献4中,通过把指针指向图案211和点击鼠标,将监视器210上的图案211指定为目标对象。然而,实际上没有指点或指定这种目标对象的任何装置。甚至在文献2和3公开的理论被应用于机器人设备的情况下,机器人设备的训练者或用户将随意选择他或她视野内的某些事物的一个、并根据他的记忆发出所选择事物的名称,使机器人设备注意到作为机器人设备将识别的目标对象的所选择的事物。然而,实际上这不是机器人设备可以识别目标对象的任何学习。
此外,本发明具有克服现有技术的上述缺点的另一个目的,该目的是通过提供适合共享一个目标对象(关注共享)以恰当地识别目标对象的机器人设备和控制该机器人设备的动作的方法实现的。
传统的机器人设备通过设置在头部的触摸传感器或类似物检测施加到头部或其它部位的外力,由此与用户进行交互。然而,该交互将受到所设置的传感器的数量和设置的位置的限制。
本发明的公开所以,本发明的一个目的是克服现有技术上述缺点,该目的通过提供一种机器人、外力检测器和一种检测外力的方法来实现,能够确保与用户的触摸(外力)交互作用中的更高自由度。
本发明的另一个目的是提供一种能够适当地识别其特征空间中的每个对象的机器人设备和控制该机器人设备动作的方法。
本发明的另一个目的是提供一种能够响应输入生成适当动作的机器人设备和控制该机器人设备动作的方法。
本发明的另一个目的是提供一种能够共享目标对象(关注共享)以恰当识别目标对象的机器人设备和控制该机器人设备动作的方法。
本发明的另一个目的是提供一种机器人、外力检测器和检测外力的方法,能够确保与用户的触摸(外力)交互作用中的更高自由度。
上述目的可以通过提供一种机器人设备来实现,该机器人设备包括用于检测触摸的装置;用于检测在触摸检测装置的触摸检测的同时或恰好之前或之后供应的信息的装置;存储装置,用于相关联地存储相应于触摸检测所作出的动作和输入信息检测装置所检测的输入信息;和检索动作的装置,用于根据新近获取的信息从存储装置的信息中检索动作,以控制机器人设备进行动作。
在上述机器人设备中,输入信息检测装置检测恰好在触摸检测装置的触摸检测之前或者之后供应的信息,将响应触摸作出的动作和输入信息检测装置检测的输入信息相互关联地存储到存储装置中,并且动作控制装置根据新近获取的输入信息从存储装置的信息中检索动作,以控制机器人设备进行动作。
因而,在上述机器人设备中,相互关联地存储输入信息和当该输入信息被检测时作出的动作,以及当再次供应与该输入信息相同的信息时,再现相应动作。
此外,上述目的可以通过提供一种控制机器人设备动作的方法来实现,该方法包括以下步骤检测对机器人设备所作出的触摸;检测在触摸检测步骤的触摸检测的同时或恰好之前或之后供应的信息;将响应触摸检测步骤中的触摸检测所作出的动作和输入信息检测步骤中检测的输入信息相互关联地存入一个存储装置中;和根据新近获取的信息从存储装置的信息中检索动作,以控制机器人进行动作。
在上述机器人设备动作控制方法中,输入信息和该输入信息被检测时作出的动作被相互关联地存储,并且当再次供应与该输入信息相同的信息时,再现相应动作。
此外,上述目的可以通过提供一种机器人设备来实现,该机器人设备包括检测输入信息的装置;存储装置,用于存储由输入信息检测装置检测的输入信息和动作结果信息,该动作结果信息表现出相应于输入信息检测装置检测的输入信息所作出的动作结果;和识别动作结果信息的装置,用于根据新近供应的输入信息识别存储装置中的动作结果信息,以控制机器人设备根据动作结果信息进行动作。
在上述机器人设备中,表现出相应于由输入信息检测装置检测的输入信息所作出的动作的结果的动作结果信息和输入信息被相互关联地存储,并且根据新近供应的输入信息识别存储装置中的动作结果信息,以控制机器人设备根据动作结果信息进行动作。
因而,在上述机器人设备中,输入信息和表现出相应于输入信息而作出的动作的动作结果信息被相互关联地存储,并且当再次供应同样的信息时,根据相应于输入信息的动作结果信息检索过去的动作,以控制机器人设备进行适当动作。
此外,上述目的可以通过提供一种控制机器人设备动作的方法来实现,该方法包括以下步骤将动作结果信息和输入信息相互关联地存储到一个存储装置中,该动作结果信息表现出相应于输入信息检测装置检测的输入信息而作出的动作结果;和根据新近供应的输入信息识别存储装置中的动作结果信息,以根据动作结果信息控制机器人设备进行动作。
借助上述的机器人设备动作控制方法,机器人设备相互关联地存储输入信息和表现出根据输入信息作出的动作结果的动作结果信息,并且当相同的输入信息再次供应时,根据与输入信息相对应的动作结果信息检索过去的动作,以控制机器人设备做适当的动作。
此外,上述目的可以通过提供一种机器人设备来实现,该机器人设备包括检测输入信息的装置;特征检测装置,用于检测由输入信息检测装置检测的输入信息的特征;根据所检测的特征对输入信息进行分类的装置;根据输入信息控制机器人设备做动作的装置;和改变分类的装置,用于根据动作结果信息改变已经使机器人设备作出动作的输入信息的分类,该动作结果信息表现出机器人设备在动作控制装置的控制下作出的动作结果。
在上述机器人设备中,输入信息检测装置检测的输入信息的特征由特征检测装置检测,输入信息根据检测的特征进行分类,机器人设备由动作控制装置控制以根据输入信息的分类进行动作,以及根据表现出机器人设备在动作控制装置的控制下作出的动作结果的动作结果信息改变已经使机器人设备动作的输入信息的分类。
因而上述的机器人设备相应于输入信息的分类进行动作,并且根据动作结果改变分类。
此外,上述目的可以通过提供一种控制机器人设备动作的方法来实现,该方法包括以下步骤检测由输入信息检测装置检测的输入信息的特征;根据特征检测步骤中检测的特征对输入信息分类;根据信息分类步骤中作出的输入信息的分类控制机器人设备进行动作;和根据动作结果信息改变已经使机器人设备作出动作的输入信息的分类,该动作结果信息表现出在动作控制步骤控制下机器人设备作出的动作结果。
借助上述的机器人设备动作控制方法,控制机器人设备相应于输入信息的分类进行动作,并且根据动作结果改变分类。
此外,上述目的可以通过提供一种机器人设备来实现,该机器人设备包括用于识别目标对象的装置;勇于存储有关由目标对象识别装置识别的目标对象的信息的装置;和控制装置,根据新近检测的对象的信息和存储在存储装置中有关目标对象的信息控制机器人设备进行动作。
上述机器人设备将目标对象识别装置识别的目标对象的信息存储到存储装置中,并且动作控制装置控制机器人设备根据新近检测的对象的信息和存储在存储装置中的目标对象的信息进行动作。
由此,上述机器人设备存储目标对象,并且当相同对象的信息被再次供应时,机器人设备进行预定的动作。
此外,上述目的可以通过提供一种控制机器人设备动作的方法来实现,该方法包括以下步骤识别目标对象;将目标对象识别步骤中识别的目标对象的信息存储到存储装置中;和根据新近检测的对象的信息和存储装置中存储的目标对象的信息,控制机器人设备进行动作。
借助上述机器人设备动作控制方法,机器人设备存储目标对象,并且当相同对象的信息被再次供应时,机器人设备进行预定动作。
此外,上目的可以通过提供一种机器人设备来实现,该机器人设备包括诸多运动部件;移动运动部件的诸多关节;检测装置,用于检测经运动部件被施加了外力的关节的状态;和学习装置,相互关联地学习检测装置检测的关节状态和外力。
在上述机器人设备中,经运动部件被施加了外力的关节的状态可以由检测装置检测,并且学习装置相互关联地学习由检测装置检测的关节状态和外力。也就是,机器人设备学习与相应于作用于运动部件的外力而变化的关节状态目关联的外力。
此外,上述目的可以通过提供一种外力检测器来实现,该检测器包括检测用于移动运动部件的关节的状态的装置;和检测外力的装置,用于根据关节状态检测装置检测的关节状态,检测作用于运动部件的外力。
在上述外力检测装置中,移动运动部件的关节的状态由关节状态检测装置检测,并且根据关节状态检测装置检测的关节状态检测作用于运动部件的外力。即,外力检测器根据移动该运动部件的关节状态,检测作用于运动部件的外力。
此外,上述目的可以通过提供一种检测外力的方法来实现,该方法包括以下步骤检测用于移动运动部件的关节的状态;根据所检测的关节状态检测作用于该运动部件的外力;和根据移动该运动部件的关节的状态检测作用于该运动部件的外力。
附图简要说明图1示出用于检测输入信号的特征的特征空间;图2是学习系统的方框图,包括图像和声音信息的识别类别;图3A和图3B解释新识别类别的生成;图4借助来自知觉信息的基于概念结构的语音解释语言获取(如Iwahashi等人的文献4);图5A和图5B解释图像特征空间与声音特征空间的关系;图6A至图6C解释图像特征空间、声音特征空间和第三特征空间之间的关系;图7是本发明的机器人设备的示意图;图8是图7中机器人设备的电路配置的方框图;图9是图7中机器人设备的软件配置的方框图;图10是图7中机器人设备的软件配置的中间件层(middleware layer)的方框图;图11是图7中机器人设备的软件配置的应用层的方框图;图12是图11中应用层的动作模型库的方框图;图13解释有限概率自动机,是用于确定机器人设备动作的信息;图14示出在有限概率自动机的每个节点中准备的状态转换表;图15是本发明的图7中机器人设备的一部分方框图;图16A和图16B解释对机器人设备移动的教导;图17A和图17B示出教导机器人设备移动的辨别单元;图18是用于学习移动的辨别器的方框图;图19是移动学习中使用的脉冲宽度的特征曲线,示出机器人设备处于立位时的脉冲宽度;图20是移动学习中使用的脉冲宽度的特征曲线,示出在其背部向前推处于立位的机器人设备时的脉冲宽度;图21是移动学习中使用的脉冲宽度的特征曲线,示出在其背部向后推处于立位的机器人设备时的脉冲宽度;图22是移动学习中使用的脉冲宽度的特征曲线,示出在其颈部向上推处于立位的机器人设备时的脉冲宽度;图23是移动学习中使用的脉冲宽度的特征曲线,示出在其背部向下推处于立位的机器人设备时的脉冲宽度;图24是移动学习中使用的脉冲宽度的特征曲线,示出在其颈部向上推处于坐位的机器人设备时的脉冲宽度;图25是移动学习中使用的脉冲宽度的特征曲线,示出在其颈部向下推处于坐位的机器人设备时的脉冲宽度;图26是机器人装置的愉快/不愉快判断单元的方框图;图27解释一种神经网络;图28是用于学习外力的本发明机器人设备的配置的方框图;图29示出三层反向传播的神经网络;图30示出三层反向传播神经网络的每一层中的神经元的系统;图31是S形函数的特征曲线;图32是学习次数与平均误差之间关系的特征曲线;图33是机器人设备中语音识别单元的详细方框图;图34是机器人设备中关联存储器/检索存储器和动作生成器的方框图;图35是机器人设备中使用的关联存储器/检索存储器的方框图;图36是机器人设备中传感器数据处理器的详细方框图;图37A至图37E解释通过手指的指示用于目标对象识别的共享学习;图38是关联存储器系统的示意方框图;图39显示图38的关联存储器中使用的两层分层型的竞争学习神经网络的一个例子;图40显示由输入图案激活的输入神经元与未激活的神经元以及竞争层内的神经元之间的关系变化的实例,这种变化是由信号出现时间造成的;图41显示用来检验机器人设备的动作决定操作的分层动作决定系统的内容树;图42显示在第一操作检验中包含在本能中的Hunger(饥饿)和Sleepy(困倦)的时间变化;图43显示在第一操作检验中包含在情绪中的Activity(活跃)、Pleasantness(愉快)和Certainty(确定)的时间变化;图44显示在第一操作检验中作为动机的吃(Eat)和睡(Sleep)的时间变化;图45显示在第二操作检验中本能的时间变化;图46显示在第二操作检验中情绪的时间变化;图47显示在第二操作检验中释放机构(release mechanism,RM)的时间变化。
实现本发明的最佳模式下面将结合附图详细说明实现本发明的最佳模式。最佳模式涉及一种相应于周围环境(外部因素)或内部状态(内部因素)自主地进行举止的自主机器人设备。
首先将说明机器人设备的结构,然后详细说明本发明在机器人设备中的应用。
(1)本发明的机器人设备的结构如图7所示,机器人设备(下面将简称为“机器人”)总的用标号1表示。该机器人是一个取“狗”的外形的宠物机器人。如图所示,机器人1包括身体单元2;分别连接到身体单元2的左前部和右前部以及左后部和右后部的腿部单元3A至3D;和分别连接到身体单元2的前部和尾部的头部单元4和尾部单元5。
如图8所示,身体单元2内设有CPU(中央处理单元)10、DRAM(动态随机存取存储器)11、快速ROM(只读存储器)12、PC(个人计算机)卡接口电路13和信号处理单元14,它们经内部总线15彼此连接,以形成一个控制器16;此外,还还设有向机器人1提供电源的电池17。身体单元2内还设有角速度传感器18和加速度传感器19,以检测机器人1的方位和加速度等。
头部单元4内设有分别在各自位置的摄取机器人1周围环境的CCD(电荷耦合器件)摄像机20;触摸传感器21,检测作为诸如用户的“轻拍”或“击打”物理动作给予机器人1的压力;距离传感器22,测量到存在于机器人1前面的对象的距离;采集外部声音的麦克风23;输出声音,比如吠声的扬声器24;如机器人1的“眼睛”的LED(发光二极管)(未示出)等。
此外,在腿部单元3A至3D的关节、腿部单元3A至3D与身体单元2之间的铰链轴、头部单元4与身体单元2之间的铰链轴以及尾巴5A与尾部单元5之间的铰链轴内分别设有传动器251至25n和电位计261至26n。每个关节和铰链轴中使用的传动器和电位计的数量取决于传动器和电位计的自由度。例如,传动器251至25n的每一个使用伺服电动机。当驱动伺服电动机时,控制腿部单元3A至3D变换目标姿态或进行运动。
角速度传感器18、加速度传感器19、触摸传感器21、距离传感器22、麦克风23、扬声器24、LED、传动器251至25n和电位计261至26n的每一个经过集线器271至27n相应的一个连接到控制器16的信号处理电路14,CCD摄像机20和电池17直接连接信号处理电路14。
需要说明的是,来自角速度传感器18、加速度传感器19和电位计261至26n的信号在下面将要说明的运动(动作)学习中使用。
信号处理电路14顺序地获取从上述传感器的每一个所供应的数据(下面将称之为“传感器数据”)、图像数据和语音数据,并且经内部总线15将它们存储到DRAM 11中。此外,信号处理电路14顺序地获取从电池17供应的数据并指示电池17中的剩余电势,并把它们的每一个存储到DRAM 11中。
根据存储在DRAM 11中的传感器数据、图像数据、语音数据和剩余电池电势数据的每一个,CPU 10将控制机器人1的动作。
实际上,当电源最初供应给机器人1时,CPU10经PC卡接口电路13或者直接地从身体单元2的PC卡槽(未示出)中设置的存储卡28或者快速ROM12中读出控制程序,并且将它存入DRAM 11中。
此外,CPU 10根据上述从信号处理电路14顺序存储到DRAM 11中的传感器数据、图像数据、剩余电池电势数据,确定机器人1的内部状态、机器人1的周围环境、用户的指令或动作的存在等。
此外,CPU10根据确定的结果和DRAM 11中存储的控制程序决定下一步动作,并且根据确定的结果驱动用于下一步动作的传动器251至25n中所必需的传动器,从而使头部单元4摇头或点头,摇摆尾部单元5的尾巴5A或者驱动腿部单元3A至3D行走。
此时,CPU 10根据需要生成语音数据,并且经信号处理电路14将语音信号供应给扬声器24,从而输出依据语音信号建立的声音或语音、接通或断开或闪烁LED。
由此,机器人1相应于其内部状态或周围环境或用户的指令或动作,自主地进行举止。
(2)控制程序的软件结构机器人1的上述控制程序具有图9所示的软件结构。如图所示,设备驱动器层30位于控制程序的最下层,并且由包括多个设备驱动器的设备驱动器集31组成。在此情况下,每个设备驱动器是允许直接访问CCD摄像机20(参见图8)和在计算机中使用的诸如定时器之类的普通硬件的对象,并且借助适当的硬件中断进行工作。
如图9所示,机器人服务器对象32也位于设备驱动器层30的最底层。该对象32例如包括包含软件组的虚拟机器人33,该软件组提供用于访问诸如上述各种传感器、传动器251至25n等的硬件的接口;电源管理器34,包含管理电源切换等的软件组;设备驱动器管理器35,包括管理其它各种设备驱动器的软件组;和被设计的机器人36,包含管理机器人1的机构的软件组。
在此还提供包括对象管理器38和服务管理器39的管理器对象37。对象管理器38是一个软件组,分别管理包含在机器人服务器对象32、中间件层40和应用层41中的每个软件组的启动和终止。服务管理器39是一个软件组,根据存储卡28中存储的关联文件所规定的对象之间关系的信息,管理对象之间的关联(参见图8)。
中间件层40位于机器人服务器对象32的上面,包括提供诸如图像处理、语音处理等机器人的基本功能的软件组。应用层41位于中间件层40的上面,包括根据由中间件层40所含有的每个软件组实行处理的结果来决定机器人1的动作的软件组。
图10详细地示出中间件层40和应用层41的软件结构。
如图10所示,中间件层40包括识别系统60,包括分别用于噪声检测、温度检测、亮度检测、音节(scale)检测、距离检测、姿态检测、触摸检测、运动检测和颜色识别的信号处理模块50至58、以及输入语义转换器模块59;和输出系统69,包括输出语义转换器模块68和分别用于姿态管理、跟踪、运动再现、行走、翻转恢复、点亮LED和语音再现的信号处理模块61至67。
识别系统60中的信号处理模块50至58获取由机器人服务器对象32中的虚拟机器人33从DRAM 11读出的传感器数据、图像数据和语音数据中适当的数据,按预定方式处理该数据,并把该数据处理结果供应给输入语义转换器模块59。在该实例中,虚拟机器人33被构成为在预定通信规则下传递或转换信号的功能块。
根据信号处理模块50至58供应的数据处理结果,输入语义转换器模块59识别机器人1的内部状态和周围环境,比如“噪声”、“热”、“亮度”、“检测到球”、“检测到翻转”、“轻拍”、“击打”、“听到音节”、“检测到运动对象”或“检测到障碍物”、以及来自用户的指令或动作,并且把识别结构输出给应用层41(参见图8)。
如图11所示,应用层41由五个模块组成,包括动作模型库70、动作切换模块71、学习模块72、情绪模块73和本能模块74。
如图12所示,动作模型库70内设有独立动作模块701至70n,它们分别对应于某些预选条件项目,比如“电池电势已经变低”、“用于翻转的恢复”、“用于绕过障碍物”、“用于表达情绪”、“已经检测到球”等。
例如,当这些动作模块701至70n被供应输入语义转换器模块59的识别结果时,或者当这些模块被供应最终识别结果之后已经经过预定时间时,这些模块根据需要参考情绪模块73所保存的适当的情绪参数值和本能模块74所保存的适当的欲望参数值决定机器人1进行的下一步动作(下面将作进一步说明),并且将决定结果输出给动作切换模块71。
需要说明的是,在本发明的该实施例中,动作模块701至70n作为决定后续动作的装置,采用所谓的“有限概率自动机”算法,分别根据为弧线ARC1至ARCn设置的转换概率P1至Pn,推测决定图13所示的节点(状态)NODE0至NODEn的哪个节点转换,以及该节点转换到这些节点的哪一个其它节点,其中这些弧线提供节点NODE0至NODEn之间的连接。
具体地说,动作模型701至70n的每一个具有如图14所示的状态转换表80,它分别对应于包含在动作模型701至70n内的节点NODE0至NODEn的每一个。
也就是说,在状态转换表80中,作为NODE0至NODEn之间的转换条件得到的输入事件(识别结果)按优先顺序输入到由“输入事件名称”栏所覆盖的行中,对转换条件附加的条件数据被输入到由“数据名称”和“数据范围”栏所覆盖的行中。
因此,如图14的状态转换表80所示,它示出NODE100转换到其它节点的条件,即当给出“BALL(机器人已经检测到球)”的识别结果,并且与该识别结果共同给出的“SIZE(球的大小)”是“0,1000(0至1000)”时。此外,当“OBSTACLE(机器人1已经检测到障碍物)”作为识别结果给出,以及与该识别结果一同给出的“DISTANCE(障碍物与机器人之间的距离)”是“0,100(0至100)”时,节点NODE100可以转换到另一个节点。
此外,当分别涉及动作模型701至70n的情绪模型73和本能模型74中所保存的情绪和欲望的、在情绪模型73中保存的这些运动“JOY”、“SURPRISE”和“SADNESS”的参数值循环地取“50,100(50至100)”值时,即使没有识别结果的输入,节点NODE100也转换到另一个节点。
在状态转换表80中,节点NODE0至NODEn的每一个可以转换到的节点的名称被列在由“转换到其它节点(Di)的概率”栏所覆盖的“转换目的地节点”行中,当“输入事件名称”、“数据名称”和“数据范围”栏中给出的所有要求分别被满足时将可能出现的转换到其它节点NODE0至NODEn的概率被列在“转换到其它节点(Di)的概率”栏的相应位置上,以及当状态转换到节点NODE0至NODEn时输出的动作被列在由“转换到其它节点(Di)的概率”栏覆盖的“输出动作”行中。需要说明是由“转换到其它节点(Di)的概率”栏所覆盖的行中的转换概率的总和是100(%)。
因此,当“BALL(已经检测到球)”作为识别结果给出和与该识别结果一同给出的“SIZE(球的大小)”是“0,1000(0至1000)”时,图14所示的状态转换表80中的节点NODE100可以转换到节点NODE120(节点120)的转换概率是30%。此时,机器人1将进行动作“ACTION1”。
配置每个动作模型,以便按状态转换表80给出的许多模型701至70n彼此链接。例如,当从输入语义转换器模块59供应识别结果时,相应节点NODE0至NODEn的状态转换表被用来推测地决定后续动作,并且将决定结果输出到动作切换模块71。
图11所示的动作切换模块71选择动作模型库70中动作模型701至70n输出的多条动作中预定的高优先级动作,并且把执行该动作的命令(下面将称作“动作命令”)发送给中间件层40的输出语义转换器模块68。需要说明的是,在该实施例中,从图12的动作模型701至70n中较低的一个输出的动作被设置为具有较高的优先级,其优先级高于从较高动作模型输出的那些动作的优先级。
当动作被完成时,动作切换模块71根据输出语义转换器模块68供给的动作完成信息,通知学习模块72、情绪模块73和本能模块74动作完成。
另一方面,学习模块72被供应有输入语义转换器59所供应的识别结果之中的,由用户按诸如“击打”、“轻拍”等的动作教导机器人的识别结果。
学习模块72改变动作模型库70的动作模型701至70n中相应模型的转换概率。根据识别结果和来自动作切换模块71的信息,当机器人1例如被击打时(=训斥),学习模块72减少动作的表现(express)概率,而当机器人1例如被轻拍(=赞扬)时提升该表现概率。
另一方面,情绪模型73保存有指示总共六个情绪“愉快”、“悲伤”、“生气”、“惊喜”、“厌恶”、“恐惧”的每一个的强度的参数。情绪模型73根据输出语义转换器模块59所供应的诸如“击打”、“轻拍”等特定的识别结果、逝去的时间和动作切换模块71的信息,周期性地更新这些情绪的参数值。
更具体地说,情绪模块73使用预定的计算式,依据输入语义转换器模块59所供应的识别结果、此时机器人1的举止和自先前更新起逝去的时间,每次计算情绪的变化。然后,通过取该情绪变化为ΔE[t],该情绪的当前参数值为E[t]以及指示对该情绪的灵敏度的因数为ke,情绪模块73通过计算式(4)确定在下一个周期中情绪的参数值E[t+1],并且用情绪参数值E[t+1]替代情绪的当前参数值E[t],由此更新情绪的参数值。情绪模型73还以相同方式更新所有剩余情绪中的参数值。
E[t+1]=E[t]+ke×ΔE[t]……………………(4)需要说明的是,识别结果和来自输出语义转换器模块68的信息的每一个对每个情绪的参数值的变化ΔE[t]的影响有多大是预先确定的。该确定是,使例如“击打”的识别结果将对“生气”情绪的参数值的变化ΔE[t]具有很大的影响,而“轻拍”的识别结果将对“愉快”情绪的参数值的变化ΔE[t]有很大的影响。
来自输出语义转换器模块68的信息是所谓的对动作的反馈信息(动作完成信息)。即,它是关于动作表现结果的信息。情绪模块73将用这种信息改变该情绪。例如,“吠叫”动作降低“生气”情绪的等级。需要说明的是,来自输出语义转换器模块68的信息还被供应给上述的学习模块72,该学习模块72根据来自输出语义转换器模块68的信息为动作模型701至70n中适当的一个更新转换概率。
需要说明的是,动作的结果可以由动作切换模块71的输出(具有加在其上的感觉的动作)反馈。
另一方面,本能模型74拥有指示总共四个独立欲望“锻炼”、“友情”、“食欲”和“好奇心”的每一个的强度的参数。本能模型74根据从输入语义转换器模块59供应的识别结果、逝去时间和来自动作切换模块71的信息,周期性地更新这些欲望的参数值。
具体地说,本能模块74使用预定的计算式,依据输出语义转换器68供应的识别结果、逝去时间和来自输出语义转换器模块68的信息,每次计算欲望“锻炼”、“友情”、和“好奇心”每一个的变化。然后,通过取欲望变化为ΔI[k],取欲望的当前参数值为I[k],以及取指示对欲望的灵敏度的因数为ki,本能模块74通过周期性地计算式(5)确定下一个周期中的欲望参数值I[k+1],并且用参数值I[k+1]替代欲望的当前参数值I[k],由此更新欲望的参数值。本能模块74还以相同方式更新除“食欲”之外的所有剩余欲望的参数值。
I[k+1]=I[k]+ki×ΔI[k] ………………(5)需要说明的是,识别结果和来自输出语义转换器模块68的信息中每一个对每个欲望的参数值的变化ΔI[k]有多大影响是预先确定的。该确定是,使例如来自输出语义转换器模块68的信息将对“疲劳”状态的参数值的变化ΔI[k]具有很大的影响。
需要说明的是,情绪和欲望(本能)的每一个具有其限制范围为0至100的可变参数值范围,并且还使因数ke和ki的每一个具有为情绪和欲望中的每一个所设置的值。
另一方面,如图10所示,中间件层40的输出语义转换器模块68向输出系统69的信号处理模块61至67中适当的一个供应抽象动作命令,类似于上述的应用层41的动作切换模块71所供应的“向前运动”、“愉快”、“吠叫”或“跟踪(球)”。
根据所供应的动作命令,信号处理模块61至67生成供应给传动器251至25n中适当的一个的伺服指令、将从扬声器24(参见图8)输出的语音的语音数据、或者供应给作为机器人“眼睛”的LED的驱动数据,以执行动作,并且按照该命令经过机器人服务器对象32中的虚拟机器人33和信号处理电路14(参见图8)向251至25n中适当的一个和扬声器24或LED发送数据。
如上所述,机器人1适合根据控制程序,相应于机器人内部状态和环境(外部)状态或用户的指令或动作自主地动作。
(3)相应于环境改变本能和情绪机器人1还适于例如在明亮环境中兴奋,而在黑暗环境中平静。即,机器人1适合于具有相应于机器人1周围环境中的三个因素“噪声”、“温度”和“亮度”中的每一个因素(下面将称作“环境因素”)的范围而改变的情绪和本能。
具体地说,机器人1具有检测周围环境的外部传感器,除了设置在各自适当位置的上述CCD摄像机20、距离传感器22、触摸传感器21和麦克风23之外,还包括温度传感器或热传感器(未示出),以检测环境温度。中间件层40的识别系统60包括分别对应于上述传感器的用于噪声检测、温度检测和亮度检测的信号处理模块50至52。
噪声检测信号处理模块50根据经过机器人服务器对象32中的虚拟机器人33、麦克风23(参见图8)给出的语音数据检测周围环境噪声水平,并且将检测结果输出给输入语义转换器模块59。
温度检测信号处理模块5 1根据经过虚拟机器人33、热传感器供给的传感器数据检测周围环境温度,并且将检测结果输出给输入语义转换器模块59。
亮度检测信号处理模块52根据经过虚拟机器人33、CCD摄像机20(参见图8)供给的图像数据检测周围环境亮度,并且将检测结果输出给输入语义转换器模块59。
输入语义转换器模块59根据信号处理模块50至52的输出,识别周围环境“噪声”、“温度”和“亮度”中每一个的程度,并把识别结果输出给应用模块41的内部状态模块(参见图11)。
具体地说,输入语义转换器模块59根据噪声检测信号处理模块50的输出,识别周围环境“噪声”的程度,并把类似“嘈杂”或“平静”的识别结果输出给情绪模型73、本能模型74等。
此外,输入语义转换器模块59根据温度检测信号处理模块51的输出,识别周围环境“温度”的程度,并把类似“热”或“冷”的识别结果输出给情绪模型73、本能模型74等。
此外,输入语义转换器模块59根据亮度检测信号处理模块52的输出,识别周围环境“亮度”的程度,并把类似“明亮”或“黑暗”的识别结果输出给情绪模型73、本能模型74等。
情绪模型73根据输入语义转换器模块59所供应的上述各种识别结果,通过计算式(4)改变每个情绪的参数值。
然后,情绪模型73根据从输入语义转换器模块59供应的关于“噪声”、“温度”和“亮度”的识别结果,为一个预定的适当情绪增加或减小式(4)中的因数ke的值。
具体地说,例如,当识别结果“嘈杂”被供应时,情绪模型73将“生气”情绪的因数ke的值增加一个预定数。另一方面,当所供应的识别结果是“平静”时,情绪模型74将“生气”情绪的因数ke的值减少一个预定数。由此,“生气”情绪的参数值将在周围环境“噪声”的影响下改变。
此外,当供应识别结果“热”时,情绪模型73将“愉快”情绪的因数ke的值减少一个预定数。另一方面,当所供应的识别结果是“冷”时,情绪模型73将“悲伤”情绪的因数ke的值增加一个预定数。由此,“悲伤”情绪的参数值将在周围环境“温度”的影响下改变。
此外,当供应识别结果“明亮”时,情绪模型73将“恐惧”情绪的因数ke的值减少一个预定数。另一方面,当所供应的识别结果是“黑暗”时,情绪模型73将“恐惧”情绪的因数ke的值增加一个预定数。由此,“恐惧”情绪的参数值将在周围环境“亮度”的影响下改变。
类似地,本能模型74根据输入语义转换器模块59供应的上述各种识别结果,通过计算式(5)来改变每一个欲望的参数值。
此外,本能模型74根据从输入语义转换器模块59供应的关于“噪声”、“温度”和“亮度”的识别结果,为一个预定的适当欲望增加或减少式(5)中的因数ki的值。
此外,例如当供应识别结果“嘈杂”和“明亮”时,本能模型74将“疲劳”状态的因数ki的值减少一个预定数。另一方面,当所供应的识别结果是“平静”和“黑暗”时,本能模型74将“疲劳”状态的因数ki的值增加一个预定数。此外,例如当识别结果是“热”或“冷”时,本能模型74将“疲劳”的因数ki的值增加一个预定数。
因而,当机器人1例如处于“嘈杂”环境中时,“生气”情绪的参数值容易增加,而“疲劳”状态的参数值容易减少,所以机器人1通常将进行“被激怒”动作。另一方面,当机器人1的周围环境是“平静”时,“生气”情绪的参数值容易减少,而“疲劳”状态的参数值容易增加,所以机器人1通常将“轻轻地”动作。
另外,当机器人1处于“热”环境中时,“愉快”情绪的参数值容易减少,而“疲劳”状态的参数值容易增加,所以机器人1通常将显示“懒惰”动作。另一方面,当机器人1处于“冷的”周围环境中时,“悲伤”情绪的参数值容易增加,“疲劳”状态的参数值也容易增加,所以机器人1通常将“以抱怨冷”的方式动作。
当机器人1处于“明亮”环境中时,“愉快”情绪的参数值容易增加,而“疲劳”状态的参数值容易减少,所以机器人1通常将显示“兴奋”动作。另一方面,当机器人1处于“黑暗”周围环境中时,“愉快”情绪的参数值容易增加,“疲劳”状态的参数值也容易增加,所以机器人1通常将“轻轻地”动作。
机器人1以上述方式构成,并且可以具有相应于周围环境变化的情绪和本能,并且根据其情绪和本能的状态自主地动作。
(4)本发明的应用(4-1)一般说明适用于本发明的机器人1的基本部分将在下面说明。机器人1被构成学习与图像信号和语音信号(声音信号)相关联的动作,并且在学习后,用关联该动作的图像信号和语音信号启动动作。在下面的说明中,主要说明使机器人1学习与语音或声音相关联的动作的一个例子。然而,当然,也可以使机器人1学习与图像关联的动作。具体地说,根据本发明,机器人1按以下方式构成如图15所示,机器人1包括语音识别单元101,传感器数据处理器102,本能/情绪存储单元103,关联存储器/检索存储器104和动作生成器105。
语音识别单元101起到一个输入信息检测器的作用,检测与检测触摸机器人1的触摸传感器(例如,图8中的触摸传感器21)的触摸检测同时或者刚好之前或之后供应的信息。关联存储器/检索存储器104彼此关联地存储响应触摸所作出的动作和由语音识别单元101检测的输入信息(语音信号)。动作生成器105作为动作控制器来工作,提供存储在关联存储器/检索存储器104中的并且与新近获取的输入信息(语音信号)相关的动作。此外,传感器数据处理器102响应例如触摸传感器(未示出)的触摸检测工作,以使机器人1进行动作。下面将具体说明这些机器人部件所起的作用。
语音识别单元101处理从外部(麦克风23)供应的语音信号,把它们识别为预定的语言。具体地说,语音识别单元101采用HMM,通过基于HMM的多个识别类别将输入语音识别为音素序列。
语音识别单元101还能够经过学习基于现存类别生成增加数量的类别。例如,当给定一个未识别的语音时,语音识别单元101将划分现存类别,以生成图6B所示的新类别。具体地说,语音识别单元101为一个输入语音划分具有特定因数(归属估价)的现存类别,以生成新类别。例如,划分具有较少特征的类别的部分,以提供新类别。由此,语音识别单元101可以识别预注册的语言以及新语言。
传感器数据处理器102根据传感器数据的变化生成教导机器人的运动(动作)的信号。也就是,传感器数据处理器102识别输入动作信息。
将教导给机器人的运动可以是例如预置的运动,也可以是用户设置的新运动。此外,可以选择性地生成已经设置的任何运动。
对机器人预置运动的教导是,例如通过输入触摸传感器的传感器数据触发机器人的预置运动。例如,机器人被预置为,当机器人背部设置的预定触摸传感器被推动时,时机器人从“站立”位置转换到“坐”位置。即,当处于“站立位置”的机器人的背部上的触摸传感器被推动时,教导机器人实际转换到“坐”位置。
需要说明的是,这种用于对机器人运动的教导的传感器可以设置在头部或腿部边缘。通过在任意位置设置这种传感器,能够教导机器人各种运动。
此外,对机器人进行新设置的运动的教导可以例如通过改变运动部件(关节)的控制信号来进行。运动部件包括例如设置在腿部单元3A至3D的关节上的传动器(伺服电动机)251至25n,腿部单元3A至3D与身体单元2之间的铰链轴,头部单元4与身体单元2之间的铰链轴,尾部单元5与尾巴5A之间的铰链轴等。
例如,当机器人1的运动部件被用户强制运动时,将出现对运动部件的负载。对运动部件的负载将产生一个信号,它不同于在运动部件正常运动期间(没有外部负载)时出现的信号,例如对运动部件的伺服信号。机器人1姿态的改变,即机器人1的运动可以依据该信号得知。由此,通过存储该信号,用户推动的运动可以被教导为对机器人1的新运动。下面将进一步说明这种新运动的教导。此外,根据本发明,机器人1适合于从这种信号变化中检测外力(外部负载),从而如下面将进一步说明的那样学习该外力。
此外,传感器数据处理器102可以识别机器人1必须学习的动作的类别。例如,机器人1可以根据动作特征空间中的特征识别其类别,来学习输入动作信息。
本能/情绪存储单元103存储与上述的语音和动作关联的情绪的信息。也就是,本能/情绪存储单元103使用来自上述本能模型或情绪模型的输入传感器信号等改变本能或情绪。
关联存储器/检索存储器104根据来自上述的语音识别单元101、传感器数据处理器102和本能/情绪存储单元103的信息进行学习,然后根据该学习生成相应于输入语音和图像的动作信息。关联存储器/检索存储器104利用在上文中已经结合式(1)和(2)进行了说明的、基于图像和语音类别彼此相关的关联存储器的传统原理,并且相关联地存储每个信息。
例如,当传感器数据处理器102从传感器数据中检测从“站立”位置转换到“坐”位置的运动教导,并且在传感器数据处理器102检测教导的同时或者刚好之前或之后,语音识别单元101识别发出的语言“向后”时,关联存储器/检索存储器104将彼此关联地存储(学习)从“站立”转换到“坐”位置的运动和发出的语言“向后”。一般来说这与教导一条真狗“坐下”相同。
此外,只有当输入运动和语言被成对预置时,关联存储器/检索存储器104才适合于通过将输入运动和输入语言相互关联(触发)来学习输入运动。例如,如果发出的语言“向后”与上述的所谓“坐下”运动的教导同时或刚好之前或之后给出,关联存储器/检索存储器104将学习(存储)与发出的语言“向后”相关联(联系)的运动。然而,如果输入语言是不同于“向后”的任何语言,则将不能学习该运动。
此外,关联存储器/检索存储器104可以通过将识别的运动或语言与本能/情绪存储单元103输出的本能和情绪相关联来学习运动。例如,如果关联存储器/检索存储器104在按语音(发出的语言)输入的运动学习中感到恐惧(害怕),则它可以学习(存储)这种与“害怕”情绪相关联的这种语音。
如上所述,关联存储器/检索存储器104学习(存储)彼此关联(联系)的语音、运动或情绪,并且在学习之后,它将根据学习结果生成相应于输入图像、语音等的动作信息。
动作生成器105基于上述关联存储器/检索存储器104输出的动作信息生成动作。例如,当学习上述的“向后”的教导之后,所发出的语言“向后”被送给关联存储器/检索存储器104时,动作生成器105将产生从“站立”位置到“坐下”位置的转换。
如上所述,机器人1将能够学习与语音信息和传感器信号(数据)的变化相关联的动作,根据输入语音执行作为学习结果的动作(运动)。
下面将说明机器人1例如依据“坐下”运动的学习进行一系列操作直至输出该运动的过程。
在学习期间,触摸机器人1,与此同时或刚好之前或之后,给机器人1语音(声音信号),如图16A所示。语音信号是例如“向后”。所供应的触摸信号等于从“站立”位置转换到“坐下”位置的运动的教导,以改变来自与该运动有关的运动部件的传感器信号。需要说明的是,触摸传感器或者按钮(例如,“坐下”的教导按钮)可以按上述方式设置在一个预定位置,以便通过操作(推动)触摸传感器或按钮来教导机器人运动。在此情况下,供应触摸信号是指通过操作这种触摸传感器生成信号。
使用上述的教导操作,将教导机器人1进行图16A中的从(A-1)转换到(A-2)的运动。
在如此教导之后,机器人1将转换到如图16A中(A-2)所示的“坐下”位置。当学习期间给出教导机器人1的发音(声音信号)、例如图16B的(B-1)中的“向后”时,机器人移动到学习期间教导的、如图16B中(B-2)所示的位置。
将教导给机器人的运动不限于上述的方式。也就是,在给出语音(说话)的同时或者前后,可以从机器人背部向前推动机器人1,使机器人颈部上抬或下压、或者抬高前腿,以便教导机器人1这些运动。通过将运动的这种教导与相应的发音相关联,可以教导机器人1例如“伏卧”、“站立”或“摇摆”的运动。
此外,机器人1可以按下述方式学习。
首先,机器人1将在学习运动中学习“踢”。具体地说,用户(训练者)将操作前腿,并教导机器人1“踢”东西。机器人1待学习的运动可以是预置的或者是新的。另一方面,经语言识别学习的发音“红色”和根据图像识别的红颜色被彼此关联地存储。
作为这种学习的结果,机器人1将识别发出的语言“踢红色的东西”,然后将踢“红色”的东西作为生成的动作。例如,红色对象通过输入图像的分段和识别图像的红色部分来识别。也就是,机器人1将识别包括诸多红色段的东西,以作为去踢的对象。
在上述实施例中,语音信息与动作相关联,但本发明不局限于这种联系。例如,图像信息可以与动作信息相关联。在此情况下,机器人1装备有图像识别单元,用于从诸如(例如)CCD摄像机20的摄像单元供应的图像信号中识别特定的图像。
此外,已经描述了关于本能/情绪存储单元103输出的本能或情绪与学习的动作或发出的语言相联系的上述实施例。然而,本发明不局限于这种联系。例如,后面发生的本能或情绪可以链接目前的动作和发出的语言。
此外,在机器人1中,输出(真实动作)所产生的情绪、作为该情绪的动机的输入(例如,发出的语言或图像)以及输出本身(真实动作)可以被存储(学习)。由此,在学习后的真实现场中,机器人1可以从输入语言等中检索相应存储的情绪,以进行预定的动作,而不提供应当相应于输入语言内在地提供的任何输出(动作)。
通过存储(学习)触摸(动作)一个红色东西(输入)时产生的情绪,例如,检测到高温时的恐惧感觉(害怕),机器人1可以在以后看见红色东西(输入)时检索害怕,从而作出表现害怕的动作(作出预定动作)。也就是,机器人1可以进行任何适当动作,而不重复过去的诸如触摸红色东西的动作。
在此情况下,关联存储器/检索存储器104将以相互关联的方式存储表现为相应于由语音识别单元101检测的语音信号而作出的动作结果的动作结果信息和语音信号,并且动作生成器105根据关联存储器/检索存储器104基于新语音信号识别的动作结果控制动作。
此外,机器人1可以影响输入的其它空间,影响输入信号的特征空间中的情绪和动作以影响该输入信号的分类。也就是,如图6A、图6B和图6C所示,当类别在图像和语音的特征空间中彼此接近时,参考第三特征空间(例如,动作特征空间)分类该图像和语音。
具体地说,在响应由图像信号表征的第一输入对象(图像)进行第一动作的情况下,给予机器人1奖赏(例如,轻拍),而当机器人响应非常相似于该图像特征空间中的第一对象的第二对象,还进行作为分类结果(第一和第二对象在该图像特征空间中彼此接近)的第一动作时,则给予机器人惩罚(例如“击打”);该机器人1适合于响应第二和该第二对象的后续输入进行不同于第一动作的任何动作。也就是,另一个特征空间中的分类结果(此情况下的动作结果)被用来影响另一个分类或分类策略。
在此情况中,语音识别单元101具有作为以下部件的功能输入信息检测器;特征检测器,检测由输入信息检测器检测的语音信号的特征;信息分类单元,根据特征分类语音信号。需要提醒的是,基于特征的语音信号分类相当于HMM的分类。需要说明的是,特征提取器122(将结合图33进行详细说明)执行特征检测器的功能,而图33所示的HMM单元123执行信息分类单元的功能。
此外,语音识别单元101具有作为分类改变器的功能,该分类改变器在动作生成器105的控制下,根据表现为机器人1进行的动作结果的动作结果信息改变已经引发动作的语音信号的分类(识别类别)。需要说明的是,通过关联进行的学习可以是通过将机器人1被奖赏时所作出的动作与刺激(语音、图像、动作或类似物)相关联进行的学习。
本发明的机器人1的所有部件已经在前面说明。下面将进一步说明每个部件。
(4-2)任意动作的学习(传感器数据处理器的详细说明)如上所述,机器人1学习是预置运动或任意运动的运动(动作)。下面将说明机器人1如何学习任意运动,即,新运动。
机器人1的关节由相应的如上所述的伺服电动机控制。在机器人1中,基于来自CPU 10的角度指定(角度指定信息)生成按时间系列的角度,并且作为结果,机器人1将表现一个运动。
此外,伺服控制器提供诸多信号,包括从设置在每个关节中的电位计供应的实际关节角度,和供应给每个伺服电动机的脉冲信号。使用该脉冲信号,而不是用于教导机器人1上述预置运动的来自触摸传感器的传感器信号(传感器数据),教导机器人1任意运动。
为了学习该任意运动,机器人1包括图17A所示的辨别单元111。该辨别单元111相当于图15中的传感器数据处理器102,它为机器人1学习任意运动而构造。辨别单元111专用于机器人1根据供应给每个关节伺服电动机的控制信号的脉宽学习运动。
需要注意的是,机器人1适合于变换各种姿态,因而当学习一种运动时它将不保持任何一种恒定的姿态。因此,机器人1必须被教导“站立”和“坐下”位置中的相似运动。即,必须与机器人1的每种姿态相关联,通过使用控制运动部件(关节)的运动的脉宽来教导机器人1进行运动。
为此,辨别单元111包括如图17B所示的多个辨别器1111、1112,…,其每一个用于一种姿态。例如,第一辨别器1111被提供用来学习“坐下”位置的运动,第二辨别器1112被提供用来学习“站立”位置的运动。
根据机器人1当前姿态的信息,辨别单元111选择多个辨别器1111、1112,…中预期的一个,用于机器人1学习任意姿态的运动。
需要说明的是,表示当前姿态的姿态信息可以从例如电位计261至26n、角速度传感器18或加速度传感器19所供应的重力信息中检测。此外,可以根据来自动作生成器105的作为运动部件控制信号输出的命令,获取当前姿态信息。
通过将没有给机器人1施加外力时出现的脉宽与施加外力时出现的脉宽进行比较,实现教导(学习)。也就是,供应给处于正常状态下(没有施加的外力)的每个关节(伺服电动机)的脉冲信号的宽度取固定在一定限度内的图案,而在机器人1被施加外力时,供应给该关节的脉冲信号的宽度将具有不同于正常状态下的关节所显示的图案。为了通过向机器人施加外力教导机器人1运动,上述关系(脉宽图案之间的差别)被用来获取关于运动的信息。具体地说,按照下面将说明的方式实现运动学习。
例如,当根据处于站立位置的姿态信息识别机器人1时,在施加给机器人1用于教导运动的外力时出现的脉冲宽度将供应给第一辨别器1111,在同一时间还供应指定给该运动的信息给该辨别器。例如,用于运动教导的脉冲宽度是用于如下式(6)所示的所谓的PID控制的信号的脉冲宽度。更具体地说,将PWM控制的脉冲用于此目的。P=Pg×en+Ig×Σi=0neiΔt+Dg×en-en-1ΔT-----(6)]]>其中,ei是时间i的误差(电位计中目标角度与当前角度(实际角度)之间的差值),Pg、Ig和Dg是常数。用于运动学习的脉宽是通过计算式(6)获得的P值。
例如,矢量被用作脉宽的信息,当分别为运动学习和要被教导的运动的目的将外力施加给机器人1时出现该脉宽。五维矢量[V0,V1,V2,V3,V4]被用作指定给要被教导的运动的信息。有了该矢量的五个元素V0、V1、V2、V3和V4,就能够识别五个类型的刺激。下面将详细说明教导。
当从背部向后推动机器人1时,提供从此时产生的脉宽中获得的矢量P1和打算运动的信息O1=
。例如,如图18所示,辨别器1111提供有脉宽矢量(向后)P1和

矢量元素V0、V1、V2、V3和V4的每一个被学习为0与1之间的实数(具有浮点)。(要学习的)刺激部分越大,矢量元素就越接近1。例如,一个矢量被获取为如
的实数,以作为具有信息O1=
的运动学习的结果。
此外,当从背部向前推动机器人1时,提供从此时产生的脉宽中获得的矢量P2和打算运动的信息O2=
。当机器人1颈部被下推时,提供从此时产生的脉宽中获得的矢量P3和打算运动的信息O3=
。当机器人1颈部被上推时,提供从此时产生的脉宽中获得的矢量P4和打算运动的信息O4=
。此外,例如,还提供从不施加外力时出现的脉宽中获得的矢量P0和打算运动的信息O0=[1,0,0,0,0]。将矢量P0和信息O0与上述矢量和信息进行比较,以学习打算的运动。
图19至图25示出脉宽的例子,其中水平轴显示关节的位置,而垂直轴显示由所谓的PWM脉冲获得的值。
图19显示当机器人1处于站立位置时的脉宽(脉冲信号的值)。在图中,“FR1”指示前右腿的第一关节(肩关节)的位置,“FR2”指示前右腿的第二关节(膝关节)的位置,“FR3”指示前右腿的第三关节(踝关节)的位置。“FL1”指示前左腿的第一关节(肩关节)的位置,“FL2”指示前左腿的第二关节(膝关节)的位置,“FL3”指示前左腿的第三关节(踝关节)的位置。“HR1”指示后右腿的第一关节(肩关节)的位置,“HR2”指示后右腿的第二关节(膝关节)的位置,“HR3”指示后右腿的第三关节(踝关节)的位置。“HL1”指示后左腿的第一关节(肩关节)的位置,“HL2”指示后左腿的第二关节(膝关节)的位置,“HL3”指示后左腿的第三关节(踝关节)的位置。“Head 1”、“Head 2”和“Head 3”分别指示颈关节的位置。上述情况还适用于图20至图25。因而,当机器人1处于一个状态(姿态或运动)时,可以获得总共15个脉宽。也就是,可以获得如包括15维元素的矢量那样的用于上述学习的矢量P。
当从背部向前推处于站立位置的机器人1时,产生具有如图20所示宽度的脉冲。当从背部向后推处于站立位置的机器人1时,如此产生的脉冲宽度将是如图21所示的那样。当从头部向上推处于站立位置的机器人1时,产生具有如图22所示宽度的脉冲。当从头部下压处于站立位置的机器人1时,将产生具有图23所示宽度的脉冲。当右腿支持处于站立位置的机器人1时,将产生具有如图24所示宽度的脉冲。当左腿支持处于站立位置的机器人1时,产生具有如图25所示宽度的脉冲。根据这些脉冲宽度,辨别器111检测机器人1的相应姿态,用于学习运动。
此外,机器人1包括如图26所示的愉快/不愉快判断单元112,以便象真实动物那样进行运动学习。
从传感器数据处理器102接收输出时,愉快/不愉快判断单元112判断该数据是定义愉快的情绪值、还是定义不愉快的情绪值,并输出相应的动作信息。例如,当情绪模型73中定义不愉快的情绪具有较大数值时,愉快/不愉快判断单元112输出将使动作避免不愉快的动作信息,当从背部向后推动机器人1时,愉快/不愉快判断单元112将传感器数据处理器102的输出判断为定义不愉快的情绪值,并且输出转换到“坐下”位置的动作信息。此外,当从背部向前推动或者从颈部下压机器人1时,愉快/不愉快判断单元112将来自传感器数据处理器102的数据判断为定义不愉快的情绪值,并输出转换到“伏卧”位置的动作信息。当向上提处于伏卧位置的机器人1的颈部时,愉快/不愉快判断单元112将来自传感器数据处理器102的数据判断为定义不愉快的情绪值,并且输出转换到“坐下”位置的动作信息。当向上提处于坐下位置的机器人1的颈部时,愉快/不愉快判断单元112将来自传感器数据处理器102的数据判断为定义不愉快的情绪值,并且输出转换到“站立”位置的动作信息。也就是说,当作用于机器人1的外力如此之大以致感觉不愉快时,机器人1将进行上述运动。动作生成器105根据上述动作信息生成动作。
像教导一条真狗或类似物一个姿态那样,被施加动作或外力的机器人1将学习从它感觉到对这样一种处理不愉快的当前位置转换到任何其它位置。
需要说明的是,教导机器人1一个动作需要多次重复外力或动作的应用。此外,重复该教导或教导可以用于其它姿态(其它辨别器)。每一个辨别器被构成具有例如分层的神经网络,用于一种学习。如图27所示,例如一个三层神经网络包括输入层、隐藏层和输出层。在此情况下,学习或教导的过程将概述如下。
在输入层,相应于输入层形成传感器信号或类似物被供应给每个神经元。在隐藏层,提取经输入层的每一个神经元发送的数据特征。具体地说,隐藏层中的每个神经元备注输入数据的某些特征,并提取用于估价。在输出层,将来自隐藏层的神经元的诸多特征组合在一起,以作出最终决定。
在上述三层神经网络中,建立基于反向传播的学习,它适合于构建例如辨别器。由此,通过在背部向后推动机器人1,向辨别器供应O1=
,后者将输出一个接近
的数值(实数)。
如上所述,机器人1可以经过辨别单元111学习任意运动。因而通过学习彼此关联的图像和语音信号,机器人1可以响应给予的预定发音(语音信号),作出一个机器人相应于该预定发音已经学习的动作。
(4-3)学习施加给机器人1的外力在上面的说明中,已经说明了任意运动的学习。在任意运动的学习中,机器人1学习由所施加的外力推动机器人1的运动(姿态),并且响应给予的预定发音(语音信号)作出运动。下面将说明这种外力类型的学习。在学习被施加的外力的类型之后,当施加机器人1已经学习的外力时,机器人1可以进行预定运动。具体地说,在机器人1已经学习了用于转换到坐下位置的施加到腰部的外力时,当用相当于该外力的外力作用于该机器人1的腰部时,该机器人将识别该外力输入并且进行作为预定运动的例如坐下运动。下面将进一步说明外力的学习。
如图28所示,为了学习外力,机器人1含有运动部件151;移动运动部件的关节单元152;检测器153,检测具有经运动部件151施加的外力的关节单元152的状态;和学习单元160,彼此关联的学习由检测器153检测的关节单元152的状态和外力。在学习了关节单元152的状态和外力之后,当施加外力时,机器人1可以根据关节单元152的状态识别外力的类型。如图6和图8所示,运动部件151包括腿部单元3A至3D;头部单元4和尾部单元5,这些部件与身体单元2结合并且由传动器251至25n驱动。关节单元152包括诸多传动器,具体地说是构成诸多传动器的诸多电动机。
由于上述结构,机器人1通过使用供应给电动机(传动器)的PWM脉冲,可以学习外力。如上所述,在机器人1中,腿部单元3A至3D、头部单元4和尾部单元5的每一个部件都用关节与身体单元2联结,它们是运动部件。腿部单元3A至3D的每一个包括与多个关节(肩关节,膝关节和踝关节)彼此联结的多个运动部件;腿部单元3A至3D用诸多关节分别联结到身体单元2的前左部、前右部、后左部和后右部;头部单元4和尾部单元5分别用诸多关节联结到身体单元2的前端和后端。能够使运动部件运动的关节由传动器251至25n组成。PWM脉冲信号被供应给电动机(被联结的传动器251至25n)。
PWM脉冲信号的宽度依赖于经运动部件151(上述的每个单元)向其施加有外力的关节(电动机)152的状态。即,它被计算为误差或每个关节(电动机)的目标角度与实际角度之间的差值。由此,当外力被施加给机器人1时,误差将是很大的,脉宽也是很大的。也就是说,当较大的外力施加于机器人1时,PWM脉冲信号的宽度将是很大的。因而,机器人1通过使用这种PWM脉冲信号来学习外力。检测器153检测PWM脉冲信号的宽度,作为经运动部件151外力作用于其上的关节单元152的状态。需要说明的是,由于PWM脉冲信号的宽度被计算为上述的每个关节(电动机)的目标角度和实际角度之间的误差或差值,因此由检测器153检测的关节单元152的状态可以说成是每个关节(电动机)的目标角度和实际角度之间的误差或差值。还需要说明的是,可以作为图8所示的信号处理电路14的一个功能和其它功能、或者通过软件或目标程序实施检测器153。
在该实施例中,施加给腿部单元3A至3D中的电动机(关节)的PWM脉冲信号和施加给身体单元2和头部单元4中的电动机(关节)的PWM脉冲信号被用作在学习外力时的PWM脉冲信号,下面将要进一步说明。图19至图25示出施加给关节(电动机)的这种PWM脉冲信号的变化,用于学习施加给机器人的外力。正如通过比较图20所示的当从背部向前推动机器人1时出现的脉冲宽度图案和图21所示的当从背部向后推动机器人1时出现的脉冲宽度图案所看到的那样,PWM脉冲的宽度通常是关于“0”(x轴)对称的。
在外力学习中,当各种外力施加于机器人1时出现的PWM脉冲宽度的图案(具体地说是矢量)被用作学习单元160中的学习数据,其中神经网络被用于外力学习。该学习单元160由例如软件或目标程序来实现。
对于神经网络,层连接型网络的反向传播神经网络被用于外力学习。反向传播神经网络对图案识别是高度自适应的。该实施例使用三层反向传播神经网络,包括输入层161、隐藏层(中间层)162和输出层163,如图29和图30所示。
在三层反向传播神经网络中,当学习外力后,信息(脉宽)Din从触摸传感器供应到输入层161时,输出层163将输出与触摸传感器所供应的信息Din相对应的有关已经学习的外力的类型的信息Dout。
三层反向传播神经网络中的输入层161、隐藏层162和输出层163按下面将要说明的方式构成。
输入层161具有多个神经元(该实施例中是18个神经元)。也就是输入层161被供应用于外力学习的18个数据。机器人1具有三种类型的当前姿态,例如“站立”、“坐下”和“睡觉”。施加给每个关节(关节中的电动机)PWM脉冲信号的宽度有15种类型(12种类型(=3种类型×4)供4个腿单元使用,3种类型供头部单元使用)。因此,总共18种类型的PWM脉冲宽度作为数据供给输入层161。
用于关节状态的外力学习的当前姿态依赖于机器人1的姿态,也就是说,由于脉冲宽度依赖于机器人1的姿态。
输入层161供应有一个图案,它是包括如来自触摸传感器的信息DIn的各种脉冲宽度的矢量。需要说明的是,在该实施例中,由于输入脉冲宽度在[-512,512]的范围内取值,因此它被下式(7)归一化Input=(P+|Pmin|)/(Pmax+|Pmin|)………(7)其中,P是测量的脉冲宽度,Pmax最大脉冲宽度(512),Pmin是最小脉冲宽度(-512)。由于关于姿态的输入数据取值为
(0或者1),因此脉中宽度不必归一化。
隐藏层162具有多个神经元(在该实施例中是17个神经元)。神经元的数量通过所谓的拇指(thumb)规则确定。也就是说,输入层161中的神经元数量和输出层163中的神经元数量被平均,然后平滑平均的结果,以确定神经元数量。通过拇指规则确定的隐藏层162中的神经元数量“numOfHidden”,由下式(8)给出numOFHidden=(numOfInput+numOfOuput)/2+2=14+α…(8)其中,“numOfInput”是输入层161中的神经元数量,“numOfOuput”是输出层163中的神经元的数量,α是通过平滑增加或较少的值。在式(8)中通过把“18”设置为输入层161中的神经元数量“numOfInput”和把“10”设置为输出层153中的神经元数量“numOfOuput”,将提供隐藏层162中“numOFHidden”17个神经元。
输出层163具有多个神经元(该实施例中有10个)。由于输出层163中有10个神经元,机器人1通过学习可以识别10种类型的外力。也就是说,机器人1可以识别10种类型的外力,包括例如“ForceForward”(在背部向前推机器人1的外力,如图20所示)“ForceBackward”(在背部向后推机器人1的外力,如图21所示),“RightHandUp”(抬高右手的外力,如图24所示),“LeftHandUp”(抬高左手的外力,如图25所示),“BothHandUp”(抬高双手的外力,未示出),“HeadUp”(抬高头部的外力,如图22所示),“HeadDown”(下推头部的外力,如图23所示),“HeadRight”(向右推头部的外力,未示出),“HeadLeft”(向左推头部的外力,未示出)和“Noforce”(未施加外力,如图9所示)。
输入层161、隐藏层162和输出层163被构成上述结构。各种输入/输出函数可以在隐藏层162和输出层163中使用,但是在该实施例中,使用所谓的S形函数。与所谓的阈(threhold)函数不同,S形函数具有如图31所示的提供对输入总和进行平滑改变的输出的特征。
三层反向传播神经元网络用来学习各种外力,如下所述。
外力学习是通过向网络(学习单元160)提供一对如图30所示的输入矢量数据和教导信号矢量数据进行的。供应训练者矢量数据,使某些神经元输出“1”,而其它神经元输出“0”。也就是,“1”被供应给要被识别的类型的外力,而“0”被供应给所有其它类型的外力。
中间层或隐藏层162提供输出yi(1),作为通过计算由下式(9)给出的S形函数“sigmoid()”得到的输入和的结果,输出层163提供输出yj(2),作为通过计算由下式(10)给出的S形函数“sigmoid()”得到的输入和的结果。下式(11)用来更新加权,也就是,学习加权。S形函数“sigmoid()”是由下式(12)给出的函数。yj(1)=sigmoid(Σi=0numOfInputWijai)--(9)]]>yj(2)=sigmoid(Σi=0numOfHiddenWij(2)ai(1))--(10)]]>Wij(m+1)(t)=Wij(m+1)(t-1)-ϵyi(m)(t)Zi(m+1)+βwij(m+1)(t-1)(m=0,1)---(11)]]>
sigmoid(x)=1/(1+exp(-x))………………(12)其中,ai是每个输入脉冲信号的宽度,zi是误差反向传播输出,ε是学习函数,β是运动系数。学习函数(ε)和运动系数(β)是对学习速度影响很大的因数。例如,在如该实施例构成的机器人1中,学习速度可以被定为具有ε=0.2和β=0.4的最佳值。
输入矢量数据的输入和训练者矢量数据的输入被重复多次,直至供应给神经网络的输入矢量数据与训练者矢量数据之间的差值或误差小于阈值。然后,结束学习。例如,当下式(13)给出的平均误差小于阈值时,结束该学习误差=(∑|te-a|2)/numOfOutput………………(13)其中a是输入矢量数据,te是训练者矢量数据。
例如,机器人1被设计成在在线学习(连续学习)中重复10次学习同样的数据。另外,将机器人1设计成连续学习大约20次相同图案的数据。这样,机器人1将学习总共大约800个样本。
图32示出学习次数和平均误差之间的关系示例。如图32所示,当学习已经进行了约50次时平均误差最小,这意味着进行50次尝试后结束学习。需要说明的是,通常随机地给出加权因数的初始值,它依赖于学习应当重复多少次的初始值。也就是说,根据该初始值,该学习在上述情况中将尝试约50次结束,但在其它情况中学习约尝试150次。
三层反向传播神经网络按上述方式学习外力。因而,机器人1可以接收多种类型的输入外力(多次供应一个外力)并且学习与关节单元152的状态(例如PWM脉宽)关联的多个输入外力,以识别(分类)外力。需要注意的是,例如机器人1通过所谓的通用性检验证实外力是否已经被成功地分类。
具体地说,例如,当用外力在机器人1腰部作用于机器人1时,通过上述学习识别施加到腰部的外力被包含在曾经学习过的多种外力之中。具体地说,由施加在腰部的外力产生的脉宽(图案)对应于供应给每一个关节单元152的任何一个PWM脉宽(图案),从而按对应的坐下运动坐下。由此用户通过触摸(外力)发出的指令自由度可以保证机器人1进行许多类型的运动。
需要注意的是,在上述说明中已经说明了使用三层反向传播神经网络的学习,但是学习单元当然还可以使用任何其它的学习方法。例如,学习单元可以使用SVM(support vector machine,支持矢量机)分类施加给机器人1的外力。SVM是如在感知器中用于线性分类外力的一种方法。具体地说,SVM在非线性空间中映射一次数据,并且在该空间确定超平面分离,因而可以解决实际的非线性问题。
典型地,在图案识别中,当试验样本x=(x1,x2,x3,…,xn)时,可以确定式(14)给定的识别函数f(x)f(x)=Σj=1nvjxj+b------(14)]]>假定检查(supervise)标记是y=(y1,y2,y3,…,yn),将在下式(15)给出的约束条件下解决使‖v‖2最小的问题约束yj(vTxi+b)≥1 ……(15)这样一种约束问题可以用拉格朗日的待定因子方法解决。通过引入拉格朗日因子,该问题可以被表示为下式(16)L(w,b,a)=12||v||2-Σi=1tai((xiTv+b)-1)------(16)]]>通过在下式(17)中对b和v求偏微分,可以解决下式(18)给出的二次规划问题。该约束由下式(19)给出。
L/b=L/v=0 ………(17)maxΣai-1/2ΣαiαjyiyjxiTxj---(18)]]>约束αi≥0,∑αiyi=0 ………(19)当特征空间中的维数小于训练样本数目时,引入一个松弛变量ξ≥0,将约束改变到由下式(20)给出的那样约束yi(vTxi+b)≥1-ξi…………(20)为了最优,将式(21)给出的目标函数最优化1/2‖v‖2+C∑ξi…………(21)其中C是指定放松约束的范围的系数。用于C的数值必须通过试验来确定。涉及拉格朗日因子α的问题被转变为下式(22)。约束由下式(23)给出。maxΣai-1/2αiαjyiyjxiTxj------(22)]]>约束0≤αi≤C,∑αiyi=0 ………(23)然而,对于上述操作,不能解决非线性问题。所以,引入是非线性映射函数的核函数K(x,x’),数据在高维空间中被映射一次并且在该空间中线性分离。因而,数据可以被处理为按原维数线性地分离。使用映射Φ,可以通过下式(24)给出核函数,并且由下式(25)给出判别函数。
K(x,x’)=Φ(x)TΦ(x’) …………(24)f(Φ(x))=vTΦ(x)+b=∑αiyiK(x,xi)+b…………(25)外部函数是通过计算由下式(26)给出的函数学习的,其约束由下式(27)给出max∑ai-1/2∑αiαjyiyjK(xi,xj) ……(26)约束0≤αi≤C,∑αiyi=0 ……(27)该核函数可以是由下式(28)给出的高斯核函数K(x,x′)=exp(-|x-x′|2σ2)-------(28)]]>动作可以根据上述原理通过SVM来分类。
在上述说明中,已经描述了机器人1根据关节单元的状态学习外力的情况。然而,也可以仅根据关节的状态通过检测作用于机器人1上的外力来进行学习。为此,机器人1包括检测移动运动部件的关节的状态的检测器,和根据关节状态检测器检测的关节状态检测作用于运动部件上的外力的检测器。这些检测器可以是图28所示的检测器153。
按上述方式构成的机器人1可以根据关节的状态检测已经施加给关节的外力。关节状态检测器和外力检测器可以通过例如软件或目标程序来实施。因此,机器人1可以不用专用检测器(硬件)检测施加给它的外力。也可以说成是机器人1不使用任何特定元件就可以学习外力。
需要注意的是,上述机器人1中的外力检测系统是所谓的外力检测器。该外力检测系统当然可以被应用于除机器人1之外的其它装置。
在该实施例中,供应给形成腿部单元3A至3D的关节的电动机的PWM脉冲信号和供应给形成身体单元2和头部单元4的关节的电动机的PWM脉冲信号被用于学习外力。然而,本发明不局限于这些PWM脉冲信号,供应给形成任何其他关节的电动机的PWM脉冲信号也可以被使用。
此外,在上述说明中,已经描述了用于学习外力的PWM脉冲信号。然而,本发明不局限于任何PWM脉冲信号,也可以将依据外力变化的信号用于学习该外力。
(4-4)识别语音信号(语音识别单元的详细说明)下面,将详细说明语音信号的识别。为了识别语音信号,如图33所示,机器人1包括语音(声音)信号输入单元121;特征提取器122和HMM单元123。特征提取器122和HMM单元123被包含在语音识别单元101中,如图15所示。
声音信号输入单元121被供应机器人1周围的声音。即,例如,该单元是上述的麦克风23。来自声音信号输入单元121的声音信号(语音信号)被输出给特征提取器122。
特征提取器122检测声音信号的特征,并将检测的特征输出给下游HMM单元123。
HMM单元123采用根据检测的特征分类输入的声音信号的隐含马尔可夫模型。例如,它根据多个类别识别声音信号。然后,HMM单元123输出根据每一个类别识别的结果为相应于每个字类别的概率,例如作为矢量值。
使用上述部件,机器人1识别来自麦克风23或类似物的输入语音为音素序列。
然后将语音识别单元101的HMM单元识别的语言信息[S0,S1,S2]和已经由传感器数据处理器102获取的关于运动的信息[V0,V1,V2,V3,V4]一起供应给图34所示的关联存储器/检索存储器104。
在学习中,关联存储器检/索存储器104相互关联地存储上述信息。学习之后,关联存储器/检索存储器104将根据输入信息输出动作信息,例如,矢量值形式的动作信息[B0,B1,B2,B3]。
如图35所示,例如,在作为语音识别结果的语言“向后”和作为动作获取结果的矢量
已经被供应给关联存储器/检索存储器104用于学习的情况下,如果在学习之后将发出的语言“向后”供应给关联存储器/检索存储器104,则关联存储器/检索存储器104将输出用于“向后”运动的动作信息

在上述说明中,已经说明了机器人1通过关联检索进行的学习。下面将描述通过便于识别目标对象的共享关注来进行的学习。
(5)共享关注学习语音或图像的机器人1被设计用来根据背景噪声识别特定语音或图像,并取作目标对象。共享关注便于识别这样的目标对象。例如,通过生成受训者(机器人1)可以根据其指定目标对象的刺激,比如震动或摇摆目标对象(视觉刺激)或发音(声音刺激),能够形成共享关注。
对于共享关注,如图36所示,机器人1包括图像信号输入单元131;分段单元132和目标对象检测器133。分段单元132和目标对象检测器133的功能是识别目标对象。上述的动作生成器105根据如此识别并存储在关联存储器/检索存储器104中的目标对象信息和新对象的信息提供动作。
图像信号输入单元131拍摄机器人1的周围环境。具体地说,该单元是如图8所示的CCD摄像机20。来自图像信号输入单元131的图像信号被供应给分段单元132。
分段单元132对图像信号进行分段,例如,根据颜色分段。“分段”是用于识别图像中的区域和检查该区域的特征或者映射特征空间中的特征。分段能够辨别目标对象和拾取的图像中的背景。由分段单元132如此分段的图像信号被供应给下游的目标对象检测器133。
目标对象检测器133从上述分段的图像信息中检测(识别)显著的部分(目标对象)。检测器133检测例如运动部分,也就是随时间改变的部分,作为当该部分满足一定需求时的来自分段图像的目标对象。下面将进一步说明目标对象的检测。
首先,为分段图像中的特定区域的运动部分(随时间变化部分)设置注意量级。“注意量级”是目标对象识别的索引。当根据运动识别目标对象时,该注意量级将随该运动而变化。
该特定区域被跟踪,以便根据其注意量级判断它是否是目标对象。当注意量级满足一定需求时,机器人1将该特定区域识别为目标对象,即,使机器人1“注意”它。
为了识别与其运动相一致的目标对象,当使一条狗注意该目标对象时,该真狗或类似物的训练者将摇动或摆动该目标对象吸引狗的注意。例如,当教导受训者“玻璃杯”时,训练者将摇动它,同时向受训者发出“玻璃杯”的声音。
目标对象检测器133跟踪特定区域,当其注意量级像预定的那样,即,当运动改变预定量时,目标对象检测器133将特定区域识别为目标对象,使机器人1关注该特定区域。具体地说,当注意量级等于或超过阈值时,机器人1将关注该特定区域。
如上所述,目标对象检测器133借助分段单元132设置用于特定区域的注意量级,以检测(识别)目标对象。
图像信号输入单元131包括能够使机器人1进行共享关注的分段单元132和目标对象检测器133。
因此,如上所述,机器人1能够恰当地识别目标对象,以恰当地与图像信息或动作相关联地学习它。
在上述实施例中,目标对象是根据由机器人1共享关注中的目标对象的运动来识别的。然而,本发明不局限于该识别方式。例如,可以根据语音识别目标对象。在此情况下,当语音出现时,机器人1将注意力集中到该语音的起源,并将该语音识别为目标对象。例如,设置用于语音,即,该语音的方向和该语音的音量的注意量级,并且当该方向和音量满足一定要求时将该语音识别为目标对象。
此外,对目标对象的关注可以随时间消逝而减弱。作为选择,也可以设置为,当与目标对象的关联变得平稳时减弱对该目标对象的关注。由此能够关注新的刺激(图像输入和语音输入)并且触发(开始)学习。
另外,可以将较大的数值设置为当在一定条件下、例如随着时间消逝对目标对象的注意较弱时的阈值。此外,可以在同一时间为两个或多个目标对象设置注意量级。该注意量级可以被设置给对象的运动或语音。例如,可以为一个对象设置运动的注意量级,同时为另一个对象设置语音的注意量级。
因而,当一个被注意的对象(特定区域)正在被检查(例如,正在检查诸如颜色、形状等的特征)的时候,可以通过另一个刺激(例如语音或图像)为任何其它对象设置注意量级。应当注意的是,由于当前正在注意的对象具有如上所述的较高的注意量级,因此即使在通过另一个刺激为另一个对象设置注意量级时,也可以连续检查事先选择的对象片刻。
当目前正在注意的对象的注意度已经减弱时,机器人1的关注可以转到具有另一个刺激的对象,即,其注意度已经增加的对象。
此外,可以用目标对象的运动作为刺激、以及用用户或训练者的手指作为刺激来实施共享关注。也就是说,手指指点的对象可以被识别为目标对象。
上述的共享关注是按照人与人之间的正常交互提出的。在此情况下,例如经过分段检测的皮肤颜色区域被取作特定区域,并且关注该区域。下面结合图37进行说明。
如图37所示,假定已经在一种环境中拾取了其中一个人用手142指向锥形物141的图像。需要说明的是,在下面将要说明的处理中,一个对象可以经历一次图像处理,例如,考虑到计算速度等,为图像处理提供一个低通滤波器。
皮肤颜色部分从图像中提取。在此情况下,颜色特征空间被用来检测皮肤颜色部分的特征,并且从该图像中提取皮肤颜色部分。因而,如图37B所示,手142被提取。
然后,如图37C所示,确定手142的纵向方向,因为指向对象的手的形状通常是长方形的。例如,纵向方向被确定为如图37C的直线143所指示的那样。
此外,如此确定的纵向方向在如图37D所示的原始图像中被设置,以识别如图37E所示的对象。也就是,手指所指的锥形物141被识别。例如,手指端部的图像被取下作为一个样本,在颜色特征空间中识别图像的颜色,从而识别具有该颜色的区域。由此,能够识别具有相同颜色,例如黄色的锥形物141。
此外,共享关注不局限于上述的情况,也可以是关注例如训练者或用户的视线所达到的对象。
此外,可以提供用于检查机器人1是否进行共享关注的装置。也就是,当目标对象被共享关注识别时,机器人1作出预定动作。例如,当机器人1已经识别(跟踪)为教导机器人1而摇动的对象时,可以使机器人1作出诸如摇动或点头的动作,从而通知用户或训练者机器人1已经识别了该对象。因此,训练者或用户能够确认机器人1是否已经成功跟踪或者识别训练者为了教导而向机器人1显示的对象。
如上所述,机器人1可以通过这样的与用户或训练者的交互作用估价它自己的动作,并且自己学习最适当的动作。
此外,机器人1可以相互关联地存储动作和其它任何刺激,比如对于传感器的语音,以便仅响应该语音进行动作。
下面将结合图38详细说明关联存储器系统。图38所示的关联存储器系统被设计来存储和检索四个感觉通道输入图案(pattern)(颜色、形状,语音和本能)。正如将从图38所看到的那样,某些图案和原型被事先准备,用于进入包括颜色识别单元201、形状识别单元202和语音识别单元203的每一个通道,并且例如将二进制ID(识别信息)附加在每个原型上。识别单元201至203的每一个识别输入图案对应哪一个原型,并且向关联存储器210的短期存储器211输出输入图案,即,颜色原型、形状原型和语音原型的ID。来自语音识别单元203的语音原型ID经过语义转换器(SC)204到达短期存储器211,与此同时音素信号也送入该短期存储器211。语义变换器(SC)204作出语义和语法标记。至于本能,本能状态模型(ISM)单元205提供本能(例如,好奇心)的变化(δ值),作为输入给关联存储器210的短期存储器211的模拟值。
关联存储器210包括短期存储器211,长期存储器212和关注存储器213。此外,在关联存储器系统中,提供了与短期存储器211关联的释放机构(RM)221和举止网络(BeNet)222。RM(释放机构)221和BeNet(举止网络)222也被称作“动作生成器”。
在图38所示的关联存储器系统中,颜色识别单元201将颜色原型ID附加到由颜色分段模块分段的每一个对象上,并且将数据供应给关联存储器210。语音识别单元203输出由用户或训练者发音的字的原型ID,并将它与发音的音素序列一同发送给关联存储器210。因而,该存储和关联能够使机器人1发出字音。来自每个通道的输入信息被存储在关联存储器210中的短期存储器211中,并且保持预定时间,例如保持相当于一百个对象的时间。
关联存储器210检索过去是否已经存储了输入图案。如果关联存储器210可以检索它,则将该输入图案按照原样发送给RM 221和BeNet 222。当关联存储器221可以检索该输入图案时,将一个检索方向附加到输入图案上,并且将数据发送给RM 221和BeNet 222。
BeNet 222检查来自颜色识别单元201的颜色分段模块的标志(共享关注标志),转换成锁存命令,而不论是否存在用户按上述方式用手指作出的共享关注,并且将该锁存命令发送给关联存储器210。由于从BeNet 222供应了锁存命令,因此关联存储器210基于帧数搜索与该帧数匹配的对象,并且将该对象存储到关注存储器中。如果本能的δ值足够大,则将它从关注存储器213存储到长期存储器212。本能的δ值可以取模拟值,例如0至100。通过存储80的δ值,可以检索数值80。
下面将结合图39详细说明关联存储器,图39示出两层分层神经网络的一个实例。图39所示的实例是竞争学习网络,包括作为第一层的输入层231和作为第二层的竞争层232,其中输入层231的第i单元(神经元)与竞争层232的第j单元之间的相关加权是Wji。该竞争学习网络以两种模式工作存储和检索。在存储模式中,竞争地存储输入图案;在检索模式中,从部分输入图案中检索过去存储的图案。在输入侧提供有与颜色、形状、语音和本能的输入x1,x2,…,xm相对应的m个神经元。例如,当提供20个神经元用于颜色原型ID、形状原型ID和语音原型ID的每一种以及提供6个神经元用于本能类型时,该神经元总计为66个(20+20+20+6)。竞争层232中的每个神经元描述一个符号,竞争层232中的神经元的数量等于可以被存储的神经元或图案的数量。在竞争学习网络中,原型ID和本能类型可以被组合成48,000个图案(=20×20×20×6)。例如,事实上在竞争学习网络中应当提供约300个神经元。
下面解释存储模式。假定输入层231与竞争层232之间的加权Wji取0至1之间的值。最初的关联加权是随机确定的。存储(储存)是通过选择在竞争层中竞争获胜的神经元并且通过增加所选神经元与输入神经元之间的关联的强度(force)(关联加权Wji)完成的。当为输入图案矢量[x1,x2,…xn]识别相应于例如神经元x1的原型ID(第一颜色原型ID)时,该神经元x1被触发,然后将顺序触发为形状和语音按上述相同方式识别的神经元。触发的神经元取值“+1”,而未被触发的神经元取值为“-1”。
通过计算下式(29)在输入侧为神经元x1确定输出(竞争)神经元yj的值yi=Σi=0numOfInputWjiXi-------(29)]]>此外,依据下式确定将赢得竞争的神经元max{yi}获胜神经元与输入神经元之间的关联根据下列Kohonen更新规则进行更新ΔWji=α(x1-Wji)其中α学习系数Wji(new)=ΔWji+Wji(old)用L2Norm归一化结果,以提供下式(30)Wji(new)=Wji(new)Σi=0numOfInputWji2--------(30)]]>关联加权指示所谓的学习本能,并且是一个“存储(memory)”。
在该竞争学习网络中,学习系数是α=0.5。当相似的图案顺序地出现在网络上时,可以检索曾经存储过的图案,并且几乎没有失败。
需要说明的是,关联存储应当是在连续学习的处理中,频繁存储的图案的存储将更强,而不频繁存储的图案的存储将更弱。在本实施例中采用这样的关联存储。也就是,通过调整学习系数和关联存储可以调整该存储。例如,当为图案设置小系数时,需要一个用于相对强存储的出现时间(epoch)。此外,能够相应于出现时间降低学习系数,例如,降低当出现时间较大时为图案初始设置的大学习系数。因而,未经常出现的图案的存储不需要更新许多次,对于存储将成为待定的结果,将检索不同于已经存储的图案的图案,或者不能达到用于检索的检索阈值。然而,由于不能够获得新符号或图案,因此灵活的关联存储系统可以被实施,即使其容量受到限制。
下面将解释检索模式。
假定某些输入图案矢量[x1,x2,…xn]出现在关联存储系统。输入矢量可以是原型ID或原型ID的似然或概率。输出(竞争)神经元yj的值通过计算关于输入侧的神经元xi的上式(29)来确定。根据每个通道的似然,竞争神经元的触发值也描述似然。重要的是,来自多个通道的似然输入可以连结在一起,以确定一般似然。在该实施例中,只检索一个图案,并且通过计算下式确定获胜神经元max{yj}如此确定的神经元的编号对应于符号的编号,并且通过逆矩阵的计算检索输入图案,也就是Y=W·XX=W-1·Y=WT·Y下面将说明输入图案出现和耦合系数的编号。
在该实施例中,将学习系数设置高数值,然后立刻着手存储已出现的图案。学习尝试的次数和此刻的耦合系数之间的关系被检查。还可以通过计算上式(29)确定输入图案与竞争层中符号神经元之间的耦合系数。
图40示出被输入图案激活的神经元与已经获得符号的竞争层中的神经元之间的关系(激活输入,active input),和未被激活的神经元与关联层中的神经元之间的关系(未激活输入)。在图40中,水平轴指示出现时间,而垂直轴指示激活。正如从图40看到的那样,在激活输入的情况下,出现时间越大,输入图案与符号神经元之间的关联就变得越强。这是因为,在第一出现时间,较大地更新了该存储,以便在第二出现时间,突然增强该关联。通过设置较低的学习系数将得到平稳的激活输入的曲线。然而,在未激活输入的情况下,与未被新图案激活的神经元的关联较弱。
需要说明的是,建立关联存储系统应当考虑出现时间以及频繁出现的图案的出现频度,该频繁出现的图案最好根据优先原理被存储,因为存储容量是固定的(有限的)。关于这一点,最好引入遗忘函数。例如,因诸如来自识别单元的噪声之类的非线性因素而造成已经错误存储的图案仅出现一次,但也许不能被存储,并且更优先地存储新近出现的重要图案,同时遗忘出现时间短和出现频度低的图案。
应当注意的是,在该实施例中,学习系数被固定,并且根据阈值检验输入图案是否是新的,但是可以改变该学习系数并且将它公式化以确定阈值。
下面将说明对许多输入图案的响应。
表1中示出当各种图案被供应给关联存储系统时,对其操作进行检验的结果。
表1


在表1中,颜色、形状、语音和本能中每一个的原型ID用如1,2,…的数字指示,而被检索的原型ID则用加括号的数字如(1),(2),…指示。
正如将从表2中可以看到的那样,在最初存储输入图案[1,1,1,1]之后,当颜色“1”和形状“3”被第五出现供应时,只根据颜色1检索图案[1,3,(1),(1)]。然而,对于图案[1,3,3,1]被第六出现存储之后的第七出现来说,则响应颜色“1”和形状“3”的输入检索图案[1,3(3),(1)]。
当存储容量是20个符号时,正常地存储如表2所示的20种输入图案,但是当出现如表3所示的多于20种输入图案(总共400种图案)时,将改写早期存储的如[1,1,1,1]的符号,同时将作为一个存储保持后来学习的图案。
表2

表3


如表3所示,只能获得(保持)在最后学习的符号之前学习的20个符号。
假定一个符号是否是新符号是根据条件“一个输入图案,其中两个或多个神经元在激活方面是不同的”来进行判断的,对例如颜色和形状的任何一个彼此不同的多个事物不能彼此一致地命名。然而,在这些事物其颜色和形状都互不相同的情况下,它们可以被彼此一致地命名。也就是说,图案[1,1,1,1]和[2,1,1,1]不能被同时存储,而图案[1,1,1,1]和[2,2,1,1]可以被同时存储。在此情况下,可以存储如表4的输入图案。
表4

在上面已经描述的关联存储系统中,由于存储容量被限制,因此应该有效利用。为此目的,频繁出现或使用的图案最好应当优先存储。
此外,最好是,出于存储容量的考虑,它应当做到能够遗忘未被存储的图案,而存储重要的新输入图案。为此,应当使用下面的耦合系数遗忘函数fWnew=f(Wold)其中Wnew是新的耦合系数,Wold是旧耦合系数。最简单的遗忘函数是每当出现一个图案时,减少与竞争层中失败神经元的耦合系数。例如,新耦合系数Wnew可以按使用旧耦合系数Wold和遗忘耦合系数Wforget的下式来确定Wnew=f(Wold)=Wold-Wforget由此,可以减弱与未出现的图案的耦合,并且能够遗忘不频繁使用的不重要的图案。对于具有人类特点的机器人,它是自然的,并且最好根据人类大脑生理学领域的研究结果设置遗忘函数f。
该实施例已经对字(名词)的存储作了说明。然而,它最好考虑存储意图和一段情节以及获得动词。例如,通过获取“踢”的动作来获得字“踢”。
为了判断输入图案是否是新的,将为竞争层中获胜神经元的激活设置阈值。然而,由于它必需重新调整该激活,作为输入通道增加的数量,因此最好在例如执行程序的进程中自动计算激活。
此外,在输入通道数已经增加到多模态的情况下,最好考虑每个通道的归一化。
下面将说明本发明的机器人的举止,涉及38中的ISM(内部状态模型)单元205。也就是,在应用行为学方法决定举止的机器人中,根据下面将要详细说明的外因因素和内因因素实现用于检查动作创建的操作检验。
在该实施例中,分别使用了八种用于内部状态的样板(gauge)和对应于这八种样板的八种本能。这八种样板包括Nourishment(食物),Movement(运动),Urine(尿),Tiredness(疲倦),Affection(友爱),Curiosity(好奇心)和Sleepy(困倦),八种本能包括Hunger(饥饿),Defecation(通便),Thirst(口渴),Urination(撒尿),Exercise(锻炼),Affection(友爱),Curiosity(好奇心)和Sleepy(困倦)。
本能状态随着例如由生物周期性通知的时间消逝而变化,或者随着检测器输入和成功/失败而变化。变化的范围是0至100,变化的程度依赖于例如personality_gauge.cfg和personality_perception.cfg中的系数。
此外,当即使用已经达到最大值的愿望也不能进行动作时,建立挫折(Frustration);当样板如期变化时,则清除该挫折。
在操作检验中,依据图41所示的多个片段的分层结构(树结构)形成的内容树被用作采用行为学方法的动作选择/决定系统。内容树包括,从顶部到底部的,一个系统、子系统、模式和模块。较高层中的动作的多个部分是诸如愿望的抽象动作,而较低层中动作的多个部分是实现这些愿望的具体动作。图41所示的树是为基于行为模型的最小动作和用于学习的检验设计的,该模型使用语音识别和操作检验转换到树。操作检验用图41中的树支持的本能和相应的样板进行的,即,该本能包括Hunger(饥饿)、Affction(友爱)、Curiosity(好奇心)和Sleepy(困倦),相应样板包括Nourishment(食物)、Affection(友爱)、Curiosity(好奇心)和Sleepy(困倦)。需要说明的是,在实际的操作检验中,代码被用来指示模块执行中的成功或失败的标志(标准),并且样板与本能之间使用线性对应,但是本发明不限于这些方式。
在该实施例中,沿多个轴线表达情绪。具体地说,刺激(Activation)和愉快(Pleasantness)被用作轴线,此外还使用了Certainty(可信度)。即,一个情绪沿着三个轴线(即,三维)来表达。刺激是生物被激活或困倦的程度,依赖于主要在生物中发现的生物周期;愉快是指示本能有多少被实现或未实现的程度;可信度是机器人当前关注的事物确实性如何的程度。为了确定愉快,使用了上述八种样板和八种本能(然而,在操作检验中至多使用四种样本或四种本能)。刺激、愉快和可信度的每一个取落入-100至100范围内的值,并且愉快和可信度随着时间消逝而变化,以便总是取值“0”。另外,包括在本能中的刺激取值“0”,并且生物周期取实际上的初始值。
愉快反映本能的实现。当存在机器人正在关注的事物时,使用关于可视对象的实际可信度,刺激基本上依赖于生物周期的值,但是当困倦已经变化时,刺激随困倦变化的结果而变化。
在该实施例中,上述操作被限制,使生物周期仅靠刺激来反映,在此情况下可信度在0至100的范围内变化。当然,本发明不限于这些方式。
下面将结合图42至44说明关于睡觉和吃饭的操作检验的第一实例。在该第一实例中,用本能而不是固定的饥饿和睡觉来检查由图41的内容树中的模块作出的寻找./吃饭和睡觉的变化。图42示出包含在本能中的饥饿和困倦的时间变化,图43示出情绪中包含的刺激、愉快和可信度的时间变化,以及图44示出作为动机的睡觉和吃饭的时间变化。
如将从图42至44看到的那样,轻拍允许将机器人转换到睡觉树,击打允许让机器人离开睡觉树(未示出)。当饥饿增加时,机器人可以前进到吃饭树。当饥饿缓和时,机器人可以转换到睡觉树。即使机器人被击打时刺激也将不能变化的原因是,本能未变化到睡觉时的最小值,即等于-100。当饥饿变为最大值时,也就是变成100时,受挫将具有一个增加的值(未示出),所以愉快将略微增加。
下面将说明操作检验的第二实例,其中使用了包括Nourishment(食物)、Affection(友爱)、Curiosity(好奇心)和Sleepy(困倦)的四种样板。图45至图47示出机器人举止的变化和图41所示的内容树中本能值的变化。图46示出情绪随时间的变化,图47示出释放机构的时间变化。
如图45至47所示,通过轻拍转换到睡觉树、由于饥饿转换到吃饭树、以及由于好奇心转换到信息获取被分别作出。当甚至包含在本能中的好奇心是最大值时也不能作出动作时,愉快已经被变化到不愉快。此外,当轻拍机器人增加困倦时,愉快被增强,由此搜索舒适(Comfort)。
操作检验的结果表明行为动作选择/决定系统有效地操作,其中行为学方法基于图41所示的内容树。
工业应用性如上文已经说明的那样,在本发明的机器人中,恰好在触摸传感器检测触摸之前或之后供应的信息被信息检测器检测;相应于触摸传感器的触摸检测作出的动作与输入信息检测器检测的输入信息相互关联地存储到存储单元中;动作控制器根据新近获取的输入信息从存储单元中的信息中检索动作;作出动作,以相互关联地存储输入信息和检测输入信息时得到的动作;并且相同的输入信息被再次供应时作出相应的动作。
在本发明的机器人中采用的动作控制方法包括以下步骤检测对机器人作出的触摸;检测恰好在触摸检测步骤中的触摸检测之前或之后供应的信息;将相应于触摸检测步骤中的触摸检测所作出的动作和输入信息检测步骤中检测的输入信息相互关联地存储到存储单元中;以及根据新近获取的输入信息从存储单元的信息中检索动作以控制机器人作出动作。
在本发明的机器人中,输入信息和输入信息被检测时作出的动作被相互关联地存储,并且当与该输入信息相同的信息被再次供应时,作出相应动作。
此外,在本发明的机器人中,表现为相应于由输入信息检测器检测的输入信息作出的动作结果的动作结果信息和输入信息相互关联地被存储到存储单元中;动作控制器根据新输入信息识别存储单元中的动作结果信息,动作根据动作结果信息作出;输入信息和表现为相应于输入信息作出的动作结果的动作结果信息被相互关联地存储;并且当相同的输入信息再次供应时,可以根据相应的动作结果信息检索过去的动作,作出适当的动作。
在本发明的机器人中采用的动作控制方法包括以下步骤将表现为相应于由输入信息检测器检测的输入信息作出的动作结果的动作结果信息和输入信息相互关联地存储到存储单元中;根据新输入信息识别存储单元中的动作结果信息,以控制机器人根据动作结果信息作出动作。
在本发明的机器人中,输入信息和表现为相应于输入信息作出的动作结果的动作结果信息被相互关联地存储;并且当相同的输入信息再次供应时,可以根据相应的动作结果信息检索过去的动作,作出适当的动作。
此外,在本发明的机器人中,输入信息检测器检测的输入信息的特征被特征检测器检测;信息分类单元根据该特征对输入信息进行分类;动作控制器根据输入信息的分类使机器人进行动作;分类改变器根据表现为机器人在动作控制器控制下作出的动作的结果的动作结果信息,改变已经使机器人动作的输入信息的分类;机器人相应于输入信息的分类进行动作,从而允许根据机器人动作的结果改变输入信息的分类。
本发明的机器人中采用的动作控制方法包括以下步骤检测由输入信息检测器检测的输入信息的特征;根据特征检测步骤中检测的特征对输入信息进行分类;根据信息分类步骤作出的输入信息的分类控制机器人进行动作;根据表现为由动作控制步骤中控制的机器人作出的动作的结果的动作结果信息,改变已经使机器人动作的输入信息的分类。
本发明的机器人可以相应于输入信息的分类进行动作,并且根据机器人动作的结果改变输入信息的分类。
此外,本发明的机器人将目标对象识别单元识别的目标对象的信息存储到存储单元中;根据新近检测的对象和存储目标对象的存储单元中存储的目标对象的信息,进行动作;因而,当相同对象被再次供应时以预定方式进行动作。
此外,本发明的机器人中采用的动作控制方法包括以下步骤识别目标对象;将目标对象识别步骤中识别的目标对象的信息存储到存储单元中;根据新近检测的信息和该存储单元中存储的目标对象的信息,控制机器人进行动作。
本发明的机器人存储目标对象,并且当识别目标被再次供应时,以预定方式进行动作。
此外,本发明的机器人包括多个运动部件;移动运动部件的多个关节,多个检测器,其每一个检测经运动部件被施加了外力的关节的状态;和学习单元,相互关联地学习检测器检测的关节状态和外力,以便经运动部件被施加了外力的关节的状态可以被检测器检测,并且学习单元可以相互关联地学习检测器检测的关节状态和外力。也就是,机器人可以相关联地学习外力与相应于作用于运动部件的外力而变化的关节状态。
此外,本发明的外力检测器包括关节状态检测器,检测移动运动部件的关节的状态;和外力检测器,根据关节状态检测器检测的关节状态检测作用于运动部件的外力,以便移动该运动部件的关节状态可以被关节状态检测器检测,以及作用于运动部件的外力可以根据关节状态检测器检测的关节状态进行检测。即,外力检测器可以根据移动运动部件的关节的状态检测作用于运动部件的外力。
此外,本发明的外力检测方法包括以下步骤检测移动运动部件的关节的状态;根据所检测的关节状态检测作用于运动部件的外力;和根据移动该运动部件的关节的状态检测作用于运动部件外力。
需要说明的是,本发明不局限于上文中已经说明的实施例,非限制性和说明性的关联存储系统的实例和用于操作检验的内容树可以以各种方式修改。在不背离所附权利要求范围和精神的条件下,可以对本发明进行各种修改。
权利要求
1.一种机器人设备,包括用于检测触摸的装置;用于检测恰好在触摸检测装置的触摸检测的同时或之前或之后供应的信息的装置;存储装置,用于相关联地存储相应于触摸检测所作出的动作和输入信息检测装置所检测的输入信息;和检索动作的装置,用于根据新近获取的信息从存储装置的信息中检索动作,以控制机器人设备进行动作。
2.根据权利要求1所述的机器人设备,其中相应于触摸检测装置的触摸检测所作出的动作是触摸的外部负载造成的运动部件的位移的结果;和触摸检测装置依据外部负载造成的对运动部件的控制信号的变化检测触摸。
3.根据权利要求1所述的机器人设备,还包括用于使机器人设备相应于触摸检测装置的触摸检测进行动作的装置;存储装置,相互关联地存储相应于触摸检测装置的触摸检测所作出的动作和输入信息检测装置所检测的输入信息。
4.根据权利要求1所述的机器人设备,其中输入信息检测装置至少检测图像信息或者语音信息。
5.一种控制机器人设备动作的方法,该方法包括以下步骤检测对机器人设备所作的触摸;检测恰好在触摸检测步骤的触摸检测的同时或之前或之后供应的信息;将响应触摸检测步骤中的触摸检测所作出的动作和输入信息检测步骤中检测的输入信息相互关联地存入存储装置中;和根据新近获取的信息从存储装置的信息中检索动作,以控制机器人进行动作。
6.一种机器人设备,包括用于检测输入信息的装置;存储装置,用于存储由输入信息检测装置检测的输入信息和动作结果信息,该动作结果信息表现出相应于输入信息检测装置检测的输入信息所作出的动作结果;和识别动作结果信息的装置,用于根据新近供应的输入信息识别存储装置中的动作结果信息,以控制机器人设备根据动作结果信息进行动作。
7.根据权利要求6所述的机器人设备,其中情绪相应于外部因素和/或内部因素而变化,并且根据该情绪的状态作出动作;存储装置相互关联地存储作为动作结果信息的、根据输入信息作出的动作得到的情绪状态和输入信息;和动作控制装置根据输入信息从存储装置中检索相应的情绪状态,以根据该情绪状态控制机器人设备进行动作。
8.根据权利要求6所述的机器人设备,其中输入信息检测装置至少检测图像信息或语音信息。
9.一种控制机器人设备动作的方法,该方法包括以下步骤将动作结果信息和输入信息相互关联地存储到存储装置中,该动作结果信息表现出相应于输入信息检测装置检测的输入信息而作出的动作的结果;和根据新近供应的输入信息识别存储装置中的动作结果信息,以根据动作结果信息控制机器人设备进行动作。
10.一种机器人设备,包括用于检测输入信息的装置;检测输入信息特征的装置,用于检测由输入信息检测装置检测的输入信息的特征;根据所检测的特征对输入信息进行分类的装置;根据输入信息控制机器人设备做动作的装置;和改变分类的装置,用于根据动作结果信息改变已经使机器人设备作出动作的输入信息的分类,该动作结果信息表现出机器人设备在动作控制装置的控制下作出的动作结果。
11.根据权利要求10所述的机器人设备,其中输入信息是图像信息或者语音信息。
12.根据权利要求10所述的机器人设备,其中分类改变装置在动作结果信息指示动作结果不合意时,改变输入信息的分类。
13.一种控制机器人设备动作的方法,该方法包括以下步骤检测由输入信息检测装置检测的输入信息的特征;根据特征检测步骤中检测的特征对输入信息分类;根据信息分类步骤中作出的输入信息的分类,控制机器人设备进行动作;和根据动作结果信息改变已经使机器人设备作出动作的输入信息的分类,该动作结果信息表现出在动作控制步骤控制下机器人设备作出的动作结果。
14.一种机器人设备,包括用于识别目标对象的装置;用于存储由目标对象识别装置识别的目标对象的信息的装置;和控制装置,用于根据新近检测的对象的信息和存储在存储装置中的目标对象的信息控制机器人设备进行动作。
15.根据权利要求14所述的机器人设备,其中目标对象识别装置将输入图像信息分段,以检测分段区域的时间变化,并识别与时间变化已经达到预定值的区域相对应的对象。
16.根据权利要求14所述的机器人设备,其中目标对象识别装置根据输入语音信息识别目标对象。
17.根据权利要求16所示的机器人设备,其中目标对象识别装置至少依据输入语音信息的音量或者方向信息识别目标对象。
18.根据权利要求14所述的机器人设备,其中目标对象识别装置检测教导目标对象的训练者的视线,以便依据该视线识别目标对象。
19.一种控制机器人设备动作的方法,该方法包括以下步骤识别目标对象;将目标对象识别步骤中识别的该目标对象的信息存储到存储装置中;和根据新近检测的对象的信息和存储在存储装置中的目标对象的信息,控制机器人设备进行动作。
20.一种机器人设备,包括诸多运动部件;移动诸多运动部件的诸多关节;检测装置,用于检测经运动部件被施加了外力的关节的状态;和学习装置,相互关联的学习由检测装置检测的关节状态和外力。
21.根据权利要求20所述的机器人设备,其中检测装置检测经运动部件作用于关节上的外力,作为关节的状态;和学习装置相互关联地学习由检测装置检测的外力和对运动部件的外力。
22.根据权利要求20所述的机器人设备,其中检测装置检测关节状态的目标值与测量值之间的差值;和学习装置相互关联地学习由检测装置检测的测量值与目标值之间的差值和外力。
23.根据权利要求22所述的机器人设备,其中检测装置检测外力造成的对关节的控制信号的变化;和学习装置学习检测装置检测的已变化的控制信号和外力。
24.根据权利要求20所述的机器人设备,还包括动作控制装置,用于使机器人设备根据学习装置的学习结果和学习之后的关节状态进行动作。
25.根据权利要求20所述的机器人设备,其中学习装置通过包含输入层、隐藏层和输出层的神经网络进行学习。
26.一种外力检测器,包括关节状态检测装置,用于检测移动运动部件的关节的状态;和外力检测装置,用于根据关节状态检测装置检测的关节状态,检测作用于运动部件上的外力。
27.根据权利要求26所述的检测器,其中检测装置检测关节状态的目标值与测量值之间的差值;和外力检测装置根据该检测装置检测的测量值与目标值之间的差值检测外力。
28.根据权利要求27所述的检测器,其中检测装置检测经运动部件施加的外力所造成的对关节的控制信号的变化;和外力检测装置根据检测装置检测的已变化的控制信号检测外力。
29.一种检测外力的方法,该方法包括以下步骤检测移动运动部件的关节的状态;根据所检测的关节状态检测作用于该运动部件的外力;和根据移动该运动部件的关节的状态检测作用于运动部件的外力。
全文摘要
本发明提出的机器人(1)包括:语音识别单元(101),检测在触摸传感器的触摸检测的同时或者之前或之后供应的信息;关联存储器/检索存储器(104),相互关联地存储相应于触摸所作出的动作和语音识别单元(101)检测的输入信息(语音信号);和动作生成器(105),根据新近获得的输入信息(语音信号)控制机器人(1)作出由关联存储器/检索存储器(104)所检索的动作。该机器人(1)还包括传感器数据处理器(102),允许机器人(1)相应于触摸传感器的触摸检测进行动作。因而,机器人(1)可以学习与诸如语音信号的输入信号相关联的动作。
文档编号G10L15/26GK1380846SQ01801273
公开日2002年11月20日 申请日期2001年4月2日 优先权日2000年3月31日
发明者藤田雅博, 高木刚, 长谷川里香, 花形理, 横野顺, 加布里尔·科斯塔, 下村秀树 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1