説明

三次元形状計測装置、三次元形状計測装置のキャリブレーション方法、およびロボット装置

【課題】複数の方向から計測対象物体を撮像して三次元形状を計測する三次元形状計測装置のキャリブレーションを、簡便な作業で短時間に行う。
【解決手段】三次元形状計測装置1は、キャリブレーション用ブロックと、撮像部12−1,12−2がそれぞれ撮像した撮像画像領域から、キャリブレーション用ブロックの上面に照射されたスリット光による光切断線をそれぞれ検出する光切断線検出部23と、光切断線検出部23がそれぞれ検出した光切断線から特徴点をそれぞれ検出して二次元座標値を取得する特徴点検出部24と、二つの撮像画像領域それぞれにおける特徴点の二次元座標値を単一の二次元座標系の二次元座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算部25とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元形状計測装置、三次元形状計測装置のキャリブレーション方法、およびロボット装置に関する。
【背景技術】
【0002】
スリット光源がスリット光を照射するとともに、カメラが計測対象物体の表面に映ったスリット光の輝線(光切断線)を撮像し、演算処理装置が撮像された光切断線の画像に基づいて三角測量の原理により計測対象物体の三次元形状を計測する、三次元形状計測技術が知られている。この三次元形状計測技術は、光切断法とも呼ばれる。
精密部品等の外形形状が複雑な計測対象物体を光切断法によって計測する場合に、特定の一方向からの撮像だけでは光切断線の隠れ(Occlusion)が生じてしまい、形状計測ができない部分が発生したり、計測精度の悪い部分が発生したりすることがある。また、大きな形状の計測対象物体を計測する場合にも、特定の一方向からの撮像だけでは、カメラの解像度の限界によって所望の計測精度よりも低い計測精度でしか形状計測を行うことができないことがある。
従来、このような問題を解決するために、互いに異なる方向から撮像する複数のカメラを設けて三次元形状を計測する三次元形状測定装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−93412号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
光切断法による三次元形状計測装置では、カメラが撮像した計測対象物体の画像における光切断線の位置と、その位置に対応する実空間における位置との整合をとるためのキャリブレーション(校正)が必要である。従来、複数のカメラを用いる光切断法の三次元形状計測装置では、カメラごとにキャリブレーションを行っており、校正作業に多大な時間と煩雑な作業とが発生していた。この問題は、固定したスリット光源に対してカメラの位置を変更して複数の方向からの撮像を行う三次元形状計測装置においても同様に生じる問題である。
そこで、本発明は、上記問題を解決するためになされたものであり、複数の方向から計測対象物体を撮像して三次元形状を計測する三次元形状計測装置のキャリブレーションを、簡便な作業で短時間に行うことのできる、三次元形状計測装置、三次元形状計測装置のキャリブレーション方法、およびロボット装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
[1]上記の課題を解決するため、本発明の一態様である三次元形状計測装置は、光源部が射出したスリット光の照射部分に映る光切断線を、複数の撮像部が撮像して三次元形状計測を行う三次元形状計測装置において、キャリブレーション用ブロックと、前記複数の撮像部それぞれが撮像した複数の撮像画像から、前記キャリブレーション用ブロックに照射された前記スリット光による光切断線をそれぞれ検出する光切断線検出部と、前記光切断線検出部がそれぞれ検出した複数の光切断線から特徴点の座標値をそれぞれ検出する特徴点検出部と、前記複数の撮像画像それぞれにおける特徴点の座標値を単一の座標系の座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算部と、を備えることを特徴とする。
この構成によれば、座標変換パラメーター計算部が、複数の撮像部が撮像した各撮像画像におけるキャリブレーション用ブロックの光切断線の特徴点座標値を単一座標系の座標値に変換するための座標変換パラメーターを計算する。この座標変換パラメーターを求めておくことにより、三次元形状計測装置は、撮像方向の異なる複数の撮像部それぞれから得られる撮像画像を容易につなぎ合わせて単一の画像平面を構築することができる。キャリブレーション用ブロックは、複数の撮像部が撮像可能なように置かれるだけでよい。また、キャリブレーションにおいて、光切断線の詳細なスキャンを必要としないため、本発明の一態様である三次元形状計測装置によれば、簡便な作業で短時間にキャリブレーションを行うことができる。
【0006】
[2]上記[1]記載の三次元形状計測装置において、前記キャリブレーション用ブロックは、前記スリット光が照射されるべき平面を有するとともに、前記平面が当該三次元形状計測装置のキャリブレーションの基準面と平行となるように設けられることを特徴とする。
この構成によれば、単純な形状のキャリブレーション用ブロックを用いて高さ一定での
キャリブレーションを簡易且つ短時間に行うことができる。
[3]上記[1]または[2]記載の三次元形状計測装置において、前記座標変換パラメーター計算部は、前記スリット光の面を表す式と前記複数の撮像部それぞれのカメラパラメーターと前記キャリブレーション用ブロックの高さ寸法値とに基づいて、前記座標変換パラメーターを計算することを特徴とする。
この構成によれば、所望の高さにおけるキャリブレーションを簡易且つ短時間に行うことができる。
[4]上記[3]記載の三次元形状計測装置において、前記座標変換パラメーター計算部は、前記キャリブレーション用ブロックの複数の高さ寸法値それぞれに応じて複数の座標変換パラメーターを計算し、前記複数の座標変換パラメーターを線形補間することを特徴とする。
この構成によれば、任意の高さの対応関係を簡易且つ短時間に得ることができる。
【0007】
[5]上記の課題を解決するため、本発明の一態様である三次元形状計測装置のキャリブレーション方法は、光源部が射出したスリット光の照射部分に映る光切断線を、複数の撮像部が撮像して三次元形状計測を行う三次元形状計測装置のキャリブレーション方法において、前記複数の撮像部それぞれが撮像した複数の撮像画像から、キャリブレーション用ブロックに照射された前記スリット光による光切断線をそれぞれ検出する光切断線検出ステップと、前記光切断線検出ステップにおいて検出した複数の光切断線から特徴点の座標値をそれぞれ検出する特徴点検出ステップと、前記複数の撮像画像それぞれにおける特徴点の座標値を単一の座標系の座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算ステップと、を有することを特徴とする。
この手順によれば、座標変換パラメーター計算ステップが、複数の撮像部が撮像した各撮像画像におけるキャリブレーション用ブロックの光切断線の特徴点座標値を単一座標系の座標値に変換するための座標変換パラメーターを計算する。この座標変換パラメーターを求めておくことにより、三次元形状計測装置は、撮像方向の異なる複数の撮像部それぞれから得られる撮像画像を容易につなぎ合わせて単一の画像平面を構築することができる。キャリブレーション用ブロックは、複数の撮像部が撮像可能なように置かれるだけでよい。また、キャリブレーションにおいて、光切断線の詳細なスキャンを必要としないため、本発明の一態様である三次元形状計測装置のキャリブレーション方法によれば、簡便な作業で短時間にキャリブレーションを行うことができる。
【0008】
[6]上記の課題を解決するため、本発明の一態様であるロボット装置は、光源部が射出したスリット光の照射部分に映る光切断線を、撮像部が撮像して三次元形状計測を行うロボット装置において、キャリブレーション用ブロックと、前記撮像部が取り付けられたハンド部と、前記ハンド部が可動自在に取り付けられたアーム部と、前記ハンド部と前記アーム部とを複合的に動作させて前記撮像部の位置を変更させるとともに、その変更した位置において前記撮像部に撮像させる計測制御部と、前記複数の撮像部それぞれが撮像した複数の撮像画像から、前記キャリブレーション用ブロックに照射された前記スリット光による光切断線をそれぞれ検出する光切断線検出部と、前記光切断線検出部がそれぞれ検出した複数の光切断線から特徴点の座標値をそれぞれ検出する特徴点検出部と、前記複数の撮像画像それぞれにおける特徴点の座標値を単一の座標系の座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算部と、を備えることを特徴とする。
この構成によれば、座標変換パラメーター計算部が、撮像部が複数の位置で撮像した各撮像画像におけるキャリブレーション用ブロックの光切断線の特徴点座標値を単一座標系の座標値に変換するための座標変換パラメーターを計算する。この座標変換パラメーターを求めておくことにより、ロボット装置は、撮像位置の異なる撮像部から順次得られる撮像画像を容易につなぎ合わせて単一の画像平面を構築することができる。キャリブレーション用ブロックは、撮像部が複数の位置全てで撮像可能なように置かれるだけでよい。また、キャリブレーションにおいて、光切断線の詳細なスキャンを必要としないため、本発明の一態様であるロボット装置によれば、簡便な作業で短時間にキャリブレーションを行うことができる。
【図面の簡単な説明】
【0009】
【図1】本発明の第1実施形態である三次元形状計測装置がキャリブレーションを行っている様子を模式的に示した、三次元形状計測装置およびキャリブレーション用ブロックの概略の図である。
【図2】同実施形態における、三次元形状計測装置の主要な機能構成を示すブロック図である。
【図3】同実施形態において、光切断線検出部が撮像画像領域の中でウィンドウをジグザグスキャンさせる様子を模式的に示した図である。
【図4】同実施形態において、特徴点検出部が二つの撮像画像領域から検出した特徴点の二次元座標を示す図である。
【図5】同実施形態において、三次元形状計測装置が実行する1台の撮像部についてのカメラパラメーター計算処理の手順を示すフローチャートである。
【図6】同実施形態において、三次元形状計測装置が実行する座標変換パラメーター計算処理の手順を示すフローチャートである。
【図7】本発明の第2実施形態であるロボット装置がキャリブレーションを行っている様子を模式的に示した、ロボット装置およびキャリブレーション用ブロックの概略の図である。
【図8】同実施形態における、ロボット装置の主要な機能構成を示すブロック図である。
【図9】同実施形態において、ロボット装置が実行する座標変換パラメーター計算処理の手順を示すフローチャートである。
【図10】高さ寸法の異なる複数の平面を設けたキャリブレーション用ブロックの外観の斜視図である。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1実施形態である三次元形状計測装置がキャリブレーションを行っている様子を模式的に示した、三次元形状計測装置およびキャリブレーション用ブロックの概略の図である。同図において、三次元形状計測装置1は、光切断法によって計測対象物体(キャリブレーション用ブロックを含む。)の外部形状を計測する装置であり、キャリブレーションモードまたは通常計測モードに切り換えられて動作する。光切断法とは、例えば、スリット光源と計測対象物体とを相対的に移動させながら、スリット光源が計測対象物体にスリット光を照射し、撮像装置が計測対象物体の表面に映る輝線(光切断線)を撮像して二次元の輝線画像を取得し、画像処理装置がその輝線画像に基づいて三角測量の原理により計測対象物体の三次元形状を算出する方法である。
【0011】
図1に示すように、三次元形状計測装置1は、光源部11と、2台の撮像部12(撮像部12−1,12−2)と、載置台40とを含んで構成される。そして、同図において、載置台40には、撮像部12−1,12−2がそれぞれ撮像した撮像画像における光切断線の二次元の位置と、その二次元の位置に対応する実空間における三次元の位置との整合をとるために用いられるキャリブレーション用ブロック100が載置されている。すなわち、キャリブレーション用ブロック100は、三次元形状計測装置1がキャリブレーションモードで動作する場合に用いられる計測対象物体である。
【0012】
まず、キャリブレーション用ブロック100について説明する。キャリブレーション用ブロック100は、高さ方向(Z軸上方向)のキャリブレーションを行うために用いられる計測対象物体である。キャリブレーション用ブロック100は、載置台40に載置されたときにその載置面(キャリブレーションの基準面)に対して平行な面となる上面101を有する固体ブロックであり、例えば、直方体の固体ブロックである。なお、キャリブレーション用ブロック100は中空または凹型であってもよい。キャリブレーション用ブロック100の載置側は、設置の安定性を確保するために面または少なくとも4箇所の支持部を有している。
【0013】
キャリブレーション用ブロック100の上面101には、例えばレーザー光が照射されるため、その照射部分の温度は高くなる傾向にある。よって、キャリブレーション用ブロック100は、熱膨張率の小さな材質で形成されることが好ましい。キャリブレーション用ブロック100は、例えば、その材質をカーボンブラック、ガラス、またはステンレス鋼をとすることができる。これらの中で、カーボンブラックは、ガラスやステンレス鋼に比べて質量を小さくできる点において優れており、材質としては好ましい。また、照射されたレーザー光を反射させ易くするために、キャリブレーション用ブロック100の少なくとも上面101は、ブラスト処理されている。
【0014】
キャリブレーション用ブロック100は、載置台40の載置面と当該キャリブレーション用ブロック100の上面101との距離(高さ寸法)が異なる複数の固体ブロックのうちの一つである。各個体ブロックの高さ寸法は、本実施形態である三次元形状計測装置1以外の形状計測装置によって測定され既知である。そして、固体ブロックごとに、固体ブロックの識別子と高さ寸法値とを関連づけたリファレンスデータが作成されている。このリファレンスデータは、後述する記憶部に予め記憶されている。
【0015】
次に、三次元形状計測装置1の機能構成について説明する。図2は、三次元形状計測装置1の主要な機能構成を示すブロック図である。なお、同図において、図1に示した構成と同一の構成については同一の符号を付す。図2に示すように、三次元形状計測装置1は、光学測定部10と、制御部20と、載置台駆動部30と、載置台40とを備える。以下、図1および図2を併せ参照して三次元形状計測装置1の機能構成について説明する。
【0016】
光学測定部10は、光切断法によって三次元形状計測を行う測定ユニットであり、光源部11と、2台の撮像部12(撮像部12−1,12−2)とを含んで構成される。
光源部11は、スリット光SLを空間に射出するスリット光源である。スリット光SLは、例えばレーザー光やタングステン光である。光源部11は、スリット光SLの中心光軸が鉛直軸と非平行である所定の角度を有して固定設置される。
【0017】
撮像部12は、制御部20にカメラパラメーターを計算させるために用いられるチェッカーパターンのテストチャートを撮像したり、計測対象物体からのスリット光SLの反射光を撮像したりする撮像装置である。撮像部12は、例えば、デジタルカメラまたはデジタルビデオカメラである。計測対象物体に照射されたスリット光SLの照射箇所は輝線LLとして可視化されるため、撮像部12は、計測対象物体からの反射光をその輝線LLによりとらえて撮像する。撮像部12は、計測対象物体に映った輝線LLを撮像して、撮像画像データを制御部20に供給する。
【0018】
撮像部12は、撮像レンズの光軸がスリット光SLの中心光軸と非平行である所定の角度で傾斜する位置に設置される。つまり、撮像部12−1,12−2は、それぞれの撮像画像領域IA−1,IA−2(撮像画像領域IAと総称することもある。)が部分的に重複する向きに設置される。より好ましくは、撮像部12−1,12−2は、計測対象物体の形状に応じて、撮像画像領域IA−1,IA−2が部分的に重複する向きであり、且つ相互に輝線LLの隠れを補う向きに設置方向が適宜変更される。
【0019】
制御部20は、三次元形状計測装置1全体を制御するものであり、例えば、キャリブレーションモードと通常計測モードとを、外部から供給される選択信号によって切替える制御を行う。制御部20は、CPU(Central Processing Unit)と記憶部と(いずれも不図示)を含んで構成され、その機能上、計測制御部21と、カメラパラメーター計算部22と、光切断線検出部23と、特徴点検出部24と、座標変換パラメーター計算部25とを含む。
【0020】
計測制御部21は、光学測定部10と載置台駆動部30とを制御する。具体的には、計測制御部21は、光源部11に対して、スリット光SLの射出の開始および停止を制御する。また、計測制御部21は、撮像部12に対して、チェッカーパターンのテストチャートを撮像させて、撮像画像データをカメラパラメーター計算部22に供給させる制御を行う。また、計測制御部21は、撮像部12に対して、計測対象物体に映った輝線LLを撮像させて、撮像画像データを光切断線検出部23に供給させる制御を行う。また、計測制御部21は、載置台駆動部30に対して、載置面上X方向およびY方向の少なくとも一方向に載置台40を移動させたり、載置面の略中心位置を中心点として載置台40を回転させたりする制御を行う。
【0021】
カメラパラメーター計算部22は、キャリブレーションモードにおいて、撮像部12−1,12−2からそれぞれ供給される撮像画像データを取り込み、撮像部12ごとに、撮像画像に含まれるチェッカーパターンの二次元座標値に基づいてカメラキャリブレーションを行う。カメラキャリブレーションとは、撮像部12の固有情報である内部パラメーターと、世界座標系における位置姿勢を示す外部パラメーターとを含むカメラパラメーターを計算する処理である。
【0022】
光切断線検出部23は、キャリブレーションモードおよび通常計測モードにおいて、撮像部12−1,12−2からそれぞれ供給される撮像画像データを取り込み、各撮像画像データの撮像画像領域IA−1,IA−2それぞれから光切断線を検出する。
撮像画像領域IAには、撮像部12の撮像性能によって輝線LLの画像(輝線画像)にノイズが含まれたり、画素構造によって輝線LLが太く撮像されたりする場合がある。光切断線検出部23は、撮像画像領域IAから輝度の重心位置を求めることによって光切断線を検出する。
具体的には、光切断線検出部23は、撮像画像領域IAの画像平面をxy座標系平面としたときの座標値(imin,jmin)から座標値(imax,jmax)までのウィンドウにおけるx軸方向の輝度の重心位置xを、下記の式(1)によって計算する。なお、式(1)において、(x,y)は、画像平面における座標値であり、I(x,y)は、座標値(x,y)における輝度値である。
【0023】
【数1】

