(58)【調査した分野】(Int.Cl.,DB名)
溶接ロボットによる多層盛溶接の行われる母材の形状に関する情報である形状情報、当該多層盛溶接の各パスの教示点及びトーチ姿勢を示す教示情報、並びに溶接ワイヤの先端と溶接トーチとの位置関係を示すトーチ情報が記憶される記憶部と、
前記トーチ情報と判断対象のパスに対応する教示情報とを用いて、当該パスに応じた溶接における溶接トーチの位置を算出するトーチ位置算出部と、
前記形状情報と前記トーチ位置算出部によって算出された溶接トーチの位置とを用いて、前記判断対象のパスに応じた溶接において溶接トーチと母材とが干渉するかどうか判断する干渉判断部と、
前記干渉判断部によって溶接トーチと母材とが干渉すると判断された場合に、前記判断対象のパスに対応するトーチ姿勢を修正する修正部と、を備え、
前記トーチ位置算出部は、前記修正部によって修正されたトーチ姿勢に応じた溶接トーチの位置である修正位置をも算出し、
前記干渉判断部は、前記修正位置に応じた溶接において溶接トーチと母材とが干渉するかどうかをも判断し、
前記修正部は、前記干渉判断部によって修正位置に応じた溶接において溶接トーチと母材とが干渉すると判断された場合に、干渉が解消されるように前記教示点を移動させる、干渉回避装置。
前記修正部は、前記干渉判断部によって溶接トーチと母材とが干渉すると判断された場合に、少なくとも1箇所の干渉が解消されるように前記判断対象のパスに対応するトーチ姿勢を修正する、請求項1または請求項2記載の干渉回避装置。
【発明を実施するための形態】
【0013】
以下、本発明による干渉回避装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【0014】
(実施の形態1)
本発明の実施の形態1による干渉回避装置を備えた制御装置について、図面を参照しながら説明する。本実施の形態による干渉回避装置は、溶接トーチと母材とが干渉するかどうか判断し、干渉する場合には、教示情報を修正するものである。
【0015】
図1は、本実施の形態による溶接ロボットシステムの構成を示すブロック図である。本実施の形態による溶接ロボットシステムは、制御装置1と、マニピュレータ3と、溶接機4とを備える。
【0016】
制御装置1は、溶接機4との間で通信を行う通信部11と、マニピュレータ3や溶接機4を制御する制御部12と、干渉回避装置2とを備える。干渉回避装置2は、記憶部21と、受付部22と、パス生成部23と、トーチ位置算出部24と、干渉判断部25と、修正部26とを備える。なお、本実施の形態による溶接ロボットシステムでは、多層盛溶接が行われるものとする。また、その多層盛溶接において、溶接トーチがウィービングされてもよく、または、そうでなくてもよい。ウィービングが行われる場合に、そのウィービングは、例えば、トーチ姿勢を変化させないウィービングであってもよく、または、上記特許文献2のように、トーチ姿勢を変化させるウィービングであってもよい。本実施の形態では、前者の場合について主に説明する。
【0017】
通信部11は、制御部12からの指示に応じて、溶接開始、溶接終了、溶接ワイヤの送給開始、送給終了などの指示を溶接機4に送信する。また、通信部11は、溶接ロボットにおいて取得されるデータ、例えば、溶接電流、溶接電圧、溶接ガス流量等を受信してもよい。
【0018】
制御部12は、記憶部21で記憶されている教示情報や、ティーチングペンダント(図示せず)から入力される操作信号、マニピュレータ3のエンコーダから受け取る駆動モータの現在位置等に応じて、マニピュレータ3の各駆動モータの位置を制御する。その制御によって、溶接トーチ3aが所望の位置に移動されることになる。なお、その制御の際に、制御部12は、サーボコントローラを介してマニピュレータ3を制御してもよい。また、制御部12は、通信部11を介して、溶接作業プログラムや溶接条件等に応じて、溶接機4による溶接の開始や終了、出力電圧、溶接ワイヤの送給の開始や終了等を制御する。その溶接作業プログラム等は、例えば、記憶部21で記憶されていてもよく、または、その他の図示しない記録媒体で記憶されていてもよい。
【0019】
記憶部21では、形状情報と、教示情報と、トーチ情報とが記憶される。形状情報は、溶接ロボットによる多層盛溶接の行われる母材8の形状に関する情報である。その形状情報は、例えば、多層盛溶接の行われる開先形状に関する情報であってもよい。その形状情報によって、溶接トーチ3aと母材8との干渉が発生しない領域と、干渉の発生する領域とが区別可能になることが好適である。すなわち、形状情報を用いることによって、溶接トーチ3aがある位置に存在する場合に、干渉の有無を判断できるようになっていることが好適である。また、その形状情報は、結果として、溶接ワイヤの先端や溶接トーチ3aと、多層盛溶接の行われる母材8の形状との関係が分かる情報であればよく、例えば、ワールド座標系において開先面等の形状を示す情報であってもよく、ローカル座標系において開先面等の形状を示す情報であってもよく、または、開先面等の形状と溶接トーチ3a等との相対的な位置関係を示す情報であってもよい。形状情報は、例えば、後述する直線F1,F2を示す情報であってもよい。
【0020】
教示情報は、多層盛溶接の各パスの教示点と、多層盛溶接の各パスのトーチ姿勢とを示す情報である。その教示点によって、溶接線の位置、すなわち、アーク溶接が行われる際の溶接ワイヤの先端の位置が示されることになる。教示点は、例えば、ワールド座標系等の座標系における座標値であってもよい。また、トーチ姿勢は、例えば、ワールド座標系等の座標系における角度(例えば、方位角と仰俯角等)によって示されてもよく、溶接パスに対する角度である狙い角や前進後退角によって示されてもよい。本実施の形態では、トーチ姿勢が狙い角である場合について主に説明する。なお、狙い角は、溶接線を含む基準平面と、溶接線及び溶接トーチ3aの長手方向軸線(例えば、溶接ワイヤの先端部分の長手方向軸線であってもよい)を含む平面とのなす角度であってもよい。また、前進後退角は、溶接線と溶接トーチ3aの長手方向軸線とを含む平面における、溶接線の法線と溶接トーチ3aの長手方向軸線とのなす角度であってもよい。また、前述のように、すべてのパスに対応する教示点やトーチ姿勢がユーザのティーチングによって設定されてもよく、または、少なくとも一部のパスに対応する教示点やトーチ姿勢がパス生成部23によって生成されてもよい。前者の場合には、ワールド座標系等の座標系における座標値や角度等を指定することによって記憶部21に教示情報が設定されてもよく、または、マニピュレータ3における溶接トーチ3aの位置を実際に移動させることによって教示情報が設定されてもよい。また、パス生成部23によって生成される場合には、例えば、1パス目の溶接パスやトーチ姿勢のみが教示され、その1パス目の溶接パス等に応じて2パス目以降の溶接パスやトーチ姿勢が算出されてもよい。
【0021】
トーチ情報は、溶接ワイヤの先端と溶接トーチ3aとの位置関係を示す情報である。なお、教示点と、トーチ姿勢と、トーチ情報を用いることによって、その教示点に溶接ワイヤの先端が存在し、また溶接トーチ3aがトーチ姿勢に応じた姿勢である場合における溶接トーチ3aの位置を算出できるようになっていることが好適である。
【0022】
また、記憶部21では、溶接線に直交する方向のウィービングの幅に関する情報であるウィービング幅情報も記憶されてもよい。なお、溶接線を挟んだ一方の側のウィービングの幅と、他方の側のウィービングの幅とが同じであるウィービングが行われる場合には、ウィービング幅情報は、ウィービングの全体の幅を示す情報であってもよい。一方、両者の幅が異なるウィービングが行われる場合には、ウィービング幅情報は、それぞれの幅を示す情報であってもよい。また、このウィービング幅情報は、溶接パスごとに設定されてもよく、または、そうでなくてもよい。後者の場合には、すべての溶接パスについてウィービングの幅が同じであってもよい。また、ウィービング幅情報には、ウィービングの方向を示す情報が含まれてもよい。本実施の形態では、ウィービングが、溶接トーチ3aの長手方向軸線と溶接線とに垂直な方向に行われる場合について説明するが、そうでない場合には、ウィービング幅情報によって、その方向が示されてもよい。また、上記特許文献2で示されるように、トーチ姿勢を変化させるウィービングが行われる場合には、ウィービング幅情報は、例えば、溶接トーチ3aの振りの角度や、振りの中心から溶接トーチ3aの先端や溶接ワイヤの先端までの距離等を含んでいてもよい。
【0023】
また、記憶部21では、上記以外の情報が記憶されてもよい。例えば、上述の溶接作業プログラム等が記憶部21で記憶されてもよい。また、記憶部21に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部21で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部21で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部21で記憶されるようになってもよい。本実施の形態では、受付部22が受け付けた情報や、パス生成部23が生成した情報、修正部26が修正した情報が記憶部21で記憶されるようになる場合について主に説明する。また、記憶部21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。また、記憶部21は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。また、記憶部21は、単一の記録媒体で構成されてもよく、または、複数の記録媒体で構成されてもよい。後者の場合には、例えば、形状情報と、教示情報とは、別々の記録媒体で記憶されてもよい。
【0024】
受付部22は、情報を受け付け、記憶部21に蓄積する。その情報は、例えば、形状情報や、教示情報、トーチ情報、ウィービング幅情報等であってもよい。受付部22は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された情報を受け付けてもよい。本実施の形態では、受付部22が、ティーチングペンダントを介して入力された情報を受け付ける場合について主に説明する。なお、受付部22は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部22は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0025】
パス生成部23は、多層盛溶接における2パス目以降のパスを生成し、記憶部21に蓄積してもよい。そのパスを生成する方法は問わないが、例えば、上記特許文献1に記載された方法を用いてもよい。そのパスの生成の際に、記憶部21で記憶されている形状情報を用いてもよい。また、そのパスの生成の際に、ティーチングペンダント等を介してユーザからの指示を受け付けてもよく、またはそうでなくてもよい。また、パス生成部23は、2パス目以降のパスに対応するトーチ姿勢をも生成してもよく、またはそうでなくてもよい。パス生成部23が生成した教示点等を含む教示情報は、記憶部21で記憶される。
【0026】
トーチ位置算出部24は、トーチ情報と、判断対象のパスに対応する教示情報とを用いて、そのパスに応じた溶接における溶接トーチ3aの位置を算出する。判断対象のパスとは、干渉を判断する対象となるパスのことである。したがって、干渉の判断を行わないパスについては、トーチ位置算出部24は、溶接トーチ3aの位置の算出を行わなくてもよい。また、通常、母材8と干渉する可能性の高い溶接トーチ3aの箇所は、溶接トーチ3aの先端部分であるノズルである。したがって、溶接トーチ3aの位置とは、溶接トーチ3aのノズルの位置であると考えてもよい。前述のように、トーチ情報は、溶接トーチ3aの先から突出した溶接ワイヤの先端と溶接トーチ3aとの位置関係を示す情報であり、教示情報は、溶接ワイヤの先端位置(教示点)と、溶接トーチ3aの角度(トーチ姿勢)とを示す情報である。したがって、トーチ位置算出部24は、トーチ情報と教示情報とを用いることによって、溶接トーチ3aの位置を算出することができる。なお、トーチ位置算出部24が算出する溶接トーチ3aの位置は、溶接トーチ3aを代表する箇所の位置(上述のように、干渉の可能性の高い溶接トーチ3aの箇所の位置等)であってもよい。
図3Aは、溶接線方向から、レ型開先を有する母材8と、溶接トーチ3aのノズル5や溶接ワイヤ6とを見た図である。すなわち、
図3Aは、溶接線に垂直な平面(xy直交座標系)における、母材8やノズル5等を示す図である。なお、そのxy直交座標系では、x軸方向が水平方向であり、y軸方向が鉛直方向であるとしている。そのことは、他のxy直交座標系でも同様である。
図3Aにおいて、1パス目の溶接線に応じたノズル5及び溶接ワイヤ6の位置を破線で示しており、2パス目の溶接線に応じたノズル5及び溶接ワイヤ6の位置を実線で示している。溶接は、例えば、図中の紙面奥方向に向かって行われてもよい。
図3Aにおいて、母材8に最も干渉しやすいノズル5の箇所(干渉が発生する際に、はじめに母材8に接触する箇所)は、点Cと点Dである。したがって、ノズル5と母材8とが干渉するかどうかは、溶接トーチ3aを代表する箇所であるノズル5の点C,点Dが、
図3Bで示される領域I内に存在するかどうかによって判断することができる。そのため、トーチ位置算出部24は、その点C,点Dの位置を算出してもよい。ここで、領域Iは、母材8の表面に応じた直線F1より図中上側であり、直線F2より図中右側である領域である。なお、
図3Bでは、直線F2の位置を把握しやすくするため、xy座標軸の表示を省略している。
【0027】
なお、後述する修正部26によってトーチ姿勢が修正された場合に、トーチ位置算出部24は、その修正されたトーチ姿勢に応じた溶接トーチ3aの位置である修正位置をも算出してもよい。また、修正部26によって教示点が修正された場合には、トーチ位置算出部24は、その修正された教示点に応じた溶接トーチ3aの位置をも算出してもよい。また、トーチ位置算出部24は、ウィービング幅情報をも用いて、判断対象のパスに応じた溶接における溶接トーチ3aの位置を算出してもよい。その場合には、トーチ位置算出部24は、ウィービングによる溶接トーチ3aの移動をも考慮して、最大の振れ幅における点C,点Dの位置を算出してもよい。すなわち、ウィービングのある場合には、トーチ位置算出部24は、ウィービングにおいて溶接トーチ3aが存在しうる最も広い範囲に応じた溶接トーチ3aの位置を算出してもよい。また、トーチ位置算出部24は、教示情報で示されるすべてのパスについて、溶接トーチ3aの位置を算出してもよく、または、一部のパスについてのみ、溶接トーチ3aの位置を算出してもよい。また、トーチ位置算出部24が算出した溶接トーチ3aの位置は、図示しない記録媒体で記憶されてもよい。
【0028】
ここで、溶接トーチの位置、すなわち、点C,点Dを算出する方法について、ウィービングのない場合と、ウィービングのある場合とに分けて説明する。
【0029】
[ウィービングのない場合における溶接トーチの位置の算出方法]
ウィービングのない場合における溶接トーチ3aの位置の算出方法について、
図4Aを参照しながら説明する。
図4Aで示されるように、溶接線に垂直な平面において、溶接ワイヤ6の先端位置である点Aの座標を(x
1,y
1)とし、溶接ワイヤ6がノズル5から出てくる位置である点Bの座標を(x
2,y
2)とし、ノズル5先端の両端点C,Dの座標をそれぞれ(x
3,y
3)、(x
4,y
4)とする。また、溶接ワイヤ6の長さ方向(溶接トーチ3aの長手方向軸線)は、基準平面である水平面に対して、狙い角θだけ傾いているものとする。点Aの座標(x
1,y
1)及び狙い角θは、教示情報に含まれるものとする。また、ノズル5から突出している溶接ワイヤ6の長さをLとし、ノズル5の直径をnとしている。そのL及びnは、トーチ情報に含まれているものとする。すると、点Bの座標(x
2,y
2)は、次式のように算出できる。なお、本実施の形態では、溶接ワイヤ6の長さ方向と、溶接トーチ3aの長手方向軸線とが実質的に同じであるとしている。
x
2=x
1+Lcosθ
y
2=y
1+Lsinθ
【0030】
また、点Bは、ノズル5の中心であるため、点Bと点Cとの距離はn/2となる。したがって、点Cの座標(x
3,y
3)は、次式のようになる。
x
3=x
2−(n/2)sinθ=x
1+Lcosθ−(n/2)sinθ
y
3=y
2+(n/2)cosθ=y
1+Lsinθ+(n/2)cosθ
また、同様にして、点Dの座標(x
4,y
4)は、次式のようになる。
x
4=x
2+(n/2)sinθ=x
1+Lcosθ+(n/2)sinθ
y
4=y
2−(n/2)cosθ=y
1+Lsinθ−(n/2)cosθ
したがって、上述のようにして、教示点(x
1,y
1)や、トーチ姿勢θ、トーチ情報L,nを用いて、溶接トーチ3aの位置(x
3,y
3)、(x
4,y
4)を算出することができる。
【0031】
[ウィービングのある場合における溶接トーチの位置の算出方法]
ウィービングのある場合における溶接トーチ3aの位置の算出方法について、
図4Bを参照しながら説明する。
図4Bで示されるように、幅がwであるウィービングが行われる場合であって、そのウィービングの幅が点C側と、点D側とで均等である場合には、最大の振れ幅である点C'と、点D'とは、点C,点Dからそれぞれw/2ずつウィービング方向に離れた点となる。すなわち、ノズル5の幅をn+wとした場合と実質的に同じとなる。したがって、ウィービングのない場合における点C,点Dの算出式において、nをn+wとすることによって、点C',点D'の座標を算出することができる。具体的には、点C'の座標(x
5,y
5)、点D'の座標(x
6,y
6)はそれぞれ次式のようになる。
x
5=x
2−(n/2+w/2)sinθ
=x
1+Lcosθ−(n/2+w/2)sinθ
y
5=y
2+(n/2+w/2)cosθ
=y
1+Lsinθ+(n/2+w/2)cosθ
x
6=x
2+(n/2+w/2)sinθ
=x
1+Lcosθ+(n/2+w/2)sinθ
y
6=y
2−(n/2+w/2)cosθ
=y
1+Lsinθ−(n/2+w/2)cosθ
したがって、上述のようにして、教示点(x
1,y
1)や、トーチ姿勢θ、トーチ情報L,n、ウィービング幅情報wを用いて、ウィービングを考慮した溶接トーチ3aの位置(x
5,y
5)、(x
6,y
6)を算出することができる。
【0032】
なお、上記説明では、ウィービングの幅が点C側と、点D側とで均等であるとしたが、そうでなくてもよい。例えば、点C側がw/4であり、点D側が3w/4であってもよい。その場合には、点C側では、n/2をn/2+w/4とし、点D側では、n/2をn/2+3w/4とすることによって、点C',点D'の座標を算出できる。
【0033】
また、上記説明では、トーチ姿勢の変化しないウィービングの場合について説明したが、トーチ姿勢の変化するウィービングの場合でも、点C'や点D'の位置は、例えば、ウィービングの振りの中心座標と、その振りの角度、その中心座標から点C,点Dまでの距離等を用いて算出できることは明らかであり、その詳細な説明は省略する。
【0034】
干渉判断部25は、形状情報と、トーチ位置算出部24によって算出された溶接トーチ3aの位置とを用いて、判断対象のパスに応じた溶接において溶接トーチ3aと母材8とが干渉するかどうか判断する。その判断は、トーチ位置算出部24によって位置の算出された点C,点Dが、
図3Bの領域Iに含まれるかどうかの判断であってもよく、トーチ位置算出部24によって位置の算出された点C',点D'が、
図3Bの領域Iに含まれるかどうかの判断であってもよい。なお、領域Iは、母材8の位置によって決まる領域(すなわち、形状情報によって決まる領域)であり、溶接トーチ3aが母材8と干渉することなく自由に移動することができる領域である。例えば、
図3Bにおいて、直線F1,F2の式が次式のようであったとする。a
1,b
1,c
1,a
2,b
2,c
2は、任意の実数である。ただし、a
1,b
1の少なくとも一方は0でなく、a
2,b
2の少なくとも一方は0でないものとする。この直線F1,F2の式を示す情報が、形状情報であってもよいことは前述の通りである。
直線F1:a
1x+b
1y=c
1
直線F2:a
2x+b
2y=c
2
【0035】
また、
図3Bにおいて、直線F1より領域I側がa
1x+b
1y≧c
1となり、直線F2より領域I側がa
2x+b
2y≧c
2となるとすると、領域Iは、a
1x+b
1y≧c
1かつa
2x+b
2y≧c
2の領域となる。したがって、干渉判断部25は、例えば、溶接トーチ3aの位置である点C(x
3,y
3)が領域Iに存在するかどうかを、
a
1x
3+b
1y
3≧c
1
a
2x
3+b
2y
3≧c
2
の両方が満たされるかどうかによって判断することができる。両方が満たされる場合には、点Cが領域Iに存在することになる。また、点Dや、点C',点D'についても、同様に判断することができる。また、ここでは、直線F1,F2上が領域Iに含まれるとしているが、直線F1,F2上は領域Iに含まれないとしてもよい。その場合には、上述の不等号「≧」を「>」とすればよい。干渉判断部25は、通常、トーチ位置算出部24が算出した2個の位置のそれぞれについて、領域Iに含まれるかどうかを判断する。したがって、干渉判断部25は、例えば、点C,点Dの両方が領域Iに含まれる、点Cは領域Iに含まれるが点Dは含まれない、点Dは領域Iに含まれるが点Cは含まれない、点C,点Dの両方が領域Iに含まれないなどの判断結果を取得することになる。その判断結果は、図示しない記録媒体で記憶されてもよい。
【0036】
また、干渉判断部25は、修正位置に応じた溶接において溶接トーチ3aと母材8とが干渉するかどうかをも判断してもよい。その場合も判断対象となる位置が、修正位置となる以外、上述の説明と同様である。
【0037】
修正部26は、干渉判断部25によって溶接トーチ3aと母材8とが干渉すると判断された場合に、その判断対象のパスに対応する教示情報の修正を行う。その教示情報の修正は、トーチ姿勢の修正であってもよく、教示点の修正であってもよく、または、その両方であってもよい。ここでは、修正部26が干渉の検知に応じてトーチ姿勢を修正し、その修正後の修正位置でも干渉が検知されたときに、教示点を修正する場合について主に説明する。その教示情報の修正は、その修正によって干渉が解消するように行われる。なお、修正部26は、修正後の教示情報を記憶部21に蓄積する。
【0038】
[トーチ姿勢の修正]
修正部26がトーチ姿勢を修正する方法について、
図5A,
図5B,
図5Cを用いて説明する。なお、ここでは、ウィービングのない場合について説明するが、ウィービングのある場合にも同様にして(点C等を点C'等とすることによって)、トーチ姿勢を修正できる。
図5Aにおいて、トーチ姿勢の修正前のノズル5や溶接ワイヤ6の位置を実線で示しており、トーチ姿勢の修正後のノズル5等の位置を破線で示している。
図5Aで示されるように、点Dは領域Iに存在するが、点Cが領域Iに存在しないため、干渉判断部25によって溶接トーチ3aと母材8とが干渉していると判断されたとする。すると、修正部26は、その干渉が解消されるように、溶接トーチ3aの長手方向軸線をγ
1だけ回転させ、トーチ姿勢である狙い角θをδ
1=θ−γ
1に修正する。以下、δ
1を算出する方法について説明する。
【0039】
図5Aの点C
1の座標を(x
7,y
7)とすると、点C
1は直線F2上に存在するため、
a
2x
7+b
2y
7=c
2
を満たすことになる。また、(x
3,y
3)と同様に、δ
1を用いて(x
7,y
7)を表すと次式のようになる。ただし、点Aの座標を前述の通り、(x
1,y
1)としている。
x
7=x
1+Lcosδ
1−(n/2)sinδ
1
y
7=y
1+Lsinδ
1+(n/2)cosδ
1
【0040】
したがって、直線F2の式「a
2x
7+b
2y
7=c
2」に(x
7,y
7)を代入すると、
asinδ
1+bcosδ
1=c
となる。ただし、a,b,cは、次式の通りである。
a=b
2L−a
2n/2
b=a
2L+b
2n/2
c=c
2−a
2x
1−b
2y
1
上記式をδ
1について解くと、次のようになる。ただし、r=(a
2+b
2)
1/2であり、α=sin
−1(b/r)である。
δ
1=sin
−1(c/r)−α
したがって、修正部26は、記憶部21で記憶されている狙い角θをδ
1に修正することによって、溶接トーチ3aが
図5Aの破線で示される位置となるようにすることができる。
【0041】
また、
図5Bで示されるように、点Cは領域Iに存在するが、点Dが領域Iに存在せず、干渉判断部25によって干渉していると判断された場合にも、上述の説明と同様にして、点C,点Dが、それぞれ点C
2,点D
2の位置となるように、トーチ姿勢をδ
2に修正することができる。
なお、
図5Aや
図5Bのように干渉が検知された場合に、
図5Cの破線で示されるノズル5等の位置となるように、トーチ姿勢を修正してもよい。
図5Cでは、溶接トーチ3aの長手方向軸線が、領域Iにおける母材8間の角度(例えば、開先角度)を2等分する方向となるようにトーチ姿勢を修正している。
【0042】
また、
図5A,
図5Bでは、点C,点Dのうち、一方のみが干渉している場合について説明したが、そうでなくてもよい。両方が干渉している場合(すなわち、点C,点Dの両方が領域Iに存在しない場合であり、例えば、
図6Bの実線の位置にノズル5等が存在する場合)にも、修正部26は、少なくとも1箇所の干渉が解消されるように(すなわち、点C,点Dの少なくとも一方が領域Iに含まれるように)、トーチ姿勢を修正してもよい。その場合には、例えば、点Cまたは点Dが領域Iに含まれるようにトーチ姿勢を修正すると決まっていてもよく、または、点C,点Dの状況によって、どちらを領域Iに含まれるようにトーチ姿勢を修正するのかが決められてもよい。後者の場合に、修正部26は、例えば、溶接トーチ3aの長手方向軸線が鉛直方向に近くなるように(
図5Aや
図5B等においては、狙い角が90°に近くなるように)トーチ姿勢を修正してもよい。通常、溶接トーチ3aの長手方向軸線が鉛直方向に近いアーク溶接(下向きアーク溶接)を行う方が、溶接トーチ3aを寝かした状態でアーク溶接を行うよりもアークが安定し、より品質の高い溶接を行うことができるからである。
【0043】
[教示点の修正]
修正部26が教示点を修正する方法について、
図6A,
図6Bを用いて説明する。なお、ここでは、ウィービングのない場合について説明するが、ウィービングのある場合にも同様にして、教示点を修正できる。修正部26は、トーチ姿勢の修正後にも干渉していると判断された場合に、この教示点の修正を行ってもよく、干渉していると判断された場合に、トーチ姿勢の修正を行わずに、この教示点の修正を行ってもよい。本実施の形態では、前者の場合、すなわち、干渉判断部25によって修正位置に応じた溶接において溶接トーチ3aと母材8とが干渉すると判断されたときに、干渉が解消されるように教示点を移動させる場合について説明する。
図6Aにおいて、教示点の修正前のノズル5や溶接ワイヤ6の位置を実線で示しており、教示点の修正後のノズル5等の位置を破線で示している。
図6Aで示されるように、点Cは領域Iに存在するが、点Dが領域Iに存在せず、干渉していると判断された場合には、修正部26は、点A,点Cの含まれる直線F2方向(母材8の表面の方向)に教示点Aを移動させることによって、干渉を解消してもよい。すなわち、修正部26は、点Dが、直線F1上の点D
4の位置となるように、教示点Aを点A
4の位置に移動させてもよい。なお、点Dは領域Iに存在するが、点Cが領域Iに存在しない場合にも、同様にして、教示点を修正することによって干渉を解消することができる。一般的に言えば、点C,点Dのうち、一方が領域Iに存在せず、他方が領域Iに存在する場合には、修正部26は、直線F1,F2のうち、点C,点Dの両方が不等式を満たす直線の方向に教示点Aを移動させることにより、点C,点Dの両方が領域Iに含まれるようにしてもよい。なお、教示点Aを移動させる方向は、直線F1,F2において、両者の交点から離れる方向(すなわち、開先から離れる方向)であってもよい。
【0044】
また、溶接トーチ3aの長手方向軸線が、領域Iにおける母材8間の角度(例えば、開先角度)を2等分する方向である場合には、修正部26は、
図6Bで示されるように、教示点Aを溶接トーチ3aの長手方向に移動させることによって、点C,点Dがそれぞれ点C
5,点D
5のように領域I内となるようにしてもよい。なお、
図6Bにおいても、教示点の修正前のノズル5や溶接ワイヤ6の位置を実線で示しており、教示点の修正後のノズル5等の位置を破線で示している。この
図6Bで示される教示点の修正は、例えば、
図5Cで示されるトーチ姿勢の修正が行われた後に行われてもよい。また、
図6Bで示される教示点の修正は、例えば、溶接ワイヤ6の長さ方向をZ軸方向とする3次元直交座標系であるツール座標系において、教示点Aの位置を、そのZ軸方向に移動させることによって行われてもよい。また、トーチ姿勢の修正行わないで教示点の修正を行う場合にも、修正部26は、教示点Aを溶接トーチ3aの長手方向に移動させる修正を行ってもよい。
【0045】
なお、教示点を修正する際に、修正後の教示点によって干渉するかどうかを確認するため、適宜、トーチ位置算出部24による溶接トーチ3aの位置の算出や、干渉判断部25による判断等の処理を行ってもよい。
【0046】
また、本実施の形態では、制御装置1が干渉回避装置2を有する場合について主に説明するが、そうでなくてもよい。例えば、ティーチングペンダントが干渉回避装置2を有していてもよい。そして、その干渉回避装置2は、制御装置1の記憶部からパス等の情報を読み出して、干渉の判断や修正等を行い、修正後の教示情報を制御装置1に戻してもよい。また、干渉回避装置2は、制御装置1やティーチングペンダントと別途、独立して存在してもよい。
【0047】
マニピュレータ3は、減速機を介して駆動モータにより駆動される関節によって連結された複数のアームを有している。その駆動モータは、エンコーダを有しており、そのエンコーダによって駆動モータの現在位置が検出されてもよい。また、そのマニピュレータ3の先端には、母材8に対してアーク溶接を行う溶接トーチ3aが取り付けられている。そして、溶接ワイヤがワイヤ送給部3bから送給され、溶接機4によって、溶接トーチ3aの先端の溶接ワイヤと母材8との間に高電圧が印加されることによってアークが発生し、そのアークの熱で溶接ワイヤ及び母材8が溶融されることにより、母材8に対する溶接が行われる。なお、マニピュレータ3の構成はすでに公知であり、その詳細な説明を省略する。また、アーク溶接では、シールドガスを溶接トーチ3aから噴出することが一般的であるが、その構成の説明は省略している。
【0048】
溶接機4は、溶接で用いられる高電圧を溶接トーチ3aや母材8に供給する溶接電源や、ワイヤ送給部3bによる溶接ワイヤの送給を制御するワイヤ送給制御部、制御装置1から送信される溶接条件に応じて、溶接電源を制御する溶接制御部等を備えている。また、溶接機4は、溶接電流、溶接電圧、溶接ガス流量、ワイヤ送給速度等のデータを取得し、そのデータを制御装置1に送信してもよい。なお、溶接機4の構成はすでに公知であり、その詳細な説明を省略する。
【0049】
また、本実施の形態では、制御装置1が1個のマニピュレータ3と、1個の溶接機4とを制御する場合について説明するが、そうでなくてもよい。制御装置1は、複数のマニピュレータ3及び複数の溶接機4を制御してもよい。したがって、干渉回避装置2は、複数の溶接ロボットに関する多層盛溶接におけるパスについて、干渉の検知や、教示情報の修正等の処理を行ってもよい。そのような場合には、教示情報等には、どの溶接ロボットのデータであるのかを示す識別情報が付与されてもよい。
【0050】
次に、干渉回避装置2の動作について
図2Aのフローチャートを用いて説明する。
(ステップS101)受付部22は、形状情報や教示情報、トーチ情報、ウィービング幅情報を受け付け、記憶部21に蓄積する。ウィービングを行わない場合には、ウィービング幅=0を示すウィービング幅情報が蓄積されてもよい。なお、受付部22は、例えば、1パス目の教示情報を受け付けて記憶部21に蓄積してもよい。そして、その1パス目の教示情報や、形状情報等に応じて、2パス目以降の教示情報がパス生成部23によって生成され、記憶部21に蓄積されてもよい。また、上述のように、溶接トーチ3aの位置を実際に移動させることによって1パス目の教示情報を設定する場合には、制御部12によってその教示情報の蓄積が行われてもよい。なお、ステップS101の情報の受け付けは、例えば、ユーザに対する情報の入力の指示に応じてティーチングペンダントを介してなされてもよい。
【0051】
(ステップS102)トーチ位置算出部24は、溶接線(溶接パス)を識別するカウンタpに1を設定する。
【0052】
(ステップS103)トーチ位置算出部24は、p番目のパスに応じた溶接トーチ3aの位置を算出する。この処理の詳細については、
図2Bのフローチャートを用いて後述する。
【0053】
(ステップS104)干渉判断部25は、算出された位置に領域Iの外部の点があるかどうか判断する。そして、領域Iの外部の点がある場合には、干渉しているためステップS105に進み、そうでない場合には、干渉していないためステップS112に進む。
【0054】
(ステップS105)干渉判断部25は、算出された2個の端点のうち、両方が領域Iの外部であるかどうか判断する。そして、一方のみが領域Iの外部である場合には、ステップS106に進み、両方が領域Iの外部である場合には、ステップS109に進む。
【0055】
(ステップS106)修正部26は、領域Iの外部となっている端点が領域Iに含まれるように、p番目のパスのトーチ姿勢を修正する。例えば、
図5Aで示されるように、点Cが領域Iに含まれない場合には、点Cが点C
1の位置となるように、狙い角θをδ
1に修正することになる。また、例えば、
図5Bで示されるように、点Dが領域Iに含まれない場合には、点Dが点D
2の位置となるように、狙い角θをδ
2に修正することになる。
【0056】
(ステップS107)トーチ位置算出部24は、p番目のパスに応じた溶接トーチ3aの位置を、修正後のトーチ姿勢を用いて算出する。この処理の詳細については、
図2Bのフローチャートを用いて後述する。
【0057】
(ステップS108)干渉判断部25は、ステップS107で算出された位置に領域Iの外部の点があるかどうか判断する。そして、領域Iの外部の点がある場合には、干渉しているためステップS111に進み、そうでない場合には、干渉していないためステップS112に進む。
【0058】
(ステップS109)修正部26は、領域Iの外部となっている2個の端点のうち、少なくとも一方が領域Iに含まれるように、p番目のパスのトーチ姿勢を修正する。この修正において、前述のように、溶接トーチ3aの長手方向が鉛直方向に近くなる方向にトーチ姿勢を修正してもよい。そのような修正方法について、具体的に説明する。例えば、
図6Bの実線で示されるように、点C,点Dの両方が干渉している場合には、修正部26は、直線F1,F2の傾斜角を比較する。なお、傾斜角は、水平方向からの角度(0〜90度)であるとする。そして、直線F1の傾斜角>直線F2の傾斜角である場合には、直線F1の方が鉛直方向(傾斜角=90度)に近いため、修正部26は、溶接トーチ3aの長手方向が直線F1の方向に近づくようにトーチ姿勢を修正する。すなわち、修正部26は、点C側の干渉が解消されるようにトーチ姿勢を修正する。一方、直線F1の傾斜角<直線F2の傾斜角である場合には、直線F2の方が鉛直方向に近いため、修正部26は、溶接トーチ3aの長手方向が直線F2の方向に近づくようにトーチ姿勢を修正する。すなわち、修正部26は、点D側の干渉が解消されるようにトーチ姿勢を修正する。なお、直線F1の傾斜角=直線F2の傾斜角である場合には、修正部26は、どちらの直線に近づくようにトーチ姿勢を修正してもよい。
【0059】
(ステップS110)トーチ位置算出部24は、p番目のパスに応じた溶接トーチ3aの位置を、修正後のトーチ姿勢を用いて算出する。この処理の詳細については、
図2Bのフローチャートを用いて後述する。
【0060】
(ステップS111)修正部26は、領域Iの外部に存在する溶接トーチ3aの位置が領域Iの内部となるように、p番目のパスの教示点を修正する。
【0061】
(ステップS112)トーチ位置算出部24は、カウンタpが、パスの総数P以上であるかどうか判断する。そして、pがP以上である場合には、多層盛溶接におけるP個のすべてのパスについて処理を行ったため、教示情報を修正する一連の処理は終了となり、pがP未満である場合には、ステップS113に進む。なお、パスの総数Pは、図示しない記録媒体で記憶されているものとする。
【0062】
(ステップS113)トーチ位置算出部24は、カウンタpを1だけインクリメントする。そして、ステップS103に戻る。
この
図2Aのフローチャートで示されるように、各パスについて干渉を判断し、干渉が起こっている場合には、その干渉が解消するように教示情報を修正することによって、干渉の起こらない教示情報とすることができ、結果として干渉を回避できるようになる。なお、
図2Aのフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、
図2Aのフローチャートにおいて、1パス目から順番に干渉の判断等を行う場合について説明したが、そうでなくてもよい。例えば、1パス目は干渉が起こらないように手作業で教示されている場合には、2パス目から干渉の判断等を行ってもよい。その場合には、例えば、ステップS102において、カウンタpに2を設定してもよい。
【0063】
図2Bは、
図2Aのフローチャートにおける溶接トーチ3aの位置を算出する処理(ステップS103,S107,S110)の詳細を示すフローチャートである。
(ステップS201)トーチ位置算出部24は、p番目のパスにおいて、ウィービングを行うかどうか判断する。そして、ウィービングを行う場合には、ステップS202に進み、ウィービングを行わない場合には、ステップS203に進む。なお、トーチ位置算出部24は、例えば、p番目のパスのウィービングの幅が0に設定されている場合にウィービングがないと判断し、0以外に設定されている場合にウィービングがあると判断してもよい。
【0064】
(ステップS202)トーチ位置算出部24は、教示情報やトーチ情報、ウィービング幅情報を用いて、ウィービングのある場合の溶接トーチ3aの位置を算出する。その算出は、溶接方向に直交する平面における溶接トーチ3aの2個の端点の位置を算出すること、例えば、
図4Bにおける点C'や点D'の座標を算出することであってもよい。そして、
図2Aのフローチャートに戻る。
【0065】
(ステップS203)トーチ位置算出部24は、教示情報やトーチ情報を用いて、ウィービングのない場合の溶接トーチ3aの位置を算出する。その算出は、溶接方向に直交する平面における溶接トーチ3aの2個の端点の位置を算出すること、例えば、
図4Aにおける点Cや点Dの座標を算出することであってもよい。そして、
図2Aのフローチャートに戻る。
【0066】
なお、ステップS202,S203において、ステップS103に応じた溶接トーチ3aの位置の算出を行う場合には、あらかじめ記憶部21に設定されている教示情報に含まれるp番目のパスのトーチ姿勢を用いるものとする。一方、ステップS107やステップS110に応じた溶接トーチ3aの位置の算出を行う場合には、ステップS106やステップS109で修正されたp番目のパスのトーチ姿勢を用いるものとする。
【0067】
また、上記説明では、レ型開先を有する母材8について主に説明したが、例えば、I形、V形、X形、U形、K形、J形、両面J形、H形等の開先を有する母材8についても同様に、干渉の判断等を行うことができる。なお、U形やJ形等のように、溶接を行う面が曲線である場合には、直線F1,F2に代えて、曲線を用いてもよい。
【0068】
以上のように、本実施の形態による干渉回避装置2によれば、教示情報に応じて溶接を行うと溶接トーチ3aと母材8との干渉が起こる場合に、その教示情報を事前に修正することによって実際の干渉を回避することができる。特に、ウィービングを行う場合には、干渉を回避するようにティーチングを行うことが困難になるが、干渉回避装置2による干渉の判断や、その判断結果に応じた教示情報の修正等を行うことによって、ウィービングを行う場合であっても干渉を回避できるようになる。また、教示情報の修正において、まずトーチ姿勢の修正を行い、その修正によっても干渉を解消できない場合に教示点の修正を行うことによって、必要最小限の修正によって、干渉を回避できるようになりうる。
【0069】
なお、本実施の形態では、直線F1,F2を用いて干渉の有無を判断する場合について説明したが、そうでなくてもよい。例えば、
図7で示される場合には、点Dが直線F1,F2によって決定される領域Iに存在しないが、干渉は起きないことになる。したがって、干渉判断部25は、例えば、点C,点Dの少なくとも一方が領域Iに存在しない場合であっても、
図7における線分ABと、線分CDとが母材8と重ならない場合には、干渉しないと判断してもよい。なお、線分ABや線分CDと、母材8とが重なるかどうかの判断は、形状情報を用いて行われてもよい。
【0070】
また、本実施の形態では、溶接線に垂直な平面内の座標を用いて、干渉の判断等を行う場合について説明したが、そうでなくてもよい。例えば、3次元座標系における溶接トーチ3aの位置(3次元形状)を算出し、その溶接トーチ3aの位置と形状情報で示される母材8の位置とを用いて、溶接トーチ3aと母材8とが干渉するかどうかを3次元座標系において判断し、干渉している場合には、その干渉が解消されるようにトーチ姿勢や教示点を修正するようにしてもよい。このように、3次元座標系における処理を行うことによって、より正確な判断等を行うことができ、またより複雑な形状等に対応することができるようになる。
【0071】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0072】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0073】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス、母材や開先の形状等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【0074】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、母材や開先の形状、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0075】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0076】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。