(57)【要約】【課題】スポット溶接システムにおいて、溶接ワークの表面位置の検出に要する時間を長くすることなく、可動電極による溶接ワークの表面位置の検出精度を向上させる。【解決手段】サーボモータ３４によって駆動される可動電極３０とこれと対向して配置される対向電極３２とを有するスポット溶接ガン１４と、溶接ワークＷとスポット溶接ガン１４のうちの一方を保持する多関節ロボット１２とを備えるスポット溶接システムにおいて、多関節ロボット１２を用いて溶接ワークＷとスポット溶接ガン１４とを相対移動させることにより、可動電極３０と溶接ワークＷとを互いに離れた状態から接近させながら又は可動電極３０と溶接ワークＷとを互いに接触した状態から離反させながら、サーボモータ３４の電流又はトルクを監視し、電流又はトルクの変化傾向が変化したときの可動電極３０の位置と多関節ロボット１２の位置とから溶接ワークＷの表面位置を検出する。【選択図】図１
2011088175.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、溶接ワークと前記スポット溶接ガンのうちの一方を保持する多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記対向電極と前記可動電極との間に溶接ワークを挟んで溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記可動電極によって前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法であって、
前記可動電極と前記溶接ワークとが、互いに離れた状態から接近する又は互いに接触した状態から離反するように、前記多関節ロボットを用いて前記溶接ワークと前記スポット溶接ガンとを相対移動させながら、前記サーボモータの電流又はトルクを監視し、前記電流又はトルクの変化傾向が変化したときに、前記可動電極が前記溶接ワークに接触した又は前記可動電極が前記溶接ワークから離れたと判断して、前記電流又はトルクの変化傾向が変化したときの前記可動電極の位置と前記多関節ロボットの位置とから前記溶接ワークの表面位置を検出することを特徴とする可動電極による溶接ワーク位置検出方法。
【請求項２】
前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視するとき、前記サーボモータによって前記可動電極を速度Ｖｇで駆動しながら前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させる、請求項１に記載の可動電極による溶接ワーク位置検出方法。
【請求項３】
前記速度Ｖｇは、前記可動電極を駆動するための機構の静摩擦が除去できる程度の速度である、請求項２に記載の可動電極による溶接ワーク位置検出方法。
【請求項４】
前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに離れた状態から接近させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたときに、前記可動電極が前記溶接ワークに接触したと判断する、請求項１から請求項３の何れか一項に記載の可動電極による溶接ワーク位置検出方法。
【請求項５】
前記サーボモータの電流又はトルクが前記スポット溶接ガンと前記溶接ワークとの相対移動の開始後で且つ前記可動電極と前記溶接ワークとの接触前の予備動作区間と同じ変化傾向を有する状態として基準状態を定める、請求項４に記載の可動電極による溶接ワーク位置検出方法。
【請求項６】
前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加したときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断する、請求項４又は請求項５に記載の可動電極による溶接ワーク位置検出方法。
【請求項７】
前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの単位時間当たりの変化量が０であり、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が予め定められた正の値以上になったときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断する、請求項４又は請求項５に記載の可動電極による溶接ワーク位置検出方法。
【請求項８】
前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加した時点、または、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの単位時間当たりの変化量を０として前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が予め定められた正の値以上になった時点から、前記サーボモータの電流又はトルクの時系列波形に沿って時刻を遡り、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が正の値から０又は負の値に変化する時点に、前記可動電極が前記溶接ワークに接触したと判断する、請求項４又は請求項５に記載の可動電極による溶接ワーク位置検出方法。
【請求項９】
前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに対して押し付けた状態から離隔させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたときに、前記可動電極が前記溶接ワークから離れたと判断する、請求項１から請求項３の何れか一項に記載の可動電極による溶接ワーク位置検出方法。
【請求項１０】
前記サーボモータの電流又はトルクが前記スポット溶接ガンと前記溶接ワークとの相対移動の開始後で且つ前記可動電極と前記溶接ワークとの離隔前の予備動作区間と同じ変化傾向を有する状態として基準状態を定める、請求項９に記載の可動電極による溶接ワーク位置検出方法。
【請求項１１】
前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加したときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断する、請求項９又は請求項１０に記載の可動電極による溶接ワーク位置検出方法。
【請求項１２】
前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加した時点から、前記サーボモータの電流又はトルクの時系列波形に沿って時刻を遡り、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が正の値又は０から負の値に変化した時点に、前記可動電極が前記溶接ワークから離れたと判断する、請求項９又は請求項１０に記載の可動電極による溶接ワーク位置検出方法。
【請求項１３】
前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに対して押し付けた状態から離反させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの単位時間当たりの変化量が０又は正の値になったときに、前記可動電極が前記溶接ワークから離れたと判断する、請求項１から請求項３の何れか一項に記載の可動電極による溶接ワーク位置検出方法。
【請求項１４】
前記サーボモータの電流又はトルクを加圧力に換算した値を用いて、溶接ワーク位置検出を実施する、請求項１から請求項１３の何れか一項に記載の可動電極による溶接ワーク位置検出方法。
【請求項１５】
溶接を行うプログラム命令を実行することによって、前記可動電極による溶接ワーク位置検出を実施する、請求項１から請求項１４の何れか一項に記載の可動電極による溶接ワーク位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットを用いて溶接ワークとスポット溶接ガンとを相対移動させ、スポット溶接ガンの対向する可動電極と対向電極との間に溶接ワークを挟んで溶接ワークのスポット溶接を行うスポット溶接システムにおいて可動電極によって溶接ワークの表面位置を検出する溶接ワーク位置検出方法に関する。
【背景技術】
【０００２】
スポット溶接システムは、サーボモータによって駆動される可動電極とこれと対向して配置される対向電極を有したスポット溶接ガンと、スポット溶接ガンを先端に保持する多関節ロボットとを備え、多関節ロボットを用いて溶接ワークとスポット溶接ガンとを相対移動させた後、溶接ワーク上の予め定められた打点位置へ向かってスポット溶接ガンの可動電極と対向電極とを閉じてスポット溶接ガンの可動電極と対向電極との間に溶接ワークを挟み、この状態で両電極間に電圧を印加することによって打点位置でスポット溶接を行う。このようなスポット溶接システムでは、溶接ワーク上の打点位置に可動電極及び対向電極を位置決めできるように打点位置における溶接ワークの可動電極側表面位置と対向電極側表面位置を多関節ロボットに予め教示する必要がある。
【０００３】
教示作業では、作業者が溶接ワークの位置を目視にて確認し、多関節ロボットを操作して、スポット溶接ガンの可動電極と対向電極を閉じたときに溶接ワークの打点位置に可動電極及び対向電極が接触するような位置までスポット溶接ガンを移動させ、スポット溶接ガンを所望の位置に移動させた後に、多関節ロボットの位置および可動側電極チップの位置を記憶させている。すなわち多関節ロボットの位置および可動側電極チップの位置については、溶接ワークの位置に基づいた位置を教示することになる。
【０００４】
上記のような教示作業では、可動電極及び対向電極が溶接ワークの表面に適切に接触できるように教示していく必要がある。このような可動電極及び対向電極と溶接ワークの接触の判断を作業者の目視によって行うと、作業者の錬度や、目視のしにくい作業環境によっては接触を正確に検出できず、打点位置における溶接ワークの可動電極側表面位置及び対向電極側表面位置の検出も不正確になる。そこで、例えば特許文献１に記載のように、可動電極がサーボモータの駆動によって対向電極に向かって移動され溶接ワークの表面に接触したときに、撓みや凹みのような溶接ワークの弾性変形による反力が溶接ワークから可動電極へ作用することによってサーボモータの電流値（すなわちトルク値）が増加することを利用して、サーボモータの電流値が予め定められた閾値に達したときに可動電極と溶接ワークとが接触したと判断すると共に、対向電極が多関節ロボットによって溶接ワークへ向かって移動され溶接ワークの表面に接触したときに溶接ワークの弾性変形によって溶接ワークから多関節ロボットへの反力が発生することを利用して、多関節ロボットへの反力が予め定められた値に達したときに対向電極と溶接ワークとが接触したと判断する方法が提案されている。また、特許文献２に記載されているように、特許文献１と同じ方法で可動電極と溶接ワークとの接触を検出した後、可動電極と対向電極との間隔が予め測定した打点位置における溶接ワークの厚さに等しくなるまで、対向電極を溶接ワークへ向かって接近させるように多関節ロボットによってスポット溶接ガンを移動させつつ可動電極が溶接ワークに接触した状態を保つようにサーボモータでスポット溶接ガンと同じ移動速度で可動電極を対向電極に向かって移動させることにより、対向電極と溶接ワークとを接触させる方法もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３３３７４４８号公報
【特許文献２】特開平６−２１８５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
スポット溶接システムの教示作業において可動電極による溶接ワークの表面位置の検出に要する時間を短縮するためには、可動電極を速く移動させる必要がある。一方、可動電極を移動させると可動電極の駆動機構の動摩擦によりサーボモータの電流又はトルクに揺らぎ（変動）が発生する。したがって、可動電極を速い速度で移動させると、サーボモータの電流又はトルクの揺らぎも大きくなり、この結果、可動電極の駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎによって、サーボモータの電流又はトルクが接触を判定するための閾値を越えてしまい、可動電極と溶接ワークとの接触の誤検出を起こすことがある。
【０００７】
この誤検出を防止するためには、可動電極と溶接ワークとが接触したと判断するためのサーボモータの電流又はトルクの閾値を動摩擦によるサーボモータの電流又はトルクの揺らぎよりも大きな値に設定する必要がある。しかしながら、閾値が大きいと、可動電極が実際に溶接ワークに接触してから溶接ワークに接触したと判断されるまで移動させられるので、溶接ワークの弾性変形量が大きくなり、溶接ワークの表面位置を正確に検出できなくなる。また、最悪の場合、溶接ワークを塑性変形させてしまう恐れがある。
【０００８】
さらに、溶接ワークの弾性変形量は、可動電極が実際に溶接ワークに接触してから溶接ワークに接触したと判断されるまでに移動させられる押し込み距離と、溶接ワークに接触したと判断してから実際に可動電極チップが停止するまでの堕走距離との総和になる。しかしながら、堕走距離は可動電極チップの動作の減速時間から計算することができる一方、押し込み距離は、溶接ワークの材質や固定方法、スポット溶接ガンの機械的剛性に依存するため、複雑なワークの変形モデルを考慮する必要があり、単純な計算で求めることができない。したがって、溶接ワークの弾性変形量を厳密に算出することができない。
【０００９】
また、可動電極が溶接ワークに接触したことを検出するときに使用されるサーボモータの電流又はトルクの増加は、溶接ワークの弾性変形による溶接ワークから可動電極への反力によるものであるから、柔らかい溶接ワークの場合、同じ溶接ワークの弾性変形量でも硬い溶接ワークに比べて反力が小さくなり、その結果、可動電極と溶接ワークとが接触したときのサーボモータの電流又はトルクの変化量が小さくなる。したがって、柔らかい溶接ワークの場合、可動電極と溶接ワークとが接触したときのサーボモータの電流又はトルクの変化が動摩擦によるサーボモータの電流又はトルクの揺らぎに隠れて、可動電極と溶接ワークとの接触の検出が困難になったり、接触の検出精度が悪化する。
【００１０】
一方、可動電極の移動速度を遅くすれば、可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎを小さくすることができ、また、その結果、閾値を小さな値に設定することができるので、上記二つの問題を解消することができる。しかしながら、可動電極の移動速度を遅くすると、可動電極による溶接ワークの表面位置の検出に要する時間が長くなり、実用的ではなくなるという問題が生じる。
【００１１】
よって、本願発明の目的は、従来技術に存する上記問題を解消して、スポット溶接システムにおいて、可動電極による溶接ワークの表面位置の検出に要する時間を長くすることなく、可動電極による溶接ワークの表面位置の検出精度を向上させることにある。
【課題を解決するための手段】
【００１２】
上記目的に鑑み、本発明によれば、サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、溶接ワークと前記スポット溶接ガンのうちの一方を保持する多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記対向電極と前記可動電極との間に溶接ワークを挟んで溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記可動電極によって前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法であって、前記可動電極と前記溶接ワークとが、互いに離れた状態から接近するか、又は互いに接触した状態から離反するように、前記多関節ロボットを用いて前記溶接ワークと前記スポット溶接ガンとを相対移動させながら、前記サーボモータの電流又はトルクを監視し、前記電流又はトルクの変化傾向が変化したときに、前記可動電極が前記溶接ワークに接触した又は前記可動電極が前記溶接ワークから離れたと判断して、前記電流又はトルクの変化傾向が変化したときの前記可動電極の位置と前記多関節ロボットの位置とから前記溶接ワークの表面位置を検出するようにした可動電極による溶接ワーク位置検出方法が提供される。
【００１３】
ここで、本願において、「変化傾向が変化したとき」とは、減少若しくは一定の傾向が、単調増加に転じたとき、緩やかな増加から単位時間当たりの増加量が大きくなって相対的に急に増加する傾向に転じたとき、単調減少が、緩やかな定常的増加若しくは一定の傾向に転じたとき、又は単調減少から単位時時間当たりの減少量が減って緩やかに減少する傾向に転じたときを意味する。
【００１４】
上記可動電極による溶接ワーク位置検出方法では、多関節ロボットを用いてスポット溶接ガンと溶接ワークとを相対移動させることによって可動電極と溶接ワークとを接近離反させるので、可動電極と溶接ワークとを離れた状態から接触させる又は接触した状態から離反させる動作をサーボモータによる可動電極の移動に代えて多関節ロボットの移動によって行わせることができる。したがって、多関節ロボットの移動によって可動電極と溶接ワークとを相対移動させることにより、多関節ロボットによる移動速度分だけ可動電極の移動速度を減少させることができ、サーボモータによる可動電極の移動を最小限に抑えることができる。この結果、可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎが小さくなる。また、サーボモータによる可動電極の移動速度を増加させるのではなく、多関節ロボットによるスポット溶接ガンの移動速度を増加させることにより、溶接ワークの表面位置の検出時間を短縮することができる。
【００１５】
上記可動電極による溶接ワーク位置検出方法では、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視するとき、前記サーボモータによって前記可動電極を速度Ｖｇで駆動しながら前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させることが好ましい。速度Ｖｇは、前記可動電極を駆動するための機構の静摩擦が除去できる程度の速度であってもよく、機構部の静摩擦が非常に小さい溶接ガンであれば０であってもよい。
【００１６】
一つの実施形態では、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって記可動電極と前記溶接ワークを互いに離れた状態から接近させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたときに、前記可動電極が前記溶接ワークに接触したと判断する。
【００１７】
上記実施形態では、前記サーボモータの電流又はトルクが前記スポット溶接ガンと前記溶接ワークとの相対移動の開始後で且つ前記可動電極と前記溶接ワークとの接触前の予備動作区間と同じ変化傾向を有する状態として基準状態を定めることが好ましい。
【００１８】
例えば、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加したときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断することができる。
【００１９】
また、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの単位時間当たりの変化量が０であり、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が予め定められた正の値以上になったときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断するとしてもよい。
【００２０】
さらに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加した時点、または、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの単位時間当たりの変化量を０として前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が予め定められた正の値以上になった時点から、前記サーボモータの電流又はトルクの時系列波形に沿って時刻を遡り、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が正の値から０又は負の値に変化する時点に、前記可動電極が前記溶接ワークに接触したと判断してもよい。
【００２１】
他の実施形態では、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに対して押し付けた状態から離隔させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたときに、前記可動電極が前記溶接ワークから離れたと判断する。
【００２２】
上記他の実施形態では、前記サーボモータの電流又はトルクが前記スポット溶接ガンと前記溶接ワークとの相対移動の開始後で且つ前記可動電極と前記溶接ワークとの離隔前の予備動作区間と同じ変化傾向を有する状態として基準状態を定めることが好ましい。
【００２３】
例えば、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加したときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断することができる。
【００２４】
また、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加した時点から、前記サーボモータの電流又はトルクの時系列波形に沿って時刻を遡り、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が正の値又は０から負の値に変化した時点に、前記可動電極が前記溶接ワークから離れたと判断してもよい。
【００２５】
さらに、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに対して押し付けた状態から離反させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの単位時間当たりの変化量が０又は正の値になったときに、前記可動電極が前記溶接ワークから離れたと判断してもよい。
【００２６】
上記二つの実施形態において、前記サーボモータの電流又はトルクを加圧力に換算した値を用いて、溶接ワーク位置検出を実施することもできる。このように、サーボモータの電流又はトルクの代わりに加圧力を用いることで、ガン機構部やモータ性能に依存することなく、どんなスポット溶接ガンにおいても、ワークの検出判断の基準を一律に決定することができる。
【００２７】
また、上記二つの実施形態において、溶接を行うプログラム命令を実行することによって、前記可動電極による溶接ワーク位置検出を実施することもできる。このように予めロボット制御装置に記録しているスポット溶接プログラムを実行することで、可動電極による溶接ワーク位置検出の工程を実施できるようにすることで、作業者の作業手順を簡略化することができる。
【発明の効果】
【００２８】
本発明によれば、可動電極と溶接ワークとが互いに離れた状態から接触させる又は可動電極と溶接ワークとが互いに接触した状態から離反させる動作をサーボモータによる可動電極の移動に代えて多関節ロボットの移動によって行わせるので、多関節ロボットによる移動速度分だけ可動電極の移動速度を減少させることによって、サーボモータによる可動電極の移動を最小限に抑え、可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎを小さくできる。したがって、可動電極と溶接ワークとが接触した瞬間をより正確に検出し、溶接ワークの表面位置の検出精度を向上させることが可能となる。さらに、可動電極を駆動するサーボモータの電流又はトルクの揺らぎが小さくなるので、柔らかい溶接ワークの場合でも、可動電極と溶接ワークとが接触したときのサーボモータの電流又はトルクの変化が可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎに隠れてしまうことがなくなり、可動電極による溶接ワークの表面位置の検出が容易となる。
【００２９】
また、サーボモータによる可動電極の移動速度を増加させるのではなく、多関節ロボットによるスポット溶接ガンと溶接ワークとの相対移動速度を増加させることにより、溶接ワークの表面位置の検出時間を短縮することができるので、動摩擦によるサーボモータの電流又はトルクの揺らぎを抑制するために可動電極の移動速度を減少させても、多関節ロボットによるスポット溶接ガンと溶接ワークとの相対移動速度を増加させることにより可動電極と溶接ワークとの相対移動速度を維持することができ、可動電極による溶接ワークの表面位置の検出に要する時間を長くすることなく、溶接ワークの表面位置の検出精度を向上させることが可能となる。
【００３０】
さらに、サーボモータの電流又はトルクの変化傾向が変化したときの可動電極の位置と多関節ロボットの位置を用いることで、先に述べたような複雑な計算や溶接ワークの材質や固定方法やスポット溶接ガンの機械的剛性に依存するワークの変形量があっても、複雑なワークの変形モデルを用いることなく、溶接ワークの表面位置を正確に検出することができる。
【図面の簡単な説明】
【００３１】
【図１】多関節ロボットによってスポット溶接ガンを保持して、固定された溶接ワークに対して相対移動させるスポット溶接システムの全体構成図である。
【図２】多関節ロボットによって溶接ワークを保持して、固定されたスポット溶接ガンに対して相対移動させるスポット溶接システムの全体構成図である。
【図３】多関節ロボットによってスポット溶接ガンの可動電極を溶接ワークに接近させることを示す説明図である。
【図４】多関節ロボットによってスポット溶接ガンの可動電極を溶接ワークから離反させることを示す説明図である。
【図５】摺動速度とそれによって発生する摩擦力との相関関係を示すグラフである。
【図６】スポット溶接ガンの可動電極を溶接ワークに接近させることによって溶接ワークの表面位置を検出する方法のフローチャートである。
【図７】本発明の溶接ワーク位置検出方法の第１の実施形態を実施したときのモータトルクの経時変化を示すグラフである。
【図８】本発明の溶接ワーク位置検出方法の第２の実施形態を実施したときのモータトルクの経時変化を示すグラフである。
【図９】本発明の溶接ワーク位置検出方法の第１もしくは第２の実施形態を実施したときにサーボモータのトルクの波形から解析的に変化点を求める方法の説明図である。
【図１０】本発明の溶接ワーク位置検出方法の第１もしくは第２の実施形態を実施したときの、サーボモータのトルクの波形から解析的に変化点を求める別の方法の説明図である。
【図１１】スポット溶接ガンの可動電極を溶接ワークから離反させることによって溶接ワークの表面位置を検出する方法のフローチャートである。
【図１２】本発明の溶接ワーク位置検出方法の第３の実施形態を実施したときのモータトルクの経時変化を示すグラフである。
【図１３】本発明の溶接ワーク位置検出方法の第３の実施形態を実施したときにサーボモータのトルクの波形から解析的に変化点を求める方法の説明図である。
【図１４】本発明の溶接ワーク位置検出方法の第４の実施形態を実施したときのモータトルクの経時変化を示すグラフである。
【発明を実施するための形態】
【００３２】
以下、図面を参照して本発明の幾つかの実施形態を説明する。図面においては、同一の部分に同じ参照符号を付している。
最初に、図１及び図２を参照して、本発明を適用可能なスポット溶接システム１０の全体構成について説明する。
本発明の溶接ワーク位置検出方法を適用可能なスポット溶接システム１０は、多関節ロボット１２と、スポット溶接ガン１４と、多関節ロボット１２の動作を制御するロボット制御装置１６と、スポット溶接ガン１４の動作を制御するスポット溶接ガン制御装置１８とを備え、多関節ロボット１２によって溶接ワークＷとスポット溶接ガン１４とを相対移動させることができるようになっている。
【００３３】
多関節ロボット１２は、例えば４軸垂直多関節型であり、床上に設置される基台２０と、基台２０上に垂直軸線Ｊ１周りに回転可能に支持された旋回台２２と、水平軸線Ｊ２周りに回転可能に一端部を旋回台２２に支持された下部アーム２４と、水平軸線Ｊ３周りに回転可能に下部アーム２４の他端部に支持された上部アーム２６と、水平軸線Ｊ３に垂直な軸線Ｊ４周りに上部アーム２６に対して回転可能に支持された手首要素２８とを含む。しかしながら、多関節ロボット１２は、上記のような４軸垂直多関節型である必要はなく、スポット溶接ガン１４と溶接ワークＷとを相対移動させることができれば、６軸垂直多関節型ロボットなど他のタイプの多関節ロボットとしてもよい。
【００３４】
スポット溶接ガン１４は、可動電極３０とこれと対向して配置される対向電極３２とからなる一対の電極を含み、可動電極３０はサーボモータ３４によって駆動されて対向電極３２に対して接近、離反されるようになっており、可動電極３０と対向電極３２とを閉じてその間に溶接ワークＷを挟み、この状態で可動電極３０と対向電極３２との間に電圧を印加することによりスポット溶接を行う。対向電極３２は、ガンアーム上に配置された固定電極であることが一般的であるが、可動電極３０と同様にサーボモータによって駆動されるようになっていてもよい。
【００３５】
図１及び図２では、ロボット制御装置１６とスポット溶接ガン制御装置１８が別個に設けられているが、ロボット制御装置１６とスポット溶接ガン制御装置１８が一体的に設けられていてもよい。また、スポット溶接ガン１４と溶接ワークＷとが相対移動できるようになっていれば、図１に示されているように、ワーク固定台（図示せず）上に溶接ワークＷを固定すると共にスポット溶接ガン１４を多関節ロボット１２の先端に水平軸線Ｊ５周りに回転可能に支持してもよく、図２に示されているように、床面上に設置されたガンスタンド３６にスポット溶接ガン１４を固定すると共に溶接ワークＷを多関節ロボット１２の先端に保持してもよい。後者のように溶接ワークＷを多関節ロボット１２の先端に保持する場合には、図２に示されているように、手首要素２８の先端に溶接ワークＷを把持するためのロボットハンド３８が水平軸線Ｊ５周りに回転可能に装着される。
【００３６】
本発明による溶接ワーク位置検出方法は、スポット溶接システム１０の教示作業で溶接ワークＷ上の所定の位置（以下、打点位置と記載する。）に可動電極３０を位置決めするときや打点位置の板厚を測定するときなどに、可動電極３０を用いて溶接ワークＷの表面の位置を検出するために使用される。また、検出した溶接ワークＷの表面の位置に基づいて、スポット溶接プログラムの打点教示位置データの修正や、新たな打点教示位置データを作成することもできる。
【００３７】
本発明による溶接ワーク位置検出方法では、サーボモータ３４によって可動電極３０を速度Ｖｇで駆動しながら多関節ロボット１２を用いてスポット溶接ガン１４と溶接ワークＷとを相対移動させることにより、図３に示されているようにスポット溶接ガン１４の可動電極３０と溶接ワークＷとを互いに離れた状態から接近させながら又は図４に示されているようにスポット溶接ガン１４の可動電極３０と溶接ワークＷとを互いに対して押し付けた状態から離反させながら、可動電極３０を駆動するためのサーボモータ３４のトルク又は電流を監視し、トルク又は電流の変化傾向が変化したときに、可動電極３０が溶接ワークＷに接触した又は可動電極３０が溶接ワークＷから完全に離れたと判断して、このときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４の対向電極３２に対する可動電極３０の相対位置データとに基づいて、溶接ワークＷの表面の位置を検出する。したがって、作業者が溶接ワークＷの位置を確認する必要がなく、ロボット教示作業などに要する時間を短縮することができる。
【００３８】
ここで、本願において、「変化傾向が変化したとき」とは、減少若しくは一定の傾向が、単調増加に転じたとき、緩やかな増加から単位時間当たりの増加量が大きくなって相対的に急に増加する傾向に転じたとき、単調減少が、緩やかな定常的増加若しくは一定の傾向に転じたとき、又は単調減少から単位時間当たりの減少量が減って相対的に緩やかに減少する傾向に転じたときを意味する。
【００３９】
溶接ワークＷの表面の位置は、可動電極３０が溶接ワークＷに接触したとき又は可動電極３０が溶接ワークＷから完全に離れたときの可動電極３０の先端の位置として求められ、可動電極３０の先端の位置データは、多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとに基づいて、例えば以下のようにして求められる。
【００４０】
床面から基台２０上に支持される旋回台２２の水平軸線Ｊ２までの距離、垂直軸線Ｊ１と水平軸線Ｊ２との軸間距離、水平軸線Ｊ２と水平軸線Ｊ３との軸間距離、水平軸線Ｊ３と軸線Ｊ４との軸間距離が一定であるので、多関節ロボット１２の手首要素２８の先端の位置は、多関節ロボット１２の各軸の回転角度から求めることができる。また、スポット溶接ガン１４の対向電極３２の先端に対する可動電極３０の先端の相対位置は可動電極３０を駆動するサーボモータ３４の回転角度から求めることができ、多関節ロボット１２の手首要素２８の先端からスポット溶接ガン１４の対向電極３２の先端までの位置は固定である。したがって、多関節ロボット１２の手首要素２８の先端の位置データと多関節ロボット１２の手首要素２８の先端とスポット溶接ガン１４の対向電極３２の先端との位置関係から、スポット溶接ガン１４の対向電極３２の先端の位置データが求められ、求められたスポット溶接ガン１４の対向電極３２の先端の位置データとスポット溶接ガン１４の対向電極３２の先端に対する可動電極３０の先端の相対位置データとから、可動電極３０の先端の位置データが求められる。
【００４１】
スポット溶接ガン１４の可動電極３０の駆動機構（図示せず）の内部には、互いに接触する様々な部品が存在し、接触している二つの物体の間には摩擦が発生する。このような接触している二つの物体の間に発生する摩擦には、互いに静止している物体を移動させ始めるときに物体の間に生じる静摩擦と、互いに運動している物体の間に生じる動摩擦とがあり、図５に示されているように、二つの物体の相対摺動速度が０付近では、静摩擦が支配的となり、相対摺動速度の絶対値が大きくなると、静摩擦支配領域を抜けて、摩擦力が相対摺動速度に比例する動摩擦支配領域に至る。したがって、可動電極３０による溶接ワークＷの表面位置の検出に要する時間を短くするために、可動電極３０を速く移動させると、可動電極駆動機構の動摩擦力も大きくなり、動摩擦の揺らぎも大きくなる。また、可動電極駆動機構の動摩擦の揺らぎはサーボモータ３４の電流又はトルクにノイズとして含まれるので、動摩擦の揺らぎが大きくなると、サーボモータ３４の電流又はトルクの揺らぎも大きくなり、その結果、可動電極３０と溶接ワークＷとの接触によるサーボモータ３４の電流又はトルクの変動を正確に検出することが困難になる。
【００４２】
そこで、本発明では、サーボモータ３４による対向電極３２に対する可動電極３０の移動に代えて、多関節ロボット１２を用いてスポット溶接ガン１４と溶接ワークＷとを相対移動させることによって可動電極３０と溶接ワークＷとを接近、離反させて、可動電極３０と溶接ワークＷとを接触させる動作又は接触した状態から完全に離れさせる（離隔させる）動作の少なくとも一部を行わせ、サーボモータ３４による可動電極３０の移動速度を抑えて、可動電極駆動機構内の動摩擦によるサーボモータ３４の電流又はトルクの揺らぎを低減させるようにしている。このようにサーボモータ３４の電流又はトルクの揺らぎを低減させることで、可動電極３０と溶接ワークＷとの接触によるサーボモータ３４の電流又はトルクの変化傾向の変化をより正確に検出することを可能とさせ、溶接ワークＷの表面位置をより正確に検出できるようにしている。
【００４３】
特に、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、可動電極３０と溶接ワークＷとを接触させる動作又は接触した状態から完全に離れさせる動作の全てを多関節ロボット１２の移動によって行わせれば、可動電極３０によって溶接ワークＷの表面の位置を検出するときに、可動電極３０はサーボモータ３４によって駆動されないので、可動電極駆動機構内の動摩擦によるサーボモータ３４の電流又はトルクの揺らぎがほとんど無くなる。したがって、可動電極３０と溶接ワークＷとが接触したとき又は可動電極３０が溶接ワークＷから完全に離れたときのサーボモータ３４の電流又はトルクの変化傾向の変化を正確に検出することが可能となり、溶接ワークの表面位置を正確に検出できるようになる。
【００４４】
一方、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、対向電極３２に対して可動電極３０を完全に静止させていると、上述したように、可動電極駆動機構内の静摩擦に起因して、可動電極３０が溶接ワークＷに接触しているときに溶接ワークＷから受ける反力が損失してサーボモータ３４に伝達されず、反力の有無にかかわらずサーボモータ３４の電流又はトルクがほとんど変動しない不感帯が生じてしまう。このような不感帯は、静摩擦が大きい場合、可動電極３０による溶接ワークＷの表面の検出精度に悪影響を及ぼす。そこで、スポット溶接ガンの可動電極駆動機構内に存在する静摩擦の影響が無視できない場合には、このような不感帯を解消させるために、静摩擦が除去できる程度の極めて低い速度Ｖｇでサーボモータ３４によって可動電極３０を駆動することが好ましい。このように静摩擦が除去できる程度の極めて低い速度Ｖｇで対向電極３２に対して可動電極３０を移動させても、可動電極駆動機構内の動摩擦は小さくなるので、動摩擦によるサーボモータ３４の電流又はトルクの揺らぎは最小限に抑えることができる。なお、この可動電極３０の動作は、静摩擦の影響を除去することが目的であるので、対向電極３２に対する可動電極３０の移動は開方向又は閉方向に行ってもよく、閉開を繰返すようにしてもよい。
【００４５】
また、上記では、スポット溶接ガン１４に備えられたサーボモータ３４の電流又はトルクに基づいて溶接ワーク位置の検出を行うと説明しているが、この電流又はトルクを加圧力に換算し、換算された加圧力を使って同様に溶接ワーク位置を検出するようにしてもよい。スポット溶接ガンには様々な機構形状があり、さらに減速機構（減速比）も異なる。したがって、サーボモータの電流又はトルクが同じであっても、溶接ワークWに押し付けたときに可動電極３０の先端に発生する加圧力は異なる。電流又はトルクに基づいて溶接ワーク位置の検出を行うのではなく、可動電極３０の先端に発生する加圧力に基づいて溶接ワーク位置の検出を行う方が、あらゆる種類のスポット溶接ガンにおいても溶接ワークＷへの押し付け力が一定化でき、検出の判断に使用する条件も同一にすることができるため、均一な検出精度を得ることが可能となる。ここで、サーボモータ３４の電流又はトルクから加圧力への換算は、加圧力を計測することのできるセンサ機器を用いて、サーボモータ３４の電流又はトルクと加圧力との対応関係を予め求めておくことにより行う。対応関係をロボット制御装置１６又はスポット溶接ガン制御装置１８に記憶しておくことで、任意の場合において加圧力へ換算が可能となる。
【００４６】
また、本発明の溶接ワーク位置検出方法では、作業者が手動操作によって一工程ずつ進めてもよいが、スポット溶接システム１０が一連の工程を自動的に実行してもよい。例えば、既に全溶接打点位置及びスポット溶接を行うプログラム命令が教示されているスポット溶接プログラムにおいて、上記工程を自動で実行するモードを有効にしてスポット溶接プログラムを再生したときに、各溶接打点位置近傍に自動的に多関節ロボット１２を移動させて、スポット溶接を行うプログラム命令を実行することで、上記工程を自動的に実行して溶接ワークＷの表面位置の検出を行い、その検出位置に基づいてその溶接ワークＷについて打点教示位置データの修正を行い、さらにその修正量（ずれ量）もロボット制御装置１６に記録することもできる。記録した修正量をロボット制御装置１６に備えられた教示操作盤に表示するようにしてもよい。また、記録した修正量が過大である場合に、溶接ワークＷの位置の異常として、ロボット制御装置１６に備えられた教示操作盤にアラーム通知したり、ロボット制御装置１６と通信できるライン制御盤やコンピュータなどの外部制御装置にアラーム通知したりしてもよい。
【００４７】
本発明の溶接ワーク位置検出方法では、多関節ロボット１２によってスポット溶接ガン１４と溶接ワークＷとを相対移動させることができれば同じ効果を得ることができるが、以下においては、説明の簡単化のために、図１に示されているように、スポット溶接ガン１４を多関節ロボット１２によって保持して、溶接ワークＷに対して相対移動させる場合を例として説明する。しかしながら、図２に示されているように、溶接ワークＷを多関節ロボット１２によって保持してスポット溶接ガン１４に対して相対移動させてもよく、この場合、以下の説明において、多関節ロボット１２によってスポット溶接ガン１４を移動させる代わりに溶接ワークＷを移動させればよい。
【実施例１】
【００４８】
図６を参照して、本発明の溶接ワーク位置検出方法の第１の実施形態を説明する。第１の実施形態では、図１に示されているスポット溶接システム１０において、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、対向電極３２に対して可動電極３０を静止させた状態で多関節ロボット１２によってスポット溶接ガン１４を保持してワーク固定台（図示せず）に固定された溶接ワークＷに対して速度Ｖｒで相対移動させる。また、可動電極３０を駆動するためのサーボモータ３４にはトルクリミットが設定されており、一定の値以上にはトルクが増加しないようになっている。可動電極３０の押圧による溶接ワークＷの変形を抑制するためには、トルクリミットは可能な限り低い値に設定することが望ましい。
【００４９】
本実施形態では、最初に、スポット溶接ガン１４の可動電極３０と対向電極３２との間に溶接ワークＷを移動させ、可動電極３０と対向電極３２とが閉じたときに溶接ワークＷ上の溶接箇所（打点位置）に接触するような位置にスポット溶接ガン１４を位置決めする。なお、このときに可動電極３０と溶接ワークＷが接近しすぎないように、溶接ワークＷの表面からある程度の間隔をあけた位置に可動電極３０を位置決めし、可動電極３０が溶接ワークＷに接触しない予備動作区間を確保することが好ましい。また、可動電極３０を溶接ワークＷ上の溶接箇所に位置決めした後に、可動電極３０を溶接ワークＷから任意の距離だけ離隔させるように動作させても良い。
【００５０】
次に、ステップＳ１００で可動電極３０を駆動しないことを選択し、対向電極３２に対して可動電極３０を静止させたまま、図３に示されるように、多関節ロボット１２を駆動してスポット溶接ガン１４を溶接ワークＷに対して速度Ｖｒで相対移動させることにより、可動電極３０と溶接ワークＷとが互いに離れた状態から可動電極３０を溶接ワークＷへ向かって接近させ（ステップＳ１０４）、同時に、可動電極３０を駆動するためのサーボモータ３４の電流又はトルクを監視する（ステップＳ１０６）。このとき、サーボモータ３４の電流又はトルクの情報と共に、多関節ロボット１２の手首要素２８の先端の位置データ及び対向電極３２に対する可動電極３０の相対位置データを逐次記録していく。さらに、必要に応じて、スポット溶接ガン１４と溶接ワークＷとの相対移動の開始後で且つ可動電極３０と溶接ワークＷとの接触前の予備動作区間において逐次記録したサーボモータ３４の電流又はトルクから、比較用の基準状態（すなわち接触していないときの状態）の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ３４の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を決定する。
【００５１】
可動電極３０が溶接ワークＷに接触すると、溶接ワークＷが可動電極３０に押圧されて撓みや凹みなどの弾性変形を生じ、その反力が溶接ワークＷから可動電極３０に作用する。この結果、可動電極３０が対向電極３２に対して静止した状態を維持するために、サーボモータ３４のトルクが増加し、電流も増加する。このことを利用して、サーボモータ３４の電流又はトルクを逐次チェックし（ステップＳ１０８）、サーボモータ３４の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極３０が溶接ワークＷに接触したと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量よりも大きくなったとき（この場合、ほぼ一定の状態から増加に転じたとき）を意味し、その判断方法は後述する。可動電極３０が溶接ワークＷに接触したと判断すると、多関節ロボット１２の動作を停止させ、可動電極３０が溶接ワークＷに接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとに基づいて、溶接ワークＷの表面の位置を検出し、溶接ワークＷの表面位置の検出工程を終了する（ステップＳ１１０）。
【００５２】
図７は本実施形態に従って可動電極３０により溶接ワークＷの表面を検出するときのサーボモータ３４のトルクの変化を時系列で表したグラフである。図７において、区間Ａは、検出動作を行っていない状態、区間Ｂは、検出動作中で可動電極３０が溶接ワークＷに接触していない状態、区間Ｃは、検出動作中で可動電極３０が溶接ワークＷに接触している状態を示す。なお、本実施形態でも、多関節ロボット１２の振動などによるサーボモータ３４の電流又はトルクの微小な揺らぎが生じるが、図７では、説明を簡単にするために、揺らぎを省略して描いている。
【００５３】
本実施形態では、可動電極３０が対向電極３２に対して静止しており、可動電極３０がサーボモータ３４によって駆動されていないので、可動電極駆動機構に動摩擦が発生せず、可動電極３０が溶接ワークＷに接触するまではサーボモータ３４の電流及びトルクはほとんど変動しない。したがって、検出動作前の区間Ａと検出動作中であるが可動電極３０が溶接ワークＷに接触していない区間Ｂとにおけるサーボモータ３４の電流及びトルクにはほとんど急激な変化は現れず、サーボモータ３４の電流及びトルクはほぼ一定の状態になっている。一方、区間Ｃになって、可動電極３０が溶接ワークＷに接触すると、溶接ワークＷが弾性変形して反力が溶接ワークＷから可動電極３０に作用するので、サーボモータ３４の電流及びトルクが増加する。可動電極３０が溶接ワークＷと接触した後も溶接ワークＷへ向かう可動電極３０の移動を継続させると、溶接ワークＷの弾性変形量が増加し、溶接ワークＷから可動電極３０に作用する反力も増加していき、やがてサーボモータ３４のトルク値がトルクリミットに到達して、サーボモータ３４のトルクは再び一定となる。このようにサーボモータ３４にトルクリミットを設定することにより、多関節ロボット１２によって移動させられるスポット溶接ガン１４の可動電極３０が溶接ワークＷを過度に変形させることを防止することができる。これは、塑性変形を起こしやすい柔らかい溶接ワークＷの表面位置を検出する場合に特に有効となる。なお、溶接ワークＷから可動電極３０に作用する反力がある程度増加したことが判別された時点で多関節ロボット１２の移動を停止してもよい。多関節ロボット１２の移動が停止されれば、サーボモータ３４のトルクの増加は停止する。
【００５４】
区間Ｂにおけるサーボモータ３４の電流又はトルクを記録しておくことにより、区間Ｂにおけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を求め、基準状態におけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量として、これを区間Ｃにおけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量との比較に用いることが可能になる。また、動作開始前に予め可動電極３０と溶接ワークＷとの間隔をあけておけば、区間Ｂを長くして十分な予備動作区間を確保できるので、可動電極３０と溶接ワークＷが接触していないときのサーボモータ３４の電流又はトルクを確実に記録することができるようになる。
【００５５】
このように、可動電極３０を対向電極３２に対して静止させた状態で多関節ロボット１２を用いてスポット溶接ガン１４を溶接ワークＷに接近させる方向に相対移動させると、可動電極３０が溶接ワークＷに接触したときに可動電極３０を駆動するためのサーボモータ３４の電流及びトルクが単調な増加に転じる。したがって、サーボモータ３４の電流又はトルクを監視すれば、電流又はトルクが、図７の区間Ｂにおいて記録しておいた基準状態、つまりほぼ一定の状態と比較して増加傾向に転じたときを可動電極３０が溶接ワークＷに接触した時点と判断することができる。さらに、可動電極３０が溶接ワークＷに接触したと判断されたときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとから、可動電極３０が溶接ワークＷに接触したと判断されたときの可動電極３０の先端の位置データを求めることができ、求められた可動電極３０の先端の位置データを溶接ワークＷの表面の位置データとみなせば、溶接ワークＷの表面の位置を検出することができる。
【００５６】
サーボモータ３４の電流又はトルクが基準状態と比較して増加する傾向に転じた時点は、サーボモータ３４の電流又はトルクの時系列曲線すなわち波形を解析して、電流又はトルクがほぼ一定の状態から増加に転じた点（以下、変化点と記載する。）を求めることにより特定される。変化点を求めるための電流又はトルクの波形の解析方法の例として、以下の三つが挙げられる。
【００５７】
（ｉ）サーボモータ３４の電流又はトルクが基準状態のサーボモータ３４の電流又はトルクの値よりも予め定められた閾値α以上増加した点を変化点とみなす。基準状態のサーボモータ３４の電流又はトルクの値は、予め実験的に定められた値としてもよく、サーボモータ３４の電流又はトルクが図７の区間Ｂにおける任意の時刻に記録されたサーボモータ３４の電流又はトルクから定められた基準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値としてもよい。サーボモータ３４の電流又はトルクを記録するのは図７の区間Ｂにおける任意の時刻で良いが、一般的には区間Ｂに入った直後であれば、まだ可動電極３０とワークＷが接触していないため、このときのサーボモータ３４の電流又はトルクを記録し、これを基準状態におけるサーボモータ３４の電流又はトルクとしておくのが好ましい。また、区間Ｂにおいて、一定時間可動電極３０とワークＷとの接触によるトルクの増加がなかった場合には、それ以前の情報から基準状態を再度決定し直すようにしても良い。なお、可動電極３４が対向電極３２に対して静止している場合でも、多関節ロボット１２によるスポット溶接ガン１４の移動の影響でサーボモータ３４の電流又はトルクは微小な変動を生じるので、閾値αはこの変動の振幅よりも大きな値に定めなければならない。
【００５８】
（ｉｉ）サーボモータ３４の電流又はトルクの単位時間当たりの変化量、すなわちサーボモータ３４の電流又はトルクの時系列波形の傾きが、基準状態のサーボモータ３４の電流又はトルクの単位時間当たりの変化量より予め定められた閾値β以上増加した点を変化点とみなす。基準状態のサーボモータ３４の電流又はトルクの単位時間の変化量は、予め定められた値（例えば０）としてもよく、区間Ｂにおいて記録されたサーボモータ３４の電流又はトルクの単位時間当たりの変化量から定められた標準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値としてもよい。可動電極３０が溶接ワークＷに接触すると図７に示されているようにサーボモータ３４の電流又はトルクは単調に増加するので閾値βは正の値となる。また、可動電極３０が対向電極３２に対して静止している場合、可動電極３０が溶接ワークＷに接触するまではサーボモータ３４の電流又はトルクはほとんど一定であり電流又はトルクの単位時間当たりの変化量も極めて小さいので、閾値βは０に近い値とすることができる。
【００５９】
（ｉｉｉ）可動電極３０が溶接ワークＷに接触するとサーボモータ３４の電流又はトルクは単調増加を示すので、可動電極３０が溶接ワークＷに接触しているときにはサーボモータ３４の電流又はトルクの波形の傾きは正になる。そこで、まず、（ｉ）又は（ｉｉ）の方法によって、サーボモータ３４の電流又はトルクの変化点を求め、これを仮の変化点とし、仮の変化点からサーボモータ３４の電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ３４の電流又はトルクの単位時間当たりの変化量（すなわち電流又はトルクの時系列波形の傾き）を求めていく。そして、サーボモータ３４の電流又はトルクの時系列波形の傾きがほぼ０になる点を真の変化点とし、真の変化点において、サーボモータ３４の電流又はトルクがほぼ一定の状態から増加に転じたとみなす。なお、サーボモータ３４の電流又はトルクの時系列波形は離散的なサンプリング点の集合であるので、必ずしも傾きが０になる点が存在するとは限らない。したがって、実際には、仮の変化点から電流又はトルクの時系列波形に沿って時刻を遡って電流又はトルクの時系列波形の傾きが正の値から負の値になる点を特定し、その直前のサンプリング点を真の変化点とすればよい。このような方法によれば、電流又はトルクが一定の状態から増加に転じた直後の時刻を正確に特定することができ、溶接ワークＷの表面位置を正確に求めることが可能となる。
【００６０】
本実施形態のように、可動電極３０を対向電極３２に対して静止させている場合、可動電極３０がサーボモータ３４によって駆動されておらず、可動電極駆動機構に動摩擦が発生しないので、サーボモータ３４の電流又はトルクの揺らぎがほとんど発生せず、サーボモータ３４の電流又はトルクがほぼ一定の状態から増加に転じた時点の判断が容易となり、（ｉ）及び（ｉｉ）において、閾値α及びβを小さい値に設定することができる。したがって、可動電極３０と溶接ワークＷとの接触時点を正確に特定でき、可動電極３０と溶接ワークＷとが実際に接触してからその接触が検出されるまでに溶接ワークＷが可動電極３０によって変形させられる量が減少するので、溶接ワークＷの表面位置がより正確に検出できるようになる。
【００６１】
なお、本実施形態では、可動電極３０による溶接ワークＷの変形を最小限に抑えるために、可動電極３０が溶接ワークＷに接触したと判断されると、ロボット制御装置１６は、多関節ロボット１２の動作を停止させ、可動電極３０が溶接ワークＷに接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとから溶接ワークＷの表面の位置を検出する。しかしながら、解析方法（ｉｉｉ）を採用する場合には、仮の変化点を特定した時点で解析に必要なサーボモータ３４の電流又はトルクの時系列データが揃い、それ以降に検出動作を継続する必要がないので、可動電極３０が溶接ワークＷに接触したと判断された後ではなく、仮の変化点を特定した時点で多関節ロボット１２の動作を停止させてもよい。
【００６２】
また、可動電極３０と溶接ワークＷとが接触したと判断した後も、多関節ロボット１２が惰走してしまい、多関節ロボット１２の動作を停止させたときの多関節ロボット１２の手首要素２８の先端の位置と、可動電極３０と溶接ワークＷとが接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置とが異なってしまうことがある。したがって、スポット溶接ガン１４の可動電極３０を位置決めすることが最終目的である場合には、多関節ロボット１２の惰走を是正するために、可動電極３０と溶接ワークＷとが接触したと判断したときの位置に多関節ロボット１２を移動さればよい。
【実施例２】
【００６３】
第２の実施形態は、図１に示されているスポット溶接システム１０において、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇが０ではなく、サーボモータ３４によって可動電極３０を移動させながら、多関節ロボット１２によってスポット溶接ガン１４を保持してワーク固定台（図示せず）に固定された溶接ワークＷに対して速度Ｖｒで相対移動させる点において、第１の実施形態と異なっており、その他の点は第１の実施形態と同様である。したがって、ここでは、異なる部分を中心に説明し、同様の部分については説明を省略する。
【００６４】
第１の実施形態では、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、対向電極３２に対して可動電極３０を静止させているので、可動電極駆動機構の動摩擦によるサーボモータ３４の電流又はトルクの揺らぎがほとんど発生せず、可動電極３０が溶接ワークＷに接触したときにサーボモータ３４の電流又はトルクが増加傾向に転じた時点を検出しやすいという利点がある。その一方で、可動電極３０が対向電極３２に対して静止しているため、可動電極駆動機構内の静摩擦に起因して、可動電極３０が溶接ワークＷに接触しているときに可動電極３０が溶接ワークＷから受ける反力が損失してサーボモータ３４に伝達されず、可動電極３０が溶接ワークＷに接触したにもかかわらずサーボモータ３４の電流又はトルクがほとんど変動しない不感帯が生じてしまい、可動電極３０が溶接ワークＷに接触してもサーボモータ３４の電流又はトルクの変動が即座に生じなくなる。したがって、可動電極駆動機構の静摩擦が小さい場合には、可動電極駆動機構の動摩擦により生じるサーボモータ３４の電流又はトルクの揺らぎをなくすことによる効果が不感帯の存在による悪影響に勝り、第１の実施形態が有効になるが、可動電極駆動機構の静摩擦が大きい場合には、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ３４の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう。
【００６５】
そこで、第２の実施形態では、サーボモータ３４によって対向電極３２に対して可動電極３０を低い速度Ｖｇ（≠０）で移動させることにより、このような不感帯を解消させ、可動電極動機構の静摩擦が大きい場合にも適用できるようにしている。実際には、第１の実施形態と第２の実施形態の両方の方法を試してみて、検出精度の高い方を採用すればよい。また、予め静摩擦の影響を測定しておき、影響の程度によって採用する方法を決めるようにしても良い。
【００６６】
なお、サーボモータ３４によって対向電極３２に対して可動電極３０を移動させる速度Ｖｇは、高すぎると、可動電極駆動機構の動摩擦によりサーボモータ３４の電流又はトルクに揺らぎが発生し、溶接ワークＷの表面位置を検出する精度に悪影響を及ぼす一方、低すぎると、可動電極駆動機構の静摩擦が十分に除去されなくなる。したがって、サーボモータ３４によって対向電極３２に対して可動電極３０を移動させる速度Ｖｇは、静摩擦を除去しつつ動摩擦によるサーボモータ３４の電流又はトルクの揺らぎを最小限に抑えるような極めて低い速度とすることが望ましい。
【００６７】
図６を参照して、第２の実施形態による溶接ワーク位置検出方法の手順を説明する。
最初に、第１の実施形態と同様に、スポット溶接ガン１４の可動電極３０と対向電極３２との間に溶接ワークＷを移動させ、可動電極３０と対向電極３２とが閉じたときに溶接ワークＷ上の溶接箇所（打点位置）に接触するような位置にスポット溶接ガン１４を位置決めする。なお、このときに可動電極３０と溶接ワークＷが接近しすぎないように、溶接ワークＷの表面からある程度の間隔をあけた位置に可動電極３０を位置決めし、可動電極３０が溶接ワークＷに接触しない予備動作区間を確保することが好ましい。また、可動電極３０を溶接ワークＷ上の溶接箇所に位置決めした後に、可動電極３０を溶接ワークＷから任意の距離だけ離隔させるように動作させても良い。
【００６８】
次に、ステップＳ１００で可動電極３０を駆動することを選択し、サーボモータ３４により可動電極３０を微速Ｖｇで駆動する（ステップＳ１０２）。サーボモータ３４により対向電極３２に対して可動電極３０を移動させる速度Ｖｇは、上述したように、静摩擦を除去しつつ動摩擦によるサーボモータ３４の電流又はトルクの変動を最小限に抑えるような極めて低い速度とする。また、対向電極３２に対して可動電極３０を移動させるのは、可動電極駆動機構の静摩擦の影響を除去することが目的であるので、対向電極３２に対する可動電極３０の移動は開方向又は閉方向に行ってもよく、閉開を繰返すようにしてもよい。なお、可動電極３０を対向電極３２から離れる方向に移動させる場合、すなわち可動電極３０を溶接ワークＷから離れる方向に移動させる場合、多関節ロボット１２は、対向電極３２に対する可動電極３０の移動速度Ｖｇ以上の速度Ｖｒで、溶接ワークＷに接近する方向にスポット溶接ガン１４を移動させる必要がある。
【００６９】
次に、対向電極３２に対して可動電極３０を速度Ｖｇで移動させながら、図３に示されるように、多関節ロボット１２を駆動してスポット溶接ガン１４を溶接ワークＷに対して速度Ｖｒで相対移動させることにより、可動電極３０と対向電極３２とが互いに離れた状態から可動電極３０を溶接ワークＷへ向かって接近させ（ステップＳ１０４）、同時に、可動電極３０を駆動するためのサーボモータ３４の電流又はトルクを監視する（ステップＳ１０６）。このとき、サーボモータ３４の電流又はトルクの情報と共に、多関節ロボット１２の手首要素２８の先端の位置データ及び対向電極３２に対する可動電極３０の相対位置データを逐次記録していく。さらに、スポット溶接ガン１４と溶接ワークＷとの相対移動の開始後で且つ可動電極３０と溶接ワークＷとの接触前の予備動作区間において逐次記録したサーボモータ３４の電流又はトルクから、比較用の基準状態（すなわち接触していない時の状態）の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ３４の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を決定する。
【００７０】
可動電極３０が溶接ワークＷに接触すると、溶接ワークＷが可動電極３０に押圧されて撓みや凹みなどの弾性変形を生じ、その反力が溶接ワークＷから可動電極３０に作用する。この結果、可動電極３０が対向電極３２に対して設定された速度Ｖｇで移動する状態を維持するために、サーボモータ３４のトルクが増加し、電流も増加する。このことを利用して、サーボモータ３４の電流又はトルクの変動を逐次チェックし（ステップＳ１０８）、サーボモータ３４の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極３０が溶接ワークＷに接触したと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が基準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量よりも大きくなったときを意味し、その判断方法は後述する。可動電極３０が溶接ワークＷに接触したと判断すると、多関節ロボット１２の動作を停止させ、可動電極３０が溶接ワークＷに接触したと判断したときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとに基づいて、溶接ワークＷの表面の位置を検出し、溶接ワークＷの表面位置の検出工程を終了する（ステップＳ１１０）。
【００７１】
図８（ａ）及び（ｂ）は本実施形態に従って可動電極３０により溶接ワークＷの表面を検出するときのサーボモータ３４のトルクの変化を時系列で表したグラフである。図８（ａ）及び（ｂ）において、区間Ａは、検出動作を行っていない状態、区間Ｂは、検出動作中で可動電極３０が溶接ワークＷに接触していない状態、区間Ｃは、検出動作中で可動電極３０が溶接ワークＷに接触している状態を示す。
【００７２】
本実施形態では、検出動作中に可動電極３０が対向電極３２に対して速度Ｖｇで移動するので、図８（ａ）に示されているように、区間Ｂになって可動電極３０の駆動を開始すると、可動電極３０の速度が予め定められた速度Ｖｇに到達するまで、サーボモータ３４の電流又はトルクが増加し、その後、可動電極３０が溶接ワークＷに接触するまで、可動電極駆動機構の動摩擦による揺らぎを伴いながらサーボモータ３４の電流又はトルクはほぼ一定の状態となる。なお、可動電極３０の移動速度Ｖｇは極めて小さいので、可動電極駆動機構の動摩擦による揺らぎは小さなものとなる。一方、区間Ｃになって、可動電極３０が溶接ワークＷに接触すると、溶接ワークＷが弾性変形して反力が溶接ワークＷから可動電極３０に作用するので、サーボモータ３４の電流及びトルクが増加する。可動電極３０が溶接ワークＷと接触した後も溶接ワークＷへ向かう可動電極３０の移動を継続させると、溶接ワークＷの弾性変形量が増加し、溶接ワークＷから可動電極３０に作用する反力も増加していき、やがてサーボモータ３４のトルク値がトルクリミットに到達して、サーボモータ３４のトルクは一定となる。このようにサーボモータ３４にトルクリミットを設定することにより、多関節ロボット１２によって移動させられるスポット溶接ガン１４の可動電極３０が溶接ワークＷを過度に変形させることを防止することができることは、第１の実施形態と同じである。また、溶接ワークＷから可動電極３０に作用する反力がある程度増加したことが判別された時点で多関節ロボット１２の移動を停止してもよいことも、第１の実施形態と同じである。
【００７３】
また、本実施形態では、検出動作中に可動電極３０が対向電極３２に対して速度Ｖｇで移動するので、図８（ｂ）に示されるように、区間Ｂになって可動電極３０の駆動を開始すると、可動電極３０の速度が予め定められた速度Ｖｇに到達するまで、サーボモータ３４の電流又はトルクが増加し、その後、可動電極３０が溶接ワークＷに接触するまで、可動電極駆動機構の動摩擦による揺らぎを伴いつつ、スポット溶接ガン１４の機械的な抵抗（例えば可動電極駆動機構と溶接トランス（図示しない）を連結する導電部の弾性変形）などによって、緩やかに変化していくことがある。なお、可動電極３０の移動速度Ｖｇは極めて小さいので、可動電極駆動機構の動摩擦による揺らぎは小さなものとなる。なお、図８（ｂ）では、区間Ｂにおいてサーボモータ３４の電流又はトルクが徐々に上昇する形態を取っているが、徐々に下降する形態をとることもありうる。一方、区間Ｃになって、可動電極３０が溶接ワークＷに接触すると、溶接ワークＷが弾性変形して反力が溶接ワークＷから可動電極３０に作用するので、サーボモータ３４の電流及びトルクが増加する。可動電極３０が溶接ワークＷと接触した後も溶接ワークＷへ向かう可動電極３０の移動を継続させると、溶接ワークＷの弾性変形量が増加し、溶接ワークＷから可動電極３０に作用する反力も増加していく。なお、区間Ｂにおける変化と、区間Ｃにおける変化は、一般的には後者の方が急である。
【００７４】
本実施形態でも、区間Ｂにおけるサーボモータ３４の電流及びトルクを記録しておくことにより、区間Ｃにおけるサーボモータ３４の電流及びトルクの値及び単位時間当たりの変化量を求め、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量として、これを区間Ｃにおけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量とのとの比較に用いることが可能になる。サーボモータ３４の電流及びトルクを記録するのは区間Ｂであればいつでも良いが、一般的には区間Ｂに入った直後であれば、まだ可動電極３０とワークＷが接触していないため、このときのサーボモータ３４の電流又はトルクを記録し、これを基準状態とするのが適切である。なお、動作開始前に予め可動電極３０と溶接ワークＷとの間隔をあけておけば、区間Ｂを長くして十分な予備動作区間を確保できるので、可動電極３０とワークＷが接触していないときのサーボモータ３４の電流又はトルクを確実に記録することができるようになる。また、区間Ｂにおいて、一定時間可動電極３０とワークＷとの接触によるトルクの増加がなかった場合には、それ以前の情報から基準状態を再度決定し直しても良い。特に、本実施形態では、可動電極３０の移動速度Ｖｇで動作するので、区間Ｂにおけるサーボモータ３４の電流又はトルクが一定の値とはなりにくいことから、この基準値状態の決定は重要である。
【００７５】
また、区間Ｂにおけるサーボモータ３４の電流及びトルクの値又は単位時間当たりの変化量から、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値を比較のために推測的に決定してもよい。その例をトルクを例にして以下に説明する。図９は、可動電極３０により溶接ワークＷの表面を検出するときのサーボモータ３４のトルクの変化の一例を時系列で表したグラフであり、区間Ａから区間Ｃの意味は、図８と同様である。まず、区間Ｂの初期である時刻Ｔ１から時刻Ｔ２までサーボモータ３４のトルクを監視することで、区間Ｂにてサーボモータ３４のトルクが全体的に見て徐々に増加していることがわかる。この状態を基準状態として、このときの単位時間当たりの変化量（すなわち増加量）と時刻Ｔ２におけるサーボモータ３４のトルクの値から直線近似法で、基準状態にあると仮定したときの時刻Ｔ２以降のサーボモータ３４のトルクの値を推測することができる。例えば、基準状態にあると仮定したときの時刻Ｔ２以降の時刻Ｔ３におけるサーボモータ３４のトルクＴの値を推測することができ、基準状態にあると仮定して推測された時刻Ｔ３におけるトルクＴと実際に観測された時刻Ｔ３におけるトルクＴ’とを比較することにより、サーボモータ３４のトルクが基準状態と比較して増加する傾向に転じたか否かを判断するようにしてもよい。
【００７６】
このように、可動電極３０を対向電極３２に対して低い速度Ｖｇで移動させながら多関節ロボット１２を用いてスポット溶接ガン１４を溶接ワークＷに接近させる方向に相対移動させた場合も、第１の実施形態と同様に、可動電極３０が溶接ワークＷに接触したときに可動電極３０を駆動するためのサーボモータ３４の電流及びトルクが、基準状態と比較して増加する傾向に転じる。したがって、サーボモータ３４の電流又はトルクを監視すれば、電流又はトルクが、基準状態と比較して増加する傾向に転じたときに可動電極３０が溶接ワークに接触したと判断することができる。さらに、可動電極３０が溶接ワークＷに接触したと判断されたときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとから、可動電極３０が溶接ワークＷに接触したと判断されたときの可動電極３０の先端の位置データを求めることができ、求められた可動電極３０の先端の位置データを溶接ワークＷの表面の位置データとみなせば、溶接ワークＷの表面の位置を検出することができる。
【００７７】
サーボモータ３２の電流又はトルクが、基準状態と比較して増加する傾向に転じた時点は、第１の実施形態で述べた三つの解析方法（ｉ）〜（iii）と同様にして、サーボモータ３４の電流又はトルクの時系列曲線すなわち波形を解析して、電流又はトルクの値又は単位時間当たりの変化量が増加に転じる点（以下、変化点と記載する。）を求めることにより特定される。
【００７８】
ただし、第２の実施形態では、可動電極３０が対向電極３２に対して低い速度Ｖｇで移動させられており、可動電極駆動機構の動摩擦によりサーボモータ３４の電流又はトルクに微小な変動を生じるので、解析方法（ｉ）では、閾値αはこの変動の振幅よりも大きな値に定められる。また、可動電極３０が溶接ワークＷに接触する前の状態が一定でない変化状態になる場合には、スポット溶接ガン１４と溶接ワークＷとの相対移動の開始後で且つ可動電極３０と溶接ワークＷとの接触前に記録しておいたサーボモータ３４の電流又はトルクから、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値を推測的に定め、これを基準値とすれよい。例えば、図９に示したように、基準状態にあると仮定して、時刻Ｔ１と時刻Ｔ２にて取得されたサーボモータ３４のトルクの値から直線近似法で推測される時刻Ｔ２以降の時刻Ｔ３におけるサーボモータのトルクＴと、時刻Ｔ３において実際に観測されたトルクＴ’とを比較して、時刻Ｔ３において実際に観測されたトルクＴ’が、基準状態にあると仮定して推測された時刻Ｔ３におけるサーボモータ３４のトルクよりも閾値α以上増加した点を変化点とみなせばよい。
【００７９】
解析方法（ｉｉ）では、可動電極３０が溶接ワークＷに接触すると図８（ａ）に示されているようにサーボモータ３４の電流又はトルクは単調に増加することから、閾値βは正の値とすればよい。ただし、可動電極３０が対向電極３２に対して低い速度Ｖｇで移動させられていることから、第１の実施形態と比べて区間Ｂにおける揺らぎが大きいため、第１の実施形態の場合よりも閾値βを大きな値にする必要がある。また、可動電極３０が溶接ワークＷに接触する前の状態が一定でない変化状態になる場合には、解析方法（ｉ）における場合と同様に、スポット溶接ガン１４と溶接ワークＷとの相対移動の開始後で且つ可動電極３０と溶接ワークＷとの接触前に記録しておいたサーボモータ３４の電流又はトルクから、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの単位時間当たりの変化量を推測的に定め、基準状態のサーボモータ３４の電流又はトルクの単位時間当たりの変化量とすればよい。例えば、図９に示したように、時刻Ｔ２以降の時刻Ｔ３においても基準状態にあると仮定すれば、サーボモータ３４のトルクは、時刻Ｔ３において、時刻Ｔ１と時刻Ｔ２において取得されたサーボモータ３４のトルクの値から求めた基準状態における単位時間当たりの変化量と同じ単位時間当たりの変化量になると推測できる。したがって、基準状態にあると仮定して推測されたサーボモータ３４のトルクの単位時間当たりの変化量と、実際に観測されたサーボモータ３４の単位時間当たりの変化量とを比較して、実際に観測されたサーボモータ３４の単位時間当たりの変化量が、基準状態にあると仮定して推測されたサーボモータ３４のトルクの単位時間当たりの変化量よりも閾値β以上増加した点を変化点とみなせばよい。
【００８０】
解析方法（ｉｉｉ）は、第１の実施形態の場合とほとんど同じであり、（ｉ）又は（ｉｉ）の方法によって、図１０に示されているように、サーボモータ３４の電流又はトルクの変化点を求め、これを仮の変化点Ｔｄ１とし、仮の変化点Ｔｄ１から電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ３４の電流又はトルクの単位時間当たりの変化量（すなわち電流又はトルクの時系列波形の傾き）を求めていき、電流又はトルクの時系列波形の傾きがほぼ０になる点を真の変化点とし、真の変化点において、サーボモータ３４の電流又はトルクがほぼ一定の状態から増加に転じた又は緩やかに変化する状態から相対的に急激に変化する状態に転じたとみなす。なお、サーボモータ３４の電流又はトルクの時系列波形は離散的なサンプリング点の集合であるので、必ずしも傾きが０になる点が存在するとは限らない。したがって、実際には、電流又はトルクの時系列波形の傾きが正の値から負の値になる点Ｔｄ３を特定し、その直後のサンプリング点を真の変化点Ｔｄ２とすればよい。また、解析方法（ｉｉｉ）では、可動電極３０が溶接ワークＷに接触している状態から電流又はトルクの時系列波形に沿って時刻を遡って電流又はトルクの傾きの評価を行うため、第２の実施形態のようにサーボモータ３４によって可動電極３０を駆動しながら検出動作を行う場合でも、サーボモータ３４の電流又はトルクの時系列波形に可動電極駆動機構の動摩擦に起因する揺らぎがほとんど現れない時系列波形部分を用いて電流又はトルクの傾きの評価を行うことができ、電流又はトルクの時系列波形の傾きが０又は負の値になる時点の特定が容易となる。
【００８１】
本実施形態のように、可動電極３０を対向電極３２に対して速度Ｖｇで移動させながら多関節ロボット１２を用いてスポット溶接ガン１４を溶接ワークＷに接近させる方向に相対移動させると、第１の実施形態に比べてサーボモータ３４の電流又はトルクの揺らぎが僅かに大きくなり、可動電極３０と溶接ワークＷとの接触の検出が僅かに難しくなるものの、第１の実施形態の場合とほとんど同じ効果が得られる。さらに、上述したように、可動電極駆動機構内の静摩擦に起因した不感帯を解消することができ、可動電極３０が溶接ワークＷに接触したときに即座にサーボモータ３４の電流又はトルクがほぼ一定の状態又は緩やかに変化する状態から相対的に急激に増加する状態に転じるようになる。したがって、可動電極駆動機構の静摩擦が大きく、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ３４の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう場合に、本実施形態の方法が有効となる。その他の点は、第１の実施形態と同じであるので、ここでは説明を省略する。
【実施例３】
【００８２】
図１１を参照して、本発明の溶接ワーク位置検出方法の第３の実施形態を説明する。第３の実施形態では、図１に示されているスポット溶接システム１０において、サーボモータ３４によって可動電極を駆動する速度Ｖｇを０として、対向電極３２に対して可動電極３０を静止させた状態で多関節ロボット１２によってスポット溶接ガン１４を保持してワーク固定台（図示せず）に固定された溶接ワークＷに対して速度Ｖｒで相対移動させる。また、可動電極３０を駆動するためのサーボモータ３４にはトルクリミットが設定されており、一定の値以上にはトルクが増加しないようになっている。可動電極３０の押圧による溶接ワークＷの変形を抑制するためには、トルクリミットは可能な限り低い値に設定することが望ましい。
【００８３】
本実施形態では、最初に、スポット溶接ガン１４の可動電極３０と対向電極３２との間に溶接ワークＷを移動させ、溶接ワークＷが多少の弾性変形を伴う程度に溶接ワークＷ上の溶接箇所（打点位置）に可動電極３０を接触させて押し付けるようにスポット溶接ガン１４を位置決めする（ステップＳ２００）。なお、このときに可動電極３０を溶接ワークＷに十分な距離だけ押し付けて、可動電極３０が溶接ワークから離隔するまでの予備動作区間を確保することが好ましい。
【００８４】
次に、ステップＳ２０２で、可動電極３０を駆動しないことを選択し、対向電極３２に対して可動電極３０を静止させたまま、図４に示されるように、多関節ロボット１２を駆動してスポット溶接ガン１４を溶接ワークＷに対して相対移動させることにより、可動電極３０と溶接ワークＷとが互いに接触した状態から可動電極３０を溶接ワークＷから離反する方向に移動させ（ステップＳ２０６）、同時に、可動電極３０を駆動するためのサーボモータ３４の電流又はトルクを監視する（ステップＳ２０８）。このとき、サーボモータ３４の電流又はトルクの情報と共に、多関節ロボット１２の手首要素２８の先端の位置データ及び対向電極３２に対する可動電極３０の相対位置データを逐次記録していく。さらに、必要に応じて、スポット溶接ガン１４と溶接ワークＷとの相対移動の開始後で且つ可動電極３０と溶接ワークＷとの離隔前の予備動作区間において逐次記録したサーボモータ３４の電流又はトルクから、比較用の基準状態（すなわち押し付けているときの状態）のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ３４の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を決定する。なお、基準状態は、スポット溶接ガン１４と溶接ワークＷとが相対移動を開始してサーボモータ３４の電流又はトルクが単調減少を行っている状態とし、予備動作区間において、基準状態の電流又はトルクの値又は単位時間当たりの変化量を定めるためのサーボモータ３４の電流又はトルクはサーボモータ３４の電流又はトルクが単調減少を行っている間に記録する。
【００８５】
多関節ロボット１２により可動電極３０が溶接ワークＷから離反する方向に移動すると、可動電極３０による溶接ワークＷの弾性変形量が減少して、溶接ワークＷから可動電極３０に作用する反力も減少する。この結果、可動電極３０を対向電極３２に対して静止した状態に維持するための力が減少するので、サーボモータ３４のトルクが減少し、電流も減少する。さらに、可動電極３０が多関節ロボット１２によって移動させられて可動電極３０が溶接ワークＷから完全に離れると、可動電極３０の押圧による溶接ワークＷの弾性変形がなくなって、溶接ワークＷから可動電極３０に作用する反力が解消され、サーボモータ３４のトルク及び電流の減少も止まる。このことを利用して、サーボモータ３４の電流又はトルクを逐次チェックし（ステップＳ２１０）、サーボモータ３４の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極３０が溶接ワークＷから完全に離れたと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量よりも増加したとき（この場合、サーボモータ３４の電流又はトルクが減少からほぼ一定の状態若しくは緩やかな増加に転じたとき又はサーボモータ３４の電流又はトルクの単位時間当たりの減少量が小さくなったとき（以下では、まとめて、減少傾向が終了したときと記載する。）を意味し、その判断方法は後述する。可動電極３０が溶接ワークＷから完全に離れたと判断すると、多関節ロボット１２の動作を停止させ、可動電極３０が溶接ワークＷから完全に離れたと判断したときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとに基づいて、溶接ワークＷの表面の位置を検出し、溶接ワークＷの表面位置の検出工程を終了する（ステップＳ２１２）。
【００８６】
図１２は本実施形態に従って可動電極３０により溶接ワークＷの表面を検出するときのサーボモータ３４のトルクの変化を時系列で表したグラフである。図１２において、区間Ａは、可動電極３０が溶接ワークＷに接触しているが検出動作を行っていない状態、区間Ｂは、検出動作中で可動電極３０が溶接ワークＷに接触している状態、区間Ｃは、検出動作中で可動電極３０が溶接ワークＷから完全に離れた（すなわち離隔した）状態、区間Ｄは、検出動作によって可動電極３０が徐々に溶接ワークＷから離反することで溶接ワークＷから可動電極３０への反力が解消され、可動電極３０を駆動するためのサーボモータ３４のトルクが減少していく状態を示す。区間Ｂのうち区間Ｄを除いた部分は、溶接ワークＷから可動電極３０への反力が解消されていくが、可動電極駆動機構の静摩擦のために反力の減少がサーボモータ３４に伝達しない状態を示す。本実施形態でも、多関節ロボット１２の振動などによるサーボモータ３４の電流又はトルクの微小な揺らぎが生じるが、図１２では、説明を簡単にするために、揺らぎを省略して描いている。
【００８７】
本実施形態では、初期状態において、溶接ワークＷの弾性変形による反力が溶接ワークＷから可動電極３０に作用しており、可動電極３０が静止した状態を維持するためにサーボモータ３４にはトルクが発生する。一方、サーボモータ３４にはトルクリミットが設定されている。また、可動電極３０は対向電極３２に対して静止しており、可動電極３０がサーボモータ３４によって駆動されていないので、可動電極駆動機構に動摩擦が発生しない一方、可動電極駆動機構の静摩擦に起因して不感帯が生じる。このため、検出動作前の区間Ａと検査動作開始後の区間Ｂの冒頭とにおけるサーボモータ３４の電流及びトルクはほぼ一定状態となり、特に急激な変動は現れない。一方、多関節ロボット１２によるスポット溶接ガン１４の移動により可動電極３０が溶接ワークＷから離反する方向に移動させられて、溶接ワークＷから可動電極３０に作用する反力が徐々に解消され、区間Ｄのように、サーボモータ３４のことによって、サーボモータ３４のトルクが単調減少し、電流も減少する。さらに、多関節ロボット１２によって可動電極３０が溶接ワークＷから離反する方向に移動させられ、区間Ｃになって、可動電極３０が溶接ワークＷから完全に離れると、溶接ワークＷの弾性変形が解消され、弾性変形による反力が溶接ワークＷから可動電極３０に作用しなくなるので、サーボモータ３４のトルク及び電流の減少も止まる。
【００８８】
区間Ｄにおけるサーボモータ３４の電流又はトルクを記録しておくことにより、区間Ｄにおけるサーボモータ３４の電流又はトルクの単位時間当たりの変化量から、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を定め、これを区間Ｃにおけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量との比較に用いることが可能となる。また、動作開始前に可動電極３０を十分な距離だけ溶接ワークＷに押し付けておけば、区間Ｂを長くして十分な予備動作区間を確保できるので、可動電極３０が溶接ワークＷと接触しているときのサーボモータ３４の電流又はトルクを確実に記録することができるようになる。
【００８９】
このように、可動電極３０を対向電極３２に対して静止させた状態で多関節ロボット１２を用いてスポット溶接ガン１４を溶接ワークＷから離反する方向に相対移動させると、可動電極３０が溶接ワークＷから完全に離れたときに可動電極３０を駆動するためのサーボモータ３４の電流及びトルクが、基準状態と比較して増加する傾向に転じる。したがって、サーボモータ３４の電流又はトルクを監視すれば、電流又はトルクが基準状態と比較して増加する傾向に転じたときに可動電極３０が溶接ワークＷから完全に離れた（離隔した）と判断することができる。さらに、可動電極３０が溶接ワークＷから完全に離れたと判断されたときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとから、可動電極３０が溶接ワークＷから完全に離れたと判断されたときの可動電極３０の先端の位置データを求めることができ、求められた可動電極３０の先端の位置データを溶接ワークＷの表面の位置データとみなせば、溶接ワークＷの表面の位置を検出することができる。
【００９０】
サーボモータ３４の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じた時点は、サーボモータ３４の電流又はトルクの時系列曲線すなわち波形を解析し、電流又はトルクの減少傾向が終了する点（以下、変化点と記載する。）を求めることにより特定される。変化点を求めるための電流又はトルクの波形の解析方法の例として、以下の四つが挙げられる。
【００９１】
（ｉ）可動電極３０が溶接ワークＷから離反する方向に移動すると、図１２に示されているように、サーボモータ３４の電流又はトルクは単調に減少し、可動電極３０が溶接ワークＷから完全に離れると、サーボモータ３４の電流又はトルクの減少が終了してほぼ一定の状態になる。したがって、サーボモータ３４の電流又はトルクの単位時間当たりの変化量、すなわちサーボモータ３４の電流又はトルクの波形の傾きが、負の値になり減少傾向を示した後、波形の傾きが０又は正の値になる点を変化点とみなす。
【００９２】
（ｉｉ） 可動電極３０が溶接ワークＷから離反する方向に移動すると、図１２に示されているように、サーボモータ３４の電流又はトルクは単調に減少し、可動電極３０が溶接ワークＷから完全に離れると、サーボモータ３４の電流又はトルクの単位時間当たりの変化量は、基準状態である単調減少時と比較して増加し、減少傾向が終了する。したがって、基準状態である単調減少時に観測されたサーボモータ３４の電流又はトルクの値から、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの単位時間当たりの変化量を定め、実際に観測されたサーボモータ３４の電流又はトルクの単位時間当たりの変化量と、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの単位時間当たりの変化量とを比較して、前者が後者よりも予め定められた閾値以上に増加したときに、減少傾向が終了したと判断し、変化点とみなす。例えば、図１２に示されているように、時刻Ｔ２以降の時刻Ｔ３においても基準状態にあると仮定すれば、サーボモータ３４のトルクは、時刻Ｔ３において、単調減少時の時刻Ｔ１と時刻Ｔ２において観測されたサーボモータ３４のトルクの値から求めた単位時間当たりの変化量と同じ単位時間当たりの変化量になると推測できる。したがって、実際に観測されたサーボモータ３４のトルクの単位時間当たりの変化量が、基準状態である単調減少時のサーボモータ３４のトルクの単位時間当たりの変化量より予め定められた閾値以上に増加したときに、変化点とみなせばよい。
【００９３】
（ｉｉｉ）上述したように、可動電極３０が溶接ワークＷから離反する方向に移動すると、図１２に示されているように、サーボモータ３４の電流又はトルクは単調に減少し、可動電極３０が溶接ワークＷから完全に離れると、サーボモータ３４の電流又はトルクの単位時間当たりの変化量は、基準状態である単調減少時と比較して増加し、減少傾向が終了する。すなわち、実際に観測されたサーボモータ３４の電流又はトルクの値が、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値よりも増加する。したがって、基準状態である単調減少時に観測されたサーボモータ３４の電流又はトルクの値から、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値を推測的に定め、実際に観測されたサーボモータ３４の電流又はトルクの値と、基準状態にあると仮定して推測的に定めたサーボモータ３４の電流又はトルクの値とを比較して、前者が後者よりも予め定められた閾値以上に増加したときに、減少傾向が終了したと判断し、変化点とみなす。例えば、図１２に示されているように、基準状態にあると仮定したときの時刻Ｔ２以降の時刻Ｔ３におけるサーボモータ３４のトルクの値Ｔは、単調減少している区間Ｄの時刻Ｔ１と時刻Ｔ２との間のサーボモータ３４のトルクの単位時間当たりの変化量と時刻Ｔ２におけるサーボモータ３４のトルクの値とから直線近似法によって推測することができ、実際に観測されたサーボモータ３４のトルクのトルクの値Ｔ’が、基準状態にあると仮定して推測的に定められたサーボモータ３４のトルクの値Ｔより予め定められた閾値以上に増加したときに、変化点とみなせばよい。
【００９４】
（ｉｖ）可動電極３０が溶接ワークＷから離反する方向に移動すると、図１２に示されているように、サーボモータ３４の電流又はトルクは単調に減少し、可動電極３０が溶接ワークＷから完全に離れると、減少傾向が終了する、すなわち単位時間当たりの変化量が０又は正になる。そこで、まず、（ｉｉ）又は（ｉｉｉ）の方法によって、サーボモータ３４の電流又はトルクの変化点を求め、これを仮の変化点とし、仮の変化点からサーボモータ３４の電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ３４の単位時間当たりの変化量（すなわち電流又はトルクの時系列波形の傾き）を求めていく。そして、サーボモータ３４の電流又はトルクの波形の傾きが負に転じた点を真の変化点とし、真の変化点において、サーボモータ３４の電流又はトルクの減少傾向が終了したとみなす。図１３では、Ｔｄ１は、解析方法（ｉｉ）又は（ｉｉｉ）によって求めた仮の変化点を表し、Ｔｄ２はサーボモータ３４のトルクの時系列波形に沿って時刻を遡って求めた真の変化点を表している。あるいはまた、仮の変化点付近の点におけるサーボモータ３４の電流又はトルクの時系列波形の傾きを求め、これを（可動電極３０が溶接ワークＷから離隔した後の）基準の傾きとし、同様に仮の変化点からサーボモータ３４の電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ３４の電流又はトルクの時系列波形の傾きを求めていき、求めたサーボモータ３４の電流又はトルクの時系列波形の傾きと基準の傾きとの差が予め定められた許容値を超えた点を真の変化点とし、この真の変化点おいて、電流又はトルクの減少傾向が終了したとみなしてもよい。なお、後者の場合、仮の変化点を求めるために解析方法（ｉｉ）を用いるときは、仮の変化点を求めるための予め定められた閾値と、真の変化点を求めるための予め定められた許容値とでは、前者を大きく、後者を小さくするのが望ましい。これにより、大まかに仮の変化点を特定してから、詳細に真の変化点を特定することができるようになる。
【００９５】
本実施形態のように、可動電極３０を対向電極３２に対して静止させている場合、可動電極３０がサーボモータ３４によって駆動されておらず、可動電極駆動機構に動摩擦が発生しないので、サーボモータ３４の電流又はトルクの揺らぎがほとんど発生せず、サーボモータ３４の電流又はトルクの減少傾向が終了した時点の判断が容易となる。したがって、可動電極３０が溶接ワークＷから完全に離れた時点を正確に特定でき、溶接ワークＷの表面位置がより正確に検出できるようになる。
【００９６】
また、可動電極３０が溶接ワークＷから完全に離れた時点の可動電極３０の位置から溶接ワークＷの表面位置を検出するので、溶接ワークＷは可動電極３０による弾性変形を伴っておらず、溶接ワークＷの表面位置を正確に検出することができる。
【００９７】
さらに、本実施形態では、可動電極３０が溶接ワークＷから完全に離れたと判断されると、ロボット制御装置１６は、多関節ロボット１２の動作を停止させ、可動電極３０が溶接ワークＷから完全に離れたと判断されたときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとから溶接ワークＷの表面の位置を検出する。しかしながら、可動電極３０と溶接ワークＷとが完全に離れたと判断した後も、多関節ロボット１２が惰走してしまい、多関節ロボット１２の動作を停止させたときの多関節ロボット１２の手首要素２８の先端の位置と、可動電極３０と溶接ワークＷとが完全に離れたと判断したときの多関節ロボット１２の手首要素２８の先端の位置とが異なってしまうことがある。したがって、スポット溶接ガン１４の可動電極３０を位置決めすることが最終目的である場合には、多関節ロボット１２の惰走を是正するために、可動電極３０が溶接ワークＷから完全に離れたと判断したときの位置に多関節ロボット１２を移動さればよい。
【実施例４】
【００９８】
第４の実施形態は、図１に示されているスポット溶接システム１０において、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇが０ではなく、サーボモータ３４によって可動電極３０を移動させながら、多関節ロボット１２によってスポット溶接ガン１４を保持してワーク固定台（図示せず）に固定された溶接ワークＷに対して速度Ｖｒで相対移動させる点において、第３の実施形態と異なっており、その他の点は第３の実施形態と同様である。したがって、ここでは、異なる部分を中心に説明し、同様の部分については説明を省略する。
【００９９】
第３の実施形態では、サーボモータ３４によって可動電極３０を駆動する速度Ｖｇを０として、対向電極３２に対して可動電極３０を静止させているので、可動電極駆動機構の動摩擦によるサーボモータ３４の電流又はトルクの揺らぎがほとんど発生せず、可動電極３０が溶接ワークＷから完全に離れたときにサーボモータ３４の電流又はトルクの減少傾向が終了した時点を検出しやすいという利点がある。その一方で、可動電極３０が対向電極３２に対して静止しているため、可動電極駆動機構内の静摩擦に起因して不感帯が生じ、溶接ワークＷからサーボモータ３４へ伝達される反力の損失が生じて、可動電極３４が溶接ワークＷから完全に離れて溶接ワークＷから可動電極３０に反力が作用しなくなる前にサーボモータ３４の電流又はトルクが変化しなくなる。この結果、可動電極３０が溶接ワークＷから完全に離れた時点を誤検出する可能性が生じる。したがって、可動電極駆動機構の静摩擦が小さい場合には、可動電極駆動機構の動摩擦により生じるサーボモータ３４の電流又はトルクの揺らぎをなくすことによる効果が不感帯の存在による悪影響に勝り、第３の実施形態が有効になるが、可動電極駆動機構の静摩擦が大きい場合には、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ３４の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう。
【０１００】
そこで、第４の実施形態では、サーボモータ３４によって対向電極３２に対して可動電極３０を低い速度Ｖｇ（≠０）で移動させることにより、このような不感帯を解消させ、可動電極動機構の静摩擦が大きい場合にも適用できるようにしている。実際には、第３の実施形態と第４の実施形態の両方の方法を試してみて、検出精度の高い方を採用すればよい。また、予め静摩擦の影響を測定しておき、影響の程度によって採用する方法を決めるようにしてもよい。
【０１０１】
なお、サーボモータ３４によって対向電極３２に対して可動電極３０を移動させる速度Ｖｇは、高すぎると、可動電極駆動機構の動摩擦によりサーボモータ３４の電流又はトルクに揺らぎが発生し、溶接ワークＷの表面位置を検出する精度に悪影響を及ぼす一方、低すぎると、可動電極駆動機構の静摩擦が十分に除去されなくなる。したがって、サーボモータ３４によって対向電極３２に対して可動電極３０を移動させる速度Ｖｇは、静摩擦を除去しつつ動摩擦によるサーボモータ３４の電流又はトルクの揺らぎを最小限に抑えるような極めて低い速度とすることが望ましい。
【０１０２】
図１１を参照して、第４の実施形態による溶接ワーク位置検出方法の手順を説明する。
最初に、第３の実施形態と同様に、スポット溶接ガン１４の可動電極３０と対向電極３２との間に溶接ワークＷを移動させ、溶接ワークＷが多少の弾性変形を伴う程度に溶接ワークＷ上の溶接箇所（打点位置）に可動電極３０を接触させて押し付けるようにスポット溶接ガン１４を位置決めする（ステップＳ２００）。なお、このときに可動電極３０を溶接ワークＷに十分な距離だけ押し付けて、可動電極３０が溶接ワークから離隔するまでの予備動作区間を確保することが好ましい。
【０１０３】
次に、ステップＳ２０２で可動電極３０を駆動することを選択し、サーボモータ３４により可動電極３０を微速Ｖｇで駆動する（ステップＳ２０４）。サーボモータ３４により対向電極３２に対して可動電極３０を移動させる速度Ｖｇは、上述したように、静摩擦を除去しつつ動摩擦によるサーボモータ３４の電流又はトルクの変動を最小限に抑えるような極めて低い速度とする。また、対向電極３２に対して可動電極チップ３０を移動させるのは、可動電極駆動機構の静摩擦の影響を除去することが目的であるので、対向電極３２に対する可動電極３０の移動は開方向又は閉方向に行ってもよく、閉開を繰返すようにしてもよい。なお、可動電極３０を対向電極３２に接近させる方向に移動させる場合、すなわち可動電極３０を溶接ワークＷへ向かって移動させる場合、多関節ロボット１２は、対向電極３２に対する可動電極３０の移動速度Ｖｇ以上の速度Ｖｒで、溶接ワークＷから離反する方向にスポット溶接ガン１４を移動させる必要がある。
【０１０４】
次に、対向電極３２に対して可動電極３０を速度Ｖｇで移動させながら、図４に示されるように、多関節ロボット１２を駆動してスポット溶接ガン１４を溶接ワークＷに対して速度Ｖｒで相対移動させることにより、可動電極３０と対向電極３２とが互いに接触した状態から可動電極３０を溶接ワークＷから離反する方向に移動させ（ステップＳ２０６）、同時に、可動電極３０を駆動するためのサーボモータ３４の電流又はトルクを監視する（ステップＳ２０８）。このとき、サーボモータ３４の電流又はトルクの情報と共に、多関節ロボット１２の手首要素２８の先端の位置データ及び対向電極３２に対する可動電極３０の相対位置データを逐次記録していく。さらに、必要に応じて、スポット溶接ガン１４と溶接ワークＷとの相対移動の開始後で且つ可動電極３０と溶接ワークＷとの離隔前の予備動作区間において逐次記録したサーボモータ３４の電流又はトルクから、比較用の基準状態（すなわち押し付けている時の状態）のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ３４の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を決定する。なお、基準状態は、スポット溶接ガン１４と溶接ワークＷとが相対移動を開始してサーボモータ３４の電流又はトルクが単調減少を行っている状態とし、予備動作区間において、基準状態の電流又はトルクの値又は単位時間当たりの変化量を定めるためのサーボモータ３４の電流又はトルクはサーボモータ３４の電流又はトルクが単調減少を行っている間に記録する。
【０１０５】
そして、サーボモータ３４の電流又はトルクの変動を逐次チェックし（ステップＳ２１０）、サーボモータ３４の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極３０が溶接ワークＷから完全に離れたと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ３４の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量よりも増加したとき（この場合、サーボモータ３４の電流又はトルクが減少からほぼ一定の状態若しくは緩やかな増加に転じたとき又はサーボモータ３４の電流又はトルクの単位時間当たりの減少量が小さくなったとき（以下では、まとめて、減少傾向が終了したときと記載する。）を意味し、その判断方法は後述する。可動電極３０が溶接ワークＷから完全に離れたと判断すると、多関節ロボット１２の動作を停止させ、可動電極３０が溶接ワークＷから完全に離れたと判断したときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとに基づいて、溶接ワークＷの表面の位置を検出し、溶接ワークＷの表面位置の検出工程を終了する（ステップＳ２１２）。
【０１０６】
図１４は本実施形態に従って可動電極３０により溶接ワークＷの表面を検出するときのサーボモータ３４のトルクの変化を時系列で表したグラフである。図１４において、区間Ａは、可動電極３０が溶接ワークＷに接触しているが検出動作を行っていない状態、区間Ｂは、検出動作中で可動電極３０が溶接ワークＷに接触している状態、区間Ｃは、検出動作中で可動電極３０が溶接ワークＷから完全に離れた（すなわち離隔した）状態、区間Ｄは、検出動作によって可動電極３０が徐々に溶接ワークＷから離反することで溶接ワークＷから可動電極３０への反力が解消され、可動電極３０を駆動するためのサーボモータ３４のトルクが減少していく状態を示す。本実施形態でも、多関節ロボット１２の振動などによるサーボモータ３４の電流又はトルクの微小な揺らぎが生じるが、図１４では、説明を簡単にするために、揺らぎを省略して描いている。
【０１０７】
本実施形態では、検出動作中に可動電極３０が対向電極３２に対して速度Ｖｇで移動するので、区間Ｂになって可動電極３０の駆動を開始すると、可動電極３０の速度が予め定められた速度Ｖｇに到達するまで、サーボモータ３４の電流又はトルクが増加し、可動電極３０の速度がＶｇに達すると、サーボモータ３４は加速のためのトルクを必要としなくなるので、サーボモータ３４の電流及びトルクはほぼ一定となる。一方、多関節ロボット１２によるスポット溶接ガン１４の移動により可動電極３０が溶接ワークＷから離反する方向に移動させられて、溶接ワークＷから可動電極３２に作用する反力が徐々に解消され、区間Ｄのように、サーボモータ３４のトルクが単調減少し、電流も減少する。さらに、多関節ロボット１２によって可動電極３０が溶接ワークＷから離反する方向に移動させられて、区間Ｃになって、可動電極３０が溶接ワークＷから完全に離れると、溶接ワークＷの弾性変形が解消され、弾性変形による反力が可動電極３０に作用しなくなるので、サーボモータ３４のトルク及び電流の減少も止まる。
【０１０８】
区間Ｄにおけるサーボモータ３４の電流又はトルクを記録しておくことにより、区間Ｄにおけるサーボモータ３４の電流又はトルクの単位時間当たりの変化量から、基準状態にあると仮定したときのサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量を定め、これを区間Ｃにおけるサーボモータ３４の電流又はトルクの値又は単位時間当たりの変化量との比較に用いることが可能となる。また、動作開始前に可動電極３０を十分な距離だけ溶接ワークＷに押し付けておけば、区間Ｂを長くして十分な予備動作区間を確保できるので、可動電極３０が溶接ワークＷと接触しているときのサーボモータ３４の電流又はトルクを確実に記録することができるようになる。
【０１０９】
このように、可動電極３０を対向電極３２に対して低い速度Ｖｇで移動させながら多関節ロボット１２を用いてスポット溶接ガン１４を溶接ワークＷから離反させる方向に相対移動させた場合も、第３の実施形態と同様に、可動電極３０が溶接ワークＷから完全に離れたときに可動電極３０を駆動するためのサーボモータ３４の電流又はトルクが、基準状態と比較して増加する傾向に転じる。したがって、サーボモータ３４の電流又はトルクを監視すれば、電流又はトルクが、基準状態と比較して増加する傾向に転じたときに可動電極３０が溶接ワークＷから完全に離れたと判断することができる。さらに、可動電極３０が溶接ワークＷから完全に離れたと判断されたときの多関節ロボット１２の手首要素２８の先端の位置データとスポット溶接ガン１４における対向電極３２に対する可動電極３０の相対位置データとから、可動電極３０が溶接ワークＷから完全に離れたと判断されたときの可動電極３０の先端の位置データを求めることができ、求められた可動電極３０の先端の位置データを溶接ワークＷの表面の位置データとみなせば、溶接ワークＷの表面の位置を検出することができる。
【０１１０】
サーボモータ３４の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じた時点は、第３の実施形態で述べた四つの解析方法（ｉ）〜（ｉｖ）と同様にして、サーボモータ３４の電流又はトルクの時系列曲線すなわち波形を解析し、電流又はトルクの減少傾向が終了する点（以下、変化点と記載する。）を求めることにより特定される。変化点を求めるための電流又はトルクの波形の解析方法の例は、第３の実施形態と同じであるので、ここでは説明を省略する。なお、本実施形態では、検査動作中に可動電極３０が対向電極３０に対して速度Ｖｇで移動するので、可動電極３０が溶接ワークＷから離れた後に、サーボモータ３４の電流又はトルクは、スポット溶接ガン１４の機械的な抵抗（例えば可動電極駆動機構と溶接トランス（図示しない）を連結する導電部の弾性変形）などによって、緩やかに変化していくことがある。このように可動電極３０が溶接ワークＷから離れた後にサーボモータ３４の電流又はトルクが緩やかに減少すると、サーボモータ３４の電流又はトルクが一定の状態にならなかったり増加しなかったりすることがありえるため、解析方法（ｉ）では変化点を求めることが困難な場合がある。このような場合には、解析方法（ｉｉ）から（ｉｖ）の方法を採用することが有効である。
【０１１１】
本実施形態のように、可動電極３０を対向電極３２に対して速度Ｖｇで移動させながら多関節ロボット１２を用いてスポット溶接ガン１４を溶接ワークＷから離反させる方向に相対移動させると、第３の実施形態に比べてサーボモータ３４の電流又はトルクの揺らぎが僅かに大きくなり、可動電極３０と溶接ワークＷとの接触の検出が僅かに難しくなるものの、第３の実施形態の場合とほとんど同じ効果が得られる。さらに、上述したように、可動電極駆動機構内の静摩擦に起因した不感帯を解消することができ、可動電極３４が溶接ワークＷから完全に離れて溶接ワークＷから可動電極３０に反力が作用しなくなる前にサーボモータ３４の電流又はトルクが変化しなくなることを防止することができ、可動電極３０が溶接ワークＷから完全に離れたことの誤検出の可能性を減らすことができる。したがって、可動電極駆動機構の静摩擦が大きく、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ３４の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう場合に、本実施形態の方法が有効となる。その他の点は、第３の実施形態と同じであるので、ここでは説明を省略する。
【０１１２】
以上、図示される実施形態に基づいて、本発明を説明したが、本発明は上述した実施形態に限定されるものではない。例えば、上記実施形態では、サーボモータ３４の電流又はトルクの監視を行うと同時に、多関節ロボット１２の手首要素２８の先端の位置データと対向電極３２に対する可動電極３０の相対位置データを記録するようにしている。しかしながら、多関節ロボット１２及び可動電極３０は、ロボット制御装置１６及びスポット溶接ガン制御装置１８からの時系列上の動作指令に基づいて動作しているので、実行された多関節ロボット１２及び可動電極３０の動作指令から過去の時刻の多関節ロボット１２の手首要素２８の先端の位置データと対向電極３２に対する可動電極３０の相対位置データを求めてもよい。
【符号の説明】
【０１１３】
１０    スポット溶接システム
１２    多関節ロボット
１４    スポット溶接ガン
３０    可動電極
３２    対向電極
３４    サーボモータ
【図１】
2011088175.tif 000003
【図２】
2011088175.tif 000004
【図３】
2011088175.tif 000005
【図４】
2011088175.tif 000006
【図５】
2011088175.tif 000007
【図６】
2011088175.tif 000008
【図７】
2011088175.tif 000009
【図８】
2011088175.tif 000010
【図９】
2011088175.tif 000011
【図１０】
2011088175.tif 000012
【図１１】
2011088175.tif 000013
【図１２】
2011088175.tif 000014
【図１３】
2011088175.tif 000015
【図１４】
2011088175.tif 000016