【0024】
そして、光切断線検出部23は、重心位置xとこの位置に対応するy軸方向の位置であるyとを、当該ウィンドウにおける重心座標値(x,y)として記憶する。さらに、光切断線検出部23は、ウィンドウをx軸方向である主走査方向とy軸方向である副走査方向とにジグザグスキャンさせて式(1)の計算を行う処理を繰り返すことにより光切断線を検出する。
図3は、光切断線検出部23が撮像画像領域IAの中でウィンドウをジグザグスキャンさせる様子を模式的に示した図である。同図において、ウィンドウWは、x軸方向の幅がimax−iminであり、y軸方向の高さがjmax−jminである矩形の画像領域である。同図に示すように、光切断線検出部23は、撮像画像領域IAにおいて、ウィンドウWをx軸方向である主走査方向とy軸方向である副走査方向とに所定ステップずつジグザグに移動させ、ウィンドウWごとに式(1)の計算処理を行って重心座標値(x,y)を計算して、撮像画像領域IAから光切断線を検出する。
【0025】
図2に戻り、特徴点検出部24は、キャリブレーションモードおよび通常計測モードにおいて、光切断線検出部23で検出された光切断線から特徴点を検出してその特徴点の二次元座標値を取得する。特徴点とは、光切断線の輝度の変化点、すなわち光切断線の端部の点である。図3においては、特徴点は、点p1,p2である。よって、特徴点検出部24は、光切断線検出部23が検出した光切断線の両端部の二次元座標値を取得する。
図4は、特徴点検出部24が撮像画像領域IA−1,IA−2から検出した特徴点の二次元座標を示す図である。同図(a)は、撮像部12−1が撮像した撮像画像の撮像画像領域IA−1における輝線LL−1とその輝線LL−1の両端部の点である2個の特徴点p1a,p2aとを示している。2個の特徴点のxy座標系における二次元座標値は、p1a=(x1a,y1a),p2a=(x2a,y2a)である。同図(b)は、撮像部12−2が撮像した撮像画像の撮像画像領域IA−2における輝線LL−2とその輝線LL−2の両端部の点である2個の特徴点p1b,p2bとを示している。2個の特徴点のx’y’座標系における二次元座標値は、p1b=(x1b,y1b),p2b=(x2b,y2b)である。
【0026】
なお、特徴点検出部24は、キャリブレーションモードおよび通常計測モードにおいて、記憶部から後述するレンズ歪補正係数を読み込んで画像平面の二次元座標値を補正する。
【0027】
図2に戻り、座標変換パラメーター計算部25は、キャリブレーションモードにおいては、撮像部12−1の撮像画像領域IA−1におけるxy座標系の二次元座標値と撮像部12−2の撮像画像領域IA−2におけるx’y’座標系の二次元座標値とを、単一の座標系であるxy座標系の二次元座標値に変換するための座標変換パラメーターを計算する。具体的には、座標変換パラメーター計算部25は、スリット光SLの面を表す式と、カメラパラメーター計算部22で計算されたカメラパラメーターと、キャリブレーション用ブロック100の高さ寸法値とに基づいて、xy座標系とx’y’座標系とを対応付けるための座標変換パラメーターを計算して記憶部に記憶する。
また、座標変換パラメーター計算部25は、通常計測モードにおいては、特徴点検出部24で検出された計測対象物体の特徴点のx’y’座標系の二次元座標値をxy座標系の二次元座標値に線形変換して一つのxy座標系に統合する。
【0028】
載置台駆動部30は、計測制御部21から供給される移動方向または回転方向、ピッチ、移動距離または回転角度等の制御情報に基づいて載置台40を移動または回転させるアクチュエータであり、例えばステッピングモーターを含んで構成される。
【0029】
次に、三次元形状計測装置1のキャリブレーションモードの動作について説明する。キャリブレーションモードの処理は、カメラパラメーター計算処理と座標変換パラメーター計算処理とを含む。まず、三次元形状計測装置1のカメラパラメーター計算処理について説明する。図5は、三次元形状計測装置1が実行する1台の撮像部12についてのカメラパラメーター計算処理の手順を示すフローチャートである。チェッカーパターンのテストチャートが載置台40に載置された後、三次元形状計測装置1が計測制御部21に対してカメラパラメーター計算処理の動作開始指示を供給すると、同図に示すフローチャートの処理が開始される。
【0030】
ステップS1において、計測制御部21は、1台の撮像部12(例えば、撮像部12−1)を制御して、テストチャートのチェッカーパターンを撮像させる。次に、撮像部12は、撮像画像データをカメラパラメーター計算部22に供給する。
次に、ステップS2において、計測制御部21は、予め設定された所定枚数分のチェッカーパターンの撮像を行ったか否かを判定し、所定枚数分の撮像を完了していないと判定した場合(S2:NO)はステップS3の処理に移り、所定枚数分の撮像を完了したと判定した場合(S2:YES)はステップS4の処理に移る。
【0031】
ステップS3において、計測制御部21は、載置台駆動部30を制御し、予め設定された所定角度分だけ例えば時計回転方向に載置台40を回転させて、ステップS1の処理に戻る。
ステップS4において、カメラパラメーター計算部22は、所定枚数の撮像画像データを取得すると、撮像画像ごとにチェッカーパターンの特徴点の二次元座標値を抽出し、抽出した特徴点同士の対応付けを行ってカメラパラメーターを計算し記憶部に記憶する。そして、このフローチャートの処理を終了する。
【0032】
三次元形状計測装置1は、撮像部12−2についても図5のフローチャートの手順に従ってカメラパラメーターを計算し記憶部に記憶する。
【0033】
ここで、カメラパラメーター計算部22のカメラパラメーターの計算処理について説明する。カメラパラメーターの計算方法は、例えば公知文献である“Lerning OpenCV, Computer Vision with the OpenCV Library, Gary Bradski, Adrian Kaebler, O’REILLY”に開示されており、カメラパラメーター計算部22は、このような公知技術によりカメラパラメーターを計算する。
【0034】
カメラパラメーターについて概略を説明する。撮像画像領域IAにおける二次元座標値を(x y)とし、チェッカーパターンのテストチャートまたは計測対象物体の位置を規定する世界座標系の三次元座標値を(X Y Z)とすると、それぞれの同次座標値q(ボールド体),Q(ボールド体)は式(2)で表され、また、座標の変換式は式(3)のように表される。なお、「(ボールド体)」との記載は、その直前の文字がボールド体であることを示し、当該文字で示されるデータが行列またはベクトルであることを意味する。
【0035】
【数2】

