説明

形状パラメータ決定方法、形状パラメータ決定装置、及びコンピュータプログラム

【課題】 3次元形状の計測データに対応する理論形状を記述するパラメータを高速に且つ安定して決定することができるようにする。
【解決手段】 パラメータα(k)、β(k)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),α(k),β(k))を最小とするパラメータx0(k+1)、y0(k+1)を決定し、決定したパラメータx0(k+1)、y0(k+1)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),α(k+1),β(k+1))を最小とするパラメータα(k+1)、β(k+1)を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状パラメータ決定方法、形状パラメータ決定装置、及びコンピュータプログラムに関し、特に、計測された3次元形状に対応する理論形状を規定する複数のパラメータを求めるために用いて好適なものである。
【背景技術】
【0002】
近年、3次元形状の座標を、接触式又は非接触式などで測定する3次元形状座標計測器が発達し、広く普及されるようになった。この3次元形状座標計測器を用いて計測されたデータと、理論形状(設計値)とを比較することにより、部品の加工精度等を直接評価できるようになっている。特許文献1では、3次元座標計測器で計測されたデータに対応する理論形状を記述する理論形状パラメータを決定する方法が提示されている。
【0003】
【特許文献1】特開平6−281440号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、前述した従来の技術において、理論形状パラメータを決定する問題は、最適値探索問題である。このため、理論形状を記述するためのパラメータの数が多くなる。すなわち、解探索空間の次元が大きくなる。このように、解探索空間の次元が大きくなると、解が局所的な適合値に収束してしまい、真の最適値へ到達できなくなる可能性が大きくなる。前述した特許文献1に記載されている技術においても、局所的な適合値に解が落ち込むことへの対策は明示されていない。
【0005】
このように、従来の技術では、3次元形状の計測データに対応する理論形状を記述するパラメータを高速に且つ安定して決定することが困難であるという問題点があった。
【0006】
本発明は、このような問題点に鑑みてなされたものであり、3次元形状の計測データに対応する理論形状を記述するパラメータを高速に且つ安定して決定することができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の形状パラメータ決定方法は、計測された3次元形状に対応する理論形状を規定する複数のパラメータを決定する形状パラメータ決定方法であって、前記複数のパラメータを少なくとも2組に分け、前記計測された3次元形状の計測データと、その3次元形状の計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に順番に繰り返し求めることによって、前記複数のパラメータを決定することを特徴とする。
また、本発明の他の特徴とするところは、計測された3次元形状に対応する理論形状を規定する複数のパラメータを第1〜第n(nは2以上の自然数)の組に分け、分けた組毎に前記複数のパラメータを決定する形状パラメータ決定方法であって、前記計測された3次元形状の計測データを入力する入力ステップと、前記入力ステップにより入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に求める第1〜第nのパラメータ取得ステップとを有することを特徴とする。
【0008】
本発明の形状パラメータ決定装置は、計測された3次元形状に対応する理論形状を規定する複数のパラメータを決定する形状パラメータ決定装置であって、前記複数のパラメータを少なくとも2組に分け、前記計測された3次元形状の計測データと、その3次元形状の計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に順番に繰り返し求める手段を有することを特徴とする。
また、本発明の他の特徴とするところは、計測された3次元形状に対応する理論形状を規定する複数のパラメータを第1〜第n(nは2以上の自然数)の組に分け、分けた組毎に前記複数のパラメータを決定する形状パラメータ決定装置であって、前記計測された3次元形状の計測データを入力する入力手段と、前記入力手段により入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に求める第1〜第nのパラメータ取得手段とを有することを特徴とする。
【0009】
本発明のコンピュータプログラムは、計測された3次元形状に対応する理論形状を規定する複数のパラメータを決定することをコンピュータに実行させるためのコンピュータプログラムであって、前記複数のパラメータを少なくとも2組に分け、前記計測された3次元形状の計測データと、その3次元形状の計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に順番に繰り返し求めることをコンピュータに実行させることを特徴とする。
また、本発明の他の特徴とするところは、計測された3次元形状に対応する理論形状を規定する複数のパラメータを第1〜第n(nは2以上の自然数)の組に分け、分けた組毎に前記複数のパラメータを決定することをコンピュータに実行させるためのコンピュータプログラムであって、前記計測された3次元形状の計測データを入力する入力ステップと、前記入力ステップにより入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に求める第1〜第nのパラメータ取得ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つ安定してパラメータを決定することができるので、三次元座標計測器を用いて計測した形状の評価が効率的に行えるようになる。
【発明を実施するための最良の形態】
【0011】
(第1の実施形態)
次に、図面を参照しながら、本発明の第1の実施形態について説明する。
なお、本実施形態では、3次元形状として回転対称体を例に挙げて説明する。また、回転対称体の中心軸(対称軸)の方向は、z軸と略同じ方向を向いているとしても任意性は失われないので、以下、中心軸は、z軸と略同じ方向を向いているとする。
【0012】
図1は、3次元空間内での形状計測データ(座標値)と、その形状計測データに対応する理論形状を記述するパラメータとの関係の一例を示す図である。なお、形状計測データは、3次元形状座標計測器で測定されたデータである。
【0013】
3次元形状座標計測器の一例としては、プローブと、測定台にセットされた被測定物の表面に前記プローブをトレースさせるトレース機構と、前記トレース機構によりトレースされたプローブの位置情報を処理して被測定物の形状を測定するコンピュータとを有するものが挙げられる。
【0014】
図1において、形状計測データ(測定点)はPi(xi,yi,zi)である。元の理論形状(例えば設計値)100は、中心軸(ここではz軸)に沿って回転半径R(z)で与えられているとする。この元の理論形状100の基準点O(0,0,0)は、測定空間では、基準点C(x0,y0,z0)へ移動(シフト)している。また、測定空間では、元の理論形状100の中心軸(z軸)に対し、方向ベクトルn(=(α,β,1))の方向に中心軸101が傾いている。
【0015】
すなわち、図1に示した例では、形状計測データPiに対応する理論形状を記述するパラメータは、x0、y0、z0、α、βの5つである。これらの5つのパラメータは、理論値(設計値)との差異、つまり、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,z0,α,β)を最小にするものとして算出する。ここで、形状計測データ(測定点)Piから中心軸101へおろした垂線の足をHiとすると、以下の(1式)が成り立つ。
【0016】
【数1】

【0017】
ただし、Nは、形状計測データPiの数である。また、以下の(2式)〜(4式)が成り立つとする。
【0018】
【数2】

