(57)【要約】  溶接面（Ｓ１、Ｓ２）の法線方向（Ｎ１、Ｎ２）が互いに平行し且つ連続して配列される複数の実打点（Ｐ１〜Ｐ５、Ｐｎ）を１つの打点群（Ｇ１、Ｇ２、Ｇｍ）として設定する。そして、その打点群（Ｇ１、Ｇ２、Ｇｍ）に含まれる複数の実打点（Ｐ１〜Ｐ５、Ｐｎ）をまとめて同一の方向に同一の距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）だけ移動させた場合に、移動後の各実打点（Ｐ１〜Ｐ５、Ｐｎ）が各溶接打点（Ｑ１〜Ｑ３、Ｑｎ）に近づくような方向及び距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補を探索する。更に、複数の方向及び距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補の中から最適な方向及び距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を選択し、その方向及び距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を用いて、打点群（Ｇ１、Ｇ２、Ｇｍ）に含まれる複数の実打点（Ｐ１〜Ｐ５、Ｐｎ）に対応する複数の教示点を補正する。
2016136816.tif 000002
【特許請求の範囲】
【請求項１】
教示点に従って動作する溶接ロボット（６０）の実打点（Ｐ１〜Ｐ５、Ｐｎ）とワーク（Ｗ）の溶接打点（Ｑ１〜Ｑ３、Ｑｎ）との位置ずれを補正する打点位置補正方法であって、
前記溶接ロボット（６０）の複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）の位置を測定する測定工程と、
連続して配列され且つ溶接面（Ｓ１、Ｓ２）における法線方向（Ｎ１、Ｎ２）が互いに平行する複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）を１つの打点群（Ｇ１、Ｇ２、Ｇｍ）として設定する設定工程と、
前記設定工程で設定された１つの前記打点群（Ｇ１、Ｇ２、Ｇｍ）に含まれる複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）をまとめて同一の方向に同一の距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）だけ移動させた場合に、移動後の各前記実打点（Ｐ１〜Ｐ５、Ｐｎ）が各前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）に近づくような前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補を探索する探索工程と、
複数の前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を選択する選択工程と、
前記打点群（Ｇ１、Ｇ２、Ｇｍ）に含まれる複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）に対応する複数の前記教示点を、前記選択工程で選択された前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を用いて補正する補正工程と、を有する
ことを特徴とする打点位置補正方法。
【請求項２】
請求項１に記載の打点位置補正方法であって、
前記探索工程は、
前記実打点（Ｐ１〜Ｐ５、Ｐｎ）毎に、当該実打点（Ｐ１〜Ｐ５、Ｐｎ）の近傍に位置する前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）を検索する近傍打点検索工程と、
前記近傍打点検索工程で検索された前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）まで前記実打点（Ｐ１〜Ｐ５、Ｐｎ）を移動させる前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を求める方向／距離演算工程と、を有し、
前記方向／距離演算工程で求めた全ての前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を、前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補とする
ことを特徴とする打点位置補正方法。
【請求項３】
請求項１又は２に記載の打点位置補正方法であって、
前記選択工程は、
前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補に基づいて移動させた場合の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）と、移動後の当該実打点（Ｐ１〜Ｐ５、Ｐｎ）の近傍に位置する前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）と、の距離を、前記実打点（Ｐ１〜Ｐ５、Ｐｎ）毎に演算すると共に、前記実打点（Ｐ１〜Ｐ５、Ｐｎ）毎に演算された距離を、前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補毎に合算して総和を演算する総和演算工程と、
前記総和が最小値になる前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を選択する方向／距離選択工程と、を有する
ことを特徴とする打点位置補正方法。
【請求項４】
教示点に従って動作する溶接ロボット（６０）の実打点（Ｐ１〜Ｐ５、Ｐｎ）とワーク（Ｗ）の溶接打点（Ｑ１〜Ｑ３、Ｑｎ）との位置ずれを補正する打点位置補正装置（１０）であって、
前記溶接ロボット（６０）の複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）の位置を測定する測定部（１２）と、
連続して配列され且つ溶接面（Ｓ１、Ｓ２）における法線方向（Ｎ１、Ｎ２）が互いに平行する複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）を１つの打点群（Ｇ１、Ｇ２、Ｇｍ）として設定する設定部（３０）と、
前記設定部（３０）で設定された１つの前記打点群（Ｇ１、Ｇ２、Ｇｍ）に含まれる複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）をまとめて同一の方向に同一の距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）だけ移動させた場合に、移動後の各前記実打点（Ｐ１〜Ｐ５、Ｐｎ）が各前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）に近づくような前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補を探索する探索部（３２）と、
複数の前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を選択する選択部（３４）と、
前記打点群（Ｇ１、Ｇ２、Ｇｍ）に含まれる複数の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）に対応する複数の前記教示点を、前記選択部（３４）で選択された前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を用いて補正する補正部（３６）と、を有する
ことを特徴とする打点位置補正装置（１０）。
【請求項５】
請求項４に記載の打点位置補正装置（１０）であって、
前記探索部（３２）は、
前記実打点（Ｐ１〜Ｐ５、Ｐｎ）毎に、当該実打点（Ｐ１〜Ｐ５、Ｐｎ）の近傍に位置する前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）を検索する近傍打点検索部（４０）と、
前記近傍打点検索部（４０）で検索された前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）まで前記実打点（Ｐ１〜Ｐ５、Ｐｎ）を移動させる前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を求める方向／距離演算部（４２）と、を有し、
前記方向／距離演算部（４２）で求めた全ての前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を、前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補とする
ことを特徴とする打点位置補正装置（１０）。
【請求項６】
請求項４又は５に記載の打点位置補正装置（１０）であって、
前記選択部（３４）は、
前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補に基づいて移動させた場合の前記実打点（Ｐ１〜Ｐ５、Ｐｎ）と、移動後の当該実打点（Ｐ１〜Ｐ５、Ｐｎ）の近傍に位置する前記溶接打点（Ｑ１〜Ｑ３、Ｑｎ）と、の距離を、前記実打点（Ｐ１〜Ｐ５、Ｐｎ）毎に演算すると共に、前記実打点（Ｐ１〜Ｐ５、Ｐｎ）毎に演算された距離を、前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）の候補毎に合算して総和を演算する総和演算部（５２）と、
前記総和が最小値になる前記方向及び前記距離（Ｖ１０、Ｖ１１、Ｖ２０、Ｖ３０、Ｖｎ）を選択する方向／距離選択部（５４）と、を有する
ことを特徴とする打点位置補正装置（１０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、溶接ロボットが実際に溶接作業を行う実打点とワークの溶接打点との位置ずれを補正する打点位置補正方法及び装置に関する。
【背景技術】
【０００２】
作業用のロボットは、例えばオフラインティーチングにより作成されたティーチングデータに従って動作する。溶接ロボットの場合、ティーチングデータの教示点としてワークの設計上の溶接打点が設定される。しかし、溶接ロボットを動作させると、溶接ロボットが実際に溶接作業を行う実打点とワークの溶接打点とがずれることがある。【０００３】
打点のずれは、溶接ロボットが備える各関節の動作誤差や溶接ロボットの設置位置のずれ等に起因する。溶接打点に対する実打点のずれをなくすためには、オフラインティーチングの後に、教示点の補正作業をすることが望ましい。【０００４】
教示点を補正する１つとして、ティーチングペンダントを用いて個々に教示点を補正する手法がある。この手法であれば、教示点を確実に補正できる。その一方で、この手法には、位置ずれしている実打点が多数発生した場合に多大な時間を要するという難点がある。【０００５】
教示点の補正を短時間で行うことが可能な技術として、例えば特開２００１−１０５１５３号公報が開示されている。特開２００１−１０５１５３号公報に記載の技術では、溶接ガンがワークを挟持する際にロボットの各軸を駆動するサーボモータの電流値を監視し、電流値が所定値より大きい場合に、溶接打点に対して実打点がずれているものと判断する。そして、打点位置を移動させながら電流値が小さくなる打点位置を特定する。更に、以降の全教示点も同じようにずれているものと判断して、以降の全教示点も同じ補正量にて補正する。この技術によれば、複数の教示点をまとめて補正でき、補正作業を効率よく行うことが可能である。
【発明の概要】
【０００６】
特開２００１−１０５１５３号公報に記載の技術は、特定の教示点の位置ずれを補正する移動方向及び移動距離にて以降の全教示点を補正するものである。しかし、その移動方向及び移動距離が妥当でない場合もある。例えば、特定の教示点の位置ずれが単なる教示ミスに起因する場合、特定の教示点の位置ずれを補正する移動方向及び移動距離にて以降の教示点を補正すると、寧ろ他の教示点が位置ずれする。このように、特開２００１−１０５１５３号公報に記載の技術は、教示点の補正精度に問題がある。
【０００７】
本発明はこのような課題を考慮してなされたものであり、溶接ロボットの教示点の補正を効率よく行い且つ補正精度を向上させることが可能な打点位置補正方法及び装置を提供することを目的とする。
【０００８】
本発明に係る方法は、教示点に従って動作する溶接ロボットの実打点とワークの溶接打点との位置ずれを補正する打点位置補正方法であって、前記溶接ロボットの複数の前記実打点の位置を測定する測定工程と、連続して配列され且つ溶接面における法線方向が互いに平行する複数の前記実打点を１つの打点群として設定する設定工程と、前記設定工程で設定された１つの前記打点群に含まれる複数の前記実打点をまとめて同一の方向に同一の距離だけ移動させた場合に、移動後の各前記実打点が各前記溶接打点に近づくような前記方向及び前記距離の候補を探索する探索工程と、複数の前記方向及び前記距離の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離を選択する選択工程と、前記打点群に含まれる複数の前記実打点に対応する複数の前記教示点を、前記選択工程で選択された前記方向及び前記距離を用いて補正する補正工程と、を有することを特徴とする。
【０００９】
また、本発明に係る装置は、教示点に従って動作する溶接ロボットの実打点とワークの溶接打点との位置ずれを補正する打点位置補正装置であって、前記溶接ロボットの複数の前記実打点の位置を測定する測定部と、連続して配列され且つ溶接面における法線方向が互いに平行する複数の前記実打点を１つの打点群として設定する設定部と、前記設定部で設定された１つの前記打点群に含まれる複数の前記実打点をまとめて同一の方向に同一の距離だけ移動させた場合に、移動後の各前記実打点が各前記溶接打点に近づくような前記方向及び前記距離の候補を探索する探索部と、複数の前記方向及び前記距離の候補の中から補正方向及び補正距離として最適な前記方向及び前記距離を選択する選択部と、前記打点群に含まれる複数の前記実打点に対応する複数の前記教示点を、前記選択部で選択された前記方向及び前記距離を用いて補正する補正部と、を有することを特徴とする。
【００１０】
このように、本発明は、溶接面の法線方向が互いに平行し且つ連続して配列される複数の実打点を１つの打点群として設定する。そして、その打点群に含まれる複数の実打点をまとめて同一の方向に同一の距離だけ移動させた場合に、移動後の各実打点が各溶接打点に近づくような方向及び距離の候補を探索する。更に、複数の方向及び距離の候補の中から最適な方向及び距離を選択し、その方向及び距離を用いて、打点群に含まれる複数の実打点に対応する複数の教示点を補正するようにしている。
【００１１】
本発明によれば、溶接面の法線方向が互いに平行し且つ連続して配列される複数の実打点を１つの打点群とし、その打点群に含まれる複数の実打点に対応する教示点をまとめて補正するようにしている。このため、補正を効率よく行うことが可能である。更に、打点群に含まれる複数の実打点を補正する移動方向及び移動距離の候補を複数探索し、その中から補正方向及び補正距離として最適なものを選択するようにしている。このため、補正の精度を向上させることが可能である。
【図面の簡単な説明】
【００１２】
【図１】図１は本実施形態に係る打点位置補正装置の機能ブロック図である。
【図２】図２は本実施形態に係る打点位置補正処理のフローチャートである。
【図３】図３は打点群の説明に供される図である。
【図４】図４は実打点と実打点の近傍に位置する溶接打点を示す図である。
【図５】図５は３つの実打点を移動させる方向及び距離の候補を示す図である。
【図６】図６Ａ〜図６Ｄは個々のベクトルで移動させた実打点と溶接打点との距離差を示す図である。
【発明を実施するための形態】
【００１３】
本発明に係る打点位置補正方法及び装置の好適な実施形態について、添付の図面を参照しながら以下詳細に説明する。
【００１４】
［打点位置補正装置１０の構成］
図１を用いて本実施形態に係る打点位置補正装置１０の構成を説明する。打点位置補正装置１０は、溶接ロボット６０の実打点の位置を測定する測定部１２と、オペレータ等のユーザと補正処理部１６との間で情報を交換可能にするユーザインタフェース１４と、教示点の補正処理を実行する補正処理部１６と、溶接ロボット６０を含むロボット装置１８と、を備える。
【００１５】
測定部１２は、空間内における溶接ガンの位置を測定可能な測定機２２、例えば、溶接ロボット６０の各関節及び各回転軸の回転角度を実測する装置（エンコーダ等）と、各関節及び各回転軸の回転角度に基づいて溶接ガンの位置を演算する装置と、を備える。測定部１２は、測定機２２で測定された位置の情報（座標情報）を補正処理部１６に対して出力する。
【００１６】
測定部１２は、空間内の位置を測定可能な測定機２２、例えばレーザートラッカーを備えていてもよい。レーザートラッカーを使用する場合は、溶接ロボット６０の溶接ガンに反射体を設置しておき、反射体の位置から実打点を演算できるようにしておく。
【００１７】
ユーザインタフェース１４は、マウスやキーボード等の入力装置２４と、ディスプレイやスピーカやプリンタ等の出力装置２６を備える。ユーザインタフェース１４は、入力装置２４を介して入力された入力情報を補正処理部１６に対して入力する。また、補正処理部１６から出力された出力情報を出力装置２６にて出力する。
【００１８】
補正処理部１６は、各種演算処理を行うＣＰＵと、各種データを記憶するメモリと、データを入出力する入出力部等を備えており、例えばパーソナルコンピュータで構成される。補正処理部１６は、内部又は外部に記憶されるプログラムを実行することにより、設定部３０と、探索部３２と、選択部３４と、補正部３６として機能する。また、補正処理部１６は、補正後の位置情報を記憶する補正情報記憶部３８を備える。例えば、補正情報記憶部３８はデータベースである。更に、探索部３２には、近傍打点検索部４０と、方向／距離演算部４２と、が含まれる。また、選択部３４には、位置演算部５０と、総和演算部５２と、方向／距離選択部５４と、が含まれる。各部の機能については下記打点位置補正処理の説明にて述べる。
【００１９】
ロボット装置１８は、複数の関節及び回転軸を備えた溶接ロボット６０と、溶接ロボット６０を制御する制御部６２と、を備える。制御部６２は、教示点を含むティーチングデータを記憶し、ティーチングデータを用いて溶接ロボット６０の動作を制御する。ティーチングデータには教示点の位置情報（座標情報）と、教示点における溶接面の法線方向の情報が含まれる。
【００２０】
［打点位置補正処理］
図２を用いて本実施形態に係る打点位置補正処理の手順を説明する。なお、本実施形態では、溶接ロボット６０の設置エリアに、特定の座標系の基準となる水準器（図示なし）が設置されているものとする。この水準器の位置を測定部１２の測定機２２で予め測定しておく。そして、測定機２２で測定される位置を特定の座標系に変換するための変換式を求めておき、以後、この変換式により測定機２２で測定される位置を特定の座標系の位置に変換することとする。
【００２１】
ステップＳ１にて、溶接ロボット６０による空打ちをして実打点の位置を測定する。制御部６２がティーチングデータに従って溶接ロボット６０を動作させると、溶接ロボット６０はティーチングデータに含まれる全ての教示点で空打ちをする。このとき、測定部１２の測定機２２は、溶接ロボット６０が実際に溶接作業を行う実打点、すなわち空打ちした実打点の位置を測定する。
【００２２】
ステップＳ２にて、複数の実打点からなる打点群を設定する。設定部３０は、測定機２２で測定された実打点の位置を示す位置情報（座標情報）と、その実打点に対応する教示点の溶接面における法線方向情報（面直方向情報）と、を関連付ける。そして、連続して配列され且つ溶接面における法線方向が互いに平行する複数の実打点を１つの打点群として設定する。例えば、ワークＷを溶接するティーチングデータに従って溶接ロボット６０が空打ちをした際に、図３に示されるように、実打点Ｐ１〜Ｐ５が測定されたとする。実打点Ｐ１〜Ｐ３は、連続して配列され且つ溶接面Ｓ１における法線方向Ｎ１が互いに平行する。この場合、実打点Ｐ１〜Ｐ３は１つの打点群Ｇ１として設定される。また、実打点Ｐ４、Ｐ５は、連続して配列され且つ溶接面Ｓ２における法線方向Ｎ２が互いに平行する。この場合、実打点Ｐ４、Ｐ５は１つの打点群Ｇ２として設定される。このようにして１以上の打点群Ｇ１、Ｇ２が設定される。
【００２３】
以下で説明するステップＳ３〜ステップＳ４では、１つの打点群Ｇｍに含まれる複数の実打点Ｐｎをまとめて同一の方向に同一の距離だけ移動させた場合を想定する。そして、移動後の各実打点Ｐｎが各溶接打点Ｑｎに近づくような方向及び距離の候補を探索する処理を行う。この処理は探索部３２により行われる。
【００２４】
ステップＳ３にて、実打点Ｐｎ毎に、その実打点Ｐｎの近傍に位置する溶接打点Ｑｎを検索する。ここで行われる処理内容について、図４を用いて具体的に説明する。近傍打点検索部４０は、打点群Ｇｍに含まれる各実打点Ｐｎの位置情報と、設計情報Ａに含まれる各溶接打点Ｑｎの位置情報と、を取得する。そして、図４に示されるように、実打点Ｐｎを中心とした所定範囲Ｄに含まれる溶接打点Ｑｎを検索し、発見した１以上の溶接打点Ｑｎを実打点Ｐｎに対する仮対応打点として割り当てる。なお、所定範囲Ｄは任意に設定・変更可能である。
【００２５】
ステップＳ４にて、ステップＳ３で仮対応打点とされた溶接打点Ｑｎの位置まで実打点Ｐｎを移動させる方向及び距離（ベクトルＶｎ）を求める。ここで行われる処理内容について、図５を用いて具体的に説明する。図５に示される実施形態では、ステップＳ３により、実打点Ｐ１に対する仮対応打点として２つの溶接打点Ｑ０、Ｑ１が割り当てられている。方向／距離演算部４２は、実打点Ｐ１を溶接打点Ｑ０の位置Ｃ１１０に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルＶ１０を求める。また、実打点Ｐ１を溶接打点Ｑ１の位置Ｃ１１１に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルＶ１１を求める。
【００２６】
また、実打点Ｐ２に対する仮対応打点として溶接打点Ｑ２が割り当てられている。方向／距離演算部４２は、実打点Ｐ２を溶接打点Ｑ２の位置Ｃ２２０に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルＶ２０を求める。また、実打点Ｐ３に対する仮対応打点として溶接打点Ｑ３が割り当てられている。方向／距離演算部４２は、実打点Ｐ３を溶接打点Ｑ３の位置Ｃ３３０に移動させる場合を想定し、移動させる方向及び距離、すなわちベクトルＶ３０を求める。
【００２７】
このステップＳ４の処理により、４つのベクトルＶ１０、Ｖ１１、Ｖ２０、Ｖ３０が求められる。これらのベクトルＶ１０、Ｖ１１、Ｖ２０、Ｖ３０を、打点群Ｇｍを移動させる方向及び距離の候補とする。
【００２８】
以下で説明するステップＳ５〜ステップＳ７では、ステップＳ４で求めた複数の方向及び距離（ベクトルＶｎ）の候補の中から補正方向及び補正距離として最適な方向及び距離（ベクトルＶｎ）を選択する。この処理は選択部３４により行われる。
【００２９】
ステップＳ５にて、各実打点ＰｎをステップＳ４で求めた全ての方向及び距離（ベクトルＶｎ）で移動させた場合の移動後の位置を求める。ここで行われる処理内容について、ステップＳ４の説明で用いた図５を用いて具体的に説明する。位置演算部５０は、打点群Ｇｍ、すなわち実打点Ｐ１、Ｐ２、Ｐ３を、ステップＳ４で求められたベクトルＶ１０を用いて移動させた場合を想定し、移動後の各位置Ｃ１１０、Ｃ２１０、Ｃ３１０を求める。また、位置演算部５０は、実打点Ｐ１、Ｐ２、Ｐ３を、ステップＳ４で求められたベクトルＶ１１を用いて移動させた場合を想定し、移動後の各位置Ｃ１１１、Ｃ２１１、Ｃ３１１を求める。また、位置演算部５０は、実打点Ｐ１、Ｐ２、Ｐ３を、ステップＳ４で求められたベクトルＶ２０を用いて移動させた場合を想定し、移動後の各位置Ｃ１２０、Ｃ２２０、Ｃ３２０を求める。また、位置演算部５０は、実打点Ｐ１、Ｐ２、Ｐ３を、ステップＳ４で求められたベクトルＶ３０を用いて移動させた場合を想定し、移動後の各位置Ｃ１３０、Ｃ２３０、Ｃ３３０を求める。
【００３０】
ステップＳ６にて、方向及び距離（ベクトルＶｎ）の候補に基づいて移動させた場合の実打点Ｐｎと、移動後の実打点Ｐｎの近傍に位置する溶接打点Ｑｎと、の距離を、実打点Ｐｎ毎に演算する。更に、実打点Ｐｎ毎に演算された距離を、方向及び距離（ベクトルＶｎ）の候補毎に合算して総和を演算する。ここで行われる処理内容について、図６Ａ〜図６Ｄを用いて具体的に説明する。図６Ａに示されるように、総和演算部５２は、ベクトルＶ１０で各実打点Ｐ１、Ｐ２、Ｐ３を移動させた後の各実打点の位置Ｃ１１０、Ｃ２１０、Ｃ３１０と、各実打点Ｐ１、Ｐ２、Ｐ３に対する仮対応打点とされた溶接打点Ｑ０、Ｑ２、Ｑ３の各位置Ｃ１１０、Ｃ２２０、Ｃ３３０との距離を求める。実打点Ｐ１の移動後の位置Ｃ１１０は、溶接打点Ｑ０の位置Ｃ１１０と一致する。実打点Ｐ２の移動後の位置Ｃ２１０は、溶接打点Ｑ２の位置Ｃ２２０と距離Ｔ２１０だけ離れている。実打点Ｐ３の移動後の位置Ｃ３１０は、溶接打点Ｑ３の位置Ｃ３３０と距離Ｔ３１０だけ離れている。総和演算部５２は、距離の総和Ｓ（Ｔ１０）＝Ｔ２１０＋Ｔ３１０を求める。
【００３１】
また、図６Ｂに示されるように、総和演算部５２は、ベクトルＶ１１で各実打点Ｐ１、Ｐ２、Ｐ３を移動させた後の各実打点の位置Ｃ１１１、Ｃ２１１、Ｃ３１１と、各実打点Ｐ１、Ｐ２、Ｐ３に対する仮対応打点とされた溶接打点Ｑ１、Ｑ２、Ｑ３の各位置Ｃ１１１、Ｃ２２０、Ｃ３３０との距離を求める。実打点Ｐ１の移動後の位置Ｃ１１１は、溶接打点Ｑ１の位置Ｃ１１１と一致する。実打点Ｐ２の移動後の位置Ｃ２１１は、溶接打点Ｑ２の位置Ｃ２２０と距離Ｔ２１１だけ離れている。実打点Ｐ３の移動後の位置Ｃ３１１は、溶接打点Ｑ３の位置Ｃ３３０と距離Ｔ３１１だけ離れている。総和演算部５２は、距離の総和Ｓ（Ｔ１１）＝Ｔ２１１＋Ｔ３１１を求める。
【００３２】
また、図６Ｃに示されるように、総和演算部５２は、ベクトルＶ２０で各実打点Ｐ１、Ｐ２、Ｐ３を移動させた後の各実打点の位置Ｃ１２０、Ｃ２２０、Ｃ３２０と、各実打点Ｐ１、Ｐ２、Ｐ３に対する仮対応打点とされた溶接打点Ｑ０、Ｑ１、Ｑ２、Ｑ３の各位置Ｃ１１０、Ｃ１１１、Ｃ２２０、Ｃ３３０との距離を求める。実打点Ｐ１の移動後の位置Ｃ１２０は、一方の溶接打点Ｑ０の位置Ｃ１１０と距離Ｔ１２０だけ離れ、他方の溶接打点Ｑ１の位置Ｃ１１１と距離Ｔ１２０´だけ離れている。実打点Ｐ２の移動後の位置Ｃ２２０は、溶接打点Ｑ２の位置Ｃ２２０と一致する。実打点Ｐ３の移動後の位置Ｃ３２０は、溶接打点Ｑ３の位置Ｃ３３０と距離Ｔ３２０だけ離れている。総和演算部５２は、２種類の距離の総和Ｓ（Ｔ２０）＝Ｔ１２０＋Ｔ３２０及びＳ´（Ｔ２０）＝Ｔ１２０´＋Ｔ３２０を求める。
【００３３】
また、図６Ｄに示されるように、総和演算部５２は、ベクトルＶ３０で各実打点Ｐ１、Ｐ２、Ｐ３を移動させた後の各実打点の位置Ｃ１３０、Ｃ２３０、Ｃ３３０と、各実打点Ｐ１、Ｐ２、Ｐ３に対する仮対応打点とされた溶接打点Ｑ０、Ｑ１、Ｑ２、Ｑ３の各位置Ｃ１１０、Ｃ１１１、Ｃ２２０、Ｃ３３０との距離を求める。実打点Ｐ１の移動後の位置Ｃ１３０は、一方の溶接打点Ｑ０の位置Ｃ１１０と距離Ｔ１３０だけ離れ、他方の溶接打点Ｑ１の位置Ｃ１１１と距離Ｔ１３０´だけ離れている。実打点Ｐ２の移動後の位置Ｃ２３０は、溶接打点Ｑ２の位置Ｃ２２０と距離Ｔ２３０だけ離れている。実打点Ｐ３の移動後の位置Ｃ３３０は、溶接打点Ｑ３の位置Ｃ３３０と一致する。総和演算部５２は、２種類の距離の総和Ｓ（Ｔ３０）＝Ｔ１３０＋Ｔ２３０及びＳ´（Ｔ３０）＝Ｔ１３０´＋Ｔ２３０を求める。
【００３４】
ステップＳ７にて、ステップＳ６で演算された総和が最小値になる方向及び前記距離（ベクトルＶｎ）を選択する。方向／距離選択部５４は、ステップＳ６で演算された６つの総和Ｓ（Ｔ１０）、Ｓ（Ｔ１１）、Ｓ（Ｔ２０）、Ｓ´（Ｔ２０）、Ｓ（Ｔ３０）、Ｓ´（Ｔ３０）の中から、最小値を選択する。そして、選択された総和が得られるベクトルＶｎを、補正方向及び補正距離として最適な方向及び距離であるものとして選択する。例えば、総和Ｓ（Ｔ１１）が最小値である場合は、ベクトルＶ１１を選択する。
【００３５】
ステップＳ８にて、打点群Ｇｍに含まれる複数の実打点Ｐｎに対応する複数の教示点を、ステップＳ７で選択された方向及び距離（ベクトルＶｎ）を用いて補正する。補正部３６は、ロボット装置１８の制御部６２に記憶される教示点のうち、打点群Ｇｍに対応する教示点の位置情報を、ステップＳ７で選択された方向及び距離（ベクトルＶｎ）を用いて一括して補正する。補正情報記憶部３８は、補正された教示点の位置情報を記憶する。
【００３６】
ステップＳ９にて、他の打点群Ｇｍが存在する場合（ステップＳ９：ＹＥＳ）、ステップＳ３に戻ってステップＳ３〜ステップＳ８の処理が繰り返される。一方、他の打点群Ｇｍが存在しない場合（ステップＳ９：ＮＯ）、打点位置補正処理を終了する。
【００３７】
なお、ステップＳ６にて行われる総和の演算結果を出力装置２６のディスプレイに表示することも可能である。また、この場合はユーザが入力装置２４を介して、総和が最小値になる方向及び距離（ベクトルＶｎ）を選択することも可能である。また、ステップＳ９にて補正情報記憶部３８に記憶される補正後の教示点の位置情報を出力装置２６のディスプレイに表示することも可能である。
【００３８】
ステップＳ６にて、移動後の実打点Ｐｎと近傍に位置する溶接打点Ｑｎとの距離に閾値を設定することも可能である。そして、移動後の実打点Ｐｎと近傍に位置する溶接打点Ｑｎとの距離が閾値以内となる実打点Ｐｎのみを選択し、ステップＳ７以降の処理を行うことも可能である。この場合、移動後の実打点Ｐｎと近傍に位置する溶接打点Ｑｎとの距離が閾値より離れている実打点Ｐｎに関しては、個別に位置ずれを補正すればよい。
【００３９】
［本実施形態のまとめ］
本実施形態に係る方法は、教示点に従って動作する溶接ロボット６０の実打点ＰｎとワークＷの溶接打点Ｑｎとの位置ずれを補正する打点位置補正方法に関する。本方法は、溶接ロボット６０の複数の実打点Ｐｎの位置を測定する測定工程（ステップＳ１）と、連続して配列され且つ溶接面における法線方向が互いに平行する複数の実打点Ｐｎを１つの打点群Ｇｍとして設定する設定工程（ステップＳ２）と、設定工程（ステップＳ２）で設定された１つの打点群Ｇｍに含まれる複数の実打点Ｐｎをまとめて同一の方向に同一の距離（ベクトルＶｎ）だけ移動させた場合に、移動後の各実打点Ｐｎが各溶接打点Ｑｎに近づくような方向及び距離（ベクトルＶｎ）の候補を探索する探索工程（ステップＳ３〜ステップＳ４）と、複数の方向及び距離（ベクトルＶｎ）の候補の中から補正方向及び補正距離として最適な方向及び距離（ベクトルＶｎ）を選択する選択工程（ステップＳ５〜ステップＳ７）と、打点群Ｇｍに含まれる複数の実打点Ｐｎに対応する複数の教示点を、選択工程（ステップＳ７）で選択された方向及び距離（ベクトルＶｎ）を用いて補正する補正工程（ステップＳ８）と、を有する。
【００４０】
本実施形態において、ステップＳ１〜ステップＳ８の処理は次のような装置構成において実行される。すなわち、測定部１２は、溶接ロボット６０の複数の実打点Ｐｎの位置を測定する。設定部３０は、連続して配列され且つ溶接面における法線方向が互いに平行する複数の実打点Ｐｎを１つの打点群Ｇｍとして設定する。探索部３２は、設定部３０で設定された１つの打点群Ｇｍに含まれる複数の実打点Ｐｎをまとめて同一の方向に同一の距離（ベクトルＶｎ）だけ移動させた場合に、移動後の各実打点Ｐｎが各溶接打点Ｑｎに近づくような方向及び距離（ベクトルＶｎ）の候補を探索する。選択部３４は、複数の方向及び距離（ベクトルＶｎ）の候補の中から補正方向及び補正距離として最適な方向及び距離（ベクトルＶｎ）を選択する。補正部３６は、打点群Ｇｍに含まれる複数の実打点Ｐｎに対応する複数の教示点を、選択部３４で選択された方向及び距離（ベクトルＶｎ）を用いて補正する。
【００４１】
本実施形態によれば、溶接面の法線方向が互いに平行し且つ連続して配列される複数の実打点Ｐｎを１つの打点群Ｇｍとし、その打点群Ｇｍに含まれる複数の実打点Ｐｎに対応する教示点をまとめて補正するようにしている。このため、補正を効率よく行うことが可能である。更に、打点群Ｇｍに含まれる複数の実打点Ｐｎを補正する移動方向及び移動距離（ベクトルＶｎ）の候補を複数探索し、その中から補正方向及び補正距離として最適なものを選択するようにしている。このため、補正の精度を向上させることが可能である。
【００４２】
また、本実施形態に係る方法において、探索工程（ステップＳ３〜ステップＳ４）は、実打点Ｐｎ毎に、実打点Ｐｎの近傍に位置する溶接打点Ｑｎを検索する近傍打点検索工程（ステップＳ３）と、近傍打点検索工程（ステップＳ３）で検索された溶接打点Ｑｎまで実打点Ｐｎを移動させる方向及び距離（ベクトルＶｎ）を求める方向／距離演算工程（ステップＳ４）と、を有し、方向／距離演算工程（ステップＳ４）で求めた全ての方向及び距離（ベクトルＶｎ）を、方向及び距離（ベクトルＶｎ）の候補としている。
【００４３】
本実施形態において、ステップＳ３〜ステップＳ４の処理は次のような装置構成において実行される。すなわち、近傍打点検索部４０は、実打点Ｐｎ毎に、実打点Ｐｎの近傍に位置する溶接打点Ｑｎを検索する。方向／距離演算部４２は、近傍打点検索部４０で検索された溶接打点Ｑｎまで実打点Ｐｎを移動させる方向及び距離（ベクトルＶｎ）を求める。
【００４４】
本実施形態によれば、実打点Ｐｎを対応する溶接打点Ｑｎに移動させる方向及び距離（ベクトルＶｎ）を、打点群Ｇｍを移動させる方向及び距離（ベクトルＶｎ）の候補とする。このように、現存する溶接打点Ｑｎを移動先の候補として想定するため、効率よく方向及び距離（ベクトルＶｎ）の候補を探索することが可能となる。
【００４５】
また、本発明に係る方法において、選択工程（ステップＳ５〜ステップＳ７）は、方向及び距離（ベクトルＶｎ）の候補に基づいて移動させた場合の実打点Ｐｎと、移動後の実打点Ｐｎの近傍に位置する溶接打点Ｑｎと、の距離を、実打点Ｐｎ毎に演算すると共に、実打点Ｐｎ毎に演算された距離を、方向及び距離（ベクトルＶｎ）の候補毎に合算して総和を演算する総和演算工程（ステップＳ６）と、総和が最小値になる方向及び距離（ベクトルＶｎ）を選択する方向／距離選択工程（ステップＳ７）と、を有してもよい。
【００４６】
本実施形態において、ステップＳ６〜ステップＳ７の処理は次のような装置構成において実行される。すなわち、総和演算部５２は、方向及び距離（ベクトルＶｎ）の候補に基づいて移動させた場合の実打点Ｐｎと、移動後の実打点Ｐｎの近傍に位置する溶接打点Ｑｎと、の距離を、実打点Ｐｎ毎に演算する。また、実打点Ｐｎ毎に演算された距離を、方向及び距離（ベクトルＶｎ）の候補毎に合算して総和を演算する。方向／距離選択部５４は、総和が最小値になる方向及び距離（ベクトルＶｎ）を選択する。
【００４７】
本実施形態によれば、総和、すなわち位置ずれ量が最小となる方向及び距離（ベクトルＶｎ）を選択するため、教示点の補正精度を向上させることが可能となる。
【図１】
2016136816.tif 000003
【図２】
2016136816.tif 000004
【図３】
2016136816.tif 000005
【図４】
2016136816.tif 000006
【図５】
2016136816.tif 000007
【図６】
2016136816.tif 000008
【国際調査報告】
2016136816.tif 000009
2016136816.tif 000010
2016136816.tif 000011
2016136816.tif 000012
2016136816.tif 000013