【0036】
【数3】

【0037】
なお、式(3)において、sは、スケールパラメーターである。また、M(ボールド体)は、撮像部12の内部パラメーター行列である。
内部パラメーター行列M(ボールド体)は、以下の要素を含む。
:x軸方向の焦点距離(画素単位での表現)
:y軸方向の焦点距離(画素単位での表現)
:画像中心である主点(x座標)
:画像中心である主点(y座標)
【0038】
W(ボールド体)は、撮像部12の外部パラメーター行列であり、以下の要素を含む。
R(ボールド体):世界座標からカメラ座標への変換を表す回転行列
t(ボールド体):世界座標からカメラ座標への変換を表す並進行列
なお、世界座標は、チェッカーパターンのテストチャートが最初に配置された位置の座標である。
【0039】
カメラパラメーター計算部22は、撮像部12が備える撮像レンズのレンズ歪を補正するためのレンズ歪補正係数と撮像レンズの半径の値を記憶部に予め記憶している。撮像画像における二次元座標値からレンズ歪を補正した二次元座標値を計算する式は、例えば式(4)である。式(4)の(x)に画像平面の二次元座標値(x y)を代入して計算することにより、レンズ歪が補正された座標値(x y)を得ることができる。式(4)において、k,k,kは、撮像レンズの径方向のレンズ歪を示すレンズ歪補正係数であり、p,pは、撮像レンズの円周方向のレンズ歪を示すレンズ歪補正係数である。また、rは撮像レンズの半径である。
【0040】
【数4】

【0041】
次に、三次元形状計測装置1の座標変換パラメーター計算処理について説明する。図6は、三次元形状計測装置1が実行する座標変換パラメーター計算処理の手順を示すフローチャートである。キャリブレーション用ブロック100が載置台40に載置された後、三次元形状計測装置1が計測制御部21に対して座標変換パラメーター計算処理の動作開始指示を供給すると、同図に示すフローチャートの処理が開始される。
【0042】
ステップS11において、計測制御部21は、光源部11に対してスリット光の照射開始を指示する。そして、この指示を受けた光源部11は、スリット光SLの照射を開始する。
次に、ステップS12において、撮像部12−1,12−2は、被写体であるキャリブレーション用ブロック100をそれぞれ撮像し、各撮像画像データを光切断線検出部23に供給する。
【0043】
次に、ステップS13において、光切断線検出部23は、二つの撮像画像データを取り込んで、撮像画像領域IA−1,IA−2それぞれにキャリブレーション用ブロック100の上面101に映る輝線LLの輝線画像があるか否かを判定する。具体的には、光切断線検出部23は、撮像画像領域IAごとに、例えば、ウィンドウWをジグザグスキャンさせて、ウィンドウWの内部から輝度の高いオブジェクトを探索する。光切断線検出部23は、輝度の高いオブジェクトを検出した場合に輝線LLがあると推定する。一方、光切断線検出部23は、輝度の高いオブジェクトを検出しない場合に輝線LLがないと推定する。そして、光切断線検出部23は、撮像画像領域IA−1,IA−2のいずれか一方に輝線LLがないと推定した場合には、載置台40の位置の調整が必要であると判定する(S13:YES)。一方、光切断線検出部23は、撮像画像領域IA−1,IA−2のいずれとも輝線LLがあると推定した場合には、載置台40の位置の調整は不要であると判定する(S13:NO)。
【0044】
光切断線検出部23が載置台40の位置の調整が必要であると判定した場合(S13:YES)、ステップS14において、光切断線検出部23は、計測制御部21に対し、載置台駆動部30を制御して載置台40を所定ステップだけ移動させるよう制御する。そして、載置台駆動部30は、その制御に基づいて載置台40を移動させる。ステップS12からステップS14までの処理は、光切断線検出部23が載置台40の位置の調整は不要であると判定するまで繰り返される。載置台40の移動方向は載置面のXY平面上を二次元的に移動するよう予め設定されている。
【0045】
一方、光切断線検出部23が載置台40の位置の調整が不要であると判定した場合(S13:NO)、ステップS15において、光切断線検出部23は、前述したように撮像画像領域IA−1,IA−2それぞれから輝度の重心位置を求める処理を行って光切断線をそれぞれ検出する。
次に、ステップS16において、特徴点検出部24は、撮像画像領域IA−1から得られた光切断線の特徴点を検出してxy座標系の二次元座標値を取得する。そして、特徴点検出部24は、撮像画像領域IA−2から得られた光切断線の特徴点を検出してx’y’座標系の二次元座標値を取得する。次に、特徴点検出部24は、記憶部からレンズ歪補正係数を読み込み、式(4)にしたがってレンズ歪を補正した二次元座標値を計算する。
【0046】
次に、ステップS17において、座標変換パラメーター計算部25は、レンズ歪補正後のxy座標系とx’y’座標系との座標変換パラメーターを計算する。
ここで、座標変換パラメーター計算部25が実行する座標変換パラメーターの計算処理について具体的に説明する。光源部11から射出されるスリット光SLの空間における広がりは面とみなすことができ、その面は下記の式(5)のように表すことができる。なお、式(5)において、A,B,Cは、スリット光の面を規定する係数であり、これらの係数A,B,Cは予め記憶部に記憶されている。また、Zは、キャリブレーション用ブロック100の高さ寸法値であり、この高さ寸法値はリファレンスデータに含まれている。
【0047】
【数5】

【0048】
ここで、以下の説明を簡単にするために、式(3)のq(ボールド体)=s・M(ボールド体)・W(ボールド体)・Q(ボールド体)を下記の式(6)に置き換える。
【0049】
【数6】

【0050】
つまり、式(6)において、pij(1≦i≦3,1≦j≦4)の要素で構成される3行4列の行列は、s・M(ボールド体)・W(ボールド体)・Q(ボールド体)に対応する。
式(6)を展開すると、撮像画像領域IAにおける二次元座標値のx成分は、下記の式(7)として表される。
【0051】
【数7】

【0052】
同様に、式(6)を展開すると、撮像画像領域IAにおける二次元座標値のy成分は、下記の式(8)として表される。
【0053】
【数8】

【0054】
式(5)および式(7)より、下記の式(9)が導かれる。
【0055】
【数9】

【0056】
同様に、式(5)および式(7)より、下記の式(10)が導かれる。
【0057】
【数10】

【0058】
式(8),(9),(10)より、下記の式(11)が導かれる。
【0059】
【数11】

【0060】
式(11)から分かるように、撮像画像領域IAにおける二次元座標値(x y)は、カメラパラメーターおよびキャリブレーション用ブロック100の高さ寸法値によって決定される直線である。
【0061】
撮像部12−1,12−2が同一の輝線LLを撮像した場合、式(9)は下記の式(12)のように表される。なお、式(12)において、撮像部12−1の各パラメーターには添字αを付与し、撮像部12−2の各パラメーターには添字βを付与して表す。
【0062】
【数12】

【0063】
式(12)をxαについて整理すると、下記の式(13)になる。
【0064】
【数13】

【0065】
つまり、座標変換パラメーター計算部25は、xy座標系とx’y’座標系との各直線上の点を線形変換によって対応付けることができる。式(13)におけるK,Lが座標変換パラメーターである。なお、座標変換パラメーター計算部25は、xα,xβに対応するyα,yβを、式(11)により求める。
式(13)を整理すると、座標変換パラメーターK,Lは、下記の式(14)のように表される。
【0066】
【数14】

【0067】
座標変換パラメーター計算部25は、式(14)により求めた座標変換パラメーターK,Lを記憶部に記憶し、図6のフローチャートの処理を終了する。
【0068】
三次元形状計測装置1は、高さ寸法値の異なる複数のキャリブレーション用ブロック100それぞれについて、図6に示す座標変換パラメーター計算処理を実行する。そして、座標変換パラメーター計算部25は、高さ寸法ごとの座標変換パラメーターを線形補間して得られる座標変換パラメーターを記憶部に記憶する。このようにすることにより、任意の高さの対応関係を簡易且つ短時間に得ることができる。
【0069】
次に、三次元形状計測装置1の通常計測モードの動作について説明する。通常計測モードにおいて、撮像部12−1,12−2は、それぞれ計測対象物体を撮像して撮像画像データを光切断線検出部23に供給する。そして、光切断線検出部23は、これらの撮像画像データを取り込み、xy座標系の撮像画像領域IA−1とx’y’座標系の撮像画像領域IA−2とのそれぞれから光切断線を検出する。次に、特徴点検出部24は、xy座標系における特徴点の二次元座標値と、x’y’座標系における特徴点の二次元座標値とを取得する。次に、座標変換パラメーター計算部25は、記憶部から座標変換パラメーターを読み込み、x’y’座標系をxy座標系に線形変換してxy座標系の仮想的な画像領域を構築し、そのxy座標系における特徴点の二次元座標値を記憶部に記憶する。
【0070】
上述したとおり、本発明の第1実施形態である三次元形状計測装置1によれば、座標変換パラメーター計算部25が、撮像部12−1,12−2が撮像した各撮像画像におけるキャリブレーション用ブロック100の光切断線の特徴点の二次元座標値を単一座標系の二次元座標値に変換するための座標変換パラメーターを計算する。この座標変換パラメーターを求めておくことにより、三次元形状計測装置1は、撮像方向の異なる撮像部12−1,12−2それぞれから得られる撮像画像を容易につなぎ合わせて単一の画像平面を構築することができる。キャリブレーション用ブロック100は、撮像部12−1,12−2がそれぞれ撮像可能なように載置台40に置かれるだけでよい。また、キャリブレーションにおいて、光切断線の詳細なスキャンを必要としないため、三次元形状計測装置1によれば、簡便な作業で短時間にキャリブレーションを行うことができる。
【0071】
[第2の実施の形態]
本発明の第2実施形態は、上述した第1実施形態における三次元形状計測装置1の機能をロボット装置に組み込んだ形態である。この第2実施形態において第1実施形態と同一の構成については同一の符号を付してその説明を省略する。
【0072】
図7は、本発明の第2実施形態であるロボット装置がキャリブレーションを行っている様子を模式的に示した、ロボット装置およびキャリブレーション用ブロックの概略の図である。同図に示すように、ロボット装置2は、ロボット本体50と、光源部11と、載置台40とを含んで構成される。そして、載置台40には、キャリブレーション用ブロック100が載置されている。
ロボット本体50は、地面に固定された支持台51と、旋回および屈伸動作が可能なアーム部52と、回転および首振り動作が可能なハンド部53と、ハンド部53に取り付けられた撮像部12とを含んで構成される。ロボット本体50は、支持台51とアーム部52とハンド部53との組み合わせが6軸の自由度を有し、撮像部12の位置および向きを自在に変更可能な検査ロボットである。
なお、ロボット本体50の自由度は3軸以上あればよい。また、支持台51は、地面の他に壁や天井等の地面に対して固定された場所に設置してもよい。
【0073】
次に、三次元形状計測装置1の機能構成について説明する。図8は、ロボット装置2の主要な機能構成を示すブロック図である。なお、同図において、図7に示した構成と同一の構成については同一の符号を付す。図8に示すように、ロボット装置2は、光源部11と、制御部20aと、載置台駆動部30と、載置台40と、ロボット本体50とを備える。以下、図7および図8を併せ参照してロボット装置2の機能構成について説明する。
【0074】
制御部20aは、ロボット装置2全体を制御するものであり、例えば、キャリブレーションモードと通常計測モードとを、外部から供給される選択信号によって切替える制御を行う。制御部20aは、CPU(Central Processing Unit)と記憶部と(いずれも不図示)を含んで構成され、その機能上、計測制御部21aと、カメラパラメーター計算部22aと、光切断線検出部23aと、特徴点検出部24と、座標変換パラメーター計算部25とを含む。
【0075】
計測制御部21aは、光源部11と載置台駆動部30とロボット本体50とを制御する。具体的には、計測制御部21aは、光源部11に対して、スリット光SLの射出の開始および停止を制御する。また、計測制御部21aは、撮像部12に対して、チェッカーパターンのテストチャートを撮像させて、撮像画像データをカメラパラメーター計算部22aに供給させる制御を行う。また、計測制御部21aは、撮像部12に対して、計測対象物体に映った輝線LLを撮像させて、撮像画像データを光切断線検出部23aに供給させる制御を行う。また、計測制御部21aは、載置台駆動部30に対して、載置面上X方向およびY方向の少なくとも一方向に載置台40を移動させたり、載置面の略中心位置を中心点として載置台40を回転させたりする制御を行う。また、計測制御部21aは、ロボット本体50に対して支持台51とアーム部52とハンド部53とを複合的に動作させて撮像部12を三次元空間中の第1の位置と第2の位置とに設定することができる。
なお、この第1および第2の位置とは、撮像部12の撮像レンズの光軸の方向を変更することも含む。
【0076】
カメラパラメーター計算部22aは、キャリブレーションモードにおいて、撮像部12から供給される撮像画像データを取り込み、撮像部12の位置および向きごとに、撮像画像に含まれるチェッカーパターンの二次元座標値に基づいてカメラキャリブレーションを行う。
光切断線検出部23aは、キャリブレーションモードおよび通常計測モードにおいて、撮像部12から供給される撮像画像データを順次取り込み、撮像部12の位置および向きごとに、撮像画像データの撮像画像領域IA−1,IA−2それぞれから光切断線を検出する。なお、撮像部12の第1の位置で撮像された撮像画像データの撮像画像領域が撮像画像領域IA−1であり、撮像部12の第2の位置で撮像された撮像画像データの撮像画像領域が撮像画像領域IA−2である。
【0077】
次に、ロボット装置8のキャリブレーションモードの動作について説明する。キャリブレーションモードの処理は、カメラパラメーター計算処理と座標変換パラメーター計算処理とを含む。まず、ロボット装置2のカメラパラメーター計算処理について説明する。ロボット装置2が実行する撮像部12についてのカメラパラメーター計算処理の手順は、第1実施形態で説明した図5に示したフローチャートによる手順と同様である。よって、同図を参照して、ロボット装置2が実行する撮像部12についてのカメラパラメーター計算処理の手順を説明する。チェッカーパターンのテストチャートが載置台40に載置された後、ロボット装置2が計測制御部21aに対してカメラパラメーター計算処理の動作開始指示を供給すると、同図に示すフローチャートの処理が開始される。
【0078】
ステップS1において、計測制御部21aは、第1の位置に設定された撮像部12を制御して、テストチャートのチェッカーパターンを撮像させる。次に、撮像部12は、撮像画像データをカメラパラメーター計算部22に供給する。
次に、ステップS2において、計測制御部21aは、予め設定された所定枚数分のチェッカーパターンの撮像を行ったか否かを判定し、所定枚数分の撮像を完了していないと判定した場合(S2:NO)はステップS3の処理に移り、所定枚数分の撮像を完了したと判定した場合(S2:YES)はステップS4の処理に移る。
【0079】
ステップS3において、計測制御部21aは、載置台駆動部30を制御し、予め設定された所定角度分だけ例えば時計回転方向に載置台40を回転させて、ステップS1の処理に戻る。
ステップS4において、カメラパラメーター計算部22は、所定枚数の撮像画像データを取得すると、撮像画像ごとにチェッカーパターンの特徴点の二次元座標値を抽出し、抽出した特徴点同士の対応付けを行ってカメラパラメーターを計算し記憶部に記憶する。そして、このフローチャートの処理を終了する。
【0080】
ロボット装置2は、第2の位置に設定された撮像部12についても図5のフローチャートの手順に従ってカメラパラメーターを計算し記憶部に記憶する。
なお、カメラパラメーター計算部22のカメラパラメーターの計算処理については、第1実施形態と同一であるため、その説明を省略する。
【0081】
次に、ロボット装置2の座標変換パラメーター計算処理について説明する。図9は、ロボット装置2が実行する座標変換パラメーター計算処理の手順を示すフローチャートである。キャリブレーション用ブロック100が載置台40に載置された後、ロボット装置2が計測制御部21aに対して座標変換パラメーター計算処理の動作開始指示を供給すると、同図に示すフローチャートの処理が開始される。
【0082】
ステップS31において、計測制御部21aは、光源部11に対してスリット光の照射開始を指示する。そして、この指示を受けた光源部11は、スリット光SLの照射を開始する。
次に、ステップS32において、計測制御部21aは、撮像部12を第1の位置に設定するようロボット本体50を制御する。そして、ロボット本体50は、支持台51とアーム部52とハンド部53とを制御して撮像部12を第1の位置に設定する。次に、撮像部12は、被写体であるキャリブレーション用ブロック100を撮像し、撮像画像データを光切断線検出部23aに供給する。
次に、計測制御部21aは、撮像部12を第2の位置に設定するようロボット本体50を制御する。そして、ロボット本体50は、支持台51とアーム部52とハンド部53とを制御して撮像部12を第2の位置に設定する。次に、撮像部12は、被写体であるキャリブレーション用ブロック100を撮像し、撮像画像データを光切断線検出部23aに供給する。
【0083】
次に、ステップS33において、光切断線検出部23は、撮像画像データを順次取り込んで、撮像画像領域IA−1,IA−2それぞれにキャリブレーション用ブロック100の上面101に映る輝線LLの輝線画像があるか否かを判定する。輝線LLがあるか否かの推定方法の具体的内容は、第1実施形態と同様であるため、その説明を省略する。光切断線検出部23aは、撮像画像領域IA−1,IA−2のいずれか一方に輝線LLがないと推定した場合には、載置台40の位置の調整が必要であると判定する(S33:YES)。一方、光切断線検出部23aは、撮像画像領域IA−1,IA−2のいずれとも輝線LLがあると推定した場合には、載置台40の位置の調整は不要であると判定する(S33:NO)。
【0084】
光切断線検出部23aが載置台40の位置の調整が必要であると判定した場合(S33:YES)、ステップS34において、光切断線検出部23aは、計測制御部21aに対し、載置台駆動部30を制御して載置台40を所定ステップだけ移動させるよう制御する。そして、載置台駆動部30は、その制御に基づいて載置台40を移動させる。ステップS32からステップS34までの処理は、光切断線検出部23aが載置台40の位置の調整は不要であると判定するまで繰り返される。載置台40の移動方向は載置面のXY平面上を二次元的に移動するよう予め設定されている。
【0085】
一方、光切断線検出部23aが載置台40の位置の調整が不要であると判定した場合(S33:NO)、ステップS35において、光切断線検出部23aは、前述したように撮像画像領域IA−1,IA−2それぞれから輝度の重心位置を求める処理を行って光切断線をそれぞれ検出する。
次のステップS36およびステップS37の処理は、図6に示した第1実施形態における座標変換パラメーター計算処理のステップS16およびステップS17の処理と同様であるため、説明を省略する。
【0086】
ロボット装置2は、高さ寸法値の異なる複数のキャリブレーション用ブロック100それぞれについて、図9に示す座標変換パラメーター計算処理を実行する。そして、座標変換パラメーター計算部25は、高さ寸法ごとの座標変換パラメーターを線形補間して高さ寸法に応じた座標変換パラメーターを計算して記憶部に記憶する。
【0087】
次に、ロボット装置2の通常計測モードの動作について説明する。通常計測モードにおいて、計測制御部21aは、撮像部12を第1の位置に設定するようロボット本体50を制御する。そして、ロボット本体50は、支持台51とアーム部52とハンド部53とを制御して撮像部12を第1の位置に設定する。次に、撮像部12は、計測対象物体を撮像して撮像画像データを光切断線検出部23aに供給する。次に、計測制御部21aは、撮像部12を第2の位置に設定するようロボット本体50を制御する。そして、ロボット本体50は、支持台51とアーム部52とハンド部53とを制御して撮像部12を第2の位置に設定する。次に、撮像部12は、計測対象物体を撮像して撮像画像データを光切断線検出部23aに供給する。
【0088】
光切断線検出部23aは、撮像画像データを順次取り込み、xy座標系の撮像画像領域IA−1とx’y’座標系の撮像画像領域IA−2とのそれぞれから光切断線を検出する。次に、特徴点検出部24は、xy座標系における特徴点の二次元座標値と、x’y’座標系における特徴点の二次元座標値とを取得する。次に、座標変換パラメーター計算部25は、記憶部から座標変換パラメーターを読み込み、x’y’座標系をxy座標系に線形変換してxy座標系の仮想的な画像領域を構築し、そのxy座標系における特徴点の二次元座標値を記憶部に記憶する。
【0089】
上述したとおり、本発明の第2実施形態であるロボット装置2によれば、座標変換パラメーター計算部25が、撮像部12が2箇所の位置で撮像した各撮像画像におけるキャリブレーション用ブロック100の光切断線の特徴点の二次元座標値を単一座標系の二次元座標値に変換するための座標変換パラメーターを計算する。この座標変換パラメーターを求めておくことにより、ロボット装置2は、撮像位置の異なる撮像部12から順次得られる撮像画像を容易につなぎ合わせて単一の画像平面を構築することができる。キャリブレーション用ブロック100は、撮像部12が2箇所の位置で撮像可能なように載置台40に置かれるだけでよい。また、キャリブレーションにおいて、光切断線の詳細なスキャンを必要としないため、ロボット装置2によれば、簡便な作業で短時間にキャリブレーションを行うことができる。
【0090】
なお、上述した第1実施形態および第2実施形態では、キャリブレーション用ブロック100は、載置台40の載置面と当該キャリブレーション用ブロック100の上面101との距離(高さ寸法)が異なる複数の固体ブロックのうちの一つであるものとした。これ以外にも、例えば、高さ寸法の異なる複数の平面を設けた固体ブロックを用いるようにしてもよい。
図10は、高さ寸法の異なる複数の平面を設けたキャリブレーション用ブロックの外観の斜視図である。同図に示すように、キャリブレーション用ブロック200は、4段の階段形状部を有して一体的に形成されている。なお、階段は必ずしも4段である必要はなく複数段あればよい。キャリブレーション用ブロック200は中空または凹型であってもよい。キャリブレーション用ブロック200は、その底部201を載置台40の載置面に合わせて載置するものであり、底部201は設置の安定性を確保するために、面または少なくとも4箇所の支持部を有している。底部201と反対側の階段形状部には、底部201の載置面と平行であり、且つ垂直方向の寸法がそれぞれ異なる段上平面202a−202dが設けられている。
キャリブレーション用ブロック100を用いる場合は、作業者によるキャリブレーション用ブロック100の置換作業が発生するが、キャリブレーション用ブロック200を用いる場合は、そのような置換作業は発生せず作業性を向上させることができる。
【0091】
また、キャリブレーション用ブロック100の上面101、またはキャリブレーション用ブロック200の段上平面202a−202dの少なくとも一つの段上平面にチェッカーパターンをパターンニングしてもよい。このようにすることによって、カメラパラメーターを求める際のチェッカーパターンのテストチャートの代わりにキャリブレーション用ブロック100,200を用いることができ、作業性を向上させることができる。
【0092】
また、第1実施形態では、2台の撮像部12(撮像部12−1,12−2)を用いる例について説明したが、撮像部12の台数はこれに限定されず複数台を適用することができる。例えば、3台の撮像部12(撮像部12−1,12−2,12−3)を用いる場合、撮像部12−1,12−2の2台について第1実施形態と同様にしてキャリブレーションを行い、さらに、撮像部12−2,12−3の2台について第1実施形態と同様のキャリブレーションを行う。これにより、撮像部12−1,12−2,12−3を対応付けることができる。
【0093】
また、第2実施形態では、撮像部12を2種類の位置および向きに設定する例について説明したが、これに限定されずさらに多くの位置および向きに設定することもできる。例えば、3種類の位置および向きに設定する場合、第1および第2の位置について、第2実施形態と同様にしてキャリブレーションを行い、さらに、第2および第3の位置について、第2実施系値亜と同様のキャリブレーションを行う。これにより、第1〜第3の位置に設定される撮像部12を対応付けることができる。
【0094】
なお、上述した実施形態である三次元形状計測装置の一部、例えば、制御部の機能をコンピュータで実現するようにしてもよい。この場合、その制御機能を実現するためのキャリブレーション・プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたキャリブレーション・プログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【0095】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0096】
1 三次元形状計測装置
2 ロボット装置
10 光学測定部
11 光源部
12,12−1,12−2 撮像部
20,20a 制御部
21,21a 計測制御部
22 カメラパラメーター計算部
23,23a 光切断線検出部
24 特徴点検出部
25 座標変換パラメーター計算部
30 載置台駆動部
40 載置台
50 ロボット本体
51 支持台
52 アーム部
53 ハンド部
100,200 キャリブレーション用ブロック
201 底部
202a,202b,202c,202d 段上平面
IA,IA−1,IA−2 撮像画像領域
LL,LL−1,LL−2 輝線
p1,p2 点
p1a,p2a,p1b,p2b 特徴点
SL スリット光
W ウィンドウ