【0019】
3次元形状の一例である前記回転対称体が円筒の場合は、回転半径R(z)はz軸方向の値によらず、基準点C(x0,y0,z0)は、中心軸101のどこにあっても等価となる。よって、基準点Cのz軸方向の値z0は定数と考えてよい。そうすると、形状計測データPiに対応する理論形状を記述するパラメータは、x0、y0、α、βの4つとなり、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,α,β)を考えればよいことになる。
【0020】
また、回転半径R(z)はz軸方向の値によらないが、設計値からは変化している場合は、回転半径Rも、形状計測データPiに対応する理論形状を記述するパラメータに加えてもよい。この場合、形状計測データPiに対応する理論形状を記述するパラメータはx0、y0、R、α、βの5つとなり、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,R,α,β)を考えればよいことになる。
【0021】
いずれの場合(回転対称体が円筒の場合、及び回転対称体が、設計値と異なる回転半径を有する円筒である場合)についても、中心軸101までの距離の誤差の2乗和Sを最小にするパラメータを決定することは変わらないが、本実施形態では、回転対称体が、前述した円筒であり、回転半径R(z)が一定である場合を説明する。
【0022】
以下、図2のフローチャートを参照しながら、パラメータを決定する方法の一例を説明する。前述したように、本実施形態では、回転対称体が、前述した円筒であり、回転半径R(z)が一定の場合、すなわち、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,α,β)を最小にする場合を説明する。
【0023】
なお、ここでは、形状計測データPiに対応する理論形状を記述するパラメータx0、y0、α、βを、2つの組に分けるようにする。例えば、パラメータx0、y0の組と、パラメータα、βの組とに分けるようにする。このようにパラメータx0、y0、α、βが、2つの組に分けられる設定がなされた上で、以下の処理が実行される。
【0024】
(1) 形状計測データPiを入力する(ステップS201)。
(2) 各パラメータx0、y0、α、βの初期値x0(0)、y0(0)、α(0)、β(0)を設定する(ステップS202)。
ここで、右肩の添え字は反復回数を示すこととする。0回目の値だということで初期値の右肩には(0)が付いている。
【0025】
(3) パラメータを反復計算する(k(kは自然数)回目の値をもとに、(k+1)回目の値を決定する)。
(3−1) パラメータα(k)、β(k)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),α(k),β(k))を最小とするパラメータx0(k+1)、y0(k+1)を決定する。すなわち、以下の(5式)の連立方程式からパラメータx0(k+1)、y0(k+1)を求める(ステップS203)。
【0026】
【数3】

【0027】
(3−2) 求めたパラメータx0(k+1)、y0(k+1)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),α(k+1),β(k+1))を最小とするパラメータα(k+1)、β(k+1)を決定する。すなわち、以下の(6式)の連立方程式から、パラメータα(k+1)、β(k+1)を求める(ステップS204)。
【0028】
後述するように、本実施形態では、被測定物の形状を測定するときに工夫をして、中心軸101がほぼz軸に平行となる位置で測定されたとする。そうすると、中心軸101の方向を記述するパラメータα、βは、1に比べて十分小さな量となり、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,α,β)は、α、βの2次形式で表される。したがって、このステップS204では、線形連立方程式の問題を解いて、パラメータα(k+1)、β(k+1)を算出することになる。
【0029】
【数4】

【0030】
(3−3) k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であるか否かを判定する(ステップS205)。この判定の結果、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下となり、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づいたならば、パラメータx0(k+1)、y0(k+1)、α(k+1)、β(k+1)を求める処理を終了して、ステップS206((4)結果を出力する)へ進む。
【0031】
一方、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づいていない場合には、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づくまで、ステップS203〜S205を繰り返し行う。
【0032】
(4)(k+1)回目に求めたパラメータx0(k+1)、y0(k+1)、α(k+1)、β(k+1)の値を、形状計測データPiに対応する理論形状を記述するパラメータとして出力する(ステップS206)。
【0033】
なお、前述した説明では、4つのパラメータx0、y0、α、βを、パラメータx0、y0の組と、パラメータα、βの組に分けたが、組の分け方はこれに限ったものではない。複数の組に分けることで各ステップ(ステップS203、S204)における最適解の探索空間(最適値探索問題の解空間)を狭めることができれば、他の分け方でもよい。
【0034】
また、前述した(3−1)と、(3−2)のステップS203、S204におけるパラメータの最適値の探索は、一般には非線形の最小自乗法である。したがって、各ステップS203、S204内でさらに反復計算が必要となる。
ところが、前述したように、本実施形態では、被測定物の形状を測定するときに工夫をして、中心軸101がz軸に略平行となる位置で測定されるので、中心軸101の方向を記述するパラメータα、βは、1に比べて十分小さな量であることが期待される。その場合、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,α,β)は、α、βの2次形式で表される。そうすると、(3−2)のステップS204では、線形連立方程式の問題を解けばよいことなり、極めて簡単にパラメータα、βを算出することができる。
【0035】
つまり、パラメータの組の分け方としては、形状計測データPiから中心軸101までの距離の誤差の2乗和Sを、2次形式で表現できるパラメータの組とそうでない組とに分けることが望ましい。このようにしてパラメータを分けることによって、各ステップS203、S204における最適解の探索空間を狭めるだけでなく、線形探索となり、計算コストと、安定性とが著しく向上する。
【0036】
また、ここでは、計算順序として、(3−1)のステップS203を行った後に、(3−2)のステップS204を行う場合を例に挙げて説明したが、初期値の与え方によっては、(3−2)のステップS204を行った後に、(3−1)のステップS203を行ってもよい場合がある。
【0037】
(実施例)
次に、本実施形態の実施例として、円筒の側面上に配置されるべき形状計測データPiから中心軸を決定する方法の一例を示す。本実施例では、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,α,β)が最小となるパラメータx0、y0、α、βを決定した。ここで、3次元形状計測器では、中心軸101がz軸と略平行になるようにして測定されている。よって、パラメータα、βは1よりも十分小さい(α、β≪1)とみなしてよい。そうすると、形状計測データPiから中心軸までの距離の誤差の2乗和S(x0,y0,α,β)を、以下の(7式)のように書くことができる。(7式)に示すように、形状計測データPiから中心軸までの距離の誤差の2乗和Sは、4つのパラメータx0、y0、α、βのうち、パラメータα、βについての2次形式と見ることができる。
【0038】
【数5】

