説明

座標変換関数の補正方法

【課題】測定対象物の正確な3次元形状測定を行うために、精度のよい座標変換関数を計算することが可能な座標変換関数の補正方法を提供する。
【解決手段】カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させた状態で、両座標系の2つの座標軸に対してそれぞれ平行に3次元形状測定装置30を移動させ、各移動方向においてそれぞれ少なくとも2つの位置で基準球60の3次元形状を測定する。そして、各移動方向ごとに座標変換関数によって座標変換された基準球60の中心座標を定点として計算し、各移動方向ごとの各定点によって基準座標系に定義される直線の傾きを計算する。この各移動方向ごとに直線の傾きに応じて第1座標変換関数を座標回転関数M’を用いて補正した後、この補正された第1座標変換関数によって座標変換された定点を用いて第1座標変換関数の座標移動関数を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元形状測定装置により複数の異なる位置で測定した物体の各座標系における3次元画像データを、1つの基準座標系における3次元形状データ群に変換する座標変換関数の補正方法に関する。
【背景技術】
【0002】
従来から、測定対象の物体に対し測定位置が移動される3次元形状測定装置により、測定対象物の3次元形状を複数の異なる位置から測定して各測定位置ごとの3次元画像データを合成し、測定対象物の立体形状を任意の方向から見て表示できるようにした3次元形状の測定方法はよく知られている。この測定においては、測定対象物の3次元形状を測定する前に、3次元形状測定装置による各測定位置ごとの座標値を基準座標系における座標値に変換するための座標変換関数の計算が行われる。具体的には、予め決められた形状の基準物体を測定対象空間内に配置して、この3次元形状を測定し、同測定した3次元形状を表す3次元画像データを用いて予め基準物体内に設定してある定点の座標値を各測定位置ごとに計算し、この計算した座標値を用いて座標変換関数を計算する。そして、この座標変換関数により各測定位置における測定対象物の3次元形状を表す3次元画像データを基準座標系における3次元画像データに変換することが行われている(特許文献1参照)。
【特許文献1】特開2002−328013号公報
【0003】
しかしながら、本発明の発明者らは、上記のように計算した座標変換関数を用いて、同一の測定対象物を複数の異なる位置で測定した場合、同測定対象物を表す基準座標系における3次元画像データが、各測定位置ごとに僅かに異なる値になっていることを発見した。これは、基準物体の3次元形状を測定する際、基準物体を表す3次元画像データに測定誤差が生じているため計算した座標変換関数に誤差があることによると考えられる。このため、表示装置に表示される測定対象物の立体形状の位置が同測定対象物を見る方向によって僅かにずれ、正確な3次元形状測定ができないという問題があった。
【発明の開示】
【0004】
本発明は上記問題に対処するためなされたもので、その目的は、測定対象物の正確な3次元形状測定を行うために、精度のよい座標変換関数を計算することが可能な座標変換関数の補正方法を提供することにある。
【0005】
前記目的を達成するため、本発明の特徴は、変形可能な支持機構によって支持された3次元形状測定装置を用いて測定対象物の3次元形状を測定して、3次元形状測定装置に関する座標系における前記測定した測定対象物の3次元形状を表す3次元画像データを生成し、同3次元画像データを支持機構の変形状態に応じて変化する座標変換関数を用いて予め決めた所定の座標系の3次元画像データに変換して、測定対象物を任意の方向から見て表示可能な3次元画像生成システムに適用される座標変換関数の補正方法において、3次元形状測定装置を直線的に移動して少なくとも2つの位置で3次元形状測定装置の測定対象空間内に配置された基準物体の3次元形状を測定し、各測定位置ごとに前記3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データを生成する画像データ生成過程と、座標変換関数および前記生成された各測定位置ごとの3次元画像データを用いて、前記少なくとも2つの位置で測定した基準物体の定点を予め決めた所定の座標系で表す3次元データを計算する定点計算過程と、予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きに応じて座標変換関数を補正する補正過程とを含むことにある。
【0006】
この場合、前記座標変換関数を、3次元形状測定装置に関する座標系の3次元画像データを支持機構における3次元形状測定装置の取り付け部に関する座標系の3次元画像データに変換するための第1座標変換関数と、支持機構の変形状態に応じて支持機構における3次元形状測定装置の取り付け部に関する座標系の3次元画像データを前記予め決めた所定の座標系の3次元画像データに変換するための第2座標変換関数とで構成し、前記補正過程では、前記第1座標変換関数を補正するとよい。
【0007】
また、この場合、前記定点計算過程では、前記生成された各測定位置ごとの3次元画像データを、座標変換関数を用いて前記予め決めた所定の座標系で表す3次元画像データに変換し、かつ予め決めた所定の座標系に変換した3次元画像データを用いて、基準物体の定点を予め決めた所定の座標系で表す3次元データとして計算するようにしてもよいし、これに代えて、前記定点計算過程では、前記生成された各測定位置ごとの3次元画像データを用いて、基準物体の定点を3次元形状測定装置に関する座標系で表す3次元データとして計算し、かつ前記計算した3次元形状測定装置に関する座標系で表す基準物体の定点の3次元データを、座標変換関数を用いて予め決めた所定の座標系で表す3次元データに変換するようにしてもよい。
【0008】
また、この場合、例えば、前記基準物体を、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有するものとするとよい。
【0009】
このように構成した本発明の特徴によれば、3次元形状測定装置を直線的に移動させて少なくとも2つの位置で基準物体を測定し、予め決められた所定の座標系における座標値として前記各測定位置ごとの基準物体の定点を計算する。そして、各測定位置ごとの定点によって定義される直線の傾きに応じて座標変換関数を補正している。この場合、同直線の傾きは、座標変換の変換先である予め決められた所定の座標系の座標軸に対する傾きである。すなわち、補正の対象である座標変換関数を用いて座標変換された定点によって定義される直線の傾きに応じて座標変換関数が補正される。したがって、座標変換関数に誤差が生じている場合であっても、前記直線の傾きに応じて座標変換関数を補正することができ、精度のよい座標変換関数を計算することができる。この結果、測定対象物の正確な3次元形状測定を行うことができる。
【0010】
また、本発明の他の特徴は、前記画像データ生成過程では、前記予め決めた所定の座標系の座標軸に平行に前記3次元形状測定装置を移動するようにしたことにある。この場合、前記予め決めた所定の座標系の少なくとも2つの座標軸に平行に前記3次元形状測定装置をそれぞれ移動するようにするとよい。また、この場合、前記3次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、前記3次元形状測定装置を移動するようにするとよい。
【0011】
また、これに代えて、前記画像データ生成過程では、前記3次元形状測定装置を直交する少なくとも2方向に移動するようにしたことにある。この場合、3次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、3次元形状測定装置を移動するようにするとよい。
【0012】
また、これらに代えて、前記画像データ生成過程では、3次元形状測定装置に関する座標系の座標軸に平行に3次元形状測定装置を移動するようにしたことにある。この場合、3次元形状測定装置に関する座標系の少なくとも2つの座標軸に平行に3次元形状測定装置をそれぞれ移動するようにするとよい。
【0013】
これらの場合、前記補正過程では、予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きを計算し、かつ前記計算した傾きに応じて前記座標変換関数を補正するようにするとよい。その際、これに加えて、前記支持機構における前記3次元形状測定装置の取り付け部の移動量を前記支持機構の変形状態に応じて検出し、前記補正過程の直線の傾きの計算に前記3次元形状測定装置の取り付け部の移動量を用いるようにしてもよい。
【0014】
これらによれば、3次元形状測定装置を3次元形状測定装置に関する座標系および予め決められた所定の座標系の各座標軸に対して平行に移動させた場合における各測定位置ごとの定点、または同各座標軸に平行に3次元形状測定装置を移動させた場合と等価な各測定位置ごとの定点を計算することができる。この場合、前記予め決めた座標系における基準物体の定点によって定義される直線は、3次元形状測定装置の移動方向に対応する座標軸とこれ以外の2つの座標軸の内のいずれか1つの座標軸の座標値により定義される。すなわち、同直線は、移動方向に対応する座標軸と前記2つの座標軸の内のいずれか1つの座標軸により定義される平面内にある。これにより、前記座標変換関数を用いて座標変換された定点によって定義される直線の傾きを用いて、座標変換関数における座標軸の角度のずれを簡単な計算処理により補正することができる。
【0015】
また、本発明の他の特徴は、変形可能な支持機構によって支持された3次元形状測定装置を用いて測定対象物の3次元形状を測定して、3次元形状測定装置に関する座標系における前記測定した測定対象物の3次元形状を表す3次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した3次元画像データを予め決めた所定の座標系の3次元画像データに変換して、測定対象物を任意の方向から見て表示可能な3次元画像生成システムに適用される座標変換関数の補正方法において、3次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データを特定する定点データ特定過程と、3次元形状測定装置を直線的に移動して少なくとも2つの位置で3次元形状測定装置の測定対象空間内に配置された基準物体の3次元形状を測定し、各測定位置ごとに3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データを生成する画像データ生成過程と、座標変換関数および前記生成された各測定位置ごとの3次元画像データを用いて、前記少なくとも2つの位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算する第1定点計算過程と、前記予め決めた所定の座標系の座標軸に対する第1定点計算過程で計算された定点によって定義される直線の傾きに応じて座標変換関数のうちの座標回転関数を補正する第1補正過程と、第1定点計算過程で計算された定点の3次元データ、前記画像データ生成過程で生成された3次元画像データ、または前記3次元形状測定装置によって3次元形状を新たに測定して生成し3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データと、第1補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算する第2定点計算過程と、第2定点計算過程で計算された定点の3次元データと、定点データ特定過程で特定された定点の3次元データとの差に応じて、座標変換関数のうちの座標移動関数を補正する第2補正過程とを含むことにある。
【0016】
この場合、前記定点データ特定過程では、支持機構に触針を取り付け、同触針を基準物体に接触させて、支持機構の変形状態に応じて基準物体の定点を前記予め決めた所定の座標系で表す3次元データを計算するようにするとよい。また、前記基準物体を、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有するようにするとい。
【0017】
これによれば、第1補正過程によって座標変換関数の座標軸の回転を表す座標回転関数を補正した後、第2補正過程によって座標変換関数の座標軸の直線移動を表す座標移動関数を補正している。この場合、第2補正過程においては、第1補正過程によって座標回転関数が補正された座標変換関数を用いて座標移動関数の補正を行っている。このため、座標回転関数が補正された座標変換関数によって座標変換された各測定位置ごとの定点は、予め決められた所定の座標系において略同一の座標値となる。これにより、第2定点計算過程で計算された定点の3次元データと、定点データ特定過程で特定された定点の3次元データとの差を一義的に計算することができ、座標移動関数を精度よく補正することができるとともに、精度のよい座標変換関数を計算することができる。この結果、測定対象物の正確な3次元形状測定を行うことができる。
【0018】
また、本発明の他の特徴は、変形可能な支持機構によって支持された3次元形状測定装置を用いて測定対象物の3次元形状を測定して、3次元形状測定装置に関する座標系における前記測定した測定対象物の3次元形状を表す3次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した3次元画像データを予め決めた所定の座標系の3次元画像データに変換して、測定対象物を任意の方向から見て表示可能な3次元画像生成システムに適用される座標変換関数の補正方法において、3次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データを特定する定点データ特定過程と、3次元形状測定装置を移動して少なくとも3つの位置で3次元形状測定装置の測定対象空間内に配置された基準物体の3次元形状を測定し、各測定位置ごとに3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データを生成する画像データ生成過程と、画像データ生成過程で生成した基準物体の3次元形状を表す3次元画像データを用いて、各測定位置ごとに基準物体の定点を3次元形状測定装置に関する座標系で表す3次元データとして生成する3次元データ生成過程と、定点データ特定過程で特定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データと、基準物体の定点を3次元形状測定装置に関する座標系で表す3次元データを用いて座標変換関数を生成する座標変換関数生成過程と、座標変換関数生成過程で生成した座標変換関数と、画像データ生成過程で生成した各測定位置ごとの基準物体の3次元画像データのうちの少なくとも2つの測定位置の基準物体の3次元画像データとを用いて、前記少なくとも2つの測定位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算する第1定点計算過程と、前記予め決めた所定の座標系の座標軸に対する第1定点計算過程で計算された定点によって定義される直線の傾きに応じて座標変換関数のうちの座標回転関数を補正する第1補正過程と、第1定点計算過程で計算された定点の3次元データ、画像データ生成過程で生成された3次元画像データ、または3次元形状測定装置によって3次元形状を新たに測定して生成した3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データと、第1補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データを計算する第2定点計算過程と、第2定点計算過程で計算された定点の3次元データと、定点データ特定過程で特定された定点の3次元データとの差に応じて、座標変換関数のうちの座標移動関数を補正する第2補正過程とを含むことにある。
【0019】
この場合、前記定点データ特定過程では、支持機構に触針を取り付け、同触針を基準物体に接触させて、支持機構の変形状態に応じて基準物体の定点を前記予め決めた所定の座標系で表す3次元データを計算するようにするとよい。また、前記基準物体を、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有するようにするとい。
【0020】
これによれば、画像データ生成過程によって生成した基準物体の3次元形状を表す3次元画像データを、座標変換関数を生成する座標変換関数生成過程、座標変換関数を補正する第1補正過程および第2補正過程においてそれぞれ用いている。このため、基準物体の3次元形状を測定する作業を1回行えば、座標変換関数の生成および同座標変換関数の補正が自動的に行われるため、作業効率良く座標変換関数の補正を行うことができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明の一実施形態について図面を用いて説明する。図1は、本発明の座標変換関数の補正方法に利用される3次元画像生成システムの基本構成を示す概略図である。
【0022】
この3次元画像生成システムは、基台10上に固定して先端部を測定対象空間内で自由に変位させる支持機構20と、支持機構20の先端部に取り付けた3次元形状測定装置30とを備えている。支持機構20は、固定ポール21、回転ロッド22、第1アーム23、第2アーム24および第3アーム25からなる。
【0023】
固定ポール21は、円筒状に形成され、その下端にて基台10上に垂直に立設固定されている。回転ロッド22は、円柱状に形成され、その下端部にて固定ポール21に軸線回りに回転可能に支持されて、固定ポール21から上方に突出している。第1アーム23は、その基端に設けた連結部23aにて、回転ロッド22の先端に設けた連結部22aに、回転ロッド22の軸線方向に直交する軸線回りに回転可能に組み付けられている。第2アーム24は、その基端に設けた連結部24aにて、第1アーム23の先端に設けた連結部23bに、第1アーム23の軸線方向に直交する軸線回りに回転可能に組み付けられている。第3アーム25は、その基端に設けた連結部25aにて、第2アーム24の先端に設けた連結部24bに、第2アーム24の軸線方向に直交する軸線回りに回転可能に組み付けられている。第3アーム25の先端部には、固定部材26を介して3次元形状測定装置30が、第3アーム25の軸線回りに回転可能、かつ着脱自在に取り付けられている。固定部材26は、3次元形状測定装置30の方形状のハウジングの底面または側面に固定されている。
【0024】
また、支持機構20内には、回転角センサ27a,27b,27c,27d,27eがそれぞれ設けられている。回転角センサ27aは、固定ポール21内に組み込まれて、固定ポール21に対する回転ロッド22の軸線回りの回転角を検出する。回転角センサ27bは、第1アーム23の連結部23a内に組み込まれて、回転ロッド22の連結部22aに対する第1アーム23の連結部23aにおける一軸線回りの回転角を検出する。回転角センサ27cは、第2アーム24の連結部24a内に組み込まれて、第1アーム23の連結部23aに対する第2アーム24の連結部24aにおける一軸線回りの回転角を検出する。回転角センサ27dは、第3アーム25の連結部25a内に組み込まれて、第2アーム24の連結部24bに対する第3アーム25の連結部25aにおける一軸線回りの回転角を検出する。回転角センサ27eは、第3アーム25の先端部内に組み込まれて、第3アーム25に対する3次元形状測定装置30の第3アーム25における一軸線回りの回転角、すなわち3次元形状測定装置30の第3アーム25の先端部に対する回転角を検出する。
【0025】
3次元形状測定装置30は、その正面側に位置する物体の3次元形状を測定するとともに同測定した3次元形状を表す情報を出力するものであり、本実施形態においては、レーザ光を用いて3角測量法に従って物体の3次元形状を測定するものである。なお、本実施形態では、レーザ光を用いるようにしているが、3次元物体の表面形状を測定し、反射率および色などを識別することが可能であれば他の光を用いてもよい。
【0026】
この3次元形状測定装置30においては、レーザ光源から物体に向けて出射されるレーザ光の進行方向にほぼ垂直な仮想平面を想定するとともに、同仮想平面上にて互いに直交するX軸方向およびY軸方向に沿って分割した多数の微小エリアを想定する。そして、3次元形状測定装置30は、前記多数の微小エリアにレーザ光を順次照射し、物体からの反射光によって前記微小エリアが規定する物体表面までの距離をZ軸方向距離として順次検出して、物体の表面を微小エリアずつに分割した各分割エリア位置を表すX,Y,Z座標に関する情報を得て、同3次元形状測定装置30に面した物体表面の形状を測定するものである。
【0027】
したがって、この3次元形状測定装置30は、出射レーザ光の向きをX軸方向に変化させるX軸方向走査器と、出射レーザ光の向きをY軸方向に変化させるY軸方向走査器と、物体表面にて反射された反射レーザ光を受光して物体表面までの距離を検出する距離検出器とを備えている。X軸方向走査器およびY軸方向走査器としては、レーザ光源からの出射レーザ光の光路をX軸方向およびY軸方向に独立に変化させ得る機構であればよく、例えばレーザ光源自体をX軸方向およびY軸方向の軸線回りに電動モータによって回転させたり、出射レーザ光の光路に設けられてその方向を変更するガルバノミラーをX軸方向およびY軸方向の軸線回りに電動モータによって回転させる機構を利用できる。距離検出器としては、前記出射レーザ光の光路に追従して回転し、物体表面にて反射された反射レーザ光を集光する結像レンズおよび同集光したレーザ光を受光するCCDなどの複数の受光素子を一列に配置させたラインセンサからなり、ラインセンサによる反射レーザ光の受光位置によって物体表面までの距離を検出する機構を利用できる。
【0028】
したがって、このような3次元形状測定装置30は、物体の表面を微小エリアずつに分割した各分割エリア位置を表すX,Y,Z座標に関する情報として、X軸方向走査器による出射レーザ光の基準方向に対するX軸方向への傾きθx、Y軸方向走査器による出射レーザ光の基準方向に対するY軸方向への傾きθy、および距離検出器による物体表面までの距離Lzとが、前記仮想したX軸方向およびY軸方向に沿って分割した多数の微小エリアごとに出力される。より具体的には、X軸およびY軸方向への傾きθx,θyは、電動モータの基準位置からの回転角である。また、物体表面までの距離Lzは、ラインセンサにおける反射レーザ光の受光位置である。なお、前述した3次元形状測定装置30はその一例を示すもので、レーザ光に代えてミリ波、超音波などを使用したものなど、いかなる3次元形状測定装置をも利用できる。
【0029】
この3次元形状測定装置30には、コントローラ41および3次元画像処理装置42が接続されている。コントローラ41は、複数の操作子を含むキーボードなどからなる入力装置43からの指示にしたがって、3次元形状測定装置30の作動を制御する。また、コントローラ41は、入力装置43からの指示にしたがって3次元画像処理装置42の作動を制御するとともに、同入力装置43にて入力されたデータを3次元画像処理装置42に供給する。
【0030】
3次元画像処理装置42は、コンピュータ装置によって構成されて図3,4,6,9のプログラムの実行により、回転角センサ27a〜27eによって検出された回転角および3次元形状測定装置30からの3次元形状を表す情報、具体的には、X軸方向への傾きθx、Y軸方向への傾きθy、物体表面までの距離Lzを入力して、測定対象空間内に位置する物体の立体形状を任意の方向から見て表示可能な3次元画像データを生成する。この3次元画像処理装置42には、表示装置44が接続されている。表示装置44は、液晶ディスプレイ、プラズマディスプレイ、CRTディスプレイなどを備えており、3次元画像処理装置42から出力する3次元画像データに基づいて測定対象空間内に位置する物体の立体形状を表示する。
【0031】
以下、上記のように構成した3次元画像生成システムの作動について説明する。まず、作業者は、3次元形状測定装置30に関する座標系(以下、カメラ座標系という)によって表された3次元画像データを、支持機構20に関する座標系(以下、アーム座標系という)によって表された3次元画像データに変換するための第1座標変換関数を計算する。ここで、カメラ座標系は、3次元形状測定装置30に関する座標系であり、互いに直交する3つの座標軸(X軸,Y軸,Z軸)からなり3次元形状測定装置30の特定点を原点とする3次元座標系である。また、アーム座標系は、3次元形状測定装置30の取り付け部に関する座標系であり、カメラ座標系に対応する3つの座標軸(X軸,Y軸,Z軸)からなり、3次元形状測定装置30を支持機構20に取り付けるための取り付け部である第3アーム25の先端部の予め決められた位置を原点とする3次元座標系である。この第3アーム25の先端部の予め決められた位置とは、詳しくは第3アーム25に対して軸線回りに回転する点である。
【0032】
まず、作業者は、図2に示すように、第3アーム25の先端部に、先端を尖らせて形成した触針50の基部51を固定する。次に、作業者は、基台10上における適当な位置に基準球60を配置する。この場合、基準球60は、円柱状の支持部61を介して設置され、基台10の上面から適当な高さに配置される。基準球60は、真球体に形成され測定対象空間内の定点を定めるための基準物体として機能する。なお、この触針50においては、基部51の所定位置に対する先端の位置は作業者により認識されており、3次元画像処理装置42のメモリ装置に予め記憶される。また、固定ポール21、回転ロッド22および第1〜第3アーム23〜25の長さも作業者に認識されており、3次元画像処理装置42のメモリ装置に予め記憶される。また、本実施形態においては、基準球60を支持部61を介して基台10上に配置したが、基準球60を直接基台10上に配置するようにしてもよい。さらに、触針50の先端を球状に形成し、基部51の所定位置に対する球の中心位置を認識するようにしてもよい。
【0033】
次に、作業者は、前記準備の終了後、入力装置43を操作して、図3に示す触針測定プログラムを3次元画像処理装置42に実行させる。そして、作業者は、触針50を変位させて基準球60の外表面の異なる4点に触針50の先端を接触させるとともに、各接触ごとに入力装置43を操作することにより触針50の基準球60に対する接触を入力する。3次元画像処理装置42は、触針測定プログラムをステップS10にて開始しており、前記接触の入力により、ステップS12にて、触針50の基準球60への接触時に、回転角センサ27a〜27dから検出回転角をそれぞれ入力する。
【0034】
そして、これらの入力した検出回転角のセットに加えて、固定ポール21、回転ロッド22、第1〜第3アーム23〜25および触針50の長さを用いて、触針50の基準球60への接触点を表す座標であって基台10に関する座標系である基準座標系の座標を計算する。基準座標系は、カメラ座標系に対応する3つの座標軸(X軸,Y軸,Z軸)からなり固定ポール21の基台10への固定部における予め定められた点を原点とする3次元座標系である。このような基準座標系の座標の計算を各接触点ごとに行って、4つの接触点にそれぞれ対応した4組の座標データを一時的に記憶しておく。3次元画像処理装置42は、ステップS12の処理後、ステップS14にて基準球60の中心位置を表す座標であって基準座標系の座標(以下、中心座標(x”,y”,z”)という)を、前記計算した4組の座標データを用いて計算する。この計算においては、球体の外表面を表す下記数1の方程式のX,Y,Zに、前記4組の座標データを代入し、a,b,cの各値を計算することにより、基準球60の中心位置を表す座標(x”,y”,z”)を計算する。なお、a,b,cは球体の中心位置を表すX,Y,Z座標であり、dは球体の半径である。
【0035】
【数1】

