(57)【要約】【課題】スポット溶接システムにおいて、溶接ワーク、スポット溶接ガン及び多関節ロボットの剛性に依存することなく、溶接ワークの対向電極側表面位置を正確に検出する。【解決手段】サーボモータ３４によって駆動される可動電極３０とこれと対向して配置される対向電極３２とを有するスポット溶接ガン１４と、溶接ワークＷとスポット溶接ガンの一方を保持する多関節ロボット１２とを備えるスポット溶接システムにおいて、可動電極を溶接ワーク表面に接するように位置決めした後、サーボモータで可動電極を対向電極に接近させる方向に移動させると同時に、多関節ロボットを用いて対向電極と溶接ワークとを接近させる方向に同じ速度で相対移動させながら、可動電極の移動速度及び加速度の少なくとも一方を監視することにより、対向電極と溶接ワークとの接触を検出し、このときの対向電極の位置から溶接ワークの対向電極側表面位置を検出する。【選択図】図１
2011088177.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、前記スポット溶接ガンと溶接ワークのうちの一方を保持し他方に対して相対移動させる多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記可動電極と前記対向電極との間に前記溶接ワークを挟んで前記溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記対向電極が接触する前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法であって、
前記可動電極を前記溶接ワークの表面に接するように位置決めした後、前記サーボモータによって前記対向電極に接近させる方向に前記可動電極を予め定められた速度Ｖｇで移動させると同時に、前記多関節ロボットを用いて前記対向電極と前記溶接ワークとを互いに接近させるように前記スポット溶接ガンと前記溶接ワークとを前記速度Ｖｇと同じ速度で相対移動させながら、前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方を監視することにより、前記対向電極と前記溶接ワークとの接触を検出し、検出したときの前記対向電極の位置から前記対向電極が接触する前記溶接ワークの表面位置を検出することを特徴とする溶接ワーク位置検出方法。
【請求項２】
前記対向電極に対して前記可動電極を駆動するためのサーボモータにトルクリミットが設定される、請求項１に記載の溶接ワーク位置検出方法。
【請求項３】
前記サーボモータのトルクリミットは、前記スポット溶接ガンと前記溶接ワークとを前記速度Ｖｇと同じ速度で相対移動させているときの前記サーボモータのトルクの値に基づいて定められる、請求項２に記載の溶接ワーク位置検出方法。
【請求項４】
前記可動電極を前記溶接ワークの表面に接するように位置決めした後、さらに、前記溶接ワークの表面から予め定められた距離だけオフセットした位置に前記可動電極を位置決めした状態から、前記サーボモータによって前記対向電極に接近させる方向に前記可動電極を予め定められた速度Ｖｇで移動させると同時に、前記多関節ロボットを用いて前記対向電極と前記溶接ワークとを互いに接近させるように前記スポット溶接ガンと前記溶接ワークとを前記速度Ｖｇと同じ速度で相対移動させる、請求項２又は請求項３に記載の溶接ワーク位置検出方法。
【請求項５】
前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方を監視し、前記対向電極に対する前記可動電極の移動速度が一定から減少に転じたとき又は前記対向電極に対する前記可動電極の加速度が０から負に転じたときに、前記対向電極が前記溶接ワークに接触したと判断して、前記対向電極に対する前記可動電極の移動速度が一定から減少に転じたとき又は前記対向電極に対する前記可動電極の加速度が０から負に転じたときの前記対向電極の位置から、前記対向電極が接触する前記溶接ワークの表面位置を検出する、請求項１から請求項４の何れか一項に記載の溶接ワーク位置検出方法。
【請求項６】
前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方の値又は単位時間当たりの変化量が負の閾値以下になった時点から、前記対向電極に対する前記可動電極の移動速度又は加速度の時系列波形に沿って時刻を遡り、前記対向電極に対する前記可動電極の移動速度又は加速度の単位時間当たりの変化量が負の値から０又は正の値に変化する時点に、前記対向電極に対する前記可動電極の移動速度が一定から減少に転じた又は前記対向電極に対する前記可動電極の加速度が０から負に転じたと判断する、請求項５に記載の溶接ワーク位置検出方法。
【請求項７】
前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方を監視し、前記対向電極に対する前記可動電極の移動速度が減少したとき又は前記対向電極に対する前記可動電極の加速度が０から負に転じたときに、前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させる速度も同じ減少量分だけ減少させるか、もしくは前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させる加速度も同じ減少量分だけ減少させ、前記可動電極又は前記多関節ロボットの移動が停止したときに、前記対向電極が前記溶接ワークに接触したと判断して、前記可動電極又は前記多関節ロボットの移動が停止したときの前記対向電極の位置から、前記対向電極が接触する前記溶接ワークの表面位置を検出する、請求項１から請求項４の何れか一項に記載の溶接ワーク位置検出方法。
【請求項８】
サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、前記スポット溶接ガンと溶接ワークのうちの一方を保持し他方に対して相対移動させる多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記可動電極と前記対向電極との間に前記溶接ワークを挟んで前記溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記可動電極及び前記対向電極が接触する前記溶接ワークの表面位置をそれぞれ検出する溶接ワーク位置検出方法であって、
前記可動電極と前記溶接ワークとが、互いに離れた状態から接近する又は互いに接触した状態から離反するように、前記多関節ロボットを用いて前記溶接ワークと前記スポット溶接ガンを相対移動させながら、前記サーボモータの電流又はトルクを監視し、前記電流又はトルクの変化傾向が変化したときに、前記可動電極が前記溶接ワークに接触した又は前記可動電極が前記溶接ワークから離れたと判断して、前記電流又はトルクの変化傾向が変化したときの前記可動電極の位置と前記多関節ロボットの位置とから前記可動電極が接触する前記溶接ワークの表面位置を検出するステップと、
請求項１から請求項７の何れか一項に記載の溶接ワーク位置検出方法により前記対向電極が接触する前記溶接ワークの表面位置を検出するステップと、
を含むことを特徴とする溶接ワーク位置検出方法。
【請求項９】
検出された前記可動電極が接触する前記溶接ワークの表面位置と、検出された前記対向電極が接触する前記溶接ワークの表面位置とから、前記溶接ワークの厚さを求めるステップをさらに含む、請求項８に記載の溶接ワーク位置検出方法。
【請求項１０】
溶接を行うプログラム命令を実行することによって、前記溶接ワーク位置検出方法が実施される、請求項１から請求項９の何れか一項に記載の溶接ワーク位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットを用いて溶接ワークとスポット溶接ガンとを相対移動させ、スポット溶接ガンの対向する可動電極と対向電極との間に溶接ワークを挟んで溶接ワークのスポット溶接を行うスポット溶接システムにおいて対向電極が接触する溶接ワークの表面位置を検出する方法に関する。
【背景技術】
【０００２】
スポット溶接システムは、サーボモータによって駆動される可動電極とこれと対向して配置される対向電極とを有したスポット溶接ガンと、スポット溶接ガンを先端に保持する多関節ロボットとを備えており、多関節ロボットを用いて溶接ワークとスポット溶接ガンとを相対移動させた後、溶接ワーク上の予め定められた打点位置へ向かってスポット溶接ガンの可動電極と対向電極とを閉じてスポット溶接ガンの可動電極と対向電極との間に溶接ワークを挟み、この状態で両電極間に電圧を印加することによって打点位置でスポット溶接を行う。対向電極は、一般にガンアーム上に設置された固定電極である。このようなスポット溶接システムによるスポット溶接作業では、溶接ワーク上の打点位置に可動電極及び対向電極を位置決めできるように、打点位置における溶接ワークの可動電極側表面位置と対向電極側表面位置を多関節ロボットに予め教示する必要がある。
【０００３】
教示作業では、作業者が溶接ワークの位置を目視にて確認し、多関節ロボットを操作して、スポット溶接ガンの可動電極と対向電極とを閉じたときに溶接ワークの打点位置に可動電極及び対向電極が接触するような位置までスポット溶接ガンを移動させ、スポット溶接ガンを所望の位置に移動させた後に、多関節ロボットの位置および可動側電極チップの位置を記憶させている。すなわち多関節ロボットの位置および可動側電極チップの位置については、溶接ワークの位置に基づいた位置を教示することになる。
【０００４】
上記のような教示作業では、可動電極及び対向電極が溶接ワークの表面に適切に接触できるように教示していく必要がある。このような可動電極及び対向電極と溶接ワークとの接触の判断を作業者の目視によって行うと、作業者の錬度や、目視のしにくい作業環境によっては接触を正確に検出できず、打点位置における溶接ワークの可動電極側表面位置及び対向電極側表面位置の検出も不正確になる。
【０００５】
このため、特許文献１は、可動電極がサーボモータの駆動によって対向電極に向かって移動され溶接ワークの表面に接触したときに、撓みや凹みのような溶接ワークの弾性変形による反力が溶接ワークから可動電極へ作用することによってサーボモータの電流値（すなわちトルク値）が増加することを利用して、サーボモータの電流値が予め定められた閾値に達したときに可動電極と溶接ワークとが接触したと判断し、このときの可動電極の位置から打点位置における溶接ワークの可動電極側表面位置を検出した後、可動電極と対向電極との間隔が予め測定した打点位置における溶接ワークの厚さに等しくなるまで、対向電極を溶接ワークへ向かって接近させるように多関節ロボットによってスポット溶接ガンを移動させつつ可動電極が溶接ワークに接触した状態を保つようにサーボモータでスポット溶接ガンと同じ移動速度で可動電極を対向電極に向かって移動させることにより、対向電極を溶接ワーク上に位置決めする方法を提案している。
【０００６】
また、特許文献２は、特許文献１と同様の方法で、可動電極が溶接ワークと接触したことを判断すると共に、対向電極が多関節ロボットによって溶接ワークへ向かって移動され溶接ワークの表面に接触したときに溶接ワークの弾性変形によって溶接ワークから多関節ロボットへの反力が発生することを利用して、多関節ロボットへの反力が予め定められた閾値に達したときに対向電極と溶接ワークとが接触したと判断する方法を提案している。なお、多関節ロボットへの反力は、多関節ロボットの各軸を駆動するサーボモータの電流値から求められている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−２１８５５４号公報
【特許文献２】特許第３３３７４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の方法では、対向電極を溶接ワークの表面上に位置決めするために、各打点位置における溶接ワークの厚さを予め設定する必要がある。しかしながら、溶接ワークの厚さの設定には時間を要するので、実際の溶接作業において数百にも及ぶ打点位置における厚さをそれぞれ設定することは困難であるという問題がある。さらに、溶接ワークの設計データ上の値に基づいて各打点位置における溶接ワークの厚さを設定すると、溶接ワーク間の隙間の存在や溶接ワークの個体差の影響で、対向電極が溶接ワークに接触しないことや、対向電極が過度に溶接ワークに押し付けられて溶接ワークを変形させ、最悪の場合に溶接ワークを塑性変形させたりスポット溶接ガンを損傷させたりすることもある。したがって、溶接ワークの変形やスポット溶接ガンの損傷を防ぐためには、溶接ワークの厚さの設定に先立って、溶接ワーク上の全ての打点位置において溶接ワークの厚さを予め測定しておかなければならないという問題もある。
【０００９】
一方、特許文献２に記載の方法では、特許文献１の方法のように、各打点位置における溶接ワークの厚さを測定する必要はない。しかしながら、対向電極が溶接ワークに接触したことを検出するために使用されている溶接ワークから多関節ロボットへの反力は、対向電極が溶接ワークに接触したときに生じる溶接ワークの弾性変形に起因するものである。したがって、反力が閾値を越えるためにはある程度溶接ワークを変形させる必要があり、閾値は溶接ワークの剛性に依存する。また、溶接ワークから多関節ロボットへの反力による多関節ロボットの各軸駆動用サーボモータの電流値の変化は、溶接ワークの剛性に加えて、スポット溶接ガンのアームや多関節ロボットの剛性にも依存する。したがって、対向電極が溶接ワークに接触したことを検出するために使用される反力の閾値は、使用される溶接ワーク、スポット溶接ガン及び多関節ロボットの組み合わせにより異なり、対向電極が溶接ワークに接触したことを正確に検出するためには、反力の閾値を予め実験的に求めた上で定める必要がある。このため、幅広い対応は困難であるという問題がある。
【００１０】
よって、本願発明の目的は、従来技術に存する上記問題を解消して、スポット溶接システムにおいて、溶接ワーク、スポット溶接ガン及び多関節ロボットの剛性に依存することなく、対向電極が接触する溶接ワークの表面位置を正確に検出することができるようにすることにある。
【課題を解決するための手段】
【００１１】
上記目的に鑑み、本発明によれば、サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、前記スポット溶接ガンと溶接ワークのうちの一方を保持し他方に対して相対移動させる多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記可動電極と前記対向電極との間に前記溶接ワークを挟んで前記溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記対向電極が接触する前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法であって、前記可動電極を前記溶接ワークの表面に接するように位置決めした後、前記サーボモータによって前記対向電極に接近させる方向に前記可動電極を予め定められた速度Ｖｇで移動させると同時に、前記多関節ロボットを用いて前記対向電極と前記溶接ワークとを互いに接近させるように前記スポット溶接ガンと前記溶接ワークとを前記速度Ｖｇと同じ速度で相対移動させながら、前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方を監視することにより、前記対向電極と前記溶接ワークとの接触を検出し、検出したときの前記対向電極の位置から前記対向電極が接触する前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法が提供される。
【００１２】
なお、対向電極に対する可動電極の移動速度、加速度の監視は、可動電極を駆動するためのサーボモータの回転速度、回転加速度の監視とそれぞれ等価であり、対向電極に対する可動電極の移動速度、加速度の監視には、可動電極を駆動するためのサーボモータの回転速度、回転加速度の監視がそれぞれ含まれるものとする。
【００１３】
上記溶接ワーク位置検出方法では、可動電極を溶接ワークの表面に接するように位置決めした後、サーボモータによって対向電極に接近させる方向に可動電極を予め定められた速度Ｖｇで移動させると同時に、多関節ロボットを用いて対向電極と溶接ワークとを互いに接近させるようにスポット溶接ガンと溶接ワークとを速度Ｖｇと等しい速度で相対移動させるようにしている。したがって、対向電極が溶接ワークに接触すると、可動電極と対向電極との間に溶接ワークを挟み込む形となって、対向電極に対する可動電極の移動が妨げられ、対向電極に対する可動電極の移動速度が予め定められた値Ｖｇから減少する。同様に、対向電極に対する可動電極の加速度が０から負の値に転じる。したがって、対向電極に対する可動電極の移動速度が予め定められた値Ｖｇから減少した時点又は対向電極に対する可動電極の加速度が０から負の値に転じる時点を検出すれば、対向電極が溶接ワークに接触したことを検出することができる。さらに、監視の対象となるのは、任意に予め定められる対向電極に対する可動電極の移動速度又は加速度であるので、電極を駆動するサーボモータの電流又はトルクのように、個々のサーボモータの特性や電極駆動機構の摩擦特性などに依存して変わるものではない。したがって、溶接ワーク、スポット溶接ガン及び多関節ロボットの剛性の影響をほとんど受けずに、対向電極が溶接ワークに接触したことを検出することができる。
【００１４】
上記溶接ワーク位置検出方法では、前記対向電極に対して前記可動電極を駆動するためのサーボモータにトルクリミットが設定されることが好ましい。可動電極を駆動するためのサーボモータにトルクリミットが設定されれば、対向電極が溶接ワークに接触したときにサーボモータのトルクがトルクリミットに達するため、サーボモータによる可動電極の移動が制限され、対向電極が溶接ワークに接触したときの可動電極の移動速度及び加速度の低下をより早く且つより顕著に発生させることができ、検出精度が高められる。また、可動電極及び対向電極による溶接ワークの弾性変形を抑制することができる。
【００１５】
前記サーボモータのトルクリミットは、前記スポット溶接ガンと前記溶接ワークとを前記速度Ｖｇと同じ速度で移動させているときの前記サーボモータのトルクの値に基づいて定められることが好ましい。対向電極と溶接ワークとを接触させるためにスポット溶接ガンと溶接ワークとを速度Ｖｇと同じ速度で相対移動させる動作を行っているときには、可動電極は速度Ｖｇで移動しており、サーボモータはこの速度Ｖｇを維持するための最低限のトルクで動作している。この必要最低限のトルクを取得してトルクリミットとして設定すれば、対向電極が溶接ワークに接触したときに即座に可動電極の移動が制限されるので、可動電極の移動速度及び加速度の低下をより早く且つより顕著に発生させることができ、検出感度を高めることができる。
【００１６】
前記サーボモータにトルクリミットを設定した場合、前記可動電極を前記溶接ワークの表面に接するように位置決めした後、さらに、前記溶接ワークの表面から予め定められた距離だけオフセットした位置に前記可動電極を位置決めした状態から、前記サーボモータによって前記対向電極に接近させる方向に前記可動電極を予め定められた速度Ｖｇで移動させると同時に、前記多関節ロボットを用いて前記対向電極と前記溶接ワークとを互いに接近させるように前記スポット溶接ガンと前記溶接ワークとを前記速度Ｖｇと同じ速度で相対移動させることが好ましい。オフセットは、可動電極を溶接ワークに押し付ける方向に行われてもよく、離反させる方向に行われてもよい。スポット溶接ガンの可動電極が溶接ワークの表面に接する状態では、多関節ロボットの振動などでスポット溶接ガンが振動するだけで、可動電極が溶接ワークに接触したり離れたりして、溶接ワークからの反力が可動電極へ伝わったり抜けたりする不安定な状態になり、対向電極が溶接ワークに接触する前の状態でもサーボモータのトルクが変動し、可動電極を速度Ｖｇに維持するためのトルクの決定が困難となる。これに対して、可動電極を溶接ワークの表面からわずかに離せば、溶接ワークからの反力を除去することが可能となる。また、逆に、可動電極を溶接ワークにわずかに押し付ければ、溶接ワークから可動電極への反力が抜けることがないため、ほぼ一定の反力を安定して受けることができるようになる。したがって、可動電極を溶接ワークの表面からオフセットして位置決めすることによって、可動電極の速度Ｖｇで動作を維持するためのトルクを安定して決定することができるようになる。
【００１７】
上記溶接ワーク位置検出方法では、前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方を監視し、前記対向電極に対する前記可動電極の移動速度が一定から減少に転じたとき又は前記対向電極に対する前記可動電極の加速度が０から負に転じたときに、前記対向電極が前記溶接ワークに接触したと判断して、前記対向電極に対する前記可動電極の移動速度が一定から減少に転じたとき又は前記対向電極に対する前記可動電極の加速度が０から負に転じたときの前記対向電極の位置から、前記対向電極が接触する前記溶接ワークの表面位置を検出するようにしてもよい。この場合、一つの例として、前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方の値又は単位時間当たりの変化量が負の閾値以下になった時点から、前記対向電極に対する前記可動電極の移動速度又は加速度の時系列波形に沿って時刻を遡り、前記対向電極に対する前記可動電極の移動速度又は加速度の単位時間当たりの変化量が負の値から０又は正の値に変化する時点に、前記対向電極に対する前記可動電極の移動速度が一定から減少に転じた又は前記対向電極に対する前記可動電極の加速度が０から負に転じたと判断することができる。
【００１８】
また、上記溶接ワーク位置検出方法では、前記対向電極に対する前記可動電極の移動速度及び加速度の少なくとも一方を監視し、前記対向電極に対する前記可動電極の移動速度が減少したとき又は前記対向電極に対する前記可動電極の加速度が０から負に転じたときに、前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させる速度も同じ減少量分だけ減少させるか、もしくは前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させる加速度も同じ減少量分だけ減少させ、前記可動電極又は前記多関節ロボットの移動が停止したときに、前記対向電極が前記溶接ワークに接触したと判断して、前記可動電極又は前記多関節ロボットの移動が停止したときの前記対向電極の位置から、前記対向電極が接触する前記溶接ワークの表面位置を検出するようにしてもよい。
【００１９】
また、本発明によれば、サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、前記スポット溶接ガンと溶接ワークのうちの一方を保持し他方に対して相対移動させる多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記可動電極と前記対向電極との間に前記溶接ワークを挟んで前記溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記可動電極及び前記対向電極が接触する前記溶接ワークの表面位置をそれぞれ検出する溶接ワーク位置検出方法であって、前記可動電極と前記溶接ワークとが、互いに離れた状態から接近する又は互いに接触した状態から離反するように、前記多関節ロボットを用いて前記溶接ワークと前記スポット溶接ガンを相対移動させながら、前記サーボモータの電流又はトルクを監視し、前記電流又はトルクの変化傾向が変化したときに、前記可動電極が前記溶接ワークに接触した又は前記可動電極が前記溶接ワークから離れたと判断して、前記電流又はトルクの変化傾向が変化したときの前記可動電極の位置と前記多関節ロボットの位置とから前記可動電極が接触する前記溶接ワークの表面位置を検出するステップと、上述した溶接ワーク位置検出方法により前記対向電極が接触する前記溶接ワークの表面位置を検出するステップとを含む溶接ワーク位置検出方法が提供される。
【００２０】
上記溶接ワーク位置検出方法は、検出された前記可動電極が接触する前記溶接ワークの表面位置と、検出された前記対向電極が接触する前記溶接ワークの表面位置とから、前記溶接ワークの厚さを求めるステップをさらに含んでもよい。このように、溶接ワークの厚さを求めれば、予め設定されている溶接ワークの厚さと比較して、両者の差が予め定められた許容値を超えたときに、溶接ワークの厚さが異常であると判断することができる。これにより、作業者は、溶接ワークの取り違えや設置ミスを発見したり、検出ポイントの妥当性を判断することができ、作業ミスを防ぐことが可能になる。
【００２１】
以上のすべての溶接ワーク位置検出方法は、溶接を行うプログラム命令を実行することによって、実施されるようになっていることが好ましい。
【発明の効果】
【００２２】
本発明によれば、可動電極を溶接ワークの表面に接するように位置決めした状態又は要せうワークの表面から予め定められた距離だけオフセットした位置に位置決めされた状態から、対向電極に接近させる方向に可動電極を速度Ｖｇで移動させると共に対向電極と溶接ワークとを互いに接近させるようにスポット溶接ガンと溶接ワークとを速度Ｖｇと同じ速度で相対移動させるので、対向電極が溶接ワークに接触すると、対向電極に対する可動電極の移動が妨げられ、対向電極に対する可動電極の移動速度が予め定められた速度Ｖｇから減少すると共に、対向電極に対する可動電極の加速度は０から負に転じる。このことを利用して、対向電極に対する可動電極の移動速度又は加速度を監視することにより、溶接ワーク、スポット溶接ガン及び多関節ロボットの剛性の影響をほとんど受けずに、対向電極が溶接ワークに接触したことを検出することができ、対向電極が溶接ワークに接触したと判断したときの対向電極の位置データから、対向電極が接触する溶接ワークの表面位置を検出することができる。
【００２３】
また、求められた対向電極が接触する溶接ワークの表面位置と、別の方法により求めた可動電極が接触する溶接ワークの表面位置とから、溶接ワークの厚さを正確に求めることができる。
【図面の簡単な説明】
【００２４】
【図１】多関節ロボットによってスポット溶接ガンを保持して、固定された溶接ワークに対して相対移動させるスポット溶接システムの全体構成図である。
【図２】多関節ロボットによって溶接ワークを保持して、固定されたスポット溶接ガンに対して相対移動させるスポット溶接システムの全体構成図である。
【図３】可動電極を溶接ワークの表面に接触させた状態から、サーボモータによって可動電極を対向電極に向かって速度Ｖｇで接近させると同時に多関節ロボットによって溶接ワークにスポット溶接ガンの対向電極を速度Ｖｇと同じ速度Ｖｒで接近させることを示す説明図である。
【図４】可動電極が接触している溶接ワークの表面位置と対向電極が接触している溶接ワークの表面位置とから溶接ワークの厚さｔを計測する原理を示す説明図である。
【図５】サーボモータを回転させたとき又は可動電極を移動させたときのサーボモータのトルクの経時変化を示すグラフである。
【図６】サーボモータを回転させたとき又は可動電極を移動させたときのサーボモータのトルクがオーバーシュートした場合の経時変化した場合を示すグラフである。
【図７】サーボモータを回転させたとき又は可動電極を移動させたときに、スポット溶接ガンの機械的な抵抗によってモータトルクが様々な経時変化パターンをとることを示す説明図である。
【図８】サーボモータを所定の回転速度で回転させたとき又は可動電極を所定の移動速度で移動させたときに、可動電極と溶接ワークとの位置関係によってモータトルクが様々な経時変化パターンをとることを示す説明図である。
【図９】本発明の第１の実施形態に従って、可動電極を溶接ワークの表面に接触させた状態を保ったまま、多関節ロボットによって溶接ワークにスポット溶接ガンの対向電極を接近させることによって対向電極が接触する溶接ワークの表面位置を検出する方法のフローチャートである。
【図１０】本発明の溶接ワーク位置検出方法の第１の実施形態を実施したときのサーボモータのトルク、並びに、サーボモータの回転速度及び回転加速度（又は可動電極の移動速度及び加速度）の経時変化を示すグラフである。
【図１１】基準値からのサーボモータの回転速度又は可動電極の移動速度の変化量に基づいて、サーボモータの回転速度又は可動電極の移動速度の減少を検出する方法の説明図である。
【図１２】サーボモータの回転速度又は可動電極の移動速度の単位時間当たりの変化量に基づいて、サーボモータの速度又は可動電極の移動速度の減少を検出する方法の説明図である。
【図１３】サーボモータの回転速度又は可動電極の移動速度の時系列波形から解析的に変化点を求める方法の説明図である。
【図１４】基準値に対するサーボモータの回転加速度又は可動電極の加速度の変化量に基づいて、サーボモータの回転加速度又は可動電極の加速度の減少を検出する方法の説明図である。
【図１５】サーボモータの回転加速度又は可動電極の加速度の単位時間当たりの変化量に基づいて、サーボモータの回転加速度又は可動電極の加速度の減少を検出する方法の説明図である。
【図１６】サーボモータの回転加速度又は可動電極の加速度の時系列波形から解析的に変化点を求める方法の説明図である。
【図１７】本発明の第２の実施形態に従って、可動電極を溶接ワークの表面に接触させた状態を保ったまま、多関節ロボットによって溶接ワークにスポット溶接ガンの対向電極を接近させることによって対向電極が接触する溶接ワークの表面位置を検出する方法のフローチャートである。
【図１８】本発明の溶接ワーク位置検出方法の第２の実施形態を実施したときのサーボモータのトルク及びサーボモータの回転速度（又は可動電極の移動速度）と多関節ロボットの移動速度の経時変化を示すグラフである。
【図１９】本発明の溶接ワーク位置検出方法の第２の実施形態を実施したときのサーボモータのトルク及びサーボモータの回転加速度（又は可動電極の加速度）と多関節ロボットの加速度の経時変化を示すグラフである。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明の幾つかの実施形態を説明する。図面においては、同一の部分に同じ参照符号を付している。
最初に、図１及び図２を参照して、本発明の溶接ワーク位置検出方法を適用可能なスポット溶接システム１０の全体構成について説明する。
【００２６】
本発明の溶接ワーク位置検出方法を適用可能なスポット溶接システム１０は、多関節ロボット１２と、スポット溶接ガン１４と、多関節ロボット１２の動作を制御するロボット制御装置１６と、スポット溶接ガン１４の動作を制御するスポット溶接ガン制御装置１８とを備え、多関節ロボット１２によって溶接ワークＷとスポット溶接ガン１４とを相対移動させることができるようになっている。
【００２７】
多関節ロボット１２は、例えば４軸垂直多関節型であり、床上に設置される基台２０と、基台２０上に垂直軸線Ｊ１周りに回転可能に支持された旋回台２２と、水平軸線Ｊ２周りに回転可能に一端部を旋回台２２に支持された下部アーム２４と、水平軸線Ｊ３周りに回転可能に下部アーム２４の他端部に支持された上部アーム２６と、水平軸線Ｊ３に垂直な軸線Ｊ４周りに上部アーム２６に対して回転可能に支持された手首要素２８とを含む。しかしながら、多関節ロボット１２は、上記のような４軸垂直多関節型である必要はなく、スポット溶接ガン１４と溶接ワークＷとを相対移動させることができれば、６軸垂直多関節型ロボットなど他のタイプの多関節ロボットとすることができる。
【００２８】
スポット溶接ガン１４は、可動電極３０とこれと対向して配置される対向電極３２とからなる一対の電極を含み、可動電極３０はサーボモータ３４によって駆動されて対向電極３２に対して接近、離反されるようになっており、可動電極３０と対向電極３２とを閉じてその間に溶接ワークＷを挟み、この状態で可動電極３０と対向電極３２との間に電圧を印加することによりスポット溶接を行う。対向電極３２は、ガンアーム上に配置された固定電極であることが一般的であるが、可動電極３０と同様にサーボモータによって駆動されるようになっていてもよい。
【００２９】
図１及び図２では、ロボット制御装置１６とスポット溶接ガン制御装置１８が別個に設けられているが、ロボット制御装置１６とスポット溶接ガン制御装置１８が一体的に設けられていてもよい。また、スポット溶接ガン１４と溶接ワークＷとが相対移動できるようになっていれば、図１に示されているように、ワーク固定台（図示せず）上に溶接ワークＷを固定すると共にスポット溶接ガン１４を多関節ロボット１２の先端に水平軸線Ｊ５周りに回転可能に支持してもよく、図２に示されているように、床面上に設置されたガンスタンド３６にスポット溶接ガン１４を固定すると共に溶接ワークＷを多関節ロボット１２の先端に保持してもよい。後者のように溶接ワークＷを多関節ロボット１２の先端に保持する場合には、図２に示されているように、手首要素２８の先端に溶接ワークＷを把持するためのロボットハンド３８が水平軸線Ｊ５周りに回転可能に装着される。
【００３０】
本発明による溶接ワーク位置検出方法は、スポット溶接システム１０の教示作業で溶接ワークＷ上の所定の位置（以下、打点位置と記載する。）に対向電極３２を位置決めするときや打点位置の板厚を測定するときなどに、対向電極３２を用いて溶接ワークＷの対向電極側表面の位置を検出するために使用される。また、検出した溶接ワークＷの対向電極側表面の位置に基づいて、スポット溶接プログラムの打点教示位置データの修正や、新たな打点教示位置データの作成を行うために使用することもできる。
【００３１】
本発明による溶接ワーク位置検出方法では、最初に、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めすることを要する。そこで、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めする方法について説明する。
【００３２】
最も基本的な方法としては、作業者がスポット溶接ガン１４と多関節ロボット１２を操作して、溶接ワークＷの可動電極側表面と可動電極３０の位置を目視にて確認しながら、溶接ワークＷの可動電極側表面に可動電極３０を接するように位置決めする方法もあるが、他にも様々な方法を用いて、溶接ワークＷの可動電極側表面に可動電極３０を接するように位置決めすることができる。例えば、従来技術のように、多関節ロボット１２を操作して、スポット溶接ガン１４の可動電極３０と対向電極３２とを閉じたときに可動電極３０及び対向電極３２が溶接ワークＷ上の打点位置に接触する位置までスポット溶接ガン１４を移動させた後、サーボモータ３４の駆動によって可動電極３０を対向電極３２へ向かって移動させ、サーボモータ３４の電流又はトルクが予め定められた閾値に達したときに可動電極３０と溶接ワークＷとが接触したと判断して、サーボモータ３４の駆動を停止させることにより、溶接ワークＷの可動電極側表面に可動電極３０を接するように位置決めすることができる。
【００３３】
また、サーボモータ３４による対向電極３２に対する可動電極３０の移動に代えて、多関節ロボット１２を用いてスポット溶接ガン１４と溶接ワークＷとを相対移動させることによって可動電極３０と溶接ワークＷとを接近、離反させて、可動電極３０が溶接ワークＷから離れた状態から可動電極３０と溶接ワークＷとを互いに接触させる動作又は可動電極３０と溶接ワークＷとが互いに接触した状態から完全に離れさせる動作の少なくとも一部を行わせながら、サーボモータ３４の電流又はトルクを監視し、サーボモータ３４の電流又はトルクの変化傾向が変化したときに、可動電極３０が溶接ワークＷに接触した又は可動電極３０が溶接ワークＷから完全に離れたと判断して、接触した又は離れたと判断したときの位置に可動電極３０を位置決めしてもよい。
【００３４】
後者の方法の一例として、例えば、多関節ロボット１２を操作して、スポット溶接ガン１４の可動電極３０と対向電極３２とを閉じたときに溶接ワークＷ上の打点位置に可動電極３０及び対向電極３２が接触する位置までスポット溶接ガン１４を移動させた後、サーボモータ３４によって可動電極３０を速度Ｖｇで駆動しながら、多関節ロボット１２を用いて、可動電極３０と溶接ワークＷとを互いに離れた状態から接近させる方向にスポット溶接ガン１４と溶接ワークＷとを相対移動させ、同時にサーボモータ３４の電流又はトルクを監視する。可動電極３０が溶接ワークＷに接触すると、溶接ワークＷが可動電極３０に押圧されて弾性変形を生じ、その反力が溶接ワークＷから可動電極３０に作用するので、可動電極３０を対向電極３２に対して速度Ｖｇで移動する状態を維持しようとして、サーボモータ３４のトルク及び電流が増加する。このことを利用して、サーボモータ３４の電流又はトルクを監視し、サーボモータ３４の電流又はトルクが予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極３０が溶接ワークＷに接触したと判断して、このときの位置を可動電極３０が溶接ワークＷに接する位置とみなして、この位置に可動電極３０を位置決めする。サーボモータの電流又はトルクが予め定められた基準状態と比較して増加する傾向に転じたことは、例えばサーボモータ３４の電流又はトルクが基準状態のサーボモータ３４の電流又はトルクの値よりも予め定められた閾値以上に増加したことやサーボモータ３４の電流又はトルクの単位時間当たりの変化量が基準状態のサーボモータ３４の電流又はトルクの単位時間当たりの変化量よりも予め定められた閾値以上増加したことを検出することによって検出することができる。
【００３５】
なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量よりも増加したときを意味する。また、基準状態は、スポット溶接ガン１４と溶接ワークＷとの相対移動開始後で且つ可動電極３０と溶接ワークＷとの接触前の予備動作区間におけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量から定められる。
【００３６】
また、他の方法として、多関節ロボット１２を操作して、スポット溶接ガン１４の可動電極３０と対向電極３２とを閉じたときに溶接ワークＷ上の打点位置に可動電極３０及び対向電極３２が接触する位置までスポット溶接ガン１４を移動させた後、サーボモータ３４によって可動電極３０を速度Ｖｇで駆動しながら、多関節ロボット１２を用いて、可動電極３０と溶接ワークＷとを互いに押し付けた状態から離反させる方向にスポット溶接ガン１４と溶接ワークＷとを相対移動させ、同時にサーボモータ３４の電流又はトルクを監視する。可動電極３０と溶接ワークＷとを互いに押し付けた状態から多関節ロボット１２を用いて可動電極３０が溶接ワークＷから離反する方向に移動すると、可動電極３０による溶接ワークＷの弾性変形量が減少して、溶接ワークＷから可動電極３０に作用する反力も減少し、サーボモータ３４の電流及びトルクが減少する。さらに、可動電極３０が溶接ワークＷから完全に離れると、可動電極３０の押圧による溶接ワークＷの弾性変形がなくなって、溶接ワークＷから可動電極３０に作用する反力が解消され、サーボモータ３４のトルク及び電流の減少も止まって、ほぼ一定となる。このことを利用して、サーボモータ３４の電流又はトルクを監視し、サーボモータ３４の電流又はトルクが予め定めておいた基準状態と比較して増加する傾向に転じたとき（サーボモータ３４の電流又はトルクの減少傾向が終了したとき）に、可動電極３０が溶接ワークＷから完全に離れたと判断して、このときの位置を可動電極３０が溶接ワークＷに接する位置とみなして、この位置に可動電極３０を位置決めする。サーボモータ３４の電流又はトルクが予め定めておいた基準状態と比較して増加する傾向に転じたこと（サーボモータ３４の電流又はトルクの減少傾向が終了したこと）は、例えばサーボモータ３４の電流又はトルクの時系列データを解析することによって、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値よりも予め定められた閾値以上増加したことやサーボモータ３４の電流又はトルクの単位時間当たりの変化量が、基準状態の単調減少を表す負の値から０又は正の値になることを検出すること、サーボモータ３４の電流又はトルクの時系列波形の変化傾向の変化点を解析的に求めることなどによって検出することができる。
【００３７】
なお、「基準状態と比較して増加する傾向に転じたとき（減少傾向が終了したとき）」とは、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ３４の値又は単位時間当たりの変化量よりも増加したときを意味する。また、基準状態は、スポット溶接ガン１４と溶接ワークＷとの相対移動開始後で且つ可動電極３０と溶接ワークＷとの離隔前の予備動作区間におけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量から定められる。
【００３８】
このように、サーボモータ３４による対向電極３２に対する可動電極３０の移動に代えて、多関節ロボット１２を用いてスポット溶接ガン１４と溶接ワークＷとを相対移動させることによって可動電極３０と溶接ワークＷとを接近、離反させて、可動電極３０が溶接ワークＷから離れた状態から可動電極３０と溶接ワークＷとを互いに接触させる動作又は可動電極３０と溶接ワークＷとが互いに接触した状態から完全に離れさせる動作の少なくとも一部を行わせれば、サーボモータ３４による可動電極３０の移動速度を抑えて、可動電極駆動機構内の動摩擦によるサーボモータ３４の電流又はトルクの揺らぎを低減させることができる。この結果、可動電極３０と溶接ワークＷとの接触によるサーボモータ３４の電流又はトルクの変化傾向の変化をより正確に検出することを可能とさせ、溶接ワークＷの表面位置をより正確に検出できるようになる。
【００３９】
特に、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、可動電極３０と溶接ワークＷとを接触させる動作又は接触した状態から完全に離れさせる動作の全てを多関節ロボット１２の移動によって行わせれば、可動電極３０によって溶接ワークＷの表面の位置を検出するときに、可動電極３０はサーボモータ３４によって駆動されないので、可動電極駆動機構内の動摩擦によるサーボモータ３４の電流又はトルクの揺らぎがほとんど無くなる。したがって、可動電極３０と溶接ワークＷとが接触したとき又は可動電極３０が溶接ワークＷから完全に離れたときのサーボモータ３４の電流又はトルクの変化傾向の変化を正確に検出することが可能となり、溶接ワークＷの表面位置を正確に検出できるようになる。
【００４０】
また、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを静摩擦が除去できる程度の極めて低い速度にしてもよい。サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、対向電極３２に対して可動電極３０を完全に静止させていると、可動電極駆動機構内の静摩擦に起因して、可動電極３０が溶接ワークＷに接触しているときに溶接ワークＷから受ける反力が損失してサーボモータ３４に伝達されず、反力を受けているにもかかわらずサーボモータ３４の電流又はトルクがほとんど変動しない不感帯が生じてしまう。このような不感帯は、静摩擦が大きい場合、可動電極３０による溶接ワークＷの表面の検出精度に悪影響を及ぼす可能性がある。これに対して、静摩擦が除去できる程度の極めて低い速度でサーボモータ３４によって可動電極３０を駆動すれば、このような不感帯を解消させることができる。また、静摩擦が除去できる程度の極めて低い速度Ｖｇで対向電極３２に対して可動電極３０を移動させても、可動電極駆動機構内の動摩擦は小さくなるので、動摩擦によるサーボモータ３４の電流又はトルクの揺らぎは最小限に抑えることができる。
【００４１】
次に、対向電極３２が接触する溶接ワークの表面位置を検出する溶接ワーク位置検出方法を説明する。最初に、多関節ロボット１２を操作して、スポット溶接ガン１４の可動電極３０と対向電極３２とを閉じたときに溶接ワークＷ上の打点位置に可動電極３０及び対向電極３２が接触する位置までスポット溶接ガン１４を移動させ、任意の方法により、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めする。なお、可動電極３０を駆動するサーボモータ３４にトルクリミットを設定する場合に限っては、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めした後、さらに、この位置から予め定められた距離だけオフセットした位置に可動電極３０を位置決めしてもよい。理由については、後述する。次に、図３に示されているように、溶接ワークＷの可動電極側表面に接する状態から対向電極３２に接近させる方向にサーボモータ３４によって可動電極３０を予め定められた速度Ｖｇで移動させると同時に、多関節ロボット１２を用いて対向電極３２と溶接ワークＷとを互いに離れた状態から接近させる方向にスポット溶接ガン１４と溶接ワークＷとを速度Ｖｇと等しい速度Ｖｒで相対移動させ、対向電極３２に対する可動電極３０の移動速度及び加速度の少なくとも一方を監視する。そして、対向電極３２に対する可動電極３０の移動速度及び加速度の少なくとも一方の監視により対向電極３２と溶接ワークＷとの接触を検出すると、検出したときの対向電極３２の先端の位置から溶接ワークＷの対向電極側表面位置を求める。対向電極３２に対する可動電極３０の移動速度及び加速度は、直接的に測定してもよく、可動電極３０を駆動するサーボモータ３４から求めてもよい。
【００４２】
なお、対向電極に対する可動電極の移動速度及び加速度の監視は、可動電極を駆動するためのサーボモータの回転速度及び回転加速度の監視とそれぞれ等価であり、対向電極に対する可動電極の移動速度及び加速度の監視には、可動電極を駆動するためのサーボモータの回転速度及び回転加速度の監視がそれぞれ含まれるものとする。
【００４３】
ここで、対向電極３２が溶接ワークＷに接触したときの対向電極３２の先端の位置の位置データは、多関節ロボット１２の手首要素２８の先端の位置データに基づいて、例えば以下のようにして求められる。
【００４４】
床面から基台２０上に支持される旋回台２２の水平軸線Ｊ２までの距離、垂直軸線Ｊ１と水平軸線Ｊ２との軸間距離、水平軸線Ｊ２と水平軸線Ｊ３との軸間距離、水平軸線Ｊ３と軸線Ｊ４との軸間距離が一定であるので、多関節ロボット１２の手首要素２８の先端の位置は、多関節ロボット１２の各軸の回転角度から求めることができる。また、多関節ロボット１２の手首要素２８の先端からスポット溶接ガン１４の対向電極３２の先端までの位置は、予め定められており常に一定である。したがって、多関節ロボット１２の手首要素２８の先端の位置データと多関節ロボット１２の手首要素２８の先端とスポット溶接ガン１４の対向電極３２の先端との位置関係から、スポット溶接ガン１４の対向電極３２の先端の位置データが求められる。
【００４５】
上記の溶接ワーク位置検出方法は、多関節ロボット１２を駆動するサーボモータの電流又はトルクや可動電極３０を駆動するサーボモータ３４の電流又はトルクではなく、対向電極３２に対する可動電極３０の移動速度及び加速度の少なくとも一方を監視することを特徴としている。対向電極３２が溶接ワークＷに接触するまでは、対向電極３２に対する可動電極３０の移動速度は、Ｖｇで一定である。一方、可動電極３０が溶接ワークＷに接した状態を保ったまま、対向電極３２が溶接ワークＷに接触すると、可動電極３０と対向電極３２との間に溶接ワークＷを挟み込む状態になるので、対向電極３２に対する可動電極３０の移動が妨げられ、対向電極３２に対する可動電極３０の移動速度が予め定められた値Ｖｇから減少し、やがて０になる。このとき、対向電極３２に対する可動電極の加速度は、０から負の値に転じ、やがて再び０になる。したがって、対向電極３２に対する可動電極３０の移動速度又は加速度を監視すれば、溶接ワークＷ、多関節ロボット１２及びスポット溶接ガン１４の剛性の影響をほとんど受けずに、対向電極３２が溶接ワークＷに接触したことを検出することができる。また、対向電極３２が溶接ワークＷに接触したときの対向電極３２の位置から溶接ワークＷの対向電極側表面位置を検出するので、溶接ワークＷの表面の打点位置に対向電極３２を位置決めするに先立って、打点位置における溶接ワークＷの厚さを計測する必要がない。
【００４６】
本発明の溶接ワーク表面検出方法では、対向電極３２に対して可動電極３０を駆動するサーボモータ３４にトルクリミットを設定することが好ましい。このようにサーボモータ３４にトルクリミットを設定すれば、対向電極３２が溶接ワークＷに接触したときにサーボモータ３４のトルクが即座にトルクリミットに達する。この結果、サーボモータ３４による可動電極３０の動作が制限され、対向電極３２が溶接ワークＷに接触したときにサーボモータ３４の回転速度及び回転加速度すなわち可動電極３０の移動速度及び加速度をより顕著に低下させることができ、接触の検出が容易となる。
【００４７】
サーボモータ３４のトルクリミットの値は、スポット溶接ガン１４と溶接ワークＷとの相対移動により溶接ワークＷから離れた状態から対抗電極３２を溶接ワークＷに接触させる動作中、すなわち対向電極３２が溶接ワークＷから離れた状態で対向電極３２に対して可動電極３０を速度Ｖｇで移動させているときのサーボモータ３４のトルクに基づいて、決定することが望ましい。可動電極３０が移動速度Ｖｇで動作しているときは、サーボモータ３４は可動電極３０を速度Ｖｇで移動させるのに必要なトルクを出力している。この速度Ｖｇで移動するのに必要なトルクを上記動作中に測定し、サーボモータ３４のトルクリミットの値として設定すれば、対向電極３２と可動電極３０の間に溶接ワークＷを挟み込んだときに、サーボモータ３４は可動電極３０によって対向電極３２及び溶接ワークＷを押し返させることができず、可動電極３０は移動速度Ｖｇを維持させることができなくなる。すなわち、可動電極３０の移動速度及び可動電極３０の加速度をさらに顕著に低下させることができるようになるので、より高感度に接触を検出することが可能となる。なお、サーボモータ３４のトルクリミットの値として、可動電極３０を速度Ｖｇで移動させるのに必要なトルクを実際に設定する際には、多少のマージンを加味して、誤検出を防ぐことが望ましい。この加味するマージンによって検出感度を調整できるのはいうまでもない。
【００４８】
サーボモータ３４のトルクリミットの値を決定するタイミングは、対向電極３２が溶接ワークＷから離れた状態で対向電極３２に対して可動電極３０が速度Ｖｇで移動しているときであればいつでもよい。典型的には、可動電極３０が対向電極３２に対する相対移動を開始した直後は、まだ、対向電極３２が溶接ワークに接していないので、このときのサーボモータ３４のトルク出力に基づいてトルクリミットの値を決定すればよい。例えば、図５に示されるように、対向電極３２に対する可動電極３０の移動速度がＶｇになった時刻Ｔａ以降におけるサーボモータ３４のトルク出力に基づいてトルクリミットの値を設定すればよい。しかしながら、移動開始直後は、サーボモータ３４が加速動作を開始したばかりであり、図６（ａ）及び（ｂ）に示されるように、可動電極３０の移動速度がＶｇに到達しても、サーボモータ３４のトルク出力は不安定で、オーバーシュートが発生することがある。したがって、図６（ａ）及び（ｂ）に示されるように、移動を開始してから予め定められた時間が経過しサーボモータ３４のトルク出力が安定した時刻Ｔｂにおけるトルクに基づいて、サーボモータ３４のトルクリミットの値を決定することが好ましい。なお、トルクリミットの値を設定する前に対向電極３２が溶接ワークに接しないようにするために、対向電極３２と溶接ワークＷとの間を引き離して十分な距離を確保してから検出動作を開始することが好ましい。
【００４９】
さらに、対向電極３２に対して可動電極３０が速度Ｖｇで移動している際に予め定められた時間が経過しても対向電極３２と溶接ワークＷとが接触していないと判断されたときには、その予め定められた時間内のサーボモータ３４のトルク出力に基づいてトルクリミットの値を決定するようにしてもよい。この予め定めれた時間を短くすれば、トルクリミットの設定値を一定時間毎に定期的に更新するようにすることができる。図７（ａ）に示されるように対向電極３２に対して可動電極３０が一定速度で相対移動しているときでも、スポット溶接ガン１４に存在する機械的な抵抗（例えば、駆動部分の内部摩擦や、可動電極と溶接トランス（図示しない）とを接続する導電部の弾性変形など）によって、サーボモータ３４のトルク出力は、一定値に安定せず、緩やかに上昇したり（図７（ｂ））、緩やかに減少したり（図７（ｃ））、揺らいだり（図７（ｄ））する場合がある。このようにサーボモータ３４のトルク出力が一定値に安定しない場合において、トルクリミットの設定値を定期的に更新することは有効な手段となる。例えば、図７（ａ）〜（ｄ）に示されるように、一定間隔ΔＴごとの時刻Ｔｃ、Ｔｄ、Ｔｅにおけるサーボモータ３４のトルクに基づいてトルクリミットの設定値の更新を定期的に繰り返せば、適切なトルクリミットを設定することができる。
【００５０】
可動電極３０を駆動するサーボモータ３４にトルクリミットを設定する場合に限っては、可動電極３０を溶接ワークＷの可動電極側表面に接する位置から既知の距離だけわずかにオフセットした位置に位置決めしめもよいと先述したが、ここで、その理由について述べる。
【００５１】
実際に可動電極３０を溶接ワークＷの可動電極側表面に接した状態で対向電極３２と溶接ワークＷとの接触を検出するための動作を行うと、多関節ロボット１２が動作する際に発生する微小な振動によって、可動電極３０が溶接ワークＷに対してわずかに押し付けられたり溶接ワークＷから離されたりするため、溶接ワークＷからの反力を受けたり受けなかったりする不安定な状態になりやすい。サーボモータ３４のトルクは可動電極３０の移動速度を一定に保つように制御されるので、溶接ワークＷから反力を受けると、溶接ワークＷを押し返す分のトルクが余計に必要となる。したがって、サーボモータ３４の回転速度又は可動電極３０の移動速度が図８（ａ）に示されるように一定であったとしても、可動電極３０が溶接ワークＷに対してわずかに押し付けたり離れたりする状態下では、図８（ｂ）に示されるように、サーボモータ３４のトルクは溶接ワークＷから反力を受けた状態での値Ｔ‘と受けていない状態での値Ｔとの間で揺らいで不安定になる。一方、接触の検出感度を向上させるためには、サーボモータ３４のトルクリミットは、可動電極３０が速度Ｖｇでの移動を維持できる最低限のトルクと等しい値に設定することが好ましい。したがって、可動電極３０に伝わる不安定な反力の影響は可能な限り除去することが望ましい。
【００５２】
可動電極３０を被溶接ワークＷからわずかに離した状態で対向電極３２と溶接ワークＷとの接触を検出するための動作を行うことで、溶接ワークＷからの反力を除去することができ、図８（ｃ）に示されるように、サーボモータ３４のトルクはサーボモータ３４が溶接ワークＷから反力を受けていない状態の値Ｔを維持することが可能となる。また、逆に、可動電極３０を被溶接ワークＷにわずかに押し付けた状態で対向電極３２と溶接ワークＷとの接触を検出するための動作を行えば、溶接ワークＷからの反力が抜けることがなく、サーボモータ３４はほぼ一定の反力を安定して受けることができるので、図８（ｄ）に示されるように、サーボモータ３４のトルクはサーボモータ３４が溶接ワークＷから反力を受けている状態の値Ｔ’を維持することが可能となる。すなわち、サーボモータ３４のトルク出力に一定のバイアスを与えることに等しくなる。これにより、サーボモータ３４のトルクが安定するため、速度Ｖｇでの可動電極３０の移動を維持するためのトルクを的確に且つ容易に決定することができるようになる。なお、オフセットした場合は対向電極３２による溶接ワークＷの検出位置はオフセット距離分だけずれることになるが、オフセット距離は予め定められた既知の値であるので、検出された溶接ワークＷの表面位置にオフセット距離を加味すれば正確な溶接ワークＷの表面位置を得ることができる。
【００５３】
また、多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータ（図示せず）にトルクリミットを設定するようにしてもよい。これにより、可動電極３０及び対向電極３２による溶接ワークの弾性変形を抑制することができる。可動電極３０を駆動するサーボモータ３４と多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータの両方又は一方のみにトルクリミットを設定してもよいことはもちろんである。
【００５４】
多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータ（図示せず）にトルクリミットを設定する場合においても、スポット溶接ガン１４と溶接ワークＷとの相対移動により溶接ワークＷから離れた状態から対抗電極３２を溶接ワークＷに接触させる動作中、すなわち対向電極３２が溶接ワークＷから離れた状態で溶接ワークＷに対して対向電極３２を可動電極３０の速度Ｖｇに等しい速度Ｖrで相対移動させるように多関節ロボット１２が動作させているときの多関節ロボットのサーボモータののトルクに基づいて、トルクリミットの値を決定することが望ましい。その理由及びトルクリミットの設定値の決定方法は、可動電極３０を駆動するサーボモータ３４にトルクリミットを設定する場合と同様であるので、ここでは説明を省略する。
【００５５】
また、本発明の溶接ワーク位置検出方法では、作業者が手動操作によって一工程ずつ進めてもよいが、スポット溶接システム１０が一連の工程を自動的に実行してもよい。例えば、既に全溶接打点位置及びスポット溶接を行うプログラム命令が教示されているスポット溶接プログラムにおいて、上記工程を自動で実行するモードを有効にしてスポット溶接プログラムを再生したときに、溶接ワーク位置検出プログラムを自動的に再生することで、各溶接打点位置近傍に自動的に多関節ロボット１２を移動させ、スポット溶接を行うプログラム命令を実行することで、上記工程を自動的に実行して溶接ワークＷの表面位置の検出を行い、その検出位置に基づいてその溶接ワークＷについて打点教示位置データの修正を行い、さらにその修正量（ずれ量）もロボット制御装置１６に記録することもできる。記録した修正量をロボット制御装置１６に備えられた教示操作盤に表示するようにしてもよい。また、記録した修正量が過大である場合に、溶接ワークＷの位置の異常として、ロボット制御装置１６に備えられた教示操作盤にアラーム通知したり、ロボット制御装置１６と通信できるライン制御盤やコンピュータなどの外部制御装置にアラーム通知したりしてもよい。
【００５６】
さらに、本発明による溶接ワーク位置検出方法を用いて検出した溶接ワークＷの対向電極側表面位置と、溶接ワークＷの可動電極側表面位置とを用いて、図４に示されているように、打点位置における溶接ワークＷの厚さｔを計測することもできる。溶接ワークＷの可動電極側表面位置は、例えば、スポット溶接ガン１４の対向電極３２の先端の位置データと、スポット溶接ガン１４の対向電極３２の先端に対する可動電極３０の先端の相対位置データとから求めることができ、スポット溶接ガン１４の対向電極３２の先端の位置データは、上述した対向電極３２の位置データの求め方と同様にして、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めしたときの多関節ロボット１２の先端の位置データからスポット溶接ガン１４の対向電極３２の先端の位置データを求めることができる。
【００５７】
なお、溶接ワークＷの可動電極側表面位置の検出は、前述したように、例えば、可動電極３０と溶接ワークＷとが、互いに離れた状態から接近するか又は互いに接触した状態から離反するように、多関節ロボット１２を用いて溶接ワークＷとスポット溶接ガン１４とを相対移動させながら、サーボモータ３４の電流又はトルクを監視し、電流又はトルクの変化傾向が変化したときに、可動電極３０が溶接ワークＷに接触した又は可動電極３０が溶接ワークＷから離れたと判断して、電流又はトルクの変化傾向が変化したときの可動電極３０の位置と多関節ロボット１２の位置とから可動電極３０が接触する溶接ワークＷの表面位置を検出することによって行うことができる。また、このように検出された溶接ワークＷの表面位置に基づいて、検出された可動電極側表面位置に可動電極３０を正確に位置決めすることが可能となる。したがって、対向電極３２が接触する溶接ワークＷの表面位置を検出するステップを開始する前に、上述したように予め検出しておいた溶接ワークＷの可動電極側表面位置へ可動電極３０を位置決めしておけば、より正確に対向電極３２が接触する溶接ワークＷの表面位置を検出することができる。
【００５８】
求められた各溶接打点における溶接ワークＷの厚さｔは、スポット溶接プログラムを教示するときに溶接打点における溶接ワークＷの厚さを事前に設定する必要がある場合に使用することができる。実際の工場では、数百もの溶接打点における溶接ワークＷの正確な厚さをそれぞれ設定しなければならない場合があり、このような場合に、上述したように求められた各溶接打点における溶接ワークＷの厚さを使用することが助けとなる。さらに、既に教示したスポット溶接プログラムを修正する場合に、予め設定されている溶接ワークＷの厚さ情報を、上記のようにして打点ごとに実際に計測した厚さに修正することもできる。これにより、作業者が溶接ワークＷの厚さ情報を予め設定するときには設定を正確に行う必要がなくなる。
【００５９】
加えて、予め設定された溶接ワークＷの厚さと計測した溶接ワークＷの厚さとを比較し、両者の差が過大である場合には、ワーク厚さの以上であり、溶接ワークＷの異常又は計測位置の異常があると判断することもできる。例えば、設定されている溶接ワークＷの厚さに比べて、計測した溶接ワークＷの厚さが厚すぎる場合は、可動電極３０と対向電極３２との間に埋め込みボルトなどの異物が存在することが考えられ、溶接打点としての検出位置が不適正であると判断できる。さらに、溶接ワークＷが適正に設置されていない場合にも、設定されている溶接ワークＷの厚さと計測した溶接ワークＷの厚さの差は過大になるので、溶接ワークＷの異常と判断できる。また、設定されている溶接ワークＷの厚さと計測した溶接ワークＷの厚さの差は過大でありながら溶接ワークの異常や溶接打点位置の異常も見られない場合には、可動電極３０又は対向電極３２の摩耗が大きくなっている可能性があると考えることもできる。これらの異常を検出した場合には、ロボット制御装置１６に設けられた教示操作盤やロボット制御装置１６と通信できる外部制御装置（ライン制御盤やコンピュータなど）にアラーム通知用信号を出力することもできる。
【００６０】
以下では、本発明に従って溶接ワークＷの対向電極側表面位置を検出する方法の幾つかの具体的な実施形態を説明する。本発明の溶接ワーク位置検出方法では、多関節ロボット１２によってスポット溶接ガン１４と溶接ワークＷとを相対移動させることができれば同じ効果を得ることができるが、以下においては、説明の簡単化のために、図１に示されているように、スポット溶接ガン１４を多関節ロボット１２によって保持して、溶接ワークＷに対して相対移動させる場合を例として説明する。しかしながら、図２に示されているように、溶接ワークＷを多関節ロボット１２によって保持してスポット溶接ガン１４に対して相対移動させてもよく、この場合、以下の説明において、多関節ロボット１２によってスポット溶接ガン１４を移動させる代わりに溶接ワークＷを移動させればよい。
【実施例１】
【００６１】
図９を参照して、本発明の溶接ワーク位置検出方法の第１の実施形態を説明する。第１の実施形態では、図１に示されているスポット溶接システム１０において、サーボモータ３４によって可動電極３０を対向電極３２に接近させる方向に予め定められた速度Ｖｇで移動させながら多関節ロボット１２によってスポット溶接ガン１４を保持してワーク固定台（図示せず）に固定された溶接ワークＷに対して速度Ｖｇと同じ速度Ｖｒで互いに接近させる方向に相対移動させる。
【００６２】
本実施形態では、最初に、多関節ロボット１２を操作して、可動電極３０と対向電極３２とが閉じたときに溶接ワークＷ上の溶接箇所（打点位置）に接触するような位置までスポット溶接ガン１４を移動させ、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めする（ステップＳ１００）。このとき、対向電極３２は、溶接ワークＷから完全に離れた状態になっている。溶接ワークＷの可動電極側表面に対する可動電極３０の位置決めは、上述したように、任意の方法によって行えばよい。
【００６３】
次に、図３に示されているように、サーボモータ３４によって可動電極３０を溶接ワークＷの可動電極側表面に接する状態から対向電極３２に接近させる方向に予め定められた速度Ｖｇで移動させると共に、多関節ロボット１２を用いて対向電極３２と溶接ワークＷとを互いに離れた状態から接近させる方向にスポット溶接ガン１４と溶接ワークＷとを速度Ｖｇと等しい速度Ｖｒで相対移動させる（ステップＳ１０２）。すなわち、可動電極３０と溶接ワークＷとの相対位置を変えずに可動電極３０が溶接ワークＷに接した状態を保ったまま、対向電極３２を溶接ワークＷに接近させる。同時に、可動電極３０の移動速度及び加速度の少なくとも一方を監視する（ステップＳ１０４）。可動電極３０の移動速度及び加速度は、直接的に測定してもよく、可動電極３０を駆動するサーボモータ３４の回転速度及び回転加速度から求めてもよい。また、対向電極３２に対する可動電極３０の移動速度及び加速度は、可動電極３０を駆動するためのサーボモータ３４の回転速度及び回転加速度にそれぞれ比例するので、可動電極３０の移動速度又は加速度に代えて、可動電極３０を駆動するサーボモータ３４の回転速度又は回転加速度を監視してもよい。監視の際には、サンプリング時間毎に、可動電極３０の移動速度又は加速度あるいはサーボモータ３４の回転速度又は回転加速度の情報と共に、多関節ロボット１２の手首要素２８の先端の位置データ及び対向電極３２に対する可動電極３０の相対位置データを逐次記録していく。
【００６４】
次に、スポット溶接ガン１４の可動電極３０を駆動するサーボモータ３４と多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータ（図示せず）にトルクリミットを設定するか否かを決定する（ステップＳ１０６）。トルクリミットを設定する場合には、ステップＳ１０８に進み、スポット溶接ガン１４の可動電極３０を駆動するサーボモータ３４へのトルクリミットの設定と多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータへのトルクリミットの設定の少なくとも一方を行った後、ステップＳ１１０に進む。各サーボモータのトルクリミットは、以降で対向電極３２と溶接ワークＷとの接触を検出するための動作を行うために必要なトルクが十分出力できるような値に設定される。ステップＳ１０２以降では、可動電極が速度Ｖｇで移動し、多関節ロボット１２の手首要素２８の先端すなわち対向電極３２は速度Ｖｒで移動しているので、このときにそれぞれのサーボモータが実際に出力しているトルクに基づいて、各サーボモータのトルクリミットの値を設定することが好ましい。また、トルクリミットの設定値は、予め定められた値としてもよい。一方、トルクリミットを設定しない場合には、ステップＳ１０６から直接ステップＳ１１０に進む。
【００６５】
可動電極３０が溶接ワークＷに接した状態を保ったまま対向電極３２が溶接ワークＷに接触すると、可動電極３０と対向電極３２との間に溶接ワークＷを挟み込む形となって、対向電極３２に対する可動電極３０の移動が妨げられる。すると、サーボモータ３４は移動速度Ｖｇを一定に維持するように制御されるため、より大きなトルクを出力しようとするが、サーボモータ３４の出力限界に達して、可動電極３０を駆動するサーボモータ３４の回転速度が減少する。この結果、設定された速度Ｖｇを維持できなくなり、対向電極３２に対する可動電極３０の移動速度が予め定められた値Ｖｇから減少する。また、対向電極３２に対する可動電極３０の加速度は、０から負の値に転じる。このことを利用して、対向電極３２に対する可動電極３０の移動速度又はサーボモータ３４の回転速度、もしくは対向電極３２に対する可動電極３０の加速度又はサーボモータ３４の回転加速度を逐次チェックし（ステップＳ１１０）、対向電極３２に対する可動電極３０の移動速度又はサーボモータ３４の回転速度が減少したとき、もしくは対向電極３２に対する可動電極３０の加速度又はサーボモータ３４の回転加速度が０から負の値に転じたときに、対向電極３２が溶接ワークＷに接触したと判断する。また、対向電極３２が溶接ワークＷに接触していないと判断された場合には、ステップＳ１０４に戻り、可動電極の移動速度及び加速度の少なくとも一方の監視を続け、さらに、ステップＳ１０６で、再度トルクリミットを設定しなおすか否かを決定する。トルクリミットを設定しなおす場合は、例えば、ステップＳ１０８で可動電極３０を駆動するサーボモータ３４と多関節ロボット１２の各軸を駆動するサーボモータがそれぞれ出力しているトルクに基づいてトルクリミットの値を決定しなおし、再設定すればよい。トルクリミットの設定値の更新は、予め定められた時間間隔で行ってもよい。
【００６６】
可動電極３０を駆動するサーボモータ３４にトルクリミットが設定されている場合には、対向電極３２が溶接ワークＷに接触した後、サーボモータ３４のトルクが出力限界より早くトルクリミットに達するので、サーボモータ３４の回転速度及び可動電極３０の移動速度がより速く減少し、これと同時に、サーボモータ３４の回転加速度及び可動電極３０の加速度も変化する。特に、対向電極３２が溶接ワークＷに接触する前のサーボモータ３４のトルクとほぼ等しい又は僅かに大きい値にサーボモータ３４のトルクリミットが設定されている場合、対向電極３２が溶接ワークＷに接触したことを即座に検出することができる。
【００６７】
対向電極３２が溶接ワークＷに接触したと判断すると、対向電極３２に対する可動電極３０の移動及び多関節ロボット１２の動作を停止させて、対向電極３２が溶接ワークＷに接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置データと手首要素２８の先端に対するスポット溶接ガン１４の対向電極３２の先端の相対位置データとに基づいて、溶接ワークＷの対向電極側表面の位置を検出し、溶接ワークＷの表面位置の検出工程を終了する（ステップＳ１１２）。
【００６８】
図１０は、本実施形態に従って対向電極３２が接触する溶接ワークＷの対向電極側表面を検出するときのサーボモータ３４のトルク、回転速度及び回転加速度の変化を時系列で表したグラフを示しており、（ａ）がトルクのグラフ、（ｂ）が回転速度のグラフ、（ｃ）が回転加速度のグラフである。なお、対向電極３２に対する可動電極３０の移動速度の変化を時系列で表したグラフも図１０（ｂ）と同様になり、対向電極３２に対する可動電極３０の加速度の変化を時系列で表したグラフも図１０（ｃ）と同様になる。また、図１０において、区間Ａは、検出動作を行っていない状態、区間Ｂは、検出動作中で対向電極３２がまだ溶接ワークＷに接触していない状態、区間Ｃは、検出動作中で対向電極３２が溶接ワークＷに接触している状態を示す。
【００６９】
検出動作開始前において、可動電極３０は対向電極３２に対して静止しており、サーボモータ３４によって駆動されていない。したがって、区間Ａでは、サーボモータ３４のトルクはある値で一定となり、回転速度及び回転加速度は０となる。一方、検出動作が始まると、可動電極３０は対向電極３２に対して速度Ｖｇで移動させられるので、区間Ｂでは、対向電極３２に対する可動電極３０の移動速度が速度Ｖｇに到達するまでサーボモータ３４のトルク及び回転速度が増加し、Ｖｇに到達すると両者とも一定となる。したがって、対向電極３２に対する可動電極３０の加速度及びサーボモータ３４の回転加速度は、対向電極３２に対する可動電極３０の移動速度がＶｇに到達するまでは正の値になり、Ｖｇに到達すると両者とも０となる。さらに、区間Ｃになって、可動電極３０が溶接ワークＷに接触した状態を保ったまま対向電極３０が溶接ワークＷに接触すると、可動電極３０と対向電極３２との間に溶接ワークＷを挟み込んだ形となって、対向電極３２に対する可動電極３０の移動が妨げられる。この結果、サーボモータ３４は移動速度Ｖｇを一定に維持するように制御され、サーボモータ３４のトルクが増加するが、やがてモータの出力限界又はトルクリミットに達して、一定となる。図１０（ａ）は、サーボモータ３４のトルクリミットが区間Ｂにおけるサーボモータ３４のトルク（すなわち、負荷がほとんどない状態で対向電極３２に対して可動電極３０を速度Ｖｇで移動させるために必要となるサーボモータ３４のトルク）と等しい値に設定されている場合を示しており、区間Ｂと区間Ｃにおいてサーボモータ３４のトルクはほぼ一定の値を示している。一方、対向電極３２に対する可動電極３０の移動速度は、予め定められた値Ｖｇから減少して、やがて０となり、可動電極３０は対向電極３２に対して停止するので、可動電極３０を駆動するサーボモータ３４の回転速度も、図１０（ｂ）に示されるように、予め定められた値から減少して、やがて０となる。また、対向電極３２に対する可動電極３０の加速度は、対向電極３２に対する可動電極３０の移動速度に伴って変化するので、図１０（ｃ）に示されるように、区間Ｂでは０になり、区間Ｃでは負の値に転じて、可動電極３０が対向電極３２に対して停止すると再度０になる。
【００７０】
上述したように、サーボモータ３４にトルクリミットを設定することにより、可動電極３０が溶接ワークＷを押圧することによって溶接ワークＷを過度に変形させることを防止することができる。さらに、対向電極３２が溶接ワークＷに接触したときに可動電極３０がより早く減速されるようになり、対向電極３２が溶接ワークＷに接触した時点の検出の遅れを低減させることができる。また、多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータにもトルクリミットを設定すれば、多関節ロボット１２によって移動させられるスポット溶接ガン１４の対向電極３２が溶接ワークＷを押圧して過度に変形させることを防止することができる。
【００７１】
また、可動電極３０が溶接ワークＷに接した状態を保ったまま多関節ロボット１２を用いて対向電極３２を溶接ワークＷに接近させることにより溶接ワークＷに接触させると、対向電極３２が溶接ワークＷに接触したときに可動電極３０の移動速度又は可動電極３０を駆動するためのサーボモータ３４の回転速度が一定の状態から変化して徐々に減少する。したがって、可動電極３０の移動速度又はサーボモータ３４の回転速度を監視すれば、可動電極３０の移動速度又はサーボモータ３４の回転速度がほぼ一定の状態から減少に転じたときを対向電極３２が溶接ワークＷに接触した時点と判断することができる。同様に、可動電極３０が溶接ワークＷに接した状態を保ったまま多関節ロボット１２を用いて対向電極３２を溶接ワークＷに接近させることにより溶接ワークＷに接触させると、対向電極３２が溶接ワークＷに接触したときに可動電極３０の加速度又は可動電極３０を駆動するためのサーボモータ３４の回転加速度が０から変化して負の値に転じる。したがって、可動電極３０の加速度又はサーボモータ３４の回転加速度を監視すれば、可動電極３０の加速度又はサーボモータ３４の回転加速度がほぼ０から負の値に転じたときを対向電極３２が溶接ワークＷに接触した時点と判断することができる。
【００７２】
さらに、対向電極３２が溶接ワークＷに接触したと判断されたときの多関節ロボット１２の手首要素２８の先端の位置データと手首要素２８の先端に対するスポット溶接ガン１４の対向電極３２の先端の相対位置データとから、対向電極３２が溶接ワークＷに接触したと判断されたときの対向電極３２の先端の位置データを求めることができ、求められた対向電極３２の先端の位置データを溶接ワークＷの表面の位置データとみなせば、溶接ワークＷの対向電極側表面の位置を検出することができる。
【００７３】
ここで、可動電極３０の移動速度又はサーボモータ３４の回転速度がほぼ一定の状態から減少に転じた時点は、可動電極３０の移動速度又はサーボモータ３４の回転速度の時系列曲線すなわち波形を解析して、可動電極３０の移動速度又はサーボモータ３４の回転速度がほぼ一定の状態から減少に転じた点（以下、変化点と記載する。）を求めることにより特定される。変化点を求めるためのサーボモータ３４の回転速度の時系列波形の解析方法の例として、以下の三つが挙げられる。なお、可動電極３０の移動速度の変化点を求めるための可動電極３０の移動速度の時系列波形の解析方法も同様であることは言うまでもない。
【００７４】
（ｉ）図１１に示されているように、サーボモータ３４の回転速度の基準値に対する減少量が予め定められた閾値α（＞０）を超えた点を変化点とみなす。サーボモータ３４の回転速度は、溶接ワークＷの剛性にかかわらず最終的に０になるので、閾値αは区間Ｂにおけるサーボモータ３４の回転速度から０までの範囲の任意の値とすればよい。閾値αが小さいほど、対向電極３２が溶接ワークＷに接触したことを早く検出することができる。閾値αは、区間Ｂにおけるサーボモータ３４の回転速度に対する割合（例えば１０％など）を用いて決定してもよい。
【００７５】
（ｉｉ）図１２に示されているように、サーボモータ３４の回転速度の単位時間Δｔ当たりの変化量Δｖ、すなわちサーボモータ３４の回転速度の時系列波形の傾きが、予め定められた閾値β（≦０）以下になった点を変化点とみなす。対向電極３２が溶接ワークＷに接触すると図１２に示されているようにサーボモータ３４の移動速度は単調に減少するので、閾値βは負の値となる。減少開始直後を検出したい場合には、閾値βを０に近い負の値とすればよい。
【００７６】
（ｉｉｉ）対向電極３２が溶接ワークＷに接触するとサーボモータ３４の回転速度は単調減少を示すので、サーボモータ３４の回転速度の時系列波形の傾きは負の値になる。そこで、図１３に示されているように、まず、（ｉ）又は（ｉｉ）の方法によって、サーボモータ３４の回転速度の変化点を求め、これを仮の変化点とし、仮の変化点から回転速度の時系列波形に沿って時刻を遡ってサーボモータ３４の回転速度の単位時間当たりの変化量（すなわち回転速度の時系列波形の傾き）を求めていき、回転速度の時系列波形の傾きがほぼ０になる点を真の変化点とし、真の変化点において、回転速度がほぼ一定の状態から減少に転じたとみなす。なお、サーボモータ３４の回転速度の時系列波形は離散的なサンプリング点の集合であるので、必ずしも時系列波形上に傾きが０になる点が存在するとは限らない。したがって、実際には、仮の変化点（時刻Ｔｄ１）から回転速度の時系列波形に沿って時刻を遡って回転速度の時系列波形の傾きが負の値から０又は正の値になる点（時刻Ｔｄ３）を特定し、その直前のサンプリング点（時刻Ｔｄ２）を真の変化点とすればよい。このような方法によれば、図１３に示されるように、サーボモータ３４の回転速度が曲線的に減少していく場合でも、サーボモータ３４の回転速度が一定の状態から減少に転じた直後の時刻を正確に特定することができ、溶接ワークＷの対向電極側表面の位置を正確に求めることが可能となる。
【００７７】
対向電極３２に対する可動電極３０の移動速度Ｖｇは、任意に予め定められるものであるので、溶接ワークＷ、スポット溶接ガン１４及び多関節ロボットの剛性の影響を受けることがなく、速度Ｖｇから一定の状態から減少に転じた点を特定するための上述した閾値の設定が容易となる。
【００７８】
可動電極３０の加速度又はサーボモータ３４の回転加速度による検出の判断も基本的に同じ考えを適用できる。可動電極３０の加速度又はサーボモータ３４の回転加速度がほぼ０の状態から負に転じた時点は、可動電極３０の加速度又はサーボモータ３４の回転加速度の時系列曲線すなわち波形を解析して、可動電極３０の加速度又はサーボモータ３４の回転加速度がほぼ０の状態から負に転じた点（以下、変化点と記載する。）を求めることにより特定される。変化点を求めるためのサーボモータ３４の回転加速度の時系列波形の解析方法の例として、以下の三つが挙げられる。なお、可動電極３０の加速度の変化点を求めるための可動電極３０の加速度の時系列波形の解析方法も同様であることは言うまでもない。
【００７９】
（ｉ）図１４に示されるように、サーボモータ３４の回転加速度が負の値になった点を変化点とみなす。ただし、実際のサーボモータ３４の回転速度は微小な変化をするので、誤検出を防ぐために、サーボモータ３４の回転加速度が負の値になった点を変化点とするのではなく、予め定められた閾値γ（＜０）を下回った点を変化点とみなすことが好ましい。閾値γは任意の負の値とすればよく、閾値γを０に近い負の値にすれば、対向電極３２が溶接ワークＷに接触したことを早く検出することができる。
【００８０】
（ｉｉ）サーボモータ３４の回転加速度は、図１４に示されるように、０から階段状に負の値（負の加速度）にとぶ場合だけではなく、図１５に示されるように特定の負の加速度へ徐々に変化する場合もある。このような場合には、図１５に示されているように、対向電極３２が溶接ワークＷに接触するとサーボモータ３４の回転速度は単調に減少し、それに伴いサーボモータ３４の回転加速度は、最初の微小時間内で０から特定の負の値に徐々に低下し、特定の負の値で一定の状態を続けた後に再度徐々に上昇してやがて０になる。そこで、サーボモータ３４の回転加速度の単位時間Δｔ当たりの変化量Δａ、すなわちサーボモータ３４の回転加速度の時系列波形の傾きが、予め定められた閾値δ（≦０）以下になった点を変化点とみなす。減少開始直後を検出したい場合には、閾値δを０に近い負の値とすればよい。
【００８１】
（ｉｉｉ）対向電極３２が溶接ワークＷに接触するとサーボモータ３４の回転加速度は０から減少するので、サーボモータ３４の回転加速度の時系列波形の傾きは負の値になる。そこで、図１６に示されているように、まず、（ｉ）又は（ｉｉ）の方法によって、サーボモータ３４の回転加速度の変化点を求め、これを仮の変化点とし、仮の変化点から回転加速度の時系列波形に沿って時刻を遡ってサーボモータ３４の回転加速度の単位時間当たりの変化量（すなわち回転加速度の時系列波形の傾き）を求めていき、回転加速度の時系列波形の傾きがほぼ０になる点を真の変化点とし、真の変化点において、回転加速度がほぼ０の状態から減少に転じたとみなす。なお、サーボモータ３４の回転加速度の時系列波形は離散的なサンプリング点の集合であるので、必ずしも時系列波形上に傾きが０になる点が存在するとは限らない。したがって、実際には、仮の変化点（時刻Ｔｄ１）から回転加速度の時系列波形に沿って時刻を遡って回転加速度の時系列波形の傾きが負の値から０又は正の値になる点（時刻Ｔｄ３）を特定し、その直前のサンプリング点（時刻Ｔｄ２）を真の変化点とすればよい。このような方法によれば、図１６に示されるように、サーボモータ３４の回転速度が曲線的に減少していく場合でも、サーボモータ３４の回転加速度がほぼ０の状態から負に転じた直後の時刻を正確に特定することができ、溶接ワークＷの対向電極側表面の位置を正確に求めることが可能となる。
【００８２】
なお、本実施形態では、可動電極３０及び対向電極３２による溶接ワークＷの変形を最小限に抑えるために、対向電極３２が溶接ワークＷに接触したと判断されると、ロボット制御装置１６及びスポット溶接ガン制御装置１８は、多関節ロボット１２及びサーボモータ３４の動作を停止させ、対向電極３２が溶接ワークＷに接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置データと手首要素２８の先端に対するスポット溶接ガン１４の対向電極３２の相対位置データとから溶接ワークＷの対向電極側表面の位置を検出する。しかしながら、解析方法（ｉｉｉ）を採用する場合には、仮の変化点を特定した時点で解析に必要なサーボモータ３４の回転速度及び／又は回転加速度の時系列データが揃い、それ以降に検出動作を継続する必要がないので、対向電極３２が溶接ワークＷに接触したと判断された後ではなく、仮の変化点を特定した時点で多関節ロボット１２及びサーボモータ３４の動作を停止させてもよい。
【００８３】
また、対向電極３２と溶接ワークＷとが接触したと判断した後も、多関節ロボット１２及びサーボモータ３４が惰走してしまい、多関節ロボット１２及びサーボモータ３４が停止したときの多関節ロボット１２の手首要素２８の先端の位置及び対向電極３２の先端に対する可動電極３０の先端の相対位置と、可動電極３０と溶接ワークＷとが接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置及び対向電極３２の先端に対する可動電極３０の先端の相対位置とが異なってしまうことがある。したがって、スポット溶接ガン１４の可動電極３０及び対向電極３２を位置決めすることが最終目的である場合には、多関節ロボット１２の惰走を是正するために、対向電極３２と溶接ワークＷとが接触したと判断したときの位置に多関節ロボット１２を移動され且つサーボモータ３４を回転させればよい。
【実施例２】
【００８４】
図１７を参照して、本発明の溶接ワーク位置検出方法の第２の実施形態を説明する。第２の実施形態でも、第１の実施形態と同様に、図１に示されているスポット溶接システム１０において、サーボモータ３４によって可動電極３０を対向電極３２に接近させる方向に予め定められた速度Ｖｇで移動させながら多関節ロボット１２によってスポット溶接ガン１４を保持してワーク固定台（図示せず）に固定された溶接ワークＷに対して速度Ｖｇと同じ速度Ｖｒで互いに接近させる方向に相対移動させる。しかしながら、第２の実施形態は、多関節ロボット１２によるスポット溶接ガン１４の移動速度又は加速度を可動電極３０の移動速度及び加速度に常に一致させるように制御することにより、多関節ロボット１２を自動的に停止させ、多関節ロボット１２が停止したことを検出することによって、可動電極３０の移動速度が減少したこともしくは可動電極３０の加速度が０から負の値に転じたことを検出する点において異なっている。
【００８５】
第２の実施形態のステップＳ２００〜Ｓ２０８は、それぞれ、第１の実施形態のＳ１００〜Ｓ１０８と全く同じであるので、ここでは説明を省略し、異なるステップについてのみ説明する。第２の実施形態においても、図３に示されているように、可動電極３０を溶接ワークＷの可動電極側表面に接するように位置決めした状態から、サーボモータ３４によって可動電極３０を対向電極３２に接近させる方向に予め定められた速度Ｖｇで移動させると共に、多関節ロボット１２を用いて対向電極３２と溶接ワークＷとを互いに離れた状態から接近させる方向にスポット溶接ガン１４と溶接ワークＷとを速度Ｖｇと等しい速度Ｖｒで相対移動させながら、可動電極の移動速度及び加速度の少なくとも一方を監視し、この際に必要であれば、可動電極３０を駆動するサーボモータ３４と多関節ロボット１２の各軸を駆動するサーボモータにトルクリミットを設定する（ステップＳ２００〜Ｓ２０８）。すなわち、可動電極３０が溶接ワークＷに接した状態を保ったまま、対向電極３２を溶接ワークＷに接近させ、同時に可動電極３０の移動速度及び加速度の少なくとも一方を監視する。可動電極３０の移動速度及び加速度は、直接的に測定してもよく、可動電極３０を駆動するサーボモータ３４の回転速度及び回転加速度から求めてもよい。監視の際には、サンプリング時間毎に、可動電極３０の移動速度又は加速度あるいはサーボモータ３４の回転速度又は回転加速度の情報と共に、多関節ロボット１２の手首要素２８の先端の位置データ及び対向電極３２に対する可動電極３０の相対位置データを逐次記録していく。
【００８６】
一方、第２の実施形態では、第１の実施形態と異なり、ロボット制御装置１６は、サーボモータ３４による対向電極３２に対する可動電極３０の移動速度又は加速度に一致させるように多関節ロボット１２によるスポット溶接ガン１４の移動速度又は加速度すなわち対向電極３２の移動速度又は加速度を制御する（ステップＳ２１０）。
【００８７】
可動電極３０が溶接ワークＷに接した状態を保ったまま対向電極３２が溶接ワークＷに接触すると、可動電極３０と対向電極３２との間に溶接ワークＷを挟み込む形となって、対向電極３２に対する可動電極３０の移動が妨げられる。すると、サーボモータ３４は移動速度Ｖｇを一定に維持するように制御されるため、より大きなトルクを出力しようとするが、サーボモータ３４の出力限界に達して、可動電極３０を駆動するサーボモータ３４の回転速度が減少する。この結果、設定された速度Ｖｇを維持できなくなり、対向電極３２に対する可動電極３０の移動速度が予め定められた値Ｖｇから減少し、０になる。また、このとき、対向電極３２に対する可動電極３０の加速度は０から負の値に転じる。
【００８８】
さらに、本実施形態では、対向電極３２に対する可動電極３０の移動速度に一致させるように多関節ロボット１２によるスポット溶接ガン１４及びその対向電極３２の移動速度が制御されるので、多関節ロボット１２によるスポット溶接ガン１４及びその対向電極３２の移動速度すなわち多関節ロボット１２の手首要素２８の先端の移動速度が、対向電極３２に対する可動電極３０の移動速度の減少に伴って、速度Ｖｒ（＝Ｖｇ）から減少し、０になる。また、対向電極３２に対する可動電極３０の加速度に一致させるように多関節ロボット１２によるスポット溶接ガン１４及びその対向電極３２の加速度を制御する場合も同様に、対向電極３２に対する可動電極３０の加速度の減少に伴って、多関節ロボット１２によるスポット溶接ガン１４及びその対向電極３２の加速度すなわち多関節ロボット１２の手首要素２８の先端の加速度が減少される。すなわち、最終的に、可動電極３０及び対向電極３２は溶接ワークＷを挟み込む形で停止する。したがって、多関節ロボット１２の手首要素２８の先端の移動速度が０になったか否かを判断し（ステップＳ２１２）、０になって、可動電極３０及び対向電極３２が停止したときの多関節ロボット１２の手首要素２８の先端の位置データと手首要素２８に対するスポット溶接ガン１４の対向電極３２の先端の相対位置データとに基づいて、溶接ワークＷの対向電極側表面の位置を検出し、溶接ワークＷの表面位置の検出工程を終了する（ステップＳ２１４）。
【００８９】
図１８は本実施形態に従って対向電極３２が接触する溶接ワークＷの対向電極側表面を検出するときのサーボモータ３４のトルク及び回転速度、多関節ロボットの手首要素２８の先端の移動速度の変化を時系列で表したグラフを示しており、（ａ）がサーボモータ３４のトルクのグラフ、（ｂ）がサーボモータ３４の回転速度のグラフ、（ｃ）が多関節ロボット１２の手首要素２８の先端の移動速度のグラフである。さらに、図１９は本実施形態に従って対向電極３２が接触する溶接ワークＷの対向電極側表面を検出するときのサーボモータ３４のトルク及び回転加速度、多関節ロボットの手首要素２８の先端の加速度の変化を時系列で表したグラフを示しており、（ａ）がサーボモータ３４のトルクのグラフ、（ｂ）がサーボモータ３４の回転加速度のグラフ、（ｃ）が多関節ロボット１２の手首要素２８の先端の加速度のグラフである。なお、対向電極３２に対する可動電極３２の移動速度の変化を時系列で表したグラフも図１８（ｂ）と同様になり、対向電極３２に対する可動電極３２の加速度の変化を時系列で表したグラフも図１９（ｂ）と同様になる。また、図１８及び図１９において、区間Ａは、検出動作を行っていない状態、区間Ｂは、検出動作中で対向電極３２がまだ溶接ワークＷに接触していない状態、区間Ｃは、検出動作中で対向電極３２が溶接ワークＷに接触している状態を示す。
【００９０】
検出動作開始前において、可動電極３０は対向電極３２に対して静止しており、サーボモータ３４によって駆動されておらず、多関節ロボット１２も駆動されていない。したがって、区間Ａでは、サーボモータ３４のトルクは一定となり、回転速度及び回転加速度は０となると共に、多関節ロボット１２の手首要素２８の先端の移動速度及び加速度も０になる。一方、検出動作が始まると、可動電極３０が対向電極３２に対して速度Ｖｇで移動させられると共に、多関節ロボット１２によってスポット溶接ガン１４及びその対向電極３２が対向電極３２に対する可動電極３０の移動速度Ｖｇと同じ速度で移動させられる。したがって、区間Ｂでは、対向電極３２に対する可動電極３０の移動速度が速度Ｖｇに到達するまでサーボモータ４３のトルク及び回転速度が増加し、Ｖｇに到達すると両者とも一定となり、また、多関節ロボット１２の手首要素２８の先端の移動速度が速度Ｖｇまで増加して一定となる。したがって、サーボモータ３４の回転加速度は、対向電極３２に対する可動電極３０の移動速度がＶｇに到達するまで増加し、Ｖｇに到達すると０になり、また、多関節ロボット１２の手首要素２８の先端の加速度も同様の挙動を示す。さらに、区間Ｃになって、可動電極３０が溶接ワークＷに接触した状態を保ったまま対向電極３０が溶接ワークＷに接触すると、可動電極３０と対向電極３２との間に溶接ワークＷを挟み込んだ形となって、対向電極３２に対する可動電極３０の移動が妨げられる。この結果、サーボモータ３４は、サーボモータ３４は移動速度Ｖｇを一定に維持するように制御され、サーボモータ３４のトルクが増加するが、やがてモータの出力限界又はトルクリミットに達して、一定となる。
【００９１】
図１８（ａ）は、サーボモータ３４のトルクリミットが区間Ｂにおけるサーボモータ３４のトルク（すなわち、負荷がほとんどない状態で対向電極３２に対して可動電極３０を速度Ｖｇで移動させるために必要となるサーボモータ３４のトルク）と等しい値に設定されている場合を示しており、区間Ｂと区間Ｃにおいてサーボモータ３４のトルクはほぼ一定の値を示している。一方、対向電極３２に対する可動電極３０の移動速度は、予め定められた値Ｖｇから減少して、やがて０となり、可動電極３０は対向電極３２に対して停止するので、可動電極３０を駆動するサーボモータ３４の回転速度も、図１８（ｂ）に示されるように、予め定められた値から減少して、やがて０となり、サーボモータ３４は停止する。また、多関節ロボット１２の手首要素２８の先端の移動速度は、対向電極３２に対する可動電極３０の移動速度と一致するので、予め定められた値Ｖｇから減少して、やがて０となり、多関節ロボット１２も停止する。同様に、対向電極３２に対する可動電極３０の加速度は、０から負の値に転じ、やがて再度０となり、可動電極３０は対向電極３２に対して停止するので、可動電極３０を駆動するサーボモータ３４の回転速度も、図１９（ｂ）に示されるように、０から負の値に転じ、再度０となり、サーボモータ３４は停止する。また、多関節ロボット１２の手首要素２８の先端の移動速度は、対向電極３２に対する可動電極３０の加速度と一致するので、０から負の値に転じ、再度０となり、多関節ロボット１２も停止する。
【００９２】
上述したように、サーボモータ３４にトルクリミットを設定することにより、可動電極３０が溶接ワークＷを押圧することによって溶接ワークＷを過度に変形させることを防止することができる。また、対向電極３２が溶接ワークＷに接触したときに可動電極３０がより早く減速されるようになり、対向電極３２が溶接ワークＷに接触した時点の検出の遅れを低減させることができる。さらに、多関節ロボット１２の各軸Ｊ１〜Ｊ５を駆動するサーボモータにもトルクリミットを設定すれば、多関節ロボット１２によって移動させられるスポット溶接ガン１４の対向電極３２が溶接ワークＷを押圧して過度に変形させることを防止することができる。
【００９３】
また、対向電極３２に対する可動電極３０の移動速度に一致させるように多関節ロボット１２によるスポット溶接ガン１４及びその対向電極３２の移動速度を制御しているので、対向電極３２が溶接ワークＷに接触して可動電極３０と対向電極３２との間に溶接ワークＷが挟み込まれる形となり、対向電極３２に対して可動電極３０が停止すると、多関節ロボット１２の動作も停止する。したがって、対向電極３２に対する可動電極３０の移動又は多関節ロボット１２の移動が停止したときに、対向電極３２が溶接ワークＷに接触したと判断することで、第１の実施形態のように、対向電極３２に対する可動電極３０の移動速度又はサーボモータ３４の回転速度がほぼ一定の状態から減少に転じた時点を検出する必要がなくなる。この結果、第１の実施形態において可動電極３０の移動速度又はサーボモータ３４の回転速度がほぼ一定の状態から減少に転じた時点を特定するために必要とされる各閾値を予め実験的に定める必要もなくなり、また、溶接ワークＷ、多関節ロボット１２及びスポット溶接ガン１４の剛性に依存せずに、対向電極３２が接触する溶接ワークＷの対向電極側表面の位置を検出することが可能となる。さらに、最終的に、可動電極３０及び対向電極３２が溶接ワークＷに接触した状態で停止するので、このときの可動電極３０及び対向電極３２の先端の位置から溶接ワークＷの厚さｔを計測することも容易となる。対向電極３２に対する可動電極３０の加速度に一致させるように多関節ロボット１２によるスポット溶接ガン１４及びその対向電極３２の加速度を制御した場合も同様である。
【００９４】
以上、図示される実施形態に基づいて、本発明を説明したが、本発明は上述した実施形態に限定されるものではない。例えば、上記実施形態では、可動電極３０の移動速度又は加速度の監視を行うと同時に、多関節ロボット１２の手首要素２８の先端の位置データと対向電極３２に対する可動電極３０の相対位置データを記録するようにしている。しかしながら、多関節ロボット１２及び可動電極３０は、ロボット制御装置１６及びスポット溶接ガン制御装置１８からの時系列上の動作指令に基づいて動作しているので、実行された多関節ロボット１２及び可動電極３０の動作指令から過去の時刻の多関節ロボット１２の手首要素２８の先端の位置データと対向電極３２に対する可動電極３０の相対位置データを求めてもよい。
【符号の説明】
【００９５】
１０    スポット溶接システム
１２    多関節ロボット
１４    スポット溶接ガン
３０    可動電極
３２    対向電極
３４    サーボモータ
【図１】
2011088177.tif 000003
【図２】
2011088177.tif 000004
【図３】
2011088177.tif 000005
【図４】
2011088177.tif 000006
【図５】
2011088177.tif 000007
【図６】
2011088177.tif 000008
【図７】
2011088177.tif 000009
【図８】
2011088177.tif 000010
【図９】
2011088177.tif 000011
【図１０】
2011088177.tif 000012
【図１１】
2011088177.tif 000013
【図１２】
2011088177.tif 000014
【図１３】
2011088177.tif 000015
【図１４】
2011088177.tif 000016
【図１５】
2011088177.tif 000017
【図１６】
2011088177.tif 000018
【図１７】
2011088177.tif 000019
【図１８】
2011088177.tif 000020
【図１９】
2011088177.tif 000021