(57)【特許請求の範囲】
【請求項１】
複数の自由度を持つ支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定し、前記３次元形状測定装置に関する座標系によって表された３次元形状データに基づいて前記支持機構に関する座標系を介して予め決められた所定の基準座標系に関する３次元形状データを生成する３次元形状データ生成装置に適用され、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系によって表された３次元形状データに変換するための座標変換関数の取得方法において、
所定の３次元座標系における１つの座標平面に対して前記支持機構に関する座標系における１つの座標平面が平行な状態で、前記両１つの座標平面にそれぞれ直交する少なくとも２つの軸線ごとに、同各軸線回りにおける少なくとも２つの第１測定位置で前記３次元形状測定装置により所定の位置を定点として定義できる基準物体の３次元形状を測定し、前記各軸線および各第１測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第１の３次元形状データをそれぞれ生成する第１の３次元形状データ生成過程と、
前記第１の３次元形状データ生成過程にてそれぞれ生成された各第１の３次元形状データのうちの前記支持機構に関する座標系における前記１つの座標平面に対応する座標平面に関する座標データを、前記支持機構に関する座標系における前記１つの座標平面と平行な座標平面に関する座標データに変換するための平面共通化座標変換関数を計算する平面共通化座標変換関数計算過程と、
前記第１の３次元形状データ生成過程にてそれぞれ生成された各第１の３次元形状データと、前記平面共通化座標変換関数と、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換するための座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記各軸線および各第１測定位置ごとに計算する第１の定点計算過程と、
前記平面共通化座標変換関数と、前記第１の定点計算過程によって計算された各定点により定義される前記各軸線ごとの円とを用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記１つの座標平面に関する座標データに変換するための第１の座標変換関数を計算する第１の座標変換関数計算過程と、
前記所定の３次元座標系における前記１つの座標平面とは異なる他の座標平面に対して前記支持機構に関する座標系における前記１つの座標平面とは異なる他の座標平面が平行な状態で、前記両他の座標平面にそれぞれ直交する軸線回りにおける少なくとも２つの第２測定位置で前記３次元形状測定装置により前記基準物体の３次元形状を測定し、前記第２測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第２の３次元形状データをそれぞれ生成する第２の３次元形状データ生成過程と、
前記第２の３次元形状データ生成過程にてそれぞれ生成された各第２の３次元形状データと、前記第１の座標変換関数と、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換する座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記第２測定位置ごとに計算する第２の定点計算過程と、
前記第２の定点計算過程によって計算された各定点により定義される円を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記他の座標平面に関する座標データに変換するための第２の座標変換関数を計算する第２の座標変換関数計算過程と、
前記第１の座標変換関数および前記第２の座標変換関数を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系によって表された３次元形状データに変換する座標変換関数を計算する第３の座標変換関数計算過程とを含むことを特徴とする座標変換関数の取得方法。
【請求項２】
複数の自由度を持つ支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定し、前記３次元形状測定装置に関する座標系によって表された３次元形状データに基づいて前記支持機構に関する座標系を介して予め決められた所定の基準座標系に関する３次元形状データを生成する３次元形状データ生成装置に適用され、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系によって表された３次元形状データに変換するための座標変換関数の取得方法において、
前記支持機構に関する座標系における１つの座標平面に対して同座標平面に対応する３次元形状測定装置に関する座標平面が平行、かつ、所定の３次元座標系における１つの座標平面に対して前記支持機構に関する座標系における前記１つの座標平面が平行な状態で、前記両１つの座標平面にそれぞれ直交する少なくとも２つの軸線ごとに、同各軸線回りにおける少なくとも２つの第１測定位置で前記３次元形状測定装置により所定の位置を定点として定義できる基準物体の３次元形状を測定し、前記各軸線および各第１測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第１の３次元形状データをそれぞれ生成する第１の３次元形状データ生成過程と、
前記第１の３次元形状データ生成過程にてそれぞれ生成された各第１の３次元形状データと、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換するための座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記各軸線および各第１測定位置ごとに計算する第１の定点計算過程と、
前記第１の定点計算過程によって計算された各定点により定義される前記各軸線ごとの円を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記１つの座標平面に関する座標データに変換するための第１の座標変換関数を計算する第１の座標変換関数計算過程と、
前記支持機構に関する座標系における前記１つの座標平面とは異なる他の座標平面に対して同他の座標平面に対応する３次元形状測定装置に関する座標平面が平行、かつ、前記所定の３次元座標系における前記１つの座標平面とは異なる他の座標平面に対して前記支持機構に関する座標系における前記他の座標平面が平行な状態で、前記両他の座標平面にそれぞれ直交する軸線回りにおける少なくとも２つの第２測定位置で前記３次元形状測定装置により前記基準物体の３次元形状を測定し、前記第２測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第２の３次元形状データをそれぞれ生成する第２の３次元形状データ生成過程と、
前記第２の３次元形状データ生成過程にてそれぞれ生成された各第２の３次元形状データと、前記第１の座標変換関数と、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換する座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記第２測定位置ごとに計算する第２の定点計算過程と、
前記第２の定点計算過程によって計算された各定点により定義される円を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記他の座標平面に関する座標データに変換するための第２の座標変換関数を計算する第２の座標変換関数計算過程と、
前記第１の座標変換関数および前記第２の座標変換関数を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系によって表された３次元形状データに変換する座標変換関数を計算する第３の座標変換関数計算過程とを含むことを特徴とする座標変換関数の取得方法。
【請求項３】
請求項１または請求項２に記載の座標変換関数の取得方法において、
前記基準物体は、前記基準座標系における１つの座標平面に平行な平面上に配置され、
前記所定の３次元座標系として前記基準座標系を用いた座標変換関数の取得方法。
【請求項４】
請求項１ないし請求項３のうちのいずれか１つに記載の座標変換関数の取得方法において、
前記第１の３次元形状データ生成過程は、前記両１つの座標平面にそれぞれ直交する各軸線回りにおける各回転中心を中点とする直線上の２点をそれぞれ前記第１測定位置とし、
前記第２の３次元形状データ生成過程は、前記両他の座標平面に直交する軸線回りにおける少なくとも３つの位置をそれぞれ前記第２測定位置とする座標変換関数の取得方法。
【請求項５】
請求項１ないし請求項４のうちのいずれか１つに記載の座標変換関数の取得方法において、
前記基準物体は、球、楕円状の球体、角柱、角錐、円柱、円錐および多面体のうちのいずれか一つの形状を有する、または基準物体表面に同表面と識別可能なマークを有する座標変換関数の取得方法。
【請求項６】
複数の自由度を持つ支持機構によって支持され測定対象物の３次元形状を測定する３次元形状測定装置と、前記３次元形状測定装置に関する座標系によって表された３次元形状データに基づいて前記支持機構に関する座標系を介して予め決められた所定の基準座標系に関する３次元形状データを生成するコンピュータ部とを備えた３次元形状データ生成装置に適用され、前記コンピュータ部に、
所定の３次元座標系における１つの座標平面に対して前記支持機構に関する座標系における１つの座標平面が平行な状態で、前記両１つの座標平面にそれぞれ直交する少なくとも２つの軸線ごとに、同各軸線回りにおける少なくとも２つの第１測定位置で前記３次元形状測定装置により所定の位置を定点として定義できる基準物体の３次元形状を測定し、前記各軸線および各第１測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第１の３次元形状データをそれぞれ生成する第１の３次元形状データ生成ステップと、
前記第１の３次元形状データ生成ステップにてそれぞれ生成された各第１の３次元形状データのうちの前記支持機構に関する座標系における前記１つの座標平面に対応する座標平面に関する座標データを、前記支持機構に関する座標系における前記１つの座標平面と平行な座標平面に関する座標データに変換するための平面共通化座標変換関数を計算する平面共通化座標変換関数計算ステップと、
前記第１の３次元形状データ生成ステップにてそれぞれ生成された各第１の３次元形状データと、前記平面共通化座標変換関数と、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換するための座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記各軸線および各第１測定位置ごとに計算する第１の定点計算ステップと、
前記平面共通化座標変換関数と、前記第１の定点計算ステップによって計算された各定点により定義される前記各軸線ごとの円とを用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記１つの座標平面に関する座標データに変換するための第１の座標変換関数を計算する第１の座標変換関数計算ステップと、
前記所定の３次元座標系における前記１つの座標平面とは異なる他の座標平面に対して前記支持機構に関する座標系における前記１つの座標平面とは異なる他の座標平面が平行な状態で、前記両他の座標平面にそれぞれ直交する軸線回りにおける少なくとも２つの第２測定位置で前記３次元形状測定装置により前記基準物体の３次元形状を測定し、前記第２測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第２の３次元形状データをそれぞれ生成する第２の３次元形状データ生成ステップと、
前記第２の３次元形状データ生成ステップにてそれぞれ生成された各第２の３次元形状データと、前記第１の座標変換関数と、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換する座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記第２測定位置ごとに計算する第２の定点計算ステップと、
前記第２の定点計算ステップによって計算された各定点により定義される円を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記他の座標平面に関する座標データに変換するための第２の座標変換関数を計算する第２の座標変換関数計算ステップと、
前記第１の座標変換関数および前記第２の座標変換関数を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系によって表された３次元形状データに変換する座標変換関数を計算する第３の座標変換関数計算ステップとを実行させることを特徴とする座標変換関数取得用プログラム。
【請求項７】
複数の自由度を持つ支持機構によって支持され測定対象物の３次元形状を測定する３次元形状測定装置と、前記３次元形状測定装置に関する座標系によって表された３次元形状データに基づいて前記支持機構に関する座標系を介して予め決められた所定の基準座標系に関する３次元形状データを生成するコンピュータ部とを備えた３次元形状データ生成装置に適用され、前記コンピュータ部に、
前記支持機構に関する座標系における１つの座標平面に対して同座標平面に対応する３次元形状測定装置に関する座標平面が平行、かつ、所定の３次元座標系における１つの座標平面に対して前記支持機構に関する座標系における前記１つの座標平面が平行な状態で、前記両１つの座標平面にそれぞれ直交する少なくとも２つの軸線ごとに、同各軸線回りにおける少なくとも２つの第１測定位置で前記３次元形状測定装置により所定の位置を定点として定義できる基準物体の３次元形状を測定し、前記各軸線および各第１測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第１の３次元形状データをそれぞれ生成する第１の３次元形状データ生成ステップと、
前記第１の３次元形状データ生成ステップにてそれぞれ生成された各第１の３次元形状データと、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換するための座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記各軸線および各第１測定位置ごとに計算する第１の定点計算ステップと、
前記第１の定点計算ステップによって計算された各定点により定義される前記各軸線ごとの円を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記１つの座標平面に関する座標データに変換するための第１の座標変換関数を計算する第１の座標変換関数計算ステップと、
前記支持機構に関する座標系における前記１つの座標平面とは異なる他の座標平面に対して同他の座標平面に対応する３次元形状測定装置に関する座標平面が平行、かつ、前記所定の３次元座標系における前記１つの座標平面とは異なる他の座標平面に対して前記支持機構に関する座標系における前記他の座標平面が平行な状態で、前記両他の座標平面にそれぞれ直交する軸線回りにおける少なくとも２つの第２測定位置で前記３次元形状測定装置により前記基準物体の３次元形状を測定し、前記第２測定位置ごとに前記３次元形状測定装置に関する座標系における前記基準物体の３次元形状を表す第２の３次元形状データをそれぞれ生成する第２の３次元形状データ生成ステップと、
前記第２の３次元形状データ生成ステップにてそれぞれ生成された各第２の３次元形状データと、前記第１の座標変換関数と、前記支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換する座標変換関数とを用いて、前記所定の３次元座標系によって表された前記基準物体における前記定点を前記第２測定位置ごとに計算する第２の定点計算ステップと、
前記第２の定点計算ステップによって計算された各定点により定義される円を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系における前記他の座標平面に関する座標データに変換するための第２の座標変換関数を計算する第２の座標変換関数計算ステップと、
前記第１の座標変換関数および前記第２の座標変換関数を用いて、前記３次元形状測定装置に関する座標系によって表された３次元形状データを、前記支持機構に関する座標系によって表された３次元形状データに変換する座標変換関数を計算する第３の座標変換関数計算ステップとを実行させることを特徴とする座標変換関数取得用プログラム。
【請求項８】
請求項６または請求項７に記載の座標変換関数取得用プログラムにおいて、
前記基準物体は、前記基準座標系における１つの座標平面に平行な平面上に配置され、
前記所定の３次元座標系として前記基準座標系を用いた座標変換関数取得用プログラム。
【請求項９】
請求項６ないし請求項８のうちのいずれか１つに記載の座標変換関数取得用プログラムにおいて、
前記第１の３次元形状データ生成ステップは、前記両１つの座標平面にそれぞれ直交する各軸線回りにおける各回転中心を中点とする直線上の２点をそれぞれ前記第１測定位置とし、
前記第２の３次元形状データ生成ステップは、前記両他の座標平面に直交する軸線回りにおける少なくとも３つの位置をそれぞれ前記第２測定位置とする座標変換関数取得用プログラム。
【請求項１０】
請求項６ないし請求項９のうちのいずれか１つに記載の座標変換関数計算プログラムにおいて、
前記基準物体は、球、楕円状の球体、角柱、角錐、円柱、円錐および多面体のうちのいずれか一つの形状を有する、または基準物体表面に同表面と識別可能なマークを有する座標変換関数取得用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の自由度を持つ支持機構によって支持された３次元形状測定装置により測定した測定対象物の３次元形状データを、支持機構に関する座標系を介して基準座標系における３次元形状データに変換する座標変換関数の取得方法および同座標変換関数の取得に用いられるコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、複数の自由度を持つ支持機構によって支持された３次元形状測定装置により、測定対象物の３次元形状を複数の異なる位置から測定して各測定位置ごとの３次元形状データを合成し、測定対象物の立体形状を任意の方向から見て表示できるようにした３次元形状の測定方法はよく知られている。この３次元形状データの合成に際しては、３次元形状測定装置に関する座標系によって表された各測定位置ごとの３次元形状データを支持機構に関する座標系を介して基準座標系によって表された３次元形状データに変換する座標変換が行われている。この３次元形状データの座標変換には、３次元形状測定装置に関する座標系によって表された３次元形状データを支持機構に関する座標系によって表された３次元形状データに変換する座標変換と、支持機構に関する座標系によって表された３次元形状データを基準座標系によって表された３次元形状データに変換する座標変換とがある。
【０００３】
これらのうち、後者の座標変換に用いられる座標変換関数は、支持機構を構成する各アームの長さおよび各アーム間の相対角度などを用いて支持機構の姿勢ごとに計算される。一方、前者の座標変換に用いられる座標変換関数は、測定対象物体の３次元形状を測定する前に、事前に計算されコントローラ等に予め記憶されている。例えば、下記特許文献１に記載の３次元形状測定システムにおいては、複数のアームを互いに可動的に連結して構成される支持機構の先端部に先端を尖らせて形成した触針および３次元形状測定装置を順次付け替えて測定対象空間内に配置された基準物体をそれぞれ測定する。そして、基準物体内に予め設定された定点の座標値をそれぞれ計算し、同計算された各定点の座標値を用いて座標変換関数が計算される。
【特許文献１】特開２００４−２５７９２７号公報
【０００４】
しかしながら、後者の座標変換関数を計算するに際しては、支持機構の先端部に触針および３次元形状測定装置を相互に付け替える作業が必要となり作業効率が悪いという問題がある。また、座標変換関数を計算するために触針を用意し、同触針を維持管理する費用および工数も必要となり作業性に加えて経済性も悪いという問題もある。
【発明の開示】
【０００５】
本発明は上記問題に対処するためなされたもので、その目的は、複数の自由度を持つ支持機構によって支持された３次元形状測定装置により測定され、同３次元形状測定装置に関する座標系によって表された測定対象物の３次元形状データを支持機構に関する座標系によって表された３次元形状データに変換するための座標変換関数を、作業性および経済性よく取得することが可能な座標変換関数の取得方法および座標変換関数取得用プログラムを提供することにある。
【０００６】
上記目的を達成するため、本発明の特徴は、複数の自由度を持つ支持機構によって支持された３次元形状測定装置を用いて測定対象物の３次元形状を測定し、３次元形状測定装置に関する座標系によって表された３次元形状データに基づいて支持機構に関する座標系を介して予め決められた所定の基準座標系に関する３次元形状データを生成する３次元形状データ生成装置に適用され、３次元形状測定装置に関する座標系によって表された３次元形状データを、支持機構に関する座標系によって表された３次元形状データに変換するための座標変換関数の取得方法において、所定の３次元座標系における１つの座標平面に対して支持機構に関する座標系における１つの座標平面が平行な状態で、両１つの座標平面にそれぞれ直交する少なくとも２つの軸線ごとに、同各軸線回りにおける少なくとも２つの第１測定位置で３次元形状測定装置により所定の位置を定点として定義できる基準物体の３次元形状を測定し、前記各軸線および各第１測定位置ごとに３次元形状測定装置に関する座標系における基準物体の３次元形状を表す第１の３次元形状データをそれぞれ生成する第１の３次元形状データ生成過程（ステップＳ１０２，Ｓ１２２，Ｓ１２６）と、第１の３次元形状データ生成過程にてそれぞれ生成された各第１の３次元形状データのうちの支持機構に関する座標系における前記１つの座標平面に対応する座標平面に関する座標データを、支持機構に関する座標系における前記１つの座標平面と平行な座標平面に関する座標データに変換するための平面共通化座標変換関数を計算する平面共通化座標変換関数計算過程（ステップＳ１１０，Ｓ１１２，Ｓ１３０）と、第１の３次元形状データ生成過程にてそれぞれ生成された各第１の３次元形状データと、平面共通化座標変換関数と、支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換するための座標変換関数とを用いて、前記所定の３次元座標系によって表された基準物体における定点を前記各軸線および各第１測定位置ごとに計算する第１の定点計算過程（ステップＳ１０６，ステップＳ１１４〜Ｓ１１８）と、平面共通化座標変換関数と、第１の定点計算過程によって計算された各定点により定義される前記各軸線ごとの円とを用いて、３次元形状測定装置に関する座標系によって表された３次元形状データを、支持機構に関する座標系における前記１つの座標平面に関する座標データに変換するための第１の座標変換関数を計算する第１の座標変換関数計算過程（ステップＳ１３２〜Ｓ１３６）と、前記所定の３次元座標系における前記１つの座標平面とは異なる他の座標平面に対して支持機構に関する座標系における前記１つの座標平面とは異なる他の座標平面が平行な状態で、両他の座標平面にそれぞれ直交する軸線回りにおける少なくとも２つの第２測定位置で３次元形状測定装置により基準物体の３次元形状を測定し、第２測定位置ごとに３次元形状測定装置に関する座標系における基準物体の３次元形状を表す第２の３次元形状データをそれぞれ生成する第２の３次元形状データ生成過程（ステップＳ３０２，Ｓ３１６）と、第２の３次元形状データ生成過程にてそれぞれ生成された各第２の３次元形状データと、第１の座標変換関数と、支持機構に関する座標系によって表された座標データを前記所定の３次元座標系によって表された座標データに変換する座標変換関数とを用いて、前記所定の３次元座標系によって表された基準物体における定点を第２測定位置ごとに計算する第２の定点計算過程（ステップＳ３０６〜Ｓ３１４）と、第２の定点計算過程によって計算された各定点により定義される円を用いて、３次元形状測定装置に関する座標系によって表された３次元形状データを、支持機構に関する座標系における前記他の座標平面に関する座標データに変換するための第２の座標変換関数を計算する第２の座標変換関数計算過程（ステップＳ３２０）と、第１の座標変換関数および第２の座標変換関数を用いて、３次元形状測定装置に関する座標系によって表された３次元形状データを、支持機構に関する座標系によって表された３次元形状データに変換する座標変換関数を計算する第３の座標変換関数計算過程（ステップＳ３２２，Ｓ３２４）とを含むことにある。
【０００７】
この場合、前記基準物体を、例えば、基準座標系における１つの座標平面に平行な平面上に配置し、前記所定の３次元座標系として基準座標系を用いるとよい。また、この場合、前記第１の３次元形状データ生成過程は、前記両１つの座標平面にそれぞれ直交する各軸線回りにおける各回転中心を中点とする直線上の２点をそれぞれ第１測定位置とし、前記第２の３次元形状データ生成過程は、前記両他の座標平面に直交する軸線回りにおける少なくとも３つの位置をそれぞれ前記第２測定位置とするとよい。さらに、この場合、基準物体を、例えば、球、楕円状の球体、角柱、角錐、円柱、円錐および多面体のうちのいずれか一つの形状を有する、または基準物体表面に同表面と識別可能なマークを有するものとするとよい。
【０００８】
このように構成した本発明の特徴によれば、作業者は、３次元形状測定装置の測定対象空間内に基準物体を配置し、支持機構に関する座標系における１つの座標平面を所定の３次元座標系における１つの座標平面に平行にした状態で、これらの両座標平面に直交する２つの軸線回りにおけるそれぞれ２つの第１測定位置から３次元形状測定装置により基準物体をそれぞれ測定する。次に、支持機構に関する座標系における前記１つの座標平面とは異なる他の座標平面を、前記所定の３次元座標系における前記１つの座標平面とは異なる他の座標平面に平行にした状態で、これらの両他の座標平面に直交する１つの軸線回りにおける２つの測定位置から３次元形状測定装置により基準物体をそれぞれ測定する。そして、前記所定の座標平面における前記１つの座標平面および他の座標平面においてそれぞれ表された各定点によって定義される各円を用いて座標変換関数が計算される。すなわち、作業者は、３次元形状測定装置のみを用いて基準物体を測定して座標変換関数を取得することができる。したがって、座標変換関数を計算するに際して従来例にあるような触針は不要となる。これにより、支持機構の先端部に触針および３次元形状測定装置を相互に付け替える作業が不要となるとともに、触針を維持管理する費用および工数も不要となる。この結果、座標変換関数を作業性および経済性よく取得することができる。
【０００９】
また、上記座標変換関数の取得方法において、前記支持機構に関する座標系における１つの座標平面に対して同座標平面に対応する３次元形状測定装置に関する座標平面が平行な状態で、前記第１の３次元形状データ生成過程および前記第２の３次元形状データ生成過程にて基準物体の測定をそれぞれ行うようにすれば、前記平面共通化座標変換関数は不要となる。これによれば、上記座標変換関数の取得方法における平面共通化座標変換関数計算過程が不要となり、上記座標変換関数の取得方法に比べてより簡単に座標変換関数を取得することができる。
【００１０】
また、本発明は方法の発明として実施できるばかりでなく、コンピュータプログラムの発明としても実施できるものである。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態について図面を用いて説明する。図１は、本発明の座標変換関数の計算方法が適用される３次元画像生成装置の基本構成を示す概略図である。
【００１２】
この３次元画像生成装置は、基台１０上に固定して先端部を測定対象空間内で自由に変位させるアーム支持機構２０と、アーム支持機構２０の先端部に取り付けた３次元形状測定装置３０とを備えている。アーム支持機構２０は、固定ベース２１、回転ベース２２、第１アーム２３、第２アーム２４、第３アーム２５および第４アーム２６からなる。
【００１３】
固定ベース２１は、円筒状に形成され、その下端にて基台１０上に垂直方向に立設固定されている。回転ベース２２は、円盤状に形成され、固定ベース２１の上面において同固定ベース２１の軸線回りに回転可能な状態で組み付けられている。この回転ベース２２は、固定ベース２１内に設けられたサーボモータ２１ａにより固定ベース２１の軸線回りに回転駆動される。第１アーム２３は、その基端に設けた連結部２３ａにて、回転ベース２２の上面に設けた連結部２２ａに、回転ベース２２の軸線方向に直交する軸線回りに回転可能な状態で組み付けられている。この第１アーム２３は、連結部２２ａ，２３ａに設けたサーボモータ２３ｂにより回転ベース２２の軸線方向に直交する軸線回りに回転駆動する。
【００１４】
第２アーム２４は、その基端に設けた連結部２４ａにて、第１アーム２３の先端に設けた連結部２３ｃに、第１アーム２３の軸線方向に直交する軸線回りに回転可能に組み付けられている。この第２アーム２４は、連結部２３ｃ，２４ａに設けたサーボモータ２４ｂにより第１アーム２３の軸線方向に直交する軸線回りに回転駆動する。第３アーム２５は、その基端に設けた連結部２５ａにて、第２アーム２４の先端に設けた連結部２４ｃに、第２アーム２４の軸線方向に直交する軸線回りに回転可能に組み付けられている。この第３アーム２５は、連結部２４ｃ，２５ａに設けたサーボモータ２５ｂにより第２アーム２４の軸線方向に直交する軸線回りに回転駆動する。
【００１５】
第４アーム２６は、その基端に設けた連結部２６ａにて、第３アーム２５の先端に設けた連結部２５ｃに、第３アーム２５の軸線方向に直交する軸線回りに回転可能に組み付けられている。この第３アーム２５は、連結部２５ｃ，２６ａに設けたサーボモータ２６ｂにより第３アーム２５の軸線方向に直交する軸線回りに回転駆動する。第４アーム２６の先端部には、固定部材２７を介して３次元形状測定装置３０が、第４アーム２６の軸線回りに回転可能な状態で組み付けられている。固定部材２７は、３次元形状測定装置３０の方形状のハウジングの底面または側面に固定されている。また、固定部材２７には、サーボモータ２７ａが設けられており、同固定部材２７を第４アーム２６の軸線回りに回転駆動する。
【００１６】
３次元形状測定装置３０は、その正面側に位置する測定対象物体の３次元形状を測定するとともに同測定した３次元形状を表す情報を出力するものであり、本実施形態においては、レーザ光を用いて３角測量法に従って物体の３次元形状を測定するものである。なお、本実施形態では、レーザ光を用いるようにしているが、３次元物体の表面形状を測定し、反射率および色などを識別することが可能であれば他の光を用いてもよい。
【００１７】
この３次元形状測定装置３０においては、レーザ光源から物体に向けて出射されるレーザ光の進行方向にほぼ垂直な仮想平面を想定するとともに、同仮想平面上にて互いに直交するＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアを想定する。そして、３次元形状測定装置３０は、前記多数の微小エリアにレーザ光を順次照射し、物体からの反射光によって前記微小エリアが規定する物体表面までの距離をＺ軸方向距離として順次検出して、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報を得て、同３次元形状測定装置３０に面した物体表面の形状を測定するものである。
【００１８】
したがって、この３次元形状測定装置３０は、出射レーザ光の向きをＸ軸方向に変化させるＸ軸方向走査器と、出射レーザ光の向きをＹ軸方向に変化させるＹ軸方向走査器と、物体表面にて反射された反射レーザ光を受光して物体表面までの距離を検出する距離検出器とを備えている。Ｘ軸方向走査器およびＹ軸方向走査器としては、レーザ光源からの出射レーザ光の光路をＸ軸方向およびＹ軸方向に独立に変化させ得る機構であればよく、例えばレーザ光源自体をＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させたり、出射レーザ光の光路に設けられてその方向を変更するガルバノミラーをＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させる機構を利用できる。距離検出器としては、前記出射レーザ光の光路に追従して回転し、物体表面にて反射された反射レーザ光を集光する結像レンズおよび同集光したレーザ光を受光するＣＣＤなどの複数の受光素子を一列に配置させたラインセンサからなり、ラインセンサによる反射レーザ光の受光位置によって物体表面までの距離を検出する機構を利用できる。
【００１９】
したがって、このような３次元形状測定装置３０は、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報として、Ｘ軸方向走査器による出射レーザ光の基準方向に対するＸ軸方向への傾きθx、Ｙ軸方向走査器による出射レーザ光の基準方向に対するＹ軸方向への傾きθy、および距離検出器による物体表面までの距離Ｌzとが、前記仮想したＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアごとに出力される。より具体的には、Ｘ軸およびＹ軸方向への傾きθx，θyは、電動モータの基準位置からの回転角である。また、物体表面までの距離Ｌzは、ラインセンサにおける反射レーザ光の受光位置である。なお、前述した３次元形状測定装置３０はその一例を示すもので、レーザ光に代えてミリ波、超音波などを使用したものなど、いかなる３次元形状測定装置をも利用できる。
【００２０】
この３次元形状測定装置３０には、コントローラ４１および３次元画像処理装置４２が接続されている。コントローラ４１は、３次元形状測定装置３０の他に、サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２７ａおよび３次元画像処理装置４２がそれぞれ接続されており、複数の操作子を含むキーボードなどからなる入力装置４３からの指示に従って、３次元形状測定装置３０、サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２７ａおよび３次元画像処理装置４２の作動をそれぞれ制御する。
【００２１】
コントローラ４１には、アーム支持機構２０の基本姿勢時における各アーム間の角度、同各アーム間のねじれ角、同各アーム間の距離、各アームの長さなどの各アームの幾何学的な構成を規定する基本姿勢情報が設定されている。そして、コントローラ４１は、入力装置４３または３次元画像処理装置４２から指示されるアーム支持機構２０の先端部の位置決め位置（先端部の向きも含む）に、同先端部を位置決めするための回転ベース２２の回転角、第１アーム２３〜第４アーム２６間の各角度またはねじれ角、および第４アーム２６に対する固定部２７の回転角を、前記基本姿勢情報を用いてそれぞれ計算して、これらの回転角に対応する各サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２７ａを制御するための制御値を計算する。また、コントローラ４１は、入力装置４３からアーム支持機構２０の先端部の位置決め位置（第４アーム２６の軸線の向きを含む。以下、「アーム支持機構２０の先端部の向き」という）を表すアーム先端位置情報が入力された場合には、同アーム先端位置情報を３次元画像処理装置４２に供給する。なお、アーム先端位置情報が表す第４アーム２６の先端の位置および同先端部の向きは、固定ベース２１の基台１０への固定部における予め定められた点を原点とする３次元座標系である基準座標系Ｓによって表されている。また、この基準座標系ＳのＸ−Ｙ座標平面は、基台１０の上面と平行であり、同基準座標系ＳのＺ軸は同基台１０の上面に対して垂直方向に設定されている。
【００２２】
３次元画像処理装置４２は、コンピュータ装置によって構成されて図３,図４および図１１に示す各プログラムを実行することにより座標変換関数を計算するとともに、図１２に示すプログラムを実行することによりコントローラ４１から供給されるアーム先端位置情報および３次元形状測定装置３０からの３次元形状を表す情報（具体的には、Ｘ軸方向への傾きθｘ、Ｙ軸方向への傾きθｙ、物体表面までの距離Ｌｚ）を入力して、測定対象空間内に位置する物体の立体形状を任意の方向から見て表示可能な３次元形状データ群を生成する。この３次元画像処理装置４２には、表示装置４４が接続されている。表示装置４４は、液晶ディスプレイ、プラズマディスプレイまたはＣＲＴディスプレイなどからなり、３次元画像処理装置４２によって実行される各プログラムの実行ステップおよび同各プログラムの実行より生成される３次元形状データに基づいて測定対象空間内に位置する測定対象物体の立体形状を表示する。なお、この３次元画像処理装置４２が、本発明に係る３次元形状データ生成装置に相当する。
【００２３】
次に、このように構成した３次元画像生成装置の作動について説明する。まず、作業者は、図２（Ａ）に示すように、基台１０上における適当な位置に基準物体５０を配置する。基準物体５０は、真球体に形成されており、測定対象空間内において定点を定めるために用いられる。なお、この場合、基準物体５０を支持する支柱などを介して基台１０の上面から適当な高さの位置に基準物体５０を配置するようにしてもよい。
【００２４】
次に、作業者は、入力装置４３を操作して基準物体５０の上方にアーム支持機構２０の先端部（３次元形状測定装置３０）を位置決めさせる。この場合、アーム支持機構２０の先端部の向き（第４アーム２６の軸線方向）が基準座標系ＳのＸ−Ｙ座標平面に対して直交するようにアーム支持機構２０の先端部（３次元形状測定装置３０）を位置決めする。すなわち、アーム支持機構２０の先端部（３次元形状測定装置３０の取り付け部）に、同第４アーム２６の先端部の予め決められた位置（第４アーム２６の軸線上にある第４アーム２６の先端の点）を原点とするとともに、同第４アームの軸線方向をＺ軸とする３次元座標系であるアーム座標系Ａ１を想定し、同アーム座標系Ａ１のＸ−Ｙ座標平面が基準座標系ＳのＸ−Ｙ座標平面に対して平行になるようにアーム支持機構２０の先端部（３次元形状測定装置３０）を位置決めする。具体的には、アーム支持機構２０の先端部の向きを基台１０の上面に対して垂直になるように位置決めする。すなわち、本実施形態においては、本発明に係る所定の３次元座標系として基準座標系Ｓを用いている。
【００２５】
次に、作業者は、入力装置４３を操作して、図３に示す座標変換関数ＦＣ１Ｃ３計算プログラムの実行を３次元画像処理装置４２に指示する。座標変換関数ＦＣ１Ｃ３は、３次元形状測定装置３０に関する座標系であるカメラ座標系Ｃ１によって表された３次元形状データを、同３次元形状測定装置３０に関する座標系であってカメラ座標系Ｃ１とは異なる座標系であるカメラ座標系Ｃ３によって表された３次元形状データに座標変換する座標変換関数である。ここで、カメラ座標系Ｃ１は、互いに直交する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）からなり３次元形状測定装置３０の特定点を原点とする３次元座標系である。このカメラ座標系Ｃ１の各座標軸の向きは、アーム座標系Ａ１および基準座標系Ｓの各座標軸の向きとは一致していない。なお、カメラ座標系Ｃ３については後述する。
【００２６】
この指示に応答して３次元画像処理装置４２は、座標変換関数ＦＣ１Ｃ３計算プログラムの実行をステップＳ１００にて開始して、ステップＳ１０２にて、３次元形状測定装置３０による基準物体５０の測定を行う。３次元形状測定装置３０は、コントローラ４１からの指示に応答して基準物体５０の測定を開始して、基準物体５０の３次元形状を表す情報を３次元画像処理装置４２に出力する。すなわち、基準物体５０の表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθx，θyおよび距離Ｌz）を３次元画像処理装置４２に出力する。そして、３次元画像処理装置４２は、同ステップＳ１０２にて、３次元形状測定装置３０から出力されたＸ−Ｙ−Ｚ座標に関する情報に基づいて、基準物体５０の３次元形状を表す立体形状データ群からなる３次元形状データを計算する。この場合、３次元形状データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系Ｃ１によって表されている。なお、この３次元形状データ中には、基準物体５０のほかに同基準物体５０の周辺に存在する他の物体（例えば、基台１０）の表面形状を表す３次元形状データも含まれている。
【００２７】
次に、３次元画像処理装置４２は、ステップＳ１０４にて、前記ステップＳ１０２にて計算された３次元形状データの中から基準物体５０の３次元形状を表す３次元形状データを抽出する。具体的には、図４に示す基準物体抽出サブプログラムの実行をステップＳ２００にて開始して、ステップＳ２０２にて、基準物体の特徴の入力を待つ。作業者が入力装置４３を介して基準物体５０の特徴を入力すると、同入力情報は３次元画像処理装置４２に供給される。この場合、基準物体の特徴とは、基準物体５０が球体であることを表すデータおよび基準物体５０の直径を表すデータである。なお、基準物体の特徴が既に入力されていれば、このステップＳ２０２の処理をスキップさせてもよい。
【００２８】
次に、３次元画像処理装置４２は、ステップＳ２０４にて、前記入力された基準物体５０の特徴および基準物体５０の直径を表すデータを用いて、単位ブロックおよび探索ブロックのサイズ設定処理を実行する。なお、本実施形態においては、基準物体５０の直径は２５ｍｍである。単位ブロックは、基準物体５０の存在位置を特定するために探索ブロックを移動させる最小のブロックであり、本実施形態では立方体に形成されているが、直方体などの他の形状でもよい。また、単位ブロックのサイズは、基準物体５０の一部が存在することを確認可能である程度に小さく設定される。探索ブロックは、基準物体５０をその内部に包含する位置を特定するために利用されるもので、本実施形態では立方体に形成されるが、直方体などの他の形状でもよい。また、この探索ブロックのサイズは、基準物体５０のすべてを包含できるとともに、なるべく小さく設定される。ただし、この基準物体５０を包含できるとは、基準物体５０の一部でも含む単位ブロックのすべてを含むことを意味する。
【００２９】
なお、本実施形態においては、基準物体５０の直径が２５ｍｍであることから、単位ブロックのサイズとして立方体の１辺の長さ４ｍｍが設定されるとともに、探索ブロックのサイズとして立方体の１辺の長さ３２ｍｍに設定される。これによれば、探索ブロックは、８×８×８個の単位ブロックを含むことになり、直径２５ｍｍのうちの２４ｍｍが６個の単位ブロックに完全に包含され、残りの１ｍｍが１個または２個の単位ブロックに含まれることになる。図５は、単位ブロックと探索ブロックの関係を斜視図により示している。また、このステップＳ２０４において、単位ブロックおよび探索ブロックのサイズを設定するようにしたが、基準物体５０の変更がなければ予め設定されている単位ブロックおよび探索ブロックのサイズをそのまま利用すればよいので、このステップＳ２０４の処理は不要である。
【００３０】
次に、３次元画像処理装置４２は、ステップＳ２０６にて探索領域のブロック化処理を実行する。この探索領域のブロック化処理は、測定対象空間内で基準物体５０の含まれる可能性のある領域を単位ブロックで分割する処理である。基本的には、基準物体５０に関する３次元形状データに基づき、測定対象空間内のうち３次元形状データが存在する空間を単位ブロックで立体的に分割する。分割は、前記Ｘ，Ｙ，Ｚ座標の各座標軸に沿って単位ブロックを並べていく方法で行う。図６は図２（Ａ）の測定対象空間内に置かれた基準物体５０に関する３次元形状データに基づき本処理を行った結果を示す２次元の概念図である。図６中、二点鎖線は測定対象空間内の境界（測定対象領域）を示している。そして、分割後の各単位ブロックＢＬはＸ，Ｙ，Ｚ方向の位置ｉ，ｊ，ｋを用いた座標（ｉ，ｊ，ｋ）によって表される。ただし、ｉ，ｊ，ｋの各値は整数である。なお、このステップＳ２０６の探索領域のブロック化処理においては、基準物体５０の存在しない連続領域、すなわち基準物体５０に関する３次元形状データの含まれない連続領域を単位ブロックによる分割領域外としたが、測定対象領域の全域に渡って単位ブロックによる分割を行うようにしてもよい。
【００３１】
次に、３次元画像処理装置４２は、ステップＳ２０８にて、前記ステップＳ２０６の処理によって分割した各単位ブロックごとに３次元形状データが所定個数以上あるかを調べる。そして、３次元形状データが所定個数以上ある単位ブロックを抽出する。図７（Ａ）〜（Ｃ）は、抽出された単位ブロックを３次元形状測定装置３０に視点をおいてＺ軸方向から見たときの概念図である。ただし、外枠は探索ブロックに対応しており、ハッチング部分が抽出された単位ブロックである。
【００３２】
次に、３次元画像処理装置３２は、ステップＳ２１０にて、基準物体５０を含む可能性のある探索ブロック位置の検出を行う。この探索ブロック位置の検出処理においては、前記ステップＳ２０６の処理により単位ブロックに分割した領域にて、前記ステップＳ２０４の処理により設定した探索ブロックを単位ブロックを単位として、Ｘ軸、Ｙ軸およびＺ軸方向に順次移動させる。そして、各移動ごとに移動後の探索ブロック内に含まれるとともに前記ステップＳ２０８の処理によって抽出された単位ブロックの個数を計算する。前記単位ブロックの数が所定の範囲内であれば、該当する探索ブロック位置であるとして同位置が検出される。図８の（Ａ）〜（Ｄ）は、この探索ブロックの移動の状態を２次元的に示す概念図である。
【００３３】
この場合、基準物体５０は球体であるので、３次元形状測定装置３０と対向する側に位置して３次元形状データが得られる箇所と、３次元形状測定装置３０と対向しない側に位置して３次元形状データが得られない箇所の割合は、ほぼ同じであるので、球体の直径が特定されれば探索ブロック内に含まれる単位ブロックの数は設定される。単位ブロックの数が、この設定された数から所定の範囲内にある場合として考えられるのは、図７に示すように、探索ブロック内に基準物体５０が含まれる場合と、探索ブロック内に基台１０が含まれる場合である。このため、単位ブロックの数が所定の範囲内である場合には、同単位ブロックのＸ−Ｙ平面、Ｙ−Ｚ平面またはＺ−Ｘ平面での数に基づいて基準物体５０以外の物体を検出することを防ぐ。具体的には、図７（Ａ）に示すように、探索ブロックをＺ軸方向から見た場合、すなわちＸ−Ｙ平面での単位ブロックの数と、探索ブロックをＸ軸方向（またはＹ軸方向）から見た場合、すなわちＹ−Ｚ平面（またはＺ−Ｘ平面）での単位ブロックの数とが、それぞれ所定の設定数の範囲であるか否かを判定すればよい。このようにすれば図７（Ｂ）に示すように、探索ブロック内に基台１０が含まれる場合には、Ｘ−Ｙ平面での単位ブロックの数と、Ｙ−Ｚ平面（またはＺ−Ｘ平面）での単位ブロックの数とが、基準物体５０を検出する場合に検出される単位ブロックの数と大きく異なるため、精度良く基準物体５０を含む探索ブロックを検出することができる。
【００３４】
次に、３次元画像処理装置４２は、ステップＳ２１２にて、前記ステップＳ２１０の処理によって検出した位置の探索ブロック内に含まれる３次元形状データが、基準物体５０の形状に合致するか否かを判定し、合致すると判定したとき探索ブロック内の３次元形状データを抽出する３次元形状データ抽出処理を行う。具体的には、該当する探索ブロック内のすべての３次元形状データ（Ｘ，Ｙ，Ｚ座標値）を、球体を表す式である下記式１の左辺のＸ，Ｙ，Ｚにそれぞれ代入し、最小２乗法を用いて未知数ａ，ｂ，ｃ，ｄを計算する。この場合、ａ，ｂ，ｃは、３次元形状データにより表された球体中心のｘ，ｙ，ｚ座標値をそれぞれ表し、ｄは球体の半径を表す。
【数１】
0004443523.tif 000002
【００３５】
次に、前記該当する探索ブロック内の各３次元形状データ（Ｘ，Ｙ，Ｚ座標値）ごとに、同３次元形状データ（Ｘ，Ｙ，Ｚ座標値）と前記計算した値ａ，ｂ，ｃとを前記式１に代入して、各３次元形状データごとに値ｄ（球体中心からの距離）を計算する。そして、前記計算した値ｄ（球の半径）と前記入力した基準物体５０の直径から計算した基準物体５０の半径との差が所定の判別値以内であり、かつ各３次元形状データの球体中心からの距離の偏差が所定の判別値以内であれば、前記探索ブロック内の３次元形状データは合致するとして、同３次元形状データのうち、球体中心からの距離が所定の範囲内にあるデータを抽出基準物体データとして記憶する。このステップＳ２１２の処理後、ステップＳ２１４にて、基準物体抽出サブプログラムの実行を終了して、再び座標変換関数ＦＣ１Ｃ３計算プログラムのステップＳ１０６に戻る。
【００３６】
次に、３次元画像処理装置４２は、ステップＳ１０６にて、前記記憶した抽出基準物体データ（基準物体５０の３次元形状を表す３次元形状データ）を上記式１の方程式のＸ，Ｙ，Ｚに代入して、最小２乗法によりａ，ｂ，ｃを計算することにより基準物体５０の中心座標(ｃｘＣ１,ｃｙＣ１,ｃｚＣ１)を定点として計算する。なお、この場合、前記基準物体抽出サブプログラムにおけるステップＳ２１２にて、探索ブロック内に含まれる３次元形状データが基準物体５０の形状に合致すると判定されたときの３次元形状データに基づく球体中心（Ｘ，Ｙ，Ｚ座標値）を定点としてもよい。
【００３７】
次に、３次元画像処理装置４２は、ステップＳ１０８にて、基台１０の上面を表す基準平面Ｐを定義する。具体的には、前記ステップＳ１０２にて計算した３次元形状データから、前記記憶した抽出基準物体データ（基準物体５０の３次元形状を表す３次元形状データ）を除いた３次元形状データ、すなわち、基台１０の上面を表す３次元形状データを下記式２の左辺のＸ，Ｙ，Ｚにそれぞれ代入し、最小２乗法を用いて未知数ａ，ｂ，ｃを計算する。
【数２】
0004443523.tif 000003
【００３８】
なお、前記ステップＳ１０２にて計算した３次元形状データの中に基準物体５０および基台１０以外の物体の形状を表す３次元形状データが含まれている場合には、同ステップＳ１０２にて計算した３次元形状データから、前記抽出基準物体データ（基準物体５０の３次元形状を表す３次元形状データ）を除いた３次元形状データ（以下、「初期の３次元形状データ」という）の一部を抽出して前記式２に代入して、その値の２乗和が最小となるａ，ｂ，ｃを最小２乗法を用いて計算し平面Ｐ’を仮定義する。そして、初期の３次元形状データを用いて仮定義した平面Ｐ’からの距離が所定の範囲内の３次元形状データを抽出する。この場合、抽出した３次元形状データが所定数以上であれば、初期の３次元形状データから一部抽出した３次元形状データすべてが基台１０の上面を表す３次元形状データであると判定する。一方、抽出した３次元形状データが所定数未満であれば、初期の３次元形状データから一部抽出した３次元形状データは基台１０の上面を表す３次元形状データ以外の３次元形状データも含まれていると判定して、再度、３次元形状データの抽出を行う。この判定処理は、初期の３次元形状データから一部抽出した３次元形状データがすべて基台１０の上面を表す３次元形状データであると判定されるまで繰り返し実行される。次に、抽出した平面Ｐ’からの距離が所定の範囲内の３次元形状データを前記式２に代入して、前記と同様に最小２乗法を用いて再度平面を計算し、同計算した平面を基準平面Ｐとする。これにより、前記ステップＳ１０２にて計算した３次元形状データの中に基準物体５０および基台１０以外の物体の形状を表す３次元形状データが含まれている場合であっても精度よく基台１０の上面を表す基準平面Ｐを定義することができる。
【００３９】
次に、３次元画像処理装置４２は、ステップＳ１１０にて、カメラ座標系Ｃ１における座標値をカメラ座標系Ｃ２における座標値に座標変換する座標変換関数ＦＣ１Ｃ２を計算する。ここで、カメラ座標系Ｃ２は、カメラ座標系Ｃ１と原点が同一であり、Ｘ−Ｙ座標平面がアーム座標系Ａ１のＸ−Ｙ座標平面に平行な座標系である。なお、この定義では、カメラ座標系Ｃ２は理論的には無数に存在するため、カメラ座標系Ｃ２は、カメラ座標系Ｃ１のＹ軸を回転させてカメラ座標系Ｃ１のＸ軸をアーム座標系Ａ１のＸ−Ｙ座標平面に平行にするとともに、カメラ座標系Ｃ１のＸ軸を回転させてカメラ座標系Ｃ１のＹ軸をアーム座標系Ａ１のＸ−Ｙ座標平面に平行、かつＺ軸の向きが基準座標系ＳのＺ軸の向きと同じにした座標系として定義する。
【００４０】
このステップＳ１１０による座標変換関数ＦＣ１Ｃ２の計算処理に先立ち、座標変換について簡単に説明しておく。Ｘ，Ｙ，Ｚ座標からなる第１座標系と、同第１座標系をＸ軸、Ｙ軸およびＺ軸回りにそれぞれθｘ，θｙ，θｚだけ回転させた第２座標系を想定する。第１座標系における１つのベクトルを（αａ，βａ，γａ）とするとともに、第２座標における前記１つのベクトルを（αｂ，βｂ，γｂ）とすると、下記式３が成立する。この場合、ベクトル（αａ，βａ，γａ）とベクトル（αｂ，βｂ，γｂ）は、その大きさが同じとする。
【数３】
0004443523.tif 000004
【００４１】
このステップＳ１１０の座標変換関数ＦＣ１Ｃ２の計算は、前記式３中の行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３を計算することを意味する。すなわち、同一方向にない３つのベクトルＡ，Ｂ，Ｃを想定し、この３つのベクトルのＡ，Ｂ，Ｃのカメラ座標系Ｃ１（前記第１座標系）における各成分ＡＣ１，ＢＣ１，ＣＣ１を（α１，β１，γ１），（α２，β２，γ２），（α３，β３，γ３）とし、この３つのベクトルのＡ，Ｂ，Ｃのカメラ座標系Ｃ２（前記第２座標系）における各成分ＡＣ２，ＢＣ２，ＣＣ２を（α’１，β’１，γ’１），（α’２，β’２，γ’２），（α’３，β’３，γ’３）とすれば、下記式４〜６の関係が成立する。
【数４】
0004443523.tif 000005
【数５】
0004443523.tif 000006
【数６】
0004443523.tif 000007
【００４２】
この前記式４〜６の連立方程式を解くことにより、行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３を計算することができる。本実施形態においては、前記基準平面Ｐの法線ベクトルでその大きさが「１」のベクトルをベクトルＡとして想定する。このベクトルＡのカメラ座標系Ｃ１における各成分は下記式７に示すようになる。そして、基準座標系ＳのＸ−Ｙ座標平面に対してアーム座標系Ａ１のＸ−Ｙ座標平面が平行になるように３次元形状測定装置３０を位置決めしているため、前記基準平面Ｐの法線ベクトルは、アーム座標系Ａ１におけるＺ軸と平行になっており、ベクトルＡのカメラ座標系Ｃ２における各成分は（０，０，１）となる。
【数７】
0004443523.tif 000008
【００４３】
また、カメラ座標系Ｃ２のＸ軸方向の単位ベクトル（１，０，０）をベクトルＢとして想定する。このベクトルＢのカメラ座標系Ｃ１における各成分は下記式８に示すようになる。この場合、下記式８中の「ｅ」はカメラ座標系Ｃ１におけるベクトル（１，０，ｅ）とベクトル（ａ，ｂ，ｃ）（基準平面Ｐの法線ベクトル）とが直交するため、両ベクトルの内積が「０」となることから計算される。
【数８】
0004443523.tif 000009
【００４４】
また、ベクトルＡとベクトルＢとの外積によるベクトルＣを想定する。このベクトルＣのカメラ座標系Ｃ１における各成分ＣＣ１は、ＡＣ１×ＢＣ１により計算される。そして、このベクトルＣのカメラ座標系Ｃ２における各成分ＣＣ２も同様にＡＣ２×ＢＣ２により計算される。この場合、ＡＣ２，ＢＣ２が（０，０，１），（１，０，０）であるため、ＣＣ２は（０，１，０）となる。これにより、３つのベクトルＡ，Ｂ，Ｃのカメラ座標系Ｃ１およびカメラ座標系Ｃ２における各成分がそれぞれ計算され、前記式４〜６の連立方程式を解くことにより座標変換関数ＦＣ１Ｃ２が計算される。この座標変換関数ＦＣ１Ｃ２は、ステップＳ１１２にて、３次元画像処理装置４２内に記憶される。なお、この座標変換関数ＦＣ１Ｃ２が、本発明に係る平面共通化座標変換関数に相当する。
【００４５】
次に、３次元画像処理装置４２は、ステップＳ１１４にて、前記ステップ１１０にて計算された座標変換関数ＦＣ１Ｃ２（すなわち、行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３）を用いて、前記ステップＳ１０６にて計算した定点、すなわちカメラ座標系Ｃ１によって表された基準物体５０の中心座標(ｃｘＣ１,ｃｙＣ１,ｃｚＣ１)をカメラ座標系Ｃ２における定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)に座標変換する。この場合、前述した式３の演算の実行によって座標変換は行われる。
【００４６】
次に、３次元画像処理装置４２は、ステップＳ１１６にて、アーム座標系Ａ２における座標値を基準座標系Ｓにおける座標値に座標変換する座標変換関数ＦＡ２Ｓを計算する。ここで、アーム座標系Ａ２は、アーム座標系Ａ１と原点が同一であり、Ｚ軸の正負の方向（以下、単に「向き」という）のみをカメラ座標系Ｃ２のＺ軸の向きに一致させた座標系である。この場合、カメラ座標系Ｃ２のＺ軸の向きは基準座標系ＳのＺ軸の向きと一致しており、同基準座標系ＳのＺ軸の向きはアーム座標系Ａ１のＺ軸の向きとは反対である。換言すれば、アーム座標系Ａ２は、アーム座標系Ａ１における３つの座標軸のうちのＸ軸回りまたはＹ軸回りに同アーム座標系Ａ１を１８０°回転させて同アーム座標系Ａ１のＺ軸を基準座標系ＳのＺ軸の向きに一致させた座標系である。この座標変換関数ＦＡ２Ｓは、アーム座標系Ａ２における座標値をアーム座標系Ａ１における座標値に座標変換する座標変換関数ＦＡ２Ａ１と、アーム座標系Ａ１における座標値を基準座標系Ｓにおける座標値に座標変換する座標変換関数ＦＡ１Ｓとからなる。
【００４７】
これらのうち、座標変換関数ＦＡ２Ａ１は下記式９によって表される。すなわち、アーム座標系Ａ２は、前記したようにアーム座標系Ａ１を同アーム座標系Ａ１におけるＸ軸回り（またはＹ軸回り）に１８０°回転させた座標系であるため、単位行列におけるＸ座標成分（またはＹ座標成分）およびＺ座標成分の各符号を反対にした行列が座標変換関数ＦＡ２Ａ１となる。
【数９】
0004443523.tif 000010
【００４８】
次に、座標変換関数ＦＡ１Ｓを計算する。前記第１座標系の原点を座標軸の回転後、更に回転した座標軸のＸ軸方向、Ｙ軸方向およびＺ軸方向にそれぞれａ，ｂ，ｃだけ移動させた第２座標系を想定し、同第１座標系における一点の座標値を（Ｘａ，Ｙａ，Ｚａ）とし、第２座標における前記一点の座標値を（Ｘｂ，Ｙｂ，Ｚｂ）とした場合、下記式１０が成立する。下記式１０中、行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３は、下記式１１によって表される。
【数１０】
0004443523.tif 000011
【数１１】
0004443523.tif 000012
【００４９】
前記式１０において、アーム座標系Ａ２によって表された座標値を（Ｘｂ，Ｙｂ，Ｚｂ）とし、基準座標系Ｓによって表された座標値（Ｘａ，Ｙａ，Ｚａ）をとすれば、アーム座標系Ａ１における座標値を基準座標系Ｓにおける座標値に座標変換する座標変換関数ＦＡ１Ｓは、行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３およびベクトル値ａ，ｂ，ｃとなる。したがって、３次元画像処理装置４２は、アーム支持機構２０における各サーボモータ２１ａ，２３ｂ，２４ｂ，２５ｂ，２６ｂおよび２７ａの各回転角およびコントローラ４１に記憶した基本姿勢情報を用いて各座標軸の回転角θｘ，θｙ，θｚを計算し、行列値ｇ１１，ｇ１２，ｇ１３，ｇ２１，ｇ２２，ｇ２３，ｇ３１，ｇ３２，ｇ３３およびベクトル値ａ，ｂ，ｃを特定する。この場合、ベクトル値ａ，ｂ，ｃは、アーム座標系Ａ１の原点から基準座標系Ｓの原点に向かうベクトルのアーム座標系Ａ１の座標軸の向きを基準座標系Ｓの座標軸の向きにした座標系におけるベクトル成分であり、基準座標系Ｓにおけるアーム座標系Ａ１の原点の座標値の各符号を逆極性にした座標値に相当する。そして、このように計算された座標変換関数ＦＡ２Ａ１と座標変換関数ＦＡ１Ｓを乗算（ＦＡ１Ｓ・ＦＡ２Ａ１）することにより座標変換関数ＦＡ２Ｓが計算される。
【００５０】
次に、３次元画像処理装置４２は、ステップＳ１１８にて、前記ステップＳ１１６にて計算された座標変換関数ＦＡ２Ｓを用いて、前記ステップＳ１１４にてカメラ座標系Ｃ２における座標値に座標変換された定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)を基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)に座標変換する。この座標変換は、前述した式１０に座標変換関数ＦＡ２Ｓを適用した演算の実行によって行われる。この場合、定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)はカメラ座標系Ｃ２における座標値であり、座標変換関数ＦＡ２Ｓはアーム座標系Ａ２における座標値を基準座標系Ｓにおける座標値に座標変換する座標変換関数である。これらのカメラ座標系Ｃ２とアーム座標系Ａ２とは、両座標系における各Ｚ軸の向きが同一、換言すれば両座標系におけるＸ−Ｙ座標平面が互いに平行な関係にあるが、両座標系の各原点の位置が異なるとともに、Ｘ−Ｙ座標平面内においてカメラ座標系Ｃ２の座標軸はアーム座標系Ａ２の座標軸に対してＺ軸回りに傾いている。
【００５１】
したがって、基準座標系Ｓに座標変換された定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)は、カメラ座標系Ｃ２の定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)をアーム座標系Ａ２の定点座標値(ｃｘＡ２,ｃｙＡ２,ｃｚＡ２)に座標変換した後、座標変換関数ＦＡ２Ｓによって基準座標系Ｓに座標変換された定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)に比べて、カメラ座標系Ｃ２とアーム座標系Ａ２との原点位置の差に応じた位置にずれて座標変換される。さらに、これに加えて、定点座標値(ｃｘＳ,ｃｙＳ)については、アーム座標系Ａ２に対するカメラ座標系Ｃ２の傾き角に応じた角度でずれた位置に座標変換される。このステップＳ１１８にて計算された定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)は、ステップＳ１２０にて３次元画像処理装置４２内に記憶される。
【００５２】
次に、３次元画像処理装置４２は、ステップＳ１２２にて、基準物体５０をアーム座標系Ａ１におけるＺ軸の軸線回りにおいて互いに異なる２つの位置で測定したか否かを判定する。３次元画像処理装置４２は、アーム座標系Ａ１のＺ軸回り、換言すれば第４アーム２６の軸線回りにおいて２つの異なる位置から基準物体５０をそれぞれ測定するまで、このステップＳ１２２の判定処理において「Ｎｏ」と判定し続けてステップＳ１２４を介してステップＳ１０２に戻る。一方、基準物体５０を前記２つの異なる位置からそれぞれ測定した場合には、３次元画像処理装置４２はステップＳ１２２の判定処理において「Ｙｅｓ」と判定してステップＳ１２６に進む。
【００５３】
ステップＳ１２４において３次元画像処理装置４２は、図２（Ｂ）に示すように、アーム支持機構２０におけるサーボモータ２７ａの回転駆動を制御して、３次元形状測定装置３０を第４アーム２６の軸線回りに１８０°回転させて位置決めする。そして、前記したステップＳ１０２以降の各処理によって基準物体５０を測定し基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)を記憶する。これにより、アーム支持機構２０の先端部の１つの位置に対してアーム座標系Ａ２の座標軸のＺ軸回りにおける互いに異なる２つの位置、換言すれば、同Ｚ軸回りの回転中心を中点とする直線上の２点から基準物体５０を測定し、各位置ごとに基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)および座標変換関数ＦＣ１Ｃ２が記憶される。なお、基準物体５０を測定するＺ軸回りにおける位置の数は、互いに異なる２つ以上の位置であれば限定されない。また、このＺ軸回りにおける互いに異なる２つの位置が、本発明に係る第１測定位置に相当する。
【００５４】
次に、３次元画像処理装置４２は、ステップＳ１２６にて、基準物体５０を互いに異なる２つの位置で測定したか否かを判定する。この場合、互いに異なる２つの位置とは、アーム座標系Ａ１のＺ軸の向きを維持した状態におけるアーム支持機構２０の可動範囲内の互いに異なる任意の位置である。したがって、３次元画像処理装置４２は、互いに異なる２つの位置から基準物体５０をそれぞれ測定するまで、このステップＳ１２６の判定処理において「Ｎｏ」と判定し続けてステップＳ１２８を介してステップＳ１０２に戻る。一方、互いに異なる２つの位置から基準物体５０をそれぞれ測定した場合には、３次元画像処理装置４２はステップＳ１２６の判定処理において「Ｙｅｓ」と判定してステップＳ１３０に進む。
【００５５】
ステップＳ１２８において３次元画像処理装置４２は、作業者により入力される新たな測定位置にアーム支持機構２０の先端部（３次元形状測定装置３０）を位置決めさせる。この場合、新たな測定位置は、以下の計算処理を簡単にするため、基準座標系Ｓにおけるアーム座標系Ａ１の原点のＺ座標値を固定したＸ−Ｙ座標平面内における任意の位置とする。そして、３次元画像処理装置４２は、ステップＳ１２８にて位置決めされた測定位置にて前記ステップＳ１０２以降の各処理によって基準物体５０を前記Ｚ軸回りにおける互いに異なる２つの位置で測定し、各位置ごとに基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)および座標変換関数ＦＣ１Ｃ２をそれぞれ計算し記憶する。これにより、アーム支持機構２０の先端部の２つの位置に対してそれぞれアーム座標系Ａ２の座標軸のＺ軸回りの２つ位置から基準物体５０を測定し、各位置ごとにそれぞれ２つの基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)および座標変換関数ＦＣ１Ｃ２が記憶される。すなわち、各４つの定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)および座標変換関数ＦＣ１Ｃ２が記憶される。なお、この場合もアーム支持機構２０の先端部の２つ以上の異なる位置から基準物体５０を測定してもよく、測定する位置の数は限定されない。
【００５６】
次に、３次元画像処理装置４２は、ステップＳ１３０にて、前記ステップＳ１１２にて記憶した４つの座標変換関数ＦＣ１Ｃ２の平均値を計算して新たな座標変換関数ＦＣ１Ｃ２として記憶する。次に、３次元画像処理装置４２は、ステップＳ１３２にて、カメラ座標系Ｃ２における座標値をカメラ座標系Ｃ３における座標値に座標変換する座標変換関数ＦＣ２Ｃ３を計算する。ここで、カメラ座標系Ｃ３は、カメラ座標系Ｃ２のＸ軸およびＹ軸の各向きをアーム座標系Ａ２のＸ軸およびＹ軸の各向きにそれぞれ一致させるとともに、基準座標系Ｓにおける同カメラ座標系Ｃ２の原点のＸ座標値およびＹ座標値をアーム座標系Ａ２の原点のＸ座標値およびＹ座標値に一致させた座標系である。すなわち、基準座標系Ｓを基準とした場合、カメラ座標系Ｃ３はアーム座標系Ａ２に対して原点のＺ座標値のみが異なる座標系であり、Ｚ座標値を無視すれば両座標系は同一の座標系である。したがって、座標変換関数ＦＣ２Ｃ３は、カメラ座標系Ｃ２における３つの座標値のうち、Ｘ座標値およびＹ座標値をアーム座標系Ａ２における座標値に座標変換する座標変換関数である。この座標変換関数ＦＣ２Ｃ３は、前記ステップＳ１２０にて記憶した４つの定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)を用いて計算される。
【００５７】
Ｘ―Ｙ座標平面（２次元平面）においてカメラ座標系Ｃ２の座標値をアーム座標系Ａ２の座標値に座標変換するためには、図９に示すように、カメラ座標系Ｃ２のＸ，Ｙ座標軸に対するアーム座標系Ａ２のＸ，Ｙ座標軸の角度θＣＡと、カメラ座標系Ｃ２の原点とアーム座標系Ａ２の原点とのカメラ座標系Ｃ２またはアーム座標系Ａ２（本実施形態においてはアーム座標系Ａ２）におけるＸ座標軸およびＹ座標軸上の距離が必要である。これらのうち、カメラ座標系Ｃ２の原点とアーム座標系Ａ２の原点との各座標軸上の距離は、カメラ座標系Ｃ２の原点とアーム座標系Ａ２の原点とを結んだ直線Ｌのアーム座標系Ａ２の座標軸に対する角度θＬＡおよび直線Ｌの長さ（すなわち、カメラ座標系Ｃ２の原点とアーム座標系Ａ２の原点との距離ｒ）によって計算することができる。すなわち、座標変換関数ＦＣ２Ｃ３を計算するには前記角度θＣＡ、直線Ｌの長さｒおよび前記角度θＬＡを計算すればよい。
【００５８】
まず、角度θＣＡおよび直線Ｌの長さの計算について説明する。ある座標点のアーム座標系Ａ２におけるＸ，Ｙ座標値（ｘＡ２，ｙＡ２）と同座標点の基準座標系ＳにおけるＸ，Ｙ座標値（ｘＳ，ｙＳ）との間には下記式１２に示す関係が成立する。この場合、下記式１２におけるθＳＡは、基準座標系Ｓの座標軸に対するアーム座標系Ａ２の座標軸の角度を表しており、（ａ，ｂ）は基準座標系Ｓの原点からアーム座標系Ａ２の原点に向かうベクトルの基準座標系ＳにおけるＸ座標成分およびＹ座標成分である。
【数１２】
0004443523.tif 000013
【００５９】
また、カメラ座標系Ｃ２における前記座標点のＸ，Ｙ座標値（ｘＣ２，ｙＣ２）とアーム座標系Ａ２おける同座標点のＸ，Ｙ座標値（ｘＡ２，ｙＡ２）との間には下記式１３に示す関係が成立する。
【数１３】
0004443523.tif 000014
【００６０】
そして、アーム座標系Ａ２のＸ，Ｙ座標値（ｘＡ２，ｙＡ２）を基準座標系ＳのＸ，Ｙ座標値（ｘＳ，ｙＳ）に座標変換するための式は、前記式１２を変形すれば下記式１４に示すようになる。
【数１４】
0004443523.tif 000015
【００６１】
前記ステップＳ１１８にて、カメラ座標系Ｃ２における定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)をアーム座標系Ａ２における座標値に座標変換することなく、基準座標系Ｓにおける座標値に座標変換した処理は、前記式１４中におけるアーム座標系Ａ２のＸ，Ｙ座標値（ｘＡ２，ｙＡ２）に前記式１３の右辺であるカメラ座標系Ｃ２のＸ，Ｙ座標値（ｘＣ２，ｙＣ２）をアーム座標系Ａ２の座標値である（ｘＡ２，ｙＡ２）で表した式を代入することを意味する。この前記式１４に前記式１３を代入し（ｘＡ２，ｙＡ２）を前記式１２を用いて基準座標系Ｓの座標値である（ｘＳ，ｙＳ）に変換すると下記式１５に示すようになる。
【数１５】
0004443523.tif 000016
【００６２】
前記式１５中における角度θＳＡは、前記ステップＳ１２４による３次元形状測定装置３０の回転変位により変化するため、同式１５における第１項は全体として変数である。また、式１５における第２項、第３項および第４項はいずれも定数である。したがって、前記式１５は、２次元平面における円の一般式を円周上の各座標値で表した（ｒ・ＣＯＳθ＋ａ，ｒ・ＣＯＳθ＋ｂ）と見做すことができる。すなわち、カメラ座標系Ｃ２における座標値をアーム座標系Ａ２の座標値に座標変換することなく、基準座標系Ｓに座標変換した場合、そのＸ，Ｙ座標値（ｘ’ｓ，ｙ’ｓ）は、下記式１６に示すＸ，Ｙ座標値（ｃｘＳ，ｃｙＳ）（前記式１５における第２項〜第４項）を中心とする円の円周上の一点を表しており、この円の半径は直線Ｌの長さ（すなわち、カメラ座標系Ｃ２の原点とアーム座標系Ａ２の原点との距離ｒ）に等しい。
【数１６】
0004443523.tif 000017
【００６３】
したがって、円周上の点の座標値を少なくとも２点計算し、計算した円周上の点の座標値から円の半径を計算すれば直線Ｌの長さを計算することができる。また、前記式１６において未知数は、ＸＳ、ＹＳおよびθＣＡであるので、２つの円の円周上の点の座標値をそれぞれ少なくとも２点計算し、計算した円周上の点の座標値から中心座標を２つ計算し、この円の中心座標を前記式１６のｃＸＳ，ｃＹＳに代入すれば未知数が３つで４つの式がある連立方程式が成立するため、この連立方程式を解くことで角度θＣＡを計算することができる。
【００６４】
前記ステップＳ１２２およびステップＳ１２４にてアーム支持機構２０の先端部の１つの位置でアーム座標系Ａ２の座標軸のＺ軸回りに１８０°の異なる位置で基準物体５０を測定して各測定位置ごとに定点座標値(ｃｘ１Ｓ,ｃｙ１Ｓ,ｃｚ１Ｓ)，(ｃｘ２Ｓ,ｃｙ２Ｓ,ｃｚ２Ｓ)を計算したのは、円の半径を計算することで直線Ｌの長さを計算するためである。この場合、１８０°の異なる位置で円周上の点の座標値を計算しているため、これらの各定点座標値(ｃｘ１Ｓ,ｃｙ１Ｓ,ｃｚ１Ｓ)，(ｃｘ２Ｓ,ｃｙ２Ｓ,ｃｚ２Ｓ)を下記式１７の右辺に代入すれば、円の半径ｒ（すなわち、直線Ｌの長さ）を計算することができる。
【数１７】
0004443523.tif 000018
【００６５】
そして、前記ステップＳ１２６およびステップＳ１２８にて、アーム支持機構２０先端部の２つの位置においてそれぞれ２つの測定位置で基準物体５０を測定し、各測定位置ごとに定点座標値(ｃｘ１Ｓ,ｃｙ１Ｓ,ｃｚ１Ｓ)，(ｃｘ２Ｓ,ｃｙ２Ｓ,ｃｚ２Ｓ)を計算したのは、円の中心座標値を２つ計算し、前記式１６により角度θＣＡを計算するためである。この場合、１８０°の異なる位置で円周上の点の座標値を計算することによって、円の中心座標（ｃｘＳ，ｃｙＳ）は、下記式１８の右辺に定点座標値(ｃｘ１Ｓ,ｃｙ１Ｓ,ｃｚ１Ｓ)，(ｃｘ２Ｓ,ｃｙ２Ｓ,ｃｚ２Ｓ)を代入すれば計算することができる。
【数１８】
0004443523.tif 000019
【００６６】
そして、前記式１８にて計算した円の中心座標（ｃｘＳ，ｃｙＳ）２つを前記式１６のｃｘＳ，ｃｙＳにそれぞれ代入すれば、未知数がＸＳ，ＹＳ，θＣＡの３つで４つの式からなる連立方程式が成立するため、この連立方程式を解くことで角度θＣＡを計算することができる。なお、ＸＳ，ＹＳは、基準座標系における基準物体５０の定点座標（ＸＳ，ＹＳ）であるが、座標変換の計算には使用しないため計算する必要はない。
【００６７】
次に、角度θＬＡの計算について説明する。前記ステップＳ１２４におけるアーム支持機構２０の先端部（３次元形状測定装置３０）の回転角θＡが０°のときの角度θＳＡを角度θＳＡ０とすれば、前記式１５は下記式１９に示すように表される。
【数１９】
0004443523.tif 000020
【００６８】
前記式１９中、未知数はθＬＡおよびθＳＡ０であるので、前記ステップＳ１２４におけるアーム支持機構２０の先端部の回転角θＡを前記式１９に代入すれば、２つの未知数で２つの式からなる連立方程式が成立するため、この連立方程式を解くことにより同未知数θＬＡおよびθＳＡ０を計算することができる。なお、この場合、未知数θＬＡは、基準物体５０を測定する位置ごとに計算されるため、計４つの値が計算される。これら４つの値の平均値をθＬＡとする。これらにより、下記式２０に示すように、Ｘ−Ｙ座標平面においてカメラ座標系Ｃ２における座標値をカメラ座標系Ｃ３（原点のＺ座標値のみが異なるアーム座標系Ａ２）における座標値に座標変換する関係が導かれる。
【数２０】
0004443523.tif 000021
【００６９】
前記式２０中、行列値ＣＯＳθＣＡ，−ＳＩＮθＣＡ，ＳＩＮθＣＡ，ＣＯＳθＣＡおよびベクトル値ｒ・ＣＯＳθＬＡ，ｒ・ＳＩＮθＬＡが座標変換関数ＦＣ２Ｃ３である。そして、前記式２０に示される座標変換関数ＦＣ２Ｃ３に座標変換を行わないＺ座標値を加味すると下記式２１に示すようになる。
【数２１】
0004443523.tif 000022
【００７０】
次に、３次元画像処理装置４２は、ステップＳ１３４にて、カメラ座標系Ｃ１における座標値をカメラ座標系Ｃ３における座標値に座標変換する座標変換関数ＦＣ１Ｃ３を計算する。具体的には、前記ステップＳ１３０にて計算した座標変換関数ＦＣ１Ｃ２と、前記ステップＳ１３２にて計算した座標変換関数ＦＣ２Ｃ３とを乗算（ＦＣ２Ｃ３・ＦＣ１Ｃ２）して座標変換関数ＦＣ１Ｃ３を計算する。計算した座標変換関数ＦＣ１Ｃ３は、ステップＳ１３６にて、３次元画像処理装置内に記憶される。そして、ステップＳ１３８にて、座標変換関数ＦＣ１Ｃ３計算プログラムの実行を終了する。なお、この座標変換関数ＦＣ１Ｃ３が、本発明に係る第１の座標変換関数である。
【００７１】
次に、作業者は、図１０（Ａ）に示すように、入力装置４３を操作して基準物体５０の上方にアーム支持機構２０の先端部（３次元形状測定装置３０）を再度位置決めさせる。この場合、アーム座標系Ａ１のＸ−Ｚ座標平面が基準座標系ＳのＸ−Ｚ座標平面に対して平行となるようにアーム支持機構２０の先端部（３次元形状測定装置３０）を位置決めする。
【００７２】
次に、作業者は、入力装置４３を操作して、図１１に示す座標変換関数ＦＣ１Ａ１計算プログラムの実行を３次元画像処理装置４２に指示する。座標変換関数ＦＣ１Ａ１は、カメラ座標系Ｃ１によって表された３次元形状データ（座標値）を、アーム座標系Ａ１によって表された３次元形状データ（座標値）に座標変換する座標変換関数である。この指示に応答して３次元画像処理装置４２は、座標変換関数ＦＣ１Ａ１計算プログラムの実行をステップＳ３００にて開始して、ステップＳ３０２にて、３次元形状測定装置３０による基準物体５０の測定を行う。３次元形状測定装置３０は、前記ステップＳ１０２と同様に、コントローラ４１からの指示に応答して基準物体５０の測定を開始し基準物体５０の３次元形状を表す情報を３次元画像処理装置４２に出力する。３次元画像処理装置４２は、３次元形状測定装置３０から出力されたＸ−Ｙ−Ｚ座標に関する情報に基づいて、基準物体５０の３次元形状を表す立体形状データ群からなる３次元形状データを計算する。なお、この３次元形状データ中には、基準物体５０のほかに同基準物体５０の周辺に存在する他の物体（例えば、基台１０）の表面形状を表す３次元形状データも含まれている。
【００７３】
次に、３次元画像処理装置４２は、ステップＳ３０４にて、前記ステップＳ３０２にて計算された３次元形状データの中から基準物体５０の３次元形状を表す３次元形状データを抽出する。具体的には、前記ステップＳ１０４と同様に、図４に示す基準物体抽出サブプログラムを実行することにより行う。次に、３次元画像処理装置４２は、ステップＳ３０６にて、前記ステップＳ１０６と同様にして、前記基準物体抽出サブプログラムの実行により抽出した基準物体データ（基準物体５０の３次元形状を表す３次元形状データ）を前記式１に代入して最小２乗法により基準物体５０の中心座標(ｃｘＣ１,ｃｙＣ１,ｃｚＣ１)を定点座標として計算する。
【００７４】
次に、３次元画像処理装置４２は、ステップＳ３０８にて、前記座標変換関数ＦＣ１Ｃ３計算プログラムの実行により計算された座標変換関数ＦＣ１Ｃ３を用いて、前記ステップＳ３０４にて計算された定点座標値(ｃｘＣ１,ｃｙＣ１,ｃｚＣ１)をカメラ座標系Ｃ３における定点座標値(ｃｘＣ３,ｃｙＣ３,ｃｚＣ３)に座標変換する。次に、３次元画像処理装置４２は、ステップＳ３１０にて、前記ステップＳ１１６と同様にして、アーム座標系Ａ２における座標値を基準座標系Ｓにおける座標値に座標変換する座標変換関数ＦＡ２Ｓを計算する。すなわち、座標変換関数ＦＡ２Ａ１および座標変換関数ＦＡ１Ｓにより座標変換関数ＦＡ２Ｓを計算する。
【００７５】
そして、３次元画像処理装置４２は、ステップＳ３１２にて、前記ステップＳ１１８と同様にして、前記ステップＳ３１０にて計算された座標変換関数ＦＡ２Ｓを用いて、前記ステップＳ３０８にてカメラ座標系Ｃ３における座標値に座標変換された定点座標値(ｃｘＣ３,ｃｙＣ３,ｃｚＣ３)を基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)に座標変換する。この場合、定点座標値(ｃｘＣ３,ｃｙＣ３,ｃｚＣ３)はカメラ座標系Ｃ３における座標値であり、座標変換関数ＦＡ２Ｓはアーム座標系Ａ２における座標値を基準座標系Ｓにおける座標値に座標変換する座標変換関数である。ここで、カメラ座標系Ｃ３とアーム座標系Ａ２とは、前記したように、原点のアーム座標系Ａ２におけるＺ座標値のみが異なる関係であり、Ｚ座標値を無視すれば両座標系は同一の座標系である。そして、アーム座標系Ａ２のＸ−Ｚ座標平面と基準座標系ＳのＸ−Ｚ座標平面とを平行にしているため、カメラ座標系Ｃ３によって表された定点座標値(ｃｘＣ３,ｃｙＣ３,ｃｚＣ３)のうちＸ，Ｚ座標値（ｃｘＣ３，ｃｚＣ３）のみが、カメラ座標系Ｃ３の原点のＺ座標値とアーム座標系Ａ２の原点のＺ座標値との差に応じた位置にずれて座標変換される。そして、座標変換された定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)は、ステップＳ３１４にて、３次元画像処理装置４２内に記憶される。
【００７６】
次に、３次元画像処理装置４２は、ステップＳ３１６にて、基準物体５０をアーム座標系Ａ１におけるＹ軸方向の軸線回りにおいて互いに異なる３つの位置で測定したか否かを判定する。３次元画像処理装置４２は、アーム座標系Ａ１のＹ軸方向の軸線回り、具体的には第３アーム２５と第４アーム２６とを連結する連結部２５ｃ，２６ａの軸線回りにおいて３つの異なる位置から基準物体５０をそれぞれ測定するまで、このステップＳ３１６の判定処理において「Ｎｏ」と判定し続けてステップＳ３１８を介してステップＳ３０２に戻る。一方、基準物体５０を前記３つの異なる位置からそれぞれ測定した場合には、３次元画像処理装置４２はステップＳ３１６の判定処理において「Ｙｅｓ」と判定してステップＳ３２０に進む。
【００７７】
ステップＳ３１８において３次元画像処理装置４２は、図１０（Ｂ）において破線で示すように、アーム支持機構２０におけるサーボモータ２６ｂの回転駆動を制御して、３次元形状測定装置３０を連結部２５ｃ，２６ａの軸線回りに所定の角度（例えば±１０°）ずつ回転させてそれぞれ位置決めする。そして、前記したステップＳ３０２以降の各処理を各測定位置ごとに実行して基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)をそれぞれ記憶する。これにより、１つの測定位置に対して前記Ｙ軸回りにおける互いに異なる３つの位置から基準物体５０を測定し、各位置ごとに基準座標系Ｓにおける定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)が記憶される。なお、基準物体５０をＹ軸回りに測定する位置の数は、互いに異なる３つ以上の位置であれば限定されない。また、このＹ軸回りにおける互いに異なる３つの位置が、本発明に係る第２測定位置に相当する。
【００７８】
次に、３次元画像処理装置４２は、ステップＳ３２０にて、カメラ座標系Ｃ３における座標値をアーム座標系Ａ２における座標値に座標変換する座標変換関数ＦＣ３Ａ２を計算する。ここで、カメラ座標系Ｃ３とアーム座標系Ａ２とは、前記したように原点のアーム座標系Ａ２におけるＺ座標値のみが異なる関係であり、座標変換関数ＦＣ３Ａ２の計算は原点のアーム座標系Ａ２におけるＺ座標値の差を計算するものである。この座標変換関数ＦＣ３Ａ２は、前記ステップＳ３１４にて記憶された３つの定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)を用いて計算される。すなわち、前記ステップＳ１３２にて座標変換関数Ｃ２Ｃ３を計算した場合と同様に、カメラ座標系Ｃ３における原点のＺ座標値とアーム座標系Ａ２における原点のＺ座標値との間にずれがある場合、前記ステップＳ３１４にて記憶された３つの定点座標値(ｃｘＳ,ｃｙＳ,ｃｚＳ)は、Ｘ−Ｚ座標平面において円状に分布する。
【００７９】
具体的に説明すると、カメラ座標系Ｃ１とアーム座標系Ａ２との位置関係を維持した状態で、Ｘ−Ｚ座標平面に直交する軸線回り（Ｙ軸方向回り）に両座標系を所定の角度ずつ回転させ、基準座標系Ｓ内に固定的に設定した定点座標を前記所定の角度ごとにカメラ座標系Ｃ１で測定してカメラ座標系Ｃ３の座標値に座標変換するとともに、同測定した定点の座標値を座標変換関数ＦＡ２Ｓを用いて基準座標系Ｓに座標変換する。この場合、基準座標系Ｓに座標変換された各座標値（ｘ’Ｓ，Ｚ’Ｓ）は、Ｘ−Ｚ座標平面において円状に分布し、下記式２２によって表される円の円周上に存在する点となる。下記式２２は、導出ステップは省略するが前記式１５に対応する円を表す式であり、同式２２中θＫは、基準座標系ＳにおけるＸ−Ｚ座標平面に直交する軸（Ｙ軸方向の軸）の回転角、すなわち、連結部２５ｃ，２６ａの回転角である。
【数２２】
0004443523.tif 000023
【００８０】
したがって、前記ステップＳ３１４にて記憶された３つの定点座標値(ｃｘ１Ｓ,ｃｙ１Ｓ,ｃｚ１Ｓ),(ｃｘ２Ｓ,ｃｙ２Ｓ,ｃｚ３Ｓ)，(ｃｘ３Ｓ,ｃｙ３Ｓ,ｃｚ３Ｓ)を下記式２３に示す円を表す式にそれぞれ代入して未知数ｒを計算すれば、同計算した円の半径ｒが前記両座標系における原点のアーム座標系Ａ２におけるＺ座標値の差Δｚとして計算することができる。
【数２３】
0004443523.tif 000024
【００８１】
これにより、下記式２４に示すように、カメラ座標系Ｃ３における座標値をアーム座標系Ａ２における座標値に座標変換する関係が導かれる。
【数２４】
0004443523.tif 000025
【００８２】
前記式２４中、行列値Δｚが座標変換関数ＦＣ３Ａ２である。この座標変換関数ＦＣ３Ａ２が、本発明に係る第２の座標変換関数である。なお、本実施形態においては、カメラ座標系Ｃ１とアーム座標系Ａ２との位置関係を維持した状態で、Ｘ−Ｚ座標平面に直交する軸線回り（Ｙ軸方向回り）に両座標系を回転させた場合を想定したが、Ｙ−Ｚ座標平面に直交する軸線回り（Ｘ軸方向回り）に両座標系を回転させた場合であっても同様の結果となる。また、本実施形態においては、連結部２５ｃ，２６ａの軸線回りに３次元形状測定装置３０を回転するようにしたが、Ｘ−Ｚ座標平面に直交する軸線回りであれば、他の軸線回りに回転させるようにしてもよい。
【００８３】
次に、３次元画像処理装置４２は、ステップＳ３２２にて、カメラ座標系Ｃ１における座標値をアーム座標系Ａ１における座標値に座標変換する座標変換関数ＦＣ１Ａ１を計算する。具体的には、前記座標変換関数ＦＣ１Ｃ３プログラムの実行によって計算された座標変換関数ＦＣ１Ｃ３に、前記ステップＳ３２０にて計算された座標変換関数ＦＣ３Ａ２を乗算し、前記式９で表される座標変換関数ＦＡ２Ａ１を乗算（ＦＡ２Ａ１・ＦＣ３Ａ２・ＦＣ１Ｃ３）して計算される。計算された座標変換関数ＦＣ１Ａ１は、ステップＳ３２４にて、３次元画像処理装置４２内に記憶される。そして、ステップＳ３２４にて、座標変換関数ＦＣ１Ａ１計算プログラムの実行を終了する。
【００８４】
この座標変換関数ＦＣ１Ａ１計算プログラムの実行後、作業者は、基台１０上から基準物体５０を取り除き同基台１０上における適当な位置に測定対象物ＷＫを配置する。そして、入力装置４３を操作して測定対象物ＷＫの３次元形状の表示を指示する。これに応答して、３次元画像処理装置４２は、図１２に示す３次元形状表示プログラムの実行をステップＳ４００にて開始して、ステップＳ４０２にて測定対象物ＷＫを測定するための３次元形状測定装置３０の測定位置を表す位置情報の入力を待つ。この場合、入力される位置情報は、基準座標系Ｓにおけるアーム座標系Ａ１の原点（Ｘ，Ｙ，Ｚ）および基準座標系Ｓにおけるアーム座標系Ａ１の座標軸の方向である。したがって、作業者は、測定対象物ＷＫを測定するための位置情報を入力装置４３を介して３次元画像処理装置４２に入力する。この入力に応答して３次元画像処理装置４２は、ステップＳ４０４にて、前記ステップＳ４０２にて入力された測定位置に３次元形状測定装置３０を位置決めする。
【００８５】
次に、３次元画像処理装置４２は、ステップＳ４０６にて、３次元形状測定装置３０による測定対象物ＷＫの測定を行う。３次元形状測定装置３０は、前記ステップＳ１０２およびステップＳ３０２と同様にコントローラ４１からの指示に応答して測定対象物ＷＫの測定を開始して、同測定対象物ＷＫの３次元形状を表す情報を３次元画像処理装置４２に出力する。すなわち、測定対象物ＷＫの表面を微小エリアずつに分割した各分割エリア位置を表すＸ−Ｙ−Ｚ座標に関する情報（具体的には、傾きθx，θyおよび距離Ｌz）を３次元画像処理装置４２に出力する。そして、３次元画像処理装置４２は、同ステップＳ４０６にて、３次元形状測定装置３０から出力されたＸ−Ｙ−Ｚ座標に関する情報に基づいて、測定対象物ＷＫの３次元形状を表す立体形状データ群からなる３次元形状データを計算する。この場合、３次元形状データは、３次元形状測定装置３０に関する座標系、すなわちカメラ座標系Ｃ１による座標値によって表されている。
【００８６】
次に、３次元画像処理装置４２は、ステップＳ４０８にて、アーム座標系Ａ１によって表された座標値を基準座標系Ｓによって表された座標値に座標変換する座標変換関数ＦＡ１Ｓを計算する。この座標変換関数ＦＡ１Ｓの計算は、前記ステップＳ１１６および前記ステップＳ３１０に示した座標変換関数ＦＡ２Ｓの計算処理における座標変換関数ＦＡ１Ｓの計算処理と同様な計算処理にて行われる。次に、３次元画像処理装置４２は、ステップＳ４１０にて、前記カメラ座標系Ｃ１による座標値によって表された３次元形状データを基準座標系Ｓによる座標値によって表された３次元形状データに座標変換する。具体的には、前記座標変換関数ＦＣ１Ａ１計算プログラムの実行によって計算された座標変換関数ＦＣ１Ａ１を用いて、カメラ座標系Ｃ１による座標値によって表された３次元形状データをアーム座標系Ａ１による座標値によって表された３次元形状データに座標変換した後、同３次元形状データを前記ステップＳ４０８にて計算した座標変換関数ＦＡ１Ｓを用いて基準座標系Ｓによる座標値によって表された３次元形状データに座標変換する。この場合、座標変換された基準座標系Ｓによる座標値によって表された３次元形状データは３次元画像処理装置４２内に記憶される。
【００８７】
次に、３次元画像処理装置４２は、ステップＳ４１２にて、測定対象物ＷＫに対して互いに異なる３つの測定位置から測定したか否かを判定する。これは、測定対象物ＷＫを任意の方向から見て表示可能な３次元形状データを生成するためには、互いに異なる少なくとも３つの位置から測定対象物ＷＫを測定する必要があるためである。したがって、この判定処理においては、測定対象物ＷＫを互いに異なる３つの測定位置から測定するまで「Ｎｏ」と判定し続けてステップＳ４０２に戻り、再び測定対象物ＷＫの測定処理を実行する。一方、同判定処理において、測定対象物ＷＫを互いに異なる３つの測定位置から測定した場合には「Ｙｅｓ」と判定されてステップＳ４１４に進む。なお、測定対象物ＷＫの測定は、前記した３つの位置に限られず４つ以上の位置から測定を行うようにしてもよく、これによれば、より高精度の３次元形状の測定を行うことができる。
【００８８】
次に、３次元画像処理装置４２は、ステップＳ４１４にて、３つの各測定位置ごとの３次元形状データを一組の３次元形状データ群に合成する。この合成においては、すべての測定位置における３次元形状データが同一座標系である基準座標系Ｓにおける座標値で表されるので、各測定位置によって測定されない測定対象物ＷＫの部分（各測定位置における３次元形状測定装置３０に対して裏側に位置する測定対象物ＷＫの外表面）を表す３次元形状データが互いに補われ、一組のデータ群とされる。
【００８９】
次に、３次元画像処理装置４２は、ステップＳ４１６にて、前記合成された３次元形状データ群を用いて測定対象物ＷＫの３次元形状を表示装置４４に表示させる。そして、３次元画像処理装置４２は、ステップＳ４１８にて、３次元形状表示プログラムの実行を終了する。この測定対象物ＷＫの３次元形状の表示においては、作業者は入力装置４３を操作することにより同測定対象物ＷＫの表示方向を指示することができ、コントローラ４１および３次元画像処理装置４２は表示装置４４にて表示される測定対象物ＷＫの表示方向を変更する。これにより、測定対象物ＷＫを任意の方向から見た立体形状を表示させることができる。
【００９０】
また、新たな測定対象物ＷＫを基台１０上に置いて、前述のように測定対象物ＷＫの表示を指示すれば、前記３次元形状表示プログラムの実行により、前記と同様にして３次元形状の測定が行われデータ処理が行われて新たな測定対象物ＷＫを任意の方向から見た３次元形状を表示装置４４に表示させることができる。したがって、座標変換関数ＦＣ１Ａ１を一度計算しておけば、測定対象物ＷＫを次々に換えて表示装置４４にて３次元形状を表示させることが可能である。
【００９１】
上記作動説明からも理解できるように、上記実施形態によれば、作業者は、３次元形状測定装置３０の測定対象空間内に基準物体５０を配置し、アーム座標系Ａ１におけるＸ−Ｙ座標平面を基準座標系ＳにおけるＸ−Ｙ座標平面に平行にした状態で、これらの両Ｘ−Ｙ座標平面に直交する２つの軸線回り（各Ｚ軸回り）におけるそれぞれ２つの測定位置から３次元形状測定装置３０により基準物体５０をそれぞれ測定している。そして、アーム座標系Ａ１におけるＸ−Ｚ座標平面を基準座標系ＳにおけるＸ−Ｚ座標平面に平行にした状態で、同両Ｘ−Ｚ座標平面に直交する１つの軸線回り（Ｙ軸と平行な連結部２５ｃ，２６ａの軸線）における３つの測定位置から３次元形状測定装置３０により基準物体５０をそれぞれ測定している。この場合、３次元画像処理装置４２は、Ｘ−Ｙ座標平面およびＸ−Ｚ座標平面においてそれぞれ表された各定点によって定義される各円を用いて座標変換関数ＦＣ１Ａ１を計算する。すなわち、作業者は、３次元形状測定装置３０のみを用いて基準物体５０を測定して座標変換関数ＦＣ１Ａ１を取得することができる。したがって、座標変換関数ＦＣ１Ａ１を計算するに際して従来例にあるような触針は不要となる。これにより、アーム支持機構２０の先端部に触針および３次元形状測定装置３０を相互に付け替える作業が不要となるとともに、触針を維持管理する費用および工数も不要となる。この結果、座標変換関数ＦＣ１Ａ１を作業性および経済性よく取得することができる。
【００９２】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００９３】
上記実施形態においては、座標変換関数ＦＣ１Ｃ３計算プログラムにおけるステップＳ１３０にて、各測定位置ごとに計算される座標変換関数ＦＣ１Ｃ２の平均値を座標変換関数ＦＣ１Ｃ２としたが、各測定位置ごとに計算される座標変換関数ＦＣ１Ｃ２は略同一の値となるため、同座標変換関数ＦＣ１Ｃ２の計算を１回だけ行うようにしてもよい。これによっても、上記実施形態と同様の効果が期待できる。
【００９４】
また、上記実施形態においては、座標変換関数ＦＣ１Ｃ３計算プログラムにおけるステップＳ１２４にて、３次元形状測定装置３０を第４アーム２６の軸線回りに１８０°回転させて２つの測定位置により基準物体５０を測定するようにしたが、座標変換関数ＦＣ２Ｃ３を計算する際、Ｘ−Ｙ座標平面において円の半径および中心座標が計算できれば、これに限定されるものではない。すなわち、第４アーム２６の軸線回りにおける３つ以上の位置から基準物体５０を測定し、円周上の３つ以上の点を前記式２３に代入して最小２乗法により円の半径および中心座標を計算してもよい。これによっても、上記実施形態と同様の効果が期待できる。また、２つの測定位置の第４アーム２６の軸線回りの回転角度を１８０°に限定せず、任意の角度で測定してもよい。この場合、回転角度θが既知であれば、２つの測定位置における円周上の座標（Ｘ１，Ｙ１），（Ｘ２，Ｙ２）から下記式２５５および下記式２６により円の半径ｒおよび中心座標（ｃＸ，ｃＹ）を計算することができる。これによっても、上記実施形態と同様の効果が期待できる。
【数２５】
0004443523.tif 000026
【数２６】
0004443523.tif 000027
【００９５】
また、上記実施形態においては、座標変換関数ＦＣ１Ｃ３計算プログラムにおけるステップＳ１１０にて座標変換関数ＦＣ１Ｃ２を計算するようにした。これは、カメラ座標系Ｃ１によって表された定点座標値(ｃｘＣ１,ｃｙＣ１,ｃｚＣ１)をアーム座標系Ａ１におけるＸ−Ｙ座標平面と平行な座標平面を有する座標系、すなわちカメラ座標系Ｃ２によって表された定点座標値(ｃｘＣ２,ｃｙＣ２,ｃｚＣ２)に座標変換するためである。したがって、カメラ座標系Ｃ１におけるＸ−Ｙ座標平面をアーム座標系におけるＸ−Ｙ座標平面に対して平行になるように３次元形状測定装置３０をアーム支持機構２０の先端部に固定、または位置決め可能に構成できれば、座標変換関数ＦＣ１Ｃ２は不要となる。すなわち、座標変換関数ＦＣ１Ｃ３計算プログラムにおけるステップＳ１１０〜ステップＳ１１４が不要となり、同座標変換関数ＦＣ１Ｃ３計算プログラムをより簡単に構成することができる。
【００９６】
また、上記実施形態においては、座標変換関数ＦＣ１Ｃ３計算プログラムにて座標変換関数ＦＣ１Ｃ３を計算する際、アーム座標系Ａ１におけるＸ−Ｙ座標平面を基準座標系ＳにおけるＸ−Ｙ座標平面に平行になるように３次元形状測定装置３０を位置決めした。すなわち、本発明に係る所定の３次元座標系を基準座標系Ｓとした。これは、基準座標系Ｓに対するアーム座標系Ａ１の位置および向きが既知であるとともに、基準座標系Ｓにおける１つの座標平面（Ｘ−Ｙ座標平面）が基台１０の上面と平行なため、前記所定の３次元座標系を基準座標系Ｓとすることにより座標変換関数ＦＣ１Ｃ２および座標変換関数ＦＡ２Ｓの計算を簡単するためである。したがって、これらの各座標変換関数ＦＣ１Ｃ２，ＦＡ２Ｓの計算処理の簡潔性を考慮しなければ、基準座標系Ｓ以外の座標系を前記所定の３次元座標系としてもよい。これによっても、上記実施形態と同様の効果が期待できる。ただし、この場合、座標系の数が増えるとともに、同座標系に３次元形状データを変換するための座標変換関数を予め定義する必要がある。
【００９７】
また、上記実施形態においては、アーム座標系Ａ１におけるＺ軸を他の座標系のＺ軸と平行にして座標変換関数ＦＣ１Ｃ３計算プログラムにて座標変換関数ＦＣ１Ｃ３を計算したが、アーム座標系Ａ１における３つの座標軸のうちの１つの座標軸を他の座標系の座標軸と平行にできれば、その座標軸はＸ軸またはＹ軸であってもよい。この場合、ステップＳ１２４にて３次元形状測定装置３０をＸ軸またはＹ軸回りに回転させる際、３次元形状測定装置３０の測定対象空間内に基準物体５０が位置するように注意する。また、座標変換関数ＦＣ１Ｃ３計算プログラムにより座標変換関数Ｃ１Ｃ３を計算する際には、Ｘ軸またはＹ軸を回転した場合の円周上の定点座標から座標変換関数ＦＣ１Ａ１の計算を行うようにする。これによっても、上記実施形態と同様の効果が期待できる。
【００９８】
また、上記実施形態においては、基準物体５０として球体を用いたが、３次元形状測定装置３０による測定によって生成される３次元形状データにより所定の位置を定点として定義できるものであれば、基準物体５０の大きさおよび形状等は特に限定されるものではない。例えば、楕円状の球体、角柱、角錐、円柱、円錐および多面体などの形状により形成された基準物体５０、またはこれらの形状を含む形状に形成された基準物体５０が考えられる。また、基準物体５０の表面に同表面と識別可能なマークを形成し同マークを抽出して定点を計算することもできる。
【００９９】
また、上記実施形態においては、基準物体抽出プログラムにて基準物体５０の形状および大きさ（直径）によって同基準物体を表す３次元形状データを抽出するようにした。しかし、これに代えて、基準物体５０の表面の反射率を他の物体（例えば、基台１０）の表面の反射率と異ならせてもよい。すなわち、各物体からの反射光の光量の違いを利用して基準物体を表す３次元形状データを抽出することもできる。これによっても、上記実施形態と同様の効果が期待できる。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施形態に係る３次元画像生成装置の全体を示す概略図である。
【図２】（Ａ），（Ｂ）は図１の３次元画像生成装置における３次元形状測定装置にて基準物体を測定する様子を示した斜視図である。
【図３】図１の３次元画像生成装置における３次元画像処理装置によって実行される座標変換関数ＦＣ１Ｃ３計算プログラムのフローチャートである。
【図４】図１の３次元画像生成装置における３次元画像処理装置によって実行される基準物体抽出プログラムのフローチャートである。
【図５】基準物体、単位ブロックおよび探索ブロック立体的に示す概念図である。
【図６】探索領域を２次元的に示す概念図である。
【図７】（Ａ），（Ｂ）は、探索ブロックと抽出された単位ブロックの関係を２次元的に示す概念図である。
【図８】（Ａ）〜（Ｄ）は、探索領域内における探索ブロックの移動を２次元的に示す概念図である。
【図９】座標変換関数ＦＣ２Ｃ３を計算する際における基準座標系Ｓ、アーム座標系Ａ２およびカメラ座標系Ｃ２のＸ−Ｙ座標平面上における相互の位置関係を示す説明図である。
【図１０】（Ａ），（Ｂ）は図１の３次元画像生成装置における３次元形状測定装置にて基準物体を測定する様子を示した斜視図である。
【図１１】図１の３次元画像生成装置における３次元画像処理装置によって実行される座標変換関数ＦＣ１Ａ１計算プログラムのフローチャートである。
【図１２】図１の３次元画像生成装置における３次元画像処理装置によって実行される３次元形状表示プログラムのフローチャートである。
【符号の説明】
【０１０１】
ＷＫ…測定対象物、１０…基台、２０…アーム支持機構、２１…固定ベース、２２…回転ベース、２３…第１アーム、２４…第２アーム、２５…第３アーム、２６…第４アーム、３０…３次元形状測定装置、４１…コントローラ、４２…３次元画像処理装置、４３…入力装置、４４…表示装置、５０…基準物体
【図１】
0004443523.tif 000028
【図２】
0004443523.tif 000029
【図３】
0004443523.tif 000030
【図４】
0004443523.tif 000031
【図５】
0004443523.tif 000032
【図６】
0004443523.tif 000033
【図７】
0004443523.tif 000034
【図８】
0004443523.tif 000035
【図９】
0004443523.tif 000036
【図１０】
0004443523.tif 000037
【図１１】
0004443523.tif 000038
【図１２】
0004443523.tif 000039