ロボットシステム
【課題】板厚が未知の場合であってもワークの撓みを抑えた状態でスポット溶接ロボットの溶接点教示位置を自動で修正し、溶接品質を向上させる。
【解決手段】ロボット1に溶接点位置を教示するに際し、可動電極21と固定電極22とによって溶接点を挟む位置にスポット溶接ガン2を移動させる第1の処理と、モータ駆動により可動電極21を被溶接部材Wに向けて伸ばし、モータへのトルク指令に基づいて可動電極21と被溶接部材Wとの接触を検出し、接触検出後に可動電極21の動作を停止させる第2の処理と、モータ駆動により可動電極21が被溶接部材Wと接触した状態を保ちながら、ロボット1を可動電極21側へ動作させて固定電極22を被溶接部材Wに接近させ、ロボット1の関節に作用する外乱トルクによって固定電極223被溶接部材Wとの接触を検出し、接触検出後にロボット1の動作を停止させる第3の処理 とを含む。
【解決手段】ロボット1に溶接点位置を教示するに際し、可動電極21と固定電極22とによって溶接点を挟む位置にスポット溶接ガン2を移動させる第1の処理と、モータ駆動により可動電極21を被溶接部材Wに向けて伸ばし、モータへのトルク指令に基づいて可動電極21と被溶接部材Wとの接触を検出し、接触検出後に可動電極21の動作を停止させる第2の処理と、モータ駆動により可動電極21が被溶接部材Wと接触した状態を保ちながら、ロボット1を可動電極21側へ動作させて固定電極22を被溶接部材Wに接近させ、ロボット1の関節に作用する外乱トルクによって固定電極223被溶接部材Wとの接触を検出し、接触検出後にロボット1の動作を停止させる第3の処理 とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを用いて所定の作業を行うロボットシステムに関し、特にスポット溶接を行うロボットシステムに関する。
【背景技術】
【0002】
重ねられた複数のワークを対になった電極によってその重ね方向の両側から挟み、圧力を加えながら電極間に電流を流すことで接合させるスポット溶接に関し、従来の技術としてロボットの先端にスポット溶接ガンを取り付けたスポット溶接ロボットが知られている。ロボットを動作させることでスポット溶接ガンをワーク上の複数の溶接点に次々に移動させつつ、スポット溶接作業を行うことができる。
スポット溶接ガンには前述の対になった電極が対抗するように設けられており、一方の電極が他方の電極方向に伸縮できるよう構成されたものが広く用いられている。以降、伸縮可能な電極を可動電極、他方の電極を固定電極と呼称する。
こうしたスポット溶接ガンを備えたロボットによってスポット溶接を行う際には、予め一連の動作を教示(ティーチング)しておき、実行時に教示した動作を再生(プレイバック)させる。スポット溶接作業に限らず、ロボットでは作業プログラムを教示(ティーチング)するモードと、作業プログラムを実行する再生(プレイバック)するモードを備えているのが一般的である。
教示の際には、教示者がロボットを操作して実際にワーク上の溶接位置に固定電極や可動電極を接触させ、その際のロボットや可動電極の位置を記憶する。
【0003】
しかし、ワークの形状が複雑になると教示作業の際に教示者から溶接点が確認しづらくなり、ロボットの教示作業に多くの時間と労力が必要になる。またロボットの操作ミスによって電極とワークを衝突させてしまい、ワークやロボットを破損してしまうという問題があった。
【0004】
上記問題を解決するため、特許文献1に開示されている方法では、可動側電極チップを移動させながら、可動側電極チップを駆動するサーボモータの電流値を監視し、電流値が所定の値を超えたときを可動側電極チップの先端がワークに接触したとみなして可動側電極チップの移動を停止し、可動側電極チップと対向側電極チップとの間の対向チップ間隔を計測し、対向チップ間隔からワークの設定板厚を減算して対向側電極チップの移動量として、対向側電極チップを可動側電極チップに接近する方向で待機位置からスポット溶接打点位置まで移動させて、対向側電極チップを本位置決めするという手順をとっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4233584号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の方法ではワークの厚さ(板厚)を予め設定する必要があり、すべての溶接点のワークの厚みを前もって正確に計測する必要がある。
また特許文献1では可動電極の駆動モータの外乱トルクを検出することで可動電極とワークとの接触を検出し、教示位置を登録している。可動電極でワークを押し込んでワークとの接触を検出しているため、ワークには撓みが発生する。この撓んだ状態で溶接位置を教示されるため溶接品質が悪くなるという問題がある。
そこで本発明は、板厚が未知の場合であってもワークの撓みを抑えた状態でスポット溶接ロボットの溶接点教示位置を自動で修正し、溶接品質を向上させることを目的とする。
【課題を解決するための手段】
【0007】
上記問題を解決するため、本発明は、次のように構成したのである。
【0008】
請求項1に記載の発明は、固定電極と、前記固定電極と対向して配置されモータ駆動によって前記固定電極方向に伸縮可能な可動電極を有するスポット溶接ガンを備えた多関節ロボットが前記スポット溶接ガンを被溶接部材の所定の溶接点に移動させ、前記固定電極と前記可動電極とによって前記被溶接部材をその厚さ方向に挟んでスポット溶接を行うロボットシステムであって、前記ロボットに溶接点位置を教示するに際し、前記可動電極と前記固定電極とによって前記溶接点を挟む位置に前記スポット溶接ガンを移動させる第1の処理と、前記モータ駆動により前記可動電極を前記被溶接部材に向けて伸ばし、前記モータへのトルク指令に基づいて前記可動電極と前記被溶接部材との接触を検出し、接触検出後に前記可動電極の動作を停止させる第2の処理と、前記モータ駆動により前記可動電極が前記被溶接部材と接触した状態を保ちながら、前記ロボットを前記可動電極側へ動作させて前記固定電極を前記被溶接部材に接近させ、前記ロボットの関節に作用する外乱トルクによって前記固定電極と前記被溶接部材との接触を検出し、接触検出後に前記ロボットの動作を停止させる第3の処理とを含む処理を行うことを特徴とする。
【0009】
請求項2に記載の発明は、前記第3の処理完了後の前記可動電極を所定の補正量だけ引き戻した位置と、前記固定電極を前記補正量だけ前記可動電極側へ動作させたロボットの各関節位置とを前記溶接点に対する教示位置とすることを特徴とする。
【0010】
請求項3に記載の発明は、前記ロボットシステムは可搬型教示装置を備え、前記第3の処理完了後に前記可動電極の位置を教示する際に、前記所定の補正量を含めた前記可動電極の以前の教示位置からの修正量を前記可搬型教示装置の表示画面に表示することを特徴とする。
【0011】
請求項4に記載の発明は、前記第2の処理において、前記モータへのトルク指令に対しハイパスフィルタ処理を行った後、ノッチフィルタ処理を行い、フィルタリングしたトルク指令を予め定められた第1のしきい値と比較することで前記可動電極と前記被溶接部材との接触を検出することを特徴とする。
【0012】
請求項5に記載の発明は、前記ノッチフィルタのノッチ周波数を前記モータの極数およびポール数に基づき決定することを特徴とする。
【0013】
請求項6に記載の発明は、前記第2の処理において、前記可動電極の伸長量とフィルタリング処理後の前記モータへのトルク指令とを対応づけて所定周期ごとに記録しておき、前記第2の処理完了後に、前記記録に基づいて算定した量だけ前記可動電極を引き戻すことを特徴とする。
【0014】
請求項7に記載の発明は、前記第3の処理において、前記ロボットの各軸モータへのトルク指令と各軸の速度検出値から外乱オブザーバにより推定外乱トルクを求め、推定外乱トルクに対しハイパスフィルタ処理を行った後、座標変換を行って前記固定電極に作用する外力を推定し、前記推定された外力値を予め定められた第2のしきい値と比較することで前記固定電極と被溶接部材との接触を検出することを特徴とする。
【0015】
請求項8に記載の発明は、前記第2の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出するとともに、前記第3の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出することを特徴とする。
【発明の効果】
【0016】
本願発明によると、スポット溶接ガンの可動電極およびロボットの各軸が自動的に動作して可動電極と固定電極により実際にワークを加圧した状態の位置を記録するため、板厚を前もって設定することなく教示が行え、生産ラインの変更などにより板厚が変更となった場合にも教示点の修正を容易に行うことができる。
また従来に比べ、可動電極、固定電極との接触によるワークの撓みを抑えた状態を教示できるため、適切にスポット溶接を行えるようになり、溶接品質向上に寄与する。
さらに教示に際して可動電極の伸長量の確認を行うことによりワークの異常を確実に検知することができる。
【図面の簡単な説明】
【0017】
【図1】本発明のロボットシステムの概略図
【図2】ロボットの動作軸を示す概略図
【図3】ロボットの座標系を示す概略図
【図4】ロボットコントローラ内の構成を示す概略図
【図5】スポット溶接ガンの加圧動作の手順を示す図
【図6】本発明のロボットシステムにおけるスポット溶接点位置の教示のフローチャート
【図7】第1加圧動作時の接触検出の手順を示す図
【図8】第1加圧動作時の接触検出後のガン軸引き戻しの手順を示す図
【図9】第2加圧動作時の接触検出の手順を示す図
【図10】ロボットの基本軸の外乱トルクに基づく外力推定の様子を示す図
【図11】ロボットの手首軸の外乱トルクに基づく外力推定の様子を示す図
【図12】Tzの定義を説明する図で、(a)は上面図、(b)は側面図
【図13】教示位置修正時の教示ペンダントの表示画面の例
【図14】動作プログラム再生時のフローチャート
【図15】ワーク上に異物がある状態
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について図を参照して説明する。
【0019】
図1は、本実施例のロボットシステムの構成を模式的に示した図である。
図1において、1は複数の関節軸を備えた垂直多関節型ロボットであり、先端部にはスポット溶接ガン2が取り付けられている。
スポット溶接ガン2は互いに対向して配置された可動電極21と固定電極22とを備えており、図の例では2つの電極が上下に配置され上側が可動電極21、下側が固定電極22となっている。スポット溶接を行う際には可動電極と固定電極との間に被溶接部材(ワーク)Wを配置させた状態で可動電極を固定電極の方向へと延ばし、可動電極と固定電極とでワークWを挟み、溶接電源3から供給される電力によって電極間に所定時間電流を流す。
溶接が完了すると、可動電極21を固定電極22から離れる方向へ動かしてワークWを解放し、ロボットを動作させてスポット溶接ガンを次の溶接点へと移動させる。
こうした一連の動作は予め動作プログラムとして教示しておき、ロボットコントローラ4内に記憶されている。実作業時には作業者がロボットコントローラ4から所定の動作プログラムを呼び出し、繰り返し実行させる。
【0020】
ロボット1とケーブルを介して接続されたロボットコントローラ4は、ロボットの各関節軸を駆動するアクチュエータ、可動電極を駆動するアクチュエータの位置や速度を制御するほか、溶接電源3へ指令を出したり溶接電源3がスポット溶接ガン2に供給する電力をモニタしたりする。本実施例では、アクチュエータとしてサーボモータを用いている。
5はロボットコントローラ4に接続された教示ペンダントであり、各種操作ボタン51と表示画面52を備えている。ロボット1に動作プログラムを教示する際には操作ボタン51を操作することによってロボットの各関節軸を動作させ、スポット溶接ガンに所望の位置、姿勢を取らせてロボットコントローラ4に記憶させる。さらに教示した動作プログラムの呼び出しや実行開始の指示も教示ペンダントを操作して行うことができる。
【0021】
図2はロボット1の関節軸の構成およびスポット溶接ガン2の可動軸の構成を説明するための図である。本実施例ではロボット1は6つの関節軸を備えており、便宜上その基台側からS軸、L軸、U軸、R軸、B軸、T軸と呼称する。各軸は図2に示す矢印方向に回転駆動する。S軸、L軸、U軸をまとめて基本軸、R軸、B軸、T軸をまとめて手首軸と呼ぶこともある。
またスポット溶接ガン2の可動電極21の駆動軸をガン軸と呼称する。前述のようにガン軸は可動電極21を固定電極22の方向へ伸縮させる。ロボット1の各関節軸を動作させることにより、先端のスポット溶接ガン2の位置や姿勢を様々に変化させることができる。すなわちワーク上の様々な位置に対し、様々な姿勢でスポット溶接ガン2を配置することが可能である。
本実施例では6つの関節軸を備えたロボットを例に説明するが、これは一例に過ぎない。ロボット1は7つ以上の関節軸を備えていても良いし、スポット溶接ガンの姿勢の自由度が要求されない用途であれば、関節軸は5つ以下であっても良い。
【0022】
図3にロボット1やスポット溶接ガン2について設定された座標系を示す。ロボット座標系とはロボットの基台部を原点として、ロボット前方をX軸、左方をY軸、上方をZ軸とする直交座標系である。また関節座標系とはロボット1の各関節について設定された座標系である。図3ではS軸についてのみ関節座標系を描いている。
フランジ座標系は、ロボット先端部のスポット溶接ガン2の取り付け面に設けられた直交座標系である。取り付け面の法線方向をZ軸とする。ロボットの各関節軸を駆動させることで、ロボット座標系に基づくフランジ座標系の位置や姿勢は様々に変化することになる。
ツール座標系は、ロボット先端部に取り付けられたツールに設けられた直交座標系である。ツール座標系の原点や向きはツールの種類によって様々に定義することができるが、本実施例のスポット溶接ガンでは固定電極22の先端部を原点として、ガンの前方をX軸、可動電極方向をZ軸としている。ツール座標系についても、ロボットの各関節軸を駆動させることで、ロボット座標系に基づく位置や姿勢が様々に変化する。なお図3では説明のためロボット先端部とスポット溶接ガンとを離して描いている。
また、robot_flangeはロボット座標系に対する手先フランジ座標系の姿勢を表す回転行列で、flange_toolはフランジ座標系に対するツール座標系の姿勢を表す回転行列である。
【0023】
図4は、ロボットコントローラ4内の構成のうち、本実施例に係る部分を模式的に示した図である。各部がシステムバス41によって接続されており、システムバスを介して必要な情報のやりとりを行う。
ロボット軸制御部42、ガン軸制御部43はそれぞれサーボアンプ420、430を介してロボット1の各関節軸のサーボモータ、スポット溶接ガン2のガン軸のサーボモータの位置や速度の制御を行う。ロボット1の各関節軸のサーボモータやスポット溶接ガン2のガン軸のサーボモータには位置(回転角度)を検出するためのエンコーダ(図示せず)が設けられており、エンコーダの検出値はサーボアンプを介して各制御部へとフィードバックされる。ロボット軸制御部42、ガン軸制御部43は各エンコーダの出力から各軸の位置、速度を得ることができる。
I/F部44、45はそれぞれ溶接電源3、教示ペンダント5とのインターフェイス部であり、溶接電源3や教示ペンダント5の状態を取得したり、指令を出力したりする。
作業プログラム・パラメータ記憶部46は不揮発性メモリからなり、教示した作業プログラムや、ロボット1やスポット溶接ガン2の制御に必要な各種パラメータを格納する。パラメータの例としては、ロボット1の順運動学・逆運動学の演算に必要なリンクパラメータや、各関節軸のエンコーダの分解能、動作限界位置などがある。演算処理部47はロボットやスポット溶接ガンの各軸を位置速度制御によって動作させる際、順運動学・逆運動学の演算を行って所定周期ごとにロボット軸制御部やガン軸制御部に出力する指令を算出する等の演算処理を行なう。中央処理部48は、各部を統括する機能を有する。
【0024】
続いて本実施例のロボットシステムにおいて、溶接点の教示位置を自動的に決定する際の手順の概略について説明する。
予め溶接点位置についての大まかなガン軸位置(可動電極の伸長量)、ロボット各軸位置(固定電極位置)の教示は行っており、これから説明する手順にて溶接点の教示位置をより精度よく修正する場合を想定して説明する。大まかな教示とは、ワークWに対するスポット溶接ガンの位置決めのうち、ツール座標系のX軸、Y軸方向については完了しており、Z軸方向については伸長前の可動電極先端とワークWとの距離が可動電極の最大伸長量以内となっている状態を指す。その状態からさらに可動電極と固定電極とをワークWに適当に接触させた状態まで教示しておいてもよい。
【0025】
本実施例のロボットシステムでは、作業プログラム中の溶接点の教示を行う場合、教示者がロボットを動かし図5(a)のようにスポット溶接ガン2の電極間にワークWが存在するよう配置した後に指示を出せば、自動的にロボット1の各関節軸及びガン軸が動作してスポット溶接ガン2の位置及び可動電極21の位置を調整し、ワークWの板厚が未知であっても適切な溶接点位置の教示を行うことができる。
この際のスポット溶接ガン2の動作を図5(a)から図5(e)に示し、処理の流れを図6のフローチャートで示す。図5(a)から図5(e)については、ロボット1を省略してスポット溶接ガンのみを描いている。
まず図5(a)は、教示者が教示ペンダント5を操作してロボット1を動作させ、可動電極21と固定電極22とによってワークW上の溶接点を挟む位置にスポット溶接ガン2を誘導した状態を示している。
【0026】
図5(a)の状態から教示者が教示ペンダント5を操作してスポット溶接ガン位置及び可動電極位置を自動的に調整するよう指示を出す。
するとガン軸が速度制御によって動作して可動電極21が所定速度で固定電極22側に伸びる(図6のS1)。ロボットコントローラ4はガン軸サーボモータへのトルク指令を基に可動電極21とワークWとの接触を検出するようになっており(図6のS2)、図5(b)のようにワークWの上面に可動電極21が当接した状態となりトルク指令値が予め定められたしきい値Th1を超えると、両者が接触したと判断し(図6のS3の「Yes」の場合)、可動電極21の動作を停止させる(図6のS4)。その直後、図5(c)のように可動電極21をわずかに戻す(図6のS5)。この一連の動作を第1加圧動作とする。
【0027】
第1加圧動作後にガン軸の位置について確認を行い(図6のS6)、ワークW上に異物が存在したり、ワークWが可動電極21の伸縮方向に大きく位置ずれしたりしていないかチェックを行う。ガン軸位置確認の処理については後述する。ここではガン軸位置について問題がなかったとして次の処理に進んだものとする。
【0028】
続いて、ロボット1の各軸を動作させて固定電極22を可動電極21の方向へと移動させて(図6のS7−1)、ワークWの下面との接触検出を行なう(図6のS7−2)。スポット溶接ガン全体が移動することになるので、そのままだとワークWの上面に当接した可動電極21がワークWから離れてしまう。そこでガン軸を位置制御することにより図5(d)のように可動電極を固定電極側にさらに伸ばす動作を同時に行う(図6のS7−4)。この場合の位置制御では、ロボット座標系に基づく可動電極21の位置を第1加圧動作完了時と同様に保つようにする。
図5(e)のように、可動電極21及び固定電極22がワークWと接触したことを検出すると(図6のS7−3、S7−6の「Yes」の場合)スポット溶接ガン2の上昇動作及び可動電極21の下降動作を停止する(図6のS8)。この一連の動作を第2加圧動作とする。
【0029】
図6のS7−6での接触検出は第1加圧動作の場合(図6のS3)と同様にして行なう。図6のS3、S7−3での接触検出の手法については後ほど詳しく述べる。
また第2加圧動作後にもガン軸の位置について確認を行ない(図6のS9)、ワークW上に異物が存在したり、ワークWが可動電極21の伸縮方向に位置ずれしたりしていないかチェックを行う。ガン軸位置確認の際の処理についても後述する。ここではガン軸位置について問題がなかったとして次の処理に進んだものとする。
【0030】
その後、停止した位置でのロボットの各軸の位置と、ガン軸の位置とを溶接点の教示位置として、作業プログラム・パラメータ記憶部46に記録する(図6のS10)。
【0031】
以上が溶接点の教示位置を自動的に決定する大まかな手順である。前述のように、本実施例では第1加圧動作にて、まず可動電極21をワークWに接触させ、続く第2加圧動作にて固定電極22をワークWに接触させる。
第2加圧動作の際、可動電極は位置制御によりワークWとの接触位置を保つので、電極との接触によるワークWの撓み量は、第1加圧動作で可動電極21がワークWに接触した力の大きさ(前出のしきい値Th1)で決まる。
ワークWが大きく撓むと、スポット溶接ガンによる加圧力がワークWに適切に作用しなかったりワークWの変形によって所定の溶接点からずれた位置で溶接を行ったりして溶接品質低下の原因となるため、ワークWの撓み量を小さく抑える必要がある。ワークWの撓み量を小さくするには、図6のS3での可動電極の接触検出の処理を簡単にし、できるだけ早い段階、すなわちワークWに作用する力がより小さい時点で接触を検出してガン軸の動作を止める必要がある。
また第2加圧動作での接触検出(図6のS7−3)についても、固定電極によるワークWへの加圧力が不適切だと溶接品質が低下するため、第2加圧動作時にワークWからスポット溶接ガンに適切な外力が作用した時点で接触と判断する必要がある。そこで以後では、第1加圧動作、第2加圧動作それぞれでの接触検出の手法について詳しく説明する。
【0032】
本実施例における第1加圧動作での接触検出(図6のS3)の手法について説明する。図7は第1加圧動作時の接触検出の手順を示す概略図である。図7のうち、点線で囲んだ部分はガン軸の位置速度制御ループを示す。
第1加圧動作では、ガン軸サーボモータへのトルク指令を基に可動電極21とワークWとの接触を検出していることは既に述べた。
しかしトルク指令はガン軸に作用する重力トルクや摩擦トルクを含んだものとなっており、トルク指令そのままの値を所定のしきい値と比較して接触を検出しようとすると、検出しきい値を大きな値に設定しなければならず、実際に接触が発生してから接触を検出するまでに遅れが生じ、ガン軸を停止させるまでに時間がかかりワークWの撓みが大きくなってしまう。
検出しきい値を小さくして接触からガン軸停止までの時間を短くするには、重力トルクと摩擦トルクを実時間で補償しなければならない。本実施例では、まず第1加圧動作時のガン軸へのトルク指令波形をハイパスフィルタ71によって処理し低周波成分を除去する。この処理により、トルク指令に含まれる重力・摩擦成分を取り除く。
【0033】
ハイパスフィルタ71から出力されたトルク指令に対し、さらにノッチフィルタ72による処理を行う。ノッチフィルタ72によって、トルク指令からガン軸サーボモータのトルクリップル成分を除去する。ノッチ周波数はガン軸サーボモータのポール数とスロット数およびモータの動作速度(1秒あたりの回転数)によって決定する。例えばガン軸に14ポール・12スロットのサーボモータを用い、1000[rpm]で動作させた場合、ポール数に基づく機械的なリップル周波数は(14/2)×(1000/60)=116.67[Hz]となる。
またスロット数に基づく電流によるリップル周波数は12×(1000/60)=200[Hz]となる。これらを合成したリップル周波数は、(14/2)×12×(1000/60)=1400[Hz]となる。
【0034】
さらに、トルク指令にはこれらの周波数を2倍、3倍、・・・と整数倍した高周波成分も含まれている。こうしたトルクリップル成分をノッチフィルタ72で取り除いたのち、しきい値Th1と比較する(図7の73)。フィルタリングされたトルク指令がしきい値Th1を超えたら可動電極21がワークWと接触したと判断して(図7の74、図6のS3)、ガン軸の動作を停止させる(図6のS4)。なおノッチ周波数を決定するためのガン軸サーボモータのポール数やスロット数はロボットコントローラ4内の作業プログラム・パラメータ記憶部46に予めパラメータとして記録した値を用いることができる。
ハイパスフィルタ71でトルク指令に含まれる重力・摩擦成分を取り除き、さらにノッチフィルタ72でトルクリップルを取り除いているため、接触検出のためのしきい値Th1として小さい値を設定でき、接触検出の遅れを小さくすることができる。
【0035】
ただしこのような処理を行なっても、制御遅れなどの影響によって可動電極21とワークWの接触を検知する前の時点で可動電極21はワークWと接触しており、ガン軸を停止させた時点でワークWは可動電極21に押されて撓んでいる。
そこでガン軸の動作停止後、ガン軸を逆転させ可動電極21をわずかに引き戻す。ガン軸引き戻し量の決定方法について図7、図8を用いて説明する。第1加圧動作の際にフィルタリング後のトルク指令とガン軸位置とをロギングしておく(図7の75)。トルク指令がしきい値Th1を超えガン軸の動作を停止させた後、ロギングにより蓄積したデータから、トルク指令がしきい値Th1の所定の割合に達した時点を求める。図8の例では、しきい値Th1の25%としている)
トルク指令がしきい値Th1の25%時点でのガン軸位置を取得し、その位置まで可動電極21を引き戻す。このように接触検出して停止した位置から可動電極21を若干戻すことによってワークWの撓みを小さくして適切なガン位置を教示することができる。
なお、しきい値Th1や、可動電極21を若干戻す際に使用するしきい値Th1の所定の割合といった値も予めパラメータとして作業プログラム・パラメータ記憶部46に設定しておくことができる。
以上が第1加圧動作での接触検出の手法である。
【0036】
続いて第2加圧動作での接触検出の手法について説明する。第2加圧動作では、固定電極22とワークWの接触を検出する。固定電極22には可動電極21のような駆動部分はなく、ガン軸のサーボモータのトルク指令から接触を検出することはできない。そのため固定電極(スポット溶接ガン本体)を支持するロボット1の状態量を利用してワークWとの接触を検出する。その際にロボット1に作用する外乱トルクを推定する外乱オブザーバを利用する。
図9は第2加圧動作時の接触検出の手順を示す概略図である。図9のうち、点線で囲んだ部分はロボット各軸の位置速度制御ループを示す。
まずロボット1の各関節軸へのトルク指令および位置フィードバック値を基に、外乱オブザーバ91にて負荷側(スポット溶接ガン)に作用する外乱トルクを推定する。推定された外乱トルクは重力や摩擦に起因するトルクも含んでいるため、外乱オブザーバ91内でダイナミクス演算により重力に起因するトルクを補償しておく。
続いて、外乱オブザーバ91の出力をハイパスフィルタ92で処理し低周波成分を除去する。これにより摩擦に起因するトルクを除去する。
こうして重力、摩擦について補償された外乱トルクはロボット1の各軸の関節座標系に基づくものであるので、これを座標変換(図9の93)によってガン開閉方向(ツール座標系のZ軸)の外力推定値に変換する。
【0037】
ここで、ツール座標系のZ軸方向に作用する外力推定方法の一例として、ロボットの基本軸(S軸、L軸、U軸)の外乱トルクに基づく外力推定値と、手首軸(R軸、B軸、T軸)の3軸それぞれの外乱トルクに基づく外力推定値とを求め、それらの平均値を利用する方法を説明する。
【0038】
まずロボット基本軸(S軸、L軸、U軸)の外乱トルクに基づく外力推定について図10を用いて説明する。基本軸の関節座標系の外乱トルクをツール座標系のZ軸方向の外力推定値へ変換する演算は、大きく次の2段階に分けることができる。
(1)ヤコビ転置逆行列(JT)-1を用いて、ロボット1の基本軸(S軸、L軸、U軸)の各関節座標系外乱トルクτs、τl、τuをロボット座標系の外力推定値に変換する。
(2)回転行列robot_flange及びツール回転行列flange_toolにより、ロボット座標系の外力をツール座標系のZ軸方向の外力に変換する。
【0039】
まず上記(1)についての手順を述べる。
(1)関節座標系外乱トルク→ロボット座標系外力推定値の変換
前出のヤコビ行列Jとは、ロボットの関節座標系と直交座標系間の微小変位関係を表す行列である。ヤコビ行列Jの転置行列JTを用いることで、直交座標系の力Fを関節座標系のトルクτに変換できる。また、逆行列(JT)-1を求めることで、関節座標系のトルクτを直交座標系の力Fに変換することができる。本実施例のような6軸ロボットの場合のヤコビ行列Jの演算方法を(式1)に示す。
【0040】
・・・(式1)
【0041】
ここで、0si:第i関節座標の回転方向ベクトル(ロボットベース座標基準)
0Pi:第i関節位置ベクトル(ロボットベース座標基準)
×:ベクトル積
E:ツール先端(もしくは外力の作用点)の位置ベクトル
【0042】
求められたヤコビ行列Jは3×3の行列となり、行列要素を便宜上(式2)のように示す。
【0043】
【0044】
またヤコビ行列Jの転置行列JTは、(式3)のように表現できる。
【0045】
【0046】
この転置行列JTの逆行列を求めることで、ヤコビ転置逆行列(JT)-1が得られる。ヤコビ行列JTの行列式det(JT)は、(式4)によって求まる。
【0047】
・・・(式4)
【0048】
(式4)のヤコビ行列JTの行列式det(JT)を用いて、ヤコビ転置逆行列(JT)-1は(式5)のように求めることができる。
【0049】
【0050】
従って、ロボット基本軸(S軸、L軸、U軸)の関節座標系の外乱トルクを
τobs=[τs、τl、τu]T ・・・(式6)
ただし、τobs:関節座標系での外乱トルクベクトル
τs:S軸の関節座標系の外乱トルク
τl:L軸の関節座標系の外乱トルク
τu:U軸の関節座標系の外乱トルク
と置き、ロボット座標系での外力推定値を
Fobs_robot=[Fx、Fy、Fz、]T ・・・(式7)
ただし、Fobs_robot:力ベクトル
F:ロボット座標系での並進力
と置くと、ロボット座標系の外力推定値は(式8)で求めることができる。
Fobs_robot=(JT)-1・τobs ・・・(式8)
ロボットの姿勢の変化に対して(式5)(式8)を演算することで、ロボットの全動作領域でロボット座標系の外力推定値Fobs_robotを求めることができる。
【0051】
続いて上記(2)の手順について述べる。
(2)ロボット座標系→フランジ座標系→ツール座標系の変換
ロボット座標系に対する手先フランジ座標系の姿勢を表す回転行列robot_flangeは、次の(式9)で表すことができる。
【0052】
【0053】
ここで、nRn+1は、n座標系から(n+1)座標系への3×3の回転行列である。
【0054】
また、フランジ座標系に対するツール座標系の姿勢を表す回転行列flange_toolは、作業者が設定するツール姿勢(Rx、Ry、Rz)[deg]から(式10)によって得ることができる。ツール姿勢は、作業者が教示ペンダントを操作してツール情報として設定することができる。ただし、固定電極から見て可動電極の方向が+Z方向である。
【0055】
・・・(式10)
【0056】
この2つの回転行列robot_flangeとflange_toolのそれぞれの転置行列を用いて、ロボット座標系の外力推定値Fobs_robotからツール座標系での外力推定値Fobs_tool[SLU]を(式11)のようにして求めることができる。
Fobs_tool[SLU]=(flange_tool)T・(robot_flange) T・Fobs_robot ・・・(式11)
このような手順で、ロボット基本軸(S軸、L軸、U軸)の外乱トルクに基づく外力推定を行う。
【0057】
続いて手首軸の外力推定について説明する。
手首軸3軸(R軸、B軸、T軸)については、スポット溶接ガン2に作用した力が手首の関節各軸にどのように作用するか幾何学的に求めることができるため、逆に関節各軸(R軸、B軸、T軸)の外乱トルクからスポット溶接ガン2に作用した外力推定値Fobs_toolを求めている。
図2や図3に示すように、スポット溶接ガン2をロボット先端部に取り付けるに際してツール座標系のY軸方向にオフセットがない場合、スポット溶接ガン2に外力が作用すると、R軸とB軸に外乱としてトルクが作用する。接触検出では、外力のうちガン開閉方向に作用する成分のみを対象としており、ガン開閉方向に対して垂直な成分は無視するため、T軸にはトルクが作用しない。
図11を用いてB軸の演算を例に説明する。以下の(式12)に示すように、ガンの開閉方向に作用する外力Fobs_tool[B]を、B軸と直交する平面に射影した力と、B軸の外乱トルクτobs [B]をスポット溶接ガン2の制御点(固定電極22の先端)からB軸回転中心までの距離Tzで除算した力とは同じ大きさである。
ここでTzの定義を図12に示す。図12(a)は上面図、図12(b)は側面図である。スポット溶接ガン2の制御点(固定電極22の先端)を含み、B軸の回転軸と平行な平面と、B軸の回転軸との距離がTzである。Tzの大きさはB軸やT軸が回転しても変化しない。
Fobs_tool[B]・cosθt=τobs [B]/Tz ・・・(式12)
ここで、θtはT軸の回転角度である。
【0058】
このことから、B軸に作用するトルクからスポット溶接ガン2の開閉方向に作用する外力Fobs_tool[B]は(式13)のように求めることができる。
【0059】
【0060】
R軸についても同様にして、ガンの開閉方向に作用する外力Fobs_tool[R]を(式14)のように求めることができる。
【0061】
【0062】
ここで、τobs [R]はR軸の外乱トルク、θbはB軸の回転角度、θtはT軸の回転角度である。
【0063】
このようにした求めたFobs_tool[SLU]、Fobs_tool[B]、Fobs_tool[R]を平均(図9の94)して、予め定められた外力のしきい値Th2と比較((図9の95)し、外力推定値がしきい値Th2を超えていれば固定電極がワークWと接触したと判断して(図6のS7−3)、ロボットの動作を停止させる。
【0064】
本実施例では、基本軸3軸と手首軸3軸とに分け、それぞれ行った外力推定処理の結果の平均をしきい値と比較したが、先に述べたようにこれは一例に過ぎない。別の方法として、ロボットの基本軸(S軸、L軸、U軸)、手首軸(R軸、B軸、T軸)の各外乱トルクに基づく外力推定値の絶対値を積算し、その積算値としきい値とを比較し、固定電極22とワークWとの接触を検出してもよい。
【0065】
以上が第2加圧動作での接触検出の手法である。
ロボット1の動作により固定電極22が可動電極21側に移動し接触検出を行っている間、可動電極21は図6のS7−4からS7−6のように、位置制御により固定電極22側に動作しながら、第1加圧動作時と同様にトルク指令をフィルタリングした結果としきい値Th1を比較して、接触を検出すると停止させる。ただしこの場合には接触後の可動電極21の引き戻しは行わない。
こうした手順により、ワークWの板厚が未知であっても適切な溶接点位置の教示を行うことができ、さらに可動電極、固定電極によるワークWの撓みを抑制した状態を教示することができる。
【0066】
以上説明した第1加圧動作、第2加圧動作が完了するとワークWがスポット溶接ガンの可動電極21、固定電極22によって適切に挟持された状態となる。
ロボットが教示モードの場合は、 図6のS9までの一連の処理終了後に教示ペンダントの画面52上に図13のような画面を表示して教示者に現在位置の教示を促す。
図13において検出量とは、ラフ教示でのガン軸位置と、第1加圧動作、第2加圧動作によって決定した現在のガン軸位置との差分である。ツール座標のZ軸方向を正としており、図13の検出量−1.5mmとは可動電極21がラフ教示の場合に比べて1.5mm下方に伸びた状態でワークWと接触したことを示している。
また補正量とは、可動電極によるワークWの撓みを小さくするために、可動電極21を引き戻す量を示している。第1加圧動作時にも可動電極をわずかに引き戻して撓みを抑える(図6のS5)ことを説明したが、さらにワークWの撓みを小さくするために、教示位置としてガン軸位置を記憶する際には、実際の位置から補正量分だけ可動電極をさらに上方へ引き戻した位置を記憶するようにしている。なおロボットの各軸についても固定電極を実際の位置から補正量分だけ可動電極側へ移動させた場合の位置を記憶する。検出量と補正量との和が、ラフな教示位置からの修正量となる。
【0067】
教示者が「はい」を選択すると、補正量を考慮したロボットの各軸およびガン軸の位置が、作業プログラムに付随する溶接点の教示位置情報としてロボットコントローラ4の作業プログラム・パラメータ記憶部46に記憶される。
【0068】
教示者は、教示ペンダント5を操作してロボット1を次の溶接点へと移動させ同様に溶接点の教示位置を修正していけばよい。
教示ペンダントの表示画面に教示位置の修正量を表示するため、教示者は簡単に各溶接点での修正量を把握することができ、ガン軸の教示位置に異常があった場合にも即座に察知して対応することが可能となる。
【0069】
続いて、第1加圧動作後や第2加圧動作後のガン軸位置確認の処理について図14を用いて説明する。
前述のように、本実施例ではロボットが図5(a)のようにワークW上の溶接点を可動電極21と固定電極22とで挟む位置に移動した後、自動的に第1加圧動作を行う。図6と同様の処理だが、図14では1つにまとめてS11として示す。可動電極21とワークWとの接触を検出するとガン軸を停止した後若干の引き戻しを行う。
この時点でのガン軸の位置(可動電極21の伸びた長さ)を取得し(図14のS12)、 ラフ教示時に記録したガン軸位置と現在のガン軸位置とを比較する(図14のS13)。両者の差が所定のしきい値Th3より大きい場合(図14のS14で「No」の場合)には、図15(a)のようにワークW上に異物が存在しているか、ワークWの位置が可動電極21の伸縮方向にずれているとしてアラームを発生させ、ロボットの動作を停止させる(図14のS15)。図15(a)は、ワークW上に異物W´が存在するために可動電極21が殆ど伸びていない状態で接触検出した様子を示している。
両者の差がしきい値以下であれば、許容できる誤差の範囲として第2加圧動作を続行する。図6と同様の処理だが、図14ではS16として示す。
【0070】
第2加圧動作にて接触検出を行い可動電極21と固定電極22を停止した際にも、ガン軸の位置(可動電極21の伸びた長さ)を取得し(図14のS17)、ラフ教示時に記録したガン軸位置と現在のガン軸位置とを比較する(図14のS18)。両者の差が所定のしきい値Th4より大きい場合(図14のS19で「No」の場合)には、図15(b)のようにワークW上に異物が存在しているか、ワークWの位置が可動電極21の伸縮方向にずれているとしてアラームを発生させ、ロボットの動作を停止させる(図14のS20)。図15(b)は、ワークW上に異物W´が存在しているが、ワークW自体の位置もずれていたために第1加圧動作時には可動電極21の位置が適正と判断されたもので、第2加圧動作後に可動電極21が十分に伸びていない状態で接触検出した様子を示している。
こうしたしきい値Th3やTh4も作業プログラム・パラメータ記憶部46に予め記録しておくことができる。
両者の差がしきい値以下であれば、許容できる誤差の範囲として現時点でのロボットの各軸の位置とガン軸位置とを補正された教示位置として、記録されていた教示位置の代わりに作業プログラム・パラメータ記憶部46に記録する(図14のS21、図6のS10)。
第1加圧動作後、第2加圧動作後にそれぞれガン軸位置確認を行うため、ワークWに異常があった場合にも即座に察知して対応することができる。
【符号の説明】
【0071】
1 ロボット
2 スポット溶接ガン
21 可動電極
22 固定電極
3 溶接電源
4 ロボットコントローラ
41 システムバス
42 ロボット軸制御部
43 ガン軸制御部
44、45 I/F部
46 作業プログラム・パラメータ記憶部
47 演算処理部
48 中央処理部
420 ロボット軸サーボアンプ
430 ガン軸サーボアンプ
5 教示ペンダント
51 操作キー
52 表示画面
71 ハイパスフィルタ
72 ノッチフィルタ
73 しきい値Th1との比較
74 接触検出
75 トルク指令とフィードバック位置のロギング
91 外乱オブザーバ
92 ハイパスフィルタ
93 座標変換
94 平均処理
95 しきい値Th2との比較
W ワーク
W´ 異物
【技術分野】
【0001】
本発明は、ロボットを用いて所定の作業を行うロボットシステムに関し、特にスポット溶接を行うロボットシステムに関する。
【背景技術】
【0002】
重ねられた複数のワークを対になった電極によってその重ね方向の両側から挟み、圧力を加えながら電極間に電流を流すことで接合させるスポット溶接に関し、従来の技術としてロボットの先端にスポット溶接ガンを取り付けたスポット溶接ロボットが知られている。ロボットを動作させることでスポット溶接ガンをワーク上の複数の溶接点に次々に移動させつつ、スポット溶接作業を行うことができる。
スポット溶接ガンには前述の対になった電極が対抗するように設けられており、一方の電極が他方の電極方向に伸縮できるよう構成されたものが広く用いられている。以降、伸縮可能な電極を可動電極、他方の電極を固定電極と呼称する。
こうしたスポット溶接ガンを備えたロボットによってスポット溶接を行う際には、予め一連の動作を教示(ティーチング)しておき、実行時に教示した動作を再生(プレイバック)させる。スポット溶接作業に限らず、ロボットでは作業プログラムを教示(ティーチング)するモードと、作業プログラムを実行する再生(プレイバック)するモードを備えているのが一般的である。
教示の際には、教示者がロボットを操作して実際にワーク上の溶接位置に固定電極や可動電極を接触させ、その際のロボットや可動電極の位置を記憶する。
【0003】
しかし、ワークの形状が複雑になると教示作業の際に教示者から溶接点が確認しづらくなり、ロボットの教示作業に多くの時間と労力が必要になる。またロボットの操作ミスによって電極とワークを衝突させてしまい、ワークやロボットを破損してしまうという問題があった。
【0004】
上記問題を解決するため、特許文献1に開示されている方法では、可動側電極チップを移動させながら、可動側電極チップを駆動するサーボモータの電流値を監視し、電流値が所定の値を超えたときを可動側電極チップの先端がワークに接触したとみなして可動側電極チップの移動を停止し、可動側電極チップと対向側電極チップとの間の対向チップ間隔を計測し、対向チップ間隔からワークの設定板厚を減算して対向側電極チップの移動量として、対向側電極チップを可動側電極チップに接近する方向で待機位置からスポット溶接打点位置まで移動させて、対向側電極チップを本位置決めするという手順をとっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4233584号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の方法ではワークの厚さ(板厚)を予め設定する必要があり、すべての溶接点のワークの厚みを前もって正確に計測する必要がある。
また特許文献1では可動電極の駆動モータの外乱トルクを検出することで可動電極とワークとの接触を検出し、教示位置を登録している。可動電極でワークを押し込んでワークとの接触を検出しているため、ワークには撓みが発生する。この撓んだ状態で溶接位置を教示されるため溶接品質が悪くなるという問題がある。
そこで本発明は、板厚が未知の場合であってもワークの撓みを抑えた状態でスポット溶接ロボットの溶接点教示位置を自動で修正し、溶接品質を向上させることを目的とする。
【課題を解決するための手段】
【0007】
上記問題を解決するため、本発明は、次のように構成したのである。
【0008】
請求項1に記載の発明は、固定電極と、前記固定電極と対向して配置されモータ駆動によって前記固定電極方向に伸縮可能な可動電極を有するスポット溶接ガンを備えた多関節ロボットが前記スポット溶接ガンを被溶接部材の所定の溶接点に移動させ、前記固定電極と前記可動電極とによって前記被溶接部材をその厚さ方向に挟んでスポット溶接を行うロボットシステムであって、前記ロボットに溶接点位置を教示するに際し、前記可動電極と前記固定電極とによって前記溶接点を挟む位置に前記スポット溶接ガンを移動させる第1の処理と、前記モータ駆動により前記可動電極を前記被溶接部材に向けて伸ばし、前記モータへのトルク指令に基づいて前記可動電極と前記被溶接部材との接触を検出し、接触検出後に前記可動電極の動作を停止させる第2の処理と、前記モータ駆動により前記可動電極が前記被溶接部材と接触した状態を保ちながら、前記ロボットを前記可動電極側へ動作させて前記固定電極を前記被溶接部材に接近させ、前記ロボットの関節に作用する外乱トルクによって前記固定電極と前記被溶接部材との接触を検出し、接触検出後に前記ロボットの動作を停止させる第3の処理とを含む処理を行うことを特徴とする。
【0009】
請求項2に記載の発明は、前記第3の処理完了後の前記可動電極を所定の補正量だけ引き戻した位置と、前記固定電極を前記補正量だけ前記可動電極側へ動作させたロボットの各関節位置とを前記溶接点に対する教示位置とすることを特徴とする。
【0010】
請求項3に記載の発明は、前記ロボットシステムは可搬型教示装置を備え、前記第3の処理完了後に前記可動電極の位置を教示する際に、前記所定の補正量を含めた前記可動電極の以前の教示位置からの修正量を前記可搬型教示装置の表示画面に表示することを特徴とする。
【0011】
請求項4に記載の発明は、前記第2の処理において、前記モータへのトルク指令に対しハイパスフィルタ処理を行った後、ノッチフィルタ処理を行い、フィルタリングしたトルク指令を予め定められた第1のしきい値と比較することで前記可動電極と前記被溶接部材との接触を検出することを特徴とする。
【0012】
請求項5に記載の発明は、前記ノッチフィルタのノッチ周波数を前記モータの極数およびポール数に基づき決定することを特徴とする。
【0013】
請求項6に記載の発明は、前記第2の処理において、前記可動電極の伸長量とフィルタリング処理後の前記モータへのトルク指令とを対応づけて所定周期ごとに記録しておき、前記第2の処理完了後に、前記記録に基づいて算定した量だけ前記可動電極を引き戻すことを特徴とする。
【0014】
請求項7に記載の発明は、前記第3の処理において、前記ロボットの各軸モータへのトルク指令と各軸の速度検出値から外乱オブザーバにより推定外乱トルクを求め、推定外乱トルクに対しハイパスフィルタ処理を行った後、座標変換を行って前記固定電極に作用する外力を推定し、前記推定された外力値を予め定められた第2のしきい値と比較することで前記固定電極と被溶接部材との接触を検出することを特徴とする。
【0015】
請求項8に記載の発明は、前記第2の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出するとともに、前記第3の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出することを特徴とする。
【発明の効果】
【0016】
本願発明によると、スポット溶接ガンの可動電極およびロボットの各軸が自動的に動作して可動電極と固定電極により実際にワークを加圧した状態の位置を記録するため、板厚を前もって設定することなく教示が行え、生産ラインの変更などにより板厚が変更となった場合にも教示点の修正を容易に行うことができる。
また従来に比べ、可動電極、固定電極との接触によるワークの撓みを抑えた状態を教示できるため、適切にスポット溶接を行えるようになり、溶接品質向上に寄与する。
さらに教示に際して可動電極の伸長量の確認を行うことによりワークの異常を確実に検知することができる。
【図面の簡単な説明】
【0017】
【図1】本発明のロボットシステムの概略図
【図2】ロボットの動作軸を示す概略図
【図3】ロボットの座標系を示す概略図
【図4】ロボットコントローラ内の構成を示す概略図
【図5】スポット溶接ガンの加圧動作の手順を示す図
【図6】本発明のロボットシステムにおけるスポット溶接点位置の教示のフローチャート
【図7】第1加圧動作時の接触検出の手順を示す図
【図8】第1加圧動作時の接触検出後のガン軸引き戻しの手順を示す図
【図9】第2加圧動作時の接触検出の手順を示す図
【図10】ロボットの基本軸の外乱トルクに基づく外力推定の様子を示す図
【図11】ロボットの手首軸の外乱トルクに基づく外力推定の様子を示す図
【図12】Tzの定義を説明する図で、(a)は上面図、(b)は側面図
【図13】教示位置修正時の教示ペンダントの表示画面の例
【図14】動作プログラム再生時のフローチャート
【図15】ワーク上に異物がある状態
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について図を参照して説明する。
【0019】
図1は、本実施例のロボットシステムの構成を模式的に示した図である。
図1において、1は複数の関節軸を備えた垂直多関節型ロボットであり、先端部にはスポット溶接ガン2が取り付けられている。
スポット溶接ガン2は互いに対向して配置された可動電極21と固定電極22とを備えており、図の例では2つの電極が上下に配置され上側が可動電極21、下側が固定電極22となっている。スポット溶接を行う際には可動電極と固定電極との間に被溶接部材(ワーク)Wを配置させた状態で可動電極を固定電極の方向へと延ばし、可動電極と固定電極とでワークWを挟み、溶接電源3から供給される電力によって電極間に所定時間電流を流す。
溶接が完了すると、可動電極21を固定電極22から離れる方向へ動かしてワークWを解放し、ロボットを動作させてスポット溶接ガンを次の溶接点へと移動させる。
こうした一連の動作は予め動作プログラムとして教示しておき、ロボットコントローラ4内に記憶されている。実作業時には作業者がロボットコントローラ4から所定の動作プログラムを呼び出し、繰り返し実行させる。
【0020】
ロボット1とケーブルを介して接続されたロボットコントローラ4は、ロボットの各関節軸を駆動するアクチュエータ、可動電極を駆動するアクチュエータの位置や速度を制御するほか、溶接電源3へ指令を出したり溶接電源3がスポット溶接ガン2に供給する電力をモニタしたりする。本実施例では、アクチュエータとしてサーボモータを用いている。
5はロボットコントローラ4に接続された教示ペンダントであり、各種操作ボタン51と表示画面52を備えている。ロボット1に動作プログラムを教示する際には操作ボタン51を操作することによってロボットの各関節軸を動作させ、スポット溶接ガンに所望の位置、姿勢を取らせてロボットコントローラ4に記憶させる。さらに教示した動作プログラムの呼び出しや実行開始の指示も教示ペンダントを操作して行うことができる。
【0021】
図2はロボット1の関節軸の構成およびスポット溶接ガン2の可動軸の構成を説明するための図である。本実施例ではロボット1は6つの関節軸を備えており、便宜上その基台側からS軸、L軸、U軸、R軸、B軸、T軸と呼称する。各軸は図2に示す矢印方向に回転駆動する。S軸、L軸、U軸をまとめて基本軸、R軸、B軸、T軸をまとめて手首軸と呼ぶこともある。
またスポット溶接ガン2の可動電極21の駆動軸をガン軸と呼称する。前述のようにガン軸は可動電極21を固定電極22の方向へ伸縮させる。ロボット1の各関節軸を動作させることにより、先端のスポット溶接ガン2の位置や姿勢を様々に変化させることができる。すなわちワーク上の様々な位置に対し、様々な姿勢でスポット溶接ガン2を配置することが可能である。
本実施例では6つの関節軸を備えたロボットを例に説明するが、これは一例に過ぎない。ロボット1は7つ以上の関節軸を備えていても良いし、スポット溶接ガンの姿勢の自由度が要求されない用途であれば、関節軸は5つ以下であっても良い。
【0022】
図3にロボット1やスポット溶接ガン2について設定された座標系を示す。ロボット座標系とはロボットの基台部を原点として、ロボット前方をX軸、左方をY軸、上方をZ軸とする直交座標系である。また関節座標系とはロボット1の各関節について設定された座標系である。図3ではS軸についてのみ関節座標系を描いている。
フランジ座標系は、ロボット先端部のスポット溶接ガン2の取り付け面に設けられた直交座標系である。取り付け面の法線方向をZ軸とする。ロボットの各関節軸を駆動させることで、ロボット座標系に基づくフランジ座標系の位置や姿勢は様々に変化することになる。
ツール座標系は、ロボット先端部に取り付けられたツールに設けられた直交座標系である。ツール座標系の原点や向きはツールの種類によって様々に定義することができるが、本実施例のスポット溶接ガンでは固定電極22の先端部を原点として、ガンの前方をX軸、可動電極方向をZ軸としている。ツール座標系についても、ロボットの各関節軸を駆動させることで、ロボット座標系に基づく位置や姿勢が様々に変化する。なお図3では説明のためロボット先端部とスポット溶接ガンとを離して描いている。
また、robot_flangeはロボット座標系に対する手先フランジ座標系の姿勢を表す回転行列で、flange_toolはフランジ座標系に対するツール座標系の姿勢を表す回転行列である。
【0023】
図4は、ロボットコントローラ4内の構成のうち、本実施例に係る部分を模式的に示した図である。各部がシステムバス41によって接続されており、システムバスを介して必要な情報のやりとりを行う。
ロボット軸制御部42、ガン軸制御部43はそれぞれサーボアンプ420、430を介してロボット1の各関節軸のサーボモータ、スポット溶接ガン2のガン軸のサーボモータの位置や速度の制御を行う。ロボット1の各関節軸のサーボモータやスポット溶接ガン2のガン軸のサーボモータには位置(回転角度)を検出するためのエンコーダ(図示せず)が設けられており、エンコーダの検出値はサーボアンプを介して各制御部へとフィードバックされる。ロボット軸制御部42、ガン軸制御部43は各エンコーダの出力から各軸の位置、速度を得ることができる。
I/F部44、45はそれぞれ溶接電源3、教示ペンダント5とのインターフェイス部であり、溶接電源3や教示ペンダント5の状態を取得したり、指令を出力したりする。
作業プログラム・パラメータ記憶部46は不揮発性メモリからなり、教示した作業プログラムや、ロボット1やスポット溶接ガン2の制御に必要な各種パラメータを格納する。パラメータの例としては、ロボット1の順運動学・逆運動学の演算に必要なリンクパラメータや、各関節軸のエンコーダの分解能、動作限界位置などがある。演算処理部47はロボットやスポット溶接ガンの各軸を位置速度制御によって動作させる際、順運動学・逆運動学の演算を行って所定周期ごとにロボット軸制御部やガン軸制御部に出力する指令を算出する等の演算処理を行なう。中央処理部48は、各部を統括する機能を有する。
【0024】
続いて本実施例のロボットシステムにおいて、溶接点の教示位置を自動的に決定する際の手順の概略について説明する。
予め溶接点位置についての大まかなガン軸位置(可動電極の伸長量)、ロボット各軸位置(固定電極位置)の教示は行っており、これから説明する手順にて溶接点の教示位置をより精度よく修正する場合を想定して説明する。大まかな教示とは、ワークWに対するスポット溶接ガンの位置決めのうち、ツール座標系のX軸、Y軸方向については完了しており、Z軸方向については伸長前の可動電極先端とワークWとの距離が可動電極の最大伸長量以内となっている状態を指す。その状態からさらに可動電極と固定電極とをワークWに適当に接触させた状態まで教示しておいてもよい。
【0025】
本実施例のロボットシステムでは、作業プログラム中の溶接点の教示を行う場合、教示者がロボットを動かし図5(a)のようにスポット溶接ガン2の電極間にワークWが存在するよう配置した後に指示を出せば、自動的にロボット1の各関節軸及びガン軸が動作してスポット溶接ガン2の位置及び可動電極21の位置を調整し、ワークWの板厚が未知であっても適切な溶接点位置の教示を行うことができる。
この際のスポット溶接ガン2の動作を図5(a)から図5(e)に示し、処理の流れを図6のフローチャートで示す。図5(a)から図5(e)については、ロボット1を省略してスポット溶接ガンのみを描いている。
まず図5(a)は、教示者が教示ペンダント5を操作してロボット1を動作させ、可動電極21と固定電極22とによってワークW上の溶接点を挟む位置にスポット溶接ガン2を誘導した状態を示している。
【0026】
図5(a)の状態から教示者が教示ペンダント5を操作してスポット溶接ガン位置及び可動電極位置を自動的に調整するよう指示を出す。
するとガン軸が速度制御によって動作して可動電極21が所定速度で固定電極22側に伸びる(図6のS1)。ロボットコントローラ4はガン軸サーボモータへのトルク指令を基に可動電極21とワークWとの接触を検出するようになっており(図6のS2)、図5(b)のようにワークWの上面に可動電極21が当接した状態となりトルク指令値が予め定められたしきい値Th1を超えると、両者が接触したと判断し(図6のS3の「Yes」の場合)、可動電極21の動作を停止させる(図6のS4)。その直後、図5(c)のように可動電極21をわずかに戻す(図6のS5)。この一連の動作を第1加圧動作とする。
【0027】
第1加圧動作後にガン軸の位置について確認を行い(図6のS6)、ワークW上に異物が存在したり、ワークWが可動電極21の伸縮方向に大きく位置ずれしたりしていないかチェックを行う。ガン軸位置確認の処理については後述する。ここではガン軸位置について問題がなかったとして次の処理に進んだものとする。
【0028】
続いて、ロボット1の各軸を動作させて固定電極22を可動電極21の方向へと移動させて(図6のS7−1)、ワークWの下面との接触検出を行なう(図6のS7−2)。スポット溶接ガン全体が移動することになるので、そのままだとワークWの上面に当接した可動電極21がワークWから離れてしまう。そこでガン軸を位置制御することにより図5(d)のように可動電極を固定電極側にさらに伸ばす動作を同時に行う(図6のS7−4)。この場合の位置制御では、ロボット座標系に基づく可動電極21の位置を第1加圧動作完了時と同様に保つようにする。
図5(e)のように、可動電極21及び固定電極22がワークWと接触したことを検出すると(図6のS7−3、S7−6の「Yes」の場合)スポット溶接ガン2の上昇動作及び可動電極21の下降動作を停止する(図6のS8)。この一連の動作を第2加圧動作とする。
【0029】
図6のS7−6での接触検出は第1加圧動作の場合(図6のS3)と同様にして行なう。図6のS3、S7−3での接触検出の手法については後ほど詳しく述べる。
また第2加圧動作後にもガン軸の位置について確認を行ない(図6のS9)、ワークW上に異物が存在したり、ワークWが可動電極21の伸縮方向に位置ずれしたりしていないかチェックを行う。ガン軸位置確認の際の処理についても後述する。ここではガン軸位置について問題がなかったとして次の処理に進んだものとする。
【0030】
その後、停止した位置でのロボットの各軸の位置と、ガン軸の位置とを溶接点の教示位置として、作業プログラム・パラメータ記憶部46に記録する(図6のS10)。
【0031】
以上が溶接点の教示位置を自動的に決定する大まかな手順である。前述のように、本実施例では第1加圧動作にて、まず可動電極21をワークWに接触させ、続く第2加圧動作にて固定電極22をワークWに接触させる。
第2加圧動作の際、可動電極は位置制御によりワークWとの接触位置を保つので、電極との接触によるワークWの撓み量は、第1加圧動作で可動電極21がワークWに接触した力の大きさ(前出のしきい値Th1)で決まる。
ワークWが大きく撓むと、スポット溶接ガンによる加圧力がワークWに適切に作用しなかったりワークWの変形によって所定の溶接点からずれた位置で溶接を行ったりして溶接品質低下の原因となるため、ワークWの撓み量を小さく抑える必要がある。ワークWの撓み量を小さくするには、図6のS3での可動電極の接触検出の処理を簡単にし、できるだけ早い段階、すなわちワークWに作用する力がより小さい時点で接触を検出してガン軸の動作を止める必要がある。
また第2加圧動作での接触検出(図6のS7−3)についても、固定電極によるワークWへの加圧力が不適切だと溶接品質が低下するため、第2加圧動作時にワークWからスポット溶接ガンに適切な外力が作用した時点で接触と判断する必要がある。そこで以後では、第1加圧動作、第2加圧動作それぞれでの接触検出の手法について詳しく説明する。
【0032】
本実施例における第1加圧動作での接触検出(図6のS3)の手法について説明する。図7は第1加圧動作時の接触検出の手順を示す概略図である。図7のうち、点線で囲んだ部分はガン軸の位置速度制御ループを示す。
第1加圧動作では、ガン軸サーボモータへのトルク指令を基に可動電極21とワークWとの接触を検出していることは既に述べた。
しかしトルク指令はガン軸に作用する重力トルクや摩擦トルクを含んだものとなっており、トルク指令そのままの値を所定のしきい値と比較して接触を検出しようとすると、検出しきい値を大きな値に設定しなければならず、実際に接触が発生してから接触を検出するまでに遅れが生じ、ガン軸を停止させるまでに時間がかかりワークWの撓みが大きくなってしまう。
検出しきい値を小さくして接触からガン軸停止までの時間を短くするには、重力トルクと摩擦トルクを実時間で補償しなければならない。本実施例では、まず第1加圧動作時のガン軸へのトルク指令波形をハイパスフィルタ71によって処理し低周波成分を除去する。この処理により、トルク指令に含まれる重力・摩擦成分を取り除く。
【0033】
ハイパスフィルタ71から出力されたトルク指令に対し、さらにノッチフィルタ72による処理を行う。ノッチフィルタ72によって、トルク指令からガン軸サーボモータのトルクリップル成分を除去する。ノッチ周波数はガン軸サーボモータのポール数とスロット数およびモータの動作速度(1秒あたりの回転数)によって決定する。例えばガン軸に14ポール・12スロットのサーボモータを用い、1000[rpm]で動作させた場合、ポール数に基づく機械的なリップル周波数は(14/2)×(1000/60)=116.67[Hz]となる。
またスロット数に基づく電流によるリップル周波数は12×(1000/60)=200[Hz]となる。これらを合成したリップル周波数は、(14/2)×12×(1000/60)=1400[Hz]となる。
【0034】
さらに、トルク指令にはこれらの周波数を2倍、3倍、・・・と整数倍した高周波成分も含まれている。こうしたトルクリップル成分をノッチフィルタ72で取り除いたのち、しきい値Th1と比較する(図7の73)。フィルタリングされたトルク指令がしきい値Th1を超えたら可動電極21がワークWと接触したと判断して(図7の74、図6のS3)、ガン軸の動作を停止させる(図6のS4)。なおノッチ周波数を決定するためのガン軸サーボモータのポール数やスロット数はロボットコントローラ4内の作業プログラム・パラメータ記憶部46に予めパラメータとして記録した値を用いることができる。
ハイパスフィルタ71でトルク指令に含まれる重力・摩擦成分を取り除き、さらにノッチフィルタ72でトルクリップルを取り除いているため、接触検出のためのしきい値Th1として小さい値を設定でき、接触検出の遅れを小さくすることができる。
【0035】
ただしこのような処理を行なっても、制御遅れなどの影響によって可動電極21とワークWの接触を検知する前の時点で可動電極21はワークWと接触しており、ガン軸を停止させた時点でワークWは可動電極21に押されて撓んでいる。
そこでガン軸の動作停止後、ガン軸を逆転させ可動電極21をわずかに引き戻す。ガン軸引き戻し量の決定方法について図7、図8を用いて説明する。第1加圧動作の際にフィルタリング後のトルク指令とガン軸位置とをロギングしておく(図7の75)。トルク指令がしきい値Th1を超えガン軸の動作を停止させた後、ロギングにより蓄積したデータから、トルク指令がしきい値Th1の所定の割合に達した時点を求める。図8の例では、しきい値Th1の25%としている)
トルク指令がしきい値Th1の25%時点でのガン軸位置を取得し、その位置まで可動電極21を引き戻す。このように接触検出して停止した位置から可動電極21を若干戻すことによってワークWの撓みを小さくして適切なガン位置を教示することができる。
なお、しきい値Th1や、可動電極21を若干戻す際に使用するしきい値Th1の所定の割合といった値も予めパラメータとして作業プログラム・パラメータ記憶部46に設定しておくことができる。
以上が第1加圧動作での接触検出の手法である。
【0036】
続いて第2加圧動作での接触検出の手法について説明する。第2加圧動作では、固定電極22とワークWの接触を検出する。固定電極22には可動電極21のような駆動部分はなく、ガン軸のサーボモータのトルク指令から接触を検出することはできない。そのため固定電極(スポット溶接ガン本体)を支持するロボット1の状態量を利用してワークWとの接触を検出する。その際にロボット1に作用する外乱トルクを推定する外乱オブザーバを利用する。
図9は第2加圧動作時の接触検出の手順を示す概略図である。図9のうち、点線で囲んだ部分はロボット各軸の位置速度制御ループを示す。
まずロボット1の各関節軸へのトルク指令および位置フィードバック値を基に、外乱オブザーバ91にて負荷側(スポット溶接ガン)に作用する外乱トルクを推定する。推定された外乱トルクは重力や摩擦に起因するトルクも含んでいるため、外乱オブザーバ91内でダイナミクス演算により重力に起因するトルクを補償しておく。
続いて、外乱オブザーバ91の出力をハイパスフィルタ92で処理し低周波成分を除去する。これにより摩擦に起因するトルクを除去する。
こうして重力、摩擦について補償された外乱トルクはロボット1の各軸の関節座標系に基づくものであるので、これを座標変換(図9の93)によってガン開閉方向(ツール座標系のZ軸)の外力推定値に変換する。
【0037】
ここで、ツール座標系のZ軸方向に作用する外力推定方法の一例として、ロボットの基本軸(S軸、L軸、U軸)の外乱トルクに基づく外力推定値と、手首軸(R軸、B軸、T軸)の3軸それぞれの外乱トルクに基づく外力推定値とを求め、それらの平均値を利用する方法を説明する。
【0038】
まずロボット基本軸(S軸、L軸、U軸)の外乱トルクに基づく外力推定について図10を用いて説明する。基本軸の関節座標系の外乱トルクをツール座標系のZ軸方向の外力推定値へ変換する演算は、大きく次の2段階に分けることができる。
(1)ヤコビ転置逆行列(JT)-1を用いて、ロボット1の基本軸(S軸、L軸、U軸)の各関節座標系外乱トルクτs、τl、τuをロボット座標系の外力推定値に変換する。
(2)回転行列robot_flange及びツール回転行列flange_toolにより、ロボット座標系の外力をツール座標系のZ軸方向の外力に変換する。
【0039】
まず上記(1)についての手順を述べる。
(1)関節座標系外乱トルク→ロボット座標系外力推定値の変換
前出のヤコビ行列Jとは、ロボットの関節座標系と直交座標系間の微小変位関係を表す行列である。ヤコビ行列Jの転置行列JTを用いることで、直交座標系の力Fを関節座標系のトルクτに変換できる。また、逆行列(JT)-1を求めることで、関節座標系のトルクτを直交座標系の力Fに変換することができる。本実施例のような6軸ロボットの場合のヤコビ行列Jの演算方法を(式1)に示す。
【0040】
・・・(式1)
【0041】
ここで、0si:第i関節座標の回転方向ベクトル(ロボットベース座標基準)
0Pi:第i関節位置ベクトル(ロボットベース座標基準)
×:ベクトル積
E:ツール先端(もしくは外力の作用点)の位置ベクトル
【0042】
求められたヤコビ行列Jは3×3の行列となり、行列要素を便宜上(式2)のように示す。
【0043】
【0044】
またヤコビ行列Jの転置行列JTは、(式3)のように表現できる。
【0045】
【0046】
この転置行列JTの逆行列を求めることで、ヤコビ転置逆行列(JT)-1が得られる。ヤコビ行列JTの行列式det(JT)は、(式4)によって求まる。
【0047】
・・・(式4)
【0048】
(式4)のヤコビ行列JTの行列式det(JT)を用いて、ヤコビ転置逆行列(JT)-1は(式5)のように求めることができる。
【0049】
【0050】
従って、ロボット基本軸(S軸、L軸、U軸)の関節座標系の外乱トルクを
τobs=[τs、τl、τu]T ・・・(式6)
ただし、τobs:関節座標系での外乱トルクベクトル
τs:S軸の関節座標系の外乱トルク
τl:L軸の関節座標系の外乱トルク
τu:U軸の関節座標系の外乱トルク
と置き、ロボット座標系での外力推定値を
Fobs_robot=[Fx、Fy、Fz、]T ・・・(式7)
ただし、Fobs_robot:力ベクトル
F:ロボット座標系での並進力
と置くと、ロボット座標系の外力推定値は(式8)で求めることができる。
Fobs_robot=(JT)-1・τobs ・・・(式8)
ロボットの姿勢の変化に対して(式5)(式8)を演算することで、ロボットの全動作領域でロボット座標系の外力推定値Fobs_robotを求めることができる。
【0051】
続いて上記(2)の手順について述べる。
(2)ロボット座標系→フランジ座標系→ツール座標系の変換
ロボット座標系に対する手先フランジ座標系の姿勢を表す回転行列robot_flangeは、次の(式9)で表すことができる。
【0052】
【0053】
ここで、nRn+1は、n座標系から(n+1)座標系への3×3の回転行列である。
【0054】
また、フランジ座標系に対するツール座標系の姿勢を表す回転行列flange_toolは、作業者が設定するツール姿勢(Rx、Ry、Rz)[deg]から(式10)によって得ることができる。ツール姿勢は、作業者が教示ペンダントを操作してツール情報として設定することができる。ただし、固定電極から見て可動電極の方向が+Z方向である。
【0055】
・・・(式10)
【0056】
この2つの回転行列robot_flangeとflange_toolのそれぞれの転置行列を用いて、ロボット座標系の外力推定値Fobs_robotからツール座標系での外力推定値Fobs_tool[SLU]を(式11)のようにして求めることができる。
Fobs_tool[SLU]=(flange_tool)T・(robot_flange) T・Fobs_robot ・・・(式11)
このような手順で、ロボット基本軸(S軸、L軸、U軸)の外乱トルクに基づく外力推定を行う。
【0057】
続いて手首軸の外力推定について説明する。
手首軸3軸(R軸、B軸、T軸)については、スポット溶接ガン2に作用した力が手首の関節各軸にどのように作用するか幾何学的に求めることができるため、逆に関節各軸(R軸、B軸、T軸)の外乱トルクからスポット溶接ガン2に作用した外力推定値Fobs_toolを求めている。
図2や図3に示すように、スポット溶接ガン2をロボット先端部に取り付けるに際してツール座標系のY軸方向にオフセットがない場合、スポット溶接ガン2に外力が作用すると、R軸とB軸に外乱としてトルクが作用する。接触検出では、外力のうちガン開閉方向に作用する成分のみを対象としており、ガン開閉方向に対して垂直な成分は無視するため、T軸にはトルクが作用しない。
図11を用いてB軸の演算を例に説明する。以下の(式12)に示すように、ガンの開閉方向に作用する外力Fobs_tool[B]を、B軸と直交する平面に射影した力と、B軸の外乱トルクτobs [B]をスポット溶接ガン2の制御点(固定電極22の先端)からB軸回転中心までの距離Tzで除算した力とは同じ大きさである。
ここでTzの定義を図12に示す。図12(a)は上面図、図12(b)は側面図である。スポット溶接ガン2の制御点(固定電極22の先端)を含み、B軸の回転軸と平行な平面と、B軸の回転軸との距離がTzである。Tzの大きさはB軸やT軸が回転しても変化しない。
Fobs_tool[B]・cosθt=τobs [B]/Tz ・・・(式12)
ここで、θtはT軸の回転角度である。
【0058】
このことから、B軸に作用するトルクからスポット溶接ガン2の開閉方向に作用する外力Fobs_tool[B]は(式13)のように求めることができる。
【0059】
【0060】
R軸についても同様にして、ガンの開閉方向に作用する外力Fobs_tool[R]を(式14)のように求めることができる。
【0061】
【0062】
ここで、τobs [R]はR軸の外乱トルク、θbはB軸の回転角度、θtはT軸の回転角度である。
【0063】
このようにした求めたFobs_tool[SLU]、Fobs_tool[B]、Fobs_tool[R]を平均(図9の94)して、予め定められた外力のしきい値Th2と比較((図9の95)し、外力推定値がしきい値Th2を超えていれば固定電極がワークWと接触したと判断して(図6のS7−3)、ロボットの動作を停止させる。
【0064】
本実施例では、基本軸3軸と手首軸3軸とに分け、それぞれ行った外力推定処理の結果の平均をしきい値と比較したが、先に述べたようにこれは一例に過ぎない。別の方法として、ロボットの基本軸(S軸、L軸、U軸)、手首軸(R軸、B軸、T軸)の各外乱トルクに基づく外力推定値の絶対値を積算し、その積算値としきい値とを比較し、固定電極22とワークWとの接触を検出してもよい。
【0065】
以上が第2加圧動作での接触検出の手法である。
ロボット1の動作により固定電極22が可動電極21側に移動し接触検出を行っている間、可動電極21は図6のS7−4からS7−6のように、位置制御により固定電極22側に動作しながら、第1加圧動作時と同様にトルク指令をフィルタリングした結果としきい値Th1を比較して、接触を検出すると停止させる。ただしこの場合には接触後の可動電極21の引き戻しは行わない。
こうした手順により、ワークWの板厚が未知であっても適切な溶接点位置の教示を行うことができ、さらに可動電極、固定電極によるワークWの撓みを抑制した状態を教示することができる。
【0066】
以上説明した第1加圧動作、第2加圧動作が完了するとワークWがスポット溶接ガンの可動電極21、固定電極22によって適切に挟持された状態となる。
ロボットが教示モードの場合は、 図6のS9までの一連の処理終了後に教示ペンダントの画面52上に図13のような画面を表示して教示者に現在位置の教示を促す。
図13において検出量とは、ラフ教示でのガン軸位置と、第1加圧動作、第2加圧動作によって決定した現在のガン軸位置との差分である。ツール座標のZ軸方向を正としており、図13の検出量−1.5mmとは可動電極21がラフ教示の場合に比べて1.5mm下方に伸びた状態でワークWと接触したことを示している。
また補正量とは、可動電極によるワークWの撓みを小さくするために、可動電極21を引き戻す量を示している。第1加圧動作時にも可動電極をわずかに引き戻して撓みを抑える(図6のS5)ことを説明したが、さらにワークWの撓みを小さくするために、教示位置としてガン軸位置を記憶する際には、実際の位置から補正量分だけ可動電極をさらに上方へ引き戻した位置を記憶するようにしている。なおロボットの各軸についても固定電極を実際の位置から補正量分だけ可動電極側へ移動させた場合の位置を記憶する。検出量と補正量との和が、ラフな教示位置からの修正量となる。
【0067】
教示者が「はい」を選択すると、補正量を考慮したロボットの各軸およびガン軸の位置が、作業プログラムに付随する溶接点の教示位置情報としてロボットコントローラ4の作業プログラム・パラメータ記憶部46に記憶される。
【0068】
教示者は、教示ペンダント5を操作してロボット1を次の溶接点へと移動させ同様に溶接点の教示位置を修正していけばよい。
教示ペンダントの表示画面に教示位置の修正量を表示するため、教示者は簡単に各溶接点での修正量を把握することができ、ガン軸の教示位置に異常があった場合にも即座に察知して対応することが可能となる。
【0069】
続いて、第1加圧動作後や第2加圧動作後のガン軸位置確認の処理について図14を用いて説明する。
前述のように、本実施例ではロボットが図5(a)のようにワークW上の溶接点を可動電極21と固定電極22とで挟む位置に移動した後、自動的に第1加圧動作を行う。図6と同様の処理だが、図14では1つにまとめてS11として示す。可動電極21とワークWとの接触を検出するとガン軸を停止した後若干の引き戻しを行う。
この時点でのガン軸の位置(可動電極21の伸びた長さ)を取得し(図14のS12)、 ラフ教示時に記録したガン軸位置と現在のガン軸位置とを比較する(図14のS13)。両者の差が所定のしきい値Th3より大きい場合(図14のS14で「No」の場合)には、図15(a)のようにワークW上に異物が存在しているか、ワークWの位置が可動電極21の伸縮方向にずれているとしてアラームを発生させ、ロボットの動作を停止させる(図14のS15)。図15(a)は、ワークW上に異物W´が存在するために可動電極21が殆ど伸びていない状態で接触検出した様子を示している。
両者の差がしきい値以下であれば、許容できる誤差の範囲として第2加圧動作を続行する。図6と同様の処理だが、図14ではS16として示す。
【0070】
第2加圧動作にて接触検出を行い可動電極21と固定電極22を停止した際にも、ガン軸の位置(可動電極21の伸びた長さ)を取得し(図14のS17)、ラフ教示時に記録したガン軸位置と現在のガン軸位置とを比較する(図14のS18)。両者の差が所定のしきい値Th4より大きい場合(図14のS19で「No」の場合)には、図15(b)のようにワークW上に異物が存在しているか、ワークWの位置が可動電極21の伸縮方向にずれているとしてアラームを発生させ、ロボットの動作を停止させる(図14のS20)。図15(b)は、ワークW上に異物W´が存在しているが、ワークW自体の位置もずれていたために第1加圧動作時には可動電極21の位置が適正と判断されたもので、第2加圧動作後に可動電極21が十分に伸びていない状態で接触検出した様子を示している。
こうしたしきい値Th3やTh4も作業プログラム・パラメータ記憶部46に予め記録しておくことができる。
両者の差がしきい値以下であれば、許容できる誤差の範囲として現時点でのロボットの各軸の位置とガン軸位置とを補正された教示位置として、記録されていた教示位置の代わりに作業プログラム・パラメータ記憶部46に記録する(図14のS21、図6のS10)。
第1加圧動作後、第2加圧動作後にそれぞれガン軸位置確認を行うため、ワークWに異常があった場合にも即座に察知して対応することができる。
【符号の説明】
【0071】
1 ロボット
2 スポット溶接ガン
21 可動電極
22 固定電極
3 溶接電源
4 ロボットコントローラ
41 システムバス
42 ロボット軸制御部
43 ガン軸制御部
44、45 I/F部
46 作業プログラム・パラメータ記憶部
47 演算処理部
48 中央処理部
420 ロボット軸サーボアンプ
430 ガン軸サーボアンプ
5 教示ペンダント
51 操作キー
52 表示画面
71 ハイパスフィルタ
72 ノッチフィルタ
73 しきい値Th1との比較
74 接触検出
75 トルク指令とフィードバック位置のロギング
91 外乱オブザーバ
92 ハイパスフィルタ
93 座標変換
94 平均処理
95 しきい値Th2との比較
W ワーク
W´ 異物
【特許請求の範囲】
【請求項1】
固定電極と、前記固定電極と対向して配置されモータ駆動によって前記固定電極方向に伸縮可能な可動電極を有するスポット溶接ガンを備えた多関節ロボットが前記スポット溶接ガンを被溶接部材の所定の溶接点に移動させ、前記固定電極と前記可動電極とによって前記被溶接部材をその厚さ方向に挟んでスポット溶接を行うロボットシステムであって、
前記ロボットに溶接点位置を教示するに際し、
前記可動電極と前記固定電極とによって前記溶接点を挟む位置に前記スポット溶接ガンを移動させる第1の処理と、
前記モータ駆動により前記可動電極を前記被溶接部材に向けて伸ばし、前記モータへのトルク指令に基づいて前記可動電極と前記被溶接部材との接触を検出し、接触検出後に前記可動電極の動作を停止させる第2の処理と、
前記モータ駆動により前記可動電極が前記被溶接部材と接触した状態を保ちながら、前記ロボットを前記可動電極側へ動作させて前記固定電極を前記被溶接部材に接近させ、前記ロボットの関節に作用する外乱トルクによって前記固定電極と前記被溶接部材との接触を検出し、接触検出後に前記ロボットの動作を停止させる第3の処理と
を含む処理を行うことを特徴とするロボットシステム。
【請求項2】
前記第3の処理完了後の前記可動電極を所定の補正量だけ引き戻した位置と、前記固定電極を前記補正量だけ前記可動電極側へ動作させたロボットの各関節位置とを前記溶接点に対する教示位置とすることを特徴とする請求項1記載のロボットシステム。
【請求項3】
前記ロボットシステムは可搬型教示装置を備え、
前記第3の処理完了後に前記可動電極の位置を教示する際に、前記所定の補正量を含めた前記可動電極の以前の教示位置からの修正量を前記可搬型教示装置の表示画面に表示することを特徴とする請求項2記載のロボットシステム。
【請求項4】
前記第2の処理において、前記モータへのトルク指令に対しハイパスフィルタ処理を行った後、ノッチフィルタ処理を行い、フィルタリングしたトルク指令を予め定められた第1のしきい値と比較することで前記可動電極と前記被溶接部材との接触を検出することを特徴とする請求項1記載のロボットシステム。
【請求項5】
前記ノッチフィルタのノッチ周波数を前記モータの極数およびポール数に基づき決定することを特徴とする請求項4記載のロボットシステム。
【請求項6】
前記第2の処理において、前記可動電極の伸長量とフィルタリング処理後の前記モータへのトルク指令とを対応づけて所定周期ごとに記録しておき、
前記第2の処理完了後に、前記記録に基づいて算定した量だけ前記可動電極を引き戻すことを特徴とする請求項4または請求項5に記載のロボットシステム。
【請求項7】
前記第3の処理において、前記ロボットの各軸モータへのトルク指令と各軸の速度検出値から外乱オブザーバにより推定外乱トルクを求め、推定外乱トルクに対しハイパスフィルタ処理を行った後、座標変換を行って前記固定電極に作用する外力を推定し、
前記推定された外力値を予め定められた第2のしきい値と比較することで前記固定電極と被溶接部材との接触を検出することを特徴とする請求項1記載のロボットシステム。
【請求項8】
前記第2の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出するとともに、
前記第3の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出することを特徴とする請求項1記載のロボットシステム。
【請求項1】
固定電極と、前記固定電極と対向して配置されモータ駆動によって前記固定電極方向に伸縮可能な可動電極を有するスポット溶接ガンを備えた多関節ロボットが前記スポット溶接ガンを被溶接部材の所定の溶接点に移動させ、前記固定電極と前記可動電極とによって前記被溶接部材をその厚さ方向に挟んでスポット溶接を行うロボットシステムであって、
前記ロボットに溶接点位置を教示するに際し、
前記可動電極と前記固定電極とによって前記溶接点を挟む位置に前記スポット溶接ガンを移動させる第1の処理と、
前記モータ駆動により前記可動電極を前記被溶接部材に向けて伸ばし、前記モータへのトルク指令に基づいて前記可動電極と前記被溶接部材との接触を検出し、接触検出後に前記可動電極の動作を停止させる第2の処理と、
前記モータ駆動により前記可動電極が前記被溶接部材と接触した状態を保ちながら、前記ロボットを前記可動電極側へ動作させて前記固定電極を前記被溶接部材に接近させ、前記ロボットの関節に作用する外乱トルクによって前記固定電極と前記被溶接部材との接触を検出し、接触検出後に前記ロボットの動作を停止させる第3の処理と
を含む処理を行うことを特徴とするロボットシステム。
【請求項2】
前記第3の処理完了後の前記可動電極を所定の補正量だけ引き戻した位置と、前記固定電極を前記補正量だけ前記可動電極側へ動作させたロボットの各関節位置とを前記溶接点に対する教示位置とすることを特徴とする請求項1記載のロボットシステム。
【請求項3】
前記ロボットシステムは可搬型教示装置を備え、
前記第3の処理完了後に前記可動電極の位置を教示する際に、前記所定の補正量を含めた前記可動電極の以前の教示位置からの修正量を前記可搬型教示装置の表示画面に表示することを特徴とする請求項2記載のロボットシステム。
【請求項4】
前記第2の処理において、前記モータへのトルク指令に対しハイパスフィルタ処理を行った後、ノッチフィルタ処理を行い、フィルタリングしたトルク指令を予め定められた第1のしきい値と比較することで前記可動電極と前記被溶接部材との接触を検出することを特徴とする請求項1記載のロボットシステム。
【請求項5】
前記ノッチフィルタのノッチ周波数を前記モータの極数およびポール数に基づき決定することを特徴とする請求項4記載のロボットシステム。
【請求項6】
前記第2の処理において、前記可動電極の伸長量とフィルタリング処理後の前記モータへのトルク指令とを対応づけて所定周期ごとに記録しておき、
前記第2の処理完了後に、前記記録に基づいて算定した量だけ前記可動電極を引き戻すことを特徴とする請求項4または請求項5に記載のロボットシステム。
【請求項7】
前記第3の処理において、前記ロボットの各軸モータへのトルク指令と各軸の速度検出値から外乱オブザーバにより推定外乱トルクを求め、推定外乱トルクに対しハイパスフィルタ処理を行った後、座標変換を行って前記固定電極に作用する外力を推定し、
前記推定された外力値を予め定められた第2のしきい値と比較することで前記固定電極と被溶接部材との接触を検出することを特徴とする請求項1記載のロボットシステム。
【請求項8】
前記第2の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出するとともに、
前記第3の処理完了後に前記可動電極の伸長量を確認して前記被溶接物の異常を検出することを特徴とする請求項1記載のロボットシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−11403(P2012−11403A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−148575(P2010−148575)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】
[ Back to top ]