(57)【要約】【課題】限られたリソースを高効率に使用することで、人間との円滑なコミュニケーションを実現する上で重要な情報である複雑多様な感情又は本能の状態や動作に応じた表現を行うことができるロボット装置及びロボット装置の表現方法。【解決手段】ロボット装置は、感情状態及び知覚認識処理状態等の複数の状態を、２足歩行の人間型ロボット装置の頭部の目に相当する位置に搭載した発光装置により表現する。発光装置は、相互に独立した直交表現を示す表現単位として色相、彩度、発光パターン等を有する。そして、自身の内部状態や外部刺激に基づく互いに直交する複数の各状態と、少なくとも１つの表現単位とを対応づける対応付け手段により対応付けられた発光装置の直交表現を複数使用して、複数の直交する状態、即ち例えば感情状態と視覚認識状態とを同時に表現する。【選択図】  図１９
2004237392.tif 000002
【特許請求の範囲】
【請求項１】
内部状態及び／又は外部刺激に基づき自律的な動作が可能なロボット装置において、
相互に独立して直交表現可能な複数の表現単位を有する表現手段と、
上記内部状態及び／又は外部刺激に基づく互いに直交する複数の各状態と少なくとも１つの表現単位とを対応づける対応付け手段と、
上記対応付けられた表現単位を使用して、互いに直交する複数の状態を並列的に表現するよう上記表現手段を制御する制御手段と
を有することを特徴とするロボット装置。
【請求項２】
上記制御手段は、上記状態の各表現要素に応じてパラメータが可変制御された表現単位により上記表現手段を制御する
ことを特徴とする請求項１記載のロボット装置。
【請求項３】
上記表現手段は、発光素子を有し、上記互に独立して直交表現可能な複数の表現単位は、色相、彩度、明度及び発光パターンのうち２以上を含むことを特徴とする請求項１記載のロボット装置。
【請求項４】
動物を模した外観形状とされ、
上記発光素子は、上記動物の眼に相当する位置に備えられることを特徴とする請求項３記載のロボット装置。
【請求項５】
上記表現手段は、発音手段であり、上記互に独立して直交表現可能な複数の表現単位は、音の高さ、音量及びリズムのうち２以上を含むことを特徴とする請求項１記載のロボット装置。
【請求項６】
上記対応付け手段は、上記対応づけを優先順位が異なる制御コマンドにより出力し、
上記制御手段は、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドを優先させる
ことを特徴とする請求項１記載のロボット装置。
【請求項７】
複数の動作から少なくとも１つの動作を選択して実行するロボット装置において、
パラメータにより可変制御される表現単位を有する表現手段と、
動作が選択されると、該動作に対してパラメータにより可変制御された上記表現単位が対応づけられた制御コマンドを発行するコマンド発行手段と、
上記制御コマンドにより上記表現手段を制御する制御手段とを有し、
上記制御コマンドは優先順位を有し、
上記制御手段は、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドに従って上記表現手段を制御する
ことを特徴とするロボット装置。
【請求項８】
上記制御手段は、表現中の上記表現手段を制御している制御コマンドより優先順位が高い制御コマンドが発行された場合は、表現を中断して該優先順位が高い制御コマンドに従って上記表現手段を制御することを特徴とする請求項７記載のロボット装置。
【請求項９】
上記制御手段は、上記優先順位が高い制御コマンドに従った表現が終了した時点で、上記中断した表現を再び開始することを特徴とする請求項８記載のロボット装置。
【請求項１０】
上記コマンド発行手段は、機体動作が記述された複数の行動記述モジュールであって、
上記行動記述モジュールは、選択されると自身の機体動作に応じた優先順位の制御コマンドを発行することを特徴とする請求項７記載のロボット装置。
【請求項１１】
内部状態又は認識状態に基づき選択される行動記述モジュールが発行する制御コマンドより、外部からの指令に基づき選択される行動記述モジュールが発行する制御コマンドの優先順位が高いことを特徴とする請求項１０記載のロボット装置。
【請求項１２】
上記表現手段は、互いに直交する複数の表現単位を有することを特徴とする請求項７記載のロボット装置。
【請求項１３】
内部状態及び／又は外部刺激に基づき自律的な動作が可能なロボット装置の表現方法において、
上記内部状態及び／又は外部刺激に基づく互いに直交する複数の各状態と、表現手段が有する相互に独立して直交表現可能な複数の表現単位の少なくとも１つとを対応付ける対応付け工程と、
上記対応付けられた表現単位を使用して、相互に直交する複数の状態を並列的に表現するよう上記表現手段を制御する制御工程と
を有することを特徴とするロボット装置の表現方法。
【請求項１４】
上記制御工程では、上記状態の各表現要素に応じてパラメータが可変制御された表現単位により上記表現手段が制御される
ことを特徴とする請求項１３記載のロボット装置の表現方法。
【請求項１５】
上記対応付け工程では、上記対応づけが優先順位が異なる制御コマンドにより出力され、
上記制御工程では、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドが優先される
ことを特徴とする請求項１３記載のロボット装置の表現方法。
【請求項１６】
複数の動作から少なくとも１つの動作を選択して実行するロボット装置の表現方法において、
動作が選択されると、該動作に対して、表現手段が有するパラメータにより可変制御された表現単位が対応づけられた制御コマンドを発行するコマンド発行工程と、
上記制御コマンドにより上記表現手段を制御する制御工程とを有し、
上記制御コマンドは優先順位を有し、
上記制御工程では、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドに従って上記表現手段が制御される
ことを特徴とするロボット装置の表現方法。
【請求項１７】
上記制御工程では、表現中の上記表現手段を制御している制御コマンドより優先順位が高い制御コマンドが発行された場合は、表現を中断して該優先順位が高い制御コマンドに従って上記表現手段が制御されることを特徴とする請求項１６記載のロボット装置の表現方法。
【請求項１８】
上記制御工程では、上記優先順位が高い制御コマンドに従った表現が終了した時点で、上記中断した表現が再び開始されることを特徴とする請求項１７記載のロボット装置の表現方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部刺激又は内部状態に応じて自律的に動作が可能な、例えば２足歩行型のロボット装置及びその状態表現方法に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット装置」という。我が国においてロボット装置が普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット装置等の産業用ロボット装置（Ｉｎｄｕｓｔｒｉａｌ  Ｒｏｂｏｔ）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、即ち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボット装置の開発が進められている。このような実用ロボット装置は、産業用ロボット装置とは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように４足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット装置、或いは、２足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット装置（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等のロボット装置は、既に実用化されつつある。
【０００４】
これらのロボット装置は、産業用ロボット装置と比較して、例えばエンターテインメント性を重視した様々な動作等を行うことができるため、エンターテインメントロボット装置と呼称される場合もある。また、そのようなロボット装置には、外部からの情報及び内部の状態に応じて自律的に動作するものがある。
【０００５】
自律型のロボット装置であって、例えば犬等の動物を模倣したようなペット型のロボット装置においては、感情状態等の内部状態を表現する内部状態表現手段を設けることで、ユーザとのコミュニケーションを円滑化することができる。
【０００６】
従来、この内部状態表現手段として、外見上の目として機能する発光装置を設けてこれを点滅させたり、又は頭部に角型の発光装置を搭載して色彩及び輝度を変化させたりする方法等が用いられている。
【０００７】
例えば、下記特許文献１に記載されているロボット装置は、例えばユーザからの「叩く」や「撫でる」といった働きかけに対して「怒り」や「喜び」などの感情を表現し得るようにするため、ロボット装置において、外見上の目として機能する所定形状の発光手段を設けるようにして、この発光手段の点滅によってユーザに当該ロボット装置の感情を伝達するものである。
【０００８】
このように、ロボット装置が感情状態を表現することができれば、ユーザがペット型ロボット装置とコミュニケーションを円滑に行うことができ、その分、ユーザのロボット装置に対するユーザの愛着心及び好奇心を向上させて、ロボット装置のエンターテインメント性をより一層向上させることができる。
【０００９】
【特許文献１】
特開２００１−３５３６７４号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、上記特許文献１に記載されている従来のロボット装置は、異なる感情状態及び知覚認識処理状態を表現するためには、それら複数の状態を表現する分だけ、異なる数の表現手段を準備しなければならない。この表現手段としては、上述の発光手段の他にも、例えば音、又はアクチュエータ等をはじめとするリソースが考えられるが、家庭内環境等で自律的に活動することが求められるロボット装置を実現するためには、安全性及び可搬性の観点から、物理的な重量及び大きさの制限があり、搭載できる表現手段には限界があるため、ロボット装置が有する状態の数だけの表現手段を準備することが困難であるという問題点がある。
【００１１】
また、表現内容より少ない表現手段しか利用できない場合には、例えば、声が聞こえたイベント（知覚認識処理状態）を表示するときには、感情状態の表現は中断するというように、いずれかの表現内容についての表現を中断しなければ、異なる表現を出力することができないという問題点がある。
【００１２】
また、感情表現方法に関しては、例えば、発光装置により表示する光の色が緑のときは「うれしい」、オレンジの時は「怒っている」等、感情状態が離散的な色彩表現でしか行われておらず、どの程度「うれしい」のか等、ユーザとの心理的な相互理解を深める上で欠かせない内部状態の連続的な表現を行うことができないという問題点もある。
【００１３】
一方、発光装置の制御方法としては、色彩と輝度変化（発光パターン）とを同時に指定して、パターンファイルを作成し、あらかじめ用意されたパターンを再生する方法で発光を制御することが一般的である。
【００１４】
しかしながら、色彩の変化と輝度の変化とを同時に指定して、パターンファイルを作成する場合、色彩変化と輝度変化とは必ず同時に指定する必要があるため、それぞれの表現手段に異なる意味を持たせて表現を行う際には、その組み合わせの分だけパターンファイルを用意する必要があり、組み合わせが多くなる場合にはコマンドの管理が煩雑になり、更に、このような複数のコマンドを管理することは、リソースの限られたロボット装置においては好ましくない。
【００１５】
また、発光装置の制御コマンドは出力状態に変化があったときのみに発行するのが一般的で、新たなコマンドが発行されない限り、最後にコマンドが発行された状態のまま保持するという方法が一般的である。
【００１６】
しかし、このように発光装置が色彩の変化及び輝度の変化と共に、コマンドを終了した時点での最後の状態がそのまま保持されるという仕様によって制御されている場合、定常的な状態表現を行っている際の割り込みイベント処理が困難である。即ち、感情状態の表現等のように定常的な状態表現を行っている状態でダンスパフォーマンスなど割り込みイベント処理が行われると、割り込みイベントが終了した時点で再度感情状態表現コマンドを発行しないと、ダンスパフォーマンスが終了した時点での点灯状態が残ってしまうという問題がある。
【００１７】
この問題に対処するためには、定常的な状態表現のためのコマンドを発行する側が、割り込みイベントが終了するタイミングを監視して、再度コマンドを発行しなければならない。また、割り込みイベント処理が定常的な状態表現に対して優先されるべきコマンドであった場合、定常的な状態表現コマンド出力は優先コマンドの状態を監視して自らのコマンド出力を抑制するという処理を行わなければならない。
【００１８】
行動を判断するオブジェクトは、それぞれ自律分散的に行動を記述した行動記述モジュールから構成され、任意のタイミングでコマンドを出力するため、上記のコマンド出力制御を行う場合などにおいては、行動記述モジュール内で他のモジュールの状態を監視する必要が生じるが、全てのモジュール内で割り込みイベントに対する処理を記述し、全てモジュール間の関係を監視することは極めて非効率的である。
【００１９】
本発明は、このような従来の実情に鑑みて提案されたものであり、限られたリソースを高効率に使用することで、人間との円滑なコミュニケーションを実現する上で重要な情報である複雑多様な感情又は本能の状態や動作に応じた表現を行うことができるロボット装置及びロボット装置の状態表現方法を提供することを目的とする。
【００２０】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、内部状態及び／又は外部刺激に基づき自律的な動作が可能なロボット装置において、相互に独立して直交表現可能な複数の表現単位を有する表現手段と、上記内部状態及び／又は外部刺激に基づく互いに直交する複数の各状態と少なくとも１つの表現単位とを対応づける対応付け手段と、上記対応付けられた表現単位を使用して、互いに直交する複数の状態を並列的に表現するよう上記表現手段を制御する制御手段とを有することを特徴とする。
【００２１】
本発明においては、表現手段は直交表現可能な複数の表現単位を有するため、複数の直交する状態を並列して表現することができると共に、これらの直交単位は、相互に独立して制御可能であるため、リソース競合することなく２以上の表現単位を組み合わせて同時に使用する等、表現手段を高効率に使用することで多くの状態を表現することができる。
【００２２】
また、上記制御手段は、上記状態の各表現要素に応じてパラメータが可変制御された表現単位により上記表現手段を制御することができ、例えば感情状態の表現要素を示す感情の種類や感情の強度、認識状態の表現要素を示す認識対象物の種類等に応じて、例えば発光装置であれば色相や彩度（表現単位）のパラメータを可変制御することで、１つの表現単位により複数の表現要素を表現することができる。
【００２３】
更に、上記表現手段は、発光ダイオード等の発光素子を有し、上記互に独立して直交表現可能な複数の表現単位は、色相、彩度、明度及び発光時間のうち２以上を含むものとすることができる。又は、表現手段を発音手段とし、上記互に独立して直交表現可能な複数の表現単位は、音の高さ、音量及びリズムのうち２以上を含むようにしてもよく、これらの表現単位を使用することで同時に異なる直交する表現を並列して行うことができる。
【００２４】
更にまた、動物を模した外観形状とされ、上記発光素子は、上記動物の眼に相当する位置に備えられることができ、ロボット装置と人間とが対峙して会話等をする際のコミュニケーションが更に円滑化する。
【００２５】
また、上記対応付け手段は、上記対応づけを優先順位が異なる制御コマンドにより出力し、上記制御手段は、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドを優先させることができ、これにより、制御コマンドを多重化して発行した際は、優先度が高い制御コマンドが優先され、表現手段が自動的に制御される。
【００２６】
本発明に係るロボット装置は、複数の動作から少なくとも１つの動作を選択して実行するロボット装置において、パラメータにより可変制御される表現単位を有する表現手段と、動作が選択されると、該動作に対してパラメータにより可変制御された上記表現単位が対応づけられた制御コマンドを発行するコマンド発行手段と、上記制御コマンドにより上記表現手段を制御する制御手段とを有し、上記制御コマンドは優先順位を有し、上記制御手段は、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドに従って上記表現手段を制御することを特徴とする。
【００２７】
本発明においては、選択された動作に応じた表現を行う表現手段を制御するコマンドに優先順位を有し、優先度が高い制御コマンドに従って表現手段が制御されるため、同時に複数の制御コマンドが発行されてもリソースの競合を防止することができる。
【００２８】
また、上記制御手段は、表現中の上記表現手段を制御している制御コマンドより優先順位が高い制御コマンドが発行された場合は、表現を中断して該優先順位が高い制御コマンドに従って上記表現手段を制御し、更に上記優先順位が高い制御コマンドに従った表現が終了した時点で、上記中断した表現を再び開始することができ、上記表現手段は、制御コマンドの優先度に従い自動的に制御されるため、優先順位が高い制御コマンドの開始及び終了のタイミングを監視する必要がない。
【００２９】
本発明に係るロボット装置の表現方法は、内部状態及び／又は外部刺激に基づき自律的な動作が可能なロボット装置の表現方法において、上記内部状態及び／又は外部刺激に基づく互いに直交する複数の各状態と、表現手段が有する相互に独立して直交表現可能な複数の表現単位の少なくとも１つとを対応付ける対応付け工程と、上記対応付けられた表現単位を使用して、相互に直交する複数の状態を並列的に表現するよう上記表現手段を制御する制御工程とを有することを特徴とする。
【００３０】
本発明に係るロボット装置の表現方法は、複数の動作から少なくとも１つの動作を選択して実行するロボット装置の表現方法において、動作が選択されると、該動作に対して、表現手段が有するパラメータにより可変制御された表現単位が対応づけられた制御コマンドを発行するコマンド発行工程と、上記制御コマンドにより上記表現手段を制御する制御工程とを有し、上記制御コマンドは優先順位を有し、上記制御工程では、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドに従って上記表現手段が制御されることを特徴とする。
【００３１】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施の形態は、本発明を、人間との円滑なコミュニケーションを実現する上で重要な情報である感情状態及び知覚認識状態等の複数の状態や発現する動作に応じた表現を、複数の表現単位を有する表示手段を使用して表出するロボット装置に適用したものである。具体的には、ロボット装置は、２足歩行の人間型とし、表現手段としては、例えばその頭部の目及び耳に相当する位置に、表現単位として、色相、明度、彩度及び発光パターン等を時間的に独立に連続値で調節可能（直交表現可能）な発光装置を搭載し、これらの表現単位を組み合わせて動作に応じた表現を行うものである。ここでは、先ず、本実施の形態におけるロボット装置の構成について説明する。
【００３２】
（１）ロボット装置の構成
図１は、本実施の形態のロボット装置の外観を示す斜視図である。図１に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。）。
【００３３】
図２は、本実施の形態におけるロボット装置の機能構成を模式的に示すブロック図である。図２に示すように、ロボット装置１は、全体の動作の統括的制御及びその他のデータ処理を行う制御ユニット２０と、入出力部４０と、駆動部５０と、電源部６０とで構成される。以下、各部について説明する。
【００３４】
入出力部４０は、入力部として人間の目に相当し、外部の状況を撮影するＣＣＤカメラ１５、及び耳に相当するマイクロフォン１６や頭部や背中等の部位に配設され、所定の押圧を受けるとこれを電気的に検出することで、ユーザの接触を感知するタッチ・センサ１８、前方に位置する物体までの距離を測定するための距離センサ、五感に相当するその他の各種のセンサ等を含む。また、出力部として、頭部ユニット３に備えられ、人間の口に相当するスピーカ１７、及び人間の目の位置に設けられ、点滅の組み合わせ、点灯のタイミング及び発色等により、内部状態の変化及び／又は外部刺激に基づく複数の状態、即ち感情状態や視覚認識状態等を表現する表現手段として、本実施の形態においては、後述するＬＥＤ発光装置１９等を装備している。これら出力部は、音声やＬＥＤ発光装置１９の点滅等、脚等による機械運動パターン以外の形式でもロボット装置１からのユーザ・フィードバックを表現することができる。
【００３５】
例えば頭部ユニットの頭頂部の所定箇所に複数のタッチ・センサ１８を設け、各タッチ・センサ１８における接触検出を複合的に活用して、ユーザからの働きかけ、例えばロボット装置１の頭部を「撫でる」「叩く」「軽く叩く」等を検出することができ、これに応じた内部状態の変化をＬＥＤ発光装置１９によって表現する。ここで、例えば、押圧センサのうちの幾つかが所定時間をおいて順次接触したことを検出した場合、これを「撫でられた」と判別し、短時間のうちに接触を検出した場合、「叩かれた」と判別する等、場合分けして、これに応じた内部状態の変化をＬＥＤ発光装置の動作に反映することにより表現する。
【００３６】
駆動部５０は、制御ユニット２０が指令する所定の運動パターンに従ってロボット装置１の機体動作を実現する機能ブロックであり、行動制御による制御対象である。駆動部５０は、ロボット装置１の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨー等各軸毎に設けられた複数の駆動ユニット５４１〜５４ｎで構成される。各駆動ユニット５４１〜５４ｎは、所定軸回りの回転動作を行うモータ５１１〜５１ｎと、モータ５１１〜５１ｎの回転位置を検出するエンコーダ５２１〜５２ｎと、エンコーダ５２１〜５２ｎの出力に基づいてモータ５１１〜５１ｎの回転位置や回転速度を適応的に制御するドライバ５３１〜５３ｎとの組み合わせで構成される。
【００３７】
本ロボット装置１は、２足歩行としたが、駆動ユニットの組み合わせ方によって、ロボット装置１を例えば４足歩行等の脚式移動ロボット装置として構成することもできる。
【００３８】
電源部６０は、その字義通り、ロボット装置１内の各電気回路等に対して給電を行う機能モジュールである。本実施の形態に係るロボット装置１は、バッテリを用いた自律駆動式であり、電源部６０は、充電バッテリ６１と、充電バッテリ６１の充放電状態を管理する充放電制御部６２とで構成される。
【００３９】
充電バッテリ６１は、例えば、複数本のリチウムイオン２次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
【００４０】
また、充放電制御部６２は、バッテリ６１の端子電圧や充電／放電電流量、バッテリ６１の周囲温度等を測定することでバッテリ６１の残存容量を把握し、充電の開始時期や終了時期等を決定する。充放電制御部６２が決定する充電の開始及び終了時期は制御ユニット２０に通知され、ロボット装置１が充電オペレーションを開始及び終了するためのトリガとなる。
【００４１】
制御ユニット２０は、人間の「頭脳」に相当し、例えばロボット装置１の機体頭部あるいは胴体部等に搭載することができる。
【００４２】
図３は、制御ユニット２０の構成を更に詳細に示すブロック図である。図３に示すように、制御ユニット２０は、メイン・コントローラとしてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１が、メモリ及びその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス２８は、データ・バス、アドレス・バス、コントロール・バス等を含む共通信号伝送路である。バス２８上の各装置にはそれぞれに固有のアドレス（メモリ・アドレス又はＩ／Ｏアドレス）が割り当てられている。ＣＰＵ２１は、アドレスを指定することによってバス２８上の特定の装置と通信することができる。
【００４３】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）等の揮発性メモリで構成された書き込み可能メモリであり、ＣＰＵ２１が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的に保存したりするために使用される。
【００４４】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２３は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ＲＯＭ２３に格納されるプログラム・コードには、ロボット装置１の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置１の動作を規定する動作制御プログラム等が挙げられる。
【００４５】
ロボット装置１の制御プログラムには、カメラ１５やマイクロフォン１６等のセンサ入力を処理してシンボルとして認識する「センサ入力・認識処理プログラム」、短期記憶や長期記憶等の後述する記憶動作を司りながらセンサ入力と所定の行動制御モデルとに基づいてロボット装置１の行動を制御する「行動制御プログラム」、行動制御モデルに従って各関節モータの駆動やスピーカ１７の音声出力等を制御する「駆動制御プログラム」等が含まれる。
【００４６】
不揮発性メモリ２４は、例えばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）のように電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータには、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラム等が挙げられる。
【００４７】
インターフェース２５は、制御ユニット２０外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース２５は、例えば、カメラ１５、マイクロフォン１６、又はスピーカ１７等との間でデータ入出力を行う。また、インターフェース２５は、駆動部５０内の各ドライバ５３１〜５３ｎとの間でデータやコマンドの入出力を行う。
【００４８】
また、インターフェース２５は、ＲＳ（Ｒｅｃｏｍｍｅｎｄｅｄ  Ｓｔａｎｄａｒｄ）−２３２Ｃ等のシリアル・インターフェース、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１２８４等のパラレル・インターフェース、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェース、ｉ−Ｌｉｎｋ（ＩＥＥＥ１３９４）インターフェース、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）インターフェース、ＰＣカードやメモリ・スティックを受容するメモリ・カード・インターフェース（カード・スロット）等のような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行うようにしてもよい。
【００４９】
また、インターフェース２５の他の例として、赤外線通信（ＩｒＤＡ）インターフェースを備え、外部機器と無線通信を行うようにしてもよい。
【００５０】
更に、制御ユニット２０は、無線通信インターフェース２６やネットワーク・インターフェース・カード（ＮＩＣ）２７等を含み、Ｂｌｕｅｔｏｏｔｈのような近接無線データ通信や、ＩＥＥＥ  ８０２．１１ｂのような無線ネットワーク、あるいはインターネット等の広域ネットワークを経由して、外部のさまざまなホスト・コンピュータとデータ通信を行うことができる。
【００５１】
このようなロボット装置１とホスト・コンピュータ間におけるデータ通信により、遠隔のコンピュータ資源を用いて、ロボット装置１の複雑な動作制御を演算したり、リモート・コントロールしたりすることができる。
【００５２】
（２）ロボット装置の制御システム
次に、ロボット装置の行動（動作）制御システムについて説明する。図４は、本実施の形態におけるロボット装置１の行動制御システム１０の機能構成を示す模式図である。本実施の形態におけるロボット装置１は、外部刺激の認識結果や内部状態の変化に応じて、自身の状態を表現すると共に、行動制御を行なうことができるものである。また、長期記憶機能を備え、外部刺激から内部状態の変化を連想記憶することにより、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うことができ、外部刺激の認識結果や内部状態の変化を後述する表現手段にて表現することができるものである。
【００５３】
ここで、外的刺激とは、ロボット装置１がセンサ入力を認識して得られた知覚情報であり、例えば、カメラ１５から入力された画像に対して処理された色情報、形情報、顔情報等であり、より具体的には、色、形、顔、３Ｄ一般物体、ハンドジェスチャー、動き、音声、接触、匂い、味等の構成要素からなる。
【００５４】
また、内部状態とは、例えば、人間の本能や感情等の情動をモデル化したもので、ロボット装置の身体に基づいた情動を指す。本能的要素は、例えば、疲れ（ｆａｔｉｇｕｅ）、熱あるいは体内温度（ｔｅｍｐｅｒａｔｕｒｅ）、痛み（ｐａｉｎ）、食欲あるいは飢え（ｈｕｎｇｅｒ）、乾き（ｔｈｉｒｓｔ）、愛情（ａｆｆｅｃｔｉｏｎ）、好奇心（ｃｕｒｉｏｓｉｔｙ）、排泄（ｅｌｉｍｉｎａｔｉｏｎ）又は性欲（ｓｅｘｕａｌ）のうちの少なくとも１つである。また、情動的要素は、幸せ（ｈａｐｐｉｎｅｓｓ）、悲しみ（ｓａｄｎｅｓｓ）、怒り（ａｎｇｅｒ）、驚き（ｓｕｒｐｒｉｓｅ）、嫌悪（ｄｉｓｇｕｓｔ）、恐れ（ｆｅａｒ）、苛立ち（ｆｒｕｓｔｒａｔｉｏｎ）、退屈（ｂｏｒｅｄｏｍ）、睡眠（ｓｏｍｎｏｌｅｎｃｅ）、社交性（ｇｒｅｇａｒｉｏｕｓｎｅｓｓ）、根気（ｐａｔｉｅｎｃｅ）、緊張（ｔｅｎｓｅ）、リラックス（ｒｅｌａｘｅｄ）、警戒（ａｌｅｒｔｎｅｓｓ）、罪（ｇｕｉｌｔ）、悪意（ｓｐｉｔｅ）、誠実さ（ｌｏｙａｌｔｙ）、服従性（ｓｕｂｍｉｓｓｉｏｎ）又は嫉妬（ｊｅａｌｏｕｓｙ）のうちの少なくとも１つである。
【００５５】
図示の動作制御システム１０には、オブジェクト指向プログラミングを採り入れて実装することができる。この場合、各ソフトウェアは、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。また、各オブジェクトは、メッセージ通信と共有メモリを使ったオブジェクト間通信方法によりデータの受け渡しとＩｎｖｏｋｅを行なうことができる。
【００５６】
行動制御システム１０は、外部状況を含む外部環境（Ｅｎｖｉｒｏｎｍｅｎｔｓ）７０を認識するために、視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３等の機能モジュールからなる状態認識部８０を備えている。
【００５７】
視覚認識機能部（Ｖｉｄｅｏ）８１は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）カメラのような画像入力装置を介して入力された撮影画像を基に、顔認識や色認識等の画像認識処理や特徴抽出を行う。
【００５８】
また、聴覚認識機能部（Ａｕｄｉｏ）８２は、マイク等の音声入力装置を介して入力される音声データを音声認識して、特徴抽出したり、単語セット（テキスト）認識を行ったりする。
【００５９】
更に、接触認識機能部（Ｔａｃｔｉｌｅ）８３は、例えば機体の頭部等に内蔵された接触センサによるセンサ信号を認識して、「なでられた」とか「叩かれた」という外部刺激を認識する。
【００６０】
内部状態管理部（ＩＳＭ：Ｉｎｔｅｒｎａｌ  Ｓｔａｔｅ  Ｍｏｄｅｌ）９１は、本能や感情といった数種類の情動を数式モデル化して管理しており、上述の視覚認識機能部８１と、聴覚認識機能部８２と、接触認識機能部８３によって認識された外部刺激（ＥＳ：Ｅｘｔｅｒｎａｌ  Ｓｔｉｍｕｌｕｓ）に応じてロボット装置１の本能や情動といった内部状態を管理する。
【００６１】
感情モデル及び本能モデル（感情・本能モデル）は、それぞれ認識結果と行動履歴を入力に持ち、夫々感情値と本能値を管理している。行動モデルは、これら感情値や本能値を参照することができる。
【００６２】
また、外部刺激の認識結果や内部状態の変化に応じて行動制御を行なうために、時間の経過とともに失われる短期的な記憶を行なう短期記憶部（ＳＴＭ：Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）９２と、情報を比較的長期間保持するための長期記憶部（ＬＴＭ：Ｌｏｎｇ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）９３を備えている。短期記憶と長期記憶という記憶メカニズムの分類は神経心理学に依拠する。
【００６３】
短期記憶部９２は、上述の視覚認識機能部８１、聴覚認識機能部８２及び接触認識機能部８３によって外部環境から認識されたターゲットやイベントを短期間保持する機能モジュールである。例えば、図２に示すカメラ１５からの入力画像を約１５秒程度の短い期間だけ記憶する。
【００６４】
長期記憶部９３は、物の名前等学習により得られた情報を長期間保持するために使用される。長期記憶部９３は、例えば、ある行動記述モジュールにおいて外部刺激から内部状態の変化を連想記憶することができる。
【００６５】
また、本ロボット装置１の行動制御は、反射行動部（Ｒｅｆｌｅｘｉｖｅ  Ｓｉｔｕａｔｅｄ  Ｂｅｈａｖｉｏｒ  Ｌａｙｅｒ）１０３によって実現される「反射行動」と、状況依存行動階層（ＳＢＬ：Ｓｉｔｕａｔｅｄ  Ｂｅｈａｖｉｏｒ  Ｌａｙｅｒ）１０２によって実現される「状況依存行動」と、熟考行動階層（Ｄｅｌｉｂｅｒａｔｉｖｅ  Ｌａｙｅｒ）１０１によって実現される「熟考行動」に大別される。
【００６６】
反射行動部１０３は、上述の視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３によって認識された外部刺激に応じて反射的な機体動作を実現する機能モジュールである。
【００６７】
反射行動とは、基本的に、センサ入力された外部情報の認識結果を直接受けて、これを分類して、出力行動を直接決定する行動のことである。例えば、人間の顔を追いかけたり、うなずいたりといった振る舞いは反射行動として実装することが好ましい。
【００６８】
状況依存行動階層１０２は、短期記憶部９２及び長期記憶部９３の記憶内容や、内部状態管理部９１によって管理される内部状態を基に、ロボット装置１が現在置かれている状況に即応した行動を制御する。
【００６９】
状況依存行動階層１０２は、各行動毎にステートマシンを用意しており、それ以前の行動や状況に依存して、センサ入力された外部情報の認識結果を分類して、行動を機体上で発現する。また、状況依存行動階層１０２は、内部状態をある範囲に保つための行動（「ホメオスタシス行動」とも呼ぶ）も実現し、内部状態が指定した範囲内を超えた場合には、その内部状態を当該範囲内に戻すための行動が出現し易くなるようにその行動を活性化させる（実際には、内部状態と外部環境の両方を考慮した形で行動が選択される）。状況依存行動は、反射行動に比し、反応時間が遅い。
【００７０】
熟考行動階層１０１は、短期記憶部９２及び長期記憶部９３の記憶内容に基づいて、ロボット装置１の比較的長期にわたる行動計画等を行う。
【００７１】
熟考行動とは、与えられた状況あるいは人間からの命令により、推論やそれを実現するための計画を立てて行われる行動のことである。例えば、ロボット装置の位置と目標の位置から経路を探索することは熟考行動に相当する。このような推論や計画は、ロボット装置１がインタラクションを保つための反応時間よりも処理時間や計算負荷を要する（すなわち処理時間がかかる）可能性があるので、上記の反射行動や状況依存行動がリアルタイムで反応を返しながら、熟考行動は推論や計画を行う。
【００７２】
熟考行動階層１０１、状況依存行動階層１０２、及び反射行動部１０３は、ロボット装置１のハードウェア構成に非依存の上位のアプリケーション・プログラムとして記述することができる。これに対し、ハードウェア依存層制御部（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｄｅｐｅｎｄｅｎｔ  Ａｃｔｉｏｎｓ  Ａｎｄ  Ｒｅａｃｔｉｏｎｓ）１０４は、これら上位アプリケーション、即ち、行動記述モジュール（スキーマ）からの命令に応じて、関節アクチュエータの駆動等の機体のハードウェア（外部環境）を直接操作する。このような構成により、ロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【００７３】
次に、行動制御システム１０について更に詳細に説明する。図５は、本実施の形態における行動制御システム１０のオブジェクト構成を示す模式図である。
【００７４】
図５に示すように、視覚認識機能部８１は、Ｆａｃｅ  Ｄｅｔｅｃｔｏｒ１１４、Ｍｕｌｉｔ  Ｃｏｌｏｒ  Ｔｒａｃｋｅｒ１１３、Ｆａｃｅ  Ｉｄｅｎｔｉｆｙ１１５という３つのオブジェクトで構成される。
【００７５】
Ｆａｃｅ  Ｄｅｔｅｃｔｏｒ１１４は、画像フレーム中から顔領域を検出するオブジェクトであり、検出結果をＦａｃｅ  Ｉｄｅｎｔｉｆｙ１１５に出力する。Ｍｕｌｉｔ  Ｃｏｌｏｒ  Ｔｒａｃｋｅｒ１１３は、色認識を行うオブジェクトであり、認識結果をＦａｃｅ  Ｉｄｅｎｔｉｆｙ１１５及びＳｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ（ＳＴＭ）９２に出力する。また、Ｆａｃｅ  Ｉｄｅｎｔｉｆｙ１１５は、検出された顔画像を手持ちの人物辞書で検索する等して人物の識別を行ない、顔画像領域の位置、大きさ情報とともに人物のＩＤ情報をＳＴＭ９２に出力する。
【００７６】
聴覚認識機能部８２は、Ａｕｄｉｏ  Ｒｅｃｏｇ１１１とＳｐｅｅｃｈ  Ｒｅｃｏｇ１１２という２つのオブジェクトで構成される。Ａｕｄｉｏ  Ｒｅｃｏｇ１１１は、マイク等の音声入力装置からの音声データを受け取って、特徴抽出と音声区間検出を行うオブジェクトであり、音声区間の音声データの特徴量及び音源方向をＳｐｅｅｃｈ  Ｒｅｃｏｇ１１２やＳＴＭ９２に出力する。Ｓｐｅｅｃｈ  Ｒｅｃｏｇ１１２は、Ａｕｄｉｏ  Ｒｅｃｏｇ１１１から受け取った音声特徴量と音声辞書及び構文辞書を使って音声認識を行うオブジェクトであり、認識された単語のセットをＳＴＭ９２に出力する。
【００７７】
触覚認識記憶部８３は、接触センサからのセンサ入力を認識するＴａｃｔｉｌｅ  Ｓｅｎｓｏｒ１１９というオブジェクトで構成され、認識結果はＳＴＭ９２や内部状態を管理するオブジェクトであるＩｎｔｅｒｎａｌ  Ｓｔａｔｅ  Ｍｏｄｅｌ（ＩＳＭ）９１に出力する。
【００７８】
ＳＴＭ９２は、短期記憶部を構成するオブジェクトであり、上述の認識系の各オブジェクトによって外部環境から認識されたターゲットやイベントを短期間保持（例えばカメラ１５からの入力画像を約１５秒程度の短い期間だけ記憶する）する機能モジュールであり、ＳＴＭクライアントであるＳＢＬ１０２に対して外部刺激の通知（Ｎｏｔｉｆｙ）を定期的に行なう。
【００７９】
ＬＴＭ９３は、長期記憶部を構成するオブジェクトであり、物の名前等学習により得られた情報を長期間保持するために使用される。ＬＴＭ９３は、例えば、ある行動記述モジュール（スキーマ）において外部刺激から内部状態の変化を連想記憶することができる。
【００８０】
ＩＳＭ９１は、内部状態管理部を構成するオブジェクトであり、本能や感情といった数種類の情動を数式モデル化して管理しており、上述の認識系の各オブジェクトによって認識された外部刺激（ＥＳ：Ｅｘｔｅｒｎａｌ  Ｓｔｉｍｕｌｕｓ）に応じてロボット装置１の本能や情動といった内部状態を管理する。
【００８１】
ＳＢＬ１０２は状況依存型行動階層を構成するオブジェクトである。ＳＢＬ１０２は、ＳＴＭ９２のクライアント（ＳＴＭクライアント）となるオブジェクトであり、ＳＴＭ９２からは定期的に外部刺激（ターゲットやイベント）に関する情報の通知（Ｎｏｔｉｆｙ）を受け取ると、スキーマ（Ｓｃｈｅｍａ）すなわち実行すべき行動記述モジュールを決定する（後述）。
【００８２】
ＲｅｆｌｅｘｉｖｅＳＢＬ（Ｓｉｔｕａｔｅｄ  Ｂｅｈａｖｉｏｒ  Ｌａｙｅｒ）１０３は、反射的行動部を構成するオブジェクトであり、上述した認識系の各オブジェクトによって認識された外部刺激に応じて反射的・直接的な機体動作を実行する。例えば、人間の顔を追いかけたり、うなずく、障害物の検出により咄嗟に避けるといった振る舞いを行なう。
【００８３】
ＳＢＬ１０２は外部刺激や内部状態の変化等の状況に応じた動作を選択する。これに対し、ＲｅｆｌｅｘｉｖｅＳＢＬ１０３は、外部刺激に応じて反射的な動作を選択する。これら２つのオブジェクトによる行動選択は独立して行なわれるため、互いに選択された行動記述モジュール（スキーマ）を機体上で実行する場合に、ロボット装置１のハードウェア・リソースが競合して実現不可能なこともある。ＲＭ（Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ）１１６というオブジェクトは、ＳＢＬ１０２とＲｅｆｌｅｘｉｖｅＳＢＬ１０３とによる行動選択時のハードウェアの競合を調停する。そして、調停結果に基づいて機体動作を実現する各オブジェクトに通知することにより機体が駆動する。
【００８４】
Ｓｏｕｎｄ  Ｐｅｒｆｏｒｍｅｒ１７２、Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ１７３、ＬＥＤＣｏｎｔｒｏｌｌｅｒ１７４は、機体動作を実現するオブジェクトである。Ｓｏｕｎｄ  Ｐｅｒｆｏｒｍｅｒ１７２は、音声出力を行うためのオブジェクトであり、ＲＭ１１６経由でＳＢＬ１０２から与えられたテキスト・コマンドに応じて音声合成を行い、ロボット装置１の機体上のスピーカから音声出力を行う。また、Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ１７３は、機体上の各関節アクチュエータの動作を行なうためのオブジェクトであり、ＲＭ１１６経由でＳＢＬ１０２から手や脚等を動かすコマンドを受けたことに応答して、該当する関節角を計算する。また、ＬＥＤＣｏｎｔｒｏｌｌｅｒ１７４は、ＬＥＤ発光装置１９の色彩を制御したり、点滅動作を行なうためのオブジェクトであり、ＲＭ１１６経由でＳＢＬ１０２からコマンドを受けたことに応答してＬＥＤ発光装置１９の点滅駆動を行なう。ここで、本実施の形態におけるＬＥＤ発光装置１９は、直交する複数の状態を並列表現可能であり、ＬＥＤＣｏｎｔｒｏｌｌｅｒ１７４は、後述するように発光装置１９が有する複数の直交表現可能な表現単位を使用して発光装置１９を制御する。
【００８５】
（２−１）状況依存行動制御
次に、状況依存行動階層について更に詳細に説明する。図６には、状況依存行動階層（ＳＢＬ）（但し、反射行動部を含む）による状況依存行動制御の形態を模式的に示している。認識系の視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３の機能モジュールによる外部環境７０の認識結果（センサ情報）１８２は、外部刺激１８３として状況依存行動階層（反射行動部１０３を含む）１０２ａに与えられる。また、認識系による外部環境７０の認識結果に応じた内部状態又は内部状態の変化（内部刺激）１８４も状況依存行動階層１０２ａに与えられる。そして、状況依存行動階層１０２ａでは、外部刺激１８３や内部状態の変化１８４に応じて状況を判断して、行動選択を実現することができる。
【００８６】
図７には、図６に示した反射行動部１０３を含む状況依存行動階層（ＳＢＬ）１０２ａによる行動制御の基本的な動作例を示している。同図に示すように、状況依存行動階層１０２ａでは、外部刺激１８３や内部状態の変化１８４によって各行動記述モジュール（スキーマ）のアクティベーションレベルを算出し、このアクティベーションレベルの度合いに応じてスキーマを選択して行動（動作）を実行する。アクティベーションレベルの算出には、例えばライブラリ１８５を利用することにより、すべてのスキーマについて統一的な計算処理を行なうことができる（以下、同様）。例えば、アクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を超えた２以上のスキーマを選択して並列的に行動実行するようにしてもよい（但し、並列実行するときは各スキーマどうしでハードウェア・リソースの競合がないことを前提とする）。
【００８７】
また、図８には、図６に示した状況依存行動階層１０２ａにより反射行動を行なう場合の動作例を示している。この場合、同図に示すように、状況依存行動階層１０２ａに含まれる反射行動部（ＲｅｆｌｅｘｉｖｅＳＢＬ）１０３は、認識系の各オブジェクトによって認識された外部刺激１８３を直接入力としてアクティベーションレベルを算出して、アクティベーションレベルの度合いに応じてスキーマを選択して行動を実行する。この場合、内部状態の変化１８４は、アクティベーションレベルの計算には使用されない。
【００８８】
また、図９には、図６に示した状況依存行動階層１０２により感情表現を行なう場合の動作例を示している。内部状態管理部９１では、本能や感情等の情動を数式モデルとして管理しており、情動パラメータの状態値が所定値に達したことに応答して、状況依存行動階層１０２に内部状態の変化１８４を通知（Ｎｏｔｉｆｙ）する。状況依存行動階層１０２は、内部状態の変化１８４を入力としてアクティベーションレベルを算出して、アクティベーションレベルの度合いに応じてスキーマを選択して行動を実行する。この場合、認識系の各オブジェクトによって認識された外部刺激１８３は、内部状態管理部（ＩＳＭ）９１における内部状態の管理・更新に利用されるが、スキーマのアクティベーションレベルの算出には使用されない。
【００８９】
（２−２）スキーマ
図１０には、状況依存行動階層１０２が複数のスキーマ１２１によって構成されている様子を模式的に示している。状況依存行動階層１０２は、各行動記述モジュール、即ちスキーマ毎にステートマシンを用意しており、それ以前の行動（動作）や状況に依存して、センサ入力された外部情報の認識結果を分類し、動作を機体上で発現する。スキーマは、外部刺激や内部状態に応じた状況判断を行なうＭｏｎｉｔｏｒ機能と、行動実行に伴う状態遷移（ステートマシン）を実現するＡｃｔｉｏｎ機能とを備えたスキーマ（Ｓｃｈｅｍａ）１２１として記述される。
【００９０】
状況依存行動階層１０２ｂ（より厳密には、状況依存行動階層１０２のうち、通常の状況依存行動を制御する階層）は、複数のスキーマ１２１が階層的に連結されたツリー構造として構成され、外部刺激や内部状態の変化に応じてより最適なスキーマ１２１を統合的に判断して行動制御を行なうようになっている。このツリー１２２は、例えば動物行動学的（Ｅｔｈｏｌｏｇｉｃａｌ）な状況依存行動を数式化した行動モデルや、感情表現を実行するためのサブツリー等、複数のサブツリー（又は枝）を含んでいる。
【００９１】
図１１には、状況依存行動階層１０２におけるスキーマのツリー構造を模式的に示している。同図に示すように、状況依存行動階層１０２は、短期記憶部９２から外部刺激の通知（Ｎｏｔｉｆｙ）を受けるルート・スキーマ２０１１、２０２１、２０３１を先頭に、抽象的な行動カテゴリから具体的な行動カテゴリに向かうように、各階層毎にスキーマが配設されている。例えば、ルート・スキーマの直近下位の階層では、「探索する（Ｉｎｖｅｓｔｉｇａｔｅ）」、「食べる（Ｉｎｇｅｓｔｉｖｅ）」、「遊ぶ（Ｐｌａｙ）」というスキーマ２０１２、２０２２、２０３２が配設される。そして、スキーマ２０１２「探索する（Ｉｎｖｅｓｔｉｇａｔｅ）」の下位には、「ＩｎｖｅｓｔｉｇａｔｉｖｅＬｏｃｏｍｏｔｉｏｎ」、「ＨｅａｄｉｎＡｉｒＳｎｉｆｆｉｎｇ」、「ＩｎｖｅｓｔｉｇａｔｉｖｅＳｎｉｆｆｉｎｇ」というより具体的な探索行動を記述した複数のスキーマ２０１３が配設されている。同様に、スキーマ２０２２「食べる（Ｉｎｇｅｓｔｉｖｅ）」の下位には「Ｅａｔ」や「Ｄｒｉｎｋ」等のより具体的な飲食行動を記述した複数のスキーマ２０２３が配設され、スキーマ２０３２「遊ぶ（Ｐｌａｙ）」の下位には「ＰｌａｙＢｏｗｉｎｇ」、「ＰｌａｙＧｒｅｅｔｉｎｇ」、「ＰｌａｙＰａｗｉｎｇ」等のより具体的な遊ぶ行動を記述した複数のスキーマ２０３３が配設されている。
【００９２】
図示の通り、各スキーマは外部刺激１８３と内部状態（の変化）１８４を入力としている。また、各スキーマは、少なくともＭｏｎｉｔｏｒ関数とＡｃｔｉｏｎと関数を備えている。
【００９３】
ここで、Ｍｏｎｉｔｏｒ関数とは、外部刺激と内部状態の変化に応じて当該スキーマのアクティベーションレベル（Ａｃｔｉｖａｔｉｏｎ  Ｌｅｖｅｌ：ＡＬ値）を算出する関数である。図１１に示すようなツリー構造を構成する場合、上位（親）のスキーマは外部刺激と内部状態の変化を引数として下位（子供）のスキーマのＭｏｎｉｔｏｒ関数をコールすることができ、子供のスキーマはアクティベーションレベルを返り値とする。また、スキーマは自分のアクティベーションレベルを算出するために、更に子供のスキーマのＭｏｎｉｔｏｒ関数をコールすることができる。そして、ルートのスキーマには各サブツリーからのアクティベーションレベルが返されるので、外部刺激と内部状態の変化に応じた最適なスキーマすなわち行動を統合的に判断することができる。
【００９４】
例えばアクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を超えた２以上のスキーマを選択して並列的に行動実行するようにしてもよい（但し、並列実行するときは各スキーマどうしでハードウェア・リソースの競合がないことを前提とする）。
【００９５】
また、Ａｃｔｉｏｎ関数は、スキーマ自身が持つ行動を記述したステートマシンを備えている。図１１に示すようなツリー構造を構成する場合、親スキーマは、Ａｃｔｉｏｎ関数をコールして、子供スキーマの実行を開始したり中断させたりすることができる。本実施の形態では、ＡｃｔｉｏｎのステートマシンはＲｅａｄｙにならないと初期化されない。言い換えれば、中断しても状態はリセットされず、スキーマが実行中の作業データを保存することから、中断再実行が可能である。
【００９６】
図１２には、状況依存行動階層１０２において通常の状況依存行動を制御するためのメカニズムを模式的に示している。
【００９７】
同図に示すように、状況依存行動階層（ＳＢＬ）１０２には、短期記憶部（ＳＴＭ）９２から外部刺激１８３が入力（Ｎｏｔｉｆｙ）されるとともに、内部状態管理部９１から内部状態の変化１８４が入力される。状況依存行動階層１０２は、例えば動物行動学的（Ｅｔｈｏｌｏｇｉｃａｌ）な状況依存行動を数式化した行動モデルや、感情表現を実行するためのサブツリー等、複数のサブツリーで構成されており、ルート・スキーマは、外部刺激１８３の通知（Ｎｏｔｉｆｙ）に応答して、各サブツリーのＭｏｎｉｔｏｒ関数をコールし、その返り値としてのアクティベーションレベル（ＡＬ）値を参照して、統合的な行動選択を行ない、選択された行動を実現するサブツリーに対してＡｃｔｉｏｎ関数をコールする。また、状況依存行動階層１０２において決定された状況依存行動は、リソース・マネージャＲＭ１１６により反射行動部１０３による反射的行動とのハードウェア・リソースの競合の調停を経て、機体動作（Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）に適用される。
【００９８】
また、状況依存行動層１０２のうち、反射的行動部１０３は、上述した認識系の各オブジェクトによって認識された外部刺激１８３に応じて、例えば、障害物の検出により咄嗟に避ける等、反射的・直接的な機体動作を実行する。このため、図１１に示す通常の状況依存行動を制御する場合とは相違し、図１０に示すように、認識系の各オブジェクトからの信号を直接入力する複数のスキーマ１３２が階層化されずに並列的に配置されている。
【００９９】
図１３には、反射行動部１０３におけるスキーマの構成を模式的に示している。同図に示すように、反射行動部１０３には、聴覚系の認識結果に応答して動作するスキーマとしてＡｖｏｉｄ  Ｂｉｇ  Ｓｏｕｎｄ２０４、Ｆａｃｅ  ｔｏ  Ｂｉｇ  Ｓｏｕｎｄ２０５及びＮｏｄｄｉｎｇ  Ｓｏｕｎｄ２０９、視覚系の認識結果に応答して動作するスキーマとしてＦａｃｅ  ｔｏＭｏｖｉｎｇ  Ｏｂｊｅｃｔ２０６及びＡｖｏｉｄ  Ｍｏｖｉｎｇ  Ｏｂｊｅｃｔ２０７、並びに、触覚系の認識結果に応答して動作するスキーマとして手を引っ込める２０８が、それぞれ対等な立場で（並列的に）配設されている。
【０１００】
図示の通り、反射的行動を行なう各スキーマは外部刺激１８３を入力に持つ。また、各スキーマは、少なくともＭｏｎｉｔｏｒ関数とＡｃｔｉｏｎ関数を備えている。Ｍｏｎｉｔｏｒ関数は、外部刺激１８３に応じて当該スキーマのアクティベーションレベルを算出して、これに応じて該当する反射的行動を発現すべきかどうかが判断される。また、Ａｃｔｉｏｎ関数は、スキーマ自身が持つ反射的行動を記述したステートマシン（後述）を備えており、コールされることにより、該当する反射的行動を発現するとともにＡｃｔｉｏｎの状態を遷移させていく。
【０１０１】
図１４には、反射行動部１０３において反射的行動を制御するためのメカニズムを模式的に示している。図１３にも示したように、反射行動部１０３内には、反応行動を記述したスキーマや、即時的な応答行動を記述したスキーマが並列的に存在している。状態認識部８０を構成する各オブジェクトから認識結果が入力されると、対応する反射行動スキーマがＡｏｎｉｔｏｒ関数によりアクティベーションレベルを算出し、その値に応じてＡｃｔｉｏｎを軌道すべきかどうかが判断される。そして、反射行動部１０３において起動が決定された反射的行動は、リソース・マネージャＲＭ１１６により状況依存行動階層１０２による状況依存行動とのハードウェア・リソースの競合の調停を経て、機体動作（Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ１７３）に適用される。
【０１０２】
状況依存行動階層１０２及び反射行動部１０３を構成するスキーマは、例えばＣ＋＋言語ベースで記述される「クラス・オブジェクト」として記述することができる。図１５には、状況依存行動階層１０２において使用されるスキーマのクラス定義を模式的に示している。同図に示されている各ブロックはそれぞれ１つのクラス・オブジェクトに相当する。
【０１０３】
図示の通り、状況依存行動階層（ＳＢＬ）１０２は、１以上のスキーマと、ＳＢＬ１０２の入出力イベントに対してＩＤを割り振るＥｖｅｎｔ  Ｄａｔａ  Ｈａｎｄｌｅｒ（ＥＤＨ）２１１と、ＳＢＬ１０２内のスキーマを管理するＳｃｈｅｍａ  Ｈａｎｄｌｅｒ（ＳＨ）２１２と、外部オブジェクト（ＳＴＭやＬＴＭ、リソース・マネージャ、認識系の各オブジェクト等）からデータを受信する１以上のＲｅｃｅｉｖｅ  Ｄａｔａ  Ｈａｎｄｌｅｒ（ＲＤＨ）２１３と、外部オブジェクトにデータを送信する１以上のＳｅｎｄ  Ｄａｔａ  Ｈａｎｄｌｅｒ（ＳＤＨ）２１４とを備えている。
【０１０４】
Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、状況依存行動階層（ＳＢＬ）１０２や反射行動部１０３を構成する各スキーマやツリー構造等の情報（ＳＢＬのコンフィギュレーション情報）をファイルとして保管している。例えばシステムの起動時等に、Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、このコンフィギュレーション情報ファイルを読み込んで、図１１に示したような状況依存行動階層１０２のスキーマ構成を構築（再現）して、メモリ空間上に各スキーマのエンティティをマッピングする。
【０１０５】
各スキーマは、スキーマのベースとして位置付けられるＯｐｅｎＲ＿Ｇｕｅｓｔ２１５を備えている。ＯｐｅｎＲ＿Ｇｕｅｓｔ２１５は、スキーマが外部にデータを送信するためのＤｓｕｂｊｅｃｔ２１６、並びに、スキーマが外部からデータを受信するためのＤＯｂｊｅｃｔ２１７というクラス・オブジェクトをそれぞれ１以上備えている。例えば、スキーマが、ＳＢＬ１０２の外部オブジェクト（ＳＴＭやＬＴＭ、認識系の各オブジェクト等）にデータを送るときには、Ｄｓｕｂｊｅｃｔ２１６はＳｅｎｄ  Ｄａｔａ  Ｈａｎｄｌｅｒ２１４に送信データを書き込む。また、ＤＯｂｊｅｃｔ２１７は、ＳＢＬ１０２の外部オブジェクトから受信したデータをＲｅｃｅｉｖｅ  Ｄａｔａ  Ｈａｎｄｌｅｒ２１３から読み取ることができる。
【０１０６】
Ｓｃｈｅｍａ  Ｍａｎａｇｅｒ２１８及びＳｃｈｅｍａ  Ｂａｓｅ２１９は、ともにＯｐｅｎＲ＿Ｇｕｅｓｔ２１５を継承したクラス・オブジェクトである。クラス継承は、元のクラスの定義を受け継ぐことであり、この場合、ＯｐｅｎＲ＿Ｇｕｅｓｔ２１５で定義されているＤｓｕｂｊｅｃｔ２１６やＤＯｂｊｅｃｔ２１７等のクラス・オブジェクトをＳｃｈｅｍａ  Ｍａｎａｇｅｒ  Ｂａｓｅ２１８やＳｃｈｅｍａ  Ｂａｓｅ２１９も備えていることを意味する（以下、同様）。例えば図１１に示すように複数のスキーマがツリー構造になっている場合、Ｓｃｈｅｍａ  Ｍａｎａｇｅｒ  Ｂａｓｅ２１８は、子供のスキーマのリストを管理するクラス・オブジェクトＳｃｈｅｍａ  Ｌｉｓｔ２２０を持ち（子供のスキーマへのポインタを持ち）、子供スキーマの関数をコールすることができる。また、Ｓｃｈｅｍａ  Ｂａｓｅ２１９は、親スキーマへのポインタを持ち、親スキーマからコールされた関数の返り値を戻すことができる。
【０１０７】
Ｓｃｈｅｍａ  Ｂａｓｅ２１９は、Ｓｔａｔｅ  Ｍａｃｈｉｎｅ２２１及びＰｒｏｎｏｍｅ２２２という２つのクラス・オブジェクトを持つ。Ｓｔａｔｅ  Ｍａｃｈｉｎｅ２２１は当該スキーマの行動（Ａｃｔｉｏｎ関数）についてのステートマシンを管理している。親スキーマは子供スキーマのＡｃｔｉｏｎ関数のステートマシンを切り替える（状態遷移させる）ことができる。また、Ｐｒｏｎｏｍｅ２２２には、当該スキーマが行動（Ａｃｔｉｏｎ関数）を実行又は適用するターゲットを代入する。後述するように、スキーマはＰｒｏｎｏｍｅ２２２に代入されたターゲットによって占有され、行動（動作）が終了（完結、異常終了等）するまでスキーマは解放されない。新規のターゲットのために同じ行動を実行するためには同じクラス定義のスキーマをメモリ空間上に生成する。この結果、同じスキーマをターゲット毎に独立して実行することができ（個々のスキーマの作業データが干渉し合うことはなく）、後述する行動のＲｅｅｎｔｒａｎｃｅ性が確保される。
【０１０８】
Ｐａｒｅｎｔ  Ｓｃｈｅｍａ  Ｂａｓｅ２２３は、Ｓｃｈｅｍａ  Ｍａｎａｇｅｒ２１８及びＳｃｈｅｍａ  Ｂａｓｅ２１９を多重継承するクラス・オブジェクトであり、スキーマのツリー構造において、当該スキーマ自身についての親スキーマ及び子供スキーマすなわち親子関係を管理する。
【０１０９】
Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ  Ｂａｓｅ２２４は、Ｐａｒｅｎｔ  Ｓｃｈｅｍａ  Ｂａｓｅ２２３を継承するクラス・オブジェクトであり、各クラスのためのインターフェース変換を実現する。また、Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ  Ｂａｓｅ２２４は、Ｓｃｈｅｍａ  Ｓｔａｔｕｓ  Ｉｎｆｏ２２５を持つ。このＳｃｈｅｍａ  Ｓｔａｔｕｓ  Ｉｎｆｏ２２５は、当該スキーマ自身のステートマシンを管理するクラス・オブジェクトである。親スキーマは、子供スキーマのＡｃｔｉｏｎ関数をコールすることによってそのステートマシンの状態を切り換えることができる。また、子供スキーマのＭｏｎｉｔｏｒ関数をコールしてそのステートマシンの常態に応じたアクティベーションレベルを問うことができる。但し、スキーマのステートマシンは、前述したＡｃｔｉｏｎ関数のステートマシンとは異なるということを留意されたい。
【０１１０】
Ａｎｄ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２６、Ｎｕｍ  Ｏｒ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２７、Ｏｒ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２８は、Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ  Ｂａｓｅ２２４を継承するクラス・オブジェクトである。Ａｎｄ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２６は、同時実行する複数の子供スキーマへのポインタを持つ。Ｏｒ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２８は、いずれか択一的に実行する複数の子供スキーマへのポインタを持つ。また、Ｎｕｍ  Ｏｒ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２７は、所定数のみを同時実行する複数の子供スキーマへのポインタを持つ。
【０１１１】
Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２８は、これらＡｎｄ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２６、Ｎｕｍ  Ｏｒ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２７、Ｏｒ  Ｐａｒｅｎｔ  Ｓｃｈｅｍａ２２８を多重継承するクラス・オブジェクトである。
【０１１２】
図１６には、状況依存行動階層（ＳＢＬ）１０２内のクラスの機能的構成を模式的に示している。状況依存行動階層（ＳＢＬ）１０２は、ＳＴＭやＬＴＭ、リソース・マネージャ、認識系の各オブジェクト等外部オブジェクトからデータを受信する１以上のＲｅｃｅｉｖｅ  Ｄａｔａ  Ｈａｎｄｌｅｒ（ＲＤＨ）２１３と、外部オブジェクトにデータを送信する１以上のＳｅｎｄ  Ｄａｔａ  Ｈａｎｄｌｅｒ（ＳＤＨ）２１４とを備えている。
【０１１３】
Ｅｖｅｎｔ  Ｄａｔａ  Ｈａｎｄｌｅｒ（ＥＤＨ）２１１は、ＳＢＬ１０２の入出力イベントに対してＩＤを割り振るためのクラス・オブジェクトであり、ＲＤＨ２１３やＳＤＨ２１４から入出力イベントの通知を受ける。
【０１１４】
Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、スキーマ１３２を管理するためのクラス・オブジェクトであり、ＳＢＬ１０２を構成するスキーマのコンフィギュレーション情報をファイルとして保管している。例えばシステムの起動時等に、Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、このコンフィギュレーション情報ファイルを読み込んで、ＳＢＬ１０２内のスキーマ構成を構築する。
【０１１５】
各スキーマは、図１５に示したクラス定義に従って生成され、メモリ空間上にエンティティがマッピングされる。各スキーマは、ＯｐｅｎＲ＿Ｇｕｅｓｔ２１５をベースのクラス・オブジェクトとし、外部にデータ・アクセスするためのＤＳｕｂｊｅｃｔ２１６やＤＯｂｊｅｃｔ２１７等のクラス・オブジェクトを備えている。
【０１１６】
スキーマ１３２が主に持つ関数とステートマシンを以下に示しておく。以下の関数は、Ｓｃｈｅｍａ  Ｂａｓｅ２１９で記述されている。
ＡｃｔｉｖａｔｉｏｎＭｏｎｉｔｏｒ（）：スキーマがＲｅａｄｙ時にＡｃｔｉｖｅになるための評価関数
Ａｃｔｉｏｎｓ（）：Ａｃｔｉｖｅ時の実行用ステートマシン
Ｇｏａｌ（）：Ａｃｔｉｖｅ時にスキーマがＧｏａｌに達したかを評価する関数
Ｆａｉｌ（）：Ａｃｔｉｖｅ時にスキーマがｆａｉｌ状態かを判定する関数
ＳｌｅｅｐＡｃｔｉｏｎｓ（）：Ｓｌｅｅｐ前に実行されるステートマシン
ＳｌｅｅｐＭｏｎｉｔｏｒ（）：Ｓｌｅｅｐ時にＲｅｓｕｍｅするための評価関数
ＲｅｓｕｍｅＡｃｔｉｏｎｓ（）：Ｒｅｓｕｍｅ前にＲｅｓｕｍｅするためのステートマシン
ＤｅｓｔｒｏｙＭｏｎｉｔｏｒ（）：Ｓｌｅｅｐ時にスキーマがｆａｉｌ状態か判定する評価関数
ＭａｋｅＰｒｏｎｏｍｅ（）：ツリー全体のターゲットを決定する関数
【０１１７】
（２−３）状況依存行動階層の機能
状況依存行動階層（ＳＢＬ）１０２は、短期記憶部９２及び長期記憶部９３の記憶内容や、内部状態管理部９１によって管理される内部状態を基に、ロボット装置１が現在置かれている状況に即応した動作を制御する。
【０１１８】
前項で述べたように、本実施の形態における状況依存行動階層１０２は、スキーマのツリー構造（図１１を参照のこと）で構成されている。各スキーマは、自分の子供と親の情報を知っている状態で独立性を保っている。このようなスキーマ構成により、状況依存行動階層１０２は、Ｃｏｎｃｕｒｒｅｎｔな評価、Ｃｏｎｃｕｒｒｅｎｔな実行、Ｐｒｅｅｍｐｔｉｏｎ、Ｒｅｅｎｔｒａｎｔという主な特徴を持っている。以下、これらの特徴について詳解する。
【０１１９】
（２−３−１）Ｃｏｎｃｕｒｒｅｎｔな評価：
行動記述モジュールとしてのスキーマは外部刺激や内部状態の変化に応じた状況判断を行なうＭｏｎｉｔｏｒ機能を備えていることは既に述べた。Ｍｏｎｉｔｏｒ機能は、スキーマがクラス・オブジェクトＳｃｈｅｍａ  ＢａｓｅでＭｏｎｉｔｏｒ関数を備えていることにより実装されている。Ｍｏｎｉｔｏｒ関数とは、外部刺激と内部状態に応じて当該スキーマのアクティベーションレベルを算出する関数である。
【０１２０】
図１１に示すようなツリー構造を構成する場合、上位（親）のスキーマは外部刺激と内部状態の変化を引数として下位（子供）のスキーマのＭｏｎｉｔｏｒ関数をコールすることができ、子供のスキーマはアクティベーションレベルを返り値とする。また、スキーマは自分のアクティベーションレベルを算出するために、更に子供のスキーマのＭｏｎｉｔｏｒ関数をコールすることができる。そして、ルートのスキーマ２０１１〜２０３１には各サブツリーからのアクティベーションレベルが返されるので、外部刺激と内部状態の変化に応じた最適なスキーマすなわち動作を統合的に判断することができる。
【０１２１】
このようにツリー構造になっていることから、外部刺激と内部状態の変化による各スキーマの評価は、まずツリー構造の下から上に向かってＣｏｎｃｕｒｒｅｎｔに行なわれる。即ち、スキーマに子供スキーマがある場合には、選択した子供のＭｏｎｉｔｏｒ関数をコールしてから、自身のＭｏｎｉｔｏｒ関数を実行する。次いで、ツリー構造の上から下に向かって評価結果としての実行許可を渡していく。評価と実行は、その動作が用いるリソースの競合を解きながら行なわれる。
【０１２２】
本実施の形態における状況依存行動階層１０２は、スキーマのツリー構造を利用して、並列的に行動の評価を行なうことができるので、外部刺激や内部状態の変化等の状況に対しての適応性がある。また、評価時には、ツリー全体に関しての評価を行ない、このとき算出されるアクティベーションレベル（ＡＬ）値によりツリーが変更されるので、スキーマすなわち実行する動作を動的にプライオリタイズすることができる。
【０１２３】
（２−３−２）Ｃｏｎｃｕｒｒｅｎｔな実行：
ルートのスキーマには各サブツリーからのアクティベーションレベルが返されるので、外部刺激と内部状態の変化に応じた最適なスキーマすなわち動作を統合的に判断することができる。例えばアクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を超えた２以上のスキーマを選択して並列的に行動実行するようにしてもよい（但し、並列実行するときは各スキーマどうしでハードウェア・リソースの競合がないことを前提とする）。
【０１２４】
実行許可をもらったスキーマは実行される。すなわち、実際にそのスキーマは更に詳細の外部刺激や内部状態の変化を観測して、コマンドを実行する。実行に関しては、ツリー構造の上から下に向かって順次すなわちＣｏｎｃｕｒｒｅｎｔに行なわれる。即ち、スキーマに子供スキーマがある場合には、子供のＡｃｔｉｏｎｓ関数を実行する。
【０１２５】
Ａｃｔｉｏｎ関数は、スキーマ自身が持つ行動（動作）を記述したステートマシンを備えている。図１１に示すようなツリー構造を構成する場合、親スキーマは、Ａｃｔｉｏｎ関数をコールして、子供スキーマの実行を開始したり中断させたりすることができる。
【０１２６】
本実施の形態における状況依存行動階層（ＳＢＬ）１０２は、スキーマのツリー構造を利用して、リソースが競合しない場合には、余ったリソースを使う他のスキーマを同時に実行することができる。但し、Ｇｏａｌまでに使用するリソースに対して制限を加えないと、ちぐはぐな行動出現が起きる可能性がある。状況依存行動階層１０２において決定された状況依存行動は、リソース・マネージャにより反射行動部（ＲｅｆｌｅｘｉｖｅＳＢＬ）１０３による反射的行動とのハードウェア・リソースの競合の調停を経て、機体動作（Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）に適用される。
【０１２７】
（２−３−３）Ｐｒｅｅｍｐｔｉｏｎ：
１度実行に移されたスキーマであっても、それよりも重要な（優先度の高い）行動があれば、スキーマを中断してそちらに実行権を渡さなければならない。また、より重要な行動が終了（完結又は実行中止等）したら、元のスキーマを再開して実行を続けることも必要である。
【０１２８】
このような優先度に応じたタスクの実行は、コンピュータの世界におけるＯＳ（オペレーティング・システム）のＰｒｅｅｍｐｔｉｏｎと呼ばれる機能に類似している。ＯＳでは、スケジュールを考慮するタイミングで優先度のより高いタスクを順に実行していくという方針である。
【０１２９】
これに対し、本実施の形態におけるロボット装置１の制御システム１０は、複数のオブジェクトにまたがるため、オブジェクト間での調停が必要になる。例えば反射行動を制御するオブジェクトである反射行動部１０３は、上位の状況依存行動を制御するオブジェクトである状況依存行動階層１０２の行動評価を気にせずに物を避けたり、バランスをとったりする必要がある。これは、実際に実行権を奪い取り実行を行なう訳であるが、上位の行動記述モジュール（ＳＢＬ）に、実行権利が奪い取られたことを通知して、上位はその処理を行なうことによってＰｒｅｅｍｐｔｉｖｅな能力を保持する。
【０１３０】
また、状況依存行動層１０２内において、外部刺激と内部状態の変化に基づくアクティベーションレベルの評価の結果、あるスキーマに実行許可がなされたとする。更に、その後の外部刺激と内部状態の変化に基づくアクティベーションレベルの評価により、別のスキーマの重要度の方がより高くなったとする。このような場合、実行中のスキーマのＡｃｔｉｏｎｓ関数を利用してＳｌｅｅｐ状態にして中断することにより、Ｐｒｅｅｍｐｔｉｖｅな行動の切り替えを行なうことができる。
【０１３１】
実行中のスキーマのＡｃｔｉｏｎｓ（）の状態を保存して、異なるスキーマのＡｃｔｉｏｎｓ（）を実行する。また、異なるスキーマのＡｃｔｉｏｎｓ（）が終了した後、中断されたスキーマのＡｃｔｉｏｎｓ（）を再度実行することができる。
【０１３２】
また、実行中のスキーマのＡｃｔｉｏｎｓ（）を中断して、異なるスキーマに実行権が移動する前に、ＳｌｅｅｐＡｃｔｉｏｎｓ（）を実行する。例えば、ロボット装置１は、対話中にサッカーボールを見つけると、「ちょっと待ってね」と言って、サッカーすることができる。
【０１３３】
（２−３−４）Ｒｅｅｎｔｒａｎｔ：
状況依存行動階層１０２を構成する各スキーマは、一種のサブルーチンである。スキーマは、複数の親からコールされた場合には、その内部状態を記憶するために、それぞれの親に対応した記憶空間を持つ必要がある。
【０１３４】
これは、コンピュータの世界では、ＯＳが持つＲｅｅｎｔｒａｎｔ性に類似しており、本明細書ではスキーマのＲｅｅｎｔｒａｎｔ性と呼ぶ。図１６に示したように、スキーマ１３２はクラス・オブジェクトで構成されており、クラス・オブジェクトのエンティティすなわちインスタンスをターゲット（Ｐｒｏｎｏｍｅ）毎に生成することによりＲｅｅｎｔｒａｎｔ性が実現される。
【０１３５】
スキーマのＲｅｅｎｔｒａｎｔ性について、図１７を参照しながらより具体的に説明する。Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、スキーマを管理するためのクラス・オブジェクトであり、ＳＢＬ１０２を構成するスキーマのコンフィギュレーション情報をファイルとして保管している。システムの起動時に、Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、このコンフィギュレーション情報ファイルを読み込んで、ＳＢＬ１０２内のスキーマ構成を構築する。図１７に示す例では、Ｅａｔ２２１やＤｉａｌｏｇ２２２等の行動（動作）を規定するスキーマのエンティティがメモリ空間上にマッピングされているとする。
【０１３６】
ここで、外部刺激と内部状態の変化に基づくアクティベーションレベルの評価により、スキーマＤｉａｌｏｇ２２２に対してＡというターゲット（Ｐｒｏｎｏｍｅ）が設定されて、Ｄｉａｌｏｇ２２２が人物Ａとの対話を実行するようになったとする。
【０１３７】
そこに、人物Ｂがロボット装置１と人物Ａとの対話に割り込み、その後、外部刺激と内部状態の変化に基づくアクティベーションレベルの評価を行なった結果、Ｂとの対話を行なうスキーマ２２３の方がより優先度が高くなったとする。
【０１３８】
このような場合、Ｓｃｈｅｍａ  Ｈａｎｄｌｅｒ２１２は、Ｂとの対話を行なうためのクラス継承した別のＤｉａｌｏｇエンティティ（インスタンス）をメモリ空間上にマッピングする。別のＤｉａｌｏｇエンティティを使用して、先のＤｉａｌｏｇエンティティとは独立して、Ｂとの対話を行なうことから、Ａとの対話内容は破壊されずに済む。従って、ＤｉａｌｏｇＡはデータの一貫性を保持することができ、Ｂとの対話が終了すると、Ａとの対話を中断した時点から再開することができる。
【０１３９】
Ｒｅａｄｙリスト内のスキーマは、その対象物（外部刺激）に応じて評価すなわちアクティベーションレベルの計算が行なわれ、実行権が引き渡される。その後、Ｒｅａｄｙリスト内に移動したスキーマのインスタンスを生成して、これ以外の対象物に対して評価を行なう。これにより、同一のスキーマをａｃｔｉｖｅ又はｓｌｅｅｐ状態にすることができる。
【０１４０】
（３）第１の実施の形態
次に、このように構成されたロボット装置に好適な本発明の第１の実施の形態におけるロボット装置の感情及び知覚認識結果状態等の状態の表現方法について説明する。本第１の実施の形態におけるロボット装置は、上述したように、自身の直交する状態を並列表現可能な表現手段としてＬＥＤインジケータ（目ランプ）等の発光装置を有している。
【０１４１】
本実施の形態における発光装置は、例えばＬＥＤとこれを制御するＬＥＤコントローラとからなり、発光の色相、明度及び彩度、並びに、発光時間及びその周期を可変設定した発光パターン（輝度変化）等がＬＥＤコントローラにより制御される。
【０１４２】
即ち、発光装置は、発光の色相、明度、及び彩度等、時間軸上で独立した複数の直交表現可能な表現単位（表現能力）を有し、ロボット装置の複数の状態を、これらの表現単位に割り当てることにより、その状態の種類と同数以下の発光装置によって表現すると共に、単一の表現手段である発光装置の中に同時に複数の表現内容（ロボットの状態）を共存させるものである。
【０１４３】
特に、ロボット装置が表現する状態のうち、共存させても不自然ではないような属性が異なる直交する状態、例えば感情及び本能等の内部状態と、カメラ等の視覚認識結果に基づく視覚認識状態等とを、上述の表現手段の直交表現可能な複数の表現単位に割り当てて並列して表現すれば、より人間らしい多種多様な状態を表出可能となる。更に、各状態が有する表現要素によって各状態に割り当てられた表現単位のパラメータを可変制御することにより表現するものである。ここで、各状態が有する表現要素とは、感情状態であれば、その種類や強度、認識状態であれば、認識対象物等を示す。
【０１４４】
（３−１）発光装置
先ず、このようなロボット装置の状態を表現する表現手段の一例であるＬＥＤ発光装置について詳細に説明する。
【０１４５】
図１８（ａ）は、図２に示すＬＥＤ発光装置１９を示す平面図及び側面図であり、図１８（ｂ）は、ＬＥＤ発光装置の内部回路を示す回路図である。ＬＥＤ発光装置１９は、例えば図１８（ａ）に示すようなものを使用することができる。図１８（ａ）に示すように、基板３０１と、基板３０１上に備えられたオレンジ、緑及び青色を表示する夫々ＬＥＤ３１１〜３１３と、ＬＥＤ３１１〜３１３の静電破壊等を防止する静電保護ダイオード３３１、３３２と、基板３０１の下面側に設けられ各ＬＥＤ３１１〜３１３のアノード及びカソードに接続する６つの電極３２１〜３２６とを有し、基板３０１上のＬＥＤ３１１〜３１３及び静電保護ダイオード３３１、３３２等が例えば透明又は乳白色の樹脂３０２により封止されている。
【０１４６】
オレンジ色を発光するＬＥＤ３１１は例えばＡｌＧａＩｎＰからなり、緑色を発光するＬＥＤ３１２は例えばＧａＮからなり、青色を発光するＬＥＤ３１３は例えばＧａＮからなる。
【０１４７】
このＬＥＤ発光装置は、図１８（ｂ）に示すように、基板３０１上において、ＬＥＤ３１１〜３１３は、夫々アノード電極３２３及びカソード電極３２４、アノード電極３２１及びカソード電極３２２、並びにアノード電極３２５及びカソード電極３２６に接続されている。更に、アノード電極３２１とカソード電極３２２との間、及びアノード電極３２５とカソード電極３２６との間には、逆方向電圧が加えられるよう配置された夫々静電保護ダイオード３３１，３３２が接続され、静電破壊を防止する。
【０１４８】
このように構成されたＬＥＤ発光装置は、互いに近接した３色のＬＥＤ３１１〜３１３を有することでフルカラー発光が可能であって、色相、彩度及び明度が時間軸上で独立して制御可能、即ち、直交表現が可能であり、更に、ＬＥＤ３１１〜３１３の発光時間及びその周期を示す発光パターン（点滅パターン）を、色相、彩度及び明度とは独立して制御することができる。このＬＥＤ発光装置１９は、このＬＥＤ発光装置１９を制御するＬＥＤコントローラに接続され、色相、彩度、明度及び発光パターン等が制御される。ＬＥＤコントローラは、制御ユニット２０のＣＰＵ２１において内部状態の変化又は外部刺激に基づき生成された信号により制御される。
【０１４９】
図１９は、発光装置における直交表現を示す模式図である。図１９に示すように、時間軸上で独立した直交表現を示す表現単位の例えば色相、彩度、発光パターンを、互いに独立した状態である夫々感情の分類、感情強度及び知覚認識状態に対応付け、更に、色相変化、彩度変化、発光パターン変化（輝度変化）に対して各状態の表現要素を対応付けて表現することができる。
【０１５０】
即ち、例えば「喜び」、「悲しみ」、「怒り」、「嫌悪」、及び「恐れ」等、感情状態が有する複数の表現要素は、夫々「緑」、「水色」、「赤」、「オレンジ」、及び「青」等となるように色相の値をパラメータ制御することによって分類することができる。更に、これらの各感情についての表現要素である強度は、その彩度を異ならせて表現することができ、例えば、非常に強い「喜び」を示す場合は、彩度を上げてあざやかな緑とし、弱い「喜び」を示す場合は、彩度を下げて暗い緑とする。また、例えば顔の発見、顔の識別、ボールの発見、ランドマークの発見、及び充電ステーションの発見等、視覚認識イベントが発生した場合は、発見したものに応じて異なる発光時間とすることで、発見したものに応じた視覚認識状態を表現するものとする。ここで、本明細書においては、感情状態の分類に応じた表現、感情状態の強度に応じた表現、発見したものに応じた表現等を、各状態の表現要素を表現するという。
【０１５１】
更に、この他の状態（表現要素）の表現として、例えば「驚き」の感情は、例えば色相の離散的ランダム変化で表現することができ、また、仮想睡眠状態は、例えば彩度又は明度を定常的に下げることにより表現することができる。
【０１５２】
また、ＬＥＤ発光装置１９を、頭部ユニット３に目として搭載された２つのＣＣＤカメラの周囲に搭載することで、人間に対して自らの状態を視覚的に伝達することが可能になり、更に豊富なユーザインタラクションを可能とし、ロボット装置のエンターテインメント性を向上する。
【０１５３】
このＬＥＤ発光装置１９は、その表現単位である色相、彩度、明度及び発光パターンを時間的に独立に連続値で調節可能であるため、ロボット自身が自律的に行動判断を行っている際には、ロボット装置の内部状態、視覚認識状態に応じた表現単位を対応づけすることで、同時に複数の直交する状態を並列して表現することができると共に、これらの表現単位を組み合わせることにより、１つの発光装置であっても、多彩な表現が可能となり、表現手段の表現能力を効率よく使用することで、状態の種類と同数の発光装置を備える必要がない。なお、必要に応じてＬＥＤ発光装置を複数設けてもよい。
【０１５４】
（３−２）ロボット装置の表現方法
次に、このようなＬＥＤ発光装置を使用したロボット装置の表現方法について更に詳細に説明する。本ロボット装置の発光装置制御アルゴリズムに関連した計算処理プロセスは大きく分けて４つあり、図２０に示すように、状態認識部８０、感情・本能モデル９０、行動決定部１００、行動生成部１１０から構成される。
【０１５５】
状態認識部８０は、上述した視覚認識機能部８１、聴覚認識機能部８２、及び接触認識機能部８３等からなり、ロボット装置身体に搭載されたセンサの情報を入力し、感情・本能モデル９０へ伝達する役割を果たす。
【０１５６】
感情・本能モデル９０は、状態認識部８０から入力された情報に従って、自らの感情及び欲求を示す内部状態パラメータの算出を行う。
【０１５７】
行動決定部１００は、上述した熟考行動階層１０１、状況依存行動階層１０２、及び反射行動部１０３のうち、状況依存行動階層１０２における行動を決定するものであり、上述したように、ダンスを踊るというような抽象的な意味を持つ単位から、実際に例えばアクチュエータの回転角度等、機体動作を指示するモーションコマンドを出力するというような具体的な意味を持つ単位まで、１つ１つの単位で独立した意味と機能を有する複数の行動単位モジュール（スキーマ）を有し、これらのスキーマから発現するスキーマ、即ち行動を決定する。この行動決定部１００は、感情・本能モデル９０から得られた内部状態パラメータに応じて、それぞれのモジュールのやりたさ度合い（実行優先度）を示す値をアクティベーションレベルとして算出し、このアクティベーションレベルに応じてどのスキーマを実行するかが決定される。これによって外部刺激と、内部状態に応じて実際にどのような行動を行うのが自律的に判断される。選択されたスキーマは、自身の行動に応じた表現を行うため、表現手段である発光装置を制御する制御コマンドを出力するコマンド発行手段として機能する。また、行動決定部１００において、状態認識部８０又は感情・本能モデル９０からの入力情報に応じた状態を表現するためのスキーマを別に設けて、入力情報に基づき制御コマンドを出力するようにしてもよい。
【０１５８】
行動生成部１１０は、発光装置を制御する制御手段として機能し、行動決定部１００から出力されたコマンドを受け、そのコマンドをハードウェアの実際の出力に変換する処理が行われる。次に、各処理部について更に詳細に説明する。
【０１５９】
（３−２−１）感情・本能モデル
感情・本能モデル９０は、ＣＣＤカメラからの視覚認識結果、マイクロフォンからの音声認識結果、バッテリの残量、並びに、接触センサ、体内の各温度を測定する温度センサ、及び関節角度の変化を検出する関節角度センサなどの自らの内外の身体状態を把握するための複数のセンサからの入力情報や、ユーザとの言語的インタラクションを通じて得たコミュニケーションの履歴情報、記憶情報量などの情報を、自らの内部状態としてモデル化し、内部状態パラメータ（感情値及び本能値）として算出する。即ち、状態認識部からの情報が、感情・本能モデル９０内の内部状態パラメータに影響を与えるように構成されており、例えば、バッテリ残量の変化は内部状態パラメータの「満腹度」に影響を与え、十分な充電状態にあるときには、より満足度の高い感情状態と判断され、結果として喜びの感情状態に変化しやすくなる。また、例えば関節角度の指令値と実角度との間に大きな差がある場合、それが瞬間的な変化である場合には内部状態パラメータの「痛み」に影響を及ぼし、長期的な変化である場合には内部状態パラメータの「疲れ」に影響を及ぼす。この「痛み」や「疲れ」の内部状態パラメータが増加すると、結果として悲しみや、怒りなど、よりネガティブな感情状態に変化しやすくなる。更に、後述する行動決定部１００において決定された行動に基づき内部パラメータが変化する。例えば、行動決定部１００において選択されたスキーマの行動が発現され終了した場合、行動発現前後のバッテリ残量や消費電力等に応じて内部状態パラメータの例えば「疲れ」又は「満足度」等に影響を及ぼす。
【０１６０】
本実施の形態における感情・本能モデル９０においては、「喜び」、「悲しみ」、「怒り」、「驚き」、「嫌悪」、「恐怖」という６種類の感情がモデル化されている。また、「痛み」、「心地よさ」、「満腹度」、「睡眠物質」、「覚醒度」、「疲労」からなる低次の内部状態と、「活力」、「記憶情報量」、「情報共有情報量」、「相互交流量」からなる高次の内部状態がモデル化されている。
【０１６１】
例えば下記のような場合に、内部状態が変化し、その結果として感情状態に変化が起きる。即ち、状態の表現要素が変化する。
喜び：充電されることにより、満腹度が満たされたとき等
悲しみ：音声対話によって、怒られたとき等
怒り：外的に力が加わり、関節を無理やり回転させられた結果、痛みが増加したとき等
驚き：バイオリズム変化によって活性度が高まったとき等
恐怖：確信度の低い対象を発見したとき等
嫌悪：バイオリズムの活性度が低いときに、バッテリ電圧が低下したとき等
【０１６２】
（３−２−２）行動決定部
行動決定部１００は、感情・本能モデル９０からの入力情報に基づき感情・本能状態を表現するため、及び状態認識部８０からの入力情報に基づき状態認識状態を表現するための動作を選択すると共に、発光装置を制御する制御コマンドを出力する。即ち、感情表現や認識状態表現を行うための色彩情報（ＲＧＢパラメータ）を算出し、これを行動生成部１１０に出力する。上述したように、行動決定部１００は、各入力情報に応じた感情表現や状態認識表現を行うためのスキーマを有し、このスキーマが入力情報に応じて制御コマンドを出力するか、各入力情報に応じて選択される各スキーマが自身の行動に応じた制御コマンドを出力するようになされており、このように入力情報に応じて発行される上記発光装置を制御するための制御コマンドを以下の方法で算出し出力する。
【０１６３】
先ず、制御コマンドにより発光装置を制御して感情表現をする場合は、上述したように、色彩情報により、発光色（色相）、及び彩度を変化させることにより、感情の分類及び感情の強さの表現を行う。
【０１６４】
この感情表現（内部状態の表現）を行うための色彩情報の算出は以下のプロセスによって行われる。感情・本能モデル９０から得られた６感情値のうち最大の値を持つ感情状態について対応する色相を選択する。即ち、感情状態に対応付けられた「色相」という表現単位のパラメータを可変制御して例えば緑色を選択することで、感情状態という状態の表現要素である喜び等を表現する。感情の分類と色、即ち感情状態という状態が有する表現要素とパラメータにより可変制御された色相との対応の一例を下記表１に示す。ここで、「驚き」の状態は、全色を順番に選択していく色相ローテーションにより表現するものとするが、このように、１つの色相ではなく、複数の色相の選択順序に応じて感情を割り当てるものとしてもよい。
【０１６５】
【表１】
2004237392.tif 000003
【０１６６】
次に、選択された色相に対して、彩度を変化させるためのパラメータ変換を行う。具体的には、ＲＧＢ情報を、一旦、ＨＳＩ（Ｈｕｅ：色相、Ｓａｔｕｒａｔｉｏｎ：彩度、Ｉｎｔｅｎｓｉｔｙ：明度）情報に変換した後、彩度情報のみについて感情値の最大値に占める実際の値の割合で割引変換を行う。そして、再びＨＳＩ情報からＲＧＢ情報に逆変換した後、後段の行動生成部１１０へコマンドを発行する。これによって、感情値が小さいときには暗い色で表現され、大きいときには彩度が高い鮮やかな色で表現される。即ち、感情値の大きさ（表現要素）をパラメータが可変制御された彩度により表現する。これにより、表出している色の鮮やかさによって感情がどの程度強いものであるのかを連続的に表現することが可能になる。
【０１６７】
また、制御コマンドにより発光装置を制御して視覚認識状態を表現する場合は、現在の感情状態を表現するための色彩情報（色相及び彩度を調節した情報）は保持したまま、その発光時間及びその周期からなる発光パターンを視覚認識状態に応じて可変設定する。視覚認識状態の表現は、視覚認識イベントが発生した場合に表出されるもので、発光パターンの違いにより、どのような視覚認識イベントが発生しているのかを表現する。即ち、感情状態を表現する表現単位とは直交する発光パターンという表現単位を使用して、視覚認識イベントが発生した状態を感情状態と並列して表現する。
【０１６８】
視覚認識イベントとは、例えば、上述の図２に示す視覚認識機能部８１等により、顔認識及び色認識等の画像認識処理が行われ、これにより顔を発見したと判断されたとき、ボールを発見したと判断されたとき、又はランドマークを発見したと判断されたとき等を示し、各視覚認識イベント（表現要素）毎に、それぞれ異なる発光パターンを対応付けることにより、視覚的にロボット装置の状態をユーザに伝達することが可能になり、対話中に例えば音声リソースを占有して認識状態を表現する必要がなくなる。
【０１６９】
視覚認識イベントと発光パターンの対応の一例を下記表２に示す。このような発光パターンの違いによって、ユーザは、ロボット装置と対話を行いながら、ロボット装置に本当に認識されているのかを把握することが可能になり、よりスムーズなコミュニケーションを実現することが可能になる。
【０１７０】
【表２】
2004237392.tif 000004
【０１７１】
これらの色彩（色相及び彩度）、発光パターンについては、ファイルであらかじめ登録されたデータベースを読み込み、選択された色彩又は発光パターンを再生することが基本的な利用方法である。また、上述した「驚き」の状態表現のように、色彩の指定に関しては、動的に色相又は彩度を示すパラメータを指定して、それを変化させることも可能である。
【０１７２】
また、本実施の形態においては、表現手段をＬＥＤ発光装置として説明したが、時間軸上で独立した直交表現が可能な装置であればよく、例えば発光装置であれば、発光ダイオード（ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ：ＬＥＤ）、液晶表示パネル（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ：ＬＣＤ）、レーザダイオード（ｌａｓｅｒ  ｄｉｏｄｅ：ＬＤ）、又はエレクトロルミネッセンス（ｅｌｅｃｔｏｒ−ｌｕｍｉｎｅｓｃｅｎｃｅ：ＥＬ）等を利用したものが挙げられるが、これに限るものではない。
【０１７３】
更に、上述の発光装置に限らず、互いに独立した直交表現を示す複数の表現単位を単一の物理リソースの中に共存させればよく、例えば発音装置を使用することもでき、発音装置であれば、例えば音の高さ、音量、リズム、及び音色等を表現単位として適用することが可能であり、より一般的に表現することが可能である。
【０１７４】
このように構成された本実施の形態においては、発光装置によって表現されるべき複数の属性が異なる直交する情報、例えば感情状態（内部状態）と視覚認識状態とは、それぞれ夫々色彩（色相と彩度又は明度）及び発光パターンという相互に干渉することがない直交する表現として、時間軸上で独立したパラメータで表現されるので、複数の情報の表現を発光装置という単一の物理リソースの中に共存させても、表現するべき情報量が失われることはなく、複数の情報を並列して表現することができる。また、直交する表現手段の表現単位のパラメータが相互に独立に変化することにより、これらを単独又は組み合わせて使用して、より少ないリソース（発光装置）でより複雑多彩な状態表現が可能になる。
【０１７５】
これら２点より、家庭環境で自律的に活動するエンターティメントロボットのように、物理的な重量、大きさに制限が要求され、内部状態表現の表現手段としての機能を多く搭載できない場合にも、表現手段を高効率に使用して多様な表現を行うことができる。
【０１７６】
人間とロボット装置との間でリアルタイムに円滑なコミュニケーションを実施しようと考えた場合、同時に複数の発光装置に視点を向けなければロボット装置の状態を把握できないというヒューマンインターフェースは最適なものとは言えない。人間と、本実施の形態で説明したようなヒューマノイドロボット装置とが言語的なコミュニケーションを行う場合、人間同士のコミュニケーションと同様、人はロボット装置の顔に視点を向けることが多い。その点で、本実施の形態におけるロボット装置において、目に相当する部位に内部状態を表現する手段として発光装置を搭載していること、及び単一の発光装置の中に複数の内部状態表現を共存させていることにより、ヒューマンインターフェースを意識せず円滑なコミュニケーションを実現できる。
【０１７７】
（４）第２の実施の形態
次に、本発明の第２の実施の形態について説明する。上述の第１の実施の形態においては、感情又は視覚認識などの定常的（継続的）な状態であって属性が異なる直交する状態を並列表現する方法であったが、本第２の実施の形態は、このような定常的な状態表現に加え、更にその他のイベント発生時、即ち非断続的な状態にも対応してこれを表現するものである。なお、本実施の形態におけるロボット装置においても、図１乃至図１７に示すロボット装置と同様の構成とすることができる。
【０１７８】
本実施の形態においても、上記図２０に示す第１の実施の形態と同様の計算処理プロセスを有するが、行動決定部は、第１の実施の形態とは異なり、発光装置を制御するため、行動生成部に出力する制御コマンドとして、動作に応じて予め決められた優先順位が異なる複数種のコマンドを発行する。行動生成部は、優先度が高いコマンドに優先的に従うことにより、行動決定部から、同時に同一表現単位が指定された場合においてもリソースの競合を調停し、感情状態や認識状態に基づき選択された動作に応じた表現よりも、ユーザからの指示等により行われる突発的なイベント時の動作に応じた表現を優先的に行うことができる。
【０１７９】
図２１は、本第２の実施の形態におけるロボット装置の行動決定部から表現手段までの各処理部を示すブロック図である。第１の実施の形態と同様に、状態認識部から、ロボット装置身体に搭載されたセンサの情報が感情・本能モデルへ供給され、感情・本能モデルが状態認識部から供給された情報に従って、自らの感情及び欲求を示す内部状態パラメータを算出し、行動決定部１２０へ供給する。行動決定部１２０は、状態認識部、感情・モデルから供給された情報に基づき行動を決定し、行動に応じた表現を行うための制御コマンドを行動生成部１３０へ出力するコマンド発行手段として機能する。本実施の形態における行動決定部１２０では、制御コマンドとして、優先順位が高いフォアグラウンドコマンドか、又はこれより優先順位が低いバックグラウンドコマンドのいずれかを使用するものとする。行動生成部１３０は、行動決定部１２０から供給される複数のコマンドを調停し、発光装置を制御する制御手段として機能し、ＬＥＤ発光装置１４０は、行動生成部１３０にて決定された状態を表現する。
【０１８０】
（４−１）行動決定部
次に、行動決定部１２０について更に詳細に説明する。行動決定部１２０は、図１０に示したように、機体動作が記述された複数の行動記述モジュールであるスキーマ１２１が、階層的に連結されたスキーマ・ツリー１２２を有している。各スキーマは、外部刺激と内部状態を入力とし、この外部刺激や内部状態の変化に応じてより最適なスキーマを選択して行動制御されると共に、行動生成部１３０に対して発光装置を制御するための制御コマンドを出力する。
【０１８１】
この行動決定部１２０では、感情状態及び視覚認識状態等の常に変化する状態に基づき選択された動作に応じた表現に加え、割り込みイベントが生じた際、イベントに応じた表現を行うため、出力コマンドの選択が行われる。
【０１８２】
割り込みイベントとは、例えば、「ダンスを踊って」等のユーザからの指令に基づき、ロボット装置がダンスを踊る際に、このダンスを踊る動作（イベント）に応じた表現として、ダンスに合わせて、発光装置の色彩や発光パターンを変化させたり、又は、サッカーをしてボールをゴールに入れることができた場合に、ゴールを入れる動作（イベント）に対して、色彩や発光パターンを変化させたりして、割り込みイベントとして視覚的パフォーマンスを行う場合等である。
【０１８３】
このように、ロボット装置は、エンターティメント性が高いパフォーマンスを行う際に、音楽や、身体的運動に合わせて発光状態を変化させることで、人間に与える印象について視覚的効果を更に高めることができる。
【０１８４】
ロボット装置は、実際には、第１の実施の形態にて説明した如く、定常的に感情状態及び視覚認識状態に基づき選択された動作に応じた表現を行っているため、割り込みイベントが生じた際の動作（イベント）に応じた表現を行う場合は、行動生成部１３０に対して既に実行されているコマンドに対して、割り込みの指示をし、これに上書きするように割り込み用のコマンドを発行する。
【０１８５】
このため、本実施の形態においては、発光装置を制御する制御コマンドとして、定常的な状態変化を表出することを目的としたバックグラウンドコマンドと、このような定常的な状態表現に対して割り込みをかけ、イベント発生的な状態変化を表出することを目的としたフォアグラウンドコマンドとを用意する。即ち、イベント発生時の際には、優先順位が高いフォアグラウンドコマンドを発行し、感情又は認識状態等の定常的な状態を表現する際には、優先順位が低いバックグラウンドコマンドを発行するものとする。
【０１８６】
このフォアグラウンドコマンドは、バックグラウンドコマンドに優先してコマンドを出力することが可能であり、また、フォアグラウンドコマンドが終了した時点でバックグラウンドコマンドが出力されるよう、コマンド選択が自動的に切り替わるように設計されている。従って、並列に実行されている複数の機能モジュールから同時に発光装置へ制御コマンドを通知する際に、複数のコマンドを多重化して通知することができ、イベント発生の際の状態の表現をフォアグラウンドコマンドとして発行することにより、途中でコマンドを上書きして割り込み表現が可能となると共に、定常的な表現をバックグラウンドコマンドとして発行することにより、間違えて優先コマンドに上書きしてしまうことがなくなる。割り込みイベントを行うスキーマは、選択されると、機体動作（行動）を発現すると共に自身の行動に応じた状態表現を行うコマンドをフォアグラウンドコマンドとして発行するようになされている。
【０１８７】
優先順位が設けられていないコマンドにより状態表現を制御しようとすると、優先されるべき視覚パフォーマンスが発光装置において表現されている間は、出力が上書きされないようにするために、感情状態の表現や、視覚認識状態の出力を停止する必要があり、定常的な表現を行う側のモジュールは、優先されるべきコマンドが出力されていないかを監視して自らのコマンド出力を抑制する処理を行う必要があるが、本実施の形態においては、１つのリソースに対して発行されるコマンドに優先順位を設けることで、これらが多重化して出力されても並列に分散して実行されているモジュール間のコマンド出力の競合を容易に解決することができる。即ち、フォアグラウンドコマンドが自動的に優先的に選択されるため、バックグラウンドコマンドを出力する側が常にフォアグラウンドの出力状態を監視して、バックグラウンドコマンドがフォアグラウンドコマンドの出力を上書きしてしまうことを回避する処理を省略することができる。
【０１８８】
また、従来、表現が変化するタイミングにのみＬＥＤ発光装置の制御コマンドを発行するのが一般的であり、発光装置では、最後に発行されたコマンドの状態が保持されるようになされている。従って、既存のコマンドに対して割り込みをかけてコマンド出力を終了した場合には、再び割り込みをかける前の状態に戻す必要があるため、割り込みをかけられた側のコマンドを発行したモジュールは、それ以外からの割り込み終了状態を監視し、終了したタイミングでコマンドを再発行する必要がある。これに対し、本実施の形態においては、フォアグラウンドコマンドが終了した時点で直ちにバックグラウンドコマンドにコマンド選択が切り替わるよう設計されているため、定常的な表現を行う側のモジュール（スキーマ）が、割り込みイベントの際の状態表現を行うフォアグランドコマンドの出力開始及び終了のタイミングを監視せずに、コマンドを出力することができ、バックグラウンドコマンド出力処理において、フォアグラウンドコマンドの終了タイミングを把握するための処理、及び再びバックグラウンドコマンドを出力するための処理を省略することが可能になる。
【０１８９】
また、優先度が異なる制御コマンドが同時に発行された場合は、優先度が高いコマンドが優先されるが、図１８に示すような直交表現可能な表現手段を使用することで、同一の優先度を有する制御コマンドにおいては、第１の実施の形態と同様に、色彩情報（色相及び彩度）、発光パターン等の直交表現を示す情報はそれぞれに独立に設定可能であるので、複数の直交する状態を並列表現することも可能である。例えば、スキーマ・ツリー１２２においては、ダンススキーマや感情表現スキーマ、対話スキーマなどが、それぞれのアクティベーションレベルや認識イベントに応じて同時並列的に起動し、ＬＥＤ発光装置（ＬＥＤリソース）に対してもＬＥＤリソース内で後述する仮想的に設定されたリソースが重ならない範囲では、優先度が同一階層のコマンドが同時に発行された場合、同時にマージされることがあり得る。従って、第１の実施の形態と同様に、人物の顔を発見した視覚認識状態を表出している状態で、感情状態が変化してこれを表現すること等が可能である。
【０１９０】
図２２は、ＬＥＤコマンドを発行するスキーマの具体例とリソースの使用方法の関係を説明する図である。例えば、対話スキーマ１２１ｃ内部では、上述した視覚認識機能部の顔発見オブジェクト８１ａにより顔を発見したことが通知されると、この顔発見という視覚認識状態を表現するため、ＬＥＤ発光装置１９に発光パターンを指定するコマンドをバックグラウンドコマンドとして発行する。また、感情表現スキーマ１２１ｂは、対話中の感情変化をモニターし、そのときの感情・本能モデル９０からの感情値に基づき逐次ＬＥＤ発光装置の点灯色を指示するコマンドをバックグラウンドコマンドとして発行する。上述の第１の実施の形態において説明したように、このような場合には、直交する複数の表現単位を有するＬＥＤ発光装置を使用しているため、リソース競合が起こらずコマンドはマージされ、そのときの感情状態色で発光パターンを再生することが可能である。
【０１９１】
このように、感情状態表現や認識状態表現等、定常的に変化する状態は、必ずしも再生されなくとも、あまりロボット装置の状態表現として不自然にならないものとして、ＬＥＤのバックグラウンドリソースを利用するように設定する。
【０１９２】
これに対して、非定常的な状態、例えば優先すべき割り込みイベントが発生しこれを表現する場合、即ちイベントとしての重要性から必ず実行されることが求められる場合は、ＬＥＤのフォアグラウンドリソースを利用してコマンド発行するように設定する。図２２においては、ダンスを踊るという割り込みイベントが発生した場合、ダンスを踊るダンススキーマ１２１ａが、ダンス用ＬＥＤ再生データ１４０からパターンファイルを再生し、ダンスイベント中においてＬＥＤ発光装置の発光色をカラフルに変化させるよう指示するコマンドをフォアグラウンドコマンドとして発行する。このフォアグラウンドコマンドは、バックグラウンドコマンドに対して上書きされるため、それまで出力されていた感情状態表現などのバックグラウンドコマンドに割り込みをかけ、ダンスイベントのＬＥＤパターンを出力することが可能になる。
【０１９３】
（４−２）行動生成部
次に、行動生成部１３０について更に詳細に説明する。行動生成部１３０は、行動決定部１２０からの優先順位が異なる複数の制御コマンドを受け付け、実際のコマンド出力を行うための調停処理をして、これにより発光装置の制御を行う。即ち、発光装置は、このコマンドにより、発光する色相、色彩、発光パターン等が制御される。行動生成部１３０は、例えば、発光装置という１つの物理的リソースに対し、色彩情報（色相及び彩度）と、発光時間及びその周期を指定する表示パターンとを２つの仮想的なリソースとして設定し、それぞれに優先順位が設定された複数の制御コマンドを受け付けることが可能である。
【０１９４】
先ず、この仮想的なリソース、即ち、上述した定常的な状態（内部状態及び視覚認識状態）に応じた表現を行うためのバックグラウンドリソース及び定常状態に対して優先すべき状態（割り込みイベント発生の際の状態）に応じた表現を行うためのフォアグラウンドリソースについて更に詳細に説明する。図２３は、リソースツリーマップを示す図である。
【０１９５】
図２２に示したＬＥＤコントローラ１４０ａ内で各スキーマからのコマンドを受け付けるために設定されたリソースは、図２３に示すような階層構造によって定義されている。リソースは、優先順位が異なるフォアグラウンドレベルとバックグラウンドレベルの２つのレベルを有し、フォアグラウンド内又はバックグラウンド内においては、そもそもリソース競合が発生しないように設計されているので優先順位は設定されていない。
【０１９６】
更に、フォアグラウンド及びバックグラウンドリソースについて、目、耳のリソースに分類され、更にこの目、耳のリソースが色彩と発光パターン（点滅パターン）のリソースに設定されており、リソースが重ならない範囲で各リソースからの制御コマンドがマージされ、出力状態が決定される。
【０１９７】
即ち、行動生成部１３０は、このような制御コマンドのマージを行うバッファ１３０ａを有して優先度に基づきコマンドをマージしている。本実施の形態においては、行動決定部１２０で、２つリソース（フォアグラウンドリソース及びバックグラウンドリソース）に対応して２種類の制御コマンドのいずれか一方が発行され、行動生成部１３０は、これら２種類の制御コマンドに対応する２つのバッファ（ダブルバッファ）を有し、このバッファ１３０ａにおいてコマンドがマージされる。
【０１９８】
行動決定部１２０にて選択された動作に対応する表現を、どちらの優先順位のコマンドで発行して制御するか、即ち、どのような動作に対応する表現を優先して表現させるかは予め決められており、本実施の形態においては、感情状態及び視覚認識結果などに基づき選択された動作に応じた表現、即ち、定常的になされる表現は、バックグラウンドリソースを使用するものとし、ダンスイベントのような割り込みイベントに応じた表現がなされる場合は、優先度が上位のフォアグラウンドリソースを使用するものとし、上述した行動決定部１２０において、対応するフォアグラウンドコマンド又はバックグラウンドコマンドが選択されて発行される。なお、このような優先度は、各スキーマに応じて予め設定されるか、所定の条件に基づき各スキーマによってどのレベルの優先度のコマンドを使用するかが選択されるか、又は必要に応じてユーザが行うようにしてもよい。
【０１９９】
図２４（ａ）は、フォアグラウンド、バックグラウンドそれぞれの階層内のリソースのみを利用したコマンド同士がリソース競合せずに、マージされて出力される例を示す図であり、図２４（ｂ）は、バックグラウンドコマンドが出力された状態でフォアグラウンドコマンドが発行され、リソース競合を生じ、バックグラウンドコマンドが上書きされる例を示す図である。
【０２００】
同一階層内、即ちバックグラウンドリソース内のリソースのみ又はフォアグラウンドリソース内のリソースのみを利用する場合は、リソースが競合しない。図２４（ａ）に示すように、例えば「喜び」の感情状態１５１と、「顔発見」の視覚認識状態（イベント出力）１５２をそれぞれバックグラウンドリソースを使用して表現するよう夫々バックグラウンドコマンドＢＧＣ１及びＢＧＣ２が出力された結果、２つの出力がマージされＬＥＤ発光装置が緑色で点滅する等、２つの状態を並列的に表現することができる。
【０２０１】
一方、図２４（ｂ）に示すように、図２４（ａ）に示すバックグラウンドリソースを使用して表現される「喜び」の感情状態１５１及び「顔検出」の視覚認識状態１５２の出力中に、「ダンス」という割り込みイベント１６１からフォアグラウンドコマンドＦＧＣが出力された場合は、バックグラウンドコマンドＢＧＣ１及びＢＧＣ２が上書きされ、感情状態１５１及び視覚認識状態１５２の表現が中断されて、「ダンス」という割り込みイベント１６１に応じた表現を行うＬＥＤパターンが出力され、ＬＥＤパターンファイルが再生される。
【０２０２】
（４−２−１）コマンドの具体例
次に、バックグラウンドコマンド（ＢＧコマンド）及びフォアグラウンドコマンド（ＦＧコマンド）の具体例について説明する。ここでは、ＢＧコマンド及びＦＧコマンドとして、夫々色彩（色相及び彩度）を指定するＢＧコマンド（色彩）及びＦＧコマンド（色彩）と、発光パターンを指定するＢＧコマンド（発光パターン）及びＦＧコマンド（発光パターン）の４つのコマンドを有する場合について説明する。これら４つのコマンドは、以下のように設計されている。
【０２０３】
ＢＧコマンド（色彩）：１度発行するとその色の状態が維持される
ＢＧコマンド（発光パターン）：コマンドを発行すると１回分発光パターンが再生される
ＦＧコマンド（色彩）：これが発行されるとＢＧコマンド（色彩）を上書きして出力、コマンドを出力している間有効となり、コマンドを終了すると、ＢＧコマンド（色彩）に戻る
ＢＧコマンド（発光パターン）：これが発行されるとＢＧコマンド（発光パターン）を上書きして出力、１回分発光パターンが再生され、コマンドを終了すると、ＢＧコマンド（発光パターン）も出力可能な状態になる
【０２０４】
即ち、同一表現手段における同一表現単位（リソース）を使用して表現される場合は、ＢＧコマンドより、ＦＧコマンドの出力が優先されるため上書きされる。ここで、本実施の形態においては、色彩コマンドと、発光パターンコマンドとは、直交表現可能であり、例えば、ＢＧコマンド（色彩）と、ＦＧコマンド（発光パターン）とが出力された場合は、リソースが競合しないものの、ＦＧコマンドが出力された場合は、全てのＢＧコマンドによる表現は停止するものとする。なお、このようにリソース競合しない優先順位が異なるコマンドが同時に出力された場合、即ち、ＦＧコマンドが発行された後で、これとは異なる表現単位を使用したＢＧコマンドが発行された場合には、ＢＧコマンドによる表現を続けるように設定しておいてもよい。その場合は、同一優先順位を有するコマンドで且つ同一表現単位を使用して表現されるよう制御する制御コマンドにおいて、最新のコマンドにより上書きされるようにしておけばよい。
【０２０５】
図２５は、コマンドの優先順位を説明する図である。ここでは、ＢＧコマンド同士、ＦＧコマンド同士は、同一の表現単位を使用して表現手段を制御するコマンドとし、従って、リソースが競合するため、優先順位が高いコマンドは、優先順位が低いコマンドを上書きするのに加え、同一優先順位を有するコマンドは、常に最新（後発）のコマンドに上書きされるものとする。即ち、図２５に示すように、先にＢＧコマンドのみが発行されている場合に、後からＢＧコマンドが発行されると、後発ＢＧコマンドによりコマンドが上書きされる。また、同様に後からＦＧコマンドが発行された場合も、後発ＦＧコマンドにより上書きされる。
【０２０６】
また、先にＦＧコマンドのみが発行されている場合は、後からＢＧコマンドが発行されても、先発ＦＧコマンドのままで、コマンドは上書きされないが、後からＦＧコマンドが発行された場合は、後発ＦＧコマンドにより上書きされる。
【０２０７】
そして、先にＢＧコマンド及びＧＦコマンドが同時に発行された場合は、ＦＧコマンドが優先し、後からＢＧコマンドが発行されても、先発ＦＧコマンドのままで、コマンドは上書きされないが、後からＦＧコマンドが発行された場合は、後発ＦＧコマンドにより上書きされる。
【０２０８】
図２６は、行動生成部に供給されるＦＧコマンド、ＢＧコマンド、及び行動生成部により調停され出力される出力コマンドを示す図である。図２６に示すように、ＦＧコマンドが、時刻ｔ２〜ｔ３、及びｔ５〜ｔ７の間、発行され、ＢＧコマンドが、時刻ｔ１〜ｔ４，ｔ４〜ｔ６，ｔ６〜ｔ８の間、発行され行動生成部１３０に供給された場合、行動生成部は、図２５にて説明したように、ＢＧコマンドに優先してＦＧコマンドを発行し、同一階層のコマンドが発行された場合は、後発のコマンドにより上書きしたものを出力コマンドとして発行する。即ち、ｔ１〜ｔ２はＢＧコマンド、ｔ２〜ｔ３はＦＧコマンド、ｔ３〜ｔ４及びｔ４〜ｔ５はＢＧコマンド、ｔ５〜ｔ７はＦＧコマンド、ｔ７〜ｔ８はＢＧコマンドが出力コマンドとしてＬＥＤコントローラに供給され、この出力コマンドに従ってＬＥＤコントローラは、ＬＥＤ発光装置を制御する。
【０２０９】
このように、１つのＬＥＤ発光装置に対して、バックグラウンドリソースとフォアグラウンドリソースとの仮想的な２つの階層のリソースに分類し、行動生成部１３０は、多重化された２種類のコマンドを処理してこれらのリソースの競合がないように調停する。
【０２１０】
本実施の形態においては、発光装置の制御コマンドに優先順位を設けることでコマンドを多重化することができると共に、複数同時に出力されたコマンド間の切り替え制御が容易になる。具体的には、感情状態や知覚認識の状態など、表現を行うことが必須でないが、常時表現できることが望ましい情報を表現するときはバックグラウンドコマンドを用い、ダンスパフォーマンスや歌のパフォーマンス時のように、終了状態が明確で、バックグラウンドコマンドの出力状態に対して割り込みをかけて実行することが要求されるような内容表現を行うときは、バックグラウンドコマンドより優先度が高いフォアグラウンドコマンドを用いる。このように、定常的に表現されるべき感情状態及び視覚認識状態の表現と、割り込みイベントとして優先的に表現されるべき視覚的パフォーマンスの表現とでこれを出力するコマンドに優先順位を設定することにより、コマンドの切り替えにおいて、バックグラウンドコマンドを発行するモジュールから、フォアグラウンドコマンドの実行状態を監視する必要がなくなり、モジュール設計を行う際にそのプログラムの簡略化を実現できる。また、第１の実施の形態と同様に、直交表現が可能なＬＥＤ発光装置を表現手段として使用すれば、同時に複数の直交する表現を並列的に表出することができる。
【０２１１】
（５）他の実施の形態
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態においては、フォアグラウンドコマンド、バックグラウンドコマンドという優先順位を有する２種類のコマンドを設け、これらを受け付ける２つのバッファを設け、これら２つのコマンドをマージしてリソースの競合を調停するものとしたが、本発明の要旨は、このような２つのバッファ、即ち２種類のコマンドを扱った用例に限定されるものではなく、一般にｎ個のバッファ、即ち、優先順位（優先度）が異なるｎ種類のコマンドを用いた例に拡張が可能である。
【０２１２】
具体的には、まず前提として、ここで言うコマンドとはファイルの内容を再生する等、ある一定時間有効となる時間の幅を持ったコマンドであるとする。更に、コマンドが終了した後に何もコマンドが出力されない場合、最後に出力したコマンドの状態がそのまま維持されるものとする。
【０２１３】
例えば、ある優先度の階層で点灯状態に変化させるコマンドを発行し、コマンド出力状態の継続が終了した場合には、明示的に消灯状態に変化させるコマンドを出力するか、若しくは優先度がより高い上位の階層のコマンドに上書きされるまで、最後にコマンドが終了した状態を維持し続けるものとする。この前提の下で、優先度が高い上位のコマンドが存在しなかったときに、それより優先度が低い下位の階層のコマンドを有効となる仕組みを設けることで、階層はｎ層の場合についても有効にはたらく。このようにして、発光装置等の表現手段における複数バッファの概念は拡張が可能である。
【０２１４】
また、上述の第１及び第２の実施の形態においては、表現手段として発光装置を例にして説明したが、これに限らず、表現手段としては１つの表現手段において、直交する表現単位を複数有し、並列して表現できるようなものであればよく、上述したように、例えば発音装置等を使用することができる。
【０２１５】
【発明の効果】
以上詳細に説明したように本発明に係るロボット装置は、内部状態及び／又は外部刺激に基づき自律的な動作が可能なロボット装置において、相互に独立して直交表現可能な複数の表現単位を有する表現手段と、上記内部状態及び／又は外部刺激に基づく互いに直交する複数の各状態と少なくとも１つの表現単位とを対応づける対応付け手段と、上記対応付けられた表現単位を使用して、互いに直交する複数の状態を並列的に表現するよう上記表現手段を制御する制御手段とを有するので、表現手段によって表現されるべき複数の直交する状態は、それぞれ直交する表現単位により独立して表現されるので、単一の表現手段の中に複数の直交する状態を共存させることができ、また、これらを組み合わせてより少ない表現手段で複雑な状態表現が可能になる。これにより、物理的な重量及び大きさ等が制限され、内部状態表現の表現手段としての機能を多く搭載できない場合にも、効率的に多様な表現を行うことができ、ユーザは、同時に複数の表現手段に視点を向けなくても、ロボット装置の複数の状態を把握でき、ユーザとの間でリアルタイムに円滑なコミュニケーションを実現することができる。
【０２１６】
また、本発明に係るロボット装置は、複数の動作から少なくとも１つの動作を選択して実行するロボット装置において、パラメータにより可変制御される表現単位を有する表現手段と、動作が選択されると、該動作に対してパラメータにより可変制御された上記表現単位が対応づけられた制御コマンドを発行するコマンド発行手段と、上記制御コマンドにより上記表現手段を制御する制御手段とを有し、上記制御コマンドは優先順位を有し、上記制御手段は、優先順位が異なる複数の制御コマンドが発行された場合、該優先順位が高い制御コマンドに従って上記表現手段を制御するので、表現手段を制御する制御コマンドに優先度を設けることで多重化することができ、複数同時に出力されたコマンド間の切り替え制御が容易になり、モジュール設計を行う際にそのプログラムを簡略化することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるロボット装置の外観を示す斜視図である。
【図２】本発明の実施の形態におけるロボット装置の機能構成を模式的に示すブロック図である。
【図３】本発明の実施の形態におけるロボット装置の制御ユニットの構成を更に詳細に示すブロック図である。
【図４】本発明の実施の形態におけるロボット装置の行動制御システム１０の機能構成を示す模式図である。
【図５】本発明の実施の形態における行動制御システムのオブジェクト構成を示す模式図である。
【図６】本発明の実施の形態における状況依存行動階層による状況依存行動制御の形態を示す模式図である。
【図７】状況依存行動階層による行動制御の基本的な動作例を示す模式図である。
【図８】状況依存行動階層により反射行動を行なう場合の動作例を示す模式図である。
【図９】状況依存行動階層により感情表現を行なう場合の動作例を示す模式図である。
【図１０】状況依存行動階層が複数のスキーマによって構成されている様子を示す模式図である。
【図１１】状況依存行動階層におけるスキーマのツリー構造を示す模式図である。
【図１２】状況依存行動階層において通常の状況依存行動を制御するためのメカニズムを示す模式図である。
【図１３】反射行動部におけるスキーマの構成を示す模式図である。
【図１４】反射行動部により反射的行動を制御するためのメカニズムを示す模式図である。
【図１５】状況依存行動階層において使用されるスキーマのクラス定義を示す模式図である。
【図１６】状況依存行動階層内のクラスの機能的構成を示す模式図である。
【図１７】スキーマのＲｅｅｎｔｒａｎｔ性を説明する図である。
【図１８】本発明の第１の実施の形態におけるロボット装置の表現手段である発光装置における直交表現を示す模式図である。
【図１９】本発明の第１の実施の形態におけるロボット装置の表現手段の一例を示す図であって、（ａ）は、ＬＥＤ発光装置を示す平面図及び側面図、（ｂ）は、ＬＥＤ発光装置の内部回路を示す回路図である。
【図２０】本発明の第１の実施の形態におけるロボット装置の状態表現を行う各処理部を示すブロック図である。
【図２１】本発明の第２の実施の形態におけるロボット装置の行動決定部から表現手段までの各処理部を示すブロック図である。
【図２２】ＬＥＤコマンドを発行するスキーマの具体例とリソースの使用方法の関係を説明する図である
【図２３】リソースツリーマップを示す図である。
【図２４】（ａ）は、リソースが競合しない場合、即ち同一階層からコマンドが発行される場合を示す図であり、（ｂ）は、リソースが競合する場合、即ち、コマンドが上書きされる場合を示す図である。
【図２５】コマンドの優先順位を説明する図である。
【図２６】本発明の第２の実施の形態におけるロボット装置の行動生成部に供給されるＦＧコマンド、ＢＧコマンド、及び行動生成部により調停され出力される出力コマンドを示す図である。
【符号の説明】
１  ロボット装置、１０  行動制御システム、１５  ＣＣＤカメラ、１６  マイクロフォン、１７  スピーカ、１８  タッチ・センサ、１９，１４０  ＬＥＤ発光装置、２０  制御部、２１  ＣＰＵ、２２  ＲＡＭ、２３  ＲＯＭ、２４  不揮発メモリ、２５  インターフェース、２６  無線通信インターフェース、２７  ネットワーク・インターフェース・カード、２８  バス、２９  キーボード、４０  入出力部、５０  駆動部、５１  モータ、５２  エンコーダ、５３  ドライバ、８０  状態認識部、８０ａ  顔発見オブジェクト、８１  視覚認識機能部、８２  聴覚認識機能部、８３  接触認識機能部、９１  内部状態管理部、９２  短期記憶部（ＳＴＭ）、９３  長期記憶部（ＬＴＭ）、１００，１２０  行動決定部、１０１  熟考行動階層、１０２  状況依存行動階層（ＳＢＬ）、１０３  反射行動部、１１０，１３０  行動生成部、１２１ａ  ダンススキーマ、１２１ｂ  表現スキーマ、１２１ｃ  感情対話スキーマ、１４０ａ  ＬＥＤコントローラ、１５１  感情状態、１５２  視覚認識状態、１６１  イベント、２０１基板、２１１〜２１３  ＬＥＤ、２３１，２３２  静電保護ダイオード、２２１〜２２６  電極、２０２  樹脂
【図１】
2004237392.tif 000005
【図２】
2004237392.tif 000006
【図３】
2004237392.tif 000007
【図４】
2004237392.tif 000008
【図５】
2004237392.tif 000009
【図６】
2004237392.tif 000010
【図７】
2004237392.tif 000011
【図８】
2004237392.tif 000012
【図９】
2004237392.tif 000013
【図１０】
2004237392.tif 000014
【図１１】
2004237392.tif 000015
【図１２】
2004237392.tif 000016
【図１３】
2004237392.tif 000017
【図１４】
2004237392.tif 000018
【図１５】
2004237392.tif 000019
【図１６】
2004237392.tif 000020
【図１７】
2004237392.tif 000021
【図１８】
2004237392.tif 000022
【図１９】
2004237392.tif 000023
【図２０】
2004237392.tif 000024
【図２１】
2004237392.tif 000025
【図２２】
2004237392.tif 000026
【図２３】
2004237392.tif 000027
【図２４】
2004237392.tif 000028
【図２５】
2004237392.tif 000029
【図２６】
2004237392.tif 000030