(57)【要約】【課題】ソフトウェアの不具合やユーザの誤操作によるロボットの暴走を確実に防止し、安全な作業環境を確保することができるロボット制御装置及び制御方法を提供する。【解決手段】教示操作等において、現在位置Ｐ（ｎ−１）から次の指令位置であるＰ（ｎ）に移動する際に、ロボットの参照点はセルＣ１１及びＣ１２を通過しているので、ロボット制御装置の不揮発性メモリに格納されているセルＣ１１及びＣ１２の情報に対してフラグが立てられる。実稼動においてロボットの参照点がフラグが立っていないセルを通過しようとした場合、アラーム発生又はロボット停止の処置を行う。【選択図】図８
2009083000.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作をチェックする機能を有するロボット制御装置において、
前記ロボットの動作範囲を含む空間を複数のセルに分割する分割手段と、
前記ロボットを所望の経路に沿って動作させたときに、前記複数のセルのうち該ロボットの所定の参照点が通過するセルを予め記憶しておく記憶手段と、
前記ロボットの動作時に、該ロボットの参照点が前記記憶手段に記憶されたセルの内部に入っているか否かを判定する判定手段と、
前記判定手段が、前記ロボットの参照点が前記記憶手段に記憶されたセルの内部に入っていないと判定したときに、該判定結果を外部に信号出力する出力手段及び前記ロボットを停止させる停止手段の少なくとも一方と、
を備えるロボット制御装置。
【請求項２】
前記記憶手段は、前記ロボットを所望の経路に沿って動作させたときに、前記複数のセルのうち該ロボットの参照点が通過したセルに隣接するセルをさらに記憶するように構成される、請求項１に記載のロボット制御装置。
【請求項３】
前記ロボットの参照点の位置は、ロボットの移動指令に基づいて求められる、請求項１又は２に記載のロボット制御装置。
【請求項４】
前記ロボットの参照点の位置は、ロボットの制御軸毎の位置検出器からの現在位置に基づいて求められる、請求項１又は２に記載のロボット制御装置。
【請求項５】
ロボットの動作をチェックするロボット制御方法において、
前記ロボットの動作範囲を含む空間を複数のセルに分割するステップと、
前記ロボットを所望の経路に沿って動作させたときに、前記複数のセルのうち該ロボットの所定の参照点が通過するセルを予め記憶するステップと、
前記ロボットの動作時に、該ロボットの参照点が、記憶されたセルの内部に入っているか否かを判定するステップと、
前記ロボットの参照点が記憶されたセルの内部に入っていないと判定されたときに、該判定結果を外部に信号出力すること及び前記ロボットを停止させることの少なくとも一方を実行するステップと、
を備えるロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くは産業用ロボット（以下、単にロボットと称する）を制御するためのロボット制御装置及び制御方法に関し、特には、ロボットの動作チェックを行ってロボットの暴走を未然に防止するためのロボット制御装置及びロボット制御方法に関する。
【背景技術】
【０００２】
一般に、ロボットを動作させて作業を行う場合、ソフトウェアの不具合によるロボットの暴走や作業者の誤操作等により、ロボットが本来意図されたものと異なる動きをしてしまうことがある。このようなロボットの暴走等を未然に防ぐ手段として、例えば特許文献１には、ロボットを動作させたときのロボットの各軸毎の動作範囲データ（最大値及び最小値）を予め記憶しておき、ロボットの動作再生時にロボットの各軸の位置を検出し、この検出された位置が動作範囲から外れている場合に、ロボットが暴走していると判断してロボットの動作を停止させる方法が開示されている。
【０００３】
【特許文献１】特開昭６３−１０２８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のような暴走検出方法では、動作中のロボットの各軸の角度が、予め記憶しておいた各軸の動作範囲内にあるか否かを暴走の判断基準としている。しかしこの方法では、ロボットが所望の軌跡に沿って正しく動作しているかは検証していない。従って、ロボットが所望の軌跡から外れた動作を行ったとしても、ロボット軸のデータのうち少なくとも１つが予め記憶された動作範囲の外に出るまでは、ロボットは停止することなく動き続けることになる。このため、特に、各軸の動作範囲データが広く設定されている場合、ロボットの暴走を正しく検出できなくなり、結果として作業者の安全確保が十分に図れない虞がある。
【０００５】
そこで本発明は、アーム先端部にツールを取り付けた状態で作業を行うロボット等において、ソフトウェアの不具合やユーザの誤操作によるロボットの暴走を防ぎ、安全な作業環境を確保することができるロボット制御装置及びロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に記載の発明は、ロボットの動作をチェックする機能を有するロボット制御装置において、前記ロボットの動作範囲を含む空間を複数のセルに分割する分割手段と、前記ロボットを所望の経路に沿って動作させたときに、前記複数のセルのうち該ロボットの所定の参照点が通過するセルを予め記憶しておく記憶手段と、前記ロボットの動作時に、該ロボットの参照点が前記記憶手段に記憶されたセルの内部に入っているか否かを判定する判定手段と、前記判定手段が、前記ロボットの参照点が前記記憶手段に記憶されたセルの内部に入っていないと判定したときに、該判定結果を外部に信号出力する出力手段及び前記ロボットを停止させる停止手段の少なくとも一方と、
を備えるロボット制御装置を提供する。
【０００７】
請求項２に記載の発明は、請求項１に記載のロボット制御装置において、前記記憶手段は、前記ロボットを所望の経路に沿って動作させたときに、前記複数のセルのうち該ロボットの参照点が通過したセルに隣接するセルをさらに記憶するように構成される、ロボット制御装置を提供する。
【０００８】
請求項３に記載の発明は、請求項１又は２に記載のロボット制御装置において、前記ロボットの参照点の位置は、ロボットの移動指令に基づいて求められる、ロボット制御装置を提供する。
【０００９】
請求項４に記載の発明は、請求項１又は２に記載のロボット制御装置において、前記ロボットの参照点の位置は、ロボットの制御軸毎の位置検出器からの現在位置に基づいて求められる、ロボット制御装置を提供する。
【００１０】
請求項５に記載の発明は、ロボットの動作をチェックするロボット制御方法において、前記ロボットの動作範囲を含む空間を複数のセルに分割するステップと、前記ロボットを所望の経路に沿って動作させたときに、前記複数のセルのうち該ロボットの所定の参照点が通過するセルを予め記憶するステップと、前記ロボットの動作時に、該ロボットの参照点が、記憶されたセルの内部に入っているか否かを判定するステップと、前記ロボットの参照点が記憶されたセルの内部に入っていないと判定されたときに、該判定結果を外部に信号出力すること及び前記ロボットを停止させることの少なくとも一方を実行するステップと、を備えるロボット制御方法を提供する。
【発明の効果】
【００１１】
本発明に係るロボット制御装置又はロボット制御方法によれば、ロボットを動作させたときの軌跡が予め記憶しておいた、本来従うべき所望の軌跡を含む領域内に入っているか否かを暴走の判定基準とするため、より確実にロボット動作中の暴走検出が可能となる。
【００１２】
また記憶手段が、ロボットの参照点が通過したセルに隣接するセルをさらに記憶することにより、ロボットが暴走せずに所望の軌跡に沿って動作していると判断される範囲を広くすることができる。
【００１３】
ロボットの参照点の位置をロボットの移動指令に基づいて求めることにより、ロボットの軸毎に位置検出器等を設ける必要がなくなる。
【００１４】
或いは、ロボットの参照点の位置をロボットの軸毎の位置検出器を用いて求めることにより、より正確な位置検出が可能になる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明に係るロボット制御装置を含むロボットシステムの一実施形態を示す概略構成図である。ロボット１は公知の典型的なロボットであり、ロボット制御装置１０に制御される。また作業者は、教示操作盤１７を介して制御装置１０に指令を送ることができる。
【００１６】
ロボット制御装置１０は、図２に示すようなブロック構成を有する。すなわち、制御装置１０は、メインＣＰＵ１１と、揮発性メモリ、読み出し専用メモリ及び不揮発性メモリ等からなるメモリ１２と、教示操作盤用インターフェイス１３と、サーボ制御器１４と、外部装置用の入出力インターフェイス１５とを有し、これらはバス１６に並列に接続されている。
【００１７】
教示操作盤用インターフェイス１３に接続される教示操作盤１７は通常のディスプレイ機能付のものであり、作業者は、この教示操作盤１７のマニュアル操作を通して、ロボットの動作プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された動作プログラムの再生運転、ジョグ送り等を実行する。ロボット及びロボット制御装置の基本機能を支えるシステムプログラムは、メモリ１２の読み出し専用メモリに格納される。また、アプリケーションに応じて教示されるロボットの動作プログラム（例えばスポット溶接のプログラム）並びに関連設定データは、メモリ１２の不揮発性メモリに格納される。サーボ制御部１４に取り付けられたモータＭ１、Ｍ２、..、Ｍｎには、それぞれの軸の現在位置を検出するための位置検出器１８が付けられており、後述するロボット参照点の位置の測定に利用することができる。
【００１８】
以下、本発明の技術思想を用いてロボットの暴走検出を行う手順の例について説明する。先ず、ロボットの動作範囲を含む空間を複数のセルに分割する。セルの分割した例を図３及び図４に示す。図３及び図４はそれぞれ、直交座標系及び円柱座標系に沿ってセルをメッシュ状に区切った例である。分割された各セルについての状態（後述するロボット参照点が各セルを通過したか否か）の情報は、図２に示すメモリ１２の不揮発性メモリに格納される。
【００１９】
次に、ロボット参照点を定義する。ロボット参照点は、任意の基準座標系の原点から見たロボットの任意のリンク上の点、又は該リンクに取り付けられた作業ツール又はワーク上の点とする。参照点の具体例を図５に示す。図５（ａ）では参照点Ｒを、ロボット１のベース２の位置を基準座標原点Ｏとしたときの、ロボットリンク３の先端に取り付けられた作業ツール４の位置と定義している。一方図５（ｂ）では参照点Ｒを、ロボット１の作業空間内のある固定位置を基準座標系原点Ｏとしたときの、ロボット１のアーム部分５に取り付けたワーク６の位置と定義している。以降は、図５（ａ）に示すように、ロボットリンク先端に取り付けられたツール位置を参照点と定義した場合を例にとって説明を行うが、図５（ｂ）の場合であっても同じ考え方を適用することができる。
【００２０】
後述する実施形態では、ロボット参照点の軌跡は図６に示すような関数Ｐ（ｉ）で表されるものとする。ここでｉはロボット動作時の補間位置を示す番号の値であり、Ｐ（ｉ）は３次元空間内で位置及び姿勢を特定できる６次元のベクトルとする。また、動作開始位置はＰ（０）、動作終点位置はＰ（Ｎ）と表記する。以降の説明では、図３のようにセルを直交座標系に沿って各軸について５ｃｍ刻みで等間隔に区切った場合を例にとる。
【００２１】
図７は、ロボットがプログラム動作時に通過するセルを記憶するアルゴリズムを示すフローチャートである。先ず、次の移動先となる指令位置Ｐ（ｎ）にロボットを移動させる前に、現在位置Ｐ（ｎ−１）の値と指令位置Ｐ（ｎ）の値を読み込み（ステップＳ１０１）、Ｐ（ｎ−１）からＰ（ｎ）に移動する際に通過するセル（セル番号）を算出する（ステップＳ１０２）。その後、メモリ１２の不揮発性メモリに格納されている算出されたセルの情報（ロボット参照点が通過したか否かを示すフラグ）を参照し、通過済みであることを示すフラグが立っていない場合には、該フラグを立てる（ステップＳ１０３、Ｓ１０４）。既に通過済みであることを示すフラグが立っている場合には、新たにフラグを立てずに次の処理に進む。
【００２２】
図８は、図７のフローチャートに従う具体例を示す。図８の例では、現在位置Ｐ（ｎ−１）から次の指令位置であるＰ（ｎ）に移動する際に、ロボットの参照点がセルＣ１１及びＣ１２を通過する。従って、メモリ１２の不揮発性メモリに格納されているセルＣ１１及びＣ１２の情報に対して、記録済みであることを示すフラグが立てられる。
【００２３】
次に、ロボットを指令位置Ｐ（ｎ）に移動させ（ステップＳ１０５）、新しい現在位置Ｐ（ｎ）と次の指令位置Ｐ（ｎ＋１）との情報から、Ｐ（ｎ）からＰ（ｎ＋１）に移動する際にロボット参照点が通過するセルの算出を行う。以上の処理は、ロボット参照点が終点Ｐ（Ｎ）に到達するまで繰り返される（ステップＳ１０６）。
【００２４】
これらの処理を行いながら図６に示す軌跡に沿ってロボットを動作させた場合、ロボットの参照点が終点Ｐ（Ｎ）に到達した時点で、図９のハッチ処理を施したセルについて、ロボット通過済みを表すフラグが立つ（ＯＮ状態）ことになる。
【００２５】
ここで、図１０に示すように、ロボット参照点が通過するセルに加え、そのセルに隣接するセルにもフラグを立てて記憶することもできる。その場合には、現在位置Ｐ（ｎ−１）から次の指令位置Ｐ（ｎ）に移動する際に通過するセルと、そのセルと隣接しているセルを求める。その後、メモリ１２の不揮発性メモリに格納されている算出されたセルの情報（ロボット参照点が通過したか否かを示すフラグ）を参照し、通過済みであることを示すフラグが立っていない場合には、本フラグを立てる。既に通過済みであることを示すフラグが立っている場合には、特に処理は行わない。参照点が通過するセルに隣接するセルにもフラグを立てることにより、ロボットが本来の軌跡に沿って動作していると判断される範囲をいくらか広くすることができる。従って図１０の例は、図８の例のように参照点が通過するセルにのみフラグを立てる場合に比べ、暴走の基準をいくらか緩和してもよい場合に適している。
【００２６】
上述のように、現在位置Ｐ（ｎ−１）から次の指令位置であるＰ（ｎ）に移動する際に、ロボット参照点がセルＣ１１及びＣ１２を通過しているので、メモリ１２の不揮発性メモリに格納されているセルＣ１１及びＣ１２の情報に対して、記録済みであることを示すフラグを立てる。ここで図１０の例では、セルＣ１１又はＣ１２に隣接するセルのうち、記録済みであることを示すフラグが立っていないセルＣ１０、Ｃ２１、Ｃ２２及びＣ１３に対しても、同様に記録済みであることを示すフラグが立てられる。
【００２７】
以上の処理は、教示操作等によってロボット参照点が通過すべき軌跡及びそれに関連するセルとして記憶される。以降は、実稼動等のロボット操作において暴走の検出を行うアルゴリズムについて、図１１のフローチャートを用いて説明する。
【００２８】
先ずステップＳ２０１において、次の移動先となる指令位置Ｐ（ｎ）にロボットを移動させる前に、指令位置Ｐ（ｎ）の値を読み込み、次にこのＰ（ｎ）の位置を含んでいるセルの番号を算出する（ステップＳ２０２）。その後、算出されたセルの情報（ロボット参照点が通過したか否かを示すフラグ）を参照し（ステップＳ２０３）、通過済みであることを示すフラグが立っている場合には、ロボットを指令位置Ｐ（ｎ）に移動させる（ステップＳ２０４）。新しい指令位置Ｐ（ｎ＋１）の情報から、再びロボット参照点が通過するセルの算出を行う。以降、これらの処理を繰り返し、ロボットの動作が完了したら処理は終了する（ステップＳ２０５）。
【００２９】
図１２は、図１１のフローに基づく具体例を示す。この場合、次の指令位置Ｐ（ｎ）を含んでいるセルＣ１３については、通過済みであることを示すフラグが立っているので、ロボットを指令位置Ｐ（ｎ）に移動させる。また、外部装置用の入出力インターフェイス１５に対して、ロボット参照点が本来の軌跡通りに移動していることを表す信号を出力することもできる。
【００３０】
一方、ステップＳ２０３において、通過済みであることを示すフラグが立っていない場合には、ロボットが本来従うべき軌跡から外れて動こうとしている（暴走の虞がある）と判断できるので、直ちにアラームを発生させロボットを停止させる（ステップＳ２０６）。或いは、外部装置用の入出力インターフェイス１５に対して、ロボット参照点が本来の軌跡から外れたことを表す信号を出力してもよい。
【００３１】
図１３は、図１１の処理がステップＳ２０６に進む場合の例を示す。次の指令位置Ｐ（ｎ′）を含んでいるセルＣ１４については、通過済みであることを示すフラグが立っていないので、セルＣ１４へのロボットの移動は行わず、アラームの発生及びロボットの停止の少なくとも一方の処置を行う。
【００３２】
なお、上述の実施形態で用いられるロボット参照点の指令位置については、図２に示すモータＭ１、Ｍ２、..、Ｍｎに取り付けられた位置検出器で取り込んだそれぞれの軸の角度から順変換で算出される直交座標形式（又は円筒座標形式）での現在位置に置き換えることもできる。
【００３３】
或いは、各モータに取り付けた位置検出器の代わりに、ロボットの移動指令に基づいてロボット参照点の位置を求めることも可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明に係るロボット制御装置を含むロボットシステムの一実施形態の概略全体構成を示す図である。
【図２】ロボット制御装置のブロック構成を示す図である。
【図３】ロボットの動作範囲を含む空間を、直交座標系に沿ってセルに分割した例を示す図である。
【図４】ロボットの動作範囲を含む空間を、円柱座標系に沿ってセルに分割した例を示す図である。
【図５】（ａ）ロボットの参照点をロボットベースの位置を基準として表した例を示す図であり、（ｂ）ロボットの参照点をロボットの作業空間内の固定位置を基準として表した例を示す図である。
【図６】ロボットの参照点の軌跡の一例を示す図である。
【図７】本発明の一実施形態における、ロボットの動作実行時にロボット参照点が通過するセルを記憶する処理のフローチャートである。
【図８】動作実行時にロボット参照点が通過するセルを記憶する処理の具体例を示す図である。
【図９】動作実行時にロボット参照点が通過するセルを記憶する処理が終了したときのセルの状態を示す図である。
【図１０】動作実行時にロボット参照点が通過するセル及びそのセルに隣接するセルを記憶する処理の具体例を示す図である。
【図１１】ロボット動作時の暴走検出処理のフローチャートである。
【図１２】ロボット動作時の暴走検出処理の具体例であって、ロボットが所望の軌跡に沿って動作している場合を示す図である。
【図１３】ロボット動作時の暴走検出処理の具体例であって、ロボットが暴走していると判断される場合を示す図である。
【符号の説明】
【００３５】
１    ロボット
１０    ロボット制御装置
１１    メインＣＰＵ
１２    メモリ
１７    教示操作盤
１８    位置検出器
【図１】
2009083000.tif 000003
【図２】
2009083000.tif 000004
【図３】
2009083000.tif 000005
【図４】
2009083000.tif 000006
【図５】
2009083000.tif 000007
【図６】
2009083000.tif 000008
【図７】
2009083000.tif 000009
【図８】
2009083000.tif 000010
【図９】
2009083000.tif 000011
【図１０】
2009083000.tif 000012
【図１１】
2009083000.tif 000013
【図１２】
2009083000.tif 000014
【図１３】
2009083000.tif 000015