(57)【要約】      （修正有）【課題】演算処理による負荷を軽減し演算処理が自身の動作に影響を与えないようにする。【解決手段】ロボット装置の認識制御処理系として、自身の行動を決定したり行動を選択したりする行動決定部２０１と、行動決定部２０１からコマンドを受けて認識部を制御する信号を生成する認識制御部２０２と、例えば、このロボット装置が実行可能な各種動作のための前処理や、そのための検出処理、及び動作を実行するための認識処理を行う複数の認識部とを備え、各認識部での演算量レベルを行動決定部２０１からの制御信号に応じて動的に変更する。【選択図】  図１
2004298976.tif 000002
【特許請求の範囲】
【請求項１】
外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づく自律的動作を実行するロボット装置において、
外部情報及び外部からの働きかけを検出する検出手段と、
上記検出手段からの検出信号を演算処理し外部情報及び外部からの働きかけを認識する複数の認識手段と、
上記認識手段の各々にて認識された結果に基づいて自身の行動を選択する行動選択手段と、
上記行動選択手段にて選択された行動を実行するための信号を生成する運動制御手段と、
上記行動選択手段から送られる信号に基づいて各認識手段における演算量レベルを制御する信号を生成する認識制御手段と
を備えることを特徴とするロボット装置。
【請求項２】
上記認識制御手段は、上記行動選択手段からの信号に基づいて認識手段の各々に対して個別に演算量レベルを指定する信号を送信することを特徴とする請求項１記載のロボット装置。
【請求項３】
上記認識制御手段は、上記行動選択手段から一括した制御信号を受け取り、該一括した制御信号に基づいて個々の認識手段の演算量レベルを決定することを特徴とする請求項１記載のロボット装置。
【請求項４】
上記認識手段の個々の演算量レベルが当該ロボット装置の行動に応じて予め決定され、これらがモードとして記憶された記憶手段を有し、
上記認識制御手段は、認識手段の各々における演算量レベルを上記モードにて指定することを特徴とする請求項３記載のロボット装置。
【請求項５】
外部情報、外部からの働きかけを認識し、該外部情報及び働きかけに応じた動作、若しくは内部状態に基づく自律的動作を実行するロボット装置の認識制御方法において、
外部情報及び外部からの働きかけを検出する検出工程と、
上記検出工程にて検出された検出信号を演算処理し外部情報及び外部からの働きかけを認識する複数の認識工程と、
上記複数の認識工程にて認識された結果に基づいて上記ロボット装置の行動を選択する行動選択工程と、
上記行動選択工程にて選択された行動を実行するための信号を生成する運動制御工程と、
上記行動選択工程から送られる信号に基づいて上記認識工程のそれぞれにおける演算量レベルを制御する信号を生成する認識制御工程と
を有することを特徴とするロボット装置の認識制御方法。
【請求項６】
上記認識制御工程は、上記行動選択工程からの信号に基づいて各認識工程に対して個別に演算量レベルを指定することを特徴とする請求項５記載のロボット装置の認識制御方法。
【請求項７】
上記認識制御工程は、上記行動選択工程から一括した制御信号を受け取り、該一括した制御信号に基づいて各認識工程の演算量レベルを決定することを特徴とする請求項５記載のロボット装置の認識制御方法。
【請求項８】
上記認識工程毎の演算量レベルが当該ロボット装置の行動に応じてモードとして予め決定されており、
上記認識制御工程は、各認識工程における演算量レベルを上記モードにて指定することを特徴とする請求項７記載のロボット装置の認識制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット装置及びロボット装置の認識制御方法に関し、特に、状態認識の演算量を動的に変更するロボット装置及びこのロボット装置の認識制御方法に関する。
【０００２】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等の脚式移動ロボットは、既に実用化されつつある。
【０００３】
これらの脚式移動ロボットは、動物や人間により近い身体的形状を有する程、動物や人間に近い動作が実現でき、産業用ロボットと比較してエンターテインメント性を重視した様々な動作を行うことができる。そのため、エンターテインメントロボットと呼称されることがある。エンターテインメントロボットは、他のロボットや人間とコミュニケーションを交わしたり、身振り・手振りで内部状態を表現したり、ボールを探し出して蹴ったりできる。
【０００４】
例えば、このようなロボット装置は、他のロボットや人間とコミュニケーションを交わす機能を実現するために、話し相手の顔を認識する顔認識機能、色検出機能、周囲の環境を認識する環境認識機能、音声認識機能等を備えている。また、ボールを探し出して蹴る動作を実現するために、色検出機能、周囲の環境を認識する環境認識機能、距離認識機能等を備えている。このようにロボット装置は、複数の動作を重複して実行できるようにするためには、複数の認識手段を備えることが必要である。通常、これらの認識手段は、常に一定の演算量レベルで並列的に動作している。
【０００５】
【発明が解決しようとする課題】
ところが、上述したようなロボット装置の認識機能は、一般的に演算量が多いため、ロボット装置の行動のバリエーションを豊かにしようと様々な認識機能を追加するとロボット装置の行動を逆に圧迫し、自律行動性を著しく低下させかねない。従来のロボット装置は、常に全ての認識機能を動作させているため、行動の状況・場面によっては、不要な認識手段が働いてリソースを占有している場合があった。
【０００６】
例えば、ロボット装置は、静止しながら対話していても障害物認識を行っていたり、接触検出器を駆動させていたりする。工業的に活用されるロボット装置であれば、機能の充実化に伴うリソース不足に対しては、これを次々と補うことで対応できるが、一般家庭用のロボット装置は、新たなリソースが必要になっても追加が困難であり、機体サイズや製造コストといった限られた制約のなかで、より高度な自己表現、自律動作、状況判断に基づく行動等を実現するためにはリソースの活用が求められる。
【０００７】
そこで本発明は、このような従来の実情に鑑みて提案されたものであり、認識手段における演算量を動的に変更することにより演算処理による負荷を軽減し、演算処理が自身の動作に影響を与えないロボット装置及びロボット装置に認識結果に基づく動作を実行させる際、認識処理による負荷が軽減される認識制御方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づく自律的動作を実行するロボット装置において、外部情報及び外部からの働きかけを検出する検出手段と、検出手段からの検出信号を演算処理し外部情報及び外部からの働きかけを認識する複数の認識手段と、認識手段の各々にて認識された結果に基づいて自身の行動を選択する行動選択手段と、行動選択手段にて選択された行動を実行するための信号を生成する運動制御手段と、行動選択手段から送られる信号に基づいて各認識手段における演算量レベルを制御する信号を生成する認識制御手段とを備えることを特徴とする。
【０００９】
ここで、認識制御手段は、行動選択手段からの信号に基づいて認識手段の各々に対して個別に演算量レベルを指定する信号を送信してもよい。また、行動選択手段から一括した制御信号を受け取り、該一括した制御信号に基づいて個々の認識手段の演算量レベルを決定することもできる。
【００１０】
認識手段の個々の演算量レベルが当該ロボット装置の行動に応じて予め決定され、これらがモードとして記憶された記憶手段を有し、認識制御手段は、認識手段の各々における演算量レベルをモードにて指定することもできる。
【００１１】
また、上述した目的を達成するために、本発明に係るロボット装置の認識制御方法は、外部情報、外部からの働きかけを認識し、該外部情報及び働きかけに応じた動作、若しくは内部状態に基づく自律的動作を実行するロボット装置の認識制御方法において、外部情報及び外部からの働きかけを検出する検出工程と、検出工程にて検出された検出信号を演算処理し外部情報及び外部からの働きかけを認識する複数の認識工程と、複数の認識工程にて認識された結果に基づいてロボット装置の行動を選択する行動選択工程と、行動選択工程にて選択された行動を実行するための信号を生成する運動制御工程と、行動選択工程から送られる信号に基づいて認識工程のそれぞれにおける演算量レベルを制御する信号を生成する認識制御工程を有することを特徴とする。
【００１２】
ここで、認識制御工程は、行動選択工程からの信号に基づいて各認識工程に対して個別に演算量レベルを指定する信号を送信してもよい。また、行動選択工程から一括した制御信号を受け取り、該一括した制御信号に基づいて各認識工程の演算量レベルを決定することもできる。
【００１３】
この認識制御方法では、認識工程毎の演算量レベルが当該ロボット装置の行動に応じてモードとして予め決定されており、認識制御工程は、各認識工程における演算量レベルをモードにて指定することもできる。
【００１４】
【発明の実施の形態】
本発明に係るロボット装置は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づく自律的動作を実行するロボット装置であって、各動作のための各種認識処理における演算量レベルを自らが実行している動作に応じて動的に変化させることによって、限られたソフトウェア資源及びハードウェア資源といったリソースを有効に活用できるようにしたロボット装置である。
【００１５】
以下、本発明に係る認識制御処理系について、図面を参照して説明する。本具体例として示すロボット装置１は、認識制御処理系として図１に示す構成を備えている。認識制御処理系２００は、ロボット装置自身の行動を決定したり行動を選択したりするための行動決定部２０１と、行動決定部２０１からコマンドを受けて認識部を制御する信号を生成する認識制御部２０２と、例えば、このロボット装置が実行可能な各種動作のための前処理や、そのための検出処理、及び動作を実行するための認識処理を行う複数の認識部２０３１，２０３２，２０３３，・・・，２０３ｎとを備えている。
【００１６】
行動決定部２０１は、ロボット装置１に対する外部からの働きかけや内部状態に応じてロボット装置１の行動を決定する部分であって、実際には、外部からの働きかけや内部状態に応じて決定されるパラメータに応じて複数の行動モデルのなかからその時々にあった行動を選択する手法を採っている。そのため「行動の決定」を「行動の選択」と記す場合もある。行動決定部２０１は、ロボット装置１の行動を選択するほか、ロボット装置の置かれた環境や動作場面（コンテクスト）に応じて、認識制御部２０２に対して制御コマンドを発行する。この制御コマンドは、選択されたロボット装置１の行動に関係する認識部を効率的に動作させるよう指示するコマンドである。図１の例では、このコマンドは、行動決定部２０１が個々の認識部に対して演算量レベルを個別に指示するコマンドである。
【００１７】
認識制御部２０２は、行動決定部２０１からの制御コマンドを受けて各認識部２０３に対して演算量レベルを変更する信号を送る。図１の例では、行動決定部２０１からのコマンドを受けて、認識部２０２２に対して演算量レベルの変更を指示する信号を送信している。
【００１８】
認識部２０３は、例えばロボット装置の視覚系であれば、特定色を検出して所定の対象物を認識する構成や、ステレオ視カメラにより平面や障害物を認識する構成、またロボット装置の聴覚系であれば、マイクロフォンにて採集した外部音声から発話を抽出して音声認識する構成、話者の特徴を抽出して話者を認識する構成、音声源の方向を認識する構成等である。本具体例で示す演算量レベルとは、各認識部２０３における処理によってそれぞれ異なるが、画像処理（視覚系）であれば、画像サンプリングレートの変更であったり、画像処理対象とするピクセルの変更であったりする。また、音声処理（聴覚系）であれば、マイクロフォンからの音声サンプリングのオンオフやサンプリングレートの変更であったりする。
【００１９】
このとき認識制御処理系２００における各認識部の制御処理を図３に示す。先ず、行動決定部２０１は、ステップＳ１において、ロボット装置の置かれた環境や動作場面（コンテクスト）に応じて、各認識部２０３のうち制御しようとする認識部（ここでは、認識部２０３２）に対する制御コマンドを認識制御部２０２に対して通知する。ステップＳ２において、認識制御部２０２は、指示された認識部２０３２に対して演算量レベル変更の制御信号を送信する。ステップＳ３において、認識部２０３２は、制御信号に応じて演算量レベルを変更する。
【００２０】
また、本具体例では、他の方法として、行動決定部２０１から認識制御部２０２に対して一括した制御コマンドを送ることもできる。この場合、図２に示すように、ロボット装置の行動決定部２０１は、認識制御部２０２に対して一括した制御コマンドを送信する。一括した制御コマンドとは、ロボット装置１の環境や動作場面（コンテクスト）を抽象化した信号を含んでおり、例えば、ロボット装置１が睡眠中のときは睡眠状態にあることを示す信号、歩行しているときは歩行状態にあることを示す信号等を示す。中でも、何かを探しながら歩行しているときは「歩行状態Ａ」、会話しながら歩行しているときは「歩行状態Ｂ」のように、ロボット装置の状態のみを単純に表す情報が含まれた信号である。
【００２１】
このとき認識制御処理系２００における各認識部の制御処理を図４に示す。行動決定部２０１は、ステップＳ１１において、ロボット装置１の環境や動作場面（コンテクスト）を抽象化した信号を含む一括制御コマンドを認識制御部２０２に送る。ステップＳ１２において、認識制御部２０２は、行動決定部２０１から一括制御コマンドを受け取ると、この一括制御コマンドを認識部毎の制御信号に分解し各認識部に対して送信する。ステップＳ１３において、個々の認識部は、制御信号に応じて演算量レベルを変更する。
【００２２】
特に、図２及び図４に示す例の場合、ロボット装置１のコンテクストに応じた各認識部の演算量レベルを制御モードとして予めメモリに記憶しておき、行動決定部２０１は、認識制御部２０２に対してこの制御モードを指定するようにもできる。
【００２３】
例えば、「睡眠モード」時には、視覚系の認識部、聴覚系の認識部、触覚系の認識部の演算量レベルを全て０％にしたり、「対話モード」時には、視覚系の認識部のなかでも相手の顔認識を行う認識部の演算量レベルを１００％、障害物認識を行う認識部の演算量レベルを２０％、聴覚系の認識部の演算量レベルを１００％のようにすることが挙げられる。
【００２４】
また、ロボット装置１の機体の状態に応じてモードを決めることもできる。例えば、ロボット装置１の視点が足下付近にある場合の「視線モード」に対応して、相手の顔認識を行う顔認識の演算量レベルを３０％と決めたり、機能が歩行のみに集中しているような場合を「歩行モード」とし、このとき聴覚系の認識部の演算量レベルを１０％に落とすようにしたりすることが挙げられる。
【００２５】
なお、ここで、演算量レベルが１００％，３０％なる表現は、個々に複雑な認識処理を実行している認識部の動作を抽象的に表現したものであって、実際は、音声及び画像のサンプリングレートを通常処理に対して高める若しくは減じることであったり、画像処理におけるフレームレートを通常処理に対して高める若しくは減じることであったりする。
【００２６】
図１及び図２にて説明したように、ロボット装置１の行動に応じて、必要な認識部の演算量レベル（負荷）を動的に変更することによって、現在選択されている行動下では必要としていない認識部の演算量レベルを低下させ、重要な認識部の演算量レベルを保持又は高める。これにより、ロボット装置１のリソースを効率的に使用できるため、限られたリソースを活用して行動のバリエーションをより豊かにすることができる。
【００２７】
以下、本発明の具体例として示す２足歩行タイプのロボット装置について、図面を参照して詳細に説明する。
【００２８】
図５に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されるとともに、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（ただし、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。この人間型のロボット装置は、住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００２９】
図６に、このロボット装置１の関節自由度構成を示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００３０】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００３１】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００３２】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００３３】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００３４】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００３５】
図７には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／Ｌ，脚部ユニット５Ｒ／Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００３６】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＤＲＡＭ、フラッシュＲＯＭ等の主要回路コンポーネント（図示しない）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示しない）などを含んだ周辺回路１２とで構成される。
【００３７】
また、図１及び図２に示したロボット装置１の認識制御処理系も制御ユニット１０に含まれる。若しくは、これらは制御ユニット１０にて実現される一機能であってもよい。例えば、行動決定部は、主制御部１１の一機能として用意され、認識制御部２０２及び各認識部２０３は、周辺回路１２に含まれるものとする。ロボット装置１における認識部制御のためのさらに具体的な構成に関しては後述する。
【００３８】
本発明を実現するうえで、この制御ユニット１０の設置場所は、特に限定されない。図７では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。或いは、ロボット装置外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００３９】
図６に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００４０】
また、頭部ユニット３には、外部の状況を撮像するためのＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイクロフォン、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【００４１】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【００４２】
また、腕部ユニット４Ｒ／Ｌは、上腕ユニット４１Ｒ／Ｌと、肘関節ユニット４２Ｒ／Ｌと、前腕ユニット４３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【００４３】
また、脚部ユニット５Ｒ／Ｌは、大腿部ユニット５１Ｒ／Ｌと、膝ユニット５２Ｒ／Ｌと、脛部ユニット５３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【００４４】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌが配備されている。さらに、各脚部ユニット５Ｒ／Ｌの足底が着床したか否かを検出する接地確認センサ３０Ｒ／Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【００４５】
接地確認センサ３０Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００４６】
接地確認センサ３０Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部分の傾きや姿勢を検出することができる。
【００４７】
主制御部１１は、各センサ３０Ｒ／Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌの各々に対して適応的な制御を行い、ロボット装置１の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【００４８】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Ｍｉｏｍｉｒ  Ｖｕｋｏｂｒａｔｏｖｉｃ著“ＬＥＧＧＥＤ  ＬＯＣＯＭＯＴＩＯＮ  ＲＯＢＯＴＳ”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００４９】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【００５０】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びＣＣＤカメラからの画像情報、マイクロフォンからの音声情報等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイクロフォン、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【００５１】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【００５２】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置１に、「身振り」、「手振り」といった行動をとらせる。
【００５３】
このロボット装置１の認識制御処理系２００について、図８を用いて説明する。上述したように、図１及び図２にて示した認識制御処理系２００は、制御ユニット１０に含まれている。図８には、制御ユニット１０に備えられる各認識部の具体例が示されている。
【００５４】
制御ユニット１０は、視覚系認識ユニット１５１と、聴覚系認識ユニット１５２と、触覚系認識ユニット１５３と、これらユニットにおける認識結果に応じて行動を選択する行動選択部１５４とを備えている。行動選択部１５４は、選択された行動に関する情報を運動制御部１５５に対して送る。運動制御部１５５は、各アクチュエータ１５６１，１５６２，１５６３，・・・，１５６ｎに対して、これらを実際に駆動するための駆動信号を送る。各アクチュエータが駆動信号にしたがって駆動することにより、ロボット装置の実際の動作が表出される。ここで、行動選択部１５４は、選択した行動に応じて制御コマンドを認識制御部１５７に送信する。認識制御部１５７では、受け取った制御コマンドによって、各認識部を制御する信号を認識部に対してフィードバックしている（図中点線矢印）。なお、図８における行動選択部１５４は、図１及び図２における行動決定部２０１に相当し、認識制御部１５７は、認識制御部２０２に相当する。また、アクチュエータ１５６１，１５６２，・・・は、図７に示すアクチュエータＡ１，Ａ２，・・・に相当する。
【００５５】
視覚系認識ユニット１５１は、ロボット装置の目に相当しステレオ画像を撮像できるＣＣＤカメラ１６１ａ，１６１ｂを備えている。また、このＣＣＤカメラ１６１ａ，１６１ｂによって撮像された撮像データを入力し顔部分を検出する顔検出部１６２と、検出された顔部分の画像データからこの顔が誰のものかを認識する顔認識部１６３とからなる顔認識ユニット１６４を備えている。
【００５６】
また、視覚系認識ユニット１５１は、ＣＣＤカメラ１６１ａ，１６１ｂから撮像データを入力しステレオ視により目標物までの距離を計測する距離計測部１６５と、ステレオ視画像に基づいてロボット装置周囲の足場平面を認識する平面検出及び障害物検出部１６６とからなる環境認識ユニット１６７を備えている。
【００５７】
さらに、視覚系認識ユニット１５１は、ＣＣＤカメラ１６１ａ，１６１ｂによって撮像された画像データを入力し画像中の色を検出する色検出部１６８と、色検出部１６８によって検出された特徴色からランドマークを検出するランドマーク検出部１６９と、また、色検出部１６８によって検出された特徴色から周囲と肌の色とを認識する肌検出部１７０とからなる色認識ユニット１７１とを備えている。
【００５８】
聴覚系認識ユニット１５２は、ロボット装置１の耳に相当し、外部音声を採集するスピーカ１７２と、採集された音声データから発話を検出する発話検出部１７３と、検出された発話か音声及び発話内容を認識する音声認識部１７４と、音源若しくは話者の方向を認識する方向認識部１７５と、検出された発話から話者を識別する話者識別部１７６とを備えている。
【００５９】
また、触覚系認識ユニット１５３は、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ、ロボット装置１の動きを検出するための加速度センサ、ジャイロ・センサといったセンサ類１８０１，１８０２，・・・，１８０ｎと、これらセンサ１８０における検出結果に基づいて接触を認識する接触認識部１７７とを備える。
【００６０】
このような構成を有する制御ユニット１０における認識制御処理としては、例えば、「睡眠モード」時には、視覚系認識ユニット１５１、聴覚系認識ユニット１５２、触覚系認識ユニット１５３における各認識部の演算量レベルを全て０％にする。
【００６１】
また、「対話モード」時には、視覚系の認識部のなかでも相手の顔認識を行う顔認識ユニット１６４の演算量レベルを１００％、障害物認識を行う環境認識ユニット１６７の演算量レベルを２０％、聴覚系認識ユニット１５２の演算量レベルを１００％のようにする。
【００６２】
このように、ロボット装置１は、行動のコンテクストに応じて、認識部における演算量レベルを変更することで認識部の負荷を変化させることができるため、必要な演算処理以外を排除できる。これにより、各認識部の処理速度を向上することができ、例えば、物体をトラッキングする等の時系列認識を行う場合に認識精度が向上する。
【００６３】
続いて、ロボット装置１における制御プログラムのソフトウェア構成例について図９乃至図１４を用いて説明する。ロボット装置１による各種の表現動作は、ここに例示するソフトウェア構成によって実現される。また、認識制御処理系２００として示す動作を以下に例示するソフトウェア構成によって実現することもできる。
【００６４】
図９において、デバイス・ドライバ・レイヤ４０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００６５】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータＡ２，Ａ３・・・等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【００６６】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００６７】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００６８】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図１０に示す。
【００６９】
ミドル・ウェア・レイヤ５０は、図１０に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール６０〜６８並びに入力セマンティクスコンバータモジュール６９などを有する認識系７０と、出力セマンティクスコンバータモジュール７８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７１〜７７などを有する出力系７９とから構成されている。
【００７０】
認識系７０の各信号処理モジュール６０〜６８は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール６９に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００７１】
入力セマンティクスコンバータモジュール６９は、これら各信号処理モジュール６０〜６８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ５１に出力する。
【００７２】
アプリケーション・レイヤ５１は、図１１に示すように、行動モデルライブラリ８０、行動切換モジュール８１、学習モジュール８２、感情モデル８３及び本能モデル８４の５つのモジュールから構成されている。
【００７３】
行動モデルライブラリ８０には、図１２に示すように、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【００７４】
そして、これら行動モデルは、図１１に示すように、それぞれ入力セマンティクスコンバータモジュール６９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル８３に保持されている対応する情動のパラメータ値や、本能モデル８４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール８１に出力する。
【００７５】
なお、この具体例の場合、各行動モデルは、次の行動を決定する手法として、図１３に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎの間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００７６】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図１４に示すような状態遷移表９０を有している。
【００７７】
この状態遷移表９０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【００７８】
したがって、図１４の状態遷移表９０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であることが他のノードに遷移するための条件となっている。
【００７９】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル８３及び本能モデル８４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル８３に保持された「喜び（Ｊｏｙ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」又は「悲しみ（Ｓａｄｎｅｓｓ）」の何れかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【００８０】
また、状態遷移表９０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できるほかの各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００８１】
したがって、図１４の状態遷移表９０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（ｎｏｄｅ  １２０）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００８２】
各行動モデルは、それぞれこのような状態遷移表９０として記述されたノードＮＯＤＥ０〜ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール６９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール８１に出力するようになされている。
【００８３】
図１１に示す行動切換モジュール８１は、行動モデルライブラリ８０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８に送出する。なお、本具体例では、図１２にて下側に表記された行動モデルほど優先順位が高く設定されている。
【００８４】
また、行動切換モジュール８１は、行動完了後に出力セマンティクスコンバータモジュール７８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール８２、感情モデル８３及び本能モデル８４に通知する。
【００８５】
一方、学習モジュール８２は、入力セマンティクスコンバータモジュール６９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【００８６】
そして、学習モジュール８２は、この認識結果及び行動切換えモジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデルの対応する遷移確率を変更する。
【００８７】
他方、感情モデル８３は、「喜び（Ｊｏｙ）」、「悲しみ（Ｓａｄｎｅｓｓ）」、「怒り（Ａｎｇｅｒ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」、「嫌悪（Ｄｉｓｇｕｓｔ）」及び「恐れ（Ｆｅａｒ）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル８３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【００８８】
具体的には、感情モデル８３は、入力セマンティクスコンバータモジュール６９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量をΔＥ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル８３は、これと同様にして全ての情動のパラメータ値を更新する。
【００８９】
【数１】
2004298976.tif 000003
【００９０】
なお、各認識結果や出力セマンティクスコンバータモジュール７８からの通知が各情動のパラメータ値の変動量ΔＥ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量ΔＥ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量ΔＥ［ｔ］に大きな影響を与えるようになっている。
【００９１】
ここで、出力セマンティクスコンバータモジュール７８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル８３は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７８からの通知は、上述した学習モジュール８２にも入力されており、学習モジュール８２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【００９２】
なお、行動結果のフィードバックは、行動切換モジュール８１の出力（感情が付加された行動）によりなされるものであってもよい。
【００９３】
一方、本能モデル８４は、「運動欲（ｅｘｅｒｃｉｓｅ）」、「愛情欲（ａｆｆｅｃｔｉｏｎ）」、「食欲（ａｐｐｅｔｉｔｅ）」及び「好奇心（ｃｕｒｉｏｓｉｔｙ）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル８４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【００９４】
具体的には、本能モデル８４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール７８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル８４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【００９５】
【数２】
2004298976.tif 000004
【００９６】
なお、認識結果及び出力セマンティクスコンバータモジュール７８からの通知などが各欲求のパラメータ値の変動量ΔＩ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７８からの通知は、「疲れ」のパラメータ値の変動量ΔＩ［ｋ］に大きな影響を与えるようになっている。
【００９７】
なお、本具体例では、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【００９８】
一方、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８は、図１０に示すように、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール８１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系７９の対応する信号処理モジュール７１〜７７に与える。
【００９９】
そしてこれら信号処理モジュール７１〜７７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はＬＥＤに順次送出する。
【０１００】
したがって、ロボット装置１は、上述した制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【０１０１】
本具体例として示すロボット装置１では、行動切換モジュール８１が行動モデルライブラリのなかから選択した（切り換えた）行動に応じて、認識係７０を制御していることになる。
【０１０２】
上述したように、ロボット装置１によれば、演算処理が自身の動作に影響を与えることなく、各動作のための各種認識処理における演算量レベルを自らが実行している動作に応じて動的に変化させることによって、演算処理による負荷を軽減し、限られたソフトウェア資源及びハードウェア資源といったリソースを有効に活用できる。
【０１０３】
上述したロボット装置１の制御プログラムは、このロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フレキシブルディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【０１０４】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１に伝送されて読み込まれる。また、ロボット装置１は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【０１０５】
【発明の効果】
以上詳細に説明したように、本発明に係るロボット装置は、認識制御手段によって、行動選択手段から送られる信号に基づいて各認識手段における演算量レベルを制御する信号を生成することにより、演算処理による認識手段の負荷を軽減し、演算処理が自身の動作に悪影響を与えないようにできる。また、各動作のための各種認識処理における演算量レベルを自らが実行している動作に応じて動的に変化させることによって、限られたソフトウェア資源及びハードウェア資源といったリソースを有効に活用できる。
【０１０６】
また、本発明に係るロボット装置の認識制御方法は、認識制御工程にて、行動選択工程から送られる信号に基づいて認識工程のそれぞれにおける演算量レベルを制御する信号を生成することにより、認識工程における演算処理の負荷を軽減し、演算処理がロボット装置の動作に悪影響を与えないようにできる。また、各動作のための各種認識処理における演算量レベルを自らが実行している動作に応じて動的に変化させることによって、限られたソフトウェア資源及びハードウェア資源といったリソースを有効に活用できる。
【図面の簡単な説明】
【図１】本発明の具体例として示す認識制御処理系を説明する構成図である。
【図２】上記認識制御処理系において、行動決定部から一括した制御コマンドが送られる場合を説明する構成図である。
【図３】上記図１の認識制御処理を説明するフローチャートである。
【図４】上記図２の認識制御処理を説明するフローチャートである。
【図５】本発明の具体例として示すロボット装置の外観を説明する斜視図である。
【図６】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図７】同ロボット装置の回路構成を示すブロック図である。
【図８】同ロボット装置の制御ユニットに備えられる各認識部の具体例を説明する構成図である。
【図９】同ロボット装置のソフトウェア構成を示すブロック図である。
【図１０】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図１１】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図１２】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図１３】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図１４】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
１  ロボット装置、２００  認識制御処理系、２０１  行動決定部、２０２  認識制御部、２０３  認識部
【図１】
2004298976.tif 000005
【図２】
2004298976.tif 000006
【図３】
2004298976.tif 000007
【図４】
2004298976.tif 000008
【図５】
2004298976.tif 000009
【図６】
2004298976.tif 000010
【図７】
2004298976.tif 000011
【図８】
2004298976.tif 000012
【図９】
2004298976.tif 000013
【図１０】
2004298976.tif 000014
【図１１】
2004298976.tif 000015
【図１２】
2004298976.tif 000016
【図１３】
2004298976.tif 000017
【図１４】
2004298976.tif 000018