【特許請求の範囲】
【請求項1】
光源部が射出したスリット光の照射部分に映る光切断線を、複数の撮像部が撮像して三次元形状計測を行う三次元形状計測装置において、
キャリブレーション用ブロックと、
前記複数の撮像部それぞれが撮像した複数の撮像画像から、前記キャリブレーション用ブロックに照射された前記スリット光による光切断線をそれぞれ検出する光切断線検出部と、
前記光切断線検出部がそれぞれ検出した複数の光切断線から特徴点の座標値をそれぞれ検出する特徴点検出部と、
前記複数の撮像画像それぞれにおける特徴点の座標値を単一の座標系の座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算部と、
を備えることを特徴とする三次元形状計測装置。
【請求項2】
前記キャリブレーション用ブロックは、前記スリット光が照射されるべき平面を有するとともに、前記平面が当該三次元形状計測装置のキャリブレーションの基準面と平行となるように設けられることを特徴とする請求項1記載の三次元形状計測装置。
【請求項3】
前記座標変換パラメーター計算部は、前記スリット光の面を表す式と前記複数の撮像部それぞれのカメラパラメーターと前記キャリブレーション用ブロックの高さ寸法値とに基づいて、前記座標変換パラメーターを計算することを特徴とする請求項1または2記載の三次元形状計測装置。
【請求項4】
前記座標変換パラメーター計算部は、前記キャリブレーション用ブロックの複数の高さ寸法値それぞれに応じて複数の座標変換パラメーターを計算し、前記複数の座標変換パラメーターを線形補間することを特徴とする請求項3記載の三次元形状計測装置。
【請求項5】
光源部が射出したスリット光の照射部分に映る光切断線を、複数の撮像部が撮像して三次元形状計測を行う三次元形状計測装置のキャリブレーション方法において、
前記複数の撮像部それぞれが撮像した複数の撮像画像から、キャリブレーション用ブロックに照射された前記スリット光による光切断線をそれぞれ検出する光切断線検出ステップと、
前記光切断線検出ステップにおいて検出した複数の光切断線から特徴点の座標値をそれぞれ検出する特徴点検出ステップと、
前記複数の撮像画像それぞれにおける特徴点の座標値を単一の座標系の座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算ステップと、
を有することを特徴とする三次元形状計測装置のキャリブレーション方法。
【請求項6】
光源部が射出したスリット光の照射部分に映る光切断線を、撮像部が撮像して三次元形状計測を行うロボット装置において、
キャリブレーション用ブロックと、
前記撮像部が取り付けられたハンド部と、
前記ハンド部が可動自在に取り付けられたアーム部と、
前記ハンド部と前記アーム部とを複合的に動作させて前記撮像部の位置を変更させるとともに、その変更した位置において前記撮像部に撮像させる計測制御部と、
前記複数の撮像部それぞれが撮像した複数の撮像画像から、前記キャリブレーション用ブロックに照射された前記スリット光による光切断線をそれぞれ検出する光切断線検出部と、
前記光切断線検出部がそれぞれ検出した複数の光切断線から特徴点の座標値をそれぞれ検出する特徴点検出部と、
前記複数の撮像画像それぞれにおける特徴点の座標値を単一の座標系の座標値に変換するための座標変換パラメーターを計算する座標変換パラメーター計算部と、
を備えることを特徴とするロボット装置。

【図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


【公開番号】特開2012−2564(P2012−2564A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−135839(P2010−135839)
【出願日】平成22年6月15日(2010.6.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】