スポット溶接システムの教示作業において可動電極による溶接ワークの表面位置の検出に要する時間を短縮するためには、可動電極を速く移動させる必要がある。一方、可動電極を移動させると可動電極の駆動機構の動摩擦によりサーボモータの電流又はトルクに揺らぎ(変動)が発生する。したがって、可動電極を速い速度で移動させると、サーボモータの電流又はトルクの揺らぎも大きくなり、この結果、可動電極の駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎによって、サーボモータの電流又はトルクが接触を判定するための閾値を越えてしまい、可動電極と溶接ワークとの接触の誤検出を起こすことがある。
この誤検出を防止するためには、可動電極と溶接ワークとが接触したと判断するためのサーボモータの電流又はトルクの閾値を動摩擦によるサーボモータの電流又はトルクの揺らぎよりも大きな値に設定する必要がある。しかしながら、閾値が大きいと、可動電極が実際に溶接ワークに接触してから溶接ワークに接触したと判断されるまで移動させられるので、溶接ワークの弾性変形量が大きくなり、溶接ワークの表面位置を正確に検出できなくなる。また、最悪の場合、溶接ワークを塑性変形させてしまう恐れがある。
さらに、溶接ワークの弾性変形量は、可動電極が実際に溶接ワークに接触してから溶接ワークに接触したと判断されるまでに移動させられる押し込み距離と、溶接ワークに接触したと判断してから実際に可動電極チップが停止するまでの堕走距離との総和になる。しかしながら、堕走距離は可動電極チップの動作の減速時間から計算することができる一方、押し込み距離は、溶接ワークの材質や固定方法、スポット溶接ガンの機械的剛性に依存するため、複雑なワークの変形モデルを考慮する必要があり、単純な計算で求めることができない。したがって、溶接ワークの弾性変形量を厳密に算出することができない。
また、可動電極が溶接ワークに接触したことを検出するときに使用されるサーボモータの電流又はトルクの増加は、溶接ワークの弾性変形による溶接ワークから可動電極への反力によるものであるから、柔らかい溶接ワークの場合、同じ溶接ワークの弾性変形量でも硬い溶接ワークに比べて反力が小さくなり、その結果、可動電極と溶接ワークとが接触したときのサーボモータの電流又はトルクの変化量が小さくなる。したがって、柔らかい溶接ワークの場合、可動電極と溶接ワークとが接触したときのサーボモータの電流又はトルクの変化が動摩擦によるサーボモータの電流又はトルクの揺らぎに隠れて、可動電極と溶接ワークとの接触の検出が困難になったり、接触の検出精度が悪化する。
一方、可動電極の移動速度を遅くすれば、可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎを小さくすることができ、また、その結果、閾値を小さな値に設定することができるので、上記二つの問題を解消することができる。しかしながら、可動電極の移動速度を遅くすると、可動電極による溶接ワークの表面位置の検出に要する時間が長くなり、実用的ではなくなるという問題が生じる。
よって、本願発明の目的は、従来技術に存する上記問題を解消して、スポット溶接システムにおいて、可動電極による溶接ワークの表面位置の検出に要する時間を長くすることなく、可動電極による溶接ワークの表面位置の検出精度を向上させることにある。
上記目的に鑑み、本発明によれば、サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、溶接ワークと前記スポット溶接ガンのうちの一方を保持する多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記対向電極と前記可動電極との間に溶接ワークを挟んで溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記可動電極によって前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法であって、前記可動電極と前記溶接ワークとが、互いに離れた状態から接近するように、前記多関節ロボットを用いて前記溶接ワークと前記スポット溶接ガンとを相対移動させながら、前記サーボモータの電流又はトルクを監視し、前記電流又はトルクの変化傾向が変化したときに、前記可動電極が前記溶接ワークに接触したと判断して、前記電流又はトルクの変化傾向が変化したときの前記可動電極の位置と前記多関節ロボットの位置とから前記溶接ワークの表面位置を検出するようにしており、前記変化傾向が変化したときは、前記電流又はトルクの単位時間当たりの変化量が、前回の単位時間当たりの変化量よりも所定の値以上に正方向に増加したときである、ことを特徴とする可動電極による溶接ワーク位置検出方法が提供される。
さらに、本発明によれば、サーボモータによって駆動される可動電極と該可動電極と対向して配置される対向電極とを有するスポット溶接ガンと、溶接ワークと前記スポット溶接ガンのうちの一方を保持する多関節ロボットとを備え、前記サーボモータによって前記可動電極と前記対向電極とを接近、離反させ、前記スポット溶接ガンの前記対向電極と前記可動電極との間に溶接ワークを挟んで溶接ワークのスポット溶接を行うスポット溶接システムにおいて、前記可動電極によって前記溶接ワークの表面位置を検出する溶接ワーク位置検出方法であって、前記可動電極と前記溶接ワークとが、互いに接触した状態から離反するように、前記多関節ロボットを用いて前記溶接ワークと前記スポット溶接ガンとを相対移動させながら、前記サーボモータの電流又はトルクを監視し、前記電流又はトルクの変化傾向が変化したときに、前記可動電極が前記溶接ワークから離れたと判断して、前記電流又はトルクの変化傾向が変化したときの前記可動電極の位置と前記多関節ロボットの位置とから前記溶接ワークの表面位置を検出するようにしており、前記変化傾向が変化したときは、前記電流又はトルクの単位時間当たりの変化量が、前回の単位時間当たりの変化量よりも所定の値以上に正方向に増加したときである、ことを特徴とする可動電極による溶接ワーク位置検出方法が提供される。
ここで、本願において、「変化傾向が変化したとき」とは、減少若しくは一定の傾向が、単調増加に転じたとき、緩やかな増加から単位時間当たりの増加量が大きくなって相対的に急に増加する傾向に転じたとき、単調減少が、緩やかな定常的増加若しくは一定の傾向に転じたとき、又は単調減少から単位時時間当たりの減少量が減って緩やかに減少する傾向に転じたときを意味する。
上記可動電極による溶接ワーク位置検出方法では、多関節ロボットを用いてスポット溶接ガンと溶接ワークとを相対移動させることによって可動電極と溶接ワークとを接近離反させるので、可動電極と溶接ワークとを離れた状態から接触させる又は接触した状態から離反させる動作をサーボモータによる可動電極の移動に代えて多関節ロボットの移動によって行わせることができる。したがって、多関節ロボットの移動によって可動電極と溶接ワークとを相対移動させることにより、多関節ロボットによる移動速度分だけ可動電極の移動速度を減少させることができ、サーボモータによる可動電極の移動を最小限に抑えることができる。この結果、可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎが小さくなる。また、サーボモータによる可動電極の移動速度を増加させるのではなく、多関節ロボットによるスポット溶接ガンの移動速度を増加させることにより、溶接ワークの表面位置の検出時間を短縮することができる。
上記可動電極による溶接ワーク位置検出方法では、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視するとき、前記サーボモータによって前記可動電極を速度Vgで駆動しながら前記多関節ロボットを用いて前記スポット溶接ガンと前記溶接ワークとを相対移動させることが好ましい。速度Vgは、前記可動電極を駆動するための機構の静摩擦が除去できる程度の速度であってもよく、機構部の静摩擦が非常に小さい溶接ガンであれば0であってもよい。
一つの実施形態では、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって記可動電極と前記溶接ワークを互いに離れた状態から接近させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたときに、前記可動電極が前記溶接ワークに接触したと判断する。
上記実施形態では、前記サーボモータの電流又はトルクが前記スポット溶接ガンと前記溶接ワークとの相対移動の開始後で且つ前記可動電極と前記溶接ワークとの接触前の予備動作区間と同じ変化傾向を有する状態として基準状態を定めることが好ましい。
例えば、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加したときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断することができる。
また、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの単位時間当たりの変化量が0であり、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が予め定められた正の値以上になったときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断するとしてもよい。
さらに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加した時点、または、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの単位時間当たりの変化量を0として前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が予め定められた正の値以上になった時点から、前記サーボモータの電流又はトルクの時系列波形に沿って時刻を遡り、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が正の値から0又は負の値に変化する時点に、前記可動電極が前記溶接ワークに接触したと判断してもよい。
他の実施形態では、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに対して押し付けた状態から離隔させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたときに、前記可動電極が前記溶接ワークから離れたと判断する。
上記他の実施形態では、前記サーボモータの電流又はトルクが前記スポット溶接ガンと前記溶接ワークとの相対移動の開始後で且つ前記可動電極と前記溶接ワークとの離隔前の予備動作区間と同じ変化傾向を有する状態として基準状態を定めることが好ましい。
例えば、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加したときに、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して増加する傾向に転じたと判断することができる。
また、前記サーボモータの電流又はトルクの実際の値又は単位時間当たりの変化量が、前記基準状態にあると仮定した場合の前記サーボモータの電流又はトルクの値又は単位時間当たりの変化量と比較して予め定められた値以上増加した時点から、前記サーボモータの電流又はトルクの時系列波形に沿って時刻を遡り、前記サーボモータの電流又はトルクの実際の単位時間当たりの変化量が正の値又は0から負の値に変化した時点に、前記可動電極が前記溶接ワークから離れたと判断してもよい。
さらに、前記溶接ワークの位置を検出するために前記サーボモータの電流又はトルクを監視しながら、前記多関節ロボットによって前記可動電極と前記溶接ワークとを互いに対して押し付けた状態から離反させる方向に前記スポット溶接ガンと前記溶接ワークとを相対移動させ、前記サーボモータの電流又はトルクの単位時間当たりの変化量が0又は正の値になったときに、前記可動電極が前記溶接ワークから離れたと判断してもよい。
上記二つの実施形態において、前記サーボモータの電流又はトルクを加圧力に換算した値を用いて、溶接ワーク位置検出を実施することもできる。このように、サーボモータの電流又はトルクの代わりに加圧力を用いることで、ガン機構部やモータ性能に依存することなく、どんなスポット溶接ガンにおいても、ワークの検出判断の基準を一律に決定することができる。
また、上記二つの実施形態において、溶接を行うプログラム命令を実行することによって、前記可動電極による溶接ワーク位置検出を実施することもできる。このように予めロボット制御装置に記録しているスポット溶接プログラムを実行することで、可動電極による溶接ワーク位置検出の工程を実施できるようにすることで、作業者の作業手順を簡略化することができる。
本発明によれば、可動電極と溶接ワークとが互いに離れた状態から接触させる又は可動電極と溶接ワークとが互いに接触した状態から離反させる動作をサーボモータによる可動電極の移動に代えて多関節ロボットの移動によって行わせるので、多関節ロボットによる移動速度分だけ可動電極の移動速度を減少させることによって、サーボモータによる可動電極の移動を最小限に抑え、可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎを小さくできる。したがって、可動電極と溶接ワークとが接触した瞬間をより正確に検出し、溶接ワークの表面位置の検出精度を向上させることが可能となる。さらに、可動電極を駆動するサーボモータの電流又はトルクの揺らぎが小さくなるので、柔らかい溶接ワークの場合でも、可動電極と溶接ワークとが接触したときのサーボモータの電流又はトルクの変化が可動電極駆動機構の動摩擦によるサーボモータの電流又はトルクの揺らぎに隠れてしまうことがなくなり、可動電極による溶接ワークの表面位置の検出が容易となる。
また、サーボモータによる可動電極の移動速度を増加させるのではなく、多関節ロボットによるスポット溶接ガンと溶接ワークとの相対移動速度を増加させることにより、溶接ワークの表面位置の検出時間を短縮することができるので、動摩擦によるサーボモータの電流又はトルクの揺らぎを抑制するために可動電極の移動速度を減少させても、多関節ロボットによるスポット溶接ガンと溶接ワークとの相対移動速度を増加させることにより可動電極と溶接ワークとの相対移動速度を維持することができ、可動電極による溶接ワークの表面位置の検出に要する時間を長くすることなく、溶接ワークの表面位置の検出精度を向上させることが可能となる。
さらに、サーボモータの電流又はトルクの変化傾向が変化したときの可動電極の位置と多関節ロボットの位置を用いることで、先に述べたような複雑な計算や溶接ワークの材質や固定方法やスポット溶接ガンの機械的剛性に依存するワークの変形量があっても、複雑なワークの変形モデルを用いることなく、溶接ワークの表面位置を正確に検出することができる。
以下、図面を参照して本発明の幾つかの実施形態を説明する。図面においては、同一の部分に同じ参照符号を付している。
最初に、図1及び図2を参照して、本発明を適用可能なスポット溶接システム10の全体構成について説明する。
本発明の溶接ワーク位置検出方法を適用可能なスポット溶接システム10は、多関節ロボット12と、スポット溶接ガン14と、多関節ロボット12の動作を制御するロボット制御装置16と、スポット溶接ガン14の動作を制御するスポット溶接ガン制御装置18とを備え、多関節ロボット12によって溶接ワークWとスポット溶接ガン14とを相対移動させることができるようになっている。
多関節ロボット12は、例えば4軸垂直多関節型であり、床上に設置される基台20と、基台20上に垂直軸線J1周りに回転可能に支持された旋回台22と、水平軸線J2周りに回転可能に一端部を旋回台22に支持された下部アーム24と、水平軸線J3周りに回転可能に下部アーム24の他端部に支持された上部アーム26と、水平軸線J3に垂直な軸線J4周りに上部アーム26に対して回転可能に支持された手首要素28とを含む。しかしながら、多関節ロボット12は、上記のような4軸垂直多関節型である必要はなく、スポット溶接ガン14と溶接ワークWとを相対移動させることができれば、6軸垂直多関節型ロボットなど他のタイプの多関節ロボットとしてもよい。
スポット溶接ガン14は、可動電極30とこれと対向して配置される対向電極32とからなる一対の電極を含み、可動電極30はサーボモータ34によって駆動されて対向電極32に対して接近、離反されるようになっており、可動電極30と対向電極32とを閉じてその間に溶接ワークWを挟み、この状態で可動電極30と対向電極32との間に電圧を印加することによりスポット溶接を行う。対向電極32は、ガンアーム上に配置された固定電極であることが一般的であるが、可動電極30と同様にサーボモータによって駆動されるようになっていてもよい。
図1及び図2では、ロボット制御装置16とスポット溶接ガン制御装置18が別個に設けられているが、ロボット制御装置16とスポット溶接ガン制御装置18が一体的に設けられていてもよい。また、スポット溶接ガン14と溶接ワークWとが相対移動できるようになっていれば、図1に示されているように、ワーク固定台(図示せず)上に溶接ワークWを固定すると共にスポット溶接ガン14を多関節ロボット12の先端に水平軸線J5周りに回転可能に支持してもよく、図2に示されているように、床面上に設置されたガンスタンド36にスポット溶接ガン14を固定すると共に溶接ワークWを多関節ロボット12の先端に保持してもよい。後者のように溶接ワークWを多関節ロボット12の先端に保持する場合には、図2に示されているように、手首要素28の先端に溶接ワークWを把持するためのロボットハンド38が水平軸線J5周りに回転可能に装着される。
本発明による溶接ワーク位置検出方法は、スポット溶接システム10の教示作業で溶接ワークW上の所定の位置(以下、打点位置と記載する。)に可動電極30を位置決めするときや打点位置の板厚を測定するときなどに、可動電極30を用いて溶接ワークWの表面の位置を検出するために使用される。また、検出した溶接ワークWの表面の位置に基づいて、スポット溶接プログラムの打点教示位置データの修正や、新たな打点教示位置データを作成することもできる。
本発明による溶接ワーク位置検出方法では、サーボモータ34によって可動電極30を速度Vgで駆動しながら多関節ロボット12を用いてスポット溶接ガン14と溶接ワークWとを相対移動させることにより、図3に示されているようにスポット溶接ガン14の可動電極30と溶接ワークWとを互いに離れた状態から接近させながら又は図4に示されているようにスポット溶接ガン14の可動電極30と溶接ワークWとを互いに対して押し付けた状態から離反させながら、可動電極30を駆動するためのサーボモータ34のトルク又は電流を監視し、トルク又は電流の変化傾向が変化したときに、可動電極30が溶接ワークWに接触した又は可動電極30が溶接ワークWから完全に離れたと判断して、このときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14の対向電極32に対する可動電極30の相対位置データとに基づいて、溶接ワークWの表面の位置を検出する。したがって、作業者が溶接ワークWの位置を確認する必要がなく、ロボット教示作業などに要する時間を短縮することができる。
ここで、本願において、「変化傾向が変化したとき」とは、減少若しくは一定の傾向が、単調増加に転じたとき、緩やかな増加から単位時間当たりの増加量が大きくなって相対的に急に増加する傾向に転じたとき、単調減少が、緩やかな定常的増加若しくは一定の傾向に転じたとき、又は単調減少から単位時間当たりの減少量が減って相対的に緩やかに減少する傾向に転じたときを意味する。
溶接ワークWの表面の位置は、可動電極30が溶接ワークWに接触したとき又は可動電極30が溶接ワークWから完全に離れたときの可動電極30の先端の位置として求められ、可動電極30の先端の位置データは、多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとに基づいて、例えば以下のようにして求められる。
床面から基台20上に支持される旋回台22の水平軸線J2までの距離、垂直軸線J1と水平軸線J2との軸間距離、水平軸線J2と水平軸線J3との軸間距離、水平軸線J3と軸線J4との軸間距離が一定であるので、多関節ロボット12の手首要素28の先端の位置は、多関節ロボット12の各軸の回転角度から求めることができる。また、スポット溶接ガン14の対向電極32の先端に対する可動電極30の先端の相対位置は可動電極30を駆動するサーボモータ34の回転角度から求めることができ、多関節ロボット12の手首要素28の先端からスポット溶接ガン14の対向電極32の先端までの位置は固定である。したがって、多関節ロボット12の手首要素28の先端の位置データと多関節ロボット12の手首要素28の先端とスポット溶接ガン14の対向電極32の先端との位置関係から、スポット溶接ガン14の対向電極32の先端の位置データが求められ、求められたスポット溶接ガン14の対向電極32の先端の位置データとスポット溶接ガン14の対向電極32の先端に対する可動電極30の先端の相対位置データとから、可動電極30の先端の位置データが求められる。
スポット溶接ガン14の可動電極30の駆動機構(図示せず)の内部には、互いに接触する様々な部品が存在し、接触している二つの物体の間には摩擦が発生する。このような接触している二つの物体の間に発生する摩擦には、互いに静止している物体を移動させ始めるときに物体の間に生じる静摩擦と、互いに運動している物体の間に生じる動摩擦とがあり、図5に示されているように、二つの物体の相対摺動速度が0付近では、静摩擦が支配的となり、相対摺動速度の絶対値が大きくなると、静摩擦支配領域を抜けて、摩擦力が相対摺動速度に比例する動摩擦支配領域に至る。したがって、可動電極30による溶接ワークWの表面位置の検出に要する時間を短くするために、可動電極30を速く移動させると、可動電極駆動機構の動摩擦力も大きくなり、動摩擦の揺らぎも大きくなる。また、可動電極駆動機構の動摩擦の揺らぎはサーボモータ34の電流又はトルクにノイズとして含まれるので、動摩擦の揺らぎが大きくなると、サーボモータ34の電流又はトルクの揺らぎも大きくなり、その結果、可動電極30と溶接ワークWとの接触によるサーボモータ34の電流又はトルクの変動を正確に検出することが困難になる。
そこで、本発明では、サーボモータ34による対向電極32に対する可動電極30の移動に代えて、多関節ロボット12を用いてスポット溶接ガン14と溶接ワークWとを相対移動させることによって可動電極30と溶接ワークWとを接近、離反させて、可動電極30と溶接ワークWとを接触させる動作又は接触した状態から完全に離れさせる(離隔させる)動作の少なくとも一部を行わせ、サーボモータ34による可動電極30の移動速度を抑えて、可動電極駆動機構内の動摩擦によるサーボモータ34の電流又はトルクの揺らぎを低減させるようにしている。このようにサーボモータ34の電流又はトルクの揺らぎを低減させることで、可動電極30と溶接ワークWとの接触によるサーボモータ34の電流又はトルクの変化傾向の変化をより正確に検出することを可能とさせ、溶接ワークWの表面位置をより正確に検出できるようにしている。
特に、サーボモータ34によって可動電極30を駆動する速度Vgを0として、可動電極30と溶接ワークWとを接触させる動作又は接触した状態から完全に離れさせる動作の全てを多関節ロボット12の移動によって行わせれば、可動電極30によって溶接ワークWの表面の位置を検出するときに、可動電極30はサーボモータ34によって駆動されないので、可動電極駆動機構内の動摩擦によるサーボモータ34の電流又はトルクの揺らぎがほとんど無くなる。したがって、可動電極30と溶接ワークWとが接触したとき又は可動電極30が溶接ワークWから完全に離れたときのサーボモータ34の電流又はトルクの変化傾向の変化を正確に検出することが可能となり、溶接ワークの表面位置を正確に検出できるようになる。
一方、サーボモータ34によって可動電極30を駆動する速度Vgを0として、対向電極32に対して可動電極30を完全に静止させていると、上述したように、可動電極駆動機構内の静摩擦に起因して、可動電極30が溶接ワークWに接触しているときに溶接ワークWから受ける反力が損失してサーボモータ34に伝達されず、反力の有無にかかわらずサーボモータ34の電流又はトルクがほとんど変動しない不感帯が生じてしまう。このような不感帯は、静摩擦が大きい場合、可動電極30による溶接ワークWの表面の検出精度に悪影響を及ぼす。そこで、スポット溶接ガンの可動電極駆動機構内に存在する静摩擦の影響が無視できない場合には、このような不感帯を解消させるために、静摩擦が除去できる程度の極めて低い速度Vgでサーボモータ34によって可動電極30を駆動することが好ましい。このように静摩擦が除去できる程度の極めて低い速度Vgで対向電極32に対して可動電極30を移動させても、可動電極駆動機構内の動摩擦は小さくなるので、動摩擦によるサーボモータ34の電流又はトルクの揺らぎは最小限に抑えることができる。なお、この可動電極30の動作は、静摩擦の影響を除去することが目的であるので、対向電極32に対する可動電極30の移動は開方向又は閉方向に行ってもよく、閉開を繰返すようにしてもよい。
また、上記では、スポット溶接ガン14に備えられたサーボモータ34の電流又はトルクに基づいて溶接ワーク位置の検出を行うと説明しているが、この電流又はトルクを加圧力に換算し、換算された加圧力を使って同様に溶接ワーク位置を検出するようにしてもよい。スポット溶接ガンには様々な機構形状があり、さらに減速機構(減速比)も異なる。したがって、サーボモータの電流又はトルクが同じであっても、溶接ワークWに押し付けたときに可動電極30の先端に発生する加圧力は異なる。電流又はトルクに基づいて溶接ワーク位置の検出を行うのではなく、可動電極30の先端に発生する加圧力に基づいて溶接ワーク位置の検出を行う方が、あらゆる種類のスポット溶接ガンにおいても溶接ワークWへの押し付け力が一定化でき、検出の判断に使用する条件も同一にすることができるため、均一な検出精度を得ることが可能となる。ここで、サーボモータ34の電流又はトルクから加圧力への換算は、加圧力を計測することのできるセンサ機器を用いて、サーボモータ34の電流又はトルクと加圧力との対応関係を予め求めておくことにより行う。対応関係をロボット制御装置16又はスポット溶接ガン制御装置18に記憶しておくことで、任意の場合において加圧力へ換算が可能となる。
また、本発明の溶接ワーク位置検出方法では、作業者が手動操作によって一工程ずつ進めてもよいが、スポット溶接システム10が一連の工程を自動的に実行してもよい。例えば、既に全溶接打点位置及びスポット溶接を行うプログラム命令が教示されているスポット溶接プログラムにおいて、上記工程を自動で実行するモードを有効にしてスポット溶接プログラムを再生したときに、各溶接打点位置近傍に自動的に多関節ロボット12を移動させて、スポット溶接を行うプログラム命令を実行することで、上記工程を自動的に実行して溶接ワークWの表面位置の検出を行い、その検出位置に基づいてその溶接ワークWについて打点教示位置データの修正を行い、さらにその修正量(ずれ量)もロボット制御装置16に記録することもできる。記録した修正量をロボット制御装置16に備えられた教示操作盤に表示するようにしてもよい。また、記録した修正量が過大である場合に、溶接ワークWの位置の異常として、ロボット制御装置16に備えられた教示操作盤にアラーム通知したり、ロボット制御装置16と通信できるライン制御盤やコンピュータなどの外部制御装置にアラーム通知したりしてもよい。
本発明の溶接ワーク位置検出方法では、多関節ロボット12によってスポット溶接ガン14と溶接ワークWとを相対移動させることができれば同じ効果を得ることができるが、以下においては、説明の簡単化のために、図1に示されているように、スポット溶接ガン14を多関節ロボット12によって保持して、溶接ワークWに対して相対移動させる場合を例として説明する。しかしながら、図2に示されているように、溶接ワークWを多関節ロボット12によって保持してスポット溶接ガン14に対して相対移動させてもよく、この場合、以下の説明において、多関節ロボット12によってスポット溶接ガン14を移動させる代わりに溶接ワークWを移動させればよい。
図6を参照して、本発明の溶接ワーク位置検出方法の第1の実施形態を説明する。第1の実施形態では、図1に示されているスポット溶接システム10において、サーボモータ34によって可動電極30を駆動する速度Vgを0として、対向電極32に対して可動電極30を静止させた状態で多関節ロボット12によってスポット溶接ガン14を保持してワーク固定台(図示せず)に固定された溶接ワークWに対して速度Vrで相対移動させる。また、可動電極30を駆動するためのサーボモータ34にはトルクリミットが設定されており、一定の値以上にはトルクが増加しないようになっている。可動電極30の押圧による溶接ワークWの変形を抑制するためには、トルクリミットは可能な限り低い値に設定することが望ましい。
本実施形態では、最初に、スポット溶接ガン14の可動電極30と対向電極32との間に溶接ワークWを移動させ、可動電極30と対向電極32とが閉じたときに溶接ワークW上の溶接箇所(打点位置)に接触するような位置にスポット溶接ガン14を位置決めする。なお、このときに可動電極30と溶接ワークWが接近しすぎないように、溶接ワークWの表面からある程度の間隔をあけた位置に可動電極30を位置決めし、可動電極30が溶接ワークWに接触しない予備動作区間を確保することが好ましい。また、可動電極30を溶接ワークW上の溶接箇所に位置決めした後に、可動電極30を溶接ワークWから任意の距離だけ離隔させるように動作させても良い。
次に、ステップS100で可動電極30を駆動しないことを選択し、対向電極32に対して可動電極30を静止させたまま、図3に示されるように、多関節ロボット12を駆動してスポット溶接ガン14を溶接ワークWに対して速度Vrで相対移動させることにより、可動電極30と溶接ワークWとが互いに離れた状態から可動電極30を溶接ワークWへ向かって接近させ(ステップS104)、同時に、可動電極30を駆動するためのサーボモータ34の電流又はトルクを監視する(ステップS106)。このとき、サーボモータ34の電流又はトルクの情報と共に、多関節ロボット12の手首要素28の先端の位置データ及び対向電極32に対する可動電極30の相対位置データを逐次記録していく。さらに、必要に応じて、スポット溶接ガン14と溶接ワークWとの相対移動の開始後で且つ可動電極30と溶接ワークWとの接触前の予備動作区間において逐次記録したサーボモータ34の電流又はトルクから、比較用の基準状態(すなわち接触していないときの状態)の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ34の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を決定する。
可動電極30が溶接ワークWに接触すると、溶接ワークWが可動電極30に押圧されて撓みや凹みなどの弾性変形を生じ、その反力が溶接ワークWから可動電極30に作用する。この結果、可動電極30が対向電極32に対して静止した状態を維持するために、サーボモータ34のトルクが増加し、電流も増加する。このことを利用して、サーボモータ34の電流又はトルクを逐次チェックし(ステップS108)、サーボモータ34の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極30が溶接ワークWに接触したと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ34の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量よりも大きくなったとき(この場合、ほぼ一定の状態から増加に転じたとき)を意味し、その判断方法は後述する。可動電極30が溶接ワークWに接触したと判断すると、多関節ロボット12の動作を停止させ、可動電極30が溶接ワークWに接触したと判断したときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとに基づいて、溶接ワークWの表面の位置を検出し、溶接ワークWの表面位置の検出工程を終了する(ステップS110)。
図7は本実施形態に従って可動電極30により溶接ワークWの表面を検出するときのサーボモータ34のトルクの変化を時系列で表したグラフである。図7において、区間Aは、検出動作を行っていない状態、区間Bは、検出動作中で可動電極30が溶接ワークWに接触していない状態、区間Cは、検出動作中で可動電極30が溶接ワークWに接触している状態を示す。なお、本実施形態でも、多関節ロボット12の振動などによるサーボモータ34の電流又はトルクの微小な揺らぎが生じるが、図7では、説明を簡単にするために、揺らぎを省略して描いている。
本実施形態では、可動電極30が対向電極32に対して静止しており、可動電極30がサーボモータ34によって駆動されていないので、可動電極駆動機構に動摩擦が発生せず、可動電極30が溶接ワークWに接触するまではサーボモータ34の電流及びトルクはほとんど変動しない。したがって、検出動作前の区間Aと検出動作中であるが可動電極30が溶接ワークWに接触していない区間Bとにおけるサーボモータ34の電流及びトルクにはほとんど急激な変化は現れず、サーボモータ34の電流及びトルクはほぼ一定の状態になっている。一方、区間Cになって、可動電極30が溶接ワークWに接触すると、溶接ワークWが弾性変形して反力が溶接ワークWから可動電極30に作用するので、サーボモータ34の電流及びトルクが増加する。可動電極30が溶接ワークWと接触した後も溶接ワークWへ向かう可動電極30の移動を継続させると、溶接ワークWの弾性変形量が増加し、溶接ワークWから可動電極30に作用する反力も増加していき、やがてサーボモータ34のトルク値がトルクリミットに到達して、サーボモータ34のトルクは再び一定となる。このようにサーボモータ34にトルクリミットを設定することにより、多関節ロボット12によって移動させられるスポット溶接ガン14の可動電極30が溶接ワークWを過度に変形させることを防止することができる。これは、塑性変形を起こしやすい柔らかい溶接ワークWの表面位置を検出する場合に特に有効となる。なお、溶接ワークWから可動電極30に作用する反力がある程度増加したことが判別された時点で多関節ロボット12の移動を停止してもよい。多関節ロボット12の移動が停止されれば、サーボモータ34のトルクの増加は停止する。
区間Bにおけるサーボモータ34の電流又はトルクを記録しておくことにより、区間Bにおけるサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を求め、基準状態におけるサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量として、これを区間Cにおけるサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量との比較に用いることが可能になる。また、動作開始前に予め可動電極30と溶接ワークWとの間隔をあけておけば、区間Bを長くして十分な予備動作区間を確保できるので、可動電極30と溶接ワークWが接触していないときのサーボモータ34の電流又はトルクを確実に記録することができるようになる。
このように、可動電極30を対向電極32に対して静止させた状態で多関節ロボット12を用いてスポット溶接ガン14を溶接ワークWに接近させる方向に相対移動させると、可動電極30が溶接ワークWに接触したときに可動電極30を駆動するためのサーボモータ34の電流及びトルクが単調な増加に転じる。したがって、サーボモータ34の電流又はトルクを監視すれば、電流又はトルクが、図7の区間Bにおいて記録しておいた基準状態、つまりほぼ一定の状態と比較して増加傾向に転じたときを可動電極30が溶接ワークWに接触した時点と判断することができる。さらに、可動電極30が溶接ワークWに接触したと判断されたときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとから、可動電極30が溶接ワークWに接触したと判断されたときの可動電極30の先端の位置データを求めることができ、求められた可動電極30の先端の位置データを溶接ワークWの表面の位置データとみなせば、溶接ワークWの表面の位置を検出することができる。
サーボモータ34の電流又はトルクが基準状態と比較して増加する傾向に転じた時点は、サーボモータ34の電流又はトルクの時系列曲線すなわち波形を解析して、電流又はトルクがほぼ一定の状態から増加に転じた点(以下、変化点と記載する。)を求めることにより特定される。変化点を求めるための電流又はトルクの波形の解析方法の例として、以下の三つが挙げられる。
(i)サーボモータ34の電流又はトルクが基準状態のサーボモータ34の電流又はトルクの値よりも予め定められた閾値α以上増加した点を変化点とみなす。基準状態のサーボモータ34の電流又はトルクの値は、予め実験的に定められた値としてもよく、サーボモータ34の電流又はトルクが図7の区間Bにおける任意の時刻に記録されたサーボモータ34の電流又はトルクから定められた基準状態にあると仮定した場合のサーボモータ34の電流又はトルクの値としてもよい。サーボモータ34の電流又はトルクを記録するのは図7の区間Bにおける任意の時刻で良いが、一般的には区間Bに入った直後であれば、まだ可動電極30とワークWが接触していないため、このときのサーボモータ34の電流又はトルクを記録し、これを基準状態におけるサーボモータ34の電流又はトルクとしておくのが好ましい。また、区間Bにおいて、一定時間可動電極30とワークWとの接触によるトルクの増加がなかった場合には、それ以前の情報から基準状態を再度決定し直すようにしても良い。なお、可動電極34が対向電極32に対して静止している場合でも、多関節ロボット12によるスポット溶接ガン14の移動の影響でサーボモータ34の電流又はトルクは微小な変動を生じるので、閾値αはこの変動の振幅よりも大きな値に定めなければならない。
(ii)サーボモータ34の電流又はトルクの単位時間当たりの変化量、すなわちサーボモータ34の電流又はトルクの時系列波形の傾きが、基準状態のサーボモータ34の電流又はトルクの単位時間当たりの変化量より予め定められた閾値β以上増加した点を変化点とみなす。基準状態のサーボモータ34の電流又はトルクの単位時間の変化量は、予め定められた値(例えば0)としてもよく、区間Bにおいて記録されたサーボモータ34の電流又はトルクの単位時間当たりの変化量から定められた標準状態にあると仮定した場合のサーボモータ34の電流又はトルクの値としてもよい。可動電極30が溶接ワークWに接触すると図7に示されているようにサーボモータ34の電流又はトルクは単調に増加するので閾値βは正の値となる。また、可動電極30が対向電極32に対して静止している場合、可動電極30が溶接ワークWに接触するまではサーボモータ34の電流又はトルクはほとんど一定であり電流又はトルクの単位時間当たりの変化量も極めて小さいので、閾値βは0に近い値とすることができる。
(iii)可動電極30が溶接ワークWに接触するとサーボモータ34の電流又はトルクは単調増加を示すので、可動電極30が溶接ワークWに接触しているときにはサーボモータ34の電流又はトルクの波形の傾きは正になる。そこで、まず、(i)又は(ii)の方法によって、サーボモータ34の電流又はトルクの変化点を求め、これを仮の変化点とし、仮の変化点からサーボモータ34の電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ34の電流又はトルクの単位時間当たりの変化量(すなわち電流又はトルクの時系列波形の傾き)を求めていく。そして、サーボモータ34の電流又はトルクの時系列波形の傾きがほぼ0になる点を真の変化点とし、真の変化点において、サーボモータ34の電流又はトルクがほぼ一定の状態から増加に転じたとみなす。なお、サーボモータ34の電流又はトルクの時系列波形は離散的なサンプリング点の集合であるので、必ずしも傾きが0になる点が存在するとは限らない。したがって、実際には、仮の変化点から電流又はトルクの時系列波形に沿って時刻を遡って電流又はトルクの時系列波形の傾きが正の値から負の値になる点を特定し、その直前のサンプリング点を真の変化点とすればよい。このような方法によれば、電流又はトルクが一定の状態から増加に転じた直後の時刻を正確に特定することができ、溶接ワークWの表面位置を正確に求めることが可能となる。
本実施形態のように、可動電極30を対向電極32に対して静止させている場合、可動電極30がサーボモータ34によって駆動されておらず、可動電極駆動機構に動摩擦が発生しないので、サーボモータ34の電流又はトルクの揺らぎがほとんど発生せず、サーボモータ34の電流又はトルクがほぼ一定の状態から増加に転じた時点の判断が容易となり、(i)及び(ii)において、閾値α及びβを小さい値に設定することができる。したがって、可動電極30と溶接ワークWとの接触時点を正確に特定でき、可動電極30と溶接ワークWとが実際に接触してからその接触が検出されるまでに溶接ワークWが可動電極30によって変形させられる量が減少するので、溶接ワークWの表面位置がより正確に検出できるようになる。
なお、本実施形態では、可動電極30による溶接ワークWの変形を最小限に抑えるために、可動電極30が溶接ワークWに接触したと判断されると、ロボット制御装置16は、多関節ロボット12の動作を停止させ、可動電極30が溶接ワークWに接触したと判断したときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとから溶接ワークWの表面の位置を検出する。しかしながら、解析方法(iii)を採用する場合には、仮の変化点を特定した時点で解析に必要なサーボモータ34の電流又はトルクの時系列データが揃い、それ以降に検出動作を継続する必要がないので、可動電極30が溶接ワークWに接触したと判断された後ではなく、仮の変化点を特定した時点で多関節ロボット12の動作を停止させてもよい。
また、可動電極30と溶接ワークWとが接触したと判断した後も、多関節ロボット12が惰走してしまい、多関節ロボット12の動作を停止させたときの多関節ロボット12の手首要素28の先端の位置と、可動電極30と溶接ワークWとが接触したと判断したときの多関節ロボット12の手首要素28の先端の位置とが異なってしまうことがある。したがって、スポット溶接ガン14の可動電極30を位置決めすることが最終目的である場合には、多関節ロボット12の惰走を是正するために、可動電極30と溶接ワークWとが接触したと判断したときの位置に多関節ロボット12を移動さればよい。
第2の実施形態は、図1に示されているスポット溶接システム10において、サーボモータ34によって可動電極30を駆動する速度Vgが0ではなく、サーボモータ34によって可動電極30を移動させながら、多関節ロボット12によってスポット溶接ガン14を保持してワーク固定台(図示せず)に固定された溶接ワークWに対して速度Vrで相対移動させる点において、第1の実施形態と異なっており、その他の点は第1の実施形態と同様である。したがって、ここでは、異なる部分を中心に説明し、同様の部分については説明を省略する。
第1の実施形態では、サーボモータ34によって可動電極30を駆動する速度Vgを0として、対向電極32に対して可動電極30を静止させているので、可動電極駆動機構の動摩擦によるサーボモータ34の電流又はトルクの揺らぎがほとんど発生せず、可動電極30が溶接ワークWに接触したときにサーボモータ34の電流又はトルクが増加傾向に転じた時点を検出しやすいという利点がある。その一方で、可動電極30が対向電極32に対して静止しているため、可動電極駆動機構内の静摩擦に起因して、可動電極30が溶接ワークWに接触しているときに可動電極30が溶接ワークWから受ける反力が損失してサーボモータ34に伝達されず、可動電極30が溶接ワークWに接触したにもかかわらずサーボモータ34の電流又はトルクがほとんど変動しない不感帯が生じてしまい、可動電極30が溶接ワークWに接触してもサーボモータ34の電流又はトルクの変動が即座に生じなくなる。したがって、可動電極駆動機構の静摩擦が小さい場合には、可動電極駆動機構の動摩擦により生じるサーボモータ34の電流又はトルクの揺らぎをなくすことによる効果が不感帯の存在による悪影響に勝り、第1の実施形態が有効になるが、可動電極駆動機構の静摩擦が大きい場合には、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ34の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう。
そこで、第2の実施形態では、サーボモータ34によって対向電極32に対して可動電極30を低い速度Vg(≠0)で移動させることにより、このような不感帯を解消させ、可動電極動機構の静摩擦が大きい場合にも適用できるようにしている。実際には、第1の実施形態と第2の実施形態の両方の方法を試してみて、検出精度の高い方を採用すればよい。また、予め静摩擦の影響を測定しておき、影響の程度によって採用する方法を決めるようにしても良い。
なお、サーボモータ34によって対向電極32に対して可動電極30を移動させる速度Vgは、高すぎると、可動電極駆動機構の動摩擦によりサーボモータ34の電流又はトルクに揺らぎが発生し、溶接ワークWの表面位置を検出する精度に悪影響を及ぼす一方、低すぎると、可動電極駆動機構の静摩擦が十分に除去されなくなる。したがって、サーボモータ34によって対向電極32に対して可動電極30を移動させる速度Vgは、静摩擦を除去しつつ動摩擦によるサーボモータ34の電流又はトルクの揺らぎを最小限に抑えるような極めて低い速度とすることが望ましい。
図6を参照して、第2の実施形態による溶接ワーク位置検出方法の手順を説明する。
最初に、第1の実施形態と同様に、スポット溶接ガン14の可動電極30と対向電極32との間に溶接ワークWを移動させ、可動電極30と対向電極32とが閉じたときに溶接ワークW上の溶接箇所(打点位置)に接触するような位置にスポット溶接ガン14を位置決めする。なお、このときに可動電極30と溶接ワークWが接近しすぎないように、溶接ワークWの表面からある程度の間隔をあけた位置に可動電極30を位置決めし、可動電極30が溶接ワークWに接触しない予備動作区間を確保することが好ましい。また、可動電極30を溶接ワークW上の溶接箇所に位置決めした後に、可動電極30を溶接ワークWから任意の距離だけ離隔させるように動作させても良い。
次に、ステップS100で可動電極30を駆動することを選択し、サーボモータ34により可動電極30を微速Vgで駆動する(ステップS102)。サーボモータ34により対向電極32に対して可動電極30を移動させる速度Vgは、上述したように、静摩擦を除去しつつ動摩擦によるサーボモータ34の電流又はトルクの変動を最小限に抑えるような極めて低い速度とする。また、対向電極32に対して可動電極30を移動させるのは、可動電極駆動機構の静摩擦の影響を除去することが目的であるので、対向電極32に対する可動電極30の移動は開方向又は閉方向に行ってもよく、閉開を繰返すようにしてもよい。なお、可動電極30を対向電極32から離れる方向に移動させる場合、すなわち可動電極30を溶接ワークWから離れる方向に移動させる場合、多関節ロボット12は、対向電極32に対する可動電極30の移動速度Vg以上の速度Vrで、溶接ワークWに接近する方向にスポット溶接ガン14を移動させる必要がある。
次に、対向電極32に対して可動電極30を速度Vgで移動させながら、図3に示されるように、多関節ロボット12を駆動してスポット溶接ガン14を溶接ワークWに対して速度Vrで相対移動させることにより、可動電極30と対向電極32とが互いに離れた状態から可動電極30を溶接ワークWへ向かって接近させ(ステップS104)、同時に、可動電極30を駆動するためのサーボモータ34の電流又はトルクを監視する(ステップS106)。このとき、サーボモータ34の電流又はトルクの情報と共に、多関節ロボット12の手首要素28の先端の位置データ及び対向電極32に対する可動電極30の相対位置データを逐次記録していく。さらに、スポット溶接ガン14と溶接ワークWとの相対移動の開始後で且つ可動電極30と溶接ワークWとの接触前の予備動作区間において逐次記録したサーボモータ34の電流又はトルクから、比較用の基準状態(すなわち接触していない時の状態)の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ34の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を決定する。
可動電極30が溶接ワークWに接触すると、溶接ワークWが可動電極30に押圧されて撓みや凹みなどの弾性変形を生じ、その反力が溶接ワークWから可動電極30に作用する。この結果、可動電極30が対向電極32に対して設定された速度Vgで移動する状態を維持するために、サーボモータ34のトルクが増加し、電流も増加する。このことを利用して、サーボモータ34の電流又はトルクの変動を逐次チェックし(ステップS108)、サーボモータ34の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極30が溶接ワークWに接触したと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ34の電流又はトルクの実際の値又は単位時間当たりの変化量が基準状態にあると仮定した場合のサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量よりも大きくなったときを意味し、その判断方法は後述する。可動電極30が溶接ワークWに接触したと判断すると、多関節ロボット12の動作を停止させ、可動電極30が溶接ワークWに接触したと判断したときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとに基づいて、溶接ワークWの表面の位置を検出し、溶接ワークWの表面位置の検出工程を終了する(ステップS110)。
図8(a)及び(b)は本実施形態に従って可動電極30により溶接ワークWの表面を検出するときのサーボモータ34のトルクの変化を時系列で表したグラフである。図8(a)及び(b)において、区間Aは、検出動作を行っていない状態、区間Bは、検出動作中で可動電極30が溶接ワークWに接触していない状態、区間Cは、検出動作中で可動電極30が溶接ワークWに接触している状態を示す。
本実施形態では、検出動作中に可動電極30が対向電極32に対して速度Vgで移動するので、図8(a)に示されているように、区間Bになって可動電極30の駆動を開始すると、可動電極30の速度が予め定められた速度Vgに到達するまで、サーボモータ34の電流又はトルクが増加し、その後、可動電極30が溶接ワークWに接触するまで、可動電極駆動機構の動摩擦による揺らぎを伴いながらサーボモータ34の電流又はトルクはほぼ一定の状態となる。なお、可動電極30の移動速度Vgは極めて小さいので、可動電極駆動機構の動摩擦による揺らぎは小さなものとなる。一方、区間Cになって、可動電極30が溶接ワークWに接触すると、溶接ワークWが弾性変形して反力が溶接ワークWから可動電極30に作用するので、サーボモータ34の電流及びトルクが増加する。可動電極30が溶接ワークWと接触した後も溶接ワークWへ向かう可動電極30の移動を継続させると、溶接ワークWの弾性変形量が増加し、溶接ワークWから可動電極30に作用する反力も増加していき、やがてサーボモータ34のトルク値がトルクリミットに到達して、サーボモータ34のトルクは一定となる。このようにサーボモータ34にトルクリミットを設定することにより、多関節ロボット12によって移動させられるスポット溶接ガン14の可動電極30が溶接ワークWを過度に変形させることを防止することができることは、第1の実施形態と同じである。また、溶接ワークWから可動電極30に作用する反力がある程度増加したことが判別された時点で多関節ロボット12の移動を停止してもよいことも、第1の実施形態と同じである。
また、本実施形態では、検出動作中に可動電極30が対向電極32に対して速度Vgで移動するので、図8(b)に示されるように、区間Bになって可動電極30の駆動を開始すると、可動電極30の速度が予め定められた速度Vgに到達するまで、サーボモータ34の電流又はトルクが増加し、その後、可動電極30が溶接ワークWに接触するまで、可動電極駆動機構の動摩擦による揺らぎを伴いつつ、スポット溶接ガン14の機械的な抵抗(例えば可動電極駆動機構と溶接トランス(図示しない)を連結する導電部の弾性変形)などによって、緩やかに変化していくことがある。なお、可動電極30の移動速度Vgは極めて小さいので、可動電極駆動機構の動摩擦による揺らぎは小さなものとなる。なお、図8(b)では、区間Bにおいてサーボモータ34の電流又はトルクが徐々に上昇する形態を取っているが、徐々に下降する形態をとることもありうる。一方、区間Cになって、可動電極30が溶接ワークWに接触すると、溶接ワークWが弾性変形して反力が溶接ワークWから可動電極30に作用するので、サーボモータ34の電流及びトルクが増加する。可動電極30が溶接ワークWと接触した後も溶接ワークWへ向かう可動電極30の移動を継続させると、溶接ワークWの弾性変形量が増加し、溶接ワークWから可動電極30に作用する反力も増加していく。なお、区間Bにおける変化と、区間Cにおける変化は、一般的には後者の方が急である。
本実施形態でも、区間Bにおけるサーボモータ34の電流及びトルクを記録しておくことにより、区間Cにおけるサーボモータ34の電流及びトルクの値及び単位時間当たりの変化量を求め、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量として、これを区間Cにおけるサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量とのとの比較に用いることが可能になる。サーボモータ34の電流及びトルクを記録するのは区間Bであればいつでも良いが、一般的には区間Bに入った直後であれば、まだ可動電極30とワークWが接触していないため、このときのサーボモータ34の電流又はトルクを記録し、これを基準状態とするのが適切である。なお、動作開始前に予め可動電極30と溶接ワークWとの間隔をあけておけば、区間Bを長くして十分な予備動作区間を確保できるので、可動電極30とワークWが接触していないときのサーボモータ34の電流又はトルクを確実に記録することができるようになる。また、区間Bにおいて、一定時間可動電極30とワークWとの接触によるトルクの増加がなかった場合には、それ以前の情報から基準状態を再度決定し直しても良い。特に、本実施形態では、可動電極30の移動速度Vgで動作するので、区間Bにおけるサーボモータ34の電流又はトルクが一定の値とはなりにくいことから、この基準値状態の決定は重要である。
また、区間Bにおけるサーボモータ34の電流及びトルクの値又は単位時間当たりの変化量から、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値を比較のために推測的に決定してもよい。その例をトルクを例にして以下に説明する。図9は、可動電極30により溶接ワークWの表面を検出するときのサーボモータ34のトルクの変化の一例を時系列で表したグラフであり、区間Aから区間Cの意味は、図8と同様である。まず、区間Bの初期である時刻T1から時刻T2までサーボモータ34のトルクを監視することで、区間Bにてサーボモータ34のトルクが全体的に見て徐々に増加していることがわかる。この状態を基準状態として、このときの単位時間当たりの変化量(すなわち増加量)と時刻T2におけるサーボモータ34のトルクの値から直線近似法で、基準状態にあると仮定したときの時刻T2以降のサーボモータ34のトルクの値を推測することができる。例えば、基準状態にあると仮定したときの時刻T2以降の時刻T3におけるサーボモータ34のトルクTの値を推測することができ、基準状態にあると仮定して推測された時刻T3におけるトルクTと実際に観測された時刻T3におけるトルクT’とを比較することにより、サーボモータ34のトルクが基準状態と比較して増加する傾向に転じたか否かを判断するようにしてもよい。
このように、可動電極30を対向電極32に対して低い速度Vgで移動させながら多関節ロボット12を用いてスポット溶接ガン14を溶接ワークWに接近させる方向に相対移動させた場合も、第1の実施形態と同様に、可動電極30が溶接ワークWに接触したときに可動電極30を駆動するためのサーボモータ34の電流及びトルクが、基準状態と比較して増加する傾向に転じる。したがって、サーボモータ34の電流又はトルクを監視すれば、電流又はトルクが、基準状態と比較して増加する傾向に転じたときに可動電極30が溶接ワークに接触したと判断することができる。さらに、可動電極30が溶接ワークWに接触したと判断されたときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとから、可動電極30が溶接ワークWに接触したと判断されたときの可動電極30の先端の位置データを求めることができ、求められた可動電極30の先端の位置データを溶接ワークWの表面の位置データとみなせば、溶接ワークWの表面の位置を検出することができる。
サーボモータ32の電流又はトルクが、基準状態と比較して増加する傾向に転じた時点は、第1の実施形態で述べた三つの解析方法(i)〜(iii)と同様にして、サーボモータ34の電流又はトルクの時系列曲線すなわち波形を解析して、電流又はトルクの値又は単位時間当たりの変化量が増加に転じる点(以下、変化点と記載する。)を求めることにより特定される。
ただし、第2の実施形態では、可動電極30が対向電極32に対して低い速度Vgで移動させられており、可動電極駆動機構の動摩擦によりサーボモータ34の電流又はトルクに微小な変動を生じるので、解析方法(i)では、閾値αはこの変動の振幅よりも大きな値に定められる。また、可動電極30が溶接ワークWに接触する前の状態が一定でない変化状態になる場合には、スポット溶接ガン14と溶接ワークWとの相対移動の開始後で且つ可動電極30と溶接ワークWとの接触前に記録しておいたサーボモータ34の電流又はトルクから、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値を推測的に定め、これを基準値とすれよい。例えば、図9に示したように、基準状態にあると仮定して、時刻T1と時刻T2にて取得されたサーボモータ34のトルクの値から直線近似法で推測される時刻T2以降の時刻T3におけるサーボモータのトルクTと、時刻T3において実際に観測されたトルクT’とを比較して、時刻T3において実際に観測されたトルクT’が、基準状態にあると仮定して推測された時刻T3におけるサーボモータ34のトルクよりも閾値α以上増加した点を変化点とみなせばよい。
解析方法(ii)では、可動電極30が溶接ワークWに接触すると図8(a)に示されているようにサーボモータ34の電流又はトルクは単調に増加することから、閾値βは正の値とすればよい。ただし、可動電極30が対向電極32に対して低い速度Vgで移動させられていることから、第1の実施形態と比べて区間Bにおける揺らぎが大きいため、第1の実施形態の場合よりも閾値βを大きな値にする必要がある。また、可動電極30が溶接ワークWに接触する前の状態が一定でない変化状態になる場合には、解析方法(i)における場合と同様に、スポット溶接ガン14と溶接ワークWとの相対移動の開始後で且つ可動電極30と溶接ワークWとの接触前に記録しておいたサーボモータ34の電流又はトルクから、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの単位時間当たりの変化量を推測的に定め、基準状態のサーボモータ34の電流又はトルクの単位時間当たりの変化量とすればよい。例えば、図9に示したように、時刻T2以降の時刻T3においても基準状態にあると仮定すれば、サーボモータ34のトルクは、時刻T3において、時刻T1と時刻T2において取得されたサーボモータ34のトルクの値から求めた基準状態における単位時間当たりの変化量と同じ単位時間当たりの変化量になると推測できる。したがって、基準状態にあると仮定して推測されたサーボモータ34のトルクの単位時間当たりの変化量と、実際に観測されたサーボモータ34の単位時間当たりの変化量とを比較して、実際に観測されたサーボモータ34の単位時間当たりの変化量が、基準状態にあると仮定して推測されたサーボモータ34のトルクの単位時間当たりの変化量よりも閾値β以上増加した点を変化点とみなせばよい。
解析方法(iii)は、第1の実施形態の場合とほとんど同じであり、(i)又は(ii)の方法によって、図10に示されているように、サーボモータ34の電流又はトルクの変化点を求め、これを仮の変化点Td1とし、仮の変化点Td1から電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ34の電流又はトルクの単位時間当たりの変化量(すなわち電流又はトルクの時系列波形の傾き)を求めていき、電流又はトルクの時系列波形の傾きがほぼ0になる点を真の変化点とし、真の変化点において、サーボモータ34の電流又はトルクがほぼ一定の状態から増加に転じた又は緩やかに変化する状態から相対的に急激に変化する状態に転じたとみなす。なお、サーボモータ34の電流又はトルクの時系列波形は離散的なサンプリング点の集合であるので、必ずしも傾きが0になる点が存在するとは限らない。したがって、実際には、電流又はトルクの時系列波形の傾きが正の値から負の値になる点Td3を特定し、その直後のサンプリング点を真の変化点Td2とすればよい。また、解析方法(iii)では、可動電極30が溶接ワークWに接触している状態から電流又はトルクの時系列波形に沿って時刻を遡って電流又はトルクの傾きの評価を行うため、第2の実施形態のようにサーボモータ34によって可動電極30を駆動しながら検出動作を行う場合でも、サーボモータ34の電流又はトルクの時系列波形に可動電極駆動機構の動摩擦に起因する揺らぎがほとんど現れない時系列波形部分を用いて電流又はトルクの傾きの評価を行うことができ、電流又はトルクの時系列波形の傾きが0又は負の値になる時点の特定が容易となる。
本実施形態のように、可動電極30を対向電極32に対して速度Vgで移動させながら多関節ロボット12を用いてスポット溶接ガン14を溶接ワークWに接近させる方向に相対移動させると、第1の実施形態に比べてサーボモータ34の電流又はトルクの揺らぎが僅かに大きくなり、可動電極30と溶接ワークWとの接触の検出が僅かに難しくなるものの、第1の実施形態の場合とほとんど同じ効果が得られる。さらに、上述したように、可動電極駆動機構内の静摩擦に起因した不感帯を解消することができ、可動電極30が溶接ワークWに接触したときに即座にサーボモータ34の電流又はトルクがほぼ一定の状態又は緩やかに変化する状態から相対的に急激に増加する状態に転じるようになる。したがって、可動電極駆動機構の静摩擦が大きく、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ34の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう場合に、本実施形態の方法が有効となる。その他の点は、第1の実施形態と同じであるので、ここでは説明を省略する。
図11を参照して、本発明の溶接ワーク位置検出方法の第3の実施形態を説明する。第3の実施形態では、図1に示されているスポット溶接システム10において、サーボモータ34によって可動電極を駆動する速度Vgを0として、対向電極32に対して可動電極30を静止させた状態で多関節ロボット12によってスポット溶接ガン14を保持してワーク固定台(図示せず)に固定された溶接ワークWに対して速度Vrで相対移動させる。また、可動電極30を駆動するためのサーボモータ34にはトルクリミットが設定されており、一定の値以上にはトルクが増加しないようになっている。可動電極30の押圧による溶接ワークWの変形を抑制するためには、トルクリミットは可能な限り低い値に設定することが望ましい。
本実施形態では、最初に、スポット溶接ガン14の可動電極30と対向電極32との間に溶接ワークWを移動させ、溶接ワークWが多少の弾性変形を伴う程度に溶接ワークW上の溶接箇所(打点位置)に可動電極30を接触させて押し付けるようにスポット溶接ガン14を位置決めする(ステップS200)。なお、このときに可動電極30を溶接ワークWに十分な距離だけ押し付けて、可動電極30が溶接ワークから離隔するまでの予備動作区間を確保することが好ましい。
次に、ステップS202で、可動電極30を駆動しないことを選択し、対向電極32に対して可動電極30を静止させたまま、図4に示されるように、多関節ロボット12を駆動してスポット溶接ガン14を溶接ワークWに対して相対移動させることにより、可動電極30と溶接ワークWとが互いに接触した状態から可動電極30を溶接ワークWから離反する方向に移動させ(ステップS206)、同時に、可動電極30を駆動するためのサーボモータ34の電流又はトルクを監視する(ステップS208)。このとき、サーボモータ34の電流又はトルクの情報と共に、多関節ロボット12の手首要素28の先端の位置データ及び対向電極32に対する可動電極30の相対位置データを逐次記録していく。さらに、必要に応じて、スポット溶接ガン14と溶接ワークWとの相対移動の開始後で且つ可動電極30と溶接ワークWとの離隔前の予備動作区間において逐次記録したサーボモータ34の電流又はトルクから、比較用の基準状態(すなわち押し付けているときの状態)のサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ34の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を決定する。なお、基準状態は、スポット溶接ガン14と溶接ワークWとが相対移動を開始してサーボモータ34の電流又はトルクが単調減少を行っている状態とし、予備動作区間において、基準状態の電流又はトルクの値又は単位時間当たりの変化量を定めるためのサーボモータ34の電流又はトルクはサーボモータ34の電流又はトルクが単調減少を行っている間に記録する。
多関節ロボット12により可動電極30が溶接ワークWから離反する方向に移動すると、可動電極30による溶接ワークWの弾性変形量が減少して、溶接ワークWから可動電極30に作用する反力も減少する。この結果、可動電極30を対向電極32に対して静止した状態に維持するための力が減少するので、サーボモータ34のトルクが減少し、電流も減少する。さらに、可動電極30が多関節ロボット12によって移動させられて可動電極30が溶接ワークWから完全に離れると、可動電極30の押圧による溶接ワークWの弾性変形がなくなって、溶接ワークWから可動電極30に作用する反力が解消され、サーボモータ34のトルク及び電流の減少も止まる。このことを利用して、サーボモータ34の電流又はトルクを逐次チェックし(ステップS210)、サーボモータ34の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極30が溶接ワークWから完全に離れたと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ34の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量よりも増加したとき(この場合、サーボモータ34の電流又はトルクが減少からほぼ一定の状態若しくは緩やかな増加に転じたとき又はサーボモータ34の電流又はトルクの単位時間当たりの減少量が小さくなったとき(以下では、まとめて、減少傾向が終了したときと記載する。)を意味し、その判断方法は後述する。可動電極30が溶接ワークWから完全に離れたと判断すると、多関節ロボット12の動作を停止させ、可動電極30が溶接ワークWから完全に離れたと判断したときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとに基づいて、溶接ワークWの表面の位置を検出し、溶接ワークWの表面位置の検出工程を終了する(ステップS212)。
図12は本実施形態に従って可動電極30により溶接ワークWの表面を検出するときのサーボモータ34のトルクの変化を時系列で表したグラフである。図12において、区間Aは、可動電極30が溶接ワークWに接触しているが検出動作を行っていない状態、区間Bは、検出動作中で可動電極30が溶接ワークWに接触している状態、区間Cは、検出動作中で可動電極30が溶接ワークWから完全に離れた(すなわち離隔した)状態、区間Dは、検出動作によって可動電極30が徐々に溶接ワークWから離反することで溶接ワークWから可動電極30への反力が解消され、可動電極30を駆動するためのサーボモータ34のトルクが減少していく状態を示す。区間Bのうち区間Dを除いた部分は、溶接ワークWから可動電極30への反力が解消されていくが、可動電極駆動機構の静摩擦のために反力の減少がサーボモータ34に伝達しない状態を示す。本実施形態でも、多関節ロボット12の振動などによるサーボモータ34の電流又はトルクの微小な揺らぎが生じるが、図12では、説明を簡単にするために、揺らぎを省略して描いている。
本実施形態では、初期状態において、溶接ワークWの弾性変形による反力が溶接ワークWから可動電極30に作用しており、可動電極30が静止した状態を維持するためにサーボモータ34にはトルクが発生する。一方、サーボモータ34にはトルクリミットが設定されている。また、可動電極30は対向電極32に対して静止しており、可動電極30がサーボモータ34によって駆動されていないので、可動電極駆動機構に動摩擦が発生しない一方、可動電極駆動機構の静摩擦に起因して不感帯が生じる。このため、検出動作前の区間Aと検査動作開始後の区間Bの冒頭とにおけるサーボモータ34の電流及びトルクはほぼ一定状態となり、特に急激な変動は現れない。一方、多関節ロボット12によるスポット溶接ガン14の移動により可動電極30が溶接ワークWから離反する方向に移動させられて、溶接ワークWから可動電極30に作用する反力が徐々に解消され、区間Dのように、サーボモータ34のことによって、サーボモータ34のトルクが単調減少し、電流も減少する。さらに、多関節ロボット12によって可動電極30が溶接ワークWから離反する方向に移動させられ、区間Cになって、可動電極30が溶接ワークWから完全に離れると、溶接ワークWの弾性変形が解消され、弾性変形による反力が溶接ワークWから可動電極30に作用しなくなるので、サーボモータ34のトルク及び電流の減少も止まる。
区間Dにおけるサーボモータ34の電流又はトルクを記録しておくことにより、区間Dにおけるサーボモータ34の電流又はトルクの単位時間当たりの変化量から、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を定め、これを区間Cにおけるサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量との比較に用いることが可能となる。また、動作開始前に可動電極30を十分な距離だけ溶接ワークWに押し付けておけば、区間Bを長くして十分な予備動作区間を確保できるので、可動電極30が溶接ワークWと接触しているときのサーボモータ34の電流又はトルクを確実に記録することができるようになる。
このように、可動電極30を対向電極32に対して静止させた状態で多関節ロボット12を用いてスポット溶接ガン14を溶接ワークWから離反する方向に相対移動させると、可動電極30が溶接ワークWから完全に離れたときに可動電極30を駆動するためのサーボモータ34の電流及びトルクが、基準状態と比較して増加する傾向に転じる。したがって、サーボモータ34の電流又はトルクを監視すれば、電流又はトルクが基準状態と比較して増加する傾向に転じたときに可動電極30が溶接ワークWから完全に離れた(離隔した)と判断することができる。さらに、可動電極30が溶接ワークWから完全に離れたと判断されたときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとから、可動電極30が溶接ワークWから完全に離れたと判断されたときの可動電極30の先端の位置データを求めることができ、求められた可動電極30の先端の位置データを溶接ワークWの表面の位置データとみなせば、溶接ワークWの表面の位置を検出することができる。
サーボモータ34の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じた時点は、サーボモータ34の電流又はトルクの時系列曲線すなわち波形を解析し、電流又はトルクの減少傾向が終了する点(以下、変化点と記載する。)を求めることにより特定される。変化点を求めるための電流又はトルクの波形の解析方法の例として、以下の四つが挙げられる。
(i)可動電極30が溶接ワークWから離反する方向に移動すると、図12に示されているように、サーボモータ34の電流又はトルクは単調に減少し、可動電極30が溶接ワークWから完全に離れると、サーボモータ34の電流又はトルクの減少が終了してほぼ一定の状態になる。したがって、サーボモータ34の電流又はトルクの単位時間当たりの変化量、すなわちサーボモータ34の電流又はトルクの波形の傾きが、負の値になり減少傾向を示した後、波形の傾きが0又は正の値になる点を変化点とみなす。
(ii) 可動電極30が溶接ワークWから離反する方向に移動すると、図12に示されているように、サーボモータ34の電流又はトルクは単調に減少し、可動電極30が溶接ワークWから完全に離れると、サーボモータ34の電流又はトルクの単位時間当たりの変化量は、基準状態である単調減少時と比較して増加し、減少傾向が終了する。したがって、基準状態である単調減少時に観測されたサーボモータ34の電流又はトルクの値から、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの単位時間当たりの変化量を定め、実際に観測されたサーボモータ34の電流又はトルクの単位時間当たりの変化量と、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの単位時間当たりの変化量とを比較して、前者が後者よりも予め定められた閾値以上に増加したときに、減少傾向が終了したと判断し、変化点とみなす。例えば、図12に示されているように、時刻T2以降の時刻T3においても基準状態にあると仮定すれば、サーボモータ34のトルクは、時刻T3において、単調減少時の時刻T1と時刻T2において観測されたサーボモータ34のトルクの値から求めた単位時間当たりの変化量と同じ単位時間当たりの変化量になると推測できる。したがって、実際に観測されたサーボモータ34のトルクの単位時間当たりの変化量が、基準状態である単調減少時のサーボモータ34のトルクの単位時間当たりの変化量より予め定められた閾値以上に増加したときに、変化点とみなせばよい。
(iii)上述したように、可動電極30が溶接ワークWから離反する方向に移動すると、図12に示されているように、サーボモータ34の電流又はトルクは単調に減少し、可動電極30が溶接ワークWから完全に離れると、サーボモータ34の電流又はトルクの単位時間当たりの変化量は、基準状態である単調減少時と比較して増加し、減少傾向が終了する。すなわち、実際に観測されたサーボモータ34の電流又はトルクの値が、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値よりも増加する。したがって、基準状態である単調減少時に観測されたサーボモータ34の電流又はトルクの値から、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値を推測的に定め、実際に観測されたサーボモータ34の電流又はトルクの値と、基準状態にあると仮定して推測的に定めたサーボモータ34の電流又はトルクの値とを比較して、前者が後者よりも予め定められた閾値以上に増加したときに、減少傾向が終了したと判断し、変化点とみなす。例えば、図12に示されているように、基準状態にあると仮定したときの時刻T2以降の時刻T3におけるサーボモータ34のトルクの値Tは、単調減少している区間Dの時刻T1と時刻T2との間のサーボモータ34のトルクの単位時間当たりの変化量と時刻T2におけるサーボモータ34のトルクの値とから直線近似法によって推測することができ、実際に観測されたサーボモータ34のトルクのトルクの値T’が、基準状態にあると仮定して推測的に定められたサーボモータ34のトルクの値Tより予め定められた閾値以上に増加したときに、変化点とみなせばよい。
(iv)可動電極30が溶接ワークWから離反する方向に移動すると、図12に示されているように、サーボモータ34の電流又はトルクは単調に減少し、可動電極30が溶接ワークWから完全に離れると、減少傾向が終了する、すなわち単位時間当たりの変化量が0又は正になる。そこで、まず、(ii)又は(iii)の方法によって、サーボモータ34の電流又はトルクの変化点を求め、これを仮の変化点とし、仮の変化点からサーボモータ34の電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ34の単位時間当たりの変化量(すなわち電流又はトルクの時系列波形の傾き)を求めていく。そして、サーボモータ34の電流又はトルクの波形の傾きが負に転じた点を真の変化点とし、真の変化点において、サーボモータ34の電流又はトルクの減少傾向が終了したとみなす。図13では、Td1は、解析方法(ii)又は(iii)によって求めた仮の変化点を表し、Td2はサーボモータ34のトルクの時系列波形に沿って時刻を遡って求めた真の変化点を表している。あるいはまた、仮の変化点付近の点におけるサーボモータ34の電流又はトルクの時系列波形の傾きを求め、これを(可動電極30が溶接ワークWから離隔した後の)基準の傾きとし、同様に仮の変化点からサーボモータ34の電流又はトルクの時系列波形に沿って時刻を遡ってサーボモータ34の電流又はトルクの時系列波形の傾きを求めていき、求めたサーボモータ34の電流又はトルクの時系列波形の傾きと基準の傾きとの差が予め定められた許容値を超えた点を真の変化点とし、この真の変化点おいて、電流又はトルクの減少傾向が終了したとみなしてもよい。なお、後者の場合、仮の変化点を求めるために解析方法(ii)を用いるときは、仮の変化点を求めるための予め定められた閾値と、真の変化点を求めるための予め定められた許容値とでは、前者を大きく、後者を小さくするのが望ましい。これにより、大まかに仮の変化点を特定してから、詳細に真の変化点を特定することができるようになる。
本実施形態のように、可動電極30を対向電極32に対して静止させている場合、可動電極30がサーボモータ34によって駆動されておらず、可動電極駆動機構に動摩擦が発生しないので、サーボモータ34の電流又はトルクの揺らぎがほとんど発生せず、サーボモータ34の電流又はトルクの減少傾向が終了した時点の判断が容易となる。したがって、可動電極30が溶接ワークWから完全に離れた時点を正確に特定でき、溶接ワークWの表面位置がより正確に検出できるようになる。
また、可動電極30が溶接ワークWから完全に離れた時点の可動電極30の位置から溶接ワークWの表面位置を検出するので、溶接ワークWは可動電極30による弾性変形を伴っておらず、溶接ワークWの表面位置を正確に検出することができる。
さらに、本実施形態では、可動電極30が溶接ワークWから完全に離れたと判断されると、ロボット制御装置16は、多関節ロボット12の動作を停止させ、可動電極30が溶接ワークWから完全に離れたと判断されたときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとから溶接ワークWの表面の位置を検出する。しかしながら、可動電極30と溶接ワークWとが完全に離れたと判断した後も、多関節ロボット12が惰走してしまい、多関節ロボット12の動作を停止させたときの多関節ロボット12の手首要素28の先端の位置と、可動電極30と溶接ワークWとが完全に離れたと判断したときの多関節ロボット12の手首要素28の先端の位置とが異なってしまうことがある。したがって、スポット溶接ガン14の可動電極30を位置決めすることが最終目的である場合には、多関節ロボット12の惰走を是正するために、可動電極30が溶接ワークWから完全に離れたと判断したときの位置に多関節ロボット12を移動さればよい。
第4の実施形態は、図1に示されているスポット溶接システム10において、サーボモータ34によって可動電極30を駆動する速度Vgが0ではなく、サーボモータ34によって可動電極30を移動させながら、多関節ロボット12によってスポット溶接ガン14を保持してワーク固定台(図示せず)に固定された溶接ワークWに対して速度Vrで相対移動させる点において、第3の実施形態と異なっており、その他の点は第3の実施形態と同様である。したがって、ここでは、異なる部分を中心に説明し、同様の部分については説明を省略する。
第3の実施形態では、サーボモータ34によって可動電極30を駆動する速度Vgを0として、対向電極32に対して可動電極30を静止させているので、可動電極駆動機構の動摩擦によるサーボモータ34の電流又はトルクの揺らぎがほとんど発生せず、可動電極30が溶接ワークWから完全に離れたときにサーボモータ34の電流又はトルクの減少傾向が終了した時点を検出しやすいという利点がある。その一方で、可動電極30が対向電極32に対して静止しているため、可動電極駆動機構内の静摩擦に起因して不感帯が生じ、溶接ワークWからサーボモータ34へ伝達される反力の損失が生じて、可動電極34が溶接ワークWから完全に離れて溶接ワークWから可動電極30に反力が作用しなくなる前にサーボモータ34の電流又はトルクが変化しなくなる。この結果、可動電極30が溶接ワークWから完全に離れた時点を誤検出する可能性が生じる。したがって、可動電極駆動機構の静摩擦が小さい場合には、可動電極駆動機構の動摩擦により生じるサーボモータ34の電流又はトルクの揺らぎをなくすことによる効果が不感帯の存在による悪影響に勝り、第3の実施形態が有効になるが、可動電極駆動機構の静摩擦が大きい場合には、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ34の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう。
そこで、第4の実施形態では、サーボモータ34によって対向電極32に対して可動電極30を低い速度Vg(≠0)で移動させることにより、このような不感帯を解消させ、可動電極動機構の静摩擦が大きい場合にも適用できるようにしている。実際には、第3の実施形態と第4の実施形態の両方の方法を試してみて、検出精度の高い方を採用すればよい。また、予め静摩擦の影響を測定しておき、影響の程度によって採用する方法を決めるようにしてもよい。
なお、サーボモータ34によって対向電極32に対して可動電極30を移動させる速度Vgは、高すぎると、可動電極駆動機構の動摩擦によりサーボモータ34の電流又はトルクに揺らぎが発生し、溶接ワークWの表面位置を検出する精度に悪影響を及ぼす一方、低すぎると、可動電極駆動機構の静摩擦が十分に除去されなくなる。したがって、サーボモータ34によって対向電極32に対して可動電極30を移動させる速度Vgは、静摩擦を除去しつつ動摩擦によるサーボモータ34の電流又はトルクの揺らぎを最小限に抑えるような極めて低い速度とすることが望ましい。
図11を参照して、第4の実施形態による溶接ワーク位置検出方法の手順を説明する。
最初に、第3の実施形態と同様に、スポット溶接ガン14の可動電極30と対向電極32との間に溶接ワークWを移動させ、溶接ワークWが多少の弾性変形を伴う程度に溶接ワークW上の溶接箇所(打点位置)に可動電極30を接触させて押し付けるようにスポット溶接ガン14を位置決めする(ステップS200)。なお、このときに可動電極30を溶接ワークWに十分な距離だけ押し付けて、可動電極30が溶接ワークから離隔するまでの予備動作区間を確保することが好ましい。
次に、ステップS202で可動電極30を駆動することを選択し、サーボモータ34により可動電極30を微速Vgで駆動する(ステップS204)。サーボモータ34により対向電極32に対して可動電極30を移動させる速度Vgは、上述したように、静摩擦を除去しつつ動摩擦によるサーボモータ34の電流又はトルクの変動を最小限に抑えるような極めて低い速度とする。また、対向電極32に対して可動電極チップ30を移動させるのは、可動電極駆動機構の静摩擦の影響を除去することが目的であるので、対向電極32に対する可動電極30の移動は開方向又は閉方向に行ってもよく、閉開を繰返すようにしてもよい。なお、可動電極30を対向電極32に接近させる方向に移動させる場合、すなわち可動電極30を溶接ワークWへ向かって移動させる場合、多関節ロボット12は、対向電極32に対する可動電極30の移動速度Vg以上の速度Vrで、溶接ワークWから離反する方向にスポット溶接ガン14を移動させる必要がある。
次に、対向電極32に対して可動電極30を速度Vgで移動させながら、図4に示されるように、多関節ロボット12を駆動してスポット溶接ガン14を溶接ワークWに対して速度Vrで相対移動させることにより、可動電極30と対向電極32とが互いに接触した状態から可動電極30を溶接ワークWから離反する方向に移動させ(ステップS206)、同時に、可動電極30を駆動するためのサーボモータ34の電流又はトルクを監視する(ステップS208)。このとき、サーボモータ34の電流又はトルクの情報と共に、多関節ロボット12の手首要素28の先端の位置データ及び対向電極32に対する可動電極30の相対位置データを逐次記録していく。さらに、必要に応じて、スポット溶接ガン14と溶接ワークWとの相対移動の開始後で且つ可動電極30と溶接ワークWとの離隔前の予備動作区間において逐次記録したサーボモータ34の電流又はトルクから、比較用の基準状態(すなわち押し付けている時の状態)のサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量として、サーボモータ34の電流又はトルクが予備動作区間と同じ変化傾向を有すると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を決定する。なお、基準状態は、スポット溶接ガン14と溶接ワークWとが相対移動を開始してサーボモータ34の電流又はトルクが単調減少を行っている状態とし、予備動作区間において、基準状態の電流又はトルクの値又は単位時間当たりの変化量を定めるためのサーボモータ34の電流又はトルクはサーボモータ34の電流又はトルクが単調減少を行っている間に記録する。
そして、サーボモータ34の電流又はトルクの変動を逐次チェックし(ステップS210)、サーボモータ34の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じたときに、可動電極30が溶接ワークWから完全に離れたと判断する。なお、「基準状態と比較して増加する傾向に転じたとき」とは、サーボモータ34の電流又はトルクの実際の値又は単位時間当たりの変化量が、基準状態にあると仮定した場合のサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量よりも増加したとき(この場合、サーボモータ34の電流又はトルクが減少からほぼ一定の状態若しくは緩やかな増加に転じたとき又はサーボモータ34の電流又はトルクの単位時間当たりの減少量が小さくなったとき(以下では、まとめて、減少傾向が終了したときと記載する。)を意味し、その判断方法は後述する。可動電極30が溶接ワークWから完全に離れたと判断すると、多関節ロボット12の動作を停止させ、可動電極30が溶接ワークWから完全に離れたと判断したときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとに基づいて、溶接ワークWの表面の位置を検出し、溶接ワークWの表面位置の検出工程を終了する(ステップS212)。
図14は本実施形態に従って可動電極30により溶接ワークWの表面を検出するときのサーボモータ34のトルクの変化を時系列で表したグラフである。図14において、区間Aは、可動電極30が溶接ワークWに接触しているが検出動作を行っていない状態、区間Bは、検出動作中で可動電極30が溶接ワークWに接触している状態、区間Cは、検出動作中で可動電極30が溶接ワークWから完全に離れた(すなわち離隔した)状態、区間Dは、検出動作によって可動電極30が徐々に溶接ワークWから離反することで溶接ワークWから可動電極30への反力が解消され、可動電極30を駆動するためのサーボモータ34のトルクが減少していく状態を示す。本実施形態でも、多関節ロボット12の振動などによるサーボモータ34の電流又はトルクの微小な揺らぎが生じるが、図14では、説明を簡単にするために、揺らぎを省略して描いている。
本実施形態では、検出動作中に可動電極30が対向電極32に対して速度Vgで移動するので、区間Bになって可動電極30の駆動を開始すると、可動電極30の速度が予め定められた速度Vgに到達するまで、サーボモータ34の電流又はトルクが増加し、可動電極30の速度がVgに達すると、サーボモータ34は加速のためのトルクを必要としなくなるので、サーボモータ34の電流及びトルクはほぼ一定となる。一方、多関節ロボット12によるスポット溶接ガン14の移動により可動電極30が溶接ワークWから離反する方向に移動させられて、溶接ワークWから可動電極32に作用する反力が徐々に解消され、区間Dのように、サーボモータ34のトルクが単調減少し、電流も減少する。さらに、多関節ロボット12によって可動電極30が溶接ワークWから離反する方向に移動させられて、区間Cになって、可動電極30が溶接ワークWから完全に離れると、溶接ワークWの弾性変形が解消され、弾性変形による反力が可動電極30に作用しなくなるので、サーボモータ34のトルク及び電流の減少も止まる。
区間Dにおけるサーボモータ34の電流又はトルクを記録しておくことにより、区間Dにおけるサーボモータ34の電流又はトルクの単位時間当たりの変化量から、基準状態にあると仮定したときのサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量を定め、これを区間Cにおけるサーボモータ34の電流又はトルクの値又は単位時間当たりの変化量との比較に用いることが可能となる。また、動作開始前に可動電極30を十分な距離だけ溶接ワークWに押し付けておけば、区間Bを長くして十分な予備動作区間を確保できるので、可動電極30が溶接ワークWと接触しているときのサーボモータ34の電流又はトルクを確実に記録することができるようになる。
このように、可動電極30を対向電極32に対して低い速度Vgで移動させながら多関節ロボット12を用いてスポット溶接ガン14を溶接ワークWから離反させる方向に相対移動させた場合も、第3の実施形態と同様に、可動電極30が溶接ワークWから完全に離れたときに可動電極30を駆動するためのサーボモータ34の電流又はトルクが、基準状態と比較して増加する傾向に転じる。したがって、サーボモータ34の電流又はトルクを監視すれば、電流又はトルクが、基準状態と比較して増加する傾向に転じたときに可動電極30が溶接ワークWから完全に離れたと判断することができる。さらに、可動電極30が溶接ワークWから完全に離れたと判断されたときの多関節ロボット12の手首要素28の先端の位置データとスポット溶接ガン14における対向電極32に対する可動電極30の相対位置データとから、可動電極30が溶接ワークWから完全に離れたと判断されたときの可動電極30の先端の位置データを求めることができ、求められた可動電極30の先端の位置データを溶接ワークWの表面の位置データとみなせば、溶接ワークWの表面の位置を検出することができる。
サーボモータ34の電流又はトルクが、予め定めておいた基準状態と比較して増加する傾向に転じた時点は、第3の実施形態で述べた四つの解析方法(i)〜(iv)と同様にして、サーボモータ34の電流又はトルクの時系列曲線すなわち波形を解析し、電流又はトルクの減少傾向が終了する点(以下、変化点と記載する。)を求めることにより特定される。変化点を求めるための電流又はトルクの波形の解析方法の例は、第3の実施形態と同じであるので、ここでは説明を省略する。なお、本実施形態では、検査動作中に可動電極30が対向電極30に対して速度Vgで移動するので、可動電極30が溶接ワークWから離れた後に、サーボモータ34の電流又はトルクは、スポット溶接ガン14の機械的な抵抗(例えば可動電極駆動機構と溶接トランス(図示しない)を連結する導電部の弾性変形)などによって、緩やかに変化していくことがある。このように可動電極30が溶接ワークWから離れた後にサーボモータ34の電流又はトルクが緩やかに減少すると、サーボモータ34の電流又はトルクが一定の状態にならなかったり増加しなかったりすることがありえるため、解析方法(i)では変化点を求めることが困難な場合がある。このような場合には、解析方法(ii)から(iv)の方法を採用することが有効である。
本実施形態のように、可動電極30を対向電極32に対して速度Vgで移動させながら多関節ロボット12を用いてスポット溶接ガン14を溶接ワークWから離反させる方向に相対移動させると、第3の実施形態に比べてサーボモータ34の電流又はトルクの揺らぎが僅かに大きくなり、可動電極30と溶接ワークWとの接触の検出が僅かに難しくなるものの、第3の実施形態の場合とほとんど同じ効果が得られる。さらに、上述したように、可動電極駆動機構内の静摩擦に起因した不感帯を解消することができ、可動電極34が溶接ワークWから完全に離れて溶接ワークWから可動電極30に反力が作用しなくなる前にサーボモータ34の電流又はトルクが変化しなくなることを防止することができ、可動電極30が溶接ワークWから完全に離れたことの誤検出の可能性を減らすことができる。したがって、可動電極駆動機構の静摩擦が大きく、不感帯の存在による悪影響が可動電極駆動機構の動摩擦により生じるサーボモータ34の電流又はトルクの揺らぎをなくすことによる効果を上回ってしまう場合に、本実施形態の方法が有効となる。その他の点は、第3の実施形態と同じであるので、ここでは説明を省略する。
以上、図示される実施形態に基づいて、本発明を説明したが、本発明は上述した実施形態に限定されるものではない。例えば、上記実施形態では、サーボモータ34の電流又はトルクの監視を行うと同時に、多関節ロボット12の手首要素28の先端の位置データと対向電極32に対する可動電極30の相対位置データを記録するようにしている。しかしながら、多関節ロボット12及び可動電極30は、ロボット制御装置16及びスポット溶接ガン制御装置18からの時系列上の動作指令に基づいて動作しているので、実行された多関節ロボット12及び可動電極30の動作指令から過去の時刻の多関節ロボット12の手首要素28の先端の位置データと対向電極32に対する可動電極30の相対位置データを求めてもよい。