(57)【要約】【課題】移動式ロボットにより取得されるデータの蓄積及び蓄積したデータに基づく移動式ロボットの動作制御を、ネットワークを介した通信により実現することを課題とする。【解決手段】１つの態様において、ロボット制御サーバは、移動式ロボットから受信した画像データと記憶部に記憶されている画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、移動式ロボットから受信した画像データ及び属性データを、類似画像データと同一のオブジェクト管理データに紐付けて記憶部に格納する。１つの態様において、ロボット制御サーバは、移動式ロボットから受信した画像データと記憶部に記憶されている画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、類似画像データに紐付けられている属性データに基づいて、移動式ロボットの動作内容を決定する。【選択図】図１
2015163415.tif 000002
【特許請求の範囲】
【請求項１】
移動式ロボット及び前記移動式ロボットを制御するロボット制御サーバを有し、前記移動式ロボットと前記ロボット制御サーバとがネットワークを介して通信することが可能なロボット制御システムであって、
前記移動式ロボットは、
物体の画像データ、及び前記物体に関する属性データを含むデータセットを前記ロボット制御サーバにアップロードするデータ転送部と、
前記ロボット制御サーバから動作を指示するコマンドを受信する通信部と、
前記コマンドに従って動作を制御する動作制御部と
を有し、
前記ロボット制御サーバは、
前記画像データ、前記属性データ、及び前記画像データと前記属性データとを紐付けるオブジェクト管理データを記憶する記憶部と、
前記移動式ロボットから受信した前記データセットに含まれる前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記移動式ロボットから受信した前記データセットに含まれる前記画像データ及び前記属性データを、前記類似画像データと同一の前記オブジェクト管理データに紐付けて前記記憶部に格納する一方で、前記類似画像データが検出されない場合には、前記オブジェクト管理データを新たに生成し、前記移動式ロボットから受信した前記データセットに含まれる前記画像データ及び前記属性データを、新たに生成した前記オブジェクト管理データに紐付けて前記記憶部に格納するデータ処理部と、
前記移動式ロボットから受信した前記データセットに含まれる前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記類似画像データに紐付けられている前記属性データに基づいて、前記移動式ロボットの動作内容を決定する動作決定部と、
前記動作決定部により決定された動作内容を前記移動式ロボットに送信する通信部と
を有することを特徴とするロボット制御システム。
【請求項２】
前記移動式ロボットは、
前記物体を特定する音声の入力を受け付けて、入力された音声を音声信号に変換する音入力受付部と、
前記音声信号の認識処理を実行して、前記音声信号から文字データを抽出する音声認識部と
をさらに有し、
前記データ転送部は、前記画像データ及び前記文字データを含む前記属性データを前記ロボット制御サーバにアップロードし、
前記データ処理部は、前記類似画像データが検出された場合には、前記文字データを前記属性データとして前記記憶部に格納することを特徴とする請求項１に記載のロボット制御システム。
【請求項３】
前記データ処理部は、前記類似画像データが検出された場合には、前記画像データの解析処理を実行して解析データを抽出し、前記文字データに加えて、前記解析データを前記属性データとして前記記憶部に格納することを特徴とする請求項２に記載のロボット制御システム。
【請求項４】
前記ロボット制御サーバは、
前記記憶部に記憶されている前記画像データ及び前記属性データを所定のルールに従って削除するデータ学習部をさらに有することを特徴とする請求項１〜３のいずれか一つに記載のロボット制御システム。
【請求項５】
前記データ処理部は、前記移動式ロボットから受信した前記画像データと前記記憶部に記憶されている前記画像データとの照合を行った結果、類似度が閾値を超える類似画像データが検出された場合には、照合のたびに回数を１ずつ加算した検出回数を、前記属性データとして前記記憶部に格納し、
前記データ学習部は、予め設定される処理タイミングで、前記検出回数が閾値未満である前記画像データ及び前記属性データを前記記憶部から削除することを特徴とする請求項４に記載のロボット制御システム。
【請求項６】
前記データ処理部は、前記移動式ロボットから受信した前記画像データと前記記憶部に記憶されている前記画像データとの照合を行った結果、類似度が閾値を超える類似画像データが検出された場合には、照合のたびに検出の日付を上書きして、前記属性データとして前記記憶部に格納し、
前記データ学習部は、前記検出の日付が、前記処理タイミングに対応する日付よりも所定の日数以前である前記画像データ及び前記属性データを前記記憶部から削除することを特徴とする請求項４又は５に記載のロボット制御システム。
【請求項７】
前記データ学習部は、同一の前記オブジェクト管理データに紐付けられた前記画像データ間の照合を行い、照合の結果、類似度が所定の閾値未満である前記画像データ及び当該画像データに対応する前記属性データを前記記憶部から削除することを特徴とする請求項４〜６のいずれか一つに記載のロボット制御システム。
【請求項８】
移動式ロボットとネットワークを介して通信を行い、前記移動式ロボットを制御するロボット制御サーバであって、
物体の画像データ、前記物体に関する属性データ、及び前記画像データと前記属性データとを紐付けるオブジェクト管理データを記憶する記憶部と、
前記移動式ロボットから前記画像データ及び前記属性データを受信した場合に、前記移動式ロボットから受信した前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記移動式ロボットから受信した前記画像データ及び前記属性データを、前記類似画像データと同一の前記オブジェクト管理データに紐付けて前記記憶部に格納する一方で、前記類似画像データが検出されない場合には、前記オブジェクト管理データを新たに生成し、前記移動式ロボットから受信した前記画像データ及び前記属性データを、新たに生成した前記オブジェクト管理データに紐付けて前記記憶部に格納するデータ処理部と、
前記移動式ロボットから受信した前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記類似画像データに紐付けられている前記属性データに基づいて、前記移動式ロボットの動作内容を決定する動作決定部と、
前記動作決定部により決定された動作内容を前記移動式ロボットに送信する通信部と
を有することを特徴とするロボット制御サーバ。
【請求項９】
移動式ロボットとネットワークを介して通信を行い、前記移動式ロボットを制御するロボット制御サーバに、
前記移動式ロボットから物体の画像データ、及び前記物体に関する属性データを受信するステップと、
前記画像データ、前記属性データ、及び前記画像データと前記属性データとを紐付けるオブジェクト管理データを記憶する記憶部から前記画像データを読み込み、読み込んだ前記画像データと、前記移動式ロボットから受信した前記画像データとの照合を行うステップと、
照合の結果、類似度が閾値を超える類似画像データが検出された場合には、前記移動式ロボットから受信した前記画像データ及び前記属性データを、前記類似画像データと同一の前記オブジェクト管理データに紐付けて前記記憶部に格納する一方で、前記類似画像データが検出されない場合には、前記オブジェクト管理データを新たに生成し、前記移動式ロボットから受信した前記画像データ及び前記属性データを、新たに生成した前記オブジェクト管理データに紐付けて前記記憶部に格納するステップと、
前記類似画像データに紐付けられている前記属性データに基づいて、前記移動式ロボットの動作内容を決定するステップと、
決定した前記動作内容を前記移動式ロボットに送信するステップと
を実行させることを特徴とするロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システム、ロボット制御サーバ及びロボット制御プログラムに関する。
【背景技術】
【０００２】
ネットワークを介して、通信を行うことが可能な移動式ロボットを有するロボットシステムが開発されている。例えば、特許文献１では、ネットワークデータブリッジから送信された所定のコマンドを受信可能な移動式ロボットを含むロボットシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１８５８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、通信技術の技術革新に伴い、個々の情報処理装置においてソフトウェアのアップデート、及びファイルのバックアップなどのデータ管理を行うことなく、ネットワークを介して相互に通信可能な他の情報処理装置上でデータ管理を行う技術が利用されている。移動式ロボットを有するロボットシステムにおいても、上記データ管理の技術を応用して、より有益なサービスを提供したいという要請がある。
【０００５】
本発明は、移動式ロボットにより取得されるデータの蓄積及び蓄積したデータに基づく移動式ロボットの動作制御を、ネットワークを介した通信により実現することができるロボット制御システム、ロボット制御サーバ及びロボット制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
ロボット制御システムは、１つの態様として、移動式ロボット及び前記移動式ロボットを制御するロボット制御サーバを有し、前記移動式ロボットと前記ロボット制御サーバとがネットワークを介して通信することが可能なロボット制御システムであって、前記移動式ロボットは、物体の画像データ、及び前記物体に関する属性データを含むデータセットを前記ロボット制御サーバにアップロードするデータ転送部と、前記ロボット制御サーバから動作を指示するコマンドを受信する通信部と、前記コマンドに従って動作を制御する動作制御部とを有し、前記ロボット制御サーバは、前記画像データ、前記属性データ、及び前記画像データと前記属性データとを紐付けるオブジェクト管理データを記憶する記憶部と、前記移動式ロボットから受信した前記データセットに含まれる前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記移動式ロボットから受信した前記データセットに含まれる前記画像データ及び前記属性データを、前記類似画像データと同一の前記オブジェクト管理データに紐付けて前記記憶部に格納する一方で、前記類似画像データが検出されない場合には、前記オブジェクト管理データを新たに生成し、前記移動式ロボットから受信した前記データセットに含まれる前記画像データ及び前記属性データを、新たに生成した前記オブジェクト管理データに紐付けて前記記憶部に格納するデータ処理部と、前記移動式ロボットから受信した前記データセットに含まれる前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記類似画像データに紐付けられている前記属性データに基づいて、前記移動式ロボットの動作内容を決定する動作決定部と、前記動作決定部により決定された動作内容を前記移動式ロボットに送信する通信部とを有することを特徴とする。
【０００７】
ロボット制御サーバは、１つの態様として、移動式ロボットとネットワークを介して通信を行い、前記移動式ロボットを制御するロボット制御サーバであって、物体の画像データ、前記物体に関する属性データ、及び前記画像データと前記属性データとを紐付けるオブジェクト管理データを記憶する記憶部と、前記移動式ロボットから前記画像データ及び前記属性データを受信した場合に、前記移動式ロボットから受信した前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記移動式ロボットから受信した前記画像データ及び前記属性データを、前記類似画像データと同一の前記オブジェクト管理データに紐付けて前記記憶部に格納する一方で、前記類似画像データが検出されない場合には、前記オブジェクト管理データを新たに生成し、前記移動式ロボットから受信した前記画像データ及び前記属性データを、新たに生成した前記オブジェクト管理データに紐付けて前記記憶部に格納するデータ処理部と、前記移動式ロボットから受信した前記画像データと前記記憶部に記憶されている前記画像データとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、前記類似画像データに紐付けられている前記属性データに基づいて、前記移動式ロボットの動作内容を決定する動作決定部と、前記動作決定部により決定された動作内容を前記移動式ロボットに送信する通信部とを有することを特徴とする。
【０００８】
ロボット制御プログラムは、１つの態様として、移動式ロボットとネットワークを介して通信を行い、前記移動式ロボットを制御するロボット制御サーバに、前記移動式ロボットから物体の画像データ、及び前記物体に関する属性データを受信するステップと、前記画像データ、前記属性データ、及び前記画像データと前記属性データとを紐付けるオブジェクト管理データを記憶する記憶部から前記画像データを読み込み、読み込んだ前記画像データと、前記移動式ロボットから受信した前記画像データとの照合を行うステップと、照合の結果、類似度が閾値を超える類似画像データが検出された場合には、前記移動式ロボットから受信した前記画像データ及び前記属性データを、前記類似画像データと同一の前記オブジェクト管理データに紐付けて前記記憶部に格納する一方で、前記類似画像データが検出されない場合には、前記オブジェクト管理データを新たに生成し、前記移動式ロボットから受信した前記画像データ及び前記属性データを、新たに生成した前記オブジェクト管理データに紐付けて前記記憶部に格納するステップと、前記類似画像データに紐付けられている前記属性データに基づいて、前記移動式ロボットの動作内容を決定するステップと、決定した前記動作内容を前記移動式ロボットに送信するステップとを実行させることを特徴とする。
【発明の効果】
【０００９】
本発明に係るロボット制御システム、ロボット制御サーバ及びロボット制御プログラムは、移動式ロボットにより取得されるデータの蓄積及び蓄積したデータに基づく移動式ロボットの動作制御を、ネットワークを介した通信により実現することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例に係るロボット制御システムの概念的な構成を示す図である。
【図２】図２は、ロボットの機能的な構成を示すブロック図である。
【図３】図３は、ロボット制御サーバの機能構成を示すブロック図である。
【図４】図４は、オブジェクト管理データのデータ構成の一例を示す図である。
【図５】図５は、オブジェクト管理データ、画像データ及び属性データの接続関係を示す図である。
【図６】図６は、画像データのデータ構成の一例を示す図である。
【図７】図７は、属性データのデータ構成の一例を示す図である。
【図８】図８は、環境データのデータ構成の一例を示す図である。
【図９】図９は、動作決定処理用データのデータ構成の一例を示す図である。
【図１０】図１０は、動作決定処理用データのデータ構成の一例を示す図である。
【図１１】図１１は、データ処理部により格納されたデータ、及びデータ学習部により一部が削除されたデータの例を示す図である。
【図１２】図１２は、データ処理部により格納されたデータ、及びデータ学習部により一部が削除されたデータの例を示す図である。
【図１３】図１３は、データ処理部により格納されたデータ、及びデータ学習部により一部が削除されたデータの例を示す図である。
【図１４】図１４は、データ処理部により格納されたデータ、及びデータ学習部により一部が削除されたデータの例を示す図である。
【図１５】図１５は、記憶部に記憶されているデータの共有範囲を説明するための図である。
【図１６】図１６は、記憶部に記憶されているデータの共有範囲を説明するための図である。
【図１７】図１７は、データ処理部により実行されるデータ格納処理の流れを示すフローチャートである。
【図１８】図１８は、ロボットから受信するデータセットの概念構成の一例を示す図である。
【図１９】図１９は、データ処理部により実行される画像データ格納処理の流れを示すフローチャートである。
【図２０】図２０は、データ処理部により実行される画像データ格納処理の説明に用いる図である。
【図２１】図２１は、データ処理部により実行される画像データ格納処理の説明に用いる図である。
【図２２】図２２は、データ処理部により実行される画像データ格納処理の流れを示すフローチャートである。
【図２３】図２３は、データ処理部により実行される画像データ格納処理の説明に用いる図である。
【図２４】図２４は、データ処理部により実行される画像データ格納処理の説明に用いる図である。
【図２５】図２５は、データ処理部により実行される画像データ格納処理の流れを示すフローチャートである。
【図２６】図２６は、データ処理部により実行される属性データ格納処理の流れを示すフローチャートである。
【図２７】図２７は、データ処理部により実行される属性データ格納処理の説明に用いる図である。
【図２８】図２８は、データ処理部により実行される属性データ格納処理の説明に用いる図である。
【図２９】図２９は、データ処理部により実行される環境データ格納処理の流れを示すフローチャートである。
【図３０】図３０は、動作決定部により実行される動作決定処理の流れを示すフローチャートである。
【図３１】図３１は、データ学習部により実行されるデータ学習処理の流れを示すフローチャートである。
【図３２】図３２は、データ学習部により実行されるデータ学習処理の説明に用いる図である。
【図３３】図３３は、データ学習部により実行されるデータ学習処理の説明に用いる図である。
【図３４】図３４は、データ学習部により実行されるデータ学習処理の説明に用いる図である。
【図３５】図３５は、データ学習部により実行されるデータ学習処理の説明に用いる図である。
【発明を実施するための形態】
【００１１】
以下に、本発明に係るロボット制御システム、ロボット制御サーバ及びロボット制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。さらに、この実施例における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下の実施例では、オフィスビルに設置される移動式ロボットと、移動式ロボットを制御するロボット制御サーバとを有するロボット制御システムにより実現される実施例について説明する。なお、本発明は、オフィスビルに移動式ロボットを設置する例に限定されるものではなく、ビジネスパーク、ショッピングセンター、ファッションビル、公園、アミューズメント施設、ハイテクパーク、住居用施設など、屋外、屋内を問わず、移動式ロボットを設置することが可能な様々なロケーションにおいて利用することができる。
【実施例】
【００１２】
［システムの構成］
図１は、本実施例に係るロボット制御システムの概念的な構成を示す図である。本実施例に係るロボット制御システムは、図１に示すように、オフィスビルに設置される移動式ロボット（以下、ロボット）１００と、ロボット１００を制御するロボット制御サーバ２００とを有する。ロボット１００とロボット制御サーバ２００とは、通信ネットワーク１を介して相互に通信可能な状態で接続される。通信ネットワーク１は、例えば、インターネットであり、所定の通信プロトコルを用いて、ネットワークを構成するハブ、ルータ、ブリッジ、プロキシサーバなどの通信機器を介して行われるデータの送受信が可能である。
【００１３】
［ロボットの構成］
図２は、ロボットの機能的な構成を示すブロック図である。図２に示すように、ロボット１００は、マイク１１０と、スピーカ１２０と、３次元距離センサ１３０Ａと、ＲＧＢカメラ１３０Ｂと、サーモグラフィ１３０Ｃと、測域センサ１３０Ｄと、赤外線測距センサ１３０Ｅと、照度センサ１３０Ｆと、温度センサ１３０Ｇと、湿度センサ１３０Ｈと、モータ駆動部１４０と、バッテリ１５０と、通信部１６０と、記憶部１７０と、制御部１８０とを有する。
【００１４】
マイク１１０は、音の入力を受け付ける。マイク１１０は、入力される音を音信号に変換して、制御部１８０に送り出す。マイク１１０から送り出される音信号は、後述する音声認識部１８１ａによる処理に利用される。スピーカ１２０は、音を出力する。スピーカ１２０は、制御部１８０から送り出された音信号を音として出力する。
【００１５】
３次元距離センサ１３０Ａは、赤外線の点パターンを物体に照射し、それを撮影することで、物体までの距離データを取得する。ＲＧＢカメラ１３０Ｂは、物体の画像データを取得する。サーモグラフィ１３０Ｃは、物体から放射される赤外線を分析し、熱分布のデータを取得する。３次元距離センサ１３０Ａにより取得される距離データ、ＲＧＢカメラ１３０Ｂにより取得される画像データ、及びサーモグラフィ１３０Ｃにより取得される熱分布のデータは、後述する人検出部１８１ｂ及び物体検出部１８１ｃによる処理に利用される。
【００１６】
測域センサ１３０Ｄは、所定の走査面上をスキャンすることにより、オフィスビル内の空間あるいはオフィスビル内の物体の物理的な形状データを取得する。測域センサ１３０Ｄにより取得される形状データには、例えば、オフィスビル内の柱や壁の形状に関するデータが含まれる。赤外線測距センサ１３０Ｅは、物体に対して照射するレーザの反射時間を計測し、物体までの距離データを取得する。測域センサ１３０Ｄにより取得される形状データ、及び赤外線測距センサ１３０Ｅにより取得される距離データは、後述する環境解析部１８１ｄによる処理に利用される。
【００１７】
照度センサ１３０Ｆは、オフィスビル内の照度のデータを取得する。温度センサ１３０Ｇは、オフィスビル内の温度のデータを取得する。湿度センサ１３０Ｈは、オフィスビル内の湿度のデータを取得する。照度センサ１３０Ｆによる取得される照度のデータ、温度センサ１３０Ｇにより取得される温度のデータ、湿度センサ１３０Ｈにより取得される湿度のデータは、後述する環境解析部１８１ｄによる処理に利用される。
【００１８】
モータ駆動部１４０は、ロボット１００を移動（走行）させるためのモータを駆動させる。バッテリ１５０は、ロボット１００を稼動させるための電力を蓄える。通信部１６０は、通信を行う。所定の通信プロトコルに基づいて、ロボット制御サーバ２００との間でやり取りされる各種データの送受信を制御する。
【００１９】
記憶部１７０は、磁気記憶装置または半導体記憶装置等の不揮発性を有する記憶装置を備え、各種のプログラムおよびデータを記憶する。記憶部１７０に記憶されるプログラムには、データ転送プログラム１７０ａ、動作制御プログラム１７０ｂ、自律動作制御プログラム１７０ｃ、電源管理プログラム１７０ｄ、音声認識プログラム１７０ｅ、人検出プログラム１７０ｆ、物体検出プログラム１７０ｇ、環境解析プログラム１７０ｈ、音声合成プログラム１７０ｉ、及び走行管理プログラム１７０ｊが含まれる。記憶部１７０に記憶されるデータには、フロアデータ１７０ｋが含まれる。
【００２０】
データ転送プログラム１７０ａは、後述するデータ転送部１８１により実行される各種処理を実現するための機能を提供する。動作制御プログラム１７０ｂは、後述する動作制御部１８２により実行される各種処理を実現するための機能を提供する。自律動作制御プログラム１７０ｃは、後述する自律動作制御部１８３により実行される各種処理を実現するための機能を提供する。電源管理プログラム１７０ｄは、後述する電源管理部１８６により実行される各種処理を実現するための機能を提供する。音声認識プログラム１７０ｅは、後述する音声認識部１８１ａにより実行される各種処理を実現するための機能を提供する。人検出プログラム１７０ｆは、後述する人検出部１８１ｂにより実行される各種処理を実現するための機能を提供する。物体検出プログラム１７０ｇは、後述する物体検出部１８１ｃにより実行される各種処理を実現するための機能を提供する。環境解析プログラム１７０ｈは、後述する環境解析部１８１ｄにより実行される各種処理を実現するための機能を提供する。音声合成プログラム１７０ｉは、後述する音声合成部１８４により実行される各種処理を実現するための機能を提供する。走行管理プログラム１７０ｊは、後述する走行管理部１８５により実行される各種処理を実現するための機能を提供する。
【００２１】
フロアデータ１７０ｋは、ロボット１００が設置されるオフィスビルのフロアに関するデータである。フロアデータ１７０ｋは、制御部１８０が解釈可能な状態で構成される。
【００２２】
制御部１８０は、演算装置であるＣＰＵ（Central  Processing  Unit）、及び記憶装置であるメモリなどのハードウェア資源を備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。図２に示すように、制御部１８０は、データ転送部１８１、音声認識部１８１ａ、人検出部１８１ｂ、物体検出部１８１ｃ、及び環境解析部１８１ｄを有する。
【００２３】
データ転送部１８１は、データ転送プログラム１７０ａを実行することにより、ロボット制御サーバ２００に対して、各種データをアップロードする。データ転送部１８１から転送される各種データは、例えば、画像データ及び属性データが含まれる。画像データ及び属性データは、音声認識部１８１ａ、人検出部１８１ｂ、物体検出部１８１ｃ、及び環境解析部１８１ｄから送り出される各種データを含む。データ転送部１８１は、各種データをアップロードする際に、組織データ及び場所データをあわせてアップロードする。組織データは、例えば、ロボット１００が設置されている会社などの団体を特定するためのデータであり、場所データは、ロボット１００が設置されているオフィスビルの場所を特定するためのデータである。組織データ及び場所データは、ロボット１００に対して予め設定されているものとする。組織データ及び場所データは、属性データに含まれる。
【００２４】
音声認識部１８１ａは、音声認識プログラム１７０ｅを実行することにより、マイク１１０により送り出される音声信号の認識処理を実行し、音声信号に含まれる文字データを抽出する。音声認識部１８１ａは、抽出した文字データをデータ転送部１８１に送り出す。文字データは、属性データに含まれる。音声認識処理部１８１ａは、例えば、ロボット１００が後述する巡回モードで動作制御されている場合に、音声信号を入力して認識処理を実行する場合がある。
【００２５】
人検出部１８１ｂは、人検出プログラム１７０ｆを実行することにより、３次元距離センサ１３０Ａにより取得される距離データ、ＲＧＢカメラ１３０Ｂにより取得される画像データ、及びサーモグラフィ１３０Ｃにより取得される熱分布のデータに基づいて、画像データに含まれる人の認識処理を実行する。そして、人検出部１８１ｂは、認識処理の結果に基づいて、画像データから人の顔が映し出されている領域を切り出し、顔画像データを抽出する。人検出部１８１ｂは、抽出した顔画像データをデータ転送部１８１に送り出す。顔画像データは、画像データに含まれる。
【００２６】
物体検出部１８１ｃは、物体検出プログラム１７０ｇを実行することにより、３次元距離センサ１３０Ａにより取得される距離データ、ＲＧＢカメラ１３０Ｂにより取得される画像データ、及びサーモグラフィ１３０Ｃにより取得される熱分布のデータに基づいて、画像データに含まれる人以外の物体の認識処理を実行する。そして、物体検出部１８１ｃは、認識処理の結果に基づいて、画像データから物体が映し出されている領域を切り出し、物体画像データを抽出する。人検出部１８１ｂは、抽出した物体画像データをデータ転送部１８１に送り出す。物体画像データは、画像データに含まれる。
【００２７】
図２に示す例では、人検出部１８１ｂ及び物体検出部１８１ｃは、機能的に分散されているが、人の顔及び物体を認識する機能的が統合されていてもよい。この場合、人の顔及び物体の双方を認識する処理を実行するための機能を提供するプログラムを記憶部１７０に格納しておく。
【００２８】
環境解析部１８１ｄは、環境解析プログラム１７０ｈを実行することにより、測域センサ１３０Ｄにより取得される形状データ、及び赤外線測距センサ１３０Ｅにより取得される距離データに基づいて、オフィスビル内の柱や壁の形状に関する解析処理を実行する。この解析処理により、例えば、柱のひび、壁の亀裂などを取得できる。環境解析部１８１ｄは、解析処理により得られる解析データと、照度センサ１３０Ｆにより取得されるオフィスビル内の照度のデータ、温度センサ１３０Ｇにより取得されるオフィスビル内の温度のデータ、及び湿度センサ１３０Ｈにより取得されるオフィスビル内の湿度のデータと、オフィスビル内の柱や壁の形状を解析した解析データとをまとめた環境データをデータ転送部１８１に送り出す。
【００２９】
また、図２に示すように、制御部１８０は、動作制御部１８２、自律動作制御部１８３、及び音声合成部１８４及び走行管理部１８５を有する。
【００３０】
動作制御部１８２は、動作制御プログラム１７０ｂを実行することにより、ロボット制御サーバ２００から受信するコマンドに従って、音声合成部１８４及び走行管理部１８５を制御することにより、ロボット１００の動作を制御する。ロボット制御サーバ２００から受信するコマンドは、例えば、動作制御プログラム１７０ｂが動作内容を解釈することができるスクリプトなどで記述される。ロボット制御サーバ２００から受信するコマンドには、定時モードのコマンドと、巡回モードのコマンドが含まれる。定時モードは、例えば、所定の時間帯におけるロボットの動作態様を決定するモードであり、巡回モードは、例えば、定時モード以外の時間帯におけるロボットの動作態様を決定するモードである。
【００３１】
動作制御部１８２は、例えば、ロボット制御サーバ２００から受信するコマンドを解釈して、コマンドで指示される音声を合成して出力するように音声合成部１８４に指示するとともに、コマンドで指示される場所までの走行ルートを生成して移動するように走行管理部１８５に指示する。例えば、動作制御部１８２は、定時モードのコマンドを受信した場合には、例えば、コマンドで指定された挨拶の内容（例えば、おはようございます。）に対応する音声の合成を音声合成部１８４に指示するとともに、定時モードのコマンドで指定された場所（例えば、エレベータフロア）までの走行ルートを生成して移動するように走行管理部１８５に指示する。動作制御部１８２は、定時モード時である場合、コマンドで指定された場所に留まるようにロボット１００の動作を制御する。一方、動作制御部１８２は、巡回モードのコマンドを受信した場合には、例えば、コマンドで指定された問いかけの内容（例えば、「はじめまして。お名前は？」）及び問いかけに対する回答があったときの応答（「ありがとうございます。」）に対応する音声の合成を音声合成部１８４に指示する。さらに、動作制御部１８２は、巡回モード時の走行ルートを生成して移動するように走行管理部１８５に指示する。動作制御部１８２は、巡回モード時である場合、生成した走行ルート上を、移動と停止を繰り返す巡回を行うように、ロボット１００の動作を制御する。
【００３２】
なお、動作制御部１８２は、コマンドに、挨拶の内容及び名前の情報が含まれる場合には、挨拶の内容に対応する音声及び名前の情報に対応する音声の合成を音声合成部１８４に指示することもできる。さらに、動作制御部１８２は、コマンドに、挨拶以外の発話内容が含まれる場合には、対応する音声の合成を音声合成部１８４に指示することもできる。
【００３３】
自律動作制御部１８３は、自律動作制御プログラム１７０ｃを実行することにより、ロボット制御サーバ２００から受信するコマンドとは無関係に、音声合成部１８４及び走行管理部１８５を制御することにより、ロボット１００の動作を制御する。自律動作制御部１８３は、測域センサ１３０Ｄ及び赤外線測距センサ１３０Ｅにより取得されるデータに基づいて、ロボット１００の動作を制御する。自律動作制御部１００は、例えば、ロボット１００が物体と衝突することを回避するように、測域センサ１３０Ｄ及び赤外線測距センサ１３０Ｅにより取得されるデータに基づいて、走行管理部１８５を常時制御する。また、自律動作制御部１８３は、ロボット１００を警備モード及び緊急モードで動作させる。具体的には、自律動作制御部１８３は、例えば、所定の時刻に到達すると、警備モードを起動し、フロア内の警備を開始するための走行ルートの生成及び警備巡回を走行管理部１８５に指示する。あるいは、自律動作制御部１８３は、温度センサ１３０Ｇにより取得されるオフィスビル内の温度のデータに基づいて、フロア内の火災などを検知した場合には、緊急モードを起動し、フロア内の安全を確保するために、フロア内にいる人の避難を促す音声の合成を音声合成部１８４に指示するとともに、非常口までの走行ルートの生成及び非常口までの先導を走行管理部１８５に指示する。
【００３４】
音声合成部１８４は、音声合成プログラム１７０ｉを実行することにより、上記動作制御部１８２又は上記自律動作制御部１８３からの指示に対応する音声を合成する。音声合成部１８４は、合成した音声をスピーカ１２０から出力する。走行管理部１８５は、走行管理プログラム１７０ｊを実行することにより、上記動作制御部１８２又は上記自律動作制御部１８３からの指示に対応する走行ルートのデータを、記憶部１７０に記憶されているフロアデータ１７０ｋを参照して生成する。走行管理部１８５は、生成した走行ルートに沿って移動するように、モータ駆動部１４０を制御する。
【００３５】
また、図２に示すように、制御部１８０は、電源管理部１８６を有する。電源管理部１８６は、電源管理プログラム１７０ｄを実行することにより、バッテリ１５０に蓄えられている電力を管理する。電源管理部１８６は、バッテリ１５０に蓄えられている電力の残量が所定値以下となった場合には、通信部１６０を介して、ロボット制御サーバ２００に対し、メッセージを送信する。
【００３６】
［ロボット制御サーバの構成］
図３は、ロボット制御サーバ２００の機能構成を示すブロック図である。図３に示すように、ロボット制御サーバ２００は、通信部２１０と、媒体読取部２２０と、記憶部２３０と、制御部２４０とを有する。
【００３７】
通信部２１０は、所定の通信プロトコルに基づいて、ロボット１００との間でやり取りされる各種データの送受信を制御する。媒体読取部２２０は、光ディスク、光磁気ディスク、メモリカード等の可搬の非一過的（non-transitory）な記憶媒体からプログラムやデータを読み取る。
【００３８】
記憶部２３０は、磁気記憶装置または半導体記憶装置等の不揮発性を有する記憶装置を備え、各種のプログラムおよびデータを記憶する。記憶部２３０に記憶されるプログラムには、データ処理プログラム２３０ａ、動作決定プログラム２３０ｂ、及びデータ学習プログラム２３０ｃが含まれる。記憶部２３０に記憶されるデータには、オブジェクト管理データ２３０ｄ、画像データ２３０ｅ、属性データ２３０ｆ、環境データ２３０ｇ、動作決定処理用データ２３０ｈ、及びロボット設置フロアデータ２３０ｉが含まれる。
【００３９】
データ処理プログラム２３０ａは、後述するデータ処理部２４１により実行される処理を実現するための機能を提供する。例えば、データ処理部プログラム２３０ａは、ロボット１００から受信した画像データと、記憶部２３０に記憶されている画像データ２３０ｅとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、ロボット１００から受信した画像データ及び属性データを、類似画像データと同一のオブジェクト管理データ２３０ｄに紐付けて、記憶部２３０に格納する処理を実現するための機能を提供する。
【００４０】
動作決定プログラム２３０ｂは、後述する動作決定部２４２により実行される処理を実現するための機能を提供する。例えば、動作決定プログラム２３０ｂは、ロボット１００から受信した画像データと、記憶部２３０に記憶されている画像データ２３０ｅとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、類似画像データに対応する属性データ２３０ｆに基づいて、ロボット１００の動作内容を決定する処理を実現するための機能を提供する。
【００４１】
データ学習プログラム２３０ｃは、後述するデータ学習部２４３により実行される処理を実現するための機能を提供する。例えば、データ学習プログラム２３０ｃは、記憶部２３０に記憶されている画像データ２３０ｅ及び属性データ２３０ｆを所定のルールに従って削除する処理を実現するための機能を提供する。
【００４２】
オブジェクト管理データ２３０ｄは、画像データ２３０ｅと属性データ２３０ｆとの対応関係を管理するためのデータである。図４は、オブジェクト管理データのデータ構成の一例を示す図である。図４に示すように、オブジェクト管理データ２３０ｄは、オブジェクトごとに付与される固有のＩＤと、オブジェクトに含まれる画像の種別のデータとを対応付けて構成される。図４に示す例では、例えば、ＩＤ“ＯＢ００１”と、種別“人間”とが対応付けられている。本実施例において、オブジェクトとは、画像データ２３０ｅと属性データ２３０ｆとの組合せに該当する。ＩＤ及び種別は、後述するデータ処理部２４１により付与される。
【００４３】
図５は、オブジェクト管理データ、画像データ及び属性データの接続関係を示す図である。図５に示すように、後述する画像データ２３０ｅ及び属性データ２３０ｆは、オブジェクト管理データ２３０ｄに紐付けられる。このように、オブジェクト管理データ２３０ｄによって、画像データ２３０ｅと属性データ２３０ｆとの対応関係が管理される。
【００４４】
画像データ２３０ｅは、ロボット１００から取得される物体の画像データである。画像データには、人の顔が映し出された顔画像データと、人以外の物体が映し出された物体画像データが含まれる。図６は、画像データのデータ構成の一例を示す図である。図６に示すように、画像データ２３０ｅは、組織データ及び場所データごとに、複数の画像データを記憶して構成される。画像データ２３０ｅは、組織（例えば、ＡＡ）及び場所（例えば、Ｌ０１）のデータに対応付けて、例えば、相互に類似する複数の画像データを集約して構成される。本実施例では、組織及び場所に対応付けて、相互に類似する画像を集約して画像データ２３０ｅを構成する例を説明するが、場所のみに対応付けて、相互に類似する画像データを集約して構成してもよいし、組織及び場所に対応付けることなく、相互に類似する画像データを集約して構成してもよい。
【００４５】
属性データ２３０ｆは、ロボット１００から取得される画像データ以外の各種データを含んで構成される。属性データ２３０ｆには、ロボット１００から取得される組織、場所、及び名前のデータが含まれる。さらに、属性データ２３０ｆには、ロボット１００で取得される画像データを解析することにより、画像データから抽出される性別、年齢、表情のデータが含まれる。さらに、属性データ２３０ｆには、後述するデータ処理部２４１により付与される検出回数、及び最終検出日のデータが含まれる。検出回数は、後述するデータ処理部２４１により、ロボット１００から取得した画像データと、記憶部２３０に格納済みの画像データとの照合が行われるたびに、類似度が閾値以上である類似画像データが記憶部２３０に格納済みの画像データの中から検出されることを条件として、加算される回数のデータである。記憶部２３０に格納済みの画像データの中に、類似画像データが１つでも検出された場合には、検出回数として１が加算される。最終検出日は、後述するデータ処理部２４１により、上記類似画像データが検出された最終の日付を示すデータである。最終検出日は、後述するデータ処理部２４１により、ロボット１００から取得した画像データと、記憶部２３０に格納済みの画像データとの照合が行われ、上記類似画像データが検出されるたびに、検出が行われた最新に日付に更新される。図７は、属性データのデータ構成の一例を示す図である。図７に示すように、属性データ２３０ｆは、組織データ及び場所データごとに、検出回数、最終検出日、性別、年齢、表情の各データを記憶して構成される。例えば、組織“ＡＡ”、場所“Ｌ０１”、名前“サトウ”、性別“男性”、年齢“４８”、表情“真剣”、検出回数“５”、最終検出日“２０１３／１／１５”が対応付けて記憶されている。本実施例では、組織データ及び場所データに対応付けて、属性データ２３０ｆを構成する例を説明するが、場所データのみに対応付けて、属性データ２３０ｆを構成してもよい。なお、本実施例では、属性データ２３０ｆとして、上記検出回数を記憶する例を説明したが、検出回数の代わりに、一定期間内の検出回数である検出頻度を用いてもよい。
【００４６】
環境データ２３０ｇは、ロボット１００で取得される環境データである。図８は、環境データのデータ構成の一例を示す図である。図８に示すように、環境データ２３０ｇは、組織、場所、物体形状、照度、温度、湿度、日時の各データを対応付けて構成される。
【００４７】
動作決定処理用データ２３０ｈは、後述する動作決定部２４２による処理に利用されるデータである。図９及び図１０は、動作決定処理用データのデータ構成の一例を示す図である。動作決定処理用データ２３０ｈは、図９に示す定時モード時の参照データと、図１０に示す巡回モード時の参照データとで構成される。定時モードは、例えば、所定の時間帯におけるロボットの動作態様を決定するモードであり、巡回モードは、例えば、定時モード以外の時間帯におけるロボットの動作態様を決定するモードである。
【００４８】
図９に示すように、定時モード時の動作決定処理用データ２３０ｈは、検出回数に対応付けて、時間帯ごとの挨拶の内容及び移動場所のデータを記憶して構成される。検出回数は、上記属性データ２３０ｆを構成する検出回数に対応する。図９に示すように、定時モード時の動作決定処理用データ２３０ｈでは、ロボット１００に実行させる動作内容として挨拶及び移動が設定されている。そして、図９に示すように、定時モード時の動作決定処理用データ２３０ｈにおいて、ロボット１００により取得された画像データに映し出されているのが人間で、該当の人（若しくは、類似する人）の検出回数（Ｎ）が５回以上１０回未満である場合、ロボット１００に実行させる挨拶の内容として、８〜９時の時間帯には「おはようございます。」が対応付けられている。さらに、ロボットに実行させる移動の場所として、８〜９時の時間帯には、例えば、「エレベータフロア」が対応付けられている。同様に、例えば、１１〜１３時の時間帯には、挨拶の内容として「こんにちは。」が対応付けられおり、移動場所として「食堂」が対応付けられている。同様に、例えば、１７〜１９時の時間帯には、挨拶の内容として「こんばんは。」が対応付けられており、移動場所として「エレベータフロア」が対応付けられている。
【００４９】
また、図９に示すように、定時モード時の動作決定処理用データ２３０ｈにおいて、検出回数（Ｎ）が１０以上である場合、ロボット１００に実行させる挨拶の内容として、例えば、８〜９時の時間帯には「おはようー」が対応付けられている。さらに、ロボットに実行させる移動の場所として、８〜９時の時間帯には、「エレベータフロア」が対応付けられている。同様に、１１〜１３時の時間帯には、挨拶の内容として「元気？」が対応付けられおり、移動場所として「食堂」が対応付けられている。同様に、１７〜１９時の時間帯には、挨拶の内容として「おつかれさまー」が対応付けられおり、移動場所として「エレベータフロア」が対応付けられている。
【００５０】
このように、図９に示す定時モード時の動作決定処理用データ２３０ｈでは、検出回数が増えるに従って、より砕けた挨拶が設定されており、該当の時間帯において、人の数が多い推測される移動場所が設定されている。すなわち、検出回数が多いほど、あたかも、知人に対するような親密な振る舞いを取らせるように、ロボット１００に実行される動作内容が設定されている。
【００５１】
また、図９に示す定時モード時の動作決定処理用データ２３０ｈでは、ロボット１００に実行させる動作内容として、挨拶が設定される例を示しているが、挨拶に加えて、人の名前の発話を、ロボット１００に実行させる動作として設定してもよい。例えば、検出回数が閾値以上である場合に、挨拶の前に、属性データに含まれる名前を発話させるようにする。また、属性データに含まれる表情に応じた発話を、ロボットに実行させる動作として設定してもよい。例えば、属性データに含まれる表情が“笑顔”である場合に対する発話内容、表情が“真剣”である場合に対応する発話内容などを設定してもよい。このようにすることで、より親密な振る舞いをロボット１００に実行させることができる。
【００５２】
図１０に示すように、巡回モード時の動作決定処理用データ２３０ｈは、検出回数に対応付けて、時間帯ごとの挨拶の内容及び移動場所のデータを記憶して構成される。図１０に示すように、巡回モード時の動作決定処理用データ２３０ｈは、属性データに含まれる名前の項目に対応するデータの有無に応じて、挨拶内容または問いかけの内容、及び問いかけに対する回答入力時の応答内容のデータを記憶して構成される。図１０に示すように、巡回モード時の動作決定処理用データ２３０ｈでは、ロボット１００に指示する動作内容として、挨拶または問いかけが設定されている。そして、図１０に示すように、巡回モード時の動作決定処理用データ２３０ｈにおいて、ロボット１００により取得された画像データに映し出されているのが人間で、該当の人（若しくは、類似する人）の名前が属性データ２３０ｆに含まれる名前の項目に記憶されている場合、ロボット１００に実行させる動作内容として挨拶が設定されている。挨拶の内容には「おつかれさまです。」が設定されている。
【００５３】
一方、巡回モード時の動作決定処理用データ２３０ｈにおいて、ロボット１００により取得された画像データに映し出されているのが人間で、該当の人（若しくは、類似する人）の名前が属性データ２３０ｆに含まれる名前の項目に記憶されていない場合、ロボット１００に実行させる動作内容として問いかけが設定されている。問いかけの内容には「はじめまして。お名前は？」が設定されている。また、図１０に示すように、巡回モード時の動作決定処理用データ２３０ｈにおいて、ロボット１００により取得された画像データに映し出されているのが人間以外の物体で、該当の物体（若しくは、類似する物体）の名前が属性データ２３０ｆに含まれる名前の項目に記憶されていない場合、ロボット１００に実行させる動作内容として問いかけが設定されている。問いかけの内容には、「これの名称を教えてください。」が設定されている。さらに、問いかけに対する回答の入力があった場合に、ロボットに実行させる動作内容として応答が設定されており、応答の内容には「ありがとうございます。」が設定されている。
【００５４】
このように、図１０に示す巡回モード時の動作決定処理用データ２３０ｈでは、ロボット１００が取得した画像データに紐付けられた属性データに、名前の項目に対するデータが記憶されていない場合には、ロボット１００に対して積極的に名前を取得させるための動作内容が設定されている。なお、属性データ２３０ｆとして、上記検出回数の代わりに検出頻度を用いる場合には、図９及び図１０に示す動作決定処理用データ２３０ｈとして、検出頻度に対応付けて時間帯ごとの挨拶の内容及び移動場所のデータを記憶する。
【００５５】
ロボット設置フロアデータ２３０ｉは、ロボット１００が設置されるオフィスビルのフロアのデータである。
【００５６】
制御部２４０は、演算装置であるＣＰＵ（Central  Processing  Unit）、及び記憶装置であるメモリなどのハードウェア資源を備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。図３に示すように、制御部２４０は、データ処理部２４１、動作決定部２４２及びデータ学習部２４３を有する。
【００５７】
データ処理部２４１は、データ処理プログラム２３０ａを実行することにより、ロボット１００により取得されたデータを格納する処理を実行する。データ処理部２４１により実行される処理には、画像データ格納処理、属性データ格納処理及び環境データ格納処理が含まれる。データ処理部２４１は、ロボット１００から受信した画像データと、記憶部２３０に記憶されている画像データ２３０ｅとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、ロボット１００から受信した画像データ及び属性データを、類似画像データと同一のオブジェクト管理データ２３０ｄに紐付けて、記憶部２３０に格納する。
【００５８】
［画像データの格納］
画像データの格納について具体的に説明すると、データ処理部２４１は、ロボット１００から送信されたデータを受信する。ロボット１００から受信するデータ（以下、データセット）には、組織データ、場所データ、画像データ、文字データ、及び環境データが含まれる。データ処理部２４１は、ロボット１００から受信したデータセットから、組織データ、場所データ、及び画像データを取得する。続いて、データ処理部２４１は、記憶部２３０に格納済みの画像データがある場合、データセットから取得した組織データ及び場所データと、組織及び場所が同一である画像データが、格納済みの画像データに含まれているかを判定する。データ処理部２４１は、判定の結果、組織及び場所が同一である画像データが含まれている場合には、データセットから取得した画像データと、組織及び場所が同一である画像データのそれぞれとを照合する。そして、データ処理部２４１は、組織及び場所が同一である画像データの中に、類似度が閾値以上の類似画像データがあるかを判定する。
【００５９】
データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがある場合には、類似画像データに紐付くオブジェクト管理データを記憶部２３０（のオブジェクト管理データ２３０ｄ）から取得する。続いて、データ処理部２４１は、類似画像データが記憶されている記憶部２３０の領域（同一の組織及び場所に対応付けられる領域）に、データセットから取得した画像データを格納するための領域を生成する。そして、データ処理部２４１は、生成した領域に、データセットから取得した画像データを、類似画像データに紐付くオブジェクト管理データに対応付けて格納する。
【００６０】
一方、データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがない場合には、オブジェクト管理データを新たに生成する。オブジェクト管理データには、一意に付与されるＩＤのデータと、画像データから判別される種別のデータとで構成される。続いて、データ処理部２４１は、データセットから取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に生成する。そして、データ処理部２４１は、生成した領域に、データセットから取得した画像データ、組織データ及び場所データを、オブジェクト管理データに紐付けて格納する。
【００６１】
また、データ処理部２４１は、組織及び場所が同一である画像データの中に、類似度が閾値以上の類似画像データがあるかを判定した結果、組織及び場所が同一である画像データの中に、類似度が閾値以上の類似画像データがない場合には、記憶部２３０に格納済みの画像データのそれぞれと、データセットから取得した画像データを照合する。そして、データ処理部２４１は、記憶部２３０に格納済みの画像データの中に、類似度が閾値以上の類似画像データがあるかを判定する。
【００６２】
データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがある場合には、類似画像データに紐付くオブジェクト管理データを記憶部２３０（のオブジェクト管理データ２３０ｄ）から取得する。続いて、データ処理部２４１は、類似画像データが記憶されている記憶部２３０の領域に、データセットから取得した画像データ、組織データ及び場所データを格納するための領域を生成する。そして、データ処理部２４１は、生成した領域に、データセットから取得した画像データ、組織データ及び場所データを、類似画像データに紐付くオブジェクト管理データに対応付けて格納する。すなわち、データ処理部２４１は、ロボット１００からデータセットを受信するたびに、データセットに含まれる画像データと類似する画像データが格納済みである場合には、類似する画像データが記憶部２３０に格納されている領域の中で、同一の組織および場所に対応付けられている箇所に逐次記憶部２３０に格納する。
【００６３】
一方、データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがない場合には、オブジェクト管理データを新たに生成する。続いて、データ処理部２４１は、データセットから取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に生成する。そして、データ処理部２４１は、生成した領域に、データセットから取得した画像データ、組織データ及び場所データを、オブジェクト管理データに紐付けて格納する。
【００６４】
また、データ処理部２４１は、記憶部２３０に格納済みの画像データがあるかを判定した結果、記憶部２３０に格納済みの画像データがない場合には、オブジェクト管理データを新たに生成する。続いて、データ処理部２４１は、データセットから取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に生成する。そして、データ処理部２４１は、生成した領域に、データセットから取得した画像データ、組織データ及び場所データを、オブジェクト管理データに紐付けて格納する。
【００６５】
上述してきたように、データ処理部２４１は、類似する画像データを、同一のオブジェクト管理データに紐付けるとともに、同一の組織及び場所ごとに分けて記憶部２３０に格納する。
【００６６】
［属性データの格納］
次に、属性データの格納について具体的に説明する。画像データの格納が完了すると、データ処理部２４１は、ロボット１００から受信したデータセットに含まれる画像データが顔画像データである場合には、画像データの解析処理を実行し、性別、年齢、表情を判別する。例えば、データ処理部２４１は、記憶部２３０に予め記憶される顔認識用データ（図示せず）に基づいて、画像データに映し出される顔の性別、年齢、表情を判別する。顔認識用データは、例えば、顔のパーツの相対位置や大きさ、目や鼻、ほお骨やあごの形などの特徴箇所に基づいて、性別、年齢、表情を判別するためのデータである。なお、データ処理部２４１は、画像データが顔画像であるか、物体画像であるかをロボット１００との間で予め取り決められた識別情報などで判別してもよいし、画像データの認識を行って判別してもよい。
【００６７】
続いて、データ処理部２４１は、ロボット１００から受信したデータセットに文字データが含まれているかを判定し、文字データが含まれている場合には、データセットから文字データを抽出する。
【００６８】
続いて、データ処理部２４１は、画像データ格納処理において、同一の組織及び場所に対応する類似画像データが検出されたかを判定する。データ処理部２４１は、画像データ格納処理において、同一の組織及び場所に対応する類似画像データが検出されていた場合には、類似画像データに紐付けられている属性データが記憶されている記憶部２３０の領域を特定する。続いて、データ処理部２４１は、特定した領域内に、同一の組織及び場所に対応する新たな領域を生成する。続いて、データ処理部２４１は、生成した領域に、データセットに含まれる画像データから判別した性別、年齢、表情のデータ、及びデータセットから抽出した文字データを格納する。続いて、データ処理部２４１は、類似画像データに紐付けられている属性データに含まれる検出回数を１加算し、さらに最終検出日を更新する。検出回数は、データ処理部２４１により、ロボット１００から取得した画像データと、記憶部２３０に格納済みの画像データとの照合が行われるたびに、類似度が閾値以上である類似画像データが記憶部２３０に格納済みの画像データの中から検出されることを条件として、加算される回数のデータである。記憶部２３０に格納済みの画像データの中に、類似画像データが１つでも検出された場合には、検出回数として１が加算される。最終検出日は、データ処理部２４１により、上記類似画像データが検出された最終の日付を示すデータである。最終検出日は、データ処理部２４１により、ロボット１００から取得した画像データと、記憶部２３０に格納済みの画像データとの照合が行われ、上記類似画像データが検出されるたびに、検出が行われた最新に日付に更新される。
【００６９】
一方、データ処理部２４１は、画像データ格納処理において、類似画像データが検出されていなかった場合には、属性データを格納するための領域を記憶部２３０に新たに生成する。続いて、データ処理部２４１は、生成した領域に、データセットに含まれる組織データ及び場所データを格納する。続いて、データ処理部２４１は、データセットに含まれる画像データから判別した性別、年齢、表情のデータ、及びデータセットから抽出した文字データを格納する。続いて、データ処理部２４１は、検出回数のデータを格納し、さらに最終検出日のデータを格納する。そして、画像データ格納処理において、対応する画像データに紐付けられているオブジェクト管理データを属性データに紐付ける。なお、データ処理部２４１は、検出回数の代わりに検出頻度を用いる場合には、検出頻度を再計算して格納する。
【００７０】
［環境データの格納］
次に、環境データの格納について具体的に説明する。属性データの格納が完了すると、データ処理部２４１は、ロボット１００から受信したデータセットに含まれる組織データ、場所データ、及び環境データを取得するとともに、データセットの受信日時のデータを取得する。そして、データ処理部２４１は、組織データ、場所データ、及び環境データと、受信日時のデータとを対応付けて記憶部２３０に格納する。
【００７１】
動作決定部２４２は、動作決定プログラム２３０ｂを実行することにより、ロボット１００の動作を制御する。ロボット１００から受信した画像データと、記憶部２３０に記憶されている画像データ２３０ｅとの照合を行い、類似度が閾値を超える類似画像データが検出された場合には、類似画像データに対応する属性データに基づいて、ロボット１００の動作内容を決定する処理を実行する。
【００７２】
具体的に説明すると、動作決定部２４２は、ロボット１００から受信したデータセットから、組織データ、場所データ、及び画像データを取得する。続いて、動作決定部２４２は、記憶部２３０に格納済みの画像データがある場合、データセットから取得した組織データ及び場所データと、組織及び場所が同一である画像データが、格納済みの画像データに含まれているかを判定する。動作決定部２４２は、判定の結果、組織及び場所が同一である画像データが含まれている場合には、データセットから取得した画像データと、組織及び場所が同一である画像データのそれぞれとを照合する。そして、動作決定部２４２は、組織及び場所が同一である画像データの中に、類似度が閾値以上の類似画像データがあるかを判定する。
【００７３】
動作決定部２４２は、判定の結果、類似度が閾値以上の類似画像データがある場合には、類似画像データに紐付くオブジェクト管理データを記憶部２３０（のオブジェクト管理データ２３０ｄ）から取得する。続いて、動作決定部２４２は、オブジェクト管理データに紐付く属性データを取得する。続いて、動作決定部２４２は、現在時刻に基づいて、ロボット１００の動作モードを決定し、動作モードに基づいてロボットの動作を決定する。そして、動作決定部２４２は、決定した動作の実行命令（コマンド）をロボット１００に送信する。
【００７４】
一例を挙げれば、動作決定部２４２は、例えば、現在時刻が８時３５分である場合には、動作モードを定時モードに決定し、記憶部２３０に記憶されている動作決定処理用データ２３０ｈの中から、定時モードに対応する動作決定処理用データ（図９参照）を取得する。続いて、動作決定部２４２は、属性データに含まれる検出回数の項目を参照し、検出回数が５回以上１０回未満である場合には、動作決定部２４２は、図９に示す動作決定処理用データに基づいて、挨拶の内容「おはようございます。」、及び移動場所「エレベータフロア」を、ロボットに実行させる動作として決定する。そして、動作決定部２４２は、挨拶の内容と移動場所を指定するコマンドを、ロボット１００に送信する。なお、動作決定部２４２は、検出回数の代わりに検出頻度を用いる場合には、検出頻度に対応する動作をロボットに実行させる動作として決定する。
【００７５】
あるいは、動作決定部２４２は、例えば、現在時刻が１０時００分である場合には、動作モードを巡回モードに決定し、記憶部２３０に記憶されている動作決定処理用データ２３０ｈの中から、巡回モードに対応する動作決定処理用データ（図１０参照）を取得する。続いて、動作決定部２４２は、属性データに含まれる名前の項目を参照し、名前の項目に対応するデータが格納されていない場合には、動作決定部２４２は、図１０に示す動作決定処理用データに基づいて、問いかけ「はじめまして。お名前は？」、及び応答「ありがとうございます。」を、ロボット１００に実行させる動作として決定する。そして、動作決定部２４２は、問いかけの内容と回答の内容を指定するコマンドを、ロボット１００に送信する。
【００７６】
動作決定部２４２は、組織及び場所が同一である画像データの中に、類似度が閾値以上の類似画像データがあるかを判定した結果、類似度が閾値以上の類似画像データがない場合には、ロボット１００に実行させる動作の決定を行わない。あるいは、動作決定部２４２は、記憶部２３０に記憶されている画像データのそれぞれと、データセットから取得した画像データとを照合して、類似画像データがある場合には、上記と同様の動作決定を行ってもよい。
【００７７】
動作決定部２４２は、記憶部２３０に格納済みの画像データがない場合も、ロボット１００に実行させる動作の決定を行わない。
【００７８】
データ学習部２４３は、データ学習プログラム２３０ｃを実行することにより、記憶部２３０に記憶されている画像データ２３０ｅ、属性データ２３０ｆ及びオブジェクト管理データ２３０ｄを所定のルールに従って削除する処理を実行する。
【００７９】
具体的に説明すると、データ学習部２４３は、記憶部２３０に記憶されているオブジェクト管理データ２３０ｄの中から、処理対象とするオブジェクト管理データ（処理対象データ）を１つ決定する。データ学習部２４３は、予め設定された所定のタイミングで処理を実行する。続いて、データ学習部２４３は、処理対象データに紐付けられている属性データを取得し、取得した属性データから検出回数を取得する。
【００８０】
続いて、データ学習部２４３は、検出回数が閾値未満である属性データがあるかを判定する。閾値には、任意の値を設定することができる。データ学習部２４３は、判定の結果、検出回数が閾値未満である属性データがある場合には、該当の属性データ及び対応する画像データを記憶部２３０から全て削除する。
【００８１】
そして、データ学習部２４３は、処理を完了するかを判定し、処理を完了しない場合には、再び、記憶部２３０に記憶されているオブジェクト管理データ２３０ｄの中から、処理対象とするオブジェクト管理データ（処理対象データ）を１つ決定する。これとは反対に、データ学習部２４３は、処理を完了する場合には、処理を終了する。
【００８２】
データ学習部２４３は、検出回数が閾値未満である属性データがあるかを判定した結果、検出回数が閾値未満である属性データがない場合には、処理対象データに紐付けられている属性データから、最終検出日を取得する。続いて、データ学習部２４３は、最終検出日が現在の日付よりも所定の日数以上前である属性データがあるかを判定する。
【００８３】
データ学習部２４３は、判定の結果、最終検出日が現在の日付よりも所定の日数以上前の属性データがある場合には、該当の属性データ及び対応する画像データを記憶部２３０から全て削除する。そして、データ学習部２４３は、処理を完了するかを判定する。
【００８４】
一方、データ学習部２４３は、判定の結果、最終検出日が現在の日付よりも所定の日数以上前の属性データがない場合には、記憶部２３０に記憶されている画像データ２３０ｅの中から、処理対象データに紐付けられている画像データを全て取得する。続いて、データ学習部２４３は、画像データ間の類似度を判定する。そして、データ学習部２４３は、類似度が閾値未満である画像データ、及び対応する属性データを記憶部２３０から削除する。そして、データ学習部２４３は、処理を完了するかを判定する。
【００８５】
図１１〜図１４は、データ処理部により格納されたデータ、及びデータ学習部により一部が削除されたデータの例を示す図である。
【００８６】
図１１は、例えば、記憶部２３０に画像データが格納されていない場合、あるいは記憶部２３０に類似画像データが記憶されていない場合のデータの例を示している。図１１に示すように、データ処理部２４１により、オブジェクト管理データ２３０ｄの１つであるＩＤ“ＯＢ０９９”及び種別“人間”で構成されるオブジェクト管理データに紐付けて、組織“ＡＡ”、場所“Ｌ０１”、及びある人物の顔画像で構成される画像データが、画像データ２３０ｅとして記憶部２３０に格納されている。同様に、データ処理部２４１により、ＩＤ“ＯＢ０９９”及び種別“人間”で構成されるオブジェクト管理データに紐付けて、組織“ＡＡ”、場所“Ｌ０１”、検出回数“１”、最終検出日“２０１２／１０／１２”、名前“サトウ”、性別“男性”、年齢“４５”、表情“笑顔”で構成される属性データが、属性データ２３０ｆとして記憶部２３０に格納されている。
【００８７】
図１２は、例えば、同一のオブジェクト管理データに紐付けて、複数の画像データ（顔画像データ）及び属性データが記憶部２３０に格納されている場合のデータの例である。図１２に示すように、データ処理部２４１により、オブジェクト管理データ２３０ｄの１つであるＩＤ“ＯＢ０９９”及び種別“人間”で構成されるオブジェクト管理データに紐付けて、組織“ＡＡ”、場所“Ｌ０１”、及びある人物の複数の顔画像で構成される画像データが、画像データ２３０ｅとして記憶部２３０に格納されている。画像データに含まれる複数の顔画像は相互に類似する画像である。同様に、データ処理部２４１により、ＩＤ“ＯＢ０９９”及び種別“人間”で構成されるオブジェクト管理データに紐付けて、組織、場所、検出回数、最終検出日、名前、性別、年齢、表情で構成される複数の属性データが、属性データ２３０ｆとして記憶部２３０に格納されている。図１２に示す複数の画像データと、複数の属性データとは、相互に対応関係が判定可能な状態でオブジェクト管理データにより紐付けられているものとする。
【００８８】
図１３は、図１２に示すデータの一部がデータ学習部２４３により削除された場合のデータの例である。図１３に示すように、組織“ＡＡ”及び場所“Ｌ０１”に対応する画像データの一部と、組織“ＢＢ”及び場所“Ｌ９１”に対応する画像データの全部及び属性データの一部が削除されている。
【００８９】
図１４は、例えば、同一のオブジェクト管理データに紐付けて、複数の画像データ（物体画像データ）及び属性データが記憶部２３０に格納されている場合のデータの例である。図１４に示すように、データ処理部２４１により、オブジェクト管理データ２３０ｄの１つであるＩＤ“ＯＢ０８６”及び種別“物”で構成されるオブジェクト管理データに紐付けて、組織“ＡＡ”、場所“Ｌ０１”、及び複数の物画像で構成される物体画像データが、画像データ２３０ｅとして記憶部２３０に格納されている。画像データに含まれる複数の物画像は相互に類似する画像である。同様に、データ処理部２４１により、ＩＤ“ＯＢ０８６”及び種別“物”で構成されるオブジェクト管理データに紐付けて、組織、場所、検出回数、最終検出日、名前、色、設置位置で構成される複数の属性データが、属性データ２３０ｆとして記憶部２３０に格納されている。図１４に示す複数の画像データと、複数の属性データとは、相互に対応関係が判定可能な状態でオブジェクト管理データにより紐付けられているものとする。
【００９０】
図１５及び図１６は、記憶部に記憶されているデータの共有範囲を説明するための図である。共有範囲とは、例えば、動作決定部２４２が処理を実行する場合に、記憶部２３０に記憶されているデータを参照する範囲に該当する。
【００９１】
図１５に示すように、記憶部２３０に記憶されている画像データ２３０ｅは、全体で共有される。また、記憶部２３０に記憶されている属性データ２３０ｆは、全体で共有されるもの、一部で共有されるものがある。具体的には、属性データ２３０ｆに含まれる項目のうち、性別及び年齢は、全体で共有される。属性データ２３０ｆに含まれる項目のうち、検出回数、最終検出日及び表情は、同一の場所である場合に共有される。属性データ２３０ｆに含まれる項目のうち、名前は、同一の組織である場合に共有される。図１５に示す共有範囲のうち、全体で共有されるデータを概念的に図示すると、図１６に点線で囲み箇所となる。よって、動作決定部２４２は、例えば、組織“ＢＢ”、場所“Ｌ９１”を含むデータセットをロボット１００から受信した場合に、データセットに含まれる画像データと、記憶部２３０に記憶されている全ての画像データとの照合を行うことができる。このため、画像データが撮影された場所が異なる場合でも、ロボット１００に対して動作を指示するコマンドを送信することができる。この結果、例えば、画像データに映し出された顔画像に対応する名前などをロボット１００に取得させることができ、属性データに追加して格納することが可能となる。なお、照合の順序は、同一の組織及び場所に対応付けられている画像データから始めるのが望ましい。
【００９２】
［ロボット制御サーバ２００による処理］
図１７〜図３５を用いて、本実施例に係るロボット制御サーバにより実行される処理について説明する。
【００９３】
［データ格納処理］
図１７は、データ処理部により実行されるデータ格納処理の流れを示すフローチャートである。図１８は、ロボットから受信するデータセットの概念構成の一例を示す図である。図１７に示す処理は、データ処理部２４１が、記憶部２３０からデータ処理プログラム２３０ａを読み込んで実行される。
【００９４】
図１７に示すように、データ処理部２４１は、ロボット１００からデータセットを受信すると（ステップＳ１０１）、画像データ格納処理を実行する（ステップＳ１０２）。図１８に示すように、ロボット１００から受信するデータセットには、組織データ、場所データ、画像データ（顔画像データ又は物体画像データ）、文字データ、環境データが含まれる。文字データは、含まれていない場合もある。画像データ格納処理が完了すると、データ処理部２４１は、続いて、属性データ格納処理を実行する（ステップＳ１０３）。属性データ格納処理を完了すると、データ処理部２４１は、続いて、環境データ格納処理を実行し（ステップＳ１０４）、処理を終了する。
【００９５】
［画像データ格納処理］
図１９〜図２５を用いて、データ処理部により実行される画像データ格納処理について説明する。図１９、図２２、図２５は、データ処理部により実行される画像データ格納処理の流れを示すフローチャートである。図２０、図２１、図２３、図２４は、データ処理部により実行される画像データ格納処理の説明に用いる図である。
【００９６】
図１９に示すように、データ処理部２４１は、ロボット１００から受信したデータセットから、組織データ、場所データ及び画像データを取得する（ステップＳ２０１）。続いて、データ処理部２４１は、記憶部２３０に、格納済みの画像データがあるかを判定する（ステップＳ２０２）。
【００９７】
データ処理部２４１は、判定の結果、記憶部２３０に、格納済みの画像データがある場合には（ステップＳ２０２，Ｙｅｓ）、続いて、組織及び場所が同一である画像データがあるかを判定する（ステップＳ２０３）。なお、データ処理部２４１は、Ｓ２０２の判定を行う場合、まず、Ｓ２０１で取得した画像データが顔画像データであるか、物体画像データであるかを判別する。そして、データ処理部２４１は、顔画像データである場合には、記憶部２３０に記憶されている画像データの中から、組織及び場所が同一である顔画像データを検索し、物体画像データである場合には、組織及び場所が同一である物体画像データを検索する。
【００９８】
データ処理部２４１は、判定の結果、組織及び場所が同一である画像データがある場合には（ステップＳ２０３，Ｙｅｓ）、組織及び場所が同一である画像データのそれぞれと、Ｓ２０１で取得した画像データとを照合する（ステップＳ２０４）。続いて、データ処理部２４１は、類似度が閾値以上である類似画像データがあるかを判定する（ステップＳ２０５）。
【００９９】
データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがある場合には（ステップＳ２０５，Ｙｅｓ）、類似画像データに紐付くオブジェクト管理データを、記憶部２３０に記憶されているオブジェクト管理データ２３０ｄの中から取得する（ステップＳ２０６）。
【０１００】
続いて、データ処理部２４１は、類似画像データが記憶されている記憶部２３０の領域（同一の組織及び場所に対応付けられる領域）に、Ｓ２０１で取得した画像データを格納するための領域を生成する（ステップＳ２０７）。そして、データ処理部２４１は、Ｓ２０７で記憶部２３０に生成した領域に、Ｓ２０１で取得した画像データを、Ｓ２０６で取得した類似画像データに紐付くオブジェクト管理データに対応付けて格納し（ステップＳ２０８）、処理を終了する。これまでの処理により、ロボット１００から受信した画像データと、同一の組織及び場所に対応付けられている類似画像データが記憶部２３０にすでに格納済みである場合には、例えば、図２０に示すように、ロボット１００から受信した画像データと類似画像データとが同一のオブジェクト管理データに紐付けられるとともに、記憶部２３０の領域内に集約された状態で記憶される。
【０１０１】
上記Ｓ２０５において、データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがない場合には（ステップＳ２０５，Ｎｏ）、オブジェクト管理データを新たに生成する（ステップＳ２０９）。
【０１０２】
続いて、データ処理部２４１は、Ｓ２０１で取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に新たに生成する（ステップＳ２１０）。そして、データ処理部２４１は、Ｓ２１０で記憶部２３０に生成した領域に、Ｓ２０１で取得した画像データ、組織データ及び場所データを、Ｓ２０９で生成したオブジェクト管理データに紐付けて格納し（ステップＳ２１１）、処理を終了する。これまでの処理により、ロボット１００から受信した画像データと類似する類似画像データが記憶部２３０に格納されていない場合には、図２１に示すように、ロボット１００から受信した画像データが、新たに生成されたオブジェクト管理データに紐付けられた状態で、記憶部２３０の領域内に記憶される。
【０１０３】
上記Ｓ２０３において、データ処理部２４１は、判定の結果、組織及び場所が同一である画像データがない場合には（ステップＳ２０３，Ｎｏ）、図２２に示すように、記憶部２３０に格納済みの画像データのそれぞれと、Ｓ２０１で取得した画像データとを照合する（ステップＳ２１２）。続いて、データ処理部２４１は、類似度が閾値以上の類似画像データがあるかを判定する（ステップＳ２１３）。
【０１０４】
データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがある場合には（ステップＳ２１３，Ｙｅｓ）、類似画像データに紐付くオブジェクト管理データを、記憶部２３０に記憶されているオブジェクト管理データ２３０ｄの中から取得する（ステップＳ２１４）。
【０１０５】
続いて、データ処理部２４１は、Ｓ２０１で取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に生成する（ステップＳ２１５）。そして、データ処理部２４１は、Ｓ２１５で記憶部２３０に生成した領域に、Ｓ２０１で取得した画像データ、組織データ及び場所データを、Ｓ２１４で取得したオブジェクト管理データに紐付けて格納し（ステップＳ２１６）、処理を終了する。これまでの処理により、ロボット１００から受信した画像データと、同一の組織及び場所は異なるが類似している類似画像データが記憶部２３０にすでに格納済みである場合には、例えば、図２３に示すように、ロボット１００から受信した画像データと類似画像データとが同一のオブジェクト管理データに紐付けられた状態で、記憶部２３０の領域内に記憶される。
【０１０６】
上記Ｓ２１３において、データ処理部２４１は、判定の結果、類似度が閾値以上の類似画像データがない場合には（ステップＳ２１３，Ｎｏ）、オブジェクト管理データを新たに生成する（ステップＳ２１７）。
【０１０７】
続いて、データ処理部２４１は、Ｓ２０１で取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に新たに生成する（ステップＳ２１８）。そして、データ処理部２４１は、ステップＳ２１８で記憶部２３０に生成した領域に、Ｓ２０１で取得した画像データ、組織データ及び場所データを、Ｓ２１７で生成したオブジェクト管理データに紐付けて格納し（ステップＳ２１９）、処理を終了する。これまでの処理により、ロボット１００から受信した画像データと類似する画像データが記憶部２３０に格納されていない場合には、図２４に示すように、ロボット１００から受信した画像データが、新たに生成されたオブジェクト管理データに紐付けられた状態で、記憶部２３０の領域内に記憶される。
【０１０８】
上記Ｓ２０２において、データ処理部２４１は、判定の結果、記憶部２３０に、格納済みの画像データがない場合には（ステップＳ２０２，Ｎｏ）、図２５に示すように、オブジェクト管理データを新たに生成する（ステップＳ２２０）。続いて、データ処理部２４１は、Ｓ２０１で取得した画像データ、組織データ及び場所データを格納するための領域を記憶部２３０に新たに生成する（ステップＳ２２１）。そして、データ処理部２４１は、Ｓ２２１で記憶部２３０に生成した領域に、Ｓ２０１で取得した画像データ、組織データ及び場所データを、Ｓ２２０で生成したオブジェクト管理データに紐付けて格納し（ステップＳ２２２）、処理を終了する。これまでの処理により、記憶部２３０に、最初の画像データが記憶される。
【０１０９】
［属性データ格納処理］
図２６〜図２８を用いて、データ処理部により実行される属性データ格納処理について説明する。図２６は、データ処理部により実行される属性データ格納処理の流れを示すフローチャートである。図２７及び図２８は、データ処理部により実行される属性データ格納処理の説明に用いる図である。
【０１１０】
図２６に示すように、データ処理部２４１は、図１７のＳ１０１で受信したデータセットに含まれる画像データが顔画像データである場合には、画像データの解析処理を実行し、性別、年齢、表情を判別する（ステップＳ３０１）。
【０１１１】
続いて、データ処理部２４１は、図１７のＳ１０１で受信したデータセットに文字データが含まれているかを判定する（ステップＳ３０２）。データ処理部２４１は、判定の結果、文字データが含まれている場合には（ステップＳ３０２，Ｙｅｓ）、データセットから文字データを抽出する（ステップＳ３０３）。これとは反対に、データ処理部２１４は、判定の結果、文字データが含まれていない場合には（ステップＳ３０２，Ｎｏ）、そのまま、後述するＳ３０４の手順に移る。
【０１１２】
続いて、データ処理部２４１は、画像データ格納処理（図１９、図２２、図２５など参照）において、同一の組織及び場所に対応する類似画像データが検出されたかを判定する（ステップＳ３０４）。
【０１１３】
データ処理部２４１は、判定の結果、画像データ格納処理において、類似画像データが検出されていた場合には（ステップＳ３０４，Ｙｅｓ）、上記図１９のＳ２０６で取得されたオブジェクト管理データ（類似画像データに紐付くオブジェクト管理データ）に紐付く属性データが記憶されている記憶部２３０の領域を特定する（ステップＳ３０５）。
【０１１４】
続いて、データ処理部２４１は、Ｓ３０５で特定した領域内に、同一の組織及び場所に対応する新たな領域を生成する（ステップＳ３０６）。そして、データ処理部２４１は、Ｓ３０６で生成した領域に、Ｓ３０１で判別した性別、年齢、表情のデータ、及びＳ３０３で抽出した文字データを格納する（ステップＳ３０７）。
【０１１５】
続いて、データ処理部２４１は、Ｓ３０６で特定した領域における検出回数を１加算し（ステップＳ３０８）、さらにＳ３０６で特定した領域における最終検出日を更新して（ステップＳ３０９）、処理を終了する。これまでの処理により、ロボット１００から受信した画像データと、同一の組織及び場所に対応付けられている類似画像データが記憶部２３０にすでに格納済みである場合に、例えば、図２７のＤ１に示すように、ロボット１００から受信した画像データから判別される性別、年齢、表情のデータが、類似画像データに対応する属性データが記憶されている記憶部２３０の領域に追加されるとともに、図２７のＤ２に示すように、類似画像データに対応する属性データ内にある検出回数及び最終検出日のデータが更新される。
【０１１６】
上記Ｓ３０４において、データ処理部２４１は、判定の結果、画像データ格納処理において、類似画像データが検出されていない場合には（ステップＳ３０４，Ｎｏ）、属性データを格納するための領域を記憶部２３０に新たに生成する（ステップＳ３１０）。
【０１１７】
続いて、データ処理部２４１は、Ｓ３１０で生成した領域に、Ｓ１０１で受信したデータセットに含まれる組織データ及び場所データを属性データとして記憶部２３０に格納する（ステップＳ３１１）。続いて、データ処理部２４１は、Ｓ３１０で生成した領域に、Ｓ３０１で判別した性別、年齢、表情のデータ、及びＳ３０３で抽出した文字データを属性データとして記憶部２３０に格納する（ステップＳ３１２）。
【０１１８】
続いて、データ処理部２４１は、Ｓ３１０で生成した領域に検出回数のデータを属性データとして記憶部２３０に格納し（ステップＳ３１３）、さらにＳ３１０で生成した領域に最終検出日のデータを属性データとして記憶部２３０に格納する（ステップＳ３１４）。そして、データ処理部２４１は、上記図２２のＳ２１４で取得したオブジェクト管理データ、又は上記図２２のＳ２１７あるいは上記図２５のＳ２２０で生成したオブジェクト管理データと、Ｓ３１１〜Ｓ３１４で格納した属性データとを紐付けて（ステップＳ３１５）、処理を終了する。これまでの処理により、ロボット１００から受信した画像データと、組織及び場所は異なるが類似する類似画像データが記憶部２３０にすでに格納済みである場合には、類似画像データに紐付けられているオブジェクト管理データにより特定される記憶部２３０の領域に属性データが格納される。また、ロボット１００から受信した画像データと類似する類似画像データが記憶部２３０に格納されていない場合に、例えば、図２８に示すように、ロボット１００から受信した画像データを格納する際に新たに生成されたオブジェクト管理データにより特定される記憶部２３０の領域に、属性データが格納される。
【０１１９】
［環境データ格納処理］
図２９を用いて、データ処理部により実行される環境データ格納処理について説明する。図２９は、データ処理部により実行される環境データ格納処理の流れを示すフローチャートである。
【０１２０】
図２９に示すように、データ処理部２４１は、図１７のＳ１０１で受信したデータセットに含まれる組織データ、場所データ及び環境データを取得する（ステップＳ４０１）。続いて、データ処理部２４１は、データセットの受信日時のデータを取得する（ステップＳ４０２）。そして、データ処理部２４１は、Ｓ４０１で取得した組織データ、場所データ、及び環境データと、Ｓ４０２で取得した受信日時のデータとを対応付けて記憶部２３０に格納して（ステップＳ４０３）、処理を終了する。
【０１２１】
［動作決定処理］
次に、図３０を用いて、動作決定部により実行される動作決定処理について説明する。図３０は、動作決定部により実行される動作決定処理の流れを示すフローチャートである。図３０に示す処理は、動作決定部２４２が、記憶部２３０から動作決定プログラム２３０ｂを読み込んで実行される。
【０１２２】
図３０に示すように、動作決定部２４２は、ロボット１００から受信したデータセットから、組織データ、場所データ及び画像データを取得する（ステップＳ５０１）。続いて、動作決定部２４２は、記憶部２３０に、格納済みの画像データがあるかを判定する（ステップＳ５０２）。
【０１２３】
動作決定部２４２は、判定の結果、記憶部２３０に、格納済みの画像データがある場合には（ステップＳ５０２，Ｙｅｓ）、続いて、組織及び場所が同一である画像データがあるかを判定する（ステップＳ５０３）。
【０１２４】
動作決定部２４２は、判定の結果、組織及び場所が同一である画像データがある場合には（ステップＳ５０３，Ｙｅｓ）、組織及び場所が同一である画像データのそれぞれと、Ｓ５０１で取得した画像データとを照合する（ステップＳ５０４）。続いて、動作決定部２４２は、類似度が閾値以上である類似画像データがあるかを判定する（ステップＳ５０５）。
【０１２５】
動作決定部２４２は、判定の結果、類似度が閾値以上の類似画像データがある場合には（ステップＳ５０５，Ｙｅｓ）、類似画像データに紐付くオブジェクト管理データを、記憶部２３０に記憶されているオブジェクト管理データ２３０ｄの中から取得する（ステップＳ５０６）。
【０１２６】
続いて、動作決定部２４２は、Ｓ５０６で取得したオブジェクト管理データに紐付く属性データを取得する（ステップＳ５０７）。続いて、動作決定部２４２は、現在時刻に応じて、ロボット１００の動作モードを決定する（ステップＳ５０８）。続いて、動作決定部２４２は、Ｓ５０７で取得した属性データ、及びＳ５０８で取得した動作モードに基づいて、ロボット１００の動作を決定する（ステップＳ５０９）。そして、動作決定部２４２は、Ｓ５０９で決定した動作の実行命令（コマンド）をロボット１００に送信し（ステップＳ５１０）、処理を終了する。
【０１２７】
一例を挙げれば、動作決定部２４２は、例えば、現在時刻が８時３５分である場合には、動作モードを定時モードに決定し、記憶部２３０に記憶されている動作決定処理用データ２３０ｈの中から、定時モードに対応する動作決定処理用データ（図９参照）を取得する。続いて、動作決定部２４２は、属性データに含まれる検出回数の項目を参照し、検出回数が５回以上１０回未満である場合には、動作決定部２４２は、図９に示す動作決定処理用データに基づいて、挨拶の内容「おはようございます。」、及び移動場所「エレベータフロア」を、ロボット１００に実行させる動作として決定する。そして、動作決定部２４２は、挨拶の内容と移動場所を指定するコマンドを、ロボット１００に送信する。
【０１２８】
あるいは、動作決定部２４２は、例えば、現在時刻が１０時００分である場合には、動作モードを巡回モードに決定し、記憶部２３０に記憶されている動作決定処理用データ２３０ｈの中から、巡回モードに対応する動作決定処理用データ（図１０参照）を取得する。続いて、動作決定部２４２は、属性データに含まれる名前の項目を参照し、名前の項目に対応するデータが格納されていない場合には、動作決定部２４２は、図１０に示す動作決定処理用データに基づいて、問いかけ「はじめまして。お名前は？」、及び応答「ありがとうございます。」を、ロボット１００に実行させる動作として決定する。そして、動作決定部２４２は、問いかけの内容と回答の内容を指定するコマンドを、ロボット１００に送信する。
【０１２９】
上記Ｓ５０５において、動作決定部２４２は、判定の結果、類似度が閾値以上の類似画像データがない場合には（ステップＳ５０５，Ｎｏ）、処理を終了する。なお、動作決定部２４２は、記憶部２３０に記憶されている画像データのそれぞれと、Ｓ５０１で取得した画像データとをさらに照合して、類似画像データがある場合には、上記Ｓ５０６〜Ｓ５１０までの処理を実行してもよい。
【０１３０】
上記Ｓ５０３において、動作決定部２４２は、判定の結果、組織及び場所が同一である画像データがない場合には（ステップＳ５０３，Ｎｏ）、処理を終了する。
【０１３１】
上記Ｓ５０２において、動作決定部２４２は、判定の結果、記憶部２３０に、格納済みの画像データがない場合には（ステップＳ５０２，Ｎｏ）、処理を終了する。
【０１３２】
［データ学習処理］
次に、図３１〜図３５を用いて、データ学習部２４３により実行されるデータ学習処理について説明する。図３１は、データ学習部により実行されるデータ学習処理の流れを示すフローチャートである。図３２〜図３５は、データ学習部により実行されるデータ学習処理の説明に用いる図である。図３１に示す処理は、データ学習部２４３が、記憶部２３０からデータ学習プログラム２３０ｃを読み込んで実行される。データ処理部２４３は、予め設定される所定のタイミングで図３１に示す処理を実行する。
【０１３３】
図３１に示すように、データ学習部２４３は、オブジェクト管理データの中から、処理対象データを１つ決定する（ステップＳ６０１）。続いて、データ学習部２４３は、処理対象データに紐付けられている属性データを取得し、取得した属性データから検出回数を取得する（ステップＳ６０２）。
【０１３４】
続いて、データ学習部２４３は、検出回数が閾値未満である属性データがあるかを判定する（ステップＳ６０３）。閾値には、任意の値を設定することができる。データ学習部２４３は、判定の結果、検出回数が閾値未満である属性データがある場合には（ステップＳ６０３，Ｙｅｓ）、該当の属性データ及び対応する画像データを記憶部２３０から全て削除する（ステップＳ６０４）。データ学習部２４３は、例えば、図３２に示すように、該当の画像データを記憶部２３０から削除し、図３３に示すように、該当の属性データを記憶部２３０から削除する。
【０１３５】
続いて、データ学習部２４３は、処理を完了するかを判定する（ステップＳ６０５）。データ学習部２４３は、判定の結果、処理を完了する場合には（ステップＳ６０５，Ｙｅｓ）、処理を終了する。これとは反対に、データ学習部２４３は、処理を完了しない場合には（ステップＳ６０５，Ｎｏ）、上記Ｓ６０１の手順に戻り、再び、処理対象データを１つ決定して、以後の処理を継続する。
【０１３６】
上記Ｓ６０３において、データ学習部２４３は、判定の結果、検出回数が閾値未満である属性データがない場合には（ステップＳ６０３，Ｎｏ）、処理対象データに紐付けられている属性データから、最終検出日を取得する（ステップＳ６０６）。続いて、データ学習部２４３は、最終検出日が現在の日付よりも所定の日数以上前である属性データがあるかを判定する（ステップＳ６０７）。
【０１３７】
データ学習部２４３は、判定の結果、最終検出日が現在の日付よりも所定の日数以上前の属性データがある場合には（ステップＳ６０７、Ｙｅｓ）、上記Ｓ６０４の手順に移って、該当の属性データ及び対応する画像データを記憶部２３０から全て削除する。そして、データ学習部２４３は、上記Ｓ６０５の手順に移り、処理を完了するかを判定する。
【０１３８】
上記Ｓ６０７において、データ学習部２４３は、判定の結果、最終検出日が現在の日付よりも所定の日数以上前の属性データがない場合には（ステップＳ６０７、Ｎｏ）、記憶部２３０に記憶されている画像データ２３０ｅの中から、処理対象データに紐付けられている画像データを全て取得する（ステップＳ６０８）。続いて、データ学習部２４３は、画像データ間の類似度を判定する（ステップＳ６０９）。そして、データ学習部２４３は、類似度が閾値未満である画像データ、及び対応する属性データを記憶部２３０から削除する（ステップＳ６１０）。データ学習部２４３は、例えば、図３４に示すように、類似度が閾値未満の画像データを削除し、図３５に示すように、削除した画像データに対応する属性データを削除する。そして、データ学習部２４３は、上記Ｓ６０５の手順に移り、処理を完了するかを判定する。
【０１３９】
上述してきたように、本実施例に係るロボット制御システムでは、ロボット制御サーバ２００が、ロボット１００から受信したデータを記憶部２３０に格納し、記憶部２３０に格納したデータに基づいて、ロボット１００の動作を決定して、決定した動作を実行させるためのコマンドをロボット１００に送信する。このため、本実施例によれば、移動式ロボットにより取得されるデータの蓄積及び蓄積したデータに基づく移動式ロボットの動作制御を、ネットワークを介した通信により実現することができる。
【０１４０】
上述してきたように、本実施例に係るロボット制御システムでは、ロボット制御サーバ２００が、ロボット１００により取得された文字データを、属性データとして、ロボット１００により取得された画像データに対応付けて記憶部２３０に格納する。このため、本実施例によれば、例えば、挨拶に加えて、人の名前の音声を出力させるなど、ロボット１００に対して、有機的な動作を実行させることができる。
【０１４１】
上述してきたように、本実施例に係るロボット制御システムでは、ロボット制御サーバ２００が、ロボット１００により取得された画像データを解析し、解析により得られるデータを、属性データとして、ロボット１００により取得された画像データに対応付けて記憶部２３０に格納する。このため、本実施例によれば、例えば、画像データの解析により得られる表情に対応する発話を出力させるなど、ロボット１００に対して、より有機的な動作を実行させることができる。
【０１４２】
上述してきたように、本実施例に係るロボット制御システムでは、ロボット制御サーバ２００が、記憶部２３０に記憶されているデータを所定のルールに従って削除する。このため、本実施例によれば、記憶部２３０に記憶されているデータ（画像データ及び属性データ）を洗練させることができる。この結果、ロボット１００に対して適格な動作を行わせることも可能となる。例えば、記憶部２３０に記憶されているデータ（画像データ及び属性データ）の数が少なく、データの鮮度が高く無い場合には、ロボット１００に対して動作を実行させないようにする。
【０１４３】
また、図３１に示すＳ６０８〜Ｓ６１０では、同一のオブジェクト管理データに紐付けられている画像データ間で類似度を判定する例を説明したが、これに限定されるものではない。例えば、同一のオブジェクト管理データに紐付けられている画像データのうち、同一の組織及び場所に対応する画像データ間、あるいは同一の場所に対応する画像データ間で類似度の判定を行うようにしてもよい。これにより、組織及び場所ごとに、記憶部２３０に記憶されているデータ（画像データ及び属性データ）を洗練させることができる。例えば、組織や場所による人の表情の違いなどを考慮して、記憶部２３０に記憶されているデータを洗練させることができる。この結果、組織や場所に応じた適格な動作をロボット１００に行わせることが可能となる。
【０１４４】
なお、上記実施例では、ロボット制御サーバ２００のデータ処理部２４１が、ロボット１００から取得した画像データを解析して、性別、年齢および表情のデータを抽出する例を説明したが、これには限定されない。例えば、ロボット１００の人検出部１８１ｂにおいて、画像データから性別、年齢および表情のデータを抽出してもよい。この場合、データ処理部２４１は、ロボット１００から受信した性別、年齢および表情のデータを、属性データとして記憶部２３０に格納すればよい。
【０１４５】
なお、上記の実施例では、組織データ及び場所データを、画像データ及び属性データに対応付けて記憶部２３０に格納する例を説明したが、組織データ及び場所データを記憶部２３０に格納しなくてもよい。
【０１４６】
なお、上記の実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例で示したプログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。また、ロボット制御サーバ２００の機能を複数の装置に適宜分散させてもよい。
【符号の説明】
【０１４７】
１００  ロボット
１１０  マイク
１２０  スピーカ
１３０Ａ  ３次元距離センサ
１３０Ｂ  ＲＧＢカメラ
１３０Ｃ  サーモグラフィ
１３０Ｄ  測域センサ
１３０Ｅ  赤外線測距センサ
１３０Ｆ  照度センサ
１３０Ｇ  温度センサ
１３０Ｈ  湿度センサ
１４０  モータ駆動部
１５０  バッテリ
１６０  通信部
１７０  記憶部
１８０  制御部
２００  ロボット制御サーバ
２１０  通信部
２２０  媒体読取部
２３０  記憶部
２４０  制御部
【図１】
2015163415.tif 000003
【図２】
2015163415.tif 000004
【図３】
2015163415.tif 000005
【図４】
2015163415.tif 000006
【図５】
2015163415.tif 000007
【図６】
2015163415.tif 000008
【図７】
2015163415.tif 000009
【図８】
2015163415.tif 000010
【図９】
2015163415.tif 000011
【図１０】
2015163415.tif 000012
【図１１】
2015163415.tif 000013
【図１２】
2015163415.tif 000014
【図１３】
2015163415.tif 000015
【図１４】
2015163415.tif 000016
【図１５】
2015163415.tif 000017
【図１６】
2015163415.tif 000018
【図１７】
2015163415.tif 000019
【図１８】
2015163415.tif 000020
【図１９】
2015163415.tif 000021
【図２０】
2015163415.tif 000022
【図２１】
2015163415.tif 000023
【図２２】
2015163415.tif 000024
【図２３】
2015163415.tif 000025
【図２４】
2015163415.tif 000026
【図２５】
2015163415.tif 000027
【図２６】
2015163415.tif 000028
【図２７】
2015163415.tif 000029
【図２８】
2015163415.tif 000030
【図２９】
2015163415.tif 000031
【図３０】
2015163415.tif 000032
【図３１】
2015163415.tif 000033
【図３２】
2015163415.tif 000034
【図３３】
2015163415.tif 000035
【図３４】
2015163415.tif 000036
【図３５】
2015163415.tif 000037