【0036】
次に、3次元画像処理装置42は、ステップS16にて、前記計算した中心座標(x”,y”,z”)を基準球60の定点を表す座標として記憶しておく。そして、ステップS18にて、この触針測定プログラムの実行を終了する。なお、本実施形態では、基準球60に対して触針50を4箇所接触させるようにしたが、5箇所以上の接触を行って、補正を含む高精度の中心座標の計算を行うようにしてもよい。また、基準球60の半径dが既知である場合には、接触点を3点にしても、基準球60の中心座標を求めることができる。
【0037】
次に、作業者は、図1に示すように、第3アーム25の先端部に3次元形状測定装置30を第3アーム25の軸線回りに回転可能に組み付けるとともに、図4に示す座標変換関数計算プログラムを3次元画像処理装置42に実行させる。そして、作業者は、入力装置43を操作することによりコントローラ41を介して、3次元形状測定装置30に対して基準球60の3次元形状の測定開始を指示する。これに応答して、3次元形状測定装置30は、基準球60の3次元形状の測定を開始する。この場合、作業者は、3次元形状測定装置30を手で持って、回転ロッド22、第1〜第3アーム25および3次元形状測定装置30の各連結部における回転変位を伴いながら、基準球60に対して3次元形状測定装置30を移動させて基準球60の3次元形状を測定する。この場合、基準球60の測定は、それぞれ異なる3つの測定位置からそれぞれ行われる。
【0038】
一方、3次元画像処理装置42は、3次元形状測定装置30による基準球60の3次元形状の測定中、前記座標変換関数計算プログラムの実行をステップS20にて開始して、ステップS22にて支持機構20内の回転角センサ27a〜27eから検出回転角をそれぞれ入力する。そして、前記ステップS22の処理後、ステップS24にて、3次元形状測定装置30による測定終了を待って、基準球60の3次元形状を表す情報を入力する。すなわち、基準球60の表面を微小エリアずつに分割した各分割エリア位置を表すX−Y−Z座標に関する情報(具体的には、傾きθx,θyおよび距離Lz)をそれぞれ入力する。そして、同ステップS24にて、前記入力した3次元形状測定装置30からのX−Y−Z座標に関する情報に基づいて、各測定位置ごとにおける基準球60の3次元形状を表す立体形状データ群からなる3次元画像データをそれぞれ計算する。この場合、3次元画像データは、3次元形状測定装置30に関する座標系、すなわちカメラ座標系によって表されている。なお、前記3次元画像データ中に基準球60以外の物体(例えば、基台10など)に関する不要な3次元画像データが含まれている場合には、3次元画像処理装置42は、3次元形状測定装置30からX−Y−Z座標に関する情報とともに、ラインセンサの受光光量のデータまたは同受光光量の出射光量に対する比のデータを入力し、同ステップS24にて、この受光光量または受光光量の出射光量に対する比のデータにより同不要な3次元画像データを除去する処理を併せて実行する。
【0039】
次に、3次元画像処理装置42は、ステップS26にて、前記計算した各測定位置ごとの3次元画像データを、上記数1の方程式のX,Y,Zに適用して、最小2乗法により基準球60の各測定位置ごとに中心座標(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)を計算する。なお、各測定位置ごとの基準球60の3次元画像データの区別は、前記入力した回転角センサ27a〜27eによる検出回転角を用いる。
【0040】
次に、3次元画像処理装置42は、ステップS28にて、前記入力した回転角センサ27a〜27eによる検出回転角に加えて、固定ポール21、回転ロッド22および第1〜第3アーム23〜25の長さを用いて、第3アーム25の先端部の予め決められた位置を表す座標、すなわちアーム座標系の原点を表す座標であって基準座標系に関する座標(xd1,yd1,zd1),(xd2,yd2,zd2),(xd3,yd3,zd3)を各測定位置ごとにそれぞれ計算する。また、このステップS28においては、前記入力した回転角センサ27a〜27eによる検出回転角を用いて、アーム座標系のX軸、Y軸およびZ軸回りの回転角(α1,β1,γ1),(α2,β2,γ2),(α3,β3,γ3)も各測定位置ごとにそれぞれ計算する。
【0041】
次に、3次元画像処理装置42は、ステップS30にて、前記図3の触針測定プログラムの実行によってメモリ装置に記憶した基準球60の基準座標系における中心座標(x”,y”,z”)と、前記ステップS28の処理によって計算した基準座標系におけるアーム座標系の原点座標(xd1,yd1,zd1),(xd2,yd2,zd2),(xd3,yd3,zd3)と、同ステップS28の処理によって計算した基準座標系に対するアーム座標系の各座標軸X,Y,Zの回転角(α1,β1,γ1),(α2,β2,γ2),(α3,β3,γ3)とを下記数2及び数3に代入して、基準球60の中心座標であってアーム座標系での中心座標(x’1,y’1,z’1),(x’2,y’2,z’2),(x’3,y’3,z’3)を計算する。
【0042】
【数2】

