【実施例】
【0041】
次に、本発明の技術を適用した例として、以下の実施例1〜実施例3を挙げて説明する。
(実施例1)
実施例1は、ウィービング1周期毎に得られる溶接電流の波形に対して、正弦波を用いてフィッティング(溶接電流と正弦波とのマッチング)を行い、言い換えれば、ウィービング1周期毎に最小二乗法で処理してフィッティングを行い、溶接線からのズレ量を検出したものである。
【0042】
具体的には、ウィービング1周期毎の関数y(t)は、正弦波形の振幅をp1、溶接電流の波形と正弦波形との位相差をφとすると、式(1)のように示すことができる。
【0043】
【数1】
【0044】
つまり、n周期分のウィービングについて上述した式(1)を適用すれば、係数p1及びp2を含むn個の式が得られ、最小二乗法を用いれば振幅p1を求めることができる。
【0045】
【数2】
【0046】
となる。
なお、式(1)では位相のズレをφとして正弦波を関数として用いたが、位相のズレφの替わりに式(2)に示すように正弦波と余弦波とを重畳した関数を用いても良い。
【0047】
【数3】
【0048】
この式(2)の正弦波成分の振幅qs及び余弦波成分の振幅qcは、最小二乗法を用いて求めることができる。その後、三角関数の合成を用いて、式(3)より、合成振幅が求められる。
【0049】
【数4】
【0050】
つまり、正弦波と余弦波とを重畳した三角関数を関数としてフィッティングを行うと、位相差を求めることなく溶接線からのズレのみを求めることができる。
そのため、従来の技術で溶接線からのズレを求める際に精度を大きく変えてしまうものとして問題となっていた「溶接電流波形とロボット位置との位相合わせ」を行う必要がなく、位相合わせが不十分であるためズレの精度が悪くなるといった問題も発生しないといった利点を、本技術は有することとなる。
【0051】
なお、上述した式(1)〜式(3)式でウィービング1周期分の関数の振幅p1が求められたら、求められた振幅p1が0になるように制御をしてやればよい。このような制御としては、具体的には、振幅p1や、過去の振幅p1の積算にゲインを乗じたものに基づいてPI制御などを行うような制御を考えることができる。
つまり、特許文献1では、計測されたウィービング電流の左端側の最大値を「IL1」、最小値を「IL2」、右端側の最大値を「IR1」、最小値を「IR2」とすれば、左右の電流差は(IL1−IL2)−(IR1−IR2)であるが、振幅p1は、この左右電流差と、同様のものとして扱うことができる。
【0052】
詳しくは、
図1に模式的に示すように、下向き溶接において、溶接トーチ5の位置を溶接線からズレ量0mm、1mm、2mm、3mm、4mmと変化させつつ式(1)を適用した。式(1)を適用した結果を、
図2A〜
図2Eに示す。
なお、
図2A〜
図2Eにおける破線は、50ウィービング分(50周期分)の波形のうち、代表的なものを選択し破線にて示したものである。また、実線は、式(1)の正弦波を関数として用いてフィッティングした結果を示している。
【0053】
また、
図2A〜
図2Eにおける50ウィービング分の溶接電流(1周期分の溶接電流)に対して、上述した左右の電流差を求め、溶接線からのズレ量の設定値ごとに整理した結果を、
図3Aに示した。言い換えれば、この
図3Aは、溶接線からのズレ量を従来の方法で計測した結果を示したものであり、各ズレ量において縦軸方向に広がる左右の電流差の分布幅は、従来の方法で計測される左右の電流差、言い換えれば振幅のばらつきを示している。
【0054】
図3Bは、式(1)を用いてフィッティングし、関数の振幅p1を求め、同じく溶接線からズレ量の設定値ごとに整理した結果を示している。
図3Bにおける縦軸方向に広がる関数の振幅p1の分布幅は、実施例1の方法で計測される振幅のばらつきを示している。
上述した従来の方法で計測された左右の電流差を示す
図3Aと、実施例1の方法で計測される振幅のばらつきを示す
図3Bとを比較する。例えば、ズレ量が0mmの値及び4mmの値に着目する。そうすると、実施例1の方法で算出される振幅p1の方が、従来の方法で算出される左右の電流差(従来の方法により求められる振幅)よりもばらつきの上下幅が小さくなっていることが分かり、振幅p1、つまり溶接線からのズレ量を精確に検出できていると判断される。
【0055】
以上の結果から、実施例1の方法で溶接線からのズレ量を検出しつつアーク倣い溶接を行えば、大幅な倣い溶接の精度向上が得られることがわかる。また、実施例1のやり方をズレ量の検出に用いる場合には、単純に検出されるズレ量の精度を上げることが可能となる。
なお、上記した実施例1は、ウィービング波形を、溶接電流もしくは溶接電圧の波形にフィッティングさせるに際しては、得られた1周期分の溶接電流もしくは溶接電圧のデータを用いて、1周期分のデータ取得毎にフィッティングを行う手法であった。
【0056】
この実施例1に対して、得られた溶接電流もしくは溶接電圧のデータに対して、その都度、その時点から過去のウィービング1周期分のデータを用いて、順次、フィッティングを行うことも可能である。
【0057】
【数5】
【0058】
このように、データ取得が進むたびに、過去1周期分のデータを用いて、順次、p1とp2を求めることが可能である。この手法により、データ取得毎にズレ量が求められ、ウィービング1周期を待たずに、より早くズレ量を得ることが出来る。また、連続的なズレ量が得られるメリットがある。
さらに、この実施例1に対して、得られた溶接電流もしくは溶接電圧のデータに対して、その都度フィッティング操作を行うことも可能である(逐次フィッティング)。
【0059】
この逐次フィッティングの手法、言い換えれば、逐次最小二乗法は過去の影響を若干引きずるが、計算量が非常に小さくて済むといったメリットがある。
逐次フィッティングによる推定を行う場合には、式(4)を用いるとよい。
【0060】
【数6】
【0061】
ここで、P’iがi回目の逐次計算における[p1 p2]
Tの推定値である。またA(i,:)はA行列のi行目のベクトル、同様にB(i,:)はB行列のi行目のベクトルである。またλは忘却係数である。
逐次フィッティングの手法を採用しても、
図2A〜
図2E、
図3Bと略同様の結果を得ることができる。
(実施例2)
実施例2は、
図4に模式的に示すような水平すみ肉に対して、三角関数を関数として用いて最小二乗法を利用したフィッティングを行い、溶接線からのズレを検出したものである。
【0062】
この実施例2の関数は、ウィービングの周期と同じ周期の正弦波形(Sin波形)と、1/2の周期の正弦波形とを、組み合わせて用いたものとなっている。
具体的には、実施例2は、ウィービング1周期毎に得られるy(t)を元にフィッティングを行って、式(5)の振幅p1およびp2、p3を求めるものである。この式(5)で示される実施例2の関数は、正弦波形の位相差は0とされているが、1/2の周期の正弦波形は位相差π/2とされている。このようにπ/2の位相差を設けているのは、1/2の周期の正弦波ピークがウィービングの端信号の位置に合致するようにするためである。
【0063】
つまり、実施例2では、実施例1と同様に各ウィービング周期ごとに求められた振幅p1およびp2、p3を最小二乗法で処理すれば、フィッティング後の振幅p1を求めることができる。
【0064】
【数7】
【0065】
図4に示すような水平すみ溶接での溶接電流にフィッティングを行っても、ズレ無しにおける関数の係数p1は完全に0にはならない。これは、重力の影響や、トーチの角度によるものであり、従来から行われてきた左右の電流差を用いた振幅計算でも同様の結果となる。このような場合は、従来手法では、オフセット電流Aを倣いのパラメータに加えたものを関数として制御を行う。つまり、左右の電流差=(IL1−IL2)−(IR1−IR2)+Aが「0」となるような制御が、上述の場合には行われている。そこで、実施例2においても、同様なオフセットパラメータを設けて倣い溶接の制御を行っている。
【0066】
この方法で溶接線からのズレ量を求めたものが、
図5A〜
図5Dであり、求められたズレ量を従来の方法と比較したものが、
図6A、
図6Bである。
すなわち、
図5A〜
図5Dにおける破線は、50ウィービング分(50周期分)の波形のうち、代表的なものを選択し破線にて示したものである。また、実線は、式(1)の正弦波を関数として用いてフィッティングを行った結果を示している。
【0067】
また、
図5A〜
図5Dにおける50ウィービング分の溶接電流(1周期分の溶接電流)に対して、上述した左右の電流差を求め、溶接線からのズレ量の設定値ごとに整理した結果を、
図6Aに示した(従来法)。
図6Bは、式(1)に用いてフィッティングを行った関数の振幅p1を求め、同じく溶接線からズレ量の設定値ごとに整理した結果を示している。
図3Bと同じく、
図6Bにおける縦軸方向に広がる関数の振幅p1の分布幅は、実施例1の方法で計測される振幅のばらつきを示している。
【0068】
図6A及び
図6Bの結果を比較すると、ズレ量が2mmの結果を見ると、実施例2の方法で求められる振幅p1の方が、左右の電流差(従来の方法により求められる振幅)よりもバラつきの大きさが減少していることが分かる。
また、元の溶接電流の波形に対して、ウィービング周期と同周期の正弦波形と、ウィービング周期の1/2の周期の正弦波形とを関数として用い、最小二乗法で振幅などを求めてフィッティングを行えば、ほぼ元の溶接電流波形が再現できることが分かる。これを用いれば、近年行われているような、制御装置やパーソナルコンピュータに、電流波形や電圧波形を蓄積しておき、後から波形を確認したり、トレーサビリティを取るといった際の、データ蓄積メモリ低減にも応用できることは明らかである。つまり、電流波形や、電圧波形をそのままサンプリングデータとして、蓄積するのではなく、式(5)を用いて、一旦フィッティングして、p1、p2、p3として、保存すると、波形の振幅情報を失わずに、大幅にハードディスク等のメモリ量が低減でき、コスト削減が可能である。
【0069】
特に、
図6Bから明らかなように、バラつきの低減により、大幅な精度向上が得られている。
(実施例3)
実施例3は、関数として正弦波形や余弦波形といった三角関数ではなく、非三角関数の関数をフィッティングに用いたものである。具体的には、この実施例3のウィービング波形は、
図7の左側に示す「Sin+両端停止」であり、フィッティングに用いる関数は、
図7の左側に示す「Sin+両端停止」を用いたものとなっている。
【0070】
図8A〜
図8Cに示すように、実施例1や実施例2と同様に、溶接線からのズレ量を0mm、2mm、5mmとした場合に、元の溶接電流の波形に対して、非三角関数を関数としてフィッティングさせると、ほぼ元の溶接電流波形が再現できることが分かる。
また、
図8Dから明らかなように、実施例3のフィッティングを行ったものは実施例1や実施例2と同様に、従来のやり方で求められる振幅よりもバラつきが大きく低減され、溶接線からのズレ量の算出において大きな精度向上が得られていると判断される。
【0071】
以上の実施例1〜実施例3で述べたように、三角関数乃至は非三角関数からなる関数で表されるウィービング波形を、溶接電流もしくは溶接電圧の波形にフィッティングさせ、フィッティングした波形の振幅を基に、アーク倣い溶接でのズレ量を検出することにより、溶接線からのズレ量を正確に検出することが可能となる。
(実施例4)
実施例4では、上記した実施例(実施例1〜3)の手法を踏襲しつつ、順次、フィッティングを行う場合において、ウィービング1周期毎に、その順次フィッティングの結果の平均を取ることで、ウィービング1周期毎に単にフィッティングする場合より、更に精度をあげることができるという技術を開示する。
【0072】
図10は、ウィービング1周期毎に単にフィッティングする場合を模式的に示したものである。これに比して、
図11は、順次フィッティングを行いながら、ウィービング1周期毎に、その順次フィッティングの結果の平均を取る技術(実施例4の技術)を模式的に示したものである。
すなわち、実施例4の技術においては、順次フィッティングを行いながら、ウィービング1周期毎に、その順次フィッティングの結果の平均を取る計算を行う。その計算の具体的なやり方は以下の通りである。
【0073】
順次フィッティングを行う際の区間が、1からnの場合には、p1(tn)は次のように求められる。
【0074】
【数8】
【0075】
順次フィッティングを行う際の区間が、2からn+1の場合には、p1(tn+1)は次のように求められる。
【0076】
【数9】
【0077】
このように、データ取得が進むたびに、過去1周期分のデータを用いて、窓(区間)をスライドさせながらフィッティングを行い、順次、p1(tn)、p1(tn+1)と求めておく。
時刻tnから、ウィービング1周期後の時刻をtn+n-1として、順次フィッティングの結果の平均は、
pAve = ( p1(tn) + p1(tn+1) + ・・・ + p1(tn+n-1) ) / n (7)
で求めることができる。
【0078】
図12Aは、式(1)を用いてフィッティングし、関数の振幅p1を求め、溶接線からズレ量の設定値ごとに整理した結果を示している。
図12Bは、式(6)を用いてフィッティングし、関数の振幅p1(tn)〜p1(tn+n-1)を求め、式(7)でその平均振幅pAveを求め、溶接線からズレ量の設定値ごとに整理した結果を示している。
図12Aと、実施例4の方法で計測される振幅のばらつきを示す
図12Bとを比較する。
【0079】
例えば、ズレ量が0mmの値、ズレ量が2mmの値、ズレ量が5mmの値に着目する。そうすると、実施例4の方法で算出される振幅pAveの方が、単にウィービング1周期毎にp1を計算したものより、上下幅が小さくなっていることがわかり、振幅pAve、つまり溶接線からのズレ量を精確に検出できていると判断される。ここでは順次フィッティングについて述べたが、逐次フィッティングの手法についても同様に平均を取る事が可能であることは言うまでも無い。
【0080】
なお、ウィービング1周期における、順次フィッティングの回数が多いと、処理時間がその分かかってしまうことから、ウィービング1周期毎に、何回の順次フィッティングが必要かの目安を示す。
図13A〜
図13Cは、ウィービング1周期毎に何回の順次フィッティングを行うかを模式的に表したものである。
図13Aは、スライド窓が2個の場合、言い換えれば、区間を一回だけスライドして計算を進めた例を示している。同様に、
図13Bは、スライド窓が4個の場合、言い換えれば、区間を3回スライドして計算を進めた例を示している。
図13Cは、スライド窓が8個の場合、言い換えれば、区間を7回スライドして計算を進めた例を示している。
【0081】
このように、ウィービング1周期毎の順次フィッティングの回数を変えて、その平均を取ることで、倣い溶接時における溶接精度は向上するようになる。その一方で、処理時間は増大する。
図14は、
図13A〜
図13Cの如く、順次フィッティングの回数を変化させた場合において、ウィービング1周期毎の順次フィッティングの回数と、ウィービング1周期毎の順次フィッティング結果の平均pAveの標準偏差との関係を示したものである。
【0082】
図14から明らかなように、ウィービング1周期毎の順次フィッティングの回数が2〜8回程度で、pAveの標準偏差が大きく下がることが分かる。したがって、実施例4の処理(順次フィッティングの回数が8回程度まで)によって、処理時間を大幅に増やすことなく振幅のばらつきを低減することができ、つまり溶接線からのズレ量を、さらに精確に検出できていると判断される。
【0083】
以上述べたように、実施例4においては、ウィービング1周期毎に、順次フィッティングの結果の平均を取ることで、より精度の高い倣い溶接を実現可能となっている。
なお、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。特に、今回開示された実施形態において、明示的に開示されていない事項、例えば、運転条件や操業条件、各種パラメータ、構成物の寸法、重量、体積などは、当業者が通常実施する範囲を逸脱するものではなく、通常の当業者であれば、容易に想定することが可能な値を採用している。例えば、溶接方向に対して斜めに振るウィービングの場合でも、そのウィービング周期と同じ周期の関数とフィッティングさせることにより、同様にズレ量を検出することが可能である。