(57)【要約】【課題】複数の溶接線が同一平面上に存在しない多層盛溶接において、各ビード端のなす平面である端面を溶接線方向に対して傾ける場合に、２パス目以降の各パスの端点の位置を特定できなかった。【解決手段】溶接ロボットの多層盛溶接におけるパスの端点を算出する算出装置２は、多層盛溶接における端面の溶接線方向に対する傾きを示す端面傾斜情報と、多層盛溶接における１パス目の教示点が記憶される記憶部２１と、端面傾斜情報及び１パス目の教示点を用いて端面の位置を算出する端面算出部２４と、端面算出部２４が位置を算出した端面と、２パス目以降の各パスに応じた線との交点である２パス目以降の各パスの端点を算出し、記憶部２１に蓄積する端点算出部２５とを備える。その結果、複数の溶接線が同一平面上に存在しない場合であっても、２パス目以降の各パスの端点の位置を特定することができるようになる。【選択図】図１
2015178119.tif 000002
【特許請求の範囲】
【請求項１】
溶接ロボットの多層盛溶接におけるパスの端点を算出する算出装置であって、
前記多層盛溶接におけるビード端のなす平面である端面の溶接線方向に対する傾きに関する情報である端面傾斜情報と、前記多層盛溶接における１パス目の教示点とが記憶される記憶部と、
前記端面傾斜情報及び前記１パス目の教示点を用いて、前記端面の位置を算出する端面算出部と、
前記端面算出部が位置を算出した端面と、２パス目以降の各パスに応じた線との交点である２パス目以降の各パスの端点を算出し、前記記憶部に蓄積する端点算出部と、を備えた算出装置。
【請求項２】
前記多層盛溶接は、各母材の面方向と各層とのなす角度が略同じになるものである、請求項１記載の算出装置。
【請求項３】
前記多層盛溶接は、いずれかの母材の面方向に対して各層が略平行になるものである、請求項１記載の算出装置。
【請求項４】
前記端点算出部は、各層においていずれか一つのパスについて端点を算出し、
各層において、端点の算出されなかったパスの端点の溶接線方向の位置は、算出された端点の溶接線方向の位置と同じにされる、請求項３記載の算出装置。
【請求項５】
前記記憶部では、１層目におけるビード端のなす直線である端線の溶接線方向に対する傾きに関する情報である端線傾斜情報をも記憶され、
前記端面算出部は、前記端線傾斜情報をも用いて前記端面の位置を算出する、請求項３記載の算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、溶接ロボットの多層盛溶接におけるパスの端点を算出する算出装置に関する。
【背景技術】
【０００２】
従来、狭開先の多層盛アーク溶接を行う際に、溶接線を複数の溶接区間に分割し、溶接線の端部のなす直線が、溶接線に対して傾斜角を持つように調整することが行われていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１７８１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来例では、狭開先の多層盛溶接を行うため、複数の溶接線が略同一平面上に存在することになる。その結果、溶接線の端部のなす直線が溶接線に対して一定の傾斜角を持つようにする場合に、各溶接線の溶接開始点や溶接終了点を、直下の溶接線の溶接開始点や溶接終了点を用いることによって容易に決定することができた。
【０００５】
一方、複数の溶接線が同一平面上に存在しない多層盛溶接において、上記特許文献１と同様に、ビード端の端点のなす平面である端面が溶接線方向に対して傾斜角を有するようにする場合には、上記特許文献１と同様にしてパスの端点の位置を決定することができないという問題があった。
【０００６】
本発明は、上記問題を解決するためになされたものであり、上記端面が溶接線方向に対して傾きを有する場合であっても、パスの端点を算出することができる算出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による算出装置は、溶接ロボットの多層盛溶接におけるパスの端点を算出する算出装置であって、多層盛溶接におけるビード端のなす平面である端面の溶接線方向に対する傾きに関する情報である端面傾斜情報と、多層盛溶接における１パス目の教示点とが記憶される記憶部と、端面傾斜情報及び１パス目の教示点を用いて、端面の位置を算出する端面算出部と、端面算出部が位置を算出した端面と、２パス目以降の各パスに応じた線との交点である２パス目以降の各パスの端点を算出し、記憶部に蓄積する端点算出部と、を備えたものである。
このような構成により、複数の溶接線が同一平面上に存在しない多層盛溶接において、ビード端のなす平面である端面が溶接線方向に対して傾斜している場合であっても、パスの端点を算出することができるようになる。したがって、そのようにして算出された端点を用いて多層盛溶接を行うことによって、端面が溶接線方向に対して傾斜している多層盛溶接を行うことができ、例えば、その端面における溶接金属のたれを防止することができる。
【０００８】
また、本発明による算出装置では、多層盛溶接は、各母材の面方向と各層とのなす角度が略同じになるものであってもよい。
このような構成により、例えば、各層が開先深さ方向と略直交するように多層盛溶接が行われる場合に、パスの端点を算出することができる。
【０００９】
また、本発明による算出装置では、多層盛溶接は、いずれかの母材の面方向に対して各層が略平行になるものであってもよい。
このような構成により、例えば、各層がいずれかの開先面と略平行となるように多層盛溶接が行われる場合に、パスの端点を算出することができる。
【００１０】
また、本発明による算出装置では、端点算出部は、各層においていずれか一つのパスについて端点を算出し、各層において、端点の算出されなかったパスの端点の溶接線方向の位置は、算出された端点の溶接線方向の位置と同じにされてもよい。
このような構成により、パスの端点の算出の処理負荷を低減させることができる。
【００１１】
また、本発明による算出装置では、記憶部では、１層目におけるビード端のなす直線である端線の溶接線方向に対する傾きに関する情報である端線傾斜情報をも記憶され、端面算出部は、端線傾斜情報をも用いて端面の位置を算出してもよい。
【発明の効果】
【００１２】
本発明による算出装置によれば、複数の溶接線が同一平面上に存在しない多層盛溶接において、ビード端のなす平面である端面が溶接線方向に対して傾斜している場合であっても、パスの端点の位置を特定できるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１による制御装置等の構成を示すブロック図
【図２】同実施の形態による算出装置の動作を示すフローチャート
【図３Ａ】同実施の形態における母材と各溶接層との関係の一例を示す図
【図３Ｂ】同実施の形態における母材と各溶接層との関係の一例を示す図
【図４Ａ】同実施の形態における溶接パスの端点の算出について説明するための図
【図４Ｂ】同実施の形態における溶接パスの端点の算出について説明するための図
【図４Ｃ】同実施の形態における溶接パスの端点の算出について説明するための図
【図４Ｄ】同実施の形態における溶接パスの端点の算出について説明するための図
【図５Ａ】同実施の形態における溶接パスの端点の算出について説明するための図
【図５Ｂ】同実施の形態における溶接パスの端点の算出について説明するための図
【図５Ｃ】同実施の形態における溶接パスの端点の算出について説明するための図
【図５Ｄ】同実施の形態における溶接パスの端点の算出について説明するための図
【図５Ｅ】同実施の形態における溶接パスの端点の算出について説明するための図
【発明を実施するための形態】
【００１４】
以下、本発明による算出装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【００１５】
（実施の形態１）
本発明の実施の形態１による算出装置を備えた制御装置について、図面を参照しながら説明する。本実施の形態による算出装置は、ビード端のなす平面である端面が溶接線方向に対して傾斜している多層盛溶接におけるパス（溶接パス）の端点を算出するものである。
【００１６】
図１は、本実施の形態による溶接ロボットシステムの構成を示すブロック図である。本実施の形態による溶接ロボットシステムは、制御装置１と、マニピュレータ３と、溶接機４とを備える。
制御装置１は、溶接機４との間で通信を行う通信部１１と、マニピュレータ３や溶接機４を制御する制御部１２と、算出装置２とを備える。算出装置２は、溶接ロボットの多層盛溶接におけるパスの端点を算出するものであり、記憶部２１と、受付部２２と、パス生成部２３と、端面算出部２４と、端点算出部２５とを備える。
【００１７】
通信部１１は、制御部１２からの指示に応じて、溶接開始、溶接終了、溶接ワイヤの送給開始、送給終了などの指示を溶接機４に送信する。また、通信部１１は、溶接ロボットにおいて取得されるデータ、例えば、溶接電流、溶接電圧、溶接ガス流量等を受信してもよい。
【００１８】
制御部１２は、記憶部２１で記憶されている教示点や、ティーチングペンダント（図示せず）から入力される操作信号、マニピュレータ３のエンコーダから受け取る駆動モータの現在位置等に応じて、マニピュレータ３の各駆動モータの位置を制御する。その制御によって、溶接トーチ３ａが所望の位置に移動されることになる。なお、その制御の際に、制御部１２は、サーボコントローラを介してマニピュレータ３を制御してもよい。また、制御部１２は、通信部１１を介して、図示しない記録媒体で記憶されている溶接作業プログラムや、溶接条件等に応じて、溶接機４による溶接の開始や終了、出力電圧、溶接ワイヤの送給の開始や終了等を制御する。
【００１９】
記憶部２１では、多層盛溶接におけるビード端のなす平面である端面の溶接線方向に対する傾きに関する情報である端面傾斜情報と、多層盛溶接における１パス目の教示点とが記憶される。端面傾斜情報は、端面の傾きを示すことができる情報であればどのような情報であってもよく、例えば、端面の傾斜角を示す情報であってもよく、多層盛溶接における最終層の溶接線方向における伸縮長さを示す情報であってもよく、その他の情報であってもよい。その傾斜角は、端面における所定の方向と、１パス目などの所定の方向とのなす角度であってもよい。具体的には、その傾斜角は、１パス目のパスを含む平面（断面）における、１パス目と、端面の方向とのなす角度であってもよい。なお、端面は、ビード端における溶接金属のたれを防止する観点から、最終層に向かうほど、各層の溶接線が短くなるように傾斜していることが好適である。したがって、通常、端面の傾斜角は、溶接線方向に対して直角ではないことになる。また、１パス目の教示点は、ワールド座標系等の座標系における座標値等を指定することによって記憶部２１に設定されてもよく、または、マニピュレータ３における溶接トーチ３ａの位置を実際に移動させることによって設定されてもよい。また、それら以外の情報が記憶部２１で記憶されてもよいことは言うまでもない。例えば、多層盛溶接における２パス目以降の教示点が記憶部２１で記憶されてもよい。また、例えば、後述するように、端点算出部２５が算出した２パス目以降の各パスの端点も記憶部２１で記憶されてもよい。
【００２０】
ここで、多層盛溶接における各層（溶接層）と母材との関係について簡単に説明する。各層と母材との関係として、例えば、図３Ａ，図３Ｂで示されるものがある。図３Ａ，図３Ｂは、多層盛溶接の行われた箇所の溶接線方向に垂直な断面図である。丸数字が、パス（溶接線）を示しており、その数字の順に溶接が行われることになる。図３Ａでは、各母材８ａ，８ｂの面方向（図中の左右方向及び上下方向）と各層とのなす角度が略同じになっている。したがって、各層（特に、第２層、第３層）は、溶接箇所の深さ方向（例えば、開先深さ方向）に直交する方向となっている。また、図３Ｂでは、いずれかの母材８ａの面方向（図中の左右方向）に対して各層が略平行になっている。なお、図３Ｂの多層盛溶接では、通常、各層が水平方向に近くなるように溶接が行われるが、そうでなくてもよい。また、角度が略同じであるとは、角度が実質的に同じと見なせる程度に近似していることである。また、各層が略平行であるとは、各層が実質的に平行であると見なせる程度に平行であることである。以下、図３Ａで示される多層盛溶接によるビードの積み方を第１の積み方と呼び、図３Ｂで示される多層盛溶接によるビードの積み方を第２の積み方と呼ぶことがある。なお、本実施の形態における多層盛溶接は、通常、図３Ａ，図３Ｂで示されるように、２以上の溶接線を含む層が存在する多層盛溶接や、各層に含まれる溶接線の数が異なる多層盛溶接であるが、そうでなくてもよい。また、本実施の形態における多層盛溶接は、図３Ａ，図３Ｂ以外の積み方であってもよい。すなわち、各層がいずれの母材の面方向に対しても平行でなく、また、各母材の面方向と各層のなす角度が同じでなくてもよい。
【００２１】
記憶部２１に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部２１で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部２１で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部２１で記憶されるようになってもよい。本実施の形態では、受付部２２が受け付けた情報や、パス生成部２３が生成した情報、端点算出部２５が算出した情報等が記憶部２１で記憶されるようになる場合について主に説明する。記憶部２１は、所定の記録媒体（例えば、半導体メモリや磁気ディスクなど）によって実現されうる。また、記憶部２１での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。また、記憶部２１は、単一の記録媒体で構成されてもよく、または、複数の記録媒体で構成されてもよい。後者の場合には、例えば、端面傾斜情報や教示点と、端点算出部２５によって蓄積される２パス目以降の各パスの端点とは、別々の記録媒体で記憶されてもよい。
【００２２】
受付部２２は、情報を受け付け、記憶部２１に蓄積する。その情報は、例えば、パスの教示点であってもよい。受付部２２は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報を受信してもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出された情報を受け付けてもよい。本実施の形態では、受付部２２が、ティーチングペンダントを介して入力された情報を受け付ける場合について主に説明する。なお、受付部２２は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい。また、受付部２２は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００２３】
パス生成部２３は、多層盛溶接における２パス目以降のパスを生成し、記憶部２１に蓄積してもよい。そのパスを生成する方法は問わないが、例えば、特開２００９−１１９５２５号公報に記載された方法を用いてもよい。そのパスの生成の際に、溶接を行う母材の形状や、開先形状等を示す情報を用いてもよい。また、そのパスの生成の際に、ティーチングペンダント等を介してユーザからの指示を受け付けてもよく、またはそうでなくてもよい。パス生成部２３が生成した情報は、例えば、記憶部２１で記憶されていてもよい。
【００２４】
端面算出部２４は、記憶部２１で記憶されている端面傾斜情報及び１パス目の教示点を用いて、端面の位置を算出する。端面の位置の算出とは、端面の位置を特定できる情報を算出することである。その情報は、例えば、ワールド座標系等の座標系における端面の位置を示す平面の方程式（例えば、ａｘ＋ｂｙ＋ｃｚ＝ｄ等）であってもよく、または、その式に含まれる係数（例えば、ａ，ｂ，ｃ，ｄ等）であってもよい。１パス目の教示点によって、１パス目に相当する溶接線の位置を知ることができ、また端面傾斜情報によって、その溶接線に対する端面の位置を知ることができる。したがって、端面算出部２４は、それらの情報を用いて、端面の位置を特定することができることになる。なお、端面の位置を算出する具体的な処理については後述する。
【００２５】
端点算出部２５は、端面算出部２４が位置を算出した端面と、２パス目以降の各パスに応じた線との交点である２パス目以降の各パスの端点を算出し、記憶部２１に蓄積する。２パス目以降の各パスに応じた線とは、２パス目以降の各パスに相当する直線もしくは曲線であってもよく、または、その直線もしくは曲線が端面と交わらない場合には、２パス目以降の各パスに相当する直線もしくは曲線を延長（外挿）した直線もしくは曲線であってもよい。各パスを延長する場合に、パスが直線であれば、その直線を長さ方向に延長することになる。一方、パスが曲線であれば、例えば、その曲線の曲率等が変わらないように延長することが好適である。その２パス目以降の各パスを示す教示点は、１パス目と同様に記憶部２１で記憶されていてもよい。２パス目以降の各パスの教示点は、例えば、１パス目と同様に、ユーザによって入力されたものであってもよく、または、パス生成部２３によって１パス目の教示点等を用いて生成されたものであってもよい。端点を算出するとは、端点の位置を特定可能な情報を生成することであり、例えば、端点の座標を算出することであってもよく、パスのデフォルトの端点（伸縮前の端点）と、端面上のパスの端点とのオフセット量を算出することであってもよい。なお、パスのデフォルトの端点は、通常、端面上ではない位置の点であり、例えば、パス生成部２３が生成したパスの端等である。端点算出部２５が算出した２パス目以降の各パスの端点の位置が、２パス目以降の各パスの溶接開始点や溶接終了点となる。２パス目以降の各パスについては、この端点算出部２５が算出した端点を溶接開始点または溶接終了点とするパスを用いた溶接が行われることになる。
【００２６】
マニピュレータ３は、減速機を介して駆動モータにより駆動される関節によって連結された複数のアームを有している。その駆動モータは、エンコーダを有しており、そのエンコーダによって駆動モータの現在位置が検出されてもよい。また、そのマニピュレータ３の先端には、母材（ワーク）８に対してアーク溶接を行う溶接トーチ３ａが取り付けられている。そして、溶接ワイヤがワイヤ送給部３ｂから送給され、溶接機４によって、溶接トーチ３ａの先端の溶接ワイヤと母材８との間に高電圧が印加されることによってアークが発生し、そのアークの熱で溶接ワイヤ及び母材８が溶融されることにより、母材８に対する溶接が行われる。なお、マニピュレータ３の構成はすでに公知であり、その詳細な説明を省略する。また、アーク溶接では、シールドガスを溶接トーチ３ａから噴出することが一般的であるが、その構成の説明は省略している。
【００２７】
溶接機４は、溶接で用いられる高電圧を溶接トーチ３ａや母材８に供給する溶接電源や、ワイヤ送給部３ｂによる溶接ワイヤの送給を制御するワイヤ送給制御部、制御装置１から送信される溶接条件に応じて、溶接電源を制御する溶接制御部等を備えている。また、溶接機４は、溶接電流、溶接電圧、溶接ガス流量、ワイヤ送給速度等のデータを取得し、そのデータを制御装置１に送信してもよい。なお、溶接機４の構成はすでに公知であり、その詳細な説明を省略する。
【００２８】
また、本実施の形態では、制御装置１が１個のマニピュレータ３と、１個の溶接機４とを制御する場合について説明するが、そうでなくてもよい。制御装置１は、複数のマニピュレータ３及び複数の溶接機４を制御してもよい。したがって、算出装置２は、複数の溶接ロボットに関する多層盛溶接におけるパスの端点を算出してもよい。そのような場合には、算出されたパス等には、どの溶接ロボットのデータであるのかを示す識別情報が付与されてもよい。
【００２９】
次に、本実施の形態による算出装置２の動作について図２のフローチャートを用いて説明する。
（ステップＳ１０１）受付部２２は、１パス目の教示点を受け付け、記憶部２１に蓄積する。なお、受付部２２は、２パス目以降の教示点をも受け付けて、記憶部２１に蓄積してもよい。また、前述のように、溶接トーチ３ａの位置を実際に移動させることによって１パス目の教示点を設定する場合には、制御部１２によってその教示点の蓄積が行われてもよい。
【００３０】
（ステップＳ１０２）受付部２２は、端面傾斜情報と、多層盛溶接を第１の積み方（図３Ａ）で行うのか、第２の積み方（図３Ｂ）で行うのかの選択結果を示す情報とを受け付け、記憶部２１に蓄積する。なお、多層盛溶接の最終層に関する情報は、受付部２２で受け付けられるのではなく、マニピュレータ３における溶接トーチ３ａの位置を実際に移動させることによって設定されてもよい。また、母材の形状に関する情報も受け付けられて記憶部２１に蓄積されてもよい。
なお、ステップＳ１０１，Ｓ１０２の情報の受け付けは、例えば、ユーザに対する情報の入力の指示に応じてティーチングペンダントを介してなされてもよい。また、ステップＳ１０１，Ｓ１０２において、多層盛溶接の最終層に関する情報（例えば、多層盛溶接の層の数を示す情報であってもよく、多層盛溶接の全厚さを示す情報であってもよく、最終層の位置を示す情報であってもよい）が受け付けられ、記憶部２１に蓄積されても追い。なお、その多層盛溶接の最終層に関する情報は、最終層におけるパスの教示点であってもよい。また、１パス目の教示点を用いて２パス目以降の教示点が算出される場合には、パス生成部２３は、蓄積された１パス目の教示点や、母材の形状に関する情報、多層盛溶接の最終層に関する情報を用いて２パス目以降の教示点を算出し、記憶部２１に蓄積してもよい。
【００３１】
（ステップＳ１０３）端面算出部２４は、多層盛溶接におけるビードの積み方として、第１の方法が選択されたのか、第２の方法が選択されたのかを判断する。そして、第１の積み方が選択された場合には、ステップＳ１０４に進み、第２の積み方が選択された場合には、ステップＳ１０５に進む。
【００３２】
（ステップＳ１０４）端面算出部２４は、第１の積み方に応じた端面の位置を算出する。端面算出部２４は、通常、１パス目の両端点に応じた２個の端面の位置を算出するが、そうでなくてもよい。端面算出部２４は、１パス目の一方の端点に応じた１個の端面の位置を算出してもよい。その端面の位置は、記憶部２１や図示しない記録媒体で記憶されてもよい。なお、このステップの詳細な処理については後述する。
【００３３】
（ステップＳ１０５）端面算出部２４は、第２の積み方に応じた端面の位置を算出する。端面算出部２４は、通常、１パス目の両端点に応じた２個の端面の位置を算出するが、そうでなくてもよい。端面算出部２４は、１パス目の一方の端点に応じた１個の端面の位置を算出してもよい。その端面の位置は、記憶部２１や図示しない記録媒体で記憶されてもよい。なお、このステップの詳細な処理については後述する。
【００３４】
（ステップＳ１０６）端点算出部２５は、層を識別するカウンタｎに１を設定し、各層における溶接線（溶接パス）を識別するカウンタｐに２を設定する。すなわち、端点算出部２５は、第１層における第２番目のパス以降のパスについて、端点を算出し、第１層の１番目のパスについては、１パス目の教示点によって示される端点をそのまま使用するものとする。
【００３５】
（ステップＳ１０７）端点算出部２５は、カウンタｎがＮを超えているかどうか判断する。そして、カウンタｎがＮを超えている場合には、パスの端点を算出する一連の処理は終了となり、超えていない場合には、ステップＳ１０８に進む。なお、Ｎは、層の数である。すなわち、最終層のカウントｎの値がＮとなる。そのＮの値は、図示しない記録媒体で記憶されているものとする。
【００３６】
（ステップＳ１０８）端点算出部２５は、カウンタｐがＰｎを超えているかどうか判断する。そして、カウンタｐがＰｎを超えている場合には、第ｎ層におけるすべてのパスについて端点の算出が行われたことになるため、ステップＳ１１１に進み、そうでない場合には、ステップＳ１０９に進む。なお、Ｐｎは、第ｎ層におけるパスの数である。すなわち、第ｎ層における最終パスのカウントｐの値がＰｎとなる。各ｎに対応するＰｎの値（Ｐ１，Ｐ２，…，ＰＮ）は、図示しない記録媒体で記憶されているものとする。
【００３７】
（ステップＳ１０９）端点算出部２５は、ステップＳ１０４またはステップＳ１０５で位置の算出された端面と、第ｎ層における第ｐ番目のパスに応じた線との交点である端点を算出し、記憶部２１に蓄積する。２個の端面の位置が算出された場合には、端点算出部２５は、その端面のそれぞれに対応する２個の端点を算出し、１個の端面の位置が算出された場合には、端点算出部２５は、その端面に対応する１個の端点を算出してもよい。なお、このステップの詳細な処理については後述する。
【００３８】
（ステップＳ１１０）端点算出部２５は、カウンタｐを１だけインクリメントする。そして、ステップＳ１０８に戻る。
【００３９】
（ステップＳ１１１）端点算出部２５は、カウンタｎを１だけインクリメントし、カウンタｐに１を設定する。そして、ステップＳ１０７に戻る。
なお、図２のフローチャートでは、１層目の２番目のパス以降のパスについて端点を算出する場合について説明したが、第１の積み方では、１層目には１パス目しか含まれないため、２層目の１番目のパスから端点の算出を行ってもよい。また、第２の積み方においても、１層目に含まれる各パスの長さが同じであるような場合、すなわち、１層目については、端面との交点を算出する必要がない場合には、２層目の１番目のパスから端点の算出を行ってもよい。また、図２のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００４０】
次に、ステップＳ１０４，Ｓ１０５，Ｓ１０９の詳細な処理について、具体的に説明する。以下の説明では、端面傾斜情報によって、１パス目に対する端面の傾斜角θが示されるものとする。その傾斜角θは、１パス目の溶接線方向を０度（ｄｅｇ）とし、その溶接線方向に直交する方向を９０度とするものである。したがって、通常、０°＜θ＜９０°となる。また、ステップＳ１０４，Ｓ１０５より以前において、パス生成部２３によって２パス目以降の各パスの教示点も算出されてもよく、または、ユーザによって２パス目以降の各パスの教示点が指定されてもよい。
【００４１】
［第１の積み方（図３Ａ）における端面の算出（ステップＳ１０４）］
第１の積み方（図３Ａ）による多層盛溶接を行う場合における端面の位置の算出方法について具体例を用いて説明する。なお、この具体例では、図４Ａで示されるようにすみ肉溶接を行うものとし、記憶部２１で記憶されている教示点によって、１パス目のパスＡの端点ＡＳ，ＡＥの位置を知ることができるものとする。また、前述のように、２パス目以降の各パスの位置も算出されているものとする。なお、そのようにして算出された２パス目以降の各パスも、パスＡと同じ長さであり、パスＡと平行であるとする。また、そのようにして算出された各パスの両端は、図４Ａにおいて、点ＡＳを通るパスＡに垂直な平面と、点ＡＥを通るパスＡに垂直な平面とに存在するものとする。また、図４Ａにおいては、多層盛溶接において形成される最終的な溶接ビード形状を実線で示している。
【００４２】
まず、端点算出部２５は、最終層における最初と最後のパスの位置を特定する。それらのパスＰ１，Ｐ２は、前述のように、パス生成部２３によって生成されたものであってもよい。パスＰ１は、点Ｐ１Ｓ０から点Ｐ１Ｅ０までの線分であり、パスＰ２は、点Ｐ２Ｓ０から点Ｐ２Ｅ０までの線分である。
【００４３】
次に、端点算出部２５は、パスＡと、パスＰ１，Ｐ２によって特定される最終層との距離ｈＮを算出する。そのｈＮを最終ビード高さと呼ぶこともある。図４Ｂは、互いに平行であるパスＡ，Ｐ１，Ｐ２に垂直な断面を示す図である。したがって、図４Ｂでは、パスＡ，Ｐ１，Ｐ２は、点Ａ，Ｐ１，Ｐ２となる。図４Ｂにおいて、点Ａから、点Ｐ１，Ｐ２を通る直線に下ろした垂線の足Ｂまでの長さが最終ビード高さｈＮとなる。ここで、その点Ｂを通り、パスＡ，Ｐ１，Ｐ２に平行な直線を、直線Ｂと呼ぶことにする。また、図４Ｂにおいて、点Ａを原点とするｘｙ直交座標系を設定し、点Ｐ１，Ｐ２の座標をそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）とすると、点Ｐ１，Ｐ２を通る直線は、次式のようになる。
ｙ＝（ｙ１−ｙ２）ｘ／（ｘ１−ｘ２）＋（ｘ１ｙ２−ｘ２ｙ１）／（ｘ１−ｘ２）
【００４４】
また、点Ａ，Ｂを通る直線は、次式のようになる。
ｙ＝−（ｘ１−ｘ２）ｘ／（ｙ１−ｙ２）
したがって、両直線の交点を求めることによって、点Ｂの座標（ｘ３，ｙ３）を算出することができる。また、最終ビード高さｈＮは、その点Ｂの座標を用いて、
ｈＮ＝（ｘ３２＋ｙ３２）１／２
のように算出できる。なお、その最終ビード高さｈＮは、記憶部２１または図示しない記録媒体で記憶されてもよい。
【００４５】
図４Ｃは、直線Ｂ、パスＡを含む平面（すなわち、１パス目の溶接線を含み、最終層と直角に交わる平面）を示す図である。端面の位置は、図４Ｃで示される平面において、パスＡに対する傾斜角θによって示される。したがって、直線Ｂ上の点であって、端面に含まれる点は、点ＢＳ，ＢＥとなる。また、点ＢＳからパスＡへの垂線の長さはｈＮであるため、点ＢＳからパスＡへの垂線の足と点ＡＳとの距離ΔｋＮは、次式のようになる。なお、このΔｋＮをオフセット量と呼ぶこともある。
ΔｋＮ＝ｈＮ／ｔａｎθ＝ｈＮｔａｎ（９０°−θ）
【００４６】
また、パスＰ１，Ｐ２と各端面との交点Ｐ１Ｓ，Ｐ１Ｅ，Ｐ２Ｓ，Ｐ２Ｅは、点Ｐ１Ｓ０，Ｐ１Ｅ０，Ｐ２Ｓ０，Ｐ２Ｅ０からそれぞれオフセット量ΔｋＮだけパスの中心の方にずれた点となるため、端面算出部２４は、それらの交点Ｐ１Ｓ，Ｐ１Ｅ，Ｐ２Ｓ，Ｐ２Ｅを算出できる。それらの交点の座標は、記憶部２１または図示しない記録媒体で記憶されてもよい。その後、端面算出部２４は、点ＡＳ，点Ｐ１Ｓ，点Ｐ２Ｓを通る端面（この端面を「第１の端面」と呼ぶ）の式と、点ＡＥ，点Ｐ１Ｅ，点Ｐ２Ｅを通る端面（この端面を「第２の端面」と呼ぶ）の式とを次式のように算出する。なお、端面算出部２４が端面の位置を算出するとは、例えば、次式で示される端面の式を算出することであってもよく、または、その端面の式に含まれる各係数を算出することであってもよい。それらの情報は、例えば、記憶部２１や図示しない記録媒体で記憶されてもよい。
第１の端面：ａ１ｘ＋ｂ１ｙ＋ｃ１ｚ＝ｄ１
第２の端面：ａ２ｘ＋ｂ２ｙ＋ｃ２ｚ＝ｄ２
なお、係数ａ１，ｂ１，ｃ１，ｄ１は、それぞれ点ＡＳ，点Ｐ１Ｓ，点Ｐ２Ｓの座標を用いて算出することができ、係数ａ２，ｂ２，ｃ２，ｄ２は、それぞれ点ＡＥ，点Ｐ１Ｅ，点Ｐ２Ｅの座標を用いて算出することができる。
【００４７】
［第２の積み方（図３Ｂ）における端面の算出（ステップＳ１０５）］
第２の積み方（図３Ｂ）による多層盛溶接を行う場合における端面の位置の算出方法について具体例を用いて説明する。なお、この具体例でも、図５Ａで示されるようにすみ肉溶接を行うものとし、記憶部２１で記憶されている教示点によって、１パス目のパスＡの端点ＡＳ，ＡＥの位置を知ることができるものとする。また、前述のように、２パス目以降の各パスの位置も算出されていることについては、第１の積み方の場合と同様であるとする。また、図５Ａにおいては、多層盛溶接において形成される最終的な溶接ビード形状を実線で示している。
【００４８】
まず、端点算出部２５は、最終層のパスであるＰ３の位置を特定する。そのパスは、前述のように、パス生成部２３によって生成されたものであってもよい。パスＰ３は、点Ｐ３Ｓ０から点Ｐ３Ｅ０までの線分である。
【００４９】
次に、端点算出部２５は、パスＡを含む母材８ａの表面と、パスＰ３との距離ｈＮを算出する。図５Ｂは、パスＡ，パスＰ３を含む平面（母材８ｂの表面）を示す図である。その平面は、形成される各層に垂直な平面である。図５Ｂにおいて、パスＡとパスＰ３との距離が最終ビード高さｈＮである。したがって、端点算出部２５は、両パスの距離（例えば、点Ｐ３Ｓ０と、点ＡＳとの距離）を算出することによって、最終ビード高さｈＮを算出することができる。なお、その最終ビード高さｈＮは、記憶部２１または図示しない記録媒体で記憶されてもよい。また、第１の積み方の場合と同様にして、端面算出部２４は、次式のようにオフセット量ΔｋＮを算出することができる。
ΔｋＮ＝ｈＮ／ｔａｎθ＝ｈＮｔａｎ（９０°−θ）
【００５０】
したがって、パスＰ３と各端面との交点Ｐ３Ｓ，Ｐ３Ｅは、点Ｐ３Ｓ０，Ｐ３Ｅ０からそれぞれオフセット量ΔｋＮだけパスの中心の方にずれた点となるため、端面算出部２４は、それらの交点Ｐ３Ｓ，Ｐ３Ｅを算出することができる。それらの交点の座標は、記憶部２１または図示しない記録媒体で記憶されてもよい。その後、端面算出部２４は、点ＡＳ，点Ｐ３Ｓ，点Ｐ４Ｓを通る端面（この端面を「第３の端面」と呼ぶ）の式と、点ＡＥ，点Ｐ３Ｅ，点Ｐ４Ｅを通る端面（この端面を「第４の端面」と呼ぶ）の式とを次式のように算出する。なお、パスＰ４は、パス生成部２３によって生成されたパスであってもよく、ユーザによって指定されたパスであってもよい。また、端面算出部２４が端面の位置を算出するとは、例えば、次式で示される端面の式を算出することであってもよく、または、その端面の式に含まれる各係数を算出することであってもよい。それらの情報は、例えば、記憶部２１や図示しない記録媒体で記憶されてもよい。
第３の端面：ａ３ｘ＋ｂ３ｙ＋ｃ３ｚ＝ｄ３
第４の端面：ａ４ｘ＋ｂ４ｙ＋ｃ４ｚ＝ｄ４
なお、係数ａ３，ｂ３，ｃ３，ｄ３は、それぞれ点ＡＳ，点Ｐ３Ｓ，点Ｐ４Ｓの座標を用いて算出することができ、係数ａ４，ｂ４，ｃ４，ｄ４は、それぞれ点ＡＥ，点Ｐ３Ｅ，点Ｐ４Ｅの座標を用いて算出することができる。
【００５１】
［端点の算出（ステップＳ１０９）］
端面の位置を用いた各パスの端点の算出方法について具体例を用いて説明する。ここでは、第１の端面の位置を用いた各パスの端点の算出方法について説明するが、それ以外の端面を用いた各パスの端点の算出方法も同様である。
【００５２】
図４Ｄにおいて、パス生成部２３が生成した第ｎ層における第ｐ番目のパスがパスＣであり、そのパスＣの両端は、点ＣＳ０，ＣＥ０であったとする。ここで、点ＣＳ０の座標値を（ｘ４，ｙ４，ｚ４）とし、点ＣＥ０の座標値を（ｘ５，ｙ５，ｚ５）とする。また、点ＣＳ０を始点として、点ＣＥ０を終点とするベクトルをＶｃ＝（ｖｘ、ｖｙ、ｖｚ）とすると、ベクトルＶｃは、次式のようになる。
Ｖｃ＝（ｖｘ，ｖｙ，ｖｚ）
＝（ｘ５−ｘ４，ｙ５−ｙ４，ｚ５−ｚ４）
したがって、パスＣを含む直線上の点の座標は、次式で示されることになる。ただし、ｔは、任意の実数である。
（ｘ，ｙ，ｚ）＝（ｘ４，ｙ４，ｚ４）＋ｔ（ｖｘ，ｖｙ，ｖｚ）
【００５３】
また、第１の端面の式に上式のｘ，ｙ，ｚを代入してｔについて解くことによって、第１の端面と、パスＣを含む直線との交点ＣＳに応じたｔの値ｔＣＳを算出することができる。そのｔＣＳは、次式のようになり、交点ＣＳの座標を算出することができる。
ｔＣＳ＝｛ｄ１−（ａ１ｘ４＋ｂ１ｙ４＋ｃ１ｚ４）｝／（ａ１ｖｘ＋ｂ１ｖｙ＋ｃ１ｖｚ）
【００５４】
端点算出部２５は、同様にして、パスＣと第２の端面との交点ＣＥも算出できる。なお、図４Ｄにおいて、点ＣＳ０と点ＣＳとの距離と、点ＣＥ０と点ＣＥとの距離は等しいため、パスＣと第２の端面との交点ＣＥに応じたｔの値ｔＣＥは、次式のようになる。そのため、パスＣと第２の端面との交点ＣＥについては、より少ない計算量で算出することができる。
ｔＣＥ＝１−ｔＣＳ
【００５５】
なお、上記説明では、パラメータｔを用いて端点を算出する場合について説明したが、そうでなくてもよいことは言うまでもない。パスＣを含む直線の方程式と、端面の方程式とを解くことによって、パスＣと端面との交点を算出してもよい。また、各層の各パスについて上記の処理を行うことによって、２パス目以降の各パスの端点を算出することができる。
【００５６】
また、第２の積み方の場合には、図５Ｃで示されるように、パスＣと、第３の端面や第４の端面との交点ＣＳ，ＣＥを算出することになるが、その場合にも、上記説明と同様にして、端点算出部２５は、交点ＣＳ，ＣＥを算出できる。
【００５７】
通常、端点算出部２５は、２パス目以降の各パスについて、各端点を算出することになる。一方、第２の積み方の場合には、端点算出部２５は、各層において、いずれか１個のパスについてのみ端点を算出してもよい。そして、各層において、端点の算出されなかったパスの端点の溶接線方向の位置は、算出された端点の溶接線方向の位置と同じにされてもよい。そのことについて、図５Ｄを用いて説明する。図５Ｄは、第２の積み方の第ｎ層を示す図である。図５Ａから分かるように、第２の積み方の場合には、各層は矩形となる。したがって、第ｎ層における各パスＣ１，Ｃ２，Ｃ３…に関するオフセット量ΔｋＮはすべて同じとなり、各パスＣ１，Ｃ２，Ｃ３…の長さも同じとなる。すなわち、パスＣ１，Ｃ２，Ｃ３…の一方の端点Ｃ１Ｓ，Ｃ２Ｓ，Ｃ３Ｓ…の溶接線方向（図５Ｄの図中の左右方向）における位置は、すべて同じとなり、パスＣ１，Ｃ２，Ｃ３…の他方の端点Ｃ１Ｅ，Ｃ２Ｅ，Ｃ３Ｅ…の溶接線方向における位置も、すべて同じとなる。具体的には、それらの端点を求める際の上記ｔの値が同じとなる。そのため、端点算出部２５は、各層において、いずれか１個のパスについてのみｔを算出すれば、他のパスについては、ｔを算出しなくてもよいことになる。したがって、例えば、端点算出部２５は、パスＣ１についてのみｔを算出し、そのｔを用いて、端点Ｃ１Ｓ，Ｃ２Ｓ，Ｃ３Ｓ…等を算出してもよい。また、例えば、端点を示す座標系において、溶接線方向にｚ軸が設定されているような場合には、端点算出部２５は、ある１個のパス（例えば、パスＣ１等）の端点のｚ軸の値のみを記憶部２１等に蓄積してもよい。そして、制御部１２は、第ｎ層の各パスの端点のｚ軸の値として、その１個のパスのｚ軸の値を繰り返して読み出すようにしてもよい。
【００５８】
また、上記説明では、第２の積み方において、１層目（第１層）が矩形である場合について説明したが、そうでなくてもよい。例えば、図５Ｅで示されるように、１層目におけるビード端のなす直線である端線（点ＡＳと点Ｐ４Ｓとを通る直線、または、点ＡＥと点Ｐ４Ｅとを通る直線）が、溶接線方向に対して９０度でなくてもよい。その場合には、記憶部２１では、１層目におけるビード端のなす直線である端線の溶接線方向に対する傾きに関する情報である端線傾斜情報をも記憶されるものとする。その端線傾斜情報は、例えば、図５Ｅの角度γを示す情報であってもよく、点Ｐ４Ｓ０と点Ｐ４Ｓとの距離や点Ｐ４Ｅ０と点Ｐ４Ｅとの距離を示す情報であってもよく、端線の溶接線方向に対する傾きを特定可能なその他の情報であってもよい。そして、端面算出部２４は、その端線傾斜情報をも用いて、端面の位置を算出してもよい。具体的には、端面算出部２４は、端線傾斜情報を用いることによって、端面上の点Ｐ４Ｓや点Ｐ４Ｅの位置を算出することができる。したがって、端面算出部２４は、例えば、点ＡＳ，点Ｐ３Ｓ，点Ｐ４Ｓを通過する第３の端面の位置を算出してもよく、点ＡＥ，点Ｐ３Ｅ，点Ｐ４Ｅを通過する第４の端面の位置を算出してもよい。なお、第２の積み方における１層目とは、すべてのパスが母材８ａ上となる層である。
【００５９】
なお、上記説明では、ある多層盛溶接を行う箇所の両端面を傾斜させる場合に、両端面の傾斜角θを同じにする場合について説明したが、そうでなくてもよい。端面ごとに傾斜角を設定してもよいことは言うまでもない。また、そのことは端線の角度γについても同様である。
【００６０】
また、上記説明では、端面傾斜情報が端面の傾斜角である場合について説明したが、前述のように、端面傾斜情報は、最終層の溶接線方向における伸縮長さ（オフセット量）を示す情報であってもよい。具体的には、端面傾斜情報は、上述のΔｋＮであってもよい。
【００６１】
また、上記説明では、端面が１パス目のパスの端点を通る平面である場合について説明したが、そうでなくてもよい。端面と１パス目とが、それ以外の所定の関係を有している場合であっても、同様にして、端面の算出や、端点の算出を行うことができる。
【００６２】
以上のように、本実施の形態による制御装置１によれば、端面の位置を算出し、その位置の算出された端面と、２パス目以降の各パスに応じた線との交点である端点を算出することによって、２パス目以降の各パスの溶接開始点及び溶接終了点を特定することができる。また、そのような特定を行うため、複数の溶接線が同一平面上に存在しない多層盛溶接であっても、２パス目以降の各パスの溶接開始点等を適切に特定することができるようになる。また、端面傾斜情報や端点傾斜情報を適切に設定することにより、端面における溶接金属のたれを防止することができ、多層盛溶接の品質を向上させることができる。
【００６３】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００６４】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００６５】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス、母材や開先の形状等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【００６６】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、母材や開先の形状、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００６７】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【００６８】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００６９】
以上より、本発明による算出装置によれば、複数の溶接線が同一平面上に存在しない多層盛溶接であっても、２パス目以降の各パスの端点を特定できるという効果が得られ、例えば、溶接ロボットの教示点を算出する装置等として有用である。
【符号の説明】
【００７０】
１  制御装置
２  算出装置
１１  通信部
１２  制御部
２１  記憶部
２２  受付部
２３  パス生成部
２４  端面算出部
２５  端点算出部
【図１】
2015178119.tif 000003
【図２】
2015178119.tif 000004
【図３Ａ】
2015178119.tif 000005
【図３Ｂ】
2015178119.tif 000006
【図４Ａ】
2015178119.tif 000007
【図４Ｂ】
2015178119.tif 000008
【図４Ｃ】
2015178119.tif 000009
【図４Ｄ】
2015178119.tif 000010
【図５Ａ】
2015178119.tif 000011
【図５Ｂ】
2015178119.tif 000012
【図５Ｃ】
2015178119.tif 000013
【図５Ｄ】
2015178119.tif 000014
【図５Ｅ】
2015178119.tif 000015