(57)【要約】【課題】  ステージを回転軸周りに回転させながら３次元形状測定を行う場合に、３次元カメラの位置を異ならせても効率の悪化を防ぐ。【解決手段】  コントローラ３０は、第１のカメラ位置に配置した３次元カメラ２０の測定により取得したステージ１０の定点の座標又はベクトルの成分を記憶しておく。コントローラ３０は、第１のカメラ位置と異なる第２のカメラ位置に配置した３次元カメラ２０の測定により取得したステージ１０の定点の座標又はベクトルの成分と、前記記憶しておいたステージ１０の定点の座標又はベクトルの成分とを用いて、第２のカメラ位置で３次元カメラ２０により測定した３次元形状を表す３次元データを、第１のカメラ位置で３次元カメラ２０により測定した３次元形状を表す３次元データに座標変換するためのカメラ座標変換係数を取得する。【選択図】  図１
2011242139.tif 000002
【特許請求の範囲】
【請求項１】
回転軸周りに回転可能であって座標変換係数を計算するための定点又はベクトルを定義可能なステージと、
前記ステージ上に載置した物体の３次元形状を測定する３次元カメラと、
前記３次元カメラで測定した３次元形状を表す３次元データを処理する処理装置とからなり、
前記処理装置に、
第１のカメラ位置に配置した前記３次元カメラの測定により取得した前記ステージの定点又はベクトルを用いて、前記ステージを基準位置から回転させた状態で前記３次元カメラにより測定した３次元形状を表す３次元データを、前記ステージが基準位置にある状態で前記３次元カメラにより測定した３次元形状を表す基準座標系の３次元データに変換するための回転座標変換係数を複数の回転角度ごとに取得して記憶しておく回転座標変換係数取得手段と、
前記ステージを基準位置から回転させた状態で前記３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、前記回転座標変換係数を用いて、前記基準座標系の３次元データに変換する回転座標変換手段とを設けて、
前記ステージを回転させることによって異なる視点から測定した測定対象物の３次元データを、前記基準座標系の３次元データに合成する３次元形状測定装置において、
前記処理装置に、さらに
前記第１のカメラ位置に配置した前記３次元カメラの測定により取得した前記ステージの定点の座標又はベクトルの成分を記憶しておく定点・ベクトル記憶手段と、
前記第１のカメラ位置と異なる第２のカメラ位置に配置した前記３次元カメラの測定により取得した前記ステージの定点の座標又はベクトルの成分と、前記定点・ベクトル記憶手段によって記憶されているステージの定点の座標又はベクトルの成分とを用いて、前記第２のカメラ位置で前記３次元カメラにより測定した３次元形状を表す３次元データを、前記第１のカメラ位置で前記３次元カメラにより測定した３次元形状を表す３次元データに座標変換するためのカメラ座標変換係数を取得するカメラ座標変換係数取得手段と、
前記第２のカメラ位置で前記３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、前記カメラ座標変換係数を用いて、前記第１のカメラ位置で前記３次元カメラにより測定した測定対象物の３次元形状を表す３次元データに変換するカメラ座標変換手段とを設けたことを特徴とする３次元形状測定装置。
【請求項２】
前記定点・ベクトル記憶手段は、前記回転座標変換係数取得手段による回転座標変換係数の取得に連動して前記ステージの定点の座標又はベクトルの成分を記憶することを特徴とする請求項１に記載の３次元形状測定装置。
【請求項３】
前記ステージは、２つ以上の回転軸周りに回転可能であり、
前記回転座標変換係数は、前記２つ以上の回転軸ごとに取得されて記憶されていることを特徴とする請求項１又は２に記載の３次元形状測定装置。
【請求項４】
前記ステージに定義される定点又はベクトルは、前記ステージに対して一定の位置に定点又は一定の方向にベクトルを定義可能な物体を前記ステージに装着することで得られることを特徴とする請求項１乃至３のうちのいずれか一つに記載の３次元形状測定装置。
【請求項５】
前記ステージに定義される定点又はベクトルは、前記ステージの形状における頂点又は平面の法線ベクトルであることを特徴とする請求項１乃至３のうちのいずれか一つに記載の３次元形状測定装置。
【請求項６】
前記ステージに定義される定点又はベクトルは、前記ステージに描かれた模様から定まる点又は直線部分であることを特徴とする請求項１乃至３のうちのいずれか一つに記載の３次元形状測定装置。
【請求項７】
回転軸周りに回転可能であって座標変換係数を計算するための定点又はベクトルを定義可能なステージと、前記ステージ上に載置した物体の３次元形状を測定する３次元カメラとからなる３次元形状測定装置に適用され、
第１のカメラ位置に配置した前記３次元カメラの測定により取得した前記ステージの定点又はベクトルを用いて、前記ステージを基準位置から回転させた状態で前記３次元カメラにより測定した３次元形状を表す３次元データを、前記ステージが基準位置にある状態で前記３次元カメラにより測定した３次元形状を表す基準座標系の３次元データに変換するための回転座標変換係数を複数の回転角度ごとに取得して記憶しておき、
前記ステージを基準位置から回転させた状態で前記３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、前記回転座標変換係数を用いて、前記基準座標系の３次元データに変換して、前記ステージを回転させることによって異なる視点から測定した測定対象物の３次元データを、前記基準座標系の３次元データに合成する３次元形状測定方法において、
前記第１のカメラ位置に配置した前記３次元カメラの測定により取得した前記ステージの定点の座標又はベクトルの成分を記憶しておき、
前記第１のカメラ位置と異なる第２のカメラ位置に配置した前記３次元カメラの測定により取得した前記ステージの定点の座標又はベクトルの成分と、前記記憶しておいたステージの定点の座標又はベクトルの成分とを用いて、前記第２のカメラ位置で前記３次元カメラにより測定した３次元形状を表す３次元データを、前記第１のカメラ位置で前記３次元カメラにより測定した３次元形状を表す３次元データに座標変換するためのカメラ座標変換係数を取得し、
前記第２のカメラ位置で前記３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、前記カメラ座標変換係数を用いて、前記第１のカメラ位置で前記３次元カメラにより測定した測定対象物の３次元形状を表す３次元データに変換するようにしたことを特徴とする３次元形状測定方法。
【請求項８】
前記ステージの定点の座標又はベクトルの成分の記憶は、前記回転座標変換係数の取得に連動して行われることを特徴とする請求項７に記載の３次元形状測定装置。
【請求項９】
前記ステージは、２つ以上の回転軸周りに回転可能であり、
前記回転座標変換係数は、前記２つ以上の回転軸ごとに取得して記憶しておくことを特徴とする請求項７又は８に記載の３次元形状測定方法。
【請求項１０】
前記ステージに定義される定点又はベクトルは、前記ステージに対して一定の位置に定点又は一定の方向にベクトルを定義可能な物体を前記ステージに装着することで得られることを特徴とする請求項７乃至９のうちのいずれか一つに記載の３次元形状測定方法。
【請求項１１】
前記ステージに定義される定点又はベクトルは、前記ステージの形状における頂点又は平面の法線ベクトルであることを特徴とする請求項７乃至９のうちのいずれか一つに記載の３次元形状測定方法。
【請求項１２】
前記ステージに定義される定点又はベクトルは、前記ステージに描かれた模様から定まる点又は直線部分であることを特徴とする請求項７乃至９のうちのいずれか一つに記載の３次元形状測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象物を回転するステージに載置し、ステージを回転させながら３次元形状を測定することで測定対象物の全方向における３次元形状を取得可能な３次元形状測定装置及び３次元形状測定方法に関する。
【背景技術】
【０００２】
測定対象物に３次元カメラから光を照射して３次元形状を測定する方法には様々な方法があるが、測定可能な箇所は測定対象物に光が照射される箇所のみである。測定対象物の全方向における３次元形状を測定するためには、３次元カメラ又は測定対象物を移動させて測定対象物を様々な方向から測定する必要があり、その方法にも様々な方法がある。その方法の一つとして、例えば下記特許文献１に示されているように、回転するステージに測定対象物を載置し、ステージを回転させながら３次元形状を測定する方法がある。
【０００３】
この方法においては、ステージから見ると、３次元カメラが回転していることになるため、予め設定したステージの回転角度ごとに座標系が異なっており、各回転角度ごとの３次元データを、設定した回転角度における座標系（基準座標系）の３次元データに変換するための座標変換係数を各回転角度ごとに取得して記憶しておき、各回転角度で取得した３次元データをこの座標変換係数で変換して全ての３次元データを１つの座標系におけるデータとしている。そして、下記特許文献１に示される方法では、定点を有する基準物体をステージに載置して各回転角度ごとに基準物体の３次元形状を測定し、３つ以上の定点座標を取得することで前記座標変換係数を計算している。この特許文献１に示された方法は、回転軸がステージの平面の法線方向の１つしかなく、上部や下部が複雑な構造をしている測定対象物については全方向における３次元形状が測定できないことがある。
【０００４】
これに対し、下記特許文献２に示された３次元形状測定では、第１回転ステージ上に同第１回転ステージとは回転軸の異なる第２回転ステージを載置し、第２回転ステージ上に測定対象物を載置して、第１及び第２回転ステージを回転させながら、すなわち異なる２つの回転軸周りに測定対象物を回転させて、測定対象物の３次元形状を測定している。これにより、複雑な構造の測定対象物でも全方向における３次元形状を測定可能としている。この特許文献２に示された方法においても、３次元データの座標変換は必要であり、座標変換係数は各回転軸の各回転角度ごとに取得する必要がある。この特許文献２に示された方法では、各回転軸の基準座標系における位置を検出することで、各回転軸の各回転角度ごとの座標変換係数を取得している。また、この方法においても、特許文献１に示されているように、定点を有する基準物体を各回転軸の各回転角度ごとに３次元形状を測定し、３つ以上の定点座標を取得することで各回転軸の各回転角度ごとの座標変換係数を計算することもできる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３２８０１４号公報
【特許文献２】特表２０００−５０９５０５号公報
【発明の概要】
【０００６】
ステージの各回転角度ごとの座標変換係数は、ステージに対する３次元カメラの位置が変化しなければ一定であるので、一度算出すればよい。しかし、頻繁にステージに対する３次元カメラの位置を変化させるような場合は、その都度ステージの各回転角度ごとの座標変換係数を取得する必要があり、測定の効率が悪くなる。そして、特許文献２に示されているように、ステージに２つの回転軸が設けられている場合は、測定の効率がさらに悪くなる。
【０００７】
本発明は、上記問題に対処するためになされたもので、その目的は、ステージ上に測定対象物を載置してステージを回転させながら測定対象物の３次元形状を測定するとともに、３次元カメラの位置をステージに対して変化させても、効率よく測定対象物の３次元形状を測定できるようにした３次元形状測定装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
【０００８】
上記目的を達成するために、本発明の特徴は、回転軸周りに回転可能であって座標変換係数を計算するための定点又はベクトルを定義可能なステージ（１０）と、ステージ上に載置した物体の３次元形状を測定する３次元カメラ（２０）と、３次元カメラで測定した３次元形状を表す３次元データを処理する処理装置（３０，４０）とからなり、処理装置に、第１のカメラ位置に配置した３次元カメラの測定により取得したステージの定点又はベクトルを用いて、ステージを基準位置から回転させた状態で３次元カメラにより測定した３次元形状を表す３次元データを、ステージが基準位置にある状態で３次元カメラにより測定した３次元形状を表す基準座標系の３次元データに変換するための回転座標変換係数を複数の回転角度ごとに取得して記憶しておく回転座標変換係数取得手段（図４Ａ及び図４Ｂの座標変換係数設定プログラム）と、ステージを基準位置から回転させた状態で３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、回転座標変換係数を用いて、基準座標系の３次元データに変換する回転座標変換手段（図８のステップＳ４０２〜Ｓ４１２，Ｓ４１８〜Ｓ４２２）とを設けて、ステージを回転させることによって異なる視点から測定した測定対象物の３次元データを、基準座標系の３次元データに合成する３次元形状測定装置において、処理装置に、さらに、第１のカメラ位置に配置した３次元カメラの測定により取得したステージの定点の座標又はベクトルの成分を記憶しておく定点・ベクトル記憶手段（図４ＡのステップＳ１０６）と、第１のカメラ位置と異なる第２のカメラ位置に配置した３次元カメラの測定により取得したステージの定点の座標又はベクトルの成分と、定点・ベクトル記憶手段によって記憶されているステージの定点の座標又はベクトルの成分とを用いて、第２のカメラ位置で３次元カメラにより測定した３次元形状を表す３次元データを、第１のカメラ位置で３次元カメラにより測定した３次元形状を表す３次元データに座標変換するためのカメラ座標変換係数を取得するカメラ座標変換係数取得手段（図７のステップＳ３１０〜Ｓ３１４）と、第２のカメラ位置で３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、カメラ座標変換係数を用いて、第１のカメラ位置で３次元カメラにより測定した測定対象物の３次元形状を表す３次元データに変換するカメラ座標変換手段（図８のステップＳ４１６）とを設けたことにある。
【０００９】
この場合、定点・ベクトル記憶手段は、回転座標変換係数取得手段による回転座標変換係数の取得に連動してステージの定点の座標又はベクトルの成分を記憶するとよい。
【００１０】
上記のように構成した本発明においては、カメラ座標変換手段が、第２のカメラ位置で３次元カメラにより測定した測定対象物の３次元形状を表す３次元データを、カメラ座標変換係数取得手段により取得されたカメラ座標変換係数を用いて、第１のカメラ位置で３次元カメラにより測定した測定対象物の３次元形状を表す３次元データに変換する。そして、このカメラ座標変換手段によって変換された３次元データを、回転座標変換係数を用いた回転座標変換手段により基準座標系の３次元データに変換すれば、第２のカメラ位置でステージを回転させながら測定して測定対象物の３次元データを基準座標系の３次元データに変換できる。したがって、ステージに対する３次元カメラの位置を変化させても、ステージに定義した定点の座標又はベクトルの成分を取得するための測定を１回行うのみで、回転角度ごとの座標変換係数を得た場合と同様に３次元形状測定が可能であり、測定の効率が良好に保たれる。
【００１１】
また、本発明の他の特徴は、ステージは、２つ以上の回転軸周りに回転可能であり、回転座標変換係数は、２つ以上の回転軸ごとに取得されて記憶されていることにある。これによれば、ステージが２つ以上の回転軸周りに回転可能である場合でも、ステージに定義した定点の座標又はベクトルの成分を取得するための測定を１回行えばよいので、各回転軸ごとに各回転角度ごとの座標変換係数を取得する必要がなくなる分、さらに効率的である。
【００１２】
また、本発明の他の特徴は、ステージに定義される定点又はベクトルは、ステージに対して一定の位置に定点又は一定の方向にベクトルを定義可能な物体をステージに装着することで得られることにある。これによれば、例えばステージに装着孔又はネジ孔などを作成し、ステージに定義した定点の座標又はベクトルの成分を取得するための測定を行うときだけ、ステージに定点又はベクトルを定義可能な物体を取り付ければよいので、ステージに測定対象物を載置する際に邪魔にならない。
【００１３】
また、本発明の他の特徴は、ステージに定義される定点又はベクトルは、ステージの形状における頂点又は平面の法線ベクトルであることにある。これによれば、ステージに定義される定点座標又はベクトルの成分を取得する際、ステージをそのまま測定すればよいので、さらに効率がよい。
【００１４】
また、本発明の他の特徴は、ステージに定義される定点又はベクトルは、ステージに描かれた模様から定まる点又は直線部分であることにある。これによっても、ステージに定義される定点座標又はベクトルの成分を取得する際、ステージをそのまま測定すればよいので効率がよい。
【００１５】
さらに、本発明の実施にあたっては、本発明は、３次元形状測定装置の発明に限定されることなく、３次元形状測定方法の発明としても実施し得るものである。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用された３次元形状測定システムの全体概略図である。
【図２】ステージに真球をセットするときの様子をステージの断面方向から見た図である。
【図３】各回転軸の各回転角度ごとの座標変換係数を取得するときの様子を示す図である。
【図４Ａ】コントローラにより実行される座標変換係数設定プログラムの前半部分を示すフローチャートである。
【図４Ｂ】コントローラにより実行される座標変換係数設定プログラムの後半部分を示すフローチャートである。
【図５】図４Ａの基準定点座標取得ルーチンの詳細を示すフローチャートである。
【図６】図４Ａ、図４Ｂ及び図７の座標変換係数取得ルーチンの詳細を示すフローチャートである。
【図７】コントローラにより実行される対象物測定プログラムを示すフローチャートである。
【図８】データ処理装置により実行される画像データ生成プログラムを示すフローチャートである。
【図９】ステージに対する３次元カメラの位置を変えたときの座標系の関係を示す図である。
【図１０】ステージに定点やベクトルを定義するときの方法を示す図である。
【図１１】各回転軸の位置を検出するときの様子を示す図である。
【発明を実施するための形態】
【００１７】
ａ．ハード構成
以下、本発明の一実施形態について図面を用いて説明する。図１は、本発明の一実施形態に係る３次元形状測定システムの全体概略図である。３次元形状測定システムは、ステージ１０に載置された測定対象物ＯＢの３次元形状を測定する３次元カメラ２０を有する。
【００１８】
ステージ１０は、円盤状に形成されて、測定対象物ＯＢを載置するための平らな上面を有する。ステージ１０の上面の外周近傍の３箇所には、真球をセットするための３つ穴１０ａ，１０ｂ，１０ｃが設けられている。測定対象物ＯＢを測定するときは、これらの穴１０ａ，１０ｂ，１０ｃには何もセットされないが、後述する座標変換係数を取得するための測定の際には、これらの穴１０ａ，１０ｂ，１０ｃには径の異なる真球１１ａ，１１ｂ，１１ｃがセットされる。真球１１ａ，１１ｂ，１１ｃには円柱状の棒が取り付けられており、円柱状の棒を穴１０ａ，１０ｂ，１０ｃに差し込むことにより、真球１１ａ，１１ｂ，１１ｃがステージ１０の上面上にセットされる。図２は、この棒付きの真球１１ａ（１１ｂ，１１ｃ）を穴１０ａ（１０ｂ，１０ｃ）に差し込む様子を断面方向から見た図である。穴１０ａ，１０ｂ，１０ｃの径はそれぞれ少量ずつ異なっており、また真球１１ａ，１１ｂ，１１ｃに付けられた棒の径も穴１０ａ，１０ｂ，１０ｃに合うようにそれぞれ少量ずつ異なっている。したがって、ステージ１０の定まった位置に定まった径の真球１１ａ，１１ｂ，１１ｃがセットされるようになっている。なお、穴１０ａ，１０ｂ，１０ｃ及び真球１１ａ，１１ｂ，１１ｃに設けた棒にはネジが切られていて、真球１１ａ，１１ｂ，１１ｃに設けた棒が穴１０ａ，１０ｂ，１０ｃにねじ込まれてセットされるようにしてもよい。
【００１９】
ステージ１０は、プレート１２，１３，１４，１５からなるステージ支持装置により支持され、このステージ支持装置にはモータ１６，１７，１８が組み付けられている。プレート１２はプレート１３を回転軸Ａ周りに回転可能に支持しており、モータ１６は、その回転により、プレート１３，１４，１５及びステージ１０を一体的に回転軸Ａ周りに基準位置（回転角度０度）から所定範囲だけ正負に回転させる。プレート１４はプレート１５を回転軸Ｂ周りに回転可能に支持しており、モータ１７は、その回転により、プレート１５及びステージ１０を一体的に回転軸Ｂ周りに基準位置（回転角度０度）から所定範囲だけ正負に回転させる。プレート１５はモータ１８を固定支持しており、モータ１８は、その回転により、ステージ１０を回転軸Ｃ周りに基準位置（回転角度０）から正負に自由な角度だけ回転させる。モータ１６，１７，１８内には回転角センサが内蔵されており、回転角センサはステージ１０の各回転軸Ａ，Ｂ，Ｃ周りの回転角を出力する。なお、回転軸Ａ，Ｂ，Ｃは互いに直交している。
【００２０】
３次元カメラ２０は、移動可能な支持装置２１に、変位可能かつ回転可能に組み付けられて固定されている。そして、３次元カメラ２０は、測定対象物ＯＢ及び真球１１ａ，１１ｂ，１１ｃの３次元表面形状を測定して、測定結果を表す３次元データを出力する。この３次元カメラ２０としては、測定対象物ＯＢ及び真球１１ａ，１１ｂ，１１ｃの３次元表面形状を測定するとともに同測定した３次元表面形状を表す３次元データを出力するものであれば、いかなる３次元カメラをも利用できる。本実施形態においては、レーザ光を用いて３角測量法に従って物体の３次元表面形状を測定するものを簡単に紹介しておく。
【００２１】
この３次元カメラ２０においては、レーザ光源から物体に向けて出射されるレーザ光の進行方向にほぼ垂直な仮想平面を想定するとともに、同仮想平面上にて互いに直交するＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアを想定する。そして、３次元カメラ２０は、前記多数の微小エリアにレーザ光を順次照射し、物体からの散乱光によって前記微小エリアが規定する物体表面までの距離をＺ軸方向距離として順次検出して、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報を得て、３次元カメラ２０に面した物体表面の形状を測定するものである。
【００２２】
したがって、この３次元カメラは、出射レーザ光の向きをＸ軸方向に変化させるＸ軸方向走査器と、出射レーザ光の向きをＹ軸方向に変化させるＹ軸方向走査器と、物体表面にて反射された反射レーザ光を受光して物体表面までの距離を検出する距離検出器とを備えている。Ｘ軸方向走査器およびＹ軸方向走査器としては、レーザ光源からの出射レーザ光の光路をＸ軸方向およびＹ軸方向に独立に変化させ得る機構であればよく、例えばレーザ光源自体をＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させたり、出射レーザ光の光路に設けられてその方向を変更するガルバノミラーをＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させる機構を利用できる。距離検出器としては、前記出射レーザ光の光路に追従して回転し、物体表面にて反射（散乱）された反射レーザ光（散乱光）を集光する結像レンズおよび同集光したレーザ光を受光するＣＣＤなどの複数の受光素子を一列に配置させたラインセンサからなり、ラインセンサによる反射レーザ光の受光位置によって物体表面までの距離を検出する機構を利用できる。
【００２３】
したがって、このような３次元カメラ２０は、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報として、Ｘ軸方向走査器による出射レーザ光の基準方向に対するＸ軸方向への傾きθx、Ｙ軸方向走査器による出射レーザ光の基準方向に対するＹ軸方向への傾きθy、および距離検出器による物体表面までの距離Ｌzとを、前記仮想したＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアごとに検出する。より具体的には、Ｘ軸およびＹ軸方向への傾きθx，θyは、電動モータの基準位置からの回転角である。また、物体表面までの距離Ｌzは、ラインセンサにおける反射レーザ光の受光位置である。そして、これら傾きθx，θy及び距離Ｌzは、Ｘ，Ｙ，Ｚ座標値に変換されて出力される。なお、Ｘ，Ｙ，Ｚ座標値への変換は、３次元カメラ２０からの出力を受けるコントローラ３０及びデータ処理装置４０で行われるようにしたり、３次元カメラ２０とコントローラ３０及びデータ処理装置４０との間に変換器を設けて行われるようにしてもよい。
【００２４】
この３次元カメラ２０には、コントローラ３０およびデータ処理装置４０が接続されている。コントローラ３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びハードディスクなどの大容量の不揮発性メモリを有するコンピュータ装置によって構成され、キーボードからなる入力装置３１からの指示に従って、３次元カメラ２０、モータ１６，１７，１８及びデータ処理装置４０の作動を制御する。具体的には、コントローラ３０は、作業者による入力装置からの入力又は内蔵するプログラムの実行により、３次元カメラ２０に測定を指令し、ステージ１０を回転するモータ１６，１７，１８を指定した角度だけ回転させる。また、モータ１６，１７，１８からは内蔵の回転角センサからステージ１０の各回転軸Ａ，Ｂ，Ｃ周りの回転角が入力されているとともに、データ処理装置４０に回転角度データを出力する。さらに、コントローラ３０は、プログラム処理により、座標変換係数を計算する。
【００２５】
データ処理装置４０も、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びハードディスクなどの大容量の不揮発性メモリを有するコンピュータ装置によって構成され、コントローラ３０からの指令により、３次元カメラ２０からの３次元データの座標変換を含む処理を実行して３次元画像データを作成し、この３次元画像データを用いて表示装置４１に３次元画像を表示する。また、データ処理装置４０は、座標変換係数、定点座標などの測定対象物ＯＢの３次元形状の計算に必要なデータをＲＡＭ，不揮発性メモリなどに記憶する。
【００２６】
ｂ．座標変換係数の設定
このように構成された３次元形状測定システムにおいて、作業者は、初回のみ各回転軸Ａ，Ｂ，Ｃ周りにおける回転角度ごとの座標変換係数を取得し、取得した座標変換係数をデータ処理装置４０に供給するための作業を行う。
【００２７】
まず、作業者は、図３に示すように、ステージ１０の外周近傍の３つの穴１０ａ，１０ｂ，１０ｃに、棒付き真球１１ａ，１１ｂ，１１ｃを組み付ける。これらの真球１１ａ，１１ｂ，１１ｃの半径はそれぞれ異なる。真球１１ａ，１１ｂ，１１ｃの半径を異ならせる理由は、３次元カメラ２０による３次元形状測定によって取得された３次元データから、指定した真球１１ａ，１１ｂ，１１ｃの３次元データを抽出するのを容易にするためである。また、作業者は、３次元カメラ２０を支持装置２１に支持させて、３次元カメラ２０に真球１１ａ，１１ｂ，１１ｃの３次元形状を測定させる。
【００２８】
次に、作業者は、入力装置３１を操作して、コントローラ３０に図４Ａ及び図４Ｂの座標変換係数設定プログラムを実行させる。この座標変換係数設定プログラムの実行は図４ＡのステップＳ１００にて開始され、コントローラ３０は、ステップＳ１０２にて、ステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転角度が基準回転角度（すなわち０度）になるように、モータ１６，１７，１８を回転制御する。以下、この状態をステージ１０の基準位置といい、このステージ１０が基準位置にある状態で図１及び図３に示す位置にある３次元カメラ２０で取得した３次元データを基準座標系による３次元データという。次に、コントローラ３０は、ステップＳ１０４にて検出対象物体の特徴の入力処理を実行する。この入力処理においては、表示装置３１に検出対象物体の特徴を入力するように表示して、作業者に検出対象物体の特徴の入力を促す。本実施形態の場合には、真球１１ａ，１１ｂ，１１ｃが球であること、及び真球１１ａ，１１ｂ，１１ｃの半径の入力を促す。作業者が入力装置３１を操作して前記特徴を入力すると、コントローラ３０はこの特徴を一時記憶して、ステップＳ１０６の基準定点座標取得ルーチンを実行する。この基準定点座標取得ルーチンは、基準位置にあるステージ１０上に設定した３つの定点の座標を取得する処理であり、本実施形態では前記ステージ１０に組み付けた真球１１ａ，１１ｂ，１１ｃの中心点のＸ，Ｙ，Ｚ座標値を取得する処理である。なお、これらのＸ，Ｙ，Ｚ座標値は、基準座標系による座標値である。
【００２９】
この基準定点座標取得ルーチンの詳細は図５に示されており、コントローラ３０は、この基準定点座標取得ルーチンの実行をステップＳ２００にて開始する。この基準定点座標取得ルーチンの実行開始後、コントローラ３０は、ステップＳ２０２にて、３次元カメラ２０にステージ１０上の真球１１ａ，１１ｂ，１１ｃを含む３次元形状の測定を指示し、その後に、３次元カメラ２０から測定結果である３次元データを入力して一時的に記憶する。次に、コントローラ３０は、ステップＳ２０４にて、前記入力した全ての３次元データの中から、真球１１ａ，１１ｂ，１１ｃごとに、各真球１１ａ、１１ｂ、１１ｃの表面の３次元形状を表す３次元データをそれぞれ抽出する。この種の３次元データの抽出技術は従来から知られた技術（例えば、特開２００４−３３３３７１号公報、特開２００５−２４９４０２号公報参照）であるが、簡単に説明しておく。
【００３０】
＜３次元データの抽出＞
前記入力された検出対象物体の特徴（球体及び半径）を表すデータを用いて、単位ブロックおよび探索ブロックのサイズ設定処理を実行する。単位ブロックは、検出対象物体の存在位置を特定するために探索ブロックを移動させる最小のブロックであり、例えば立方体に形成されている。また、この単位ブロックのサイズは、検出対象物体の一部が存在することを確認可能である程度に小さく設定される。探索ブロックは、検出対象物体をその内部に包含する位置を特定するために利用されるもので、本実施形態では立方体に形成されている。この探索ブロックのサイズは、検出対象物体の全てを包含できるとともに、なるべく小さく設定される。ただし、この検出対象物体を包含できるとは、検出対象物体の一部でも含む単位ブロックの全てを含むことを意味する。
【００３１】
次に、探索領域のブロック化処理を実行する。この探索領域のブロック化処理は、測定対象領域内で検出対象物体の含まれる可能性のある領域を単位ブロックで分割する処理である。基本的には、測定対象空間内のうち３次元データが存在する空間を単位ブロックで立体的に分割する。分割は、Ｘ，Ｙ，Ｚ座標の各座標軸に沿って単位ブロックを並べていく方法で行う。そして、前記分割した各単位ブロックごとに３次元データが所定個数以上あるかを調べて、３次元データが所定個数以上ある単位ブロックを抽出する。次に、検出対象物体を含む可能性のある探索ブロック位置の検出処理を行う。この探索ブロック位置の検出においては、前記単位ブロックに分割した領域にて、前記設定した探索ブロックを単位ブロックを単位として、Ｘ軸、Ｙ軸およびＺ軸方向に順次移動させる。そして、各移動ごとに、移動後の探索ブロック内に含まれるとともに前記抽出された単位ブロックの個数を計算する。前記単位ブロックの数が所定の範囲内であれば、該当する探索ブロック位置であるとして、同位置が検出される。なお、検出対象物体は球体であるので、３次元カメラ２０と対向する側に位置して３次元データが得られる箇所と、３次元カメラ２０と対向しない側に位置して３次元データが得られない箇所の割合は、ほぼ同じであるので、球体の半径が特定されれば、探索ブロック内に含まれる単位ブロックの数は設定される。これにより、検出対象物体より半径の小さな球体を、単位ブロックの数が所定範囲外であるとして、除外することができる。
【００３２】
次に、前記検出した位置の探索ブロック内に含まれる３次元データが、検出対象物体の形状である球体に合致するか否かを判定し、合致すると判定したとき探索ブロック内の３次元データを抽出する。具体的には、該当する探索ブロック内の全ての３次元データ（Ｘ，Ｙ，Ｚ座標値）を、球体を表す式である下記数１の左辺のｘ，ｙ，ｚにそれぞれ代入し、最小２乗法を用いて未知数ａ，ｂ，ｃ，ｄを計算する。この場合、ａ，ｂ，ｃは、３次元データにより表された球体中心のＸ，Ｙ，Ｚ座標値をそれぞれ表し、ｄは球体の半径を表す。次に、前記該当する探索ブロック内の各３次元データ（Ｘ，Ｙ，Ｚ座標値）ごとに、同３次元データ（Ｘ，Ｙ，Ｚ座標値）と前記計算した値ａ，ｂ，ｃを下記数１に代入して、各３次元データごとに値ｄ（球体中心からの距離）を計算する。そして、前記計算した値ｄ（球の半径）と前記特徴として入力した半径との差が所定の判別値以内であり、かつ各３次元データの球体中心からの距離の偏差が所定の判別値以内であれば、前記探索ブロック内の３次元データは合致するとして、同３次元データを抽出する。一方、前記差または偏差が所定の判別値以内でなければ、前記探索ブロック内の３次元データは合致しないとして、同３次元データを抽出しない。これにより、真球１１ａ，１１ｂ，１１ｃごとに、真球１１ａ，１１ｂ，１１ｃに関する３次元データがそれぞれ抽出される。
【００３３】
（数１）
(ｘ−ａ) 2＋(ｙ−ｂ) 2＋(ｚ−ｃ)2−ｄ2＝０
【００３４】
ここで、ふたたび、図５の基準定点座標取得ルーチンの説明に戻る。前記ステップＳ２０４の処理後、コントローラ３０は、ステップＳ２０６にて、真球１１ａ，１１ｂ，１１ｃごとに真球１１ａ，１１ｂ，１１ｃの中心座標、すなわちステージ１０上に設けた３つの定点のＸ，Ｙ，Ｚ座標値を計算する。具体的には、真球１１ａ，１１ｂ，１１ｃごとに、前記ステップＳ２０４の処理によって抽出した各真球１１ａ，１１ｂ，１１ｃに関する３次元データ（Ｘ，Ｙ，Ｚ座標値）を前記球体を表す式である下記数１のｘ，ｙ，ｚにそれぞれ代入するとともに、値ｄとして前記ステップＳ１０４で入力した半径を採用して、最小２乗法を用いて未知数ａ，ｂ，ｃをそれぞれ計算する。そして、前記真球１１ａ，１１ｂ，１１ｃごとに計算した未知数ａ，ｂ，ｃが、それぞれ真球１１ａ，１１ｂ，１１ｃの中心座標すなわち３つ定点のＸ，Ｙ，Ｚ座標値（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）である。
【００３５】
前記ステップＳ２０６の処理後、コントローラ３０は、ステップＳ２０８にて、ハードディスクなどの不揮発性メモリに、前記３つ定点のＸ，Ｙ，Ｚ座標値（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）を、ステージ１０が基準位置にあるときの３つの定点の座標すなわち基準定点座標（基準座標系における定点の座標）として記憶しておく。そして、コントローラ３０は、ステップＳ２１０にて基準定点座標取得ルーチンの実行を終了して、図４ＡのステップＳ１０８に戻る。
【００３６】
コントローラ３０は、ステップＳ１０８にて、変数ｎを「０」に初期設定して、ステップＳ１１０〜Ｓ１１６からなる循環処理を実行する。変数ｎは、ステージ１０の回転角度を、前記循環処理ごとに所定角度Ｑ（例えば、１度）ずつ順次変化させるための変数である。ステップＳ１１０〜Ｓ１１６からなる循環処理においては、コントローラ３０は、ステップＳ１１０にて変数ｎに「１」を加算し、ステップＳ１１２にてステージ１０の回転軸Ａ周りの回転角度ｎ・Ｑが予め決められた上限角度Ａmaxよりも大きいかを判定する。回転角度ｎ・Ｑが上限角度Ａmaxよりも大きくなければ、コントローラ３０は、ステップＳ１１２にて「Ｎｏ」と判定して、ステップＳ１１４にて、モータ１６を制御して、ステージ１０を回転軸Ａ周りの正方向に回転させて、ステージ１０の回転軸Ａ周りの回転角度をｎ・Ｑ度に設定する。そして、コントローラ３０は、ステップＳ１１６にて座標変換係数取得ルーチンを実行する。
【００３７】
この座標変換係数取得ルーチンは図６に詳細に示されており、コントローラ３０は、ステップＳ２５０にて座標変換係数取得ルーチンの実行を開始する。この座標変換係数取得ルーチンの実行開始後、コントローラ３０は、上述した図５のステップＳ２０２〜２０６と同様なステップＳ２５２〜Ｓ２５６の処理を実行して、真球１１ａ，１１ｂ，１１ｃの中心座標すなわち３つ定点のＸ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1）を計算する。ただし、この場合、ステージ１０は回転軸Ａ周りに基準位置からｎ・Ｑ度だけ回転した位置にあり、この計算された３つ定点のＸ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1）は、前記ステージ１０が基準位置にある状態で３次元カメラ２０によって測定した３次元データを用いて計算した３つの定点のＸ，Ｙ，Ｚ座標値（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）とは異なる。
【００３８】
前記ステップＳ２５２〜Ｓ２５６の処理後、コントローラ３０は、ステップＳ２５８にて、ステージ１０を回転軸Ａ周りに基準位置からｎ・Ｑ度だけ回転した状態で３次元カメラ２０によって測定した３次元データの座標値を、ステージ１０が基準位置にある状態で３次元カメラ２０によって測定した３次元データの座標値（基準座標系の座標値）に変換するための座標変換係数を計算する。この座標変換係数の計算は、前記計算したステージ１０を回転軸Ａ周りに基準位置からｎ・Ｑ度だけ回転させた状態における３つの定点のＸ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1）を、ステージ１０が基準位置にある状態における３つの定点のＸ，Ｙ，Ｚ座標値（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）に変換させるための座標変換係数を計算することを意味するもので、両Ｘ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1），（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）を用いて行われる。また、この種の座標変換係数の計算は従来から知られている技術（例えば、特開２００５−３５２６３０号公報、特開２００５−２４９４０２号公報参照）であるが、簡単に説明しておく。
【００３９】
＜座標変換係数の計算＞
まず、ステージ１０を回転軸Ａ周りに基準位置からｎ・Ｑ度だけ回転させた状態において得た３次元データは第１座標系の３次元データであり、基準座標系を第２座標系であると仮定する。したがって、第１座標系の座標軸をＸ軸、Ｙ軸およびＺ軸回りにそれぞれ所望の角度だけ回転させるとともに、同第１座標系の原点をＸ軸方向、Ｙ軸方向およびＺ軸方向にそれぞれａ，ｂ，ｃだけ移動させれば、第２座標系の座標軸と同じになるはずである。そこで、第１座標系における一点の座標値を（ｘ’，ｙ’，ｚ’）とし、第２座標系における同一点の座標値を（ｘ，ｙ，ｚ）とすると、下記数２が成立するとともに、同数２中の行列Ｍは下記数３によって表される。そして、前記座標変換係数の計算は、前記数２および数３中の行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３および行列値ａ，ｂ，ｃを計算することを意味する。
【００４０】
【数２】
2011242139.tif 000003
【００４１】
【数３】
2011242139.tif 000004
【００４２】
ここで、第１座標系における３つの定点のＸ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1）及び第２座標系の３つの定点のＸ，Ｙ，Ｚ座標値（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）を前記数２に代入すれば、下記数４〜６の関係が成立する。
【００４３】
【数４】
2011242139.tif 000005
【００４４】
【数５】
2011242139.tif 000006
【００４５】
【数６】
2011242139.tif 000007
【００４６】
前記数４を変形すると、下記数７の連立方程式が成立する。
【００４７】
【数７】
2011242139.tif 000008
【００４８】
また、前記３つの定点を含む平面の法線ベクトルの第１座標系における成分を（α’，β’，γ’）とし、第２座標系における同平面の法線ベクトルを（α，β，γ）とすると、２つの法線ベクトルの大きさが同じであれば一般的には次の数８が成立する。なお、同数８中の行列Ｍは、前記数３によって表される。
【００４９】
【数８】
2011242139.tif 000009
【００５０】
第２座標系および第１座標系におけるすべての定点を含む平面の法線ベクトルを、真球１１ｂの中心（第２定点）から真球１１ａの中心（第１定点）に向かうベクトルと、真球１１ｃの中心（定点）から真球１１ｂの中心（第２定点）に向かうベクトルとの外積により成立するベクトルとすると、第２座標系における法線ベクトル及び第１座標系における法線ベクトルは下記数９によって表される。
【００５１】
【数９】
2011242139.tif 000010
【００５２】
前記数９を前記数８に当てはめると、下記数１０が成立する。
【００５３】
【数１０】
2011242139.tif 000011
【００５４】
前記数１０の１番目の式を前記数７に加えれば、下記数１１の連立方程式となる。
【００５５】
【数１１】
2011242139.tif 000012
【００５６】
この数１１の連立方程式を解くことにより、行列値ｇ１１，ｇ１２，ｇ１３を計算することができる。また、前記数５および数６に関しても、前記数７の連立方程式のように変形し、数１０の２番目の式または３番目の式を加えれば、数１１の連立方程式と同様の連立方程式ができるので、これを解くことで、行列値ｇ２１，ｇ２２，ｇ２３および行列値ｇ３１，ｇ３２，ｇ３３を計算できる。そして、これらの計算した行列値を前記数４〜６に代入すれば、行列値ａ，ｂ，ｃを計算できる。これにより、第１座標系すなわちステージ１０が回転軸Ａ周りに基準位置からｎ・Ｑ度だけ回転した状態の３次元データの座標系の座標値（ｘ’，ｙ’，ｚ’）を、第２座標系すなわち基準座標系における座標値（ｘ，ｙ，ｚ）に変換するための座標変換係数が計算される。
【００５７】
ここで、ふたたび、図６の座標変換係数取得ルーチンの説明に戻る。前記ステップＳ２５８による座標変換係数である行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３及び行列値ａ，ｂ，ｃの計算後、コントローラ３０は、ステップＳ２６０にて、前記計算した座標変換係数を、回転軸Ａ周りの回転角度がｎ・Ｑ度であることと共に、ハードディスクなどの不揮発性メモリに記憶する。そして、コントローラ３０は、ステップＳ２６２にて座標変換係数取得ルーチンの実行を終了して、図４ＡのステップＳ１１０に戻る。
【００５８】
コントローラ３０は、ステップＳ１１０にて変数ｎに「１」を加算し、ステージ１０の回転軸Ａ周りの回転角度ｎ・Ｑが予め決められた上限角度Ａmaxよりも大きくならない限り、ステップＳ１１２にて「Ｎｏ」と判定して前述したステップＳ１１４，Ｓ１１６の処理を実行する。これにより、ステージ１０を回転軸Ａ周りの正方向にＱ度ずつ回転させながら、前述した座標変換係数を計算して不揮発性メモリに記憶していく。その結果、不揮発性メモリには、ステージ１０を基準位置からほぼ上限角度Ａmaxまで回転軸Ａ周りにＱ度ずつ正方向に回転させた状態における座標変換係数がステージ１０の回転角度ｎ・Ｑ度にそれぞれ対応させて記憶される。本実施形態では、Ｑ度を１度に設定したので、１度ごとの座標変換係数が不揮発性メモリに記憶されることになる。なお、このＱ度を１度以外の値に設定すれば、１度以外の予め決めたＱ度ごとの座標変換係数が不揮発性メモリに記憶される。この点に関しては、後述する他の座標変換係数についても同様である。そして、回転軸Ａ周りのステージ１０の回転角度ｎ・Ｑが上限角度Ａmaxより大きくなると、コントローラ３０は、ステップＳ１１２にて「Ｙｅｓ」と判定して、ステップＳ１１８に進む。
【００５９】
コントローラ３０は、ステップＳ１１８にて、変数ｎを「０」に初期設定して、ステップＳ１２０〜Ｓ１２６からなる循環処理を実行する。このステップＳ１２０〜Ｓ１２６からなる循環処理は、ステップＳ１２２，Ｓ１２４の処理が前述したステップＳ１１２，Ｓ１１４の処理と若干異なる以外、前述したステップＳ１１０〜Ｓ１１６からなる処理と同じである。ステップＳ１２２においては、ステージ１０の回転軸Ａ周りの回転角度−ｎ・Ｑが予め決められた下限角度−Ａmaxよりも小さいかが判定される。ステップＳ１２４においては、モータ１６が制御されて、ステージ１０が回転軸Ａ周りの負方向に回転されて、ステージ１０の回転軸Ａ周りの回転角度が−ｎ・Ｑ度に設定される。その結果、このステップＳ１２０〜Ｓ１２６の循環処理により、ステージ１０の回転軸Ａ周りの回転角度が基準位置（０度）からほぼ下限角度−Ａmaxまでにわたって、Ｑ度ごとに、３次元カメラ２０による３次元データを基準座標系の３次元データに変換するための座標変換係数が計算されて、ステージ１０の回転軸Ａ周りの回転角度−ｎ・Ｑに対応させて不揮発性メモリに記憶される。そして、回転軸Ａ周りのステージ１０の回転角度−ｎ・Ｑが下限角度−Ａmaxより小さくなると、コントローラ３０は、ステップＳ１２２にて「Ｙｅｓ」と判定して、ステップＳ１２８に進む。
【００６０】
コントローラ３０は、ステップＳ１２８にて、ステージ１０の回転軸Ａ周りの回転角度が基準回転角度（すなわち０度）になるように、モータ１６を回転制御する。この場合、ステージ１０の回転軸Ｂ及び回転軸Ｃ周りの回転角度は前述したステップＳ１０２の処理によって基準回転角度（すなわち０度）に既に設定されているので、ステージ１０は基準位置に戻されることになる。次に、コントローラ３０は、ステップＳ１３０にて変数ｎを「０」に初期設定して、ステップＳ１３２〜Ｓ１４８からなる処理を実行する。このステップＳ１３２〜Ｓ１４８からなる処理は、ステップＳ１３４，Ｓ１３６，Ｓ１４４，Ｓ１４６の処理が前述したステップＳ１１２，Ｓ１１４，Ｓ１２２，Ｓ１２４の処理と若干異なる以外、前述したステップＳ１１０〜Ｓ１２６からなる処理と同じである。
【００６１】
ステップＳ１３４においては、ステージ１０の回転軸Ｂ周りの回転角度ｎ・Ｑが予め決められた上限角度Ｂmaxよりも大きいかが判定される。ステップＳ１３６においては、モータ１７が制御されて、ステージ１０が回転軸Ｂ周りの正方向に回転されて、ステージ１０の回転軸Ｂ周りの回転角度がｎ・Ｑ度に設定される。ステップＳ１４４においては、ステージ１０の回転軸Ｂ周りの回転角度−ｎ・Ｑが予め決められた下限角度−Ｂmaxよりも小さいかが判定される。ステップＳ１４６においては、モータ１６が制御されて、ステージ１０が回転軸Ｂ周りの負方向に回転されて、ステージ１０の回転軸Ｂ周りの回転角度が−ｎ・Ｑ度に設定される。その結果、このステップＳ１３２〜Ｓ１４８の処理により、ステージ１０の回転軸Ｂ周りの回転角度がほぼ下限角度−Ｂmaxからほぼ上限角度Ｂmaxまでにわたって、Ｑ度ごとに、３次元カメラ２０による３次元データを基準座標系の３次元データに変換するための座標変換係数が計算されて、ステージ１０の回転軸Ｂ周りの回転角度ｎ・Ｑ，−ｎ・Ｑに対応させて不揮発性メモリに記憶される。そして、回転軸Ｂ周りのステージ１０の回転角度−ｎ・Ｑが下限角度−Ｂmaxより小さくなると、コントローラ３０は、ステップＳ１４４にて「Ｙｅｓ」と判定して、図４ＢのステップＳ１５０に進む。
【００６２】
コントローラ３０は、ステップＳ１５０にて、ステージ１０の回転軸Ｂ周りの回転角度が基準回転角度（すなわち０度）になるように、モータ１７を回転制御する。この場合、ステージ１０の回転軸Ａ及び回転軸Ｃ周りの回転角度は前述したステップＳ１２８，Ｓ１０２の処理によって基準回転角度（すなわち０度）に既に設定されているので、ステージ１０は基準位置に戻されることになる。次に、コントローラ３０は、ステップＳ１５０にて変数ｎを「０」に初期設定して、ステップＳ１５４〜Ｓ１６０からなる循環処理を実行する。このステップＳ１５４〜Ｓ１６０からなる循環処理は、ステップＳ１５６，Ｓ１５８の処理が前述したステップＳ１１２，Ｓ１１４（又はステップＳ１３４，Ｓ１３６）の処理と若干異なる以外、前述したステップＳ１１０〜Ｓ１１６（又はステップＳ１３２〜Ｓ１３８）からなる循環処理と同じである。
【００６３】
ステップＳ１５６においては、ステージ１０の回転軸Ｃ周りの回転角度ｎ・Ｑが予め決められた所定角度３６０度よりも大きいかが判定される。ステップＳ１５８においては、モータ１８が制御されて、ステージ１０が回転軸Ｃ周りの正方向に回転されて、ステージ１０の回転軸Ｃ周りの回転角度がｎ・Ｑ度に設定される。その結果、このステップＳ１５４〜Ｓ１６０からなる循環処理により、ステージ１０の回転軸Ｃ周りの回転角度が基準角度（０度）からほぼ３６０度までにわたって、Ｑ度ごとに、３次元カメラ２０による３次元データを基準座標系の３次元データに変換するための座標変換係数が計算されて、ステージ１０の回転軸Ｃ周りの回転角度ｎ・Ｑに対応させて不揮発性メモリに記憶される。そして、回転軸Ｃ周りのステージ１０の回転角度ｎ・Ｑが所定角度３６０度より大きくなると、コントローラ３０は、ステップＳ１５６にて「Ｙｅｓ」と判定して、ステップＳ１６２に進む。ステップＳ１６２においては、前記ステップＳ１１６，Ｓ１２６，Ｓ１３８，Ｓ１４８，Ｓ１６０の座標変換係数取得ルーチンの処理により記憶した回転軸Ａ，Ｂ，Ｃに関する各座標変換係数（行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３及び行列値ａ，ｂ，ｃ）をデータ処理装置４０に出力する。前記ステップＳ１６２の処理後、コントローラ３０はステップＳ１６４にて座標変換係数設定プログラムの実行を終了する。
【００６４】
前記データ処理装置４０に出力された回転軸Ａ，Ｂ，Ｃに関する各座標変換係数は、図示しないプログラム処理により、データ処理装置４０のハードディスクなどの不揮発性メモリに記憶される。ここで、データ処理装置４０に記憶された回転軸Ａ，Ｂ，Ｃに関する座標変換係数について整理しておく。回転軸Ａに関する座標変換係数は、ステージ１０を回転軸Ａ周りに下限角度−Ａmaxから上限角度Ａmaxまで微小な所定角度Ｑ（例えば、１度）ずつ回転させてステージ１０上の物体を３次元カメラ２０で測定したとき、各回転位置ごとの３次元カメラ２０による測定結果である３次元データを、ステージ１０の回転軸Ａ周りの回転角度が基準角度（例えば、０度）にある状態（ステージ１０が基準位置にある状態）で３次元カメラ２０によって測定したステージ１０上の物体の３次元データに変換するための行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３からなる行列Ｍ及び行列値ａ，ｂ，ｃである。ここで、回転軸Ｂ、Ｃ周りの回転に関する座標変換係数と区別するために、以降、この回転軸Ａ周りの回転に関する座標変換係数に関し、前記行列Ｍを行列ＭAとするとともに、前記行列値ａ，ｂ，ｃを行列値ａA，ｂA，ｃAとする。
【００６５】
また、回転軸Ｂに関する座標変換係数は、ステージ１０を回転軸Ｂ周りに下限角度−Ｂmaxから上限角度Ｂmaxまで微小な所定角度Ｑ（例えば、１度）ずつ回転させてステージ１０上の物体を３次元カメラ２０で測定したとき、各回転位置ごとの３次元カメラ２０による測定結果である３次元データを、ステージ１０の回転軸Ｂ周りの回転角度が基準角度（例えば、０度）にある状態（ステージ１０が基準位置にある状態）で３次元カメラ２０によって測定したステージ１０上の物体の３次元データに変換するための行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３からなる行列Ｍ及び行列値ａ，ｂ，ｃである。ここで、回転軸Ａ、Ｃ周りの回転に関する座標変換係数と区別するために、以降、この回転軸Ｂ周りの回転に関する座標変換係数に関し、前記行列Ｍを行列ＭＢとするとともに、前記行列値ａ，ｂ，ｃを行列値ａＢ，ｂＢ，ｃＢとする。
【００６６】
また、回転軸Ｃに関する座標変換係数は、ステージ１０を回転軸Ｃ周りに０度から３６０度まで微小な所定角度Ｑ（例えば、１度）ずつ回転させてステージ１０上の物体を３次元カメラ２０で測定したとき、各回転位置ごとの３次元カメラ２０による測定結果である３次元データを、ステージ１０の回転軸Ｃ周りの回転角度が基準角度（例えば、０度）にある状態（ステージ１０が基準位置にある状態）で３次元カメラ２０によって測定したステージ１０上の物体の３次元データに変換するための行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３からなる行列Ｍ及び行列値ａ，ｂ，ｃである。ここで、回転軸Ａ、Ｂ周りの回転に関する座標変換係数と区別するために、以降、この回転軸Ｃ周りの回転に関する座標変換係数に関し、前記行列Ｍを行列ＭＣとするとともに、前記行列値ａ，ｂ，ｃを行列値ａＣ，ｂＣ，ｃＣとする。
【００６７】
ｃ．測定対象物の測定
次に、測定対象物ＯＢを３次元カメラ２０で測定する動作について説明する。この場合、作業者は入力装置３１を操作して測定対象物ＯＢを測定することをコントローラ３０に入力する。コントローラ３０は、図７のステップＳ３００にて対象物測定プログラムの実行を開始する。この測定対象物ＯＢを測定することはデータ処理装置４０に供給され、データ処理装置４０は、ステップＳ４００にて画像データ生成プログラムの実行を開始する。まず、図１に示すように、測定対象物ＯＢをステージ１０上に載置固定する。はじめに、３次元カメラ２０を前述した座標変換係数設定プログラムの実行時の位置に固定して、３次元カメラ２０を用いて測定対象物ＯＢの３次元形状を測定する場合について説明する。
【００６８】
作業者は、入力装置３１を操作して、ステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転位置を指示すると、コントローラ３０は、図示しないプログラムの実行により、モータ１６，１７，１８を駆動制御して、作業者によって指示された回転位置までステージ１０を回転軸Ａ，Ｂ，Ｃ周りに回転させる。そして、作業者は、入力装置３１を操作して、コントローラ３０に測定対象物ＯＢの測定開始を指示する。前記測定開始の指示により、コントローラ３０は、図７のステップＳ３０２にて「Ｙｅｓ」と判定し、ステップＳ３０４にて測定開始の指示があったことをデータ処理装置４０に知らせる。次に、コントローラ３０は、ステップＳ３０６にて、モータ１６，１７，１８に内蔵されている回転角センサから、ステージ１０の各回転軸Ａ，Ｂ，Ｃ周りの回転角度をそれぞれ入力して、データ処理装置４０に出力する。次に、コントローラ３０は、ステップＳ３０８にて、３次元カメラ２０に測定開始を指示して、後述するステップＳ３１０以降の処理を実行する。この測定開始の指示により、３次元カメラ２０は、ステージ１０上の測定対象物ＯＢの３次元形状の測定を開始し、測定した３次元形状を表す３次元データを順次出力する。
【００６９】
一方、データ処理装置４０は、前記コントローラ３０によるステップＳ３０４の対象物測定開始の指示の入力に応答して、図８のステップＳ４０２にて「Ｙｅｓ」と判定し、ステップＳ４０４にてコントローラ３０からのステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転角度の入力を待つ。そして、前記ステップＳ３０６の処理によりコントローラ３０から回転角度が入力されると、コントローラ３０は、ステップＳ４０６にて、前記コントローラ３０から出力された回転角度を入力してＲＡＭ又は不揮発性メモリに記憶する。次に、データ処理装置４０は、ステップＳ４０８にて、３次元カメラ２０からの３次元データの入力開始を待つ。そして、前記３次元カメラ２０から３次元データが供給され始めると、データ処理装置４０は、ステップＳ４１０にて３次元カメラ２０から順次出力される測定対象物ＯＢに関する３次元データを順次入力してＲＡＭ又は不揮発性メモリに記憶する。このステップＳ４１０の処理は、３次元カメラ２０からの３次元データの入力が終了するまで実行され続ける。３次元カメラ２０からの３次元データの入力が終了すると、データ処理装置４０は、ステップＳ４１２にて「Ｙｅｓ」と判定して、ステップＳ４１４以降に進む。この段階では、３次元カメラ２０によって取得された全ての３次元データがＲＡＭ又は不揮発性メモリに記憶されている。
【００７０】
ステップＳ４１４においては、カメラ移動フラグＣＭＦが“１”であるか否かが判定される。このカメラ移動フラグＣＭＦは、“０”により、回転軸Ａ，Ｂ，Ｃ周りの回転に関する座標変換係数の取得時と同じ位置に３次元カメラ２０を固定したまま測定対象物ＯＢの３次元データを取得する状態を表し、“１”により前記位置から３次元カメラ２０を移動して測定対象物ＯＢの３次元データを取得する状態を表しており、初期においては“０”に設定されている。今、３次元カメラ２０はステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転に対する座標変換係数を取得した状態に固定されているので、カメラ移動フラグは“０”であり、コントローラ３０は、ステップＳ４１４にて「Ｎｏ」と判定してステップＳ４１８以降の処理を行う。
【００７１】
ステップＳ４１８においては、データ処理装置４０は、前記ステップＳ４１０の処理によって３次元カメラ２０から入力して記憶しておいた３次元データを、ステージ１０の回転軸Ａ周りの回転角度が基準角度（例えば、０度）にある状態（ステージ１０が基準位置にある状態）で３次元カメラ２０によって取得したステージ１０上の物体の３次元データに変換する。この場合、ステージ１０を回転軸Ａ周りに下限角度−Ａmaxから上限角度Ａmaxまで回転させて取得して不揮発性メモリに記憶しておいた、微小な所定角度Ｑごとの座標変換係数（行列ＭAの行列値ｇ及び行列値ａA，ｂA，ｃA）の中から、前記コントローラ３０から入力して一時的に記憶した回転軸Ａ周りの回転角度に対応した座標変換係数（行列ＭAの行列値ｇ及び行列値ａA，ｂA，ｃA）を選択する。なお、前記行列値ｇ及び以降の説明における行列値ｇは、前述した行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３を簡単に記述したものである。そして、前記３次元カメラ２０から入力されて一時的に記憶した３次元データを、前記選択した座標変換係数（行列ＭAの行列値ｇ及び行列値ａA，ｂA，ｃA）を用いて下記数１２の演算の実行により座標変換する。なお、下記数１２中の座標値(Ｘ，Ｙ，Ｚ)は３次元カメラ２０によって実際に取得された３次元データであり、座標値(ＸA，ＹA，ＺA）は、ステージ１０の回転軸Ａ周りの回転角度が基準角度にある状態で３次元カメラ２０によって測定したステージ１０上の物体の３次元データである。
【００７２】
【数１２】
2011242139.tif 000013
【００７３】
この場合、ステージ１０の回転機構が、座標変換係数を取得した際の回転角度Ｑの間隔で回転角度が変化する機構であれば、前記記憶した座標変換係数をそのまま使用すればよい。しかし、ステージ１０の回転角度が連続して変化する機構であれば、補間演算により変換された座標値を計算する。この補間においては、前記入力した回転角度を挟む(ｎ−１)・Ｑ度及びｎ・Ｑ度に対応した２組の座標変換係数を読み出して、２組の座標変換係数を用いて２組の座標値(ＸA１，ＹA１，ＺA１），(ＸA２，ＹA２，ＺA２）を計算した後に、前記入力した回転角度の(ｎ−１)・Ｑ度及びｎ・Ｑ度に対する差に応じた補間演算により最終の座標値(ＸA，ＹA，ＺA）を算出するとよい。また、前記(ｎ−１)・Ｑ度及びｎ・Ｑ度に対応した２組の座標変換係数を、前記入力した回転角度の(ｎ−１)・Ｑ度及びｎ・Ｑ度に対する差に応じて補間演算して一つの座標変換係数を計算し、この補間演算によって計算した座標変換係数を用いた前記数１２の演算の実行により最終の座標値(ＸA，ＹA，ＺA）を算出してもよい。なお、前記入力した回転角度が基準回転角度であれば、すなわちステージ１０を基準位置から回転軸Ａ周りに回転していない場合には、前記ステップＳ４１８の座標変換処理を行わない。
【００７４】
前記ステップＳ４１８の処理後、データ処理装置４０は、ステップＳ４２０にて、前記座標変換された３次元データを、ステージ１０の回転軸Ｂ周りの回転角度が基準角度（例えば、０度）にある状態（ステージ１０が基準位置にある状態）で３次元カメラ２０によって取得したステージ１０上の物体の３次元データに変換する。この場合、ステージ１０を回転軸Ｂ周りに下限角度−Ｂmaxから上限角度Ｂmaxまで回転させて取得して不揮発性メモリに記憶しておいた、微小な所定角度Ｑごとの座標変換係数（行列ＭＢの行列値ｇ及び行列値ａＢ，ｂＢ，ｃＢ）の中から、前記コントローラ３０から入力して一時的に記憶した回転軸Ｂ周りの回転角度に対応した座標変換係数（行列ＭＢの行列値ｇ及び行列値ａＢ，ｂＢ，ｃＢ）を選択する。そして、前記ステップＳ４１０の処理によって座標変換した座標値(ＸA，ＹA，ＺA）を、前記選択した座標変換係数（行列ＭＢの行列値ｇ及び行列値ａＢ，ｂＢ，ｃＢ）を用いて下記数１３の演算の実行により座標変換する。なお、下記数１３中の座標値(ＸＢ，ＹＢ，ＺＢ）は、ステージ１０の回転軸Ｂ周りの回転角度が基準角度にある状態で３次元カメラ２０によって測定したステージ１０上の物体の３次元データである。
【００７５】
【数１３】
2011242139.tif 000014
【００７６】
この場合も、前記コントローラ３０から入力した回転軸Ｂ周りの回転角度が連続していてｎ・Ｑ度ごとの角度の間の角度がある場合には、前記ステップＳ４１８の場合と同様に、補間演算により変換された座標値を計算する。また、前記入力した回転角度が基準回転角度であれば、すなわちステージ１０を基準位置から回転軸Ｂ周りに回転していない場合には、前記ステップＳ４２０の座標変換処理を行わない。
【００７７】
前記ステップＳ４２０の処理後、データ処理装置４０は、ステップＳ４２２にて、前記座標変換された３次元データを、ステージ１０の回転軸Ｃ周りの回転角度が基準角度（例えば、０度）にある状態（ステージ１０が基準位置にある状態）で３次元カメラ２０によって取得したステージ１０上の物体の３次元データに変換する。この場合、ステージ１０を回転軸Ｃ周りに０度から３６０度まで回転させて取得して不揮発性メモリに記憶しておいた、微小な所定角度Ｑごとの座標変換係数（行列ＭＣの行列値ｇ及び行列値ａＣ，ｂＣ，ｃＣ）の中から、前記コントローラ３０から入力して一時的に記憶した回転軸Ｃ周りの回転角度に対応した座標変換係数（行列ＭＣの行列値ｇ及び行列値ａＣ，ｂＣ，ｃＣ）を選択する。そして、前記ステップＳ４２０の処理によって座標変換した座標値(ＸＢ，ＹＢ，ＺＢ）を、前記選択した座標変換係数（行列ＭＣ及び行列値ａＣ，ｂＣ，ｃＣ）を用いて下記数１４の演算の実行により座標変換する。なお、下記数１４中の座標値(ＸＣ，ＹＣ，ＺＣ）は、ステージ１０の回転軸Ｃ周りの回転角度が基準角度にある状態で３次元カメラ２０によって測定したステージ１０上の物体の３次元データである。
【００７８】
【数１４】
2011242139.tif 000015
【００７９】
この場合も、前記コントローラ３０から入力した回転軸Ｃ周りの回転角度が連続していてｎ・Ｑ度ごとの角度の間の角度がある場合には、前記ステップＳ４１８，Ｓ４２０の場合と同様に、補間演算により変換された座標値を計算する。また、前記入力した回転角度が基準回転角度であれば、すなわちステージ１０を基準位置から回転軸Ｃ周りに回転していない場合には、前記ステップＳ４２２の座標変換処理を行わない。
【００８０】
このようなステップＳ４１８、Ｓ４２０，Ｓ４２２の処理により、回転軸Ａ周り、回転軸Ｂ周り及び回転軸Ｃ周りの順に座標変換を行う理由は、図１に示すように、ステージ１０の回転軸Ａは残り２つの回転軸Ｂ，Ｃによらず固定されており、回転軸Ｂは回転軸Ａ周りの回転角度が固定されれば固定され、回転軸Ｃは残り２つの回転軸Ａ，Ｂ周りの回転角度が固定されれば固定されるためである。前記ステップＳ４２２の処理後、データ処理装置４０は、ステップＳ４２４にて、前記ステップＳ４１８、Ｓ４２０，Ｓ４２２の処理によって座標変換した１組の３次元データを不揮発性メモリに記憶する。これにより、不揮発性メモリには、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに所望の角度だけ回転して３次元カメラ２０によって取得した３次元データ、すなわち所望の座標系の３次元データを、ステージ１０の基準位置に対応した基準座標系の３次元データに変換した１組の３次元データが記憶されることになる。
【００８１】
前記ステップＳ４２４の処理後、データ処理装置４０は、ステップＳ４２６にてカメラ座標の座標変換係数をコントローラ３０から入力したかを判定する。前記カメラ座標の座標変換係数の入力に関しては詳しく後述するとして、この段階では、前記カメラ座標の座標変換係数の入力はないものとする。したがって、データ処理装置４０は、ステップＳ４２６にて「Ｎｏ」と判定して、ステップＳ４３２に進む。ステップＳ４３２においては、データ処理装置は３次元画像データの生成の指示があったかを判定する。前記３次元画像データの生成の指示がなければ、データ処理装置４０は、ステップＳ４３２にて「Ｎｏ」と判定して、ステップＳ４０２に戻る。そして、新たな測定対象物ＯＢの測定指示があるまで、データ処理装置４０はステップＳ４０２にて「Ｎｏ」判定して、ステップＳ４２６に進む。したがって、新たな測定対象物ＯＢの測定指示、カメラ座標の座標変換係数の入力、及び３次元画像データの生成の指示がなければ、データ処理装置４０は、ステップＳ４０２，Ｓ４２６，Ｓ４３２にてそれぞれ「Ｎｏ」と判定して、ステップＳ４０２，Ｓ４２６，Ｓ４３２からなる循環処理を実行し続ける。
【００８２】
一方、このような状態で、作業者が、入力装置３１をふたたび操作して、ステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転位置を新たに指示すると、コントローラ３０は、前述のように、モータ１６，１７，１８を駆動制御して、作業者によって指示された回転位置までステージ１０を回転軸Ａ，Ｂ，Ｃ周りに回転させる。その後、作業者は、入力装置３１を操作することにより、ステージ１０上の測定対象物ＯＢの３次元データの取得を指示すると、コントローラ３０は、ステップＳ３０２にて「Ｙｅｓ」と判定して、前述したステップＳ３０４〜Ｓ３０８の処理を実行する。一方、データ処理装置４０は、前記コントローラ３０のステップＳ３０４の処理による対象物の測定指示に応答して、ステップＳ４０２にて「Ｙｅｓ」と判定して、前述したステップＳ４０４〜Ｓ４２４からなる処理を実行する。これにより、不揮発性メモリには、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに前記とは異なる所望の角度だけ回転して３次元カメラ２０によって取得した３次元データを、ステージ１０の基準位置に対応した座標系の３次元データに変換した新たな１組の３次元データが記憶される。そして、作業者は、必要に応じて、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに必要な回数だけ回転させて、測定対象物ＯＢを３次元カメラ２０に測定させることにより、前記回数に対応した組数の３次元データを不揮発性メモリに記憶させることができる。
【００８３】
一方、３次元カメラ２０を移動させる場合、例えば図９に破線で示す位置にあったカメラ２０を実線で示す位置に移動する場合には、カメラ２０の移動の前又は後に、前述のように真球１１ａ，１１ｂ，１１ｃをステージ１０上にセットする。なお、このカメラ２０の移動とは、カメラ２０を支持装置２１に固定したまま支持装置２１のみを移動させる場合、支持装置２１を固定した状態でカメラ２０のみを回転又は変位させる場合、及び支持装置２１を移動するとともにカメラ２０も回転又は変位させる場合を含む。また、この場合、３次元カメラ２０の移動後の測定対象物ＯＢの測定の際に、測定対象物ＯＢのステージ１０に対する位置を３次元カメラ２０の移動前の測定対象物ＯＢのステージ１０に対する位置に合わせる必要があるために、測定対象物ＯＢをステージ１０上から除去しなくても、真球１１ａ，１１ｂ，１１ｃの測定が可能であれば、測定対象物ＯＢをステージ１０上に残しておくことが好ましい。測定対象物ＯＢをステージ１０上から除去する場合には、測定対象物ＯＢのステージ１０に対する設置位置を再現できるように印などをステージ１０上に付しておくとよい。前記３次元カメラ２０の移動及び真球１１ａ，１１ｂ，１１ｃのセット後、作業者は、入力装置３１を操作してカメラ２０を移動したことをコントローラ３０に入力する。
【００８４】
このカメラ２０の移動の入力に応答して、コントローラ３０は、図７の対象物測定プログラムのステップＳ３１０で「Ｙｅｓ」と判定して、前記図４ＡのステップＳ１０２と同様なステップＳ３１２の処理により、モータ１６，１７，１８の回転を制御して、ステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転角度が基準回転角度（すなわち０度）になるように、すなわちステージ１０を基準位置に設定する。前記ステップＳ３１２の処理後、コントローラ３０は、ステップＳ３１４にて前述した図６の座標変換係数取得ルーチンを実行する。この座標変換係数取得ルーチンのステップＳ２５２〜Ｓ２５６の処理により、新たにセットした真球１１ａ，１１ｂ，１１ｃの中心座標すなわち３つ定点のＸ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1）を計算する。そして、ステップＳ２５８の処理により、新たな３つ定点のＸ，Ｙ，Ｚ座標値（Ｘa1，Ｙa1，Ｚa1），（Ｘb1，Ｙb1，Ｚb1），（Ｘc1，Ｙc1，Ｚc1）と、前記図４ＡのステップＳ１０６（図５のステップＳ２０８）の処理によってＲＡＭ又は不揮発性メモリに記憶されていて、ステージ１０が基準位置にある状態における３つの定点のＸ，Ｙ，Ｚ座標値（Ｘa0，Ｙa0，Ｚa0），（Ｘb0，Ｙb0，Ｚb0），（Ｘc0，Ｙc0，Ｚc0）とを用いて、座標変換係数が計算される。
【００８５】
この場合、移動後の３次元カメラ２０によって測定した３次元データの座標値を、回転軸Ａ，Ｂ，Ｃ周りの回転角度に関する座標変換係数を取得した位置に配置した３次元カメラ２０によって測定した３次元データの座標値（基準座標系の座標値）に変換するための座標変換係数が計算される。すなわち、図９に示すように、３次元カメラ２０を破線で示す位置（図１及び図３と同一位置）に配置した基準座標系を座標系Ｓとし、３次元カメラ２０を実線で示す位置に配置した座標系を座標系Ｍとすると、座標系Ｍの３次元データを座標系Ｓの３次元データに変換するための座標変換係数が計算される。ここで、前述した回転軸Ａ，Ｂ、Ｃ周りの回転角度に関する座標変換係数と区別するために、以降、この３次元カメラ２０の移動に関する座標変換係数については、前記行列Ｍを行列ＭＳとするとともに、前記行列値ａ，ｂ，ｃを行列値ａＳ，ｂＳ，ｃＳとする。そして、前記ステップＳ２５８の処理後、ステップＳ２６０にて、計算された行列ＭＳの行列値ｇ及び行列値ａＳ，ｂＳ，ｃＳは不揮発性メモリに記憶され、ステップＳ２６２にて座標変換係数取得ルーチンの実行が終了される。
【００８６】
ふたたび図７の対象物測定プログラムの説明に戻ると、前記ステップＳ３１４の処理後、コントローラ３０は、ステップＳ３１６にて、前記計算して不揮発性メモリに記憶した行列ＭＳの行列値ｇ及び行列値ａＳ，ｂＳ，ｃＳからなるカメラ座標系の座標変換係数をデータ処理装置４０に出力する。
【００８７】
このカメラ座標系の座標変換係数の出力に応答して、データ処理装置４０は、ステップＳ４２６にて「Ｙｅｓ」すなわちカメラ座標の座標変換係数の入力ありと判定して、ステップＳ４２８，Ｓ４３０の処理を実行する。ステップＳ４２８においては、コントローラ３０から出力された行列ＭＳの行列値ｇ及び行列値ａＳ，ｂＳ，ｃＳからなるカメラ座標系の座標変換係数を不揮発性メモリに記憶する。ステップＳ４３０においては、カメラ移動フラグＣＭＦを“１”に設定する。
【００８８】
この状態で、作業者は、ステージ１０上の真球１１ａ，１１ｂ，１１ｃを取り外す。そして、前記真球１１ａ，１１ｂ，１１ｃのステージ１０への取り付け時に、測定対象物ＯＢをステージ１０から取り外した場合には、測定対象物ＯＢを、３次元カメラ２０の移動前の測定対象物ＯＢと同じステージ１０上の位置に設置する。そして、作業者は、入力装置３１を操作することにより、ステージ１０上の測定対象物ＯＢの３次元データの取得を指示すると、コントローラ３０は、ステップＳ３０２にて「Ｙｅｓ」と判定して、前述したステップＳ３０４〜Ｓ３０８の処理を実行する。なお、前記測定対象物ＯＢの３次元データの取得の指示の前に、入力装置３１の操作により、前述のように、ステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転位置を変更してもよい。一方、データ処理装置４０は、前記コントローラ３０のステップＳ３０４の処理による測定対象物ＯＢの測定指示に応答して、ステップＳ４０２にて「Ｙｅｓ」と判定して、前述したステップＳ４０４〜Ｓ４１２の処理により、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りの回転角度及び３次元カメラ２０によって新たに取得した３次元データを不揮発性メモリに記憶する。
【００８９】
前記ステップＳ４１２に処理後、コントローラ３０は、ステップＳ４１４にてカメラ移動フラグＣＭＦが“１”であるか否かを判定する。この場合、前述したステップＳ４３０の処理によってカメラ移動フラグＣＭＦは“１”に設定されているので、コントローラ３０は、ステップＳ４１４にて「Ｙｅｓ」と判定して、前記新たに取得した３次元データを座標変換する。この座標変換においては、前記新たに取得した３次元データが、前記不揮発性メモリに記憶した行列ＭＳの行列値ｇ及び行列値ａＳ，ｂＳ，ｃＳを用いて、下記数１５の演算の実行により座標変換される。なお、下記数１５中の座標値(ＸＭ，ＹＭ，ＺＭ）は、３次元カメラ２０が図９の実線位置にある座標系Ｍの３次元データである。また、下記数１５中の座標値(ＸＳ，ＹＳ，ＺＳ）は、３次元カメラ２０が図９の破線位置にある座標系Ｓの３次元データである。
【００９０】
【数１５】
2011242139.tif 000016
【００９１】
前記ステップＳ４１６の処理後、コントローラ３０は、前述したステップＳ４１８〜Ｓ４２２の処理により、座標系Ｍの３次元データを座標系Ｓに変換した３次元データが、座標系Ｓにおけるステージ１０の基準位置に対応した基準座標系の１組の３次元データに変換される。そして、ステップＳ４２４の処理により、この１組の変換された３次元データが不揮発性メモリに記憶される。
【００９２】
また、このような状態で、作業者が、入力装置３１をふたたび操作して、ステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転位置を新たに指示すると、コントローラ３０は、前述のように、モータ１６，１７，１８を駆動制御して、作業者によって指示された回転位置までステージ１０を回転軸Ａ，Ｂ，Ｃ周りに回転させる。その後、作業者は、入力装置３１を操作することにより、ステージ１０上の測定対象物ＯＢの３次元データの取得を指示すると、コントローラ３０は、ステップＳ３０２にて「Ｙｅｓ」と判定して、前述したステップＳ３０４〜Ｓ３０８の処理を実行する。一方、データ処理装置４０は、前記コントローラ３０のステップＳ３０４の処理による測定対象物ＯＢの測定指示に応答して、ステップＳ４０２にて「Ｙｅｓ」と判定して、前述したステップＳ４０４〜Ｓ４２４からなる処理を実行する。これにより、不揮発性メモリには、３次元カメラ２０の移動後におけるステージ１０を回転軸Ａ，Ｂ，Ｃ周りに前記とは異なる所望の角度だけ回転して３次元カメラ２０によって取得した３次元データを、基準座標系の３次元データに変換した新たな１組の３次元データが記憶される。そして、作業者は、この場合も、必要に応じて、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに必要な回数だけ回転させて、測定対象物ＯＢを３次元カメラ２０に測定させることにより、前記回数に対応した組数の３次元データを不揮発性メモリに記憶させることができる。
【００９３】
さらに、３次元カメラ２０を移動させて、測定対象物ＯＢを３次元測定する必要がある場合には、前述のように、真球１１ａ，１１ｂ，１１ｃをステージ１０上にセットして、図７のステップＳ３１０〜Ｓ３１６及び図８のステップＳ４２６〜Ｓ４３０の処理により、３次元カメラ２０の移動に伴うカメラ座標系の座標変換係数を取得する。そして、図７のステップＳ３０２〜Ｓ３０８及び図８のステップＳ４０２〜Ｓ４２４の処理により、測定対象物ＯＢを３次元カメラ２０で測定して、測定により得た３次元データを基準座標系における３次元データに座標変換して、基準座標系に座標変換された３次元データが不揮発性メモリに新たに記憶される。この場合も、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに回転させて、基準座標系の３次元データを得る。このような処理の結果、３次元カメラ２０の複数の位置ごとに、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに回転させながら取得した測定対象物ＯＢに関する複数組の３次元データが不揮発性メモリに記憶されることになる。そして、不揮発性メモリに記憶されている複数組の３次元データは、全て基準座標系におけるデータに変換されている。
【００９４】
このように、３次元カメラ２０の複数の位置ごとに、ステージ１０を回転軸Ａ，Ｂ，Ｃ周りに回転させながら測定対象物ＯＢの３次元データを取得した後、作業者は、入力装置３１を操作して測定対象物ＯＢの３次元画像を確認するために測定終了を指示する。この測定終了の指示に応答して、コントローラ３０は、図７の対象物測定プログラムのステップＳ３１８にて「Ｙｅｓ」と判定して、ステップＳ３２０にてデータ処理装置４０に３次元画像データの生成を指示して、ステップＳ３２２にて対象物測定プログラムの実行を終了する。
【００９５】
この３次元画像データの生成指示に応答して、データ処理装置４０は、ステップＳ４３２にて「Ｙｅｓ」と判定して、ステップＳ４３４〜４３８の処理を実行する。ステップＳ４３４においては、前記不揮発性メモリに記憶されている複数組の測定対象物ＯＢの３次元データを合成する。この合成においては、基準座標系の複数組の３次元データが１組の３次元データに集合させられる。ステップＳ４３６においては、合成した３次元データに基づいて測定対象物ＯＢの３次元形状を表す３次元画像データが生成され、生成された３次元画像データが不揮発性メモリに記憶される。ステップＳ４３８においては、前記不揮発性メモリに記憶されている３次元画像データが表示装置４１に供給される。表示装置４１は、この供給された３次元画像データを用いて、測定対象物ＯＢの３次元画像を表示する。
【００９６】
上記のように動作する実施形態においては、図７のステップＳ３１０〜Ｓ３１４の処理により、図４ＡのステップＳ１０６の処理により記憶されたステージ１０の定点の座標を用いて、座標系Ｍの３次元カメラ２０による３次元データを、座標系Ｓ（基準座標系）の３次元カメラ２０による３次元データに座標変換するための座標変換係数が取得される。そして、図８のステップＳ４１６の処理により、座標系Ｍの３次元カメラ２０による３次元データは、前記座標変換係数を用いて、座標系Ｓの３次元カメラ２０による３次元データに変換される。そして、この座標系Ｓに変換された３次元データは、図８のステップＳ４１８〜Ｓ４２２の処理により、ステージ１０の基準位置に対応した基準座標系の３次元データに変換される。したがって、ステージ１０に対する３次元カメラ２０の位置を変化させても、ステージ１０に定義した定点の座標を取得するための測定を１回行うのみで回転角度ごとの座標変換係数を得ることができ、測定の効率が良好に保たれる。
【００９７】
また、ステージ１０に定義される定点は、ステージ１０に対して一定の位置に定点を定義可能な真球１１ａ，１１ｂ，１１ｃをステージ１０の穴１０ａ，１０ｂ，１０ｃに装着することで得られる。したがって、ステージ１０に定義した定点の座標を取得するための測定を行うときだけ、ステージ１０に真球１１ａ，１１ｂ，１１ｃを取り付ければよいので、ステージ１０に測定対象物ＯＢを載置するのに邪魔にならない。
【００９８】
以上、本発明の一実施形態について説明したが、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
【００９９】
上記実施形態では、図４ＡのステップＳ１１６，Ｓ１２６，Ｓ１３８，Ｓ１４８、図４ＢのステップＳ１６０及び図７のステップＳ３１４の処理により、ステージ１０の回転に関する座標変換係数及び３次元カメラ２０の移動に関する座標変換係数の取得において、３つの定点（すなわち、３つの真球１１ａ，１１ｂ，１１ｃの中心座標）を用いて座標変換係数（行列ＭAの行列値ｇ及び行列値ａA，ｂA，ｃA、行列ＭＢの行列値ｇ及び行列値ａＢ，ｂＢ，ｃＢ、行列ＭＣの行列値ｇ及び行列値ａＣ，ｂＣ，ｃＣ、並びに行列ＭＳの行列値ｇ及び行列値ａＳ，ｂＳ，ｃＳ）を計算するようにした。しかし、これに代え、２つ以上の定点と１つ以上のベクトルとを定義し、又は１つ以上の定点と２つ以上のベクトルとを定義して、座標変換係数を計算してもよい。第１座標系の座標値を第２座標系の座標に変換するための座標変換係数を計算するためには、定点に関しては、第１座標系の定点座標値が座標値（ｘ’，ｙ’，ｚ’）であり、第２座標系の定点座標値が座標値（ｘ，ｙ，ｚ）であれば、これらの座標値を前記数２，３と同様な数１６に代入する。また、ベクトルに関しては、第１座標系のベクトルの成分が（α’，β’，γ’）であり、第２座標系のベクトルの成分が（α，β，γ）であれば、これらのベクトル成分を前記数８と同様な数１７に代入する。
【０１００】
【数１６】
2011242139.tif 000017
【０１０１】
【数１７】
2011242139.tif 000018
【０１０２】
なお、第１座標系のベクトルと第２座標系のベクトルの大きさが同じ場合には、前記数１７の演算の適用のままでよいが、第１座標系のベクトルと第２座標系のベクトルの大きさが異なる場合には、下記数１８の演算の実行により係数Ｋを計算する。そして、この計算した係数Ｋを第２座標系のベクトルにかけて前記数１７に代入する。このような数１６及び数１７への代入により、２つ以上の定点と１つ以上のベクトルとを定義した場合には、３つの行列値ｇからなる数１６に関する２つ以上の連立方程式と数１７に関する１つ以上の連立方程式が用意されることになる。また、１つ以上の定点と２つ以上のベクトルとを定義した場合には、３つの行列値ｇからなる数１６に関する１つ以上の連立方程式と数１７に関する２つ以上の連立方程式が用意されることになる。いずれの場合も、３つの行列値ｇからなる３つ以上の連立方程式が用意され、この連立方程式を解くことにより座標変換係数（ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３，ａ，ｂ，ｃ）が計算される。
【０１０３】
【数１８】
2011242139.tif 000019
【０１０４】
次に、２つ以上の定点と１つ以上のベクトルとの定義、及び１つ以上の定点と２つ以上のベクトルとの定義に関する具体的方法について説明する。２つ以上の定点と１つ以上のベクトルとを定義する場合には、例えば、図１０（Ａ）に示すように、ステージ１０上にセットした２つの真球１１ａ，１１ｂの中心座標を２つの定点として定義するとともに、ステージ１０の上面の法線ベクトルを１つのベクトルとして定義すればよい。
【０１０５】
また、１つ以上の定点と２つ以上のベクトルを定義する場合には、例えば、図１０（Ｂ）に示すように、ステージ１０上にセットした１つの真球１１ａの中心座標を１つの定点として定義するとともに、ステージ１０上に作成した直線状の模様１０ｅの方向によって規定されるベクトルと、ステージ１０の上面の法線ベクトルとを２つのベクトルとして定義すればよい。また、図１０（Ｃ）に示すように、ステージ１０上に作成した直線状の交差する２つの模様１０ｆ，１０ｇの方向によって２つのベクトルを定義するとともに、２つの直線状の模様１０ｆ，１０ｇの交点によって定点を定義するようにしてもよい。また、図１０（Ｄ）に示すように、ステージ１０の上面の法線ベクトルと、ステージに作成した直線状の模様１０ｈの方向とによって２つベクトルを定義するとともに、模様１０ｈと模様１０ｉとの交点で定点を定義するようにしてもよい。また、図１０（Ｅ）及び図１０（Ｆ）に示すように、ステージ１０を、上面に加えて少なくとも１つの平らな側面及び頂点（角部）を有するように構成し、前記上面の法線ベクトルと側面の法線ベクトルとを２つのベクトルとして定義するとともに、頂点を定点として定義するようにしてもよい。
【０１０６】
前述した直線状の模様１０ｅ〜１０ｉを利用する場合、模様１０ｅ〜１０ｉの反射率とステージ１０上面の他の部位の反射率とを異ならせておいて、３次元カメラ２０による３次元形状の測定の際に反射光量も同時に測定するようにすれば、模様１０ｅ〜１０ｉに関する３次元データの抽出を行うことができる。また、ステージ１０の上面と側面の法線ベクトルを利用する場合には、ステージ１０の上面と側面とで反射率を異ならせておいて、３次元カメラ２０による３次元形状の測定の際に反射光量も同時に測定するようにすれば、ステージ１０の上面と側面に関する３次元データをそれぞれ別々に抽出することができる。そして、これらの測定によって得られた３次元データから定点座標及び法線ベクトルの成分を計算する方法は、従来から知られている技術（例えば、特開２００５−２４９４０２号公報、特開２００５−３５２６３０号公報、特開２００８−１６４４９３号公報参照）を利用できる。このように、ステージ１０の形状における頂点、上面及び側面の法線ベクトル、ステージ１０に描かれた模様から定まる点又は直線部分を利用することにより、ステージ１０に定義される定点又はベクトルの成分を取得する際、ステージ１０をそのまま測定すればよいので、効率がよい。
【０１０７】
また、上記図４ＡのステップＳ１１６，Ｓ１２６，Ｓ１３８，Ｓ１４８、図４ＢのステップＳ１６０及び図７のステップＳ３１４の処理による座標変換係数の取得において、図４Ａの基準定点座標取得ルーチンの処理より、ステージ１０が基準位置にある状態の定点の座標を記憶しておいて、この記憶しておいた定点の座標を利用している。したがって、前記変形例のように、座標変換に定点及びベクトルを利用する場合には、図４Ａの基準定点座標取得ルーチンにて、定点の座標を記憶しておくのに代えて、前記座標変換係数の取得において利用される、ステージ１０が基準位置にある状態の定点の座標及びベクトルの成分を取得してＲＡＭ又は不揮発性メモリに記憶しておくようにする。
【０１０８】
定点やベクトルを定義する方法は、図１０に示す例以外にも種々な形態が考えられる。例えば、物体を用いて定点を定義するときは、３次元データから定点座標を計算するデータ処理が最も容易であるために、真球を使用することが好ましい。しかし、定点を定義できればよいので、円柱、円錐、角錐、直方体などの形状の物体を用いてもよいし、模様であれば、円、多角形といった模様でもよい。
【０１０９】
また、上記実施形態では、各回転軸における各回転角度ごとに３次元形状測定を行い、定点座標を取得して各回転角度ごとに座標変換係数を取得した。しかし、これに代えて、図１１に示すように、１つの定点を定義して３つ回転軸Ａ，Ｂ，Ｃ周りに、ステージ１０をそれぞれ回転させながら３つ以上の回転角度でそれぞれ定点座標を取得し、これらの定点座標で定まる平面と定点座標で定まる円の中心座標とから回転軸Ａ，Ｂ，Ｃの位置をそれぞれ計算し、理論的に、この回転軸Ａ，Ｂ，Ｃの位置から各回転角度ごとの座標変換係数を回転角度の関数として取得してもよい。この場合も、定点の定義のためには、種々の形状の物体や模様を用いることができるが、図１１に示すように、ステージ１０にセットした真球１１ａを用いるとよい。
【０１１０】
各回転軸Ａ，Ｂ，Ｃにおける各回転角度ごとの座標変換係数は、ステージ１０の基準位置における基準座標系（カメラ座標系）の座標軸をそれぞれの座標軸周りに回転させて、回転軸に座標軸の１つが垂直に交差するとともに座標軸の１つが回転軸に平行となる座標軸を想定し、この座標軸が回転軸周りに回転することを想定すれば、回転軸周りの回転角度の関数として計算することができる。具体的には、各回転軸Ａ，Ｂ，Ｃごとに以下の順に計算を行い、座標変換係数を求めればよい。
【０１１１】
（１）回転軸に垂直で基準座標系（カメラ座標系）の原点Ｏを含む平面Ｈを計算する。
（２）各座標軸と平面Ｈとのなす角度を計算し、平面Ｈとのなす角度が最も小さい座標軸ａに垂直で原点Ｏを含む平面Ｉと平面Ｈから形成される直線のベクトルＪを計算し、このベクトルＪと座標軸ａ以外の２つの座標軸とがなす角度をそれぞれ計算し、小さい方の角度分、座標軸ａを回転させて他の１つの座標軸である座標軸ｂを平面Ｈ内にする座標変換係数Ｍ１を計算する。座標変換係数Ｍ１及び後述する座標変換係数Ｍ２，Ｍ３は、上記数３に示すように、３×３の行列である。
（３）座標軸ｂを、平面Ｈと座標軸ａがなす角度分、回転させて座標軸ａを平面Ｈ内にする座標変換係数Ｍ２を計算する。
【０１１２】
（４）平面Ｈと回転軸の交点Ｋを計算し、原点Ｏから交点Ｋに向かうベクトルとベクトルＪのなす角度を計算し、この角度分、座標軸ａ，ｂ以外の座標軸ｃを回転させ、座標軸ａの方向を原点Ｏから交点Ｋ方向にする座標変換係数Ｍ３を計算する。
（５）前記（４）でできた座標軸を回転軸周りに回転角度θだけ回転させるときの座標変換係数Ｍ(θ)，Ｔ(θ)を計算する。この場合は、原点移動があるので座標変換係数は３×３の行列であるＭ(θ)と、３×１の行列（ベクトル成分）であるＴ(θ)である。座標変換係数Ｍ(θ)，Ｔ(θ)とも、回転角度θの関数として計算することができる。
（６）前記（５）で回転させた座標軸を前記（２）、（３）、（４）で行った回転とは逆の回転を行う座標変換係数Ｍ３-1，Ｍ２-1，Ｍ１-1を計算する。
【０１１３】
（７）前記（２）〜（６）の順に回転を行うときの座標変換係数Ｍｔ(θ)＝Ｍ１-1・Ｍ２-1・Ｍ３-1・Ｍ(θ)・Ｍ３・Ｍ２・Ｍ１と座標変換係数Ｔｔ(θ)＝Ｍ１-1・Ｍ２-1・Ｍ３-1・Ｔ(θ)を計算する。
（８）前記（７）で求めた座標変換係数Ｍｔ(θ)，Ｔｔ(θ)はステージ１０の基準位置における基準座標系（カメラ座標系）の座標軸を回転軸周りに回転角度θだけ回転させたときの座標変換係数である。回転角度θだけ回転させた後の座標軸をステージ１０の基準位置における基準座標系（カメラ座標系）の座標軸にするための座標変換係数は、座標変換係数Ｍｔ(θ)の逆行列であるＭｔ(θ)-1と−Ｍｔ(θ)-1・Ｔｔ(θ)である。
【０１１４】
なお、この種の技術も従来から知られた技術（特表２０００−５０９５０５号公報、特開２００８−３２４４９号公報参照）である。
【０１１５】
また、上記実施形態ではステージ１０は回転軸Ａが固定されており、回転軸Ｂは回転軸Ａの回転角度が固定されると固定され、回転軸Ｃは回転軸Ａ，Ｂが固定されると固定されるようになっているが、座標変換を固定された回転軸による座標変換から行えば、前記回転軸Ａ，Ｂ，Ｃの関係は任意でよい。また、上記実施形態では回転軸は３つであったが、座標変換を固定された回転軸による座標変換から行っていけば、回転軸は２つであってもよいし、４つ以上であってもよい。
【０１１６】
また、上記実施形態では、座標系Ｍの３次元データを座標系Ｓ（基準座標系）の３次元データに座標変換する座標変換係数を得るときに、ステージ１０の回転軸Ａ，Ｂ，Ｃの回転角度を基準角度（０度）にして真球１１ａ，１１ｂ，１１ｃの３次元形状を測定して定点座標を取得したが、回転軸Ａ，Ｂ，Ｃが任意の回転角度であっても座標変換係数を得ることは可能である。この場合、図４Ａ及び図４Ｂの座標変換係数設定プログラムの実行によって不揮発性メモリに記憶されていてステージ１０の回転軸Ａ，Ｂ，Ｃ周りの回転角度における座標変換係数を用いて、座標系Ｓ（基準座標系）による定点座標を逆の座標変換により現在の回転角度による座標系による定点座標に変換し、この定点座標と３次元形状測定して取得した定点座標とを用いて座標系Ｍの３次元データを座標系Ｓ（基準座標系）の３次元データに座標変換する座標変換係数を取得すればよい。
【０１１７】
さらに、上記実施形態では、３次元カメラ２０はレーザ光を照射して測定を行うものであったが、測定対象物ＯＢの３次元形状を測定できるものであればどのような方式のものであってもよい。例えば、格子模様を投影して測定する方式のもの、超音波を使用して測定する方式のもの、プローブを接触させて測定する方式のものでもよい。
【符号の説明】
【０１１８】
１０…ステージ、１１ａ，１１ｂ，１１ｃ…真球、１６，１７，１８…モータ、２０…３次元カメラ、３０…コントローラ、３１…入力装置、４０…データ処理装置、４１…表示装置、ＯＢ…測定対象物
【図１】
2011242139.tif 000020
【図２】
2011242139.tif 000021
【図３】
2011242139.tif 000022
【図４Ａ】
2011242139.tif 000023
【図４Ｂ】
2011242139.tif 000024
【図５】
2011242139.tif 000025
【図６】
2011242139.tif 000026
【図７】
2011242139.tif 000027
【図８】
2011242139.tif 000028
【図９】
2011242139.tif 000029
【図１０】
2011242139.tif 000030
【図１１】
2011242139.tif 000031