(57)【要約】【課題】対象物で反射される前の線状の光に平行な方向における対象物の変位を精度よく測定すること。【解決手段】対象物に線状の光を投光する投光部と、二次元配列された複数の画素を有する二次元撮像部であって、線状の光が対象物で反射された線状の反射光を受光し、画素毎に受光量に応じた受光信号を出力する二次元撮像部と、処理部と、を備え、処理部は、線状の光に直交する画素列毎の受光信号の変化に基づいて線状の光に平行な方向における対象物のエッジの位置を判断する判断処理と、判断処理で判断したエッジの位置に基づいて平行な方向における対象物の変位を測定する測定処理と、を実行する、変位センサ。【選択図】図７
2016090340.tif 000002
【特許請求の範囲】
【請求項１】
対象物に線状の光を投光する投光部と、
二次元配列された複数の画素を有する二次元撮像部であって、前記線状の光が前記対象物で反射された線状の反射光を受光し、前記画素毎に受光量に応じた受光信号を出力する二次元撮像部と、
処理部と、
を備え、
前記処理部は、
前記線状の光に直交する画素列毎の受光信号の変化に基づいて前記線状の光に平行な方向における前記対象物のエッジの位置を判断する判断処理と、
前記判断処理で判断したエッジの位置に基づいて前記平行な方向における前記対象物の変位を測定する測定処理と、
を実行する、変位センサ。
【請求項２】
請求項１に記載の変位センサであって、
前記処理部は、前記判断処理において、
前記二次元撮像部から出力された受光信号を前記画素列毎に積算することによって前記画素列毎の積算受光量を算出する積算処理と、
前記積算処理で算出した前記画素列毎の積算受光量の変化に基づいて前記平行な方向における前記対象物のエッジの位置を判断するエッジ判断処理と、
を実行する、変位センサ。
【請求項３】
請求項２に記載の変位センサであって、
前記投光部は前記線状の光を複数回投光し、
前記二次元撮像部は前記線状の反射光を受光する毎に、前記画素毎に受光量に応じた受光信号を出力し、
前記処理部は、前記積算処理において、
前記二次元撮像部から前記画素毎の受光信号が出力される毎に前記画素列毎の積算受光量を算出することによって前記画素列毎に複数の積算受光量を算出する処理と、前記画素列毎にそれら複数の積算受光量の平均値である平均積算受光量を算出する処理とを実行し、
前記エッジ判断処理において、前記積算処理で算出した前記画素列毎の平均積算受光量の変化に基づいてエッジの位置を判断する、変位センサ。
【請求項４】
請求項２又は請求項３に記載の変位センサであって、
前記処理部は、
受光信号を積算する前記画素の範囲の設定を受け付ける受付処理を実行し、
前記積算処理において、前記受付処理で受け付けた範囲内の前記画素について受光信号を積算する、変位センサ。
【請求項５】
請求項４に記載の変位センサであって、
表示部と、
操作部と、
を備え、
前記処理部は、前記受付処理において、前記二次元撮像部から出力された受光信号によって表される画像を前記表示部に表示させ、前記画像上で前記操作部を介して前記範囲の設定を受け付ける、変位センサ。
【請求項６】
請求項２乃至請求項５のいずれか一項に記載の変位センサであって、
前記処理部は、前記エッジ判断処理において、前記平行な方向における前記対象物のエッジが位置する前記画素列を判断し、当該画素列を含む連続する所定数の前記画素列について、各前記画素列の位置と積算受光量とに基づいて前記平行な方向の重心位置を算出し、算出した重心位置をエッジの位置と判断する、変位センサ。
【請求項７】
請求項６に記載の変位センサであって、
前記平行な方向のいずれか一方の側を変化量算出側と定義したとき、前記処理部は、前記エッジ判断処理において、前記所定数の画素列のそれぞれについて前記変化量算出側に隣接する他の前記画素列との積算受光量の変化量を算出し、各前記画素列の位置と積算受光量の変化量の絶対値とに基づいて重心位置を算出する、変位センサ。
【請求項８】
対象物に線状の光を投光する投光部と、
二次元配列された複数の画素を有する二次元撮像部であって、前記線状の光が前記対象物で反射された線状の反射光を受光し、前記画素毎に受光量に応じた受光信号を出力する二次元撮像部と、
処理部と、
を備える変位センサを用いて前記対象物の変位を測定する変位測定方法であって、
前記処理部が、前記線状の光に直交する画素列毎の受光信号の変化に基づいて前記線状の光に平行な方向における前記対象物のエッジの位置を判断する判断工程と、
前記処理部が、前記判断工程で判断したエッジの位置に基づいて前記平行な方向における前記対象物の変位を測定する測定工程と、
を含む変位測定方法。
【請求項９】
対象物に線状の光を投光する投光部と、
二次元配列された複数の画素を有する二次元撮像部であって、前記線状の光が前記対象物で反射された線状の反射光を受光し、前記画素毎に受光量に応じた受光信号を出力する二次元撮像部と、
処理部と、
を備える変位センサの前記処理部に、
前記線状の光に直交する画素列毎の受光信号の変化に基づいて前記線状の光に平行な方向における前記対象物のエッジの位置を判断する判断処理と、
前記判断処理で判断したエッジの位置に基づいて前記平行な方向における前記対象物の変位を測定する測定処理と、
を実行させる変位測定プログラム。
【請求項１０】
請求項９に記載の変位測定プログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
対象物に線状の光を投光して対象物を測定する変位センサに関する。
【背景技術】
【０００２】
従来、対象物に線状の光を投光する投光部と、二次元配列された複数の画素を有する二次元撮像部であって、対象物で反射された線状の反射光を受光し、画素毎に受光量に応じた受光信号を出力する二次元撮像部とを備え、二次元撮像部から出力された受光信号に基づいて、対象物に反射される前の線状の光に直交する方向における対象物の変位を測定する変位センサが知られている。
【０００３】
例えば、対象物に線状の光を照射し、対象物で反射された線状の反射光を二次元撮像部で受光して受光信号を出力する二次元変位センサが知られている（特許文献１参照）。この二次元変位センサは、段差を有する対象物に線状の光を照射し、二次元撮像部から出力された受光信号に基づいて、線状の反射光を受光した画素を特定する。そして、二次元変位センサは線状の光に直交する方向におけるそれらの画素の位置の差から段差の高さ（線状の光に直交する方向における対象物の変位）を測定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５８３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、対象物の高さの変化から対象物の幅（線状の光に平行な方向における対象物の変位）を測定することも可能である。具体的には、対象物の幅方向（線状の光に平行な方向）の端では高さが変化するので、高さが変化した幅方向の位置を対象物の幅方向の端の位置と判断し、対象物の両端の位置を判断することによって幅を測定することも可能である。以降の説明では対象物の幅方向の端のことをエッジというものとする。
【０００６】
しかしながら、エッジ部では光が散乱し易いため、エッジ部で反射された反射光を受光した画素は受光信号が低下し易いという問題がある。受光信号が低下するとＳＮ比が悪化するため、一般に閾値未満の受光信号は対象物の高さを測定するための受光信号から除外されている。
【０００７】
このため対象物の高さの変化からエッジの位置を判断する場合はエッジ部において対象物の高さ（データ）が欠落し、それによりエッジの位置を精度よく判断できない虞がある。エッジの位置を精度よく判断できないと幅を精度よく測定することが困難である。
【０００８】
本明細書では、線状の光に平行な方向における対象物の変位を精度よく測定できる技術を開示する。
【課題を解決するための手段】
【０００９】
本明細書によって開示される変位センサは、対象物に線状の光を投光する投光部と、二次元配列された複数の画素を有する二次元撮像部であって、前記線状の光が前記対象物で反射された線状の反射光を受光し、前記画素毎に受光量に応じた受光信号を出力する二次元撮像部と、処理部と、を備え、前記処理部は、前記線状の光に直交する画素列毎の受光信号の変化に基づいて前記線状の光に平行な方向における前記対象物のエッジの位置を判断する判断処理と、前記判断処理で判断したエッジの位置に基づいて前記平行な方向における前記対象物の変位を測定する測定処理と、を実行する。
【００１０】
画素列毎の受光信号の変化に基づいて線状の光に平行な方向における対象物のエッジの位置を判断する場合は受光信号自体に高い精度は求められない。このため、エッジ部において線状の光に直交する方向における対象物の変位（データ）が欠落してもエッジの位置を精度よく判断できる。よって上記の変位センサによると、線状の光に平行な方向における対象物の変位を精度よく測定できる。
【００１１】
また、前記処理部は、前記判断処理において、前記二次元撮像部から出力された受光信号を前記画素列毎に積算することによって前記画素列毎の積算受光量を算出する積算処理と、前記積算処理で算出した前記画素列毎の積算受光量の変化に基づいて前記平行な方向における前記対象物のエッジの位置を判断するエッジ判断処理と、を実行してもよい。
【００１２】
個々の受光信号のＳＮ比が悪くてもそれらの受光信号を積算した場合にはＳＮ比が改善されるので、受光信号を積算した積算受光量を用いると平行な方向における対象物の変位をより精度よく測定することができる。
【００１３】
また、前記投光部は前記線状の光を複数回投光し、前記二次元撮像部は前記線状の反射光を受光する毎に、前記画素毎に受光量に応じた受光信号を出力し、前記処理部は、前記積算処理において、前記二次元撮像部から前記画素毎の受光信号が出力される毎に前記画素列毎の積算受光量を算出することによって前記画素列毎に複数の積算受光量を算出する処理と、前記画素列毎にそれら複数の積算受光量の平均値である平均積算受光量を算出する処理とを実行し、前記エッジ判断処理において、前記積算処理で算出した前記画素列毎の平均積算受光量の変化に基づいてエッジの位置を判断してもよい。
【００１４】
上記の変位センサによると、平均積算受光量を用いることにより、二次元撮像部への迷光や突発的なノイズの影響を低減できる。これにより、平行な方向における対象物の変位をより精度よく測定することができる。
【００１５】
また、前記処理部は、受光信号を積算する前記画素の範囲の設定を受け付ける受付処理を実行し、前記積算処理において、前記受付処理で受け付けた範囲内の前記画素について受光信号を積算してもよい。
【００１６】
上記の変位センサによると、受光信号を積算する画素の範囲が限定されるので、積算処理の処理量を低減できる。
【００１７】
また、上記の変位センサにおいて、表示部と、操作部と、を備え、前記処理部は、前記受付処理において、前記二次元撮像部から出力された受光信号によって表される画像を前記表示部に表示させ、前記画像上で前記操作部を介して前記範囲の設定を受け付けてもよい。
【００１８】
上記の変位センサによると、ユーザは二次元撮像部から出力された受光信号によって表される画像を見ながら範囲を設定することができるので、範囲の設定が容易になる。
【００１９】
また、前記処理部は、前記エッジ判断処理において、前記平行な方向における前記対象物のエッジが位置する前記画素列を判断し、当該画素列を含む連続する所定数の前記画素列について、各前記画素列の位置と積算受光量とに基づいて前記平行な方向の重心位置を算出し、算出した重心位置をエッジの位置と判断してもよい。
【００２０】
上記の変位センサによると、画素の幅より短いピッチでエッジの位置を判断できる。
【００２１】
また、前記平行な方向のいずれか一方の側を変化量算出側と定義したとき、前記処理部は、前記エッジ判断処理において、前記所定数の画素列のそれぞれについて前記変化量算出側に隣接する他の前記画素列との積算受光量の変化量を算出し、各前記画素列の位置と積算受光量の変化量の絶対値とに基づいて重心位置を算出してもよい。
【００２２】
変化量の絶対値を用いると、積算受光量そのものを用いる場合に比べて積算受光量の変化を大きく捉えることができるので、重心位置をより精度よく算出できる。
【００２３】
また、本明細書によって開示される変位測定方法は、対象物に線状の光を投光する投光部と、二次元配列された複数の画素を有する二次元撮像部であって、前記線状の光が前記対象物で反射された線状の反射光を受光し、前記画素毎に受光量に応じた受光信号を出力する二次元撮像部と、処理部と、を備える変位センサを用いて前記対象物の変位を測定する変位測定方法であって、前記処理部が、前記線状の光に直交する画素列毎の受光信号の変化に基づいて前記線状の光に平行な方向における前記対象物のエッジの位置を判断する判断工程と、前記処理部が、前記判断工程で判断したエッジの位置に基づいて前記平行な方向における前記対象物の変位を測定する測定工程と、を含む。
【００２４】
上記の変位測定方法によると、線状の光に平行な方向における対象物の変位を精度よく測定できる。
【００２５】
また、本明細書によって開示される変位測定プログラムは、対象物に線状の光を投光する投光部と、二次元配列された複数の画素を有する二次元撮像部であって、前記線状の光が前記対象物で反射された線状の反射光を受光し、前記画素毎に受光量に応じた受光信号を出力する二次元撮像部と、処理部と、を備える変位センサの前記処理部に、前記線状の光に直交する画素列毎の受光信号の変化に基づいて前記線状の光に平行な方向における前記対象物のエッジの位置を判断する判断処理と、前記判断処理で判断したエッジの位置に基づいて前記平行な方向における前記対象物の変位を測定する測定処理と、を実行させる。
【００２６】
上記の変位測定プログラムによると、線状の光に平行な方向における対象物の変位を精度よく測定できる。
【発明の効果】
【００２７】
本明細書によって開示される変位センサによれば、平行な方向における対象物の変位を精度よく測定できる。
【図面の簡単な説明】
【００２８】
【図１】変位測定システムの構成を示すブロック図
【図２】変位センサによる対象物の高さの測定を説明する模式図
【図３】変位センサによる対象物の高さ及び幅の測定を説明する模式図
【図４】変位センサの構成を示すブロック図
【図５】ＰＣの構成を示すブロック図
【図６】受光信号によって表される画像の模式図
【図７】画素列毎の積算濃度値のグラフ
【図８】範囲の設定を説明するための模式図
【図９】測定・判定処理のフローチャート
【図１０】積算処理のフローチャート
【図１１】平均・エッジ判断処理のフローチャート
【図１２】詳細エッジ位置判断処理のフローチャート
【図１３】重心位置を説明するための模式図
【発明を実施するための形態】
【００２９】
＜実施形態１＞
実施形態１を図１ないし図１３によって説明する。
【００３０】
（１）変位測定システムの概要
図１を参照して、変位測定システム１の概要について説明する。変位測定システム１は対象物５の高さや幅を測定して対象物５が良品であるか否かを判定するシステムである。
【００３１】
変位測定システム１は変位センサ２とパーソナルコンピュータ（ＰＣ）３とを備えている。変位センサ２とＰＣ３とはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの通信ケーブル４を介して通信可能に接続されている。なお、変位センサ２とＰＣ３とは無線接続されてもよい。
【００３２】
変位センサ２は対象物の高さや幅を測定するセンサである。変位センサ２はセンサヘッド１０とコントローラ１１とで構成されており、これらは通信ケーブ１３によって通信可能に接続されている。なお、センサヘッド１０とコントローラ１１とは無線接続されてもよい。
【００３３】
図２及び図３を参照して、変位センサ２による対象物の高さ及び幅の測定について概略的に説明する。図２及び図３に示す対象物５は段部６を有しており、ここではその段部６の高さＤ及び幅Ｗを測定するものとする。
【００３４】
図２及び図３に示すように、変位センサ２は対象物５に線状の光を投光し、対象物５で反射された線状の反射光を二次元撮像部２５によって受光する。図３に示すように反射光が二次元撮像部２５の受光面２５Ａに形成する受光像は対象物５の表面の凹凸に倣った形状になる。従って、受光面２５Ａ上に形成される受光像に基づいて段部６の高さＤや幅Ｗを測定することができる。
【００３５】
変位センサ２は段部６の高さＤや幅Ｗを測定するとそれらをＰＣ３に送信する。ＰＣ３は変位センサ２から受信した高さＤや幅Ｗが規定範囲内であるか否かを判断し、規定範囲内であれば対象物５が良品であると判定し、規定範囲外であれば不良品であると判定する。
【００３６】
変位測定システム１によって対象物が良品であるか否かを判定する具体例としては、電池のプラス端子の突出量（高さ）や幅を測定して電池が良品であるか否かを判定する場合などが挙げられる。
【００３７】
（２）変位センサの構成
図４を参照して、変位センサ２の構成について説明する。
【００３８】
（２−１）センサヘッドの構成
センサヘッド１０はヘッド制御部２１、光源２２、光源駆動回路２３、長細い直線状のスリット２４Ａを有する挿通板２４、二次元撮像部２５、ＣＣＤ駆動回路２６、及び、ヘッド通信部２７を備えている。また、図４では示していないが、センサヘッド１０は光源２２から出射された光を拡散する第１光学系、及び、対象物５で反射された線状の反射光を二次元撮像部２５の受光面２５Ａに結像する第２光学系も備えている。
【００３９】
ヘッド制御部２１、光源２２、光源駆動回路２３、挿通板２４、及び、第１光学系は投光部の一例である。
【００４０】
光源２２はレーザ光源である。なお、光源２２は半導体発光素子（例えば発光ダイオード）などによって構成されてもよい。光源２２から出射された光は図示しない第１光学系によって拡散され、拡散された光のうちスリット２４Ａを通過した光が線状の光となって対象物５に投光される。
【００４１】
ここで、光源２２から出射された光を第１光学系によって拡散するようにすると光源２２として小さい光源を用いることができるので、センサヘッド１０を小型化できるという効果がある。また、挿通板２４に設けたスリット２４Ａを通過した光を線状の光として対象物５に投光すると、第１光学系側の迷光を挿通板２４によって除去できるので、対象物を精度よく測定できる。
【００４２】
なお、ここでは光源２２から出射された光を第１光学系によって拡散する場合を例に説明するが、長細い光源によって平行光を出射する構成であってもよい。あるいは光源２２から出射された光を第１光学系によって平行光にする構成であってもよい。また、レーザ光によって対象物の表面を走査することによって対象物に線状の光を投光する構成であってもよい。このようにすると対象物に合わせて線状の光の長さを変更することができる。
【００４３】
二次元撮像部２５は二次元配列された複数の画素、ＣＣＤ、及び、Ａ／Ｄ変換回路を備えている。複数の画素は、画素を一列に配列した画素列Ｌ１（図３参照）を複数平行に並べることによって二次元配列されている。各画素列は投光部から投光された線状の光であって対象物５によって反射される前の線状の光に対して直交する姿勢で配置されている。画素としては例えばフォトダイオードやフォトトランジスタなどを用いることができる。
【００４４】
ＣＣＤは画素列毎に設けられており、各画素の受光量（各画素に蓄積された電荷の量）に応じた受光信号をＡ／Ｄ変換回路に出力する。Ａ／Ｄ変換回路はＣＣＤから出力されたアナログの受光信号を例えば０（黒）〜２５５（白）の２５６階調のデジタルの受光信号に変換してヘッド制御部２１に出力する。
【００４５】
なお、ここでは二次元撮像部２５がＣＣＤを備えている場合を例に説明するが、ＣＣＤに替えてＣＭＯＳやＭＯＳなどを用いてもよい。
【００４６】
ヘッド制御部２１はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＲＡＭなどを備えている。なお、ヘッド制御部２１はＦＰＧＡに替えてＣＰＵを備えていてもよい。ヘッド制御部２１はヘッド通信部２７を介してコントローラ１１から投光動作の実行が指示されると光源駆動回路２３を制御して光源２２に投光動作を行わせ、ＣＣＤ駆動回路２６を制御してＣＣＤにアナログの受光信号を出力させる。そして、ヘッド制御部２１はＡ／Ｄ変換回路によってデジタルに変換された受光信号を、ヘッド通信部２７を介してコントローラ１１に出力する。
【００４７】
（２−２）コントローラの構成
コントローラ１１はコントローラ制御部３１、第１通信部３２、及び、第２通信部３３を備えている。コントローラ制御部３１はＦＰＧＡ、ＲＡＭなどを備えている。コントローラ制御部３１は処理部の一例である。なお、コントローラ制御部３１はＦＰＧＡに替えてＣＰＵを備えていてもよい。
【００４８】
ＦＰＧＡには変位測定プログラムがプログラミングされている。ＦＰＧＡはその変位測定プログラムを実行することにより、センサヘッド１０を制御する処理、センサヘッド１０から受信した受光信号に基づいて対象物５の変位を測定する処理、測定した変位を、第２通信部３３を介してＰＣ３に送信する処理などの各種の処理を実行する。
【００４９】
（３）ＰＣの構成
図５を参照して、ＰＣ３の構成について説明する。ＰＣ３は制御部４１、ＰＣ通信部４２、記憶部４３、表示部４４、及び、操作部４５を備えて構成されている。
【００５０】
制御部４１はＣＰＵ、ＲＯＭ、ＲＡＭなどを備えている。ＣＰＵはＲＯＭや記憶部４３に記憶されているプログラムを実行することによってＰＣ３の各部を制御する。ＲＯＭにはＣＰＵによって実行されるプログラムや各種のデータ等が記憶されている。ＲＡＭはＣＰＵが各種の処理を実行するための主記憶装置として用いられる。
【００５１】
記憶部４３はハードディスクなどの不揮発性の記憶媒体を用いて各種のプログラムやデータなどを記憶する装置である。
表示部４４は液晶ディスプレイなどの表示装置、表示装置を駆動する駆動回路などを備えている。
【００５２】
操作部４５はマウス、キーボード、タッチパネルなどの入力装置、それらの入力装置が接続されるコネクタなどを備えている。
ＰＣ通信部４２はコントローラ１１と通信するためのハードウェアインタフェースである。
【００５３】
（４）変位の測定
次に、図６を参照して、対象物５の変位の測定について説明する。ここでは変位センサ２は対象物５に線状の光を略水平に投光するものとする。以降の説明では線状の光に直交する方向における対象物５の変位を「高さ」といい、平行な方向における変位を「幅」という。
【００５４】
コントローラ１１はセンサヘッド１０から出力されたデジタルの受光信号によって表される画像５１上で対象物５の変位を測定する。図６においてＸ方向は投光部から投光された線状の光であって対象物５によって反射される前の線状の光に平行な方向に相当する方向であり、Ｙ方向は直交する方向に相当する方向である。
【００５５】
図６において複数の点線Ｌ２は画像５１上の画素列を模式的に示している。画像５１を構成している各画素はそれぞれ二次元撮像部２５の画素と一対一に対応している。このため、Ｙ方向に１列に並ぶ複数の画素を一つの画素列Ｌ２とすると、各画素列Ｌ２はそれぞれ二次元撮像部２５の一つの画素列Ｌ１と一対一に対応している。
【００５６】
画像５１上において直線５２は対象物５の表面（被照射面）で反射された線状の反射光を受光した受光像を表している。対象物５の周囲を暗くして測定した場合、受光像を表している画素の受光信号は２５５（白）に近い値となり、受光像以外を表している画素の受光信号は０（黒）に近い値となる。
【００５７】
画像５１において画素列Ｌ２Ａ及びＬ２Ｂは、対象物５の幅方向（対象物５で反射される前の線状の光に平行な方向）における対象物の端（エッジ）部で反射された反射光を受光した画素列を示している。エッジ部では光が散乱し易いため、エッジ部で反射された反射光を受光した画素は受光量が少なくなる。このため、画素列Ｌ２Ａ及びＬ２Ｂには明確な受光像が表れ難い。
【００５８】
（４−１）対象物の高さの測定
先ず、対象物５の高さの測定について説明する。高さの測定では、コントローラ１１は画像５１上の各画素列についてその画素列の受光信号のうち最も高い受光信号を有する画素（ピーク画素）の位置（Ｙ座標）をその画素列における対象物５の高さと判断し、画素列毎に判断した対象物５の高さの差から対象物５の高さを算出する。
【００５９】
具体的には例えば、コントローラ１１は画像５１上の受光像からＸ方向に沿った直線部分を抽出する。直線部分は対象物５の最上段面５Ａや中段面５Ｂに相当する部分のことであり、図６では複数の直線５２に相当する。直線部分を抽出する方法としては例えば次の方法がある。
【００６０】
方法１：Ｘ方向の一方の端から他方の端に向かって隣り合う二つの画素列毎に対象物５の高さ（ピーク画素のＹ座標）の差を順次算出し、高さの差が所定幅内に収まる連続した範囲を一つの直線部分として抽出する。
【００６１】
方法２：受光像を最上段面５Ａに対応する区間と中段面５Ｂに対応する区間とに大きく分け、区間毎に高さの最大値を求め、その最大値との差が所定範囲内である範囲を直線部分とする。
【００６２】
そして、コントローラ１１は、抽出した各直線部分について、画素列毎に判断した対象物５の高さ（Ｙ座標）を平均し、その平均値を最上段面５Ａの高さまたは中段面５Ｂの高さと決定する。なお、直線部分における対象物５の高さの最大値と最小値との中間値を最上段面５Ａの高さまたは中段面５Ｂの高さと決定してもよい。
そして、コントローラ１１は最上段面５Ａの高さと中段面５Ｂの高さとの差から段部６の高さＤを算出する。
【００６３】
ここで、受光量が少ないと受光信号のＳＮ比が悪化し、実際には他の画素より受光量が少ない画素の受光信号が、ノイズの影響によって他の画素の受光信号より大きくなってしまうことが起こり得る。受光量が少ない画素の受光信号が他の画素の受光信号より大きくなると高さを誤判断してしまう。このため、コントローラ１１は、受光信号が閾値未満の画素は高さの判断に用いない。すなわち、高さの測定では高さを誤判断してしまわないようにするために受光信号に高い精度が求められる。
【００６４】
このため、図６に示す画素列Ｌ２ＡやＬ２Ｂでは全ての画素の受光信号が閾値未満であることによって対象物５の高さを判断できない場合がある。その場合、仮に対象物の高さの変化から幅方向における対象物のエッジの位置を判断したとすると、画素列Ｌ２ＡやＬ２Ｂでは高さを判断することができないので、あるいは判断したとしても精度よく判断することができないので、エッジの位置を精度よく判断することが困難である。
【００６５】
（４−２）対象物の幅の測定
次に、対象物５の幅の測定について説明する。コントローラ１１は対象物５のエッジの位置を判断し、判断したエッジの位置から幅を測定する。エッジの位置の判断では、コントローラ１１は対象物の高さの変化からエッジの位置を判断するのではなく、画素列毎の受光信号の変化に基づいてエッジの位置を判断する。ここでいう受光信号には前述した閾値未満の受光信号も含まれる。
【００６６】
ただし、前述したように閾値未満の受光信号はエッジ部で散乱した光が二つの画素に跨がり、個々の画素の受光量が低下する影響によってＳＮ比が悪化している虞がある。このため、コントローラ１１は画素列毎に受光信号を積算することによって画素列毎の積算受光量を算出し、算出した画素列毎の積算受光量の変化に基づいてエッジの位置を判断する。受光信号を積算する理由は、個々の受光信号のＳＮ比が悪くても積算するとＳＮ比を改善できるからである。
【００６７】
図７を参照して、画素列毎の積算受光量の変化に基づくエッジの位置の判断について概略的に説明する。図７ではｎ番目の画素列がエッジ部で反射された光を受光した画素列であるとする。対象物５においてエッジ部以外で反射された光を受光した画素列は積算受光量が概ね同じ値になる。例えば、最上段面５Ａで反射された反射光を受光した画素列と中段面５Ｂで反射された反射光を受光した画素列とは、対象物５の高さ（ピーク画素のＹ座標）は異なるものの、積算受光量は概ね同じになる。これは、最上段面５Ａと中段面５Ｂとで光反射率がほぼ同じであるからである。
【００６８】
これに対し、エッジ部では光が散乱し易いので、エッジ部で反射された反射光を受光した画素列（ｎ番目の画素列）は、エッジ部以外で反射された反射光を受光した画素列に比べて積算受光量が小さくなる。このため、画素列毎の積算受光量の変化を見ればエッジの位置を判断することができる。
【００６９】
そこで、コントローラ１１は、隣り合う二つの画素列毎に積算受光量の差を変化として算出し、積算受光量の差が最も大きい画素列の組において積算受光量が小さい方の画素列をエッジの位置と判断する。
【００７０】
（４−２−１）受光信号を積算する範囲の設定
先ず、図８を参照して、受光信号を積算する範囲の設定について説明する。受光信号の積算は必ずしも全ての画素について行う必要はなく、画像上において対象物５のエッジを表している画素が含まれている範囲についてのみ行えばよい。そこで、実施形態１ではＰＣ３上でユーザから受光信号を積算する画素の範囲の設定を受け付ける。
【００７１】
具体的には、ＰＣ３はユーザから範囲設定要求が入力されると、コントローラ１１に画像の送信を要求する。コントローラ１１は画像の送信が要求されるとセンサヘッド１０に投光動作の実行を指示し、センサヘッド１０から出力された受光信号をＰＣ３に送信する。
【００７２】
ＰＣ３はコントローラ１１から受光信号を受信すると、図８に示すように、受光信号によって表される画像５１を表示部４４に表示する。ユーザは操作部４５を操作して画像５１上で対象物５のエッジが含まれる範囲を矩形枠５４で囲むことにより、受光信号を積算する画素の範囲を設定することができる。対象物５の幅を測定する場合は幅方向の両端のエッジの位置を判断する必要があるので、ユーザはエッジ毎に範囲を設定する。
【００７３】
ＰＣ３はユーザによって範囲が設定されるとその範囲を表す範囲情報をコントローラ１１に送信する。コントローラ１１がＰＣ３から範囲情報を受信する処理は受付処理の一例である。
【００７４】
（４−２−２）測定・判定処理の流れ
次に、図９を参照して、対象物の高さや幅を測定して対象物が良品であるか否かを判定する処理（測定・判定処理）の流れについて説明する。本処理はＰＣ３からコントローラ１１に上述した範囲情報が送信された後、ＰＣ３からコントローラ１１に対象物５の測定が指示されると開始される。なお、測定・判定処理では高さも測定されるが、理解を容易にするためここでは高さの測定については省略する。
【００７５】
Ｓ１０１では、コントローラ１１は積算処理を実行する。積算処理は対象物５に線状の光を複数回投光して画素列毎に複数の積算受光量を算出する処理である。
Ｓ１０２では、コントローラ１１は平均・エッジ判断処理を実行する。平均・エッジ判断処理は積算処理によって算出された複数の積算受光量を画素列毎に平均することによって画素列毎の平均積算受光量を算出し、算出した平均積算受光量の変化に基づいて範囲毎に後述する詳細エッジ位置を判断する処理である。
【００７６】
Ｓ１０３では、コントローラ１１は範囲毎に判断した詳細エッジ位置から対象物５の幅Ｗを算出し、算出した幅ＷをＰＣ３に送信する。幅Ｗの算出は測定の一例である。
上述したＳ１０１及びＳ１０２は判断処理の一例である。また、Ｓ１０３は測定処理の一例である。
【００７７】
（４−２−２−１）積算処理
次に、図１０を参照して、Ｓ１０１で実行される積算処理について説明する。
Ｓ２０１では、コントローラ１１はセンサヘッド１０に投光動作を実行させた回数をカウントする変数であるカウンタＣに初期値として０を設定する。
Ｓ２０２では、コントローラ１１はセンサヘッド１０に投光動作の実行を指示する。
【００７８】
Ｓ２０３では、コントローラ１１はカウンタＣに１を加算する。
Ｓ２０４では、コントローラ１１はＰＣ３から受信した範囲情報によって示される複数の範囲の中から範囲を１つ選択する。
Ｓ２０５では、コントローラ１１はＳ２０４で選択した範囲内の画素について、画素列毎に受光信号を積算することによって画素列毎の積算受光量を算出する。そして、コントローラ１１は画素列毎の積算受光量をＲＡＭに記憶する。
【００７９】
Ｓ２０６では、コントローラ１１は全ての範囲を選択したか否かを判断し、全ての範囲を選択した場合はＳ２０７に進み、未だ選択していない範囲がある場合はＳ２０４に戻って処理を繰り返す。
【００８０】
Ｓ２０７では、コントローラ１１はカウンタＣの値（センサヘッド１０に投光動作を実行させた回数）が、予め設定されている規定回数Ｃｍａｘに達したか否かを判断する。Ｃｍａｘは例えば５である。なお、Ｃｍａｘは適宜に決定することができる。コントローラ１１はカウンタＣの値がＣｍａｘに達している場合は本処理を終了して測定・判定処理に戻り、達していない場合はＳ２０２に戻って処理を繰り返す。
【００８１】
（４−２−２−２）平均・エッジ判断処理
次に、図１１を参照して、Ｓ１０２で実行される平均・エッジ判断処理について説明する。
Ｓ３０１では、コントローラ１１はＰＣ３から受信した範囲情報によって示される複数の範囲の中から範囲を１つ選択する。
【００８２】
Ｓ３０２では、コントローラ１１はＳ３０１で選択した範囲内の各画素列について、Ｓ２０５でＲＡＭに記憶した積算受光量を画素列毎に平均することにより、画素列毎の平均積算受光量を算出する。
Ｓ３０３では、コントローラ１１はＳ３０１で選択した範囲内の各画素列について、隣り合う二つの画素列毎に平均積算受光量の差（変化）を算出する。
【００８３】
Ｓ３０４では、コントローラ１１は平均積算受光量の差が最も大きい画素列の組において平均積算受光量が小さい方の画素列を、Ｓ３０１で選択した範囲内における対象物５のエッジの位置と判断する。
【００８４】
Ｓ３０５では、コントローラ１１は画素の幅より短いピッチで対象物５のエッジの位置をより詳細に判断する詳細エッジ位置判断処理を実行する。詳細エッジ位置判断処理についての説明は後述する。以降の説明では詳細エッジ位置判断処理によって判断されたエッジの位置のことを詳細エッジ位置という。
【００８５】
Ｓ３０６では、コントローラ１１は全ての範囲を選択したか否かを判断し、全ての範囲を選択した場合は本処理を終了して測定・判定処理に戻り、未だ選択していない範囲がある場合はＳ３０１に戻って処理を繰り返す。
【００８６】
上述したＳ３０１〜Ｓ３０２は積算処理（平均積算受光量を算出する処理）の一例である。また、Ｓ３０３〜Ｓ３０５はエッジ判断処理の一例である。
【００８７】
（４−２−２−３）詳細エッジ位置判断処理
次に、図１２及び図１３を参照して、Ｓ３０５で実行される詳細エッジ位置判断処理について説明する。
Ｓ４０１では、コントローラ１１は、画像上においてＸ方向の左側を変化量算出側と定義したとき、Ｓ３０４でエッジの位置と判断した画素列を含む連続する所定数の画素列について、それぞれ変化量算出側、すなわち左側に隣接する他の画素列との平均積算受光量の差の絶対値を算出する。差は変化量の一例である。なお、変化量は左側に隣接する他の画素列との平均積算受光量の微分値であってもよい。
【００８８】
例えば図１３においてｎ番目の画素列がＳ３０４でエッジの位置として判断された画素列であり、所定数が３であるとする。この場合、コントローラ１１はｎ番目の画素列を中心に、左側に隣接する（ｎ−１）番目の画素列、及び、右側に隣接する（ｎ＋１）番目の画素列の３つの画素列を、上述した連続する所定数の画素列とする。
【００８９】
そして、コントローラ１１は、（ｎ−２）番目の画素列と（ｎ−１）番目の画素列との平均積算受光量の差の絶対値Ｗ１、（ｎ−１）番目の画素列とｎ番目の画素列との平均積算受光量の差の絶対値Ｗ２、及び、ｎ番目の画素列と（ｎ＋１）番目の画素列との平均積算受光量の差の絶対値Ｗ３を算出する。
【００９０】
Ｓ４０２では、コントローラ１１は上述した連続する所定数の画素列について、それらの位置と、それらの画素列毎に算出した平均積算受光量の差の絶対値とに基づいて、Ｘ方向の重心位置を算出する。具体的には、コントローラ１１は以下に示す式１を用いて重心位置を算出する。
【００９１】
重心位置＝Ｗ２×（Ｗ３―Ｗ１）／（Ｗ１×Ｗ２＋Ｗ２×Ｗ３−２×Ｗ１×Ｗ３）  ・・・  式１
【００９２】
Ｓ４０３では、コントローラ１１はＳ４０２で算出した重心位置を詳細エッジ位置として決定する。
【００９３】
（５）実施形態の効果
以上説明した実施形態１に係る変位センサ２によると、線状の光に直交する画素列毎の受光信号の差（変化）に基づいて対象物５の幅方向のエッジの位置を判断する。画素列毎の受光信号の差に基づいて対象物のエッジの位置を判断する場合は他の画素列に比べて相対的に受光信号が小さい画素列が判ればよく、高さを測定する場合に比べて受光信号自体に高い精度は求められない。このため、エッジ部において対象物の高さ（データ）が欠落してもエッジの位置を精度よく判断できる。よって変位センサ２によると、幅方向（線状の光に平行な方向）における対象物の幅（変位）を精度よく測定できる。
【００９４】
更に、変位センサ２によると、積算受光量を用いてエッジの位置を判断するので、閾値未満であることによって高さの測定から除外される受光信号を用いてもエッジの位置を精度よく判断することができる。
【００９５】
更に、変位センサ２によると、平均積算受光量を用いることにより、二次元撮像部への迷光や突発的なノイズの影響を低減できる。これにより、対象物５の幅をより精度よく測定することができる。
【００９６】
更に、変位センサ２によると、受光信号を積算する画素の範囲が限定されるので、積算処理の処理量を低減できる。
【００９７】
更に、変位センサ２によると、各画素列の位置と積算受光量とに基づいて重心位置を算出し、算出した重心位置をエッジの位置と判断するので、画素の幅より短いピッチでエッジの位置を判断できる。例えば、詳細エッジ位置を判断しない場合は一律に画素列のＸ方向の中心をエッジの位置とすることもできる。これに対し、重心位置を用いると図１３に示すように画素の幅より短いピッチでエッジの位置を判断できるので、対象物の幅をより精度よく測定できる。
【００９８】
更に、変位センサ２によると、各画素列の位置と積算受光量の変化量の絶対値とに基づいて重心位置を算出する。変化量の絶対値を用いると、積算受光量そのものを用いる場合に比べて積算受光量の変化を大きく捉えることができるので、重心位置をより精度よく算出できる。
【００９９】
＜他の実施形態＞
本明細書によって開示される技術は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
【０１００】
（１）上記実施形態１ではＰＣ３自体は変位センサを構成するものではないが、実施形態１に係る変位センサ２とＰＣ３とで変位センサを構成してもよい。そのように構成された変位センサ２によれば、ユーザはＰＣ３に設けられている表示部４４で画像を見ながら範囲を設定することができるので、範囲の設定が容易になる。また、その場合は変位測定プログラムの一部をＰＣ３によって実行してもよい。
【０１０１】
（２）上記実施形態１では範囲の設定をＰＣ３で受け付ける場合を例に説明した。これに対し、変位センサ２自体に表示部及び操作部を設けてもよい。そのように構成された変位センサ２によれば、ユーザは変位センサ２自体に設けられている表示部４４で画像を見ながら範囲を設定することができるので、範囲の設定が容易になる。
【０１０２】
（３）上記実施形態では画素列毎の受光信号の変化として隣り合う二つの画素列の平均積算受光量の差を例に説明した。これに対し、変化は隣り合う二つの画素列の平均積算受光量の微分値であってもよい。
【０１０３】
（４）上記実施形態では平均積算受光量の差が最も大きい画素列の組において積算受光量が小さい方の画素列をエッジの位置と判断する場合を例に説明した。これに対し、差が基準値以上である全ての画素列の組について、組毎に積算受光量が小さい方の画素列をエッジの位置と判断してもよい。
【０１０４】
例えば実施形態１では受光信号を積算する範囲の設定を受け付け、各範囲からエッジを一つずつ判断しているが、この範囲は必ずしも設定しなくてもよい。すなわち、画像全体を、受光信号を積算する画素の範囲としてもよい。その場合は一つの範囲に判断すべきエッジが複数存在することになる。このため、その場合は差が基準値以上である全ての画素列の組について、組毎に積算受光量が小さい方の画素列をエッジの位置と判断してもよい。これにより、範囲を設定しなくても複数のエッジの位置を判断できる。
【０１０５】
（５）上記実施形態では画素列毎に受光信号を積算した積算受光量の変化に基づいてエッジの位置を判断する場合を例に説明した。しかしながら、必ずしも積算受光量を用いなくてもよい。例えば画素列毎に受光信号の最大値（最大受光信号という）を特定し、画素列毎の最大受光信号の変化に基づいてエッジの位置を判断してもよい。
【０１０６】
（６）上記実施形態では一つの線状の光を用いて対象物５の変位を測定する場合を例に説明した。これに対し、複数の線状の光（例えば縞状光）を用いた所謂位相シフト法によって変位を測定してもよい。
【０１０７】
（７）上記実施形態では対象物５自体は三次元であるが、変位センサ２は二次元で対象物５の変位を測定している。これに対し、例えば変位センサ２を固定して対象物５の位置を少しずつずらしながら線状の光を投光し、投光毎に生成された複数の画像から対象物５を立体的に認識し、その認識結果から対象物５の変位を測定してもよい。
【０１０８】
（８）本明細書によって開示される技術は、以下の付記項に示す発明としても把握することができる。
［付記項１］
請求項１に記載の変位センサであって、
前記処理部は、前記判断処理において、隣り合う二つの前記画素列毎に受光信号の変化を算出し、算出した変化に基づいてエッジの位置を判断する、変位センサ。
【０１０９】
上記の変位センサによると、隣り合う二つの画素列毎に受光信号の変化を算出することにより、エッジの位置を判断することができる。
［付記項２］
付記項１に記載の変位センサであって、
前記処理部は、前記判断処理において、積算受光量の変化が最も大きい前記画素列の組において積算受光量が小さい方の前記画素列をエッジの位置と判断する、変位センサ。
【０１１０】
上記の変位センサによると、位置を判断すべきエッジが一つだけである場合に、エッジの位置を容易に判断することができる。
【符号の説明】
【０１１１】
１・・・変位測定システム、２・・・変位センサ、３・・・パーソナルコンピュータ（ＰＣ）、５・・・対象物、１０・・・センサヘッド、１１・・・コントローラ、２１・・・ヘッド制御部、２２・・・光源、２３・・・光源駆動回路、２４・・・挿通板、２４Ａ・・・スリット、２５・・・二次元撮像部、３１・・・コントローラ制御部、４４・・・表示部、４５・・・操作部、Ｌ１・・・画素列、Ｌ２・・・画素列
【図１】
2016090340.tif 000003
【図２】
2016090340.tif 000004
【図３】
2016090340.tif 000005
【図４】
2016090340.tif 000006
【図５】
2016090340.tif 000007
【図６】
2016090340.tif 000008
【図７】
2016090340.tif 000009
【図８】
2016090340.tif 000010
【図９】
2016090340.tif 000011
【図１０】
2016090340.tif 000012
【図１１】
2016090340.tif 000013
【図１２】
2016090340.tif 000014
【図１３】
2016090340.tif 000015