説明

ツール寸法の計測方法、ツール寸法の計測装置、およびその計測装置を備えるロボット

【課題】ロボットのツール取付け部に取付けられているツールの寸法を計測する。
【解決手段】ロボット10のツール取付け部10gに対するツール基準点Tの位置を計測する方法であって、カメラ14が実際のツール基準点Tを撮影した状態で、ツール取付け部10gに対する任意位置を通過する任意回転中心線を中心として該ツール取付け部が回転するようなロボット10の動作を繰り返し実行する。また、ツール取付け部10gが回転する度にその回転によって移動した実際のツール基準点Tのカメラ撮影画像上における移動量を計測する。さらに、ツール取付け部10gの回転が終了する度に任意位置および/または任意回転中心線を変更する。これらにより、ツール取付け部10gの回転によって移動する実際のツール基準点Tのカメラ撮影画像上における移動量が略ゼロになる任意位置を特定し、特定した任意位置をツール取付け部10gに対するツール基準点Tの位置とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ツールを取り付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツール基準点の位置を計測するツール寸法の計測方法、その装置、および該装置を備えるロボットに関する。
【背景技術】
【0002】
従来より、溶接ガンやスプレーガンなどのツールを、ツール取付け部(例えば、ツールの基準端面が接触するツール取付け面)に取付けてワークに対して作業を実施するロボットが使用されている。このようなツールを用いて作業を実施する場合、ツールの寸法値がロボットの制御装置に登録されている。
【0003】
例えば、ツールの寸法値として、ツール取付け面に対するツールの基準点、例えば溶接ガンの先端点が、ロボットの制御装置に登録されている。
【0004】
具体的には、例えば、ツール取付け面に予め定義されている座標系におけるツールの先端点の座標値がロボットの制御装置に登録されている。この座標値に基づいて、ロボットは、ツールの先端点をワークに対して正確に位置合わせする。
【0005】
当然ながら、ツールの先端点を正確に位置合わせするためには、登録されているツールの寸法値が正しい(実際のツール寸法値との誤差がゼロである)ことが前提である。そうでなければ、例えば、図12に示すように、ロボットが、ツールの登録寸法値に基づいて認識しているツールの先端点が直線に移動するように動作しても、ツールの実際の先端点の軌跡が直線にならないことがある。
【0006】
この対処として、正しいツールの寸法値を得ることができる、ツール寸法値を計測する方法がいくつか知られている。
【0007】
例えば、特許文献1に記載するツール寸法値の計測方法は、カメラを使用しており、カメラの撮影画像上におけるツール先端点の位置に基づいて、ツールの寸法値を計測する。
【0008】
具体的には、まず、ツール先端点がカメラの撮影画像に映るようなツール取付け面の複数の初期姿勢を用意(定義)する。初期姿勢毎に、撮影画像に映るツール先端点が該撮影画像の所定箇所(例えば画像中心)に移動するために必要な、ツール取付け面の平行移動量を算出する。そして、初期姿勢毎に、算出した平行移動量に基づいてロボットを動作させてツール取付け面を平行移動し、平行移動後のツール取付け面の位置を取得する。これにより、ツール先端点が撮影画像の所定箇所に映る、ツール取付け面の異なる複数の位置姿勢データが得られる。この異なる複数の位置姿勢データに基づくとともに、ツールの先端点がツール取付け面に対して不動であることから、ツール取付け面に対するツールの先端点の位置を算出する。
【0009】
この方法は、原理的には、ツール先端点を固定ピンの先端に接触させてツール取付け面に対するツール先端点の位置を算出する3点タッチアップまたは6点タッチアップの方法と同じである。ただし、ツール先端点が物理的な接触を受けない点で、特許文献1に記載する方法が有利である。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2005−300230号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1に記載の方法は、カメラの撮影画像上においてツール先端点が該撮影画像の所定箇所に移動するようなロボットの制御量(ツール取付け面の平行移動量)を算出するため、ロボットに対するカメラの視線方向が特定されている必要がある。したがって、カメラの設置位置が変わる度にカメラの視線方向を特定する必要がある。
【0012】
これに対処するために、カメラの視線方向を一定に定めた状態で、ロボットに対して一定の位置に該カメラを固定することが考えられる。ところが、この場合、ツールの寸法測定の正確性を確保するために、カメラの視線方向が一定に定めた状態で維持されていることを、ツール寸法値を計測する前に確認しなければならない。
【0013】
そこで、本発明は、ロボットに対するカメラの視線方向を特定することなく、カメラの撮影画像に基づいて、ロボットの制御装置に登録される、ツールの寸法値、具体的にはツール取付け部に対するツールの基準点の位置を計測することを課題とする。
【課題を解決するための手段】
【0014】
上述の課題を解決するために、本願の請求項1に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
カメラが実際のツール基準点を撮影した状態で、ツール取付け部に対する任意の位置を通過する任意の回転中心線を中心として該ツール取付け部が回転するようなロボットの動作を繰り返し実行する第1の工程と、
ツール取付け部が回転する度にその回転によって移動した実際のツール基準点のカメラの撮影画像上における移動量を計測する第2の工程と、
ツール取付け部の回転が終了する度に上記任意の位置および/または上記任意の回転中心線を変更する第3の工程とを繰り返し実行することにより、
ツール取付け部の回転によって移動する実際のツール基準点のカメラ撮影画像上における移動量が略ゼロになる任意の位置を特定し、
特定した任意の位置をツール取付け部に対するツール基準点の位置とすることを特徴とする。
【0015】
また、請求項2に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
ツール取付け部に対する予め設定された設定位置および上記設定位置に対して所定の位置関係の少なくとも1つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心として所定角度回転させる第1の工程と、
上記設定位置および上記少なくとも1つの位置それぞれについて、上記第1の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する第2の工程と、
上記第2の工程で計測された移動量が最小の位置を新たな設定位置とする第3の工程と、
上記所定の位置関係を、上記設定位置に至る方向が変更されるようにおよび/または上記設定方向までの距離が漸減するように変更する第4の工程とを、
上記第2の工程で計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置とすることを特徴とする。
【0016】
さらに、請求項3に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
制御装置に登録されているツール基準点の位置を通過する第1の回転中心線を中心としてツール取付け部を所定角度回転させる第1の工程と、
上記第1の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第1の移動量を計測する第2の工程と、
制御装置に登録されているツール基準点の位置から予め設定された設定方向に予め設定された設定距離離れた位置を通過する、第1の回転中心線と平行な第2の回転中心線を中心としてツール取付け部を上記所定角度回転させる第3の工程と、
上記第3の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第2の移動量を計測する第4の工程と、
制御装置に登録されているツール基準点の位置から上記設定方向の反対方向に上記設定距離離れた位置を通過する、第1の回転中心線と平行な第3の回転中心線を中心としてツール取付け部を上記所定角度回転させる第5の工程と、
上記第5の工程の実行によって移動した実際のツール基準点のカメラの撮影画像上における第3の移動量を計測する第6の工程と、
第1〜第3の移動量において第2の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向に上記設定距離離れた位置に変更し、
第1〜第3の移動量において第3の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向の反対方向に上記設定距離離れた位置に変更する第7の工程と、
上記設定方向を変更するおよび/または上記設定距離を漸減する第8の工程とを、繰り返し実行し、
上記第2、第4、または第6の工程のいずれかの工程で計測される移動量が略ゼロになると、第1〜第8の工程の繰り返し実行を終了することを特徴とする。
【0017】
加えて、請求項4に記載の発明は、
第1、第2、および第3の軸を有する直交座標系を予め定義し、
第1の工程が初めて実行される前に、
上記第1の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第1の移動ベクトルと、
上記第2の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第2の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第3の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第3の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第1の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第4の移動ベクトルと、
上記第2の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第5の移動ベクトルと、
上記第3の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第6の移動ベクトルと、
上記第1の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第7の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第2の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第8の移動ベクトルと、
上記第3の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第9の移動ベクトルとに基づいて、
制御装置に登録されているツール基準点と実際のツール基準点との誤差を求め、
求めた誤差に基づいて、制御装置に登録されているツール基準点の位置を修正することを特徴とする。
【0018】
加えてまた、請求項5に記載の発明は、
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測装置であって、
ロボットの周辺に配置されて実際のツール基準点を撮影するカメラと、
カメラと制御装置とを介して、ツール取付け部に対するツール基準点の位置を計測する計測手段とを有し、
計測手段は、
ツール取付け部に対する任意の位置を通過する任意の回転中心線を中心として該ツール取付け部が回転するようなロボットの動作を制御装置に繰り返し実行させ、
ツール取付け部が回転する度にその回転によって移動した実際のツール基準点のカメラの撮影画像上における移動量を計測し、且つ、
ツール取付け部の回転が終了する度に上記任意の位置および/または上記任意の回転中心線を変更することを繰り返し実行することにより、
ツール取付け部の回転によって移動する実際のツール基準点のカメラ撮影画像上における移動量が略ゼロになる任意の位置を特定し、
特定した任意の位置をツール取付け部に対するツール基準点の位置として制御装置に登録することを特徴とする。
【0019】
さらに加えて、請求項6に記載の発明は、
ツールを取付けるツール取付け部と制御装置とを備え、ツール取付け部に対するツールの基準点の位置が制御装置に登録されるロボットであって、
上述のツール寸法の計測装置を備えていることを特徴とする。
【発明の効果】
【0020】
本発明によれば、任意の位置を通過する任意の回転中心線を中心としてツール取付け部を回転動作させたときに、カメラの撮影画像上においてツールの基準点が移動しなければ(移動量がゼロであれば)、任意の位置と実際のツールの基準点の位置とが一致しているということに基づいて、ツール取付け部に対するツールの基準点の位置が計測(特定)される。このように、ツールの基準点の撮影画像上における移動量を用いるので、ロボットに対するカメラの視線方向を特定することなく、ツールの寸法値、具体的にはツール取付け部に対するツールの基準点の位置を計測することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の第1の実施形態に係る、ツールの寸法を計測するシステムを概略的に示す図である。
【図2】ツール寸法値を説明するための図である。
【図3】本発明の第1の実施形態に係るツール寸法値計測方法を概念的に説明するための図である。
【図4】本発明の第1の実施形態に係るツール寸法値計測方法を説明するための図である。
【図5】本発明の第1の実施形態に係るツール寸法値計測方法を説明するための別の図である。
【図6】本発明の第1の実施形態に係るツール寸法値計測方法を説明するためのさらに別の図である。
【図7】本発明の第1の実施形態に係るツール寸法値計測方法の流れを示すフローチャートの図である。
【図8】図7に示すステップS150の詳細を示すフローチャートの図である。
【図9】位置変更量決定テーブルを示す図である。
【図10】回転動作決定テーブルを示す図である。
【図11】ベクトルの線形写像を利用した、本発明の第2の実施形態に係るツール寸法値計測方法を説明するための図である。
【図12】実際のツール先端点とロボットの制御装置に登録されているツール先端点との間に誤差がある場合に起こる問題を説明するための図である。
【発明を実施するための形態】
【0022】
(第1の実施形態)
図1は、本発明の第1の実施形態の一例に係る、ツールの寸法値を計測するシステムを概略的に示している。
【0023】
図1に示すロボット10は、例えば6つの関節10a〜10fを備えたアーム型のロボットである。また、ロボット10は、その自由端に、例えば溶接ガンやスプレーガンなどのツール12が取付け可能なツール取付け部(ツール取付け面)10gを備えている。
【0024】
さらに、ロボット10は、6つの関節10a〜10fそれぞれを駆動する複数のモータ(図示せず)を制御する制御装置10hを備えている。この制御装置10hが6つのモータを制御することにより、ツール取付け面10gは様々な位置に様々な姿勢で配置される。これにより、ツール取付け面10gに取付けられているツール12が様々な位置に様々の姿勢で配置される。
【0025】
また、制御装置10hには、ツール12の寸法値が登録されている。ツール12の寸法値は、図2に示すように、例えば、ツール取付け面10gに定義されているメカニカルインターフェイス座標系ΣMに基づいた値にされている。
【0026】
具体的には、例えば、メカニカルインターフェイス座標系ΣMは、図2に示すように、ツール取付け面10gの中心と原点Omとが一致した状態で、且つツール取付け面10gの法線方向がZm軸方向に一致した状態で、ツール取付け面10gに定義されている。ツール12の寸法値として、ツール12の基準点(先端点)Tのメカニカルインターフェイス座標系ΣMにおける位置Pm(座標)が制御装置10hに登録されている。登録は、例えば、ユーザによってロボット10のティーチペンダント(図示せず)を介して実行される。
【0027】
ロボット10の制御装置10hは、登録されているツール12の先端点Tの位置Pm(座標)に基づいて、ツール12の先端点Tを空間上の様々な位置に配置する。当然ながら、ツール12の先端点Tを所定の位置(例えばワークに対する所定の位置)に配置するためには、制御装置10hに登録されているツール12の先端点Tの位置Pmが正しいことが前提である。
【0028】
ロボット10の制御装置10hに登録されているツール12の先端点Tの位置Pmを正しい値にするための手段として、カメラ14と、コンピュータ16とが設けられている。
【0029】
カメラ14は、例えばデジタルカメラであって、ツール12の先端点Tが撮影可能なロボット10の周辺位置に配置されている。また、カメラ14は、コンピュータ16に制御されてツール12の先端点Tを撮影するように、また撮影画像をデータとしてコンピュータ16に送信するように構成されている。
【0030】
コンピュータ16は、カメラ14から取得した撮影画像上において、ツール12の先端点Tの位置を特定できるように構成されている。例えば、画像解析によって撮影画像の中からツール12の先端点Tを識別し、撮影画像に定義されている画像座標系ΣCにおけるツール12の先端点Tの位置(座標)を特定する。
【0031】
なお、より正確に画像解析ができるように、ツール12の先端点Tに光源を設けてもよい。これにより、撮影画像内のツール12の先端点Tをより正確に識別することができる。また、代わりとして、ツール12の所定位置に光源を取付け、その光源取付け位置をツール12の基準点としてもよい。
【0032】
また、コンピュータ16は、ツール12の先端点Tの画像座標系ΣCにおける移動量を計測(算出)できるように構成されている。具体的には、ロボット10のツール取付け面10gが回転する前後においてツール12の先端点Tを撮影し、各撮影画像に映るツール12の先端点Tの画像座標系ΣCにおける位置(座標)を特定する。そして、特定した各撮影画像の先端点Tの位置(座標)に基づいて、ツール取付け面10gの回転によって移動したツール12の先端点の画像座標系ΣCにおける移動量を算出する。
【0033】
さらに、コンピュータ16は、ロボット10の制御装置10hに、ロボット10を制御する制御信号を出力するように構成されている。さらにまた、コンピュータ16は、制御装置10hに登録されているツール12の先端点Tの位置Pmを登録変更できるように構成されている。
【0034】
ここからは、このようなカメラ14とコンピュータ16とを用い、ツール12の寸法値として、ツール12の先端点Tのメカニカルインターフェイス座標系ΣMにおける正しい位置Pmを計測(特定)する方法について説明する。
【0035】
まず、ツール12の先端Tの正しい位置Pmを求める方法を概念的に説明する。なお、説明にあたり、ここからは、ツール取付け面10gに対する(メカニカルインターフェイス座標系ΣMにおける)ツール12の先端点Tの実際の位置を「Pmr」とする(以下、「実際位置Pmr」と称する)。また、ロボット10の制御装置10hに登録されている、ツール取付け面10gに対する(メカニカルインターフェイス座標系ΣMにおける)ツール12の先端点Tの位置を「Pms」とする(以下、「登録位置Pms」と称する)。
【0036】
図3はカメラ14の撮影画像を示しており、ツール12の先端点Tが撮影画像に映っている。図3(A)に示す撮影画像には、実際位置Pmrと登録位置Pmsとが距離Lmaだけずれている状態のツール12の先端点Tが映っている。一方、図3(B)に示す撮影画像には、実際位置Pmrと登録位置Pmsとが距離Lmb(<Lma)だけずれている状態のツール12の先端点Tが映っている。
【0037】
ツール取付け面10gが登録位置Pmsを通過する任意の回転中心線を中心として角度θだけ回転動作すると(そのようにロボット10が動作すると)、ツール12の先端点Tは、ロボット10が設置されている空間においても、また画像座標系ΣCにおいても移動する(移動前のツール12を二点鎖線で示す)。なお、図3に示すθ’は、角度θに対応する撮影画像上における角度である。
【0038】
図3(A)と図3(B)とに示すように、ツール12の先端点Tの画像座標系ΣCにおける移動量ΔScは、当然ながら実際位置Pmrと登録位置Pmsとの間の距離が短くなればなるほど、小さくなる。
【0039】
このことから、登録位置Pmsを通過する任意の回転中心線を中心としてツール取付け面10gを回転動作させたときに、画像座標系ΣCにおいてツール12の先端点Tが移動しなければ(移動量ΔScがゼロであれば)、登録位置Pmsと実際位置Pmrとが一致していると言える。本発明は、この考えに基づいている。
【0040】
この考えに基づく、ツール12の寸法値、すなわちメカニカルインターフェイス座標系ΣMにおける実際位置Pmr(実際位置Pmrの座標)を求める具体的な方法について、図4および図5を参照しながら説明する。
【0041】
図4(A)は、登録位置Pms(座標(xms,yms,zms))が、実際位置Pmr(座標は未知)に対してずれている状態の一例を示している。この状態から後述の4つのプロセスを順に繰り返し実行することにより、メカニカルインターフェイス座標系ΣMにおける実際位置Pmrの座標を求める。
【0042】
(第1のプロセス)
まず、第1のプロセスとして、コンピュータ16は、図4(B)に示すように、登録位置Pms(座標(xms,yms,zms))から設定方向に設定距離離れた位置(座標(xms+Δxms,yms+Δyms,zms+Δzms))を仮の登録位置Pms1として設定する。なお、設定方向および設定距離は、予めコンピュータ16の記憶装置に記憶されており、座標変化量Δxms,Δyms,Δzmsとして記憶されている。また、「仮の登録位置」は、後に新しい登録位置としてロボット10の制御装置10hに登録される可能性がある位置である。
【0043】
また、図4(C)に示すように、登録位置Pms(座標(xms,yms,zms))から設定方向と反対方向に設定距離離れた位置(座標(xms−Δxms,yms−Δyms,zms−Δzms))を仮の登録位置Pms2として設定する。すなわち、仮登録位置Pms1とPms2は、登録位置Pmsを挟んで、且つ登録位置Pmsから同一の距離離れて対向している。
【0044】
(第2のプロセス)
次に、第2のプロセスとして、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、実際位置Pmrとの整合(一致)の程度を評価する。すなわち、登録位置Pms,仮登録位置Pms1,Pms2の中から、実際位置Pmrに最も近いものを選出する。
【0045】
登録位置Pms,仮登録位置Pms1,Pms2それぞれについて、実際位置Pmrとの整合の程度を評価する方法を説明する。
【0046】
まず、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、その位置(座標)を通過する回転中心線を中心としてツール取付け面10gを回転動作させ、それによって移動したツール12の先端点Tの画像座標系ΣCにおける移動量を計測(算出)する。
【0047】
具体的には、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、ツール取付け面10gにメカニカルインターフェイス座標系ΣMのXm軸と平行な回転中心線を中心とする角度θの回転動作(第1の回転動作)を実行させる。そして、その第1の回転動作によって移動したツール12の先端点Tの画像座標系ΣCにおけるXc軸方向の移動量ΔXcとYc軸方向の移動量ΔYcとを計測(算出)する。
【0048】
これと同様に、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、ツール取付け面10gに、Xm軸と平行な回転中心線を中心とする角度(−θ)の回転動作(第2の回転動作)、Ym軸と平行な回転中心線を中心とする角度θの回転動作(第3の回転動作)、Ym軸と平行な回転中心線を中心とする角度(−θ)の回転動作(第4の回転動作)、Zm軸と平行な回転中心線を中心とする角度θの回転動作(第5の回転動作)、およびZm軸と平行な回転中心線を中心とする角度(−θ)の回転動作(第6の回転動作)を実行させ、第2〜第6の回転動作それぞれによって移動したツール12の先端点Tの画像座標系ΣCにおけるXc軸方向の移動量ΔXcとYc軸方向の移動量ΔYcとを計測(算出)する。
【0049】
例えば、第3の回転動作の場合、図5(A)に示すように、コンピュータ16は、登録位置Pmsを通過する、メカニカルインターフェイス座標系ΣMのYm軸と平行な回転中心線Cym0を設定する。また、図5(B)に示すように、仮登録位置Pms1を通過する、回転中心線Cym0と平行な回転中心線Cym1を設定する。さらに、図5(C)に示すように、仮登録位置Pms2を通過する、回転中心線Cym1と平行な回転中心線Cym2を設定する。
【0050】
次に、図5(A)〜(C)に示すように、コンピュータ16は、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、ロボット10を、それぞれに設定した回転中心線を中心として所定の角度θだけツール取付け面10gが回転動作するように制御する。
【0051】
なお、ここからは、ツール12の先端点Tの画像座標系ΣCにおける移動量ΔxcとΔycを、これらは回転中心(登録位置Pms,仮登録位置Pms1,Pms2)と回転動作(第1〜第6の回転動作)とによって変わる値であるので、数式1および数式2に示すように、登録位置パラメータPms(i)と、回転動作パラメータR(j)の関数として表記する。
【数1】

