(57)【要約】【課題】  ロボット装置自身の感情や本能等の状態に基づいて自律的に行動することを可能とする。【解決手段】  供給される入力情報Ｓ１〜Ｓ３に応じた動作を行うロボット装置１であって、順次供給される入力情報Ｓ１〜Ｓ３の履歴に応じた現在の動作及び次に供給される入力情報Ｓ１〜Ｓ３に基づいて現在の動作に続く次の動作を、コントローラ３２内の動作決定部が決定することにより、ロボット装置１自身の感情や本能等の状態に基づいて自律的に行動する。【選択図】  図２
2010149276.tif 000002
【特許請求の範囲】
【請求項１】
供給される入力情報に応じた動作を行うロボット装置であって、
順次供給される入力情報の履歴に応じた現在の動作及び次に供給される上記入力情報に基づいて、上記現在の動作に続く次の動作を決定する動作決定手段を備えた
ロボット装置。
【請求項２】
上記入力情報は、ユーザから与えられるユーザ指令情報、ユーザからの働きかけの情報、周囲の環境の情報、装置内部の状態の情報、現在又は過去の行動の情報、感情及び／又は本能の状態の情報、のうちの全て又は一部を組み合わせてなる
請求項１記載のロボット装置。
【請求項３】
上記動作決定手段は、上記動作の数が有限個でなる有限オートマトンを用いて上記次の動作を決定する
請求項１記載のロボット装置。
【請求項４】
上記動作決定手段は、上記現在の動作及び上記入力情報に基づいて複数の動作を遷移先の候補として選定し、当該選定された複数の動作のうち所望の動作を乱数によってランダムに決定する確率有限オートマトンを用いる
請求項１記載のロボット装置。
【請求項５】
上記動作決定手段は、現在の動作を実行している時間が一定値に達したこと、又は特定の入力情報が入力された、又は当該装置の感情及び本能の状態を決定する複数種類の感情モデル及び複数種類の欲求モデルのうち所望の感情モデル又は欲求モデルのレベルが所定の閾値を超えたことを、上記現在の動作を上記次の動作に遷移させる際の条件とする
請求項１記載のロボット装置。
【請求項６】
上記動作決定手段は、感情及び本能の状態を決定する複数種類の感情モデル及び複数種類の欲求モデルのうち所望の感情モデル又は欲求モデルのレベルが所定の閾値を超えているか否かに基づいて遷移先の動作を決定する
請求項１記載のロボット装置。
【請求項７】
上記動作決定手段は、当該装置の感情及び本能の状態を決定する複数種類の感情モデル及び複数種類の欲求モデルのうち所望の感情モデル又は欲求モデルのレベルに応じて、遷移先の動作で行われる行動を特徴付けるパラメータを変化させる
請求項１記載のロボット装置。
【請求項８】
供給される入力情報に応じて動作させる動作制御方法であって、
順次供給される入力情報の履歴に応じた現在の動作及び次に供給される上記入力情報に基づいて、上記現在の動作に続く次の動作を決定する
動作制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット装置及び動作制御方法に関し、例えば四足動物のように動作するロボット装置に適用して好適なものである。
【背景技術】
【０００２】
従来、ユーザからの指令や周囲の環境に応じて動作する四足歩行型のロボット装置、多関節ロボット或いはコンピュータグラフィックスで動くキャラクターを用いたアニメーション等が提案及び開発されている。このようなロボット装置或いはアニメーション（以下、まとめてロボット装置等という。）は、ユーザからの指令に基づいて一連の動作を行う。
【０００３】
例えば、犬のように四足動物によく似た形状からなるロボット装置であるいわゆるペットロボットは、ユーザから「伏せ」という命令を受けると、伏せの姿勢をとったり、自分の口の前にユーザが手を差し出すと必ず「おて」をしたりする。
【０００４】
従来技術として、下記の特許文献１及び非特許文献１、２が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６２−０２４９８８号公報
【非特許文献】
【０００６】
【非特許文献１】大角雅治、工藤敏巳、斎藤幸弘、田島年浩，感情を持ったインタラクティブ・ペットロボット，ＯＭＲＯＮ  ＴＥＣＨＮＩＣＳ，日本，オムロン株式会社，１９９８年１２月２２日，Vol.38, No.4，pp.54-61
【非特許文献２】藤田雅博、福村直博，ROBOT Entertainment，第６回ソニーリサーチフォーラム論文集，日本，ソニー株式会社，１９９７年  ２月２８日，pp.234-239
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、動物を模したロボット装置等の動作はできるだけ本物の動物がする動作に近いことが望ましい。
【０００８】
しかし、これまでのロボット装置等は、ユーザからの指令や環境に基づいて予め決められた動作を行うだけであった。このように従来のロボット装置等は本物の動物と同じように自律的に動作を行うものではないことから、できるだけ本物の動物に近く、自律的に行動を決定するようなロボット装置等を得たいというユーザの要求を満足させることはできなかった。
【０００９】
さらに、ロボット装置等は、目標とされる姿勢や目標とされる動作を所定の姿勢や動作を経由して実行しているが、目標とされる姿勢や動作までに遷移する間に実行される姿勢や動作を複数用意しておくことはロボット装置等の動作表現の豊富化につながる。
【００１０】
また、ロボット装置等が目的とされる姿勢や動作に到達されるまでに経由する姿勢や動作として複数通り用意した場合、経由する姿勢や動作が最適に選択されて、当該目的とされる姿勢や動作に遷移できることが好ましいといえる。
【００１１】
本発明は、上述の実情に鑑みてなされたものであり、自然な動作を自律的に行うロボット装置及び動作制御方法の提案を目的としている。
【００１２】
また、本発明は、上述の実情に鑑みてなされたものであり、表現の豊富化を可能にするとともに、遷移する際の姿勢や動作が最適化されたロボット装置及び動作制御方法の提供を目的としている。
【課題を解決するための手段】
【００１３】
本発明に係るロボット装置は、供給される入力情報に応じた動作を行うロボット装置であって、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて、現在の動作に続く次の動作を決定する動作決定手段を備える。
【００１４】
このような構成を備えるロボット装置は、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて現在の動作に続く次の動作を決定することにより、ロボット装置自身の感情や本能等の状態に基づいて自律的に行動する。
【００１５】
また、本発明に係る動作制御方法は、供給される入力情報に応じて動作させる動作制御方法であって、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて、現在の動作に続く次の動作を決定する。
【００１６】
このような動作制御方法は、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて現在の動作に続く次の動作を決定することにより、例えば、ロボット装置を自身の感情や本能等の状態に基づいて自律的に行動させる。
【発明の効果】
【００１７】
本発明によれば、供給される入力情報に応じて動作させ、入力情報に基づいて動作に起因するモデルを変化させることにより動作を決定することにより、例えばロボット装置を自身の感情や本能等の状態に基づいて自律的に行動させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明によるロボット装置の一実施の形態を示す斜視図である。
【図２】ロボット装置の回路構成を示すブロック図である。
【図３】コントローラにおけるデータ処理を示す略線図である。
【図４】感情・本能モデル部によるデータ処理を示す略線図である。
【図５】感情・本能モデル部によるデータ処理を示す略線図である。
【図６】感情・本能モデル部によるデータ処理を示す略線図である。
【図７】行動決定機構部における有限オートマトンの状態遷移図である。
【図８】行動指令情報の生成について説明するために使用した行動決定機構部等の構成を示すブロック図である。
【図９】ステートが確率により決定される場合の説明に使用した図である。
【図１０】感情モデルと本能モデルとの関係について説明するために使用した図である。
【図１１】姿勢遷移機構部における姿勢遷移のグラフを示す図である。
【図１２】姿勢遷移のグラフの具体例を示す図である。
【図１３】現在の姿勢を把握できない場合に一旦遷移させるニュートラルの姿勢を備えること、さらに転倒復帰を可能にすることを説明するために使用した状態遷移図である。
【図１４】距離を指標とした経路探索を説明するために使用した図である。
【図１５】分類分けにより経路探索をを行う場合を説明するために使用した図である。
【図１６】距離を具体的に設定した場合の経路探索を説明するために使用した図である。
【図１７】歩行方向をパラメータとする場合を説明するために使用したロボット装置の上面図である。
【図１８】パラメータと動作の内容を示す図である。
【図１９】姿勢間を遷移する間の動作に他の動作を同期させる場合の説明をするために使用した図である。
【図２０】異なる姿勢において同様な動作を実行させる場合の説明に使用した図である。
【図２１】ロボット装置を示す斜視図である。
【図２２】基本姿勢を取り入れて、全体と部位との間で姿勢を遷移させる場合の説明をするために使用した図である。
【図２３】現在の姿勢が全体にあり、目標の動作が部位にある場合において、基本姿勢に一旦遷移させてから目標とする動作を実行する場合の説明に使用した図である。
【図２４】現在の姿勢が部位にあり、目標の動作が全体にある場合において、基本姿勢に一旦遷移させてから目標とする動作を実行する場合の説明に使用した図である。
【図２５】指令の挿入処理を説明するために使用した図である。
【図２６】全体及び各構成部分に対応した指令を保存可能とする指令保存部を示す図である。
【図２７】全体及び各構成部分に対応した指令を保存可能とする指令保存部による処理形態の一例を説明するために使用したを図である。
【図２８】経路探索をする動作経路探索部を示すブロック図である。
【図２９】指令により動作が実行されるまでの一連の処理を示すフローチャートである。
【図３０】頭のグラフ上において、現在の姿勢から目標の動作まで複数の有向アークが経由されることを説明するために使用した図である。
【図３１】本発明が適用される他の例であって、コンピュータグラフィックスで動くキャラクターを示す図である。
【図３２】本発明によるロボット装置の他の実施の形態を示す斜視図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について図面を用いて詳しく説明する。
【００２０】
（１）ロボット装置の構成  
図１に示すように、ロボット装置１は全体が構成されており、頭に相当する頭部２と、胴体に相当する本体部３と、足に相当する足部４Ａ，４Ｂ，４Ｃ，４Ｄと、尻尾に相当する尻尾部５とを連結されて構成されている。ロボット装置１は、本体部３に対して頭部２、足部４Ａ〜４Ｄ、尻尾部５を動かすことによって本物の四足動物のように動作する。
【００２１】
頭部２には、目に相当し、画像を撮像する例えばＣＣＤ（Charge Coupled Device）カメラでなる画像認識部１０と、耳に相当し、音声を集音するマイク１１と、口に相当し、音声を発するスピーカ１２とがそれぞれ所定位置に取り付けられている。また、頭部２には、ユーザからリモートコントローラ（図示せず）を介して送信される指令を受信するリモートコントローラ受信部１３と、ユーザの手などが接触されたことを検出するためのタッチセンサ１４と、発光手段でなるＬＥＤ（Light Emitting Diode）１５とが取り付けられている。
【００２２】
本体部３には、腹に相当する位置にバッテリ２１が取り付けられると共に、その内部にロボット装置１全体の動作を制御するための電子回路（図示せず）等が収納されている。
【００２３】
足部４Ａ〜４Ｄの関節部分、足部４Ａ〜４Ｄと本体部３の連結部分、本体部３と頭部２の連結部分、本体部３と尻尾部５の連結部分などは、それぞれのアクチュエータ２３Ａ〜２３Ｎによって連結されており、本体部３内部に収納される電子回路の制御に基づいて駆動するようになされている。このようにロボット装置１は、各アクチュエータ２３Ａ〜２３Ｎを駆動させることにより、頭部２を上下左右に振らせたり、尻尾部５を振らせたり、足部４Ａ〜４Ｄを動かして歩かせたり走らせたりして、本物の四足動物のような動作を行わせる。
【００２４】
このように構成されているロボット装置１は、後に詳述するが、概略として例えば次のような特徴がある。
【００２５】
ロボット装置がある姿勢（第１の姿勢）から他の姿勢（第２の姿勢）へ遷移するように指示されたとき、第１の姿勢から第２の姿勢に直接に遷移しないで、予め用意された無理のない姿勢をたどって遷移する。
【００２６】
また、ロボット装置１の姿勢遷移で任意の姿勢に到達したときに通知を受け取れる。
【００２７】
ロボット装置１は、頭、足、尻尾の部分から構成され、これらの各部分の姿勢を独立に管理できる。従って、例えば、頭と足はそれぞれ独立に姿勢制御が可能になる。また、頭、足、尻尾の全てを含む全体の姿勢を部分とは別に管理できる。
【００２８】
また、ロボット装置１の動作命令に動作の詳細を示すためのパラメータを渡すことができる。
【００２９】
ロボット装置１には以上のような特徴があり、以下にこのような特徴を含めた多くの特徴を説明する。
【００３０】
（２）ロボット装置の回路構成  
ロボット装置１の回路構成は、例えば図２に示すような構成となっている。頭部２は、マイク１１及びリモートコントローラ受信部１３でなるコマンド受信部３０と、画像認識部１０及びタッチセンサ１４からなる外部センサ３１と、スピーカ１２と、ＬＥＤ１５とを有している。また、本体部３は、バッテリ２１を有すると共に、その内部にロボット装置１全体の動作を制御するためのコントローラ３２と、バッテリ２１の残量を検出するためのバッテリセンサ３３及びロボット装置１内部で発生する熱を検出する熱センサ３４でなる内部センサ３５とを有している。さらに、ロボット装置１の所定位置にはアクチュエータ２３Ａ〜２３Ｎがそれぞれ設けられている。
【００３１】
コマンド受信部３０は、ユーザからロボット装置１に与えられる指令、例えば「歩け」、「伏せ」、「ボールを追いかけろ」等の指令を受信するためのものであり、リモートコントローラ受信部１３及びマイク１１によって構成されている。
【００３２】
リモートコントローラ受信部１３は、リモートコントローラ（図示せず）がユーザによって操作されて入力された所望の指令を受信する。例えば、リモートコントローラからの指令の送信は、赤外線光により行われる。リモートコントローラ受信部１３は、この赤外線光を受信して受信信号Ｓ１Ａを生成し、これをコントローラ３２に送出する。
【００３３】
なお、リモートコントローラについては、赤外線光により行う場合に限定されるものはなく、音階によってロボット装置１に命令を与えるようなものとすることもできる。この場合には、ロボット装置１は、例えば、マイク１１から入力されたリモートコントローラからの音階に応じた処理を行うようにする。
【００３４】
マイク１１は、ユーザが所望の指令に応じた音声を発すると、当該ユーザの発した音声を集音して音声信号Ｓ１Ｂを生成し、これをコントローラ３２に送出する。
【００３５】
コマンド受信部３０は、このようにユーザからロボット装置１に与えられる指令に応じて受信信号Ｓ１Ａ及び音声信号Ｓ１Ｂでなる指令信号Ｓ１を生成し、これをコントローラ３２に供給する。
【００３６】
外部センサ３１のタッチセンサ１４は、ユーザからロボット装置１への働きかけ、例えば「なでる」、「たたく」等の働きかけを検出するためのものである。例えば、ユーザによりタッチセンサ１４が触れられて所望の働きかけがなされると、その働きかけに応じた接触検出信号Ｓ２Ａを生成し、これをコントローラ３２に送出する。
【００３７】
外部センサ３１の画像認識部１０は、ロボット装置１の周囲の環境を識別した結果、例えば「暗い」、「お気に入りのおもちゃがある」等の周囲の環境情報又は例えば「他のロボットが走っている」等の他のロボット装置の動きを検出するためのものである。この画像認識部１０は、周囲の画像を撮影した結果得られる画像信号Ｓ２Ｂを、コントローラ３２に送出する。
【００３８】
外部センサ３１は、このようにロボット装置１の外部から与えられる外部情報に応じて接触検出信号Ｓ２Ａ及び画像信号Ｓ２Ｂでなる外部情報信号Ｓ２を生成し、これをコントローラ３２に送出する。
【００３９】
内部センサ３５は、ロボット装置１自身の内部状態、例えばバッテリ容量が低下したを意味する「お腹がすいた」、「熱がある」等の内部状態を検出するためのものであり、バッテリセンサ３３及び熱センサ３４から構成されている。  
バッテリセンサ３３は、ロボット装置１の各回路に電源を供給するバッテリ２１の残量を検出するためのものである。このバッテリセンサ３３は、その検出した結果であるバッテリ容量検出信号Ｓ３Ａをコントローラ３２に送出する。熱センサ３４は、ロボット装置１内部の熱を検出するためのものである。この熱センサ３４は、その検出した結果である熱検出信号Ｓ３Ｂをコントローラ３２に送出する。
【００４０】
内部センサ３５は、このようにロボット装置１の内部の情報に応じてバッテリ容量検出信号Ｓ３Ａ及び熱検出信号Ｓ３Ｂでなる内部情報信号Ｓ３を生成し、これをコントローラ３２に送出する。
【００４１】
コントローラ３２は、コマンド受信部３０から供給される指令信号Ｓ１と、外部センサ３ｌから供給される外部情報信号Ｓ２と、内部センサ３５から供給される内部情報信号Ｓ３とに基づいて、各アクチュエータ２３Ａ〜２３Ｎを駆動させるための制御信号Ｓ５Ａ〜Ｓ５Ｎを生成し、これらをアクチュエータ２３Ａ〜２３Ｎにそれぞれ送出して駆動させることによりロボット装置１を動作させる。
【００４２】
その際コントローラ３２は、外部に出力するための音声信号Ｓ１０や発光信号Ｓ１１を必要に応じて生成し、このうち音声信号Ｓ１０をスピーカｌ２を介して外部に出力したり、発光信号Ｓ１１をＬＥＤ１５に送出して所望の発光出力（例えば、点滅にする、色を変化させる）をすることにより、ユーザに必要な情報を知らせるようになされている。例えば、発光出力により、ユーザに自己の感情を知らせるようにする。なお、ＬＥＤ１５に替えて画像を表示する画像表示部を備えることもできる。これにより、所望の画像表示により、ユーザに必要な情報、例えば感情等を知らせることができる。
【００４３】
（３）コントローラにおける処理  
コントローラ３２は、コマンド受信部３０から供給される指令信号Ｓ１と、外部センサ３１から供給される外部情報信号Ｓ２と、内部センサ３５から供給される内部情報信号Ｓ３とを、所定の記憶領域に予め格納されているプログラムに基づいてソフトウェア的にデータ処理を施し、その結果得られる制御信号Ｓ５をアクチュエータ２３に供給する。
【００４４】
この際のアクチュエータ２３の動作がロボット装置１の行動として表現されることになり、本発明はそのような表現の豊富化の実現を目的とするものである。
【００４５】
図３に示すように、コントローラ３２は、そのデータ処理の内容を機能的に分類すると、感情本能モデル変化手段としての感情・本能モデル部４０と動作決定手段としての行動決定機構部４１と姿勢遷移手段としての姿勢遷移機構部４２と制御機構部４３とに分けられ、外部から供給される指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３とを感情・本能モデル部４０及び行動決定機構部４１に入力する。概略としては以下のように機能する。
【００４６】
感情・本能モデル部４０において指令信号Ｓ１、外部情報信号Ｓ２及び内部情報信号Ｓ３に基づいて感情や本能の状態を決定する。そして、行動決定機構部４１において指令信号Ｓ１、外部情報信号Ｓ２及び内部情報信号Ｓ３に加え感情・本能モデル部４０により得た感情・本能状態情報Ｓ１０に基づいて次の動作（行動）を決定し、後段の姿勢遷移機構部４２において行動決定機構部４１により決定された次の動作（行動）に遷移するための姿勢の遷移計画を立てる。なお、行動決定機構部４１が決定した動作（行動）の情報は、感情・本能モデル部４０にフィードバックされて、感情・本能モデル部４０では、決定された動作（行動）を参照して感情や本能の状態を決定するようにもなされている。すなわち、感情・本能モデル部４０では、動作（行動）結果をも参照して本能及び感情を決定している。
【００４７】
制御機構部４３では、姿勢遷移機構部４２から姿勢遷移計画に基づいて送られてくる姿勢遷移情報Ｓ１８に基づいて各動作部を制御し、実際に姿勢を遷移させてから、行動決定機構部４１にて決定された次の動作（行動）を実際に実行する。
【００４８】
すなわち、ロボット装置１は、上述したようなコントローラ３２における機構により、感情・本能に基づいて次の動作（行動）を決定して、そのような動作（行動）を実行できる姿勢までの遷移計画を立てて、その遷移計画に基づいて姿勢を遷移させてから、そのような感情・本能に基づいて決定した動作（行動）を実際に実行する。以下、上述のコントローラ３２の各構成部について説明する。
【００４９】
（３−１）感情・本能モデル部における処理  
感情・本能モデル部４０は、図４に示すように、大別して、感情モデルを構成する情動群５０と、感情モデルとは属性の異なるモデルとして用意された本能モデルを構成する欲求群５１とを備えている。
【００５０】
ここで、感情モデルは、ある値を有する感情パラメータによって構成され、ロボット装置に規定された感情を感情パラメータの値に応じた動作を介して表出させるためのモデルである。感情パラメータは、主に、圧力センサや視覚センサ等のセンサによって検出された「叩かれた」、「怒られた」といった外部入力信号（外的要因）に基づいて、値が上下する。むろん、感情パラメータはバッテリー残量、体内温度等の内部入力信号（内的要因）に基づいても変化する場合もある。
【００５１】
また、本能モデルは、ある値を有する本能パラメータによって構成され、ロボット装置に規定された本能（欲求）を本能パラメータの値に応じた動作を介して表出させるためのモデルである。本能パラメータは、主に、行動履歴に基づいた「運動がしたい」あるいは、バッテリー残量に基づく「充電がしたい（お腹がすいた）」といった内部入力信号に基づいて、値が上下する。むろん、本能パラメータも、感情パラメータ同様、外部入力信号（外的要因）に基づいて変化してもよい。
【００５２】
これら感情モデル及び本能モデルは、それぞれ同一属性とされる複数種類のモデルによって構成されている。すなわち、情動群５０が同一属性からなる独立した感情モデルとしての情動ユニット５０Ａ〜５０Ｆを有し、欲求群５１が同一属性からなる独立した欲求モデルとしての欲求ユニット５１Ａ〜５１Ｄを有している。
【００５３】
情動群５０としては、「うれしさ」の感情を示す情動ユニット５０Ａ、「悲しさ」の感情を示す情動ユニット５０Ｂ、「怒り」の感情を示す情動ユニット５０Ｃ、「驚き」の感情を示す情動ユニット５０Ｄ、「恐れ」の感情を示す情動ユニット５０Ｅ及び「嫌悪」の感情を示す情動ユニット５０Ｆ等が挙げられる。欲求群５１としては、「運動欲（Movement Instinct）」の欲求を示す欲求ユニット５１Ａ、「愛情欲（Love Instinct）」の欲求を示す欲求ユニット５１Ｂ、「食欲（Recharge Instinct）」の欲求を示す欲求ユニット５１Ｃ及び「好奇心（Search Instinct）」の欲求を示す欲求ユニット５１Ｄ等が挙げられる。
【００５４】
情動ユニット５０Ａ〜５０Ｆは、情動の度合いを例えば０〜１００レベルまでの強度（感情パラメータ）によってそれぞれ表し、供給される指令信号Ｓ１、外部情報信号Ｓ２及び内部情報信号Ｓ３に基づいて情動の強度をそれぞれ時々刻々と変化させる。かくして感情・本能モデル部４０は、時々刻々と変化する情動ユニット５０Ａ〜５０Ｄの強度を組み合わせることによりロボット装置１の感情の状態を表現し、感情の時間変化をモデル化している。
【００５５】
さらに、所望の情動ユニット同士が相互に影響し合って強度が変化するようにもなされている。例えば、情動ユニット同士を相互抑制的又は相互刺激的に結合し、相互に影響し合って強度が変化するようにしている。
【００５６】
具体的には、図５に示すように、「うれしさ」の情動ユニット５０Ａと「悲しさ」の情動ユニット５０Ｂとを相互抑制的に結合することにより、ユーザにほめてもらったときには、「うれしさ」の情動ユニット５０Ａの強度を大きくすると共に、その際「悲しさ」の情動ユニット５０Ｂの強度を変化させるような入力情報Ｓ１〜Ｓ３が供給されていなくても、「うれしさ」の情動ユニット５０Ａの強度が大きくなることに応じて「悲しさ」の情動ユニット５０Ｂの強度を低下させる。同様に「悲しさ」の情動ユニット５０Ｂの強度が大きくなると、当該「悲しさ」の情動ユニット５０Ｂの強度が大きくなることに応じて「うれしさ」の情動ユニット５０Ａの強度を低下させる。
【００５７】
また、「悲しさ」の情動ユニット５０Ｂと「怒り」の情動ユニット５０Ｃとを相互刺激的に結合することにより、ユーザに叩かれたときには、「怒り」の情動ユニット５０Ｃの強度を大きくすると共に、その際「悲しさ」の情動ユニット５０Ｂの強度を変化させるような入力情報Ｓ１〜Ｓ３が供給されていなくても、「怒り」の情動ユニット５０Ｃの強度が大きくなることに応じて「悲しさ」の情動ユニット５０Ｂの強度を増大させる。同様に、「悲しさ」の情動ユニット５０Ｂの強度が大きくなると、当該「悲しさ」の情動ユニット５０Ｂの強度が大きくなることに応じて「怒り」の情動ユニット５０Ｃの強度を増大させる。
【００５８】
このように所望の情動ユニット同士が相互に影響し合って強度が変化するようにすることにより、当該結合した情動ユニットのうち一方の情動ユニットの強度を変化させると、これに応じて他方の情動ユニットの強度が変化することになり、自然な感情を有するロボット装置１が実現される。
【００５９】
一方、欲求ユニット５１Ａ〜５１Ｄは、情動ユニット５０Ａ〜５０Ｆと同様に、欲求の度合いを例えば０〜ｌ００レベルまでの強度（本能パラメータ）によってそれぞれ表し、供給される指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３とに基づいて欲求の強度をそれぞれ時々刻々と変化させる。かくして感情・本能モデル部４０は、時々刻々と変化する欲求ユニット５ｌＡ〜５１Ｄの強度を組み合わせることによりロボット装置１の本能の状態を表現し、本能の時間変化をモデル化している。
【００６０】
さらに、情動ユニット同士を結合した場合と同様に、所望の欲求ユニット同士が相互に影響し合って強度が変化するようにもなされている。例えば、欲求ユニット同士を相互抑制的又は相互刺激的に結合し、相互に影響し合って強度が変化するようにしている。これにより、結合した欲求ユニットのうち一方の欲求ユニットの強度を変化させると、これに応じて他方の欲求ユニットの強度が変化することになり、自然な本能を有するロボット装置１が実現される。
【００６１】
さらに、情動群５０と欲求群５１との間で各ユニットが互いに影響し合い、その強度を変化させるようにもなされている。例えば、欲求群５１の「愛情欲」の欲求ユニット５１Ｂや「食欲」の欲求ユニット５１Ｃの強度の変化が、情動群５０の「悲しさ」の情動ユニット５０Ｂや「怒り」の情動ユニット５０Ｃの強度の変化に影響したり、「食欲」の欲求ユニット５１Ｃの強度の変化が「悲しさ」の情動ユニット５０Ｂや「怒り」の情動ユニット５０Ｃの強度の変化に影響するようにである。これにより、「愛情欲」が満たされると「怒り」の感情や「悲しさ」の感情がおさえられ、また、「食欲」が満たされないと「怒り」の感情や「悲しさ」の感情が高まるといったような状態を表現することができるようになる。このように、感情と欲求との相互作用により、感情と本能とが複雑に影響し合った状態を表現することができる。
【００６２】
以上述べたように、感情・本能モデル部４０は、指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３とでなる入力情報Ｓ１〜Ｓ３、或いは情動群５０内及び欲求群５１内における情動ユニット同士及び欲求ユニット同士の相互作用や情動群５０と欲求群５１との間のユニット同士の相互作用等により情動ユニット５０Ａ〜５０Ｆ及び欲求ユニット５ｌＡ〜５１Ｄの強度をそれぞれ変化させる。
【００６３】
そして、感情・本能モデル部４０は、この変化した情動ユニット５０Ａ〜５０Ｆの強度を組み合わせることにより感情の状態を決定すると共に、変化した欲求ユニット５１Ａ〜５１Ｄの強度を組み合わせることにより本能の状態を決定し、当該決定された感情及び本能の状態を感情・本能状態情報Ｓ１０として行動決定機構部４１に送出する。
【００６４】
また、感情・本能モデル部４０には、後段の行動決定機構部４１からロボット装置１自身の現在又は過去の行動の内容を示す行動情報Ｓ１２が供給されている。例えば、後述する行動決定機構部４１において歩行の行動が決定された場合には、「長時間歩いた」とされた情報として行動情報Ｓｌ２が供給されるといったようにである。
【００６５】
このように行動情報Ｓ１２をフィードバックさせることで、同一の入力情報Ｓ１〜Ｓ３が与えられても、当該行動情報Ｓ１２が示すロボット装置１の行動に応じて異なる感情・本能状態情報Ｓ１０を生成することができるようになる。具体的には、次のような構成により、フィードバックされる行動情報Ｓ１２が感情や行動の状態の決定に参照される。
【００６６】
図６に示すように、感情・本能モデル部４０は、各情動ユニット５０Ａ〜５０Ｃの前段に、ロボット装置１の行動を示す行動情報Ｓ１２と入力情報Ｓ１〜Ｓ３とに基づいて各情動ユニット５０Ａ〜５０Ｃの強度を増減させるための強度情報Ｓ１４Ａ〜Ｓ１４Ｃを生成する強度増減手段５５Ａ〜５５Ｃをそれぞれ設け、当該強度増減手段５５Ａ〜５５Ｃから出力される強度情報Ｓ１４Ａ〜Ｓ１４Ｃに応じて各情動ユニット５０Ａ〜５０Ｃの強度をそれぞれ増減させる。
【００６７】
例えば、感情・本能モデル部４０は、ユーザに挨拶をしたときに頭をなでられれば、すなわちユーザに挨拶をしたという行動情報Ｓ１２と頭をなでられたという入力情報Ｓｌ〜Ｓ３とが強度増減手段５５Ａに与えられると、「うれしさ」の情動ユニット５０Ａの強度を増加させる。一方、感情・本能モデル部４０は、何らかの仕事を実行中に頭をなでられても、すなわち仕事を実行中であるという行動情報Ｓ１２と頭をなでられたという入力情報Ｓ１〜Ｓ３とが強度増減手段５５Ａに与えられても、「うれしさ」の情動ユニット５０Ａの強度を変化させない。例えば、強度増減手段５５Ａは、行動情報Ｓ１２と入力情報Ｓ１〜Ｓ３とに基づいて強度情報Ｓ１４Ａ〜Ｓ１４Ｃを生成するような関数やテーブルとして構成されている。例えば、他の強度増減手段５５Ｂ，５５Ｃについても同様である。
【００６８】
このように、感情・本能モデル部４０は、強度増減手段５５Ａ〜５５Ｃを備えて、入力情報Ｓ１〜Ｓ３だけでなく現在又は過去のロボット装置１の行動を示す行動情報Ｓ１２も参照しながら各情動ユニット５０Ａ〜５０Ｃの強度を決定することにより、例えば何らかのタスクを実行中にユーザがいたずらするつもりで頭をなでたとき、「うれしさ」の情動ユニット５０Ａの強度を増加させるような不自然な感情を起こさせることを回避することができる。因みに、感情・本能モデル部４０は、欲求ユニット５１Ａ〜５ｌＣの場合も同様にして、供給される入力情報Ｓ１〜Ｓ３及び行動情報Ｓ１２に基づいて各欲求ユニット５１Ａ〜５１Ｃの強度をそれぞれ増減させるようになされている。
【００６９】
なお、本実施の形態では、「うれしさ」、「悲しさ」及び「怒り」の情動ユニット５０Ａ〜５０Ｃに強度増減手段５５Ａ〜５５Ｃを備えた例について説明した。しかし、これに限定されるものではなく、他の「驚き」、「恐れ」及び「嫌悪」の情動ユニット５０Ｄ〜５０Ｆに強度増減手段を備えることもできることはいうまでもない。
【００７０】
以上述べたように、強度増減手段５５Ａ〜５５Ｃは、入力情報Ｓ１〜Ｓ３及び行動情報Ｓ１２が入力されると、予め設定されているパラメータに応じて強度情報Ｓ１４Ａ〜Ｓ１４Ｃを生成して出力するので、当該パラメータをロボット装置１毎に異なる値に設定することにより、例えば怒りっぽいロボット装置や明るい性格のロボット装置のように、当該ロボット装置に個性を持たせることができる。
【００７１】
（３−２）行動決定機構部における処理  
行動決定機構部４１は、各種情報に基づいて次の動作（行動）を決定する部分である。行動決定機構部４１は、具体的には、図３に示すように、指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３と感情・本能状態情報Ｓ１０と行動情報Ｓ１２とでなる入力情報Ｓ１４に基づいて、次の動作（行動）を決定し、当該決定された動作（行動）の内容を行動指令情報Ｓｌ６として姿勢遷移機構部４２に送出する。
【００７２】
具体的には、図７に示すように、行動決定機構部４１は、過去に供給された入力情報Ｓ１４の履歴を動作状態（以下、これをステートという。）で表し、現在供給された入力情報Ｓ１４とそのときのステートとに基づいて当該ステートを別のステートに遷移させることにより、次の動作を決定するような有限個のステートを有する確率有限オートマトン５７と呼ばれるアルゴリズムを用いている。
【００７３】
このように行動決定機構部４１は、入力情報Ｓ１４が供給される毎にステートを遷移させ、当該遷移したステートに応じて行動を決定することにより、現在の入力情報Ｓ１４だけでなく過去の入力情報Ｓ１４も参照して動作を決定することができるようになる。
【００７４】
これにより、例えば「ボールを追いかけている」というステートＳＴ１において、「ボールが見えなくなった」という入力情報Ｓ１４が供給されると、「立っている」というステートＳＴ５に遷移する。一方で、「寝ている」というステートＳＴ２において、「起きろ」という入力情報Ｓ１４が供給されると、「立っている」というステートＳＴ４に遷移するようになる。よって、ステートＳＴ４及びステートＳＴ５は、行動が同一であっても過去の入力情報Ｓ１４の履歴が異なっていることから、ステートも異なっていることがわかる。
【００７５】
実際上、行動決定機構部４１は、所定のトリガーがあったことを検出すると、現在のステートを次のステートに遷移させる。トリガーの具体例としては、例えば現在のステートの行動を実行している時間が一定値に達したこと、又は特定の入力情報Ｓ１４が入力された、又は感情・本能モデル部４０から供給される感情・本能状態情報Ｓ１０が示す情動ユニット５０Ａ〜５０Ｆ及び欲求ユニット５１Ａ〜５１Ｄの強度のうち、所望のユニットの強度が所定の閾値を超えたこと等が挙げられる。
【００７６】
例えば、行動決定機構部４１は、感情・本能モデル部４０から供給された感情・本能状態情報Ｓ１０が示す情動ユニット５０Ａ〜５０Ｆ及び欲求ユニット５１Ａ〜５１Ｄの強度のうち、所望のユニットの強度が所定の閾値を超えているか否かに基づいて遷移先のステートを選択する。これにより、例えば同一の指令信号Ｓ１が入力されても、情動ユニット５０Ａ〜５０Ｆ及び欲求ユニット５１Ａ〜５１Ｄの強度に応じて異なるステートに遷移するようになされている。
【００７７】
したがって、行動決定機構部４１は、供給される外部情報信号Ｓ２を基に例えば目の前に手のひらが差し出されたことを検出し、かつ感情・本能状態情報Ｓ１０を基に「怒り」の情動ユニット５０Ｃの強度が所定の閾値以下であることを検出し、かつ内部情報信号Ｓ３を基に「お腹がすいていない」、すなわち電池電圧が所定の閾値以上であることを検出すると、目の前に手のひらが差し出されたことに応じて「おて」の動作を行わせるための行動指令情報Ｓ１６を生成し、これを姿勢遷移機構部４２に送出する。
【００７８】
また、行動決定機構部４１は、例えば目の前に手のひらが差し出され、かつ「怒り」の情動ユニット５０Ｃの強度が所定の閾値以下であり、かつ「お腹がすいている」すなわち電池電圧が所定の閾値未満であることを検出すると、「手のひらをぺろぺろなめる」ような動作を行わせるための行動指令情報Ｓ１６を生成し、これを姿勢遷移機構部４２に送出する。
【００７９】
また、行動決定機構部４１は、例えば目の前に手のひらが差し出され、かつ「怒り」の情動ユニット５０Ｃの強度が所定の閾値以上であることを検出すると、「お腹がすいていない」すなわち電池電圧が所定の閾値以上であるか否かにかかわらず、「ぷいと横を向く」ような動作を行わせるための行動指令情報Ｓ１６を生成し、これを姿勢遷移機構部４２に送出する。
【００８０】
上述のように行動決定機構部４１は、次の行動を入力情報Ｓ１４に基づいて決定しているが、例えば図８に示すように、決定される行動の内容を、「行動１」、「行動２」、「行動３」、「行動４」、・・・「行動ｎ」といった行動内容を示す情報として複数保持している。例えば、「行動１」はボールを蹴る行動を行う動作内容からなり、「行動２」は感情を表出させる動作内容からなり、「行動３」は自律探索をする動作内容からなり、「行動４」は障害物回避をするための動作内容からなり、「行動ｎ」はバッテリー残量が少ないことを知らせるための動作内容からなる、といったようにである。
【００８１】
このように予め用意されている行動内容を示す複数の情報の中から、入力情報Ｓ１４に基づいて確率有限オートマトン５７による選択がなされて、次の行動が決定される。
【００８２】
行動の選択（決定）については、具体的には図８に示すように、選択モジュール４４によってなされる。そして、選択モジュール４４は、その選択結果を、行動指令情報Ｓｌ６として姿勢遷移機構部４２に出力し、行動情報Ｓ１２として感情・本能モデル部４０や行動決定機構部４１に出力する。例えば、選択モジュール４４は、決定した行動にフラグを立て、その情報を行動情報Ｓ１２や行動指令情報Ｓ１６として行動決定機構部４１や姿勢遷移機構部４２に出力している。
【００８３】
行動決定機構部４１では、外部情報等（指令信号Ｓ１、外部情報信号Ｓ２）Ｓ２１や内部情報等（内部情報信号Ｓ３、感情・本能状態情報Ｓ１０）Ｓ２２に加えて行動情報Ｓ１２に基づいて行動を決定することにより、前の行動が考慮された次の行動を決定することができるようになる。
【００８４】
また、感情・本能モデル部４０では、上述したように、同一の入力情報Ｓ１〜Ｓ３に加えて行動情報Ｓ１２に基づいて、感情及び本能の状態を変化させる。これにより、感情・本能モデル部４０は、上述したように、同一の入力情報Ｓ１〜Ｓ３が与えられても異なる感情・本能状態情報Ｓ１０を生成することができるようになる。
【００８５】
なお、行動決定機構部４１の「行動１」、「行動２」、「行動３」、「行動４」、・・・「行動ｎ」の動作内容を示す情報にグループＩＤを付しておくこともできる。グループＩＤは、同一カテゴリーの行動において同一の情報を示すものであって、例えば、「ボールを蹴る」の行動について複数パターンの行動を有している場合には、当該複数の行動に同一のグループＩＤが付されるといったような関係にある。このように同一のカテゴリーの行動に同一のグループＩＤを付すことにより、同一カテゴリーの行動をグループとして処理できるようになる。
【００８６】
例えば、選択モジュール４４における行動の選択では、同じカテゴリー内ではどの行動が選択されても、同一のグループＩＤが発行される。そして、当該選択された行動に付されていたグループＩＤが感情・本能モデル部４０に送られることにより、感情・本能モデル部４０は、グループＩＤに基づいて、感情や本能の状態を決定することができるようになる。
【００８７】
また、行動決定機構部４１は、感情・本能モデル部４０から供給された感情・本能状態情報Ｓ１０が示す情動ユニット５０Ａ〜５０Ｆ及び欲求ユニット５１Ａ〜５１Ｄの強度のうち所望のユニットの強度に基づいて、遷移先のステートで行われる行動のパラメータ、例えば歩行の速度、手足を動かす際の動きの大きさや速度、音を出す際の音の高さや大きさなどを決定し、当該行動のパラメータに応じた行動指令情報Ｓ１６を生成して姿勢遷移機構部４２に送出するようになされている。
【００８８】
また、指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３とでなる入力情報Ｓ１〜Ｓ３は、感情・本能モデル部４０及び行動決定機構部４１に入力されるタイミングに応じて情報の内容が異なるため、感情・本能モデル部４０と共に行動決定機構部４１にも入力されるようになされている。
【００８９】
例えば、コントローラ３２は、「頭をなでられた」という外部情報信号Ｓ２が供給されると、感情・本能モデル部４０によって「うれしい」という感情・本能状態情報Ｓ１０を生成し、当該感情・本能状態情報Ｓ１０を行動決定機構部４１に供給するが、この状態において、「手が目の前にある」という外部情報信号Ｓ２が供給されると、行動決定機構部４１において上述の「うれしい」という感情・本能状態情報Ｓ１０と「手が目の前にある」という外部情報信号Ｓ２とに基づいて「喜んでおてをする」という行動指令情報Ｓ１６を生成させ、これを姿勢遷移機構部４２に送出させるようになされている。
【００９０】
また、動作状態（ステート（或いはノードともいう。））の遷移先は、確率有限オートマトン５７において、ある確率により決定されるようにもしている。例えば、外部からの入力があった場合に、その入力により、ある動作状態（行動状態）に２０％の確率（遷移確率）で遷移するといったようにである。具体的には、図９に示すように、「あるいている」のステートＳＴ１０から、「はしっている」のステートＳＴ１１や「寝ている」のステートＳＴ１２に遷移可能である場合において、「はしっている」のステートＳＴ１１への遷移確率がＰ１とされ、「寝ている」のステートＳＴ１２への遷移確率がＰ２とされ、そのような確率に基づいて遷移先が決定される。なお、確率により遷移先を決定する技術としては、特開平９−１１４５１４公開公報に開示されている技術が挙げられる。
【００９１】
また、ロボット装置１は、あるステートに遷移する確率の情報を、テーブルとして保持している。例えば、図１０に示すようなテーブルとしてである。図１０に示すテーブルは、現在の行動状態を示すノード（ｎｏｄｅ）名、入力されたイベント名、入力されたイベント（以下、入力イベントという。）のデータ名、入力イベントのデータの範囲、あるステートへの遷移確率等の情報によって構成されている。
【００９２】
このようなテーブルにより、入力されたイベントに応じてあるステートへの遷移確率が決定され、その遷移確率に基づいた遷移先のステートの決定がなされる。
【００９３】
ここで、現在の行動状態を示すノード名とは、このような現在のロボット装置１の行動状態（ステート）を示すもので、現在どのような行動が実行されているかを示す。
【００９４】
また、入力イベントとは、ロボット装置１に入力された情報であって、このテーブルは、このような入力イベントによって整理されている。例えば、入力イベント名の「ＢＡＬＬ」は、入力イベントがボールを発見したことをいい、「ＰＡＴ」は、軽く叩かれたことを示すことをいい、「ＨＩＴ」は殴られたことをいい、「ＭＯＴＩＯＮ」は動いているものを発見したことをいい、「ＯＢＳＴＡＣＬＥ」は障害物を見つけたことをいう。
【００９５】
なお、テーブルは、実際には多くの入力イベントによって整理されており、本実施の形態では、「ＢＡＬＬ」、「ＰＡＴ」、「ＨＩＴ」、「ＭＯＴＩＯＮ」、及び「ＯＢＳＴＡＣＬＥ」の入力イベントによりテーブルが整理されている場合について説明する。
【００９６】
入力イベントのデータの範囲は、そのような入力イベントがパラメータを必要する場合のそのようなデータの範囲をいい、入力イベントのデータ名は、そのようなパラメータ名をいっている。すなわち、入力イベントが「ＢＡＬＬ」であれば、データ名はそのボールの大きさ「ＳＩＺＥ」をいい、データの範囲はそのような大きさの範囲が０〜１０００であることをいう。同様に、入力イベントが「ＯＢＳＴＡＣＬＥ」であれば、データ名はその距離「ＤＩＳＴＡＮＣＥ」をいい、データの範囲はそのような距離の範囲が０〜１００であることをいう。
【００９７】
そして、あるステートへの遷移確率は、入力イベントの性質に応じて選択可能とされる複数のステートについて割り当てられている。すなわち、一つの入力イベントにおいて、選択可能とされるステートに付された遷移確率の合計が１００％になるように各アークに遷移確率が付されている。具体的にいえば、「ＢＡＬＬ」の入力イベントでみた場合、当該入力イベントの性質により選択可能とされる「ＡＣＴＩＯＮ１」、「ＡＣＴＩＯＮ３」、・・・に付されている遷移確率である３０％、２０％、・・・の合計が、１００％になるようになされている。
【００９８】
なお、ここで「ノード」及び「アーク」は、いわゆる確率有限オートマトンにおいて一般的に定義されているもので、「ノード」は状態（本例では、行動状態）とされ、「アーク」は「ノード」間をある確率をもってして結ぶ有向線（本例では、遷移動作）とされている。
【００９９】
以上のような情報からなるテーブルにより、次のようにして、入力イベント、入力イベントにおいて取得されたデータの範囲及び遷移確率が参照されて、遷移先のステートが選択される。
【０１００】
例えば、ロボット装置１がボールを発見した場合（入力イベントが「ＢＡＬＬ」である場合）において、そのボールの大きさが０〜１０００であるときには、現在の状態であるｎｏｄｅ（ノード）３から３０％の確率でｎｏｄｅ１２０へ遷移する。その遷移の際に「ＡＣＴＩＯＮ１」が付されたアークが選択され、「ＡＣＴＩＯＮ１」に対応する動作または表現が実行される。または、現在の状態であるｎｏｄｅ３から２０％の確率でｎｏｄｅ５００へ遷移する。その遷移の際に「ＡＣＴＩＯＮ３」が付されたアークが選択され、「ＡＣＴＩＯＮ３」に対応する動作または表現が実行される。「ＡＣＴＩＯＮ１」、「ＡＣＴＩＯＮ３」としては、例えば、「吠える」、「ボールを蹴る」といった行動が挙げられる。一方、ボールの大きさが１０００以上のときには、「ｎｏｄｅ１２０」や「ｎｏｄｅ５００」が遷移先として選択される確率はない。
【０１０１】
また、ロボット装置１が障害物を見つけた場合（入力イベントが「ＯＢＳＴＡＣＬＥ」である場合）において、その障害物までの距離が０〜１００であるときには、後退り行動としての「ｎｏｄｅ１０００」のノード（ステート）が１００％の確率で選択される。すなわち、１００％の確率で「ＭＯＶＥ＿ＢＡＣＫ」が付されたアークが選択され、「ＭＯＶＥ＿ＢＡＣＫ」が実行されるようになる。
【０１０２】
以上述べたように、テーブル等を用いて、確率により、ステート（ノード）又はアークの選択、すなわち行動モデルの決定をすることができる。このように、確率をも考慮に入れて遷移先のステートを決定することにより、遷移先が常に同じものとして選択されるようなことを防止することができるようになる。すなわち、ロボット装置１の行動の表現の豊富化を可能にする。
【０１０３】
また、上述のようなステートの選択、すなわち行動モデルの決定については、感情モデルの状態に基づいてできるようにもなされている。例えば、上述のステート間の遷移確率を感情モデルの状態に基づいて変化させることにより、行動モデルを決定するといったようにである。具体的には、次のようにである。
【０１０４】
例えば、上述したようなステートへの遷移を確率により決定することを利用する。すなわち、感情モデルの状態（例えば、レベル）を参照し、その感情モデルの状態に応じて遷移確率を変化させる。これにより、感情モデルに基づいて行動モデルの決定がなされるようになり、結果として行動モデルが感情モデルの状態に影響されるようになる。具体的に、これを、図１０に示すテーブルを用いて説明する。
【０１０５】
例えば、遷移確率を決定するデータとして、「ＪＯＹ（うれしさ）」、「ＳＵＲＰＲＩＳＥ（驚き）」や「ＳＡＤＮＥＳＳ（悲しさ）」を用意する。この「ＪＯＹ（うれしさ）」、「ＳＵＲＰＲＩＳＥ（驚き）」や「ＳＡＤＮＥＳＳ（悲しさ）」は、感情モデルの情動ユニット５０Ａ，５０Ｄ，５０Ｂに対応されるものである。そして、データの範囲は、例えば、０〜５０とする。このデータの範囲は、上述した情動ユニットのレベルに対応される。
【０１０６】
これにより、「ＪＯＹ（うれしさ）」、「ＳＵＲＰＲＩＳＥ（驚き）」や「ＳＡＤＮＥＳＳ（悲しさ）」が所定のレベル、本実施の形態では０〜５０にある場合には、所定のステートへの遷移確率が決定されることになる。例えば、そのデータ範囲が０〜５０である「ＪＯＹ（うれしさ）」の実際のレベルが３０であれば、「ＡＣＴＩＯＮ１」、「ＡＣＴＩＯＮ２」、「ＭＯＶＥ＿ＢＡＣＫ」、「ＡＣＴＩＯＮ４」が付されたアークが１０％、１０％、１０％、７０％の確率で選択され、所定のステートへ遷移するようになる。
【０１０７】
また、図１０に示すように、「ＪＯＹ（うれしさ）」、「ＳＵＲＰＲＩＳＥ（驚き）」や「ＳＡＤＮＥＳＳ（悲しさ）」を入力イベントに関係なく遷移確率の決定に参照することにより、すなわちいわゆる空イベント状態において、これらを参照することにより、例えば、外部から入力がない状態においても、遷移確率を決定することができる。これにより、例えば、一定時間入力イベントの検出がなされないとき、遷移確率の決定に感情モデルが参照されるようになる。
【０１０８】
さらに、このような場合において、参照を、「ＪＯＹ（うれしさ）」、「ＳＵＲＰＲＩＳＥ（驚き）」、「ＳＡＤＮＥＳＳ（悲しさ）」の順番ですることにより、「ＪＯＹ（うれしさ）」、「ＳＵＲＰＲＩＳＥ（驚き）」、「ＳＡＤＮＥＳＳ（悲しさ）」の順番で、その実際のレベルが参照されるようになる。これにより例えば、「ＳＡＤＮＥＳＳ（悲しさ）」の実際のレベルが６０である場合には、そのデータ範囲が０〜５０とされていることから、次の「ＪＯＹ（うれしさ）」の実際のレベルが参照されることになる。そして、例えば、そのデータ範囲が０〜５０である「ＪＯＹ（うれしさ）」の実際のレベルが２０であるとした場合、「ＡＣＴＩＯＮ２」が付されたアークが３０％の確率で、また、「ＭＯＶＥ＿ＢＡＣＫ」の付されたアークが６０％の確率で選択され所定のステートへ遷移するようになる。
【０１０９】
以上のように、感情モデルの状態に基づいて行動モデルを決定できるようにもなされている。このように、行動モデルが感情モデルの状態に影響されることにより、ロボット装置１の表現の豊富化が可能になる。
【０１１０】
以上述べたような種々の手段により、行動決定機構部４１による行動指令情報Ｓ１６の決定がなされる。
【０１１１】
（３−３）姿勢遷移機構部における処理  
姿勢遷移機構部４２は、目標とされる姿勢や目標とされる動作に遷移するための情報を生成する部分である。具体的には、姿勢遷移機構部４２は、図３に示すように、行動決定機構部４１から供給される行動指令情報Ｓ１６に基づいて現在の姿勢又は動作から次の姿勢又は動作（目的とされる姿勢又は目的とされる動作）に遷移させるための姿勢遷移情報Ｓ１８を生成し、これを制御機構部４３に送出する。例えば、現在の姿勢から次に遷移可能な姿勢は、胴体や手や足の形状、重さ、各部の結合状態のようなロボット装置１の物理的形状と、例えば関節が曲がる方向や角度のようなアクチュエータ２３Ａ〜２３Ｎの機構とによって決定され、姿勢遷移情報Ｓ１８は、そのようなことが考慮された、遷移させるための情報とされる。
【０１１２】
制御機構部４３は、このように姿勢遷移機構部４２から送られてくる姿勢遷移情報Ｓ１８に基づいて、ロボット装置１を実際に動作させている。
【０１１３】
姿勢遷移機構部４２は、ロボット装置１が遷移可能な姿勢及び遷移する際の動作を予め登録しており、例えばグラフとして保持しており、行動決定機構部４１から供給された行動指令情報Ｓ１６を姿勢遷移情報Ｓ１８として制御機構部４３に送出する。制御機構部４３は、姿勢遷移情報Ｓ１８に応じて動作して目標とされる姿勢或いは目標とされる動作に遷移する。以下、姿勢遷移機構部４２にて行う処理について詳しく説明する。
【０１１４】
例えば、ロボット装置１は、指令（行動指令情報Ｓ１６）の内容にしたがった姿勢に、直接遷移できない場合がある。すなわち、ロボット装置１の姿勢は、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できなく、ある動作や姿勢を経由して可能となる姿勢と、に分類されるからである。
【０１１５】
例えば、４本足のロボット装置１は、手足を大きく投げ出して寝転んでいる状態から伏せた状態へ直接遷移することはできるが、立った姿勢へ直接遷移することはできず、一旦手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ちあがるという２段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、４本足のロボット装置１は、立っている姿勢で両前足を挙げてバンザイをしようとすると、転倒してしまう場合である。或いは、現在の姿勢が寝転び姿勢（寝姿勢）にある場合において、指令の内容として座り姿勢でしかできないような「足をばたばたさせる」といった内容が送られてとき、そのまま足をばたばたばたさせる命令を出してしまうと、寝姿勢から座り姿勢への遷移と足をばたばたさせる動作とが実行されてしまうことになり、ロボット装置１はバランスを崩して転倒してしまう場合がある。
【０１１６】
したがって、姿勢遷移機構部４２は、行動決定機構部４１から供給された行動指令情報Ｓ１６が直接遷移可能な姿勢を示す場合には、当該行動指令情報Ｓ１６をそのまま姿勢遷移情報Ｓ１８として制御機構部４３に送出する一方、直接遷移不可能な姿勢を示す場合には、遷移可能な他の姿勢や動作を経由して目標とされる姿勢（行動指令情報Ｓ１６により指示された姿勢）まで遷移させるような姿勢遷移情報Ｓ１８を生成し、これを制御機構部４３に送出する。これにより、ロボット装置１は、遷移不可能な姿勢を無理に実行しようとする事態や転倒するようなことを回避することができる。或いは、目標とされる姿勢或いは動作に遷移するまで複数の動作を用意しておくことは表現の豊富化に結びつく。
【０１１７】
具体的には、姿勢遷移機構部４２は、ロボット装置１がとり得る姿勢及び動作が登録されているグラフであって、姿勢とこの姿勢を遷移させる動作とを結んで構成されたグラフを保持して、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、指令情報とされる行動指令情報Ｓ１６に基づいてグラフ上において探索して、その探索結果に基づいて動作させて、現在の姿勢から目標とされる姿勢又は目標とされる動作に遷移させる。すなわち、姿勢遷移機構部４２は、ロボット装置１がとり得る姿勢を予め登録すると共に、遷移可能な２つの姿勢の間を記録しておくようになされており、このグラフと行動決定機構部４１から出力された行動指令情報Ｓ１６とに基づいて目標とされる姿勢或いは動作まで遷移させる。
【０１１８】
具体的には、姿勢遷移機構部４２は、上述のようなグラフとして、図１１に示すような有向グラフ６０と呼ばれるアルゴリズムを用いている。有向グラフ６０では、ロボット装置１がとり得る姿勢を示すノードと、遷移可能な２つの姿勢（ノード）の間を結ぶ有向アーク（動作アーク）と、場合によっては一つのノードから当該一つのノードに戻る動作のアーク、すなわち一つのノード内で動作を完結する動作を示す自己動作アークとが結合されて構成されている。すなわち、姿勢遷移機構部４２は、ロボット装置１の姿勢（静止姿勢）を示す情報とされるノードと、ロボット装置１の動作を示す情報とされる有向アーク及び自己動作アークとから構成される有向グラフ６０を保持し、姿勢を点の情報として、さらに動作の情報を有向線の情報として把握している。
【０１１９】
ここで、有向アークや自己動作アークは複数とされていてもよく、すなわち、遷移可能なノード（姿勢）の間に有向アークが複数接合されてあってもよく、一つのノードにおいて複数の自己動作アークが結合されていてもよい。
【０１２０】
姿勢遷移機構部４２は、行動決定機構部４１から行動指令情報Ｓ１６が供給されると、現在の姿勢に対応したノードと、行動指令情報Ｓ１６が示す次に採るべき姿勢に対応するノードとを結ぶように、有向アークａの向きに従いながら現在のノードから次のノードに至る経路を探索し、当該探索した経路上にあるノードを順番に記録することにより、姿勢遷移の計画を立てるようになされている。以下、このような現在の姿勢から目標とされるノード（指令により指示されたノード）、或いは目標とされるアーク（指令により指示されたアーク）の探索を、経路探索という。ここで、目標とするアークとは、有向アークであってもよく、自己動作アークであってもよい。例えば、自己動作アークが目標とされるアークとなる場合とは、自己動作が目標とされた（指示された）場合であって、例えば、所定の芸（動作）が指示された場合等が挙げられる。
【０１２１】
姿勢遷移機構部４２は、経路探索により得た目標とされる姿勢（ノード）或いは目標とさえる動作（有向アーク或いは自己動作アーク）までの姿勢遷移計画に基づいて、遷移のための制御命令（姿勢遷移情報Ｓ１８）を後段の制御機構部４３に出力する。
【０１２２】
例えば、図１２に示すように、現在の姿勢が「ふせる」という姿勢を示すノードＮＤ２にある場合には、「すわれ」という行動指令情報Ｓ１６が供給されると、「ふせる」の姿勢を示すノードＮＤ２から「すわる」の姿勢を示すノードＮＤ５へは有向アークａ９が存在しており、直接遷移が可能であり、これにより、姿勢遷移機構部４２は、「すわれ」という内容の姿勢遷移情報Ｓ１８を制御機構部４３に与える。
【０１２３】
また、姿勢遷移機構部４２は、現在の姿勢が「ふせる」という姿勢を示すノードＮＤ２にある場合において「歩け」という行動指令情報Ｓ１６が供給されると、「ふせる」から「歩く」まで直接的に遷移ができないので、「ふせる」の姿勢を示すノードＮＤ２から「あるく」の姿勢を示すノードＮＤ４に至る経路を探索することにより姿勢遷移計画を立てる。すなわち、「ふせる」の姿勢を示すノードＮＤ２から有向アークａ２を経由して、「たつ」の姿勢を示すノードＮＤ３を選択し、さらに、「たつ」の姿勢を示すノードＮＤ３から有向アークａ３を経由して「あるく」の姿勢を示すノードＮＤ４に至るといった姿勢遷移計画を立てる。このような姿勢遷移計画の結果として、姿勢遷移機構部４２は、「たて」という内容の姿勢遷移情報Ｓ１８を出し、その後に「歩け」という内容の姿勢遷移情報Ｓ１８を制御機構部４３に出力する。
【０１２４】
なお、図１２に示すようなノードからグラフが構成されている場合における各ノードへの自己動作アークの貼り付けとしては、「たつ」の姿勢を示す姿勢を示すノードＮＤ３に「ダンスをする」の動作を示す自己動作アークを貼り付けたり、「すわる」の姿勢を示すノードＮＤ５に「バンザイをする」の動作を示す自己動作アークを貼り付けたり、或いは「ねそべる」の姿勢を示すノードＮＤ１に「いびきをする」の動作を示す自己動作アークを貼り付けたりすることが挙げられる。
【０１２５】
また、ロボット装置１は、通常、現在どの姿勢にあるかを把握しているように構成されている。しかし、現在の姿勢がわからなくなる場合も生じる。例えば、ロボット装置１は、ユーザ等に抱きかかえられたり、転倒時、或いは電源起動時において、現在の姿勢を把握できない。例えば、このような現在の姿勢が把握不可能なときの姿勢を不定姿勢という。例えば、このように現在の姿勢が把握できずに不定姿勢とされると、いわゆる出発の姿勢を特定できないことから、目標とされる姿勢或いは動作までの姿勢遷移計画を立てることができなくなる。
【０１２６】
このようなことから、ノードとしてニュートラル（中立）の姿勢を示すノードを設け、現在の姿勢が不明のときにはニュートラルの姿勢に遷移させて、姿勢遷移計画を立てるようにしている。すなわち、例えば、現在の姿勢が不明のときには、図１３に示すように、ニュートラルの姿勢をノードＮＤｎｔに一旦遷移させてから、「たっている」の姿勢を示すノードＮＤ３、「すわっている」の姿勢を示すノードＮＤ５、或いは「ねそべっている」の姿勢を示すノードＮＤ１といった基本的な姿勢を示すノードに遷移させるようにする。そして、このような基本的な姿勢に遷移させてから、本来の姿勢遷移計画を立てる。
【０１２７】
なお、本実施の形態では、ニュートラルの姿勢から遷移する基本的な姿勢として、「たっている」、「すわっている」、「ねそべっている」を挙げて説明したがこれに限定されるものではなく他の姿勢であってもよいことはいうまでもない。
【０１２８】
また、不定姿勢からニュートラルの姿勢（ノード）への遷移については、具体的には、低トルクあるは低速度で動作部（例えばアクチュエータ）を駆動して行うことにする。これにより、サーボの負担を減らして、さらに例えば、通常の動作と同様に動作部を動作させてしまい動作部が破損していまうといったことを防止することができる。例えば、尻尾部５は、通常振り回すような動作をしているのであるが、そのような尻尾部５の動作をニュートラルの姿勢（ノード）への遷移の際に行うと、ロボット装置１が不定姿勢として寝ているような状態にある場合に、尻尾部５が破損してしまうようなことがあるからである。
【０１２９】
また、ロボット装置は転倒を把握して、転倒状態から上述したような基本的な姿勢を示すノードに遷移させることもできる。例えば、ロボット装置１には、加速度センサが備えられ、自己が転倒したことを検出する。
【０１３０】
具体的には、ロボット装置１は加速度センサにより自己が転倒したことを検出すると、転倒復帰のための所定の動作を行い、その後、上述したような基本的な姿勢を示すノードに遷移する。
【０１３１】
また、ロボット装置１は、転倒方向について把握するようにも構成されている。具体的には、加速度センサにより、前後、左右の４方向について転倒方向を把握可能とされている。これにより、ロボット装置は、転倒方向に応じた転倒復帰の動作が可能になり、速やかに基本的な姿勢への遷移が可能になる。
【０１３２】
また、転倒を検出した際には、所定の表現を出力するようにしてもよい。例えば、所定の表現として、自己動作アークａ１１により足をばたばたさせる動作を行う。これにより、ロボット装置１が転んでもがいている様子を表現することができるようになる。
【０１３３】
さらに、「ふせる」のノードＮＤ２と「立つ」のノードＮＤ３との間に図示しない複数の有向アークがある場合には、最適な一の有向アークを選択して、「立つ」のノードＮＤ３に遷移するような姿勢遷移計画を立てることもできる。
【０１３４】
上述したように、ノードとノードとの間には、複数の有向アークが存在し、また、一つのノードに複数のノードが有向アークにより結合されている場合もある。よって、現在のノードから目標とされるノード或いはアーク（有向アーク又は自己動作アーク）を結ぶ経路については複数存在する。
【０１３５】
このようなことから、現在のノードと目標とするノードとの距離を短くするといったことを指標として、すなわち最短距離として経路を探索するいわゆる最短距離探索により、姿勢遷移計画を立てるようにする。
【０１３６】
図１４に示すように、ノード（○印）とノード（○印）との間を結ぶ有向アーク（矢印）に距離という概念を用いて、最短距離探索を行う。このような経路探索手法としては、ダイキストラのパスサーチの理論等がある。距離は、後述するように、重み付けや、時間等といった概念に代替えすることも可能である。図１４には、距離が「１」の有向アークによって遷移可能なノードを結んだ結果を示している。
【０１３７】
よって、このような距離を経路探索の指標として用いることで、現在の姿勢（ノード）から目標とするノードへ最短距離の経路を選択できるようになる。
【０１３８】
具体的には、現在のノードから目標とされるノードへの経路が４通りある場合において、第１の経路の距離が「１２」、第２の経路の距離が「１０」、第３の経路の距離が「１５」、第４の経路の距離が「１８」であるようなときには、距離が「１０」の第２の経路により遷移していき、目標とされる姿勢までの姿勢遷移計画を立てる。
【０１３９】
最短距離の検索の手法についてはこのような手法によることに限定されるものではない。
【０１４０】
上述の例では、目標とするノードへの最短距離の経路を、複数の経路を探索してその結果の中から一の経路として選び出している。換言すれば、上述の経路探索では、現在のノードから目標とするノードに遷移できる経路を可能な限り探索して複数の経路を得て、その中から距離を指標として最短距離の経路を特定している。しかし、最短距離の経路探索では、このような手法により最短距離の経路を探索することに限定されるものではなく、目標とするノードへの最短距離の経路を検出した時点で、その経路探索の処理を終了することもできる。
【０１４１】
例えば、現在の姿勢から探索指標とする距離を徐々に延ばしてノードを次々に探索していき、その都度最短の距離にあるノード（目標とされるノードではないノード）を決定して、最終的に目標とするノードを検出した時点で当該最短距離の経路探索の処理を終了するといったようにである。すなわち例えば「等高線」といったような概念で考えられるような「等しい距離」といった概念を用い、現在のノードから距離を延ばしてその「等しい距離」上のノードを次々に検出し、目標とするノードを最終的に検出できた時点で、その経路探索の処理を終了する。このような経路探索の手法として、ダイキストラのパスサーチが挙げられる。
【０１４２】
このような最短距離の経路探索の手法によれば、目標とするノードまでに存在する全ての経路を探索することなく最短距離の経路を探索することができるので、最短距離の経路を短時間で検出することができるようになり、結果としてこのような探索処理を行うためのＣＰＵ等の負担を少なくすることができる。よって、全ての経路を探索することなく目標とするノードまでの最短距離の経路を検出することができるので、ネットワーク全体を検索することによる負担をなくすことができるようになり、例えば、このようなグラフを構築するネットワークが大規模となる場合でも、負担を少なくして経路を探索することができるようになる。
【０１４３】
また、経路探索の手法としては、図１５に示すように、ノードを行動或いは姿勢に基づき大まかに分類分け（クラスタリング）しておき、最初に分類による大まかな検索（予備検索）を行い、その後、詳細検索をするようにしてもよい。例えば、「右前足けり」という姿勢をとらせる際に、経路探索範囲として最初に「ボールをける」という分類のエリアを選択し、次に、そのエリアの中のみでパスを検索する。
【０１４４】
例えば、大まかな分類とそれを構成するものとの関連付け、すなわち「ボールをける」と「右前足けり」との関連付けは、このようなシステムを設計する際にＩＤ情報等を付しおくことによりなされている。
【０１４５】
なお、ノード間には、当該ノード間の両方向に向かう有向アークも存在するので、一旦遷移したノードから戻ってしまうような有向アークも存在する。このような場合、経路探索において何ら制約がなければ、戻る有向アークを選択してしまい、元のノードに戻ってしまう場合がある。これを防止するように、一度通過した（ノード）にならないような有向アークを選択するようにすることもできる。
【０１４６】
また、目標とするノードにたどり着けることができなかった場合、最終的な姿勢になれないといった結果を上位の制御手段や下位の制御手段等に出すようにする。
【０１４７】
また、上述の例では、目標を姿勢（ノード）として説明しているが、目標を動作すなわち有向アークや自己動作アークとすることもできる。目標とされるアークが自己動作アークとは、例えば、足部４にばたばたさせる動作をさせること等が挙げられる。
【０１４８】
また、経路探索における指標として、有向アークに付した重みや有向アークの動作時間を参照するようにすることもできる。有向アークに重み付けした場合は例えば次のようになる。
【０１４９】
現在のノードから目標とされるノードへの間の候補となる経路の途中にある有向アークの重みの総和を算出して、そのような候補とされている経路毎の総和を比較することにより、最適な経路（最小費用の経路）を選択する。
【０１５０】
また、有向アークの動作時間（実行時間）についてみた場合は例えば次のようになる。
【０１５１】
例えば、現在のノードから目標とするノードへ２つの有向アークを経由していく場合において、動作時間が１秒と２秒の２本の有向アークを経由した場合には、遷移時間は３秒かかる。よって、図１６に示すようなグラフにおいて、現在のノードＮＤ１から目標のノードＮＤ３に遷移しようとした場合において、ノードＮＤ２を経由して目標とするノードＮＤ３に遷移する場合と、有向アークａ３のみにより目標とするノードＮＤ３に遷移した場合とでは、動作時間を指標とすることにより、ノードＮＤ２を経由した方が動作時間が１秒の有向アークａ１と動作時間が２秒の有向アークａ２とを経由しているので、現在のノードＮＤ１と目標のノードＮＤ３とを直接結ぶ動作時間が５秒の有向アークａ４を遷移経路として選択するよりも、遷移時間を短くして目標のノードＮＤ３に到達することができる。よって、動作時間を指標としてみた場合には、２つの有向アークを経由した方が最短時間として目標のノードに到達できる姿勢遷移計画を立てることができる。
【０１５２】
また、有向アークに付す重み或いは距離を動作の難易度としてもよい。例えば、難易度が低いということを、距離が短いということとして設定する。また、有向アークの１本をデフォルトとすることもできる。有向アークの１本をデフォルトとしておくことにより、通常は、当該デフォルトの有向アークが選択されるようにして、指示があった場合に、デフォルトでない他の有向アークが選択されるようにすることもできる。
【０１５３】
以上のように、経路探索のための指標となるものを有向アークに付加しておくことにより、すなわち、有向アークに動作時間や、バランスの保持が困難な難易度を付加しておくことにより、大きい動作を避けて通るなどして最適な経路を選択した姿勢遷移計画を立てることができる。また、有向アークにエネルギー消費率を付加しておくことにより、最適効率の経路を選択した姿勢遷移計画を立てることができる。
【０１５４】
また、ノードとノードとの間には、複数の有向アークが存在する場合もあるので、このような場合には、選択される確率を有向アーク毎に振ることもできる。すなわち、例えば異なる確率を各アークに割り当てる。これにより、確率によるばらつきによって、同じノード間の遷移でも様々な動作が選択されるようになって、一連の動作が変化に富んだものとすることができる。例えば、座っている姿勢から立ちあがる姿勢に遷移させる際に、座っている足を後ろに伸ばしてから４足で立ちあがったり、前の足を前に伸ばしてから立ちあがる等の動作を確率で選択することで、どちらの動作で立ちあがるか再生されるまで（実際に実行されるまで）予測できない効果をもたらすことができる。
【０１５５】
具体的には、各有向アークの距離又は重みをｍ１，ｍ２，ｍ３・・・として、その総和（ｍ１＋ｍ２＋ｍ３＋・・・）をＭとするとき、距離又は重みがｍｉの有向アークに割り当てる確率Ｐｉは、（１）式として表せる。
【０１５６】
【数１】
2010149276.tif 000003
【０１５７】
これにより、重みが大の有向アークは通過経路として選択される確率が低く、重みが小の有向アークは通過経路として選択される確率が高くなる。
【０１５８】
また、経路探索をする領域を限定することもできる。例えば、所定の範囲内の経路のみに限定して経路探索することもできる。これにより、より短時間で、最適な経路を探索することができるようになる。
【０１５９】
また、これに重みを付け等して最適な経路を選択させることにより、離れた姿勢間を補間する動作の単調さを回避したり、危険度の高い経路を通る確率を減らすことができるようになる。
【０１６０】
また、アーク（有向アーク又は自己動作アーク）については、以下のようにグラフに登録することもできる。
【０１６１】
例えば、「歩く」といった動作について複数の実行態様が考えられる。例えば、図１７に示すように、０°方向に歩く、３０°方向に歩く、６０°方向に歩くといった動作は「歩く」について複数の実行態様となる。このような同一の動作について複数の実行態様を持たせること、すなわち、同一動作に対するパラメータを多くすることにより、ロボット装置１の表現の豊富化につながる。このような動作は、そのようなパラメータが異なるアークを複数存在させることにより可能になる。
【０１６２】
一方、このように、複数の実行態様に応じてパラメータが異なるアークを複数存在させることは、ネットワークの資源の有効利用といった面では好ましくない。すなわち、０°から９０°まで、１°毎に異なる方向に歩く動作を実行させようとした場合、９１個のアークが必要になるからである。
【０１６３】
そこで、「歩く」を一つのパスとして、歩行方向についてはパラメータにする。例えば、自己動作アークにおいて、「歩く」を命令して、その際にパラメータとして歩行方向を別に与えることにより、動きを再生するときに、その与えられたパラメータの方向に、「歩く」を実行することができるようになる。これにより、複数の自己動作アークを必要とせずに、１個の「歩く」の自己動作アークと、歩行方向のパラメータを有するだけで、同じ歩行の指示でも細かく方向を設定して実行させることが可能になる。これによりシナリオが多彩になってもなおグラフが簡素で済み、構築されているネットワーク資源を有効に使用することができるようになる。
【０１６４】
具体的には、行動指令情報Ｓ１６に付加情報として、動作のパラメータの情報を付加して、例えば、歩行方向を付加して、姿勢遷移機構部４２では、「歩く」という内容の姿勢遷移情報Ｓ１６にそのようなパラメータを添付して、制御機構部４３に送る。
【０１６５】
なお、上述の実施の形態では、自己動作アークにパラメータを付す場合について説明しているが、これに限定されず、有向アークにパラメータを付すこともできる。これにより、ノード間に「歩く」といった動作そのものは同じであるが、そのパラメータとされる「歩行方向」が異なる有向アークを複数用意する必要がなくなる。
【０１６６】
また、同じ動作を繰り返す場合には、繰り返す回数を示す情報を与えることで、繰り返しの動作を実行させることができる。例えば、「歩く」動作を実行させておき、別に繰り返す回数として「３回」の情報をパラメータとして与えることにより、命令形態を簡素にすることができる。これにより、例えば、３歩歩かせるような場合、「歩け」といった指示を３度出したり、「３歩歩け」といった指示としてではなく、「歩け」と「３回（３歩）」といった指示形態で実行させることができるようになる。これにより、そのような指示形態からなるアーク、或いはノードの情報量を少なくして保持することができるようになる。また、繰り返しの回数を指定できるようにすることで、指示を出す回数と指示が伝達されるまでの時間を短縮することができる。
【０１６７】
例えば、図１８に示すように、一歩ずつ歩く動作の指示として「ワンステップウォーク」の情報を制御機構部４３に出力し、そのパラメータとして「３」を指示することにより、３歩だけ歩く動作をさせたり、また、パラメータとして「７」を指示することにより、７歩だけ歩く動作をさせたり、さらに、パラメータとして「−１」を指示することにより、足に対して他の指示があるまでずっと歩き続ける動作をさせたりすることができる。
【０１６８】
また、繰り返し動作をさせておき、後で、制御機構部４３に繰り返し動作の停止命令を与えてやることにより、上述したように、同じ動作を繰り返して実行させることもできる。
【０１６９】
また、所定のアークに対してある表現を貼り付けて実行させることもできる。すなわち、所定の動作（アーク）が実行された場合、その動作に同期させて別の表現とされる動作を実行させることもできる。例えば、図１９に示すように、座り姿勢のノードＮＤ１から立ち姿勢のノードＮＤ２に遷移する際の有向アークａが設定されている場合に、有向アークａに所定の音声や動作を対応付けしておくこともできる。これにより、座り姿勢から立ち姿勢へ遷移する動作に、他の動作として笑っている目の表情や、”う〜ん”といった音声を同期して再生することができるようになる。このように異なる部位の組合せで、厚みのある表現が可能になり、シナリオが豊かになる効果も生まれる。
【０１７０】
また、各ノードに結合されている自己動作アークが重複している場合がある。例えば、図２０に示すように、寝姿勢のノード、座り姿勢のノードや立ち姿勢のノードそれぞれにおいて怒る動作をするような場合である。
【０１７１】
このような場合、「怒る」という名前の動作を、寝姿勢から寝姿勢への自己動作アーク、座り姿勢から座り姿勢への自己動作アーク、立ち姿勢から立ち姿勢への自己動作アークとなる怒りを表現する動作に命名しておけば、「怒る」という指示を与えるだけで、最短経路探索により、一番近い「怒る」の動作（自己動作アーク）を検索することもできる。すなわち、目標とされる動作（自己動作アーク）のうち最短で実行可能な一の動作までの経路を、姿勢遷移計画として立てる。これにより、例えば、現在の姿勢が寝姿勢に一番近い場合において、「怒る」の行動指令情報Ｓ１６が送られてきたとき、寝姿勢のノードの自己動作アークとして結合されている怒る動作として、例えば寝た状態でガリガリと地面をひっかく動作が実行されるようになる。
【０１７２】
このように複数のノードにおいて同一の動作を実行する自己動作アークが存在するような場合において、そのような所定の動作の指令がなされた場合、最短距離探索により最適な姿勢（最短距離にある姿勢）における動作が実行可能になり、これにより、上位制御手段は、各部の状態或いは動作について常に把握しておく必要なく、指示された動作を実行させることができるようになる。すなわち、例えば、上位制御手段（姿勢遷移機構部４２）は、「怒る」と指令があった場合に、現在のノードを把握するだけでよく、実際の「寝た状態で怒る」といったノードを探索することなく、単に「怒る」の自己動作アークを探索するだけで、最短距離の寝姿勢において怒る動作までの姿勢遷移計画を立てることができる。
【０１７３】
また、上述したように、同じ系統の動作を同じ名前で指示した場合、予め登録したグラフ上で現在の姿勢から最適な動作を探索して選択するようにしているので、例えば「怒る」等の抽象的でかつ豊富なパターンを持つ動作指示が簡潔に指示できるようになる。
【０１７４】
また、ロボット装置１は、各構成部分を別個に動作させることが可能とされている。すなわち、各構成部分それぞれについての指令を実行させることができる。ここで、ロボット装置（全体）１のそのような構成部分として、図２１に示すように、大別して頭部２、足部４、尻尾部５が挙げられる。
【０１７５】
このように構成されているロボット装置１において、尻尾部５と頭部２とを個別に動作させることができる。つまり、リソースが競合しないので個別に動作させることができる。一方、ロボット装置１の全体と頭部２とを別個に動作させることはできない。つまり、リソースが競合するので個別に動作させることはできない。例えば、指令の内容の中に頭部２の動作が含まれているような全体の動作が実行されている間は、頭部２についての指令の内容を実行することはできない。例えば、頭部２を振りながら尻尾部５を振ることは可能であり、全身（全体）を使った芸をしている最中に頭部２を振ることは不可能であるといったようにである。
【０１７６】
表１には、行動決定機構部４１から送られてくる行動指令情報Ｓ１６に、リソースが競合する場合と、リソースが競合しない場合の組合せを示している。
【０１７７】
【表１】
2010149276.tif 000004
【０１７８】
このように、リソースが競合するような指令が送られてきた場合、全体１の動作についての指令又は頭部２の動作についての指令のいずれか一方を先行して実行しなければならなくなる。以下に、そのような指令がなされている場合における処理について説明する。
【０１７９】
リソースが競合するため、一方の指令を先行して実行する場合、例えば、全体１の動作を終了させてから、頭部２についての命令を実行するような場合、全体１の動作により至った最後の姿勢から頭部２の動作が開始されることになる。しかし、全体１の動作後の最後の姿勢が、頭部２を振るといった動作を開始するのにふさわしい姿勢になっているとは限らない。全体１の動作後の最後の姿勢が、頭部２の動作開始にふさわしい姿勢になっていない状態で、すなわち、異なる指令により遷移する前後の姿勢が不連続となるような場合において、頭部２の動作を開始してしまうと、頭部２が急激な動作を示し、不自然な動作となってしまう場合がある。この問題は、現在の姿勢（或いは動作）から目標とする姿勢（或いは動作）がロボット装置１の全体と各構成部分にまたいでおり、ロボット装置１の全体を制御するために構築されているノード及びアークからなるネットワーク（グラフ）と、ロボット装置１の各構成部分を制御するために構築されているノード及びアークからなるネットワーク（グラフ）とが何らつながりを持たずに別個に構築されている場合に生じる問題である。
【０１８０】
上述のように遷移する前後の姿勢が不連続であることに起因してロボット装置１がなす不自然な動きは、グラフ上において遷移動作を滑らかにつなげるように姿勢遷移計画を立てることにより、解消される。具体的には、全体及び構成部分のグラフ上において共有する基本姿勢を取り入れて、姿勢遷移計画を立てることによりこれを解消している。
【０１８１】
ロボット装置１の姿勢遷移計画に使用するためのネットワークの情報を、図２２Ａに示すように、全体のネットワークの情報（グラフ）と、各構成部分のネットワークの情報（グラフ）とから、全体として階層的構造として構成している場合について以下に説明する。例えば、全体のネットワークの情報（グラフ）と、各構成部分のネットワークの情報（グラフ）とからなる姿勢遷移計画に使用する情報は、上述の図８に示すように、姿勢遷移機構部４２内において構築されている。
【０１８２】
基本姿勢は、全体の動作と各構成部分の動作との間で状態を移行するために一旦遷移される姿勢であって、基本姿勢としては、例えば、図２２Ｂに示すように、座り姿勢が挙げられる。基本姿勢を座り姿勢とした場合について、遷移動作を滑らかにつなげる手順を説明する。
【０１８３】
具体的に、図２３に示すように、現在の姿勢が全体のグラフの姿勢ＮＤａ０として把握され、目標として頭部の動作ａ２を実行させる場合について説明する。
【０１８４】
全体のグラフ上において、ロボット装置１の全体の姿勢を、現在の姿勢ＮＤａ０から基本姿勢ＮＤａｂに遷移させる有向アークａ０を選択する。ここで、全体が基本姿勢になる場合には、頭部、足部、及び尻尾部のグラフ上においても基本姿勢の状態（ノード）として把握されることとなる。
【０１８５】
頭部のグラフでは、基本姿勢ＮＤｈｂの状態から最適な有向アークａ１が選択され、目標とする頭部２の動作（自己動作アーク）ａ２までの経路が決定される。
【０１８６】
ここで、全体のグラフにおける現在の姿勢ＮＤａ０から基本姿勢ＮＤａｂまでの経路や、頭部のグラフにおける基本姿勢ＮＤｈｂの状態から目標の動作ａ２までの経路の探索については、上述したような最短距離探索により行う。
【０１８７】
このような手順により、全体と各構成部分との間の動作を滑らかにつなげるような遷移経路の選択（姿勢遷移計画）が、全体のグラフと頭部のグラフとにおいてなされる。そして、制御機構部４３は、姿勢遷移情報Ｓ１９を姿勢遷移計画に基づいて制御機構部４３に出力する。
【０１８８】
上述した例は、全体の動作から各構成部の動作を滑らかにつなげる具体例である。次に、各構成部分の動作から全体の動作を滑らかにつなげる具体例について説明する。具体的には、図２４に示すように、頭部のグラフにおいて頭部２が姿勢ＮＤｈ０として把握され、足部のグラフにおいて足部４が姿勢ＮＤｆ０として把握され、目標として全体の動作ａ４を実行させる場合について説明する。
【０１８９】
頭部のグラフ上において、頭部２の姿勢を、現在の姿勢ＮＤｈ０から基本姿勢ＮＤａｂに遷移させる有向アークａ０を選択する。また、足部のグラフ上において、足部４の姿勢を、現在の姿勢ＮＤｆ０から基本姿勢ＮＤｆｂに、姿勢ＮＤｆ１を経由して遷移させる有向アークａ１，ａ２を選択する。なお、尻尾部５についてはもともと基本姿勢にあるものとする。このように各構成部分が基本姿勢になる場合には、全体のグラフ上においても基本姿勢として把握されることになる。
【０１９０】
そして、全体のグラフ上では、基本姿勢ＮＤｈｂの状態から最適な有向アークａ３が選択され、目標とする全体の動作（自己動作アーク）ａ４までの経路が決定される。
【０１９１】
例えば、構成部分それぞれにおいての動作については、基本姿勢に遷移するときの他の構成部分の動作と同時に実行することでもよく、制限を付けて各構成部分の動作を実行するようにすることもできる。例えば、あるタイミングにより行うようにすることでもよい。
具体的には、頭部２を使って芸をしている最中に全体１の動作についての指令がなされた場合には、頭部２については芸を実行している最中なので基本姿勢ＮＤｈｂへの遷移はできないので、先ず、足部４を先に基本姿勢ＮＤｆｂの状態にしてから、芸を終了した頭部２を基本姿勢ＮＤｈｂの状態に遷移させるようにするといったようにである。
【０１９２】
また、全体１の姿勢のバランス等を考慮に入れて、各構成部分を動作させるようにすることもできる。例えば、頭部２と足部４とを同時に移動してしまうと、或いは頭部２を最初に基本姿勢ＮＤｈｂの状態にしてしまうと、バランスを失って、転倒してしまうような場合、先に足部４を基本姿勢ＮＤｆｂの状態にしてから、頭部２を基本姿勢ＮＤｈｂの状態に遷移させるようにする。
【０１９３】
以上のように一旦基本姿勢に遷移されるような姿勢遷移計画を立てることにより、動作を滑らかにつなげることができる。
【０１９４】
また、使用しない部位のリソースを開放することで他の目的に使うことができるようになる。例えば、歩いているときに頭部２のリソースを開放することで、頭部２を動くボールにトラッキング（追従）させることができる。
【０１９５】
なお、基本姿勢は一つにすることに限定されるものではない。例えば、座り姿勢や寝姿勢等の複数の姿勢を基本姿勢として設定することもできる。これにより、最短の動作により、全体の動作から各構成部分の動作への移行、或いは各構成部分の動作から全体の動作への移行を、最短距離（最短時間）として行うことができる。また、このように複数の基本姿勢を設定しておくことは、ロボット装置１の表現の豊富化につながる。
【０１９６】
また、上述したような姿勢遷移機構部４２における姿勢や動作の遷移経路の決定等は、行動決定機構部４１からの行動指令情報Ｓ１６に基づいてなされるものである。そして、行動決定機構部４１では、行動決定指示情報Ｓ１６を、通常、制限なく姿勢遷移機構部４２に送ってくる。すなわち、動作が実行されている間にも他の動作に関する指令は発生し、姿勢遷移機構部４２にはそのようにして発生した行動指令情報Ｓ１６が送られてくる。これに対応して、姿勢遷移制御部４２から送られてくる行動指令情報Ｓ１６が蓄積される指令保存部を備えている。この指令保持部では、行動決定機構部４１が生成する行動指令情報Ｓ１６を蓄積して、さらに、いわゆるリスト操作が可能とされている。指令保存部としては例えばバッファが挙げられる。
【０１９７】
これにより、行動決定機構部４１から送られてきた指令が、現時点で実行不可能である場合、例えば芸（所定の動作）をしている最中には、そのような送られてきた指令がバッファに蓄積されることになる。例えば、バッファに、図２５Ａに示すように、新たに送られてきた指令Ｄが新たにリストとして加えられる。そして、芸を終了してから、通常は、一番古い命令がバッファから取り出されて経路探索が実行されていく。例えば、図２５Ａのように指令が蓄積されている場合、一番古い指令Ａが先ず実行される。
【０１９８】
このようにバッファに指令が蓄積されて、古い指令から順次実行されていくが、指令を挿入（インサート）したり、指令を取り消し（キャンセル）したりするリスト操作をすることもできる。
【０１９９】
指令の挿入では、図２５Ｂに示すように、既に蓄積されている指令群に指令Ｄを挿入する。これにより、実行待ちにある指令Ａ、Ｂ、Ｃより優先させて指令Ｄについての経路探索を実行させることができるようになる。
【０２００】
また、指令の取消しでは、バッファに蓄積されている指令を取り消す。これにより、何らかの理由により不要となった指令を実行されないようにすることができる。
【０２０１】
また、バッファは、上述したように、ロボット装置１の全体と各構成部分とに対応して、複数の指令保存領域を有することもできる。この場合、全体、各構成部分毎についての動作の指令が、図２６に示すように、蓄積されていく。このように、全体と各構成部分とに対応した指令をそれぞれ保存する領域を備えることにより次のような操作が可能になる。
【０２０２】
異なる構成部分、例えば頭部と足部との動作を同期して再生させる同期情報を添付しておくこともできる。例えば、図２７に示すように、頭部２と足部４との指令保存領域にそれぞれ保存された指令に再生を開始する順番の情報を付し、同期情報として、同じ順番の情報、例えば５番目に再生開始される情報を割り当てるなどする。
【０２０３】
これにより、仮にその２つ前に実行開始されている３番目の頭部２の動作が、一つ前に実行開始された４番目の足部４の動作より先に終了したような場合でも、頭部２について５番目の指令だけ先に実行開始されないように、同じ５番目の情報のついた足部４の４番目の動作の再生が終了を待ってから、５番目の情報の付いた頭部２と足部４の動作の再生要求を同時に出すことが可能になる。これにより例えば頭部２を横に振る動作の開始と、足部４を左右に傾ける動作の開始を同じタイミングで出すことにより、よりインパクトの大きいロボット装置１の表現が可能になる。
【０２０４】
また、リスト操作により、実行前や実行中の一連の動作の計画を途中で中止したり、優先度の高い指令を後から早い順番に割り込ませることができるので、柔軟性に富んだシナリオを組み立てることができる。
【０２０５】
以上のように行動決定機構部４１から送られてきた行動指令情報Ｓ１６に基づいてなされる目標とされる姿勢或いは動作までの最適経路の検索、及び姿勢遷移計画の決定は、例えば、姿勢遷移機構部４２が図２８に示すような動作経路探索装置６０を備えることにより実現される。
【０２０６】
動作経路探索部６０は、指令保持部６１、経路探索部６２及びグラフ保存部６３を備えている。
【０２０７】
行動決定機構部４１から全体或いは各構成部分についての指令がこの動作経路探索部６０に与えられるが、例えば、目標の姿勢或いは動作の部位（例えば頭部）、現在の指令と過去に出した一連の指令に対してのリスト操作の命令、或いは指令そのものの特徴の情報等が行動指令情報Ｓ１６に添付されてくる。以下、添付されくる情報を添付情報という。
【０２０８】
ここで、現在の指示と過去に出した一連の指示に対してのリスト操作の命令とは、例えば図２５Ｂを用いて説明した新たに発生した指令を未実行の指示郡の一番先頭に挿入するための命令である。また、指令そのものの特徴の情報（以下、指令特徴情報という。）とは、図１７において説明した歩行方向のパラメータ、図１８において説明した指令のパラメータ、例えば動作が「前に歩く」なら「３歩」といったパラメータ、或いは図１９において説明した別の動作を同期させるための情報である。
【０２０９】
指令保存部６１は、上述したように、行動決定機構部４１から送られてくる行動指令情報Ｓ１６を保存するものであって、例えば、バッファである。指令保存部６１は、行動指令情報Ｓ１６に添付情報がある場合には、その添付情報の内容に基づいた処理をする。例えば、添付情報にリスト操作の情報として指令の挿入命令がある場合、その内容に応じて、届いたばかりの行動指令情報Ｓ１６を、指令保存部６１で待ち状態になっている指令列の先頭に挿入する操作も合わせて行う。
【０２１０】
また、指令保存部６１は、添付情報として指令特徴情報がある場合には、それもその指令と一緒に保存する。
【０２１１】
この指令保存部６１は、現在どの指令が実行中でどの指令が何番目の順番待ち状態になっているかを把握している。これを実現するには例えば指令に順番を付けて保存している。
【０２１２】
また、指令保存部６１は、上述したように、例えば全体１、頭部２、足部４、尻尾部５に対応して４つ保存領域を持っている。そして、指令保存部６１は、頭部２を動作させる指令が実行中のときは全体を動作させる指令が実行できないとか、頭部２を動作させている指令と、足部４を動作させる指令とを関係なく出すことができるとかの判断をくだすこともできる。すなわち、全体と各構成部分とのリソースが競合するような指令の出力を防止するような処理、いわゆるリソースの競合の解決を行うことができる。
【０２１３】
また、指令保存部６１は、異なる部位間にまたいで指令が出された順番も覚えており、例えば全体１、足部４、頭部２、全体１の順番で指令が送られてきたときは、指令保存部６１の全体１についての指令を１番目と４番目とになされた指令として保存し、足部４についての指令を２番目になされた指令として保存し、頭部２についての指令を３番目の指令として保存して、その順番を覚えている。これにより、指令保存部６１は、先ず、１番目になされた全体１の指令を経路探索部６２に送り、その指令の内容が再生終了次第、２番目になされた足部４の指令と３番目になされた頭部２の指令とを送り、各構成部がその指令の内容を再生終了したら、４番になされた全体１の指令を経路探索部６２に送る。
【０２１４】
経路探索部６２は、指令保存部６１から送られてきた指令により上述したようないわゆる経路探索を開始する。グラフ保存部６３には、指令保存部６１で区分されたのと同様の部位毎に対応してグラフが保存されている。すなわち、図２２Ａに示したような全体１、頭部２、足部４、及び尻尾部５それぞれに対応されるグラフが保存されている。経路探索部６２は、このグラフ保存部６３に保存されている各グラフに基づいて、指令の内容である目標とされる姿勢或いは動作までの最適経路を、上述したような距離や重み等を指標として探索し、姿勢遷移計画を立てる。
【０２１５】
そして、経路探索部６２は、経路探索により取得した姿勢遷移計画に基づいて、目標の姿勢或いは動作が実行されるまで、制御機構部４３に姿勢遷移情報Ｓ１８を送出していく。
【０２１６】
以上のように姿勢遷移機構部４２は、行動決定機構部４１から送られてきた行動指令情報Ｓ１６に基づいて、指令により目標とされる姿勢或いは動作までの最適経路を検索をして姿勢遷移計画を立て、その姿勢遷移計画に従って、姿勢遷移情報Ｓ１８を制御機構部４３に出力する。
【０２１７】
（３−５）制御機構部における処理  
図３に戻って、制御機構部４３は、姿勢遷移情報Ｓ１８を基にアクチュエータ２３を駆動させるための制御信号Ｓ５を生成し、これをアクチュエータ２３に送出して当該アクチュエータ２３を駆動させることにより、ロボット装置１に所望の動作を行わせるようになされている。
【０２１８】
また、制御機構部４３は、目標とされる姿勢或いは動作に到達するまで、姿勢遷移情報Ｓ１８に基づいてなされた動作の終了通知（再生結果）を経路探索部６２に返す。終了通知を受け取った経路探索部６２はグラフ保存部６３に対して動作の終了を通知する。グラフ保存部６３はグラフ上の情報を更新する。すなわち例えば、姿勢遷移情報Ｓ１８が、足部２を座り姿勢の状態から座り姿勢の状態への遷移動作をさせるものであった場合、終了通知を受けたグラフ保存部６３は、寝姿勢の状態に対応された足部２のノードのグラフ位置を、座り姿勢のグラフ位置に移動させる。
【０２１９】
例えば、目標とされる動作が、座り姿勢において「足をばたばたさせる」（自己動作アーク）というようなものであった場合には、さらに、経路探索部６２は、「足をばたばたさせる」を姿勢遷移情報Ｓ１８として制御機構部４３に送り、制御機構部４３では姿勢遷移情報Ｓ１８に基づいて、足部４をばたばたさせるための制御情報を生成し、これをアクチュエータ２３に送出して足部４をばたばたさせる動作を実行させる。制御機構部４３は、所望の動作を再生したら、その終了通知を再び経路探索部６２に送る。経路探索部６２は足部４をばたばたさせる動作が終了したことをグラフ保存部６３に伝える。しかし、自己動作アークの場合には、グラフ上の情報を更新する必要がないので、現在の足部４の姿勢が座り姿勢まで進んでいるが、足部４をばたばたさせた終了姿勢がその動作開始前の姿勢と同じ足部の座り姿勢なので、グラフ保存部６３は足部４の現在の姿勢位置を変更しない。
【０２２０】
一方、経路探索部６２は、目標とされる姿勢或いは動作の再生が終了した旨を指令保存部６１に通知する。指令保存部６１では、目標とされる姿勢或いは動作が無事完了したので、すなわち、指令の内容が無事遂行されたので、当該指令を消去する。例えば、目標とされる動作として、上述したように足をばたばたさせるを与えていた場合には、足部４の指令保存領域からからその指令を消去する。
【０２２１】
以上のように、行動決定機構４１、動作経路探索部６０、及び制御機構部４３が情報を授受することによりそれら行動決定機構４１、動作経路探索部６０、及び制御機構部４３の基本的な機能が実現されている。
【０２２２】
なお、図２９には、行動決定機構部４１にて生成された指令（行動指令情報Ｓ１６）に基づいて行う動作経路探索部６０の経路探索、及び経路探索結果に基づいて行われる動作の一連の処理手順を示している。
【０２２３】
先ず、ステップＳＰ１において、行動決定機構部４１から動作経路探索部６０に指令が与えられ、続くステップＳＰ２において、動作経路探索部６０の指令保存部６１では、その指令に指令群に加える。
【０２２４】
例えば、図２６に示すように、尻尾部の指令が加えられる。また、指令にリスト操作としてインサートをする命令情報が付加されている場合には、それに応じて指令が指令列内に挿入される。
【０２２５】
続くステップＳＰ３において、指令保存部６１は、開始できる指令があるかどうかを判別する。
【０２２６】
例えば、指令保存部６１が、図２６に示すように、全体についての指令を１番目の指令（現在再生中の指令）として、頭部についての蓄積された指令を２番目と３番目の指令として、足部についての指令を４番目の指令として、そして尻尾部５について蓄積された指令を５番面と６番面の指令として、それぞれ把握している場合には、全体についての１番目の指令が実行中である場合には、開始できる指令がないと判別される。
【０２２７】
開始できる指令がない場合には、ステップＳＰ４に進み、開始できる指令がある場合には、ステップＳＰ５に進む。ステップＳＰ３に進んだ時点で、ロボット装置１の全体が動作をしている最中では、各構成部分についての指令を実行することができないので、ステップＳＰ４に進むことになり、一方、ステップＳＰ３に進んだ時点で、動作が終了している場合には、ステップＳＰ５に進むことになる。
【０２２８】
ステップＳＰ４では、所定時間の経過を待つ。例えば、０．１秒経過するのを待って、再び、ステップＳＰ３において、開始できる指令があるか否かを判別する。
【０２２９】
例えば、ステップＳＰ４において０．１秒経過するのを待ったことにより、図２６に示す全体について実行中であった指令（１番目の指令）が終了した場合には、ステップＳＰ３において、頭部についての２便目の指令、足部についての４番目になされた指令、そして、尻尾部についての５番目の命令が開始できる指令として同時に把握されるようになる。
【０２３０】
なお、頭部についての３番目の指令については、頭部についての２番目の指令の実行が終了次第、開始できる指令として把握され、また、尻尾部についての６番目に指令については、頭部についての５番目の指令の実行が終了次第、開始できる指令として把握されるようになる。
【０２３１】
このように、ステップＳＰ３においてすぐに開始できる指令がない場合に、ステップＳＰ４に進み、所定時間経過するのを待つことにより、全体或いは各構成部分において所定の動作が終了するまで待ち、適切なタイミングにより次の指令を実行することができるようになる。
【０２３２】
ステップＳＰ５では、経路探索部６２が指令保存部６１から送られてきた次の指令の内容に基づいて、グラフ保存部６３に保存されているその指令に対応するグラフ上の現在の姿勢から目標の姿勢までの動作経路が見つかるか否かを判別する。
【０２３３】
例えば、頭部２の動作についての指令である場合には、図３０に示すように、頭部のグラフ上において、現在の姿勢（状態）から目標とする状態或いは動作まで到達できる経路があるか否かを判別する。経路が見つかる場合とは、指令の目標とされる状態或いは動作までパス（アーク）が存在する場合であり、図３０に示すように、現在の姿勢から目標の姿勢に到達できる複数の有向アークａ０，ａ１が存在する場合であり、経路が見つからない場合とは、指示された状態或いは動作までのパスが存在しない場合である。
【０２３４】
ここで、現在の姿勢から目標の姿勢までの遷移経路が見つからない場合には、ステップＳＰ６に進み、見つかった場合には、ステップＳＰ７に進む。また、目標の姿勢（或いは動作）までの遷移経路が見つかった場合、その経路（アーク）ａｋ（ｋは、０を含めたｎまでの整数である。）を記憶し、これが姿勢遷移計画の情報となる。
【０２３５】
ステップＳＰ６では、動作経路が見つからなかったとして、指令保存部６１がその指令をリストから消去する。このように動作経路が見つからなかった場合に当該指令を消去することにより、後に続く指令が取り出せるようになる。このような指令の消去をした後、再び、ステップＳＰ３において、指令保存部６１は、開始できる指令があるか否かを判別する。
【０２３６】
ステップＳＰ７では、ｉ＝０を設定する。その後のステップＳＰ８において、ｉがｎ以下か否かについて判別がなされる。ここで、ｉがｎである場合とは、目標とされる姿勢或いは動作が完了したことをいう。すなわち、ｎ番目のアークが、目標とされるノードに直接遷移する有向アークａｎ或いは目標とされた自己動作アークａｎとなる。なお、ｉ＝０である場合には、少なくともこのステップＳＰ８で、ｉがｎ以下であると確認されることになる。
【０２３７】
ｉがｎ以下である場合には、ステップＳＰ１０に進み、ｉがｎよりも大きい場合には、ステップＳＰ９に進む。
【０２３８】
ステップＳＰ１０では、制御機構部４３は、経路探索部６２から送られてくる姿勢遷移情報Ｓ１８に基づいて、アークａｉの再生を行う。例えば、図３０に示すように、現在の姿勢（最初の姿勢）にあった場合には、最初の一つ目の有向アークａ０の動作をする。
【０２３９】
ステップＳＰ１１では、経路探索部６２が動作の終了の通知を受けて、ステップＳＰ１２では、グラフ保存部６３がグラフ上の姿勢の位置を更新させる。
【０２４０】
続く、ステップＳＰ１３において、次のアークを実行するために、ｉをｉ＝ｉ＋１とし、インクリメントする。続いて、ステップＳＰ８に戻って、再びｉがｎ以下か否かについて判別がなされる。
【０２４１】
ｉがｎより大きい場合、すなわち、目標とされる姿勢までの動作が実行された場合、或いは目標とされる動作としてのアーク（有向アーク又は自己動作アーク）が実行された場合に実行されるステップＳＰ９において、指令保存部６１は、保存されている指令から終了したばかりの指令を消去する。そして、ステップＳＰ３に戻って、指令保存部６１は再び、開始できる指令があるかどうかを判別する。
【０２４２】
なお、目標とされる姿勢或いは動作が、全体と各構成部分にまたいでいるような場合、ステップＳＰ５及びステップＳＰ６では、図２３及び図２４を用いて説明したように、それぞれに対応されるグラフ上において最適な経路を検索をして、ステップＳＰ７以降の処理においては、それに応じた処理を行う。すなわち、基本姿勢に遷移させて、目標とする姿勢或いは動作までの有向アークの内容を実行する。
【０２４３】
また、指令は上述のように指令保存部６１に蓄積されていき、ロボット装置１の各構成部分は、リソースが競合しないので、そのような指令に基づいて同時進行的な動作が可能となる。このようなことから、上述したような処理手順（フロー）については、各構成部分についてのフローも並存することになり、同時進行的に複数のフローが実行されていくこともある。よって、例えば、全体の指令についてのフローが処理されている場合にあっては各構成部分の指令についてのフローの処理を行わないで、待ち状態になる。
【０２４４】
（４）動作及び効果  
以上の構成において、コントローラ３２の感情・本能モデル部４０は、供給される入力情報Ｓ１〜Ｓ３に基づいて、ロボット装置１の感情及び本能の状態を変化させ、この感情及び本能の状態の変化をロボット装置１の行動に反映させることにより、自分の感情や本能の状態に基づいて自律的に行動させる。
【０２４５】
そして、ノード及びアークを登録したグラフに基づいて多種の姿勢及び動作を遷移させていくことにより、ロボット装置１による多彩な表現が可能になる。
【０２４６】
すなわち、予め登録したグラフを用いることで、動作の組合せによる表現のパターンが多く持てるようになる。また、現在の姿勢から目標とする姿勢或いは動作までの無理のない滑らかな姿勢の遷移が可能になり、動きの途中でバランスを不用意に崩してしまうこともない。
【０２４７】
（５）他の実施の形態  
なお、上述の実施の形態では、リモートコントローラから赤外線光によって送られてきたユーザの指令を受信するようにした場合について述べたが、本発明はこれに限らず、例えば電波や音波によって送られてきたユーザの指令を受信するようにしてもよい。
【０２４８】
また、上述の実施の形態では、ユーザからの指令をリモートコントローラ受信部１３及びマイク１１でなるコマンド受信部３０を介して入力するようにした場合について述べたが、本発明はこれに限らず、例えばロボット装置１にコンピュータを接続し、当該接続されたコンピュータを介してユーザの指令を入力するようにしてもよい。
【０２４９】
また、上述の実施の形態では、図４に示したように、「うれしさ」、「悲しさ」、「怒り」等という情動を示す情動ユニット５０Ａ〜５０Ｆと、「運動欲」、「愛情欲」等という欲求を示す欲求ユニット５１Ａ〜５１Ｄとを用いて感情及び本能の状態を決定するようにした場合について述べたが、本発明はこれに限らず、例えば情動ユニットに「寂しさ」という情動を示す情動ユニットを追加したり、欲求ユニット５１に「睡眠欲」という欲求を示す欲求ユニットを追加してもよく、この他種々の種類や個数の組合せでなる情動ユニットや欲求ユニットを使って感情や本能の状態を決定するようにしてもよい。
【０２５０】
また、上述の実施の形態では、ロボット装置１が感情モデルと本能モデルとを有している構成について述べたが、本発明はこれに限らず、感情モデルのみ、或いは本能モデルのみ有した構成とすることもでき、さらに、動物の行動を決定付けるような他のモデルを有してもよい。
【０２５１】
また、上述の実施の形態では、指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３と感情・本能状態情報Ｓ１０と行動情報Ｓ１２とに基づいて次の行動を行動決定機構部４１によって決定した場合について述べたが、本発明はこれに限らず、指令信号Ｓ１と外部情報信号Ｓ２と内部情報信号Ｓ３と感情・本能状態情報Ｓ１０と行動情報Ｓ１２とのうち一部の情報に基づいて次の行動を決定するようにしてもよい。
【０２５２】
また、上述の実施の形態では、有限オートマトン５７と呼ばれるアルゴリズムを用いて次の行動を決定した場合について述べたが、本発明はこれに限らず、ステートの数が有限でないステートマシンと呼ばれるアルゴリズムを用いて行動を決定するようにしてもよく、この場合、入力情報Ｓｌ４が供給される毎に新たにステートを生成し、当該生成したステートに応じて行動を決定すればよい。
【０２５３】
また、上述の実施の形態では、有限オートマトン５７と呼ばれるアルゴリズムを用いて次の行動を決定した場合について述べたが、本発明はこれに限らず、現在供給された入力情報Ｓ１４とそのときのステートとに基づいて複数のステートを遷移先の候補として選定し、当該選定された複数のステートのうち遷移先のステートを乱数によってランダムに決定するような確率有限オートマトンと呼ばれるアルゴリズムを用いて行動を決定するようにしてもよい。
【０２５４】
また、上述の実施の形態では、行動指令情報Ｓ１６が直接遷移可能な姿勢を示す場合には、当該行動指令情報Ｓ１６をそのまま姿勢遷移情報Ｓ１８として制御機構部４３に送出する一方、直接遷移不可能な姿勢を示す場合には、遷移可能な他の姿勢に一旦遷移した後に目的の姿勢まで遷移させるような姿勢遷移情報Ｓ１８を生成して制御機構部４３に送出した場合について述べたが、本発明はこれに限らず、行動指令情報Ｓ１６が直接遷移可能な姿勢を示す場合にのみ当該行動指令情報Ｓ１６を受け付けて制御機構部４３に送出する一方、直接遷移不可能な姿勢を示す場合には、当該行動指令情報Ｓ１６を拒否するようにしてもよい。    
また、上述の実施の形態では、本発明をロボット装置１に適用した場合について述べたが、本発明はこれに限らず、例えばゲームや展示等のエンタテインメント分野で用いられるロボット装置のように、他の種々のロボット装置に本発明を適用し得る。図３１に示すように、コンピュータグラフィックスで動くキャラクター、例えば多関節により構成されるキャラクターを用いたアニメーション等に適用することもできる。
【０２５５】
また、本発明が適用されるロボット装置１の外観は、図１に示すような構成をとることに限定されず、図３２に示すように、より現実の犬に類似の構成とすることも、人間型のヒューマノイドロボットとすることもできる。
【産業上の利用可能性】
【０２５６】
本発明に係るロボット装置は、供給される入力情報に応じた動作を行うロボット装置であって、動作に起因するモデルを有し、入力情報に基づいてモデルを変化させることにより動作を決定するモデル変化手段を備えることにより、入力情報に基づいてモデルを変化させて動作を決定することで、ロボット装置自身の感情や本能等の状態に基づいて自律的に行動することができる。
【０２５７】
また、本発明に係る動作制御方法は、供給される入力情報に応じて動作させる動作制御方法であって、入力情報に基づいて動作に起因するモデルを変化させることにより動作を決定することにより、例えばロボット装置を自身の感情や本能等の状態に基づいて自律的に行動させることができる。
【０２５８】
また、本発明に係るロボット装置は、供給される入力情報に応じた動作を行うロボット装置であって、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて、現在の動作に続く次の動作を決定する動作決定手段を備えることにより、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて現在の動作に続く次の動作を決定することで、ロボット装置自身の感情や本能等の状態に基づいて自律的に行動することができる。
【０２５９】
また、本発明に係る動作制御方法は、供給される入力情報に応じて動作させる動作制御方法であって、順次供給される入力情報の履歴に応じた現在の動作及び次に供給される入力情報に基づいて、現在の動作に続く次の動作を決定することにより、例えばロボット装置を自身の感情や本能等の状態に基づいて自律的に行動させることができる。
【０２６０】
また、本発明に係るロボット装置は、姿勢及び動作が登録されているグラフであって、姿勢とこの姿勢を遷移させる動作とを結んで構成されたものを記憶するグラフ記憶手段と、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、行動指令情報に基づいて、グラフ上において探索して、その探索結果に基づいて動作させて、現在の姿勢から目標とされる姿勢又は目標とされる動作に遷移させる制御手段とを備えることにより、制御手段により、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、行動指令情報に基づいてグラフ上において探索して、その探索結果に基づいて動作させて、現在の姿勢から目標とされる姿勢又は目標とされる動作に遷移させることができる。これによりロボット装置は表現の豊富化が可能になる。
【０２６１】
また、本発明に係る動作制御方法は、現在の姿勢から目標とされる姿勢又は目標とされる動作までの経路を、行動指令情報に基づいて、姿勢及び動作が登録されて構成され、姿勢とこの姿勢を遷移させる動作とを結んで構成されたグラフ上において探索し、探索結果に基づいて動作させて、現在の姿勢から目標とされる姿勢又は目標とされる動作に遷移させることにより、ロボット装置やコンピュータグラフィックスで動くキャラクターの表現の豊富化が可能になる。
【図１】
2010149276.tif 000005
【図２】
2010149276.tif 000006
【図３】
2010149276.tif 000007
【図４】
2010149276.tif 000008
【図５】
2010149276.tif 000009
【図６】
2010149276.tif 000010
【図７】
2010149276.tif 000011
【図８】
2010149276.tif 000012
【図９】
2010149276.tif 000013
【図１０】
2010149276.tif 000014
【図１１】
2010149276.tif 000015
【図１２】
2010149276.tif 000016
【図１３】
2010149276.tif 000017
【図１４】
2010149276.tif 000018
【図１５】
2010149276.tif 000019
【図１６】
2010149276.tif 000020
【図１７】
2010149276.tif 000021
【図１８】
2010149276.tif 000022
【図１９】
2010149276.tif 000023
【図２０】
2010149276.tif 000024
【図２１】
2010149276.tif 000025
【図２２】
2010149276.tif 000026
【図２３】
2010149276.tif 000027
【図２４】
2010149276.tif 000028
【図２５】
2010149276.tif 000029
【図２６】
2010149276.tif 000030
【図２７】
2010149276.tif 000031
【図２８】
2010149276.tif 000032
【図２９】
2010149276.tif 000033
【図３０】
2010149276.tif 000034
【図３１】
2010149276.tif 000035
【図３２】
2010149276.tif 000036