【0039】
そこで、パラメータx0、y0、α、βの組の分け方としては、少なくとも1つの組は、パラメータα、βの中から選択されたパラメータのみを含む組にしたい。そうすることによって、その組のパラメータを算出するための計算は線形計算となる。本実施例においては4つのパラメータx0、y0、α、βを、パラメータα、βの組と、パラメータx0、y0の組とに分けるようにした。そして、パラメータα、βに関しては線形方程式を解くことで求め、パラメータx0、y0に関しては非線形方程式を解くことで解を求めた。ここで、非線形方程式の反復解法としては、ニュートン・ラフソン法を用いた。
【0040】
計算精度を確認するために、パラメータα、β、x0、y0が、それぞれ0.10、0.05、1.0、2.0(α=0.10、β=0.05、x0=1.0、y0=2.0)となる半径Rが3(R=3)の円筒の側面上に配置された60点の擬似形状計測データを生成し、生成した擬似形状計測データから、パラメータα、β、x0、y0の値を逆算した。図3に、3次元座標上にプロットされた擬似形状計測データの一例を、図4に、入力した擬似形状計測データの値の一例をそれぞれ示す。
【0041】
各パラメータα、β、x0、y0の初期値α(0)、β(0)、x0(0)、y0(0)を、それぞれ0.0、0.0、1.19876、2.09938(α(0)=0.0、β(0)=0.0、x0(0)=1.19876、y0(0)=2.09938)として計算した結果、パラメータα、β、x0、y0の値は、それぞれ0.0993872、0.0496935、1.00122、2.00061(α=0.0993872、β=0.0496935、x0=1.00122、y0=2.00061)となり、本実施形態の手法が有効であることが確認できた。
【0042】
すなわち、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つロバスト(robust)にパラメータを決定することができるので、接触式、非接触式などの3次元座標計測器を用いて計測された3次元形状の評価を効率的に行うことができる。具体的には、回転対称体の形状計測データPiの中心軸101を正しく算出し、傾いて測定された形状計測データPiに関して高速に且つロバスト(robust)にその傾きを補正することができる。
【0043】
以上のようにしてパラメータx0、y0、α、βを解く処理を実現するハードウェア資源としては、例えば図5に示す情報処理装置が挙げられる。
図5は、前記情報処理装置の構成の一例を示したブロック図である。
図5において、情報処理装置120は、CPU121と、ROM122と、RAM123と、キーボード(KB)124のキーボードコントローラ(KBC)125と、表示部としてのCRTディスプレイ(CRT)126のCRTコントローラ(CRTC)127と、ハードディスク(HD)128及びフレキシブルディスク(FD)129のディスクコントローラ(DKC)130と、ネットワーク131との接続のためのネットワークインターフェースコントローラ(NIC)132とが、システムバス113を介して互いに通信可能に接続された構成としている。
【0044】
CPU121は、ROM122或いはHD128に記憶されたソフトウェア、或いはFD129より供給されるソフトウェアを実行することで、システムバス123に接続された各構成部を総括的に制御する。
すなわち、CPU121は、所定の処理シーケンスに従った処理プログラムを、ROM122、或いはHD128、或いはFD129から読み出して実行することで、後述する動作を実現するための制御を行う。
【0045】
RAM123は、CPU121の主メモリ或いはワークエリア等として機能する。
KBC125は、KB124や図示していないポインティングデバイス等からの指示入力を制御する。
【0046】
CRTC127は、CRT126の表示を制御する。
DKC130は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施の形態における所定の処理プログラム等を記憶するHD128及びFD129とのアクセスを制御する。
NIC132は、ネットワーク131上の装置或いはシステムと双方向にデータをやりとりする。
【0047】
CPU121は、ROM122或いはHD128に記憶されたソフトウェア、或いはFD129より供給されるソフトウェアを実行することで、システムバス123に接続された各構成部を総括的に制御する。
すなわち、CPU121は、所定の処理シーケンスに従った処理プログラムを、ROM122、或いはHD128、或いはFD129から読み出して実行することで、図2に示したフローチャートの処理を実現するための制御を行う。なお、ステップS206における出力は、例えば、CRT126に表示することによって実現される。
【0048】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、回転対称体が円筒であり、その円筒の回転半径R(z)が一定である場合について説明したが、本実施形態では、一般的な回転対称体の円筒の場合について説明する。このように、本実施形態と前述した第1の実施形態とは、形状計測データPiに対応する理論形状を記述するパラメータを求める対象となる3次元形状が異なるだけである。したがって、第1の実施形態と同一の部分については、図1〜図5に付した符号と同一の符号を付すなどして、詳細な説明を省略する。
【0049】
一般的な回転対称体の円筒の場合、すなわち、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,z0,α,β)を最小にする場合には、形状計測データPiに対応する理論形状を記述するパラメータx0、y0、z0、α、βを、2つの組に分けるようにする。例えば、パラメータx0、y0の組と、パラメータz0、α、βの組にパラメータが分けられる設定がなされた上で、図6に示すフローチャートの処理を行う。
(1) 形状計測データPiを入力する(ステップS601)。
(2) 各パラメータの初期値x0(0)、y0(0)、z0(0)、α(0)、β(0)を設定する(ステップS602)。
【0050】
(3) パラメータを反復計算する(k回目の値をもとに、(k+1)回目の値を決定する)。
(3−1) パラメータz0(k)、α(k)、β(k)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),z0(k+1),α(k),β(k))を最小とするパラメータx0(k+1)、y0(k+1)を決定する。すなわち、前述した(5式)の連立方程式からパラメータx0(k+1)、y0(k+1)を求める(ステップS603)
【0051】
(3−2) 求めたパラメータx0(k+1)、y0(k+1)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),z0(k+1),α(k+1),β(k+1))を最小とするパラメータz0(k+1)、α(k+1)、β(k+1)を決定する。すなわち、以下の(8式)の連立方程式から、パラメータz0(k+1)、α(k+1)、β(k+1)を求める(ステップS604)。
【0052】
後述するように、本実施形態では、被測定物の形状を測定するときに工夫をして、中心軸101がほぼz軸に平行となる位置で測定されたとする。そうすると、中心軸101の方向を記述するパラメータα、βは、1に比べて十分小さな量となり、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,z0,α,β)は、α、βの2次形式で表される。したがって、このステップS604では、線形連立方程式の問題を解いて、パラメータα(k+1)、β(k+1)を算出することになる。
【0053】
【数6】

