(57)【要約】【課題】減速開始から停止完了するまでの間、メモリ内に膨大な補間点の情報を格納する必要のないロボット制御装置０を提供することを目的とする。【解決手段】軌道計画部１は、教示点１から教示点２までの各駆動軸の速度カーブＡおよび教示点２から教示点３までの各駆動軸の速度カーブＢを計画し、これらの速度カーブの速度合成を行うことにより各駆動軸の速度カーブＣを算出し、補間処理部２は、速度カーブＣと教示点２および３の位置情報とに基づいて補間演算を行うことにより補間点データを算出し、補間点格納バッファ３は補間処理部２から補間点データを逐次入力し、サーボ制御部４は、各駆動軸の速度が予め指定された許容速度を超えないように補間点格納バッファ３から補間点データを読み取り、読み取った補間点データをロボットが具備するサーボモータへ出力するようにしたロボット制御装置０とした。【選択図】図２
2005050136.tif 000002
【特許請求の範囲】
【請求項１】
教示点１から教示点２を経由して教示点３へ移動する、各駆動軸がサーボモータにより駆動される多関節ロボットを制御するロボット制御装置において、
該ロボット制御装置は軌道計画部、補間処理部、補間点格納バッファ、およびサーボ出力部を有し、
前記軌道計画部は、動作プログラムに基づいて教示点２へ移動する際の軌道および教示点３へ移動する際の軌道を解析し、教示点１から教示点２までの各駆動軸の速度カーブＡおよび教示点２から教示点３までの各駆動軸の速度カーブＢを計画し、該速度カーブＡおよび速度カーブＢの速度合成を行うことにより各駆動軸の速度カーブＣを算出し、
前記補間処理部は、前記速度カーブＣと教示点２および３の位置情報とを前記軌道計画部から入力し、これらの入力データに基づいて補間演算を行うことにより補間点データを算出し、
前記補間点格納バッファは、前記補間処理部から前記補間点データを逐次入力し、
前記サーボ制御部は、各駆動軸の速度が予め指定された許容速度を超えないように前記補間点格納バッファから前記補間点データを読み取り、この読み取った補間点データをロボットが具備するサーボモータへ出力するようにしたことを特徴とするロボット制御装置。
【請求項２】
前記軌道計画部は、動作プログラムに基づいて教示点２へ移動する際の軌道および教示点３へ移動する際の軌道を解析し、教示点１から教示点２までの各駆動軸の速度カーブＡおよび教示点２から教示点３までの各駆動軸の速度カーブＢを計画し、該速度カーブＡおよび速度カーブＢの速度合成を行うことにより各駆動軸の速度カーブＣを算出し、前回の停止位置が速度カーブＣの速度合成区間内であれば停止時の速度合成区間の消化比率に基づいて速度カーブＤを算出し、
前記補間処理部は、前記速度カーブＣまたはＤと教示点２および３の位置情報とを前記軌道計画部から入力し、これらの入力データに基づいて補間演算を行うことにより補間点データを算出するようにしたことを特徴とする請求項１に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボット（以下単に「ロボット」と記す）の制御方法および制御装置に関し、さらに詳しくは、速度の合成途中で停止させてもロボットが軌道からはずれることなく停止し、ロボットを再起動させても速度合成動作を継続させることが可能なロボット制御装置に関する。
【背景技術】
【０００２】
ロボットを各教示点に沿って厳密に移動させる必要がない場合においては、一般に、サイクルタイムを短縮させるため、任意の教示点に到達する前にこの任意の教示点の次の教示点へ向かうように制御するようにしている。その手段としては、例えば、任意の教示点へ移動する際のロボットアームの指定速度と、この任意の教示点の次の教示点へ移動する際のロボットアームの指定速度とを合成させ、この合成した指定速度を利用することにより任意の教示点へ到達する前に次の教示点へ向かうようにしている。この場合におけるロボットの動作としては、図１に示すような教示点１から教示点２を経由して教示点３へ動作する場合、前述した任意の教示点としての教示点２の付近を内回り動作して通過し、次の教示点としての教示点３へ移動することになる。
【０００３】
しかし、係る手段では、再生運転においては、指定速度の合成の途中でロボットを停止させ、その場所からロボットの動作を再起動させると、指定速度の合成を継続せずに次の教示点に向かって動作することになる。また、教示作業においては一般にロボットの動作を確認する作業を行い、その際にチェックゴー（前進動作）で動作を確認するが、一度チェックゴーを中断すると同様の軌跡をたどることが困難になる。これらの状況において、次の教示点に向かってショートカットをした場合は、周辺装置やワークなどに干渉する可能性が出てきたり、オペレータへ危害を与える恐れも出てきたりする。
【０００４】
そこで、特許文献１に開示されているものにおいては、動的速度制御として速度オーバーライドを実施することにより、ロボット停止後の再起動時においても軌道を守り、指定速度の合成を継続するようにしている。すなわち、特許文献１では、速度オーバーライドで速度を０にしてロボットを停止させた後、再起動のために内部状態を一旦凍結させ、ロボットの再起動時に速度オーバーライドを解除することにより、軌道を継続する方法が開示されている。また、特許文献１では、ロボットの再起動のためにメモリ内にロボットの停止間際における補間点の情報を記憶しておき、この情報をロボットの再起動時に読み出して速度オーバーライド処理を実施することについても開示されている。
【特許文献１】特開２００２−８２７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、重量物をハンドリングするようなロボットの場合、減速するまでに時間を要することになるが、前述した特許文献１に開示されている方法では、減速開始から停止完了するまでの間、メモリ内に膨大な補間点の情報を格納することになるので、容量の大きなメモリが必要になるという問題がある。また、ロボットの動作中に非常停止が入力され、ロボットが軌跡から外れた位置で停止した場合、ロボットの再起動の際には元の軌道に戻る必要があり、その際にも補間処理部で軌道を計算し、ロボットを目標の軌道に戻さなければいけないが、停止時に保存したデータを破壊せずに補間処理を実施する必要があるので、２系統の補間処理部が必要になるという問題がある。
【０００６】
本発明は、前述した従来技術の問題点を解決するためになされたものであり、減速開始から停止完了するまでの間、メモリ内に膨大な補間点の情報を格納する必要のないロボット制御装置を提供することを目的とする。また、本発明は、非常停止後の軌道復帰動作に影響されることなくティーチング確認作業を行うことができるようなロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために、請求項１に係る発明は、教示点１から教示点２を経由して教示点３へ移動する、各駆動軸がサーボモータにより駆動される多関節ロボットを制御するロボット制御装置において、ロボット制御装置は軌道計画部、補間処理部、補間点格納バッファ、およびサーボ出力部を有し、軌道計画部は、動作プログラムに基づいて教示点２へ移動する際の軌道および教示点３へ移動する際の軌道を解析し、教示点１から教示点２までの各駆動軸の速度カーブＡおよび教示点２から教示点３までの各駆動軸の速度カーブＢを計画し、これら速度カーブＡおよび速度カーブＢの速度合成を行うことにより各駆動軸の速度カーブＣを算出し、補間処理部は、前記速度カーブＣと教示点２および３の位置情報とを軌道計画部から入力し、これら入力データに基づいて補間演算を行うことにより補間点データを算出し、補間点格納バッファは補間処理部から前記補間点データを逐次入力し、サーボ制御部は、各駆動軸の速度が予め指定された許容速度を超えないように補間点格納バッファから前記補間点データを読み取り、読み取った補間点データをロボットが具備するサーボモータへ出力するようにしたことを特徴とするロボット制御装置を提供した。
【０００８】
係る構成としたことにより、サーボ制御部は、各駆動軸の速度が予め指定された許容速度を超えないように補間点格納バッファから補間点データを読み取り、この読み取った補間点データをロボットが具備するサーボモータへ出力するようにしたので、非常停止の際などロボットが一時停止した際に記憶しておくべきデータとしては、速度カーブＣの速度合成区間の消化比率と教示点２および３の位置データのみであればよいことになる。なお、速度カーブＣの速度合成区間の消化比率とは、図７に示すように、前述した合成された速度カーブＣにおける速度合成区間内で非常停止となった場合に、速度合成区間全体に占める速度合成区間が始まってから非常停止となるまでの区間の割合である。
【０００９】
請求項２に係る発明では、前記軌道計画部は、前回の停止位置が速度カーブＣの速度合成区間内であれば停止時の速度合成区間の消化比率に基づいて速度カーブＤを算出し、前記補間処理部は、前記速度カーブＣまたはＤと教示点２および３の位置情報とを軌道計画部から入力し、これらの入力データに基づいて補間演算を行うことにより補間点データを算出するようにした。
【００１０】
係る構成としたことにより、前回の停止位置が速度合成区間内であった場合は、停止時の速度合成区間の消化比率から速度カーブＣの後半部分を切り出すことにより作成した速度カーブＤに基づいて補間演算を行い補間点データが得られることになる。
【発明の効果】
【００１１】
本発明によれば、非常停止の際などロボットが一時停止した際に記憶しておくべきデータとしては、速度合成区間の消化比率と教示点の位置データのみであればよいので、減速開始から停止完了するまでの間、メモリ内に膨大な補間点の情報を格納する必要はなくなり、大容量のメモリを用意する必要はなくなった。さらに、前回の停止位置が速度合成区間内であった場合は、停止時の速度合成区間の消化比率から速度カーブＣの後半部分を切り出すことにより作成した速度カーブＤに基づいて補間演算を行い補間点データを得るようにしているので、非常停止後の軌道復帰動作に影響されることなくティーチング確認作業を行うことができることになった。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。図２は、本実施形態に係るロボット制御装置０を含むロボットシステムのブロック図である。本発明に係るロボット制御装置０は、軌道計画部１、補間処理部２、補間点格納バッファ３、およびサーボ出力部４から構成されている。
【００１３】
軌道計画部１は、ロボット５の動作プログラムを解析し、この動作プログラムにおいて指定された目標位置、指定速度、および移動方法に基づいてロボット５の軌道を計画する。そして、動作プログラムにおいて指定された移動方法が補間切りであった場合は、前後の命令を同時に解析する。また、軌道計画部１には速度合成処理部が存在し、前述の解析された前後の命令に基づいて速度合成処理を実施する。この処理結果は速度情報として位置情報とともに補間処理部２へ伝達される。
【００１４】
補間処理部２では、軌道計画部１から出力された位置情報および速度情報を入力し、これらの情報に基づいて補間演算が実行され、この補間演算された結果すなわち補間点データが補間点格納バッファ３に格納される。
【００１５】
サーボ出力部４では、ロボットの各駆動軸の速度が予め指定された許容速度を超えないように補間点格納バッファ３から前述の補間点データを読み取り、読み取った補間点データをロボット５が具備するサーボモータへ出力する。
【００１６】
ロボット５は複数の関節軸を有する多関節ロボットであり、各関節軸毎にこれを駆動するためのサーボモータを具備している。これらのサーボモータは、サーボ出力部４から出力された前述の補間点データに基づいて動作する。
【００１７】
次に、前述したロボット制御装置０において行われる処理の流れについて、図３に示したフローチャートを参照して説明する。なお、本フローチャートにおけるロボットの動作としては、図１に示すような教示点１から教示点２を経由して教示点３へ動作する場合を想定している。また、以下の説明において、「Ｓ（＊）」（＊は整数）の記述はステップ番号を意味し、図におけるステップ番号の記述とリンクしている。
【００１８】
この図３に示したフローチャートにおける処理において、Ｓ１からＳ３までの処理は軌道計画部１において行われ、Ｓ４の処理は補間処理部２において行われ、Ｓ５からＳ８までの処理はサーボ出力部４において行われる。
【００１９】
ロボットが教示点１にいた場合、軌道計画部１に対し、教示点２へ移動する際の動作プログラムおよび教示点３へ移動する際の動作プログラムが送られる。そして、軌道計画部１では、二つの軌道すなわち教示点２へ移動する際の軌道および教示点３へ移動する際の軌道を解析し、教示点１から教示点２までの各駆動軸の速度カーブＡおよび教示点２から教示点３までの各駆動軸の速度カーブＢを計画する（Ｓ１）。
【００２０】
次に、軌道計画部１が具備する図示しない速度合成手段を用いて、前述したＳ１において計画した教示点１から教示点２までの各駆動軸の速度カーブＡと教示点２から教示点３までの各駆動軸の速度カーブＢとの速度合成を行い、図４に示すような各駆動軸の速度カーブＣを算出する（Ｓ２）。
【００２１】
次に、軌道計画部１は、教示点２の位置情報、教示点３の位置情報、および前述したＳ２において算出した各駆動軸の速度カーブＣを補間処理部２に伝達する（Ｓ３）。
【００２２】
補間処理部２では、軌道計画部１から出力された、前述した教示点２の位置情報、教示点３の位置情報、および各駆動軸の速度カーブＣを入力し、これらに基づいて補間演算を行い、この演算結果としての補間点データを補間点格納バッファ３へ格納する（Ｓ４）。
【００２３】
サーボ出力部４では、各駆動軸の速度が指定された許容速度を超えないように補間点格納バッファ３に格納されている補間点データを読み取り、読み取った補間点データをロボット５のサーボモータへ出力する。そのため、各駆動軸の速度が指定された許容速度を超えたか否かを判断している（Ｓ５）。ここで、各駆動軸の速度が指定された許容速度を超えていなかった場合は（Ｓ５Ｎｏ）、このときの補間点データを補間点格納バッファ３から読み取り（Ｓ７）、これをロボット５のサーボモータへ出力する（Ｓ８）。一方、各駆動軸の速度が指定された許容速度を超えていた場合は（Ｓ５Ｙｅｓ）、前回の補間点データの中から指定された許容速度内の補間点データを補間点格納バッファ３から読み取り（Ｓ６）、これをロボット５のサーボモータへ出力する（Ｓ８）。
【００２４】
次に、ロボットを停止させる場合における処理の流れについて、図５に示したフローチャートを参照して説明する。この図５に示したフローチャートにおける処理において、Ｓ１１からＳ１３までの処理は軌道計画部１において行われ、Ｓ１４の処理は補間処理部２において行われ、Ｓ１５からＳ１７までの処理はサーボ出力部４において行われる。なお、本処理における軌道計画部１および補間処理部２の処理すなわちＳ１１からＳ１４までの処理は、前述した図３のフローチャートにおける処理すなわちＳ１からＳ４までの処理と同じであるので再度の説明を省略し、ここでは既に補間点格納バッファ３に補間点データが格納されているものとして、以降の処理すなわちサーボ出力部４におけるＳ１５以降の処理の流れについて説明する。
【００２５】
サーボ出力部４では、許容減速度から算出できる補間点データを補間点格納バッファ３から取り出す（Ｓ１５）。そして、取り出した補間点データをロボット５が具備する図示しない各駆動軸のサーボモータへ出力する（Ｓ１６）。この時、補間点データ１個を必ず取り出すのではなく、ロボット５が許容減速度を満たさない場合は（Ｓ１７Ｎｏ）、Ｓ１５に戻り、前回の補間点データからの差分を分割してサーボモータへ出力する（Ｓ１６）。この動作を各駆動軸の速度が０になるまで繰り返す（Ｓ１７）。そして、各駆動軸の速度が０になったときに（Ｓ１７Ｙｅｓ）、軌道を維持しながらロボット５が停止することになる。ロボット５の停止が完了すると、補間処理部２は軌道計画部１に対して、停止位置情報を送信する（Ｓ１８）。この停止位置情報としては、停止位置の他に、軌道計画部１で計画した速度カーブに対する割合を付加する。軌道計画部１は前述の停止位置、停止した際の速度カーブ、速度カーブのうち速度合成区間の消化比率を記憶する。ここで、速度合成区間の消化比率とは、図７に示すように、前述した合成された速度カーブＣにおける速度合成区間内で非常停止となった場合に、速度合成区間全体に占める速度合成区間が始まってから非常停止となるまでの区間の割合である。
【００２６】
次に、ロボットの動作を再開させる場合における処理の流れについて、図６に示したフローチャートを参照して説明する。この図６に示したフローチャートにおける処理において、Ｓ２１からＳ２５までの処理は軌道計画部１において行われ、Ｓ２６の処理は補間処理部２において行われ、Ｓ２７からＳ３０までの処理はサーボ出力部４において行われる。
【００２７】
軌道計画部１は、前述した図３に示したフローチャートにおける処理と同様に、再度教示点２および教示点３の情報を元に軌道を計画する（Ｓ２１）。計画された速度カーブは前述したカーブと同じ速度カーブＣとなる（Ｓ２２）。その後、停止位置記憶領域のデータを読み取り、前回の停止位置が速度合成区間内であれば（Ｓ２３Ｙｅｓ）、前回の停止において保存した停止情報を利用して速度カーブを修正する（Ｓ２４）。このときの速度カーブの修正方法は、前述した停止時の速度合成区間の消化比率から速度カーブＣの後半部分を切り出すことにより、図７に示すような速度カーブＤを作成する方法を用いる。そして、その処理結果を補間処理部２に伝達する（Ｓ２５）。なお、Ｓ２３において、前回の停止位置が速度合成区間内でなければ（Ｓ２３Ｎｏ）、軌道計画部１は、教示点２の位置情報、教示点３の位置情報、および前述したＳ２２において算出した各駆動軸の速度カーブＣを補間処理部２に伝達する。
【００２８】
補間処理部２では、軌道計画部１から出力された、前述した教示点２の位置情報、教示点３の位置情報、および各駆動軸の速度カーブＣまたはＤに基づいて補間演算を行い、この演算結果としての補間点データを補間点格納バッファ３へ格納する（Ｓ２６）。
【００２９】
次にサーボ出力部４では、補間点格納バッファ３から補間点データを読み出すが、各駆動軸の許容速度を超えないように補間点格納バッファ３から補間点データを読み出して、これをロボット５のサーボモータへ出力する（Ｓ２７〜Ｓ３０）。このＳ２７〜Ｓ３０の処理については、前述した図３に示したフローチャートにおけるＳ５〜Ｓ８の処理と同様であるので、再度の説明は省略する。なお、前述したように、前回の停止位置が速度合成区間内であった場合は、前述した停止時の速度合成区間の消化比率から速度カーブＣの後半部分を切り出すことにより作成した速度カーブＤに基づいて補間演算を行い補間点データを得るようにしているので、ロボット５の軌道を保証することができることになる。
【００３０】
以上説明したように、本実施形態においては、サーボ制御部は、各駆動軸の速度が予め指定された許容速度を超えないように補間点格納バッファから補間点データを読み取り、この読み取った補間点データをロボットが具備するサーボモータへ出力するようにしているので、非常停止の際などロボットが一時停止した際に記憶しておくべきデータとしては、速度カーブＣの速度合成区間の消化比率と教示点２および３の位置データのみであればよいことになる。そのため、減速開始から停止完了するまでの間、メモリ内に膨大な補間点の情報を格納する必要はなくなるので、大容量のメモリを用意する必要はなくなった。さらに、本実施形態においては、前回の停止位置が速度合成区間内であった場合は、停止時の速度合成区間の消化比率から速度カーブＣの後半部分を切り出すことにより作成した速度カーブＤに基づいて補間演算を行い補間点データを得るようにしているので、非常停止後の軌道復帰動作に影響されることなくティーチング確認作業を行うことができることになる。
【図面の簡単な説明】
【００３１】
【図１】教示点１から教示点２を経由して教示点３へ動作する場合におけるロボット５の軌道を示す説明図である。
【図２】本発明を実施するための最良の形態に係るロボット制御装置０を含むロボットシステムのブロック図である。
【図３】教示点１から教示点２を経由して教示点３へ動作する場合における、ロボット制御装置０において行われる処理の流れについて示したフローチャートである。
【図４】速度カーブの合成について示した説明図である。
【図５】ロボットを停止させる場合における、ロボット制御装置０において行われる処理の流れについて示したフローチャートである。
【図６】ロボットの動作を再開させる場合における、ロボット制御装置０において行われる処理の流れについて示したフローチャートである。
【図７】停止時の速度合成区間の消化比率から速度カーブＣの後半部分を切り出すことにより作成した速度カーブＤについて示した説明図である。
【符号の説明】
【００３２】
０  ロボット制御装置
１  軌道計画部
２  補間処理部
３  補間点格納バッファ
４  サーボ出力部
５  ロボット
【図１】
2005050136.tif 000003
【図２】
2005050136.tif 000004
【図３】
2005050136.tif 000005
【図４】
2005050136.tif 000006
【図５】
2005050136.tif 000007
【図６】
2005050136.tif 000008
【図７】
2005050136.tif 000009