(57)【要約】【課題】ロボットや外部軸装置の動作位置が、設定された監視領域内にあるか否かを判別し、その結果を外部に報知するロボットシステムにおいて、従来は、ロボットや外部軸装置の監視領域を、運転を停止させることなく変更することができない。【解決手段】ワークの位置を変更する外部軸装置と、外部軸装置の動作を制御するロボットとを備えたロボットシステムであって、ロボットはロボットシステムを動作させるためのプログラムを記憶する記憶部と、ロボットの動作位置が第１の監視領域内にあるか否かを判定するまたは外部軸装置の動作位置が第２の監視領域内にあるか否かを判定する判定部とを備え、判定に用いられる第１の監視領域または第２の監視領域は、プログラム内の命令が実行されることにより変更され、第１の監視領域または第２の監視領域は、ロボットシステムの動作中にプログラムに基づいて変更される。【選択図】図１
2014217901.tif 000002
【特許請求の範囲】
【請求項１】
ワークの位置を変更する外部軸装置と、前記外部軸装置の動作を制御する機能を有する産業用ロボットとを備えたロボットシステムであって、
前記産業用ロボットは、
前記ロボットシステムを動作させるための動作プログラムを記憶する記憶部と、
前記産業用ロボットの動作位置が第１の監視領域内にあるか否かを判定する、および／または、前記外部軸装置の動作位置が第２の監視領域内にあるか否かを判定する判定部と、を備え、
前記判定に用いられる前記第１の監視領域および／または前記第２の監視領域は、前記動作プログラム内の所定の命令が実行されることにより変更され、前記第１の監視領域および／または前記第２の監視領域は、前記ロボットシステムの動作中に、前記動作プログラムに基づいて変更されるロボットシステム。
【請求項２】
外部軸装置は、ワークの回転を行うポジショナであり、
前記外部軸装置の動作位置は、前記ポジショナが前記ワークを回転させる回転角度であり、
前記外部軸装置の第２の監視領域は、前記ポジショナが前記ワークを回転させる回転角度の範囲である請求項１記載のロボットシステム。
【請求項３】
外部軸装置は、ワークの移動を行うスライダであり、
前記外部軸装置の動作位置は、前記スライダが前記ワークを移動させる位置であり、
前記外部軸装置の第２の監視領域は、前記スライダが前記ワークを移動させる位置の範囲である請求項１記載のロボットシステム。
【請求項４】
産業用ロボットの動作位置は、前記産業用ロボットに備えられた作業用ツールの制御点の位置であり、
前記産業用ロボットの動作位置の第１の監視領域は、前記制御点を移動させる位置の範囲である請求項１から３のいずれか１項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムを構成するロボットや外部軸装置等の動作位置が監視領域内にあるか否かを判定する位置監視機能を有するロボットシステムに関する。
【背景技術】
【０００２】
ロボットシステムは、そのロボットシステムに含まれるロボットまたは外部軸装置の動作位置が、設定された監視領域内にあるか否かを判別し、その結果を外部に報知する位置監視機能を有する。
【０００３】
設定された監視領域とは、ロボットシステムのオペレータが予め設定しておく。ロボットにおける監視領域とは、ロボットを含む空間内における特定の直方体状の領域を示す。また、外部軸装置における監視領域とは、回転外部軸装置であるポジショナの場合は、ポジショナ角度の或る範囲を示し、スライド外部軸装置であるスライダの場合は、スライダの位置の或る範囲のことを示す。
【０００４】
位置監視機能の用途としては、ロボットまたは外部軸装置の動作位置が監視領域内にある場合に、他のロボットや他の外部軸装置が、同じ監視領域内に侵入してくることを防ぐためのインターロックとして用いられる。あるいは、監視領域の範囲をごく狭く設定することによって、ロボットや外部軸装置の動作位置が、所望の位置、例えば作業原点位置や待機位置に位置しているか否かを判別するための位置判定として用いられる。
【０００５】
ここで、ロボットが作業を行うべく侵入領域内の状態が変化しても、ロボットを適切に制御して、ロボットの誤った作業を防止するロボットの制御方法及びその制御装置が知られている（例えば、特許文献１参照）。
【０００６】
図５において、作業プログラムに基づいて所定の移動及び作業を行わせるロボットの制御装置は、ワーク２が配置される領域を予め侵入領域Ａとして設定するティーチング装置１６と、ティーチング装置１６によって設定された侵入領域Ａ内にワーク２があるか否かを検出する近接センサ３と、ロボットＲＡの動作を制御するコントローラ８を備えている。
【０００７】
近接センサ３により侵入領域Ａ内にワーク２が有ることを検出した場合、ロボットＲＡを、作業プログラムに基づいて、侵入領域Ａに侵入させて作業を行わせる。一方、近接センサ３により侵入領域Ａ内にワーク２が無いことを検出した場合、ロボットＲＡを停止させる。
【０００８】
これにより、侵入領域Ａ内の状態が変化している場合、ロボットＲＡが侵入領域Ａに侵入しないように停止させる。従って、侵入領域Ａ内でロボットが衝突することや、誤った作業を行うことを防止することができる。そして、ロボットの破損の防止やロボットの誤った作業による周囲への悪影響を防止することができる。
【０００９】
なお、侵入領域と監視領域とは、同義である。また、作業プログラムと後述の実施の形態における動作プログラムとは、同義である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平７−３１４３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来のロボットでは、作業プログラムに基づいて所定の移動及び作業を行わせるロボットの制御装置において、領域内の状態が変化する領域に予め侵入領域を設定し、前記侵入領域内の状態が変化していない場合、前記ロボットを侵入領域内に侵入させて作業を行わせ、侵入領域内の状態が変化している場合は、ロボットを侵入領域内に侵入させずに停止させるものである。従って、侵入領域は予め設定されており、作業プログラムの実行中には、侵入領域は可変ではない。
【００１２】
一方、ロボットシステムにおいては、生産計画に応じて作業対象であるワークの種類が変更され、動作プログラムを変更することや、作業対象であるワークをセットする治具を変更することは、通常のオペレーションである。この変更により、位置監視をするための監視領域を変更することは必要事項となる場合もある。この場合、オペレータが、監視領域を、前記変更の都度設定し直すことは、生産変更に要する時間が長くなり、また、オペレータの負担ともなり、作業ミスを誘発することもある。従って、前記のような変更が行われる場合であっても、時間ロスが無く、オペレータの負担も無いようにすることが必要である。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明のロボットシステムは、ワークの位置を変更する外部軸装置と、前記外部軸装置の動作を制御する機能を有する産業用ロボットとを備えたロボットシステムであって、前記産業用ロボットは、前記ロボットシステムを動作させるための動作プログラムを記憶する記憶部と、前記産業用ロボットの動作位置が第１の監視領域内にあるか否かを判定する、および／または、前記外部軸装置の動作位置が第２の監視領域内にあるか否かを判定する判定部と、を備え、前記判定に用いられる前記第１の監視領域および／または前記第２の監視領域は、前記動作プログラム内の所定の命令が実行されることにより変更され、前記第１の監視領域および／または前記第２の監視領域は、前記ロボットシステムの動作中に、前記動作プログラムに基づいて変更されるものである。
【００１４】
また、本発明のロボットシステムは、上記に加えて、外部軸装置は、ワークの回転を行うポジショナであり、前記外部軸装置の動作位置は、前記ポジショナが前記ワークを回転させる回転角度であり、前記外部軸装置の第２の監視領域は、前記ポジショナが前記ワークを回転させる回転角度の範囲としたものである。
【００１５】
また、本発明のロボットシステムは、上記に加えて、外部軸装置は、ワークの移動を行うスライダであり、前記外部軸装置の動作位置は、前記スライダが前記ワークを移動させる位置であり、前記外部軸装置の第２の監視領域は、前記スライダが前記ワークを移動させる位置の範囲としたものである。
【００１６】
また、本発明のロボットシステムは、上記に加えて、産業用ロボットの動作位置は、前記産業用ロボットに備えられた作業用ツールの制御点の位置であり、前記産業用ロボットの動作位置の第１の監視領域は、前記制御点を移動させる位置の範囲としたものである。
【発明の効果】
【００１７】
以上のように、本発明によれば、例えば生産変更の場合などで判定対象の監視領域を変更する必要がある場合に、オペレータが、監視領域を、前記変更の都度設定し直す必要がなく、動作プログラム内の命令実行で判定対象の監視領域が自動的に変更され、ロボットシステムの動作中、すなわちロボットシステムの運転状態を停止させることなく、動作プログラムに登録された命令に従って判定対象の監視領域を変更することができ、優れたロボットシステムを実現することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１におけるロボットシステムの概略構成を示す図
【図２】（ａ）本発明の実施の形態１における監視領域設定命令の設定画面を示す図（ｂ）本発明の実施の形態１における動作プログラムの表示画面を示す図
【図３】（ａ）本発明の実施の形態２におけるポジショナ監視領域設定命令の設定画面を示す図（ｂ）本発明の実施の形態２における動作プログラムの表示画面を示す図
【図４】（ａ）本発明の実施の形態３におけるスライダ監視領域設定命令の設定画面を示す図（ｂ）本発明の実施の形態３における動作プログラムの表示画面を示す図
【図５】従来のロボットの制御装置の概略構成を示す図
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態について、図１から図４を用いて説明する。
【００２０】
（実施の形態１）
図１において、ロボットシステムは、ロボット１０１と、ポジショナ１２０と、スライダ１２１と、ロボット１０１やポジショナ１２０やスライダ１２１等の動作を制御する制御装置１０６と、制御装置１０６と通信を行う教示装置１１０を備えている。
【００２１】
ロボット１０１は、例えば６軸の垂直多関節型の産業用ロボットであり、複数の関節軸を持つ。関節軸は、モータと減速機で構成される。ロボット１０１は、先端に、ツール１０７を備えている。ツール１０７は、ロボット１０１が例えば溶接ロボットであれば、アーク溶接トーチやスポット溶接ガンである。あるいは、ツール１０７は、ロボット１０１が例えばハンドリングロボットであれば、ワークを把持するためのハンドツールである。
【００２２】
制御装置１０６は、ロボットシステム全体を制御する装置である。制御装置１０６は、ロボットシステム全体の制御を行うＣＰＵ１０２と、動作プログラム等を記憶する記憶部１０３と、後述の判定を行う判定部１０４と、判定部１０４の判定結果を出力する出力部１０８と、ロボット１０１が備えているモータを制御してロボット１０１が備えているツール１０７の位置や姿勢を制御するためのモータ制御部１０５とを備えている。
【００２３】
また、図１において、ポジショナ１２０とスライダ１２１も、モータと減速機で構成されるものであり、モータ制御部１０５により動作が制御される。
【００２４】
教示装置１１０は、オペレータが、制御装置１０６を介してロボット１０１やポジショナ１２０やスライダ１２１を動作させて、動作プログラムを作成するための装置である。教示装置１１０は、通常、表示部と操作部等を備えている。オペレータが作成した動作プログラムは、制御装置１０６の記憶部１０３に記憶される。記憶部１０３は、例えば不揮発メモリである。
【００２５】
また、ロボット１０１、ポジショナ１２０、スライダ１２１の移動目標位置は、それぞれの位置データを１つにまとめたデータとして扱われる。そして、動作プログラムのロボット移動命令によって、ロボット１０１とポジショナ１２０とスライダ１２１は、同時に動作することが可能である。
【００２６】
なお、本実施の形態のロボットシステムは、ロボット１０１またはポジショナ１２０またはスライダ１２１の動作位置が、設定された監視領域内にあるかどうかを判定し、その結果を外部に報知する機能を有する。
【００２７】
次に、監視領域の設定方法について、図２を用いて説明する。なお、上述した設定された監視領域とは、ロボットシステムのオペレータが設定するものである。図２（ａ）は本実施の形態における監視領域設定命令の設定画面を示す図である。図２（ｂ）は、本実施の形態における動作プログラムの表示画面を示す図である。
【００２８】
図２において、設定画面２０１は、空間内に、ロボット１０１の監視領域を設定するためのロボット監視領域設定命令の設定画面を示す。なお、この設定画面２０１や表示画面２０２は、教示装置１１０の図示しない表示部に表示される。そして、その入力は、オペレータが教示装置１１０の図示しない操作部を用いて行う。
【００２９】
なお、例えば、表示部に表示画面２０２に示すような動作プログラムが表示されている状態で、作業者が教示装置１１０の操作部を用いて監視領域設定命令である「ＳＴＥＰ３：  ＣＵＢＥ−ＭＯＮＩＴＯＲ−ＳＥＴ」をクリックする操作を行うと、表示画面２０２から設定画面２０１へ画面が遷移する。そして、設定画面２０１の状態で、作業が教示装置１１０の操作部を用いて数値情報を入力し、「ＯＫ」を選択すると、監視領域設定命令である「ＣＵＢＥ−ＭＯＮＩＴＯＲ−ＳＥＴ」が入力された数値を含んで動作プログラムに記憶され、画面は表示画面２０２へ遷移する。なお、監視領域設定命令である「ＳＴＥＰ６：  ＣＵＢＥ−ＭＯＮＩＴＯＲ−ＳＥＴ」についても同様である。
【００３０】
ここで、前述の空間とは、ロボット１０１を基準とした座標系であり、ロボット１０１のベース部分の中心点を座標系原点としており、この空間をロボット座標系と呼ぶ。
【００３１】
なお、ロボット１０１のベースとは、ロボット１０１が据え付けられた地面あるいは架台とロボット１０１とが接する面であり、ロボット座標系は、図１に示す座標系１０９である。
【００３２】
このロボット座標系内において、監視領域は、例えば直方体状で表現される。そして、直方体の対角を示すロボット座標系上の２点の位置データを入力することにより、ロボット座標系内の直方体、すなわち監視領域を表現する。図２の設定画面２０１において、「Ｐｏｉｎｔ１」および「Ｐｏｉｎｔ２」が、前述した直方体の対角を示すロボット座標系上の２点を表す。この２点の位置を、ロボット監視領域設定命令の設定画面２０１で、オペレータが入力する。入力された監視領域は、監視領域情報として、動作プログラムの一部として記憶部１０３に記憶される。
【００３３】
ロボット監視領域設定命令は、動作プログラム内に登録される。図２の動作プログラムの表示画面２０２において、ＳＴＥＰ１、ＳＴＥＰ２、ＳＴＥＰ４、ＳＴＥＰ５、ＳＴＥＰ７におけるＭＯＶＥ命令は、ロボット移動命令を示す。Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５は、教示点位置を示す。ＳＴＥＰ３やＳＴＥＰ６のＣＵＢＥ−ＭＯＮＩＴＯＲ−ＳＥＴ命令は、ロボット監視領域設定命令であり、ロボットシステムの動作時に設定した監視領域を呼び出すための命令である。ＭＯＶＥ命令、ＣＵＢＥ−ＭＯＮＩＴＯＲ−ＳＥＴ命令は、ＣＰＵ１０２によって解釈され、実行される。
【００３４】
次に、ロボット１０１の先端に取り付けられたツール１０７の制御点が、監視領域内にあるか否かの判定方法について説明する。なお、エンコーダの信号に基づく判定方法と、ＣＰＵ１０２の動作指令に基づく判定方法との２つの判定方法について、以下に説明する。
【００３５】
最初に、ロボット１０１のモータに内蔵されたエンコーダの信号からツール１０７の制御点の位置を算出し、これに基づいて制御点の位置が監視領域内にあるか否かを判定する方法について説明する。
【００３６】
ＣＰＵ１０２は、記憶部１０３に記憶された動作プログラムを読み出してロボット移動命令と教示点位置を解釈し、ロボット１０１やポジショナ１２０やスライダ１２１を動作させるための軌跡演算を行う。次に、ＣＰＵ１０２は、モータ制御部１０５に動作指令を与える。モータ制御部１０５は、ＣＰＵ１０２からの動作指令に基づいてロボット１０１に備えられたモータを回転させることにより、ロボット１０１が動作する。これにより、ツール１０７の制御点の位置と姿勢が制御される。なお、ポジショナ１２０やスライダ１２１の制御についても、ロボット１０１と同様である。
【００３７】
ロボット１０１に備えられたモータには、モータの回転数とモータの１回転以内の位置を検出するエンコーダが内蔵されている。そして、モータの回転数情報とモータの１回転内の位置情報を示すエンコーダ信号は、モータ制御部１０５を経由して判定部１０４に通知される。判定部１０４は、エンコーダ信号からツール１０７の制御点のロボット座標系内での位置を計算する。なお、エンコーダ信号と減速比から求められた関節角度からツール１０７の制御点の位置情報を求める演算は、一般的な順運動学演算にて求められる。
【００３８】
一方、ロボット監視領域設定命令がＣＰＵ１０２によって実行されると、ロボット監視領域設定命令により、設定された監視領域情報が記憶部１０３からＣＰＵ１０２によって読み出され、判定部１０４に通知される。判定部１０４は、前述した順運動学演算によって得られたツール１０７の制御点の位置情報と、ロボット監視領域設定命令によって読み出されてＣＰＵ１０２から通知された監視領域情報とを比較し、ツール１０７の制御点が監視領域内にあるか否かを判定する。
【００３９】
判定部１０４は、ツール１０７の制御点が監視領域内にあると判定した場合は、そのことを出力部１０８に通知する。そして、出力部１０８は、外部に対して監視領域内にあることを報知する。一方、判定部１０４は、ツール１０７の制御点が監視領域内に無いと判定した場合は、そのことを出力部１０８に通知する。そして、出力部１０８は、外部に対して監視領域内にないことを報知する。
【００４０】
なお、ＣＰＵ１０２によってロボット移動命令であるＭＯＶＥ命令が実行されてロボット１０１が動作している間、もしくは、ロボット１０１が停止していても、判定部１０４は、常に、ツール１０７の制御点が監視領域内にあるかどうかを判定している。そして、ロボット１０１の動作演算は、数ミリ秒単位でＣＰＵ１０２によって行なわれているので、判定部１０４の判定周期も、数ミリ秒以内としている。もしくは、判定部１０４の判定周期は、ロボット１０１の動作演算周期に同期させてもよい。
【００４１】
なお、出力部１０８による外部への報知は、継電器リレー出力やトランジスタスイッチ出力などの物理的出力や、通信による通信コマンド報知などでよい。そして、例えば、出力部１０８の出力をランプや表示装置に出力するようにすることで、作業者に状態を視認可能とすることができる。
【００４２】
次に、ＣＰＵ１０２の動作指令に基づく判定方法について説明する。
【００４３】
ＣＰＵ１０２は、記憶部１０３に記憶された動作プログラムを読み出してロボット移動命令と教示点位置を解釈し、ロボット１０１を動作させるための軌跡演算を行う。次に、ＣＰＵ１０２は、モータ制御部１０５に動作指令を与える。モータ制御部１０５は、ＣＰＵ１０２からの動作指令に基づいてロボット１０１に備えられたモータを回転させることにより、ロボット１０１が動作する。これにより、ツール１０７の制御点の動作位置が制御される。
【００４４】
このとき、ＣＰＵ１０２がモータ制御部１０５に動作指令を与えるより前に、まず、ＣＰＵ１０２が、判定部１０４に対して、動作指令予告情報として通知する。この動作指令予告情報は、実際に動作する前に、実際に動作する位置を動作指令に基づいてＣＰＵ１０２が予測して求めた情報である。そして、この動作指令予告情報は、ロボット１０１の関節角度ではなく、ロボット座標系内におけるツール１０７の制御点の位置として通知される。判定部１０４は、ＣＰＵ１０２から通知された動作指令予告情報と、ロボット監視領域設定命令によって読み出されてＣＰＵ１０２から通知された監視領域情報とを比較し、ツール１０７の制御点が監視領域内にあるか否かを判定する。
【００４５】
このように、実際に動作させる前に、ツール１０７の制御点が監視領域内にあるか否かを判定することにより、例えば、異常状態の監視領域内にツール１０７の制御点が進入することを防ぐことができる。
【００４６】
なお、判定後の処理については、前述したモータに内蔵されたエンコーダからの信号からツール１０７の制御点の位置を算出して判定する場合と同様である。
【００４７】
以上のように、本実施の形態によれば、上記のような構成とすることにより、動作プログラム内のロボット監視領域設定命令実行により監視領域が変更され、ロボットシステムの動作中、すなわちロボットシステムの運転状態を停止させることなく、動作プログラムに登録された命令に従って監視領域を変更することができる。
【００４８】
例えば、動作プログラム内に、複数の異なるワークに対応する複数の監視領域が命令として設定されており、動作プログラムが順次実行されることにより監視領域設定命令も実行されて監視領域が切り替わり、切り替わった監視領域に基づいて監視を行うことができる。
【００４９】
なお、複数の異なるワークに対応する１つの動作プログラム内に、複数の監視領域設定命令を設ける例ではなく、１つの動作プログラムに１つの監視領域設定命令を設け、このような動作プログラムを複数の異なるワーク毎に設けて実行するようにしても良い。そして、ワークが異なる毎に異なる動作プログラムを実行し、各動作プログラムを実行することにより監視領域設定命令が実行され、動作プログラム毎に、すなわち、ワーク毎に監視領域が変更されるようにしてもよい。
【００５０】
（実施の形態２）
本実施の形態において、実施の形態１と同様の箇所については同一の符号を付して詳細な説明を省略する。本実施の形態では、主に図３を用いて、外部軸装置の一例であるポジショナ１２０に対する監視領域の設定方法および監視の判定方法について説明する。なお、図３（ａ）は本実施の形態における監視領域設定命令の設定画面を示す図である。図３（ｂ）は、本実施の形態における動作プログラムの表示画面を示す図である。
【００５１】
図３において、設定画面３０１は、ポジショナ１２０の監視領域を設定するためのポジショナ監視領域設定命令の設定画面を示す。なお、設定画面３０１は、教示装置１１０の図示しない表示部に表示される。そして、その入力は、オペレータが、教示装置１１０の図示しない操作部を用いて行う。
【００５２】
なお、例えば、表示画面３０２のように動作プログラムが表示されている状態で、作業者が教示装置１１０の操作部を用いて監視領域設定命令である「ＳＴＥＰ３：  ＲＯＴ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ  ＣＯＭＭＡＮＤ」をクリックする操作を行うと、表示画面３０２から設定画面３０１へ画面が遷移する。そして、設定画面３０１の状態で、作業者が教示装置１１０の操作部を用いて数値情報を入力し、「ＯＫ」を選択すると、監視領域設定命令である「ＲＯＴ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ  ＣＯＭＭＡＮＤ」が入力された数値情報を含んで動作プログラムに記憶され、画面は表示画面３０２へ遷移する。なお、監視領域設定命令である「ＳＴＥＰ６：  ＲＯＴ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ  ＣＯＭＭＡＮＤ」についても同様である。
【００５３】
ここで、ポジショナ１２０の監視領域とは、ポジショナ１２０が回転する場合の角度範囲を示し、例えば基準角度に対して−１０．００度から２０．００度まで、といった２点の角度範囲で表される。この２点の角度範囲を、ポジショナ監視領域設定命令の設定画面３０１で、オペレータが入力する。
【００５４】
また、ポジショナ１２０が複数軸ある場合、どの軸に対して設定するかの軸番号もＡｘｉｓ  Ｎｏ．（軸番号）として入力する。入力された監視領域は、監視領域情報として、動作プログラムの一部として記憶部１０３に記憶される。
【００５５】
ポジショナ監視領域設定命令は、動作プログラム内に登録される。図３の動作プログラムの表示画面３０２において、ＳＴＥＰ１、ＳＴＥＰ２、ＳＴＥＰ４、ＳＴＥＰ５、ＳＴＥＰ７におけるＭＯＶＥ命令は、ロボット１０１やポジショナ１２０等の移動命令を示す。Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５は、教示点位置を示す。ＳＴＥＰ３やＳＴＥＰ６のＲＯＴ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ命令は、ポジショナ監視領域設定命令であり、ロボットシステムの動作時に設定した監視領域を呼び出すための命令である。ＭＯＶＥ命令、ＲＯＴ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ命令は、ＣＰＵ１０２によって解釈され、実行される。
【００５６】
次に、ポジショナ１２０の角度位置が監視領域内にあるか否かの判定方法について説明する。なお、エンコーダの信号に基づく判定方法と、ＣＰＵ１０２の動作指令に基づく判定方法との２つの判定方法について、以下に説明する。
【００５７】
最初に、ポジショナ１２０のモータに内蔵されたエンコーダの信号からポジショナ１２０の角度位置を算出し、これに基づいてポジショナ１２０の角度位置が監視領域内にあるか否かを判定する方法について説明する。
【００５８】
ＣＰＵ１０２は、記憶部１０３に記憶された動作プログラムを読み出してロボット移動命令と教示点位置を解釈し、ロボット１０１およびポジショナ１２０およびスライダ１２１を動作させるための軌跡演算を行う。次に、ＣＰＵ１０２は、モータ制御部１０５に動作指令を与える。モータ制御部１０５は、ＣＰＵ１０２からの動作指令に基づいてポジショナ１２０に備えられたモータを回転させる。これにより、ポジショナ１２０が動作する。
【００５９】
ポジショナ１２０に備えられたモータには、モータの回転数とモータの１回転以内の位置を検出するエンコーダが内蔵されている。そして、モータの回転数情報とモータの１回転内の位置情報を示すエンコーダ信号は、モータ制御部１０５を経由して判定部１０４に通知される。判定部１０４は、エンコーダ信号からポジショナ１２０の角度位置を計算する。
【００６０】
一方、ポジショナ監視領域設定命令がＣＰＵ１０２によって実行されると、ポジショナ監視領域設定命令に基づき、設定された監視領域情報が記憶部１０３からＣＰＵ１０２によって読み出され、判定部１０４に通知される。判定部１０４は、前述した計算によって得られたポジショナ１２０の角度位置情報と、ポジショナ監視領域設定命令によって設定されＣＰＵ１０２から通知された監視領域情報とを比較し、ポジショナ１２０の角度位置が監視領域内にあるか否かを判定する。
【００６１】
判定部１０４は、ポジショナ１２０の角度位置が監視領域内にあると判定した場合は、そのことを出力部１０８に通知する。出力部１０８は、外部に対して監視領域内にあることを報知する。一方、判定部１０４は、ポジショナ１２０の角度位置が監視領域内に無いと判定した場合は、そのことを出力部１０８に通知する。出力部１０８は、外部に対して監視領域内にないことを報知する。
【００６２】
なお、ＣＰＵ１０２によってロボット移動命令であるＭＯＶＥ命令が実行され、ポジショナ１２０が動作している間、もしくはポジショナ１２０が停止していても、判定部１０４は、常に、ポジショナ１２０の角度位置が監視領域内にあるか否かを判定している。そして、ロボット１０１やポジショナ１２０やスライダ１２１の動作演算は、数ミリ秒単位でＣＰＵ１０２によって行なわれているので、判定部１０４の判定周期も、数ミリ秒以内としている。もしくは、判定部１０４の判定周期を、ロボット１０１の動作演算周期に同期させるようにしてもよい。
【００６３】
次に、ＣＰＵ１０２の動作指令に基づく判定方法について説明する。
【００６４】
ＣＰＵ１０２は、記憶部１０３に記憶された動作プログラムを読み出してロボット移動命令と教示点位置を解釈し、ポジショナ１２０を動作させるための計算を行う。次に、ＣＰＵ１０２は、モータ制御部１０５に動作指令を与える。モータ制御部１０５は、ＣＰＵ１０２から動作指令に基づいてポジショナ１２０に備えられたモータを回転させることにより、ポジショナ１２０が動作する。これにより、ポジショナ１２０の角度位置が制御される。
【００６５】
このとき、ＣＰＵ１０２がモータ制御部１０５に動作指令を与えるより前に、まず、ＣＰＵ１０２が、判定部１０４に対して、動作指令予告情報を通知する。この動作指令予告情報は、実際に動作する前に、実際に動作する位置を動作指令に基づいてＣＰＵ１０２が予測して求めた情報である。判定部１０４は、ＣＰＵ１０２から通知された動作指令予告情報と、ポジショナ監視領域設定命令によって読み出されてＣＰＵ１０２から通知された監視領域情報とを比較し、ポジショナ１２０の角度位置が監視領域内にあるかどうかを判定する。
【００６６】
このように、実際に動作させる前に、ポジショナ１２０の角度位置が監視領域内にあるか否かを判定することにより、例えば、異常状態の監視領域内にポジショナ１２０の角度位置が進入することを防ぐことができる。
【００６７】
なお、判定後の処理については、前述したモータに内蔵されたエンコーダからの信号からポジショナ１２０の角度位置を算出して判定する方法と同様である。
【００６８】
以上のように、本実施の形態によれば、上記のような構成とすることにより、動作プログラム内のポジショナ監視領域設定命令実行により監視領域が変更され、ロボットシステムの動作中、すなわちロボットシステムの運転状態を停止させることなく、動作プログラムに登録された命令に従って監視領域を変更することができる。
【００６９】
例えば、動作プログラム内に、複数の異なるワークに対応する複数の監視領域が命令として設定されており、動作プログラムが順次実行されることにより監視領域設定命令も実行されて監視領域が切り替わり、切り替わった監視領域に基づいて監視を行うことができる。
【００７０】
なお、複数の異なるワークに対応する１つの動作プログラム内に、複数の監視領域設定命令を設ける例ではなく、１つの動作プログラムに１つの監視領域設定命令を設け、このような動作プログラムを複数の異なるワーク毎に設けて実行するようにしても良い。そして、ワークが異なる毎に異なる動作プログラムを実行し、各動作プログラムを実行することにより監視領域設定命令が実行され、動作プログラム毎に、すなわち、ワーク毎に監視領域が変更されるようにしてもよい。
【００７１】
（実施の形態３）
本実施の形態において、実施の形態１や実施の形態２と同様の箇所については同一の符号を付して詳細な説明を省略する。本実施の形態では、主に図４を用いて、外部軸装置の一例であるスライダ１２１に対する監視領域の設定方法および監視の判定方法について説明する。なお、図４（ａ）は本実施の形態における監視領域設定命令の設定画面を示す図である。図４（ｂ）は、本実施の形態における動作プログラムの表示画面を示す図である。
【００７２】
図４において、設定画面４０１は、スライダ１２１の監視領域を設定するためのスライダ監視領域設定命令の設定画面を示す。なお、設定画面４０１は、教示装置１１０の図示しない表示部に表示される。そして、その入力は、オペレータが教示装置１１０の図示しない操作部を用いて行う。
【００７３】
なお、例えば、表示画面４０２のように動作プログラムが表示されている状態で、作業者が教示装置１１０の操作部を用いて監視領域設定命令である「ＳＴＥＰ３：  ＳＬＩＤＥＲ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ  ＣＯＭＭＡＮＤ」をクリックする操作を行うと、表示画面４０２から設定画面４０１へ画面が遷移する。そして、設定画面４０１の状態で、作業者が教示装置１１０の操作部を用いて数値情報を入力し、「ＯＫ」を選択すると、監視領域設定命令である「ＳＬＩＤＥＲ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ  ＣＯＭＭＡＮＤ」が入力された数値情報を含んで動作プログラムに記憶され、画面は表示画面３０２へ遷移する。なお、監視領域設定命令である「ＳＴＥＰ６：  ＳＬＩＤＥＲ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ  ＣＯＭＭＡＮＤ」についても同様である。
【００７４】
ここで、スライダ１２１の監視領域とは、スライダ１２１が移動する場合の移動範囲を示し、例えば基準位置に対して−３００．００ｍｍから４００．００ｍｍまで、といった２点の移動範囲で表される。この２点の移動範囲を、スライダ監視領域設定命令の設定画面４０１で、オペレータが入力する。
【００７５】
また、スライダ１２１が複数軸ある場合、どの軸に対して設定するかの軸番号もＡｘｉｓ  Ｎｏ．（軸番号）として入力する。入力された監視領域は、監視領域情報として、動作プログラムの一部として記憶部１０３に記憶される。
【００７６】
スライダ監視領域設定命令は、動作プログラム内に登録される。図４の動作プログラムの表示画面４０２において、ＳＴＥＰ１、ＳＴＥＰ２、ＳＴＥＰ４、ＳＴＥＰ５、ＳＴＥＰ７におけるＭＯＶＥ命令は、ロボット１０１やスライダ１２１等の移動命令を示す。Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５は、教示点位置を示す。ＳＴＥＰ３のＳＬＩＤＥＲ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ命令は、スライダ監視領域設定命令であり、ロボットシステムの動作時に設定した監視領域を呼び出すための命令である。ＭＯＶＥ命令、ＳＬＩＤＥＲ−ＡＸＩＳ−ＭＯＮＩＴＯＲ−ＳＥＴ命令は、ＣＰＵ１０２によって解釈され、実行される。
【００７７】
次に、スライダ１２１の移動位置が監視領域内にあるか否かの判定方法について説明する。なお、エンコーダの信号に基づく判定方法と、ＣＰＵ１０２の動作指令に基づく判定方法との２つの判定方法について、以下に説明する。
【００７８】
最初に、スライダ１２１のモータに内蔵されたエンコーダの信号からスライダ１２１の移動位置を算出し、これに基づいてスライダ１２１の移動位置が監視領域内にあるか否かを判定する方法について説明する。
【００７９】
ＣＰＵ１０２は、記憶部１０３に記憶された動作プログラムを読み出してロボット移動命令と教示点位置を解釈し、ロボット１０１やポジショナ１２０やスライダ１２１を動作させるための軌跡演算を行う。次に、ＣＰＵ１０２は、モータ制御部１０５に動作指令を与える。モータ制御部１０５は、ＣＰＵ１０２からの動作指令に基づいてスライダ１２１に備えられたモータを回転させることにより、スライダ１２１が動作する。
【００８０】
スライダ１２１に備えられたモータには、モータの回転数とモータの１回転以内の位置を検出するエンコーダが内蔵されている。そして、モータの回転数情報とモータの１回転内の位置情報を示すエンコーダ信号は、モータ制御部１０５を経由して判定部１０４に通知される。判定部１０４は、エンコーダ信号に基づいて、スライダ１２１の移動位置を計算する。
【００８１】
一方、スライダ監視領域設定命令がＣＰＵ１０２によって実行されると、スライダ監視領域設定命令に基づき、設定された監視領域情報が記憶部１０３からＣＰＵ１０２によって読み出され、判定部１０４に通知される。判定部１０４は、前述した計算によって得られたスライダ１２１の移動位置情報と、スライダ監視領域設定命令によって設定されＣＰＵ１０２から通知された監視領域情報とを比較し、スライダ１２１の移動位置が監視領域内にあるか否かを判定する。
【００８２】
判定部１０４は、スライダ１２１の移動位置が監視領域内にあると判定した場合は、そのことを出力部１０８に通知する。そして、出力部１０８は、外部に対して監視領域内にあることを報知する。一方、判定部１０４は、スライダ１２１の移動位置が監視領域内に無いと判定した場合は、そのことを出力部１０８に通知する。そして、出力部１０８は、外部に対して監視領域内にないことを報知する。
【００８３】
なお、ＣＰＵ１０２によってロボット移動命令であるＭＯＶＥ命令が実行され、スライダ１２１が動作している間、もしくはスライダ１２１が停止していても、判定部１０４は、常に、スライダ１２１の移動位置が監視領域内にあるかどうかを判定している。そして、ロボット１０１やポジショナ１２０やスライダ１２１の動作演算は、数ミリ秒単位でＣＰＵ１０２によって行なわれているので、判定部１０４の判定周期も、数ミリ秒以内としている。もしくは、判定部１０４の判定周期を、ロボット１０１の動作演算周期に同期させるようにしてもよい。
【００８４】
次に、ＣＰＵ１０２の動作指令に基づく判定方法について説明する。
【００８５】
ＣＰＵ１０２は、記憶部１０３に記憶された動作プログラムを読み出してロボット移動命令と教示点位置を解釈し、スライダ１２１を動作させるための計算を行う。次に、ＣＰＵ１０２は、モータ制御部１０５に動作指令を与える。モータ制御部１０５は、ＣＰＵ１０２からの動作指令に基づいてスライダ１２１に備えられたモータを回転させることにより、スライダ１２１が動作する。これにより、スライダ１２１の移動位置が制御される。
【００８６】
このとき、ＣＰＵ１０２がモータ制御部１０５に動作指令を与えるより前に、まず、ＣＰＵ１０２が、判定部１０４に対して、動作指令予告情報を通知する。この動作指令予告情報は、実際に動作する前に、実際に動作する位置を動作指令に基づいてＣＰＵ１０２が予測して求めた情報である。判定部１０４は、ＣＰＵ１０２から通知された動作指令予告情報と、スライダ監視領域設定命令によって設定されてＣＰＵ１０２から通知された監視領域情報とを比較し、スライダ１２１の移動位置が監視領域内にあるか否かを判定する。
【００８７】
このように、実際に動作させる前に、スライダ１２１の移動位置が監視領域内にあるか否かを判定することにより、例えば、異常状態の監視領域内にスライダ１２１の移動位置が進入することを防ぐことができる。
【００８８】
なお、判定後の処理については、前述したモータに内蔵されたエンコーダからの信号からスライダ１２１の移動位置を算出して判定する方法と同様である。
【００８９】
以上のように、本実施の形態によれば、上記のような構成とすることにより、動作プログラム内のスライダ監視領域設定命令実行により監視領域が変更され、ロボットシステムの動作中、すなわちロボットシステムの運転状態を停止させることなく、動作プログラムに登録された命令に従って監視領域を変更することができる。
【００９０】
例えば、動作プログラム内に、複数の異なるワークに対応する複数の監視領域が命令として設定されており、動作プログラムが順次実行されることにより監視領域設定命令も実行されて監視領域が切り替わり、切り替わった監視領域に基づいて監視を行うことができる。
【００９１】
なお、複数の異なるワークに対応する１つの動作プログラム内に、複数の監視領域設定命令を設ける例ではなく、１つの動作プログラムに１つの監視領域設定命令を設け、このような動作プログラムを複数の異なるワーク毎に設けて実行するようにしても良い。そして、ワークが異なる毎に異なる動作プログラムを実行し、各動作プログラムを実行することにより監視領域設定命令が実行され、動作プログラム毎に、すなわち、ワーク毎に監視領域が変更されるようにしてもよい。
【００９２】
なお、上記実施の形態１から３は、各々単独で実施するようにしてもよいし、適宜組み合わせて実施するようにしても良い。
【００９３】
これにより、ロボット１０１の先端に取り付けられたツール１０７の制御点の位置や、ポジショナ１２０の角度位置や、スライダ１２１の移動位置の監視領域各々を、動作プログラムに基づいて変更し、各位置を同時に監視することもできる。
【産業上の利用可能性】
【００９４】
本発明は、ロボットや外部軸装置等の動作位置が監視領域内にあるか否かを判定する位置監視機能を有し、ロボットシステムの運転状態を停止させることなく、動作プログラムに登録された命令に従って監視領域を変更することができ、ロボットや外部軸装置等を備えたロボットシステムとして産業上有用である。
【符号の説明】
【００９５】
１０１  ロボット
１０２  ＣＰＵ
１０３  記憶部
１０４  判定部
１０５  モータ制御部
１０６  制御装置
１０７  ツール
１０８  出力部
１１０  教示装置
１２０  ポジショナ
１２１  スライダ
２０１  設定画面
２０２  表示画面
３０１  設定画面
３０２  表示画面
４０１  設定画面
４０２  表示画面
【図１】
2014217901.tif 000003
【図２】
2014217901.tif 000004
【図３】
2014217901.tif 000005
【図４】
2014217901.tif 000006
【図５】
2014217901.tif 000007