【0054】
(3−3) k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であるか否かを判定する(ステップS605)。この判定の結果、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下となり、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づいたならば、パラメータx0(k+1)、y0(k+1)、z0(k+1)、α(k+1)、β(k+1)を求める処理を終了して、ステップS606((4)結果を出力する)へ進む。
【0055】
一方、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づいていない場合には、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づくまで、ステップS603〜S605を繰り返し行う。
(4)(k+1)回目に求めたパラメータx0(k+1)、y0(k+1)、z0(k+1)、α(k+1)、β(k+1)の値を、形状計測データPiに対応する理論形状を記述するパラメータとして出力する(ステップS606)。
【0056】
なお、第1の実施形態と同様に、5つのパラメータx0、y0、z0、α、βを、複数の組に分けることで各ステップ(ステップS603、604)における最適解の探索空間を狭めることができれば、組の分け方は、図6のフローチャートで示した方法でなくてもよい。
また、(3−1)、(3−2)のステップS603、S604における最適値の探索は、一般には非線形の最小自乗法であり、各ステップS203、S204内でさらに反復計算が必要となる。
【0057】
ところが、前述したように、本実施形態では、被測定物の形状を測定するときに工夫をして、中心軸101がほぼz軸に平行となる位置で測定されるので、中心軸101の方向を記述するパラメータα、β、z0は、1に比べて十分小さな量であることが期待される。その場合、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,z0,α,β)は、α、β、z0の2次形式で表され、(3−2)のステップS604では、線形連立方程式の問題を解けばよいことになり極めて簡単にパラメータα、β、z0を算出することができる。このようにしてパラメータを分けることによって、各ステップS603、604における最適解の探索空間を狭めるだけでなく、線形探索となり、計算コストと、安定性とが著しく向上する。
【0058】
また、初期値の与え方によっては、(3−2)のステップS604を行った後に、(3−1)のステップS603を行ってもよい場合があることも第1の実施形態と同様である。
【0059】
(実施例)
次に、本実施形態の実施例として、円錐の側面上に配置されるべき形状計測データPiから中心軸を決定する方法の一例を示す。本実施例では、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,z0,α,β)が最小となるパラメータx0、y0、z0、α、βを決定した。ここで、3次元形状計測器では、中心軸101がz軸と略平行になるようにすると共に、基準点のz座標も略ゼロ(0)となるように測定されている。よって、パラメータz0、α、βは1よりも十分小さい(z0、α、β≪1)とみなしてよい。そうすると、形状計測データPiから中心軸までの距離の誤差の2乗和S(x0,y0,z0,α,β)を、以下の(9式)のように書くことができる。(9式)に示すように、形状計測データPiから中心軸までの距離の誤差の2乗和Sは、5つのパラメータx0、y0、z0、α、βのうち、パラメータz0、α、βについての2次形式と見ることができる。
【0060】
【数7】

【0061】
そこで、パラメータx0、y0、z0、α、βの組の分け方としては、少なくとも1つの組は、パラメータz0、α、βの中から選択されたパラメータのみを含む組にしたい。そうすることによって、その組のパラメータを算出するための計算は線形計算となる。本実施例においては5つのパラメータx0、y0、z0、α、βを、パラメータz0、α、βの組と、パラメータx0,y0の組とに分けるようにした。そして、パラメータz0、α、βに関しては線形方程式を解くことで求め、パラメータx0、y0に関しては非線形方程式を解くことで解を求めた。ここで、非線形方程式の反復解法としては、ニュートン・ラフソン法を用いた。
【0062】
計算精度を確認するために、パラメータα、β、x0、y0、z0が、それぞれ0.02、0.01、1.0、2.0、0.02(α=0.02、β=0.01、x0=1.0、y0=2.0、z0=0.02)となる円錐の面上にらせん状に配置された50点の擬似形状計測データを生成し、生成した擬似形状計測データからパラメータα、β、x0、y0、z0の値を逆算した。図7に、3次元座標上にプロットされた擬似形状計測データの一例を、図8に、入力した擬似形状計測データの値の一例をそれぞれ示す。
【0063】
各パラメータα、β、x0、y0、z0の初期値α(0)、β(0)、x0(0)、y0(0)、z0(0)を、それぞれ0.0(α(0)=0.0、β(0)=0.0、x0(0)=0.0、y0(0)=0.0、z0(0)=0.0)として計算した結果、パラメータα、β、x0、y0、z0の値は、それぞれ0.0205955、0.00730599、0.999661、2.00068、0.0186359(α=0.0205955、β=0.00730599、x0=0.999661、y0=2.00068、z0=0.0186359)となり、本実施形態の手法が有効であることが確認できた。
【0064】
すなわち、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つロバスト(robust)にパラメータを決定することができるので、接触式、非接触式などの3次元座標計測器を用いて計測された3次元形状の評価を効率的に行うことができる。具体的には、回転対称体の形状計測データPiの中心軸101を正しく算出し、傾いて測定された形状計測データPiに関して高速に且つロバスト(robust)にその傾きを補正することができる。
なお、第1の実施形態と同様に、例えば図5に示した情報処理装置を用いることにより、以上のようにしてパラメータx0、y0、z0、α、βを解く処理を実現することができる。
【0065】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1の実施形態では、回転対称体が円筒であり、その円筒の回転半径R(z)が一定である場合について説明したが、本実施形態では、回転対称体は円筒であるが、その円筒の回転半径R(z)もパラメータとする場合について説明する。このように、本実施形態と前述した第1の実施形態とは、形状計測データPiに対応する理論形状を記述するパラメータを求める対象となる3次元形状の一部が異なるだけである。したがって、第1の実施形態と同一の部分については、図1〜図5に付した符号と同一の符号を付すなどして、詳細な説明を省略する。
【0066】
回転半径R(z)をパラメータとする円筒の場合、すなわち、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,R,α,β)を最小にする場合には、形状計測データPiに対応する理論形状を記述するパラメータx0、y0、R、α、βを2つの組に分けるようにする。例えば、パラメータx0、y0の組と、パラメータα、β、Rの組にパラメータが分けられる設定がなされた上で、図9に示すフローチャートの処理を行う。
(1)形状計測データPiを入力する(ステップS901)。
(2)各パラメータの初期値x0(0)、y0(0)、R(0)、α(0)、β(0)を設定する(ステップS902)。
(3)パラメータを反復計算する(k回目の値をもとに、(k+1)回目の値を決定する)。
(3−1) パラメータα(k)、β(k)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),R(k+1),α(k),β(k))を最小とするパラメータx0(k+1)、y0(k+1)、R(k+1)を決定する。すなわち、以下の(10式)の連立方程式からパラメータx0(k+1)、y0(k+1)、R(k+1)を求める(ステップS903)。
【0067】
【数8】

