(57)【要約】    【構成】  集団状態推定システム（１００）では、コンピュータ（１４）は床センサ（１８）からの出力（反応点データ）を利用して、コミュニケーションロボット（１０）のようなオブジェクトの周囲に存在する人間の集団状態を推定する。そのために、反応点のクラスタリングを実行して集団を複数のクラスタに分割する。各クラスタを、「かたまりクラスタ」および「はぐれクラスタ」のずれである分類し、「かたまりクラスタ」や「はぐれクラスタ」のオブジェクトとの位置関係に従って、そのときの集団状態が集団状態１‐集団状態１２のいずれに該当するか推定する。    【効果】  オブジェクトの周囲の集団状態を精度よく推定できるので、集団注意制御やアクティブセンシングを効率的に的確に行うことができる。【選択図】図１３
2008225852.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトと同一閉空間に存在する複数の人間の集団状態を推定する集団状態推定システムであって、
前記複数の人間のそれぞれの位置を検出して位置データを獲得する位置検出手段、
前記位置データに従ってクラスタリングして複数のクラスタに区画するクラスタリング手段、
前記複数のクラスタのそれぞれに含まれる人間の数に応じて各クラスタを第１クラスタと第２クラスタとに分類する分類手段、および
前記第１クラスタおよび前記第２クラスタの存在と前記オブジェクトとの位置関係とに基づいて集団状態を推定し、集団状態データを出力する集団状態推定手段を備える、集団状態推定システム。
【請求項２】
前記集団状態推定手段は、前記第１クラスタおよび前記第２クラスタの数とそれらと前記オブジェクトとの間の距離に基づいて集団状態を推定する、請求項１記載の集団状態推定システム。
【請求項３】
オブジェクトと同一閉空間に存在する複数の人間の集団状態を認識する集団状態認識システムであって、
前記複数の人間のそれぞれの位置を検出して位置データを獲得する位置検出手段、
前記位置データに従ってクラスタリングして複数のクラスタに区画するクラスタリング手段、および
前記複数のクラスタの特徴量に基づいて、集団状態が整然とした状態であるか雑然とした状態であるかを判別する判別手段を備える、集団状態推定システム。
【請求項４】
請求項１ないし３のいずれかに記載の集団状態推定システムを用いて集団状態を推定し、
その集団状態に応じて集団注意制御を実行する集団注意制御手段を備える、集団注意制御システム。
【請求項５】
前記集団注意制御手段はコミュニケーションロボットを含み、前記コミュニケーションロボットは、前記集団状態の推定結果を受け取り、その集団状態に適合した集団注意制御を実行する、請求項４記載の集団注意制御システム。
【請求項６】
請求項１ないし３のいずれかに記載の集団状態推定システムを用いて集団状態を推定し、
その集団状態に応じてアクティブセンシングを実行するアクティブセンシング手段を備える、アクティブセンシングシステム。
【請求項７】
前記アクティブセンシング手段はコミュニケーションロボットを含み、前記コミュニケーションロボットは、前記集団状態の推定結果を受け取り、その集団状態に適合したアクティブセンシングを実行する、請求項７記載のアクティブセンシングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は集団状態推定システムおよび集団注意制御システムならびにアクティブセンシングシステムに関し、特にたとえば、コミュニケーションロボットや展示物などの対象物(オブジェクト)と同一閉空間に存在する人間の集団状態を推定して集団注意制御やアクティブセンシングなどに応用する、集団状態推定システムおよびそれを利用した集団注意制御システムならびにアクティブセンシングシステムに関する。
【背景技術】
【０００２】
たとえば、非特許文献1には、ロボットと人間との間の距離に応じて適切なモデルを構築し、同時に複数の人間と相互作用を行うロボットが開示されている。ただし、非特許文献１のシステムは、多数の人間が存在する集団とロボットとの対話に対応したものではなかった。
【０００３】
一方、非特許文献２には、本件発明者等によって、人間の集団とロボットとの相互作用を円滑に行える手法を開示している。
【非特許文献１】Tasaki, T., Matsumoto S., Yamamoto S., Toda M., Komatani, K., Ogata T., and Okuno, H.G. “Dynamic Communication of Humanoido Robot with Multiple Peaple Based on Interaction Distance,” 人工知能学会論文誌、Vol. 20, No.3, pp.209-219, 2005
【非特許文献２】塩見昌裕、小泉智史、神田宗行、石黒浩、萩田紀博「コミュニケーションロボットによる集団注意制御」ヒューマンインターフェースシンポジウム２００６，  ＣＤ‐ＲＯＭ  ２００６
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献２に開示した手法がロボットと人々との相互作用をする上では有効であることが検証されたが、自律したシステムではなかった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、集団状態推定システムを提供することである。
【０００６】
この発明の他の目的は、オブジェクトに対する人間の集団状態を細かく推定できる、集団状態推定システムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、オブジェクトと同一閉空間に存在する複数の人間の集団状態を認識する集団状態推定システムであって、複数の人間のそれぞれの位置を検出して位置データを獲得する位置検出手段、位置データに従ってクラスタリングして複数のクラスタに区画するクラスタリング手段、複数のクラスタのそれぞれに含まれる人間の数に応じて各クラスタを第１クラスタと第２クラスタとに分類する分類手段、および第１クラスタおよび第２クラスタの存在とオブジェクトとの位置関係とに基づいて集団状態を推定し、集団状態データを出力する集団状態推定手段を備える、集団状態認識システムである。
【０００９】
第１の発明では、集団状態推定システム（１００）は、人間の位置データを取得するために、たとえば床（圧力）センサ（１８）およびコンピュータ（１４）を用いる。コンピュータ（１４）のようなクラスタリング手段（Ｓ７，Ｓ３５）では、たとえば階層的クラスタリングの手法で、まず全ての反応点（人間の位置）を１つのクラスタに併合した後、反応点の分布状態（たとえば、固体距離または公的距離）に応じて適切なクラスタ数を決定し、１つのクラスタを複数のクラスタに分割（区画）する。同じくコンピュータ（１４）で構成できる分類手段（Ｓ７，Ｓ３７，Ｓ６１‐Ｓ８３）で、各クラスタを、「かたまりクラスタ」（第１クラスタ）または「はぐれクラスタ」（第２クラスタ）に分類する。そして、コンピュータ（１４）であってよい集団状態推定手段（Ｓ７，Ｓ９１-Ｓ１０５）は、「かたまりクラスタ」および「はぐれクラスタ」の存在ならびにそれらとオブジェクト、実施例ではロボット（１０）との位置関係（たとえば、近いとか遠いとか、距離が同じか同じでないかなど）に基づいて、集団状態をたとえば１２の集団状態、「集団状態１」‐「集団状態１２」のいずれであるか推定する。
【００１０】
第１の発明によれば、クラスタリングの後、そのクラスタデータに基づいて集団状態を推定するようにしたので、集団状態を的確に推定できる。
【００１１】
なお、たとえば、第１クラスタおよび第２クラスタは、クラスタを構成する要素の数（人間の数。実施例でいえば、反応点の数。）で区分され得る。
【００１２】
第２の発明は、第１の発明に従属し、集団状態推定手段は、第１クラスタおよび第２クラスタの数とそれらとオブジェクトとの間の距離に基づいて集団状態を推定する、集団状態推定システムである。
【００１３】
第２の発明では、たとえば、「かたまりクラスタ」が１つかどうか、「はぐれクラスタ」があるかどうか、「はぐれクラスタ」がオブジェクトから遠いか近いかなどに基づいて集団状態を推定する。集団状態を細かく推定できる。
【００１４】
第３の発明は、オブジェクトと同一閉空間に存在する複数の人間の集団状態を認識する集団状態認識システムであって、複数の人間のそれぞれの位置を検出して位置データを獲得する位置検出手段、位置データに従ってクラスタリングして複数のクラスタに区画するクラスタリング手段、および複数のクラスタの特徴量に基づいて、集団状態が整然とした状態であるか雑然とした状態であるかを判別する判別手段を備える、集団状態推定システムである。
【００１５】
第３の発明では、集団状態推定システム（１００）は、人間の位置データを取得するために、たとえば床（圧力）センサ（１８）およびコンピュータ（１４）を用いる。コンピュータ（１４）のようなクラスタリング手段（Ｓ７，Ｓ３５）では、たとえば階層的クラスタリングの手法で、まず全ての反応点（人間の位置）を１つのクラスタに併合した後、反応点の分布状態（たとえば、固体距離または公的距離）に応じて適切なクラスタ数を決定し、１つのクラスタを複数のクラスタに分割（区画）する。同じくコンピュータ（１４）で構成できる判別手段（Ｓ１９１‐Ｓ１９３）で、各クラスタの特徴量、たとえば、人間の数、クラスタ数、クラスタを構成する反応点とオブジェクトとの距離平均、それの標準偏差、クラスタの重心とオブジェクト正面との角度に基づいて、そのときの集団状態を「整然とした」状態か「雑然とした」状態か判別する。
【００１６】
第３の発明では、クラスタの特徴量を利用することによって、「整然とした」か「雑然とした」かという極めて主観的な評価基準であっても精度よく判別することができる。
【００１７】
第４の発明は、第１ないし第３のいずれかの発明の集団状態推定システムを用いて集団状態を推定し、その集団状態に応じて集団注意制御を実行する集団注意制御手段を備える、集団注意制御システムである。
【００１８】
第４の発明では、前提としての集団状態の推定が適正であるので、そのときの集団状態に適合する適正な集団注意制御を行なうことができる。
【００１９】
第５の発明は、第４の発明に従属し、集団注意制御手段はコミュニケーションロボットを含み、コミュニケーションロボットは、集団状態の推定結果を受け取り、その集団状態に適合した集団注意制御を実行する、集団注意制御システムである。
【００２０】
第５の発明では、集団注意制御手段としてコミュニケーションロボットを用いたので、コミュニケーションロボットがそれ自身が出力する音声やジェスチャで集団注意制御を行なう。
【００２１】
第６の発明は、第１ないし第３のいずれかの発明の集団状態推定システムを用いて集団状態を推定し、その集団状態に応じてアクティブセンシングを実行するアクティブセンシング手段を備える、アクティブセンシングシステムである。
【００２２】
第６の発明では、前提としての集団状態の推定が適正であるので、そのときの集団状態に適合する適正なアクティブセンシングを行なうことができる。
【００２３】
第７の発明は、第６の発明に従属し、アクティブセンシング手段はコミュニケーションロボットを含み、コミュニケーションロボットは、集団状態の推定結果を受け取り、その集団状態に適合したアクティブセンシングを実行する、アクティブセンシングシステムである。
【００２４】
第７の発明では、アクティブセンシング手段としてコミュニケーションロボットを用いたので、コミュニケーションロボットがそれ自身のカメラなどを用いて効率的にアクティブセンシングすることができる。
【発明の効果】
【００２５】
この発明によれば、たとえばロボットのようなオブジェクトの周囲の集団状態を精度よく推定できるので、集団注意制御に応用すれば、集団注意制御をより的確に行うことができる。また、アクティブセンシングに適用すれば、集団状態に応じて効率的にセンシングを行うことができる。
【００２６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２７】
図１を参照して、この実施例の集団状態推定システム（以下、単に「システム」という。）１００は、コミュニケーションロボット（以下、単に「ロボット」という。）１０、表示装置１２、コンピュータ１４、データベース１６および床圧力センサ（床センサ）１８を含む。このシステム１００は、たとえばコンピュータ１４から転送される人間の集団状態に応じてロボット１０が集団注意制御行動を行うシステムである。
【００２８】
ただし、コンピュータ１４が集団状態を推定した後には、上述のような集団注意制御を行う他、集団の状態に応じてセンシングを行う領域を変更して効率的にセンシングを行うアクティブセンシングなどにも有効に適用され得る。つまり、コンピュータ１４が集団状態推定を実行して得た集団状態データには様々な応用例があるということに予め留意され
たい。
【００２９】
たとえば、ロボット１０は、たとえば、無線ＬＡＮやBluetooth（商品名）に代表される近距離無線などによって通信可能に、コンピュータ１４に接続され、このコンピュータ１４には、表示装置１２、データベース１６および床センサ１８が有線によって接続される。しかしながら、ロボット１０とコンピュータ１４とは、有線で接続されるようにしてもよい。
【００３０】
ロボット１０は、主として人間のようなコミュニケーションの対象とコミュニケーションを実行することを目的とした相互作用指向のもので、後に図３および図４を参照して詳細に説明するが、音声および身振り手振りなどの身体動作を用いてコミュニケーション（集団注意制御など）を実行する機能を備えている。
【００３１】
表示装置１２は、たとえばＣＲＴディスプレイや液晶ディスプレイであり、上述したように、コンピュータ１４が接続され、このコンピュータ１４によって表示制御される。しかしながら、ロボット１０の指示によって表示装置１２に集団注意制御の際に必要な情報を可視的に表示することもできる。
【００３２】
コンピュータ１４は、汎用のパーソナルコンピュータ（ＰＣ）やワークステーションのようなコンピュータであり、基本的には、床センサ１８からのセンサ値（「１」または「０」）に応じて集団状態を推定して状態データをロボット１０などに提供する。コンピュータ１４は、その他、上述したように表示装置１２の表示を制御したり、ロボット１０のコミュニケーション行動を制御したりすることもある。
【００３３】
コンピュータ１４はよく知られているように、たとえばＲＯＭやハードディスクなどからなり、後述のフローチャートを参照して説明するような集団状態推定のためのプログラムや、制御データ、画像データなどを予め設定しているプログラムメモリ１５ａを含む。コンピュータ１４は、さらに、たとえばＲＡＭやフラッシュメモリなどからなり、ワーキングメモリやバッファメモリとして利用されるデータメモリ１５ｂを含む。データメモリ１５ｂは、後述の床センサ１８からのセンサ値やセンサが反応している点（位置）の座標データを一時的に記憶するための一時記憶領域や、さらには各種フラグや各種レジスタを設定しておくためのフラグ・レジスタ領域などに割り付けられている。
【００３４】
データベース１６は、たとえば、対人サービスとして道案内するときに必要な地図データや、同じく展示説明するときに必要な説明用データなどを記憶しておくとともに、ロボット１０の動作を制御するための制御コマンドのコマンド名を記憶している。このコマンド名は、ロボット１０の行動モジュールの名称である。コンピュータ１４は、ロボット１０を制御するときには、ロボット１０の制御コマンド（行動モジュール名）をロボット１０に送信する。ロボット１０は、コンピュータ１４からの制御コマンドに従って、コミュニケーション行動（発話、身振りなど）を実行する。また、このデータベース１６にはこのシステム１００が適用される会場などのマップデータ（２次元データ）が設定される。ただし、このデータベース１６を省略し、コンピュータ１４および／またはロボット１０に上述の地図データ、制御コマンドやマップデータなどを記憶させておくようにしてもよい。
【００３５】
床センサ（床圧力センサ）１８は多数の検出素子（感圧センサ：たとえば、加重によってオン／オフされるスイッチ）の集合を含み、たとえば、５００×５００ｍｍの正方形で厚みが１５ｍｍ程度で、検出解像度は、一例として、１００×１００ｍｍ程度である。床センサ１８のインタフェースにはたとえばＲＳ２３２Ｃ（規格名）が用いられており、コンピュータ１４は、たとえば２００ミリ秒間隔でセンサ出力を取得することができる。実施例では、図２に示すように、システム１００が適用される閉空間（部屋）１０１の床に多数の床センサ１８が埋め込まれ（敷き詰められ）、同一閉空間内に存在するロボット１０や人間を検知する。実施例では、部屋１０１の床にｎ個の床センサ１８（Ｓ１，Ｓ２，…，Ｓｈ，Ｓｈ＋１，…，Ｓｉ，Ｓｉ＋１，…，Ｓｎ‐１，Ｓｎ）が設置される。これらの床センサ１８（Ｓ１，…，Ｓｎ）の各々は、重さを感じているときハイレベルまたは「１」のセンサ値を、重さを感じないときローレベルまたは「０」のセンサ値をそれぞれ出力する。
【００３６】
図３はロボット１０の外観を示す正面図であり、この図３を参照して、ロボット１０は台車２０を含み、この台車２０の下面にはロボット１０を自律移動させる２つの車輪２２および１つの従輪２４が設けられる。２つの車輪２２は車輪モータ２６（図４参照）によってそれぞれ独立に駆動され、台車２０すなわちロボット１０を前後左右任意の方向に動かすことができる。また、従輪２４は車輪２２を補助する補助輪である。したがって、ロボット１０は、配置された空間内を自由に移動することができる。
【００３７】
台車２０の上には、円柱形のセンサ取付パネル２８が設けられ、このセンサ取付パネル２８には、赤外線距離センサ３０が取り付けられる。この赤外線距離センサ３０は、センサ取付パネル２８すなわちロボット１０の周囲の物体（人間や障害物など）との距離を計測するものである。
【００３８】
また、センサ取付パネル２８の上には、胴体３２が直立するように設けられる。胴体３２の前方中央上部（胸に相当する位置）には、上述した赤外線距離センサ３０とは別の赤外線センサ３１がさらに設けられる。これは、ロボット１０の前方の主として人間との距離を計測する。また、１つの全方位カメラ３４が設けられる。この全方位カメラ３４は、たとえば胴体３２の背面側上端部のほぼ中央から上方に延びる支柱３６上に設けられる。全方位カメラ３４は、ロボット１０の周囲を撮影するものであり、後述する眼カメラ６０とは区別される。この全方位カメラ３４としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ３０および全方位カメラ３４の設置位置は当該部位に限られず適宜変更され得る。
【００３９】
胴体３２の両側面上端部（肩に相当する位置）には、それぞれ、肩関節３８Ｒおよび３８Ｌによって、上腕４０Ｒおよび４０Ｌが設けられる。図示は省略するが、肩関節３８Ｒおよび３８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節３８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕４０Ｒの角度を制御できる。肩関節３８Ｒの或る軸（ヨー軸）は、上腕４０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸、ロール軸）は、それにそれぞれ異なる方向から直交する軸である。同様に、肩関節３８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕４０Ｌの角度を制御できる。肩関節３８Ｌのヨー軸は、上腕４０Ｌの長手方向（または軸）に平行な軸であり、他のピッチ軸およびロール軸は、それにそれぞれ異なる方向から直交する軸である。
【００４０】
また、上腕４０Ｒおよび４０Ｌのそれぞれの先端には、肘関節４２Ｒおよび４２Ｌを介して、前腕４４Ｒおよび４４Ｌが設けられる。図示は省略するが、肘関節４２Ｒおよび４２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸廻りにおいて前腕４４Ｒおよび４４Ｌの角度を制御できる。
【００４１】
前腕４４Ｒおよび４４Ｌのそれぞれの先端には、手に相当する球体４６Ｒおよび４６Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。
【００４２】
また、図示は省略するが、台車２０の前面、肩関節３８Ｒ，３８Ｌを含む肩に相当する部位、上腕４０Ｒ，４０Ｌ、前腕４４Ｒ，４４Ｌおよび球体４６Ｒ，４６Ｌには、それぞれ、接触センサ（図４で包括的に示す。：４８）が設けられている。台車２０の前面の接触センサ４８は、台車２０への人間や他の障害物の接触を検知する。したがって、ロボット１０の移動中に障害物との接触があると、それを検知し、直ちに車輪２２の駆動を停止してロボット１０の移動を急停止させることができる。また、その他の接触センサ４８は、主に、人間がロボット１０の当該各部位に触れたかどうかを検知する。なお、接触センサ４８の設置位置はこれらに限定されず、適宜な位置（胸、腹、脇、背中、腰、頭など）に設けられてよい。
【００４３】
胴体３２の中央上部（首に相当する位置）には首関節５０が設けられ、さらにその上には頭部５２が設けられる。図示は省略するが、首関節５０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００４４】
頭部５２には、口に相当する位置に、スピーカ５４が設けられる。スピーカ５４は、ロボット１０が、それの周辺の人間に対して音声ないし音によって、コミュニケーションを取ったり、集団注意制御を行なったりするために用いられる。また、耳に相当する位置には、マイク５６Ｒおよび５６Ｌが設けられる。以下、右耳に相当するマイク５６Ｒと左耳に相当するマイク５６Ｌとをまとめてマイク５６ということがある。マイク５６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の声を取り込む。さらに、目に相当する位置には、眼球部５８Ｒおよび５８Ｌが設けられる。眼球部５８Ｒおよび５８Ｌは、それぞれ眼カメラ６０Ｒおよび６０Ｌを含む。以下、右の眼球部５８Ｒと左の眼球部５８Ｌとをまとめて眼球部５８ということがあり、また、右の眼カメラ６０Ｒと左の眼カメラ６０Ｌとをまとめて眼カメラ６０ということがある。
【００４５】
眼カメラ６０は、ロボット１０に接近した人間の顔や他の部分ないし物体等を撮影して、それに対応する映像信号を取り込む。眼カメラ６０としては、上述した全方位カメラ３４と同様のカメラを用いることができる。たとえば、眼カメラ６０は眼球部５８内に固定され、眼球部５８は眼球支持部（図示せず）を介して頭部５２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部５２の上へ向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部５２の正面側（顔）が向く方向に直交する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部５８ないし眼カメラ６０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。
【００４６】
なお、上述のスピーカ５４、マイク５６および眼カメラ６０の設置位置は、これらに限定されず、適宜な位置に設けてよい。
【００４７】
図４はロボット１０の電気的な構成を示すブロック図であり、この図４を参照して、ロボット１０は、全体を制御するプロセサ６２を含む。プロセサ６２は、バス６４を介して、メモリ６６、モータ制御ボード６８、センサ入力／出力ボード７０および音声入力／出力ボード７２に接続される。
【００４８】
メモリ６６は、たとえばＲＯＭやハードディスクなどからなるプログラムメモリ６６ａを含み、このプログラムメモリ６６ａには、ロボット１０の制御プログラム（人間との間でコミュニケーションを実行するための行動制御プログラムや集団注意制御プログラム、アクティブセンシングプログラムなど）が予め記憶されるとともに、コミュニケーションや集団注意制御動作を実行する際にスピーカ５４から発生すべき音声または声の音声データ（音声合成データ）および所定の身振りを提示するための角度データなども記憶される。また、このプログラムメモリ６６ａには、外部コンピュータ（コンピュータ１４など）との間で必要な情報を送受信するための通信プログラムなどが記録される。メモリ６６は、さらに、たとえばＲＡＭやフラッシュメモリなどからなり、ワーキングメモリやバッファメモリとして利用されるデータメモリ６６ｂを含む。データメモリ６６ｂは、後述のようにしてコンピュータ１４から送られてくる集団状態のデータなどを一時的に記憶するための一時記憶領域や、さらには後述する注意制御フラグＡや各種レジスタを設定しておくためのフラグ・レジスタ領域などに割り付けられている。
【００４９】
なお、メモリ６６は、プロセサ６２に内蔵されたまたは組み込まれた記憶装置（内部メモリ）であってもよく、プロセサ６２の内部メモリとは別に設けた記憶装置であってもよい。
【００５０】
モータ制御ボード６８は、たとえばＤＳＰで構成され、各腕や首関節および眼球部等の各軸モータの駆動を制御する。すなわち、モータ制御ボード６８は、プロセサ６２からの制御データを受け、右眼球部５８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図４では、まとめて「右眼球モータ」と示す。）７４の回転角度を制御する。同様に、モータ制御ボード６８は、プロセサ６２からの制御データを受け、左眼球部５８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図４では、まとめて「左眼球モータ」と示す。）７６の回転角度を制御する。
【００５１】
また、モータ制御ボード６８は、プロセサ６２からの制御データを受け、右肩関節３８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと右肘関節４２Ｒの角度を制御する１つのモータとの計４つのモータ（図４では、まとめて「右腕モータ」と示す。）７８の回転角度を調節する。同様に、モータ制御ボード６８は、プロセサ６２からの制御データを受け、左肩関節３８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと左肘関節４２Ｌの角度を制御する１つのモータとの計４つのモータ（図４では、まとめて「左腕モータ」と示す。）８０の回転角度を調節する。
【００５２】
さらに、モータ制御ボード６８は、プロセサ６２からの制御データを受け、首間接５０の直交する３軸のそれぞれの角度を制御する３つのモータ（図４では、まとめて「頭部モータ」と示す。）８２の回転角度を制御する。さらにまた、モータ制御ボード６８は、プロセサ６２からの制御データを受け、車輪２２を駆動する２つのモータ（図４では、まとめて「車輪モータ」と示す。）２６の回転角度を制御する。
【００５３】
なお、この実施例では、車輪モータ２６を除くモータは、制御を簡素化するために、ステッピングモータ或いはパルスモータを用いるようにしてある。ただし、車輪モータ２６と同様に、直流モータを用いるようにしてもよい。
【００５４】
センサ入力／出力ボード７０もまた、同様に、ＤＳＰで構成され、各センサからの信号を取り込んでプロセサ６２に与える。すなわち、赤外線距離センサ３０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード７０を通してプロセサ６２に入力される。また、全方位カメラ３４からの映像信号が、必要に応じてこのセンサ入力／出力ボード７０で所定の処理を施された後、プロセサ６２に入力される。眼カメラ６０からの映像信号も、同様にして、プロセサ６２に入力される。また、上述した複数の接触センサ（図４では、まとめて「接触センサ４８」と示す。）からの信号がセンサ入力／出力ボード７０を介してプロセサ６２に与えられる。
【００５５】
音声入力／出力ボード７２もまた、同様に、ＤＳＰで構成され、プロセサ６２から与えられる音声合成データに従った音声または声がスピーカ５４から出力される。たとえば、道案内や集団注意制御などを実行するときに情報が音声または声としてスピーカ５４から発せられる。また、マイク５６からの音声入力が、音声入力／出力ボード７２を介してプロセサ６２に取り込まれる。
【００５６】
また、プロセサ６２は、バス６４を介して通信ＬＡＮボード８４に接続される。通信ＬＡＮボード８４は、ＤＳＰで構成され、プロセサ６２から送られる送信データを無線通信装置８６に与え、無線通信装置８６から送信データを、たとえば、無線ＬＡＮのようなネットワークを介して、外部コンピュータ（図１および図４ではコンピュータ１４）などに送信する。また、通信ＬＡＮボード８４は、無線通信装置８６を介してデータを受信し、受信したデータをプロセサ６２に与える。つまり、この通信ＬＡＮボード８４および無線通信装置８６によって、ロボット１０はコンピュータ１４などと無線通信を行うことができる。
【００５７】
図５‐図１３を参照して、コンピュータ１４が集団状態を推定する手法とそのときの動作について説明する。
【００５８】
図５のステップＳ１でオペレータによる停止命令を検出しなければ、コンピュータ１４は、次のステップＳ３において、ＲＳ２３２Ｃなどを利用して、たとえば、ポーリングの手法を用いて、図２に示すように部屋１０１内に配列されたすべての床センサ１８からセンサ情報、すなわち、センサ番号（ｎ）、センサ値（Ｓｉ＝１または０）およびそのセンサ値を取得した時刻を読み取る。このセンサ情報は、図１に示すデータメモリ１５ｂに一時的に格納される。
【００５９】
続くステップＳ５において、コンピュータ１４は、ステップＳ３で取得したセンサ情報をｘ-ｙ座標に変換する。つまり、ロボット１０や人間を検出した床センサの反応点の位置座標を計算する。ただし、ロボット１０は２つの車輪２２で床センサに加重しているのでロボット１０の反応点は２つの車輪の中点として計算し、他方、人間も２本足で立っていることを前提にしているので、２本の足の中点が人間による床センサの反応点として計算される。このような反応点をｘ-ｙ座標に変換するには、具体的には、図６に示す手順が実行される。
【００６０】
図６の最初のステップＳ２１でオペレータによる停止命令を検出しなければ、コンピュータ１４は、続くステップＳ２３において、各床センサからセンサ情報を受信したかどうか判断し、“ＮＯ”なら、受信するまで待つ。センサ情報を受信していれば、次のステップＳ２５で、コンピュータ１４は、（１）式を用いて、床センサが反応している点の座標を計算する。
［数１］
xj = i％h
yj = i/h  (Si = 1, j = 1, 2, …, m)            …(1)
ただし、ｍは床センサが反応している点の総数であり、床センサは図２のように配置されているものとする。
【００６１】
そして、次のステップＳ２７において、コンピュータ１４は、ステップＳ２５で計算して得た、床センサが反応している点の座標（ｘ１，ｙ１），（ｘ２，ｙ２），…，（ｘｍ，ｙｍ）を、図５の次のステップＳ７に送信する。つまり、図１に示すデータメモリ１５ｂにこれらの座標データを一時記憶する。このステップＳ７は集団状態推定プログラムであり、図７‐図１１に詳細に示される。
【００６２】
図７の最初のステップＳ３１でオペレータによる停止命令を検出しなければ、コンピュータ１４は、続くステップＳ３３において、床センサが反応している点の座標（ｘ１，ｙ１），（ｘ２，ｙ２），…，（ｘｍ，ｙｍ）を受信したかどうか判断し、“ＮＯ”なら受信するまで待つ。“ＹＥＳ”なら、次のステップＳ３５で、コンピュータ１４は、受信した座標データに基づいてクラスタリングを行い、反応点（床センサの）をいくつかのクラスタに分割または区画する。
【００６３】
ステップＳ３５では、反応点と反応点との間のユークリッド距離を類似度としてクラスタリングを行う（距離が近いほど類似度が高い）。実施例では、いわゆる階層的クラスタリングの手法を採用した。階層的クラスタリングでは、ｍ個の反応点データが与えられたとき、まず、１個のデータ（要素）だけを含むｍ個のクラスタを初期状態とする。この状態から、あるクラスタと他のあるクラスタとの距離（クラスタ間距離）を計算し、この距離がもっとも近い２つのクラスタを逐次的に併合し、すべての反応点が１つのクラスタに併合されるまで繰り返し処理することによって、クラスタ間の階層構造を獲得するという手法である。以下、図８を参照して詳しく説明する。
【００６４】
図８の最初のステップＳ４１でオペレータによる停止命令を検出しなければ、コンピュータ１４は、続くステップＳ４３において、ｍ個の反応点を、それぞれ、要素が１つだけのｍ個のクラスタとする。続いて、ステップＳ４５で、コンピュータ１４は、ｍ個のクラスタのクラスタ間距離（図９）を計算する。
【００６５】
実施例では、特に限定するという意味ではないが、クラスタ間距離は最短距離法を用いて計算する。最短距離法とは、２つのクラスタに含まれている要素のうち最も近い要素どうしの間の距離をクラスタ距離とする方法である。
【００６６】
クラスタ距離を計算するためには、その他、重心法、ウォード法などいくつかのアルゴリズムが存在するが、最短距離法では、最も近い要素どうしの間の距離をクラスタ間距離とするというアルゴリズムの特性上、鎖状のクラスタを作ることができる。一方、重心法やウォード法は、主に楕円体のクラスタを作る。実施例のようにロボット１０と人間とが相互作用を行う場合、そのような人間の集団に対してクラスタリングを行う際には、楕円体のクラスタよりも鎖状のクラスタの方が適していると考えられる。人間がロボットに対して横に一列に並んでいるときに、その１列を１つのクラスタとして扱えるためである。
【００６７】
そして、次のステップＳ４７で、コンピュータ１４は、クラスタ間距離がもっとも近いクラスタどうしを併合する。このステップＳ４７は、先のステップＳ４５とともに、ステップＳ４９ですべての反応点（要素）が１つのクラスタに併合されたと判断するまで、繰り返し実行される。
【００６８】
ステップＳ４９で１のクラスタにすべての反応点が併合できたと判断したとき、コンピュータ１４は、次のステップＳ５１で、データメモリ１５ｂ（図１）に記憶している反応点の座標データを参照して、各反応点の分布状態に応じて、適切なクラスタ数Ｃを決定する。クラスタ数Ｃは、対人距離に関する発明者等の知見に基づき、反応点と反応点との距離が７０ｃｍ（固体距離）以下の反応点は必ず同じクラスタに属し、１１０ｃｍ（公的距離）以上離れた反応点どうしは必ず異なるクラスタに属するように、決められる。
【００６９】
さらに、実施例では、このような距離条件に加えて、（２）式で表される擬似ｔ２統計量に基づいてクラスタ数を決定する。擬似ｔ２統計量は、よく知られているように、クラスタ数決定の指標として用いられている統計量である。
【００７０】
クラスタＰとクラスタＱとを結合してクラスタＲとなるときの擬似ｔ２統計量は、（２）式で与えられる。ここで、Ｗは各クラスタの重心とクラスタに含まれる全要素（反応点）との距離の総和であり、Ｎは各クラスタ内の要素数である。そして、擬似ｔ２統計量の値が大きく変化するクラスタ数が適切なクラスタ数Ｃの候補である。
【００７１】
【数２】
2008225852.tif 000003
【００７２】
つまり、この実施例では、対人距離と擬似ｔ２統計量とに基づいて、以下の条件でクラスタ数Ｃを決定する。
【００７３】
１．クラスタ間距離が固体距離（７０ｃｍ）以上となるクラスタ数を、分割するクラスタ数の候補とする。候補がない場合には、クラスタ数を１とする。
【００７４】
２．１．で選ばれた候補の中から、クラスタ間距離が公的距離（１１０ｃｍ）以下となるクラスタ数を、分割するクラスタ数の候補とする。候補がない場合には、クラスタ間距離が最も大きくなるクラスタ数を分割数とする。
【００７５】
３．選択された候補の中で、擬似ｔ２統計量の変化量が正の方向に最も大きく変化しているクラスタ数を、分割クラスタ数の候補とする。
【００７６】
ステップＳ５１でこのようにして適切なクラスタ数Ｃを決定した後、コンピュータ１４は、ステップＳ５３で、そのクラスタ数Ｃと各クラスタに含まれる反応点（要素）の数Ｐｉ（ｉ＝１，…，Ｃ。ただし、Ｐ１≦Ｐ２≦…≦Ｐｃとする。）とを状態推定プログラムの次に実行すべきステップ（図７：ステップＳ３７）に送信する。つまり、図１に示すデータメモリ１５ｂに、クラスタ数Ｃおよび各クラスタに含まれる反応点の数Ｐｉ、さらに必要に応じてクラスタの重心位置をクラスタデータとして記憶する。
【００７７】
図7に戻って、ステップＳ３７で、このようにして計算しあるいは決定したクラスタ数Ｃと各クラスタに含まれる要素の数Ｐｉとに基づいて、各クラスタが「かたまりクラスタ」であるのか「はぐれクラスタ」であるのかを決定する。ただし、「かたまりクラスタ」とは、第１クラスタのことであり、第２クラスタを意味する「はぐれクラスタ」に比べて、より多数の反応点（要素）で構成されるクラスタである。逆にいえば、「はぐれクラスタ」は「かたまりクラスタ」に比べて少数の要素で構成されているクラスタと定義できる。このようなクラスタ判別ステップは、具体的には、図１０に示す手順で実行される。
【００７８】
図１０の最初のステップＳ６１でオペレータによる停止命令を検出しなければ、コンピュータ１４は、続くステップＳ６３において、上述のクラスタリング結果、すなわち、クラスタデータを受信したかどうか判断し、“ＮＯ”なら受信するまで待つ。“ＹＥＳ”なら、次のステップＳ６５で、（３）式に基づいて、最も反応点（要素）数の多いクラスタが全反応点のａ％以上であるかどうか判断する。ただし、この判断式を含むすべての判断式は、最も要素数の多いクラスタが全要素数のａ％以上であるとき、要素数が全要素数のｂ％以下となるクラスタを「はぐれクラスタ」の候補とし、かつ、すべての「はぐれクラスタ」の要素数がすべての「かたまりクラスタ」の要素数のｃ％以下となるように考慮した結果であることを予め理解されたい。
［数３］
Ｐｃ≧ｍ（ａ／１００）                  …(3)
このステップＳ６５の判断結果が“ＮＯ”であるとき、最も要素数の多いクラスタが全要素数のａ％以上ないので、ステップＳ６７でコンピュータ１４は、すべてのクラスタが「かたまりクラスタ」であると判定する。
【００７９】
次に、ステップＳ６５で“ＹＥＳ”の判断をしたとき、最も要素数の多いクラスタが全要素数のａ％以上あるので、コンピュータ１４は、続くステップＳ６９において、（４）式に基づく判断を行う。
［数４］
Ｐ１≦ｍ（ｂ／１００）                  …(4)
そして、このステップＳ６９で“ＮＯ”を判断したとき、要素数が全要素数のｂ％以下ではないので、コンピュータは、ステップＳ７１で、すべてのクラスタは「かたまりクラスタ」であると判定する。
【００８０】
ステップＳ６９で“ＹＥＳ”を判断したときには、コンピュータ１４は、次のステップＳ７３で（５）式を満たす最大のｉをＨ（はぐれ）とし、続くステップＳ７５で（６）式を満たす最小のｉをＫ（かたまり）として、ステップＳ７７における判断式（７）に基づく判定を実行する。ただし、Ｃはクラスタ数である。
［数５］
Ｐｉ≦ｍ（ｂ／１００）  （ｉ＝1，2，…，Ｃ）…(5)
［数６］
Ｐｉ≧ｍ（ｂ／１００）  （ｉ＝1，2，…，Ｃ）…(6)
［数７］
ＰＨ≦ＰＫ（ｃ／１００）                      …(7)
コンピュータ１４がステップＳ７７で“ＮＯ”を判断したとき、「はぐれクラスタ」の要素数がすべての「かたまりクラスタ」の要素数のｃ％以下とはならないので、次のステップＳ７９で、すべてのクラスタは「かたまりクラスタ」であると判定する。また、ステップＳ７７で“ＹＥＳ”の判断をしたときには、「はぐれクラスタ」の要素数がすべての「かたまりクラスタ」の要素数のｃ％以下であるので、コンピュータ１４は、続くステップＳ８１において、（５）式を満足するクラスタを「はぐれクラスタ」と判定し、それ以外のクラスタを「かたまりクラスタ」と判定する。
【００８１】
このようにして、ステップＳ６７，Ｓ７１，Ｓ７９およびＳ８１で各クラスタについてそれらが「かたまりクラスタ」であるのか「はぐれクラスタ」であるのかの種類判定を行ない、コンピュータ１４は、その判定結果（各クラスタの種類）をクラスタデータとしてステップＳ８３すなわち、図７のステップＳ３９で、集団状態推定プログラムに送信する。つまり、図１のデータメモリ１５ｂに格納する。
【００８２】
集団状態推定プログラムはこの判定結果（クラスタの種類）に基づいて、集団状態推定動作（ステップＳ７：図５）を実行する。集団状態推定プログラムは、具体的には図１１に詳細に示されるが、この実施例では、基本的に、図１３に示すような３つの場合にまず分類し、最終的に［集団状態１］‐［集団状態１２］に分類して推定する。
【００８３】
図１１の最初のステップＳ９１で、コンピュータ１４は、データメモリ１５ｂに格納されているクラスタデータの各クラスタの種類を参照して、「かたまりクラスタ」が１つだけ存在するかどうか、判断する。“ＹＥＳ”なら、図１３に示す「１つのかたまりクラスタ」という区画に含まれる集団状態のいずれかであり、次のステップＳ９３で、コンピュータ１４は、「はぐれクラスタ」があるかどうか判断する。ステップＳ９３で“ＮＯ”が判断されると、「かたまりクラスタ」が１つで「はぐれクラスタ」がない、たとえば、いわゆるひとかたまりの集団状態であるので、コンピュータ１４は、このような集団状態を「集団状態１」と定義し、そのときの集団状態を集団状態１と推定する。
【００８４】
ステップＳ９３で“ＹＥＳ”が判断されると、先のステップＳ９１で“ＹＥＳ”が判断されているので、そのとき部屋１０１（図２）には、オブジェクトとしてのロボット１０と１つの「かたまりクラスタ」と１つ以上の「はぐれクラスタ」があるということを意味し、図１３で示す集団状態２，３および４のいずれかであることがわかる。そこで、ステップＳ９５で、コンピュータ１４は、クラスタデータや反応点データなどを参照して、「はぐれクラスタ」、「かたまりクラスタ」およびオブジェクト（ロボット１０）の位置関係、特に「はぐれクラスタ」がオブジェクトすなわちロボット１０に対して、「かたまりクラスタ」より近いかどうかでいずれの集団状態であるかを特定する。
【００８５】
「はぐれクラスタ」の状況を判定するステップＳ９５の詳細が図１２に示されるが、この図１２を参照して、ステップＳ１１１で、コンピュータ１４は、「はぐれクラスタ」が「かたまりクラスタ」よりロボット１０（オブジェクト）の近くにいるかどうか判断する。“ＹＥＳ”なら、その「はぐれクラスタ」に「＋近はぐれ」とラベルを付す。ステップＳ１１で“ＮＯ”と判断したら、次にコンピュータ１４はステップＳ１１３で、「はぐれクラスタ」が「かたまりクラスタ」よりオブジェクトの遠くにいるかどうか判断する。“ＹＥＳ”ならその「はぐれクラスタ」に「＋遠はぐれ」とラベルを付し、“ＮＯ”なら近くも遠くもないという意味で「＋はぐれ」というラベルを付す。
【００８６】
このようにして、図１２では、オブジェクトから最も距離が近い反応点が「はぐれクラスタ」に属する場合「＋近はぐれ」と判定し、オブジェクトから最も距離が遠い反応点が「はぐれクラスタ」に属する場合「＋遠はぐれ」と判定し、それ以外の場合「＋はぐれ」と認定する。
【００８７】
図１３を参照すればわかるように、「かたまりクラスタ」か１つでかつ「＋近はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態２」である。「かたまりクラスタ」か１つでかつ「＋遠はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態３」である。そして、「かたまりクラスタ」か１つでかつ「＋はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態４」である。このようにして、ステップＳ９１で“ＹＥＳ”を判定したとき、つまり1つだけの「かたまりクラスタ」が存在するとき、コンピュータ１４は、集団状態１，２，３または４を推定する。
【００８８】
ステップＳ９１で“ＮＯ”が判断されると、「かたまりクラスタ」が２つ以上あることを意味し、コンピュータ１４は、次のステップＳ９７で、それぞれの「かたまりクラスタ」とロボット１０（オブジェクト）との距離が等しいかどうか判断する。「かたまりクラスタ」の中で最もオブジェクトに近い点とオブジェクトとの距離をｄｉとする。この距離ｄｉの最大値をｄｉmax、最小値をｄｉminとしたとき、（８）式を満足すれば、各「かたまりクラスタ」とオブジェクトとの間の距離は等しい（等距離）と判定する。ただし、Ｄは閾値を示す定数である。
［数８］
ｄｉmax−ｄｉmin＜Ｄ                  …(8)
ステップＳ９７で“ＹＥＳ”と判断すると、コンピュータ１４は次にステップＳ９９で、「はぐれクラスタ」があるかどうか判断する。“ＮＯ”と判断した集団状態は、ロボット１０（オブジェクト）に対して等距離の２つの「かたまりクラスタ」があるという集団状態であるので、図１３で「複数のかたまりクラスタ（距離均等）」と区画された中の１つの集団状態、「集団状態５」である。
【００８９】
ステップＳ１０１でコンピュータ１４は、先のステップＳ９５と同様に、「はぐれクラスタ」、「かたまりクラスタ」およびオブジェクト（ロボット１０）の位置関係で集団状態を分類する。
【００９０】
図１３を参照すればわかるように、「かたまりクラスタ」か２つでかつそれらの「かたまりクラスタ」のオブジェクトからの距離が等しくてしかも「＋近はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態６」である。ロボット１０から等距離の２つ「かたまりクラスタ」がありかつ「＋遠はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態７」である。そして、距離均等の２つの「かたまりクラスタ」と「＋はぐれ」とラベルが付された１つの「はぐれクラスタ」とがあるときには、そのときの集団状態は「集団状態８」である。このようにして、２つの距離均等の「かたまりクラスタ」があるとき、すなわち、ステップＳ９７で“ＹＥＳ”を判断したとき、コンピュータ１４は、集団状態５，６，７または８を推定する。
【００９１】
ステップＳ９７で“ＮＯ”が判断されるということは、オブジェクト（ロボット１０）からの距離が不均等な２つの「かたまりクラスタ」が存在するということを意味している。そして、次のステップＳ１０３で、コンピュータ１４は「はぐれクラスタ」があるかどうか判断する。“ＮＯ”と判断した集団状態は、ロボット１０（オブジェクト）に対して不等距離の２つの「かたまりクラスタ」があるという集団状態であるので、図１３で「複数のかたまりクラスタ（距離不均等）」と区画された中の１つの集団状態、「集団状態９」である。
【００９２】
ステップＳ１０３で“ＹＥＳ”が判断されると、コンピュータ１４は、ステップＳ１０５で、先のステップＳ９５およびＳ１０１と同様に、「はぐれクラスタ」、「かたまりクラスタ」およびオブジェクト（ロボット１０）の位置関係で集団状態を分類する。
【００９３】
図１３を参照すればわかるように、「かたまりクラスタ」か２つでかつそれらの「かたまりクラスタ」のオブジェクトからの距離が等しくなくてしかも「＋近はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態１０」である。ロボット１０から距離不均等の２つ「かたまりクラスタ」がありかつ「＋遠はぐれ」とラベルが付された１つの「はぐれクラスタ」があるときには、そのときの集団状態は「集団状態１１」である。そして、距離不均等の２つの「かたまりクラスタ」と「＋はぐれ」とラベルが付された１つの「はぐれクラスタ」とがあるときには、そのときの集団状態は「集団状態１２」である。このようにして、２つの距離不均等の「かたまりクラスタ」があるとき、すなわち、ステップＳ９７で“ＮＯ”を判断したとき、コンピュータ１４は、集団状態９，１０，１１または１２を推定する。
【００９４】
このシステムで推定可能な１２の集団状態と各クラスタの状態とを表１で一覧できるようにした。
【００９５】
【表１】
2008225852.tif 000004
【００９６】
ここまでで、図１に示す実施例の集団状態推定システム１００において、ロボット１０（オブジェクト）と同じ閉空間１０１内に存在する人間の集団状態を正しく推定できることを説明した。そして、このようにして推定した集団状態１−集団状態１２のいずれかを示すデータ（集団状態データ）は、図５のステップＳ９で、時刻データとともに、データメモリ１５ｂに格納される。それとともに、この集団状態データおよび時刻データは、コンピュータ１４が推定した集団状態を利用する装置、実施例ではロボット１０に送信される。ロボット１０では、そのようにして受信した集団状態データを自身のデータメモリ６６ｂに一時的にストアする。なお、実施例では、集団状態データには、集団状態のデータだけでなく、各クラスタの位置（重心）データやそれらに含まれる反応点の位置データなども含むように意図している。したがって、集団状態データを参照すれば、そのときの集団状態だけでなく、「かたまりクラスタ」や「はぐれクラスタ」の個数や位置のデータ、および各反応点（要素）の個数や位置のデータがすべてわかるのである。
【００９７】
図１４は、コンピュータ１４から、コンピュータ１４が推定した集団状態のデータ（集団状態データ）を受信したロボット１０が実行する集団注意制御動作の一例を示すフロー図である。ここで、この図１４を参照して集団注意制御の一例を説明する。
【００９８】
図１４の最初のステップＳ１２１でオペレータによる停止命令を検出しなければ、ロボット１０のプロセサ６２は、続くステップＳ１２３において、コンピュータ１４から送信される集団状態データを受信したかどうか判断し、“ＮＯ”なら受信するまで待つ。“ＹＥＳ”なら、次のステップＳ１２５で、たとえば、データメモリ６６ｂに設定されている注意制御フラグＡを「０」にリセット（Ａ＝０）する。なお、この注意制御フラグＡは、それがリセットされているときロボット１０が集団に対して集団注意制御を実行する必要があることを示し、リセット（Ａ＝１）されているときたとえば、注意を向けた人に道案内や展示説明などの集団注意制御以外のサービスを提供すべきことを示す。
【００９９】
ステップＳ１２７で、ロボット１０のプロセサ６２は、データメモリ６６ｂにストアしている集団状態データを参照して、「はぐれクラスタ」があるかどうか判断する。つまり、そのとき受信した集団状態データが図１３に示す「集団状態１」、「集団状態５」および「集団状態９」以外を示す集団状態データであるかどうか判断する。ステップＳ１２７で“ＹＥＳ”の判断をしたとき、ロボット１０のプロセサ６２は、ステップＳ１２９において、ロボット１０の周囲に存在する人間に対して、「はぐれクラスタ」の解消を呼びかける音声メッセージ、たとえば、『みなさん、集まってください。』のような音声メッセージをスピーカ５４（図３，図４）から出力して、終了する。
【０１００】
ステップＳ１２７で“ＮＯ”が判断されたとき、つまり、そのときの集団状態データが図１３に示す「集団状態１」、「集団状態５」および「集団状態９」のいずれかを示す集団状態データである場合、続くステップＳ１３１において、ロボット１０のプロセサ６２は、「複数かたまり（距離不均等）」の状態、すなわち、「集団状態９」の状態かどうか判断する。“ＹＥＳ”なら、続くステップＳ１３３で、ロボット１０のプロセサ６２は、「複数かたまり（距離均等）」の状態、すなわち、「集団状態５」の状態になるか、もしくは「ひとかたまり」になるような音声メッセージ、たとえば、『みなさん、こちらに寄ってください。』のような音声メッセージをスピーカ５４から出力して、終了する。
【０１０１】
ステップＳ１３１で“ＮＯ”が判断されたとき、つまり、集団状態データが図１３に示す「集団状態１」および「集団状態５」いずれか以外を示す集団状態データである場合、続くステップＳ１３５において、ロボット１０のプロセサ６２は、ロボット１０と各人との間の距離を計算し、各「かたまりクラスタ」毎に、ロボット１０と人間との距離の分散を求める。そして、ロボット１０のプロセサ６２は、次のステップＳ１３７で、上で計算した分散がＤ以上になる「かたまりクラスタ」が存在するかどうか、つまり、各「かたまりクラスタ」のなかで人間すなわち反応点が分散しているかどうか判断する。“ＹＥＳ”なら、たとえば、『みなさん、まとまってください。』のような音声メッセージを出力し、「かたまりクラスタ」がまとまるように呼びかけ、終了する。
【０１０２】
ステップＳ１３７で“ＮＯ”の判断をしたとき、ロボット１０のプロセサ６２は、ステップＳ１４１に進み、このステップＳ１４１で、必要に応じて、たとえば、『みなさん、もう少し離れてください。』あるいは『みなさん、もう少し近くに来てください。』『みなさん、こっち向いてください。』とか『みなさん向こう（または右または左など）を見てください。』などという適宜の音声メッセージを出力することで集団注意制御を実行して、ロボット１０と人間との間の距離や人々の顔の向きなどを一斉に制御する。
【０１０３】
ただし、上述のような音声メッセージによる以外に、たとえば、モータ制御ボード６８に制御データを出力することによって右腕モータ７８や左腕モータ８０（いずれも図４）を制御して、右腕または左腕で「指さし」動作を行って、集団注意制御を行うようにしてもよい。あるいは、モータ制御ボード６８に制御データを出力することによって頭部モータ８２（図４）を制御して、「首かしげ」動作を行って、集団注意制御を行うようにしてもよい。さらには、モータ制御ボード６８に制御データを出力することによって右眼球モータ７４および左眼球モータ７６（図４）を制御して、「目配せ」動作を行って、集団注意制御を行うこともできる。つまり、集団注意制御は任意の音声やジェスチャで実行することができる。
【０１０４】
ステップＳ１４１で集団注意制御を行った後には、ロボット１０のプロセサ６２は、ステップＳ１４３で注意制御フラグＡを再びセット（Ａ＝１）して、プロセスを終了する。
【０１０５】
この実施例によれば、コンピュータ１４で集団状態を正しく推定できるので、ロボット１０はそのときの集団状態に適合した集団注意制御を適正に行うことができる。
【０１０６】
なお、上述の実施例ではコンピュータ１４が集団状態を推定し、その集団状態推定動作によって得られた集団状態データをコンピュータ１４からロボット１０に転送し、ロボット１０がその集団状態に応じた集団注意制御を行うものとして説明した。しかしながら、コンピュータ１４はロボット１０に単に床センサ１８の反応点データ（座標データ）を送るだけで、ロボット１０自身がその座標データを用いて上で説明したアルゴリズムに従って集団状態を推定するようにしてもよいことは勿論である。
【０１０７】
実施例でロボット１０がその周囲の人間に対して集団注意制御を実行したが、逆に、ロボット１０ではなく、コンピュータ１４やあるいは他の装置や手段で、推定した集団状態に応じて集団注意制御を実行することもできる。
【０１０８】
上述の実施例では、コンピュータ１４が推定した集団状態のデータを用いてロボット１０（あるいは他の装置、手段）が集団注意制御を行う実施例について説明した。しかしながら、集団状態の推定結果はこのような集団注意制御以外に、たとえば、図１５にフロー図を示すアクティブセンシングなどにも有効に利用できる。
【０１０９】
図１５の最初のステップＳ１５１でオペレータによる停止命令を検出しなければ、ロボット１０のプロセサ６２は、続くステップＳ１５３において、コンピュータ１４から送信される集団状態データを受信したかどうか判断し、“ＮＯ”なら受信するまで待つ。“ＹＥＳ”なら、次のステップＳ１５５で、たとえば、データメモリ６６ｂに記憶されている集団状態データを参照して、そのとき「はぐれクラスタ」があるかどうか判断する。つまり、そのとき受信した集団状態データが図１３に示す「集団状態１」、「集団状態５」および「集団状態９」以外を示す集団状態データであるかどうか判断する。“ＹＥＳ”のとき、ロボット１０のプロセサ６２は、次のステップＳ１５７で、自身はその「はぐれクラスタ」に注目したいかどうか判断する。たとえば、コンピュータ１４によって「はぐれクラスタ」を注目すべき指令がロボット１０に与えられているときなど、ステップＳ１５７で“ＹＥＳ”となり、次のステップＳ１５９に進む。
【０１１０】
ステップＳ１５９では、集団状態データに含まれる「はぐれクラスタ」の重心位置を示す位置データを参照して、その位置の方向に眼カメラ６０が向くように、モータ制御ボード６８に制御データを送り、眼球モータ７４，７６を駆動する。つまり、「はぐれクラスタ」の位置に対してセンシングを行う。
【０１１１】
ステップＳ１５５およびＳ１５７でともに“ＮＯ”と判断したとき、ロボット１０のプロセサ６２は、次のステップＳ１６１において、そのときの集団状態データを参照して、複数の「かたまりクラスタ」が存在するかどうか、判断する。「はぐれクラスタ」がなくて複数の「かたまりクラスタ」がある集団状態は、集団状態１か集団状態５か集団状態９のいずれかである。したがって、このステップＳ１６１では結局、集団状態１，集団状態５および集団状態９のいずれかであるかどうか判断していることになる。“ＮＯ”なら、そのときの集団状態は集団状態１（１つの「かたまりクラスタ」だけが存在する。）であり、ロボット１０のプロセサ６２は、続くステップＳ１６３で、上述の方法と同様にして眼カメラ６０を制御して、その「かたまりクラスタ」の位置に対してセンシングを行う。
【０１１２】
ステップＳ１６１で“ＹＥＳ”の判断をしたときには、そのときの集団状態は、集団状態５か集団状態９のいずれかであり、続くステップＳ１６５でロボット１０のプロセサ６２は、それぞれの「かたまりクラスタ」とオブジェクト（ロボット１０）との距離が一定化どうか、つまり、集団状態５かどうか判断する。集団状態５であるとき、ロボット１０のプロセサ６２は、集団状態データに含まれるクラスタデータを参照して、ステップＳ１６７で、２つの「かたまりクラスタ」のうちどちらか人数の多い「かたまりクラスタ」に対してセンシングを行う。
【０１１３】
ただし、ステップＳ１６５で“ＮＯ”の判断をしたとき、つまり、集団状態が「９」のときには、ステップＳ１６９で、コンピュータ１４は、集団状態データに含まれるクラスタ位置データに基づいて、ロボット１０に近いほうの「かたまりクラスタ」をセンシングする。
【０１１４】
この実施例によれば、コンピュータ１４で集団状態を正しく推定できるので、ロボット１０はそのときの集団状態に適合したアクティブセンシングを適正に行うことができる。
【０１１５】
なお、上述の実施例ではコンピュータ１４が集団状態を推定し、その集団状態推定動作によって得られた集団状態データをコンピュータ１４からロボット１０に転送し、ロボット１０がその集団状態に応じたアクティブセンシングを行うものとして説明した。しかしながら、コンピュータ１４はロボット１０に単に床センサ１８の反応点データ（座標データ）を送るだけで、ロボット１０自身がその座標データを用いて上で説明したアルゴリズムに従って集団状態を推定し、その上でアクティブセンシングをするようにしてもよいことは勿論である。
【０１１６】
逆に、ロボット１０によってではなく、コンピュータ１４あるいは他の手段や装置で、推定した集団状態に応じたアクティブセンシングを実行することもできる。
【０１１７】
また、アクティブセンシングの手法も、カメラを向けるだけでなく、カメラの解像度を変化させる方法、あるいはその方向に音声マイクを向けて音声を高感度で取得するなど任意の方法が考えられる。
【０１１８】
上述の実施例ではロボット１０を取り巻く人間の集団状態を集団状態１‐１２のいずれであるか推定するようにした。しかしながら、図１６‐１８に示すこの発明の他の実施例に従って、分類すべき集団状態をたとえば、「整然とした」状態または「雑然とした」状態の２種類だけとし、それによって種々の制御、たとえば、集団注意制御などに適用することも考えられる。ただし、「整然とした」状態とは、人々がロボットを中心にして集まり、かつ多くの人間にロボットが情報提供を行うのに適した状態をいい、「雑然とした」状態とは、人間がロボットを中心に集まっていない状態やロボットが人々に対して情報提供を行う上で適していない状態のことである。
【０１１９】
２分類の実施例においても、基本的には、システムは図１に示す構成をとり、図３および図４に示すロボット１０を用い、図２に示すように配置した多数の床センサを用いてロボットや人間の位置情報を取得する。そして、上述の方法と同様の方法でクラスタリングを行い、それによって種々の特徴量を求め、その特徴量をたとえば、ＳＶＭ（Support Vector Machine）（Christianini, J., Shawe-Tylor, J.著（大北剛訳）「サポートベクターマシン入門」、共立出版２００５）のような２状態分類器で上記２つの状態に分類する。ただし、この実施例では、ＳＶＭはコンピュータ１４が持っているものとし、ロボット１０はコンピュータ１４が判別した２状態のデータを受け取り、集団注意制御などのように種々のサービスを人間に対して提供する。
【０１２０】
図１６を参照して、最初のステップＳ１７１でオペレータによる停止命令を検出しなければ、コンピュータ１４は、続くステップＳ１７３において、ロボット１０の位置情報を用いて床センサからロボット１０の反応を消去する。これは床センサ１８の反応点がロボットのものか人間のものかを混同しないようにするための工夫であるが、先の実施例と同様に、このステップを省略してもよい。
【０１２１】
次のステップＳ１７５で、コンピュータ１４は、先に図８を参照して詳細に説明したと同じ手法を用いて床センサに対する反応点をクラスタリングする。ただし、説明は繰り返さない。
【０１２２】
続くステップＳ１７７で、コンピュータ１４は、床センサの反応点数の割合ＦＮを（９）式に従って、計算する。
［数９］
ＦＮ＝ｍ／ｎ                      …(9)
ただし、ｎは床センサの総数（図２）であり、ｍは反応している点数である。
【０１２３】
続くステップＳ１７９でコンピュータ１４は、各クラスタＣ1-Ｃｃを構成する反応点（要素）とロボット１０との間の距離平均μｉ（ｉ＝1，…，ｃ）を計算する。ただし、ｃはクラスタ数である。
【０１２４】
ロボット１０に対して集団が扇状に並んでいるときの模式図である図１７に示す、クラスタＡに属する反応点数をｌ（エル）としたとき、クラスタＡに属する反応点をＡ１，…，Ａｌとする。それぞれの反応点は先に説明したようにｘ-ｙ座標で表される。反応点の座標をＡ１ｘ，Ａ１ｙ，…，Ａｌｘ，Ａｌｙとし、ロボット１０の座標をＲｘ，Ｒｙとすると、ロボット１０と反応点Ａ１との距離Ｄｉｓｔ（Ａ１）は（１０）式で与えられる。
【０１２５】
【数１０】
2008225852.tif 000005
【０１２６】
そして、クラスタＡとロボット１０との距離平均μＡは、（１１）式で算出できる。
【０１２７】
【数１１】
2008225852.tif 000006
【０１２８】
次のステップＳ１８１で、コンピュータ１４は、ステップＳ１７９で求めた距離平均の標準偏差σｉ（ｉ＝１，…，ｌ）を、（１２）式に従って計算する。つまり、クラスタＡとロボットとの距離平均の標準偏差σＡは（１２）式で計算できる。
【０１２９】
【数１２】
2008225852.tif 000007
【０１３０】
ついで、コンピュータ１４は、ステップＳ１８３で、各クラスタの重心を計算する。ただし、前述のように重心データがクラスタデータに含まれている場合には、このステップＳ１８３を省略できる。クラスタＡの重心を図１７に示す。クラスタＡの重心Ｇ（ＣＡ）は（１３）式を使って計算される。
【０１３１】
【数１３】
2008225852.tif 000008
【０１３２】
さらにコンピュータ１４は、ステップＳ１８５で、ロボット１０の正面方向と各クラスタの重心との角度θｉ（ｉ＝１，…，ｌ）を計算する。角度θＡ（図１７）は（１４）式で与えられる直線の角度となる。
【０１３３】
【数１４】
2008225852.tif 000009
【０１３４】
床センサの総反応点数ｍおよびクラスタ数Ｃ、ならびに上述の各ステップで計算したＦＮ、距離平均μｉ、それの標準偏差σｉ、クラスタの重心Ｇｉおよび角度θｉなどのすべてのデータは、そのつど、コンピュータ１４のデータメモリ１５ｂ（図１）に特徴量を示すデータとして記憶され保持される。
【０１３５】
したがって、図１８のステップＳ１９１では、データメモリ１５ｂからこれらのデータを取得することで、実行される。つまり、この実施例でＳＶＭを用いて２分類判別モデルを作成するために、床センサの総反応点数ｍ、クラスタ数Ｃ、クラスタを構成する反応点とロボットとの距離平均μｉ、それの標準偏差σｉ、クラスタの重心Ｇとロボット正面との角度θｉの各特徴量を教師データとして用いる。距離平均、標準偏差、角度に関しては反応点が多い上位３つのクラスタに対してそれぞれ求めたため、特徴量は、計１１個（=１＋１＋（３×３））である。
【０１３６】
図１７において、クラスタＡを構成する反応点数ｌ（エル）、１個目の反応点Ａ１とロボットとの距離をＤｉｓｔ（Ａ１）とするとき、ロボットとクラスタＡを構成するすべての反応点との距離平均μＡは上述の（１１）式で表される。そして、ロボットとクラスタＡのすべての反応点との距離平均の標準偏差σＡは、上述の（１２）式で表される。ロボットの正面方向とクラスタＡの重心との角度θＡは図１７に示すとおりである。
【０１３７】
床センサの総反応点数とクラスタ数は、ロボットの周辺にどれだけ人間や集団が存在しているかを表していて、距離平均μ、標準偏差、角度θは、集団がロボットに対してどのような形になっており、またどのような位置関係にあるかを表している。これらの特徴量を教師データとして用いることで、２分類判別モデルを作成し、他の実施例での集団状態推定を行う。
【０１３８】
発明者等の実験では、駅の構内に床センサを敷設し、その上にたとえば、図３に示すようなＲｏｂｏｖｉｅ（商品名）のようなコミュニケーションロボットを置き、駅の利用者がロボットと自由に相互作用を行えるようにしておいた。
【０１３９】
ロボットの周囲に存在する人々の集団状態を評定する者に対して映像を提示するために、６台のカメラでこの実験の様子を録画し、その映像、ロボットの位置、角度、床センサの出力などはすべてデータベース１６（図１）に保存した。
【０１４０】
実験では、ロボットの周囲に複数の人間が集まる状況が多数観察された。それらの状況の中には、人々がロボットの周囲に扇状に並ぶ場面や、人々が縦列に並ぶ場面が混在していた。
【０１４１】
このような実験で取得したデータから、教師データを作成した。まず、録画した映像を観察し、ロボットと相互作用している人間が２秒以上静止している場面の切り出しを行った。切り出した１７７場面の映像を２人の評定者に提示し、「整然とした」か「雑然とした」のどちらかの状態に分類させた。評定者らには「整然とした」状態がロボットが情報提供を行う上で望ましい状態であることを予め伝えておいた。
【０１４２】
2人の評定者の判断の一致度合いを測る尺度としてκ統計量を用いた。κ統計量は、一般に、2人の評定者間の一致度を測る尺度として用いられ、κ＝０．４０であれば中程度の、κ＝０．６０であればかなりの一致を示すとされている。実験を通じて算出したκ統計量は０．４９であった。
【０１４３】
評定者間で意見が異なった場面数は４４であった。また、意見が一致した場面の中から特徴量を計算するに必要な床センサ出力が欠落していたものを省くと、「整然とした」状態の数が３６、「雑然とした」状態の数が７２であった。そのうち実験の１週目で獲得した１８の「整然とした」状態と３６の「雑然とした」状態とを教師データの作成に利用した。
【０１４４】
教師データの作成には、上述の特徴量を用いるが、「雑然とした」状態の教師データ作成には、各場面における１秒分の床センサ出力を利用して特徴量を計算した。「整然とした」状態は「雑然とした」状態の半分（３６に対する１８）であることから、データ数を等しくするために、各場面における２秒分の床センサ出力を利用して特徴量を計算した。
【０１４５】
また、床センサの出力をｘ軸方向、ｙ軸方向、ｘ-ｙ軸方向にそれぞれ反転させることで、ダミーデータを作成した。これらの手順を経て、実験で用いた最終的な教師データの数は各状態ともに７２０となった。
【０１４６】
判別モデルの性能を検証するためのテストデータには、実験の２週目で取得した計５４データを用い、それらのデータに対して教師データ作成時と同様に、ダミーデータを作成することで、最終的なテストデータは各状態とも７２０になった。
【０１４７】
ＳＶＭを用いて２状態判別モデルを作成するためのライブラリとして、ＬＩＢＳＶＭ（Chang, C,C., and Lin,C,J., “LIBSVM: Introduction and Benchmarks,” ｈｔｔｐ：//ｗｗｗ.ｃｓｉｅ．ｎｔｕ．ｅｄｕ．ｔｗ／ｃｊｌｉｎ／ｌｉｂｓｖｍ）を用いた。このライブラリは各種パラメータを変えることによって、判別モデルの性能を変化させることができる。そこで実験では、γ、Ｃｏｓｔ、Ｗｅｉｇｈｔの３パラメータを表２に示す範囲内でそれぞれ変化させ、教師データに対する集団状態推定精度が平均で９０％程度に収まるものを判別モデルとして採用した。判別率が１００％になるパラメータも設定可能であるが、過学習による汎化性能の低下を防ぐために、そのモデルは利用しないこととした。
【０１４８】
【表２】
2008225852.tif 000010
【０１４９】
上述のようにして設計した２状態判別モデルによって教師データを判別した結果、「整然とした」状態を８７．９％、「雑然とした」状態を９３．２％の精度で推定することができた。この判別モデルのパラメータは、γ＝２、Ｃｏｓｔ＝１００、Ｗｅｉｇｈｔ＝２であった。
【０１５０】
このような手順で作成したモデルによる教師データとテストデータの推定制度は、テストデータでは「整然とした」状態を８４．６％、「雑然とした」状態を７６．３％の精度で推定できた。
【０１５１】
このようにして、図１８のステップＳ１９３で、上述の２分類判別モデルを用いてそのときの特徴量から、「整然とした」状態か「雑然とした」状態か判別できる。そして、このような判別結果（集団状態データ）をコンピュータ１４からロボット１０に送信する。
【０１５２】
そして、そのような集団状態データを受信したロボット１０は、そのときの集団状態に応じて、たとえば集団注意制御の仕方など、その振る舞いを変更することができ、より円滑な集団との相互作用を実現できる。なお、集団注意制御の具体的な方法は任意で、ロボット１０が音声やジェスチャで行なう場合の他、コンピュータ１４や他の手段もしくは装置が他の媒体を用いて行なう場合も考えられる。また、同様に、このように推定した２つの状態に応じて、たとえばロボット１０、コンピュータ１４などによって上述のようなアクティブセンシングを施すことができる。
【０１５３】
なお、上述の実施例ではいずれも、オブジェクトやその周囲の人間の位置データを取得するために床センサを用いた。床センサはオクルージョンや環境光の変化などの外乱による影響を受けないので安定した動作が期待できる点で優位であるが、その他に、部屋１０１の天井に設けた天井カメラで撮影した画像データからロボットや人間の位置を特定するようにしてもよく、パッシブタグを各人が持ち、部屋１０１内に分布して受信機を配置することによっても（あるいはその逆でも）、人間の位置を検出することができる。
【０１５４】
さらに、実施例ではオブジェクトがコミュニケーションロボット１０である場合について説明した。しかしながら、オブジェクトとしては、他に、たとえば博物館などでの展示物など、人間と同一平空間にありかつ人間の集団がその周囲に存在する可能性のある、任意の物、人などが考えられる。
【図面の簡単な説明】
【０１５５】
【図１】図１はこの発明の集団状態認識システムの一実施例を示す図解図である。
【図２】図２は図１の実施例が適用される閉空間（部屋）とそれの床に敷設した床センサ（Ｓ１，…，Ｓｎ）を示す図解図である。
【図３】図３は図１の実施例に含まれるコミュニケーションロボットの外観を正面から見た図解図である。
【図４】図４は図１に示すコミュニケーションロボットの電気的な構成を示すブロック図である。
【図５】図５は図１の実施例のコンピュータ１４における集団状態推定動作を示すフロー図である。
【図６】図６は図５におけるステップＳ５（反応点のｘ-ｙ変換）の動作を詳細に示すフロー図である。
【図７】図７は図５におけるステップＳ７（集団状態推定）の動作の一部を詳細に示すフロー図である。
【図８】図８は図7におけるステップＳ３５（クラスタリング）の動作を詳細に示すフロー図である。
【図９】図９はクラスタリングの際のクラスタ間距離を示す図解図である。
【図１０】図１０は図7におけるステップＳ３７（クラスタ分類）の動作を詳細に示すフロー図である。
【図１１】図１１は図５におけるステップＳ７（集団状態推定）の最後の動作を詳細に示すフロー図である。
【図１２】図１２は図１１において「はぐれクラスタ」が「＋近はぐれ」、「＋遠はぐれ」、「＋はぐれ」のいずれに該当するかを決定する動作を示すフロー図である。
【図１３】図１３は図１１に示す集団状態推定プログラムによって推定した状態と「かたまりクラスタ」や「はぐれクラスタ」の関係を示す図解図である。
【図１４】図１４はコンピュータ１４から集団状態データを受信したロボット１０が実行する集団注意制御の動作の一例を示すフロー図である。
【図１５】図１５はコンピュータ１４から集団状態データを受信したロボット１０が実行するアクティブセンシングの動作の一例を示すフロー図である。
【図１６】図１６はこの発明の他の実施例においてコンピュータ１４が特徴量を計算するときの動作の一例を示すフロー図である。
【図１７】図１７はクラスタの重心とロボットの正面方向との角度を図解する図解図である。
【図１８】図１８は図１６で取得した特徴量を２状態判別モデルで判別するときの動作を示すフロー図である。
【符号の説明】
【０１５６】
１００  …集団状態推定システム
１０１  …部屋（閉空間）
１０  …コミュニケーションロボット
１４，６２  …コンピュータ
１５ａ，６６ａ  …プログラムメモリ
１５ｂ，６６ｂ  データメモリ
１８  …床センサ
【図１】
2008225852.tif 000011
【図２】
2008225852.tif 000012
【図３】
2008225852.tif 000013
【図４】
2008225852.tif 000014
【図５】
2008225852.tif 000015
【図６】
2008225852.tif 000016
【図７】
2008225852.tif 000017
【図８】
2008225852.tif 000018
【図９】
2008225852.tif 000019
【図１０】
2008225852.tif 000020
【図１１】
2008225852.tif 000021
【図１２】
2008225852.tif 000022
【図１３】
2008225852.tif 000023
【図１４】
2008225852.tif 000024
【図１５】
2008225852.tif 000025
【図１６】
2008225852.tif 000026
【図１７】
2008225852.tif 000027
【図１８】
2008225852.tif 000028