(57)【要約】【課題】高速、且つ高精度に受光中心位置を検出可能な変位センサを提供する。【解決手段】変位センサ１０は、受光信号を順次読み込み、受光信号を時間で二次微分して二次微分信号を生成し、その二次微分信号が正値から負値に変化するゼロクロス点における画素の受光信号レベルをしきい値に設定し、そのしきい値以上の画素範囲を演算範囲に設定する制御部１６を備える。この制御部１６は、上記設定した演算範囲にて重心演算を行って受光波形の重心位置を算出し、その重心位置を受光中心位置として検出する。【選択図】図１
2011075469.tif 000002
【特許請求の範囲】
【請求項１】
対象物に光を照射する投光手段と、
一列状に配置された画素群を含み一次元又は二次元状に配置された複数の画素を備え、前記対象物からの反射光を受光して受光量に応じた受光信号を出力する撮像素子と、
前記受光信号に基づいて一列状に配置された画素群上の受光中心位置を検出する受光位置検出手段とを備え、前記受光中心位置に基づいて前記対象物の測定を行う変位センサであって、
前記各画素の前記受光信号を順次読み込むごとに、画素間の受光信号の変化量を測定する動作を前記一列状に配置された画素群の各受光信号に対して繰り返し行う変化量測定手段と、
前記変化量測定手段で測定された変化量が所定値に達したときの画素の受光信号のレベルをしきい値に設定するしきい値設定手段とを有し、
前記受光信号を順次読み込むごとに、前記受光信号のレベルと前記しきい値を比較し、前記受光信号のレベルが前記しきい値以上となる画素を所定の画素範囲に設定する範囲設定手段を備え、
前記受光位置検出手段は、前記所定の画素範囲内の前記受光信号からそのピーク位置又は重心位置を求めて前記受光中心位置として検出することを特徴とする変位センサ。
【請求項２】
請求項１に記載の変位センサにおいて、
前記変化量測定手段は、前記受光信号を二次微分して二次微分信号を生成し、
前記しきい値設定手段は、前記二次微分信号が正値から負値に変化するゼロクロスするときの画素の受光信号のレベルを前記しきい値として設定することを特徴とする変位センサ。
【請求項３】
請求項１に記載の変位センサにおいて、
前記変化量測定手段は、前記受光信号を一次微分して一次微分信号を生成し、
前記しきい値設定手段は、前記一次微分信号のレベルが一旦上昇した後に下降し始めたときの画素の受光信号のレベルを前記しきい値に設定することを特徴とする変位センサ。
【請求項４】
請求項２又は３に記載の変位センサにおいて、
前記しきい値の設定後に、該しきい値の設定された画素群の受光信号に対する、前記変化量測定手段による微分演算を停止させる制御手段を備えることを特徴とする変位センサ。
【請求項５】
請求項１〜４のいずれか１項に記載の変位センサにおいて、
前記範囲設定手段で設定された前記所定の画素範囲の画素数を計測する計測手段と、
前記計測手段で計測された画素数が所定範囲外となる場合に、前記範囲設定手段に前記所定の画素範囲の再設定を行わせる制御手段とを備えることを特徴とする変位センサ。
【請求項６】
請求項１〜５のいずれか１項に記載の変位センサにおいて、
前記撮像素子は、前記一列状に配置された画素群を含み二次元状に配置された複数の画素を備えて構成され、
前記変化量測定手段は、前記撮像素子の各一列ごとに、前記変化量を測定するよう構成され、
前記しきい値設定手段は、前記撮像素子の各一列ごとに、前記しきい値の設定を行うよう構成され、
前記範囲設定手段は、前記撮像素子の各一列ごとに、前記所定の画素範囲を設定するよう構成され、
前記受光位置検出手段は、前記撮像素子の各一列ごとに、前記受光中心位置の検出を行うことを特徴とする変位センサ。
【請求項７】
請求項６に記載の変位センサにおいて、
前記撮像素子の各列ごとに設定された前記所定の画素範囲の画素数が所定レベル画素数以上異なる場合に、前記範囲設定手段に前記所定の画素範囲の再設定を行わせる制御手段を備えることを特徴とする変位センサ。
【請求項８】
請求項１〜７のいずれか１項に記載の変位センサにおいて、
前記受光位置検出手段は、前記所定の画素範囲内の前記受光信号の読み取りが終了した後、直ちに、前記所定の画素範囲内の前記受光信号からそのピーク位置又は重心位置を求めて前記受光中心位置として検出することを特徴とする変位センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変位センサに関するものである。
【背景技術】
【０００２】
従来、三角測量の原理を用いて対象物の変位や対象物の表面形状等を測定するための変位センサが知られている（例えば特許文献１参照）。この変位センサは、投光部から投光した光を対象物に照射させ、その対象物からの反射光をイメージセンサにて受光し、そのイメージセンサの各画素における受光量から受光中心位置を検出し、その受光中心位置に基づいて対象物の変位などを測定する。
【０００３】
具体的には、例えば図９の実線で示すようにイメージセンサの各画素の受光量（受光信号レベル）が順次読み出されるときに、各画素の受光信号レベルと予め設定されたしきい値とを比較し、受光信号レベルがしきい値以上となる画素範囲（ハッチング参照）を演算範囲に設定する。そして、この設定した演算範囲にて受光信号レベル分布（受光波形）のピーク位置又は重心位置を求め、その求めた位置を上記受光中心位置として検出する。
【０００４】
このような受光中心位置の検出方法では、予め設定されたしきい値との比較によって演算範囲を設定するようにしたため、受光信号レベルを読み出しつつ演算範囲を設定することができる。このため、受光波形のピーク位置又は重心位置を高速に算出することができ、ひいては受光中心位置を高速に検出することができる。また、演算範囲が所定範囲に制限されるため、受光波形のピーク位置又は重心位置を算出するための演算負荷を軽減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２８６４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記受光波形（各画素の受光信号レベル）は、投光部から出射される光の光量が一定であったとしても対象物の表面（被照射面）の状態によって変化する。例えば対象物の表面が白色等の反射率の高い面の場合は図９の実線で示すように受光信号レベルが高くなる一方で、対象物の表面が黒色等の反射率の低い面の場合は図９の一点鎖線で示すように受光信号レベルが低くなる。このように受光信号レベルに差が生じる対象物を測定対象とする場合には、上述したような予め設定した固定のしきい値では上記演算範囲を設定できなくなる場合がある。すなわち、図９の一点鎖線で示す受光波形のように各画素の受光信号レベルが極端に低くなり、受光波形のピーク値が上記しきい値よりも低くなると、しきい値以上の画素が存在しないため、上記演算範囲を設定することができない。このため、このような場合には受光波形のピーク位置又は重心位置を算出することができなくなり問題である。なお、測定対象の対象物の種類に応じてユーザがしきい値を変更することにより上記問題を回避することも可能であるが、このような変更作業はユーザ（とくに、不慣れなユーザ）にとっては判断が難しく煩雑である。
【０００７】
そこで、受光中心位置を検出するための別の方法として、読み出されたイメージセンサの各画素の受光信号レベルを比較して受光波形における受光信号レベルのピーク値を検出し、そのピーク値に基づいてしきい値を設定して演算範囲を設定する方法が考えられる。この方法では、受光信号レベルが上記設定されたしきい値以上となる範囲を演算範囲に設定し、その演算範囲にて受光波形の重心位置を求め、その求めた位置を上記受光中心位置として検出する。この方法によれば、実際の受光信号レベルに応じてしきい値が設定されるため、対象物の表面の状態に関係なく最適な演算範囲を設定することができる。このため、受光波形の重心位置を高精度に算出することができ、ひいては受光中心位置を高精度に検出することができる。
【０００８】
しかし、この方法では、各画素の受光信号レベルをすべて読み出さなければ受光波形のピーク値を検出することができないため、各画素の受光信号レベルをすべて読み出した後でなければ上記しきい値及び上記演算範囲を設定することができない。したがって、リアルタイムに変位量計算（受光中心位置の検出）を行うような高速処理の場合にはこの方法を適用することはできない。
【０００９】
このように、上記受光中心位置の検出方法における高速処理と高精度処理とは、いわゆるトレードオフの関係にあり、いずれかに関して所望とする条件を満たそうとすれば、他方の条件がより低いものにならざるを得ない。
【００１０】
本発明は、上記課題を解決するためになされたものであって、その目的は、高速、且つ高精度に受光中心位置を検出可能な変位センサを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の発明は、対象物に光を照射する投光手段と、一列状に配置された画素群を含み一次元又は二次元状に配置された複数の画素を備え、前記対象物からの反射光を受光して受光量に応じた受光信号を出力する撮像素子と、前記受光信号に基づいて一列状に配置された画素群上の受光中心位置を検出する受光位置検出手段とを備え、前記受光中心位置に基づいて前記対象物の測定を行う変位センサであって、前記各画素の前記受光信号を順次読み込むごとに、画素間の受光信号の変化量を測定する動作を前記一列状に配置された画素群の各受光信号に対して繰り返し行う変化量測定手段と、前記変化量測定手段で測定された変化量が所定値に達したときの画素の受光信号のレベルをしきい値に設定するしきい値設定手段とを有し、前記受光信号を順次読み込むごとに、前記受光信号レベルと前記しきい値を比較し、前記受光信号のレベルが前記しきい値以上となる画素を所定の画素範囲に設定する範囲設定手段を備え、前記受光位置検出手段は、前記所定の画素範囲内の前記受光信号からそのピーク位置又は重心位置を求めて前記受光中心位置として検出することをその要旨とする。
【００１２】
この構成によれば、受光信号の変化量が所定値に達したときの画素の受光信号のレベルをしきい値に設定するようにしたため、受光信号のレベルの大小による影響を低減した上でしきい値を設定することができる。これにより、順次読み込まれる受光信号のレベルに適したしきい値を設定することができる。そして、そのしきい値以上となる画素範囲にてピーク位置又は重心位置を求めるようにした。このため、ピーク位置又は重心位置を高精度に求めることができ、ひいては受光中心位置を高精度に検出することができる。
【００１３】
さらに、上述のようにしきい値を設定した後、順次読み込まれる受光信号のレベルがしきい値以上であるかを判定することによって所定の画素範囲を設定することができる。このため、受光信号のレベルを読み込みながら、所定の画素範囲を設定することができるため、所定の画素範囲を高速に設定することができる。したがって、ピーク位置又は重心位置を高速、且つ高精度に求めることができ、ひいては受光中心位置を高速、且つ高精度に検出することができる。
【００１４】
請求項２に記載の発明は、請求項１に記載の変位センサにおいて、前記変化量測定手段は、前記受光信号を二次微分して二次微分信号を生成し、前記しきい値設定手段は、前記二次微分信号が正値から負値に変化するゼロクロスするときの画素の受光信号のレベルを前記しきい値として設定することをその要旨とする。
【００１５】
これにより、二次微分信号が正値から負値に変化するゼロクロス点における画素の受光信号のレベルがしきい値に設定される。ここで、上記ゼロクロス点は、受光信号のレベルの立ち上がり時に発生し、且つ受光信号のレベルの大小に関わらず発生する。このため、このゼロクロス点における画素の受光信号のレベルをしきい値に設定することにより、受光信号のレベルの大小による影響を好適に低減した上で、順次読み込まれる受光信号のレベルに適したしきい値を設定することができる。
【００１６】
請求項３に記載の発明は、請求項１に記載の変位センサにおいて、前記変化量測定手段は、前記受光信号を一次微分して一次微分信号を生成し、前記しきい値設定手段は、前記一次微分信号のレベルが一旦上昇した後に下降し始めたときの画素の受光信号のレベルを前記しきい値に設定することをその要旨とする。
【００１７】
これにより、一次微分信号のレベルが一旦上昇した後に下降し始めたときの画素の受光信号のレベルがしきい値に設定される。ここで、上記一次微分信号の変化点は、受光信号のレベルの立ち上がり時に発生し、且つ受光信号のレベルの大小に関わらず発生する。このため、この一次微分信号の変化点における画素の受光信号のレベルをしきい値に設定することにより、受光信号のレベルの大小による影響を好適に低減した上で、順次読み込まれる受光信号のレベルに適したしきい値を設定することができる。
【００１８】
請求項４に記載の発明は、請求項２又は３に記載の変位センサにおいて、前記しきい値の設定後に、該しきい値の設定された画素群の受光信号に対する、前記変化量測定手段による微分演算を停止させる制御手段を備えることをその要旨とする。これにより、変化量測定手段による微分演算にかかる演算負荷を軽減することができる。
【００１９】
請求項５に記載の発明は、前記範囲設定手段で設定された前記所定の画素範囲の画素数を計測する計測手段と、前記計測手段で計測された画素数が所定範囲外となる場合に、前記範囲設定手段に前記所定の画素範囲の再設定を行わせる制御手段とを備えることをその要旨とする。
【００２０】
これにより、所定の画素範囲内の画素数が所定範囲外となる場合に、所定の画素範囲を再設定することができる。したがって、例えばノイズなどによって所定の画素範囲が設定された場合に、所定の画素範囲を設定し直すことができる。
【００２１】
請求項６に記載の発明は、請求項１〜５のいずれか１項に記載の変位センサにおいて、前記撮像素子は、前記一列状に配置された画素群を含み二次元状に配置された複数の画素を備えて構成され、前記変化量測定手段は、前記撮像素子の各一列ごとに、前記変化量を測定するよう構成され、前記しきい値設定手段は、前記撮像素子の各一列ごとに、前記しきい値の設定を行うよう構成され、前記範囲設定手段は、前記撮像素子の各一列ごとに、前記所定の画素範囲を設定するよう構成され、前記受光位置検出手段は、前記撮像素子の各一列ごとに、前記受光中心位置の検出を行うことをその要旨とする。
【００２２】
これにより、撮像素子の各一列ごとに、変化量の測定、しきい値の設定、及び所定の画素範囲の設定を行うことができる。
請求項７に記載の発明は、請求項６に記載の変位センサにおいて、前記撮像素子の各列ごとに設定された前記所定の画素範囲の画素数が所定レベル画素数以上異なる場合に、前記範囲設定手段に前記所定の画素範囲の再設定を行わせる制御手段を備えることをその要旨とする。
【００２３】
これにより、撮像素子の各列ごとに設定された所定の画素範囲の画素数が所定レベル画素数以上異なる場合に、所定の画素範囲を設定し直すことができる。
請求項８に記載の発明は、請求項１〜７のいずれか１項に記載の変位センサにおいて、前記受光位置検出手段は、前記所定の画素範囲内の前記受光信号の読み取りが終了した後、直ちに、前記所定の画素範囲内の前記受光信号からそのピーク位置又は重心位置を求めて前記受光中心位置として検出することをその要旨とする。
【００２４】
これにより、所定の画素範囲設定後、直ちに、ピーク位置又は重心位置を求めて受光中心位置として検出することができるため、受光中心位置の検出速度を向上させることができる。
【発明の効果】
【００２５】
本発明によれば、高速、且つ高精度に受光中心位置を検出することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態における変位センサの電気的構成を示すブロック図である。
【図２】変位センサの一部を示す概略構成図である。
【図３】変位センサの一部を示す斜視図である。
【図４】走査線と受光像との関係を示す模式図である。
【図５】受光中心位置の検出処理を示すフローチャートである。
【図６】（ａ）〜（ｃ）は、受光中心位置の検出処理を説明するための波形図である。
【図７】（ａ）、（ｂ）は、受光中心位置の検出処理を説明するためのシミュレーション結果である。
【図８】変形例の受光中心位置の検出処理を説明するための波形図である。
【図９】従来の受光中心位置の検出処理を説明するための波形図である。
【発明を実施するための形態】
【００２７】
以下、本発明を具体化した一実施形態を図面に従って説明する。なお、図１は本実施形態の変位センサ１０の電気的構成を示すブロック図であり、図２は変位センサ１０の一部を示す概略構成図であり、図３は変位センサ１０の一部を示す斜視図である。
【００２８】
図２に示すように、変位センサ１０は、レーザ光源１１及び二次元ＣＣＤ１４を備えている。この変位センサ１０は、レーザ光源１１から出射された光を挿通板１２のスリット１２Ａを通過させて線状にし、その線状の光を対象物Ｗの表面に照射させ、その対象物Ｗからの反射光を二次元ＣＣＤ１４の撮像面１４Ａ上にて受光する。このとき、撮像面１４Ａ上に形成される受光像（受光中心位置）は、変位センサ１０と対象物の表面（被照射面）までの距離に応じて変化するため、対象物Ｗの表面の形状に応じて変化する。例えば対象物Ｗの表面が平坦である場合には、撮像面１４Ａ上に形成される受光像は上記スリット１２Ａの開口形状と同じ形状（例えば直線状）になる。また、図３に示すように対象物Ｗの表面が凹凸状である場合には、撮像面１４Ａ上に形成される受光像も凹凸形状となる。このため、撮像面１４Ａ上に形成される受光像（受光中心位置）に基づいて対象物Ｗの表面形状等を測定することができる。
【００２９】
なお、本実施形態の対象物Ｗは、反射率が互いに異なる複数の部分を有し、反射率が不均一なものである。具体的には、対象物Ｗは、低反射率の材料（例えば黒色樹脂）からなり上面に開口部Ｗ１Ａ（図２参照）が形成された本体部Ｗ１と、高反射率の材料（例えばアルミなどの金属）からなり上記開口部Ｗ１Ａを塞ぐための蓋部Ｗ２とを有する。
【００３０】
次に、変位センサ１０の電気的構成を図１にしたがって説明する。
図１に示すように、変位センサ１０は、レーザ光源１１と、挿通板１２と、レーザ駆動回路１３と、二次元ＣＣＤ１４と、ＣＣＤ駆動回路１５と、当該変位センサ１０全体を制御する制御部１６と、データ処理部１７と、メモリ１８とを備える。
【００３１】
レーザ光源１１は、制御部１６によって駆動制御されるレーザ駆動回路１３から供給される駆動電流に基づいて、レーザ光を対象物Ｗに投光（照射）する。この対象物Ｗからの反射光は、二次元ＣＣＤ１４の撮像面１４Ａ上に入射される。なお、撮像面１４Ａは、図４に示すように行列状に配置された複数の画素（受光素子：黒丸参照）によって構成されている。そして、二次元ＣＣＤ１４は、撮像面１４Ａの各画素に入射（受光）された光を、その受光量に応じたレベルの電気信号（受光信号）に変換してＣＣＤ駆動回路１５に出力する。このＣＣＤ駆動回路１５は、撮像面１４Ａ上に形成される線状の受光像の厚み方向に沿った走査線Ｌ（図４参照）毎に上記受光信号を順次読み取り、その受光信号を制御部１６に出力する。これにより、制御部１６は、図６（ａ）に示すような一次元の受光量分布に相当する時系列の受光信号（受光波形）を走査線Ｌ毎に得る。なお、走査線Ｌ上の画素は、レーザ光源１１から投光されるレーザ光（対象物Ｗからの反射光）が移動する方向に沿って一列状に配置された画素群によって構成されている。
【００３２】
この制御部１６は、ＣＣＤ駆動回路１５からの受光信号に基づいて、走査線Ｌ毎に受光中心位置を検出して対象物Ｗの表面形状を測定する。詳述すると、上記二次元ＣＣＤ１４の撮像面１４Ａにおける反射光の受光中心位置は変位センサ１０から対象物Ｗの表面までの距離に応じて変化し、これに伴って上記受光中心位置に対応する受光波形の重心位置も変化する。そこで、制御部１６は、走査線Ｌ毎に読み取られた受光信号に基づいて、図６（ａ）に示すような受光波形における重心位置を算出し、その算出した重心位置を該当走査線Ｌの受光中心位置として検出する。そして、制御部１６は、このような各走査線Ｌ上における受光中心位置を検出する処理を各走査線Ｌについてそれぞれ行う。これにより、図４に示すような線状の受光像を得ることができ、光が照射された部位の表面形状や高低差等を測定することができる。さらに、制御部１６は、当該変位センサ１０と対象物Ｗとを相対的に移動させつつ同様の表面形状測定を各部位に対して行うことにより、対象物Ｗ全体の表面形状についても測定することが可能である。
【００３３】
なお、データ処理部１７は、有線又は無線により当該変位センサ１０に接続される外部機器との間でデータの双方向通信が可能になっている。
次に、各走査線Ｌにおける受光中心位置の検出処理を図５及び図６にしたがって説明する。図５は受光中心位置の検出処理を示すフローチャートであり、図６は受光中心位置の検出処理を説明するための波形図である。なお、図６において、縦軸及び横軸は、説明を簡潔にするため、適宜拡大、縮小して示している。
【００３４】
図５に示すステップＳ１において、制御部１６は、レーザ駆動回路１３を通じて駆動電流をレーザ光源１１に供給し、そのレーザ光源１１からレーザ光を対象物Ｗに向けて投光させる。すると、この対象物Ｗからの反射光が二次元ＣＣＤ１４の撮像面１４Ａ上に受光され、その撮像面１４Ａ上に線状の受光像が形成される。続いて、制御部１６は、二次元ＣＣＤ１４から走査線Ｌ毎に出力される受光信号をＣＣＤ駆動回路１５に読み取らせる（ステップＳ２）。すると、図６（ａ）に示すような受光波形（受光信号レベル分布）が走査線Ｌ毎に得られる。
【００３５】
ここで、上述したように対象物Ｗは反射率が不均一であるため、走査線Ｌの位置によって受光信号レベルの大きさが異なる。すなわち、低反射率の本体部Ｗ１に対応する走査線Ｌでは図６（ａ）の実線で示すように各画素の受光信号レベルが低くなり、高反射率の蓋部Ｗ２に対応する走査線Ｌでは図６（ａ）の一点鎖線で示すように各画素の受光信号レベルが高くなる。このため、従来のように固定のしきい値に基づいて重心演算のための演算範囲を設定する場合には、低反射率の本体部Ｗ１に対応する走査線Ｌにおける受光中心位置を検出できないという問題が発生し得る。そこで、本実施形態の制御部１６は、上記問題を解消するように以下のステップＳ３〜Ｓ５の処理によって重心演算のための演算範囲を設定するようにした。なお、ここでは、低反射率の本体部Ｗ１に対応する走査線Ｌにおける受光波形（実線の波形）を例にして説明する。
【００３６】
図５に示すステップＳ３において、制御部１６（変化量測定手段）は、ＣＣＤ駆動回路１５から走査線Ｌ毎に順次入力される受光信号（図６（ａ）の実線参照）を時間で二次微分し、図６（ｃ）に示すような二次微分信号を生成する。制御部１６は、各画素の受光信号が入力されるごとに、上記二次微分信号の生成を走査線Ｌ上の画素の各受光信号に対して繰り返し行う。なお、図６（ｂ）は、受光信号を時間で一次微分した一次微分信号を示したものである。このときの一次微分信号は、単位時間（所定時間）あたりの受光信号の変化量を表し、二次微分信号は、単位時間あたりの一次微分信号の変化量を表わしている。
【００３７】
続いて、制御部１６（しきい値設定手段）は、図６に示すように、二次微分信号が最初に正値から負値に変化するゼロクロス点Ｃ１を検出し、そのゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定する（図５のステップＳ４）。
【００３８】
次に、制御部１６（演算範囲設定手段）は、受光信号レベルがしきい値Ｄ以上となる画素範囲（図６（ａ）のハッチング参照）を、受光波形の重心位置を算出する重心演算を実施する演算範囲に設定する（ステップＳ５）。具体的には、制御部１６は、しきい値Ｄに設定された画素Ａを演算範囲の開始点とし、その後順次入力される受光信号レベルとしきい値Ｄとを比較し、受光信号レベルがしきい値Ｄよりも低くなる画素Ｂ１を演算範囲の終了点とする。すなわち、本例では、画素Ａから画素Ｂ１までの画素範囲が演算範囲に設定される。
【００３９】
次いで、制御部１６（受光位置検出手段）は、上記演算範囲に設定された画素範囲の受光信号に対して重心演算を行って、その画素範囲の重心位置、すなわち受光波形の重心位置を算出し、算出した重心位置を受光中心位置として検出する（ステップＳ６）。
【００４０】
このように受光信号の二次微分信号が正値から負値に変化するゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定したため、対象となる受光波形の受光信号レベルに適したしきい値Ｄを設定することができる。ここで、上記ゼロクロス点Ｃ１は、受光波形の立ち上がり時における変化量に応じて一旦上昇した一次微分信号が下降し始めるときに発生するものであり、受光信号レベルの大小に関わらず発生する。このようなゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定することにより、受光波形の立ち上がり時における受光信号レベルをしきい値Ｄに設定することができる。このため、受光波形におけるピーク値よりも前にしきい値Ｄを設定でき、且つ上記ピーク値よりも低い受光信号レベルをしきい値Ｄに設定することができる。そして、このような受光波形に適したしきい値Ｄ以上の画素範囲を演算範囲に設定するようにしたため、受光信号レベルの大小の影響を受けることなく、受光波形に適した演算範囲を設定することができ、高精度に演算範囲を設定することができる。さらに、上述のように設定したしきい値Ｄと受光信号レベルとを比較することで演算範囲を設定するようにしたため、各画素の受光信号レベルを読み出しながら演算範囲を設定することができ、高速に演算範囲を設定することができる。したがって、この演算範囲にて重心演算を行うことにより、受光波形の重心位置を高速且つ高精度に算出でき、ひいては高速且つ高精度に受光重心位置を検出することができる。
【００４１】
そして、上述したステップＳ３〜Ｓ６の処理を走査線Ｌ毎に実行し、各走査線Ｌの受光中心位置を検出することにより、図４に示すような線状の受光像を得ることができ、対象物Ｗの表面形状を検出することができる。
【００４２】
ここで、受光信号の二次微分信号を利用して演算範囲を設定する方法としては以下のような方法も考えられる。すなわち、二次微分信号が正値から負値に変化するゼロクロス点Ｃ１における画素Ａから、二次微分信号が負値から正値に変化するゼロクロス点Ｃ２における画素Ｂ２までの画素範囲を演算範囲に設定する方法である。このゼロクロス点Ｃ１，Ｃ２の画素Ａ，Ｂ２を演算範囲に設定する方法であっても、図６に示すような理想的な受光波形であれば、演算範囲の終了点となる画素Ｂ２を上記画素Ｂ１と略同様の位置に設定することができる。このため、上記実施形態と略同様の演算範囲を設定することができる。
【００４３】
但し、図７（ａ）に示すように、実際の受光波形の場合には、外乱等のノイズの影響によって二次微分信号の変化が大きくなり、二次微分信号が正値から負値に変化するゼロクロス点と二次微分信号が負値から正値に変化するゼロクロス点が多数存在することがある（黒丸参照）。このような場合には、上記ゼロクロス点の画素を演算範囲に設定する方法では、複数の演算範囲（図７（ａ）のハッチング参照）が設定されることになる。このため、ここで設定された演算範囲に基づいて重心演算を実行すると、複数の重心位置が算出されることになり、受光中心位置の検出精度が低下する。
【００４４】
これに対して、図５のステップＳ３〜Ｓ５の処理によって演算範囲を設定する場合には、図７（ｂ）に示すように、ノイズの影響によって受光波形が変動し、その受光波形の二次微分信号が大きく変動したとしても、その受光波形に適した演算範囲を設定することができる。詳述すると、二次微分信号が最初に正値から負値に変化するゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値に設定し、そのしきい値以上の画素範囲を演算範囲に設定するため、上記ゼロクロス点Ｃ１後の二次微分信号の変動による影響を受けない。このため、ノイズなどの影響を受けることなく、当該受光波形に適した演算範囲を設定することができる。これにより、受光波形の重心位置を精度良く算出することができ、ひいては受光中心位置を高精度に検出することができる。
【００４５】
次に、本実施形態の特徴的な作用効果を記載する。
（１）受光信号の二次微分信号が正値から負値に変化するゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定し、そのしきい値Ｄ以上の画素範囲を演算範囲に設定するようにした。このように受光信号の変化量が所定値（ゼロクロス点Ｃ１）に達したときの受光信号レベルをしきい値Ｄに設定することにより、各画素の受光信号レベルの大小に関係なく、対象となる受光波形に適したしきい値Ｄを設定することができる。このため、受信演算のための演算範囲を高精度に設定することができる。また、受光信号レベルを読み出しながら演算範囲を設定することができるため、高速に演算範囲を設定することができる。したがって、高速、且つ高精度に受光波形の重心位置を算出することができ、ひいては受光中心位置を高速、且つ高精度に検出することができる。さらに、ユーザによるしきい値の設定変更等の煩雑な作業も必要ない。
【００４６】
（２）また、ゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定し、そのしきい値Ｄ以上の画素範囲を演算範囲に設定したことにより、受光波形にノイズなどが乗っても、そのノイズの影響を受けることなく、受光波形に適した演算範囲を設定することができる。したがって、ノイズの影響を受けることなく、受光波形の重心位置及び受光中心位置を高精度に検出することができる。
【００４７】
（３）しきい値Ｄを設定する際に、二次微分信号が最初に正値から負値に変化するゼロクロス点Ｃ１を検出するようにした。このゼロクロス点Ｃ１は、図６（ａ）の実線や一点鎖線で示すような受光信号レベルのピーク値が存在する受光波形であれば必ず存在する。このため、このゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定することにより、各画素の受光信号レベルの大小に関わらず、受光波形に適したしきい値Ｄを確実に設定することができる。
【００４８】
（４）重心演算を実施する演算範囲を所定範囲（受光信号レベルがしきい値Ｄ以上の画素範囲）に制限したため、重心演算にかかる演算負荷を軽減することができる。
（他の実施形態）
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
【００４９】
・上記実施形態では、二次微分信号が最初に正値から負値に変化するゼロクロス点Ｃ１を検出し、そのゼロクロス点Ｃ１における画素Ａの受光信号レベルをしきい値Ｄに設定するようにしたが、これに限定されない。すなわち、所定時間あたりの受光信号の変化量が所定値に達したときの画素の受光信号レベルをしきい値Ｄに設定する方法であれば、しきい値Ｄの設定方法を適宜変更してもよい。このように受光信号の変化量に基づき演算範囲を設定するようにすれば、受光信号レベルの大小による影響を低減することができるため、高精度に演算範囲を設定することができる。
【００５０】
・例えば図８に示すように、受光信号を一次微分した一次微分信号が一旦上昇した後に下降し始めたとき（点Ｅ１）の画素Ａ１の受光信号レベルをしきい値Ｄに設定するようにしてもよい。
【００５１】
・また、受光信号の一次微分信号が予め設定された所定値Ｆ１以上になったとき（点Ｅ２）の画素Ａ２の受光信号レベルをしきい値Ｄに設定するようにしてもよい。なお、所定値Ｆ１は、受光波形の立ち上がりを検出するのに十分な受光信号の変化量に対応した値に設定することが好ましい。
【００５２】
・また、受光信号の二次微分信号が一旦上昇した後に下降し始めたとき（点Ｅ３）の画素Ａ３の受光信号レベルをしきい値Ｄに設定するようにしてもよい。
・あるいは、受光信号の二次微分信号が予め設定された所定値Ｆ２以上になったとき（点Ｅ４）の画素Ａ４の受光信号レベルをしきい値Ｄに設定するようにしてもよい。なお、所定値Ｆ２は、受光波形の立ち上がりを検出するのに十分な一次微分信号（受光信号の変化量）の変化量に対応した値に設定することが好ましい。
【００５３】
・上記実施形態におけるステップＳ４において、制御部１６（制御手段）は、しきい値Ｄを設定した後に、受光信号に対する微分演算を停止させるようにしてもよい。これにより、微分演算にかかる演算負荷を軽減することができ、ひいては受光中心位置を検出するための処理負荷を軽減することができる。
【００５４】
・上記実施形態におけるステップＳ５で演算範囲を設定後に、直ちに、その演算範囲内の画素の受光信号に基づいて重心演算を行うようにしてもよい。すなわち、演算範囲設定後に読み込まれる受光信号（図６（ａ）の例では、画素Ｂ１以降に読み込まれる画素の受光信号）を読み込む前に重心演算を開始するようにしてもよい。これによれば、走査線Ｌ上の全ての画素の受光信号を読み出してから重心演算を行う場合に比べて、受光中心位置の検出速度を向上させることができる。
【００５５】
・上記実施形態における制御部１６（計測手段、制御手段）は、ステップＳ５で設定された演算範囲内の画素数を計測し、その計測した画素数が所定範囲外となる場合に、演算範囲の再設定を行うようにしてもよい。この場合には、ステップＳ４で設定したしきい値Ｄを再設定してから演算範囲の再設定を行うことが好ましい。例えば一旦設定された演算範囲内の画素数が所定範囲外である場合に、制御部１６は、再度ステップＳ４でしきい値の設定を行う。すなわち、制御部１６は、上記実施形態の例では、二次微分信号が正値から負値に変化するゼロクロス点を再度検出し、そのゼロクロス点における画素の受光信号レベルをしきい値に設定する。そして、制御部１６は、その再設定したしきい値以上の画素範囲を演算範囲に設定する。これによれば、例えばノイズなどによって受光信号が変動し、それに伴って受光信号の変化量が所定値に達してしきい値及び演算範囲が設定された場合であっても、その設定された演算範囲内の画素数が所定範囲外であれば、再度演算範囲を設定し直すことができる。このため、上記所定範囲は、ノイズによって設定される演算範囲を除去できる画素数に設定されることが好ましい。また、上記構成によれば、演算範囲内の画素数が所定の画素数よりも多い（所定範囲外である）場合にも、再度演算範囲を設定し直すことができる。
【００５６】
・上記実施形態における制御部１６（制御手段）は、各走査線Ｌごとに設定された演算範囲の画素数が所定レベル画素以上異なる場合に、演算範囲の再設定を行うようにしてもよい。例えば当該走査線Ｌで設定された演算範囲の画素数と、その隣接する走査線Ｌで設定された演算範囲の画素数とを比較して、それらの画素数の差が所定レベル画素以上である場合には、演算範囲の設定が異常であると判断し、再度演算範囲の設定を行うようにしてもよい。
【００５７】
・上記実施形態では、ステップＳ３〜Ｓ５で設定した演算範囲にて重心演算を行って、受光波形の重心位置を走査線Ｌ上の受光中心位置として検出したが、これに限定されない。例えば上記演算範囲内で受光信号レベルがピーク値となるピーク位置を走査線Ｌ上の受光中心位置として検出するようにしてもよい。また、上記演算範囲内の画素群の中心位置を走査線Ｌ上の受光中心位置として検出するようにしてもよい。
【００５８】
・上記実施形態では、二次元ＣＣＤ１４上での受光信号レベルに基づいて重心位置を検出するようにしたが、これに限定されない。例えば二次元ＣＣＤ１４上での受光信号レベルに所定のノイズ除去処理等を行って、得られたノイズ除去後の信号に対して上記ステップＳ３〜Ｓ６の処理を実行するようにしてもよい。
【００５９】
・上記実施形態では、挿通板１２のスリット１２Ａを介して板状のレーザビームを出射することで、対象物Ｗの表面に線状に光を照射させる構成としたが、これに限定されない。例えば比較的細い光芒の光を対象物Ｗの表面に照射させつつ、その照射点を所定方向に移動させることで対象物Ｗの表面に線状に光を照射させる構成としてもよい。
【００６０】
・上記実施形態では、対象物Ｗの表面に線状の光を照射させる構成としたが、これに限定されない。例えば対象物Ｗの表面にスポット光を照射させる構成としてもよい。
・上記実施形態では、投光手段としてレーザ光源１１を用いたが、他の投光手段を用いてもよい。
【００６１】
・上記実施形態では、撮像素子として二次元ＣＣＤ１４を用いたが、図６（ａ）のような受光波形が得られる素子であれば他の撮像素子に変更してもよい。例えば撮像素子として二次元ＣＭＯＳを用いてもよい。
【００６２】
・上記実施形態では、撮像素子として二次元撮像素子（二次元ＣＣＤ１４）を備える変位センサ１０に具体化したが、撮像素子として一次元撮像素子（例えば、一次元ＣＣＤや一次元ＣＭＯＳ）を備える変位センサに具体化してもよい。
【００６３】
・上記実施形態では、変位センサ１０内の制御部１６にて受光中心位置の検出処理を実行するようにしたが、これに限定されない。例えば変位センサ１０にコントローラを接続し、そのコントローラ内で受光中心位置の検出処理を実行するようにしてもよい。
【符号の説明】
【００６４】
１０…変位センサ、１１…レーザ光源（投光手段）、１２…二次元ＣＣＤ（撮像素子）、１６…制御部（受光位置検出手段、変化量測定手段、しきい値設定手段、範囲設定手段、計測手段、制御手段）。
【図１】
2011075469.tif 000003
【図２】
2011075469.tif 000004
【図３】
2011075469.tif 000005
【図４】
2011075469.tif 000006
【図５】
2011075469.tif 000007
【図６】
2011075469.tif 000008
【図７】
2011075469.tif 000009
【図８】
2011075469.tif 000010
【図９】
2011075469.tif 000011