以下、本発明の実施の形態を図面に基づいて説明する。図1は、本発明に係る光測距装置における光学系を示す斜視図である。図1に示す光測距装置1は、2次元走査ミラー(スキャナ)2、レーザ投光部3、レーザ受光部(光検出器)4、投光/受光分離器5b、ガラス板などの透明板からなるレーザ光を透過させる投受光窓6を含んで構成され、測定対象物7に向けたレーザ光の投光、及び、測定対象物7からの反射光の受光は、前記投受光窓6を介してなされるようになっている。そして、前記レーザ投光部3からの測定対象物7に向けたレーザ光の放射タイミングと、前記測定対象物7からの反射光を前記レーザ受光部4が受光した受光タイミングとの時間差とレーザ光の伝播速度とに基づいて、前記測定対象物7までの距離が測定される。
図2は、前記光測距装置1のシステム構成の詳細を示すブロック図である。前記レーザ投光部3は、図2に示すように、レーザドライバ31、レーザ素子(半導体レーザ、光源)32、投光光学系(レンズなど)33を含んで構成され、前記レーザドライバ31は、レーザ放射タイミング制御信号に基づいて前記レーザ素子32を駆動制御して、レーザ素子32からレーザ光を発光させる。
前記レーザ素子32から発光されたレーザ光(投光光束)は、投光光学系33を介して放射され、反射ミラー5aで投光/受光分離器5bに向けて反射し、投光/受光分離器5bを透過して、2次元走査ミラー2で反射する。ここで、前記2次元走査ミラー2が2次元的に振動することで、2次元走査ミラー2での反射光は2次元領域に走査され、この2次元走査されるレーザ光は、筐体8の開口部8aに設けられた前記投受光窓(ガラス板など)6を透過して外部の測定対象物7に向けて放射される。
前記2次元走査ミラー2は、枠状のミラーサポート22の開口部に対してミラー21を一対の縦梁23a,23bによって支え、更に、枠状のスキャナ基板24の開口部に対して前記ミラーサポート22を一対の横梁25a,25bによって支えてなり、図示省略した縦振動駆動手段及び横振動駆動手段によって、前記縦梁23a,23bを軸とした縦振動と、前記横梁25a,25bを軸とした横振動とをミラー21に生じさせることで、ミラー21で反射するレーザ光が2次元に走査されるようになっている。
前記縦振動駆動手段及び横振動駆動手段として、例えば、スキャナ基板24の外側に配置した永久磁石と、前記ミラー21及びミラーサポート22に配置したコイルとによって、前記ミラー21とミラーサポート22とにそれぞれローレンツ力を発生させる手段を用いることができる。
前記投受光窓6を透過して測定対象物7に向けて放射されたレーザ光は、測定対象物7で反射し、該反射レーザ光は、投受光窓6を透過して2次元走査ミラー2で反射し、更に、投光/受光分離器5bで反射して、レーザ受光部4に受光される。前記レーザ受光部4は、受光光学系41、受光素子(フォトダイオード)42、プリアンプ43、A/D変換器44を含んで構成される。そして、投光/受光分離器5bで反射したレーザ光は、受光光学系41で集光されて受光素子42に受光され、受光素子42は、受光したレーザ光の強度が高いほど大きな電流を発生する。
前記受光素子42の出力信号(アナログ信号)はプリアンプ43で増幅され、増幅後の出力信号は測距計測部9に出力され、また、増幅後の出力信号は、A/D変換器44でデジタル信号に変換されて、制御部10(距離値算出部101)に出力される。尚、前記レーザドライバ31及びプリアンプ43には、高電圧電源(HV電源)11の高電圧が供給される。
また、前記レーザ投光部3の投光光学系33から放射されるレーザ光を受光する発光モニタ部12が設けられている。前記発光モニタ部12は、受光素子(フォトダイオード)を含んで構成され、この受光素子(フォトダイオード)でレーザ素子32から発光されたレーザ光を検出して、測定対象物7に向けたレーザ光の放射タイミングにおいて、計時スタートパルスを生成し前記測距計測部9(時間計測部95,96)に出力する。
前記測距計測部9は、前記受光素子42の出力信号を増幅した信号を入力する共振回路91及び立上がり回路92、前記共振回路91の出力を入力し計時ストップパルスを生成するストップタイミング生成部93、前記立上がり回路92の出力を入力し計時ストップパルスを生成するストップタイミング生成部94、前記計時スタートパルス及びストップタイミング生成部93から出力される計時ストップパルスを入力し、前記計時スタートパルスから計時ストップパルスまでの時間差を計測する時間計測部95、前記計時スタートパルス及びストップタイミング生成部94から出力される計時ストップパルスを入力し、前記計時スタートパルスから計時ストップパルスまでの時間差を計測する時間計測部96、前記時間計測部95の出力をA/D変換するA/D変換器97、前記時間計測部96の出力をA/D変換するA/D変換器98を含んで構成される。
前記共振回路91,ストップタイミング生成部93,時間計測部95及びA/D変換器97からなる系は、所謂ゼロクロス検出方式で受光タイミングを検出するための系であり、受光素子42の出力信号に含まれる特定周波数成分で共振する共振回路91を用いて前記特定周波数成分を抽出し、抽出した信号波形のゼロクロス点を受光タイミングとして検出し、計時ストップパルスを生成する。
一方、立上がり回路92,ストップタイミング生成部94,時間計測部96及びA/D変換器98からなる系は、所謂立上がりエッジ検出方式で受光タイミングを検出するための系であり、受光素子42の出力信号が予め設定した閾値を超えた時点(エッジ点)を、受光タイミングとして検出し、計時ストップパルスを生成する。
前記ゼロクロス検出方式及び立上がりエッジ検出方式でそれぞれに計測した、レーザ光の放射タイミングと、測定対象物7からの反射光を受光した受光タイミングとの時間差は、制御部10の距離値算出部101に入力される。前記距離値算出部101には、更に、前記A/D変換器44の出力である受光強度データ(光量データ)が入力され、受光強度データ(光量データ)と閾値とを比較し、測定対象物7からの反射レーザ光の強度(光量)が低い場合には、ゼロクロス検出方式で求めた測距値(時間差)を出力し、逆に、測定対象物7からの反射光の強度(光量)が高い場合には、立上がりエッジ検出方式で求めた測距値(時間差)を出力する。
前記立上がりエッジ検出方式は、受光素子42の出力信号の波高値が高い場合には、比較的精度の良い測距が可能であるが、波高値が低くなるほど測距精度が低下する。一方、ゼロクロス検出方式では、受光素子42の出力信号の波高値が高いとプリアンプ43が飽和し、共振回路91の入力波形が変形することで、ゼロクロス点にずれが生じて測距誤差を生じるので、波高値が低くければ精度の良い測距が可能である。
そこで、受光強度データ(光量データ)と閾値とを比較することで、受光素子42の出力信号の波高値を判断し、測定対象物7からの反射光の強度(光量)が低い場合(波高値が低い場合)には、ゼロクロス検出方式で求めた測距値を出力し、測定対象物7からの反射光の強度(光量)が高い場合(波高値が高い場合)には、立上がりエッジ検出方式で求めた測距値を出力することで、反射光の強度(光量)が低い場合と高い場合との双方で、精度の良い測距を行えるようにしてある。
前記距離値算出部101から出力される測距値は、投受光窓6の汚れ検知を行う汚れ検知部107に出力されると共に、外部インターフェース(I/F)102を介して外部機器に出力される。前記汚れ検知部107には、測距値のデータと共に、前記A/D変換器44の出力である受光強度データ(受光光量データ)が入力される。
また、前記制御部10には、レーザ・スキャナ・コントローラ103が備えられ、該レーザ・スキャナ・コントローラ103は、前記レーザドライバ31に対してレーザ放射タイミング制御信号を出力し、また、前記2次元走査ミラー2(スキャナ)の縦振動駆動手段及び横振動駆動手段の駆動信号(内軸駆動パルス、外軸駆動パルス)を出力する。前記縦振動駆動手段及び横振動駆動手段の駆動信号は、スキャナドライバ(駆動回路)104に出力され、該スキャナドイラバ104によって縦振動駆動手段及び横振動駆動手段を構成するコイルへの通電が制御される。
また、前記2次元走査ミラー2には、ミラー21の振動を検出するセンサ(歪ゲージ、ピエゾ抵抗素子など)が設けられており、前記センサの出力(スキャナ同期信号)が、フィルタ回路105を介して前記レーザ・スキャナ・コントローラ103にフィードバック信号として入力され、前記レーザ・スキャナ・コントローラ103は、前記フィードバック信号に基づいて前記駆動信号を出力する。前記スキャナドライバ(駆動回路)104には、前記高電圧電源11の高電圧が供給され、前記2次元走査ミラー2は、前記高電圧電源11を用いて振動され、前記レーザ・スキャナ・コントローラ103などは、DC12V電源106によって動作する。
前記汚れ検知部107は、前記距離値算出部101で算出される測距値及びA/D変換器44の出力である受光強度データ(受光光量データ)に基づいて、前記投受光窓6の汚れ(雨滴、雪、泥などの付着物)の有無及び汚れの濃度を検出し、これらに基づいて汚れのレベル判定を行い、判定した汚れレベルに基づいて汚れ対策処理を実行する装置であり、以下では、この汚れ検知部107による処理を詳細に説明する。
図3のフローチャートは、前記汚れ検知部107における処理の基本的な流れ(メインルーチン)を示すものであり、この図3のフローチャートに示す処理は、光測距装置1の起動時に実行される。尚、以下に示すように、前記汚れ検知部107は、汚れ検知手段、汚れレベル判定手段、除去制御手段、投光強度補正手段、測点変更手段、受光感度補正手段としての機能を、ソフトウエアとして備えている。
まず、ステップS210(汚れ検知手段)では、起動時のセルフチェック時にレーザ光を走査させて前記距離値算出部101で算出された測距値に基づいて、測点(走査ポイント)毎に投受光窓6における汚れの有無を判定する。
光測距装置1は、投受光窓6の外側に存在する測定対象物7までの距離を測定するための装置であり、前記投受光窓6に汚れが付着していない場合は、レーザ光は投受光窓6を透過し、投受光窓6の外側に存在する測定対象物7、即ち、レーザ投光部3から投受光窓6までの距離よりも遠い位置に存在する測定対象物7で反射し、レーザ投光部3から投受光窓6までの距離よりも長い測距値が得られる。
これに対し、前記投受光窓6に汚れが付着すると、レーザ光が前記汚れで反射し、汚れによる反射光が受光素子42に受光されることで、測距値として前記投受光窓6までの距離に相当する結果が得られることになる。従って、前記投受光窓6までの距離に相当する測距値が得られた場合には、そのときの測点に相当する投受光窓6の領域(場所)にレーザ光を反射させる物体、即ち、汚れが付着していると判断できる。そこで、セルフチェック時にレーザ光を走査させて得た測距値が、前記投受光窓6までの距離に相当する場合には、当該測距値を得た測点に対応する投受光窓6の領域(場所)に汚れが付着していると判断する。
図4は、汚れが付着していない投受光窓6の領域を透過し、投受光窓6よりも遠い位置にある測定対象物7(O点)から反射してきたレーザ光を受光したときの受光光量(波高値)及びその受光タイミング、及び、投受光窓6上の汚れが付着している領域(P点)から反射してきたレーザ光を受光したときの受光光量(波高値)及びその受光タイミングを示す図である。この図に示すように、レーザ光の放射タイミングから受光タイミングまでの時間tが、投受光窓6の位置に相当する時間t1に略一致する場合には、当該測距結果は、投受光窓6上の汚れで反射したレーザ光を受光したものであると判断できる。
一方、受光タイミングまでの時間tが、投受光窓6の位置に相当する時間t1よりも長い時間t2(t1<t2)である場合には、投受光窓6よりも遠い位置に存在する測定対象物7からの反射レーザ光を受光した結果であると判断でき、そのときの測点に対応する投受光窓6上の領域には、汚れが付着していないと判断できる。尚、汚れ(付着物)からの反射レーザ光の光量は、後述するように、汚れの濃度、換言すれば、汚れにおけるレーザ光の反射率によって変動し、濃度(反射率)は、塊状の汚れであるのか、微小な粒が分散して付着しているものであるかの違いや、汚れの透明度、汚れにおけるレーザ光の散乱度合いなどによって変動する。
ステップS210で測点毎に汚れの有無を判断すると、次のステップS220(汚れ検知手段)では、汚れの付着が判定された測点毎に、汚れの濃度(汚れでのレーザ光の反射光量)を、前記A/D変換器44の出力である受光強度データ(光量データ)に基づいて判断する。
例えば、埃のように微小な粒が分散して付着している汚れの場合、この汚れで反射して戻ってくるレーザ光は弱いのに対し、汚れが塊状のものであると、この汚れで反射して戻ってくるレーザ光は強くなるから、受光強度データ(光量データ)が高いほど汚れ濃度は高い(汚れ度合いが高い)と判断し、逆に、受光強度データ(光量データ)が低いほど汚れ濃度は低い(汚れ度合いが小さい)と判断する。
即ち、汚れの濃度をレーザ光の反射率で判断し、レーザ光を多く反射させる汚れを、濃度が高い汚れとして検出するものであり、汚れの濃度が高いと、投受光窓6の汚れが付着している領域で、多くのレーザ光が反射してしまい、投受光窓6よりも先に放射されるレーザ光が弱まり、本来の測距対象物7の測距精度を低下させることになるか、又は、汚れと同じ光軸上に存在する測距対象物7までの距離、換言すれば、汚れと同じ光軸上に存在する物体を検知できなくなってしまう。
汚れの濃度の判断は、上記のように、前記A/D変換器44の出力である受光強度データ(光量データ)に基づいて判断することができる他、投光レーザ光の強度(波高値)を段階的に増大変化させ、前記立上がりエッジ検出方式のストップタイミング生成部94での受光検知に基づき、前記投受光窓6までの距離に相当する測距値をその測点で初めて得たときの投光強度(波高値)、即ち、汚れからの反射レーザ光の強度(光量)が閾値を超える最小投光強度(最小波高値)から、汚れの濃度を判断することができる。
即ち、投光強度(波高値)を高くするほど、汚れから反射してくるレーザ光の強度(光量)が大きくなり、汚れの濃度が低い場合に、濃度が高い場合と同等の受光強度(受光光量)を得るためには、より高い投光強度(波高値)を必要とする。従って、前記投受光窓6までの距離に相当する測距値を得たときの投光強度(波高値)が低いほど、汚れの濃度は高いことになり、また、前記投受光窓6までの距離に相当する測距値を得たときの投光強度(波高値)が高いほど、汚れの濃度は低いことになる。
そこで、例えば、最初の走査では、投光強度を通常の測距動作時よりも低めに設定してレーザ光を走査させ、該走査で汚れを検知した測点を記憶し、次の走査では投光強度を高め、前回の走査時には、受光レベルが受光検知レベル(閾値)に達しなかった汚れからの反射光の光量を高め、前回検知されずに今回の走査で検知された汚れは、前回検知された汚れよりも濃度が1ランクだけ低いと判断するようにする。そして、検知要求がある最小汚れ濃度まで検知できる投光強度(投光光束の波高値)を最大値に設定し、該最大値にまで投光強度を段階的に増大させ、投光強度を段階的に上げるときの段数の分解能で、汚れ濃度を判定する。
また、汚れの濃度の判断は、立上がりエッジ検出方式において受光強度(受光光量)と比較させる閾値を段階的に低下させ、前記投受光窓6までの距離に相当する測距値を得たときの閾値レベルから判断させることができる。即ち、レーザ光の投光強度(投光の波高値)が一定であるときに、汚れの濃度(反射率)が高ければ、それだけ受光強度(受光光量)が高く、閾値が比較的高い状態であっても、受光強度(受光光量)が閾値を越えて測距(計時ストップパルスの生成)がなされるのに対し、汚れの濃度が低い場合には、それだけ受光強度(受光光量)が低く、閾値をより低くしないと、受光強度(受光光量)が閾値を超えずに測距が行われないことになる。
従って、閾値が高い状態で、前記投受光窓6までの距離に相当する測距値を得た場合には、汚れの濃度は高いことになり、より低い閾値で、前記投受光窓6までの距離に相当する測距値が得られた場合には、汚れの濃度は低いことになる。そこで、例えば、最初の走査では、通常の測距動作時よりも高い閾値と受光レベルとを比較させて計時ストップパルスを生成し、当該計時ストップパルスによる計時で、投受光窓6までの距離に相当する測距値を得た測点を記憶し、次の走査では前記閾値を低下させ、前回の走査時よりも低い受光レベルで計時ストップパルスが生成されるようにし、前回検知されずに今回の走査で検知された汚れは、前回検知された汚れよりも濃度が1ランクだけ低いと判断するようにする。
そして、検知要求がある最小汚れ濃度まで検知できる閾値を最小値に設定し、該最小値にまで閾値を段階的に低下させ、閾値を段階的に低下させるときの段数の分解能で、汚れ濃度を判定する。尚、前記検知要求がある最小汚れ濃度とは、測定対象物7の測距に影響を与える、換言すれば、測定対象物7の測距精度を許容レベルよりも低下させる最小濃度である。
図5は、立上がりエッジ検出方式における受光判断の閾値を段階的に減少させて行われる汚れ濃度検出の様子を示すものであり、図5に示す例では、汚れの濃度が比較的薄く、汚れからの反射光量が比較的低いため、閾値がSL1である場合には、汚れからの反射光量が閾値SL1を上回らないために受光検知がなされず、投受光窓6までの距離に相当する測距値の検出(汚れ検知)もなされない。
しかし、閾値SLを初期値である閾値SL1から閾値SL2へと低下させ、更に、閾値SL2から閾値SL3(SL3<SL2<SL1)にまで下げると、汚れからの反射光量が閾値SL3を上回るようになる結果、受光検知がなされ、時刻t1の時点で計時ストップパルスが生成されることで、投受光窓6までの距離に相当する測距値の検出、即ち、汚れ検知がなされ、かつ、この汚れ検知を行ったときの閾値SL3から汚れ濃度が判定される。
上記ステップS210及びステップS220の処理によって、投受光窓6上で汚れが付着している測点と、その汚れの濃度とが検出され、次のステップS230(汚れレベル判定手段)では、前記汚れが付着している測点と汚れの濃度とから、汚れレベル(汚れの程度)の判定を行う。
図6は、汚れレベルの判定の一例を示し、汚れの付着が検知された測点の連続数、換言すれば、汚れの付着が検知された測点が相互に隣接して一塊の汚れを形成する場合の測点の総数(汚れ面積)、及び、この一塊の汚れを構成する複数の測点での汚れの濃度の平均値と、汚れレベルを示す指標値との相関を示す。ここで、前記連続数(測点総数、面積)が大きいほど、前記指標値はより大きな値に設定され、かつ、汚れの濃度が高いほど、前記指標値はより大きな値に設定され、前記指標値が大きいほど汚れレベルが高い(汚れが重度である)ことを示す。
尚、図6に示す例では、汚れの濃度を1〜10段階に判別し、また、汚れの付着が検知された測点の連続数の最大を10とし、10を超える連続数については、連続数=10として前記指標値を設定するものとする。また、図6に示す例では、前記指標値の最大値は20であり、全ての測点で汚れが検知されなかった場合には、前記指標値は零に設定されるものとする。また、投受光窓6に対して、汚れが複数分散して付着している場合には、これら複数の汚れを構成する測点の総数と、全ての測点での汚れ濃度の平均から、汚れレベルを判断させることができ、また、分散している汚れ毎に汚れレベルを示す指標値を設定し、最も高い指標値を最終的な指標値として選択したり、各汚れの指標値の平均値を最終的な指標値としたりすることができる。
図6に示すようにして、汚れが検知された測点の連続数と汚れの濃度とから汚れの指標値を設定すると、図7に示すように、前記指標値を大中小の3段階に判別することで、汚れレベルを軽度・中度・重度のいずれかに判定する。具体的には、例えば、指標値が6以下を軽度、指標値が7〜15を中度、指標値が16以上を重度と判断する。
上記のようにして汚れレベルの判定を行うと、次のステップS240では、前記汚れレベルの判定結果(軽度・中度・重度)に応じた処理を実行する。具体的には、図7に示すように、前記指標値が6以下であって軽度の汚れが投受光窓6に付着していると判断される場合には、投受光窓6上の汚れが測距精度を大きく低下させることはないと判断し、汚れに対する処理を行うことなく通常の測距動作を許可する。
また、前記指標値が7〜15の範囲内であって中度の汚れが投受光窓6に付着していると判断される場合には、投受光窓6の広範囲に亘って汚れが付着していて、測距不能ではないものの、汚れ除去作業(クリーニング作業)の早期実施などが望まれるので、前記汚れ検知部107からの制御信号に基づいて警告装置(警告手段)108を作動させ、光測距装置1の使用者(管理者)に対し、投受光窓6に対する汚れの発生を知らせる、及び/又は、汚れの早期除去(クリーニング)を促す警告を行う。
一方、前記指標値が16〜20の範囲内であって重度の汚れが投受光窓6に付着していると判断される場合には、測距精度を維持できないと判断し、測距動作(測距結果の出力)を中止し、かつ、測距中止状態であることを警告装置(警告手段)108によって使用者(管理者)に警告する。
図8のフローチャートは、前記図7に示した、汚れレベルの判定結果(軽度・中度・重度)に応じた処理、即ち、ステップS240の処理の詳細を示す。まず、ステップS2401では、汚れが軽度(汚れの付着がない場合を含む)であるか否かを判断し、汚れが軽度であって対処が不要であれば、そのまま終了させることで、汚れへの対処は実施せず、通常の測距動作を許可する。
一方、対処が必要な中度又は重度の汚れが発生している場合には、ステップS2402へ進み、重度の汚れが発生しているか否かを判断する。そして、汚れのレベルが重度であれば、ステップS2403へ進んで、測距動作を中止させ、かつ、測距動作の中止状態であることを、警告装置(警告手段)108を作動させて警告する。一方、汚れが重度でなく中度である場合には、ステップS2404へ進んで、投受光窓6に汚れが付着していて、測距不能ではないものの汚れ除去作業(クリーニング作業)の早期実施が望まれることを、警告装置(警告手段)108を作動させて警告する。
前記警告装置108としては、ブザーの鳴動、警告ランプの点灯、測距結果の表示などに用いる画面上への警告文の表示、汚れ発生を警告する音声案内などを用いることができ、これらを複数組み合わせて用いてもよい。また、汚れが付着している投受光窓6上の領域が検出されているので、汚れ発生を警告すると共に、投受光窓6のどの部分に汚れが付着しているかを、例えば、測距結果の表示などに用いる画面上で示すこともできる。
上記実施形態によると、測距用のレーザ光をそのまま用いて投受光窓6上の汚れを検知でき、汚れ検知用の投受光器や撮像手段(CCDカメラ)などを設ける必要がなく、汚れ検知を実現するためのコストアップを抑制できる。また、2次元に走査されるレーザ光が投受光窓6上の汚れで反射することに基づいて汚れを検知するので、汚れを検知したときの測点から投受光窓6上のどの領域に汚れが付着しているかを判断でき、更に、汚れからの反射レーザ光の強度や汚れを検知したときの投光強度から汚れの濃度を判断でき、汚れの付着領域(面積)と汚れの濃度とを含めて汚れの程度を定量化して精度良く判定できる。
更に、投受光窓6のうち、実際の測距時にレーザ光が透過する領域について汚れの付着を検知するので、測距に影響する汚れの発生を確実に検知できる。また、汚れを検知した測点及び当該測点における汚れの濃度から、汚れレベルを示す指標値を設定するから、汚れの度合いを定量的に判断でき、該定量的な判断に基づき適切な処理を施すことができる。そして、汚れに対する処理として、重度の汚れが発生したときに測距動作を中止させれば、間違った測距結果が利用されることを回避でき、また、中度の汚れに対して警告を発生させることで、投受光窓6のクリーニング実施を促し、重度の汚れになることを未然に防止することができる。
次に、ステップS230における汚れレベル(汚れの程度)の判定の別の実施形態を説明する。図9〜図12は、一塊の汚れを構成する測点相互の隣接箇所の積算数に基づいて、汚れレベルを示す指標値を設定する例を示し、より具体的には、汚れが検知された測点同士が上下・左右に隣接する箇所毎に、2個の結合子を設定し、該結合子の積算数を汚れレベルを示す指標値とすることで、汚れの付着面積及び付着形状に基づいて汚れレベルが定量化されるようにしてある。
図9は、横一列に並ぶ4個の測点A〜Dで汚れが検知された場合の例を示し、測点Aと測点Bとが隣接する部分に2個の結合子を設定し、同様に、測点Bと測点Cとが隣接する部分に2個の結合子、測点Cと測点Dとが隣接する部分に2個の結合子を設定することで、合計で6個の結合子が設定されることになり、結合子の総数=6が、汚れレベルを示す指標値となる。
一方、図10に示す例では、図9の場合と同様に、汚れが検知された4個の測点が隣接しているが、ここでは、4個の測点が2行2例に並んで四角形を形成している。この図10の場合、測点Aには、測点B及び測点Dが隣接し、それぞれの隣接部分に2個の結合子が設定され、測点Cには、測点B及び測点Dが隣接し、それぞれの隣接部分に2個の結合子が設定されるから、合計で8個の結合子が設定され、結合子の総数=8が、汚れレベルを示す指標値となる。
即ち、汚れが検知された測点として、同じ4個の測点が隣接する場合であっても、その並び方(形状)によって結合子の数(汚れレベルの指標値)が異なって設定されるようにしてある。これは、図9に示したように、汚れが検知された測点が細く一列に並ぶ場合(汚れが細長い場合)に比べて、図10に示すように、汚れが検知された測点が縦横に広がりを示す場合(汚れが塊状の場合)の方が、測点の数が同じでも測距に対する影響度が大きく、測距精度をより大きく低下させることになるためであり、測距精度をより大きく低下させる並び方(形状)である場合に、汚れのレベルがより高く判定されるようにしてある。従って、上記のようにして汚れレベルの判断を行えば、汚れの形状及び大きさに応じた測距性能の低下を高精度に判断して、適切な汚れ対策を実施させることができる。
図11は、横一列に並ぶ9個の測点で汚れが検知された場合の例を示し、この場合、結合子の積算数は16になり、図9の例と比較すると、汚れを構成する測点の数(汚れ面積)の増大に対して結合子の積算数が多くなり、汚れレベルとしてより高いという評価がなされることになる。また、汚れが検知された測点の数が同じ9個であっても、図12に示すように、3行3列(縦横に3個×3個)で四角形状に測点が並ぶ場合の結合子の積算数は24となり、この場合も、汚れが検知された測点の数が同じでも、図11に示す直線的な並び方に対して、図12に示すような縦横に広がりを示す並び方が、汚れのレベルとしてより高いと評価される。
そして、前記結合子の積算数を、例えば3段階に判別し、積算数が多い領域に属する場合に汚れが重度であると判断し、また、積算数が中程度の領域に属する場合に汚れが中度であると判断し、更に、積算数が少ない領域に属する場合に汚れが軽度であると判断して、それぞれの判断結果に応じた処理(例えば図7,図8に示した処理)を実行させることができる。
尚、上記図9〜図12に示した例では、汚れが検知された測点相互が隣接する部分の1箇所につき、2個の結合子を割り付けるようにしたが、この隣接部分1箇所当たりの結合子の割付数は、並び方の違いや汚れが検知された測点の数の違いに対する積算数の変化を定めるものであり、1個又は3個以上であってもよい。また、汚れが検知された測点相互が隣接する部分の1箇所に対して割り付ける結合子の数を、例えば、汚れが検知された測点の総数によって異ならせてもよい。
また、前記結合子の数を、汚れが検知された各測点における汚れの濃度に応じて重み付けすることができ、この重み付けを行う例を、図13及び図14に従って説明する。図13に示す例は、横一列に並ぶ4個の測点A〜Dで汚れが検知された場合の例を示し、かつ、測点Aでは汚れ濃度が「1」で、測点Bでは汚れ濃度が「2」で、測点Cでは汚れ濃度が「3」で、測点Dでは汚れ濃度が「1」であると判断された場合を示す。
前記汚れ濃度の「1」〜「3」は、数値が大きいほど汚れが濃く(汚れによるレーザ光の反射率が高く)、数値が小さいほど汚れが薄い(汚れによるレーザ光の反射率が低い)ことを示す。また、図13に示す例では、汚れが検知された測点相互が隣接する部分の1箇所に対して割り付ける結合子の数を1とする。ここで、測点A〜D毎に、いくつの汚れ検知測点と隣接しているかを、結合子の総数として求め、この総数に対して当該測点での汚れ濃度を乗算して汚れによる重み付けを行い、測点A〜D毎に求められる「結合子の総数×汚れ濃度」の合計を、最終的に汚れレベルを示す指標値とする。
図13に示す例の場合、測点Aについては、汚れが検知された測点として測点Bのみが隣接するので、測点Aについての結合子の総数は1であり、また、測点Aでの汚れ濃度が「1」であるので、結合子の総数×汚れ濃度=1×1=1となる。また、測点Bについては、汚れが検知された測点として測点A及び測点Cが隣接するので、測点Bについての結合子の総数は2であり、また、測点Bでの汚れ濃度が「2」であるので、結合子の総数×汚れ濃度=2×2=4となる。また、測点Cについては、汚れが検知された測点として測点B及び測点Dが隣接するので、測点Cについての結合子の総数は2であり、また、測点Cでの汚れ濃度が「3」であるので、結合子の総数×汚れ濃度=2×3=6となる。
更に、測点Dについては、汚れが検知された測点として測点Cのみが隣接するので、測点Dについての結合子の総数は1であり、また、測点Dでの汚れ濃度が「1」であるので、結合子の総数×汚れ濃度=1×1=1となる。そして、測点A〜D毎に求めた「結合子の総数×汚れ濃度」の合計は12となり、これを汚れレベルを示す指標値とする。
一方、図14に示す例は、図13の場合と同様に汚れが検知された測点は4個であるものの、汚れが検知された測点が2行2例の四角形状に並んた場合を示し、測点Aでは汚れ濃度が「1」で、測点Bでは汚れ濃度が「2」で、測点Cでは汚れ濃度が「1」で、測点Dでは汚れ濃度が「3」であると判断された場合を示す。図14の場合、測点Aについては、汚れが検知された測点として測点B及び測点Dが隣接するので、測点Aについての結合子の総数は2であり、また、測点Aでの汚れ濃度が「1」であるので、結合子の総数×汚れ濃度=2×1=2となる。
また、測点Bについては、汚れが検知された測点として測点A及び測点Cが隣接するので、測点Bについての結合子の総数は2であり、また、測点Bでの汚れ濃度が「2」であるので、結合子の総数×汚れ濃度=2×2=4となる。また、測点Cについては、汚れが検知された測点として測点B及び測点Dが隣接するので、測点Cについての結合子の総数は2であり、また、測点Cでの汚れ濃度が「1」であるので、結合子の総数×汚れ濃度=2×1=2となる。
更に、測点Dについては、汚れが検知された測点として測点A及び測点Cが隣接するので、測点Dについての結合子の総数は2であり、また、測点Dでの汚れ濃度が「3」であるので、結合子の総数×汚れ濃度=2×3=6となる。そして、測点A〜D毎に求めた「結合子の総数×汚れ濃度」の合計は14となり、これを汚れレベルを示す指標値とする。
図13に示した汚れ検知測点の並び方で、例えば、測点A〜Dの汚れ濃度が全て「1」であったとすると、測点A〜D毎に求めた「結合子の総数×汚れ濃度」の合計は6となり、図14に示した汚れ検知測点の並びで、測点A〜Dの汚れ濃度が全て「1」であったとすると、測点A〜D毎に求めた「結合子の総数×汚れ濃度」の合計は8となる。
従って、図13及び図14に示すようにして、結合子数に対して汚れ濃度による重み付けを行って汚れレベルを示す指標値を設定すれば、汚れの面積・形状、更に、濃度に応じて汚れレベルが評価されることになり、より的確に汚れのレベルを判断できることになり、汚れの発生に対してより適切な処理を施すことができる。
また、図15〜図18は、汚れが検知された測点の汚れ濃度から、隣接する周囲の測点の結合子数を補正する例を示す。図15〜図18に示す例では、図15に示すように、汚れが検知された測点の総数が3個であり、汚れ濃度が「2」である測点Aの右隣に、汚れ濃度が「3」である測点Bが検知され、更に、前記測点Aの下側に汚れ濃度「1」の測点Cが検知された場合を示す。
まず、測点Cに注目し、図16に示すように、測点Cの上下・左右・斜め右上・斜め右下・斜め左上・斜め左下の8個の測点、即ち、測点Cの周囲を囲む8個の測点に、測点Cの濃度値と同じ「1」の結合子数を割り付ける。更に、前記8個の測点を囲む16個の測点に対しては、8個の測点に割り付けた結合子数よりも1だけ少ない結合子数を割り付けるが、この場合、8個の測点に結合子数として「1」が割り付けられるので、前記16個の測点に対しては、結合子数として「0」を割り付けることになる。
即ち、注目している測点の濃度値と同じ値の結合子数を、注目している測点の周囲を囲む各測点に対して割り付け、更に、その外側を囲む各測点に対しては、注目している測点の濃度値よりも1だけ小さい値の結合子数を割り付け、更に、その外側を囲む測点に対しては、注目している測点の濃度値よりも2だけ小さい値の結合子数を割り付けるようにし、注目している測点から離れる(遠い)ほど、注目している測点の濃度値からより減算した値の結合子数を割り付ける。
そして、注目している測点Cと共に一群の汚れを構成する他の測点、換言すれば、測点Cに対して連なる汚れ検知測点に対して割り付けられた結合子数の総和と、測点Cでの汚れ濃度との合計を、注目している測点Cでの結合子数とする。図16の例では、注目している測点Cと共に一群の汚れを構成する他の測点は、測点A,Bであり、測点A,Bには、測点Cの濃度に基づいて結合子数=1が割り付けられているから、測点A,Bでの結合子数の総和は2であり、また、測点Cの汚れ濃度は「1」であるから、測点Cにおける結合子数は3になる。
そして、次に、注目する測点を測点Cから測点Aに切り替え、注目している測点Aから離れる(遠い)ほど、注目している測点Aの濃度値からより減算した値の結合子数を割り付ける処理を行う。ここで、測点Aの濃度は「2」であるから、図17に示すように、測点Aの周囲を囲む8つの測点に対して結合子数=2を割り付け、更にその外側を囲む16個の測点に対しては、結合子数として「1」を割り付ける。
上記結合子数の割り付けによって、測点B,Cに対して結合子数=2が割り付けられるから、注目している測点Aと共に一群の汚れを構成する他の測点B,Cに対して割り付けられた結合子数の総和は4であり、注目している測点Aの濃度は「2」であるから、測点Aの結合子数は6になる。
次に、注目する測点を測点Bに切り替え、注目している測点Aから離れる(遠い)ほど、注目している測点Bの濃度値からより減算した値の結合子数を割り付ける処理を行う。ここで、測点Bの濃度は「3」であるから、図18に示すように、測点Bの周囲を囲む8つの測点に対して結合子数=3を割り付け、更にその外側を囲む16個の測点に対しては、結合子数として「2」を割り付け、更にその外側を囲む24個の測点に対しては、結合子数として「1」を割り付ける。
上記結合子数の割り付けによって、測点A,Cに対して結合子数=3が割り付けられるから、注目している測点Bと共に一群の汚れを構成する他の測点A,Cに対して割り付けられた結合子数の総和は6であり、注目している測点Aの濃度は「3」であるから、測点Bの結合子数は9になる。そして、一群の汚れを構成する測点A,B,Cそれぞれで求めた結合子の数は3,6,9となり、これらの合計値である「18」を汚れレベルを示す指標値とする。
即ち、汚れが検知された測点のうちの注目測点において、その測点での汚れ濃度が高く、また、当該注目測点の近傍に汚れが検知された測点が多く存在する場合には、それだけ当該注目測点における結合子の数(汚れ指標値)を大きく設定する。換言すれば、汚れが検知された複数測点のうちの注目測点での汚れの濃度、及び、当該注目測点の周囲に存在する他の汚れ検知測点の数及び注目測点から距離によって、当該測点における結合子の数(汚れ指標値)が設定されるものである。そして、汚れが検知された測点毎に求めた結合子の数(汚れ指標値)の合計に基づいて汚れレベルを判定することで、汚れ濃度が高い測点が集まっているかなどの汚れの濃度分布に応じて汚れレベルを精度よく判定することができる。
以上のようにして汚れレベルを判定すると、図7,図8に示したように、汚れレベルを軽度・中度・重度に区別して、前記警告装置(警告手段)108の作動制御を行ったり、測距動作を中止(禁止)したりする。但し、汚れレベルの判定に基づき実施させる処理(汚れ対策)は、前記の警告や測距動作の中止に限定されるものではなく、以下に、汚れ発生時に実施させる処理の別の例を示す。
前記汚れ発生時に実施させる処理として、投受光窓6の汚れの除去を図る処理を実施させることができ、具体的には、前記投受光窓6上の汚れを除去するための汚れ除去装置109(汚れ除去手段)を備えるようにし、投受光窓6の汚れが検知された場合に、前記汚れ除去装置109を動作させて、汚れの除去を図ることができる。
前記汚れ除去装置109としては、投受光窓6の外表面に空気を吹き付けて汚れを吹き飛ばすエアーブロー装置、投受光窓6の外表面をワイパブレードで拭うワイパ、投受光窓6を加熱することで雪や氷などの付着部を溶かすヒータ、汚れた投受光窓6をレーザ光の走査域から退避させ、未使用の(清浄な)投受光窓6に入れ替える窓入替え装置などを用いることができ、更に、これらの汚れ除去手段を複数組み合わせて同時に或いは時系列的に作動させることができる。尚、前記ワイパと、洗浄液を投受光窓6の外表面に吹き付ける装置とを一対として用いることができる。
図19のフローチャートは、前記汚れ除去装置109の作動制御の流れ、換言すれば、図3のフローチャートにおけるステップS240における処理の第2実施形態を示すものであり、測点毎の汚れ検知(S210)、汚れ濃度の検出(S220)及び汚れ検知された測点及び各測点の汚れ濃度に基づく汚れレベルの判定(S230)が行われた後に実行される。
まず、ステップS2411では、汚れレベルの判定結果に基づいて汚れが軽度であるか否かを判断し、汚れの対処が不要な軽度な汚れである(汚れ付着がない場合を含む)場合には、そのまま終了させることで、汚れ除去装置109を作動させない。一方、対処が必要な中度又は重度の汚れが発生している場合には、ステップS2412へ進み、汚れ除去装置109を作動させても除去が難しい重度の汚れであるか否かを判断する。そして、対処が必要な汚れが付着していて、かつ、汚れのレベルが重度であれば、ステップS22413へ進んで、測距動作を中止させ、測距動作を中止させたことを警告装置(警告手段)108の作動によって警告する。
汚れが重度でなく中度であって、汚れ除去装置109の作動によって除去が可能であると判断される場合には、ステップS2414(除去制御手段)へ進んで、汚れ除去装置109を作動させ、投受光窓6の汚れの除去を図ると共に、汚れの発生状態であることを警告装置108を用いて警告する。例えば、汚れ除去装置109としてエアーブロー装置を用いる場合、埃や雨滴などであれば除去が可能であるが、汚れが付着力の強いものであると除去が難しくなる。ここで、埃や雨滴などに比べ、付着力の強い汚れは一般的に面積が広くかつレーザ光の反射率が高く、汚れの濃度が高いと判断されることになるので、汚れの濃度から判定される汚れレベルが重度であるときには、汚れ除去装置109による除去が難しいと判断して、使用者に汚れ付着を警告し、測距動作を中止させることができる。
上記のように、中度の汚れに対して汚れ除去装置109を作動させれば、中度の汚れ状態を解消して、初期の測距精度を維持させることができ、また、汚れが重度になってしまうことを回避できる。尚、汚れが中度及び重度であるときには、汚れ除去装置109を作動させた後、再度汚れ検知を行わせ、汚れを充分に除去できていない場合に、警告の発生及び測距動作の中止を行わせることができる。換言すれば、汚れ除去装置109を作動させても除去できない汚れである場合に、汚れが重度であると判断させることができる。また、前記汚れ除去装置109の作動中は、測距精度が低下する場合があるので、汚れ除去装置109の作動中であることを前記警告装置108によって使用者に知らせ、除去作業中の測距動作(測距結果の出力)を中止すると良い。
また、汚れ除去装置109としてヒータを備える場合、投受光窓6に対する雪の付着や結氷などに対しては効果を発揮することになるが、埃や泥などの汚れに対しては除去効果が低いので、中度又は重度の汚れ発生時であって、温度センサ110で検出される使用環境温度が閾値よりも低い場合にヒータを作動させ、使用環境温度が前記閾値よりも高い場合には、警告の発生及び測距動作の中止を行わせるとよい。ここで、使用環境温度が前記閾値よりも高い場合に、エアーブロー装置やワイパなどの埃や泥汚れなどを除去できる汚れ除去装置109を作動させることもできる。
また、汚れ除去装置109を備える場合、起動時のセルフチェック前などのタイミングで定期的に汚れ除去装置109を作動させ、更に、汚れ発生を検知したときに汚れ除去装置109を作動させることができる。また、エアーブロー装置やワイパなどの汚れ除去装置109を作動させても汚れを除去できない場合に、前記窓入替え装置を作動させて、投受光窓6を入替えてしまうことができる。
投受光窓6の入替え方法としては、投受光窓6の外表面を覆う帯状の透明フィルムを、供給ドラムと巻き取りドラムとの間に張り渡し、汚れが検知された時に汚れが付着した部分を巻き取りドラム側に巻き取ると同時に、供給ドラム側から新しいフィルムを供給させることができる。また、複数枚の投受光窓6を円盤状の基体の同一円周上に配置し、前記円盤状の基体をその中心軸周りに回転させて投受光窓6を入替えることができ、前記円盤状の基体を回転させるときに、固定されたブラシやワイパブレードなどで汚れ除去を行わせることもできる。また、汚れの付着箇所が検出されるので、汚れの付着領域に対してのみ汚れ除去装置109を作用させることができる。
投受光窓6の汚れへの対処として、上記の警告、汚れ除去動作の他、測距動作に対して補正を加えることができる。具体的には、測点毎の汚れ検知によって汚れの付着領域が分かるので、測点と汚れ領域との重なりが少なくなるように、測点の位置をずらす、具体的には、走査パターンをオフセットするようにすれば、汚れに影響されて測距精度が低下する測点の数を減らして、測距精度の低下を抑制することが可能である。
図20は、測点位置をずらす処理(走査パターンのオフセット処理:測点変更手段)の概略を示すものであり、初期の走査パターンでは、2個の汚れと、8個の測点とが重なっているが、走査パターンをシフトさせることで、2個の汚れに対して重なる測点が3個に減少している。尚、レーザ光の放射タイミング(測点)をずらすための処理としては、走査パターンのオフセット処理の他、レーザ投光部3が発信するレーザ光の周波数を変更する処理があり、これらのいずれか一方を実行させるか、これらを組み合わせて実行させることができる。
また、投受光窓6に対して汚れが複数分散して付着している場合、ある汚れに重なる測点の数を減らすように走査パターンをシフトさせると、他の汚れに対して重なる測点の数が増えてしまう場合があり、このような場合は、汚れに重なる測点の数が最も少なくなる走査パターンを選択するか、走査パターンのシフトでは測距精度を維持できない重度の汚れであると判断して、測距動作の中止及び警告を行わせることができる。
また、投受光窓6の汚れ検知に基づく測距動作の補正として、レーザ光の投光強度を補正する処理を行わせることができる。投受光窓6に汚れが付着すると、汚れ部分でレーザ光が反射してしまうことで、測定対象物7に到達するレーザ光量が減って、測定対象物7からの反射レーザ光量が減ることで、測定対象物7からの反射レーザ光の受光検知が行われなくなってしまうことがある。
上記のように、投受光窓6の汚れによって測定対象物7からの反射レーザ光量が減った場合には、レーザ光の投光強度を増大補正することで(投光強度補正手段)、反射レーザ光量の増大を図ることができる。但し、レーザ光の投光強度を全走査域で一律に大きくすると、投受光窓6の汚れが付着していない領域を透過して、測定対象物7に放射されるレーザ光の強度が増えることになり、また、汚れの濃度が高くなると、レーザ光の投光強度を増大させても、汚れからの反射光量が増えるだけで、測定対象物7からの充分な反射レーザ光量を得ることができない場合がある。
そこで、レーザ光の全走査域(全測点)のうち、投受光窓6に対する汚れの付着が検知された領域(測点)の割合が閾値を超えていて、投光強度の増大によって測定対象物7に対するレーザ光の照射量が許容値を超えて増えることがなく、かつ、閾値を超える濃度の汚れ(換言すれば、投光強度の増大によっては測距精度を維持できない汚れ)を検知した測点の数が閾値を下回り、投光強度の増大によって測距精度の維持が図れる場合に、レーザ光の投光強度を初期値よりも増大させるようにするとよい。
レーザ光の投光強度を上げることで、汚れ部分でレーザ光が一部反射しても、測定対象物7に到達する光量が増えて、測定対象物7からの反射光量が増大することで、測定対象物7からの反射レーザ光の受光検知を行えるようになる。従って、投光強度の増大実施の条件における濃度の低い汚れとは、投光強度の増大によって、測定対象物7に到達する光量、換言すれば、反射レーザ光量を、受光検知できる程度に増やすことができる汚れであり、汚れが低濃度であるほど、投光光量の増大代を抑制できるので、例えば、汚れ濃度の平均値が低いほど、投光光量の増大代をより抑制することができる。
但し、投光強度の増大は、汚れの濃度が最も低い測点(汚れがない測点を含む)での測定対象物7に到達する光量が限界値を超えることがない範囲に制限することが好ましい。また、汚れが検知された測点に限定して投光強度を増大させることもできる。
汚れ検知に基づく測距動作の補正としては、この他、立上がりエッジ検出方式での反射レーザ光の受光検知における受光レベルの閾値を補正する処理(受光感度変更手段)を行わせることができる。前記受光素子42の出力信号の波高値が閾値を超えたタイミングを受光タイミングとする立上がりエッジ検出方式で受光検知を行う場合、汚れによって測定対象物7からの反射レーザ光量が減ることで、受光素子42の出力信号の波高値が小さくなり、出力信号の波高値が閾値を超えなくなってしまい、測距不能になってしまう場合がある。
そこで、汚れが検知された測点では、予め受光強度の低下が見込まれるので、閾値を初期値よりも低下させて、受光強度が低下しても測定対象物7からの反射レーザ光の受光検知が行えるように、受光感度を増大させる(受光感度変更手段)。ここで、汚れの濃度が高くなるほど、測定対象物7からの反射レーザ光の受光強度が低下するので、より閾値を低下させるようにすると良い。但し、閾値を過剰に低下させると、ノイズなどの外乱発生時に受光検知を行ってしまうことになるので、閾値の低下は、外乱による誤検出を回避できる限界値に基づき制限することが好ましい。
また、受光感度を増大させる手段(受光感度変更手段)としては、前述のように閾値を低下させる手段の他、受光素子42の出力信号のプリアンプ43による増幅率を増大させる手段があり、閾値の低下と増幅率の増大とを組み合わせて、受光感度の増大を図ることができる。更に、受光感度の増大と、投光強度の増大とを組み合わせて実行させることもできる。
図21のフローチャートは、投受光窓6の汚れに対する処理として、測点位置のずらし(走査パターンのシフト)、投光強度の補正、受光感度の補正など、測距動作の補正を行う場合の制御を示す。まず、ステップS2421では、汚れレベルの判定結果に基づいて汚れが軽度であるか否かを判断し、汚れの対処が不要な軽度の汚れである(汚れ付着がない場合を含む)場合には、そのまま終了させることで、測距動作の補正を行わず、標準の測点(走査パターン)・投光強度・受光感度での測距動作を許可する。
一方、対処が必要な中度又は重度の汚れが発生している場合には、ステップS2422へ進み、測距動作の補正では測距精度を維持することが困難な重度の汚れであるか否かを判断する。そして、対処が必要な汚れが付着していて、かつ、汚れのレベルが重度であれば、ステップS22423へ進んで、測距動作を中止させ、測距動作を中止させたことを警告装置(警告手段)108によって警告する。
汚れが重度でなく中度であって、測距動作の補正では測距精度を維持することが可能であると判断される場合には、ステップS2424へ進んで、測点位置のずらし(走査パターンのシフト)、投光強度の補正、受光感度の補正など、測距動作の補正処理を実行すると共に、汚れの発生を警告装置108によって警告する。上記のように、中度の汚れに対して測距動作の補正によって測距精度の維持を図る構成であれば、汚れの進行に対して汚れ除去装置109を用いることなく測距精度の維持を図ることができ、汚れ除去装置109を省略してシステムコストの削減できる。尚、投受光窓6の汚れ発生に対して、まず、汚れ除去装置108を作動させて汚れの除去を図り、除去動作で汚れが残った場合に、測距動作の補正を行って測距精度を維持するようにできる。