【0043】
【数3】

【0044】
上記数2および数3は、X−Y−Z座標からなる第1座標系における一点の座標(x,y,z)を、同第1座標系をX軸、Y軸およびZ軸回りにそれぞれxθ,yθ,zθだけ回転させるとともに、同第1座標系の原点をX軸方向、Y軸方向およびZ軸方向にそれぞれa,b,cだけ移動させた第2座標系における同一点の座標(x’,y’,z’)との関係を示している。そして、このステップS30の計算においては、数2中の座標値x,y,zが、基準球60の中心座標であって基準座標系の中心座標(x”,y”,z”)の各X,Y,Z座標値にそれぞれ対応する。また、数2中の座標値x’,y’,z’が、基準球60の中心座標であってアーム座標系の中心座標(x’,y’,z’)の各X,Y,Z座標値に対応する。なお、前記数2中の値a,b,cは前記ステップS28にて計算したアーム座標系の原点座標(xd1,yd1,zd1),(xd2,yd2,zd2),(xd3,yd3,zd3)に対応し、かつ前記数2中のα,β,γは同ステップS28にて計算した回転角(α1,β1,γ1),(α2,β2,γ2),(α3,β3,γ3)に相当する。
【0045】
前記ステップS30の処理後、ステップS32にて、ステップS26の処理によって計算したカメラ座標系の基準球60の各測定位置ごとの中心座標(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)と、ステップS30の処理によって計算したアーム座標系の基準球60の中心座標(x’1,y’1,z’1),(x’2,y’2,z’2),(x’3,y’3,z’3)とを用いて、カメラ座標系からアーム座標系への第1座標変換関数を計算する。
【0046】
この第1座標変換関数の計算の前に、この種の座標変換について簡単に説明しておく。まず、X−Y−Z座標からなる第1座標系と、同第1座標系をX軸、Y軸およびZ軸回りにそれぞれxθ,yθ,zθだけ回転させるとともに、同第1座標系の原点をX軸方向、Y軸方向およびZ軸方向にそれぞれa,b,cだけ移動させた第2座標系を想定する。この場合も、第1座標系における一点の座標を(x,y,z)とし、第2座標系における同一点の座標を(x’,y’,z’)すると、前記数2,3の場合と同様に、下記数4が成立するとともに、同数4中の行列Mは下記数5によって表される。
【0047】
【数4】

【0048】
【数5】

【0049】
このステップS32の第1座標変換関数の計算は、前記数4および数5中の行列値g11,g12,g13,g21,g22,g23,g31,g32,g33および行列値a,b,cを計算することを意味する。この場合、本実施形態のカメラ座標系が第1座標系に対応するとともに、アーム座標系が第2座標系に対応する。したがって、各測定位置ごとのカメラ座標系の基準球60の各中心座標(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)と、アーム座標系の基準球60の中心座標(x’1,y’1,z’1),(x’2,y’2,z’2),(x’3,y’3,z’3)とを前記数4に適用すると、下記数6〜8の関係が成立する。
【0050】
【数6】

【0051】
【数7】

【0052】
【数8】

【0053】
前記数6を変形すると、下記数9の連立方程式が成立する。
【0054】
【数9】

【0055】
ここで、定点座標(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)を含む平面の法線ベクトルを(α,β,γ)とし、定点座標(x’1,y’1,z’1),(x’2,y’2,z’2),(x’3,y’3,z’3)を含む平面の法線ベクトルを(α’,β’,γ’)とすると、2つの法線ベクトルの大きさが同じであれば下記数10が成立する。同数10中の行列Mは、前記数5によって表される。
【数10】

【0056】
定点座標(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)を含む平面の法線ベクトルを(x2,y2,z2)から(x1,y1,z1)に向かうベクトルと、(x3,y3,z3)から(x2,y2,z2)に向かうベクトルの外積により成立するベクトルとすると、前記法線ベクトル(α,β,γ)は下記数11によって表される。
【数11】

【0057】
同様に、前記ベクトル(α’,β’,γ’)は下記数12によって表される。
【数12】

【0058】
前記数11および前記数12を前記数10に代入すると、下記数13が成立する。
【数13】

【0059】
前記数13の1番目の式を前記数9に加えれば、下記数14の連立方程式となる。
【数14】

