(57)【要約】【課題】ロボットのツール取付け部に取付けられているツールの寸法を計測する。【解決手段】ロボット１０のツール取付け部１０ｇに対するツール基準点Ｔの位置を計測する方法であって、カメラ１４が実際のツール基準点Ｔを撮影した状態で、ツール取付け部１０ｇに対する任意位置を通過する任意回転中心線を中心として該ツール取付け部が回転するようなロボット１０の動作を繰り返し実行する。また、ツール取付け部１０ｇが回転する度にその回転によって移動した実際のツール基準点Ｔのカメラ撮影画像上における移動量を計測する。さらに、ツール取付け部１０ｇの回転が終了する度に任意位置および／または任意回転中心線を変更する。これらにより、ツール取付け部１０ｇの回転によって移動する実際のツール基準点Ｔのカメラ撮影画像上における移動量が略ゼロになる任意位置を特定し、特定した任意位置をツール取付け部１０ｇに対するツール基準点Ｔの位置とする。【選択図】図１
2014139577.tif 000002
【特許請求の範囲】
【請求項１】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
ツール取付け部に対する予め設定された設定位置および上記設定位置に対して所定の位置関係の少なくとも１つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心としてツール取付け部を所定角度回転させる第１の工程と、
上記設定位置および上記少なくとも１つの位置それぞれについて、上記第１の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する第２の工程と、
上記第２の工程で計測された移動量が最小の位置を新たな設定位置とする第３の工程と、
上記所定の位置関係を、上記設定位置に至る方向が変更されるようにおよび／または上記設定位置までの距離が漸減するように変更する第４の工程とを、
上記第２の工程で計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置とすることを特徴とするツール寸法の計測方法。
【請求項２】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
制御装置に登録されているツール基準点の位置を通過する第１の回転中心線を中心としてツール取付け部を所定角度回転させる第１の工程と、
上記第１の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第１の移動量を計測する第２の工程と、
制御装置に登録されているツール基準点の位置から予め設定された設定方向に予め設定された設定距離離れた位置を通過する、第１の回転中心線と平行な第２の回転中心線を中心としてツール取付け部を上記所定角度回転させる第３の工程と、
上記第３の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第２の移動量を計測する第４の工程と、
制御装置に登録されているツール基準点の位置から上記設定方向の反対方向に上記設定距離離れた位置を通過する、第１の回転中心線と平行な第３の回転中心線を中心としてツール取付け部を上記所定角度回転させる第５の工程と、
上記第５の工程の実行によって移動した実際のツール基準点のカメラの撮影画像上における第３の移動量を計測する第６の工程と、
第１〜第３の移動量において第２の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向に上記設定距離離れた位置に変更し、
第１〜第３の移動量において第３の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向の反対方向に上記設定距離離れた位置に変更する第７の工程と、
上記設定方向を変更するおよび／または上記設定距離を漸減する第８の工程とを、繰り返し実行し、
上記第２、第４、または第６の工程のいずれかの工程で計測される移動量が略ゼロになると、第１〜第８の工程の繰り返し実行を終了することを特徴とするツール寸法の計測方法。
【請求項３】
第１、第２、および第３の軸を有する直交座標系を予め定義し、
第１の工程が初めて実行される前に、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第１の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第２の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第３の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第３の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第１の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第４の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第５の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第６の移動ベクトルと、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第７の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第２の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第８の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第９の移動ベクトルとに基づいて、
制御装置に登録されているツール基準点と実際のツール基準点との誤差を求め、
求めた誤差に基づいて、制御装置に登録されているツール基準点の位置を修正することを特徴とする請求項１または２に記載のツール寸法の計測方法。
【請求項４】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測装置であって、
ロボットの周辺に配置されて実際のツール基準点を撮影するカメラと、
カメラと制御装置とを介して、ツール取付け部に対するツール基準点の位置を計測する計測手段とを有し、
計測手段は、
ツール取付け部に対する予め設定された設定位置および上記設定位置に対して所定の位置関係の少なくとも１つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心としてツール取付部を制御装置に所定角度回転させる第１の動作と、
上記設定位置および上記少なくとも１つの位置それぞれについて、上記第１の動作の実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する第２の動作と、
上記第２の動作で計測された移動量が最小の位置を新たな設定位置とする第３の動作と、
上記所定の位置関係を、上記設定位置に至る方向が変更されるようにおよび／または上記設定位置までの距離が漸減するように変更する第４の動作とを、
上記第２の動作で計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置として制御装置に登録することを特徴とするツール寸法の計測装置。
【請求項５】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測装置であって、
ロボットの周辺に配置されて実際のツール基準点を撮影するカメラと、
カメラと制御装置とを介して、ツール取付け部に対するツール基準点の位置を計測する計測手段とを有し、
計測手段は、
制御装置に登録されているツール基準点の位置を通過する第１の回転中心線を中心としてツール取付け部を該制御装置に所定角度回転させる第１の動作と、
上記第１の動作の実行によって移動した実際のツール基準点のカメラ撮影画像上における第１の移動量を計測する第２の動作と、
制御装置に登録されているツール基準点の位置から予め設定された設定方向に予め設定された設定距離離れた位置を通過する、第１の回転中心線と平行な第２の回転中心線を中心としてツール取付け部を該制御装置に上記所定角度回転させる第３の動作と、
上記第３の動作の実行によって移動した実際のツール基準点のカメラ撮影画像上における第２の移動量を計測する第４の動作と、
制御装置に登録されているツール基準点の位置から上記設定方向の反対方向に上記設定距離離れた位置を通過する、第１の回転中心線と平行な第３の回転中心線を中心としてツール取付け部を該制御装置に上記所定角度回転させる第５の動作と、
上記第５の動作の実行によって移動した実際のツール基準点のカメラの撮影画像上における第３の移動量を計測する第６の動作と、
第１〜第３の移動量において第２の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向に上記設定距離離れた位置に変更し、
第１〜第３の移動量において第３の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向の反対方向に上記設定距離離れた位置に変更する第７の動作と、
上記設定方向を変更するおよび／または上記設定距離を漸減する第８の動作とを、繰り返し実行し、
上記第２、第４、または第６の動作のいずれかの動作で計測される移動量が略ゼロになると、第１〜第８の動作の繰り返し実行を終了することを特徴とするツール寸法の計測装置。
【請求項６】
第１、第２、および第３の軸を有する直交座標系を予め定義し、
第１の動作が初めて実行される前に、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第１の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第２の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第３の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第３の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第１の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第４の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第５の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第６の移動ベクトルと、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第７の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第２の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第８の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第９の移動ベクトルとに基づいて、
制御装置に登録されているツール基準点と実際のツール基準点との誤差を求め、
求めた誤差に基づいて、制御装置に登録されているツール基準点の位置を修正することを特徴とする請求項４または５に記載のツール寸法の計測装置。
【請求項７】
ツールを取付けるツール取付け部と制御装置とを備え、ツール取付け部に対するツールの基準点の位置が制御装置に登録されるロボットであって、
請求項４〜６のいずれか一項に記載のツール寸法の計測装置を備えていることを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ツールを取り付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツール基準点の位置を計測するツール寸法の計測方法、その装置、および該装置を備えるロボットに関する。
【背景技術】
【０００２】
従来より、溶接ガンやスプレーガンなどのツールを、ツール取付け部（例えば、ツールの基準端面が接触するツール取付け面）に取付けてワークに対して作業を実施するロボットが使用されている。このようなツールを用いて作業を実施する場合、ツールの寸法値がロボットの制御装置に登録されている。
【０００３】
例えば、ツールの寸法値として、ツール取付け面に対するツールの基準点、例えば溶接ガンの先端点が、ロボットの制御装置に登録されている。
【０００４】
具体的には、例えば、ツール取付け面に予め定義されている座標系におけるツールの先端点の座標値がロボットの制御装置に登録されている。この座標値に基づいて、ロボットは、ツールの先端点をワークに対して正確に位置合わせする。
【０００５】
当然ながら、ツールの先端点を正確に位置合わせするためには、登録されているツールの寸法値が正しい（実際のツール寸法値との誤差がゼロである）ことが前提である。そうでなければ、例えば、図１２に示すように、ロボットが、ツールの登録寸法値に基づいて認識しているツールの先端点が直線に移動するように動作しても、ツールの実際の先端点の軌跡が直線にならないことがある。
【０００６】
この対処として、正しいツールの寸法値を得ることができる、ツール寸法値を計測する方法がいくつか知られている。
【０００７】
例えば、特許文献１に記載するツール寸法値の計測方法は、カメラを使用しており、カメラの撮影画像上におけるツール先端点の位置に基づいて、ツールの寸法値を計測する。
【０００８】
具体的には、まず、ツール先端点がカメラの撮影画像に映るようなツール取付け面の複数の初期姿勢を用意（定義）する。初期姿勢毎に、撮影画像に映るツール先端点が該撮影画像の所定箇所（例えば画像中心）に移動するために必要な、ツール取付け面の平行移動量を算出する。そして、初期姿勢毎に、算出した平行移動量に基づいてロボットを動作させてツール取付け面を平行移動し、平行移動後のツール取付け面の位置を取得する。これにより、ツール先端点が撮影画像の所定箇所に映る、ツール取付け面の異なる複数の位置姿勢データが得られる。この異なる複数の位置姿勢データに基づくとともに、ツールの先端点がツール取付け面に対して不動であることから、ツール取付け面に対するツールの先端点の位置を算出する。
【０００９】
この方法は、原理的には、ツール先端点を固定ピンの先端に接触させてツール取付け面に対するツール先端点の位置を算出する３点タッチアップまたは６点タッチアップの方法と同じである。ただし、ツール先端点が物理的な接触を受けない点で、特許文献１に記載する方法が有利である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−３００２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に記載の方法は、カメラの撮影画像上においてツール先端点が該撮影画像の所定箇所に移動するようなロボットの制御量（ツール取付け面の平行移動量）を算出するため、ロボットに対するカメラの視線方向が特定されている必要がある。したがって、カメラの設置位置が変わる度にカメラの視線方向を特定する必要がある。
【００１２】
これに対処するために、カメラの視線方向を一定に定めた状態で、ロボットに対して一定の位置に該カメラを固定することが考えられる。ところが、この場合、ツールの寸法測定の正確性を確保するために、カメラの視線方向が一定に定めた状態で維持されていることを、ツール寸法値を計測する前に確認しなければならない。
【００１３】
そこで、本発明は、ロボットに対するカメラの視線方向を特定することなく、カメラの撮影画像に基づいて、ロボットの制御装置に登録される、ツールの寸法値、具体的にはツール取付け部に対するツールの基準点の位置を計測することを課題とする。
【課題を解決するための手段】
【００１４】
上述の課題を解決するために、本願の請求項１に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
ツール取付け部に対する予め設定された設定位置および上記設定位置に対して所定の位置関係の少なくとも１つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心としてツール取付け部を所定角度回転させる第１の工程と、
上記設定位置および上記少なくとも１つの位置それぞれについて、上記第１の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する第２の工程と、
上記第２の工程で計測された移動量が最小の位置を新たな設定位置とする第３の工程と、
上記所定の位置関係を、上記設定位置に至る方向が変更されるようにおよび／または上記設定位置までの距離が漸減するように変更する第４の工程とを、
上記第２の工程で計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置とすることを特徴とする。
【００１５】
さらに、請求項２に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
制御装置に登録されているツール基準点の位置を通過する第１の回転中心線を中心としてツール取付け部を所定角度回転させる第１の工程と、
上記第１の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第１の移動量を計測する第２の工程と、
制御装置に登録されているツール基準点の位置から予め設定された設定方向に予め設定された設定距離離れた位置を通過する、第１の回転中心線と平行な第２の回転中心線を中心としてツール取付け部を上記所定角度回転させる第３の工程と、
上記第３の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第２の移動量を計測する第４の工程と、
制御装置に登録されているツール基準点の位置から上記設定方向の反対方向に上記設定距離離れた位置を通過する、第１の回転中心線と平行な第３の回転中心線を中心としてツール取付け部を上記所定角度回転させる第５の工程と、
上記第５の工程の実行によって移動した実際のツール基準点のカメラの撮影画像上における第３の移動量を計測する第６の工程と、
第１〜第３の移動量において第２の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向に上記設定距離離れた位置に変更し、
第１〜第３の移動量において第３の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向の反対方向に上記設定距離離れた位置に変更する第７の工程と、
上記設定方向を変更するおよび／または上記設定距離を漸減する第８の工程とを、繰り返し実行し、
上記第２、第４、または第６の工程のいずれかの工程で計測される移動量が略ゼロになると、第１〜第８の工程の繰り返し実行を終了することを特徴とする。
【００１６】
加えて、請求項３に記載の発明は、
第１、第２、および第３の軸を有する直交座標系を予め定義し、
第１の工程が初めて実行される前に、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第１の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第２の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第３の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第３の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第１の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第４の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第５の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第６の移動ベクトルと、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第７の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第２の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第８の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第９の移動ベクトルとに基づいて、
制御装置に登録されているツール基準点と実際のツール基準点との誤差を求め、
求めた誤差に基づいて、制御装置に登録されているツール基準点の位置を修正することを特徴とする。
【００１７】
加えてまた、請求項４に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測装置であって、
ロボットの周辺に配置されて実際のツール基準点を撮影するカメラと、
カメラと制御装置とを介して、ツール取付け部に対するツール基準点の位置を計測する計測手段とを有し、
計測手段は、
ツール取付け部に対する予め設定された設定位置および上記設定位置に対して所定の位置関係の少なくとも１つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心としてツール取付部を制御装置に所定角度回転させる第１の動作と、
上記設定位置および上記少なくとも１つの位置それぞれについて、上記第１の動作の実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する第２の動作と、
上記第２の動作で計測された移動量が最小の位置を新たな設定位置とする第３の動作と、
上記所定の位置関係を、上記設定位置に至る方向が変更されるようにおよび／または上記設定位置までの距離が漸減するように変更する第４の動作とを、
上記第２の動作で計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置として制御装置に登録することを特徴とする。
【００１８】
さらに加えて、請求項５に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測装置であって、
ロボットの周辺に配置されて実際のツール基準点を撮影するカメラと、
カメラと制御装置とを介して、ツール取付け部に対するツール基準点の位置を計測する計測手段とを有し、
計測手段は、
制御装置に登録されているツール基準点の位置を通過する第１の回転中心線を中心としてツール取付け部を該制御装置に所定角度回転させる第１の動作と、
上記第１の動作の実行によって移動した実際のツール基準点のカメラ撮影画像上における第１の移動量を計測する第２の動作と、
制御装置に登録されているツール基準点の位置から予め設定された設定方向に予め設定された設定距離離れた位置を通過する、第１の回転中心線と平行な第２の回転中心線を中心としてツール取付け部を該制御装置に上記所定角度回転させる第３の動作と、
上記第３の動作の実行によって移動した実際のツール基準点のカメラ撮影画像上における第２の移動量を計測する第４の動作と、
制御装置に登録されているツール基準点の位置から上記設定方向の反対方向に上記設定距離離れた位置を通過する、第１の回転中心線と平行な第３の回転中心線を中心としてツール取付け部を該制御装置に上記所定角度回転させる第５の動作と、
上記第５の動作の実行によって移動した実際のツール基準点のカメラの撮影画像上における第３の移動量を計測する第６の動作と、
第１〜第３の移動量において第２の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向に上記設定距離離れた位置に変更し、
第１〜第３の移動量において第３の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向の反対方向に上記設定距離離れた位置に変更する第７の動作と、
上記設定方向を変更するおよび／または上記設定距離を漸減する第８の動作とを、繰り返し実行し、
上記第２、第４、または第６の動作のいずれかの動作で計測される移動量が略ゼロになると、第１〜第８の動作の繰り返し実行を終了することを特徴とする。
【００１９】
さらに加えて、請求項６に記載の発明は、
第１、第２、および第３の軸を有する直交座標系を予め定義し、
第１の動作が初めて実行される前に、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第１の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第２の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第３の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第３の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第１の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第４の移動ベクトルと、
上記第２の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第５の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第６の移動ベクトルと、
上記第１の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第７の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第２の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第８の移動ベクトルと、
上記第３の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第９の移動ベクトルとに基づいて、
制御装置に登録されているツール基準点と実際のツール基準点との誤差を求め、
求めた誤差に基づいて、制御装置に登録されているツール基準点の位置を修正することを特徴とする。
【００２０】
さらに加えて、請求項７に記載の発明は、
ツールを取付けるツール取付け部と制御装置とを備え、ツール取付け部に対するツールの基準点の位置が制御装置に登録されるロボットであって、
上述のツール寸法の計測装置を備えていることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、任意の位置を通過する任意の回転中心線を中心としてツール取付け部を回転動作させたときに、カメラの撮影画像上においてツールの基準点が移動しなければ（移動量がゼロであれば）、任意の位置と実際のツールの基準点の位置とが一致しているということに基づいて、ツール取付け部に対するツールの基準点の位置が計測（特定）される。このように、ツールの基準点の撮影画像上における移動量を用いるので、ロボットに対するカメラの視線方向を特定することなく、ツールの寸法値、具体的にはツール取付け部に対するツールの基準点の位置を計測することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態に係る、ツールの寸法を計測するシステムを概略的に示す図である。
【図２】ツール寸法値を説明するための図である。
【図３】本発明の第１の実施形態に係るツール寸法値計測方法を概念的に説明するための図である。
【図４】本発明の第１の実施形態に係るツール寸法値計測方法を説明するための図である。
【図５】本発明の第１の実施形態に係るツール寸法値計測方法を説明するための別の図である。
【図６】本発明の第１の実施形態に係るツール寸法値計測方法を説明するためのさらに別の図である。
【図７】本発明の第１の実施形態に係るツール寸法値計測方法の流れを示すフローチャートの図である。
【図８】図７に示すステップＳ１５０の詳細を示すフローチャートの図である。
【図９】位置変更量決定テーブルを示す図である。
【図１０】回転動作決定テーブルを示す図である。
【図１１】ベクトルの線形写像を利用した、本発明の第２の実施形態に係るツール寸法値計測方法を説明するための図である。
【図１２】実際のツール先端点とロボットの制御装置に登録されているツール先端点との間に誤差がある場合に起こる問題を説明するための図である。
【発明を実施するための形態】
【００２３】
（第１の実施形態）
図１は、本発明の第１の実施形態の一例に係る、ツールの寸法値を計測するシステムを概略的に示している。
【００２４】
図１に示すロボット１０は、例えば６つの関節１０ａ〜１０ｆを備えたアーム型のロボットである。また、ロボット１０は、その自由端に、例えば溶接ガンやスプレーガンなどのツール１２が取付け可能なツール取付け部（ツール取付け面）１０ｇを備えている。
【００２５】
さらに、ロボット１０は、６つの関節１０ａ〜１０ｆそれぞれを駆動する複数のモータ（図示せず）を制御する制御装置１０ｈを備えている。この制御装置１０ｈが６つのモータを制御することにより、ツール取付け面１０ｇは様々な位置に様々な姿勢で配置される。これにより、ツール取付け面１０ｇに取付けられているツール１２が様々な位置に様々の姿勢で配置される。
【００２６】
また、制御装置１０ｈには、ツール１２の寸法値が登録されている。ツール１２の寸法値は、図２に示すように、例えば、ツール取付け面１０ｇに定義されているメカニカルインターフェイス座標系ΣＭに基づいた値にされている。
【００２７】
具体的には、例えば、メカニカルインターフェイス座標系ΣＭは、図２に示すように、ツール取付け面１０ｇの中心と原点Ｏｍとが一致した状態で、且つツール取付け面１０ｇの法線方向がＺｍ軸方向に一致した状態で、ツール取付け面１０ｇに定義されている。ツール１２の寸法値として、ツール１２の基準点（先端点）Ｔのメカニカルインターフェイス座標系ΣＭにおける位置Ｐｍ（座標）が制御装置１０ｈに登録されている。登録は、例えば、ユーザによってロボット１０のティーチペンダント（図示せず）を介して実行される。
【００２８】
ロボット１０の制御装置１０ｈは、登録されているツール１２の先端点Ｔの位置Ｐｍ（座標）に基づいて、ツール１２の先端点Ｔを空間上の様々な位置に配置する。当然ながら、ツール１２の先端点Ｔを所定の位置（例えばワークに対する所定の位置）に配置するためには、制御装置１０ｈに登録されているツール１２の先端点Ｔの位置Ｐｍが正しいことが前提である。
【００２９】
ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの位置Ｐｍを正しい値にするための手段として、カメラ１４と、コンピュータ１６とが設けられている。
【００３０】
カメラ１４は、例えばデジタルカメラであって、ツール１２の先端点Ｔが撮影可能なロボット１０の周辺位置に配置されている。また、カメラ１４は、コンピュータ１６に制御されてツール１２の先端点Ｔを撮影するように、また撮影画像をデータとしてコンピュータ１６に送信するように構成されている。
【００３１】
コンピュータ１６は、カメラ１４から取得した撮影画像上において、ツール１２の先端点Ｔの位置を特定できるように構成されている。例えば、画像解析によって撮影画像の中からツール１２の先端点Ｔを識別し、撮影画像に定義されている画像座標系ΣＣにおけるツール１２の先端点Ｔの位置（座標）を特定する。
【００３２】
なお、より正確に画像解析ができるように、ツール１２の先端点Ｔに光源を設けてもよい。これにより、撮影画像内のツール１２の先端点Ｔをより正確に識別することができる。また、代わりとして、ツール１２の所定位置に光源を取付け、その光源取付け位置をツール１２の基準点としてもよい。
【００３３】
また、コンピュータ１６は、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量を計測（算出）できるように構成されている。具体的には、ロボット１０のツール取付け面１０ｇが回転する前後においてツール１２の先端点Ｔを撮影し、各撮影画像に映るツール１２の先端点Ｔの画像座標系ΣＣにおける位置（座標）を特定する。そして、特定した各撮影画像の先端点Ｔの位置（座標）に基づいて、ツール取付け面１０ｇの回転によって移動したツール１２の先端点の画像座標系ΣＣにおける移動量を算出する。
【００３４】
さらに、コンピュータ１６は、ロボット１０の制御装置１０ｈに、ロボット１０を制御する制御信号を出力するように構成されている。さらにまた、コンピュータ１６は、制御装置１０ｈに登録されているツール１２の先端点Ｔの位置Ｐｍを登録変更できるように構成されている。
【００３５】
ここからは、このようなカメラ１４とコンピュータ１６とを用い、ツール１２の寸法値として、ツール１２の先端点Ｔのメカニカルインターフェイス座標系ΣＭにおける正しい位置Ｐｍを計測（特定）する方法について説明する。
【００３６】
まず、ツール１２の先端Ｔの正しい位置Ｐｍを求める方法を概念的に説明する。なお、説明にあたり、ここからは、ツール取付け面１０ｇに対する（メカニカルインターフェイス座標系ΣＭにおける）ツール１２の先端点Ｔの実際の位置を「Ｐｍｒ」とする（以下、「実際位置Ｐｍｒ」と称する）。また、ロボット１０の制御装置１０ｈに登録されている、ツール取付け面１０ｇに対する（メカニカルインターフェイス座標系ΣＭにおける）ツール１２の先端点Ｔの位置を「Ｐｍｓ」とする（以下、「登録位置Ｐｍｓ」と称する）。
【００３７】
図３はカメラ１４の撮影画像を示しており、ツール１２の先端点Ｔが撮影画像に映っている。図３（Ａ）に示す撮影画像には、実際位置Ｐｍｒと登録位置Ｐｍｓとが距離Ｌｍａだけずれている状態のツール１２の先端点Ｔが映っている。一方、図３（Ｂ）に示す撮影画像には、実際位置Ｐｍｒと登録位置Ｐｍｓとが距離Ｌｍｂ（＜Ｌｍａ）だけずれている状態のツール１２の先端点Ｔが映っている。
【００３８】
ツール取付け面１０ｇが登録位置Ｐｍｓを通過する任意の回転中心線を中心として角度θだけ回転動作すると（そのようにロボット１０が動作すると）、ツール１２の先端点Ｔは、ロボット１０が設置されている空間においても、また画像座標系ΣＣにおいても移動する（移動前のツール１２を二点鎖線で示す）。なお、図３に示すθ’は、角度θに対応する撮影画像上における角度である。
【００３９】
図３（Ａ）と図３（Ｂ）とに示すように、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量ΔＳｃは、当然ながら実際位置Ｐｍｒと登録位置Ｐｍｓとの間の距離が短くなればなるほど、小さくなる。
【００４０】
このことから、登録位置Ｐｍｓを通過する任意の回転中心線を中心としてツール取付け面１０ｇを回転動作させたときに、画像座標系ΣＣにおいてツール１２の先端点Ｔが移動しなければ（移動量ΔＳｃがゼロであれば）、登録位置Ｐｍｓと実際位置Ｐｍｒとが一致していると言える。本発明は、この考えに基づいている。
【００４１】
この考えに基づく、ツール１２の寸法値、すなわちメカニカルインターフェイス座標系ΣＭにおける実際位置Ｐｍｒ（実際位置Ｐｍｒの座標）を求める具体的な方法について、図４および図５を参照しながら説明する。
【００４２】
図４（Ａ）は、登録位置Ｐｍｓ（座標（ｘｍｓ，ｙｍｓ，ｚｍｓ））が、実際位置Ｐｍｒ（座標は未知）に対してずれている状態の一例を示している。この状態から後述の４つのプロセスを順に繰り返し実行することにより、メカニカルインターフェイス座標系ΣＭにおける実際位置Ｐｍｒの座標を求める。
【００４３】
（第１のプロセス）
まず、第１のプロセスとして、コンピュータ１６は、図４（Ｂ）に示すように、登録位置Ｐｍｓ（座標（ｘｍｓ，ｙｍｓ，ｚｍｓ））から設定方向に設定距離離れた位置（座標（ｘｍｓ＋Δｘｍｓ，ｙｍｓ＋Δｙｍｓ，ｚｍｓ＋Δｚｍｓ））を仮の登録位置Ｐｍｓ１として設定する。なお、設定方向および設定距離は、予めコンピュータ１６の記憶装置に記憶されており、座標変化量Δｘｍｓ，Δｙｍｓ，Δｚｍｓとして記憶されている。また、「仮の登録位置」は、後に新しい登録位置としてロボット１０の制御装置１０ｈに登録される可能性がある位置である。
【００４４】
また、図４（Ｃ）に示すように、登録位置Ｐｍｓ（座標（ｘｍｓ，ｙｍｓ，ｚｍｓ））から設定方向と反対方向に設定距離離れた位置（座標（ｘｍｓ−Δｘｍｓ，ｙｍｓ−Δｙｍｓ，ｚｍｓ−Δｚｍｓ））を仮の登録位置Ｐｍｓ２として設定する。すなわち、仮登録位置Ｐｍｓ１とＰｍｓ２は、登録位置Ｐｍｓを挟んで、且つ登録位置Ｐｍｓから同一の距離離れて対向している。
【００４５】
（第２のプロセス）
次に、第２のプロセスとして、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、実際位置Ｐｍｒとの整合（一致）の程度を評価する。すなわち、登録位置Ｐｍｓ，仮登録位置Ｐｍｓ１，Ｐｍｓ２の中から、実際位置Ｐｍｒに最も近いものを選出する。
【００４６】
登録位置Ｐｍｓ，仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、実際位置Ｐｍｒとの整合の程度を評価する方法を説明する。
【００４７】
まず、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、その位置（座標）を通過する回転中心線を中心としてツール取付け面１０ｇを回転動作させ、それによって移動したツール１２の先端点Ｔの画像座標系ΣＣにおける移動量を計測(算出）する。
【００４８】
具体的には、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、ツール取付け面１０ｇにメカニカルインターフェイス座標系ΣＭのＸｍ軸と平行な回転中心線を中心とする角度θの回転動作（第１の回転動作）を実行させる。そして、その第１の回転動作によって移動したツール１２の先端点Ｔの画像座標系ΣＣにおけるＸｃ軸方向の移動量ΔＸｃとＹｃ軸方向の移動量ΔＹｃとを計測（算出）する。
【００４９】
これと同様に、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、ツール取付け面１０ｇに、Ｘｍ軸と平行な回転中心線を中心とする角度（−θ）の回転動作（第２の回転動作）、Ｙｍ軸と平行な回転中心線を中心とする角度θの回転動作（第３の回転動作）、Ｙｍ軸と平行な回転中心線を中心とする角度（−θ）の回転動作（第４の回転動作）、Ｚｍ軸と平行な回転中心線を中心とする角度θの回転動作（第５の回転動作）、およびＺｍ軸と平行な回転中心線を中心とする角度（−θ）の回転動作（第６の回転動作）を実行させ、第２〜第６の回転動作それぞれによって移動したツール１２の先端点Ｔの画像座標系ΣＣにおけるＸｃ軸方向の移動量ΔＸｃとＹｃ軸方向の移動量ΔＹｃとを計測（算出）する。
【００５０】
例えば、第３の回転動作の場合、図５（Ａ）に示すように、コンピュータ１６は、登録位置Ｐｍｓを通過する、メカニカルインターフェイス座標系ΣＭのＹｍ軸と平行な回転中心線Ｃｙｍ０を設定する。また、図５（Ｂ）に示すように、仮登録位置Ｐｍｓ１を通過する、回転中心線Ｃｙｍ０と平行な回転中心線Ｃｙｍ１を設定する。さらに、図５（Ｃ）に示すように、仮登録位置Ｐｍｓ２を通過する、回転中心線Ｃｙｍ１と平行な回転中心線Ｃｙｍ２を設定する。
【００５１】
次に、図５（Ａ）〜（Ｃ）に示すように、コンピュータ１６は、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、ロボット１０を、それぞれに設定した回転中心線を中心として所定の角度θだけツール取付け面１０ｇが回転動作するように制御する。
【００５２】
なお、ここからは、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量ΔｘｃとΔｙｃを、これらは回転中心（登録位置Ｐｍｓ，仮登録位置Ｐｍｓ１，Ｐｍｓ２）と回転動作（第１〜第６の回転動作）とによって変わる値であるので、数式１および数式２に示すように、登録位置パラメータＰｍｓ（ｉ）と、回転動作パラメータＲ（ｊ）の関数として表記する。
【数１】
2014139577.tif 000003
【数２】
2014139577.tif 000004
【００５３】
なお、数式１および数式２に示す登録位置パラメータＰｍｓ（ｉ）は、Ｐｍｓ（０）が登録位置Ｐｍｓ、Ｐｍｓ（１）が仮登録位置Ｐｍｓ１、Ｐｍｓ（２）が仮登録位置Ｐｍｓ２に対応している。回転動作パラメータＲ（ｊ）は、Ｒ（１）が第１の回転動作、Ｒ（２）が第２の回転動作、Ｒ（３）が第３の回転動作、Ｒ（４）が第４の回転動作、Ｒ（５）が第５の回転動作、Ｒ（６）が第６の回転動作に対応している。
【００５４】
続いて、コンピュータ１６は、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量の分散値を求める。具体的には、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、画像座標系ΣＣのＸｃ軸方向の移動量Δｘｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の分散値Ｖｘｃ（Ｐｍｓ（ｉ））を求める（数式３）。また、Ｙｃ軸方向の移動量Δｙｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の分散値Ｖｙｃ（Ｐｍｓ（ｉ））を求める（数式４）。
【数３】
2014139577.tif 000005
【数４】
2014139577.tif 000006
【００５５】
なお、数式１および数式２においてΔｘｃｍ（Ｐｍｓ（ｉ））は、移動量Δｘｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の平均である。また、Δｙｃｍ（Ｐｍｓ（ｉ））は、移動量Δｙｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の平均である。
【００５６】
分散値Ｖｘｃ（Ｐｍｓ（ｉ）），Ｖｙｃ（Ｐｍｓ（ｉ））を求めると、コンピュータ１６は、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、実際位置Ｐｍｒとの整合の程度を示す整合評価値Ｍ（Ｐｍｓ（ｉ））を求める。整合評価値Ｍ（Ｐｍｓ（ｉ））は、数式５に示すように、分散値Ｖｘｃ（Ｐｍｓ（ｉ））とＶｙｃ（Ｐｍｓ（ｉ））との和に定義されている。
【数５】
2014139577.tif 000007
【００５７】
この整合評価値Ｍ（Ｐｍｓ（ｉ））は、上述したようにツール１２の先端点Ｔの画像座標系ΣＣにおける移動量Δｘｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の分散値Ｖｘｃ（Ｐｍｓ（ｉ））と、移動量Δｙｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の分散値Ｖｙｃ（Ｐｍｓ（ｉ））の和であるため、この値が小さいほど、位置Ｐｍｓ（ｉ）が実際位置Ｐｍｒに近いことを示す。
【００５８】
したがって、コンピュータ１６は、実際位置Ｐｍｒに最も近いものとして、整合評価値Ｍ（Ｐｍｓ（ｉ））が最も小さい位置Ｐｍｓ（ｉ）を選出する。
【００５９】
（第３のプロセス）
続いて、第３のプロセスとして、コンピュータ１６は、第２のプロセスで選出した位置Ｐｍｓ（ｉ）を、ロボット１０の制御装置１０ｈに登録する（制御装置１０ｈに登録されているＰｍｓがＰｍｓ（ｉ）にされる）。
【００６０】
（第４のプロセス）
さらに続いて、コンピュータ１６は、第４のプロセスとして、第１のプロセスで仮登録位置Ｐｍｓ１，Ｐｍｓ２を設定するにあたって使用した設定方向を変更するおよび／または設定距離を漸減する、すなわち座標変更量Δｘｍｓ，Δｙｍｓ，Δｚｍｓの少なくとも１つの値を漸減する。
【００６１】
例えば、座標変化量ΔｙｍｓとΔｚｍｓとをゼロに維持した状態で、Δｘｍｓを設定値（予め設定されている値）から、第３のプロセスが終了する度に漸減する。次に、座標変化量Δｘｍｓがゼロになると、今度はΔｘｍｓとΔｚｍｓとをゼロに維持した状態で、Δｙｍｓを設定値から、第３のプロセスが終了する度に漸減する。続いて、座標変化量出Δｙｍｓがゼロになると、今度はΔｘｍｓとΔｙｍｓとをゼロに維持した状態で、Δｚｍｓを設定値から、第３のプロセスが終了する度にゼロになるまで漸減する。
【００６２】
そして、コンピュータ１６は、これらの第１のプロセスから第４のプロセスを１サイクルとし、そのサイクルを繰り返し実行する。それを、ツール１２の先端点Ｔの画像座標系ΣＣにおけるＸｃ軸方向の移動量ΔｘｃとＹｃ軸方向の移動量Δｙｃとが略ゼロ（例えばゼロに近い所定値、０．１）になるまで実行する。これにより、ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの登録位置Ｐｍｓは、サイクルを繰り返し実行する度に、実際位置Ｐｍｒに近づき（誤差が修正され）、最終的には略一致する。
【００６３】
このことを、図６を参照しながら説明する。図６（Ａ）に示すように、登録位置Ｐｍｓを挟んで仮登録位置Ｐｍｓ１，Ｐｍｓ２が設定される（第１のプロセス）。登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２の中、最も実際位置Ｐｍｒに近い（最も整合評価値Ｍが小さい）仮登録位置Ｐｍｓ１が選出され（第２のプロセス）、新しい登録位置としてロボット１０の制御装置１０ｈに登録される（第３のプロセス）。そして、座標変更量Δｘｍｓ，Δｙｍｓ，Δｚｍｓの少なくとも１つの値を漸減し（第４のプロセス）、１つのサイクルが終了する。
【００６４】
続いて、図６（Ｂ）に示すように、登録位置Ｐｍｓ（元は、図６（Ａ）に示す仮登録位置Ｐｍｓ１）を挟んで仮登録位置Ｐｍｓ１，Ｐｍｓ２が設定される。このとき、仮登録位置Ｐｍｓ１，Ｐｍｓ２の登録位置Ｐｍｓからの距離（すなわち誤差）は、第４のプロセスの実行によって図６（Ａ）のときに比べて短くなっている。また、仮登録位置Ｐｍｓ１，Ｐｍｓ２の登録位置Ｐｍｓからの方向も、第４のプロセスの実行によって図６（Ａ）のときに比べて変更されている。登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２の中、最も実際位置Ｐｍｒに近い（最も整合評価値Ｍが小さい）仮登録位置Ｐｍｓ１が、新しい登録位置としてロボット１０の制御装置１０ｈに登録される。そして、座標変更量Δｘｍｓ，Δｙｍｓ，Δｚｍｓの少なくとも１つの値を漸減し、１つのサイクルが終了する。
【００６５】
このようなサイクルを繰り返すと、図６（Ａ）と図６（Ｄ）とを比較してわかるように、登録位置Ｐｍｓは、１サイクル終了する度に、実際位置Ｐｍｒに向かって接近していく（登録位置Ｐｍｓと実際位置Ｐｍｒとの間の誤差が小さくなる）。このようにして、登録位置Ｐｍｓは、サイクルを繰り返し実行する度に、実際位置Ｐｍｒに近づき、最終的には略一致する（誤差が略ゼロになる）。これにより、ロボット１０の制御装置１０ｈにはツール１２の先端点Ｔの正しい位置（座標）が登録される。
【００６６】
なお、登録位置Ｐｍｓの整合評価値Ｍが最小である場合、第４のプロセスにおいて、座標変化量Δｘｍｓ，Δｙｍｓ，Δｚｍｓの少なくとも１つを漸減するよりは、大きく減少させる方が好ましい。
【００６７】
これは、登録位置Ｐｍｓの整合評価値Ｍが最小のときは、登録位置Ｐｍｓが、仮登録位置Ｐｍｓ１，Ｐｍｓ２に比べて、実際位置Ｐｍｒに近いことを示しているからである。したがって、この状態から登録位置Ｐｍｓを実際位置Ｐｍｒにより早く一致させるためには、座標変化量Δｘｍｓ，Δｙｍｓ，Δｚｍｓの少なくとも１つを大きく減少させるのが好ましい。
【００６８】
ここからは、より具体的でツール１２の先端点Ｔのメカニカルインターフェイス座標系ΣＭにおける正しい位置（座標）の算出方法の流れについて説明する。すなわち、コンピュータ１６の具体的な動作の流れについて説明する。説明は、図７および図８のフローチャートを参照しながら行う。
【００６９】
まず、図７に示すように、コンピュータ１６は、ステップＳ１００において、パラメータｋをゼロにリセットする。
【００７０】
次に、ステップＳ１１０において、コンピュータ１６は、パラメータｋをインクリメントする（１増分する）。
【００７１】
続いて、ステップＳ１２０において、コンピュータ１６は、ロボット１０の制御装置１０ｈからツール１２の先端点Ｔの登録位置Ｐｍｓを取得する。
【００７２】
ステップＳ１３０において、コンピュータ１６は、図９に示す位置変更量決定テーブルから位置変更量ΔＰｍｓ（ｋ）を取得する。位置変更量決定テーブルは、データとして予め作成されてコンピュータ１６の記憶装置に記憶されている。なお、具体的には、図９に示すように、位置変更量ΔＰｍｓ（ｋ）に対応する、座標変更量Δｘｍｓ，Δｙｍｓ，Δｚｍｓを取得する。
【００７３】
ステップＳ１４０において、コンピュータ１６は、ステップＳ１２０で取得した登録位置Ｐｍｓを位置Ｐｍｓ（０）と設定する。また、登録位置ＰｍｓからステップＳ１３０で取得した位置変更量ΔＰｍｓ（ｋ）だけ移動した位置を位置Ｐｍｓ（１）と設定する。さらに、登録位置Ｐｍｓから位置変更量（−ΔＰｍｓ（ｋ））だけ移動した位置を位置Ｐｍｓ（２）と設定する。
【００７４】
ステップＳ１５０において、コンピュータ１６は、位置Ｐｍｓ（０）、Ｐｍｓ（１）、Ｐｍｓ（２）の整合評価値Ｍ（Ｐｍｓ（０））、Ｍ（Ｐｍｓ（１））、Ｍ（Ｐｍｓ（２））を算出する。その算出の流れを、図８に示すフローチャートを参照しながら説明する。
【００７５】
まず、図８に示すように、ステップＳ３００において、コンピュータ１６は、パラメータｉを（−１）にする。
【００７６】
次に、ステップＳ３１０において、コンピュータ１６は、パラメータｉをインクリメントする。
【００７７】
続いて、ステップＳ３２０において、コンピュータ１６は、ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの位置を、位置Ｐｍｓ（ｉ）に登録変更する。
【００７８】
ステップＳ３３０において、コンピュータ１６は、カメラ１４にツール１２の先端点Ｔを撮影させ、その撮影画像に基づいて、ツール１２の先端点Ｔの画像座標系ΣＣにおける座標（ｘｃ（０），ｙｃ（０））を特定する。
【００７９】
ステップＳ３４０において、コンピュータ１６は、パラメータｊをゼロにリセットする。
【００８０】
ステップＳ３５０において、コンピュータ１６は、パラメータｊをインクリメントする。
【００８１】
ステップＳ３６０において、コンピュータ１６は、ロボット１０を制御することにより、現在制御装置１０ｈに登録されている位置Ｐｍｓ（ｉ）を中心とする回転動作Ｒ（ｊ）でツール取付け面１０ｇを回転動作させる。回転動作Ｒ（ｊ）は、データとして予め作成されてコンピュータ１６の記憶装置に記憶されている、図１０に示すような回転動作決定テーブルに基づいて決定される。
【００８２】
ステップＳ３７０において、コンピュータ１６は、ステップＳ３６０で実行された回転動作Ｒ（ｊ）後のツール１２の先端点Ｔをカメラ１４に撮影させ、その撮影画像に基づいて、ツール１２の先端点Ｔの画像座標系ΣＣにおける座標（ｘｃ（ｊ），ｙｃ（ｊ））を特定する。
【００８３】
ステップＳ３８０において、コンピュータ１６は、ステップＳ３３０で特定した、すなわちステップＳ３６０で回転動作Ｒ（ｊ）を実行する前のツール先端点Ｔの座標（ｘｃ（０），ｙｃ（０））と、ステップＳ３７０で特定した、すなわち回転動作Ｒ（ｊ）後のツール１２の先端点Ｔの座標（ｘｃ（ｊ），ｙｃ（ｊ））とに基づいて、回転動作Ｒ（ｊ）によって移動したツール１２の先端点Ｔの画像座標系ΣＣにおける移動量Δｘｃ（Ｐｍｓ（ｉ），Ｒ（ｊ）），Δｙｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））を算出する。
【００８４】
ステップＳ３９０において、コンピュータ１６は、ロボット１０を制御することにより、ツール取付け面１０ｇを、回転動作Ｒ（ｊ）の実行前の状態に戻す(ステップＳ３６０の実行前に戻す）。
【００８５】
ステップＳ４００において、コンピュータ１６は、パラメータｊが６であるか否かを判定する。すなわち、位置Ｐｍｓ（ｉ）を中心とする６つの回転動作Ｒ（１）〜Ｒ（６）全ての実行が完了したか否かを判定する。パラメータｊが６である場合は、ステップＳ４１０に進む。そうでない場合は、ステップＳ３５０に戻る。
【００８６】
ステップＳ４１０において、コンピュータ１６は、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量Δｘｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の平均値Δｘｃｍ（Ｐｍｓ（ｉ））を算出する。
【００８７】
ステップＳ４２０において、コンピュータ１６は、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量Δｙｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の平均値Δｙｃｍ（Ｐｍｓ（ｉ））を算出する。
【００８８】
ステップＳ４３０において、コンピュータ１６は、ステップＳ４１０で算出した平均値Δｘｃｍ（Ｐｍｓ（ｉ））を用いて、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量Δｘｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の分散値Ｖｘｃ（Ｐｍｓ（ｉ））を算出する（数式３参照）。
【００８９】
ステップＳ４４０において、コンピュータ１６は、ステップＳ４２０で算出した平均値Δｙｃｍ（Ｐｍｓ（ｉ））を用いて、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動量Δｙｃ（Ｐｍｓ（ｉ），Ｒ（ｊ））の分散値Ｖｙｃ（Ｐｍｓ（ｉ））を算出する（数式４参照）。
【００９０】
ステップＳ４５０において、コンピュータ１６は、ステップＳ４３０で算出した分散値Ｖｘｃ（Ｐｍｓ（ｉ））とステップＳ４４０で算出した分散値Ｖｙｃ（Ｐｍｓ（ｉ）とから、整合評価値Ｍ（Ｐｍｓ（ｉ））を算出する（数式５参照）。
【００９１】
ステップＳ４６０において、コンピュータ１６は、パラメータｉが２であるか否かを判定する。すなわち、位置Ｐｍｓ（０），Ｐｍｓ（１），Ｐｍｓ（２）それぞれについて整合評価値が算出されたか否かを判定する。パラメータｉが２の場合は、整合評価値の算出を終了し、図７に示すステップＳ１６０に進む。そうでない場合はステップＳ３１０に戻り、整合評価値の算出を継続する。
【００９２】
図７に戻り、ステップＳ１６０において、コンピュータ１６は、ステップＳ１５０で算出した整合評価値Ｍ（Ｐｍｓ（０）），Ｍ（Ｐｍｓ（１）），Ｍ（Ｐｍｓ（２））の大小を比較する。整合評価値Ｍ（Ｐｍｓ（１））が最小であるときは、ステップＳ１７０に進む。そうでない場合は、ステップＳ１８０に進む。
【００９３】
ステップＳ１７０において、コンピュータ１６は、ロボットの１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの位置を、位置Ｐｍｓ（１）に登録変更する。そして、ステップＳ２００に進む。
【００９４】
一方、ステップＳ１６０で整合評価値Ｍ（Ｐｍｓ（１））が最小ではないと判定された場合、ステップＳ１８０において、コンピュータ１６は、整合評価値Ｍ（Ｐｍｓ（２））が最小であるか否かを判定する。整合評価値Ｍ（Ｐｍｓ（２））が最小であるときは、ステップＳ１９０に進む。そうでない場合はステップＳ２００に進む。
【００９５】
ステップＳ１９０において、コンピュータ１６は、ロボットの１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの位置を、位置Ｐｍｓ（２）に登録変更する。そして、ステップＳ２００に進む。
【００９６】
ステップＳ２００において、パラメータｋが４８であるか否か、すなわち図９に示すテーブル上の座標変更量Δｘｍｓ，Δｙｍｓ，Δｚｍｓの値全てを使用したか否かを確認する。パラメータｋが４８であるときは、ツール１２の先端点Ｔの正しい位置の算出を終了する。そうでない場合は、ステップＳ１１０に戻る。
【００９７】
本実施形態によれば、任意の位置を通過する任意の回転中心線を中心としてツール取付け面１０ｇを回転動作させたときに、カメラ１４の撮影画像上においてツール１２の基準点Ｔが移動しなければ（移動量がゼロであれば）、任意の位置と実際のツールの基準点の位置とが一致しているということに基づいて、ツール取付け面１０ｇに対する（メカニカルインターフェイス座標系ΣＭにおける）ツール１２の先端点Ｔの位置（座標）が計測（特定）される。このように、ツール１２の基準点Ｔの撮影画像上における移動量（Δｘｃ，Δｙｃ）を用いるので、ロボット１０に対するカメラ１４の視線方向を特定することなく、ツール１２の寸法値、具体的にはツール取付け面１０ｇに対するツール１２の先端点Ｔの位置（座標）を計測することができる。
【００９８】
（第２の実施形態）
本実施形態は、上述の第１の実施形態とほぼ同じであって、第１の実施形態の改良形態である。第１の実施形態の場合、ツール１２の先端点Ｔの実際位置Ｐｍｒと登録位置Ｐｍｓとの間の距離が長くなればなるほど（誤差が大きいほど）、実際位置Ｐｍｒと登録位置Ｐｍｓとの一致に時間がかかる（実際位置Ｐｍｒの算出に時間がかかる）。本実施形態はこれに対処するものである。
【００９９】
基本的には、本実施形態は、ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの登録位置Ｐｍｓを概ね実際位置Ｐｍｒに近い値にした後、第１の実施形態と同様に、実際位置Ｐｍｒの座標を求めるものである。それ以外は、第１の実施形態と同じである。したがって、ここからは、ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの登録位置Ｐｍｓを概ね実際位置Ｐｍｒに近い値にする方法について説明する。
【０１００】
ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの登録位置Ｐｍｓを概ね実際位置Ｐｍｒに近い値にするために、ベクトルの線形写像を利用する。
【０１０１】
ベクトルの線形写像を利用する方法を概念的に説明する。
【０１０２】
まず図１１に示すように、メカニカルインターフェイス座標系ΣＭのＺｍ軸と直交して、登録位置Ｐｍｓを含む仮想平面Ｐｖを考える。また、仮想平面Ｐｖ上の実際位置Ｐｍｒの投影位置をＰｍｒ’（以下、「投影実際位置Ｐｍｒ’」と称する）とする。
【０１０３】
メカニカルインターフェイス座標系ΣＭのＸｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させたときの、投影実際位置Ｐｍｒ’の仮想平面Ｐｖ上における移動ベクトルをＵとし、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトルをＵｃ（請求の範囲に記載の「第１の移動ベクトル」に対応）とする。
【０１０４】
また、Ｙｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させたときの、投影実際位置Ｐｍｒ’の仮想平面Ｐｖ上における移動ベクトルをＶとし、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトルＶｃ（請求の範囲に記載の「第２の移動ベクトル」に対応）とする。
【０１０５】
さらに、登録位置Ｐｍｓを通過してＺｍ軸と平行な回転中心線を中心として角度αだけツール取付け面１０ｇを回転させたときの、投影実際位置Ｐｍｒ’の仮想平面Ｐｖ上の移動ベクトルをＷとし、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトルをＷｃ（請求の範囲に記載の「第３の移動ベクトル」に対応）とする。
【０１０６】
さらにまた、登録位置Ｐｍｓを始点とし、投影実際位置Ｐｍｒ’を終点とするベクトルＲを定義する。
【０１０７】
メカニカルインターフェイス座標系ΣＭにおける、登録位置Ｐｍｓと実際位置Ｐｍｒとの間のＸｍ軸方向の誤差をｘｍｅ、Ｙｍ軸方向の誤差をｙｍｅとすると、仮想平面ＰｖがＺｍ軸と直交していることから、仮想平面Ｐｖ上のベクトルＲは、数式６に示すように表現できる。
【数６】
2014139577.tif 000008
【０１０８】
また、図１１にも示すように、ベクトルＵとベクトルＶは直交するので、ベクトルＷは、数式７に示すように、ｇ倍したベクトルＵとｈ倍したベクトルＶの和とみなすことができる。
【数７】
2014139577.tif 000009
【０１０９】
さらに、角度αがゼロに近ければ（α≒０）、数式８に示すように、ベクトルＷの大きさは、ベクトルＲの大きさのｓｉｎα倍と近似できる。
【数８】
2014139577.tif 000010
【０１１０】
さらにまた、角度αがゼロに近ければ（α≒０）、ベクトルＲとベクトルＷは直交しているとみなすことができる。すなわち、ベクトルＷはベクトルＲを９０度回転させたものとみなすことができる。したがって、このことと数式８を考慮すると、ベクトルＷは、ベクトルＲをｓｉｎα倍して９０度（π）回転させたものとみなすことができ、数式９に示すように表現できる。
【数９】
2014139577.tif 000011
【０１１１】
数式７および数式９より、数式１０および数式１１が成り立つ。
【数１０】
2014139577.tif 000012
【数１１】
2014139577.tif 000013
【０１１２】
数式１０および１１の中、パラメータＬとαは、既知である（「Ｌ」はツール取付け面１０ｇをＸｍ軸方向またはＹｍ軸方向に平行移動させたときの移動量であって、「α」はＺｍ軸を中心として回転させたときの回転量である）。したがって、登録位置Ｐｍｓと実際位置Ｐｍｒとの誤差ｘｍｅ，ｙｍｅを求めるためには、パラメータｇ，ｈの値を求めればよい。
【０１１３】
このパラメータｇ，ｈの値を求めるために、ベクトルの線形写像を利用する。
【０１１４】
図１１に示すように、撮影画像上のベクトルＵｃ，Ｖｃ，Ｗｃは、仮想平面Ｐｖ上のベクトルＵ，Ｖ，Ｗの線形写像であるので、数式１２〜１４の関係が成り立つ。行列Ａは正方行列である。
【数１２】
2014139577.tif 000014
【数１３】
2014139577.tif 000015
【数１４】
2014139577.tif 000016
【０１１５】
行列Ａが正方行列であることから、ベクトルＷｃは、数式１５に示すように、ベクトルＵｃ，Ｖｃで示すことができる。
【数１５】
2014139577.tif 000017
【０１１６】
ここで、ベクトルＷｃのＸｃ成分をＷｘｃ、Ｙｃ成分をＷｙｃとする。また、ベクトルＵｃのＸｃ成分をＵｘｃ、Ｙｃ成分をＵｙｃとする。さらに、ベクトルＶｃのＸｃ成分をＶｘｃ、Ｙｃ成分をＶｙｃとする。すると、数式１５は、数式１６に示すように表現できる。
【数１６】
2014139577.tif 000018
【０１１７】
数式１６を式変形すると、数式１７が得られる。
【数１７】
2014139577.tif 000019
【０１１８】
この数式１７から、パラメータｇ，ｈの値を求めることができる。そして、求めたパラメータｇ，ｈの値を数式１０，１１に代入すれば、メカニカルインターフェイス座標系における登録位置Ｐｍｓと実際位置Ｐｍｒの誤差ｘｍｅ，ｙｍｅを求めることができる。
【０１１９】
なお、ベクトルＵｃのＸｃ成分ＵｘｃとＹｃ成分Ｕｙｃは、ツール取付け面１０ｇをメカニカルインターフェイス座標系ΣＭのＸｍ軸方向にＬだけ平行移動したときのツール１２の先端点Ｔの画像座標系ΣＣにおけるＸｃ軸方向、Ｙｃ軸方向の移動量であるので、該平行移動の前後においてカメラ１４によって撮影された撮影画像に基づいて算出することができる。
【０１２０】
同様に、ベクトルＶｃのＸｃ成分ＶｘｃとＹｃ成分Ｖｙｃは、ツール取付け面１０ｇをＹｍ軸方向にＬだけ平行移動したときのツール１２の先端点Ｔの画像座標系ΣＣにおけるＸｃ軸方向、Ｙｃ軸方向の移動量であるので、該平行移動の前後においてカメラ１４によって撮影された撮影画像に基づいて算出することができる。
【０１２１】
さらに同様に、ベクトルＷｃのＸｃ成分ＷｘｃとＹｃ成分Ｗｙｃは、ツール取付け面１０ｇをＺｍ軸を中心として角度αだけ回転させたときのツール１２の先端点Ｔの画像座標系ΣＣにおけるＸｃ軸方向、Ｙｃ軸方向の移動量であるので、該回転の前後においてカメラ１４によって撮影された撮影画像に基づいて算出することができる。
【０１２２】
まとめると、メカニカルインターフェイス座標系ΣＭのＸｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトルＵｃを発生させる。また、Ｙｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトルＶｃを発生させる。さらに、登録位置Ｐｍｓを通過してＺｍ軸と平行な回転中心線を中心として角度αだけツール取付け面１０ｇを回転させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトルＷｃを発生させる。この３つの移動ベクトルＵｃ，Ｖｃ，Ｗｃに基づいて、メカニカルインターフェイス座標系ΣＭにおける登録位置Ｐｍｓと実際位置Ｐｍｒの誤差ｘｍｅ，ｙｍｅを求める。
【０１２３】
同様に、登録位置Ｐｍｓを通過してＸｍ軸と平行な回転中心線を中心として角度αだけツール取付け面１０ｇを回転させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトル（請求の範囲に記載の「第４の移動ベクトル」に対応）を発生させる。また、Ｙｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトル（請求の範囲に記載の「第５の移動ベクトル」に対応）を発生させる。さらに、Ｚｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトル（請求の範囲に記載の「第６の移動ベクトル」に対応）を発生させる。この３つの移動ベクトルに基づいて、メカニカルインターフェイス座標系ΣＭにおける登録位置Ｐｍｓと実際位置Ｐｍｒの誤差ｙｍｅ，ｚｍｅ（登録位置Ｐｍｓと実際位置Ｐｍｒのメカニカルインターフェイス座標系ΣＭにおけるＺｍ軸方向の誤差）を求める。
【０１２４】
さらに同様に、Ｘｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトル（請求の範囲に記載の「第７の移動ベクトル」に対応）を発生させる。また、登録位置Ｐｍｓを通過してＹｍ軸と平行な回転中心線を中心として角度αだけツール取付け面１０ｇを回転させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトル（請求の範囲に記載の「第８の移動ベクトル」に対応）を発生させる。さらに、Ｚｍ軸方向に距離Ｌだけツール取付け面１０ｇを平行移動させることにより、ツール１２の先端点Ｔの画像座標系ΣＣにおける移動ベクトル（請求の範囲に記載の「第９の移動ベクトル」に対応）を発生させる。この３つの移動ベクトルに基づいて、メカニカルインターフェイス座標系ΣＭにおける登録位置Ｐｍｓと実際位置Ｐｍｒの誤差ｘｍｅ，ｚｍｅを求める。
【０１２５】
撮影画像上におけるツール１２の先端点Ｔの９つの移動ベクトルに基づくと、上述するように、Ｘｍ軸方向の誤差ｘｍｅ、Ｙｍ軸方向の誤差ｙｍｅ、Ｚｍ軸方向の誤差ｚｍｅそれぞれについて、２つずつ値が算出される。この場合、２つの値から、真の誤差の値に近い方を選ぶ。具体的には、それぞれの値を求める際に使用した数式１７内の右辺の正方行列
2014139577.tif 000020
の行列式Ｄ（数式１８）の絶対値が大きい方を選択する。これは、この行列式Ｄが大きい方が高精度にパラメータｇ，ｈの値を求めることができるからである。
【数１８】
2014139577.tif 000021
【０１２６】
行列式Ｄに基づく選択により、Ｘｍ軸方向の誤差ｘｍｅ、Ｙｍ軸方向の誤差ｙｍｅ、Ｚｍ軸方向の誤差ｚｍｅそれぞれについて１つずつ値が決定されると、その値に基づいて、ロボット１０の制御装置１０ｈに登録されている登録位置Ｐｍｓが、実際位置Ｐｍｒに概ね近い値に修正される。
【０１２７】
なお、このようにベクトルの線形写像を利用すれば、メカニカルインターフェイス座標系ΣＭにおける登録位置Ｐｍｓと実際位置Ｐｍｒの誤差ｘｍｅ，ｙｍｅ，ｚｍｅを求めることができる。しかしながら、その求めた誤差ｘｍｅ，ｙｍｅ，ｚｍｅの値は、上述したように角度αをゼロと近似していることなどから、その値は正確な誤差の値ではなく、概ねの値である。
【０１２８】
本実施形態によれば、ロボット１０の制御装置１０ｈに登録されているツール１２の先端点Ｔの登録位置Ｐｍｓを、実際位置Ｐｍｒに概ね近い値にした後、第１の実施形態と同様に、ツール１２の寸法値、具体的にはツール取付け面１０ｇに対するツール１２の先端点Ｔの位置（座標）を計測（算出）する。したがって、ツール１２の先端点Ｔの実際位置Ｐｍｒと登録位置Ｐｍｓとの間の距離が長い場合（誤差が大きい場合）、登録位置Ｐｍｓが実際位置Ｐｍｒに一致するまでの時間を短縮することができる（実際位置Ｐｍｒの特定時間が短縮される）。
【０１２９】
以上、上述の実施形態を挙げて本発明を説明したが、本発明はこれに限定されない。
【０１３０】
例えば、上述の実施形態の場合、第２のプロセスにおいて、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれの整合評価値Ｍを算出するとき、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、図１０のテーブルに示すようなツール取付け面１０ｇに対する６つの回転動作が実行される。しかしながら、本発明は、整合評価値Ｍを算出するにあたり、ツール取付け面１０ｇに対して実行する回転動作は６つに限らない。
【０１３１】
高い信頼性を備える整合評価値Ｍを算出するためには、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、ツール取付け面１０ｇに対して異なる複数の回転動作を実行するのが好ましい（それにより、整合評価値Ｍの算出に必要な、ツール１２の先端点Ｔの撮影画像上における移動量のデータを多く取得することができる）。しかし、その分、ツール取付け面１０ｇに対するツール１２の先端点Ｔの実際位置の計測（特定）に時間がかかる。
【０１３２】
ツール１２の先端点Ｔの実際位置の特定にかかる時間を短縮したい場合、登録位置Ｐｍｓ、仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれについて、ツール取付け面１０ｇに対して実行する回転動作を３つにしてもよい。例えば、メカニカルインターフェイス座標系ΣＭのＸｍ軸と平行な回転中心線を中心として角度θ回転する回転動作、Ｙｍ軸と平行な回転中心線を中心として角度θ回転する回転動作、およびＺｍ軸と平行な回転中心線を中心として角度θ回転する回転動作の３つとしてもよい。このことに関して言えば、原理的には、整合評価値Ｍは、１つの回転中心線を中心として一方側に角度θ回転する回転動作をツール取付け面１０ｇに対して実行すれば、算出することは可能である。
【０１３３】
また、上述の実施形態の場合、第２のプロセスにおいて、整合評価値Ｍを算出するにあたり、ツール取付け面１０ｇを回転させるときの回転中心線は、図５に示すように登録位置Ｐｍｓ，仮登録位置Ｐｍｓ１，Ｐｍｓ２それぞれを通過する、メカニカルインターフェイス座標系ΣＭのＸｍ軸、Ｙｍ軸、Ｚｍ軸と平行な回転中心線である。しかし、仮登録位置は２つに限らない。
【０１３４】
本発明において、整合評価値Ｍを算出するにあたり、ツール取付け面１０ｇを回転させるときの回転中心線は、原理的には、ツール取付け面１０ｇに対する予め設定された設定位置（座標が既知の位置であって、例えば、上述の登録位置Ｐｍｓ）および該設定位置に対して所定の位置関係の少なくとも１つの位置それぞれを通過する任意の回転中心線である。
【０１３５】
すなわち、広義的には、本発明は、以下に示すようなものと言える。ツール取付け面１０ｇに対する予め設定された設定位置および該設定位置に対して所定の位置関係の少なくとも１つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心としてツール取付け部を所定角度回転させる（工程Ａ）。また、設定位置および上記少なくとも１つの位置それぞれについて、工程Ａの実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する（工程Ｂ）。そして、工程Ｂで計測された移動量が最小の位置を新たな設定位置とし（工程Ｃ）、上記所定の位置関係を、設定位置に至る方向が変更されるようにおよび／または設定位置までの距離が漸減するように変更する（工程Ｄ）。そして、これらの工程Ａ〜Ｄを、工程Ｂで計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置とする。
【０１３６】
さらに言えば、整合評価値Ｍを算出しなくても、以下のような方法で、ツール取付け面１０ｇに対するツール１２の先端点Ｔの実際位置の計測（特定）は可能である。
【０１３７】
例えば、カメラ１４が実際のツール１２の基準点Ｔを撮影した状態で、ツール取付け面１０ｇに対する任意の位置を通過する任意の回転中心線を中心として該ツール取付け面１０ｇが回転するようなロボット１０の動作を繰り返し実行する（工程Ａ’）。また、ツール取付け面１０ｇが回転する度にその回転によって移動したツール１２の実際の基準点Ｔの撮影画像上における移動量を計測する（工程Ｂ’）。さらに、ツール取付け面１０ｇの回転が終了する度に任意の位置および／または任意の回転中心線を変更する（工程Ｃ’）。これらの工程Ａ’〜Ｃ’により、ツール取付け面１０ｇの回転によって移動するツール１２の実際の基準点Ｔの撮影画像上における移動量が略ゼロになる任意の位置を特定し、特定した任意の位置をツール取付け面１０ｇに対するツール１２の基準点Ｔの位置とする。
【０１３８】
これは、本発明に係る最も原理的な、ツール取付け面１０ｇに対するツール１２の先端点Ｔの実際位置の計測（特定）方法である。しかしながら、上述するように任意の位置を通過する任意の回転中心線の場合、回転中心線とその回転中心線が通過する位置とをランダムに決定すれば、ツール取付け面１０ｇに対するツール１２の基準点Ｔの実際位置の特定に極端に時間がかかる可能性がある。
【０１３９】
この対処として、上述の実施形態は、回転中心線を、メカニカルインターフェイス座標系ΣＭのＸｍ軸、Ｙｍ軸、Ｚｍ軸に平行な回転中心線に限定している。また、回転中心線が通過する位置を、登録位置Ｐｍｓと、該登録位置Ｐｍｓから設定方向に設定距離離れた仮登録位置Ｐｍｓ１と，該登録位置Ｐｍｓから設定方向の反対方向に設定距離離れた仮登録位置Ｐｍｓ２とに限定している。言い換えると、上述の実施形態は、任意の位置を通過する任意の回転中心線の決定方法を規定していると言える。
【符号の説明】
【０１４０】
１０    ロボット
１０ｇ  ツール取付け部（ツール取付け面）
１２    ツール
１４    カメラ
Ｔ      ツールの基準点（先端点）
【図１】
2014139577.tif 000022
【図２】
2014139577.tif 000023
【図３】
2014139577.tif 000024
【図４】
2014139577.tif 000025
【図５】
2014139577.tif 000026
【図６】
2014139577.tif 000027
【図７】
2014139577.tif 000028
【図８】
2014139577.tif 000029
【図９】
2014139577.tif 000030
【図１０】
2014139577.tif 000031
【図１１】
2014139577.tif 000032
【図１２】
2014139577.tif 000033