【数2】

【0052】
なお、数式1および数式2に示す登録位置パラメータPms(i)は、Pms(0)が登録位置Pms、Pms(1)が仮登録位置Pms1、Pms(2)が仮登録位置Pms2に対応している。回転動作パラメータR(j)は、R(1)が第1の回転動作、R(2)が第2の回転動作、R(3)が第3の回転動作、R(4)が第4の回転動作、R(5)が第5の回転動作、R(6)が第6の回転動作に対応している。
【0053】
続いて、コンピュータ16は、ツール12の先端点Tの画像座標系ΣCにおける移動量の分散値を求める。具体的には、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、画像座標系ΣCのXc軸方向の移動量Δxc(Pms(i),R(j))の分散値Vxc(Pms(i))を求める(数式3)。また、Yc軸方向の移動量Δyc(Pms(i),R(j))の分散値Vyc(Pms(i))を求める(数式4)。
【数3】

【数4】

【0054】
なお、数式1および数式2においてΔxcm(Pms(i))は、移動量Δxc(Pms(i),R(j))の平均である。また、Δycm(Pms(i))は、移動量Δyc(Pms(i),R(j))の平均である。
【0055】
分散値Vxc(Pms(i)),Vyc(Pms(i))を求めると、コンピュータ16は、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、実際位置Pmrとの整合の程度を示す整合評価値M(Pms(i))を求める。整合評価値M(Pms(i))は、数式5に示すように、分散値Vxc(Pms(i))とVyc(Pms(i))との和に定義されている。
【数5】