【0060】
この数14の連立方程式を解くことにより、行列値g11,g12,g13を計算することができる。また、前記数7および数8に関しても、前記数9の連立方程式のように変形し、前記数13の2番目の式および3番目の式をそれぞれ加えた連立方程式を解くことにより行列値g21,g22,g23および行列値g31,g32,g33を計算できる。そして、これらの計算した行列値を前記数6〜8に代入すれば、行列値a,b,cを計算できる。これにより、カメラ座標系における座標値(x,y,z)を、アーム座標系における座標値(x’,y’,z’)に変換するための第1座標変換関数が計算される。
【0061】
次に、ステップS34にて、前記計算した第1座標変換関数の行列値g11,g12,g13,g21,g22,g23,g31,g32,g33,a,b,cを3次元画像処理装置42のメモリ装置内に記憶する。そして、3次元画像処理装置42は、ステップS36にて、この座標変換関数計算プログラムの実行を終了する。
【0062】
次に、作業者は、前記座標変換関数計算プログラムによって計算された第1座標変換関数を補正する。具体的には、作業者は、入力装置43を操作して第1座標変換関数の補正を3次元画像処理装置42に指示する。この指示に応答して、3次元画像処理装置42は、図5に示す座標変換関数補正プログラムの実行をステップS40にて開始して、ステップS42にて基準球60の3次元形状を表す測定情報の入力を待つ。
【0063】
次に、作業者は、3次元形状測定装置30の向きを調整して3次元形状測定装置30のカメラ座標系の各座標軸の向きを基準座標系の各座標軸の向きに略一致させる。そして、3次元形状測定装置30を手で持って、回転ロッド22、第1〜第3アーム25および3次元形状測定装置30の各連結部における回転変位を伴いながら、基準球60に対して3次元形状測定装置30を移動させて入力装置43から測定開始を指示することにより基準球60の3次元形状を測定する。この場合、作業者は、3次元形状測定装置30をカメラ座標系および基準座標系の両座標系の3つの座標軸のうち互いに対応する2つの座標軸にそれぞれ平行に移動させながら、各移動方向ごとに3つの位置で基準球60を測定する。本実施形態においては、図6に示すように、3次元形状測定装置30をY軸方向に移動させて3つの位置(図においてa,b,cの位置)で測定した後、Z軸方向に移動させて3つの位置(図においてd,b,c)で測定する。この場合、3次元形状測定装置30を十字状に移動させ、十字状の交点の位置(図においてbの位置)では1回測定すれば、同測定値を2つの移動方向における各測定値として用いることができ測定作業の効率がよい。
【0064】
3次元形状測定装置30は、各測定位置ごとに測定対象空間内に位置する基準球60の3次元形状を表す情報を3次元画像処理装置42に出力する。すなわち、基準球60の表面を微小エリアずつに分割した各分割エリア位置を表すX−Y−Z座標に関する情報(具体的には、傾きθx,θyおよび距離Lz)を3次元画像処理装置42に出力する。3次元画像処理装置42は、同ステップS42にて、前記ステップS24と同様にして、3次元形状測定装置30から出力されたX−Y−Z座標に関する情報に基づいて、各測定位置ごとにおける基準球60の3次元形状を表す立体形状データ群からなる3次元画像データをそれぞれ計算する。この場合、3次元画像データは、3次元形状測定装置30に関する座標系、すなわちカメラ座標系によって表されている。なお、前記3次元画像データ中に基準球60以外の物体(例えば、基台10など)に関する不要な3次元画像データが含まれている場合には、3次元画像処理装置42は、同ステップS42にて、前記ステップS24と同様にして同不要な3次元画像データを除去する処理を併せて実行する。これにより、カメラ座標系および基準座標系の各Y軸方向およびZ軸方向に沿ってそれぞれ3組の基準球60の3次元形状を表す3次元画像データが得られる。
【0065】
次に、3次元画像処理装置42は、ステップS44にて、前記3組の3次元画像データをアーム座標系によって表された3次元画像データに座標変換する。具体的には、図4に示す座標変換関数計算プログラムによって計算された第1座標変換関数を用いて、カメラ座標系によって表された3次元画像データをアーム座標系によって表された3次元画像データに座標変換する。
【0066】
次に、3次元画像処理装置42は、ステップS46にて、アーム座標系の座標値を基準座標系の座標値に座標変換するための第2座標変換関数を計算する。3次元画像処理装置42は、支持機構20内に設けた回転角センサ27a〜27eによる検出回転角をそれぞれ入力して、固定ポール21、回転ロッド22および第1〜第3アーム23〜25の動きに対応した座標変換関数を計算する。具体的には、3次元画像処理装置42は、入力した検出回転角と、固定ポール21、回転ロッド22および第1〜第3アーム23〜25のアームの長さとを用いて、アーム座標系から見た基準座標系の原点の座標、すなわちアーム座標系における基準座標系の原点の座標(xoa,yob,zoc)を前記数2における第2座標変換関数の行列値a,b,cとして計算するとともに、アーム座標系の各座標軸を基準にした基準座標系の各座標軸の回転角を前記数3における第2座標変換関数の角度α,β,γとして計算する。この第2座標変換関数は、3次元形状測定装置30による各測定位置ごとに計算される。なお、この第2座標変換関数と前記第1座標変換関数とにより、本発明に係る座標変換関数を構成する。
【0067】
次に、3次元画像処理装置42は、ステップS48にて、前記3組の3次元画像データを基準座標系によって表された3次元画像データに座標変換する。具体的には、前記ステップS44にてアーム座標系に座標変換された3次元画像データを、前記ステップS46にて計算された第2座標変換関数のα,β,γ,a,b,cを用いて基準座標系によって表された3次元画像データに座標変換する。これにより、各測定位置ごとの基準球60の3次元形状を表す情報が基準座標系によって表された3次元画像データに座標変換される。そして、3次元画像処理装置42は、座標変換した各測定位置ごとの3次元画像データをメモリ装置に記憶する。この場合、3次元画像処理装置42は、各測定位置ごとの3次元画像データに対応させて、各測定位置ごとの第2座標変換関数のα,β,γ,a,b,cもメモリ装置に記憶する。
【0068】
次に、3次元画像処理装置42は、ステップS50にて、各測定位置ごとの基準球60の中心座標を定点として計算する。具体的には、前記ステップS48にて基準座標系によって表された3次元画像データ(X,Y,Z座標値)を、球体を表す式である前記数1の左辺のX,Y,Zにそれぞれ代入し、最小2乗法を用いて未知数a,b,cを計算する。この場合、a,b,cは、3次元画像データにより表された球体中心のx,y,z座標値をそれぞれ表し、dは球体の半径を表す。そして、3次元画像処理装置42は、計算した球体中心のx,y,z座標値を定点としてメモリ装置に記憶する。これにより、各移動方向(Y軸,Z軸)ごとに3つの位置から測定した基準球60の基準座標系での各中心座標(xa”,ya”,za”),(xb”,yb”,zb”),(xc”,yc”,zc”),(xd”,yd”,zd”),(xe”,ye”,ze”)が定点を表す3次元データとしてそれぞれ計算される。
【0069】
次に、3次元画像処理装置42は、第1座標変換関数の補正関数を計算する。この第1座標変換関数の補正関数は、各座標軸の傾きに関し座標軸の回転を表す座標回転関数と、座標系の原点ずれに関し座標軸の直線移動を表す座標移動関数とからなる。3次元画像処理装置42は、ステップS52にて、各座標軸の座標回転関数M’を計算する。座標回転関数M’は、第1座標変換関数における各座標軸の角度に関する関数、すなわち、前記数4および数5に示す関数Mの行列値g11,g12,g13,g21,g22,g23,g31,g32,g33の各値を補正するための関数であり、下記数15によって表される。すなわち、このステップS52の処理は、下記数15中のθx,θy,θzを計算することを意味する。θx,θy,θzは、各座標軸(X軸,Y軸,Z軸)の回転角度を表しており、カメラ座標系による座標軸のアーム座標系による座標軸への変換において、第1座標変換関数とアーム座標系による座標軸を基準に考えた場合のカメラ座標系の座標軸、換言すれば、アーム座標系による座標軸を第1座標変換関数の逆関数によりカメラ座標系の座標軸に変換した際のカメラ座標系(以下、仮のカメラ座標系という)の座標軸と、真のカメラ座標系の座標軸との角度のずれを表している。
【0070】
【数15】

【0071】
この回転角度θx,θy,θzの計算について詳しく説明する。回転角度θx,θy,θzは、仮のカメラ座標系の座標軸x,y,zと真のカメラ座標系の座標軸x’’’,y’’’,z’’’の各座標軸ごとの角度のずれを表している。この角度のずれは小さいので、各座標軸の角度のずれは各座標軸に直交する2つの座標軸からなる平面で考えることができる。具体的には、X軸の角度のずれθxをY−Z軸平面、Y軸の角度のずれθyをX−Z軸平面、Z軸の角度のずれθzをX−Y軸平面でそれぞれ考える。
【0072】
そして、カメラ座標系の各座標軸の向きと、同各座標軸に対応する基準座標系の各座標軸の向きとを同一とすれば、第1座標変換関数および第2座標変換関数による各座標変換において各座標軸の角度に関する座標変換を無視することができ、アーム座標系の各座標軸の向きもカメラ座標系および基準座標系の座標軸と同一と考えることができる。この場合、例えば、Z軸の角度のずれθzを計算するために、X−Y軸平面におけるカメラ座標系の座標値を(x,y)、アーム座標系の座標値を(x’,y’)、基準座標系の座標値を(x”,y”)、仮のカメラ座標系の座標値を(x’’’,y’’’)とすれば、各座標系間の座標変換は下記数16に示すようになる。下記数16中、(α1,β1)はアーム座標系の原点とカメラ座標系の原点とのずれ、(α2,β2)は基準座標系の原点とアーム座標系の原点とのずれ、(α3,β3)はアーム座標系の原点と仮のカメラ座標系の原点とのずれをそれぞれ表す。
【0073】
【数16】

【0074】
この場合、基準座標系における定点を表す座標を(x”0,y”0)とすると、各座標系では下記数17に示すように表される。
【0075】
【数17】

【0076】
カメラ座標系の座標をアーム座標系の座標に変換し、このアーム座標系の座標を基準座標系の座標に変換する場合、真のカメラ座標系の座標は仮のカメラ座標系の座標を見なされてアーム座標系の座標に変換され、このアーム座標系の座標が基準座標系の座標に変換される。すなわち、前記数17の2番目の座標が前記数16の3番目の式で変換された後、2番目の式で変換される。このため、カメラ座標系における定点を表す座標をカメラ座標系で測定し、アーム座標系の座標に変換した後、さらに基準座標系の座標値に変換すると、同座標は下記数18に示すように表される。
【数18】

【0077】
そして、前記カメラ座標系をX軸方向にa、Y軸方向にbだけ移動させた場合、前記定点(x”0,y”0)の位置を各座標系ごとに表すと下記数19に示すようになる。
【0078】
【数19】

【0079】
この場合、基準座標系における定点を表す座標(x”0,y”0)をカメラ座標系で測定し、アーム座標系の座標に変換した後、さらに基準座標系の座標に変換すると、すなわち前記数19の2番目の座標が前記数16の3番目の式で変換された後、さらに前記数16の2番目の式の左辺に(a,b)を加えた式で変換されると、この座標値は下記数20に示すように表される。
【数20】

【0080】
そして、前記数18に示した定点と前記数20に示した定点とを通る直線の傾きKzは、下記数21によって表される。下記数21中、分母は基準座標系に変換した前記定点のX軸上の変化量を表し、分子は同定点のY軸上の変化量をそれぞれ表している。
【0081】
【数21】

【0082】
この場合、前記カメラ座標系の各移動量のうち、X軸方向の移動量aがY軸方向の移動量bに比べて極めて大きい場合には、前記数21は下記数22に示すように表される。
【0083】
【数22】

【0084】
この前記数22に三角関数の公式(1−COSθ=2SINθ/2)を適用すると下記数23に示すように変形される。
【0085】
【数23】

【0086】
ここで、Z軸の角度のずれθzは極めて小さいことから前記数23は下記数24に示すように表される。
【0087】
【数24】

【0088】
そして、前記数23において、移動方向をY軸方向とし移動方向に直交する方向をX軸方向とすれば、Z軸の角度のずれθzは下記数25に示すように表される。
【0089】
【数25】

