JP2003334785A - ロボットの行動制御システム及び行動制御方法、並びにロボット装置 - Google Patents

ロボットの行動制御システム及び行動制御方法、並びにロボット装置

Info

Publication number
JP2003334785A
JP2003334785A JP2003072844A JP2003072844A JP2003334785A JP 2003334785 A JP2003334785 A JP 2003334785A JP 2003072844 A JP2003072844 A JP 2003072844A JP 2003072844 A JP2003072844 A JP 2003072844A JP 2003334785 A JP2003334785 A JP 2003334785A
Authority
JP
Japan
Prior art keywords
action
robot
behavior
internal state
schema
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
Application number
JP2003072844A
Other languages
English (en)
Other versions
JP3558222B2 (ja
Inventor
Masahiro Fujita
雅博 藤田
Takeshi Takagi
剛 高木
Rika Horinaka
里香 堀中
Nobuya Otani
伸弥 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003072844A priority Critical patent/JP3558222B2/ja
Publication of JP2003334785A publication Critical patent/JP2003334785A/ja
Application granted granted Critical
Publication of JP3558222B2 publication Critical patent/JP3558222B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

(57)【要約】 【課題】 視覚や聴覚などの外部環境の認識結果や本能
や感情などの内部状態などのロボットが置かれている状
況を統合的に判断して行動を選択する。 【解決手段】 状況依存行動階層はスキーマのツリー構
造で構成され、親スキーマは外部刺激と内部状態を引数
として子供スキーマのMonitor関数をコールする
ことができ、子供のスキーマはAL値を返り値とする。
また、スキーマは自分のAL値を算出するために、さら
に子供のスキーマのMonitor関数をコールするこ
とができる。ルートのスキーマには各サブツリーからの
AL値が返されるので、Concurrentな行動の
評価と行動の実行が実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、自律的な動作を行
ないユーザとのリアリスティックなコミュニケーション
を実現するロボットの行動制御システム及び行動制御方
法、並びにロボット装置に係り、特に、視覚や聴覚など
の外部環境の認識結果や本能や感情などの内部状態など
のロボットが置かれている状況を統合的に判断して適当
な行動を選択する状況依存行動型のロボットのための行
動制御システム及び行動制御方法、並びにロボット装置
に関する。
【0002】
【従来の技術】電気的若しくは磁気的な作用を用いて人
間の動作に似せた運動を行なう機械装置のことを「ロボ
ット」という。ロボットの語源は、スラブ語の"ROB
OTA(奴隷機械)"に由来すると言われている。わが
国では、ロボットが普及し始めたのは1960年代末か
らであるが、その多くは、工場における生産作業の自動
化・無人化などを目的としたマニピュレータや搬送ロボ
ットなどの産業用ロボット(industrial robot)であっ
た。
【0003】最近では、イヌやネコ、クマのように4足
歩行の動物の身体メカニズムやその動作を模したペット
型ロボット、あるいは、ヒトやサルなどの2足直立歩行
を行なう動物の身体メカニズムや動作を模した「人間
形」若しくは「人間型」のロボット(humanoid robot)
など、脚式移動ロボットの構造やその安定歩行制御に関
する研究開発が進展し、実用化への期待も高まってきて
いる。これら脚式移動ロボットは、クローラ式ロボット
に比し不安定で姿勢制御や歩行制御が難しくなるが、階
段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動
作を実現できるという点で優れている。
【0004】脚式移動ロボットの用途の1つとして、産
業活動・生産活動等における各種の難作業の代行が挙げ
られる。例えば、原子力発電プラントや火力発電プラン
ト、石油化学プラントにおけるメンテナンス作業、製造
工場における部品の搬送・組立作業、高層ビルにおける
清掃、火災現場その他における救助といったような危険
作業・難作業の代行などである。
【0005】また、脚式移動ロボットの他の用途とし
て、上述の作業支援というよりも、生活密着型、すなわ
ち人間との「共生」あるいは「エンターティンメント」
という用途が挙げられる。この種のロボットは、ヒトあ
るいはイヌ(ペット)、クマなどの比較的知性の高い脚
式歩行動物の動作メカニズムや四肢を利用した豊かな感
情表現を忠実に再現する。また、あらかじめ入力された
動作パターンを単に忠実に実行するだけではなく、ユー
ザ(あるいは他のロボット)から受ける言葉や態度
(「褒める」とか「叱る」、「叩く」など)に対して動
的に対応した、生き生きとした応答表現を実現すること
も要求される。
【0006】従来の玩具機械は、ユーザ操作と応答動作
との関係が固定的であり、玩具の動作をユーザの好みに
合わせて変更することはできない。この結果、ユーザは
同じ動作しか繰り返さない玩具をやがては飽きてしまう
ことになる。これに対し、インテリジェントなロボット
は、対話や機体動作などからなる行動を自律的に選択す
ることから、より高度な知的レベルでリアリスティック
なコミュニケーションを実現することが可能となる。こ
の結果、ユーザはロボットに対して深い愛着や親しみを
感じる。
【0007】ロボットあるいはその他のリアリスティッ
クな対話システムでは、視覚や聴覚など外部環境の変化
に応じて逐次的に行動を選択していくのが一般的であ
る。また、行動選択メカニズムの他の例として、本能や
感情といった情動をモデル化してシステムの内部状態を
管理して、内部状態の変化に応じて行動を選択するもの
を挙げることができる。勿論、システムの内部状態は、
外部環境の変化によっても変化するし、選択された行動
を発現することによっても変化する。
【0008】しかしながら、これら外部環境や内部状態
などのロボットが置かれている状況を統合的に判断して
行動を選択するという、状況依存型の行動制御に関して
は例は少ない。
【0009】ここで、内部状態には、例えば生体で言え
ば大脳辺縁系へのアクセスに相当する本能のような要素
や、大脳新皮質へのアクセスに相当する内発的欲求や社
会的欲求などのように動物行動学的モデルで捉えられる
要素、さらには喜びや悲しみ、怒り、驚きなどのような
感情と呼ばれる要素などで構成される。
【0010】従来のインテリジェント・ロボットやその
他の自律対話型ロボットにおいては、本能や感情などさ
まざまな要因からなる内部状態をすべて「情動」として
まとめて1次元的に内部状態を管理していた。すなわ
ち、内部状態を構成する各要素はそれぞれ並列に存在し
ており、明確な選択基準のないまま外界の状況や内部状
態のみで行動が選択されていた。
【0011】従来のシステムでは、その動作の選択及び
発現は1次元の中にすべての行動が存在し、どれを選択
するかを決定していた。このため、動作が多くなるにつ
れてその選択は煩雑になり、そのときの状況や内部状態
を反映した行動選択を行なうことがより難しくなる。
【0012】
【発明が解決しようとする課題】本発明の目的は、自律
的な動作を行ないリアリスティックなコミュニケーショ
ンを実現することができる、優れたロボットの行動制御
システム及び行動制御方法、並びにロボット装置を提供
することにある。
【0013】本発明のさらなる目的は、視覚や聴覚など
の外部環境の認識結果や本能や感情などの内部状態など
のロボットが置かれている状況を統合的に判断して行動
を選択することができる、優れたロボットの行動制御シ
ステム及び行動制御方法、並びにロボット装置を提供す
ることにある。
【0014】本発明のさらなる目的は、情動についての
存在意義をより明確にして、一定の秩序の下で外部刺激
や内部状態に応じた行動を好適に選択し実行することが
できる、優れたロボットの行動制御システム及び行動制
御方法、並びにロボット装置を提供することにある。
【0015】本発明のさらなる目的は、視覚や聴覚など
の外部環境の認識結果や本能や感情などの内部状態など
のロボットが置かれている状況を統合的に判断して行動
を選択することができる、優れたロボットの行動制御シ
ステム及び行動制御方法、並びにロボット装置を提供す
ることにある。
【0016】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、自律的に動作するロボットのための行動制御システ
ムであって、ロボットの機体動作を記述する複数の行動
記述部と、機体の外部環境を認識する外部環境認識部
と、認識された外部環境及び/又は行動の実行結果に応
じたロボットの内部状態を管理する内部状態管理部と、
外部環境及び/又は内部状態に応じて前記の各行動記述
部に記述された行動の実行を評価する行動評価部と、を
具備することを特徴とするロボットの行動制御システム
である。
【0017】但し、ここで言う「システム」とは、複数
の装置(又は特定の機能を実現する機能モジュール)が
論理的に集合した物のことを言い、各装置や機能モジュ
ールが単一の筐体内にあるか否かは特に問わない。
【0018】前記外部環境認識部は、外部の視覚認識、
外部で発生する音声認識、外部から印加された接触認識
のうち少なくとも1つを行なう。また、前記内部状態管
理部は、ロボットの本能モデル及び/又は感情モデルを
管理する。
【0019】前記行動記述部は、複数の行動記述部が機
体動作の実現レベルに応じた木構造形式に構成すること
ができる。この木構造は、動物行動学的(Etholo
gical)な状況依存行動を数式化した行動モデル
や、感情表現を実行するための枝など、複数の枝を含ん
でいる。例えば、ルート行動記述部の直近下位の階層で
は、「探索する(Investigate)」、「食べ
る(Ingestive)」、「遊ぶ(Play)」と
いう行動記述部が配設される。そして、「探索する(I
nvestigate)」の下位には、「Invest
igativeLocomotion」、「Headi
nAirSniffing」、「Investigat
iveSniffing」というより具体的な探索行動
を記述した行動記述部が配設されている。同様に、行動
記述部「食べる(Ingestive)」の下位には
「Eat」や「Drink」などのより具体的な飲食行
動を記述した行動記述部が配設され、行動記述部「遊ぶ
(Play)」の下位には「PlayBowing」、
「PlayGreeting」、「PlayPawin
g」などのより具体的な遊ぶ行動を記述した行動記述部
が配設されている。
【0020】このような場合、前記行動評価部は該木構
造の上から下に向かって複数の行動記述部を同時並行的
に評価することができる。また、前記外部環境認識部に
よる新規認識及び/又は前記内部状態管理部による内部
状態の変化に応答して、前記行動評価部による前記の各
行動記述部の評価を実行して、木構造を上から下に向か
って評価結果としての実行許可を渡していくことによ
り、外部環境や内部状態の変化に応じた適当な行動を選
択的に実行することができる。すなわち、状況依存の行
動の評価並びに実行をConcurrentに行なうこ
とができる。
【0021】また、複数の行動記述部に記述された行動
を同時実行するときの機体上の資源の競合を管理する資
源管理部をさらに備えていてもよい。このような場合、
前記行動選択部は、資源の競合が調停されていることを
前提に、2以上の行動記述部を同時に選択することがで
きる。
【0022】また、前記外部環境認識部による新規認識
により前記行動評価部による前記の各行動記述部の評価
を実行した結果、現在実行中の行動よりも高い評価値を
得た行動記述部が出現した場合、前記行動選択部は、現
在実行中の行動を停止して、評価値がより高い行動記述
部に記述された行動を優先的に実行するようにしてもよ
い。したがって、反射行動のようにより重要度や緊急性
の高い行動を、既に実行中の状況依存行動に割り込ん
で、優先的に実行することができる。このような場合、
該優先的に実行した行動が終了した後、一旦停止された
行動を再開させることが好ましい。
【0023】また、前記行動選択部は、異なる外部環境
の変化に応じて同一の行動記述部を逐次選択するように
してもよい。このような場合、前記行動記述部に記述さ
れた行動を実行する度に外部環境毎に個別の作業空間を
割り当てるようにする。
【0024】例えば、人物Aとの対話という行動を実行
中に、人物Bがロボットと人物Aとの対話に割り込み、
外部刺激と内部状態の変化に基づく活動度レベルの評価
を行なった結果、Bとの対話を行なう行動の方がより優
先度が高くなると、Bとの対話が割り込まれる。
【0025】このような場合、A又はBのいずれとの対
話も同じ行動記述部に従って対話を行なうが、Aとの対
話を行なう行動とは別に、Bとの対話を行なう行動のた
めの作業空間を割り当てることにより、対話内容の干渉
を防ぐ。すなわち、Bとの対話によりAとの対話内容が
破壊されずに済むので、Bとの対話が終了すると、Aと
の対話を中断した時点から再開することができる。
【0026】また、本発明の第2の側面は、内部状態に
応じて自律的に動作するロボットの行動制御システム又
は行動制御方法であって、内部状態の指標である情動を
複数の階層構造にして管理する内部状態管理部又はステ
ップと、各階層の情動を満たす行動を選択的に実行する
行動選択部又はステップと、を特徴とするロボットの行
動制御システム又は行動制御方法である。
【0027】ここで、前記内部状態管理部又はステップ
は、個体存続のために必要な1次情動と、該1次情動の
過不足により変化する2次情動という段階毎に階層化す
るとともに、該1次情動を生得的反射や生理的な階層か
ら連想に至るまで次元により階層化するようにしてもよ
い。
【0028】そして、前記行動選択部又はステップは、
より低次の1次情動を満たす行動を優先的に選択するよ
うにしてもよい。あるいは、前記行動選択部又はステッ
プは、より高次の1次情動が低次の1次情動に比し著し
く不足している場合には、低次の1次情動を満たす行動
の選択を抑制するようにしてもよい。
【0029】本発明の第2の側面に係るロボットの行動
制御システム又は行動制御方法によれば、情動について
その存在意義による複数階層化を行ない、それぞれの階
層で動作を決定する。決定された複数の動作から、その
ときの外部刺激や内部状態によってどの動作を行なうか
を決定する。それぞれの階層で行動は選択されるが、そ
の実施される順番はロボットの内部状態の優先順位に基
づくので、より低次の行動から優先的に動作を発現して
いくことにより、反射などの本能的行動や、記憶を用い
た動作選択などの高次の行動を1つの個体上で矛盾なく
発現することができる。また、行動をカテゴライズし
て、スキーマとして作成する際も明確な指標となる。
【0030】本発明の第2の側面に係るロボットの行動
制御システム又は行動制御方法は、ロボットの外部環境
の変化を認識する外部環境認識部をさらに備えていても
よい。このような場合、前記行動選択部又はステップ
は、内部状態の指標に加え、外部環境の指標を基に行動
を選択することができる。
【0031】また、前記内部状態管理部ステップは、バ
イオリズムなどを利用して、時間経過に応じて内部状態
の指標を変更するようにしてもよい。
【0032】また、前記内部状態管理部又はステップ
は、行動選択部において選択された行動の実行に応じ
て、すなわち動作の程度に応じて内部状態の指標を変更
するようにしてもよい。
【0033】また、前記内部状態管理部又はステップ
は、外部環境の変化に応じて内部状態の指標を変更する
ようにしてもよい。
【0034】また、本発明の第2の側面に係るロボット
の行動制御システム又は行動制御方法は、外部環境から
内部状態の変化を連想記憶する連想記憶部又はステップ
をさらに備えていてもよい。このような場合、前記内部
状態管理部又はステップは、前記連想記憶部又はステッ
プが外部環境から想起した内部環境の変化を基に内部状
態の指標を変更するようにしてもよい。また、前記連想
記憶部又はステップは前記外部環境認識される対象物毎
に内部状態の変化を連想記憶するようにしてもよい。
【0035】従来のロボットにおける動作の選択や発現
は、基本的には、対象物までの物理的距離や、そのとき
のロボットの内部状態によって決定されており、言い換
えれば、対象物の相違によりどのような行動をとるか、
といった行動選択は行なわれていない。
【0036】これに対し、本発明の第2の側面に係るロ
ボットの行動制御システム又は行動制御方法によれば、
連想記憶を用いることにより、対象物毎に異なる内部状
態の変化を想起することができるので、同じ状況でもそ
の行動の発現し易さを異ならせることができる。すなわ
ち、外部の刺激や物理的状況、現在の内部状態に加え、
ロボットの対象物ごとの記憶を考慮して行動を選択する
ことができ、より多彩で多様化した対応を実現すること
ができる。
【0037】例えば、「○○が見えているから××す
る」とか、「現在○○が不足だから(何に対しても)×
×する」などの外部環境又は内部状態によって決まった
行動をするのではなく、「○○が見えても△△なので□
□する」とか、「○○が見えているけど××なので■■
する」など、対象物に関する内部状態の変化記憶を用い
ることにより、行動にバリエーションを付けることがで
きる。
【0038】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施形態や添付する図面に基づくより
詳細な説明によって明らかになるであろう。
【0039】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態について詳解する。
【0040】A.ロボット装置の構成 図1には、本発明に実施に供されるロボット装置1の機
能構成を模式的に示している。同図に示すように、ロボ
ット装置1は、全体の動作の統括的制御やその他のデー
タ処理を行なう制御ユニット20と、入出力部40と、
駆動部50と、電源部60とで構成される。以下、各部
について説明する。
【0041】入出力部40は、入力部としてロボット装
置1の目に相当するCCDカメラ15や、耳に相当する
マイクロフォン16、頭部や背中などの部位に配設され
てユーザの接触を感知するタッチ・センサ18、あるい
は五感に相当するその他の各種のセンサを含む。また、
出力部として、口に相当するスピーカ17、あるいは点
滅の組み合わせや点灯のタイミングにより顔の表情を形
成するLEDインジケータ(目ランプ)19などを装備
している。これら出力部は、音声やランプの点滅など、
脚などによる機械運動パターン以外の形式でもロボット
装置1からのユーザ・フィードバックを表現することが
できる。
【0042】駆動部50は、制御部20が指令する所定
の運動パターンに従ってロボット装置1の機体動作を実
現する機能ブロックであり、行動制御による制御対象で
ある。駆動部50は、ロボット装置1の各関節における
自由度を実現するための機能モジュールであり、それぞ
れの関節におけるロール、ピッチ、ヨーなど各軸毎に設
けられた複数の駆動ユニットで構成される。各駆動ユニ
ットは、所定軸回りの回転動作を行なうモータ51と、
モータ51の回転位置を検出するエンコーダ52と、エ
ンコーダ52の出力に基づいてモータ51の回転位置や
回転速度を適応的に制御するドライバ53の組み合わせ
で構成される。
【0043】駆動ユニットの組み合わせ方によって、ロ
ボット装置1を例えば2足歩行又は4足歩行などの脚式
移動ロボットとして構成することができる。
【0044】電源部60は、その字義通り、ロボット装
置1内の各電気回路などに対して給電を行なう機能モジ
ュールである。本実施形態に係るロボット装置1は、バ
ッテリを用いた自律駆動式であり、電源部60は、充電
バッテリ61と、充電バッテリ61の充放電状態を管理
する充放電制御部62とで構成される。
【0045】充電バッテリ61は、例えば、複数本のリ
チウムイオン2次電池セルをカートリッジ式にパッケー
ジ化した「バッテリ・パック」の形態で構成される。
【0046】また、充放電制御部62は、バッテリ61
の端子電圧や充電/放電電流量、バッテリ61の周囲温
度などを測定することでバッテリ61の残存容量を把握
し、充電の開始時期や終了時期などを決定する。充放電
制御部62が決定する充電の開始及び終了時期は制御ユ
ニット20に通知され、ロボット装置1が充電オペレー
ションを開始及び終了するためのトリガとなる。
【0047】制御ユニット20は、「頭脳」に相当し、
例えばロボット装置1の機体頭部あるいは胴体部に搭載
されている。
【0048】図2には、制御ユニット20の構成をさら
に詳細に図解している。同図に示すように、制御ユニッ
ト20は、メイン・コントローラとしてのCPU(Cent
ralProcessing Unit)21が、メモリやその他の各回路
コンポーネントや周辺機器とバス接続された構成となっ
ている。バス27は、データ・バス、アドレス・バス、コ
ントロール・バスなどを含む共通信号伝送路である。バ
ス27上の各装置にはそれぞれに固有のアドレス(メモ
リ・アドレス又はI/Oアドレス)が割り当てられてい
る。CPU21は、アドレスを指定することによってバ
ス28上の特定の装置と通信することができる。
【0049】RAM(Random Access Memory)22は、
DRAM(Dynamic RAM)などの揮発性メモリで構成さ
れた書き込み可能メモリであり、CPU21が実行する
プログラム・コードをロードしたり、実行プログラムに
よる作業データの一時的な保存のために使用される。
【0050】ROM(Read Only Memory)23は、プロ
グラムやデータを恒久的に格納する読み出し専用メモリ
である。ROM23に格納されるプログラム・コードに
は、ロボット装置1の電源投入時に実行する自己診断テ
スト・プログラムや、ロボット装置1の動作を規定する
動作制御プログラムなどが挙げられる。
【0051】ロボット装置1の制御プログラムには、カ
メラ15やマイクロフォン16などのセンサ入力を処理
してシンボルとして認識する「センサ入力・認識処理プ
ログラム」、短期記憶や長期記憶などの記憶動作(後
述)を司りながらセンサ入力と所定の行動制御モデルと
に基づいてロボット装置1の行動を制御する「行動制御
プログラム」、行動制御モデルに従って各関節モータの
駆動やスピーカ17の音声出力などを制御する「駆動制
御プログラム」などが含まれる。
【0052】不揮発性メモリ24は、例えばEEPRO
M(Electrically Erasable and Programmable ROM)の
ように電気的に消去再書き込みが可能なメモリ素子で構
成され、逐次更新すべきデータを不揮発的に保持するた
めに使用される。逐次更新すべきデータには、暗号鍵や
その他のセキュリティ情報、出荷後にインストールすべ
き装置制御プログラムなどが挙げられる。
【0053】インターフェース25は、制御ユニット2
0外の機器と相互接続し、データ交換を可能にするため
の装置である。インターフェース25は、例えば、カメ
ラ15やマイクロフォン16、スピーカ17との間でデ
ータ入出力を行なう。また、インターフェース25は、
駆動部50内の各ドライバ53−1…との間でデータや
コマンドの入出力を行なう。
【0054】また、インターフェース25は、RS(Re
commended Standard)−232Cなどのシリアル・イン
ターフェース、IEEE(Institute of Electrical an
d electronics Engineers)1284などのパラレル・
インターフェース、USB(Universal Serial Bus)イ
ンターフェース、i−Link(IEEE1394)イ
ンターフェース、SCSI(Small Computer System In
terface)インターフェース、PCカードやメモリ・ス
ティックを受容するメモリ・カード・インターフェース
(カード・スロット)などのような、コンピュータの周
辺機器接続用の汎用インターフェースを備え、ローカル
接続された外部機器との間でプログラムやデータの移動
を行なうようにしてもよい。
【0055】また、インターフェース25の他の例とし
て、赤外線通信(IrDA)インターフェースを備え、
外部機器と無線通信を行なうようにしてもよい。さら
に、制御ユニット20は、無線通信インターフェース2
6やネットワーク・インターフェース・カード(NI
C)27などを含み、Bluetoothのような近接
無線データ通信や、IEEE 802.11bのような
無線ネットワーク、あるいはインターネットなどの広域
ネットワークを経由して、外部のさまざまなホスト・コ
ンピュータとデータ通信を行なうことができる。
【0056】このようなロボット装置1とホスト・コン
ピュータ間におけるデータ通信により、遠隔のコンピュ
ータ資源を用いて、ロボット装置1の複雑な動作制御を
演算したり、リモート・コントロールすることができ
る。
【0057】B.ロボット装置の行動制御システム 図3には、本発明の実施形態に係るロボット装置1の行
動制御システム100の機能構成を模式的に示してい
る。ロボット装置1は、外部刺激の認識結果や内部状態
の変化に応じて行動制御を行なうことができる。さらに
は、長期記憶機能を備え、外部刺激から内部状態の変化
を連想記憶することにより、外部刺激の認識結果や内部
状態の変化に応じて行動制御を行なうことができる。
【0058】図示の行動制御システム100にはオブジ
ェクト指向プログラミングを採り入れて実装することが
できる。この場合、各ソフトウェアは、データとそのデ
ータに対する処理手続きとを一体化させた「オブジェク
ト」というモジュール単位で扱われる。また、各オブジ
ェクトは、メッセージ通信と共有メモリを使ったオブジ
ェクト間通信方法によりデータの受け渡しとInvok
eを行なうことができる。
【0059】行動制御システム100は、外部環境(E
nvironments)を認識するために、視覚認識
機能部101と、聴覚認識機能部102と、接触認識機
能部103を備えている。
【0060】視覚認識機能部(Video)51は、例
えば、CCD(Charge Coupled Device:電荷結合素
子)カメラのような画像入力装置を介して入力された撮
影画像を基に、顔認識や色認識などの画像認識処理や特
徴抽出を行なう。視覚認識機能部51は、後述する"M
ultiColorTracker","FaceDet
ector","FaceIdentify"といった複
数のオブジェクトで構成される。
【0061】聴覚認識機能部(Audio)52は、マ
イクなどの音声入力装置を介して入力される音声データ
を音声認識して、特徴抽出したり、単語セット(テキス
ト)認識を行ったりする。聴覚認識機能部52は、後述
する"AudioRecog","AuthurDeco
der"といった複数のオブジェクトで構成される。接
触認識機能部(Tactile)53は、例えば機体の
頭部などに内蔵された接触センサによるセンサ信号を認
識して、「なでられた」とか「叩かれた」という外部刺
激を認識する。
【0062】内部状態管理部(ISM:Internal Statu
s Manager)104は、本能や感情といった数種類の情
動を数式モデル化して管理しており、上述の視覚認識機
能部101と、聴覚認識機能部102と、接触認識機能
部103によって認識された外部刺激(ES:Exte
rnalStimula)に応じてロボット装置1の本
能や情動といった内部状態を管理する。
【0063】感情モデルと本能モデルは、それぞれ認識
結果と行動履歴を入力に持ち、感情値と本能値を管理し
ている。行動モデルは、これら感情値や本能値を参照す
ることができる。
【0064】本実施形態では、情動についてその存在意
義による複数階層で構成され、それぞれの階層で動作す
る。決定された複数の動作から、そのときの外部環境や
内部状態によってどの動作を行なうかを決定するように
なっている(後述)。また、それぞれの階層で行動は選
択されるが、より低次の行動から優先的に動作を発現し
ていくことにより、反射などの本能的行動や、記憶を用
いた動作選択などの高次の行動を1つの個体上で矛盾な
く発現することができる。
【0065】本実施形態に係るロボット装置1は、外部
刺激の認識結果や内部状態の変化に応じて行動制御を行
なうために、時間の経過とともに失われる短期的な記憶
を行なう短期記憶部105と、情報を比較的長期間保持
するための長期記憶部106を備えている。短期記憶と
長期記憶という記憶メカニズムの分類は神経心理学に依
拠する。
【0066】短期記憶部(ShortTermMemo
ry)105は、上述の視覚認識機能部101と、聴覚
認識機能部102と、接触認識機能部103によって外
部環境から認識されたターゲットやイベントを短期間保
持する機能モジュールである。例えば、カメラ15から
の入力画像を約15秒程度の短い期間だけ記憶する。
【0067】長期記憶部(LongTermMemor
y)106は、物の名前など学習により得られた情報を
長期間保持するために使用される。長期記憶部106
は、例えば、ある行動モジュールにおいて外部刺激から
内部状態の変化を連想記憶することができる。
【0068】また、本実施形態に係るロボット装置1の
行動制御は、反射行動部109によって実現される「反
射行動」と、状況依存行動階層108によって実現され
る「状況依存行動」と、熟考行動階層107によって実
現される「熟考行動」に大別される。
【0069】反射的行動部(ReflexiveSit
uatedBehaviorsLayer)109は、
上述の視覚認識機能部101と、聴覚認識機能部102
と、接触認識機能部103によって認識された外部刺激
に応じて反射的な機体動作を実現する機能モジュールで
ある。
【0070】反射行動とは、基本的に、センサ入力され
た外部情報の認識結果を直接受けて、これを分類して、
出力行動を直接決定する行動のことである。例えば、人
間の顔を追いかけたり、うなずくといった振る舞いは反
射行動として実装することが好ましい。
【0071】状況依存行動階層(SituatedBe
haviorsLayer)108は、短期記憶部10
5並びに長期記憶部106の記憶内容や、内部状態管理
部104によって管理される内部状態を基に、ロボット
装置1が現在置かれている状況に即応した行動を制御す
る。
【0072】状況依存行動階層108は、各行動毎にス
テートマシンを用意しており、それ以前の行動や状況に
依存して、センサ入力された外部情報の認識結果を分類
して、行動を機体上で発現する。また、状況依存行動階
層108は、内部状態をある範囲に保つための行動
(「ホメオスタシス行動」とも呼ぶ)も実現し、内部状
態が指定した範囲内を越えた場合には、その内部状態を
当該範囲内に戻すための行動が出現し易くなるようにそ
の行動を活性化させる(実際には、内部状態と外部環境
の両方を考慮した形で行動が選択される)。状況依存行
動は、反射行動に比し、反応時間が遅い。
【0073】熟考行動階層(Deliberative
Layer)107は、短期記憶部105並びに長期記
憶部106の記憶内容に基づいて、ロボット装置1の比
較的長期にわたる行動計画などを行なう。
【0074】熟考行動とは、与えられた状況あるいは人
間からの命令により、推論やそれを実現するための計画
を立てて行なわれる行動のことである。例えば、ロボッ
トの位置と目標の位置から経路を探索することは熟考行
動に相当する。このような推論や計画は、ロボット装置
1がインタラクションを保つための反応時間よりも処理
時間や計算負荷を要する(すなわち処理時間がかかる)
可能性があるので、上記の反射行動や状況依存行動がリ
アルタイムで反応を返しながら、熟考行動は推論や計画
を行なう。
【0075】熟考行動階層107や状況依存行動階層1
08、反射行動部109は、ロボット装置1のハードウ
ェア構成に非依存の上位のアプリケーション・プログラ
ムとして記述することができる。これに対し、ハードウ
ェア依存層制御部(ConfigurationDep
endentActionsAndReaction
s)110は、これら上位アプリケーション(「スキー
マ」と呼ばれる行動モジュール)からの命令に応じて、
関節アクチュエータの駆動などの機体のハードウェア
(外部環境)を直接操作する。
【0076】C.ロボット装置の記憶メカニズム 上述したように、本実施形態に係るロボット装置1は、
短期記憶部105と長期記憶部106を備えているが、
このような記憶メカニズムは、神経心理学に依拠する。
【0077】短期記憶は、字義通り短期的な記憶であ
り、時間の経過とともに失われる。短期記憶は、例え
ば、視覚や聴覚、接触など、外部環境から認識されたタ
ーゲットやイベントを短期間保持するために使用するこ
とができる。
【0078】短期記憶は、さらに、感覚情報(すなわち
センサからの出力)をそのままの信号で1秒程度保持す
る「感覚記憶」と、感覚記憶をエンコードして限られた
容量で短期的に記憶する「直接記憶」と、状況変化や文
脈を数時間に渡って記憶する「作業記憶」に分類するこ
とができる。直接記憶は、神経心理学的な研究によれば
7±2チャンクであると言われている。また、作業記憶
は、短期記憶と長期記憶との対比で、「中間記憶」とも
呼ばれる。
【0079】また、長期記憶は、物の名前など学習によ
り得られた情報を長期間保持するために使用される。同
じパターンを統計的に処理して、ロバストな記憶にする
ことができる。
【0080】長期記憶はさらに「宣言的知識記憶」と
「手続的知識記憶」に分類される。宣言的知識記憶は、
場面(例えば教えられたときのシーン)に関する記憶で
ある「エピソード記憶」と、言葉の意味や常識といった
記憶からなる「意味記憶」からなる。また、手続的知識
記憶は、宣言的知識記憶をどのように使うかといった手
順記憶であり、入力パターンに対する動作の獲得に用い
ることができる。
【0081】C−1.短期記憶部 短期記憶部105は、自分の周りに存在する物体、ある
いはイベントを表現、記憶し、それに基づいてロボット
が行動することを目的とした機能モジュールである。視
覚や聴覚などのセンサ情報を基に物体やイベントの位置
を自己中心座標系上に配置していくが、視野外の物体な
どを記憶し、それに対する行動などを生じさせることが
できる。
【0082】例えば、ある人物Aと会話していて、別の
人物Bに声をかられたとき、Aの位置や会話内容を保持
しながらBとの会話を行ない、終了後Aとの会話に戻る
場合などに短期記憶の機能が必要となる。但し、あまり
複雑な処理による統合を行なわずに、時間と空間で近い
センサ情報を同じ物体からの信号とみなすといった時空
間の簡単な近さによる統合を行なう。
【0083】また、ステレオ視覚などの技術を用いてパ
ターン認識で判別可能な物体以外の物体の位置を記憶す
るために、自己中心座標系上に配置する。床面検出とと
もに利用して、障害物の位置を確率的に記憶するなどに
利用することができる。
【0084】本実施形態では、短期記憶部105は、上
述した視覚認識機能部101、聴覚認識機能部102、
接触認識機能部103などの複数の認識器の結果からな
る外部刺激を時間的及び空間的に整合性を保つように統
合して、外部環境下の各物体に関する知覚を短期間の記
憶として状況依存行動階層(SBL)108などの行動
制御モジュールに提供する。
【0085】したがって、上位モジュールとして構成さ
れる行動制御モジュール側では、外界からの複数の認識
結果を統合して意味を持ったシンボル情報として扱い、
高度な行動制御を行なうことができる。また、以前に観
測された認識結果との対応問題などより複雑な認識結果
を利用して、どの肌色領域が顔でどの人物に対応してい
るかや、この声がどの人物の声なのかなどを解くことが
できる。
【0086】また、認識した観測結果に関する情報を記
憶として短期記憶部55が保持しているので、自律行動
する期間中に一時的に観測結果が来なかったりした場合
であっても、機体の行動制御を行なうアプリケーション
などの上位モジュールからは常にそこに物体が知覚され
ているように見えるようにすることができる。例えば、
センサの視野外の情報もすぐに忘れることなく保持して
いるので、ロボットが物体を一旦見失ったとしても、ま
た後で探し出すことができる。この結果、認識器の間違
いやセンサのノイズに強くなり、認識器の通知のタイミ
ングに依存しない安定したシステムを実現することがで
きる。また、認識器単体から見て情報が足りなくても、
他の認識結果が補うことができる場合があるので、シス
テム全体としての認識性能が向上する。
【0087】また、関連する認識結果が結び付けられて
いるので、アプリケーションなどの上位モジュールで関
連する情報を使って行動判断することが可能である。例
えば、ロボット装置は、呼び掛けられた声を基に、その
人物の名前を引き出すことができる。この結果、挨拶の
応答に「こんにちは、XXXさん。」のように答えるな
どのリアクションが可能である。
【0088】図4には、図3に示した行動制御システム
100における外部刺激に応じた状況依存行動制御のメ
カニズムを図解している。外部刺激は、認識系の機能モ
ジュール101〜103によってシステムに取り込まれ
るとともに、短期記憶部(STM)105を介して状況
依存行動階層(SBL)108に与えられる。図示の通
り、認識系の各機能モジュール101〜103や、短期
記憶部(STM)105、状況依存行動階層(SBL)
108はオブジェクトとして構成されている。
【0089】同図において、丸で表されているのが、
「オブジェクト」又は「プロセス」と呼ばれるエンティ
ティである。オブジェクト同士が非同期に通信し合うこ
とで、システム全体が動作する。各オブジェクトはメッ
セージ通信と共有メモリを使ったオブジェクト間通信方
法によりデータの受け渡しとInvokeを行なってい
る。以下に、各オブジェクトの機能について説明する。
【0090】AudioRecog:マイクなどの音声
入力装置からの音声データを受け取って、特徴抽出と音
声区間検出を行なうオブジェクトである。また、マイク
がステレオである場合には、水平方向の音源方向推定を
行なうことができる。音声区間であると判断されると、
その区間の音声データの特徴量及び音源方向がArth
erDecoder(後述)に送られる。
【0091】SpeechRecog:AudioRe
cogから受け取った音声特徴量と音声辞書及び構文辞
書を使って音声認識を行なうオブジェクトである。認識
された単語のセットは短期記憶部(ShortTerm
Memory)105に送られる。
【0092】MultiColorTracker:
認識を行なうオブジェクトであり、カメラなどの画像入
力装置から画像データを受け取り、あらかじめ持ってい
る複数のカラー・モデルに基づいて色領域を抽出し、連
続した領域に分割する。分割された各領域の位置や大き
さ、特徴量などの情報を出力して、短期記憶部(Sho
rtTermMemory)105へ送る。
【0093】FaceDetector:画像フレーム
中から顔領域を検出するオブジェクトであり、カメラな
どの画像入力装置から画像データを受け取り、それを9
段階のスケール画像に縮小変換する。このすべての画像
の中から顔に相当する矩形領域を探索する。重なりあっ
た候補領域を削減して最終的に顔と判断された領域に関
する位置や大きさ、特徴量などの情報を出力して、Fa
ceIdentify(後述)へ送る。
【0094】FaceIdentify:検出された顔
画像を識別するオブジェクトであり、顔の領域を示す矩
形領域画像をFaceDetectorから受け取り、
この顔画像が手持ちの人物辞書のうちでどの人物に相当
するかを比較して人物の識別を行なう。この場合、顔検
出から顔画像を受け取り、顔画像領域の位置、大きさ情
報とともに人物のID情報を出力する。
【0095】ShortTermMemory(短期記
憶部):ロボット1の外部環境に関する情報を比較的短
い時間だけ保持するオブジェクトであり、Speech
Recogから音声認識結果(単語、音源方向、確信
度)を受け取り、MultiColorTracker
から肌色の領域の位置、大きさと顔領域の位置、大きさ
を受け取り、FaceIdentifyから人物のID
情報等を受け取る。また、ロボット1の機体上の各セン
サからロボットの首の方向(関節角)を受け取る。そし
て、これらの認識結果やセンサ出力を統合的に使って、
現在どこにどの人物がいて、しゃべった言葉がどの人物
のものであり、その人物とはこれまでにどんな対話を行
なったのかという情報を保存する。こうした物体すなわ
ちターゲットに関する物理情報と時間方向でみたイベン
ト(履歴)を出力として、状況依存行動階層(SBL)
などの上位モジュールに渡す。
【0096】SituatedBehaviorLay
er(状況依存行動階層):上述のShortTerm
Memory(短期記憶部)からの情報を基にロボット
1の行動(状況に依存した行動)を決定するオブジェク
トである。複数の行動を同時に評価したり、実行したり
することができる。また、行動を切り替えて機体をスリ
ープ状態にしておき、別の行動を起動することができ
る。
【0097】ResourceManager:出力用
のコマンドに対してロボット1の各ハードウェアのリソ
ース調停を行なうオブジェクトである。図4に示す例で
は、音声出力用のスピーカをコントロールするオブジェ
クトと首のモーション・コントロールするオブジェクト
のリソース調停を行なう。
【0098】SoundPerformerTTS:
声出力を行なうためのオブジェクトであり、Resou
rceManager経由でSituatedBeha
viorLayerから与えられたテキスト・コマンド
に応じて音声合成を行ない、ロボット1の機体上のスピ
ーカから音声出力を行なう。
【0099】HeadMotionGenerato
r:ResourceManager経由でSitua
tedBehaviorLayerから首を動かすコマ
ンドを受けたことに応答して、首の関節角を計算するオ
ブジェクトである。「追跡」のコマンドを受けたときに
は、ShortTermMemoryから受け取った物
体の位置情報を基に、その物体が存在する方向を向く首
の関節角を計算して出力する。
【0100】短期記憶部105は、ターゲット・メモリ
とイベント・メモリという2種類のメモリ・オブジェク
トで構成される。
【0101】ターゲット・メモリは、各認識機能部10
1〜103からの情報を統合して、現在知覚している物
体に関する情報すなわちターゲットを保持している。こ
のため、対象物体がいなくなったり現れたりすること
で、該当するターゲットを記憶領域から削除したり(G
arbageCollector)、新たに生成したり
する。また、1つのターゲットを複数の認識属性で表現
することができる(TargetAssociat
e)。例えば、肌色で顔のパターンで声を発する物体
(人間の顔)などである。
【0102】ターゲット・メモリで保持される物体(タ
ーゲット)の位置や姿勢情報は、それぞれの認識機能部
51〜53において使用されるセンサ座標系ではなく、
ロボット1の体幹などの機体上の特定の部位が所定の場
所に固定されたワールド座標系で表現を行なうようにし
ている。このため、短期記憶部(STM)105では、
ロボット1の各関節の現在値(センサ出力)を常に監視
して、センサ座標系からこの固定座標系への変換を行な
う。これにより、各認識機能部101〜103の情報を
統合することが可能になる。例えば、ロボット100が
首などを動かしてセンサの姿勢が変化しても、状況依存
行動階層(SBL)などの行動制御モジュールから見た
物体の位置は同じままであるので、ターゲットの取り扱
いが容易になる。
【0103】また、イベント・メモリは、外部環境下で
発生した過去から現在までのイベントを時系列的に格納
するオブジェクトである。イベント・メモリにおいて扱
われるイベントとして、ターゲットの出現と消失、音声
認識単語、自己の行動や姿勢の変化などの外界の状況の
変化に関する情報を挙げることができる。
【0104】イベントの中には、あるターゲットに関す
る状態変化が含まれている。このため、イベント情報と
して該当するターゲットのIDを含めることで、発生し
たイベントに関するより詳しい情報を、上述のターゲッ
ト・メモリから検索することも可能である。
【0105】図5及び図6には、各認識機能部101〜
103における認識結果に基づいて、短期記憶部105
内のターゲット・メモリ及びイベント・メモリに入る情
報の流れをそれぞれ示している。
【0106】図5に示すように、短期記憶部105(S
TMオブジェクト)内には、外部環境からターゲットを
検出するターゲット検出器が設けられている。このター
ゲット検出器は、声認識結果や顔認識結果、色認識結果
などの各認識機能部101〜103による認識結果を基
に、新規ターゲットを追加したり、既存のターゲットを
認識結果に反映するように更新したりする。検出された
ターゲットは、ターゲット・メモリ内に保持される。
【0107】また、ターゲット・メモリには、もはや観
測されなくなったターゲットを探して消去するガーベッ
ジ・コレクタ(GarbageCollector)
や、複数のターゲットの関連性を判別して同じターゲッ
トに結び付けるターゲット・アソシエート(Targe
tAssociate)などの機能がある。ガーベッジ
・コレクタは、時間の経過に従ってターゲットの確信度
をデクリメントしていき、確信度が所定値を下回ったタ
ーゲットを削除(delete)することで実現され
る。また、ターゲット・アソシエートは、同じ属性(認
識タイプ)の特徴量が近いターゲット間で空間的・時間
的な近さを持つことで、同じターゲットを同定すること
ができる。
【0108】前述した状況依存型行動階層(SBL)
は、短期記憶部105のクライアント(STMクライア
ント)となるオブジェクトであり、ターゲット・メモリ
からは定期的に各ターゲットに関する情報の通知(No
tify)を受け取る。本実施形態では、STMプロキ
シ・クラスが、短期記憶部105(STMオブジェク
ト)とは独立したクライアント・ローカルな作業領域に
ターゲットをコピーして、常に最新の情報を保持してお
く。そして、ローカルなターゲット・リスト(Targ
et of Interest)の中から所望のターゲ
ットを外部刺激として読み出して、スキーマ(sche
ma)すなわち行動モジュールを決定する(後述)。
【0109】また、図6に示すように、短期記憶部10
5(STMオブジェクト)内には、外部環境において発
生するイベントを検出するイベント検出器が設けられて
いる。このイベント検出器は、ターゲット検出器による
ターゲットの生成や、ガーベッジ・コレクタによるター
ゲットの削除をイベントとして検出する。また、認識機
能部101〜103による認識結果が音声認識である場
合には、その発話内容がイベントになる。発生したイベ
ントは、発生した時間順にイベント・メモリ内でイベン
ト・リストとして格納される。
【0110】状況依存型行動階層(SBL)は、短期記
憶部105のクライアント(STMクライアント)とな
るオブジェクトであり、イベント・メモリからは時々刻
々とのイベントの通知(Notify)を受け取る。本
実施形態では、STMプロキシ・クラスが、短期記憶部
105(STMオブジェクト)とは独立したクライアン
ト・ローカルな作業領域にイベント・リストをコピーし
ておく。そして、ローカルなイベント・リストの中から
所望のイベントを外部刺激として読み出して、スキーマ
(schema)すなわち行動モジュールを決定する
(後述)。実行された行動モジュールは新たなイベント
としてイベント検出器により検出される。また、古いイ
ベントは、例えばFIFO(Fast In Fast Out)形式で
イベント・リストから逐次的に廃棄される。
【0111】本実施形態に係る短期記憶メカニズムによ
れば、ロボット1は、外部刺激に関する複数の認識器の
結果を時間的及び空間的に整合性を保つように統合し
て、意味を持ったシンボル情報として扱うようになって
いる。これによって、以前に観測された認識結果との対
応問題などより複雑な認識結果を利用して、どの肌色領
域が顔でどの人物に対応しているかや、この声がどの人
物の声なのかなどを解くことを可能にしている。
【0112】以下では、図7〜図9を参照しながら、ロ
ボット1によるユーザA及びBとの対話処理について説
明する。
【0113】まず、図7に示すように、ユーザAが「ま
さひろ(ロボットの名前)くん!」と呼ぶと、各認識機
能部51〜53により音方向検出、音声認識、及び顔識
別が行なわれ、呼ばれた方向を向いて、ユーザAの顔を
トラッキングしたり、ユーザAとの対話を開始するとい
う状況依存の行動が行なわれる。
【0114】次いで、図8に示すように、今度はユーザ
Bが「まさひろ(ロボットの名前)くん!」と呼ぶと、
各認識機能部101〜103により音方向検出、音声認
識、及び顔識別が行なわれ、ユーザAとの対話を中断し
た後(但し、会話のコンテキストを保存する)、呼ばれ
た方向を向いて、ユーザBの顔をトラッキングしたり、
ユーザBとの対話を開始するという状況依存の行動が行
なわれる。これは、状況依存行動階層108が持つPr
eemption機能(後述)である。
【0115】次いで、図9に示すように、ユーザAが
「おーい!」と叫んで、会話の継続を催促すると、今度
は、ユーザBとの対話を中断した後(但し、会話のコン
テキストを保存する)、呼ばれた方向を向いて、ユーザ
Aの顔をトラッキングしたり、保存されているコンテキ
ストに基づいてユーザAとの対話を再開するという状況
依存の行動が行なわれる。このとき、状況依存行動階層
108が持つReentrant機能(後述)により、
ユーザAとの対話によってユーザBとの対話内容が破壊
されずに済み、中断した時点から正確に対話を再開する
ことができる。
【0116】C−2.長期記憶部 長期記憶は、物の名前など学習により得られた情報を長
期間保持するために使用される。同じパターンを統計的
に処理して、ロバストな記憶にすることができる。
【0117】長期記憶はさらに「宣言的知識記憶」と
「手続的知識記憶」に分類される。宣言的知識記憶は、
場面(例えば教えられたときのシーン)に関する記憶で
ある「エピソード記憶」と、言葉の意味や常識といった
記憶からなる「意味記憶」からなる。また、手続的知識
記憶は、宣言的知識記憶をどのように使うかといった手
順記憶であり、入力パターンに対する動作の獲得に用い
ることができる。
【0118】エピソード記憶は、長期記憶の中でも、宣
言的知識記憶(言明記憶とも言う)の一種である。例え
ば、自転車に乗ることを考えると、初めて自転車に乗っ
た場面(時間・場所など)を覚えていることがエピソー
ド記憶に相当する。その後、時間の経過によりそのエピ
ソードに関する記憶が薄れる一方、その意味を記憶する
のが意味記憶である。また、自転車の乗り方の手順を記
憶するようになるが、これが手続的知識記憶に相当す
る。一般的に、手続的知識の記憶には時間を要する。宣
言的知識記憶によって「言う」ことができるのに対し
て、手続的知識記憶は潜在的であり、動作の実行という
形で表れる。
【0119】本実施形態に係る長期記憶部106は、視
覚情報、聴覚情報などの物体に関するセンサ情報、及び
その物体に対して行なった行動に対する結果としての内
部状態が変化した結果などを記憶する連想記憶と、その
1つの物体に関するフレーム記憶と、周囲の情景から構
築されるマップ情報、あるいはデータとして与えられる
地図情報、原因となる状況とそれに対する行動とその結
果といったルールで構成される。
【0120】C−2−1.連想記憶 連想記憶とは、あらかじめ複数のシンボルからなる入力
パターンを記憶パターンとして記憶しておき、その中の
ある1つのパターンに類似したパターンが想起される仕
組みのことを言う。本実施形態に係る連想記憶は、競合
型ニューラル・ネットワークを用いたモデルにより実現
される。このような連想記憶メカニズムによれば、一部
欠陥のあるパターンが入力されたとき、記憶されている
複数のパターンの中で最も近い記憶パターンを出力する
ことができる。これは、不完全なデータからなる外部刺
激しか与えられなかったときであっても、該当するニュ
ーロンの発火によりあるオブジェクトの意味などを想起
することができるからである。
【0121】連想記憶は、「自己想起型連想記憶」と
「相互想起型連想記憶」に大別される。自己想起型とは
記憶したパターンを直接キー・パターンで引き出すモデ
ルであり、また、相互想起型とは入力パターンと出力パ
ターンがある種の連合関係で結ばれているモデルであ
る。本実施形態では、自己想起型連想記憶を採用する
が、これは、従来のホップフィールドやアソシアトロン
(前述)などの記憶モデルに比し、追加学習が容易であ
る、入力パターンの統計的な記憶が可能である、などの
メリットがある。
【0122】追加学習によれば、新しいパターンを新た
に記憶しても、過去の記憶が上書きされて消されること
はない。また、統計的な学習によれば、同じものを多く
見ればそれだけ記憶に残るし、また同じことを繰り返し
実行すれば、忘れにくくなる。この場合、記憶過程にお
いて、毎回完全なパターンが入力されなくとも、繰り返
し実行により、多く提示されたパターンに収束してい
く。
【0123】C−2−2.連想記憶による意味記憶 ロボット装置1が覚えるパターンは、例えばロボット装
置1への外部刺激と内部状態の組み合わせで構成され
る。
【0124】ここで、外的刺激とは、ロボット装置1が
センサ入力を認識して得られた知覚情報であり、例え
ば、カメラ15から入力された画像に対して処理された
色情報、形情報、顔情報などであり、より具体的には、
色、形、顔、3D一般物体、ハンドジェスチャー、動
き、音声、接触、匂い、味などの構成要素からなる。
る。
【0125】また、内的状態とは、例えば、ロボットの
身体に基づいた本能や感情などの情動を指す。本能的要
素は、例えば、疲れ(fatigue)、熱あるいは体内温度
(temperature)、痛み(pain)、食欲あるいは飢え(h
unger)、乾き(thirst)、愛情(affection)、好奇心
(curiosity)、排泄(elimination)又は性欲(sexua
l)のうちの少なくとも1つである。また、情動的要素
は、幸せ(happiness)、悲しみ(sadness)、怒り(an
ger)、驚き(surprise)、嫌悪(disgust)、恐れ(fe
ar)、苛立ち(frustration)、退屈(boredom)、睡眠
(somnolence)、社交性(gregariousness)、根気(pa
tience)、緊張(tense)、リラックス(relaxed)、警
戒(alertness)、罪(guilt)、悪意(spite)、誠実
さ(loyalty)、服従性(submission)又は嫉妬(jealo
usy)のうちの少なくとも1つである。
【0126】本実施形態に係る競合型ニューラル・ネッ
トワークを適用した連想記憶メカニズムでは、これら外
部刺激や内部状態を構成する各要素に対して入力チャン
ネルを割り当てている。また、視覚認識機能部101や
聴覚認識機能部102などの各知覚機能モジュールは、
センサ出力となる生の信号を送るのではなく、センサ出
力を認識した結果をシンボル化して、シンボルに相当す
るID情報(例えば、色プロトタイプID、形プロトタ
イプID、音声プロトタイプIDなど)を該当するチャ
ンネルに送るようになっている。
【0127】例えば、カラー・セグメンテーション・モ
ジュールによりセグメンテーションされた各オブジェク
トは、色プロトタイプIDを付加されて連想記憶システ
ムに入力される。また、顔認識モジュールにより認識さ
れた顔のIDが連想記憶システムに入力される。また、
物体認識モジュールにより認識された物体のIDが連想
システムに入力される。また、音声認識モジュールから
は、ユーザの発話により単語のプロトタイプIDが入力
される。このとき、発話の音素記号列(Phoneme Sequen
ce)も入力されるので、記憶・連想の処理で、ロボット
装置1に発話させることが可能となる。また、本能に関
しては、アナログ値を扱えるようになっており(後
述)、例えば、本能のデルタ値を80で記憶しておけ
ば、連想により80というアナログ値を得ることが可能
である。
【0128】したがって、本実施形態に係る連想記憶シ
ステムは、色、形、音声…などの外部刺激や内部状態
を、各チャンネル毎のシンボル化されたIDの組み合わ
せからなる入力パターンとして記憶することができる。
すなわち、連想記憶システムが記憶するのは、
【0129】[色ID 形ID 顔ID 音声ID…本
能ID(値) 情動 ID]
【0130】の組み合わせである。
【0131】連想記憶には、記憶過程と想起過程があ
る。図10には、連想記憶の記憶過程の概念を示してい
る。
【0132】連想記憶システムに入力される記憶パター
ンは、外部刺激や内部状態の各要素毎に割り当てられて
いる複数のチャンネルで構成される(図示の例では入力
1〜入力8の8チャンネルからなる)。そして、各チャ
ンネルには、対応する外部刺激の認識結果や内部状態を
シンボル化したID情報が送られてくる。図示の例で
は、各チャンネルの濃淡がID情報を表しているものと
する。例えば、記憶パターン中のk番目のカラムが顔の
チャンネルに割り当てられている場合、その色により顔
のプロトタイプIDを表している。
【0133】図10に示す例では、連想記憶システムは
既に1〜nの合計n個の記憶パターンを記憶しているも
のとする。ここで、2つの記憶パターン間での対応する
チャンネルの色の相違は、同じチャンネル上で記憶して
いる外部刺激又は内部状態のシンボルすなわちIDが当
該記憶パターン間で異なることを意味する。
【0134】また、図11には、連想記憶の想起過程の
概念を示している。上述したように、記憶過程で蓄えた
入力パターンに似たパターンが入力されると、欠落して
いた情報を補うように完全な記憶パターンが出力され
る。
【0135】図11に示す例では、8チャンネルからな
る記憶パターンのうち上位の3チャンネルしかIDが与
えられていないパターンがキー・パターンとして入力さ
れる。このような場合、連想記憶システムでは、既に貯
えられている記憶パターンの中で、これら上位の3チャ
ンネルが最も近いパターン(図示の例では記憶パターン
1)を見つけ出して、想起されたパターンとして出力す
ることができる。すなわち、欠落していたチャンネル4
〜8の情報を補うように、最も近い記憶パターンが出力
される。
【0136】したがって、連想記憶システムによれば、
顔のIDのみから音声ID、つまり名前を連想したり、
食べ物の名前だけから、“おいしい”や“おいしくな
い”などを想起することができる。競合型ニューラル・
ネットワークによる長期記憶アーキテクチャによれば、
言葉の意味や常識などに関する意味記憶を、他の長期記
憶と同じ工学モデルで実現することができる。
【0137】C−3.競合型ニューラル・ネットワーク
による連想学習 図12には、競合型ニューラル・ネットワークを適用し
た連想記憶システムの構成例を模式的に示している。同
図に示すように、この競合型ニューラル・ネットワーク
は、入力層(input layer)と競合層(competitive lay
er)の2層からなる階層型ニューラル・ネットワークで
ある。
【0138】この競合型ニューラル・ネットワークは、
記憶モードと連想モードという2通りの動作モードを備
えており、記憶モードでは入力パターンを競合的に記憶
し、また、想起モードでは部分的に欠損した入力パター
ンから完全な記憶パターンを想起する。
【0139】入力層は、複数の入力ニューロンで構成さ
れる。各入力ニューロンには、外部刺激や内部状態を表
す各要素に対して割り当てられたチャンネルから、外部
刺激や内部状態の認識結果に相当するシンボルすなわち
ID情報が入力される。入力層では、色IDの個数+形
IDの個数+音声IDの個数+本能の種類…に相当する
個数のニューロンを用意する必要がある。
【0140】また、競合層は、複数の競合ニューロンで
構成される。各競合ニューロンは、入力層側の各入力ニ
ューロンとは、ある結合重みを持って結合されている。
競合ニューロンは、それぞれのニューロンが記憶すべき
1つのシンボルに相当する。言い換えれば、競合ニュー
ロンの数は記憶可能なシンボルの個数に相当する。
【0141】ある入力パターンが入力層に与えられたと
する。このとき、入力パターンは外部刺激や内部状態の
各要素を表すチャンネルで構成されており、チャンネル
から該当するIDが送られてきた入力ニューロンは発火
する。
【0142】競合ニューロンは、各入力ニューロンから
の出力をシナプスによる重み付けをして入力して、それ
ら入力値の総和を計算する。そして、競合層で入力値の
総和が最大となる競合ニューロンを選択して、勝ち抜い
た競合ニューロンと入力ニューロンとの結合力を強めて
いくことで、学習を行なう。また、欠損のある入力パタ
ーンに対して、競合層で勝ち抜いた競合ニューロンを選
択することにより、入力パターンに対応するシンボルを
想起することができる。
【0143】記憶モード:入力層と競合層の結合重み
は、0から1の間の値をとるものとする。但し、初期結
合重みはランダムに決定する。
【0144】競合型ニューラル・ネットワークにおける
記憶は、まず、記憶したい入力パターンに対して競合層
で勝ち抜いた競合ニューロンを選択して、その競合ニュ
ーロンと各入力ニューロンとの結合力を強めることで行
なう。
【0145】ここで、入力パターン・ベクトル[x1
2,…,xn]は、ニューロンが、色プロトタイプID
1に対応し、ID1が認識されたら、ニューロンx1
発火させ、順次、形、音声もそのように発火させること
とする。発火したニューロンは1の値をとり、発火しな
いニューロンは−1の値をとる。
【0146】また、i番目の入力ニューロンとj番目の
競合ニューロンとの結合力をwijとおくと、入力xi
対する競合ニューロンyjの値は、下式のように表され
る。
【0147】
【数1】
【0148】したがって、競合に勝ち抜くニューロン
は、下式により求めることができる。
【0149】
【数2】
【0150】記憶は、競合層で勝ち抜いた競合ニューロ
ン(winner neuron)と各入力ニューロンとの結合力を
強めることで行なう。勝ち抜いたニューロン(winner n
euron)と入力ニューロンとの結合の更新は、Koho
nenの更新規則により、以下のように行なわれる。
【0151】
【数3】
【0152】ここで、L2Normで正規化する。
【0153】
【数4】
【0154】この結合力がいわゆる記憶の強さを表し、
記憶力になる。ここで、学習率αは、提示する回数と記
憶の関係を表すパラメータである。学習率αが大きいほ
ど、1回の記憶で重みを大きく変更する。例えば、α=
0.5を用いると、一度記憶させれば、忘却することは
なく、次回同じようなパターンを提示すれば、ほぼ間違
いなく記憶したパターンを連想することができる。
【0155】また、提示して記憶させればさせるほど、
ネットワークの結合値(重み)が大きくなっていく。こ
れは、同じパターンが何度も入力されるうちに、記憶が
強くなることを示し、統計的な学習が可能であり、実環
境下におけるノイズの影響の少ない長期記憶を実現する
ことができる。
【0156】また、新たなパターンが入力され、記憶し
ようとすれば、新たな競合層のニューロンが発火するた
め、その新しいニューロンとの結合が強まり、以前の記
憶によるニューロンとの結合が弱まる訳ではない。言い
換えれば、競合型ニューラル・ネットワークによる連想
記憶では、追加学習が可能なのであり、「忘却」の問題
から解放される。
【0157】想起モード:いま、以下に示すような入力
パターン・ベクトルが図12に示す連想記憶システムに
提示されたとする。入力パターンは、完全なものではな
く一部が欠損していてもよい。
【0158】
【数5】
【0159】このとき、入力ベクトルは、プロトタイプ
IDであっても、あるいはそのプロトタイプIDに対す
る尤度、確率であってもよい。出力ニューロンyjの値
は、入力xiについて下式のように計算される。
【0160】
【数6】
【0161】上式は、各チャンネルの尤度に応じた競合
ニューロンの発火値の尤度を表しているとも言える。こ
こで重要なことは、複数のチャンネルからの尤度入力に
対して、それらをコネクションして全体的な尤度を求め
ることが可能である、という点である。本実施形態で
は、連想するものは唯一すなわち尤度が最大のものだけ
を選択することとし、競合に勝ち抜くニューロンを下式
により求めることができる。
【0162】
【数7】
【0163】求めた競合ニューロンYの番号が記憶した
シンボルの番号に対応するので、下式のように、Wの逆
行列演算により入力パターンXを想起することができ
る。
【0164】
【数8】
【0165】さらに図12に示す競合型ニューラル・ネ
ットワークの入力層ニューロンにエピソードや動作ID
などのシンボルを割り当てることにより、宣言的知識記
憶や手続的知識記憶を連想記憶アーキテキチャにより実
現することができる。
【0166】D.状況依存行動制御 状況依存行動階層(SituatedBehavior
sLayer)108は、短期記憶部105並びに長期
記憶部106の記憶内容や、内部状態管理部104によ
って管理される内部状態を基に、ロボット装置1が現在
置かれている状況に即応した行動を制御する。また、状
況依存行動階層108の一部として、認識された外部刺
激に応じて反射的・直接的な機体動作を実行する反射行
動部109を含んでいる。
【0167】D−1.状況依存行動階層の構成 本実施形態では、状況依存行動階層108は、各行動モ
ジュール毎にステートマシンを用意しており、それ以前
の行動や状況に依存して、センサ入力された外部情報の
認識結果を分類して、行動を機体上で発現する。行動モ
ジュールは、外部刺激や内部状態の変化に応じた状況判
断を行なうmonitor機能と、行動実行に伴う状態
遷移(ステートマシン)を実現するaction機能と
を備えたスキーマ(schema)として記述される。
状況依存行動階層108は、複数のスキーマが階層的に
連結された木構造として構成されている(後述)。
【0168】また、状況依存行動階層108は、内部状
態をある範囲に保つための行動(「ホメオスタシス行
動」とも呼ぶ)も実現し、内部状態が指定した範囲内を
越えた場合には、その内部状態を当該範囲内に戻すため
の行動が出易くなるようにその行動を活性化させる(実
際には、内部状態と外部環境の両方を考慮した形で行動
が選択される)。
【0169】図3に示したようなロボット1の行動制御
システム100における各機能モジュールは、オブジェ
クトとして構成される。各オブジェクトは、メッセージ
通信と共有メモリを使ったオブジェクト間通信方法によ
りデータの受け渡しとInvokeを行なうことができ
る。図13には、本実施形態に係る行動制御システム1
00のオブジェクト構成を模式的に示している。
【0170】視覚認識機能部101は、”FaceDe
tector”、”MulitColotTracke
r”、”FaceIdentify”という3つのオブ
ジェクトで構成される。
【0171】FaceDetectorは、画像フレー
ム中から顔領域を検出するオブジェクトであり、検出結
果をFaceIdentifyに出力する。Mulit
ColotTrackerは、色認識を行なうオブジェ
クトであり、認識結果をFaceIdentify及び
ShortTermMemory(短期記憶ブ105を
構成するオブジェクト)に出力する。また、FaceI
dentifyは、検出された顔画像を手持ちの人物辞
書で検索するなどして人物の識別を行ない、顔画像領域
の位置、大きさ情報とともに人物のID情報をShor
tTermMemoryに出力する。
【0172】聴覚認識機能部102は、”AudioR
ecog”と”SpeechRecog”という2つの
オブジェクトで構成される。AudioRecogは、
マイクなどの音声入力装置からの音声データを受け取っ
て、特徴抽出と音声区間検出を行なうオブジェクトであ
り、音声区間の音声データの特徴量及び音源方向をSp
eechRecogやShortTermMemory
に出力する。SpeechRecogは、AudioR
ecogから受け取った音声特徴量と音声辞書及び構文
辞書を使って音声認識を行なうオブジェクトであり、認
識された単語のセットをShortTermMemor
yに出力する。
【0173】触覚認識記憶部103は、接触センサから
のセンサ入力を認識する”TactileSenso
r”というオブジェクトで構成され、認識結果はSHo
rtTermMemoryや内部状態を管理するオブジ
ェクトであるInternalStateModel
(ISM)に出力する。
【0174】ShortTermMemory(ST
M)は、短期記憶部105を構成するオブジェクトであ
り、上述の認識系の各オブジェクトによって外部環境か
ら認識されたターゲットやイベントを短期間保持(例え
ばカメラ15からの入力画像を約15秒程度の短い期間
だけ記憶する)する機能モジュールであり、STMクラ
イアントであるSituatedBehaviorsL
ayerに対して外部刺激の通知(Notify)を定
期的に行なう。
【0175】LongTermMemory(LTM)
は、長期記憶部106を構成するオブジェクトであり、
物の名前など学習により得られた情報を長期間保持する
ために使用される。LongTermMemoryは、
例えば、ある行動モジュールにおいて外部刺激から内部
状態の変化を連想記憶することができる。
【0176】InternalStatusManag
er(ISM)は、内部状態管理部104を構成するオ
ブジェクトであり、本能や感情といった数種類の情動を
数式モデル化して管理しており、上述の認識系の各オブ
ジェクトによって認識された外部刺激(ES:Exte
rnalStimula)に応じてロボット装置1の本
能や情動といった内部状態を管理する。
【0177】SituatedBehaviorsla
yer(SBL)は状況依存型行動階層108を構成す
るオブジェクトである。SBLは、ShorTermM
emoryのクライアント(STMクライアント)とな
るオブジェクトであり、ShorTermMemory
からは定期的に外部刺激(ターゲットやイベント)に関
する情報の通知(Notify)を受け取ると、スキー
マ(schema)すなわち実行すべき行動モジュール
を決定する(後述)。
【0178】ReflexiveSituatedBe
haviorsLayerは、反射的行動部109を構
成するオブジェクトであり、上述した認識系の各オブジ
ェクトによって認識された外部刺激に応じて反射的・直
接的な機体動作を実行する。例えば、人間の顔を追いか
けたり、うなずく、障害物の検出により咄嗟に避けると
いった振る舞いを行なう(後述)。
【0179】SituatedBehaviorsla
yerは外部刺激や内部状態の変化などの状況に応じて
行動を選択する。これに対し、ReflexiveSi
tuatedBehaviorsLayerは、外部刺
激に応じて反射的を行動する。これら2つのオブジェク
トによる行動選択は独立して行なわれるため、互いに選
択された行動モジュール(スキーマ)を機体上で実行す
る場合に、ロボット1のハードウェア・リソースが競合
して実現不可能なこともある。Resourceman
agerというオブジェクトは、SituatedBe
haviorslayerとReflexiveSit
uatedBehaviorsLayerによる行動選
択時のハードウェアの競合を調停する。そして、調停結
果に基づいて機体動作を実現する各オブジェクトに通知
することにより機体が駆動する。
【0180】SoundPerformer、Moti
onController、LedControlle
rは、機体動作を実現するオブジェクトである。Sou
ndPerformerは、音声出力を行なうためのオ
ブジェクトであり、ResourceManager経
由でSituatedBehaviorLayerから
与えられたテキスト・コマンドに応じて音声合成を行な
い、ロボット1の機体上のスピーカから音声出力を行な
う。また、MotionControllerは、機体
上の各関節アクチュエータの動作を行なうためのオブジ
ェクトであり、ResourceManager経由で
SituatedBehaviorLayerから手や
脚などを動かすコマンドを受けたことに応答して、該当
する関節角を計算する。また、LedControll
erは、LED19の点滅動作を行なうためのオブジェ
クトであり、ResourceManager経由でS
ituatedBehaviorLayerからコマン
ドを受けたことに応答してLED19の点滅駆動を行な
う。
【0181】図14には、状況依存行動階層(SBL)
108(但し、反射行動部109を含む)による状況依
存行動制御の形態を模式的に示している。認識系101
〜103による外部環境の認識結果は、外部刺激として
状況依存行動階層108(反射行動部109を含む)に
与えられる。また、認識系による外部環境の認識結果に
応じた内部状態の変化も状況依存行動階層108に与え
られる。そして、状況依存行動階層108では、外部刺
激や内部状態の変化に応じて状況を判断して、行動選択
を実現することができる。
【0182】図15には、図14に示した状況依存行動
階層108による行動制御の基本的な動作例を示してい
る。同図に示すように、状況依存行動階層108(SB
L)では、外部刺激や内部状態の変化によって各行動モ
ジュール(スキーマ)の活動度レベルを算出して、活動
度レベルの度合いに応じてスキーマを選択して行動を実
行する。活動度レベルの算出には、例えばライブラリを
利用することにより、すべてのスキーマについて統一的
な計算処理を行なうことができる(以下、同様)。例え
ば、活動度レベルが最も高いスキーマを選択したり、所
定の閾値を越えた2以上のスキーマを選択して並列的に
行動実行するようにしてもよい(但し、並列実行すると
きは各スキーマどうしでハードウェア・リソースの競合
がないことを前提とする)。
【0183】また、図16には、図14に示した状況依
存行動階層108により反射行動を行なう場合の動作例
を示している。この場合、同図に示すように、状況依存
行動階層108に含まれる反射行動部109(Refl
exiveSBL)は、認識系の各オブジェクトによっ
て認識された外部刺激を直接入力として活動度レベルを
算出して、活動度レベルの度合いに応じてスキーマを選
択して行動を実行する。この場合、内部状態の変化は、
活動度レベルの計算には使用されない。
【0184】また、図17には、図14に示した状況依
存行動階層108により感情表現を行なう場合の動作例
を示している。内部状態管理部104では、本能や感情
などの情動を数式モデルとして管理しており、情動パラ
メータの状態値が所定値に達したことに応答して、状況
依存行動階層108に内部状態の変化を通知(Noti
fy)する。状況依存行動階層108は、内部状態の変
化を入力として活動度レベルを算出して、活動度レベル
の度合いに応じてスキーマを選択して行動を実行する。
この場合、認識系の各オブジェクトによって認識された
外部刺激は、内部状態管理部104(ISM)における
内部状態の管理・更新に利用されるが、スキーマの活動
度レベルの算出には使用されない。
【0185】D−2.スキーマ 状況依存行動階層108は、各行動モジュール毎にステ
ートマシンを用意しており、それ以前の行動や状況に依
存して、センサ入力された外部情報の認識結果を分類し
て、行動を機体上で発現する。行動モジュールは、機体
動作を記述し行動実行に伴う状態遷移(ステートマシ
ン)を実現するAction機能と、Action機能
において記述された行動の実行を外部刺激や内部状態に
応じて評価して状況判断を行なうMonitor機能と
を備えたスキーマ(schema)として記述される。
図18には、状況依存行動階層108が複数のスキーマ
によって構成されている様子を模式的に示している。
【0186】状況依存行動階層108(より厳密には、
状況依存行動階層108のうち、通常の状況依存行動を
制御する階層)は、複数のスキーマが階層的に連結され
たツリー構造として構成され、外部刺激や内部状態の変
化に応じてより最適なスキーマを統合的に判断して行動
制御を行なうようになっている。ツリーは、例えば動物
行動学的(Ethological)な状況依存行動を
数式化した行動モデルや、感情表現を実行するためのサ
ブツリーなど、複数のサブツリー(又は枝)を含んでい
る。
【0187】図19には、状況依存行動階層108にお
けるスキーマのツリー構造を模式的に示している。同図
に示すように、状況依存行動階層108は、短期記憶部
105から外部刺激の通知(Notify)を受けるル
ート・スキーマを先頭に、抽象的な行動カテゴリから具
体的な行動カテゴリに向かうように、各階層毎にスキー
マが配設されている。例えば、ルート・スキーマの直近
下位の階層では、「探索する(Investigat
e)」、「食べる(Ingestive)」、「遊ぶ
(Play)」というスキーマが配設される。そして、
「探索する(Investigate)」の下位には、
「InvestigativeLocomotio
n」、「HeadinAirSniffing」、「I
nvestigativeSniffing」というよ
り具体的な探索行動を記述したスキーマが配設されてい
る。同様に、スキーマ「食べる(Ingestiv
e)」の下位には「Eat」や「Drink」などのよ
り具体的な飲食行動を記述したスキーマが配設され、ス
キーマ「遊ぶ(Play)」の下位には「PlayBo
wing」、「PlayGreeting」、「Pla
yPawing」などのより具体的な遊ぶ行動を記述し
たスキーマが配設されている。
【0188】図示の通り、各スキーマは外部刺激と内部
状態を入力している。また、各スキーマは、少なくとも
Monitor関数とAction関数を備えている。
【0189】図20には、スキーマの内部構成を模式的
に示している。同図に示すように、スキーマは、状態遷
移(ステートマシン)の形式で機体動作を記述したAc
tion関数と、外部刺激や内部状態に応じてActi
on関数の各状態を評価して活動度レベル値として返す
Monitor関数と、Action関数のステートマ
シンをREADY(準備完了)、ACTIVE(活動
中),SLEEP(待機中)いずれかの状態としてスキ
ーマの状態を記憶管理する状態管理部で構成されてい
る。
【0190】Monitor関数は、外部刺激と内部状
態に応じて当該スキーマの活動度レベル(Activation L
evel:AL値)を算出する関数である。図19に示すよ
うなツリー構造を構成する場合、上位(親)のスキーマ
は外部刺激と内部状態を引数として下位(子供)のスキ
ーマのMonitor関数をコールすることができ、子
供のスキーマはAL値を返り値とする。また、スキーマ
は自分のAL値を算出するために、さらに子供のスキー
マのMonitor関数をコールすることができる。そ
して、ルートのスキーマには各サブツリーからのAL値
が返されるので、外部刺激と内部状態の変化に応じた最
適なスキーマすなわち行動を統合的に判断することがで
きる。
【0191】例えばAL値が最も高いスキーマを選択し
たり、AL値が所定の閾値を越えた2以上のスキーマを
選択して並列的に行動実行するようにしてもよい(但
し、並列実行するときは各スキーマ同士でハードウェア
・リソースの競合がないことを前提とする)。
【0192】図21には、Monitor関数の内部構
成を模式的に示している。同図に示すように、Moni
tor関数は、当該スキーマで記述されている行動を誘
発する評価値を活動度レベルとして算出する行動誘発評
価値演算器と、使用する機体リソースを特定する使用リ
ソース演算器を備えている。図20で示す例では、Mo
nitor関数は、スキーマすなわち行動モジュールの
管理を行なう行動状態制御部(仮称)からコールされる
と、Action関数のステートマシンを仮想実行し
て、行動誘発評価値(すなわち活動度レベル)と使用リ
ソースを演算して、これを返すようになっている。
【0193】また、Action関数は、スキーマ自身
が持つ行動を記述したステートマシン(後述)を備えて
いる。図19に示すようなツリー構造を構成する場合、
親スキーマは、Action関数をコールして、子供ス
キーマの実行を開始したり中断させたりすることができ
る。本実施形態では、Actionのステートマシンは
Readyにならないと初期化されない。言い換えれ
ば、中断しても状態はリセットされず、スキーマが実行
中の作業データを保存することから、中断再実行が可能
である(後述)。
【0194】図20で示す例では、スキーマすなわち行
動モジュールの管理を行なう行動状態制御部(仮称)
は、Monitor関数からの戻り値に基づいて、実行
すべき行動を選択し、該当するスキーマのAction
関数をコールし、あるいは状態管理部に記憶されている
スキーマの状態の移行を指示する。例えば行動誘発評価
値としての活動度レベルが最も高いスキーマを選択した
り、リソースが競合しないように優先順位に従って複数
のスキーマを選択したりする。また、行動状態制御部
は、より優先順位の高いスキーマが起動し、リソースの
競合が生じた場合、優先順位が下位のスキーマの状態を
ACTIVEからSLEEPに退避させ、競合状態が解
かれるとACTIVEに回復するなど、スキーマの状態
を制御する。
【0195】行動状態制御部は、図22に示すように、
状況依存行動階層108において1つだけ配設して、同
階層108を構成するすべてのスキーマを一元的に集中
管理するようにしてもよい。
【0196】図示の例では、行動状態制御部は、行動評
価部と、行動選択部と、行動実行部を備えている。行動
評価部は、例えば所定の制御周期で各スキーマのMon
itor関数をコールして、各々の活動度レベルと使用
リソースを取得する。行動選択部は、各スキーマによる
行動制御と機体リソースの管理を行なう。例えば、集計
された活動度レベルの高い順にスキーマを選択するとと
もに、使用リソースが競合しないように2以上のスキー
マを同時に選択する。行動実行部は、選択されたスキー
マのAction関数に行動実行命令を発行したり、ス
キーマの状態(READY、ACTIVE,SLEE
P)を管理して、スキーマの実行を制御する。例えば、
より優先順位の高いスキーマが起動し、リソースの競合
が生じた場合、優先順位が下位のスキーマの状態をAC
TIVEからSLEEPに退避させ、競合状態が解かれ
るとACTIVEに回復する。
【0197】あるいは、このような行動状態制御部の機
能を、状況依存行動階層108内の各スキーマ毎に配置
するようにしてもよい。例えば、図19に示したよう
に,スキーマがツリー構造を形成している場合(図23
を参照のこと)、上位(親)のスキーマの行動状態制御
は、外部刺激と内部状態を引数として下位(子供)のス
キーマのMonitor関数をコールし、子供のスキー
マから活動度レベルと使用リソースを返り値として受け
取る。また、子供のスキーマは、自分の活動度レベルと
使用リソースを算出するために、さらに子供のスキーマ
のMonitor関数をコールする。そして、ルートの
スキーマの行動状態制御部には、各サブツリーからの活
動度レベルと使用リソースが返されるので、外部刺激と
内部状態の変化に応じた最適なスキーマすなわち行動を
統合的に判断して、Action関数をコールして、子
供スキーマの実行を開始したり中断させたりする。
【0198】図24には、状況依存行動階層108にお
いて通常の状況依存行動を制御するためのメカニズムを
模式的に示している。
【0199】同図に示すように、状況依存行動階層10
8には、短期記憶部105から外部刺激が入力(Not
ify)されるとともに、内部状態管理部109から内
部状態の変化が入力される。状況依存行動階層108
は、例えば動物行動学的(Ethological)な
状況依存行動を数式化した行動モデルや、感情表現を実
行するためのサブツリーなど、複数のサブツリーで構成
されており、ルート・スキーマは、外部刺激の通知(N
otify)に応答して、各サブツリーのmonito
r関数をコールし、その返り値としての活動度レベル
(AL値)を参照して、統合的な行動選択を行ない、選
択された行動を実現するサブツリーに対してactio
n関数をコールする。また、状況依存行動階層108に
おいて決定された状況依存行動は、リソース・マネージ
ャにより反射行動部109による反射的行動とのハード
ウェア・リソースの競合の調停を経て、機体動作(Mo
tionController)に適用される。
【0200】また、状況依存行動層108のうち、反射
的行動部109は、上述した認識系の各オブジェクトに
よって認識された外部刺激に応じて反射的・直接的な機
体動作を実行する(例えば、障害物の検出により咄嗟に
避ける)。このため、通常の状況依存行動を制御する場
合(図19)とは相違し、認識系の各オブジェクトから
の信号を直接入力する複数のスキーマが、階層化されず
に並列的に配置されている。
【0201】図25には、反射行動部109におけるス
キーマの構成を模式的に示している。同図に示すよう
に、反射行動部109には、聴覚系の認識結果に応答し
て動作するスキーマとして「AvoidBigSoun
d」、「FacetoBigSound」及び「Nod
dingSound」、視覚系の認識結果に応答して動
作するスキーマとして「FacetoMovingOb
ject」及び「AvoidMovingObjec
t」、並びに、触覚系の認識結果に応答して動作するス
キーマとして「手を引っ込める」が、それぞれ対等な立
場で(並列的に)配設されている。
【0202】図示の通り、反射的行動を行なう各スキー
マは外部刺激を入力に持つ。また、各スキーマは、少な
くともmonitor関数とaction関数を備えて
いる。monitor関数は、外部刺激に応じて当該ス
キーマのAL値を算出して、これに応じて該当する反射
的行動を発現すべきかどうかが判断される。また、ac
tion関数は、スキーマ自身が持つ反射的行動を記述
したステートマシン(後述)を備えており、コールされ
ることにより、該当する反射的行動を発現するとともに
actionの状態を遷移させていく。
【0203】図26には、反射行動部109において反
射的行動を制御するためのメカニズムを模式的に示して
いる。
【0204】図25にも示したように、反射行動部10
9内には、反応行動を記述したスキーマや、即時的な応
答行動を記述したスキーマが並列的に存在している。認
識系のオブジェクトから認識結果が入力されると、対応
する反射行動スキーマがmonitor関数によりAL
値を算出し、その値に応じてactionを軌道すべき
かどうかが判断される。そして、反射行動部109にお
いて起動が決定された反射的行動は、リソース・マネー
ジャにより反射行動部109による反射的行動とのハー
ドウェア・リソースの競合の調停を経て、機体動作(M
otionController)に適用される。
【0205】状況依存行動階層108(反射行動部10
9を含む)を構成するスキーマは、例えばC++言語ベー
スで記述される「クラス・オブジェクト」として記述す
ることができる。図27には、状況依存行動階層108
において使用されるスキーマのクラス定義を模式的に示
している。同図に示されている各ブロックはそれぞれ1
つのクラス・オブジェクトに相当する。
【0206】図示の通り、状況依存行動階層(SBL)
108は、1以上のスキーマと、SBLの入出力イベン
トに対してIDを割り振るEventDataHand
ler(EDH)と、SBL内のスキーマを管理するS
chemaHandler(SH)と、外部オブジェク
ト(STMやLTM、リソース・マネージャ、認識系の
各オブジェクトなど)からデータを受信する1以上のR
eceiveDataHandler(RDH)と、外
部オブジェクトにデータを送信する1以上のSendD
ataHandler(SDH)とを備えている。
【0207】EventDataHandler(ED
H)は、SBLの入出力イベントに対してIDを割り振
るためのクラス・オブジェクトであり、RDHやSDH
から入出力イベントの通知を受ける。
【0208】SchemaHandlerは、状況依存
行動階層(SBL)108や反射行動部109を構成す
る各スキーマやツリー構造などの情報(SBLのコンフ
ィギュレーション情報)をファイルとして保管してい
る。例えばシステムの起動時などに、SchemaHa
ndlerは、このコンフィギュレーション情報ファイ
ルを読み込んで、図19に示したような状況依存行動階
層108のスキーマ構成を構築(再現)して、メモリ空
間上に各スキーマのエンティティをマッピングする。
【0209】各スキーマは、スキーマのベースとして位
置付けられるOpenR_Guestを備えている。O
penR_Guestは、スキーマが外部にデータを送
信するためのDsubject、並びに、スキーマが外
部からデータを受信するためのDObjectというク
ラス・オブジェクトをそれぞれ1以上備えている。例え
ば、スキーマが、SBLの外部オブジェクト(STMや
LTM、認識系の各オブジェクトなど)にデータを送る
ときには、DsubjectはSendDataHan
dlerに送信データを書き込む。また、DObjec
tは、SBLの外部オブジェクトから受信したデータを
ReceiveDataHandlerから読み取るこ
とができる。
【0210】SchemaManager及びSche
maBaseは、ともにOpenR_Guestを継承
したクラス・オブジェクトである。クラス継承は、元の
クラスの定義を受け継ぐことであり、この場合、Ope
nR_Guestで定義されているDsubjectや
DObjectなどのクラスオブジェクトをSchem
aManagerやSchemaBaseも備えている
ことを意味する(以下、同様)。例えば図19に示すよ
うに複数のスキーマがツリー構造になっている場合、S
chemaManagerは、子供のスキーマのリスト
を管理するクラス・オブジェクトSchemaList
を持ち(子供のスキーマへのポインタを持ち)、子供ス
キーマの関数をコールすることができる。また、Sch
emaBaseは、親スキーマへのポインタを持ち、親
スキーマからコールされた関数の返り値を戻すことがで
きる。
【0211】SchemaBaseは、StateMa
chine及びPronomeという2つのクラス・オ
ブジェクトを持つ。StateMachineは当該ス
キーマの行動(Action関数)についてのステート
マシンを管理している。図28には、スキーマの行動
(Action関数)についてのステートマシンを図解
している。このステートマシンの状態間の遷移にそれぞ
れ行動(Action)が紐付けされている
【0212】親スキーマは子供スキーマのAction
関数のステートマシンを切り替える(状態遷移させる)
ことができる。また、Pronomeには、当該スキー
マが行動(Action関数)を実行又は適用するター
ゲットを代入する。後述するように、スキーマはPro
nomeに代入されたターゲットによって占有され、行
動が終了(完結、異常終了など)するまでスキーマは解
放されない。新規のターゲットのために同じ行動を実行
するためには同じクラス定義のスキーマをメモリ空間上
に生成する。この結果、同じスキーマをターゲット毎に
独立して実行することができ(個々のスキーマの作業デ
ータが干渉し合うことはなく)、行動のReentra
nce性(後述)が確保される。
【0213】ParentSchemaBaseは、S
chemaManager及びSchemaBaseを
多重継承するクラス・オブジェクトであり、スキーマの
ツリー構造において、当該スキーマ自身についての親ス
キーマ及び子供スキーマすなわち親子関係を管理する。
【0214】IntermediaParentSch
emaBaseは、ParentSchemaBase
を継承するクラス・オブジェクトであり、各クラスのた
めのインターフェース変換を実現する。また、Inte
rmediaParentSchemaBaseは、S
chemaStatusInfoを持つ。このSche
maStatusInfoは、当該スキーマ自身のステ
ートマシンを管理するクラス・オブジェクトである。
【0215】親スキーマは、子供スキーマのActio
n関数をコールすることによってそのステートマシンの
状態を切り換えることができる。また、子供スキーマの
Aonitor関数をコールしてそのステートマシンの
状態に応じたAL値を問うことができる。但し、スキー
マのステートマシンは、前述したAction関数のス
テートマシンとは異なるということを留意されたい。
【0216】図29には、スキーマ自身すなわちAct
ion関数によって記述されている行動についてのステ
ートマシンを図解している。既に述べたように、スキー
マ自身のステートマシンは、Action関数に寄って
記述されている行動について、READY(準備完
了)、ACTIVE(活動中),SLEEP(待機中)
という3つの状態を規定している。より優先順位の高い
スキーマが起動し、リソースの競合が生じた場合、優先
順位が下位のスキーマの状態をACTIVEからSLE
EPに退避させ、競合状態が解かれるとACTIVEに
回復する。
【0217】図29に示すように、ACTIVEからS
LEEPへの状態遷移にACTIVE_TO_SLEEP
が、SLEEPからACTIVEへの状態遷移にSLE
EP_TO_ACTIVEがそれぞれ規定されている。本
実施形態において特徴的なのは、 (1)ACTIVE_TO_SLEEPに、後にACTI
VEに遷移して再開するために必要なデータ(コンテキ
スト)を保存するための処理と、SLEEPするために
必要な行動が紐付けされている。 (2)SLEEP_TO_ACTIVEに、保存しておい
たデータ(コンテキスト)を復元するための処理と、A
CTIVEに戻るために必要な行動が紐付けされてい
る。という点である。SLEEPするために必要な行動
とは、例えば、話し相手に休止を告げる「ちょっと待っ
ててね」などのセリフを言う行動(その他、身振り手振
りが加わっていてもよい)である。また、ACTIVE
に戻るために必要な行動とは、例えば、話し相手に謝意
を表わす「お待たせ」などのセリフを言う行動(その
他、身振り手振りが加わっていてもよい)である。
【0218】AndParentSchema、Num
OrParentSchema、OrParentSc
hemaは、IntermediaParentSch
emaBaseを継承するクラス・オブジェクトであ
る。AndParentSchemaは、同時実行する
複数の子供スキーマへのポインタを持つ。OrPare
ntSchemaは、いずれか択一的に実行する複数の
子供スキーマへのポインタを持つ。また、NumOrP
arentSchemaは、所定数のみを同時実行する
複数の子供スキーマへのポインタを持つ。
【0219】ParentSchemaは、これらAn
dParentSchema、NumOrParent
Schema、OrParentSchemaを多重継
承するクラス・オブジェクトである。
【0220】図30には、状況依存行動階層(SBL)
108内のクラスの機能的構成を模式的に示している。
【0221】状況依存行動階層(SBL)108は、S
TMやLTM、リソース・マネージャ、認識系の各オブ
ジェクトなど外部オブジェクトからデータを受信する1
以上のReceiveDataHandler(RD
H)と、外部オブジェクトにデータを送信する1以上の
SendDataHandler(SDH)とを備えて
いる。
【0222】EventDataHandler(ED
H)は、SBLの入出力イベントに対してIDを割り振
るためのクラス・オブジェクトであり、RDHやSDH
から入出力イベントの通知を受ける。
【0223】SchemaHandlerは、スキーマ
を管理するためのクラス・オブジェクトであり、SBL
を構成するスキーマのコンフィギュレーション情報をフ
ァイルとして保管している。例えばシステムの起動時な
どに、SchemaHandlerは、このコンフィギ
ュレーション情報ファイルを読み込んで、SBL内のス
キーマ構成を構築する。
【0224】各スキーマは、図27に示したクラス定義
に従って生成され、メモリ空間上にエンティティがマッ
ピングされる。各スキーマは、OpenR_Guest
をベースのクラス・オブジェクトとし、外部にデータ・
アクセスするためのDSubjectやDObject
などのクラス・オブジェクトを備えている。
【0225】スキーマが主に持つ関数とステートマシン
を以下に示しておく。
【0226】ActivationMonito
r():スキーマがReady時にActiveになる
ための評価関数。 Actions():Active時の実行用ステート
マシン。 Goal():Active時にスキーマがGoalに
達したかを評価する関数。 Goal():Active時にスキーマがfail状
態かを判定する関数。 SleepActions():Sleep前に実行さ
れるステートマシン。 SleepMonitor():Sleep時にRes
umeするための評価関数。 ResumeActions():Resume前にR
esumeするためのステートマシン。 DestroyMonitor():Sleep時にス
キーマがfail状態か判定する評価関数。 MakePronome():ツリー全体のターゲット
を決定する関数である。
【0227】これらの関数は、SchemaBaseで
記述されている。
【0228】図31には、MakePronome関数
を実行する処理手順をフローチャートの形式で示してい
る。
【0229】スキーマのMakePronome関数が
コールされると、まず、スキーマ自信に子供スキーマが
存在するかどうかを判別する(ステップS1)。
【0230】子供スキーマが存在する場合には、同様に
すべての子供スキーマのMakePronome関数を
再帰的にコールする(ステップS2)。
【0231】そして、スキーマ自身のMakePron
omeを実行して、Pronomeオブジェクトにター
ゲットが代入される(ステップS3)。
【0232】この結果、自分以下のすべてのスキーマの
Pronomeに対して同じターゲットが代入され、行
動が終了(完結、異常終了など)するまでスキーマは解
放されない。新規のターゲットのために同じ行動を実行
するためには同じクラス定義のスキーマをメモリ空間上
に生成する。
【0233】図32には、Monitor関数を実行す
る処理手順をフローチャートの形式で示している。
【0234】まず、評価フラグ(Assesssmen
tFlag)をオンに設定して(ステップS11)、ス
キーマ自身のActionを実行する(ステップS1
2)。このとき、子供スキーマの選定も行なう。そし
て、評価フラグをオフに戻す(ステップS13)。
【0235】子供スキーマが存在する場合には(ステッ
プS14)、ステップS12において選択した子供スキ
ーマのMonitor関数を再帰的にコールする(ステ
ップS15)。
【0236】次いで、スキーマ自身のMonitor関
数を実行して(ステップS16)、活動度レベルと行動
実行に使用するリソースを算出して(ステップS1
7)、関数の戻り値とする。
【0237】図33及び図34には、Actions関
数を実行する処理手順をフローチャートの形式で示して
いる。
【0238】まず、スキーマがSTOPPING状態か
どうかをチェックし(ステップS21)、次いで、ST
OPPINGすべき状態かどうかをチェックする(ステ
ップS22)。
【0239】STOPPINGすべき状態である場合に
は、さらに子供スキーマがいるかどうかをチェックする
(ステップS23)。そして、子供スキーマがいる場合
にはこれをGO_TO_STOP状態に移行させてから
(ステップS24)、HaveToStopFlagを
オンにする(ステップS25)。
【0240】また、STOPPINGすべき状態でない
場合には、RUNNING状態かどうかをチェックする
(ステップS26)。
【0241】RUNNING状態でない場合には、さら
に子供スキーマがいるかどうかをチェックする(ステッ
プS27)。そして、子供スキーマがいる場合には、H
aveToStopFlagをオンにする(ステップS
28)。
【0242】次いで、現在のシステム状態とHaveT
oRunFlagとHaveToStopFlagと子
供スキーマの動作状態から次の自分自身の状態を決定す
る(ステップS29)。
【0243】次いで、スキーマ自身のAction関数
を実行する(ステップS30)。
【0244】その後、スキーマ自身がGO_TO_STO
P状態かどうかをチェックする(ステップS31)。G
O_TO_STOP状態でない場合には、さらに子供スキ
ーマがいるかどうかをチェックする(ステップS3
2)。そして、子供スキーマがいる場合には、GO_T
O_STOP状態の子供スキーマがいるかどうかをチェ
ックする(ステップS33)。
【0245】GO_TO_STOP状態の子供スキーマが
いる場合には、これらのスキーマのAction関数を
実行する(ステップS34)。
【0246】次いで、RUNNING中の子供スキーマ
がいるかどうかをチェックする(ステップS35)。R
UNNING中の子供スキーマがいない場合には、停止
中の子供スキーマがいるかどうかをチェックして(ステ
ップS36)、停止中の子供スキーマのAction関
数を実行する(ステップS37)。
【0247】次いで、GO_TO_RUN状態の子供スキ
ーマがいるかどうかをチェックする(ステップS3
8)。GO_TO_RUN状態の子供スキーマがいない場
合には、GO_TO_STOP状態の子供スキーマがいる
かどうかをチェックして(ステップS39)、いればこ
の子供スキーマのAction関数を実行する(ステッ
プS40)。
【0248】最後に、現在のシステム状態とHaveT
oRunFlagとHaveToStopFlagと子
供の動作状態から自分自身の次の状態を決定して,本処
理ルーチン全体を終了する(ステップS41)。
【0249】D−3.状況依存行動階層の機能 状況依存行動階層(SituatedBehavior
sLayer)108は、短期記憶部105並びに長期
記憶部106の記憶内容や、内部状態管理部104によ
って管理される内部状態を基に、ロボット装置1が現在
置かれている状況に即応した行動を制御する。
【0250】前項で述べたように、本実施形態に係る状
況依存行動階層108は、スキーマのツリー構造(図1
9を参照のこと)で構成されている。各スキーマは、自
分の子供と親の情報を知っている状態で独立性を保って
いる。このようなスキーマ構成により、状況依存行動階
層108は、Concurrentな評価、Concu
rrentな実行、Preemption、Reent
rantという主な特徴を持っている。以下、これらの
特徴について詳解する。
【0251】(1)Concurrentな評価:行動
モジュールとしてのスキーマは外部刺激や内部状態の変
化に応じた状況判断を行なうMonitor機能を備え
ていることは既に述べた。Monitor機能は、スキ
ーマがクラス・オブジェクトSchemaBaseでM
onitor関数を備えていることにより実装されてい
る。Monitor関数とは、外部刺激と内部状態に応
じて当該スキーマの活動度レベル(Activation Level:
AL値)を算出する関数である。
【0252】図19に示すようなツリー構造を構成する
場合、上位(親)のスキーマは外部刺激と内部状態を引
数として下位(子供)のスキーマのMonitor関数
をコールすることができ、子供のスキーマはAL値を返
り値とする。また、スキーマは自分のAL値を算出する
ために、さらに子供のスキーマのMonitor関数を
コールすることができる。そして、ルートのスキーマに
は各サブツリーからのAL値が返されるので、外部刺激
と内部状態の変化に応じた最適なスキーマすなわち行動
を統合的に判断することができる。
【0253】このようにツリー構造になっていることか
ら、外部刺激と内部状態の変化による各スキーマの評価
は、まずツリー構造の下から上に向かってConcur
rentに行なわれる。図32のフローチャートでも示
したように、スキーマに子供スキーマがある場合には
(ステップS14)、選択した子供のMonitor関
数をコールしてから(ステップS15)、自身のMon
itor関数を実行する。
【0254】次いで、ツリー構造の上から下に向かって
評価結果としての実行許可を渡していく。評価と実行
は、その行動が用いるリソースの競合を解きながら行な
われる。
【0255】本実施形態に係る状況依存行動階層108
は、スキーマのツリー構造を利用して、並列的に行動の
評価を行なうことができるので、外部刺激や内部状態な
どの状況に対しての適応性がある。また、評価時には、
ツリー全体に関しての評価を行ない、このとき算出され
る活動度レベル(AL)値によりツリーが変更されるの
で、スキーマすなわち実行する行動を動的にプライオリ
タイズすることができる。
【0256】(2)Concurrentな実行:ルー
トのスキーマには各サブツリーからのAL値が返される
ので、外部刺激と内部状態の変化に応じた最適なスキー
マすなわち行動を統合的に判断することができる。例え
ばAL値が最も高いスキーマを選択したり、AL値が所
定の閾値を越えた2以上のスキーマを選択して並列的に
行動実行するようにしてもよい(但し、並列実行すると
きは各スキーマ同士でハードウェア・リソースの競合が
ないことを前提とする)。
【0257】実行許可をもらったスキーマは実行され
る。すなわち、実際にそのスキーマはさらに詳細の外部
刺激や内部状態の変化を観測して、コマンドを実行す
る。実行に関しては、ツリー構造の上から下に向かって
順次すなわちConcurrentに行なわれる。図3
3及び図34のフローチャートでも示したように、スキ
ーマに子供スキーマがある場合には、子供のActio
ns関数を実行する。
【0258】Action関数は、スキーマ自身が持つ
行動を記述したステートマシン(後述)を備えている。
図19に示すようなツリー構造を構成する場合、親スキ
ーマは、Action関数をコールして、子供スキーマ
の実行を開始したり中断させたりすることができる。
【0259】本実施形態に係る状況依存行動階層108
は、スキーマのツリー構造を利用して、リソースが競合
しない場合には、余ったリソースを使う他のスキーマを
同時に実行することができる。但し、Goalまでに使
用するリソースに対して制限を加えないと、ちぐはぐな
行動出現が起きる可能性がある。状況依存行動階層10
8において決定された状況依存行動は、リソース・マネ
ージャにより反射行動部109による反射的行動とのハ
ードウェア・リソースの競合の調停を経て、機体動作
(MotionController)に適用される。
【0260】(3)Preemption:1度実行に
移されたスキーマであっても、それよりも重要な(優先
度の高い)行動があれば、スキーマを中断してそちらに
実行権を渡さなければならない。また、より重要な行動
が終了(完結又は実行中止など)したら、元のスキーマ
を再開して実行を続けることも必要である。
【0261】このような優先度に応じたタスクの実行
は、コンピュータの世界におけるOS(オペレーティン
グ・システム)のPreemptionと呼ばれる機能
に類似している。OSでは、スケジュールを考慮するタ
イミングで優先度のより高いタスクを順に実行していく
という方針である。
【0262】これに対し、本実施形態に係るロボット1
の行動制御システム100は、複数のオブジェクトにま
たがるため、オブジェクト間での調停が必要になる。例
えば反射行動を制御するオブジェクトであるRefle
xiveSBLは、上位の状況依存行動を制御するオブ
ジェクトであるSBLの行動評価を気にせずに物を避け
たり、バランスをとったりする必要がある。これは、実
際に実行権を奪い取り実行を行なう訳であるが、上位の
行動モジュール(SBL)に、実行権利が奪い取られた
ことを通知して、上位はその処理を行なうことによって
Preemptiveな能力を保持する。
【0263】また、状況依存行動層108内において、
外部刺激と内部状態の変化に基づくAL値の評価の結
果、あるスキーマに実行許可がなされたとする。さら
に、その後の外部刺激と内部状態の変化に基づくAL値
の評価により、別のスキーマの重要度の方がより高くな
ったとする。このような場合、実行中のスキーマのAc
tions関数を利用してSleep状態にして中断す
ることにより、Preemptiveな行動の切り替え
を行なうことができる。
【0264】実行中のスキーマのActions()の
状態を保存して、異なるスキーマのActions()
を実行する。また、異なるスキーマのAction
s()が終了した後、中断されたスキーマのActio
ns()を再度実行することができる。
【0265】また、実行中のスキーマのActions
()を中断して、異なるスキーマに実行権が移動する前
に、SleepActions()を実行する。例え
ば、ロボット1は、対話中にサッカーボールを見つける
と、「ちょっと待ってね」と言って、サッカーすること
ができる。
【0266】(4)Reentrant:状況依存行動
階層108を構成する各スキーマは、一種のサブルーチ
ンである。スキーマは、複数の親からコールされた場合
には、その内部状態を記憶するために、それぞれの親に
対応した記憶空間を持つ必要がある。
【0267】これは、コンピュータの世界では、OSが
持つReentrant性に類似しており、本明細書で
はスキーマのReentrant性と呼ぶ。図30を参
照しながら説明したように、スキーマはクラス・オブジ
ェクトで構成されており、クラス・オブジェクトのエン
ティティすなわちインスタンスをターゲット(Pron
ome)毎に生成することによりReentrant性
が実現される。
【0268】スキーマのReentrant性につい
て、図35を参照しながらより具体的に説明する。
【0269】SchemaHandlerは、スキーマ
を管理するためのクラス・オブジェクトであり、SBL
を構成するスキーマのコンフィギュレーション情報をフ
ァイルとして保管している。システムの起動時に、Sc
hemaHandlerは、このコンフィギュレーショ
ン情報ファイルを読み込んで、SBL内のスキーマ構成
を構築する。図31に示す例では、EatやDialo
gなどの行動を規定するスキーマのエンティティがメモ
リ空間上にマッピングされているとする。
【0270】ここで、外部刺激と内部状態の変化に基づ
く活動度レベルの評価により、スキーマDialogに
対してAというターゲット(Pronome)が設定さ
れて、Dialogが人物Aとの対話を実行するように
なったとする。
【0271】その後、人物Bがロボット1と人物Aとの
対話に割り込み、外部刺激と内部状態の変化に基づく活
動度レベルの評価を行なった結果、Bとの対話を行なう
スキーマの方がより優先度が高くなったとする。
【0272】このような場合、SchemaHandl
erは、Bとの対話を行なうためのクラス継承した別の
Dialogエンティティ(インスタンス)をメモリ空
間上にマッピングする。別のDialogエンティティ
を使用して、先のDialogエンティティとは独立し
て、Bとの対話を行なうことから、Aとの対話内容は破
壊されずに済む。したがって、Dialog Aはデー
タの一貫性を保持することができ、Bとの対話が終了す
ると、Aとの対話を中断した時点から再開することがで
きる。
【0273】Readyリスト内のスキーマは、その対
象物(外部刺激)に応じて評価すなわちAL値の計算が
行なわれ、実行権が引き渡される。その後、Ready
リスト内に移動したスキーマのインスタンスを生成し
て、これ以外の対象物に対して評価を行なう。これによ
り、同一のスキーマをactive又はsleep状態
にすることができる。
【0274】E.ロボットの内部状態管理 本実施形態に係るロボットの行動制御システム100で
は、状況依存行動階層108は内部状態と外部環境によ
って行動を決定する。
【0275】ロボット装置1の内部状態は、本能や感情
といった数種類の情動で構成され、数式モデル化して扱
われる。内部状態管理部(ISM:Internal Status Ma
nager)104は、上述した各認識機能部101〜10
3によって認識された外部刺激(ES:Externa
lStimula)と、時間的経過に基づいて、内部状
態を管理する。
【0276】E−1.情動の階層化 本実施形態では、情動についてその存在意義による複数
階層で構成され、それぞれの階層で動作する。決定され
た複数の動作から、そのときの外部環境や内部状態によ
ってどの動作を行なうかを決定するようになっている
(後述)。また、それぞれの階層で行動は選択される
が、より低次の行動から優先的に動作を発現していくこ
とにより、反射などの本能的行動や、記憶を用いた動作
選択などの高次の行動を1つの個体上で矛盾なく発現す
ることができる。
【0277】図36には、本実施形態に係る内部状態管
理部104の階層的構成を模式的に示している。
【0278】図示の通り、内部状態管理部104は、情
動などの内部情報を、情動を本能や欲求などの個体存続
に必要な1次情動と、この1次情動の満足度(過不足)
によって変化する2次情動に大別する。また、1次情動
は、個体存続においてより生理的なものから連想に至る
ものまで階層的に細分化されている。
【0279】図示の例では、1次情動は、低次から高次
に向かって、下位の1次情動、上位の1次情動、連想に
よる1次情動に区分される。下位の1次情動は、大脳辺
縁系へのアクセスに相当し、ホメオスタシス(個体維
持)が保たれるように情動発生するとともに、ホメオス
タシスが脅かされる場合には優先される。また、上位の
1次情動は、大脳新皮質へのアクセスに相当し、内発的
欲求や社会的欲求などの種族維持に関わる。上位の1次
情動は、学習や環境に依って満足度が変化する(学習や
コミュニケーションにより満足される)。
【0280】1次情動の各階層は、行動選択されたスキ
ーマを実行することによる一時情動(本能)レベルの変
化量ΔIを出力する。
【0281】2次情動は、いわゆる感情(Emotio
n)に相当し、喜び(Joy)、悲しみ(Sad)、怒
り(Anger)、驚き(Surprise)、嫌気
(Disgust)、畏怖(Feer)などの要素から
なる。1次情動の変化量ΔIに応じて2次情動の変化量
(満足度)ΔEが決定される。
【0282】状況依存行動階層108では、主に1次情
動を基に行動選択を行なうが、2次情動が強い場合に
は、2次情動に基づく行動選択を行なうこともできる。
さらに、1次情動を基に選択された行動に対して2次情
動により生成されたパラメータを使用してモジュレーシ
ョンを行なうことも可能である。
【0283】個体存続のための情動階層は、生得的反射
による行動がまず選択される。次いで、下位の1次情動
を満たす行動を選択する。そして、上位の1次情動を満
たす行動発生、連想による1次情動を満たす行動発生
と、よりプリミティブな個体保持から実現する。
【0284】この際、各階層の1次情動は、直近の階層
に対して圧力をかけることができる。自身で決定した行
動を選択するための指標が強い場合、直近の階層で決定
された行動を抑制して、自身の行動を発現することがで
きる。
【0285】前項Dでも述べたように、状況依存行動階
層108は、目標とする動作を持った複数のスキーマに
よって構成されている(図18、図19などを参照のこ
と)。状況依存行動階層108では、各スキーマが持つ
活動度レベルを指標にしてスキーマすなわち行動を選択
する。内部状態の活動度レベルと外部状況の活動度レベ
ルによりスキーマ全体の活動度レベルが決定する。スキ
ーマは、目標とする動作を実行するための途中経過毎
に、活動度レベルを保持する。○○を満たす行動発生と
は、○○を満たす行動が最終目標であるスキーマを実行
することに相当する。
【0286】内部状態の活動度レベルは、スキーマを実
行したときの1次情動における階層毎の変化量ΔIに基
づく2次情動の満足度の変化ΔEの総和によって決定さ
れる。ここで、1次情動がL1,L2,L3の3階層か
らなり、スキーマ選択時の1次情動の各階層に由来する
2次情動の変化をそれぞれΔEL1,ΔEL2,ΔEL3,と
すると、それぞれに重み因子w1,w2,w3を掛けて活
動度レベルを算出する。下位の1次情動に対する重み因
子をより大きくすることにより、下位の1次情動を満た
す行動がより選択され易くなる。また、これら重み因子
を調整することにより、各階層の1次情動が直近の階層
に対して圧力をかける(Concentration:
行動抑制)という作用を得ることができる。
【0287】ここで、情動の階層化構造を利用した行動
選択の実施例について説明する。但し、以下では下位の
1次情動としてSleep(眠気)を、上位の1次情動
としてCuriosity(好奇心)を扱う。
【0288】(1)下位の1次情動であるSleepが
不足してきて、Sleepを満たすスキーマの活動度レ
ベルが高まってきたとする。このとき、他のスキーマの
活動度レベルが上がらなければ、Sleepを満たすス
キーマは、Sleepが満たされるまで自身を実行す
る。
【0289】(2)Sleepが満たされる前に、上位
の1次情動であるCuriosityが不足してきたと
する。しかし、Sleepのほうが個体維持に直結する
ため、Sleepの活動度レベルが一定値以下になるま
では、Sleepを満たすスキーマが実行し続ける。そ
して、Sleepがある程度満たされたら、Curio
sityを満たすスキーマを実行することができる。
【0290】(3)Curiosityを満たすスキー
マ実行中に手を勢いよくロボットの顔面に近づけたとす
る。これに応答して、ロボットは色認識と大きさ認識に
よる突然肌色が近づいてきたことが判り、生得的な反射
行動として手から顔を避ける、すなわち後ろに頭を引く
という動作を反射的に行なう。この反射的な動作は動物
の脊髄反射に相当する。反射は、最も下位にあるスキー
マなので、反射スキーマがまず実行される。
【0291】脊髄反射の後、それに伴う情動変化が起
き、その変化幅と他のスキーマの活動度レベルから、続
いて情動表出スキーマを行なうかどうかを決定する。情
動表出スキーマが行なわれていない場合は、Curio
sityを満たすスキーマが続行される。
【0292】(4)あるスキーマ自身の下位にあるスキ
ーマは通常自身より選択される可能性が高いが、自身の
活動度レベルが極端に高いときに限り、下位のスキーマ
を抑制して(Concentration)、一定値ま
で自身を実行することが可能である。Sleepの不足
が著しいときは、反射行動スキーマの行動を出したいと
きであっても、一定値に回復するまではSleepを満
たすスキーマが優先的に実行される。
【0293】E−2.他の機能モジュールとの連携 図37には、内部状態管理部104と他の機能モジュー
ルとの通信経路を模式的に示している。
【0294】短期記憶部105は、外部環境の変化を認
識する各認識機能部101〜103からの認識結果を、
内部状態管理部104と状況依存行動階層108に出力
する。内部状態管理部104は、状況依存行動階層10
8に内部状態を通知する。これに対し、状況依存行動階
層108は、連想又は決定した本能や感情の情報を返
す。
【0295】また、状況依存行動階層108は、内部状
態と外部環境から算出される活動度レベルを基に行動を
選択するとともに、選択した行動の実行と完了を短期記
憶部105経由で内部状態管理部104に通知する。
【0296】内部状態管理部104は、行動毎に内部状
態を長期記憶部106に出力する。これに対し、長期記
憶部106は、記憶情報を返す。
【0297】バイオリズム管理部は、バイオリズム情報
を内部状態管理部104に供給する。
【0298】E−3.時間経過による内部状態の変化 内部状態の指標は時間経過により変化する。例えば、1
次情動すなわち本能であるHunger(空腹感)、F
atigue(疲労)、Sleep(眠気)は、時間経
過によりそれぞれ以下のように変化する。
【0299】Hunger:おなかが減る(仮想値又は
バッテリ残量) Fatigue:疲れがたまる Sleep:眠気がたまる
【0300】また、本実施形態では、ロボットの2次情
動すなわち感情(Emotion)の要素としてPle
asantness(満足度),Activation
(活動度),Certainty(確信度)を定義して
いるが、時間経過によりそれぞれ以下のように変化す
る。
【0301】Pleasantness:Neutra
l(中立)に向かって変化する Activation:バイオリズムやSleep(眠
気)に依存する Certainty:Attentionに依存する
【0302】図38には、内部状態管理部104が時間
変化に伴って内部状態を変化させるための仕組みを示し
ている。
【0303】図示のように、バイオリズム管理部は、一
定の周期でバイオリズム情報を通知する。これに対し、
内部状態管理部104は、バイオリズムにより1次情動
の各要素の値を変更するとともに、2次情動であるAc
tivation(活動度)を変動させる。そして、状
況依存行動階層108は、バイオリズム管理部からの通
知がある度に、内部状態管理部104から本能や感情な
ど内部状態の指標値を受け取るので、内部状態を基に各
スキーマの活動度レベルを算出することにより、状況に
依存した行動(スキーマ)を選択することができる。
【0304】E−4.動作実行による内部状態の変化 内部状態は、ロボットが動作を実行することによっても
変化する。
【0305】例えば、「眠る」という行動を行なうスキ
ーマは、下位の1次情動としてのSleep(眠気)を
満たす行動が最終目標としている。状況依存行動階層1
08では、1次情動としてのSleepと2次情動とし
てのActivationを基に各スキーマの活動度レ
ベルを算出・比較して、「眠る」スキーマを選択し、こ
の結果、眠るという行動が実現される。
【0306】一方、状況依存行動階層108は、眠ると
いう行動の実行完了を短期記憶部105経由で内部状態
管理部104に伝達する。これに対し、内部状態管理部
104は、「眠る」行動の実行により、1次情動である
Sleepの指標値を変更する。
【0307】そして、状況依存行動階層108では、S
leepが満たされた度合いと2次情動としてのAct
ivationを基に各スキーマの活動度レベルを改め
て算出・比較する。この結果、優先度が高くなった他の
スキーマを選択し、眠るというスキーマから抜ける。
【0308】図39には、内部状態管理部104がロボ
ットの動作実行により内部状態を変化させるための仕組
みを示している。
【0309】状況依存行動階層108は、状況依存型で
選択された行動の実行開始及び実行終了、並びにAtt
ention情報を、短期記憶部105経由で内部状態
管理部104に通知する。
【0310】内部状態管理部104は、選択された行動
の実行完了情報が通知されると、Attention情
報に則って、短期記憶部105から得た外部環境を確認
して、1次情動としての本能(Sleep)の指標値を
変更するとともに、これに伴って2次情動としての感情
も変更する。そして、これら内部状態の更新データを、
状況依存行動階層108並びに長期記憶部106に出力
する。状況依存行動階層108では、新たに受け取った
内部状態の指標値を基に、各スキーマの活動度レベルを
算出して、状況に依存した次の行動(スキーマ)を選択
する。
【0311】また、長期記憶部106は、内部状態の更
新データを基に記憶情報を更新するとともに、更新内容
を内部状態管理部104に通知する。内部状態管理部1
04では、外部環境に対する確信度と長期記憶部106
の確信度により、2次情動としての確信度(Certa
inty)を決定する。
【0312】E−5.センサ情報による内部状態の変化 ロボットが動作を実行したときのその動作程度は、各認
識機能部101〜103によって認識され、短期記憶部
105経由で内部状態管理部104に通知される。内部
状態管理部104は、この動作程度を例えばFatig
ue(疲労)として1次情動の変化に反映させることが
できる。また、この1次情動の変化に応答して、2次情
動も変化させることができる。
【0313】図40には、内部状態管理部104が外部
環境の認識結果により内部状態を変化させるための仕組
みを示している。
【0314】内部状態管理部104は、短期記憶部10
5経由で各認識機能部101〜103による認識結果を
受け取ると、1次情動の指標値を変更するとともに、こ
れに伴って2次情動としての感情も変更する。そして、
これら内部状態の更新データを、状況依存行動階層10
8に出力する。
【0315】状況依存行動階層108では、新たに受け
取った内部状態の指標値を基に、各スキーマの活動度レ
ベルを算出して、状況に依存した次の行動(スキーマ)
を選択することができる。
【0316】E−6.連想による内部状態の変化 既に述べたように、本実施形態に係るロボットは、長期
記憶部106において連想記憶機能を備えている。この
連想記憶は、あらかじめ複数のシンボルからなる入力パ
ターンを記憶パターンとして記憶しておき、その中のあ
る1つのパターンに類似したパターンが想起される仕組
みのことであり、外部刺激から内部状態の変化を連想記
憶することができる。
【0317】例えば、りんごが見えた場合に「嬉しい」
という情動の変化を起こす場合について考察してみる。
【0318】りんごが視覚認識機能部101において認
識されると、短期記憶部105を経由して状況依存行動
階層108に外部環境の変化として通知される。
【0319】長期記憶部106では、「りんご」に関す
る連想記憶により、「(りんごを)食べる」という行動
と、食べることにより1次情動(空腹感)が指標値で3
0だけ満たされるという内部状態の変化を想起すること
ができる。
【0320】状況依存行動階層108は、長期記憶部1
06から記憶情報を受け取ると、内部状態の変化ΔI=
30を、内部状態管理部104に通知する。
【0321】内部状態管理部104では、通知されたΔ
Iを基に、2次情動の変化量ΔEを算出して、りんごを
食べることによる2次情動Eの指標値を得ることができ
る。
【0322】図41には、内部状態管理部104が連想
記憶により内部状態を変化させるための仕組みを示して
いる。
【0323】外部環境が短期記憶部105を経由して状
況依存行動階層108に通知される。長期記憶部106
の連想記憶機能により、外部環境に応じた行動と、1次
情動の変化ΔIを想起することができる。
【0324】状況依存行動階層108は、この連想記憶
により得られた記憶情報を基に行動を選択するととも
に、1次情動の変化ΔIを内部状態管理部104に通知
する。
【0325】内部状態管理部104では、通知を受けた
1次情動の変化ΔIと、自身で管理している1次情動の
指標値とを基に、2次情動の変化ΔEを算出して、2次
情動を変化させる。そして、新たに生成された1次情動
及び2次情動を、内部状態更新データとして状況依存行
動階層108に出力する。
【0326】状況依存行動階層108では、新たに受け
取った内部状態の指標値を基に、各スキーマの活動度レ
ベルを算出して、状況に依存した次の行動(スキーマ)
を選択することができる。
【0327】E−7.生得的な行動による内部状態の変
本実施形態に係るロボットが動作実行により内部状態を
変化させることは既に述べた通りである(図39を参照
のこと)。この場合、1次情動と2次情動からなる内部
状態の指標値を基に行動が選択されるとともに、行動の
実行完了により情動が満たされる。他方、本実施形態に
係るロボットは、情動に依存しない、生得的な反射行動
も規定されている。この場合、外部環境の変化に応じて
反射行動が直接選択されることになり、通常の動作実行
による内部変化とは異なる仕組みとなる。
【0328】例えば、大きなものが突然現れたときに生
得的な反射行動をとる場合について考察してみる。
【0329】このような場合、例えば視覚的認識機能部
101による「大きいもの」という認識結果(センサ情
報)は、短期記憶部105を介さず、状況依存行動階層
108に直接入力される。
【0330】状況依存行動階層108では、「大きいも
の」という外部刺激により各スキーマの活動度レベルを
算出して、適当な行動を選択する(図15、図25及び
図26を参照のこと)。この場合、状況依存行動階層1
08では、「よける」という脊髄反射的行動を選択する
とともに、「驚く」という2次情動を決定して、これを
内部状態管理部104に通知する。
【0331】内部状態管理部104では、状況依存行動
階層108から送られてきた2次情動を自身の感情とし
て出力する。
【0332】図42には、内部状態管理部104が生得
的反射行動により内部状態を変化させるための仕組みを
示している。
【0333】生得的な反射行動を行なう場合、各認識機
能部101〜103による戦さ情報は、短期記憶部10
5を介さず、状況依存行動階層108に直接入力され
る。状況依存行動階層108では、センサ情報として得
た外部刺激により各スキーマの活動度レベルを算出し
て、適当な行動を選択するとともに、2次情動を決定し
て、これを内部状態管理部104に通知する。
【0334】内部状態管理部104では、状況依存行動
階層108から送られてきた2次情動を自身の感情とし
て出力する。また、状況依存行動階層108からのAc
tivationに対して、バイオリズムの高低によっ
て最終的なActivationを決定する。
【0335】状況依存行動階層108では、新たに受け
取った内部状態の指標値を基に、各スキーマの活動度レ
ベルを算出して、状況に依存した次の行動(スキーマ)
を選択することができる。
【0336】E−8.スキーマと内部状態管理部との関
状況依存行動階層108は、複数のスキーマで構成さ
れ、各スキーマ毎に外部刺激や内部状態の変化によって
活動度レベルを算出して、活動度レベルの度合いに応じ
てスキーマを選択して行動を実行する(図18、図1
9、図25を参照のこと)。
【0337】図43には、スキーマと内部状態管理部と
の関係を模式的に示している。スキーマは、DSubj
ectやDObjectなどのプロキシを介して、短期
記憶部105、長期記憶部106、内部状態管理部10
4などの外部オブジェクトと通信することができる(図
30を参照のこと)。
【0338】スキーマは、外部刺激や内部状態の変化に
よって活動度レベルを算出するクラス・オブジェクトを
備えている。RM(Resource Management)オブジェク
トは、プロキシを介して短期記憶部105に通信して、
外部環境を取得して、外部環境に基づく活動度レベルを
算出する。また、Motivation算出クラス・オ
ブジェクトは、プロキシを介して長期記憶部106並び
に内部状態管理部104と通信して、内部状態の変化量
を取得して、内部状態に基づく活動度レベルすなわちM
otivationを算出する。Motivation
の算出方法に関しては後に詳解する。
【0339】内部状態管理部104は、既に述べたよう
に、1次情動と2次情動とに段階的に階層化されてい
る。また、1次情動に関しては、生得的反応による1次
情動階層と、ホメオスタシスによる1次情動と、連想に
よる1次情動とに次元的に階層化されている(図36を
参照のこと)。また、2次情動としての感情は、P(P
leasantness)、A(Activity)、
C(Concentration)の3要素にマッピン
グされている。
【0340】1次情動の各階層における変化ΔIはすべ
て2次情動に入力されて、Pleasantnessの
変化ΔPの算出に利用される。
【0341】Activityは、センサ入力、動作時
間、バイオリズムなどの情報から統合的に判断される。
【0342】また、選択されたスキーマの確信度を、実
際の2次情動階層における確信度として使用する。
【0343】図44には、Motivation算出ク
ラス・オブジェクトによるMotivation算出経
路を模式的に示している。
【0344】RMクラス・オブジェクトは、プロキシ経
由で短期記憶部105にアクセスして、センサ情報を取
得し、認識された対象物の距離や大きさなどの刺激の強
さに基づいて外部刺激による活動度レベルを評価する。
【0345】一方、Motivation算出クラス・
オブジェクトは、プロキシ経由で短期記憶部105にア
クセスして、対象物に関する特徴を取得して、さらにプ
ロキシ経由で長期記憶部106の対象物の特徴を問い合
わせて内部状態の変化を取得する。そして、プロキシ経
由で内部状態管理部104にアクセスして、ロボット内
部にある内部評価値を算出する。したがって、Moti
vationの算出は、外部刺激の強さには無関係であ
る。
【0346】本実施形態に係るロボットの行動制御シス
テムが連想記憶を用いて外部刺激から内部状態の変化を
想起することにより、2次情動を算出して行動選択を行
なう、ということは既に述べた(図41を参照のこ
と)。さらに、連想記憶を用いることにより、対象物毎
に異なる内部状態の変化を想起させることができる。こ
れによって、同じ状況でもその行動の発現し易さを異な
らせることができる。すなわち、外部の刺激や物理的状
況、現在の内部状態に加え、ロボットの対象物ごとの記
憶を考慮して行動を選択することができ、より多彩で多
様化した対応を実現することができる。
【0347】例えば、「○○が見えているから××す
る」とか、「現在○○が不足だから(何に対しても)×
×する」などの外部環境又は内部状態によって決まった
行動をするのではなく、「○○が見えても△△なので□
□する」とか、「○○が見えているけど××なので■■
する」など、対象物に関する内部状態の変化記憶を用い
ることにより、行動にバリエーションをつけることがで
きる。
【0348】図45には、対象物が存在するときのMo
tivation算出処理のメカニズムを模式的に示し
ている。
【0349】まず、プロキシ経由で短期記憶部105に
アクセスして、認識機能部101〜103により認識さ
れたターゲットの特徴を尋ねる。
【0350】次いで、取り出した特徴を用いて、今度は
プロキシ経由で長期記憶部106にアクセスして、その
特徴の対象物がスキーマに関係した欲求をどのように変
化させるか、すなわち1次情動の変化ΔIを獲得する。
【0351】次いで、プロキシ経由で内部状態管理部1
04にアクセスして、欲求の変化により快不快の値がど
のように変化するか、すなわち2次情動の変化ΔPle
asantを引き出す。
【0352】そして、2次情動の変化ΔPleasan
tと対象物の確信度を引数とする以下のMotivat
ion算出関数gtarget-iにより、i番目のMotiv
ationを算出する。
【0353】
【数9】
【0354】また、図46には、対象物が存在しないと
きのMotivation算出処理のメカニズムを模式
的に示している。
【0355】この場合、まず、行動に対する記憶に対し
て、その行動による欲求の変化ΔIを尋ねる。
【0356】次いで、取得したΔIを用いて、内部状態
管理部104により1次情動がΔIだけ変化したときの
2次情動の変化ΔPleasantを引き出す。そし
て、この場合は、2次情動の変化ΔPleasantを
引数とする以下のMotivation算出関数g
nottarget-iにより、i番目のMotivationを
算出する。
【0357】
【数10】
【0358】E−9.2次情動の各要素の変更方法 図47には、2次情動のうちのPleasantnes
sを変更するためのメカニズムを図解している。
【0359】長期記憶部106は、記憶の量による1次
情動の変化を内部状態管理部104に入力する。また、
短期記憶部105は、認識機能部101〜103からの
センサ入力による1次情動の変化を内部状態管理部10
4に入力する。
【0360】また、スキーマは、スキーマ実行による1
次情動の変化(Nourishment,Moistu
re,Sleep)や、スキーマの内容による1次情動
の変化(Affection)を内部状態管理部104
に入力する。
【0361】Pleasantnessは、1次情動の
過不足の変化に応じて決定される。
【0362】また、図48には、2次情動のうちのAc
tivityを変更するためのメカニズムを図解してい
る。
【0363】Activityは、スキーマのSlee
p以外の時間の総和と、バイオリズムと、センサ入力を
基に、統合的に判断される。
【0364】また、図49には、2次情動のうちのCe
rtaintyを変更するためのメカニズムを図解して
いる。
【0365】長期記憶部106に対して対象物を尋ねる
と、Certaintyが返される。どの1次情動に着
目するかは、そのスキーマの目標とする行動に依存す
る。そして、引き出されたCertaintyがそのま
ま内部状態管理部104の2次情動におけるCerta
intyとなる。
【0366】図50には、Certaintyを求める
ためのメカニズムを模式的に示している。
【0367】長期記憶部106では、対象物に関する認
識結果や情動などの各項目の確からしさを、スキーマ毎
に記憶している。
【0368】スキーマは、長期記憶部106に対して、
スキーマと関係する記憶の対する確からしさの値を尋ね
る。これに対し、長期記憶部106は、スキーマと関係
する記憶の確からしさを対象物の確からしさとして与え
る。
【0369】[追補]以上、特定の実施形態を参照しな
がら、本発明について詳解してきた。しかしながら、本
発明の要旨を逸脱しない範囲で当業者が該実施形態の修
正や代用を成し得ることは自明である。
【0370】本発明の要旨は、必ずしも「ロボット」と
称される製品には限定されない。すなわち、電気的若し
くは磁気的な作用を用いて人間の動作に似せた運動を行
なう機械装置であるならば、例えば玩具等のような他の
産業分野に属する製品であっても、同様に本発明を適用
することができる。
【0371】要するに、例示という形態で本発明を開示
してきたのであり、本明細書の記載内容を限定的に解釈
するべきではない。本発明の要旨を判断するためには、
冒頭に記載した特許請求の範囲の欄を参酌すべきであ
る。
【0372】
【発明の効果】本発明によれば、自律的な動作を行ない
ユーザとのリアリスティックなコミュニケーションを実
現することができる、優れたロボットの行動制御システ
ム及び行動制御方法、並びにロボット装置を提供するこ
とができる。
【0373】また、本発明によれば、視覚や聴覚などの
外部環境の認識結果や本能や感情などの内部状態などの
ロボットが置かれている状況を統合的に判断して行動を
選択することができる、優れたロボットの行動制御シス
テム及び行動制御方法、並びにロボット装置を提供する
ことができる。
【0374】また、本発明によれば、視覚や聴覚などの
外部環境の認識結果や本能や感情などの内部状態などの
ロボットが置かれている状況を統合的に判断して行動を
選択することができる、優れたロボットの行動制御シス
テム及び行動制御方法、並びにロボット装置を提供する
ことができる。
【0375】また、本発明によれば、情動についての存
在意義をより明確にして、一定の秩序の下で外部刺激や
内部状態に応じた行動を好適に選択し実行することがで
きる、優れたロボットの行動制御システム及び行動制御
方法、並びにロボット装置を提供することができる。
【0376】本発明によれば、情動についてその存在意
義による複数階層化を行ない、それぞれの階層で動作を
決定する。決定された複数の動作から、そのときの外部
刺激や内部状態によってどの動作を行なうかを決定す
る。それぞれの階層で行動は選択されるが、その実施さ
れる順番はロボットの内部状態の優先順位に基づくた
め、より低次の行動から優先的に動作を発現していくこ
とにより、反射などの本能的行動や、記憶を用いた動作
選択などの高次の行動を1つの個体上で矛盾なく発現す
ることができる。また、行動をカテゴライズして、スキ
ーマとして作成する際も明確な指標となる。
【0377】また、本発明に係るロボットの行動制御シ
ステム又は行動制御方法によれば、連想記憶を用いるこ
とにより、対象物毎に異なる内部状態の変化を想起する
ことができるので、同じ状況でもその行動の発現し易さ
を異ならせることができる。すなわち、外部の刺激や物
理的状況、現在の内部状態に加え、ロボットの対象物ご
との記憶を考慮して行動を選択することができ、より多
彩で多様化した対応を実現することができる。
【0378】例えば、「○○が見えているから××す
る」とか、「現在○○が不足だから(何に対しても)×
×する」などの外部環境又は内部状態によって決まった
行動をするのではなく、「○○が見えても△△なので□
□する」とか、「○○が見えているけど××なので■■
する」など、対象物に関する内部状態の変化記憶を用い
ることにより、行動にバリエーションを付けることがで
きる。
【図面の簡単な説明】
【図1】本発明に実施に供されるロボット装置1の機能
構成を模式的に示した図である。
【図2】制御ユニット20の構成をさらに詳細に示した
図である。
【図3】本発明の実施形態に係るロボット装置1の行動
制御システム100の機能構成を模式的に示した図であ
る。
【図4】図3に示した行動制御システム100を構成す
る各オブジェクトによる動作の流れを示した図である。
【図5】各認識機能部101〜103における認識結果
に基づいて短期記憶部105内のターゲット・メモリに
入る情報の流れを示した図である。
【図6】各認識機能部101〜103における認識結果
に基づいて短期記憶部105内のイベント・メモリに入
る情報の流れを示した図である。
【図7】ロボット1によるユーザA及びBとの対話処理
を説明するための図である。
【図8】ロボット1によるユーザA及びBとの対話処理
を説明するための図である。
【図9】ロボット1によるユーザA及びBとの対話処理
を説明するための図である。
【図10】本発明の一実施形態に係る連想記憶の記憶過
程を概念的に示した図である。
【図11】本発明の一実施形態に係る連想記憶の想起過
程を概念的に示した図である。
【図12】競合型ニューラル・ネットワークを適用した
連想記憶システムの構成例を模式的に示した図である。
【図13】本発明の実施形態に係る行動制御システム1
00のオブジェクト構成を模式的に示した図である。
【図14】状況依存行動階層108による状況依存行動
制御の形態を模式的に示した図である。
【図15】図14に示した状況依存行動階層108によ
る行動制御の基本的な動作例を示した図である。
【図16】図14に示した状況依存行動階層108によ
り反射行動を行なう場合の動作例を示した図である。
【図17】図14に示した状況依存行動階層108によ
り感情表現を行なう場合の動作例を示した図である。
【図18】状況依存行動階層108が複数のスキーマに
よって構成されている様子を模式的に示した図である。
【図19】状況依存行動階層108におけるスキーマの
ツリー構造を模式的に示した図である。
【図20】スキーマの内部構成を模式的に示している。
【図21】Monitor関数の内部構成を模式的に示
した図である。
【図22】行動状態制御部の構成例を模式的に示した図
である。
【図23】行動状態制御部の他の構成例を模式的に示し
た図である。
【図24】状況依存行動階層108において通常の状況
依存行動を制御するためのメカニズムを模式的に示した
図である。
【図25】反射行動部109におけるスキーマの構成を
模式的に示した図である。
【図26】反射行動部109により反射的行動を制御す
るためのメカニズムを模式的に示した図である。
【図27】状況依存行動階層108において使用される
スキーマのクラス定義を模式的に示した図である。
【図28】スキーマのaction関数のステートマシ
ンを示した図である。
【図29】スキーマのステートマシンを示した図であ
る。
【図30】状況依存行動階層108内のクラスの機能的
構成を模式的に示した図である。
【図31】MakePronome関数を実行する処理
手順を示したフローチャートである。
【図32】Monitor関数を実行する処理手順を示
したフローチャートである。
【図33】Actions関数を実行する処理手順を示
したフローチャートである。
【図34】Actions関数を実行する処理手順を示
したフローチャートである。
【図35】スキーマのReentrant性を説明する
ための図である。
【図36】本実施形態に係る内部状態管理部104の階
層的構成を模式的に示した図である。
【図37】内部状態管理部104と他の機能モジュール
との通信経路を模式的に示した図である。
【図38】内部状態管理部104が時間変化に伴って内
部状態を変化させるための仕組みを示した図である。
【図39】内部状態管理部104がロボットの動作実行
に伴って内部状態を変化させるための仕組みを示した図
である。
【図40】内部状態管理部104が外部環境の認識結果
により内部状態を変化させるための仕組みを示した図で
ある。
【図41】内部状態管理部104が連想記憶により内部
状態を変化させるための仕組みを示した図である。
【図42】内部状態管理部104が生得的反射行動によ
り内部状態を変化させるための仕組みを示した図であ
る。
【図43】スキーマと内部状態管理部との関係を模式的
に示した図である。
【図44】Motivation算出クラス・オブジェ
クトによるMotivation算出経路を模式的に示
した図である。
【図45】対象物が存在するときのMotivatio
n算出処理のメカニズムを模式的に示した図である。
【図46】対象物が存在しないときのMotivati
on算出処理のメカニズムを模式的に示した図である。
【図47】Pleasantnessの変更方法を示し
た図である。
【図48】Activityの変更方法を示した図であ
る。
【図49】Certaintyの変更方法を示した図で
ある。
【図50】Certaintyを求めるためのメカニズ
ムを示した図である。
【符号の説明】
1…ロボット装置 15…CCDカメラ 16…マイクロフォン 17…スピーカ 18…タッチセンサ 19…LEDインジケータ 20…制御部 21…CPU 22…RAM 23…ROM 24…不揮発メモリ 25…インターフェース 26…無線通信インターフェース 27…ネットワーク・インターフェース・カード 28…バス 29…キーボード 40…入出力部 50…駆動部 51…モータ 52…エンコーダ 53…ドライバ 100…行動制御システム 101…視覚認識機能部 102…聴覚認識機能部 103…接触認識機能部 105…短期記憶部 106…長期記憶部 107…熟考行動階層 108…状況依存行動階層 109…反射行動部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 堀中 里香 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 大谷 伸弥 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 3C007 AS36 CS08 KS31 KS39 KT01 WA02 WB14 WB15 WB16 WB24 WB25 WC06 5H004 GA26 GB16 KD32 KD52 KD55 KD62

Claims (49)

    【特許請求の範囲】
  1. 【請求項1】自律的に動作するロボットのための行動制
    御システムであって、 ロボットの機体動作を記述する複数の行動記述部と、 機体の外部環境を認識する外部環境認識部と、 認識された外部環境及び/又は行動の実行結果に応じた
    ロボットの内部状態を管理する内部状態管理部と、 外部環境及び/又は内部状態に応じて前記の各行動記述
    部に記述された行動の実行を評価する行動評価部と、を
    具備することを特徴とするロボットの行動制御システ
    ム。
  2. 【請求項2】前記外部環境認識部は、外部の視覚認識、
    外部で発生する音声認識、外部から印加された接触認識
    のうち少なくとも1つを行なう、ことを特徴とする請求
    項1に記載のロボットの行動制御システム。
  3. 【請求項3】前記内部状態管理部は、ロボットの本能モ
    デル及び/又は感情モデルを管理する、ことを特徴とす
    る請求項1に記載のロボットの行動制御システム。
  4. 【請求項4】前記行動記述部は、複数の行動記述部が機
    体動作の実現レベルに応じた木構造形式に構成されてお
    り、 前記行動評価部は該木構造の上から下に向かって複数の
    行動記述部を同時並行的に評価する、ことを特徴とする
    請求項1に記載のロボットの行動制御システム。
  5. 【請求項5】前記外部環境認識部による新規認識及び/
    又は前記内部状態管理部による内部状態の変化に応答し
    て、前記行動評価部による前記の各行動記述部の評価を
    実行して、評価値を基に行動記述部に記述された行動を
    選択的に実行する行動選択部をさらに備える、ことを特
    徴とする請求項1に記載のロボットの行動制御システ
    ム。
  6. 【請求項6】複数の行動記述部に記述された行動を同時
    実行するときの機体上の資源の競合を管理する資源管理
    部をさらに備え、 前記行動選択部は、資源の競合関係に応じて2以上の行
    動記述部を同時に選択することを許容する、ことを特徴
    とする請求項5に記載のロボットの行動制御システム。
  7. 【請求項7】前記外部環境認識部による新規認識により
    前記行動評価部による前記の各行動記述部の評価を実行
    した結果、現在実行中の行動よりも高い評価値を得た行
    動記述部が出現した場合、前記行動選択部は、現在実行
    中の行動を停止して、評価値がより高い行動記述部に記
    述された行動を優先的に実行する、ことを特徴とする請
    求項5に記載のロボットの行動制御システム。
  8. 【請求項8】前記行動選択部は、該優先的に実行した行
    動が終了した後、一旦停止された行動を再開させる、 ことを特徴とする請求項7に記載のロボットの行動制御
    システム。
  9. 【請求項9】前記行動選択部は、異なる外部環境の変化
    に応じて同一の行動記述部を逐次選択することができ、 前記行動記述部に記述された行動を実行する度に外部環
    境毎に個別の作業空間を割り当てる作業空間管理部をさ
    らに備える、ことを特徴とする請求項5に記載のロボッ
    トの行動制御システム。
  10. 【請求項10】自律的に動作するロボットのための行動
    制御システムであって、 機体動作を記述したステートマシンと、前記ステートマ
    シンにおける現在の機体動作ステートの活性度レベルと
    機体動作ステート起動時において使用する機体リソース
    を評価する行動評価器とを備えた、1以上の行動モジュ
    ールと、 前記の各行動モジュールの行動評価器に対して活性度レ
    ベルと使用リソースの算出を指示し、それぞれの活性度
    レベルと使用リソースに応じて活性化させる行動モジュ
    ールを選択し、該選択された行動モジュールのステート
    マシンに実行を指示することにより、各行動モジュール
    の行動状態を制御する行動状態制御部と、を具備するこ
    とを特徴とするロボットの行動制御システム。
  11. 【請求項11】前記行動評価器は、機体の外部環境及び
    /又は前記ロボットの内部状態に応じて前記ステートマ
    シンの活性度レベルを評価する、ことを特徴とする請求
    項10に記載のロボットの行動制御システム。
  12. 【請求項12】前記の行動モジュールは機体動作の実現
    レベルに応じた木構造形式に構成されており、 前記行動状態制御部は、行動モジュール毎に実装され、
    前記木構造の下位の行動モジュールに対して活性度レベ
    ル及び使用リソースの評価の指示、行動モジュールの選
    択、並びにステートマシンの実行の指示を行なう、こと
    を特徴とする請求項10に記載のロボットの行動制御シ
    ステム。
  13. 【請求項13】前記行動状態制御部は、活性度レベルの
    低下した行動モジュールを活性状態から待機状態に遷移
    させるとともに、活性度レベルが上昇した行動モジュー
    ルを待機状態から活性状態に遷移させる、ことを特徴と
    する請求項10に記載のロボットの行動制御システム。
  14. 【請求項14】行動モジュールを活性状態から待機状態
    に遷移させるときに、該行動モジュールを再開するため
    に必要なデータを保存するとともに待機状態に遷移させ
    るために必要な行動を起動する手段と、 行動モジュールを待機状態から活性状態に遷移させると
    きに、保存しておいたデータを復元して行動モジュール
    の状態を初期化するとともに、活性状態に遷移させるた
    めに必要な行動を起動する手段と、をさらに備えること
    を特徴とする請求項13に記載のロボットの行動制御シ
    ステム。
  15. 【請求項15】自律的に動作するロボットのための行動
    制御システムであって、 ロボットを動作させるコマンドと該コマンド実行に必要
    な機体リソースを評価する行動評価器との組み合わせか
    らなる、1以上の行動モジュールと、 解放されている機体リソースを検出する手段と、 解放されている機体リソースによって実行可能な行動モ
    ジュールを所定の優先順位に従がって選択的に起動する
    手段とを備え、 リソースが競合しない2以上の行動モジュールを並列実
    行可能である、ことを特徴とするロボットの行動制御シ
    ステム。
  16. 【請求項16】内部状態に応じて自律的に動作するロボ
    ットの行動制御システムであって、 内部状態の指標である情動を複数の階層構造にして管理
    する内部状態管理部と、 各階層の情動を満たす行動を選択的に実行する行動選択
    部と、を具備することを特徴とするロボットの行動制御
    システム。
  17. 【請求項17】前記内部状態管理部は、個体存続のため
    に必要な1次情動と、該1次情動の過不足により変化す
    る2次情動という段階毎に階層化するとともに、該1次
    情動を生得的反射や生理的な階層から連想に至るまで次
    元により階層化する、ことを特徴とする請求項16に記
    載のロボットの行動制御システム。
  18. 【請求項18】前記行動選択部は、より低次の1次情動
    を満たす行動を優先的に選択する、ことを特徴とする請
    求項17に記載のロボットの行動制御システム。
  19. 【請求項19】前記行動選択部は、より高次の1次情動
    が低次の1次情動に比し著しく不足している場合には、
    低次の1次情動を満たす行動の選択を抑制する、ことを
    特徴とする請求項18に記載のロボットの行動制御シス
    テム。
  20. 【請求項20】ロボットの外部環境の変化を認識する外
    部環境認識部をさらに備え、 前記行動選択部は、内部状態の指標に加え、外部環境の
    指標を基に行動を選択する、ことを特徴とする請求項1
    6に記載のロボットの行動制御システム。
  21. 【請求項21】前記内部状態管理部は、時間経過に応じ
    て内部状態の指標を変更する、ことを特徴とする請求項
    16に記載のロボットの行動制御システム。
  22. 【請求項22】前記内部状態管理部は、行動選択部にお
    いて選択された行動の実行に応じて内部状態の指標を変
    更する、ことを特徴とする請求項16に記載のロボット
    の行動制御システム。
  23. 【請求項23】ロボットの外部環境の変化を認識する外
    部環境認識部をさらに備え、 前記内部状態管理部は、外部環境の変化に応じて内部状
    態の指標を変更する、ことを特徴とする請求項16に記
    載のロボットの行動制御システム。
  24. 【請求項24】ロボットの外部環境の変化を認識する外
    部環境認識部と、外部環境から内部状態の変化を連想記
    憶する連想記憶部をさらに備え、 前記内部状態管理部は、前記連想記憶部が外部環境から
    想起した内部環境の変化を基に内部状態の指標を変更す
    る、ことを特徴とする請求項16に記載のロボットの行
    動制御システム。
  25. 【請求項25】前記連想記憶部は認識される対象物毎に
    内部状態の変化を連想記憶する、ことを特徴とする請求
    項24に記載のロボットの行動制御システム。
  26. 【請求項26】自律的に動作するロボットのための行動
    制御方法であって、ロボットの機体動作を記述する複数
    の行動記述モジュールが用意させており、 機体の外部環境を認識する外部環境認識ステップと、 認識された外部環境及び/又は行動の実行結果に応じた
    ロボットの内部状態を管理する内部状態管理ステップ
    と、 外部環境及び/又は内部状態に応じて前記の各行動記述
    モジュールに記述された行動の実行を評価する行動評価
    ステップと、を具備することを特徴とするロボットの行
    動制御方法。
  27. 【請求項27】前記外部環境認識ステップでは、外部の
    視覚認識、外部で発生する音声認識、外部から印加され
    た接触認識のうち少なくとも1つを行なう、ことを特徴
    とする請求項26に記載のロボットの行動制御方法。
  28. 【請求項28】前記内部状態管理ステップでは、ロボッ
    トの本能モデル及び/又は感情モデルを管理する、こと
    を特徴とする請求項26に記載のロボットの行動制御方
    法。
  29. 【請求項29】前記行動記述モジュールは、複数の行動
    記述モジュールが機体動作の実現レベルに応じた木構造
    形式に構成されており、 前記行動評価ステップでは該木構造の上から下に向かっ
    て複数の行動記述モジュールを同時並行的に評価する、
    ことを特徴とする請求項26に記載のロボットの行動制
    御方法。
  30. 【請求項30】前記外部環境認識ステップによる新規認
    識及び/又は前記内部状態管理ステップによる内部状態
    の変化に応答して、前記行動評価ステップによる前記の
    各行動記述部の評価を実行して、評価値を基に行動記述
    モジュールに記述された行動を選択的に実行する行動選
    択ステップをさらに備える、ことを特徴とする請求項2
    6に記載のロボットの行動制御方法。
  31. 【請求項31】複数の行動記述部に記述された行動を同
    時実行するときの機体上の資源の競合を管理する資源管
    理ステップをさらに備え、 前記行動選択ステップでは、資源の競合関係に応じて2
    以上の行動記述部を同時に選択することを許容する、こ
    とを特徴とする請求項30に記載のロボットの行動制御
    方法。
  32. 【請求項32】前記外部環境認識ステップにおける新規
    認識により前記行動評価ステップによる前記の各行動記
    述モジュールの評価を実行した結果、現在実行中の行動
    よりも高い評価値を得た行動記述モジュールが出現した
    場合、前記行動選択ステップでは、現在実行中の行動を
    停止して、評価値がより高い行動記述部に記述された行
    動を優先的に実行する、ことを特徴とする請求項30に
    記載のロボットの行動制御方法。
  33. 【請求項33】前記行動選択ステップは、該優先的に実
    行した行動が終了した後、一旦停止された行動を再開さ
    せる、ことを特徴とする請求項32に記載のロボットの
    行動制御方法。
  34. 【請求項34】前記行動選択ステップでは、異なる外部
    環境の変化に応じて同一の行動記述モジュールを逐次選
    択することができ、 前記行動記述モジュールに記述された行動を実行する度
    に外部環境毎に個別の作業空間を割り当てる作業空間管
    理ステップをさらに備える、ことを特徴とする請求項3
    0に記載のロボットの行動制御方法。
  35. 【請求項35】内部状態に応じて自律的に動作するロボ
    ットのための行動制御方法であって、内部状態の指標で
    ある情動を複数の階層構造にして管理する内部状態管理
    ステップと、 各階層の情動を満たす行動を選択的に実行する行動選択
    ステップと、を具備することを特徴とするロボットの行
    動制御方法。
  36. 【請求項36】前記内部状態管理ステップでは、個体存
    続のために必要な1次情動と、該1次情動の過不足によ
    り変化する2次情動という段階毎に階層化するととも
    に、該1次情動を生得的反射や生理的な階層から連想に
    至るまで次元により階層化して内部状態を取り扱う、こ
    とを特徴とする請求項35に記載のロボットの行動制御
    方法。
  37. 【請求項37】前記行動選択ステップでは、より低次の
    1次情動を満たす行動を優先的に選択する、ことを特徴
    とする請求項35に記載のロボットの行動制御方法。
  38. 【請求項38】前記行動選択ステップでは、より高次の
    1次情動が低次の1次情動に比し著しく不足している場
    合には、低次の1次情動を満たす行動の選択を抑制す
    る、ことを特徴とする請求項35に記載のロボットの行
    動制御方法。
  39. 【請求項39】ロボットの外部環境の変化を認識する外
    部環境認識ステップをさらに備え、 前記行動選択ステップでは、内部状態の指標に加え、外
    部環境の指標を基に行動を選択する、ことを特徴とする
    請求項35に記載のロボットの行動制御方法。
  40. 【請求項40】前記内部状態管理ステップでは、時間経
    過に応じて内部状態の指標を変更する、ことを特徴とす
    る請求項35に記載のロボットの行動制御方法。
  41. 【請求項41】前記内部状態管理ステップでは、行動選
    択ステップにおいて選択された行動の実行に応じて内部
    状態の指標を変更する、ことを特徴とする請求項35に
    記載のロボットの行動制御方法。
  42. 【請求項42】ロボットの外部環境の変化を認識する外
    部環境認識ステップをさらに備え、 前記内部状態管理ステップでは、外部環境の変化に応じ
    て内部状態の指標を変更する、ことを特徴とする請求項
    35に記載のロボットの行動制御方法。
  43. 【請求項43】ロボットの外部環境の変化を認識する外
    部環境認識ステップと、外部環境から内部状態の変化を
    連想記憶する連想記憶ステップをさらに備え、 前記内部状態管理ステップでは、連想記憶により外部環
    境から想起した内部環境の変化を基に内部状態の指標を
    変更する、ことを特徴とする請求項35に記載のロボッ
    トの行動制御方法。
  44. 【請求項44】前記連想記憶ステップでは認識される対
    象物毎に内部状態の変化を連想記憶する、ことを特徴と
    する請求項43に記載のロボットの行動制御方法。
  45. 【請求項45】内部入力又は外部入力に基づいて行動を
    生成するロボット装置であって、 前記ロボットの行動を決定する1以上の行動モジュール
    と、 前記行動モジュールを管理する行動モジュール管理手段
    と、 前記行動モジュールの現在のステートを記憶するステー
    ト記憶手段と、 前記ステート記憶手段に記憶されたステートに対応し
    た、外部又は内部からの入力に基づいて行動命令を出力
    する1又はそれ以上のステートマシンを備え、 前記ステートマシンの行動命令の出力が停止され、その
    後の行動出力が再開される際に、前記行動モジュール管
    理手段は前記ステート記憶手段に記憶されたステートに
    基づいて所定の行動をロボットに実行させた後、前記行
    動出力が再開される、ことを特徴とするロボット装置。
  46. 【請求項46】前記ステート記憶手段と、前記ステート
    マシンは、前記行動モジュールの内部に設けられ、 前記行動モジュール管理手段は、前記行動モジュールと
    階層構造をなし、且つ、上位の階層に位置する他の行動
    モジュールに格納されている、ことを特徴とする請求項
    45に記載のロボット装置。
  47. 【請求項47】自律的に動作するロボット装置であっ
    て、 外部刺激と内部環境に基づいて状況判断して活動度レベ
    ルを算出する手段と、所定のステートマシンに基づいて
    入力とステートに対応した行動を出力する手段とを備え
    た行動モジュールと、 前記行動モジュールの状態を設定する状態設定手段と、
    を具備することを特徴とするロボット装置。
  48. 【請求項48】前記状態設定手段は、前記活動度レベル
    に応じて、前記行動モジュールを準備完了、活動、又は
    待機のうちいずれかの状態に設定する、を特徴とする請
    求項47に記載のロボット装置。
  49. 【請求項49】2以上の行動モジュールが階層構造にな
    されており、 前記状態設定手段は、前記階層の上位の行動モジュール
    が下位の行動モジュールを選択するように構成されてい
    る、を特徴とする請求項47に記載のロボット装置。
JP2003072844A 2002-03-15 2003-03-17 ロボットの行動制御システム及び行動制御方法、並びにロボット装置 Expired - Fee Related JP3558222B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003072844A JP3558222B2 (ja) 2002-03-15 2003-03-17 ロボットの行動制御システム及び行動制御方法、並びにロボット装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2002-72352 2002-03-15
JP2002072352 2002-03-15
JP2002-72351 2002-03-15
JP2002072351 2002-03-15
JP2003072844A JP3558222B2 (ja) 2002-03-15 2003-03-17 ロボットの行動制御システム及び行動制御方法、並びにロボット装置

Publications (2)

Publication Number Publication Date
JP2003334785A true JP2003334785A (ja) 2003-11-25
JP3558222B2 JP3558222B2 (ja) 2004-08-25

Family

ID=29715899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003072844A Expired - Fee Related JP3558222B2 (ja) 2002-03-15 2003-03-17 ロボットの行動制御システム及び行動制御方法、並びにロボット装置

Country Status (1)

Country Link
JP (1) JP3558222B2 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006030530A1 (ja) * 2004-09-17 2006-03-23 National Institute Of Advanced Industrial Science And Technology 刺激優先度判定手段を備えた模擬生物装置
JP2006110707A (ja) * 2004-09-14 2006-04-27 Sony Corp ロボット装置
JP2006268332A (ja) * 2005-03-23 2006-10-05 Kyushu Institute Of Technology 対話情報処理装置及び対話情報処理方法
WO2011016280A1 (ja) * 2009-08-03 2011-02-10 本田技研工業株式会社 ロボットおよび制御システム
JP2011031349A (ja) * 2009-08-03 2011-02-17 Honda Motor Co Ltd ロボットおよび制御システム
JP2011031350A (ja) * 2009-08-03 2011-02-17 Honda Motor Co Ltd ロボットおよび制御システム
JP2011051088A (ja) * 2009-08-03 2011-03-17 Honda Motor Co Ltd ロボットおよび制御システム
JP2011240475A (ja) * 2010-04-22 2011-12-01 Honda Motor Co Ltd ロボットおよび制御システム
US8145492B2 (en) 2004-04-07 2012-03-27 Sony Corporation Robot behavior control system and method, and robot apparatus
US8209179B2 (en) * 2003-07-03 2012-06-26 Sony Corporation Speech communication system and method, and robot apparatus
JP2016197386A (ja) * 2015-04-06 2016-11-24 信太郎 本多 環境に適応する、汎用性を意識した人工知能システム
CN107498553A (zh) * 2016-06-14 2017-12-22 富士施乐株式会社 机器人控制系统和机器人控制方法
WO2018180143A1 (ja) 2017-03-31 2018-10-04 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
WO2018190015A1 (ja) 2017-04-12 2018-10-18 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
CN113733106A (zh) * 2021-11-05 2021-12-03 深圳市优必选科技股份有限公司 力控仿人机器人的全身控制方法、装置、设备及介质

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209179B2 (en) * 2003-07-03 2012-06-26 Sony Corporation Speech communication system and method, and robot apparatus
US8145492B2 (en) 2004-04-07 2012-03-27 Sony Corporation Robot behavior control system and method, and robot apparatus
JP2006110707A (ja) * 2004-09-14 2006-04-27 Sony Corp ロボット装置
WO2006030530A1 (ja) * 2004-09-17 2006-03-23 National Institute Of Advanced Industrial Science And Technology 刺激優先度判定手段を備えた模擬生物装置
JP2006268332A (ja) * 2005-03-23 2006-10-05 Kyushu Institute Of Technology 対話情報処理装置及び対話情報処理方法
JP4682322B2 (ja) * 2005-03-23 2011-05-11 国立大学法人九州工業大学 対話情報処理装置及び対話情報処理方法
US8849452B2 (en) 2009-08-03 2014-09-30 Honda Motor Co., Ltd. Robot and control system
WO2011016280A1 (ja) * 2009-08-03 2011-02-10 本田技研工業株式会社 ロボットおよび制御システム
JP2011031349A (ja) * 2009-08-03 2011-02-17 Honda Motor Co Ltd ロボットおよび制御システム
JP2011031350A (ja) * 2009-08-03 2011-02-17 Honda Motor Co Ltd ロボットおよび制御システム
JP2011051088A (ja) * 2009-08-03 2011-03-17 Honda Motor Co Ltd ロボットおよび制御システム
JP2011240475A (ja) * 2010-04-22 2011-12-01 Honda Motor Co Ltd ロボットおよび制御システム
JP2016197386A (ja) * 2015-04-06 2016-11-24 信太郎 本多 環境に適応する、汎用性を意識した人工知能システム
CN107498553A (zh) * 2016-06-14 2017-12-22 富士施乐株式会社 机器人控制系统和机器人控制方法
CN107498553B (zh) * 2016-06-14 2021-10-15 富士胶片商业创新有限公司 机器人控制系统和机器人控制方法
WO2018180143A1 (ja) 2017-03-31 2018-10-04 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
WO2018190015A1 (ja) 2017-04-12 2018-10-18 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US11218535B2 (en) 2017-04-12 2022-01-04 Sony Corporation Information processing apparatus, information processing method, and computer program
CN113733106A (zh) * 2021-11-05 2021-12-03 深圳市优必选科技股份有限公司 力控仿人机器人的全身控制方法、装置、设备及介质

Also Published As

Publication number Publication date
JP3558222B2 (ja) 2004-08-25

Similar Documents

Publication Publication Date Title
KR101137205B1 (ko) 로봇의 행동 제어 시스템 및 행동 제어 방법, 및 로봇 장치
US8145492B2 (en) Robot behavior control system and method, and robot apparatus
US7853357B2 (en) Robot behavior control based on current and predictive internal, external condition and states with levels of activations
US7363108B2 (en) Robot and control method for controlling robot expressions
KR100864339B1 (ko) 로봇 장치 및 로봇 장치의 행동 제어 방법
JP4244812B2 (ja) 行動制御システム及びロボット装置の行動制御方法
US7515992B2 (en) Robot apparatus and emotion representing method therefor
JP3558222B2 (ja) ロボットの行動制御システム及び行動制御方法、並びにロボット装置
JP2011115944A (ja) ロボット装置、ロボット装置の行動制御方法及びプログラム
JP2006110707A (ja) ロボット装置
Stoytchev et al. Combining deliberation, reactivity, and motivation in the context of a behavior-based robot architecture
JP2007125631A (ja) ロボット装置及びその行動制御方法
JP2004283958A (ja) ロボット装置、その行動制御方法及びプログラム
JP4296736B2 (ja) ロボット装置
JP2003111981A (ja) ロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体
JP2007125629A (ja) ロボット装置及びその行動制御方法
JP2004114285A (ja) ロボット装置及びその行動制御方法
JP2004209599A (ja) ロボット装置、ロボット装置の行動学習方法、ロボット装置の行動生成方法
JP4552465B2 (ja) 情報処理装置、ロボット装置の行動制御方法、ロボット装置及びコンピュータ・プログラム
JP4147960B2 (ja) ロボット装置、及びロボット装置の動作制御方法
JP7414735B2 (ja) 複数のロボットエフェクターを制御するための方法
JP2005321954A (ja) ロボット装置、情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2004283957A (ja) ロボット装置、その制御方法、及びプログラム
JP2005193330A (ja) ロボット装置及びその情動表出方法
JP2004283960A (ja) ロボット装置、その行動制御方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040513

R151 Written notification of patent or utility model registration

Ref document number: 3558222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120528

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees