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