(57)【要約】【課題】教示プログラムを、作業者が手動で事前に修正することなく、簡便に、精度良く補正する。【解決手段】溶接教示位置補正システム１は、ロボット２と、対向配置された二つの溶接チップ３１，３２を有するスポット溶接ガン３と、一方の溶接チップ３１に交換可能に設けられるとともに、光軸が溶接チップ３２の軸と同軸となるように設けられ、溶接チップ３２によるワークの打点部を撮像する撮像装置４と、ロボット２及びスポット溶接ガン３の動作制御を行う動作制御手段５と、撮像装置４により撮像された撮像画像の画像処理を行って、撮像画像中における打点部の位置情報を取得する画像処理手段６と、撮像画像中におけるワークの打点部の位置情報に基づいて、教示プログラム５３ａにおけるロボット２の教示位置を複数の方向に補正するプログラム補正手段５と、を備える。【選択図】図４
2007122705.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有するロボットと、
前記ロボットの先端に設けられ、対向配置された二つの溶接チップを有するスポット溶接ガンと、
少なくとも一方の溶接チップに着脱自在又は少なくとも一方の溶接チップと交換可能に設けられるとともに、光軸が前記溶接チップの軸と同軸となるように設けられ、前記溶接チップによるワークの打点部を撮像する撮像装置と、
前記ロボット及び前記スポット溶接ガンに溶接動作を教示する教示プログラムに従って前記ロボット及び前記スポット溶接ガンの動作制御を行う動作制御手段と、
前記撮像装置により撮像された撮像画像の画像処理を行って、前記撮像画像中における前記溶接チップによるワークの打点部の位置情報を取得する画像処理手段と、
前記画像処理手段による前記撮像画像の画像処理により取得した前記撮像画像中におけるワークの打点部の位置情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を複数の方向に補正するプログラム補正手段と、
を備えることを特徴とする溶接教示位置補正システム。
【請求項２】
床に対して固定され、対向配置された二つの溶接チップを有するスポット溶接ガンと、
複数の関節を有し、先端にワークを把持する把持装置が設けられ、前記スポット溶接ガンにワークを供給するロボットと、
少なくとも一方の溶接チップに着脱自在又は少なくとも一方の溶接チップと交換可能に設けられるとともに、光軸が前記溶接チップの軸と同軸となるように設けられ、前記溶接チップによるワークの打点部を撮像する撮像装置と、
前記ロボット及び前記スポット溶接ガンに溶接動作を教示する教示プログラムに従って前記ロボット及び前記スポット溶接ガンの動作制御を行う動作制御手段と、
前記撮像装置により撮像された撮像画像の画像処理を行って、前記撮像画像中における前記溶接チップによるワークの打点部の位置情報を取得する画像処理手段と、
前記画像処理手段による前記撮像画像の画像処理により取得した前記撮像画像中におけるワークの打点部の位置情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を複数の方向に補正するプログラム補正手段と、
を備えることを特徴とする溶接教示位置補正システム。
【請求項３】
前記撮像装置により撮像された撮像画像における予め設定された最適な打点位置を記憶する記憶手段を備え、
前記プログラム補正手段は、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部が位置するように前記ロボットを移動させた場合に、前記撮像装置により撮像された撮像画像における前記打点部の位置と前記記憶手段に記憶された前記撮像画像における予め設定された最適な打点位置との差分に基づいて、ロボットツール座標での前記溶接チップの軸方向に直交する面方向の差分が所定値以下になるように前記教示プログラムにおける前記ロボットの教示位置をロボットツール座標での前記溶接チップの軸方向に直交する面方向に補正することを特徴とする請求項１又は２に記載の溶接教示位置補正システム。
【請求項４】
前記動作制御手段により前記溶接チップを軸方向に駆動させるガン開閉軸又は前記ロボットをロボットツール座標での前記溶接チップの軸方向に移動させた場合に、前記溶接チップがワークに接触したことを検出する検出手段を備え、
前記プログラム補正手段は、前記検出手段が前記溶接チップのワークへの接触を検出したときのロボットツール座標での前記溶接チップの軸方向におけるロボットの位置に基づいて、前記教示プログラムにおける前記ロボットの教示位置をロボットツール座標での前記溶接チップの軸方向に補正することを特徴とする請求項３に記載の溶接教示位置補正システム。
【請求項５】
前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部が位置するように前記ロボットを移動させた場合における当該打点部の大きさを記憶する打点部サイズ記憶手段を備え、
前記プログラム補正手段は、前記動作制御手段により前記溶接チップを軸方向に駆動させるガン開閉軸又は前記ロボットをロボットツール座標での前記溶接チップの軸方向に移動させた場合に、前記撮像装置により撮像された撮像画像における前記打点部の大きさと前記打点部サイズ記憶手段に記憶された前記打点部の大きさとに基づいて、撮像画像における前記打点部の大きさが前記打点部サイズ記憶手段に記憶された前記打点部の大きさとの差が所定値以下となるように前記教示プログラムにおける前記ロボットの教示位置をロボットツール座標での前記溶接チップの軸方向に補正することを特徴とする請求項３に記載の溶接教示位置補正システム。
【請求項６】
前記撮像装置と前記画像処理手段とを無線通信により接続する無線通信装置を備えることを特徴とする請求項１〜５のいずれか一項に記載の溶接教示位置補正システム。
【請求項７】
請求項１〜６のいずれか一項に記載の溶接教示位置補正システムを用いて教示プログラムの補正を行うにあたり、前記撮像装置のキャリブレーションを行うキャリブレーション方法において、
前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部がくるように前記ロボットを移動させる第１移動工程と、
前記第１移動工程により前記ロボットを移動させた後に、前記撮像装置により前記打点部を撮像する第１撮像工程と、
前記動作制御手段により前記ロボットをロボットツール座標での前記撮像装置の光軸に直交する面上の予め設定された方向に予め設定された距離だけ移動させる第２移動工程と、
前記第２移動工程により前記ロボットを移動させた後に、前記撮像装置により前記打点部を撮像する第２撮像工程と、
前記第１撮像工程により撮像された撮像画像における前記打点部の位置と、前記第２撮像工程により撮像された撮像画像における前記打点部の位置と、前記第２移動工程により前記ロボットを移動させた方向及び距離と、撮像画像における予め設定された最適な打点位置と、に基づいて、前記撮像画像における打点部を予め設定された最適な打点位置まで移動させるために必要な前記ロボットの移動方向及び移動距離を算出する算出工程と、
前記算出工程により算出された移動方向及び移動距離に基づいて、前記動作制御手段により前記ロボットを移動させるキャリブレーション工程と、
を備えることを特徴とするキャリブレーション方法。
【請求項８】
請求項１〜６のいずれか一項に記載の溶接教示位置補正システムを用いて教示プログラムの補正を行うにあたり、前記撮像装置のキャリブレーションを行うキャリブレーション方法において、
前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部から所定の距離に位置する特定点がくるように前記ロボットを移動させる第１移動工程と、
前記第１移動工程により前記ロボットを移動させた後に、前記撮像装置により前記特定点を撮像する第１撮像工程と、
前記動作制御手段により前記ロボットをロボットツール座標での前記撮像装置の光軸に直交する面上の予め設定された方向に予め設定された距離だけ移動させる第２移動工程と、
前記第２移動工程により前記ロボットを移動させた後に、前記撮像装置により前記特定点を撮像する第２撮像工程と、
前記第１撮像工程により撮像された撮像画像における前記特定点の位置と、前記第２撮像工程により撮像された撮像画像における前記特定点の位置と、前記第２移動工程により前記ロボットを移動させた方向及び距離と、撮像画像における予め設定された最適な打点位置と、に基づいて、前記撮像画像における特定点を予め設定された最適な打点位置まで移動させるために必要な前記ロボットの移動方向及び移動距離を算出する算出工程と、
前記算出工程により算出された移動方向及び移動距離に基づいて、前記動作制御手段により前記ロボットを移動させるキャリブレーション工程と、
を備えることを特徴とするキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、溶接教示位置補正システム及びキャリブレーション方法に関する。
【背景技術】
【０００２】
自動車車体のスポット溶接ライン等のように、スポット溶接ロボットが多数使用される工程においては、設備立ち上げ時の作業工数削減と作業時間短縮の目的で、事前にロボットの動作プログラムを作成する手法が採用されている。スポット溶接ロボットの動作プログラムを設備導入前に予め作成する方法としては、ロボットとスポット溶接ガンの機構と形状、ワーク（被溶接物）の形状、ロボットとワークの相対位置関係、必要な溶接動作条件等に関する情報をもとに、コンピュータ上でロボット動作をシミュレーションし、プログラムを作成するオフライン教示システムが用いられる。
しかし、設備設置後に、オフライン教示システムにより作成されたプログラムを、実際のロボットにアップロードして使用する場合、ロボットや治具の設置誤差や、ロボット個別の機差、ワークの寸法誤差、重力によるたわみ等によって、溶接位置が所期の位置からずれてしまうことがある。このため、溶接ポイントの全部または一部について、自動運転を行う前に、作業者がロボットを手動運転で作動させ、動作位置を確認し、必要に応じてオフラインティーチングデータを補正する必要があった。
【０００３】
このような問題を解決するため、スポット溶接打点位置に関するオフラインティーチングデータにおける溶接チップの軸方向の補正方法が開示されている（例えば、特許文献１参照。）。
また、スポット溶接打点位置に関するオフラインティーチングデータにおけるワークの面に対する溶接チップの面直ずれの補正方法が開示されている（例えば、特許文献２参照。）。
【特許文献１】特許第３１９１５６３号公報
【特許文献２】特開２００５−１３８２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の発明によれば、オフラインティーチングデータのうち、一方向の成分のデータの補正しかできないという問題があった。また、特許文献１に記載の補正方法においては、ワークの打点位置の表裏両面にマークを付し、各マークを撮像するカメラを二台設置する必要があるため、設備コストが高くなり、準備が煩雑で手間がかかるという問題があった。
また、特許文献２に記載の発明によれば、スポット溶接ガン先端に対して、カメラ位置が別の場所に設置されている、すなわち、溶接チップの軸線とカメラの光軸とが一致していないため、カメラでワークを認識するためのロボット動作の教示が必要であり、手間がかかるという問題があった。カメラで認識する姿勢をとる際に、ロボット本体やロボットに搭載したスポット溶接ガンが、周囲に存在するワークや治具に干渉するおそれがあり、これを回避するための方策を取らねばならず、非常に手間がかかるという問題があった。予めカメラのキャリブレーションを行う必要があり手間がかかるほか、カメラのキャリブレーションの精度に起因する誤差を生みやすいという問題があった。
【０００５】
そこで、本発明は、上記課題を解決するためになされたものであり、スポット溶接ロボットのオフライン教示プログラムの溶接動作位置を、作業者が手動で事前に修正することなく、簡便に、精度良くオフライン教示プログラムを補正することができる溶接教示位置補正システム及びキャリブレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、溶接教示位置補正システムにおいて、複数の関節を有するロボットと、前記ロボットの先端に設けられ、対向配置された二つの溶接チップを有するスポット溶接ガンと、少なくとも一方の溶接チップに着脱自在又は少なくとも一方の溶接チップと交換可能に設けられるとともに、光軸が前記溶接チップの軸と同軸となるように設けられ、前記溶接チップによるワークの打点部を撮像する撮像装置と、前記ロボット及び前記スポット溶接ガンに溶接動作を教示する教示プログラムに従って前記ロボット及び前記スポット溶接ガンの動作制御を行う動作制御手段と、前記撮像装置により撮像された撮像画像の画像処理を行って、前記撮像画像中における前記溶接チップによるワークの打点部の位置情報を取得する画像処理手段と、前記画像処理手段による前記撮像画像の画像処理により取得した前記撮像画像中におけるワークの打点部の位置情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を複数の方向に補正するプログラム補正手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、溶接教示位置補正システムにおいて、床に対して固定され、対向配置された二つの溶接チップを有するスポット溶接ガンと、複数の関節を有し、先端にワークを把持する把持装置が設けられ、前記スポット溶接ガンにワークを供給するロボットと、少なくとも一方の溶接チップに着脱自在又は少なくとも一方の溶接チップと交換可能に設けられるとともに、光軸が前記溶接チップの軸と同軸となるように設けられ、前記溶接チップによるワークの打点部を撮像する撮像装置と、前記ロボット及び前記スポット溶接ガンに溶接動作を教示する教示プログラムに従って前記ロボット及び前記スポット溶接ガンの動作制御を行う動作制御手段と、前記撮像装置により撮像された撮像画像の画像処理を行って、前記撮像画像中における前記溶接チップによるワークの打点部の位置情報を取得する画像処理手段と、前記画像処理手段による前記撮像画像の画像処理により取得した前記撮像画像中におけるワークの打点部の位置情報に基づいて、前記教示プログラムにおける前記ロボットの教示位置を複数の方向に補正するプログラム補正手段と、を備えることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１又は２に記載の溶接教示位置補正システムにおいて、前記撮像装置により撮像された撮像画像における予め設定された最適な打点位置を記憶する記憶手段を備え、前記プログラム補正手段は、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部が位置するように前記ロボットを移動させた場合に、前記撮像装置により撮像された撮像画像における前記打点部の位置と前記記憶手段に記憶された前記撮像画像における予め設定された最適な打点位置との差分に基づいて、ロボットツール座標での前記溶接チップの軸方向に直交する面方向の差分が所定値以下になるように前記教示プログラムにおける前記ロボットの教示位置をロボットツール座標での前記溶接チップの軸方向に直交する面方向に補正することを特徴とする。
ここで、最適な打点位置は、ユーザによって予め設定される打点位置をいい、最適の判断はユーザによってなされるものである。
また、所定値とは、ユーザにより定められる値であり、許容される誤差に基づいて所定値の大小が決定される。
【０００９】
請求項４に記載の発明は、請求項３に記載の溶接教示位置補正システムにおいて、前記動作制御手段により前記溶接チップを軸方向に駆動させるガン開閉軸又は前記ロボットをロボットツール座標での前記溶接チップの軸方向に移動させた場合に、前記溶接チップがワークに接触したことを検出する検出手段を備え、前記プログラム補正手段は、前記検出手段が前記溶接チップのワークへの接触を検出したときのロボットツール座標での前記溶接チップの軸方向におけるロボットの位置に基づいて、前記教示プログラムにおける前記ロボットの教示位置をロボットツール座標での前記溶接チップの軸方向に補正することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項３に記載の溶接教示位置補正システムにおいて、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部が位置するように前記ロボットを移動させた場合における当該打点部の大きさを記憶する打点部サイズ記憶手段を備え、前記プログラム補正手段は、前記動作制御手段により前記溶接チップを軸方向に駆動させるガン開閉軸又は前記ロボットをロボットツール座標での前記溶接チップの軸方向に移動させた場合に、前記撮像装置により撮像された撮像画像における前記打点部の大きさと前記打点部サイズ記憶手段に記憶された前記打点部の大きさとに基づいて、撮像画像における前記打点部の大きさが前記打点部サイズ記憶手段に記憶された前記打点部の大きさとの差が所定値以下となるように前記教示プログラムにおける前記ロボットの教示位置をロボットツール座標での前記溶接チップの軸方向に補正することを特徴とする。
ここで、所定値とは、ユーザにより定められる値であり、許容される誤差に基づいて所定値の大小が決定される。
【００１１】
請求項６に記載の発明は、請求項１〜５のいずれか一項に記載の溶接教示位置補正システムにおいて、前記撮像装置と前記画像処理手段とを無線通信により接続する無線通信装置を備えることを特徴とする。
【００１２】
請求項７に記載の発明は、請求項１〜６のいずれか一項に記載の溶接教示位置補正システムを用いて教示プログラムの補正を行うにあたり、前記撮像装置のキャリブレーションを行うキャリブレーション方法において、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部がくるように前記ロボットを移動させる第１移動工程と、前記第１移動工程により前記ロボットを移動させた後に、前記撮像装置により前記打点部を撮像する第１撮像工程と、前記動作制御手段により前記ロボットをロボットツール座標での前記撮像装置の光軸に直交する面上の予め設定された方向に予め設定された距離だけ移動させる第２移動工程と、前記第２移動工程により前記ロボットを移動させた後に、前記撮像装置により前記打点部を撮像する第２撮像工程と、前記第１撮像工程により撮像された撮像画像における前記打点部の位置と、前記第２撮像工程により撮像された撮像画像における前記打点部の位置と、前記第２移動工程により前記ロボットを移動させた方向及び距離と、撮像画像における予め設定された最適な打点位置と、に基づいて、前記撮像画像における打点部を予め設定された最適な打点位置まで移動させるために必要な前記ロボットの移動方向及び移動距離を算出する算出工程と、前記算出工程により算出された移動方向及び移動距離に基づいて、前記動作制御手段により前記ロボットを移動させるキャリブレーション工程と、を備えることを特徴とする。
【００１３】
請求項８に記載の発明は、請求項１〜６のいずれか一項に記載の溶接教示位置補正システムを用いて教示プログラムの補正を行うにあたり、前記撮像装置のキャリブレーションを行うキャリブレーション方法において、前記動作制御手段により前記教示プログラムに基づいて前記溶接チップの軸上近傍に前記打点部から所定の距離に位置する特定点がくるように前記ロボットを移動させる第１移動工程と、前記第１移動工程により前記ロボットを移動させた後に、前記撮像装置により前記特定点を撮像する第１撮像工程と、前記動作制御手段により前記ロボットをロボットツール座標での前記撮像装置の光軸に直交する面上の予め設定された方向に予め設定された距離だけ移動させる第２移動工程と、前記第２移動工程により前記ロボットを移動させた後に、前記撮像装置により前記特定点を撮像する第２撮像工程と、前記第１撮像工程により撮像された撮像画像における前記特定点の位置と、前記第２撮像工程により撮像された撮像画像における前記特定点の位置と、前記第２移動工程により前記ロボットを移動させた方向及び距離と、撮像画像における予め設定された最適な打点位置と、に基づいて、前記撮像画像における特定点を予め設定された最適な打点位置まで移動させるために必要な前記ロボットの移動方向及び移動距離を算出する算出工程と、前記算出工程により算出された移動方向及び移動距離に基づいて、前記動作制御手段により前記ロボットを移動させるキャリブレーション工程と、を備えることを特徴とする。
【発明の効果】
【００１４】
請求項１に記載の発明によれば、ロボットの先端に設けられたスポット溶接ガンの二つの溶接チップのうち、少なくとも一方の溶接チップに光軸が溶接チップの軸と同軸となるように撮像装置を取り付けるか、少なくとも一方の溶接チップに光軸が溶接チップの軸と同軸となるように撮像装置を取り付ける。そして、撮像装置により、溶接チップによるワークの打点部を撮像する。画像処理手段は、撮像装置により撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップによるワークの打点部の位置情報を取得する。プログラム補正手段は、撮像画像の画像処理により取得した撮像画像中におけるワークの打点部の位置情報に基づいて、教示プログラムにおけるロボットの教示位置を複数の方向に補正する。
【００１５】
ここで、撮像装置は、その光軸が溶接チップの軸と同軸となるように設けられているため、従来のように溶接チップの軸線とカメラの光軸とが一致していないために必要となる作業、すなわち、カメラでワークを認識するためのロボット動作の教示が不要となり、オフラインティーチングにかかる手間を軽減することができる。また、予め撮像装置のキャリブレーションを行う必要がなくなるので、オフラインティーチングにかかる手間を軽減することができるほか、撮像装置のキャリブレーションの精度に起因する誤差の発生を抑制できる。
【００１６】
また、撮像装置は、一方の溶接チップに着脱自在又は一方の溶接チップと交換可能とされているため、撮像装置は溶接チップの近傍又は溶接チップの取付領域を占めるだけとなる。これにより、撮像装置で打点部を撮像する姿勢をとる際に、撮像装置で打点部の撮像に適した姿勢を追求するあまり、ロボットやスポット溶接ガンが、周囲に存在するワークや治具に干渉するおそれを減らすことができる。よって、このような干渉を回避するための方策を取る必要がなく、オフラインティーチングにかかる手間を軽減することができる。
【００１７】
また、プログラム補正手段は、撮像画像中におけるワークの打点部の位置情報に基づいて、教示プログラムにおけるロボットの教示位置を複数の方向に補正する。これにより、従来は、一方向の補正であったのに対して複数の方向に補正することができるので、補正の精度を高めることができる。
【００１８】
請求項２に記載の発明によれば、床に対して固定されたスポット溶接ガンの二つの溶接チップのうち、少なくとも一方の溶接チップに光軸が溶接チップの軸と同軸となるように撮像装置を取り付けるか、少なくとも一方の溶接チップに光軸が溶接チップの軸と同軸となるように撮像装置を取り付ける。そして、撮像装置により、溶接チップによるワークの打点部を撮像する。画像処理手段は、撮像装置により撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップによるワークの打点部の位置情報を取得する。プログラム補正手段は、撮像画像の画像処理により取得した撮像画像中におけるワークの打点部の位置情報に基づいて、教示プログラムにおけるロボットの教示位置を複数の方向に補正する。
【００１９】
ここで、撮像装置は、その光軸が溶接チップの軸と同軸となるように設けられているため、従来のように溶接チップの軸線とカメラの光軸とが一致していないために必要となる作業、すなわち、カメラでワークを認識するためのロボット動作の教示が不要となり、オフラインティーチングにかかる手間を軽減することができる。また、予め撮像装置のキャリブレーションを行う必要がなくなるので、オフラインティーチングにかかる手間を軽減することができるほか、撮像装置のキャリブレーションの精度に起因する誤差の発生を抑制できる。
【００２０】
また、撮像装置は、一方の溶接チップに着脱自在又は一方の溶接チップと交換可能とされているため、撮像装置は溶接チップの近傍又は溶接チップの取付領域を占めるだけとなる。これにより、撮像装置で打点部を撮像する姿勢をとる際に、撮像装置で打点部の撮像に適した姿勢を追求するあまり、ロボットやスポット溶接ガンが、周囲に存在するワークや治具に干渉するおそれを減らすことができる。よって、このような干渉を回避するための方策を取る必要がなく、オフラインティーチングにかかる手間を軽減することができる。
【００２１】
また、プログラム補正手段は、撮像画像中におけるワークの打点部の位置情報に基づいて、教示プログラムにおけるロボットの教示位置を複数の方向に補正する。これにより、従来は、一方向の補正であったのに対して複数の方向に補正することができるので、補正の精度を高めることができる。
【００２２】
請求項３に記載の発明によれば、動作制御手段による教示プログラムに基づいて溶接チップの軸上近傍に打点部が位置するようにロボットを移動させた場合、撮像装置の光軸と溶接チップの軸が同軸上にあることから、撮像装置により撮像された撮像画像における打点部の位置と記憶手段に記憶された撮像画像における予め設定された最適な打点位置は一致するはずである。しかし、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等により一致しないことがある。
【００２３】
このような場合に、プログラム補正手段は、撮像装置により撮像された撮像画像における打点部の位置と撮像画像における予め設定された最適な打点位置との差分に基づいて、ロボットツール座標での溶接チップの軸方向に直交する面方向の差分が所定値以下になるように教示プログラムにおけるロボットの教示位置をロボットツール座標での溶接チップの軸方向に直交する面方向に補正する。
これにより、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等が発生しても、これらの誤差を受け入れたうえでプログラム補正手段によりその誤差を解消するので、補正の精度を高めることができる。
【００２４】
請求項４に記載の発明によれば、動作制御手段による教示プログラムに基づいてワークに対する溶接チップの位置決めを行った場合、ガン開閉軸又はロボットをロボットツール座標での溶接チップの軸方向に定められた距離だけ移動させることで溶接チップはワークに当接するはずである。しかし、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等により一致しないことがある。
【００２５】
このような場合に、プログラム補正手段は、検出手段が溶接チップのワークへの接触を検出したときのロボットツール座標での溶接チップの軸方向におけるロボットの位置に基づいて、教示プログラムにおけるロボットの教示位置をロボットツール座標での溶接チップの軸方向に補正する。
これにより、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等が発生しても、これらの誤差を受け入れたうえでプログラム補正手段によりその誤差を解消するので、オフラインティーチングを的確に行うことができる。
また、請求項３における溶接チップの軸方向に直交する面方向の補正と組み合わせることで、三次元空間における全ての方向への補正を行うことができるので、補正の精度を高めることができる。
【００２６】
請求項５に記載の発明によれば、動作制御手段による教示プログラムに基づいて溶接チップの軸上近傍に打点部が位置するようにロボットを移動させた場合、撮像装置の光軸と溶接チップの軸が同軸上にあることから、撮像装置により撮像された撮像画像における打点部の大きさと打点部サイズ記憶手段に記憶された打点部の大きさは一致するはずである。しかし、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等により溶接チップからワークまでの距離が変わるため、一致しないことがある。
【００２７】
このような場合に、プログラム補正手段は、溶接チップを軸方向に駆動させるガン開閉軸又はロボットをロボットツール座標での溶接チップの軸方向に移動させた場合に、撮像装置により撮像された撮像画像における打点部の大きさと打点部サイズ記憶手段に記憶された打点部の大きさとに基づいて、撮像画像における打点部の大きさが打点部サイズ記憶手段に記憶された打点部の大きさと一致するように教示プログラムにおけるロボットの教示位置をロボットツール座標での溶接チップの軸方向に補正する。
これにより、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等が発生しても、これらの誤差を受け入れたうえでプログラム補正手段によりその誤差を解消するので、補正の精度を高めることができる。
【００２８】
請求項６に記載の発明によれば、無線通信装置を用いて撮像装置と画像処理手段とを無線接続することにより、撮像装置と画像処理手段とを接続する配線やこの配線に伴う作業領域の制約等について考慮する必要がなく、各装置の配置の自由度を高めることができる。
【００２９】
請求項７に記載の発明によれば、第１移動工程において、教示プログラムに基づいて溶接チップの軸上近傍に打点部が位置するようにロボットを移動させた場合、撮像装置の光軸と溶接チップの軸が同軸上にあることから、第１撮像工程において、撮像装置により撮像された撮像画像における打点部の位置と撮像画像における予め設定された最適な打点位置は一致するはずである。しかし、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等により一致しないことがある。
【００３０】
このような場合に、第２移動工程において、ロボットをロボットツール座標での撮像装置の光軸に直交する面上の予め設定された方向に予め設定された距離だけ移動させる。次いで、第２撮像工程において、第２移動工程によりロボットを移動させた後に、撮像装置により打点部を撮像する。次いで、算出工程において、第１撮像工程により撮像された撮像画像における打点部の位置と、第２撮像工程により撮像された撮像画像における打点部の位置と、第２移動工程によりロボットを移動させた方向及び距離と、撮像画像における予め設定された最適な打点位置と、に基づいて、撮像画像における打点部を予め設定された最適な打点位置まで移動させるために必要なロボットの移動方向及び移動距離を算出する。そして、キャリブレーション工程において、算出工程により算出された移動方向及び移動距離に基づいて、ロボットを移動させ、キャリブレーションを行う。
これにより、撮像画像の向きや撮像画像の予め設定された最適な打点位置から打点部までの距離が不明であっても第２移動工程でロボットを移動させることで撮像画像の向きや撮像画像の予め設定された最適な打点位置から打点部までの距離を算出することができるので、的確にキャリブレーションを行うことができ、教示プログラムの補正の精度を高めることができる。
【００３１】
請求項８に記載の発明によれば、第１移動工程において、教示プログラムに基づいて溶接チップの軸上近傍に特定点が位置するようにロボットを移動させた場合、撮像装置の光軸と溶接チップの軸が同軸上にあることから、第１撮像工程において、撮像装置により撮像された撮像画像における特定点の位置と撮像画像における予め設定された最適な打点位置は一致するはずである。しかし、ロボットの据え付け誤差、ロボットやスポット溶接ガンの加工精度、自重によるたわみ等により一致しないことがある。
【００３２】
このような場合に、第２移動工程において、ロボットをロボットツール座標での撮像装置の光軸に直交する面上の予め設定された方向に予め設定された距離だけ移動させる。次いで、第２撮像工程において、第２移動工程によりロボットを移動させた後に、撮像装置により特定点を撮像する。次いで、算出工程において、第１撮像工程により撮像された撮像画像における特定点の位置と、第２撮像工程により撮像された撮像画像における特定点の位置と、第２移動工程によりロボットを移動させた方向及び距離と、撮像画像における予め設定された最適な打点位置と、に基づいて、撮像画像における特定点を予め設定された最適な打点位置まで移動させるために必要なロボットの移動方向及び移動距離を算出する。そして、キャリブレーション工程において、算出工程により算出された移動方向及び移動距離に基づいて、ロボットを移動させ、キャリブレーションを行う。
これにより、撮像画像の向きや撮像画像の予め設定された最適な打点位置から特定点までの距離が不明であっても第２移動工程でロボットを移動させることで撮像画像の向きや撮像画像の予め設定された最適な打点位置から特定点までの距離を算出することができるので、的確にキャリブレーションを行うことができ、教示プログラムの補正の精度を高めることができる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照して、溶接教示位置補正システム及びキャリブレーション方法の最良の実施形態について詳細に説明する。なお、溶接教示位置の補正にあたり、溶接チップの軸方向に直交する方向をＸ方向、溶接チップの軸方向に直交するとともにＸ方向に直交する方向をＹ方向、溶接チップの軸方向に沿った方向をＺ方向とする。
＜溶接教示位置補正システムの構成＞
図１に示すように、溶接教示位置補正システム１は、複数の関節及びアームを有する多軸のロボット２と、このロボット２の先端に設けられたスポット溶接ガン３と、スポット溶接ガンによりスポット溶接がなされるワークＷの打点部を撮像する撮像装置としてのカメラ４と、ロボット２、スポット溶接ガン３、カメラ４等の動作制御を行う制御装置５と、カメラ４で撮像された撮像画像の画像処理を行う画像処理装置６と、を備えている。
【００３４】
（ロボット）
図１に示すように、ロボット２は、例えば、自動車の車体フレームのスポット溶接ラインで用いられる。ロボット２は、土台となるベース２１と、関節２２で連結された複数のアーム２３と、ロボット２を駆動させるサーボモータ（図示略）とを備えている。そして、連結された各アーム２３の先端部には、スポット溶接ガン３が設けられている。
各関節２２は、アーム２３の一端部を揺動可能として他端部を軸支する揺動関節と、アーム２３自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、ロボット２はいわゆる多関節型ロボットに相当する。
【００３５】
（スポット溶接ガン）
図１、図２に示すように、スポット溶接ガン３は、二つの溶接チップ（電極）３１，３２を備えている。一方の溶接チップ３１は、アーム３３とともに固定されている。他方の溶接チップ３２は、サーボモータ（図示略）によりガン開閉軸３５を駆動させ、一方の溶接チップ３１に向かってアーム３３とともに駆動する。溶接チップ３１，３２は、互いに対向するように配置されている。すなわち、サーボモータによりガン開閉軸３５を駆動させ、溶接チップ３１と溶接チップ３２の間隔を狭めていくことにより、ワークＷを溶接チップ３１，３２で挟持することができる。そして、ワークＷを溶接チップ３１，３２で挟んだ状態で各溶接チップ３１，３２に通電することにより、スポット溶接を行うことができる。なお、サーボモータは、制御装置５からの制御信号により駆動制御される。
【００３６】
（カメラ）
図２に示すように、カメラ４は、例えば、小型のＣＣＤカメラが用いられる。カメラ４は、二つの溶接チップ３１，３２のうち、少なくとも一方の溶接チップ３１に対して着脱自在に設けられている。このとき、カメラ４は、その光軸が溶接チップ３１の軸と同軸となるように設けられている。カメラ４は、二つの溶接チップ３１，３２のうち、いずれに設けてもよいが、アーム３３に固定されている溶接チップ３１に設けることが好ましい。これは、溶接チップ３２の移動による光軸のずれの発生確率を減らすためである。
なお、図３に示すように、少なくとも一方の溶接チップ３１をアーム３３から取り外し、その取り外した位置にカメラ４を設けてもよい。言い換えると、溶接チップ３１とカメラ４をアーム３３に対して交換可能に設けてもよい。本実施形態においては、溶接チップ３１とカメラ４を交換した例について説明する。
また、図４に示すように、カメラ４には、画像処理装置６と無線通信により接続して無線通信装置９を構成する通信機９１が設けられている。通信機９１は、カメラ４で撮像した撮像画像データを画像処理装置６で画像処理させるために通信機９２に向けて送信する。
なお、使用されるカメラ４は、ワークＷとカメラ４の距離について誤差が生じた場合にも、確実に打点部を認識するために、焦点範囲が広い（焦点深度範囲が長い）特性をもつものを使用することが望ましい。
【００３７】
（制御装置）
図４に示すように、制御装置５は、ロボット２の動作制御等に関する処理プログラムに従って各処理を実行するＣＰＵ５１と、各処理を実行するための処理プログラムや処理データ等が記憶されるメモリ５２と、を備えている。
メモリ５２には、ロボット２を駆動させる処理プログラム等が記憶されるプログラムエリア５３と、ロボット２の駆動制御に当たって必要なデータが記憶されたデータエリア５４と、種々のワークメモリやカウンタなどが設けられ、各処理が行われる作業エリア５５と、が形成されている。
【００３８】
プログラムエリア５３には、ロボット２及びスポット溶接ガン３に溶接動作を教示して動作制御を行う機能を実現させる教示プログラム５３ａが記憶されている。
プログラムエリア５３には、画像処理装置６から送信されてきた撮像画像の画像処理により取得した撮像画像中におけるワークＷの打点部の位置情報に基づいて、教示プログラム５３ａにおけるロボット２の教示位置を複数の方向に補正する機能を実現させる補正プログラム５３ｂが記憶されている。すなわち、制御装置５は、画像処理装置６から教示プログラム５３ａを補正するための複数の位置成分の補正値を受信してデータエリア５４に記憶させる。そして、補正プログラム５３ｂの実行時にデータエリア５４から補正値を読み取って教示プログラム５３ａを補正する。
プログラムエリア５３には、カメラ４で撮像した撮像画像中におけるロボット２の位置（カメラ座標におけるロボットの位置）と実際のロボット２の位置（ロボットツール座標におけるロボットの位置）とのずれを修正するキャリブレーションプログラム５３ｃが記憶されている。
【００３９】
制御装置５には、ユーザによる操作指示が入力される入力装置７と、カメラ４による撮像画像等のユーザに報知する情報を表示する表示装置８とが設けられている。
なお、入力装置７と表示装置８は、制御装置５の本体に設けられていてもよいし、遠隔操作を実現させるために制御装置５の本体に対して有線又は無線により接続されたペンダントに設けられていてもよい。
【００４０】
（画像処理装置）
図４に示すように、画像処理装置６は、カメラ４で撮像された撮像画像の画像処理プログラムに従って各処理を実行するＣＰＵ６１と、各処理を実行するための処理プログラムや処理データ等が記憶されるメモリ６２と、を備えている。
メモリ６２には、撮像画像の画像処理プログラム等が記憶されるプログラムエリア６３と、画像処理にあたって必要なデータが記憶されたデータエリア６４と、種々のワークメモリやカウンタなどが設けられ、各処理が行われる作業エリア６５と、が形成されている。
【００４１】
プログラムエリア６３には、カメラ４により撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップ３１，３２によるワークの打点部の位置情報を取得する機能を実現させる解析プログラム６３ａが記憶されている。
プログラムエリア６３には、制御装置５で教示プログラム５３ａの補正をするにあたり、Ｘ方向及びＹ方向の位置成分を補正するための補正値を算出するＸＹ補正値算出プログラム６３ｂが記憶されている。
プログラムエリア６３には、制御装置５で教示プログラム５３ａの補正をするにあたり、Ｚ方向の位置成分を補正するための補正値を算出するＺ補正値算出プログラム６３ｃが記憶されている。
【００４２】
データエリア６４には、予め設定された撮像領域での最適な打点位置（例えば、撮像領域の中心位置）が記憶されており、データエリア６４は、記憶手段として機能する。なお、予め設定された撮像領域での最適な打点位置は、画像処理装置６のデータエリア６４に記憶されているものに限らず、制御装置５のデータエリア５４に記憶させておいてもよい。このとき、データエリア５４は記憶手段として機能する。
【００４３】
画像処理装置６には、カメラ４と無線通信により接続して無線通信装置９を構成する通信機９２が設けられている。通信機９２は、カメラ４で撮像した撮像画像データを画像処理装置６で画像処理させるために通信機９１から受信する。
【００４４】
図５は、溶接教示位置補正システム１の機能を示すブロック図である。
溶接教示位置補正システム１は、ロボット２の動作制御を行うロボット制御部１０を有する。このロボット制御部１０の機能は、制御装置５が担う。
ロボット制御部１０は、ＣＰＵ５１が教示プログラム５３ａを実行することにより、ロボット２に動作信号を送信してロボット２及びスポット溶接ガン３等の動作制御を行う動作制御部１１を有する。この動作制御部１１が動作制御手段として機能する。
ロボット制御部１０は、ＣＰＵ５１が補正プログラム５３ｂを実行することにより、画像処理装置６から受信した補正値に基づいて、教示プログラム５３ａの補正を行う補正部１２を有する。この補正部１２がプログラム補正手段として機能する。
ロボット制御部１０は、ＣＰＵ５１がキャリブレーションプログラム５３ｃを実行することにより、カメラ座標におけるロボット２の位置とロボットツール座標におけるロボットの位置とのずれを修正するキャリブレーション部１３を有する。
【００４５】
溶接教示位置補正システム１は、ロボット制御部１０からの制御信号に基づき、動作するロボット動作部１４を有する。このロボット動作部１４の機能は、アーム２３等のロボット２の駆動部分が担う。
溶接教示位置補正システム１は、ロボット動作部１４の動作により駆動してワークＷに対してスポット溶接を行う溶接部１５を有する。この溶接部１５の機能は、二つの溶接チップ３１，３２を備えるスポット溶接ガン３が担う。
溶接教示位置補正システム１は、溶接チップ３１，３２によるワークの打点部を撮像する撮像部１６を有している。この撮像部１６の機能は、カメラ４が担う。
溶接教示位置補正システム１は、溶接チップ３２がワークに接触したことを検出する検出部１７を有している。この検出部１７の機能は、溶接チップ３２に設けられた圧力センサ３４が担う。なお、溶接チップ３２に圧力センサ３４が設けられるのは、教示プログラム５３ａを補正するときだけであり、実際に溶接をする際には通常の溶接チップ３２に交換して作業を行う。すなわち、圧力センサ３４は、Ｚ方向の位置の補正を行うときに用いられる。また、圧力センサ３４にて検出したときの検出信号は通信機９１及び通信機９２を介して無線送信され、画像処理装置６に送られる。
溶接教示位置補正システム１は、撮像部１６又は検出部１７と画像処理部１９とを無線接続する通信部１８を有する。この通信部１８の機能は、無線通信装置９が担う。
【００４６】
溶接教示位置補正システム１は、撮像部１６により撮像された撮像画像の画像処理を行う画像処理部１９を有する。この画像処理部１９の機能は、画像処理装置６が担う。
画像処理部１９は、ＣＰＵ６１が解析プログラム６３ａを実行することにより、撮像部１６で撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップ３１，３２によるワークＷの打点部の位置情報を解析する解析部２０を有する。この解析部２０が画像処理手段として機能する。
画像処理部１９は、ＣＰＵ６１がＸＹ補正値算出プログラム６３ｂを実行することにより、動作制御部１１により教示プログラム５３ａに基づいて溶接チップ３１，３２の軸上近傍に打点部が位置するようにロボット動作部１４を移動させた場合に、カメラ４により撮像された撮像画像における打点部の位置と、予め設定された最適な打点位置の撮像領域での位置（例えば、撮像画像における撮像領域の中心の位置）との差分に基づいて、ロボットツール座標での溶接チップ３１，３２の軸方向に直交する面方向の差分が所定値以下になるように教示プログラム５３ａにおけるロボット２の教示位置をロボットツール座標でのＸ方向、Ｙ方向に補正するＸＹ補正値算出部２１を有する。このＸＹ補正値算出部２１がプログラム補正手段として機能する。ここで、所定値以下とは、理想的には、ロボットツール座標での溶接チップ３１，３２の軸方向に直交する面方向の差分が零になることである。
画像処理部１９は、ＣＰＵ６１がＺ補正値算出プログラム６３ｃを実行することにより、ワークＷへの接触により溶接チップ３２のワークＷへの接触を検出する検出手段としての圧力センサ３４が溶接チップ３２のワークＷへの接触を検出したときのロボットツール座標での溶接チップ３２の軸方向におけるロボット２の位置に基づいて、教示プログラム５３ａにおけるロボット２の教示位置をロボットツール座標での溶接チップ３２の軸方向に補正するＺ方向補正値算出部２２を有する。このＺ補正値算出部２２がプログラム補正手段として機能する。
【００４７】
＜溶接教示位置補正システムによる教示位置の補正処理＞
溶接教示位置補正システムによる教示位置の補正処理について、Ｘ方向及びＹ方向の補正とＺ方向の補正とにわけて説明する。
（Ｘ方向及びＹ方向の補正）
図６に示すように、制御装置５のＣＰＵ５１が教示プログラム５３ａを実行することにより、溶接チップ３２の軸上近傍にワークの打点部が位置するようにロボット２を移動させる（ステップＳ１）。
次いで、ＣＰＵ５１は、カメラ４に撮像指令信号を送り、カメラ４にワークの打点部を撮像させる（ステップＳ２）。
そして、ＣＰＵ５１は、撮像した撮像画像の画像データを、通信機９１を介して通信機９２に無線送信する。撮像画像の画像データを受信した通信機９２は、画像処理装置６に当該画像データを送る（ステップＳ３）。
次いで、画像処理装置６のＣＰＵ６１は、解析プログラム６３ａを実行することにより、画像データの画像処理を行い、撮像画像中におけるワークの打点部の位置情報を解析する。そして、ＣＰＵ６１は、ＸＹ補正値算出プログラム６３ｂを実行することにより、撮像画像中におけるワークの打点部の位置情報と、撮像画像領域の最適な打点位置の位置情報とから、ＸＹ補正値を算出し（ステップＳ４）、制御装置５に送信する。
次いで、ＣＰＵ５１は、補正プログラム５３ｂを実行することにより、算出されたＸＹ補正値に基づいて教示プログラム５３ａを補正し、補正されたプログラムに更新し（ステップＳ５）、これをもって本処理を終了させる。
【００４８】
ここで、Ｘ方向及びＹ方向の補正処理について、具体例を挙げて説明する。
溶接チップ３２の軸上近傍にワークＷの打点部が位置するようにロボット２を移動させ、カメラ４で打点部Ｍを撮像したときの撮像画像が図７に示すようなものであったとする。
このような状態において、ＣＰＵ６１が解析プログラム６３ａを実行することにより、ＣＰＵ６１は、撮像領域Ｒの最適な打点位置座標（０，０）と、打点部Ｍの中心位置座標（ｘ１，ｙ１）を求める。そして、ＣＰＵ６１は、ＸＹ補正値算出プログラム６３ｂを実行することにより、打点部Ｍの中心位置座標が撮像画像中の撮像領域Ｒの最適な打点位置座標（０，０）に来るようにロボット２の教示プログラム５３ａの補正値を算出する。この場合、打点部Ｍの中心位置座標をＸ方向に−ｘ１、Ｙ方向に−ｙ１移動させることで両位置座標が一致するので、この補正値を制御装置５に送信する。すると、制御装置５のＣＰＵ５１は、補正プログラム５３ｂを実行することにより、教示プログラム５３ａ中の位置座標データをＸ方向に−ｘ１だけ加算し、Ｙ方向に−ｙ１だけ加算して、教示プログラム５３ａを補正する。
【００４９】
（Ｚ方向の補正）
図８に示すように、制御装置５のＣＰＵ５１が教示プログラム５３ａを実行することにより、溶接チップ３２がワークに近づくようにロボット２を移動させる（ステップＳ１１）。
次いで、画像処理装置６のＣＰＵ６１は、圧力センサ３４がワークＷとの接触を検出した検出信号を受信したか否かを判断する（ステップＳ１２）。ここで、ＣＰＵ６１が、圧力センサ３４がワークＷとの接触を検出した検出信号を受信したと判断した場合（ステップＳ１２：ＹＥＳ）、ＣＰＵ６１は、圧力センサ３４がワークに接触した時点におけるロボットの位置を抽出する（ステップＳ１３）。
次いで、ＣＰＵ６１は、Ｚ補正値算出プログラム６３ｃを実行することにより、ステップＳ１３で抽出したロボット２の位置座標と教示プログラム５３ａに基づくロボット２の位置座標からＺ補正値を算出し（ステップＳ１４）、制御装置５に送信する。
次いで、制御装置５のＣＰＵ５１は、補正プログラム５３ｂを実行することにより、算出されたＺ補正値に基づいて教示プログラム５３ａを補正し、補正されたプログラムに更新し（ステップＳ１５）、これをもって本処理を終了させる。
【００５０】
ここで、Ｚ方向の補正処理について、具体例を挙げて説明する。
溶接チップ３２がワークに近づくようにロボット２を移動させ、圧力センサ３４がワークに接触したときのロボット２の位置が図９における実線の位置であったとする。
このような状態において、教示プログラム５３ａに基づくロボット２の位置が図９における鎖線の位置であったとすると、ＣＰＵ６１は、Ｚ補正値算出プログラム６３ｃを実行することにより、両位置のＺ方向の差分ｚ１を算出する。この場合、ロボット２をＺ方向に−ｚ１移動させることで両位置座標が一致するので、この補正値を制御装置５に送信する。すると、制御装置５のＣＰＵ５１は、補正プログラム５３ｂを実行することにより、教示プログラム５３ａ中の位置座標データをＺ方向に−ｚ１だけ加算して、教示プログラム５３ａを補正する。
【００５１】
＜ＸＹ補正値算出処理＞
カメラで撮像した撮像画像中における打点部の位置情報と撮像画像領域の最適な打点位置の位置情報とから、ＸＹ補正値を算出する処理について説明する。
カメラ４をアーム３３に取り付けた後、図１０に示すように、ＸＹ補正値算出処理を開始すると、制御装置５のＣＰＵ５１は、教示プログラム５３ａに基づいて溶接チップ３２の軸上近傍に打点部がくるようにロボット２を移動させる（ステップＳ２１：第１移動工程）。
次いで、ＣＰＵ５１は、画像処理装置６に対して撮像要求を行い、カメラ４により打点部を撮像させる（ステップＳ２２：第１撮像工程）。
次いで、ＣＰＵ５１は、ＸＹ平面上においてロボット２をキャリブレーションプログラム５３ｃにおいて予め設定された方向に予め設定された距離だけ移動させる（ステップＳ２３：第２移動工程）。
次いで、ＣＰＵ５１は、画像処理装置６に対して撮像要求を行い、カメラ４により打点部を撮像させる（ステップＳ２４：第２撮像工程）。
次いで、ＣＰＵ５１は、ステップＳ２２において撮像された撮像画像における打点部の位置と、ステップＳ２４において撮像された撮像画像における打点部の位置と、ステップＳ２３においてロボットを移動させた方向及び距離と、予めデータエリア６４に記憶された撮像画像における最適な打点位置、例えば、撮像領域の中心位置と、に基づいて、撮像画像における打点部を撮像領域の中心位置まで移動させるために必要なロボット２の移動方向及び移動距離、すなわち、ＸＹ補正値を算出する（ステップＳ２５：算出工程）。
次いで、ＣＰＵ５１は、ステップＳ２５において算出されたＸＹ補正値に基づいて教示プログラム５３ａを補正する（ステップＳ２６：教示プログラムの補正工程）。
【００５２】
ここで、ＸＹ補正値算出処理について、具体例を挙げて説明する。
溶接チップ３２の軸上近傍にワークＷの打点部が位置するようにロボット２を移動させ、カメラ４で打点部Ｍ１を撮像したときの撮像画像が図１１（ａ）に示すような状態であったとする。このような状態において、ＣＰＵ５１は、キャリブレーションプログラム５３ｃで予め設定された方向及び距離にロボット２を移動させる。ここで、ロボットツール座標上でＸ方向に距離Ｌだけ移動させた場合に、図１１（ｂ）に示すような状態になったとする。
この場合、ロボット２をＸ方向にしか移動させていないことから、打点部Ｍ１と打点部Ｍ２とを直線で結んだ線の方向がロボットツール座標上の移動に相当することがわかる。また、そのＸ方向に直交する方向がＹ方向であることもわかる。今、Ｙ方向はＸ軸を撮像画像上で９０°回転させた方向とする。
さらに、打点部Ｍ１のＸＹ位置座標が（ｘ１，ｙ１）、打点部Ｍ２のＸＹ位置座標が（ｘ２，ｙ２）とすると、カメラ座標上におけるロボットツール座標のＸ方向及びＹ方向のベクトルは、それぞれ、
【数１】
2007122705.tif 000003
となる。
この式に基づき、例えば、最適な打点位置を撮像領域Ｒの中心座標（０，０）とすると、ロボット２のＸ補正量Ｌｘ及びＹ補正量Ｌｙは、以下の各式で算出することができる。
【数２】
2007122705.tif 000004
【数３】
2007122705.tif 000005
そして、ＣＰＵ５１は、これらの式に基づいて算出された補正量Ｌｘ，Ｌｙに基づいて、教示プログラム５３ａを補正する。
【００５３】
＜作用効果＞
上記実施形態によれば、ロボット２の先端に設けられたスポット溶接ガン３の二つの溶接チップ３１，３２のうち、一方の溶接チップ３１に替えて光軸が溶接チップ３２の軸と同軸となるようにカメラ４を取り付ける。そして、カメラ４により、溶接チップ３２によるワークの打点部を撮像する。画像処理装置６は、カメラ４により撮像された撮像画像の画像処理を行って、撮像画像中における溶接チップ３２によるワークの打点部の位置情報を取得する。そして、制御装置５は、撮像画像の画像処理により取得した撮像画像中におけるワークの打点部の位置情報に基づいて、教示プログラム５３ａにおけるロボット２の教示位置を複数の方向に補正する。
【００５４】
ここで、カメラ４は、その光軸が溶接チップ３２の軸と同軸となるように設けられているため、従来のように溶接チップ３２の軸線とカメラ４の光軸とが一致していないために必要となる作業、すなわち、カメラ４でワークを認識するためのロボット動作の教示が不要となり、オフラインティーチングにかかる手間を軽減することができる。また、予めカメラ４のキャリブレーションを行う必要がなくなるので、オフラインティーチングにかかる手間を軽減することができるほか、カメラ４のキャリブレーションの精度に起因する誤差の発生を抑制できる。
【００５５】
また、カメラ４は、一方の溶接チップ３１と交換可能とされているため、カメラ４は溶接チップ３１の取付領域を占めるだけとなる。これにより、カメラ４で打点部を撮像する姿勢をとる際に、カメラ４で打点部の撮像に適した姿勢を追求するあまり、ロボット２やスポット溶接ガン３が、周囲に存在するワークや治具に干渉するおそれを減らすことができる。よって、このような干渉を回避するための方策を取る必要がなく、オフラインティーチングにかかる手間を軽減することができる。
また、これまで作業者によって行っていた確認作業を自動化できるため、労務費を圧縮し、設備準備コストを引き下げることができる。
また、作業者による作業品質のばらつきをなくし、安定した精度の教示プログラム５３ａの作成が可能となる。
さらに、多くのロボットを使う溶接ラインの場合は、複数のロボットのプログラム確認・修正作業を同時に行えるため、作業が短時間で済み、設備立ち上げ準備期間を短縮することができる。
【００５６】
また、制御装置５は、カメラ４により撮像された撮像画像における打点部の位置と撮像画像における予め設定された最適な打点位置（例えば、撮像領域の中心の位置）との差分に基づいて、ロボットツール座標でのＸＹ平面方向の差分が所定値以下（例えば、差分が零）になるように教示プログラム５３ａにおけるロボット２の教示位置をロボットツール座標でのＸＹ平面方向に補正する。
また、制御装置５は、圧力センサ３４が溶接チップ３２のワークへの接触を検出したときのロボットツール座標でのＺ方向におけるロボット２の位置に基づいて、教示プログラム５３ａにおけるロボット２の教示位置をロボットツール座標でのＺ方向に補正する。
これにより、ロボット２の据え付け誤差、ロボット２やスポット溶接ガン３の加工精度、自重によるたわみ等が発生しても、これらの誤差を受け入れたうえで補正プログラム５３ｂによりその誤差を解消するので、補正の精度を高めることができる。
また、三次元空間における全ての方向（ＸＹＺ方向）への補正を行うことができるので、補正の精度を高めることができる。
【００５７】
また、無線通信装置９を用いてカメラ４と画像処理装置６とを無線接続することにより、カメラ４と画像処理装置６とを接続する配線やこの配線に伴う作業領域の制約等について考慮する必要がなく、各装置の配置の自由度を高めることができる。
【００５８】
また、教示プログラム５３ａに基づいて溶接チップ３２の軸上近傍に打点部が位置するようにロボット２を移動させた場合、カメラ４の光軸と溶接チップ３２の軸が同軸上にあることから、カメラ４により撮像された撮像画像における打点部Ｍ１の位置と撮像画像における予め設定された最適な打点位置は一致するはずである。しかし、ロボット２の据え付け誤差、ロボット２やスポット溶接ガン３の加工精度、自重によるたわみ等により一致しないことがある。
【００５９】
このような場合に、ロボット２をロボットツール座標でのＸＹ平面上の予め設定された方向に予め設定された距離だけ移動させる。次いで、ロボット２を移動させた後に、カメラ４により打点部Ｍ２を撮像する。次いで、撮像された両打点部Ｍ１，Ｍ２の位置と、ロボット２を移動させた方向及び距離と、撮像画像における撮像領域Ｒの最適な打点位置と、に基づいて、撮像画像における打点部Ｍ２を撮像領域Ｒの最適な打点位置まで移動させるために必要なロボット２の移動方向及び移動距離を算出する。そして、算出された移動方向及び移動距離に基づいて、ロボット２の教示プログラム５３ａを補正する。
これにより、撮像画像の向きや撮像画像の撮像領域Ｒの最適な打点位置から打点部Ｍ１までの距離が不明であってもロボット２を移動させることで撮像画像の向きや撮像画像の撮像領域Ｒの最適な打点位置から打点部Ｍ２までの距離を算出することができるので、的確に補正を行うことができ、補正の精度を高めることができる。
【００６０】
＜その他＞
なお、本発明は上記実施形態に限られるものではない。例えば、算出した補正値により教示プログラム５３ａの補正を行う場合において、算出した補正値を加算した位置にロボット２を移動させ、再度、誤差を計測して、所定の精度範囲内であることを確認し、範囲外であるときは、所定の精度範囲内になるまで、計測と補正を繰り返してもよい。
また、制御装置５のデータエリア５４（打点部サイズ記憶手段）に打点部の大きさを記憶させておき、ガン開閉軸３５又はロボット２をロボットツール座標でのＺ方向に移動させた場合に、撮像画像における打点部の大きさとデータエリア５４に記憶された打点部の大きさとの差分や比率に基づいて、撮像画像における打点部の大きさとデータエリア５４に記憶された打点部の大きさとの差が所定値以下（例えば、一致するように）教示プログラム５３ａにおけるロボット２の教示位置をＺ方向に補正するようにしてもよい。
これにより、ロボット２の据え付け誤差、ロボット２やスポット溶接ガン３の加工精度、自重によるたわみ等が発生しても、これらの誤差を受け入れたうえで誤差を補正するので、補正の精度を高めることができる。
【００６１】
また、教示プログラム５３ａの補正量を求める際においては、溶接チップ３２によるワークへの打点部を基準とし、その位置ずれを求めて必要なロボット２の移動量を算出していたが、打点部から所定の距離に位置する特定点を基準として教示プログラム５３ａの補正を行ってもよい。なお、打点部からの距離は任意に設定することができ、すなわち、特定点は、ワークのどの位置でもよいということになる。要は、ワーク上のどこかの位置を基準として教示プログラム５３ａの補正を行ってもよい。
また、ロボットによる溶接方法についても、スポット溶接ガン３を床に対して固定し、そのスポット溶接ガン３に向けて、先端にワークを把持する把持装置が設けられたロボットを移動させるようにしてもよい。
また、プログラムエリア５３に記憶されたプログラムはより細分化されたプログラムとしてもよいし、全てのプログラムを一体に構成してもよい。
また、教示プログラム５３ａの補正に関する処理をソフトウェアで行ったが、ハードウェアで処理するように構成してもよい。
また、溶接ガンとして、Ｃ型のスポット溶接ガンを用いたが、Ｘ型のスポット溶接ガンを用いてもよい。
【００６２】
また、溶接チップ３２がワークに接触したことを検出する方法は、圧力センサ３４に限らず、例えば、溶接チップ３２に微弱電流を通電しておき、溶接チップ３２がワークに接触したときの電流値又は電圧値の変化を検知することにより溶接チップ３２がワークに接触したことを検出する方法であってもよい。
また、上記実施形態においては、カメラ４と画像処理装置６とは、それぞれ別個に構成されているが、画像処理機能を備えるカメラを用いれば、カメラ４で撮像画像の処理を行ってその画像データを制御装置５に無線送信することができる。
また、制御装置５と画像処理装置６とは、それぞれ別個に構成されているが、制御装置５が画像処理機能を備えていれば、カメラ４で撮像した画像を制御装置５に無線送信することにより、制御装置５で画像処理を行ってそのデータに基づいてロボット２を制御することができる。これらの構成は作業者、設計者の要望により自由に変更可能である。
その他、発明の本質を逸脱しない範囲内で自由に設計変更が可能である。
【図面の簡単な説明】
【００６３】
【図１】溶接教示位置補正システムの概略構成図。
【図２】スポット溶接ガンの正面図。
【図３】スポット溶接ガンの正面図。
【図４】溶接教示位置補正システムの構成を示すブロック図。
【図５】溶接教示位置補正システムの機能を示すブロック図。
【図６】教示プログラムにより決定される教示位置のＸＹ方向の補正処理を示すフローチャート。
【図７】教示プログラムにより決定される教示位置のＸＹ方向の補正方法の説明図。
【図８】教示プログラムにより決定される教示位置のＺ方向の補正処理を示すフローチャート。
【図９】教示プログラムにより決定される教示位置のＺ方向の補正方法の説明図。
【図１０】ＸＹ補正値算出処理を示すフローチャート。
【図１１】ＸＹ補正値算出処理の説明図。
【符号の説明】
【００６４】
１  溶接教示位置補正システム
２  ロボット
３  スポット溶接ガン
４  カメラ（撮像装置）
９  無線通信装置
１１  動作制御部（動作制御手段）
１２  補正部（プログラム補正手段）
２０  解析部（画像処理手段）
２１  ＸＹ補正値算出部（プログラム補正手段）
２２  Ｚ補正値算出部（プログラム補正手段）
３１  溶接チップ
３２  溶接チップ
３４  圧力センサ（検出手段）
５３ａ  教示プログラム
５４  データエリア（打点部サイズ記憶手段）
９１  通信機
９２  通信機
Ｗ  ワーク
【図１】
2007122705.tif 000006
【図２】
2007122705.tif 000007
【図３】
2007122705.tif 000008
【図４】
2007122705.tif 000009
【図５】
2007122705.tif 000010
【図６】
2007122705.tif 000011
【図７】
2007122705.tif 000012
【図８】
2007122705.tif 000013
【図９】
2007122705.tif 000014
【図１０】
2007122705.tif 000015
【図１１】
2007122705.tif 000016