(57)【要約】【課題】停止要因を容易に把握できる複数のロボットで作業を行うロボットシステムを提供することを目的とする。【解決手段】教示された複数の命令から構成されるプログラム11、21、23に基づいて、ロボット1、2、3を制御するロボット制御装置10と、ロボット制御装置10に接続されロボット1、2、3を操作する教示装置8とを備えるロボットシステムにおいて、ロボット1、2、3について相互に関連する動作を識別する動作関連識別部4と、ロボット1、2、3の各々について移動の停止を判別する停止判別部5と、停止判別部5と動作関連識別部4とに基づいて、最初に停止したロボットの停止時の命令を認識する停止命令認識部6とを備え、教示装置8は、停止命令認識部6に基づいて最初に停止したロボットの停止時の命令を他の命令とは識別可能に表示する。【選択図】図１
2005118968.tif 000002
【特許請求の範囲】
【請求項１】
複数の命令から構成されるプログラムに基づいて、複数台のロボットを制御するロボット制御装置と、前記ロボット制御装置に接続され前記ロボットを操作する教示装置とを備えるロボットシステムにおいて、
前記複数台のロボットについて相互に関連する動作を識別する動作関連識別部と、
前記ロボットの各々について移動の停止を判別する停止判別部と、
前記停止判別部と前記動作関連識別部とに基づいて、最初に停止したロボットの停止時の命令を認識する停止命令認識部とを備え、
前記教示装置は、前記停止命令認識部に基づいて最初に停止したロボットの停止時の命令を他の命令とは識別可能に表示することを特徴とするロボットシステム。
【請求項２】
前記教示装置は、最初に停止したロボットのプログラムを表示することを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記ロボット制御装置は、複数であり、各ロボット制御装置装置は、通信路により接続されていることを特徴とする請求項１乃至２記載のロボットシステム。
【請求項４】
前記停止判別部は、前記ロボットに対して移動の指令を出力しない時間が、予め設定された時間を超える場合に停止したと判別することを特徴とする請求項１乃至３記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のロボットを使用したロボットシステムに関する。  
【背景技術】
【０００２】
従来の技術としては、複数のロボットのシステムにおいて、ロボットに異常が発生した場合にそれを容易に判別する作動表示装置がある。これは、複数のロボットのそれぞれに表示灯を設け、ロボットの教示装置には複数のロボットのうち何れかを選択するためのスイッチが設けられている。表示灯は、選択スイッチにより所定のロボットが選択されていると作動し、何れかのロボットに異常が発生した場合には、そのロボットに対応して作動するものである（例えば、特許文献１）。
また、自動車などの製造ラインにおいては、複数のロボットがお互いの動作領域の一部分を共有するように配置されている。このようにロボットを配置した場合には、ロボットが相互に衝突しないように、あるロボットが干渉領域内に侵入すると、他のロボットは干渉領域内には侵入できないように設定している。例えば、１台のロボットが干渉領域内で作業し、他の１台は、干渉領域への侵入を待機している場合、最初に干渉領域に進入したロボットが何らかの要因で停止すると、他のロボットは、干渉領域への進入ができないために、それらのロボットは、移動を全て停止することがあった。また、１台のロボットが、アラーム等の要因でサーボ電源が遮断された場合、他のロボットも同時に非常停止が上位制御盤から送信され、全てのロボットが停止していた。このようなときには、異常要因を解除するために、操作者は、どのロボットが最初に停止したのかを判断する必要がある。このためには、実行プログラムを解析する作業を行っていた。
【特許文献１】特開平５−１２７７３４号公報（第３頁右列第２２行〜第４４行）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の作動表示装置は、選択スイッチにより所定のロボットを選択しない限り、ロボットの異常を認識することができないという問題があった。また、１台のロボットの移動停止により、他のロボットが停止しているような場合には、全てのプログラムを作業者が解析しなければならないために、要因解除に時間がかかる、という問題があった。
本発明はこのような問題点に鑑みてなされたものであり、停止要因を容易に把握できる複数のロボットで作業を行うロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のように構成したのである。
本発明の請求項１記載のロボットシステムは、複数の命令から構成されるプログラムに基づいて、複数台のロボットを制御するロボット制御装置と、前記ロボット制御装置に接続され前記ロボットを操作する教示装置とを備えるロボットシステムにおいて、前記複数台のロボットについて相互に関連する動作を識別する動作関連識別部と、前記ロボットの各々について移動の停止を判別する停止判別部と、前記停止判別部と前記動作関連識別部とに基づいて、最初に停止したロボットの停止時の命令を認識する停止命令認識部とを備え、前記教示装置は、前記停止命令認識部に基づいてに最初に停止したロボットの停止時の命令を他の命令とは識別可能に表示することを特徴とするものである。
本発明の請求項２記載のロボットシステムは、前記教示装置は、最初に停止したロボットのプログラムを表示することを特徴とするものである。
本発明の請求項３記載のロボットシステムは、前記ロボット制御装置は、複数であり、各ロボット制御装置装置は、通信路により接続されていることを特徴とするものである。
本発明の請求項４記載のロボットシステムは、前記停止判別部は、前記ロボットに対して移動の指令を出力しない時間が、予め設定された時間を超える場合に停止したと判別することを特徴とするものである。
【発明の効果】
【０００５】
本発明によると、複数のロボットで作業を行うシステムで、複数台のロボットが稼動を停止している場合に、最初に停止したロボットの命令を操作者が容易に把握できるために、操作者が停止要因の排除に速やかに対応できる、という格段の効果を奏する。また、操作者が、複数のロボットの関連を誤認識することなく、安全に停止要因を排除することができるという効果を奏するものである。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００７】
図１は、本発明のシステム構成図である。ロボット1は、教示装置8やオフライン教示ツールなどにより、プログラム11が教示されている。このプログラム11には、ロボット1を移動させる移動命令、プログラム11自体のフローを制御する制御命令、ロボット1の作業を制御する作業命令、外部機器とのインターフェースを行う入出力命令等がある。移動命令には、目標位置までロボットを直線で補間する直線補間命令、円弧で補間する円弧補間命令、自由曲線で補間する曲線補間命令、移動量と座標系を指定して移動する命令などがある。制御命令には、設定された条件で、実行ステップを分岐させる命令、設定された時間ロボットを停止させる命令などがある。作業命令は、各用途に分類され、スポット溶接用途、アーク溶接用途などの用途ごとに、用途に適した作業を行うために、溶接開始命令、条件変更命令などがある。入出力命令は、外部インターフェースにＯＮ／ＯＦＦする命令やシリアル通信によりデータを送受信する命令などがある。
【０００８】
プログラム11は、命令実行部12により解釈され、実行される。この実行時に、解釈された命令が移動命令の場合、目標値、速度などの情報とともに、軌跡演算情報を移動指令部13へ出力する。移動指令部13は、軌跡演算情報に基づいてマシンクロック毎に３次元デカルト座標系での目標位置をロボット1の各関節の回転角度に変換する。その後、各関節位置の角度データを関節駆動部14へ送信する。関節駆動部14は、ロボット1の各関節のサーボモータを制御する。この関節駆動部14では、フィードバック制御を行っている。
【０００９】
ロボット2、ロボット3もロボット1と同様な機構により、動作するようになっている。以上のようにロボット制御装置10は、各ロボットに対して、リソースを同一に分配するように構成されている。すなわち、各ロボットは、系列という概念のもとにづいて制御されている。各系列に対して共有するリソースについては、排他的に制御することにより、各系列は、お互いに独立に実行されている。
【００１０】
教示装置8は、ロボット制御装置10に接続されており、ロボット制御装置10内の表示制御部7により表示制御されている。この表示制御部7は、プログラム11、21、31の表示を制御するものである。プログラム11、21、31は、メモリに格納されており、この格納形式は、通常、中間コードという形式で格納されている。この中間コードとは、元のソースコードから最終的な実行形式に変換する過程で、便宜上、一時的に作成される中間形式のコードである。表示制御部7は、このプログラムの中間コードをユーザが作成したソースコードへ変換するものである。この変換されたソースコードは、教示装置8の画面表示部に表示される。
【００１１】
動作関連識別部4は、命令実行部12、22、32の出力を入力としている。入力されるものは、移動指令の有無、即ち、プログラム11、21、31を解釈した結果、ロボットに対して移動指令をするかどうかである。また、各プログラム11、21、31が相互に関連する排他制御の有無である。例えば、解釈した命令でロボット1が干渉領域に進入する場合には、動作関連識別部4に入力される。
【００１２】
停止判断部5は、移動指令部13の移動指令を入力とする。移動指令がない場合には、ロボットは何らかの要因によって停止していると判断する。
停止命令認識部6は、動作関連識別部4と停止判断部5との結果に基づいて、最初に停止したロボットのプログラム名称と実行ステップを通知する。表示制御部7では、停止命令認識部6の通知に基づいて、教示装置8の画面表示部に表示する。
【００１３】
以下に、ロボット1、2、3が移動命令を実行するプログラムであり、干渉領域が設定された場合を説明する。具体的な例として、ロボット1、2、3が干渉領域に侵入する命令を実行された場合を説明する。
ロボット1が干渉領域に侵入しているとする。命令実行部12は、移動指令であることを出力し、干渉領域に侵入したことを動作関連識別部4に出力する。また、プログラム21を解釈、実行した命令実行部22は、移動指令であることを出力し、軌跡が干渉領域に侵入することを動作関連識別部4に出力する。同様にプログラム31についても、プログラム21と同じデータを動作関連識別部4に出力する。
移動指令部13、23、33では、ロボット1、2、3に移動指令を出力していることを停止判断部5に出力する。停止判断部5では、各ロボットの移動指令の有無により、停止命令認識部6に出力する。停止命令認識部6では、動作関連識別部4と停止判断部5のデータにより、どのロボットも停止していないために、表示制御部7には、通知を行わない。
【００１４】
次に、ロボット1が速度オーバとなり、アラームが発生したとする。移動指令部13では、ロボット1が停止していることを停止判断部5に出力する。また、ロボット2が干渉領域への侵入しようとしたとき、移動指令部23では、干渉領域のチェックが行われ、移動指令が関節駆動部24に出力されない。このとき、移動指令部23は、ロボット2が停止していることを停止判断部5に出力する。また、ロボット3は、移動指令部33において、現在のマシンクロックでは、干渉領域へは進入しないため関節駆動部33に各サーボモータへの移動指令を出力する。動作関連識別部4では、ロボット1は、干渉領域に侵入していること、ロボット2、3については、ともに現在の命令で作成した軌跡が干渉領域に侵入することが認識されている。停止判断部5では、ロボット1とロボット2が停止し、ロボット3が移動していると判断されている。
停止命令識別部6では、ロボット1、ロボット2の順で、ロボットが停止しており、ロボット1の現在のプログラムと停止している命令を表示制御部7に通知する。
例えば、図２に示すように、プログラム名称：ロボット1で３ステップにカーソル９が表示される。  
【実施例２】
【００１５】
実施例２では、停止と判断する場合の処理が実施例１と異なる。
実施例２では、ロボットが予め１０秒間移動しない場合に停止していると判断する。この停止時間は、ロボット制御装置4のパラメータとして設定することができる。
また、外部からの入力信号で設定してもよい。停止判断部5は、各ロボットの移動指令部からの出力により、移動指令が０をトリガとしてカウントを始める。カウントは、マシンクロックによりカウントする。つまり、マシンクロックが１０ｍｓの場合には、１０００回継続して移動指令が０の場合に、停止していると判断する。
【実施例３】
【００１６】
実施例３を図３に示して説明する。
ロボット1は、ロボット制御装置10a、ロボット2は、ロボット制御装置10b、ロボット3は、ロボット制御装置10cに夫々接続され制御されている。また、各ロボット制御装置間は、ネットワーク200によって接続されている。
ロボット制御装置10a、10b、10cには、１台の通信マスタを設定しておく。図３において、通信マスタは、ロボット制御装置10aである。ロボット制御装置10aの通信部100aは、ロボット制御装置10bの通信部100b、ロボット制御装置10cの通信部100cと通信を行う。 
ロボット制御装置10b、10cは、命令実行部22、32の移動命令の有無及び干渉領域への進入の状態、排他制御の有無を通信部100b、100cに出力する。その後、通信部100b、100cは、ロボット制御装置10aの通信部100aに命令実行部22、32データを送信する。ロボット制御装置10aは、通信部100aの受信データを動作関連識別部4に入力する。
また、移動指令部23、33の出力データを通信部100b、100cに出力する。その後、ロボット制御装置10aの通信部100aを経由して、移動命令指令部23、33のデータを停止判断部5に入力する。
【００１７】
ロボット制御装置10aについては、命令実行部12の出力を動作関連識別部4へ、また移動指令部13の出力を停止判断部5へ夫々出力する。
動作関連識別部4と停止判断部5のデータに基づいて、停止命令認識部6において、最初に停止したロボットのプログラムと停止命令を表示制御部7aに通知する。また、停止命令認識部6は、通信部100aにも通知する。
表示制御部7aは、教示装置8aに停止した命令を表示する。また、ロボット制御装置10b、10cでは、通信部100b、100cを経由して、表示制御部7b、7cへデータが通知される。
教示装置8a、8bは、ロボット制御装置10b、10cに接続されている。この場合には、ロボット1が停止したために、ロボット2が停止ときの例である。
図４に、教示装置8a、8bの画面の例を示す。ロボット1の教示装置8aは、停止した命令にカーソル9aが表示される。また、ロボット2の教示装置8bには、9bに示すようにメッセージが表示される。このようにすることで、ロボット1のステップ３が原因でロボット2が停止していることが、容易に判断できる。
ロボットに走行軸を設けた場合、または他の外部軸との協調動作を行う場合にも、適用可能である。
【産業上の利用可能性】
【００１８】
本発明は、複数台のロボットを使用したロボットシステムに適用可能である。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例１のシステム構成図
【図２】本発明の実施例１の教示画面例
【図３】本発明の実施例３のシステム構成図
【図４】本発明の実施例３の教示画面例
【符号の説明】
【００２０】
1、2、3：ロボット
4：動作関連識別部
5：停止判断部
6：停止命令認識部
7、7a、7b、7c：表示制御部
8、8a、8b、8c：教示装置
11、21、31：プログラム
12、22、32：命令実行部
13、23、33：移動指令部
14、24、34：関節駆動部
10、10a、10b、10c：ロボット制御装置
【図１】
2005118968.tif 000003
【図２】
2005118968.tif 000004
【図３】
2005118968.tif 000005
【図４】
2005118968.tif 000006