【0090】
前記数25によりZ軸の角度のずれθzは、Z軸に直交するX軸方向にカメラ座標系を移動させた場合における移動前の定点と移動後の定点とを通る直線の基準座標系での傾き角度を2倍することによって計算することができる。この場合、Z軸に直交するY軸方向にカメラ座標系を移動させた場合における前記2つの定点を通る直線の基準座標系での傾き角度を2倍しても同様にZ軸の角度のずれθzを計算することができる。すなわち、各座標軸の角度のずれθx,θy,θzは、角度のずれの計算対象となる座標軸に直交する2つの座標軸のうち、一方の座標軸に対応するカメラ座標系および基準座標系の座標軸の方向に平行にカメラ座標系を移動したときの基準座標系に変換した各定点座標から求めた直線の基準座標系の座標軸に対する傾きから計算することができる。この基準座標系に変換した各定点座標とは、各測定位置で測定したカメラ座標系における定点座標を第1座標変換関数および第2座標変換関数によって座標変換した座標である。
【0091】
前記数25を図7を用いて視覚的に説明する。カメラ座標系(X−Y)の各座標軸の向きと基準座標系(X”−Y”)の各座標軸の向きとを一致させた状態で、カメラ座標系を同カメラ座標系のX軸およびY軸方向にそれぞれ平行に移動させて測定位置a,b,c,d,eの各位置で定点(x”0,y”0)をそれぞれ測定する。この場合、測定した各定点の位置を座標変換により基準座標系(X”−Y”)の座標に変換した場合の定点の位置はa’,b’,c’,d’,e’に示すようになる。すなわち、カメラ座標系の座標軸に対する仮のカメラ座標系の座標軸の角度のずれに対応して、カメラ座標系で測定した定点座標を基準座標系による定点座標に変換した場合の定点座標の位置もそれぞれずれて、同一の一点に定まらない。
【0092】
そして、前記数25は、定点a’,b’,c’を通る直線の基準座標系のY”座標軸に対する傾きKzの角度を2倍した値を、仮のカメラ座標系のZ”座標軸の角度のずれθzとして計算することを意味する。この場合、定点d’,b’,e’を通る直線のX”座標軸に対する傾きKzの角度を2倍した値を、仮のカメラ座標系のZ”座標軸の角度のずれθzとして計算することもできる。なお、図7においては、仮のカメラ座標系の座標軸の基準座標系の座標軸に対する角度のずれを誇張して示しているので、同ずれが極めて小さいことを前提とする前記数25とは完全には一致しない。また、カメラ座標系の各座標軸の向きと、同各座標軸に対応する基準座標系の各座標軸の向きとを一致させているため、アーム座標系(X’−Y’)の各座標軸の向きもカメラ座標系および基準座標系と同一と考えることができる。
【0093】
前記Z軸の角度のずれθzと同様にして、X軸およびY軸の各座標軸の角度のずれθx,θyを表すと、下記数26に示すようになる。したがって、3次元画像処理装置42は、前記数25に加えて下記数26を用いて仮のカメラ座標系における各座標軸の角度のずれθx,θy,θzをそれぞれ計算する。下記数26中、Kx,Kyは、X軸およびY軸の角度のずれθx,θyをそれぞれ計算するための直線の傾きであり、各座標軸にそれぞれ直交する2つの座標軸のうち、一方の座標軸の方向に平行にカメラ座標系を移動したときのカメラ座標系の座標から基準座標系の座標に変換した各定点座標から定義される直線の基準座標系の座標軸に対する傾きである。
【0094】
【数26】

【0095】
なお、上記説明から分かるように、第1座標変換関数の補正関数は、仮のカメラ座標系の座標軸を真のカメラ座標系の座標軸に一致させるための関数である。
【0096】
3次元画像処理装置42は、ステップS52にて、前記直線の傾きKx,Ky,Kzを基準球60の基準座標系での各中心座標である定点(xa”,ya”,za”),(xb”,yb”,zb”),(xc”,yc”,zc”),(xd”,yd”,zd”),(xe”,ye”,ze”)を用いて計算する。例えば、傾きKxについては、定点(ya”,za”),(yb”,zb”)、(yc”,zc”)または(yb”,zb”),(yd”,zd”),(ye”,ze”)の各3次元データを用いて最小2乗法により直線を計算して同直線の傾きKzを計算する。なお、各座標軸の角度のずれの方向、すなわち回転方向は前記数25および数26の各座標軸の角度のずれθx,θy,θzの符号により表される。本実施形態においては、各座標軸を原点方向から見て時計回りを「正」とする。
【0097】
3次元画像処理装置42は、前記数26を用いて計算された仮のカメラ座標系の各座標軸の角度のずれθx,θy,θzを前記数15に代入して座標回転関数M’の各行列値g’11,g’12,g’13,g’21,g’22,g’23,g’31,g’32,g’33を計算する。次に、3次元画像処理装置42は、ステップS54にて、前記座標回転関数M’を用いて第1座標変換関数を補正する。この座標回転関数M’を用いて補正した第1座標変換関数を下記数27に示す。
【0098】
【数27】

【0099】
前記数27のg’11〜g’33の各行列値の行列式による座標変換をカメラ座標系の座標軸に行うと、図8に示すように仮のカメラ座標系の座標軸とカメラ座標系の座標軸の方向は一致する。この場合、a,b,c,d,eの各測定位置でカメラ座標系で測定した定点(x”0,y”0)の位置は、基準座標系における座標に変換するといずれも(xc0,yc0)の位置になる。すなわち、カメラ座標系の各測定位置ごとの定点座標を基準座標系における座標に変換した座標は、測定位置に関わらず一点に定まる。
【0100】
次に、3次元画像処理装置42は、第1座標変換関数の補正関数のうち座標移動関数を計算する。まず、3次元画像処理装置42は、ステップS56にて、カメラ座標系によって表された定点の3次元データを計算する。具体的には、3次元画像処理装置42は、メモリ装置内に記憶している基準球60の基準座標系での各中心座標である定点(xa”,ya”,za”),(xb”,yb”,zb”),(xc”,yc”,zc”),(xd”,yd”,zd”),(xe”,ye”,ze”)を、同各定点に対応させてそれぞれ記憶している第2座標変換関数の逆の座標変換関数、および前記座標回転関数M’によって補正される前の第1座標変換関数の逆の座標変換関数を用いてカメラ座標系での座標値にそれぞれ座標変換する。
【0101】
次に、3次元画像処理装置42は、ステップS58にて、補正した第1座標変換関数および第2座標変換関数により座標変換を行った場合の基準座標系によって表された定点の座標値を計算する。具体的には、3次元画像処理装置42は、前記ステップS56によってそれぞれ座標変換されたカメラ座標系での各定点を表す3次元データを、前記座標回転関数M’によって補正された第1座標変換関数および各定点ごとの前記第2座標変換関数を用いて再び基準座標系での各定点にそれぞれ座標変換する。この場合、座標回転関数M’によって仮のカメラ座標系の各座標軸の角度のずれθx,θy,θzが補正されているので、図8に示したように、座標変換された各定点の座標値はほぼ同じ値となる。
【0102】
次に、3次元画像処理装置42は、ステップS60にて、基準座標系によって表された各定点の座標値を平均化して1つの定点の座標値を計算する。具体的には、前記ステップ58にて座標変換された基準座標系での各定点の座標値を、各座標軸ごとに合算するとともに、同合算値を定点の数で除して1つの定点の座標値を計算する。
【0103】
次に、3次元画像処理装置42は、ステップS62にて、座標移動関数を計算する。具体的には、前記ステップ58にて計算した基準座標系における1つの定点の座標値と、前記触針測定プログラムによって測定した基準座標系における1つの定点の座標値との各座標軸ごとのずれ量を表す行列値(a’,b’,c’)を座標移動関数として計算する。次に、3次元画像処理装置42は、ステップS64にて、前記座標移動関数(a’,b’,c’)を用いて第1座標変換関数を補正する。この座標移動関数(a’,b’,c’)を用いて補正した第1座標変換関数を下記数28に示す。
【0104】
【数28】

【0105】
なお、このステップS56〜62においては、メモリ装置内に記憶している基準球60の基準座標系での各中心座標である定点(xa”,ya”,za”)、(xb”,yb”,zb”)、(xc”,yc”,zc”)、(xd”,yd”,zd”)、(xe”,ye”,ze”)のすべての3次元データを用いて座標移動関数(a’,b’,c’)を計算したが、各定点(xa”,ya”,za”)、(xb”,yb”,zb”)、(xc”,yc”,zc”)、(xd”,yd”,zd”)、(xe”,ye”,ze”)のうちの1つ以上4つ以下の定点の3次元データを用いて同座標移動関数(a’,b’,c’)を計算するようにしてもよい。これによれば、座標移動関数(a’,b’,c’)を短時間に計算することができる。
【0106】
なお、このステップS56〜62を省略して、第1座標変換関数の補正を座標回転関数M’による補正のみにしてもよい。この場合、カメラ座標系から基準座標系に変換された座標値は、基準座標系の座標値に対して座標移動関数分だけのずれがあるが、座標移動関数は一定の値であるので、座標値のずれはカメラ座標系の位置に関わらず常に一定である。したがって、測定対象物の立体形状を任意の方向から見て表示することに関して何ら支障はない。

