(57)【要約】【課題】  規格内の大きさの受光センサを用いても、受光センサを大きくした場合と同じように、３次元形状の測定可能範囲が大きいか、又は分解能を高くする。【解決手段】  レーザ光照射器から測定対象物（ＯＢ）の表面にレーザ光を照射し、測定対象物ＯＢの表面の照射スポット位置にて発生する散乱光の一部である反射光を集光レンズ３２で集光するとともに、集光された反射光をダイクロイックミラー３０で互いに異なる少なくとも第１方向及び第２方向に分離する。分離された反射光を、複数の受光素子からなる受光センサ１４，２４でそれぞれ受光する。受光センサ１４，２４は、レーザ出射器からの距離が異なる測定対象物ＯＢの表面からの反射光をそれぞれ受光するとともに、一部距離を重複させる。受光センサ１４，２４による受光信号を用いて、３角測量法の原理に基づいてレーザ光照射器から測定対象物ＯＢの表面までの距離を計算する。【選択図】  図２
2011215089.tif 000002
【特許請求の範囲】
【請求項１】
測定対象物の表面にレーザ光を照射して前記測定対象物の表面に照射スポットを形成するレーザ光照射器と、
前記レーザ光照射器によって照射されるレーザ光の方向を変更して、前記測定対象物の表面上を前記照射スポットで走査する走査手段と、
前記走査手段によって走査される照射スポットの走査方向位置を検出する走査位置検出手段と、
前記測定対象物の表面の前記照射スポット位置にて発生する散乱光の一部である反射光を集光する集光レンズと、
前記集光レンズによって集光される前記照射スポットからの反射光を互いに異なる少なくとも第１方向及び第２方向に分離する光学分離素子と、
前記レーザ光照射器から前記測定対象物の表面に形成された照射スポットまでの第１所定範囲内の距離に応じて、前記第１方向に分離された反射光が集光される位置に配置された複数の受光素子からなる受光センサであって、前記複数の受光素子ごとの受光信号をそれぞれ出力する第１受光センサと、
前記第１所定範囲と一部重複するとともに前記第１所定範囲よりも大きな距離の範囲である、前記レーザ光照射器から前記測定対象物の表面に形成された照射スポットまでの第２所定範囲内の距離に応じて、前記第２方向に分離された反射光が集光される位置に配置された複数の受光素子からなる受光センサであって、前記複数の受光素子ごとの受光信号をそれぞれ出力する第２受光センサと、
前記第１受光センサ及び前記第２受光センサからの受光信号を用いて前記レーザ光照射器から前記測定対象物の表面に形成された照射スポットまでの距離を計算する距離計算手段と、
前記距離計算手段によって計算された距離及び前記走査位置検出手段によって検出された照射スポットの走査方向位置を用いて、前記測定対象物の表面の３次元画像を表す画像データを生成する３次元画像生成手段と
を備えたことを特徴とする３次元形状測定装置。
【請求項２】
請求項１に記載した３次元形状測定装置において、
前記レーザ光照射器を、
所定の波長を有する第１レーザ光を出射する第1レーザ光源と、
前記第１レーザ光と異なる所定の波長を有する第２レーザ光を出射する第２レーザ光源と、
前記第1レーザ光源からの第１レーザ光と前記第２レーザ光源からの第２レーザ光とを合成して同一の光軸を有する第１レーザ光及び第２レーザ光を前記測定対象物の表面上の同一位置に照射し、照射スポットを形成させる光学合成素子とで構成し、さらに、
前記レーザ光照射器から前記測定対象物の表面に形成された照射スポットまでの距離に応じて、前記第１レーザ光源及び前記第２レーザ光源の一方を作動させ、かつ前記第１レーザ光源を作動させているとき前記第１受光センサからの受光信号を前記距離計算手段に導くとともに、前記第２レーザ光源を作動させているとき前記第２受光センサからの受光信号を前記距離計算手段に導くように切替える切替え手段を設けた３次元形状測定装置。
【請求項３】
請求項２に記載した３次元形状測定装置において、
前記切替え手段は、
前記第２所定範囲との重複部分内の距離を検出するための前記第１受光センサ内の受光素子による反射光の受光量が所定の閾値以上であることを判定する第１判定手段と、
前記第１所定範囲との重複部分内の距離を検出するための前記第２受光センサ内の受光素子による反射光の受光量が所定の閾値以上であることを判定する第２判定手段とを有し、
前記第１レーザ光源を作動させかつ前記第１受光センサからの受光信号を前記距離計算手段に導いている状態では、前記第１判定手段が前記第１受光センサ内の受光素子の反射光の受光量が前記所定の閾値以上であることを判定したとき、前記第２レーザ光源を作動させかつ前記第２受光センサからの受光信号を前記距離計算手段に導くように切替え、
前記第２レーザ光源を作動させかつ前記第２受光センサからの受光信号を前記距離計算手段に導いている状態では、前記第２判定手段が前記第２受光センサ内の受光素子の反射光の受光量が前記所定の閾値以上であることを判定したとき、前記第１レーザ光源を作動させかつ前記第１受光センサからの受光信号を前記距離計算手段に導くように切替えることを特徴とする３次元形状測定装置。
【請求項４】
請求項３に記載した３次元形状測定装置において、
前記切替え手段は、
前記第１受光センサで反射した前記測定対象物からの反射光を受光して、受光量を表す信号を出力する第１受光量センサと、
前記第２受光センサで反射した前記測定対象物からの反射光を受光して、受光量を表す信号を出力する第２受光量センサと、
前記第１受光量センサによる反射光の受光量が所定の受光量未満であることを判定する第３判定手段と、
前記第２受光量センサによる反射光の受光量が所定の受光量未満であることを判定する第４判定手段とを有し、
前記第１レーザ光源を作動させかつ前記第１受光センサからの受光信号を前記距離計算手段に導いている状態では、前記第３判定手段が前記第１受光量センサによる反射光の受光量が所定の受光量未満であることを判定したとき、前記第２レーザ光源を作動させかつ前記第２受光センサからの受光信号を前記距離計算手段に導くように切替え、
前記第２レーザ光源を作動させかつ前記第２受光センサからの受光信号を前記距離計算手段に導いている状態では、前記第４判定手段が前記第２受光量センサによる反射光の受光量が所定の受光量未満であることを判定したとき、前記第１レーザ光源を作動させかつ前記第１受光センサからの受光信号を前記距離計算手段に導くように切替えることを特徴とする３次元形状測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象物にレーザ光を照射するとともに、このレーザ光を走査させ、散乱光である反射光を受光して、３角測量法の原理により測定対象物の表面の３次元形状を測定する３次元形状測定装置に関する。
【背景技術】
【０００２】
測定対象物に断面径が微小である平行光のレーザ光を照射するとともに、このレーザ光を走査させ、測定対象物で発生する散乱光の一部を受光センサで受光して、測定対象物の３次元形状を測定する装置は知られている。このような装置としては、例えば下記特許文献１に示された装置がある。この特許文献１に示された装置は、レーザ光を移動させるために、ガルバノミラーによりレーザ光を１方向に往復運動させるとともに、レーザ光源及び受光センサを備えた筐体を回転させることにより、レーザ光を２方向に走査させている。しかし、レーザ光の照射位置が測定対象物と相対的に２方向に変化すればよく、レーザ光の走査のさせ方には様々な方法がある。レーザ光の走査のさせ方は様々であっても、測定対象物の３次元形状を得るためには、それぞれのレーザ光の照射位置において、レーザ光の照射原点と照射方向、及びレーザ光照射原点からレーザ光の照射位置までの距離を取得すればよい。レーザ光の照射原点からレーザ光の照射位置までの距離は、レーザ光の照射位置で発生する散乱光の一部をＣＣＤ、ＣＭＯＳ等の受光センサで受光したときの受光位置から３角測量法の原理で算出することができる。
【０００３】
図７（ａ）はこの原理を示した図である。レーザ光の照射位置（散乱光が発生する位置）により受光センサでの受光位置が異なるため、受光位置と距離は１対１の関係になっており、この関係を予め取得しておくことで、受光センサでの受光位置から距離データを取得することができる。距離データを取得することができる範囲は、図７（ａ）に示すように受光センサで散乱光を受光できる範囲である。すなわち、散乱光を集光するレンズが同一であれば、受光センサにおいては受光位置が変化する方向に大きいほど、距離データを取得することができる範囲（３次元形状の測定可能範囲）は大きい。具体的には、図７（ａ）において、受光センサＡに比べて、受光センサＢの方が、距離データを取得することができる範囲は大きい。また、図７（ｂ）に示すように、距離データを取得することができる範囲が同じでも、散乱光を集光するレンズの焦点距離を大きくし、受光センサを受光位置が変化する方向に大きくするほど、距離に対する受光位置の変化が大きくなる、すなわち分解能が高くなって３次元形状測定の精度が向上する。具体的には、図７（ｂ）において、受光センサＡに比べて、受光センサＢの方が、距離に対する受光位置の変化が大きくなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３５５４２６４号公報
【発明の概要】
【０００５】
しかしながら、受光センサが大きいほど、３次元形状の測定可能範囲が大きいか、分解能は高くなるが、ＣＣＤ、ＣＭＯＳ等の受光センサの大きさは規格で決まっており、規格以上に大きなものは特注品となるため、装置のコストが高くなるという問題がある。また、受光センサを大きくするほど画素数が増え、画素数が増えるほど全画素から受光量に相当する信号を引き出すのに時間がかかり、受光センサから信号を取得する速度を上げることが困難になるという問題もある。すなわち、３次元形状データ（座標値の群）の間隔を狭めることが困難になるという問題もある。また、規格内の受光センサを２つ以上並べることで受光センサを大きくし、それぞれの受光センサが出力する信号を別々に処理するようにした場合には、受光センサと受光センサの間に隙間ができてしまい、受光できなくなる箇所ができてしまうという問題がある。
【０００６】
本発明は、上記問題に対処するためになされたもので、規格内の大きさの受光センサを用いても、受光センサを大きくした場合と同じように、３次元形状の測定可能範囲が大きいか、又は分解能を高くすることができるとともに、受光センサに受光できなくなる箇所ができてしまうことがない３次元形状測定装置を提供することにある。なお、下記本発明の各構成要件の記載においては、本発明の理解を容易にするために、実施形態の対応箇所の符号を括弧内に記載しているが、本発明の各構成要件は、実施形態の符号によって示された対応箇所の構成に限定解釈されるべきものではない。
【０００７】
上記目的を達成するために、本発明の特徴は、測定対象物（ＯＢ）の表面にレーザ光を照射して測定対象物の表面に照射スポットを形成するレーザ光照射器（１０，１２，２０，２２，３０）と、レーザ光照射器によって照射されるレーザ光の方向を変更して、測定対象物の表面上を照射スポットで走査する走査手段（４０）と、走査手段によって走査される照射スポットの走査方向位置を検出する走査位置検出手段（１０２，１０６）と、測定対象物の表面の照射スポット位置にて発生する散乱光の一部である反射光を集光する集光レンズ（３２）と、集光レンズによって集光される照射スポットからの反射光を互いに異なる少なくとも第１方向及び第２方向に分離する光学分離素子（３４）と、レーザ光照射器から測定対象物の表面に形成された照射スポットまでの第１所定範囲内の距離に応じて、第１方向に分離された反射光が集光される位置に配置された複数の受光素子からなる受光センサであって、複数の受光素子ごとの受光信号をそれぞれ出力する第１受光センサ（１４）と、第１所定範囲と一部重複するとともに第１所定範囲よりも大きな距離の範囲である、レーザ光照射器から測定対象物の表面に形成された照射スポットまでの第２所定範囲内の距離に応じて、第２方向に分離された反射光が集光される位置に配置された複数の受光素子からなる受光センサであって、複数の受光素子ごとの受光信号をそれぞれ出力する第２受光センサ（２４）と、第１受光センサ及び第２受光センサからの受光信号を用いてレーザ光照射器から測定対象物の表面に形成された照射スポットまでの距離を計算する距離計算手段（２１０）と、距離計算手段によって計算された距離及び走査位置検出手段によって検出された照射スポットの走査方向位置を用いて、測定対象物の表面の３次元画像を表す画像データを生成する３次元画像生成手段（２１２）とを備えたことにある。
【０００８】
上記のように構成した本発明においては、光学分離素子により、集光レンズによって集光される照射スポットからの反射光（散乱光）を互いに異なる少なくとも第１方向及び第２方向に分離し、第１受光センサ及び第２受光センサで受光するようにした。第１受光センサは、レーザ光照射器から第１所定範囲内の距離を有する測定対象物の表面からの反射光を受光する。第２受光センサは、レーザ光照射器から第２所定範囲内の距離を有する測定対象物の表面からの反射光を受光する。この場合、第２所定範囲は、第１所定範囲と一部重複するとともに、第１所定範囲よりも大きな距離の範囲である。そして、距離計算手段は、第１受光センサからの受光信号と第２受光センサからの受光信号を用いて距離を計算する。したがって、計算される距離に隙間ができることがなくなり、第１及び第２受光センサを大きくした１つの受光センサで受光した受光信号を用いて距離を計算した場合と同じになる。その結果、規格内の大きさの受光センサを用いても、３次元形状の測定範囲を大きくするか、又は分解能を高くすることができるようになる。
【０００９】
また、本発明の他の特徴は、前記本発明の構成において、レーザ光照射器を、所定の波長を有する第１レーザ光を出射する第1レーザ光源（１０）と、第１レーザ光と異なる所定の波長を有する第２レーザ光を出射する第２レーザ光源（２０）と、第1レーザ光源からの第１レーザ光と第２レーザ光源からの第２レーザ光とを合成して同一の光軸を有する第１レーザ光及び第２レーザ光を測定対象物の表面上の同一位置に照射し、照射スポットを形成させる光学合成素子（３０）とで構成し、さらに、レーザ光照射器から測定対象物の表面に形成された照射スポットまでの距離に応じて、第１レーザ光源及び第２レーザ光源の一方を作動させ、かつ第１レーザ光源を作動させているとき第１受光センサからの受光信号を距離計算手段に導くとともに、第２レーザ光源を作動させているとき第２受光センサからの受光信号を距離計算手段に導くように切替える切替え手段(１３６，１２４，１２６，１６，２６，１３２，１３４，Ｓ１５８〜Ｓ１７０，Ｓ１０８，Ｓ１１２〜Ｓ１２０）を設けたことにある。この場合、光学分離素子及び光学合成素子は、例えば、波長選択性のあるミラー（３０，３４）でそれぞれ構成される。
【００１０】
これによれば、切替え手段により、レーザ光照射器から測定対象物の表面に形成された照射スポットまでの距離に応じて、第１レーザ光源及び第２レーザ光源の一方が作動され、かつ第１受光センサ及び第２受光センサの一方からの受光信号が距離計算手段に導かれる。その結果、測定対象物からの反射光を光学分離素子で２方向に分離しても、反射光の半分の光量が捨てられることはなく、第１レーザ光源及び第２レーザ光源から出射されるレーザ光の光量をそれほど大きくする必要がなくなる。
【００１１】
また、本発明の他の特徴は、切替え手段は、第２所定範囲との重複部分内の距離を検出するための第１受光センサ内の受光素子による反射光の受光量が所定の閾値以上であることを判定する第１判定手段（１２４）と、第１所定範囲との重複部分内の距離を検出するための第２受光センサ内の受光素子による反射光の受光量が所定の閾値以上であることを判定する第２判定手段（１２６）とを有し、第１レーザ光源を作動させかつ第１受光センサからの受光信号を距離計算手段に導いている状態では、第１判定手段が第１受光センサ内の受光素子の反射光の受光量が所定の閾値以上であることを判定したとき、第２レーザ光源を作動させかつ第２受光センサからの受光信号を距離計算手段に導くように切替え、第２レーザ光源を作動させかつ第２受光センサからの受光信号を距離計算手段に導いている状態では、第２判定手段が第２受光センサ内の受光素子の反射光の受光量が所定の閾値以上であることを判定したとき、第１レーザ光源を作動させかつ前記第１受光センサからの受光信号を距離計算手段に導くように切替える（Ｓ１５８，Ｓ１６２〜Ｓ１６８）ことにある。
【００１２】
これによれば、第１判定手段及び第２判定手段が、第１受光センサ及び第２受光センサ内における第１所定範囲と第２所定範囲の重複部分内の距離を検出するための受光素子による反射光の受光量が所定の閾値以上であることを判定することにより、第１レーザ光源の作動及び第１受光センサからの受光信号の採用と、第２レーザ光源の作動及び第２受光センサからの受光信号の採用とが切替えられるようになる。その結果、前記切替えの判定を第１及び第２受光センサの全ての受光素子からの受光信号を処理して行う必要がなく、簡単に、測定対象物からの反射光の受光位置が受光センサの端部近傍になったときに前記切替えを瞬時に行うことができる。
【００１３】
また、本発明の他の特徴は、切替え手段は、第１受光センサで反射した測定対象物からの反射光を受光して、受光量を表す信号を出力する第１受光量センサ（１６）と、第１受光センサで反射した測定対象物からの反射光を受光して、受光量を表す信号を出力する第２受光量センサ（２６）と、第１受光量センサによる反射光の受光量が所定の受光量未満であることを判定する第３判定手段（１３２）と、第２受光量センサによる反射光の受光量が所定の受光量未満であることを判定する第４判定手段（１３４）とを有し、第１レーザ光源を作動させかつ第１受光センサからの受光信号を距離計算手段に導いている状態では、第３判定手段が第１受光量センサによる反射光の受光量が所定の受光量未満であることを判定したとき、第２レーザ光源を作動させかつ第２受光センサからの受光信号を距離計算手段に導くように切替え、第２レーザ光源を作動させかつ第２受光センサからの受光信号を距離計算手段に導いている状態では、第４判定手段が第２受光量センサによる反射光の受光量が所定の受光量未満であることを判定したとき、第１レーザ光源を作動させかつ第１受光センサからの受光信号を距離計算手段に導くように切替える（Ｓ１６０〜Ｓ１６８）ことにある。
【００１４】
これによれば、第１判定手段及び第２判定手段の判定に加えて、第３判定手段及び第４判定手段が、第１受光センサ及び第２受光センサによる反射光の受光量が所定の受光量未満であることを判定することにより、第１レーザ光源の作動及び第１受光センサからの受光信号の採用と、第２レーザ光源の作動及び第１受光センサからの受光信号の採用とが切替えられるようになる。その結果、第１所定範囲と第２所定範囲の重複部分内に段差があって、測定対象物での反射光の受光位置が瞬時に変化して、第１判定手段又は第２判定手段が、第１受光センサ及び第２受光センサ内における第１所定範囲と第２所定範囲の重複部分内の距離を検出するための受光素子による反射光の受光量が所定の閾値以上であることを判定しない場合でも、測定対象物からの反射光の受光位置が受光センサから外れたときに前記切替えを瞬時に行うことができる。
【００１５】
さらに、本発明の実施にあたっては、本発明は、３次元形状測定装置の発明に限定されることなく、３次元形状測定方法の発明としても実施し得るものである。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る３次元形状測定装置の全体概略図である。
【図２】図1の３次元カメラ及びデータ処理装置の具体的構成を示す３次元形状測定装置のブロック図である。
【図３】図２のダイクロイックミラー、受光センサ及びフォトディテクタの配置状態を立体的に示す図である。
【図４】（ａ）は図３のＡ方向から見たダイクロイックミラー、受光センサ及びフォトディテクタの配置状態を示す図であり、（ｂ）は図３のＢ方向から見たダイクロイックミラー、受光センサ及びフォトディテクタの配置状態を示す図である。
【図５】図２の２つの受光センサを反射光の光軸方向から見て同じ平面上に示した図である。
【図６Ａ】図１及び図２のコントローラによって実行されるコンピュータプログラムの前半部分を示すフローチャートである。
【図６Ｂ】前記コンピュータプログラムの後半部分を示すフローチャートである。
【図７】（ａ）は受光センサの大きさと測定可能範囲の関係を示す図であり、（ｂ）は受光センサの大きさと分解能の関係を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態について図面を用いて説明する。図１は、本発明の一実施形態に係る３次元形状測定装置の全体概略図である。この３次元形状測定装置は、３次元カメラ１００、データ処理装置２００及びコントローラ３００を備えている。３次元カメラ１００は、測定対象物ＯＢの表面の３次元形状を測定して、測定した３次元形状を表す３次元画像データを算出するためのデータを出力する。３次元カメラ１００は、例えばスタンドＳＤに固定されていて、測定対象物ＯＢに向けられている。データ処理装置２００は、３次元カメラ１００によって出力された３次元画像データを算出するためのデータを処理して、測定対象物ＯＢの表面の３次元形状を表す３次元画像データを作成し、表示装置２０２に測定対象物ＯＢの表面の３次元形状を表示させる。コントローラ３００は、後述するプログラムの実行により３次元カメラ１００及びデータ処理装置２００を制御する。このコントローラ３００には、キーボード、マウス等からなって作業者が操作するための入力装置３０２が接続されている。
【００１８】
３次元カメラ１００は、図２に示すように、波長の異なるレーザ光を出射するレーザ光源１０，２０を備えている。レーザ光源１０は、波長６５０ｎｍ近傍の赤色のレーザ光をコリメートレンズ１２に向けて出射する。レーザ光源２０は、波長５５０ｎｍ近傍の緑色のレーザ光をコリメートレンズ２２に向けて出射する。コリメートレンズ１２，２２は、測定対象物ＯＢの表面に小さな照射スポットを形成するために、レーザ光源１０，２０から出射されたレーザ光を小さな断面径の平行光に変換する。レーザ光源１０，２０から測定対象物ＯＢまでのレーザ光の光路には、ダイクロイックミラー３０及び走査光学系４０が設けられている。ダイクロイックミラー３０は、赤色のレーザ光を透過し、緑色のレーザ光を反射する。したがって、ダイクロイックミラー３０は、レーザ光源１０からコリメートレンズ１２を介した赤色のレーザ光を透過して走査光学系４０に導く。ダイクロイックミラー３０は、レーザ光源２０からコリメートレンズ２２を介した緑色のレーザ光を反射して走査光学系４０に導く。なお、これらの透過及び反射して走査光学系４０に導かれる赤色及び緑色のレーザ光の光軸は同じになるように、レーザ光源１０，２０及びコリメートレンズ１２，２２が配置されている。また、レーザ光源１０から測定対象物ＯＢに形成される小さな照射スポットまでの距離と、レーザ光源２０から測定対象物ＯＢに形成される小さな照射スポットまでの距離とは等しい。
【００１９】
走査光学系４０は、Ｘ方向モータ４２及びＹ方向モータ４４を有し、コントローラ３００によって制御されて、レーザ光源１０，２０による照射スポットで測定対象物ＯＢの表面をＸ軸方向及びＹ軸方向の２次元に走査させる。具体的には、走査光学系４０は、レーザ光を反射する複数のミラーを有し、複数のミラーのうちのいずれかをＸ方向モータ４２によってＹ軸周りに回動させ、レーザ光源１０，２０による照射スポットを測定対象物ＯＢの表面にてＸ軸方向に移動させて、照射スポットからの反射光を受光するようにしている。また、走査光学系４０は、レーザ光源１０，２０、コリメートレンズ１２，２２、ダイクロイックミラー３０及び前記複数のミラーに加えて、反射光を受光するための後述する集光レンズ３２、ダイクロイックミラー３４、受光センサ１４，２４及びフォトディテクタ１６，２６などの光学部品を組み付けたケーシングを有し、前記ケーシングをＹ方向モータ４２によってＸ軸周りに回動させ、レーザ光源１０，２０による照射スポットを測定対象物ＯＢの表面にてＹ軸方向に移動させて、照射スポットからの反射光（散乱光の一部）を受光するようにしている。なお、走査光学系４０は、レーザ光源１０，２０による照射スポットで測定対象物ＯＢの表面をＸ軸方向及びＹ軸方向の２次元に走査できるとともに、照射スポットからの反射光を受光できれば、前記具体例に限定されるものではない。また、以降の説明においては、前記Ｘ軸方向及びＹ軸方向の走査のために、走査光学系４０内にてＸ方向モータ４２によって回転駆動される部材をＸ方向回転部材と言い、走査光学系４０内にてＹ方向モータ４４によって回転駆動される部材をＹ方向回転部材と言う。そして、これらのＸ方向回転部材及びＹ方向回転部材は、共に限界位置に挟まれた範囲内で回転する。
【００２０】
Ｘ方向モータ４２内には、同モータ４２の回転を検出して、その回転を表す回転信号を出力するエンコーダが組み込まれている。この回転信号は、Ｘ方向モータ４２が所定の微少角度だけ回転するたびにハイレベルとローレベルとを交互に切替えるパルス列信号であって、回転方向を識別するために互いにπ／２だけ位相のずれたＡ相信号とＢ相信号とで構成される。回転信号は、Ｘ方向角度検出回路１０２及びＸ方向モータ駆動回路１０４に出力される。Ｘ方向角度検出回路１０２は、前記回転信号のパルス数をＸ方向モータ４２の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値からＸ方向モータ４２によるＹ軸周りすなわちＸ軸方向における測定対象物ＯＢに対するレーザ光のＸ方向照射角度θｘを検出し、Ｘ方向照射角度θｘをデータ処理装置２００及びコントローラ３００に出力する。
【００２１】
Ｘ方向角度検出回路１０２におけるカウント値の初期設定は、電源投入時にコントローラ３００の指示によって行われる。すなわち、コントローラ３００は、電源投入時に、Ｘ方向モータ駆動回路１０４に走査光学系４０のＸ方向回転部材の初期位置に対応したＸ方向限界位置への回動、及びＸ方向角度検出回路１０２に初期設定を指示する。この指示により、Ｘ方向モータ駆動回路１０４は、Ｘ方向モータ４２を駆動してＸ方向回転部材を初期位置に対応したＸ方向限界位置まで回転させる。Ｘ方向角度検出回路１０２は、Ｘ方向回転部材の回動中、Ｘ方向モータ４２内のエンコーダからの回転信号を入力し続けている。そして、Ｘ方向回転部材が前記Ｘ方向限界位置まで達してＸ方向モータ４２の回転が停止すると、Ｘ方向角度検出回路１０２は前記エンコーダからの回転信号の入力停止を検出して、カウント値を「０」にリセットする。このとき、Ｘ方向角度検出回路１０２は、Ｘ方向モータ駆動回路１０４に出力停止のための信号を出力し、これにより、Ｘ方向モータ駆動回路１０４はＸ方向モータ４２への駆動信号の出力を停止する。その後に、Ｘ方向モータ４２が駆動された際には、Ｘ方向角度検出回路１０２は、回転信号のパルス数をＸ方向モータ４２の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値に基づいてレーザ光のＸ方向照射角度θｘを計算し、Ｘ方向照射角度θｘをデータ処理装置２００及びコントローラ３００に出力し続ける。
【００２２】
なお、前述したＸ方向角度検出回路１０２による前記エンコーダからの回転信号の入力停止の検出及びＸ方向モータ駆動回路１０４に対するＸ方向モータ４２の作動停止は、初期設定時ばかりでなく、Ｘ方向回転部材を前記初期位置及び前記初期位置と反対側のＸ方向限界位置まで回転したときに発揮されるＸ方向角度検出回路１０２及びＸ方向モータ駆動回路１０４の機能である。また、Ｘ方向角度検出回路１０２による前記エンコーダからの回転信号の入力停止の検出を表わす信号（以下、Ｘ方向限界位置信号という）は、コントローラ３００にも供給される。
【００２３】
Ｘ方向モータ駆動回路１０４は、コントローラ３００の指示により、Ｘ方向モータ４２の駆動及び停止を制御する。このＸ方向モータ４２の駆動制御においては、Ｘ方向モータ駆動回路１０４は、Ｘ方向モータ４２内のエンコーダの出力する回転信号からＸ方向回転部材のＸ方向の回転速度を計算して、計算された回転速度がコントローラ３００によって指定されている回転速度と等しくなるようにＸ方向モータ４２の回転を制御する。
【００２４】
同様に、Ｙ方向モータ４４内にも、同モータ４４の回転を検出して、その回転を表す回転信号を出力するエンコーダが組み込まれている。この回転信号も、Ｘ方向モータ４２内のエンコーダと同様に、Ｙ方向モータ４４が所定の微少角度だけ回転するたびにハイレベルとローレベルとを交互に切替えるパルス列信号であって、互いにπ／２だけ位相のずれたＡ相信号とＢ相信号とで構成される。この回転信号は、Ｙ方向角度検出回路１０６及びＹ方向モータ駆動回路１０８に出力される。Ｙ方向角度検出回路１０６は、Ｙ方向モータ４４内のエンコーダからの回転信号のパルス数をＹ方向モータ４４の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値からＹ方向モータ４４によるＸ軸周りすなわちＹ軸方向における測定対象物ＯＢに対するレーザ光のＹ方向照射角度θｙを検出し、Ｙ方向照射角度θｙをデータ処理装置２００及びコントローラ３００に出力する。
【００２５】
Ｙ方向角度検出回路１０６におけるカウント値の初期設定は、Ｘ方向角度検出回路１０２の場合と同様に、電源投入時にコントローラ３００の指示によって行われる。すなわち、コントローラ３００からの初期設定が指示されると、Ｙ方向モータ駆動回路１０８がＹ方向モータ４４を駆動してＹ方向回転部材を初期値位置に対応したＹ方向限界位置まで回転させる。そして、Ｙ方向角度検出回路１０６は、Ｙ方向回転部材が前記Ｙ方向限界位置まで達してＹ方向モータ４４の回転が停止すると、Ｙ方向角度検出回路１０６は前記エンコーダからの回転信号の入力停止を検出して、カウント値を「０」にリセットする。このとき、Ｙ方向角度検出回路１０６は、Ｙ方向モータ駆動回路１０８に出力停止信号を出力する。その後、Ｙ方向角度検出回路１０６は、回転信号のパルス数をＹ方向モータ４４の回転方向に応じてカウントアップ又はカウントダウンし、そのカウント値に基づいてレーザ光のＹ方向照射角度θｙを計算し、Ｙ方向照射角度θｙをデータ処理装置２００及びコントローラ３００に出力し続ける。
【００２６】
なお、前述したＹ方向角度検出回路１０６による前記エンコーダからの回転信号の入力停止の検出及びＹ方向モータ駆動回路１０８に対するＹ方向モータ４４の作動停止も、初期設定時ばかりでなく、Ｙ方向回転部材を前記初期位置及び前記初期位置とは反対側のＹ方向限界位置まで回転したときに発揮されるＹ方向角度検出回路１０６及びＹ方向モータ駆動回路１０８の機能である。また、Ｙ方向角度検出回路１０６による前記エンコーダからの回転信号の入力停止の検出を表わす信号（以下、Ｙ方向限界位置信号という）は、コントローラ３００にも供給される。
【００２７】
Ｙ方向モータ駆動回路１０８は、コントローラ３００の指示により、Ｙ方向モータ４４の駆動及び停止を制御する。このＹ方向モータ４４の駆動制御においては、Ｙ方向モータ駆動回路１０８は、Ｙ方向モータ４４内のエンコーダの出力する回転信号からＹ方向回転部材のＹ方向の回転速度を計算して、計算された回転速度がコントローラ３００によって指定されている回転速度と等しくなるようにＹ方向モータ４４の回転を制御する。
【００２８】
走査光学系４０から出射される照射スポットからの反射光（散乱光の一部）は、集光レンズ３２及びダイクロイックミラー３４を介して、受光センサ１４，２４にて受光される。集光レンズ３２は、レーザ光源１０，２０による赤色及び緑色のレーザ光の照射スポットからの両反射光を、ダイクロイックミラー３４を介して受光センサ１４，２４上にそれぞれ集光する。ダイクロイックミラー３４も、前記ダイクロイックミラー３０と同様に赤色のレーザ光を透過し、緑色のレーザ光を反射する。したがって、レーザ光源１０による赤色のレーザ光の照射スポットからの反射光は、ダイクロイックミラー３４を透過して受光センサ１４上に集光する。レーザ光源２０による緑色のレーザ光の照射スポットからの反射光は、ダイクロイックミラーで反射して受光センサ２４上に集光する。
【００２９】
受光センサ１４，２４は、複数の受光素子を一列に長尺状に配置したＣＣＤ又はＣＭＯＳからなるラインセンサであり、レーザ光源１０，２０から走査光学系４０を介した測定対象物ＯＢの照射スポットまでの距離を、複数の受光素子のうちで測定対象物ＯＢからの反射光を受光した受光素子の位置により検出するものである。これらの受光センサ１４，２４は、各受光素子の受光光量に相当する大きさの信号を、それぞれ所定の周期で出力する。なお、本実施形態の場合には、受光センサ１４，２４は、同一の構成すなわち受光素子の数及び長さが同一である。これらの受光センサ１４，２４は、測定対象物ＯＢからの反射光のうちの１０パーセント程度を反射する。これらの反射光は、フォトディテクタ１６，２６によって受光される。フォトディテクタ１６，２６は、それぞれ受光センサ１４，２４からの反射光の受光光量に相当する大きさの信号をそれぞれ出力する。
【００３０】
ダイクロイックミラー３４、受光センサ１４，２４及びフォトディテクタ１６，２６は、図３の概略斜視図に示されるように配置されている。図４（ａ）は図３の矢印Ａ方向から見た正面図であり、図４（ｂ）は図３の矢印Ｂ方向から見た側面図である。そして、これらのダイクロイックミラー３４、受光センサ１４，２４及びフォトディテクタ１６，２６は、次のように配置されている。ダイクロイックミラー３４の縦方向（図３，４の上下方向に対応）の中央から若干上方の位置から下部までに入射した赤色のレーザ光は、ダイクロイックミラー３４を透過して受光センサ１４に入射する。ダイクロイックミラー３４の縦方向の中央から若干下方の位置から上部までに入射した緑色のレーザ光が、ダイクロイックミラー３４で反射して受光センサ２４に入射する。このように、測定対象物ＯＢの表面から反射された一部の反射光は、受光センサ１４，２４の両方によって受光されるようになっている。具体的には、レーザ光源１０，２０から測定対象物ＯＢの表面までの測定可能な距離のうちで、中央近傍の距離に対応した測定対象物ＯＢの表面位置からの反射光は受光センサ１４，２４の両方によって受光される。
【００３１】
この点について、さらに説明する。ダイクロイックミラー３４の縦方向に延びた中心線回りに受光センサ２４を回転させて受光センサ１４と並べて、受光センサ１４に対する光軸方向から見ると、図５に示すように、受光センサ１４の上部に位置する一部の受光素子と、受光センサ２４の下部に位置する一部の受光素子とは図示縦方向において重なっている。これにより、レーザ光源１０，２０から測定対象物ＯＢの表面までの測定可能な距離のうち、中央付近に位置する距離に位置する光スポットからの反射光は、両受光センサ１０，２０によって受光される。そして、両受光センサ１０，２０の重なった領域で受光され、これらの受光に基づいて計算される２つの距離は等しくなるように設定されている。また、本実施形態では、前記重なった部分を除き、レーザ光源１０及び受光センサ１４によって検出される距離は、レーザ光源２０及び受光センサ２４によって検出される距離よりも短い。したがって、以降、レーザ光源１０及び受光センサ１４を近距離用として表現し、レーザ光源２０及び受光センサ２４を遠距離用として表現することにする。
【００３２】
３次元カメラ１００は、レーザ駆動回路１１２，１１４、増幅回路１１６，１１８、及びレーザ光量補正回路１２０，１２２も備えている。レーザ駆動回路１１２，１１４は、それぞれレーザ光源１０，２０に電力を供給してレーザ光源１０，２０を駆動する。増幅回路１１６，１１８は、それぞれフォトディテクタ１６，２６からの受光光量に相当する信号を所定の増幅率で増幅して出力する。レーザ光量補正回路１２０，１２２は、コントローラ３００から供給される基準反射光量に相当する強度信号を記憶しておいて、増幅回路１１６，１１８から供給される信号を用いて、レーザ光源１０，２０から出射されるレーザ光の光量によって前記基準反射光量が得られるように、レーザ駆動回路１１２，１１４をフィードバック制御する。なお、フォトディテクタ１６，２６が反射光を受光しておらず、フォトディテクタ１６，２６及び増幅回路１１６，１１８から受光量を表す信号がレーザ光量補正回路１２０，１２２に供給されていない状態では、レーザ光量補正回路１２０，１２２は予め定められた制御値を用いてレーザ駆動回路１１２，１１４を固定的に制御する。
【００３３】
増幅回路１１６，１１８には、受光量判定回路１２４，１２６が接続されている。受光量判定回路１２４，１２６は、増幅回路１１６，１１８の出力信号と予め決められた所定値とを比較し、フォトディテクタ１６，２６による反射光の受光量が予め決められた閾値よりも小さくなると検出信号を出力する。なお、この閾値は、フォトディテクタ１６，２６による反射光の受光量がほとんどないことを表す値である。
【００３４】
また、受光センサ１４，２４には、それぞれセンサ信号取出し回路１２８，１３０が接続されている。センサ信号取出し回路１２８，１３０は、コントローラ３００によって制御されて、受光センサ１４，２４から各画素の受光光量に相当する強度の信号を周期的に取出し、画素ごとに信号強度に相当する値のディジタルデータに変換して画素データとして出力する。前記各画素の取出し周期は、各画素の露光時間に相当するもので、入力装置３０２からコントローラ３００を介してセンサ取出し回路１２８，１３０に供給されて設定される。このセンサ信号取出し回路１２８，１３０から出力される画素データは、データ処理装置２００及び切替え点検出回路１３２，１３４に供給される。
【００３５】
切替え点検出回路１３２，１３４は、入力したディジタルデータから、それらの入力順に基づいて、受光センサ１４，２４の図５のＬ１，Ｌ２位置の受光素子によって検出された受光量に対応したディジタルデータを抽出する。そして、抽出したディジタルデータ値が予め決めた閾値よりも大きいか否かを判定して、大きければ切替え点検出信号をコントローラ３００に出力する。なお、前記Ｌ１，Ｌ２位置は、受光センサ１４，２４の受光素子が重なっている部分における、各受光センサ１４，２４の予め決めた端部近傍の位置である。また、前記予め決めた閾値は、各受光素子が受光する比較的大きな受光量である。
【００３６】
レーザ駆動回路１１２，１１４、レーザ光量補正回路１２０，１２２、受光量判定回路１２４，１２６及び切替え点検出回路１３２，１３４は、コントローラ３００に接続された切替え回路１３６によって制御されるようになっている。切替え回路１３６は、コントローラ３００から「０」を表す指令を入力すると、レーザ駆動回路１１２，１１４、レーザ光量補正回路１２０，１２２、受光量判定回路１２４，１２６及び切替え点検出回路１３２，１３４の作動を停止させる。切替え回路１３６は、コントローラ３００から「１」を表す指令を入力すると、レーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を開始させ、かつレーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を停止させる。切替え回路１３６は、コントローラ３００から「２」を表す指令を入力すると、レーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を開始させ、かつレーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を停止させる。
【００３７】
データ処理装置２００は、ＣＰＵ，ＲＯＭ，ＲＡＭ、ハードディスクなどからなるコンピュータ装置によって構成され、図示しないプログラムの実行により、後述するデータ演算処理及び３次元画像生成処理を実行する。以下、これらのデータ演算処理及び３次元画像生成処理の各機能をデータ演算部２１０及び３次元画像生成部２１２が実行するものとして説明する。データ演算部２１０は、コントローラ３００から入力の指示があると、センサ信号取出し回路１２８，１３０のいずれか一方から画素データをメモリ（ＲＡＭ、ハードディスクなど）２１０ａに記憶し、受光光量を受光センサの画素が並んだ方向に見たときの光量波形曲線を作成し、ピーク点を検出して、受光位置を求める。そして、データ演算部２１０は、３角測量法の原理に基づいて、前記受光位置をＺ方向距離に換算した距離Ｌを順次出力する。なお、センサ信号取出し回路１２８，１３０のいずれかからの画素データを入力するかは、コントローラ３００によって入力指示と同時に指示される。
【００３８】
３次元画像生成部２１２は、コントローラ３００から入力の指示があると、Ｘ方向角度検出回路１０２及びＹ方向角度検出回路１０６によってそれぞれ出力されるＸ方向照射角度θｘ及びＹ方向照射角度θｙを入力して、Ｘ方向角度データθｘ(ｎ)及びＹ方向角度データθｙ(ｎ)としてメモリ（ＲＡＭ、ハードディスクなど）２１２ａに記憶する。このコントローラ３００からの入力指示は、前記コントローラ３００からデータ演算部２１０への入力指示と同期している。そして、３次元画像生成部２１２は、データ演算部２１０によって出力されるＺ方向距離Ｌも入力して、Ｚ方向距離データＬ(ｎ)としてメモリ２１２ａに記憶する。その後、３次元画像生成部２１２は、３角測量法の原理に基づいて、Ｘ方向角度データθｘ(ｎ)、Ｙ方向角度データθｙ(ｎ)及びＺ方向距離データＬ(ｎ)から座標データ(ｘn，ｙn，ｚn)を算出する。全てのＸ方向角度データθｘ(ｎ)、Ｙ方向角度データθｙ(ｎ)及びＺ方向距離データＬ(ｎ)から座標データ(ｘn，ｙn，ｚn)が算出されると、この座標データ群から測定対象物ＯＢの３次元形状を表示装置２０２に表示するための画像データを作成し、作成が完了すると測定対象物ＯＢの３次元形状を表示装置２０２に表示する。
【００３９】
コントローラ３００も、ＣＰＵ，ＲＯＭ，ＲＡＭ、ハードディスクなどからなるコンピュータ装置によって構成され、図６Ａ及び図６Ｂのプログラムの実行により、測定対象物ＯＢの３次元形状の測定を制御する。
【００４０】
次に、上記のように構成した３次元形状測定装置を用いて測定対象物ＯＢの表面の３次元形状を測定する動作について説明する。まず、作業者は、３次元カメラ１００を測定対象物ＯＢの表面に向け、図示しない電源を投入する。この電源の投入により、コントローラ３００による初期設定処理によるＸ方向角度検出回路１０２、Ｘ方向モータ駆動回路１０４、Ｙ方向角度検出回路１０６及びＹ方向モータ駆動回路１０８の作動により、Ｘ方向照射角度θｘ及びＹ方向照射角度θｙがそれぞれ「０」に初期設定される。次に、作業者は、入力装置３０２を操作することにより、コントローラ３００に測定開始を指示する。
【００４１】
コントローラ３００は、図６ＡのステップＳ１００にてプログラムの実行を開始し、ステップＳ１０２にて変数ｎを「０」に設定する。この変数ｎは、測定対象物ＯＢの表面に形成した光スポットに関するＸ方向角度データθｘ(ｎ)、Ｙ方向角度データθｙ(ｎ)及びＺ方向距離データＬ(ｎ)の取得数に対応した正の整数である。前記ステップＳ１０２の処理後、コントローラ３００は、ステップＳ１０４にて、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材を初期位置（限界位置）まで回転させるために、Ｘ方向モータ４２及びＹ方向モータ４４の駆動開始をＸ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８に指示する。Ｘ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８は、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が初期位置に向かって回転するように、Ｘ方向モータ４２及びＹ方向モータ４４をそれぞれ駆動制御する。これにより、Ｘ方向モータ４２及びＹ方向モータ４４が回転して、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が初期位置に向かって回転し始める。
【００４２】
前記ステップＳ１０４の処理後、コントローラ３００は、ステップＳ１０６にて、Ｘ方向角度検出回路１０２及びＹ方向角度検出回路１０６からのＸ方向限界位置信号及びＹ方向限界位置信号の入力をそれぞれ待つ。走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が初期位置に向かって回転している状態では、コントローラ３００は、ステップＳ１０６にて「Ｎｏ」と判定し続ける。一方、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が初期位置に達して、Ｘ方向角度検出回路１０２及びＹ方向角度検出回路１０６からコントローラ３００にＸ方向限界位置信号及びＹ方向限界位置信号が入力されると、コントローラ３００は、ステップＳ１０６にて「Ｙｅｓ」と判定してステップＳ１０８に進む。なお、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が初期位置にそれぞれ達した状態では、前記Ｘ方向限界位置信号及びＹ方向限界位置信号はＸ方向角度検出回路１０２及びＹ方向角度検出回路１０６からＸ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８にもそれぞれ供給され、Ｘ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８はＸ方向モータ４２及びＹ方向モータ４４の作動を停止させている。また、初期設定処理などにより、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が初期位置にそれぞれ達している場合には、前述したステップＳ１０４，Ｓ１０６の処理は実質的には行われない。
【００４３】
ステップＳ１０８においては、コントローラ３００は、切替え回路１３６へ「１」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を開始させ、かつレーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を停止させる。その結果、レーザ光源１０だけがレーザ駆動回路１１２によって駆動されて、赤色のレーザ光を出射する。レーザ光源２０はレーザ駆動回路１１４によって駆動されず、緑色のレーザ光を出射しない。この場合、レーザ駆動回路１１２は、フォトディテクタ１６、増幅回路１１６及びレーザ光量補正回路１２０との協働によって、レーザ光源１０から出射される赤色のレーザ光の光量を基準反射光量にフィードバック制御する。
【００４４】
前記ステップＳ１０８の処理後、コントローラ３００は、ステップＳ１１０にて、センサ信号取出し回路１２８，１３０に作動開始を指示する。これにより、センサ信号取出し回路１２８，１３０は、受光センサ１４，２４の各画素の受光光量を表す画素データを周期的に出力し始める。ただし、この場合、レーザ光源２０が緑色のレーザ光を出射していないので、センサ信号取出し回路１３０からの画素データは利用されない。次に、コントローラ３００は、ステップＳ１１２にて、フォトディテクタ１６によるレーザ光の受光量が所定の閾値未満であるかを判定する。この判定は、前記受光量が閾値よりも小さくなったときに検出信号を出力する受光量判定回路１２４から、検出信号が入力されているかにより行われる。そして、フォトディテクタ１６によるレーザ光の受光量が閾値未満でなく、受光量判定回路１２４から検出信号が入力されていなければ、コントローラ３００は、ステップＳ１１２にて「Ｎｏ」と判定して、ステップＳ１１４にて入力レーザ光モード値Ｉｎを「１」に設定する。この入力レーザ光モード値Ｉｎは、「１」によって近距離用のレーザ光源１０からの赤色のレーザ光が測定対象物ＯＢに向けて出射され、「２」によって遠距離用のレーザ光源２０からの緑色のレーザ光が測定対象物ＯＢに向けて出射されていることを表す。前記ステップＳ１１４の処理後、ステップＳ１３２以降に進む。
【００４５】
一方、フォトディテクタ１６によるレーザ光の受光量が所定の閾値未満であれば、コントローラ３００は、ステップＳ１１２にて「Ｙｅｓ」と判定して、ステップＳ１１６にて切替え回路１３６へ「２」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を開始させ、かつレーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を停止させる。その結果、レーザ光源２０だけがレーザ駆動回路１１４によって駆動されて、緑色のレーザ光を出射する。レーザ光源１０は、レーザ駆動回路１１２によって駆動されず、赤色のレーザ光を出射しない。この場合、レーザ駆動回路１１４は、フォトディテクタ２６、増幅回路１１８及びレーザ光量補正回路１２２との協働によって、レーザ光源２０から出射される緑色のレーザ光の光量を基準反射光量にフィードバック制御する。
【００４６】
次に、コントローラ３００は、ステップＳ１１８にて、フォトディテクタ２６によるレーザ光の受光量が所定の閾値未満であるかを判定する。この判定は、前記受光量が閾値よりも小さくなったときに検出信号を出力する受光量判定回路１２６から、検出信号が入力されているかにより行われる。そして、フォトディテクタ２６によるレーザ光の受光量が閾値未満でなく、受光量判定回路１２６から検出信号が入力されていなければ、コントローラ３００は、ステップＳ１１８にて「Ｎｏ」と判定して、ステップＳ１２０にて入力レーザ光モード値Ｉｎを「２」に設定して、ステップＳ１３２に進む。
【００４７】
また、フォトディテクタ２６によるレーザ光の受光量が所定の閾値未満であれば、コントローラ３００は、ステップＳ１１８にて「Ｙｅｓ」と判定して、ステップＳ１２２に進む。この場合、フォトディテクタ１６，２６の両者とも、測定対象物ＯＢの表面からの反射光を受光していないことを意味する。ステップＳ１２２においては、コントローラ３００は、切替え回路１３６へ「０」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１２，１１４、レーザ光量補正回路１２０，１２２、受光量判定回路１２４，１２６及び切替え点検出回路１３２，１３４の作動を停止させる。そして、コントローラ３００は、ステップＳ１２４にて表示装置２０２に「反射光受光なし、測定ＯＫ？」なる質問を表示して、ステップＳ１２６にて作業者による入力装置３０２を用いた入力を待つ。作業者は、レーザ光が測定対象物ＯＢ以外の遠方の箇所に照射されているために反射光の受光がなく、３次元カメラ１００の配置に問題がないと判断すれば、「ＯＫ」を入力する。一方、作業者は、３次元カメラ１００の配置に問題があり、３次元カメラ１００の配置を変更する必要があると判断すれば、「Ｎｏ」を入力する。
【００４８】
そして、作業者が「ＯＫ」を入力した場合には、コントローラ３００は、ステップＳ１２６にて「Ｙｅｓ」と判定し、ステップＳ１２８にて「Ｙｅｓ」と判定して、ステップＳ１３０に進む。ステップＳ１３０においては、コントローラ３００は、ステップＳ１１６の場合と同様に、切替え回路１３６へ「２」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を開始させ、かつレーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を停止させる。その結果、レーザ光源２０だけがレーザ駆動回路１１４によって駆動されて、緑色のレーザ光を出射する。また、この場合も、レーザ光源２０から出射される緑色のレーザ光の光量を基準反射光量にフィードバック制御する。そして、前記ステップＳ１３０の処理後、コントローラ３００は、前述したステップＳ１２０の処理により、入力レーザ光モード値Ｉｎを「２」に設定して、ステップＳ１３２に進む。これは、この状態では、レーザ光が測定対象物ＯＢ以外の遠方の箇所に照射されており、以降の距離の検出においては、遠距離用のレーザ光源２０及び受光センサ２４が利用されるためである。
【００４９】
また、作業者が「Ｎｏ」を入力した場合には、コントローラ３００は、ステップＳ１２６にて「Ｙｅｓ」と判定し、ステップＳ１２８にて「Ｎｏ」と判定して、図６ＢのステップＳ１７４以降の終了処理に進む。これは、このプログラムの実行を一旦終了して、作業者が３次元カメラ１００の配置を変更する必要があるからである。
【００５０】
前記ステップＳ１１４，Ｓ１２０の処理後、コントローラ３００は、ステップＳ１３２にてデータ演算部２１０に作動の開始を指示し、ステップＳ１３４にて３次元画像生成部２１２に作動の開始を指示する。これにより、データ演算部２１０及び３次元画像生成部２１２は作動を開始する。次に、コントローラ３００は、ステップＳ１３６にて、走査光学系４０によるレーザ光による照射スポットのＸ方向及びＹ方向の走査を開始させる。具体的には、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材を初期位置から終了位置方向に回転させるために、コントローラ３００は、Ｘ方向モータ４２及びＹ方向モータ４４の駆動開始をＸ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８に指示する。また、この駆動開始の指示の際には、コントローラ３００は、Ｘ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８にＸ方向モータ４２及びＹ方向モータ４４の回転速度すなわちレーザ光のＸ方向及びＹ方向の走査速度も指示する。これにより、Ｘ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８は、前記指定された回転速度で、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が終了位置に向かって回転するように、Ｘ方向モータ４２及びＹ方向モータ４４をそれぞれ駆動制御する。これにより、Ｘ方向モータ４２及びＹ方向モータ４４が回転して、走査光学系４０内のＸ方向回転部材及びＹ方向回転部材が終了位置に向かって回転し始める。なお、Ｙ方向モータ４４の回転速度はＸ方向モータ４２の回転速度もよりもかなり遅い、すなわちレーザ光による照射スポットの走査速度はＸ方向よりもＹ方向がかなり遅い。
【００５１】
前記ステップＳ１３６の処理後、コントローラ３００は、ステップＳ１３８にて内蔵のタイマを作動させて、時間計測を開始する。この時間計測の開始後、コントローラ３００は、図６ＢのステップＳ１４０にて、Ｘ方向角度検出回路１０２からＸ方向照射角度θｘを入力して、入力したＸ方向照射角度θｘが下限値θａよりも小さいか又は上限値θｂよりも大きいかを判定する。下限値θａ及び上限値θｂは、測定対象物ＯＢの表面におけるレーザ光のＸ方向の走査範囲の下限及び上限をそれぞれ規定するものである。Ｘ方向照射角度θｘが下限値θａ以上かつ上限値θｂ以下であれば、コントローラ３００はステップＳ１４０にて「Ｎｏ」と判定して、ステップＳ１４４に進む。ステップＳ１４４においては、コントローラ３００は、前記ステップＳ１３８の処理により開始した計測時間値が所定の小さな時間値Δｔに変数ｎを乗算した値ｎ・Δｔ以上であるかを判定する。計測時間値が値ｎ・Δｔよりも小さければ、コントローラ３００は、ステップＳ１４４にて「Ｎｏ」と判定して、ステップＳ１４０に戻る。
【００５２】
したがって、Ｘ方向照射角度θｘが下限値θａ以上かつ上限値θｂ以下であり、かつ計測時間値が値ｎ・Δｔよりも小さい限り、コントローラ３００は、ステップＳ１４０，Ｓ１４４からなる循環処理を繰り返し実行する。この間に、走査光学系４０内のＸ方向回転部材がＹ軸周りに回転して、レーザ光による照射スポットは測定対象物ＯＢの表面をＸ方向に走査する。なお、最初の走査においては、照射スポットは初期位置から上限値θｂ側に移動する。また、実際には、走査光学系４０内のＹ方向回転部材もＸ軸周りに回転して、レーザ光による照射スポットは測定対象物ＯＢの表面をＹ方向にも走査するが、照射スポットのＹ方向への移動量はかなり小さい。このようなレーザ光による走査中、計測時間値が値ｎ・Δｔ以上になるたびに、コントローラ３００は、ステップＳ１４４にて「Ｙｅｓ」と判定して、ステップＳ１４６〜Ｓ１７２の処理を実行して、ステップＳ１４０に戻る。このステップＳ１４６〜Ｓ１７２の処理については、詳しく後述する。また、変数ｎは、前記ステップＳ１４６〜Ｓ１７２の処理ごとに、ステップＳ１７２の処理により「１」ずつ増加する。
【００５３】
前述したステップＳ１４０，Ｓ１４４の循環処理及びステップＳ１４０，Ｓ１４４〜Ｓ１７２の循環処理中、Ｘ方向照射角度θｘが下限値θａよりも小さく又は上限値θｂよりも大きくなると、コントローラ３００は、ステップＳ１４０にて「Ｙｅｓ」と判定してステップＳ１４２の処理を実行する。ステップＳ１４２においては、コントローラ３００は、Ｘ方向モータ駆動回路１０４にＸ方向モータ４２の反転を指示する。Ｘ方向モータ駆動回路１０４は、この指示に応答して、Ｘ方向モータ４２を反転すなわちＸ方向モータ４２を今までの回転方向とは反対方向に回転させ始める。なお、Ｘ方向モータ４２の回転速度は反転前と同じである。このステップＳ１４０，Ｓ１４２の処理により、レーザ光による照射スポットは測定対象物ＯＢの表面上をＸ方向に所定速度で往復して走査するとともに、Ｙ方向にも僅かに移動する。そして、変数ｎはステップＳ１４４〜Ｓ１７２の処理ごとに「１」ずつ増加するので、このような照射スポットによるＸ方向の往復操作中、所定の短時間Δｔごとに、ステップＳ１４６〜Ｓ１７２の処理が実行されることになる。
【００５４】
ステップＳ１４６〜Ｓ１７２の処理においては、コントローラ３００は、ステップＳ１４６にて、入力レーザ光モード値Ｉｎが「１」であるか否かを判定する。入力レーザ光モード値Ｉｎが「１」であれば、すなわち近距離用のレーザ光源１０が作動中であれば、コントローラ３００は、ステップＳ１４６にて「Ｙｅｓ」と判定して、ステップＳ１４８にて、データ演算部２１０に近距離用のセンサ信号取出し回路１２８からの画素データの入力を指示する。データ演算部２１０は、そのメモリ２１０ａに、センサ信号取出し回路１２８から取込んだ画素データを変数ｎと共に記憶する。一方、入力レーザ光モード値Ｉｎが「１」でなくて「２」であれば、すなわち遠距離用のレーザ光源２０が作動中であれば、コントローラ３００は、ステップＳ１４６にて「Ｎｏ」と判定して、ステップＳ１５０にて、データ演算部２１０に遠距離用のセンサ信号取出し回路１３０からの画素データの入力を指示する。データ演算部２１０は、そのメモリ２１０ａに、センサ信号取出し回路１３０から取込んだ画素データを変数ｎと共に記憶する。
【００５５】
次に、コントローラ３００は、ステップＳ１５２にて、３次元画像生成部２１２に、Ｘ方向角度検出回路１０２によって検出されたレーザ光のＸ方向照射角度θｘ及びＹ方向角度検出回路１０６によって検出されたレーザ光のＹ方向照射角度θｙの入力を指示する。この指示に応答して、３次元画像生成部２１２には、Ｘ方向角度検出回路１０２及びＹ方向角度検出回路１０６からＸ方向照射角度θｘ及びＹ方向照射角度θｙをそれぞれ入力して、そのメモリ２１２ａに変数ｎと共に記憶する。
【００５６】
前記ステップＳ１５２の処理後、コントローラ３００は、ステップＳ１５４にてＹ方向角度検出回路１０６からＹ方向照射角度θｙを入力し、ステップＳ１５６にてＹ方向照射角度θが上限値θｃ以上であるかを判定する。なお、上限値θｃは、レーザ光のＹ方向の走査範囲の上限を規定する角度を示している。Ｙ方向照射角度θが上限値θｃよりも小さければ、コントローラ３００は、ステップＳ１５６にて「Ｎｏ」と判定して、後述するステップＳ１５８〜Ｓ１７０の処理を実行して、ステップＳ１７２にて変数ｎに「１」を加算した後にステップＳ１４０に戻り、前述したステップＳ１４０〜Ｓ１７２の処理を実行し続ける。一方、Ｙ方向照射角度θが上限値θｃ以上になると、コントローラ３００は、ステップＳ１５６にて「Ｙｅｓ」と判定して、ステップＳ１７４以降の終了処理を実行する。したがって、レーザ光による照射スポットが測定対象物ＯＢの表面をＸ方向に下限値θａから上限値θｂまでの範囲内で往復しながら走査するとともに、Ｙ方向の上限値θｃに達するまで、所定の短時間Δｔごとに、センサ信号取出し回路１２８，１３０からの画素データがデータ演算部２１０に順次記憶されていくとともに、Ｘ方向角度検出回路１０２及びＹ方向角度検出回路１０６からのＸ方向照射角度θｘ及びＹ方向照射角度θｙが３次元画像生成部２１２に記憶されていく。
【００５７】
前述したステップＳ１５８〜Ｓ１７０の処理は、近距離用のレーザ光源１０と遠距離用のレーザ光源２０との作動を切替える処理である。ステップＳ１５８において、コントローラ３００は、切替え点検出回路１３２，１３４から切替え点検出信号を入力したか否かを判定する。この場合、切替え点検出回路１３２，１３４は、それらのいずれか一方のみが切替え回路１３６の作用により近距離用及び遠距離用のレーザ光源１０，２０と連動して作動しているので、入力レーザ光モード値Ｉｎが「１」であって近距離用のレーザ光源１０が作動している場合には、切替え点検出回路１３２からの切替え点検出信号の入力を判定する。また、入力レーザ光モード値Ｉｎが「２」であって遠距離用のレーザ光源２０が作動している場合には、切替え点検出回路１３４からの切替え点検出信号の入力を判定する。
【００５８】
まず、入力レーザ光モード値Ｉｎが「１」であって近距離用のレーザ光源１０が作動している場合について詳しく説明すると、切替え点検出回路１３２からの切替え点検出信号が入力されない場合、コントローラ３００は、ステップＳ１５８にて「Ｎｏ」と判定して、ステップＳ１６０に進む。なお、この状態は、後述するように、段差に関する例外を除いて通常、図５に示す近距離用の受光センサ１４のＬ１位置よりも下方において、反射光を受光している状態である。
【００５９】
一方、近距離用の受光センサ１４における反射光の受光位置が上方に移動し、すなわち測定対象物ＯＢの表面への距離が大きくなって、受光センサ１４がＬ１位置で主に反射光を受光し、切替え点検出回路１３２から切替え点検出信号が出力されると、コントローラ３００は、ステップＳ１５８にて「Ｙｅｓ」と判定して、ステップＳ１６２に進む。ステップＳ１６２においては、コントローラ３００は、入力レーザ光モード値Ｉｎが「１」であるかを判定する。この場合、入力レーザ光モード値Ｉｎは「１」であるので、コントローラ３００は、ステップＳ１６２にて「Ｙｅｓ」と判定し、ステップＳ１６４にて切替え回路１３６に「２」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を開始させ、かつレーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を停止させる。その結果、レーザ光源２０だけがレーザ駆動回路１１４によって駆動されて、緑色のレーザ光を出射する。前記ステップＳ１６４の処理後、コントローラ３００は、ステップＳ１６６にて入力レーザ光モード値Ｉｎを「２」に設定して、ステップＳ１７２に進む。これにより、遠距離用のレーザ光源２０及び受光センサ２４による距離の測定モードに切替えられる。
【００６０】
切替え点検出回路１３２からの切替え点検出信号が入力されず、前記ステップＳ１５８にて「Ｎｏ」と判定された場合、コントローラ３００は、ステップＳ１６０にて、受光量判定回路１２４，１２６から、フォトディテクタ１６，２６による受光量が閾値未満であることを表す検出信号を入力したか否かを判定する。実際には、現在の入力レーザ光モード値Ｉｎは「１」であるので、近距離用のレーザ光源１０に対応した受光量判定回路１２４からの検出信号を入力したかを判定する。フォトディテクタ１６による受光量が閾値以上であり、受光量判定回路１２４からの検出信号が入力されない場合、コントローラ３００は、ステップＳ１６０にて「Ｎｏ」と判定して、ステップＳ１７２に進む。
【００６１】
一方、フォトディテクタ１６による受光量が閾値未満であり、受光量判定回路１２４からの検出信号が入力された場合、コントローラ３００は、ステップＳ１６０にて「Ｙｅｓ」と判定して、前述したステップＳ１６２〜Ｓ１６６の処理を実行して、遠距離用のレーザ光源２０及び受光センサ２４による距離の測定モードに切替える。測定対象物ＯＢの表面であって受光センサ１４のＬ１位置（図５参照）によって検出される距離近辺の表面に段差がある場合、反射光が受光センサ１４のＬ１位置に照射されずに、切替え点検出回路１３２からの切替え点検出信号が出力されない場合がある。この場合、フォトディテクタ１６による受光量は非常に小さくなって閾値未満になるので、前記ステップＳ１６０の処理により、反射光の受光位置が受光センサ１４のＬ１位置より先の位置（上方）に移動したことが検出される。
【００６２】
次に、入力レーザ光モード値Ｉｎが「２」であって遠距離用のレーザ光源２０が作動している場合について詳しく説明すると、切替え点検出回路１３４からの切替え点検出信号が入力されない場合、コントローラ３００は、ステップＳ１５８にて「Ｎｏ」と判定して、ステップＳ１６０に進む。なお、この状態は、後述するように、段差に関する例外を除いて通常、図５に示す近距離用の受光センサ１４のＬ２位置よりも上方において、反射光を受光している場合である。
【００６３】
一方、遠距離用の受光センサ２４における反射光の受光位置が下方に移動し、すなわち測定対象物ＯＢの表面までの距離が小さくなって、受光センサ２４がＬ２位置で主に反射光を受光し、切替え点検出回路１３４から切替え点検出信号が出力されると、コントローラ３００は、ステップＳ１５８にて「Ｙｅｓ」と判定して、ステップＳ１６２に進む。この場合、入力レーザ光モード値Ｉｎは「２」であるので、コントローラ３００は、ステップＳ１６２にて「Ｎｏ」と判定し、ステップＳ１６８にて切替え回路１３６に「１」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１２、レーザ光量補正回路１２０、受光量判定回路１２４及び切替え点検出回路１３２の作動を開始させ、かつレーザ駆動回路１１４、レーザ光量補正回路１２２、受光量判定回路１２６及び切替え点検出回路１３４の作動を停止させる。その結果、レーザ光源１０だけがレーザ駆動回路１１２によって駆動されて、赤色のレーザ光を出射する。前記ステップＳ１６８の処理後、コントローラ３００は、ステップＳ１７０にて入力レーザ光モード値Ｉｎを「１」に設定して、ステップＳ１７２に進む。これにより、近距離用のレーザ光源１０及び受光センサ１４による距離の測定モードに切替えられる。
【００６４】
切替え点検出回路１３４からの切替え点検出信号が入力されず、前記ステップＳ１５８にて「Ｎｏ」と判定された場合、コントローラ３００は、ステップＳ１６０にて、受光量判定回路１２４，１２６から、フォトディテクタ１６，２６による受光量が閾値未満であることを表す検出信号を入力したか否かを判定する。この場合、現在の入力レーザ光モード値Ｉｎは「２」であるので、遠距離用のレーザ光源２０に対応した受光量判定回路１２６からの検出信号を入力したかを判定する。フォトディテクタ２６による受光量が閾値以上であり、受光量判定回路１２６からの検出信号が入力されない場合、コントローラ３００は、ステップＳ１６０にて「Ｎｏ」と判定して、ステップＳ１７２に進む。一方、フォトディテクタ２６による受光量が閾値未満であり、受光量判定回路１２６からの検出信号が入力された場合、コントローラ３００は、ステップＳ１６０にて「Ｙｅｓ」と判定して、前述したステップＳ１６２，Ｓ１６８，Ｓ１７０の処理を実行して、近距離用のレーザ光源１０及び受光センサ１４による距離の測定モードに切替える。測定対象物ＯＢの表面であって受光センサ２４のＬ２位置（図５参照）によって検出される距離近辺の表面に段差がある場合、反射光が受光センサ２４のＬ２位置に照射されずに、切替え点検出回路１３４からの切替え点検出信号が出力されない場合がある。この場合、フォトディテクタ２６による受光量は非常に小さくなって閾値未満になるので、前記ステップＳ１６０の処理により、反射光の受光位置が受光センサ１４のＬ２位置より先の位置（下方）に移動したことが検出される。
【００６５】
このようなステップＳ１４０〜Ｓ１７２の循環処理中、ステップＳ１４８，Ｓ１５０の処理によってデータ演算部２１０のメモリ２１０ａに順次記憶された画素データは、順次処理される。すなわち、データ演算部２１０は、１組の画素データによって表された受光光量を受光センサ１４，２４の画素が並んだ方向に見たときの光量波形曲線を作成し、ピーク点を検出して受光位置を求め、３角測量法の原理に基づいて、前記受光位置をＺ方向距離Ｌに換算する。換算された距離Ｌは順次３次元画像生成部２１２に変数ｎと共に出力されて、３次元画像生成部２１２のメモリ２１２ａに変数ｎと共に順次記憶される。
【００６６】
また、前記ステップＳ１４０〜Ｓ１７２の循環処理中、ステップＳ１５２の処理によって３次元画像生成部２１２のメモリ２１２ａに順次記憶されたＸ方向照射角度θｘ及びＹ方向照射角度θｙ、及びデータ演算部２１０から順次出力されてメモリ２１２ａに記憶されたＺ方向距離データＬも、順次処理される。すなわち、３次元画像生成部２１２は、Ｘ方向角度データθｘ(ｎ)及びＹ方向角度データθｙ(ｎ)から座標原点からの方向を表すベクトルを算出し、このベクトルとＺ方向距離データＬ(ｎ)から直交座標系の座標データ(ｘn，ｙn，ｚn)を算出する。そして、後述するステップＳ１７４以降の処理に移ると、メモリ２１２ａには新たなＸ方向角度データθｘ(ｎ)、Ｙ方向角度データθｙ(ｎ)及びＺ方向距離データＬ(ｎ)が入力されなくなるので、座標データ(ｘn，ｙn，ｚn)の算出が終了し、算出した全ての座標データ(ｘn，ｙn，ｚn)を用いて測定対象物ＯＢの３次元形状を表す画像データを生成する。そして、測定対象物ＯＢの３次元形状を表示装置２０２に表示する。
【００６７】
次に、ステップＳ１２８にて「Ｎｏ」と判定され、又はステップＳ１５６にて「Ｙｅｓ」と判定された場合に実行されるステップＳ１７４以降の処理について説明する。ステップＳ１７４においては、コントローラ３００は、切替え回路１３６へ「０」を表す指令を出力する。これにより、切替え回路１３６は、レーザ駆動回路１１２，１１４、レーザ光量補正回路１２０，１２２、受光量判定回路１２４，１２６及び切替え点検出回路１３２，１３４の作動を停止させる。これにより、レーザ光源１０，２０からのレーザ光の出射も停止する。次に、コントローラ３００は、ステップＳ１７６にて、Ｘ方向モータ駆動回路１０４及びＹ方向モータ駆動回路１０８にＸ方向モータ４２及びＹ方向モータ４４の駆動停止を指示してＸ方向モータ４２及びＹ方向モータ４４の作動を停止、すなわち走査光学系４０によるレーザ光による照射スポットのＸ方向及びＹ方向の走査を停止させる。さらに、コントローラ３００は、ステップＳ１７８にてセンサ信号取り出し回路１２８，１３０の作動を停止させ、ステップＳ１８０にてデータ演算部２１０の作動を停止させて、ステップＳ１８２にてプログラムの実行を終了する。
【００６８】
このような処理により、３次元カメラ１００で測定した測定対象物ＯＢの表面の３次元形状が表示装置２０２に表示される。そして、新たな測定対象物ＯＢの表面の３次元形状を測定する場合には、新たな測定対象物ＯＢに３次元カメラ１００を向けて、上述のように、３次元形状測定装置を作動させるようにする。
【００６９】
上記のように動作する実施形態においては、ダイクロイックミラー３４により、集光レンズ３２によって集光される照射スポットからの反射光を互いに異なる少なくとも第１方向及び第２方向に分離し、受光センサ１４，２４でそれぞれ受光するようにした。受光センサ１４は、レーザ光源１０（又はコリメートレンズ１２、ダイクロイックミラー３０）から第１所定範囲内の距離を有する測定対象物ＯＢの表面からの反射光を受光する。受光センサ２４は、レーザ光源２０（又はコリメートレンズ２２、ダイクロイックミラー３０）から第２所定範囲内の距離を有する測定対象物ＯＢの表面からの反射光を受光する。この場合、第２所定範囲は、第１所定範囲と一部重複するとともに、第１所定範囲よりも大きな距離の範囲である。そして、データ演算部２１０は、受光センサ１４からの受光信号と受光センサ２４からの受光信号を用いて距離を計算する。したがって、計算される距離に隙間ができることがなくなり、受光センサ１４，２４を大きくした１つの受光センサで受光した受光信号を用いて距離を計算した場合と同じになる。その結果、規格内の大きさの受光センサを用いても、３次元形状の測定範囲を大きくするか、又は分解能を高くすることができるようになる。
【００７０】
また、上記実施形態においては、ステップＳ１５８〜Ｓ１７０，Ｓ１０８，Ｓ１１２〜Ｓ１２０の処理により、レーザ光源１０，２０（又はコリメートレンズ１２，２２、ダイクロイックミラー３０）から測定対象物ＯＢの表面に形成された照射スポットまでの距離に応じて、レーザ光源１０及びレーザ光源２０の一方が作動され、かつ受光センサ１４及び受光センサ２４の一方からの受光信号がデータ演算部２１０に導かれる。その結果、測定対象物ＯＢからの反射光をダイクロイックミラー３４で２方向に分離しても、反射光の半分の光量が捨てられることはなく、レーザ光源１４，２４からそれぞれ出射されるレーザ光の光量をそれほど大きくする必要がなくなる。
【００７１】
また、上記実施形態においては、切替え点検出回路１３２，１３４が受光センサ１４，２４内におけるＬ１，Ｌ２位置の受光素子による反射光の受光量が所定の閾値以上であることを検出すると、ステップＳ１５８，Ｓ１６２〜Ｓ１７２の処理により、レーザ光源１０の作動及び受光センサ１４からの受光信号の採用と、レーザ光源２０の作動及び受光センサ２４からの受光信号の採用とが切替えられるようになる。その結果、前記切替えの判定を受光センサ１４，２４の全ての受光素子からの受光信号を処理して行う必要がなく、簡単に、測定対象物からの反射光の受光位置が受光センサ１４，２４の端部近傍になったときに前記切替えを瞬時に行うことができる。また、フォトディテクタ１２４，１２６が、受光センサ１４，２４による反射光の受光量が所定の受光量未満であることを検出すると、ステップＳ１６０，Ｓ１６２〜Ｓ１７２の処理によっても、レーザ光源１０の作動及び受光センサ１４からの受光信号の採用と、レーザ光源２０の作動及び受光センサ２４からの受光信号の採用とが切替えられるようになる。その結果、前記第１所定範囲と第２所定範囲の重複部分内に段差があって、測定対象物ＯＢでの反射光の受光位置が瞬時に変化して、前記切替え点検出回路１３２，１３４の検出結果による切替えがなされなくても、測定対象物ＯＢからの反射光の受光位置が受光センサ１４，２４から外れたときに前記切替えを瞬時に行うことができる。
【００７２】
以上、本発明の一実施形態について説明したが、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
【００７３】
上記実施形態では、１組のダイクロイックミラー３０，３４で、２つの波長のレーザ光をそれぞれ別の方向に導くようにした。しかし、これに代えて、波長特性が異なる２組以上のダイクロイックミラーで３つ以上の波長のレーザ光をそれぞれ別の方向に導くようにしてもよい。この場合、レーザ光源、光量制御に使用するフォトディテクタとその周辺回路、及びセンサ信号取り出し回路の数、並びに切替え回路１３６が切替える数を適宜変更すればよい。これによれば、３次元形状の測定可能範囲をさらに大きくすることができるか、又は３次元形状の測定分解能をさらに高くすることができる。
【００７４】
また、上記実施形態では、反射光を２つの方向に導く光学素子としてダイクロイックミラー３０，３４を用いた。しかし、これに代えて、ハーフミラー等で反射光を分割して２つの方向に送るようにしてもよい。これによれば、反射光の半分の光量を使用しないことになるが、レーザ光源は１つでよく、出射するレーザ光を切替える手段を設ける必要もなくなる。
【００７５】
また、上記実施形態では、レーザ光源１０，２０、受光センサ１４，２４などの切替えに、受光センサ１４，２４の端部近傍の画素の信号強度と、フォトディテクタ１６，２６の受光量に相当する信号強度との２つ要素を用いた。しかし、表面に段差のない測定対象物ＯＢの３次元形状を測定するならば、受光センサ１４，２４の端部近傍の画素の信号強度のみにより、レーザ光源１０，２０、受光センサ１４，２４などの切替えを行うようにしてもよい。
【００７６】
さらに、上記実施形態では、レーザ光による照射スポットの走査のために２方向に回転する走査光学系４０を用いた。しかし、これに代えて、レーザ光による照射スポットで測定対象物ＯＢの表面を走査できれば、どのような方法でもよい。走査光学系４０の回転を１方向にして、３次元カメラ１００を測定対象物ＯＢと相対的に１方向に移動してもよいし、走査光学系４０をなくして、３次元カメラ１００を測定対象物ＯＢと相対的に２方向に移動させてもよい。また、Ｘ方向及びＹ方向のレーザ光による照射スポットの走査においては、回転による走査でなくても、レーザ光の光軸をＸ方向及びＹ方向に直線的に移動させてレーザ光による照射スポットを走査させるようにしてもよい。
【符号の説明】
【００７７】
１０，２０…レーザ光源、１２，２２…コリメートレンズ、１４，２４…受光センサ、１６，２６…フォトディテクタ、３０，３４…ダイクロイックミラー、３２…集光レンズ、１０２…Ｘ方向角度検出回路、１０４…Ｘ方向モータ駆動回路、１０６…Ｙ方向角度検出回路、１０８…Ｙ方向モータ駆動回路、１１２，１１４…レーザ駆動回路、１２４，１２６…受光量判定回路、１２８，１３０…センサ信号取出し回路、１３２，１３４…切替え点検出回路、１３６…切替え回路、２００…データ処理装置、２０２…表示装置、２１０…データ演算部、２１２…３次元画像生成部、３００…コントローラ、３０２…入力装置
【図１】
2011215089.tif 000003
【図２】
2011215089.tif 000004
【図３】
2011215089.tif 000005
【図４】
2011215089.tif 000006
【図５】
2011215089.tif 000007
【図６Ａ】
2011215089.tif 000008
【図６Ｂ】
2011215089.tif 000009
【図７】
2011215089.tif 000010