(57)【特許請求の範囲】
【請求項１】
互いに協働するロボットとプレス機械とを含むシステムにおいて、
該システムは、時刻を周期的に更新する基準時計を備えており、
前記ロボットおよび前記プレス機械のそれぞれは、
内部時計と、
前記ロボットおよび前記プレス機械の動作時における前記ロボットおよび前記プレス機械のそれぞれの位置を前記内部時計の時刻に対応して記憶した教示プログラムと、
前記内部時計の時刻が前記基準時計の時刻に一致するように前記内部時計の時刻を補正する内部時計補正手段と、
該内部時計補正手段によって前記内部時計の時刻を前記基準時計の時刻に一致させられない場合には、前記内部時計の時刻が前記基準時計の時刻に一致するように前記基準時計の時刻を補正する基準時計補正手段と、
前記教示プログラムと前記内部時計の時刻とに基づいて、前記ロボットおよび前記プレス機械の補間時間毎の動作指令を算出することにより、前記ロボットおよび前記プレス機械を前記基準時計に同期して動作させる動作手段と、を具備するシステム。
【請求項２】
互いに協働する複数のロボットを含むシステムにおいて、
該システムは、時刻を周期的に更新する基準時計を備えており、
前記複数のロボットのそれぞれは、
内部時計と、
前記複数のロボットの動作時における前記複数のロボットのそれぞれの位置を前記内部時計の時刻に対応して記憶した教示プログラムと、
前記内部時計の時刻が前記基準時計の時刻に一致するように前記内部時計の時刻を補正する内部時計補正手段と、
該内部時計補正手段によって前記内部時計の時刻を前記基準時計の時刻に一致させられない場合には、前記内部時計の時刻が前記基準時計の時刻に一致するように前記基準時計の時刻を補正する基準時計補正手段と、
前記教示プログラムと前記内部時計の時刻とに基づいて、前記複数のロボットの補間時間毎の動作指令を算出することにより、前記複数のロボットを前記基準時計に同期して動作させる動作手段と、を具備するシステム。
【請求項３】
前記内部時計は、該内部時計に対して指定された増分時間を周期的に加算して時刻を更新するようになっており、
前記内部時計補正手段は、前記内部時計の前記増分時間を変更するようにした請求項１または２に記載のシステム。
【請求項４】
前記基準時計は、該基準時計に対して指定された増分時間を周期的に加算して時刻を更新するようになっており、
前記基準時計補正手段は、前記基準時計の前記増分時間を変更するようにした請求項１または２に記載のシステム。
【請求項５】
さらに、前記内部時計補正手段および前記基準時計補正手段の両方によっても前記内部時計の時刻を前記基準時計の時刻に一致させられない場合には、前記システムにおける前記ロボットまたは前記プレス機械を停止させる停止手段を含む、請求項１から４のいずれか一項に記載のシステム。
【請求項６】
さらに、前記停止手段により前記ロボットまたは前記プレス機械を停止させる場合には、前記基準時計の前記増分時間をゼロに設定して前記基準時計を停止させる基準時計停止手段を含む請求項５に記載のシステム。
【請求項７】
請求項１に記載されるシステムにおいて使用される前記ロボットの制御装置。
【請求項８】
請求項２に記載されるシステムにおいて使用される前記ロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットおよびプレス機械を含むシステム、複数のロボットを含むシステム、ならびにそのようなシステムにおいて使用されるロボットの制御装置に関する。
【背景技術】
【０００２】
ロボットおよび工作機械を含むシステムまたは複数ロボットを含むシステムにおいては、ロボットおよび工作機械または複数のロボット同士が互いに協働して作業を行うことがある。このような場合には、ロボットおよび／または工作機械（以下、これらを適宜「機器」と称す）が互いに干渉しないようにインターロック信号が設置される。そして、一つの機器における作業が終了したら、インターロック信号に基づいて他の機器が作業エリアに進入するようにしていた。これにより、機器同士が互いに干渉するのが防止され、作業効率を向上させられる。
【０００３】
近年では一つの作業を効率的に遂行するために、機器同士を同期して動作（以下、「同期動作」とも言う）させるようにしている。このような同期動作に関する技術として、特許文献１では、ロボットおよびプレス機械を含むシステムにシステムクロックを導入している。そして、プレス機械の軸部とシステムクロックとを対応させ、ロボットがシステムクロックに従って動作することにより、ロボットとプレス機械とを同期させている。また、特許文献２では、複数のロボットを含むシステムにシステムクロックを導入し、夫々のロボットがシステムクロックに従って動作することにより、複数のロボットを同期させている。
【特許文献１】特開平３−６０９９０号公報
【特許文献２】特公平８−３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１および特許文献２においては、以下のような問題が存在する。特許文献１ではシステムクロックをプレス機械の軸部と対応させており、ロボットはシステムクロックに追従する、いわばプレス機械のスレーブ的な存在である。そして、同期動作時にロボットがプレス機械に同期できなくなった場合には、同期異常と判定し、システムを停止させている。
【０００５】
また特許文献２では、夫々のロボットはシステムクロックに同期するスレーブ的な存在である。そして、特許文献２においても、ロボットがシステムクロックに同期できない場合にはシステムを停止させるようにしている。
【０００６】
このように、これら特許文献１および特許文献２においては、ロボットまたはプレス機械がシステムクロックに同期できない場合にはシステム全体を停止させている。従って、システム停止後の復旧時間を考慮すると、ロボットまたはプレス機械がシステムクロックに同期できない場合には作業効率が大幅に低下することが想定される。
【０００７】
そこで本発明は、ロボットおよび／またはプレス機械が基準時計の単なるスレーブではなく、ロボットおよび／またはプレス機械が状況に応じて基準時計を調整するマスターとしても機能しうるシステムまたはロボット制御装置を提供する事を目的とする。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために１番目の発明によれば、互いに協働するロボットとプレス機械とを含むシステムにおいて、該システムは、時刻を周期的に更新する基準時計を備えており、前記ロボットおよび前記プレス機械のそれぞれは、内部時計と、前記ロボットおよび前記プレス機械の動作時における前記ロボットおよび前記プレス機械のそれぞれの位置を前記内部時計の時刻に対応して記憶した教示プログラムと、前記内部時計の時刻が前記基準時計の時刻に一致するように前記内部時計の時刻を補正する内部時計補正手段と、該内部時計補正手段によって前記内部時計の時刻を前記基準時計の時刻に一致させられない場合には、前記内部時計の時刻が前記基準時計の時刻に一致するように前記基準時計の時刻を補正する基準時計補正手段と、前記教示プログラムと前記内部時計の時刻とに基づいて、前記ロボットおよび前記プレス機械の補間時間毎の動作指令を算出することにより、前記ロボットおよび前記プレス機械を前記基準時計に同期して動作させる動作手段と、を具備するシステムが提供される。
【０００９】
すなわち１番目の発明においては、ロボットおよびプレス機械を含むシステムに、基準時計を導入している。ロボットおよびプレス機械の動作は、それぞれの内部時計の時刻と対応付けられて教示プログラムに記録し、教示プログラムの実行時にはロボットおよびプレス機械が基準時計の時刻を監視する。基準時計の時刻がそれぞれの内部時計の時刻と一致していない場合は、内部時計補正手段により内部時計の時刻を基準時計の時刻に一致させて同期動作を実現する。さらに、一方の機器の内部時計補正手段によって内部時計の時刻を基準時計の時刻に一致させられない場合には、一方の機器の基準時計補正手段により基準時計を補正すると共に、他方の機器の内部時計補正手段によって内部時計の時刻を基準時計の時刻に一致させる。これにより、同期動作を続行でき、システムの作業効率が低下するのを避けられる。
【００１０】
２番目の発明によれば、互いに協働する複数のロボットを含むシステムにおいて、該システムは、時刻を周期的に更新する基準時計を備えており、前記複数のロボットのそれぞれは、内部時計と、前記複数のロボットの動作時における前記複数のロボットのそれぞれの位置を前記内部時計の時刻に対応して記憶した教示プログラムと、前記内部時計の時刻が前記基準時計の時刻に一致するように前記内部時計の時刻を補正する内部時計補正手段と、該内部時計補正手段によって前記内部時計の時刻を前記基準時計の時刻に一致させられない場合には、前記内部時計の時刻が前記基準時計の時刻に一致するように前記基準時計の時刻を補正する基準時計補正手段と、前記教示プログラムと前記内部時計の時刻とに基づいて、前記複数のロボットの補間時間毎の動作指令を算出することにより、前記複数のロボットを前記基準時計に同期して動作させる動作手段と、を具備するシステムが提供される。
【００１１】
すなわち２番目の発明においては、複数のロボットを含むシステムに、基準時計を導入している。複数のロボットの動作は、それぞれの内部時計の時刻と対応付けられて教示プログラムに記録し、教示プログラムの実行時には複数のロボットが基準時計の時刻を監視する。基準時計の時刻がそれぞれの内部時計の時刻と一致していない場合は、内部時計補正手段により内部時計の時刻を基準時計の時刻に一致させて同期動作を実現する。さらに、一方の機器の内部時計補正手段によって内部時計の時刻を基準時計の時刻に一致させられない場合には、一方の機器の基準時計補正手段により基準時計を補正すると共に、他方の機器の内部時計補正手段によって内部時計の時刻を基準時計の時刻に一致させる。これにより、同期動作を続行でき、システムの作業効率が低下するのを避けられる。
【００１２】
３番目の発明によれば、１番目または２番目の発明において、前記内部時計は、該内部時計に対して指定された増分時間を周期的に加算して時刻を更新するようになっており、前記内部時計補正手段は、前記内部時計の前記増分時間を変更するようにした。
すなわち３番目の発明においては、比較的簡易な構成により、内部時計補正手段が内部時計の時刻を基準時計の時刻に一致させられる。
【００１３】
４番目の発明によれば、１番目または２番目の発明において、前記基準時計は、該基準時計に対して指定された増分時間を周期的に加算して時刻を更新するようになっており、前記基準時計補正手段は、前記基準時計の前記増分時間を変更するようにした。
すなわち４番目の発明においては、比較的簡易な構成により、基準時計補正手段が基準時計の時刻を内部時計の時刻に一致させられる。
【００１４】
５番目の発明によれば、１番目から４番目のいずれかの発明において、さらに、前記内部時計補正手段および前記基準時計補正手段の両方によっても前記内部時計の時刻を前記基準時計の時刻に一致させられない場合には、前記システムにおける前記ロボットまたは前記プレス機械を停止させる停止手段を含む。
すなわち５番目の発明においては、同期動作が不可能な状態でシステム内の機器が動作を継続するのを未然に回避する。
【００１５】
６番目の発明によれば、５番目の発明において、さらに、前記停止手段により前記ロボットまたは前記プレス機械を停止させる場合には、前記基準時計の前記増分時間をゼロに設定して前記基準時計を停止させる基準時計停止手段を含む。
すなわち６番目の発明においては、システム内の機器が基準時計に同期しようとしても、基準時計が進んでいないのでこれら機器が動作することはない。従って、同期動作が不可能な状態でシステム内の機器が動作を継続するのを未然に回避する。
【００１６】
７番目の発明によれば、１番目の発明のシステムにおいて使用される前記ロボットの制御装置が提供される。
８番目の発明によれば、２番目のシステムにおいて使用される前記ロボットの制御装置が提供される。
【００１７】
さらに、１番目から８番目の発明によれば、システム内の各機器間の干渉を防止するためのインタロック信号が不要になるためにシステムの立ち上げ時間が短縮される。また、同期動作ができなくなりそうな機器が、同期動作が実行できる程度まで基準時計の進む割合を変更して同期動作を続行するので、システム全体を停止させる必要がなく、従って、作業効率を向上させられる。さらに、インタロック信号によるシステムの待ち時間がなくなるために作業効率を向上させられる。そして、各機器間で干渉しないような動作を基準時計と対応させて予め教示しておくことで、基準時計と同期して動作すれば機器間の干渉を回避できる。
【発明を実施するための最良の形態】
【００１８】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
まず、本発明のシステムの動作原理について説明する。本発明のシステムは、互いに協働するロボットとプレス機械とを含むか、または互いに協働する複数のロボットを含んでいる。本発明は、システムにおける各機器がそれら機器自体の内部時計の時刻を基準時計の時刻に一致させる事により、各機器が基準時計と同期し、その結果機器同士が同期して動作することを目的とする。
【００１９】
各機器は機器自体の内部時計の時刻を基準時計の時刻に一致させるために、基準時計の時刻を常時監視する。そして、基準時計の時刻と内部時計の時刻に差が存在する場合は、内部時計補正手段が、基準時計に一致するように機器自体の内部時計の進む割合（以下、適宜「増分時間」とも言う）を変更する補正計算（以下「内部時計補正計算」とも言う）を補間時間毎に行う。これにより、或る時間の経過後には基準時計の時刻と内部時計の時刻とが一致するようになる。
【００２０】
ここで、システム内の機器の中で、内部時計補正計算を行っても基準時計と内部時計との間の時間差が減少せず、一定の時間差を生じたまま時間が経過する機器が存在する場合がある。そのような場合には、その機器は内部時計補正計算によって基準時計の時刻と内部時計の時刻とを一致させる事は不可能であり、基準時計の増分時間がその機器の内部時計の増分時間よりも大きいと判断される。従って、その機器の基準時計補正手段は、その機器自体の内部時計が基準時計に同期可能な基準時計の増分時間を再計算（以下、「基準時計補正計算」とも言う）して、その増分時間を基準時計に出力する。
【００２１】
これにより、基準時計の増分時間を変更させた機器は基準時計に同期することができる。次いで、他の機器の内部時計補正手段は、増分時間変更後の基準時計と他の機器の内部時計の時刻を一致させるように内部時計補正計算を行う。従って、各機器が基準時計と同期し、その結果、システム内の機器同士が同期して動作するようになる。
【００２２】
図１は、本発明の第一の実施形態に基づく、ロボットおよびプレス機械を含むシステムの略図である。図１に示されるシステム１は、互いに協働するロボットＲａとプレス機械３とを含んでおり、プレス機械３によりプレスされたワーク（図示しない）をロボットＲａが取出すようになっている。システム１においては、ロボットＲａを制御する制御装置１０ａとプレス機械３を制御する制御装置１０ｂとが、上位制御装置であるＰＬＣ５に接続されている。図示されるように、ＰＬＣ５は、時刻を周期的に変更する基準時計６とその基準時計６を停止させる基準時計停止手段７とを含んでいる。
【００２３】
図２は、本発明の第二の実施形態に基づく、複数のロボットを含むシステムの略図である。図２に示されるシステム１’は、互いに協働する複数のロボットＲｃ〜Ｒｆを含んでおり、これらロボットＲｃ〜Ｒｆは作業台８に載置されたワーク９を一緒に取上げるようになっている。システム１’においては、ロボットＲｃ〜Ｒｆのそれぞれを制御する制御装置１０ｃ〜１０ｆが、前述したＰＬＣ５と同様なＰＬＣ５’に接続されている。
【００２４】
図３は本発明に基づくシステムにおける制御装置の機能ブロック図である。図３に示される制御装置は図１および図２に示される制御装置１０ａ〜１０ｆを代表する典型的な制御装置であるものとする。
【００２５】
図３に示されるように制御装置１０は、メインＣＰＵ１１（以下、単にＣＰＵと言う）と、揮発性メモリ、読み出し専用メモリ、不揮発性メモリ等からなるメモリ１２と、教示操作盤用インターフェイス１３と、外部装置用の入出力インターフェイス１５と、サーボ制御部１４とを含んでいる。図示されるように、これらはバス１６を介して互いに並列に接続されている。また、メモリ１２には、ロボットおよび／またはプレス機械の教示プログラム２５と各種のデータ２６が格納される。教示プログラム２５には、ロボットおよび／またはプレス機械の動作時におけるロボットおよび／またはプレス機械のそれぞれの位置が内部時計の時刻に対応して記憶されている。
【００２６】
また、ＣＰＵ１１は、内部時計１９と、該内部時計１９の時刻が基準時計６の時刻に一致するように内部時計１９の時刻を補正する内部時計補正手段２１と、内部時計補正手段２１によって内部時計１９の時刻を基準時計６の時刻に一致させられない場合に内部時計１９の時刻が基準時計６の時刻に一致するように基準時計６の時刻を補正する基準時計補正手段２３と、教示プログラムと内部時計１９の時刻とに基づいて、ロボットおよび／またはプレス機械の補間時間毎の動作指令を算出することにより、ロボットおよび／またはプレス機械を基準時計６に同期して動作させる動作手段２２とを含んでいる。
【００２７】
内部時計１９の時刻は、ＣＰＵ１１内で補間時間毎に任意の増分時間が積算されることにより更新される。基準時計６の時刻は入出力インターフェイス１５、バス１６を通してＣＰＵ１１に取込まれる。そしてＣＰＵ１１内において、内部時計補正手段２１が基準時計６の時刻と内部時計１９の時刻を一致させる内部時計補正計算を行う。また、内部時計１９が基準時計６に同期不可能な場合には、基準時計補正手段２３が基準時計６の増分時間を変更する基準時計補正計算を行う。
【００２８】
図３に示されるように、教示操作盤用インターフェイス１３に接続される教示操作盤１７はディスプレイを備えている。オペレータは、この教示操作盤１７を手動操作して、ロボット等の動作プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された動作プログラムの再生運転、ジョグ送り等を実行する。ロボット及びロボット制御装置の基本機能を支えるシステムプログラムは、メモリ１２のＲＯＭに格納される。また、アプリケーションに応じて教示されるロボットの動作プログラム（例えばスポット溶接のプログラム）並びに関連設定データ２６は、メモリ１２の不揮発性メモリに格納される。さらに、サーボ制御部１４に取付けられたモータＭ１、Ｍ２、・・・、Ｍｎにはそれぞれの軸の現在位置を検出するための位置検出器が付けられているものとする。
【００２９】
再び図１を参照すると、制御装置１０ａは、基準時計６の時刻データを取得して、内部時計１９ａの時刻と比較する。そして、制御装置１０ａの内部時計補正手段２１が基準時計６の時刻に一致するように内部時計１９ａの補正計算をする。その後、補間時間毎に内部時計１９ａの時刻に対応した動作指令を制御装置１０ａからロボットＲａに出力し、ロボットＲａはそれに基づいて動作する。プレス機械３は、基準時計６とプレス機械３の内部時計１９ｂの時刻とが一致するように補正計算を行って同様に動作する。
【００３０】
ここで例えば制御装置１０ａ内の内部時計１９ａが、内部時計補正計算をしても、基準時計６に同期して動作できないと判断した場合は、制御装置１０ａの基準時計補正手段２３は、内部時計１９ａが基準時計６に同期可能な基準時計６の増分時間を計算する。そして、計算された増分時間のデータを基準時計６に送信して、基準時計６の増分時間を変更する。
【００３１】
これにより、内部時計１９ａは基準時計６の時刻に同期することができる。そして、プレス機械３の内部時計補正手段２１も内部時計１９ｂの時刻を変更後の基準時計６の時刻と一致するように補正計算する。従って、ロボット２とプレス機械３とが同期して動作するようになる。
【００３２】
図２に示される実施形態においては、制御装置１０ｃは、基準時計６’の時刻データを取得して、内部時計１９ｃの時刻と比較する。そして、制御装置１０ｃの内部時計補正手段２１が、基準時計６’の時刻に一致するように内部時計１９ｃの補正計算を行う。そして補間時間毎に内部時計１９ｃの時刻に対応した動作指令をロボットＲｃに出力し、ロボットＲｃはそれに基づいて動作する。他の制御装置１０ｄ〜１０ｆの内部時計補正手段２１も、基準時計６’の時刻とそれぞれの内部時計１９ｄ〜１９ｆの時刻とが一致するように補正計算を行い、それにより、各ロボットＲｄ〜Ｒｆが同期動作するようになる。
【００３３】
ここで例えば制御装置１０ｃ内の内部時計１９ｃが、内部時計の補正計算をしても、基準時計６’に同期して動作できないと判断した場合は、制御装置１０ｃの基準時計補正手段２３は内部時計１９ｃが基準時計６’に同期可能な基準時計６’の増分時間を計算する。そして、計算した増分時間のデータを基準時計６’に送信し、基準時計の増分時間を変更する。
【００３４】
これにより、内部時計１９ｃは基準時計６’の時刻に同期することができる。他の制御装置１０ｄ〜１０ｆの内部時計補正手段２１はそれぞれの内部時計１９ｃ〜１９ｆの時刻を変更後の基準時計６’の時刻と一致するように補正計算する。従って、ロボットＲｃ〜Ｒｆは同期して動作するようになる。
【００３５】
図４は、動作プログラムから動作指令が作成されるまでの動作を示すフローチャートである。具体的には、教示操作盤１７上で作成された動作プログラムから、ロボットの各関節に装備されるモータＭｎを動作させる動作指令を作成する。動作プログラムには各軸形式や直線形式で移動することを示す動作形式の他、教示点位置、動作速度等が記録されているものとする。ここで始点Ｐ［１］、終点Ｐ［２］の２点間を移動する動作プログラムがあるとする。図４のステップＳ１０１において、２点の位置から移動距離Ｘと、動作速度Ｖとを取得する。そしてステップＳ１０２において２点の移動時間ＭＴを以下の式１のように求める。
ＭＴ＝Ｘ／Ｖ  ・・・式１
【００３６】
次いで、ステップＳ１０３において現在設定されているオーバライドＯＶＲＤを取得する。オーバライドとは動作プログラムに記載されたロボットの動作速度に対する割合である。例えば、動作プログラムに動作速度が２０００ｍｍ／ｓｅｃと記載されていたとする。オーバライドを１００％にした場合にはロボットは２０００ｍｍ／ｓｅｃの速度で動作し、オーバライドを５０％にした場合はロボットは１０００ｍｍ／ｓｅｃの速度で動作する。オーバライドの最大値は１００％であり、その場合には、オーバライドを１．０として計算する（オーバライド５０％なら０．５である）。
【００３７】
ステップＳ１０４において内部時計の増分時間Δｔｃは、制御装置で固定値の補間周期ＩＴＰと、オーバライドＯＶＲＤとを用いて式２から算出される。式２から分かるように、オーバライドが１００％の場合には内部時計の増分時間と補間周期とが等しくなり、オーバライドの値を変更することにより内部時計の増分時間を変更できる。
Δｔｃ＝ＩＴＰ×ＯＶＲＤ  ・・・式２
【００３８】
次いで、ステップＳ１０５においては、増分時間Δｔｃに対して後述するフィルタリング処理を行う。これにより、オーバライドが急激に変化した場合であっても増分時間Δｔｃの値は円滑に変化するようになる。次いで、ステップ１０６においては、フィルタリング処理を施した増分時間Δｔｃに対して、一補間で移動する距離ΔＸを以下の式３から算出する。
ΔＸ＝Ｖ×Δｔｃ・・・式３
【００３９】
ステップＳ１０７においては、２点間を移動するときの補間回数ＮＰＴを、移動時間ＭＴと内部時計の増分時間Δｔｃとを用いて以下の式４から算出する。
ＮＰＴ＝ＭＴ／Δｔｃ  ・・・式４
【００４０】
次いで、ステップＳ１０８およびステップＳ１０９においては、始点Ｐ［１］（時刻はｔｃ［１］）から、終点Ｐ［２］  （時刻はｔｃ［ＮＰＴ］）までの補間時間毎の内部時計の時刻ｔｃ［ｉｄ］と位置Ｘ［ｉｄ］とを計算する。時刻ｔｃ［ｉｄ］は補間時間毎の増分時間Δｔｃを用いて式５のように表現される。位置Ｘ［ｉｄ］は補間時間毎の移動距離ΔＸを用いて式６のような漸化式で表現される。そして、インデクスｉｄを１から総補間点数ＮＰＴまで繰り返し計算することにより、補間時間毎の内部時計の時刻ｔｃ［ｉｄ］と位置Ｘ［ｉｄ］とが算出される。
ｔｃ［ｉｄ＋１］＝ｔｃ［ｉｄ］＋Δｔｃ  ・・・式５
Ｘ［ｉｄ＋１］＝Ｘ［ｉｄ］＋ΔＸ  ・・・式６
【００４１】
図５（ａ）および図５（ｂ）はオーバライドがそれぞれ１００％および５０％のときにおける一補間あたりの移動距離を示す図である。式２から分かるように、オーバライドが５０％になると、オーバライドが１００％の時と比較して、内部時計の増分時間が半分になる。さらに、式３から分かるように、オーバライドが５０％になると（図５（ｂ））、オーバライドが１００％の場合（図５（ａ））と比較して、一補間あたりの移動距離も半分になる。
【００４２】
図６はプレス機械の動作速度と時間との関係を例として示す図である。図６において縦軸はプレス機械の動作速度を示しており、横軸は時間を示している。一般にプレスハンドリングシステムでは、図６に示されるように、最初は低い動作速度でシステムの運転を開始する。そして、断続的に上昇させてシステムの連続運転時には最大値になるように動作速度を制御する。このような制御は内部時計の増分時間を徐々に増加させることにより行われる。
【００４３】
しかしながら、内部時計に基づいて動作する機器、例えばプレス機械３およびロボットＲａ〜Ｒｆにはそれら自体のイナーシャが存在している。このため、図６に示されるように増分時間を瞬時に変更すると、動作速度も急激に変化するので機器に衝撃を与えることになり、機器が損傷することにもなりうる。
【００４４】
それゆえ、内部時計１９の増分時間Δｔｃにフィルタリング処理を施すことにより増分時間Δｔｃを円滑に変化させ、フィルタリング後の増分時間Δｔｃを内部時計の増分時間Δｔｃとして使用するのが好ましい。図７は内部時計の増分時間を変化させるときに、増分時間に施されるフィルタリング処理を示す図である。以下、図７を参照して、図４のステップＳ１０５におけるフィルタリング処理について説明する。フィルタリングのアルゴリズムは、１補間で出力すべき増分時間Δｔｃを、フィルタの時定数分の平均値として出力する（以降、平均化と言う）ものであり、図７においてはこの平均化を二回にわたって行う。
【００４５】
図７に示される例においては増分時間Δｔｃの入力が５０から１００に変化するときに、フィルタリングの１段目時定数が８補間分、２段目時定数が４補間分とした場合の増分時間Δｔｃの出力の変化が示される。図７から分かるように、例えば１補間目の増分時間Δｔｃは、１段目の平均化で５７になり、２段目の平均化で５２となって出力される。このような処理を１段目、２段目時定数の和に相当する１２補間分実行すると、増分時間Δｔｃを５０から１００に滑らかに変化させることができる。
【００４６】
また、内部時計１９の増分時間を基準時計６の増分時間に一致させれば、各機器が基準時計６の進む割合に同期するようになる。そのため、基準時計６の時刻を各機器の制御装置１０に取込めば、基準時計６の増分時間が求められる。基準時計６の時刻は、入出力インターフェイス１５よりバス１６を通してＣＰＵ１１に取り込まれる。基準時計６の時刻をＴｃ［Ｉｄ］（Ｉｄは整数値）およびサンプリング周期をｔｔとすると、基準時計６の増分時間は、以下の式７で表すことができる。
ΔＴｃ＝（Ｔｃ［Ｉｄ＋１］−Ｔｃ［Ｉｄ］）／ｔｔ    ・・・式７
【００４７】
図８は、基準時計の増分時間を内部時計の増分時間として採用するのを示すフローチャートである。図８のステップＳ２０１において、内部時計１９の増分時間を式２より求める（図４のステップＳ１０４と同一）。次いで、ステップＳ２０２において、動作プログラム内に同期動作を指示する命令（以下、「トケイ命令」と言う）があるか否かを判定する。トケイ命令がある場合には、ステップＳ２０３に進む。ステップＳ２０３においては、式７で示された基準時計６の増分時間を、内部時計の増分時間として設定する。これにより、基準時計６の増分時間に基づいて内部時計１９が動作する事になり、内部時計１９を備えた機器が基準時計６の進む割合に同期動作するようになる。
【００４８】
ここまでは、増分時間について述べた。しかしながら、増分時間のみを一致させた場合であっても、基準時計６と内部時計１９との絶対的な時刻は一致しない。以下、基準時計６と内部時計１９との絶対的な時刻を一致させる方法について述べる。
【００４９】
ここで内部時計１９の絶対的な時刻は、式５で示したように、補間時間毎に前回の内部時計の時刻ｔｃ［ｉｄ］に、増分時間Δｔｃを加算して求められる。時刻ｔｃ［ｉｄ］の初期値ｔｃ［１］、すなわち内部時計の開始時刻は、動作プログラムに記述された動作付加命令から取得する。
【００５０】
図９は、本発明の同期動作を実現する命令を含む動作プログラムの一部分を示す図である。図９における１行目の動作命令文は、現在の位置から位置Ｐ［１］までチョクセン動作形式で速度２０００ｍｍ／ｓｅｃにて移動して停止しなさい、という基本的な動作命令文である。ここで基準時計の時刻に同期して動作するという意味を含む動作命令文は図９の３、４、５行目における動作命令文であり、これら動作命令文の末尾には「トケイ＊」（＊には時刻の数値が入る。以後、この動作付加命令を「トケイ命令」と呼ぶ）が付加されている。
【００５１】
例えば図９における３行目の動作命令文は、現在、機器が位置Ｐ［２］にいる場合に、位置Ｐ［２］から位置Ｐ［３］までチョクセン動作形式で速度２０００ｍｍ／ｓｅｃにて移動して、基準時計６の時刻が０の時に停止しなさい、という命令である。ここで、内部時計１９の開始時刻はトケイ命令が連続する動作命令文で最初に現れるトケイ命令の値とする。図９の動作プログラムの場合には、３行目の「トケイ０」と記載されるので、内部時計１９の開始時刻は０、ｔｃ［１］＝０である。これ以降は、式５に従い、補間時間毎に内部時計の増分時間を加算して内部時計の時刻とする。
【００５２】
図９の動作プログラムにおいては、通常の動作命令文と、基準時計に同期する命令を含む動作命令文とが混在している。図１０は、同期動作を行うときの挙動を示すフローチャートである。はじめに、図１０のステップＳ３０１において、トケイ命令が付加されているか否かを判定する。そして、トケイ命令が不可されていない場合には、ステップＳ３０４にて通常の動作命令文の処理を行う。一方、トケイ命令が付加されている場合には、ステップＳ３０２に進む。
【００５３】
ステップＳ３０２においては、基準時計６の時刻を参照する。そして、基準時計６の時刻がトケイ命令で指定された値になっていない場合には、そのトケイ命令が付加されている動作命令文の位置で、トケイ命令で指定された値になるまで待機する（ステップＳ３０３）。そして、基準時計６の時刻がトケイ命令で指定されている値になったら、動作を開始する。このことは、基準時計と内部時計の絶対時刻を合わせて動作を開始することを意味している。
【００５４】
その後、図４のステップを最初から実行し、図８のステップＳ２０３を実行すれば、基準時計と内部時計の増分時間を一致させることができる。すなわち、基準時計に機器が同期して動作するようになる。
【００５５】
基準時計の時刻と機器の内部時計の時刻との間に誤差が生じた場合には、内部時計補正手段２１によって内部時計補正計算を行う。具体的には、内部時計補正手段２１が内部時計の増分時間を補正し、それにより、基準時計の時刻と内部時計の時刻とが時間の経過とともに一致するようにする。
【００５６】
図１１は基準時計の時刻と内部時計の時刻とに差が存在するときに行われる補正計算を示す図である。図１１においては、或る補間周期で、基準時計の時刻Ｔｃと内部時計の時刻ｔｃとの間に時間差が存在している。すなわちＴｃ−ｔｃ≠０である。この場合には、内部時計補正手段２１が、内部時計の増分時間を補正する。補正後の増分時間ｄｔｃ’は以下の式８により表される。式８においてはαは定数であり、この値は機器固有である。
ｄｔｃ’＝（Ｔｃ−ｔｃ）×α    ・・・式８
【００５７】
内部時計補正手段２１による内部時計補正計算は、基準時計の時刻と内部時計の時刻との間に差がある場合には、常に実行される。もし差がない場合には、基準時計の増分時間を内部時計の増分時間として設定する。
【００５８】
図１２は、基準時計の時刻と内部時計の時刻とに差が存在するときの処理を示すフローチャートであり、図８におけるステップＳ２０３を補完したものである。図１２におけるステップＳ４０１で基準時計の時刻と内部時計の時刻とを比較する。これらの時刻が一致している場合にはステップＳ４０２に進み、基準時計の増分時間ΔＴｃを内部時計の増分時間Δｔｃに上書きする。これらの時刻が一致していない場合には、ステップＳ４０３に進み、式８の計算を行い、内部時計の増分時間を式８の結果により上書きする。
【００５９】
システム内の各機器が基準時計６に同期して動作しているときに、或る機器が作業遅れなどで基準時計６から遅れて同期から外れた場合には、内部時計補正手段２１によって内部時計１９の時刻を基準時計６の時刻に一致させられない場合がある。このような場合には、遅れが生じた機器の基準時計補正手段２３が基準時計６の増分時間を遅らせるようにする。
【００６０】
図１３は基準時計および内部時計の時刻と実際の時間との関係を示す図である。図１３において横軸は現実世界の時間（以降、「実時間」と言う）を表しており、縦軸は基準時計６および内部時計１９の時刻を表している。
【００６１】
図１３に示されるように、実時間０〜ｔ１においては、基準時計の時刻と内部時計の時刻とが一致していて同期状態にある。実時間ｔ１においては、作業遅れが生じた機器の内部時計が遅れ始める。そして、実時間ｔ２において基準時計補正手段２３により基準時計の増分時間が補正される。実時間ｔ２〜ｔ３においては基準時計の増分時間がｔ２以前の増分時間よりも少なくなり、内部時計との差が小さくなる。実時間ｔ３以降は、時刻の差がなくなり、基準時計と内部時計とが再び同期して動作し始める。
【００６２】
基準時計補正手段２３が基準時計の増分時間を補正する場合には、式８と同様な式９が使用される。すなわち或る補間周期で、基準時計の時刻Ｔｃと内部時計の時刻ｔｃとの間に時間差が存在する場合（Ｔｃ−ｔｃ≠０）には、基準時計の増分時間を補正する値ｄＴｃ’は以下の式９により算出される。式９においては、Ａは定数であり、この値はシステムに固有である。そしてこの補正を「基準時計補正計算」という。基準時計補正手段２３によって基準時計６の時刻が補正されると、作業遅れが生じた機器の内部時計が基準時計６に同期するようになる。
ｄＴｃ’＝（Ｔｃ−ｔｃ）×Ａ    ・・・式９
【００６３】
その後、作業遅れが生じていない他の機器の内部時計補正手段２１は補正後の基準時計６に同期するように、当該機器における内部時計１９の増分時間を補正する。これにより、システム内の全機器は、遅れが発生した機器の内部時計の時刻に同期するようになる。
【００６４】
図１４は基準時計および内部時計に対する補正計算の処理を示すフローチャートであり、図８におけるステップＳ２０３を補完したものである。図１４におけるステップＳ４０９は後述するので、先にステップＳ４０１を説明する。ステップＳ４０１において基準時計の時刻Ｔｃと内部時計の時刻ｔｃとを比較する。これら時刻が一致している場合には、ステップＳ４０２に進んで、基準時計の増分時間ΔＴｃを内部時計の増分時間Δｔｃにする。
【００６５】
基準時計の時刻Ｔｃと内部時計の時刻ｔｃとが一致していない場合にはステップＳ４０４に進む。ステップＳ４０４の判定条件は、基準時計の増分時間ΔＴｃの値が前補間のΔＴｃに対して変化している場合で、かつ、後述する基準時計補正フラグが立っていなかった場合である。そのような場合には、基準時計の時刻の進みが変化したと判断し、ステップＳ４０３に進む。ステップＳ４０３においては、内部時計補正手段２１が内部時計補正計算して、その結果を内部時計の増分時間に設定して処理を終了する。
【００６６】
ここで、ステップＳ４０４の判定条件に使用される基準時計補正フラグは、基準時計を補正する必要があるときに「真」となるフラグである。そのフラグは初期値としては「偽」であり、ステップＳ４０８で基準時計を補正するときに「真」になる。
【００６７】
また、ステップＳ４０４において、基準時計の増分時間ΔＴｃの値が前補間のΔＴｃに対して変化がない場合、または、基準時計補正フラグが「真」の場合には、基準時計と内部時計との間の時刻差が、基準時計の増分時間の変化に起因するのではなく、内部時計の増分時間の変化に起因していると判断できる。このような場合には、ステップＳ４０６に進む。
【００６８】
ステップＳ４０６においては、基準時計補正手段２３によって基準時計の増分時間が算出され、それが基準時計に送信される。これにより図１３の実時間ｔ２からｔ３の区間に示されるように、基準時計の増分時間を変更することによって、基準時間の時刻の進みが変更される。
【００６９】
次いでステップＳ４０７においては、基準時計の進みを変更させた機器の内部時計の増分時間Δｔｃがそのまま使用される。その理由は、ステップＳ４０６で基準時計を補正した機器の増分時間に基準時計が合わせようとしているためである。次いで、ステップＳ４０８において、基準時計補正計算を行った事を示すフラグを「真」にし、処理を終了する。
【００７０】
基準時計を補正計算した機器においては、このステップＳ４０８で設定した基準時計補正フラグは、基準時計の時刻と内部時計の時刻とが一致するまで「真」となっている。そのためステップＳ４０４において基準時計補正フラグが「真」である場合には、ステップＳ４０５、Ｓ４０６、Ｓ４０７、Ｓ４０８の手順を実行することになる。このとき、基準時計の補正を行わなかった機器においては、基準時計補正フラグが「偽」である。基準時計は補正されていてその増分時間ΔＴｃは変化しているので、ステップＳ４０４で内部時計補正計算をするステップＳ４０３に進み、その機器自体の内部時計の補正計算を行う事になる。
【００７１】
内部時計補正計算および基準時計補正計算の両方を行っても、基準時計の時刻と内部時計の時刻とがある一定の閾値を超える場合がありうる。そのような場合には、同期不可能であると判断して、機器に備えられた停止手段２４がそれぞれの機器を停止する。基準時計の時刻Ｔｃ、内部時計の時刻ｔｃ、閾値をＬＭＴとすると、以下の式１０の判定式を満たしたときに、停止手段２４は対応する機器を停止させる。
｜Ｔｃ−ｔｃ｜＞ＬＭＴ    ・・・式１０
【００７２】
この処理は、図１４のステップＳ４０９、Ｓ４１０において示される。すなわちステップＳ４０９において、式１０の処理を行う。そして、式１０が満たされた場合にはステップＳ４１０に進んで機器の動作を停止する。こうすることで、同期動作を前提にして形成されたシステムの誤動作を防ぐことが可能となる。
【００７３】
さらに、上述したような基準時計と内部時計との同期が不可能である場合には、図１のＣＰＵ１１から基準時計の動作も停止する指令を外部装置用の入出力インターフェイス１５を通して基準時計停止手段７まで送信する。これにより、基準時計６が停止される。基準時計が停止した場合には、各機器の内部時計補正手段２１が基準時計６に同期するように内部時計補正計算を実施し、それにより、各機器も停止するようになる。それゆえ、同期動作を前提にして作られたシステムの誤動作を防ぐことが可能となる。
【００７４】
このように本発明においては、システム内の各機器間の干渉を防止するためのインタロック信号が不要になるためにシステムの立ち上げ時間が短縮される。また、同期動作ができなくなりそうな機器が存在する場合であっても、基準時計補正手段２３によって基準時計の進む割合を変更して同期動作を続行している。すなわち、本発明においては、システム全体を停止させる必要がなく、従って、作業効率を向上させることが可能である。さらに、インタロック信号によるシステムの待ち時間がなくなるために作業効率を向上させられる。また、本発明においては、各機器間で干渉しないような動作を基準時計と対応させて予め教示しておくことにより、基準時計と同期して動作すれば機器間の干渉を回避することが可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の第一の実施形態に基づく、ロボットおよびプレス機械を含むシステムの略図である。
【図２】本発明の第二の実施形態に基づく、複数のロボットを含むシステムの略図である。
【図３】本発明に基づくシステムにおける制御装置の機能ブロック図である。
【図４】動作プログラムから動作指令が作成されるまでの動作を示すフローチャートである。
【図５】（ａ）オーバライドが１００％のときにおける一補間あたりの移動距離を示す図である。（ｂ）オーバライドが５０％のときにおける一補間あたりの移動距離を示す図である。
【図６】プレス機械の動作速度と時間との関係を示す図である。
【図７】内部時計の増分時間を変化させるときに、増分時間に施されるフィルタリング処理を示す図である。
【図８】基準時計の増分時間を内部時計の増分時間として採用するのを示すフローチャートである。
【図９】本発明の同期動作を実現する動作プログラムの一部分を示す図である。
【図１０】同期動作を行うときの挙動を示すフローチャートである。
【図１１】基準時計の時刻と内部時計の時刻とに差が存在するときに行われる補正計算を示す図である。
【図１２】基準時計の時刻と内部時計の時刻とに差が存在するときの処理を示すフローチャートである。
【図１３】基準時計および内部時計の時刻と実際の時間との関係を示す図である。
【図１４】基準時計および内部時計に対する補正計算の処理を示すフローチャートである。
【符号の説明】
【００７６】
１、１’    システム
２    ロボット
３    プレス機械
５、５’    ＰＬＣ
６、６’    基準時計
７、７’    基準時計停止手段
８    作業台
９    ワーク
１０、１０ａ〜１０ｆ    制御装置
１１    メインＣＰＵ
１２    メモリ
１３    教示操作盤用インターフェイス
１４    サーボ制御部
１５    入出力インターフェイス
１６    バス
１７    教示操作盤
１９、１９ａ〜１９ｆ    内部時計
２１    内部時計補正手段
２２    動作手段
２３    基準時計補正手段
２４    停止手段
２５    教示プログラム
２６    データ
Ｒａ〜Ｒｆ    ロボット
【図１】
0005123050.tif 000002
【図２】
0005123050.tif 000003
【図３】
0005123050.tif 000004
【図４】
0005123050.tif 000005
【図５】
0005123050.tif 000006
【図６】
0005123050.tif 000007
【図７】
0005123050.tif 000008
【図８】
0005123050.tif 000009
【図９】
0005123050.tif 000010
【図１０】
0005123050.tif 000011
【図１１】
0005123050.tif 000012
【図１２】
0005123050.tif 000013
【図１３】
0005123050.tif 000014
【図１４】
0005123050.tif 000015