【0107】
次に、3次元画像処理装置42は、ステップS66にて、この座標変換関数補正プログラムの実行を終了する。これにより、第1座標変換関数における各座標軸の角度のずれおよび座標系の原点のずれが補正されたことになる。すなわち、この補正された第1座標変換関数によって仮のカメラ座標系の座標軸は、真のカメラ座標系の座標軸に一致する。
【0108】
この座標変換関数補正プログラムの実行後、作業者は、基準球60を基台10から取り除いて、同基台10上に測定対象物(図示せず)を配置する。そして、入力装置43を操作して測定対象物の立体形状の表示を指示する。これに応答して、3次元画像処理装置42は、図9に示す3次元形状表示プログラムの実行をステップS70にて開始して、ステップS72にて測定対象物の3次元形状を表す測定情報の入力を待つ。一方、3次元形状測定装置30は、コントローラ41によって制御され、測定対象物の3次元形状の測定を開始する。
【0109】
作業者は、3次元形状測定装置30を手で持って、回転ロッド22、第1〜第3アーム25および3次元形状測定装置30の各連結部における回転変位を伴いながら、測定対象物に対して3次元形状測定装置30を移動させて3次元形状の測定を行う。この場合、作業者は、測定対象物に対して互いに異なる3つの位置から測定を行う。そして、3次元形状測定装置30は、測定対象物の測定を終了すると各測定位置ごとの3次元形状を表す情報を3次元画像処理装置42に出力する。なお、測定対象物の測定は、前記した3つの位置に限られず4つ以上の位置から測定を行うようにしてもよい。これによれば、より高精度の3次元形状の測定を行うことができる。
【0110】
3次元画像データ処理装置42は、同ステップS72にて、測定対象物の3次元形状を表す情報を入力する。すなわち、測定対象物の表面を微小エリアずつに分割した各分割エリア位置を表すX−Y−Z座標に関する情報(具体的には、傾きθx,θyおよび距離Lz)をそれぞれ入力する。次に、3次元画像処理装置42は、ステップS74にて、前述したステップS24およびステップS42の処理と同様にして前記入力した3次元形状測定装置30からのX−Y−Z座標に関する情報に基づいて、各測定位置ごとにおける測定対象物の3次元形状を表す立体形状データ群からなる3次元画像データをそれぞれ計算する。この場合の3次元画像データは、3次元形状測定装置30に関する座標系、すなわちカメラ座標系によって表されている。
【0111】
次に、3次元画像処理装置42は、ステップS76にて、図5に示した座標変換関数補正プログラムの実行によって補正された第1座標変換関数(前記数28)と、第2座標変換関数とを用いて、各測定位置ごとのカメラ座標系によって表された3次元画像データを、基準座標系によって表された3次元画像データにそれぞれ座標変換する。この場合、第2座標変換関数は、前記ステップS46と同様にして各測定位置ごとに計算される。そして、3次元画像処理装置42は、ステップS78にて、各測定位置の基準座標系によって表された各3次元画像データを一組の3次元形状データ群に合成する。この合成においては、すべての測定位置における3次元画像データが同一座標系である基準座標系上の座標値で表されるので、各測定位置によって測定されない測定対象物の部分(各測定位置における3次元形状測定装置30に対して裏側に位置する測定対象物の外表面)を表す3次元画像データが互いに補われ、一組のデータ群とされる。
【0112】
次に、3次元画像処理装置42は、ステップS80にて、前記合成された3次元形状データ群を用いて測定対象物の3次元形状を表示装置44に表示させる。そして、3次元画像処理装置42は、ステップS82にて、3次元形状表示プログラムの実行を終了する。この測定対象物の3次元形状の表示においては、作業者は入力装置43を操作することにより測定対象物の表示方向を指示することができ、コントローラ41および3次元画像処理装置42は表示装置44にて表示される測定対象物の表示方向を変更する。これにより、測定対象物を任意の方向から見た立体形状を表示させることができる。
【0113】
また、新たな測定対象物を基台10上に置いて、前述のように測定対象物の表示を指示すれば、前記3次元形状表示プログラムの実行により、前記と同一の第1座標変換関数および第2座標変換関数を用いて新たな測定対象物を任意の方向から見た立体形状を表示装置44に表示させることができる。したがって、基準球60を用いて基台10上の測定対象空間に関する第1座標変換関数および第2座標変換関数を一度だけ計算するとともに、前記図5に示す座標変換関数補正プログラムにより第1座標変換関数を補正しておけば、測定対象物を次々に換えて表示装置44にて立体形状を表示させることが可能である。
【0114】
上記作動説明からも理解できるように、上記実施形態によれば、基準球60の3次元画像データに基づいて計算された第1座標変換関数を、各座標軸の角度のずれに関する座標回転関数M’と座標系の原点ずれに関する座標移動関数(a’,b’,c’)とを用いて補正している。座標回転関数M’は、角度のずれの計算対象となる座標軸に直交する2つの座標軸のうちの一方の座標軸であって、同座標軸に対応するカメラ座標系および基準座標系の各座標軸に平行に3次元形状測定装置30を移動させて測定し基準座標系の座標軸に変換した3つの定点の各座標値のうち、角度のずれの計算対象となる座標軸以外の2つの座標軸上の座標値を通る直線の基準座標系の座標軸に対する傾きに基づいて計算される。基準座標系における3つの定点の各座標値が異なるのは、第1座標変換関数の各座標軸の角度のずれによる。したがって、基準座標系における直線の傾き、すなわち第1座標変換関数によって座標変換された定点の座標値に基づいて計算された直線の傾きは、第1座標変換関数の各座標軸の角度のずれを表すことになる。
【0115】
また、座標移動関数(a’,b’,c’)は、前記座標回転関数M’により補正された第1座標変換関数と第2座標変換関数とによって座標変換された定点の各座標値と同定点の基準座標系での各座標値との差に基づいて計算される。この場合、座標回転関数M’により補正された第1座標変換関数と第2座標変換関数とによって座標変換された各測定位置ごとの定点は、基準座標系において同一の一点に定まっている。したがって、上記実施形態によれば、第1座標変換関数を計算するための3次元画像データに測定誤差が含まれている場合であっても、第1座標変換関数と第2座標変換関数とによって座標変換された座標値によって定義される直線の基準座標系の座標軸に対する角度に基づいて同第1座標変換関数が補正されるため、精度のよい座標変換関数を計算することができる。この結果、測定対象物の正確な3次元形状測定を行うことができる。
【0116】
以上、本発明の一実施形態について説明したが、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形が可能である。以下、変形例について説明する。
【0117】
a.第1変形例
上記実施形態においては、各測定位置ごとの基準座標系での定点座標を用いて第1座標変換関数を補正する座標回転関数M’を計算したが、これに限定されるものではない。例えば、前記各測定位置ごとの基準座標系での定点座標に加えて、各測定位置間の距離、すなわち3次元形状測定装置30(カメラ座標系)の各測定位置間の移動量を用いて各座標軸の角度のずれθx,θy,θzを計算することも可能である。
【0118】
具体的には、X軸方向およびY軸方向の2つの座標軸方向にそれぞれ3次元形状測定装置30(カメラ座標系)を移動させた場合における基準座標系での定点座標のY軸方向の座標値の変化量(前記数21の分子)と、基準座標系でのX軸方向の3次元形状測定装置30(カメラ座標系)の移動量aとによって定義される直線の傾きKzは、下記数29に示すように表される。下記数29中、a,bは、3次元形状測定装置30(カメラ座標系)の基準座標系でのX軸方向およびY軸方向の各移動量を表している。
【0119】
【数29】

【0120】
この場合、3次元形状測定装置30(カメラ座標系)の各移動量a,bのうち、X軸方向の移動量aがY軸方向の移動量bに比べて極めて大きく、Z軸の角度のずれθzが極めて小さいことから前記式29は、下記数30に示すように変形される。
【0121】
【数30】

【0122】
この場合、前記30に示すZ軸の角度のずれθzは、3次元形状測定装置30(カメラ座標系)のX軸方向の移動量aと、基準座標系に変換した定点座標のY軸方向の座標値の変化量とによって定義される直線の傾き角度である。この場合、Z軸に直交するY軸方向にカメラ座標系を移動させた場合におけるカメラ座標系のY軸方向の移動量bと、基準座標系に変換した定点座標のX軸方向の座標値の変化量とを用いて前記直線の傾き角度を計算しても同様にZ軸の角度のずれθzを計算することができる。すなわち、各座標軸の角度のずれは、角度のずれの計算対象となる座標軸に直交する2つの座標軸のうち、一方の座標軸に対応するカメラ座標系および基準座標系の各座標軸の方向における3次元形状測定装置30(カメラ座標系)の移動量と、他方の座標軸方向の基準座標系に変換した定点座標の座標値の変化量とによって定義される直線の傾き角度から計算することができる。
【0123】
前記Z軸の角度のずれθzと同様にして、X軸およびY軸の各座標軸の角度のずれθx,θyをそれぞれ表すと、下記数31に示すようになる。したがって、3次元画像処理装置42は、前記数30に加えて下記数31を用いて仮のカメラ座標系の各座標軸の角度のずれθx,θy,θzをそれぞれ計算することができる。下記数30中、Kx,Kyは、X軸およびY軸の角度のずれθx,θyをそれぞれ計算するための前記Kzに対応する直線の傾きであり、各座標軸にそれぞれ直交する2つの座標軸のうち、一方の座標軸に対応するカメラ座標系および基準座標系の各座標軸の方向における3次元形状測定装置30(カメラ座標系)の移動量と、他方の座標軸方向の基準座標系に変換した定点座標の座標値の変化量とによって計算される直線の傾きである。
【0124】
【数31】

【0125】
これらの傾きKx,Ky,Kzは、基準球60の基準座標系での各中心座標である定点(xa”,ya”,za”)、(xb”,yb”,zb”)、(xc”,yc”,zc”)、(xd”,yd”,zd”)、(xe”,ye”,ze”)と、各測定位置間の3次元形状測定装置30の移動量とを用いて計算する。この場合、図5に示す座標変換関数補正プログラムにおけるステップS42の基準球の測定処理において、3次元形状測定装置30による基準球60の各測定位置ごとに、基準座標系によって表されたアーム座標系の原点位置をメモリ装置に記憶しておき、同記憶された各測定位置ごとのアーム座標系の原点位置に基づいて3次元形状測定装置30の移動量を計算することができる。
【0126】
例えば、直線の傾きKxについては、座標値yd”,ye”およびZ軸方向の移動量bz、または座標値za”,zc”およびY軸方向の移動量ayを用いて計算する。ここで、Z軸方向の移動量bzは、図6に示すdの位置とeの位置との距離であり、Y軸方向の移動量ayは、図6に示すaの位置とcの位置との距離である。これにより、直線の傾きKxを計算することができるとともに、同直線の傾きKxを用いて座標軸の角度のずれθxを計算することができる。また、直線の傾きKxと同様にして直線の傾きKy,Kzも計算することができるとともに、同直線の傾きKy,Kzを用いて座標軸の角度のずれθy,θzも計算することができる。この結果、上記実施形態と同様に、座標回転関数M’を計算することができる。これにより、上記実施形態と同様の効果を期待できる。
【0127】
b.第2変形例
上記実施形態においては、カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させた後、3次元形状測定装置30を両座標系の2つの座標軸にそれぞれ平行に移動させて基準球60の測定を行ったが、同2つの座標軸の平面内であって互いに直交する2つの方向に移動させて測定するようにしてもよい。すなわち、カメラ座標系および基準座標系の両座標系における2つの座標軸に対してそれぞれ同一の角度だけずれた2つの方向に3次元形状測定装置30をそれぞれ移動させて基準球60の測定を行うことも可能である。
【0128】
この場合、前記数25および数26に示される基準座標系での直線の傾きKx,Ky,Kzを、3次元形状測定装置30(カメラ座標系)の移動方向に対応する直線の基準座標系での傾きMx,My,Mzにより補正する。前記数25に示す直線の傾きKzについて具体的に説明すると、カメラ座標系の移動方向に対応する直線の傾きMzは、カメラ座標系のX軸方向の移動量aに対するY軸方向の移動bの比(Mz=a/b)によって計算される。この直線の傾きMzを用いて前記数21に示すY軸上の変化量およびX軸上の変化量を補正すると下記数32に示すようになる。
【0129】
【数32】

【0130】
この直線の傾きKzと同様にして直線の傾きKx,Kyをそれぞれ補正すると下記数33に示すようになる。
【0131】
【数33】

【0132】
これらの傾きKx,Ky,Kzは、基準球60の基準座標系での各中心座標である定点(xa”,ya”,za”)、(xb”,yb”,zb”)、(xc”,yc”,zc”)、(xd”,yd”,zd”)、(xe”,ye”,ze”)と、カメラ座標系の移動方向に対応する直線の基準座標系での傾きMx,My,Mzとを用いて計算する。この場合、図5に示す座標変換関数補正プログラムにおけるステップS42の基準球の測定処理において、3次元形状測定装置30による基準球60の各測定位置ごとに、基準座標系によって表されたアーム座標系の原点位置をメモリ装置に記憶しておき、同記憶された各測定位置ごとのアーム座標系の原点位置に基づいて直線の傾きMx,My,Mzを計算することができる。
【0133】
例えば、直線の傾きKxは、定点(ya”,za”)、(yb”,zb”)、(yc”,yc”)を用いて最小2乗法により計算され、直線の傾きMxは、カメラ座標系のY軸方向の移動量ayに対するZ軸方向の移動量bzの比(Mx=ay/bz)によって計算される。ここで、Y軸方向の移動量ayは、図6に示すaの位置とcの位置との距離であり、Z軸方向の移動量bzは、図6に示すdの位置とeの位置との距離である。これにより、直線の傾きKxを計算することができるとともに、同直線の傾きKxを用いて座標軸の角度のずれθxを計算することができる。また、直線の傾きKxと同様にして直線の傾きKy,Kzも計算することができるとともに、同直線の傾きKy,Kzを用いて座標軸の角度のずれθy,θzも計算することができる。この結果、上記実施形態と同様に、座標回転関数M’を計算することができる。これにより、上記実施形態と同様の効果を期待できる。
【0134】
また、前記メモリ装置に記憶された3次元形状測定装置30による基準球60の各測定位置ごとの基準座標系によって表されたアーム座標系の原点位置を用いて、上記数32および上記数33とは別の計算式によって各座標軸の傾き角度θx,θy,θzを計算することもできる。具体的には、図6に示すbの測定位置を原点(0,0)として他の測定位置a,c,d,eを前記アーム座標系の原点位置を用いて表す。例えば、aの測定位置を(a1,b1)、cの測定位置を(a3,b3)、dの測定位置を(a4,b4)、eの測定位置を(a5,b5)とし、これらの座標値を前記数29に代入して直線の傾きKx,Ky,Kzごとに表すと下記数27に示すようになる。下記数34中、直線の傾きKxは、(a1,z1),(0,z2),(a3,z3)から最小2乗法により計算され、直線の傾きKyは、(x4,b4),(x2,0),(x5,b5)から最小2乗法によりにより計算され、直線の傾きKzは、(a1,x1),(0,x2),(a3,x3)から最小2乗法によりにより計算される。この下記数34を用いても上記と同様に各座標軸の傾き角度θx,θy,θzを計算することができ、座標回転関数M’を計算することができる。
【0135】
【数34】

