(57)【要約】      （修正有）【課題】ロボットを監視する処理による負荷を増加させることなく、より精度よくロボットを監視することのできる監視ソフトウェアを作成する監視ソフトウェア作成装置を提供する。【解決手段】ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得手段１００と、ロボットの所定の動作と、監視機器を識別する監視機器識別情報と、各監視機器による監視処理とを対応付けて保持する監視情報保持手段１１０と、制御ソフトウェアに記述されているロボットの動作に対応付けられている監視機器識別情報および監視処理を監視情報保持手段１１０から特定する監視機器特定手段１０４と、制御ソフトウェアに基づいて、監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成手段１２０とを備えた。【選択図】図２
2007264824.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得手段と、
前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段と、
前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を前記監視情報保持手段から特定する監視機器特定手段と、
前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成手段と
を備えたことを特徴とする監視ソフトウェア作成装置。
【請求項２】
前記制御ソフトウェアには、さらに前記ロボットの動作が行われる動作位置が記述されており、
前記監視情報保持手段は、各監視機器識別情報に対応付けて、各監視機器が監視可能な領域を示す監視範囲をさらに保持し、
前記監視機器特定手段は、前記監視情報保持手段において、前記制御ソフトウェアに記述されている前記ロボットの動作および前記動作位置を含む前記監視範囲に対応付けられている前記監視機器識別情報および前記監視処理を特定することを特徴とする請求項１に記載の監視ソフトウェア作成装置。
【請求項３】
前記監視機器特定手段は、前記制御ソフトウェアに前記ロボットの複数の動作が記述されている場合に、前記複数の動作それぞれに対する前記監視機器識別情報および前記監視処理を特定し、
前記検証ソフトウェア作成手段は、前記監視機器特定手段により特定された複数の監視処理が記述された前記監視ソフトウェアを作成することを特徴とする請求項１または２に記載の監視ソフトウェア作成装置。
【請求項４】
前記監視機器特定手段が前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を特定できない場合に、前記制御ソフトウェアに対し、前記監視情報保持手段が保持している前記監視機器識別情報により識別される前記監視機器が監視可能な動作を追加する制御ソフトウェア更新手段をさらに備え、
前記監視ソフトウェア作成手段は、前記制御ソフトウェア更新手段により追加された動作に対する、前記監視情報保持手段に保持されている前記監視機器識別情報により識別される監視機器による監視処理が記述された前記監視ソフトウェアを作成することを特徴とする請求項１から３のいずれか一項に記載の監視ソフトウェア作成装置。
【請求項５】
前記制御ソフトウェア更新手段は、前記監視機器が可能な動作であって、かつ前記制御ソフトウェアに記述されている動作と独立した動作を追加することを特徴とする請求項４に記載の監視ソフトウェア作成装置。
【請求項６】
前記ロボットは、光デバイスを備え、
前記制御ソフトウェア更新手段は、前記光デバイスの点滅動作を前記制御ソフトウェアに追加することを特徴とする請求項５に記載の監視ソフトウェア作成装置。
【請求項７】
前記監視情報保持手段は、前記監視機器識別情報として、前記ロボットを撮影するカメラを識別する情報を保持することを特徴とする請求項１から６のいずれか一項に記載の監視ソフトウェア作成装置。
【請求項８】
前記ロボットはＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を備え、
前記監視情報保持手段は、前記監視機器識別情報として、ＲＦＩＤリーダを識別する情報を保持することを特徴とする請求項１から７のいずれか一項に記載の監視ソフトウェア作成装置。
【請求項９】
ロボットを監視する監視機器と、前記監視機器を制御する監視ソフトウェアを作成する監視ソフトウェア作成装置とを備えた監視システムであって、
前記監視ソフトウェア作成装置は、
ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得手段と、
前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段と、
前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を前記監視情報保持手段から特定する監視機器特定手段と、
前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成手段と
を有することを特徴とする監視システム。
【請求項１０】
ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得ステップと、
前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を、前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段から特定する監視機器特定ステップと、
前記制御ソフトウェア取得ステップにおいて取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成ステップと
を有することを特徴とする監視ソフトウェア作成方法。
【請求項１１】
監視ソフトウェア作成処理をコンピュータに実行させる監視ソフトウェア作成プログラムであって、
ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得ステップと、
前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を、前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段から特定する監視機器特定ステップと、
前記制御ソフトウェア取得ステップにおいて取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成ステップと
を有することを特徴とする監視ソフトウェア作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作を監視する監視ソフトウェア作成装置、監視システム、監視ソフトウェア作成方法および監視ソフトウェア作成プログラムに関するものである。
【背景技術】
【０００２】
ロボット技術の向上に伴い、複数の移動ロボットやサービスロボットをネットワークで連携させ、商店街や展示会場などの不特定多数の人間が存在する場において運用することが検討されている（例えば、「特許文献１」参照）。このような、一般の人間と共存するロボットにおいては、ロボットの異常を早期に発見し、事故を未然に防ぐことが非常に重要となる。
【０００３】
ロボットの異常発見技術としては、リミットスイッチなどのハードウェアリミッタ、回路のリミッタ、制御ソフトウェアの制御入力監視、ウォッチドッグタイマなど、ロボット自身の内部で動作するものがある。また、監視カメラ、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）センサ等による行動追跡など、ロボット外部からロボットの動作を監視するものがある。
【０００４】
ロボットの動作は、アプリケーションソフトウェアにより規定されている。このソフトウェアの実行時における異常発見のための技術としては、メソッド入出力値の検証と例外処理機構、ポリシに基づく検証ルーチンの実行時挿入技術などがある。また、ソフトウェアモデルからの検証用ソフトウェア自動生成技術などの研究も行われている。
【０００５】
また、無線ＬＡＮなどの不安定なネットワーク装置を備え、地下街、屋外などの広範囲なフィールドを移動する自律ロボットに対し、必要に応じて、複数ロボットがネットワーク連携を行うアプリケーションソフトウェア（以下、連携ソフトウェア）をダウンロードし、実行させるようなタイプのネットワークロボット分野が注目されている。
【０００６】
自律ロボットはフィールドに多数存在し、同一のアプリケーションソフトウェアであっても、ロボットの位置や稼動状況に応じて、実行時に最適なロボットにダウンロードされる。また、フィールド内には監視カメラやＲＦＩＤセンサ（以下、センサ類）なども多く配置され、これらは安定したネットワークに接続されている。連携ソフトウェアは、ネットワーク上の連携ソフトウェア制御装置から、各自律ロボットへと、無線ネットワークを通じてダウンロードされる。
【０００７】
【特許文献１】特開２００１−１０３５６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、このような状況における連携ソフトウェアは、連携ソフトウェア自体の起こす障害のほか、ロボット固有の障害、ネットワークの障害によって動作を停止したり、連携に失敗したりする可能性がある。これらの障害は、スムーズなサービス復旧のために、ロボットの外部に存在する連携アプリケーションサーバによって検知されなければならない。
【０００９】
しかし、従来方式の監視カメラによる検証では、ダウンロードした連携ソフトウェアについての情報を持たないため、検出したロボットの動作が、連携ソフトウェアの動作として正常であるかどうかの判断を行うことができない。
【００１０】
また、連携ソフトウェア作成時に検証ソフトウェアを生成する方式では、実際の実行時にいずれのセンサ類のいずれの検証方法(サービス)を利用することができるかを判断することができない。
【００１１】
さらに、この問題を解決すべく、すべてのセンサ類に、常にすべてのロボットやユーザを監視させ、それらの情報を用いて単一の検証サーバで検証しようとすれば、サーバ負荷とネットワークトラフィックの著しい増大を招いてしまう。また、サーバをエリアごとに分散させた場合には、エリアをまたがる連携に対応することが困難となる。
【００１２】
ロボット内部でのウォッチドッグタイマなどによる自己診断は、ネットワーク連携ソフトウェアの動作状態を把握するためには情報不足である。また、ネットワークの障害に対して有効ではない。同様にロボット内部でのソフトウェア実行時検証では、ロボットのハードウェア自体が障害に陥った場合や、ネットワークの障害に対して有効ではない。
【００１３】
本発明は、上記に鑑みてなされたものであって、ロボットを監視する処理による負荷を増加させることなく、より精度よくロボットを監視することのできる監視ソフトウェアを作成する監視ソフトウェア作成装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、監視ソフトウェア作成装置であって、ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得手段と、前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段と、前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を前記監視情報保持手段から特定する監視機器特定手段と、前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成手段とを備えたことを特徴とする。
【００１５】
また、本発明の他の形態は、ロボットを監視する監視機器と、前記監視機器を制御する監視ソフトウェアを作成する監視ソフトウェア作成装置とを備えた監視システムであって、前記監視ソフトウェア作成装置は、ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得手段と、前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段と、前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を前記監視情報保持手段から特定する監視機器特定手段と、前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成手段とを有することを特徴とする。
【００１６】
また、本発明の他の形態は、監視ソフトウェア作成方法であって、ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得ステップと、前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を、前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段から特定する監視機器特定ステップと、前記制御ソフトウェア取得ステップにおいて取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成ステップとを有することを特徴とする。
【００１７】
また、本発明の他の形態は、監視ソフトウェア作成処理をコンピュータに実行させる監視ソフトウェア作成プログラムであって、ロボットの動作が記述された制御ソフトウェアを取得する制御ソフトウェア取得ステップと、前記制御ソフトウェア取得手段が取得した前記制御ソフトウェアに記述されている前記ロボットの動作に対応付けられている前記監視機器識別情報および前記監視処理を、前記ロボットの所定の動作と、前記所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器による前記ロボットの監視処理とを対応付けて保持する監視情報保持手段から特定する監視機器特定ステップと、前記制御ソフトウェア取得ステップにおいて取得した前記制御ソフトウェアに基づいて、前記監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成する監視ソフトウェア作成ステップとを有することを特徴とする。
【発明の効果】
【００１８】
本発明にかかる監視ソフトウェア作成装置によれば、制御ソフトウェア取得手段が、ロボットの動作が記述された制御ソフトウェアを取得し、監視情報保持手段が、ロボットの所定の動作と、所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器によるロボットの監視処理とを対応付けて保持し、監視機器特定手段が、制御ソフトウェア取得手段が取得した制御ソフトウェアに記述されているロボットの動作に対応付けられている監視機器識別情報および監視処理を監視情報保持手段から特定し、監視ソフトウェア作成手段が、制御ソフトウェア取得手段が取得した制御ソフトウェアに基づいて、監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成するので、ロボットを監視する処理による負荷を増加させることなく、より精度よくロボットを監視することができるという効果を奏する。
【００１９】
また、本発明の他の形態にかかる監視システムによれば、制御ソフトウェア取得手段が、ロボットの動作が記述された制御ソフトウェアを取得し、監視情報保持手段が、ロボットの所定の動作と、所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器によるロボットの監視処理とを対応付けて保持し、監視機器特定手段が、記制御ソフトウェア取得手段が取得した制御ソフトウェアに記述されているロボットの動作に対応付けられている監視機器識別情報および監視処理を監視情報保持手段から特定し、監視ソフトウェア作成手段が、制御ソフトウェア取得手段が取得した制御ソフトウェアに基づいて、監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成するので、ロボットを監視する処理による負荷を増加させることなく、より精度よくロボットを監視することができるという効果を奏する。
【００２０】
また、本発明の他の形態にかかる監視ソフトウェア作成方法によれば、制御ソフトウェア取得ステップにおいて、ロボットの動作が記述された制御ソフトウェアを取得し、監視機器特定ステップにおいて、制御ソフトウェア取得手段が取得した制御ソフトウェアに記述されているロボットの動作に対応付けられている監視機器識別情報および監視処理を、ロボットの所定の動作と、所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器によるロボットの監視処理とを対応付けて保持する監視情報保持手段から特定し、監視ソフトウェア作成ステップにおいて、制御ソフトウェア取得ステップにおいて取得した制御ソフトウェアに基づいて、監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成するので、ロボットを監視する処理による負荷を増加させることなく、より精度よくロボットを監視することができるという効果を奏する。
【００２１】
また、本発明の他の形態にかかる監視ソフトウェア作成プログラムによれば、制御ソフトウェア取得ステップにおいて、ロボットの動作が記述された制御ソフトウェアを取得し、監視機器特定ステップにおいて、制御ソフトウェア取得手段が取得した制御ソフトウェアに記述されているロボットの動作に対応付けられている監視機器識別情報および監視処理を、ロボットの所定の動作と、所定の動作を監視可能な複数の監視機器を識別する監視機器識別情報と、各監視機器によるロボットの監視処理とを対応付けて保持する監視情報保持手段から特定し、監視ソフトウェア作成ステップにおいて、制御ソフトウェア取得ステップにおいて取得した制御ソフトウェアに基づいて、監視機器特定手段により特定された監視機器による監視処理を含む処理が記述された監視ソフトウェアを作成するので、ロボットを監視する処理による負荷を増加させることなく、より精度よくロボットを監視することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明にかかる監視ソフトウェア作成装置、監視システム、監視ソフトウェア作成方法および監視ソフトウェア作成プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２３】
図１は、実施の形態にかかるロボット監視システム１の全体構成を示す図である。ロボット監視システム１は、複数のロボット３０ａ，３０ｂと、ロボット３０ａ，３０ｂを監視する監視機器２０ａ〜２０ｆと、各監視機器２０ａ〜２０ｆを制御する制御監視装置１０とを備えている。
【００２４】
制御監視装置１０は、監視機器２０を監視するとともに、監視のためのプログラム、すなわち監視プログラムを作成する。さらに、ロボット３０ａ，３０ｂの動作を制御する制御プログラムを更新する。ロボット３０ａ，３０ｂは、移動可能であり、例えば人の道案内などの動作を行う。ただし、階段等の障害により移動範囲が制限されている。
【００２５】
各監視機器２０ａ〜２０ｆは、制御監視装置１０により作成された監視プログラムにより監視処理を実行する。すなわち、ロボット３０の動作が正常に行われているかなどを監視する。監視機器２０は、具体的には、市街の路面に埋め込まれたＲＦＩＤリーダ群や、街角の街路灯上に設置された監視カメラなどである。各監視機器２０は、信頼性の高い優先ＬＡＮに接続している。さらに、監視機器２０は、無線ＬＡＮにより繋がっている。
【００２６】
図２は、制御監視装置１０の機能構成を示すブロック図である。制御監視装置１０は、制御ソフトウェア取得部１００と、位置情報抽出部１０２と、監視処理特定部１０４と、監視情報保持部１１０と、監視ソフトウェア作成部１２０と、監視ソフトウェア送信部１２２と、制御ソフトウェア更新部１３０と、制御ソフトウェア送信部１３２とを備えている。
【００２７】
制御ソフトウェア取得部１００は、外部からロボット３０ａ，３０ｂとしてのロボットＡおよびロボットＢの動作が記述された制御ソフトウェアを取得する。ここで、図３および図４を参照しつつ制御ソフトウェアについて説明する。
【００２８】
図３は、制御ソフトウェアの一例を示す図である。このように、制御ソフトウェアには、動作を行うロボット名と、このロボットによる動作とが記述されている。この制御ソフトウェアは、複数のロボットの連携により実現される連携ソフトウェアである。制御ソフトウェアは、このソフトウェアの実行中に各ロボットの間を移動するような、移動スクリプト形式を想定している。具体的には、行「ｇｏｔｏ  ＲｏｂｏｔＡ」でロボットＡに送信され、ロボットＡ上で次の行以降の動作が実行される。同様に、行「ｇｏｔｏ  ＲｏｂｏｔＢ」でロボットＢに送信されロボットＢ上で引き続き次の行以降の動作が実行される。
【００２９】
図４は、図３に示す制御ソフトウェアにより実現される動作の様子を示す図である。まず、ロボットＡは、地点（ｘ１，ｙ１）に移動してくると、動作「ａｃｔｉｏｎ１」を行う。具体的には、例えば、人に対して「どこに行きますか？」などと話し掛ける。次に、地点（ｘ２，ｙ２）まで移動する。そして、地点（ｘ２，ｙ２）において「ａｃｔｉｏｎ２」を行う。地点（ｘ２，ｙ２）付近に階段があり、ロボットＡの動作範囲はここまでと制限されている。そこで、以降の処理は、ロボットＢにより行われる。ロボットＢは、地点（ｘ３，ｙ３）に移動してくると「ａｃｔｉｏｎ１」を行う。以降同様に、図３に示す制御ソフトウェアにしたがい動作する。
【００３０】
なお、上記以外のロボットの「ａｃｔｉｏｎ」としては、以下のものがある。
・人間の方を向く
・人間に「ついてきてください」と話しかける
・人間がそばについてきていることを画像認識で確認する
・手を振る
・首を回す
・人間に「階段を登ったところにRobot Bがいます。彼についていってください」と話しかける
・人間に「到着です。お疲れ様でした」と話しかける
・握手する
【００３１】
再び説明を図２に戻す。位置情報抽出部１０２は、制御ソフトウェアから位置情報を抽出する。図５は、位置情報抽出部１０２による位置情報抽出処理を説明するための図である。位置情報抽出部１０２は、各アクションが行われる位置を示す位置情報を抽出する。例えば、図３に示す制御ソフトウェアにおいては、ロボットＡの「ａｃｔｉｏｎ１」に対し地点（ｘ１，ｙ１）を抽出する。なお、位置情報には、アクションと、アクションに対応する位置とが含まれている。
【００３２】
同様に、「ａｃｔｉｏｎ２」に対し地点（ｘ２，ｙ２）を抽出する。ロボットＢの「ａｃｔｉｏｎ１」に対し地点（ｘ３，ｙ３）を、「ａｃｔｉｏｎ２」に対し地点（ｘ４，ｙ４）を、「ａｃｔｉｏｎ３」に対し地点（ｘ５，ｙ５）を抽出する。
【００３３】
再び説明を図２に戻す。監視処理特定部１０４は、位置情報抽出部１０２により抽出された位置情報に基づいて、監視処理を特定する。この際、監視情報保持部１１０を参照する。監視情報保持部１１０は、各監視機器２０が監視可能なロボット３０の移動範囲を保持している。また、各監視機器２０が監視可能なロボットの動作およびこの動作を監視するための監視処理を保持している。
【００３４】
図６は、監視情報保持部１１０が保持する監視範囲テーブル１１２のデータ構成を模式的に示す図である。監視範囲テーブル１１２は、監視機器名と、各監視機器が監視可能なロボットの移動範囲、すなわち監視範囲を示している。なお、監視範囲は、監視範囲の境界を形成する複数の地点で表現されている。
【００３５】
このように、監視範囲テーブル１１２は、各監視機器の監視範囲を保持しているので、監視処理特定部１０４は、監視範囲テーブル１１２の情報と、位置情報とに基づいて、監視可能なセンサを特定することができる。
【００３６】
なお、監視範囲の表現方法は、実施の形態に限定されるものではなく、地形上の特定のエリアを示すことが可能なものであればよい。
【００３７】
図７は、図６に示すセンサＡに対する監視範囲を説明するための図である。図６に示す監視範囲「ｒｅｃｔ（ｐ１，ｐ２，ｐ３，ｐ４）」により各点（ｐ１，ｐ２，ｐ３，ｐ４）を結ぶ境界線の内部がセンサＡの監視範囲であることがわかる。同様に、センサＢの監視範囲は、各点（ｐ５〜ｐ１１）を結ぶ境界線の内部である。
【００３８】
図８は、監視情報保持部１１０が保持する監視処理テーブル１１４のデータ構成を模式的に示す図である。監視処理テーブル１１４は、監視機器名と、対象動作と、監視処理とを対応付けて保持している。例えば、センサＡは、ロボットの動作「ａｃｔｉｏｎ１」を監視可能であり、この監視を行うための監視処理は「ｍｅｔｈｏｄＡ」である。
【００３９】
このように、監視処理テーブル１１４は、各センサの監視可能なロボットの動作および監視処理を保持しているので、監視処理特定部１０４は、監視処理テーブル１１４を参照することにより、各動作に対応する監視処理を特定することができる。
【００４０】
さらに、対象動作「汎用ａｃｔｉｏｎ１０」とは、制御ソフトウェアが行う汎用的な動作である。監視処理テーブル１１４は、このような汎用動作に対する監視処理も保持している。所定の動作に対する監視処理が存在しない場合には、ロボットに対してこの汎用動作を行わせ、この動作を監視することにより、ロボットが正常に動作しているか否かを監視することができる。
【００４１】
ここで、「汎用ａｃｔｉｏｎ」としては、例えば、唯一性の高いＩＤをロボットから赤外線ＬＥＤで発光させ、これを監視カメラで観測する処理がある。このように、「汎用ａｃｔｉｏｎ」は、ロボットがユーザへのサービスを行うために必要な動作を阻害しない処理であることが望ましい。
【００４２】
再び説明を図２に戻す。監視ソフトウェア作成部１２０は、監視処理特定部１０４により特定された監視処理を含む監視ソフトウェアを作成する。監視ソフトウェア送信部１２２は、監視ソフトウェア作成部１２０により作成された監視ソフトウェアを各監視機器２０に送信する。制御ソフトウェア更新部１３０は、監視処理特定部１０４により特定された監視処理に応じて、適宜制御ソフトウェアを更新する。制御ソフトウェア送信部１３２は、制御ソフトウェア更新部１３０により更新された制御ソフトウェアを各ロボット３０に送信する。
【００４３】
図９は、ロボット監視システム１による監視ソフトウェア作成処理を含むロボット監視処理を示すソフトウェアである。まず、前提として、ユーザによる要請、または監視カメラなどの映像を利用した計算機による状況判断などに基づいて、（ｘ１，ｙ１）地点にいる人間に対して道案内が必要であると判断される。そして、図３に示すような制御ソフトウェアが生成される。
【００４４】
生成された制御ソフトウェアが、制御監視装置１０に対し入力として与えられると、制御監視装置１０は、監視ソフトウェアの初期化を行う（ステップＳ１００）。次に、制御ソフトウェアから各動作に対する位置情報を抽出する（ステップＳ１０２）。次に、監視処理特定部１０４は、監視情報保持部１１０が保持する情報に基づいて、各アクションを監視可能なセンサ類を検索する。監視可能なセンサ類が存在する場合には（ステップＳ１０４，Ｙｅｓ）、特定したセンサ類に対する監視処理を監視ソフトウェアに含める（ステップＳ１１０）。
【００４５】
一方、監視可能なセンサ類が存在しない場合には（ステップＳ１０４，Ｎｏ）、監視情報保持部１１０が保持する情報に基づいて、対象となるロボットの汎用動作を監視可能なセンサ類を検索する。汎用動作を監視可能なセンサ類が存在する場合には（ステップＳ１０６，Ｙｅｓ）、制御ソフトウェア更新部１３０は、制御ソフトウェアに対し、この汎用動作を追加する（ステップＳ１０８）。次に、ステップＳ１１０へ進む。
【００４６】
ステップＳ１０６において、汎用動作を監視可能なセンサ類が存在しない場合には（ステップＳ１０６，Ｎｏ）、このアクションに対する監視処理を行わないこととし、ステップＳ１０４へ戻る。
【００４７】
以上の処理が、制御ソフトウェア中のすべての動作に対して完了すると（ステップＳ１１２，Ｙｅｓ）、作成された監視ソフトウェアを各監視機器２０に送信する（ステップＳ１１４）。なお、制御ソフトウェアを更新した場合には、さらに制御ソフトウェアをロボット３０に送信する。以上で、監視処理が完了する。
【００４８】
このように、実施の形態にかかるロボット監視システム１においては、制御プログラムに基づいて、ロボット監視システム１が備える監視機器による監視処理を含む監視プログラムを生成するので、対象となる場所や、備えている監視機器に応じたロボット監視を行うことができる。
【００４９】
以下、図３に示す制御ソフトウェアに対する監視ソフトウェアを作成する処理について具体的に説明する。図１０は、図３に示す制御ソフトウェアにより特定された位置情報と図６に示す各センサの監視範囲との関係を示す図である。すなわち、ロボットＡによる「ａｃｔｉｏｎ１」が行われる地点（ｘ１，ｙ１）は、監視機器としてのセンサＡの監視範囲である。また、地点（ｘ５，ｙ５）は、監視機器としてのセンサＢの監視範囲である。地点（ｘ２，ｙ２）、地点（ｘ３，ｙ３）、地点（ｘ４，ｙ４）は、センサＡおよびセンサＢ双方の監視範囲である。
【００５０】
監視処理特定部１０４は、まず監視範囲に基づいて、ロボットＡの「ａｃｔｉｏｎ１」を監視可能な監視機器をセンサＡと特定する。また、ロボットＢの「ａｃｔｉｏｎ３」を監視可能な監視機器をセンサＢと特定する。これ以外の動作は、いずれの監視機器においても監視可能である。
【００５１】
さらに、監視処理特定部１０４は、監視処理テーブル１１４を参照し、各動作に対する監視処理を特定する。例えば、「ａｃｔｉｏｎ１」については、監視処理テーブル１１４によれば、センサＢにおいても監視可能であるが、監視範囲によりセンサＡと特定されているので、センサＡの監視処理のみが特定される。
【００５２】
図１１は、図３に示す制御ソフトウェアに対する監視ソフトウェアを作成する処理を説明するための図である。監視範囲テーブル１１２および監視処理テーブル１１４より、制御ソフトウェア中のロボットＡの地点（ｘ１，ｙ１）における「ａｃｔｉｏｎ１」は（ｘ１，ｙ１）がセンサＡの監視範囲であり、かつ、「ａｃｔｉｏｎ１」が「ｍｅｔｈｏｄＡ」で監視可能であることがわかる。したがって、監視ソフトウェアにセンサＡによる「ｍｅｔｈｏｄＡ」の手順を追加する。
【００５３】
これは、センサＡが「ｍｅｔｈｏｄＡ」の監視処理により監視することにより、ロボットＡが地点（ｘ１，ｙ１）で予定の動作を完了したことを監視できることを意味する。
【００５４】
ロボットＡの地点（ｘ２，ｙ２）における「ａｃｔｉｏｎ２」に対しては、地点（ｘ２，ｙ２）はセンサＡ、センサＢの両センサの監視範囲であるが、監視処理テーブル１１４より、「ａｃｔｉｏｎ２」は、センサＢの「ｍｅｔｈｏｄＤ」でしか監視可能でないことがわかるので、監視ソフトウェアにセンサＢによる「ｍｅｔｈｏｄＤ」の手順を追加する。
【００５５】
以下、同様にロボットＢの地点（ｘ３，ｙ３）における「ａｃｔｉｏｎ１」に対しては、監視ソフトウェアにセンサＡによる「ｍｅｔｈｏｄＡ」の手順を、ロボットＢの地点（ｘ４，ｙ４）における「ａｃｔｉｏｎ２」に対しては、監視ソフトウェアにセンサＢによる「ｍｅｔｈｏｄＤ」の手順をそれぞれ追加する。
【００５６】
ロボットＢの地点（ｘ５，ｙ５）における「ａｃｔｉｏｎ３」に対しては、監視処理テーブル１１４より、センサＡの「ａｃｔｉｏｎ３」に対する監視処理「ｍｅｔｈｏｄＢ」が特定される。ただし、地点（ｘ５，ｙ５）が監視範囲からはずれており、また、センサＢは地点（ｘ５，ｙ５）は監視範囲であるが、「ａｃｔｉｏｎ３」に対する監視処理を有さない。このため、この地点でのこの動作を監視することができない。
【００５７】
そこで、図９に示すステップＳ１０８における処理により、地点（ｘ５，ｙ５）を監視範囲とするセンサＢによる「汎用ａｃｔｉｏｎ１０」を制御ソフトウェアに追加するとともに、「汎用ａｃｔｉｏｎ１０」を監視するセンサＢによる「ｍｅｔｈｏｄＦ」を監視ソフトウェアに追加する。
【００５８】
なお、ここで追加する汎用動作は、制御ソフトウェアに記述されている動作に影響を与えないものであることが望ましい。例えば、ユーザに対して話し掛ける動作の最中に、音声出力に関する汎用動作を行うと、ユーザに対して正確な内容を伝えることができないことが想定される。そこで、この場合には、例えば、話し掛けるという動作に影響を与えない、独立した動作を追加するのが望ましい。例えば、赤外線ＬＥＤの発光などが望ましい。
【００５９】
なお、存在するセンサ類で検証可能な「汎用ａｃｔｉｏｎ」も存在しない場合は、監視処理を追加せずに、次の動作に関する処理に移る。図３に示す制御ソフトウェアにおいては、この後に引き続く動作がないので、監視ソフトウェアは完成となり、図１１に示すような監視ソフトウェアが作成される。また、図１１に示すように制御ソフトウェアには、「汎用ａｃｔｉｏｎ」が追加されている。
【００６０】
図１２は、実施の形態にかかる制御監視装置１０のハードウェア構成を示す図である。制御監視装置１０は、ハードウェア構成として、制御監視装置１０における監視プログラム作成処理を実行する監視プログラム作成プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って制御監視装置１０の各部を制御するＣＰＵ５１と、制御監視装置１０の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５７と、各部を接続するバス６２とを備えている。
【００６１】
先に述べた制御監視装置１０における監視プログラム作成プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００６２】
この場合には、監視プログラム作成プログラムは、制御監視装置１０において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００６３】
また、本実施の形態の監視プログラム作成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００６４】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【図面の簡単な説明】
【００６５】
【図１】実施の形態にかかるロボット監視システム１の全体構成を示す図である。
【図２】制御監視装置１０の機能構成を示すブロック図である。
【図３】制御ソフトウェアの一例を示す図である。
【図４】図３に示す制御ソフトウェアにより実現される動作の様子を示す図である。
【図５】位置情報抽出部１０２による位置情報抽出処理を説明するための図である。
【図６】監視情報保持部１１０が保持する監視範囲テーブル１１２のデータ構成を模式的に示す図である。
【図７】図６に示すセンサＡに対する監視範囲を説明するための図である。
【図８】監視情報保持部１１０が保持する監視処理テーブル１１４のデータ構成を模式的に示す図である。
【図９】ロボット監視システム１による制御ソフトウェア作成処理を含むロボット監視処理を示すソフトウェアである。
【図１０】図３に示す制御ソフトウェアにより特定された位置情報と図６に示す各センサの監範囲との関係を示す図である。
【図１１】図３に示す制御ソフトウェアに対する監視ソフトウェアを作成する処理を説明するための図である。
【図１２】実施の形態にかかる制御監視装置１０のハードウェア構成を示す図である。
【符号の説明】
【００６６】
１  ロボット監視システム
１０  制御監視装置
２０  監視機器
３０  ロボット
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信Ｉ／Ｆ
６２  バス
１００  制御ソフトウェア取得部
１０２  位置情報抽出部
１０４  監視処理特定部
１１０  監視情報保持部
１１２  監視範囲テーブル
１１４  監視処理テーブル
１２０  監視ソフトウェア作成部
１２２  監視ソフトウェア送信部
１３０  制御ソフトウェア更新部
１３２  制御ソフトウェア送信部
【図１】
2007264824.tif 000003
【図２】
2007264824.tif 000004
【図３】
2007264824.tif 000005
【図４】
2007264824.tif 000006
【図５】
2007264824.tif 000007
【図６】
2007264824.tif 000008
【図７】
2007264824.tif 000009
【図８】
2007264824.tif 000010
【図９】
2007264824.tif 000011
【図１０】
2007264824.tif 000012
【図１１】
2007264824.tif 000013
【図１２】
2007264824.tif 000014