(57)【特許請求の範囲】
【請求項１】
所定の領域に配置される複数のロボットと、
前記領域を複数の小領域に分割し、前記小領域の人口密度と、前記小領域に存在する人の特徴により決定される値と、前記小領域の場の特徴により決定される値と、に基づいて算出される、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、前記複数のロボットの前記所定の領域内のそれぞれの配置位置を特定するための配置位置情報を生成する生成手段と、
前記生成手段によって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置手段と、
を備えたロボット制御システム。
【請求項２】
前記小領域に存在する人の特徴により決定される値は、ロボット使用履歴、および／または前記小領域に存在する人に関連付けられたスケジュールデータを参照して決定される請求項１記載のロボット制御システム。
【請求項３】
環境センサを含み、前記小領域の場の特徴により決定される値は、前記環境センサによって検出された前記小領域の状態を解釈して決定される請求項２記載のロボット制御システム。
【請求項４】
前記生成手段は、前記小領域毎の、各小領域から前記複数のロボットのそれぞれの配置位置までの距離と前記小領域における前記ロボット使用可能性を示す値との積の総和が最小になる位置を、前記ロボットの配置位置とする請求項１から３のいずれかに記載のロボット制御システム。
【請求項５】
前記小領域から前記複数のロボットのそれぞれの配置位置までの距離は、直線距離または実効距離である請求項４記載のロボット制御システム。
【請求項６】
所定の領域に配置される複数のロボットと、
前記領域を複数の小領域に分割し、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、前記複数のロボットの前記所定の領域内のそれぞれの配置位置を特定するための配置位置情報を生成する生成手段と、
前記生成手段によって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置手段と、を備え、
前記生成手段は、前記複数の小領域のうち、前記ロボット使用可能性を示す値が第一の閾値を超える小領域の中から、前記ロボット使用可能性を示す値が大きい順に、前記領域内に配置したロボットの数だけ選択された小領域のうち、前記選択された他の小領域と隣接しない当該小領域を前記ロボットの配置位置とし、前記選択された小領域同士が隣接していて、隣接した複数の小領域における前記ロボット使用可能性を示す値の平均値が前記第一の閾値よりも大きな第二の閾値を超える場合、当該隣接している各小領域をそれぞれ一台ずつロボットが配置される配置位置とし、前記第二の閾値以下の場合、隣接した複数の小領域の数よりも少ない数のロボットが当該隣接する複数の小領域に配置されるように配置位置情報を生成するロボット制御システム。
【請求項７】
前記生成手段は、所定の時間毎に、前記配置位置情報を更新する請求項１から６のいずれかに記載のロボット制御システム。
【請求項８】
前記生成手段は、前記領域における人の急激な移動が生じた場合に、前記配置位置情報を更新する請求項１から６のいずれかに記載のロボット制御システム。
【請求項９】
所定の領域を複数の小領域に分割し、前記小領域の人口密度と、前記小領域に存在する人の特徴により決定される値と、前記小領域の場の特徴により決定される値と、に基づいて算出される、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、複数のロボットの前記領域内のぞれぞれの配置位置を特定するための配置位置情報を生成する生成ステップと、
前記生成ステップによって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置ステップと、
をコンピュータに実行させるプログラム。
【請求項１０】
所定の領域を複数の小領域に分割し、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、複数のロボットの前記領域内のぞれぞれの配置位置を特定するための配置位置情報を生成する生成ステップと、
前記生成ステップによって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置ステップと、
をコンピュータに実行させるプログラムであって、
前記生成ステップは、前記複数の小領域のうち、前記ロボット使用可能性を示す値が第一の閾値を超える小領域の中から、前記ロボット使用可能性を示す値が大きい順に、前記領域内に配置したロボットの数だけ選択された小領域のうち、前記選択された他の小領域と隣接しない当該小領域を前記ロボットの配置位置とし、前記選択された小領域同士が隣接していて、隣接した複数の小領域における前記ロボット使用可能性を示す値の平均値が前記第一の閾値よりも大きな第二の閾値を超える場合、当該隣接している各小領域をそれぞれ一台ずつロボットが配置される配置位置とし、前記第二の閾値以下の場合、隣接した複数の小領域の数よりも少ない数のロボットが当該隣接する複数の小領域に配置されるように配置位置情報を生成する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システムに関する。
【背景技術】
【０００２】
特許文献１には、複数のロボットが協調して行動する自律ロボットにおいて、各ロボットには周囲を撮影する撮影部と、各ロボットに応じて視覚的に相違する特徴部と、外部と通信する通信部とが設けられ、自身の撮影部によって撮影した画像データから各ロボットの特徴部を検出することにより各ロボットの存在位置を特定し、障害物に隠れているロボットが存在する場合には、通信部を介して他のロボットか撮影した画像データを取得し、その画像データに基づいて各ロボットの存在位置を特定する自律ロボットの制御方法が開示されている。
【０００３】
特許文献２には、群の形態を変えることが可能な群ロボットであって、１つの統括制御手段からロボットの群形態を指示する命令、例えば「最も近くの他の１台のロボットの背後に一定の距離を保て」という指示信号を受けると、ロボットが最終的に１列に並ぶというような指示された群形態を形成するロボット装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２５４５８８号公報
【特許文献２】特許第２９３３２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、複数のロボットを所定の領域内に配置する場合に、単に領域内の人口密度に基づいてロボットの配置位置を決定する場合と比較して、ロボットを必要とする人の周囲にロボットが配置される確率を向上させることが可能なロボット制御システムを提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、
所定の領域に配置される複数のロボットと、
前記領域を複数の小領域に分割し、前記小領域の人口密度と、前記小領域に存在する人の特徴により決定される値と、前記小領域の場の特徴により決定される値と、に基づいて算出される、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、前記複数のロボットの前記所定の領域内のそれぞれの配置位置を特定するための配置位置情報を生成する生成手段と、
前記生成手段によって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置手段と、
を備えたロボット制御システムである。 
【０００７】
また、請求項２に記載の発明は、前記小領域に存在する人の特徴により決定される値は、ロボット使用履歴、および／または前記小領域に存在する人に関連付けられたスケジュールデータを参照して決定されることを特徴とする。
【０００８】
また、請求項３に記載の発明は、環境センサを含み、前記小領域の場の特徴により決定される値は、前記環境センサによって検出された前記小領域の状態を解釈して決定されることを特徴とする。
【０００９】
また、請求項４に記載の発明は、前記生成手段が、前記小領域毎の、各小領域から前記複数のロボットのそれぞれの配置位置までの距離と前記小領域における前記ロボット使用可能性を示す値との積の総和が最小になる位置を、前記ロボットの配置位置とすることを特徴とする。
【００１０】
また、請求項５に記載の発明は、前記小領域から前記複数のロボットのそれぞれの配置位置までの距離は、直線距離または実効距離であることを特徴とする。
【００１１】
また、請求項６に記載の発明は、
所定の領域に配置される複数のロボットと、
前記領域を複数の小領域に分割し、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、前記複数のロボットの前記所定の領域内のそれぞれの配置位置を特定するための配置位置情報を生成する生成手段と、
前記生成手段によって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置手段と、を備え、
前記生成手段は、前記複数の小領域のうち、前記ロボット使用可能性を示す値が第一の閾値を超える小領域の中から、前記ロボット使用可能性を示す値が大きい順に、前記領域内に配置したロボットの数だけ選択された小領域のうち、前記選択された他の小領域と隣接しない当該小領域を前記ロボットの配置位置とし、前記選択された小領域同士が隣接していて、隣接した複数の小領域における前記ロボット使用可能性を示す値の平均値が前記第一の閾値よりも大きな第二の閾値を超える場合、当該隣接している各小領域をそれぞれ一台ずつロボットが配置される配置位置とし、前記第二の閾値以下の場合、隣接した複数の小領域の数よりも少ない数のロボットが当該隣接する複数の小領域に配置されるように配置位置情報を生成するロボット制御システムである。
【００１２】
また、請求項７に記載の発明は、前記生成手段が、所定の時間毎に、前記配置位置情報を更新することを特徴とする。
【００１３】
また、請求項８に記載の発明は、前記生成手段が、前記領域における人の急激な移動が生じた場合に、前記配置位置情報を更新することを特徴とする。
【００１４】
また、請求項９に記載の発明は、
所定の領域を複数の小領域に分割し、前記小領域の人口密度と、前記小領域に存在する人の特徴により決定される値と、前記小領域の場の特徴により決定される値と、に基づいて算出される、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、複数のロボットの前記領域内のぞれぞれの配置位置を特定するための配置位置情報を生成する生成ステップと、
前記生成ステップによって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置ステップと、
をコンピュータに実行させるプログラムである。
【００１５】
また、請求項１０に記載の発明は、
所定の領域を複数の小領域に分割し、前記小領域毎のロボット使用可能性を示す値の大きさに応じて、複数のロボットの前記領域内のぞれぞれの配置位置を特定するための配置位置情報を生成する生成ステップと、
前記生成ステップによって生成された配置位置情報に従って、前記複数のロボットを前記領域内に配置する配置ステップと、
をコンピュータに実行させるプログラムであって、
前記生成ステップは、前記複数の小領域のうち、前記ロボット使用可能性を示す値が第一の閾値を超える小領域の中から、前記ロボット使用可能性を示す値が大きい順に、前記領域内に配置したロボットの数だけ選択された小領域のうち、前記選択された他の小領域と隣接しない当該小領域を前記ロボットの配置位置とし、前記選択された小領域同士が隣接していて、隣接した複数の小領域における前記ロボット使用可能性を示す値の平均値が前記第一の閾値よりも大きな第二の閾値を超える場合、当該隣接している各小領域をそれぞれ一台ずつロボットが配置される配置位置とし、前記第二の閾値以下の場合、隣接した複数の小領域の数よりも少ない数のロボットが当該隣接する複数の小領域に配置されるように配置位置情報を生成する、プログラムである。
【発明の効果】
【００１６】
請求項１に記載のロボット制御システムの発明によれば、複数のロボットを所定の領域内に配置する場合に、単に領域内の人口密度に基づいてロボットの配置位置を決定する場合と比較して、ロボットを必要とする人の周囲にロボットが配置される確率を向上させることが可能となる。さらに、単に領域内の人口密度に基づいてロボットの配置位置を決定する場合と比較して、ロボットを必要とする可能性の高い人が集まっている程度、およびロボットを必要とする可能性の高い状況が生じている程度に応じて、ロボットを配置させることが可能となる。
【００１８】
請求項２に記載のロボット制御システムの発明によれば、以前にロボットを使用した実績、および／または小領域に存在する人の予定に基づいて、ロボットを必要とする可能性の高さに応じてロボットを配置させることが可能となる。
【００１９】
請求項３に記載のロボット制御システムの発明によれば、リアルタイムに取得される小領域の場の状態に応じて、ロボットを必要とする可能性の高い小領域にロボットを配置させることが可能となる。
【００２０】
請求項４に記載のロボット制御システムの発明によれば、ロボットを必要とする人が存在する小領域までのロボットの移動距離が最短となる位置にロボットを配置させることが可能となる。
【００２１】
請求項５に記載のロボット制御システムの発明によれば、ロボットを必要とする小領域までロボットが直線距離で移動した場合、または実際の移動経路に沿って移動した場合のそれぞれにおいて移動距離が最短となる位置にロボットを配置させることが可能となる。
【００２２】
請求項６に記載のロボット制御システムの発明によれば、ロボットを使用する可能性が比較的高い領域が隣接している場合、隣接した小領域のロボットの使用可能性に応じてロボットの配置数を調整することができる。隣接した小領域のロボットの使用可能性が全体として所定の閾値より低い場合には、隣接した小領域の数よりも少ない数のロボットを隣接した小領域で共有させるように配置することが可能となる。
【００２３】
請求項７に記載のロボット制御システムの発明によれば、ロボットの配置位置を定期的に更新できる。
【００２４】
請求項８に記載のロボット制御システムの発明によれば、領域内の人の移動に応じてロボットの配置位置を更新できる。
【００２５】
請求項９に記載の発明によれば、複数のロボットを所定の領域内に配置する場合に、単に領域内の人口密度に基づいてロボットの配置位置を決定する場合と比較して、ロボットを必要とする人の周囲にロボットが配置される確率を向上させるプログラムを提供することが可能となる。
また、請求項１０に記載の発明によれば、ロボットを使用する可能性が比較的高い領域が隣接している場合、隣接した小領域のロボットの使用可能性に応じてロボットの配置数を調整することができる。隣接した小領域のロボットの使用可能性が全体として所定の閾値より低い場合には、隣接した小領域の数よりも少ない数のロボットを隣接した小領域で共有させるように配置するプログラムをていきょうできる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態に係るロボット制御システム１００の一例を示す全体概略図である。
【図２】ロボット２０のハードウェア構成図である。
【図３】ロボット２０の機能ブロック図である。
【図４】制御サーバ４０のハードウェア構成図である。
【図５】制御サーバ４０の機能ブロック図を示す。
【図６】ワークプレイス１０を複数の小領域に分割した場合の一例を示す説明図である。
【図７】各小領域における推定ロボット使用量の算出処理の流れを示すフローチャートである。
【図８】推定ロボット使用量の算出処理の際に、推定ロボット使用量算出部が参照する変換テーブル４１３を示す図である。
【図９】ロボット配置位置決定処理の計算方法を示す説明図である。
【図１０】各小領域における推定ロボット使用量ρi,jが第１の閾値よりも高い小領域をそうでない小領域と区別して表した説明図である。
【図１１】ロボット配置位置決定処理の他の一例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
本発明の一実施形態のロボット制御システムを、図１を参照して説明する。本実施形態のロボット制御システム１００は、オフィスビルの一つのフロア（一つの階）等の比較的大きな所定の領域１０（以下、ワークプレイスという）に配置される複数のロボット２０と、ワークプレイス１０の天井や壁等に配置される複数の環境センサ３０と、および制御サーバ４０と、を備えて構成され、制御サーバ４０は、各ロボット２０および環境センサ３０にネットワーク５０によって接続される。特に、制御サーバ４０と各ロボット２０とは、ワークプレイス１０の壁面等に設置されたアクセスポイント６０を介して無線により接続される。
【００２８】
また、ワークプレイス１０にはコンピュータ７０が複数配置され、アクセスポイント６０を介して制御サーバ４０と接続されている。コンピュータ７０には、スケジューリング・アプリケーション・ソフトウェアがインストールされている。ワークプレイス１０には複数の人８０が存在するが、本実施形態では、人８０は、ワークプレイス１０内で業務を行うオフィスワーカーである。それぞれの人８０は、コンピュータ７０にインストールされたスケジューリング・アプリケーション・ソフトウェアを使用して各自のスケジュールデータを登録し、登録されたスケジュールデータは制御サーバ４０のスケジュール・データベースに記憶される。
【００２９】
なお、以下の説明においては、説明を簡単に行うため、ワークプレイス１０に配置されるロボット２０は、すべて同一の対話型ロボットの場合を例示して説明する。しかしながら、本発明のロボット２０は、対話型ロボットに限定されるものではなく、他の形態のロボット、例えば、運搬ロボット、テーブルロボット、ライティングツール提供ロボット、インタラクティブスクリーンロボットのようなサービス実行ロボットのいずれかであってもよい。また、対話型ロボットとサービス実行ロボットとが混在していてもよいし、さまざまな種類のサービス実行ロボットのみが混在していてもよい。
【００３０】
ここで、図２、３を参照して、本実施形態のロボット２０について説明する。図２はロボット２０のハードウェア構成図である。図２に示すように、ロボット２０は、制御用マイクロプロセッサ２１１、メモリ２１２、ハードディスク・ドライブ（ＨＤＤ）やソリッド・ステート・ドライブ（ＳＳＤ）等の記憶装置２１３、通信インタフェース２１４、カメラ２１５、マイクロフォン２１６、スピーカ２１７、モータ２１８、現在位置検出装置２１９を備えて構成され、それぞれ制御バス２２０に接続されている。
【００３１】
制御用マイクロプロセッサ２１１は、記憶装置２１３に記憶された制御プログラムに基づいてロボット２０の各部の動作を制御統括する。メモリ２１２には、ロボット２０が利用者と行った対話時の対話の音声、対話内容、カメラ２１５により撮影された利用者５０の表情、挙動、身体の状態の画像等が一時的に記憶される。記憶装置２１３にはロボット２０の各部を制御するための制御プログラムが記憶される。通信インタフェース２１４は、ロボット２０がアクセスポイント６０を介して制御サーバ４０や他のロボット２０と通信を行うための通信制御を行う。
【００３２】
カメラ２１５は、利用者の表情、挙動、身体の状態の変化等を撮影し、メモリ２１２に記憶する。マイクロフォン２１６は、利用者と対話を行った際に、利用者の音声を検出し、メモリ２１２に記憶、つまり録音する。メモリ２１２には、音声を直接録音するのではなく、音声内容を解釈した後の対話内容を記憶させてもよい。スピーカ２１７は、ロボット２０の後述する対話制御部が生成した音声を出力する。モータ２１８は、後述する移動制御部において生成された移動制御情報に基づいてロボット２０を所定の配置位置に移動させる。現在位置検出装置２１９は、ＧＰＳ信号受信装置や位置情報信号受信装置等を含んで構成されており、ロボット２０の現在位置を特定して、メモリ２１２に一時的に記憶させる。
【００３３】
図３は、ロボット２０の機能ブロック図を示す。ロボット２０は、記憶装置２１３に記憶されている制御プログラムを制御用マイクロプロセッサ２１１において実行することにより、図３に示されるように、認識部２２１、対話制御部２２２、移動制御部２２３として機能する。
【００３４】
認識部２２１は、利用者とロボット２０間の対話を通して利用者の要求や感情を認識し、解釈する。具体的には、認識部２２１はメモリ２１２に記憶された、利用者との対話時における利用者の音声データ、或いは対話内容に基づいて、利用者の要求を特定する。また、認識部２２１は、メモリ２１２に記憶された、利用者との対話時における利用者の挙動、表情、顔の色、身体の状態、さらには、声の調子、声の速さ、心拍数のいずれか少なくとも一つ、或いは複数の組み合わせで構成される情報に基づいて利用者の感情を解釈する。例えば、顔色の変化はカメラ２１５によって撮影した利用者の顔の画像のＲＧＢの割合の変化から検出可能であるが、認識部２２１は、利用者の顔の色の変化に基づいて、利用者の心拍数や体温の変化を検出し、その検出結果に基づいて利用者の感情を解釈する。
【００３５】
認識部２２１は、さらに、マイクロフォン２１６によって検出され、メモリ２１２に記憶された利用者の音声データを解析し、声の調子（トーン）や声の速さ（言葉の速さ）等に基づいて、利用者の感情を解釈する。感情の解釈については、例えば、顔の色の変化と口の開け具合から、『喜んでいる』、心拍数と肌の伝導率の変化から『緊張している』、声の調子と言葉の速さから『苛立っている』というような解釈を行う。認識部２２１は、解釈した要求と感情に関する情報を対話制御部２２２に出力する。
【００３６】
対話制御部２２２は、ロボット２０が利用者と行う対話を制御するとともに、利用者に対する応答内容を生成する。例えば、メモリ２１２に記憶された対話内容に応じて応答メッセージを生成し、スピーカ２１７に出力する。その際、対話制御部２２２は、認識部２２１において認識された利用者の感情に応じてメッセージの出力音声の大きさや発話速度を調整する。
【００３７】
移動制御部２２３は、制御サーバ４０から受信したそれぞれのロボット２０についての配置位置情報、および現在位置検出装置２１９によって特定された現在位置の情報に基づいてロボット２０を現在位置から目的の配置位置まで移動する移動制御情報を生成し、現在位置検出装置２１９によって検出される現在位置の情報を参照しつつモータ２１８の動作を制御し、ロボット２０を移動させる。
【００３８】
次に、図４、５を参照して、本実施形態の制御サーバ４０について説明する。図４は、制御サーバ４０のハードウェア構成図である。図４に示すように、制御サーバ４０は、ＣＰＵ４０１、メモリ４０２、記憶装置４０３、通信インタフェース４０４、ユーザインタフェース４０５を備えて構成され、それぞれ制御バス４０６に接続されている。ＣＰＵ４０１は、記憶装置４０３に記憶された制御プログラムに基づいて制御サーバ４０各部の動作を制御統括する。メモリ４０２には、環境センサ３０から送信されてきたワークプレイス１０内の各小領域に存在する人８０の人数、各小領域に存在する人の特徴に関する情報、各小領域の場の特徴に関する情報、およびロボット２０に送信される、各ロボット２０についての配置位置情報等が一時的に記憶される。
【００３９】
記憶装置４０３は、ハードディスク・ドライブ（ＨＤＤ）やソリッド・ステート・ドライブ（ＳＳＤ）等であり、制御サーバ４０を制御するための制御プログラムが記憶されている。さらに、記憶装置４０３には、後述するロボット使用履歴データベース、スケジュール・データベース、変換テーブル等が格納される。通信インタフェース４０４は、制御サーバ４０がアクセスポイント６０を介して各ロボット２０、および環境センサ３０、およびコンピュータ７０と各種データの送受信を行うための通信制御を行う。ユーザインタフェース４０５は、液晶ディスプレイ等の表示装置、キーボードやマウス等の入力装置によって構成されており、記憶装置４０３に記憶されている制御プログラムを管理者が調整したりするためのものである。
【００４０】
図５は、制御サーバ４０の機能ブロック図を示す。制御サーバ４０は、記憶装置４０３に記憶されている制御プログラムをＣＰＵ４０１において実行することにより、図５に示されるように、センサ情報取得部４０７、センサ情報解析部４０８、推定ロボット使用量算出部４０９、ロボット配置位置決定部４１０として機能する。制御サーバ４０は、さらに、ロボット使用履歴データベース４１１、スケジュール・データベース４１２、変換テーブル４１３も含んで構成される。制御サーバ４０は、全体として、ワークプレイス１０を複数の小領域に分割し、小領域毎のロボット使用可能性を示す値を算出し、その値の大きさに応じてロボットそれぞれの配置位置を特定するための配置位置情報を生成する。なお、以下の説明においては、ロボット使用可能性を示す値を、「推定ロボット使用量」と呼ぶこととする。
【００４１】
センサ情報取得部４０７は、特定の一つの小領域についてのエリア情報を環境センサ３０に要求し、環境センサ３０から、該当する小領域のエリア情報を取得する。エリア情報には、当該小領域に存在する人の人数、当該小領域に存在する人物を特定する人物情報、またその人物の位置や状態（立っている、座っている等）、音声データ等が含まれる。
【００４２】
センサ情報解析部４０８は、小領域に存在する人の人数や人の位置や状態に基づいてその小領域の場の特徴を解析する。例えば、センサ情報解析部４０８は、複数の人がテーブルを囲んで座っている場合には、「会議をしている」と解釈し、複数の人が近い場所に立っている場合には、「立ち話をしている」と解釈する。また、音声データに基づいて、発話量が多い場合には、「議論が活発」というように、小領域の場の特徴を特定する。また、センサ情報解析部４０８は、一つの環境センサ３０が幾つかの小領域のエリア情報をまとめて取得するような場合、或いは、それぞれの小領域の大きさが異なる場合には、特定の小領域に存在する人の人数或いは人口密度、各領域に存在するのが誰であるかといった人物を特定する情報を解析する。
【００４３】
推定ロボット使用量算出部４０９は、小領域毎の推定ロボット使用量を算出する。具体的には、推定ロボット使用量算出部４０９は、センサ情報解析部４０８によって特定された、当該小領域に存在する人の人数と、当該小領域に存在する人の特徴により決定される値、つまり、当該小領域に存在する人に関連付けられたスケジュールデータを参照して決定される値と、当該小領域の場の特徴により決定される値と、に基づいて、推定ロボット使用量を算出する。この推定ロボット使用量算出部４０９による推定ロボット使用量の算出処理については後で詳述する。
【００４４】
ロボット配置位置決定部４１０は、上記により小領域毎に算出された推定ロボット使用量の大きさに応じてロボットの配置位置情報を生成し、この配置位置情報を、通信インタフェース４０４を介して各ロボット２０に送信することにより、各ロボット２０が当該配置位置情報に従って、領域１０内の配置位置に配置されるようにする。なお、このロボット配置位置決定部４１０によるロボット配置位置情報生成処理については後述する。
【００４５】
ロボット使用履歴データベース４１１は、ワークプレイス１０内にいる人物毎のロボット使用履歴を保存している。ロボット使用履歴は、例えば、ロボットを使用した日時と使用時間とで構成されるデータである。スケジュール・データベース４１２は、ワークプレイス１０内にいる人毎のスケジュールデータを保存している。スケジュールデータは時刻と、その時刻毎におけるスケジュールの内容とで構成され、利用者がワークプレイス１０に設置されたコンピュータ７０、或いは利用者が携帯する携帯端末（図示せず）を使用して登録されるものである。変換テーブル４１３は、スケジュールの内容とそれに対応する値、小領域の場の特徴とそれに対応する値等を対応させたテーブルである。なお、変換テーブル４１３については後述する。
【００４６】
次に、本実施形態のロボット制御システム１００における推定ロボット使用量の算出方法について詳細に説明する。まず、本実施形態における所定の領域、つまりオフィスビルの一つのフロア（一つの階）で構成される所定の領域、つまりワークプレイス１０を、所定幅および所定長さ毎に分割し、複数の小領域ａとする。その一例を図６に示す。図６では、一つのワークプレイス１０を、横方向にｍ個、縦方向にｎ個、それぞれ等間隔に分割することにより、合計ｍ×ｎ個の小領域ａ1,1，…ａi,j，…ａm,nに分割している。なお、ワークプレイス１０を小領域に分割する別の方法として、一つのフロアに複数の部屋が設けられている場合には、それら複数の部屋の一つ一つを一つの小領域としてもよいし、フロアに複数の机が並べられている場合には、一つの机、或いは幾つかの机とその周囲を一つの小領域としてもよい。環境センサ３０は、これら各小領域の天井或いは壁面に一つずつ設置される。または、幾つかの小領域毎に一つの環境センサ３０を設置し、一つの環境センサ３０によって当該複数の小領域の人や場の情報を一括して検出するように割り当て、制御サーバ４０のセンサ情報解析部４０８において小領域毎に人物情報や場の特徴を解析するようにしてもよい。または、一つの小領域内に複数の環境センサ３０を設置し、複数の環境センサ３０で一つの小領域内の情報を検出してもよい。
【００４７】
以下の説明では、ワークプレイス１０を、図６に示すように合計ｍ×ｎ個の小領域に分割した場合の各小領域における推定ロボット使用量の算出処理およびロボット配置位置決定処理について、図７〜９を参照して説明する。なお、図７は、各小領域における推定ロボット使用量の算出処理の流れを示すフローチャートである。図８は、推定ロボット使用量の算出処理の際に、推定ロボット使用量算出部４０９が参照する変換テーブル４１３の内容を示す図である。図９は、ロボット配置位置決定処理における計算方法を示す説明図である。
【００４８】
まず、ステップＳ７０１において、推定ロボット使用量算出部４０９は、ワークプレイス１０に属する全ての小領域ａ1,1〜ａm,nについて推定ロボット使用量を算出したか否かを判定する。すべての小領域ａ1,1〜ａm,nについて推定ロボット使用量を算出た場合にはステップＳ７１２に進み、そうでない場合には、ステップＳ７０２に進む。ステップＳ７０２において、推定ロボット使用量算出部４０９は、推定ロボット使用量の算出対象となる一つの小領域ａi,jを選択する。ステップＳ７０３において、センサ情報取得部４０８は、当該小領域ａi,jに設置された環境センサ３０に対してエリア情報を要求し、当該環境センサ３０からエリア情報を取得する。エリア情報には、小領域ａi,jに存在する人の人数、それが誰であるかに関する人物情報、またそれらの人物の位置や状態、音声データを含む。これらのエリア情報は、一旦制御サーバ４０のメモリ４０２に記憶される。
【００４９】
次いでステップＳ７０４において、センサ情報解析部４０８は、環境センサ３０から取得したエリア情報に基づいて当該小領域ａi,jの場の特徴を解析する。例えば、複数の人がテーブルを囲んで座っている場合には、「会議をしている」と解釈し、複数の人が近い場所に立っている場合には、「立ち話をしている」と解釈する。また、音声データに基づいて、発話量が多い場合には、「議論が活発」というように、小領域の場の特徴を特定する。また、一つの環境センサ３０が幾つかの小領域のエリア情報をまとめて取得するような場合には、センサ情報解析部４０８は、ステップＳ７０２において選択されている特定の小領域ａi,jに存在する人の人数、それが誰であるか、また場の特徴を解析する。
【００５０】
続くステップＳ７０５において、当該小領域ａi,jに存在する全ての人物についてロボット使用量の算出処理を行ったか否かを判定する。全ての人物についてのロボット使用量算出処理が終了している場合には、ステップＳ７１０に進み、そうでない場合には、ステップＳ７０６に進む。ステップＳ７０６において、推定ロボット使用量算出部４０９は、当該小領域に存在する一人の人物を選択する。
【００５１】
ステップＳ７０７において、推定ロボット使用量算出部４０９は、ロボット使用履歴データベース４１１から、選択された人物についてのロボット使用履歴を参照し、変換テーブル４１３を使用して、その使用履歴に対応するロボット使用履歴パラメータαkhistoryを取得する。
【００５２】
次いで、ステップＳ７０８において、推定ロボット使用量算出部４０９は、スケジュール・データベース４１２から、選択された人物についての当該時刻におけるスケジュールデータを参照し、変換テーブル４１３を使用して、当該スケジュールに対応する予定パラメータαkscheduleを取得し、メモリ４０２に記憶する。
【００５３】
ここで、図８を参照し、上記ステップＳ７０７、Ｓ７０８において参照される変換テーブル４１３について説明する。変換テーブル４１３は、ロボット使用量変換テーブル４１３Ａとスケジュール変換テーブル４１３Ｂにより構成される。ロボット使用量変換テーブル４１３Ａは、ロボット２０の過去の所定期間における使用量とロボット使用履歴パラメータαkhistoryとの対応関係を定めたテーブルである。例えば、上記ステップＳ７０７において、推定ロボット使用量算出部４０９がロボット使用履歴データベース４１１から取得したロボット使用履歴に基づき過去１か月のロボット使用量が３０分であった場合、ロボット使用量変換テーブル４１３Ａを参照し、ロボット使用履歴パラメータαkhistoryとして「＋１．０」の値を取得する。
【００５４】
スケジュール変換テーブル４１３Ｂは、ワークプレイス１０に存在する人がスケジュール・データベース４１２に登録しているデータから特定されるスケジュールと予定パラメータαkscheduleとの対応関係を定めたテーブルである。スケジュール変換テーブル４１３Ｂは、スケジュールの大まかな分類に対する予定パラメータの値を定めた大項目変換テーブル４１３Ｂ−１と詳細なスケジュールに対する予定パラメータの値を定めた詳細項目変換テーブル４１３Ｂ−２とで構成される。大項目変換テーブル４１３Ｂ−１には、例えば、「スケジュールなし」「デスクワーク」「ミーティング」「実験」等の項目が含まれており、それぞれの項目に対応する予定パラメータが定められている。詳細項目変換テーブル４１３Ｂ−２には、上述の大まかな分類に対して下位に位置する予定が含まれており、例えば大まかな分類である「デスクワーク」に対しては、「プログラミング」「書類作成」「デザイン」等の項目が含まれ、それぞれに対する予定パラメータが規定されている。例えば、上記ステップＳ７０８において、推定ロボット使用量算出部４０９がスケジュール・データベース４１２から取得した特定人物についてのスケジュールが、「週報会」である場合には、予定パラメータαkscheduleは、まず、「ミーティング」に対応する値である「＋０．７」とその下位の予定である「週報会」に対応する値の「−０．２」を加算した「＋０．５」となる。
【００５５】
図７のステップＳ７０９において、上記ステップＳ７０４で特定された小領域の場の特徴に基づいて、選択された人物のスケジュールについての予定パラメータαkscheduleの値を補正する。例えば、センサ情報解析部４０８により、複数の人がテーブルを囲んで座っているために「会議をしている」と判断された場合、スケジュール・データベース４１２から取得したスケジュールデータでは、スケジュール登録がなかったとしても、この場合は会議に参加していると判断し、当該人物の予定パラメータαkscheduleを同じ会議出席者の予定パラメータと同一の値に変更する。また、スケジュール・データベース４１２にはスケジュールが登録されていなかった人物が、一人でデスクに座っている場合には、「デスクワーク中」と判断され、予定パラメータを当初の「＋０．５」からデスクワークに対応する値である「＋０．２」に変更する。
【００５６】
次いで、ステップＳ７０５に戻り、当該小領域ａi,jに存在する全ての人物について処理が完了したか否かを判定する。全ての人物についての処理が終了した場合には、ステップＳ７１０に進み、推定ロボット使用量算出部４０９は、上記ステップＳ７０４で特定された小領域の場の特徴により決定される値である、当該小領域のエリアパラメータβi,jを設定する。
【００５７】
例えば、複数人の人が近い場所に立っている場合には、立ち話をしていると判断し、立ち話からアイディアが生まれ、議論をサポートするロボットが必要となる潜在的必要性があるので、エリアパラメータβi,jは「＋０．３」と設定する。或いは、会議の場での発話量が多い場合、議論が活発であると判断され、アイディア創出をサポートするため、ロボットが多めに必要になる可能性があるので、エリアパラメータβi,jを「＋０．５」に設定する。
【００５８】
続くステップＳ７１１において、推定ロボット使用量算出部４０９は、当該小領域ａi,jにおける時刻ｔの重み付けパラメータαi,jを下記（１）式により求める。
【数１】
0006738555.tif 000002
ここで、ｈi,j（ｔ）は、時刻ｔの、小領域ａi,jにおける人の数、αkhistory(t)はｋ番目の人の時刻ｔにおけるロボット使用履歴パラメータ、αkschedule(t)はｋ番目の人の時刻ｔにおける予定パラメータ、βi,j(t)は、小領域ａi,jの時刻ｔにおけるエリアパラメータである。
【００５９】
例えば、時刻（ｔ）において、小領域ａi,jに３人の人がおり、３人すべての過去１ヶ月間のロボット使用量が３０分、一人目の人のスケジュールは「デスクワーク」、「書類作成」と登録されており、二人目の人のスケジュールは「デスクワーク」、「デザイン」と登録されており、三人目の人のスケジュールは「実験」、「電気回路テスト」であり、この３人が立ち話をしているとする。この場合、まず３人それぞれのロボット使用履歴パラメータ、α1schedule(t)〜α3schedule(t)は、ロボット使用量変換テーブル４１３Ａを参照して「＋１．０」となる。また、一人目の予定パラメータα1schedule(t)は、スケジュール変換テーブル４１３Ｂを参照して、「＋０．２」＋「＋０．１」＝「＋０．３」、二人目の予定パラメータα2schedule(t)は、スケジュール変換テーブル４１３Ｂを参照して、「＋０．２」＋「＋０．３」＝「＋０．５」、三人目の人の予定パラメータα3schedule(t)は、スケジュール変換テーブル４１３Ｂを参照して、「＋０．３」＋「＋０．０」＝「＋０．３」となる。また、小領域ａi,jにおけるエリアパラメータβi,jは、「＋０．３」となる。したがって、小領域ａi,jにおける重み付けパラメータαi,j(t)は、上記（１）式より「＋４．４」となる。
【００６０】
さらに、推定ロボット使用量算出部４０９は、この重み付けパラメータαi,j(t)に基づいて、当該小領域ａi,j(t)における推定ロボット使用量ρi,j（ｔ）を下記（２）式により求め、メモリ４０２に記憶する。
【数２】
0006738555.tif 000003
上記（１）、（２）式に示されるように、推定ロボット使用量ρi,j（ｔ）は、時刻ｔにおける小領域ａi,j、の人の人数ｈi,j(t)と、重み付けパラメータαi,j(t)とにより算出されるが、重み付けパラメータは、小領域に存在する人の特徴により決定される値と小領域の場の特徴により決定される値とに基づいて算出される。
【００６１】
その後ステップＳ７０１の処理に戻り、全ての小領域についての推定ロボット使用量の算出を終了したか否かを判定し、終了していれば、ステップＳ７１２のロボット位置特定処理に進み、その後処理を終了する。
【００６２】
次に上記ステップＳ７１２におけるロボット位置特定処理について詳細に説明する。図９に示すように、ワークプレイス１０が、上述したようにｍ×ｎ個の小領域ａに分割されている場合、特定の小領域ａi,jを代表する中心座標をＸi,Ｙjとし、ワークプレイス１０に設置されている同一種類のロボット２０の台数をＲ、ｋ番目のロボット２０の位置座標をｘk,ｙkとし、目的関数Ｌを下記（３）式で定義する。
【数３】
0006738555.tif 000004
次いで、この目的関数Ｌが最小となるロボットの位置座標（ｘ1，ｙ1）、…（ｘl，ｙl）、…（ｘR，ｙR）を算出することにより、ロボット２０の配置位置を決定する。なお、上記の（３）式においては、各ロボット２０から小領域の中心座標までの直線距離を使用することによってロボット２０の配置位置を算出しているが、本発明は上記実施形態に限定されるものではない。実際には、ワークプレイス１０内には壁や仕切り、テーブル等の設備が配置されており、ロボット２０が必ずしも直線距離を移動できるわけではない。そこで、各ロボット２０から小領域の中心座標までの直線距離に代えてロボット２０が実際に移動する通路等に沿って計測した実効距離をロボットの配置位置算出に使用してもよい。
【００６３】
次に、上記ステップＳ７１２におけるロボット位置特定処理の別の方法について図１０、１１を参照して説明する。図１０は、各小領域における推定ロボット使用量ρi,jが第１の閾値ρ0よりも高い小領域をそうでない小領域と区別して表した説明図であり、図１１は、ロボット配置位置決定部４１０が実行するロボット位置特定処理の他の一例を示すフローチャートである。ロボット配置位置決定部４１０は、図１０に示すように、各小領域における推定ロボット使用量ρi,jが第１の閾値ρ0より高い小領域を抽出し、抽出された小領域の中から、推定ロボット使用量ρi,jの大きい順に、ワークプレイス１０に配置されるロボット２０の台数Ｒの数の小領域を選択し、選択された小領域同士が隣接している場合には、それら隣接した小領域をまとめて「島」とみなし、「島」を構成する各小領域の推定ロボット使用量ρi,jの平均値に応じて「島」に配置するロボット２０の台数を決定する。
【００６４】
図１１のフローチャートを参照して、この場合のロボット配置位置決定処理の流れを説明する。ステップＳ１１０１において、ロボット配置位置決定部４１０は、推定ロボット使用量ρi,jが第１の閾値ρ0より高い小領域を抽出し、抽出した小領域のうち、推定ロボット使用量ρi,jの大きい順にロボット２０の台数Ｒの数の小領域を選択する。ステップＳ１１０２において、上述のステップＳ１１０１において処理対象として選択された小領域の一つに、推定ロボット使用量ρi,jの大きい順に注目する。
【００６５】
ステップＳ１１０３において、注目した小領域が、ステップＳ１１０１で選択された他の小領域と隣接しているか否か、つまり「島」に属しているか否かを判定する。注目した小領域が「島」に属していないと判定された場合、つまり、ステップＳ１１０１で選択された他の小領域と隣接しない場合、ステップＳ１１０４に進み、注目した小領域をロボット２０の配置位置として決定し、ステップＳ１１０８に進む。ステップＳ１１０８において、ステップＳ１１０１で選択されたすべての小領域についてロボットの配置位置決定処理を行ったか否かを判定し、未処理の小領域がある場合には、ステップＳ１１０２に戻り、未処理の小領域についてロボットの配置位置決定処理を繰り返し行う。一方、対象のすべての小領域について処理が完了したと判定された場合には、ステップＳ１１０９に進む。ステップＳ１１０３において、注目した小領域が「島」に属していると判定された場合、ステップＳ１１０５に進む。
【００６６】
ステップＳ１１０５において、「島」が条件１を満たしているか否か、すなわち、一つの「島」を形成する各小領域の推定ロボット使用量ρi,jの平均値が第１の閾値ρ0よりも大きな第２の閾値ρ1を超えるか否かを判定する。「島」が条件１を満たしていると判定された場合、これは「島」を構成するすべての小領域においてロボット２０を使用する可能性がかなり高いことを示しているので、ステップＳ１１０７に進み、「島」を構成する各小領域のそれぞれをロボット２０の配置位置として決定し、ステップＳ１１０８に進む。ステップＳ１１０５において「島」が条件１を満たしていないと判定された場合、これは「島」を構成する小領域のうちいずれかの小領域はロボット２０を使用する可能性がそれ程高くない場合があるということを示しているので、ステップＳ１１０６に進み、「島」を形成する小領域の数よりも少ない数のロボット２０を、「島」を構成する小領域に、推定ロボット使用量ρi,jが高い順に配置することとする。具体的には、「島」を構成する小領域の数を１より大きな値であるγで割った数値の小数部を四捨五入して得た整数の数のロボット２０を、「島」に配置することとする。例えば、「島」を構成する小領域の数が「５」であり、γ＝２．０の場合、５÷２．０＝２．５であり、四捨五入の結果３台のロボット２０を「島」に配置することとする。その後、ステップＳ１１０８に進む。
【００６７】
ステップＳ１１０８において、ステップＳ１１０１で選択されたすべての小領域についてロボットの配置位置決定処理を行ったか否かを判定し、未処理の小領域がある場合には、ステップＳ１１０２に戻り、未処理の小領域についてロボットの配置位置決定処理を繰り返し行う。一方、対象のすべての小領域について処理が完了したと判定された場合には、ステップＳ１１０９に進む。ステップＳ１１０９において、すべてのロボット２０についての配置位置が決定されたか否かを判定する。すべてのロボット２０についての配置位置の決定が終了した場合は、処理を終了し、そうでない場合には、ステップＳ１１１０に進む。
【００６８】
ステップＳ１１１０において、まだ配置位置が決定していないロボットの数をｒとし、続くステップＳ１１１１において、推定ロボット使用量ρi,jが第１の閾値より大きく、かつ上記ステップＳ１１０１の操作１において選択されなかった小領域について、推定ロボット使用量ρi,jが大きい順にｒ個の小領域を選択して処理対象とみなし、ステップＳ１１０２に戻り、新たに処理対象となった小領域についてのロボット配置位置決定処理を行う。
【００６９】
以上、ワークプレイス１０におけるロボット配置位置決定処理について説明した。制御サーバ４０のロボット配置位置決定部４１０により各ロボットの配置位置が決定されると、ロボット配置位置決定部４１０は、それぞれのロボット２０についての配置位置情報を生成し、生成された配置位置情報は、通信インタフェース４０４を介してそれぞれのロボット２０に送信される。それぞれのロボット２０は、制御サーバ４０から受信した配置位置情報に基づいて現在位置からそれぞれの配置位置へ移動するための移動制御情報を生成し、配置位置へ移動する。それぞれの小領域ａにおけるロボット２０の配置位置は予め決められた位置とする。なお、上述のロボット配置位置決定処理は、所定の時間毎に実行されることにより、各ロボット２０の配置位置情報が更新され、これにより、所定の時間毎にロボット２０の配置位置が変更されるようにしてもよい。または、上述のロボット配置位置決定処理は、環境センサ３０がワークプレイス１０内における人８０の急激な移動が生じたことを検出した場合に実行されることにより、各ロボット２０の配置位置情報が更新され、ロボット２０の配置位置が変更されるようにしてもよい。
【００７０】
なお、上記実施形態においては、環境センサ３０によってワークプレイス１０の小領域に存在する人の人数および人物の特定を行った例を説明したが、これは、本発明をこの方法に限定するものではない。他にも、ワークプレイス１０内で業務を行う人８０に無線通信デバイス（例えば、ビーコン発信機を内蔵したカードのような電波を発生させるもの）を身につけさせ、これをアクセスポイント６０或いはビーコン受信機により受信することによって人８０の位置座標と個人情報を取得できるようにしてもよい。また、無線通信デバイスの性能によっては、人８０の正確な位置情報を取得させる必要はなく、例えば、ビーコン受信機をワークプレイス１０の小領域ａ毎に配置し、ビーコン受信機付近の人数、および個人情報を取得するという構成にしてもよい。
【００７１】
また、ワークプレイス１０に複数のコンピュータ７０が配置されている場合に、このコンピュータ７０が定位置に配置されている場合には、コンピュータ７０へのログオン情報を制御サーバ４０によって収集することで、各小領域ａに存在する人の人数、個人の特定を行うことが可能となる。
【００７２】
なお、上記の実施形態においては、ロボット２０が各配置位置に配置される際の、それぞれの小領域ａにおけるロボット２０の配置位置は予め決められた位置とした例を説明したが、それ以外にも、例えば、予め制御サーバ４０に記憶してある家具（机や壁等）の情報と、環境センサ３０によってリアルタイムに検知した人の位置についての情報から、各小領域における人の人数（人口密度）が最も少ない場所をロボット２０の配置位置とするようにしてもよい。また、それぞれの小領域におけるロボットの配置位置に配置可能なロボット２０の最大台数を予め設定しておいてもよい。また、この最大台数を、ロボット２０の種類、大きさ等に応じて変更できるようにしてもよい。
【００７３】
さらに、上記の実施形態においては、小領域ａの大きさが皆同一の場合について説明した。しかしながら、小領域ａの大きさはそれぞれ異なっていてもよい。その場合には、上記（１）、（２）式において、小領域の人数に代えて人口密度を使用して推定ロボット使用量を算出すればよい。
【符号の説明】
【００７４】
１０    ワークプレイス
２０    ロボット
３０    環境センサ
４０    制御サーバ
５０    ネットワーク
６０    アクセスポイント
７０    コンピュータ
１００  ロボット制御システム
２１１    制御用マイクロプロセッサ
２１２    メモリ
２１３    記憶装置
２１４    通信インタフェース
２１５    カメラ
２１６    マイクロフォン
２１７    スピーカ
２１８    モータ
２１９    現在位置検出装置
２２０    制御バス
２２１    認識部
２２２    対話制御部
２２３    移動制御部
４０１    ＣＰＵ
４０２    メモリ
４０３    記憶装置
４０４    通信インタフェース
４０５    ユーザインタフェース
４０６    制御バス
４０７    センサ情報取得部
４０８    センサ情報解析部
４０９    推定ロボット使用量算出部
４１０    ロボット配置位置決定部
４１１    スケジュール・データベース
４１２    ロボット使用履歴データベース
４１３    変換テーブル
【図１】
0006738555.tif 000005
【図２】
0006738555.tif 000006
【図３】
0006738555.tif 000007
【図４】
0006738555.tif 000008
【図５】
0006738555.tif 000009
【図６】
0006738555.tif 000010
【図７】
0006738555.tif 000011
【図８】
0006738555.tif 000012
【図９】
0006738555.tif 000013
【図１０】
0006738555.tif 000014
【図１１】
0006738555.tif 000015