(57)【要約】【課題】  複数のロボットに一以上のタスクを効率よく実行させることができるロボット制御装置を提供する。【解決手段】  ロボット制御装置３は、入出力部３ａと、優先度データ生成部３ｂ１、スケジュールデータ生成部３ｂ２、実行命令生成部３ｂ３及びタスクデータ分割部３ｂ４を備えた制御手段３ｂと、地図情報データベースＤＢ１、個人情報データベースＤＢ２、ロボット情報データベースＤＢ３及びタスク情報データベースＤＢ４を備えた記憶部３ｃと、を備えている。優先度データ生成部３ｂ１は、タスク管理データベースＤＢ４に格納されている未実行のタスクデータについて、優先度データを生成する。スケジュールデータ生成部３ｂ２は、優先度データに基づいて、タスクをロボットごとに振り分けてスケジュールデータを生成する。実行命令生成部３ｂ３は、スケジュールデータに基づいて、ロボットＲにタスクを実行させるための実行命令（データ）を生成する。【選択図】      図３
2005324278.tif 000002
【特許請求の範囲】
【請求項１】
移動機能を備えた複数のロボットと通信を行い、一以上のタスクを実行させるためのロボット制御装置であって、
ロボットに実行させるタスクに関するタスクデータが入力される入出力部と、
入力された前記タスクデータを格納するタスクデータ記憶部と、
格納された前記タスクデータの優先度に関するデータである優先度データを生成する優先度データ生成部と、
生成された前記優先度データに基づいて、タスクを実行させるロボット及びその実行順位に関するデータであるスケジュールデータを生成するスケジュールデータ生成部と、
前記スケジュールデータに基づいて、ロボットに少なくとも実行順位が最も高いタスクを実行させるための実行命令を生成する実行命令生成部と、を備え、
生成された前記実行命令を、前記入出力部を介して前記ロボットに送信することを特徴とするロボット制御装置。
【請求項２】
前記タスクデータは、タスク開始予定時刻を含み、
前記優先度データは、優先度データ生成時の時刻とタスク開始予定時刻とが近づくほど優先度が高くなるように設定されることを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記タスクデータ記憶部において新規タスクデータが格納された場合、または未実行のタスクデータが消滅した場合に、前記優先度データ生成部が優先度データの再生成を行うことを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項４】
前記スケジュールデータ生成部は、前記優先度データに基づいて前記タスクデータを複数のグループに分け、前記グループごとに前記スケジュールデータを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項５】
前記スケジュールデータ生成部は、前記ロボットの台数及び前記タスクデータの数の少なくとも一つに基づいて、前記グループの数を決めることを特徴とする請求項４に記載のロボット制御装置。
【請求項６】
前記タスクデータは、タスク開始予定時刻及びタスク終了予定時刻の少なくとも一つを含み、
前記優先度データ生成部は、前記タスク開始予定時刻及び前記タスク終了予定時刻の少なくとも一つに基づいて前記優先度データを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項７】
前記タスクデータは、タスク開始位置及びタスク終了位置の少なくとも一つを含み、
前記優先度データ生成部は、前記タスク開始位置及び前記タスク終了位置の少なくとも一つに基づいて前記優先度データを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項８】
前記タスクデータは、タスク開始位置及びタスク終了位置の少なくとも一つを含み、
前記スケジュールデータ生成部は、前記タスク開始位置及び前記タスク終了位置の少なくとも一つに基づいて前記スケジュールデータを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項９】
前記タスクデータは、タスクの重要度を含み、
前記優先度データ生成部は、前記タスクの重要度に基づいて前記優先度データを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項１０】
さらに、前記ロボットから前記入出力部を介して入力された、前記ロボットの位置を含むロボットデータを格納するロボットデータ記憶部を備えており、
前記タスクデータは、タスク開始位置を含み、
前記優先度データ生成部は、前記ロボットの位置及び前記タスク開始位置に基づいて、前記タスク開始位置と最も近傍の前記ロボットの位置との距離が小さいほど優先度が高くなるように前記優先度データを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項１１】
さらに、前記ロボットから前記入出力部を介して入力された、前記ロボットの位置を含むロボットデータを格納するロボットデータ記憶部を備えており、
前記タスクデータは、タスク開始位置及びタスク終了位置を含み、
前記スケジュールデータ生成部は、前記ロボットの位置、前記タスク開始位置及び前記タスク終了位置の少なくとも一つに基づいて、前記スケジュールデータを生成することを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項１２】
実行順位がｎ番目のタスクにおけるタスク終了位置を、実行順位がｎ＋１番目のタスクにおけるロボットの位置として前記スケジュールデータを生成することを特徴とする請求項１１に記載のロボット制御装置。
【請求項１３】
前記スケジュールデータは、前記ロボットの移動距離が小さくなるように、あるいは、前記タスクが早く終了するように生成されることを特徴とする請求項１１または請求項１２に記載のロボット制御装置。
【請求項１４】
入力された一つのタスクデータを分割するか否かを判断し、分割すると判断した場合に、前記一つのタスクデータから複数のタスクデータを生成するタスクデータ分割部を備えていることを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項１５】
前記タスクデータは、タスク開始位置及びタスク終了位置を含み、
前記タスクデータ分割部は、前記タスク開始位置及び前記タスク終了位置に基づいて、前記タスクデータを分割するか否かを判断することを特徴とする請求項１４に記載のロボット制御装置。
【請求項１６】
前記ロボットは、建物の少なくとも一部の複数階にそれぞれ配置されており、
前記タスクデータ分割部は、前記タスク開始位置と前記タスク終了位置とが異なる階である場合に、前記建物の各階ごとのタスクデータを生成することを特徴とする請求項１５に記載のロボット制御装置。
【請求項１７】
前記ロボットは、それぞれタスク担当エリアが設定されており、
前記タスクデータ分割部は、前記タスク開始位置と前記タスク終了位置とが、異なるロボットのタスク担当エリアに位置している場合には、前記担当エリアごとのタスクデータを生成することを特徴とする請求項１５に記載のロボット制御装置。
【請求項１８】
さらに、前記ロボットから前記入出力部を介して入力された、前記ロボットの位置を含むロボットデータを格納するロボットデータ記憶部を備えており、
前記タスクデータは、タスク開始位置及びタスク終了位置を含み、
前記タスクデータ分割部は、前記ロボットの位置、前記タスク開始位置及び前記タスク終了位置に基づいて、前記タスクデータを分割するか否かを判断することを特徴とする請求項１５に記載のロボット制御装置。
【請求項１９】
さらに、前記ロボットが移動する場所に関する地図データを格納する地図データ記憶部を備えており、
前記地図データに基づいて、前記ロボットを移動させることを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項２０】
さらに、前記ロボットがコミュニケーションを行う人に関する個人データを格納する個人データ記憶部を備えており、
前記個人データに基づいて、前記ロボットにコミュニケーションを行わせることを特徴とする請求項１または請求項２に記載のロボット制御装置。
【請求項２１】
前記個人データに基づいて、前記タスクの重要度が求められ、
前記優先度データ生成部は、前記タスクの重要度に基づいて前記優先度データを生成することを特徴とする請求項２０に記載のロボット制御装置。
【請求項２２】
前記ロボットから前記入出力部を介してタスクデータが入力され、前記タスクデータ記憶部に格納されることを特徴とする請求項１または請求項２に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットにタスクを実行させるためのロボット制御装置に関し、特に複数の自律移動ロボットに一以上のタスクを実行させるためのロボット制御装置に関する。
【背景技術】
【０００２】
近年、自律移動可能なロボットを用いて、各種の作業（受付業務など、以下、「タスク」と記載する）を実行させるといった試みがなされている（例えば、特許文献１参照）。特許文献１に記載のロボット装置は、「タスク、動作実行判断部」を備えており、通信部を介して受信したタスクを実行可能であるか否かを判断する。そして、実行不可能であると判断した場合には、そのタスクを実行可能な他のロボット装置を探し、他のロボット装置にタスクを実行させる、といった機能を有している。
【特許文献１】特開２００３−２９１０８３号公報（段落００１６〜００４５、図１〜５）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載のロボット装置は、以下に示す問題を有している。
（１）  ロボット装置が、タスクを実行可能であるか否かを判断するので、ロボット装置にかかる負荷が大きい。
（２）  ロボット装置が、タスクを実行不可能と判断した場合には、実行可能な他のロボット装置を探すので、通信負荷が非常に大きくなる。
（３）  複数のロボット装置に複数のタスクを実行させる場合には、各ロボット装置が、どのタスクについての判断を行うのか、どのタスクを実行するのか、といったタスクの判断・実行に関する効率化が行われていない。そのため、全てのタスクを実行させた場合であっても、ロボットの移動量が非常に大きくなったり、タスクを終了する時間が遅くなったりするといった、非常に効率の悪い組み合せでタスクを実行させることになる。
【０００４】
本発明は、前記した問題を解決すべく創案されたものであり、複数のロボットに一以上のタスクを効率よく実行させることができるロボット制御装置を提供することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため、本発明のロボット制御装置は、移動機能を備えた複数のロボットと通信を行い、一以上のタスクを実行させるためのロボット制御装置であって、ロボットに実行させるタスクに関するタスクデータが入力される入出力部と、入力された前記タスクデータを格納するタスクデータ記憶部と、格納された前記タスクデータの優先度に関するデータである優先度データを生成する優先度データ生成部と、生成された前記優先度データに基づいて、タスクを実行させるロボット及びその実行順位に関するデータであるスケジュールデータを生成するスケジュールデータ生成部と、前記スケジュールデータに基づいて、ロボットに少なくとも実行順位が最も高いタスクを実行させるための実行命令を生成する実行命令生成部と、を備え、生成された前記実行命令を、前記入出力部を介して前記ロボットに送信することを特徴とする。
【０００６】
また、前記タスクデータは、タスク開始予定時刻を含み、前記優先度データは、優先度データ生成時の時刻とタスク開始予定時刻とが近づくほど優先度が高くなるように設定されることが望ましい。
【０００７】
また、前記タスクデータ記憶部において新規タスクデータが格納された場合、または未実行のタスクデータが消滅した場合に、前記優先度データ生成部が優先度データの再生成を行うことが望ましい。
【０００８】
また、前記スケジュールデータ生成部は、前記優先度データに基づいて前記タスクデータを複数のグループに分け、前記グループごとに前記スケジュールデータを生成することが望ましく、さらには、前記スケジュールデータ生成部は、前記ロボットの台数及び前記タスクデータの数の少なくとも一つに基づいて、前記グループの数を決めることが望ましい。
【０００９】
また、前記タスクデータは、タスク開始予定時刻及びタスク終了予定時刻の少なくとも一つを含み、前記優先度データ生成部は、前記タスク開始予定時刻及び前記タスク終了予定時刻の少なくとも一つに基づいて前記優先度データを生成することが望ましい。
【００１０】
また、前記タスクデータは、タスク開始位置及びタスク終了位置の少なくとも一つを含み、前記優先度データ生成部は、前記タスク開始位置及び前記タスク終了位置の少なくとも一つに基づいて前記優先度データを生成することが望ましい。
【００１１】
また、前記タスクデータは、タスク開始位置及びタスク終了位置の少なくとも一つを含み、前記スケジュールデータ生成部は、前記タスク開始位置及び前記タスク終了位置の少なくとも一つに基づいて前記スケジュールデータを生成することが望ましい。
【００１２】
また、前記タスクデータは、タスクの重要度を含み、前記優先度データ生成部は、前記タスクの重要度に基づいて前記優先度データを生成することが望ましい。
【００１３】
また、ロボット制御装置は、さらに、前記ロボットから前記入出力部を介して入力された、前記ロボットの位置を含むロボットデータを格納するロボットデータ記憶部を備えており、前記タスクデータは、タスク開始位置を含み、前記優先度データ生成部は、前記ロボットの位置及び前記タスク開始位置に基づいて、前記タスク開始位置と最も近傍の前記ロボットの位置との距離が小さいほど優先度が高くなるように前記優先度データを生成することが望ましい。
【００１４】
また、ロボット制御装置は、さらに、前記ロボットから前記入出力部を介して入力された、前記ロボットの位置を含むロボットデータを格納するロボットデータ記憶部を備えており、前記タスクデータは、タスク開始位置及びタスク終了位置を含み、前記スケジュールデータ生成部は、前記ロボットの位置、前記タスク開始位置及び前記タスク終了位置の少なくとも一つに基づいて、前記スケジュールデータを生成することが望ましい。さらには、実行順位がｎ番目のタスクにおけるタスク終了位置を、実行順位がｎ＋１番目のタスクにおけるロボットの位置として前記スケジュールデータを生成することが望ましく、前記スケジュールデータは、前記ロボットの移動距離が小さくなるように、あるいは、前記タスクが早く終了するように生成されることが望ましい。
【００１５】
また、ロボット制御装置は、入力された一つのタスクデータを分割するか否かを判断し、分割すると判断した場合に、前記一つのタスクデータから複数のタスクデータを生成するタスクデータ分割部を備えていることが望ましい。
【００１６】
また、前記タスクデータは、タスク開始位置及びタスク終了位置を含み、前記タスクデータ分割部は、前記タスク開始位置及び前記タスク終了位置に基づいて、前記タスクデータを分割するか否かを判断することが望ましい。
【００１７】
また、前記ロボットは、建物の少なくとも一部の複数階にそれぞれ配置されており、前記タスクデータ分割部は、前記タスク開始位置と前記タスク終了位置とが異なる階である場合に、前記建物の各階ごとのタスクデータを生成することが望ましい。
【００１８】
また、前記ロボットは、それぞれタスク担当エリアが設定されており、前記タスクデータ分割部は、前記タスク開始位置と前記タスク終了位置とが、異なるロボットのタスク担当エリアに位置している場合には、前記担当エリアごとのタスクデータを生成することが望ましい。
【００１９】
また、さらに、前記ロボットから前記入出力部を介して入力された、前記ロボットの位置を含むロボットデータを格納するロボットデータ記憶部を備えており、前記タスクデータは、タスク開始位置及びタスク終了位置を含み、前記タスクデータ分割部は、前記ロボットの位置、前記タスク開始位置及び前記タスク終了位置に基づいて、前記タスクデータを分割するか否かを判断することが望ましい。
【００２０】
また、ロボット制御装置は、さらに、前記ロボットが移動する場所に関する地図データを格納する地図データ記憶部を備えており、前記地図データに基づいて、前記ロボットを移動させることが望ましい。
【００２１】
また、ロボット制御装置は、さらに、前記ロボットがコミュニケーションを行う人に関する個人データを格納する個人データ記憶部を備えており、前記個人データに基づいて、前記ロボットにコミュニケーションを行わせることが望ましい。
【００２２】
また、ロボット制御装置は、前記個人データに基づいて、前記タスクの重要度が求められ、前記優先度データ生成部は、前記タスクの重要度に基づいて前記優先度データを生成することが望ましい。
【００２３】
また、ロボット制御装置は、前記ロボットから前記入出力部を介してタスクデータが入力され、前記タスクデータ記憶部に格納されることが望ましい。
【発明の効果】
【００２４】
本発明によれば、複数のロボットに一以上のタスクを効率よく実行させることができるロボット制御装置を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態について、企業の受付案内に適用した場合を例にとり、適宜図面を参照しながら説明する。同様の部分には同一符号を付し、重複する説明を省略する。
【００２６】
（ロボット制御システムＡの構成）
はじめに、本発明の実施形態に係るロボット制御システムついて説明する。図１は、本発明の実施形態に係るロボット制御システムのシステム構成図である。
このロボット制御システムＡは、ロボット制御装置が優先度データに基づいてタスクのスケジューリングを行い、かかるスケジューリングに基づいてタスクの実行命令を送信し、実行命令を受信したロボットがタスクを実行するものである。
【００２７】
図１に示すように、ロボット制御システムＡは、建物の各階に配置されたロボットＲＡ，ＲＢ，ＲＣと、これらロボットＲＡ，ＲＢ，ＲＣと無線通信によって接続された基地局（例えば、無線ＬＡＮ）１Ａ，１Ｂ，１Ｃと、これら基地局１Ａ，１Ｂ，１Ｃとルーター２を介して接続されたロボット制御装置（例えば、サーバー）３と、ロボット制御装置３にネットワーク（ＬＡＮ）４を介して接続された端末５と、を備えている。
【００２８】
ロボットＲＡ，ＲＢ，ＲＣは、それぞれ、建物の一階、二階、三階に配置されており、原則として、配置された階におけるタスクを実行するものである。ただし、ある階におけるタスク量が非常に多い場合などには、別の階のロボットがその階に移動して当該階のロボットと協働・分担してタスクを実行することも可能である。以下、ロボットＲＡ，ＲＢ，ＲＣを区別する必要がない場合には、ロボットＲと記載することもある。
【００２９】
基地局１Ａ，１Ｂ，１Ｃは、それぞれ、建物の一階、二階、三階に設けられており、各階においてロボットＲと通信するためのものである。以下、基地局１Ａ，１Ｂ，１Ｃを区別する必要がない場合には、基地局１と記載することもある。
【００３０】
以下、ロボットＲ及びロボット制御装置３の構成についてそれぞれ詳細に説明する。
【００３１】
［ロボットＲ］
本発明の実施形態に係るロボットＲは、自律移動型の２足歩行ロボットである。
このロボットＲは、ロボット制御装置３から送信された実行命令に基づき、タスクを実行するものである。
【００３２】
図１に示すように、このロボットＲは、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３を有しており、頭部Ｒ１、腕部Ｒ２、脚部Ｒ３は、それぞれアクチュエータにより駆動され、自律移動制御部５０（図２参照）により２足歩行の制御がなされる。この２足歩行についての詳細は、例えば特開２００１−６２７６０号公報に開示されている。
【００３３】
図２は、ロボットＲのブロック構成図である。
図２に示すように、ロボットＲは、前記した頭部Ｒ１、腕部Ｒ２、脚部Ｒ３に加えて、カメラＣ，Ｃ、スピーカＳ、マイクＭＣ、画像処理部１０、音声処理部２０、画像送信部３０、制御部４０、自律移動制御部５０、無線通信部６０を有している。
さらに、ロボットＲは、ロボットＲ自身の向きを検出するためのジャイロセンサＳＲ１を有している。
【００３４】
［カメラＣ，Ｃ］
カメラＣ，Ｃは、映像をデジタルデータとして取り込むことができるものであり、例えばカラーＣＣＤ（Charge-Coupled Device）カメラが使用される。カメラＣ，Ｃは、左右に平行に並んで配置され、撮影した画像は画像処理部１０に出力される。このカメラＣ，Ｃと、スピーカＳ及びマイクＭＣは、いずれも頭部Ｒ１の内部に配設されている。
【００３５】
［画像処理部１０］
画像処理部１０は、カメラＣ，Ｃが撮影した画像を処理して、撮影された画像からロボットＲの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部１０は、ステレオ処理部１１ａ、移動体抽出部１１ｂ、及び顔認識部１１ｃを含んで構成される。
ステレオ処理部１１ａは、左右のカメラＣ，Ｃが撮影した２枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像及び元の画像を移動体抽出部１１ｂに出力する。なお、この視差は、ロボットＲから撮影された物体までの距離を表すものである。
【００３６】
移動体抽出部１１ｂは、ステレオ処理部１１ａから出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体（移動体）を抽出するのは、移動する物体は人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部１１ｂは、過去の数フレーム（コマ）の画像を記憶しており、最も新しいフレーム（画像）と、過去のフレーム（画像）を比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラＣ，Ｃから所定の距離範囲内で、移動量の多い画素がある場合に、その位置に人物がいると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部１１ｃへ移動体の画像を出力する。
【００３７】
顔認識部１１ｃは、抽出した移動体から肌色の部分を抽出して、その大きさ、形状などから顔の位置を認識する。なお、同様にして、肌色の領域と、大きさ、形状などから手の位置も認識される。
認識された顔の位置は、ロボットＲが移動するときの情報として、また、その人とのコミュニケーションを取るため、制御部４０に出力されると共に、無線通信部６０に出力されて、基地局１を介して、ロボット制御装置３に送信される。
【００３８】
［音声処理部２０］
音声処理部２０は、音声合成部２１ａと、音声認識部２１ｂとを有している。
音声合成部２１ａは、制御部４０が決定し、出力してきた発話行動の指令に基づき、文字情報から音声データを生成し、スピーカＳに音声を出力する部分である。音声データの生成には、予め記憶している文字情報と音声データとの対応関係を利用する。
音声認識部２１ｂは、マイクＭＣから音声データが入力され、予め記憶している音声データと文字情報との対応関係に基づき、音声データから文字情報を生成し、制御部４０に出力するものである。
【００３９】
［自律移動制御部５０］
自律移動制御部５０は、頭部制御部５１ａ、腕部制御部５１ｂ、脚部制御部５１ｃを有している。
頭部制御部５１ａは、制御部４０の指示に従い頭部Ｒ１を駆動し、腕部制御部５１ｂは、制御部４０の指示に従い腕部Ｒ２を駆動し、脚部制御部５１ｃは、制御部４０の指示に従い脚部Ｒ３を駆動する。
また、ジャイロセンサＳＲ１が検出したデータは、制御部４０に出力され、ロボットＲの行動を決定するのに利用されると共に、制御部４０から無線通信部６０を介してロボット制御装置３に送信される。
【００４０】
［無線通信部６０］
無線通信部６０は、ロボット制御装置３とデータの送受信を行う通信装置である。無線通信部６０は、公衆回線通信装置６１ａ及び無線通信装置６１ｂを有している。
公衆回線通信装置６１ａは、携帯電話回線やＰＨＳ（Personal Handyphone System）回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置６１ｂは、IEEE802.11b規格に準拠する無線ＬＡＮなどの、近距離無線通信による無線通信手段である。
無線通信部６０は、ロボット制御装置３からの接続要求に従い、公衆回線通信装置６１ａ又は無線通信装置６１ｂを選択してロボット制御装置３とデータ通信を行う。
【００４１】
［ロボット制御装置３］
図３は、ロボット制御装置３のブロック構成図である。
図３に示すように、ロボット制御装置３は、入出力部３ａと、優先度データ生成部３ｂ１、スケジュールデータ生成部３ｂ２、実行命令生成部３ｂ３及びタスクデータ分割部３ｂ４を備えた制御手段３ｂと、地図情報データベースＤＢ１、個人情報データベースＤＢ２、ロボット情報データベースＤＢ３及びタスク情報データベースＤＢ４を備えた記憶部３ｃと、を備えている。この記憶部３ｃのうち、地図情報データベースＤＢ１が格納された部分が、特許請求の範囲における「地図データ記憶部」の一例である。また、記憶部３ｃのうち、個人情報データベースＤＢ２が格納された部分が、特許請求の範囲における「個人データ記憶部」の一例である。また、記憶部３ｃのうち、ロボット情報データベースＤＢ３が格納された部分が、特許請求の範囲における「ロボットデータ記憶部」の一例である。また、記憶部３ｃのうち、タスク情報データベースＤＢ４が格納された部分が、「タスクデータ記憶部」の一例である。まず、各種データベースについて説明する。
【００４２】
［地図情報データベースＤＢ１］
地図情報データベースＤＢ１は、ロボットＲが自律移動し、タスクを実行する位置に関する地図情報（グローバルマップ）を格納するためのデータベースである。地図情報は、ロボットＲの自律移動範囲にある通路、階段、エレベータ、部屋などに関する情報を含むデータである。ロボットＲは、地図情報によって歩行可能な範囲で自律移動可能である。すなわち、地図情報データベースＤＢ１は、ロボットＲの自律移動に用いられており、ロボットＲは所望の位置（タスク開始位置など）に速やかに移動することができる。
地図情報は、オペレータによる端末５の操作によって更新可能である。
【００４３】
［個人情報データベースＤＢ２］
個人情報データベースＤＢ２は、個人（来訪者）に関する情報（個人データ）を格納するためのデータベースである。
個人データは、少なくとも個人ＩＤを含み、その他、氏名、年齢、性別、所属名、役職名、顔画像などに関する情報（データ）を含んでいる。かかる個人データは、ロボットＲが来訪者を識別し、来訪者に合わせたコミュニケーションを行うのに用いられるだけでなく、後記するタスクの重要度を得るためにも用いられている。
個人データは、オペレータによる端末５の操作によって更新可能であり、また、ロボットＲが来訪者とコミュニケーションを行う際に取得されることによっても更新可能である。
【００４４】
［ロボット情報データベースＤＢ３］
ロボット情報データベースＤＢ３は、ロボットの状態に関するデータであるロボットデータを格納するためのデータベースである。
ロボットデータは、少なくともロボットＩＤ及び現在位置に関する情報（データ）を含み、その他、バッテリ残量、駆動系異常の有無、などに関する情報（データ）を含んでいる。
ロボットデータは、ロボットＲの制御部４０で生成されたものであり、無線通信部６０及び基地局１を介してロボット情報データベースに格納される。
ロボットデータ送信のタイミングとしては、（１）定期的に送信する、（２）バッテリ残量が所定値以下となった場合、駆動系に異常が発生した場合など、ロボットＲの状態に変化があった場合に送信する、（３）ロボット制御装置３からのロボットデータ要求信号を受信した場合に送信する、などが考えられ、これらを組み合わせたものが適用される。
【００４５】
［タスク情報データベースＤＢ４］
タスク情報データベースＤＢ４は、端末５やロボットＲから入出力部３ａを介して入力されたタスクに関する情報（タスクデータ）を格納するためのデータベースである。
タスクデータは、ロボットＲに実行させるタスクに関するデータであり、タスクＩＤ、タスク開始予定時刻、タスク終了予定時刻、タスク開始位置、タスク終了位置、タスクの内容（受付、案内など）、個人ＩＤ、タスクの重要度などに関する情報（データ）を含んでいる。ここで、タスク終了予定時刻は、入力されるタスクデータに最初から含まれていてもよく、タスク開始予定時刻、タスク開始位置、タスク終了位置及びタスクの内容からタスクをジックするための時間を算出することによって得られる構成であってもよい。
タスクデータは、オペレータによる端末５の操作によって更新可能であり、また、ロボットＲが来訪者とコミュニケーションを行う際に取得されることによっても更新可能である。
【００４６】
［入出力部３ａ］
入出力部３ａは、基地局１やネットワーク４を介して、ロボットＲや端末５との間でデータの送受信を行うためのインタフェースである。
【００４７】
［優先度データ生成部３ｂ１］
優先度データ生成部３ｂ１は、タスク情報データベースＤＢ４に格納されている複数のタスクデータのうち、未実行のタスクデータについて、それぞれ優先度データを生成するものである。
タスクの優先度データ「Ｐ」は、以下の式（１）によって算出される。
【００４８】
【数１】
2005324278.tif 000003
【００４９】
ここで、前記式（１）における「Ｔ’pri」は、以下の式（２）によって算出される。
【００５０】
【数２】
2005324278.tif 000004
【００５１】
ここで、「Ｔpri」は、「タスクの重要度（調整前）」である。「Ｔpri」は、例えば、１．０（重要度低）から０．５間隔で５．０（重要度高）までの値であり、オペレータによる端末５の操作によって入力された値や、個人ＩＤ（役職など）などから算出された値が用いられる。本実施形態では、来訪者の個人情報（個人情報データベースＤＢ２に格納された情報、ロボットＲが来訪者とコミュニケーションをとることによって取得してロボット制御装置３に送られた情報など）により「Ｔpri」を決定する。
また、「Ｔsp」は、タスクの開始位置から最も近傍のロボットＲまでの移動距離を、ロボットＲの平均歩行速度で割った値、すなわち、「最も近傍のロボットＲがタスクの開始位置まで移動するのにかかる時間」であり、「ｎ（Ｔsp）」は、「ロボットＲに近傍のタスクを優先して実行させるための重要度」である。「ｎ（Ｔsp）」の値は、タスク開始位置と、最も近傍のロボットＲの位置との距離が小さいほど大きくなる値である。すなわち、「ｎ（Ｔsp）」は、タスク開始位置の近くにロボットＲが位置するほど、タスクの重要度が大きくなるようにはたらく値である。本実施形態では、「Ｔsp」が所定値以下である場合にのみ、「ｎ（Ｔsp）」が所定の正の値をとる（その他は０）ものとする。これらの値を算出するための値として、タスクの開始位置はタスク情報データベースＤＢ４に格納されたものを用いる。また、ロボットＲの現在位置は、ロボット情報データベースＤＢ３に格納されたものを用いる。このようにして算出された「Ｔ’pri」は「調整済みタスク重要度」であり、以下、かかる「Ｔ’pri」のことを、単に「タスクの重要度」と呼ぶこととする。
【００５２】
また、前記式（１）における「ｆ（Ｔerr）」は、「重要度の時的変化係数」であり、以下の式（３）によって算出される。
【００５３】
【数３】
2005324278.tif 000005
【００５４】
ここで、「Ｔerr」は、「時間余裕」であり、「（現在の時刻）−（タスク開始予定時刻）」である。すなわち、時間余裕「Ｔerr」は、タスク開始予定時刻よりも前では、正の値をとる。そして、時間の経過とともに小さくなり、タスク開始予定時刻を過ぎると、負の値をとる。
また、「Ｔtime」は、「タスクを実行するのに必要な時間」であり、「（タスク終了予定時刻）−（タスク開始予定時刻）」である。
また、「Ｃobli」は、「忘却係数」であり、「ｆ（Ｔerr）」の下り勾配、すなわち、優先度データ「Ｐ」の下り勾配を決める値である。
【００５５】
時間余裕「Ｔerr」と重要度の時的変化係数「ｆ（Ｔerr）」との関係を表すグラフを、図４に示す。ここで、「ｆ（Ｔerr）」は、０から１までの間の値をとるものとする。
【００５６】
（Ｔerr＞Ｔtime）
タスク開始予定時刻が迫ると（時間余裕「Ｔerr」が正から０に近づくと）、「ｆ（Ｔerr）」が上昇する。そして、「時間余裕」が「タスクを実行するのに必要な時間」以下になると、「ｆ（Ｔerr）」は「１」となる。これは、以下の理由による。
タスクをタスク終了予定時刻までに実行完了するためには、タスク開始予定時刻よりも前にタスクを開始しなければならない。したがって、「ｆ（Ｔerr）」は、タスク開始予定時刻が近づくにつれて大きくなり、Ｔerr＝Ｔtime（すなわち、現在時刻がタスク開始予定時刻と一致したとき）で最大となるように設定されている。
また、式（１）の優先度データ「Ｐ」に対し、タスクの重要度「Ｔ’pri」よりも時間余裕「Ｔerr」の項の方が重要であるため、ｆ（Ｔerr）として非線形な勾配を採用した（図４参照）。この勾配はＴtimeに依存しており、Ｔtimeが大きいほど勾配が緩やかになるように設定されている。
【００５７】
（０≦Ｔerr≦Ｔtime）
現在時刻がタスク開始予定時刻とタスク終了予定時刻の間となる場合である。この時間内にタスクを開始しても、タスク終了予定時刻までに終了することはできず、できるだけ早くタスクを開始する必要がある時間帯である。そのため、「ｆ（Ｔerr）」は最大値「１」をとる。
【００５８】
（０＞Ｔerr＞−Ｃobli・Ｔtime）
そして、現在時刻がタスク終了予定時刻を過ぎると（時間余裕「Ｔerr」が０より小さくなると）、「ｆ（Ｔerr）」が次第に下降して「０」となり、タスクを忘却する。
このように、タスク終了予定時刻を過ぎてもｆ（Ｔerr）がすぐに０にならないのは、以下の理由による。
受付案内などのタスクは、一般的にソフトなリアルタイムスケジューリングである。例えば、来訪者がやや遅れてくる場合などもあり、時刻を厳守する必要が少なく、ある時刻付近でタスクを実行すればよい。したがって、タスク終了予定時刻を過ぎても、タスクの優先度を保持する必要がある。ここで、忘却係数「Ｃobli」は、  Ｔerr＝−Ｃobli・Ｔtime  で  ｆ（Ｔerr）＝０  となるように設定されている。つまり、  Ｔerr≦−Ｃobli・Ｔtime  では  ｆ（Ｔerr）＝０  、すなわち  Ｐ＝０  となり、タスクを忘却するように設定されている。
【００５９】
また、タスクの重要度「Ｔ’pri」、時間余裕「Ｔerr」及びタスクの優先度「Ｐ」の関係を表すグラフを、図５に示す。
【００６０】
このように、時間（時刻）に関するデータ、位置に関するデータ、重要度に関するデータに基づいて優先度データ「Ｐ」を生成するので、タスクの優先度として好適な値を得ることができ、かかる優先度データ「Ｐ」は、後記するスケジュールデータの生成に使用可能である。
【００６１】
［スケジュールデータ生成部３ｂ２］
スケジュールデータ生成部３ｂ２は、優先度データ生成部３ｂ１で生成された優先度データに基づいて、タスクをロボットごとに割り当ててスケジュールデータを生成するものである。
ここでスケジュールデータとは、各タスクデータについて、「どのロボットＲに、どの実行順位で実行させるか、」を決定するためのデータである。すなわち、スケジュールデータは、実行させるロボットＲに関するロボットＩＤと、実行順位データと、を含んでいる。また、タスクを割り当てた際に、各タスクの開始予定時刻及び終了予定時刻が改めて生成されており、これらもスケジュールデータに含まれている。
【００６２】
以下、スケジュールデータ生成の手順について説明する。あるロボット（ｉ）が、あるタスク（ｊ）を実行したときにかかる時間「Ｃij」は、式（４）によって算出される。
【００６３】
【数４】
2005324278.tif 000006
【００６４】
ここで、「Ｗｒ」は、「タスク開始位置までの歩行にかかる時間」である。この「Ｗｒ」は、ロボット情報データベースＤＢ３に格納されたロボットＲの現在位置と、タスク情報データベースＤＢ４に格納されたタスク開始位置と、地図情報データベースＤＢ１に格納された地図情報と、ロボットＲの平均歩行速度と、に基づいて算出される。
また、「Ｗｒｈ」は、「タスク実行中の歩行にかかる時間」である。この「Ｗｒｈ」は、タスクデータベースＤＢ４に格納されたタスク開始位置及びタスク終了位置と、地図情報データベースＤＢ１に格納された地図情報と、ロボットＲの平均歩行速度と、に基づいて算出される。
また、「Ｇ（task type）」は、「タスク実行中に、ロボットの来訪者とのコミュニケーション（ジェスチャー、会話など）にかかる時間」である。この「Ｇ（task type）」は、タスクの種類（挨拶、受付、案内など）によって予め定められた値が、記憶手段３ｃに格納されている。
【００６５】
また、ｍ個のタスクをｎ台のロボットに割り当てる際のある組み合せを「ｋ」、全ての組み合わせを表現する重複順列を「Ｍ（ｋ）  （１≦ｋ≦ｎm）」とし、その要素を「ｘij」とすると、割り当てられたタスクによる各ロボットの動作量に関するコスト（主に移動距離に依存する）「Ｃｒ（ｉ）」は、式（５）によって算出される。
【００６６】
【数５】
2005324278.tif 000007
【００６７】
ロボット制御システムＡ全体の動作量に関する総コスト「Ｃall」（以下、動作コストと呼ぶ）は、各ロボットのコスト「Ｃｒ（ｉ）」の総和であり、式（６）によって算出される。
【００６８】
【数６】
2005324278.tif 000008
【００６９】
また、全てのタスクを終了するまでの時間に関するコスト「Ｃall complete」（以下、時間コストと呼ぶ）は、各ロボットに割り当てられた全タスクのうちの、最先の開始予定時刻から最後の終了予定時刻（これらの時刻は、スケジュールデータ生成部３ｂ２で生成された値である）までの時間であり、式（７）によって算出される。
【００７０】
【数７】
2005324278.tif 000009
【００７１】
そして、動作コスト「Ｃall」及び時間コスト「Ｃall complete」の両方を考慮することによって最適化されたコスト「Ｃopt」は、式（８）によって算出される。
【００７２】
【数８】
2005324278.tif 000010
【００７３】
ここで、「ｗ」は、「ロボットの動作及びタスクを終了するまでの時間に関する重み」である。すなわち、「ｗ」が大きいと、動作重視となり、「ｗ」が小さいと、時間重視となる。この「Ｃopt」が最小となる組み合わせ「ｋ」が、複数のタスクを複数のロボットに実行させるための最適なスケジュールである。
【００７４】
ここでいう動作重視とは、ロボットＲの動作量を抑えることを重視することを指す。また、時間重視とは、タスクを早く終了することを重視することを指す。例えば、ある狭い位置領域で実行するタスクが複数存在している場合について考える。かかる複数のタスクを、最も近傍に位置するロボットＲ一台に実行させると、全体としてのロボットＲの動作量を抑えることができる（動作重視）が、一台で処理するため時間がかかる（時間軽視）。一方、複数のロボットに実行させると、タスクを早く終了することができる（時間重視）が、遠くのロボットＲを移動させることになり、全体としてのロボットＲの動作量が大きくなる（動作軽視）。すなわち、動作重視及び時間重視は両立するとは限らず、ｗの値を設定することで、どちらを重視するかを選択することができる。
【００７５】
続いて、タスクのスケジューリングの例について説明する。図６は、タスクのスケジューリングを説明するための図である。ここでは、７個のタスク（タスクＴ１〜タスクＴ７）を、２台のロボット（ロボットＲＡ，ＲＢ）に実行させる場合におけるスケジューリングを例にとって説明する。
【００７６】
まず、図６（ａ）に示すように、タスクＴ１〜タスクＴ７がタスクデータベースＤＢ４に格納されている場合に、これらタスクＴ１〜タスクＴ７について優先度データ「Ｐ」を生成する。ここでは、優先度データ「Ｐ」によって表される各タスクの優先度が、「タスクＴ１＞タスクＴ２＞タスクＴ３＞タスクＴ４＞タスクＴ５＞タスクＴ６＞タスクＴ７」となっているものとする。そして、生成された優先度データ「Ｐ」はそれぞれ、各タスクのタスクデータに付与される形でタスク情報データベースＤＢ４に格納される。
【００７７】
続いて、図６（ｂ）に示すように、各タスクを優先度データＰに基づいてグループ分けする。ここでは、優先度が高い（優先度データ「Ｐ」の値が大きい）タスクＴ１〜タスクＴ４からなるグループＧ１と、優先度が低いタスクＴ５〜タスクＴ７からなるグループＧ２と、に分ける。かかるグループ分けにおいて、ロボットＲの台数、タスクの数などに基づいて、グループの数を決めることが望ましい。例えば、タスクの数が多い場合には、「（タスクの数）÷（ロボットＲの台数）  （ただし、小数点以下繰上げ）」の数だけグループを生成することができる。その他、グループの数の決定は、スケジュールデータ生成部３ｂ２の計算時間および計算時間の優先度に基づいて決定される。すなわち、スケジュールデータの生成が早く完了するようにグループの数を決定する。
【００７８】
続いて、図６（ｃ）に示すように、優先度が高いグループＧ１について、前記した式（４）、式（５）及び式（６）によるスケジューリング（スケジュールデータの生成）を行う。ここでは、タスクＴ１のスケジュールデータは、「Ａ−１」である。これは、「ロボットＲＡに、１番目に実行させる」との意味である。同様に、タスクＴ２、タスクＴ３及びタスクＴ４のスケジュールデータは、それぞれ「Ｂ−１」、「Ａ−２」及び「Ａ−３」である。これら生成されたスケジュールデータはそれぞれ、各タスクのタスクデータに付与される形でタスク情報データベースＤＢ４に格納される。
【００７９】
続いて、図６（ｄ）に示すように、優先度が低いグループＧ２について、前記した式（４）、式（５）及び式（６）によるスケジューリングを行う。この際に、既にスケジューリングされたタスクデータによる負荷を、ペナルティとして保持した状態でスケジューリングを行う。このように、後のグループをスケジューリングする際に、それより前のグループをスケジューリングした結果を考慮することで、スケジューリング全体における最適化を図ることができる。
【００８０】
ここでは、タスクＴ５、タスクＴ６及びタスクＴ７のスケジュールデータは、それぞれ「Ｂ−２」、「Ｂ−３」及び「Ａ−４」である。これら生成されたスケジュールデータはそれぞれ、各タスクのタスクデータに付与される形でタスクデータベースＤＢ４に格納される。
【００８１】
このように、タスクのグループ分けを行ってグループごとにスケジューリングを行うので、多数のタスクが存在する場合であっても、任意の数のタスクごとにスケジューリングを行うことができ、タスク数の増加によるスケジューリングの組み合わせの数の増加を抑え、スケジュールデータ生成部３ｂ２にかかるスケジューリング負荷の増大を抑えることができる。
【００８２】
また、スケジュールデータを生成する際には、各ロボットＲのバッテリ残量、駆動系の異常などのロボットの状態に関するデータも考慮されることが望ましい。
【００８３】
［実行命令生成部３ｂ３］
実行命令生成部３ｂ３は、スケジュールデータ生成部３ｂ２によって生成されたスケジュールデータに基づいて、ロボットＲにタスクを実行させるための実行命令（データ）を生成するものである。
【００８４】
本実施形態では、各ロボットＲに、実行順位が高い、すなわち、１番目に実行させるタスクに関する実行命令を生成する。前記例において、ロボットＲＡへの実行命令は、ロボットＩＤと、タスクＴ１に関するタスクＩＤ、タスク開始予定時刻、タスク開始位置、タスク内容、タスク終了位置などを含むデータとして生成される。同様に、他のロボットへの実行命令も生成され、入出力部３ａ及び基地局１を介して、各ロボットＲへ送信される。ロボットＲの制御部４０は、受信した実行命令に含まれるロボットＩＤと自身のロボットＩＤを比較し、一致した場合にその実行命令に係るタスクを実行する。また、実行命令は、タスクデータと関連付けてタスク情報データベースＤＢ４に格納される。
【００８５】
なお、実行命令は、当該ロボットＲに１番目に実行させるタスクだけでなく、当該ロボットＲに実行させる全てのタスクに関するデータを含んでいてもよい。
【００８６】
［タスクデータ分割部３ｂ４］
タスクデータ分割部３ｂ４は、入力されたタスク情報データベースＤＢ４に格納された一つのタスクデータが所定の条件を満たしているか否かを判断し、所定の条件を満たしている場合には、この一つのタスクデータから、複数のタスクデータを分割生成するものである。ここでいう所定の条件としては、当該タスクが、一台のロボットＲに実行させるのが不利／困難である、といった条件であり、本実施形態では、タスクが複数階にまたがる作業内容である場合に、各階ごとのタスクデータを分割生成する。かかる条件は、ロボット制御システムＡの仕様に応じて、適宜設定変更可能である。タスクデータ分割部３ｂ４において判断処理が行われたタスクデータ（分割の有無を問わない）は、判断処理済みである旨のデータを付与され、タスク情報データベースＤＢ４に更新格納される。
【００８７】
続いて、ロボット制御装置３の動作について説明する。図７は、ロボット制御装置３の動作を示すフローチャートである。
【００８８】
状態判定ステップＳ１では、ロボット装置３の状態が、「state１」、「state２」、「state３」及び「state４」のいずれであるかを判定し、その判定結果に基づいて次のステップを選択する。
【００８９】
ロボット装置３の状態が「state１」である場合には、タスクデータＤＢ４に新規タスクが存在するか否かを検索する（ステップＳ１１）。新規タスクが存在しない場合には、ステップＳ１１を繰り返す。新規タスクが存在する場合には、制御手段３ｂは、ロボットデータ要求信号を、入出力部３ａを介して各ロボットＲに送信する。ロボットデータ要求信号を受信したロボットＲは、制御部４０においてロボットデータを生成し、ロボット装置３へ送信する。かかるロボットデータは、ロボット情報データベースＤＢ３に格納される。そして、ロボット装置３の状態を「state２」に移行する。
【００９０】
次に、状態判定ステップＳ１において［state２］に入り、制御手段３ｂは、ロボットデータ及びタスクデータを読み込み（ステップＳ２１，Ｓ２２）、優先度データ生成部３ｂ１において優先度データを生成し、スケジュールデータ生成部３ｂ２においてスケジュールデータを生成する（ステップＳ２３）。そして、制御手段３ｂは、通信状態確認信号を、入出力部３ａを介してロボットＲに送信する（ステップＳ２４）。通信状態確認信号を受信したロボットＲは、ロボットＩＤを含む通信可能信号をロボット制御装置３へ送信する。そして、ロボット装置３の状態を「state３」に移行する。
【００９１】
次に、状態判定ステップＳ１において［state３］に入り、制御手段３ｂは、各ロボットＲからの通信可能信号を受信したか否かを判断する（ステップＳ３１）。受信しなかったロボットＲについては、再度通信確認信号を送信し、これらの動作を通信可能となるまで繰り返す。通信可能信号を受信したロボットＲについては、実行命令生成部３ｂ３が生成した実行命令を送信する。実行命令を受信したロボットＲは、ロボットＩＤを含む受信確認信号をロボット制御装置３へ送信する。そして、ロボット装置３の状態を「state４」に移行する。
【００９２】
次に、状態判定ステップＳ１において［state４］に入り、制御手段３ｂは、各ロボットＲからの受信確認信号を受信したか否かを判断する（ステップＳ４１）。実行命令を送信し、かつ受信確認信号を受信しなかったロボットＲについては、再度実行命令を送信し、これらの動作を受信確認がなされるまで繰り返す。実行命令を送信した全てのロボットＲからの受信確認信号が受信された場合には、「state１」に移行する。
【００９３】
続いて、ロボット制御システムの動作例について説明する。図８は、ロボット制御システムの動作例を示すシーケンス図である。
【００９４】
まず、一階のロボットＲＡが、来訪者Ａとコミュニケーションを行い、タスクＴ１１に関するタスクデータを受注し、取得する（ステップＳ１１１）。タスクＴ１１は、「来訪者Ａを、一階の現地点から、三階の会議室まで案内する」といった内容である。取得されたタスクデータは、無線通信部６０及び基地局１を介してロボット制御装置３に入力される。
【００９５】
入力されたタスクデータは、タスク情報データベースＤＢ４に格納される。この際に、タスクデータ分割部３ｂ４は、タスクＴ１１のタスク開始位置（一階）とタスク終了位置（三階）とが異なる階であることを認識し、タスクＴ１１を分割するといった判断を行う。そして、タスクＴ１１を、「来訪者Ａを、一階の現地点から、一階のエレベータ前まで案内する」といったタスクＴ１１−１と、「来訪者Ａを、三階のエレベータ前から、三階の会議室まで案内する」といったタスクＴ１１−２とに分割し、これらのタスクＴ１１−１及びタスクＴ１１−２がタスク情報データベースＤＢ４に格納される。
【００９６】
優先度データ生成部３ｂ１は、タスク情報データベースＤＢ４に新規タスクが格納されたことを認識し、タスクＴ１１−１及びタスクＴ１１−２に関して、優先度データＰを生成する。生成された優先度データＰは、タスク情報データベースＤＢ４に格納される。続いて、スケジュールデータ生成部３ｂ２が、優先度データＰに基づいてスケジュールデータを生成する（Ｓ１２１）。
【００９７】
実行命令生成部３ｂ３は、実行命令を生成する。ここでは、ロボットＲＡにタスクＴ１１−１を実行させるための実行命令と、ロボットＲＣにタスクＴ１１−２を実行させるための実行命令と、を生成する。また、ロボット制御装置３は、通信確認信号を送信し、各ロボットＲとの通信状態を確認する。通信可能な状態が確認されると、ロボット制御装置３は実行命令を送信する（ステップＳ１２２）。ロボットＲＡは、実行命令に含まれるロボットＩＤを参照することで、受信した実行命令のうち、タスクＴ１１−１の実行の準備（タスク開始位置への移動）を開始する（ステップＳ１１２）。同様に、ロボットＲＣは、タスクＴ１１−２の実行の準備を開始する（ステップＳ１４１）。
【００９８】
タスクＴ１１−１の実行の準備中または実行中に、ロボットＲＡは、来訪者Ｂとコミュニケーションを行い、タスクＴ１２に関するタスクデータを受注し、取得する（ステップＳ１１３）。タスクＴ１２は、「来訪者Ｂの受付を行う」といった内容である。取得されたタスクデータは、無線通信部６０及び基地局１を介してロボット制御装置３に入力される。
【００９９】
入力されたタスクデータは、タスク情報データベースＤＢ４に格納される。優先度データ生成手段３ｂ１は、タスクデータベースＤＢ４に新規タスクが格納されたことを認識し、タスクＴ１１−１、タスクＴ１１−２及びタスクＴ１２に関して、優先度データＰを生成する。生成された優先度データＰは、タスク情報データベースＤＢ４に格納される。続いて、スケジュールデータ生成手段３ｂ２が、優先度データＰに基づいてスケジュールデータを生成する（Ｓ１２３）。
【０１００】
実行命令生成手段３ｂ３は、実行命令を生成する。ここでは、ロボットＲＡにタスクＴ１２を実行させるための実行命令と、ロボットＲＢにタスクＴ１１−１を実行させるための実行命令と、ロボットＲＣにタスクＴ１１−２を実行させるための実行命令と、を生成する。また、ロボット制御装置３は、通信確認信号を送信し、各ロボットＲとの通信状態を確認する。通信可能な状態が確認されると、ロボット制御装置３は実行命令を送信する（ステップＳ１２４）。ここで、ロボットＲＣのタスクはそのままであるため、送信を省略する。ロボットＲＡは、実行命令に含まれるロボットＩＤを参照することで、受信した実行命令のうち、タスクＴ１２の実行の準備（タスク開始位置への移動）を開始する（ステップＳ１１４）。この際に、ロボットＲＡは、来訪者Ａに対して、別のロボットが対応する旨を伝えた上で、タスクＴ１２の実行の準備を開始することが望ましい。同様に、ロボットＲＢは、タスクＴ１１−１の実行の準備を開始する（ステップＳ１３１）。
【０１０１】
タスクの実行を終了した際に、各ロボットＲは、タスクＩＤを含むタスク終了信号を生成し、ロボット制御装置３に送信してもよい。制御手段３ｂは、タスク終了信号を受け、当該タスクが終了した旨のデータを、タスク情報データベースＤＢ４に格納する。この場合に、実行順位が２番目に高いタスクに関する実行命令を生成して送信する構成であってもよい。また、再度優先度データＰを生成する際に、終了したタスクを除いて処理することができる。
【０１０２】
このように、ロボット制御装置３がタスクの優先度データＰを生成し、かかる優先度データＰに基づいてスケジュールデータを生成する。そして、スケジュールデータに基づいて実行命令を生成し、各ロボットＲへ実行命令を送信し、各ロボットＲにタスクを実行させるので、効率よくタスクを実行させることができる。
【０１０３】
また、優先度データＰを生成するタイミングとしては、（１）タスク情報データベースＤＢ４に新規タスクデータが格納された場合、（２）タスク終了信号によって、タスク情報データベースＤＢ４内のタスクの終了が認識された場合、（３）タスク開始予定時刻を過ぎて、タスクの優先度データＰの値が０となった場合、などが好適である。
【０１０４】
また、あるロボットＲのバッテリ残量が所定値以下になった場合や、駆動系に異常が発生した場合には、このロボットＲは、かかるデータを含むロボットデータをロボット制御装置３に送信する。ロボット制御装置３は、かかるロボットＲ以外のロボットにタスクを実行させるように、スケジュールデータ及び実行命令の再生成及び送信を行う。また、バッテリ残量が所定値以下となったロボットＲが、建物内の所定位置に設けられた充電装置まで自律移動し、自立的に充電を行うように設定されていてもよい。
【０１０５】
以上、本発明の実施形態について説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜設計変更可能である。例えば、受付案内業務に限定されず、複数のロボットに複数のタスクを実行させる業務であれば、種々の業務に適用可能である。また、ロボット制御装置３が、タスクデータが入力される入力手段や、各種データベースのデータを出力する出力手段を備えている構成であってもよい。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施形態に係るロボット制御システムのシステム構成図である。
【図２】ロボットＲのブロック構成図である。
【図３】ロボット制御装置３のブロック構成図である。
【図４】時間余裕「Ｔerr」と「ｆ（Ｔerr）」との関係を表すグラフである。
【図５】タスクの重要度「Ｔ’pri」、時間余裕「Ｔerr」及びタスクの優先度「Ｐ」の関係を表すグラフである。
【図６】タスクのスケジューリングを説明するための図である。
【図７】ロボット制御装置３の動作を示すフローチャートである。
【図８】ロボット制御システムＡの動作例を示すシーケンス図である。
【符号の説明】
【０１０７】
３      ロボット制御装置
３ａ    入出力部
３ｂ１  優先度データ生成部
３ｂ２  スケジュールデータ生成部
３ｂ３  実行命令生成部
３ｂ４  タスクデータ分割部
３ｃ    記憶部
ＤＢ１  地図情報データベース
ＤＢ２  個人情報データベース
ＤＢ３  ロボット情報データベース
ＤＢ４  タスク情報データベース
Ｒ      ロボット
【図１】
2005324278.tif 000011
【図２】
2005324278.tif 000012
【図３】
2005324278.tif 000013
【図４】
2005324278.tif 000014
【図５】
2005324278.tif 000015
【図６】
2005324278.tif 000016
【図７】
2005324278.tif 000017
【図８】
2005324278.tif 000018