【実施例】
【0021】
以下、図面を参照して本発明の好適な実施例について説明する。
【0022】
[構成]
図1は、本発明の光制御装置の実施例に係るライダユニット100の構成を示すブロック図である。実施例のライダユニット100は、車両などの移動体に搭載される。ライダユニット100は、TOF(Time Of Flight)方式のライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)であって、水平方向の全方位における物体(対象物)の測距を行う。図示のように、ライダユニット100は、送受光部1と、信号処理部2と、全方位走査部3と、走査角度制御部4と、走査角度検出部5と、姿勢角度検出部6とを備える。
【0023】
送受光部1は、レーザダイオードなどを備え、レーザパルスPLを生成して全方位走査部3に供給する。全方位走査部3は、出射方向を垂直方向に変化させつつ、水平方向の360°の全方位にレーザパルス(以下、「送信光パルスPt」とも呼ぶ。)を出射する。このとき、全方位走査部3は、水平方向の360°の全方位を等角度により区切ったセグメント(本実施例では900セグメント)ごとに送信光パルスPtを出射する。さらに、全方位走査部3は、送信光パルスPt出射後の所定期間内に当該送信光パルスPtの反射光(以下、「受信光パルスPr」とも呼ぶ。)を受光し、送受光部1へ供給する。送受光部1は、受信光パルスPrに基づいて、セグメントごとの受光強度に関する信号(以下、「セグメント信号Sseg」とも呼ぶ。)を生成し、信号処理部2へ出力する。
【0024】
走査角度検出部5は、全方位走査部3が出射する送信光パルスPtの出射方向を示す水平角度θ及び垂直角度φを検出し、信号処理部2へ供給する。
【0025】
姿勢角度検出部6は、例えば車両に取り付けられたセンサであり、ライダユニット100が搭載された車両の姿勢を検出する。具体的には、姿勢角度検出部6は、外部(道路)環境によって生じる車両の傾斜を検出し、傾斜を示す傾斜推定値として、車両の傾斜している方向の角度(以下、「傾斜方向」と呼ぶ。)θ
dirと、車両の傾斜している角度(以下、「傾斜角度」と呼ぶ。)φ
tiltを検出して信号処理部2へ供給する。なお、ここでいう車両の傾斜は、ライダユニット100を車両に取り付けた際に生じる傾斜(取付誤差)を意味するものではない。もしくは、姿勢角度制御部6は、車両のピッチング運動を検出し、ピッチング運動を示すピッチング運動推定値として、ピッチング運動の方向θ
dir、周波数f
pitch、振幅φ
pitch、ピッチング運動のフレーム時間に対する位相ずれp
pitchなどを検出して信号処理部2へ供給する。なお、姿勢角度検出部6として、車両にセンサを取り付ける代わりに全方位走査部3にセンサを取り付け、全方位走査部3自体の傾斜を検出するようにしてもよい。
【0026】
信号処理部2は、送受光部1から受信したセグメントごとのセグメント信号Ssegに基づいて、対象物までの距離又は対象物の角度の少なくとも一方を含む周辺環境情報を出力する。周辺環境情報は、ライダユニット100が搭載された車両の周辺環境を示す情報であり、具体的には、車両を中心とする全方位に存在する対象物の距離及び角度を示す情報である。
【0027】
信号処理部2は、走査角度検出部5により検出された水平角度θ及び垂直角度φに基づいて、制御目標としての目標水平角度θ
x及び目標垂直角度φ
xを生成し、走査角度制御部4へ供給する。走査角度制御部4は、信号処理部2から供給された目標水平角度θ
x及び目標垂直角度φ
xに基づいて全方位走査部3による送信光パルスPtの走査角度を制御する。これにより、全方位走査部3は、目標水平角度θ
x及び目標垂直角度φに送信光パルスPtを出射するように制御される。
【0028】
なお、姿勢角度検出部6が車両の傾斜又はピッチング運動を検出した場合には、信号処理部2は、走査角度検出部5が検出した走査角度θと、姿勢角度検出部6が検出した傾斜推定値又はピッチング運動推定値とに基づいて、車両の傾斜又はピッチング運動による走査角度の変動分を補正した後の垂直角度(以下、「補正垂直角度」と呼ぶ。)φを生成し、これを目標垂直角度φ
xとして走査角度制御部4へ供給する。よって、走査角度制御部4は、車両の傾斜又はピッチング運動による影響を補正するように送信光パルスPtの走査角度を制御することができる。
【0029】
次に、送受光部1について詳しく説明する。送受光部1の構成を
図2に示す。送受光部1は、主に、水晶発振器10と、同期制御部11と、LDドライバ12と、レーザダイオード(LD)13と、受光素子16と、電流電圧変換回路(トランスインピーダンスアンプ)17と、A/Dコンバータ18と、セグメンテータ19とを有する。
【0030】
水晶発振器10は、同期制御部11及びA/Dコンバータ18にパルス状のクロック信号S1を出力する。本実施例では、一例としてクロック周波数は、1.8GHzであるものとする。また、以後では、クロック信号S1が示すクロックを「サンプルクロック」とも呼ぶ。
【0031】
同期制御部11は、パルス状の信号(以下、「トリガ信号S2」と呼ぶ。)をLDドライバ12に出力する。本実施例では、トリガ信号S2は、131072(=2
17)サンプルクロック分の周期で周期的にアサートされる。以後では、トリガ信号S2がアサートされてから次にアサートされるまでの期間を「セグメント期間」とも呼ぶ。また、同期制御部11は、後述するセグメンテータ19がA/Dコンバータ18の出力を抽出するタイミングを定める信号(以下、「セグメント抽出信号S3」と呼ぶ。)をセグメンテータ19に出力する。トリガ信号S2及びセグメント抽出信号S3は論理信号であり、後述する
図3に示すように同期している。本実施例では、同期制御部11は、セグメント抽出信号S3を、2048サンプルクロック分の時間幅(「ゲート幅Wg」とも呼ぶ。)だけアサートする。
【0032】
LDドライバ12は、同期制御部11から入力されるトリガ信号S2に同期してパルス電流をレーザダイオード13へ流す。レーザダイオード13は、例えば赤外(905nm)パルスレーザであって、LDドライバ12から供給されるパルス電流に基づき光パルスを出射する。本実施例では、レーザダイオード13は、5nsec程度の光パルスを出射する。
【0033】
レーザダイオード13から出射された光パルスは、光学系を経由して全方位走査部3へ送られる。全方位走査部3は送信光パルスPtを出射するとともに、対象物で反射された光パルスを受信光パルスPrとして受信し、受光素子16へ送る。
【0034】
受光素子16は、例えば、アバランシェフォトダイオードであり、全方位走査部3により導かれた受信光パルスPrの光量に応じた微弱電流を生成する。受光素子16は、生成した微弱電流を、電流電圧変換回路17へ供給する。電流電圧変換回路17は、受光素子16から供給された微弱電流を増幅して電圧信号に変換し、変換した電圧信号をA/Dコンバータ18へ入力する。
【0035】
A/Dコンバータ18は、水晶発振器10から供給されるクロック信号S1に基づき、電流電圧変換回路17から供給される電圧信号をデジタル信号に変換し、変換したデジタル信号をセグメンテータ19に供給する。以後では、A/Dコンバータ18が1クロックごとに生成するデジタル信号を「サンプル」とも呼ぶ。
【0036】
セグメンテータ19は、セグメント抽出信号S3がアサートされているゲート幅Wg分の期間における2048サンプルクロック分のA/Dコンバータ18の出力であるデジタル信号を、セグメント信号Ssegとして生成する。セグメンテータ19は、生成したセグメント信号Ssegを信号処理部2へ供給する。
【0037】
図3は、トリガ信号S2及びセグメント抽出信号S3の時系列での波形を示す。
図3に示すように、本実施例では、トリガ信号S2がアサートされる1周期分の期間であるセグメント期間は、131072サンプルクロック(図面では「smpclk」と表記)分の長さに設定され、トリガ信号S2のパルス幅は64サンプルクロック分の長さ、ゲート幅Wgは2048サンプルクロック分の長さに設定されている。
【0038】
この場合、トリガ信号S2がアサートされた後のゲート幅Wgの期間だけセグメント抽出信号S3がアサートされているため、セグメンテータ19は、トリガ信号S2がアサート中の2048個分のA/Dコンバータ18が出力するサンプルを抽出することになる。そして、ゲート幅Wgが長いほど、ライダユニット100からの最大測距距離(測距限界距離)が長くなる。
【0039】
次に、全方位走査部3について詳しく説明する。全方位走査部3は、例えば360°に送信光パルスPtを走査するための回転可能なミラー及び光学系などにより構成される。全方位走査部3が周辺環境に対して光パルスを送受信する方向(以下、「出射方向」とも呼ぶ。)は、水平角度θ及び垂直角度φにより決定される。
図4は、全方位走査部3による走査状態の例を示す。
図4(A)は、全方位走査部3が水平走査している状態を示す斜視図である。
図4(B)は、全方位走査部3の走査状態を上方から見た平面図である。予め決められた水平基準軸に対して、光パルスが水平角度θで走査されている。水平角度θは、水平基準軸を基準として360°([deg])変化する。即ち、光パルスは全方位(0°〜360°)を走査できる。
図4(C)は、全方位走査部3が
図3(A)に示す水平走査状態よりも上方を走査している状態を示す。具体的に、全方位走査部3は、垂直基準軸を基準として、光パルスを垂直角度φで走査している。このように、全方位走査部3は、水平方向及び垂直方向の角度を連続的に変化させることにより、3次元の走査が可能となっている。
【0040】
上記の構成において、送受光部1は本発明における出射部及び受光部の一例であり、姿勢角度検出部6は本発明における取得部の一例であり、信号処理部2、全方位走査部3及び走査角度制御部4は本発明における制御部の一例であり、信号処理部2は本発明における検出部の一例である。
【0041】
[走査制御]
(螺旋走査)
次に、全方位走査部3による走査について説明する。全方位走査部3は、垂直方向に複数層の走査を行う。具体的に、本実施例では、全方位走査部3は、垂直方向に7層(層数n=7)の螺旋走査を行う。
【0042】
図5は、螺旋走査の軌跡を示す。
図5(A)は螺旋走査による軌跡の斜視図であり、
図5(B)は螺旋走査による軌跡の平面図であり、
図5(C)は螺旋走査による軌跡の側面図である。なお、
図5は、全方位走査部3の走査により、送信光パルスPtの出射方向における、ある距離の一点が作る軌跡を示している。言い換えると、
図5は、全方位走査部3により出射される送信光パルスPtが、空間における所定の半径の球面上で描く軌跡を示している。
【0043】
図示のように、全方位走査部3による1回(1フレーム)の螺旋走査は、開始点Sから7層(7巻き)の螺旋状の旋回を経て終了点Eに至り、その後、開始点Sへ戻る。全方位走査部3は、この螺旋走査を繰り返す。具体的に、1フレームの螺旋走査中に、水平角度θは、0°〜360°までの変化を7回繰り返す。その間に、垂直角度φは、開始点Sにおける垂直角度−φ
0から終了点Eにおける垂直角度φ
0へと一定の変化率で変化する。なお、送信光パルスPtの出射方向が終了点Eから開始点Sへ戻る間を「帰線範囲」と呼ぶ。帰線範囲は、螺旋走査を繰り返すために送信光パルスPtの出射方向を所定の方向に戻すための範囲である。
【0044】
次に、走査視野について説明する。
図6(A)は螺旋走査の水平視野を示す。本実施例では、全方位360°のうち、帰線範囲を90°とし、残りの270°を「有効水平視野角度範囲θt」とする。即ち、θt=270°である。有効水平視野角度範囲とは、全方位360°から帰線範囲を除いた範囲であり、受信光パルスPrから有効なセグメントデータを取得できる範囲である。いま、全方位走査部3による360°の走査が900セグメントに相当するものとすると、
1巻き当たりのセグメント数=900
となる。また、水平角度分解能Δθは、
Δθ=360/900=0.4°/seg
となる。
【0045】
図6(B)は、螺旋走査の垂直視野を示す。螺旋走査の層数(巻き数)をn(=7)とし、1層の垂直角度分解能がΔφ=5°であるとすると、
垂直視野角度範囲=(n−1)×Δφ=30°
となり、垂直角度φは、−15°≦φ≦15°の範囲で変化することとなる。螺旋走査において、仮に垂直角度φを負側から正側へ変化させるとすると、時刻t=0において、垂直角度φ=−φ
0=−15°となる。
【0046】
次に、上記の螺旋走査による水平角度θ及び垂直角度φの値について説明する。いま、全方位走査部3が下記の仕様の螺旋走査を行うものとする。
・層数:n=7
・フレームレート:f
frame=25Hz
・垂直視野下限:φ
L=−10°
・垂直視野上限:φ
H=+10°
・帰線開始水平角度(有効水平視野角度範囲):θ’t=270°+360°×(7−1)=2430°
・帰線終了水平角度:360°
このとき、走査角速度ω、水平角度θ、水平走査角度(フレーム内累積)θ’、垂直角度φは以下の式で与えられる。なお、t:時間、g(θ’):帰線を表現する関数、mod:剰余関数である。
【0047】
【数1】
図7は、車両の傾斜やピッチング運動が生じていない場合の螺旋走査の軌跡の例を示す。
図7(A)は上記の螺旋走査の斜視図であり、
図7(B)はXY平面図であり、
図7(C)はXZ平面図であり、
図7(D)はYZ平面図である。
【0048】
(適応螺旋走査)
次に、車両に傾斜やピッチング運動が生じている場合に行われる適応螺旋走査について説明する。
【0049】
(i)第1実施例
第1実施例は、車両が傾斜している場合の適応螺旋走査に関する。いま、上記の螺旋走査を行うライダユニット100が車両に搭載されているものとする。このとき、ピッチングやローリングなどの車体振動や路面の起伏の影響によって車体が傾斜した場合、車両に搭載された全方位走査部3も同様に傾斜してしまう。
【0050】
具体的に、
図8(A)に示すように車両Vに傾斜が生じていない場合には、
図8(B)に示すようにライダユニット100は全方位走査部3から出射される光ビームにより、低位置の対象物OB
Lと高位置の対象物OB
Hを検出することができる。しかし、
図8(C)に示すように車両Vが下方に傾斜している場合には、
図8(D)に示すように、ライダユニット100は光ビームにより低位置の対象物OB
Lを検出することはできるが、高位置の対象物OB
Hを検出することはできない。なお、図示していないが、逆に車両Vが上方に傾斜している場合には、ライダユニット100は高位置の対象物OB
Hを検出することはできるが、低位置の対象物OB
Lを検出することはできなくなる。
【0051】
そこで、車両Vが傾斜している場合には、その方向及び角度に応じて、全方位走査部3が出射する光ビームの垂直角度を補正する。例えば、
図9(A)に示すように車両Vが下方に傾斜している場合には、
図9(B)の矢印Xに示すように、全方位走査部3から出射される光ビームを標準の出射方向よりも上方へ向ける補正を行う。
図9(C)は車両Vに傾斜が生じていない場合の螺旋走査の軌跡を示す。これに対し、車両Vが下方に角度φcだけ傾斜している場合には、
図9(D)に示すように全方位走査部3は螺旋走査の垂直角度を角度φc上方に変更する。即ち、全方位走査部3は、螺旋走査の水平基準軸V
0を角度φc上方へ向ける。これにより、車両Vが傾斜している場合でも、ライダユニット100は低位置の対象物OB
Lと高位置の対象物OB
Hを正しく検出することができるようになる。
【0052】
次に、上記の補正の具体的な処理について説明する。
図1を参照すると、姿勢角度検出部6は、車両の傾斜を検出する。車両の傾斜は、水平面内における車両が傾斜している方向を示す傾斜方向θ
dirと、垂直面内における車両が傾斜している角度である傾斜角度φ
tiltにより示される。そして、信号処理部2は、姿勢角度検出部6から供給された傾斜方向θ
dirと傾斜角度φ
tiltに基づいて、下記の式(2)により、補正垂直角度φを算出する。式(2)は、φ
tilt<30°のような傾斜角度が小さい範囲で成立する近似式であり、補正垂直角度φを、水平走査角度θ’の単純な関数として表現できているため、制御の実装に適している。
【0053】
【数2】
そして、信号処理部2は、算出した補正垂直角度φを、目標垂直角度φ
xとして走査角度制御部4に供給する。走査角度制御部4は、入力された目標垂直角度φ
xに基づいて、送信光パルスPtの垂直角度を制御する。こうして、車両の傾斜による螺旋走査範囲の変動を正しく補正することができる。
【0054】
図10は、傾斜方向θ
dir=0°、傾斜角度φ
tilt=3°の場合の螺旋走査の軌跡の例を示す。なお、傾斜角度φtiltは、水平方向を基準として上方を正、下方を負で示すものとする。
図10(A)は補正後の螺旋走査の斜視図であり、
図10(B)はXY平面図であり、
図10(C)はXZ平面図であり、
図10(D)はYZ平面図である。
【0055】
図11は、傾斜方向θ
dir=45°、傾斜角度φ
tilt=3°の場合の螺旋走査の軌跡の例を示す。
図11(A)は補正後の螺旋走査の斜視図であり、
図11(B)はXY平面図であり、
図11(C)はXZ平面図であり、
図11(D)はYZ平面図である。
【0056】
図12は、傾斜方向θ
dir=0°、傾斜角度φ
tilt=12°の場合の螺旋走査の軌跡の例を示す。
図12(A)は補正後の螺旋走査の斜視図であり、
図12(B)はXY平面図であり、
図12(C)はXZ平面図であり、
図12(D)はYZ平面図である。
【0057】
図13は、傾斜方向θ
dir=45°、傾斜角度φ
tilt=12°の場合の螺旋走査の軌跡の例を示す。
図13(A)は補正後の螺旋走査の斜視図であり、
図13(B)はXY平面図であり、
図13(C)はXZ平面図であり、
図13(D)はYZ平面図である。
【0058】
次に、上記の適応螺旋走査の処理について説明する。
図14は、第1実施例の適応螺旋走査のフローチャートである。まず、姿勢角度検出部6は、車両の傾斜を検出する(ステップS11)。次に、姿勢角度検出部6は、車両の傾斜方向θ
dirと傾斜角度φ
tiltを推定する(ステップS12)。検出された傾斜方向θ
dirと傾斜角度φ
tilt(以下、「傾斜推定値」と呼ぶ。)は、傾斜推定値として信号処理部2に送られる。
【0059】
信号処理部2は、走査角度検出部5が検出した垂直角度θと、姿勢角度検出部6が検出した傾斜推定値とに基づいて、式(2)により補正垂直角度φを計算する(ステップS13)。計算された補正垂直角度φは、目標垂直角度φ
xとして走査角度制御部4へ送られる。そして、走査角度制御部4は、目標垂直角度φ
xに基づいて、送信光パルスPrの垂直角度φを制御する(ステップS14)。
【0060】
(ii)第2実施例
第2実施例は、車両がピッチング運動している場合の適応螺旋走査に関する。
図15に模式的に示すように、走行している路面の状況などに起因して、車両Vにはピッチ方向への変動であるピッチング運動が生じることがある。ピッチング運動によっても、全方向走査部3から出射される光ビームの方向が変動する。よって、第2実施例では、ライダユニット100は、車両Vのピッチング運動を検出し、これに応じて全方位走査部3が出射する光ビームの垂直角度を補正する。
【0061】
具体的には、
図1を参照すると、姿勢角度検出部6は、車両のピッチング運動を検出する。車両のピッチング運動は、ピッチング運動の方向θ
dirと、周波数f
pitchと、振幅φ
pitchと、ピッチング運動のフレーム時間に対する位相ずれp
pitchとにより示される。信号処理部2は、姿勢角度検出部6から供給されたこれらの値に基づいて、下記の式(3)により、補正垂直角度φを算出する。
【0062】
【数3】
そして、信号処理部2は、算出した補正垂直角度φを、目標垂直角度φ
xとして走査角度制御部4に供給する。走査角度制御部4は、入力された目標垂直角度φ
xに基づいて、送信光パルスPtの垂直角度を制御する。こうして、車両の傾斜による螺旋走査範囲の変動を正しく補正することができる。
【0063】
図16は、ピッチング運動の方向θ
dir=0°、振幅φ
pitch=3°、周波数f
pitch=2Hzの場合の螺旋走査の軌跡の例を示す。なお、振幅φ
pitchは、水平方向を基準として上方を正、下方を負で示すものとする。
図16(A)は補正後の螺旋走査の斜視図であり、
図16(B)はXY平面図であり、
図16(C)はXZ平面図であり、
図16(D)はYZ平面図である。
【0064】
次に、上記の適応螺旋走査の処理について説明する。
図17は、第2実施例の適応螺旋走査のフローチャートである。まず、姿勢角度検出部6は、車両のピッチング運動を検出する(ステップS21)。次に、姿勢角度検出部6は、ピッチング運動推定値として、ピッチング運動の方向θ
dirと、周波数f
pitchと、振幅φ
pitchと、ピッチング運動のフレーム時間に対する位相ずれp
pitchとを推定する(ステップS22)。得られたピッチング運動推定値は、は信号処理部2に送られる。
【0065】
信号処理部2は、走査角度検出部5が検出した垂直角度θと、姿勢角度検出部6が推定したピッチング運動推定値とに基づいて、式(3)により補正垂直角度φを計算する(ステップS23)。計算された補正垂直角度φは、目標垂直角度φ
xとして走査角度制御部4へ送られる。そして、走査角度制御部4は、目標垂直角度φ
xに基づいて、送信光パルスPrの垂直角度φを制御する(ステップS24)。
【0066】
[変形例]
上記の実施例では、螺旋走査又は部分多層走査の層数を7層としているが、これは一例に過ぎず、任意の層数で走査を行うことができる。また、上記の実施例では、最下層から上層側へ垂直角度φを増加させて出射方向を移動させているが、その代わりに、最上層から下層側へ垂直角度φを減少させて出射方向を移動させてもよい。
【0067】
さらに、上記の実施例では、ピッチング運動に関する補正処理を行っているが、ローリング運動に関する補正処理を行ってもよい。