(57)【特許請求の範囲】
【請求項１】
測定対象物の長さを測定する長さ測定装置において、
測定対象物を支持する支持手段と、
測定対象物に向けて光を照射して同測定対象物からの反射光を用いて、同測定対象物における長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定する３次元形状測定装置と、
前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義する基準面定義手段と、
前記３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶する記憶手段と、
前記３次元形状測定装置によって測定された測定対象物の３次元表面形状を表す３次元形状データ群を生成する３次元形状データ群生成手段と、
前記生成された３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる端面を定義する端面定義手段と、
前記端面定義手段により定義された端面内の一点を含み、かつ前記基準面に平行な測定用平面を定義する測定用平面定義手段と、
前記測定用平面定義手段により定義された測定用平面と前記第１測定基準位置との距離を第１距離として計算して、前記記憶装置に記憶された基準距離から前記第１距離を減算することにより測定対象物の長さを計算する長さ計算手段とを備えたことを特徴とする長さ測定装置。
【請求項２】
請求項１に記載の長さ測定装置において、
前記第１測定基準位置は、前記３次元形状測定装置の座標系における座標原点であり、前記第２測定基準位置は、前記３次元形状測定装置により測定される測定対象物の端部とは反対側の端部を特定の位置に位置決めする位置である長さ測定装置。
【請求項３】
測定対象物の長さを測定する長さ測定装置において、
測定対象物を支持する支持手段と、
測定対象物に向けてそれぞれ光を照射して同測定対象物からの各反射光を用いて、同測定対象物における長さ測定の対象となる２つの端面をそれぞれ含む各端部をそれぞれ少なくとも含む測定対象物の表面の３次元形状をそれぞれ測定する２つの３次元形状測定装置と、
前記支持手段に支持される測定対象物における長さ測定の対象となる２つの端面間の軸線と直交する平面を基準面として定義する基準面定義手段と、
前記２つの３次元形状測定装置のうち、一方の３次元形状測定装置の座標系内における所定の第１測定基準位置と、他方の３次元形状測定装置の座標系内における所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶する記憶手段と、
前記２つの３次元形状測定装置によってそれぞれ測定された測定対象物の３次元表面形状を表す３次元形状データ群をそれぞれ生成する３次元形状データ群生成手段と、
前記それぞれ生成された各３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる２つの端面をそれぞれ定義する端面定義手段と、
前記端面定義手段により定義された各端面内の一点を含み、かつ前記基準面に平行な測定用平面をそれぞれ定義する測定用平面定義手段と、
前記一方の３次元形状測定装置に対応する測定用平面と前記第１測定基準位置との距離を第１距離として計算するとともに、前記他方の３次元形状測定装置に対応する測定用平面と前記第２測定基準位置との距離を第２距離として計算して、前記記憶装置に記憶された基準距離から前記第１距離および第２距離を減算することにより測定対象物の長さを計算する長さ計算手段とを備えたことを特徴とする長さ測定装置。
【請求項４】
請求項３に記載の長さ測定装置において、
前記第１測定基準位置は、前記一方の３次元形状測定装置の座標系における座標原点であり、前記第２測定基準位置は、前記他方の３次元形状測定装置の座標系における座標原点である長さ測定装置。
【請求項５】
請求項１ないし請求項４のうちのいずれか１つに記載の長さ測定装置において、
前記端面定義手段により定義された各端面において前記測定用平面に含まれる一点は、同端面における中心点、同端面における重心点、同端面に面する３次元形状測定装置に対して最も近い点および同端面に面する３次元形状測定装置に対して最も遠い点のうちのいずれか１つである長さ測定装置。
【請求項６】
請求項１ないし請求項４のうちのいずれか１つに記載の長さ測定装置において、さらに、
前記測定用平面定義手段は、
前記３次元形状データ群のうち測定対象物の端部における外周面の表面形状を表す３次元データを用いて、同測定対象物における中心軸を計算する中心軸計算手段と、
前記端面定義手段により定義された端面と中心軸計算手段により計算された中心軸との交点を前記測定対象物の端面における中心点として計算する端面中心計算手段とを備え、
前記端面中心計算手段にて計算された端面の中心点を含むとともに前記基準面に平行な平面を測定用平面として定義する長さ測定装置。
【請求項７】
請求項１ないし請求項６のうちのいずれか１つに記載の長さ測定装置において、さらに、
前記端面定義手段により定義された端面の前記基準面に対する角度が所定の範囲内であるとき、測定対象物の長さ測定が可能であると判定する長さ測定可否判定手段を有し、
前記長さ計算手段は、前記長さ測定可否判定手段により測定対象物の長さ測定が可能と判定されたとき、同測定対象物の長さを計算する長さ測定装置。
【請求項８】
測定対象物の長さを測定する長さ測定装置において、
測定対象物を支持する支持手段と、
測定対象物に向けて光を照射して同測定対象物からの反射光を用いて、同測定対象物における長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定する３次元形状測定装置と、
前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義する基準面定義手段と、
前記３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶する記憶手段と、
前記３次元形状測定装置によって測定された前記測定対象物の３次元表面形状を表す３次元形状データ群を生成する３次元形状データ群生成手段と、
前記生成された３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる端面を定義する端面定義手段と、
前記端面定義手段により定義された端面内の一点を含み、かつ前記基準面に平行な測定用平面を定義する測定用平面定義手段と、
前記３次元形状データ群のうち測定対象物における端部の表面形状を表す３次元データを用いて、同測定対象物における端部の曲がりの有無を判定する曲がり判定手段と、
前記曲がり判定手段により測定対象物における端部の曲がりが有りと判定されたとき、前記測定用平面定義手段にて定義された測定用平面を、前記測定対象物における端部が直線状である場合における測定用平面に補正する測定用平面補正手段と、
前記測定用平面定義手段により定義された測定用平面または前記測定用平面補正手段により補正した測定用平面と前記第１測定基準位置との距離を第１距離として計算して、前記記憶装置に記憶された基準距離から前記第１距離を減算することにより測定対象物の長さを計算する長さ計算手段とを備えたことを特徴とする長さ測定装置。
【請求項９】
請求項１ないし請求項８のうちのいずれか１つに記載の長さ測定装置において、さらに、
前記支持手段に支持された複数の測定対象物に対応して生成される３次元形状データ群を、同複数の測定対象物ごとに分類する３次元形状データ分類手段を有し、
前記端面定義手段は、前記複数の測定対象物ごとに長さ測定の対象となる端面を定義し、
前記測定用平面定義手段は、前記複数の測定対象物ごとに測定用平面を定義し、
前記長さ計算手段は、前記複数の測定対象物ごとに測定対象物の長さを計算する長さ測定装置。
【請求項１０】
測定対象物の長さを測定する長さ測定方法において、
測定対象物を支持する支持手段と、物体の表面の３次元形状を測定する３次元形状測定装置とを用意し、
前記３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶手段に記憶しておくとともに、前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義しておき、
前記３次元形状測定装置の測定対象空間内に前記支持手段に支持された測定対象物における長さ測定の対象となる端面を含む端部を少なくとも配置した状態で、前記３次元形状測定装置に前記支持手段に支持された測定対象物に向けて光を照射させて同測定対象物からの反射光を用いて前記長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定させ、同測定対象物の３次元表面形状を表す３次元形状データ群を生成する３次元形状データ群生成ステップと、
前記生成された３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる端面を定義する端面定義ステップと、
前記端面定義ステップにより定義された端面内の一点を含み、かつ前記基準面に平行な測定用平面を定義する測定用平面定義ステップと、
前記測定用平面定義ステップにより定義された測定用平面と前記第１測定基準位置との距離を第１距離として計算して、前記記憶装置に記憶された基準距離から前記第１距離を減算することにより測定対象物の長さを計算する長さ計算ステップとを含むことを特徴とする長さ測定方法。
【請求項１１】
請求項１０に記載の長さ測定方法において、
前記第１測定基準位置は、前記３次元形状測定装置の座標系における座標原点であり、前記第２測定基準位置は、前記３次元形状測定装置により測定される測定対象物の端部とは反対側の端部を特定の位置に位置決めする位置である長さ測定方法。
【請求項１２】
測定対象物の長さを測定する長さ測定方法において、
測定対象物を支持する支持手段と、物体の表面の３次元形状を測定する２つの３次元形状測定装置とを用意し、
前記２つの３次元形状測定装置のうち、一方の３次元形状測定装置の座標系内における所定の第１測定基準位置と、他方の３次元形状測定装置の座標系内における所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶手段に記憶しておくとともに、前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義しておき、
前記２つの３次元形状測定装置の各測定対象空間内にそれぞれ前記支持手段に支持された測定対象物における長さの測定の対象となる２つの端面をそれぞれ含む各端部を少なくとも配置した状態で、前記２つの３次元形状測定装置に前記支持手段に支持された測定対象物に向けてそれぞれ光を照射させて同測定対象物からの各反射光を用いて前記長さ測定の対象となる２つの端面をそれぞれ含む各端部を少なくとも含む測定対象物の表面の３次元形状をそれぞれ測定させ、同測定対象物の各３次元表面形状を表す３次元形状データ群をそれぞれ生成する３次元形状データ群生成ステップと、
前記それぞれ生成された各３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる２つの端面をそれぞれ定義する端面定義ステップと、
前記端面定義ステップによりそれぞれ定義された各端面内の一点を含み、かつ前記基準面に平行な測定用平面をそれぞれ定義する測定用平面定義ステップと、
前記一方の３次元形状測定装置に対応する測定用平面と前記第１測定基準位置との距離を第１距離として計算するとともに、前記他方の３次元形状測定装置に対応する測定用平面と前記第２測定基準位置との距離を第２距離として計算して、前記記憶装置に記憶された基準距離から前記第１距離および第２距離を減算することにより測定対象物の長さを計算する長さ計算ステップとを含むことを特徴とする長さ測定方法。
【請求項１３】
請求項１２に記載の長さ測定方法において、
前記第１測定基準位置は、前記一方の３次元形状測定装置の座標系における座標原点であり、前記第２測定基準位置は、前記他方の３次元形状測定装置の座標系における座標原点である長さ測定方法。
【請求項１４】
請求項１０ないし請求項１３のうちのいずれか１つに記載の長さ測定方法において、
前記端面定義ステップにより定義された各端面において前記測定用平面に含まれる一点は、同端面における中心点、同端面における重心点、同端面に面する３次元形状測定装置に対して最も近い点および同端面に面する３次元形状測定装置に対して最も遠い点のうちのいずれか１つである長さ測定方法。
【請求項１５】
請求項１０ないし請求項１３のうちのいずれか１つに記載の長さ測定方法において、さらに、
前記測定用平面定義ステップは、
前記３次元形状データ群のうち測定対象物の端部における外周面の表面形状を表す３次元データを用いて、同測定対象物における中心軸を計算する中心軸計算ステップと、
前記端面定義ステップにより定義された端面と中心軸計算ステップにより計算された中心軸との交点を前記測定対象物の端面における中心点として計算する端面中心計算ステップとを備え、
前記端面中心計算ステップにて計算された端面の中心点を含むとともに前記基準面に平行な平面を測定用平面として定義する長さ測定方法。
【請求項１６】
請求項１０ないし請求項１５のうちのいずれか１つに記載の長さ測定方法において、さらに、
前記端面定義ステップにより定義された端面の前記基準面に対する角度が所定の範囲内であるとき、測定対象物の長さ測定が可能であると判定する長さ測定可否判定ステップを有し、
前記長さ計算ステップは、前記長さ測定可否判定ステップにより測定対象物の長さ測定が可能と判定されたとき、同測定対象物の長さを計算する長さ測定方法。
【請求項１７】
測定対象物の長さを測定する長さ測定方法において、
測定対象物を支持する支持手段と、物体の表面の３次元形状を測定する３次元形状測定装置とを用意し、
前記３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶手段に記憶しておくとともに、前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義しておき、
前記３次元形状測定装置の測定対象空間内に前記支持手段に支持された測定対象物における長さ測定の対象となる端面を含む端部を少なくとも配置した状態で、前記３次元形状測定装置に前記支持手段に支持された測定対象物に向けて光を照射させて同測定対象物からの反射光を用いて前記長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定させ、同測定対象物の３次元表面形状を表す３次元形状データ群を生成する３次元形状データ群生成ステップと、
前記生成された３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる端面を定義する端面定義ステップと、
前記端面定義ステップにより定義された端面内の一点を含み、かつ前記基準面に平行な測定用平面を定義する測定用平面定義ステップと、
前記３次元形状データ群のうち測定対象物における端部の表面形状を表す３次元データを用いて、同測定対象物における端部の曲がりの有無を判定する曲がり判定ステップと、
前記曲がり判定ステップにより測定対象物における端部の曲がりが有りと判定されたとき、前記測定用平面定義ステップにて定義された測定用平面を、前記測定対象物における端部が直線状である場合における測定用平面に補正する測定用平面補正ステップと、
前記測定用平面定義ステップにより定義された測定用平面または前記測定用平面補正ステップにより補正した測定用平面と前記第１測定基準位置との距離を第１距離として計算して、前記記憶装置に記憶された基準距離から前記第１距離を減算することにより測定対象物の長さを計算する長さ計算ステップとを含むことを特徴とする長さ測定方法。
【請求項１８】
請求項１０ないし請求項１７のうちのいずれか１つに記載の長さ測定方法において、さらに、
前記支持手段に支持された複数の測定対象物に対応して生成される３次元形状データ群を、同複数の測定対象物ごとに分類する３次元形状データ分類ステップを有し、
前記端面定義ステップは、前記複数の測定対象物ごとに長さ測定の対象となる端面を定義し、
前記測定用平面定義ステップは、前記複数の測定対象物ごとに測定用平面を定義し、
前記長さ計算ステップは、前記複数の測定対象物ごとに測定対象物の長さを計算する長さ測定方法。
【請求項１９】
測定対象物を支持する支持手段と、物体の表面の３次元形状を測定する３次元形状測定装置と、記憶装置を備えるとともにコンピュータプログラムを実行するコンピュータ部とを備えた測定対象物の長さを測定する長さ測定装置に適用されるコンピュータプログラムであって、前記コンピュータ部に、
前記３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として前記記憶装置に記憶させ、
前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義させ、
前記３次元形状測定装置の測定対象空間内に前記支持手段に支持された測定対象物における長さ測定の対象となる端面を含む端部を少なくとも配置した状態で、前記３次元形状測定装置に前記支持手段に支持された測定対象物に向けて光を照射させて同測定対象物からの反射光を用いて前記長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定させ、同測定対象物の３次元表面形状を表す３次元形状データ群を生成させ、
前記生成された３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる端面を定義させ、
前記定義させた端面内の一点を含み、かつ前記基準面に平行な測定用平面を定義させ、
前記定義させた測定用平面と前記第１測定基準位置との距離を第１距離として計算させて、前記記憶装置に記憶された基準距離から前記第１距離を減算させることにより測定対象物の長さを計算させるようにした長さ測定用コンピュータプログラム。
【請求項２０】
請求項１９に記載の長さ測定用コンピュータプログラムにおいて、
前記第１測定基準位置は、前記３次元形状測定装置の座標系における座標原点であり、前記第２測定基準位置は、前記３次元形状測定装置により測定される測定対象物の端部とは反対側の端部を特定の位置に位置決めする位置である長さ測定用コンピュータプログラム。
【請求項２１】
測定対象物を支持する支持手段と、物体の表面の３次元形状を測定する２つの３次元形状測定装置と、記憶装置を備えるとともにコンピュータプログラムを実行するコンピュータ部とを備えた測定対象物の長さを測定する長さ測定装置に適用されるコンピュータプログラムであって、前記コンピュータ部に、
前記２つの３次元形状測定装置のうち、一方の３次元形状測定装置の座標系内における所定の第１測定基準位置と、他方の３次元形状測定装置の座標系内における所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として前記記憶装置に記憶させ、
前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面定義させ、
前記２つの３次元形状測定装置の各測定対象空間内にそれぞれ前記支持手段に支持された測定対象物における長さの測定の対象となる２つの端面をそれぞれ含む各端部を少なくとも配置した状態で、前記２つの３次元形状測定装置に前記支持手段に支持された測定対象物に向けてそれぞれ光を照射させて同測定対象物からの各反射光を用いて前記長さ測定の対象となる２つの端面をそれぞれ含む各端部を少なくとも含む測定対象物の表面の３次元形状をそれぞれ測定させ、同測定対象物の各３次元表面形状を表す３次元形状データ群をそれぞれ生成させ、
前記それぞれ生成された各３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる２つの端面をそれぞれ定義させ、
前記それぞれ定義させた各端面内の一点を含み、かつ前記基準面に平行な測定用平面をそれぞれ定義させ、
前記一方の３次元形状測定装置に対応する測定用平面と前記第１測定基準位置との距離を第１距離として計算させるとともに、前記他方の３次元形状測定装置に対応する測定用平面と前記第２測定基準位置との距離を第２距離として計算させて、前記記憶装置に記憶された基準距離から前記第１距離および第２距離を減算させることにより測定対象物の長さを計算させるようにした長さ測定用コンピュータプログラム。
【請求項２２】
請求項２１に記載の長さ測定用コンピュータプログラムにおいて、
前記第１測定基準位置は、前記一方の３次元形状測定装置の座標系における座標原点であり、前記第２測定基準位置は、前記他方の３次元形状測定装置の座標系における座標原点である長さ測定用コンピュータプログラム。
【請求項２３】
請求項１９ないし請求項２２のうちのいずれか１つに記載の長さ測定用コンピュータプログラムにおいて、
前記測定用平面を定義するために用いた各端面内の一点は、同端面における中心点、同端面における重心点、同端面に面する３次元形状測定装置に対して最も近い点および同端面に面する３次元形状測定装置に対して最も遠い点のうちのいずれか１つである長さ測定用コンピュータプログラム。
【請求項２４】
請求項１９ないし請求項２２のうちのいずれか１つに記載の長さ測定用コンピュータプログラムにおいて、前記コンピュータ部に、さらに、
前記３次元形状データ群のうち測定対象物の端部における外周面の表面形状を表す３次元データを用いて、同測定対象物における中心軸を計算させ、
前記定義させた端面と前記計算させた中心軸との交点を前記測定対象物の端面における中心点として計算させ、
前記計算させた端面の中心点を含むとともに前記基準面に平行な平面を測定用平面として定義させるようにした長さ測定用コンピュータプログラム。
【請求項２５】
請求項１９ないし請求項２４のうちのいずれか１つに記載の長さ測定用コンピュータプログラムにおいて、前記コンピュータ部に、さらに、
前記定義させた端面の前記基準面に対する角度が所定の範囲内であるとき、測定対象物の長さ測定が可能であると判定させ、
測定対象物の長さ測定が可能と判定されたとき、同測定対象物の長さを計算するようにした長さ測定用コンピュータプログラム。
【請求項２６】
測定対象物を支持する支持手段と、物体の表面の３次元形状を測定する３次元形状測定装置と、記憶装置を備えるとともにコンピュータプログラムを実行するコンピュータ部とを備えた測定対象物の長さを測定する長さ測定装置に適用されるコンピュータプログラムであって、前記コンピュータ部に、
前記３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として前記記憶装置に記憶させ、
前記支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義させ、
前記３次元形状測定装置の測定対象空間内に前記支持手段に支持された測定対象物における長さ測定の対象となる端面を含む端部を少なくとも配置した状態で、前記３次元形状測定装置に前記支持手段に支持された測定対象物に向けて光を照射させて同測定対象物からの反射光を用いて前記長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定させ、同測定対象物の３次元表面形状を表す３次元形状データ群を生成させ、
前記生成された３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる端面を定義させ、
前記定義させた端面内の一点を含み、かつ前記基準面に平行な測定用平面を定義させ、
前記３次元形状データ群のうち測定対象物における端部の表面形状を表す３次元データを用いて、同測定対象物における端部の曲がりの有無を判定させ、
測定対象物における端部の曲がりが有りと判定されたとき、前記定義させた測定用平面を、前記測定対象物における端部が直線状である場合における測定用平面に補正させ、
前記定義させた測定用平面または前記補正させた測定用平面と前記第１測定基準位置との距離を第１距離として計算させて、前記記憶装置に記憶された基準距離から前記第１距離を減算させることにより測定対象物の長さを計算させるようにした長さ測定用コンピュータプログラム。
【請求項２７】
請求項１９ないし請求項２６のうちのいずれか１つに記載の長さ測定コンピュータプログラムにおいて、前記コンピュータ部に、さらに、
前記支持手段に支持された複数の測定対象物に対応して生成される３次元形状データ群を、同複数の測定対象物ごとに分類させ、
前記複数の測定対象物ごとに前記長さ測定の対象となる端面を定義させ、
前記複数の測定対象物ごとに前記測定用平面を定義させ、
前記複数の測定対象物ごとに測定対象物の長さを計算させるようにした長さ測定コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象物の長さを画像処理によって測定する長さ測定装置、長さ測定方法および長さ測定用コンピュータプログラムに関する。
【背景技術】
【０００２】
一般に、圧延加工などにより柱状または管状に成形された長尺材は、切断加工により所定の長さに切断されて製品となる。この場合、切断された長尺状の製品の長さを測定して同製品の長さが所定の長さ、すなわち製品仕様の規格内であるか否かが検査される。このような製品の長さの検査における長さ測定装置として、例えば下記特許文献１に示されているようなＣＣＤ(charge-coupled-device)を用いた装置が知られている。
【特許文献１】特開平６−１８２２８号公報
【０００３】
特許文献１に記載の長さ測定装置においては、圧延機により圧延された後、所定の長さに切断された長尺状の製品の先端部を材料揃えストッパーに当接させて位置決めし、位置決めされた製品の先端部および後端部の上方にそれぞれ配置されたＣＣＤカメラによって同製品の先端部および後端部を撮像している。この場合、各ＣＣＤカメラには、それぞれ製品の先端部および後端部を照らす照明が併設されており、各ＣＣＤカメラは、製品の先端部および後端部からの各反射光を受光して、光量に応じた電気信号を各画素ごとに画像処理装置に出力する。画像処理装置は、各ＣＣＤカメラから各画素ごとに出力された電気信号に基づいて製品の先端部および後端部の形状を表す２次元形状データを生成し同製品の先端部および後端部の各端部を検出して製品の長さを測定している。
【０００４】
しかしながら、このようなＣＣＤカメラを用いた長さ測定装置においては、測定対象物（製品）の先端部および後端部における各端部を正確に検出するために、ＣＣＤカメラの受光面が測定対象物の各端部における各端面に対して直交するようにＣＣＤカメラを配置しなければならない。このため、ＣＣＤカメラの配置位置が狭い範囲に限定される。このＣＣＤカメラの配置作業は煩雑な作業であるとともに、定期的にＣＣＤカメラの配置位置を校正する作業も必要であるという問題がある。また、画像処理装置によって生成される測定対象物の各端部の形状を表す画像データは測定対象物の外周を表す２次元画像データであるため、測定対象物の各端部の形状が曲がっている、または同各端部における端面が測定対象物の軸方向に対して傾いている場合には、ＣＣＤカメラの受光面に対する測定対象物の向きによって異なる端面形状の画像データが検出され、精度よく測定対象物の長さを測定することができないという問題があった。
【発明の開示】
【０００５】
本発明は上記問題に対処するためなされたもので、その目的は、測定対象物における各端部を撮像する撮像装置を厳格に位置決めして配置する必要がないとともに、測定対象物における各端部の形状が曲がっている、または同各端部における端面が測定対象物の軸方向に対して傾いている場合であっても撮像装置に対する同端面の向きに関わらず測定対象物の長さを精度よく測定することができる長さ測定装置、長さ測定方法および長さ測定用コンピュータプログラムを提供することにある。
【０００６】
上記目的を達成するため、本発明の特徴は、測定対象物の長さを測定する長さ測定装置において、測定対象物を支持する支持手段と、測定対象物に向けて光を照射して同測定対象物からの反射光を用いて、同測定対象物における長さ測定の対象となる端面を含む端部を少なくとも含む測定対象物の表面の３次元形状を測定する３次元形状測定装置と、支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義する基準面定義手段と、３次元形状測定装置の座標系内における所定の第１測定基準位置と、同３次元形状測定装置により測定される測定対象物の端部の反対側の端部における端面の位置を特定するための所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶する記憶手段と、３次元形状測定装置によって測定された前記測定対象物の３次元表面形状を表す３次元形状データ群を生成する３次元形状データ群生成手段と、前記生成された３次元形状データ群を用いて、測定対象物における長さ測定の対象となる端面を定義する端面定義手段と、端面定義手段により定義された端面内の一点を含み、かつ基準面に平行な測定用平面を定義する測定用平面定義手段と、測定用平面定義手段により定義された測定用平面と第１測定基準位置との距離を第１距離として計算して、記憶装置に記憶された基準距離から第１距離を減算することにより測定対象物の長さを計算する長さ計算手段とを備えたことにある。
【０００７】
この場合、前記第１測定基準位置は、３次元形状測定装置の座標系における座標原点であり、第２測定基準位置は、３次元形状測定装置により測定される測定対象物の端部とは反対側の端部を特定の位置に位置決めする位置にするとよい。ここで、前記特定の位置とは、例えば、ワークの一端に当接して同ワークを特定の位置に位置決めした場合における同一端の位置である。また、前記第１測定基準位置および第２測定基準位置に代えて、３次元形状測定装置を測定対象物の測定対象となる端面ごとに用意、すなわち、２つの３次元形状測定装置を用意し、第１測定基準位置を一方の３次元形状測定装置の座標系における座標原点とし、第２測定基準位置を他方の３次元形状測定装置の座標系における座標原点としてもよい。
【０００８】
この場合、長さ測定装置における２つの３次元形状測定装置は、測定対象物に向けてそれぞれ光を照射して同測定対象物からの各反射光を用いて同測定対象物における長さ測定の対象となる２つの端面をそれぞれ含む各端部をそれぞれ少なくとも含む測定対象物の表面の３次元形状をそれぞれ測定し、前記基準面定義手段は、支持手段に支持される測定対象物における長さ測定の対象となる端面間の軸線と直交する平面を基準面として定義し、前記記憶手段は、２つの３次元形状測定装置のうち、一方の３次元形状測定装置の座標系内における所定の第１測定基準位置と、他方の３次元形状測定装置の座標系内における所定の第２測定基準位置との測定対象物の前記軸線に沿った距離を基準距離として記憶し、前記３次元形状データ群生成手段は、前記２つの３次元形状測定装置によってそれぞれ測定された測定対象物の３次元表面形状を表す３次元形状データ群をそれぞれ生成し、前記端面定義手段は、それぞれ生成された各３次元形状データ群を用いて、前記測定対象物における長さ測定の対象となる２つの端面をそれぞれ定義し、前記測定用平面定義手段は、端面定義手段により定義された各端面内の一点を含み、かつ基準面に平行な測定用平面をそれぞれ定義し、前記長さ計算手段は、前記一方の３次元形状測定装置に対応する測定用平面と第１測定基準位置との距離を第１距離として計算するとともに、前記他方の３次元形状測定装置に対応する測定用平面と第２測定基準位置との距離を第２距離として計算して、記憶装置に記憶された基準距離から前記第１距離および第２距離を減算することにより測定対象物の長さを計算するようにするとよい。
【０００９】
また、第１測定基準位置および第２測定基準位置が前記のいずれの場合も端面定義手段により定義された各端面において前記測定用平面に含まれる一点を、同端面における中心点、同端面における重心点、同端面に面する３次元形状測定装置に対して最も近い点および同端面に面する３次元形状測定装置に対して最も遠い点のうちのいずれか１つにすればよい。
【００１０】
このように構成した本発明の特徴によれば、記憶装置に予め測定対象物における測定対象となる端面間の軸線に沿って第１測定基準位置と第２測定基準位置との距離を基準距離として記憶している。ここで、第１測定基準位置は３次元形状測定装置の座標系内に存在し、同第１測定基準位置と同３次元形状測定装置により測定される測定対象物の端面の位置とが特定される。また、第２測定基準位置は、測定対象物における測定対象となるもう一方の端面の位置を特定する位置である。そして、前記軸線に直交する基準面と平行な測定用平面を測定対象となる端面に定義し、同測定用平面と基準距離とを用いて測定対象物の長さを計算している。これによれば、測定対象となる端面に対して測定用平面が定義できれば、すなわち、測定対象となる端面を含む測定対象物の端部の表面形状を表す３次元形状データが取得できれば、常に測定対象物の軸線に沿って同測定対象物の長さが測定することができ、３次元形状測定装置の配置位置は限定されない。また、測定用平面は３次元データによって定義されるため、測定対象となる端面の形状および３次元形状測定装置に対する同端面の向きに寄らず一定の平面を定義することができる。これにより、精度の高い測定対象物の長さ測定が可能となる。
【００１１】
また、上記長さ測定装置において、さらに、前記測定用平面定義手段は、３次元形状データ群のうち測定対象物の端部における外周面の表面形状を表す３次元データを用いて、同測定対象物における中心軸を計算する中心軸計算手段と、端面定義手段により定義された端面と中心軸計算手段により計算された中心軸との交点を前記測定対象物の端面における中心点として計算する端面中心計算手段とを備え、端面中心計算手段にて計算された端面の中心点を含むとともに前記基準面に平行な平面を測定用平面として定義するようにしたことにある。これによれば、測定対象である端面が中心軸に対して完全に垂直でない場合や端面が若干曲がっている場合であっても、同端面と測定対象物の中心軸との交点に基づいて測定用平面が定義されるため、同端面における正確な中心点に基づいて測定用平面を定義することができる。
【００１２】
また、本発明の他の特徴は、上記長さ測定装置において、さらに、前記端面定義手段により定義された端面の前記基準面に対する角度が所定の範囲内であるとき、測定対象物の長さ測定が可能であると判定する長さ測定可否判定手段を有し、長さ計算手段は、長さ測定可否判定手段により測定対象物の長さ測定が可能と判定されたとき、同測定対象物の長さを計算するようにしたことにある。これによれば、測定対象である端面が測定対象物の軸線に対して垂直から所定の範囲内の角度でずれている場合のみ、同測定対象物の長さ測定を行うことができ、測定した測定対象物間の長さ比較をより正確に行うことができる。
【００１３】
また、本発明の他の特徴は、上記長さ測定装置において、さらに、３次元形状データ群のうち測定対象物における端部の表面形状を表す３次元データを用いて、同測定対象物における端部の曲がりの有無を判定する曲がり判定手段と、曲がり判定手段により測定対象物における端部の曲がりが有りと判定されたとき、前記測定用平面定義手段にて定義された測定用平面を、前記測定対象物における端部が直線状である場合における測定用平面に補正する測定用平面補正手段とを備え、前記長さ計算手段は、測定用平面定義手段により定義された測定用平面または前記測定用平面補正手段により補正した測定用平面と前記記憶装置に記憶された基準距離とを用いて、測定対象物の長さを計算するようにしたことにある。これによれば、測定対象物における端部が曲がっている場合であっても、同端部の曲がりがなく直線状に形成されている場合における測定対象物の長さを測定することができる。すなわち、同端部が曲がり変形した場合であっても測定対象物本来の長さを測定することができる。
【００１４】
また、本発明の他の特徴は、上記長さ測定装置において、さらに、前記支持手段に支持された複数の測定対象物に対応して生成される３次元形状データ群を、同複数の測定対象物ごとに分類する３次元形状データ分類手段を有し、端面定義手段は、前記複数の測定対象物ごとに長さ測定の対象となる端面を定義し、測定用平面定義手段は、前記複数の測定対象物ごとに測定用平面を定義し、長さ計算手段は、前記複数の測定対象物ごとに測定対象物の長さを測定するようにしたことにある。これによれば、複数の測定対象物を支持手段に支持させて、同時に複数の測定対象物の長さ測定を行うことができる。これにより、測定対象物の長さ測定を効率的に行うことができる。
【００１５】
また、本発明は装置の発明として実施できるばかりでなく、方法の発明およびコンピュータプログラムの発明としても実施できるものである。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に係る長さ測定装置の一実施形態について図面を参照しながら説明する。図１は、本発明の実施形態に係る長さ測定装置の基本構成を示す概略図である。
【００１７】
この長さ測定装置は、丸棒状の測定対象物（以下、「ワーク」という）ＷＫの両端部側をそれぞれ支持する四角柱状の２つの支持台１０を備えている。この支持台１０は、本発明に係る支持手段に対応する。２つの支持台１０は、互いに同一の形状に形成されており、詳しくは図２に示すように、四角柱状に形成された本体部１０ａの上面に、同本体部１０ａの長手方向に沿って等間隔に３つの支持部１０ｂが形成されている。これら３つの支持部１０ｂは、それぞれ本体部１０ａの長手方向に直交する方向にＶ溝状に形成されており、支持台１０上に載置されるワークＷＫを安定的に支持する。これら２つの支持台１０は、後述する３次元形状測定装置２０Ａ，２０Ｂの測定対象空間内に互いに平行に配置され、１つのワークＷＫを２つの支持台１０にて水平状態に支持する。なお、本実施形態においては、同時に３つのワークＷＫの長さ測定を行うことができるように、３つの支持部１０ｂを支持台１０上に設けるようにしたが、この支持部１０ｂの数は、同時に測定するワークＷＫの数に応じて適宜変更するようにすればよい。
【００１８】
これらの支持台１０の各斜め上方には、支持台１０に向けて異なる位置、具体的には、支持台１０上に載置されるワークＷＫの２つの各端面Ｓａ，Ｓｂに向けてそれぞれ配置された３次元形状測定装置２０Ａ，２０Ｂが設けられている。これらの３次元形状測定装置２０Ａ，２０Ｂは、光を用いて支持台１０上に載置されるワークＷＫの端面Ｓａ，Ｓｂを含む各端部の３次元形状を測定するもので、同測定結果を表す３次元表面形状測定情報を出力するとともに、同ワークＷＫ表面からの反射光の光量を測定して同測定結果を表す反射光量測定情報を出力する。これらの３次元形状測定装置２０Ａ，２０Ｂとしては、光を用いて物体の３次元表面形状を測定して同測定した３次元表面形状を表す信号を出力するとともに、同物体表面からの反射光量を表す信号を出力するものであれば、いかなる３次元形状測定装置をも利用できる。なお、反射光量に代えて物体の反射率または色を識別するものでもよい。本実施形態においては、レーザ光を用いて３角測量法に従って物体の３次元表面形状を測定するとともに、同物体表面からの反射光量を測定するものを簡単に紹介しておく。
【００１９】
この３次元形状測定装置においては、レーザ光源から物体に向けて出射されるレーザ光の進行方向にほぼ垂直な仮想平面を想定するとともに、同仮想平面上にて互いに直交するＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアを想定する。そして、３次元形状測定装置は、前記多数の微小エリアにレーザ光を順次照射し、物体からの反射光によって前記微小エリアが規定する物体表面までの距離をＺ軸方向距離として順次検出して、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報を得て、同３次元形状測定装置に面した物体表面の形状を測定するものである。また、この３次元形状測定装置は、前記物体表面の形状を測定すると同時に、物体からの反射光を前記微小エリアごとに検出して、前記微小エリアごとの反射光の光量を測定するものである。
【００２０】
したがって、この３次元形状測定装置は、出射レーザ光の向きをＸ軸方向に変化させるＸ軸方向走査器と、出射レーザ光の向きをＹ軸方向に変化させるＹ軸方向走査器と、物体表面にて反射された反射レーザ光を受光して物体表面までの距離および同物体表面からの反射光量を検出する光検出器とを備えている。Ｘ軸方向走査器およびＹ軸方向走査器としては、レーザ光源からの出射レーザ光の光路をＸ軸方向およびＹ軸方向に独立に変化させ得る機構であればよく、例えば、レーザ光源自体をＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させたり、出射レーザ光の光路に設けられてその方向を変更するガルバノミラーをＸ軸方向およびＹ軸方向の軸線回りに電動モータによって回転させる機構を利用できる。光検出器としては、前記出射レーザ光の光路に追従して回転し、物体表面にて反射された反射レーザ光を集光する結像レンズおよび同集光したレーザ光を受光するＣＣＤなどの複数の受光素子を一列に配置させたラインセンサからなり、ラインセンサによる反射レーザ光の受光位置によって物体表面までの距離を検出するとともに、同反射レーザ光の受光幅によって、同物体表面からの反射光の光量を検出する。
【００２１】
したがって、このような３次元形状測定装置は、物体の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報として、Ｘ軸方向走査器による出射レーザ光の基準方向に対するＸ軸方向への傾きθｘ、Ｙ軸方向走査器による出射レーザ光の基準方向に対するＹ軸方向への傾きθｙ、光検出器による物体表面までの距離Ｌｚ、および同光検出器による物体表面からの反射光量Ｌｚｓとが、前記仮想したＸ軸方向およびＹ軸方向に沿って分割した多数の微小エリアごとに出力される。より具体的には、Ｘ軸およびＹ軸方向への傾きθｘ，θｙは、電動モータの基準位置からの回転角である。また、物体表面までの距離Ｌｚは、ラインセンサにおける反射レーザ光の受光位置であり、物体表面からの反射光量Ｌｚｓは、ラインセンサにおける反射レーザ光の受光幅である。なお、３次元形状測定装置は、後述するコントローラ３１からの指令により、前記Ｘ軸方向およびＹ軸方向に沿って分割した多数のエリアごとの出力以外に、物体表面からの反射光量Ｌｚｓが急激に変化したとき、前記Ｘ軸方向への傾きθｘ、Ｙ軸方向への傾きθｙ、物体表面までの距離Ｌｚおよび物体表面からの反射光量Ｌｚｓが出力されるようになっている。
【００２２】
これらの３次元形状測定装置２０Ａ，２０Ｂには、コントローラ３１および３次元画像データ処理装置３２がそれぞれ接続されている。コントローラ３１は、キーボードからなる入力装置３３からの指示に従って、３次元形状測定装置２０Ａ，２０Ｂの作動を制御する。また、コントローラ３１は、入力装置３３からの指示に従って３次元画像データ処理装置３２の作動を制御するとともに、同入力装置３３にて入力されたデータを３次元画像データ処理装置３２に供給する。
【００２３】
３次元画像データ処理装置３２は、コンピュータ装置によって構成されて図３、図５、図６、図８、図１２、図１３、図１６および図１８の各プログラムの実行により、３次元形状測定装置２０Ａ，２０Ｂからの３次元画像に関する情報、具体的には、Ｘ軸方向への傾きθｘ、Ｙ軸方向への傾きθｙ、物体表面までの距離Ｌｚを入力して、測定対象空間内に位置する物体の３次元画像データを生成し、同生成した３次元画像データを用いてワークＷＫの長さを計算する。また、３次元画像データ処理装置３２は、物体表面からの反射光量Ｌｚｓを入力して、測定対象空間内に位置する物体表面の前記微小エリアごとの反射光量を算出する。
【００２４】
この３次元画像データ処理装置３２には、表示装置３４が接続されている。表示装置３４は、液晶ディスプレイ、プラズマディスプレイまたはＣＲＴディスプレイなどからなり、３次元画像データ処理装置３２によって実行される各プログラムの実行過程および同各プログラムの実行により計算されるワークＷＫの長さを表示する。
【００２５】
次に、上記のように構成した長さ測定装置の作動について説明する。作業者は、入力装置３３を操作してワークＷＫの長さ測定を指示する。このワークＷＫの長さ測定の指示は、コントローラ３１を介して３次元画像データ処理装置３２に伝達され、３次元画像データ処理装置３２は、図３に示すワーク長測定プログラムの実行をステップＳ１００にて開始して、ステップＳ１０２にて、基準距離Ｌ０を計算する。基準距離Ｌ０は、図４に示すように、ワークＷＫの長さを計算するための基準となる長さであり、支持台１０上にセットされる基準物体４０を測定することにより計算される。基準物体４０は、断面形状が真円状に形成された丸棒体であり、基準物体４０の両端の各端面４０ａ，４０ｂが同基準物体４０の軸線に対して直交した形状となっている。この基準物体４０の長さＬ４０は、事前に作業者により認識されており、３次元画像データ処理装置３２の記憶装置に予め記憶されている。また、基準物体４０の２つの端面４０ａ，４０ｂにレーザ光を照射した際における同端面４０ａ，４０ｂからそれぞれ反射される反射光の光量も事前に作業者により認識されており、３次元画像データ処理装置３２の記憶装置に反射光量データとして予め記憶されている。
【００２６】
作業者は、基準物体４０を支持台１０の各支持部１０ｂ上に載置、具体的には、基準物体４０の各端部を２つの各支持台１０における各支持部１０ｂ上に載置して３次元形状測定装置２０Ａ，２０Ｂの各測定対象空間内に基準物体４０を配置する。この場合、基準物体４０の端面４０ａは３次元形状測定装置２０Ａに面するとともに、同基準物体４０の端面４０ｂは３次元形状測定装置２０Ｂに面した状態で配置される。なお、基準物体４０は、支持台１０における３つの支持部１０ｂのうち、いずれの支持部１０ｂ上に載置してもよいが、２つの支持台１０の間において互いに対応する支持部１０ｂに載置する。すなわち、基準物体４０は、支持台１０の長手方向に直交した状態で載置される。
【００２７】
一方、３次元画像データ処理装置３２は、図５に示す基準距離計算サブプログラムの実行をステップ２００にて開始して、ステップＳ２０２にて、３次元形状測定装置２０Ａ，２０Ｂによる測定情報の入力を待つ。３次元形状測定装置２０Ａ，２０Ｂは、コントローラ３１によって制御され、測定対象空間内に配置された基準物体４０（基準物体４０の周辺に存在する物体、例えば支持台１０などを含む）の３次元表面形状の測定を開始するとともに、基準物体４０の表面形状を表す情報および基準物体４０の表面からの反射光の光量を表す情報を３次元画像データ処理装置３２にそれぞれ出力する。すなわち、基準物体４０の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報（具体的には、傾きθｘ，θｙおよび距離Ｌｚ）および基準物体４０の物体表面からの反射光の光量に関する情報（具体的には、反射光量Ｌｚｓ）をそれぞれ出力する。したがって、３次元画像データ処理装置３２は、ステップＳ２０２にて、３次元形状測定装置２０Ａ，２０Ｂから出力された前記Ｘ，Ｙ，Ｚ座標に関する情報および基準物体４０の物体表面からの反射光の光量に関する情報を入力する。
【００２８】
次に、３次元画像データ処理装置３２は、ステップＳ２０４にて、前記入力した３次元形状測定装置２０Ａ，２０ＢからのＸ，Ｙ，Ｚ座標に関する情報および基準物体４０の物体表面からの反射光の光量に関する情報に基づいて、測定対象空間内に存在する基準物体４０の３次元表面形状を表す３次元形状データ群を３次元形状測定装置２０Ａ，２０Ｂごとにそれぞれ計算する。すなわち、３次元形状測定装置２０Ａ，２０Ｂによって規定される２種類の各座標系Ａ，Ｂでの基準物体４０の表面を微小エリアずつに分割した各分割エリア位置をそれぞれ３次元で表現する３次元座標データと、この３次元座標データに前記微小エリアずつに分割した各分割エリア位置ごとの反射光の光量を表す反射光量データを対応させた多数のデータセットの集合を計算し、２組の３次元形状データ群Ｄａ，Ｄｂを得る。この２組の３次元形状データ群Ｄａ，Ｄｂは各座標系Ａ，Ｂにおける各座標値Ｘ，Ｙ，Ｚおよび各反射光量Ｑで表される。具体的には、３次元形状データ群Ｄａ，Ｄｂを構成する各データセットは、（ｘａ，ｙａ，ｚａ，ｑａ），（ｘｂ，ｙｂ，ｚｂ，ｑｂ）でそれぞれ表される。
【００２９】
次に、３次元画像データ処理装置３２は、ステップＳ２０６にて、各座標系Ａ，Ｂに対応した３次元形状データ群Ｄａ，Ｄｂのそれぞれに対して、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面した基準物体４０の端面４０ａ，４０ｂをそれぞれ表す２つのサブ３次元形状データ群を抽出する。具体的には、３次元画像データ処理装置３２に予め記憶されている基準物体４０の端面４０ａ，４０ｂに関する反射光量データと一致するまたは所定の判別値内にある前記３次元形状データ群Ｄａ，Ｄｂを構成するデータセット中の反射光量Ｑ（ｑａ，ｑｂ）ごとに、各座標値（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）を分類する。この場合、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面した基準物体４０の端面４０ａまたは４０ｂに対応して、２組のサブ３次元形状データ群Ｄａｋ，Ｄｂｋがそれぞれ生成される。
【００３０】
次に、３次元画像データ処理装置３２は、ステップＳ２０８にて、基準物体４０の各端面４０ａ，４０ｂをそれぞれ含む平面Ｐｓａ，Ｐｓｂを定義する。具体的には、前記２組のサブ３次元形状データ群Ｄａｋ，Ｄｂｋにおける各座標値（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）を下記式１に示す平面の式に代入する。なお、各座標値（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）は、下記式１におけるｘ，ｙ，ｚにそれぞれ対応する。
ａ・ｘ＋ｂ・ｙ＋ｃ・ｚ＋１＝０      …式１
【００３１】
すなわち、各サブ３次元形状データ群ごとに同サブ３次元形状データ群を構成する点群（ｘｉ，ｙｉ，ｚｉ）（ｉ＝１〜ｎ）を上記式１の左辺に代入して、その値の２乗和が最小となるａ，ｂ，ｃを最小２乗法を用いて計算し、同サブ３次元形状データ群が表す基準物体４０の２つの端面４０ａ，４０ｂをそれぞれ含む平面Ｐｓａ，Ｐｓｂの式をそれぞれ求める。そして、３次元画像データ処理装置３２は、計算した平面Ｐｓａ，Ｐｓｂに対してそれぞれ所定の範囲内に属する３次元形状データ群Ｄａ，Ｄｂ、すなわち、３次元形状測定装置２０Ａ，２０Ｂによって測定されたすべての３次元座標データを構成する各座標値（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）を計算した平面Ｐｓａ，Ｐｓｂの式の左辺に代入し、値が「０」から所定の範囲にあるデータを上記式１に代入して、前記と同様に最小２乗法を用いて平面を再度計算し、同計算した平面を新たな平面Ｐｓａ，Ｐｓｂとする。これにより、前記ステップＳ２０８における端面４０ａ，４０ｂを表すサブ３次元形状データ群Ｄａｋ，Ｄｂｋの抽出処理から漏れた端面４０ａ，４０ｂを表す３次元形状データ群Ｄａ，Ｄｂをも用いて、より精度よく端面４０ａ，４０ｂを含む平面Ｐｓａ，Ｐｓｂを定義することができる。
【００３２】
次に、３次元画像データ処理装置３２は、ステップＳ２１０にて、基準距離Ｌ０を計算する。具体的には、前記ステップＳ２０８にてそれぞれ定義された平面Ｐｓａ，Ｐｓｂから、同平面Ｐｓａ，Ｐｓｂにそれぞれ面する３次元形状測定装置２０Ａ，２０Ｂの各座標系Ａ，Ｂの原点Ｏａ，Ｏｂまでの距離Ｌａ，Ｌｂを計算し、記憶装置に予め記憶されている基準物体４０の長さＬ４０に同計算した距離Ｌａ，Ｌｂを加算して基準距離Ｌ０を計算する。この場合、距離Ｌａは、３次元形状測定装置２０Ａに関する座標系Ａにおける原点Ｏａを通り平面Ｐｓａに直交する直線の長さである。また、距離Ｌｂは、３次元形状測定装置２０Ｂに関する座標系Ｂにおける原点Ｏｂを通り平面Ｐｓｂに直交する直線の長さである。この基準距離Ｌ０は、平面Ｐｓａ，Ｐｓｂに直交する直線、すなわち支持台１０上に配置されるワークＷＫの軸線と垂直な平面において３次元形状測定装置２０Ａ，２０Ｂの各座標系Ａ，Ｂの原点Ｏａ，Ｏｂを含む平面間の距離である。なお、３次元形状測定装置２０Ａ，２０Ｂの各座標系Ａ，Ｂの原点Ｏａ，Ｏｂは、本発明に係る第１測定基準位置および第２測定基準位置にそれぞれ対応する。次に、３次元画像データ処理装置３２は、同計算した基準距離Ｌ０を記憶装置に記憶した後、ステップＳ２１２にて、基準距離計算サブプログラムの実行を終了して、ワーク長測定プログラムにおけるステップＳ１０４に戻る。なお、以前に計算された基準距離Ｌ０が変更されない場合には、このステップＳ１０２による基準距離の計算処理をスキップしてもよい。
【００３３】
次に、３次元画像データ処理装置３２は、図３に示すステップＳ１０４にて、基準面Ｐｋａ，Ｐｋｂを定義する。具体的には、３次元画像データ処理装置３２は、図６に示す基準面定義サブプログラムの実行をステップＳ３００にて開始して、ステップＳ３０２にて、基準面設定治具５０に関する情報の入力を待つ。この基準面設定治具５０に関する情報の入力に際して作業者は、図７に示すように、支持台１０上に載置された基準物体４０における一方の端部上（図４において右側）および支持台１０上に基準面設定治具５０をセットする。
【００３４】
基準面設定治具５０は、基準面Ｐｋａ，Ｐｋｂを定義するための治具であり、直方体状に形成された本体部５０ａの下面中央部に、支持台１０の支持部１０ｂと同様のＶ溝状の溝部５０ｂを有するとともに、同本体部５０ａの両端部における上面から下面に貫通する基準孔５０ｃ，５０ｄをそれぞれ有して形成されている。溝部５０ｂは、本体部５０ａの長手方向に直交する方向に形成されており、丸棒状の基準物体４０上において支持台１０の長手方向に基準面設定治具５０を位置決めする。また、基準孔５０ｃ，５０ｄは、真円状に形成されており互いの孔中心を結ぶ直線が溝部５０ｂと直交、すなわち基準物体４０の軸線と直交するように設けられているとともに、基準孔５０ｃと基準孔５０ｄとが互いに異なる孔径、具体的には、基準孔５０ｃが基準孔５０ｄより大きな孔径に形成されている。このように基準孔５０ｃと基準孔５０ｄとを異なる孔径としたのは、基準面Ｐｋａ，Ｐｋｂを定義した際、同各基準面Ｐｋａ，Ｐｋｂ内における方向を設定し易くするためである。したがって、基準面Ｐｋａ，Ｐｋｂ内における方向を設定する必要のない場合には、基準孔５０ｃおよび基準孔５０ｄの各孔径を同一としてもよい。
【００３５】
そして、作業者は、入力装置３３を操作して基準面設定治具５０に関する情報を入力する。基準面設定治具５０に関する情報とは、本実施形態においては、基準面設定治具５０における基準孔５０ｃ，５０ｄの各孔径、基準面設定治具５０にレーザ光を照射した際における本体部５０ａの上面から反射される反射光の光量および基準面設定治具５０をセットした基準物体４０における一方の端部（図４において右側）を指定するデータである。この基準面設定治具５０に関する入力情報は、コントローラ３１を介して３次元画像データ処理装置３２に供給される。なお、以前に入力された基準孔５０ｃ，５０ｄの各孔径および本体部５０ａの上面からの反射光の光量が変更されない場合には、同孔径および反射光量の入力を省略してもよい。
【００３６】
このステップＳ３０２の処理後、３次元画像データ処理装置３２は、ステップＳ３０４にて、３次元形状測定装置２０Ａまたは２０Ｂによる測定情報の入力を待つ。この場合、３次元画像データ処理装置３２は、前記ステップＳ３０２にて入力された基準面設定治具５０をセットした基準物体４０における一方の端部（図４において右側）に対応する３次元形状測定装置２０Ａ，２０Ｂ、すなわち、３次元形状測定装置２０Ａによる測定をコントローラ３１に指示し、さらに、３次元形状測定装置２０Ａが物体表面からの反射光量が急激に変化したときにもデータの出力を行う測定をコントローラ３１に指示する。これにより、コントローラ３１は、同指示された３次元形状測定装置２０Ａの作動を制御して基準面設定治具５０（基準物体４０および支持台１０を含む）の３次元立体形状の測定を開始し、基準面設定治具５０の表面形状を表す情報および基準面設定治具５０の表面からの反射光の光量を表す情報が３次元画像データ処理装置３２に入力される。すなわち、基準面設定治具５０の表面を微小エリアずつに分割した各分割エリア位置を表すＸ，Ｙ，Ｚ座標に関する情報、物体表面からの反射光量が急激に変化したときの位置を表すＸ，Ｙ，Ｚ座標に関する情報および基準面設定治具５０の物体表面からの反射光の光量に関する情報からなる３次元形状データ群Ｄａが入力される。この３次元形状データ群Ｄａを構成するデータセットは、（ｘａ，ｙａ，ｚａ，ｑａ）で表される。また、物体表面からの反射光量が急激に変化したときの３次元形状データ群Ｄａは、それ以外の３次元形状データ群Ｄａから識別されている。
【００３７】
次に、３次元画像データ処理装置３２は、ステップＳ３０６にて、前記入力した３次元形状データ群Ｄａから、基準面設定治具５０の上面を表すサブ３次元形状データ群を抽出する。具体的には、ステップＳ３０２にて３次元画像データ処理装置３２に入力された基準面設定治具５０の上面に関する反射光量データと一致するまたは所定の判別値内にある前記３次元形状データ群Ｄａを構成するデータセット中の反射光量Ｑ（ｑａ）ごとに、各座標値（ｘａ，ｙａ，ｚａ）を分類する。これにより、基準面設定治具５０の上面を表すサブ３次元形状データ群Ｄａｓが抽出される。
【００３８】
次に、３次元画像データ処理装置３２は、ステップＳ３０８にて、基準面設定治具５０の上面を含む平面Ｐｓを定義する。具体的には、サブ３次元形状データ群Ｄａｓにおける各座標値（ｘａ，ｙａ，ｚａ）を前記式１に代入する。すなわち、サブ３次元形状データ群を構成する点群（ｘｉ，ｙｉ，ｚｉ）（ｉ＝１〜ｎ）を前記式１の左辺に代入して、その値の２乗和が最小となるａ，ｂ，ｃを最小２乗法を用いて計算し、同サブ３次元形状データ群が表す基準面設定治具５０の上面を含む平面Ｐｓの式を求める。そして、３次元画像データ処理装置３２は、計算した平面Ｐｓに対して所定の範囲内に属する３次元形状データ群Ｄａを構成する各座標値（ｘａ，ｙａ，ｚａ）を計算した平面Ｐｓの式の左辺に代入し、値が「０」から所定の範囲内にあるデータを前記式１に代入して、前記と同様に最小２乗法を用いて平面を再度計算し、同計算した平面を新たな平面Ｐｓとする。これにより、前記ステップＳ３０６における基準面設定治具５０の上面を表すサブ３次元形状データ群の抽出処理から漏れた同基準面設定治具５０の上面を表す３次元形状データ群Ｄａを用いて、より精度よく基準面設定治具５０の上面を含む平面Ｐｓを定義することができる。
【００３９】
次に、３次元画像データ処理装置３２は、ステップＳ３１０にて、基準孔５０ｃ，５０ｄの中心座標を計算する。具体的には、図８に示す基準孔中心計算サブプログラムの実行をステップＳ４００にて開始する。３次元画像データ処理装置３２は、ステップＳ４０２にて、前記ステップ３０２にて入力された基準孔５０ｃ，５０ｄの孔径を用いて、単位ブロックおよび探索ブロックのサイズ設定処理を実行する。単位ブロックは、基準孔５０ｃ，５０ｄの存在位置を特定するために探索ブロックを移動させる最小のブロックであり、本実施形態では正方形に形成されているが、長方形などの他の形状でもよい。また、単位ブロックのサイズは、基準孔５０ｃ，５０ｄの開口部の一部が存在することを確認可能である程度に小さく設定される。本実施形態においては、大径の基準孔５０ｃを縦横８個ずつの単位ブロック内において包含するためのサイズに設定される。
【００４０】
探索ブロックは、基準孔５０ｃ，５０ｄをその内部に包含する位置を特定するために利用されるもので、本実施形態では正方形に形成されるが、長方形などの他の形状でもよい。また、この探索ブロックのサイズは、基準孔５０ｃ，５０ｄのすべてを包含できるとともに、なるべく小さく設定される。すなわち、基準孔５０ｃは、基準孔５０ｄよりも大きいため、探索ブロックのサイズは基準孔５０ｃのすべてを包含できるサイズに設定される。具体的には、単位ブロックの縦横８個ずつの大きさを探索ブロックのサイズとする。ただし、この基準孔５０ｃ，５０ｄを包含できるとは、基準孔５０ｃ，５０ｄの一部でも含む単位ブロックのすべてを含むことを意味する。なお、本実施形態においては、ステップＳ３０２において、単位ブロックおよび探索ブロックのサイズを設定するようにしたが、基準孔５０ｃ，５０ｄの変更がなければ予め設定されている単位ブロックおよび探索ブロックのサイズをそのまま利用すればよいので、このステップＳ４０２の処理は不要である。
【００４１】
次に、３次元画像データ処理装置３２は、ステップＳ４０４にて探索領域のブロック化処理を実行する。この探索領域のブロック化処理は、ステップＳ３０８にて定義した平面Ｐｓ内で基準孔５０ｃ，５０ｄの含まれる可能性のある領域を単位ブロックで分割する処理である。具体的には、３次元形状データ群Ｄａの中から物体表面からの反射光量が急激に変化したときの３次元形状データ群Ｄａを抽出し、平面Ｐｓ内において同抽出された３次元形状データ群Ｄａが存在する領域を単位ブロックで平面的に分割する。すなわち、基準面設定治具５０の上面における周縁部および基準孔５０ｃ，５０ｄの開口部をそれぞれ表す３次元形状データ群Ｄａのみを抽出し、同抽出された３次元形状データ群Ｄａが存在する範囲で平面Ｐｓを単位ブロックで分割する。分割は、平面Ｐｓと平行に単位ブロックを並べていく方法で行う。図９は、抽出された３次元形状データ群Ｄａが存在する平面Ｐｓ内の領域に対して本処理を実行した結果を示す概念図である。図９は、基準面設定治具５０を上方から見た状態を示しており同図における破線は基準面設定治具５０の上面における周縁部および基準孔５０ｃ，５０ｄの開口部を示し、二点鎖線は平面Ｐｓを示している。
【００４２】
次に、３次元画像データ処理装置３２は、ステップＳ４０６にて、前記ステップＳ４０４の処理によって分割した各単位ブロックごとに３次元形状データ群Ｄａが存在するか否かを調べる。そして、３次元形状データ群Ｄａが存在する単位ブロックを抽出する。図１０は、図９に示す探索領域に対して本処理を実行した結果を示す概念図である。図１０中、ハッチングを施した単位ブロックが抽出された単位ブロックを示している。
【００４３】
次に、３次元画像データ処理装置３２は、ステップＳ４０８にて、基準孔５０ｃ，５０ｂを含む探索ブロック位置の検出を行う。この探索ブロック位置の検出処理においては、前記ステップＳ４０４の処理により単位ブロックに分割した領域（探索領域）にて、前記ステップＳ４０２の処理により設定した探索ブロックを単位ブロックを単位としてＸ軸およびＹ軸に順次移動させる。そして、各移動ごとに移動後の探索ブロック内に含まれるとともに前記ステップＳ４０６の処理によって抽出された単位ブロックの個数および配置の仕方を計算する。前記単位ブロックの数が所定の範囲内であり配置の仕方が円状であれば、該当する探索ブロック位置であるとして同位置が検出される。図１１の（Ａ）〜（Ｄ）は、この探索ブロックの移動の状態を示す概念図である。この場合、基準孔５０ｃ，５０ｄの孔径はそれぞれ特定されているため、探索ブロック内に含まれる３次元形状データ群Ｄａが存在する単位ブロックの数は特定される。この探索ブロック位置の検出処理は探索領域の全域に亘って実行され、基準孔５０ｃ，５０ｂを含む探索ブロックの位置がそれぞれ検出される。
【００４４】
次に、３次元画像データ処理装置３２は、ステップＳ４１０にて、基準孔５０ｃ，５０ｄの孔中心を計算するための仮の座標系を設定する。具体的には、前記ステップＳ４０８の処理によって検出した位置の探索ブロック内に含まれる３次元形状データ群Ｄａにおける各座標値（ｘａ，ｙａ，ｚａ）を前記式１に代入する。すなわち、３次元形状データ群を構成する点群（ｘｉ，ｙｉ，ｚｉ）（ｉ＝１〜ｎ）を前記式１の左辺に代入して、最小２乗法を用いてａ，ｂ，ｃを計算し、同３次元形状データ群によって表される平面Ｐを計算する。この場合、前記ステップＳ４０８の処理によって検出した位置の探索ブロック内に含まれる３次元形状データ群Ｄａにおける各座標値（ｘａ，ｙａ，ｚａ）は基準孔５０ｃ，５０ｄの開口部を表しており、同計算された平面Ｐは基準面設定治具の上面に開口した基準孔５０ｃ，５０ｄの開口部に平行な平面である。そして、３次元画像データ処理装置３２は、同計算された平面Ｐの法線ベクトルγと同法線ベクトルγに垂直で互いに直交するベクトルα，βを座標軸の方向とする座標系を仮の座標系として設定する。
【００４５】
次に、３次元画像データ処理装置３２は、ステップＳ４１２にて、前記ステップＳ４０８の処理によって検出した位置の探索ブロック内に含まれる３次元形状データ群Ｄａにおける各座標値（ｘａ，ｙａ，ｚａ）、すなわち基準孔５０ｃ，５０ｄの開口部を表す各座標値を前記ステップＳ４１０にて設定された仮の座標系による座標値に座標変換する。これにより、３次元形状測定装置２０Ａに関する座標系Ａによって表された基準孔５０ｃ，５０ｄの開口部を表す各座標値（ｘａ，ｙａ，ｚａ）が、基準孔５０ｃ，５０ｄの開口部と平行な平面Ｐ上に２つの座標軸がある座標系の座標値に座標変換され、各座標値の中で平面Ｐに垂直な座標軸における座標値が１つの値に統一される。次に、３次元画像データ処理装置３２は、ステップＳ４１４にて、基準孔５０ｃ，５０ｄの中心座標を計算する。具体的には、前記ステップＳ４１２にて座標変換された各座標値の中で１つの値に統一された座標値以外の２つの座標値（ｘａ，ｙａ）を、基準孔５０ｃ，５０ｄごとに下記式２に示す２次元における円の式に代入し、その値の２乗和が最小となるａ，ｂを最小２乗法を用いて計算する。この場合、ａ，ｂは円の中心座標（ａ，ｂ）を示す。これにより、基準孔５０ｃ，５０ｄの各中心座標Ｃｃ，Ｃｄがそれぞれ計算される。なお、下記式２においてｒは円の半径である。
（ｘ−ａ）２＋（ｙ−ｂ）２＝ｒ２      …式２
【００４６】
次に、３次元画像データ処理装置３２は、ステップＳ４１６にて、前記ステップＳ４１４にて計算した基準孔５０ｃ，５０ｄの各中心座標Ｃｃ，Ｃｄの座標値を３次元形状測定装置２０Ａに関する座標系Ａの座標値に座標変換する。具体的には、前記ステップＳ４１２による座標変換の逆変換を行い仮の座標系によって表された各中心座標Ｃｃ，Ｃｄの座標値を３次元形状測定装置２０Ａに関する座標系Ａの座標値に座標変換する。そして、３次元形状測定装置３２は、ステップＳ４１８にて、基準孔中心計算サブプログラムの実行を終了して基準面定義サブプログラムにおけるステップＳ３１２に戻る。
【００４７】
次に、３次元画像データ処理装置３２は、ステップＳ３１２にて、基準面Ｐｋａを定義する。基準面Ｐｋａ，Ｐｋｂは、基準孔５０ｃ，５０ｄの各中心座標Ｃｃ，Ｃｄを通り平面Ｐｓに垂直な平面である。具体的には、前記基準孔中心計算サブプログラムの実行により計算された基準孔５０ｃ，５０ｄの各中心座標Ｃｃ，Ｃｄをそれぞれ平面の式である前記式１に代入した２つの式と、平面Ｐｓの法線ベクトルと基準面Ｐｋａの法線ベクトルとの内積が「０」となる関係式との３つの式の連立方程式を解くことにより、平面の式におけるａ，ｂ，ｃを計算する。これにより、基準孔５０ｃ，５０ｄの各中心座標Ｃｃ，Ｃｄを通り平面Ｐｓに垂直な平面である基準面Ｐｋａが計算される。
【００４８】
次に、３次元画像データ処理装置３２は、ステップＳ３１４にて、基準面Ｐｋａ，Ｐｋｂの定義処理を終了するか否かを判定する。この判定処理において、基準面Ｐｋａ，Ｐｋｂが共に定義されていれば「Ｙｅｓ」と判定されてステップＳ３１６に進み、同ステップ３１６にて基準面定義サブプログラムの実行を終了して、ワーク長測定プログラムにおけるステップＳ１０６に戻る。一方、同判定処理において基準面Ｐｋａ，Ｐｋｂが共に定義されていなければ、すなわち基準面Ｐｋｂが定義されていなければ「Ｎｏ」と判定されてステップＳ３０２に戻る。この場合、３次元画像データ処理装置３２は、基準面Ｐｋａの定義と同様にして基準面Ｐｋｂを定義する。具体的には、作業者は、基準面設定治具５０を基準物体４０における他方の端部上（図４において左側）および支持台１０上にセットした後、入力装置３３を介して基準面設定治具５０に関する情報を入力する。以後の処理過程は、前記と同様であるので説明を省略する。これにより、図４に示すように基準面Ｐｋａに加えて基準面Ｐｋｂも定義される。なお、以前に定義された基準面が変更されない場合には、このステップＳ１０４による基準面の定義処理をスキップしてもよい。
【００４９】
また、本実施形態においては、基準物体４０における２つの端部上に基準面設定治具５０を載せ換えて基準面Ｐｋａ，Ｐｋｂを定義するようにしたが、これに代えて、基準面設定治具５０を２つ用意し、基準物体４０における２つの各端部上に同時に基準面設定治具５０をそれぞれセットする。そして、３次元形状測定装置２０Ａ，２０Ｂによりそれぞれ対応する基準面設定治具５０を同時に測定して、基準面Ｐｋａ，Ｐｋｂを定義する各処理を平行して実行するようにしてもよい。
【００５０】
次に、３次元画像データ処理装置３２は、ステップＳ１０６にて、測定対象空間情報を取得する。この測定対象空間情報を取得する処理に際して作業者は、３次元画像データ処理装置３２からの指示に基づいて、基準物体４０および基準面設定治具５０を支持台１０上から取り除く。そして、３次元画像データ処理装置３２は、図１２に示す測定対象空間情報取得サブプログラムの実行をステップＳ５００にて開始して、ステップＳ５０２にて、３次元形状測定装置２０Ａ，２０Ｂの測定対象空間内に存在する物体の３次元表面形状を表す測定情報の入力を待つ。一方、３次元形状測定装置２０Ａ，２０Ｂは、コントローラ３１によって制御され、測定対象空間内に存在する物体、具体的には、支持台１０および支持台１０の周辺に存在する物体の３次元表面形状の測定を開始する。そして、３次元形状測定装置２０Ａ，２０Ｂが測定対象空間内に存在する物体の測定を終了すると、測定結果を表す情報を３次元画像データ処理装置３２に出力する。
【００５１】
次に、３次元画像データ処理装置３２は、ステップＳ５０２にて、前述したステップＳ２０２の処理と同様にして３次元形状測定装置２０Ａ，２０Ｂからの測定情報をそれぞれ入力する。なお、この場合、３次元形状測定装置２０Ａ，２０Ｂからは、測定対象空間内に存在する物体（支持台１０など）の表面からの反射光の光量を表す情報も出力されるが、同情報は測定対象空間情報の取得には不要であるので３次元画像データ処理装置３２は同情報の入力を無視する。そして、ステップＳ５０４にて、前述したステップＳ２０４の処理と同様にして、３次元形状測定装置２０Ａ，２０Ｂごとに、各測定情報に基づいて測定対象空間に存在する物体に関する２組の３次元形状データ群Ｄａ，Ｄｂを得る。この２組の３次元形状データ群Ｄａ，Ｄｂもそれぞれ座標系Ａ，ＢによるＸ，Ｙ，Ｚ座標値で表されたもので、３次元形状データ群Ｄａ，Ｄｂ構成する各データセットは、（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）で表される。
【００５２】
次に、３次元画像データ処理装置３２は、ステップＳ５０６にて、前記ステップＳ５０４にて計算した２組の３次元形状データ群Ｄａ，Ｄｂを測定対象空間情報Ｍａ，Ｍｂとしてそれぞれ記憶する。そして、３次元画像データ処理装置３２は、ステップＳ５０８にて、測定対象空間情報取得サブプログラムの実行を終了して、ワーク長測定プログラムにおけるステップＳ１０８に戻る。なお、以前に取得された測定対象空間情報Ｍａ，Ｍｂが変更されない場合には、このステップＳ１０６による測定対象空間情報の取得処理をスキップしてもよい。
【００５３】
次に、３次元画像データ処理装置３２は、ステップＳ１０８にて、ワーク測定を実行する。このワークの測定処理に際して作業者は、３次元画像データ処理装置３２からの指示に基づいて、支持台１０上に３つのワークＷＫをそれぞれセットする。そして、３次元画像データ処理装置３２は、図１３に示すワーク測定サブプログラムの実行をステップＳ６００にて開始して、ステップＳ６０２にて、ワークＷＫの３次元表面形状を表す測定情報の入力を待つ。一方、３次元形状測定装置２０Ａ，２０Ｂは、コントローラ３１によって制御され、ワークＷＫの３次元表面形状の測定を開始する。そして、３次元形状測定装置２０Ａ，２０ＢがワークＷＫの測定を終了すると、測定結果を表す情報を３次元画像データ処理装置３２に出力する。この場合、測定結果を表す情報には、ワークＷＫのほかに支持台１０などワークＷＫの周辺に存在する他の物体の表面形状を表す測定情報も含まれている。
【００５４】
３次元画像データ処理装置３２は、ステップＳ６０２にて、前述したステップＳ２０２およびステップＳ５０２の処理と同様にして３次元形状測定装置２０Ａ，２０Ｂからの測定情報を入力する。なお、この場合、３次元形状測定装置２０Ａ，２０Ｂからは、ワークＷＫの表面からの反射光の光量を表す情報も出力されるが、同情報はワークＷＫの長さ測定には不要であるので３次元画像データ処理装置３２は同情報の入力を無視する。そして、ステップＳ６０４にて、前述したステップＳ２０４およびステップＳ５０４の処理と同様にして、３次元形状測定装置２０Ａ，２０Ｂごとに、各測定情報に基づいてワークＷＫに関する２組の３次元形状データ群Ｄａ，Ｄｂを得る。この２組の３次元形状データ群Ｄａ，Ｄｂもそれぞれ座標系Ａ，ＢによるＸ，Ｙ，Ｚ座標値で表されたもので、３次元形状データ群Ｄａ，Ｄｂを構成する各データセットは、（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）で表される。
【００５５】
次に、３次元画像データ処理装置３２は、ステップＳ６０６にて、各座標系Ａ，Ｂに対応した３次元形状データ群Ｄａ，Ｄｂのそれぞれに対して、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面したワークＷＫの表面形状をそれぞれ表す２つのサブ３次元形状データ群を抽出する。具体的には、前記ステップＳ６０４にて取得した３次元形状データ群Ｄａ，Ｄｂを構成する各座標値（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）から前記測定対象空間情報取得プログラムの実行により３次元画像データ処理装置３２に記憶された測定対象空間情報Ｍａ，Ｍｂを構成する各座標値（ｘａ，ｙａ，ｚａ），（ｘｂ，ｙｂ，ｚｂ）に所定範囲内で近い座標値があるものを除く。これにより、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面したワークＷＫの表面形状を表す２組のサブ３次元形状データ群Ｄａｗ，Ｄｂｗがそれぞれ抽出される。このサブ３次元形状データ群Ｄａｗ，Ｄｂｗが、本発明に係る３次元形状データ群に相当する。
【００５６】
次に、３次元画像データ処理装置３２は、ステップＳ６０８にて、前記ステップＳ６０６にて抽出した２組のサブ３次元形状データ群Ｄａｗ，Ｄｂｗを３つのワークＷＫに対応させてそれぞれ３つに分類する。具体的には、作業者は、３次元形状測定装置２０Ａ，２０Ｂの各座標系Ａ，Ｂ内においてそれぞれ３つの領域を設定し、同設定した各領域を３次元画像データ処理装置３２の記憶装置に予め記憶しておく。この３つの領域は、支持台１０上にセットされる３つのワークＷＫの位置にそれぞれ対応しており、各領域にはそれぞれ１つのワークＷＫのサブ３次元形状データ群が含まれる。そして、３次元画像データ処理装置３２は、この予め設定された各領域ごとにサブ３次元形状データ群Ｄａｗ，Ｄｂｗを分類し６組のサブ３次元形状データ群Ｄａｗ１，Ｄｂｗ１，Ｄａｗ２，Ｄｂｗ２，Ｄａｗ３，Ｄｂｗ３として記憶する。この場合、サブ３次元形状データ群Ｄａｗ１とＤｂｗ１、Ｄａｗ２とＤｂｗ２およびＤａｗ３とＤｂｗ３とは、それぞれ同一のワークＷＫにおける各端部を表す３次元形状データである。
【００５７】
次に、３次元画像データ処理装置３２は、ステップＳ６１０にて、３つのワークＷＫの各端面Ｓａ，Ｓｂをそれぞれ表す２つの平面Ｐｗａ，ＰｗｂをワークＷＫごとに定義する。ここで３次元形状測定装置２０Ａによって測定された１つのワークＷＫの表面形状を表すサブ３次元形状データ群Ｄａｗを点群として図に表すと図１４に示すように表される。この場合、３次元形状測定装置２０Ａに最も近い３次元データは、矢印Ａで示した付近の３次元データ、すなわちワークＷＫの端面Ｓａにおける外周部上端を定義する３次元データである。したがって、３次元画像データ処理装置３２は、各サブ３次元形状データ群Ｄａｗ１，Ｄｂｗ１，Ｄａｗ２，Ｄｂｗ２，Ｄａｗ３，Ｄｂｗ３のうち最も３次元形状測定装置２０Ａ，２０Ｂに近い座標値（３次元形状測定装置２０Ａにおいては図１４中、矢印Ａで示した付近の座標値）および同座標値から図示下側に存在する座標値を所定数だけ抽出し、同抽出した各座標値を前記式１に示される平面の式に代入して最小２乗法により仮の平面を定義する。そして、３次元画像データ処理装置３２は、同定義された仮の平面に対して所定の範囲に属する各サブ３次元形状データ群Ｄａｗ１，Ｄｂｗ１，Ｄａｗ２，Ｄｂｗ２，Ｄａｗ３，Ｄｂｗ３の各座標値をそれぞれ抽出し、同抽出された各座標値を再度前記式１に代入して最小２乗法により平面をそれぞれ定義する。これにより、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面する各ワークＷＫの各端面Ｓａ，Ｓｂをそれぞれ含む平面Ｐｗａ１，Ｐｗｂ１，Ｐｗａ２，Ｐｗｂ２，Ｐｗａ３，Ｐｗｂ３がそれぞれ定義される。図１５は、１つのワークＷＫにおける端面Ｓａ，Ｓｂに対して、それぞれ同端面Ｓａ，Ｓｂを表す平面Ｐｗａ，Ｐｗｂが定義された状態を示している。
【００５８】
次に、３次元画像データ処理装置３２は、ステップＳ６１２にて、ワークＷＫの長さ測定が可能か否かを判定する。具体的には、前記基準面定義サブプログラムにより定義された基準面Ｐｋａ，Ｐｋｂに対する前記ステップＳ６１０にて定義された平面Ｐｗａ１，Ｐｗｂ１，Ｐｗａ２，Ｐｗｂ２，Ｐｗａ３，Ｐｗｂ３の傾きをそれぞれ計算し、同計算された各傾きが所定の範囲内であるか否かをワークＷＫごとに判定する。すなわち、３つの各ワークＷＫの各端面Ｓａ，Ｓｂに対応する平面Ｐｗａ１とＰｗｂ１、Ｐｗａ２とＰｗｂ２およびＰｗａ３とＰｗｂ３の各平面のセットごとに基準面Ｐｋａ，Ｐｋｂに対する傾きを計算してワークＷＫの長さ測定が可能か否かをワークＷＫごとに判定する。より具体的には、基準面Ｐｋａに対して平面Ｐｗａ１，Ｐｗａ２，Ｐｗａ３の各角度を計算するとともに、基準面Ｐｋｂに対して平面Ｐｗｂ１，Ｐｗｂ２，Ｐｗｂ３の各角度を計算する。この判定処理において、基準面Ｐｋａ，Ｐｋｂに対する各平面のセット、具体的にはＰｗａ１とＰｗｂ１、Ｐｗａ２とＰｗｂ２およびＰｗａ３とＰｗｂ３とがともに所定の範囲内の傾きである場合には、ワークＷＫの長さ測定が可能であるとして「Ｙｅｓ」と判定してステップＳ６１４に進む。すなわち、ワークＷＫの各端面Ｓａ，Ｓｂがともに基準面Ｐｋａ，Ｐｋｂに対して略平行である場合にはワークＷＫの長さ測定が可能であると判定される。この場合、少なくとも１つのワークＷＫの長さ測定が可能であれば、同判定処理において「Ｙｅｓ」と判定される。
【００５９】
一方、各平面のセット（平面Ｐｗａ１とＰｗｂ１、Ｐｗａ２とＰｗｂ２およびＰｗａ３とＰｗｂ３）において、各セット内におけるどちらか一方の平面の基準面Ｐｋａ，Ｐｋｂに対する傾きが所定の範囲外である場合、すなわち、ワークＷＫの各端面Ｓａ，Ｓｂのうち少なくとも一方の端面が基準面Ｐｋａ，Ｐｋｂに対して傾斜、具体的には同端面のうち少なくとも一方の端面がワークＷＫの側面に対して垂直でないことによりワークＷＫの長手方向に対して直交していない、またはワークＷＫの端部が曲がっていることにより同端部における端面がワークＷＫの長手方向に対して直交していない場合には、ワークＷＫの長さ測定が不可能である。したがって、この判定処理において、すべてのワークＷＫの長さ測定が不可能である場合には、「Ｎｏ」と判定してステップＳ６１６に進み、ステップＳ６１６にてワークＷＫの長さ測定が不可能である旨を表示装置３４に表示させる。
【００６０】
次に、３次元画像データ処理装置３２は、ステップＳ６１４にて、前記ステップＳ６１２にてワークＷＫの長さ測定が可能と判定されたワークＷＫに対して同ワークＷＫの中心軸を定義する。このワークＷＫの中心軸の定義は、図１６に示すワークの中心軸定義サブプログラムを実行することにより行われる。３次元画像データ処理装置３２は、ワークの中心軸定義サブプログラムをステップＳ７００にて開始して、ステップＳ７０２にて、基準面Ｐｋａ，Ｐｋｂに平行な平面Ｐｋａ’，Ｐｋｂ’をそれぞれ定義する。具体的には、図１５に示すように基準面Ｐｋａ，Ｐｋｂに対して互いに他方の基準面Ｐｋｂ，Ｐｋａ側に所定の距離だけ離れた位置に、基準面Ｐｋａ，Ｐｋｂと平行な平面Ｐｋａ’，Ｐｋｂ’をそれぞれ定義する。
【００６１】
次に、３次元画像データ処理装置３２は、ステップＳ７０４にて、基準面Ｐｋａ，Ｐｋｂおよび平面Ｐｋａ’，Ｐｋｂ’ごとに仮の座標系をそれぞれ設定する。具体的には、前記基準孔中心計算プログラムにおけるステップＳ４１０と同様に、基準面Ｐｋａ，Ｐｋｂおよび平面Ｐｋａ’，Ｐｋｂ’に対して所定の範囲内に存在するサブ３次元形状データ群Ｄａｗ，Ｄｂｗを前記式１に示す平面の式に代入して最小２乗法により基準面Ｐｋａ，Ｐｋｂおよび平面Ｐｋａ’，Ｐｋｂ’にそれぞれ対応する４つの平面を計算する。この場合、計算される４つの平面は、ワークＷＫの長手方向に対して直交する。そして、計算された各平面の法線ベクトルγと同法線ベクトルγに垂直で互いに直交するベクトルα，βを座標軸の方向とする座標系を仮の座標系としてそれぞれ設定する。
【００６２】
次に、３次元形状測定装置３２は、ステップＳ７０６にて、前記ステップＳ４１２と同様に、基準面Ｐｋａ，Ｐｋｂおよび平面Ｐｋａ’，Ｐｋｂ’に対して所定の範囲内に存在するサブ３次元形状データ群Ｄａｗ，Ｄｂｗの各座標値をそれぞれ対応する前記各仮の座標系による座標値に座標変換する。これにより、３次元形状測定装置２０Ａ，２０Ｂに関する各座標系Ａ，Ｂによって表されたサブ３次元形状データ群Ｄａｗ，Ｄｂｗの各座標値が、ワークＷＫの軸方向に直交する平面上に２つの座標軸がある座標系の座標値に座標変換され、同各座標値の中で同平面に垂直な座標軸（ワークＷＫの軸方向）における座標値が１つの値に統一される。次に、３次元画像データ処理装置３２は、ステップＳ７０８にて、ワークＷＫの中心軸上の座標値を計算する。具体的には、前記ステップＳ４１４と同様に、各仮の座標系による座標値に座標変換された各座標値を前記式２に示す２次元における円の式に代入し、最小２乗法を用いて同円の中心座標Ｃａ，Ｃｂ，Ｃａ’，Ｃｂ’を計算する。これにより、各仮の座標系ごとにワークＷＫの中心軸上の座標値が計算される。
【００６３】
次に、３次元画像データ処理装置３２は、ステップＳ７１０にて、前記ステップＳ７０８にて計算した中心座標Ｃａ，Ｃｂ，Ｃａ’，Ｃｂ’の座標値を３次元形状測定装置２０Ａ，２０Ｂに関する各座標系Ａ，Ｂの座標値に座標変換する。具体的には、前記ステップＳ７０６による座標変換の逆変換を行い、各仮の座標系によって表された各中心座標Ｃａ，Ｃｂ，Ｃａ’，Ｃｂ’の座標値を３次元形状測定装置２０Ａ，２０Ｂに関する各座標系Ａ，Ｂの座標値に座標変換する。次に、３次元画像データ処理装置３２は、ステップＳ７１２にて、ワークＷＫの中心軸を定義する。具体的には、基準面Ｐｋａおよび平面Ｐｋａ’に対応してそれぞれ計算された中心座標Ｃａ，Ｃａ’を通る直線ＣＬａを計算するとともに、基準面Ｐｋｂおよび平面Ｐｋｂ’に対応してそれぞれ計算された中心座標Ｃｂ，Ｃｂ’を通る直線ＣＬｂを計算する。これにより、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面する各ワークＷＫ（ワークＷＫの長さ測定可能なワークＷＫ）に対してそれぞれ中心軸ＣＬａ，ＣＬｂが定義される。そして、３次元画像データ処理装置３２は、ステップＳ７１４にて、ワークの中心軸定義サブプログラムの実行を終了してワーク長測定プログラムにおけるステップＳ６１８に戻る。
【００６４】
次に、３次元画像データ処理装置３２は、ステップＳ６１８にて、ワークＷＫの各端面Ｓａ，Ｓｂの各中心座標を計算する。具体的には、多数の座標値から重心座標を計算する場合のように、Ｘ座標，Ｙ座標，Ｚ座標ごとに各座標値を足し合わせ、それぞれの合計値を足し合わせた座標値の数で除算する。これにより、ワークＷＫの端面Ｓａ，Ｓｂにおける各中心座標Ｃｗａ，Ｃｗｂがそれぞれ計算される。
【００６５】
次に、３次元画像データ処理装置３２は、ステップＳ６２０にて、ワークＷＫの２つの各端部の曲がりを検出する。具体的には、前記ステップＳ６１０にて定義された平面Ｐｗａと前記ステップＳ６１４におけるワークの中心軸定義サブプログラムの実行により定義された中心軸ＣＬａとの交点および平面Ｐｗｂと中心軸ＣＬｂとの交点をそれぞれ計算する。そして、同計算された各交点の各座標値と前記ステップＳ６１８にて計算された中心座標Ｃｗａ，Ｃｗｂの各座標値との差が所定の範囲内である場合には、ワークＷＫの端部が曲がっていないとして「Ｎｏ」と判定してステップＳ６２２に進む。一方、前記計算された各交点の各座標値と中心座標Ｃｗａ，Ｃｗｂの各座標値との差が所定の範囲外である場合には、ワークＷＫの端部が曲がっているとして「Ｙｅｓ」と判定してステップＳ６２４に進む。
【００６６】
この判定処理を具定例を挙げて説明すると、図１７（Ａ），（Ｂ）に示すように、ワークＷＫの端部の形状が曲がっていない場合、すなわち図１７（Ａ）に示すようにワークＷＫの端部ＳａがワークＷＫの中心軸ＣＬａに対して直交している場合、および図１７（Ｂ）に示すようにワークＷＫの端部が曲がっていない状態で端部ＳａがワークＷＫの中心軸ＣＬａに対して直交していない場合には、ワークＷＫの端面Ｓａの中心座標Ｃｗａと、同ワークＷＫの中心軸ＣＬａと平面Ｐｗａとの交点とは略同一座標値となる。一方、図１７（Ｃ）に示すように、ワークＷＫの端部Ｓａの形状が下方に曲がっている場合には、ワークＷＫの端面Ｓａの中心位置がワークＷＫの中心軸ＣＬａからずれるため、ワークＷＫの端面Ｓａの中心座標Ｃｗａと、同ワークＷＫの中心軸ＣＬａと平面Ｐｗａとの交点とは同一座標値とはならず異なる値となる。したがって、ワークＷＫの端部Ｓａ，Ｓｂが曲がっている場合には、同判定処理において「Ｙｅｓ」と判定されてステップＳ６２４に進み、ワークＷＫの端部Ｓａ，Ｓｂが曲がっていない場合には、同判定処理において「Ｎｏ」と判定されてステップＳ６２２に進む。なお、図１７（Ｂ），（Ｃ）においては、端面Ｓａの傾斜している状態を誇張して示している。
【００６７】
ステップＳ６２２においては、ワークＷＫの２つの各端部が曲がっていない場合におけるワークＷＫの長さ測定用の平面Ｐｍａ，Ｐｍｂをそれぞれ定義する。具体的には、前記ステップ６２０にて計算された平面Ｐｗａと中心軸ＣＬａとの交点を含み基準面Ｐｋａに平行な平面を測定用平面Ｐｍａとして定義するとともに、平面Ｐｗｂと中心軸ＣＬｂとの交点を含み基準面Ｐｋｂに平行な平面を測定用平面Ｐｍｂとして定義する。すなわち、測定用平面Ｐｍａ，Ｐｍｂは、ワークＷＫの２つの各端面Ｓａ，Ｓｂの各中心点を含み互いに平行な平面である。この測定用平面Ｐｍａ，Ｐｍｂは、それぞれ平面Ｐｗａ，Ｐｗｂと略同一の平面であるが、平面Ｐｗａ，ＰｗｂがワークＷＫの各端面Ｓａ，Ｓｂに対して平行であるのに対し、測定用平面Ｐｍａ，Ｐｍｂは基準面Ｐｋａ，Ｐｋｂに対して平行でありワークＷＫの各端面Ｓａ，Ｓｂの傾きに因らず定義することができる。したがって、ワークＷＫの端部Ｓａ，ＳｂがワークＷＫの中心軸に対して直交している場合（曲がっていない場合）には、平面Ｐｗａ，Ｐｗｂを測定用平面Ｐｍａ，Ｐｍｂとしてもよい。
【００６８】
ステップＳ６２４においては、前記ステップＳ６１８にて計算されたワークＷＫの各端面Ｓａ，Ｓｂの各中心座標Ｃｗａ，Ｃｗｂの各座標値を補正する。この中心座標Ｃｗａ，Ｃｗｂの補正処理は、ワークＷＫの２つの各端部のうち前記ステップＳ６２０にて曲がりが検出された端部における中心座標Ｃｗａ，Ｃｗｂを、同端部の曲がりがない場合（同端部が直線状である場合）における同端部の端面Ｓａ，Ｓｂの中心座標に補正する処理である。このステップ６２４における補正処理において３次元画像データ処理装置３２は、図１８に示す中心座標補正サブプログラムをステップＳ８００にて開始して、ステップＳ８０２にて、曲がり測定用平面Ｐｍｃを定義する。なお、この中心座標補正サブプログラムの処理においては、図１９(Ａ)(Ｂ)に示すように、ワークＷＫの端面Ｓａにおける端部が曲がっている場合を例として説明する。また、同図中のワークＷＫの端部は、曲がった状態を誇張して示している。また、図１９（Ｂ）においては、図を分かりやすくするため、支持台１０を省略している。
【００６９】
まず、３次元画像データ処理装置３２は、前記ステップ６２０の判定処理にて曲がりが検出された端部における端面Ｓａに対応する基準面Ｐｋａから同端面Ｓａ側に所定の間隔で同基準面Ｐｋａに平行な平面Ｐｋａ’を定義する。次に、３次元画像データ処理装置３２は、図１９（Ｂ）に示すように、平面Ｐｋａ’内において直交する２つの軸を中心として各軸ごとに所定の角度範囲内において所定の角度ずつ同平面Ｐｋａ’を傾ける。そして、各所定の角度ごとに、傾けられた平面Ｐｋａ’に対して所定の範囲内に存在するサブ３次元形状データ群Ｄａｗを抽出し、同抽出されたサブ３次元形状データ群Ｄａｗの各座標値を前記式２に示す円の式に代入して、最小２乗法により円Ｃを定義する。そして、同円Ｃから前記抽出されたサブ３次元形状データ群Ｄａｗの各座標値との距離を計算し、同各座標値ごとの距離における標準偏差を計算する。
【００７０】
具体的には、円Ｃの定義の仕方は、前記ステップＳ６１４におけるワークＷＫの中心軸を計算する処理と同様である。すなわち、前記基準孔中心計算プログラムにおけるステップＳ４１０と同様に、曲がり測定用平面Ｐｍｃｎ（ｎ＝１）において平面の法線ベクトルγと同法線ベクトルγに垂直で互いに直交するベクトルα，βを座標軸の方向とする座標系を仮の座標系としてそれぞれ設定する。次に、３次元画像データ処理装置３２は、前記ステップＳ４１２と同様に、曲がり測定用平面Ｐｍｃｎ（ｎ＝１）に対して所定の範囲内に存在するサブ３次元形状データ群Ｄａｗの各座標値を前記各仮の座標系による座標値に座標変換する。これにより、３次元形状測定装置２０Ａに関する座標系Ａによって表されたサブ３次元形状データ群Ｄａｗの各座標値が、曲がり測定用平面Ｐｍｃ１上に２つの座標軸がある座標系の座標値に座標変換され、同各座標値の中で同曲がり測定用平面Ｐｍｃｎ（ｎ＝１）に垂直な座標軸（ワークＷＫの中心軸方向）における座標値が１つの値に統一される。そして、３次元画像データ処理装置３２は、前記ステップＳ４１４と同様に、仮の座標系の座標値に座標変換された各座標値を前記式２に示す２次元における円の式に代入し、最小２乗法を用いて同円の中心座標Ｃｃおよび半径ｒを計算した後、サブ３次元形状データ群Ｄａｗの各座標値から中心座標Ｃｃまでの距離を計算し、同距離から半径ｒの値を減算する。この減算した値が円から各座標値までの距離に相当し、すべての座標値おける同距離の標準偏差を計算する。
【００７１】
この標準偏差を計算する処理を、前記所定の角度範囲内において所定の角度ずつ実行し、計算された標準偏差が最小となる角度における平面Ｐｋａ’を曲がり測定用平面Ｐｍｃｎ（ｎ＝１）とする。すなわち、平面Ｐｋａ’に対して所定の範囲内に存在するサブ３次元形状データ群Ｄａｗは、同平面Ｐｋａ’の傾けられる角度に応じて楕円状または円状に抽出される。そして、楕円状または円状に抽出されたサブ３次元形状データ群Ｄａｗに基づいて円Ｃが計算され標準偏差が計算される。この場合、計算された円Ｃに対する抽出されたサブ３次元形状データ群Ｄａｗの各座標値の差が小さいほど計算される標準偏差は小さくなる。換言すれば、サブ３次元形状データ群Ｄａｗが円状に抽出されるほど円Ｃとの差、すなわち標準偏差が小さくなる。そして、標準偏差が最小となる平面Ｐｋａ’、すなわち曲がり測定用平面Ｐｍｃは、曲がりが検出された端部におけるワークＷＫの中心軸に直交する平面となる。なお、図１９（Ａ）（Ｂ）において曲がり測定用平面Ｐｍｃｎ（ｎ＝１）は、平面Ｐｋａ’と略同一平面となる。
【００７２】
次に、３次元画像データ処理装置３２は、ステップＳ８０４にて、曲がり測定用平面Ｐｍｃ内におけるワークＷＫの中心座標Ｃｃを計算する。中心座標Ｃｃは、ステップＳ８０２にて仮の座標系の座標値として計算されているため、先の座標変換とは逆の座標変換により対応する３次元形状測定装置２０Ａに関する座標系Ａによる座標値に座標変換する。これにより、曲がり測定用平面Ｐｍｃｎ（ｎ＝１）内におけるワークＷＫの中心座標Ｃｃが計算される。
【００７３】
次に、３次元画像データ処理装置３２は、ステップＳ８０６にて、ワークＷＫの中心座標Ｃｃの計算を終了するか否かを判定する。具体的には、前記ステップＳ８０４にて計算したワークＷＫの中心座標Ｃｃが曲がりが検出された端部における端面の中心座標Ｃｗａと一致または所定の判別値内であるか否かを判定し、中心座標Ｃｃが中心座標Ｃｗａと一致または所定の判別値内でなければ「Ｎｏ」と判定してステップＳ８０２に戻り、再度ワークＷＫの中心座標Ｃｃを計算する。この場合、ステップＳ８０２にて定義される平面Ｐｋａ’’は、前回定義された平面Ｐｋａ’
より端面Ｓａ側に所定の間隔で移動した位置で定義される。また、図１９（Ａ）に示すように、平面Ｐｋａ’’がワークＷＫの端部における曲がった部分に定義される場合には、曲がり測定用平面Ｐｍｃｎ（ｎ＝２）は、同端部におけるワークＷＫの中心軸に直交する平面となる。一方、同判定処理において、中心座標Ｃｃが中心座標Ｃｗａと一致または所定の判別値内であれば「Ｙｅｓ」と判定してステップＳ８０８に進む。これにより、曲がりが検出された端部に対応する基準面Ｐｋａと端面Ｓａとの間のワークＷＫの中心軸上の座標値が中心座標Ｃｃｉ（ｉ＝１〜ｎ）として計算される。なお、図１９（Ａ）において、平面Ｐｋａ’と平面Ｐｋａ’’との間隔は誇張して示している。
【００７４】
次に、３次元画像データ処理装置３２は、ステップＳ８０８にて、曲がりが検出された端部における中心軸に対応する円Ｃを定義する。具体的には、図２０に示すように、前記ステップＳ８０２〜Ｓ８０６の各処理により計算されたワークＷＫの中心軸の座標値である中心座標Ｃｃｉ（ｉ＝１〜ｎ）を前記式１に示される平面の式にそれぞれ代入して、最小２乗法により曲がりが検出された端部における中心軸を含む平面Ｐを定義する。そして、前記ステップＳ８０４と同様に、平面Ｐの法線ベクトルγと同法線ベクトルに垂直で互いに直交するベクトルα，βを座標軸の方向とする座標系を仮の座標系としてそれぞれ設定する。次に、３次元画像データ処理装置３２は、前記ステップＳ３１２と同様に、中心座標Ｃｃｉ（ｉ＝１〜ｎ）の各座標値を仮の座標系による座標値に座標変換する。これにより、３次元形状測定装置２０Ａに関する各座標系Ａによって表された中心座標Ｃｃｉ（ｉ＝１〜ｎ）の各座標値が平面Ｐ上に２つの座標軸がある座標系の座標値に座標変換され、各座標値の中で平面Ｐに垂直な座標軸上の座標値が１つの値に統一される。
【００７５】
そして、３次元画像データ処理装置３２は、仮の座標系の座標値に座標変換された各座標値を前記式２に示す２次元における円の式に代入し、最小２乗法を用いて同円の中心座標Ｃをおよび半径ｒを計算した後、前記ステップＳ４１６と同様に仮の座標系の座標値によって表された中心座標Ｃを対応する３次元形状測定装置２０Ａに関する座標系Ａによって表された座標値に座標変換する。これにより、曲がりが検出された端部における中心軸に対応する円Ｃが定義される。
【００７６】
次に、３次元画像データ処理装置３２は、ステップＳ８１０にて、端面Ｓａの中心座標Ｃｗａを補正する。具体的には、曲がりが検出された端部に対応する中心軸ＣＬａと前記円Ｃとの交点Ｐ０（または接点）を特定する。この交点Ｐ０は、曲がりが検出された端部における中心軸の曲がり始めを表す。次に、特定された交点Ｐ０と曲がりが検出された端部における端面Ｓａの中心座標Ｃｗａ（換言すれば、円Ｃと端面Ｓａの交点Ｐ１）とを結ぶ直線の長さＬｓｔ（弦の長さ）を計算し、同長さＬｓｔと円Ｃの半径ｒとから交点Ｐ０と中心座標Ｃｗａ（換言すれば、円Ｃと端面Ｓａの交点Ｐ１）とを結ぶ円Ｃの円周上の長さ（弧の長さ）Ｌａｒｃする。そして、中心軸ＣＬａ上における交点Ｐ０の座標値に中心軸ＣＬａ方向に長さＬａｒｃ（弧の長さ）を加算した座標値を新たな中心座標Ｃｗａ’とする。なお、ワークＷＫの端面Ｓｂにおける端部が曲がっている場合においても同様に中心座標Ｃｗｂが中心座標Ｃｗｂ’に補正される。これにより、曲がりが検出された端部において、同端部の曲がりがない場合（同端部が直線状である場合）における同端部の端面Ｓａの中心座標Ｃｗａ’，Ｃｗｂ’が計算される。そして、３次元画像データ処理装置３２は、ステップＳ８１２にて、中心座標補正サブプログラムの実行を終了して、ワーク測定サブプログラムにおけるステップＳ６２２に戻る。ステップＳ６２２においては、この中心座標補正サブプログラムの実行によって補正された中心座標Ｃｗａ’，Ｃｗｂ’に基づいて測定用平面Ｐｍａ，Ｐｍｂがそれぞれ定義される。
【００７７】
次に、３次元画像データ処理装置３２は、ステップＳ６２６にて、ワークＷＫの長さを計算する。具体的には、図２１に示すように、測定用平面Ｐｍａ，Ｐｍｂと同測定用平面Ｐｍａ，Ｐｍｂに対応する３次元形状測定装置２０Ａ，２０Ｂに関する各座標系Ａ，Ｂにおける原点Ｏａ，Ｏｂとの距離Ｌａ，Ｌｂをそれぞれ計算する。この場合、距離Ｌａは、３次元形状測定装置２０Ａの座標系Ａにおける原点Ｏａを通り測定用平面Ｐｍａに直交する直線の長さである。また、距離Ｌｂは、３次元形状測定装置２０Ｂの座標系Ｂにおける原点Ｏｂを通り測定用平面Ｐｍｂに直交する直線の長さである。そして、３次元画像データ処理装置３２は、ステップＳ１０２における基準距離計算サブプログラムにより計算された基準距離Ｌ０（３次元形状測定装置２０Ａと３次元形状測定装置２０Ｂとの距離）から同距離Ｌａ，Ｌｂを減算することによりワークＷＫの長さＬを計算する。
【００７８】
そして、３次元画像データ処理装置３２は、ステップＳ６２８にて、前記計算したワークＷＫの長さＬを表示装置３４に表示させる。この場合、３つのワークＷＫのうち長さ測定が不可能であるワークＷＫについては、同ワークＷＫの長さ測定が不可能である旨を表示装置３４に表示させる。なお、ステップＳ６１４にて、ワークＷＫの長さ測定が不可能と判定された場合には、前記したように同ステップＳ６１６にてワークＷＫの長さ測定が不可能である旨を表示装置３４に表示させた後、ステップＳ６３０に進む。次に、３次元画像データ処理装置３２は、ステップＳ６３０にて、ワークＷＫの長さ測定を終了するか否かを判定する。具体的には、３次元画像データ処理装置３２は、ワークＷＫの長さ測定を終了するか否かを表示装置３４を介して作業者に問い合わせて作業者からの指示を待つ。この場合、作業者は、他に測定すべきワークＷＫが存在する場合には、支持台１０上にセットされているワークＷＫを取り除くとともに新たなワークＷＫを支持台１０上にセットした後、その旨を入力装置３３を介して指示する。一方、作業者は、他に測定すべきワークＷＫが存在しない場合には、支持台１０上にセットされているワークＷＫを取り除いた後、その旨を入力装置３３を介して指示する。
【００７９】
３次元形状測定装置３２は、作業者からワークＷＫの長さ測定を続行する旨の指示を受けた場合には、前記判定処理において「Ｎｏ」と判定してステップＳ６０２に戻り、改めてワークＷＫの測定処理を実行する。また、３次元形状測定装置３２は、作業者からワークＷＫの長さ測定を終了する旨の指示を受けた場合には、前記判定処理において「Ｙｅｓ」と判定してステップＳ６３２にてワーク測定サブプログラムの実行を終了して、ワーク長測定プログラムにおけるステップＳ１１０に戻り、同ステップＳ１１０にてワーク長測定プログラムの実行を終了する。
【００８０】
上記作動説明からも理解できるように、上記実施形態によれば、３次元画像データ処理装置３２に予めワークＷＫにおける測定対象となる端面Ｓａ，Ｓｂ間の軸線に沿って３次元形状測定装置２０Ａの座標原点Ｏａと３次元形状測定装置２０Ｂの座標原点Ｏｂとの距離を基準距離Ｌ０として記憶している。そして、前記軸線に直交する基準面Ｐｋａ，Ｐｋｂと平行な測定用平面Ｐｍａ，Ｐｍｂを測定対象となる端面Ｓａ，Ｓｂに定義し、同測定用平面Ｐｍａ，ｐｍｂと基準距離Ｌ０とを用いて測定対象物の長さＬを計算している。これによれば、測定対象となる端面Ｓａ，Ｓｂに対して測定用平面Ｐｍａ，Ｐｍｂが定義できれば、すなわち、測定対象となる端面Ｓａ，Ｓｂを含むワークＷＫの端部の表面形状を表す３次元形状データ群が取得できれば、常にワークＷＫの軸線に沿って同ワークＷＫの長さを測定することができ、３次元形状測定装置２０Ａ，２０Ｂの配置位置は限定されない。また、測定用平面Ｐｍａ，Ｐｍｂは３次元データによって定義されるため、測定対象となる端面Ｓａ，Ｓｂの形状および３次元形状測定装置２０Ａ，２０Ｂに対する同端面Ｓａ，Ｓｂの向きに寄らず一定の平面を定義することができる。これにより、精度の高いワークＷＫの長さ測定が可能となる。
【００８１】
また、測定用平面Ｐｍａ，Ｐｍｂは、端面Ｓａ，Ｓｂを表す平面Ｐｋａ，ＰｋｂとワークＷＫの中心軸ＣＬａ，ＣＬｂとの交点に基づいて定義されるため、端面Ｓａ，Ｓｂが中心軸に対して完全に垂直でない場合や端部が若干曲がっている場合であっても、端面Ｓａ，Ｓｂにおける正確な中心点に基づいて測定用平面Ｐｍａ，Ｐｍｂを定義することができる。また、ワーク測定サブプログラムにおけるステップＳ６１２において、端面Ｓａ，Ｓｂの傾きに応じてワークＷＫの長さ測定を実行するか否かを判定し、同端面Ｓａ，ＳｂがワークＷＫの軸線に対して所定量以上傾いている場合には、ワークＷＫの長さ測定を実行しない。これにより、端面Ｓａ，ＳｂがワークＷＫの軸線に対して垂直から所定の範囲内の角度でずれている場合のみ、同ワークＷＫの長さ測定を行うことができ、測定したワークＷＫの長さ比較をより正確に行うことができる。
【００８２】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００８３】
上記実施形態においては、ワークＷＫの各端部に対応させてそれぞれ基準面Ｐｋａ，Ｐｋｂを定義するようにしたが、ワークＷＫの長さが短い場合など、３次元形状測定装置２０Ａ，２０Ｂの測定対象空間が重なる場合は、同ワークＷＫの両端部に対応する１つの基準面Ｐｋを定義するようにしてもよい。この場合、３次元形状測定装置２０Ａ，２０Ｂの両測定対象空間内に基準面設定治具５０を配置（例えば、基準物体４０の中央部）する。これによれば、基準面Ｐｋを設定する作業が１回で済み、基準面Ｐｋの設定作業を効率的にできる。また、１つの基準面Ｐｋに基づいて基準距離Ｌ０の計算や各種平面の設定を行うことができるので、ワークＷＫの長さ測定をより精度良く行うことができる。
【００８４】
また、上記実施形態においては、基準面設定治具５０を用いて基準面Ｐｋａ，Ｐｋｂを定義するように構成したが、これに限定されるものではない。例えば、基準物体４０における端面４０ａ，４０ｂは、同基準物体４０の軸線に対して直交しているため、同端面４０ａ，４０ｂを表す３次元形状データ群を用いて基準面Ｐｋａ，Ｐｋｂを定義することもできる。これによれば、基準面設定治具５０が不要になるため基準面設定作業を効率的に行うことができる。なお、この場合、端面４０ａ，４０ｂは面積が小さいため、比較的半径が小さなワークＷＫの長さ測定において有効である。
【００８５】
また、上記実施形態においては、３次元形状測定装置２０Ａ，２０Ｂの各座標系Ａ，Ｂ内においてそれぞれ３つの領域を予め設定し、同設定した領域内に存在するサブ３次元形状データ群Ｄａｗ，Ｄｂｗを抽出して、３つのワークＷＫに対応するサブ３次元形状データ群Ｄａｗ，Ｄｂｗをそれぞれ分類したが、これに限定されるものではない。例えば、ステップＳ５０６にて抽出したワークＷＫの表面形状を表すサブ３次元形状データ群Ｄａｗ，Ｄｂｗのうち、３次元形状測定装置２０Ａ，２０Ｂに最も近い座標値（図１４中、矢印Ａで示した付近の３次元データ）および同座標値から図示下側に存在する座標値を所定数だけ抽出し、同抽出した各座標値を前記式１に示される平面の式にそれぞれ代入して最小２乗法により仮の平面を定義する。そして、同定義した各仮の平面に対して所定の範囲に属する各サブ３次元形状データ群Ｄａｗ，Ｄｂｗの各座標値をそれぞれ抽出し、同抽出された各座標値を再度前記式１に代入して最小２乗法により平面をそれぞれ定義する。これにより、３次元形状測定装置２０Ａ，２０Ｂにそれぞれ面するワークＷＫのうち最も３次元形状測定装置２０Ａ，２０Ｂに近いワークＷＫの端面Ｓａを含む平面Ｐａ，Ｐｂがそれぞれ定義される。この平面Ｐａ，Ｐｂは、ワークＷＫの軸線方向に直交する平面である。
【００８６】
次に、３次元画像データ処理装置３２は、３次元形状測定装置２０Ａ，２０Ｂにおける測定対象空間を前記基準孔中心計算サブプログラムにおける単位ブロックと同様の単位ブロックによって分割する。基本的には、ワークＷＫに関するサブ３次元形状データ群Ｄａｗ，Ｄｂｗに基づき、測定対象空間内のうちサブ３次元形状データ群Ｄａｗ，Ｄｂｗが存在する空間を単位ブロックで立体的に分割する。分割は、前記平面Ｐａ，Ｐｂに沿って単位ブロックを並べていく方法で行う。この場合、単位ブロックの大きさは、ワークＷＫの一部が存在することを確認可能である程度に小さく設定され、例えば、ワークＷＫの端面Ｓａ，Ｓｂを縦横８個ずつの単位ブロック内において包含するためのサイズに設定する。
【００８７】
そして、この縦横８個ずつの単位ブロックの集合を探索ブロックとして単位ブロックを単位として平面Ｐａ，Ｐｂに沿って移動させ、ワークＷＫの端面Ｓａ，Ｓｂを探索する。この場合、ワークＷＫの端面Ｓａ，Ｓｂの探索は、サブ３次元形状データ群Ｄａｗ，Ｄｂｗが存在する単位ブロックを予め抽出しておき、探索ブロック内に存在する単位ブロック（サブ３次元形状データ群Ｄａｗ，Ｄｂｗが存在する単位ブロック）の数および配置の仕方によりワークＷＫの端面Ｓａ，Ｓｂを検出する。そして、ワークＷＫの端面Ｓａ、Ｓｂが検出された場合には、平面Ｐａ，Ｐｂに直交する方向（ワークＷＫの軸線方向）に存在する単位ブロックにおけるサブ３次元形状データをすべて抽出する。これにより、３つのワークＷＫに関するサブ３次元形状データ群Ｄａｗ，Ｄｂｗをそれぞれ分類することができる。これによっても、上記と同様の効果が期待できる。
【００８８】
また、上記実施形態においては、測定用平面Ｐｍａ，Ｐｍｂを定義するためのワークＷＫの各端面Ｓａ，Ｓｂ上の点として、各平面Ｐｗａ，Ｐｗｂと各中心軸ＣＬａ，ＣＬｂとの各交点、すなわち、同各端面Ｓａ，Ｓｂの各中心点を用いてそれぞれ測定用平面Ｐｍａ，Ｐｍｂを定義するようにしたが、これに限定されるものではない。例えば、各平面Ｐｗａ，Ｐｗｂと各中心軸ＣＬａ，ＣＬｂとの各交点に代えて、図１３に示すワーク測定サブプログラムにおけるステップＳ６１８による各端面Ｓａ，Ｓｂの各中心座標Ｃｗａ，Ｃｗｂを用いて測定用平面Ｐｍａ，Ｐｍｂをそれぞれ定義するようにしてもよい。この場合、各中心座標Ｃｗａ，Ｃｗｂは、各端面Ｓａ，Ｓｂをそれぞれ定義するサブ３次元形状データ群Ｄａｗ，Ｄｂｗにより計算されており、同端面Ｓａ，Ｓｂにおける重心点とも言える点である。これによっても、上記と同様の効果が期待できる。
【００８９】
また、ワークＷＫの長さ測定の対象となる軸線上において、最も長い長さを測定する場合には、各端面Ｓａ，Ｓｂをそれぞれ定義するサブ３次元形状データ群Ｄａｗ，Ｄｂｗのうち３次元形状測定装置２０Ａ，２０Ｂに最も近い座標値を用いて測定用平面Ｐｍａ，Ｐｍｂをそれぞれ定義するようにしてもよい。これによれば、ワークＷＫの各端面Ｓａ，Ｓｂのうち、それぞれ最も外側に存在する端面Ｓａ，Ｓｂ上の点に基づいてワークＷＫの長さ測定を行うことができる。また、これとは逆に、ワークＷＫの長さ測定の対象となる軸線上において、最も短い長さを測定する場合には、各端面Ｓａ，Ｓｂをそれぞれ定義するサブ３次元形状データ群Ｄａｗ，Ｄｂｗのうち３次元形状測定装置２０Ａ，２０Ｂに最も遠い座標値を用いて測定用平面Ｐｍａ，Ｐｍｂをそれぞれ定義するようにしてもよい。これによれば、ワークＷＫの各端面Ｓａ，Ｓｂのうち、それぞれ最も内側に存在する端面Ｓａ，Ｓｂ上の点に基づいてワークＷＫの長さ測定を行うことができる。これらによれば、端面Ｓａ，Ｓｂが軸線に対して傾斜している場合（図１７（Ｂ），（Ｃ））、ワークＷＫの長さとして端面Ｓａ，Ｓｂにおけるどの位置に基づいて測定するかについて、必要に応じて測定用平面Ｐｍａ，Ｐｍｂを定義する位置を設定でき、多様な長さ測定が可能となる。
【００９０】
また、上記実施形態においては、前記中心座標補正サブプログラムのステップＳ８１０による中心座標Ｃｗａ，Ｃｗｂの補正において、曲がりが検出された端部における中心軸の曲がり始めである交点Ｐ０と端面Ｓａの中心座標Ｃｗａとの円周上の長さＬａｒｃを計算し、同長さＬａｒｃを中心軸ＣＬａ上における交点Ｐ０の座標値に加算して中心座標Ｃｗａを補正したが、これに限定されるものではない。すなわち、曲がりが検出された端部において同端部の曲がりがない場合（同端部が直線状である場合）における同端部の端面Ｓａ，Ｓｂの中心座標Ｃｗａ’，Ｃｗｂ’が計算されればよい。例えば、ワークＷＫの端面Ｓａの中心座標Ｃｗａを通り中心軸ＣＬａに垂直な平面を定義し、同平面と中心軸ＣＬａとの交点を中心座標Ｃｗａ’としてもよい。これによれば、上記実施形態における中心座標Ｃｗａ’に対する近似値を簡単に計算することができる。
【００９１】
また、上記実施形態においては、前記ワーク長測定プログラムにおけるステップＳ６１２およびＳ６２０にてワークＷＫの端部における形状を判定するとともに、ステップＳ６１６およびＳ６２４にて同端部における端面が傾斜しているまたは同端部が曲がっている場合における各対応処理を実行しているが、測定対象であるワークＷＫの中に同端部における端面が傾斜しているまたは同端部が曲がっているワークＷＫが存在しない場合には、前記各処理は不要である。これにより、ワーク長測定プログラムの構成を簡単にすることができる。
【００９２】
また、上記実施形態においては、２つの３次元形状測定装置２０Ａ，２０Ｂを用いてワークＷＫの長さ測定を行うように構成したが、１つの３次元形状測定装置２０を用いてワークＷＫの長さ測定を行うようにしてもよい。例えば、ワークＷＫの一端を特定の位置に位置決めする（例えば、ワークＷＫの一端を位置決めするストッパーを用意する）とともに、同ワークＷＫの他端の端面が３次元形状測定装置２０に面するようにワークＷＫを配置する。この場合、ワークＷＫの一端が位置決めされる特定の位置と３次元形状測定装置２０の座標系の原点とのワークＷＫの軸線方向上の距離、または同特定の位置と基準面定義プログラムにより定義される基準面との距離を基準距離として３次元形状測定装置２０に予め記憶すればよい。これによっても、上記と同様の効果が期待できる。
【００９３】
また、上記実施形態においては、３つのワークＷＫの長さ測定を同時に行うように構成したが、同時に測定するワークＷＫの数は必要に応じて適宜設定されるものであり、これに限定されるものではない。したがって、１つのワークＷＫの長さ測定を行うようにしてもよいし、４つ以上のワークＷＫの長さ測定を同時に行うように構成してもよい。これによっても、上記と同様の効果が期待できる。
【００９４】
また、上記実施形態においては、測定対象である長尺状のワークＷＫとして丸棒体を用いたが、これに限定されるものではなく、他の断面形状、例えば三角および四角などの多角形状の断面形状を有する長尺材を測定対象としてもよい。これによっても、上記と同様の効果が期待できる。
【００９５】
また、上記実施形態においては、直方体状に形成された本体部５０ａの下面中央部に、支持台１０の支持部１０ｂと同様のＶ溝状の溝部５０ｂを有するとともに、同本体部５０ａの両端部における上面から下面に貫通する基準孔５０ｃ，５０ｄをそれぞれ有して形成された基準面設定治具５０を用いて基準面Ｐｋａ，Ｐｋｂを定義したが、基準面設定治具５０の形状は、ワークＷＫの軸線方向に直交する平面を基準面として定義できれば、これに限定されるものでない。例えば、本体部５０ａにおける３次元形状測定装置２０Ａ，２０Ｂに面する側面を大きく形成してもよい。この場合、同側面を含む平面を計算し、同平面を基準面Ｐｋａ，Ｐｋｂとして定義すればよい。これによっても、上記と同様の効果が期待できる。
【００９６】
また、上記実施形態においては、支持台１０上の載置したワークＷＫに対してワークＷＫの長さ測定を行う長さ測定装置に本発明を適用した例について説明した。しかし、これに代えて、本発明を、生産ライン、検査ラインなどの各種ライン上を次々に移動するワークＷＫの長さを順次に測定するようにした長さ測定装置にも適用してもよい。この場合、ワークＷＫを支持する支持手段として例えば、ローラーの周面に螺旋状にＶ字溝を形成したローラーテーブルを用いるとよい。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施形態に係る長さ測定装置の全体を示す概略図である。
【図２】図１の長さ測定装置に用いられる支持台の斜視図である。
【図３】図１の３次元画像データ処理装置によって実行されるワーク長測定プログラムのフローチャートである。
【図４】図１の長さ測定装置における３次元形状測定装置、支持台、基準物体および基準面設定治具の位置関係を示す説明図である。
【図５】図１の３次元画像データ処理装置によって実行される基準距離計算サブプログラムのフローチャートである。
【図６】図１の３次元画像データ処理装置によって実行される基準面定義サブプログラムのフローチャートである。
【図７】図１の長さ測定装置に用いられる基準面設定治具の配置状態を示す斜視図である。
【図８】図１の３次元画像データ処理装置によって実行される基準孔中心計算サブプログラムのフローチャートである。
【図９】探索領域を２次元的に示す概念図である。
【図１０】図９に示す探索領域と抽出された単位ブロックとの関係を２次元的に示す概念図である。
【図１１】（Ａ）〜（Ｄ）は、探索領域内における探索ブロックの移動を２次元的に示す概念図である。
【図１２】図１の３次元画像データ処理装置によって実行される測定対象空間情報取得サブプログラムのフローチャートである。
【図１３】図１の３次元画像データ処理装置によって実行されるワーク測定サブプログラムのフローチャートである。
【図１４】サブ３次元形状データ群の各座標値を点群としてワーク上に現した説明図である。
【図１５】図１の長さ測定装置における支持台およびワークに対する基準面および端面を表す平面の位置関係を示す説明図である。
【図１６】図１の３次元画像データ処理装置によって実行されるワークの中心軸定義サブプログラムのフローチャートである。
【図１７】（Ａ）〜（Ｃ）はワークの端面に定義される各種平面の位置関係を端面の形状に応じて示した説明図である。
【図１８】図１の３次元画像データ処理装置によって実行される中心座標補正サブプログラムのフローチャートである。
【図１９】（Ａ），（Ｂ）は、曲がった形状のワーク端部に各種平面および座標値を計算する過程を説明するための説明図である。
【図２０】曲がった形状のワーク端部における中心座標の補正過程を説明するための説明図である。
【図２１】図１の長尺状物体長さ測定装置における３次元形状測定装置およびワークに対する測定用平面の関係を示す説明図である。
【符号の説明】
【００９８】
ＷＫ…ワーク、１０…支持台、２０Ａ，２０Ｂ…３次元形状測定装置、３１…コントローラ、３２…３次元画像データ処理装置、３３…入力装置、３４…表示装置、４０…基準物体、５０…基準面設定治具。
【図１】
0004555762.tif 000002
【図２】
0004555762.tif 000003
【図３】
0004555762.tif 000004
【図４】
0004555762.tif 000005
【図５】
0004555762.tif 000006
【図６】
0004555762.tif 000007
【図７】
0004555762.tif 000008
【図８】
0004555762.tif 000009
【図９】
0004555762.tif 000010
【図１０】
0004555762.tif 000011
【図１１】
0004555762.tif 000012
【図１２】
0004555762.tif 000013
【図１３】
0004555762.tif 000014
【図１４】
0004555762.tif 000015
【図１５】
0004555762.tif 000016
【図１６】
0004555762.tif 000017
【図１７】
0004555762.tif 000018
【図１８】
0004555762.tif 000019
【図１９】
0004555762.tif 000020
【図２０】
0004555762.tif 000021
【図２１】
0004555762.tif 000022