【0136】
c.第3変形例
上記実施形態においては、カメラ座標系の各座標軸の向きを基準座標系の各座標軸の向きに一致させた後、3次元形状測定装置30を両座標軸の2つの座標軸にそれぞれ平行に移動させて基準球60の測定を行ったが、カメラ座標系をカメラ座標系の各座標軸に対して平行に移動させた場合における各測定位置ごとの定点が計算できれば、カメラ座標系の各座標軸の向きと基準座標系の座標軸の向きとを一致させなくても第1座標変換関数を補正することができる。
【0137】
具体的には、作業者は、図3に示す触針測定プログラムおよび図4に示す座標変換関数計算プログラムの実行によって第1座標変換関数を計算した後、カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとが一致していない状態で、基準球60の3次元形状の測定を行う。この基準球60の3次元形状の測定に際して作業者は、図5に示す座標変換関数補正プログラムを3次元画像処理装置42に実行させる。この基準球60の3次元形状の測定は、カメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させない状態で、3次元形状測定装置30をカメラ座標系の2つの座標軸にそれぞれ平行に移動させて行う。このほかの測定作業については、前記実施形態と同様である。また、座標変換関数補正プログラムにおける各処理もステップS42、ステップS45およびステップS50以外は、前記実施形態と同様であるので、前記実施形態と異なる処理内容について説明する。
【0138】
3次元画像処理装置42は、ステップS42にて、前記実施形態と同様にして各測定位置ごとの基準球60の3次元形状を表す3次元画像データをメモリ装置に記憶する。この場合、3次元形状測定装置30による基準球60の各測定位置ごとに、基準座標系によって表されたアーム座標系の原点位置をメモリ装置に記憶する。そして、3次元画像処理装置42は、図5において破線で示すステップS45にて、座標変換補正関数を計算する。この座標変換補正関数は、カメラ座標系の各座標軸の向きが基準座標系の各座標軸の向きに一致していない状態で第1座標変換関数および第2座標変換関数により座標変換された各座標値を、カメラ座標系の各座標軸と基準座標系の各座標軸との角度のずれに応じて補正する関数である。この座標変換補正関数の計算は、次のサブステップ1〜3の処理からなる。
【0139】
サブステップ1:3次元画像処理装置42は、3次元形状測定装置30の2つの移動方向にそれぞれ対応する2つのベクトルを計算する。具体的には、メモリ装置に記憶した各測定位置ごとのアーム座標系の原点を用いて、3次元形状測定装置30の各移動方向ごとの各原点を通る直線をベクトルとして計算する。すなわち、3次元形状測定装置30の2つの移動方向にそれぞれ対応するカメラ座標系の2つの座標軸に対してそれぞれ平行なベクトルを計算する。
【0140】
サブステップ2:3次元画像処理装置42は、前記サブステップ1によって計算した2つのベクトルの単位ベクトルを計算するとともに、同単位ベクトルの外積を計算する。これにより、3次元形状測定装置30の各移動方向に対応する2つのベクトルの各単位ベクトルに直交する1つのベクトルが計算される。この2つの単位ベクトルおよび同2つの単位ベクトルの外積により計算された1つのベクトルは、互いに直交する3つの単位ベクトルであり、各ベクトルはそれぞれカメラ座標系の各座標軸に対して平行である。
【0141】
サブステップ3:3次元画像処理装置42は、前記サブステップ2にて計算された3つの単位ベクトルをそれぞれ基底ベクトル(1,0,0),(0,1,0),(0,0,1)に変換するための変換関数を計算し、同変換関数を座標補正変換関数としてメモリ装置に記憶する。この変換関数は、3つの各単位ベクトルを各基底ベクトルに変換するための各ベクトルの回転角度に基づいて計算される。すなわち、この変換関数は、基準座標系の各座標軸の向きをカメラ座標系の各座標軸の向きに一致させる座標変換関数に対応する。
【0142】
次に、座標変換関数補正プログラムにおけるステップS50の処理を以下のように変更する。3次元画像処理装置42は、ステップS50にて、基準球60の球体中心として計算した各座標値を、前記ステップS45のサブステップ1〜3によって計算した座標変換補正関数を用いて補正する。これにより、第1座標変換関数によって座標変換された座標値が、カメラ座標系の各座標軸と基準座標系の各座標軸との角度のずれ量に応じて補正される。すなわち、座標変換補正関数によって補正された座標値と前記実施形態におけるステップS50によって計算された基準座標系における座標値とは等価である。そして、3次元画像処理装置42は、同補正された座標値を定点としてメモリ装置に記憶する。これ以降の処理は、前記実施形態と同様である。このように構成した第3変形例によれば、カメラ座標系の各座標軸の向きと基準座標系の座標軸の向きとを一致させる必要がないため、基準球60の測定作業を効率的に行うことができる。
【0143】
d.その他の変形例
上記実施形態、第1変形例、第2変形例および第3変形例においては、第1座標変換関数を計算するために、互いに異なる3つの位置において基準球60の3次元形状の測定を行うようにしたが、互いに異なる3つの位置における基準球60の定点を計算できれば、これに限定されるものではない。例えば、前記図4に示す座標変換関数計算プログラムにおける基準球60の測定作業と前記図5に示す座標変換関数補正プログラムにおける基準球60の測定作業とを共通の作業としてもよい。
【0144】
具体的には、作業者は、前記触針測定プログラムの実行後、支持機構20の第3アーム25の先端部に3次元形状測定装置30を第3アーム25の軸線回りに回転可能に組み付けるとともに、基準球60の3次元形状の測定を行う。この基準球60の3次元形状の測定に際して作業者は、図4に示す座標変換関数計算プログラムを3次元画像処理装置42に実行させる。この場合、基準球60の3次元形状の測定は、前記座標変換関数補正プログラムにおける測定作業と同様に、3次元形状測定装置30のカメラ座標系の各座標軸の向きと基準座標系の各座標軸の向きとを一致させた後、3次元形状測定装置30を2つの座標軸に対してそれぞれ平行に移動させて互いに異なる5つの位置で測定を行う。そして、3次元画像処理装置42は、ステップS32による第1座標変換関数の計算処理において、各測定位置ごとの5つの定点うち、3つの定点を用いて第1座標変換関数を計算する。この場合、3つの定点は、すべての定点が同一直線上にない3つの定点を用いるようにする。これにより、第1座標変換関数が計算される。
【0145】
次に、作業者は、図5に示す座標変換関数補正プログラムを3次元画像処理装置42に実行させる。この場合、座標変換関数補正プログラムは、前記座標変換関数計算プログラムにおいて測定した基準球60の3次元画像データを用いて、各ステップを実行して第1座標変換関数を補正する。すなわち、座標変換関数プログラムにおけるステップS42の基準球の測定処理はスキップされる。したがって、この変形例によれば、1回の基準球60の測定作業により得られた3次元画像データに基づき、各測定位置ごとの基準球60の中心座標を定点として計算し、同定点を第1座標変換関数および第1座標変換関数の補正関数の計算に用いている。このため、基準球60の測定作業の回数が減り、第1座標変換関数の計算および同第1座標変換関数の補正を効率的に行うができる。
【0146】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、基準座標系によって表された複数の定点を計算するために、3次元形状測定装置30によって各測定位置ごとに測定された基準球60のカメラ座標系での3次元画像データを基準座標系での3次元画像データに座標変換した後、同3次元画像データを用いて定点を計算するように構成したが、これに限定されるものではない。例えば、3次元形状測定装置30によって各測定位置ごとに測定した基準球60を表す3次元画像データを用いて定点を計算した後、この計算された各測定位置ごとの定点を基準座標系に座標変換するようにしてもよい。これによっても、上記実施形態と同様の効果を期待できる。
【0147】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、3次元形状測定装置30の各移動方向ごとにそれぞれ3つの位置で基準球60を測定し、各測定位置に対応する3つの定点を用いて各座標軸の角度のずれを計算するための直線を定義するようにしたが、同直線を定義できれば、これに限定されるものではない。すなわち、少なくとも2つの定点を得られればよく、例えば、各移動方向において4つ以上の定点を得るようにしてもよい。これによれば、より正確に直線を定義でき、高精度な座標回転関数M’を計算することができる。
【0148】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、3次元形状測定装置30をY軸方向およびZ軸方向に移動させて基準球60を測定するようにしたが、3つの座標軸に対応する3つの角度のずれθx,θy,θzが計算できれば、これに限定されるものではない。すなわち、前記Y軸方向およびZ軸方向のうちの一方をX軸方向に代えてもよい。これによっても、上記実施形態と同様の効果を期待できる。
【0149】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、3次元形状測定装置30をY軸方向およびZ軸方向の2つの座標軸方向に移動させて基準球60を測定するようにしたが、3つの座標軸についてそれぞれ角度のずれθx,θy,θzが計算できれば、これに限定されるものではない。すなわち、前記Y軸方向およびZ軸方向に加えてX軸方向に3次元形状測定装置30を移動させて基準球60を測定してもよい。この場合、3つの座標軸に対応する3つの角度のずれθx,θy,θzが、それぞれ2つずつ計算されるが、同2つの計算値を平均化してそれぞれの角度のずれθx,θy,θzとしてもよい。これによれば、より正確な座標回転関数M’を計算でき、高精度な第1座標変換関数を計算することができる。
【0150】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、基準球60として球体を用いたが、触針50の接触によって定点などの基準物体の情報が特定でき、かつ3次元形状測定装置30による外形形状の測定によって物体が特定できるとともに同物体によって規定される定点の座標値が特定できるものであれば、球体の径および個数は限定されるものではない。また、球体以外の物体を基準物体として利用することもできる。例えば、立方体、直方体などの角柱、角錐、円柱または円錐体など、物体および定点を特定し易い物体を基準物体として利用できる。これによっても、上記実施形態と同様の効果を期待できる。
【0151】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、第1座標変換関数および第2座標変換関数を計算するために基台10上に1つの基準球60を用いたが、これに限定されるものではない。例えば、3つの基準球を基台10上に配置し、触針50および3次元形状測定装置30によってそれぞれ3つの基準球を測定して各中心座標を定点として第1座標変換関数および第2座標変換関数を計算するように構成してもよい。これによっても、上記実施形態と同様の効果を期待できる。
【0152】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、基準座標系における基準となる点を特定するために、基台10上に基準球60を配置して同基準球60を支持機構20の先端部に取り付けた触針50を用いて測定したが、これに限定されるものではない。例えば、基準座標系における予め特定できる位置に基準球60を配置すれば、同基準球60を測定して基準となる点を特定する作業、すなわち図3に示す触針測定プログラムによる基準球60の測定作業は不要である。これによっても、上記実施形態と同様の効果を期待できる。
【0153】
また、上記実施形態、第1変形例、第2変形例および第3変形例においては、変形可能な支持機構によって支持された3次元形状測定装置30を用いてカメラ座標系の座標を基準座標系の座標に変換する座標変換関数の補正を行ったが、これに限定されるものではない。例えば、3次元形状測定装置30の位置および向きを別の測定手段によって測定しながら3次元形状測定装置30を独立して移動できる3次元画像生成システムにおいて、座標変換関数の補正を行ってもよい。この場合、3次元形状測定装置30周りに任意に定めた一点がアーム座標系の原点に相当し、アーム座標系に相当する座標を基準座標系の座標に変換する第2座標変換関数が3次元形状測定装置30の位置および向きのデータにより計算される。この他の構成については上記実施形態と同様の方法により座標変換関数の補正を行うことができる。
【図面の簡単な説明】
【0154】
【図1】本発明の一実施形態に係る3次元画像生成システムの全体を示す概略図である。
【図2】図1の支持機構に触針を組み付けた状態を示す概略斜視図である。
【図3】図1の3次元画像処理装置によって実行される触針測定プログラムのフローチャートである。
【図4】図1の3次元画像処理装置によって実行される座標変換関数計算プログラムのフローチャートである。
【図5】図1の3次元画像処理装置によって実行される座標変換関数補正プログラムのフローチャートである。
【図6】図1の3次元形状測定装置による基準球の測定の方法を示した説明図である。
【図7】仮のカメラ座標系の各座標軸の向きが真のカメラ座標系の各座標軸に対してずれている場合におけるカメラ座標系の座標を基準座標系の座標に変換した座標の位置関係を示す説明図である。
【図8】仮のカメラ座標系の各座標軸の向きが真のカメラ座標系の各座標軸に対して一致している場合におけるカメラ座標系の座標を基準座標系の座標に変換した座標の位置関係を示す説明図である。
【図9】図1の3次元画像処理装置によって実行される3次元形状表示プログラムのフローチャートである。
【符号の説明】
【0155】
10…基台、20…支持機構、21…固定ポール、22…回転ロッド、23〜25…アーム、27a〜27e…回転角センサ、30…3次元形状測定装置、41…コントローラ、42…画像処理装置、43…入力装置、44…表示装置、50…触針、60…基準球。

