(57)【特許請求の範囲】
【請求項１】
ロボットと人間とが存在する環境に配置された複数のセンサからの検出信号の記録を制御する記録制御装置であって、
前記複数のセンサからの検出信号に基づいて、当該検出信号の記録を開始するかどうかを判断する記録開始判断手段、
前記記録開始判断手段によって前記検出信号の記録を開始することが判断されたとき、前記複数のセンサのそれぞれについて、自身の検出範囲に前記ロボットおよび前記人間の少なくとも一方が含まれるかどうかを判断する位置判断手段、および
前記位置判断手段によって前記検出範囲に前記ロボットおよび前記人間の少なくとも一方が含まれると判断されたとき、当該検出範囲を有する前記センサの検出信号の記録を開始する記録開始手段を備える、記録制御装置。
【請求項２】
前記ロボットは、前記複数のセンサの一部を含む、請求項１記載の記録制御装置。
【請求項３】
前記ロボットは、身体動作および音声の少なくとも一方を用いたコミュニケーション行動を実行するコミュニケーションロボットである、請求項１または２記載の記録制御装置。
【請求項４】
前記記録開始判断手段は、前記複数のセンサからの検出信号が第１所定条件を満たすとき、当該検出信号の記録を開始することを判断する、請求項１ないし３のいずれかに記載の記録制御装置。
【請求項５】
前記複数のセンサからの検出信号に基づいて、当該検出信号の記録を終了するかどうかを判断する記録終了判断手段、および
前記記録終了判断手段によって前記検出信号の記録を終了することが判断されたとき、当該検出信号の記録を終了する記録終了手段をさらに備える、請求項１ないし４のいずれかに記載の記録制御装置。
【請求項６】
前記記録終了判断手段は、前記複数のセンサからの検出信号が第２所定条件を満たす場合に、前記検出信号の記録を終了することを判断する、請求項５記載の記録制御装置。
【請求項７】
複数の前記第１所定条件を有し、当該複数の第１所定条件の各々に対応する第２所定条件を有し、
前記記録終了手段は、前記検出信号の記録を終了することが判断されたとき、当該判断に基づく前記第２所定条件に対応する第１所定条件を満たす場合に記録を開始された前記検出信号について記録を終了する、請求項６記載の記録制御装置。
【請求項８】
ロボットと人間とが存在する環境に配置された複数のセンサからの検出信号の記録を制御する記録制御プログラムであって、
コンピュータに、
前記複数のセンサからの検出信号に基づいて、当該検出信号の記録を開始するかどうかを判断する記録開始判断ステップ、
前記記録開始判断ステップによって前記検出信号の記録を開始することが判断されたとき、前記複数のセンサのそれぞれについて、自身の検出範囲に前記ロボットおよび前記人間の少なくとも一方が含まれるかどうかを判断する位置判断ステップ、および
前記位置判断ステップによって前記検出範囲に前記ロボットおよび前記人間の少なくとも一方が含まれると判断されたとき、当該検出範囲を有する前記センサの検出信号の記憶媒体への記録を開始する記録開始ステップを実行させる、記録制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は記録制御装置および記録制御プログラムに関し、特にたとえば、或る環境内に存在するロボットおよび人間の行動および対話を記録する、記録制御装置および記録制御プログラムに関する。
【背景技術】
【０００２】
この種の記録制御装置の一例が特許文献１に開示されている。この特許文献１に開示される監視映像記録装置では、監視カメラ映像の走査ラインからｎ個（ｎ＝整数）のサンプリングが抽出され、その画像情報が１フレーム毎に記憶される。そして、記憶された画像情報が１フレーム毎に比較され、撮像した映像パターンの変化が検出される。映像パターンの変化が検出された場合にのみ、記録装置が動作され、監視カメラの映像信号が記録テープなどに記憶される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１９３７８１号［H04N 5/915, H04N 7/18］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の監視映像記録装置では、映像パターンの変化によってのみ記録装置の動作を制御するため、イメージセンサのみならず、様々な種類のセンサが配置された環境下において、必要な時に必要なセンサの検出信号のみを選択的に記録することはできなかった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、記録制御装置および記録制御プログラムを提供することである。
【０００６】
また、この発明の他の目的は、必要なときに必要なセンサのみの検出信号を記録することができる、記録制御装置および記録制御プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、ロボットと人間とが存在する環境に配置された複数のセンサからの検出信号の記録を制御する記録制御装置であって、複数のセンサからの検出信号に基づいて、当該検出信号の記録を開始するかどうかを判断する記録開始判断手段、記録開始判断手段によって検出信号の記録を開始することが判断されたとき、複数のセンサのそれぞれについて、自身の検出範囲にロボットおよび人間の少なくとも一方が含まれるかどうかを判断する位置判断手段、および位置判断手段によって検出範囲にロボットおよび人間の少なくとも一方が含まれると判断されたとき、当該検出範囲を有するセンサの検出信号の記録を開始する記録開始手段を備える、記録制御装置である。
【０００９】
第１の発明では、記録制御装置（１０２）は、ロボット（１２）と人間（Ａ、Ｂ、Ｃ）とが存在する環境（２００）に配置された複数のセンサ（１０６）からの検出信号の記録を制御する。記録開始判断手段（１０２ａ、Ｓ１３）は、複数のセンサからの検出信号に基づいて、当該検出信号の記録を開始するかどうかを判断する。位置判断手段（１０２ａ、Ｓ２９）は、記録開始判断手段によって検出信号の記録を開始することが判断されたとき（Ｓ１３で“ＹＥＳ”）、複数のセンサのそれぞれについて、自身の検出範囲にロボットおよび人間の少なくとも一方が含まれるかどうかを判断する。記録開始手段（１０２ａ、Ｓ３５）は、位置判断手段によって検出範囲にロボットおよび人間の少なくとも一方が含まれると判断されたとき（Ｓ２９で“ＹＥＳ”）、当該検出範囲を有するセンサの検出信号の記録を開始する。
【００１０】
第１の発明によれば、センサの検出信号の記録開始が判断されると、センサの検出範囲内に人やロボットが存在する場合に、当該センサの検出信号を記録するので、必要なときに必要なセンサの検出信号のみを記録することができる。この結果、メモリの記憶容量を無駄に使用するのを防止することができる。
【００１１】
第２の発明は、第１の発明に従属し、ロボットは、複数のセンサの一部を含む。
【００１２】
第２の発明では、ロボットは、複数のセンサの一部を含むので、たとえば、人間を識別したり、人間の音声や行動を検出したりするセンサとしても機能する。
【００１３】
第２の発明によれば、ロボットを環境に配置されるセンサとして使用することができる。
【００１４】
第３の発明は、第１または第２の発明に従属し、ロボットは、身体動作および音声の少なくとも一方を用いたコミュニケーション行動を実行するコミュニケーションロボットである。
【００１５】
第３の発明では、ロボットは、身体動作および音声の少なくとも一方を用いたコミュニケーション行動を実行するコミュニケーションロボットである。たとえば、コミュニケーションロボットは、人間のようなコミュニケーションの対象との間で、コミュニケーション行動を実行し、或る環境において、受付や案内などのサービスを提供する。
【００１６】
第３の発明によれば、コミュニケーションロボットが存在するような環境における当該コミュニケーションロボットおよび人間のコミュニケーション行動を記録することができる。
【００１７】
第４の発明は、第１ないし第３の発明に従属し、記録開始判断手段は、複数のセンサからの検出信号が第１所定条件を満たすとき、当該検出信号の記録を開始することを判断する。
【００１８】
第４の発明では、記録開始判断手段は、複数のセンサからの検出信号が第１所定条件を満たすとき、たとえば、検出信号の記録を開始するトリガが発生したとき、当該検出信号の記録を開始する。
【００１９】
第４の発明によれば、複数のセンサからの検出信号が第１所定条件を満たす場合に、検出信号の記録を開始するので、必要なときに必要なセンサの検出信号のみを記録することができる。
【００２０】
第５の発明は、第１ないし第４の発明のいずれかに従属し、複数のセンサからの検出信号に基づいて、当該検出信号の記録を終了するかどうかを判断する記録終了判断手段、および記録終了判断手段によって検出信号の記録を終了することが判断されたとき、当該検出信号の記録を終了する記録終了手段をさらに備える。
【００２１】
第５の発明では、記録終了判断手段（１０２ａ、Ｓ１５）は、複数のセンサからの検出信号に基づいて、当該検出信号の記録を終了するかどうかを判断する。記録終了手段（１０２ａ、Ｓ２１）は、記録終了判断手段によって検出信号の記録を終了することが判断されたとき（Ｓ１５で“ＹＥＳ”）、当該検出信号の記録を終了する。
【００２２】
第５の発明によれば、必要に応じて、センサの検出信号の記録を終了するので、過剰に検出信号を記録することを事前に回避することができる。したがって、メモリの記憶容量を無駄に使用するのを防止することができる。
【００２３】
第６の発明は、第５の発明に従属し、記録終了判断手段は、複数のセンサからの検出信号が第２所定条件を満たす場合に、検出信号の記録を終了することを判断する。
【００２４】
第６の発明では、記録終了判断手段は、複数のセンサからの検出信号が第２所定条件を満たす場合に、たとえば、検出信号の記録を終了するフラグが発生した場合に、検出信号の記録を終了することを判断する。
【００２５】
第６の発明によれば、第５の発明と同様に、過剰に検出信号を記録することを事前に回避することができる。
【００２６】
第７の発明は、第６の発明に従属し、複数の第１所定条件を有し、当該複数の第１所定条件の各々に対応する第２所定条件を有し、記録終了手段は、検出信号の記録を終了することが判断されたとき、当該判断に基づく第２所定条件に対応する第１所定条件を満たす場合に記録を開始された検出信号について記録を終了する。
【００２７】
第７の発明では、たとえば、複数の第１所定条件を有し、当該複数の第１所定条件の各々に対応する第２所定条件を有している。記録終了手段は、検出信号の記録を終了することが判断されたとき、当該判断に基づく第２所定条件に対応する第１所定条件を満たす場合に記録を開始された検出信号について（Ｓ１７、Ｓ１９、Ｓ２１）記録を終了する。
【００２８】
第７の発明によれば、記録を終了するべき検出信号の記録を終了するので、重複して記録を開始することが設定されている検出信号を、１の記録を終了するフラグの発生によって、記録を終了してしまうことがない。
【００２９】
第８の発明は、ロボットと人間とが存在する環境に配置された複数のセンサからの検出信号の記録を制御する記録制御プログラムであって、コンピュータに、複数のセンサからの検出信号に基づいて、当該検出信号の記録を開始するかどうかを判断する記録開始判断ステップ、記録開始判断ステップによって検出信号の記録を開始することが判断されたとき、複数のセンサのそれぞれについて、自身の検出範囲にロボットおよび人間の少なくとも一方が含まれるかどうかを判断する位置判断ステップ、および位置判断ステップによって検出範囲にロボットおよび人間の少なくとも一方が含まれると判断されたとき、当該検出範囲を有するセンサの検出信号の記憶媒体への記録を開始する記録開始ステップを実行させる、記録制御プログラムである。
【００３０】
第８の発明においても、第１の発明と同様に、必要なときに必要なセンサの検出信号のみを記録することができる。
【発明の効果】
【００３１】
この発明によれば、センサの検出信号の記録開始が判断されると、センサの検出範囲内に人やロボットが存在する場合に、当該センサの検出信号を記録するので、必要なときに必要なセンサの検出信号のみを記録することができる。この結果、メモリの記憶容量を無駄に使用するのを防止することができる。
【００３２】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３３】
【図１】図１はこの発明の一実施例のネットワークロボットシステムの構成を示す図解図である。
【図２】図２は図１に示すロボットの外観を正面から見た正面図である。
【図３】図３は図１に示すロボットの電気的な構成を示すブロック図である。
【図４】図４は図１に示すネットワークロボットシステムが適用される環境であって、センサ情報を取得する環境の一例を示す図解図である。
【図５】図５はトリガ情報テーブルの一例を示す図解図である。
【図６】図６は図４に示した床センサ、マイクおよびカメラの検出範囲を説明するための図解図である。
【図７】図７は環境を真上から見た２次元のマップの座標系を説明するための図解図および図４に示したタグリーダの検出範囲を説明するための図解図である。
【図８】図８は図１に示す記録制御装置のＲＡＭのメモリマップの一例を示す図解図である。
【図９】図９は図８の被験者情報データに従う被験者情報テーブルおよび図６のセンサ情報データに従うセンサ情報テーブルを示す図解図である。
【図１０】図１０は図８の記録情報データに従う記録情報テーブルを示す図解図である。
【図１１】図１１は図１に示す記録制御装置のコンピュータ（ＣＰＵ）の記録制御処理の一部を示すフロー図である。
【図１２】図１２は図１に示す記録制御装置のＣＰＵの記録制御処理の他の一部であって、図１１に後続するフロー図である。
【図１３】図１３は図１に示す記録制御装置のＣＰＵの記録制御処理のその他の一部であって、図１２に後続するフロー図である。
【発明を実施するための形態】
【００３４】
図１を参照して、この実施例のネットワークロボットシステム（以下、単に「システム」という）１０は、複数のコミュニケーションロボット（以下、単に「ロボット」という）１２を含む。各ロボット１２は、ネットワーク１００を介して、記録制御装置１０２に通信可能に接続される。また、記録制御装置１０２には、センサ情報データベース（センサ情報ＤＢ）１０４および環境センサ１０６が接続される。
【００３５】
ロボット１２は、相互作用指向のロボットであり、主として人間のようなコミュニケーションの対象（コミュニケーション対象）との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。ロボット１２は、受付や道案内などの様々なサービスを提供し、たとえば或る会社やイベント会場（ショッピングモール、展示会場）などの様々な場所ないし状況（環境）に配置される。また、ロボット１２は、環境内で自走可能である。この実施例では、各ロボット１２を識別可能に検出するため、ロボット１２の各々にタグ（無線タグ）１２ａを装着してある。
【００３６】
なお、図面では、ロボット１２の外部にタグ１２ａを装着しているように示してあるが、ロボット１２の内部にタグ１２ａを設けるようにしてもよい。
【００３７】
図２を参照して、ロボット１２のハードウェアの構成について説明する。また、図２はこの実施例のロボット１２の外観を示す正面図である。ロボット１２は台車１８を含み、台車１８の下面にはロボット１２を自律移動させる２つの車輪２０および１つの従輪２２が設けられる。２つの車輪２０は車輪モータ２４（図３参照）によってそれぞれ独立に駆動され、台車１８すなわちロボット１２を前後左右の任意方向に動かすことができる。また、従輪２２は車輪２０を補助する補助輪である。したがって、ロボット１２は、配置された環境（空間）内を自律制御によって移動可能である。
【００３８】
台車１８の上には、円柱形のセンサ取り付けパネル２６が設けられ、このセンサ取り付けパネル２６には、多数の距離センサ２８（赤外線距離センサ２８ａおよびレーザ距離センサ２８ｂを含む：図３参照）が取り付けられる。これらの距離センサ２８は、センサ取り付けパネル２６すなわちロボット１２の周囲の物体（人間や障害物など）との距離を測定するものである。
【００３９】
センサ取り付けパネル２６の上には、胴体３０が直立するように設けられる。また、胴体３０の前方中央上部（人の胸に相当する位置）には、上述した距離センサ２８がさらに設けられ、ロボット１２の前方の主として人間との距離を計測する。また、胴体３０には、その側面側上端部のほぼ中央から伸びる支柱３２が設けられ、支柱３２の上には、全方位カメラ３４が設けられる。全方位カメラ３４は、ロボット１２の周囲を撮影するものであり、後述する眼カメラ５８とは区別される。この全方位カメラ３４としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ２８および全方位カメラ３４の設置位置は、当該部位に限定されず適宜変更され得る。
【００４０】
胴体３０の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節３６Ｒおよび肩関節３６Ｌによって、上腕３８Ｒおよび上腕３８Ｌが設けられる。図示は省略するが、肩関節３６Ｒおよび肩関節３６Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節３６Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕３８Ｒの角度を制御できる。肩関節３６Ｒの或る軸（ヨー軸）は、上腕３８Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節３６Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕３８Ｌの角度を制御できる。肩関節３６Ｌの或る軸（ヨー軸）は、上腕３８Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００４１】
また、上腕３８Ｒおよび上腕３８Ｌのそれぞれの先端には、肘関節４０Ｒおよび肘関節４０Ｌが設けられる。図示は省略するが、肘関節４０Ｒおよび肘関節４０Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕４２Ｒおよび前腕４２Ｌの角度を制御できる。
【００４２】
前腕４２Ｒおよび前腕４２Ｌのそれぞれの先端には、人の手に相当する球体４４Ｒおよび球体４４Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車１８の前面，肩関節３６Ｒと肩関節３６Ｌとを含む肩に相当する部位，上腕３８Ｒ，上腕３８Ｌ，前腕４２Ｒ，前腕４２Ｌ，球体４４Ｒおよび球体４４Ｌには、それぞれ、接触センサ（図３で包括的に示す）４６が設けられる。台車１８の前面の接触センサ４６は、台車１８への人間や障害物の接触を検知する。したがって、ロボット１２は、その自身の移動中に人間や障害物との接触が有ると、それを検知し、直ちに車輪２０の駆動を停止してロボット１２の移動を急停止させることができる。また、その他の接触センサ４６は、当該各部位に触れたかどうかを検知する。なお、接触センサ４６の設置位置は、当該部位に限定されず、適宜な位置（人の胸，腹，脇，背中および腰に相当する位置）に設けられてもよい。
【００４３】
胴体３０の中央上部（人の首に相当する位置）には首関節４８が設けられ、さらにその上には頭部５０が設けられる。図示は省略するが、首関節４８は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１２の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００４４】
頭部５０には、人の口に相当する位置に、スピーカ５２が設けられる。スピーカ５２は、ロボット１２が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク５４Ｒおよびマイク５４Ｌが設けられる。以下、右のマイク５４Ｒと左のマイク５４Ｌとをまとめてマイク５４ということがある。マイク５４は、周囲の音、とりわけコミュニケーションを実行する対象である人間の声を取り込む。さらに、人の目に相当する位置には、眼球部５６Ｒおよび眼球部５６Ｌが設けられる。眼球部５６Ｒおよび眼球部５６Ｌは、それぞれ眼カメラ５８Ｒおよび眼カメラ５８Ｌを含む。以下、右の眼球部５６Ｒと左の眼球部５６Ｌとをまとめて眼球部５６ということがある。また、右の眼カメラ５８Ｒと左の眼カメラ５８Ｌとをまとめて眼カメラ５８ということがある。
【００４５】
眼カメラ５８は、ロボット１２に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ５８は、上述した全方位カメラ３４と同様のカメラを用いることができる。たとえば、眼カメラ５８は、眼球部５６内に固定され、眼球部５６は、眼球支持部（図示せず）を介して頭部５０内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部５０の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部５０の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部５６ないし眼カメラ５８の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ５２，マイク５４および眼カメラ５８の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００４６】
このように、この実施例のロボット１２は、車輪２０の独立２軸駆動，肩関節３６の３自由度（左右で６自由度），肘関節４０の１自由度（左右で２自由度），首関節４８の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００４７】
図３はロボット１２の電気的な構成を示すブロック図である。この図３を参照して、ロボット１２は、ＣＰＵ６０を含む。ＣＰＵ６０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス６２を介して、メモリ６４，モータ制御ボード６６，センサ入力／出力ボード６８および音声入力／出力ボード７０に接続される。
【００４８】
メモリ６４は、図示は省略をするが、ＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、ロボット１２の動作を制御するための制御プログラムが予め記憶される。たとえば、コミュニケーション行動を実行させるためのプログラム、各センサの出力（検出信号）を検知するための検知プログラム、および外部コンピュータ（記録制御装置１０２など）との間で必要なデータやコマンド（メッセージ）を送受信するための通信プログラムなどが記録される。また、ＲＡＭは、ＣＰＵ６０のワークメモリやバッファメモリとして用いられる。
【００４９】
モータ制御ボード６６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、右眼球部５６Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ７２」と示す）の回転角度を制御する。同様にして、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、左眼球部５６Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ７４」と示す）の回転角度を制御する。
【００５０】
また、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、右肩関節３６Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと右肘関節４０Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ７６」と示す）の回転角度を制御する。同様にして、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、左肩関節３６Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと左肘関節４０Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ７８」と示す）の回転角度を制御する。
【００５１】
さらに、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、首関節４８の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ８０」と示す）の回転角度を制御する。そして、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、車輪２０を駆動する２つのモータ（図３では、まとめて「車輪モータ２４」と示す）の回転角度を制御する。なお、この実施例では、車輪モータ２４を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ２４と同様に直流モータを用いるようにしてもよい。また、ロボット１２の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
【００５２】
センサ入力／出力ボード６８もまた、同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ６０に与える。すなわち、距離センサ２８のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード６８を通じてＣＰＵ６０に入力される。また、全方位カメラ３４からの映像信号が、必要に応じてセンサ入力／出力ボード６８で所定の処理を施してからＣＰＵ６０に入力される。眼カメラ５８からの映像信号も、同様にして、ＣＰＵ６０に入力される。また、上述した複数の接触センサ（図３では、まとめて「接触センサ４６」と示す）からの信号がセンサ入力／出力ボード６８を介してＣＰＵ６０に与えられる。
【００５３】
音声入力／出力ボード７０もまた、同様に、ＤＳＰで構成され、ＣＰＵ６０から与えられる音声合成データに従った音声または声がスピーカ５２から出力される。また、マイク５４からの音声入力が、音声入力／出力ボード７０を介してＣＰＵ６０に与えられる。
【００５４】
また、ＣＰＵ６０は、バス６２を介して通信ＬＡＮボード８２に接続される。通信ＬＡＮボード８２は、ＤＳＰで構成され、ＣＰＵ６０から与えられた送信データを無線通信装置８４に与え、無線通信装置８４から送信データを、ネットワーク１００を介して外部コンピュータ（記録制御装置１０２など）に送信する。また、通信ＬＡＮボード８２は、無線通信装置８４を介してデータを受信し、受信したデータをＣＰＵ６０に与える。つまり、ロボット１２は、通信ＬＡＮボード８２および無線通信装置８４によって、記録制御装置１０２と無線通信を行うことができる。
【００５５】
さらに、ＣＰＵ６０は、バス６２を介して無線タグ読取装置８６が接続される。無線タグ読取装置８６は、アンテナ（図示せず）を介して、無線タグ（ＲＦＩＤタグ）から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置８６は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調（デコード）してＣＰＵ６０に与える。無線タグは、会社やイベント会場などに居る人間に装着されており、無線タグ読取装置８６は、通信可能範囲内の無線タグ（この実施例では、１２ａ、２５０）を検出する。なお、無線タグは、アクティブ型であってもよいし、無線タグ読み取り装置８６から送信される電波に応じて駆動されるパッシブ型であってもよい。
【００５６】
図４は、図１に示すシステム１０を或る環境２００に適用した場合の一例を示す。ただし、簡単のため、図４では、ネットワーク１００、記録制御装置１０２およびセンサ情報ＤＢ１０４は省略する。また、この実施例では、図４に示すように、環境２００には、環境センサ１０６として、床センサ１０６ａ、複数のタグリーダ１０６ｂ、複数のイメージセンサ（カメラ）１０６ｃおよび複数の音センサ（マイク）１０６ｄが配置される。ただし、タグリーダ１０６ｂ（前述の「８６」も同じ）は、ロボット１２や人間を個別に識別するための識別センサの一部として機能する。
【００５７】
また、環境２００には、ロボット１２が存在したり、人間が存在したりすることがある。図４に示す実施例では、１台のロボット１２が存在する場合について示してあるが、２台以上のロボット１２が存在することもある。また、ロボット１２が存在しないこともある。さらに、図４に示す実施例では、３人の人間Ａ、Ｂ、Ｃが環境２００に存在する場合について示してあるが、その人数は限定される必要はない。また、人間は存在しなくてもよい。図４に示すように、人間（Ａ、Ｂ、Ｃ）には、各々を個別に識別するために、タグ（無線タグ）２５０が装着される。
【００５８】
詳細な説明は省略するが、上述したように、ロボット１２は、全方位カメラ３４、マイク５４、眼カメラ５８および無線タグ読取装置（タグリーダ）８６を備え、これは環境センサ１０６としても機能する。したがって、全方位カメラ３４、マイク５４、眼カメラ５８およびタグリーダ８６の検出信号ないしその検出信号に基づく解析結果は、記録制御装置１０２に、常にまたは一定時間毎に、送信（通知）される。また、上述したように、ロボット１２は自走可能であるため、上記の各センサ（３４、５４、５８、８６）の検出範囲の位置はロボット１２の移動（変位）に従って変化される。
【００５９】
このような或る環境２００において、システム１０は、たとえば、ロボット１２の存在する環境下における人間のコミュニケーション行動、ロボット１２と人間とのコミュニケーション行動、人間同士のコミュニケーション行動を記録（履歴）する。たとえば、そのような記録を解析することにより、その解析結果を、ロボット１２が提供するサービスを実行するためのアプリケーションの開発等に役立てたり、その解析結果から、ロボット１２を配置するイベント会場などの設計（設営）のヒントを得たりするのである。
【００６０】
たとえば、従来の監視カメラを用いた監視映像記録装置などでは、１フレーム毎の映像信号の変化を検出し、変化が生じたときのみ、映像信号を磁気テープなどの記録媒体に記録するようにしてある。これによって、記録媒体を効率良く使用しているのである。
【００６１】
しかし、このような監視映像記録装置では、映像信号の変化のみに基づいて記録制御を行うため、様々な種類の環境センサ１０６を有するシステム１０に適用することができない。たとえば、ロボット１２と人間（Ａ、Ｂ、Ｃ）とが立ち話をしている場合には、映像信号にはほとんど変化が現れないため、そのような会話についての記録が行われない可能性がある。また、映像信号の変化によって、すべての環境センサ１０６の検出信号を記録すると、ロボット１２や人間（Ａ、Ｂ、Ｃ）のコミュニケーション行動などを何ら検出していない環境センサ１０６の検出信号までも記録することになってしまう。これでは、記録媒体（この実施例では、センサ情報ＤＢ１０４）の記憶領域を無駄に使用してしまう。
【００６２】
そこで、この実施例では、記録を開始することのトリガ（以下、「記録開始トリガ」という）が有ると、ロボット１２や人間（Ａ、Ｂ、Ｃ）を検出範囲に含むセンサの検出信号（位置情報、映像信号、タグ情報、音声信号、触覚（接触）信号など）のみを記録媒体すなわちセンサ情報ＤＢ１０４に記録するようにしてある。ただし、実際には、センサ情報ＤＢ１０４には、検出信号に加えて、当該検出信号を検出したセンサの識別情報（センサＩＤ）および当該センサで検出されている人間（Ａ、Ｂ、Ｃ）またはロボット１２の識別情報（タグＩＤ）が記録される。また、記録開始トリガに対応する、記録を終了することのトリガ（以下、「記録終了トリガ」という）が有ると、当該記録開始トリガに応じて記録を開始したセンサの検出信号のセンサ情報ＤＢ１０４への記録を終了する。
【００６３】
ただし、環境２００に設置されているすべての環境センサ１０６からの検出信号は、常にまたは一定時間（たとえば、２〜３秒）毎に、各環境センサ１０６のセンサＩＤとともに、記録制御装置１０２に出力されており、一定時間（たとえば、６０秒）分の検出信号はＲＡＭ１０２ｂに一時記憶（バッファリング）され、必要に応じて、センサ情報ＤＢ１０４に記録される。
【００６４】
この実施例では、記録開始トリガと記録終了トリガとは予め決定されており、図５に示すような、トリガ情報テーブルで管理されている。後で詳細に説明するが、記録開始トリガや記録終了トリガの有無の判断は、環境センサ１０６の検出信号やロボット１２からの通知（メッセージ）に応じて実行される。
【００６５】
また、図５に示すように、トリガ情報テーブルでは、記録開始トリガおよびそれに対応する記録終了トリガが記述される。記録開始トリガと記録終了トリガとの組は、識別情報（トリガＩＤ）によって区別される。この実施例では、ローマ字（Ｔｒ）と数字とを用いてトリガＩＤを表しているが、これに限定される必要は無く、トリガＩＤは、ローマ字のみや数字のみで表してよく、また、人間が解読できない情報で表してもよい。
【００６６】
図５に示すように、トリガＩＤがＴｒ１では、記録開始トリガは「ロボットに近づいた」ことであり、それに対応する記録終了トリガは「ロボットから離れた」ことである。ロボット１２のタグリーダ８６が、人間（Ａ、Ｂ、Ｃ）に装着されたタグ２５０からの識別情報を検出し、その時の電波強度に基づいて算出した距離が記録制御装置１０２に通知される。記録制御装置１０２は、ロボット１２から通知される距離が一定値（この実施例では、１ｍ）以下である場合に、「ロボットに近づいた」を検知する。同様に、記録制御装置１０２は、ロボット１２から通知される、タグ２５０からの識別情報を検出している時の電波強度に基づいて算出した距離が一定値（１ｍ）を超えると、「ロボットから離れた」を検知する。
【００６７】
また、トリガＩＤがＴｒ２では、記録開始トリガが「歩く」または「立ち話」のような人間（Ａ、Ｂ、Ｃ）の所定の動作であり、対応する記録終了トリガが「環境から退出」または「一定時間以上音声なし」のような上記の所定の動作の終了などである。記録制御装置１０２は、ロボット１２のタグリーダ８６またはタグリーダ１０６ｂによって人間（Ａ、Ｂ、Ｃ）に装着されたタグ２５０からの識別情報を検出するとともに、床センサ１０６ａからの検出信号に基づいて人間（Ａ、Ｂ、Ｃ）の位置を検出する。したがって、人間（Ａ、Ｂ、Ｃ）の一定時間における移動量や移動軌跡を知ることができる。これによって、「歩く」が検知される。ただし、記録制御装置１０２は、人間（Ａ、Ｂ、Ｃ）の移動量や移動軌跡に変化が無く、その人間（Ａ、Ｂ、Ｃ）の近傍に在るマイク１０６ｄによって音声信号が検出されている場合に、「立ち話」を検知する。
【００６８】
なお、図示は省略するが、環境センサ１０６として、レーザ距離計を配置する場合には、本件出願人が先に出願した特願２００９−７６４５０号に記載の方法を採用することにより、人間（Ａ、Ｂ、Ｃ）が歩いていることや立ち止まっていることを判別することが可能である。
【００６９】
また、記録制御装置１０２は、人間（Ａ、Ｂ、Ｃ）に装着されたタグ２５０からの識別情報を、タグリーダ８６、１０６ｂによって検出していない場合に、「環境から退出」したことを検知し、また、マイク１０６ｄからの音声信号が一定レベル（無音と判断されるレベル）以下である状態が一定時間（たとえば、３０秒）以上継続した場合に、「一定時間以上音声無し」を検知する。
【００７０】
トリガＩＤがＴｒ３では、記録開始トリガが「一定以上の混雑」であり、対応する記録終了トリガが「一定未満の混雑」である。記録制御装置１０２は、床センサ１０６ａからの検出信号（座標データ）に基づいて、予めマップに登録されていないものが複数検出され、それが一定の領域（範囲内）において一定の割合以上を占める場合に、「一定以上の混雑」を検知する。ただし、マップは、環境２００を真上から俯瞰的に見た場合の見取り図であり、２次元の平面状に示される。また、図４では省略したが、マップに予め登録されている物としては、たとえば、柱、棚、机、椅子、観葉植物などであり、固定的に配置される物およびそれに準ずる物（ほとんど動かすことが無い物）が該当する。また、記録制御装置１０２は、上記の一定の割合未満になると、「一定未満の混雑」を検知する。
【００７１】
トリガＩＤがＴｒ４では、記録開始トリガが「一定以上の人数」であり、対応する記録終了トリガが「一定未満の人数」である。記録制御装置１０２は、タグリーダ８６、１０６ｂで検出されたタグ２５０の識別情報の種類が一定数以上である場合に、「一定以上の人数」を検知する。また、記録制御装置１０２は、タグリーダ８６、１０６ｂで検出されたタグ２５０の識別情報の種類が一定数未満である場合に、「一定未満の人数」を検知する。
【００７２】
トリガＩＤがＴｒ５では、記録開始トリガが「集団で行動」であり、対応する記録終了トリガが「集団が環境から退出」または「集団の解除」である。記録制御装置１０２は、上述したように、床センサ１０６ａからの検出信号に基づいて、人間（Ａ、Ｂ、Ｃ）が、歩いていることや止まっていることを検出し、さらに、床センサ１０６ａからの検出信号に基づいて、複数の人間が一体として同じ方向に歩いたり、一定の場所に留まったりしている場合に、集団で歩いたり、集団で整列したりするなどの「集団で行動」を検知する。また、記録制御装置１０２は、床センサ１０６ａで検出される座標データの個数が大きく減少するとともに、タグリーダ８６、１０６ｂによって検出される識別情報の個数が大きく減少した場合に、人間（Ａ、Ｂ、Ｃ）が環境から退出したと判断し、「集団が環境から退出」を検知する。また、記録制御装置１０２は、床センサ１０６ａで検出される複数の座標データが示す座標間の距離が一定（たとえば、３ｍ）以上離れた場合に、「集団の解除」を検知する。ただし、座標間の距離が一定以上離れたことの条件は、すべての座標間の距離が該当する必要は無く、一定数（たとえば、半数）ないし一定割合（たとえば、５割）以上の座標間の距離がその条件を満たせばよい。
【００７３】
トリガＩＤがＴｒ６では、記録開始トリガは「特定の方向から音声」であり、対応する記録開始トリガも「特定の方向から音声」である。記録開始装置１０２は、指向性を有するマイク１０６ｄを用いることにより、音声が入力される方向を検出し、検出した方向が特定の方向である場合に、「特定の方向から音声」を検知する。ただし、環境１０６にマイクロホンアレイを配置することにより、音声が発生される方向を検出するようにしてもよい。ただし、記録開始トリガについての「特定の方向」と記録終了トリガについての「特定の方向」とは、同一方向または異なる方向のいずれも構わない。これらは、システム１０の開発者ないし使用者によって適宜設定される。
【００７４】
トリガＩＤがＴｒ７では、記録開始トリガは「ロボットから話かけた」であり、対応する記録終了トリガは「ロボットから離れた」である。ロボット１２は、その近傍に存在する人間（Ａ、Ｂ、Ｃ）に発話すると、そのことが記録制御装置１０２に通知される。この通知を受けると、記録制御装置１０２は、「ロボットから話かけた」を検知する。ただし、ロボット１２は、全方位カメラ３４または／および眼カメラ５８で撮影された画像やタグリーダ８６によって検出された識別情報に基づいて、人間（Ａ、Ｂ、Ｃ）が近傍に存在することを知る。以下、同様である。また、上述したように、記録制御装置１０２は、ロボット１２から通知される、タグ２５０からの識別情報を検出している時の電波強度に基づいて算出した距離が一定値（１ｍ）を超えると、「ロボットから離れた」を検知する。以下、同様である。
【００７５】
トリガＩＤがＴｒ８では、記録開始トリガは「ロボットに触れ始め」であり、対応する記録終了トリガは「ロボットから離れた」である。ロボット１２は、その近傍に存在する人間（Ａ、Ｂ、Ｃ）に触れられると、そのことが記録制御装置１０２に通知される。この通知を受けると、記録制御装置１０２は、「ロボットに触れ始め」を検知する。ただし、ロボット１２は、その接触センサ４６の検出信号に基づいて、人間（Ａ、Ｂ、Ｃ）が触れていることを検出する。
【００７６】
トリガＩＤがＴｒ９では、記録開始トリガが「握手の開始」であり、対応する記録終了トリガが「握手の終了」または「ロボットから離れた」である。ロボット１２は、「握手」についてのコミュニケーション行動を開始すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「握手の開始」を検知する。また、ロボット１２は、「握手」についてのコミュニケーション行動を終了すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「握手の終了」を検知する。
【００７７】
トリガＩＤがＴｒ１０では、記録開始トリガが「抱っこの開始」であり、対応する記録終了トリガが「抱っこの終了」または「ロボットから離れた」である。ロボット１２は、「抱っこ」についてのコミュニケーション行動を開始すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「抱っこの開始」を検知する。また、ロボット１２は、「抱っこ」についてのコミュニケーション行動を終了すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「抱っこの終了」を検知する。
【００７８】
トリガＩＤがＴｒ１１では、記録開始トリガが「手を振るの開始」であり、対応する記録終了トリガが「手を振るの終了」または「環境からの退出」である。ロボット１２は、「手を振る（バイバイ）」についてのコミュニケーション行動を開始すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「手を振るの開始」を検知する。また、ロボット１２は、「手を振る」についてのコミュニケーション行動を終了すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「手を振るの終了」を検知する。
【００７９】
トリガＩＤがＴｒ１２では、記録開始トリガが「ロボットの顔を覗き込む」であり、対応する記録終了トリガが「ロボットから離れた」である。ロボット１２は、その眼カメラ５６の撮影画像を解析し、たとえば、卵型（楕円形）に近似する肌色の塊を検出すると、人間（Ａ、Ｂ、Ｃ）の顔が自身の顔の正面に在ることを検出する。このとき、ロボット１２は、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「ロボットの顔を覗き込む」を検知する。ただし、特定の人間（Ａ、Ｂ、Ｃ）についての顔画像を記憶しておき、眼カメラ５６の撮影画像から特定の部位（眼、眉毛）の形状や位置を検出し、それに基づいて、当該人間（Ａ、Ｂ、Ｃ）の顔が自身の顔の正面に在ることを検出するようにしてもよい。ただし、ロボット１２から記録制御装置１０２に画像データを送信し、記録制御装置１０２で人間（Ａ、Ｂ、Ｃ）の顔がロボット１２の顔の正面に在るかどうかを検出するようにしてもよい。
【００８０】
トリガＩＤがＴｒ１３では、記録開始トリガが「人間がロボットに話かけた」であり、対応する記録終了トリガが「ロボットから離れた」である。ロボット１２は、タグリーダ８６でタグ２５０の識別情報を検出するとともに、マイク５４を通して一定レベル（人間に話かけられていると思われるレベル）以上の音声信号を検出すると、そのことを記録制御装置１０２に通知する。この通知を受けると、記録制御装置１０２は、「人間がロボットに話かけた」ことを検知する。ただし、「人間に話かけられていると思われるレベル」は、試験等によって経験的に得られる。
【００８１】
トリガＩＤがＴｒ１４では、記録開始トリガが「ロボットに対する集団の振る舞い」であり、対応する記録終了トリガが「集団の振る舞いの終了」または「ロボットから離れた」である。たとえば、集団の振る舞いとしては、整然・雑然とした人間（Ａ、Ｂ、Ｃ）の行動である。この集団の振る舞いの有無（開始／終了）は、本件出願人が先に出願し既に出願公開された特開２００８−２２５８５２号公報に記載の集団状態推定処理を実行することによって判断される。集団状態推定処理自体は、本願発明の本質的な内容ではないため、その説明は省略することにする。
【００８２】
なお、図５に示す記録開始トリガおよび記録終了トリガは例示であり、これに限定される必要はない。ロボット１２が適用される環境２００に応じて適宜変更されてよい。
【００８３】
また、図５からも分かるように、記録開始トリガに対応して、複数の記録終了トリガが存在することがある。
【００８４】
上述したトリガ情報テーブルに従って、記録制御装置１０２は、環境センサ１０６の検出信号の記録を開始したり終了したりする。ただし、上述したように、検出信号を記録するのは、その検出範囲にロボット１２や人間（Ａ、Ｂ、Ｃ）が含まれている環境センサ１０６のみについてである。
【００８５】
各環境センサ１０６の検出範囲の具体例が図６（Ａ）、（Ｂ）、（Ｃ）に示される。ただし、図６（Ａ）、（Ｂ）、（Ｃ）では、環境２００を真上から俯瞰的に見た場合について示してある。図６（Ａ）に示すように、床センサ１０６ａの検出範囲は、環境２００の床面ないし地面（２次元平面）の全体または略全体と一致する。したがって、記録制御装置１０２では、環境２００に存在するロボット１２および人間（Ａ、Ｂ、Ｃ）の位置を、床センサ１０６ａの出力（検出信号）に基づいて検出することができる。ここで、マップの詳細については図示しないが、当該マップに対応するマップデータ４０４ｄ（図８参照）が記録制御装置１０２のＲＡＭ１０２ｂに記憶されている。また、図７（Ａ）に示すように、２次元平面のマップに対応してＸＹ座標系が設定されている。たとえば、このＸＹ座標系では、環境２００の水平面における左下の頂点を原点Ｏ（０，０）とし、横方向をＸ軸とし、縦方向をＹ軸としてある。また、原点Ｏから右方向がＸ軸のプラス方向であり、原点Ｏから上方向がＹ軸のプラス方向である。ただし、この実施例では、環境２００の右下の点Ｐ１の座標を（ｘ１，ｙ１）とし、環境２００の左上の点Ｐ２の座標を（ｘ２，ｙ２）とし、環境２００の右上の点Ｐ３の座標を（ｘ３，ｙ３）とする。したがって、床センサ１０６ａの検出範囲は、原点Ｏの座標（０，０）、点Ｐ１の座標（ｘ１，ｙ１）、点Ｐ２の座標（ｘ２，ｙ２）および点Ｐ３の座標（ｘ３，ｙ３）で規定することができる。以下、同様である。
【００８６】
また、図６（Ｂ）には、第１−第７タグリーダ１０６ｂのそれぞれの検出範囲が示される。図７（Ｂ）に示すように、１つのタグリーダ１０６ｂの検出範囲は、その配置位置を中心として、半径ｒの円で規定される。第１−第７タグリーダ１０６ｂの配置位置は予め決定されており、図示は省略するが、マップ上にも記載されている。ただし、この実施例では、環境２００内のロボット１２や人間（Ａ、Ｂ、Ｃ）について検出するため、図６（Ｂ）に示すように、タグリーダ１０６ｂの検出範囲のうち、環境２００からはみ出す範囲については図示していない。以下、同様である。
【００８７】
なお、図示は省略するが、ロボット１２のタグリーダ８６の検出範囲も同様に規定される。ただし、タグリーダ８６は、ロボット１２の位置に従ってその検出範囲が移動される点で、他のタグリーダ１０６ｂと異なる。
【００８８】
また、図示は省略するが、音センサすなわちマイク１０６ｄの検出範囲もタグリーダ１０６ｂの検出範囲と同様に、その配置位置を中心とする一定長さの半径の円によって規定される。ただし、指向性を有するマイク１０６ｄでは、検出範囲は、一定の方向からの音声を検出するように、その方向に曲面が向かう扇形で規定される。
【００８９】
さらに、図６（Ｃ）には、環境２００における第１カメラ１０６ｃおよび第２カメラ１０６ｃのそれぞれの検出範囲が示される。環境２００をＸ軸方向の中央で二等分した場合に、図６（Ｃ）からも分かるように、第１カメラ１０６ｃの検出範囲は環境２００の左半分であり、第２カメラ１０６ｃの検出範囲は環境２００の右半分である。ただし、図６（Ｃ）では、第１カメラ１０６ｃおよび第２カメラ１０６ｃの検出範囲を分かり易く示すために、それらの検出範囲を少し小さく示してあるが、それらの検出範囲を合わせると、環境２００の２次元平面の全体を検出可能（撮影可能）である。したがって、たとえば、第１カメラ１０６ｃの検出範囲は、原点Ｏ、座標（ｘ１／２，ｙ１）、座標（ｘ２，ｙ２）および座標（ｘ３／２，ｙ３）によって規定される。また、第２カメラ１０６ｃの検出範囲は、座標（ｘ１／２，ｙ１）、座標（ｘ１，ｙ１）、座標（ｘ３／２，ｙ３）および座標（ｘ３，ｙ３）によって規定される。
【００９０】
なお、図６（Ａ）では、床センサ１０６ａを環境２００の床面の全体に敷き詰めるようにしてあるが、環境２００内の不要な箇所すなわちロボット１２や人間（Ａ、Ｂ、Ｃ）が移動したり立ち止まったりすることが考えにくい場所や領域には、床センサ１０６ａを設けないようにしてもよい。
【００９１】
また、図４、図６（Ｂ）および図６（Ｃ）に示した、タグリーダ１０６ｂやカメラ１０６ｃの配置位置および検出範囲は単なる一例であり、環境２００内のロボット１２や人間（Ａ、Ｂ、Ｃ）を検出することができれるのであれば、異なる配置位置および検出範囲を採用してもよい。たとえば、検出範囲の広いタグリーダ１０６ｂを使えば、その数を減らすことができるし、逆に、検出範囲の狭いタグリーダ１０６ｂを使えば、その数を増やす必要があるが、検出精度が上がると考えられる。また、２つのカメラ１０６ｃの検出範囲は、中央部分が重なり合うように、少し大きく設定してもよい。
【００９２】
図８は図１に示したＲＡＭ１０２ｂのメモリマップ４００の一例を示す図解図である。図８に示すように、ＲＡＭ１０２ｂは、プログラム記憶領域４０２およびデータ記憶領域４０４を含む。プログラム記録領域４０２には、環境センサ１０６からの検出信号をセンサ情報ＤＢ１０４に記録するためのプログラム（記録制御プログラム）が記憶される。記録制御プログラムは、メイン処理プログラム４０２ａ、通信プログラム４０２ｂおよびセンサ情報記録プログラム４０２ｃなどによって構成される。
【００９３】
メイン処理プログラム４０２ａは、この実施例の記録制御のメインルーチンを処理するためのプログラムである。通信プログラム４０２ｂは、他のコンピュータなどと通信を実行するためのプログラムであり、この実施例では、主として、ロボット１２のコンピュータ（ＣＰＵ６０）と通信を実行する。センサ情報記録プログラム４０２ｃは、環境センサ１０６からの検出信号を必要に応じてセンサ情報ＤＢ１０４に記録するためのプログラムである。具体的には、センサ情報記録プログラム４０２ｃは、記録開始トリガが発生したか否かを判断し、記録開始トリガが発生した場合に、検出範囲にロボット１２や人間（Ａ、Ｂ、Ｃ）を含む環境センサ１０６の検出信号をセンサ情報ＤＢ１０４に記録する。また、センサ情報記録プログラム４０２ｃは、記録終了トリガが発生したか否かを判断し、記録終了トリガが発生した場合に、対応する記録開始トリガが発生したときに、記録を開始した検出信号の記録を終了する。
【００９４】
図示は省略するが、プログラム記憶領域には、環境センサ１０６からの検出信号を一時記憶するためのプログラムなども記憶される。
【００９５】
データ記憶領域４０４には、データバッファ４０４ａが設けられる。また、データ記憶領域４０４には、被験者情報データ４０４ｂ、センサ情報データ４０４ｃ、マップデータ４０４ｄ、センサ検出範囲データ４０４ｅ、トリガ情報データ４０４ｆおよび記録情報データ４０４ｇが記憶される。
【００９６】
データバッファ４０４ａは、環境センサ１０６からの検出信号を一時記憶するために設けられる。この実施例では、一定時間（６０秒）分の検出信号が一時記憶され、一定時間を経過した検出信号は消去される。
【００９７】
被験者情報データ４０４ｂは、環境２００に存在する、または環境２００に出入りする、１または複数のロボット１２および１または複数の人間についてのタグＩＤを管理するためのテーブル（被験者情報テーブル）についてのデータである。図９（Ａ）に示すように、被験者情報データ４０４ｂに従う被験者情報テーブルでは、タグＩＤに対応して、被験者（人間、ロボット）の名称が記載される。
【００９８】
図９（Ａ）では、簡単のため、タグＩＤは２つのローマ字を用いて表してある。タグＩＤは、数字で表してもよいし、ローマ字と数字との両方を用いて表してもよいし、人間が解読できない情報で表してもよい。
【００９９】
また、図９（Ａ）では、簡単のため、被験者の名称を、人間Ａ、Ｂ、Ｃ、…、ロボットＲ１、…、Ｒｎ（ｎは整数）のように抽象的に示してある。
【０１００】
図８に戻って、センサ情報データ４０４ｃは、環境２００に配置されている環境センサ１０６およびロボット１２に設けられる環境センサ１０６についての識別情報（センサＩＤ）および環境センサ１０６の各々の検出信号をセンサ情報ＤＢ１０４に記録するか否かの情報（記録開始数）を管理するためのテーブル（センサ情報テーブル）である。この実施例では、センサＩＤに対応して、環境センサ１０６の名称および記録開始数が記載される。
【０１０１】
図９（Ｂ）では、簡単のため、センサＩＤを１桁または２桁の数字で表しているが、ローマ字で表してもよいし、数字とローマ字との両方で表してもよいし、人間が解読できない情報で表してもよい。
【０１０２】
また、図９（Ｂ）に示すように、同じ名称の環境センサ１０６については、第１、第２、…のように識別可能な語を付してある。
【０１０３】
記録開始数は、対応する環境センサ１０６の検出信号をセンサ情報ＤＢ１０４に記録するか否を判断するための情報である。具体的には、記録開始数が正数であれば、対応する環境センサ１０６の検出信号をセンサ情報ＤＢ１０４に記録し、記録開始数が０であれば、対応する環境センサ１０６の検出信号をセンサ情報ＤＢ１０４に記録しない。ただし、所定の記録開始トリガが発生したときに、ロボット１２および人間（Ａ、Ｂ、Ｃ）の少なくとも一方を検出範囲に含む環境センサ１０６の検出信号の記録開始が指示され、このとき記録開始数が１加算される。一方、所定の記録終了トリガが発生したときに、対応する所定の記録開始トリガが発生したときに記録開始が指示された環境センサ１０６についての記録開始数が１減算される。
【０１０４】
このように記録開始数を管理するのは、たとえば、異なるトリガＩＤの記録開始トリガの発生によって、同一の環境センサ１０６の検出信号が記録されている場合に、いずれか１つの記録開始トリガに対応する記録終了トリガの発生によって、当該環境センサ１０６の検出信号の記録が終了されてしまうのを防止するためである。
【０１０５】
図８に戻って、マップデータ４０４ｄは、環境２００のマップについてのデータである。この環境２００のマップは、ロボット１２や人間（Ａ、Ｂ、Ｃ）の位置を特定したり、各環境センサ１０６の配置位置（位置座標）を決定したりするために用いられる。センサ検出範囲データ４０４ｅは、各環境センサ１０６についての検出範囲を規定するためのデータである。
【０１０６】
トリガ情報データ４０４ｆは、図５に示したトリガ情報テーブルについてのデータである。上述したように、トリガ情報テーブルでは、トリガＩＤに対応して、記録開始トリガおよび記録終了トリガが記載される。
【０１０７】
記録情報データ４０４ｇは、検出信号の記録中である環境センサ１０６を管理するためのテーブル（記録情報テーブル）についてのデータである。図１０に示すように、記録情報データ４０４ｇに従う記録情報テーブルでは、記録開始トリガのトリガＩＤに対応して、センサ情報ＤＢ１０４に検出信号が記録されている環境センサ１０６についての情報（センサＩＤ）およびセンサＩＤが示す環境センサ１０６の検出対象であるロボット１２および人間（Ａ、Ｂ、Ｃ）のタグＩＤが記載される。この記録情報テーブルでは、記録開始トリガが発生したときに、そのトリガＩＤ、記録中のセンサＩＤおよび対象のタグＩＤが記載（追加）され、記録終了トリガが発生したときに、対応する記録開始トリガのトリガＩＤ、記録中のセンサＩＤおよび対象のタグＩＤが記録情報テーブルから消去される。
【０１０８】
このように、記録情報データ４０４ｇを記憶するのは、上述した記録開始数を監視し、環境センサ１０６の検出信号を正しくセンサ情報ＤＢ１０４に記録するためである。また、同じ種類の記録開始トリガが環境２００内の別の場所で発生した場合でも、それらを識別可能とするためである。
【０１０９】
なお、図示は省略するが、データ記憶領域４０４には、他のデータが記憶されたり、記録制御処理に必要なフラグやカウンタ（タイマ）が設けられたりする。
【０１１０】
図１１ないし図１３は、図１に示したＣＰＵ１０２ａの具体的な記録制御処理についてのフロー図が示される。図１１に示すように、ＣＰＵ１０２ａは、記録制御処理を開始すると、ステップＳ１で、環境２００内に人間（Ａ、Ｂ、Ｃ）またはロボット１２が存在するかどうかを判断する。具体的には、ＣＰＵ１０２ａは、データバッファ４０４ａを参照して、タグＩＤが記憶されているかどうかを判断する。
【０１１１】
ステップＳ１で“ＮＯ”であれば、つまり環境２００内に人間（Ａ、Ｂ、Ｃ）およびロボット１２が存在しない場合には、そのまま記録制御処理を終了する。詳細な説明は省略するが、記録制御処理が終了された場合には、一定時間（たとえば、３０秒）が経過した後に、再度記録制御処理が開始される。以下、同じ。一方、ステップＳ１で“ＹＥＳ”であれば、つまり環境２００内に人間（Ａ、Ｂ、Ｃ）またはロボット１２が存在する場合には、環境２００内に存在する人間（Ａ、Ｂ、Ｃ）およびロボット１２に、記録制御処理に使用するＩＤ（処理用ＩＤ）を割り当てる。たとえば、処理用ＩＤは、１、２、…、ｍ（ｍは整数）である。この処理用ＩＤは、人間（Ａ、Ｂ、Ｃ）およびロボット１２の各々の座標（現在位置）が、環境センサ１０６の検出範囲に含まれるかどうかを判断する際に、その判断処理を実行したかどうかを個別に判断するために用いられる。
【０１１２】
次のステップＳ５では、終了の指示が有るかどうかを判断する。つまり、ＣＰＵ１０２ａは、記録制御装置１０２のオペレータによって終了指示が入力されたかどうかを判断するのである。ステップＳ５で“ＹＥＳ”であれば、つまり終了の指示が有れば、そのまま記録制御処理を終了する。一方、ステップＳ５で“ＮＯ”であれば、つまり終了の指示が無ければ、ステップＳ７で、人間（Ａ、Ｂ、Ｃ）またはロボット１２が増加したかどうかを判断する。つまり、ＣＰＵ１０２ａは、データバッファ４０４ａを参照して、タグＩＤの種類が増加したかどうかを判断する。
【０１１３】
ステップＳ７で“ＮＯ”であれば、つまり人間（Ａ、Ｂ、Ｃ）またはロボット１２が増加していなければ、そのまま図１２に示すステップＳ１１に進む。一方、ステップＳ７で“ＹＥＳ”であれば、つまり人間（Ａ、Ｂ、Ｃ）またはロボット１２が増加すれば、ステップＳ９で、増加した人間（Ａ、Ｂ、Ｃ）またはロボット１２に処理用ＩＤを割り当てた後に、ステップＳ１１に進む。
【０１１４】
図１２に示すステップＳ１１では、変数ｉに初期値を設定する。ここで、変数ｉは、上述したように、処理用ＩＤを付した人間（Ａ、Ｂ、Ｃ）およびロボット１２について順番に判断処理を実行するための変数である。続いて、ステップＳ１３では、記録開始トリガが有るかどうかを判断する。図示は省略するが、記録開始トリガ（後述する記録終了トリガも同じ）が発生したかどうかの判断処理は、他のタスクによって実行される。
【０１１５】
ステップＳ１３で“ＮＯ”であれば、つまり記録開始トリガが無ければ、ステップＳ１５で、記録終了トリガが有るかどうかを判断する。ステップＳ１５で“ＮＯ”であれば、つまり記録終了トリガが無ければ、図１１に示したステップＳ５に戻る。一方、ステップＳ１５で“ＹＥＳ”であれば、つまり記録終了トリガがあれば、ステップＳ１７で、記録終了トリガに対応するセンサＩＤの記録開始数Ｓｊを１減算する。つまり、図１０に示した記録情報テーブルを参照して、ステップＳ１５で、有ることが判断された記録終了トリガについての記録開始トリガのトリガＩＤに対応して記述される１または複数の記録中のセンサＩＤを取得し、取得した１または複数のセンサＩＤの各々に対応して記述される記録開始数を１減算するのである。
【０１１６】
次のステップＳ１９では、記録終了トリガに対応する、記録開始トリガのトリガＩＤ、記録中のセンサＩＤおよび検出されるタグＩＤを、記録情報テーブルから削除する。このとき、記録終了トリガに対応する記録開始トリガが複数存在する場合には、検出されるタグＩＤによってそれらが区別される。続いて、ステップＳ２１では、ステップＳ１７の処理によって、記録開始数Ｓｊ＝０となったセンサｊの検出信号を記録終了して、ステップＳ２３で、記録情報があるかどうかを判断する。つまり、ＣＰＵ１０２ａは、記録情報テーブルに、記録情報（トリガＩＤ、センサＩＤ、タグＩＤ）が記載されているかどうかを判断するのである。ステップＳ２３で“ＹＥＳ”であれば、つまり記録情報が有れば、ステップＳ５に戻る。一方、ステップＳ２３で“ＮＯ”であれば、つまり記録情報が無ければ、そのまま記録制御処理を終了する。
【０１１７】
また、ステップＳ１３で“ＹＥＳ”であれば、つまり記録開始トリガが有れば、ステップＳ２５で、変数ｉが最大値（ｍの最大数）を超えたかどうかを判断する。つまり、ＣＰＵ１０２ａは、環境２００内に存在するすべての人間（Ａ、Ｂ、Ｃ）およびロボット１２について、その座標（現在位置）が環境センサ１０６の検出範囲に含まれるかどうかの判断処理を実行したかどうかを判断するのである。
【０１１８】
ステップＳ２５で“ＹＥＳ”であれば、つまり変数ｉが最大値を超えていれば、ステップＳ５に戻る。一方、ステップＳ２５で“ＮＯ”であれば、つまり変数ｉが最大値以下であれば、ステップＳ２７で、変数ｊを初期化（ｊ＝１）する。ただし、変数ｊは、環境センサ１０６を個別に識別するための変数である。
【０１１９】
図１３に示すように、次のステップＳ２９では、変数ｉの座標はセンサｊの検出範囲内であるかどうかを判断する。ここでは、ＣＰＵ１０２ａは、センサ検出範囲データ４０４ｅを参照して、センサｊについての検出範囲を取得し、この検出範囲に変数ｉで識別される人間（Ａ、Ｂ、Ｃ）ないしロボット１２の座標（現在位置）が含まれるかどうかを判断するのである。
【０１２０】
なお、詳細な説明は省略するが、人間（Ａ、Ｂ、Ｃ）ないしロボット１２の座標（現在位置）は、それらのタグＩＤを検出しているタグリーダ８６、１０６ｂの設置位置（現在位置）と、床センサ１０６ａからの検出信号（座標データ）とに基づいて決定される。
【０１２１】
ステップＳ２９で“ＮＯ”であれば、つまり変数ｉの座標がセンサｊの検出範囲外である場合には、そのままステップＳ３７に進む。一方、ステップＳ２９で“ＹＥＳ”であれば、つまり変数ｉの座標がセンサｊの検出範囲内である場合には、ステップＳ３１で、当該センサｊの記録開始数Ｓｊを１加算して、ステップＳ３３で、記録開始数Ｓｊが１であるかどうかを判断する。ここでは、ＣＰＵ１０２ａは、当該センサｊの検出信号の記録を既に開始しているかどうかを判断しているのである。ただし、各センサｊの記録開始数Ｓｊは、記録制御処理が開始されるときに、リセットされる（０に設定される）。
【０１２２】
ステップＳ３３で“ＮＯ”であれば、つまり記録開始数Ｓｊが２以上であれば、そのままステップＳ３７に進む。一方、ステップＳ３３で“ＹＥＳ”であれば、つまり記録開始数Ｓｊが１であれば、ステップＳ３５で、センサｊの検出信号の記録を開始する。つまり、ＣＰＵ１０２ａは、センサｊの検出信号のセンサ情報ＤＢ１０４への記録を開始する。ただし、このとき、ＣＰＵ１０２ａは、センサｊの検出信号に加えて、当該センサｊのセンサＩＤおよび当該センサｊで検出されている人間（Ａ、Ｂ、Ｃ）またはロボット１２のタグＩＤも記録する。
【０１２３】
次に、ステップＳ３７では、記録開始トリガのトリガＩＤ、記録中のセンサＩＤおよび検出されるタグＩＤを、記録情報テーブルに登録する。ここでは、ステップＳ１３において、有ることが判断された記録開始トリガのトリガＩＤが記述され、検出範囲にタグＩＤを含むことが判断されたセンサｊのセンサＩＤが記述され、そして、そのタグＩＤが記述されるのである。つまり、ＣＰＵ１０２ａは、記録情報データ４０４ｇを更新する。続いて、ステップＳ３９では、変数ｊを１加算する（ｊ＝ｊ＋１）。そして、ステップＳ４１で、変数ｊが最大値を超えているかどうかを判断する。つまり、ＣＰＵ１０２ａは、すべてのセンサｊについて、当該変数ｉの座標がその検出範囲内に含まれるかどうかの判断処理を実行したかどうかを判断しているのである。
【０１２４】
ステップＳ４１で“ＮＯ”であれば、つまり変数ｊが最大値以下であれば、ステップＳ２９に戻る。一方、ステップＳ４１で“ＹＥＳ”であれば、つまり変数ｊが最大値を超えていれば、ステップＳ４３で、変数ｉを１加算して（ｉ＝ｉ＋１）、図１１に示したステップＳ２５に戻る。
【０１２５】
この実施例によれば、記録開始トリガが発生したときに、センサの検出範囲内に人間やロボットが存在する場合に、当該センサの検出信号を記録するので、必要なときに必要なセンサの検出信号のみを記録することができる。この結果、メモリの記憶容量を無駄に使用するのを防止することができる。
【０１２６】
なお、この実施例では、記録開始トリガの発生に応じて、センサの検出信号の記録を開始し、記録終了トリガの発生に応じて、センサの検出信号の記録を終了するようにしたが、センサの検出信号は、記録制御装置のメモリに常に記憶（一時記憶）されるため、記録開始トリガの一定時間（たとえば、１０秒）前からのセンサの検出信号を記録したり、記録終了トリガの一定時間（たとえば、１０秒）後までのセンサの検出信号を記録したり、それらの両方を実行したりするようにしてもよい。かかる場合には、記録したセンサの検出信号に基づいて、記録開始トリガが発生する前や記録終了トリガの発生後における、人間またはロボット或いはその両方のコミュニケーション行動を分析することもできる。
【０１２７】
また、（１）記録開始トリガから記録終了トリガまで検出信号を記録したり、（２）記録開始トリガの一定時間前からのセンサの検出信号を記録したり、（３）記録終了トリガの一定時間後までのセンサの検出信号を記録したり、（４）上記の（２）、（３）の両方を実行したりするようにしもよい。かかる場合には、記録開始トリガ（トリガＩＤ）に対応して、（１）−（４）のいずれかを予め設定しておき、記録開始トリガに応じて決定された方法で、検出信号を記録すればよい。
【符号の説明】
【０１２８】
１０  …ネットワークロボットシステム
１２  …コミュニケーションロボット
２４，７２，７４，７６，７８，８０  …モータ
２８  …赤外線距離センサ
３４  …全方位カメラ
５２  …スピーカ
５４  …マイク
５８  …眼カメラ
６０  …ＣＰＵ
６４  …メモリ
６６  …モータ制御ボード
６８  …センサ入力／出力ボード
７０  …音声入力／出力ボード
８２  …通信ＬＡＮボード
８４  …無線通信装置
８６  …無線タグ読取装置
１００  …ネットワーク
１０２  …記録制御装置
１０２ａ  …ＣＰＵ
１０４  …センサ情報ＤＢ
１０６  …環境センサ
【図１】
0005633003.tif 000002
【図２】
0005633003.tif 000003
【図３】
0005633003.tif 000004
【図４】
0005633003.tif 000005
【図５】
0005633003.tif 000006
【図６】
0005633003.tif 000007
【図７】
0005633003.tif 000008
【図８】
0005633003.tif 000009
【図９】
0005633003.tif 000010
【図１０】
0005633003.tif 000011
【図１１】
0005633003.tif 000012
【図１２】
0005633003.tif 000013
【図１３】
0005633003.tif 000014