(57)【要約】【課題】高性能なカメラを用いなくても、精度良く溶接チップの傾きを検出することができ、オフライン教示プログラムを補正すること。【解決手段】溶接教示位置補正システム１は、ロボット２と、スポット溶接ガン３と、撮像装置４と、動作制御手段５と、画像処理手段６と、プログラム補正手段５と、を備える。溶接教示位置補正システムは、ワークＷの打点部に取り付けられ、当該ワーク打点部からの高さが異なる二つの被撮像部が撮像装置により撮像されるターゲット１０を備え、画像処理手段は、撮像装置により撮像した撮像画像における二つの被撮像部の位置からワークに対する溶接チップの傾き情報を取得し、プログラム補正手段は、画像処理手段により取得したワークに対する溶接チップの傾き情報に基づいて、教示プログラムにおける前記ロボットの教示位置を補正する。【選択図】図１
2009125839.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有するロボットと、
前記ロボットの先端に設けられ、対向配置された二つの溶接チップを有するスポット溶接ガンと、
少なくとも一方の溶接チップに着脱自在又は少なくとも一方の溶接チップと交換可能に設けられるとともに、光軸が前記溶接チップの軸と同軸となるように設けられ、前記溶接チップによるワークの打点部を撮像する撮像装置と、
前記ロボット及び前記スポット溶接ガンに溶接動作を教示する教示プログラムに従って前記ロボット及び前記スポット溶接ガンの動作制御を行う動作制御手段と、
前記撮像装置により撮像された撮像画像の画像処理を行って、前記撮像画像中における前記溶接チップによるワークの打点部の位置情報を取得する画像処理手段と、
前記画像処理手段による前記撮像画像の画像処理により取得した前記撮像画像中におけるワークの打点部の位置情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を複数の方向に補正するプログラム補正手段と、
を備える溶接教示位置補正システムにおいて、
ワークの打点部に取り付けられ、当該ワーク打点部からの高さが異なる二つの被撮像部が前記撮像装置により撮像されるターゲットを備え、
前記画像処理手段は、前記撮像装置により撮像した撮像画像における前記二つの被撮像部の位置から前記ワークに対する前記溶接チップの傾き情報を取得し、
前記プログラム補正手段は、前記画像処理手段により取得した前記ワークに対する前記溶接チップの傾き情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を補正することを特徴とする溶接教示位置補正システム。
【請求項２】
前記プログラム補正手段は、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記ワークの打点部が位置するように前記ロボットを移動させた場合に、前記撮像装置により撮像された撮像画像における前記二つの被撮像部の差分に基づいて、前記溶接チップの軸線が前記ワークの打点部と同一平面に対して直交する直線に一致するように前記教示プログラムにおける前記ロボットの教示位置を補正することを特徴とする請求項１に記載の溶接教示位置補正システム。
【請求項３】
前記ターゲットは、前記二つの被撮像部のそれぞれの位置に関する特徴量が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする請求項１又は２に記載の溶接教示位置補正システム。
【請求項４】
前記ターゲットは、前記ワークの打点部に当接する円形状の底面と、前記底面よりも縮径された円形状の上面と、を有し、各面が互いに平行となるように形成され、
前記二つの被撮像部は、前記底面の外縁と前記上面の外縁であり、
前記ターゲットは、前記底面及び前記上面のそれぞれの円の中心が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする請求項３に記載の溶接教示位置補正システム。
【請求項５】
前記ターゲットは、前記ワークの打点部に当接する底面に描かれた第１のマーキングと、前記底面に対して平行な上面に描かれた第２のマーキングと、を有し、
前記二つの被撮像部は、前記第１のマーキングと前記第２のマーキングであり、
前記ターゲットは、前記第１のマーキング及び前記第２のマーキングのそれぞれの重心が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする請求項３に記載の溶接教示位置補正システム。
【請求項６】
前記ターゲットは、前記ワークの打点部に当接する底面にマーキングが描かれた支持部と、前記支持部によって支持される球状の球体部と、を有し、
前記二つの被撮像部は、前記マーキングと前記球体部の外縁であり、
前記ターゲットは、前記マーキングの重心及び前記球体部の重心が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする請求項３に記載の溶接教示位置補正システム。
【請求項７】
前記ワークは磁性体で形成され、
前記ターゲットは、前記底面を有する土台部が磁石で形成されていることを特徴とする請求項１〜６の何れか一項に記載の溶接教示位置補正システム。
【請求項８】
前記土台部は、それぞれの底面が同一平面上に存在し、互いに離間するように配置された３つの磁石で形成されていることを特徴とする請求項７に記載の溶接教示位置補正システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、溶接教示位置補正システムに関する。
【背景技術】
【０００２】
自動車車体のスポット溶接ライン等のように、スポット溶接ロボットが多数使用される工程においては、設備立ち上げ時の作業工数削減と作業時間短縮の目的で、事前にロボットの動作プログラムを作成する手法が採用されている。スポット溶接ロボットの動作プログラムを設備導入前に予め作成する方法としては、ロボットとスポット溶接ガンの機構と形状、ワーク（被溶接物）の形状、ロボットとワークの相対位置関係、必要な溶接動作条件等に関する情報をもとに、コンピュータ上でロボット動作をシミュレーションし、プログラムを作成するオフライン教示システムが用いられる。
しかし、設備設置後に、オフライン教示システムにより作成されたプログラムを、実際のロボットにアップロードして使用する場合、ロボットや治具の設置誤差や、ロボット個別の機差、ワークの寸法誤差、重力によるたわみ等によって、溶接位置が所期の位置からずれてしまうことがある。このため、溶接ポイントの全部または一部について、自動運転を行う前に、作業者がロボットを手動運転で作動させ、動作位置を確認し、必要に応じてオフラインティーチングデータを補正する必要があった。
【０００３】
このような問題を解決するため、スポット溶接打点位置に関するオフラインティーチングデータにおける溶接チップの軸方向の補正方法が開示されている（例えば、特許文献１参照。）。
また、スポット溶接打点位置に関するオフラインティーチングデータにおけるワークの面に対する溶接チップの位置や姿勢の補正方法が開示されている（例えば、特許文献２参照。）。
また、スポット溶接打点位置に関するオフラインティーチングデータにおける溶接チップのワークの面方向の補正方法が開示されている（例えば、特許文献３参照。）。
【０００４】
ところで、スポット溶接ガンの溶接チップはワークの面方向に対して直角に当接する必要があるが、ワークの固定位置誤差やロボットへのスポット溶接ガンの取り付け誤差、スポット溶接ガンの寸法誤差等により、溶接チップがワークの垂線に対して傾いた状態となることがある。この場合、スポット溶接ガンの位置をなおすためにオフラインティーチングデータを補正する必要がある。
【０００５】
ここで、オフラインティーチングデータの補正をする方法について説明すると、図２６に示すように、二枚の鉄板等のワーク２０１，２０２を接合する場合において、最初に、溶接チップが当接するワーク２０１の溶接打点位置にマークとなる円形状のシール２０３を貼り付ける。次に、溶接チップと同軸上に取り付けられた又は溶接チップと交換されてスポット溶接ガンに取り付けられたカメラ２０４により、ワーク２０１に貼り付けられたシール２０３を撮像する。
【０００６】
そして、図２７に示すように、カメラ２０４により撮像されたシール２０３の画像は、カメラ２０４がシール２０３に対してシール上面と直角をなす方向から撮像すれば、撮像画像におけるシール２０３は、円形状（Ｃ１００）に撮像される。一方、カメラ２０４がシール２０３に対してシール上面の垂線に対して傾いた状態から撮像すれば、撮像画像におけるシール２０３の画像は、楕円形状（Ｃ２００）に撮像される。
このように、シール２０３の撮像画像からカメラ２０４（溶接チップの取り付け位置）がどれほど傾いているのかを求めることができる。
ここで、カメラ２０４の傾きが微小な場合、撮像画像は楕円形状ではあるものの、長径と短径の差が非常に小さくなる。
例えば、カメラ２０４がワーク２０１の面方向に直交する直線から１°傾いており、シール２０３の直径が１０ｍｍであるとすると、
長径Ｄｘ＝１０ｍｍ
短径Ｄｙ＝１０×ｃｏｓ１°＝９．９９８４７７・・・ｍｍ
となる。
【特許文献１】特許第３１９１５６３号公報
【特許文献２】特開２００５−１３８２２３号公報
【特許文献３】特開２００７−１２２７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記のような場合、市販されている１辺が５００画素のカメラで、視野が１辺２５ｍｍとすると、その分解能は１画素あたり０．０５ｍｍとなり、上記のような長径と短径の差が０．００１５２２・・・ｍｍの測定は不可能である。
また、溶接チップの傾きを補正する際においては、その傾きは通常０．５°〜１°の範囲が多く、カメラで画像を正確に認識するためには相当高性能なカメラが必要であった。また、ワークに対する溶接チップの傾きがさらに微小な場合には、その傾きを現存するカメラによる撮像画像からは検出できず、オフラインティーチングデータを補正することができないという問題があった。
【０００８】
そこで、本発明は、上記課題を解決するためになされたものであり、高性能なカメラを用いなくても、精度良く溶接チップの傾きを検出することができ、オフライン教示プログラムを補正することができる溶接教示位置補正システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、複数の関節を有するロボットと、前記ロボットの先端に設けられ、対向配置された二つの溶接チップを有するスポット溶接ガンと、少なくとも一方の溶接チップに着脱自在又は少なくとも一方の溶接チップと交換可能に設けられるとともに、光軸が前記溶接チップの軸と同軸となるように設けられ、前記溶接チップによるワークの打点部を撮像する撮像装置と、前記ロボット及び前記スポット溶接ガンに溶接動作を教示する教示プログラムに従って前記ロボット及び前記スポット溶接ガンの動作制御を行う動作制御手段と、前記撮像装置により撮像された撮像画像の画像処理を行って、前記撮像画像中における前記溶接チップによるワークの打点部の位置情報を取得する画像処理手段と、前記画像処理手段による前記撮像画像の画像処理により取得した前記撮像画像中におけるワークの打点部の位置情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を複数の方向に補正するプログラム補正手段と、を備える溶接教示位置補正システムにおいて、ワークの打点部に取り付けられ、当該ワーク打点部からの高さが異なる二つの被撮像部が前記撮像装置により撮像されるターゲットを備え、前記画像処理手段は、前記撮像装置により撮像した撮像画像における前記二つの被撮像部の位置から前記ワークに対する前記溶接チップの傾き情報を取得し、前記プログラム補正手段は、前記画像処理手段により取得した前記ワークに対する前記溶接チップの傾き情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を補正することを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載の溶接教示位置補正システムにおいて、前記プログラム補正手段は、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記ワークの打点部が位置するように前記ロボットを移動させた場合に、前記撮像装置により撮像された撮像画像における前記二つの被撮像部の差分に基づいて、前記溶接チップの軸線が前記ワークの打点部と同一平面に対して直交する直線に一致するように前記教示プログラムにおける前記ロボットの教示位置を補正することを特徴とする。
【００１１】
請求項３に記載の発明は、請求項１又は２に記載の溶接教示位置補正システムにおいて、前記ターゲットは、前記二つの被撮像部のそれぞれの位置に関する特徴量が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする。
ここで、位置に関する特徴量とは、撮像画像中における被撮像部の二次元形状における中心位置、重心位置、頂点位置、端点位置、交点位置等の点で定まる位置に関する形状特徴量をいう。
【００１２】
請求項４に記載の発明は、請求項３に記載の溶接教示位置補正システムにおいて、前記ターゲットは、前記ワークの打点部に当接する円形状の底面と、前記底面よりも縮径された円形状の上面と、を有し、各面が互いに平行となるように形成され、前記二つの被撮像部は、前記底面の外縁と前記上面の外縁であり、前記ターゲットは、前記底面及び前記上面のそれぞれの円の中心が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする。
【００１３】
請求項５に記載の発明は、請求項３に記載の溶接教示位置補正システムにおいて、前記ターゲットは、前記ワークの打点部に当接する底面に描かれた第１のマーキングと、前記底面に対して平行な上面に描かれた第２のマーキングと、を有し、前記二つの被撮像部は、前記第１のマーキングと前記第２のマーキングであり、前記ターゲットは、前記第１のマーキング及び前記第２のマーキングのそれぞれの重心が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする。
【００１４】
請求項６に記載の発明は、請求項３に記載の溶接教示位置補正システムにおいて、前記ターゲットは、前記ワークの打点部に当接する底面にマーキングが描かれた支持部と、前記支持部によって支持される球状の球体部と、を有し、前記二つの被撮像部は、前記マーキングと前記球体部の外縁であり、前記ターゲットは、前記マーキングの重心及び前記球体部の重心が、前記ワークの打点部を通り、かつ、当該ワークの打点部と同一平面に対して直交する直線上に存在することを特徴とする。
【００１５】
請求項７に記載の発明は、請求項１〜６の何れか一項に記載の溶接教示位置補正システムにおいて、前記ワークは磁性体で形成され、前記ターゲットは、前記底面を有する土台部が磁石で形成されていることを特徴とする。
【００１６】
請求項８に記載の発明は、請求項７に記載の溶接教示位置補正システムにおいて、前記土台部は、それぞれの底面が同一平面上に存在し、互いに離間するように配置された３つの磁石で形成されていることを特徴とする。
【発明の効果】
【００１７】
請求項１に記載の発明によれば、ロボットの先端に設けられたスポット溶接ガンの二つの溶接チップのうち、少なくとも一方の溶接チップと交換して光軸が溶接チップの軸と同軸となるように撮像装置を取り付けるか、少なくとも一方の溶接チップに光軸が溶接チップの軸と同軸となるように撮像装置を取り付ける。また、ワークの打点部にターゲットを取り付ける。
そして、撮像装置により、ターゲットの二つの被撮像部を撮像する。画像処理手段は、撮像装置により撮像した撮像画像の画像処理を行って、撮像画像中における二つの被撮像部の位置からワークに対する溶接チップの位置及び傾き情報を取得する。プログラム補正手段は、画像処理手段による撮像画像の画像処理により取得したワークに対する溶接チップの傾き情報に基づいて、教示プログラムにおけるロボットの教示位置を補正する。
【００１８】
このように、カメラの撮像対象となるターゲットを溶接チップの進退方向に高さを有するものを用い、このターゲットにおけるワークの打点部からの高さが異なる二つの被撮像部を撮像することで、その二つの被撮像部の高さの差が大きくなる程、撮像画像中の被撮像部の位置のずれ量が大きくなる。
よって、従来のような厚さの小さいシールを撮像する場合に比べて、撮像画像での被撮像部の位置のずれを容易に認識することができ、解像度の高い高性能なカメラを用いなくても、精度良く溶接チップの傾きを検出することができ、オフライン教示プログラムを補正することができる。
【００１９】
また、撮像装置は、その光軸が溶接チップの軸と同軸となるように設けられているため、従来のように溶接チップの軸線とカメラの光軸とが一致していないために必要となる作業、すなわち、カメラでワークを認識するためのロボット動作の教示が不要となり、オフラインティーチングにかかる手間を軽減することができる。また、予め撮像装置のキャリブレーションを行う必要がなくなるので、オフラインティーチングにかかる手間を軽減することができるほか、撮像装置のキャリブレーションの精度に起因する誤差の発生を抑制できる。
【００２０】
また、撮像装置は、一方の溶接チップに着脱自在又は一方の溶接チップと交換可能とされているため、撮像装置は溶接チップの近傍又は溶接チップの取付領域を占めるだけとなる。これにより、撮像装置で打点部を撮像する姿勢をとる際に、撮像装置で打点部の撮像に適した姿勢を追求するあまり、ロボットやスポット溶接ガンが、周囲に存在するワークや治具に干渉するおそれを減らすことができる。よって、このような干渉を回避するための方策を取る必要がなく、オフラインティーチングにかかる手間を軽減することができる。
【００２１】
請求項２に記載の発明によれば、プログラム補正手段は、二つの被撮像部の位置の差分から溶接チップの軸線がワークの打点部と同一平面に対して直交する直線に一致するように教示プログラムにおけるロボットの教示位置を補正する。プログラム補正手段が教示プログラムをこのように補正することにより、溶接チップのワークに対する傾き及び打点部からワークの面方向に対するずれを補正することができる。
【００２２】
請求項３に記載の発明によれば、ターゲットをワークの打点部に配置した際に、二つの被撮像部の位置に関するそれぞれの特徴量とワークの打点部とが同一直線上に存在するので、溶接チップがワークの打点部を通る垂線上にある場合には、撮像画像中の特徴量が一致することになる。一方、溶接チップがワークの打点部を通る垂線上にない場合には、撮像画像中の特徴量が一致しない。これにより、二つの被撮像部の特徴量が一致しているか否かを判断するだけで、溶接チップが傾いていることを検出することができる。
よって、教示プログラムの補正に関する処理を容易に処理することができる。
【００２３】
請求項４に記載の発明によれば、ターゲットをワークの打点部に配置した際に、底面の外縁から求まる底面の中心と上面の外縁から求まる上面の中心とワークの打点部とが同一直線上に存在するので、溶接チップがワークの打点部を通る垂線上にある場合には、撮像画像中の底面の中心と上面の中心とが一致することになる。一方、溶接チップがワークの打点部を通る垂線上にない場合には、撮像画像中の底面の中心と上面の中心とが一致しない。これにより、ターゲットの底面の中心と上面の中心とが一致しているか否かを判断するだけで、溶接チップが傾いていることを検出することができる。
よって、教示プログラムの補正に関する処理を容易に処理することができる。
【００２４】
請求項５に記載の発明によれば、ターゲットをワークの打点部に配置した際に、第１のマーキングの重心と第２のマーキングの重心とワークの打点部とが同一直線上に存在するので、溶接チップがワークの打点部を通る垂線上にある場合には、撮像画像中の第１のマーキングの重心と第２のマーキングの重心とが一致することになる。一方、溶接チップがワークの打点部を通る垂線上にない場合には、撮像画像中の第１のマーキングの重心と第２のマーキングの重心とが一致しない。これにより、第１のマーキングの重心と第２のマーキングの重心とが一致しているか否かを判断するだけで、溶接チップが傾いていることを検出することができる。
よって、教示プログラムの補正に関する処理を容易に処理することができる。
【００２５】
請求項６に記載の発明によれば、ターゲットをワークの打点部に配置した際に、マーキングの重心と球体部の重心とワークの打点部とが同一直線上に存在するので、溶接チップがワークの打点部を通る垂線上にある場合には、撮像画像中のマーキングの重心と球体部の重心とが一致することになる。一方、溶接チップがワークの打点部を通る垂線上にない場合には、撮像画像中のマーキングの重心と球体部の重心とが一致しない。これにより、マーキングの重心と球体部の重心とが一致しているか否かを判断するだけで、溶接チップが傾いていることを検出することができる。
よって、教示プログラムの補正に関する処理を容易に処理することができる。
【００２６】
請求項７に記載の発明によれば、ターゲットの土台部を磁石とすることにより、ターゲットは磁力により磁性体のワークに貼り付けることができる。
これにより、テープ等でターゲットをワークに貼り付ける場合に比べてその着脱作業が容易になる。また、テープ等を剥がした際にワークにテープの粘着成分が残ったりしないので、溶接の際にワークに悪影響を与えることもない。
また、ワークに塗料やインクでターゲットを描く場合のように、ターゲットの大きさにバラツキができることもないので、教示プログラムの補正に際して悪影響を与えることもない。また、塗料やインクの成分が溶接の際にワークに悪影響を与えることもない。
【００２７】
請求項８に記載の発明によれば、土台部を互いに離間して配置された３つの磁石で形成することにより、ワークの打点部の周辺に局部的な突起やひずみがある場合であっても、その位置を外して３つの磁石をワークの平坦な場所に設置させることができ、ターゲットのワークへの取り付けの自由度を増すことができる。
また、磁石を３つとすることは、ターゲットの設置を安定させるのに必要最低限の数量なので、ターゲットの軽量化、部品点数の減少、これらに伴うコストダウンを図ることができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して、溶接教示位置補正システムの最良の実施形態について詳細に説明する。
＜溶接教示位置補正システムの構成＞
図１に示すように、溶接教示位置補正システム１は、複数の関節及びアームを有する多軸のロボット２と、このロボット２の先端に設けられたスポット溶接ガン３と、スポット溶接ガンによりスポット溶接がなされるワークＷ（二枚の板状部材ｗ１，ｗ２）の打点部を撮像する撮像装置としてのカメラ４と、ロボット２、スポット溶接ガン３、カメラ４等の動作制御を行う制御装置５と、カメラ４で撮像された撮像画像の画像処理を行う画像処理手段としての画像処理装置６と、スポット溶接ガン３によって溶接されるワークＷの打点部に取り付けられるターゲット１０と、を備えている。
【００２９】
（ロボット）
図１に示すように、ロボット２は、例えば、自動車の車体フレーム等のスポット溶接ラインで用いられる。ロボット２は、土台となるベース２１と、関節２２で連結された複数のアーム２３と、ロボット２を駆動させるサーボモータ（図示略）とを備えている。そして、連結された各アーム２３の先端部には、スポット溶接ガン３が設けられている。
各関節２２は、アーム２３の一端部を揺動可能として他端部を軸支する揺動関節と、アーム２３自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、ロボット２はいわゆる多関節型ロボットに相当する。
【００３０】
（スポット溶接ガン）
図１〜図４に示すように、スポット溶接ガン３は、二つの溶接チップ（電極）３１，３２を備えている。一方の溶接チップ３１は、アーム３３とともに固定されている。他方の溶接チップ３２は、サーボモータ（図示略）によりガン開閉軸３５を駆動させ、一方の溶接チップ３１に向かってアーム３３とともに駆動する。溶接チップ３１，３２は、互いに対向するように配置されている。すなわち、サーボモータによりガン開閉軸３５を駆動させ、溶接チップ３１と溶接チップ３２の間隔を狭めていくことにより、ワークＷを溶接チップ３１，３２で挟持することができる。そして、ワークＷを溶接チップ３１，３２で挟んだ状態で各溶接チップ３１，３２に通電することにより、スポット溶接を行うことができる。なお、サーボモータは、制御装置５からの制御信号により駆動制御される。
【００３１】
（カメラ）
図３、図４に示すように、カメラ４は、例えば、小型のＣＣＤカメラが用いられる。図３に示すように、カメラ４は、二つの溶接チップ３１，３２のうち、少なくとも一方の溶接チップ３２に対して着脱自在に設けることができる。このとき、カメラ４は、その光軸が溶接チップ３１，３２の軸と同軸となるように設けられている。
また、図４に示すように、カメラ４は、少なくとも一方の溶接チップ３２をアーム３３から取り外し、その取り外した位置に設けることもできる。言い換えると、溶接チップ３２とカメラ４をアーム３３に対して交換可能に設けることができる。なお、本実施形態においては、図４に示すように、溶接チップ３２とカメラ４を交換した例について説明する。
また、図５に示すように、カメラ４には、画像処理装置６と無線通信により接続して無線通信装置９を構成する通信機９１が設けられている。通信機９１は、カメラ４で撮像した撮像画像データを画像処理装置６で画像処理させるために通信機９２に向けて送信する。
なお、使用されるカメラ４は、ワークＷとカメラ４の距離について誤差が生じた場合にも、確実に打点部を認識するために、焦点範囲が広い（焦点深度範囲が長い）特性をもつものを使用することが望ましい。
【００３２】
（制御装置）
図５に示すように、制御装置５は、ロボット２の動作制御等に関する処理プログラムに従って各処理を実行するＣＰＵ５１と、各処理を実行するための処理プログラムや処理データ等が記憶されるメモリ５２と、を備えている。
メモリ５２には、ロボット２を駆動させる処理プログラム等が記憶されるプログラムエリア５３と、ロボット２の駆動制御に当たって必要なデータが記憶されたデータエリア５４と、種々のワークメモリやカウンタなどが設けられ、各処理が行われる作業エリア５５と、が形成されている。
【００３３】
プログラムエリア５３には、ロボット２及びスポット溶接ガン３に溶接動作を教示して動作制御を行う機能を実現させる教示プログラム５３ａが記憶されている。
プログラムエリア５３には、画像処理装置６から送信されてきた撮像画像の画像処理により取得した撮像画像中におけるワークＷの打点部の位置情報に基づいて、教示プログラム５３ａにおけるロボット２の教示位置を複数の方向に補正する機能を実現させる補正プログラム５３ｂが記憶されている。すなわち、制御装置５は、画像処理装置６から教示プログラム５３ａを補正するための複数の位置成分の補正値を受信してデータエリア５４に記憶させる。そして、補正プログラム５３ｂの実行時にデータエリア５４から補正値を読み取って教示プログラム５３ａを補正する。
【００３４】
また、この補正プログラム５３ｂは、画像処理装置６により取得したワークＷの打点部に対する溶接チップ３１，３２（カメラ４）の位置情報及び傾き情報に基づいて、教示プログラム５３ａにおけるロボット２の教示位置を補正する機能も有している。すなわち、制御装置５は、画像処理装置６から教示プログラム５３ａを補正するための複数の位置成分に加えてスポット溶接ガン３に設けられた溶接チップ３１，３２の傾きに関する補正値を受信してデータエリア５４に記憶させる。そして、補正プログラム５３ｂの実行時にデータエリア５４から補正値を読み取って教示プログラム５３ａを補正する。
【００３５】
ここで、補正プログラム５３ｂは、教示プログラム５３ａに基づいて溶接チップ３１，３２の軸上近傍にワークＷの打点部が位置するようにロボット２を移動させた場合に、カメラ４により撮像されたターゲット１０の撮像画像における二つの被撮像部の位置の差分に基づいて、溶接チップ３１，３２の軸線がワークＷの打点部と同一平面に対して直交する直線（Ｚ軸方向）に一致するように教示プログラム５３ａにおけるロボット２の教示位置を補正する。なお、補正プログラム５３ｂによる具体的な補正方法については後述する。
プログラムエリア５３には、カメラ４で撮像した撮像画像中におけるロボット２の位置（カメラ座標におけるロボットの位置）と実際のロボット２の位置（ロボットツール座標におけるロボットの位置）とのずれを修正するキャリブレーションプログラム５３ｃが記憶されている。
なお、溶接教示位置の補正にあたり、図７に示すように、溶接チップの軸方向に直交する方向をＸ方向、溶接チップの軸方向に直交するとともにＸ方向に直交する方向をＹ方向、溶接チップの軸方向に沿った方向をＺ方向とする。
【００３６】
制御装置５には、ユーザによる操作指示が入力される入力装置７と、カメラ４による撮像画像等のユーザに報知する情報を表示する表示装置８とが設けられている。
なお、入力装置７と表示装置８は、制御装置５の本体に設けられていてもよいし、遠隔操作を実現させるために制御装置５の本体に対して有線又は無線により接続されたペンダントに設けられていてもよい。
【００３７】
（画像処理装置）
図５に示すように、画像処理装置６は、カメラ４で撮像された撮像画像の画像処理プログラムに従って各処理を実行するＣＰＵ６１と、各処理を実行するための処理プログラムや処理データ等が記憶されるメモリ６２と、を備えている。
メモリ６２には、撮像画像の画像処理プログラム等が記憶されるプログラムエリア６３と、画像処理にあたって必要なデータが記憶されたデータエリア６４と、種々のワークメモリやカウンタなどが設けられ、各処理が行われる作業エリア６５と、が形成されている。
【００３８】
プログラムエリア６３には、カメラ４により撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップ３１，３２によるワークの打点部の位置情報、ワークＷの上面に直交する垂線に対する溶接チップ３１，３２の軸線の傾き情報を取得する機能を実現させる解析プログラム６３ａが記憶されている。
プログラムエリア６３には、制御装置５で教示プログラム５３ａの補正をするにあたり、Ｘ方向及びＹ方向の位置成分を補正するための補正値を算出するＸＹ補正値算出プログラム６３ｂが記憶されている。
プログラムエリア６３には、制御装置５で教示プログラム５３ａの補正をするにあたり、Ｚ方向の位置成分を補正するための補正値を算出するＺ補正値算出プログラム６３ｃが記憶されている。
プログラムエリア６３には、制御装置５で教示プログラム５３ａの補正をするにあたり、ワークＷの上面に直交する直線に対する溶接チップ３１，３２の傾きを補正するための補正値を算出する傾き補正値算出プログラム６３ｄが記憶されている。
【００３９】
データエリア６４には、予め設定された撮像領域での最適な打点位置（例えば、撮像領域の中心位置）が記憶されており、データエリア６４は、記憶手段として機能する。なお、予め設定された撮像領域での最適な打点位置は、画像処理装置６のデータエリア６４に記憶されているものに限らず、制御装置５のデータエリア５４に記憶させておいてもよい。このとき、データエリア５４は記憶手段として機能する。
【００４０】
画像処理装置６には、カメラ４と無線通信により接続して無線通信装置９を構成する通信機９２が設けられている。通信機９２は、カメラ４で撮像した撮像画像データを画像処理装置６で画像処理させるために通信機９１から受信する。
【００４１】
図６は、溶接教示位置補正システム１の機能を示すブロック図である。
溶接教示位置補正システム１は、ロボット２の動作制御を行うロボット制御部１００を有する。このロボット制御部１００の機能は、制御装置５が担う。
ロボット制御部１００は、ＣＰＵ５１が教示プログラム５３ａを実行することにより、ロボット２に動作信号を送信してロボット２及びスポット溶接ガン３等の動作制御を行う動作制御部１０１を有する。この動作制御部１０１が動作制御手段として機能する。
ロボット制御部１００は、ＣＰＵ５１が補正プログラム５３ｂを実行することにより、画像処理装置６から受信した補正値に基づいて、教示プログラム５３ａの補正を行う補正部１０２を有する。この補正部１０２がプログラム補正手段として機能する。
ロボット制御部１００は、ＣＰＵ５１がキャリブレーションプログラム５３ｃを実行することにより、カメラ座標におけるロボット２の位置とロボットツール座標におけるロボットの位置とのずれを修正するキャリブレーション部１０３を有する。
【００４２】
溶接教示位置補正システム１は、ロボット制御部１００からの制御信号に基づき、動作するロボット動作部１０４を有する。このロボット動作部１０４の機能は、アーム２３等のロボット２の駆動部分が担う。
溶接教示位置補正システム１は、ロボット動作部１０４の動作により駆動してワークＷに対してスポット溶接を行う溶接部１０５を有する。この溶接部１０５の機能は、二つの溶接チップ３１，３２を備えるスポット溶接ガン３が担う。
溶接教示位置補正システム１は、溶接チップ３１，３２によるワークの打点部に設けられたターゲット１０を撮像する撮像部１０６を有している。この撮像部１０６の機能は、カメラ４が担う。
溶接教示位置補正システム１は、溶接チップ３２がワークに接触したことを検出する検出部１０７を有している。この検出部１０７の機能は、溶接チップ３２に設けられた圧力センサ３４が担う。なお、溶接チップ３２に圧力センサ３４が設けられるのは、教示プログラム５３ａを補正するときだけであり、実際に溶接をする際には通常の溶接チップ３２に交換して作業を行う。すなわち、圧力センサ３４は、Ｚ方向の位置の補正を行うときに用いられる。また、圧力センサ３４にて検出したときの検出信号は通信機９１及び通信機９２を介して無線送信され、画像処理装置６に送られる。
溶接教示位置補正システム１は、撮像部１０６又は検出部１０７と画像処理部１１０とを無線接続する通信部１０８を有する。この通信部１８の機能は、無線通信装置９が担う。
【００４３】
溶接教示位置補正システム１は、撮像部１０６により撮像された撮像画像の画像処理を行う画像処理部１１０を有する。この画像処理部１１０の機能は、画像処理装置６が担う。
画像処理部１１０は、ＣＰＵ６１が解析プログラム６３ａを実行することにより、撮像部１０６で撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップ３１，３２によるワークＷの打点部の位置情報、ワークＷの打点部に対する溶接チップ３１，３２（カメラ４）の傾き情報を解析する解析部１１１を有する。この解析部１１１が画像処理手段として機能する。
【００４４】
画像処理部１１０は、ＣＰＵ６１がＸＹ補正値算出プログラム６３ｂを実行することにより、動作制御部１０１により教示プログラム５３ａに基づいて溶接チップ３１，３２の軸上近傍に打点部が位置するようにロボット動作部１０４を移動させた場合に、カメラ４により撮像された撮像画像における打点部の位置と、予め設定された最適な打点位置の撮像領域での位置（例えば、撮像画像における撮像領域の中心の位置）との差分に基づいて、ロボットツール座標での溶接チップ３１，３２の軸方向に直交する面方向の差分が所定値以下になるように教示プログラム５３ａにおけるロボット２の教示位置をロボットツール座標でのＸ方向、Ｙ方向に補正するＸＹ補正値算出部１１２を有する。このＸＹ補正値算出部１１２がプログラム補正手段として機能する。ここで、所定値以下とは、理想的には、ロボットツール座標での溶接チップ３１，３２の軸方向に直交する面方向の差分が零になることである。
【００４５】
画像処理部１１０は、ＣＰＵ６１がＺ補正値算出プログラム６３ｃを実行することにより、ワークＷへの接触により溶接チップ３２のワークＷへの接触を検出する検出手段としての圧力センサ３４が溶接チップ３２のワークＷへの接触を検出したときのロボットツール座標での溶接チップ３２の軸方向におけるロボット２の位置に基づいて、教示プログラム５３ａにおけるロボット２の教示位置をロボットツール座標での溶接チップ３２の軸方向に補正するＺ方向補正値算出部１１３を有する。このＺ補正値算出部２２がプログラム補正手段として機能する。
【００４６】
画像処理部１１０は、ＣＰＵ６１が傾き補正値算出プログラム６３ｄを実行することにより、動作制御部１０１により教示プログラム５３ａに基づいて溶接チップ３１，３２の軸上近傍に打点部が位置するようにロボット動作部１０４を移動させた場合に、カメラ４により撮像された撮像画像における二つの被撮像部の位置の差分に基づいて、ロボットツール座標での溶接チップ３１，３２の軸線がワークＷの打点部と同一平面に対して直交する直線に一致するように教示プログラム５３ａにおけるロボット２の教示位置を補正する傾き補正値算出部１１４を有する。この傾き補正値算出部１１４がプログラム補正手段として機能する。
【００４７】
（ターゲット）
図８に示すように、ターゲット１０は、溶接チップ３１，３２によるワークＷの打点部に取り付けられ、当該ワーク打点部からの高さが異なる二つの被撮像部を有する。
具体的に、ターゲット１０は、円板状の土台部１１と、土台部１１の上面に設けられた円錐台状の上体部１２と、を備えている。なお、土台部１１と上体部１２は、一体に形成されていても良いし、別個に形成されたものを接着したものであっても良い。土台部１１も上体部１２も上方から見れば共に円形であり、上体部１２の上面は、土台部１１の底面よりも縮径された円形状に形成されている。これにより、ターゲット１０を上方からカメラ４で撮像した際に、土台部１１の底面の外縁１１ａと、上体部１２の上面の外縁１２ａとがカメラ４によって撮像される。すなわち、土台部１１の底面の外縁１１ａと、上体部１２の上面の外縁１２ａとが被撮像部となる。
土台部１１の底面と上体部１２の上面は、互いに平行となるように形成されている。また、ターゲット１０は、ワークＷの打点部に載置した際に、土台部１１の底面と上体部１２の上面がワークＷの上面に平行となるように形成されている。
土台部１１及び上体部１２は、上体部１２の高さが土台部１１の高さに対して数倍高くなるように形成されている。
ターゲット１０は、底面及び上面のそれぞれの外縁により形成される円の中心（ターゲット１０の底面の中心及び上面の中心）が、ワークＷの打点部を通り、かつ、当該ワークＷの打点部と同一平面（ワークＷの上面）に対して直交する直線上に存在するように形成され、ワークＷ上に配置される。すなわち、ターゲット１０の底面の中心及び上面の中心は、これらの面に直交する同一直線上に存在するようにワークＷが形成されている。そして、ターゲット１０は、当該ターゲット１０の中心線とワークＷの上面の直交する直線が重なるようにワークＷの上面に配置される。
ここで、ターゲット１０の底面の中心及び上面の中心は、円形状に形成された底面及び上面の形状を特徴づける位置に関する特徴量であり、カメラ４で撮像した撮像画像を画像処理部６においてＣＰＵ６１が解析プログラム６３ａを実行することにより求めることができる。
【００４８】
＜溶接教示位置補正システムによる教示位置の補正処理＞
次に、溶接教示位置補正システムによる教示位置の補正処理について説明する。以下、Ｘ方向及びＹ方向の補正と、Ｚ方向の補正と、溶接チップ３１，３２の傾きの補正とに分けて順に説明する。
１．Ｘ方向及びＹ方向の補正
（１）補正の流れ
図９に示すように、制御装置５のＣＰＵ５１が教示プログラム５３ａを実行することにより、溶接チップ３２の軸上近傍にワークの打点部が位置するようにロボット２を移動させる（ステップＳ１）。
次いで、ＣＰＵ５１は、カメラ４に撮像指令信号を送り、カメラ４にワークの打点部を撮像させる（ステップＳ２）。
そして、ＣＰＵ５１は、撮像した撮像画像の画像データを、通信機９１を介して通信機９２に無線送信する。撮像画像の画像データを受信した通信機９２は、画像処理装置６に当該画像データを送る（ステップＳ３）。
次いで、画像処理装置６のＣＰＵ６１は、解析プログラム６３ａを実行することにより、画像データの画像処理を行い、撮像画像中におけるワークの打点部の位置情報を解析する。そして、ＣＰＵ６１は、ＸＹ補正値算出プログラム６３ｂを実行することにより、撮像画像中におけるワークの打点部の位置情報と、撮像画像領域の最適な打点位置の位置情報とから、ＸＹ補正値を算出し（ステップＳ４）、制御装置５に送信する。
次いで、ＣＰＵ５１は、補正プログラム５３ｂを実行することにより、算出されたＸＹ補正値に基づいて教示プログラム５３ａを補正し、補正されたプログラムに更新し（ステップＳ５）、これをもって本処理を終了させる。
【００４９】
ここで、Ｘ方向及びＹ方向の補正処理について、具体例を挙げて説明する。
溶接チップ３２の軸上近傍にワークＷの打点部が位置するようにロボット２を移動させ、カメラ４で打点部Ｍを撮像したときの撮像画像が図１０に示すようなものであったとする。
このような状態において、ＣＰＵ６１が解析プログラム６３ａを実行することにより、ＣＰＵ６１は、撮像領域Ｒの最適な打点位置座標（０，０）と、打点部Ｍの中心位置座標（ｘ１，ｙ１）を求める。そして、ＣＰＵ６１は、ＸＹ補正値算出プログラム６３ｂを実行することにより、打点部Ｍの中心位置座標が撮像画像中の撮像領域Ｒの最適な打点位置座標（０，０）に来るようにロボット２の教示プログラム５３ａの補正値を算出する。この場合、打点部Ｍの中心位置座標をＸ方向に−ｘ１、Ｙ方向に−ｙ１移動させることで両位置座標が一致するので、この補正値を制御装置５に送信する。すると、制御装置５のＣＰＵ５１は、補正プログラム５３ｂを実行することにより、教示プログラム５３ａ中の位置座標データをＸ方向に−ｘ１だけ加算し、Ｙ方向に−ｙ１だけ加算して、教示プログラム５３ａを補正する。
【００５０】
（２）ＸＹ補正値算出処理
カメラで撮像した撮像画像中における打点部の位置情報と撮像画像領域の最適な打点位置の位置情報とから、ＸＹ補正値を算出する処理について説明する。
カメラ４をアーム３３に取り付けた後、図１１に示すように、ＸＹ補正値算出処理を開始すると、制御装置５のＣＰＵ５１は、教示プログラム５３ａに基づいて溶接チップ３２の軸上近傍に打点部がくるようにロボット２を移動させる（ステップＳ１１：第１移動工程）。
次いで、ＣＰＵ５１は、画像処理装置６に対して撮像要求を行い、カメラ４により打点部を撮像させる（ステップＳ１２：第１撮像工程）。
次いで、ＣＰＵ５１は、ＸＹ平面上においてロボット２をキャリブレーションプログラム５３ｃにおいて予め設定された方向に予め設定された距離だけ移動させる（ステップＳ１３：第２移動工程）。
次いで、ＣＰＵ５１は、画像処理装置６に対して撮像要求を行い、カメラ４により打点部を撮像させる（ステップＳ１４：第２撮像工程）。
次いで、ＣＰＵ５１は、ステップＳ１２において撮像された撮像画像における打点部の位置と、ステップＳ１４において撮像された撮像画像における打点部の位置と、ステップＳ１３においてロボットを移動させた方向及び距離と、予めデータエリア６４に記憶された撮像画像における最適な打点位置、例えば、撮像領域の中心位置と、に基づいて、撮像画像における打点部を撮像領域の中心位置まで移動させるために必要なロボット２の移動方向及び移動距離、すなわち、ＸＹ補正値を算出する（ステップＳ１５：算出工程）。
次いで、ＣＰＵ５１は、ステップＳ１５において算出されたＸＹ補正値に基づいて教示プログラム５３ａを補正する（ステップＳ１６：教示プログラムの補正工程）。
【００５１】
ここで、ＸＹ補正値算出処理について、具体例を挙げて説明する。
溶接チップ３２の軸上近傍にワークＷの打点部が位置するようにロボット２を移動させ、カメラ４で打点部Ｍ１を撮像したときの撮像画像が図１２（ａ）に示すような状態であったとする。このような状態において、ＣＰＵ５１は、キャリブレーションプログラム５３ｃで予め設定された方向及び距離にロボット２を移動させる。ここで、ロボットツール座標上でＸ方向に距離Ｌだけ移動させた場合に、図１２（ｂ）に示すような状態になったとする。
この場合、ロボット２をＸ方向にしか移動させていないことから、打点部Ｍ１と打点部Ｍ２とを直線で結んだ線の方向がロボットツール座標上の移動に相当することがわかる。また、そのＸ方向に直交する方向がＹ方向であることもわかる。今、Ｙ方向はＸ軸を撮像画像上で９０°回転させた方向とする。
さらに、打点部Ｍ１のＸＹ位置座標が（ｘ１，ｙ１）、打点部Ｍ２のＸＹ位置座標が（ｘ２，ｙ２）とすると、カメラ座標上におけるロボットツール座標のＸ方向及びＹ方向のベクトルは、それぞれ、
【数１】
2009125839.tif 000003
となる。
この式に基づき、例えば、最適な打点位置を撮像領域Ｒの中心座標（０，０）とすると、ロボット２のＸ補正量Ｌｘ及びＹ補正量Ｌｙは、以下の各式で算出することができる。
【数２】
2009125839.tif 000004
【数３】
2009125839.tif 000005
そして、ＣＰＵ５１は、これらの式に基づいて算出された補正量Ｌｘ，Ｌｙに基づいて、教示プログラム５３ａを補正する。
【００５２】
２．Ｚ方向の補正
図１３に示すように、制御装置５のＣＰＵ５１が教示プログラム５３ａを実行することにより、溶接チップ３２がワークに近づくようにロボット２を移動させる（ステップＳ２１）。
次いで、画像処理装置６のＣＰＵ６１は、圧力センサ３４がワークＷとの接触を検出した検出信号を受信したか否かを判断する（ステップＳ２２）。ここで、ＣＰＵ６１が、圧力センサ３４がワークＷとの接触を検出した検出信号を受信したと判断した場合（ステップＳ２２：ＹＥＳ）、ＣＰＵ６１は、圧力センサ３４がワークに接触した時点におけるロボットの位置を抽出する（ステップＳ２３）。
次いで、ＣＰＵ６１は、Ｚ補正値算出プログラム６３ｃを実行することにより、ステップＳ１３で抽出したロボット２の位置座標と教示プログラム５３ａに基づくロボット２の位置座標からＺ補正値を算出し（ステップＳ２４）、制御装置５に送信する。
次いで、制御装置５のＣＰＵ５１は、補正プログラム５３ｂを実行することにより、算出されたＺ補正値に基づいて教示プログラム５３ａを補正し、補正されたプログラムに更新し（ステップＳ２５）、これをもって本処理を終了させる。
【００５３】
ここで、Ｚ方向の補正処理について、具体例を挙げて説明する。
溶接チップ３２がワークに近づくようにロボット２を移動させ、圧力センサ３４がワークに接触したときのロボット２の位置が図１４における実線の位置であったとする。
このような状態において、教示プログラム５３ａに基づくロボット２の位置が図１４における鎖線の位置であったとすると、ＣＰＵ６１は、Ｚ補正値算出プログラム６３ｃを実行することにより、両位置のＺ方向の差分ｚ１を算出する。この場合、ロボット２をＺ方向に−ｚ１移動させることで両位置座標が一致するので、この補正値を制御装置５に送信する。すると、制御装置５のＣＰＵ５１は、補正プログラム５３ｂを実行することにより、教示プログラム５３ａ中の位置座標データをＺ方向に−ｚ１だけ加算して、教示プログラム５３ａを補正する。
【００５４】
（傾きの補正）
１．補正の流れ
図１５に示すように、制御装置５のＣＰＵ５１が教示プログラム５３ａを実行することにより、溶接チップ３２の軸上近傍にワークの打点部のターゲット１０が位置するようにロボット２を移動させる（ステップＳ３１）。
次いで、ＣＰＵ５１は、カメラ４に撮像指令信号を送り、カメラ４にターゲット１０を撮像させる（ステップＳ３２）。このとき、カメラ４は、ターゲット１０の底面の外縁と上面の外縁を撮像画像に捉えるように撮像する。これにより、撮像画像においては、ターゲット１０の底面の外縁により形成される円と上面の外縁により形成される円とを認識できる。
そして、ＣＰＵ５１は、撮像した撮像画像の画像データを、通信機９１を介して通信機９２に無線送信する。撮像画像の画像データを受信した通信機９２は、画像処理装置６に当該画像データを送る（ステップＳ３３）。
次いで、画像処理装置６のＣＰＵ６１は、解析プログラム６３ａを実行することにより、画像データの画像処理を行い、撮像画像中におけるターゲット１０の底面及び上面の中心の位置情報を解析する。そして、ＣＰＵ６１は、傾き補正値算出プログラム６３ｄを実行することにより、撮像画像中におけるターゲット１０の底面及び上面の中心の位置情報から、傾き補正値を算出し（ステップＳ３４）、制御装置５に送信する。
次いで、ＣＰＵ５１は、補正プログラム５３ｂを実行することにより、算出された傾き補正値に基づいて教示プログラム５３ａを補正し、補正されたプログラムに更新し（ステップＳ３５）、これをもって本処理を終了させる。
【００５５】
ここで、溶接チップ３１，３２の傾きの補正処理について、具体例を挙げて説明する。
図１６に示すように、溶接チップ３１，３２がワークＷの打点部がある上面に対して直交する直線に沿って移動可能な状態にある場合、カメラ４はターゲット１０の底面及び上面に対して直交する方向に光軸があることになる。この場合、図１７に示すように、撮像画像においては、底面の外縁により形成される円Ｃ１の中心Ｏ１と上面の外縁により形成される円Ｃ２の中心Ｏ２がワークの打点部Ｍと重なることになる。すなわち、ターゲット１０は、底面の中心と上面の中心とがそれぞれの面に直交する直線状にあり、この直線がワークの打点部Ｍを通るようにターゲット１０はワークＷ上に設けられるので、ターゲット１０の底面及び上面の中心と、ワークＷの打点部Ｍとが溶接チップ３１，３２の軸線を通ることになる。そして、これをカメラ４で撮像した際に、底面及び上面の中心とワークＷの打点部Ｍとが一致しているということは、カメラ４が溶接チップ３１，３２の軸線上にあるということになる。よって、溶接チップ３１，３２はワークＷに対して傾いていないということがわかる。
【００５６】
一方、図１８に示すように、溶接チップ３１，３２がワークＷの打点部がある上面に対して直交する直線に沿って移動可能な状態でない場合、カメラ４の光軸はターゲット１０の底面及び上面に対して直交する直線に対して傾いた状態となる。この場合、図１９に示すように、撮像画像においては、底面の外縁により形成される円Ｃ１の中心Ｏ１は、ワークＷの打点部Ｍと一致しているが、ターゲット１０の上面の外縁により形成される円Ｃ２の中心Ｏ２とは重ならない。これは、ターゲット１０の底面と上面との間に高さがあるためである。すなわち、ターゲット１０は、底面の中心と上面の中心とがそれぞれの面に直交する直線状にあり、この直線がワークの打点部Ｍを通るようにターゲット１０はワークＷ上に設けられるので、ターゲット１０の底面及び上面の中心と、ワークＷの打点部Ｍとが溶接チップ３１，３２の軸線を通ることになる。そして、これをカメラ４で撮像した際に、底面の中心と上面の中心とがずれているということは、カメラ４が溶接チップ３１，３２の軸線上にないということになる。よって、溶接チップ３１，３２はワークＷに対して傾いているということがわかる。
【００５７】
次に、傾き補正値算出処理について、具体例を挙げて説明する。
溶接チップ３１，３２の軸上近傍にワークＷの打点部Ｍが位置するようにロボット２を移動させ、カメラ４でターゲット１０を撮像したときのカメラ４とターゲット１０の状態が図２０に示す状態であったとする。ここで、傾き補正値の算出にあたり、溶接チップ３１，３２の軸線に対するカメラ４の光軸の傾斜角をθ、カメラ４からワークＷの打点部Ｍまでの高さをＨ、ターゲット１０の底面から上面までの高さをｈ、カメラ４の光軸に対して傾斜しているターゲット１０の底面から上面までのカメラ４の光軸に沿った高さをＢ、ターゲット１０の上面の中心Ｏ２を通ると共にカメラ４の光軸に直交する直線上におけるカメラ４の光軸とターゲット１０の上面の中心Ｏ２との距離をＡ、ターゲット１０の底面の中心Ｏ１及びワークの打点部Ｍを通ると共にカメラ４の光軸に直交する直線上におけるカメラ４の光軸と上面の中心Ｏ２を結ぶ直線とターゲット１０の上面の中心Ｏ２との距離をΔＳとする。
なお、撮像画像は、ターゲット１０の底面及び上面を捉えるように撮像されているので、撮像画像上におけるターゲット１０の底面の中心Ｏ１と上面の中心Ｏ２との距離は図２０におけるΔＳと一致する。
すると、傾きθの場合の溶接チップ３１，３２の傾き補正量ΔＳは、
ΔＳ＝Ｈ／（Ｈ−ｈ・ｃｏｓθ）×ｈ・ｓｉｎθ
で求めることができる。
そして、ＣＰＵ５１は、これらの式に基づいて算出された傾き補正量ΔＳに基づいて、教示プログラム５３ａを補正する。
例えば、Ｈ＝４０ｍｍ、ｈ＝１０ｍｍ、θ＝１°とした場合、ΔＳ＝０．２３３ｍｍとなり、
従来と同じように、市販されている１辺が５００画素のカメラで、視野が１辺２５ｍｍとすると、その分解能は１画素あたり０．０５ｍｍとなるから、高精度のカメラを用いなくても傾きを十分に認識することができる。
【００５８】
＜作用効果＞
このように、溶接教示位置補正システム１により、教示プログラム５３ａを補正する際には、最初に、ロボット２の先端に設けられたスポット溶接ガン３の二つの溶接チップ３１，３２のうち、一方の溶接チップ３２とカメラ４を交換してカメラ４の光軸が溶接チップ３１の軸と同軸となるようにカメラ４を取り付け、ワークＷの打点部Ｍにターゲット１０を取り付ける。
そして、カメラ４により、ターゲット１０の底面の外縁及び上面の外縁を撮像する。画像処理装置６は、カメラ４により撮像した撮像画像の画像処理を行って、撮像画像中におけるターゲット１０の底面の中心と上面の中心の距離からワークＷに対する溶接チップ３１，３２の傾き情報を取得する。ＣＰＵ５１は、補正プログラム５３ｂを実行することにより、画像処理装置６による撮像画像の画像処理により取得したワークＷに対する溶接チップの傾き情報に基づいて、教示プログラム５３ａにおけるロボット２の教示位置を補正する。
【００５９】
このように、カメラ４の撮像対象となるターゲット１０として溶接チップ３１，３２の進退方向に高さを有するものを用い、このターゲット１０におけるワークＷの打点部Ｍからの高さが異なる二つの底面の外縁及び上面の外縁を撮像することで、ターゲット１０の底面と上面との高さの差が大きくなる程、撮像画像中におけるターゲット１０の底面の中心と上面の中心との間隔が大きくなる。
よって、従来のような厚さの小さいシールを撮像する場合に比べて、撮像画像でのターゲット１０の底面と上面の位置のずれを容易に認識することができ、解像度の高い高性能なカメラを用いなくても、精度良く溶接チップ３１，３２の傾きを検出することができ、教示プログラム５３ａを補正することができる。
【００６０】
また、カメラ４は、その光軸が溶接チップ３１，３２の軸と同軸となるように設けられているため、従来のように溶接チップ３１，３２の軸線とカメラ４の光軸とが一致していないために必要となる作業、すなわち、カメラ４でワークＷを認識するためのロボット動作の教示が不要となり、オフラインティーチングにかかる手間を軽減することができる。また、予めカメラ４のキャリブレーションを行う必要がなくなるので、オフラインティーチングにかかる手間を軽減することができるほか、カメラ４のキャリブレーションの精度に起因する誤差の発生を抑制できる。
【００６１】
また、カメラ４は、一方の溶接チップに着脱自在又は一方の溶接チップと交換可能とされているため、カメラ４は溶接チップ３１，３２の近傍又は溶接チップ３１，３２の取付領域を占めるだけとなる。これにより、カメラ４でワークＷの打点部Ｍを撮像する姿勢をとる際に、カメラ４でワークＷの打点部Ｍの撮像に適した姿勢を追求するあまり、ロボット２やスポット溶接ガン３が、周囲に存在するワークＷや治具に干渉するおそれを減らすことができる。よって、このような干渉を回避するための方策を取る必要がなく、オフラインティーチングにかかる手間を軽減することができる。
【００６２】
また、ＣＰＵ５１は、補正プログラム５３ｂを実行することにより、ターゲット１０の底面の中心Ｏ１と上面の中心Ｏ２との差分から溶接チップ３１，３２の軸線がワークＷの打点部Ｍと同一平面に対して直交する直線に一致するように教示プログラム５３ａにおけるロボット２の教示位置を補正する。これにより、溶接チップ３１，３２のワークＷに対する傾きを補正することができる。
【００６３】
また、ターゲット１０をワークＷの打点部Ｍに配置した際に、ターゲット１０の底面の中心Ｏ１と上面の中心Ｏ２とワークＷの打点部Ｍとが同一直線上に存在するので、溶接チップ３１，３２がワークＷの打点部Ｍを通る直線上にある場合には、撮像画像中の各点が一致することになる。一方、溶接チップ３１，３２がワークＷの打点部Ｍを通る直線上にない場合には、撮像画像中の各点が一致しない。これにより、底面の中心Ｏ１と上面の中心Ｏ２が一致しているか否かを判断するだけで、溶接チップ３１，３２が傾いていることを検出することができる。
よって、教示プログラム５３ａの補正に関する処理を容易に処理することができる。
【００６４】
＜変形例＞
なお、本発明は上記実施形態に限られるものではない。
ターゲット１０は、テープ等によりワークＷに貼り付けられるが、教示プログラム５３ａの補正が終わって、実際に溶接をするためにターゲット１０を剥がすときには、テープの粘着成分がワークＷに残って溶接品質に影響を与えるおそれがある。
このような場合において、ワークＷが磁石に引き寄せられる磁性体で形成されているならば、ターゲット１０の底面を有する土台部１１を磁石により形成しても良い。
これにより、ターゲット１０は磁力により磁性体のワークＷに貼り付けることができ、テープ等でターゲット１０をワークＷに貼り付ける場合に比べてその着脱作業が容易になる。また、テープ等を剥がした際にワークＷにテープの粘着成分が残ったりしないので、溶接の際にワークＷに悪影響を与えることもない。 
また、図２１に示すように、ワークＷには、歪みｄ１（図２１（ａ）参照）や局部的に形成された小突起ｄ２（図２１（ｂ）参照）により打点部Ｍの周囲が平坦でない場合がある。
【００６５】
このような場合には、図２２に示すように、それぞれの底面が同一平面上に存在する３つの磁石１８ａ，１８ｂ，１８ｃが底面となるように土台部１１Ａを形成したターゲット１０Ａにするとよい。
これにより、図２３に示すように、ワークＷの打点部Ｍの周辺に歪みｄ１や局部的な突起ｄ２がある場合であっても、その位置を外して３つの磁石１８ａ，１８ｂ，１８ｃをワークＷの平坦な場所に設置させることができ、ターゲットのワークＷへの取り付けの自由度を増すことができる。
また、磁石を３つとすることは、ターゲットの設置を安定させるのに必要最低限の数量なので、ターゲットの軽量化、部品点数の減少、これらに伴うコストダウンを図ることができる。
【００６６】
また、ターゲットは上記実施形態のように、円板状の土台部１１と円錐台状の上体部１２とから形成されるものに限らず、高さの異なる位置に二つの被撮像部があるように形成し、その被撮像部を撮像画像で認識することができればどのような形状であっても良い。
例えば、図２４に示すように、ターゲット１０Ｂを透明のアクリル等から形成された四角柱状とし、このターゲット１０ＢにおけるワークＷの打点部Ｍに当接する底面に第１のマーキングｍ１を施し、この底面に対して平行な上面に第２のマーキングｍ２を施しても良い。このとき、ターゲット１０Ｂは、第１のマーキングｍ１及び第２のマーキングｍ２のそれぞれの重心Ｇ１，Ｇ２が、ワークＷの打点部Ｍを通り、かつ、当該ワークＷの打点部Ｍと同一平面に対して直交する直線上に存在する。
なお、各マーキングｍ１，ｍ２は、ターゲット１０Ｂにシールを貼り付けても良いし、ターゲット１０Ｂに直接描いても良い。
そして、各マーキングｍ１，ｍ２を被撮像部とし、撮像画像における各マーキングｍ１，ｍ２の位置のずれに基づいて傾き補正量を算出し、この補正量を用いて教示プログラム５３ａを補正しても良い。
また、このようなマーキングｍ１，ｍ２を施さなくとも、ターゲット１０Ｂの底面及び上面の形状特徴量を撮像画像中で認識できればよい。すなわち、底面及び上面の中心に限らず、重心、頂点、対角線の交点等を用いてもよい。
【００６７】
また、図２５に示すように、ターゲット１０Ｃを、透明のアクリル等で形成し、かかるターゲット１０Ｃは、ワークＷの打点部Ｍに当接する底面にマーキングｍ３が描かれた支持部１５と、支持部１５によって支持される球状の球体部１６と、を有するように形成しても良い。このとき、ターゲット１０Ｃは、支持部１５のマーキングｍ３の重心Ｇ３と球体部１６の重心Ｇ４が、ワークＷの打点部Ｍを通り、かつ、当該ワークＷの打点部Ｍと同一平面に対して直交する直線上に存在する。
なお、マーキングｍ３は、ターゲット１０Ｃにシールを貼り付けても良いし、ターゲット１０Ｃに直接描いても良い。
そして、支持部１５のマーキングｍ３と球体部１６の外縁を被撮像部とし、撮像画像におけるマーキングｍ３の重心Ｇ３と球体部１６の重心Ｇ４の位置のずれに基づいて傾き補正量を算出し、この補正量を用いて教示プログラム５３ａを補正しても良い。
また、このようなマーキングｍ３を施さなくとも、ターゲット１０Ｃの底面の形状特徴量を撮像画像中で認識できれば良い。すなわち、底面の中心に限らず、中心、頂点、対角線の交点等を用いてもよい。
【００６８】
また、Ｘ方向、Ｙ方向の補正に際し、ワークＷの打点部Ｍではなく、ターゲット１０の中心を利用して補正を行ってもよい。
また、ロボットによる溶接方法についても、スポット溶接ガン３を床に対して固定し、そのスポット溶接ガン３に向けて、先端にワークを把持する把持装置が設けられたロボットを移動させるようにしてもよい。
また、プログラムエリア５３に記憶されたプログラムはより細分化されたプログラムとしてもよいし、全てのプログラムを一体に構成してもよい。
また、教示プログラム５３ａの補正に関する処理をソフトウェアで行ったが、ハードウェアで処理するように構成してもよい。
また、溶接ガンとして、Ｃ型のスポット溶接ガンを用いたが、Ｘ型のスポット溶接ガンを用いてもよい。
また、溶接チップ３２がワークに接触したことを検出する方法は、圧力センサ３４に限らず、例えば、溶接チップ３２に微弱電流を通電しておき、溶接チップ３２がワークに接触したときの電流値又は電圧値の変化を検知することにより溶接チップ３２がワークに接触したことを検出する方法であってもよい。
また、上記実施形態においては、カメラ４と画像処理装置６とは、それぞれ別個に構成されているが、画像処理機能を備えるカメラを用いれば、カメラ４で撮像画像の処理を行ってその画像データを制御装置５に無線送信することができる。
また、制御装置５と画像処理装置６とは、それぞれ別個に構成されているが、制御装置５が画像処理機能を備えていれば、カメラ４で撮像した画像を制御装置５に無線送信することにより、制御装置５で画像処理を行ってそのデータに基づいてロボット２を制御することができる。これらの構成は作業者、設計者の要望により自由に変更可能である。
その他、発明の本質的部分を変更しない範囲内で自由に設計変更が可能である。
【図面の簡単な説明】
【００６９】
【図１】溶接教示位置補正システムの概略構成図。
【図２】図１におけるスポット溶接ガンの近傍を拡大視した図。
【図３】スポット溶接ガンの正面図。
【図４】スポット溶接ガンの正面図。
【図５】溶接教示位置補正システムの構成を示すブロック図。
【図６】溶接教示位置補正システムの機能を示すブロック図。
【図７】各軸を定義づけを説明する図。
【図８】ターゲットの斜視図。
【図９】教示プログラムにより決定される教示位置のＸＹ方向の補正処理を示すフローチャート。
【図１０】教示プログラムにより決定される教示位置のＸＹ方向の補正方法の説明図。
【図１１】ＸＹ補正値算出処理を示すフローチャート。
【図１２】ＸＹ補正値算出処理の説明図。
【図１３】教示プログラムにより決定される教示位置のＺ方向の補正処理を示すフローチャート。
【図１４】教示プログラムにより決定される教示位置のＺ方向の補正方法の説明図。
【図１５】傾き補正値算出処理を示すフローチャート。
【図１６】傾き補正値算出処理の説明図であり、溶接チップがワークに対して傾いていないときのカメラの状態を示す図。
【図１７】図１６の状態において、カメラにより撮像された撮像画像の模式図。
【図１８】傾き補正値算出処理の説明図であり、溶接チップがワークに対して傾いているときのカメラの状態を示す図。
【図１９】図１８の状態において、カメラにより撮像された撮像画像の模式図。
【図２０】傾き補正値算出処理の説明図。
【図２１】ワークに歪みや突起部が形成されている場合の問題点を説明する図。
【図２２】土台部の一部として磁石を設けたターゲットを示す図であり、（ａ）は斜視図、（ｂ）は側面図、（ｃ）は底面図。
【図２３】ワークの歪みや突起部を避けてワーク上にターゲットを設けた状態を示す図。
【図２４】他の例のターゲットを示す図。
【図２５】他の例のターゲットを示す図。
【図２６】従来技術における溶接チップがワークに対して傾いているときのカメラの状態を示す図。
【図２７】図２６の状態において、カメラにより撮像された撮像画像の模式図。
【符号の説明】
【００７０】
１  溶接教示位置補正システム
２  ロボット
３  スポット溶接ガン
４  カメラ（撮像装置）
５  制御装置（プログラム補正手段、動作制御手段）
６  画像処理装置（画像処理手段）
１０  ターゲット
１０Ａ  ターゲット
１０Ｂ  ターゲット
１０Ｃ  ターゲット
１１  土台部
１１Ａ  土台部
１１ａ  ターゲットの底面の外縁
１２ａ  ターゲットの上面の外縁
１２  上体部
１５  支持部
１６  球体部
１８ａ  磁石
１８ｂ  磁石
１８ｃ  磁石
３１  溶接チップ
３２  溶接チップ
３４  圧力センサ（検出手段）
５３ａ  教示プログラム
５４  データエリア（打点部サイズ記憶手段）
９１  通信機
９２  通信機
１０１  動作制御部（動作制御手段）
１０２  補正部（プログラム補正手段）
１１０  画像処理部（画像処理手段）
１１２  ＸＹ補正値算出部（プログラム補正手段）
１１３  Ｚ補正値算出部（プログラム補正手段）
１１４  傾き補正値算出部（プログラム補正手段）
Ｍ  打点部
ｍ１  第１のマーキング
ｍ２  第２のマーキング
ｍ３  マーキング
Ｗ  ワーク
【図１】
2009125839.tif 000006
【図２】
2009125839.tif 000007
【図３】
2009125839.tif 000008
【図４】
2009125839.tif 000009
【図５】
2009125839.tif 000010
【図６】
2009125839.tif 000011
【図７】
2009125839.tif 000012
【図８】
2009125839.tif 000013
【図９】
2009125839.tif 000014
【図１０】
2009125839.tif 000015
【図１１】
2009125839.tif 000016
【図１２】
2009125839.tif 000017
【図１３】
2009125839.tif 000018
【図１４】
2009125839.tif 000019
【図１５】
2009125839.tif 000020
【図１６】
2009125839.tif 000021
【図１７】
2009125839.tif 000022
【図１８】
2009125839.tif 000023
【図１９】
2009125839.tif 000024
【図２０】
2009125839.tif 000025
【図２１】
2009125839.tif 000026
【図２２】
2009125839.tif 000027
【図２３】
2009125839.tif 000028
【図２４】
2009125839.tif 000029
【図２５】
2009125839.tif 000030
【図２６】
2009125839.tif 000031
【図２７】
2009125839.tif 000032