(57)【特許請求の範囲】
【請求項１】
目標点にロボットの代表点を位置合わせするための教示点を作成するロボット教示点作成方法であって、
基準点にロボットの代表点が位置する第１の姿勢にロボットを制御する工程（１）と、
基準点と第１の姿勢のロボットの代表点との間の誤差を計測する工程（２）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する工程（３）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する工程（４）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する工程（５）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する工程（６）とを含み、
工程（５）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する工程（５−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する工程（５−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する工程（５−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する工程（５−４）と、を含む、ロボット教示点作成方法。
【請求項２】
目標点にロボットの代表点を位置合わせするための教示点を作成するロボット教示点作成方法であって、
基準点にロボットの代表点が位置合わせされる第１の姿勢にロボットを手動操作する工程（１）と、
第１の姿勢に基づいてロボットの代表点の位置を算出する工程（２）と、
ロボットの代表点の位置と基準点の位置との間の誤差を算出する工程（３）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する工程（４）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する工程（５）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する工程（６）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する工程（７）とを含み、
工程（６）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する工程（６−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する工程（６−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する工程（６−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する工程（６−４）と、を含む、ロボット教示点作成方法。
【請求項３】
目標点がワークの表面上に存在し、
目標点の位置からロボット側且つワーク表面垂直方向に第１の距離離れた第２の目標点が存在し、
仮の目標点の位置からロボット側且つワーク表面垂直方向に第１の距離離れた位置を、
仮の第２の目標点と設定する工程と、
仮の第２の目標点にロボットの代表点が位置する第３の姿勢を算出する工程と、
第３の姿勢のロボットに生じる第３の変動誤差成分を算出する工程と、
仮の第２の目標点の位置および第３の変動誤差成分に基づいて、第２の目標点にロボットの代表点を位置合わせするための第２の教示点を算出する工程とを含む、請求項１または２に記載のロボット教示点作成方法。
【請求項４】
ロボットの代表点が穴あけ工具の先端であって、
目標点の位置から反ロボット側且つワーク表面垂直方向に第２の距離離れた第３の目標点が存在し、
仮の目標点の位置から反ロボット側且つワーク表面垂直方向に第２の距離離れた位置を、仮の第３の目標点と設定する工程と、
仮の第３の目標点にロボットの代表点が位置する第４の姿勢を算出する工程と、
第４の姿勢のロボットに生じる第４の変動誤差成分を算出する工程と、
仮の第３の目標点の位置および第４の変動誤差成分に基づいて、第３の目標点にロボットの代表点を位置合わせするための第３の教示点を算出する工程とを含む、請求項３に記載のロボット教示点作成方法。
【請求項５】
目標点にロボットの代表点を位置合わせするための教示点を作成するロボットシステムであって、
基準点と目標点とが定義されたワークと、
基準点とロボットの先端との間の距離を計測するための計測装置と、
ロボットを制御する制御装置を有し、
制御装置が、
基準点の位置を取得する動作（１）と、
基準点にロボットの代表点が位置する第１の姿勢にロボットを制御する動作（２）と、
計測装置を介して基準点と第１の姿勢のロボットの代表点との間の誤差を計測する動作（３）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する動作（４）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する動作（５）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する動作（６）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する動作（７）とを実行し、
動作（６）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する動作（６−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する動作（６−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する動作（６−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する動作（６−４）と、を含む、ロボットシステム。
【請求項６】
目標点にロボットの代表点を位置合わせするための教示点を作成するロボットシステムであって、
基準点と目標点とが定義されたワークと、
ロボットを手動操作するための手動操作装置と、
ロボットを制御する制御装置を有し、
制御装置が、
手動操作装置を介して基準点にロボットの代表点が位置合わせされる第１の姿勢にロボットが手動操作されると、
第１の姿勢に基づいてロボットの代表点の位置を算出する動作（１）と、
基準点の位置を取得する動作と（２）、
ロボットの代表点の位置と基準点の位置との間の誤差を算出する動作（３）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する動作（４）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する動作（５）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する動作（６）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する動作（７）とを実行し、
動作（６）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する動作（６−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する動作（６−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する動作（６−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する動作（６−４）と、を含む、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの教示点を作成する方法およびシステムに関する。
【背景技術】
【０００２】
従来より、加工装置に対して位置決めされたワークを該加工装置によって加工することが行われている。加工装置によってワークを高精度に加工するために、ワークと加工装置との位置関係が計測され、その計測結果に基づいてワークまたは加工装置のいずれか一方に対する他方の相対位置を補正することが行われている。
【０００３】
例えば、特許文献１に記載する加工システムは、ワークの複数のねじ穴にねじを締め付ける加工システムであって、レーザ測距儀を用いてワークまでの距離を測定し、その測定結果に基づいて、加工システムが記憶するねじ穴位置座標を補正する。そして、補正されたねじ穴の座標に基づいて締め付けツールがねじ穴にねじを締め付ける。ねじ穴がどのような位置にあっても締め付けができるように、締め付けツールは、多関節アーム（多関節ロボット）の先端に取り付けられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５８３３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載する加工システムの場合、多関節ロボットの先端に締め付けツールが取り付けられているために、ワークの複数のねじ穴それぞれについて、締め付け精度が異なる。
【０００６】
具体的に説明すると、ロボットの先端（締め付けツールの先端）を目標点（ねじ穴の正面位置）に位置合わせするために、その目標点を教示点として教示してロボットを動作させても、ロボットの動力伝達機構に含まれる歯車のガタ、関節を駆動するモータの軸のねじれ、リンクのたわみやねじれなどを原因としてロボットに生じるたわみにより、実際の先端は目標点からずれる、すなわち誤差が生じる。また、その誤差は、ロボットの姿勢によって異なる。
【０００７】
したがって、姿勢によって異なるロボットに生じるたわみを原因として、ワークの複数のねじ穴それぞれについて、ロボットの先端の目標点への位置合わせ精度が異なる。その結果、ねじ穴それぞれについて、締め付け精度が異なる。
【０００８】
この対処として、ワークの複数のねじ穴それぞれについて、ロボットの先端と目標点との間の誤差を計測し、その計測した誤差を考慮してロボットの先端が目標点に高精度に位置合わせされる教示点を作成することが考えられる。しかしながら、複数の目標点それぞれについて誤差の計測を実行しなければならず、それには時間がかかる。
【０００９】
そこで、本発明は、複数の目標点それぞれにロボットの先端を高精度に位置合わせするための複数の教示点を短時間で作成することを課題とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明の第１の態様によれば、
目標点にロボットの代表点を位置合わせするための教示点を作成するロボット教示点作成方法であって、
基準点にロボットの代表点が位置する第１の姿勢にロボットを制御する工程（１）と、
基準点と第１の姿勢のロボットの代表点との間の誤差を計測する工程（２）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する工程（３）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する工程（４）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する工程（５）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する工程（６）とを含み、
工程（５）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する工程（５−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する工程（５−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する工程（５−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する工程（５−４）と、を含む、ロボット教示点作成方法が提供される。
【００１２】
本発明の第２の態様によれば、
目標点にロボットの代表点を位置合わせするための教示点を作成するロボット教示点作成方法であって、
基準点にロボットの代表点が位置合わせされる第１の姿勢にロボットを手動操作する工程（１）と、
第１の姿勢に基づいてロボットの代表点の位置を算出する工程（２）と、
ロボットの代表点の位置と基準点の位置との間の誤差を算出する工程（３）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する工程（４）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する工程（５）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する工程（６）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する工程（７）とを含み、
工程（６）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する工程（６−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する工程（６−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する工程（６−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する工程（６−４）と、を含む、ロボット教示点作成方法が提供される。
【００１４】
本発明の第３の態様によれば、
目標点がワークの表面上に存在し、
目標点の位置からロボット側且つワーク表面垂直方向に第１の距離離れた第２の目標点が存在し、
仮の目標点の位置からロボット側且つワーク表面垂直方向に第１の距離離れた位置を、仮の第２の目標点と設定する工程と、
仮の第２の目標点にロボットの代表点が位置する第３の姿勢を算出する工程と、
第３の姿勢のロボットに生じる第３の変動誤差成分を算出する工程と、
仮の第２の目標点の位置および第３の変動誤差成分に基づいて、第２の目標点にロボットの代表点を位置合わせするための第２の教示点を算出する工程とを含む、第１または第２の態様に記載のロボット教示点作成方法が提供される。
【００１５】
本発明の第４の態様によれば、
ロボットの代表点が穴あけ工具の先端であって、
目標点の位置から反ロボット側且つワーク表面垂直方向に第２の距離離れた第３の目標点が存在し、
仮の目標点の位置から反ロボット側且つワーク表面垂直方向に第２の距離離れた位置を、仮の第３の目標点と設定する工程と、
仮の第３の目標点にロボットの代表点が位置する第４の姿勢を算出する工程と、
第４の姿勢のロボットに生じる第４の変動誤差成分を算出する工程と、
仮の第３の目標点の位置および第４の変動誤差成分に基づいて、第３の目標点にロボットの代表点を位置合わせするための第３の教示点を算出する工程とを含む、第３の態様に記載のロボット教示点作成方法が提供される。
【００１６】
本発明の第５の態様によれば、
目標点にロボットの代表点を位置合わせするための教示点を作成するロボットシステムであって、
基準点と目標点とが定義されたワークと、
基準点とロボットの先端との間の距離を計測するための計測装置と、
ロボットを制御する制御装置を有し、
制御装置が、
基準点の位置を取得する動作（１）と、
基準点にロボットの代表点が位置する第１の姿勢にロボットを制御する動作（２）と、
計測装置を介して基準点と第１の姿勢のロボットの代表点との間の誤差を計測する動作（３）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する動作（４）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する動作（５）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する動作（６）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する動作（７）とを実行し、
動作（６）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する動作（６−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する動作（６−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する動作（６−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する動作（６−４）と、を含む、ロボットシステムが提供される。
【００１８】
本発明の第６の態様によれば、
目標点にロボットの代表点を位置合わせするための教示点を作成するロボットシステムであって、
基準点と目標点とが定義されたワークと、
ロボットを手動操作するための手動操作装置と、
ロボットを制御する制御装置を有し、
制御装置が、
手動操作装置を介して基準点にロボットの代表点が位置合わせされる第１の姿勢にロボットが手動操作されると、
第１の姿勢に基づいてロボットの代表点の位置を算出する動作（１）と、
基準点の位置を取得する動作と（２）、
ロボットの代表点の位置と基準点の位置との間の誤差を算出する動作（３）と、
ロボットの姿勢によって変動する変動誤差成分であって、第１の姿勢のロボットに生じる第１の変動誤差成分を算出する動作（４）と、
誤差および第１の変動誤差成分に基づいて、姿勢によって変動しない固定誤差成分を算出する動作（５）と、
目標点にロボットの代表点が位置する第２の姿勢のロボットに生じる第２の変動誤差成分を算出する動作（６）と、
固定誤差成分および第２の変動誤差成分に基づいて、目標点にロボットの代表点を位置合わせするための教示点を算出する動作（７）とを実行し、
動作（６）が、
固定誤差成分および基準点に基づいて、固定誤差成分が補償された基準点として仮の基準点を設定する動作（６−１）と、
仮の目標点を、仮の基準点との間で、基準点と目標点との間の位置関係と同一の位置関係を実現できる位置に設定する動作（６−２）と、
仮の目標点にロボットの代表点が位置する第２の姿勢を算出する動作（６−３）と、
第２の姿勢のロボットに生じる、第２の変動誤差成分を算出する動作（６−４）と、を含む、ロボットシステムが提供される。
【発明の効果】
【００２０】
本発明によれば、基準点とロボットの先端との間の誤差を計測するだけで、後は計算のみで目標点にロボットの代表点を高精度に位置合わせするための教示点を作成することができる。したがって、複数の目標点にロボットの先端を高精度に位置合わせするための複数の教示点を短時間で作成することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施の形態に係るロボットシステムの構成を概略的に示す図
【図２】ワークに定義された基準点および目標点を説明するための図
【図３】目標点にロボットの先端を高精度に位置合わせするための、本発明に係る教示点作成方法を概念的に説明するための図
【図４】図３に説明する概念的な教示点作成方法のフローを示す図
【図５Ａ】ロボットシステムの固定誤差成分を算出する方法のフローを示す図
【図５Ｂ】教示点を作成する方法のフローを示す図
【図６Ａ】ロボットシステムの固定誤差成分の算出について説明するための図
【図６Ｂ】仮の目標点の設定について説明するための図
【図６Ｃ】教示点の作成について説明するための図
【図６Ｄ】別の教示点の作成について説明するための図
【図７】別のロボットシステムの固定誤差成分を算出する方法のフローを示す図
【発明を実施するための形態】
【００２２】
図１は、本発明の一実施の形態に係るロボットシステムの構成を概略的に示している。図１に示すロボットシステム１０は、ワークＷの複数箇所に複数の穴を形成するものである。
【００２３】
ロボットシステム１０は、多関節型のロボット１２と、ロボット１２を制御するコントローラ１４と、ワークＷを固定する治具１６と、ワークＷに複数の穴を形成する穴あけ装置１８と、ビジョンセンサ２０とを有する。
【００２４】
ロボット１２は、多関節型のロボットであって、複数の関節１２ａ〜１２ｆと、フランジ１２ｇとを備える。フランジ１２ｇには、穴あけ装置１８とビジョンセンサ２０とが取り付けられている。
【００２５】
コントローラ１４は、ロボット１２を制御する装置であって、作業者によって教示された教示点に基づいてロボット１２の複数の関節１２ａ〜１２ｆそれぞれの関節角度を制御することにより、ロボット１２の先端の位置を変更するように構成されている。なお、本実施の形態のコントローラ１４は、後述するが、自動で教示点を作成する機能を備えている。
【００２６】
治具１６は、ロボット１２に対して位置決めされた状態で設置されている。また、治具１６は、ワークＷをロボット１２に対して位置決めして保持するように構成されている。具体的には、ワークＷの表面Ｗａには２つの基準点ＰＲ１，ＰＲ２が定義されており、その２つの基準点ＰＲ１，ＰＲ２にロボット１２がアクセスできるように、治具１６はワークＷを位置決め保持する。
【００２７】
なお、２つの基準点ＰＲ１，ＰＲ２は、ビジョンセンサ２０の撮像画像から特定できる点、例えば図２に示すように開口の中心などによって定義されている。
【００２８】
穴あけ装置１８は、ワークＷに穴を形成するものであって、穴あけツールとして、例えばドリル１８ａを備える。本実施の形態においては、ドリル１８ａの先端が、ロボット１２の先端Ｔとして定義されている。
【００２９】
ビジョンセンサ２０は、ロボット１２の先端Ｔおよびその周囲を撮像するためのものであって、コントローラ１４からの指示に基づいて撮像し、その撮像画像データをコントローラ１４に送信するように構成されている。
【００３０】
ここからは、本発明に係る、コントローラ１４の自動で教示点を作成する機能について説明する。
【００３１】
コントローラ１４の自動で教示点を作成する機能について説明する前に、まず、本発明の概念を、図３を参照しながら説明する。
【００３２】
図３に示すように、目標点ＰＧを教示点と設定し、その目標点ＰＧにロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ）にロボットを制御した場合、実際には、先端Ｔが完全に目標点ＰＧに一致せず、先端Ｔと目標点ＰＧとの間に誤差ΔＥＧが生じる。したがって、目標点ＰＧに先端Ｔを位置合わせするためには、目標点ＰＧから−ΔＥＧずれた位置を教示点ＰＴとすればよい。
【００３３】
そのためには、誤差ΔＥＧを計測する必要がある。しかしながら、目標点ＰＧが複数存在する場合、従来のように、各目標点ＰＧを教示点として教示してロボットを動作させ、各目標点ＰＧに対する誤差ΔＥＧを計測すると、当然ながら手間がかかる。その結果、複数の目標点ＰＧに先端Ｔを位置合わせできる複数の教示点ＰＴを求めるのに時間がかかる。
【００３４】
そこで、複数の目標点ＰＧに先端Ｔが位置合わせできる複数の教示点ＰＴを求める時間を短縮するために、発明者は、図３に示すように、姿勢Ｆ（ＰＧ）のロボットに生じる誤差ΔＥＧが、ロボットの姿勢によって変動する誤差成分ΔＥ（Ｆ（ＰＧ））（以下、「変動誤差成分Δ（Ｆ（ＰＧ））」と称する）と、ロボットの姿勢によって変動しない誤差成分ΔＥＳ（以下、「固定誤差成分ΔＥｓ」と称する）からなることに着目した。
【００３５】
ここで言う、変動誤差成分ΔＥ（Ｆ（ＰＧ））は、例えば、リンクのたわみやねじれ、ロボットの動力伝達機構に含まれる歯車のガタ、関節を駆動するモータの軸のねじれなどを原因としてロボットに生じるたわみによる目標点ＰＧとロボットの先端Ｔとの間の誤差であって、姿勢によって変動する（異なる）誤差を言う。変動誤差成分ΔＥ（Ｆ（ＰＧ））は、目標点ＰＧからロボットの先端Ｔが変位した量と、その変位方向に対応する。
【００３６】
この変動誤差成分ΔＥ（Ｆ（ＰＧ））は、目標点ＰＧを教示点と設定し、目標点ＰＧにロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ）を、姿勢Ｆ（ＰＧ）のロボットに生じるたわみを考慮せずに、ロボットのリンク長と複数の関節それぞれの関節角度とを用いて幾何学的に算出するために生じる。姿勢Ｆ（ＰＧ）によってロボット先端におけるたわみ量やたわみ方向が異なるため、姿勢Ｆ（ＰＧ）によって変動誤差成分ΔＥ（Ｆ（ＰＧ））も異なる。
【００３７】
また、ここで言う、固定誤差成分ΔＥＳは、ロボットの姿勢によって変動しない、すなわちどのような教示点であっても生じる一定の誤差を言う。
【００３８】
例えば、固定誤差成分ΔＥＳは、目標点ＰＧがワーク上の点である場合、ロボットに対するワークの配置誤差によって生じる。本実施の形態の場合、ロボット１２の据え付け誤差、治具１６の据え付け誤差、ワークＷの治具１６への取り付け誤差などによって生じる。
【００３９】
このような変動誤差成分と固定誤差成分とを利用した、目標点ＰＧに先端Ｔを高精度に位置合わせするための教示点ＰＴの作成方法およびその流れについて図４に示すフローを参照しながら説明する。
【００４０】
図４に示すように、ステップＳ１００において、図３に示すように、目標点ＰＧに対する位置関係が既知の基準点ＰＲにロボットの先端Ｔが位置する姿勢Ｆ（ＰＲ）にロボットを制御する。なお、ここでは、基準点ＰＲの位置がロボットに対する位置で与えられ、一方、目標点ＰＧの位置がロボットではなく基準点ＰＲに対する位置で与えられる場合を例に挙げる。
【００４１】
次に、ステップＳ１１０において、図３に示すように、基準点ＰＲとロボットの実際の先端Ｔとの間の誤差ΔＥＲを計測する。
【００４２】
続いて、ステップＳ１２０において、姿勢Ｆ（ＰＲ）のときのロボットに生じる変動誤差成分ΔＥ（Ｆ（ＰＲ））を算出する。変動誤差成分ΔＥ（Ｆ（ＰＲ））は、姿勢Ｆ（ＰＲ）のときの複数の関節それぞれの関節角度、複数のリンクそれぞれの長さ、ロボットの複数の構成要素それぞれの重量、関節を駆動するモータ軸のねじれ剛性、リンクそれぞれに生じるたわみやねじれなどから算出することができる。なお、姿勢Ｆ（ＰＲ）に対応する変動誤差成分ΔＥ（Ｆ（ＰＲ））を予め実測してデータとして記憶しておいてもよい。
【００４３】
そして、ステップＳ１３０において、ステップＳ１１０で計測された誤差ΔＥＲと、ステップＳ１２０で算出された変動誤差成分ΔＥ（Ｆ（ＰＲ））とに基づいて、具体的には、誤差ΔＥＲから変動誤差成分ΔＥ（Ｆ（ＰＲ）を減算して、固定誤差成分ΔＥＳを算出する。
【００４４】
ステップＳ１３０で固定誤差成分ΔＥＳが算出されると、ステップＳ１４０において、図３に示すように、基準点ＰＲから−ΔＥＳずれた位置に仮の基準点ＰＲ’を設定する。すなわち、固定誤差成分ΔＥＳが補償された基準点ＰＲとして仮の基準点ＰＲ’が設定される。
【００４５】
次に、ステップＳ１５０において、仮の目標点ＰＧ’を、仮の基準点ＰＲ’との間で、基準点ＰＧと目標点ＰＲとの間の位置関係と同一の位置関係を実現できる位置に設定する。その結果、仮の目標点ＰＧ’は、目標点ＰＧから−ΔＥＳずれた位置に設定される（固定誤差成分ΔＥＳが補償された目標点ＰＧとして仮の目標点ＰＧ’が設定される）。
【００４６】
続いて、ステップＳ１６０において、仮の目標点ＰＧ’にロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ’）を算出する。補足すると、目標点ＰＧにロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ）は、目標点ＰＧの位置がロボットに対する位置で与えられていないために算出することができない。そのために、仮の目標点ＰＧ’にロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ’）を、目標点ＰＧにロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ）の代わりとして算出している。なお、仮の目標点ＰＧ’（仮の目標点ＰＧ’になりうる点）にロボットの先端Ｔが位置する姿勢Ｆ（ＰＧ’）を予め求めて記憶装置（図示せず）に記憶し、仮の目標点ＰＧ’に対応する姿勢Ｆ（ＰＧ’）を記憶装置から取得するようにしてもよい。
【００４７】
ステップＳ１７０において、図３に示すように、姿勢Ｆ（ＰＧ’）のロボットに生じる、先端Ｔにおける変動誤差成分ΔＥ（Ｆ（ＰＧ’））を算出する。ステップＳ１２０で変動誤差成分ΔＥ（Ｆ（ＰＲ））を算出した方法と同様の方法によって算出する。
【００４８】
次に、ステップＳ１８０において、図３に示すように、ステップＳ１４０で設定された仮の目標点ＰＧ’の位置と、ステップＳ１６０で算出された変動誤差成分ΔＥ（Ｆ（ＰＧ’））とに基づいて、具体的には、仮の目標点ＰＧ’から−ΔＥ（Ｆ（ＰＧ’））ずれた位置に、目標点ＰＧにロボットの先端Ｔが高精度に位置合わせされる教示点ＰＴが作成される。
【００４９】
この教示点ＰＴに位置する姿勢Ｆ（ＰＴ）にロボットを制御すると、ロボットの先端Ｔは、教示点ＰＴから変動誤差成分ΔＥ（Ｆ（ＰＧ’））だけずれ、さらに固定誤差成分ΔＥＳだけずれ、そして、目標点ＰＧに高精度に位置合わせされる。
【００５０】
このような教示点作成方法によれば、基準点ＰＲと姿勢Ｆ（ＰＲ）のロボットの先端Ｔとの間の誤差ΔＥＲを計測するだけで、後は計算のみで目標点ＰＧにロボットの先端Ｔを高精度に位置合わせするための教示点ＰＴを作成することができる。したがって、複数の目標点ＰＧにロボットの先端Ｔを高精度に位置合わせするための複数の教示点ＰＴを短時間で作成することができる。
【００５１】
また、このような教示点作成方法によれば、目標点ＰＧの位置がロボットに対する位置でなくても、基準点ＰＲと目標点ＰＧとの位置関係が既知であれば、目標点ＰＧにロボットの先端Ｔを高精度に位置合わせするための教示点ＰＴを作成することができる。
【００５２】
ここで補足すると、図３に示す変動誤差成分ΔＥ（Ｆ（ＰＧ）），ΔＥ（Ｆ（ＰＧ’））は、姿勢Ｆ（ＰＧ），Ｆ（ＰＧ’）が異なる姿勢であるため、厳密に言えば、同一ではない。しかしながら、変動誤差成分ΔＥ（Ｆ（ＰＧ））とΔＥ（Ｆ（ＰＧ’））との差は、変動誤差成分ΔＥ（Ｆ（ＰＧ’））に比べて一般に小さい。したがって、変動誤差成分ΔＥ（Ｆ（ＰＧ）），ΔＥ（Ｆ（ＰＧ’））を実質的に同一とみなすことが可能である。以上の理由から、目標点ＰＧの位置がロボットではなく基準点ＰＲに対する位置として与えられる場合は、仮の目標点ＰＧ’から求められた変動誤差成分ΔＥ（Ｆ（ＰＧ’））に基づいて、目標点ＰＧにロボットの先端Ｔを高精度に位置合わせすることができる教示点ＰＴを作成することができる。
【００５３】
一方、目標点ＰＧの位置がロボットに対する位置で与えられる場合、仮の目標点ＰＧ’を求めることなく、目標点ＰＧに先端Ｔが位置する姿勢Ｆ（ＰＧ）を算出することができる、すなわち、姿勢Ｆ（ＰＧ）のロボットに生じる変動誤差成分ΔＥ（Ｆ（ＰＧ））を算出することができる。その結果、変動誤差成分ΔＥ（Ｆ（ＰＧ））に基づいて、目標点ＰＧにロボットの先端Ｔを高精度に位置合わせすることができる教示点ＰＴを作成することができる。
【００５４】
この上述の概念にしたがって、コントローラ１４は、自動で教示点を作成する。具体的には、図１や図２に示すように、ワークＷの表面Ｗａには、３つの穴を形成するために必要な目標点ＰＧ１〜ＰＧ３が定義されている。この目標点ＰＧ１〜ＰＧ３は、ワークＷの表面Ｗａに形成される、穴の開口の中心に対応する。また、目標点ＰＧ１〜ＰＧ３は、２つの基準点ＰＲ１，ＰＲ２をワークＷの表面Ｗａに沿って最短の長さで結ぶ仮想線Ｌを等分するように、仮想線Ｌ上に配置されている。すなわち、目標点ＰＧ１〜ＰＧ３の位置は、基準点ＰＲ１，ＰＲ２に対する位置で定義されている。このような目標点ＰＧ１〜ＰＧ３にロボット１２の先端Ｔを高精度に位置合わせするための３つの教示点ＰＴ１〜ＰＴ３が作成される。
【００５５】
また、穴の加工開始点に対応し、目標点ＰＧ１，ＰＧ２，ＰＧ３の位置からロボット１２側且つ表面Ｗａに対して垂直方向に距離Ｄ１離れた目標点ＰＧ４，ＰＧ５，ＰＧ６にロボット１２の先端Ｔを高精度に位置決めするための３つの教示点ＰＴ４，ＰＴ５，ＰＴ６が作成される。
【００５６】
さらに、穴の加工終了点に対応し、目標点ＰＧ１，ＰＧ２，ＰＧ３の位置から反ロボット１２側且つ表面Ｗａに対して垂直方向に距離Ｄ２離れた目標点ＰＧ７，ＰＧ８，ＰＧ９にロボット１２の先端Ｔを高精度に位置決めするための３つの教示点ＰＴ７，ＰＴ８，ＰＴ９が作成される。
【００５７】
以下、９つの教示点ＰＴ１〜ＰＴ９の作成方法およびその流れについて、図５Ａ〜５Ｂと、図６Ａ〜６Ｄとを参照しながら説明する。
【００５８】
固定誤差成分ΔＥＳを算出するためのフローを示す図５Ａに示すように、まず、ステップＳ２００において、コントローラ１４は、ワークＷの２つの基準点ＰＲ１，ＰＲ２の位置データ（座標）を取得する。なお、２つの基準点ＰＲ１，ＰＲ２の位置データ（座標）は、例えば、ロボット１２、治具１６、およびワークＷの配置図面（ＣＡＤデータ）に基づいて予め求められており、コントローラ１４の記憶部（図示せず）に記憶されている。
【００５９】
次に、ステップＳ２１０において、コントローラ１４は、ステップＳ２１０で取得した基準点ＰＲ１にロボット１２の先端Ｔが位置する姿勢Ｆ（ＰＲ１）にロボット１２を制御する。
【００６０】
続いて、ステップＳ２２０において、コントローラ１４は、図６Ａに示すように、基準点ＰＲ１とロボット１２の先端Ｔとの間の誤差ΔＥＲ１を計測する。
【００６１】
誤差ΔＥＲ１の計測は、コントローラ１４がビジョンセンサ２０を制御して撮影した画像を用いて行われる。具体的には、撮像画像上において、基準点ＰＲ１とロボット１２の先端Ｔとの間の距離を計測する。次に、ロボット１２の姿勢からビジョンセンサ２０の撮影方向を割り出す。そして、撮像画像上における基準点ＰＲ１とロボット１２の先端Ｔとの間の距離およびビジョンセンサ２０の撮影方向に基づいて、基準点ＰＲ１とロボット１２の先端Ｔとの間の空間上の距離、すなわち誤差ΔＥＲ１を算出する。
【００６２】
ステップＳ２３０において、コントローラ１４は、図６Ａに示すように、姿勢Ｆ（ＰＲ１）のときのロボット１２に生じる変動誤差成分ΔＥ（Ｆ（ＰＲ１））を算出する。変動誤差成分ΔＥ（Ｆ（ＰＲ１））は、姿勢Ｆ（ＰＲ１）のときの複数の関節それぞれの関節角度、複数のリンクそれぞれの長さ、ロボット１２の構成要素の重量、関節を駆動するモータ軸のねじれ剛性、リンクそれぞれのたわみなどから算出することができる。
【００６３】
ステップＳ２４０において、コントローラ１４は、図６Ａに示すように、ステップＳ２２０で計測した誤差ΔＥＲ１と、ステップＳ２３０で算出した変動誤差成分ΔＥ（Ｆ（ＰＲ１））とに基づいて、固定誤差成分ΔＥＳ１を算出する。
【００６４】
ステップＳ２５０において、コントローラ１４は、ステップＳ２１０で取得した基準点ＰＲ２にロボット１２の先端Ｔが位置する姿勢Ｆ（ＰＲ２）にロボット１２を制御する。
【００６５】
ステップＳ２６０において、ステップＳ２２０と同様に、コントローラ１４は、図６Ａに示すように、基準点ＰＲ２とロボット１２の先端Ｔとの間の誤差ΔＥＲ２を計測する。
【００６６】
ステップＳ２７０において、ステップＳ２３０と同様に、コントロローラ１４は、図６Ａに示すように、姿勢Ｆ（ＰＲ２）のときのロボット１２に生じる変動誤差成分ΔＥ（Ｆ（ＰＲ２））を算出する。
【００６７】
ステップＳ２８０において、コントローラ１４は、図６Ａに示すように、ステップＳ２６０で計測した誤差ΔＥＲ２と、ステップＳ２７０で算出した変動誤差成分ΔＥ（Ｆ（ＰＲ２）とに基づいて、固定誤差成分ΔＥＳ２を算出する。
【００６８】
ステップＳ２９０において、コントローラ１４は、ステップＳ２４０で算出した固定誤差成分ΔＥＳ１と、ステップＳ２８０で算出した固定誤差成分ΔＥＳ２との平均値として、平均固定誤差成分ΔＥＳを算出する。以後、この平均固定誤差成分ΔＥＳが、教示点ＰＴ１〜ＰＴ９を作成する際に使用される。
【００６９】
ここからは、ステップＳ２９０で算出された（平均）固定誤差成分ΔＥＳを用いて、教示点ＰＴ１〜ＰＴ９を作成する方法について説明する。なお、教示点ＰＴ１，ＰＴ４，ＰＴ７を作成する方法について説明することにより、他の教示点の作成方法についての説明を行ったものとする（教示点ＰＴ２，ＰＴ３がＰＴ１と同一の方法で作成され、教示点ＰＴ５，ＰＴ６がＰＴ４と同一の方法で作成され、教示点ＰＴ８，ＰＴ９がＰＴ７と同一の方法で作成されるからである）。
【００７０】
教示点ＰＴ１，ＰＴ４，ＰＴ７を作成するためのフローを示す図５Ｂに示すように、ステップＳ３００において、コントローラ１４は、図６Ｂに示すように、基準点ＰＲ１，ＰＲ２から、ステップＳ２９０で算出された固定誤差成分ΔＥＳが補償された基準点ＰＲ１，ＰＲ２として、すなわち基準点ＰＲ１，ＰＲ２から−ΔＥＳずれた、仮の基準点ＰＲ１’，ＰＲ２’を設定する。
【００７１】
ステップＳ３１０において、コントローラ１４は、図６Ｂに示すように、仮の目標点ＰＧ１’を、仮の基準点ＰＲ１’，ＰＲ２’との間で、目標点ＰＧ１，ＰＧ２と基準点ＰＲ１の間の位置関係と同一の位置関係を実現できる位置に設定する。
【００７２】
本実施の形態においては、図１に示すように、目標点ＰＧ１〜ＰＧ３は、２つの基準点ＰＲ１，ＰＲ２をワークＷの表面Ｗａに沿って最短の長さで結ぶ仮想線Ｌを等分するように、その仮想線Ｌ上に等間隔に配置されている。したがって、仮の目標点ＰＧ１’〜ＰＧ３’は、仮の基準点ＰＲ１，ＰＲ２を結んで仮想線Ｌと同一形状の仮想線Ｌ’を等分するように、その仮想線Ｌ’上に設定される。その結果、仮の目標点ＰＧ１’〜ＰＧ３’は、目標点ＰＧ１〜ＰＧ３から−ΔＥＳずれた位置に設定される。
【００７３】
なお、コントローラ１４は、目標点ＰＧ１，ＰＧ２と基準点ＰＲ１，ＰＲ２の間の位置関係を、例えば、ワークＷのＣＡＤデータに基づいて取得する。
【００７４】
ステップＳ３２０において、コントローラ１４は、仮の目標点ＰＧ１’にロボット１２の先端Ｔが位置する姿勢Ｆ（ＰＧ１’）を算出する。
【００７５】
ステップＳ３３０において、コントローラ１４は、図６Ｃに示すように、姿勢Ｆ（ＰＧ１’）のロボット１２に生じる、変動誤差成分ΔＥ（Ｆ（ＰＧ１’））を算出する。
【００７６】
ステップＳ３４０において、コントローラ１４は、図６Ｃに示すように、ステップＳ３１０で設定した仮の目標点ＰＧ１’の位置と、ステップＳ３３０で算出した変動誤差成分ΔＥ（Ｆ（ＰＧ１’））とに基づいて、目標点ＰＧ１にロボットの先端Ｔが高精度に位置合わせされる教示点ＰＴ１を作成する。具体的には、仮の目標点ＰＧ１’から−ΔＥ（Ｆ（ＰＧ１’））ずれた位置に教示点ＰＴ１が作成される。
【００７７】
次に、ステップＳ３５０において、コントローラ１４は、図６Ｄに示すように、仮の目標点ＰＧ１’からロボット１２側に且つワークＷの表面Ｗａに対して垂直方向に距離Ｄ１離れた位置に仮の目標点ＰＧ４’を設定する。その結果、固定誤差成分ΔＥＳが補償された目標点ＰＧ４として仮の目標点ＰＧ４’が設定される。
【００７８】
続いて、ステップＳ３６０において、コントローラ１４は、図６Ｄに示すように、仮の目標点ＰＧ１’から反ロボット１２側に且つワークＷの表面Ｗａに対して垂直方向に距離Ｄ２離れた位置に仮の目標点ＰＧ７’を設定する。その結果、固定誤差成分ΔＥＳが補償された目標点ＰＧ７として仮の目標点ＰＧ７’が設定される。
【００７９】
ステップＳ３７０において、コントローラ１４は、仮の目標点ＰＧ４’にロボット１２の先端Ｔが位置する姿勢Ｆ（ＰＧ４’）を算出する。
【００８０】
ステップＳ３８０において、コントローラ１４は、姿勢Ｆ（ＰＧ４’）のロボット１２に生じる、先端Ｔにおけるたわみ誤差成分ΔＥ（Ｆ（ＰＧ４’））を算出する。
【００８１】
ステップＳ３９０において、コントローラ１４は、ステップＳ３５０で設定した仮の目標点ＰＧ４’の位置と、ステップＳ３８０で算出した変動誤差成分ΔＥ（Ｆ（ＰＧ４’））とに基づいて、目標点ＰＧ４にロボットの先端Ｔが高精度に位置合わせされる教示点ＰＴ４を作成する。具体的には、仮の目標点ＰＧ４’から−ΔＥ（Ｆ（ＰＧ４’））ずれた位置に教示点ＰＴ４が作成される。
【００８２】
ステップＳ４００において、コントローラ１４は、仮の目標点ＰＧ７’にロボット１２の先端Ｔが位置する姿勢Ｆ（ＰＧ７’）を算出する。
【００８３】
ステップＳ４１０において、コントローラ１４は、姿勢Ｆ（ＰＧ７’）のロボット１２に生じる、先端Ｔにおける変動誤差成分ΔＥ（Ｆ（ＰＧ７’））を算出する。
【００８４】
ステップＳ４２０において、コントローラ１４は、ステップＳ３６０で設定した仮の目標点ＰＧ７’の位置と、ステップＳ４１０で算出した変動誤差成分ΔＥ（Ｆ（ＰＧ７’））とに基づいて、目標点ＰＧ７にロボットの先端Ｔが高精度に位置合わせされる教示点ＰＴ７を作成する。具体的には、仮の目標点ＰＧ７’から−ΔＥ（Ｆ（ＰＧ７’））ずれた位置に教示点ＰＴ７が作成される。
【００８５】
本実施の形態によれば、基準点ＰＲ１と姿勢Ｆ（ＰＲ１）のロボットの先端Ｔとの間の誤差ΔＥＲ１と、基準点ＰＲ２と姿勢Ｆ（ＰＲ２）のロボットの先端Ｔとの間の誤差ΔＥＲ２とを計測するだけで、後は計算のみで、ワークＷに定義されている目標点ＰＧ１〜ＰＧ９にロボットの先端Ｔを高精度に位置合わせするための教示点ＰＴ１〜ＰＴ９を作成することができる。したがって、複数の目標点ＰＧ１〜ＰＧ９にロボットの先端Ｔを高精度に位置合わせするための複数の教示点ＰＴ１〜ＰＴ９を短時間で作成することができる。
【００８６】
また、目標点ＰＧ１〜ＰＧ９の位置がロボット１２に対する位置でなくても、基準点ＰＲ１，ＰＲ２と目標点ＰＧ１〜ＰＧ９との位置関係があれば（例えばワークＷのＣＡＤデータがあれば）、目標点ＰＧ１〜ＰＧ９にロボットの先端Ｔを高精度に位置合わせするための教示点ＰＴ１〜ＰＴ９を作成することができる。
【００８７】
さらに、穴の開口中心に対応する目標点ＰＧ１〜ＰＧ３、穴の加工開始点に対応する目標点ＰＧ４〜ＰＧ６、および穴の加工終了点に対応する目標点ＰＧ７〜ＰＧ９にロボット１２の先端Ｔ、すなわちドリル１８ａの先端Ｔを高精度に位置合わせできるため、ワークＷに高精度の穴を形成することができる。すなわち、基準点ＰＲ１，ＰＲ２を結ぶ仮想線Ｌを等分する位置からワークＷの表面Ｗａに対して垂直に延びる３つの穴を高精度に形成することができる。
【００８８】
以上、上述の実施の形態を挙げて本発明を説明したが、本発明はこれに限定されない。
【００８９】
上述の実施の形態の場合、ロボット１２がワークＷの表面Ｗａに向かってドリル１８ａを送るものであるが、本発明はこれに限らない。穴あけ装置１８に、ドリル１８ａを送る送り機構を設けてもよい。この場合、ロボット１２によって目標点ＰＧ４〜ＰＧ６にドリル１８ａの先端Ｔが位置合わせされた後、送り機構を備える穴あけ装置１８が、ドリル１８ａをワークＷに向かって所定の送り速度で送るように、ロボットシステム１０が構成される。要するに複数の位置での位置決めを行う機械に適用可能である。
【００９０】
また、上述の実施の形態の場合、目標点ＰＧ１〜ＰＧ３に孔が形成されるが、基準点ＰＲ１，ＰＲ２にも孔を形成してもよい。この場合、例えば基準点ＰＲ１に穴を形成するための教示点は、図５Ａに示すステップＳ２２０で計測された誤差ΔＥＲ１とステップＳ２００で取得した基準点ＰＲ１の位置とに基づいて、作成することができる。すなわち、教示点の位置は、基準点ＰＲ１から−ΔＥＲ１の位置に決定される。
【００９１】
また、上述の実施の形態の場合、ワークＷに定義された２つの基準点ＰＲ１，ＰＲ２に基づいて算出された固定誤差成分ΔＥＳ１，ΔＥＳ２の平均（平均固定誤差成分ΔＥＳ）を用いて、目標点ＰＧ１〜ＰＧ９にロボット１２の先端Ｔを高精度に位置合わせすることができる教示点ＰＴ１〜ＰＴ９を作成しているが、本発明はこれに限らない。例えば、図１や図６Ａに示すように、目標点ＰＧ１に対する教示点ＰＴ１を算出する場合は近い方の基準点ＰＲ１の固定誤差成分ΔＥＳ１を用い、目標点ＰＧ３に対する教示点ＰＴ３を算出する場合は近い方の基準点ＰＲ２の固定誤差成分ΔＥＳ２を用いるようにしてもよい。
【００９２】
また、ワーク上の複数の基準点におけるΔＥＳを図４のステップＳ１００〜Ｓ１３０と同様の方法で算出し、得られた複数のΔＥＳに基づいて、任意の目標点におけるΔＥＳを解析的に求めてもよい。
【００９３】
本発明において、固定誤差成分ΔＥＳを求めるための基準点ＰＲが少なくとも１つ存在すればよい。ただし、複数の基準点ＰＲに基づいて求められた複数の固定誤差成分ΔＥＳを用いる方が、目標点ＰＴにロボット先端Ｔを位置合わせできる教示点ＰＴを高精度に作成できることは明らかであり、また好ましい。
【００９４】
さらに、上述の実施の形態の場合、ロボット１２に取り付けられたビジョンセンサ２０を用いて、基準点ＰＲ１，ＰＲ２とロボット１２の先端Ｔとの間の誤差ΔＥＲ１，ΔＥＲ２を計測しているが、本発明はこれに限らない。ビジョンセンサ２０は、ロボット１２以外の場所、例えば治具１６に取り付けられてもよい。
【００９５】
加えて、基準点を用いて固定誤差成分ΔＥＳを算出する方法は、図５Ａに示す方法以外の方法も考えられる。それについて、図７を参照しながら説明する。
【００９６】
図７に示す、固定誤差成分ΔＥＳを算出する方法では、例えばティーチングペンダントなどの手動操作装置を介して作業者がロボット１２を手動操作するステップが存在する。
【００９７】
図７に示すように、ステップＳ５００において、コントローラ１４は、ワークＷの２つの基準点ＰＲ１，ＰＲ２の位置（座標）を取得する。
【００９８】
次に、ステップＳ５１０において、作業者がティーチングペンダントを介して、基準点ＰＲ１にロボット１２の先端Ｔが位置合わせされる姿勢ＦＭ１にロボット１２を手動操作する。なお、上述の実施の形態と異なり、作業者の目視によってロボット１２の先端Ｔが基準点ＰＲ１に位置合わせされるため、図６Ａに示すような空間上の誤差ΔＥＲ１は生じない。
【００９９】
続いて、ステップＳ５２０において、コントローラ１４は、ステップＳ５１０で作業者の手動操作によって実現されたロボット１２の姿勢ＦＭ１に基づいて、ロボット１２の先端Ｔの位置（座標）ＰＭ１を算出する。先端Ｔの位置ＰＭ１は、姿勢ＦＭ１のときの複数の関節それぞれの関節角度、リンク長などによって算出することができる。
【０１００】
ステップＳ５３０において、コントローラ１４は、ステップＳ５００で取得した基準点ＰＲ１の位置と、ステップＳ５２０で算出されたロボット１２の先端Ｔの位置ＰＭ１との間の誤差ΔＥＲＭ１を算出する。確認すると、外見上では基準点ＰＲ１に先端Ｔは位置合わせされているが、数値上では、基準点Ｐ１の座標と先端Ｔの座標がΔＥＲＭ１だけ異なっている。その理由は、ステップＳ５２０において、コントローラ１４が、ロボット１２に生じるたわみやロボット１２の据え付け誤差などを考慮せずに先端Ｔの位置を算出しているためである。
【０１０１】
ステップ５４０において、コントローラ１４は、姿勢ＦＭ１のロボット１２に生じる、変動誤差成分ΔＥ（ＦＭ１）を算出する。
【０１０２】
ステップＳ５５０において、コントローラ１４は、ステップＳ５３０で算出した誤差ΔＥＲＭ１と、ステップＳ５４０で算出した変動誤差成分ΔＥ（ＦＭ１）とに基づいて、固定誤差成分ΔＥＳ１を算出する。
【０１０３】
次に、ステップＳ５６０において、ステップＳ５１０と同様に、作業者がティーチングペンダントを介して、基準点ＰＲ２にロボット１２の先端Ｔが位置合わせされる姿勢ＦＭ２にロボット１２を手動操作する。
【０１０４】
続いて、ステップＳ５７０において、ステップＳ５２０と同様に、コントローラ１４は、ステップＳ５６０で作業者の手動操作によって実現されたロボット１２の姿勢ＦＭ２に基づいて、ロボット１２の先端Ｔの位置（座標）ＰＭ２を算出する。
【０１０５】
ステップＳ５８０において、ステップＳ５３０と同様に、コントローラ１４は、ステップＳ５００で取得した基準点ＰＲ２の位置と、ステップＳ５７０で算出されたロボット１２の先端Ｔの位置ＰＭ２との間の誤差ΔＥＲＭ２を算出する。
【０１０６】
ステップ５９０において、コントローラ１４は、姿勢ＦＭ２のロボット１２に生じる、先端Ｔにおける変動誤差成分ΔＥ（ＦＭ２）を算出する。
【０１０７】
ステップＳ６００において、コントローラ１４は、ステップＳ５８０で算出した誤差ΔＥＲＭ２と、ステップＳ５９０で算出した変動誤差成分ΔＥ（ＦＭ２）とに基づいて、固定誤差成分ΔＥＳ２を算出する。
【０１０８】
ステップＳ６１０において、コントローラ１４は、ステップＳ５５０で算出した固定誤差成分ΔＥＳ１と、ステップＳ６１０で算出した固定誤差成分ΔＥＳ２との平均値として、平均固定誤差成分ΔＥＳを算出する。
【０１０９】
このような、ロボットシステム１０の固定誤差成分ΔＥＳの算出方法によれば、ビジョンセンサ２０は不要となる。
【０１１０】
最後に、ロボットの先端Ｔを目標点に位置合わせされるロボットの部分として本発明を説明してきたが、本発明は、これに限定しない。例えば、ロボット１２のフランジ１２ｇの取り付け面の中心であってもよい。
【０１１１】
また、上述の実施の形態においては、ロボットの先端が任意の位置に位置するときのロボットの姿勢は１つであるものとして説明してきたが、実際には複数存在する場合がある。そのために、例えば、図５ＢのステップＳ３２０において、仮の目標点ＰＧ１’にロボットの先端Ｔが位置する複数の姿勢Ｆ（ＰＧ１’）が算出される可能性がある。この場合、例えば、作業者が所望する、目標点にロボットの先端が位置合わせされているときのロボットの姿勢を取得し、その取得した所望の姿勢に近い方の姿勢Ｆ（ＰＧ’）を選択するようにすればよい。
【産業上の利用可能性】
【０１１２】
本発明は、穴あけ作業に限らず、多関節型のロボットを使用する作業であれば、あらゆる作業に適用可能である。
【符号の説明】
【０１１３】
ＰＧ              目標点
ＰＲ                基準点
Ｔ                  代表点（先端）
Ｆ（ＰＲ）          第１の姿勢
ΔＥＲ              誤差
ΔＥ（Ｆ（ＰＲ））  第１の変動誤差成分
ΔＥＳ            固定誤差成分
ＰＲ’            仮の基準点
ＰＧ’            仮の目標点
Ｆ（ＰＧ’）      第２の姿勢
ΔＥ（Ｆ（ＰＧ’））  第２の変動誤差成分
【図１】
0005856837.tif 000002
【図２】
0005856837.tif 000003
【図３】
0005856837.tif 000004
【図４】
0005856837.tif 000005
【図５Ａ】
0005856837.tif 000006
【図５Ｂ】
0005856837.tif 000007
【図６Ａ】
0005856837.tif 000008
【図６Ｂ】
0005856837.tif 000009
【図６Ｃ】
0005856837.tif 000010
【図６Ｄ】
0005856837.tif 000011
【図７】
0005856837.tif 000012