(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、本発明による算出装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【0015】
(実施の形態1)
本発明の実施の形態1による算出装置を備えた制御装置について、図面を参照しながら説明する。本実施の形態による算出装置は、ビード端のなす平面である端面が溶接線方向に対して傾斜している多層盛溶接におけるパス(溶接パス)の端点を算出するものである。
【0016】
図1は、本実施の形態による溶接ロボットシステムの構成を示すブロック図である。本実施の形態による溶接ロボットシステムは、制御装置1と、マニピュレータ3と、溶接機4とを備える。
制御装置1は、溶接機4との間で通信を行う通信部11と、マニピュレータ3や溶接機4を制御する制御部12と、算出装置2とを備える。算出装置2は、溶接ロボットの多層盛溶接におけるパスの端点を算出するものであり、記憶部21と、受付部22と、パス生成部23と、端面算出部24と、端点算出部25とを備える。
【0017】
通信部11は、制御部12からの指示に応じて、溶接開始、溶接終了、溶接ワイヤの送給開始、送給終了などの指示を溶接機4に送信する。また、通信部11は、溶接ロボットにおいて取得されるデータ、例えば、溶接電流、溶接電圧、溶接ガス流量等を受信してもよい。
【0018】
制御部12は、記憶部21で記憶されている教示点や、ティーチングペンダント(図示せず)から入力される操作信号、マニピュレータ3のエンコーダから受け取る駆動モータの現在位置等に応じて、マニピュレータ3の各駆動モータの位置を制御する。その制御によって、溶接トーチ3aが所望の位置に移動されることになる。なお、その制御の際に、制御部12は、サーボコントローラを介してマニピュレータ3を制御してもよい。また、制御部12は、通信部11を介して、図示しない記録媒体で記憶されている溶接作業プログラムや、溶接条件等に応じて、溶接機4による溶接の開始や終了、出力電圧、溶接ワイヤの送給の開始や終了等を制御する。
【0019】
記憶部21では、多層盛溶接におけるビード端のなす平面である端面の溶接線方向に対する傾きに関する情報である端面傾斜情報と、多層盛溶接における1パス目の教示点とが記憶される。端面傾斜情報は、端面の傾きを示すことができる情報であればどのような情報であってもよく、例えば、端面の傾斜角を示す情報であってもよく、多層盛溶接における最終層の溶接線方向における伸縮長さを示す情報であってもよく、その他の情報であってもよい。その傾斜角は、端面における所定の方向と、1パス目などの所定の方向とのなす角度であってもよい。具体的には、その傾斜角は、1パス目のパスを含む平面(断面)における、1パス目と、端面の方向とのなす角度であってもよい。なお、端面は、ビード端における溶接金属のたれを防止する観点から、最終層に向かうほど、各層の溶接線が短くなるように傾斜していることが好適である。したがって、通常、端面の傾斜角は、溶接線方向に対して直角ではないことになる。また、1パス目の教示点は、ワールド座標系等の座標系における座標値等を指定することによって記憶部21に設定されてもよく、または、マニピュレータ3における溶接トーチ3aの位置を実際に移動させることによって設定されてもよい。また、それら以外の情報が記憶部21で記憶されてもよいことは言うまでもない。例えば、多層盛溶接における2パス目以降の教示点が記憶部21で記憶されてもよい。また、例えば、後述するように、端点算出部25が算出した2パス目以降の各パスの端点も記憶部21で記憶されてもよい。
【0020】
ここで、多層盛溶接における各層(溶接層)と母材との関係について簡単に説明する。各層と母材との関係として、例えば、
図3A,
図3Bで示されるものがある。
図3A,
図3Bは、多層盛溶接の行われた箇所の溶接線方向に垂直な断面図である。丸数字が、パス(溶接線)を示しており、その数字の順に溶接が行われることになる。
図3Aでは、各母材8a,8bの面方向(図中の左右方向及び上下方向)と各層とのなす角度が略同じになっている。したがって、各層(特に、第2層、第3層)は、溶接箇所の深さ方向(例えば、開先深さ方向)に直交する方向となっている。また、
図3Bでは、いずれかの母材8aの面方向(図中の左右方向)に対して各層が略平行になっている。なお、
図3Bの多層盛溶接では、通常、各層が水平方向に近くなるように溶接が行われるが、そうでなくてもよい。また、角度が略同じであるとは、角度が実質的に同じと見なせる程度に近似していることである。また、各層が略平行であるとは、各層が実質的に平行であると見なせる程度に平行であることである。以下、
図3Aで示される多層盛溶接によるビードの積み方を第1の積み方と呼び、
図3Bで示される多層盛溶接によるビードの積み方を第2の積み方と呼ぶことがある。なお、本実施の形態における多層盛溶接は、通常、
図3A,
図3Bで示されるように、2以上の溶接線を含む層が存在する多層盛溶接や、各層に含まれる溶接線の数が異なる多層盛溶接であるが、そうでなくてもよい。また、本実施の形態における多層盛溶接は、
図3A,
図3B以外の積み方であってもよい。すなわち、各層がいずれの母材の面方向に対しても平行でなく、また、各母材の面方向と各層のなす角度が同じでなくてもよい。
【0021】
記憶部21に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部21で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部21で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部21で記憶されるようになってもよい。本実施の形態では、受付部22が受け付けた情報や、パス生成部23が生成した情報、端点算出部25が算出した情報等が記憶部21で記憶されるようになる場合について主に説明する。記憶部21は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。また、記憶部21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。また、記憶部21は、単一の記録媒体で構成されてもよく、または、複数の記録媒体で構成されてもよい。後者の場合には、例えば、端面傾斜情報や教示点と、端点算出部25によって蓄積される2パス目以降の各パスの端点とは、別々の記録媒体で記憶されてもよい。
【0022】
受付部22は、情報を受け付け、記憶部21に蓄積する。その情報は、例えば、パスの教示点であってもよい。受付部22は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された情報を受け付けてもよい。本実施の形態では、受付部22が、ティーチングペンダントを介して入力された情報を受け付ける場合について主に説明する。なお、受付部22は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部22は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0023】
パス生成部23は、多層盛溶接における2パス目以降のパスを生成し、記憶部21に蓄積してもよい。そのパスを生成する方法は問わないが、例えば、特開2009−119525号公報に記載された方法を用いてもよい。そのパスの生成の際に、溶接を行う母材の形状や、開先形状等を示す情報を用いてもよい。また、そのパスの生成の際に、ティーチングペンダント等を介してユーザからの指示を受け付けてもよく、またはそうでなくてもよい。パス生成部23が生成した情報は、例えば、記憶部21で記憶されていてもよい。
【0024】
端面算出部24は、記憶部21で記憶されている端面傾斜情報及び1パス目の教示点を用いて、端面の位置を算出する。端面の位置の算出とは、端面の位置を特定できる情報を算出することである。その情報は、例えば、ワールド座標系等の座標系における端面の位置を示す平面の方程式(例えば、ax+by+cz=d等)であってもよく、または、その式に含まれる係数(例えば、a,b,c,d等)であってもよい。1パス目の教示点によって、1パス目に相当する溶接線の位置を知ることができ、また端面傾斜情報によって、その溶接線に対する端面の位置を知ることができる。したがって、端面算出部24は、それらの情報を用いて、端面の位置を特定することができることになる。なお、端面の位置を算出する具体的な処理については後述する。
【0025】
端点算出部25は、端面算出部24が位置を算出した端面と、2パス目以降の各パスに応じた線との交点である2パス目以降の各パスの端点を算出し、記憶部21に蓄積する。2パス目以降の各パスに応じた線とは、2パス目以降の各パスに相当する直線もしくは曲線であってもよく、または、その直線もしくは曲線が端面と交わらない場合には、2パス目以降の各パスに相当する直線もしくは曲線を延長(外挿)した直線もしくは曲線であってもよい。各パスを延長する場合に、パスが直線であれば、その直線を長さ方向に延長することになる。一方、パスが曲線であれば、例えば、その曲線の曲率等が変わらないように延長することが好適である。その2パス目以降の各パスを示す教示点は、1パス目と同様に記憶部21で記憶されていてもよい。2パス目以降の各パスの教示点は、例えば、1パス目と同様に、ユーザによって入力されたものであってもよく、または、パス生成部23によって1パス目の教示点等を用いて生成されたものであってもよい。端点を算出するとは、端点の位置を特定可能な情報を生成することであり、例えば、端点の座標を算出することであってもよく、パスのデフォルトの端点(伸縮前の端点)と、端面上のパスの端点とのオフセット量を算出することであってもよい。なお、パスのデフォルトの端点は、通常、端面上ではない位置の点であり、例えば、パス生成部23が生成したパスの端等である。端点算出部25が算出した2パス目以降の各パスの端点の位置が、2パス目以降の各パスの溶接開始点や溶接終了点となる。2パス目以降の各パスについては、この端点算出部25が算出した端点を溶接開始点または溶接終了点とするパスを用いた溶接が行われることになる。
【0026】
マニピュレータ3は、減速機を介して駆動モータにより駆動される関節によって連結された複数のアームを有している。その駆動モータは、エンコーダを有しており、そのエンコーダによって駆動モータの現在位置が検出されてもよい。また、そのマニピュレータ3の先端には、母材(ワーク)8に対してアーク溶接を行う溶接トーチ3aが取り付けられている。そして、溶接ワイヤがワイヤ送給部3bから送給され、溶接機4によって、溶接トーチ3aの先端の溶接ワイヤと母材8との間に高電圧が印加されることによってアークが発生し、そのアークの熱で溶接ワイヤ及び母材8が溶融されることにより、母材8に対する溶接が行われる。なお、マニピュレータ3の構成はすでに公知であり、その詳細な説明を省略する。また、アーク溶接では、シールドガスを溶接トーチ3aから噴出することが一般的であるが、その構成の説明は省略している。
【0027】
溶接機4は、溶接で用いられる高電圧を溶接トーチ3aや母材8に供給する溶接電源や、ワイヤ送給部3bによる溶接ワイヤの送給を制御するワイヤ送給制御部、制御装置1から送信される溶接条件に応じて、溶接電源を制御する溶接制御部等を備えている。また、溶接機4は、溶接電流、溶接電圧、溶接ガス流量、ワイヤ送給速度等のデータを取得し、そのデータを制御装置1に送信してもよい。なお、溶接機4の構成はすでに公知であり、その詳細な説明を省略する。
【0028】
また、本実施の形態では、制御装置1が1個のマニピュレータ3と、1個の溶接機4とを制御する場合について説明するが、そうでなくてもよい。制御装置1は、複数のマニピュレータ3及び複数の溶接機4を制御してもよい。したがって、算出装置2は、複数の溶接ロボットに関する多層盛溶接におけるパスの端点を算出してもよい。そのような場合には、算出されたパス等には、どの溶接ロボットのデータであるのかを示す識別情報が付与されてもよい。
【0029】
次に、本実施の形態による算出装置2の動作について
図2のフローチャートを用いて説明する。
(ステップS101)受付部22は、1パス目の教示点を受け付け、記憶部21に蓄積する。なお、受付部22は、2パス目以降の教示点をも受け付けて、記憶部21に蓄積してもよい。また、前述のように、溶接トーチ3aの位置を実際に移動させることによって1パス目の教示点を設定する場合には、制御部12によってその教示点の蓄積が行われてもよい。
【0030】
(ステップS102)受付部22は、端面傾斜情報と、多層盛溶接を第1の積み方(
図3A)で行うのか、第2の積み方(
図3B)で行うのかの選択結果を示す情報とを受け付け、記憶部21に蓄積する。なお、多層盛溶接の最終層に関する情報は、受付部22で受け付けられるのではなく、マニピュレータ3における溶接トーチ3aの位置を実際に移動させることによって設定されてもよい。また、母材の形状に関する情報も受け付けられて記憶部21に蓄積されてもよい。
なお、ステップS101,S102の情報の受け付けは、例えば、ユーザに対する情報の入力の指示に応じてティーチングペンダントを介してなされてもよい。また、ステップS101,S102において、多層盛溶接の最終層に関する情報(例えば、多層盛溶接の層の数を示す情報であってもよく、多層盛溶接の全厚さを示す情報であってもよく、最終層の位置を示す情報であってもよい)が受け付けられ、記憶部21に蓄積されても追い。なお、その多層盛溶接の最終層に関する情報は、最終層におけるパスの教示点であってもよい。また、1パス目の教示点を用いて2パス目以降の教示点が算出される場合には、パス生成部23は、蓄積された1パス目の教示点や、母材の形状に関する情報、多層盛溶接の最終層に関する情報を用いて2パス目以降の教示点を算出し、記憶部21に蓄積してもよい。
【0031】
(ステップS103)端面算出部24は、多層盛溶接におけるビードの積み方として、第1の方法が選択されたのか、第2の方法が選択されたのかを判断する。そして、第1の積み方が選択された場合には、ステップS104に進み、第2の積み方が選択された場合には、ステップS105に進む。
【0032】
(ステップS104)端面算出部24は、第1の積み方に応じた端面の位置を算出する。端面算出部24は、通常、1パス目の両端点に応じた2個の端面の位置を算出するが、そうでなくてもよい。端面算出部24は、1パス目の一方の端点に応じた1個の端面の位置を算出してもよい。その端面の位置は、記憶部21や図示しない記録媒体で記憶されてもよい。なお、このステップの詳細な処理については後述する。
【0033】
(ステップS105)端面算出部24は、第2の積み方に応じた端面の位置を算出する。端面算出部24は、通常、1パス目の両端点に応じた2個の端面の位置を算出するが、そうでなくてもよい。端面算出部24は、1パス目の一方の端点に応じた1個の端面の位置を算出してもよい。その端面の位置は、記憶部21や図示しない記録媒体で記憶されてもよい。なお、このステップの詳細な処理については後述する。
【0034】
(ステップS106)端点算出部25は、層を識別するカウンタnに1を設定し、各層における溶接線(溶接パス)を識別するカウンタpに2を設定する。すなわち、端点算出部25は、第1層における第2番目のパス以降のパスについて、端点を算出し、第1層の1番目のパスについては、1パス目の教示点によって示される端点をそのまま使用するものとする。
【0035】
(ステップS107)端点算出部25は、カウンタnがNを超えているかどうか判断する。そして、カウンタnがNを超えている場合には、パスの端点を算出する一連の処理は終了となり、超えていない場合には、ステップS108に進む。なお、Nは、層の数である。すなわち、最終層のカウントnの値がNとなる。そのNの値は、図示しない記録媒体で記憶されているものとする。
【0036】
(ステップS108)端点算出部25は、カウンタpがP
nを超えているかどうか判断する。そして、カウンタpがP
nを超えている場合には、第n層におけるすべてのパスについて端点の算出が行われたことになるため、ステップS111に進み、そうでない場合には、ステップS109に進む。なお、P
nは、第n層におけるパスの数である。すなわち、第n層における最終パスのカウントpの値がP
nとなる。各nに対応するP
nの値(P
1,P
2,…,P
N)は、図示しない記録媒体で記憶されているものとする。
【0037】
(ステップS109)端点算出部25は、ステップS104またはステップS105で位置の算出された端面と、第n層における第p番目のパスに応じた線との交点である端点を算出し、記憶部21に蓄積する。2個の端面の位置が算出された場合には、端点算出部25は、その端面のそれぞれに対応する2個の端点を算出し、1個の端面の位置が算出された場合には、端点算出部25は、その端面に対応する1個の端点を算出してもよい。なお、このステップの詳細な処理については後述する。
【0038】
(ステップS110)端点算出部25は、カウンタpを1だけインクリメントする。そして、ステップS108に戻る。
【0039】
(ステップS111)端点算出部25は、カウンタnを1だけインクリメントし、カウンタpに1を設定する。そして、ステップS107に戻る。
なお、
図2のフローチャートでは、1層目の2番目のパス以降のパスについて端点を算出する場合について説明したが、第1の積み方では、1層目には1パス目しか含まれないため、2層目の1番目のパスから端点の算出を行ってもよい。また、第2の積み方においても、1層目に含まれる各パスの長さが同じであるような場合、すなわち、1層目については、端面との交点を算出する必要がない場合には、2層目の1番目のパスから端点の算出を行ってもよい。また、
図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0040】
次に、ステップS104,S105,S109の詳細な処理について、具体的に説明する。以下の説明では、端面傾斜情報によって、1パス目に対する端面の傾斜角θが示されるものとする。その傾斜角θは、1パス目の溶接線方向を0度(deg)とし、その溶接線方向に直交する方向を90度とするものである。したがって、通常、0°<θ<90°となる。また、ステップS104,S105より以前において、パス生成部23によって2パス目以降の各パスの教示点も算出されてもよく、または、ユーザによって2パス目以降の各パスの教示点が指定されてもよい。
【0041】
[第1の積み方(
図3A)における端面の算出(ステップS104)]
第1の積み方(
図3A)による多層盛溶接を行う場合における端面の位置の算出方法について具体例を用いて説明する。なお、この具体例では、
図4Aで示されるようにすみ肉溶接を行うものとし、記憶部21で記憶されている教示点によって、1パス目のパスAの端点AS,AEの位置を知ることができるものとする。また、前述のように、2パス目以降の各パスの位置も算出されているものとする。なお、そのようにして算出された2パス目以降の各パスも、パスAと同じ長さであり、パスAと平行であるとする。また、そのようにして算出された各パスの両端は、
図4Aにおいて、点ASを通るパスAに垂直な平面と、点AEを通るパスAに垂直な平面とに存在するものとする。また、
図4Aにおいては、多層盛溶接において形成される最終的な溶接ビード形状を実線で示している。
【0042】
まず、端点算出部25は、最終層における最初と最後のパスの位置を特定する。それらのパスP1,P2は、前述のように、パス生成部23によって生成されたものであってもよい。パスP1は、点P1S
0から点P1E
0までの線分であり、パスP2は、点P2S
0から点P2E
0までの線分である。
【0043】
次に、端点算出部25は、パスAと、パスP1,P2によって特定される最終層との距離h
Nを算出する。そのh
Nを最終ビード高さと呼ぶこともある。
図4Bは、互いに平行であるパスA,P1,P2に垂直な断面を示す図である。したがって、
図4Bでは、パスA,P1,P2は、点A,P1,P2となる。
図4Bにおいて、点Aから、点P1,P2を通る直線に下ろした垂線の足Bまでの長さが最終ビード高さh
Nとなる。ここで、その点Bを通り、パスA,P1,P2に平行な直線を、直線Bと呼ぶことにする。また、
図4Bにおいて、点Aを原点とするxy直交座標系を設定し、点P1,P2の座標をそれぞれ(x
1,y
1)、(x
2,y
2)とすると、点P1,P2を通る直線は、次式のようになる。
y=(y
1−y
2)x/(x
1−x
2)+(x
1y
2−x
2y
1)/(x
1−x
2)
【0044】
また、点A,Bを通る直線は、次式のようになる。
y=−(x
1−x
2)x/(y
1−y
2)
したがって、両直線の交点を求めることによって、点Bの座標(x
3,y
3)を算出することができる。また、最終ビード高さh
Nは、その点Bの座標を用いて、
h
N=(x
32+y
32)
1/2
のように算出できる。なお、その最終ビード高さh
Nは、記憶部21または図示しない記録媒体で記憶されてもよい。
【0045】
図4Cは、直線B、パスAを含む平面(すなわち、1パス目の溶接線を含み、最終層と直角に交わる平面)を示す図である。端面の位置は、
図4Cで示される平面において、パスAに対する傾斜角θによって示される。したがって、直線B上の点であって、端面に含まれる点は、点BS,BEとなる。また、点BSからパスAへの垂線の長さはh
Nであるため、点BSからパスAへの垂線の足と点ASとの距離Δk
Nは、次式のようになる。なお、このΔk
Nをオフセット量と呼ぶこともある。
Δk
N=h
N/tanθ=h
Ntan(90°−θ)
【0046】
また、パスP1,P2と各端面との交点P1S,P1E,P2S,P2Eは、点P1S
0,P1E
0,P2S
0,P2E
0からそれぞれオフセット量Δk
Nだけパスの中心の方にずれた点となるため、端面算出部24は、それらの交点P1S,P1E,P2S,P2Eを算出できる。それらの交点の座標は、記憶部21または図示しない記録媒体で記憶されてもよい。その後、端面算出部24は、点AS,点P1S,点P2Sを通る端面(この端面を「第1の端面」と呼ぶ)の式と、点AE,点P1E,点P2Eを通る端面(この端面を「第2の端面」と呼ぶ)の式とを次式のように算出する。なお、端面算出部24が端面の位置を算出するとは、例えば、次式で示される端面の式を算出することであってもよく、または、その端面の式に含まれる各係数を算出することであってもよい。それらの情報は、例えば、記憶部21や図示しない記録媒体で記憶されてもよい。
第1の端面:a
1x+b
1y+c
1z=d
1
第2の端面:a
2x+b
2y+c
2z=d
2
なお、係数a
1,b
1,c
1,d
1は、それぞれ点AS,点P1S,点P2Sの座標を用いて算出することができ、係数a
2,b
2,c
2,d
2は、それぞれ点AE,点P1E,点P2Eの座標を用いて算出することができる。
【0047】
[第2の積み方(
図3B)における端面の算出(ステップS105)]
第2の積み方(
図3B)による多層盛溶接を行う場合における端面の位置の算出方法について具体例を用いて説明する。なお、この具体例でも、
図5Aで示されるようにすみ肉溶接を行うものとし、記憶部21で記憶されている教示点によって、1パス目のパスAの端点AS,AEの位置を知ることができるものとする。また、前述のように、2パス目以降の各パスの位置も算出されていることについては、第1の積み方の場合と同様であるとする。また、
図5Aにおいては、多層盛溶接において形成される最終的な溶接ビード形状を実線で示している。
【0048】
まず、端点算出部25は、最終層のパスであるP3の位置を特定する。そのパスは、前述のように、パス生成部23によって生成されたものであってもよい。パスP3は、点P3S
0から点P3E
0までの線分である。
【0049】
次に、端点算出部25は、パスAを含む母材8aの表面と、パスP3との距離h
Nを算出する。
図5Bは、パスA,パスP3を含む平面(母材8bの表面)を示す図である。その平面は、形成される各層に垂直な平面である。
図5Bにおいて、パスAとパスP3との距離が最終ビード高さh
Nである。したがって、端点算出部25は、両パスの距離(例えば、点P3S
0と、点ASとの距離)を算出することによって、最終ビード高さh
Nを算出することができる。なお、その最終ビード高さh
Nは、記憶部21または図示しない記録媒体で記憶されてもよい。また、第1の積み方の場合と同様にして、端面算出部24は、次式のようにオフセット量Δk
Nを算出することができる。
Δk
N=h
N/tanθ=h
Ntan(90°−θ)
【0050】
したがって、パスP3と各端面との交点P3S,P3Eは、点P3S
0,P3E
0からそれぞれオフセット量Δk
Nだけパスの中心の方にずれた点となるため、端面算出部24は、それらの交点P3S,P3Eを算出することができる。それらの交点の座標は、記憶部21または図示しない記録媒体で記憶されてもよい。その後、端面算出部24は、点AS,点P3S,点P4Sを通る端面(この端面を「第3の端面」と呼ぶ)の式と、点AE,点P3E,点P4Eを通る端面(この端面を「第4の端面」と呼ぶ)の式とを次式のように算出する。なお、パスP4は、パス生成部23によって生成されたパスであってもよく、ユーザによって指定されたパスであってもよい。また、端面算出部24が端面の位置を算出するとは、例えば、次式で示される端面の式を算出することであってもよく、または、その端面の式に含まれる各係数を算出することであってもよい。それらの情報は、例えば、記憶部21や図示しない記録媒体で記憶されてもよい。
第3の端面:a
3x+b
3y+c
3z=d
3
第4の端面:a
4x+b
4y+c
4z=d
4
なお、係数a
3,b
3,c
3,d
3は、それぞれ点AS,点P3S,点P4Sの座標を用いて算出することができ、係数a
4,b
4,c
4,d
4は、それぞれ点AE,点P3E,点P4Eの座標を用いて算出することができる。
【0051】
[端点の算出(ステップS109)]
端面の位置を用いた各パスの端点の算出方法について具体例を用いて説明する。ここでは、第1の端面の位置を用いた各パスの端点の算出方法について説明するが、それ以外の端面を用いた各パスの端点の算出方法も同様である。
【0052】
図4Dにおいて、パス生成部23が生成した第n層における第p番目のパスがパスCであり、そのパスCの両端は、点CS
0,CE
0であったとする。ここで、点CS
0の座標値を(x
4,y
4,z
4)とし、点CE
0の座標値を(x
5,y
5,z
5)とする。また、点CS
0を始点として、点CE
0を終点とするベクトルをV
c=(v
x、v
y、v
z)とすると、ベクトルV
cは、次式のようになる。
V
c=(v
x,v
y,v
z)
=(x
5−x
4,y
5−y
4,z
5−z
4)
したがって、パスCを含む直線上の点の座標は、次式で示されることになる。ただし、tは、任意の実数である。
(x,y,z)=(x
4,y
4,z
4)+t(v
x,v
y,v
z)
【0053】
また、第1の端面の式に上式のx,y,zを代入してtについて解くことによって、第1の端面と、パスCを含む直線との交点CSに応じたtの値t
CSを算出することができる。そのt
CSは、次式のようになり、交点CSの座標を算出することができる。
t
CS={d
1−(a
1x
4+b
1y
4+c
1z
4)}/(a
1v
x+b
1v
y+c
1v
z)
【0054】
端点算出部25は、同様にして、パスCと第2の端面との交点CEも算出できる。なお、
図4Dにおいて、点CS
0と点CSとの距離と、点CE
0と点CEとの距離は等しいため、パスCと第2の端面との交点CEに応じたtの値t
CEは、次式のようになる。そのため、パスCと第2の端面との交点CEについては、より少ない計算量で算出することができる。
t
CE=1−t
CS
【0055】
なお、上記説明では、パラメータtを用いて端点を算出する場合について説明したが、そうでなくてもよいことは言うまでもない。パスCを含む直線の方程式と、端面の方程式とを解くことによって、パスCと端面との交点を算出してもよい。また、各層の各パスについて上記の処理を行うことによって、2パス目以降の各パスの端点を算出することができる。
【0056】
また、第2の積み方の場合には、
図5Cで示されるように、パスCと、第3の端面や第4の端面との交点CS,CEを算出することになるが、その場合にも、上記説明と同様にして、端点算出部25は、交点CS,CEを算出できる。
【0057】
通常、端点算出部25は、2パス目以降の各パスについて、各端点を算出することになる。一方、第2の積み方の場合には、端点算出部25は、各層において、いずれか1個のパスについてのみ端点を算出してもよい。そして、各層において、端点の算出されなかったパスの端点の溶接線方向の位置は、算出された端点の溶接線方向の位置と同じにされてもよい。そのことについて、
図5Dを用いて説明する。
図5Dは、第2の積み方の第n層を示す図である。
図5Aから分かるように、第2の積み方の場合には、各層は矩形となる。したがって、第n層における各パスC1,C2,C3…に関するオフセット量Δk
Nはすべて同じとなり、各パスC1,C2,C3…の長さも同じとなる。すなわち、パスC1,C2,C3…の一方の端点C1S,C2S,C3S…の溶接線方向(
図5Dの図中の左右方向)における位置は、すべて同じとなり、パスC1,C2,C3…の他方の端点C1E,C2E,C3E…の溶接線方向における位置も、すべて同じとなる。具体的には、それらの端点を求める際の上記tの値が同じとなる。そのため、端点算出部25は、各層において、いずれか1個のパスについてのみtを算出すれば、他のパスについては、tを算出しなくてもよいことになる。したがって、例えば、端点算出部25は、パスC1についてのみtを算出し、そのtを用いて、端点C1S,C2S,C3S…等を算出してもよい。また、例えば、端点を示す座標系において、溶接線方向にz軸が設定されているような場合には、端点算出部25は、ある1個のパス(例えば、パスC1等)の端点のz軸の値のみを記憶部21等に蓄積してもよい。そして、制御部12は、第n層の各パスの端点のz軸の値として、その1個のパスのz軸の値を繰り返して読み出すようにしてもよい。
【0058】
また、上記説明では、第2の積み方において、1層目(第1層)が矩形である場合について説明したが、そうでなくてもよい。例えば、
図5Eで示されるように、1層目におけるビード端のなす直線である端線(点ASと点P4Sとを通る直線、または、点AEと点P4Eとを通る直線)が、溶接線方向に対して90度でなくてもよい。その場合には、記憶部21では、1層目におけるビード端のなす直線である端線の溶接線方向に対する傾きに関する情報である端線傾斜情報をも記憶されるものとする。その端線傾斜情報は、例えば、
図5Eの角度γを示す情報であってもよく、点P4S
0と点P4Sとの距離や点P4E
0と点P4Eとの距離を示す情報であってもよく、端線の溶接線方向に対する傾きを特定可能なその他の情報であってもよい。そして、端面算出部24は、その端線傾斜情報をも用いて、端面の位置を算出してもよい。具体的には、端面算出部24は、端線傾斜情報を用いることによって、端面上の点P4Sや点P4Eの位置を算出することができる。したがって、端面算出部24は、例えば、点AS,点P3S,点P4Sを通過する第3の端面の位置を算出してもよく、点AE,点P3E,点P4Eを通過する第4の端面の位置を算出してもよい。なお、第2の積み方における1層目とは、すべてのパスが母材8a上となる層である。
【0059】
なお、上記説明では、ある多層盛溶接を行う箇所の両端面を傾斜させる場合に、両端面の傾斜角θを同じにする場合について説明したが、そうでなくてもよい。端面ごとに傾斜角を設定してもよいことは言うまでもない。また、そのことは端線の角度γについても同様である。
【0060】
また、上記説明では、端面傾斜情報が端面の傾斜角である場合について説明したが、前述のように、端面傾斜情報は、最終層の溶接線方向における伸縮長さ(オフセット量)を示す情報であってもよい。具体的には、端面傾斜情報は、上述のΔk
Nであってもよい。
【0061】
また、上記説明では、端面が1パス目のパスの端点を通る平面である場合について説明したが、そうでなくてもよい。端面と1パス目とが、それ以外の所定の関係を有している場合であっても、同様にして、端面の算出や、端点の算出を行うことができる。
【0062】
以上のように、本実施の形態による制御装置1によれば、端面の位置を算出し、その位置の算出された端面と、2パス目以降の各パスに応じた線との交点である端点を算出することによって、2パス目以降の各パスの溶接開始点及び溶接終了点を特定することができる。また、そのような特定を行うため、複数の溶接線が同一平面上に存在しない多層盛溶接であっても、2パス目以降の各パスの溶接開始点等を適切に特定することができるようになる。また、端面傾斜情報や端点傾斜情報を適切に設定することにより、端面における溶接金属のたれを防止することができ、多層盛溶接の品質を向上させることができる。
【0063】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0064】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0065】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス、母材や開先の形状等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【0066】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、母材や開先の形状、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0067】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0068】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。