(57)【要約】【課題】測定対象物の正確な３次元形状測定を行うために、精度のよい座標変換関数を計算することが可能な座標変換関数の補正方法を提供する。【解決手段】カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させた状態で、両座標系の２つの座標軸に対してそれぞれ平行に３次元形状測定装置３０を移動させ、各移動方向においてそれぞれ少なくとも２つの位置で基準球６０の３次元形状を測定する。そして、各移動方向ごとに座標変換関数によって座標変換された基準球６０の中心座標を定点として計算し、各移動方向ごとの各定点によって基準座標系に定義される直線の傾きを計算する。この各移動方向ごとに直線の傾きに応じて第１座標変換関数を座標回転関数Ｍ’を用いて補正した後、この補正された第１座標変換関数によって座標変換された定点を用いて第１座標変換関数の座標移動関数を補正する。【選択図】  図１
2006301991.tif 000002
【特許請求の範囲】
【請求項１】
変形可能な支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定して、前記３次元形状測定装置に関する座標系における前記測定した測定対象物の３次元形状を表す３次元画像データを生成し、同３次元画像データを前記支持機構の変形状態に応じて変化する座標変換関数を用いて予め決めた所定の座標系の３次元画像データに変換して、前記測定対象物を任意の方向から見て表示可能な３次元画像生成システムに適用される座標変換関数の補正方法において、
前記３次元形状測定装置を直線的に移動して少なくとも２つの位置で前記３次元形状測定装置の測定対象空間内に配置された基準物体の３次元形状を測定し、各測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す３次元画像データを生成する画像データ生成過程と、
前記座標変換関数および前記生成された各測定位置ごとの３次元画像データを用いて、前記少なくとも２つの位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データを計算する定点計算過程と、
前記予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きに応じて前記座標変換関数を補正する補正過程と
を含むことを特徴とする座標変換関数の補正方法。
【請求項２】
請求項１に記載した座標変換関数の補正方法において、
前記座標変換関数を、
前記３次元形状測定装置に関する座標系の３次元画像データを前記支持機構における前記３次元形状測定装置の取り付け部に関する座標系の３次元画像データに変換するための第１座標変換関数と、
前記支持機構の変形状態に応じて前記支持機構における前記３次元形状測定装置の取り付け部に関する座標系の３次元画像データを前記予め決めた所定の座標系の３次元画像データに変換するための第２座標変換関数とで構成し、
前記補正過程では、前記第１座標変換関数を補正するようにした座標変換関数の補正方法。
【請求項３】
請求項１または２に記載した座標変換関数の補正方法において、
前記定点計算過程では、
前記生成された各測定位置ごとの３次元画像データを、前記座標変換関数を用いて前記予め決めた所定の座標系で表す３次元画像データに変換し、かつ
前記予め決めた所定の座標系に変換した３次元画像データを用いて、前記基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算するようにした座標変換関数の補正方法。
【請求項４】
請求項１または２に記載した座標変換関数の補正方法において、
前記定点計算過程では、
前記生成された各測定位置ごとの３次元画像データを用いて、前記基準物体の定点を前記３次元形状測定装置に関する座標系で表す３次元データとして計算し、かつ
前記計算した３次元形状測定装置に関する座標系で表す前記基準物体の定点の３次元データを、前記座標変換関数を用いて前記予め決めた所定の座標系で表す３次元データに変換するようにした座標変換関数の補正方法。
【請求項５】
請求項１ないし４のうちのいずれか一つに記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記予め決めた所定の座標系の座標軸に平行に前記３次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項６】
請求項５に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記予め決めた所定の座標系の少なくとも２つの座標軸に平行に前記３次元形状測定装置をそれぞれ移動するようにした座標変換関数の補正方法。
【請求項７】
請求項５または６に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記３次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、前記３次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項８】
請求項１ないし４のうちのいずれか一つに記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記３次元形状測定装置を直交する少なくとも２方向に移動するようにした座標変換関数の補正方法。
【請求項９】
請求項８に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記３次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、前記３次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項１０】
請求項１ないし４のうちのいずれか一つに記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記３次元形状測定装置に関する座標系の座標軸に平行に前記３次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項１１】
請求項１０に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記３次元形状測定装置に関する座標系の少なくとも２つの座標軸に平行に前記３次元形状測定装置をそれぞれ移動するようにした座標変換関数の補正方法。
【請求項１２】
請求項１ないし１１のうちのいずれか一つに記載した座標変換関数の補正方法において、さらに、
前記補正過程では、
前記予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きを計算し、かつ
前記計算した傾きに応じて前記座標変換関数を補正するようにした座標変換関数の補正方法。
【請求項１３】
請求項１２に記載した座標変換関数の補正方法において、さらに、
前記支持機構における前記３次元形状測定装置の取り付け部の移動量を前記支持機構の変形状態に応じて検出し、
前記補正過程の直線の傾きの計算に前記３次元形状測定装置の取り付け部の移動量を用いるようにした座標変換関数の補正方法。
【請求項１４】
変形可能な支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定して、前記３次元形状測定装置に関する座標系における前記測定した測定対象物の３次元形状を表す３次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり前記支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した３次元画像データを予め決めた所定の座標系の３次元画像データに変換して、前記測定対象物を任意の方向から見て表示可能な３次元画像生成システムに適用される座標変換関数の補正方法において、
前記３次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして特定する定点データ特定過程と、
前記３次元形状測定装置を直線的に移動して少なくとも２つの位置で前記３次元形状測定装置の測定対象空間内に配置された基準物体の３次元形状を測定し、各測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す３次元画像データを生成する画像データ生成過程と、
前記座標変換関数および前記生成された各測定位置ごとの３次元画像データを用いて、前記少なくとも２つの位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算する第１定点計算過程と、
前記予め決めた所定の座標系の座標軸に対する前記第１定点計算過程で計算された定点によって定義される直線の傾きに応じて前記座標変換関数のうちの座標回転関数を補正する第１補正過程と、
前記第１定点計算過程で計算された定点の３次元データ、前記画像データ生成過程で生成された３次元画像データ、または前記３次元形状測定装置によって３次元形状を新たに測定して生成した前記３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データと、前記第１補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算する第２定点計算過程と、
前記第２定点計算過程で計算された定点の３次元データと、前記定点データ特定過程で特定された定点の３次元データとの差に応じて、前記座標変換関数のうちの座標移動関数を補正する第２補正過程とを含むことを特徴とする座標変換関数の補正方法。
【請求項１５】
変形可能な支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定して、前記３次元形状測定装置に関する座標系における前記測定した測定対象物の３次元形状を表す３次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり前記支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した３次元画像データを予め決めた所定の座標系の３次元画像データに変換して、前記測定対象物を任意の方向から見て表示可能な３次元画像生成システムに適用される座標変換関数の補正方法において、
前記３次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データを特定する定点データ特定過程と、
前記３次元形状測定装置を移動して少なくとも３つの位置で前記３次元形状測定装置の測定対象空間内に配置された基準物体の３次元形状を測定し、各測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す３次元画像データを生成する画像データ生成過程と、
前記画像データ生成過程で生成した基準物体の３次元形状を表す３次元画像データを用いて、前記各測定位置ごとに前記基準物体の定点を前記３次元形状測定装置に関する座標系で表す３次元データとして生成する３次元データ生成過程と、
前記定点データ特定過程で特定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データと、前記基準物体の定点を前記３次元形状測定装置に関する座標系で表す３次元データを用いて前記座標変換関数を生成する座標変換関数生成過程と、
前記座標変換関数生成過程で生成した座標変換関数と、前記画像データ生成過程で生成した各測定位置ごとの基準物体の３次元画像データのうちの少なくとも２つの測定位置の基準物体の３次元画像データとを用いて、前記少なくとも２つの測定位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算する第１定点計算過程と、
前記予め決めた所定の座標系の座標軸に対する前記第１定点計算過程で計算された定点によって定義される直線の傾きに応じて前記座標変換関数のうちの座標回転関数を補正する第１補正過程と、
前記第１定点計算過程で計算された定点の３次元データ、前記画像データ生成過程で生成された３次元画像データ、または前記３次元形状測定装置によって３次元形状を新たに測定して生成した前記３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データと、前記第１補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データを計算する第２定点計算過程と、
前記第２定点計算過程で計算された定点の３次元データと、前記定点データ特定過程で特定された定点の３次元データとの差に応じて、前記座標変換関数のうちの座標移動関数を補正する第２補正過程とを含むことを特徴とする座標変換関数の補正方法。
【請求項１６】
請求項１４または１５に記載した座標変換関数の補正方法において、
前記定点データ特定過程では、前記支持機構に触針を取り付け、同触針を前記基準物体に接触させて、前記支持機構の変形状態に応じて前記基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算するようにした座標変換関数の補正方法。
【請求項１７】
前記基準物体は、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有する請求項１ないし１６のうちのいずれか一つに記載した座標変換関数の補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状測定装置により複数の異なる位置で測定した物体の各座標系における３次元画像データを、１つの基準座標系における３次元形状データ群に変換する座標変換関数の補正方法に関する。
【背景技術】
【０００２】
従来から、測定対象の物体に対し測定位置が移動される３次元形状測定装置により、測定対象物の３次元形状を複数の異なる位置から測定して各測定位置ごとの３次元画像データを合成し、測定対象物の立体形状を任意の方向から見て表示できるようにした３次元形状の測定方法はよく知られている。この測定においては、測定対象物の３次元形状を測定する前に、３次元形状測定装置による各測定位置ごとの座標値を基準座標系における座標値に変換するための座標変換関数の計算が行われる。具体的には、予め決められた形状の基準物体を測定対象空間内に配置して、この３次元形状を測定し、同測定した３次元形状を表す３次元画像データを用いて予め基準物体内に設定してある定点の座標値を各測定位置ごとに計算し、この計算した座標値を用いて座標変換関数を計算する。そして、この座標変換関数により各測定位置における測定対象物の３次元形状を表す３次元画像データを基準座標系における３次元画像データに変換することが行われている（特許文献１参照）。
【特許文献１】特開２００２−３２８０１３号公報
【０００３】
しかしながら、本発明の発明者らは、上記のように計算した座標変換関数を用いて、同一の測定対象物を複数の異なる位置で測定した場合、同測定対象物を表す基準座標系における３次元画像データが、各測定位置ごとに僅かに異なる値になっていることを発見した。これは、基準物体の３次元形状を測定する際、基準物体を表す３次元画像データに測定誤差が生じているため計算した座標変換関数に誤差があることによると考えられる。このため、表示装置に表示される測定対象物の立体形状の位置が同測定対象物を見る方向によって僅かにずれ、正確な３次元形状測定ができないという問題があった。
【発明の開示】
【０００４】
本発明は上記問題に対処するためなされたもので、その目的は、測定対象物の正確な３次元形状測定を行うために、精度のよい座標変換関数を計算することが可能な座標変換関数の補正方法を提供することにある。
【０００５】
前記目的を達成するため、本発明の特徴は、変形可能な支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定して、３次元形状測定装置に関する座標系における前記測定した測定対象物の３次元形状を表す３次元画像データを生成し、同３次元画像データを支持機構の変形状態に応じて変化する座標変換関数を用いて予め決めた所定の座標系の３次元画像データに変換して、測定対象物を任意の方向から見て表示可能な３次元画像生成システムに適用される座標変換関数の補正方法において、３次元形状測定装置を直線的に移動して少なくとも２つの位置で３次元形状測定装置の測定対象空間内に配置された基準物体の３次元形状を測定し、各測定位置ごとに前記３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データを生成する画像データ生成過程と、座標変換関数および前記生成された各測定位置ごとの３次元画像データを用いて、前記少なくとも２つの位置で測定した基準物体の定点を予め決めた所定の座標系で表す３次元データを計算する定点計算過程と、予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きに応じて座標変換関数を補正する補正過程とを含むことにある。
【０００６】
この場合、前記座標変換関数を、３次元形状測定装置に関する座標系の３次元画像データを支持機構における３次元形状測定装置の取り付け部に関する座標系の３次元画像データに変換するための第１座標変換関数と、支持機構の変形状態に応じて支持機構における３次元形状測定装置の取り付け部に関する座標系の３次元画像データを前記予め決めた所定の座標系の３次元画像データに変換するための第２座標変換関数とで構成し、前記補正過程では、前記第１座標変換関数を補正するとよい。
【０００７】
また、この場合、前記定点計算過程では、前記生成された各測定位置ごとの３次元画像データを、座標変換関数を用いて前記予め決めた所定の座標系で表す３次元画像データに変換し、かつ予め決めた所定の座標系に変換した３次元画像データを用いて、基準物体の定点を予め決めた所定の座標系で表す３次元データとして計算するようにしてもよいし、これに代えて、前記定点計算過程では、前記生成された各測定位置ごとの３次元画像データを用いて、基準物体の定点を３次元形状測定装置に関する座標系で表す３次元データとして計算し、かつ前記計算した３次元形状測定装置に関する座標系で表す基準物体の定点の３次元データを、座標変換関数を用いて予め決めた所定の座標系で表す３次元データに変換するようにしてもよい。
【０００８】
また、この場合、例えば、前記基準物体を、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有するものとするとよい。
【０００９】
このように構成した本発明の特徴によれば、３次元形状測定装置を直線的に移動させて少なくとも２つの位置で基準物体を測定し、予め決められた所定の座標系における座標値として前記各測定位置ごとの基準物体の定点を計算する。そして、各測定位置ごとの定点によって定義される直線の傾きに応じて座標変換関数を補正している。この場合、同直線の傾きは、座標変換の変換先である予め決められた所定の座標系の座標軸に対する傾きである。すなわち、補正の対象である座標変換関数を用いて座標変換された定点によって定義される直線の傾きに応じて座標変換関数が補正される。したがって、座標変換関数に誤差が生じている場合であっても、前記直線の傾きに応じて座標変換関数を補正することができ、精度のよい座標変換関数を計算することができる。この結果、測定対象物の正確な３次元形状測定を行うことができる。
【００１０】
また、本発明の他の特徴は、前記画像データ生成過程では、前記予め決めた所定の座標系の座標軸に平行に前記３次元形状測定装置を移動するようにしたことにある。この場合、前記予め決めた所定の座標系の少なくとも２つの座標軸に平行に前記３次元形状測定装置をそれぞれ移動するようにするとよい。また、この場合、前記３次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、前記３次元形状測定装置を移動するようにするとよい。
【００１１】
また、これに代えて、前記画像データ生成過程では、前記３次元形状測定装置を直交する少なくとも２方向に移動するようにしたことにある。この場合、３次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、３次元形状測定装置を移動するようにするとよい。
【００１２】
また、これらに代えて、前記画像データ生成過程では、３次元形状測定装置に関する座標系の座標軸に平行に３次元形状測定装置を移動するようにしたことにある。この場合、３次元形状測定装置に関する座標系の少なくとも２つの座標軸に平行に３次元形状測定装置をそれぞれ移動するようにするとよい。
【００１３】
これらの場合、前記補正過程では、予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きを計算し、かつ前記計算した傾きに応じて前記座標変換関数を補正するようにするとよい。その際、これに加えて、前記支持機構における前記３次元形状測定装置の取り付け部の移動量を前記支持機構の変形状態に応じて検出し、前記補正過程の直線の傾きの計算に前記３次元形状測定装置の取り付け部の移動量を用いるようにしてもよい。
【００１４】
これらによれば、３次元形状測定装置を３次元形状測定装置に関する座標系および予め決められた所定の座標系の各座標軸に対して平行に移動させた場合における各測定位置ごとの定点、または同各座標軸に平行に３次元形状測定装置を移動させた場合と等価な各測定位置ごとの定点を計算することができる。この場合、前記予め決めた座標系における基準物体の定点によって定義される直線は、３次元形状測定装置の移動方向に対応する座標軸とこれ以外の２つの座標軸の内のいずれか１つの座標軸の座標値により定義される。すなわち、同直線は、移動方向に対応する座標軸と前記２つの座標軸の内のいずれか１つの座標軸により定義される平面内にある。これにより、前記座標変換関数を用いて座標変換された定点によって定義される直線の傾きを用いて、座標変換関数における座標軸の角度のずれを簡単な計算処理により補正することができる。
【００１５】
また、本発明の他の特徴は、変形可能な支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定して、３次元形状測定装置に関する座標系における前記測定した測定対象物の３次元形状を表す３次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した３次元画像データを予め決めた所定の座標系の３次元画像データに変換して、測定対象物を任意の方向から見て表示可能な３次元画像生成システムに適用される座標変換関数の補正方法において、３次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データを特定する定点データ特定過程と、３次元形状測定装置を直線的に移動して少なくとも２つの位置で３次元形状測定装置の測定対象空間内に配置された基準物体の３次元形状を測定し、各測定位置ごとに３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データを生成する画像データ生成過程と、座標変換関数および前記生成された各測定位置ごとの３次元画像データを用いて、前記少なくとも２つの位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算する第１定点計算過程と、前記予め決めた所定の座標系の座標軸に対する第１定点計算過程で計算された定点によって定義される直線の傾きに応じて座標変換関数のうちの座標回転関数を補正する第１補正過程と、第１定点計算過程で計算された定点の３次元データ、前記画像データ生成過程で生成された３次元画像データ、または前記３次元形状測定装置によって３次元形状を新たに測定して生成し３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データと、第１補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算する第２定点計算過程と、第２定点計算過程で計算された定点の３次元データと、定点データ特定過程で特定された定点の３次元データとの差に応じて、座標変換関数のうちの座標移動関数を補正する第２補正過程とを含むことにある。
【００１６】
この場合、前記定点データ特定過程では、支持機構に触針を取り付け、同触針を基準物体に接触させて、支持機構の変形状態に応じて基準物体の定点を前記予め決めた所定の座標系で表す３次元データを計算するようにするとよい。また、前記基準物体を、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有するようにするとい。
【００１７】
これによれば、第１補正過程によって座標変換関数の座標軸の回転を表す座標回転関数を補正した後、第２補正過程によって座標変換関数の座標軸の直線移動を表す座標移動関数を補正している。この場合、第２補正過程においては、第１補正過程によって座標回転関数が補正された座標変換関数を用いて座標移動関数の補正を行っている。このため、座標回転関数が補正された座標変換関数によって座標変換された各測定位置ごとの定点は、予め決められた所定の座標系において略同一の座標値となる。これにより、第２定点計算過程で計算された定点の３次元データと、定点データ特定過程で特定された定点の３次元データとの差を一義的に計算することができ、座標移動関数を精度よく補正することができるとともに、精度のよい座標変換関数を計算することができる。この結果、測定対象物の正確な３次元形状測定を行うことができる。
【００１８】
また、本発明の他の特徴は、変形可能な支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定して、３次元形状測定装置に関する座標系における前記測定した測定対象物の３次元形状を表す３次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した３次元画像データを予め決めた所定の座標系の３次元画像データに変換して、測定対象物を任意の方向から見て表示可能な３次元画像生成システムに適用される座標変換関数の補正方法において、３次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データを特定する定点データ特定過程と、３次元形状測定装置を移動して少なくとも３つの位置で３次元形状測定装置の測定対象空間内に配置された基準物体の３次元形状を測定し、各測定位置ごとに３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データを生成する画像データ生成過程と、画像データ生成過程で生成した基準物体の３次元形状を表す３次元画像データを用いて、各測定位置ごとに基準物体の定点を３次元形状測定装置に関する座標系で表す３次元データとして生成する３次元データ生成過程と、定点データ特定過程で特定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データと、基準物体の定点を３次元形状測定装置に関する座標系で表す３次元データを用いて座標変換関数を生成する座標変換関数生成過程と、座標変換関数生成過程で生成した座標変換関数と、画像データ生成過程で生成した各測定位置ごとの基準物体の３次元画像データのうちの少なくとも２つの測定位置の基準物体の３次元画像データとを用いて、前記少なくとも２つの測定位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す３次元データとして計算する第１定点計算過程と、前記予め決めた所定の座標系の座標軸に対する第１定点計算過程で計算された定点によって定義される直線の傾きに応じて座標変換関数のうちの座標回転関数を補正する第１補正過程と、第１定点計算過程で計算された定点の３次元データ、画像データ生成過程で生成された３次元画像データ、または３次元形状測定装置によって３次元形状を新たに測定して生成した３次元形状測定装置に関する座標系における基準物体の３次元形状を表す３次元画像データと、第１補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す３次元データを計算する第２定点計算過程と、第２定点計算過程で計算された定点の３次元データと、定点データ特定過程で特定された定点の３次元データとの差に応じて、座標変換関数のうちの座標移動関数を補正する第２補正過程とを含むことにある。
【００１９】
この場合、前記定点データ特定過程では、支持機構に触針を取り付け、同触針を基準物体に接触させて、支持機構の変形状態に応じて基準物体の定点を前記予め決めた所定の座標系で表す３次元データを計算するようにするとよい。また、前記基準物体を、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有するようにするとい。
【００２０】
これによれば、画像データ生成過程によって生成した基準物体の３次元形状を表す３次元画像データを、座標変換関数を生成する座標変換関数生成過程、座標変換関数を補正する第１補正過程および第２補正過程においてそれぞれ用いている。このため、基準物体の３次元形状を測定する作業を１回行えば、座標変換関数の生成および同座標変換関数の補正が自動的に行われるため、作業効率良く座標変換関数の補正を行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の一実施形態について図面を用いて説明する。図１は、本発明の座標変換関数の補正方法に利用される３次元画像生成システムの基本構成を示す概略図である。
【００２２】
この３次元画像生成システムは、基台１０上に固定して先端部を測定対象空間内で自由に変位させる支持機構２０と、支持機構２０の先端部に取り付けた３次元形状測定装置３０とを備えている。支持機構２０は、固定ポール２１、回転ロッド２２、第１アーム２３、第２アーム２４および第３アーム２５からなる。
【００２３】
固定ポール２１は、円筒状に形成され、その下端にて基台１０上に垂直に立設固定されている。回転ロッド２２は、円柱状に形成され、その下端部にて固定ポール２１に軸線回りに回転可能に支持されて、固定ポール２１から上方に突出している。第１アーム２３は、その基端に設けた連結部２３ａにて、回転ロッド２２の先端に設けた連結部２２ａに、回転ロッド２２の軸線方向に直交する軸線回りに回転可能に組み付けられている。第２アーム２４は、その基端に設けた連結部２４ａにて、第１アーム２３の先端に設けた連結部２３ｂに、第１アーム２３の軸線方向に直交する軸線回りに回転可能に組み付けられている。第３アーム２５は、その基端に設けた連結部２５ａにて、第２アーム２４の先端に設けた連結部２４ｂに、第２アーム２４の軸線方向に直交する軸線回りに回転可能に組み付けられている。第３アーム２５の先端部には、固定部材２６を介して３次元形状測定装置３０が、第３アーム２５の軸線回りに回転可能、かつ着脱自在に取り付けられている。固定部材２６は、３次元形状測定装置３０の方形状のハウジングの底面または側面に固定されている。
【００２４】
また、支持機構２０内には、回転角センサ２７ａ，２７ｂ，２７ｃ，２７ｄ，２７ｅがそれぞれ設けられている。回転角センサ２７ａは、固定ポール２１内に組み込まれて、固定ポール２１に対する回転ロッド２２の軸線回りの回転角を検出する。回転角センサ２７ｂは、第１アーム２３の連結部２３ａ内に組み込まれて、回転ロッド２２の連結部２２ａに対する第１アーム２３の連結部２３ａにおける一軸線回りの回転角を検出する。回転角センサ２７ｃは、第２アーム２４の連結部２４ａ内に組み込まれて、第１アーム２３の連結部２３ａに対する第２アーム２４の連結部２４ａにおける一軸線回りの回転角を検出する。回転角センサ２７ｄは、第３アーム２５の連結部２５ａ内に組み込まれて、第２アーム２４の連結部２４ｂに対する第３アーム２５の連結部２５ａにおける一軸線回りの回転角を検出する。回転角センサ２７ｅは、第３アーム２５の先端部内に組み込まれて、第３アーム２５に対する３次元形状測定装置３０の第３アーム２５における一軸線回りの回転角、すなわち３次元形状測定装置３０の第３アーム２５の先端部に対する回転角を検出する。
【００２５】
３次元形状測定装置３０は、その正面側に位置する物体の３次元形状を測定するとともに同測定した３次元形状を表す情報を出力するものであり、本実施形態においては、レーザ光を用いて３角測量法に従って物体の３次元形状を測定するものである。なお、本実施形態では、レーザ光を用いるようにしているが、３次元物体の表面形状を測定し、反射率および色などを識別することが可能であれば他の光を用いてもよい。
【００２６】
この３次元形状測定装置３０においては、レーザ光源から物体に向けて出射されるレーザ光の進行方向にほぼ垂直な仮想平面を想定するとともに、同仮想平面上にて互いに直交するＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアを想定する。そして、３次元形状測定装置３０は、前記多数の微小エリアにレーザ光を順次照射し、物体からの反射光によって前記微小エリアが規定する物体表面までの距離をＺ軸方向距離として順次検出して、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報を得て、同３次元形状測定装置３０に面した物体表面の形状を測定するものである。
【００２７】
したがって、この３次元形状測定装置３０は、出射レーザ光の向きをＸ軸方向に変化させるＸ軸方向走査器と、出射レーザ光の向きをＹ軸方向に変化させるＹ軸方向走査器と、物体表面にて反射された反射レーザ光を受光して物体表面までの距離を検出する距離検出器とを備えている。Ｘ軸方向走査器およびＹ軸方向走査器としては、レーザ光源からの出射レーザ光の光路をＸ軸方向およびＹ軸方向に独立に変化させ得る機構であればよく、例えばレーザ光源自体をＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させたり、出射レーザ光の光路に設けられてその方向を変更するガルバノミラーをＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させる機構を利用できる。距離検出器としては、前記出射レーザ光の光路に追従して回転し、物体表面にて反射された反射レーザ光を集光する結像レンズおよび同集光したレーザ光を受光するＣＣＤなどの複数の受光素子を一列に配置させたラインセンサからなり、ラインセンサによる反射レーザ光の受光位置によって物体表面までの距離を検出する機構を利用できる。
【００２８】
したがって、このような３次元形状測定装置３０は、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報として、Ｘ軸方向走査器による出射レーザ光の基準方向に対するＸ軸方向への傾きθx、Ｙ軸方向走査器による出射レーザ光の基準方向に対するＹ軸方向への傾きθy、および距離検出器による物体表面までの距離Ｌzとが、前記仮想したＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアごとに出力される。より具体的には、Ｘ軸およびＹ軸方向への傾きθx，θyは、電動モータの基準位置からの回転角である。また、物体表面までの距離Ｌzは、ラインセンサにおける反射レーザ光の受光位置である。なお、前述した３次元形状測定装置３０はその一例を示すもので、レーザ光に代えてミリ波、超音波などを使用したものなど、いかなる３次元形状測定装置をも利用できる。
【００２９】
この３次元形状測定装置３０には、コントローラ４１および３次元画像処理装置４２が接続されている。コントローラ４１は、複数の操作子を含むキーボードなどからなる入力装置４３からの指示にしたがって、３次元形状測定装置３０の作動を制御する。また、コントローラ４１は、入力装置４３からの指示にしたがって３次元画像処理装置４２の作動を制御するとともに、同入力装置４３にて入力されたデータを３次元画像処理装置４２に供給する。
【００３０】
３次元画像処理装置４２は、コンピュータ装置によって構成されて図３，４，６，９のプログラムの実行により、回転角センサ２７ａ〜２７ｅによって検出された回転角および３次元形状測定装置３０からの３次元形状を表す情報、具体的には、Ｘ軸方向への傾きθｘ、Ｙ軸方向への傾きθｙ、物体表面までの距離Ｌｚを入力して、測定対象空間内に位置する物体の立体形状を任意の方向から見て表示可能な３次元画像データを生成する。この３次元画像処理装置４２には、表示装置４４が接続されている。表示装置４４は、液晶ディスプレイ、プラズマディスプレイ、ＣＲＴディスプレイなどを備えており、３次元画像処理装置４２から出力する３次元画像データに基づいて測定対象空間内に位置する物体の立体形状を表示する。
【００３１】
以下、上記のように構成した３次元画像生成システムの作動について説明する。まず、作業者は、３次元形状測定装置３０に関する座標系（以下、カメラ座標系という）によって表された３次元画像データを、支持機構２０に関する座標系（以下、アーム座標系という）によって表された３次元画像データに変換するための第１座標変換関数を計算する。ここで、カメラ座標系は、３次元形状測定装置３０に関する座標系であり、互いに直交する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり３次元形状測定装置３０の特定点を原点とする３次元座標系である。また、アーム座標系は、３次元形状測定装置３０の取り付け部に関する座標系であり、カメラ座標系に対応する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり、３次元形状測定装置３０を支持機構２０に取り付けるための取り付け部である第３アーム２５の先端部の予め決められた位置を原点とする３次元座標系である。この第３アーム２５の先端部の予め決められた位置とは、詳しくは第３アーム２５に対して軸線回りに回転する点である。
【００３２】
まず、作業者は、図２に示すように、第３アーム２５の先端部に、先端を尖らせて形成した触針５０の基部５１を固定する。次に、作業者は、基台１０上における適当な位置に基準球６０を配置する。この場合、基準球６０は、円柱状の支持部６１を介して設置され、基台１０の上面から適当な高さに配置される。基準球６０は、真球体に形成され測定対象空間内の定点を定めるための基準物体として機能する。なお、この触針５０においては、基部５１の所定位置に対する先端の位置は作業者により認識されており、３次元画像処理装置４２のメモリ装置に予め記憶される。また、固定ポール２１、回転ロッド２２および第１〜第３アーム２３〜２５の長さも作業者に認識されており、３次元画像処理装置４２のメモリ装置に予め記憶される。また、本実施形態においては、基準球６０を支持部６１を介して基台１０上に配置したが、基準球６０を直接基台１０上に配置するようにしてもよい。さらに、触針５０の先端を球状に形成し、基部５１の所定位置に対する球の中心位置を認識するようにしてもよい。
【００３３】
次に、作業者は、前記準備の終了後、入力装置４３を操作して、図３に示す触針測定プログラムを３次元画像処理装置４２に実行させる。そして、作業者は、触針５０を変位させて基準球６０の外表面の異なる４点に触針５０の先端を接触させるとともに、各接触ごとに入力装置４３を操作することにより触針５０の基準球６０に対する接触を入力する。３次元画像処理装置４２は、触針測定プログラムをステップＳ１０にて開始しており、前記接触の入力により、ステップＳ１２にて、触針５０の基準球６０への接触時に、回転角センサ２７ａ〜２７ｄから検出回転角をそれぞれ入力する。
【００３４】
そして、これらの入力した検出回転角のセットに加えて、固定ポール２１、回転ロッド２２、第１〜第３アーム２３〜２５および触針５０の長さを用いて、触針５０の基準球６０への接触点を表す座標であって基台１０に関する座標系である基準座標系の座標を計算する。基準座標系は、カメラ座標系に対応する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり固定ポール２１の基台１０への固定部における予め定められた点を原点とする３次元座標系である。このような基準座標系の座標の計算を各接触点ごとに行って、４つの接触点にそれぞれ対応した４組の座標データを一時的に記憶しておく。３次元画像処理装置４２は、ステップＳ１２の処理後、ステップＳ１４にて基準球６０の中心位置を表す座標であって基準座標系の座標（以下、中心座標(ｘ”,ｙ”,ｚ”)という）を、前記計算した４組の座標データを用いて計算する。この計算においては、球体の外表面を表す下記数１の方程式のＸ，Ｙ，Ｚに、前記４組の座標データを代入し、ａ，ｂ，ｃの各値を計算することにより、基準球６０の中心位置を表す座標(ｘ”,ｙ”,ｚ”)を計算する。なお、ａ，ｂ，ｃは球体の中心位置を表すＸ，Ｙ，Ｚ座標であり、ｄは球体の半径である。
【００３５】
【数１】
2006301991.tif 000003
【００３６】
次に、３次元画像処理装置４２は、ステップＳ１６にて、前記計算した中心座標(ｘ”,ｙ”,ｚ”)を基準球６０の定点を表す座標として記憶しておく。そして、ステップＳ１８にて、この触針測定プログラムの実行を終了する。なお、本実施形態では、基準球６０に対して触針５０を４箇所接触させるようにしたが、５箇所以上の接触を行って、補正を含む高精度の中心座標の計算を行うようにしてもよい。また、基準球６０の半径ｄが既知である場合には、接触点を３点にしても、基準球６０の中心座標を求めることができる。
【００３７】
次に、作業者は、図１に示すように、第３アーム２５の先端部に３次元形状測定装置３０を第３アーム２５の軸線回りに回転可能に組み付けるとともに、図４に示す座標変換関数計算プログラムを３次元画像処理装置４２に実行させる。そして、作業者は、入力装置４３を操作することによりコントローラ４１を介して、３次元形状測定装置３０に対して基準球６０の３次元形状の測定開始を指示する。これに応答して、３次元形状測定装置３０は、基準球６０の３次元形状の測定を開始する。この場合、作業者は、３次元形状測定装置３０を手で持って、回転ロッド２２、第１〜第３アーム２５および３次元形状測定装置３０の各連結部における回転変位を伴いながら、基準球６０に対して３次元形状測定装置３０を移動させて基準球６０の３次元形状を測定する。この場合、基準球６０の測定は、それぞれ異なる３つの測定位置からそれぞれ行われる。
【００３８】
一方、３次元画像処理装置４２は、３次元形状測定装置３０による基準球６０の３次元形状の測定中、前記座標変換関数計算プログラムの実行をステップＳ２０にて開始して、ステップＳ２２にて支持機構２０内の回転角センサ２７ａ〜２７ｅから検出回転角をそれぞれ入力する。そして、前記ステップＳ２２の処理後、ステップＳ２４にて、３次元形状測定装置３０による測定終了を待って、基準球６０の３次元形状を表す情報を入力する。すなわち、基準球６０の表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθx，θyおよび距離Ｌz）をそれぞれ入力する。そして、同ステップＳ２４にて、前記入力した３次元形状測定装置３０からのＸ−Ｙ−Ｚ座標に関する情報に基づいて、各測定位置ごとにおける基準球６０の３次元形状を表す立体形状データ群からなる３次元画像データをそれぞれ計算する。この場合、３次元画像データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系によって表されている。なお、前記３次元画像データ中に基準球６０以外の物体（例えば、基台１０など）に関する不要な３次元画像データが含まれている場合には、３次元画像処理装置４２は、３次元形状測定装置３０からＸ−Ｙ−Ｚ座標に関する情報とともに、ラインセンサの受光光量のデータまたは同受光光量の出射光量に対する比のデータを入力し、同ステップＳ２４にて、この受光光量または受光光量の出射光量に対する比のデータにより同不要な３次元画像データを除去する処理を併せて実行する。
【００３９】
次に、３次元画像処理装置４２は、ステップＳ２６にて、前記計算した各測定位置ごとの３次元画像データを、上記数１の方程式のＸ，Ｙ，Ｚに適用して、最小２乗法により基準球６０の各測定位置ごとに中心座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)を計算する。なお、各測定位置ごとの基準球６０の３次元画像データの区別は、前記入力した回転角センサ２７ａ〜２７ｅによる検出回転角を用いる。
【００４０】
次に、３次元画像処理装置４２は、ステップＳ２８にて、前記入力した回転角センサ２７ａ〜２７ｅによる検出回転角に加えて、固定ポール２１、回転ロッド２２および第１〜第３アーム２３〜２５の長さを用いて、第３アーム２５の先端部の予め決められた位置を表す座標、すなわちアーム座標系の原点を表す座標であって基準座標系に関する座標(ｘd1,ｙd1,ｚd1)，(ｘd2,ｙd2,ｚd2)，(ｘd３,ｙd3,ｚd3)を各測定位置ごとにそれぞれ計算する。また、このステップＳ２８においては、前記入力した回転角センサ２７ａ〜２７ｅによる検出回転角を用いて、アーム座標系のＸ軸、Ｙ軸およびＺ軸回りの回転角（α1，β1，γ1），（α2，β2，γ2），（α3，β3，γ3）も各測定位置ごとにそれぞれ計算する。
【００４１】
次に、３次元画像処理装置４２は、ステップＳ３０にて、前記図３の触針測定プログラムの実行によってメモリ装置に記憶した基準球６０の基準座標系における中心座標(ｘ”,ｙ”,ｚ”)と、前記ステップＳ２８の処理によって計算した基準座標系におけるアーム座標系の原点座標(ｘd1,ｙd1,ｚd1)，(ｘd2,ｙd2,ｚd2)，(ｘd3,ｙd3,ｚd3)と、同ステップＳ２８の処理によって計算した基準座標系に対するアーム座標系の各座標軸Ｘ，Ｙ，Ｚの回転角（α1，β1，γ1），（α2，β2，γ2），（α3，β3，γ3）とを下記数２及び数３に代入して、基準球６０の中心座標であってアーム座標系での中心座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)を計算する。
【００４２】
【数２】
2006301991.tif 000004
【００４３】
【数３】
2006301991.tif 000005
【００４４】
上記数２および数３は、Ｘ−Ｙ−Ｚ座標からなる第１座標系における一点の座標(ｘ,ｙ,ｚ)を、同第１座標系をＸ軸、Ｙ軸およびＺ軸回りにそれぞれｘθ，ｙθ，ｚθだけ回転させるとともに、同第１座標系の原点をＸ軸方向、Ｙ軸方向およびＺ軸方向にそれぞれａ，ｂ，ｃだけ移動させた第２座標系における同一点の座標(ｘ’,ｙ’,ｚ’)との関係を示している。そして、このステップＳ３０の計算においては、数２中の座標値ｘ，ｙ，ｚが、基準球６０の中心座標であって基準座標系の中心座標(ｘ”,ｙ”,ｚ”)の各Ｘ，Ｙ，Ｚ座標値にそれぞれ対応する。また、数２中の座標値ｘ’，ｙ’，ｚ’が、基準球６０の中心座標であってアーム座標系の中心座標(ｘ’,ｙ’,ｚ’)の各Ｘ，Ｙ，Ｚ座標値に対応する。なお、前記数２中の値ａ，ｂ，ｃは前記ステップＳ２８にて計算したアーム座標系の原点座標(ｘd1,ｙd1,ｚd1)，(ｘd2,ｙd2,ｚd2)，(ｘd3,ｙd3,ｚd3)に対応し、かつ前記数２中のα，β，γは同ステップＳ２８にて計算した回転角（α1，β1，γ1），（α2，β2，γ2），（α3，β3，γ3）に相当する。
【００４５】
前記ステップＳ３０の処理後、ステップＳ３２にて、ステップＳ２６の処理によって計算したカメラ座標系の基準球６０の各測定位置ごとの中心座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)と、ステップＳ３０の処理によって計算したアーム座標系の基準球６０の中心座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)とを用いて、カメラ座標系からアーム座標系への第１座標変換関数を計算する。
【００４６】
この第１座標変換関数の計算の前に、この種の座標変換について簡単に説明しておく。まず、Ｘ−Ｙ−Ｚ座標からなる第１座標系と、同第１座標系をＸ軸、Ｙ軸およびＺ軸回りにそれぞれｘθ，ｙθ，ｚθだけ回転させるとともに、同第１座標系の原点をＸ軸方向、Ｙ軸方向およびＺ軸方向にそれぞれａ，ｂ，ｃだけ移動させた第２座標系を想定する。この場合も、第１座標系における一点の座標を(ｘ,ｙ,ｚ)とし、第２座標系における同一点の座標を(ｘ’,ｙ’,ｚ’)すると、前記数２，３の場合と同様に、下記数４が成立するとともに、同数４中の行列Ｍは下記数５によって表される。
【００４７】
【数４】
2006301991.tif 000006
【００４８】
【数５】
2006301991.tif 000007
【００４９】
このステップＳ３２の第１座標変換関数の計算は、前記数４および数５中の行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３および行列値ａ，ｂ，ｃを計算することを意味する。この場合、本実施形態のカメラ座標系が第１座標系に対応するとともに、アーム座標系が第２座標系に対応する。したがって、各測定位置ごとのカメラ座標系の基準球６０の各中心座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)と、アーム座標系の基準球６０の中心座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)とを前記数４に適用すると、下記数６〜８の関係が成立する。
【００５０】
【数６】
2006301991.tif 000008
【００５１】
【数７】
2006301991.tif 000009
【００５２】
【数８】
2006301991.tif 000010
【００５３】
前記数６を変形すると、下記数９の連立方程式が成立する。
【００５４】
【数９】
2006301991.tif 000011
【００５５】
ここで、定点座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)を含む平面の法線ベクトルを（α，β，γ）とし、定点座標(ｘ’1,ｙ’1,ｚ’1)，(ｘ’2,ｙ’2,ｚ’2)，(ｘ’3,ｙ’3,ｚ’3)を含む平面の法線ベクトルを（α’，β’，γ’）とすると、２つの法線ベクトルの大きさが同じであれば下記数１０が成立する。同数１０中の行列Ｍは、前記数５によって表される。
【数１０】
2006301991.tif 000012
【００５６】
定点座標(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)を含む平面の法線ベクトルを(ｘ2,ｙ2,ｚ2)から(ｘ1,ｙ1,ｚ1)に向かうベクトルと、(ｘ3,ｙ3,ｚ3)から(ｘ2,ｙ2,ｚ2)に向かうベクトルの外積により成立するベクトルとすると、前記法線ベクトル（α，β，γ）は下記数１１によって表される。
【数１１】
2006301991.tif 000013
【００５７】
同様に、前記ベクトル（α’，β’，γ’）は下記数１２によって表される。
【数１２】
2006301991.tif 000014
【００５８】
前記数１１および前記数１２を前記数１０に代入すると、下記数１３が成立する。
【数１３】
2006301991.tif 000015
【００５９】
前記数１３の１番目の式を前記数９に加えれば、下記数１４の連立方程式となる。
【数１４】
2006301991.tif 000016
【００６０】
この数１４の連立方程式を解くことにより、行列値ｇ１１，ｇ１２，ｇ１３を計算することができる。また、前記数７および数８に関しても、前記数９の連立方程式のように変形し、前記数１３の２番目の式および３番目の式をそれぞれ加えた連立方程式を解くことにより行列値ｇ２１，ｇ２２，ｇ２３および行列値ｇ３１，ｇ３２，ｇ３３を計算できる。そして、これらの計算した行列値を前記数６〜８に代入すれば、行列値ａ，ｂ，ｃを計算できる。これにより、カメラ座標系における座標値（ｘ，ｙ，ｚ）を、アーム座標系における座標値（ｘ’，ｙ’，ｚ’）に変換するための第１座標変換関数が計算される。
【００６１】
次に、ステップＳ３４にて、前記計算した第１座標変換関数の行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３，ａ，ｂ，ｃを３次元画像処理装置４２のメモリ装置内に記憶する。そして、３次元画像処理装置４２は、ステップＳ３６にて、この座標変換関数計算プログラムの実行を終了する。
【００６２】
次に、作業者は、前記座標変換関数計算プログラムによって計算された第１座標変換関数を補正する。具体的には、作業者は、入力装置４３を操作して第１座標変換関数の補正を３次元画像処理装置４２に指示する。この指示に応答して、３次元画像処理装置４２は、図５に示す座標変換関数補正プログラムの実行をステップＳ４０にて開始して、ステップＳ４２にて基準球６０の３次元形状を表す測定情報の入力を待つ。
【００６３】
次に、作業者は、３次元形状測定装置３０の向きを調整して３次元形状測定装置３０のカメラ座標系の各座標軸の向きを基準座標系の各座標軸の向きに略一致させる。そして、３次元形状測定装置３０を手で持って、回転ロッド２２、第１〜第３アーム２５および３次元形状測定装置３０の各連結部における回転変位を伴いながら、基準球６０に対して３次元形状測定装置３０を移動させて入力装置４３から測定開始を指示することにより基準球６０の３次元形状を測定する。この場合、作業者は、３次元形状測定装置３０をカメラ座標系および基準座標系の両座標系の３つの座標軸のうち互いに対応する２つの座標軸にそれぞれ平行に移動させながら、各移動方向ごとに３つの位置で基準球６０を測定する。本実施形態においては、図６に示すように、３次元形状測定装置３０をＹ軸方向に移動させて３つの位置（図においてａ，ｂ，ｃの位置）で測定した後、Ｚ軸方向に移動させて３つの位置（図においてｄ，ｂ，ｃ）で測定する。この場合、３次元形状測定装置３０を十字状に移動させ、十字状の交点の位置（図においてｂの位置）では１回測定すれば、同測定値を２つの移動方向における各測定値として用いることができ測定作業の効率がよい。
【００６４】
３次元形状測定装置３０は、各測定位置ごとに測定対象空間内に位置する基準球６０の３次元形状を表す情報を３次元画像処理装置４２に出力する。すなわち、基準球６０の表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθｘ，θｙおよび距離Ｌｚ）を３次元画像処理装置４２に出力する。３次元画像処理装置４２は、同ステップＳ４２にて、前記ステップＳ２４と同様にして、３次元形状測定装置３０から出力されたＸ−Ｙ−Ｚ座標に関する情報に基づいて、各測定位置ごとにおける基準球６０の３次元形状を表す立体形状データ群からなる３次元画像データをそれぞれ計算する。この場合、３次元画像データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系によって表されている。なお、前記３次元画像データ中に基準球６０以外の物体（例えば、基台１０など）に関する不要な３次元画像データが含まれている場合には、３次元画像処理装置４２は、同ステップＳ４２にて、前記ステップＳ２４と同様にして同不要な３次元画像データを除去する処理を併せて実行する。これにより、カメラ座標系および基準座標系の各Ｙ軸方向およびＺ軸方向に沿ってそれぞれ３組の基準球６０の３次元形状を表す３次元画像データが得られる。
【００６５】
次に、３次元画像処理装置４２は、ステップＳ４４にて、前記３組の３次元画像データをアーム座標系によって表された３次元画像データに座標変換する。具体的には、図４に示す座標変換関数計算プログラムによって計算された第１座標変換関数を用いて、カメラ座標系によって表された３次元画像データをアーム座標系によって表された３次元画像データに座標変換する。
【００６６】
次に、３次元画像処理装置４２は、ステップＳ４６にて、アーム座標系の座標値を基準座標系の座標値に座標変換するための第２座標変換関数を計算する。３次元画像処理装置４２は、支持機構２０内に設けた回転角センサ２７ａ〜２７ｅによる検出回転角をそれぞれ入力して、固定ポール２１、回転ロッド２２および第１〜第３アーム２３〜２５の動きに対応した座標変換関数を計算する。具体的には、３次元画像処理装置４２は、入力した検出回転角と、固定ポール２１、回転ロッド２２および第１〜第３アーム２３〜２５のアームの長さとを用いて、アーム座標系から見た基準座標系の原点の座標、すなわちアーム座標系における基準座標系の原点の座標（ｘoa，ｙob，ｚoc）を前記数２における第２座標変換関数の行列値ａ，ｂ，ｃとして計算するとともに、アーム座標系の各座標軸を基準にした基準座標系の各座標軸の回転角を前記数３における第２座標変換関数の角度α，β，γとして計算する。この第２座標変換関数は、３次元形状測定装置３０による各測定位置ごとに計算される。なお、この第２座標変換関数と前記第１座標変換関数とにより、本発明に係る座標変換関数を構成する。
【００６７】
次に、３次元画像処理装置４２は、ステップＳ４８にて、前記３組の３次元画像データを基準座標系によって表された３次元画像データに座標変換する。具体的には、前記ステップＳ４４にてアーム座標系に座標変換された３次元画像データを、前記ステップＳ４６にて計算された第２座標変換関数のα，β，γ，ａ，ｂ，ｃを用いて基準座標系によって表された３次元画像データに座標変換する。これにより、各測定位置ごとの基準球６０の３次元形状を表す情報が基準座標系によって表された３次元画像データに座標変換される。そして、３次元画像処理装置４２は、座標変換した各測定位置ごとの３次元画像データをメモリ装置に記憶する。この場合、３次元画像処理装置４２は、各測定位置ごとの３次元画像データに対応させて、各測定位置ごとの第２座標変換関数のα，β，γ，ａ，ｂ，ｃもメモリ装置に記憶する。
【００６８】
次に、３次元画像処理装置４２は、ステップＳ５０にて、各測定位置ごとの基準球６０の中心座標を定点として計算する。具体的には、前記ステップＳ４８にて基準座標系によって表された３次元画像データ（Ｘ，Ｙ，Ｚ座標値）を、球体を表す式である前記数１の左辺のＸ，Ｙ，Ｚにそれぞれ代入し、最小２乗法を用いて未知数ａ，ｂ，ｃを計算する。この場合、ａ，ｂ，ｃは、３次元画像データにより表された球体中心のｘ，ｙ，ｚ座標値をそれぞれ表し、ｄは球体の半径を表す。そして、３次元画像処理装置４２は、計算した球体中心のｘ，ｙ，ｚ座標値を定点としてメモリ装置に記憶する。これにより、各移動方向（Ｙ軸，Ｚ軸）ごとに３つの位置から測定した基準球６０の基準座標系での各中心座標(ｘａ”,ｙａ”,ｚａ”)，(ｘｂ”,ｙｂ”,ｚｂ”)，(ｘｃ”,ｙｃ”,ｚｃ”)，(ｘｄ”,ｙｄ”,ｚｄ”)，(ｘｅ”,ｙｅ”,ｚｅ”)が定点を表す３次元データとしてそれぞれ計算される。
【００６９】
次に、３次元画像処理装置４２は、第１座標変換関数の補正関数を計算する。この第１座標変換関数の補正関数は、各座標軸の傾きに関し座標軸の回転を表す座標回転関数と、座標系の原点ずれに関し座標軸の直線移動を表す座標移動関数とからなる。３次元画像処理装置４２は、ステップＳ５２にて、各座標軸の座標回転関数Ｍ’を計算する。座標回転関数Ｍ’は、第１座標変換関数における各座標軸の角度に関する関数、すなわち、前記数４および数５に示す関数Ｍの行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３の各値を補正するための関数であり、下記数１５によって表される。すなわち、このステップＳ５２の処理は、下記数１５中のθｘ，θｙ，θｚを計算することを意味する。θｘ，θｙ，θｚは、各座標軸（Ｘ軸，Ｙ軸，Ｚ軸）の回転角度を表しており、カメラ座標系による座標軸のアーム座標系による座標軸への変換において、第１座標変換関数とアーム座標系による座標軸を基準に考えた場合のカメラ座標系の座標軸、換言すれば、アーム座標系による座標軸を第１座標変換関数の逆関数によりカメラ座標系の座標軸に変換した際のカメラ座標系（以下、仮のカメラ座標系という）の座標軸と、真のカメラ座標系の座標軸との角度のずれを表している。
【００７０】
【数１５】
2006301991.tif 000017
【００７１】
この回転角度θｘ，θｙ，θｚの計算について詳しく説明する。回転角度θｘ，θｙ，θｚは、仮のカメラ座標系の座標軸ｘ，ｙ，ｚと真のカメラ座標系の座標軸ｘ’’’，ｙ’’’，ｚ’’’の各座標軸ごとの角度のずれを表している。この角度のずれは小さいので、各座標軸の角度のずれは各座標軸に直交する２つの座標軸からなる平面で考えることができる。具体的には、Ｘ軸の角度のずれθｘをＹ−Ｚ軸平面、Ｙ軸の角度のずれθｙをＸ−Ｚ軸平面、Ｚ軸の角度のずれθｚをＸ−Ｙ軸平面でそれぞれ考える。
【００７２】
そして、カメラ座標系の各座標軸の向きと、同各座標軸に対応する基準座標系の各座標軸の向きとを同一とすれば、第１座標変換関数および第２座標変換関数による各座標変換において各座標軸の角度に関する座標変換を無視することができ、アーム座標系の各座標軸の向きもカメラ座標系および基準座標系の座標軸と同一と考えることができる。この場合、例えば、Ｚ軸の角度のずれθｚを計算するために、Ｘ−Ｙ軸平面におけるカメラ座標系の座標値を（ｘ，ｙ）、アーム座標系の座標値を（ｘ’，ｙ’）、基準座標系の座標値を(ｘ”,ｙ”)、仮のカメラ座標系の座標値を（ｘ’’’，ｙ’’’）とすれば、各座標系間の座標変換は下記数１６に示すようになる。下記数１６中、（α１，β１）はアーム座標系の原点とカメラ座標系の原点とのずれ、（α２，β２）は基準座標系の原点とアーム座標系の原点とのずれ、（α３，β３）はアーム座標系の原点と仮のカメラ座標系の原点とのずれをそれぞれ表す。
【００７３】
【数１６】
2006301991.tif 000018
【００７４】
この場合、基準座標系における定点を表す座標を（ｘ”0，ｙ”0）とすると、各座標系では下記数１７に示すように表される。
【００７５】
【数１７】
2006301991.tif 000019
【００７６】
カメラ座標系の座標をアーム座標系の座標に変換し、このアーム座標系の座標を基準座標系の座標に変換する場合、真のカメラ座標系の座標は仮のカメラ座標系の座標を見なされてアーム座標系の座標に変換され、このアーム座標系の座標が基準座標系の座標に変換される。すなわち、前記数１７の２番目の座標が前記数１６の３番目の式で変換された後、２番目の式で変換される。このため、カメラ座標系における定点を表す座標をカメラ座標系で測定し、アーム座標系の座標に変換した後、さらに基準座標系の座標値に変換すると、同座標は下記数１８に示すように表される。
【数１８】
2006301991.tif 000020
【００７７】
そして、前記カメラ座標系をＸ軸方向にａ、Ｙ軸方向にｂだけ移動させた場合、前記定点（ｘ”0，ｙ”0）の位置を各座標系ごとに表すと下記数１９に示すようになる。
【００７８】
【数１９】
2006301991.tif 000021
【００７９】
この場合、基準座標系における定点を表す座標（ｘ”0，ｙ”0）をカメラ座標系で測定し、アーム座標系の座標に変換した後、さらに基準座標系の座標に変換すると、すなわち前記数１９の２番目の座標が前記数１６の３番目の式で変換された後、さらに前記数１６の２番目の式の左辺に（ａ，ｂ）を加えた式で変換されると、この座標値は下記数２０に示すように表される。
【数２０】
2006301991.tif 000022
【００８０】
そして、前記数１８に示した定点と前記数２０に示した定点とを通る直線の傾きＫｚは、下記数２１によって表される。下記数２１中、分母は基準座標系に変換した前記定点のＸ軸上の変化量を表し、分子は同定点のＹ軸上の変化量をそれぞれ表している。
【００８１】
【数２１】
2006301991.tif 000023
【００８２】
この場合、前記カメラ座標系の各移動量のうち、Ｘ軸方向の移動量ａがＹ軸方向の移動量ｂに比べて極めて大きい場合には、前記数２１は下記数２２に示すように表される。
【００８３】
【数２２】
2006301991.tif 000024
【００８４】
この前記数２２に三角関数の公式（１−ＣＯＳθ＝２ＳＩＮ２θ／２）を適用すると下記数２３に示すように変形される。
【００８５】
【数２３】
2006301991.tif 000025
【００８６】
ここで、Ｚ軸の角度のずれθｚは極めて小さいことから前記数２３は下記数２４に示すように表される。
【００８７】
【数２４】
2006301991.tif 000026
【００８８】
そして、前記数２３において、移動方向をＹ軸方向とし移動方向に直交する方向をＸ軸方向とすれば、Ｚ軸の角度のずれθｚは下記数２５に示すように表される。
【００８９】
【数２５】
2006301991.tif 000027
【００９０】
前記数２５によりＺ軸の角度のずれθｚは、Ｚ軸に直交するＸ軸方向にカメラ座標系を移動させた場合における移動前の定点と移動後の定点とを通る直線の基準座標系での傾き角度を２倍することによって計算することができる。この場合、Ｚ軸に直交するＹ軸方向にカメラ座標系を移動させた場合における前記２つの定点を通る直線の基準座標系での傾き角度を２倍しても同様にＺ軸の角度のずれθｚを計算することができる。すなわち、各座標軸の角度のずれθｘ，θｙ，θｚは、角度のずれの計算対象となる座標軸に直交する２つの座標軸のうち、一方の座標軸に対応するカメラ座標系および基準座標系の座標軸の方向に平行にカメラ座標系を移動したときの基準座標系に変換した各定点座標から求めた直線の基準座標系の座標軸に対する傾きから計算することができる。この基準座標系に変換した各定点座標とは、各測定位置で測定したカメラ座標系における定点座標を第１座標変換関数および第２座標変換関数によって座標変換した座標である。
【００９１】
前記数２５を図７を用いて視覚的に説明する。カメラ座標系（Ｘ−Ｙ）の各座標軸の向きと基準座標系(Ｘ”−Ｙ”)の各座標軸の向きとを一致させた状態で、カメラ座標系を同カメラ座標系のＸ軸およびＹ軸方向にそれぞれ平行に移動させて測定位置ａ，ｂ，ｃ，ｄ，ｅの各位置で定点（ｘ”0，ｙ”0）をそれぞれ測定する。この場合、測定した各定点の位置を座標変換により基準座標系(Ｘ”−Ｙ”)の座標に変換した場合の定点の位置はａ’，ｂ’，ｃ’，ｄ’，ｅ’に示すようになる。すなわち、カメラ座標系の座標軸に対する仮のカメラ座標系の座標軸の角度のずれに対応して、カメラ座標系で測定した定点座標を基準座標系による定点座標に変換した場合の定点座標の位置もそれぞれずれて、同一の一点に定まらない。
【００９２】
そして、前記数２５は、定点ａ’，ｂ’，ｃ’を通る直線の基準座標系のＹ”座標軸に対する傾きＫｚの角度を２倍した値を、仮のカメラ座標系のＺ”座標軸の角度のずれθｚとして計算することを意味する。この場合、定点ｄ’，ｂ’，ｅ’を通る直線のＸ”座標軸に対する傾きＫｚの角度を２倍した値を、仮のカメラ座標系のＺ”座標軸の角度のずれθｚとして計算することもできる。なお、図７においては、仮のカメラ座標系の座標軸の基準座標系の座標軸に対する角度のずれを誇張して示しているので、同ずれが極めて小さいことを前提とする前記数２５とは完全には一致しない。また、カメラ座標系の各座標軸の向きと、同各座標軸に対応する基準座標系の各座標軸の向きとを一致させているため、アーム座標系（Ｘ’−Ｙ’）の各座標軸の向きもカメラ座標系および基準座標系と同一と考えることができる。
【００９３】
前記Ｚ軸の角度のずれθｚと同様にして、Ｘ軸およびＹ軸の各座標軸の角度のずれθｘ，θｙを表すと、下記数２６に示すようになる。したがって、３次元画像処理装置４２は、前記数２５に加えて下記数２６を用いて仮のカメラ座標系における各座標軸の角度のずれθｘ，θｙ，θｚをそれぞれ計算する。下記数２６中、Ｋｘ，Ｋｙは、Ｘ軸およびＹ軸の角度のずれθｘ，θｙをそれぞれ計算するための直線の傾きであり、各座標軸にそれぞれ直交する２つの座標軸のうち、一方の座標軸の方向に平行にカメラ座標系を移動したときのカメラ座標系の座標から基準座標系の座標に変換した各定点座標から定義される直線の基準座標系の座標軸に対する傾きである。
【００９４】
【数２６】
2006301991.tif 000028
【００９５】
なお、上記説明から分かるように、第１座標変換関数の補正関数は、仮のカメラ座標系の座標軸を真のカメラ座標系の座標軸に一致させるための関数である。
【００９６】
３次元画像処理装置４２は、ステップＳ５２にて、前記直線の傾きＫｘ，Ｋｙ，Ｋｚを基準球６０の基準座標系での各中心座標である定点(ｘａ”,ｙａ”,ｚａ”)，(ｘｂ”,ｙｂ”,ｚｂ”)，(ｘｃ”,ｙｃ”,ｚｃ”)，(ｘｄ”,ｙｄ”,ｚｄ”)，(ｘｅ”,ｙｅ”,ｚｅ”)を用いて計算する。例えば、傾きＫｘについては、定点(ｙａ”,ｚａ”)，(ｙｂ”,ｚｂ”)、(ｙｃ”,ｚｃ”)または(ｙｂ”,ｚｂ”)，(ｙｄ”,ｚｄ”)，(ｙｅ”,ｚｅ”)の各３次元データを用いて最小２乗法により直線を計算して同直線の傾きＫｚを計算する。なお、各座標軸の角度のずれの方向、すなわち回転方向は前記数２５および数２６の各座標軸の角度のずれθｘ，θｙ，θｚの符号により表される。本実施形態においては、各座標軸を原点方向から見て時計回りを「正」とする。
【００９７】
３次元画像処理装置４２は、前記数２６を用いて計算された仮のカメラ座標系の各座標軸の角度のずれθｘ，θｙ，θｚを前記数１５に代入して座標回転関数Ｍ’の各行列値ｇ’１１，ｇ’１２，ｇ’１３，ｇ’２１，ｇ’２２，ｇ’２３，ｇ’３１，ｇ’３２，ｇ’３３を計算する。次に、３次元画像処理装置４２は、ステップＳ５４にて、前記座標回転関数Ｍ’を用いて第１座標変換関数を補正する。この座標回転関数Ｍ’を用いて補正した第１座標変換関数を下記数２７に示す。
【００９８】
【数２７】
2006301991.tif 000029
【００９９】
前記数２７のｇ’11〜ｇ’33の各行列値の行列式による座標変換をカメラ座標系の座標軸に行うと、図８に示すように仮のカメラ座標系の座標軸とカメラ座標系の座標軸の方向は一致する。この場合、ａ，ｂ，ｃ，ｄ，ｅの各測定位置でカメラ座標系で測定した定点（ｘ”0，ｙ”0）の位置は、基準座標系における座標に変換するといずれも（ｘｃ0，ｙｃ0）の位置になる。すなわち、カメラ座標系の各測定位置ごとの定点座標を基準座標系における座標に変換した座標は、測定位置に関わらず一点に定まる。
【０１００】
次に、３次元画像処理装置４２は、第１座標変換関数の補正関数のうち座標移動関数を計算する。まず、３次元画像処理装置４２は、ステップＳ５６にて、カメラ座標系によって表された定点の３次元データを計算する。具体的には、３次元画像処理装置４２は、メモリ装置内に記憶している基準球６０の基準座標系での各中心座標である定点(ｘａ”,ｙａ”,ｚａ”)，(ｘｂ”,ｙｂ”,ｚｂ”)，(ｘｃ”,ｙｃ”,ｚｃ”)，(ｘｄ”,ｙｄ”,ｚｄ”)，(ｘｅ”,ｙｅ”,ｚｅ”)を、同各定点に対応させてそれぞれ記憶している第２座標変換関数の逆の座標変換関数、および前記座標回転関数Ｍ’によって補正される前の第１座標変換関数の逆の座標変換関数を用いてカメラ座標系での座標値にそれぞれ座標変換する。
【０１０１】
次に、３次元画像処理装置４２は、ステップＳ５８にて、補正した第１座標変換関数および第２座標変換関数により座標変換を行った場合の基準座標系によって表された定点の座標値を計算する。具体的には、３次元画像処理装置４２は、前記ステップＳ５６によってそれぞれ座標変換されたカメラ座標系での各定点を表す３次元データを、前記座標回転関数Ｍ’によって補正された第１座標変換関数および各定点ごとの前記第２座標変換関数を用いて再び基準座標系での各定点にそれぞれ座標変換する。この場合、座標回転関数Ｍ’によって仮のカメラ座標系の各座標軸の角度のずれθｘ，θｙ，θｚが補正されているので、図８に示したように、座標変換された各定点の座標値はほぼ同じ値となる。
【０１０２】
次に、３次元画像処理装置４２は、ステップＳ６０にて、基準座標系によって表された各定点の座標値を平均化して１つの定点の座標値を計算する。具体的には、前記ステップ５８にて座標変換された基準座標系での各定点の座標値を、各座標軸ごとに合算するとともに、同合算値を定点の数で除して１つの定点の座標値を計算する。
【０１０３】
次に、３次元画像処理装置４２は、ステップＳ６２にて、座標移動関数を計算する。具体的には、前記ステップ５８にて計算した基準座標系における１つの定点の座標値と、前記触針測定プログラムによって測定した基準座標系における１つの定点の座標値との各座標軸ごとのずれ量を表す行列値（ａ’,ｂ’，ｃ’）を座標移動関数として計算する。次に、３次元画像処理装置４２は、ステップＳ６４にて、前記座標移動関数（ａ’,ｂ’，ｃ’）を用いて第１座標変換関数を補正する。この座標移動関数（ａ’,ｂ’，ｃ’）を用いて補正した第１座標変換関数を下記数２８に示す。
【０１０４】
【数２８】
2006301991.tif 000030
【０１０５】
なお、このステップＳ５６〜６２においては、メモリ装置内に記憶している基準球６０の基準座標系での各中心座標である定点(ｘａ”,ｙａ”,ｚａ”)、(ｘｂ”,ｙｂ”,ｚｂ”)、(ｘｃ”,ｙｃ”,ｚｃ”)、(ｘｄ”,ｙｄ”,ｚｄ”)、(ｘｅ”,ｙｅ”,ｚｅ”)のすべての３次元データを用いて座標移動関数（ａ’,ｂ’，ｃ’）を計算したが、各定点(ｘａ”,ｙａ”,ｚａ”)、(ｘｂ”,ｙｂ”,ｚｂ”)、(ｘｃ”,ｙｃ”,ｚｃ”)、(ｘｄ”,ｙｄ”,ｚｄ”)、(ｘｅ”,ｙｅ”,ｚｅ”)のうちの１つ以上４つ以下の定点の３次元データを用いて同座標移動関数（ａ’,ｂ’，ｃ’）を計算するようにしてもよい。これによれば、座標移動関数（ａ’,ｂ’，ｃ’）を短時間に計算することができる。
【０１０６】
なお、このステップＳ５６〜６２を省略して、第１座標変換関数の補正を座標回転関数Ｍ’による補正のみにしてもよい。この場合、カメラ座標系から基準座標系に変換された座標値は、基準座標系の座標値に対して座標移動関数分だけのずれがあるが、座標移動関数は一定の値であるので、座標値のずれはカメラ座標系の位置に関わらず常に一定である。したがって、測定対象物の立体形状を任意の方向から見て表示することに関して何ら支障はない。
【０１０７】
次に、３次元画像処理装置４２は、ステップＳ６６にて、この座標変換関数補正プログラムの実行を終了する。これにより、第１座標変換関数における各座標軸の角度のずれおよび座標系の原点のずれが補正されたことになる。すなわち、この補正された第１座標変換関数によって仮のカメラ座標系の座標軸は、真のカメラ座標系の座標軸に一致する。
【０１０８】
この座標変換関数補正プログラムの実行後、作業者は、基準球６０を基台１０から取り除いて、同基台１０上に測定対象物（図示せず）を配置する。そして、入力装置４３を操作して測定対象物の立体形状の表示を指示する。これに応答して、３次元画像処理装置４２は、図９に示す３次元形状表示プログラムの実行をステップＳ７０にて開始して、ステップＳ７２にて測定対象物の３次元形状を表す測定情報の入力を待つ。一方、３次元形状測定装置３０は、コントローラ４１によって制御され、測定対象物の３次元形状の測定を開始する。
【０１０９】
作業者は、３次元形状測定装置３０を手で持って、回転ロッド２２、第１〜第３アーム２５および３次元形状測定装置３０の各連結部における回転変位を伴いながら、測定対象物に対して３次元形状測定装置３０を移動させて３次元形状の測定を行う。この場合、作業者は、測定対象物に対して互いに異なる３つの位置から測定を行う。そして、３次元形状測定装置３０は、測定対象物の測定を終了すると各測定位置ごとの３次元形状を表す情報を３次元画像処理装置４２に出力する。なお、測定対象物の測定は、前記した３つの位置に限られず４つ以上の位置から測定を行うようにしてもよい。これによれば、より高精度の３次元形状の測定を行うことができる。
【０１１０】
３次元画像データ処理装置４２は、同ステップＳ７２にて、測定対象物の３次元形状を表す情報を入力する。すなわち、測定対象物の表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθx，θyおよび距離Ｌz）をそれぞれ入力する。次に、３次元画像処理装置４２は、ステップＳ７４にて、前述したステップＳ２４およびステップＳ４２の処理と同様にして前記入力した３次元形状測定装置３０からのＸ−Ｙ−Ｚ座標に関する情報に基づいて、各測定位置ごとにおける測定対象物の３次元形状を表す立体形状データ群からなる３次元画像データをそれぞれ計算する。この場合の３次元画像データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系によって表されている。
【０１１１】
次に、３次元画像処理装置４２は、ステップＳ７６にて、図５に示した座標変換関数補正プログラムの実行によって補正された第１座標変換関数（前記数２８）と、第２座標変換関数とを用いて、各測定位置ごとのカメラ座標系によって表された３次元画像データを、基準座標系によって表された３次元画像データにそれぞれ座標変換する。この場合、第２座標変換関数は、前記ステップＳ４６と同様にして各測定位置ごとに計算される。そして、３次元画像処理装置４２は、ステップＳ７８にて、各測定位置の基準座標系によって表された各３次元画像データを一組の３次元形状データ群に合成する。この合成においては、すべての測定位置における３次元画像データが同一座標系である基準座標系上の座標値で表されるので、各測定位置によって測定されない測定対象物の部分（各測定位置における３次元形状測定装置３０に対して裏側に位置する測定対象物の外表面）を表す３次元画像データが互いに補われ、一組のデータ群とされる。
【０１１２】
次に、３次元画像処理装置４２は、ステップＳ８０にて、前記合成された３次元形状データ群を用いて測定対象物の３次元形状を表示装置４４に表示させる。そして、３次元画像処理装置４２は、ステップＳ８２にて、３次元形状表示プログラムの実行を終了する。この測定対象物の３次元形状の表示においては、作業者は入力装置４３を操作することにより測定対象物の表示方向を指示することができ、コントローラ４１および３次元画像処理装置４２は表示装置４４にて表示される測定対象物の表示方向を変更する。これにより、測定対象物を任意の方向から見た立体形状を表示させることができる。
【０１１３】
また、新たな測定対象物を基台１０上に置いて、前述のように測定対象物の表示を指示すれば、前記３次元形状表示プログラムの実行により、前記と同一の第１座標変換関数および第２座標変換関数を用いて新たな測定対象物を任意の方向から見た立体形状を表示装置４４に表示させることができる。したがって、基準球６０を用いて基台１０上の測定対象空間に関する第１座標変換関数および第２座標変換関数を一度だけ計算するとともに、前記図５に示す座標変換関数補正プログラムにより第１座標変換関数を補正しておけば、測定対象物を次々に換えて表示装置４４にて立体形状を表示させることが可能である。
【０１１４】
上記作動説明からも理解できるように、上記実施形態によれば、基準球６０の３次元画像データに基づいて計算された第１座標変換関数を、各座標軸の角度のずれに関する座標回転関数Ｍ’と座標系の原点ずれに関する座標移動関数（ａ’，ｂ’，ｃ’）とを用いて補正している。座標回転関数Ｍ’は、角度のずれの計算対象となる座標軸に直交する２つの座標軸のうちの一方の座標軸であって、同座標軸に対応するカメラ座標系および基準座標系の各座標軸に平行に３次元形状測定装置３０を移動させて測定し基準座標系の座標軸に変換した３つの定点の各座標値のうち、角度のずれの計算対象となる座標軸以外の２つの座標軸上の座標値を通る直線の基準座標系の座標軸に対する傾きに基づいて計算される。基準座標系における３つの定点の各座標値が異なるのは、第１座標変換関数の各座標軸の角度のずれによる。したがって、基準座標系における直線の傾き、すなわち第１座標変換関数によって座標変換された定点の座標値に基づいて計算された直線の傾きは、第1座標変換関数の各座標軸の角度のずれを表すことになる。
【０１１５】
また、座標移動関数（ａ’，ｂ’，ｃ’）は、前記座標回転関数Ｍ’により補正された第１座標変換関数と第２座標変換関数とによって座標変換された定点の各座標値と同定点の基準座標系での各座標値との差に基づいて計算される。この場合、座標回転関数Ｍ’により補正された第１座標変換関数と第２座標変換関数とによって座標変換された各測定位置ごとの定点は、基準座標系において同一の一点に定まっている。したがって、上記実施形態によれば、第１座標変換関数を計算するための３次元画像データに測定誤差が含まれている場合であっても、第１座標変換関数と第２座標変換関数とによって座標変換された座標値によって定義される直線の基準座標系の座標軸に対する角度に基づいて同第１座標変換関数が補正されるため、精度のよい座標変換関数を計算することができる。この結果、測定対象物の正確な３次元形状測定を行うことができる。
【０１１６】
以上、本発明の一実施形態について説明したが、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形が可能である。以下、変形例について説明する。
【０１１７】
ａ．第１変形例
上記実施形態においては、各測定位置ごとの基準座標系での定点座標を用いて第１座標変換関数を補正する座標回転関数Ｍ’を計算したが、これに限定されるものではない。例えば、前記各測定位置ごとの基準座標系での定点座標に加えて、各測定位置間の距離、すなわち３次元形状測定装置３０（カメラ座標系）の各測定位置間の移動量を用いて各座標軸の角度のずれθｘ，θｙ，θｚを計算することも可能である。
【０１１８】
具体的には、Ｘ軸方向およびＹ軸方向の２つの座標軸方向にそれぞれ３次元形状測定装置３０（カメラ座標系）を移動させた場合における基準座標系での定点座標のＹ軸方向の座標値の変化量（前記数２１の分子）と、基準座標系でのＸ軸方向の３次元形状測定装置３０（カメラ座標系）の移動量ａとによって定義される直線の傾きＫｚは、下記数２９に示すように表される。下記数２９中、ａ，ｂは、３次元形状測定装置３０（カメラ座標系）の基準座標系でのＸ軸方向およびＹ軸方向の各移動量を表している。
【０１１９】
【数２９】
2006301991.tif 000031
【０１２０】
この場合、３次元形状測定装置３０（カメラ座標系）の各移動量ａ，ｂのうち、Ｘ軸方向の移動量ａがＹ軸方向の移動量ｂに比べて極めて大きく、Ｚ軸の角度のずれθｚが極めて小さいことから前記式２９は、下記数３０に示すように変形される。
【０１２１】
【数３０】
2006301991.tif 000032
【０１２２】
この場合、前記３０に示すＺ軸の角度のずれθｚは、３次元形状測定装置３０（カメラ座標系）のＸ軸方向の移動量ａと、基準座標系に変換した定点座標のＹ軸方向の座標値の変化量とによって定義される直線の傾き角度である。この場合、Ｚ軸に直交するＹ軸方向にカメラ座標系を移動させた場合におけるカメラ座標系のＹ軸方向の移動量ｂと、基準座標系に変換した定点座標のＸ軸方向の座標値の変化量とを用いて前記直線の傾き角度を計算しても同様にＺ軸の角度のずれθｚを計算することができる。すなわち、各座標軸の角度のずれは、角度のずれの計算対象となる座標軸に直交する２つの座標軸のうち、一方の座標軸に対応するカメラ座標系および基準座標系の各座標軸の方向における３次元形状測定装置３０（カメラ座標系）の移動量と、他方の座標軸方向の基準座標系に変換した定点座標の座標値の変化量とによって定義される直線の傾き角度から計算することができる。
【０１２３】
前記Ｚ軸の角度のずれθｚと同様にして、Ｘ軸およびＹ軸の各座標軸の角度のずれθｘ，θｙをそれぞれ表すと、下記数３１に示すようになる。したがって、３次元画像処理装置４２は、前記数３０に加えて下記数３１を用いて仮のカメラ座標系の各座標軸の角度のずれθｘ，θｙ，θｚをそれぞれ計算することができる。下記数３０中、Ｋｘ，Ｋｙは、Ｘ軸およびＹ軸の角度のずれθｘ，θｙをそれぞれ計算するための前記Ｋｚに対応する直線の傾きであり、各座標軸にそれぞれ直交する２つの座標軸のうち、一方の座標軸に対応するカメラ座標系および基準座標系の各座標軸の方向における３次元形状測定装置３０（カメラ座標系）の移動量と、他方の座標軸方向の基準座標系に変換した定点座標の座標値の変化量とによって計算される直線の傾きである。
【０１２４】
【数３１】
2006301991.tif 000033
【０１２５】
これらの傾きＫｘ，Ｋｙ，Ｋｚは、基準球６０の基準座標系での各中心座標である定点(ｘａ”,ｙａ”,ｚａ”)、(ｘｂ”,ｙｂ”,ｚｂ”)、(ｘｃ”,ｙｃ”,ｚｃ”)、(ｘｄ”,ｙｄ”,ｚｄ”)、(ｘｅ”,ｙｅ”,ｚｅ”)と、各測定位置間の３次元形状測定装置３０の移動量とを用いて計算する。この場合、図５に示す座標変換関数補正プログラムにおけるステップＳ４２の基準球の測定処理において、３次元形状測定装置３０による基準球６０の各測定位置ごとに、基準座標系によって表されたアーム座標系の原点位置をメモリ装置に記憶しておき、同記憶された各測定位置ごとのアーム座標系の原点位置に基づいて３次元形状測定装置３０の移動量を計算することができる。
【０１２６】
例えば、直線の傾きＫｘについては、座標値ｙｄ”，ｙｅ”およびＺ軸方向の移動量ｂｚ、または座標値ｚａ”,ｚｃ”およびＹ軸方向の移動量ａｙを用いて計算する。ここで、Ｚ軸方向の移動量ｂｚは、図６に示すｄの位置とｅの位置との距離であり、Ｙ軸方向の移動量ａｙは、図６に示すａの位置とｃの位置との距離である。これにより、直線の傾きＫｘを計算することができるとともに、同直線の傾きＫｘを用いて座標軸の角度のずれθｘを計算することができる。また、直線の傾きＫｘと同様にして直線の傾きＫｙ，Ｋｚも計算することができるとともに、同直線の傾きＫｙ，Ｋｚを用いて座標軸の角度のずれθｙ，θｚも計算することができる。この結果、上記実施形態と同様に、座標回転関数Ｍ’を計算することができる。これにより、上記実施形態と同様の効果を期待できる。
【０１２７】
ｂ．第２変形例
上記実施形態においては、カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させた後、３次元形状測定装置３０を両座標系の２つの座標軸にそれぞれ平行に移動させて基準球６０の測定を行ったが、同２つの座標軸の平面内であって互いに直交する２つの方向に移動させて測定するようにしてもよい。すなわち、カメラ座標系および基準座標系の両座標系における２つの座標軸に対してそれぞれ同一の角度だけずれた２つの方向に３次元形状測定装置３０をそれぞれ移動させて基準球６０の測定を行うことも可能である。
【０１２８】
この場合、前記数２５および数２６に示される基準座標系での直線の傾きＫｘ，Ｋｙ，Ｋｚを、３次元形状測定装置３０（カメラ座標系）の移動方向に対応する直線の基準座標系での傾きＭｘ，Ｍｙ，Ｍｚにより補正する。前記数２５に示す直線の傾きＫｚについて具体的に説明すると、カメラ座標系の移動方向に対応する直線の傾きＭｚは、カメラ座標系のＸ軸方向の移動量ａに対するＹ軸方向の移動ｂの比（Ｍｚ＝ａ／ｂ）によって計算される。この直線の傾きＭｚを用いて前記数２１に示すＹ軸上の変化量およびＸ軸上の変化量を補正すると下記数３２に示すようになる。
【０１２９】
【数３２】
2006301991.tif 000034
【０１３０】
この直線の傾きＫｚと同様にして直線の傾きＫｘ，Ｋｙをそれぞれ補正すると下記数３３に示すようになる。
【０１３１】
【数３３】
2006301991.tif 000035
【０１３２】
これらの傾きＫｘ，Ｋｙ，Ｋｚは、基準球６０の基準座標系での各中心座標である定点(ｘａ”,ｙａ”,ｚａ”)、(ｘｂ”,ｙｂ”,ｚｂ”)、(ｘｃ”,ｙｃ”,ｚｃ”)、(ｘｄ”,ｙｄ”,ｚｄ”)、(ｘｅ”,ｙｅ”,ｚｅ”)と、カメラ座標系の移動方向に対応する直線の基準座標系での傾きＭｘ，Ｍｙ，Ｍｚとを用いて計算する。この場合、図５に示す座標変換関数補正プログラムにおけるステップＳ４２の基準球の測定処理において、３次元形状測定装置３０による基準球６０の各測定位置ごとに、基準座標系によって表されたアーム座標系の原点位置をメモリ装置に記憶しておき、同記憶された各測定位置ごとのアーム座標系の原点位置に基づいて直線の傾きＭｘ，Ｍｙ，Ｍｚを計算することができる。
【０１３３】
例えば、直線の傾きＫｘは、定点（ｙａ”，ｚａ”）、（ｙｂ”，ｚｂ”）、（ｙｃ”，ｙｃ”）を用いて最小２乗法により計算され、直線の傾きＭｘは、カメラ座標系のＹ軸方向の移動量ａｙに対するＺ軸方向の移動量ｂｚの比（Ｍｘ＝ａｙ／ｂｚ）によって計算される。ここで、Ｙ軸方向の移動量ａｙは、図６に示すａの位置とｃの位置との距離であり、Ｚ軸方向の移動量ｂｚは、図６に示すｄの位置とｅの位置との距離である。これにより、直線の傾きＫｘを計算することができるとともに、同直線の傾きＫｘを用いて座標軸の角度のずれθｘを計算することができる。また、直線の傾きＫｘと同様にして直線の傾きＫｙ，Ｋｚも計算することができるとともに、同直線の傾きＫｙ，Ｋｚを用いて座標軸の角度のずれθｙ，θｚも計算することができる。この結果、上記実施形態と同様に、座標回転関数Ｍ’を計算することができる。これにより、上記実施形態と同様の効果を期待できる。
【０１３４】
また、前記メモリ装置に記憶された３次元形状測定装置３０による基準球６０の各測定位置ごとの基準座標系によって表されたアーム座標系の原点位置を用いて、上記数３２および上記数３３とは別の計算式によって各座標軸の傾き角度θｘ,θｙ,θｚを計算することもできる。具体的には、図６に示すｂの測定位置を原点（０，０）として他の測定位置ａ，ｃ，ｄ，ｅを前記アーム座標系の原点位置を用いて表す。例えば、ａの測定位置を（ａ１，ｂ１）、ｃの測定位置を（ａ３，ｂ３）、ｄの測定位置を（ａ４，ｂ４）、ｅの測定位置を（ａ５，ｂ５）とし、これらの座標値を前記数２９に代入して直線の傾きＫｘ，Ｋｙ，Ｋｚごとに表すと下記数２７に示すようになる。下記数３４中、直線の傾きＫｘは、（ａ１，ｚ１），（０，ｚ２），（ａ３，ｚ３）から最小２乗法により計算され、直線の傾きＫｙは、（ｘ４，ｂ４），（ｘ２，０），（ｘ５，ｂ５）から最小２乗法によりにより計算され、直線の傾きＫｚは、（ａ１，ｘ１），（０，ｘ２），（ａ３，ｘ３）から最小２乗法によりにより計算される。この下記数３４を用いても上記と同様に各座標軸の傾き角度θｘ,θｙ,θｚを計算することができ、座標回転関数Ｍ’を計算することができる。
【０１３５】
【数３４】
2006301991.tif 000036
【０１３６】
ｃ．第３変形例
上記実施形態においては、カメラ座標系の各座標軸の向きを基準座標系の各座標軸の向きに一致させた後、３次元形状測定装置３０を両座標軸の２つの座標軸にそれぞれ平行に移動させて基準球６０の測定を行ったが、カメラ座標系をカメラ座標系の各座標軸に対して平行に移動させた場合における各測定位置ごとの定点が計算できれば、カメラ座標系の各座標軸の向きと基準座標系の座標軸の向きとを一致させなくても第１座標変換関数を補正することができる。
【０１３７】
具体的には、作業者は、図３に示す触針測定プログラムおよび図４に示す座標変換関数計算プログラムの実行によって第１座標変換関数を計算した後、カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとが一致していない状態で、基準球６０の３次元形状の測定を行う。この基準球６０の３次元形状の測定に際して作業者は、図５に示す座標変換関数補正プログラムを３次元画像処理装置４２に実行させる。この基準球６０の３次元形状の測定は、カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させない状態で、３次元形状測定装置３０をカメラ座標系の２つの座標軸にそれぞれ平行に移動させて行う。このほかの測定作業については、前記実施形態と同様である。また、座標変換関数補正プログラムにおける各処理もステップＳ４２、ステップＳ４５およびステップＳ５０以外は、前記実施形態と同様であるので、前記実施形態と異なる処理内容について説明する。
【０１３８】
３次元画像処理装置４２は、ステップＳ４２にて、前記実施形態と同様にして各測定位置ごとの基準球６０の３次元形状を表す３次元画像データをメモリ装置に記憶する。この場合、３次元形状測定装置３０による基準球６０の各測定位置ごとに、基準座標系によって表されたアーム座標系の原点位置をメモリ装置に記憶する。そして、３次元画像処理装置４２は、図５において破線で示すステップＳ４５にて、座標変換補正関数を計算する。この座標変換補正関数は、カメラ座標系の各座標軸の向きが基準座標系の各座標軸の向きに一致していない状態で第１座標変換関数および第２座標変換関数により座標変換された各座標値を、カメラ座標系の各座標軸と基準座標系の各座標軸との角度のずれに応じて補正する関数である。この座標変換補正関数の計算は、次のサブステップ１〜３の処理からなる。
【０１３９】
サブステップ１：３次元画像処理装置４２は、３次元形状測定装置３０の２つの移動方向にそれぞれ対応する２つのベクトルを計算する。具体的には、メモリ装置に記憶した各測定位置ごとのアーム座標系の原点を用いて、３次元形状測定装置３０の各移動方向ごとの各原点を通る直線をベクトルとして計算する。すなわち、３次元形状測定装置３０の２つの移動方向にそれぞれ対応するカメラ座標系の２つの座標軸に対してそれぞれ平行なベクトルを計算する。
【０１４０】
サブステップ２：３次元画像処理装置４２は、前記サブステップ１によって計算した２つのベクトルの単位ベクトルを計算するとともに、同単位ベクトルの外積を計算する。これにより、３次元形状測定装置３０の各移動方向に対応する２つのベクトルの各単位ベクトルに直交する１つのベクトルが計算される。この２つの単位ベクトルおよび同２つの単位ベクトルの外積により計算された１つのベクトルは、互いに直交する３つの単位ベクトルであり、各ベクトルはそれぞれカメラ座標系の各座標軸に対して平行である。
【０１４１】
サブステップ３：３次元画像処理装置４２は、前記サブステップ２にて計算された３つの単位ベクトルをそれぞれ基底ベクトル（１，０，０），（０，１，０），（０，０，１）に変換するための変換関数を計算し、同変換関数を座標補正変換関数としてメモリ装置に記憶する。この変換関数は、３つの各単位ベクトルを各基底ベクトルに変換するための各ベクトルの回転角度に基づいて計算される。すなわち、この変換関数は、基準座標系の各座標軸の向きをカメラ座標系の各座標軸の向きに一致させる座標変換関数に対応する。
【０１４２】
次に、座標変換関数補正プログラムにおけるステップＳ５０の処理を以下のように変更する。３次元画像処理装置４２は、ステップＳ５０にて、基準球６０の球体中心として計算した各座標値を、前記ステップＳ４５のサブステップ１〜３によって計算した座標変換補正関数を用いて補正する。これにより、第１座標変換関数によって座標変換された座標値が、カメラ座標系の各座標軸と基準座標系の各座標軸との角度のずれ量に応じて補正される。すなわち、座標変換補正関数によって補正された座標値と前記実施形態におけるステップＳ５０によって計算された基準座標系における座標値とは等価である。そして、３次元画像処理装置４２は、同補正された座標値を定点としてメモリ装置に記憶する。これ以降の処理は、前記実施形態と同様である。このように構成した第３変形例によれば、カメラ座標系の各座標軸の向きと基準座標系の座標軸の向きとを一致させる必要がないため、基準球６０の測定作業を効率的に行うことができる。
【０１４３】
ｄ．その他の変形例
上記実施形態、第１変形例、第２変形例および第３変形例においては、第１座標変換関数を計算するために、互いに異なる３つの位置において基準球６０の３次元形状の測定を行うようにしたが、互いに異なる３つの位置における基準球６０の定点を計算できれば、これに限定されるものではない。例えば、前記図４に示す座標変換関数計算プログラムにおける基準球６０の測定作業と前記図５に示す座標変換関数補正プログラムにおける基準球６０の測定作業とを共通の作業としてもよい。
【０１４４】
具体的には、作業者は、前記触針測定プログラムの実行後、支持機構２０の第３アーム２５の先端部に３次元形状測定装置３０を第３アーム２５の軸線回りに回転可能に組み付けるとともに、基準球６０の３次元形状の測定を行う。この基準球６０の３次元形状の測定に際して作業者は、図４に示す座標変換関数計算プログラムを３次元画像処理装置４２に実行させる。この場合、基準球６０の３次元形状の測定は、前記座標変換関数補正プログラムにおける測定作業と同様に、３次元形状測定装置３０のカメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させた後、３次元形状測定装置３０を２つの座標軸に対してそれぞれ平行に移動させて互いに異なる５つの位置で測定を行う。そして、３次元画像処理装置４２は、ステップＳ３２による第１座標変換関数の計算処理において、各測定位置ごとの５つの定点うち、３つの定点を用いて第１座標変換関数を計算する。この場合、３つの定点は、すべての定点が同一直線上にない３つの定点を用いるようにする。これにより、第１座標変換関数が計算される。
【０１４５】
次に、作業者は、図５に示す座標変換関数補正プログラムを３次元画像処理装置４２に実行させる。この場合、座標変換関数補正プログラムは、前記座標変換関数計算プログラムにおいて測定した基準球６０の３次元画像データを用いて、各ステップを実行して第１座標変換関数を補正する。すなわち、座標変換関数プログラムにおけるステップＳ４２の基準球の測定処理はスキップされる。したがって、この変形例によれば、１回の基準球６０の測定作業により得られた３次元画像データに基づき、各測定位置ごとの基準球６０の中心座標を定点として計算し、同定点を第１座標変換関数および第１座標変換関数の補正関数の計算に用いている。このため、基準球６０の測定作業の回数が減り、第１座標変換関数の計算および同第１座標変換関数の補正を効率的に行うができる。
【０１４６】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、基準座標系によって表された複数の定点を計算するために、３次元形状測定装置３０によって各測定位置ごとに測定された基準球６０のカメラ座標系での３次元画像データを基準座標系での３次元画像データに座標変換した後、同３次元画像データを用いて定点を計算するように構成したが、これに限定されるものではない。例えば、３次元形状測定装置３０によって各測定位置ごとに測定した基準球６０を表す３次元画像データを用いて定点を計算した後、この計算された各測定位置ごとの定点を基準座標系に座標変換するようにしてもよい。これによっても、上記実施形態と同様の効果を期待できる。
【０１４７】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、３次元形状測定装置３０の各移動方向ごとにそれぞれ３つの位置で基準球６０を測定し、各測定位置に対応する３つの定点を用いて各座標軸の角度のずれを計算するための直線を定義するようにしたが、同直線を定義できれば、これに限定されるものではない。すなわち、少なくとも２つの定点を得られればよく、例えば、各移動方向において４つ以上の定点を得るようにしてもよい。これによれば、より正確に直線を定義でき、高精度な座標回転関数Ｍ’を計算することができる。
【０１４８】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、３次元形状測定装置３０をＹ軸方向およびＺ軸方向に移動させて基準球６０を測定するようにしたが、３つの座標軸に対応する３つの角度のずれθｘ，θｙ，θｚが計算できれば、これに限定されるものではない。すなわち、前記Ｙ軸方向およびＺ軸方向のうちの一方をＸ軸方向に代えてもよい。これによっても、上記実施形態と同様の効果を期待できる。
【０１４９】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、３次元形状測定装置３０をＹ軸方向およびＺ軸方向の２つの座標軸方向に移動させて基準球６０を測定するようにしたが、３つの座標軸についてそれぞれ角度のずれθｘ，θｙ，θｚが計算できれば、これに限定されるものではない。すなわち、前記Ｙ軸方向およびＺ軸方向に加えてＸ軸方向に３次元形状測定装置３０を移動させて基準球６０を測定してもよい。この場合、３つの座標軸に対応する３つの角度のずれθｘ，θｙ，θｚが、それぞれ２つずつ計算されるが、同２つの計算値を平均化してそれぞれの角度のずれθｘ，θｙ，θｚとしてもよい。これによれば、より正確な座標回転関数Ｍ’を計算でき、高精度な第１座標変換関数を計算することができる。
【０１５０】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、基準球６０として球体を用いたが、触針５０の接触によって定点などの基準物体の情報が特定でき、かつ３次元形状測定装置３０による外形形状の測定によって物体が特定できるとともに同物体によって規定される定点の座標値が特定できるものであれば、球体の径および個数は限定されるものではない。また、球体以外の物体を基準物体として利用することもできる。例えば、立方体、直方体などの角柱、角錐、円柱または円錐体など、物体および定点を特定し易い物体を基準物体として利用できる。これによっても、上記実施形態と同様の効果を期待できる。
【０１５１】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、第１座標変換関数および第２座標変換関数を計算するために基台１０上に１つの基準球６０を用いたが、これに限定されるものではない。例えば、３つの基準球を基台１０上に配置し、触針５０および３次元形状測定装置３０によってそれぞれ３つの基準球を測定して各中心座標を定点として第１座標変換関数および第２座標変換関数を計算するように構成してもよい。これによっても、上記実施形態と同様の効果を期待できる。
【０１５２】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、基準座標系における基準となる点を特定するために、基台１０上に基準球６０を配置して同基準球６０を支持機構２０の先端部に取り付けた触針５０を用いて測定したが、これに限定されるものではない。例えば、基準座標系における予め特定できる位置に基準球６０を配置すれば、同基準球６０を測定して基準となる点を特定する作業、すなわち図３に示す触針測定プログラムによる基準球６０の測定作業は不要である。これによっても、上記実施形態と同様の効果を期待できる。
【０１５３】
また、上記実施形態、第１変形例、第２変形例および第３変形例においては、変形可能な支持機構によって支持された３次元形状測定装置３０を用いてカメラ座標系の座標を基準座標系の座標に変換する座標変換関数の補正を行ったが、これに限定されるものではない。例えば、３次元形状測定装置３０の位置および向きを別の測定手段によって測定しながら３次元形状測定装置３０を独立して移動できる３次元画像生成システムにおいて、座標変換関数の補正を行ってもよい。この場合、３次元形状測定装置３０周りに任意に定めた一点がアーム座標系の原点に相当し、アーム座標系に相当する座標を基準座標系の座標に変換する第２座標変換関数が３次元形状測定装置３０の位置および向きのデータにより計算される。この他の構成については上記実施形態と同様の方法により座標変換関数の補正を行うことができる。
【図面の簡単な説明】
【０１５４】
【図１】本発明の一実施形態に係る３次元画像生成システムの全体を示す概略図である。
【図２】図１の支持機構に触針を組み付けた状態を示す概略斜視図である。
【図３】図１の３次元画像処理装置によって実行される触針測定プログラムのフローチャートである。
【図４】図１の３次元画像処理装置によって実行される座標変換関数計算プログラムのフローチャートである。
【図５】図１の３次元画像処理装置によって実行される座標変換関数補正プログラムのフローチャートである。
【図６】図１の３次元形状測定装置による基準球の測定の方法を示した説明図である。
【図７】仮のカメラ座標系の各座標軸の向きが真のカメラ座標系の各座標軸に対してずれている場合におけるカメラ座標系の座標を基準座標系の座標に変換した座標の位置関係を示す説明図である。
【図８】仮のカメラ座標系の各座標軸の向きが真のカメラ座標系の各座標軸に対して一致している場合におけるカメラ座標系の座標を基準座標系の座標に変換した座標の位置関係を示す説明図である。
【図９】図１の３次元画像処理装置によって実行される３次元形状表示プログラムのフローチャートである。
【符号の説明】
【０１５５】
１０…基台、２０…支持機構、２１…固定ポール、２２…回転ロッド、２３〜２５…アーム、２７ａ〜２７ｅ…回転角センサ、３０…３次元形状測定装置、４１…コントローラ、４２…画像処理装置、４３…入力装置、４４…表示装置、５０…触針、６０…基準球。
【図１】
2006301991.tif 000037
【図２】
2006301991.tif 000038
【図３】
2006301991.tif 000039
【図４】
2006301991.tif 000040
【図５】
2006301991.tif 000041
【図６】
2006301991.tif 000042
【図７】
2006301991.tif 000043
【図８】
2006301991.tif 000044
【図９】
2006301991.tif 000045