【0068】
(3−2) 求めたパラメータx0(k+1)、y0(k+1)、R(k+1)を既知量として、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0(k+1),y0(k+1),R(k+1),α(k+1),β(k+1))を最小とするパラメータα(k+1)、β(k+1)を決定する。すなわち、前述した(6式)の連立方程式から、パラメータα(k+1)、β(k+1)を求める(ステップS904)。
【0069】
後述するように、本実施形態では、被測定物の形状を測定するときに工夫をして、中心軸101がほぼz軸に平行となる位置で測定されたとする。そうすると、中心軸101の方向を記述するパラメータα、βは、1に比べて十分小さな量となり、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,R,α,β)は、α、βの2次形式で表される。したがって、このステップS204では、線形連立方程式の問題を解いて、パラメータα(k+1)、β(k+1)を算出することになる。
【0070】
(3−3) k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であるか否かを判定する(ステップS905)。この判定の結果、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下となり、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づいたならば、パラメータx0(k+1)、y0(k+1)、R(k+1)、α(k+1)、β(k+1)を求める処理を終了して、ステップS906((4)結果を出力する)へ進む。
【0071】
一方、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づいていない場合には、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値とが十分に近づくまで、ステップS903〜S905を繰り返し行う。
(4)(k+1)回目に求めたパラメータx0(k+1)、y0(k+1)、R(k+1)、α(k+1)、β(k+1)の値を、形状計測データPiに対応する理論形状を記述するパラメータとして出力する(ステップS906)
【0072】
なお、第1の実施形態と同様に、5つのパラメータx0、y0、R、α、βを、複数の組に分けることで各ステップ(ステップS903、904)における最適解の探索空間を狭めることができれば、組の分け方は、図9のフローチャートで示した方法でなくてもよい。
また、(3−1)、(3−2)のステップS903、S904における最適値の探索は、一般には非線形の最小自乗法であり、各ステップ903、904内でさらに反復計算が必要となる。
【0073】
ところが、前述したように、本実施形態では、被測定物の形状を測定するときに工夫をして、中心軸101がほぼz軸に平行となる位置で測定されるので、中心軸101の方向を記述するパラメータα、βは、1に比べて十分小さな量であることが期待される。その場合、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,R,α,β)は、α、βの2次形式で表され、(3−2)のステップS904では、線形連立方程式の問題を解けばよいことになり極めて簡単にパラメータα、βを算出することができる。このようにしてパラメータを分けることによって、各ステップS903、904における最適解の探索空間を狭めるだけでなく、線形探索となり、計算コストと、安定性とが著しく向上する。
また、初期値の与え方によっては、(3−2)のステップS904を行った後に、(3−1)のステップS903を行ってもよい場合があることも第1の実施形態と同様である。
【0074】
(実施例)
次に、本実施形態の実施例として、円筒の側面上に配置されるべき形状計測データPiから中心軸を決定する方法の一例を示す。本実施例では、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,R,α,β)が最小となるパラメータx0、y0、R、α、βを決定した。ここで、3次元形状計測器では、中心軸101がz軸と略平行になるように測定されている。よって、パラメータα、βは1よりも十分小さい(α、β≪1)とみなしてよい。そうすると、形状計測データPiから中心軸までの距離の誤差の2乗和S(x0,y0,R,α,β)を、以下の(11式)のように書くことができる。(11式)に示すように、形状計測データPiから中心軸までの距離の誤差の2乗和Sは、5つのパラメータx0、y0、R、α、βのうち、パラメータα、β、Rについての2次形式と見ることができる。
【0075】
【数9】

