以下、本発明の一実施の形態について、図面を参照して詳細に説明する。なお、説明は、以下の順序で行う。
1.第1の実施の形態
計測値から得られた周波数特性に基づいて溶接ビードの状態を判定する例
2.第2の実施の形態
第1の実施の形態において、学習モードが省略されている例
3.第1および第2の実施の形態に共通の変形例
溶接電圧またはワイヤ送給速度が用いられる例
4.第3の実施の形態
伝達関数に基づいて溶接ビードの状態を判定する例
5.第3の実施の形態の変形例
変形例A:溶接ビードの状態の判定方法の一変形例
変形例B:学習モードが省略されている例
変形例C:溶接電圧またはワイヤ送給速度が用いられる例
<1.第1の実施の形態>
図1は、本発明の第1の実施の形態に係るアーク溶接監視システムを備えた溶接ロボットシステム1の概略構成の一例を表したものである。図2は、図1の溶接ロボットシステム1の、学習モードにおける機能ブロックの一例を表したものである。溶接ロボットシステム1は、学習モードおよび解析モードの、2つのモードを備えている。
溶接ロボットシステム1は、最初に学習モードにおいて同一の設定条件でアーク溶接を複数回(N回)行ってアークの特徴を捉えるようになっている。溶接ロボットシステム1は、その後に学習モードから解析モードに切り替えて、学習モードのときと同一の設定条件でアーク溶接を行い、学習モードで得られたアークの特徴と、解析モードで得られたアークの特徴とを対比することにより、形成された溶接ビードの状態を判定するようになっている。なお、設定条件とは、溶接ビードを形成する際の設定条件を指している。
つまり、「学習モード」とは、解析モードで溶接ビードを形成する際の設定条件と同一の設定条件で複数回、アーク溶接を実施することにより、解析モードで形成される溶接ビードの状態を判定する際の所定の判定基準を作成するモードを指している。また、「解析モード」とは、学習モードで取得した所定の判定基準を用いて、解析モードで形成された溶接ビードの状態を判定するモードを指している。以下では、最初に、学習モードと関連する構成を中心に説明し、その後に、解析モードと関連する構成について説明するものとする。
[学習モードにおける構成]
溶接ロボットシステム1は、プログラム制御された多関節ロボットによってワークWにアーク溶接を行うものである。溶接ロボットシステム1は、マニピュレータ10と、ロボット制御装置20と、ティーチペンダント30と、溶接機40とを備えている。ロボット制御装置20、ティーチペンダント30および溶接機40からなるシステムが、本発明の「アーク溶接監視システム」の一具体例に相当する。なお、ロボット制御装置20およびティーチペンダント30は、互いに一体に構成されていてもよいし、図1に示したように互いに別体で構成されていてもよい。
溶接ロボットシステム1は、例えば、ロボット制御装置20と各種装置とを互いに接続するケーブルL1〜L6を備えている。ケーブルL1は、ロボット制御装置20とマニピュレータ10との間で通信するための通信ケーブルであり、ロボット制御装置20およびマニピュレータ10に接続されている。ケーブルL2は、ロボット制御装置20とティーチペンダント30との間で通信するための通信ケーブルであり、ロボット制御装置20およびティーチペンダント30に接続されている。ケーブルL3は、ロボット制御装置20と溶接機40との間で通信するための通信ケーブルであり、ロボット制御装置20および溶接機40に接続されている。ケーブルL4は、溶接機40と後述のワイヤ送給装置14との間で通信するための通信ケーブルであり、溶接機40およびワイヤ送給装置14に接続されている。ケーブルL5,L6は、後述の溶接ワイヤ14とワークWとの間に高電圧の溶接電圧Vsを供給するための電源ケーブルである。ケーブルL5は、溶接機40および後述の作業台15に接続されており、ケーブルL6は、溶接機40および後述の溶接トーチ13に接続されている。
(マニピュレータ10)
マニピュレータ10は、ロボット制御装置20、ティーチペンダント30および溶接機40による制御によってワークWにアーク溶接を行うものである。マニピュレータ10は、フロア等に固定されるベース部材11と、ベース部材11上に設けられた多関節アーム部12と、多関節アーム部12の先端に連結された溶接トーチ13と、多関節アーム部12等に固定されたワイヤ送給装置14と、作業台15とを有している。
多関節アーム部12は、例えば、複数のアーム12Aと、2つのアーム12A同士を回動可能に連結する関節軸(図示せず)とを有している。多関節アーム部12は、さらに、例えば、アーム12Aごとに1つずつ設けられ、対応するアーム12Aを駆動する複数の駆動モータ(図示せず)と、各駆動モータに連結され、各アーム12Aの現在位置を検出するエンコーダ(図示せず)とを有している。各駆動モータは、ケーブルL1を介してロボット制御装置20から入力される制御信号によって駆動される。このようにして各駆動モータが駆動されることにより、各アーム12Aが変位し、結果的に溶接トーチ13が上下前後左右に移動する。エンコーダは、検出した各アーム12Aの現在位置(以下、「位置情報」と称する。)を、ケーブルL1を介してロボット制御装置20に出力するようになっている。
多関節アーム部12の一端(先端)が溶接トーチ13に連結されており、多関節アーム部12の他端がベース部材11に連結されている。溶接トーチ13の先端には、溶加材としての溶接ワイヤ14が露出している。溶接トーチ13は、溶接ワイヤ14の先端とワークWとの間にアークを発生させ、そのアークの熱で溶接ワイヤ14およびワークWを溶融させることにより、ワークWに対してアーク溶接を行うものである。溶接トーチ13は、ケーブルL4に電気的に接続されたコンタクトチップ(図示せず)を有している。コンタクトチップは、ケーブルL4から供給される溶接電圧Vsを溶接ワイヤ14に供給するように構成されている。
ワイヤ送給装置14は、溶接ワイヤ14を溶接トーチ13に供給するものである。ワイヤ送給装置14は、例えば、溶接ワイヤ14を保持すると共に送給可能に構成された一対のロール(図示せず)と、一方のロールを回転駆動するモータ(図示せず)とを有している。一対のロールは、溶接ワイヤ14を挟み込むと共に、上記モータによる回転駆動で発生する摩擦力で溶接ワイヤ14をワイヤリール(図示せず)から引っ張り出すように構成されている。上記モータは、例えば、エンコーダ付きサーボモータで構成されている。上記モータは、ケーブルL4を介して溶接機40から入力される制御信号によって駆動される。上記モータは、例えば、上記エンコーダからフィードバックされるパルスを、ケーブルL4を介して溶接機40に出力するように構成されている。このパルスは、溶接ワイヤ14の送給速度の算出に好適に利用可能である。なお、上記モータは、上記のパルスに代わる何らかの信号を生成し、出力するようになっていてもよい。
作業台15は、フロア等に固定されており、ワークWを設置する台座として使用される。作業台15は、ワークWに対するトーチ姿勢を最適に維持するためのポジショナであってもよい。作業台15が上述のポジショナである場合には、ロボット制御装置20によってポジショナの軸が駆動制御される。作業台15は、ケーブルL5を介して溶接機40に接続されており、作業台15に設置されるワークWとケーブルL5とを互いに電気的に接続するように構成されている。
(ロボット制御装置20)
図3は、ロボット制御装置20の概略構成の一例を表したものである。ロボット制御装置20は、ティーチペンダント30からの指示に従って多関節アーム部12および溶接機40を制御するものである。ロボット制御装置20は、さらに、溶接ワイヤ14の先端とワークWとの間にアークを発生させることにより形成される溶接ビードの品質を判定するようにもなっている。ロボット制御装置20は、制御部21と、サーボ制御部22と、通信部23と、記憶部24とを有している。以下では、記憶部24、サーボ制御部22、通信部23、制御部21の順に説明する。
記憶部24は、各種プログラムや各種データファイルを記憶可能となっている。記憶部24は、多関節アーム12の動作を制御する制御プログラム22Aを記憶している。制御プログラム22Aは、例えば、ROM(read only memory)に格納されている。記憶部24は、さらに、マニピュレータ10の溶接作業の手順が教示された1または複数の作業プログラム22Bと、溶接ビードの品質を判定するアーク溶接監視プログラム22Cと、各種設定値が記述された設定ファイル22Dとを記憶している。1または複数の作業プログラム22B、アーク溶接監視プログラム22Cおよび設定ファイル22Dは、例えば、ハードディスクに格納されている。設定ファイル22Dには、例えば、溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfのそれぞれの設定値が記述されている。アーク溶接監視プログラム22Cについては、後に詳述するものとする。
記憶部24は、さらに、アーク溶接監視プログラム22Cが実行されることにより生成される各種データを記憶可能となっている。そのようなデータを含むファイルとしては、例えば、計測ファイル22E、周波数特性ファイル22Fおよびクラスタファイル22Gが挙げられる。計測ファイル22Eには、例えば、溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfのそれぞれの計測値が記述される。周波数特性ファイル22Fには、例えば、後述の周波数解析部215によって生成される複数の周波数特性が記述される。複数の周波数特性としては、例えば、溶接電流IsのパワースペクトルXa2が挙げられる。クラスタファイル22Gには、例えば、後述のクラスタ分割部216によって生成される、各クラスタの中心値Fkおよび最大距離Tkが記述される。これらのファイルは、例えば、RAM(Random Access Memory)に格納される。周波数特性ファイル22Fおよびクラスタファイル22Gについては、後に詳述するものとする。
サーボ制御部22は、マニピュレータ10の各駆動モータを制御するものである。サーボ制御部22は、作業プログラム22Bに記載の移動命令と、マニピュレータ10のエンコーダからの位置情報とに基づいて、マニピュレータ10の各駆動モータを制御するようになっている。移動命令には、例えば、移動開始命令、移動停止命令、作業経路(教示点)、およびトーチ姿勢などが含まれ得る。また、サーボ制御部22は、マニピュレータ10のエンコーダからの位置情報に基づいて溶接トーチ13先端の位置情報Pfや溶接速度を導出(計測)するようになっている。サーボ制御部22は、位置情報Pfや溶接速度を制御部21に出力するようになっている。
通信部23は、ケーブルL2を介してティーチペンダント30と通信を行ったり、ケーブルL3を介して溶接機40と通信を行ったりするものである。通信部23は、ティーチペンダント30からの作業指令を受信して、制御部21に出力するようになっている。作業指令には、例えば、作業者が選択した作業プログラム22Bの番号などが含まれ得る。
通信部23は、制御部21からの溶接命令を、溶接機40に送信するようになっている。溶接命令には、例えば、アーク溶接の開始命令、アーク溶接の終了命令、溶接電流Isの設定値、溶接電圧Vsの設定値、ワイヤ送給の開始命令、ワイヤ送給の停止命令、およびワイヤ送給速度Vfの設定値などが含まれ得る。通信部23は、溶接機40からの各種計測値を受信して、記憶部24に出力するようになっている。各種計測値には、例えば、溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfの計測値が含まれ得る。通信部23は、溶接機40からの通知情報を受信して、制御部21に出力するようになっている。通知情報には、例えば、アーク発生通知などが含まれ得る。
制御部21は、ティーチペンダント30から入力された作業指令に基づいて、作業プログラム22Bやアーク溶接監視プログラム22Cを読み出し、その内容を解析する解析部211を有している(図2参照)。解析部211は、解析部211での解析結果に基づいて、これらのプログラムに記載の指示に対応する命令通知を生成するようになっている。制御部21は、解析部211で生成された命令通知の内容に応じて、移動命令や溶接命令を出力する実行部212を有している(図2参照)。
制御部21は、実行部212で生成された溶接命令を、通信部23を介して溶接機40に出力する溶接制御部213を有している(図2参照)。溶接制御部213は、例えば、実行部212で溶接命令が生成されると、溶接トーチ13先端の軌道記録を開始する通知(軌道記録開始通知)を生成するようになっている。また、溶接制御部213は、例えば、溶接トーチ13先端の移動距離Δdistに応じて、溶接トーチ13先端の軌道記録を終了する通知(軌道記録終了通知)を生成するようになっている。移動距離Δdistは、後述の軌道記録部214(図2参照)によって導出される。
制御部21は、溶接制御部213からの軌道記録開始通知に従って、溶接トーチ13先端の軌道記録を開始する軌道記録部214を有している(図2参照)。軌道記録部214は、溶接区間WSにおける溶接トーチ13先端の位置情報Pfを、単位時間ΔTごとに記録するとともに、溶接トーチ13先端の移動距離Δdistを単位時間ΔTごとに算出し、記録するようになっている。移動距離Δdistは、例えば、最新の位置情報Pfと、単位時間ΔT前の位置情報Pfとの差分を取ることにより得られる。軌道記録部214は、さらに、単位時間ΔTごとに周波数解析開始指令Osを出力するようになっている。軌道記録部214は、周波数解析開始指令Osを、後述する軌道mの番号(軌道番号Mnum)と、軌道mの移動距離Δdistとを付加して出力するようになっている。
ここで、溶接区間WS、単位時間ΔT、周波数解析開始指令Osおよび軌道mについて説明する。図4Aは、溶接ロボットシステム1を用いたアーク溶接の様子の一例を表したものである。図4Bは、溶接区間WSを複数(M個)の軌道m(1≦m≦M)に区分けしたときの、各軌道m、単位時間ΔTおよび周波数解析開始指令Osのそれぞれの関係の一例を表したものである。図4Aには、ワークWとして、2枚の母材110が互いに直交するように、2枚の母材110の端部同士が互いに接触しているものが示されている。図4Aでは、いわゆるすみ肉溶接の様子が例示されている。なお、溶接ロボットシステム1は、用途がすみ肉溶接に限定されるものではなく、他の方式の溶接に用いることが可能である。
溶接区間WSとは、アーク溶接開始からアーク溶接終了までの溶接線の区間を示したものである。溶接ビード120は、溶接区間WSの全体または一部に形成される。溶接区間WSはM個の軌道mに分割されており、溶接トーチ13の先端が各軌道mを移動するのに要する時間が単位時間ΔTとなっている。軌道記録部214は、溶接トーチ13の先端が新たな軌道mに移るタイミングで周波数解析開始指令Osを出力するようになっている。つまり、軌道記録部214は、周波数解析開始指令Osを、単位時間ΔT前から現時点まで溶接トーチ13の先端が移動してきた軌道mの番号(軌道番号Mnum)と、その軌道mの移動距離Δdistとを付加して出力するようになっている。なお、図4B中のΔtについては、後述の周波数解析部215の説明と併せて詳述するものとする。
制御部21は、周波数解析開始指令Osに従って周波数解析を行う周波数解析部215を有している(図2参照)。周波数解析部215が、本発明の「導出部」の一具体例に相当する。周波数解析部215は、周波数解析開始指令Osを受けると、単位時間ΔT前から現時点まで溶接トーチ13の先端が移動してきた軌道mにおける、単位時間Δt分の溶接電流Isの計測値を、記憶部24の計測ファイル22Eから取得するようになっている。ここで、計測ファイル22Eには、サンプリング周波数Δfsで計測することにより得られた溶接電流Isが記述されている。従って、周波数解析部215は、周波数解析開始指令Osを受けると、単位時間Δtの間に得られたsmpl個の溶接電流Isの計測値を、記憶部24の計測ファイル22Eから取得するようになっている。周波数解析部215は、学習モードにおいて、溶接区間WSに対してアーク溶接を行うごとに、各軌道mにおける単位時間Δt分の溶接電流Isの計測値を、記憶部24の計測ファイル22Eから取得するようになっている。単位時間Δtが、本発明の「単位時間」の一具体例に相当する。
周波数解析部215は、さらに、記憶部24の計測ファイル22Eから取得した溶接電流Isの計測値を用いて、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部215は、学習モードにおいて、軌道mごとに、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部215は、さらに、学習モードにおいて、溶接区間WSに対してアーク溶接を行うごとに、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。
周波数解析部215は、各軌道mにおける上記周波数特性を導出するたびに、導出した上記周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(Fnum)(1≦Fnum≦N)へ記録するようになっている。ここで、周波数特性ファイル22F(Fnum)における「Fnum」は、学習モードにおけるアーク溶接回数に対応している。つまり、周波数解析部215は、学習モードにおいて溶接区間WSに対してアーク溶接を行うたびに、周波数特性ファイル22F(Fnum)を生成し、生成した周波数特性ファイル22F(Fnum)に、軌道番号Mnumと関連づけられた上記周波数特性を記録するようになっている。
単位時間Δtは、例えば、アーク溶接の状態変移が起こる周期よりも長くなっている。アーク溶接の状態には、例えば、短絡、アークおよび溶滴移行がある。アーク溶接の状態変移とは、例えば、上で例示した状態の間を変移することを指している。アーク溶接の状態変移は、例えばμsオーダで起こる。従って、単位時間Δtがアーク溶接の状態変移が起こる周期よりも長くなっている場合には、単位時間Δtに得られる溶接電流Isの周波数特性には、アーク溶接の各状態に対応する周波数特性が含まれ得る。単位時間Δtは、アーク溶接の状態変移が起こる周期よりも短くなっていてもよい。この場合には、単位時間Δtの期間に得られる溶接電流Isの周波数特性には、例えば、アーク溶接の1つの状態(例えば、短絡、アーク、または溶滴移行)に対応する周波数特性だけが含まれ得る。
図5、図6は、N回の学習を実施することにより得られる周波数特性ファイル22Fの一例を表したものである。周波数特性ファイル22Fは、複数(N個)の周波数特性ファイル22F(1)〜22F(N)で構成されている。各周波数特性ファイル22F(Fnum)には、溶接電流Isの周波数特性として、溶接電流IsのパワースペクトルXa2が記述されている。各周波数特性ファイル22F(Fnum)において、溶接電流IsのパワースペクトルXa2は、軌道番号Mnumと関連づけて記述されている。各軌道番号Mnumは、例えば、ファイルの中に1行ごとに1つずつ記述されており、溶接電流IsのパワースペクトルXa2が、対応する軌道番号Mnumの行と同一の行に並んで記述されている。
周波数特性ファイル22F(Fnum)において、溶接電流IsのパワースペクトルXa2は、例えば、1Hz以上Δf/2Hz以下の範囲において1Hz刻みで記述されていることが好ましい。これは、Δf/2Hzよりも大きな周波数では、溶接電流IsのパワースペクトルXa2にエイリアシングが発生しているためである。なお、例えば、図6に示したように、溶接電流IsのパワースペクトルXa2が、軌道番号Mnumだけでなく、溶接トーチ13先端の移動距離Δdistとも関連づけて記述されていてもよい。このとき、溶接電流IsのパワースペクトルXa2および移動距離Δdistが、対応する軌道番号Mnumの行と同一の行に並んで記述されている。
周波数解析部215は、周波数特性ファイル22Fの作成が完了すると、周波数特性ファイル22Fからクラスタファイル22Gを生成する指令(クラスタ分割指令)を生成するようになっている。
図7は、クラスタファイル22Gの一例を概念的に表したものである。クラスタファイル22Gは、複数(M個)のクラスタファイル22G(1)〜22G(M)で構成されている。制御部21は、周波数解析部215からのクラスタ分割指令に従って周波数特性ファイル22Fからクラスタファイル22Gを生成するクラスタ分割部216を有している(図2参照)。クラスタ分割部216は、クラスタ分割指令を受けると、各周波数特性ファイル22F(1)〜22F(N)に含まれる複数の周波数特性を、軌道mごとに分類するようになっている。このとき、軌道mごとに、N個の周波数特性が存在している。クラスタ分割部216は、軌道mごとに分けられたN個の周波数特性を、周波数およびパワーの観点でK個のクラスタCk(1≦k≦K)に分類するようになっている。
クラスタ分割部216は、各クラスタCkにおいて、クラスタCkに含まれる1または複数の周波数特性の代表値を算出するようになっている。具体的には、クラスタ分割部216は、クラスタCkに含まれる1または複数の周波数特性の中心値Fk(1≦k≦K)および最大距離Tk(1≦k≦K)を算出するようになっている。クラスタ分割部216は、クラスタCkごとに算出した代表値(中心値Fkおよび最大距離Tk)を、軌道mごとにクラスタファイル22G(Mnum)へ記録するようになっている。
各クラスタCkの代表値によって規定される特定の範囲が、図7において、環状の破線で表現されている。つまり、各クラスタCkの代表値によって規定される特定の範囲が、本発明の「所定のパワースペクトラム領域」の一具体例に相当する。各クラスタCkの代表値によって規定される特定の範囲が、解析モードで形成される溶接ビードの状態を判定する際の判定基準となる。
制御部21は、通信部23を介して溶接機40と通信をすることにより、溶接機40と同期をとり、例えば、アーク溶接の開始や終了、溶接電圧Vsの設定、または、ワイヤ送給速度Vfの設定を指示するようになっている。また、制御部21は、溶接機40にワイヤ送給装置14の制御を指示し、溶接機40からワイヤ送給装置14に対して溶接ワイヤ14を、例えば、アーク溶接の開始や終了、または、溶接電圧Vs等の設定を指示するようになっている。
(ティーチペンダント30)
図8は、ティーチペンダント30の概略構成の一例を表したものである。ティーチペンダント30は、作業者がマニピュレータ10の動作を教示するものである。ティーチペンダント30は、例えば、制御部31、表示部32、入力部33、通信部34および記憶部35を有している。
表示部32は、映像信号に基づく映像を表示するものである。表示部32は、映像を表示する表示面を有する表示パネルと、映像信号に基づいて表示パネルを駆動する駆動部とを有している。入力部33は、作業者からの教示を受け付けるものである。入力部33は、例えば、複数のキーを有しており、各キーの操作に応じて入力信号を生成し、制御部31に出力するようになっている。通信部34は、ケーブルL2を介してロボット制御装置20と通信を行うものである。通信部34は、制御部31からの作業指令を、ロボット制御装置20に送信するようになっている。記憶部35は、各種のモードで種々の表示や作業指示を可能にする教示プログラム35Aを記憶する。教示プログラム35Aは、例えば、ROMに格納されている。
制御部31は、映像信号を生成し、表示部32に出力すると共に、必要に応じて作業指令を生成し、通信部34に出力するものである。制御部31は、読み出した教示プログラム35Aに従って映像信号を生成したり、必要に応じて作業指令を生成したりするようになっている。例えば、入力部33から入力された入力信号が、加工作業を実施する再生モードの選択信号であった場合、制御部31は、教示プログラム35Aに従って、記憶部24に格納されている1または複数の作業プログラム22Bのリストを表示するための映像信号を生成するようになっている。さらに、例えば、再生モードが選択されている場合に、再生する1つの作業プログラム22Bが選択されたときには、制御部31は、教示プログラム35Aに従って、再生する作業プログラム22Bの番号等を含む作業指令を生成するようになっている。さらに、例えば、再生モードが選択されている場合に、学習モードもしくは解析モードが選択された場合には、制御部31は、教示プログラム35Aに従って、学習モードもしくは解析モードの起動指令を含む作業指令を生成するようになっている。
(溶接機40)
図9は、溶接機40の概略構成の一例を表したものである。溶接機40は、ロボット制御装置20による制御に基づいて、溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vf等を緻密に制御することにより、溶接ワイヤ14の先端とワークWとの間にアークを発生させるものである。溶接機40は、制御部41、通信部42、溶接制御部43、溶接電源44、電流・電圧計測部45および記憶部46を有している。
記憶部46は、溶接制御部43および溶接電源44の動作を制御する制御プログラム46Aを記憶している。制御プログラム46Aは、例えば、ROMに格納されている。制御部41は、溶接機40の各部を制御すると共に、読み出した制御プログラム46Aに従って、溶接制御部43および溶接電源44の動作を制御するものである。制御部41は、電流・電圧計測部45から取得したモニタ情報(例えば、各種計測値、または、アーク発生通知などの通知情報)を、通信部42に出力するようになっている。通信部42は、ケーブルL3を介してロボット制御装置20と通信を行うものである。通信部42は、ロボット制御装置20からの溶接指令を受信し、制御部41に出力するようになっている。通信部42は、制御部41からのモニタ情報(例えば、各種計測値または通知情報)をロボット制御装置20に出力するようになっている。
溶接制御部43は、制御プログラム46Aと、ロボット制御装置20からの溶接命令とに基づく制御部41からの指示に従って、ワイヤ送給装置14の動作を制御するものである。ロボット制御装置20からの溶接命令には、例えば、ワイヤ送給の開始命令、ワイヤ送給の停止命令、およびワイヤ送給速度Vfの設定値などが含まれ得る。また、溶接制御部43は、ワイヤ送給装置14のモータから出力されたパルス(または、上記のパルスの代わる何らかの信号)に基づいて、ワイヤ送給速度Vfを計測するようになっている。溶接制御部43は、ワイヤ送給速度Vfの計測値を制御部41に出力するようになっている。
溶接電源44は、例えば、デジタルインバータ回路を有しており、外部から入力される商用電源(例えば3相200V)をインバータ制御回路によって高速応答で精密な溶接電流波形制御を行うようになっている。すなわち、溶接電源44は、ケーブルL5,L6を介して溶接トーチ13とワークWとの間に高電圧の溶接電圧Vsを供給するようになっている。溶接電源44は、制御プログラム46Aと、ロボット制御装置20からの溶接命令に従って、溶接電流Isおよび溶接電圧Vsを制御するものである。ロボット制御装置20からの溶接命令には、例えば、アーク溶接の開始命令、アーク溶接の終了命令、溶接電流Isの設定値、溶接電圧Vsの設定値などが含まれ得る。
電流・電圧計測部45は、溶接トーチ13とワークWとの間に流れる溶接電流Isや、溶接トーチ13とワークWとの間の溶接電圧Vsを計測するものである。電流・電圧計測部45は、サンプリング周波数Δfsで、溶接電流Isおよび溶接電圧Vsを計測し、溶接電流Isおよび溶接電圧Vsのそれぞれの計測値(各種計測値)を制御部41に出力するようになっている。電流・電圧計測部45は、さらに、溶接電流Isおよび溶接電圧Vsの計測値から、アーク発生の有無を判定するようになっている。電流・電圧計測部45は、アークが発生した場合には、アーク発生通知を生成し、制御部41に出力するようになっている。
[学習モードにおける動作手順]
次に、学習モードにおける動作手順について説明する。以下では、学習モードにおける動作手順として、軌道記録部214、周波数解析部215およびクラスタ分割部216のそれぞれの動作手順の一例を説明する。
(軌道記録部214の動作手順)
図10は、学習モードにおける軌道記録部214の動作手順の一例を表したものである。まず、軌道記録部214は、溶接区間WSが開始されたか判定する(ステップS101)。具体的には、軌道記録部214は、例えば、溶接命令が生成されたか否かで、溶接区間WSが開始されたか判定する。軌道記録部214は、例えば、溶接命令を検知すると、軌道番号Mnumを1に設定する(ステップS102)。次に、軌道記録部214は、軌道記録開始通知が生成されたか判定する(ステップS103)。軌道記録部214は、軌道記録開始通知を検知すると、単位時間ΔT前の位置情報prePosiに、溶接区間WS開始時の位置情報Pfを書き込む(ステップS104)。
軌道記録部214は、軌道記録終了通知が生成されたか判定する(ステップS105)。軌道記録部214は、軌道記録終了通知を検知すると、軌道記録を停止するとともに、周波数解析終了指令を生成し、出力する(ステップS106)。軌道記録部214は、軌道記録終了通知が検知されない間は、軌道番号Mnumに対応する軌道mが開始されてから単位時間ΔTが経過したか判定し続ける(ステップS107)。一方、軌道記録部214は、軌道番号Mnumに対応する軌道mが開始されてから単位時間ΔTが経過した場合には、最新の位置情報newPosiに、軌道番号Mnumに対応する軌道mが開始されてから単位時間ΔTが経過したときの位置情報Ptを書き込む(ステップS108)。軌道記録部214は、位置情報newPosiから位置情報prePosiを減算することにより得られた値を、移動距離Δdistに書き込んだ後(ステップS109)、周波数解析開始指令を出力する(ステップS110)。そして、最後に、軌道記録部214は、位置情報prePosiに、位置情報newPosiを書き込むとともに、軌道番号Mnumに1を加え(ステップS111)、ステップS105に戻る。
(周波数解析部215の動作手順)
図11は、学習モードにおける周波数解析部215の動作手順の一例を表したものである。まず、周波数解析部215は、周波数特性ファイル22F(Fnum)のファイル番号Fnumを1にしておく(ステップS201)。周波数解析部215は、周波数解析開始指令Osが生成されたか判定する(ステップS202)。周波数解析部215は、周波数解析開始指令Osを検知すると、計測ファイル22Eから、単位時間Δtの間(smpl個)の溶接電流Isの計測値を取得する(ステップS203)。周波数解析部215は、周波数解析開始指令を検知しなかった場合は、周波数解析終了指令が生成されたか判定する(ステップS208)。周波数解析部215は、周波数解析終了指令を検知しなかった場合は、再び、ステップS202に戻る。
周波数解析部215は、ステップS203を実行した後、窓関数により、溶接電流Isの波形を整形する(ステップS204)。窓関数には、例えば、ハミング窓などの公知のアルゴリズムが用いられる。周波数解析部215は、波形整形がなされた溶接電流Isに対して高速フーリエ変換FFTを行い、溶接電流Isの振幅スペクトルXaを導出し(ステップS205)、さらに2乗して、溶接電流IsのパワースペクトルXa2を導出する(ステップS206)。このとき、周波数解析部215は、溶接電流IsのパワースペクトルXa2を、軌道番号Mnumと関連づける。
周波数解析部215は、周波数解析終了指令を検知した場合は、周波数特性ファイル22F(Fnum)を開き(ステップS209)、軌道番号Mnumと関連づけた溶接電流IsのパワースペクトルXa2を周波数特性ファイル22F(Fnum)に書き込む(ステップS210)。その後、周波数解析部215は、周波数特性ファイル22F(Fnum)を閉じ(ステップS211)、ファイル番号Fnumに1を加える(ステップS212)。周波数解析部215は、ファイル番号Fnumが学習回数Nを超えたか判定する(ステップS213)。周波数解析部215は、ファイル番号Fnumが学習回数Nを超えていない場合には、ステップS202に戻り、ファイル番号Fnumが学習回数Nを超えている場合には、クラスタ分割指令を出力する(ステップS214)。
(クラスタ分割部216の動作手順)
図12は、学習モードにおけるクラスタ分割部216の動作手順の一例を表したものである。まず、クラスタ分割部216は、ファイル番号Fnumを1にするとともに、行番号Lineを1にする(ステップS301)。クラスタ分割部216は、クラスタ分割指令が生成されたか判定する(ステップS302)。クラスタ分割部216は、クラスタ分割指令を検知すると、行番号Lineが軌道番号Mを超えているか判定する(ステップS303)。クラスタ分割部216は、行番号LineがMを超えている場合には、クラスタ分割を終了し、行番号Lineが軌道番号Mを超えていない場合には、ファイル番号FnumがN以下となっているか判定する(ステップS304)。クラスタ分割部216は、ファイル番号FnumがN以下となっている場合には、周波数特性ファイル22F(Fnum)を読み込んだのち(ステップS305)、Line番目の行を読み込み(ステップS306)、周波数iを1にする(ステップS307)。
次に、クラスタ分割部216は、周波数iがΔf/2以下となっているか判定する(ステップS308)。クラスタ分割部216は、周波数iがΔf/2以下となっている場合には、Line番目の行における周波数iのパワースペクトルXa2を取得し(スペックS110)、周波数iと関連づける(ステップS111)。その後、クラスタ分割部216は、周波数iに1を加え(ステップS312)、ステップS308に戻る。クラスタ分割部216は、周波数iがΔf/2以下となっていない場合には、ファイル番号Fnumに1を加え(ステップS309)、ステップS304に戻る。
クラスタ分割部216は、ファイル番号FnumがN以下となっていない場合には、周波数iと関連づけた溶接電流IsのパワースペクトルXa2をK個のクラスタCk(Mnum)に分割する(ステップS313)。クラスタ分割には、例えば、k−means法などの公知のアルゴリズムが用いられる。クラスタ分割部216は、各クラスタCk(Mnum)において、クラスタCk(Mnum)の中心値Fkと最大距離Tkを導出し(ステップS314)、クラスタファイル22G(Mnum)に記録する。その後、クラスタ分割部216は、行番号Lineに1を加え(ステップS315)、ステップS303に戻る。
[解析モードにおける構成]
次に、解析モードにおける構成について説明する。
図13は、溶接ロボットシステム1の、解析モードにおける機能ブロックの一例を表したものである。溶接ロボットシステム1は、解析モードにおいては、学習モードにおける周波数解析部215およびクラスタ分割部216の代わりに、周波数解析部217およびクラスタ比較部218を備えている。クラスタ比較部218が、本発明の「判定部」の一具体例に相当する。そこで、以下では、学習モードと異なる内容について主に説明するものとし、学習モードと共通する内容については、適宜省略するものとする。
制御部21は、周波数解析開始指令Osに従って周波数解析を行う周波数解析部217を有している。周波数解析部217は、周波数解析開始指令Osを受けると、単位時間ΔT前から現時点まで溶接トーチ13の先端が移動してきた軌道mにおける、単位時間Δt分の溶接電流Isの計測値を、記憶部24の計測ファイル22Eから取得するようになっている。周波数解析部217は、各軌道mにおける単位時間Δt分の溶接電流Isの計測値を、記憶部24の計測ファイル22Eから取得するようになっている。ここで、解析モードにおいては、クラスタファイル22Gが既に存在しているので、アーク溶接を繰り返し行う必要はない。
周波数解析部217は、さらに、記憶部24の計測ファイル22Eから取得した溶接電流Isの計測値を用いて、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部217は、解析モードにおいて、溶接区間WSに対して行われるアーク溶接において、軌道mごとに、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部217は、各軌道mにおける上記周波数特性を導出するたびに、導出した上記周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(N+1)へ記録するようになっている。
図14は、解析モードにおいて得られる周波数特性ファイル22F(N+1)の一例を表したものである。周波数特性ファイル22F(N+1)には、溶接電流Isの周波数特性として、溶接電流IsのパワースペクトルXa2が記述されている。周波数特性ファイル22F(N+1)において、溶接電流IsのパワースペクトルXa2は、軌道番号Mnumと関連づけて記述されている。各軌道番号Mnumは、例えば、ファイルの中に1行ごとに1つずつ記述されており、溶接電流IsのパワースペクトルXa2が、対応する軌道番号Mnumの行と同一の行に並んで記述されている。
周波数特性ファイル22F(N+1)において、溶接電流IsのパワースペクトルXa2は、例えば、1Hz以上Δf/2Hz以下の範囲において1Hz刻みで記述されていることが好ましい。これは、Δf/2Hzよりも大きな周波数では、溶接電流IsのパワースペクトルXa2にエイリアシングが発生しているためである。なお、例えば、図示しないが、溶接電流IsのパワースペクトルXa2が、軌道番号Mnumだけでなく、溶接トーチ13先端の移動距離Δdistとも関連づけて記述されていてもよい。このとき、溶接電流IsのパワースペクトルXa2および移動距離Δdistが、対応する軌道番号Mnumの行と同一の行に並んで記述されている。
周波数解析部217は、周波数特性ファイル22F(N+1)の作成が完了すると、周波数特性ファイル22F(N+1)と、クラスタファイル22Gとを比較する指令(クラスタ比較指令)を生成するようになっている。
図15は、図14の溶接電流IsのパワースペクトルXa2と、図7の各クラスタCkの代表値で表現される範囲との関係の一例を表したものである。図15では、図14の溶接電流IsのパワースペクトルXa2が、全て、各クラスタCkの代表値で表現される範囲内に収まっている様子が例示されている。クラスタ比較部218は、周波数解析部217からのクラスタ比較指令に従って、形成された溶接ビードの状態を判定するようになっている。クラスタ比較部218は、周波数解析部217からのクラスタ比較指令を受けると、各軌道mにおいて、周波数解析部217で得られた周波数特性が周波数およびパワーの観点で各クラスタCkの代表値によって規定される1または複数の特定の範囲内に該当するか判定するようになっている。なお、「1または複数の特定の範囲」が、本発明の「所定のパワースペクトラム領域」の一具体例に相当する。具体的には、クラスタ比較部218は、周波数解析部217からのクラスタ比較指令を受けると、溶接電流IsのパワースペクトルXa2の座標が、各クラスタCkの代表値によって規定される1または複数の特定の範囲内に該当するか判定するようになっている。
クラスタ比較部218は、周波数解析部217で得られた周波数特性が上記「1または複数の特定の範囲」内に該当するときは、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態であると判定するようになっている。具体的には、クラスタ比較部218は、周波数解析部217で得られた溶接電流IsのパワースペクトルXa2の座標が、各クラスタCkの代表値によって規定される「1または複数の特定の範囲」内に該当するときは、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態であると判定するようになっている。ここで、「規定された状態」とは、例えば、溶接ビードにおける通常の状態(溶接異常のない状態)、通常の状態とは異なる状態、もしくは、異常状態などを指している。
なお、クラスタ比較部218は、周波数解析部217で得られた周波数特性のごく一部が上記「1または複数の特定の範囲」から外れている場合であっても、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態であると判定するようになっていてもよい。具体的には、クラスタ比較部218は、周波数解析部217で得られた溶接電流IsのパワースペクトルXa2の座標のごく一部が、各クラスタCkの代表値によって規定される1または複数の特定の範囲から外れている場合であっても、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態であると判定するようになっていてもよい。
クラスタ比較部218は、上記判定結果を、移動距離Δdistおよび軌道番号Mnumの少なくとも一方と関連付けて、監視情報として通信部23に出力するようになっている。
通信部23は、制御部21(クラスタ比較部218)からの監視情報を、ティーチペンダント30(通信部34)に送信するようになっている。監視情報には、例えば、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのそれぞれの計測値、溶接電流Isの周波数特性、移動距離Δdistおよび軌道番号Mnumの少なくとも一方、ならびに上述の判定結果などが含まれ得る。
ティーチペンダント30において、制御部31は、例えば、再生モードが選択されている場合に、通信部34から監視情報を取得したときには、取得した監視情報を表示するための映像信号を生成するようになっている。表示部32は、監視情報を表示するための映像信号に基づいて、例えば、溶接電流Isの周波数特性と、上述の判定結果とを表示するようになっている。
ティーチペンダント30において、入力部33は、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を調整可能な調整部33Aを有していてもよい(図16参照)。また、入力部33が調整部33Aを有している場合に、調整部33Aが、上述の判定結果に基づいて、溶接電流Isの周波数特性が所定の周波数特性となるように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整するようになっていてもよい。このとき、調整部33Aが、例えば、溶接電流Isの周波数特性の調整方針を示唆する1または複数のキーを有していてもよい。調整部33Aは、そのようなキーとして、例えば、「溶接時のアークがより硬くなる」ように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整することの可能なキーを有していてもよい。また、調整部33Aは、そのようなキーとして、例えば、「溶接時のアークがより柔らかくなる」ように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整することの可能なキーを有していてもよい。
[解析モードにおける動作手順]
次に、解析モードにおける動作手順について説明する。以下では、解析モードにおける動作手順として、周波数解析部217およびクラスタ比較部218のそれぞれの動作手順の一例を説明する。
(周波数解析部217の動作手順)
図17は、解析モードにおける周波数解析部217の動作手順の一例を表したものである。まず、周波数解析部217は、例えば、周波数特性ファイル22F(Fnum)のファイル番号FnumをN+1にしておく(ステップS401)。周波数解析部217は、周波数解析開始指令が生成されたか判定する(ステップS202)。周波数解析部217は、周波数解析開始指令を検知すると、計測ファイル22Eから、単位時間Δtの間(smpl個)の溶接電流Isの計測値を取得する(ステップS403)。周波数解析部217は、周波数解析開始指令を検知しなかった場合は、周波数解析終了指令が生成されたか判定する(ステップS408)。周波数解析部217は、周波数解析終了指令を検知しなかった場合は、再び、ステップS402に戻る。
周波数解析部217は、ステップS203を実行した後、窓関数により、溶接電流Isの波形を整形する(ステップS404)。窓関数には、例えば、ハミング窓などの公知のアルゴリズムが用いられる。周波数解析部217は、波形整形がなされた溶接電流Isに対して高速フーリエ変換FFTを行い、溶接電流Isの振幅スペクトルXaを導出し(ステップS405)、さらに2乗して、溶接電流IsのパワースペクトルXa2を導出する(ステップS406)。このとき、周波数解析部217は、溶接電流IsのパワースペクトルXa2を、軌道番号Mnumと関連づける(ステップS407)。
周波数解析部217は、周波数解析終了指令を検知した場合は、周波数特性ファイル22F(N+1)を開き(ステップS409)、軌道番号Mnumと関連づけた溶接電流IsのパワースペクトルXa2を周波数特性ファイル22F(N+1)に書き込む(ステップS410)。その後、周波数解析部217は、周波数特性ファイル22F(N+1)を閉じ(ステップS411)、クラスタ比較指令を出力する(ステップS412)。
(クラスタ比較部218の動作手順)
図18は、解析モードにおけるクラスタ比較部218の動作手順の一例を表したものである。まず、クラスタ比較部218は、ファイル番号FnumをN+1にするとともに、行番号Lineを1にする(ステップS501)。クラスタ比較部218は、クラスタ比較指令が生成されたか判定する(ステップS502)。クラスタ比較部218は、クラスタ比較指令を検知すると、行番号Lineが軌道番号Mを超えているか判定する(ステップS503)。クラスタ比較部218は、行番号LineがMを超えている場合には、クラスタ比較を終了する。クラスタ比較部218は、行番号Lineが軌道番号Mを超えていない場合には、周波数特性ファイル22F(N+1)から、軌道番号Mnumに対応させた電流値IsのパワースペクトルXa2を取得する(ステップS504)。クラスタ比較部218は、クラスタファイル22Gから、クラスタCk(Mnum)の中心値Fk(Mnum)と最大距離Tk(Mnum)を読み込む(ステップS505)。その後、クラスタ比較部218は、周波数iを1にすると共に、異常数Ecntを0にする(ステップS506)。
次に、クラスタ比較部218は、周波数iがΔf/2以下となっているか判定する(ステップS507)。クラスタ比較部218は、周波数iがΔf/2以下となっている場合には、中心値Fk(Mnum)の座標から、Line番目の行における周波数iの電流値IsのパワースペクトルXa2の座標までの距離Ta(Mnum)を導出する(ステップS509)。クラスタ比較部218は、距離Taが最大距離Tk(Mnum)よりも小さいか判定する(ステップS510)。クラスタ比較部218は、距離Taが最大距離Tk(Mnum)よりも小さい場合には、周波数iに1を加え(ステップS511)、ステップS507に戻る。クラスタ比較部218は、距離Taが最大距離Tk(Mnum)よりも小さくない場合には、異常数Ecntに1を加える(ステップS512)。クラスタ比較部218は、異常数Ecntがしきい値E以上となっているか判定する(ステップS513)。クラスタ比較部218は、異常数Ecntがしきい値E以上となっていない場合には、ステップS511に移行し、異常数Ecntがしきい値E以上となっている場合には、異常信号を出力し(ステップS514)、クラスタ比較を終了する。
[効果]
次に、溶接ロボットシステム1におけるアーク溶接監視システムの効果について説明する。
従来から、溶接不良をより正確に検出する技術として、例えば、上記の特許文献1,2が提案されている。特許文献1では、アーク溶接中に計測される溶接電圧が設定電圧しきい値以上であった場合であって、かつ、溶接電流が設定電流範囲外にあるときに、溶接異常が発生したことを知らせる技術が提案されている。特許文献2では、アーク溶接中の溶接電流および溶接電圧に異常があるときに、異常と判定された箇所をロボットの動作軌跡と関連づけてディスプレイ上に表示する技術が提案されている。
上記の特許文献1,2に記載の発明では、溶接異常の判定に溶接電圧や溶接電流のしきい値が使われている。そのため、例えば、溶接電圧や溶接電流が、設定されたしきい値を超えない範囲内でアーク放電が伸び縮みして不安定になることに起因して起こる溶接の状態変化が見逃される可能性がある。また、例えば、普段とアーク放電の状態が異なることに起因して起こる溶接の状態変化が見逃される可能性がある。見逃された状態変化が、実際には溶接異常に該当する可能性もあり、その場合には、ユーザは溶接異常を見逃しかねない。
一方、本実施の形態では、溶接電流Isの計測値の単位時間Δtあたりの周波数特性(電流値IsのパワースペクトルXa2)が導出される。溶接電流Isの変化は、振幅の経時変化の中に現れる。そのため、特定の振幅値をしきい値に設定して、溶接の状態変化や溶接異常を判別することは容易ではない。一方で、溶接の状態変化や溶接異常の疑いのある変化が溶接電流Isに起こっている場合には、その変化は、比較的はっきりと周波数特性(電流値IsのパワースペクトルXa2)の中に表れ得る。
そこで、本実施の形態では、導出した周波数特性(電流値IsのパワースペクトルXa2)が各クラスタCkの代表値によって規定される特定の範囲(所定のパワースペクトラム領域)内に該当するかが判定される。これにより、溶接電圧Isや溶接電流Ivを監視しているだけでは見逃される可能性のある溶接の状態変化や溶接異常についても検出することが可能である。その結果、例えば、スパッタの増加や、溶着量の不足などの異常も検出することが可能である。
また、本実施の形態において、入力部33に調整部33Aが設けられている場合には、作業者は、例えば、表示部32に表示される溶接電流Isの周波数特性と、上述の判定結果とを見ながら、入力部33のキーから、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を調整することができる。これにより、作業者は、溶接電流Isの周波数特性を調整することができるので、溶接の状態を調整することができる。
また、本実施の形態において、調整部33Aが、上述の判定結果に基づいて、溶接電流Isの周波数特性が所定の周波数特性となるように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整するようになっている場合には、作業者がアーク溶接に熟練していなくても、溶接の状態を調整することができる。
<2.第2の実施の形態>
[構成]
図19は、本発明の第2の実施の形態に係るアーク溶接監視システムを備えた溶接ロボットシステム2の機能ブロックの一例を表したものである。溶接ロボットシステム2は、上述の学習モードを備えておらず、上述の解析モードを備えている点で、溶接ロボットシステム1の構成と相違する。そこで、以下では、上記実施の形態と異なる内容について主に説明するものとし、上記実施の形態と共通する内容については、適宜省略するものとする。
溶接ロボットシステム2は、溶接ロボットシステム1の解析モードにおける構成(図13参照)において、クラスタ比較部218およびクラスタファイル22Gを省略したものか、もしくは、クラスタ比較部218およびクラスタファイル22Gを使用しないものに相当する。
本実施の形態では、周波数解析部217は、記憶部24の計測ファイル22Eから取得した溶接電流Isの計測値を用いて、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部217は、溶接区間WSに対して行われるアーク溶接において、各軌道mにおける、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部217は、各軌道mにおける上記周波数特性を導出するたびに、導出した上記周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(N+1)へ記録するようになっている。
周波数解析部217は、周波数特性ファイル22F(N+1)の作成が完了すると、周波数特性ファイル22F(N+1)に含まれる複数の周波数特性などを、監視情報として通信部23に出力するようになっている。監視情報には、例えば、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのそれぞれの計測値、溶接電流Isの周波数特性、ならびに移動距離Δdistおよび軌道番号Mnumの少なくとも一方などが含まれ得る。
通信部23は、制御部21(周波数解析部217)からの監視情報を、ティーチペンダント30(通信部34)に送信するようになっている。ティーチペンダント30において、制御部31は、例えば、再生モードが選択されている場合に、通信部34から監視情報を取得したときには、取得した監視情報を表示するための映像信号を生成するようになっている。表示部32は、監視情報を表示するための映像信号に基づいて、例えば、溶接電流Isの周波数特性を表示するようになっている。
ティーチペンダント30において、入力部33は、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を調整可能な調整部33Aを有していてもよい(図18参照)。また、入力部33が調整部33Aを有している場合に、調整部33Aが、上述の判定結果に基づいて、溶接電流Isの周波数特性が所定の周波数特性となるように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整するようになっていてもよい。このとき、調整部33Aが、例えば、溶接電流Isの周波数特性の調整方針を示唆する1または複数のキーを有していてもよい。調整部33Aは、そのようなキーとして、例えば、「溶接時のアークがより硬くなる」ように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整することの可能なキーを有していてもよい。また、調整部33Aは、そのようなキーとして、例えば、「溶接時のアークがより柔らかくなる」ように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整することの可能なキーを有していてもよい。
[効果]
本実施の形態では、溶接電流Isの計測値の単位時間Δtあたりの周波数特性(電流値IsのパワースペクトルXa2)が導出される。これにより、例えば、上記周波数特性を表示部32に表示させ、表示させた周波数特性をユーザが観察することによって、溶接の状態変化や溶接異常を見つけることが可能である。その結果、例えば、スパッタの増加や、溶着量の不足などの異常も検出することが可能である。
また、本実施の形態において、入力部33に調整部33Aが設けられている場合には、作業者は、例えば、表示部32に表示される溶接電流Isの周波数特性と、上述の判定結果とを見ながら、入力部33のキーから、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を調整することができる。これにより、作業者は、溶接電流Isの周波数特性を調整することができるので、溶接の状態を調整することができる。
また、本実施の形態において、調整部33Aが、上述の判定結果に基づいて、溶接電流Isの周波数特性が所定の周波数特性となるように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整するようになっている場合には、作業者がアーク溶接に熟練していなくても、溶接の状態を調整することができる。
<3.第1および第2の実施の形態に共通の変形例>
上記各実施の形態では、溶接電流Isの周波数特性が導出されていたが、溶接電圧Vsの周波数特性が導出されていてもよい。この場合、上記各実施の形態において、必要に応じて、「溶接電流Is」を「溶接電圧Vs」に読み替えるものとする。また、「溶接電流IsのパワースペクトルXa2」を「溶接電圧VsのパワースペクトルXv2」に読み替え、「溶接電流Isの振幅スペクトルXa」を「溶接電圧Vsの振幅スペクトルXv」に読み替えるものとする。
上記各実施の形態では、溶接電流Isの周波数特性が導出されていたが、ワイヤ送給速度Vfの周波数特性が導出されていてもよい。この場合、上記各実施の形態において、必要に応じて、「溶接電流Is」を「ワイヤ送給速度Vf」に読み替えるものとする。また、「溶接電流IsのパワースペクトルXa2」を「ワイヤ送給速度VfのパワースペクトルXs2」に読み替え、「溶接電流Isの振幅スペクトルXa」を「ワイヤ送給速度Vfの振幅スペクトルXs」に読み替えるものとする。
上記各実施の形態では、溶接電流Isの周波数特性が導出されていたが、溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfのうちの少なくとも1つの周波数特性が導出されていてもよい。この場合、上記各実施の形態において、必要に応じて、「溶接電流Is」を「溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfのうちの少なくとも1つ」に読み替えるものとする。また、「溶接電流IsのパワースペクトルXa2」を「溶接電流Is、溶接電圧Vsおよびワイヤ送給速度VfのパワースペクトルXa2,Xv2,Xs2のうちの少なくとも1つ」に読み替えるものとする。また、「溶接電流Isの振幅スペクトルXa」を「溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfの振幅スペクトルXa,Xv,Xsのうちの少なくとも1つ」に読み替えるものとする。
<4.第3の実施の形態>
次に、本発明の第3の実施の形態に係るアーク溶接監視システムを備えた溶接ロボットシステム3について説明する。本実施の形態の溶接ロボットシステム3は、上記第1の実施の形態の溶接ロボットシステム1において、計測値から得られた周波数特性の代わりに伝達関数を用いて、溶接ビードの状態を判定するようにしたものである。なお、以下では、上記第1の実施の形態と共通の構成要素に対しては、上記第1の実施の形態で付されていた符号と同一の符号が付される。また、上記第1の実施の形態と異なる構成要素の説明を主に行い、上記第1の実施の形態と共通の構成要素の説明については、適宜、省略するものとする。
図20は、溶接ロボットシステム3の、学習モードにおける機能ブロックの一例を表したものである。溶接ロボットシステム3は、学習モードおよび解析モードの、2つのモードを備えている。以下では、最初に、学習モードと関連する構成を中心に説明し、その後に、解析モードと関連する構成について説明するものとする。
[学習モードにおける構成]
溶接ロボットシステム3は、プログラム制御された多関節ロボットによってワークWにアーク溶接を行うものである。溶接ロボットシステム3は、マニピュレータ10と、ロボット制御装置20と、ティーチペンダント30と、溶接機40とを備えている。
ロボット制御装置20に設けられた記憶部24は、アーク溶接監視プログラム22Cが実行されることにより生成される各種データを記憶可能となっている。そのようなデータを含むファイルとしては、例えば、計測ファイル22E、周波数特性ファイル22Fおよびクラスタファイル22Gが挙げられる(図3参照)。本実施の形態では、周波数特性ファイル22Fには、例えば、後述の周波数解析部215によって生成される複数の伝達関数Gの周波数特性が記述される。
ロボット制御装置20の制御部21に設けられた周波数解析部215は、記憶部24の計測ファイル22Eから取得した溶接電流Isの計測値を用いて、溶接電流Isの計測値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部215は、学習モードにおいて、軌道mごとに、溶接電流Isの計測値の単位時間ΔtあたりのパワースペクトルXa12を導出するようになっている。周波数解析部215は、さらに、学習モードにおいて、溶接区間WSに対してアーク溶接を行うごとに、溶接電流Isの計測値の単位時間ΔtあたりのパワースペクトルXa12を導出するようになっている。
周波数解析部215は、さらに、設定ファイル22Dから取得した溶接電流Isの設定値を用いて、溶接電流Isの設定値の単位時間Δtあたりの周波数特性を導出するようになっている。周波数解析部215は、学習モードにおいて、軌道mごとに、溶接電流Isの設定値の単位時間ΔtあたりのパワースペクトルXa22を導出するようになっている。周波数解析部215は、さらに、学習モードにおいて、溶接区間WSに対してアーク溶接を行うごとに、溶接電流Isの設定値の単位時間ΔtあたりのパワースペクトルXa22を導出するようになっている。
周波数解析部215は、溶接電流Isの設定値(制御波形)を入力信号とし、溶接電流Isの計測値(観測波形)を出力信号としたときのシステムの伝達関数Gを軌道mごとに導出し、導出した伝達関数Gの周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(Fnum)(1≦Fnum≦N)へ記録するようになっている。周波数解析部215は、導出した伝達関数Gの周波数特性を、応答モデルとして周波数特性ファイル22F(Fnum)へ記録するようになっている。なお、周波数解析部215は、学習モードにおいて、軌道mごとに、複数の単位時間Δtを設定し、設定した単位時間Δtごとに、伝達関数Gを導出するようになっていてもよい。この場合、周波数解析部215は、共通の軌道mに対応する複数の伝達関数Gの周波数特性を、周波数ごとに平均化したものを、応答モデルとして周波数特性ファイル22F(Fnum)へ記録するようになっていてもよい。
周波数解析部215は、例えば、同じ作業プログラム22BによってN回の正常溶接が行われている時に、伝達関数Gを軌道mごとに導出し、導出した伝達関数Gの周波数特性を、正常な応答モデルとして周波数特性ファイル22F(Fnum)へ記録するようになっていてもよい。この場合に、周波数解析部215は、軌道mごとに複数の伝達関数Gを導出するときには、共通の軌道mに対応する複数の伝達関数Gの周波数特性を、周波数ごとに平均化したものを、正常な応答モデルとして周波数特性ファイル22F(Fnum)へ記録するようになっていてもよい。
周波数解析部215は、例えば、溶接電流Isの計測値の単位時間Δtあたりの周波数特性と、溶接電流Isの測定値の単位時間Δtあたりの周波数特性とを導出するたびに、導出したこれらの周波数特性に基づいて、伝達関数Gを導出するようになっている。周波数解析部215は、例えば、そのようにして導出した伝達関数Gの周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(Fnum)へ記録するようになっている。周波数解析部215は、軌道mごとに複数の伝達関数Gを導出する場合には、共通の軌道mに対応する複数の伝達関数Gの周波数特性(パワースペクトルXa2)を、周波数ごとに平均化したものを周波数特性ファイル22F(Fnum)へ記録するようになっていてもよい。周波数解析部215は、例えば、そのようにして導出した伝達関数Gの周波数特性(パワースペクトルXa2)を、応答モデルとして周波数特性ファイル22F(Fnum)へ記録するようになっている。
周波数特性ファイル22Fは、複数(N個)の周波数特性ファイル22F(1)〜22F(N)で構成されている。各周波数特性ファイル22F(Fnum)には、伝達関数Gの周波数特性として、伝達関数Gの周波数特性が記述されている。各周波数特性ファイル22F(Fnum)において、伝達関数Gの周波数特性は、軌道番号Mnumと関連づけて記述されている。各軌道番号Mnumは、例えば、ファイルの中に1行ごとに1つずつ記述されており、伝達関数Gの周波数特性が、対応する軌道番号Mnumの行と同一の行に並んで記述されている。なお、伝達関数Gの周波数特性が、軌道番号Mnumだけでなく、溶接トーチ13先端の移動距離Δdistとも関連づけて記述されていてもよい。このとき、伝達関数Gの周波数特性および移動距離Δdistが、対応する軌道番号Mnumの行と同一の行に並んで記述されている。周波数解析部215は、周波数特性ファイル22Fの作成が完了すると、周波数特性ファイル22Fからクラスタファイル22Gを生成する指令(クラスタ分割指令)を生成するようになっている。
ロボット制御装置20の制御部21に設けられたクラスタ分割部216は、クラスタ分割指令を受けると、各周波数特性ファイル22F(1)〜22F(N)に含まれる複数の伝達関数Gの周波数特性を、軌道mごとに分類するようになっている。クラスタ分割部216は、軌道mごとに分けられたN個の周波数特性を、周波数およびパワーの観点でK個のクラスタCkに分類するようになっている。
クラスタ分割部216は、各クラスタCkにおいて、クラスタCkに含まれる1または複数の周波数特性の代表値を算出するようになっている。具体的には、クラスタ分割部216は、クラスタCkに含まれる1または複数の周波数特性の中心値Fkおよび最大距離Tkを算出するようになっている。クラスタ分割部216は、クラスタCkごとに算出した代表値(中心値Fkおよび最大距離Tk)を、軌道mごとにクラスタファイル22G(Mnum)へ記録するようになっている。
クラスタ分割部216は、溶接ビードの状態ごとにクラスタファイル22Gを形成するようになっていてもよい。クラスタ分割部216は、例えば、正常溶接時の応答モデルのクラスタファイル22Gだけでなく、非正常溶接時の応答モデルのクラスタファイル22Gや、異常時の応答モデルのクラスタファイル22Gを形成するようになっていてもよい。
その場合、ロボット制御装置20の制御部21は、クラスタ比較部219を有している(図20参照)。クラスタ比較部219については、後に詳述する。周波数解析部215は、例えば、正常溶接時のN回の学習の実施が全て完了した段階で、クラスタ分割指令を生成するようになっている。周波数解析部215は、例えば、さらに、N+1回目以降の学習が実施される度に、導出した伝達関数Gの周波数特性を、軌道番号Mnumと関連づけた周波数特性ファイル22I(Fnumα)(1≦Fnumα≦X)へ記録するようになっている。ここで、周波数特性ファイル22I(Fnumα)における「Fnumα」は、学習モードにおけるN+1回目以降のアーク溶接回数に対応している。つまり、周波数解析部215は、例えば、学習モードにおいて溶接区間WSに対してN+1回目以降のアーク溶接を行うたびに、周波数特性ファイル22I(Fnumα)を生成し、生成した周波数特性ファイルI(Fnumα)に、軌道番号Mnumと関連づけられた伝達関数Gの周波数特性を記録するようになっている。
図21は、N+1回目以降の学習を実施することにより得られる周波数特性ファイル22Iの一例を表したものである。周波数特性ファイル22Iは、複数(X個)の周波数特性ファイル22I(1)〜22I(X)で構成されている。各周波数特性ファイル22I(Fnumα)には、伝達関数Gの周波数特性として、伝達関数GのパワースペクトルXa2が記述されている。各周波数特性ファイル22I(Fnumα)において、伝達関数Gの周波数特性は、軌道番号Mnumと関連づけて記述されている。各軌道番号Mnumは、例えば、ファイルの中に1行ごとに1つずつ記述されており、伝達関数Gの周波数特性が、対応する軌道番号Mnumの行と同一の行に並んで記述されている。
周波数解析部215は、例えば、周波数特性ファイル22I(Fnumα)が生成される度に、周波数特性ファイル22I(Fnumα)と、正常の応答モデルのクラスタファイル22Gとを比較する指令(クラスタ比較指令)を生成するようになっている。クラスタ比較部219は、周波数解析部215からのクラスタ比較指令に従って、得られた応答モデルと、正常の応答モデルとのパターンマッチングを行うようになっている。
クラスタ比較部219は、周波数解析部215からのクラスタ比較指令を受けると、例えば、各軌道mにおいて、周波数解析部215で得られた伝達関数GのパワースペクトルXa2の座標が、周波数およびパワーの観点で各クラスタCkの代表値によって規定される1または複数の特定の範囲内に該当するか判定するようになっている。
クラスタ比較部219は、周波数解析部215で得られた伝達関数GのパワースペクトルXa2の座標が、各クラスタCkの代表値によって規定される「1または複数の特定の範囲」内に該当するときは、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態(すなわち、正常状態)であると判定するようになっている。クラスタ比較部219は、周波数解析部215で得られた伝達関数GのパワースペクトルXa2の座標が、上記「1または複数の特定の範囲」内に該当しないときは、周波数解析部215で得られた伝達関数Gの周波数特性を、非正常時または異常時の周波数特性として、軌道番号Mnumと関連づけて、正常時または異常時用の周波数特性ファイル22Fへ記録するようになっている。このとき、クラスタ比較部219は、溶接ビードの状態に変化を与えた原因についての情報を、周波数解析部215で得られた伝達関数Gの周波数特性と併せて、非正常時または異常時用の周波数特性ファイル22Fへ記録するようになっていてもよい。
[学習モードにおける動作手順]
次に、学習モードにおける動作手順について説明する。以下では、学習モードにおける動作手順として、周波数解析部215およびクラスタ比較部219のそれぞれの動作手順の一例を説明する。
(周波数解析部215の動作手順)
まず、周波数解析部215の動作手順について説明する。図22は、学習モードにおける周波数解析部215の動作手順の一例を表したものである。まず、周波数解析部215は、周波数特性ファイル22F(Fnum)のファイル番号Fnumを1にしておく(ステップS601)。次に、周波数解析部215は、周波数解析開始指令Osが生成されたか判定する(ステップS602)。周波数解析部215は、周波数解析開始指令Osを検知すると、計測ファイル22Eから、単位時間Δtの間(smpl個)の溶接電流Isの計測値を取得する(ステップS603)。周波数解析部215は、周波数解析開始指令を検知しなかった場合は、周波数解析終了指令が生成されたか判定する(ステップS607)。周波数解析部215は、周波数解析終了指令を検知しなかった場合は、再び、ステップS602に戻る。
周波数解析部215は、ステップS603を実行した後、窓関数により、溶接電流Isの波形を整形する(ステップS604)。窓関数には、例えば、ハミング窓などの公知のアルゴリズムが用いられる。周波数解析部215は、波形整形がなされた溶接電流Isに対して高速フーリエ変換FFTを行い、溶接電流Isの設定値の振幅スペクトルXa1を導出する(ステップS605)。周波数解析部215は、さらに、振幅スペクトルXa1を2乗して、溶接電流Isの設定値の単位時間ΔtあたりのパワースペクトルXa12を導出する(ステップS606)。このとき、周波数解析部215は、パワースペクトルXa12を、軌道番号Mnumと関連づける。
周波数解析部215は、周波数解析終了指令を検知した場合は、設定ファイル22Dから溶接電流Isの設定値を読み出し、読み出した溶接電流Isの設定値に対して高速フーリエ変換FFTを行い、溶接電流Isの設定値の振幅スペクトルXa2を導出する(ステップS608)。周波数解析部215は、さらに、振幅スペクトルXa2を2乗して、溶接電流Isの設定値の単位時間ΔtあたりのパワースペクトルXa22を導出する(ステップS609)。このとき、周波数解析部215は、パワースペクトルXa22を、軌道番号Mnumと関連づける。
周波数解析部215は、導出したパワースペクトルXa12およびパワースペクトルXa22に基づいて、伝達関数GのパワースペクトルXa22を導出する(ステップS610)。周波数解析部215は、周波数特性ファイル22F(Fnum)を開き(ステップS611)、軌道番号Mnumと関連づけた伝達関数GのパワースペクトルXa22を周波数特性ファイル22F(Fnum)に書き込む(ステップS612)。
その後、周波数解析部215は、周波数特性ファイル22F(Fnum)を閉じ(ステップS613)、ファイル番号Fnumに1を加える(ステップS614)。周波数解析部215は、ファイル番号Fnumが学習回数Nを超えたか判定する(ステップS615)。周波数解析部215は、ファイル番号Fnumが学習回数Nを超えていない場合には、ステップS602に戻り、ファイル番号Fnumが学習回数Nを超えている場合には、クラスタ分割指令を出力し(ステップS616)、周波数解析動作を終了する。
なお、周波数解析部215は、ファイル番号Fnumが学習回数Nを超えている場合に、周波数解析動作を終了する代わりに、N+1回以降の学習を実行し、非正常時または異常時用の周波数特性ファイル22F(Fnum)を形成してもよい。この場合、周波数解析部215は、まず、N+1回目以降の学習の実施が完了する度に、導出した伝達関数GのパワースペクトルXa22を、軌道番号Mnumと関連づけた周波数特性ファイル22I(Fnumα)へ記録する。次に、周波数解析部215は、周波数特性ファイル22I(Fnumα)が生成される度に、クラスタ比較指令を生成する。
(クラスタ比較部219の動作手順)
次に、クラスタ比較部219の動作手順について説明する。図23は、学習モードにおけるクラスタ比較部219の動作手順の一例を表したものである。まず、クラスタ比較部219は、行番号Lineを1にする(ステップS701)。次に、クラスタ比較部219は、クラスタ比較指令が生成されたか判定する(ステップS702)。クラスタ比較部219は、クラスタ比較指令を検知すると、行番号Lineが軌道番号Mを超えているか判定する(ステップS703)。クラスタ比較部219は、行番号LineがMを超えている場合には、クラスタ比較を終了する。クラスタ比較部219は、行番号Lineが軌道番号Mを超えていない場合には、周波数特性ファイル22I(K)から、軌道番号Mnumに対応させた伝達関数GのパワースペクトルXa2を取得する(ステップS704)。クラスタ比較部219は、クラスタファイル22Gから、クラスタCk(Mnum)の中心値Fk(Mnum)と最大距離Tk(Mnum)を読み込む(ステップS705)。その後、クラスタ比較部219は、周波数iを1にすると共に、異常数Ecntを0にする(ステップS706)。
次に、クラスタ比較部219は、周波数iがΔf/2以下となっているか判定する(ステップS707)。クラスタ比較部219は、周波数iがΔf/2以下となっていない場合には、行番号Lineに1を加えて、ステップ703に戻る。クラスタ比較部219は、周波数iがΔf/2以下となっている場合には、中心値Fk(Mnum)の座標から、Line番目の行における伝達関数Gの周波数iのパワースペクトルXa2の座標までの距離Ta(Mnum)を導出する(ステップS709)。クラスタ比較部219は、距離Taが最大距離Tk(Mnum)よりも小さいか判定する(ステップS710)。クラスタ比較部219は、距離Taが最大距離Tk(Mnum)よりも小さい場合には、周波数iに1を加え(ステップS711)、ステップS707に戻る。クラスタ比較部219は、距離Taが最大距離Tk(Mnum)よりも小さくない場合には、異常数Ecntに1を加える(ステップS712)。クラスタ比較部219は、異常数Ecntがしきい値E以上となっているか判定する(ステップS713)。クラスタ比較部219は、異常数Ecntがしきい値E以上となっていない場合には、ステップS711に移行する。クラスタ比較部219は、異常数Ecntがしきい値E以上となっている場合には、周波数特性ファイル22I(K)を非正常時または異常時用の周波数特性ファイル22Fとして、記憶部24に記録し(ステップS714)、クラスタ比較を終了する。
[解析モードにおける構成]
次に、解析モードにおける構成について説明する。
溶接ロボットシステム3は、解析モードにおいては、学習モードにおける周波数解析部215、クラスタ分割部216、クラスタ比較部219および周波数特性ファイル22Iを割愛し、周波数解析部217およびクラスタ比較部218をさらに備えている。つまり、溶接ロボットシステム3は、解析モードにおいては、上記第1の実施の形態の溶接ロボットシステム1と同様の構成要素を備えている。そこで、以下では、学習モードと異なる内容について主に説明するものとし、学習モードと共通する内容については、適宜省略するものとする。
ロボット制御装置20の制御部21に設けられた周波数解析部217は、記憶部24の計測ファイル22Eから取得した溶接電流Isの計測値を用いて、溶接電流Isの計測値の単位時間Δtあたりの周波数特性(以下、「第1周波数特性」と称する。)を導出するようになっている。計測値から導出される周波数特性が、本発明の「第1周波数特性」の一具体例に相当する。周波数解析部217は、解析モードにおいて、溶接区間WSに対して行われるアーク溶接において、軌道mごとに、溶接電流Isの計測値の単位時間Δtあたりの第1周波数特性を導出するようになっている。周波数解析部217は、さらに、解析モードにおいて、溶接区間WSに対してアーク溶接を行うごとに、溶接電流Isの計測値の単位時間Δtあたりの第1周波数特性を導出するようになっている。
周波数解析部217は、さらに、設定ファイル22Dから取得した溶接電流Isの設定値を用いて、溶接電流Isの設定値の単位時間Δtあたりの周波数特性(以下、「第2周波数特性」と称する。)を導出するようになっている。設定値から導出される周波数特性が、本発明の「第2周波数特性」の一具体例に相当する。周波数解析部217は、解析モードにおいて、溶接区間WSに対して行われるアーク溶接において、軌道mごとに、溶接電流Isの設定値の単位時間Δtあたりの第2周波数特性を導出するようになっている。周波数解析部215は、さらに、解析モードにおいて、溶接区間WSに対してアーク溶接を行うごとに、溶接電流Isの設定値の単位時間Δtあたりの第2周波数特性を導出するようになっている。
周波数解析部217は、溶接電流Isの設定値(制御波形)を入力信号とし、溶接電流Isの計測値(観測波形)を出力信号としたときのシステムの伝達関数Gを軌道mごとに導出し、導出した伝達関数Gの周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(N+1)へ記録するようになっている。周波数解析部215は、導出した伝達関数Gの周波数特性を、応答モデルとして周波数特性ファイル22F(N+1)へ記録するようになっている。なお、周波数解析部217は、解析モードにおいて、軌道mごとに、複数の単位時間Δtを設定し、設定した単位時間Δtごとに、伝達関数Gを導出するようになっていてもよい。この場合、周波数解析部217は、共通の軌道mに対応する複数の伝達関数Gの周波数特性を、周波数ごとに平均化したものを、応答モデルとして周波数特性ファイル22F(N+1)へ記録するようになっていてもよい。
周波数解析部217は、例えば、各軌道mにおける第1周波数特性および第2周波数特性を導出するたびに、導出した第1周波数特性および第2周波数特性に基づいて、伝達関数Gの周波数特性を軌道mごとに導出するようになっている。周波数解析部217は、例えば、そのようにして導出した伝達関数Gの周波数特性を、軌道番号Mnumと関連づけて、周波数特性ファイル22F(N+1)へ記録するようになっている。周波数解析部217は、例えば、そのようにして導出した伝達関数Gの周波数特性を、応答モデルとして周波数特性ファイル22F(N+1)へ記録するようになっている。
周波数特性ファイル22F(N+1)には、伝達関数Gの周波数特性として、伝達関数GのパワースペクトルXa2が記述されている。周波数特性ファイル22F(N+1)において、伝達関数Gの周波数特性は、軌道番号Mnumと関連づけて記述されている。各軌道番号Mnumは、例えば、ファイルの中に1行ごとに1つずつ記述されており、伝達関数Gの周波数特性が、対応する軌道番号Mnumの行と同一の行に並んで記述されている。周波数解析部217は、軌道mごとに複数の伝達関数Gの周波数特性を導出する場合には、共通の軌道mに対応する複数の伝達関数Gの周波数特性を、周波数ごとに平均化したものを周波数特性ファイル22F(N+1)へ記録するようになっている。なお、例えば、図示しないが、伝達関数Gの周波数特性が、軌道番号Mnumだけでなく、溶接トーチ13先端の移動距離Δdistとも関連づけて記述されていてもよい。このとき、伝達関数Gの周波数特性および移動距離Δdistが、対応する軌道番号Mnumの行と同一の行に並んで記述されている。
周波数解析部217は、周波数特性ファイル22Hの作成が完了すると、周波数特性ファイル22F(N+1)と、クラスタファイル22Gとを比較する指令(クラスタ比較指令)を生成するようになっている。
クラスタ比較部218は、周波数解析部217からのクラスタ比較指令に従って、形成された溶接ビードの状態を判定するようになっている。クラスタ比較部218は、周波数解析部217からのクラスタ比較指令を受けると、各軌道mにおいて、周波数解析部217で得られた伝達関数Gの周波数特性が周波数およびパワーの観点で各クラスタCkの代表値によって規定される1または複数の特定の範囲内に該当するか判定するようになっている。なお、「1または複数の特定の範囲」が、本発明の「所定のパワースペクトラム領域」の一具体例に相当する。具体的には、クラスタ比較部218は、周波数解析部217からのクラスタ比較指令を受けると、伝達関数GのパワースペクトルXa2の座標が、各クラスタCkの代表値によって規定される1または複数の特定の範囲内に該当するか判定するようになっている。
クラスタ比較部218は、周波数解析部217で得られた伝達関数GのパワースペクトルXa2の座標が、各クラスタCkの代表値によって規定される「1または複数の特定の範囲」内に該当するときは、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態であると判定するようになっている。ここで、「規定された状態」とは、例えば、溶接ビードにおける通常の状態(溶接異常のない状態)、通常の状態とは異なる状態、もしくは、異常状態などを指している。
なお、周波数解析部217で得られた伝達関数Gの周波数特性の座標のごく一部が、各クラスタCkの代表値によって規定される1または複数の特定の範囲から外れている場合がある。この場合、クラスタ比較部218は、形成された溶接ビードが、上記「1または複数の特定の範囲」に対応して規定された状態であると判定するようになっていてもよい。また、周波数解析部217で得られた伝達関数Gの周波数特性の座標の所定割合が、各クラスタCkの代表値によって規定される1または複数の特定の範囲から外れている場合もある。この場合、クラスタ比較部218は、周波数解析部215で得られた伝達関数Gの周波数特性を、非正常時または異常時の周波数特性として、軌道番号Mnumと関連づけて、正常時または異常時用の周波数特性ファイル22Fへ記録するようになっていてもよい。このとき、クラスタ比較部218は、溶接ビードの状態に変化を与えた原因についての情報を、周波数解析部215で得られた伝達関数Gの周波数特性と併せて、非正常時または異常時用の周波数特性ファイル22Fへ記録するようになっていてもよい。
[解析モードにおける動作手順]
次に、解析モードにおける動作手順について説明する。以下では、解析モードにおける動作手順として、周波数解析部217およびクラスタ比較部218のそれぞれの動作手順の一例を説明する。
(周波数解析部217の動作手順)
まず、周波数解析部217の動作手順について説明する。図24は、解析モードにおける周波数解析部217の動作手順の一例を表したものである。まず、周波数解析部217は、例えば、周波数特性ファイル22F(Fnum)のファイル番号FnumをN+1にしておく(ステップS801)。周波数解析部217は、周波数解析開始指令が生成されたか判定する(ステップS802)。周波数解析部217は、周波数解析開始指令を検知すると、計測ファイル22Eから、単位時間Δtの間(smpl個)の溶接電流Isの計測値を取得する(ステップS803)。周波数解析部217は、周波数解析開始指令を検知しなかった場合は、周波数解析終了指令が生成されたか判定する(ステップS807)。周波数解析部217は、周波数解析終了指令を検知しなかった場合は、再び、ステップS802に戻る。
周波数解析部217は、ステップS803を実行した後、窓関数により、溶接電流Isの計測値の波形を整形する(ステップS804)。窓関数には、例えば、ハミング窓などの公知のアルゴリズムが用いられる。周波数解析部217は、波形整形がなされた溶接電流Isの計測値に対して高速フーリエ変換FFTを行い、溶接電流Isの計測値の振幅スペクトルXa1を導出し(ステップS805)、さらに2乗して、溶接電流Isの計測値のパワースペクトルXa12を導出する(ステップS806)。このとき、周波数解析部217は、溶接電流Isの計測値のパワースペクトルXa12を、軌道番号Mnumと関連づける。
周波数解析部217は、周波数解析終了指令を検知した場合は、設定ファイル22Dから溶接電流Isの設定値を読み出し、読み出した溶接電流Isの設定値に対して高速フーリエ変換FFTを行い、溶接電流Isの設定値の振幅スペクトルXa2を導出する(ステップS808)。周波数解析部215は、さらに、振幅スペクトルXa2を2乗して、溶接電流Isの設定値の単位時間ΔtあたりのパワースペクトルXa22を導出する(ステップS809)。このとき、周波数解析部215は、パワースペクトルXa22を、軌道番号Mnumと関連づける。
周波数解析部215は、導出したパワースペクトルXa12およびパワースペクトルXa22に基づいて、伝達関数GのパワースペクトルXa2を導出する(ステップS810)。周波数解析部215は、周波数特性ファイル22F(Fnum)を開き(ステップS811)、軌道番号Mnumと関連づけた伝達関数GのパワースペクトルXa2を周波数特性ファイル22F(Fnum)に書き込む(ステップS812)。
その後、周波数解析部215は、周波数特性ファイル22F(Fnum)を閉じ(ステップS813)、クラスタ比較指令を出力し(ステップS814)、周波数解析動作を終了する。
(クラスタ比較部218の動作手順)
次に、図18を参照して、クラスタ比較部218の動作手順について説明する。まず、クラスタ比較部218は、ファイル番号FnumをN+1にするとともに、行番号Lineを1にする(ステップS501)。クラスタ比較部218は、クラスタ比較指令が生成されたか判定する(ステップS502)。クラスタ比較部218は、クラスタ比較指令を検知すると、行番号Lineが軌道番号Mを超えているか判定する(ステップS503)。クラスタ比較部218は、行番号LineがMを超えている場合には、クラスタ比較を終了する。クラスタ比較部218は、行番号Lineが軌道番号Mを超えていない場合には、周波数特性ファイル22F(N+1)から、軌道番号Mnumに対応させた伝達関数GのパワースペクトルXa2を取得する(ステップS504)。クラスタ比較部218は、クラスタファイル22Gから、クラスタCk(Mnum)の中心値Fk(Mnum)と最大距離Tk(Mnum)を読み込む(ステップS505)。その後、クラスタ比較部218は、周波数iを1にすると共に、異常数Ecntを0にする(ステップS506)。
次に、クラスタ比較部218は、周波数iがΔf/2以下となっているか判定する(ステップS507)。クラスタ比較部218は、周波数iがΔf/2以下となっている場合には、中心値Fk(Mnum)の座標から、Line番目の行における伝達関数Gの周波数iのパワースペクトルXa2の座標までの距離Ta(Mnum)を導出する(ステップS509)。クラスタ比較部218は、距離Taが最大距離Tk(Mnum)よりも小さいか判定する(ステップS510)。クラスタ比較部218は、距離Taが最大距離Tk(Mnum)よりも小さい場合には、周波数iに1を加え(ステップS511)、ステップS507に戻る。クラスタ比較部218は、距離Taが最大距離Tk(Mnum)よりも小さくない場合には、異常数Ecntに1を加える(ステップS512)。クラスタ比較部218は、異常数Ecntがしきい値E以上となっているか判定する(ステップS513)。クラスタ比較部218は、異常数Ecntがしきい値E以上となっていない場合には、ステップS511に移行し、異常数Ecntがしきい値E以上となっている場合には、異常信号を出力し(ステップS514)、クラスタ比較を終了する。
[効果]
次に、溶接ロボットシステム3におけるアーク溶接監視システムの効果について説明する。
溶接機40によって制御されている溶接電流Isの設定値(制御波形)と、実際に観測される溶接電流Isの計測値(観測波形)との間には、何らかの相関関係があると考えられる。制御波形を入力信号とし、観測波形を出力信号としたとき、出力信号は、入力信号に対して、何らかの特性が畳み込まれた信号に相当すると考えられる。そこで、制御波形を入力信号とし、観測波形を出力信号としたときのシステムの伝達関数Gについて考察する。
ロボット溶接において、同じ溶接プログラムの再生時には、溶接軌跡・溶接条件・ワイヤ・ガス等は等しい。従って、同じ溶接プログラムの再生時に得られる伝達関数Gは、互いに似通っていると考えられる。何らかの原因により溶接軌跡等が乱れた場合には、想定される伝達関数Gとは異なる伝達関数Gが得られる。同じ原因による異常が発生した時に得られる伝達関数Gは、正常時に得られる伝達関数Gと異なるだけでなく、互いに似通っていると考えられる。つまり、伝達関数Gを監視することにより、溶接の状態変化や溶接異常を見つけることが可能である。
本実施の形態では、伝達関数Gの単位時間Δtあたりの周波数特性(伝達関数GのパワースペクトルXa2)が導出される。これにより、溶接電圧Isや溶接電流Ivを監視しているだけでは見逃される可能性のある溶接の状態変化や溶接異常についても検出することが可能である。その結果、例えば、スパッタの増加や、溶着量の不足などの異常も検出することが可能である。
<3.第3の実施の形態の変形例>
[変形例A]
上記第3の実施の形態において、クラスタ分割部216、クラスタ比較部219およびクラスタファイル22Gが省略されていてもよい。この場合、周波数解析部215は、学習モードにおいて、クラスタ分割指令およびクラスタ比較指令を生成することなく、周波数解析動作を終了するようになっている。また、周波数解析部217は、解析モードにおいて、クラスタ比較指令を生成する代わりに、スペクトル比較指令を生成するようになっていてもよい。スペクトル比較指令とは、周波数特性ファイル22F(Fnum)に記録された伝達関数Gの周波数特性(パワースペクトルXa2)と、新たな計測により得られた伝達関数Gの周波数特性(パワースペクトルXa2)とを対比する指令を指している。
周波数解析部217は、例えば、周波数特性ファイル22F(Fnum)に記録された伝達関数Gの周波数特性(パワースペクトルXa2)と、新たな計測により得られた伝達関数Gの周波数特性(パワースペクトルXa2)との、周波数ごとの差分の二乗を、全周波数に渡って積算するようになっている。周波数解析部217は、例えば、そのようにして導出した積算値と、予め設定しておいた閾値とを対比し、積算値が閾値よりも小さいときは、形成された溶接ビードが、周波数特性ファイル22F(Fnum)に対応して規定された状態であると判定するようになっている。ここで、「規定された状態」とは、例えば、溶接ビードにおける通常の状態(溶接異常のない状態)、通常の状態とは異なる状態、もしくは、異常状態などを指している。周波数解析部217は、例えば、積算値が閾値を超えているときは、周波数特性ファイル22F(Fnum)に対応して規定された状態とは異なると判定するようになっている。
なお、周波数解析部217は、例えば、積算値が閾値を超えているときに、導出した伝達関数Gの周波数特性(パワースペクトルXa2)を、非正常時または異常時の周波数特性として、軌道番号Mnumと関連づけて、正常時または異常時用の周波数特性ファイル22Fへ記録するようになっていてもよい。このとき、周波数解析部217は、溶接ビードの状態に変化を与えた原因についての情報を、導出した伝達関数Gの周波数特性(パワースペクトルXa2)と併せて、非正常時または異常時用の周波数特性ファイル22Fへ記録するようになっていてもよい。
本変形例では、溶接ビードの状態の判定方法が上記第3の実施の形態とは若干、異なる。しかし、本変形例では、上記第3の実施の形態と同様、溶接ビードの状態の判定方法に、伝達関数Gの単位時間Δtあたりの周波数特性(伝達関数GのパワースペクトルXa2)が用いられる。これにより、溶接電圧Isや溶接電流Ivを監視しているだけでは見逃される可能性のある溶接の状態変化や溶接異常についても検出することが可能である。その結果、例えば、スパッタの増加や、溶着量の不足などの異常も検出することが可能である。
[変形例B]
上記変形例Aにおいて、周波数解析部215が、解析モードにおいて、スペクトル比較指令を生成しないようになっていてもよい。この場合、周波数解析部217は、周波数特性ファイル22F(N+1)の作成が完了すると、周波数特性ファイル22F(N+1)に含まれる複数の周波数特性などを、監視情報として通信部23に出力するようになっている。監視情報には、例えば、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのそれぞれの計測値、溶接電流Isの周波数特性、ならびに移動距離Δdistおよび軌道番号Mnumの少なくとも一方などが含まれ得る。
通信部23は、制御部21(周波数解析部217)からの監視情報を、ティーチペンダント30(通信部34)に送信するようになっている。ティーチペンダント30において、制御部31は、例えば、再生モードが選択されている場合に、通信部34から監視情報を取得したときには、取得した監視情報を表示するための映像信号を生成するようになっている。表示部32は、監視情報を表示するための映像信号に基づいて、例えば、溶接電流Isの周波数特性を表示するようになっている。
ティーチペンダント30において、入力部33は、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を調整可能な調整部33Aを有していてもよい(図18参照)。また、入力部33が調整部33Aを有している場合に、調整部33Aが、上述の判定結果に基づいて、溶接電流Isの周波数特性が所定の周波数特性となるように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整するようになっていてもよい。このとき、調整部33Aが、例えば、溶接電流Isの周波数特性の調整方針を示唆する1または複数のキーを有していてもよい。調整部33Aは、そのようなキーとして、例えば、「溶接時のアークがより硬くなる」ように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整することの可能なキーを有していてもよい。また、調整部33Aは、そのようなキーとして、例えば、「溶接時のアークがより柔らかくなる」ように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整することの可能なキーを有していてもよい。
本変形例では、溶接電流Isの計測値の単位時間Δtあたりの周波数特性(電流値IsのパワースペクトルXa2)が導出される。これにより、例えば、上記周波数特性を表示部32に表示させ、表示させた周波数特性をユーザが観察することによって、溶接の状態変化や溶接異常を見つけることが可能である。その結果、例えば、スパッタの増加や、溶着量の不足などの異常も検出することが可能である。
また、本変形例において、入力部33に調整部33Aが設けられている場合には、作業者は、例えば、表示部32に表示される溶接電流Isの周波数特性と、上述の判定結果とを見ながら、入力部33のキーから、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を調整することができる。これにより、作業者は、溶接電流Isの周波数特性を調整することができるので、溶接の状態を調整することができる。
また、本変形例において、調整部33Aが、上述の判定結果に基づいて、溶接電流Isの周波数特性が所定の周波数特性となるように、溶接電流Is、溶接電圧Vs、ワイヤ送給速度Vfおよび溶接速度Vwのうち少なくとも1つの設定値を自動的に調整するようになっている場合には、作業者がアーク溶接に熟練していなくても、溶接の状態を調整することができる。
[変形例C]
上記第3の実施の形態およびその変形例(変形例A,B)では、溶接電流Isの計測値および設定値を用いて伝達関数Gが導出されていたが、溶接電圧Vsの計測値および設定値を用いて伝達関数Gが導出されていてもよい。この場合、上記第3の実施の形態およびその変形例(変形例A,B)において、必要に応じて、「溶接電流Is」を「溶接電圧Vs」に読み替えるものとする。
また、上記第3の実施の形態およびその変形例(変形例A,B)では、溶接電流Isの計測値および設定値を用いて伝達関数Gが導出されていたが、ワイヤ送給速度Vfの計測値および設定値を用いて伝達関数Gが導出されていてもよい。この場合、上記第3の実施の形態およびその変形例(変形例A,B)において、必要に応じて、「溶接電流Is」を「ワイヤ送給速度Vf」に読み替えるものとする。
また、上記第3の実施の形態およびその変形例(変形例A,B)では、溶接電流Isの計測値および設定値を用いて伝達関数Gが導出されていたが、溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfのうちの少なくとも1つの計測値および設定値を用いて伝達関数Gが導出されていてもよい。この場合、上記第3の実施の形態およびその変形例(変形例A,B)において、必要に応じて、「溶接電流Is」を「溶接電流Is、溶接電圧Vsおよびワイヤ送給速度Vfのうちの少なくとも1つ」に読み替えるものとする。