(57)【要約】      （修正有）【課題】ネットワークで接続された各ロボットを高精度で同期制御できるロボットシステムを提供する。【解決手段】ロボット制御装置1C、2C、3Cは、各ロボット1R、2R、3Rに所望の動作を行わせる命令を含む作業プログラムを記憶する記憶部10と、プログラムを読み出して命令を解釈する命令解釈部20と、命令解釈部20の出力に基づいて位置または速度指令を生成する動作指令部30と、動作指令部30の出力に基づいてロボットの駆動部を制御するロボット軸制御部40とを備え、通信路5で接続されたロボット制御装置のうち１台を通信マスタロボット制御装置1Cとし、他のロボット制御装置を通信スレーブロボット制御装置2C、3Cとし、通信マスタロボット制御装置1Cは、通信スレーブロボット制御装置2C、3Cに対して同期信号を送信する同期信号送信部50を有し、通信スレーブロボット制御装置2C、3Cは、前記同期信号に基づいて動作指令部30を活性化する。【選択図】  図１
2005014149.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットと、前記複数のロボットを制御する複数のロボット制御装置とを備え、前記複数のロボット制御装置が通信路で接続されているロボットシステムであって、
前記各ロボット制御装置は、各ロボットに所望の動作を行わせる命令を含む作業プログラムを記憶する記憶部と、
前記作業プログラムを読み出して前記命令を解釈する命令解釈部と、
前記命令解釈部の出力に基づいて位置または速度指令を生成する動作指令部と、
前記動作指令部の出力に基づいて前記ロボットの駆動部を制御するロボット軸制御部とを備え、
前記通信路で接続された前記ロボット制御装置のうち１台を通信マスタロボット制御装置とし、他の前記ロボット制御装置を通信スレーブロボット制御装置とし、
前記通信マスタロボット制御装置は、前記通信スレーブロボット制御装置に対して同期信号を送信する同期信号送信部を有し、
前記通信スレーブロボット制御装置は、前記通信マスタロボット制御装置からの前記同期信号に基づいて前記動作指令部を活性化することを特徴とするロボットシステム。
【請求項２】
前記動作指令部は、前記命令解釈部よりも優先的に実行されることを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記ロボット制御装置のうち少なくとも一つは、前記ロボットの前記作業プログラムの実行状態を表示する画面を有する教示装置を備え、
前記画面に同期確立している状態を表示することを特徴とするロボットシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、産業用ロボットを複数用いたロボットシステムに関し、特に、複数のロボット制御装置を通信路で接続して同期動作を行うロボットシステムに関する。
【０００２】
【従来の技術】
従来の例として、複数台のロボットを制御するロボット制御装置複数台をネットワークで接続して、接続された一部のロボット間でのみ同期または協調動作するものがある。この場合に、マスタロボットが、スレーブロボットへ補間位置データを送信し、スレーブロボットがこの補間位置データを受信した後、マスタロボットへ受信応答を行い、同期制御していた（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００１−１５０３７２号公報（第６頁右列第１０行〜第６頁右列第３９行、図１３）
【０００４】
【発明が解決しようとする課題】
従来技術では、各ロボット制御装置の各ロボットは、各ロボット制御装置の制御周期に基づいて、各ロボット制御装置内で位置の演算をされ、かつ、各ロボットの駆動部のモータに出力されている。ここで、各ロボット制御装置の制御周期は、各ロボット制御装置内にあるクロック発生器によって発生されている。通常、制御周期は数ｍｓ程度である。この制御周期は、各ロボット制御装置間の固体差やクロック発生器の初期化タイミングによりずれが生じ、各ロボット制御装置間での制御周期がずれることになる。すなわち、ある制御周期での位置指令をマスタからスレーブのコントローラに転送しても、制御周期のずれが生じることになり、各ロボット先端では、位置決めのタイミングがずれ、所望の作業の要求する精度を満足できないという問題があった。
例えば、ロボットの制御周期１０ｍｓであって、ロボットの指令速度を２０００ｍｍ／ｓｅｃであったとすれば、１制御周期内では、２０００×０．０１＝２０ｍｍのずれが生じることになる。つまり、この制御周期を非常に短くすることでしか、従来技術のロボット制御装置においては、精度を向上させることができない。
【０００５】
ここで、制御周期とは、各ロボットの位置演算指令を逆変換（直交座標値から各軸のモータ位置指令値に変換するもの）して、ロボット軸制御部へ指令する周期である。つまり、この制御周期に同期して、メインＣＰＵは、ロボット軸制御部への指令を払い出すため、一定周期で必ず実行されている。また、メインＣＰＵは、ジョブの実行、ロボット制御装置内の状態監視、次の命令の位置演算などの多種、多様の処理を行うタスクが存在している。このロボット軸制御部へ出力するデータを生成するタスクが、制御周期に同期して起動され、処理を実行する。その後、処理終了すると、次の優先度の高いタスクが実行する。つまり、ロボットの制御周期を短くしていくと、ロボット軸制御部への出力データを生成する処理が、次の制御周期の前に終了しない場合や、終了できても、すぐに、ロボット軸制御部へ出力データを生成するタスクが起動され、他の優先度の低いタスクは、実行できないということになる。
上記のような問題に鑑みて、本発明は、ネットワークで接続された各ロボットを高精度で同期制御できるロボットシステムを提供するものである。
【０００６】
【課題を解決するための手段】
上記問題を解決するため、本発明は、次のように構成したのである。
本発明の請求項１記載のロボットシステムは、複数のロボットと、前記複数のロボットを制御する複数のロボット制御装置とを備え、前記複数のロボット制御装置が通信路で接続されているロボットシステムであって、前記各ロボット制御装置は、各ロボットに所望の動作を行わせる命令を含む作業プログラムを記憶する記憶部と、前記プログラムを読み出して前記命令を解釈する命令解釈部と、前記命令解釈部の出力に基づいて位置または速度指令を生成する動作指令部と、前記動作指令部の出力に基づいて前記ロボットの駆動部を制御するロボット軸制御部とを備え、前記通信路で接続されたロボット制御装置のうち１台を通信マスタロボット制御装置とし、他のロボット制御装置を通信スレーブロボット制御装置とし、前記通信マスタロボット制御装置は、前記通信スレーブロボット制御装置に対して同期信号を送信する同期信号送信部を有し、前記通信スレーブロボット制御装置は、前記通信マスタロボット制御装置からの前記同期信号に基づいて前記動作指令部を活性化することを特徴とするものである。
本発明の請求項２記載のロボットシステムは、前記動作指令部は、前記命令解釈部よりも優先的に実行されることを特徴とするものである。
本発明の請求項３記載のロボットシステムは、前記ロボット制御装置のうち少なくとも一つは、前記ロボットの前記作業プログラムの実行状態を表示する画面を有する教示装置を備え、前記画面に同期確立している状態を表示することを特徴とするものである。
【０００７】
【発明の実施の形態】
以下本発明の実施例を図に基づいて説明する。
（実施例１）
図１は、本発明のロボットの構成図を示す。図１では、ロボットを３台を使用したシステムについて説明する。ロボット１Ｒは、ロボット制御装置１Ｃによって制御され動作する。同様に、ロボット２Ｒは、ロボット制御装置２Ｃに制御され、ロボット３Ｒは、ロボット制御装置３Ｃに制御されている。
ロボット制御装置１Ｃは、ロボット１Ｒを動作させるための作業プログラムを記憶する記憶部１０を備える。作業プログラムとは、ロボット１Ｒを動作させるための位置及びその位置までの補間方法、補間速度などを含む移動命令と、外部機器との入出力を行う命令等を含むものである。
【０００８】
ロボット制御装置１Ｃは、備えつけれているスタートボタン（図示しない）によって、ロボット１Ｒを動作させる。このとき、記憶部１０に記憶されている作業プログラムを読み込む。この読み込まれた作業プログラムは、ロボット制御装置１Ｃ内の命令解釈部２０に転送される。命令解釈部２０では、まず命令コードを解釈し、処理を分岐させる。例えば、図２に示すような作業プログラムである場合、ライン１行目の命令コード１００を検出する。通常、作業プログラムは、プログラミングペンダントに表示される場合には、ＡＳＣＩＩ文字列で表示されているが、記憶部１０に記憶されているときには、中間コードとして記憶されている。つまり、命令解釈部１０には、中間コード４１６１が転送されている。命令に後続するデータには、速度及び位置情報が記憶されている。中間コード４１６１であれば、その後には、速度の中間コード１１１１、速度データ１００、位置の中間コード２２２２、位置データ番号２０００が記憶されている。
【０００９】
命令解釈部２０は、中間コード４１６１（この場合には、直線補間で移動する命令）の処理に分岐する。直線補間移動命令は、現在のロボット位置と目標位置（位置データ番号２０００）との間を直線で補間する演算を実施する。この演算は、各制御周期ごとの移動量を求めるための移動量ベクトルを演算しておく。
【００１０】
ロボット制御装置１Ｃ内には、制御周期に同期して演算を行う動作指令部３０を備える。命令解釈部２０で演算した移動量ベクトルをもとに各制御周期でのロボット各軸パルスの移動量をロボット軸制御部４０へ出力する。ロボット軸制御部４０は、ロボット１Ｒを駆動しているサーボモータ（図示しない）を制御する。
【００１１】
以上のようにロボット制御装置１Ｃについて説明したが、これらの構成は、ロボット制御装置２Ｃ、３Ｃも共通である。次に、制御周期について説明する。制御周期は、ロボット制御装置１Ｃ内にある制御周期発生器１１０によって発生される。図３を用いて、この制御周期発生器８０とロボット制御装置１Ｃ内の構成について説明する。
ロボット制御装置１Ｃは、ロボット１Ｒを制御するためのメインＣＰＵ１００を有し、このメインＣＰＵ１００には、制御周期発生器８０が接続されている。また、メインＣＰＵ１００には、バス１０１を介して、ＲＯＭ１０２、ＲＡＭ１０３、記憶部１０、ロボット軸制御部４０、Ｉ／Ｏ制御部１０６、ネットワーク通信部１０７、教示装置インターフェース１０８が接続されている。ＲＯＭ１０２には、メインＣＰＵ１００が実行するシステムプログラムが格納されている。ＲＡＭ１０３は、メインＣＰＵ１００がシステムプログラムを実行するために、一時的にデータを記憶する場合に使用される。
【００１２】
制御周期発生器８０は、メインＣＰＵ１００に対して、一定の周期で信号を入力する。メインＣＰＵ１００には、前述したように、命令解釈部２０、動作指令部３０をプログラムにて実行する手段を備えている。メインＣＰＵ１００は、マルチタスクで構成され、命令解釈部２０のデータをもとに、動作指令部３０で各軸の移動量を計算する。この動作指令部３０は、制御周期発生器８０の信号に基づいて活性化される。メインＣＰＵ１００の割り込みベクタには、制御周期発生器８０の信号か登録されている。命令解釈部２０と動作指令部３０は、別のタスクで構成されており、制御周期発生器８０からの信号が入信すれば、現在処理しているタスクの状態を保存して、動作指令部３０の処理を開始する。この後、動作指令部３０に処理が終了すれば、先ほど、実行を中断したタスクへ処理を移行する。
【００１３】
通信マスタ制御装置を１Ｃ、通信スレーブ制御装置を２Ｃ、３Ｃとした場合を以下に説明する。
通信マスタ制御装置１Ｃは、制御周期発生器８０の制御信号により、同期送信部５０及び通信路５を介して、通信スレーブ制御装置２Ｃ、３Ｃへ同期信号を送信する。通信スレーブ制御装置２Ｃ、３ＣのメインＣＰＵの割り込みベクタには、通信路５からの同期信号が入信すれば、動作指令部３０が活性化するように設定されている。
このため、通信スレーブ制御装置２Ｃ、３Ｃに同期信号が入信すれば、現在実行中のタスクの状態は、保存され、実行を中断される。その後、動作指令部３０の処理が実行される。動作指令部３０の処理が終了すると、先ほど中断されていたタスクの処理が実行されることになる。
以上のように、通信スレーブ制御装置２Ｃ、３Ｃの動作指令部３０を同期信号の入信により活性化することで、簡易に複数のロボット制御装置の同期を確立することができる。
【００１４】
次に、マルチタスクの優先順位について説明する。動作指令部３０は、命令解釈部２０よりも優先順位の高いタスクとするものである。動作指令部３０は、制御周期発生器８０の信号、または、通信路５を介しての同期信号により活性化されるため、命令解釈部２０よりも優先的に実行される。命令解釈部２０が実行中に、制御周期の割り込みが発生すると、実行中の命令解釈部２０は、タスクの状態が保存され、中断される。その後動作指令部３０のタスクが実行される。動作指令部３０のタスクの実行が終了すると、再度命令解釈部２０のタスクが実行されることになる。
【００１５】
命令解釈部２０のタスクは、予めシステムで定義される先読みバンクの個数までの命令を先読みする。この先読みバンク数の命令解釈が終了していれば、命令解釈部２０のタスクは、処理をしないために、メインＣＰＵ１００は、命令解釈部２０のタスク優先度より低いタスクを実行することになる。
また、動作指令部３０が動作指令演算するための命令解釈部２０が実行されていない場合は、命令解釈部２０を先に実行させる。この場合には、動作指令部３０は、１制御周期の間、ロボット軸制御部４０には、出力しないことになる。
【００１６】
（第２の実施例）
図３に基づいて、第２の実施例を説明する。教示装置インターフェース１０８は、教示装置１１０に接続されている。教示装置１１０に備えている画面１１１には、記憶部１０に格納されている作業プログラムが表示される。また、教示装置１１０は、操作キー１１３、非常停止ボタン１１２を備えている。
画面１１１には、ロボット制御装置が同期制御されているか、または、されていないかを示す同期状態表示部１１４を備えている。同期が確立されている場合には、同期状態表示部１１４にＳＹＮＣと表示され、同期が確立されていない場合には、なにも表示されない。
（その他の実施例）
第２の実施例で同期確立を画面の一部に表示したが、画面の色を変たり、アイコンを表示することで、同期状態を表わしてもよい。
【００１７】
【発明の効果】
以上述べたように、本発明によれば、簡単な構成によって、複数のロボット間の同期を確立することができ、複数ロボットの同期制御を高精度で実現することができるものである。
【図面の簡単な説明】
【図１】本発明の構成図
【図２】作業プログラムの説明図
【図３】ロボット制御装置の構成図
【符号の説明】
１Ｃ：通信マスタロボット制御装置
２Ｃ、３Ｃ：通信スレーブロボット制御装置
１Ｒ、２Ｒ、３Ｒ：ロボット
５：通信路
１０：記憶部
２０：命令解釈部
３０：動作指令部
４０：ロボット軸制御部
５０：同期送信部
【図１】
2005014149.tif 000003
【図２】
2005014149.tif 000004
【図３】
2005014149.tif 000005