特許文献1に記載の方法では、3次元形状測定カメラは所定の位置に固定されている。このため、人体などの長尺状の測定対象物は3次元形状測定カメラの測定領域からはみ出してしまい、これらのカメラにより全体を測定することができない。よって、これらの測定カメラにより長尺状の測定対象物の全体を測定するには、測定対象物の長軸方向に測定カメラを移動して測定する必要がある。
図1は、長尺状の測定対象物の長軸方向に沿って測定カメラを移動し得るように構成した3次元形状測定装置の一例を示す図である。この3次元形状測定装置1においては、測定対象物OBの左右に配置したガイド部3R,3Lにそれぞれ収納された測定カメラ4R,4Lが測定対象物OBに向けて測定カメラ4R,4Lの移動方向の略垂直方向にライン光LLを照射し、測定対象物OB表面で反射する反射光を受光する。測定カメラ4R,4Lで受光した反射光に関する情報は3次元画像処理装置6に入力され、この3次元画像処理装置6によって、ライン光LLの照射平面における測定対象物OB表面の位置を示す座標値であるX座標値およびZ座標値が計算される。また、ガイド部3R,3Lには、内部に長軸方向に沿ってガイドレールGRが形成されており、測定カメラ4R,4LはこのガイドレールGRに沿って鉛直方向に移動可能とされる。さらにガイド部3R,3Lには、モータ5R,5Lが取り付けられているとともに、このモータ5R,5Lの駆動力が測定カメラ4R,4LをガイドレールGRに沿って図示上下方向に駆動させるように構成された動力伝達機構(図示省略)が内部に組み込まれている。また、モータ5R,5Lの駆動情報(移動速度や移動距離)は、3次元画像処理装置6に入力される。
したがって、測定カメラ4R,4Lは、ライン光LLを測定対象物OBに照射しながらモータ5R,5Lからの駆動力によってガイドレールGRに沿って上下動し、この上下動により測定対象物OBの長軸方向の全域に亘ってライン光が照射される。ライン光の照射部位における反射光は、所定の微小間隔ごとに3次元画像処理装置6に抽出される。3次元画像処理装置6は、モータ5R,5Lから入力される測定カメラ4R,4Lの移動位置からライン光LLの照射平面と直交する方向における測定対象物OB表面の位置を示す座標であるY座標値を求め、そのときに測定カメラ4R,4Lから得られた反射光の情報から計算されるX,Z座標値と合わせてカメラ座標系における測定対象物表面の位置を示す座標値(X,Y,Z)を算出する。
そして、このような3次元形状測定装置1においても、上記特許文献1に記載された方法によって、それぞれの方向から得られた測定対象物OBのカメラ座標系における3次元形状データを基準座標系における3次元形状データに座標変換することは可能である。具体的には、図2に示すように3つ以上の基準物体(図では球体)Pを備える基準合わせ用のワークWを3次元形状測定装置1にセットし、基準物体Pから得られる所定の定点(例えば球体の中心)の座標値をそれぞれの測定カメラ4R,4Lで測定し、これらの定点の各測定カメラ4R,4Lから見た座標値をいずれか1台の測定カメラ4R,4Lから見た座標値にするための座標変換関数を計算する。そして、計算した座標変換関数に従って各測定カメラ4R,4Lから得られた測定対象物OBの3次元形状データを座標変換することによって、1つのカメラ座標系を基準座標系とした座標空間内における測定対象物の3次元形状データが得られる。
上記の方法においても、それなりの精度を持った3次元形状データを取得することができる。しかし、測定カメラの移動距離が長いと、ガイドレールの反りなどにより測定カメラに定められるX,Z座標軸が、測定カメラの移動に伴い変動し(言い換えれば、カメラ座標系における測定対象物の位置が測定カメラの移動とともに変動し)、この変動により測定精度が悪くなるという問題がある。また、測定精度を向上させるために移動機構の設計精度を向上した場合には、移動機構の製作コストが増加するという問題がある。
本発明は上記問題点に鑑みてなされたもので、その目的は、測定カメラを長尺状の測定対象物に対して長軸方向に移動させて測定対象物の3次元形状を測定する場合において、測定精度のよい3次元形状測定を行うことができる3次元形状測定方法、および、このような3次元形状測定方法を行う際の座標変換に用いる座標変換関数を計算するために使用される校正用物体を提供することにある。
上記目的を達成するため、本発明の特徴は、ライン光を測定対象物に照射する照射装置を用いて長尺状の測定対象物の3次元形状を測定する3次元形状測定方法において、長軸方向に沿って複数に区分された領域を有し、且つ、前記領域のそれぞれに、1つの前記照射装置から照射されるライン光の照射範囲あたりに基準座標系上で定義された少なくとも2つの基準平面および、基準座標系上で少なくとも1つの基準点を定義可能な基準形状が設けられた長尺状の校正用物体に、前記照射装置から前記校正用物体の長軸に対して垂直な方向に拡がるライン光を照射しながら前記照射装置を前記校正用物体の長軸方向に沿った所定方向に移動するとともに、前記校正用物体に照射されたライン光の反射光を受光することにより、前記少なくとも2つの基準平面および前記基準形状を表す座標値の点群データをカメラ座標系にて取得する第1座標値取得ステップと、前記少なくとも2つの基準平面および前記基準点を基準座標系上で定義した値と、前記第1座標値取得ステップにて取得された座標値の点群データとに基づいて、カメラ座標系における座標値を基準座標系における座標値に変換するための座標変換関数を前記領域ごとに計算する座標変換関数計算ステップと、長尺状の測定対象物に、前記照射装置から前記長尺状の測定対象物の長軸に対して垂直な方向に広がるライン光を照射しながら前記照射装置を前記長尺状の測定対象物の長軸方向に沿った前記所定方向に移動するとともに、前記長尺状の測定対象物に照射されたライン光の反射光を受光することにより、前記長尺状の測定対象物の表面形状を表す座標値の点群データをカメラ座標系にて取得する第2座標値取得ステップと、前記第2座標値取得ステップにて取得された座標値の点群データを、前記校正用物体の区分された領域に対応する領域ごとに前記領域に対応する座標変換関数を用いて基準座標系における点群データに座標変換する座標変換ステップと、を含む、3次元形状測定方法としたことにある。
上記発明による3次元形状測定方法は、第1座標値取得ステップにて校正用物体にライン光を照射してカメラ座標系(照射装置に定義される座標系,ローカル座標系)における校正用物体の形状を表す座標値の点群データを取得し、座標変換関数計算ステップにてカメラ座標系における座標値を基準座標系(統一された座標系,グローバル座標系)における座標値に変換する座標変換関数を計算し、第2座標値取得ステップにて長尺状の測定対象物にライン光を照射してカメラ座標系における測定対象物の形状を表す点群データを取得し、座標変換ステップにて測定対象物の形状をカメラ座標系にて表した座標値を座標変換して基準座標系において表した座標値とする。
ここで、第1座標値取得ステップにてライン光が照射される校正用物体は、長軸方向に沿って複数に区分された領域を有し、各領域に、1つの照射装置から照射されるライン光の照射範囲あたり、基準座標系上で定義された少なくとも2つの基準平面と、基準座標系上で少なくとも1つの基準点を定義可能な基準形状とが設けられている(つまり、照射装置が1つであれば、区分された各領域に少なくとも2つの基準平面と1つの基準形状が形成されていればよく、照射装置が2つであれば、区分された各領域に少なくとも4つの基準平面(そのうち2つは一方の照射装置からのライン光に照射され、別の2つは他方の照射装置からのライン光に照射される)と2つの基準形状(そのうち1つは一方の照射装置からのライン光に照射され、もう一つは他方の照射装置からのライン光に照射される)が形成されていればよい)。
したがって、校正用物体は各領域のそれぞれについて少なくとも2つの基準平面と1つの基準形状を有するから、座標変換関数計算ステップでは、少なくとも2つの基準平面および基準点を基準座標系上で定義した値と、カメラ座標系上で取得された各領域内の形状を示す座標値の点群データとから、区分された領域ごとに座標変換関数を計算することができる。また、座標変換ステップでは、第2座標値取得ステップで測定対象物の表面形状を表すカメラ座標系上の座標値の点群データを座標変換関数により基準座標系上の座標値に変換するが、このとき測定対象物も校正用物体と同じように長軸方向に領域を区分し、区分した領域ごとに、その領域に対応する座標変換関数を用いて座標変換する。
このように、本発明の方法は、座標変換関数を一つだけ求めてその座標変換関数でカメラ座標系における全ての座標値を座標変換するのではなく、測定対象物の長軸方向(校正用物体の長軸方向)に沿って複数に区分された領域ごとに座標変換関数を計算し、それぞれの座標値を座標値が属する領域に対応する座標変換関数で座標変換する。よって、測定対象物の長軸方向、つまり照射装置の移動方向に沿って測定カメラに定められるX,Z座標軸の方向が変動する場合であっても、測定対象物の長軸方向に沿ってこのカメラ座標系の座標軸の変化を踏まえた座標変換関数が領域ごとに計算される。つまり、本発明は、長尺状の測定対象物の測定範囲を細かく区分することにより、区分された各領域でのカメラ座標系の座標軸の変化を小さくする。そして、カメラ座標系の座標軸の変化が小さくされた各区分の領域に適用する座標変換関数を計算し、領域ごとに座標変換を行うものである。よって、本発明によれば、測定対象物の長軸方向に沿ったカメラ座標系の座標軸の変化の影響を排除することができ、精度の高い3次元形状測定を行うことができるのである。
本発明において、領域の区分の仕方は任意である。長軸方向に亘ってカメラ座標系の座標軸の変化が小さいものであれば、2つの領域に区分してもよいし、大きいものであれば、10若しくはそれ以上の領域に区分してもよい。また、長軸方向の特定領域でカメラ座標系の座標軸の変化が大きく、その他の領域で小さいことがわかっていれば、変化が大きい領域を細かく区分し、変化が小さい領域を大雑把に区分してもよい。
また、上記発明において、隣接する領域間で座標変換関数が大きく異なった場合は、座標変換後の座標値の点群データで表される3次元形状が、領域の境界で不連続になる場合がある。この場合には、領域の境界において平滑化の処理を行うことにより、滑らかな3次元形状とすることができる。
また、上記発明において用いる校正用物体は、区分された各領域に少なくとも2つの基準平面と1つの基準形状を有するものであればよく、領域ごとに異なった基準平面を設けてもよいが、各領域に共通の基準平面を設けてもよい。基準平面を各領域で共通とすれば、例えば三角柱や四角柱のような校正用物体を用いて長軸方向に区分し、複数の側面のうちの2つの側面を各領域に共通の基準平面とすることもができ、このようにすれば校正用物体の作製が容易且つ安価に行える。
また、上記発明において、校正用物体に形成される基準平面および基準点は、基準座標系上でなんらかの形で定義されているものであればよい。例えば基準座標系上で表す基準平面の法線ベクトルのベクトル成分を、基準平面を基準座標系で定義した値とすることができる。また、基準座標系上での基準点の座標値を、基準点を基準座標系で定義した値とすることができる。この基準点は、校正用物体に形成される特定点であってもよいし、校正用物体に形成される基準形状から導かれる定点であってもよい。
また、前記第1座標値取得ステップでは、複数の前記照射装置がそれぞれ異なった方向から校正用物体にライン光を照射するとともに、複数の前記照射装置ごとに前記少なくとも2つの基準平面および前記基準点を表す座標値の点群データをカメラ座標系にて取得し、前記座標変換関数計算ステップでは、複数の前記照射装置ごとに前記第1座標値取得ステップにて取得された点群データに基づいて前記座標変換関数を計算し、前記第2座標値取得ステップでは、複数の前記照射装置がそれぞれ異なった方向から前記長尺状の測定対象物にライン光を照射するとともに、複数の前記照射装置ごとに前記長尺状の測定対象物の表面形状を表す座標値の点群データをカメラ座標系にて取得し、前記座標変換ステップでは、複数の前記照射装置ごとに前記第2座標値取得ステップにて取得された点群データを座標変換するようにしてもよい。
本発明は1つの照射装置が測定対象物の長軸方向に移動する場合にも適用できるが、上記のように複数の照射装置を用いて測定対象物を異なった方向(特に、測定対象物の長軸方向に垂直な平面内において異なった方向)から測定する場合にも適用できる。この場合には、それぞれの照射装置にて得られる点群データに本発明をそれぞれ適用することにより、測定対象物の全体形状を精度良く測定することができる。このとき前記座標変換ステップにて複数の前記照射装置ごとに座標変換された基準座標系における点群データに互いに重なっている部分がある場合は、重なった部分を平均化して全体を一様の点群データにする合成ステップをさらに行うとよい。
また、前記基準形状は前記少なくとも2つの基準平面とは異なる別の平面であり、前記基準点は前記少なくとも2つの基準平面と前記別の平面との交点であり、前記座標変換関数計算ステップは、前記第1座標値取得ステップにて取得した点群データから前記少なくとも2つの基準平面および前記別の平面の平面方程式を計算する第1計算ステップと、前記第1計算ステップにて計算された平面方程式から前記少なくとも2つの基準平面を表すベクトルおよび前記交点の座標を計算する第2計算ステップと、前記第2計算ステップにて計算された前記ベクトルおよび前記交点の座標と、前記少なくとも2つの基準平面および前記基準点を基準座標系で定義した値と、に基づいて、前記座標変換関数を計算する第3ステップと、を含むものとするのがよい。これにより、座標変換関数を容易に計算することができる。上記基準平面を表すベクトルとしては、その基準平面の法線ベクトルを用いることができる。また、前記別の平面は、前記少なくとも2つの基準平面に切り込みを入れることにより形成される切り込み平面であるとよい。これによれば、校正用物体を容易に作製することができる。
また、前記基準形状は、前記少なくとも2つの基準平面内に設けられた基準点を定義し得る形状とされ、前記座標変換関数計算ステップは、前記第1座標値取得ステップにて取得した点群データから前記少なくとも2つの基準平面の平面方程式および前記基準点に関する式を計算する第1計算ステップと、前記第1計算ステップにて計算された平面方程式および前記基準点に関する式から前記少なくとも2つの基準平面を表すベクトルおよび前記基準点の座標値を計算する第2計算ステップと、前記第2計算ステップにて計算された前記ベクトルおよび前記基準点の座標値と、前記少なくとも2つの基準平面および前記基準点を基準座標系で定義した値と、に基づいて、前記座標変換関数を計算する第3ステップと、を含むものでもよい。より具体的には、前記基準形状は、球体形状を有し、前記基準点は前記球体形状の中心であるとよい。これによっても、校正用物体を容易に作製することができる。
また、前記校正用物体には、ライン光が照射されたときの反射光量の違いにより前記領域を区分する境界部分を有し、前記第1座標値取得ステップは、前記照射装置が前記校正用物体の長軸に沿った前記所定方向に移動してライン光が前記境界部分を照射したときの移動位置を前記領域の境界位置として検出する移動位置検出ステップを含み、前記座標変換関数計算ステップは、前記移動位置検出ステップにて検出した前記境界位置に基づいて前記第1座標値取得ステップにて取得した点群データを各領域に分類するとともに、分類した各領域における点群データに基づいて座標変換関数を領域ごとに計算し、前記座標変換ステップは、前記移動位置検出ステップにて検出した前記境界位置に基づいて前記第2座標値取得ステップにて取得した点群データを各領域に分類するとともに、分類した各領域における点群データを、前記座標変換関数計算ステップにて計算された各領域に対応する座標変換関数を用いて基準座標系の点群データに座標変換するものであってもよい。
これによれば、照射装置が移動しながら校正用物体にライン光を照射し、その反射光を受光するときに、反射光量の違いにより領域を区分することができる。また、移動位置検出ステップによって領域の境界位置を検出することができるので、第1座標値取得ステップで得られた点群データを容易に領域ごとに区分することができる。さらに、移動位置検出ステップによって検出した領域の境界位置を、座標変換ステップにて測定対象物の領域を区分する際の境界としても用いることにより、測定対象物において区分された領域と校正用物体において区分された領域とを一致させることができる。
また、前記少なくとも2つの基準平面および前記基準形状を予め測定して、その測定結果から、基準座標系上で前記少なくとも2つの基準平面および前記基準点を定義する基準定義ステップをさらに含むようにしてもよい。この場合、測定対象物を測定する装置とは別の高精度の3次元形状測定装置により校正用物体の基準平面および基準形状を測定するのがよい。高精度3次元形状測定装置としては、接触プローブを有する接触式3次元形状測定装置などを用いることができる。
基準平面および基準形状を予め測定するにあたり、前記第1座標値取得ステップにて複数の前記照射装置を用いて前記校正用物体に異なった方向からライン光を照射し、複数の前記照射装置ごとに前記少なくとも2つの基準平面および前記基準点を表す座標値の点群データをカメラ座標系にて取得する場合には、前記基準定義ステップは、前記第1座標値取得ステップにて複数の前記照射装置のそれぞれが取得する点群データに対応する校正用物体の対応箇所における前記少なくとも2つの基準平面および前記基準形状を前記対応箇所ごとに測定し、前記少なくとも2つの基準平面および前記基準点を表す値を計算する部分計測ステップと、前記部分計測ステップにて前記対応箇所ごとに計算した前記少なくとも2つの基準平面および前記基準点を表す値を基準座標系における値に変換するための基準座標変換関数を計算する基準座標変換関数計算ステップと、前記基準座標変換関数計算ステップで計算された前記基準座標変換関数により前記対応箇所ごとに計算した前記少なくとも2つの基準平面および前記基準点を表す値を座標変換して、基準座標系上での前記少なくとも2つの基準平面および前記基準点を表す値に変換する基準座標変換ステップと、を含むものとするのがよい。
すなわち、校正用物体が少なくとも2つの基準平面および基準形状を含む箇所(対応箇所)を1つの領域内で複数有しているにもかかわらず、校正用物体の基準平面および基準形状を予め測定する測定装置が校正用物体を一方向からしか測定できないものなどにあっては、一回の測定で全ての対応箇所を測定することが困難である場合がある。この場合は、それぞれの対応箇所を測定装置により個別に測定してそれぞれの対応箇所における基準平面および基準点を表す値を計算し(部分計測ステップ)、個別に計算した対応箇所ごとの基準平面および基準点を表す値を基準座標系における値に座標変換するための基準座標変換関数を計算し(基準座標変換関数計算ステップ)、計算した基準座標変換関数により各対応箇所における基準平面および基準点を表す値を座標変換する(基準座標変換ステップ)ことにより、それぞれの箇所において個別に測定された基準平面および基準点を表す値を一つの基準座標系における値(つまり基準平面および基準点を基準座標系上で定義する値)に変換することができる。これにより、すべての箇所における基準平面および基準点を一つの基準座標系上で定義することができる。
この場合、前記校正用物体の前記基準平面には定点を特定することが可能な定点定義形状が形成されており、前記基準座標変換関数計算ステップは、前記部分計測ステップにて前記対応箇所ごとに計算した基準平面および基準点を表す値から、前記基準平面を表すベクトルや基準点の座標値および前記定点を計算するステップを含むようにするとよい。さらに、前記基準座標変換関数計算ステップは、前記対応箇所ごとに特定される前記定点の座標値の関連性を用いて基準座標変換関数を計算するのがよい。前記定点定義形状は、球体を有する形状とすることもでき、この場合、前記定点は前記球体の中心点とすることができる。
以下、本発明の実施形態について説明する。本実施形態における3次元形状測定装置は、図1に示した装置と同様に、測定対象物に対称的に2つの測定カメラ(照射装置)を設置し、対向する2箇所から測定対象物を測定するものであるが、測定対象物を測定する前に校正用物体の3次元形状を測定する。測定すべき校正用物体10を図3に示す。図3(a)はこの校正用物体10の斜視図、図3(b)は図3(a)の矢印A方向(右方)から校正用物体10を見たときの斜視図である。この校正用物体10は、平板状の基台BP上に載置され、4つの平面a,b,e,fを側面とした四角柱形状を呈し、軸方向に直交する断面形状がほぼ正方形の長尺状物体であり、軸方向が基台BPの平面(上面)に垂直となるように基台BPに取り付けられている。この4つの平面a,b,e,fが、基準座標系上で定義される基準平面である。
図3に示すように、校正用物体10の側面を形成する各平面a,b,e,fには黒色のラインBLが複数本書き込まれている。各ラインBLは、校正用物体10の軸回りに閉ループとなるように各平面a,b,e,fに亘って形成され、このようなラインBLが校正用物体10の軸方向に所定の間隔を隔てて9本設けられ、これらのラインBLにより校正用物体10は長軸方向に沿って複数の領域(本例では10の領域)に区分されている(以下、この領域を区分領域という)。したがって、ラインBLは、校正用物体10を長軸方向に区分するための境界部分である。また、各ラインBLは、これに沿って校正用物体10を区分したときにその断面が後述する3次元形状測定装置からのレーザー光により形成されるライン光の照射平面と平行となるように形成される。ラインBLは、それが形成されていない部分と反射率が異なっている(具体的にはラインBLの部分はライン光をほとんど反射しない)。そのため反射率の違いから区分領域が識別できるようにされている。
校正用物体10においては、平面aは、一方の長辺PL1を境界として平面bに隣接し、他方の長辺PL2を境界として平面eに連結している。また、平面fは、一方の長辺PL3を境界として平面eと隣接し、他方の長辺PL4を境界として平面bと隣接している。そして、平面aと平面bとの境界を形成する長辺PL1および、平面eと平面fとの境界を形成する長辺PL3には、それぞれ10個の切り込み平面が形成されている。長辺PL1に形成される切り込み平面c1〜c10は、平面aおよび平面bとは異なった別の平面であり、各区分領域に一つずつ形成されている。同様に、長辺PL3に形成される切り込み平面g1〜g10も、平面eおよび平面fとは異なった別の平面であり、各区分領域に一つずつ形成されている。それぞれの切り込み平面が設けられた部位は、長辺PL1またはPL3から斜めに切り込まれ、切れ込まれた部分を切除したような形状とされており、外部から見て略三角形状とされている。切り込み平面の切り込み角度は任意である。
切り込み平面c1〜c10は、長辺PL1に沿って形成されており、長辺PL1は平面aと平面bの境界辺であるため、切り込み平面c1〜c10は、平面aおよび平面bと長辺PL1上の1点で交わる点を形成する。この点を頂点dとすると、頂点dは、切り込み平面c1〜c10ごとにd1〜d10の頂点が各区分領域に形成されることになる。同様に、切り込み平面g1〜g10ごとに、頂点h1〜h10が各区分領域に形成される。頂点d1〜d10および頂点h1〜h10が、基準座標系上で定義される基準点であり、この基準点を形成する切り込み平面c1〜c10および切り込み平面g1〜g10が基準点を定義し得る基準形状である。
校正用物体10は上記のように形成されているため、各区分領域には、平面a、平面b、平面e、平面f、平面aと平面bとの境界である長辺PL1に形成された切り込み平面cn(n=1〜10)、平面eと平面fの境界である長辺PL3に形成された切り込み平面gn(n=1〜10)、頂点dn(n=1〜10)、頂点hn(n=1〜10)が、それぞれ形成されていることになる。なお、本実施形態においては、各区分領域に形成される平面a、平面b、平面e、平面fは、それぞれ共通の平面とされている。このように構成すれば、校正用物体の作製が容易となるが、それぞれの区分領域ごとに平面a、平面b、平面e、平面fを別の平面としてもよい。
また、校正用物体10は、6個の半球体k1〜k6を有している。半球体k1、k2、k3は、いずれも平面aに取り付けられている。k1は上から2番目の区分領域、k2は上から6番目の区分領域、k3は上から9番目の区分領域にそれぞれ取り付けられている。半球体k4、k5、k6は、いずれも平面eに取り付けられている。k4は上から2番目の区分領域、k5は上から6番目の区分領域、k6は上から9番目の区分領域にそれぞれ取り付けられている。これらの半球体は、球面側が外を向くように取り付けられている。
上記のような特徴的な形状を外形に有する校正用物体10の外形形状を正確に測定するために、まず、図6に示すような高精度の接触式3次元形状測定装置20に校正用物体10をセットして、校正用物体10の外形形状を測定する。この接触式3次元形状測定装置20は、測定対象空間内に位置する物体の座標位置や物体の大きさなどを3次元的に精度良く計測することができる測定機であり、測定部21、コントローラ22、座標計算処理装置23、入力装置24および表示装置25と、を備えて構成されている。
測定部21は、ベース26およびこのベース26の上面に取り付けられた2つの治具27,27、プローブ28、第1支持機構29a、第2支持機構29bおよび第3支持機構29cを備えている。治具27,27には校正用物体10が長軸方向を水平にして載置される。プローブ28は第1支持機構29aに取り付けられている。この第1支持機構29aは、ベース26に対して鉛直方向であるz軸方向に上下動可能に構成されている。第1支持機構29aは第2支持機構29bに取り付けられている。この第2支持機構29bは、上記z軸方向に垂直なx軸方向に移動可能に構成されている。さらに、第2支持機構29bは第3支持機構29cに取り付けられている。この第3支持機構29cは、x軸方向およびz軸方向に垂直な方向であるy軸方向に移動可能に構成され、ベース26に固定されている。よって、これらの各支持機構がそれぞれ独立に動作することによって、プローブ28はベース26上の測定対象空間を自由に移動可能とされている。プローブ28は、その先端の位置(接触位置)を正確に計測しており、計測した座標値を座標計算処理装置23に出力する。
測定部21には、コントローラ22および座標計算処理装置23が接続されている。コントローラ22は、キーボードなどからなる入力装置24からの指示に従って、測定部21の作動(プローブ28の位置)を制御する。また、コントローラ22は、入力装置24からの指示に従って座標計算処理装置23の作動を制御するとともに、同入力装置24にて入力されたデータを座標計算処理装置23に供給する。座標計算処理装置23は、測定部21から入力されるプローブ28の座標値および、コントローラ22を介して入力装置24から入力される測定対象物の特徴(例えば、プローブ28により測定しようとしている物体の形状が球であるか、平面であるかなど)から、形状を表す方程式を計算し、表示装置25に出力する。
治具27,27には、校正用物体10を載置するための載置面27aがそれぞれ形成されている。校正用物体10の形状を接触式3次元形状測定装置20により測定するときには、この載置面27aに校正用物体10の側面を構成する4つの平面a,b,c,dのうちの2つの隣接する平面を載置する。そして、プローブ28側を向いた側の外形形状をまず測定する。ただし、この測定では治具27の載置面27aに面した側の外形形状が計測できないため、上記の測定が終わった後に、校正用物体10を長軸回りに回転させて別の平面をプローブ28側に向かせた状態で校正用物体10を治具27に載置し、再度測定する。
図7は、校正用物体10の全ての面の外形形状を測定するために、治具27に校正用物体10を載置する状態を順に示した図である。本実施形態では、接触式3次元形状測定装置20により校正用物体10の全ての面の外形形状を測定するにあたり、まず、図7(a)に示すように、校正用物体10の平面eおよび平面fが治具27の載置面27aに面し、平面aおよび平面bがプローブ28に向くように校正用物体10を治具27に載置する。この状態で平面a側の外形形状および平面b側の外形形状の測定を行う。次に、校正用物体10を長軸回りに90度図におい右方向に回転させて、図7(b)に示すように校正用物体10の平面bおよび平面fが治具27の載置面27aに面し、平面aおよび平面eがプローブ28に向くように校正用物体10を治具27に載置する。この状態で平面a側の外形形状および平面e側の外形形状の測定を行う。次いで、校正用物体10を長軸回りにさらに90度右方向に回転させて、図7(c)に示すように校正用物体10の平面aおよび平面bが載置面27aに面し、平面eおよび平面fがプローブ28に向くように校正用物体10を治具27に載置する。そして、この状態で平面e側の外形形状および平面f側の外形形状の測定を行う。なお、上記のような3通りの載置状態において、載置面27aに半球体k1〜k6が当接することがあるが、このときは半球体k1〜k6が載置面27aに当接しないような窪みを載置面27aに設けるなどの工夫をしておけばよい。
本実施形態では、図7(a)のように校正用物体10が治具27に載置されている状態においては、平面a、平面bの平面形状、切り込み平面c1〜c10の平面形状および半球体k1,k2,k3の球面形状を測定する。図7(b)のように校正用物体10が治具27に載置されている状態においては、球体k1〜k6の球面形状を測定する。図7(c)のように校正用物体10が治具27に載置されている状態においては、平面e、平面fの平面形状、切り込み平面g1〜g10の平面形状および球体k4,k5,k6の球面形状を測定する。
接触式3次元形状測定装置20による校正用物体10の測定においては、上記のように各平面(平面a,b,e,fおよび切り込み平面c1〜c10,g1〜g10)および各半球面(k1〜k6)を測定するが、平面を測定するときは、作業者がプローブ28の位置を制御して測定対象である平面内の異なる3点にプローブ28を接触させて、その接触点の座標値(X,Y,Z)を取得する。球面を測定するときには、作業者がプローブ28の位置を制御して測定対象である球面内の異なる4点にプローブ28を接触させて、その接触点の座標値(X,Y,Z)を取得する。なお、各平面および各球面を測定する際に、上記に示した点以上の点を測定してもよい。また、平面a,b,c,dを測定するにあたり、区分領域ごとに3点以上の点をそれぞれ測定してもよい。
測定により取得した座標値(X,Y,Z)は、座標計算処理装置23に入力される。座標計算処理装置23では、入力された座標値(X,Y,Z)を基に、図13に示すプログラムを実行して、以下に示す値を算出する。
(1)各平面a,b,cn,e,f,gnの平面方程式の計算
まず、座標計算処理装置23は、図13のプログラムをステップS10にて開始し、ステップS11にて各平面a,b,cn(n=1〜10),e,f,gn(n=1〜10)の平面方程式を計算する。このステップS11においては、座標計算処理装置23は入力された座標値のうち、平面aを測定した3点以上の座標値(X,Y,Z)を式1に示す平面方程式に代入し、連立方程式を解くことにより平面方程式の各係数A,B,Cを算出する。
これにより平面aの平面方程式が計算される。なお、一つの平面の方程式を求めるためには3点の座標値があれば十分であるが、4点以上の座標値を求めておいてもよい。この場合は、最小二乗法により最適な平面方程式を算出することができる。以下同様に、平面b,e,fおよび切り込み平面cn(n=1〜10),gn(n=1〜10)についても上記式1を用いて平面方程式の係数を求め、それぞれの平面についての平面方程式を計算する。このようにして、座標計算処理装置23は、各平面a,b,e,fおよび各切り込み平面c1〜c10,g1〜g10の平面の方程式を求める。
(2)頂点dn,hnの座標値の計算
次に、座標計算処理装置23は、ステップS12に進み、このステップS12にて、まず頂点dn(n=1〜10)の座標値を求める。頂点dnは、平面a、平面bおよび切り込み平面cnの交点であるから、その座標値はこれらの平面の平面方程式を連立して解くことにより算出することができる。具体的には、式2に示す連立方程式を解くことにより求められる。
ここで、上記式2において、Aa,Ba,Caは平面aの平面方程式の係数、Ab,Bb,Cbは平面bの平面方程式の係数、Acn,Bcn,Ccnは切り込み平面cn(n=1〜10)の平面方程式の係数である。
次に、座標計算処理装置23は、頂点gn(n=1〜10)の座標値を求める、この頂点gnの座標値は、平面eの平面方程式と、平面fの平面方程式と、切り込み平面gnの平面方程式を用いて、下記の式3に示す連立方程式を解くことにより求められる。
ここで、上記式3において、Ae,Be,Ceは平面eの平面方程式の係数、Af,Bf,Cfは平面fの平面方程式の係数、Agn,Bgn,Cgnは切り込み平面gn(n=1〜10)の平面方程式の係数である。
(3)半球体k1〜k6の中心座標値の計算
次に、座標計算処理装置23は、ステップS13に進み、6個の半球体k1〜k6についてそれぞれ球面方程式を求める。このとき、各半球体ks(s=1〜6)についてそれぞれ4点の座標値が求められているから、これらの座標値を半球体ごとに下記式4に代入して連立方程式を解き、係数X
ks,Y
ks,Z
ks,r
ksを求めることにより、球面方程式が求められる。
次に、求めた上記式4に示す球面方程式から半球体ks(s=1〜6)の中心座標値(X
ks,Y
ks,Z
ks)を求める。なお、半球体は、校正用物体10が図7(a),(b),(c)に示す状態で載置されているそれぞれの場合において求められる。したがって、それぞれの半球体は、校正用物体10が異なった2通りの姿勢(半球体k1,k2,k3は図7(a)および図7(b)の姿勢、半球体k4,k5,k6は図7(b)および図7(c)の姿勢)で配置しているそれぞれの状態において個別に球面方程式および中心座標値が算出される。
(4)各平面の法線ベクトルの単位ベクトルの計算
次に、座標計算処理装置23は、ステップS14に進み、求めた各平面の平面方程式から各平面における法線ベクトルを求める。この場合において、式1に示す平面方程式中の係数(A,B,C)がそのままその平面における法線ベクトルとなり得るが、本実施形態において求める法線ベクトルは、各平面から外方に向かう法線ベクトルであり、内方に向かう法線ベクトルではない。したがって、求めるべき法線ベクトルが(A,B,C)かも知れないし、(−A,−B,−C)かも知れない。このため求めるべき法線ベクトルが上記のどちらであるかを決定する必要がある。
本実施形態では、接触式3次元形状測定装置20にて測定した点の位置ベクトルpを用いて求めるべき法線ベクトルを決定する。つまり、ある平面の平面方程式を計算するときに用いた点の座標値をその点についての位置ベクトルpとし、この位置ベクトルpと2つの法線ベクトルとのなす角の違いから、求めるべき法線ベクトルを決定する。以下、求めるべき法線ベクトルの決定の仕方について具体的に説明する。図10は、接触式3次元形状測定装置20から見た座標系上に、図7(a)に示す状態の校正用物体10および、その状態における平面bの法線ベクトルを表した図である。図に示すように、この座標系の座標軸原点は、図の右上の位置に設定されている。このような配置関係において、平面bのある点b0が接触式3次元形状測定装置20で測定され、その座標値が(Xb,Yb,Zb)であったとする。すると、この点における位置ベクトルは、pb(Xb,Yb,Zb)と表すことができる。また、平面bの法線ベクトルは、B+(Ab,Bb,Cb)およびB-(−Ab,−Bb,−Cb)で表すことができる。また、求めるべき法線ベクトル(平面bから外向きの法線ベクトル)を法線ベクトルB、求めるべきでない法線ベクトル(平面bから内向きの法線ベクトル)を法線ベクトルB*とする。
次いで、下記式5および式6の計算の実行により、位置ベクトルpbと法線ベクトルB
+とのなす角θ
+および、位置ベクトルpbと法線ベクトルB
-とのなす角θ
-を求める。
ここで、図10に示すように、求めるべき法線ベクトルBと位置ベクトルpbとのなす角は、求めるべきではない法線ベクトルB*と位置ベクトルpbとのなす角よりも大きくなることがわかる。したがって、上記式5および式6にて求めたθ+とθ-とを比較して、角度が大きい方の計算に用いた法線ベクトルが、求めるべき法線ベクトルBであると決定することができる。平面eにおける法線ベクトルEについては、図7(c)からわかるように、図7(a)の状態で平面bが測定されているときの配置状態と同じであるから、上記と同じ方法で決定することができる。
図11は、接触式3次元形状測定装置20から見た座標系上に、図7(a)に示す状態の校正用物体10および、その状態における平面aの法線ベクトルを表した図である。図10と同様に、図11においても座標軸原点は図の右上に設定されている。このような配置関係において、平面aのある点a0が接触式3次元形状測定装置20で測定され、その座標値が(Xa,Ya,Za)であったとする。すると、この点における位置ベクトルは、pa(Xa,Ya,Za)と表すことができる。また、平面aの法線ベクトルは、A+(Aa,Ba,Ca)およびA-(−Aa,−Ba,−Ca)で表すことができる。また、求めるべき法線ベクトルをA、求めるべきでない法線ベクトルをA*とする。
次いで、下記式7および式8の計算の実行により、位置ベクトルpaと法線ベクトルA
+とのなす角θ
+および、位置ベクトルpaと法線ベクトルA
-とのなす角θ
-を求める。
ここで、図11に示すように、求めるべき法線ベクトルAと位置ベクトルpaとのなす角は、求めるべきではない法線ベクトルA*と位置ベクトルpaとのなす角よりも小さくなることがわかる。したがって、上記式7および式8にて求めたθ+とθ-とを比較して、角度が小さい方の計算に用いた法線ベクトルが、求めるべき法線ベクトルAであると決定することができる。平面fにおける法線ベクトルFについては、図7(c)からわかるように、図7(a)の状態で平面aが測定されているときの配置状態と同じであるから、上記と同じ方法で決定することができる。
なお、図11に示す場合にあっては、座標軸原点の位置によって、位置ベクトルpaと求めるべき法線ベクトルAとのなす角の方が、位置ベクトルpaと求めるべきでない法線ベクトルA*とのなす角よりも大きくなる場合がある。したがって、作業者が原点位置に基づいて、なす角の大きい方が求めるべき法線ベクトルであるか、なす角の小さい方が求めるべき法線ベクトルであるかを予め座標計算処理装置23に入力しておく必要がある。
図12は、接触式3次元形状測定装置20から見た座標系上に、図7(a)に示す状態の校正用物体10および、その状態における切り込み平面cnの法線ベクトルを表した図である。図からわかるように、座標軸原点は図の左上に設定するものとする。このような配置関係において、切り込み平面cnのある点c0が接触式3次元形状測定装置20で測定され、その座標値が(Xcn,Ycn,Zcn)であったとする。すると、この点における位置ベクトルはpcn(Xcn,Ycn,Zcn)と表すことができる。また、平面cの法線ベクトルは、Cn+(Acn,Bcn,Ccn)およびCn-(−Acn,−Bcn,−Ccn)で表すことができる。また、求めるべき法線ベクトルをCn、求めるべきでない法線ベクトルをCn*とする。
次いで、下記式9および式10の計算の実行により、位置ベクトルpcnと法線ベクトルCn
+とのなす角θ
+および、位置ベクトルpcnと法線ベクトルCn
-とのなす角θ
-を求める。
ここで、図13に示すように、求めるべき法線ベクトルCnと位置ベクトルpcnとのなす角は、求めるべきではない法線ベクトルCn*と位置ベクトルpcnとのなす角よりも大きくなることがわかる。したがって、上記式9および式10にて求めたθ+とθ-とを比較して、角度が大きい方の計算に用いた法線ベクトルが、求めるべき法線ベクトルCnであると決定することができる。平面gにおける法線ベクトルGについても、上記と同じ方法で決定することができる。
以上のようにして求めた全ての平面の法線ベクトルのベクトル成分を(A,B,C)とし、下記式11の計算により、各平面における法線ベクトルの単位ベクトルを計算する。
(5)座標変換関数の計算
上記(1)〜(4)の計算により、各平面の法線ベクトルの単位ベクトル成分や、頂点の座標値が計算されたが、これらの計算の基礎となる座標値は、図7(a)、図7(b)、図7(c)のように校正用物体10が姿勢(向き)を変えて接触式3次元形状測定装置20にセットされたそれぞれの状態において測定された座標値であるから、これらの値は測定されたときの座標系における、基準平面や基準点を表す値である。よって、これらの値を一つの座標系による値にするためには、図7(a)〜(c)の姿勢ごとに求めた法線ベクトルや頂点の座標値を一つの座標系(基準座標系)における値に座標変換する必要がある。このため座標計算処理装置23は、次にステップS15に進んで上記座標変換をするための座標変換関数を計算する。
この座標変換関数は以下のように求められる。まず、基準座標系が定められる。本実施形態においては、校正用物体10が図7(b)の姿勢であるときに接触式3次元形状測定装置が測定するときの座標系を基準座標系と定める。次に、校正用物体10が図7(b)の姿勢であるときに接触式3次元形状測定装置で測定された球体k1,k2,k3,k4,k5,k6の中心座標値をKbs(Xkbs,Ykbs,Zkbs)(s=1〜6)とし、校正用物体10が図7(a)の姿勢であるときに接触式3次元形状測定装置で測定された球体k1,k2,k3の中心座標値をKas(Xkas,Ykas,Zkas)(s=1〜3)とし、校正用物体10が図7(c)の姿勢であるときに接触式3次元形状測定装置で測定された球体k4,k5,k6の中心座標値をKcs(Xkcs,Ykcs,Zkcs)(s=4〜6)とする。
球体k1,k2,k3に対して2つの座標系における中心座標値Ka1、Ka2,Ka3およびKb1,Kb2,Kb3が求められるので、これらから、中心座標値Ka1,Ka2,Ka3を求めたときに用いた座標系(a座標系)と、中心座標値Kb1,Kb2,Kb3を求めたときに用いた座標系(b座標系:基準座標系)の関連性がわかる。また、球体k4,k5,k6に対しても2つの座標系における中心座標値Kb4,Kb5,Kb6およびKc4,Kc5,Kc6が求められるので、これらから、中心座標値Kb4,Kb5,Kb6を求めたときに用いた座標系(b座標系:基準座標系)と、中心座標値Kc4,Kc5,Kc6を求めたときに用いた座標系(c座標系)との関連性がわかる。よって、これらの座標値から座標変換関数を求めることができる。
座標変換関数は、具体的には以下のようにして求められる。まず、座標変換関数Fは、基本的に式12に示す一般式により表すことができる。
ここで、上記式12中、(X
q,Y
q,Z
q)は、q座標系(qはaまたはc)における座標値、(X
T,Y
T,Z
T)は、q座標系の原点から基準座標系の原点までの平行移動成分(定数)、Mはq座標系を基準座標系と平行にするための回転行列、である。回転行列Mは、下記式13のように表される。
上記式13において、角度αは基準座標系のx軸とq座標系のx軸とのなす角、βは基準座標系のy軸とq座標系のy軸とのなす角、γは基準座標系のz軸とq座標系のz軸とのなす角である。座標変換関数の計算は、上記式12中の行列値X
T,Y
T,Z
Tおよび式13中の行列値m
11,m
12,m
13,m
21,m
22,m
23,m
31,m
32,m
33を計算することを意味する。
また、a座標系にて測定された球体k1,k2,k3の中心座標値はそれぞれKa1(X
ka1,Y
ka1,Z
ka1),Ka2(X
ka2,Y
ka2,Z
ka2),Ka3(X
ka3,Y
ka3,Z
ka3)で表され、基準座標系(b座標系)にて測定された球体k1,k2,k3の中心座標値はそれぞれKb1(X
kb1,Y
kb1,Z
kb1),Kb2(X
kb2,Y
kb2,Z
kb2),Kb3(X
kb3,Y
kb3,Z
kb3)で表される。Ka1,Ka2,Ka3をそれぞれ座標変換関数F
a→bにより座標変換した場合には、これらはそれぞれKb1,Kb2,Kb3と同一の座標値となる。このことから、上記の座標値をそれぞれ式12および式13に代入することにより、以下の式14〜16の関係が成立する。
式14を変形すると、下記式17の連立方程式が成立する。
ここで、a座標系における球体k1,k2,k3の中心座標値Ka1,Ka2,Ka3を含む平面の法線ベクトルを(α
a,β
a,γ
a)とし、b座標系における球体k1,k2,k3の中心座標値Kb1,Kb2,Kb3を含む平面の法線ベクトルを(α
b,β
b,γ
b)とすると、2つの法線ベクトルの大きさが同じであれば、下記式18が成立する。式18中の行列Mは上記回転行列Mである。
法線ベクトル(α
a,β
a,γ
a)は、座標値Ka1,Ka2,Ka3を含む平面内の2つのベクトルの外積により表すことができる。この2つのベクトルを、座標値Ka1から座標値Ka2に向かうベクトルr21aと、座標値Ka3から座標値Ka2に向かうベクトルr32aとすると、法線ベクトル(α
a,β
a,γ
a)は下記式19によって表される。
また、法線ベクトル(α
b,β
b,γ
b)は、座標値Kb1,Kb2,Kb3を含む平面内の2つのベクトルの外積により表すことができる。この2つのベクトルを、座標値Kb2から座標値Kb1に向かうベクトルr21bと、座標値Kb3から座標値Kb2に向かうベクトルr32bとすると、法線ベクトル(α
b,β
b,γ
b)は下記式20によって表される。
上記式19および式20を式18に代入すると、下記の式21が成立する。
上記式21の1番目の式を上記式17に加えることにより、下記式22の連立方程式が得られる。
上記式22の連立方程式を解くことにより、行列値m11,m12,m13を計算することができる。また、上記式15および式16に関しても、上記式17の連立方程式のように変形し、上記式21の2番目の式および3番目の式をそれぞれ加えた連立方程式を解くことにより行列値m21,m22,m23および行列値m31,m32,m33を計算できる。そして、これらの計算した行列値を上記式14〜16に代入すれば、行列値XT,YT,ZTを計算できる。これにより、a座標系における座標値を、b座標系(基準座標系)における座標値に変換するための座標変換関数Fa→bが計算される。また、上記と同じようにして、c座標系における座標値も、b座標系(基準座標系)における座標値に変換するための座標変換関数Fc→bが計算される。
(6)座標変換
次に、3次元画像処理装置6は、ステップS16に進み、平面aの法線ベクトルA、平面bの法線ベクトルB、切り込み平面cの法線ベクトルC1〜C10の各ベクトルの単位ベクトル成分、および、頂点d1〜d10の座標値を上記のようにして計算した座標変換関数Fa→bを用いて基準座標系における値に座標変換する。同様に、平面eの法線ベクトルE、平面fの法線ベクトルF、切り込み平面gの法線ベクトルG1〜G10の単位ベクトル成分、および頂点h1〜h10の座標値を座標変換関数Fc→bを用いて基準座標系における値に座標変換する。なお、ベクトル成分の座標変換は座標変換関数Fの回転行列Mによる座標変換であり、平行移動成分(XT,YT,ZT)は考慮しない。
以上の(1)〜(6)の処理を行った後、座標計算処理装置23はステップS17に進んでこのプログラムの実行を終了する。これにより、基準座標系での以下の値が得られる。
・平面aの法線ベクトルの単位ベクトル成分Am
・平面bの法線ベクトルの単位ベクトル成分Bm
・平面eの法線ベクトルの単位ベクトル成分Em
・平面fの法線ベクトルの単位ベクトル成分Fm
・切り込み平面c1〜c10の法線ベクトルの単位ベクトル成分C1m〜C10m
・切り込み平面g1〜g10の法線ベクトルの単位ベクトル成分G1m〜G10m
・頂点d1〜d10の座標値D1m〜D10m
・頂点h1〜h10の座標値H1m〜H10m
上記において、添え字mは、基準座標系における値であることを示す。基準平面となる平面a,b,e,fは、上記法線ベクトルの単位ベクトル成分Am,Bm,Em,Fmにより基準座標系上で定義される。基準点となる頂点d1〜d10および頂点h1〜h10は、座標値D1m〜D10mおよび座標値H1m〜H10mにより基準座標系上で定義される。
なお、平面a,b,e,fの法線ベクトルの単位ベクトル成分Am,Bm,Em,Fmを求めるにあたり、ラインBLで分割された領域の平面ごとに3点以上の点の座標値を測定している場合は、それぞれの平面において10個の法線ベクトルの単位ベクトル(平面aについて単位ベクトルA1m〜A10m、平面bについて単位ベクトルB1m〜B10m、平面eについて単位ベクトルE1m〜E10m、平面fについて単位ベクトルF1m〜F10n)が得られる。上記の値は記憶媒体に記憶される。その記憶媒体は、図1の非接触式の3次元形状測定装置20の3次元画像処理装置6にセットされ、この3次元画像処理装置6のメモリ内に上記の値が記憶される。
このように、本実施形態では、まず校正用物体10の基準平面(平面a,b,e,f)および基準形状(切り込み平面c1〜c10および切り込み平面g1〜g10)を接触式3次元形状測定装置20によって予め測定し、その測定結果から上記の(1)〜(6)の計算を行って、基準座標系上で基準平面および基準点(頂点d1〜d10および頂点h1〜h10)を定義している(基準定義ステップ)。よって、基準平面および基準点を基準座標系上に容易に定義することができる。また、校正用物体10は、基準座標系上で定義され得る2つの基準平面および、基準座標系上で定義され得る少なくとも一つの基準点を算出可能な基準形状を含む箇所(対応箇所)が1つの領域内で2つあるが、接触式3次元形状測定装置20は、一方向からしか測定できないために、一回の測定で一つの対応箇所のみの測定しかできない。このため、それぞれの対応箇所を接触式3次元形状測定装置20により個別に測定してそれぞれの対応箇所における基準平面の法線ベクトルの成分および基準点の座標値を計算し(S11,S12,S14:部分計測ステップ)、個別に計算した対応箇所ごとの基準平面の法線ベクトルの成分および基準点の座標値を基準座標系における値に座標変換するための基準座標変換関数を計算し(S15:基準座標変換関数計算ステップ)、計算した基準座標変換関数により各対応箇所における基準平面の法線ベクトルの成分および基準点の座標を座標変換している(S16:基準座標変換ステップ)。これにより、すべての対応箇所における基準平面の法線ベクトルの成分および基準点の座標値を一つの基準座標系上で定義することができる。
次に、図4のように校正用物体10を3次元形状測定装置1にセットし、この3次元形状測定装置1で校正用物体10の3次元形状を測定する。測定に用いる3次元形状測定装置1は図1に示すものと同一である。詳述すると、3次元形状測定装置1は、2つの測定ユニット1Rおよび1Lを有する。各測定ユニット1R,1Lは同一の構成態様である。測定ユニット1R(1L)は、平板状のベースプレート2R(2L)と、このベースプレート2R(2L)上に立設したガイド部3R(3L)を有する。ガイド部3R(3L)は、上下面および左右側面の4面が板材で形成され、前後面が筒抜けにされた上下に長細い形状とされている。このガイド部3R(3L)内には照射装置としての測定カメラ4R(4L)が配置している。図示しないが、測定カメラ4R(4L)は内部に少なくともレーザー光源、シリンドリカルレンズおよび受光センサを収容している。レーザー光源はレーザーを出射するものであり、レーザー光源から出射されたレーザー光はシリンドリカルレンズによりライン光にされる。また、受光センサは、ライン光が測定物に照射されたときにその照射部位における反射光を受光する。
また、ガイド部3R(3L)の左右側面を構成する長尺状の板材の内壁側にはガイドレールGRが長軸方向(上下方向)に沿って形成されている。測定カメラ4R(4L)は、ライン光が外部に照射可能となるようにこのガイドレールGRに嵌めこまれている。また、ガイド部3R(3L)の上部にはモータ5R(5L)が取り付けられている。このモータ5R(5L)の出力軸は、図示しないベルトなどの動力伝達手段により測定カメラ4R(4L)に連結している。よって、モータ5R(5L)の駆動により測定カメラ4R(4L)はガイドレールGRに沿ってガイド部3R(3L)の長軸方向(上下方向)に移動可能とされる。このような測定ユニットが本実施形態では2つ用意されており、校正用物体10を挟んで対称的に設置される。図4に示す測定ユニット1R,1Lの設置状態では、右側の測定ユニット1Rの測定カメラ4Rから照射されるライン光が校正用物体10の平面a,b,および切り込み平面cに照射され、左側の測定ユニット1Lの測定カメラ4Lから照射されるライン光が校正用物体10の平面e,fおよび切り込み平面gに照射される。つまり、校正用物体10の1つの区分領域内には、1つの測定カメラ4R(4L)から照射されるライン光の照射範囲あたりに、基準座標系上で定義される2つの基準平面(測定カメラ4Rについて平面a,b、測定カメラ4Lについて平面e、f)と、基準座標系上で1つの基準点(測定カメラ4Rについて頂点dn、測定カメラ4Lについて頂点hn)を定義可能な基準形状(測定カメラ4Rについて切り込み平面cn、測定カメラ4Lについて切り込み平面gn)が含まれる。
測定カメラ4R,4Lおよびモータ5R,5Lは、3次元画像処理装置6およびコントローラ7に電気的に接続されている。3次元画像処理装置6は、測定カメラ4R,4Lから受光情報が入力されるとともにモータ5R,5Lから測定カメラ4R,4Lの移動情報が入力され、これらの入力情報に基づいて行う演算結果を表示装置8に表示する。コントローラ7は、入力装置9から入力される入力指令に基づいて、測定カメラ4R,4Lおよびモータ5R,5Lを駆動制御するとともに、その制御情報を3次元画像処理装置6に出力する。
このような構成の3次元形状測定装置1において、作業者が入力装置9を介してコントローラ7に校正用物体10を測定する旨の指令を入力すると、コントローラ7は測定カメラ4R,4Lおよびモータ5R,5Lに駆動指令を出力する。これにより、測定カメラ4R,4Lは、校正用物体10の長軸方向に対して垂直な方向に拡がるライン光を校正用物体10に照射しながらガイドレールGRに沿ってガイド部3R,3Lの長軸方向(校正用物体10の長軸方向に沿った所定方向)に最下点から最上点(または最上点から最下点)まで移動する。これによりライン光が校正用物体10の長軸方向に亘って照射される。
校正用物体10に照射されたライン光の反射光は、各々の測定カメラ4R,4L内の受光センサにより受光される。受光センサにより検出された受光情報は逐次3次元画像処理装置6に入力され、3次元画像処理装置6は入力された受光情報から光切断法によってライン光の照射部位における複数箇所のX,Z座標値を算出する。光切断法の原理については公知であるので説明を省略する。また、モータ5R,5Lから得られる測定カメラ4R,4Lの移動情報から、ライン光の照射部位のY座標値が得られる。したがって、3次元画像処理装置6は、受光センサから得られる情報およびモータ5R,5Lから得られる情報に基づき、測定カメラ4R(4L)に定められるカメラ座標系におけるライン光照射部位の座標値を計算する。この座標値の計算は、校正用物体10の長軸方向に所定の微小間隔ごとに行われる。これによりカメラ座標系における校正用物体10の平面a,b,e,f、切り込み平面cn,gnを含む表面形状の座標値を示す点群データが校正用物体10の長軸方向に沿って順次求められる(第1座標値取得ステップ)。
また、測定カメラ4R,4Lが上方へ移動(または下方へ移動)してライン光が校正用物体10に形成されたラインBLを照射した場合、受光センサが受光する反射光量が急激に減少する。3次元画像処理装置6は、この反射光量の減少を検知した場合(具体的には反射光量が所定値以下となった場合)、そのときのモータ5R,5Lからの移動情報からY座標値を計算するとともに計算したY座標値を境界位置として検出および記憶し(移動位置検出ステップ)、それまでに算出した座標値の点群データを所定の記憶領域に格納し、新たに算出する座標値の点群データと区分けする。このような区分け処理は、ライン光がラインBLを照射するごとに行われる。これにより校正用物体10の3次元形状データ(点群データ)がラインBLで区分された領域ごとに別々に記憶される。本実施形態では校正用物体10を9本のラインBLで10分割しているため、それぞれの領域ごとに区分された10組の3次元形状データ(点群データ)が得られる。
また、上述したように、3次元形状測定装置1は、2つの測定ユニット1R,1Lが校正用物体10を挟んでほぼ対称位置となるように配設されている。これらの測定ユニット1R,1L内の測定カメラ4R,4Lでの測定による点群データがそれぞれ区分領域ごとに得られる。
次に、3次元画像処理装置6は、得られた各組ごとの3次元形状データを用い、図14に示すプログラムに従い以下の計算を行う。
(1)各平面a,b,c,e,f,gの平面方程式の計算
まず、3次元画像処理装置6は、図14のプログラムをステップS20にて開始し、ステップS21にて、各平面a,b,c,e,f,gの平面方程式を区分領域ごとに計算する(第1計算ステップ)。この場合において、右側の測定カメラ4Rでは平面a,b,cに属する点群データが測定され、左側の測定カメラ4Lでは平面e,f,gに属する点群データが測定されるので、平面aの平面方程式を計算するには、右側の測定カメラ4Rにより測定される点群データであって、対象とする区分領域から平面aに属すると思われる任意の範囲の点群データを抽出する。平面aに属すると思われる点群データは右側の測定カメラ4Rから見て右側に位置しているので、X座標値がカメラ座標系において右方寄り(例えばX座標値が所定値以下)であり、且つY座標値が境界位置で仕分けされた対象とする区分領域の範囲内である点群データを任意に抽出することにより、その区分領域において平面aに属すると思われる点群データを抽出することができる。
次に、抽出した点群データを平面方程式に代入し、最小二乗法により平面方程式の係数A,B,Cを計算する(平面方程式は、上記式1にて表される)。続いて、求めた平面方程式で表される平面と、その区分領域の全ての点群データとの距離を個々に計算する。ここで、平面方程式を求めるときに使用した点群データが全て平面aにおける点群データであれば、求めた平面方程式は平面aを表しているので、求めた平面との距離が所定距離(この所定距離は、平面を求めるために用いた点群データが平面上に位置しているかを識別する程度の微小距離である。)以下である点群データは多数存在する(この場合、平面aを表す点群データが、上記距離が上記所定距離以下の点群データとなる。)。しかし、平面方程式を求めるときに使用した点群データの中に平面aとは異なる平面(例えば平面bや平面c)における点群データが混じっている場合には、求めた平面方程式は平面aを正確に表していないものとなる。このような平面は、およそ校正用物体10の平面に合致した平面ではないので、求めた平面との距離が所定距離以下である点群データは僅かしか存在しない。
このようなことを考慮し、3次元画像処理装置6は、区分領域の全ての点群データと求めた平面との距離が所定距離以下の点群データの数が所定数未満である場合は、求めた平面方程式は平面aを表しているものではないと判断する。この場合は、前回点群データを抽出した領域に隣接する領域(具体的には前回抽出した領域よりも測定カメラ4Rから見て右側に隣接する領域)の点群データを再度抽出し、上記と同一の処理を行う。このような処理を、求めた平面との距離が所定距離以下の点群データの数が所定数以上となるまで繰り返し行う。そして、上記距離が所定距離以下の点群データの数が所定数以上となったときに、その所定距離以下の点群データを平面方程式に代入し、最小二乗法により平面方程式の係数A,B,Cを計算し、平面aの平面方程式を決定する。
平面bの平面方程式を計算するには、右側の測定カメラ4Rにより測定される点群データから、平面bに属すると思われる範囲の点群データを抽出する。この場合、右側の測定カメラ4Rから見て平面bに属すると思われる点群データは左側に位置しているので、X座標値がカメラ座標系において左方寄り(例えばX座標値が所定値以上)であり、且つY座標値が境界位置により仕分けされた対象とする区分領域の範囲内である点群データを任意に抽出することにより、平面bに属すると思われる点群データを抽出することができる。次に、抽出した点群データを平面方程式に代入し、最小二乗法により平面方程式の係数A,B,Cを計算する。続いて、求めた平面方程式で表される平面と、その区分領域で平面aの平面方程式の決定に使用しなかった点群データとの距離を計算し、同距離が所定以下の点群データの数をカウントし、その数が所定数以下の場合は点群データを抽出する領域を変えて(具体的には前回抽出した領域よりも測定カメラ4Lから見て左側に隣接する領域に変えて)点群データを再度抽出し、平面方程式を計算し直す。そして、再度求めた平面と、その区分領域で平面aの平面方程式の決定に使用しなかった点群データとの距離を計算し、上記と同一の処理を行う。このような処理を、求めた平面との距離が所定距離以下の点群データの数が所定数以上となるまで繰り返し行う。そして、上記距離が所定距離以下の点群データの数が所定数以上になったときに、その所定距離以下の点群データを平面方程式に代入し、最小二乗法により平面bの平面方程式を決定する。
平面cn(n=1〜10)の平面方程式を計算するには、右側の測定カメラ4Rにより測定される点群データから、平面cnに属すると思われる範囲の点群データを抽出する。この場合、区分領域ごとに、少なくとも長辺PL1の存在するx軸方向位置を含み、且つy軸方向がその区分領域において最下点(例えばその区分領域において最も小さいY座標値)を含むような領域を最初に選択する。次に、抽出した点群データを平面方程式に代入し、最小二乗法により平面方程式の係数A,B,Cを計算する。続いて、求めた平面方程式で表される平面と、その区分領域で平面a,bの平面方程式の決定に使用しなかった点群データとの距離を計算し、同距離が所定以下の点群データの数をカウントし、その数が所定数以下の場合は、点群データを抽出する領域を変えて(具体的には前回抽出した領域よりも測定カメラ4Rから見て上側に隣接する領域に変えて)点群データを抽出し、平面方程式を計算し直す。そして、再度求めた平面と、その区分領域で平面a,bの平面方程式の決定に使用しなかった点群データとの距離を計算し、上記と同一の処理を行う。このような処理を繰り返し行い、上記距離が所定以下の点群データの数が所定数以上になったときに、その所定距離以下の点群データを平面方程式に代入し、最小二乗法により平面cnの平面方程式を決定する。
一つの区分領域に対して以上の処理を行うことにより、一つの区分領域についての平面a,b,cの平面方程式を求めることができる。このような処理を各区分領域のそれぞれについて行い、全ての区分領域について平面a,b,cの平面方程式を求める。また、左側の測定カメラ4Lにおいても上記と同様な処理を行い、全ての区分領域について、平面e,f,gの平面方程式を求める。
(2)頂点の座標値の計算
上記(1)の処理によって、全ての区分領域における平面方程式が決定されたので、次に3次元画像処理装置6は、ステップS22に進み、これらの決定された平面方程式を用いて、切り込み平面c1〜c10と長辺PL1との交点である頂点d1〜d10の座標値、および、切り込み平面g1〜g10と長辺PL3との交点である頂点h1〜h10の座標値を求める(第2計算ステップ)。これらの頂点の座標値の具体的な計算方法については、前述の接触式3次元形状測定装置20にて測定した各平面の方程式から上記式2および上記式3を用いて頂点の座標値を計算する方法と同様であるので、具体的説明は省略する。
(3)平面の法線ベクトルの単位ベクトル成分の計算
次に、3次元画像処理装置6は、ステップS23にて、求めた平面の平面方程式から各平面の法線ベクトルの単位ベクトル成分を計算する(第2計算ステップ)。この単位ベクトル成分の計算方法は、前述の接触式3次元形状測定装置20で測定した各平面から上記式5〜式11を用いて各平面の法線ベクトルの単位ベクトル成分を計算する方法と同様であるので、具体的説明は省略する。なお、各平面の法線ベクトルの単位ベクトル成分は、全ての区分領域においてそれぞれ求める。
上記(1)〜(3)の処理により、3次元形状測定装置1で測定した点群データから以下の値が得られる。
・平面aの法線ベクトルの単位ベクトル成分:A1c〜A10c
・平面bの法線ベクトルの単位ベクトル成分:B1c〜B10c
・平面eの法線ベクトルの単位ベクトル成分:E1c〜E10c
・平面fの法線ベクトルの単位ベクトル成分:F1c〜F10c
・平面c1〜c10の法線ベクトルの単位ベクトル成分:C1c〜C10c
・平面g1〜g10の法線ベクトルの単位ベクトル成分:G1c〜G10c
・頂点d1〜d10の座標値:D1c〜D10c
・頂点h1〜h10の座標値:H1c〜H10c
これらの値は、測定カメラ4R,4Lのカメラ座標系における値である(添え字cは、カメラ座標系による値であることを示す。)。図5は、平面aの法線ベクトルの単位ベクトル成分A1c〜A10c、平面bの法線ベクトルの単位ベクトル成分B1c〜B10c、平面cの法線ベクトルの単位ベクトル成分C1c〜C10cおよび頂点D1c〜D10cを校正用物体10上で示した図である。
これまでの処理において、接触式3次元形状測定装置20による校正用物体10の測定結果から、基準座標系における校正用物体10の各平面の法線ベクトルの単位ベクトル成分、および、頂点の座標が算出されている。また3次元形状測定装置1による校正用物体10の測定結果から、カメラ座標系における校正用物体10の各平面の法線ベクトルの単位ベクトル成分、および頂点の座標が区分領域ごとに算出されている。したがって、基準座標系における校正用物体10の各平面の法線ベクトルの単位ベクトル成分および頂点の座標と、カメラ座標系における校正用物体10の各平面の法線ベクトルの単位ベクトル成分および頂点の座標とから、基準座標系とカメラ座標系との関係を表す座標変換関数を求めることができる。この場合において、校正用物体10の区分された領域ごとに座標変換関数を求めておけば、測定カメラ4R,4Lのカメラ座標系の座標軸が測定カメラ4R,4Lの移動とともに変動しても、各区分領域ごとにその区分領域に対応する座標変換関数でその区分領域内の点群データを座標変換することによりカメラ座標系の座標軸の変動の影響を抑制することができ、測定カメラ4R,4Lの移動方向(長軸方向)に亘って精度の高い3次元形状データを得ることができる。このような区分領域ごとの座標変換関数は、以下のように求められる。
3次元画像処理装置6は、図14のステップS24にて、区分領域ごとに座標変換関数を計算する(座標変換関数計算ステップ、第3計算ステップ)。この場合、各区分領域について、右側の測定カメラ4Rにおけるカメラ座標系による座標値を基準座標系による座標値に変換する座標変換関数と、左側の測定カメラ4Lにおけるカメラ座標系による座標値を基準座標系による座標値に変換する座標変換関数は、別々に求められる。いま、図3に示す校正用物体10において、下からn番目(n=1〜10)の区分領域nに着目し、この区分領域nにおける右側の測定カメラ4Rでの測定により求められた平面aの法線ベクトルの単位ベクトルをAn(αa,βa,γa)とし、平面bの法線ベクトルの単位ベクトルをBn(αb,βb,γb)とし、平面cの法線ベクトルの単位ベクトルをCn(αc,βc,γc)とし、頂点dnの座標値をDn(Xd,Yd,Zd)とする。また、基準座標系における平面aの法線ベクトルの単位ベクトルをAn’(αa’,βa’,γa’)とし、平面bの法線ベクトルの単位ベクトルをBn’(αb’,βb’,γb’)とし、平面cの法線ベクトルの単位ベクトルをCn’(αc’,βc’,γc’)とし、頂点dnの座標値をDn’(Xd’,Yd’,Zd’)とする。
単位ベクトルAn(αa,βa,γa)は求めるべき座標変換関数によって座標変換された場合にAn’(αa’,βa’,γa’)に、単位ベクトルBn(αb,βb,γb)はBn’(αb’,βb’,γb’)に、単位ベクトルCn(αc,βc,γc)はCn’(αc’,βc’,γc’)にそれぞれ変換される。また、頂点Dn(Xd,Yd,Zd)はDn’(Xd’,Yd’,Zd’)に変換される。
単位ベクトルの座標変換は、下記式23により表される。
また、頂点Dnの座標変換は、下記式24により表される。
上記式23を、それぞれの平面a,b,cにおける法線ベクトルの単位ベクトルについての座標変換の式とすると、下記式25〜式27のように表される。
式25〜式27から、下記式28〜式30の連立方程式が得られる。
上記式28を解くことによりg11,g12,g13を求めることができ、上記式29を解くことによりg21,g22,g23を求めることができ、上記式30を解くことによりg31,g32,g33を求めることができる。
また、上記式24から、下記式31に示す3つの式が成立する。
上記式31において、g11,g12,g13,g21,g22,g23,g31,g32,g33は、上記式28〜式30の連立方程式を解くことにより求められているので、これらに代入することにより、上記式31のそれぞれにおける未知数はa,b,cのみとなる。したがって、それぞれの式を解くことにより、a,b,cを求めることができる。
以上の計算により、座標変換関数を求めることができる。また、左側の測定カメラ4Lにおいても上記と同じ計算を行って、座標変換関数を求める。なお、上記の座標変換関数の計算、特に回転行列を求めるときの計算においては、測定カメラ4R,4Lの移動において測定カメラのx,z座標軸の変動が小さければ、切り込み平面c,gの法線ベクトル以外の2つの法線ベクトルの外積により計算したベクトルを、切り込み平面の法線ベクトルの代わりに使用して計算してもよい。
このような座標変換関数の計算は、それぞれの測定カメラ4R,4Lごとに、且つ区分領域ごとに行われるため、右側の測定カメラ4Rのカメラ座標系については区分領域ごとの10個の座標変換関数Mc1−1〜Mc1−10が、左側の測定カメラ4Lのカメラ座標系については区分領域ごとの10個の座標変換関数Mc2−1〜Mc2−10が、それぞれ得られる。これらの得られた座標変換関数は、3次元画像処理装置6に記憶される。そして、ステップS25にてこのプログラムの実行を終了する。
次に、図1に示すように測定対象物OBを3次元形状測定装置1にセットし、測定対象物OBの3次元形状の測定を行う。このとき測定カメラ4R,4Lは校正用物体10を測定したときと同様に、測定対象物OBの長軸に対して垂直な方向に拡がるライン光を測定対象物OBに照射しながらガイド部3R,3Lに沿って測定対象物OBの長軸方向に沿った図示上下方向に移動し、その反射光を受光する。そして、3次元画像処理装置6は測定カメラ4R,4Lから入力された反射光の情報およびモータ5R,5Lから入力された移動情報から測定対象物OBの表面形状のカメラ座標系における座標値を表す点群データを取得する(第2座標値取得ステップ)。
次に、3次元画像処理装置6は、得られた点群データを分類分けする。この場合において、3次元画像処理装置6は、校正用物体10を3次元形状測定装置1により測定したときに、測定カメラ4R,4Lから照射されるライン光が校正用物体10のラインBLを照射したときのY座標値を境界位置として記憶している。よって、この記憶されたY座標値を測定対象物OBにおける境界位置としても用い、測定カメラ4R,4Lがモータ5R,5Lの駆動により移動して記憶したY座標値に達するごとに、それまでに得た点群データを別の記憶領域に格納する。このようにして記憶した点群データを、校正用物体10の区分領域(本実施形態では10の区分領域)に対応付けて分類分けする。
そして、得られたそれぞれの測定カメラ4R,4Lにおける10組の点群データを、3次元画像処理装置6に記憶されている座標変換関数Mc1−1〜Mc1−10,Mc2−1〜Mc2−10であってそれぞれの区分領域に対応する座標変換関数を用いて座標変換する(座標変換ステップ)。これにより測定対象物の3次元形状を1つの座標系(基準座標系)による点群データで表したデータを得ることができる。この場合、カメラ座標系の座標軸が測定カメラ4R,4Lの移動とともに変動しても、細かく区分された領域ごとに座標変換することによってカメラ座標系の座標軸の変動の影響を抑制することができる。よって、非常に精度の高い3次元形状データを得ることができる。
その後、同一箇所において複数の点群データが存在する箇所は平均化の処理を行い、死角となって点群データが存在しない箇所はその周りの点群データの値を用いて補完処理を行う。そして、点群データからポリゴンデータを作成し、さらに画像処理を施して測定対象物OBの形状を表示装置8に表示する。
本実施形態の方法によって校正用物体10を測定し、カメラ座標系を基準座標系に座標変換するための座標変換関数を取得しておけば、長時間測定対象物OBを繰り返し測定することが可能である。また、経時的に測定カメラ4R,4Lの取り付け状態などが変化することなどを考慮して、定期的に校正用物体10を測定して座標変換関数を更新することにより、より長期間精度の良い3次元測定を行うことができる。また、校正用物体10は、損傷しない限り、高精度の接触式3次元形状測定装置で再測定することを要しない。
本実施形態の方法によれば、基準座標系への座標変換を3次元形状測定装置1の移動方向における領域ごとに分割して行っているので、カメラ座標系の座標軸が測定カメラ4R,4Lの移動とともに変動しても測定精度の高い3次元形状データを得ることができる。
なお、本発明は、様々な変形が可能である。上記実施形態においては、測定カメラを2台用い、校正用物体10の切り込み箇所(切り込み平面cn,gn)を角柱の2つの長辺PL1,PL3に沿って形成したが、測定カメラを3台以上にして、それに応じて校正用物体10の角柱の側面の面数や切り込み箇所を変更してもよい。例えば4方向から測定カメラを用いて3次元形状測定を行う場合には、校正用物体10を図8に示したような全ての長辺に切り込み平面を形成した四角柱形状とし、各長辺に対向する方向から4台の測定カメラで校正用物体10を測定すればよい。また、測定カメラが1台の場合でも本発明は適用可能である。いずれの場合も測定カメラから見て2つ以上の平面(基準平面)があり、切り込み平面の頂点のような定点定義が可能な形状(基準点)が所定間隔ごとに形成されていれば、本発明を適用することができる。
また、上記実施形態においては、校正用物体10における基準点の定義が可能な基準形状として2つの平面に切り込みを入れた形状(切り込み平面)を用いたが、これに限らず定点定義可能な形状であればどのような形状を用いてもよい。例えば図9に示すように、校正用物体10に定点定義が可能な基準形状として球体pn(n=1〜10)を含めるような形状にしてもよい。この場合は領域ごとに2つのベクトルと球体pnの中心座標として1つの定点座標が求められるため、座標変換関数の計算においては、2つのベクトルの外積によるベクトルを想定して計算を行えばよい。
なお、図9に示すような校正用物体10を使用する場合、基準座標系による基準点の座標値(球体pnの中心座標値)を求めるためには、まず接触式3次元形状測定装置20で各球体pnの少なくとも4点を測定し、その座標値を球面方程式(式4)に代入して連立方程式を解いて各球体pnの中心座標値を求める。この中心座標値を基準座標系による値に座標変換することにより、基準座標系における基準点の座標値が得られる。一方、カメラ座標系による基準点の座標値(球体pnの中心座標値)を求めるためには、3次元形状測定装置1で対応する区分に属する点群データを取得し、その区分領域に属する点群データのうち2つの基準平面の方程式の決定に使用されなかった点群データを球面方程式に代入し、最小二乗法により未知数を決定して球面方程式を求める。そして、球面方程式の計算に用いた点群データと求められた球面方程式の中心座標値との距離を計算し、この距離と球体pnの半径との差が所定距離以下である点群データのみを抽出し、抽出された点群データを用いて再度球面方程式に代入し、最小二乗法により未知数を決定して球面方程式を求める。求めた球面方程式の係数から、カメラ座標系による球体の中心座標値を求めることができる。
また、基準形状は、切り込み平面や図9に示すような球体に限らず、角柱、角錐、円柱、円錐のように定点の定義が可能な形状、あるいは定点の定義が可能なマーク、図形などであってもよい。また屋根のように2つの平面に対して1つの平面を飛び出させた形状であってもよい。つまり、基準形状は、基準点を導き出せるような形状であれば、どのような形状でもよい。そして、このような基準形状から、基準点を導くための式(基準点に関する式または基準点に特有の式)、例えば基準形状が切り込み平面であれば平面方程式、基準形状が球体であれば球面方程式を求め、求めた基準点に関する式から基準点の座標値が計算される。
また、上記実施形態においては、校正用物体10に黒いラインBLを形成して反射光量をその他の表面よりも低くするようにして区分領域の境界を形成したが、反射光量により区分領域を識別できるものであれば、様々な方法が適用できる。例えば細長いミラーを取り付けて反射光量を大きくして区分領域を識別するようにしてもよいし、細長い溝を形成して乱反射することにより反射光量を低くして区分領域を識別するようにしてもよい。さらに、区分領域の境界部分の面粗度を粗くして反射光量が低くなるようにしてもよい。
また、上記実施形態では基準点(頂点)を定義可能な基準形状を測定カメラの移動方向に沿って10個作成したが、この数は適宜変更可能である。測定カメラの移動による向きの変動が大きい場合は多くすればよいし、小さい場合は少なくすればよい。
また、上記実施形態では1つの測定カメラで2つの平面(基準平面)を測定できるようにしたが、3つ以上の平面(基準平面)が測定できるようにしてもよい。この場合は切り込み平面と合わせて法線ベクトルが4つ以上算出されるため、座標変換関数を求めるにあたり、3つの法線ベクトルの組み合わせを複数個作り、それぞれの組み合わせで座標変換関数を計算し、それらを平均して最も精度の高い座標変換関数を決定すればよい。
また、上記実施形態では、校正用物体10にベクトル成分(基準平面)や座標値(基準点)を定義する際に、校正用物体10を3回向きを変えて測定したが、校正用物体10が非常に長く、1つの向きにおいて高精度の3次元形状測定装置ですべての平面や基準物体としての球体(例えば半球体k1〜k6)を測定できない場合は、校正用物体の長軸方向位置を変えて測定すればよい。このとき位置を変える前と後で3つ以上の共通の平面または基準物体を測定しておけば座標変換関数が計算でき、測定点の座標値を同一の座標系による座標値にすることができる。
また、上記実施形態では校正用物体10に基準座標系による値を定義するための基準物体として、2つの平面にそれぞれ3つの球体を含めるようにしたが、4つ以上含めてもよい。この場合、座標変換関数の計算は、3つの球体の組み合わせを複数個作り、それぞれの組み合わせで座標変換関数を計算し、それらを平均して最も精度の高い座標変換関数を計算すればよい。
1…3次元形状測定装置、1R,1L…測定ユニット、2R,2L…ベースプレート、3R,3L…ガイド部、4R,4L…測定カメラ(照射装置)、5R,5L…モータ、6…3次元画像処理装置、7…コントローラ、8…表示装置、9…入力装置、10…校正用物体、20…接触式3次元形状測定装置、21…測定部、22…コントローラ、23…座標計算処理装置、24…入力装置、25…表示装置、26…ベース、27…治具、28…プローブ、a,b,e,f…平面(基準平面)、cn,gn…切り込み平面(基準形状)、dn,hn…頂点(基準点)