(57)【要約】【課題】  身体リソースを使ったモーションにより情動を表出する場合に、モーションデータを保持するために必要な記憶容量を削減する。【解決手段】  ロボット装置は、各要素行動を発現する際に、その要素行動を構成する一又は複数の動作の開始時点の姿勢である基本姿勢を変化させることにより、情動を表現する。具体的に、ロボット装置は、基本姿勢に情動を表現するバリエーション（情動基本姿勢）を用意しており、この情動基本姿勢から各リソースを動作させ、再び情動基本姿勢に戻ることにより情動を表出する。この際、ロボット装置は、動作途中の関節角等のデータを相対角度として保持する。【選択図】  図２０
2005193331.tif 000002
【特許請求の範囲】
【請求項１】
情動をモデル化した情動モデルを有し、自らの情動を表出することが可能な自律型のロボット装置において、
上記ロボット装置の情動を検出して管理する情動管理手段と、
それぞれ所定の行動が記述された複数の行動記述モジュールと、
一又は複数の上記行動記述モジュールを選択し、選択した行動記述モジュールに記述された行動を発現させる行動選択手段とを備え、
上記行動選択手段によって一の行動記述モジュールが選択された場合、該一の行動記述モジュールは、上記情動管理手段によって検出された現在の情動に応じて、自身に記述された行動を構成する一又は複数の動作の各開始時点における姿勢である基本姿勢を変化させる
ことを特徴とするロボット装置。
【請求項２】
上記行動記述モジュールは、各情動に応じた基本姿勢を有しており、上記行動選択手段によって選択された場合、上記情動管理手段によって検出された現在の情動に応じた基本姿勢を選択することを特徴とする請求項１記載のロボット装置。
【請求項３】
上記行動記述モジュールは、現在の情動の大きさに応じて、該情動に応じた基本姿勢を変化させることを特徴とする請求項１記載のロボット装置。
【請求項４】
上記行動記述モジュールには、各情動が最小及び最大の場合における基本姿勢が情動毎に記述されており、
上記行動記述モジュールは、上記情動管理手段によって検出された現在の情動の大きさに応じて当該情動が最小及び最大の場合における基本姿勢を線形補間することにより、出力する基本姿勢を生成する
ことを特徴とする請求項３記載のロボット装置。
【請求項５】
上記情動は、喜び、悲しみ、怒り、驚き、嫌悪、恐れ及び中立を少なくとも含むことを特徴とする請求項１記載のロボット装置。
【請求項６】
情動をモデル化した情動モデルを有し、自らの情動を表出することが可能な自律型のロボット装置の情動表出方法において、
上記ロボット装置の情動を検出して管理する情動管理工程と、
それぞれ所定の行動が記述された複数の行動記述モジュールのうち一又は複数の行動記述モジュールを選択し、選択した行動記述モジュールに記述された行動を発現させる行動選択工程とを有し、
上記行動選択工程にて一の行動記述モジュールが選択された場合、該一の行動記述モジュールは、上記情動管理工程にて検出された現在の情動に応じて、自身に記述された行動を構成する一又は複数の動作の各開始時点における姿勢である基本姿勢を変化させる
ことを特徴とする情動表出方法。
【請求項７】
上記行動記述モジュールは、各情動に応じた基本姿勢を有しており、上記行動選択工程にて選択された場合、上記情動管理工程にて検出された現在の情動に応じた基本姿勢を選択することを特徴とする請求項６記載の情動表出方法。
【請求項８】
上記行動記述モジュールは、現在の情動の大きさに応じて、該情動に応じた基本姿勢を変化させることを特徴とする請求項６記載の情動表出方法。
【請求項９】
上記行動記述モジュールには、各情動が最小及び最大の場合における基本姿勢が情動毎に記述されており、
上記行動記述モジュールは、上記情動管理工程にて検出された現在の情動の大きさに応じて当該情動が最小及び最大の場合における基本姿勢を線形補間することにより、出力する基本姿勢を生成する
ことを特徴とする請求項８記載の情動表出方法。
【請求項１０】
上記情動は、喜び、悲しみ、怒り、驚き、嫌悪、恐れ及び中立を少なくとも含むことを特徴とする請求項６記載の情動表出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本能や感情といった情動をモデル化した情動モデルを有し、自らの情動を表出することが可能な自律型のロボット装置及びその情動表出方法に関する。
【背景技術】
【０００２】
近年、産業用ロボット装置に代わり、新しいロボット装置の分野として人間共存型ロボット装置やエンターテインメントロボット装置の研究が進められている。
【０００３】
従来の玩具機械的な位置付けのロボット装置は、外部刺激のみを行動選択のトリガとしているものが多く、ユーザ操作と応答動作との関係が固定的であった。その結果、ユーザは、同じ外部刺激に対して同じ動作しか繰り返さない玩具に対して容易に飽きを感じてしまうことが多かった。
【０００４】
これに対して近年では、本能や感情といった情動をモデル化した情動モデルを有するロボット装置が提案されている。これらのロボット装置は、人間を含む環境とのインタラクションからその情動を変化させ、その情動を表出することができるため、よりエンターテインメント性の高いものとなっている。
【０００５】
ところで、このような情動モデルを有するロボット装置の情動をユーザが認識するためには、ロボット装置がどのように情動を表出するかが重要となる。従来、ロボット装置がユーザに対して情動を表出する方法としては、以下のようなものが提案されている。
【０００６】
（１）情動表出専用の身体リソース（デバイス）を持つ。
（１−１）ＬＥＤ（Light Emission Diode）の色で情動表出を行う。
例えば「赤」により「怒り」の情動を表し、「青」により「悲しみ」の情動を表す。
（１−２）犬や猫などを模した「尻尾」により情動を表す。
例えば「尻尾を上げる」ことにより「怒り」の情動を表し、「尻尾を下げる」ことにより「悲しみ」の情動を表す。
（１−３）人の顔を模した「眉毛」により情動を表す。
例えば「眉尻を上げる」ことにより「怒り」の情動を表し、「眉尻を下げる」ことにより「悲しみ」の情動を表す。
（２）情動により音声にモジュレーションをかける。
例えば「音声の高さ、速さ、大きさを大きくする」ことにより「怒り」の情動を表し、「音声の高さ、速さ、大きさを小さくする」ことにより「悲しみ」の情動を表す。
【０００７】
これらの情動表出方法は、情動表出に用いる身体リソースがその他の身体リソース（生物を模したロボット装置の場合には手、足、頭、腰など）と切り離されているため、全体的に制御が容易であるという利点がある反面、情動表出に用いることができる身体リソースが限られてしまうため、情動表現力に欠けるという欠点がある。
【０００８】
ここで、上述した情動表出方法に代えて、或いは上述した情動表出方法に加えて、身体リソースを使ったモーションによる情動表出が可能になれば、さらに豊かな情動表出が可能となり、ロボット装置のエンターテインメント性をより高めることができると考えられる。従来、身体リソースを使ったモーションにより情動を表出する方法としては、以下のようなものが提案されている。なお、（３−２）の方法は、下記特許文献１に記載されている。
【０００９】
（３）情動表出に身体リソースを使ったモーションを使う。
（３−１）各情動に対応したモーションを作成する。
例えば「お辞儀をする」、「キックする」といったモーションに対し、情動を付加したバリエーションを作成する。
（３−２）モーションを実行する際に、情動に応じたモジュレーションをかける。
例えば「お辞儀をする」、「キックする」といったモーションを再生する際に、適当な身体リソースに適当な周波数を重ね合わせることで、情動を付加したモーションをリアルタイムに生成する。
【００１０】
【特許文献１】特開２００３−８９０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した（３−１）の方法は、情動表出専用の身体リソースが必要ないという利点がある反面、各モーションに対して情動を付加したモーションデータを情動の数だけ予め作成しておく負担があり、また、モーションデータを保持するために必要な記憶容量が大きくなるという欠点がある。
【００１２】
一方、上述した（３−２）の方法は、各モーションに対して情動を付加したモーションデータを予め作成しておく負担がなく、モーションデータを保持するための記憶容量も必要ないという利点がある反面、モーションのリアルタイム生成に伴い、計算量が増加するという欠点がある。
【００１３】
本発明は、このような従来の実情に鑑みて提案されたものであり、身体リソースを使ったモーションにより情動を表出する場合に、情動が付加されたモーションをリアルタイムに生成することなく、且つモーションデータを保持するために必要な記憶容量を削減することが可能なロボット装置及びその情動表出方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した目的を達成するために、本発明に係るロボット装置は、情動をモデル化した情動モデルを有し、自らの情動を表出することが可能な自律型のロボット装置において、上記ロボット装置の情動を検出して管理する情動管理手段と、それぞれ所定の行動が記述された複数の行動記述モジュールと、一又は複数の上記行動記述モジュールを選択し、選択した行動記述モジュールに記述された行動を発現させる行動選択手段とを備え、上記行動選択手段によって一の行動記述モジュールが選択された場合、該一の行動記述モジュールは、上記情動管理手段によって検出された現在の情動に応じて、自身に記述された行動を構成する一又は複数の動作の各開始時点における姿勢である基本姿勢を変化させるものである。
【００１５】
また、上述した目的を達成するために、本発明に係る情動表出方法は、情動をモデル化した情動モデルを有し、自らの情動を表出することが可能な自律型のロボット装置の情動表出方法において、上記ロボット装置の情動を検出して管理する情動管理工程と、それぞれ所定の行動が記述された複数の行動記述モジュールのうち一又は複数の行動記述モジュールを選択し、選択した行動記述モジュールに記述された行動を発現させる行動選択工程とを有し、上記行動選択工程にて一の行動記述モジュールが選択された場合、該一の行動記述モジュールは、上記情動管理工程にて検出された現在の情動に応じて、自身に記述された行動を構成する一又は複数の動作の各開始時点における姿勢である基本姿勢を変化させるものである。
【００１６】
このようなロボット装置及びその情動表出方法では、複数の行動記述モジュールのうち一又は複数の行動記述モジュールを選択されると、選択された行動記述モジュールは、現在の情動に応じて、自身に記述された行動を構成する一又は複数の動作の基本姿勢を変化させる。
【発明の効果】
【００１７】
本発明に係るロボット装置及びその情動表出方法によれば、行動により情動を表出するため、情動表出の表現力が豊かであり、且つ情動表出専用のアクチュエータ等が不要である。特に、本ロボット装置及びその情動表出方法では、各行動を構成する動作の基本姿勢により情動を表出するため、モーションデータを保持するために必要な記憶容量を削減することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ペット型エージェントや人間型エージェントなど、生物を模擬し、ユーザとのインタラクションを可能とするロボット装置に適用したものである。以下では先ず、このようなロボット装置の構成について説明し、次にロボット装置の制御システムのうち、行動選択を行う行動選択制御システムについて説明し、最後にそのような行動選択制御システムを含むロボット装置の制御システムについて説明する。
【００１９】
（Ａ）ロボット装置の構成
図１は、本実施の形態のロボット装置の外観を示す斜視図である。図１に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００２０】
図２は、本実施の形態におけるロボット装置１の機能構成を模式的に示すブロック図である。図２に示すように、ロボット装置１は、全体の動作の統括的制御及びその他のデータ処理を行う制御ユニット２０と、入出力部４０と、駆動部５０と、電源部６０とで構成される。以下、各部について説明する。
【００２１】
入出力部４０は、入力部として、人間の「目」に相当し外部の状況を撮影するＣＣＤ（Charge Coupled Device）カメラ１５、及び「耳」に相当するマイクロフォン１６や、頭部や背中等の部位に配設され、所定の押圧を受けるとこれを電気的に検出することでユーザの接触を感知するタッチセンサ１８、前方に位置する物体までの距離を測定するための距離センサ、五感に相当するその他ジャイロセンサ等、各種のセンサを装備している。また、入出力部４０は、出力部として、頭部ユニット３に備えられ、人間の「口」に相当するスピーカ１７、及び人間の目の位置に設けられ、視覚認識状態等を表現する例えばＬＥＤ（Light Emission Diode）１９等を装備している。これらの出力部は、音声やＬＥＤ１９の点滅など、腕部ユニット４Ｒ／Ｌや脚部ユニット５Ｒ／Ｌ等を用いたモーション以外の形式によっても、ロボット装置１からのユーザ・フィードバックを実現することができる。
【００２２】
例えば、頭部ユニット３の頭頂部の所定箇所に複数のタッチセンサ１８を設け、各タッチセンサ１８における接触検出を複合的に活用することで、例えばロボット装置１の頭部を「撫でる」、「叩く」、「軽く叩く」等のユーザからの働きかけを検出することができる。具体的には、例えばタッチセンサ１８のうちの幾つかが所定時間をおいて順次接触したことを検出した場合、これを「撫でられた」と判別し、短時間のうちに接触を検出した場合、これを「叩かれた」と判別するなど場合分けすることができる。ロボット装置１は、この検出結果に応じて内部状態を変化させ、この内部状態の変化を上述の出力部等により表現することができる。
【００２３】
駆動部５０は、制御ユニット２０が指令する所定の運動パターンに従ってロボット装置１の機体動作を実現する機能ブロックであり、行動制御による制御対象である。駆動部５０は、ロボット装置１の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール軸、ピッチ軸、ヨー軸等の各軸毎に設けられた複数の駆動ユニット５４１〜５４ｎで構成される。各駆動ユニット５４１〜５４ｎは、所定軸回りの回転動作を行うモータ５１１〜５１ｎと、モータ５１１〜５１ｎの回転位置を検出するエンコーダ５２１〜５２ｎと、エンコーダ５２１〜５２ｎの出力に基づいてモータ５１１〜５１ｎの回転位置や回転速度を適応的に制御するドライバ５３１〜５３ｎとの組み合わせで構成される。
【００２４】
なお、本実施の形態におけるロボット装置１は、２足歩行としたが、駆動ユニット５４１〜５４ｎの組み合わせ方によって、ロボット装置１を例えば４足歩行等の脚式移動ロボット装置として構成することも可能である。
【００２５】
電源部６０は、その字義通り、ロボット装置１内の各電気回路等に対して給電を行う機能モジュールである。本実施の形態におけるロボット装置１は、バッテリを用いた自律駆動式であり、電源部６０は、充電バッテリ６１と、充電バッテリ６１の充放電状態を管理する充放電制御部６２とで構成される。
【００２６】
充電バッテリ６１は、例えば、複数本のリチウムイオン２次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
【００２７】
また、充放電制御部６２は、充電バッテリ６１の端子電圧や充電／放電電流量、充電バッテリ６１の周囲温度等を測定することで充電バッテリ６１の残存容量を把握し、充電の開始時期や終了時期等を決定する。充放電制御部６２が決定する充電の開始及び終了時期は制御ユニット２０に通知され、ロボット装置１が充電オペレーションを開始及び終了するためのトリガとなる。
【００２８】
制御ユニット２０は、人間の「頭脳」に相当し、例えばロボット装置１の頭部ユニット３或いは体幹部ユニット２に搭載されている。
【００２９】
図３は、制御ユニット２０の構成をさらに詳細に示すブロック図である。図３に示すように、制御ユニット２０は、メイン・コントローラとしてのＣＰＵ（Central Processing Unit）２１が、メモリ及びその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス２８は、データ・バス、アドレス・バス、コントロール・バス等を含む共通信号伝送路である。バス２８上の各装置にはそれぞれに固有のアドレス（メモリ・アドレス又はＩ／Ｏアドレス）が割り当てられている。ＣＰＵ２１は、アドレスを指定することによってバス２８上の特定の装置と通信することができる。
【００３０】
ＲＡＭ（Random Access Memory）２２は、ＤＲＡＭ（Dynamic RAM）等の揮発性メモリで構成された書き込み可能なメモリであり、ＣＰＵ２１が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的に保存したりするために使用される。
【００３１】
ＲＯＭ（Read Only Memory）２３は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ＲＯＭ２３に格納されるプログラム・コードとしては、ロボット装置１の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置１の動作を規定する動作制御プログラム等が挙げられる。なお、ロボット装置１の制御プログラムには、ＣＣＤカメラ１５やマイクロフォン１６等のセンサ入力を処理してシンボルとして認識する「センサ入力・認識処理プログラム」、短期記憶や長期記憶等の記憶動作（後述）を司りながらセンサ入力と所定の行動制御モデルとに基づいてロボット装置１の行動を制御する「行動制御プログラム」、行動制御モデルに従って各関節モータの駆動やスピーカ１７の音声出力等を制御する「駆動制御プログラム」等が含まれる。
【００３２】
不揮発性メモリ２４は、例えばＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）のように電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータとしては、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラム等が挙げられる。
【００３３】
インターフェース２５は、制御ユニット２０外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース２５は、例えば、ＣＣＤカメラ１５、マイクロフォン１６、又はスピーカ１７等との間でデータ入出力を行う。また、インターフェース２５は、駆動部５０内の各ドライバ５３１〜５３ｎとの間でデータやコマンドの入出力を行う。
【００３４】
また、インターフェース２５は、ＲＳ（Recommended Standard）−２３２Ｃ等のシリアル・インターフェース、ＩＥＥＥ（Institute of Electrical and electronics Engineers）１２８４等のパラレル・インターフェース、ＵＳＢ（Universal Serial Bus）インターフェース、ｉ−Ｌｉｎｋ（ＩＥＥＥ１３９４）インターフェース、ＳＣＳＩ（Small Computer System Interface）インターフェース、ＰＣカードやメモリカードを受容するメモリカード・インターフェース（カード・スロット）等のような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行うようにしてもよい。
【００３５】
また、インターフェース２５の他の例として、赤外線通信（ＩｒＤＡ）インターフェースを備え、外部機器と無線通信を行うようにしてもよい。
【００３６】
さらに、制御ユニット２０は、無線通信インターフェース２６やネットワーク・インターフェース・カード（ＮＩＣ）２７等を含み、Ｂｌｕｅｔｏｏｔｈのような近接無線データ通信や、ＩＥＥＥ  ８０２．１１ｂのような無線ネットワーク、或いはインターネット等の広域ネットワークを経由して、外部の様々なホスト・コンピュータとデータ通信を行うことができる。
【００３７】
このようなロボット装置１とホスト・コンピュータ間におけるデータ通信により、遠隔のコンピュータ資源を用いて、ロボット装置１の複雑な動作制御を演算したり、リモート・コントロールしたりすることができる。
【００３８】
（Ｂ）ロボット装置の行動制御方法
次に、本実施の形態におけるロボット装置の行動制御方法について詳細に説明する。上述したロボット装置１は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。すなわち、ロボット装置１は、外部刺激及び内部状態に応じて自律的に行動を選択して発現することができる。詳細は後述するが、ロボット装置１は、各要素行動に対する行動価値ＡＬ（Activation Level）に基づいて一又は複数の要素行動を選択し、選択した要素行動を出力することにより、行動を発現する。以下では特に、ロボット装置１の行動制御のうち、内部状態及び外部刺激に基づいて発現する要素行動を選択して出力するまでの行動選択制御について説明するが、先ず、行動選択の基準となる行動価値ＡＬの算出方法について説明する。なお、ロボット装置１の制御システムの全体構成についての詳細は後述する。
【００３９】
（１）ロボット装置の行動選択制御
図４は、ロボット装置１の制御システムにおいて、各要素行動に対応する行動価値ＡＬに基づいて行動出力する処理を行う行動選択制御システム部分を示す模式図である。図４に示すように、行動選択制御システム１００は、外部環境におけるセンサ入力等の外部刺激を認識する外部刺激認識部８０と、ロボット装置１の本能や感情といった数種類の内部状態を数式モデル化して管理する内部状態管理部９１と、ロボット装置１の情動を管理する情動管理部９２と、内部状態及び外部刺激に基づき選択されるとそれぞれ所定の行動を出力するモジュールである複数の要素行動（要素行動Ａ乃至Ｄのみ図示）１３１と、内部状態及び外部刺激に関わらず選択されると情動に応じた所定の行動（後述）を出力するモジュールである要素行動（要素行動Ｅ）１３２と、各要素行動１３１の行動価値ＡＬを算出する行動価値算出部１２０と、行動価値ＡＬに基づき、発現する要素行動１３１，１３２を選択する行動選択部１３０とを有し、選択された要素行動１３１，１３２が行動を出力することでロボット装置１が行動を発現するようになされている。
【００４０】
外部刺激認識部８０は、ロボット装置１の知覚情報等を外部刺激として認識する。外部刺激としては、例えばＣＣＤカメラ１５から入力された画像に対して処理された色情報、形情報、顔情報等の対象物情報等が挙げられる。具体的には、例えば、色、形、顔、３Ｄ一般物体、及びハンドジェスチャー、その他、動き、音声、接触、距離、場所、時間、及びユーザとのインタラクション回数等が挙げられる。
【００４１】
内部状態管理部９１は、ロボット装置１の本能や感情といった内部の状態を管理する。内部状態としては、例えば疲れ（FATIGUE）、痛み（PAIN）、栄養状態（NOURISHMENT）、乾き（THURST）、愛情（AFFECTION）、好奇心（CURIOSITY）等が挙げられる。内部状態管理部９１は、外部刺激並びに例えば自身のバッテリ残量及びモータの回転角等の情報を入力とし、上述のような複数の内部状態に対応した内部状態の値（内部状態ベクトルIntV）を算出、管理する。具体的には、例えば、内部状態「栄養状態」は、充電バッテリ６１の残量に基づいて決定し、内部状態「疲れ」は、駆動部５０の消費電力に基づいて決定することができる。
【００４２】
情動管理部９２は、内部状態に基づいてロボット装置１の情動を管理し、現在の情動を行動選択部１３０に通知する。ここで、ロボット装置１の情動は、快度（PLEASANTNESS：Ｐ）、覚醒度（AROUSAL：Ａ）、確信度（CERTAINTY：Ｃ）を３軸とした情動空間上で表現され、その値によって情動の種類及び大きさが決定される。このうち、快度Ｐは内部状態の増減に伴って増減し、確信度Ｃは外部刺激認識部８０におけるロボット装置１の認識の確信度に伴って増減する。また、覚醒度Ａはロボット装置１のバイオリズムによって決定される。このバイオリズムは、例えば下記式（１）のように表現される。なお、下記式（１）におけるｔは時間であり、ａｉ，ｗｉ（ｉ＝１，２，３）は定数である。
【００４３】
【数１】
2005193331.tif 000003
【００４４】
ここで、情動の種類としては、例えば、喜び（JOY）、悲しみ（SADNESS）、怒り（ANGER）、驚き（SURPRISE）、嫌悪（DISGUST）、恐れ（FEAR）、中立（NEUTRAL）等が挙げられ、図５に示すように情動空間内の領域に対応している。但し、各軸の０付近は「中立（NEUTRAL）」の情動を表すものとする。例えば、−１００＜Ｐ＜０，−１００＜Ａ＜０の場合、情動は「悲しみ（SADNESS）」となる。また、情動の大きさは、情動空間を構成する各軸上の大きさに対応している。例えば、快度Ｐの値が大きいほど、「喜び（JOY）」の情動が大きくなり、快度Ｐの値が小さいほど、「悲しみ（SADNESS）」、「恐れ（FEAR）」の情動が大きくなる。その他の情動の大きさは、各軸上の大きさによらず一定である。
【００４５】
要素行動１３１（要素行動Ａ〜Ｄ）は、内部状態及び外部刺激から行動出力を決定するモジュールであり、各モジュール毎にステートマシンを用意しており、それ以前の行動（動作）や状況に依存して、センサ入力された外部情報の認識結果を分類し、動作を機体上で発現する。このモジュール（行動記述モジュール）は、外部刺激や内部状態に応じた状況判断を行い、行動価値ＡＬを算出するＭｏｎｉｔｏｒ機能と、行動実行に伴う状態遷移（ステートマシン）を実現するＡｃｔｉｏｎ機能とを備えたスキーマ（Schema）として記述されるが、スキーマの詳細については後述する。各要素行動１３１には、自身に記述された行動に応じて所定の内部状態及び外部刺激が定義されている。特に、各要素行動１３１には、数種類の内部状態のうち、自身に記述された行動を発現することによってある範囲に保つことができるような内部状態が対応付けられる。言い換えれば、各要素行動１３１に記述された行動は、自身に対応付けられた内部状態をある範囲内に保つための行動（「ホメオスタシス行動」とも呼ぶ）として捉えられる。
【００４６】
要素行動１３１の一例として、例えば行動出力が「食べる」である要素行動Ａは、外部刺激として対象物の種類（OBJECT_ID）、対象物の大きさ（OBJECT_SIZE）、対象物の距離（OBJECT_DISTANCE）等を扱い、内部状態として「栄養状態（NOURISHMENT）」、「疲れ（FATIGUE）」等を扱う。このように、各要素行動１３１毎に扱う外部刺激及び内部状態の種類が定義され、該当する外部刺激及び内部状態に対応する行動（要素行動）に対する行動価値ＡＬが算出される。このとき、内部状態としての「栄養状態」、「疲れ」が指定の範囲内を越えてしまう場合には、その内部状態を指定の範囲内に保つために、要素行動Ａが選択されやすくなるような行動価値ＡＬが算出される。これにより、ロボット装置１のホメオスタシスが実現される。なお、１つの内部状態又は外部刺激は、１つの要素行動１３１だけでなく、複数の要素行動１３１に対応付けられていてもよいことは勿論である。
【００４７】
一方、要素行動１３２（要素行動Ｅ）は、内部状態及び外部刺激に関わらず行動出力を決定するモジュールであり、このモジュール（行動記述モジュール）は、常に一定の行動価値ＡＬを算出するスキーマとして記述される。上述した要素行動１３１とは異なり、この要素行動１３２には、ロボット装置１の内部状態が対応付けられていないため、要素行動１３２に記述された行動は、ロボット装置１の内部状態をある範囲内に保つという目的のない行動（「ノンホメオスタシス行動」とも呼ぶ）として捉えられる。なお、この要素行動１３２は、情動管理部９２で管理されるロボット装置１の情動に応じた行動を出力するが、この点については後述する。
【００４８】
ここで、上述した要素行動１３１，１３２で算出される行動価値ＡＬとは、その要素行動をロボット装置１がどれくらい実行したいか（実行優先度）を示すものであり、行動選択部１３０がこの行動価値ＡＬに基づいて要素行動を選択すると、選択された要素行動は、自身に記述された行動を出力する。このとき、要素行動１３２は、常に一定の行動価値ＡＬを差出するが、要素行動１３１は、自身に対応付けられた内部状態及び外部刺激に基づいて、行動価値算出部１２０により行動価値ＡＬを算出する。
【００４９】
行動価値算出部１２０は、入力される外部刺激と、行動発現後に変化すると予想される予想内部状態変化とが対応付けられた後述する行動価値算出データベース１２１を参照し、ある時刻での外部刺激と内部状態とからその時刻での各要素行動Ａ〜Ｄにおける行動価値ＡＬを算出する。この行動価値算出部１２０は、本実施の形態においては各要素行動Ａ〜Ｄ毎に個別に設けられるものとするが、行動価値算出部１２０により要素行動Ａ〜Ｄ全てについての行動価値を算出するようにしてもよい。
【００５０】
各要素行動Ａ〜Ｄに対する行動価値ＡＬは、現在の各内部状態に対応する各行動に対する欲求値と、現在の各内部状態に基づく満足度と、外部刺激により変化すると予想される内部状態の変化量、すなわち外部刺激が入力され行動を発現した結果、変化すると予想される内部状態の変化量を示す予想内部状態変化に基づく予想満足度変化とに基づき、算出される。
【００５１】
以下では、ある「種類」、「大きさ」の対象物がある「距離」に存在するとき、行動出力が「食べる」である要素行動Ａの行動価値ＡＬを要素行動Ａに定義された内部状態「栄養状態」、「疲れ」とから算出する場合を例にとって、要素行動Ａにおける行動価値ＡＬの算出方法について具体的に説明する。
【００５２】
（２）行動価値算出部
図６は、行動価値算出部１２０が内部状態及び外部刺激から行動価値ＡＬを算出する処理の流れを示す模式図である。本実施の形態においては、各要素行動Ａ〜Ｄ毎に、１以上の内部状態の値を成分として有する内部状態ベクトルIntV（Internal Variable）が定義されており、内部状態管理部９１から各要素行動に応じた内部状態ベクトルIntVを得る。すなわち、内部状態ベクトルIntVの各成分は、例えば上述した本能や感情等を示す１つの内部状態の値（内部状態パラメータ）を示すもので、内部状態ベクトルIntVが有する各成分に応じた要素行動の行動価値ＡＬの算出に使用される。具体的には、上記行動出力「食べる」を有する要素行動Ａには、例えば内部状態ベクトルIntV｛IntV_NOURISHMENT「栄養状態」，IntV_FATIGUE「疲れ」｝が定義される。
【００５３】
また、各内部状態毎に、１以上の外部刺激の値を成分として有する外部刺激ベクトルExStml（External Stimulus）が定義されており、外部刺激認識部８０から各内部状態、すなわち各要素行動に応じた外部刺激ベクトルExStmlを得る。すなわち、外部刺激ベクトルExStmlの各成分は、例えば上述した対象物の大きさ、対象物の種類、対象物までの距離等の認識情報を示すもので、外部刺激ベクトルExStmlが有する各成分に応じた内部状態値の算出に使用される。具体的には、内部状態IntV_NOURISHMENT「栄養状態」には、例えば、外部刺激ベクトルExStml｛OBJECT_ID「対象物の種類」，OBJECT_SIZE「対象物の大きさ」｝が定義され、内部状態IntV_FATIGUE「疲れ」には、例えば外部刺激ベクトルExStml｛OBJECT_DISTANCE「対象物までの距離」｝が定義される。
【００５４】
行動価値算出部１２０は、この内部状態ベクトルIntV及び外部刺激ベクトルExStmlを入力とし、行動価値ＡＬを算出する。具体的には、行動価値算出部１２０は、内部状態ベクトルIntVから、該当する要素行動について、どれだけ実行したいかを示すモチベーションベクトル（MotivationVector）を求める第１の算出部ＭＶと、内部状態ベクトルIntV及び外部刺激ベクトルExStmlから、該当する要素行動を実行できるか否かを示すリリーシングベクトル（ReleasingVector）を求める第２の算出部ＲＶとを有し、これら２つのベクトルから行動価値ＡＬを算出する。
【００５５】
（２−１）モチベーションベクトルの算出
行動価値ＡＬを算出する一方の要素であるモチベーションベクトルは、要素行動に定義されている内部状態ベクトルIntVから、その要素行動に対する欲求を示す欲求値ベクトルInsV（Instinct Variable）として求められる。例えば、行動出力「食べる」を有する要素行動Ａは、内部状態ベクトルIntV{IntV_NOURISHMENT，IntV_FATIGUE}を有し、これより、欲求値ベクトルInsV{InsV_NOURISHMENT，InsV_FATIGUE}をモチベーションベクトルとして求める。すなわち、欲求値ベクトルInsVは、行動価値ＡＬを算出するためのモチベーションベクトルとなる。
【００５６】
欲求値ベクトルInsVの計算方法としては、例えば内部状態ベクトルIntVの値が大きいほど欲求が満たされているものと判断され欲求値は小さくなり、内部状態ベクトルIntVがある値より大きくなると欲求値は負になるような関数を用いることができる。
【００５７】
具体的には、下記式（２）及び図７に示すような関数が挙げられる。図７は、横軸に内部状態ベクトルIntVの各成分をとり、縦軸に欲求値ベクトルInsVの各成分をとって、下記式（２）で示される内部状態と欲求値との関係を示すグラフ図である。
【００５８】
【数２】
2005193331.tif 000004
【００５９】
欲求値ベクトルInsVは、上記式（２）及び図７に示すように、内部状態ベクトルIntVの値のみで決まる。ここでは、内部状態の大きさを０乃至１００とし、そのときの欲求値の大きさが−１乃至１となるような関数を示す。例えば内部状態が８割満たされているときに欲求値が０となるような内部状態−欲求値曲線Ｌ１を設定することで、ロボット装置は、常に内部状態が８割の状態を維持するように行動を選択するようになる。これにより、例えば、内部状態「栄養状態」（IntV_NORISHMENT）に対応する欲求が「食欲」（InsV_NORISFMENT）である場合、お腹が減っていれば食欲が大きくなり、腹八分目以上では食欲がなくなることを示し、これを利用すればそのような情動を表出するような行動を発現させるようにすることができる。
【００６０】
上記式（２）における定数Ａ乃至Ｆを種々変更することで、各内部状態毎に異なる欲求値が求まる。例えば、内部状態が０乃至１００の間において、欲求値が１乃至０に変化するようにしてもよいし、また、各内部状態毎に上記式（２）とは異なる内部状態−欲求値関数を用意してもよい。
【００６１】
（２−２）リリーシングベクトルの算出
一方、行動価値ＡＬを算出する他方の要素であるリリーシングベクトルは、内部状態ベクトルIntVから求められる満足度ベクトルＳ（Satisfaction）と、外部刺激ベクトルExStmlから求められる予想満足度変化ベクトルとから算出される。
【００６２】
先ず、各要素行動に定義されている内部状態と、この内部状態に定義されている外部刺激とから、行動発現後に得られるであろう内部状態と現在の内部状態との差を示す下記式（３）に示す予想内部状態変化ベクトルを求める。
【００６３】
【数３】
2005193331.tif 000005
【００６４】
予想内部状態変化ベクトルとは、現在の内部状態ベクトルからの、行動発現後に変化すると予想される変化量を示すもので、行動価値算出部１２０が参照可能な行動価値算出データベース１２１の行動価値算出データを参照して求めることができる。行動価値算出データは、外部刺激ベクトルと行動発現後に変化すると予想される予想内部状態変化ベクトルとの対応が記述されたものであり、この行動価値算出データベース１２１を参照することで、行動価値算出部１２０は、入力された外部刺激ベクトルに応じた予想内部状態変化ベクトルを取得することができる。
【００６５】
なお、行動価値算出データベース１２１の構成についての詳細は後述する。ここでは、先ず、行動価値算出データベースから予想内部状態変化、予想欲求値変化を求める方法について説明する。
【００６６】
行動価値算出データベース１２１に登録される行動価値算出データとしては、図８（ａ）及び図８（ｂ）に示すものが考えられる。すなわち、図８（ａ）に示すように、内部状態「栄養状態」（「NOURISHMENT」）に関しては、その要素行動の行動出力である「食べる」を発現した結果、対象物の大きさ（OBJECT_SIZE）が大きいほど、また対象物の種類（OBJECT_ID）がOBJECT_ID＝０に対応する対象物Ｍ１より、OBJECT_ID＝１に対応する対象物Ｍ２が、また、OBJECT_ID＝１に対応する対象物Ｍ２より、OBJECT_ID＝２に対応する対象物Ｍ３の方が内部状態「栄養状態」が満たされる量が大きく、栄養を満たすであろうと予想される場合を示している。
【００６７】
また、図８（ｂ）に示すように、内部状態「疲れ」（「FATIGUE」）に関しては、その要素行動の行動出力である「食べる」を発現した結果、対象物の距離「OBJECT_DISTANCE」が大きいほど、内部状態「FATIGUE」が満たされる量が大きく、疲れるであろうと予想される場合を示している。
【００６８】
すなわち、上述したように、各要素行動に対して内部状態ベクトルIntV及び外部刺激ベクトルExStmlが定義されているため、外部刺激ベクトルExStmlの各成分として対象物の大きさ及び対象物の種類を有するベクトルが供給された場合、この外部刺激ベクトルExStmlが定義されている内部状態IntV_NOURISHMENT（「栄養状態」）を有する内部状態ベクトルが定義されている要素行動Ａの行動結果に対する予想内部状態変化が求められ、対象物の距離を有するベクトルが供給された場合、この外部刺激ベクトルExStmlが定義されている内部状態IntV_FATIGUE（「疲れ」）を有する内部状態ベクトルが定義されている要素行動Ａの行動結果に対する予想内部状態変化が求められる。
【００６９】
次に、内部状態ベクトルIntVから下記式（４）に示す満足度ベクトルＳを算出し、上記式（３）に示す予想内部状態変化ベクトルから、下記式（５）に示す予想満足度変化ベクトルを求める。
【００７０】
【数４】
2005193331.tif 000006
【００７１】
【数５】
2005193331.tif 000007
【００７２】
内部状態ベクトルIntVに対する満足度ベクトルＳの計算法としては、要素行動Ａに定義されている内部状態ベクトル｛IntV_NOURISHMENT，IntV_FATIGUE｝の各成分IntV_NOURISHMENT「栄養状態」及びIntV_FATIGUE「疲れ」に対して、それぞれ下記式（６−１）及び式（６−２）に示すような関数が考えられる。
【００７３】
【数６】
2005193331.tif 000008
【００７４】
図９及び図１０は、それぞれ上記式（６−１）及び式（６−２）に示す関数の一例を示すグラフ図である。図９は、横軸にIntV_NOURISHMENT「栄養状態」、縦軸に内部状態「栄養状態」に対する満足度S_NOURISHMENTをとり、図１０は、横軸にIntV_FATIGUE「疲れ」、縦軸に内部状態「疲れ」に対する満足度S_FATIGUEをとって、内部状態と満足度との関係を示すグラフ図である。
【００７５】
図９に示す関数は、内部状態「栄養状態」の値IntV_NOURISHMENTが０乃至１００の値を有し、これに対応する満足度S_NOURISHMENTが０乃至１で全て正の値を有するものであって、内部状態の値が０から８０近傍までは満足度が０から増加し、それ以降は減少して内部状態の値が１００で再び満足度０になるような曲線Ｌ２を示す。すなわち、内部状態「栄養状態」に関しては、現在（ある時刻）の内部状態「栄養状態」の値（IntV_NOURISHMENT＝４０）から計算される満足度S_NOURISHMENT、図８（ａ）によって得られる内部状態「栄養状態」の予想内部状態変化（４０から６０までの２０）に対応する予想満足度変化は、共に正である。
【００７６】
また、上述の図６には関数Ｌ２のみを示しているが、図１０に示すような関数を用いることもできる。この図１０に示す関数は、内部状態「疲れ」の値IntV_FATIGUEが０乃至１００の値を有し、これに対応する満足度S_FATIGUEが０乃至−１で全て負の値をするものであって、内部状態が大きくなるほど満足度が小さくなるような曲線Ｌ３を示す。現在の内部状態「疲れ」の内部状態の値から計算される満足度S_FATIGUEは負であり、図８（ａ）によって得られる内部状態「疲れ」の予想内部状態変化が正であれば、予想満足度変化ベクトルは負になる。
【００７７】
上記式（６−１）、式（６−２）に示される関数において、各定数Ａ〜Ｆを可変に設定することで、種々の内部状態に対応して異なる満足度を得るための関数を設定することができる。
【００７８】
そして、下記式（７）によって、外部刺激により行動発現後にどのくらい内部状態を満足させるかの値を決定することで、行動価値ＡＬを算出するための他方の要素であるリリーシングベクトルを求めることができる。
【００７９】
【数７】
2005193331.tif 000009
【００８０】
ここで、上記式（７）におけるαが大きいと、リリーシングベクトルは行動を発現した結果、どれくらいの満足度が得られるかを示す予想満足度変化、すなわちどれくらい満足度が増えるかを示す値に強く依存し、αが小さいと、予想満足度、すなわち行動を発現した結果、満足度がどのくらいになるかを示す値に強く依存するという傾向を示すことになる。
【００８１】
（２−３）行動価値ＡＬの算出
以上のようにして求められたモチベーションベクトルとリリーシングベクトルとから、最終的に行動価値ＡＬが下記式（８）のように算出される。
【００８２】
【数８】
2005193331.tif 000010
【００８３】
ここで、βが大きいと、行動価値ＡＬは内部状態（欲求値）に強く依存し、βが小さいと外部刺激（予想満足度変化及び予想満足度）に強く依存する傾向を有する。このようにして、内部状態の値（内部状態ベクトルIntV）と外部刺激の値（外部刺激ベクトルExStml）とから欲求値、満足度、予想満足度を計算し、これら欲求値、満足度、予想満足度に基づいて行動価値ＡＬを算出することができる。
【００８４】
そして、この行動価値ＡＬに基づいて、行動選択部１３０が行動を選択することにより、例えば同じ外部刺激が入力された場合であっても、そのときの内部状態の値によって異なる行動が選択される。
【００８５】
（２−４）行動価値算出データベース
次に、行動価値算出データベース１２１の行動価値算出データの構造及び、データベースの参照方法（予想内部状態変化の求め方）について説明する。上述したように、行動価値算出データは、入力された外部刺激に対して予想内部状態変化ベクトルを求めるためのデータであり、各要素行動に定義された内部状態に対して、外部刺激ベクトル空間上に代表点（外部刺激の値）が定義されている。そして、その代表点上に予想される内部状態の変化量を示す予想内部状態変化が定義されている。そして、入力された外部刺激が、定義された外部刺激ベクトル空間の代表点上の値であった場合、予想内部状態変化はその代表点上に定義された値となる。
【００８６】
図１１（ａ）及び図１１（ｂ）は、行動価値算出データ構造の一例を示すグラフ図である。図１１（ａ）に示すように、内部状態「栄養状態」（「NOURISHMENT」）の予想内部状態変化を求める場合、外部刺激ベクトル空間上の代表点｛OBJECT_ID，OBJECT_SIZE｝及びこの代表点に対応する予想内部状態変化を例えば下記表１のように定義しておく。
【００８７】
【表１】
2005193331.tif 000011
【００８８】
また、図１１（ｂ）に示すように、内部状態「疲れ」（「FATIGUE」）の予想内部状態変化ベクトルを求める場合、外部刺激ベクトル空間上の代表点｛OBJECT_DISTANCE｝及びこの代表点に対応する予想内部状態変化を例えば下記表２のように定義しておく。
【００８９】
【表２】
2005193331.tif 000012
【００９０】
このように、予想内部状態変化は、外部刺激ベクトル空間上の代表点にのみ定義されているため、外部刺激の種類（例えば、OBJECT_DISTANCEやOBJECT_SIZE等）によっては、定義された外部刺激ベクトル空間の代表点以外の値が入力されることが考えられる。その場合、予想内部状態変化は、入力された外部刺激の近傍の代表点から線形補間により求めることができる。
【００９１】
図１２及び図１３は、それぞれ１次元及び２次元の外部刺激の線形補間方法を説明する図である。上述の図１１（ｂ）に示すように１つの外部刺激（OBJECT_DISTANCE）から予想内部状態変化を求める場合、すなわち、内部状態に対して１つの外部刺激が定義されている場合、図１２に示すように、横軸に外部刺激をとり、縦軸にこの外部刺激に対する予想内部状態変化をとって、外部刺激（OBJECT_DISTANCE）のパラメータである代表点Ｄ１及び代表点Ｄ２に定義された予想内部状態変化となるような直線Ｌ４により、入力される外部刺激Ｄｎによる予想内部状態変化量Ｉｎを求めることができる。
【００９２】
また、図１３に示すように、内部状態に対して２つの外部刺激が定義されている場合、例えば図１２に示すOBJECT_DISTANCEに加え、OBJECT_WEIGHTが定義されている場合、以下のようにして入力される外部刺激ベクトルＥｎｍによる内部状態変化量Ｉｎｍを求めることができる。ここで、各外部刺激の所定のパラメータである代表点（D１，W１），（D１，W２），（D２，W１），（D２，W２）が定義され、これに対応する予想内部状態変化を有しているものとする。上記の代表点とは異なる外部刺激Ｅｎｍ（Dn，Wn）が入力された場合、例えば先ず、OBJECT_DISTANCE＝Ｄ１において、OBJECT_WEIGHTの代表点Ｗ１，Ｗ２に定義された予想内部状態変化を通る直線Ｌ５を求め、同じく、OBJECT_DISTANCE＝Ｄ２において、OBJECT_WEIGHTの代表点Ｗ１，Ｗ２に定義された予想内部状態変化を通る直線Ｌ６を求める。そして、入力される外部刺激Ｅｎｍの２つの入力のうち、例えばＷｎに対応する２つの直線Ｌ５及びＬ６における予想内部状態変化を求め、さらにこの２つの予想内部状態変化を結んだ直線Ｌ７を求め、この直線Ｌ７において入力される外部刺激Ｅｎｍの他方の外部刺激Ｄｎに対応する予想内部状態変化量Ｉｎｍを求めることで、外部刺激Ｅｎｍに対応した予想内部状態変化を線形補間により求めることができる。
【００９３】
（３）ロボット装置の制御システム
次に、上述した行動価値ＡＬを算出して行動を出力する処理を行う行動選択制御システム１００をロボット装置１の制御システムに適用した具体例について詳細に説明する。図１４は、上述の行動選択制御システム１００を含む制御システム１０の機能構成を示す模式図である。本ロボット装置１は、上述したように、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うことができる。さらに、ロボット装置１は、長期記憶機能を備え、外部刺激から内部状態の変化を連想記憶することにより、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うことができる。
【００９４】
上述した行動選択制御システム１００は、オブジェクト指向プログラミングを採り入れて制御システム１０に実装することができる。この場合、各ソフトウェアは、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。また、各オブジェクトは、メッセージ通信と共有メモリを使ったオブジェクト間通信方法によりデータの受け渡しとＩｎｖｏｋｅとを行うことができる。
【００９５】
行動制御システム１０は、外部環境７０を認識するために、視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３等からなる機能モジュールである上述の図４に示す外部刺激認識部８０を備えている。
【００９６】
視覚認識機能部８１は、例えばＣＣＤカメラ１５のような画像入力装置を介して入力された撮影画像を基に、顔認識や色認識等の画像認識処理や特徴抽出を行う。
【００９７】
また、聴覚認識機能部８２は、マイクロフォン１６等の音声入力装置を介して入力される音声データを音声認識して、特徴抽出したり、単語セット（テキスト）認識を行ったりする。
【００９８】
さらに、接触認識機能部８３は、例えば機体の頭部ユニット３等に内蔵されたタッチセンサ１８によるセンサ信号を認識して、「撫でられた」とか「叩かれた」という外部刺激を認識する。
【００９９】
内部状態管理部９１は、本能や感情といった数種類の情動を数式モデル化して管理する感情・本能モデルを有しており、上述の視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３によって認識された外部刺激（ＥＳ：External Stimula）に応じてロボット装置１の本能や感情といった内部状態を管理する。この感情・本能モデルは、それぞれ認識結果と行動履歴とを入力に持ち、それぞれ感情値と本能値とを管理している。行動モデルは、これらの感情値や本能値を参照することができる。
【０１００】
情動管理部９２は、内部状態に基づいてロボット装置１の情動を例えば、喜び（JOY）、悲しみ（SADNESS）、怒り（ANGER）、驚き（SURPRISE）、嫌悪（DISGUST）、恐れ（FEAR）、中立（NEUTRAL）等に分類し、管理する。
【０１０１】
また、行動制御システム１０は、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うために、時間経過に従って失われる短期的な記憶を行う短期記憶部９３と、情報を比較的長期間保持するための長期記憶部９４とを備えている。短期記憶と長期記憶という記憶メカニズムの分類は神経心理学に依拠する。
【０１０２】
短期記憶部９３は、上述の視覚認識機能部８１、聴覚認識機能部８２及び接触認識機能部８３によって外部環境から認識されたターゲットやイベントを短期間保持する機能モジュールである。例えば、図２に示すＣＣＤカメラ１５からの入力画像を約１５秒程度の短い期間だけ記憶する。
【０１０３】
長期記憶部９４は、物の名前など学習により得られた情報を長期間保持するために使用される。長期記憶部９４は、例えばある行動記述モジュールにおいて外部刺激から内部状態の変化を連想記憶することができる。
【０１０４】
また、ロボット装置１の行動制御は、反射行動部１０３によって実現される「反射行動」と、状況依存行動階層１０２によって実現される「状況依存行動」と、熟考行動階層１０１によって実現される「熟考行動」とに大別される。
【０１０５】
反射行動部１０３は、上述の視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３によって認識された外部刺激に応じて反射的な機体動作を実現する機能モジュールである。反射行動とは、基本的に、センサ入力された外部情報の認識結果を直接受けて、これを分類して、出力行動を直接決定する行動のことである。例えば、人間の顔を追いかけたり、頷いたりといった振る舞いは反射行動として実装することが好ましい。
【０１０６】
状況依存行動階層１０２は、図４に示す行動選択制御システム１００における要素行動１３１，１３２、行動価値算出部１２０、及び行動選択部１３０に相当し、上述したように、内部状態と外部刺激とから行動価値ＡＬを算出し、これに基づき行動出力を行う。具体的に、状況依存行動階層１０２は、短期記憶部９３及び長期記憶部９４の記憶内容や、内部状態管理部９１によって管理されるロボット装置１の内部状態、或いは情動管理部９２によって管理されるロボット装置１の情動を基に、ロボット装置１が現在置かれている状況に即応した行動を制御する。
【０１０７】
この状況依存行動階層１０２は、上述した各要素行動１３１（要素行動Ａ〜Ｄ）毎にステートマシンを用意しており、それ以前の行動や状況に依存して、センサ入力された外部情報の認識結果を分類して、行動を機体上で発現する。また、状況依存行動階層１０２は、内部状態をある範囲に保つためのホメオスタシス行動も実現し、内部状態が指定した範囲内を越えた場合には、その内部状態を当該範囲内に戻すための行動が出現し易くなるようにその行動を活性化させる（実際には、内部状態と外部環境の両方を考慮した形で行動が選択される）。状況依存行動は、反射行動に比し、反応時間が遅い。
【０１０８】
熟考行動階層１０１は、短期記憶部９３及び長期記憶部９４の記憶内容に基づいて、ロボット装置１の比較的長期にわたる行動計画等を行う。熟考行動とは、与えられた状況或いは人間からの命令により、推論やそれを実現するための計画を立てて行われる行動のことである。例えば、ロボット装置１の位置と目標の位置から経路を探索することは熟考行動に相当する。このような推論や計画は、ロボット装置１がインタラクションを保つための反応時間よりも処理時間や計算負荷を要する（すなわち処理時間がかかる）可能性があるため、上記の反射行動や状況依存行動がリアルタイムで反応を返しながら、熟考行動は推論や計画を行う。
【０１０９】
熟考行動階層１０１、状況依存行動階層１０２、及び反射行動部１０３は、ロボット装置１のハードウェア構成に非依存の上位のアプリケーション・プログラムとして記述することができる。これに対し、ハードウェア依存行動制御部１０４は、これら上位アプリケーション、すなわち行動記述モジュール（スキーマ）からの命令に応じて、関節アクチュエータの駆動等の機体のハードウェア（外部環境）を直接操作する。このような構成により、ロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【０１１０】
次に、行動制御システム１０についてさらに詳細に説明する。図１５は、行動制御システム１０のオブジェクト構成を示す模式図である。
【０１１１】
図１５に示すように、視覚認識機能部８１は、Face Detector１１４、Multi Color Tracker１１３、Face Identify１１５という３つのオブジェクトで構成される。
【０１１２】
Face Detector１１４は、画像フレーム中から顔領域を検出するオブジェクトであり、検出結果をFace Identify１１５に出力する。Multi Color Tracker１１３は、色認識を行うオブジェクトであり、認識結果をFace Identify１１５及びShort Term Memory（ＳＴＭ）９３に出力する。また、Face Identify１１５は、検出された顔画像を手持ちの人物辞書で検索する等して人物の識別を行い、顔画像領域の位置、大きさ情報と共に人物のＩＤ情報をShort Term Memory９３に出力する。また、Face Identify１１５は、人物識別の確信度を情動を管理するEmotion Manager９２に出力する。
【０１１３】
聴覚認識機能部８２は、Audio Recog１１１とSpeech Recog１１２という２つのオブジェクトで構成される。Audio Recog１１１は、マイクロフォン１６等の音声入力装置からの音声データを受け取って、特徴抽出と音声区間検出を行うオブジェクトであり、音声区間の音声データの特徴量及び音源方向をSpeech Recog１１２やShort Term Memory９３に出力する。Speech Recog１１２は、Audio Recog１１１から受け取った音声特徴量と音声辞書及び構文辞書を使って音声認識を行うオブジェクトであり、認識された単語のセットをShort Term Memory９３に出力する。また、Speech Recog１１２は、音声認識の確信度をEmotion Manager９２に出力する。
【０１１４】
触覚認識記憶部８３は、タッチセンサ１８からのセンサ入力を認識するTactile Sensor１１９というオブジェクトで構成され、認識結果はShort Term Memory９３や内部状態を管理するオブジェクトであるInternal Status Manager（ＩＳＭ）９１に出力する。
【０１１５】
Short Term Memory９３は、短期記憶部を構成するオブジェクトであり、上述の認識系の各オブジェクトによって外部環境から認識されたターゲットやイベントを短期間保持（例えばＣＣＤカメラ１５からの入力画像を約１５秒程度の短い期間だけ記憶する）する機能モジュールであり、Short Term Memory９３のクライアント（ＳＴＭクライアント）であるSituated Behaviors Layer（ＳＢＬ）１０２に対して外部刺激の通知（Notify）を定期的に行う。
【０１１６】
Long Term Memory（ＬＴＭ）９４は、長期記憶部を構成するオブジェクトであり、物の名前など学習により得られた情報を長期間保持するために使用される。Long Term Memory９４は、例えばある行動記述モジュール（スキーマ）において外部刺激から内部状態の変化を連想記憶することができる。
【０１１７】
Internal Status Manager９１は、内部状態管理部を構成するオブジェクトであり、本能や感情といった数種類の情動を数式モデル化して管理しており、上述の認識系の各オブジェクトによって認識された外部刺激（ＥＳ：External Stimula）に応じてロボット装置１の本能や感情といった内部状態を管理する。
【０１１８】
Emotion Manager９２は、情動管理部を構成するオブジェクトであり、Internal Status Manager９１によって管理されている内部状態や上述の認識系の各オブジェクトによって認識された外部刺激等に基づいて、ロボット装置１の情動を管理する。
【０１１９】
Situated Behaviors Layer１０２は、状況依存行動階層を構成するオブジェクトである。Situated Behaviors Layer１０２は、ＳＴＭクライアントとなるオブジェクトであり、Short Term Memory９３からは定期的に外部刺激（ターゲットやイベント）に関する情報の通知を受け取ると、スキーマすなわち実行すべき行動記述モジュールを決定する（後述）。
【０１２０】
ReflexiveＳＢＬ１０３は、反射行動部を構成するオブジェクトであり、上述した認識系の各オブジェクトによって認識された外部刺激に応じて反射的・直接的な機体動作を実行する。例えば、人間の顔を追いかけたり、頷く、障害物の検出により咄嗟に避けるといった振る舞いを行う。
【０１２１】
Situated Behaviors Layer１０２は、外部刺激や内部状態の変化等の状況に応じた動作を選択する。これに対し、ReflexiveＳＢＬ１０３は、外部刺激に応じて反射的な動作を選択する。これら２つのオブジェクトによる行動選択は独立して行われるため、互いに選択された行動記述モジュール（スキーマ）を機体上で実行する場合に、ロボット装置１のハードウェア・リソースが競合して実現不可能なこともある。Resource Manager（ＲＭ）１１６というオブジェクトは、Situated Behaviors Layer１０２とReflexiveＳＢＬ１０３とによる行動選択時のハードウェアの競合を調停する。そして、調停結果に基づいて機体動作を実現する各オブジェクトに通知することにより機体が駆動する。
【０１２２】
Sound Performer１７２、Motion Controller１７３、ＬＥＤ Controller１７４は、機体動作を実現するオブジェクトである。Sound Performer１７２は、音声出力を行うためのオブジェクトであり、Resource Manager１１６経由でSituated Behaviors Layer１０２から与えられたテキスト・コマンドに応じて音声合成を行い、ロボット装置１の機体上のスピーカ１７から音声出力を行う。また、Motion Controller１７３は、機体上の各関節アクチュエータの動作を行うためのオブジェクトであり、Resource Manager１１６経由でSituated Behaviors Layer１０２から手や脚等を動かすコマンドを受けたことに応答して、該当する関節角を計算する。また、ＬＥＤ Controller１７４は、ＬＥＤ１９の点滅動作を行うためのオブジェクトであり、Resource Manager１１６経由でSituated Behaviors Layer１０２からコマンドを受けたことに応答してＬＥＤ１９の点滅駆動を行う。
【０１２３】
（３−１）状況依存行動制御
次に、上述の具体例において説明したように、行動価値ＡＬを算出し、発現する行動を選択する状況依存行動階層についてさらに詳細に説明する。図１６には、状況依存行動階層（ＳＢＬ）（但し、反射行動部を含む）による状況依存行動制御の形態を模式的に示している。視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３からなる外部刺激認識部８０における外部環境７０の認識結果（センサ情報）１８２は、外部刺激１８３として状況依存行動階層（反射行動部１０３を含む）１０２ａに与えられる。また、外部刺激認識部８０による外部環境７０の認識結果に応じた内部状態の変化１８４も状況依存行動階層１０２ａに与えられる。そして、状況依存行動階層１０２ａでは、外部刺激１８３や内部状態の変化１８４に応じて状況を判断して、行動選択を実現することができる。状況依存行動階層１０２ａでは、上述したように、外部刺激１８３や内部状態の変化１８４によって、要素行動１３１が記述された行動記述モジュール（スキーマ）の行動価値ＡＬを算出して、行動価値ＡＬの大きさに応じてスキーマを選択して行動（動作）を実行する。行動価値ＡＬの算出には、例えばライブラリを利用することにより、全てのスキーマについて統一的な計算処理を行うことができる。ライブラリには、例えば上述したように、内部状態ベクトルから欲求値ベクトルを算出する関数、内部状態ベクトルから満足度ベクトルを算出する関数、及び外部刺激から予想内部状態変化ベクトルを予想するための行動評価データベース等が保存されている。
【０１２４】
（３−２）スキーマ
図１７には、状況依存行動階層１０２が複数のスキーマ（要素行動）１３１，１３２によって構成されている様子を模式的に示している。状況依存行動階層１０２は、上述した要素行動１３１として、行動記述モジュールを有し、各行動記述モジュール毎にステートマシンを用意しており、それ以前の行動（動作）や状況に依存して、センサ入力された外部情報の認識結果を分類し、動作を機体上で発現する。要素行動１３１となる行動記述モジュールは、外部刺激や内部状態に応じた状況判断を行うＭｏｎｉｔｏｒ機能と、行動実行に伴う状態遷移（ステートマシン）を実現するＡｃｔｉｏｎ機能とを備えたスキーマとして記述される。一方、要素行動１３２となる行動記述モジュールは、内部状態及び外部刺激に関わらず行動出力を決定するスキーマとして記述される。
【０１２５】
状況依存行動階層１０２ｂ（より厳密には、状況依存行動階層１０２のうち、通常の状況依存行動を制御する階層）は、複数のスキーマ１３１，１３２が階層的に連結されたツリー構造として構成され、外部刺激や内部状態の変化に応じてより最適なスキーマ１３１，１３２を統合的に判断して行動制御を行うようになっている。このツリー１３３は、例えば動物行動学的（Ethological）な状況依存行動を数式化した行動モデルや、感情表現を実行するためのサブツリー等、複数のサブツリー（又は枝）を含んでいる。
【０１２６】
図１８には、状況依存行動階層１０２におけるスキーマのツリー構造を模式的に示している。同図に示すように、状況依存行動階層１０２は、短期記憶部９３からの外部刺激の通知を受けるルート・スキーマ２０１１を先頭に、抽象的な行動カテゴリから具体的な行動カテゴリに向かうように、各階層毎にスキーマが配設されている。例えば、ルート・スキーマ２０１１の直近下位の階層では、「サッカーをする（Soccer）」、「会話をする（Dialogue）」というスキーマ２０２２，２０３２が配設される。そして、スキーマ２０２２「サッカーをする（Soccer）」の下位には、「Soccer Search」、「Soccer Approach」、「Shot」という具体的なサッカーに関連する行動を記述した複数のスキーマ２０２３が配設されている。さらに、スキーマ２０２３「Shot」の下位には、「Left Kick」、「Right Kick」というより具体的なボールを蹴る行動に関連する行動を記述した複数のスキーマ２０２４が配設されている。同様に、スキーマ２０３２「会話をする（Dialogue）」の下位には、「Dialogue Search」、「Dialogue Approach」、「Chat」というより具体的な会話に関連する行動を記述した複数のスキーマ２０３３が配設されている。
【０１２７】
これらの各スキーマは、上述した要素行動１３１に対応するものであり、外部刺激や内部状態に応じた状況判断を行うＭｏｎｉｔｏｒ機能と、行動実行に伴う状態遷移（ステートマシン）を実現するＡｃｔｉｏｎ機能とを備えている。
【０１２８】
ここで、Ｍｏｎｉｔｏｒ関数とは、外部刺激と内部状態とに応じて当該スキーマの行動価値ＡＬを算出する関数であり、各スキーマは、このような行動価値算出手段としてのＭｏｎｉｔｏｒ機能を有する。図１８に示すようなツリー構造を構成する場合、上位（親）のスキーマは外部刺激及び内部状態を引数として下位（子供）のスキーマのＭｏｎｉｔｏｒ関数をコールすることができ、子供のスキーマは行動価値ＡＬを返り値とする。また、スキーマは自分の行動価値ＡＬを算出するために、さらに子供のスキーマのＭｏｎｉｔｏｒ関数をコールすることができる。そして、ルート・スキーマには各サブツリーからの行動価値ＡＬが返されるので、外部刺激及び内部状態の変化に応じた最適なスキーマ、すなわち行動を統合的に判断することができる。ここで、ルート・スキーマを上述の行動選択部１３０とし、これにより、スキーマを選択するようにしてもよい。なお、例えば後述するリソース・マネージャＲＭ１１６や、別に設けた行動選択部により、各スキーマの行動価値ＡＬを観察し、各行動価値ＡＬの値に基づき行動を選択してもよいことは勿論である。
【０１２９】
行動選択部１３０では、上述したように、例えば行動価値ＡＬが最も高いスキーマを選択したり、行動価値ＡＬが所定の閾値を越えた２以上のスキーマを選択して並列的に行動実行するようにしてもよい。但し、並列実行するときは各スキーマ同士でハードウェア・リソースの競合がないことを前提とする。
【０１３０】
また、Ａｃｔｉｏｎ関数は、スキーマ自身が持つ行動を記述したステートマシンを備えている。図１８に示すようなツリー構造を構成する場合、親スキーマは、Ａｃｔｉｏｎ関数をコールして、子供スキーマの実行を開始したり中断させたりすることができる。本具体例では、ＡｃｔｉｏｎのステートマシンはＲｅａｄｙにならないと初期化されない。言い換えれば、中断しても状態はリセットされず、スキーマが実行中の作業データを保存することから、中断再実行が可能である。
【０１３１】
ところで、このような要素行動１３１に対応するスキーマのみでツリー構造が構成される場合、これらのスキーマは、自身に対応付けられた内部状態を指定の範囲内に保つためのホメオスタシス行動を実現するためのものであるため、ロボット装置１の内部状態が十分に満たされていると、各スキーマで算出される行動価値ＡＬは、低いものになってしまう。
【０１３２】
しかしながら、行動選択部１３０では、行動価値ＡＬの大きさに応じてスキーマが選択されるため、絶対的な行動価値ＡＬが低くても、相対的に最も高い行動価値ＡＬを有するスキーマが選択され、そのスキーマに記述された行動が発現されることになる。
【０１３３】
そこで、本実施の形態では、図４に示したように、要素行動１３１とは別に、内部状態及び外部刺激に関わらず常に一定の行動価値ＡＬを算出する要素行動１３２を設けている。この要素行動１３２には、ロボット装置１の内部状態をある範囲に保つという目的のないノンホメオスタシス行動（音源方向に振り向く、腕をブラブラさせる等）が記述される。
【０１３４】
図１８に示すツリー構造におけるスキーマ２０４２「non-homeostasis」は、この要素行動１３２に対応するものであり、ルート・スキーマ２０１１の直近下位の階層に配設されている。
【０１３５】
行動選択部１３０は、上述したように、例えば行動価値ＡＬが最も高いスキーマを選択するため、要素行動１３１に対応するスキーマで算出された行動価値ＡＬが要素行動１３２に対応するスキーマ２０４２で算出された行動価値ＡＬよりも低い場合には、スキーマ２０４２に記述された行動が出力されることとなる。
【０１３６】
具体的に、ルート・スキーマ２０１１の直近下位の階層で選択された要素行動の推移例を図１９に示す。スキーマ「Soccer」、「Dialogue」、「non-homeostasis」の行動価値ＡＬが時間経過に従って図示のように推移したとする。図１９において、期間Ｔ１では、「Soccer」の行動価値ＡＬが最も高いため、行動選択部１３０によってこのスキーマ「Soccer」が選択され、ロボット装置１は、サッカーをする行動を出力する。同様にして、期間Ｔ２、Ｔ３では、それぞれスキーマ「Dialogue」、「Soccer」が選択され、そのスキーマに記述された行動が出力される。期間Ｔ４では、スキーマ「Dialogue」、「Soccer」の行動価値ＡＬが共にスキーマ「non-homeostasis」の行動価値ＡＬよりも低くなっている。したがって、この期間Ｔ４では、ロボット装置１の内部状態を指定の範囲内に保つといったような目的のない行動（ノンホメオスタシス行動）が出力されることになる。そして、期間Ｔ５では、再びスキーマ「Dialogue」の行動価値ＡＬが高くなり、当該スキーマが行動選択部１３０によって選択される。
【０１３７】
ロボット装置１は、例えば図１９に示したように、発現する行動を推移させて環境とのインタラクションを行うが、特にロボット装置１は、各要素行動を発現する際に、その要素行動を構成する一又は複数の動作（モーション）の開始時点の姿勢である基本姿勢により、情動を表現する。
【０１３８】
ここで、各動作は、動作開始時点での基本姿勢（立ち姿勢、座り姿勢、寝姿勢）からリソースをどのように動作させて動作終了時にどの基本姿勢に遷移するかという形で表現される。なお、動作終了時での基本姿勢は、一般的には動作開始時点での基本姿勢と同じである。
【０１３９】
ロボット装置１は、このような基本姿勢に情動を表現するバリエーション（情動基本姿勢）を用意しており、この情動基本姿勢から各リソースを動作させ、再び情動基本姿勢に戻ることにより情動を表出する。この際、ロボット装置１は、動作途中の関節角等のデータを相対角度として保持する。これにより、情動毎に情動基本姿勢を保持するのみで、情動を表出する動作を発現できるようになる。
【０１４０】
図２０に基本姿勢を立ち姿勢とした場合における情動基本姿勢の一例を示す。この図２０において、（ａ）〜（ｆ）は、それぞれ「喜び（JOY）」、「悲しみ（SADNESS）」、「怒り（ANGER）」、「驚き（SURPRISE）」、「嫌悪（DISGUST）」、「恐れ（FEAR）」の情動における情動基本姿勢を示したものである。
【０１４１】
例えば「中立（NEUTRAL）」の情動でお辞儀動作を行う場合、図２１に示すように、立ち姿勢の基本姿勢から開始し、腰を前に屈めて再び基本姿勢に戻る。一方、「悲しみ（SADNESS）」の情動でお辞儀動作を行う場合、図２２に示すように、「悲しみ（SADNESS）」の情動基本姿勢から開始し、腰を前に屈めて再び「悲しみ（SADNESS）」の情動基本姿勢に戻る。
【０１４２】
また、「喜び（JOY）」、「悲しみ（SADNESS）」、「恐れ（FEAR）」のように、情動が大きさを持つ場合には、その情動の大きさに依存した情動基本姿勢を出力させることができる。例えば「悲しみ（SADNESS）」の情動の場合には、図２３に示すように情動の大きさが反映された情動基本姿勢とすることができる。すなわち、「悲しみ（SADNESS）」の情動が大きくなるに従って、より肩を落とした姿勢を情動基本姿勢とする。この場合、情動の大きさをレベル分けし、それぞれに応じた情動基本姿勢を用意するようにしてもよく、最も情動が大きい場合と小さい場合とにおける情動基本姿勢での各関節角を線形補間し、情動の大きさから情動基本姿勢を生成するようにしても構わない。
【０１４３】
このように、本ロボット装置１は、自身の行動により情動を表出するため、情動表出の表現力が豊かであり、且つ情動表出専用のアクチュエータ等が不要である。また、ＬＥＤ１９等を用いた情動表出と併存させることも可能であり、この場合には、情動表出の表現力をさらに高めることができる。特に、本ロボット装置１は、動作開始時点の姿勢である基本姿勢により情動を表現するため、モーションデータを保持するために必要な記憶容量を削減することができる。
【図面の簡単な説明】
【０１４４】
【図１】本実施の形態におけるロボット装置の外観を示す斜視図である。
【図２】同ロボット装置の機能構成を模式的に示すブロック図である。
【図３】同ロボット装置の制御ユニットの構成を詳細に示すブロック図である。
【図４】同ロボット装置の制御システムにおいて、各行動に対応する行動価値を算出してこれに基づき行動出力する処理を行う行動選択制御システム部分を示す模式図である。
【図５】同ロボット装置の情動を表現するための情動空間を示す図である。
【図６】行動価値算出部が内部状態及び外部刺激から行動価値ＡＬを算出する処理の流れを示す模式図である。
【図７】内部状態と欲求値との関係の一例を示すグラフ図である。
【図８】行動価値算出データベースにおける行動価値算出データを示す図である。
【図９】内部状態と満足度との関係の一例を示すグラフ図である。
【図１０】内部状態と満足度との関係の他の例を示すグラフ図である。
【図１１】外部刺激から予想内部状態変化を求める行動価値算出データ構造の一例を示す図である。
【図１２】１次元の外部刺激の線形補間方法を説明する図である。
【図１３】２次元の外部刺激の線形補間方法を説明する図である。
【図１４】同ロボット装置の制御システムの機能構成を示す模式図である。
【図１５】同制御システムのオブジェクト構成を示す模式図である。
【図１６】同制御システムの状況依存行動階層における状況依存行動制御の形態を示す模式図である。
【図１７】同状況依存行動階層が複数のスキーマによって構成されている様子を示す模式図である。
【図１８】同状況依存行動階層におけるスキーマのツリー構造の具体例を示す模式図である。
【図１９】ルート・スキーマの直近下位の階層で選択された要素行動の推移例を示す図である。
【図２０】各情動における情動基本姿勢の一例を示す図である。
【図２１】「中立」の情動におけるお辞儀動作を示す図である。
【図２２】「悲しみ」の情動におけるお辞儀動作を示す図である。
【図２３】「悲しみ」の情動の大きさと基本姿勢との関係の一例を示す図である。
【符号の説明】
【０１４５】
１  ロボット装置、１０  制御システム、１５  ＣＣＤカメラ、１６  マイクロフォン、１７  スピーカ、１８  タッチセンサ、１９  ＬＥＤ、２０  制御部、４０  入出力部、５０  駆動部、８０  外部刺激認識部、９１  内部状態管理部、９２  情動管理部、１００  行動選択制御システム、１０２  状況依存行動階層、１２０  行動価値算出部、１３０  行動選択部、１３１，１３２  要素行動
【図１】
2005193331.tif 000013
【図２】
2005193331.tif 000014
【図３】
2005193331.tif 000015
【図４】
2005193331.tif 000016
【図５】
2005193331.tif 000017
【図６】
2005193331.tif 000018
【図７】
2005193331.tif 000019
【図８】
2005193331.tif 000020
【図９】
2005193331.tif 000021
【図１０】
2005193331.tif 000022
【図１１】
2005193331.tif 000023
【図１２】
2005193331.tif 000024
【図１３】
2005193331.tif 000025
【図１４】
2005193331.tif 000026
【図１５】
2005193331.tif 000027
【図１６】
2005193331.tif 000028
【図１７】
2005193331.tif 000029
【図１８】
2005193331.tif 000030
【図１９】
2005193331.tif 000031
【図２０】
2005193331.tif 000032
【図２１】
2005193331.tif 000033
【図２２】
2005193331.tif 000034
【図２３】
2005193331.tif 000035