(58)【調査した分野】(Int.Cl.,DB名)
教示点に従って動作する溶接ロボット(60)の実打点(P1〜P5、Pn)とワーク(W)の溶接打点(Q1〜Q3、Qn)との位置ずれを補正する打点位置補正方法であって、
前記溶接ロボット(60)の複数の前記実打点(P1〜P5、Pn)の位置を測定する測定工程と、
連続して配列され且つ溶接面(S1、S2)における法線方向(N1、N2)が互いに平行する複数の前記実打点(P1〜P5、Pn)を1つの打点群(G1、G2、Gm)として設定する設定工程と、
前記設定工程で設定された1つの前記打点群(G1、G2、Gm)に含まれる複数の前記実打点(P1〜P5、Pn)をまとめて同一の方向に同一の距離(V10、V11、V20、V30、Vn)だけ移動させた場合に、移動後の各前記実打点(P1〜P5、Pn)が各前記溶接打点(Q1〜Q3、Qn)に近づくような前記方向及び前記距離(V10、V11、V20、V30、Vn)の候補を探索する探索工程と、
複数の前記方向及び前記距離(V10、V11、V20、V30、Vn)の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離(V10、V11、V20、V30、Vn)を選択する選択工程と、
前記打点群(G1、G2、Gm)に含まれる複数の前記実打点(P1〜P5、Pn)に対応する複数の前記教示点を、前記選択工程で選択された前記方向及び前記距離(V10、V11、V20、V30、Vn)を用いて補正する補正工程と、を有する
ことを特徴とする打点位置補正方法。
教示点に従って動作する溶接ロボット(60)の実打点(P1〜P5、Pn)とワーク(W)の溶接打点(Q1〜Q3、Qn)との位置ずれを補正する打点位置補正装置(10)であって、
前記溶接ロボット(60)の複数の前記実打点(P1〜P5、Pn)の位置を測定する測定部(12)と、
連続して配列され且つ溶接面(S1、S2)における法線方向(N1、N2)が互いに平行する複数の前記実打点(P1〜P5、Pn)を1つの打点群(G1、G2、Gm)として設定する設定部(30)と、
前記設定部(30)で設定された1つの前記打点群(G1、G2、Gm)に含まれる複数の前記実打点(P1〜P5、Pn)をまとめて同一の方向に同一の距離(V10、V11、V20、V30、Vn)だけ移動させた場合に、移動後の各前記実打点(P1〜P5、Pn)が各前記溶接打点(Q1〜Q3、Qn)に近づくような前記方向及び前記距離(V10、V11、V20、V30、Vn)の候補を探索する探索部(32)と、
複数の前記方向及び前記距離(V10、V11、V20、V30、Vn)の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離(V10、V11、V20、V30、Vn)を選択する選択部(34)と、
前記打点群(G1、G2、Gm)に含まれる複数の前記実打点(P1〜P5、Pn)に対応する複数の前記教示点を、前記選択部(34)で選択された前記方向及び前記距離(V10、V11、V20、V30、Vn)を用いて補正する補正部(36)と、を有する
ことを特徴とする打点位置補正装置(10)。
【背景技術】
【0002】
作業用のロボットは、例えばオフラインティーチングにより作成されたティーチングデータに従って動作する。溶接ロボットの場合、ティーチングデータの教示点としてワークの設計上の溶接打点が設定される。しかし、溶接ロボットを動作させると、溶接ロボットが実際に溶接作業を行う実打点とワークの溶接打点とがずれることがある。
【0003】
打点のずれは、溶接ロボットが備える各関節の動作誤差や溶接ロボットの設置位置のずれ等に起因する。溶接打点に対する実打点のずれをなくすためには、オフラインティーチングの後に、教示点の補正作業をすることが望ましい。
【0004】
教示点を補正する1つとして、ティーチングペンダントを用いて個々に教示点を補正する手法がある。この手法であれば、教示点を確実に補正できる。その一方で、この手法には、位置ずれしている実打点が多数発生した場合に多大な時間を要するという難点がある。
【0005】
教示点の補正を短時間で行うことが可能な技術として、例えば特開2001−105153号公報が開示されている。特開2001−105153号公報に記載の技術では、溶接ガンがワークを挟持する際にロボットの各軸を駆動するサーボモータの電流値を監視し、電流値が所定値より大きい場合に、溶接打点に対して実打点がずれているものと判断する。そして、打点位置を移動させながら電流値が小さくなる打点位置を特定する。更に、以降の全教示点も同じようにずれているものと判断して、以降の全教示点も同じ補正量にて補正する。この技術によれば、複数の教示点をまとめて補正でき、補正作業を効率よく行うことが可能である。
【発明の概要】
【0006】
特開2001−105153号公報に記載の技術は、特定の教示点の位置ずれを補正する移動方向及び移動距離にて以降の全教示点を補正するものである。しかし、その移動方向及び移動距離が妥当でない場合もある。例えば、特定の教示点の位置ずれが単なる教示ミスに起因する場合、特定の教示点の位置ずれを補正する移動方向及び移動距離にて以降の教示点を補正すると、寧ろ他の教示点が位置ずれする。このように、特開2001−105153号公報に記載の技術は、教示点の補正精度に問題がある。
【0007】
本発明はこのような課題を考慮してなされたものであり、溶接ロボットの教示点の補正を効率よく行い且つ補正精度を向上させることが可能な打点位置補正方法及び装置を提供することを目的とする。
【0008】
本発明に係る方法は、教示点に従って動作する溶接ロボットの実打点とワークの溶接打点との位置ずれを補正する打点位置補正方法であって、前記溶接ロボットの複数の前記実打点の位置を測定する測定工程と、連続して配列され且つ溶接面における法線方向が互いに平行する複数の前記実打点を1つの打点群として設定する設定工程と、前記設定工程で設定された1つの前記打点群に含まれる複数の前記実打点をまとめて同一の方向に同一の距離だけ移動させた場合に、移動後の各前記実打点が各前記溶接打点に近づくような前記方向及び前記距離の候補を探索する探索工程と、複数の前記方向及び前記距離の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離を選択する選択工程と、前記打点群に含まれる複数の前記実打点に対応する複数の前記教示点を、前記選択工程で選択された前記方向及び前記距離を用いて補正する補正工程と、を有することを特徴とする。
【0009】
また、本発明に係る装置は、教示点に従って動作する溶接ロボットの実打点とワークの溶接打点との位置ずれを補正する打点位置補正装置であって、前記溶接ロボットの複数の前記実打点の位置を測定する測定部と、連続して配列され且つ溶接面における法線方向が互いに平行する複数の前記実打点を1つの打点群として設定する設定部と、前記設定部で設定された1つの前記打点群に含まれる複数の前記実打点をまとめて同一の方向に同一の距離だけ移動させた場合に、移動後の各前記実打点が各前記溶接打点に近づくような前記方向及び前記距離の候補を探索する探索部と、複数の前記方向及び前記距離の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離を選択する選択部と、前記打点群に含まれる複数の前記実打点に対応する複数の前記教示点を、前記選択部で選択された前記方向及び前記距離を用いて補正する補正部と、を有することを特徴とする。
【0010】
このように、本発明は、溶接面の法線方向が互いに平行し且つ連続して配列される複数の実打点を1つの打点群として設定する。そして、その打点群に含まれる複数の実打点をまとめて同一の方向に同一の距離だけ移動させた場合に、移動後の各実打点が各溶接打点に近づくような方向及び距離の候補を探索する。更に、複数の方向及び距離の候補の中から最適な方向及び距離を選択し、その方向及び距離を用いて、打点群に含まれる複数の実打点に対応する複数の教示点を補正するようにしている。
【0011】
本発明によれば、溶接面の法線方向が互いに平行し且つ連続して配列される複数の実打点を1つの打点群とし、その打点群に含まれる複数の実打点に対応する教示点をまとめて補正するようにしている。このため、補正を効率よく行うことが可能である。更に、打点群に含まれる複数の実打点を補正する移動方向及び移動距離の候補を複数探索し、その中から補正方向及び補正距離として最適なものを選択するようにしている。このため、補正の精度を向上させることが可能である。
【発明を実施するための形態】
【0013】
本発明に係る打点位置補正方法及び装置の好適な実施形態について、添付の図面を参照しながら以下詳細に説明する。
【0014】
[打点位置補正装置10の構成]
図1を用いて本実施形態に係る打点位置補正装置10の構成を説明する。打点位置補正装置10は、溶接ロボット60の実打点の位置を測定する測定部12と、オペレータ等のユーザと補正処理部16との間で情報を交換可能にするユーザインタフェース14と、教示点の補正処理を実行する補正処理部16と、溶接ロボット60を含むロボット装置18と、を備える。
【0015】
測定部12は、空間内における溶接ガンの位置を測定可能な測定機22、例えば、溶接ロボット60の各関節及び各回転軸の回転角度を実測する装置(エンコーダ等)と、各関節及び各回転軸の回転角度に基づいて溶接ガンの位置を演算する装置と、を備える。測定部12は、測定機22で測定された位置の情報(座標情報)を補正処理部16に対して出力する。
【0016】
測定部12は、空間内の位置を測定可能な測定機22、例えばレーザートラッカーを備えていてもよい。レーザートラッカーを使用する場合は、溶接ロボット60の溶接ガンに反射体を設置しておき、反射体の位置から実打点を演算できるようにしておく。
【0017】
ユーザインタフェース14は、マウスやキーボード等の入力装置24と、ディスプレイやスピーカやプリンタ等の出力装置26を備える。ユーザインタフェース14は、入力装置24を介して入力された入力情報を補正処理部16に対して入力する。また、補正処理部16から出力された出力情報を出力装置26にて出力する。
【0018】
補正処理部16は、各種演算処理を行うCPUと、各種データを記憶するメモリと、データを入出力する入出力部等を備えており、例えばパーソナルコンピュータで構成される。補正処理部16は、内部又は外部に記憶されるプログラムを実行することにより、設定部30と、探索部32と、選択部34と、補正部36として機能する。また、補正処理部16は、補正後の位置情報を記憶する補正情報記憶部38を備える。例えば、補正情報記憶部38はデータベースである。更に、探索部32には、近傍打点検索部40と、方向/距離演算部42と、が含まれる。また、選択部34には、位置演算部50と、総和演算部52と、方向/距離選択部54と、が含まれる。各部の機能については下記打点位置補正処理の説明にて述べる。
【0019】
ロボット装置18は、複数の関節及び回転軸を備えた溶接ロボット60と、溶接ロボット60を制御する制御部62と、を備える。制御部62は、教示点を含むティーチングデータを記憶し、ティーチングデータを用いて溶接ロボット60の動作を制御する。ティーチングデータには教示点の位置情報(座標情報)と、教示点における溶接面の法線方向の情報が含まれる。
【0020】
[打点位置補正処理]
図2を用いて本実施形態に係る打点位置補正処理の手順を説明する。なお、本実施形態では、溶接ロボット60の設置エリアに、特定の座標系の基準となる水準器(図示なし)が設置されているものとする。この水準器の位置を測定部12の測定機22で予め測定しておく。そして、測定機22で測定される位置を特定の座標系に変換するための変換式を求めておき、以後、この変換式により測定機22で測定される位置を特定の座標系の位置に変換することとする。
【0021】
ステップS1にて、溶接ロボット60による空打ちをして実打点の位置を測定する。制御部62がティーチングデータに従って溶接ロボット60を動作させると、溶接ロボット60はティーチングデータに含まれる全ての教示点で空打ちをする。このとき、測定部12の測定機22は、溶接ロボット60が実際に溶接作業を行う実打点、すなわち空打ちした実打点の位置を測定する。
【0022】
ステップS2にて、複数の実打点からなる打点群を設定する。設定部30は、測定機22で測定された実打点の位置を示す位置情報(座標情報)と、その実打点に対応する教示点の溶接面における法線方向情報(面直方向情報)と、を関連付ける。そして、連続して配列され且つ溶接面における法線方向が互いに平行する複数の実打点を1つの打点群として設定する。例えば、ワークWを溶接するティーチングデータに従って溶接ロボット60が空打ちをした際に、
図3に示されるように、実打点P1〜P5が測定されたとする。実打点P1〜P3は、連続して配列され且つ溶接面S1における法線方向N1が互いに平行する。この場合、実打点P1〜P3は1つの打点群G1として設定される。また、実打点P4、P5は、連続して配列され且つ溶接面S2における法線方向N2が互いに平行する。この場合、実打点P4、P5は1つの打点群G2として設定される。このようにして1以上の打点群G1、G2が設定される。
【0023】
以下で説明するステップS3〜ステップS4では、1つの打点群Gmに含まれる複数の実打点Pnをまとめて同一の方向に同一の距離だけ移動させた場合を想定する。そして、移動後の各実打点Pnが各溶接打点Qnに近づくような方向及び距離の候補を探索する処理を行う。この処理は探索部32により行われる。
【0024】
ステップS3にて、実打点Pn毎に、その実打点Pnの近傍に位置する溶接打点Qnを検索する。ここで行われる処理内容について、
図4を用いて具体的に説明する。近傍打点検索部40は、打点群Gmに含まれる各実打点Pnの位置情報と、設計情報Aに含まれる各溶接打点Qnの位置情報と、を取得する。そして、
図4に示されるように、実打点Pnを中心とした所定範囲Dに含まれる溶接打点Qnを検索し、発見した1以上の溶接打点Qnを実打点Pnに対する仮対応打点として割り当てる。なお、所定範囲Dは任意に設定・変更可能である。
【0025】
ステップS4にて、ステップS3で仮対応打点とされた溶接打点Qnの位置まで実打点Pnを移動させる方向及び距離(ベクトルVn)を求める。ここで行われる処理内容について、
図5を用いて具体的に説明する。
図5に示される実施形態では、ステップS3により、実打点P1に対する仮対応打点として2つの溶接打点Q0、Q1が割り当てられている。方向/距離演算部42は、実打点P1を溶接打点Q0の位置C110に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルV10を求める。また、実打点P1を溶接打点Q1の位置C111に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルV11を求める。
【0026】
また、実打点P2に対する仮対応打点として溶接打点Q2が割り当てられている。方向/距離演算部42は、実打点P2を溶接打点Q2の位置C220に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルV20を求める。また、実打点P3に対する仮対応打点として溶接打点Q3が割り当てられている。方向/距離演算部42は、実打点P3を溶接打点Q3の位置C330に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルV30を求める。
【0027】
このステップS4の処理により、4つのベクトルV10、V11、V20、V30が求められる。これらのベクトルV10、V11、V20、V30を、打点群Gmを移動させる方向及び距離の候補とする。
【0028】
以下で説明するステップS5〜ステップS7では、ステップS4で求めた複数の方向及び距離(ベクトルVn)の候補の中から補正方向及び補正距離として最適な方向及び距離(ベクトルVn)を選択する。この処理は選択部34により行われる。
【0029】
ステップS5にて、各実打点PnをステップS4で求めた全ての方向及び距離(ベクトルVn)で移動させた場合の移動後の位置を求める。ここで行われる処理内容について、ステップS4の説明で用いた
図5を用いて具体的に説明する。位置演算部50は、打点群Gm、すなわち実打点P1、P2、P3を、ステップS4で求められたベクトルV10を用いて移動させた場合を想定し、移動後の各位置C110、C210、C310を求める。また、位置演算部50は、実打点P1、P2、P3を、ステップS4で求められたベクトルV11を用いて移動させた場合を想定し、移動後の各位置C111、C211、C311を求める。また、位置演算部50は、実打点P1、P2、P3を、ステップS4で求められたベクトルV20を用いて移動させた場合を想定し、移動後の各位置C120、C220、C320を求める。また、位置演算部50は、実打点P1、P2、P3を、ステップS4で求められたベクトルV30を用いて移動させた場合を想定し、移動後の各位置C130、C230、C330を求める。
【0030】
ステップS6にて、方向及び距離(ベクトルVn)の候補に基づいて移動させた場合の実打点Pnと、移動後の実打点Pnの近傍に位置する溶接打点Qnと、の距離を、実打点Pn毎に演算する。更に、実打点Pn毎に演算された距離を、方向及び距離(ベクトルVn)の候補毎に合算して総和を演算する。ここで行われる処理内容について、
図6A〜
図6Dを用いて具体的に説明する。
図6Aに示されるように、総和演算部52は、ベクトルV10で各実打点P1、P2、P3を移動させた後の各実打点の位置C110、C210、C310と、各実打点P1、P2、P3に対する仮対応打点とされた溶接打点Q0、Q2、Q3の各位置C110、C220、C330との距離を求める。実打点P1の移動後の位置C110は、溶接打点Q0の位置C110と一致する。実打点P2の移動後の位置C210は、溶接打点Q2の位置C220と距離T210だけ離れている。実打点P3の移動後の位置C310は、溶接打点Q3の位置C330と距離T310だけ離れている。総和演算部52は、距離の総和S(T10)=T210+T310を求める。
【0031】
また、
図6Bに示されるように、総和演算部52は、ベクトルV11で各実打点P1、P2、P3を移動させた後の各実打点の位置C111、C211、C311と、各実打点P1、P2、P3に対する仮対応打点とされた溶接打点Q1、Q2、Q3の各位置C111、C220、C330との距離を求める。実打点P1の移動後の位置C111は、溶接打点Q1の位置C111と一致する。実打点P2の移動後の位置C211は、溶接打点Q2の位置C220と距離T211だけ離れている。実打点P3の移動後の位置C311は、溶接打点Q3の位置C330と距離T311だけ離れている。総和演算部52は、距離の総和S(T11)=T211+T311を求める。
【0032】
また、
図6Cに示されるように、総和演算部52は、ベクトルV20で各実打点P1、P2、P3を移動させた後の各実打点の位置C120、C220、C320と、各実打点P1、P2、P3に対する仮対応打点とされた溶接打点Q0、Q1、Q2、Q3の各位置C110、C111、C220、C330との距離を求める。実打点P1の移動後の位置C120は、一方の溶接打点Q0の位置C110と距離T120だけ離れ、他方の溶接打点Q1の位置C111と距離T120´だけ離れている。実打点P2の移動後の位置C220は、溶接打点Q2の位置C220と一致する。実打点P3の移動後の位置C320は、溶接打点Q3の位置C330と距離T320だけ離れている。総和演算部52は、2種類の距離の総和S(T20)=T120+T320及びS´(T20)=T120´+T320を求める。
【0033】
また、
図6Dに示されるように、総和演算部52は、ベクトルV30で各実打点P1、P2、P3を移動させた後の各実打点の位置C130、C230、C330と、各実打点P1、P2、P3に対する仮対応打点とされた溶接打点Q0、Q1、Q2、Q3の各位置C110、C111、C220、C330との距離を求める。実打点P1の移動後の位置C130は、一方の溶接打点Q0の位置C110と距離T130だけ離れ、他方の溶接打点Q1の位置C111と距離T130´だけ離れている。実打点P2の移動後の位置C230は、溶接打点Q2の位置C220と距離T230だけ離れている。実打点P3の移動後の位置C330は、溶接打点Q3の位置C330と一致する。総和演算部52は、2種類の距離の総和S(T30)=T130+T230及びS´(T30)=T130´+T230を求める。
【0034】
ステップS7にて、ステップS6で演算された総和が最小値になる方向及び前記距離(ベクトルVn)を選択する。方向/距離選択部54は、ステップS6で演算された6つの総和S(T10)、S(T11)、S(T20)、S´(T20)、S(T30)、S´(T30)の中から、最小値を選択する。そして、選択された総和が得られるベクトルVnを、補正方向及び補正距離として最適な方向及び距離であるものとして選択する。例えば、総和S(T11)が最小値である場合は、ベクトルV11を選択する。
【0035】
ステップS8にて、打点群Gmに含まれる複数の実打点Pnに対応する複数の教示点を、ステップS7で選択された方向及び距離(ベクトルVn)を用いて補正する。補正部36は、ロボット装置18の制御部62に記憶される教示点のうち、打点群Gmに対応する教示点の位置情報を、ステップS7で選択された方向及び距離(ベクトルVn)を用いて一括して補正する。補正情報記憶部38は、補正された教示点の位置情報を記憶する。
【0036】
ステップS9にて、他の打点群Gmが存在する場合(ステップS9:YES)、ステップS3に戻ってステップS3〜ステップS8の処理が繰り返される。一方、他の打点群Gmが存在しない場合(ステップS9:NO)、打点位置補正処理を終了する。
【0037】
なお、ステップS6にて行われる総和の演算結果を出力装置26のディスプレイに表示することも可能である。また、この場合はユーザが入力装置24を介して、総和が最小値になる方向及び距離(ベクトルVn)を選択することも可能である。また、ステップS9にて補正情報記憶部38に記憶される補正後の教示点の位置情報を出力装置26のディスプレイに表示することも可能である。
【0038】
ステップS6にて、移動後の実打点Pnと近傍に位置する溶接打点Qnとの距離に閾値を設定することも可能である。そして、移動後の実打点Pnと近傍に位置する溶接打点Qnとの距離が閾値以内となる実打点Pnのみを選択し、ステップS7以降の処理を行うことも可能である。この場合、移動後の実打点Pnと近傍に位置する溶接打点Qnとの距離が閾値より離れている実打点Pnに関しては、個別に位置ずれを補正すればよい。
【0039】
[本実施形態のまとめ]
本実施形態に係る方法は、教示点に従って動作する溶接ロボット60の実打点PnとワークWの溶接打点Qnとの位置ずれを補正する打点位置補正方法に関する。本方法は、溶接ロボット60の複数の実打点Pnの位置を測定する測定工程(ステップS1)と、連続して配列され且つ溶接面における法線方向が互いに平行する複数の実打点Pnを1つの打点群Gmとして設定する設定工程(ステップS2)と、設定工程(ステップS2)で設定された1つの打点群Gmに含まれる複数の実打点Pnをまとめて同一の方向に同一の距離(ベクトルVn)だけ移動させた場合に、移動後の各実打点Pnが各溶接打点Qnに近づくような方向及び距離(ベクトルVn)の候補を探索する探索工程(ステップS3〜ステップS4)と、複数の方向及び距離(ベクトルVn)の候補の中から補正方向及び補正距離として最適な方向及び距離(ベクトルVn)を選択する選択工程(ステップS5〜ステップS7)と、打点群Gmに含まれる複数の実打点Pnに対応する複数の教示点を、選択工程(ステップS7)で選択された方向及び距離(ベクトルVn)を用いて補正する補正工程(ステップS8)と、を有する。
【0040】
本実施形態において、ステップS1〜ステップS8の処理は次のような装置構成において実行される。すなわち、測定部12は、溶接ロボット60の複数の実打点Pnの位置を測定する。設定部30は、連続して配列され且つ溶接面における法線方向が互いに平行する複数の実打点Pnを1つの打点群Gmとして設定する。探索部32は、設定部30で設定された1つの打点群Gmに含まれる複数の実打点Pnをまとめて同一の方向に同一の距離(ベクトルVn)だけ移動させた場合に、移動後の各実打点Pnが各溶接打点Qnに近づくような方向及び距離(ベクトルVn)の候補を探索する。選択部34は、複数の方向及び距離(ベクトルVn)の候補の中から補正方向及び補正距離として最適な方向及び距離(ベクトルVn)を選択する。補正部36は、打点群Gmに含まれる複数の実打点Pnに対応する複数の教示点を、選択部34で選択された方向及び距離(ベクトルVn)を用いて補正する。
【0041】
本実施形態によれば、溶接面の法線方向が互いに平行し且つ連続して配列される複数の実打点Pnを1つの打点群Gmとし、その打点群Gmに含まれる複数の実打点Pnに対応する教示点をまとめて補正するようにしている。このため、補正を効率よく行うことが可能である。更に、打点群Gmに含まれる複数の実打点Pnを補正する移動方向及び移動距離(ベクトルVn)の候補を複数探索し、その中から補正方向及び補正距離として最適なものを選択するようにしている。このため、補正の精度を向上させることが可能である。
【0042】
また、本実施形態に係る方法において、探索工程(ステップS3〜ステップS4)は、実打点Pn毎に、実打点Pnの近傍に位置する溶接打点Qnを検索する近傍打点検索工程(ステップS3)と、近傍打点検索工程(ステップS3)で検索された溶接打点Qnまで実打点Pnを移動させる方向及び距離(ベクトルVn)を求める方向/距離演算工程(ステップS4)と、を有し、方向/距離演算工程(ステップS4)で求めた全ての方向及び距離(ベクトルVn)を、方向及び距離(ベクトルVn)の候補としている。
【0043】
本実施形態において、ステップS3〜ステップS4の処理は次のような装置構成において実行される。すなわち、近傍打点検索部40は、実打点Pn毎に、実打点Pnの近傍に位置する溶接打点Qnを検索する。方向/距離演算部42は、近傍打点検索部40で検索された溶接打点Qnまで実打点Pnを移動させる方向及び距離(ベクトルVn)を求める。
【0044】
本実施形態によれば、実打点Pnを対応する溶接打点Qnに移動させる方向及び距離(ベクトルVn)を、打点群Gmを移動させる方向及び距離(ベクトルVn)の候補とする。このように、現存する溶接打点Qnを移動先の候補として想定するため、効率よく方向及び距離(ベクトルVn)の候補を探索することが可能となる。
【0045】
また、本発明に係る方法において、選択工程(ステップS5〜ステップS7)は、方向及び距離(ベクトルVn)の候補に基づいて移動させた場合の実打点Pnと、移動後の実打点Pnの近傍に位置する溶接打点Qnと、の距離を、実打点Pn毎に演算すると共に、実打点Pn毎に演算された距離を、方向及び距離(ベクトルVn)の候補毎に合算して総和を演算する総和演算工程(ステップS6)と、総和が最小値になる方向及び距離(ベクトルVn)を選択する方向/距離選択工程(ステップS7)と、を有してもよい。
【0046】
本実施形態において、ステップS6〜ステップS7の処理は次のような装置構成において実行される。すなわち、総和演算部52は、方向及び距離(ベクトルVn)の候補に基づいて移動させた場合の実打点Pnと、移動後の実打点Pnの近傍に位置する溶接打点Qnと、の距離を、実打点Pn毎に演算する。また、実打点Pn毎に演算された距離を、方向及び距離(ベクトルVn)の候補毎に合算して総和を演算する。方向/距離選択部54は、総和が最小値になる方向及び距離(ベクトルVn)を選択する。
【0047】
本実施形態によれば、総和、すなわち位置ずれ量が最小となる方向及び距離(ベクトルVn)を選択するため、教示点の補正精度を向上させることが可能となる。