【0056】
この整合評価値M(Pms(i))は、上述したようにツール12の先端点Tの画像座標系ΣCにおける移動量Δxc(Pms(i),R(j))の分散値Vxc(Pms(i))と、移動量Δyc(Pms(i),R(j))の分散値Vyc(Pms(i))の和であるため、この値が小さいほど、位置Pms(i)が実際位置Pmrに近いことを示す。
【0057】
したがって、コンピュータ16は、実際位置Pmrに最も近いものとして、整合評価値M(Pms(i))が最も小さい位置Pms(i)を選出する。
【0058】
(第3のプロセス)
続いて、第3のプロセスとして、コンピュータ16は、第2のプロセスで選出した位置Pms(i)を、ロボット10の制御装置10hに登録する(制御装置10hに登録されているPmsがPms(i)にされる)。
【0059】
(第4のプロセス)
さらに続いて、コンピュータ16は、第4のプロセスとして、第1のプロセスで仮登録位置Pms1,Pms2を設定するにあたって使用した設定方向を変更するおよび/または設定距離を漸減する、すなわち座標変更量Δxms,Δyms,Δzmsの少なくとも1つの値を漸減する。
【0060】
例えば、座標変化量ΔymsとΔzmsとをゼロに維持した状態で、Δxmsを設定値(予め設定されている値)から、第3のプロセスが終了する度に漸減する。次に、座標変化量Δxmsがゼロになると、今度はΔxmsとΔzmsとをゼロに維持した状態で、Δymsを設定値から、第3のプロセスが終了する度に漸減する。続いて、座標変化量出Δymsがゼロになると、今度はΔxmsとΔymsとをゼロに維持した状態で、Δzmsを設定値から、第3のプロセスが終了する度にゼロになるまで漸減する。
【0061】
そして、コンピュータ16は、これらの第1のプロセスから第4のプロセスを1サイクルとし、そのサイクルを繰り返し実行する。それを、ツール12の先端点Tの画像座標系ΣCにおけるXc軸方向の移動量ΔxcとYc軸方向の移動量Δycとが略ゼロ(例えばゼロに近い所定値、0.1)になるまで実行する。これにより、ロボット10の制御装置10hに登録されているツール12の先端点Tの登録位置Pmsは、サイクルを繰り返し実行する度に、実際位置Pmrに近づき(誤差が修正され)、最終的には略一致する。
【0062】
このことを、図6を参照しながら説明する。図6(A)に示すように、登録位置Pmsを挟んで仮登録位置Pms1,Pms2が設定される(第1のプロセス)。登録位置Pms、仮登録位置Pms1,Pms2の中、最も実際位置Pmrに近い(最も整合評価値Mが小さい)仮登録位置Pms1が選出され(第2のプロセス)、新しい登録位置としてロボット10の制御装置10hに登録される(第3のプロセス)。そして、座標変更量Δxms,Δyms,Δzmsの少なくとも1つの値を漸減し(第4のプロセス)、1つのサイクルが終了する。
【0063】
続いて、図6(B)に示すように、登録位置Pms(元は、図6(A)に示す仮登録位置Pms1)を挟んで仮登録位置Pms1,Pms2が設定される。このとき、仮登録位置Pms1,Pms2の登録位置Pmsからの距離(すなわち誤差)は、第4のプロセスの実行によって図6(A)のときに比べて短くなっている。また、仮登録位置Pms1,Pms2の登録位置Pmsからの方向も、第4のプロセスの実行によって図6(A)のときに比べて変更されている。登録位置Pms、仮登録位置Pms1,Pms2の中、最も実際位置Pmrに近い(最も整合評価値Mが小さい)仮登録位置Pms1が、新しい登録位置としてロボット10の制御装置10hに登録される。そして、座標変更量Δxms,Δyms,Δzmsの少なくとも1つの値を漸減し、1つのサイクルが終了する。
【0064】
このようなサイクルを繰り返すと、図6(A)と図6(D)とを比較してわかるように、登録位置Pmsは、1サイクル終了する度に、実際位置Pmrに向かって接近していく(登録位置Pmsと実際位置Pmrとの間の誤差が小さくなる)。このようにして、登録位置Pmsは、サイクルを繰り返し実行する度に、実際位置Pmrに近づき、最終的には略一致する(誤差が略ゼロになる)。これにより、ロボット10の制御装置10hにはツール12の先端点Tの正しい位置(座標)が登録される。
【0065】
なお、登録位置Pmsの整合評価値Mが最小である場合、第4のプロセスにおいて、座標変化量Δxms,Δyms,Δzmsの少なくとも1つを漸減するよりは、大きく減少させる方が好ましい。
【0066】
これは、登録位置Pmsの整合評価値Mが最小のときは、登録位置Pmsが、仮登録位置Pms1,Pms2に比べて、実際位置Pmrに近いことを示しているからである。したがって、この状態から登録位置Pmsを実際位置Pmrにより早く一致させるためには、座標変化量Δxms,Δyms,Δzmsの少なくとも1つを大きく減少させるのが好ましい。
【0067】
ここからは、より具体的でツール12の先端点Tのメカニカルインターフェイス座標系ΣMにおける正しい位置(座標)の算出方法の流れについて説明する。すなわち、コンピュータ16の具体的な動作の流れについて説明する。説明は、図7および図8のフローチャートを参照しながら行う。
【0068】
まず、図7に示すように、コンピュータ16は、ステップS100において、パラメータkをゼロにリセットする。
【0069】
次に、ステップS110において、コンピュータ16は、パラメータkをインクリメントする(1増分する)。
【0070】
続いて、ステップS120において、コンピュータ16は、ロボット10の制御装置10hからツール12の先端点Tの登録位置Pmsを取得する。
【0071】
ステップS130において、コンピュータ16は、図9に示す位置変更量決定テーブルから位置変更量ΔPms(k)を取得する。位置変更量決定テーブルは、データとして予め作成されてコンピュータ16の記憶装置に記憶されている。なお、具体的には、図9に示すように、位置変更量ΔPms(k)に対応する、座標変更量Δxms,Δyms,Δzmsを取得する。
【0072】
ステップS140において、コンピュータ16は、ステップS120で取得した登録位置Pmsを位置Pms(0)と設定する。また、登録位置PmsからステップS130で取得した位置変更量ΔPms(k)だけ移動した位置を位置Pms(1)と設定する。さらに、登録位置Pmsから位置変更量(−ΔPms(k))だけ移動した位置を位置Pms(2)と設定する。
【0073】
ステップS150において、コンピュータ16は、位置Pms(0)、Pms(1)、Pms(2)の整合評価値M(Pms(0))、M(Pms(1))、M(Pms(2))を算出する。その算出の流れを、図8に示すフローチャートを参照しながら説明する。
【0074】
まず、図8に示すように、ステップS300において、コンピュータ16は、パラメータiを(−1)にする。
【0075】
次に、ステップS310において、コンピュータ16は、パラメータiをインクリメントする。
【0076】
続いて、ステップS320において、コンピュータ16は、ロボット10の制御装置10hに登録されているツール12の先端点Tの位置を、位置Pms(i)に登録変更する。
【0077】
ステップS330において、コンピュータ16は、カメラ14にツール12の先端点Tを撮影させ、その撮影画像に基づいて、ツール12の先端点Tの画像座標系ΣCにおける座標(xc(0),yc(0))を特定する。
【0078】
ステップS340において、コンピュータ16は、パラメータjをゼロにリセットする。
【0079】
ステップS350において、コンピュータ16は、パラメータjをインクリメントする。
【0080】
ステップS360において、コンピュータ16は、ロボット10を制御することにより、現在制御装置10hに登録されている位置Pms(i)を中心とする回転動作R(j)でツール取付け面10gを回転動作させる。回転動作R(j)は、データとして予め作成されてコンピュータ16の記憶装置に記憶されている、図10に示すような回転動作決定テーブルに基づいて決定される。
【0081】
ステップS370において、コンピュータ16は、ステップS360で実行された回転動作R(j)後のツール12の先端点Tをカメラ14に撮影させ、その撮影画像に基づいて、ツール12の先端点Tの画像座標系ΣCにおける座標(xc(j),yc(j))を特定する。
【0082】
ステップS380において、コンピュータ16は、ステップS330で特定した、すなわちステップS360で回転動作R(j)を実行する前のツール先端点Tの座標(xc(0),yc(0))と、ステップS370で特定した、すなわち回転動作R(j)後のツール12の先端点Tの座標(xc(j),yc(j))とに基づいて、回転動作R(j)によって移動したツール12の先端点Tの画像座標系ΣCにおける移動量Δxc(Pms(i),R(j)),Δyc(Pms(i),R(j))を算出する。
【0083】
ステップS390において、コンピュータ16は、ロボット10を制御することにより、ツール取付け面10gを、回転動作R(j)の実行前の状態に戻す(ステップS360の実行前に戻す)。
【0084】
ステップS400において、コンピュータ16は、パラメータjが6であるか否かを判定する。すなわち、位置Pms(i)を中心とする6つの回転動作R(1)〜R(6)全ての実行が完了したか否かを判定する。パラメータjが6である場合は、ステップS410に進む。そうでない場合は、ステップS350に戻る。
【0085】
ステップS410において、コンピュータ16は、ツール12の先端点Tの画像座標系ΣCにおける移動量Δxc(Pms(i),R(j))の平均値Δxcm(Pms(i))を算出する。
【0086】
ステップS420において、コンピュータ16は、ツール12の先端点Tの画像座標系ΣCにおける移動量Δyc(Pms(i),R(j))の平均値Δycm(Pms(i))を算出する。
【0087】
ステップS430において、コンピュータ16は、ステップS410で算出した平均値Δxcm(Pms(i))を用いて、ツール12の先端点Tの画像座標系ΣCにおける移動量Δxc(Pms(i),R(j))の分散値Vxc(Pms(i))を算出する(数式3参照)。
【0088】
ステップS440において、コンピュータ16は、ステップS420で算出した平均値Δycm(Pms(i))を用いて、ツール12の先端点Tの画像座標系ΣCにおける移動量Δyc(Pms(i),R(j))の分散値Vyc(Pms(i))を算出する(数式4参照)。
【0089】
ステップS450において、コンピュータ16は、ステップS430で算出した分散値Vxc(Pms(i))とステップS440で算出した分散値Vyc(Pms(i)とから、整合評価値M(Pms(i))を算出する(数式5参照)。
【0090】
ステップS460において、コンピュータ16は、パラメータiが2であるか否かを判定する。すなわち、位置Pms(0),Pms(1),Pms(2)それぞれについて整合評価値が算出されたか否かを判定する。パラメータiが2の場合は、整合評価値の算出を終了し、図7に示すステップS160に進む。そうでない場合はステップS310に戻り、整合評価値の算出を継続する。
【0091】
図7に戻り、ステップS160において、コンピュータ16は、ステップS150で算出した整合評価値M(Pms(0)),M(Pms(1)),M(Pms(2))の大小を比較する。整合評価値M(Pms(1))が最小であるときは、ステップS170に進む。そうでない場合は、ステップS180に進む。
【0092】
ステップS170において、コンピュータ16は、ロボットの10の制御装置10hに登録されているツール12の先端点Tの位置を、位置Pms(1)に登録変更する。そして、ステップS200に進む。
【0093】
一方、ステップS160で整合評価値M(Pms(1))が最小ではないと判定された場合、ステップS180において、コンピュータ16は、整合評価値M(Pms(2))が最小であるか否かを判定する。整合評価値M(Pms(2))が最小であるときは、ステップS190に進む。そうでない場合はステップS200に進む。
【0094】
ステップS190において、コンピュータ16は、ロボットの10の制御装置10hに登録されているツール12の先端点Tの位置を、位置Pms(2)に登録変更する。そして、ステップS200に進む。
【0095】
ステップS200において、パラメータkが48であるか否か、すなわち図9に示すテーブル上の座標変更量Δxms,Δyms,Δzmsの値全てを使用したか否かを確認する。パラメータkが48であるときは、ツール12の先端点Tの正しい位置の算出を終了する。そうでない場合は、ステップS110に戻る。
【0096】
本実施形態によれば、任意の位置を通過する任意の回転中心線を中心としてツール取付け面10gを回転動作させたときに、カメラ14の撮影画像上においてツール12の基準点Tが移動しなければ(移動量がゼロであれば)、任意の位置と実際のツールの基準点の位置とが一致しているということに基づいて、ツール取付け面10gに対する(メカニカルインターフェイス座標系ΣMにおける)ツール12の先端点Tの位置(座標)が計測(特定)される。このように、ツール12の基準点Tの撮影画像上における移動量(Δxc,Δyc)を用いるので、ロボット10に対するカメラ14の視線方向を特定することなく、ツール12の寸法値、具体的にはツール取付け面10gに対するツール12の先端点Tの位置(座標)を計測することができる。
【0097】
(第2の実施形態)
本実施形態は、上述の第1の実施形態とほぼ同じであって、第1の実施形態の改良形態である。第1の実施形態の場合、ツール12の先端点Tの実際位置Pmrと登録位置Pmsとの間の距離が長くなればなるほど(誤差が大きいほど)、実際位置Pmrと登録位置Pmsとの一致に時間がかかる(実際位置Pmrの算出に時間がかかる)。本実施形態はこれに対処するものである。
【0098】
基本的には、本実施形態は、ロボット10の制御装置10hに登録されているツール12の先端点Tの登録位置Pmsを概ね実際位置Pmrに近い値にした後、第1の実施形態と同様に、実際位置Pmrの座標を求めるものである。それ以外は、第1の実施形態と同じである。したがって、ここからは、ロボット10の制御装置10hに登録されているツール12の先端点Tの登録位置Pmsを概ね実際位置Pmrに近い値にする方法について説明する。
【0099】
ロボット10の制御装置10hに登録されているツール12の先端点Tの登録位置Pmsを概ね実際位置Pmrに近い値にするために、ベクトルの線形写像を利用する。
【0100】
ベクトルの線形写像を利用する方法を概念的に説明する。
【0101】
まず図11に示すように、メカニカルインターフェイス座標系ΣMのZm軸と直交して、登録位置Pmsを含む仮想平面Pvを考える。また、仮想平面Pv上の実際位置Pmrの投影位置をPmr’(以下、「投影実際位置Pmr’」と称する)とする。
【0102】
メカニカルインターフェイス座標系ΣMのXm軸方向に距離Lだけツール取付け面10gを平行移動させたときの、投影実際位置Pmr’の仮想平面Pv上における移動ベクトルをUとし、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトルをUc(請求の範囲に記載の「第1の移動ベクトル」に対応)とする。
【0103】
また、Ym軸方向に距離Lだけツール取付け面10gを平行移動させたときの、投影実際位置Pmr’の仮想平面Pv上における移動ベクトルをVとし、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトルVc(請求の範囲に記載の「第2の移動ベクトル」に対応)とする。
【0104】
さらに、登録位置Pmsを通過してZm軸と平行な回転中心線を中心として角度αだけツール取付け面10gを回転させたときの、投影実際位置Pmr’の仮想平面Pv上の移動ベクトルをWとし、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトルをWc(請求の範囲に記載の「第3の移動ベクトル」に対応)とする。
【0105】
さらにまた、登録位置Pmsを始点とし、投影実際位置Pmr’を終点とするベクトルRを定義する。
【0106】
メカニカルインターフェイス座標系ΣMにおける、登録位置Pmsと実際位置Pmrとの間のXm軸方向の誤差をxme、Ym軸方向の誤差をymeとすると、仮想平面PvがZm軸と直交していることから、仮想平面Pv上のベクトルRは、数式6に示すように表現できる。
【数6】

【0107】
また、図11にも示すように、ベクトルUとベクトルVは直交するので、ベクトルWは、数式7に示すように、g倍したベクトルUとh倍したベクトルVの和とみなすことができる。
【数7】

【0108】
さらに、角度αがゼロに近ければ(α≒0)、数式8に示すように、ベクトルWの大きさは、ベクトルRの大きさのsinα倍と近似できる。
【数8】

【0109】
さらにまた、角度αがゼロに近ければ(α≒0)、ベクトルRとベクトルWは直交しているとみなすことができる。すなわち、ベクトルWはベクトルRを90度回転させたものとみなすことができる。したがって、このことと数式8を考慮すると、ベクトルWは、ベクトルRをsinα倍して90度(π)回転させたものとみなすことができ、数式9に示すように表現できる。
【数9】

【0110】
数式7および数式9より、数式10および数式11が成り立つ。
【数10】

【数11】

【0111】
数式10および11の中、パラメータLとαは、既知である(「L」はツール取付け面10gをXm軸方向またはYm軸方向に平行移動させたときの移動量であって、「α」はZm軸を中心として回転させたときの回転量である)。したがって、登録位置Pmsと実際位置Pmrとの誤差xme,ymeを求めるためには、パラメータg,hの値を求めればよい。
【0112】
このパラメータg,hの値を求めるために、ベクトルの線形写像を利用する。
【0113】
図11に示すように、撮影画像上のベクトルUc,Vc,Wcは、仮想平面Pv上のベクトルU,V,Wの線形写像であるので、数式12〜14の関係が成り立つ。行列Aは正方行列である。
【数12】

【数13】

【数14】

【0114】
行列Aが正方行列であることから、ベクトルWcは、数式15に示すように、ベクトルUc,Vcで示すことができる。
【数15】

【0115】
ここで、ベクトルWcのXc成分をWxc、Yc成分をWycとする。また、ベクトルUcのXc成分をUxc、Yc成分をUycとする。さらに、ベクトルVcのXc成分をVxc、Yc成分をVycとする。すると、数式15は、数式16に示すように表現できる。
【数16】

【0116】
数式16を式変形すると、数式17が得られる。
【数17】

【0117】
この数式17から、パラメータg,hの値を求めることができる。そして、求めたパラメータg,hの値を数式10,11に代入すれば、メカニカルインターフェイス座標系における登録位置Pmsと実際位置Pmrの誤差xme,ymeを求めることができる。
【0118】
なお、ベクトルUcのXc成分UxcとYc成分Uycは、ツール取付け面10gをメカニカルインターフェイス座標系ΣMのXm軸方向にLだけ平行移動したときのツール12の先端点Tの画像座標系ΣCにおけるXc軸方向、Yc軸方向の移動量であるので、該平行移動の前後においてカメラ14によって撮影された撮影画像に基づいて算出することができる。
【0119】
同様に、ベクトルVcのXc成分VxcとYc成分Vycは、ツール取付け面10gをYm軸方向にLだけ平行移動したときのツール12の先端点Tの画像座標系ΣCにおけるXc軸方向、Yc軸方向の移動量であるので、該平行移動の前後においてカメラ14によって撮影された撮影画像に基づいて算出することができる。
【0120】
さらに同様に、ベクトルWcのXc成分WxcとYc成分Wycは、ツール取付け面10gをZm軸を中心として角度αだけ回転させたときのツール12の先端点Tの画像座標系ΣCにおけるXc軸方向、Yc軸方向の移動量であるので、該回転の前後においてカメラ14によって撮影された撮影画像に基づいて算出することができる。
【0121】
まとめると、メカニカルインターフェイス座標系ΣMのXm軸方向に距離Lだけツール取付け面10gを平行移動させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトルUcを発生させる。また、Ym軸方向に距離Lだけツール取付け面10gを平行移動させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトルVcを発生させる。さらに、登録位置Pmsを通過してZm軸と平行な回転中心線を中心として角度αだけツール取付け面10gを回転させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトルWcを発生させる。この3つの移動ベクトルUc,Vc,Wcに基づいて、メカニカルインターフェイス座標系ΣMにおける登録位置Pmsと実際位置Pmrの誤差xme,ymeを求める。
【0122】
同様に、登録位置Pmsを通過してXm軸と平行な回転中心線を中心として角度αだけツール取付け面10gを回転させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトル(請求の範囲に記載の「第4の移動ベクトル」に対応)を発生させる。また、Ym軸方向に距離Lだけツール取付け面10gを平行移動させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトル(請求の範囲に記載の「第5の移動ベクトル」に対応)を発生させる。さらに、Zm軸方向に距離Lだけツール取付け面10gを平行移動させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトル(請求の範囲に記載の「第6の移動ベクトル」に対応)を発生させる。この3つの移動ベクトルに基づいて、メカニカルインターフェイス座標系ΣMにおける登録位置Pmsと実際位置Pmrの誤差yme,zme(登録位置Pmsと実際位置Pmrのメカニカルインターフェイス座標系ΣMにおけるZm軸方向の誤差)を求める。
【0123】
さらに同様に、Xm軸方向に距離Lだけツール取付け面10gを平行移動させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトル(請求の範囲に記載の「第7の移動ベクトル」に対応)を発生させる。また、登録位置Pmsを通過してYm軸と平行な回転中心線を中心として角度αだけツール取付け面10gを回転させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトル(請求の範囲に記載の「第8の移動ベクトル」に対応)を発生させる。さらに、Zm軸方向に距離Lだけツール取付け面10gを平行移動させることにより、ツール12の先端点Tの画像座標系ΣCにおける移動ベクトル(請求の範囲に記載の「第9の移動ベクトル」に対応)を発生させる。この3つの移動ベクトルに基づいて、メカニカルインターフェイス座標系ΣMにおける登録位置Pmsと実際位置Pmrの誤差xme,zmeを求める。
【0124】
撮影画像上におけるツール12の先端点Tの9つの移動ベクトルに基づくと、上述するように、Xm軸方向の誤差xme、Ym軸方向の誤差yme、Zm軸方向の誤差zmeそれぞれについて、2つずつ値が算出される。この場合、2つの値から、真の誤差の値に近い方を選ぶ。具体的には、それぞれの値を求める際に使用した数式17内の右辺の正方行列

の行列式D(数式18)の絶対値が大きい方を選択する。これは、この行列式Dが大きい方が高精度にパラメータg,hの値を求めることができるからである。
【数18】

【0125】
行列式Dに基づく選択により、Xm軸方向の誤差xme、Ym軸方向の誤差yme、Zm軸方向の誤差zmeそれぞれについて1つずつ値が決定されると、その値に基づいて、ロボット10の制御装置10hに登録されている登録位置Pmsが、実際位置Pmrに概ね近い値に修正される。
【0126】
なお、このようにベクトルの線形写像を利用すれば、メカニカルインターフェイス座標系ΣMにおける登録位置Pmsと実際位置Pmrの誤差xme,yme,zmeを求めることができる。しかしながら、その求めた誤差xme,yme,zmeの値は、上述したように角度αをゼロと近似していることなどから、その値は正確な誤差の値ではなく、概ねの値である。
【0127】
本実施形態によれば、ロボット10の制御装置10hに登録されているツール12の先端点Tの登録位置Pmsを、実際位置Pmrに概ね近い値にした後、第1の実施形態と同様に、ツール12の寸法値、具体的にはツール取付け面10gに対するツール12の先端点Tの位置(座標)を計測(算出)する。したがって、ツール12の先端点Tの実際位置Pmrと登録位置Pmsとの間の距離が長い場合(誤差が大きい場合)、登録位置Pmsが実際位置Pmrに一致するまでの時間を短縮することができる(実際位置Pmrの特定時間が短縮される)。
【0128】
以上、上述の実施形態を挙げて本発明を説明したが、本発明はこれに限定されない。
【0129】
例えば、上述の実施形態の場合、第2のプロセスにおいて、登録位置Pms、仮登録位置Pms1,Pms2それぞれの整合評価値Mを算出するとき、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、図10のテーブルに示すようなツール取付け面10gに対する6つの回転動作が実行される。しかしながら、本発明は、整合評価値Mを算出するにあたり、ツール取付け面10gに対して実行する回転動作は6つに限らない。
【0130】
高い信頼性を備える整合評価値Mを算出するためには、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、ツール取付け面10gに対して異なる複数の回転動作を実行するのが好ましい(それにより、整合評価値Mの算出に必要な、ツール12の先端点Tの撮影画像上における移動量のデータを多く取得することができる)。しかし、その分、ツール取付け面10gに対するツール12の先端点Tの実際位置の計測(特定)に時間がかかる。
【0131】
ツール12の先端点Tの実際位置の特定にかかる時間を短縮したい場合、登録位置Pms、仮登録位置Pms1,Pms2それぞれについて、ツール取付け面10gに対して実行する回転動作を3つにしてもよい。例えば、メカニカルインターフェイス座標系ΣMのXm軸と平行な回転中心線を中心として角度θ回転する回転動作、Ym軸と平行な回転中心線を中心として角度θ回転する回転動作、およびZm軸と平行な回転中心線を中心として角度θ回転する回転動作の3つとしてもよい。このことに関して言えば、原理的には、整合評価値Mは、1つの回転中心線を中心として一方側に角度θ回転する回転動作をツール取付け面10gに対して実行すれば、算出することは可能である。
【0132】
また、上述の実施形態の場合、第2のプロセスにおいて、整合評価値Mを算出するにあたり、ツール取付け面10gを回転させるときの回転中心線は、図5に示すように登録位置Pms,仮登録位置Pms1,Pms2それぞれを通過する、メカニカルインターフェイス座標系ΣMのXm軸、Ym軸、Zm軸と平行な回転中心線である。しかし、仮登録位置は2つに限らない。
【0133】
本発明において、整合評価値Mを算出するにあたり、ツール取付け面10gを回転させるときの回転中心線は、原理的には、ツール取付け面10gに対する予め設定された設定位置(座標が既知の位置であって、例えば、上述の登録位置Pms)および該設定位置に対して所定の位置関係の少なくとも1つの位置それぞれを通過する任意の回転中心線である。
【0134】
すなわち、広義的には、本発明は、以下に示すようなものと言える。ツール取付け面10gに対する予め設定された設定位置および該設定位置に対して所定の位置関係の少なくとも1つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心として所定角度回転させる(工程A)。また、設定位置および上記少なくとも1つの位置それぞれについて、工程Aの実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する(工程B)。そして、工程Bで計測された移動量が最小の位置を新たな設定位置とし(工程C)、上記所定の位置関係を、設定位置に至る方向が変更されるようにおよび/または設定方向までの距離が漸減するように変更する(工程D)。そして、これらの工程A〜Dを、工程Bで計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置とする。
【0135】
さらに言えば、整合評価値Mを算出しなくても、以下のような方法で、ツール取付け面10gに対するツール12の先端点Tの実際位置の計測(特定)は可能である。
【0136】
例えば、カメラ14が実際のツール12の基準点Tを撮影した状態で、ツール取付け面10gに対する任意の位置を通過する任意の回転中心線を中心として該ツール取付け面10gが回転するようなロボット10の動作を繰り返し実行する(工程A’)。また、ツール取付け面10gが回転する度にその回転によって移動したツール12の実際の基準点Tの撮影画像上における移動量を計測する(工程B’)。さらに、ツール取付け面10gの回転が終了する度に任意の位置および/または任意の回転中心線を変更する(工程C’)。これらの工程A’〜C’により、ツール取付け面10gの回転によって移動するツール12の実際の基準点Tの撮影画像上における移動量が略ゼロになる任意の位置を特定し、特定した任意の位置をツール取付け面10gに対するツール12の基準点Tの位置とする。
【0137】
これは、本発明に係る最も原理的な、ツール取付け面10gに対するツール12の先端点Tの実際位置の計測(特定)方法である。しかしながら、上述するように任意の位置を通過する任意の回転中心線の場合、回転中心線とその回転中心線が通過する位置とをランダムに決定すれば、ツール取付け面10gに対するツール12の基準点Tの実際位置の特定に極端に時間がかかる可能性がある。
【0138】
この対処として、上述の実施形態は、回転中心線を、メカニカルインターフェイス座標系ΣMのXm軸、Ym軸、Zm軸に平行な回転中心線に限定している。また、回転中心線が通過する位置を、登録位置Pmsと、該登録位置Pmsから設定方向に設定距離離れた仮登録位置Pms1と,該登録位置Pmsから設定方向の反対方向に設定距離離れた仮登録位置Pms2とに限定している。言い換えると、上述の実施形態は、任意の位置を通過する任意の回転中心線の決定方法を規定していると言える。
【符号の説明】
【0139】
10 ロボット
10g ツール取付け部(ツール取付け面)
12 ツール
14 カメラ
T ツールの基準点(先端点)

【特許請求の範囲】
【請求項1】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
カメラが実際のツール基準点を撮影した状態で、ツール取付け部に対する任意の位置を通過する任意の回転中心線を中心として該ツール取付け部が回転するようなロボットの動作を繰り返し実行する第1の工程と、
ツール取付け部が回転する度にその回転によって移動した実際のツール基準点のカメラの撮影画像上における移動量を計測する第2の工程と、
ツール取付け部の回転が終了する度に上記任意の位置および/または上記任意の回転中心線を変更する第3の工程とを繰り返し実行することにより、
ツール取付け部の回転によって移動する実際のツール基準点のカメラ撮影画像上における移動量が略ゼロになる任意の位置を特定し、
特定した任意の位置をツール取付け部に対するツール基準点の位置とすることを特徴とするツール寸法の計測方法。
【請求項2】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
ツール取付け部に対する予め設定された設定位置および上記設定位置に対して所定の位置関係の少なくとも1つの位置それぞれについて、当該位置を通過する所定方向に延びる回転中心線を中心として所定角度回転させる第1の工程と、
上記設定位置および上記少なくとも1つの位置それぞれについて、上記第1の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における移動量を計測する第2の工程と、
上記第2の工程で計測された移動量が最小の位置を新たな設定位置とする第3の工程と、
上記所定の位置関係を、上記設定位置に至る方向が変更されるようにおよび/または上記設定方向までの距離が漸減するように変更する第4の工程とを、
上記第2の工程で計測される移動量が略ゼロになる位置が特定されるまで繰り返し実行し、特定された位置をツール取付け部に対するツール基準点の位置とすることを特徴とするツール寸法の計測方法。
【請求項3】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測方法であって、
制御装置に登録されているツール基準点の位置を通過する第1の回転中心線を中心としてツール取付け部を所定角度回転させる第1の工程と、
上記第1の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第1の移動量を計測する第2の工程と、
制御装置に登録されているツール基準点の位置から予め設定された設定方向に予め設定された設定距離離れた位置を通過する、第1の回転中心線と平行な第2の回転中心線を中心としてツール取付け部を上記所定角度回転させる第3の工程と、
上記第3の工程の実行によって移動した実際のツール基準点のカメラ撮影画像上における第2の移動量を計測する第4の工程と、
制御装置に登録されているツール基準点の位置から上記設定方向の反対方向に上記設定距離離れた位置を通過する、第1の回転中心線と平行な第3の回転中心線を中心としてツール取付け部を上記所定角度回転させる第5の工程と、
上記第5の工程の実行によって移動した実際のツール基準点のカメラの撮影画像上における第3の移動量を計測する第6の工程と、
第1〜第3の移動量において第2の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向に上記設定距離離れた位置に変更し、
第1〜第3の移動量において第3の移動量が最小のときは、制御装置に登録されているツール基準点の位置を上記設定方向の反対方向に上記設定距離離れた位置に変更する第7の工程と、
上記設定方向を変更するおよび/または上記設定距離を漸減する第8の工程とを、繰り返し実行し、
上記第2、第4、または第6の工程のいずれかの工程で計測される移動量が略ゼロになると、第1〜第8の工程の繰り返し実行を終了することを特徴とするツール寸法の計測方法。
【請求項4】
第1、第2、および第3の軸を有する直交座標系を予め定義し、
第1の工程が初めて実行される前に、
上記第1の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第1の移動ベクトルと、
上記第2の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第2の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第3の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第3の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第1の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第4の移動ベクトルと、
上記第2の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第5の移動ベクトルと、
上記第3の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第6の移動ベクトルと、
上記第1の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第7の移動ベクトルと、
制御装置に登録されているツール基準点の位置を通過して上記第2の軸と平行な回転中心線を中心としてツール取付け部を回転させて発生する、実際のツール基準点のカメラの撮影画像上における第8の移動ベクトルと、
上記第3の軸方向にツール取付け部を平行移動させて発生する、実際のツール基準点のカメラの撮影画像上における第9の移動ベクトルとに基づいて、
制御装置に登録されているツール基準点と実際のツール基準点との誤差を求め、
求めた誤差に基づいて、制御装置に登録されているツール基準点の位置を修正することを特徴とする請求項1から3のいずれか1項に記載のツール寸法の計測方法。
【請求項5】
ツールを取付けるツール取付け部を備えるロボットの制御装置に登録される、ツール取付け部に対するツールの基準点の位置を計測するツール寸法の計測装置であって、
ロボットの周辺に配置されて実際のツール基準点を撮影するカメラと、
カメラと制御装置とを介して、ツール取付け部に対するツール基準点の位置を計測する計測手段とを有し、
計測手段は、
ツール取付け部に対する任意の位置を通過する任意の回転中心線を中心として該ツール取付け部が回転するようなロボットの動作を制御装置に繰り返し実行させ、
ツール取付け部が回転する度にその回転によって移動した実際のツール基準点のカメラの撮影画像上における移動量を計測し、且つ、
ツール取付け部の回転が終了する度に上記任意の位置および/または上記任意の回転中心線を変更することを繰り返し実行することにより、
ツール取付け部の回転によって移動する実際のツール基準点のカメラ撮影画像上における移動量が略ゼロになる任意の位置を特定し、
特定した任意の位置をツール取付け部に対するツール基準点の位置として制御装置に登録することを特徴とするツール寸法の計測装置。
【請求項6】
ツールを取付けるツール取付け部と制御装置とを備え、ツール取付け部に対するツールの基準点の位置が制御装置に登録されるロボットであって、
請求項5に記載のツール寸法の計測装置を備えていることを特徴とするロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−128114(P2011−128114A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−289370(P2009−289370)
【出願日】平成21年12月21日(2009.12.21)
【出願人】(000000974)川崎重工業株式会社 (1,710)
【Fターム(参考)】