【特許請求の範囲】
【請求項1】
変形可能な支持機構によって支持された3次元形状測定装置を用いて測定対象物の3次元形状を測定して、前記3次元形状測定装置に関する座標系における前記測定した測定対象物の3次元形状を表す3次元画像データを生成し、同3次元画像データを前記支持機構の変形状態に応じて変化する座標変換関数を用いて予め決めた所定の座標系の3次元画像データに変換して、前記測定対象物を任意の方向から見て表示可能な3次元画像生成システムに適用される座標変換関数の補正方法において、
前記3次元形状測定装置を直線的に移動して少なくとも2つの位置で前記3次元形状測定装置の測定対象空間内に配置された基準物体の3次元形状を測定し、各測定位置ごとに前記3次元形状測定装置に関する座標系における前記基準物体の3次元形状を表す3次元画像データを生成する画像データ生成過程と、
前記座標変換関数および前記生成された各測定位置ごとの3次元画像データを用いて、前記少なくとも2つの位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データを計算する定点計算過程と、
前記予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きに応じて前記座標変換関数を補正する補正過程と
を含むことを特徴とする座標変換関数の補正方法。
【請求項2】
請求項1に記載した座標変換関数の補正方法において、
前記座標変換関数を、
前記3次元形状測定装置に関する座標系の3次元画像データを前記支持機構における前記3次元形状測定装置の取り付け部に関する座標系の3次元画像データに変換するための第1座標変換関数と、
前記支持機構の変形状態に応じて前記支持機構における前記3次元形状測定装置の取り付け部に関する座標系の3次元画像データを前記予め決めた所定の座標系の3次元画像データに変換するための第2座標変換関数とで構成し、
前記補正過程では、前記第1座標変換関数を補正するようにした座標変換関数の補正方法。
【請求項3】
請求項1または2に記載した座標変換関数の補正方法において、
前記定点計算過程では、
前記生成された各測定位置ごとの3次元画像データを、前記座標変換関数を用いて前記予め決めた所定の座標系で表す3次元画像データに変換し、かつ
前記予め決めた所定の座標系に変換した3次元画像データを用いて、前記基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算するようにした座標変換関数の補正方法。
【請求項4】
請求項1または2に記載した座標変換関数の補正方法において、
前記定点計算過程では、
前記生成された各測定位置ごとの3次元画像データを用いて、前記基準物体の定点を前記3次元形状測定装置に関する座標系で表す3次元データとして計算し、かつ
前記計算した3次元形状測定装置に関する座標系で表す前記基準物体の定点の3次元データを、前記座標変換関数を用いて前記予め決めた所定の座標系で表す3次元データに変換するようにした座標変換関数の補正方法。
【請求項5】
請求項1ないし4のうちのいずれか一つに記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記予め決めた所定の座標系の座標軸に平行に前記3次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項6】
請求項5に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記予め決めた所定の座標系の少なくとも2つの座標軸に平行に前記3次元形状測定装置をそれぞれ移動するようにした座標変換関数の補正方法。
【請求項7】
請求項5または6に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記3次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、前記3次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項8】
請求項1ないし4のうちのいずれか一つに記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記3次元形状測定装置を直交する少なくとも2方向に移動するようにした座標変換関数の補正方法。
【請求項9】
請求項8に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記3次元形状測定装置に関する座標系の座標軸と前記予め決めた所定の座標系の座標軸とを一致させた後に、前記3次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項10】
請求項1ないし4のうちのいずれか一つに記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記3次元形状測定装置に関する座標系の座標軸に平行に前記3次元形状測定装置を移動するようにした座標変換関数の補正方法。
【請求項11】
請求項10に記載した座標変換関数の補正方法において、
前記画像データ生成過程では、前記3次元形状測定装置に関する座標系の少なくとも2つの座標軸に平行に前記3次元形状測定装置をそれぞれ移動するようにした座標変換関数の補正方法。
【請求項12】
請求項1ないし11のうちのいずれか一つに記載した座標変換関数の補正方法において、さらに、
前記補正過程では、
前記予め決めた所定の座標系の座標軸に対する前記定点によって定義される直線の傾きを計算し、かつ
前記計算した傾きに応じて前記座標変換関数を補正するようにした座標変換関数の補正方法。
【請求項13】
請求項12に記載した座標変換関数の補正方法において、さらに、
前記支持機構における前記3次元形状測定装置の取り付け部の移動量を前記支持機構の変形状態に応じて検出し、
前記補正過程の直線の傾きの計算に前記3次元形状測定装置の取り付け部の移動量を用いるようにした座標変換関数の補正方法。
【請求項14】
変形可能な支持機構によって支持された3次元形状測定装置を用いて測定対象物の3次元形状を測定して、前記3次元形状測定装置に関する座標系における前記測定した測定対象物の3次元形状を表す3次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり前記支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した3次元画像データを予め決めた所定の座標系の3次元画像データに変換して、前記測定対象物を任意の方向から見て表示可能な3次元画像生成システムに適用される座標変換関数の補正方法において、
前記3次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして特定する定点データ特定過程と、
前記3次元形状測定装置を直線的に移動して少なくとも2つの位置で前記3次元形状測定装置の測定対象空間内に配置された基準物体の3次元形状を測定し、各測定位置ごとに前記3次元形状測定装置に関する座標系における前記基準物体の3次元形状を表す3次元画像データを生成する画像データ生成過程と、
前記座標変換関数および前記生成された各測定位置ごとの3次元画像データを用いて、前記少なくとも2つの位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算する第1定点計算過程と、
前記予め決めた所定の座標系の座標軸に対する前記第1定点計算過程で計算された定点によって定義される直線の傾きに応じて前記座標変換関数のうちの座標回転関数を補正する第1補正過程と、
前記第1定点計算過程で計算された定点の3次元データ、前記画像データ生成過程で生成された3次元画像データ、または前記3次元形状測定装置によって3次元形状を新たに測定して生成した前記3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データと、前記第1補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算する第2定点計算過程と、
前記第2定点計算過程で計算された定点の3次元データと、前記定点データ特定過程で特定された定点の3次元データとの差に応じて、前記座標変換関数のうちの座標移動関数を補正する第2補正過程とを含むことを特徴とする座標変換関数の補正方法。
【請求項15】
変形可能な支持機構によって支持された3次元形状測定装置を用いて測定対象物の3次元形状を測定して、前記3次元形状測定装置に関する座標系における前記測定した測定対象物の3次元形状を表す3次元画像データを生成し、座標軸の回転を表す座標回転関数および座標軸の直線移動を表す座標移動関数からなり前記支持機構の変形状態に応じて変化する座標変換関数を用いて前記生成した3次元画像データを予め決めた所定の座標系の3次元画像データに変換して、前記測定対象物を任意の方向から見て表示可能な3次元画像生成システムに適用される座標変換関数の補正方法において、
前記3次元形状測定装置の測定対象空間内に配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データを特定する定点データ特定過程と、
前記3次元形状測定装置を移動して少なくとも3つの位置で前記3次元形状測定装置の測定対象空間内に配置された基準物体の3次元形状を測定し、各測定位置ごとに前記3次元形状測定装置に関する座標系における前記基準物体の3次元形状を表す3次元画像データを生成する画像データ生成過程と、
前記画像データ生成過程で生成した基準物体の3次元形状を表す3次元画像データを用いて、前記各測定位置ごとに前記基準物体の定点を前記3次元形状測定装置に関する座標系で表す3次元データとして生成する3次元データ生成過程と、
前記定点データ特定過程で特定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データと、前記基準物体の定点を前記3次元形状測定装置に関する座標系で表す3次元データを用いて前記座標変換関数を生成する座標変換関数生成過程と、
前記座標変換関数生成過程で生成した座標変換関数と、前記画像データ生成過程で生成した各測定位置ごとの基準物体の3次元画像データのうちの少なくとも2つの測定位置の基準物体の3次元画像データとを用いて、前記少なくとも2つの測定位置で測定した基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算する第1定点計算過程と、
前記予め決めた所定の座標系の座標軸に対する前記第1定点計算過程で計算された定点によって定義される直線の傾きに応じて前記座標変換関数のうちの座標回転関数を補正する第1補正過程と、
前記第1定点計算過程で計算された定点の3次元データ、前記画像データ生成過程で生成された3次元画像データ、または前記3次元形状測定装置によって3次元形状を新たに測定して生成した前記3次元形状測定装置に関する座標系における基準物体の3次元形状を表す3次元画像データと、前記第1補正過程によって補正された座標変換関数とを用いて前記配置された基準物体の定点を前記予め決めた所定の座標系で表す3次元データを計算する第2定点計算過程と、
前記第2定点計算過程で計算された定点の3次元データと、前記定点データ特定過程で特定された定点の3次元データとの差に応じて、前記座標変換関数のうちの座標移動関数を補正する第2補正過程とを含むことを特徴とする座標変換関数の補正方法。
【請求項16】
請求項14または15に記載した座標変換関数の補正方法において、
前記定点データ特定過程では、前記支持機構に触針を取り付け、同触針を前記基準物体に接触させて、前記支持機構の変形状態に応じて前記基準物体の定点を前記予め決めた所定の座標系で表す3次元データとして計算するようにした座標変換関数の補正方法。
【請求項17】
前記基準物体は、球、角柱、角錐、円柱および円錐のうちのいずれか一つの形状を有する請求項1ないし16のうちのいずれか一つに記載した座標変換関数の補正方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2006−301991(P2006−301991A)
【公開日】平成18年11月2日(2006.11.2)
【国際特許分類】
【出願番号】特願2005−123197(P2005−123197)
【出願日】平成17年4月21日(2005.4.21)
【出願人】(000112004)パルステック工業株式会社 (179)
【Fターム(参考)】