【0076】
そこで、パラメータx0、y0、R、α、βの組の分け方としては、少なくとも1つの組は、パラメータα、β、Rの中から選択されたパラメータのみを含む組にしたい。そうすることによって、その組のパラメータを算出するための計算は線形計算となる。本実施例においては5つのパラメータx0、y0、R、α、βを、パラメータα、βの組と、パラメータx0,y0、Rの組とに分けるようにした。そして、パラメータα、βに関しては線形方程式を解くことで、x0,y0、Rに関しては非線形方程式を解くことで解を求めた。ここで、非線形方程式の反復解法としては、ニュートン・ラフソン法を用いた。
【0077】
計算精度を確認するために、パラメータα、β、x0、y0、Rがそれぞれ0.10、0.05、1.0、2.0、3.0(α=0.10、β=0.05、x0=1.0、y0=2.0、R=3.0)となる円筒の側面上に配置された60点の擬似形状計測データを生成し、生成した擬似形状計測データからパラメータα、β、x0、y0、Rの値を逆算した。3次元座標上にプロットされた擬似形状計測データと、入力した擬似形状計測データの値は、それぞれ図3及び図4に示した通りである。
【0078】
各パラメータα、β、x0、y0、Rの初期値α(0)、β(0)、x0(0)、y0(0)、R(0)を、それぞれ0.0(α(0)=0.0、β(0)=0.0、x0(0)=0.0、y0(0)=0.0、R(0)=0.0)として計算した結果、パラメータα、β、R、x0、y0の値は、それぞれ0.0996544、0.0498271、3.00929、1.00069、2.00034(α=0.0996544、β=0.0498271、R=3.00929、x0=1.00069、y0=2.00034)となり、本実施形態の手法が有効であることが確認できた。
【0079】
すなわち、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つロバスト(robust)にパラメータを決定することができるので、接触式、非接触式などの3次元座標計測器を用いて計測された3次元形状の評価を効率的に行うことができる。具体的には、回転対称体の形状計測データPiの中心軸101を正しく算出し、傾いて測定された形状計測データPiに関して高速に且つロバスト(robust)にその傾きを補正することができる。
なお、第1の実施形態と同様に、例えば図5に示した情報処理装置を用いることにより、以上のようにしてパラメータx0、y0、R、α、βを解く処理を実現することができる。
【0080】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1の実施形態では、ステップS204において、線形連立方程式の問題を解くことで、極めて簡単にパラメータα、βの最適値を算出することができるようにしたが、本実施形態では、ステップS203、S204におけるパラメータの最適値の探索を、それぞれ非線形の最小自乗法を用いて行うようにした。このように、本実施形態と前述した第1の実施形態とは、パラメータα、βを求める方法が異なるだけである。したがって、第1の実施形態と同一の部分については、図1〜図5に付した符号と同一の符号を付すなどして、詳細な説明を省略する。
【0081】
本実施形態においても、第1の実施形態と同様に、回転対称体が、前述した円筒であり、回転半径R(z)が一定であるので、形状計測データPiに対応する理論形状を記述するパラメータx0、y0、α、βが、パラメータx0、y0の組と、パラメータα、βの組とに分けられる設定がなされた上で、図2のフローチャートに従った処理を行う。
(1)形状計測データPiを入力する(ステップS201)。
(2)各パラメータx0、y0、α、βの初期値x0(0)、y0(0)、α(0)、β(0)を設定する(ステップS202)。
(3)パラメータを反復計算する(k(kは自然数)回目の値をもとに、(k+1)回目の値を決定する)。
(3−1) 前述した(5式)の連立方程式からパラメータx0(k+1)、y0(k+1)を求める(ステップS203)
【0082】
(3−2) 前述した(6式)の連立方程式からパラメータα(k+1)、β(k+1)を求める(ステップS204)。後述するように、本実施形態では、非線形の最小自乗法を用いて、パラメータα(k+1)、β(k+1)を求める。
【0083】
(3−3) k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であるか否かを判定する(ステップS205)。この判定の結果、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であれば、パラメータx0(k+1)、y0(k+1)、α(k+1)、β(k+1)を求める処理を終了して、ステップS206((4)結果を出力する)へ進む。
【0084】
一方、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下でない場合には、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下になるまで、ステップS203〜S205を繰り返し行う。
【0085】
(4)(k+1)回目に求めたパラメータx0(k+1)、y0(k+1)、α(k+1)、β(k+1)の値を、形状計測データPiに対応する理論形状を記述するパラメータとして出力する(ステップS206)。
【0086】
なお、第1の実施形態と同様に、4つのパラメータx0、y0、α、βを、複数の組に分けることで各ステップ(ステップS203、S204)における最適解の探索空間(最適値探索問題の解空間)を狭めることができれば、組の分け方は、図2のフローチャートで示した方法でなくてもよい。
【0087】
また、本実施形態の(3−1)、(3−2)のステップS203、S204におけるパラメータの最適値の探索は、非線形の最小自乗法を用いて行われ、ステップS203、S204内でさらに反復計算が必要となる。
【0088】
以上のようにしてパラメータを複数の組に分けることによって、各ステップS203、204における最適値の探索空間を狭めることで、計算コストと、安定性とが著しく向上する。
また、初期値の与え方によっては、(3−2)のステップS204を行った後に、(3−1)のステップS203を行ってもよい場合があることも第1の実施形態と同様である。
【0089】
(実施例)
次に、本実施形態の実施例として、円筒の側面上に配置されるべき形状計測データPiから中心軸を決定する方法の一例を示す。本実施例では、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,α,β)が最小となるパラメータx0、y0、α、βを決定した。ここで、4つのパラメータx0,y0,α,βを、パラメータα、βの組と、パラメータx0、y0の組とに分けて、それぞれ非線形の最小自乗法を用いて解を求めた。ここで、非線形方程式の反復解法としては、ニュートン・ラフソン法を用いた。
【0090】
計算精度を確認するために、パラメータα、β、x0、y0が、それぞれ0.10、0.05、1.0、2.0(α=0.10、β=0.05、x0=1.0、y0=2.0)となる半径Rが3(R=3)の円筒の側面上に配置された60点の擬似形状計測データを生成し、生成した擬似形状計測データから、パラメータα、β、x0、y0の値を逆算した。3次元座標上にプロットされた擬似形状計測データと、入力した擬似形状計測データの値は、それぞれ図3、図4に示した通りである。
【0091】
各パラメータα、β、x0、y0の初期値α(0)、β(0)、x0(0)、y0(0)を、それぞれ0.0、0.0、1.19876、2.09938(α(0)=0.0、β(0)=0.0、x0(0)=1.19876、y0(0)=2.09938)として計算した結果、パラメータα、β、x0、y0の値は、それぞれ0.0999998、0.0499998、1.00000、2.00000(α=0.0999998、β=0.0499998、x0=1.00000、y0=2.00000)となり、本実施形態の手法がパラメータを高精度に計算するのに極めて有効であることが確認できた。
【0092】
すなわち、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つロバスト(robust)にパラメータを決定することができるので、接触式、非接触式などの3次元座標計測器を用いて計測された3次元形状の評価を効率的に行うことができる。具体的には、回転対称体の形状計測データPiの中心軸101を正しく算出し、傾いて測定された形状計測データPiに関して高速に且つロバスト(robust)にその傾きを補正することができる。
なお、第1の実施形態と同様に、例えば図5に示した情報処理装置を用いることにより、以上のようにしてパラメータx0、y0、α、βを解く処理を実現することができる。
【0093】
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。前述した第3の実施形態では、ステップS904において、線形連立方程式の問題を解くことで、極めて簡単にパラメータα、βの最適値を算出することができるようにしたが、本実施形態では、ステップS903、S904におけるパラメータの最適値の探索を、それぞれ非線形の最小自乗法を用いて行うようにした。このように、本実施形態と前述した第3の実施形態とは、パラメータα、βを求める方法が異なるだけである。したがって、第3の実施形態と同一の部分については、図1〜図5、図9に付した符号と同一の符号を付すなどして、詳細な説明を省略する。
【0094】
本実施形態においても、第3の実施形態と同様に、回転対称体は、回転半径R(z)をパラメータとする円筒であるので、形状計測データPiに対応する理論形状を記述するパラメータx0、y0、R、α、βが、パラメータx0、y0の組と、パラメータα、β、Rの組とに分けられる設定がなされた上で、図9のフローチャートに従った処理を行う。
(1)形状計測データPiを入力する(ステップS901)。
(2)各パラメータの初期値x0(0)、y0(0)、R(0)、α(0)、β(0)を設定する(ステップS902)。
(3)パラメータを反復計算する(k回目の値をもとに、(k+1)回目の値を決定する)。
(3−1) 前述した(10式)の連立方程式から、パラメータx0(k+1)、y0(k+1)、R(k+1)を求める(ステップS903)。
【0095】
(3−2) 前述した(6式)の連立方程式から、パラメータα(k+1)、β(k+1)を求める(ステップS904)。後述するように、本実施形態では、非線形の最小自乗法を用いて、パラメータα(k+1)、β(k+1)を求める。
【0096】
(3−3)k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であるか否かを判定する(ステップS905)。この判定の結果、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であれば、パラメータx0(k+1)、y0(k+1)、R(k+1)、α(k+1)、β(k+1)を求める処理を終了して、ステップS906((4)結果を出力する)へ進む。
【0097】
一方、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下でない場合には、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下になるまで、ステップS903〜S905を繰り返し行う。
【0098】
(4)(k+1)回目に求めたパラメータx0(k+1)、y0(k+1)、R(k+1)、α(k+1)、β(k+1)の値を、形状計測データPiに対応する理論形状を記述するパラメータとして出力する(ステップS906)。
【0099】
なお、第3の実施形態と同様に、5つのパラメータx0、y0、R、α、βを、複数の組に分けることで各ステップ(ステップS903、S904)における最適解の探索空間(最適値探索問題の解空間)を狭めることができれば、組の分け方は、図9のフローチャートで示した方法でなくてもよい。
【0100】
また、(3−1)、(3−2)のステップS903、S904における最適値の探索は、非線形の最小自乗法を用いて行われ、ステップS903、S904内でさらに反復計算が必要となる。
【0101】
以上のようにしてパラメータを複数の組に分けることによって、各ステップS903、S904における最適値の探索空間を狭めることで、計算コスト、安定性が著しく向上する。
また、初期値の与え方によっては、(3−2)のステップS904を行った後に、(3−1)のステップS903を行ってもよい場合があることも第3の実施形態と同様である。
【0102】
(実施例)
次に、本実施形態の実施例として、円筒の側面上に配置されるべき形状計測データPiから中心軸を決定する方法の一例を示す。本実施例では、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,R,α,β)が最小となるパラメータx0、y0、R、α、βを決定した。ここで、5つのパラメータx0、y0、R、α、βを、パラメータα、βの組と、パラメータx0、y0、Rの組とに分けて、それぞれ非線形の最小自乗法を用いて解を求めた。ここで、非線形方程式の反復解法としては、ニュートン・ラフソン法を用いた。
【0103】
計算精度を確認するために、パラメータα、β、x0、y0、Rがそれぞれ0.10、0.05、1.0、2.0、3.0(α=0.10、β=0.05、x0=1.0、y0=2.0、R=3.0)となる円筒の側面上に配置された60点の擬似形状計測データを生成し、生成した擬似形状計測データからパラメータα、β、x0、y0、Rの値を逆算した。3次元座標上にプロットされた擬似形状形状データと、入力した擬似形状計測データの値は、それぞれ図3及び図4に示した通りである。
【0104】
各パラメータα、β、x0、y0、Rの初期値α(0)、β(0)、x0(0)、y0(0)、R(0)を、それぞれ0.0(α(0)=0.0、β(0)=0.0、x0(0)=0.0、y0(0)=0.0、R(0)=0.0)として計算した結果、パラメータα、β、R、x0、y0の値は、それぞれ0.0999998、0.0499998、3.00000、1.00000、2.00000(α=0.0999998、β=0.0499998、R=3.00000、x0=1.00000、y0=2.00000)となり、本実施形態の手法がパラメータを高精度に計算するのに極めて有効であることが確認できた。
【0105】
すなわち、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つロバスト(robust)にパラメータを決定することができるので、接触式、非接触式などの3次元座標計測器を用いて計測された3次元形状の評価を効率的に行うことができる。具体的には、回転対称体の形状計測データPiの中心軸101を正しく算出し、傾いて測定された形状計測データPiに関して高速に且つロバスト(robust)にその傾きを補正することができる。
なお、第3の実施形態と同様に、例えば図5に示した情報処理装置を用いることにより、以上のようにしてパラメータx0、y0、R、α、βを解く処理を実現することができる。
【0106】
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。前述した第2の実施形態では、ステップS604において、線形連立方程式の問題を解くことで、極めて簡単にパラメータα、βの最適値を算出することができるようにしたが、本実施形態では、ステップS603、S604におけるパラメータの最適値の探索を、それぞれ非線形の最小自乗法を用いて行うようにした。このように、本実施形態と前述した第2の実施形態とは、パラメータα、βを求める方法が異なるだけである。したがって、第2の実施形態と同一の部分については、図1〜図2、図6〜図8に付した符号と同一の符号を付すなどして、詳細な説明を省略する。
【0107】
本実施形態においても、第2の実施形態と同様に、回転対称体は、一般的な回転対称体の円筒であるので、形状計測データPiに対応する理論形状を記述するパラメータx0、y0、z0、α、βが、パラメータx0、y0の組と、パラメータz0、α、βの組にすなわちS(x0,y0,z0,α,β)の場合を例に説明する。
まず、理論形状記述パラメータを2つの組、x0、y0の組とに分けられる設定がなされた上で、図6のフローチャートに従った処理を行う。
(1)形状計測データPiを入力する(ステップS601)。
(2)各パラメータの初期値x0(0)、y0(0)、z0(0)、α(0)、β(0)を設定する(ステップS602)。
(3)パラメータを反復計算する(k回目の値をもとに、(k+1)回目の値を決定する)。
(3−1)前述した(5式)の連立方程式から、パラメータx0(k+1)、y0(k+1)を求める(ステップS603)。
【0108】
(3−2)前述した(6式)の連立方程式から、パラメータα(k+1)、β(k+1)を求める(ステップS604)。後述するように、本実施形態では、非線形の最小自乗法を用いて、パラメータα(k+1)、β(k+1)を求める。
【0109】
(3−3)k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であるか否かを判定する(ステップS905)。この判定の結果、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下であれば、パラメータx0(k+1)、y0(k+1)、R(k+1)、α(k+1)、β(k+1)を求める処理を終了して、ステップS606((4)結果を出力する)へ進む。
【0110】
一方、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下でない場合には、k回目に求めたパラメータの値と、(k+1)回目に求めたパラメータの値との差が閾値以下になるまで、ステップS603〜S605を繰り返し行う。
【0111】
(4)(k+1)回目に求めたパラメータx0(k+1)、y0(k+1)、R(k+1)、α(k+1)、β(k+1)の値を、形状計測データPiに対応する理論形状を記述するパラメータとして出力する(ステップS606)。
【0112】
なお、第2の実施形態と同様に、5つのパラメータx0、y0、z0、α、βを、複数の組に分けることで各ステップ(ステップS603、604)における最適解の探索空間を狭めることができれば、組の分け方は、図6のフローチャートで示した方法でなくてもよい。
【0113】
また、(3−1)、(3−2)のステップS603、S604における最適値の探索は、非線形の最小自乗法を用いて行われ、ステップS603、S604内でさらに反復計算が必要となる。
【0114】
以上のようにしてパラメータを複数の組に分けることによって、各ステップS603、S604における最適値の探索空間を狭めることで、計算コスト、安定性が著しく向上する。
また、初期値の与え方によっては、(3−2)のステップS604を行った後に、(3−1)のステップS603を行ってもよい場合があることも第2の実施形態と同様である。
【0115】
(実施例)
次に、本実施形態の実施例として、円錐の側面上に配置されるべき形状計測データPiから中心軸を決定する方法の一例を示す。本実施例では、形状計測データPiから中心軸101までの距離の誤差の2乗和S(x0,y0,z0,α,β)が最小となるパラメータx0、y0、z0、α、βを決定した。ここで、5つのパラメータx0、y0、z0、α、βを、パラメータz0、α、βの組と、パラメータx0,y0の組とに分けて、それぞれ非線形の最小自乗法を用いて解を求めた。非線形方程式の反復解法としては、ニュートン・ラフソン法を用いた。
【0116】
計算精度を確認するために、パラメータα、β、x0、y0、z0がそれぞれ0.02、0.01、1.0、2.0、0.02(α=0.02、β=0.01、x0=1.0、y0=2.0、z0=0.02)となる円錐面上にらせん状に配置された50点の擬似形状計測データを生成し、生成した擬似形状計測データからパラメータα、β、x0、y0、z0の値を逆算した。3次元座標上にプロットされた擬似形状形状データと、入力した擬似形状計測データの値は、それぞれ図7及び図8に示した通りである。
【0117】
各パラメータα、β、x0、y0、z0の初期値α(0)、β(0)、x0(0)、y0(0)、z0(0)を、それぞれ0.0(α(0)=0.0、β(0)=0.0、x0(0)=0.0、y0(0)=0.0、z0(0))=0.0)として計算した結果、パラメータα(0)、β(0)、x0(0)、y0(0)、z0の値は、それぞれ0.01999998、0.00999998、0.99999999、2.0000000、0.0199998(α=0.01999998、β=0.00999998、x0=0.99999999、y0=2.0000000、z0=0.0199998)となり、本実施形態の手法がパラメータを高精度に計算するのに極めて有効であることが確認できた。
【0118】
すなわち、3次元形状の計測データに対応する理論形状を規定するパラメータが多数の場合であっても、高速に且つロバスト(robust)にパラメータを決定することができるので、接触式、非接触式などの3次元座標計測器を用いて計測された3次元形状の評価を効率的に行うことができる。具体的には、回転対称体の形状計測データPiの中心軸101を正しく算出し、傾いて測定された形状計測データPiに関して高速に且つロバスト(robust)にその傾きを補正することができる。
なお、第2の実施形態と同様に、例えば図5に示した情報処理装置を用いることにより、以上のようにしてパラメータx0、y0、R、α、βを解く処理を実現することができる。
【0119】
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0120】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0121】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0122】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【0123】
【図1】本発明の第1の実施形態を示し、3次元空間内での形状計測データと、その形状計測データに対応する理論形状を記述するパラメータとの関係の一例を示す図である。
【図2】本発明の第1の実施形態を示し、パラメータを決定する方法の一例を説明するフローチャートである。
【図3】本発明の第1の実施形態を示し、3次元座標上にプロットされた擬似形状計測データを示す図である。
【図4】本発明の第1の実施形態を示し、入力した擬似形状計測データの値の一例を示す図である。
【図5】本発明の第1の実施形態を示し、情報処理装置の構成の一例を示したブロック図である。
【図6】本発明の第2の実施形態を示し、パラメータを決定する方法の一例を説明するフローチャートである。
【図7】本発明の第2の実施形態を示し、3次元座標上にプロットされた擬似形状計測データの一例を示す図である。
【図8】本発明の第2の実施形態を示し、入力した擬似形状計測データの値の一例をそれぞれ示す図である。
【図9】本発明の第3の実施形態を示し、パラメータを決定する方法の一例を説明するフローチャートである。
【符号の説明】
【0124】
100 理論形状
101 中心軸
C 測定空間での基準点
O 理論形状の基準点
i 形状計測データ
0、y0、z0、α、β、R パラメータ

