[導入]
3次元情報を計測する3次元センサ(距離センサ)の1つに、強度変調した照射光を投射してから該照射光が測定対象で反射して戻るまでの飛行時間を検出して測定対象までの距離を求める、Time of Flight(TOF)法を用いる“TOFセンサ”が既に知られており、種々ある3次元センシング方式の中でも、その高速性の原理的優位性から,昨今さまざまな用途への開発が進められている。例えばジェスチャー認識や、ロボットや自動車などの移動体の位置制御などへの応用が期待されている。
TOF法には、直接TOF法と間接TOF法があり、一般的に間接TOF法の方が近距離測定に有利であると言われている。本発明は、間接TOF法を用いる発明であるため、以降、明記しない限り、「TOF法」とは間接TOF法のことであり、「TOFセンサ」とは間接TOF法を用いた距離センサのことである。
[実施形態]
以下、本発明の一実施形態を図面に基づいて説明する。図1には、一実施形態の測距装置としての距離センサ20(TOFセンサ)を搭載した走行体1の外観が示されている。この走行体1は、荷物を目的地に無人搬送するものである。なお、本明細書では、XYZ3次元直交座標系において、路面に直交する方向をZ軸方向、走行体1の前進方向を+X方向として説明する。
ここでは、距離センサ20は、一例として、走行体1の前部に取り付けられ、走行体1の+X側(前方)の3次元情報を求める。なお、距離センサ20による測定可能な領域を測定領域ともいう。距離センサ20の出力によって、走行体1の進行方向の障害物の有無及び位置情報を検出することができる。
走行体1の内部には、一例として図2に示されるように、表示装置30、位置制御装置40、メモリ50、及び音声・警報発生装置60などが備えられている。これらは、データの伝送が可能なバス70を介して電気的に接続されている。
ここでは、距離センサ20と、表示装置30と、位置制御装置40と、メモリ50と、音声・警報発生装置60とによって、走行管理装置10が構成されている。すなわち、走行管理装置10は、走行体1に搭載されている。また、走行管理装置10は、走行体1のメインコントローラ80と電気的に接続されている。
距離センサ20は、一例として図3に示されるように、投光系201、受光系202、及び制御系203などを有している。そして、これらは、筐体内に収納されている。この筐体は、投光系201から投光される光、及び測距対象の物体(以下では「対象物」とも呼ぶ)で反射され、受光系202に向かう光が通過するための窓を有し、該窓にはガラスが取り付けられている。
音声・警報発生装置は,一例として,距離センサ20が取得した3次元情報から、障害物の回避の可否を判定し、回避不可と判断された場合に周囲の人員に通知する。
投光系201は、受光系202の−Z側に配置されている。この投光系201は、一例として図4に示されるように、光源21及び光源駆動部25(光源ドライバ)などを有している。
光源21は、光源駆動部25によって点灯及び消灯される。ここでは、光源21としてLED(発光ダイオード)が用いられているが、これに限らず、例えば半導体レーザ(端面発光レーザや面発光レーザ)等の他の光源を用いても良い。光源21は、+X方向に光を射出するように配置されている。なお、以下では、光源駆動部25で生成され、光源21を駆動するための信号を「光源駆動信号」と呼ぶ。
光源駆動部25は、制御系203からのパルス制御信号(図5参照)に基づいて、光源駆動信号(図6参照)を生成する。この光源駆動信号は、光源21及び制御系203に送出される。
これにより、光源21からは、制御系203から指示されたパルス幅のパルス光が射出される。なお、光源21から射出されるパルス光は、デューティ(duty)が50%以下となるように、制御系203において設定されている。また、以下では、光源21から射出される光を「照射光」とも呼ぶ。
走行体1のメインコントローラ80は、走行体1を走行させる際に、位置制御の開始要求を位置制御装置40に送出する。そして、走行体1のメインコントローラ80は、走行体1が目的位置に到達すると、位置制御の終了要求を位置制御装置40に送出する。
位置制御装置40は、位置制御の開始要求、及び位置制御の終了要求を受け取ると、制御系203に送出する。
距離センサ20から射出され物体(対象物)で反射された光の一部は、距離センサ20に戻ってくる。以下では、便宜上、物体で反射され距離センサ20に戻ってきた光を「物体からの反射光」や「対象物からの反射光」や「受信光」とも呼ぶ。
受光系202は、物体からの反射光を検出する。受光系202は、一例として図7に示されるように、結像光学系28及びイメージセンサ29(撮像素子)などを有している。
結像光学系28は、物体からの反射光の光路上に配置され、該光を集光する。ここでは、結像光学系28は1枚のレンズで構成されているが、2枚のレンズで構成されても良いし、3枚以上のレンズで構成されても良いし、ミラー光学系を用いても良い。
イメージセンサ29は、結像光学系28を介した物体からの反射光を受光して光電変換する。イメージセンサ29の出力信号(アナログ信号)は、ADC(アナログデジタルコンバータ)でデジタル信号に変換され、制御系203に送られる。ここでは、イメージセンサ29として、複数の受光部が2次元配列されたエリアイメージセンサ(例えばCCDやCMOS)が用いられている。イメージセンサ29の各受光部は「画素」とも呼ばれる。
イメージセンサ29は、各受光部(例えばフォトダイオードやフォトトランジスタ)に対して2つの電荷蓄積部を有しており、TX1信号がハイレベルのときは、該受光部で光電変換された電荷を一方の電荷蓄積部に蓄積し、TX2信号がハイレベルのときは、該受光部で光電変換された電荷を他方の電荷蓄積部に蓄積する。また、イメージセンサ29は、TXD信号がハイレベルのときは、電荷の蓄積を行わず、リセット信号がハイレベルになると、2つの電荷蓄積部に蓄積されている電荷量を0にする。
制御系203は、一例として図8に示されるように、TX1信号、TX2信号、TXD信号及びリセット信号をイメージセンサ29に出力する。
また、制御系203は、光源駆動部25にパルス制御信号を出力して光源21を発光させ、イメージセンサ29からの出力信号に基づいて光源21の発光タイミングとイメージセンサ29の受光タイミングの時間差を算出し、該時間差から対象物までの距離を求める。
ところで、一般的なTOFセンサは典型的に、多位相シフトを用いて対象物までの距離を取得する。例えば、四相式TOFセンサは、照射光の変調周波数(パルス周期の逆数)に対して、4つの位相信号(位相シフト量:0°、90°、180°、270°)を用いて距離を取得する。TOFセンサの理論的な測定可能距離範囲(測距レンジ)は照射光の変調周波数で決まる。
TOFセンサなどの距離センサを使用する上で、測距レンジに加えて測距精度も非常に重要になる。一般に、TOFセンサは、取得する各位相信号の信号量(電荷量)、上記四相式TOFセンサであれば、0°、90°、180°、270°の4つの位相信号の信号量が大きいほど、高精度に測距できる。これは、信号量とショットノイズや回路起因ノイズなどの測定ノイズの比(SN比)が測定に影響するためである。つまり、照射光の強度が大きいほど高精度に測距できるといえる。位相信号の信号量は、特に対象物までの距離が長い場合や、対象物の反射率が低い場合に小さくなるため、アイセーフに配慮しながら、所望の測距精度に足る照射光の強度で測定する必要がある。
しかし、照射光の強度を徒に大きくすると、撮像素子において信号量の飽和という問題が起こる。撮像素子が画素毎に蓄積可能な信号量の上限は、該画素に対応する電荷蓄積部の蓄積容量で決まり、該電荷蓄積部にその蓄積容量を超える信号量が入ると、信号量が飽和し、正確な距離を出力できなくなる。
信号量の飽和は、物体からの反射光が強くなる、該物体までの距離が短い場合や、該物体の反射率が高い場合に起こりやすい。つまり、TOFセンサで高精度に測距しようとした場合、信号量の飽和の問題が起きやすくなるため、両者はトレードオフの関係にある。
図9(a)及び図9(b)には、それぞれ本実施形態の距離センサ20のベースとなる一般的なTOFセンサ1、2の構成が示されている。
図9(a)に示されるように、TOFセンサ1は、光源及び光源駆動部を含む投光系と、撮像素子及びADC(アナログデジタルコンバータ)を含む受光系と、制御部、距離演算部及び出力部を含む制御系と、を備えている。
TOFセンサ1の各構成要素は、データの伝送が可能なパスを介して電気的に接続され、パッケージに収容されている。
制御部は、TOFセンサによる測距(距離測定)の際に、投光系の光源駆動部と受光系の撮像素子を制御し、光源駆動信号のパルス幅及びデューティ比を設定する信号(パルス制御信号)を光源駆動部に送出し、該パルス幅に合わせた読み出し期間を設定する信号を撮像素子に送出する。
また、制御部は、光源の発光と撮像素子の信号取得のタイミングの同期を行なう。
投光系では、制御部から指示された通りに(パルス制御信号に基づいて)、光源駆動部が光源をパルス発光させる。光源には一般的に,LD(端面発光レーザ)、LED(発光ダイオード)、VCSEL(面発光レーザ)などが用いられる。
受光系では、撮像素子が、対象物からの反射光の一部を受光して生成したアナログ信号を、ADCでデジタル信号に変換し、距離演算部に送る。撮像素子にはCMOSやCCDが用いられる。一般的なTOFセンサでは専用の撮像素子が用いられる。
一例として、TOFセンサ専用のCMOSであるTOF−CMOSについて説明する。TOF−CMOSは、1つの受光部に対して電荷を2箇所に振り分ける構造になっているものが主流である。このような1つの受光部に対して2箇所の電荷振り分け先を持つ構造のTOFセンサでは、最低2回の露光が必要になる。
このような構造の一例が図10に示されている。図10に示されるように、受光部100の両側に第1及び第2電荷蓄積部20a、20bが配置されている。受光部100と第1電荷蓄積部20aとの間には第1電荷転送部30aが配置されている。受光部100と第2電荷蓄積部20bとの間には第2電荷転送部30bが配置されている。
受光部100は受光した光を信号電荷に変換する。この信号電荷の一部は第1電荷転送部30aを介して第1電荷蓄積部20aに送られ、他の一部は第2電荷転送部30bを介して第2電荷蓄積部20bに送られる。
このような構造では、例えば1度の受光で得られた信号(受光信号)を0°の位相成分と180°の位相成分に振り分けることが可能である。
原理的には、1つの受光部に対して3箇所以上に振り分ける構造にして、1度の受光で得られた信号(受光信号)を3つ以上の位相成分に振り分けることも可能ではある。しかしながら、振り分け箇所を増やすと画素領域内、電荷蓄積領域、またはそれに付属する構造体が占める割合が大きくなることで受光部面積が小さくなり、十分な感度が得られなくなる問題が生じるため、振り分け箇所の数を徒に増やすことは好ましくない。
そのため、四相式TOFセンサなど、より多位相の位相信号を取得するTOFセンサでは、しばしば、演算に必要な位相信号の数が撮像素子の各画素の電荷の振り分け先の数(電荷蓄積部の数)よりも多くなる。
このような場合、1フレームにおける信号の取得を、サブフレームと呼ばれる位相信号取得フレームに分けて行なうことで、必要な位相情報の全てを取得する方法が一般的である。
距離演算部では、照射光の変調周波数の値と、撮像素子から送られる各位相信号の信号量を用いてTOF演算を行なう。TOF演算の詳細は後述する。
距離演算部で計算された距離値は出力部から所定の形式で出力される。
図9(a)に示されるTOFセンサ1は、構成要素が全て1つのパッケージに収容されているが、図9(b)に示されるTOFセンサ2のように、投光系及び受光系のみをパッケージに収容し、制御系を例えばPCなどの他のハードウェアで構成しても良い。つまり、「TOFセンサ」は、投光系、受光系及び制御系が一体的に構成されるもののみならず、投光系、受光系及び制御系の少なくとも1つが別体であるものも含む。
まず、代表的なTOF法の測距原理の1つである正弦波変調方式について、図11を用いて説明する。
「正弦波変調方式」とは、受信光を時間的に3つ以上に分割して検出した各位相信号を用いて、照射光の射出タイミングに対する受信光の受光タイミングの遅延時間Tdを位相差角の演算で取得する方法である。図11には、正弦波変調方式(四相式)のTOFセンサによる測定の1フレームの構成内容が示されている。
図11に示されるように、1フレームは、2つのサブフレーム、すなわち0°、180°の位相信号取得フレームと、90°、270°の位相信号取得フレームに分けられる。各サブフレームは、共にreset動作から始まり、読み出し動作で終わる点は共通である。
reset動作では1度読み出し部(電荷蓄積部)にある信号を電気的に吸い上げて、リセットする。2つのサブフレーム間で、照射光のパルス幅T0とパルス周期Tと遅延時間Tdは、変化しない。
ここで、パルス周期Tは、パルス幅とデューティ比で決まり、図11には一例としてデューティ比が50%の場合が示されている。2つのサブフレーム間で大きく異なるのは、TX1信号とTX2信号のタイミングである。
TX1信号、TX2信号は、それぞれ前述のTOF−CMOS内の電荷の振り分け先である2つの電荷蓄積部を電荷蓄積部1、2とした場合に、TX1信号がハイレベルのときに電荷蓄積部1に電荷が振り分けられ、TX2信号がハイレベルのときに電荷蓄積部2に電荷が振り分けられる。
制御部は、0°、180°位相信号取得フレームではTX1信号を照射光と同じタイミングで立ち上げ、TX2信号を照射光の立ち上りから照射光のパルス幅T0だけ遅れたタイミングで立ち上げ、撮像素子に繰り返し送っている。
これに対して、制御部は、90°、270°位相信号取得フレームではTX1信号を照射光の立ち上りからT0/2だけ遅れたタイミングで立ち上げ、TX2信号を照射光の立ち上りよりT0/2だけ早いタイミングで立ち上げ、撮像素子に繰り返し送っている。
各サブフレームには、最後に、2箇所に振り分けられた位相信号を読み出す期間があり、2つのサブフレームで合わせて4つの位相信号(A0、A90、A180、A270)が取得される。2つのサブフレームは1フレーム内の異なる時間帯であるが、1フレーム内の十分に短い間隔で実行されるため,両者の差はほとんど無いものとしてよい。
これら4つの位相信号A0、A90、A180、A270は、それぞれ照射光のパルス周期に対して,時間的に0°、90°、180°、270°の4つの位相に分割された位相信号であるため、次の(1)式を用いて位相差角φを求めることができる。
φ=Arctan{(A90−A270)/(A0−A180)}…(1)
位相差角φを用いて、遅延時間Tdは、次の(2)式から求めることができる。
Td=φ/2π×T(T=2T0、T0:照射光のパルス幅)…(2)
遅延時間Tdを用いて対象物までの距離dは、次の(3)式より求めることができる。
d=Td×c÷2(c:光速)…(3)
以上のような位相差の演算方法から、正弦波変調方式において測定性能を高める理想的な照射光波形はsin波形である。
ところで、TOFセンサでは、位相信号の信号量(電荷量)が測距において非常に重要になる。一般に、TOFセンサでは、取得する各位相信号の信号量(電荷量)が大きいほど測距精度が高くなる。
しかしながら、TOFセンサが使用される環境において、例えば太陽光等の強い光(以下では「環境光」とも呼ぶ)が存在していると、TOFセンサにおいて光源からのパルス光による信号成分(位相信号)に加えて強い環境光による信号成分(以下では「環境光信号成分」とも呼ぶ)が撮像素子で取得され、撮像素子で電荷量の飽和が起きたり、撮像素子に蓄積される電荷の大部分が環境光信号成分の電荷となったりして、測距精度が著しく低下することが懸念される。なお、TOFセンサにおいて蓄積可能な電荷量の上限は、撮像素子の電荷蓄積部の蓄積容量で決まり、電荷量が電荷蓄積部の蓄積容量の上限を超えると、電荷蓄積部で電荷量が飽和する。
このような測距上の問題により、従来のTOFセンサでは環境光のコントロールが容易な屋内での使用に限られてしまうことが懸念される。
以下に、環境光に起因する電荷蓄積部での電荷量の飽和について図12を用いて説明する。図12には、図11に示される正弦波変調方式で測距を行なったときの電荷蓄積の様子が模式的に示されている。
正弦波変調方式ではTOFセンサの光源からのパルス光による受光信号を時間的に0°、90°、180°、270°の4つの位相に分割した位相信号(A0、A90、A180、A270)が取得されるが、これと同時に環境光による信号成分も取得される。このため、各位相信号の電荷が電荷蓄積部に蓄積されるときの該電荷蓄積部における総電荷量は、TOFセンサの光源からのパルス光による信号成分の電荷量と環境光による信号成分の電荷量に分けられる。
図12では、光源からのパルス光による複数の信号成分(位相信号)の電荷量をそれぞれ、S0、S90、S180、S270とし、環境光による信号成分の電荷量を各位相条件で一律にDとしている。これは、環境光による信号成分は1フレームの短時間内では一定強度とみなせるためである。また、図12では、撮像素子の各電荷蓄積部の最大蓄積量(飽和容量)をAmaxとしている。つまり、撮像素子では、いずれかの位相信号がAmaxに達したときに飽和状態となる。
図12(a)は、環境光が弱い場合での電荷蓄積部における電荷蓄積の様子を示したものである。4つの位相信号(S0、S90、S180、S270)が対応する電荷蓄積部に蓄積されるときの該電荷蓄積部における総電荷量は、それぞれA0=S0+D、A90=S90+D、A180=S180+D、A270=S270+Dであり、いずれも飽和状態とはならない。この場合は、上記(1)式を使って位相差角φを求める過程で環境光による信号成分Dはキャンセル(相殺)されるため、正確な測距が可能である。
一方、図12(b)は、環境光が強い場合での電荷蓄積部における電荷蓄積の様子を示したものであるが、90°、180°の位相信号(S90、S180)がそれぞれ対応する2つの電荷蓄積部に蓄積されるときに該2つの電荷蓄積部では電荷量が飽和している。各位相信号が対応する電荷蓄積部に蓄積されるときの該電荷蓄積部における総電荷量は、それぞれA0=S0+D、A90=Amax、A180=Amax、A270=S270+Dとなり、上記(1)式を使って位相差角φを求める過程で環境光による信号成分Dはキャンセルされず、正確な測距ができなくなる点において改善の余地がある。
このような環境光による電荷蓄積部における電荷量の飽和を避けるための対策として、以下のような手法が考えられる。
例えば、測距時の電荷蓄積部における総電荷量に応じて、光源の発光を制御する手法が考えられる。具体的には、測距時の総電荷量を一定の時間間隔でモニタすることで飽和に近いか否かを判定し、前フレームで飽和に近いと判定された場合に、後フレーム(例えば次フレーム)での光源の駆動条件(発光強度や発光回数)を前フレームでの光源の駆動条件から変更する。図13には、この手法を用いたときの電荷蓄積部における電荷蓄積の様子が模式的に示されている。
図13(a)には、電荷量の飽和を避けるため駆動条件変更例1として、光源の発光強度を下げたときの電荷蓄積の様子が示されている。駆動条件変更例1では、光源からのパルス光による信号成分が減少するため電荷量の飽和は回避されるが、該信号成分の減少によって測距精度が低下してしまう。すなわち、トレードオフの問題が生じる。
また、図13(b)は、電荷量の飽和を避けるための駆動条件変更例2として、光源の発光回数、電荷蓄積回数を少なくしたときの電荷蓄積の様子が示されている。駆動条件変更例2では、光源からのパルス光による信号成分と環境光による信号成分が同比率で減少し電荷量の飽和は回避されるが、駆動条件変更例1と同様に測距精度が低下してしまう。
以上を勘案すると、電荷量の飽和と測距精度の低下をいずれも回避するためには、環境光の強度によって、光源の発光強度及び発光回数(電荷蓄積回数)を適切に制御することが必要である。特に、環境光が強い場合には、光源の発光強度を上げつつ、光源の発光回数、電荷蓄積回数を少なくする駆動条件が好適である。
光源の発光強度及び発光回数(電荷蓄積回数)を適切に制御するためには、環境光による信号成分を定量的に求める必要がある。
環境光による信号成分を定量的に求める方法として、図14に示されるように、通常の測距フレームの後に、光源を発光させずに位相信号取得と同様の処理を行う非発光フレームを挿入する方法がある。しかし、このようなフレーム構成を用いると、時間的なロスが生じるため、TOF法の特長である高速性が犠牲になってしまう。
そこで、本実施形態では、以下に詳細に説明するように、測距時に得られる位相信号から環境光による信号成分を定量的に算出し、その算出結果に基づいて光源の駆動条件を設定する。これにより、環境光による信号成分を定量的に検出し、好適な光源の駆動条件を導出でき、強い環境光のもとでも高精度な測距を実現できる。さらに、距離演算に関わる位相信号以外の信号取得時間がないことから、TOF法の特長である高速性を犠牲にすることがない。
以下に、本実施形態における環境光による信号成分を定量的に求める方法を説明する。
ここでは、四相式の正弦波変調方式での測距動作時に得られる4つの位相信号(A0、A90、A180、A270)の少なくとも2つを用いてそれぞれ表される次の(4)式、(5)式によって、位相信号に関する第1の指標Sconf1、第2の指標Sconf2を定義する。
Sconf1=√{(A0−A180)2+(A90−A270)2}・・・(4)
Sconf2=(A0+A180)・・・(5)
なお、第2の指標として、上記(5)式で示されるSconf2に代えて、同じ意味を持つ次の(6)式で示されるSconf2´を用いても良い。さらに、第2の指標として、Sconf2とSconf2´の平均値を用いても良い。
Sconf2´=(A90+A270)・・・(6)
以下、第2の指標をSconf2として説明を進める。
前述と同様に光源からのパルス光による信号成分をそれぞれ、S0、S90、S180、S270とし、環境光信号成分を各位相条件で一律にDとすると、上記(4)式、(5)式は、それぞれ次の(7)式、(8)式となる。
Sconf1=√{(S0−S180)2+(S90−S270)2}・・・(7)
Sconf2=(S0+S180+2D)・・・(8)
上記(7)式、(8)式からわかるように、Sconf1は環境光信号成分Dに依存しない指標であり、Sconf2は環境光信号成分Dに依存する指標である。
図15には、複数の明るさにおける、Dが生じない場合(D=0、図15では2D=0と記載)とDが生じる場合(2D=100)のSconf1とSconf2の関係がグラフにて示されている。
このグラフからわかるように、Sconf1とSconf2の関係は、Dが生じる場合にDが生じない場合から2Dの量だけ平行にシフトしたような振る舞いを見せる。逆に言えば、予めD=0の条件でのSconf1とSconf2の関係を取得しておけば、実際の測距時に毎フレーム取得されるSconf1とSconf2の値よりDの量を定量的に算出することができる。
以下に、本実施形態の距離センサ20の一実施例である距離センサ20Aを、図16を用いて説明する。
距離センサ20Aでは、図16に示されるように、制御系203は、前述した一般的なTOFセンサ1、2と同様の制御部、距離演算部及び出力部に加えて、環境光信号成分算出部、駆動条件設定部を含む。
イメージセンサ29からの複数の位相信号(例えば四相式の正弦波変調方式の場合にA0、A90、A180、A270)は、ADC(アナログデジタルコンバータ)でデジタル信号に変換された後、距離演算部に送られ、上記(1)式〜(3)式を用いて、位相差角φ及び対象物までの距離が算出される。
また、イメージセンサ29から出力されADCでアナログ−デジタル変換された位相信号(デジタル信号)は、距離演算部に送られるのと並行して環境光信号成分算出部に送られる。
環境光信号成分算出部は、イメージセンサ29からの位相信号に基づいて、上述のようにして環境光信号成分Dを定量的に算出し、その算出結果を駆動条件設定部に出力する。詳述すると、イメージセンサ29からの位相信号を用いて上記(7)式及び(8)式でそれぞれ表される指標Sconf1、Sconf2の関係を求め、その関係と、予めメモリに格納されたD=0のときのSconf1、Sconf2の関係を比較して、環境光信号成分Dを算出する。
駆動条件設定部は、環境光信号成分算出部からの環境光信号成分Dに基づいて、次フレームにおける光源21の駆動条件(発光強度及び発光回数)を導出し、その結果を制御部に出力する。この際、環境光信号成分が小さい場合は前フレームの駆動条件を次フレームにも適用し、環境光信号成分が大きい場合は前述の好適な駆動条件(発光強度を上げつつ発光回数を少なくする条件)を算出し、次フレームに適用する。
制御部は、光源21及びイメージセンサ29を制御する。制御部は、距離センサ20Aの立ち上げ直後のフレームでは、予めメモリに格納された初期駆動条件を光源駆動部25に出力して光源21を駆動し、次フレーム以降は、駆動条件設定部で設定された駆動条件を光源駆動部25に出力して光源21を駆動させる。
なお、図17に示される距離センサ20の他の実施例である距離センサ20Bのように、環境光信号成分算出部をイメージセンサ29とADCとの間に接続して、イメージセンサ29からの位相信号(アナログ信号)から、環境光信号成分を定量的に算出しても良い。
以下に、距離センサ20によって実施される測距処理について図18のフローチャートを参照して説明する。
図18の各ステップの説明に先立って、測距処理の概要を説明する。この測距処理では、四相式の正弦波変調方式を用いた測距動作時に得られる4つの位相信号から環境光信号成分Dを求め、該環境光信号成分Dに基づいて、環境光が存在する条件で測距する上で好適な駆動条件を設定する。
前述したように、環境光が強い場合に適した駆動条件は、光源の発光強度を上げつつ、光源の発光回数、電荷蓄積回数を少なくするような駆動方式である。
イメージセンサ29の電荷蓄積部の蓄積容量により決まる位相信号の最大蓄積量Amax(飽和電荷量)を基準として、環境光信号成分Dの目標値及び位相信号(A0、A90、A180、A270)の最大値Amの目標値を設定し、次フレームの駆動条件を制御する。
以下では、環境光信号成分Dの目標値を0.1×Amax、位相信号(A0、A90、A180、A270)の最大値Amの目標値を0.7×Amaxとして説明する。
最初のステップS1では、駆動条件の初期設定を行う。すなわち、距離センサ20の立ち上げ後、最初の駆動条件の設定を行う。ここでの駆動条件とは、パルス幅、フレームレート、フレーム毎の発光回数(電荷蓄積回数)、発光強度等であり、予めメモリに格納されている初期条件が設定される。図18のフローでは、これらの駆動条件のうち発光回数、発光強度を後のステップにおいて最適化する。
次のステップS2では、位相信号の取得を行う。ここでは、四相式の正弦波変調方式での測距動作時に得られる4つの位相信号(A0、A90、A180、A270)を取得する。
次のステップS3では、距離演算を行う。具体的には、ステップS2で取得された4つの位相信号を、上記(1)式、(2)式に代入して受信光の遅延時間Td、該遅延時間Tdを上記(3)式に代入して距離dを算出する。
次のステップS4では、現フレームで測距を終了か否かを判断する。現フレームで測距を終了する場合はフローが終了し、測距を終了しない場合はステップS5に進む。
次のステップS5では、Sconf1、Sconf2を算出する。具体的には、ステップS2で取得された4つの位相信号と、上記(7)式及び上記(8)式を用いてSconf1、Sconf2を算出する。
次のステップS6では、環境光信号成分Dを算出する。具体的には、図19に示されるように、予めD=0の条件で取得されたSconf1とSconf2の関係と、ステップS5で得られたSconf1とSconf2の関係の比較を行なう。
予めD=0の条件で取得されたSconf1とSconf2の関係は定式化しておくことが望ましい。例えば図19の条件では、同じSconf1=300を得るためのSconf2の値は、D=0条件ではSconf2=300であるのに対し、ステップS5で求めた条件ではSconf2=400である。この場合、これらの差(400−300=100)は2Dであるから、D=50が定量値として求められる。
次のステップS7では、環境光信号成分Dが予め設定された目標値よりも大きいか否かを判定する。すなわち、ステップS6で算出されたDの値と、予め設定された目標値(0.1×Amax)の大小関係を判定する。Dが目標値より小さい場合は環境光が十分に弱いと判定でき、Dが目標値より大きい場合は環境光が強いと判定できる。ステップS7での判断が否定されるとステップS2に戻り、現フレームの駆動条件(発光強度及び発光回数)のままで次フレームの位相信号の取得を行う。一方、ステップS7での判断が肯定されるとステップS8に移行する。
ステップS8では、次フレームの測定を行なう前に駆動条件の設定を行う。すなわち、次フレームにおける光源21の発光回数、発光強度を最適化する。その最適化方法を以下に説明する。
ここで、ステップS2の位相信号取得時に用いた光源21の発光回数をN0、発光強度をV0とし、次フレームにおける光源21の発光回数をN1、発光強度をV1とする。
まず、Dが小さくなるように発光回数を設定する。発光回数とDは比例関係であるため、次の(9)式によりN1を設定できる。これにより、Dは目標値の0.1×Amaxとなる一方、このままでは光源21からのパルス光による信号成分も同比率で低下するため測距精度が低下してしまう。
N1=0.1×Amax×N0/D・・・(9)
そこで、発光強度V1を各位相信号の電荷量の飽和が生じない範囲、かつ高測距精度が得られるように設定する。発光強度は、例えば光源21に印加される光源駆動信号の電圧値で決まり、光源21から射出される光の光量と比例関係である。
現フレームの4つの位相信号(A0、A90、A180、A270)の最大値をAmとすると、同位相条件にて、発光回数がN0からN1に、発光強度がV0からV1に変更された場合の光源21からのパルス光による信号成分S1は次の(10)式で表され、同様に環境光による信号成分D1は次の(11)式で表される。また取得される電荷量が最大の位相信号A1mは次の(12)式で表される。
S1=(Am−D)×(N1/N0)×(V1/V0) ・・・(10)
D1=D×(N1/N0)・・・(11)
A1m=S1+D1・・・(12)
上記(10)式〜(12)式より、A1mが0.7×AmaxとなるようなV1は、次の(13)式より算出される。
V1=(0.7×Amax−D1)×N0×(V0/N1)/(Am−D)・・・(13)
上記(9)式、(13)式から求めたN1、V1の駆動条件で次フレームの駆動を行なうことで、光源21からのパルス光による信号成分が最大で飽和電荷量(最大蓄積量)の70%となり、かつ環境光による信号成分が飽和電荷量の10%となる位相信号取得が実現できる。これにより、環境光が生じる場合においても、電荷量の飽和が生じず、かつ、高測距精度が実現できる。
Amは、全画素範囲の全ての位相信号範囲から求めると、全画素において上記の効果が得られる。また予め定められた指定画素の位相信号範囲から求めてもよい。
以上の手法により設定した駆動条件がステップS8において次フレームの駆動条件として設定される。ステップS8が実行されるとステップS2に戻り、次フレームの位相信号の取得を行う。
なお、図18のステップS7での判断が否定された場合に、ステップS2に戻る前に、次フレームにおいて電荷量が最大の位相信号の電荷量が目標値(例えば0.7×Amax)となるように光源21の発光強度を設定するステップを行っても良い。
次に、距離センサ20によって実施される測距処理による定量的な効果を、図20を用いて説明する。図20は、本実施形態の駆動条件制御と他方式の駆動条件制御を比較したものである。
前フレームにおける光源の駆動条件が発光回数100000回、発光強度1Vの駆動条件であり、そのときの各位相信号、環境光信号成分Dは、図20のとおりであった。また、測距の信頼性を示す明るさ指標であるSconf1は高いほど測距精度が高いことを示している。このとき、最大蓄積量Amaxは100である。
この前フレームの駆動条件に対して本実施形態の駆動条件制御を適用した場合、後フレームにおいて発光回数が33333回、発光強度が3.5Vの駆動条件となった。このときSconf1は増加し、かつ電荷量の飽和は生じなかった。
すなわち、本実施形態の駆動条件制御により、環境光が生じる場合においても、電荷量の飽和が生じず、かつ高測距精度が実現できた。
一方、この前フレームの駆動条件に対して、他方式1では発光回数のみを半分にし、他方式2では発光強度のみを半分にすることで電荷量の飽和を避けるようにしているが、過度な駆動条件制御となり、Sconf1が大きく減少してしまった。
以上説明した本実施形態の距離センサ20(距離センサ20Aや距離センサ20B)は、光源21と、該光源21から射出され物体で反射された光を受光して光電変換し、その電気信号を複数の位相信号に分け、該複数の位相信号の電荷をそれぞれ複数の電荷蓄積部に一時的に蓄積させるイメージセンサ29(撮像素子)と、複数の位相信号に基づいて、該物体までの距離を算出する距離演算部(演算部)と、イメージセンサ29に入射する環境光による信号成分の電荷量(環境光の強度)を取得する環境光信号成分算出部(取得部)と、環境光による信号成分の電荷量及び電荷蓄積部の蓄積容量に基づいて光源21の駆動条件を設定する、駆動条件設定部と、光源21を設定された駆動条件で発光させる制御部と、を備えている。なお、「環境光」とは、例えば太陽光、照明光等のセンサを使用する場所(環境)に存在する光を意味する。
この場合、環境光による信号成分の電荷量及び電荷蓄積部の蓄積容量に基づいて光源21の駆動条件が設定されるため、環境光による信号成分によらず、測距精度の低下を抑制しつつ電荷蓄積部で電荷量が飽和しないように光源21を駆動することができる。この結果、物体までの距離を安定して精度良く測定することができる。
また、駆動条件設定部は、一のフレームにおいて取得された環境光による信号成分の電荷量が所定値(例えば0.1×Amax)を超える場合に、一のフレームより時間的に後の別のフレーム(例えば次フレームや、該次フレームより後のフレーム)における発光強度(光源駆動信号のパルス振幅)を一のフレームにおける発光強度よりも大きくし、かつ別のフレームにおける発光回数を一のフレームにおける発光回数よりも少なくすることが好ましい。
この場合、測距精度の低下を抑制するために、別のフレームにおける発光強度を一のフレームにおける発光強度よりも大きくすることに代えて又は加えて、別のフレームにおける発光時間(光源駆動信号のパルス幅)を一のフレームにおける発光時間よりも短くしても良い。
また、駆動条件設定部は、一のフレームにおいて取得された環境光による信号成分の電荷量が所定値(例えば0.1×Amax)以下の場合に、一のフレームより時間的に後の別のフレーム(例えば次フレームや、該次フレームより後のフレーム)における発光強度及び発光回数をそれぞれ一のフレームにおける発光強度及び発光回数から変更しないことが好ましい。
この場合、例えば一のフレームにおいて取得された環境光による信号成分の電荷量が、一のフレームにおける発光強度(測距精度を十分に確保できる大きさ)及び発光回数で電荷量の飽和が発生しない程度の大きさの場合には、別のフレームにおいて発光強度及び発光回数を変更する必要性が低く、また変更しないことで制御を簡略化できる。
なお、駆動条件設定部は、一のフレームにおいて取得された環境光による信号成分の電荷量が所定値以下の場合に、一のフレームより時間的に後の別のフレームにおける発光強度及び発光回数の少なくとも一方を一のフレームにおける該少なくとも一方から変更しても良い。
また、一のフレームと別のフレームは、時間的に隣接していることが好ましい。この場合、最新の環境光による信号成分の電荷量及び光源21の駆動条件に基づいて、別のフレームにおける光源21の駆動条件を設定することができる。この結果、測距精度を向上できる。
なお、一のフレームと別のフレームは、時間的に隣接していなくても良い。例えば、一のフレームと、該一のフレームより複数フレーム後の別のフレームとの間で環境光による信号成分の電荷量の変化が比較的小さい場合には、測距精度を安定して向上できる。
また、駆動条件設定部は、一のフレームにおいて取得された環境光による信号成分の電荷量に基づいて(特に該電荷量が目標値(例えば0.1×Amax)を超える場合に)、別のフレームにおいて取得される環境光による信号成分の電荷量が該目標値となるように光源21の発光回数を設定することが好ましい。
この場合、別のフレームにおいて取得される環境光による信号成分の電荷量を適切な大きさにすることができ、測距精度の低下及び電荷量の飽和を抑制できる。
また、駆動条件設定部は、一のフレームにおいて取得された環境光による信号成分の電荷量に基づいて(特に該電荷量が目標値(例えば0.1×Amax)を超える場合に)、別のフレームにおいて取得される複数の位相信号のうち電荷量が最大の位相信号の電荷量が別の目標値(例えば0.7×Amax)となるように光源21の発光強度を設定することが好ましい。
この場合、別のフレームにおいて取得される、電荷量が最大の位相信号の電荷量を適切な大きさにすることができ、測距精度の低下及び電荷量の飽和を抑制できる。
また、駆動条件設定部は、別のフレームで取得される環境光による信号成分の電荷量が電荷蓄積部の蓄積容量の40%以下(より好ましくは30%以下、更に好ましくは10%以下)となり、かつ別のフレームにおいて取得される複数の位相信号のうち電荷量が最大の位相信号の電荷量が蓄積容量の60%以上(より好ましくは70%以上、更に好ましくは90%以上)、かつ環境光による信号成分の電荷量と電荷量が最大の位相信号の電荷量の和が電荷蓄積部の蓄積容量以下となるように、別のフレームにおける光源21の発光強度及び発光回数を設定することが好ましい。この場合、測距精度の低下及び電荷量の飽和を抑制することを高次元で両立できる。
また、環境光信号成分算出部は、一のフレームにおいて取得された複数の位相信号を用いて環境光による信号成分の電荷量を取得することが好ましい。この場合、例えば1フレームを発光フレーム(測距フレーム)と非発光フレームで構成する場合に比べて、1フレームのフレーム構成を簡略化でき、ひいては1フレームの測距時間の短縮化、すなわち測距の高速化を図ることができる。
なお、例えば距離センサの使用目的、使用環境等において測距の高速化がそれほど重要視されない場合には、1フレームに発光フレームに加えて非発光フレームを導入しても良い。
また、環境光信号成分算出部は、環境光による信号成分の電荷量に依存しない、位相信号に関する第1の指標と、環境光による信号成分の電荷量に依存する、位相信号に関する第2の指標とに基づいて、環境光による信号成分の電荷量を算出することが好ましい。この場合、第1及び第2の指標に基づいた分析を行うことで、環境光による信号成分を定量的に算出することができる。
また、イメージセンサ29は、受光した光が光電変換された電気信号を4つの位相信号(A0、A90、A180、A270)に分け、環境光信号成分算出部は、第1の指標を、上記(4)式から得られるSconf1とし、第2の指標を、上記(5)式から得られるSconf2、上記(6)式から得られるSconf2´、又はSconf2とSconf2´の平均値とすることが好ましい。
また、本実施形態の距離センサ20(距離センサ20Aや距離センサ20B)を有する走行体1(移動体)によれば、測距対象の物体に対する位置制御性(例えば衝突安全性)に優れる。
また、本実施形態の光源駆動条件設定方法は、TOF法による測距に用いられる光源の駆動条件を設定する光源駆動条件設定方法であって、少なくとも環境光を受光部で受光して光電変換し、その電気信号を複数の信号に分け、該複数の信号の電荷をそれぞれ複数の電荷蓄積部に一時的に蓄積させる工程と、該信号に基づいて、環境光による信号成分の電荷量を取得する工程と、環境光による信号成分の電荷量及び電荷蓄積部の蓄積容量に基づいて光源21の駆動条件を設定する工程と、を含む。
この場合、環境光による信号成分の電荷量及び電荷蓄積部の蓄積容量に基づいて光源21の駆動条件が設定されるため、環境光による信号成分によらず、測距精度の低下を抑制しつつ電荷蓄積部で電荷量が飽和しないように光源21を駆動することができる。この結果、TOF法による測距を安定して精度良く行うことができる。
また、上記蓄積させる工程に先立って、光源21を発光させる工程を更に含み、上記蓄積させる工程では、環境光に加えて、光源21から射出され物体で反射された光を受光部で受光して光電変換し、その電気信号を複数の信号に分け、該複数の信号の電荷をそれぞれ複数の電荷蓄積部に一時的に蓄積させることが好ましい。
この場合、光源21を発光させる工程において取得される、環境光による信号成分及び光源21からのパルス光による信号成分(位相信号)を含む信号の電荷量に基づいて、環境光による信号成分の電荷量を取得することができる。この結果、非発光フレームを含むフレーム構成で環境光信号成分を取得する場合に比べて、簡素なフレーム構成で環境光信号成分を取得することができ、ひいては測距を高速化できる。
また、本実施形態の測距方法は、TOFによる測距方法であって、少なくとも環境光を受光部で受光して光電変換し、その電気信号を複数の信号に分け、該複数の信号の電荷をそれぞれ複数の電荷蓄積部に一時的に蓄積させる第1の蓄積工程と、該信号に基づいて、環境光による信号成分の電荷量を取得する工程と、環境光による信号成分の電荷量及び電荷蓄積部の蓄積容量に基づいて光源21の駆動条件を設定する工程と、光源21を設定された駆動条件で発光させる工程と、環境光に加えて、光源から射出され物体で反射された光を受光部で受光して光電変換し、その電気信号を複数の信号に分け、該複数の信号の電荷をそれぞれ前記複数の電荷蓄積部に一時的に蓄積させる第2の蓄積工程と、該複数の信号に基づいて、物体までの距離を算出する工程と、を含む。
この場合、環境光による信号成分の電荷量及び電荷蓄積部の蓄積容量に基づいて光源21の駆動条件が設定されるため、環境光による信号成分によらず、測距精度の低下を抑制しつつ電荷蓄積部で電荷量が飽和しないように光源21を駆動することができる。この結果、物体までの距離を安定して精度良く測定することができる。
また、第1の蓄積工程に先立って、光源21を発光させる工程を更に含み、第1の蓄積工程では、環境光に加えて、該発光させる工程で光源21から射出され物体で反射された光を受光部で受光して光電変換し、その電気信号を複数の信号に分け、該複数の信号の電荷をそれぞれ複数の電荷蓄積部に一時的に蓄積させることが好ましい。
この場合、光源21を発光させる工程において取得される、環境光による信号成分及び光源21からのパルス光による信号成分(位相信号)を含む信号の電荷量に基づいて、環境光による信号成分の電荷量を取得することができる。この結果、非発光フレームを含むフレーム構成で環境光信号成分を取得する場合に比べて、簡素なフレーム構成で環境光信号成分を取得することができ、ひいては測距を高速化できる。
なお、図9に示される一般的なTOFセンサと同様に、距離センサ20Aや距離センサ20Bも投光系、受光系及び制御系が一体であっても良いし、投光系、受光系及び制御系の少なくとも1つが別体であっても良い。例えば、制御系は、パーソナルコンピュータ等の外部機器とすることもできる。
なお、上記実施形態では、投光系が非走査型であるが、光偏向器(例えばポリゴンミラー、ガルバノミラー、MEMSミラー等)を含む走査型であっても良い。この場合、例えば、一方向に配列された複数の発光部(ライン光源)からそれぞれ射出された複数の光を、発光部の配列方向に非平行な方向(例えば垂直な方向)に走査して、複数の発光部に対応して該配列方向に平行に配列された複数の受光部(ラインイメージセンサ)で受光し、距離画像を生成しても良い。また、単一の発光部からの光を光偏向手段で2次元走査して、物体からの反射光をエリアイメージセンサで受光し、距離画像を生成しても良い。
また、上記実施形態では、本発明の測距装置の一例である距離センサ20を走行体1に用いられる場合について説明したが、これに限定されるものではない。例えば、距離センサ20を、走行体1以外の移動体(例えば乗用車、船舶、有人航空機、無人航空機(例えばドローン)等)、監視カメラ、物体の3次元形状を計測する3次元計測装置、距離センサ20が自身の位置を確認しながら自律的に移動するロボット等に用いても良い。
距離センサ20を有する監視カメラによれば、監視対象物のモニタ画像を安定して精度良く取得することができる。
距離センサ20を有する3次元計測装置によれば、計測対象物の3次元情報を安定して精度良く計測することができる。
距離センサ20を有するロボットによれば、周囲の物体に対する安定した高精度な自律移動(接近動作や離間動作や平行移動)を可能とすることができる。
上記実施形態では、単一のLED(発光部)から成る光源をパルス発光させ、物体からの反射光をエリアイメージセンサで受光する場合について説明したが、これに限定されるものではない。
例えば、2次元配列された複数の発光部を順次パルス点灯させ、各発光部から射出され物体で反射された光を単一の受光部で順次受光して距離画像を生成しても良い。
例えば、2次元配列された複数の発光部を同時にパルス発光させ、複数の発光部から射出され物体で反射された複数の光を2次元配列された複数の受光部でそれぞれ同時に受光して距離画像を生成しても良い。
また、例えば、物体の3次元情報(距離画像)ではなく、単にある物体までの距離を測定する場合には、投光系の発光部及び受光系の受光部は、いずれも単数であっても良い。
また、上記実施形態において、制御系203での処理の一部を位置制御装置40が行っても良いし、位置制御装置40での処理の一部を制御系203が行っても良い。
また、上記実施形態では、走行管理装置10が1つの距離センサ20を備える場合について説明したが、これに限定されるものではない。走行体の大きさ、測定領域などに応じて、複数の距離センサ20を備えても良い。
また、上記実施形態では、距離センサ20が走行体の進行方向を監視する走行管理装置10に用いられる場合について説明したが、これに限定されるものではない。例えば、走行体の後方や側面を監視する装置に用いられても良い。
以上の説明から分かるように、本発明の測距装置、光源駆動条件設定方法及び測距方法は、間接TOF法を利用した測距技術全般に広く適用することが可能である。
すなわち、本発明の測距装置、光源駆動条件設定方法及び測距方法は、物体の2次元情報の取得や、物体の有無の検出にも用いることができる。
また、上記実施形態の説明で用いた数値、形状等は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
以下に、発明者らが上記実施形態を発案するに至った思考プロセスを説明する。
3次元センサの一つに、強度変調した参照光を投射し、被写体で反射してセンサに戻ってくるまでの時間を検出して距離を求める、いわゆる“TOF(Time of Flight)センサ”が既に知られており、種々ある3次元センシング方式の中でもその高速性の原理的優位性から、昨今さまざまな用途への開発が進められている。
ところで、TOFセンサでの測距に際して、太陽光等の強い環境光が存在していると、光源からのパルス光以外の信号成分が取得され、信号飽和が起きたり蓄積信号の大部分が環境光となり、測距精度が低下することがある。このため、従来のTOFセンサは環境光のコントロールが容易な屋内での使用に限られてしまう場合がある。
環境光による信号飽和を避けるための対策として、従来、以下に列挙する様々な手法が用いられているが、いずれも改善すべき点がある。
測距時の信号量を一定の時間間隔でモニタすることで信号飽和に近いかどうかを判定し、次フレームから駆動条件を変更する手法がある。しかし、この手法では、環境光による信号成分を定量的に検出していないため好適な駆動条件が導出できない。
環境光による信号成分を定量的に検出する代表的な手法として、光源非発光時の電荷蓄積量から検知する手法がある。しかし、この手法では、測距演算に関わる位相信号以外の信号取得を行うことで時間的なロスが生じる。
環境光による信号成分を何らかの手法で予測し、予測量を測距時の信号量から除去する手法がある。しかし、この手法では、信号飽和の緩和に対しては効果があるものの、光源からのパルス光による位相信号は一定量に限定されるため、強い環境光のもとで測距精度が低下することが懸念される。
また、特許文献1(特開2007−248227号公報)には、環境光の影響を低減してTOF法に基づく測距を実現することを目的として、光源非発光時の電荷蓄積量又は各位相信号における電荷蓄積量の最小値に基づいて環境光信号成分を検知し、光源発光時の位相信号から環境光信号成分を除去する方式が開示されている。
しかし、特許文献1では、光源非発光時の電荷蓄積量に基づいて環境光信号成分を検知する際、前述した測距演算に関わる位相信号以外の信号取得を行うため、時間的なロスが生じる。
また、特許文献1のように、光源発光時の位相信号から環境光信号成分を除去する場合、信号飽和の緩和に対しては効果があるものの、光源からのパルス光による位相信号は一定量に限定されるため、強い環境光のもとで測距精度が低下することが懸念される。
そこで、発明者らは、以上のような改善すべき点を鋭意検討した結果、上記実施形態を発案するに至った。
具体的には、上記実施形態では、環境光信号成分を定量的に算出し、環境光信号成分が所定値以上である場合、後フレーム(例えば次フレーム)の好適な駆動条件を導出するため、電荷量の飽和と測距精度の低下を抑制できる。すなわち、物体までの距離を安定して精度良く測定することができる。
より詳細には、上記実施形態では、環境光信号成分が所定値を超える場合、後フレーム(例えば次フレーム)における環境光信号成分が所定値となるように光源の発光回数を決定し、次フレームにおける最大の位相信号が別の所定値となるように光源の発光強度を決定するため、電荷量の飽和と測距精度の低下を抑制できる。
また、測距演算に関わる位相信号から、環境光信号成分に依存しない、測距演算に用いられる位相信号に関する第1の指標と環境光信号成分に依存する、測距演算に用いられる位相信号に関する第2の指標を定義し、第1及び第2の指標の関係から環境光信号成分を算出するため、別の信号取得時間を必要としない。すなわち、測距の高速性を実現できる。