(57)【特許請求の範囲】
【請求項１】
スリット光を射出する光源部と、
キャリブレーション用ブロックが載置される載置台と、
前記キャリブレーション用ブロックに照射される前記スリット光の光切断線を撮像する撮像部と、
前記載置台と前記光源部および前記撮像部の組合せとの少なくとも一方を移動させる移動部と、
前記撮像部が撮像した撮像画像から前記光切断線を検出する光切断線検出部と、
前記光切断線から特徴点を検出して特徴点座標値を計算し、この特徴点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた特徴点情報を生成する特徴点情報生成部と、
前記特徴点座標値と前記移動ピッチとから世界座標系における前記特徴点の三次元座標値に変換する変換行列を計算する変換行列計算部と、
前記特徴点情報と前記変換行列とに基づいて、撮像画像の画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求めて校正用データを生成する三次元座標変換部と、
を備え、
前記キャリブレーション用ブロックは、前記載置台に載置される底部からの高さ寸法が異なる複数の平面部を有し、前記複数の平面部それぞれに、前記スリット光の照射により生じる光切断線と非平行である直線の輪郭を有し、その輪郭を境にして光反射率が異なるパターンが形成され、
前記特徴点情報生成部は、複数の前記特徴点座標値に基づいて前記パターンの頂点座標値を計算し、この頂点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた頂点情報を生成して前記特徴点情報に追加する、
ことを特徴とする三次元形状計測装置。
【請求項２】
前記光切断線検出部は、前記撮像画像から輝度の重心位置を求めることによって前記光切断線を検出することを特徴とする請求項１記載の三次元形状計測装置。
【請求項３】
三次元形状計測装置のキャリブレーション方法において、
キャリブレーション用ブロックが載置された載置台とスリット光を射出する光源部および前記キャリブレーション用ブロックに照射される前記スリット光の光切断線を撮像する撮像部の組合せとの少なくとも一方を移動させるステップと、
前記撮像部が撮像した撮像画像から前記光切断線を検出するステップと、
前記光切断線から特徴点を検出して特徴点座標値を計算し、この特徴点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた特徴点情報を生成するステップと、
前記特徴点座標値と前記移動ピッチとから世界座標系における前記特徴点の三次元座標値に変換する変換行列を計算するステップと、
前記特徴点情報と前記変換行列とに基づいて、撮像画像の画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求めて校正用データを生成するステップと、
を有し、
前記キャリブレーション用ブロックは、前記載置台に載置される底部からの高さ寸法が異なる複数の平面部を有し、前記複数の平面部それぞれに、前記スリット光の照射により生じる光切断線と非平行である直線の輪郭を有し、その輪郭を境にして光反射率が異なるパターンが形成され、
前記特徴点情報を生成するステップは、複数の前記特徴点座標値に基づいて前記パターンの頂点座標値を計算し、この頂点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた頂点情報を生成して前記特徴点情報に追加する、
ことを特徴とする三次元形状計測装置のキャリブレーション方法。
【請求項４】
スリット光を射出する光源部と、
キャリブレーション用ブロックが載置される載置台と、
前記キャリブレーション用ブロックに照射される前記スリット光の光切断線を撮像する撮像部と、
前記載置台と前記光源部および前記撮像部の組合せとのいずれか一方が取り付けられたハンド部と、
前記ハンド部が可動自在に取り付けられたアーム部と、
前記撮像部が撮像した撮像画像から前記光切断線を検出する光切断線検出部と、
前記光切断線から特徴点を検出して特徴点座標値を計算し、この特徴点座標値と前記ハンド部の一方向の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた特徴点情報を生成する特徴点情報生成部と、
前記特徴点座標値と前記移動ピッチとから世界座標系における前記特徴点の三次元座標値に変換する変換行列を計算する変換行列計算部と、
前記特徴点情報と前記変換行列とに基づいて、撮像画像の画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求めて校正用データを生成する三次元座標変換部と、
を備え、
前記キャリブレーション用ブロックは、前記載置台に載置される底部からの高さ寸法が異なる複数の平面部を有し、前記複数の平面部それぞれに、前記スリット光の照射により生じる光切断線と非平行である直線の輪郭を有し、その輪郭を境にして光反射率が異なるパターンが形成され、
前記特徴点情報生成部は、複数の前記特徴点座標値に基づいて前記パターンの頂点座標値を計算し、この頂点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた頂点情報を生成して前記特徴点情報に追加する、
ことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元形状計測装置、キャリブレーション方法、およびロボットに関する。
【背景技術】
【０００２】
スリット光源が射出したスリット光を計測対象物体に照射し、その計測対象物体の表面に映るスリット光の輝線（光切断線）をカメラで撮像して、計測対象物体の三次元形状を計測する光切断法による三次元形状計測装置では、カメラが撮像した計測対象物体の画像における位置と、実空間における位置とを対応させるためのキャリブレーション（校正）が必要である。
そこで従来、カメラの歪補正と高さ方向のキャリブレーションとを同時に行って校正作業全体にかかる時間を短縮することのできるキャリブレーション装置が知られている（例えば、特許文献１参照）。特許文献１に開示されたキャリブレーション装置では、各列に階段状ブロックを配置するとともに、一列おきの階段状ブロックを前列よりも一段低く配置したキャリブレーションブロックを用いて校正作業を行うものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３３０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されたキャリブレーション装置は、キャリブレーションブロック上の輝線を合成して得られる格子図形から画像上の座標を求めてキャリブレーションに用いるため、キャリブレーションブロック全体を確実に計測して画像上の格子図形と対応させる必要があり、キャリブレーション作業に長時間がかかっていた。
【０００５】
そこで、本発明は上記問題に鑑みてなされたものであり、三次元形状計測における高さ方向のキャリブレーションを効率的に且つ高精度に行う、三次元形状計測装置およびキャリブレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
［１］上記の課題を解決するため、本発明の一態様である三次元形状計測装置は、スリット光を射出する光源部と、キャリブレーション用ブロックが載置される載置台と、前記キャリブレーション用ブロックに照射される前記スリット光の光切断線を撮像する撮像部と、前記載置台と前記光源部および前記撮像部の組合せとの少なくとも一方を移動させる移動部と、前記撮像部が撮像した撮像画像から前記光切断線を検出する光切断線検出部と、前記光切断線から特徴点を検出して特徴点座標値を計算し、この特徴点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた特徴点情報を生成する特徴点情報生成部と、前記特徴点座標値と前記移動ピッチとから世界座標系における前記特徴点の三次元座標値に変換する変換行列を計算する変換行列計算部と、前記特徴点情報と前記変換行列とに基づいて、撮像画像の画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求めて校正用データを生成する三次元座標変換部と、を備え、前記キャリブレーション用ブロックは、前記載置台に載置される底部からの高さ寸法が異なる複数の平面部を有し、前記複数の平面部それぞれに、前記スリット光の照射により生じる光切断線と非平行である直線の輪郭を有し、その輪郭を境にして光反射率が異なるパターンが形成され、前記特徴点情報生成部は、複数の前記特徴点座標値に基づいて前記パターンの頂点座標値を計算し、この頂点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた頂点情報を生成して前記特徴点情報に追加する、ことを特徴とする。
本発明の一態様によれば、三次元形状計測装置は、キャリブレーション用ブロックを撮像することにより得られる特徴点の特徴点座標値と移動部の移動ピッチとから世界座標系における特徴点の三次元座標値に変換する変換行列を求め校正用データを生成するため、従来のようにキャリブレーション用ブロック全体を確実に計測する必要がなく、高さ方向のキャリブレーションを効率的に且つ高精度に行うことができる。
【０００７】
［２］上記［１］記載の三次元形状計測装置において、前記光切断線検出部は、前記撮像画像から輝度の重心位置を求めることによって前記光切断線を検出することを特徴とする。
これにより、三次元形状計測装置は、撮像画像の光切断線に含まれるノイズの影響を除外して高精度に光切断線を検出することができる。
【０００８】
ここで、キャリブレーション用ブロックの複数の平面部それぞれには、互いに光反射率が異なる幾何学的模様のパターンが形成されることが好ましい。これにより、三次元形状計測装置は、平面部のパターンにスリット光が照射されたときに、同一の高さの平面上から様々な位置の特徴点を検出することができる。
【０００９】
これにより、三次元形状計測装置は、移動部の移動ピッチよりも細かく且つ撮像画像の画素ピッチの影響を受けることなく特徴点情報を求めることができる。
【００１０】
［３］上記の課題を解決するため、本発明の一態様である三次元形状計測装置のキャリブレーション方法は、三次元形状計測装置のキャリブレーション方法において、キャリブレーション用ブロックが載置された載置台とスリット光を射出する光源部および前記キャリブレーション用ブロックに照射される前記スリット光の光切断線を撮像する撮像部の組合せとの少なくとも一方を移動させるステップと、前記撮像部が撮像した撮像画像から前記光切断線を検出するステップと、前記光切断線から特徴点を検出して特徴点座標値を計算し、この特徴点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた特徴点情報を生成するステップと、前記特徴点座標値と前記移動ピッチとから世界座標系における前記特徴点の三次元座標値に変換する変換行列を計算するステップと、前記特徴点情報と前記変換行列とに基づいて、撮像画像の画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求めて校正用データを生成するステップと、を有し、前記キャリブレーション用ブロックは、前記載置台に載置される底部からの高さ寸法が異なる複数の平面部を有し、前記複数の平面部それぞれに、前記スリット光の照射により生じる光切断線と非平行である直線の輪郭を有し、その輪郭を境にして光反射率が異なるパターンが形成され、前記特徴点情報を生成するステップは、複数の前記特徴点座標値に基づいて前記パターンの頂点座標値を計算し、この頂点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた頂点情報を生成して前記特徴点情報に追加する、ことを特徴とする。
本発明の一態様によれば、三次元形状計測装置は、キャリブレーション用ブロックを撮像することにより得られる特徴点の特徴点座標値と移動部の移動ピッチとから世界座標系における特徴点の三次元座標値に変換する変換行列を求め校正用データを生成するため、従来のようにキャリブレーション用ブロック全体を確実に計測する必要がなく、高さ方向のキャリブレーションを効率的に且つ高精度に行うことができる。
【００１１】
［４］上記の課題を解決するため、本発明の一態様であるロボットは、スリット光を射出する光源部と、キャリブレーション用ブロックが載置される載置台と、前記キャリブレーション用ブロックに照射される前記スリット光の光切断線を撮像する撮像部と、前記載置台と前記光源部および前記撮像部の組合せとのいずれか一方が取り付けられたハンド部と、前記ハンド部が可動自在に取り付けられたアーム部と、前記撮像部が撮像した撮像画像から前記光切断線を検出する光切断線検出部と、前記光切断線から特徴点を検出して特徴点座標値を計算し、この特徴点座標値と前記ハンド部の一方向の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた特徴点情報を生成する特徴点情報生成部と、前記特徴点座標値と前記移動ピッチとから世界座標系における前記特徴点の三次元座標値に変換する変換行列を計算する変換行列計算部と、前記特徴点情報と前記変換行列とに基づいて、撮像画像の画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求めて校正用データを生成する三次元座標変換部と、を備え、前記キャリブレーション用ブロックは、前記載置台に載置される底部からの高さ寸法が異なる複数の平面部を有し、前記複数の平面部それぞれに、前記スリット光の照射により生じる光切断線と非平行である直線の輪郭を有し、その輪郭を境にして光反射率が異なるパターンが形成され、前記特徴点情報生成部は、複数の前記特徴点座標値に基づいて前記パターンの頂点座標値を計算し、この頂点座標値と前記移動部の移動ピッチと前記キャリブレーション用ブロックの所定の属性データとを関連付けた頂点情報を生成して前記特徴点情報に追加する、ことを特徴とする。
本発明の一態様によれば、ロボットは、キャリブレーション用ブロックを撮像することにより得られる特徴点の特徴点座標値とハンド部の一方向の移動ピッチとから世界座標系における特徴点の三次元座標値に変換する変換行列を求め校正用データを生成するため、従来のようにキャリブレーション用ブロック全体を確実に計測する必要がなく、高さ方向のキャリブレーションを効率的に且つ高精度に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態である三次元形状計測装置がキャリブレーションを行っている様子を模式的に示した、三次元形状計測装置およびキャリブレーション用ブロックの斜視図である。
【図２】同実施形態における、三次元形状計測装置の主要な機能構成を示すブロック図である。
【図３】同実施形態における、キャリブレーション用ブロックの外観の斜視図である。
【図４】同実施形態において、キャリブレーション用ブロックの各段上平面にパターンニングされるパターンの例である。
【図５】同実施形態において、三次元形状計測装置が実行する校正用データの生成処理の手順を示すフローチャートである。
【図６】同実施形態において、キャリブレーション用ブロックが搬送されたときの、パターンが輝線を通過する様子を模式的に示した図である。
【図７】同実施形態において、三次元形状計測装置が実行する三次元形状計測の処理手順を示すフローチャートである。
【図８】三次元形状計測装置の一部の機能が組み込まれたロボットがキャリブレーションを行っている様子を示した、ロボットおよびキャリブレーション用ブロックならびに載置台の斜視図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。図１は、本発明の一実施形態である三次元形状計測装置がキャリブレーションを行っている様子を模式的に示した、三次元形状計測装置およびキャリブレーション用ブロックの斜視図である。同図における三次元形状計測装置１は、光切断法によって計測対象物体（キャリブレーション用ブロックを含む。）の外部形状を計測する装置であり、キャリブレーションモードまたは通常計測モードに切り換えられて動作する。光切断法とは、例えば、スリット光源と計測対象物体とを相対的に移動させながら、スリット光源が計測対象物体にスリット光を照射し、撮像装置が計測対象物体の表面に映る輝線（光切断線）を撮像して二次元の輝線画像を取得し、画像処理装置がその輝線画像に基づいて計測対象物体の三次元形状を得る方法である。
三次元形状計測装置１は、スリット光源部１１と、撮像部１２と、載置台４０とを含んで構成される。そして、同図において、載置台４０には、撮像部１２が撮像した画像における位置と実空間における位置との整合をとるために用いられるキャリブレーション用ブロック１００が載置されている。
【００１４】
図２は、三次元形状計測装置１の主要な機能構成を示すブロック図である。なお、同図において、図１に示した構成と同一の構成については同一の符号を付している。図２に示すように、三次元形状計測装置１は、光学測定部１０と、制御部２０と、載置台駆動部３０と、載置台４０とを含んで構成される。以下、図１および図２を併せ参照して三次元形状計測装置１の構成について説明する。
【００１５】
光学測定部１０は、光切断法によって三次元形状計測を行う測定ユニットであり、スリット光源部１１と、撮像部１２とを含んで構成される。
スリット光源部１１は、スリット光ＳＬを射出する光源である。このスリット光ＳＬは、扇形状に広がって空間に射出される。スリット光ＳＬは、例えばレーザー光を用いるのがよい。スリット光源部１１は、スリット光ＳＬの中心光軸が鉛直軸と非平行である所定の角度を有して設置される。
【００１６】
キャリブレーション用ブロック１００を載せた載置台４０は、載置台駆動部３０の駆動によって搬送方向Ａの向きに移動し、それによってキャリブレーション用ブロック１００が搬送方向Ａの向きに搬送される。スリット光源部１１から射出されたスリット光ＳＬが搬送中のキャリブレーション用ブロック１００の上面側に設けられた段上平面に照射されると、その照射部分から反射光ＲＬが反射される。
【００１７】
撮像部１２は、例えば、デジタルカメラまたはデジタルビデオカメラである。撮像部１２は、その光学系の光軸がスリット光ＳＬの中心光軸と非平行である所定の角度で傾斜する位置、具体的には反射光ＲＬを光学系に入射させて撮像可能な位置に設置される。このとき、キャリブレーション用ブロック１００の反射部分は、光切断線である輝線ＬＬとして可視化される。撮像部１２は、その輝線ＬＬを撮像して撮像画像データを制御部２０に供給する。
【００１８】
制御部２０は、三次元形状計測装置１全体を制御するものであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と半導体記憶部と（いずれも不図示）を含んで構成される。制御部２０は、その機能上、計測制御部２１と、光切断線検出部２２と、反射位置計算部（特徴点情報生成部）２３と、変換行列計算部２４と、三次元座標変換部２５と、記憶部２６とを含んで構成される。
【００１９】
計測制御部２１は、光学測定部１０および載置台駆動部３０を制御する。具体的には、計測制御部２１は、スリット光源部１１に対して、スリット光ＳＬの射出の開始および停止を制御する。また、計測制御部２１は、撮像部１２に対して、計測対象物体の表面に映った輝線ＬＬの撮像の開始および停止を制御したり、撮像画像データを光切断線検出部２２に供給させる制御をしたりする。また、計測制御部２１は、載置台駆動部３０に対して、載置台４０を少なくとも搬送方向Ａの方向に移動させる制御を行う。
また、計測制御部２１は、反射位置計算部２３に対して、載置台駆動部３０の移動ピッチを供給する。この移動ピッチとは、単位時間あたりの載置台４０の移動量である。
【００２０】
光切断線検出部２２は、撮像部１２から供給された撮像画像データを取り込み、その画像から光切断線の位置を検出する。撮像部１２の撮像性能によっては、画像に含まれる輝線ＬＬの画像（輝線画像）にノイズが含まれたり太く撮像されていたりする場合がある。そこで、光切断線検出部２２は、画像から輝度の重心位置を求めることにより光切断線の位置を高精度に検出する。
具体的には、光切断線検出部２２は、画像平面をｘｙ座標系としたときの座標値（ｉｍｉｎ，ｊｍｉｎ）から座標値（ｉｍａｘ，ｊｍａｘ）までのウィンドウにおけるｘ軸方向の輝度の重心位置ｘｃを、下記の式（１）を計算することにより求める。なお、式（１）において、（ｘｉ，ｙｊ）は、画像平面の座標値であり、Ｉ（ｘｉ，ｙｊ）は、座標値（ｘｉ，ｙｊ）における輝度値である。
【００２１】
【数１】
0005494234.tif 000002
【００２２】
そして、光切断線検出部２２は、重心位置ｘｃとこの位置に対応するｙ軸方向の位置であるｙｃとを、当該ウィンドウにおける重心座標値（ｘｃ，ｙｃ）として記憶する。さらに、光切断線検出部２２は、ウィンドウをシフトさせながら式（１）の計算を行って光切断線の位置を検出する。
【００２３】
反射位置計算部２３は、光切断線検出部２２で検出された光切断線の輝度の変化点である特徴点を検出して画像平面における特徴点座標値を計算する。そして、反射位置計算部２３は、キャリブレーションモードにおいて、特徴点座標値と、計測制御部２１から供給された移動ピッチと、当該特徴点に対応するキャリブレーション用ブロック１００の所定の属性データとを関連づけた特徴点情報を生成して記憶部２６に記憶する。この特徴点情報については、後述する動作説明の欄において具体的に説明する。
変換行列計算部２４は、画像平面の二次元座標値と載置台駆動部３０の移動ピッチとから計測対象物体の位置を規定する世界座標系の三次元座標値を求めるための変換行列のセット（変換行列セット）を計算して記憶部２６に記憶する。
【００２４】
三次元座標変換部２５は、キャリブレーションモードにおいては、記憶部２６からそれぞれ読み出した特徴点情報および変換行列セットに基づいて、撮像画像データの画像平面の二次元座標値とこの二次元座標値に対応する世界座標系の三次元座標値との組み合わせを求める。そして、三次元座標変換部２５は、二次元座標値から三次元座標値に変換するためのキャリブレーションを行って校正用データを生成し記憶部２６に記憶する。また、三次元座標変換部２５は、通常計測モードにおいては、キャリブレーションの結果に基づいて計測対象物体の三次元座標を計算した後、記憶部２６に記憶された校正用データを読み込んで、計測対象物体の移動ピッチに応じた三次元座標値の補正を行う。
【００２５】
記憶部２６は、反射位置計算部２３が生成した特徴点情報と、変換行列計算部２４が計算した変換行列セットと、三次元座標変換部２５が生成した校正用データとを記憶する。また、記憶部２６は、キャリブレーション用ブロック１００の外形寸法とパターンの位置に関する情報とを含むリファレンスデータを予め記憶する。
載置台駆動部３０は、計測制御部２１から供給される移動方向指示と移動ピッチとの制御情報に基づいて、載置台４０をその載置面に平行な面における二次元の方向に移動させる。
【００２６】
図３は、キャリブレーション用ブロック１００の外観の斜視図である。同図に示すように、キャリブレーション用ブロック１００は、４段の階段形状部を有して一体的に形成されている。なお、階段は必ずしも４段である必要はなく複数段あればよい。また、キャリブレーション用ブロック１００は中空または凹型であってもよい。キャリブレーション用ブロック１００は、その底部１１０を載置台４０の載置面に合わせて載置するものであり、底部１１０は設置の安定性を確保するために、面または少なくとも４箇所の支持部を有している。底部１１０と反対側の階段形状部には、底部１１０の載置面と平行であり、且つ垂直方向の寸法がそれぞれ異なる段上平面１０１−１０４が設けられている。
【００２７】
キャリブレーション用ブロック１００には、スリット光ＳＬとして例えばレーザー光が照射されるので、その照射部分の温度は高くなる傾向にある。よって、キャリブレーション用ブロック１００は、熱膨張率の小さな材質であることが好ましい。キャリブレーション用ブロック１００は、その材質を、例えばカーボンブラック、ガラス、またはステンレス鋼をとすることができる。これらの中で、カーボンブラックは、ガラスやステンレス鋼に比べて質量を小さくできる点において優れており、材質としては好ましい。
【００２８】
キャリブレーション用ブロック１００の段上平面１０１−１０４それぞれには、所定のパターンＰが形成（パターンニング）されている。図４は、キャリブレーション用ブロック１００の段上平面１０１−１０４それぞれにパターンニングされるパターンの例である。同図に示すように、パターンＰは、幾何学的模様であるパターンＡＰとパターンＲＰとを含んでいる。同図は、ハッチング模様のパターンＡＰと模様のない複数のパターンＲＰとがパターンＰに設けられたように表されているが、これらのパターン色は同図で表現された模様および色に限定されるものではない。パターンＰとして重要なことは、スリット光ＳＬの照射に対するパターンＡＰとパターンＲＰとの光反射率が異なるようにパターンニングされることである。本実施形態では、パターンＲＰがパターンＡＰよりも反射率が大きくなるようにパターンニングされている。また、パターンＰ上に表現される幾何学的模様は、列（４個のパターンＲＰの組）として一意の模様である。
【００２９】
キャリブレーション用ブロック１００へのパターンＰのパターンニング方法としては、薄膜蒸着法、エッチング法、フォトレジスト法等の細密パターンニング技術を用いるのがよい。
【００３０】
キャリブレーション用ブロック１００は、本実施形態である三次元形状計測装置１以外の形状計測装置によって外形寸法とパターンＰの特徴点（各パターンＲＰの頂点等）の位置とが測定されている。そして、例えば、パターンＲＰごとに、頂点座標値と底部１１０から当該パターンＲＰがパターンニングされた段上平面までの高さ寸法とを、当該パターンＲＰの識別番号に関連づけたリファレンスデータが作成されている。このリファレンスデータは、前述したとおり記憶部２６に予め記憶される。
【００３１】
次に、三次元形状計測装置１がキャリブレーション用ブロック１００を用いてキャリブレーションを行うキャリブレーションモードの動作について説明する。図５は、三次元形状計測装置１が実行する「校正用データの生成処理」の手順を示すフローチャートである。キャリブレーション用ブロック１００が、その搬送方向が図３に示す搬送方向Ａの向きになるように載置台４０に載置されたのち、三次元形状計測装置１が計測制御部２１に対してキャリブレーションモードの動作開始指示を与えると、図５に示すフローチャートの処理が開始される。
【００３２】
ステップＳ５０１において、計測制御部２１は、スリット光源部１１に対して照射開始を指示する。そして、この指示を受けたスリット光源部１１は、スリット光ＳＬの照射を開始する。次に、ステップＳ５０２において、計測制御部２１は、撮像部１２に対して撮像開始を指示する。そして、この指示を受けた撮像部１２は撮像を開始する。次に、ステップＳ５０３において、計測制御部２１は、載置台駆動部３０に対して駆動開始を指示する。そして、この指示を受けた載置台駆動部３０は、載置台４０の移動を開始する。
【００３３】
次に、ステップＳ５０４において、撮像部１２は、キャリブレーション用ブロック１００の表面に映った輝線ＬＬを撮像して、撮像画像データを光切断線検出部２２に供給する。次に、ステップＳ５０５において、光切断線検出部２２は、撮像画像データを取り込み、前述したように画像から輝度の重心位置を求めることによってその画像から光切断線の位置を検出する。次に、ステップＳ５０６において、反射位置計算部２３は、光切断線検出部２２で検出された光切断線から特徴点を探索する。この「特徴点の探索処理」についてはその詳細を後述する。
【００３４】
次に、ステップＳ５０７において、反射位置計算部２３は、光切断線から特徴点を検出した場合（ステップＳ５０７：ＹＥＳ）は、ステップＳ５０８の処理に移る。一方、反射位置計算部２３は、光切断線から特徴点を検出しなかった場合（ステップＳ５０７：ＮＯ）は、ステップＳ５０９の処理に移る。ステップＳ５０８において、反射位置計算部２３は、検出した特徴点の画像平面における特徴点座標値を計算する。次に、反射位置計算部２３は、特徴点座標値と、計測制御部２１から供給された移動ピッチと、当該特徴点に対応するキャリブレーション用ブロック１００の所定の属性データとを関連づけた特徴点情報を生成して記憶部２６に記憶する。この「特徴点情報の生成処理」についても、その詳細を後述する。
【００３５】
次に、ステップＳ５０９において、計測制御部２１は、キャリブレーション用ブロック１００の４つの段上平面１０１−１０４にパターンニングされた４つのパターンＰが輝線ＬＬによって走査終了したか否かを判定し、走査終了したと判定した場合（Ｓ５０９：ＹＥＳ）はステップＳ５１０の処理に移り、走査終了していないと判定した場合（Ｓ５０９：ＮＯ）はステップＳ５０４の処理に戻る。ステップＳ５１０において、反射位置計算部２３は、記憶部２６に記憶された特徴点情報を読み込んで、データを補間して記憶部２６に記憶する。この「特徴点情報の補間処理」についても、その詳細を後述する。
【００３６】
次に、ステップＳ５１１において、変換行列計算部２４は、画像平面の二次元座標値と載置台駆動部３０の移動ピッチとから計測対象物体の位置を規定する世界座標系の三次元座標値を求めるための変換行列セットを計算して記憶部２６に記憶する。この「変換行列セットの計算処理」についても、その詳細を後述する。
【００３７】
次に、ステップＳ５１２において、三次元座標変換部２５は、記憶部２６からそれぞれ読み出した特徴点情報および変換行列セットに基づいて、撮像画像データの画像平面の二次元座標値とそれに対応する世界座標系の三次元座標値との組み合わせを求める。そして、三次元座標変換部２５は、二次元座標値から三次元座標値に変換するためのキャリブレーションを行って校正用データを生成し記憶部２６に記憶する。この「校正用データの生成処理」についても、その詳細を後述する。
【００３８】
次に、上述した動作説明における、反射位置計算部２３による「特徴点の探索処理」および「特徴点情報の生成処理」について具体的に説明する。図６は、キャリブレーション用ブロック１００が搬送方向Ａの向きに搬送された場合に、パターンＰ（同図では、パターンＡＰおよび１個のパターンＲＰを拡大して示す。）が輝線ＬＬを通過する様子を模式的に示した図である。なお、同図では、図を分かり易くするために、パターンＰを固定して、輝線ＬＬを輝線ＬＬ１から輝線ＬＬ６まで移動させたときの相対的な位置関係を表している。
【００３９】
図６に示すように、撮像部１２は、輝線ＬＬ１，ＬＬ２，ＬＬ３，・・・，ＬＬ６の各輝線を順次撮像して光切断線検出部２２に供給する。まず、同図において、撮像部１２が輝線ＬＬ１を撮像して撮像画像データを光切断線検出部２２に供給すると、光切断線検出部２２は、画像から輝度の重心座標置を算出することによって光切断線の位置を検出し反射位置計算部２３に供給する。
次に、反射位置計算部２３は、輝線ＬＬ１から得られた光切断線上で輝度の変化する個所を特徴点Ｃ１，Ｃ２として検出する。つまり、特徴点Ｃ１，Ｃ２は、輝線ＬＬ１が映っているパターンＰ上の反射率の変化点に対応する。反射位置計算部２３は、特徴点Ｃ１，Ｃ２を検出すると、画像における特徴点Ｃ１，Ｃ２に対応する特徴点座標値を計算する。そして、その特徴点座標値と、計測制御部２１から供給された移動ピッチと、特徴点Ｃ１，Ｃ２に対応するキャリブレーション用ブロック１００の所定の属性データとを関連づけた特徴点情報を生成して記憶部２６に記憶する。
【００４０】
所定の属性データとは、キャリブレーション用ブロック１００の底部１１０から、対象特徴点に対応するパターンＲＰがパターンニングされた段上平面までの高さ寸法と、当該パターンＲＰの識別番号とを含む情報である。例えば、図６における特徴点Ｃ１，Ｃ２に対応するパターンＲＰが、図３における段上平面１０３にパターンニングされたパターンＰ中の幾何学的パターンであって、走査開始後の１番目の幾何学的パターンから数えて９５番目の幾何学的パターンである場合、その属性データは、底部１１０から段上平面１０３までの高さ寸法、および識別番号“９５”である。反射位置計算部２３は、記憶部２６からリファレンスデータを読み込み、輝線ＬＬがキャリブレーション用ブロック１００の段上平面１０４のパターンＲＰの１行目から段上平面１０１のパターンＲＰの４行目（最終行）までを走査しながら幾何学的パターンの個数を計数していくことによってパターンＲＰを特定し、属性データを求めることができる。
【００４１】
上記の特徴点Ｃ１，Ｃ２の検出の動作、および特徴点情報の記憶部２６への記憶の動作と同様に、反射位置計算部２３は、同図に図示された特徴点Ｃ３−Ｃ８を含む特徴点を検出して特徴点情報を生成し記憶部２６に記憶する。
【００４２】
次に、反射位置計算部２３による「特徴点情報の補間処理」について具体的に説明する。記憶部２６には、輝線ＬＬ１−ＬＬ６の走査によって検出された特徴点Ｃ１−Ｃ８に係る特徴点情報が既に記憶されている。反射位置計算部２３は、記憶部２６からこれらの特徴点情報を読出し、まず、特徴点Ｃ１−Ｃ４に対応する各特徴点座標値からパターンＲＰの頂点Ｔ１の頂点座標値を計算する。つまり、特徴点Ｃ１，Ｃ３を通る線分と特徴点Ｃ２，Ｃ４を通る線分とが交差する点が頂点Ｔ１である。そして、同様にして、特徴点Ｃ５−Ｃ８に対応する各特徴点座標値からパターンＲＰの頂点Ｔ４の頂点座標値を計算する。さらに、同様にして、特徴点Ｃ１−Ｃ８に対応する各特徴点座標値からパターンＲＰの頂点Ｔ２，Ｔ３の各頂点座標値を計算する。
反射位置計算部２３は、頂点Ｔ１−Ｔ４の各頂点座標値と、計測制御部２１から供給された移動ピッチと、頂点Ｔ１−Ｔ４に対応するキャリブレーション用ブロック１００の所定の属性データとを関連づけた頂点情報を生成して、記憶部２６に記憶された特徴点情報に追加する。これにより、反射位置計算部２３は、輝線の移動ピッチよりも細かく且つ画素ピッチの影響を受けることなく特徴点情報を求めることができる。
【００４３】
パターンＲＰを幾何的に単純な形状であって、その輪郭が輝線ＬＬと平行にならないような形状とすることにより、上記のようにパターンＲＰの頂点の座標値を容易に求めることができる。しかも、検出された特徴点の幾何学的な配列から頂点を算出する方法であるため、撮像部１２の解像度、載置台４０の移動ピッチに依存せず、高精度に頂点座標を求めることができる。
【００４４】
なお、上記の説明はパターンＲＰのうち１つの幾何学的パターンについての頂点Ｔ１−Ｔ４の算出の例であるが、このような計算をパターンＰの他のパターンＲＰ全て、または１列おきや１行おき等予め定められた規則にしたがって行う。
【００４５】
次に、変換行列計算部２４による「変換行列セットの計算処理」および三次元座標変換部２５による「校正用データの生成処理」について具体的に説明する。撮像画像データの画像平面の二次元座標値を（ｘ  ｙ）とし、計測対象物体の位置を規定する世界座標系の三次元座標値を（Ｘ  Ｙ  Ｚ）とすると、それぞれの同次座標値ｑ（ボールド体），Ｑ（ボールド体）は式（２）で表され、また、座標の変換式は式（３）のように表される。なお、「ボールド体」の記載は、その直前の文字がボールド体で表記されることを示し、当該文字で示されるデータが行列またはベクトルであることを意味する。
【００４６】
【数２】
0005494234.tif 000003
【００４７】
【数３】
0005494234.tif 000004
【００４８】
なお、式（３）において、ｓは、スケールパラメーターである。また、Ｍ（ボールド体）は、撮像部１２の内部パラメーター行列である。
内部パラメーター行列Ｍ（ボールド体）は、以下の要素を含んでいる。
ｆｘ：ｘ軸方向の焦点距離（画素単位での表現）
ｆｙ：ｙ軸方向の焦点距離（画素単位での表現）
ｃｘ：画像中心である主点（ｘ座標）
ｃｙ：画像中心である主点（ｙ座標）
【００４９】
Ｗ（ボールド体）は、撮像部１２の外部パラメーター行列であり、以下の要素を含んでいる。
Ｒ（ボールド体）：世界座標からカメラ座標への変換を表す回転行列
ｔ（ボールド体）：世界座標からカメラ座標への変換を表す並進行列
なお、世界座標は、キャリブレーション用ブロック１００の最初に配置した位置の座標である。
【００５０】
撮像部１２が備える撮像レンズにレンズ歪がある場合は、変換行列計算部２４は、画像平面の二次元座標値（ｘ  ｙ）を（ｘｄ  ｙｄ）として式（４）を計算してレンズ歪を補正する。なお、式（４）において、ｋ１，ｋ２，ｋ３は、撮像レンズの径方向のレンズ歪を示す係数であり、ｐ１，ｐ２は、撮像レンズの円周方向のレンズ歪を示す係数である。また、ｒは撮像レンズの半径である。
【００５１】
【数４】
0005494234.tif 000005
【００５２】
スリット光源部１１から射出されるスリット光ＳＬの空間における広がりは平面とみなすことができ、その場合は式（５）のような平面の式で表すことができる。なお、式（５）において、ＡＬ，ＢＬ，ＣＬは、平面を規定するためのパラメーターである。
【００５３】
【数５】
0005494234.tif 000006
【００５４】
また、キャリブレーション用ブロック１００の段上平面１０１−１０４のそれぞれは平面であるため、式（６）のような平面の式で表すことができる。なお、式（６）において、ＡＣ，ＢＣ，ＣＣは、キャリブレーション用ブロック１００の段上平面１０１−１０４の平面を規定するためのパラメーターである。
【００５５】
【数６】
0005494234.tif 000007
【００５６】
ここで、以下の説明を簡単にするために、式（３）のｑ（ボールド体）＝ｓ・Ｍ（ボールド体）・Ｗ（ボールド体）・Ｑ（ボールド体）を式（７）のように置き換える。
【００５７】
【数７】
0005494234.tif 000008
【００５８】
つまり、式（７）において、ｐｉｊ（１≦ｉ≦３，１≦ｊ≦４）の要素で構成される３行４列の行列は、ｓ・Ｍ（ボールド体）・Ｗ（ボールド体）・Ｑ（ボールド体）に対応する。
【００５９】
三次元座標変換部２５がＺ（高さ）を計算するためのキャリブレーションについて説明する。式（８）は、式（７）を一部展開した式である。
【００６０】
【数８】
0005494234.tif 000009
【００６１】
式（５）および式（８）から式（９）が得られる。
【００６２】
【数９】
0005494234.tif 000010
【００６３】
式（９）は、同一の高さＺの反射位置は、画像平面では直線になり、そのｙ切片の差は高さＺに比例することを示している。よって、三次元座標変換部２５がキャリブレーション用ブロック１００を用いて高さＺと画像平面上の位置（ｙ切片）の関係を校正用データとして求めておく。これにより、三次元座標変換部２５は任意の高さＺを求めることができる。つまり、計測用物体の高さＺＯは、そのｙ座標値をｙＯ、キャリブレーション用ブロック１００の高さをＺＣ、ｙ座標値をｙＣとした場合に、式（１０）のように表すことができる。
【００６４】
【数１０】
0005494234.tif 000011
【００６５】
次に、三次元座標変換部２５がＸ，Ｙを計算するためのキャリブレーションについて説明する。式（８）から式（１１）が得られる。
【００６６】
【数１１】
0005494234.tif 000012
【００６７】
次に、三次元座標変換部２５が計測対象物体の移動を補正するためのキャリブレーションについて説明する。キャリブレーション用ブロック１００が最初に設置された場所において世界座標を規定するが、載置台４０の移動によって計測対象物体の移動方向は、世界座標のＸ，Ｙ，Ｚ軸の各方向に一致するとは限らない。よって、移動量と移動方向とを補正する必要がある。
移動ピッチをＭとし、移動方向を示す単位ベクトルを（ｕＸ，ｕＹ，ｕＺ）とすると、式（６）に示すキャリブレーション用ブロック１００の平面は平行移動されるため、式（６）の平面の式は式（１２）のように表される。
【００６８】
【数１２】
0005494234.tif 000013
【００６９】
載置台４０は、キャリブレーション用ブロック１００の底部１１０（ＸＹ平面）に平行に移動すればよいので、ｕＺ＝０になり、三次元座標変換部２５は、ｕＸ，ｕＹを求めることができる。また、式（１２）の平面の式は式（１３）になる。
【００７０】
【数１３】
0005494234.tif 000014
【００７１】
式（８）および式（１３）から式（１４）の関係式が導かれる。
【００７２】
【数１４】
0005494234.tif 000015
【００７３】
式（１４）を、世界座標の三次元座標値（Ｘ，Ｙ，Ｚ）を求める式に変換して簡略化すると式（１５）のように表すことができる。
【００７４】
【数１５】
0005494234.tif 000016
【００７５】
式（１５）において、ｋｉｊ（１≦ｉ≦３，１≦ｊ≦３）の要素で構成される３行３列の行列である行列ｋ（ボールド体）と、ｓ１，ｓ２，ｓ３を要素とする３行１列の行列ｓ（ボールド体）との組み合わせが変換行列セットである。x，y，Ｍ、Ｘ，Ｙ，Ｚは観測量であるので、変換行列計算部２４は、変換行列セットを、複数のサンプリングにより統計的に精度よく求めるのが望ましい。例えば、変換行列計算部２４は、複数のサンプリングによって複数の変換行列セットを求め、それらの各要素の平均値を計算することにより変換行列セットの最適値を求める。そして、変換行列計算部２４は、求めた変換行列セットを記憶部２６に記憶する。
【００７６】
三次元座標変換部２５は、記憶部２６に記憶された変換行列セットを読み込んで、任意の観測量ｘ，ｙ，Mからキャリブレーション用ブロック１００の世界座標系の三次元座標値（Ｘ  Ｙ  Ｚ）を求めて二次元座標値と三次元座標値との複数の組み合わせを生成する。
次に、三次元座標変換部２５は、これら生成した組み合わせを式（９）、式（１１）、および式（１３）に適用して、画像平面と実空間とのキャリブレーションを行うための校正用データを生成する。
【００７７】
次に、三次元形状計測装置１が計測対象物体を用いて実際の三次元形状計測を行う通常計測モードの動作について説明する。図７は、三次元形状計測装置１が実行する三次元形状計測の処理手順を示すフローチャートである。計測対象物体が載置台４０に載置されたのち、三次元形状計測装置１が計測制御部２１に対して通常計測モードの動作開始指示を与えると、図７に示すフローチャートの処理が開始される。
【００７８】
ステップＳ７０１からステップＳ７０５までの処理は、前述したステップＳ５０１からステップＳ５０５までの処理と同一であるため、その説明を省略する。
【００７９】
ステップＳ７０６において、反射位置計算部２３は、光切断線検出部２２で検出された光切断線から特徴点を検出する。次に、ステップＳ７０７において、三次元座標変換部２５は、前述した式（１０）の計算を実行して計測対象物体のＺを計算する。次に、ステップＳ７０８において、三次元座標変換部２５は、前述した式（１１）の計算を実行して計測対象物体のＸ，Ｙを計算する。次に、ステップＳ７０９において、三次元座標変換部２５は、記憶部２６に記憶された校正用データを読み込んで、計測対象物体の移動ピッチＭに応じた三次元座標値（Ｘ  Ｙ  Ｚ）の補正を行う。
【００８０】
次に、ステップＳ７１０において、計測制御部２１は、計測対象物体が輝線ＬＬによって走査終了したか否かを判定し、走査終了したと判定した場合（Ｓ７１０：ＹＥＳ）はこのフローチャートの処理を終了し、走査終了していないと判定した場合（Ｓ７１０：ＮＯ）はステップＳ７０４の処理に戻る。
【００８１】
以上説明したとおり、本発明の一実施形態である三次元形状計測装置１は、キャリブレーション用ブロックを撮像することにより得られる特徴点の特徴点座標値と移動部の移動ピッチとから世界座標系における特徴点の三次元座標値に変換する変換行列を求め校正用データを生成するため、従来のようにキャリブレーション用ブロック全体を確実に計測する必要がなく、高さ方向のキャリブレーションを効率的に且つ高精度に行うことができる。
【００８２】
なお、本実施形態では、固定した光学測定部１０に対して載置台４０を移動させる例について説明したが、これ以外にも、固定した載置台４０に対して光学測定部１０を搬送方向Ａと逆の方向に移動させるようにしてもよい。例えば、質量の大きな計測対象物体を測定する場合、載置台４０を移動させるよりもスリット光源部１１を移動させる方が駆動部を小型化且つ低コストに実現することができる。
また、載置台４０と光学測定部１０との両方を移動させるようにしてもよい。
【００８３】
また、スリット光源部１１が射出するスリット光ＳＬは、レーザー光以外にも、例えばハロゲン光とすることができる。ハロゲン光によるスリット光を射出するスリット光源部１１は、光量の大きなスリット光を射出することができる。
【００８４】
また、三次元形状計測装置１の一部または全部の機能を、例えば、アーム部およびハンド部の伸縮、屈伸、旋回等の動作が可能なロボットに組み込んでもよい。このロボットは、例えば、３軸以上の自由度を有し、アーム部およびハンド部が可動自在な産業用ロボットである。このロボットについて、より具体的な例を説明する。
図８は、三次元形状計測装置１の一部の機能が組み込まれたロボットがキャリブレーションを行っている様子を示した、ロボットおよびキャリブレーション用ブロックならびに載置台の斜視図である。同図に示すように、ロボット８は、地面に固定された支持台８１と、旋回および屈伸動作が可能なアーム部８２と、回転および首振り動作が可能なハンド部８３とを含んで構成される。そして、ハンド部８３には、スリット光源部１１および撮像部１２が固定支持されたフレーム８４が取り付けられている。また、キャリブレーション用ブロック１００は、地面に固定された載置台４０に載置される。
ロボット８は、不図示のロボットコントローラーの制御によって、アーム部８２とハンド部８３とを複合的に動作させ、スリット光源部１１および撮像部１２を移動方向Ｂの方向に移動させる。なお、支持台８１は、地面の他に壁や天井等の地面に対して固定された場所に設置してもよい。
【００８５】
また、本実施形態のようにスリット光源部１１と撮像部１２とを固定設置するとともに、ロボット８のハンド部８３に、載置台４０をその載置面が大地に対して水平になるように取り付けて移動方向Ｂと反対方向に移動させるようにしてもよい。
【００８６】
また、ロボット８のハンド部８３に、撮像部１２を取り付けて空間中を自在に移動させるようにしてもよい。このように撮像部１２を自在に移動可能にすることにより、計測対象物体の死角をなくして三次元形状計測を行うことができる。
【００８７】
また、本実施形態である三次元形状計測装置の一部、例えば制御部の機能をコンピューターで実現するようにしてもよい。この場合、その機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【００８８】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８９】
１  三次元形状計測装置
８  ロボット
１０  光学測定部
１１  スリット光源部
１２  撮像部
２０  制御部
２１  計測制御部
２２  光切断線検出部
２３  反射位置計算部（特徴点情報生成部）
２４  変換行列計算部
２５  三次元座標変換部
２６  記憶部
３０  載置台駆動部
４０  載置台
８１  支持台
８２  アーム部
８３  ハンド部
８４  フレーム
１００  キャリブレーション用ブロック
Ａ  搬送方向
Ｂ  移動方向
ＳＬ  スリット光
ＬＬ  輝線
ＲＬ  反射光
【図１】
0005494234.tif 000017
【図２】
0005494234.tif 000018
【図３】
0005494234.tif 000019
【図４】
0005494234.tif 000020
【図５】
0005494234.tif 000021
【図６】
0005494234.tif 000022
【図７】
0005494234.tif 000023
【図８】
0005494234.tif 000024