(57)【特許請求の範囲】
【請求項１】
物体形状の計測を行う計測器を装着可能なコンピュータ数値制御装置における計測方法であって、
前記コンピュータ数値制御装置に装着した状態において前記計測器の校正を実施する校正ステップと、
前記計測器の再装着を含む所定の状態の変化が生じた場合、３以上の基準位置に対する前記計測器による計測結果を取得し、当該計測結果を前記基準位置に変換するための変換データを算出する変換データ算出ステップと、
前記計測器により前記校正に基づき被計測物体の計測を行い、当該計測結果を前記変換データにより変換する計測ステップと、
を含み、
前記計測器が、所定の格子パターンを特定の物体に対し投影する投影手段と前記特定の物体を撮影する撮影手段とを有する格子パターン投影型計測器であり、
前記校正ステップが、
前記コンピュータ数値制御装置により実現される複数の高さの面毎に前記投影手段により前記特定の物体である当該面上に投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面において各前記面に共通の縦方向個数及び横方向個数存在する点の座標と当該点の光強度と前記高さとの組を含む第１の集合を生成し、当該第１の集合のデータを記憶装置に格納するステップと、
前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における前記点の座標と前記位相角と前記高さとの組を含み且つ各組をノードとして矩形グリッドを構成するための第２の集合のデータを前記記憶装置に格納するステップと、
前記第２の集合のデータからテンソル積型複合超曲面を表すデータを生成し、前記記憶装置に格納する超曲面生成ステップと、
を含み、
前記変換データ算出ステップ及び前記計測ステップにおける前記計測器による計測時に、
計測すべき物体に対して前記投影手段により投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面における座標と光強度との組のデータを抽出し、前記記憶装置に格納する抽出ステップと、
前記抽出ステップで抽出した前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における座標と前記位相角との組のデータを前記記憶装置に格納するステップと、
前記テンソル積型複合超曲面を表すデータを用いて、前記受光面における座標と前記位相角との組のデータに対応する高さデータを補間計算し、前記記憶装置に格納する補間ステップと、
を含む計測方法。
【請求項２】
前記変換データ算出ステップにおいて、
前記コンピュータ数値制御装置により基準物体の相対位置を移動させ、移動後の当該基準物体の所定の位置を前記基準位置として用い、
前記計測器により移動後の前記基準物体の物体形状の計測を行い、当該計測結果に基づき前記基準物体の所定の位置に対応する前記計測器による計測結果を取得する
ことを特徴とする請求項１記載の計測方法。
【請求項３】
前記所定の状態の変化が、所定の閾値以上の温度変化又は時間経過を検出したことを含む請求項１記載の計測方法。
【請求項４】
物体形状の計測を行う計測器と、
当該計測装置を装着可能なコンピュータ数値制御装置と、
前記計測器の校正を実施する校正手段と、
前記コンピュータ数値制御装置に装着した状態において前記計測器の校正を前記校正手段により実施した後に前記計測器の再装着を含む所定の状態の変化が生じた場合、３以上の基準位置に対する前記計測器による計測結果を取得し、当該計測結果を前記基準位置に変換するための変換データを算出する変換データ算出手段と、
前記計測器により前記校正に基づく被計測物体の計測を行った場合、当該計測結果を前記変換データにより変換する手段と、
を有し、
前記計測器が、所定の格子パターンを特定の物体に対し投影する投影手段と前記特定の物体を撮影する撮影手段とを有する格子パターン投影型計測器であり、
前記校正手段が、
前記コンピュータ数値制御装置により実現される複数の高さの面毎に前記投影手段により前記特定の物体である当該面上に投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面において各前記面に共通の縦方向個数及び横方向個数存在する点の座標と当該点の光強度と前記高さとの組を含む第１の集合を生成し、当該第１の集合のデータを記憶装置に格納し、
前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における前記点の座標と前記位相角と前記高さとの組を含み且つ各組をノードとして矩形グリッドを構成するための第２の集合のデータを前記記憶装置に格納し、
前記第２の集合のデータからテンソル積型複合超曲面を表すデータを生成し、前記記憶装置に格納し
前記計測器が、
計測すべき物体に対して前記投影手段により投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面における座標と光強度との組のデータを抽出して、前記記憶装置に格納し、
抽出した前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における座標と前記位相角との組のデータを前記記憶装置に格納し、
前記テンソル積型複合超曲面を表すデータを用いて、前記受光面における座標と前記位相角との組のデータに対応する高さデータを補間計算し、前記記憶装置に格納する、
計測システム。
【請求項５】
物体の計測を行う計測器と当該計測器を装着可能なコンピュータ数値制御装置とを含む計測システムに計測を実行させるためのプログラムであって、
前記コンピュータ数値制御装置に装着した状態において前記計測器の校正を実施した後に前記計測器の再装着を含む所定の状態の変化が生じた場合、３以上の基準位置に対する前記計測器による計測結果を取得し、当該計測結果を前記基準位置に変換するための変換データを算出する変換データ算出ステップと、
前記計測器により前記校正に基づく被計測物体の計測を行った場合、当該計測結果を前記変換データにより変換する計測ステップと、
を実行させ、
前記計測器が、所定の格子パターンを特定の物体に対し投影する投影手段と前記特定の物体を撮影する撮影手段とを有する格子パターン投影型計測器であり、
前記計測器の校正が、
前記コンピュータ数値制御装置により実現される複数の高さの面毎に前記投影手段により前記特定の物体である当該面上に投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面において各前記面に共通の縦方向個数及び横方向個数存在する点の座標と当該点の光強度と前記高さとの組を含む第１の集合を生成し、当該第１の集合のデータを記憶装置に格納する処理と、
前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における前記点の座標と前記位相角と前記高さとの組を含み且つ各組をノードとして矩形グリッドを構成するための第２の集合のデータを前記記憶装置に格納する処理と、
前記第２の集合のデータからテンソル積型複合超曲面を表すデータを生成し、前記記憶装置に格納する超曲面生成処理と、
を含み、
前記変換データ算出ステップ及び前記計測ステップにおける前記計測器による計測時に、
計測すべき物体に対して前記投影手段により投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面における座標と光強度との組のデータを抽出し、前記記憶装置に格納する抽出ステップと、
前記抽出ステップで抽出した前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における座標と前記位相角との組のデータを前記記憶装置に格納するステップと、
前記テンソル積型複合超曲面を表すデータを用いて、前記受光面における座標と前記位相角との組のデータに対応する高さデータを補間計算し、前記記憶装置に格納する補間ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の形状を非接触で計測する計測技術に関する。
【背景技術】
【０００２】
３次元形状の計測は工業のみならず、医学、生物学、考古学、美術品の調査復元など社会の多くの領域で使用されるようになってきている。３次元計測では、従来からの接触型よりも光を用いた非接触型の光計測が望まれている。光計測の領域計測には、１本の線状のスリット光をスリット方向と直交する方向に走査することにより領域の計測を行う光切断法と、面単位で一括して計測する計測方法に分類される。計測時間の観点からは後者の方が有利である。
【０００３】
光切断法は既に十分確立された技術であり、様々な態様が開発され、信頼性の高い計測が可能となっている。しかし、「光三次元計測」吉澤徹編［新技術コミニュケーションズ］ｐ．３１に見るようにスリット光の投影部などの機械的な移動機構を必要としており、これが隘路となって計測時間を短縮することができず、能率が悪いということが指摘されている。従って計測時間を短縮する必要がある分野には適さず、後述のモアレ法や格子パターン投影法などの面計測との使い分けがなされている。また、光切断法は、いわゆる三角測量の原理に基づいており、校正において計量パラメータを決定するのに大きな手間が発生するという問題がある。
【０００４】
一方、面を一括して処理する方法の代表的なものは、モアレ縞により等高線を取得するモアレ法（「光三次元計測」吉澤徹編［新技術コミニュケーションズ］ｐ．６５）、縞状の格子を物体に投影してできる格子パターンを観測する格子パターン投影法（「光三次元計測」吉澤徹編［新技術コミニュケーションズ］ｐ．８３）がある。特に計測精度及び装置の価格からして、現在では後者が期待されている。
【０００５】
格子パターン投影装置は、通常図１に示すように投影部１０００、プロジェクタのレンズ１００２及び格子１００１を含む投影系と、被計測物体１００４に投影された変形格子パターン１００３をレンズ１００６を介して撮影する撮影部１００５を含む撮影系との二つの系統に分けられる。投影部１０００は格子１００１による縞状の格子をレンズ１００２を介して被計測物体１００４に投影する。投影により生ずる格子パターンは被計測物体１００４の凹凸によって変形される。撮影部１００５は、変形された格子パターン１００３を投影方向とは異なる角度から撮影し、ＣＣＤ（Charge Coupled Device）などの受光素子を介して電気信号に変換し、記憶装置に蓄積する。これを解析することによって被測定物体１００４の３次元形状を計測する。なお、各受光素子はその点における光強度に対応した電圧などの電気信号を出力する。格子１００１については、以前はガラスの表面などに作成され固定的であったが、最近は液晶等による格子が実用化され、コンピュータにより液晶デバイスに実体化された縞格子のＯＮ又はＯＦＦを高速に制御するようになっている。
【０００６】
通常、投影部１０００の光軸に直交する基準平面を設定し、この上で縞方向Ｙ及び縞直交方向Ｘの二つの軸を設定する。詳しくは非特許文献１（H.Lu et al.,"Automatic Measurement of 3-D Object Shapes Based on Computer-generated Reference Surface", Bull. Japan Soc. of Prec. Eng. Vol. 21, No.4, p251 (1987)）に開示されているが、この方法では、格子パターンを、縞と直交する軸Ｘ上の位置に対する、光強度Ｉの波として表現し、被計測物体１００４を基準平面上に設置した場合の波の位相Φ（＝Φ2）又は基準平面についての波の位相Φ1と被計測物体１００４を基準平面上に設置した場合の波の位相Φ2との差分ΔΦ（＝Φ2−Φ1）を用いて解析する。これにより格子パターン投影法は別名「変調格子位相法」とも呼ばれる。ここで波の位相の差分ΔΦを使用するのは、計測における系統誤差が引き算によって消滅するので、精度が向上するためである。この方法では、縞波（明の縞と暗の縞のペア）番号は相対的であれば任意に設定することができる。なお、位相角は縞波１波長に対して２πとして計算するのが通例である。
【０００７】
詳しい計算式は非特許文献１に開示されているのでここでは詳細な説明は省略するが、図１に示すようにΔΦを求めるためにΦ1は、格子１００１とレンズ１００２の間の距離、撮影部１００５の光軸と投影部１０００の光軸との交点とレンズ１００２との距離、格子間隔、撮影部１００５の光軸と投影部１０００の光軸の角度などの光学的な幾何位置関係から計算にて求める。これらの幾何位置には当然計測誤差が含まれる。
【０００８】
この他、非特許文献３（山谷謙ほか，液晶格子パターン投影による３次元形状計測，精密工学会誌，vol.67, No.5, p.786, (2001)）や、非特許文献４（Mitsuo Takeda et al., Fourier transform profilometry for the automatic measurement of 3-D object shapes, Applied OPTICS, vol. 22, no. 4, p. 3977 (1983)）にも、別の計算式にて計測値や高さを算出する方法が開示されているが、共に光学的な幾何位置の計測結果を用いて計算するようになっている。
【０００９】
なお、（Φ2＝２π×縞波番号＋縞内部位相角）であって、計測にて求めることになる。このように上で述べた方法では、特に縞波番号を特定することが必要となる。
【００１０】
縞内部位相角を取得するために、基準平面上に対して設定した縞直交方向のＸ軸（図１参照）に沿って走査が行われる。正弦波格子はもちろん、縞格子が２値化されたいわゆるロンキー格子であっても、明及び暗の縞の境界付近は、光の回折現象や受光素子による離散化誤差などによって、基準平面上の縞直交方向のＸ軸に沿った格子パターンの光強度Ｉは除変する。この光強度分布を波と認識し、正弦波の基点を始点とする縞波内位相角を求める。波の山及び谷をπ／２，３π／２とする方法（前述非特許文献１）の他に、谷から山に至る区間の中央値となる点を縞波内位相角０とする方法などが存在する。いずれの方法を用いるにせよ、縞内部位相角０の点で縞波番号は変化し、そこで１つの縞波が区分される。
【００１１】
縞内部位相角を求めるのに、正弦波格子を用いるという条件の下に、格子をπ／２，π，３π／２シフトさせたときの光強度をＩ0，Ｉ1，Ｉ2，Ｉ3とすれば、任意の点ｘにおける縞内部位相角を次式で計算できることが知られている（非特許文献１）。この方法は「位置固定型縞内部位相角計算法」である。
【数１】
0004766839.tif 000002
【００１２】
この他に、谷から山に至る区間の中央値となる点を縞波内部位相角０とする方法や、谷や山のピークを検出する方法などが存在するが、このときは格子をπ／２，π，３π／２シフトさせて内部位相角０，π／２，π，３π／２の位置を求めることになり、これは「位相角固定型位置計算法」である。いずれの方法を用いるにせよ、縞内部位相角０の点で縞波番号は変化し、そこで１つの縞波が区分される。
【００１３】
上で述べたように、投影された格子パターン１００３は光強度Ｉの波として認識されるので、その位相Φは２π×縞波番号＋縞内部位相角として表現される。従って、格子パターン投影法などでは、縞波番号が分からなければ３次元計測ができないことになる。縞波が連続的である場合にはＸ軸に沿って縞波番号は１ずつ増減するため、容易に位相差ΔΦを計算することはできる。しかし、縞が不連続になる場合がある。このように縞が不連続となってしまった場合には、縞波番号の連続性を使用することはできないので、位相差を計算することは容易ではなくなってしまう。また、縞波番号を誤って認識してしまうと、測定の誤差が生じてしまう。
【００１４】
これに対して、縞の不連続性に対応して自動的に縞波番号を取得する方法として、以下に記す非特許文献３に概括されているように白黒の縞格子に対して多数の研究がなされている。この他、カラー縞格子を用いる方法が知られている（特許文献１及び非特許文献２）。
【００１５】
また、特開２００３−６５７３８号（特許文献２）には、以下のような技術が開示されている。すなわち、カメラキャリブレーションを行うために、互いに異なるＺ方向位置において、ＸＹ座標が既知のマーカが付された平面板を複数回撮像する。これによって、同一平面上にないマーカの画像上の位置と、各マーカのワールド座標位置とから、カメラパラメータを計算する。次に、縞平面方程式を得るため、縞空間位置を実測する。この際、投影部によって、縞パターンを平面板に投影する。平面板を移動させ、互いに異なるＺ方向位置において、少なくとも２回、撮像部によって撮像する。そして、投影された各縞について、その光平面（ＸＹ平面と交差する平面）に含まれて且つ一直線上にない少なくとも３点Ｐａ，Ｐｂ，Ｐｃについて、空間座標を取得する。このためには、撮像部から遠い方の画像において、１つの縞による直線画像上の任意の２つの点Ｑａ，Ｑｂを決定する。それらの点Ｑａ，Ｑｂの画素座標位置Ｑａ（ｕａ，ｖａ），Ｑｂ（ｕｂ，ｖｂ）を求める。また撮像部から近い方の画像において、同様に、同じ縞による直線画像上の任意の１つの点Ｑｃを決定する。その点Ｑｃの画素座標位置Ｑｃ（ｕｃ，ｖｃ）を求める。これらの点Ｑａ，Ｑｂ，Ｑｃの画素座標位置、距離ｚ１，ｚ２、およびカメラパラメータを用いて、ワールド座標系での縞上の各点の位置Ｐａ（ｘａ，ｙａ，ｚ１）、Ｐｂ（ｘｂ，ｙｂ，ｚ１）、Ｐｃ（ｘｃ，ｙｃ，ｚ２）を求める。このような処理を、縞パターンの全ての縞について行う。求められたそれぞれの点の位置（座標データ）を、縞空間位置として記憶装置に記憶する。また、縞空間位置に基づいて、それぞれの縞平面方程式を求め、これを記憶装置に記憶する。縞平面方程式は、一般的には次の式で示される。ａｘ＋ｂｙ＋ｃｚ＝ｄ。縞平面方程式のデータとして、例えばこの式のパラメータａ，ｂ，ｃ，ｄが記憶される。なお、上の説明では１つの縞について３点の座標位置を求めたが、平面板のＺ座標位置または画像上の位置などを密にして、４点以上の点の座標位置を求めてもよい。その場合に、それらの点が１つの平面上にない場合には、近似的な縞平面方程式を求める。それによって、さらに精度の高い縞平面方程式が得られる。
【００１６】
このような技術では、あくまで各縞の縞平面方程式を得ることが目的となっているため、縞間の関係は把握されておらず、空間全体を正しく表すことができていない。従って、正しい計測値を得ることができない場合もある。また、縞平面方程式の算出にはカメラパラメータの算出結果を用いているが、カメラパラメータがどのようなデータであるか及びその算出方法が明示されておらず、カメラパラメータが十分な精度で算出されていない場合には、縞平面方程式の精度も落ちてしまう。
【００１７】
上で述べた従来技術が実現している格子パターン投影法は、「位置固定型縞内部位相角計算法」の場合正弦格子を前提としており、その実現度によって計測精度が左右されるので、実現度を向上させるための研究がなされている（非特許文献３）。しかしながら、液晶は離散型であるので正弦格子の実現度にも限界があるのは明らかであり、これにより精度が制限される。また、従来の方法では計算式の係数の精度を向上させるための努力がなされているが、計測ボリューム内の全ての点に対して高精度な値を得るのは困難である。さらに、「位相角固定型位置計算法」の場合は異なった点を参照するが、参照する点のバックグランドの明るさの違いによって誤差を生じ、これにより精度が制限される。
【００１８】
また、非特許文献１、非特許文献３及び非特許文献４に示されたΔΦなどを計算するための計算式は校正パラメタを含むが、これも誤差を含み精度に制限を与える。たとえば、校正パラメタに０．２％の誤差を含まれている場合、非線形性による誤差があれば２００ｍｍ幅の物体を計測すると０．４ｍｍの誤差を生ずる。
【００１９】
さらに、これらの計算式は受光データに系統誤差がある場合、工業的に重要な水平面の計測値の水平性を保証しないと言う問題もある。なお、非特許文献４における式は基準平面に対してのみ偶発誤差がなければ水平性を保証するが、それ以外の高さの水平面に対してはその保証がない。
【００２０】
また、格子パターン投影レンズ、格子パターン撮影レンズは歪曲収差を有する。例えば０．５％の歪曲収差のレンズを用いて２００ｍｍの幅の物体を計測すると、歪曲収差によって１．０ｍｍの誤差を生ずる。ある程度は計算による補正が可能であるが、これでも限度があるのは明らかである。
【００２１】
さらに、光学的な校正は計測座標系に対して行われる。しかしながら、計測装置を例えばＮＣ（Numerical Control）工作機等のＣＮＣ（Computer Numerical Control）装置に取り付けて計測し、計測データを用いてＣＮＣ装置を制御しようとするときは、計測装置と工作機械は軸が一致せず誤差をもつ。この場合、工作装置の座標系で計測装置の校正を行いたいが、現在のところその方法は知られていない。
【００２２】
また、従来からの計測装置のパラメタを高精度に校正するのは高度の技術と長い時間を必要とし、精度を必要とする再校正は計測装置製作者に依頼するのが常である。当該計測装置を製品の生産に使用する場合には、製造停止など経済的な問題がある。
【００２３】
また、上で述べたような従来の格子パターン投影型計測器は可搬式であるか、特定の構造物（例えばフレーム構造、アーム構造など）に対して固定して使用する構造であった。前者の場合には単独で計測器の校正を行い，後者の場合は特定の構造物に装着固定した状態で校正を行っている。
【００２４】
しかし、工作機などのＣＮＣ装置に計測器及び被計測物体を取りつけた状態で、工作機座標系などの実体座標系にて被計測物体を計測しようとする場合には、切り屑などが計測器に接触しないようにする等の目的のため、計測器の脱着が必要となる。
【００２５】
この場合、再装着による計測精度の低下、具体的には工作機の制御盤に表示された座標系と計測値が食い違うという問題点が生ずる。この問題に対処するためピンを使用して計測器を工作機などのＣＮＣ装置に装着固定すれば、ある程度の精度を実現することはできる。しかし、作業性を考慮すると勘合穴にはある程度のクリアランスを与えざるを得ない。このクリアランスが誤差として拡大される。また、取り付け時の応力による歪みや、計測器の経時変化が脱着によって加速するなど、誤差は避けられない。
【００２６】
従って計測器の再校正を行えばよいということになるが、再校正を行うのでは効率がよくない。上でも述べたように、校正には比較的長い時間かかるためである。しかし、計測器の再装着に対する効率のよい対処法は知られておらず、再校正なしには無理と考えられていた。
【００２７】
また、例えば工作機の座標系で格子パターン投影型計測器を用いて絶対値計測を行う場合、計測器自体あるいは環境／状態の温度変化によって計測値が変化するという問題もある。通常は、恒温室に計測器及び被計測物体を入れて計測するものであり、工作機などのＣＮＣ装置に計測器を装着してそのまま計測を行う場合における、温度などの環境／状態の変化に効率的に対処する方法は知られていない。
【００２８】
【特許文献１】特開平３−１９２４７４号公報
【特許文献２】特開２００３−６５７３８号
【非特許文献１】H.Lu et al.,"Automatic Measurement of 3-D Object Shapes Based on Computer-generated Reference Surface", Bull. Japan Soc. of Prec. Eng. Vol. 21, No.4, p251 (1987)
【非特許文献２】W. Liu et al., Color Coded Projection Grating Method for Shape Measurement with a Single Exposure, Applied Optics Vol.39, No.20, p3503 (2000)
【非特許文献３】山谷謙ほか，液晶格子パターン投影による３次元形状計測，精密工学会誌，vol.67, No.5, p.786, (2001)
【非特許文献４】Mitsuo Takeda et al., Fourier transform profilometry for the automatic measurement of 3-D object shapes, Applied OPTICS, vol. 22, no. 4, p. 3977 (1983)
【非特許文献５】G.Farin著，木村文彦監修，山口泰監訳，「ＣＡＧＤのための曲線・曲面理論」，共立出版，１９９１
【非特許文献６】形状処理工学(II)  山口富士夫、日刊工業新聞社
【非特許文献７】Berthold K. P. Horn, Closed-form Solution of Absolute Orientation using Unit Quaternions, Optical Society of America, vol. 4. No. 4 , p. 629, (1987)
【非特許文献８】倉本丈久、竹保義博、門藤至宏、廣川勝久「高精度光応用計測技術の開発（第１報）光切断法による３次元計測」広島県立東部工業技術センター研究報告  第１５号（２００２）
【非特許文献９】Greg Turk, Re-Tiling Polygonal Surfaces, Computer Graphics, vol. 26, no.2, (SIGGRAPH '92), p. 55-64
【発明の開示】
【発明が解決しようとする課題】
【００２９】
以上述べたように従来技術では、ＣＮＣ装置と計測器とを協働させる場合に様々な問題が生じていた。
【００３０】
そこで本発明の目的は、例えば格子パターン投影型計測器などの計測器を、再装着や温度変化などの各種の状態変化が生じても、再校正することなく、例えば工作機座標系のような計測器座標系とは異なる座標系で高精度に計測できるようにするための技術を提供することである。
【００３１】
また本発明の他の目的は、格子パターン投影法において系統誤差を除去するための新規な計測技術を提供することである。
【課題を解決するための手段】
【００３２】
本発明に係る、物体形状の計測を行う計測器を装着可能なコンピュータ数値制御装置における計測方法は、コンピュータ数値制御装置に装着した状態において計測器の校正を実施する校正ステップと、計測器の再装着を含む所定の状態の変化が生じた場合、再度校正を実施することなく、３以上の基準位置に対する計測器による計測結果を取得し、当該計測結果を基準位置に変換するための変換データを算出する変換データ算出ステップと、計測器により上記校正に基づき被計測物体の計測を行い、当該計測結果を変換データにより変換する計測ステップとを含む。
【００３３】
このように一度校正ステップにおいて校正を行った後は、計測器の再装着を含む所定の状態変化が生じた場合には、再校正を行うことなく変換データを算出し、当該変換データを用いて計測器の計測結果を補正するものである。変換データ算出ステップは計測器の校正より短い時間で実施できるため、校正をやり直す場合に比して効率的な計測が可能となる。この際、計測器の座標系は、工作機などのコンピュータ数値制御装置に装着した状態において計測器の校正を実施しているためコンピュータ数値制御装置の座標系に合わせられており、コンピュータ数値制御装置の座標系において高精度の計測ができるようになる。
【００３４】
なお、上で述べた変換データ算出ステップにおいて、コンピュータ数値制御装置により基準物体の相対位置を移動させ、移動後の当該基準物体の所定の位置を前記基準位置として用い、計測器により移動後の基準物体の物体形状の計測を行い、当該計測結果に基づき基準物体の所定の位置に対応する計測器による計測結果を取得するようにしてもよい。計測器の座標系が、コンピュータ数値制御装置の座標系に合わせられているので、変換データ算出時にも座標系を合わせる必要があるためである。
【００３５】
また、上記所定の状態の変化が、所定の閾値以上の温度変化又は時間経過を検出したことを含むようにしてもよい。例えば温度センサによる温度上昇又はタイマによる時間経過を検出するようにしてもよい。
【００３６】
さらに、上記計測ステップが、計測器により被計測物体の第１の部分の計測を実施するステップと、コンピュータ数値制御装置により被計測物体の相対位置の移動を行うステップと、計測器により移動後に被計測物体の第２の部分の計測を実施するステップと、被計測物体の移動のデータを用いて被計測物体の第１の部分又は第２の部分の計測結果を移動させ、他の計測結果と合成する合成ステップとを含むようにしてもよい。１度に被計測物体が計測できない場合の処理である。
【００３７】
また、上で述べた計測器が、所定の格子パターンを特定の物体に対し投影する投影手段と特定の物体を撮影する撮影手段とを有する格子パターン投影型計測器とすることも可能であり、上で述べた校正ステップが、コンピュータ数値制御装置により実現される複数の高さの面毎に投影手段により特定の物体である当該面上に投影され且つ撮影手段により撮影された投影格子パターンの撮影画像から、撮影手段の受光面において各上記面に共通の縦方向個数及び横方向個数存在する点の座標（例えば（ｘ，ｙ））と当該点の光強度と高さの組を含む第１の集合を生成し、当該第１の集合のデータを記憶装置に格納するステップと、光強度を投影格子パターンの位相角に変換し、受光面における上記点の座標と位相角と高さの組を含み且つ各組をノードとして矩形グリッドを構成するための第２の集合のデータを記憶装置に格納するステップとを含むようにしてもよい。
【００３８】
このように撮影手段の受光面における座標と高さと投影格子パターンの位相角の組を複数含む第２の集合を保持しておくことにより、受光面における座標と投影格子パターンの位相角という観測側のデータと実体の高さというデータとが適切に対応付けられ、計測時に受光面における座標と投影格子パターンの位相角とから被測定物体の高さを導出できるようになる。このように計測データのみで校正が行われるので系統誤差が消滅する。なお、上記面は、平面の方が装置製作上及び精度保持上有利ではあるが、曲面であっても機能実現上問題はない。
【００３９】
また、第２の集合のデータからテンソル積型複合超曲面を表すデータを生成し、記憶装置に格納する超曲面生成ステップをさらに含むようにしてもよい。このように本発明では、４次元（受光面における座標（２次元）と位相角（１次元）と高さ（１次元）とで計４次元）空間中においてテンソル積型複合超曲面の形式で、受光面における座標、位相角及び高さの関係を表現する。４次元空間におけるテンソル積型複合超曲面は、３次元空間におけるテンソル積型複合曲面の次元を１つ増加させたものである。
【００４０】
３次元空間におけるテンソル積型複合曲面については、非特許文献５において詳細が述べられているように、「曲面は、形を変えながら空間を移動する曲線（以下「第１の曲線」と呼ぶ）の軌跡である」と捉え、「移動する第１の曲線」を制御点（以下「第１の制御点」と呼ぶ）を用いて表現し、その第１の制御点が、ある曲線（以下「第２の曲線」と呼ぶ）に沿って移動するものとして、第１の制御点を更に異なる制御点を用いて表現するものである。
【００４１】
第１の曲線が第２の曲線に沿って移動するので、第１の曲線を表現する制御点の数と第２の曲線を表現する制御点の数はそれぞれ同一となり、これによって上記各面に共通の縦方向個数及び横方向個数の点から矩形グリッドが構成される。
４次元におけるテンソル積型複合超曲面については、「超曲面は、形を変えながら空間を移動する曲面の軌跡である」と捉え、３次元空間におけるテンソル積型複合曲面を制御点（以下「第２の制御点」と呼ぶ）を用いて表現し、その第２の制御点が第３の座標（例えば時間）に沿って移動するとして、第２の制御点をさらに異なる第３の制御点を用いて表現することによって得ることができる。このようにして生成されたテンソル積型複合超曲面は近似であるが、第２の集合に含まれる組の数が十分多ければ十分な精度を得ることができる。
【００４２】
このテンソル積型複合超曲面の表現式には、ベジエ曲面、B-Spline曲面の次数を１つ増やしたものを使用することができる。なお、本発明におけるテンソル積型複合超曲面は、テンソル積型複合曲面が射影変換された、有理ベジエ曲面や有理B-Spline曲面の次数を１つ増やしたものをも含むものとする。
【００４３】
また、上記変換データ算出ステップ及び計測ステップにおける計測器による計測時に、被計測物体に対して投影手段により投影され且つ撮影手段により撮影された投影格子パターンの撮影画像から、撮影手段の受光面における座標と光強度の組のデータを抽出し、記憶装置に格納するステップと、光強度を投影格子パターンの位相角に変換し、受光面における座標と位相角の組のデータを記憶装置に格納するステップと、テンソル積型複合超曲面を表すデータを用いて、受光面における座標と位相角の組のデータに対応する高さデータを補間計算し、記憶装置に格納する補間ステップとをさらに含むようにしてもよい。
【００４４】
計測面の傾き以外は校正時と同じ条件で計測結果の補間データを得られるので、格子パターンの精度の影響や校正パラメータの精度の影響を軽減することができる。また、高さ一定の平面では校正時と同じ条件で計測がなされるので、水平性及び平坦性の保証ができる。なお、補間については、受光面における座標と位相角を与えて超曲面を参照し、当該超曲面と直線の交差問題を解くことによって可能となる。これは、例えば多次元ニュートン法であるヤコビの反転算法によって解くことができる。
【００４５】
さらに、上で述べた校正ステップにおいて、１又は複数の高さを有し且つ実座標が判明している複数のポイントを含む面毎に投影手段による格子パターンの投影なしに撮影手段により撮影された特定の物体である当該面の撮影画像から、撮影手段の受光面における座標とポイントの実座標と高さの組を複数含む第３の集合を生成し、当該第３の集合のデータを記憶装置に格納するステップをさらに含むようにしてもよい。
【００４６】
このようにして、投影格子パターンの位相角ではなく実座標についても、受光面における座標と高さとの組の集合で表すことにより、適切に空間を表すことができるようになる。なお、上記面は、平面の方が装置製作上及び精度保持上有利ではあるが、曲面であっても機能実現上問題はない。
【００４７】
そして、第３の集合から第２のテンソル積型複合超曲面を表すデータを生成し、記憶装置に格納する第２超曲面生成ステップをさらに含むようにしてもよい。
【００４８】
さらに、第２のテンソル積型複合超曲面を表すデータを用いて、補間ステップにおいて生成された高さデータと受光面における対応座標の組のデータに対応する実座標のデータを補間計算し、記憶装置に格納するステップをさらに含むようにしてもよい。
【００４９】
このようにすれば、レンズの歪曲収差などを除去することができるようになる。なお、実体のＸ軸方向及びＹ軸方向については、超曲面ではなく曲面を用いても空間を表すことができる。
【００５０】
本発明の計測方法は、例えばコンピュータとプログラムの組み合わせにより実施され、このプログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【発明の効果】
【００５１】
本発明によれば、例えば格子パターン投影型計測器などの計測器を、再装着や温度変化などの状態変化が生じても、再校正することなく、例えば工作機座標系のような計測器座標系とは異なる座標系で高精度に計測できるようになる。
【００５２】
また別の側面として、格子パターン投影法において系統誤差を除去することができるようになる。
【発明を実施するための最良の形態】
【００５３】
図２に本発明の一実施の形態における機能ブロック図を示す。本実施の形態における計測部を含むＣＮＣ装置（例えば工作装置。但し、これに限定するものではない。）は、本実施の形態における主要な処理を実施し且つコンピュータである画像処理装置５と、当該画像処理装置５に接続されており且つランプなどの投影部１１と格子を形成するための液晶パネル１２とレンズ１３とを有する液晶プロジェクタ１と、画像処理装置５に接続されており且つレンズ４１とＣＣＤ４２と図示しないメモリを有するカメラ４と、校正時に基準面となる基準平面２（但し高さＺ＝Ｚ1の場合の基準平面を２ａとし、高さＺ＝Ｚ2の場合の基準平面を２ｂとする。）と、画像処理装置５と接続されており且つ当該基準平面２の少なくともＺ方向の移動や被計測物体の並進・回転・傾斜などの移動制御を実行する移動制御部６と、画像処理装置５に接続されており且つＣＮＣ装置における温度を測定する温度センサ７とを含む。なお、基準平面２上において、投影格子パターンの縞直交方向をＸ軸とし、縞方向をＹ軸とし、Ｚ軸方向にカメラ４の光軸が設けられている。一方、ＣＣＤ４２の受光面においても、投影格子パターンの像の縞直交方向をｘ軸とし、縞方向をｙ軸とする。なお、大文字のＸＹＺについては実空間上の軸又は座標を表し、小文字のｘｙについては受光面における像の軸又は座標を表すものとする。なお、本実施の形態では、液晶プロジェクタ１及びカメラ４と電源装置（図示せず）などを含む計測部は、ＣＮＣ装置の他の部分から脱着可能となっている。ちなみに、ここでは計測効率が良い格子パターン投影法を例示したが、必ずしもこれに限定するものではない。すなわち、光切断法やモアレ法などの他の方法の場合も同様の方法で実現することができる。
【００５４】
画像処理装置５には、画像処理装置５全体の制御を行うメイン制御部５００と、カメラ４の制御を行うカメラ制御部５１と、液晶プロジェクタ１の制御を行う投影制御部５２と、校正時の画像処理などを実施するキャリブレーション処理部５３と、移動制御部６に対して基準面の高さＺの変更、基準物体（例えば球）や被計測物体の回転・傾斜・並進移動などを行わせるためのＣＮＣデータの設定を行うＣＮＣデータ設定部５４と、校正時に行われる処理の一部であるテンソル積型複合超曲面などの制御点を生成する制御点生成部５５と、測定時における被測定物体の実座標を算出する実座標算出部５６と、被測定物体を複数回に分けて測定する場合に複数回分の測定データを合成するために必要な処理を実施する合成処理部５９と、計測部をＣＮＣ装置に再装着した場合や温度センサ７により測定された温度が所定の状態となった場合に実施する測定データの補正に必要な処理を実施する補正処理部６０とが含まれている。また、画像処理装置５は、校正時に生成されるテンソル積型複合超曲面などの制御点データなどを格納する校正データ格納部５７と、測定時に生成される被測定物体の実座標データなどを格納する測定データ格納部５８と、測定データの合成処理のためのデータである合成用データを格納する合成用データ格納部６１と、測定データの補正処理のためのデータである補正用データを格納する補正用データ格納部６２とを管理している。
【００５５】
次に本実施の形態に係るＣＮＣ装置を用いた処理の処理フローを図３を用いて説明する。まず、脱着可能な計測部をＣＮＣ装置に装着する（ステップＳ１００）。なお、計測部をＣＮＣ装置から取り外していなければ本ステップは実施されないので点線ブロックで示している。また、工作機の場合には、計測部は刃物取り付け側に装着される。本実施の形態では、ピンなどを用いてできるだけ常に同じ位置に固定できるようにすることが好ましい。次に、校正処理を実施する（ステップＳ１０２）。
【００５６】
ここで校正処理の詳細を図４乃至図１４を用いて述べる。例えば、ユーザが画像処理装置５に校正処理の実施を指示すると、当該指示を受けてメイン制御部５００はＣＮＣデータ設定部５４に校正時の処理を指示する。メイン制御部５００からの指示に応じてＣＮＣデータ設定部５４は、例えば予め設定されている高さＺ（＝Ｚ1）の設定データを移動制御部６に出力し、移動制御部６はＣＮＣデータ設定部５４から受け取った高さＺ（＝Ｚ1）の設定データに従って、基準平面２の高さを高さＺ1になるように制御する。そして、メイン制御部５００の指示に応じて投影制御部５２は、所定の格子パターンを基準平面２ａに対して投影するように、液晶プロジェクタ１を制御する。投影制御部５２の指示に応じて、液晶プロジェクタ１は、所定の格子パターンを液晶パネル１２にて形成し、投影部１１により基準平面２ａに対して液晶パネル１２により形成された所定の格子パターンを投影する。また、メイン制御部５００からの指示に応じてカメラ制御部５１は、当該投影格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５に出力される。画像処理装置５は、例えば校正データ格納部５７などの記憶装置に撮影画像データを格納する。
【００５７】
次に、ＣＮＣデータ設定部５４は、例えば予め設定されている別の高さＺ（＝Ｚ2）の設定データを移動制御部６に出力し、移動制御部６はＣＮＣデータ設定部５４から受け取った高さＺ（＝Ｚ2）の設定データに従って、基準平面２の高さを高さＺ2になるように制御する。そして、投影制御部５２は、所定の格子パターンを基準平面２ｂに対して投影するように、液晶プロジェクタ１を制御する。投影制御部５２の指示に応じて、液晶プロジェクタ１は、所定の格子パターンを液晶パネル１２にて形成し、投影部１１により基準平面２ａに対して液晶パネル１２により形成された所定の格子パターンを投影する。なお、高さＺ1において一度投影しているので、そのまま投影しつづけている場合には投影制御部５２及び液晶プロジェクタ１における処理は不要である。そして、カメラ制御部５１は、当該投影格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５に出力される。画像処理装置５は、例えば校正データ格納部５７などの記憶装置に撮影画像データを格納する。
【００５８】
以上の処理を基準平面２の高さＺを変更して繰り返す（ステップＳ１）。このとき最低限１回基準平面２の高さＺを変更する必要があるが、好ましくは２回以上変更する。多ければそれだけ近似がより正確になるので多い方が好ましい。
【００５９】
ステップＳ１における撮影の概念図を図５（ａ）乃至（ｃ）に示す。図５（ａ）は、図２に示したＺ軸と視線を垂直に直交させた場合の模式図である。液晶プロジェクタ１に設けられ且つ所定の格子パターンが形成される液晶パネル１２を介して光を照射することにより、基準平面２には投影格子パターンが投影される。図５（ａ）では、計測の下限となる高さは直線４２２で示され、計測の上限となる高さは直線４２１で示されている。直線４２１及び４２２に平行で高さが一定の直線が基準平面２を表す。ここではＺ1からＺ4までの４つの基準平面が示されている。また、投影格子パターンにおいて、例えば液晶パネル１２において光が遮断されており位相角Φが一定の直線が直線４１１乃至４１６で表されている。すなわち、直線４１１乃至４１６のうちいずれかの直線上では位相角Φは一定であり、基準平面２のいずれにおいても黒のラインで表される。撮影範囲は、直線４０１及び４０２により囲まれた範囲であり、さらに計測の上限を表す直線４２１と計測の下限を表す直線４２２とによりさらに囲まれた範囲が計測範囲（計測ボリューム）となる。
【００６０】
このような状況においてＣＣＤ４２においてレンズ４１を介して基準平面２に投影された投影格子パターンを撮像すると、例えば図５（ｂ）及び図５（ｃ）のようになる。なお、直線４１１乃至４１６で表される部分のみで光が遮断されており、またＣＣＤ４２のｘ軸方向の受光素子（丸で表す）が２０個、ｙ軸方向の受光素子が１０個と仮定する。また、図５（ｂ）は基準平面２ａでありＺ＝Ｚ1の場合を、図５（ｃ）は基準平面２ｂでありＺ＝Ｚ2の場合をそれぞれ示しているものとする。図５（ｂ）及び図５（ｃ）においては、白丸が光を検出した受光素子を、黒丸が光を検出しなかった受光素子を示している。このように高さＺが異なる場合には、異なる受光素子において、直線４１２、直線４１３、直線４１４及び直線４１５が表す影を検出している。すなわち、基準平面２の高さが異なる場合には、投影格子パターンにおける位相角Φが同一となる受光面上の座標は異なる。ここでは、４本の直線４１２乃至４１５に対応して４列の受光素子のみ光を検出せず、残り受光素子が全て同じように光を検出したような状態を示しているが、実際には格子の縞直交方向に順次変化する光強度が各受光素子において検出される。
【００６１】
図４の処理フローの説明に戻って、メイン制御部５００の指示に応じてキャリブレーション処理部５３は、ステップＳ１で撮影された撮影画像のデータ及びＣＮＣデータ設定部５４により設定された高さＺのデータとを用いて、高さＺと受光面における受光座標（ｘ，ｙ）と光強度Ｉの組のデータを作成し、当該組のデータの集合を例えば校正データ格納部５７に格納する（ステップＳ２）。より具体的には、特定の高さＺにおける撮影画像の各画素の座標（ｘ，ｙ）と光強度Ｉと当該特定の高さＺと対応付けて組を生成し、例えば校正データ格納部５７に格納する。
【００６２】
校正データ格納部５７に格納されるデータ・テーブルの一例を図６に示す。図６の例では、例えばＺ方向の受光素子番号（格子番号とも呼ぶ）を表すｉの列５０１と、例えばｘ方向の格子番号を表すｊの列５０２と、例えばｙ方向の格子番号を表すｋの列５０３と、受光素子のｘ座標の列５０４と、受光素子のｙ座標の列５０５と、高さＺ（Ｚ座標とも呼ぶ）の列５０６と、光強度Ｉの列５０７と、位相角の列５０８とが設けられている。このように、受光面においてｊ列ｋ行に配置された受光素子の受光面における座標（ｘ，ｙ）とその受光素子でｉ番目の高さＺで撮影した場合の光強度Ｉが１レコードとして登録されるようになっている。この段階ではまだ位相角は登録されない。
【００６３】
次に、キャリブレーション処理部５３は、校正データ格納部５７に格納されたデータのうち光強度Ｉを位相角Φに変換し、校正データ格納部５７の例えば図６のデータ・テーブルに格納する（ステップＳ３）。格子パターン投影法において光強度Ｉから位相角Φを計算する方法は、背景技術の欄で述べた（１）式のほか様々な方法が既に考案されており、その技術を用いれば計算できるため、ここではこれ以上説明しない。
【００６４】
そして、制御点生成部５５は、受光座標（ｘ，ｙ）と高さＺと位相角Φとの各組を入力点として、テンソル積型複合超曲面を表すための制御点を生成し、校正データ格納部５７に格納する（ステップＳ４）。超曲面は、ｎ次元空間において１個の拘束を与えて得られる図形を意味する。複合は、パッチが複数連結して存在することを表す。テンソル積は多重線形空間であることを表す。ステップＳ３で得られた受光座標（ｘ，ｙ）と高さＺと位相角Φとの組の集合で表される空間は、４次元のテンソル積型複合超曲面で表現でき、この表現式には、ベジエ曲面、B-Spline曲面、有理B-Spline曲面、ＮＵＲＢＳ曲面などの次数を１つ増やしたものを使用する。このようなテンソル積型複合超曲面を用いることにより、計測範囲における高さと受光面の座標と位相角との関係をより正確に表すことができるようになる。なお、テンソル積型複合超曲面は計測点を含む計測ボリューム全体を補間するものであり、近似となってしまうが、連続性があるため、より多くのデータにて制御点を規定できれば、十分な精度を得ることができる。
【００６５】
ここで入力点は図７のような矩形格子型となる。すなわち、図５（ｂ）又は図５（ｃ）を何層にも重ねたような構造である。但し、位相的に矩形格子が成り立てばよく、立方体を組み合わせた矩形格子に限定されるものではない。各格子点Ｐはｉｊｋという３つのパラメータで特定され、また各格子点Ｐは、受光面における座標（ｘ，ｙ）と高さＺと位相角Φとの組を表す。
【００６６】
このように入力点群は図７に示したような矩形格子構造を有しておりｉ，ｊ，ｋのいずれの方向においても掃引方向の連結性が保証されている。したがって、ｉ，ｊ、ｋを独立に掃引して制御点を求めればよい。すなわち、図８に示すように、第１の方向（例えばｉ）に入力点列を掃引して制御点を生成し、当該制御点のデータを例えば校正データ格納部５７に格納する（ステップＳ１１）。例えばｊ及びｋを固定してｉ方向に入力点列を掃引して制御点を生成した後、ｊ又はｋを変更してｉ方向に入力点列を掃引して制御点を生成する。これを繰り返してｉ方向に伸びる入力点列について全て制御点を生成する。また、第２の方向（例えばｊ）に入力点列を掃引して制御点を生成し、当該制御点のデータを例えば校正データ格納部５７に格納する（ステップＳ１３）。ここでも、例えばｉ及びｋを固定してｊ方向に入力点列を掃引して制御点を生成した後、ｉ又はｋを変更してｊ方向に入力点列を掃引して制御点を生成する。これを繰り返してｊ方向に伸びる入力点列について全て制御点を生成する。なお、既にステップＳ１１で生成されている制御点については入力点として用いて制御点を生成する。そして、第３の方向（例えばｋ）に入力点列を掃引して制御点を生成し、当該制御点のデータを例えば校正データ格納部５７に格納する（ステップＳ１５）。例えばｉ及びｊを固定してｋ方向に入力点列を掃引して制御点を生成した後、ｉ又はｊを変更してｋ方向に入力点列を掃引して制御点を生成する。これを繰り返してｋ方向に伸びる入力点列について全て制御点を生成する。ここでもステップＳ１１及びＳ１３において生成された制御点については入力点として用い、制御点を生成する。
【００６７】
なお、校正データ格納部５７において制御点は、例えば図９に示すようなデータ・テーブルにて格納されている。図９の例では、制御点番号の列８００と、ｘ座標の列８０１と、ｙ座標の列８０２と、Ｚ座標の列８０３と、位相角の列８０４とが設けられている。
【００６８】
では具体的に、入力点から制御点を生成する手法について簡単に説明する。比較的簡単な３次のベジエ曲線を用いる場合を示す。図１０（ａ）は、入力点列の一例を示している。このようにＰ1、Ｐ2、Ｐ3、Ｐ4という入力点列が存在するとする。このような場合には、隣接する２入力点（例えばＰ1及びＰ2）を選択し、それぞれの接ベクトル（例えばｍ1及びｍ2）を求める。そうすると、中間の制御点（Ｐ11及びＰ12）は、以下のように求められる。なお、詳しくは非特許文献５を参照されたい。
【数２】
0004766839.tif 000003
【００６９】
これを繰り返せば図１０（ｂ）に示すような制御点列を得ることができる。なお、ベジエ曲線では入力点列Ｐ1、Ｐ2、Ｐ3、Ｐ4も制御点であり、区別するためＰ10、Ｐ20、Ｐ30、Ｐ40と表している。すなわち、Ｐ10とＰ20の間には、Ｐ11及びＰ12が生成され、Ｐ20とＰ30の間には、Ｐ21とＰ22が生成され、Ｐ30とＰ40の間には、Ｐ31とＰ32とが生成される。
【００７０】
このように求められた制御点により、ベジエ超曲面は、１次元のセグメントや２次元のパッチに相当する３次元の超パッチごとに、以下の式で表される。
【数３】
0004766839.tif 000004
但し、Ｂin(t)＝ｎＣｉｔi(１−ｔ）n-i
であって、Bernstein多項式である。Bernstein多項式についても非特許文献５を参照されたい。なお、Ｐijkは制御点である。（２）式は従来から知られているベジエ曲面（例えば非特許文献５記載）の以下の式に対して次元の拡張を行ったものである。
【数４】
0004766839.tif 000005
【００７１】
また本実施の形態においてはベジエ曲線だけではなく、ユニフォームなB-Spline曲線を用いることも可能である。３次のB-Spline曲線の場合を図１１を用いて説明する。ここでＰ1、...Ｐi、Ｐi+1...Ｐnは入力点列である。これに対して、B-Spline曲線の制御点は、Ｑ0、Ｑ1、...Ｑi-1、Ｑi、Ｑi+1、Ｑi+2、...Ｑn、Ｑn+1となる。入力点列Ｐと制御点列Ｑは、上付のサフィックスが同じもの同士対応しており、Ｑ0とＱn+1のみが余分に設けられるようになっている。すなわちベジエの場合よりも制御点の数は少なく、制御点データを保持する場合におけるメモリ容量が少なく済む。
【００７２】
図１１のような制御点列を生成するためには、第１ステップとしてｉ＝１乃至ｎについて、ＱiをＰiと同じに設定する。なお、Ｑ0についてはＱ1と同じに設定する。また、Ｑn+1をＱnと同じに設定する。第２ステップとしてｉ＝１乃至ｎについて、
【数５】
0004766839.tif 000006
を計算し、δi＋Ｑiを、新たなＱiに設定する。なお、Ｑ0についてはＱ1と同じに設定する。また、Ｑn+1をＱnと同じに設定する。
【００７３】
第３ステップにおいては、ｍａｘ｛δi｝＞δs（固定値）であるか判断し、この条件が満たされている場合には第２ステップに戻る。一方、この条件が満たされていない場合には、処理を終了する。このようにすれば、制御点列を算出することができる。なお、詳しい内容については、非特許文献６のＰ６９乃至７２を参照のこと。
【００７４】
このように求められた制御点により、B-Spline超曲面は、１次元のセグメントや２次元のパッチに相当する３次元の超パッチごとに、以下の式で表される。
【数６】
0004766839.tif 000007
なお、Ｑijkは制御点である。
【００７５】
このほかＮＵＲＢＳや有理B-Splineなどを用いることも可能であり、ベジエ及びB-Splineに限定されるものではない。
【００７６】
以上述べたような処理を実施することにより、制御点というテンソル積型複合超曲面を表すデータを得ることができ、以下で述べる測定時に高さＺを得ることができるようになる。
【００７７】
なお、上では撮影画像の位置が固定される形態の画素について格子点を構成する例を示したが、必ずしもこれに限定されるものではなく、例えば特定の位相角の画素についてのみ格子点を構成するようにしても良い。
【００７８】
図４の説明に戻って、メイン制御部５００の指示に応じてＣＮＣデータ設定部５４は、例えば予め設定されている高さＺ（＝Ｚ1）の設定データを移動制御部６に出力し、移動制御部６はＣＮＣデータ設定部５４から受け取った高さＺ（＝Ｚ1）の設定データに従って、基準平面２の高さを高さＺ1になるように制御する。
【００７９】
なお、本ステップでは、基準平面２には、Ｘ座標値、Ｙ座標値又はＸ及びＹ座標値が既知の実体格子パターンが描かれている（又は実体格子パターンが描かれた物を設置する）ものとする。例えば、図１２（ａ）に示すように、Ｙ軸に平行でＸ座標が既知の実体格子パターンと、図１２（ｂ）に示すように、Ｘ座標に平行でＹ座標が既知の実体格子パターンとを別途用意して、以下の処理を実施する。又は、図１２（ｃ）に示すように、Ｘ軸に平行でＹ座標が既知の実体格子パターンとＹ軸に平行でＸ座標が既知の実体格子パターンとの組み合わせである交差格子パターンを用いるようにしても良い。なお、メイン制御部５００の指示に応じて投影制御部５２は、格子パターンではなく単に照明として光を照射するように、液晶プロジェクタ１を制御する。投影制御部５２の指示に応じて、液晶プロジェクタ１は、格子パターンを液晶パネル１２にて形成することなく、投影部１１により基準平面２ａに対して光を照射する。
【００８０】
そして、メイン制御部５００の指示に応じてカメラ制御部５１は実体格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５に出力される。画像処理装置５は、例えば校正データ格納部５７などの記憶装置に撮影画像データを格納する。
【００８１】
次に、ＣＮＣデータ設定部５４は、例えば予め設定されている別の高さＺ（＝Ｚ2）の設定データを移動制御部６に出力し、移動制御部６はＣＮＣデータ設定部５４から受け取った高さＺ（＝Ｚ2）の設定データに従って、基準平面２の高さを高さＺ2になるように制御する。そして、カメラ制御部５１は、実体格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５に出力される。画像処理装置５は、例えば校正データ格納部５７などの記憶装置に撮影画像データを格納する。
【００８２】
以上の処理を基準平面２の高さＺを変更して繰り返す（ステップＳ５）。このとき最低限１回基準平面２の高さＺを変更する必要があるが、好ましくは２回以上変更する。多ければそれだけ近似がより正確になるので多い方が好ましい。
【００８３】
次に、メイン制御部５００の指示に応じてキャリブレーション処理部５３は、例えば校正データ格納部５７に格納された撮影画像データを読み出し、当該撮影画像中実体格子パターンの受光画素を抽出し、当該受光画素の受光座標（ｘ，ｙ）と高さＺと当該実体格子の実座標値（Ｘ座標、Ｙ座標又はＸ座標及びＹ座標）との組の集合のデータを、例えば校正データ格納部５７に格納する（ステップＳ６）。例えば実体格子パターンを黒いラインにしておき、その他の面を白くしておけば、光強度Ｉの値により黒と判断される画素が抽出できる。また、ラインの端などにマーカを付すなどの方法にて、その黒いラインがどの実体座標の実体格子パターンに対応するかを特定できるようにしておけば、抽出された画素に対応する実座標を特定できる。
【００８４】
図１３に校正データ格納部５７に格納されるデータ・テーブルの一例を示す。図１３の例では、例えばＺ方向の受光素子番号（格子番号とも呼ぶ）を表すｉの列１５０１と、例えばｘ方向の格子番号を表すｊの列１５０２と、例えばｙ方向の格子番号を表すｋの列１５０３と、受光素子のｘ座標の列１５０４と、受光素子のｙ座標の列１５０５と、実空間のＸ座標の列１５０６と、実空間のＹ座標の列１５０７と、高さＺの列１５０８と、光強度Ｉの列１５０９とが設けられている。このように、受光面においてｘ方向にｊ番目にｙ方向にｋ番目に抽出された受光素子の受光面における座標（ｘ，ｙ）とその時の高さＺ及び光強度Ｉ、並びに特定された実座標（Ｘ座標、Ｙ座標又はＸ座標及びＹ座標）が１レコードとして登録されるようになっている。なお、実座標は、Ｘ座標だけが登録される場合も、Ｙ座標だけが登録される場合もあり、ここではＸ座標だけが特定された例を示している。
【００８５】
このようにすると、受光座標（ｘ，ｙ）と高さＺと実座標Ｘの組の第１の集合と、受光座標（ｘ，ｙ）と高さＺと実座標Ｙの組の第２の集合とが得られるようになる。したがって、制御点生成部５５は、この第１の集合又は第２の集合に含まれる各組を入力点として、ステップＳ４に関連して説明した処理を実施して制御点を生成し、当該制御点のデータを例えば校正データ格納部５７に格納する（ステップＳ７）。
【００８６】
例えば図１４（ａ）及び図１４（ｂ）に示すような制御点用のデータ・テーブルが校正データ格納部５７に格納される。図１４（ａ）の例では、制御点番号の列１６０１と、ｘ座標の列１６０２と、ｙ座標の列１６０３と、Ｚ座標の列１６０４と、Ｘ座標の列１６０５とが設けられている。また、図１４（ｂ）の例では、制御点番号の列１６１１と、ｘ座標の列１６１２と、ｙ座標の列１６１３と、Ｚ座標の列１６１４と、Ｙ座標の列１６１５とが設けられている。このように、Ｘ座標を求めるための制御点群と、Ｙ座標を求めるための制御点群とは分けて保管される。
【００８７】
以上のようにテンソル積型複合超曲面を表すデータがＸ座標、Ｙ座標及びＺ座標について求められているので、以下で説明する計測処理を実施すれば、被計測物体における点の座標を取得することができるようになる。
【００８８】
なお、ステップＳ１とＳ５については同じ高さＺの基準平面について撮影を行うようにして実体格子パターンの有無を切り替えることにより、同じ高さＺへの基準平面の移動を１度にしてもよい。
【００８９】
いずれにしても基準平面の高さＺは２以上であるが、精度を高めるためにはより多くの高さにおいて上記の処理を実施すべきであり、そうすると校正処理を実施するには長時間かかることが分かる。
【００９０】
図３の説明に戻って、次に、メイン制御部５００の指示により合成処理部５９は、測定データの合成処理を実施するために必要な合成用パラメータを生成する処理を実施する（ステップＳ１０４）。図１５を用いて本ステップが必要な理由を概説する。図１５では右側から左側に液晶プロジェクタ１からの光が照射されるものとする。このとき、例えば球である被計測物体１６０ａを、液晶プロジェクタ１と同じ方向からカメラ４によって撮影すると、被計測物体１６０ａのＡ側は撮影できるため、撮影結果により測定データを得ることができる。しかし、被計測物体１６０ａのＢ側は陰になって撮影できないため、計測も行えない。従って、移動制御部６により被計測物体１６０ａが設置されている回転傾斜台を回転（又は傾斜／並進）させることにより、被計測物体１６０ａを移動させて、被計測物体１６０ａの全体を複数回に分けてカメラ４により撮影して、被計測物体１６０ａの外形全体を計測する。図１５の例では、被計測物体１６０ａを、回転傾斜台を回転させて被計測物体１６０ｂの位置に移動させる。そうすると、被計測物体１６０ａのＢ側に液晶プロジェクタ１からの光が照射されて、カメラ４によって撮影できるようになる。すなわち、カメラ４により被計測物体１６０ｂのＢ側が撮影されて、撮影結果により測定データを得ることができる。
【００９１】
但し、撮影して測定データを生成しただけでは、被計測物体１６０ａのＡ側と、被計測物体１６０ｂのＢ側が独立して計測されただけなので、これを合成しなければ被計測物体全体の計測結果を得ることができない。図１５のような場合には被計測物体１６０ａ又は被計測物体１６０ｂのいずれかの計測結果を回転角に従って回転させれば合成できる。但し、３軸のＮＣフライス盤（マシンニングセンタ）を使用する場合には、回転軸が不明であるために回転角が明らかになっていても計測結果を回転させて合成させることができない。傾斜させるときも同様である。
【００９２】
従って、本実施の形態では、例えば球を回転傾斜台に配置して、回転軸の回りで回転させ、３ヶ所以上の位置で球の外形を以下で説明する方法で計測する。次に、合成処理部５９は、球の外形の計測結果を用いて球の中心座標を算出する。球の外形の計測結果から球の中心座標を算出する方法には多数あり、例えば非特許文献８にもその一例が示されている。基本的には、球面上の多数の計測点に至る距離の２乗和が最小になるような点を求めるようなアルゴリズムが用いられる。そして、３以上の球の中心から再び距離の２乗和を最小にする点として軸通過点を算出する。さらに、３以上の球の中心が形成する平面の法線方向を軸方向とすることにより、回転軸（ベクトル）を算出する。この回転軸と実際の回転角を得ることができれば、例えば周知の非特許文献７に記載の方法を用いて、当該回転軸回りで回転させる場合の回転行列及びその逆行列を導出することができる。従って、ここでいう合成用パラメータは、回転軸（点及び方向ベクトル）であり、合成用データ格納部６１に格納される。傾斜軸についても同様にして算出し、合成用データ格納部６１に格納する。並進移動のための変換行列に必要なデータについては、ここで予め計算しておく必要は無い。なお、複数の軸通過点を求め、内挿又は距離の２乗和を用いて軸を算出することも可能である。
【００９３】
なお、説明を単純化するため被計測物体１６０ａをＡとＢの２面に分けているが、実際にはカメラ４の視野角からして２回では被計測物体全体をカバーすることができない場合が多い。また、５軸のＮＣフライス盤については軸のデータを自動的に得ることができるようになっているため、本ステップについてはスキップすることができる。
【００９４】
次に、被計測物体の計測を実施する（ステップＳ１０６）。但し、この段階で計測を実施せずともよいので、図３では点線ブロックで表している。計測処理についてはステップＳ１１８で詳細に述べるのでここでは説明を省略する。
【００９５】
そして、加工処理を実施する前に計測部をＣＮＣ装置から取り外す（ステップＳ１０８）。但し、場合によっては計測部をはずさなくともよい場合もあるので点線ブロックで表している。その後、加工処理を実施する（ステップＳ１１０）。なお、加工処理は実施せずとも良いので、点線ブロックで示している。ステップＳ１０８及びＳ１１０は特に従来と変わる事は無いので説明を省略する。
【００９６】
そして、メイン制御部５００は、被計測物体の計測の前に、状態変化が生じたか判断する（ステップＳ１１２）。一旦取り外された計測部が再度装着されたことを検出したか（カメラ４及び液晶プロジェクタ１が接続されることにより信号を検出した場合又はユーザによる再装着指示入力を受け付けた場合）、又は温度センサ７からの信号から温度変化が所定の閾値を超えたと判断された場合、例えば前回計測終了時にカウントを開始したタイマにおいて所定の閾値を超えたと判断された場合、或いは操作者が必要に応じて状態が変化したことを入力した場合には、状態変化が生じたと判断する。
【００９７】
もし、状態変化が生じたと判断された場合には、メイン制御部５００の指示により補正処理部６０は、補正データの取得処理を実施する（ステップＳ１１４）。本ステップの概要を図１６（ａ）及び（ｂ）を用いて説明する。図１６（ａ）は、校正直後の状態を示している。ここでは球の中心座標Ｐ（Ｘ1，Ｙ1，Ｚ1）は、カメラ４のＣＣＤ４２（受光面）では座標ｐ（ｘ1，ｙ1）に対応付けられる。また、球の中心座標Ｑ（Ｘ2，Ｙ2，Ｚ2）は、カメラ４のＣＣＤ４２では座標ｑ（ｘ2，ｙ2）に対応付けられる。さらに、球の中心座標Ｒ（Ｘ3，Ｙ3，Ｚ3）は、カメラ４のＣＣＤ４２では座標ｒ（ｘ3，ｙ3）に対応付けられる。校正直後の状態であればこのような対応関係が成り立ち、正確な計測が実施される。
【００９８】
その後計測部を取り外し、さらに再装着すると、図１６（ｂ）に示すように、例えばカメラ４が傾いて装着されてカメラ４'となってしまったとする。そうすると、ＣＣＤ４２（受光面）も傾いてＣＣＤ４２'となってしまう。従って図１６（ａ）に示したのと同じ位置に球を配置したとしても、違う位置であると測定されてしまう。すなわち、球の中心座標Ｐ（Ｘ1，Ｙ1，Ｚ1）は、ＣＣＤ４２'上の座標はｐ（ｘ1，ｙ1）ではなくｐ'（ｘ1'，ｙ1'）となってしまうので、球の中心座標はＰ'（Ｘ1'，Ｙ1'，Ｚ1'）と計測されてしまう。なお同じように、球の中心座標Ｑ（Ｘ2，Ｙ2，Ｚ2）は、ＣＣＤ４２'上の座標はｑ（ｘ2，ｙ2）ではなくｑ'（ｘ2'，ｙ2'）となってしまうので、球の中心座標はＱ'（Ｘ2'，Ｙ2'，Ｚ2'）と計測されてしまう。球の中心座標Ｒ（Ｘ3，Ｙ3，Ｚ3）も、ＣＣＤ４２'上の座標はｒ（ｘ3，ｙ3）ではなくｒ'（ｘ3'，ｙ3'）となってしまうので、球の中心座標はＲ'（Ｘ3'，Ｙ3'，Ｚ3'）と計測されてしまう。
【００９９】
本ステップでは、このような不都合を解消するため、まず、状態変化検出後の状態において、ＣＮＣ装置の座標系における球の中心座標を算出する。このＣＮＣ装置の座標系における球の中心座標は、例えばダイヤルゲージにより球面上の多数の点を計測して、当該計測結果を補正処理部６０に入力し、補正処理部６０が入力された計測結果に基づき球の中心座標を算出する。算出方法は先に述べたように球面上の多数の計測点に至る距離の２乗和が最小になるような点を求めるものである。また、同じ状態で以下で述べる本実施の形態における計測処理を実施する。球の中心の算出については補正処理部６０が同様に実施する。これにより計測座標系における球の中心が算出される。
【０１００】
次に、メイン制御部５００の指示に応じてＣＮＣデータ設定部５４は、球を所定量例えば並進移動させるように移動制御部６に指示を出し、移動制御部６は球を指示に従って移動させる。ここで、補正処理部６０は、移動量に基づきＣＮＣ装置の座標系における球の中心座標を算出する。また、同じ状態で以下で述べる本実施の形態における計測処理を実施する。補正処理部６０は、計測座標系における球の中心座標を算出する。これを繰り返して、少なくとも３ヶ所における球の中心座標を算出する。
【０１０１】
そうすると、補正処理部６０は、本実施の形態における計測処理による計測結果に基づくＰ'（Ｘ1'，Ｙ1'，Ｚ1'）をＣＮＣ装置の座標系における計測結果に基づくＰ（Ｘ1，Ｙ1，Ｚ1）、本実施の形態における計測処理による計測結果に基づくＱ'（Ｘ2'，Ｙ2'，Ｚ2'）をＣＮＣ装置の座標系における計測結果に基づくＱ（Ｘ2，Ｙ2，Ｚ2）に、本実施の形態における計測処理による計測結果に基づくＲ'（Ｘ3'，Ｙ3'，Ｚ3'）をＣＮＣ装置の座標系における計測結果に基づくＲ（Ｘ3，Ｙ3，Ｚ3）に変換するような変換行列を算出する。この変換行列を算出する具体的な方法は周知の非特許文献７に開示されている。算出された変換行列は、補正用データ格納部６２に格納される。なお、球を用いずとも他の既知の点があればその点について処理を行っても良い。また、相対位置の移動を行えばよいので、球を移動させずに計測部を移動させるようにしても良い。
【０１０２】
ステップＳ１１２において状態変化なしと判断された場合又はステップＳ１１４の後に、メイン制御部５００の指示に応じてＣＮＣデータ設定部５４は、移動制御部６に対して被計測物体の全体がカメラ４により撮影できるように被計測物体の相対移動を実施する（ステップＳ１１６）。なお、手動割り出し装置を用いて計測部と被計測物体の相対運動を実施させるようにしてもよい。また、移動のデータ（回転角、傾斜角、並進ベクトル）については合成用データ格納部６１に格納される。
【０１０３】
そして、本実施の形態における被計測物体の計測処理を実施する（ステップＳ１１８）。この処理については図１７を用いて説明する。ユーザはまず計測ボリューム内に被計測物体を設置する。そして画像処理装置５のメイン制御部５００に計測の指示を行う。そうすると、メイン制御部５００は投影制御部５２に指示を行い、投影制御部５２は所定の格子パターンを計測ボリューム内に設置された被測定物体に対して投影するように、液晶プロジェクタ１を制御する。投影制御部５２の指示に応じて、液晶プロジェクタ１は、所定の格子パターンを液晶パネル１２にて形成し、投影部１１により基準平面２上の被測定物体に対して液晶パネル１２により形成された所定の格子パターンを投影する。また、カメラ制御部５１は、当該投影格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５のメイン制御部５００に出力される。画像処理装置５は、例えば測定データ格納部５８などの記憶装置に撮影画像データを格納する（図１７：ステップＳ４１）。
【０１０４】
次に、メイン制御部５００の指示に応じて実座標算出部５６は、例えば測定データ格納部５８に格納された撮影画像データに基づき、受光座標（ｘ，ｙ）と光強度Ｉの組を特定し、例えば測定データ格納部５８に格納する（ステップＳ４３）。図１８に測定データ格納部５８に格納されるデータ・テーブルの一例を示す。図１８の例では、画素（受光素子）番号の列１８０１と、受光面のｘ座標の列１８０２と、ｙ座標の列１８０３の列と、光強度Ｉの列１８０４と、位相角の列１８０５と、Ｚ座標の列１８０６と、Ｘ座標の列１８０７と、Ｙ座標の列１８０８とが含まれる。この段階では、ｘ座標とｙ座標と光強度Ｉのデータのみが登録される。
【０１０５】
そして、実座標算出部５６は、測定データ格納部５８に格納されたデータ・テーブル（図１８）を参照するなどして、光強度Ｉを位相角Φに変換し、測定データ格納部５８のデータ・テーブル（図１８）に格納する（ステップＳ４５）。この処理は、図４に示したステップＳ３と同じであり、既存の技術にて算出する。その後、実座標算出部５６は、受光座標（ｘ，ｙ）と位相角Φとの各組について多次元ニュートン法（例えばヤコビ反転算法）で高さＺを算出し、例えば測定データ格納部５８に格納されたデータ・テーブル（図１８）に格納する（ステップＳ４７）。
【０１０６】
２次元のヤコビ反転算法については、Byoung K. Choi et al., Sculptured Surface Machining, Kluwer Academic Publishers, (1998)に述べられており、ここでは３次元に単純に拡張したものを適用する。以下、簡単に説明するが、ここで行う計算というのは、テンソル積型複合超曲面Ｐのパラメタ表現Ｐ(u,v,w)＝（ｘ(u,v,w)，ｙ(u,v,w)，Ｚ(u,v,w)，Φ(u,v,w)）において、データ・テーブル（図１８）に格納されているｘ*、ｙ*及びΦ*に対応するＺを求める問題である。
【０１０７】
第１ステップとして、初期推定点ｕ0，ｖ0及びｗ0を与える。そして、第２ステップとして、以下の３つの式の連立方程式にてδu，δv及びδwを解く。
【数７】
0004766839.tif 000008
なお、ｘu(u0,v0,w0)は、ｕ＝ｕ0，ｖ＝ｖ0，ｗ＝ｗ0にて評価した偏導関数である。ｙu(u0,v0,w0)及びΦu(u0,v0,w0)についても同様である。
【０１０８】
第３ステップとして、このようにして得られたδu，δv，δwによりｕ0，ｖ0及びｗ0を以下のように更新する。
ｕ0＝ｕ0＋δu
ｖ0＝ｕ0＋δv
ｗ0＝ｗ0＋δw
【０１０９】
そして、第４ステップとして、
（ｘ*−ｘ(u0,v0,w0)）2＋（ｙ*−ｙ(u0,v0,w0)）2＋（Φ*−Φ(u0,v0,w0)）2を評価し、これが十分小さいか判断する。この他評価値として絶対値の和を用いてもよい。もし、十分小さいとするならば、第３ステップで得られたｕ＝ｕ0，ｖ＝ｖ0，ｗ＝ｗ0が解となる。一方、十分小さいとはいえない場合には、第２ステップに戻る。
【０１１０】
最後に、解として得られたｕ＝ｕ0，ｖ＝ｖ0，ｗ＝ｗ0を用いて、例えば（２）式や（３）式に入力することにより、高さＺを得ることができる。
【０１１１】
以上のような処理を実施すれば、高さＺを求めることができる。また、波としての格子パターンの精度に対する影響を軽減することができる。また、校正パラメータの精度の影響を軽減することができるようになる。さらに、Ｚ座標については、計測部とＣＮＣ装置の座標系を揃えることができるようになる。また、高さＺ一定平面では校正時と同じ条件で測定されるので偶発誤差を除けば水平性も保証できる。
【０１１２】
次に、受光座標（ｘ，ｙ）と高さＺとの各組について多次元ニュートン法（例えばヤコビ反転算法）で実体座標Ｘを算出し、例えば測定データ格納部５８に格納されたデータ・テーブル（図１８）に格納する（ステップＳ４９）。ステップＳ４７に関連した説明ではΦとなっていた部分をＺに置き換え、図１４（ａ）に示した制御点のデータを用いて同様の処理を行えばよい。そうすれば、受光座標（ｘ，ｙ）と高さＺの組毎に実体空間のＸ座標を得ることができる。
【０１１３】
同様に、受光座標（ｘ，ｙ）と高さＺとの各組について多次元ニュートン法（例えばヤコビ反転算法）で実体座標Ｙを算出し、例えば測定データ格納部５８に格納されたデータ・テーブル（図１８）に格納する（ステップＳ５１）。ステップＳ４７に関連した説明ではΦとなっていた部分をＺに置き換え、図１４（ｂ）に示した制御点のデータを用いて同様の処理を行えばよい。そうすれば、受光座標（ｘ，ｙ）と高さＺの組毎に実体空間のＹ座標を得ることができる。
【０１１４】
以上のような処理を実施すれば、被測定物体のＸ座標値及びＹ座標値を求めることができる。また、このようにＸ座標及びＹ座標についてもテンソル積型複合超曲面を用いて算出できるようになったため、撮影レンズなどの歪曲収差の影響を軽減することができる。
【０１１５】
図３の説明に戻って、メイン制御部５００の指示に応じて補正処理部６０は、今回計測ボリュームに入っていた部分の被計測物体の計測結果についてステップＳ１１４において算出された変換行列を用いて補正処理を実施する（ステップＳ１１９）。この処理は行列演算に過ぎないのでこれ以上述べない。補正処理の結果は測定データ格納部５８に格納される。
【０１１６】
そして計測終了がユーザにより指示されたか判断する（ステップＳ１２０）。なお、被計測物体の全体又は必要な部分の全てが計測できたかが自動的に判断できる場合には、メイン制御部５００により判断する。もし、計測終了ではない場合にはステップＳ１１２に戻る。
【０１１７】
一方必要な計測処理が終了すると、メイン制御部５００の指示に応じて合成処理部５９は計測結果の合成処理を実施する（ステップＳ１２２）。ステップＳ１０４において生成された合成用パラメータとステップＳ１１６において合成用データ格納部６１に格納された相対移動データとを読み出し、周知の非特許文献７に記載されている方法に従って変換行列を算出する。並進移動の場合には比較的簡単なのでその例を図１９を用いて説明する。
【０１１８】
図１９の例では、被計測物体１８０ａはその全体が計測ボリューム１８２に入りきれないので２度に分けて計測する。第１段階として被計測物体１８０ａのうち計測ボリューム１８２に入った部分の計測を実施する。その後補正処理を実施して補正後の計測結果を測定データ格納部５８に格納する。そして第２段階として、ＣＮＣデータ設定部５４は、図１９のベクトルＶだけ被計測物体１８０ａを並進移動させるためのデータを移動制御部６に設定する。移動制御部６により、被計測物体１８０ａはベクトルＶだけ並進移動され、被計測物体１８０ｂの位置に配置される。そこで計測ボリューム１８２に入った部分の計測を実施を実施する。その後補正処理を実施して補正後の計測結果を測定データ格納部５８に格納する。このときＰ＋Ｖ＝Ｐ'であるから、その逆変換はＰ＝Ｐ'−Ｖとなる。合成処理部５９は、この処理を、第２段階における計測結果に含まれる全ての計測点について実施し、測定データ格納部５８に格納する。
【０１１９】
なお、最終的に合成するには、最高点法やジッパリングといった方法によって１つの被計測物体についてのデータとして構成して、測定データ格納部５８に格納する。なお、この方法は例えば非特許文献９に記載されている。
【０１２０】
そして、メイン制御部５００は、全ての処理が終了したとしてユーザにより指示されたか判断する（ステップＳ１２４）。もし、処理が終了していない場合にはステップＳ１０８に戻る。一方、終了が指示された場合には処理を終了する。
【０１２１】
このようにすれば、図４に示した校正処理を何度も実施する必要がなくなるため、作業効率が向上する。また、再装着時の誤差、温度変化、時間の経過などによる誤差に対処することができる。なお、温度以外の経時変化に対応することも可能である。
【０１２２】
上で述べた計測方法（図１７）では、Ｘ座標及びＹ座標についてもテンソル積型複合超曲面により求めるようにしていたが、Ｘ座標及びＹ座標については高さＺに比例すると考えても問題が無いため、テンソル積型複合曲面にて算出することができる。以下の説明では、テンソル積型複合曲面を用いる場合の処理を説明する。
【０１２３】
図２０を用いて校正時の処理を説明する。まず、高さＺに関する校正処理を実施する（ステップＳ６０）。図４のステップＳ１乃至Ｓ４の処理を実施する。
【０１２４】
そして、例えばユーザが画像処理装置５のメイン制御部５００に校正処理の実施を指示すると、メイン制御部５００はＣＮＣデータ設定部５４に指示を行い、これに応じてＣＮＣデータ設定部５４は、例えば予め設定されている高さＺ（＝Ｚ0）の設定データを移動制御部６に出力し、移動制御部６はＣＮＣデータ設定部５４から受け取った高さＺ（＝Ｚ0）の設定データに従って、基準平面２の高さを高さＺ0になるように制御する。
【０１２５】
なお、今回の校正時には、基準平面２には、Ｘ座標値、Ｙ座標値又はＸ及びＹ座標値が既知の実体格子パターンが描かれている（又は実体格子パターンが描かれた物を設置する）ものとする。これについては図４のステップＳ５と同じである。また、液晶プロジェクタ１による格子パターンの投影は行わない。
【０１２６】
そして、メイン制御部５００の指示に応じてカメラ制御部５１は実体格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５に出力される。画像処理装置５は、例えば校正データ格納部５７などの記憶装置に撮影画像データを格納する（ステップＳ６１）。上では複数の高さの基準平面２について撮影を行うことになっていたが、ここでは１つの高さの基準平面２を撮影すれば十分である。
【０１２７】
次に、メイン制御部５００の指示に応じてキャリブレーション処理部５３は、例えば校正データ格納部５７に格納された撮影画像データを読み出し、当該撮影画像中実体格子パターンの受光画素を抽出し、当該受光画素の受光座標（ｘ，ｙ）と当該実体格子の実座標値（Ｘ座標、Ｙ座標又はＸ座標及びＹ座標）との組の集合のデータを、例えば校正データ格納部５７に格納する（ステップＳ６３）。この処理も図４のステップＳ６とほぼ同じであるが、本ステップでは、高さＺについては全て同じであるから、高さＺについては別途保管していても良い。但し図１３に示したように高さＺを対応付けて保管しておいても良い。
【０１２８】
このようにすると、受光座標（ｘ，ｙ）と実座標Ｘの組の第１の集合と、受光座標（ｘ，ｙ）と実座標Ｙの組の第２の集合とが得られるようになる。したがって、メイン制御部５００の指示に応じて制御点生成部５５は、この第１の集合又は第２の集合に含まれる各組を入力点として、ステップＳ４（図４）に関連して説明した処理を実施して制御点を生成し、当該制御点のデータを例えば校正データ格納部５７に格納する（ステップＳ６５）。なお、図４のステップＳ７では、テンソル積型複合超曲面を表すデータとして制御点を算出していたが、ここではテンソル積型複合曲面を表すデータとして制御点を算出する。算出の仕方は基本的には同じであり、ｕ、ｖ及びｗで表されていた（２）式及び（３）式が、ｕとｖだけで表されるようになるだけである。校正データ格納部５７では、図１４（ａ）及び図１４（ｂ）に示すような形で制御点のデータが格納される。但し、高さＺを各レコードに対応付けて格納しておく必要は無い。
【０１２９】
以上のようにテンソル積型複合曲面を表すデータがＸ座標について及びＹ座標について求められているので、以下の測定時の処理を実施すれば、Ｘ座標及びＹ座標を取得することができるようになる。
【０１３０】
測定時には、ユーザはまず計測ボリューム内に被測定物体を設置する。そして画像処理装置５のメイン制御部５００に測定の指示を行う。そうすると、メイン制御部５００の指示に応じて投影制御部５２は所定の格子パターンを計測ボリューム内に設置された被測定物体に対して投影するように、液晶プロジェクタ１を制御する。投影制御部５２の指示に応じて、液晶プロジェクタ１は、所定の格子パターンを液晶パネル１２にて形成し、投影部１１により基準平面２上の被測定物体に対して液晶パネル１２により形成された所定の格子パターンを投影する。また、メイン制御部５００の指示に応じてカメラ制御部５１は、当該投影格子パターンを撮影するようにカメラ４を制御する。カメラ制御部５１の指示に応じてカメラ４はＣＣＤ４２により撮影を行う。ＣＣＤ４２において得られた撮影画像のデータは、一旦カメラ４内のメモリに格納された後、画像処理装置５のメイン制御部５００に出力される。画像処理装置５のメイン制御部５００は、例えば測定データ格納部５８などの記憶装置に撮影画像データを格納する（図２１：ステップＳ７１）。ステップＳ４１と同じである。
【０１３１】
次に、メイン制御部５００の指示に応じて実座標算出部５６は、例えば測定データ格納部５８に格納された撮影画像データに基づき、受光座標（ｘ，ｙ）と光強度Ｉの組を特定し、例えば測定データ格納部５８に格納する（ステップＳ７３）。ステップＳ４３と同じである。
【０１３２】
そして、実座標算出部５６は、測定データ格納部５８に格納されたデータ・テーブルを参照して、光強度Ｉを位相角Φに変換し、測定データ格納部５８のデータ・テーブルに格納する（ステップＳ７５）。ステップＳ３及びステップＳ４５と同じである。その後、実座標算出部５６は、受光座標（ｘ，ｙ）と位相角Φとの各組について多次元ニュートン法（例えばヤコビ反転算法）で高さＺを算出し、例えば測定データ格納部５８に格納されたデータ・テーブルに格納する（ステップＳ７７）。ステップＳ４７と同じである。
【０１３３】
次に、実座標算出部５６は、各受光座標（ｘ，ｙ）について多次元ニュートン法（例えばヤコビ反転算法）で実体座標Ｘを算出し、さらに高さＺ／校正時の高さＺ0倍し、例えば測定データ格納部５８に格納されたデータ・テーブルに格納する（ステップＳ７９）。前半の処理は、上で述べた論文に書かれている２次元のヤコビ反転算法そのもので算出可能であるが、ここではさらに、得られたＸ座標値をＺ／Ｚ0倍する処理を行って、受光座標（ｘ，ｙ）に対応するＸ座標とする。Ｘ座標値は高さＺに比例するため、校正時の高さＺ0を用いて補正する。このようにして受光座標（ｘ，ｙ）と高さＺの組毎に実体空間のＸ座標を算出する。
【０１３４】
同様に、実座標算出部５６は、受光座標（ｘ，ｙ）と高さＺとの各組について多次元ニュートン法（例えばヤコビ反転算法）で実体座標Ｙを算出し、さらに高さＺ／校正時の高さＺ0倍し、例えば測定データ格納部５８に格納されたデータ・テーブルに格納する（ステップＳ８１）。ステップＳ７９と同様に、前半の処理は上で述べた論文に書かれている２次元のヤコビ反転算法そのもので算出可能であるが、ここではさらに得られたＹ座標をＺ／Ｚ0倍する処理を行って、受光座標（ｘ，ｙ）に対応するＹ座標とする。このようにして受光座標（ｘ，ｙ）と高さＺの組毎に実体空間のＹ座標を算出する。
【０１３５】
以上のような処理を実施すればテンソル積型複合超曲面を用いずにＸ座標及びＹ座標を算出することができる。１次元だけ次数が低いので、計算負荷が低く抑えられる。
【０１３６】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。すなわち、図２に示した機能ブロック図は一例であって、特に画像処理装置５内の機能ブロックは必ずしもプログラムのモジュールに対応せず、他の機能分割を行っても良い。さらに、データ格納部についても例えば１つのハードディスクなどの記憶装置内を領域を分けて用いるようにしても良い。また、処理フローについても一部のステップについては同時に又は順番を入れ替えて実行することが可能となっている。例えば図３においてステップＳ１２２をステップＳ１１９の後ろにしても良い。さらに、ステップＳ１００の直後にステップＳ１１４が実行される場合もある。
【０１３７】
また、テンソル積型複合超曲面又はテンソル積型複合曲面を用いるような説明をしたが、例えばその射影変換を施したものであっても同様に処理できる。
上では超曲面を使用する校正及び計測処理を一例に説明したが、必ずしもこれに限定するものではなく、格子パターン投影法の他の校正方法を採用することも可能である。さらに、上記の技術思想は格子パターン投影法に限定されるものではなく、他の計測方法に適用することも可能である。
【０１３８】
（付記１）
物体形状の計測を行う計測器を装着可能なコンピュータ数値制御装置における計測方法であって、
前記コンピュータ数値制御装置に装着した状態において前記計測器の校正を実施する校正ステップと、
前記計測器の再装着を含む所定の状態の変化が生じた場合、再度校正を実施することなく、３以上の基準位置に対する前記計測器による計測結果を取得し、当該計測結果を前記基準位置に変換するための変換データを算出する変換データ算出ステップと、
前記計測器により前記校正に基づき被計測物体の計測を行い、当該計測結果を前記変換データにより変換するステップと、
を含む計測方法。
【０１３９】
（付記２）
前記変換データ算出ステップにおいて、
前記コンピュータ数値制御装置により基準物体の相対位置を移動させ、移動後の当該基準物体の所定の位置を前記基準位置として用い、
前記計測器により移動後の前記基準物体の物体形状の計測を行い、当該計測結果に基づき前記基準物体の所定の位置に対応する前記計測器による計測結果を取得する
ことを特徴とする付記１記載の計測方法。
【０１４０】
（付記３）
前記所定の状態の変化が、所定の閾値以上の温度変化又は時間経過を検出したことを含む付記１記載の計測方法。
【０１４１】
（付記４）
前記計測ステップが、
前記計測器により前記被計測物体の第１の部分の計測を実施するステップと、
前記コンピュータ数値制御装置により前記被計測物体の相対位置の移動を行うステップと、
前記計測器により移動後に前記被計測物体の第２の部分の計測を実施するステップと、
前記被計測物体の移動のデータを用いて前記被計測物体の第１の部分又は第２の部分の計測結果を移動させ、他の計測結果と合成する合成ステップと、
を含む付記１記載の計測方法。
【０１４２】
（付記５）
前記合成ステップにおいて、前記コンピュータ数値制御装置により実行される物体の回転又は傾斜移動に係る軸のデータをさらに用いることにより前記被計測物体の第１の部分又は第２の部分の計測結果を移動させる
ことを特徴とする付記４記載の計測方法。
【０１４３】
（付記６）
前記校正ステップの後に、
前記コンピュータ数値制御装置により基準物体を所定の軸の回りで回転又は傾斜させ、前記計測器により３以上の位置で前記基準物体の物体形状の計測を行い、当該計測結果に基づき前記基準物体の所定の位置を特定するステップと、
特定された前記基準物体の所定の位置から当該所定の位置を含む平面の法線のデータを算出するステップと、
をさらに含む付記５記載の計測方法。
【０１４４】
（付記７）
前記計測器が、所定の格子パターンを特定の物体に対し投影する投影手段と前記特定の物体を撮影する撮影手段とを有する格子パターン投影型計測器であり、
前記校正ステップが、
前記コンピュータ数値制御装置により実現される複数の高さの面毎に前記投影手段により前記特定の物体である当該面上に投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面において各前記面に共通の縦方向個数及び横方向個数存在する点の座標と当該点の光強度と前記高さの組を含む第１の集合を生成し、当該第１の集合のデータを記憶装置に格納するステップと、
前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における前記点の座標と前記位相角と前記高さの組を含み且つ各組をノードとして矩形グリッドを構成するための第２の集合のデータを記憶装置に格納するステップと、
を含む付記１乃至６のいずれか１つ記載の計測方法。
【０１４５】
（付記８）
前記第２の集合のデータからテンソル積型複合超曲面を表すデータを生成し、記憶装置に格納する超曲面生成ステップ、
をさらに含む付記７記載の計測方法。
【０１４６】
（付記９）
前記超曲面生成ステップにおいて、前記第２の集合のデータを入力点として用い、前記テンソル積型複合超曲面の制御点を算出する
ことを特徴とする付記８記載の計測方法。
【０１４７】
（付記１０）
前記変換データ算出ステップ及び前記計測ステップにおける前記計測器による計測時に、
被計測物体に対して前記投影手段により投影され且つ前記撮影手段により撮影された投影格子パターンの撮影画像から、前記撮影手段の受光面における座標と光強度の組のデータを抽出し、記憶装置に格納するステップと、
前記光強度を前記投影格子パターンの位相角に変換し、前記受光面における座標と前記位相角の組のデータを記憶装置に格納するステップと、
前記テンソル積型複合超曲面を表すデータを用いて、前記受光面における座標と前記位相角の組のデータに対応する高さデータを補間計算し、記憶装置に格納する補間ステップと、
をさらに含む付記８記載の計測方法。
【０１４８】
（付記１１）
前記校正ステップにおいて、  
１又は複数の高さを有し且つ実座標が判明している複数のポイントを含む面毎に前記投影手段による格子パターンの投影なしに前記撮影手段により撮影された前記特定の物体である当該面の撮影画像から、前記撮影手段の受光面における座標と前記ポイントの実座標と前記高さの組を複数含む第３の集合を生成し、当該第３の集合のデータを記憶装置に格納するステップ、
をさらに含む付記１０記載の計測方法。
【０１４９】
（付記１２）
前記第３の集合から第２のテンソル積型複合超曲面を表すデータを生成し、記憶装置に格納する第２超曲面生成ステップ、
をさらに含む付記１１記載の計測方法。
【０１５０】
（付記１３）
前記第３の集合に含まれる各組のデータのうち前記高さのデータ以外のデータを用いてテンソル積型複合曲面を表すデータを生成し、記憶装置に格納する曲面生成ステップ、
をさらに含む付記１１記載の計測方法。
【０１５１】
（付記１４）
前記第２のテンソル積型複合超曲面を表すデータを用いて、前記補間ステップにおいて生成された高さデータと前記受光面における対応座標の組のデータに対応する実座標のデータを補間計算し、記憶装置に格納するステップ、
をさらに含む付記１２記載の計測方法。
【０１５２】
（付記１５）
前記テンソル積型複合曲面を表すデータを用いて、前記受光面における対応座標のデータに対応する補正前の実座標データを補間計算し、記憶装置に格納するステップと、
前記補間ステップにより生成された高さデータと前記校正時における高さのデータとに基づき、前記補正前の実座標データを補正し、記憶装置に格納するステップと、
をさらに含む付記１３記載の計測方法。
【０１５３】
（付記１６）
物体形状の計測を行う計測器と、
当該計測装置を装着可能なコンピュータ数値制御装置と、
前記コンピュータ数値制御装置に装着した状態において前記計測器の校正を実施した後に前記計測器の再装着を含む所定の状態の変化が生じた場合、再度校正を実施することなく、３以上の基準位置に対する前記計測器による計測結果を取得し、当該計測結果を前記基準位置に変換するための変換データを算出する変換データ算出手段と、
前記計測器により前記校正に基づく被計測物体の計測を行った場合、当該計測結果を前記変換データにより変換する手段と、
を有する計測システム。
【０１５４】
（付記１７）
物体の計測を行う計測器と当該計測器を装着可能なコンピュータ数値制御装置とを含む計測システムに計測を実行させるためのプログラムであって、
前記コンピュータ数値制御装置に装着した状態において前記計測器の校正を実施した後に前記計測器の再装着を含む所定の状態の変化が生じた場合、再度校正を実施することなく、３以上の基準位置に対する前記計測器による計測結果を取得し、当該計測結果を前記基準位置に変換するための変換データを算出する変換データ算出ステップと、
前記計測器により前記校正に基づく被計測物体の計測を行った場合、当該計測結果を前記変換データにより変換するステップと、
を実行させるためのプログラム。
【図面の簡単な説明】
【０１５５】
【図１】従来技術の格子パターン投影法における装置構成図である。
【図２】本発明の一実施の形態に係る計測部を含むＣＮＣ装置の機能ブロック図である。
【図３】本発明の一実施の形態に係る処理フローの一例を示す図である。
【図４】校正処理の処理フローの一例を示す図である。
【図５】（ａ）は格子パターンの投影及び撮影について説明するための模式図である。（ｂ）及び（ｃ）は撮影結果の画像例を示す図である。
【図６】校正データ格納部に格納されるデータの一例を示す図である。
【図７】テンソル積型複合超曲面の制御点を生成する基となる入力点の構造を表す模式図である。
【図８】制御点生成処理の処理フローの一例を示す図である。
【図９】校正データ格納部に格納されるデータの一例を示す図である。
【図１０】（ａ）及び（ｂ）はベジエ曲線における制御点の生成処理を説明するための図である。
【図１１】B-Spline曲線における制御点の生成処理を説明するための図である。
【図１２】（ａ）乃至（ｃ）は実体格子パターンの一例を示す図である。
【図１３】校正データ格納部に格納されるデータの一例を示す図である。
【図１４】（ａ）及び（ｂ）は校正データ格納部に格納されるデータの一例を示す図である。
【図１５】測定データの合成を説明するための模式図である。
【図１６】（ａ）及び（ｂ）は、計測部の再装着時の問題を説明するための模式図である。
【図１７】計測処理時における処理フローの一例を示す図である。
【図１８】測定データ格納部に格納されるデータの一例を示す図である。
【図１９】測定データの合成を説明するための模式図である。
【図２０】Ｘ座標及びＹ座標の測定のための校正処理時の第２の処理フローの一例を示す図である。
【図２１】Ｘ座標及びＹ座標の測定処理時における第２の処理フローの一例を示す図である。
【符号の説明】
【０１５６】
１  液晶プロジェクタ    ２  基準平面    ４  カメラ
５  画像処理装置    ６  移動制御部    ７  温度センサ
１１  投影部    １２  液晶パネル    １３  レンズ
４１  レンズ    ４２  ＣＣＤ    ５１  カメラ制御部
５２  投影制御部    ５３  キャリブレーション処理部
５４  ＣＮＣデータ設定部    ５５  制御点生成部
５６  実座標算出部    ５７  校正データ格納部
５８  測定データ格納部    ５９  合成処理部
６０  補正処理部    ６１  合成用データ格納部
６２  補正用データ格納部
５００  メイン制御部
【図１】
0004766839.tif 000009
【図２】
0004766839.tif 000010
【図３】
0004766839.tif 000011
【図４】
0004766839.tif 000012
【図５】
0004766839.tif 000013
【図６】
0004766839.tif 000014
【図７】
0004766839.tif 000015
【図８】
0004766839.tif 000016
【図９】
0004766839.tif 000017
【図１０】
0004766839.tif 000018
【図１１】
0004766839.tif 000019
【図１２】
0004766839.tif 000020
【図１３】
0004766839.tif 000021
【図１４】
0004766839.tif 000022
【図１５】
0004766839.tif 000023
【図１６】
0004766839.tif 000024
【図１７】
0004766839.tif 000025
【図１８】
0004766839.tif 000026
【図１９】
0004766839.tif 000027
【図２０】
0004766839.tif 000028
【図２１】
0004766839.tif 000029