(57)【要約】【課題】本発明は、学習制御機能を持つロボットの学習稼動の動作中、もしくは学習後の実稼動の動作中に例外処理が起きた場合に対処可能な学習制御ロボット及び再学習可能な学習制御ロボットを提供することを目的とする。【解決手段】本発明の学習制御ロボットは、ロボット機構部と、作業プログラムを実行することにより、ロボット機構部の位置偏差に関するデータを取得して、ロボット機構部の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部と、学習制御の実行中に、データを取得するためにロボット機構部の学習稼動を実行し、学習制御の実行後に、学習制御部が計算した学習補正量に基づいて、ロボット機構部の実稼動を実行する通常制御部と、学習稼動の実行中又は実稼動の実行中において例外処理が起きた場合に、例外対処を実行する例外対処部と、を有することを特徴とする。【選択図】図２
2011192267.tif 000002
【特許請求の範囲】
【請求項１】
ロボット機構部と、
作業プログラムを実行することにより、前記ロボット機構部の位置偏差に関するデータを取得して、前記ロボット機構部の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部と、
前記学習制御の実行中に、前記データを取得するために前記ロボット機構部の学習稼動を実行し、前記学習制御の実行後に、前記学習制御部が計算した前記学習補正量に基づいて、前記ロボット機構部の実稼動を実行する通常制御部と、
前記学習稼動の実行中又は前記実稼動の実行中において例外処理が起きた場合に、例外対処を実行する例外対処部と、
を有することを特徴とする学習制御ロボット。
【請求項２】
前記例外対処は、前記ロボット機構部の動作速度を所定の安全な速度に落とし、前記学習補正量をゼロに設定する処理である、請求項１に記載の学習制御ロボット。
【請求項３】
前記例外処理は、前記作業プログラムに対する教示修正処理である、請求項１または２に記載の学習制御ロボット。
【請求項４】
前記例外処理は、前記学習稼動又は前記実稼動の一時停止処理である、請求項１または２に記載の学習制御ロボット。
【請求項５】
前記例外処理は、前記学習稼動又は前記実稼動の一時停止後の動作再開処理である、請求項１または２に記載の学習制御ロボット。
【請求項６】
前記例外処理は、前記学習稼動の実行中又は前記実稼動の実行中における速度オーバライドの変更処理である、請求項１または２に記載の学習制御ロボット。
【請求項７】
前記教示修正処理後の前記ロボット機構部の空間的位置が、前記教示修正処理前の前記ロボット機構部の空間的位置を基準とする所定の領域内に存在している場合には、前記例外対処は実行されない、請求項３に記載の学習制御ロボット。
【請求項８】
前記所定の領域は、前記教示修正処理前の位置を中心とした楕円球、球、直方体、立方体、多面体のいずれかの立体で規定される領域である、請求項７に記載の学習制御ロボット。
【請求項９】
前記学習制御部に前記学習制御を再度実行させて前記学習補正量を再計算する再学習制御部をさらに有する、請求項１乃至８のいずれか一項に記載の学習制御ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は学習制御ロボットに関し、特に学習制御機能を有した制御装置を備えた産業用ロボットに関する。
【背景技術】
【０００２】
学習制御に関する技術は、ロボットでは商品レベルで実用化されていないものの、工作機械では実用化が進んで来ている（例えば、特許文献１、２）。
【０００３】
ここで、学習制御について簡単に説明する。学習制御はフィードフォワード信号をある同じ動作に対して最適化する制御である。繰り返し同じ動作を行う事により、フィードフォワード信号が更新されて行き、最終的にはある形に落ち着く（あまり更新による変化がなくなる。）。その時点で、学習を終了して、学習制御によって得られたフィードフォワード信号を更新せずにそのまま使用する。具体的な更新のプロセスとしては、まず、ロボット機構部を動作させる作動プログラムを実行して、所定の動作パラメータでロボット機構部に所定の動作を実行させ、その動作中に位置偏差に関するデータ（例えば、振動量や軌跡誤差量）をセンサ等により計測する。動作終了後にそのデータから次回の動作パラメータの補正量（学習補正量）を計算する。そして、次の動作中はその学習補正量を用いながら動作を行い、かつ振動量や軌跡誤差量も計測する。そして、動作終了後は前回の学習補正量と計測されたデータから次回の動作パラメータの学習補正量を計算する。学習補正量がある形に収束して、位置偏差が所定の値以下になるまで、このプロセスを繰り返すことにより学習制御が行われる。学習制御終了後は、最終的に得られた学習補正量を用いながら動作（実稼動）を行うが、振動量や軌跡誤差量は計測しない。そして、動作終了後も学習補正量を更新せずに、次回も同じ学習補正量を使用する。以下、本発明の説明において、作業プログラムを実行することにより、ロボット機構部の位置偏差に関するデータを取得して、ロボット機構部の位置偏差を所定の値以下とするための学習補正量を計算することを「学習制御」といい、上記データを取得するためにロボット機構部を動作させることを「学習稼動」といい、学習制御部が計算した学習補正量に基づいてロボット機構部を制御することを「実稼動」という。
【０００４】
図１に従来の学習制御機能を備えたロボット（学習制御ロボット）の概略図を示す。従来の学習制御ロボット１００は、ロボット機構部１及びロボット機構部１を制御する制御装置２により構成される。制御装置２は、学習制御ロボットの学習制御を実行する学習制御部３と、ロボット機構部１を直接的に駆動する通常制御部４とを備えている。
【０００５】
ロボット機構部１には、アーム１１、アーム先端部１２、立体センサ１３、モータ（図示せず）が設けられている。ロボット機構部１のモータには、制御装置２に含まれる通常制御部４からの信号が入力される。ロボット機構部１のモータは、アーム１１を駆動し、アーム先端部１２を所望の位置に移動させて、例えば溶接等の作業を実行する。アーム先端部１２には立体センサ１３が設置されており、アーム先端部１２の空間的な位置データ（yj(k)）を得ることができる。立体センサ１３からの位置データ（yj(k)）は学習制御部３に出力され、学習制御に利用される。ここで、ｊは試行回数、kは時間を表す。
【０００６】
通常制御部４には、位置制御部４１、速度制御部４２、電流制御部４３、アンプ４４、微分手段４５が設けられている。位置制御部４１は、制御装置２の外部から入力される位置指令データ（yd(k)）を受信する。位置制御部４１は、さらに、ロボット機構部１のモータ位置等の位置データを受信し、ロボット機構部１のアーム先端部１２の所望の位置データを速度制御部４２に対して出力する。微分手段４５は、ロボット機構部１からフィードバックされるモータ位置データを受信し、モータ速度を算出し、これを速度制御部４２に対して出力する。
【０００７】
速度制御部４２は、位置制御部４１からの位置データ及び微分手段４５からのモータ速度データを勘案して所望のモータ速度を算出し、これを電流制御部４３に対して出力する。電流制御部４３は、アンプ４４からフィードバックされる電流値を受信するとともに、速度制御部４２から入力された所望のモータ速度となるようにモータに流す電流を算出し、これをアンプ４４に対して出力する。アンプ４４は、電流制御部４３からの電流値に基づいて所望の電力を算出し、これをロボット機構部１のモータ（図示せず）に投入する。
【０００８】
学習制御部３には、第１メモリ３１、学習制御器３２、第２メモリ３３、ＲＡＭ３４が設けられている。第１メモリ３１には、アーム先端部１２に関する位置指令データ（yd(k)）と、立体センサ１３が測定した位置データ（yj(k)）との差分である目的補正量ej(k)が入力され、これを記憶するともに、目的補正量ej(k)を学習制御器３２に対して出力する。ここで、目的補正量ej(k)は、アーム先端部１２の所望の位置に対する誤差（位置偏差）に相当する。
【０００９】
学習制御器３２は、学習制御器３２に内蔵されたＲＡＭ３４に格納された作業プログラムを実行することにより、ロボット機構部の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する。即ち、上記ＲＡＭ３４に格納された前試行の学習補正量uj(k)と目的補正量ej(k)から学習補正量uj+1(k)を算出し、これを第２メモリ３３とＲＡＭ３４に対して出力する。第２メモリ３３に入力された学習補正量uj+1(k)は、第２メモリ３３に記憶されるとともに、通常制御部４の位置制御部４１で算出される位置偏差に関するデータ（位置偏差データ）に加算される。
【００１０】
補正された位置偏差データに基づいて、ロボット機構部１が制御され、学習制御が繰り返される。学習制御は、この一連のプロセスを繰り返し実行する事により位置偏差を所定の値以下、好ましくは「０」に収束させるものである。学習制御終了後、即ち実稼動では、図１の点線で示した学習補正量更新のためのループは実行されず、第２メモリ３３から学習補正量uj+1(k)が位置制御部４１に出力される。なお、図１において、実線部分は通常制御部４がロボット機構部１の学習稼動または実稼動の際に実行される部分を表し、点線部分である学習制御における学習補正量の計算手順は学習稼動での動作終了後に実行される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−８３０７４
【特許文献２】特開２００６−１７２１４９
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来の学習制御に関する技術においては、アプリケーションの幅が狭く、運用に関しては余り考慮されていないという問題があった。即ち、学習制御は同じ動作を繰り返す事を想定しているが、それ故、学習稼動、もしくは実稼動にかかわらず、学習制御が想定している動作とは違う動きをする場合（例えば、一時停止、速度オーバライドの変更等。以下「例外処理」という）、学習補正量が動作を悪化させる可能性があった。特に、動作速度が速い場合等においては、ロボット機構部で振動などが生じる恐れもあった。
【００１３】
本発明は、学習制御ロボットの学習稼動の実行中、もしくは実稼動の実行中に例外処理が起きた場合に対処可能な学習制御ロボット及び再学習可能な学習制御ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の学習制御ロボットは、ロボット機構部と、作業プログラムを実行することにより、ロボット機構部の位置偏差に関するデータを取得して、ロボット機構部の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部と、学習制御の実行中に、データを取得するためにロボット機構部の学習稼動を実行し、学習制御の実行後に、学習制御部が計算した学習補正量に基づいて、ロボット機構部の実稼動を実行する通常制御部と、学習稼動の実行中又は実稼動の実行中において例外処理が起きた場合に、例外対処を実行する例外対処部と、を有することを特徴とする。
【００１５】
さらに、例外対処は、ロボット機構部の動作速度を所定の安全な速度に落とし、学習補正量をゼロに設定する処理であることが好ましい。
【００１６】
一例として、例外処理は、作業プログラムに対する教示修正処理である。
【００１７】
他の一例として、例外処理は、学習稼動又は実稼動の一時停止処理である。
【００１８】
さらに他の一例として、例外処理は、学習稼動又は実稼動の一時停止後の動作再開処理である。
【００１９】
その他の一例として、例外処理は、学習稼動の実行中又は実稼動の実行中における速度オーバライドの変更処理である。
【００２０】
また、教示修正処理後のロボット機構部の空間的位置が、教示修正処理前のロボット機構部の空間的位置を基準とする所定の領域内に存在している場合には、例外対処は実行されないようにしてもよい。
【００２１】
ここで、所定の領域は、教示修正処理前の位置を中心とした楕円球、球、直方体、立方体、多面体のいずれかの立体で規定される領域であることが好ましい。
【００２２】
また、学習制御部に学習制御を再度実行させて学習補正量を再計算する再学習制御部をさらに有していてもよい。
【発明の効果】
【００２３】
本発明によれば、学習制御ロボットの学習稼動の実行中又は実稼動の実行中に、学習制御ロボットを制御する作業プログラムに対する教示修正処理、ロボット機構部の一時停止処理及び一時停止後の動作再開処理、速度制御部に対する速度オーバライドの変更処理に代表される例外処理が起きた場合に、例外対処を実行することにより、安全性を高めることができる。
【００２４】
さらに、本発明によれば、例外処理が起きた場合に、ロボット制御部に設けられた例外対処部が例外対処としてロボット機構部の動作速度を所定の安全な速度に落とすとともに、学習制御により得られた学習補正量をゼロに設定することができ、安全性を高めることができる。
【図面の簡単な説明】
【００２５】
【図１】従来の学習制御ロボットの構成図である。
【図２】本発明の実施例１に係る学習制御ロボットの構成図である。
【図３】本発明の実施例１に係る学習制御ロボットの動作フローを示すフローチャートである。
【図４】作業プログラムの一例を示す図である。
【図５】学習稼動において教示修正処理を実行した場合の教示修正の有無の確認手順の流れを示すフローチャートである。
【図６】学習後の実稼動において教示修正処理を実行した場合の教示修正の有無の確認手順の流れを示すフローチャートである。
【図７】本発明の実施例２及び３に係る学習制御ロボットの構成図である。
【図８】本発明の実施例２に係る学習制御ロボットの動作フローを示すフローチャートである。
【図９】本発明の実施例３に係る学習制御ロボットの動作フローを示すフローチャートである。
【図１０】本発明の実施例４に係る学習制御ロボットの構成図である。
【図１１】本発明の実施例４に係る学習制御ロボットの動作フローを示すフローチャートである。
【図１２】本発明の実施例５に係る学習制御ロボットの構成図である。
【図１３】本発明の実施例５に係る学習制御ロボットの動作フローを示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下図面を参照して、本発明に係る学習制御ロボットについて説明する。ただし、本発明の技術的範囲はそれらの実施の形態には限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【実施例１】
【００２７】
図２に本発明の実施例１に係る学習制御ロボットの構成図を示す。本発明の実施例１に係る学習制御ロボット１０１は、ロボット機構部１と、作業プログラムを実行することにより、ロボット機構部１の位置偏差に関するデータを取得して、ロボット機構部１の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部３と、学習制御の実行中に、データを取得するためにロボット機構部１の学習稼動を実行し、学習制御の実行後に、学習制御部３が計算した学習補正量に基づいて、ロボット機構部１の実稼動を実行する通常制御部４と、学習稼動の実行中又は実稼動の実行中において例外処理が起きた場合に、例外対処を実行する例外対処部５と、を備えている。図１に示した従来の学習制御ロボットの構成と異なる点は、制御装置２内に例外対処部５をさらに設けている点である。実施例１においては、例外対処部５は、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、学習制御器３２に内蔵されたＲＡＭ３４に格納された作業プログラムに対して教示修正処理が行われた場合に、例外処理が行われたものと判断し、例外対処を行う点を特徴としている。ここで、例外対処とは、学習制御ロボットに対して例外的な処理が行われた場合に、学習制御ロボットを安全な状態にすることをいい、例えば、ロボット機構部１の動作速度を所定の安全な速度に落とし、学習補正量をゼロに設定することが挙げられる。具体的には、例外対処部５は、速度制御部４２を制御して、ロボット機構部の動作速度を所定の安全な速度に落とすとともに、ＲＡＭ３４及び第２メモリ３３内の学習補正量をゼロに設定する。
【００２８】
学習制御部３は、作業プログラム実行することにより、ロボット機構部１の位置偏差に関するデータを取得して、ロボット機構部１の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する。さらに、学習制御部３は、計算した学習補正量を通常制御部４の位置制御部４１に送る。一方、通常制御部４は、学習制御部３が学習補正量を計算するため、または学習制御部３が計算した学習補正量を利用して、ロボット機構部１による学習稼動もしくは実稼動を制御する。即ち、学習制御の実行中に、通常制御部４は位置偏差に関するデータを取得するためにロボット機構部１の学習稼動を実行し、学習制御部３は学習補正量を計算する学習制御を実行する。学習制御の実行後に、通常制御部４は学習制御部が計算した学習補正量に基づいて、ロボット機構部１の実稼動を実行する。例外対処部５は、上記作業プログラムの内容を常に監視している。作業プログラムに修正が加えられ、その修正が学習制御ロボットに異常な動作を誘発させるような教示修正である場合には、通常制御部４の速度制御部４２を制御するともに、ＲＡＭ３４及び第２メモリ３３内の学習補正量をゼロに設定する。
【００２９】
次に、実施例１の学習制御ロボットの動作手順について説明する。図３に、実施例１の学習制御ロボットの動作フローを説明するためのフローチャートを示す。まず、ステップＳ１０１において、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、例外対処部５が学習制御器３２内のＲＡＭ３４に格納された作業プログラムを常に監視する。作業プログラムに変更があった場合に、作業プログラムに加えられた修正が教示修正であるか否かを判断する。作業プログラムに加えられた修正が教示修正ではないと判断した場合には、元の状態に戻る。ここで、教示修正であるか否かの判断については、作業プログラムにおいて、ロボット機構部の動作に関連するデータが変更された場合は教示修正と判断し、それ以外のデータに修正が加えられた場合は教示修正ではないと判断する。
【００３０】
作業プログラムに加えられた修正が教示修正であると判断した場合には、ステップＳ１０２において、作業プログラムに格納されている教示修正処理後のロボット機構部の空間的位置が、教示修正処理前のロボット機構部の空間的位置を基準とする所定の領域内に存在しているか否かを判断する。具体的には、教示修正処理後のロボット機構部の空間的位置が、所定の領域として、教示修正処理前の位置を中心とした楕円球、球、直方体、立方体、多面体のいずれかの立体で規定される領域内に存在しているか否かを判断する。これは以下のことを目的としている。即ち、教示修正による修正量が小さい場合には、ロボット機構部に与える影響は小さく、例外対処は不要と判断する。教示修正による修正量が大きい場合にのみ、例外対処を行う。このようにすることで、教示修正による修正量が小さく、ロボット機構部には影響が及ばない場合にまで不要な例外対処を行わずに済ませることができる。ステップＳ１０２において、教示修正処理後の空間的位置が所定の領域内であると判断した場合には、例外対処は行わず元の状態に戻る。なお、この場合、教示修正による修正量が小さいため、再学習を行う事無く修正前の学習補正量を使うことができる。
【００３１】
ステップＳ１０２において、教示修正処理後の空間的位置が所定の領域を超えていると判断した場合には、ステップＳ１０３において、例外対処を実行する。例外対処として、ロボット機構部の動作速度を所定の安全な速度に落とし、学習補正量をゼロに設定する処理を行う。学習制御部の学習補正量をゼロとし、ロボット機構部の動作速度を自動的に学習補正量がゼロでも振動が生じない動作速度まで落とし、その後に動作を開始することができる。そのため、教示修正処理が行われても、ロボット機構部の動作中に振動が生じる事はない。
【００３２】
次に、教示修正処理の有無の判断手順について説明する。図４に作業プログラムの一例を示す。作業プログラム内の学習命令はモーダル形式となっている。ロボット機構部の学習制御が行われる範囲は、LVC (Learning Vibration Control) START[1]〜LVC END[1]及びLVC START[2]〜LVC END[2]であり、この範囲内で教示修正処理が行われたか否かが判断される。
【００３３】
教示修正処理は学習稼動及び学習後の実稼動の両者において行われる可能性がある。まず、学習稼動の実行中における教示修正処理の有無の判断手順について説明する。図５に、学習稼動において教示修正処理を実行した場合の教示修正処理の有無の確認手順の流れを表すフローチャートを示す。まず、ステップＳ２０１において、作業プログラムに変更があった場合に、例外対処部５が、プログラムの編集日時が変更されたか否かを判断する。これは、図２に示すように、例外対処部５がＲＡＭ３４内の作業プログラムの内容を常に監視することにより実行される。プログラムの編集日時が変更されていない場合には、ステップＳ２０７において、例外対処部５がLVC内で変更なしと判断し、ステップＳ２０８で例外対処部５が学習補正量の変更は不要と判断し、処理を終了する。
【００３４】
一方、ステップＳ２０１において、例外対処部５が、プログラムの編集日時が変更されたと判断した場合には、教示修正処理が行われたか否かを確認するために、ステップＳ２０２において、例外対処部５は検査を実行するか否かの問合せを行う。例えば、表示部（図示せず）に「学習済データ作成時よりプログラムが変更されました。学習済みデータを検査する必要があります。検査モード、かつ、マシンロック状態になります。この状態でプログラムを実行すれば、検査を行えます。実行しますか？」と表示する。ここで、「マシンロック状態」とは、ロボット機構部を動作させない状態をいう。検査を実行する場合は、ステップＳ２０３において、例外対処部５が学習済みファイルに保存されたデータとマシンロック状態で作られたデータが一致するか否かを判断する。両者のデータが一致している場合には、教示修正処理は行われなかったものと判断し、処理を終了する。ステップＳ２０２において、ユーザ自身が、再教示が必要である事を認識している場合には、検査を実行せず、後述するように変更されたモーダル情報部分に関して再学習を行う。ここで「モーダル情報」とは、指令された情報を保持し、新たに指令されるまで継続して使用される情報である。
【００３５】
ステップＳ２０３において、例外対処部５が、学習済みファイルに保存されたデータとマシンロック状態で作られたデータが一致していないと判断した場合は、ステップＳ２０４において、例外対処部５は、教示修正処理が行われたものと判断し、例外対処を実行する。具体的には、例外対処部５は、ユーザに教示修正処理の存在を認識させるため、表示部のアラーム画面に教示修正された動作文を含むモーダル情報を表示する。さらに、ステップＳ２０５において、ユーザはモーダル情報を確認後、検査モードを手動でＯＦＦにする。このとき、自動的にマシンロックも解除される。
【００３６】
以上のようにして、学習稼動の実行中において作業プログラムに修正が加えられた場合に、例外対処部５は、その修正が教示修正であるか否かを判断し、教示修正があったと判断した場合には例外対処を行う。
【００３７】
次に、学習後の実稼動の実行中における教示修正処理の有無の判断手順について説明する。図６に、学習後の実稼動において教示修正処理を実行した場合の教示修正処理の有無の確認手順の流れを表すフローチャートを示す。まず、ステップＳ３０１において、例外対処部５が学習制御器３２内のＲＡＭ３４に格納された作業プログラムを常に監視しておき、作業プログラムに変更があった場合に、プログラム編集日時と学習済ファイル作成日時が一致しているか否かを判断する。これは、学習後にプログラムに対して修正が加えられたか否かを判断するためのものである。例外対処部５が、プログラム編集日時と学習済ファイル作成日時とが一致していると判断した場合は、ステップＳ３０７において、例外対処部５はLVC内で変更なしと判断する。さらに、ステップＳ３０８で例外対処部５は学習補正量の変更は不要と判断し、処理を終了する。
【００３８】
一方、ステップＳ３０１において、例外対処部５が、プログラム編集日時と学習済ファイル作成日時が一致していないと判断した場合には、教示修正が行われたか否かを確認するために、ステップＳ３０２において、例外対処部５は検査を実行するか否かの問合せを行う。ステップＳ３０３〜Ｓ３０５の処理は、上述した学習稼動中における教示修正の有無の判断手順ステップＳ２０３〜Ｓ２０５と同一なので詳細な説明は省略する。
【００３９】
本実施例によれば、ロボット機構部１の学習稼動の実行中、または実稼動の実行中に作業プログラムが修正された場合において、教示修正の有無を判断することができ、その教示修正が例外処理に該当する場合において例外対処を行うことができる。
【実施例２】
【００４０】
次に、本発明の実施例２に係る学習制御ロボットについて説明する。図７に本発明の実施例２に係る学習制御ロボットの構成図を示す。本発明の実施例２に係る学習制御ロボット１０２は、ロボット機構部１と、作業プログラムを実行することにより、ロボット機構部１の位置偏差に関するデータを取得して、ロボット機構部１の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部３と、学習制御の実行中に、データを取得するためにロボット機構部１の学習稼動を実行し、学習制御の実行後に、学習制御部３が計算した学習補正量に基づいて、ロボット機構部１の実稼動を実行する通常制御部４と、を備えている。図１に示した従来の学習制御ロボットの構成と異なる点は、制御装置２内に例外対処部５及び稼働状況検知部７をさらに設けており、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、学習制御ロボットに一時停止処理が行われた場合に例外対処を行う点である。稼働状況検知部７は、学習制御ロボット１０２の外部から稼働状況データを受信し、稼動状況データにはロボット機構部１の一時停止処理の指示の有無を示すデータ及び一時停止処理後の動作再開指示の有無を示すデータが含まれる。学習制御ロボット１０２のその他の構成は、実施例１の構成と同様であるので詳細な説明は省略する。
【００４１】
ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、ロボット機構部１を一時停止させる指示がなされた場合は、稼働状況検知部７が受信する稼働状況データには、ロボット機構部１の一時停止処理の指示を示すデータが含まれる。稼働状況検知部７は、受信した稼働状況データに基づいてロボット機構部１の一時停止処理の指示の存在を検知し、その旨を例外対処部５に通知する。例外対処部５は、ロボット機構部１の一時停止処理の指示に基づいて例外処理が行われたものと判断し、例外対処を行う。例外対処として、例えば、ロボット機構部の動作速度を所定の安全な速度に落とし、学習補正量をゼロに設定する処理が挙げられる。具体的には、例外対処部５は、速度制御部４２を制御して、ロボット機構部の動作速度を所定の安全な速度に落とすとともに、第２メモリ３３内の学習補正量をゼロに設定する。
【００４２】
次に、実施例２の学習制御ロボットの動作手順について説明する。図８に、実施例２の学習制御ロボットの動作フローを説明するためのフローチャートを示す。まず、ステップＳ４０１において、例外対処部５が、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、ロボット機構部１に対して一時停止の指示がされたか否かを判断する。具体的には、稼働状況検知部７がロボット機構部１の稼動状態を常に監視しておき、受信した稼働状況データに基づいてロボット機構部１に対する一時停止指示の有無を判断し、一時停止指示があった場合は例外対処部５に通知する。例外対処部５が、一時停止指示の通知を受けず例外処理はされていないと判断した場合には元の状態に戻る。例外対処部５が、一時停止指示の通知を受け例外処理がされたものと判断した場合には、ステップＳ４０２において、例外対処部５は例外対処を実行する。例外対処として、例外対処部５は、学習制御部の学習補正量をゼロにしながら、速度制御部４２を制御して、ロボット機構部１の動作速度を自動的に学習補正量がゼロでも振動が生じない動作速度まで落として停止処理に入る。それ故、一時停止処理が行われても、ロボット機構部の動作中に振動が生じる事はない。
【実施例３】
【００４３】
次に、本発明の実施例３に係る学習制御ロボットについて説明する。実施例３の学習制御ロボットの構成は実施例２と同様である。実施例２と異なる点は、ロボット機構部１の一時停止後において動作を再開する指示があった場合に例外対処を行うようにしている点である。ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、ロボット機構部１を一時停止させた後、動作を再開させる指示がなされた場合に、稼働状況検知部７が受信する稼働状況データには、ロボット機構部１の一時停止処理後の動作再開の指示を示すデータが含まれる。稼働状況検知部７は、受信した稼働状況データに基づいてロボット機構部１の一時停止処理後の動作再開指示の存在を検知し、その旨を例外対処部５に通知する。例外対処部５はロボット機構部１の一時停止処理後の動作再開指示に基づいて例外処理が行われたものと判断し、例外対処を行う。例外対処として、例えば、ロボット機構部の動作速度を所定の安全な速度に落とし、学習補正量をゼロに設定する処理が挙げられる。具体的には、例外対処部５は、ロボット機構部の動作速度を学習補正量がゼロでも振動が生じない速度に落とし、第２メモリ３３内の学習補正量をゼロに設定してから、動作を開始する。それ故、一時停止後に動作再開処理が行われても、ロボット機構部の動作中に振動が生じる事はない。
【００４４】
次に、実施例３の学習制御ロボットの動作手順について説明する。図９に、実施例３の学習制御ロボットの動作フローを説明するためのフローチャートを示す。まず、ステップＳ５０１において、例外対処部５が、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、ロボット機構部１に対して一時停止後に動作再開の指示がされたか否かを判断する。具体的には、稼働状況検知部７がロボット機構部１の稼動状態を常に監視しておき、受信した稼働状況データに基づいてロボット機構部１に対する一時停止後の動作再開の指示の有無を判断する。一時停止後の動作再開指示があった場合は例外対処部５に通知する。例外対処部５が、一時停止後の動作再開指示の通知を受けず例外処理はされていないと判断した場合には元の状態に戻る。例外対処部５が、一時停止後の動作再開指示の通知を受け例外処理がされたものと判断した場合には、ステップＳ５０２において、例外対処を実行する。例外対処として、学習制御部の学習補正量をゼロにして、ロボット機構部の動作速度を自動的に学習補正量がゼロでも振動が生じない動作速度まで落として動作を開始する。それ故、一時停止後に動作再開処理が行われても、ロボット機構部の動作中に振動が生じる事はない。
【実施例４】
【００４５】
次に、本発明の実施例４に係る学習制御ロボットについて説明する。図１０に本発明の実施例４に係る学習制御ロボットの構成図を示す。本発明の実施例４に係る学習制御ロボット１０３は、ロボット機構部１と、作業プログラムを実行することにより、ロボット機構部１の位置偏差に関するデータを取得して、ロボット機構部１の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部３と、学習制御の実行中に、データを取得するためにロボット機構部１の学習稼動を実行し、学習制御の実行後に、学習制御部３が計算した学習補正量に基づいて、ロボット機構部１の実稼動を実行する通常制御部４と、を備えている。図１に示した従来の学習制御ロボットの構成と異なる点は、制御装置２内に例外対処部５及び速度オーバライド検知部８をさらに設けている点である。実施例４においては、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、学習制御ロボット１０３の制御装置２に速度オーバライドの変更が行われた場合に例外対処を行う。ここで、「速度オーバライド」とは、予め設定したロボット機構部の動作速度を修正するために、動作速度に掛ける倍率をいう。実施例４においては、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、速度オーバライド検知部８が速度制御部４２を常に監視するようにしている。速度オーバライドの変更がなされた場合に、速度オーバライド検知部８は、これを検知し、例外対処部５に通知する。このとき例外対処部５は例外処理が行われたものと判断し、例外対処を行う。例外対処として、例えば、ロボット機構部の動作速度を所定の安全な速度に落とし、学習補正量をゼロに設定することが挙げられる。具体的には、例外対処部５は、速度制御部４２を制御して、ロボット機構部の動作速度を所定の安全な速度に落とすとともに、第２メモリ３３内の学習補正量をゼロに設定する。学習制御ロボット１０３のその他の構成は、実施例１の構成と同様であるので詳細な説明は省略する。
【００４６】
次に、実施例４の学習制御ロボットの動作手順について説明する。図１１に、実施例４の学習制御ロボットの動作フローを説明するためのフローチャートを示す。まず、ステップＳ６０１において、例外対処部５が、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、速度制御部４２に対して速度オーバライドの変更がされたか否かを判断する。具体的には、速度オーバライド検知部８が速度制御部４２を常に監視しておき、速度オーバライドの変更の有無を判断する。速度オーバライドの修正指示があった場合は速度オーバライド検知部８が、例外対処部５に通知する。例外対処部５が速度オーバライドの変更はされていないと判断した場合には元の状態に戻る。例外対処部５が、速度オーバライドの変更がされたものと判断した場合には、ステップＳ６０２において、例外対処を実行する。例外対処として、例外対処部５は学習制御部の学習補正量をゼロにしながら、速度制御部４２を制御して、ロボット機構部の動作速度を自動的に学習補正量がゼロでも振動が生じない動作速度まで落として動作を継続する。それ故、速度オーバライド変更処理が行われても、ロボット機構部の動作中に振動が生じる事はない。
【実施例５】
【００４７】
次に、本発明の実施例５に係る学習制御ロボットについて説明する。図１２に本発明の実施例５に係る学習制御ロボットの構成図を示す。本発明の実施例５に係る学習制御ロボット１０４は、ロボット機構部１と、作業プログラムを実行することにより、ロボット機構部１の位置偏差に関するデータを取得して、ロボット機構部１の位置偏差を所定の値以下とするための学習補正量を計算する学習制御を実行する学習制御部３と、学習制御の実行中に、データを取得するためにロボット機構部１の学習稼動を実行し、学習制御の実行後に、学習制御部３が計算した学習補正量に基づいて、ロボット機構部１の実稼動を実行する通常制御部４と、例外対処部５とを備えている。図２に示した実施例１の学習制御ロボットの構成と異なる点は、制御装置２内に再学習制御部６をさらに設けており、再学習制御部６は、学習制御ロボットに例外対処がなされた後に、学習制御部３に学習制御を再度実行させて学習補正量を再計算する再学習を行う点である。実施例５においては、ロボット機構部１の学習稼動の実行中又は実稼動の実行中において、学習制御ロボットに例外処理がなされて例外対処が実行された後に、例外対処部５は再学習制御部６に通知し、再学習制御部６は学習制御器３２を制御する。学習制御ロボット１０４のその他の構成は、実施例１の構成と同様であるので詳細な説明は省略する。
【００４８】
次に、実施例５の学習制御ロボットの動作手順について説明する。図１３に、実施例５の学習制御ロボットの動作フローを説明するためのフローチャートを示す。ステップＳ７００〜Ｓ７０３は、実施例１のステップＳ１００〜Ｓ１０３と同様であるので詳細な説明は省略する。ステップＳ７０４において、例外対処後に再学習処理が実行される。具体的には、例外対処部５が、例外対処が完了したことを再学習制御部６に通知する。その後、再学習制御部６が学習制御器３２を制御して、再学習処理により学習補正量を計算し直すように制御する。このようにして、例外処理として教示修正がなされ、例外対処がされた場合においても再学習を行うことにより適正な学習補正量を得ることができ、ロボット機構部を正常に動作させることができるようになる。なお、本実施例においては、例外処理として教示修正があった場合に行われる例外対処の後に再学習処理を行う場合を例にとって説明した。しかしながら、例外処理として一時停止処理、一時停止後の動作再開処理及び速度オーバライドの変更処理があった場合に行われる例外対処の後に再学習処理を実行するようにしてもよい。
【符号の説明】
【００４９】
１    ロボット機構部
２    制御装置
３    学習制御部
４    通常制御部
５    例外対処部
６    再学習制御部
７    稼働状況検知部
８    速度オーバライド検知部
３１    第１メモリ
３２    学習制御器
３３    第２メモリ
３４    ＲＡＭ
４１    位置制御部
４２    速度制御部
４３    電流制御部
４４    アンプ
４５    微分手段
１００、１０１、１０２、１０３、１０４    学習制御ロボット
【図１】
2011192267.tif 000003
【図２】
2011192267.tif 000004
【図３】
2011192267.tif 000005
【図４】
2011192267.tif 000006
【図５】
2011192267.tif 000007
【図６】
2011192267.tif 000008
【図７】
2011192267.tif 000009
【図８】
2011192267.tif 000010
【図９】
2011192267.tif 000011
【図１０】
2011192267.tif 000012
【図１１】
2011192267.tif 000013
【図１２】
2011192267.tif 000014
【図１３】
2011192267.tif 000015