【特許請求の範囲】
【請求項1】
計測された3次元形状に対応する理論形状を規定する複数のパラメータを決定する形状パラメータ決定方法であって、
前記複数のパラメータを少なくとも2組に分け、前記計測された3次元形状の計測データと、その3次元形状の計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に順番に繰り返し求めることによって、前記複数のパラメータを決定することを特徴とする形状パラメータ決定方法。
【請求項2】
計測された3次元形状に対応する理論形状を規定する複数のパラメータを第1〜第n(nは2以上の自然数)の組に分け、分けた組毎に前記複数のパラメータを決定する形状パラメータ決定方法であって、
前記計測された3次元形状の計測データを入力する入力ステップと、
前記入力ステップにより入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に求める第1〜第nのパラメータ取得ステップとを有することを特徴とする形状パラメータ決定方法。
【請求項3】
前記第1〜第nのパラメータ取得ステップは、他のパラメータ取得ステップにより求められたパラメータを既知量として、前記入力ステップにより入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを求めることを特徴とする請求項2に記載の形状パラメータ決定方法。
【請求項4】
前記第1〜第nのパラメータ取得ステップを、所定の条件が満たされるまで繰り返し行うことを特徴とする請求項3に記載の形状パラメータ決定方法。
【請求項5】
前記3次元形状に対応する理論形状が、回転対称体であることを特徴とする請求項1〜4の何れか1項に記載の形状パラメータ決定方法。
【請求項6】
前記回転対称体が、円筒であることを特徴とする請求項5に記載の形状パラメータ決定方法。
【請求項7】
前記複数のパラメータを、前記計測データと、前記計測データに対応する理論形状との差を表す量を2次形式で記述するパラメータの組と、そうでないパラメータの組とに分け、
前記計測データに対応する理論形状との差を表す量を2次形式で記述するパラメータを、線形の最小自乗法を用いて求め、
前記計測データに対応する理論形状との差を表す量を2次形式で記述しないパラメータを、非線形の最小自乗法を用いて求めることを特徴とする請求項1〜6の何れか1項に記載の形状パラメータ決定方法。
【請求項8】
前記3次元形状に対応する理論形状が、円筒であり、
前記円筒の中心軸の方向を規定するパラメータを、線形の最小自乗法を用いて求め、
前記中心軸の並進位置を規定するパラメータを、非線形の最小自乗法を用いて求めることを特徴とする請求項7に記載の形状パラメータ決定方法。
【請求項9】
前記3次元形状に対応する理論形状が、円筒であり、
前記複数のパラメータは、前記円筒の半径を含み、
前記円筒の中心軸の方向を規定するパラメータを、線形の最小自乗法を用いて求め、
前記中心軸の並進位置を規定するパラメータと、前記円筒の半径とを、非線形の最小自乗法を用いて求めることを特徴とする請求項7に記載の形状パラメータ決定方法。
【請求項10】
前記複数のパラメータを、非線形の最小自乗法を用いて求めることを特徴とする請求項1〜6の何れか1項に記載の形状パラメータ決定方法。
【請求項11】
前記3次元形状に対応する理論形状が、円筒であり、
前記複数のパラメータを、前記円筒の中心軸の方向を規定するパラメータの組と、前記中心軸の並進位置を規定するパラメータの組とに分けることを特徴とする請求項10に記載の形状パラメータ決定方法。
【請求項12】
前記3次元形状に対応する理論形状が、円筒であり、
前記複数のパラメータは、前記円筒の半径を含み、
前記複数のパラメータを、前記円筒の中心軸の方向を規定するパラメータの組と、前記中心軸の並進位置を規定するパラメータ及び前記円筒の半径の組とに分けることを特徴とする請求項10に記載の形状パラメータ決定方法。
【請求項13】
計測された3次元形状に対応する理論形状を規定する複数のパラメータを決定する形状パラメータ決定装置であって、
前記複数のパラメータを少なくとも2組に分け、前記計測された3次元形状の計測データと、その3次元形状の計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に順番に繰り返し求める手段を有することを特徴とする形状パラメータ決定装置。
【請求項14】
計測された3次元形状に対応する理論形状を規定する複数のパラメータを第1〜第n(nは2以上の自然数)の組に分け、分けた組毎に前記複数のパラメータを決定する形状パラメータ決定装置であって、
前記計測された3次元形状の計測データを入力する入力手段と、
前記入力手段により入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に求める第1〜第nのパラメータ取得手段とを有することを特徴とする形状パラメータ決定装置。
【請求項15】
計測された3次元形状に対応する理論形状を規定する複数のパラメータを決定することをコンピュータに実行させるためのコンピュータプログラムであって、
前記複数のパラメータを少なくとも2組に分け、前記計測された3次元形状の計測データと、その3次元形状の計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に順番に繰り返し求めることをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項16】
計測された3次元形状に対応する理論形状を規定する複数のパラメータを第1〜第n(nは2以上の自然数)の組に分け、分けた組毎に前記複数のパラメータを決定することをコンピュータに実行させるためのコンピュータプログラムであって、
前記計測された3次元形状の計測データを入力する入力ステップと、
前記入力ステップにより入力された計測データと、前記計測データに対応する理論形状との差を表す量が最小となるようなパラメータを、前記分けた組毎に求める第1〜第nのパラメータ取得ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。

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