(57)【特許請求の範囲】
【請求項１】
外部環境に対する認識結果に基づいて自律的に対象物をトラッキングする自律型のロボット装置において、
前記外部環境に存在する対象物に関する属性情報を認識する複数の認識手段と、
前記複数の認識手段によって認識された各属性情報を受け取り、時間的及び空間的な所定の範囲における該認識された各属性情報を対象物毎に整合するように対応付け、識別番号を付して記憶する統合情報生成記憶手段と、
前記統合情報生成記憶手段に記憶されている前記対象物の統合情報から、トラッキングの対象となる所定の対象物の統合情報を探索して、前記識別番号によって特定される対象物へのトラッキング行動に関する動作命令を生成する動作命令生成手段と、
前記動作命令生成手段から前記動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶手段から受信し、該動作命令と該識別番号とを対応させることによって、該識別番号に基づいて選択されたトラッキング行動に使用する属性情報により、トラッキング行動の動作をさせる動作生成手段とを備え、
前記統合情報生成記憶手段は、前記複数の認識手段のうちの少なくとも二つの認識手段からの各認識結果が時間的及び空間的な所定の範囲において近いときには、同一の対象物から認識された属性情報であるとし、同じ識別番号を付した統合情報として記憶し、前記複数の認識手段のうちの一の認識手段からの時間的な所定の範囲における、前記対象物の属性情報に対する新たな認識結果が前回の認識結果とマッチングしないときには、該新たな認識結果を新たな対象物の属性情報として識別符号を付して記憶するロボット装置。
【請求項２】
外部環境に対する認識結果に基づいて自律的に対象物をトラッキングする自律型のロボット装置の制御方法において、
前記外部環境に存在する対象物に関する属性情報を認識する複数の認識手段によって認識された各属性情報を受け取り、時間的及び空間的な所定の範囲における該認識された各属性情報を対象物毎に整合するように対応付け、識別番号を付して記憶する統合情報生成記憶工程と、
前記統合情報生成記憶工程にて記憶された前記対象物の統合情報から、トラッキングの対象となる所定の対象物の統合情報を探索して、前記識別番号によって特定される対象物へのトラッキング行動に関する動作命令を生成する動作命令生成工程と、
前記動作命令生成工程から前記動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶工程から受信し、該動作命令と該識別番号とを対応させることによって、該識別番号に基づいて選択されたトラッキング行動に使用する属性情報により、トラッキング行動の動作をさせる動作生成工程とを備え、
前記統合情報生成記憶工程では、前記複数の認識手段のうちの少なくとも二つの認識手段からの各認識結果が時間的及び空間的な所定の範囲において近いときには、同一の対象物から認識された属性情報であるとし、同じ識別番号を付した統合情報として記憶し、前記複数の認識手段のうちの一の認識手段からの時間的な所定の範囲における、前記対象物の属性情報に対する新たな認識結果が前回の認識結果とマッチングしないときには、該新たな認識結果を新たな対象物の属性情報として識別符号を付して記憶するロボット装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自律的な動作を行いリアリスティックなコミュニケーションを実現するロボット装置及びその制御方法に係り、特に、画像や音声などの外界の情報を認識してそれに対して自身の行動を反映させる機能を備えた自律型のロボット装置及びその制御方法に関する。
【０００２】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ＲＯＢＯＴＡ(奴隷機械)"に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（industrial robot）であった。
【０００３】
最近では、イヌやネコ、クマのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトやサルなどの２足直立歩行を行う動物の身体メカニズムや動作を模した「人間形」若しくは「人間型」のロボット（humanoid robot）など、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【０００４】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々のサービスを提供することができる。
【０００５】
脚式移動ロボットの用途の１つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
【０００６】
また、脚式移動ロボットの他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が挙げられる。この種のロボットは、ヒトあるいはイヌ（ペット）、クマなどの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現を忠実に再現する。また、あらかじめ入力された動作パターンを単に忠実に実行するだけではなく、ユーザ（あるいは他のロボット）から受ける言葉や態度（「褒める」とか「叱る」、「叩く」など）に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
【０００７】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定的であり、玩具の動作をユーザの好みに合わせて変更することはできない。この結果、ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうことになる。
【０００８】
これに対し、自律動作を行うインテリジェントなロボットは、一般に、外界の情報を認識してそれに対して自身の行動を反映させる機能を持っている。すなわち、ロボットは、外部環境からの音声や画像、触覚などの入力情報に基づいて感情モデルや本能モデルを変化させて動作を決定することにより、自律的な思考及び動作制御を実現する。すなわち、ロボットが感情モデルや本能モデルを用意することにより、より高度な知的レベルで人間とのリアリスティックなコミュニケーションを実現することも可能となる。
【０００９】
ロボットが環境変化に応じた自律動作を行うために、従来は、ある１つの観測結果に対してその情報を受けて行動を取るような単純な行動記述の組み合わせで行動を記述していた。これら入力に対する行動のマッピングにより、ランダム性、内部状態（感情・本能）、学習、成長などの機能を導入することで一意ではない複雑な行動の発現を可能にすることができる。この行動の発現を行うところを、行動生成部という。
【００１０】
例えば、２台のＣＣＤカメラからなるステレオカメラを両目として配した首部を胴体部に対して可動可能とし、さらに２足歩行を可能とする左右の脚部を有した自律型ロボット装置にあって、首部の動作を生成するような行動生成部を首部動作生成部という。
【００１１】
【発明が解決しようとする課題】
ところで、従来、首部による画像上の特徴点への注視（トラッキング）は、首部の根本の座標系に変換し、その変換座標における特徴点の位置に変換し、その方向に首部を向けるといった処理がなされていた。そのため、注視するセンサ情報を動作命令生成部のような上位から前記首部動作生成部に指定し、その方向に注視行動を実施するものであった。そのため、上位のモジュール（動作命令生成部）では、注視行動に使用する最適な情報を選択する必要があった。
【００１２】
本発明は、前記実情に鑑みてなされたものであり、動作命令生成部（上位モジュール）では、何に対して注視するのかを指定するだけでトラッキングが可能となるロボット装置及びその制御方法の提供を目的とする。
【００１３】
【課題を解決するための手段】
本発明に係る自律型のロボット装置は、前記課題を解決するために、外部環境に対する認識結果に基づいて自律的に対象物をトラッキングする自律型のロボット装置において、前記外部環境に存在する対象物に関する属性情報を認識する複数の認識手段と、前記複数の認識手段によって認識された各属性情報を受け取り、時間的及び空間的な所定の範囲における該認識された各属性情報を対象物毎に整合するように対応付け、識別番号を付して記憶する統合情報生成記憶手段と、前記統合情報生成記憶手段に記憶されている前記対象物の統合情報から、トラッキングの対象となる所定の対象物の統合情報を探索して、前記識別番号によって特定される対象物へのトラッキング行動に関する動作命令を生成する動作命令生成手段と、前記動作命令生成手段から前記動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶手段から受信し、該動作命令と該識別番号とを対応させることによって、該識別番号に基づいて選択されたトラッキング行動に使用する属性情報により、トラッキング行動の動作をさせる動作生成手段とを備え、前記統合情報生成記憶手段は、前記複数の認識手段のうちの少なくとも二つの認識手段からの各認識結果が時間的及び空間的な所定の範囲において近いときには、同一の対象物から認識された属性情報であるとし、同じ識別番号を付した統合情報として記憶し、前記複数の認識手段のうちの一の認識手段からの時間的な所定の範囲における、前記対象物の属性情報に対する新たな認識結果が前回の認識結果とマッチングしないときには、該新たな認識結果を新たな対象物の属性情報として識別符号を付して記憶する。
【００１４】
このロボット装置では、統合情報生成記憶手段が複数の認識手段によって認識された各属性情報を受け取り、対象物毎に時間的及び空間的に整合性を保つように統合し、識別番号を付して記憶し、動作命令生成手段が前記統合情報生成記憶手段に記憶されている前記対象物の統合情報から、注視の対象となる所定動作生成手段が対象物の統合情報を探索して対象物の識別番号に基づいた動作命令を生成し、動作生成手段が前記動作命令生成手段から前記対象物の識別番号に基づいた動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶手段から受信して、注視行動に使用する属性情報を選択して注視行動のための制御信号を生成する。
【００１５】
本発明に係るロボット装置の制御方法は、前記課題を解決するために、外部環境に対する認識結果に基づいて自律的に対象物をトラッキングする自律型のロボット装置の制御方法において、前記外部環境に存在する対象物に関する属性情報を認識する複数の認識手段によって認識された各属性情報を受け取り、時間的及び空間的な所定の範囲における該認識された各属性情報を対象物毎に整合するように対応付け、識別番号を付して記憶する統合情報生成記憶工程と、前記統合情報生成記憶工程にて記憶された前記対象物の統合情報から、トラッキングの対象となる所定の対象物の統合情報を探索して、前記識別番号によって特定される対象物へのトラッキング行動に関する動作命令を生成する動作命令生成工程と、前記動作命令生成工程から前記動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶工程から受信し、該動作命令と該識別番号とを対応させることによって、該識別番号に基づいて選択されたトラッキング行動に使用する属性情報により、トラッキング行動の動作をさせる動作生成工程とを備え、前記統合情報生成記憶工程では、前記複数の認識手段のうちの少なくとも二つの認識手段からの各認識結果が時間的及び空間的な所定の範囲において近いときには、同一の対象物から認識された属性情報であるとし、同じ識別番号を付した統合情報として記憶し、前記複数の認識手段のうちの一の認識手段からの時間的な所定の範囲における、前記対象物の属性情報に対する新たな認識結果が前回の認識結果とマッチングしないときには、該新たな認識結果を新たな対象物の属性情報として識別符号を付して記憶する。
【００１６】
【発明の実施の形態】
以下、本発明の一構成例として示す２足歩行タイプのロボット装置について、図面を参照して詳細に説明する。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。つまり、音声や画像などの外的刺激の認識結果に基づいて自律的に行動制御を行うことができる。
【００１７】
図１に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／４Ｌと、左右２つの脚部ユニット５Ｒ／５Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００１８】
このロボット装置１が具備する関節自由度構成を図２に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００１９】
また、上肢を構成する各々の腕部ユニット４Ｒ／４Ｌは、、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール輪１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００２０】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００２１】
また、下肢を構成する各々の脚部ユニット５Ｒ／５Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００２２】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００２３】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００２４】
図３には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／４Ｌ，脚部ユニット５Ｒ／５Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００２５】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Central Processing Unit）や、ＤＲＡＭ、フラッシュＲＯＭ等の主要回路コンポーネント（図示しない）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示しない）などを含んだ周辺回路１２とで構成される。
【００２６】
本発明を実現するうえで、この制御ユニット１０の設置場所は、特に限定されない。図３では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。あるいは、ロボット装置１外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００２７】
図２に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００２８】
また、頭部ユニット３には、外部の状況を撮像するためのＣＣＤ（Charge Coupled Device）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【００２９】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【００３０】
また、腕部ユニット４Ｒ／４Ｌは、上腕ユニット４１Ｒ／４１Ｌと、肘関節ユニット４２Ｒ／４２Ｌと、前腕ユニット４３Ｒ／４３Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【００３１】
また、脚部ユニット５Ｒ／５Ｌは、大腿部ユニット５１Ｒ／５１Ｌと、膝ユニット５２Ｒ／５２Ｌと、脛部ユニット５３Ｒ／５３Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【００３２】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／４Ｌ、各脚部ユニット５Ｒ／５Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／２２Ｌ，２３Ｒ／２３Ｌが配備されている。さらに、各脚部ユニット５Ｒ／５Ｌの足底が着床したか否かを検出する接地確認センサ３０Ｒ／３０Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【００３３】
接地確認センサ３０Ｒ／３０Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００３４】
接地確認センサ３０Ｒ／３０Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部分の傾きや姿勢を検出することができる。
【００３５】
主制御部１１は、各センサ３０Ｒ／３０Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／２２Ｌ，２３Ｒ／２３Ｌの各々に対して適応的な制御を行い、ロボット装置１の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【００３６】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Zero Moment Point）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／２２Ｌ，２３Ｒ／２３Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著“LEGGED LOCOMOTION ROBOTS”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００３７】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【００３８】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びＣＣＤカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【００３９】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【００４０】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【００４１】
さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置１に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【００４２】
特に、このロボット装置１は、複数のセンサ情報から特定のセンサ情報を使ってその方向に注視する行動制御を行う。さらに、本発明では、センサーフュージョンを行う短期記憶部（ShortTermMemory）の情報を用いて、注視行動の対象物情報から適切なセンサ情報を選択し、上位のコマンドからは、センサーフュージョンに使われるＩＤ（対象物ＩＤ）を指定するだけで、注視動作モジュールが自動的に最適なセンサ情報を選択するようにした。
【００４３】
図４には、ロボット装置１において採用される、前記注視行動制御を含む行動制御システム５０の基本アーキテクチャを模式的に示している。
【００４４】
図示の行動制御システム５０にはオブジェクト指向プログラミングを採り入れることができる。この場合、各ソフトウェアは、データ（プロパティ）とそのデータに対する処理手続き（メソッド）とを一体化させた「オブジェクト」というモジュール単位で扱われる。また、各オブジェクトは、メッセージ通信と共有メモリを使ったオブジェクト間通信方法によりプロパティの受け渡しとメソッドの継承を行なうことができる。
【００４５】
行動制御システム５０は、外部環境（Environments）を認識するために、視覚認識機能部５１と、聴覚認識機能部５２と、接触認識機能部５３を備えている。
【００４６】
視覚認識機能部（Video）５１は、例えば、電荷結合素子（Charge Coupled Device：ＣＣＤ）カメラのような画像入力装置を介して入力された撮影画像を基に、顔認識や色認識などの画像認識処理や特徴抽出を行う。視覚認識機能部５１は、"MultiColorTracker"，"FaceDetector"，"FaceIdentify"といった複数のオブジェクトで構成される。
【００４７】
聴覚認識機能部（Audio）５２は、マイクなどの音声入力装置を介して入力される音声データを音声認識して、特徴抽出したり、単語セット（テキスト）認識を行ったりする。聴覚認識機能部５２は、後述する"AudioRecog"，"AuthurDecoder"といった複数のオブジェクトで構成される。
【００４８】
接触認識機能部（Tactile）５３は、例えば機体の頭部などに内蔵された接触センサによるセンサ信号を認識して、「なでられた」とか「叩かれた」という外部刺激を認識する。
【００４９】
内部状態管理部（ＩＳＭ：Internal Status Manager）５４は、本能モデルや感情モデルを備え、上述の視覚認識機能部５１と、聴覚認識機能部５２と、接触認識機能部５３によって認識された外部刺激（ＥＳ：ExternalStimula）に応じてロボット装置１の本能や情動といった内部状態を管理する。
【００５０】
感情モデルと本能モデルは、それぞれ認識結果と行動履歴を入力に持ち、感情値と本能値を管理している。行動モデルは、これら感情値や本能値を参照することができる。
【００５１】
短期記憶部（ShortTermMemory）５５は、上述の視覚認識機能部５１と、聴覚認識機能部５２と、接触認識機能部５３によって外部環境から認識されたターゲットやイベントを短期間保持する機能モジュールである。例えば、カメラからの入力画像を約１５秒程度の短い期間だけ記憶する。
【００５２】
長期記憶部（LongTermMemory）５６は、物の名前など学習により得られた情報を超期間保持するために使用される。長期記憶部５６は、例えば、ある行動モジュールにおいて外部刺激から内部状態の変化を連想記憶する。
【００５３】
ロボット装置１の行動制御は、反射行動部５９によって実現される「反射行動」と、状況依存行動階層５８によって実現される「状況依存行動」と、熟考行動階層５７によって実現される「熟考行動」に大別される。
【００５４】
熟考行動階層（DeliberativeLayer）５７は、短期記憶部５５並びに長期記憶部５６の記憶内容に基づいて、ロボット装置１の比較的長期にわたる行動計画などを行う。
【００５５】
熟考行動は、与えられた状況あるいは人間からの命令により、推論やそれを実現するための計画を立てて行われる行動である。このような推論や計画は、インタラクションを保つための反応時間よりも処理時間や計算負荷を要するので、ロボット装置１は反射行動や状況依存行動をリアルタイムで反応を返しながら行い、熟考行動を推論や計画を立てて行う。
【００５６】
状況依存行動階層（ＳＢＬ：SituatedBehaviorsLayer）５８は、短期記憶部５５並びに長期記憶部５６の記憶内容や、内部状態管理部５４によって管理される内部状態を基に、ロボット装置１が現在置かれている状況に即応した行動を制御する。
【００５７】
状況依存行動階層５８は、各行動毎にステートマシンを用意しており、それ以前の行動や状況に依存して、センサ入力された外部情報の認識結果を分類して、行動を機体上で発現する。また、状況依存行動階層５８は、内部状態をある範囲に保つための行動（「ホメオスタシス行動」とも呼ぶ）も実現し、内部状態が指定した範囲内を越えた場合には、その内部状態を当該範囲内に戻すための行動が出易くなるようにその行動を活性化させる（実際には、内部状態と外部環境の両方を考慮した形で行動が選択される）。状況依存行動は、反射行動（後述）に比し、反応時間が遅い。
【００５８】
熟考行動階層５７や状況依存行動階層５８は、アプリケーションとして実装することができる。
【００５９】
反射的行動部（ConfigurationDependentActionsAndReactions又はReflexive ＳＢＬ）５９は、上述の視覚認識機能部５１と、聴覚認識機能部５２と、接触認識機能部５３によって認識された外部刺激に応じて反射的な機体動作を実現する機能モジュールである。
【００６０】
反射行動は、基本的に、センサ入力された外部情報の認識結果を直接受けて、これを分類して、出力行動を直接決定する行動である。例えば、人間の顔を追いかけたり、うなずくといった振る舞いは反射行動として実装することが好ましい。
【００６１】
本実施形態に係るロボット装置１では、短期記憶部５５が、上述した視覚認識機能部５１、聴覚認識機能部５２、接触認識機能部５３などの複数の認識器の結果を時間的及び空間的に整合性を保つように統合して、外部環境下の各物体に関する知覚を短期間の記憶として状況依存行動階層（ＳＢＬ）５８などに提供するようになっている。また、センサ入力された外部情報の認識結果を直接、反射行動部（Reflexive ＳＢＬ）５９に提供するようになっている。
【００６２】
したがって、上位モジュールとして構成される行動制御モジュール側では、外界からの複数の認識結果を統合して意味を持ったシンボル情報として扱い、高度な行動制御を行うことができる。また、以前に観測された認識結果との対応問題などより複雑な認識結果を利用して、どの肌色領域が顔でどの人物に対応しているかや、この声がどの人物の声なのかなどを解くことができる。
【００６３】
また、認識した観測結果に関する情報を記憶として短期記憶部５５が保持しているので、自律行動する期間中に一時的に観測結果が来なかったりした場合であっても、機体の行動制御を行うアプリケーションなどの上位モジュールからは常にそこに物体が知覚されているように見えるようにすることができる。例えば、センサの視野外の情報もすぐに忘れることなく保持しているので、ロボットが物体を一旦見失ったとしても、また後で探し出すことができる。この結果、認識器間違いやセンサのノイズに強くなり、認識器の通知のタイミングに依存しない安定したシステムを実現することができる。また、認識器単体から見て情報が足りなくても、他の認識結果が補うことができる場合があるので、システム全体としての認識性能が向上する。
【００６４】
また、関連する認識結果が結び付けられているので、アプリケーションなどの上位モジュールで関連する情報を使って行動判断することが可能である。例えば、ロボット装置は、呼び掛けられた声を基に、その人物の名前を引き出すことができる。この結果、挨拶の応答に「こんにちは、ＸＸＸさん。」のように答えるなどのリアクションが可能である。
【００６５】
このような行動制御システム５０を適用し、このロボット装置１は、上述したように、センサーフュージョンを行う短期記憶部５５の情報を用いて、注視行動の対象物情報から対象物に関する属性情報をセンシングした適切なセンサ情報を選択して、対象物に対して注視行動を行う。上位のコマンドからは、センサーフュージョンに使われるＩＤ（対象物ＩＤ）を指定するだけで、注視動作モジュールが自動的に最適なセンサ情報を選択する。
【００６６】
図５には、行動制御システムに含まれる注視行動制御システム７０を構成する各モジュールを示す。
【００６７】
色検出器７１は、色検出を行うモジュールであり、カメラなどの画像入力装置から画像データを受け取り、あらかじめ持っている複数のカラー・モデルに基づいて色を抽出し、連続した色領域に分割する。分割された各色領域の位置や大きさ、特徴量などの色情報（ColorInfo）は短期記憶部（ShortTermMemory）７５及び後述する首部動作生成部（HeadMotionGenerator：ＨＭＧ）７７に対象物の属性情報の一つとして送られる。
【００６８】
音検出器７２は、音声の検出を行うモジュールであり、マイクなどの音声入力装置からの音声データを受け取って、音声認識を行うだけでなく、その音の方向を検出する。音の方向の検出は、マイクがステレオである場合に、水平方向の音源方向推定を行うことにより可能である。ここで検出された音情報（SoundInfo）は短期記憶部７５及び後述する首部動作生成部７７に対象物に関する属性情報の一つとして送られる。
【００６９】
顔検出器７３は、画像フレーム中から顔領域を検出するモジュールであり、カメラなどの画像入力装置から画像データを受け取り、それを９段階のスケール画像に縮小変換する。このすべての画像の中から顔に相当する矩形領域を探索する。重なりあった候補領域を削減して最終的に顔と判断された領域に関する位置や大きさ、特徴量などの顔情報（FaceInfo）を検出する。ここで検出された顔情報は短期記憶部７５へ送られる。
【００７０】
関節角度検出部７４は、ロボット装置１の脚部や、首部や腕部等の各関節の関節角度の現在値（センサ出力）を検出する。ここで検出された関節角度のセンサ出力は短期記憶部７５及び首部動作生成部７７に送られる。
【００７１】
短期記憶部７５は、ロボット装置１の外部環境に関する情報を比較的短い時間だけ保持するオブジェクトであり、音検出部７２から音（声）検出結果、色検出部７１から色検出結果、また顔検出部７３から顔検出結果、さらには関節角度検出部７４から関節角度のセンサ出力を受け取る。そして、これらの複数の検出情報を時間的及び空間的に整合性を保つように統合して、意味を持った統合情報として扱い、比較的短い時間、例えば１５秒間保持する。これらの統合情報は、動作命令部７６及び首部動作生成部７７に渡される。
【００７２】
動作命令部７６は、前述した状況依存行動層等の上位モジュールである。首部動作生成部７７に対して首部の動作を指示するコマンドを発現する。本発明では、短期記憶部７５にて保存されている統合情報に関するＩＤ（対象物ＩＤ）を指定することによって、すなわち、何に対してトラッキングするのかを指定するだけでロボット装置１にトラッキング動作を行わせるものである。
【００７３】
首動作生成部７７は、動作命令部７６から首を動かすコマンドを受けたことに応答して、首の関節角を計算するモジュールである。「追跡」（本実施の形態では前記対象物ＩＤ）のコマンドを受けたときには、短期記憶部７５から受け取った情報を基に、その物体が存在する方向を向く首の関節角を計算して出力する。前記対象物ＩＤを受け取り、最適な対象物情報を選択して、その選択した対象物情報が得られる方向を向くことになる。
【００７４】
次に、ロボット装置１がＡさんの顔にトラッキングするという実施例を説明する。図６においてロボット装置１は、ＣＣＤセンサー等よりなるＰＳＤセンサ８０にて得た情報に基づいてＡさんの顔８５にトラッキングをしようとしている。Ａさんの顔８５の近くには肌色のボール８７がある。
【００７５】
設定された状況について図７を用いて説明する。
時間Ｔｉｍｅ（frameNumber）は、０からスタートして１づつインクリメントされている。その中で、３０フレーム毎に取得した画像に顔が見え、１０フレーム毎に顔の肌色の領域が検出され、５０フレームのときには“こんちには”という声が聞こえる、という状況である。そして、最初の３０フレームのときにＡさんの顔が見えたので、トラッキングコマンドを実行しようとするところである。
【００７６】
このような状況設定の中での、前記顔検出器７３、色検出器７１、音検出器７２、短期記憶部７５、動作命令部７６、首部動作生成部７７の詳細な動作について以下に説明する。
【００７７】
先ず、顔検出器７３は、テンプレートマッチングの一般的な検出アルゴリズムを適用して対象物に関する属性情報の一つである顔情報FaceInfoを生成する。ここでは、図８に示すように、時刻ｔのフレームの顔画像を見て、顔情報を検出している。顔検出結果は、
FaceRecogResult=（frameNumber,faceID,gravity point(x,y),sizeX,sizeY,c.m.）
で表される。ここで、frameNumberは、ロボット装置のシステム内の時間（絶対時間）を示すので画像にもこのframeNumberが付く。gravity point(x,y)は顔画像の重心の座標である。sizeX,sizeYは、顔画像のＸ軸上のサイズ、Ｙ軸上のサイズである。c.m.は、confidence measureは、顔認識の確かさ（信頼度）を表すものである。
【００７８】
この顔認識の確かさ（信頼度）c.m.は、例えばテンプレートの画素数ｎのうち、マッチした画素数を（ｎｍａｔｃｈ ）として次式により算出できる。
c.m.＝ｎｍａｔｃｈ／ｎ
したがって、前記図７における、３０フレーム目の画像の顔検出結果信号は、例えばFaceRecogResult(30,human-A,x1,y1,sizex1,sizey1,0.3）となる。
【００７９】
次に、色検出器７１は、設定された色空間（ここでは肌色の色空間）にマッチングする領域を抜き出すという色検出アルゴリズムを適用して対象物の属性情報の一つである色検出結果信号を生成する。
【００８０】
画像上の画素P(x,y)は図９に示すように色情報(y,u,v)の値を各々持っている。ここから、肌色（SKIN)に設定された色空間にマッチする領域の中心とその大きさを検出する。
【００８１】
画素の色空間が, ８ビットで表現されるとすると、図９に示すように、0≦y≦255, 0≦u≦255, 0≦v≦255で表現されるので、空間指定の方法は、図１０に各y平面における色領域で示すように、(u1,v1),(u2,v2)で定義される長方形と定義できる。
ここで、Color[y][0]=u1；
Color[y][1]=v1；
Color[y][2]=u2；
Color[y][3]=v2；
である。したがって、色空間colorは、Color[256][4]として定義できる。
【００８２】
次に、図１１、図１２及び図１３を参照して複数の色領域検出アルゴリズムについて説明する。
画像上の画素の位置をP(x0,x1)とし、yuvデータをCu(x0,x1),Cv(x0,x1),Cy(x0,x1)とすると、色空間のフィルターを通した後の画像のデータ（設定された色空間にマッチする場合には1,そうでない場合には0となる）Q(x0,x1)は、
0004281286.tif 000002
となる。
【００８３】
色照合画像（０）において、各(x0,x1)でマッチしている（Q(x0,x1)=1）場合、その周辺の画素がマッチしているかを探索し、マッチしている場合には、同一領域とみなす。
【００８４】
画素(X,Y)についての条件は、
(Q(X+1,Y)==1‖Q(X-1,Y)==1‖Q(X,Y+1)==1‖Q(X,Y-1)==1‖
Q(X+1,Y+1)==1‖Q(X+1,Y-1)==1‖Q(X-1,Y+1)==1‖Q(X-1,Y-1)==1)
と表せる。これを図１１の色照合画像（０）に対してフィルタリングすると、図１２の色照合画像（１）と図１３の色照合画像（２）が得られる。
【００８５】
色検出信号は、色検出結果に、色空間idを付加したものであり、以下の式によって表される。
ColorDetectResult(id,color,centerX,centerY,sizeX,sizeY)
ここで、idはシリアル番号、colorはセグメントに使用する色空間を示す。したがって、colorは顔であれば、肌色領域（この例では、SKIN)になる。また、centerX,centerYは、色検出領域における重心座標を示す。また、sizeX,sizeYは、色検出領域のサイズを示す。
【００８６】
前記色照合画像（１）、（２）のそれぞれについて、centerとsizeXとsizeYを算出し、色検出信号ColorDetectResult=(id,color,centerX,centerY,sizeX,sizeY)を求める。
【００８７】
すると、色照合画像（１）の色検出領域における色検出信号は、idを10とすると、
ColorDetectResult[0]=(10,“SKIN”,3,4,3,3）となる。
【００８８】
また、色照合画像（２）の色検出領域における色検出信号は、idを11とすると、
ColorDetectResult[0]=(11,“SKIN”,6,8,3,3）となる。
【００８９】
そして、前述のように検出された色検出領域における前記色検出信号を色検出モジュールで格納しておき、フレーム間でオーバーラップ(Overlap)する領域が大きい場合には、同一のものが移動したと考え、同一のidをナンバリング(numbering）する。例えば、図１４に示すように新しく検出した色検出領域newとOld(id=10)の色検出領域とのオーバーラップOverlap領域の面積Ｓｏｖｅｒｌａｐがある閾値Ｓｔｈｒｅｓｏｕｌｄよりも大きいならば新しい色検出領域newの色検出信号のIDｎｅｗはidｏｌｄと同じとする。すなわち、Ｓｏｖｅｒｌａｐ＞Ｓｔｈｒｅｓｏｕｌｄならば、IDｎｅｗ＝idｏｌｄとする。
【００９０】
前記図７に示した状況では、１０フレーム毎に顔の肌色の領域が検出される。このように所定数のフレーム毎に検出される色検出領域における色検出結果信号ColorSegmentResultを、ここでは、(frameNumber,id,x,y,sizeX,sizeY,c.m.)のように示す。c.m.(Confidence measure)は色認識の信頼度である。算出結果は後述する。なお、同一画像中での複数の肌色領域の検出アルゴリズムは前述した通りである。
【００９１】
したがって、図１５に示すように、１０フレーム毎の画像における二つの色検出領域の色検出結果信号は、idを1,2とした場合、
ColorSegmentResult(10,1,x2,y2,sizex2,sizey2,0.8)
ColorSegmentResult(10,2,x3,y3,sizex3,sizey3,0.8)
となる。
【００９２】
なお、色認識の信頼度の算出は、複数の同一色検出領域、例えば肌色領域を検出した場合に、その数で割る方法がある。よって、c.m.=1/(画像に含まれる同一色領域)となる。
次に、音検出器７２は、マイクなどの音声入力装置からの音声データを受け取って、音声認識（声検出）を行う。このため、音検出器７２は、ArthurDecoderを備え、音声特徴量と音声辞書及び構文辞書を使って音声認識を行う。また、音検出器７２は、音声認識だけでなく、その音の方向、すなわち音源方向を検出する。音源方向の検出は、マイクがステレオである場合に得られる図１６のようなRigt micからの出力レベルＲと、Left micからの出力レベルＬとの時間差から水平方向の音源方向推定を行うことにより可能である。ここで検出された音検出信号は短期記憶部７５及び後述する首部動作生成部７７に送られる。
【００９３】
この音源方向の検出アルゴリズムは一般的な方法である。以下に音検出アルゴリズムの具体例を説明する。
図１７において音源Ｓｓからの音速をv[m/s]、左右のマイクロホンにおける時間差をt[s]とすると、左右の音の経路差uは、tv[m]となる。そこで、φ=θと近似し、首部中心ｏからマイクまでの距離をa[m]とすると、
cosθ=a/(tv)となり、θ=cos−１(a/(tv))となる。
【００９４】
よって、音声認識の結果（word）と音源方向（θ）とを合わせた声の検出結果は、SoundRecogResult(frameNumber,word,θ,c.m.）となる。ここでのc.m.は、声認識の信頼度を示すものである。詳細については後述する。
【００９５】
したがって、前記図７の状況で、５０フレーム目の音検出結果は、
SoundRecogResult(50,“OHAYO”,30度,0.9）
となる。
【００９６】
声認識の信頼度c.m.は、以下のようにして得られる。すなわち、サンプリング（ここでは、50フレーム(1フレーム5msec）分の周波数領域(10kHz-7kHz)の平均パワーとそれまでの最大値max値に応じて算出する。80%以上なら、0.8に応じて算出する。
【００９７】
すなわち、Pｃｕｒｒｅｎｔ=Σpｆｒａｍｅ/50とし、もし平均パワーPｃｕｒｒｅｎｔがそれまでのパワーの最大値Pｍａの80%以上なら前記信頼度c.m.は0.8となる。また、平均パワーPｃｕｒｒｅｎｔ&&Pｃｕｒｒｅｎが最大値Pｍａの50%以上であり、かつ最大値Pｍａの80%より小さいなら前記信頼度c.m.は0.5となる。さらにまた、Pｃｕｒｒｅｎｔ&&Pｃｕｒｒｅｎが最大値Pｍａの30%以上であり、かつ最大値Pｍａの50%より小さいなら前記信頼度c.m.は0.3となる。
【００９８】
以下に前記信頼度c.m.の決定アルゴリズムを式にて示す。
If(Pｃｕｒｒｅｎｔ>=Pｍａｘ*0.8)
c.m.=0.8
elseIf(Pｍａｘ*0.5<=Pｃｕｒｒｅｎｔ&&Pｃｕｒｒｅｎｔ<Pｍａｘ*0.8)
c.m.=0.5
Else if(Pｍａｘ*0.3<=Pｃｕｒｒｅｎｔ&&Pｃｕｒｒｅｎ<Pmax*0.5)
c.m. = 0.3
となる。
【００９９】
次に、短期記憶部７５は、前述したようにロボット装置１の外部環境に関する情報、すなわち、音検出部７２から音（声）検出結果、色検出部７１から色検出結果、また顔検出部７３から顔検出結果、さらには関節角度検出部７４から関節角度のセンサ出力を受け取る。そして、これらの複数の検出結果を時間的及び空間的に整合性を保つように統合して、意味を持った統合情報として扱い、比較的短い時間、例えば１５秒間保持する。
【０１００】
短期記憶部７５にて保持する短期記憶情報は、
ShortTermMemory(targetID,sensorType,id,data,更新したframeNumber,c.m.)
という情報の配列になる。ここで、sensorTypeは、顔認識結果、色検出結果、声検出結果を表す。
【０１０１】
図１８には、短期記憶部７５が動作する様子を模式的に示している。同図に示す例では、顔の認識結果（ＦＡＣＥ）と音声認識、及び、その音源方向の認識結果（ＶＯＩＣＥ）が別々のタイミングで処理されて、短期記憶部７５に通知されたときの動作を表している（但し、ロボット装置１の機体を原点とする極座標系で描かれている）。この場合、各認識結果ｆａｃｅとvoiceは時間的にも空間的に近い（オーバーラップしている）ことから、顔の属性と音声の属性を持った１つの物体であると判断して、検出器の情報を統合して、現在認識している物体をメモリに記憶として保持する。
【０１０２】
短期記憶部７５内には、外部環境からターゲットを検出するターゲット検出器が設けられている。このターゲット検出器は、顔の認識結果や音声認識結果、色認識結果などの各検出器７１，７２及び７３による検出（認識）結果を基に、新規ターゲットを追加したり、既存のターゲットを認識結果に反映するように更新したりする。検出されたターゲットは、図示しないターゲット・メモリ内に保持される。
【０１０３】
また、ターゲット・メモリには、もはや観測されなくなったターゲットを探して消去するガーベッジ・コレクタ（ＧａｒｂａｇｅＣｏｌｌｅｃｔｏｒ）や、複数のターゲットの関連性を判別して同じターゲットに結び付けるターゲット・アソシエート（ＴａｒｇｅｔＡｓｓｏｃｉａｔｅ）などの機能がある。ガーベッジ・コレクタは、時間の経過に従ってターゲットの確信度をデクリメントしていき、確信度が所定値を下回ったターゲットを削除（ｄｅｌｅｔｅ）することで実現される。また、ターゲット・アソシエートは、同じ属性（認識タイプ）の特徴量が近いターゲット間で空間的・時間的な近さをもつことで、同じターゲットを同定することができる。
【０１０４】
次に、前記図６に示したように、Ａさんの顔８５の近くに肌色のボール８７があるとき、ロボット装置１がＣＣＤセンサーよりなるＰＳＤセンサ８０にて得た情報に基づいてＡさんの顔８５にトラッキングをしようという実施例における、短期記憶部７５の一連の処理の具体例について図１９〜図２３を用いて説明する。
【０１０５】
この場合、図７に示した状況設定に基づけば、２９フレーム目までは図１９に示すように色検出器７１による色検出のみである。そして、色検出器７１から送信されてきた色検出結果信号ColorSegmentResult(29,1,x2,y2,sizex2,sizey2,0.8)を前記ターゲット検出器が検出する。ここで、短期記憶部７５は、肌色のボール８７を肌色物体として検出した肌色領域（id=1）をtargetID=0の短期記憶情報ShortTermMemoryとし、
ShortTermMemory(0,“COLOR”,1,“SKIN_COLOR”,20,0.8）
として前記ターゲットメモリに記憶する。前述したように、ShortTermMemoryは(targetID,sensorType,id,data,更新したframeNumber,c.m.)という配列であるので、２９フレーム目までに記憶される短期記憶情報は、targetIDが0の、色検出結果“COLOR”の、id=1の、肌色領域“SKIN_COLOR”の、更新したframeNumberが20の、認識信頼度0.8の情報である。
【０１０６】
また、この２９フレーム目までに短期記憶部７５は、Ａさんの顔８５についても、肌色物体として検出した肌色領域（id=2）をtargetID=1の短期記憶情報ShortTermMemoryとし、
ShortTermMemory(1,“COLOR”,2,“SKIN_COLOR”,20,0.8）
として前記ターゲットメモリに記憶する。
【０１０７】
次に、３０フレーム目になると、短期記憶部７５は、色検出器７１の色検出結果から短期記憶情報を、
ShortTermMemory(0,“COLOR”,1,“SKIN_COLOR”,30,0.8）
ShortTermMemory(1,“COLOR”,2,“SKIN_COLOR”,30,0.8）
として前記ターゲットメモリに記憶する。
【０１０８】
この３０フレーム目において顔検出器７３は顔検出を行う。例えば、図２０に示すように、顔検出結果FaceRecogResult(30,human-A,x1,y1,sizex1,sizey1,0.3）が、targetID=1の肌色領域にオーバーラップする方向に検出されると、短期記憶部７５は、
ShortTermMemory(1,“FACE”,A-san,“”,30,0.3）
を、targetID=1に統合する。
【０１０９】
そして、図２１に示すように５０フレーム目までにおいて短期記憶部７５は、ShortTermMemory(0,“COLOR”,1,“SKIN_COLOR”,30,0.8）
ShortTermMemory(1,“COLOR”,2,“SKIN_COLOR”,30,0.8）
ShortTermMemory(1,“FACE”,A-san,“”,30,0.3）
をターゲットメモリ部に記憶する。
【０１１０】
次に、５０フレーム目になると図２２に示すように音検出器７２が音声をθ=30度の方向から肌色物体の肌色領域とオーバーラップする領域を大として検出し、音声検出結果、
SoundRecogResult(50,“OHAYO”,30度,0.9）
を短期記憶部７５に送信する。
【０１１１】
短期記憶部７５は、ターゲット検出器にて前記音声検出結果を検出し、図２３に示す５１フレーム目において、短期記憶情報、
ShortTermMemory(1,“SOUND”,1,“OHAYO”,50,0.9）
を、targetID=1に統合する。
【０１１２】
この時点で、短期記憶部７５は、
ShortTermMemory(0,“COLOR”,1,“SKIN_COLOR”,50,0.8）
ShortTermMemory(1,“COLOR”,2,“SKIN_COLOR”,50,0.8）
ShortTermMemory(1,“FACE”,A-san,“”,30,0.3）
ShortTermMemory(1,“SOUND”,1,“OHAYO”,50,0.9）
をターゲットメモリ部に記憶する。
【０１１３】
このように、短期記憶部７５は、画像情報については、そのセンシングされた時間と画像上の位置から、そのときの首の角度情報から首中心座標における位置を算出し、その方向情報を得る。また、音声情報についても、そのセンシングされた時間と音のした角度情報から首中心座標系における位置を算出する。
【０１１４】
そののち、これらの情報が既存の情報のまとまり（targetID）にマッチングされるか否かを検出し、マッチングできない場合には、新しいtargetIDを作成する。
【０１１５】
ところで、前記図５に示した注視行動制御部７０において動作命令部７６は、短期記憶部７５のクライアントであり、ターゲット・メモリからは各ターゲットに関する情報の通知（Ｎｏｔｉｆｙ）を受け取る。そして、動作命令部７６は、以下に示すようにしてtargetIDを探索し、コマンドを首部動作生成部７７に送る。
【０１１６】
動作命令部７６は全ての短期記憶情報ShortTermMemory()のtargetIDについて、sensorTypeが“FACE”でかつidが“A-san”を、
IF(sensorType==“FACE”&& id==“A-san”)
の条件で探索する。
上記条件にマッチした探索結果が得られたら、コマンドを送信する。一度コマンドを送信したら、targetIDが短期記憶情報からなくなるまで待つ。
【０１１７】
すなわち、図２４に処理手順を示すように、動作命令部７６はトラッキングコマンドを送信済みである（ステップＳ１にてＹｅｓ）と、ステップＳ２に進み、トラッキングコマンドの基になったtargetIDが最新の短期記憶情報に存在するか否かをチェックし、もし存在するのであればステップＳ１からの処理を繰り返す。ここで、最新の短期記憶情報に前記targetIDが存在しないのであればステップＳ３に進んでトラッキング停止のアクションコマンドを首部動作生成部７７に送信する。もし、ステップＳ１にてトラッキングコマンドを送信済みでないと判定するとステップＳ４に進み、短期記憶情報の中に上述したようにsensorTypeが“FACE”でかつidが“A-san”のtargetIDがあるか否かをチェックする。ここで、そのようなtargetIDが無いのであれば（ＮＯ）ステップＳ５に進んで新しいtargetIDを短期記憶部７５に格納し、アクションコマンドを送信する。一方、ステップＳ４にて短期記憶情報の中に上述したようなsensorTypeが有る（ＹＥＳ）のであればステップＳ１に戻る。
【０１１８】
ここで、動作命令部７６から首部動作生成部７７に送信される動作命令信号（コマンド）は、
ActionCommand(COMMAND,targetID）となる。この具体例では、短期記憶部７５からframeNumber=30のデータを受信したときにActionCommand(“Tracking”,1)を送信する。
【０１１９】
次に、動作命令部７６から前記動作命令信号を受信し、注視行動（トラッキング）を行う首動作生成部７７の詳細な構成及び動作について図２５を参照しながら説明する。首部動作生成部７７は、動作命令解釈器７７１と、目標対象物情報選択器７７２と、目標情報受信器７７３と、目標位置検出器７７４と、目標関節角度生成器７７５からなる。
【０１２０】
動作命令解釈器７７１は、動作命令生成部７６から送られてくる前記動作命令信号を受信する。目標対象物情報選択器７７２は、動作命令信号に付随して受信する動作対象物情報をためておく。目標情報受信器７７３は、目標対象物情報選択器７７２からトラッキング動作用センサ情報信号を受信し、目標情報を取得する。目標位置検出器７７４は、目標情機受信器７７３から目標情報信号を受信し、さらに関節角度検出部７４から関節角度信号を受信する。目標関節角度生成器７７５は、目標位置検出器７７４から目標位置信号を受信する。
【０１２１】
以下に、首部動作生成部７７の動作の詳細について図２６〜図２９を用いて説明する。動作命令解釈器７７１は、コマンドが首関節の向きを指定するものなのか、それともある目標IDを追従するためのコマンドなのかを判断する。ここでいう目標IDは、短期記憶のtargetIDに一致する。ここで、首関節の向きを指定するものの場合には、図２６のように直接目標関節角度生成器７７５に送信される。
【０１２２】
目標対象物選択器７７２は、図２７に示すように、短期記憶部７５で生成されるtargetIDとセンサ情報が関連付けられた情報、つまり図示するような、
ShortTermMemory(0,“COLOR”,1,“SKIN_COLOR”,30,0.8）
ShortTermMemory(1,“COLOR”,2,“SKIN_COLOR”,30,0.8）
ShortTermMemory(1,“FACE”,A-san,“”,30,0.3）
を受信し、データベースに保持しており、動作命令解釈器７７１から送信された信号（targetID=1)に基づいてtargetIDに関する最新の情報を保持する。また、保持しているtargetIDに関する情報が短期記憶部７５から更新された場合にも動作し、トラッキング動作用センサ情報信号（useTrackingInfo=color）を目標情報受信器７７３に送信する。
【０１２３】
目標情報受信器７７３は、図２８に示すように、目標対象物情報選択器７７２からのトラッキング動作用センサ情報信号（useTrackingInfo=color）によって、決定されたセンサ情報を用いて、音もしくは、色信号の情報からトラッキング動作に使用するセンサ情報を選択する。
【０１２４】
目標位置検出器７７４は、図２９に示すように、センサ情報に付随するframeNumberから、そのときの関節角度を算出し、目標関節角度生成器７７５に渡す。目標関節角度生成器７７５は、目標情報受信器７７３からのセンサ情報と目標位置検出器７７４からの関節角度から目標の関節角度を生成して動作命令実行部８０に送信する。
【０１２５】
動作命令実行部８０では、首部動作生成部７７の目標関節角度生成器７７５にて生成された目標関節角度信号に従い、ロボットのアクチュエータを制御し、ロボット装置１をトラッキング動作させる。
【０１２６】
このように、動作命令生成部７６が短期記憶部７５で付けられたtargetIDを前記動作命令信号ActionCommandに、(COMMAND,targetID）のように付けるだけで、目標対象物情報選択器７７２がセンサの状況に応じた最適なトラッキングに使用するセンサ情報を選択し、そして目標情報受信器７７３がトラッキング動作用センサ情報信号によってトラッキング動作に使用するセンサ情報を受信し、目標関節角度生成器７７５に送る。目標関節角度生成器７７５は、前記センサ情報に付随するframeNumberから算出された関節角度も供給されており、この関節角度と前記センサ情報とから目標の関節角度を生成して動作命令実行部８０に送信する。
【０１２７】
注視行動制御システム７０にあって、動作命令生成部７６は、何に対してトラッキングするのかを指定するだけで、首動作生成部７７はトラッキングを行うことができる。
【０１２８】
【発明の効果】
本発明に係るロボット装置は、統合情報生成記憶手段が複数の認識手段によって認識された各属性情報を受け取り、対象物毎に時間的及び空間的に整合性を保つように統合し、識別番号を付して記憶し、動作命令生成手段が前記統合情報生成記憶手段に記憶されている前記対象物の統合情報から、注視の対象となる所定動作生成手段が対象物の統合情報を探索して対象物の識別番号に基づいた動作命令を生成し、動作生成手段が前記動作命令生成手段から前記対象物の識別番号に基づいた動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶手段から受信して、注視行動に使用する属性情報を選択して注視行動のための制御信号を生成するので、動作命令生成部（上位モジュール）では、何に対して注視するのかを指定するだけでトラッキングが可能となる。
【０１２９】
本発明に係るロボット装置の制御方法は、統合情報生成記憶工程が複数の認識手段によって認識された各属性情報を受け取り、対象物毎に時間的及び空間的に整合性を保つように統合し、識別番号を付して記憶し、動作命令生成工程が前記統合情報生成記憶工程に記憶されている前記対象物の統合情報から、注視の対象となる所定動作生成工程が対象物の統合情報を探索して対象物の識別番号に基づいた動作命令を生成し、動作生成工程が前記動作命令生成工程から前記対象物の識別番号に基づいた動作命令を受け取ると、前記対象物の識別番号が付された統合情報を前記統合情報生成記憶工程から受信して、注視行動に使用する属性情報を選択して注視行動のための制御信号を生成するので、ロボット装置の動作命令生成部（上位モジュール）では、何に対して注視するのかを指定するだけでトラッキングが可能となる。
【図面の簡単な説明】
【図１】ロボット装置の外観斜視図である。
【図２】ロボット装置の関節自由度を示す模式図である。
【図３】ロボット装置の制御システム構成を模式的に示す図である。
【図４】ロボット装置の行動制御システムの基本アーキテクチャを示す図である。
【図５】注視行動制御システムを構成する各モジュールを示す図である。
【図６】ロボット装置がＡさんの顔にトラッキングするという実施例を示す図である。
【図７】ロボット装置がＡさんの顔にトラッキングするという実施例の状況設定を説明するための図である。
【図８】顔検出器の検出アルゴリズムを説明するための図である。
【図９】色空間を示す図である。
【図１０】平面における色領域を示す図である。
【図１１】色照合画像（０）を示す図である。
【図１２】色照合画像（１）を示す図である。
【図１３】色照合画像（２）を示す図である。
【図１４】新しく検出した色検出領域newとOld(id=10)の色検出領域とのオーバーラップOverlap領域を示す図である。
【図１５】１０フレーム毎の画像における二つの色検出領域を示す図である。
【図１６】音源方向の検出について説明するための図である。
【図１７】音源方向の検出について説明するための図である。
【図１８】短期記憶部が動作する様子を模式的に示す図である。
【図１９】前記図７に示した状況設定における、短期記憶部が動作する２９フレーム目までを示す図である。
【図２０】前記図７に示した状況設定における、短期記憶部が動作する３０フレーム目を示す図である。
【図２１】前記図７に示した状況設定における、短期記憶部が動作する５０フレーム目までを示す図である。
【図２２】前記図７に示した状況設定における、短期記憶部が動作する５０フレーム目を示す図である。
【図２３】前記図７に示した状況設定における、短期記憶部が動作する５１フレーム目を示す図である。
【図２４】動作命令部の処理手順を示す図である。
【図２５】首動作生成部の詳細な構成を示す図である。
【図２６】首動作生成部の動作の詳細を説明するための図である。
【図２７】首動作生成部の動作の詳細を説明するための図である。
【図２８】首動作生成部の動作の詳細を説明するための図である。
【図２９】首動作生成部の動作の詳細を説明するための図である。
【符号の説明】
１  ロボット装置、７０  注視行動制御システム、７１  色検出器、７２  音検出器、７３  顔検出器、７４  関節角度検出器、７５  短期記憶部、７６  動作命令部、７７  首動作生成部
【図１】
0004281286.tif 000003
【図２】
0004281286.tif 000004
【図３】
0004281286.tif 000005
【図４】
0004281286.tif 000006
【図５】
0004281286.tif 000007
【図６】
0004281286.tif 000008
【図７】
0004281286.tif 000009
【図８】
0004281286.tif 000010
【図９】
0004281286.tif 000011
【図１０】
0004281286.tif 000012
【図１１】
0004281286.tif 000013
【図１２】
0004281286.tif 000014
【図１３】
0004281286.tif 000015
【図１４】
0004281286.tif 000016
【図１５】
0004281286.tif 000017
【図１６】
0004281286.tif 000018
【図１７】
0004281286.tif 000019
【図１８】
0004281286.tif 000020
【図１９】
0004281286.tif 000021
【図２０】
0004281286.tif 000022
【図２１】
0004281286.tif 000023
【図２２】
0004281286.tif 000024
【図２３】
0004281286.tif 000025
【図２４】
0004281286.tif 000026
【図２５】
0004281286.tif 000027
【図２６】
0004281286.tif 000028
【図２７】
0004281286.tif 000029
【図２８】
0004281286.tif 000030
【図２９】
0004281286.tif 000031