(57)【要約】【課題】    ロボットに搭載した受光デバイスを用いた被測定ターゲットの３次元位置計測の簡素化。【解決手段】  カメラ（受光デバイス）で捉えた被測定ターゲット３１の画像を受光面中心にもってくる所定点移動処理を行なってから、カメラの姿勢を変えずにカメラと被測定ターゲット３１の距離が異なる位置へロボットを並進移動させ、再度、所定点移動処理を実行する。各所定点移動処理後のロボット位置から視線４０の方向を表わす座標系Σv1の方向を求める。次いで、ロボット位置を座標系Σv1のＺ軸周りで１８０度回転させ、再び所定点移動処理を実行する。前後の座標系Σv1の中点が視線の位置・姿勢を表わす座標系Σv2の原点となる。ロボット位置を座標系Σv2のＹ軸周りに傾けた位置にロボットを移動させ、所定点移動処理を実行し、前後のロボット位置から被測定ターゲット３１の３次元位置を求める。【選択図】        図６
2005201824.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのアーム先端部周辺に受光デバイスを装着した計測装置であって、
前記ロボットを初期位置に位置決めする手段と、
前記受光デバイスの受光面上に結像した被測定ターゲットの前記受光面上での位置を求める手段と、
前記被測定ターゲットの受光面上での位置を、前記受光面上の所定箇所に向かわせるような前記ロボットの移動量を求める手段と、
前記移動量に応じて前記ロボットを移動させる手段と、
前記移動後の前記ロボットの位置を取得し記憶する手段と、
前記初期位置を複数個設け、各初期位置毎に前記ロボットを移動させて記憶した前記ロボットの位置を用い、前記ロボットの座標系に対する前記受光デバイスの視線の位置または方向またはその両方を求める手段と、
を備えたことを特徴とする計測装置。
【請求項２】
前記移動後、前記ロボットの位置を取得し記憶する前に、前記受光デバイスの受光面上に結像した被測定ターゲットの位置と前記受光面上の所定箇所が所定の誤差内で一致したことを判定するターゲット一致判定手段を備えた、請求項１に記載の計測装置。
【請求項３】
前記ターゲット一致判定手段により、前記所定の誤差内で一致したと判定できなかった場合、前記移動後の前記ロボットの位置を再度初期位置とする手段を備えた、請求項２に記載の計測装置。
【請求項４】
前記受光デバイスの姿勢が一致し、且つ該受光デバイスと前記被測定ターゲットの距離のみが異なる少なくとも２つの前記ロボットの位置を用いて、前記ロボットの座標系に対する前記受光デバイスの視線の方向を求める手段を備える、請求項１乃至請求項３の内、何れか１項に記載の計測装置。
【請求項５】
前記求めた前記ロボットの座標系に対する前記受光デバイスの視線の方向に基づき、該視線の方向に平行な軸回りの回転を含む前記受光デバイスの姿勢を変化させた少なくとも２つの前記ロボットの位置を用いて、前記ロボットの座標系に対する前記受光デバイスの視線の位置を求める手段を備える、請求項４に記載の計測装置。
【請求項６】
前記求めた前記ロボットの座標系に対する前記受光デバイスの視線の位置および方向に基づき、該視線の方向に垂直な軸周りの回転を含む前記受光デバイスの姿勢を変化させた少なくとも２つの前記ロボットの位置を用いて、前記ロボットの座標系に対する前記被測定ターゲットの３次元位置を求める手段を備える、請求項５に記載の計測装置。
【請求項７】
前記受光デバイスは、前記ロボットのアーム先端部周辺に着脱可能であり、計測を行なう時に該ロボットのアームの先端部周辺に取り付けられ、前記計測の終了後に取り外されることを特徴とする、請求項１乃至請求項６の内、何れか１項に記載の計測装置。
【請求項８】
前記受光デバイスは、前記ロボットのアーム先端部周辺に着脱可能であり、
前記ロボットは、該ロボットと周辺物との相対関係を計測する時に該ロボットのアーム先端部周辺に前記受光デバイスを装着し計測の用途に使用され、前記相対関係の計測の終了後に前記受光デバイスを取り外し計測以外の用途に使用されることを特徴とする、請求項１乃至請求項６の内、何れか１項に記載の計測装置。
【請求項９】
前記受光デバイスは２次元画像を撮像するカメラである請求項１乃至請求項８の内、何れか１項に記載の計測装置。
【請求項１０】
前記受光デバイスは受光量分布の重心を求めるＰＳＤである請求項１乃至請求項８の内、何れか１項に記載の計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに受光デバイスを搭載し、該受光デバイスで被測定ターゲット（被測定対象物上の測定を行なおうとする箇所のこと；以下、同じ）からの光を受光面で捉えて計測を行なう計測装置に関する。
【背景技術】
【０００２】
ロボットに対する周辺物の位置、より具体的にはその周辺物の上に設けられた被測定ターゲットの位置を求めるオーソドックスな方法として、タッチアップによる方法が知られている。これは、ロボットのアーム先端に固定された座標系（メカニカルインターフェイス座標系）に対するツール先端点（ＴＣＰ：  Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）の位置を予め求めておき、ロボットをジョグ送りで移動させてツール先端点を被測定ターゲット（測定希望点）にぴったり一致させた上でロボットの位置データを取り込むことで、被測定ターゲットの位置を知るものである。
【０００３】
また、ロボットとカメラを組み合せて、ロボットのアーム先端部にカメラを装着し、ロボットによってカメラを移動させることによってステレオ計測を行ない、ロボットに対する被測定ターゲットの位置を求めるという方法もある。周知のように、この方法を実施するには、一般にカメラ本体と固定関係にある場所に座標系（センサ座標系）を定義し、センサ座標系上の位置とそれに対応するカメラ画像上の位置を予め求めるキャリブレーションが必要となる。このようなキャリブレーションについては既に当技術分野では周知となっているので、その詳細については説明を省略する。
【０００４】
更に、ロボットとカメラを組み合せた方法では、上記のキャリブレーションに加えて、ロボットとカメラの相対関係を求めておく必要がある。これはロボットの座標系とセンサ座標系の結合などと呼ばれている。その例としては下記の非特許文献１及び特許文献１に開示がある。
【０００５】
【非特許文献１】Roger Y. Tsai and Reimar K. Lenz, "A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration", IEEE Trans. on Robotics and Automation, Vol.5, No.3, 1989, pp.345-358
【特許文献１】特開平１０−６３３１７号公報  これらキャリブレーションおよび座標系の結合が共に済んでいれば、ロボットに対して、カメラから被測定ターゲットに向かう視線が求められるようになるので、カメラを２箇所に移動させて被測定ターゲットを捕らえれば、２つの視線の交点としてロボットに対する被測定ターゲットの３次元位置が求められることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記した従来の２つの方法（タッチアップによる方法／カメラ−ロボットの組み合わせによる方法）にはそれぞれ問題がある。  
先ず、ロボットを用いたタッチアップの方法では、ロボット（メカニカルインターフェイス）に対するツール先端点設定の設定誤差、タッチアップ時の被測定ターゲットへの位置合わせ誤差により、高い精度を出すことは簡単でない。ツール先端点の設定、タッチアップではいずれも、ロボットをジョグ送りで移動させて、目標とする点にロボットのツール先端点を合わせることが必要とされるが、この時のロボットの姿勢の取り方、作業者の熟練度により精度に差が出易い。また、この位置合わせは目視で行なうため、熟練者でも精度が出にくい。更に、ツール先端を被測定ターゲットの極く近傍にまで接近あるいは接触させるため、干渉事故（ツールや被測定対象物等の損傷）を招き易いという欠点もある。
【０００７】
一方、ロボットのアーム先端部にカメラを装着し、ロボットによってカメラを移動させることによってステレオ計測を行なう方法は、カメラでの被測定ターゲットの計測に基づくので、目視のような人為的誤差要因が排除されるため精度は安定し、かつ非接触測定であるので安全性も高い。しかし、上記した通り、キャリブレーションと座標系結合が必要であり、事前準備を含めてこれら作業に要する負担は軽くない。このことを図１を参照して簡単に説明しておく。
【０００８】
図１は、従来技術におけるキャリブレーションで用いられる典型的な配置を記した図である。同図において、符号１はロボット制御装置５で制御されるロボットで、そのアーム先端部周辺にカメラ４が装着されている。カメラ４は、ＬＣＤ、ＣＲＴ等からなるモニタ３を持つ画像処理装置２に接続されている。符号６は、キャリブレーションのために用意されるプレート状の治具（キャリブレーション用プレート）であり、例えば既知の配列でドットパターンを描いたものが用いられる。詳細は省略するが、カメラ４でこのキャリブレーション用プレート６の撮像を行い、その画像を画像処理装置２で解析し、センサ座標系が定義され、センサ座標系上の位置とそれに対応するカメラ画像上の位置の対応関係を記述する諸パラメータが、キャリブレーションデータとして求められ、記憶される。
【０００９】
更に、上記背景技術の説明で挙げたような公知技術に基づいてロボットに関する座標系とカメラに関する座標系の結合が行なわれる。図１の例に即して具体的に言えば、ロボット１のメカニカルインターフェイス座標系Σf と、センサ座標系Σs の相対関係を表わす行列データが取得される。このような一連の作業には煩雑な事前準備も必要であり、専用のキャリブレーション用プレート６を用意しなければならない。また一般に、カメラの受光デバイス（例えばＣＣＤアレイ）や結像レンズには形状歪みが存在し、特にレンズ歪みについては無視できないレベルのものであることが珍しくない。レンズ歪みは画像の周囲部ほどその程度が大きく、被測定ターゲットが画像上のどこに映っているかによって、カメラの代表点（例えば受光面の中心）と被測定ターゲットを結ぶ視線の計算にばらついた大きさの誤差が含まれてしまうことになる。
【００１０】
そこで、本発明の目的は、ロボットのアーム先端周辺に装着したカメラあるいはそれに代わるＰＳＤ（位置検出型光検出器＝Position Sensing Type Detector；以下、同じ）を用いて被測定ターゲットを計測するタイプの計測装置を改良し、煩雑な準備や専用のキャリブレーション用プレートを必要とせずに、計測を実行できるようにすることにある。また、結像に用いるレンズや受光デバイスの形状歪みの影響を受けることを無くすことをも併せて意図している。
【課題を解決するための手段】
【００１１】
本発明は、ロボットのアーム先端部に装着したカメラを用いて被測定ターゲットを計測する際に、従来のような専用のキャリブレーション用プレートを用いたキャリブレーションを不要とし、簡便な方法でカメラから被測定ターゲットに向かう視線を求めることができるようにして上記課題を解決する。更に、画像上の所定位置に被測定ターゲットが映っている状況のデータに基づいて被測定ターゲットの位置を求めることで、レンズや受光デバイスの形状歪みの影響を受けることを回避できるようにする。
【００１２】
本発明の基本的な考え方は、ロボットのアーム先端周辺に装備した受光デバイス（典型的にはカメラあるいはＰＳＤ；以下、同様）の受光面で被測定ターゲットからの光を捕らえ、それが所定箇所（例えばカメラ画像中心あるいはＰＳＤの原点位置）に映るようにロボットを移動させた上でロボット位置を取得するという機能をベースにして、受光デバイスを様々な姿勢にしてロボットを移動させることと組み合わせることで、ロボットとカメラ視線の関係を求めることにある。そして、一旦この関係が求められれば、被測定ターゲットを２方向から受光デバイスで捕らえれば、ステレオ計測の原理により被測定ターゲットの３次元位置が取得可能になる訳である。
【００１３】
より具体的に言えば、請求項１に記載された発明では、ロボットのアーム先端部周辺に受光デバイスを装着した計測装置に、前記ロボットを初期位置に位置決めする手段と、前記受光デバイスの受光面上に結像した被測定ターゲットの前記受光面上での位置を求める手段と、前記被測定ターゲットの受光面上での位置を、前記受光面上の所定箇所に向かわせるような前記ロボットの移動量を求める手段と、前記移動量に応じて前記ロボットを移動させる手段と、前記移動後の前記ロボットの位置を取得し記憶する手段と、前記初期位置を複数個設け、各初期位置毎に前記ロボットを移動させて記憶した前記ロボットの位置を用い、前記ロボットの座標系に対する前記受光デバイスの視線の位置と方向を求める手段が、既述の課題を解決するための基本的な技術手段として設けられる。
【００１４】
請求項２の発明では、前記移動後、前記ロボットの位置を取得し記憶する前に、前記受光デバイスの受光面上に結像した被測定ターゲットの位置と前記受光面上の所定箇所が所定の誤差内で一致したことを判定するターゲット一致判定手段が設けられる。これにより、受光デバイスの受光面上に結像した被測定ターゲットの位置と受光面上の所定箇所の一致を確実にすることができる。  
請求項３の発明では、前記ターゲット一致判定手段により、前記所定の誤差内で一致したと判定できなかった場合、前記移動後の前記ロボットの位置を再度初期位置とする手段が設けられる。これにより、ロボット移動の繰り返しで受光デバイスの受光面上に結像した被測定ターゲットの位置と受光面上の所定箇所の一致を更に確実にすることが可能になる。
【００１５】
請求項４の発明では、前記受光デバイスの姿勢が一致し、且つ該受光デバイスと前記被測定ターゲットの距離のみが異なる少なくとも２つの前記ロボットの位置を用いて、前記ロボットの座標系に対する前記受光デバイスの視線の方向を求める手段が設けられる。これにより、ロボットに対する受光デバイスの視線の方向を求める具体構成が提供される。
【００１６】
請求項５の発明では、前記求めた前記ロボットの座標系に対する前記受光デバイスの視線の方向に基づき、該視線の方向に平行な軸回りの回転を含む前記受光デバイスの姿勢を変化させた少なくとも２つの前記ロボットの位置を用いて、前記ロボットの座標系に対する前記受光デバイスの視線の位置を求める手段が設けられる。これにより、ロボットに対する受光デバイスの視線の位置を求める具体構成が提供される。
【００１７】
請求項６の発明では、前記求めた前記ロボットの座標系に対する前記受光デバイスの視線の位置および方向に基づき、該視線の方向に垂直な軸周りの回転を含む前記受光デバイスの姿勢を変化させた少なくとも２つの前記ロボットの位置を用いて、前記ロボットの座標系に対する前記被測定ターゲットの３次元位置を求める手段が設けられる。これにより、被測定ターゲットの３次元位置を求める具体構成が提供される。
請求項７の発明は、上記発明について、特に前記受光デバイスが前記ロボットのアーム先端部周辺に着脱可能であり、計測を行なう時に該ロボットのアームの先端部周辺に取り付けられ、前記計測の終了後に取り外されるようにしたものである。
請求項８の発明は、上記発明について、特に前記受光デバイスが前記ロボットのアーム先端部周辺に着脱可能であり、前記ロボットが周辺装置との相対関係を計測する時に該ロボットのアーム先端部周辺に前記受光デバイスを装着し計測の用途に使用され、前記相対関係の計測の終了後に前記受光デバイスを取り外し、それにより計測以外の用途に使用されることを可能にしたものである。
【００１８】
更に、請求項９、請求項１０の発明は、上記各発明について、特に、前記受光デバイスは２次元画像を撮像するカメラである場合と、受光量分布の重心を求めるＰＳＤである場合を特定したものである。
【発明の効果】
【００１９】
本願発明によれば、ロボットのアーム先端部に装着したカメラ、ＰＳＤ等の受光デバイスを用いて被測定ターゲットを計測する際に、従来のような専用のキャリブレーション用プレートを用いたキャリブレーションを不要とし、簡便な方法でカメラから被測定ターゲットに向かう視線を求めることができるようになる。  
また、画像上の所定位置に被測定ターゲットが映っている状況のデータに基づいて被測定ターゲットの位置を求めることで、レンズや受光デバイスの形状歪みの影響を受けることが無くなる。結果的に簡便な方法で精度の高い計測ができるようになる。
また上記のように、簡便な方法でカメラから被測定ターゲットに向かう視線を求めることができるが故に、ロボットとカメラの相対関係を変えて一旦は計測ができない状態にしてしまったとしても、容易に計測ができる状態に戻すことができる。すなわち、計測が必要な時のみアーム先端部にカメラを装着し、計測が終了したらカメラを取り外してしまう計測装置が構成可能となる。これは計測が必要な時のみロボットを計測装置の一要素として用い、計測が不要なときは他の用途にロボットを利用できるという効果ももたらしている。
【発明を実施するための最良の形態】
【００２０】
以下、図２〜図１０を順次参照して本発明の実施形態について説明する。先ず図２は、本発明の一実施形態の全体構成の概略を示した図である。同図において、ロボット１のアーム先端部周辺にカメラ４が装着される。カメラ４は、例えばＣＣＤカメラで、撮像により２次元画像を受光面（ＣＣＤアレイ面上）で検出する機能を持つ周知の受光デバイスであり、ＬＣＤ、ＣＲＴ等からなるモニタ３を持つ画像処理装置２に接続されている。
【００２１】
符号３０はロボット１に対する周辺物であり、ここではロボット１との相対関係を計測する必要のある被測定対象物を意味し、被測定ターゲット３１（測定しようとする箇所）は、被測定対象物３０上にある。この被測定ターゲット３１は、被測定対象物３０自体が備えた形状特徴である場合もあるし、被測定対象物３０の上に設けた位置計測のための基準マークである場合もある。詳細は後述するが、カメラ４でこの被測定ターゲット３１を視野に収めて撮像を行い、その画像を画像処理装置２で解析する。撮像時に、カメラ４の代表点（例えば受光面の中心）から被測定ターゲット３１に向かう直線を視線と呼び、ここでは符号４０で示されている。モニタ３は画像処理装置２に付設されているＬＣＤ、ＣＲＴ等のモニタで、必要時に所要の画像を表示する。
【００２２】
ロボット１は公知の典型的なロボットで、図３に示したような周知のブロック構成を有している。即ち、メインＣＰＵ（以下、単にＣＰＵと言う。）１１に接続されたバス１７に、ＲＡＭ、ＲＯＭ、不揮発性メモリ等からなるメモリ１２、教示操作盤用インターフェイス１３、外部装置用の入出力インターフェイス１６、サーボ制御部１５及び通信インターフェイス１４が並列に接続されている。
教示操作盤用インターフェイス１３に接続される教示操作盤１８は通常のディスプレイ機能付のもので、オペレータは、この教示操作盤１８のマニュアル操作を通して、ロボットの動作プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された動作プログラムの再生運転、ジョグ送り等を実行する。ロボット及びロボット制御装置の基本機能を支えるシステムプログラムは、メモリ１２のＲＯＭに格納される。また、アプリケーションに応じて教示されるロボットの動作プログラム（例えばスポット溶接のプログラム）並びに関連設定データは、メモリ１２の不揮発性メモリに格納される。
【００２３】
なお、後述する諸処理（視線を求めることに関連したロボット移動及びそのための画像処理装置との通信等のための処理）のためのプログラム、パラメータ等のデータもメモリ１２の不揮発性メモリに格納される。メモリ１２のＲＡＭは、メインＣＰＵ１１が行なう各種演算処理におけるデータの一時記憶の記憶領域に使用される。サーボ制御部１５はサーボ制御器＃１〜＃ｎ（ｎ：ロボットの総軸数で、ここではｎ＝６とする）を備え、ロボット制御のための演算処理（軌道計画作成とそれに基づく補間、逆変換など）を経て作成された移動指令を受け、各軸に付属したパルスコーダ（図示省略）から受け取るフィードバック信号と併せてサーボアンプＡ１〜Ａｎにトルク指令を出力する。各サーボアンプＡ1 〜Ａn は、各トルク指令に基づいて各軸のサーボモータに電流を供給してそれらを駆動する。通信インターフェイス１４は、画像処理装置２（図２参照）に接続されており、この通信インターフェイス１４を介して、後述する計測に関連する指令、計測結果データ等の授受がロボット制御装置との間で行なわれる。
【００２４】
画像処理装置２は、図４に示した周知のブロック構成を有している。即ち、画像処理装置２はマイクロプロセッサからなるＣＰＵ２０を有しており、ＣＰＵ２０には、バスライン３０を介してＲＯＭ２１、画像処理プロセッサ２２、カメラインターフェイス２３、モニタインターフェイス２４、入出力機器（Ｉ／Ｏ）２５、フレームメモリ（画像メモリ）２６、不揮発性メモリ２７、ＲＡＭ２８及び通信インターフェイス２９が各々接続されている。
【００２５】
カメラインターフェイス２３には、撮像手段であるカメラ（ここではカメラ４；図２参照）が接続されており、カメラインターフェイス２３を介して撮影指令が送られると、カメラに設定された電子シャッタ機能により撮影が実行され、カメラインターフェイス２３を介して映像信号がグレイスケール信号の形でフレームメモリ２６に格納される。モニタインターフェイス２４にはモニタ（ここではモニタ３；図２参照）が接続されており、カメラが撮影中の画像、フレームメモリ２６に格納された過去の画像、画像処理プロセッサ２２による処理を受けた画像等が必要に応じて表示される。
【００２６】
フレームメモリ２６に格納された被測定ターゲット３１を収めた画像の映像信号は、画像処理プロセッサ２２を利用して解析され、その３次元位置が求められる（詳細は後述）。なお、そのためのプログラム、パラメータ等は不揮発性メモリ２７に格納されている。また、ＲＡＭ２８はＣＰＵ２０が実行する各種処理に必要なデータの一時記憶に利用される。通信インターフェイス２９は、前述したロボット制御装置側の通信インターフェイス１４を介してロボット制御装置に接続されている。
【００２７】
図２中には、いくつかの座標系が記されているが、先ず座標系がΣv は、カメラ４の代表点（例えば受光面中心）から被測定ターゲット３１に向かう視線４０を表わす座標系である。この座標系Σv は、原点が視線４０上にあり、１つの座標軸（例えばＺ軸）が視線４０に一致しているものとする。また 座標系Σb はロボットのベース座標系、Σf はロボットのメカニカルインターフェイス座標系を表わしている。ここでは、このメカニカルインターフェイス座標系Σf をロボットの代表点として採用する。そして、座標系Σf に対する被測定ターゲット３１の３次元位置を求めることを考える。
【００２８】
なお、一旦求められたこの３次元位置をロボット座標系Σb 上での３次元位置に換算することは、座標系Σb と座標系Σf の相対関係、即ち、ロボットの現在位置データが既知であれば公知の座標変換によって、随時実行できる。  
また、上記の構成では、受光デバイスは２次元画像を撮影するＣＣＤカメラであるとしたが、同等の機能を持つ別のデバイス（ＣＭＯＳカメラなど）であっても良いし、被測定ターゲット３１が点光源とみなせる場合には受光量の重心位置（２次元位置）を求めるＰＳＤなどであっても良い。但し、そのような変形構成を採用する場合には、画像処理装置２もそれに応じて、適合する装置に置き換えられることは言うまでもない。例えば、２次元ＰＳＤを採用する場合、その出力信号を処理して受光量の重心位置（２次元位置）を求める機能を持つ処理装置が用いられる。
【００２９】
以下、本発明の技術思想を用いて被測定ターゲット３１の３次元位置を求める手順の例について説明する。なお、受光デバイスは、画像処理装置２に接続されたカメラ（ＣＣＤカメラ）として説明するが、上記の通り、適宜、他の受光デバイスとそれに適合した信号処理装置に置き換えても良いことは言うまでもない。本実施形態で行なう処理全体の概要は図１０のフローチャートに示されている。以下、同フローチャートの流れに沿って説明を進める。
【００３０】
［ステップＴ１、Ｔ２について］
本発明では、従来技術のようなキャリブレーションを必要とせずに視線４０に関する情報を得るために、被測定ターゲットの受光面上での位置を、受光面上の所定箇所に向かわせることが基本の処理となる。  
即ち、カメラ４が被測定ターゲット３１を視野に収められる適当な初期位置へロボット１を移動させ（ステップＴ１）、次のような所定点移動処理（ステップＴ２）を行なう。この所定点移動処理は、受光デバイス（カメラ、ＰＳＤ等）で捉えられた被測定ターゲット３１が「受光面上の所定点」に向かうような方向に、受光デバイスを移動させ、実際に、受光面上において所定の誤差内で被測定ターゲット３１を所定点に一致させる処理のことである。
【００３１】
「受光面上の所定点」として、ここでは「受光面（ＣＣＤアレイ）の中心点」を採用する。図５は、被測定ターゲット３１を受光面の中心点に移動させる様子をモニタ画面を用いて示した図である。同図において、モニタ３の画面は、その中心Ｍがカメラ４の受光面の中心に対応するように設定されている。今、ロボット１が適当な初期位置に位置決めされた状態で、被測定ターゲット３１の像３１ａが図示したような位置に写っているものとする。
【００３２】
この場合、像３１ａが画面上で点Ｍに向かって斜め左下方向に移動する方向にロボット１を移動させれば良い訳であるが、一連の処理を開始する前はロボット１とカメラ４の相対関係は全く未知であるから、画面上での位置関係からロボット１の移動すべき方向を決めることはできない。そこで、被測定ターゲットの像３１ａを希望する方向（ここでは点Ｍに向かう方向）に移動させるためにロボット１を空間内でどう動かせばよいかを先ず求める必要がある。
【００３３】
これは比較的簡単である。具体的には、例えば図２におけるメカニカルインターフェイス座標系Σf のＸＹ平面内で任意のいくつかの方向（複数方向）にロボット１を動かしてみて、その都度被測定ターゲットの像３１ａが画像上でどの方向に移動したかを観察し、ロボット１の移動方向と画像上での被測定ターゲットの移動方向の関係、およびロボットの移動量と画像上での被測定ターゲットの移動量の関係を求める手順を実行すれば良い。この手順は、ロボット１の先端部周辺にカメラ４が装着・固定された後に一度実行しておけば、それ以降は行なう必要がない。ロボット１が移動して、撮像時の座標系Σf の位置・姿勢が変わっても、座標系Σf とカメラ４（結像系及び受光面）の相対的な位置・姿勢関係は、カメラ４の装着・固後定状態が変動しない限り不変であるからである。
【００３４】
このような手法により移動方向及び移動量比を求めること自体は周知であるから、詳細説明は省略する。また、以下の説明ではここまでの準備は済んでいるものとする。
【００３５】
カメラによって撮像された被測定ターゲット（像３１ａ）を画像上の所定点Ｍに一致させる処理の具体例を図９のフローチャートに示した。各ステップの要点は下記の通りである。  
ステップＳ１；被測定ターゲット３１の撮像を行なう。これにより、例えば図５中に示したような像３１ａが得られる。  
ステップＳ２；画像上での被測定ターゲット３１の位置（例えば図５中に示したような像３１ａの画像上での位置）を画像処理装置２内で求める。
【００３６】
ステップＳ３；ステップＳ２で求めた位置が、画像上での所定点（ここでは点Ｍ）に一致しているか判断する。例えば、画像上でのしきい距離δimageを予め設定しておく、点Ｍと像３１ａの間の距離がδimage以下であれば「一致」と判断し、処理を終了する。δimageを上回っていれば「不一致」と判断し、ステップＳ４へ進む。なお、画像上での距離は、例えば正方形の「画素」の何個分であるかで測ることができる。
【００３７】
ステップＳ４；被測定ターゲット（像３１ａ）を画像上で所定点Ｍに移動させるロボット並進指令を算出する。ここで、ロボット並進指令とは、ロボット姿勢、即ち、座標系Σf の姿勢をロボット座標系Σb （空間内で固定）上で一定に保つようなロボット移動のための移動指令のことである。  
ステップＳ５；ステップＳ４で算出したロボット並進指令に基づいてロボット１を移動させる。移動が完了したらステップＳ１へ戻る。以下、同様に、ステップＳ２で「一致」の判断が出されるまで、上述した処理サイクルを繰り返す。
【００３８】
［ステップＴ３について］
以上が「所定点移動処理」であり、この処理が完了した時点、即ち、図５中に符号３１ａで示した被測定ターゲット像が写っているロボットの初期位置から、上記所定点移動処理により、画像中心Ｍに符号３１ｂで示した被測定ターゲット像が得られるロボット位置に移動が完了したら、ロボット座標系Σb 上での座標系Σf の位置Ｑf1を取得し、記憶しておく。
【００３９】
［ステップＴ４について］
次に、視線４０の方向を求める処理に移る。視線４０は、画像中心に被測定ターゲット像が写っている状態において、画像中心に相当するカメラ撮像面上の点Ｍと被測定ターゲット３１を結ぶ直線である。ここでは、この直線がロボットのメカニカルインターフェイスを表わす座標系Σf に対して、どのような方向を向いているか求める。そのために先ずステップＴ４の処理によりロボット１を並進移動させる。  
図６はこの処理に関連する説明図で、同図において、座標系Σv1 は視線４０の方向を求めるために考える座標系であり、次の条件を満たすものとする。  
（Ｉ）座標系Σf と座標系Σv1とは同一の原点を持つ。  
（ＩＩ）座標系Σv1のＺ軸方向は視線４０の方向と一致する。  
この座標系Σv1のＺ軸が、所定点移動処理完了時に座標系Σf 上でどの方向を向いているかを求める。より具体的には、座標系Σf 上での座標系Σv1の姿勢を表わすオイラー角（Ｗ、Ｐ、Ｒ）の内の（Ｗ、Ｐ）成分を求めることを考える。
【００４０】
そのために、先ず実行するのがこのステップＴ４の並進移動である。この移動では、カメラの姿勢を変えずにカメラと被測定ターゲット３１の距離が異なる位置へロボットを並進移動させる（矢印Ａ参照）。図６中における符号４ａ、４ｂは移動前、移動後のカメラを表わしている。
【００４１】
［ステップＴ５、Ｔ６について］
ステップＴ４による並進移動を行なうと、当然、一般には被測定ターゲット３１の像は再度画像中心（受光面の中心）Ｍから外れる。そこで、再度、所定点移動処理を実行する（ステップＴ５）。所定点移動処理についてはステップＴ２で説明した通りで、被測定ターゲット３１の像は再び画像中心（受光面の中心）Ｍから誤差範囲内の位置に戻る。ステップＴ５の完了後に、ロボット座標系Σb 上での座標系Σf の位置Ｑf2を取得し、記憶する（ステップＴ６）。
【００４２】
［ステップＴ７について］
上記ステップＴ３で得たＱf1と上記ステップＴ６で得たＱf2とを結ぶ直線は、視線４０の方向を表わしている。ステップＴ４のロボット移動前のΣf 上で見たＱf1からＱf2への相対移動量をｄＸ、ｄＹ、ｄＺとすると、座標系Σf 上での座標系Σv1の姿勢を表わすオイラー角（Ｗ、Ｐ、Ｒ）は下記の式で計算できる。これにより、座標系Σv1が定められたことになり、そのＺ軸方向が視線４０の方向を表わしている。
【００４３】
【数１】
2005201824.tif 000003
【００４４】
［ステップＴ８、Ｔ９、Ｔ１０、Ｔ１１について］
ステップＴ７で視線４０の方向が求められたので、次に視線４０の位置を求める処理に進む。図７（ａ）、（ｂ）はこの処理に関連する説明図で、図７（ｂ）中、座標系Σv2は視線４０の位置と方向を表わす座標系で、図２において座標系Σv として表記されたものに対応し、次の条件を満たすものとする。  
（ＩＩＩ）座標系Σv2は視線４０上に原点を持つ。  
（ＩＶ）座標系Σv2のＺ軸方向は視線４０の方向と一致する。  
既に視線４０の方向が座標系Σv1（図７（ａ）参照）のＺ軸として求められており、座標系Σv2のＺ軸方向は座標系Σv1のＺ軸方向と同一である。原点位置を求めるために、Ｑf1 を座標系Σv1のＺ軸周りで１８０度回転させた位置へロボットを移動させ（ステップＴ８）、次いで再び所定点移動処理を実行する（ステップＴ９）。図７（ａ）はこの回転移動（矢印Ｂ参照）と、所定点移動処理による移動が完了した状態を併記しており、図７（ｂ）には、座標系Σv2の原点位置が示されている。座標系Σv2の原点位置は、回転移動前後の座標系Σf の中点で与えられる。
【００４５】
そこで、回転移動完了後にロボット位置Ｑf3 を取得し、記憶する（ステップＴ１０）。そして、このＱf1と Ｑf3 の中点を座標系Σv2 の原点位置として求める。
【００４６】
ステップＴ８によるロボット移動前の座標系Σf 上で見たＱf1 からＱf3 への相対移動量をdX, dY, dZとして、座標系Σf 上で見た座標系Σv2 の原点（Ｘ、Ｙ、Ｚ）を下記の式で求める。座標系Σv2の姿勢は座標系Σv1の姿勢と同一であるから、結局、ステップＴ８によるロボット移動前の座標系Σf 上で見た座標系Σv2の位置・姿勢が求められることになる（ステップＴ１１）。以後これを表わす行列をＶで表わすことにする。
【００４７】
【数２】
2005201824.tif 000004
【００４８】
［ステップＴ１２、Ｔ１３、Ｔ１４、Ｔ１５について］
最後に、視線４０の位置・姿勢を利用して、被測定ターゲットの３次元位置を求める処理を実行する。図８はこれに関連する説明図である。Ｑf1を座標系Σv2のＹ軸周りに傾けた位置にロボットを傾斜移動させる（ステップＴ１２）。そして再度所定点移動処理を実行する（ステップＴ１３）。図８は、この処理完了後の状態が視線４０ｂとともに示されている（座標系Σv2は座標系Σv2' に移動）。なお、視線４０ａは、傾斜移動前の視線を表わしている。ステップＴ１３完了後にロボット位置Ｑf4を取得し（ステップＴ１４）、記憶する。
【００４９】
ここで、ロボットがＱf1に位置決めされている時（ステップＴ３参照）のΣf 上で見た視線はＶで表わされる一方、ロボットがＱf4に位置決めされている時の視線は、
Ｑf1-1・Ｑf4・Ｖ
で表わされる。これらの式から、両者のＺ軸の交点を求めれば、それが被測定ターゲット３１の３次元位置となる（ステップＴ１５）。
【００５０】
なお、以上説明した手順は一例であり、例えば下記のような変形も可能である。
【００５１】
（ａ）ステップＴ８（図７参照）では、Ｑf1 を座標系Σv1 のＺ軸周りで１８０度回転させた位置へロボットを移動させるとしたが、必ずしも１８０度である必要はなく、またＺ軸周りの回転が含まれていれば、他の姿勢変化が加わった複合的な移動であっても構わない。
【００５２】
（ｂ）ステップＴ１２（図８参照）では、Ｑf1 を座標系Σv2のＹ軸周りに傾けた位置へロボットを移動させるとしたが、必ずしもＹ軸周りである必要はなく、Ｚ軸に垂直な方向周りの回転が含まれていれば、他の姿勢変化が加わった複合的な移動であっても構わない。
【図面の簡単な説明】
【００５３】
【図１】従来技術におけるキャリブレーションで用いられる典型的な配置を記した図である。
【図２】本発明の一実施形態の全体構成の概略を示した図である。
【図３】実施形態で用いるロボットのブロック構成を示した図である。
【図４】実施形態で用いる画像処理装置のブロック構成を示した図である。
【図５】被測定ターゲットを受光デバイスの受光面の中心点に移動させる様子をモニタ画面を用いて示した図である。
【図６】ステップＴ４の処理に関連する説明図である。
【図７】ステップＴ８の処理に関連する説明図で、（ａ）は回転移動による座標系Σv1の移動の様子を表わし、（ｂ）は回転移動と座標系Σv2の位置の関係を表わしている。
【図８】被測定ターゲットの３次元位置を求める処理に関連する説明図である。
【図９】所定点移動処理の概略を記したフローチャートである。
【図１０】本実施形態で実行される処理全体の概略を記したフローチャートである。
【符号の説明】
【００５４】
１  ロボット
２  画像処理装置
３  モニタ
４  カメラ
５  ロボット制御装置
６  キャリブレーション用プレート
１１  メインＣＰＵ
１２  メモリ
１３  教示操作盤インターフェイス
１４  通信インターフェイス（ロボット制御装置側）
１５  サーボ制御部
１６  外部装置用インターフェイス
１７  バス
１８  教示操作盤
２０  ＣＰＵ
２１  ＲＯＭ
２２  画像処理プロセッサ
２３  カメラインターフェイス
２４  モニタインターフェイス
２５  入力機器
２６  フレームメモリ
２７  不揮発性メモリ
２８  ＲＡＭ
２９  通信インターフェイス（画像処理装置側）
３０  被測定対象物
３１  被測定ターゲット
３１ａ、３１ｂ  被測定ターゲットの像
４０、４０ａ、４０ｂ  視線
Ｍ1 〜Ｍn   サーボモータ
【図１】
2005201824.tif 000005
【図２】
2005201824.tif 000006
【図３】
2005201824.tif 000007
【図４】
2005201824.tif 000008
【図５】
2005201824.tif 000009
【図６】
2005201824.tif 000010
【図７】
2005201824.tif 000011
【図８】
2005201824.tif 000012
【図９】
2005201824.tif 000013
【図１０】
2005201824.tif 000014