説明

ロボットシステムの制御装置、制御方法およびそのプログラム

【課題】マニピュレータを動作範囲内に停止させる制御に要する計算量を低減する。
【解決手段】制御装置3は、マニピュレータに指令すべき溶接トーチ先端の次回位置を速度パターンと現在時刻とに基づいて算出する次回位置算出手段33と、溶接トーチが最大動作速度で動作しているときに所定の減速度内で停止可能な時間を示す最大減速時間を算出する最大減速時間算出手段40と、現時点から少なくとも最大減速時間だけ経過した時刻において指令すべき溶接トーチ先端の未来位置を算出する未来位置算出手段50と、動作中に溶接トーチ先端の未来位置が動作限界を越えたか否かを判別する動作限界判別手段60と、越えた場合に現時点から溶接トーチを減速停止させる指令を生成する停止制御手段34と、越えていない場合に溶接トーチを次回位置まで動作させる指令を生成するマニピュレータ制御手段70とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシステムの制御装置に係り、特に、溶接ロボットやその周辺装置の動作範囲を制限するロボットシステムの制御装置、制御方法およびそのプログラムに関するものである。
【背景技術】
【0002】
従来、産業用口ボットや位置合わせ装置(ポジショナ)等の周辺装置とそれらの制御装置とからなるロボットシステムにおいて、例えば産業用口ボットのアーム等のリンク(可動部)の継ぎ目である各関節の動作範囲に制限が設けられている場合が多い。動作範囲を制限する方法として、例えば関節の動作限界を示す位置に、アーム等のリンクがそれ以上移動しないように物理的なストッパが設けられる場合がある。この場合、関節が限界位置までの動作を行う範囲を越えて動作すると、ストッパに衝突することによって過大な力が発生し、この力によって、産業用口ボットや周辺装置を構成する各種機器が振動するので、各種機器が破損したり位置ずれが生じたりする虞がある。
【0003】
また、ストッパを設けつつも、ロボットの制御装置によって、リンク(可動部)が限界位置までの動作を行う範囲を越えたか否かを監視し、越えた場合に関節の動作を減速停止させてストッパに当接しないようにする方法もある。しかし、この方法では、限界位置までの動作を行う範囲とストッパとを隔てるために、減速移動を十分に行うことのできる程の幅を有した緩衝領域を設けていないと、関節の動作が減速されないままリンクがストッパに激突する事態が生じる場合がある。
【0004】
このような事態を回避するために、確実に停止させることを前提として、関節についての動作中の現在位置と、現在位置から減速して停止するときの停止予定位置とを計算し、停止予定位置が限界位置までの動作を行う範囲を越えたか否かをチェックする機構を設けた制御装置が知られている(例えば、特許文献1参照)。特許文献1に記載されたロボットの制御装置は、停止予定位置が限界位置までの動作を行う範囲を越えていると判別した場合には、すぐに減速を開始させて、動作限界の手前で停止させる。このとき、この制御装置は、関節の動作速度を時々刻々把握し、動作速度に応じて減速を開始する位置を変えることで動作限界の手前に予め指定した位置の近傍に確実に停止させる。
【特許文献1】特開2000−190262号公報(段落0025〜段落0033、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
産業用ロボットやその周辺装置の動作範囲を制限する際に、例えば溶接ロボットの溶接トーチ先端のようなロボットツール先端などの点やポジショナ等の周辺装置上の点が、座標空間上の動作範囲として予め定められた直方体内や円筒内の仮想の所定空間領域から出ないように指定される場合がある。しかしながら、特許文献1に記載されたロボットの制御装置は、関節角の動作範囲を制限することとしており、ロボットツール先端などの点の動作範囲を所定空間領域内に制限するためには用いることができない。
【0006】
また、特許文献1に記載された制御方法では、サンプリング時間(制御周期)毎に、動作する関節すべての停止予定位置を計算する必要がある。この方法では、停止予定位置を計算するための速度パターンとして単純な台形パターンを利用している。しかしながら、速度パターンとしてS字カーブ等を用いた場合などには、計算量が比較的多くなってしまう。したがって、S字カーブ等の速度パターンを用いた場合などには、動作する関節すべての停止予定位置の計算をサンプリング時間毎に繰り返すことによって停止予定位置が限界位置までの動作を行う範囲を越えているか否かを判別することは現実的には困難である。つまり、特許文献1に記載された制御方法では、可動部を動作範囲内に停止させる制御に要する計算量が多いという問題がある。
【0007】
そこで、本発明では、前記した問題を解決し、ロボットシステムにおいて、可動部を動作範囲内に停止させる制御に要する計算量を低減することのできるロボットシステムの制御装置、制御方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、前記目的を達成するために創案されたものであり、本発明のうち請求項1に記載のロボットシステムの制御装置は、回転動作またはスライド動作する可動部を備えたロボットシステムにおいて前記可動部の動作を制御するロボットシステムの制御装置であって、前記可動部の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに前記可動部に対して次に指令すべき次回位置を算出する次回位置算出手段と、前記可動部が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも前記最大減速時間だけ経過した時刻において次に指令すべき前記動作点の位置を未来位置として算出する未来位置算出手段と、前記可動部の動作中に、前記可動部の動作限界を示す予め定められた位置座標に基づいて、前記算出された未来位置が前記動作限界を越えたか否かを判別する動作限界判別手段と、前記可動部の動作中に前記未来位置が前記動作限界を越えたと判別された場合に、現時点から前記可動部を減速停止させる指令を生成する停止制御手段と、前記可動部の動作中に前記未来位置が前記動作限界を越えていないと判別された場合に、前記可動部を前記算出された次回位置まで動作させる指令を生成する可動部制御手段とを備えることを特徴とする。
【0009】
かかる構成によれば、ロボットシステムの制御装置は、可動部に対して動作点の次回位置を算出すると共に、現時点から可動部が最大動作速度で動作していても停止可能な時間以上経過した時刻において指令すべき動作点の未来位置を算出する。ここで、動作点は、例えば、可動部の所定地点の位置に対応した可変値により自位置を示す仮想的な点である。このような動作点として、ロボットツールの先端の位置に対応した可変値として対応する関節角度を示す点、ロボットツールの先端点、周辺装置上の点、周辺装置上に載せられたワーク上の点などを挙げることができる。また、未来位置は、次回位置と同様な方法で計算することができる。そのため、従来は必要であった、現在位置から停止予定位置に至るまでの移動に係る計算を省略することができ、計算量を従来よりも低減することができる。そして、ロボットシステムの制御装置は、可動部の動作中に未来位置が動作限界を越えたか否かを判別し、越えた場合に現時点から可動部を減速停止させる。現在位置から未来位置まで移動するために必要な時間は、可動部が最大動作速度で動作しているときに停止するまでの時間以下なので、可動部は動作限界に至るまでに停止する。また、ロボットシステムの制御装置は、未来位置が動作限界を越えていなければ、可動部に限界位置までの動作を行わせる。特に、可動部が、限界位置までの動作を行う範囲と動作限界との間の領域に一旦進入して動作限界を越えることなく再び限界位置までの動作を行う範囲に戻る場合に、可動部が停止することを防止できる。この場合には、可動部は上述した領域を減速することなく通過するので、限界位置までの動作を行う範囲を拡張したことと同等の効果を奏することとなる。
【0010】
また、請求項2に記載のロボットシステムの制御装置は、請求項1に記載のロボットシステムの制御装置であって、前記可動部の最大速度と、前記予め定められた減速度とに基づいて前記最大減速時間を算出する最大減速時間算出手段をさらに備えることを特徴とする。
【0011】
かかる構成によれば、ロボットシステムの制御装置は、動作開始前に、最大減速時間を算出しておくことにより、制御周期毎の計算において、従来のように減速までに必要な距離計算を行う必要がなくなるため、計算量を削減できる。また、最大減速時間を予め算出することにより、制御周期毎の計算において必要な計算量を速度パターンによらずに一定にすることができる。つまり、制御周期毎の計算において、速度パターンとして台形パターンを用いてもS字カーブをもった速度パターンを用いても計算量が変わらないこととなる。
【0012】
また、請求項3に記載のロボットシステムの制御装置は、請求項1または請求項2に記載のロボットシステムの制御装置であって、前記未来位置算出手段が、現時点から前記制御周期の整数倍の時間と前記最大減速時間との和だけ経過した時刻において次に指令すべき前記動作点の位置を示す未来位置を算出することを特徴とする。
【0013】
かかる構成によれば、ロボットシステムの制御装置は、制御周期の整数倍の時間を最大減速時間に加算するので、計算を容易に行うことができると共に、そのときの未来位置を用いることにより、動作限界よりも限界位置までの動作を行う範囲により近い位置に、ある程度の余裕をもって停止させることができる。ここで、1制御周期と最大減速時間との和を用いれば、余裕を持ちつつ可動部が減速せずに動作を行うことのできる範囲を最大限に拡張することが可能となるので好ましい。
【0014】
また、請求項4に記載のロボットシステムの制御方法は、回転動作またはスライド動作する可動部を備えたロボットシステムにおいて前記可動部の動作を制御するロボットシステムの制御装置の制御方法であって、前記制御装置が、前記可動部の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに前記可動部に対して次に指令すべき次回位置を算出する次回位置算出ステップと、前記可動部が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも前記最大減速時間だけ経過した時刻において次に指令すべき前記動作点の位置を未来位置として算出する未来位置算出ステップと、前記可動部の動作中に、前記可動部の動作限界を示す予め定められた位置座標に基づいて、前記未来位置算出ステップで算出された未来位置が前記動作限界を越えたか否かを判別する動作限界判別ステップと、前記動作限界判別ステップで前記未来位置が前記動作限界を越えたと判別された場合に、現時点から前記可動部を減速停止させる指令を生成する停止制御ステップと、動作限界判別ステップで前記未来位置が前記動作限界を越えていないと判別された場合に、前記可動部を前記次回位置算出ステップで算出された次回位置まで動作させる指令を生成する可動部制御ステップとを実行することを特徴とする。
【0015】
かかる手順によれば、ロボットシステムの制御装置は、可動部に対して動作点の次回位置を算出し、現時点から可動部が最大動作速度で動作していても停止可能な時間以上経過した時刻において指令すべき動作点の未来位置を算出する。そして、ロボットシステムの制御装置は、可動部の動作中に未来位置が動作限界を越えたか否かを判別し、越えた場合に現時点から可動部を減速停止させ、越えていない場合、限界位置までの動作を行わせる。
【0016】
また、請求項5に記載の制御プログラムは、回転動作またはスライド動作する可動部を備えたロボットシステムにおいて前記可動部の動作を制御するために、コンピュータを、前記可動部の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに前記可動部に対して次に指令すべき次回位置を算出する次回位置算出手段、前記可動部が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも前記最大減速時間だけ経過した時刻において次に指令すべき前記動作点の位置を未来位置として算出する未来位置算出手段、前記可動部の動作中に、前記可動部の動作限界を示す予め定められた位置座標に基づいて、前記算出された未来位置が前記動作限界を越えたか否かを判別する動作限界判別手段、前記可動部の動作中に前記未来位置が前記動作限界を越えたと判別された場合に、現時点から前記可動部を減速停止させる指令を生成する停止制御手段、前記可動部の動作中に前記未来位置が前記動作限界を越えていないと判別された場合に、前記可動部を前記算出された次回位置まで動作させる指令を生成する可動部制御手段として機能させることを特徴とする。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【発明の効果】
【0017】
本発明のロボットシステムの制御装置、制御方法およびそのプログラムによれば、可動部を動作範囲内に停止させる制御に要する計算量を低減することができる。また、限界位置までの動作を行う範囲を従来よりも拡張することが可能である。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して本発明のロボットシステムの制御装置を実施するための最良の形態(以下「実施形態」という)について説明する。
[ロボットシステムの構成]
図1は、ロボットシステムを模式的に示す構成図である。ロボットシステム1は、回転動作またはスライド動作する可動部を備えている。このロボットシステム1は、図1に示すように、主として、マニピュレータ(アーク溶接ロボット)2と、制御装置(ロボットシステムの制御装置)3と、教示ペンダント4とを備えている。
【0019】
マニピュレータ(アーク溶接ロボット)2は、例えば、6軸構成の垂直多関節型の溶接ロボットであり、マニピュレータ2の手首部分には、可動部としての溶接トーチ5が取り付けられている。マニピュレータ2は、制御装置3からの指令に基づいて内部のマニピュレータモータM(図2参照)の動作により、マニピュレータ2の各関節を動かすことにより、溶接トーチ5を所定位置に移動させることができる。なお、本実施形態では、教示プログラムまたはインチング指令に基づいて、制御装置3は、マニピュレータ2に指令を出力する。
【0020】
溶接トーチ5は、溶接ワイヤをワークWの被溶接部に向けて送り出すものである。この送り出された溶接ワイヤと被溶接部との間にアークが形成されることで溶接が行われる。溶接トーチ5は、図示しないワイヤ送給装置を介して溶接電源P(図2参照)と接続されており、この溶接電源Pは制御装置3に接続されている。そして、制御装置3が溶接指令信号を溶接電源Pに出力すると、溶接電源Pからの給電により図示しないワイヤ送給装置が駆動されて、溶接トーチ5に溶接ワイヤが送給される。
【0021】
制御装置(ロボットシステムの制御装置)3は、マニピュレータ2と、教示ペンダント4とに接続されており、教示ペンダント4から入力されたコマンド(インチング指令)または予め記憶された所定の教示プログラムに基づいて、マニピュレータ2、特に、可動部としての溶接トーチ5を制御するものである。
教示ペンダント4は、マニピュレータ2の教示作業の際に、被溶接部の溶接経路や溶接作業条件等を入力するために使用される。
【0022】
[制御装置の構成]
図2は、図1に示した制御装置の構成を模式的に示すブロック図である。制御装置3は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力インタフェース等から構成される。また、制御装置3は、後記する各種機能を実現するために、図2に示すように、教示プログラム記憶手段10と、パラメータ記憶手段20と、次回位置制御手段30と、最大減速時間算出手段40と、未来位置算出手段50と、動作限界判別手段60と、マニピュレータ制御手段(可動部制御手段)70と、溶接制御手段80とを備えている。以下、図2を参照(適宜図1参照)して制御装置3の構成を説明する。
【0023】
<教示プログラム記憶手段>
教示プログラム記憶手段10は、教示プログラムを記憶するものであり、例えば、一般的なメモリやハードディスク等から構成される。教示プログラムには、例えば、マニピュレータ2に取り付けられた溶接トーチ5の移動する目標位置と補間方式、指定速度が記述されている。教示プログラム記憶手段10に記憶された教示プログラムは、予め作成されたものであるが、教示ペンダント4からの入力操作またはパーソナルコンピュータ等の接続機器(図示しない)からの入力操作によって編集可能なものである。
【0024】
<パラメータ記憶手段>
パラメータ記憶手段20は、各種パラメータを記憶するものであり、例えば、一般的なメモリやハードディスク等から構成される。各種パラメータは、例えば、動作限界の位置座標、最大動作速度(目標速度)「Vmax」、最大加速度および最大減速度(加減速度)「Acc」、加速パターンおよび減速パターン(速度パターン)「Taなど」、制御周期τ等を含む。例えば、最大動作速度のパラメータは軸毎に指定されている。
【0025】
<動作限界>
本実施形態では、動作限界は、マニピュレータ2に取り付けられた溶接トーチ5の先端に対応して予め設定される。図3は、動作限界を指定する一例として、溶接トーチの先端の位置を、仮想の直方体の範囲で制限する例を模式的に示す図である。動作限界内の動作範囲は、マニピュレータ2が教示データ作成時に用いる座標系で記述されXYZ方向それぞれの上限値、下限値で指定される。ここでは、3次元座標空間上に、縦(X方向)の長さが「a」、横(Y方向)の長さが「b」、高さ(Z方向)が「c」である仮想の直方体300を想定し、溶接トーチの先端310は、仮想の直方体300の内部空間領域だけで動作が許可されているものとする。この仮想の直方体300には、X+方向、X−方向、Y+方向、Y−方向、Z+方向、およびZ−方向に動作限界(上限値または下限値)が設定されている。例えば、図3に示すように、XY平面上にZ−方向の動作限界を設定し、X軸上に設定された溶接線の所定の溶接開始位置から溶接終了位置までの長さを「a」に設定し、溶接線に対するウィービング方向の動作限界を「b/2(Y上限値)」、「−b/2(Y下限値)」のように設定することができる。これにより、溶接トーチの先端310の座標値が、パラメータで指定されている上下限範囲外とならないように制限することができる。
【0026】
<最大動作速度、加減速度、加減速パターン>
本実施形態では、速度パターンの一例として図4に示す変形正弦速度パターンを使用する。この変形正弦速度パターンは、カム曲線として用いられるものである。ここでは、一例として、時刻tが「0」のときに、速度が「0」の状態から移動を開始した場合について説明する。図4に示す速度パターンは、時刻tが「0」から「Ts」に至るまでの加速区間410と、時刻tが「Ts」から「Tc」に至るまでの等速区間420と、時刻tが「Tc」から「Tt」に至るまでの減速区間430とを備えている。
【0027】
加速区間410は、速度「0」から最大動作速度(目標速度)「Vmax」に向かって速度変化がS字カーブ(加速パターン)で表される。ここで、加速区間410における所定時刻「Ta」を想定する。加速区間410の前半の区間[0,Ta]において、速度v(t)は、式(1)で示され、加速区間410の後半の区間[Ta,Ts]において、速度v(t)は、式(2)で示される。そして、式(1)から式(7)により、加速区間410の速度v(t)は、最大動作速度Vmaxと加速度Accと移動時間Tsとで表すことができる。
【0028】
【数1】

【0029】
図4に示す等速区間420では、速度の大きさが一定の最大動作速度「Vmax」である。減速区間430は、最大動作速度「Vmax」から速度「0」に向かって速度変化が加速区間410のS字カーブと対称な曲線(減速パターン)で表される。つまり、減速区間430の速度パターンは、加速区間410の速度パターン(波形の一部)を、時間軸に平行に「Tc−Ts」だけ移動した後で、時刻t=Tcを対称軸とした線対称な波形(左右を反転したもの)である。したがって、減速区間430の時刻「Tc」から「Tt」までの時間は、加速区間410の移動時間Tsと同じである。ここで、全区間[0,Tt]内の任意時刻Tnにおける現在位置から目標位置までの距離を「ld」とする。前記した式(1)または式(2)で算出された速度v(t)で示される加速パターンと時間軸とで挟まれた領域の面積「S」と、「ld」とが一致するように速度パターンを計画すれば、目標位置までの速度パターンとなる。また、任意時刻Tnにおける現在位置は、その任意時刻Tnまでの面積を求めることによって算出される。この現在位置は、制御周期τ毎に計算される。なお、パラメータ記憶手段20(図2参照)には、次回位置制御手段30で算出される動作点の次回位置を一時記憶する記憶領域と、この次回位置を示すモータ指令信号がモータに出力された後にこの次回位置をあらためて前回位置として保存する保存領域とを備えている。
【0030】
図2に戻って、制御装置3の構成の説明を続ける。
<次回位置制御手段>
次回位置制御手段30は、移動経路算出手段31と、現在位置判別手段32と、次回位置算出手段33と、停止制御手段34とを備えている。
移動経路算出手段31は、現在位置と、教示プログラムにて指定された目標点と、指定速度および最大加速度とから、目標位置までの速度パターンを決定するものである。
現在位置判別手段32は、現在位置が目標位置であるか否かを判別し、現在位置が目標位置である場合に処理を終了する。また、現在位置判別手段32は、現在位置が目標位置ではない場合に、その旨を次回位置算出手段33に出力する。
【0031】
<次回位置算出手段>
次回位置算出手段33は、マニピュレータ2に取り付けられた溶接トーチ5(可動部)の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに溶接トーチ5(可動部)に対して次に指令すべき次回位置を算出するものである。ここで、動作点は、例えば、溶接トーチ5の所定地点の位置に対応した可変値により自位置を示す仮想的な点の位置である。本実施形態では、目標点は、教示プログラムまたはインチング指令で定められ、次回位置算出手段33は、移動経路算出手段31で決定された速度パターンの全区間[0,Tt]内の任意時刻Tnを現在時刻として、Tnにおける溶接トーチの先端位置(溶接トーチ先端の次回位置)を計算する。例えば、図4に示したS字カーブの速度パターンを用いた場合には、次回位置算出手段33は、前記した式(1)または式(2)で算出された速度v(t)で示される加速パターンと、時間軸(横軸)と、速度軸(縦軸)と、任意時刻Tnとで囲まれた領域の面積を求めることで、任意時刻Tnにおける溶接トーチ先端の次回位置を算出する。また、次回位置算出手段33は、計算の結果得られた動作点の次回位置に相当するモータ指令信号が出力された後に、この算出された次回位置をあらためて前回位置としてパラメータ記憶手段20に保存する。
【0032】
<停止制御手段>
停止制御手段34は、マニピュレータ2に取り付けられた溶接トーチ5(可動部)の動作中に動作限界判別手段60によって、後述する動作点の未来位置が動作限界を越えたと判別された場合に、現時点から溶接トーチ5を減速停止させる指令(以下、減速停止指令という)を生成するものである。この減速停止指令は、マニピュレータ制御手段70に出力される。本実施形態では、停止制御手段34は、動作限界判別手段60により溶接トーチ先端の未来位置が動作限界を越えたと判定された場合に、現在時刻から、後述する最大減速時間Tfと1制御周期τとの和で表される時間(Tf+τ)の間に減速して停止すればよいように設定されている。実際には溶接トーチ5は最大減速時間で停止可能なので、各軸の加速度が指定加速度を超えることなく、溶接トーチ5の動作範囲内で余裕をもって停止することができる。
【0033】
<最大減速時間算出手段>
最大減速時間算出手段40は、溶接トーチ5(可動部)の最大動作速度と、予め定められた減速度とに基づいて最大減速時間を算出するものである。本実施形態では、最大減速時間算出手段40は、マニピュレータ2が動作する前に、パラメータ記憶手段20から、指定された最大動作速度と減速度とを読み出して最大減速時間を予め算出する。最大減速時間Tfとは、最大動作速度で動作中の溶接トーチ5を停止させるために、マニピュレータのすべての軸毎にそれぞれ必要な時間のうちの最大値を示すものである。最大減速時間算出手段40は、最大減速時間Tfを、制御周期τの倍数となるように計算する。これにより、最大減速時間Tfを容易に計算することができる。
【0034】
<未来位置算出手段>
未来位置算出手段50は、溶接トーチ5(可動部)が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも最大減速時間だけ経過した時刻において次に指令すべき動作点の位置を未来位置として算出するものである。本実施形態では、未来位置算出手段50は、現時点(時刻Tn)から1制御周期(τ)と最大減速時間(Tf)との和だけ経過した時刻「Tn+Tf+τ」において次に指令すべき動作点の位置を示す未来位置(溶接トーチ先端の未来位置)を、次回位置算出手段33で用いた速度パターンにより算出する。なお、現時点から制御周期の整数倍(n倍)の時間(n×τ)と最大減速時間との和だけ経過した時刻「Tn+Tf+n×τ」において未来位置を算出することも可能である。この場合には、溶接トーチ5を動作限界に対してさらに余裕をもって停止させることができる。
【0035】
<動作限界判別手段>
動作限界判別手段60は、溶接トーチ5(可動部)の動作中に、溶接トーチ5の動作限界を示す予め定められた位置座標に基づいて、算出された動作点の未来位置が動作限界を越えたか否かを判別するものである。本実施形態では、動作限界判別手段60は、未来位置算出手段50で算出した溶接トーチ先端の未来位置が、パラメータで指定された仮想の直方体(図3参照)の動作範囲内にあるか否かを判定する。なお、1つの動作点に対して複数の動作限界がある場合には、動作限界判別手段60は、その動作点のそれぞれの動作限界に対して未来位置が動作限界を越えたか否かを判別する。
【0036】
<マニピュレータ制御手段>
マニピュレータ制御手段(可動部制御手段)70は、溶接トーチ5(可動部)の動作中に未来位置が動作限界を越えていないと判別された場合に、次回位置算出手段33で算出された次回位置と、マニピュレータモータMから出力されるモータ現在位置とに基づいて、マニピュレータモータMの制御を行い、算出された次回位置で指定された位置にマニピュレータ2を移動させるものである。本実施形態では、マニピュレータ制御手段70は、次回位置算出手段33で算出された溶接トーチ先端の次回位置から、モータで駆動される軸毎の角度を算出し、算出した角度をモータ指令位置とする。ここで、溶接トーチ先端の次回位置から軸毎の角度を算出する方法は、任意である。本実施形態では、6軸構成の垂直多関節型のマニピュレータ2を用いているので、例えば、特定のリンクの位置や方向を満たすような関節角度を求める逆運動学(Inverse Kinematics:IK)を解くことにより、溶接トーチ先端の次回位置の位置座標を軸毎の角度(次回位置)へ変換し、算出した角度をモータ指令位置とすることができる。ここで、逆運動学は、多関節リンク構造を構成する関節の回転角度から各リンクの位置や姿勢を求める順運動学(Forward Kinematics:FK)とは逆方向に計算を行うものである。また、マニピュレータ制御手段70は、停止制御手段34から減速停止指令を受けた場合には、次回位置算出手段33で算出された溶接トーチ先端の次回位置に対応したモータ指令位置を算出することを中断して、マニピュレータモータMを減速停止させる制御信号をマニピュレータモータMに出力する。
【0037】
<溶接制御手段>
溶接制御手段80は、溶接時に溶接指令信号を溶接電源Pに出力するものである。この溶接制御手段80は、動作点が動作限界を越えた場合、すなわち、停止制御手段34から減速停止指令を受けたときに、溶接トーチ5から溶接ワイヤが送り出されている状態の場合には、溶接ワイヤの送給停止指令(アークOFF指令)を溶接電源Pに出力する。
【0038】
なお、制御装置3は、一般的なコンピュータを、前記した各手段として機能させる制御プログラムにより動作させることで実現することもできる。この制御プログラムは、通信回線を介して配布することも可能であるし、CD−ROMやフラッシュメモリ等の記録媒体に書き込んで配布することも可能である。
【0039】
[制御装置の動作]
次に、制御装置3の動作について図5を参照(適宜図1ないし図4参照)して説明する。図5は、図2に示した制御装置の動作を示すフローチャートである。まず、マニピュレータ2が動作する前の準備段階として、予め制御装置3は、最大減速時間算出手段40によって、最大減速時間を算出しておく(ステップS1)。そして、制御装置3は、移動経路算出手段31によって、目標位置(目標点)までの移動経路を算出しておく(ステップS2)。
【0040】
次に、マニピュレータ2が溶接動作する段階では、制御装置3は、教示プログラム記憶手段10に記憶された教示プログラムまたは教示ペンダント4からのインチング指令に基づいて、次回位置算出手段33によって、マニピュレータ2に取り付けられた溶接トーチ5の動作点の次回位置(溶接トーチ先端の次回位置)を算出する(ステップS3:次回位置算出ステップ)。そして、制御装置3は、未来位置算出手段50によって、溶接トーチ先端の未来位置を、マニピュレータ2に取り付けられた溶接トーチ5の動作点の次回位置(溶接トーチ先端の次回位置)を算出すること(ステップS3)と同様にして算出する(ステップS4:未来位置算出ステップ)。
【0041】
そして、制御装置3は、動作限界判別手段60によって、溶接トーチ先端の未来位置が動作限界を越えたか否かを判別する(ステップS5:動作限界判別ステップ)。溶接トーチ先端の未来位置が動作限界を越えていない場合(ステップS5:No)、制御装置3は、次回位置算出手段33によって、溶接トーチ先端の次回位置をマニピュレータ制御手段70に出力し、マニピュレータ制御手段70によって、溶接トーチ先端の次回位置からモータ指令位置を算出し、マニピュレータモータMに出力する(ステップS6:可動部制御ステップ)。なお、次回位置算出手段33は、出力した溶接トーチ先端の次回位置を前回位置として保存する。
【0042】
続いて、制御装置3は、現在位置判別手段32によって、溶接トーチ先端の現在位置が目標位置であるか否かを判別する(ステップS7)。溶接トーチ先端の現在位置が目標位置ではない場合(ステップS7:No)、制御装置3は、ステップS3に戻る。一方、溶接トーチ先端の現在位置が目標位置である場合(ステップS7:Yes)、制御装置3は、処理を終了する。
【0043】
ステップS5において、溶接トーチ先端の未来位置が動作限界を越えている場合(ステップS5:Yes)、制御装置3は、停止制御手段34によって、溶接トーチ5に対する減速停止指令をマニピュレータ制御手段70および溶接制御手段80に出力する(ステップS8:停止制御ステップ)。このとき、マニピュレータ制御手段70は、マニピュレータモータMを減速停止させる制御信号を出力するので、溶接トーチ5は減速して停止する。また、溶接制御手段80は、溶接電源PにアークOFF指令を出力することにより、溶接トーチ5からの溶接ワイヤの送給が停止される。
【0044】
[溶接トーチ先端の軌跡の具体例]
図6は、溶接トーチ先端の軌跡と動作限界線との関係を模式的に示す説明図である。
図6(a)に示す溶接トーチ先端の軌跡600は、溶接トーチ先端が、図中破線上方の動作範囲の所定位置601から、動作限界線Lを一旦越えて再び動作範囲に戻る放物線である。ここで、動作限界線Lは、例えば、図3において、Y−方向の動作限界としてのY下限値を示す直線Y=−b/2を示す。ここで、動作限界線Lが壁等の物理的障壁を示す場合には衝突後の軌跡は異なるため、動作限界線Lを一旦越えた後の軌跡を仮想線で示した。このような軌跡600で溶接トーチ先端が移動しようとする場合、仮に、従来の特許文献1に記載の方法をマニピュレータ2に適用したとすると、次のようになる。すなわち、マニピュレータ2の関節にブレーキをかけた場合に関節が停止する位置が通常動作範囲の限界位置(関節角度=θLimit)を越えると演算されたときにマニピュレータモータに減速停止指令を出力し、関節角度がθLimitのときに関節が停止する。このとき、関節角度を溶接トーチ先端に置き換えてみると、溶接トーチ先端が、例えば、動作限界線Lまでの距離が「d」である位置603に達したときに減速を開始し、動作限界線Lの手前の位置602で停止することになる。
【0045】
図6(b)に示す溶接トーチ先端の軌跡610は、溶接トーチ先端が、図中破線上方の動作範囲の所定位置611から、動作限界線Lに接近して動作限界線Lを越えずに動作限界線Lから遠ざかって図中破線上方の動作範囲に戻る放物線である。このような軌跡610で溶接トーチ先端が移動しようとする場合、仮に、従来の特許文献1に記載の方法を適用したとすると、次のようになる。すなわち、マニピュレータ2の関節にブレーキをかけた場合に関節が停止する位置が通常動作範囲の限界位置(関節角度=θLimit)を越えると演算されたときにマニピュレータモータに減速停止指令を出力し、関節角度がθLimitのときに関節が停止する。このとき、関節角度を溶接トーチ先端に置き換えてみると、溶接トーチ先端が、例えば位置612に達したときに減速を開始し、動作限界線Lの手前の位置613で停止する場合がある。つまり、従来の方法では、間接角度の動きのみを考慮しており、溶接トーチ先端が動作限界線Lを越えようとしない場合でも溶接トーチの作動を停止させなければならない。
【0046】
しかしながら、本実施形態では、図6(b)に示す軌跡610において、例えば、現在位置が位置612であり、かつ、算出した未来位置が位置613である場合には、マニピュレータモータに減速停止指令は出力されることはない。したがって、本実施形態では、溶接トーチは、停止はおろか減速することなく、限界位置までの動作として通常と同様な動作を行うことができる。つまり、溶接トーチの動作範囲を従来よりも拡張することができる。なお、本実施形態では、図6(a)に示す軌跡600において、例えば、現在位置が位置603であり、かつ、算出した未来位置が位置604である場合には、減速停止指令が出力されない。また、例えば、現在位置が位置604であり、かつ、算出した未来位置が位置602である場合には、減速停止指令が出力される。
【0047】
本実施形態によれば、制御装置3は、溶接トーチ5が現時点から最大動作速度で動作していても停止可能な時間(最大減速時間)以上経過した時刻において指令すべき溶接トーチ先端の未来位置を算出し、溶接トーチ先端の未来位置が動作限界を越えた場合に現時点から溶接トーチ5を減速停止させる。これにより、動作を停止させることが必要なときに、現在位置から停止予定位置に至るまでの移動に係る計算をすることなく、従来よりも制御に必要な計算量を低減して速やかに動作を停止させることができる。また、制御装置3は、溶接トーチ先端の未来位置が動作限界を越えていなければ、溶接トーチ5に減速させずに限界位置までの動作を行わせるので、溶接トーチ5が限界位置までの動作を行う範囲を拡張することが可能となる。
【0048】
以上、本発明の好ましい実施形態について説明したが、本発明は前記した実施形態に限定されるものではない。例えば、本実施形態では、動作点をマニピュレータ2に取り付けられた溶接トーチ5の先端としたが、例えば、関節角を示す点など、計算可能な点であればその他の移動点でも構わない。また、本実施形態では、動作点の動作範囲を示す仮想的な所定空間の形状を直方体として説明したが、例えば、円筒、多角形、球形等、動作範囲の内外を判断できる形状であればその他の形状でも構わない。
【0049】
また、本実施形態では、制御装置3は、マニピュレータ2だけを制御するものとして説明したが、ロボットシステムを構成する回転動作またはスライド動作するリンク(可動部)を備えていれば、マニピュレータ2と共にワークを載置するポジショナなどの周辺装置を制御するようにしてもよい。この場合には、動作点を、ポジショナなどの周辺装置上の点、ポジショナ等に載置されたワーク上の点、そのワークから所定距離だけ離間した点としてもよい。また、本実施形態では、マニピュレータ2のリンク構造で説明したが、手先位置から関節角が計算可能であれば、リンク構造は特に限定されない。さらに、制御装置3が制御するロボットを、アーク溶接ロボット(マニピュレータ2)として説明したが、その他の産業用ロボットでもよい。
【0050】
また、本実施形態では、速度パターンを、変形正弦速度パターンで説明したが、例えば、台形パターンなど、加速度と距離から移動時間が計算可能な任意の速度パターンを用いてもよい。また、本実施形態の制御装置3は、最大減速時間算出手段40を備える構成としたが、この最大減速時間算出手段40を備えることなく、別に求めた最大減速時間を外部から制御装置3に与えるパラメータとして扱ってもよい。この場合には、マニピュレータ2が動作する前の準備段階として最大減速時間を算出する(ステップS1)前処理時間を省くことができる。
【図面の簡単な説明】
【0051】
【図1】ロボットシステムを模式的に示す構成図である。
【図2】本発明の実施形態に係るロボットシステムの制御装置の構成を模式的に示すブロック図である。
【図3】溶接トーチの先端の動作限界の一例を模式的に示す図である。
【図4】速度パターンの一例を示すグラフである。
【図5】図2に示した制御装置の動作を示すフローチャートである。
【図6】溶接トーチ先端の軌跡と動作限界線との関係を模式的に示す説明図である。
【符号の説明】
【0052】
1 ロボットシステム
2 マニピュレータ(アーク溶接ロボット)
3 制御装置(ロボットシステムの制御装置)
4 教示ペンダント
5 溶接トーチ
10 教示プログラム記憶手段
20 パラメータ記憶手段
30 次回位置制御手段
31 移動経路算出手段
32 現在位置判別手段
33 次回位置算出手段
34 停止制御手段
40 最大減速時間算出手段
50 未来位置算出手段
60 動作限界判別手段
70 マニピュレータ制御手段(可動部制御手段)
80 溶接制御手段
M マニピュレータモータ
P 溶接電源
W ワーク

【特許請求の範囲】
【請求項1】
回転動作またはスライド動作する可動部を備えたロボットシステムにおいて前記可動部の動作を制御するロボットシステムの制御装置であって、
前記可動部の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに前記可動部に対して次に指令すべき次回位置を算出する次回位置算出手段と、
前記可動部が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも前記最大減速時間だけ経過した時刻において次に指令すべき前記動作点の位置を未来位置として算出する未来位置算出手段と、
前記可動部の動作中に、前記可動部の動作限界を示す予め定められた位置座標に基づいて、前記算出された未来位置が前記動作限界を越えたか否かを判別する動作限界判別手段と、
前記可動部の動作中に前記未来位置が前記動作限界を越えたと判別された場合に、現時点から前記可動部を減速停止させる指令を生成する停止制御手段と、
前記可動部の動作中に前記未来位置が前記動作限界を越えていないと判別された場合に、前記可動部を前記算出された次回位置まで動作させる指令を生成する可動部制御手段とを備えることを特徴とするロボットシステムの制御装置。
【請求項2】
前記可動部の最大速度と、前記予め定められた減速度とに基づいて前記最大減速時間を算出する最大減速時間算出手段をさらに備えることを特徴とする請求項1に記載のロボットシステムの制御装置。
【請求項3】
前記未来位置算出手段は、
現時点から前記制御周期の整数倍の時間と前記最大減速時間との和だけ経過した時刻において次に指令すべき前記動作点の位置を示す未来位置を算出することを特徴とする請求項1または請求項2に記載のロボットシステムの制御装置。
【請求項4】
回転動作またはスライド動作する可動部を備えたロボットシステムにおいて前記可動部の動作を制御するロボットシステムの制御装置の制御方法であって、
前記制御装置は、
前記可動部の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに前記可動部に対して次に指令すべき次回位置を算出する次回位置算出ステップと、
前記可動部が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも前記最大減速時間だけ経過した時刻において次に指令すべき前記動作点の位置を未来位置として算出する未来位置算出ステップと、
前記可動部の動作中に、前記可動部の動作限界を示す予め定められた位置座標に基づいて、前記算出された未来位置が前記動作限界を越えたか否かを判別する動作限界判別ステップと、
前記動作限界判別ステップで前記未来位置が前記動作限界を越えたと判別された場合に、現時点から前記可動部を減速停止させる指令を生成する停止制御ステップと、
動作限界判別ステップで前記未来位置が前記動作限界を越えていないと判別された場合に、前記可動部を前記算出された次回位置まで動作させる指令を生成する可動部制御ステップとを実行することを特徴とするロボットシステムの制御方法。
【請求項5】
回転動作またはスライド動作する可動部を備えたロボットシステムにおいて前記可動部の動作を制御するために、コンピュータを、
前記可動部の動作点が目標点に移動する際の移動速度の経時変化を示す速度パターンと現在時刻とに基づいて所定の制御周期ごとに前記可動部に対して次に指令すべき次回位置を算出する次回位置算出手段、
前記可動部が最大動作速度で動作しているときに予め定められた減速度内で停止可能な時間を示す予め求められた最大減速時間に基づいて、現時点から少なくとも前記最大減速時間だけ経過した時刻において次に指令すべき前記動作点の位置を未来位置として算出する未来位置算出手段、
前記可動部の動作中に、前記可動部の動作限界を示す予め定められた位置座標に基づいて、前記算出された未来位置が前記動作限界を越えたか否かを判別する動作限界判別手段、
前記可動部の動作中に前記未来位置が前記動作限界を越えたと判別された場合に、現時点から前記可動部を減速停止させる指令を生成する停止制御手段、
前記可動部の動作中に前記未来位置が前記動作限界を越えていないと判別された場合に、前記可動部を前記算出された次回位置まで動作させる指令を生成する可動部制御手段、
として機能させることを特徴とするロボットシステムの制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−93352(P2009−93352A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2007−262283(P2007−262283)
【出願日】平成19年10月5日(2007.10.5)
【出願人】(000001199)株式会社神戸製鋼所 (5,860)
【Fターム(参考)】