以下、図1等を参照して、一実施形態に係る物体検知装置及び物体検知プログラムについて一例を説明する。
本実施形態に係る物体検知装置100は、種々の移動体MOに搭載可能であり、図1に示す一例では、地上を走行する移動体MOを農業機械(農機)としているが、これに限らず、例えば道路を走行する自動車やバイクや線路上を走行する列車等、あるいは、建機(重機)類、さらには掃除ロボット等を、移動体MOとすることが考えられる。なお、図示において、移動体MOが直進する際の進行方向を+X方向とする、すなわちX方向を前後方向とする。また、X方向に対して垂直な面(垂直面)内において互いに直交する方向をY方向及びZ方向とする。すなわち、X方向に垂直な面をYZ面とする。また、これらのうち、移動体MOの横方向(幅方向)をY方向とし、縦方向(高さ方向)をZ方向とする。すなわち、移動体MOが平坦な地面にいる場合には、水平方向(左右方向)がY方向となり、垂直方向(上下方向)がZ方向となる。
図1に例示するように、本実施形態の物体検知装置100は、移動体MOのうち、上方側に取付固定された状態で搭載され、矢印A1に示す移動体MOの移動方向(進行方向)前方に向けて投光し、投光した成分(投光成分PL)のうち返ってきた成分(反射成分RL)を受光することで、測距を行う。この際、物体検知装置100は、図示において矢印DD1,DD2で示すように、縦方向(高さ方向)及び横方向(幅方向)について、ある程度の範囲に亘って投光することで、移動体MOにとって障害物となるものが存在するか否かを検知可能にしている。なお、図1の例示の場合、矢印DD1に示す縦方向(高さ方向)については、例えば移動体MOにある程度近い位置の地面からある程度移動体MOよりも高い位置までについて物体検知できるように、例えば仰角10°〜20°度程度、俯角70°〜80°程度となるような範囲(角度範囲)について投光を行うことが望ましい。また、矢印DD2に示す横方向(幅方向)については、少なくとも移動体MOの幅以上の範囲について物体検知を行えるように、例えば正面方向から左右についてそれぞれ80°〜90°程度、全体で160°〜180°程度の範囲(角度範囲)について投光を行うことが望ましい。
物体検知装置100は、上記のような範囲について物体検知を行い、さらに、当該物体検知による検知結果に基づいて、農機等の移動体MOにとって進行する(移動する)上で障害となるものが前方に存在するか否かを検知(判定)する。つまり、物体検知装置100は、移動体MOにとっての障害物検知装置としても機能する。
なお、移動体MOは、移動体MOとともに移動する物体検知装置100における測距によって取得される周囲にある物体についての検知結果に基づいて、例えば自己の存在位置を確認することができるようにしてもよい。例えば、移動体MOが周囲に存在する物体についての位置データを予め有していれば、当該位置データと物体検知装置100による周囲の物体の検知結果とを照合することで、相対的に自己の位置を割り出すことができる。
以下、図2のブロック図を参照して、物体検知装置100を搭載した移動体MOの内部構成の一例、さらには、物体検知装置100の内部構成の一例について説明する。
まず、図2(A)は、移動体MOを構成する各部のうち、特に、物体検知装置100と物体検知装置100からの通知を受けるものとについて例示している。具体的には、移動体MOは、物体検知装置100のほか、移動体MOの前進や後退、進路変更、停止、加速や減速といった移動体MOの動作全体を制御する移動体制御部である制御部MCと、危険がある場合等に各種警告を行う警告部ALとを有する。
物体検知装置100は、移動体MOの進行する先について3次元空間に対する測距を行う測距部50と、測距部50の動作制御を行うとともに物体検知のために測距結果に基づく各種処理を行う処理判定部60とを備える。すなわち、測距部50は、処理判定部60の制御下において、物体検知のための測距を行う。ここでは、図示のように、1つの点光源について、点SSを基準とし、この点SSからレーザー光が投光成分PLとして射出され、測定対象範囲RR内に存する物体に当たって返ってきた反射成分RLを受光することで、当該物体についての測距がなされる。なお、点SSは、移動体MOに対して固定された点でもあるから、移動体MOの位置を決定する際の基準ともなっている。
また、物体検知装置100において測距部50での受光後の処理については、図示のように、まず、測距部50によって取得される測距の結果すなわち反射成分RLの受光結果が、3次元距離データDDとして処理判定部60に出力される。次に、処理判定部60からの3次元距離データDDを取得した処理判定部60は、3次元距離データDDに基づいて各種処理を施し、検知部20において、物体の有無を検知する。さらに、処理判定部60は、検知部20における検知結果すなわち判定結果のうち、障害物があると判断される場合等のように移動体MOに対する通知を要するものが含まれる場合に、当該検知結果(判定結果)を通知情報RDとして、制御部MCや警告部ALに出力する。
以下、図2(B)を参照して、上述した物体検知装置100の動作に関する一具体例について説明するため、物体検知装置100の各部構成についてより具体的な一構成例を説明する。図2(B)の例示において、測距部50は、例えばライダー等で構成される光センサーであり、投光成分PLとしてのレーザー光を走査させつつ射出する走査部2と、レーザー光の投光タイミングを制御する投光部3と、反射成分RLを受光する受光部4とを備える光学式測距装置である。また、処理判定部60は、測距部50の動作制御をする測距制御部10と、測距結果に基づく物体検知を行う検知部20とを備える。処理判定部60は、例えば各種回路機構等で構成されていたり、あるいは、CPUや各種ストレージデバイス等で構成され、各種データやプログラムを適宜読み出すことで、測距制御部10や検知部20として機能するものとなっていたりしてもよい。
測距部50のうち、走査部2は、所定の走査範囲についてレーザー光を走査させるため、例えば、MEMSミラーを二次元駆動させた構成とすることが考えられる。
測距部50のうち、投光部3は、例えばレーザードライバ、レーザー素子(半導体レーザー)、レンズ等を含んで構成され、レーザー光(パルス光)を発光し、投光するレーザー投光部である。なお、投光部3から発光されたレーザー光は、必要に応じて設けた種々の光学系(図示略)を介して走査部2に向かい、走査部2で反射される。これにより、物体検知装置100は、測定対象範囲RRに対応するように、投光成分PLを走査させる。なお、投光部3は、測距制御部10からの指令に従って、所定のタイミングで投光成分PLを射出する。
測距部50のうち、受光部4は、物体検知装置100から射出されたレーザー光の反射成分RLを受信するレーザー受光部である。受光部4は、受光素子(フォトダイオード)のほか、必要に応じて、例えば受光光学系、プリアンプ、A/D変換器等を備え、反射成分RLを、例えば検出可能なパルス波の状態にして、測距制御部10に出力する。ここでは、当該出力される情報を、3次元距離データDDとしている。
以上のように、投光部3から発光されたレーザー光は、走査部2によって走査光(投光成分PL)として所定範囲を走査し、この際、測定対象範囲RRにおいて測距可能な位置に物体OBが存在していれば、投光成分PLが物体OBの表面において反射あるいは散乱され、そのうちの反射成分RLが受光部4において捉えられる。
なお、詳しい説明や図示を省略するが、測距部50には、上記のほか、例えば投光成分PLと反射成分RLとは、同じ光路を反対向きに進むがこれらを分離すべく適宜投光/受光分離器等といった各種光学機器が設けられている。
処理判定部60のうち、測距制御部10は、上記のような測距部50を構成する各部の各種動作を制御する。例えば、測距制御部10は、物体OBが存在していた場合における当該物体OBまでの距離や方位を算出すべく、投光部3の動作タイミングや、受光部4での測定結果(検出結果)の解析に基づく演算を行う。具体的には、測距制御部10は、時間差計測部として、投光成分PLの射出タイミングや反射成分RLの測定値及び測定タイミングから、投光から受光までの時間差を計測する。さらに、測距制御部10は、距離算出部として、計測した時間差から物体OBまでの距離を算出する。また、距離算出部としての測距制御部10は、各タイミングにおける走査部2の姿勢、すなわち投光成分PLの射出方向すなわち方位(角度)についての情報を併せて取得する。以上のように、測距制御部10は、測距部50の各種動作により取得された情報に基づいて、例えば、2次元走査される範囲における距離画像の作成が可能となっている。なお、上記では、測距部50から取得した情報を3次元距離データDDとし、測距制御部10において、測距部50からの3次元距離データDDに基づく処理を行うものとして説明したが、測距制御部10における上記処理の結果によって得られる物体OBまでの距離や方位の情報までを含めて、3次元距離データDDと捉えることもできる。さらに見方を変えると、測距部50を構成する各部に加え、測距制御部10までが、測距の結果としての3次元距離データDDを取得するための装置であるものと捉えてもよい。
本実施形態では、測距制御部10による上記処理結果である3次元距離データDDに対して、処理判定部60の検知部20において、3次元空間について極座標に基づく分割をして、物体検知を行っている。
上記のようなレーザー光を利用した測距を含めた種々の測距において、一般に、測距対象が遠方になるほど測定精度は下がる。具体的には、例えば、レーザー光を利用した測距の場合であれば、一回の走査において射出するパルス光の回数が同じであっても、距離が遠くなるほど測定対象範囲が大きくなる(広くなる)ため、測定範囲の空間的間隔は疎になる。つまり、遠くほど粗い物体検知となる。例えば、物体検知について、測定対象となる空間をメッシュと呼ばれるブロック単位の領域(エリア)に分割して、分割されたブロック状の各空間に相当する範囲内においてレーザー光の反射があったと検出された場合に当該空間に物体が存在していると見做す、という手法をとることが考えられる。このような手法をとる場合、特に、空間的間隔が疎になりやすい遠方側において、できるだけ測定精度のバラツキが抑えられることが好ましい。すなわち、疎になる度合が、ほぼ等距離にある領域(エリア)の間では、レーザー光の通過度合が同程度に維持されていることが好ましい。さらに、上記のような状況が、2次元的でなく、3次元的に維持されていること、すなわち横方向(幅方向)だけでなく縦方向(高さ方向)についても維持されていることが望ましい。例えば、図1の例のように地上を走行する移動体MOが、移動する先に障害となるものがあるかを判定するに際しては、横方向すなわち幅方向(矢印DD2)についてだけでなく、縦方向すなわち高さ方向(矢印DD1)についてどの程度の大きさの物体が存在しているかを判定できることが障害物であるか否かを決定する上で重要となる。
かかる点を踏まえ、本実施形態では、3次元空間における物体検知ついて、3次元極座標を採用し、3次元空間を所定の角度範囲ごとかつ所定の距離ごとに分割して形成された複数のエリアを有する3次元極座標グリッドマップを用意し、測距部50で取得した3次元距離データDDに基づく物体検知の結果を、検知部20において、当該3次元極座標グリッドマップに当てはめることで、物体の有無さらには障害物の有無を検知している。この場合、例えば遠方側についての物体検知においても、ブロック単位で分割されたエリア間での検知精度のバラツキを抑えることができ、例えば測距部で取得される3次元距離データが少ない場合すなわち測距点数が少ない簡易な構成であっても、物体検知を高精度に行うことを可能にしている。
以下、図3等を参照して、本実施形態における3次元極座標グリッドマップの作成手法について、一例を説明する。
図3(A)は、説明をするための前提として、3次元空間での極座標について示す図である。すなわち、3次元極座標(球座標)の原点を原点Oとして、3次元空間上の1点Pを、原点Oからの距離(動径)rと、2つの偏角θ,φとをパラメータとして表現する。なお、この場合、xyz直交座標系との関係については、
x=rsinθcosφ
y=rsinθsinφ
z=rcosθ
となる。本実施形態では、原点Oを、測距部50(図2参照)の点光源の基準である点SSとしている。つまり、各レーザー光は、原点Oから放射状に射出されるものと見做す。なお、xyz直交座標系は、例えば移動体MOのXYZ直交座標系に対応させておくようにすることが考えられる。
以上の場合において、例えば図3(B)に示す原点Oを中心とする半径r0の球面SPの面上において、原点Oから射出されるレーザー光の走査範囲を範囲REとし、範囲REにおけるレーザー光の通過点を点MPとする。ここで、物体検知における検知精度のバラツキを抑えるという観点からは、範囲REにおいてレーザー光の走査に対応する各点MPができるだけ均一に配置されていることが望ましいと考えられる。なお、このよう球面上の点MPの配置に関する問題を取り扱うことは、究極的には、球面上においてできるだけ均一に点を配置する方法を考察することに相当する。以上から、図示の例のように、互いの距離ができるだけ等しくなるように各点MPが配置された場合において、本実施形態では、目的とする3次元極座標グリッドマップの作成すなわち3次元空間のブロック分けのために、まず、球面上の範囲REにおいて、近接する複数の点MPを同一数ずつ均等な面に分割している。具体的には、図3(C)及び図3(D)に示す一例では、まず、近接する3つの点MPを一組とし、隣接する点MPの組と組との間における境界を画定させて各面領域SPi,jを定めていき、図3(E)に示すような領域分けを範囲REにおいて行っている。なお、図3(E)及び図3(F)に示すように、各面領域SPi,j間の境界BDについては、例えば局所的に平面と見做した場合に、各点MPを母点とするボロノイ分割等を採用することが考えられる。具体的には、例えば一の組に属する点MPaとこれに最も近接する点であって他の組に属する点MPbとの垂直二等分線を2つの組の境界BDとすることで、各面領域SPi,j間の境界BDを定めることができる。さらに、上記のような各面領域SPi,jの定め方は、任意の距離(半径)rの球面において同様に考察できる。ここでは、当該各面領域SPi,jと距離(半径)rの範囲とに基づいて、3次元空間のブロック分けを行うことで、3次元極座標グリッドマップを作成している。
なお、上記図3を参照して説明した一例では、各面領域SPi,jを規定する上で、球面上においてできるだけ均一に配置された各点MPを3つずつ取り、かつ、ボロノイ分割で領域分けを行うものとしたため、各面領域SPi,jの形状が、3つの凸多角形(主に六角形)を組み合わせたようなものとなっている。しかし、これに限らず、各点MPの配置のさせ方を変えたり、一組とする各点MPの個数すなわち光線の本数を3つずつ以外の態様としたり、領域の境界の画定方法を上記ボロノイ分割以外の他の手法に変えたりすることで、各面領域SPi,jの形状は、種々のものとなり得る。
以下、図4等を参照して、図3に例示した場合における3次元極座標グリッドマップの一構成例すなわち複数のエリア(3次元的エリア)の分け方の一例について説明する。まず、図4(A)に示すように、図3に例示した各面領域SPi,jを底面とし、原点Oすなわち点SSを頂点とする錐体状の形状COを考える。次に、この錐体状の形状COを、原点Oからの所定の距離ごとにすなわち所定の半径rの範囲ごとに分割してできる錐台状の空間を1つのブロックBLとして、各エリアARa,ARb等を定める。図示の例では、半径raから半径rbまでの長さdaの範囲で規定された空間が、エリアARaであり、1つのブロックBLで形成され、半径rbから半径r0までの長さdbの範囲で規定された空間が、エリアARbであり、別の1つのブロックBLで形成される。なお、以上において、偏角θ,φの範囲については、各面領域SPi,jの形状に応じて所定の角度範囲が定まることになる。図示上では、当該角度を、角度θi,j,φi,jとしている。以上のようにして、3次元空間のうち、面領域SPi,jに対応する空間を所定の距離ごとに分割して複数のエリアARa,ARbが形成できる。なお、説明を省略しているが、上記のような分割を、原点Oからの所定の距離ごとに続けることで、1つの錐体状の形状COの延びる方向について所定の距離ごとに区切られた無数のブロックBLが形成できる。なお、上記のようにして形成される各ブロックBLには、常に3つ分の投光成分PLを含んだ状態が維持されることになる。
また、以上について、物体検知装置100についての構成という観点から言い換えると、本実施形態では、測距部50は、所定の間隔で射出したレーザー光線としての投光成分PLを走査させており、かつ、処理判定部60での取り扱いにおいて、3次元極座標グリッドマップを構成する各エリア間すなわち各ブロックBL間で、通過する投光成分PLの本数が同一(上記例では3つずつ)になっている。この場合、同一本数のレーザー光線の単位で、各ブロックBLで構成される各エリアの検知がなされることで、当該エリア間での検知精度の均一化を図ることができる。
以上のようにして画定される複数のブロックBLの形成を、例えば図4(B)に示すように、面領域SPi,jに隣接する面領域SPi−1,jに対応する空間に対しても行い、さらに、図4(C)に示す他の面領域SPaに対しても同様に行うことで、目的とする3次元極座標グリッドマップが作成できる。この場合、形成された各ブロックBLには、常に3つ分の投光成分PLを含んだ状態が維持される。また、原点Oから等距離にあるブロックBLの形状やサイズをほぼ均一に保つことができる。これらにより、検知精度についてブロックBLごとでバラツキが発生してしまう、といった事態を回避できる。すなわち、装置全体としての物体検知精度を高めることができる。
また、この場合、例えば、面領域SPi,jについて、図4(D)に示すように、横方向の並びと縦方向の並びに関して、格子状に捉えることも考えられる。この場合、例えば縦方向の並びについて原点Oを通る断面は、例えば、図5(A)に概念的に示すようになり、横方向の並びについて原点Oを通る断面は、例えば、図5(B)に概念的に示すようになる。なお、図5(B)は、例えば図5(A)におけるA−A断面図にも相当する。
本実施形態では、以上のようにして規定される3次元極座標グリッドマップにより、測距部50で取得した3次元距離データDDに基づく物体の有無を検知している。すなわち、3次元距離データDDに基づいて取得される物体の距離rと方位(角度)すなわち2つの偏角θ,φの値が、3次元極座標グリッドマップに規定した各ブロックBLのいずれに該当するかを当てはめていくことで、原点Oすなわち点光源の基準となる点SSに対する各物体の位置を検知可能にしている。また、図示の場合、例えば一定の距離rに沿った円弧状の並びにおいて、3次元極座標グリッドマップに関して、複数のエリアを構成する複数のブロックBLのうち等距離あるいはほぼ等距離で隣り合うものを連ねて形成されたドーナツ状の領域が含まれている。なお、ここで言うドーナツ状には、一周する完全な円環体(トーラス体)と同相なものに限らず、その一部のみで構成される形状である場合も含まれているものとする。さらに、3次元極座標グリッドマップに関しては、このドーナツ状の領域を複数積み重ねた領域も含まれていることになる。例えば横方向に並ぶドーナツ状の領域を縦方向について積み重ねた領域も含まれている。
以下、図6のブロック図等を参照して、処理判定部60の一具体例を説明するとともに、この構成を用いた場合での3次元極座標グリッドマップに基づく物体検知の動作について一具体例を説明する。
図6は、処理判定部60の一構成例について概念的に説明するためのブロック図であり、検知処理のために上記した3次元極座標グリッドマップを搭載した場合の一動作例を説明するためのものである。また、図7は、図6の構成の処理判定部60で構成された物体検知装置100を搭載した移動体MOによる測距の様子について一例を示すための図であり、さらに、図8は、図7に示した場合の測距結果に対して、物体検知装置100で行われる物体検知の様子を示すための図である。
まず、図6のブロック図を参照して、処理判定部60の一構成例について説明する。図示のように、ここでは、処理判定部60は、記憶部61と、CPU(主制御部)62とを備えることで、測距制御部10や検知部20として機能することが可能になっているものとする。なお、処理判定部60は、上記のほか、測距部50や制御部MC(図2参照)との交信を担うインターフェース部50f,MCfを備え、各種データのやり取りが可能になっているものとする。
記憶部61は、各種ストレージデバイス等により構成されており、処理判定部60が測距制御部10や検知部20として機能するために必要となる種々のコンピュータープログラムや各種データを格納している。
CPU62は、記憶部61からコンピュータープログラムやデータを読み出して実行することにより、画像処理を行う画像処理部62aや、画像処理部62aにより作成される画像データに基づく物体検知や検知した物体に関する判定を行う判定部62b等として機能する。なお、この場合、判定部62bは図2等の検知部20に相当するものとも言える。また、上記のほか、CPU62は、例えば記憶部61からコンピュータープログラムやデータを読み出して測距制御部10としても機能する。
以下、記憶部61に格納される各種コンピュータープログラムやデータの詳細について説明する。
図示のように、記憶部61は、各種プログラムを格納するプログラム格納部PAと、各種データを格納するデータ格納部DAとで構成されている。
以下、プログラム格納部PAに格納される各種プログラムについて説明する。プログラム格納部PAには、例えば、測距プログラムDPと、物体検知プログラムOPとが格納されている。物体検知プログラムOPは、例えば、点群データ取得プログラムPPaと、点群データ配置プログラムPPbと、物体判定プログラムJPaと、障害物判定プログラムJPbとで構成されている。
測距プログラムDPは、処理判定部60を測距制御部10として機能させるべく、測距部50に対する各種制御や測距部50での検知結果に基づく各種演算を行うためのプログラムである。
物体検知プログラムOPは、処理判定部60を検知部20として機能させるべく、上記各種プログラムで構成されている。例えば、物体検知プログラムOPのうち、点群データ取得プログラムPPaは、測距部50や測距制御部10により取得される点群データとしての3次元距離データDDを、データ格納部DAの所定領域に一時的に格納・保管するためのプログラムである。また、点群データ配置プログラムPPbは、取得した3次元距離データDDについて、3次元極座標グリッドマップと照合して当該マップ上における配置を定めるためのプログラムである。すなわち、点群データ配置プログラムPPbに基づき、点群データとしての3次元距離データDDは、各ブロックBL(図5等参照)の単位で領域分けされた点群データとなる。
また、物体検知プログラムOPのうち、物体判定プログラムJPaは、3次元極座標グリッドマップを構成するブロックの単位での反応の有無に基づき、物体の有無を判定するためのプログラムである。また、障害物判定プログラムJPbは、物体判定プログラムJPaにおいて物体ありと検知された場合に、検知された当該物体が移動体MOにとっての障害物とすべきか否かを判定するためのプログラムである。
以下、データ格納部DAに格納される各種データについて説明する。データ格納部DAは、例えば、測距データ格納部DDsと、点群データ格納部PDsと、3次元極座標グリッドマップデータ格納部GDsと、判定基準データ格納部JDsとを含んで構成されている。
データ格納部DAのうち、例えば測距データ格納部DDsには、測距プログラムDPにおいて利用される各種データが予め格納されている。具体的には、投光成分PLの射出タイミング(射出間隔)や走査部2の姿勢(角度)等に関する各種テーブルデータ等が格納されている。
また、データ格納部DAのうち、点群データ格納部PDsには、点群データ取得プログラムPPaに基づき取得される各種データや、点群データ配置プログラムPPbに基づき定められる各種データが一時的に格納される。3次元極座標グリッドマップデータ格納部GDsには、3次元極座標グリッドマップに関するデータすなわち各ブロックBL(図5等参照)の単位でなされる3次元空間の領域分けに関するデータが予め格納されている。
また、データ格納部DAのうち、判定基準データ格納部JDsには、物体判定プログラムJPaに基づく判定に際して物体ありとすべきか否かを定める判定基準に関するデータや、障害物判定プログラムJPbに基づく判定に際して障害物ありとすべきか否かを定める判定基準に関するデータが予め格納されている。
本実施形態では、上記のような構成の物体検知装置100を用いて、これを搭載した移動体MOでの物体検知特に検知物体が障害物であるか否かを含めた検知を行う。
以下、図7及び図8を参照して、図6を参照して一構成例を示した態様の処理判定部60を有する物体検知装置100を搭載した移動体MOについて、物体検知の一動作例を説明する。
まず、図7のうち、図7(A)は、物体検知装置100を搭載した移動体MOによる測距の様子について一例を示す概念図である。また、図7(B)は、図7(A)の状態における物体検知装置100の測定対象範囲RRの様子を示す概念図であり、位置把握の基準となる点SSから見た測定対象範囲RRの様子を示している。また、図8は、図7(A)及び図7(B)に示す物体検知装置100を搭載した移動体MOでの測距とその測距結果に対して、物体検知装置100による物体検知の様子を示すための図である。なお、図中において、図7(A)に示す複数のブロックBLの領域分けは、図5(A)を参照して概念的に示した領域分けに対応し、図8における断面α1〜α5に示す複数のブロックBLの領域分けは、図5(B)を参照して概念的に示した領域分けに対応する。また、各断面α1〜α5において、ブロックBL中に丸印がある箇所は、測距の結果物体ありと判定された領域を意味する。
また、ここでは、説明を簡略化するために、3次元極座標グリッドマップを構成する複数のブロックBLが、図7(A)及び図7(B)に示すように、格子状に領域分けがなされているものとする。具体的には、まず、高さ方向(Z方向)については、図7(A)に例示するように、偏角θに関して角度θ1から角度θ5で規定される5個の領域に領域分けされているものとる。また、横方向(Y方向)については、図8の断面α1に例示するように、偏角φに関して角度φ1から角度φ12で規定される12個の領域に領域分けされているものとる。さらに、各ブロックBLは、図7(A)に例示するように、点SSからの距離rに応じてブロック分けされているものとする。なお、図示の例では、測定対象範囲RRのうち、距離r1から距離r5までで区切られる4つの領域が、物体検知に関与している。以下では、距離rkから距離rk+1までの間の長さをdk(1≦k≦4)とし、各ブロックBLの位置を、角度θm、角度φn(1≦m≦5、1≦n≦12)及び長さdkとした場合に、m,n,kを使って、BL(m,n,k)と表す。
なお、以上のように、偏角θに関する領域分けは、移動体MOにとっての高さ方向(Z方向)についての検知に相当し、偏角φに関する領域分けは、移動体MOにとっての幅方向(Y方向)ごとについての検知に相当するものとなっている。また、距離rに関する領域分けは、移動体MOにとっての距離ごとについての検知に相当するものとなっている。
また、偏角θの範囲については、例えば移動体MOの高さや移動体MOの足元についてどの程度検知すべきかに応じて種々設定できるが、例えば、X方向を0°の方向として、図示のように、仰角10°〜20°度程度とし、俯角70°〜80°程度とすべく、偏角θの最小角度を70°〜80°程度とし、最大角度160°〜170°程度に設定することが考えられる。偏角φについても、種々の範囲を設定できるが、例えば、X方向を0°の方向として、左右についてそれぞれ90°程度確認できるように、例えば図示のように、180°程度(−90°≦φ≦90°程度)とすることが考えられる。
ここで、図中の例における物体検知では、測定対象範囲RRにおいて、検知される対象として、地面から生える草WDと、地上に立っている人HUと、地面から生える細い第1の木(枝付き)TR1と、太い第2の木(枝無し)TR2とが存在しているものとする。なお、第1の木TR1における枝をBRとする。また、これらについては、混同の無い限り、実物と画像中のものとを問わず、同じ符号で示す。
以上の場合、図8のうち断面α1に示すように、まず、地面側の領域(最下層の領域)を検知する偏角θ=θ1の範囲、すなわち各ブロックBL(m,n,k)についてm=1となるBL(1,n,k)の範囲では、BL(1,2,3)での第1の木TR1に対応する検知と、BL(1,6,1)での草WDに対応する検知と、BL(1,8,2)での人HUに対応する検知と、BL(1,10,4)での第2の木TR2に対応する検知とがなされる。同様に、断面α2に示す偏角θ=θ2の範囲では、BL(2,2,3)での第1の木TR1に対応する検知と、BL(2,8,2)での人HUに対応する検知とがなされる。さらに、断面α2に示す範囲において、太い第2の木TR2に対応する検知については、検知範囲が広がり、例えばBL(2,10,4)のほかに、BL(2,10,3)、BL(2,9,4)、BL(2,11,4)の三か所を加えた計四か所で検知される。つまり、偏角θ=θ1では、第2の木TR2の幹の部分のみが検知されるのに対して、偏角θ=θ2では、幹の部分のみならず枝や葉の部分までが検知されることで、検知範囲が広がる。一方、高さが低く小さな対象物である草WDについては、偏角θ=θ2の範囲では、対応する検知されない。以上のような検知が、断面α3〜α5すなわち偏角θ=θ3〜θ5の範囲についても同様になされる。
以上のような検知の場合、高さ方向も含めた各ブロックBLの隣接関係を考慮することで、各検知箇所が一体の物体であるか、別の物体であるかを判定することができる。上記のようにしてブロック単位で検知された各検知対象のうち、例えば太い第2の木TR2については、断面α1に示す偏角θ=θ1の範囲では、BL(1,10,4)のみで検知されるが、断面α1に示す偏角θ=θ2の範囲では、これに隣接するエリアにおいては、隣接するBL(2,10,4)、BL(2,10,3)、BL(2,9,4)、BL(2,11,4)の四か所で検知される。断面α1のBL(1,10,4)と断面α2のBL(2,10,4)とは、高さ方向に関して隣接しているので、これらが繋がった1つの大きな物体であると捉えられる。以上のような繋ぎ合わせが、各ブロックBL間でなされる。なお、各検知対象のうち、例えば枝BRについては、図示のように、BL(4,2,3)での細い第1の木TR1に対応する検知の近傍においてBL(4,3,2)が検知される。この場合、BL(4,3,2)は、偏角θ=θ4においてはじめて検知されるので、BL(4,3,2)は、BL(4,2,3)とは別の物体が空中に存するものと認識される。以上のような検知動作を行うことで、例えば、図8の画像RRaに示すような検出結果が得られ、各物体の存在が検知される。すなわち、画像RRaにおいて、異なるパターンで塗り分けられた5つの検知結果WDa,HUa,TR1a,TR2a,BRaは、5つの物体(草WD、人HU、第1の木TR1、枝BR、第2の木TR2)に対応する。
なお、画像の取り扱いについての一変形例として、BL(4,3,2)すなわち枝BRに相当するものについては、BL(4,2,3)すなわち第1の木TR1に相当するものとの近接性から、BL(4,2,3)から延びてこの物体の一部であるものとして取り扱うようにしてもよい。
ここで、本実施形態の場合のように、地面を走行する移動体MOにとっては、特に、地面から存在する物体、すなわち高さ方向を規定する偏角θ=θ1となる最下層から存在する物体は、走行上の障害物となる可能性が最も高く、最も重要な検知対象となる。本実施形態の一例では、この点を踏まえ、物体検知装置100の処理判定部60において、検知部20は、測距部50による測定対象範囲RRのうち最下層である偏角θ=θ1となる範囲における検知の有無に応じて障害物に関する判定基準を変更する態様としている。
以下、図9のフローチャートを参照して、物体検知装置100による物体検知から障害物判定までの一連の動作について、一例を説明する。なお、図9(A)は、上記一連の動作について一例を説明するためのフローチャートであり、図9(B)は、図9(A)のうち、障害物判定の一態様としての高さ方向に関する判定処理について一例を説明するためのフローチャートである。
まず、前提として、図9(A)に示すように、物体検知装置100の処理判定部60(CPU62)において、記憶部61の測距プログラムDPや測距データ格納部DDsに格納された各種データを読み出して、測距制御部10の制御下で測距部50による測距が開始される。上記測距が開始されると、検知部20は、点群データ取得プログラムPPaを読み出し、これに従って3次元距離データDDすなわち点群データを点群データ格納部PDsに一時記憶し、さらに、点群データ配置プログラムPPbや点群データ格納部PDs及び3次元極座標グリッドマップデータ格納部GDsに格納された各種データを読み出して、取得した点群データについて、3次元極座標グリッドマップと照合して、当該マップ上における配置を定める(ステップS101)。以上において、検知部20は、当該点群データについて3次元極座標グリッドマップ上においてブロックBL(図8等参照)の単位で領域分けし、ブロック単位で検知の有無が定まる。
次に、検知部20は、物体判定プログラムJPaや判定基準データ格納部JDsに格納された物体の有無に関する判定基準に関するデータを読み出して、ステップS101の結果に基づいて、物体の有無を判定する(ステップS102)。すなわち、図8において画像RRaに例示したように、測定対象範囲RR内に存する一塊の物体が占める領域をブロック単位で画定させる。
次に、検知部20は、障害物判定プログラムJPbや判定基準データ格納部JDsに格納された障害物であるか否かの判定基準に関するデータを読み出して、ステップS102の結果を利用して、障害物の有無を判定する。すなわち、ステップS102で確認された各物体が障害物であるか否かを判定する。ここでの一例では、高さ方向についての連続性判定を行うことで、検知された各物体が障害物であるか否かを判定している(ステップS103)。
以上により、物体検知装置100による物体検知から障害物判定までの一連の動作がなされる。
以下、図9(B)を参照して、上記一連の動作のうち、ステップS103の高さ方向についての連続性判定の処理について、より詳しい一例を説明する。
まず、図9(B)に示すように、検知部20は、検知された物体(検知物体)について、測定対象範囲RRのうち最下層である偏角θ=θ1となる範囲において検知があったか否かを確認する(ステップS201)。
ステップS201において、最下層での検知が無かった場合(ステップS201:No)、つまり当該検知物体が中空にある浮遊物である場合、検知部20は、当該検知物体が高さ方向についてブロックが4つ以上連続する物体であるか否かを判定する(ステップS202)。ステップS202において、4つ以上連続していない、すなわち連続が3つ以下である、と判断された場合(ステップS202:No)、検知部20は、当該検知物体を障害物とは判定せず、障害物なしとして取り扱う(ステップS203a)。一方、ステップS202において、4つ以上連続している場合(ステップS202:Yes)、検知部20は、当該検知物体を浮遊物であっても障害物であると判定し、障害物ありとして取り扱う(ステップS203b)。
ステップS201において、最下層での検知があった場合(ステップS201:Yes)、つまり当該検知物体が浮遊物ではなく地面から存在する物体である場合、検知部20は、当該検知物体が高さ方向についてブロックが3つ以上連続する物体であるか否かを判定する(ステップS204)。ステップS204において、3つ以上連続していないすなわち連続が2つ以下である、と判断された場合(ステップS204:No)、検知部20は、当該検知物体を障害物とは判定せず、障害物なしとして取り扱う(ステップS205a)。一方、ステップS204において、3つ以上連続している場合(ステップS204:Yes)、検知部20は、当該検知物体を障害物と判定し、障害物ありとして取り扱う(ステップS205b)。
以上のように、検知部20は、各ブロックBLで規定される複数のエリアのうち隣り合うものにおいて、一定数以上高さ方向について連続して検知があった場合に、障害物ありと検知している。また、この場合において、測定対象範囲RRのうち最下層である偏角θ=θ1となる範囲における検知の有無に応じて障害物に関する判定基準に差異を設けている。具体的には、検知有りの場合、3つ以上連続すれば障害物と判定するのに対して、検知なしの場合、4つ以上連続して初めて障害物と判定している。以上のような判定処理を、検知されたすべての物体に対して行うことで、物体検知装置100による障害物判定がなされる。
なお、図7及び図8を参照して示した一例では、既述のように、5つの物体(草WD、人HU、第1の木TR1、枝BR、第2の木TR2)が検知されることになるが、これらのうち、草WDは、ステップS205aにおいて障害物ではないものと判定され、枝BRは、ステップS203aにおいて障害物ではないものと判定されることになる。一方、人HU、第1の木TR1及び第2の木TR2については、ステップS205bにおいて障害物であるものと判定されることになる。言い換えると、農機等の移動体MOにとって進行の妨げにならない草WDや枝BRは障害物とはせず、人HUや木TR1,TR2は障害物であると自動で峻別することが可能になる。
なお、上記の例では、例えば草WDのように1つのブロックすなわち1つのエリアのみを占める物体についても物体として認識するものとして説明したが、これに限らず種々の変形態様をとることができる。例えば、検知部20は、複数のエリアのうち隣り合うものにおいて、一定数以上連続して検知があった場合にのみ、物体ありと検知するように、物体判定プログラムJPaを組み込んでもよい。すなわち、草WDのように移動体(農機)MOの進行において障害とならず、よける必要もないことが明らかなものについては物体として検知することなく障害判定の処理をスキップし、所定のサイズ(大きさ)以上の領域を占める物体のみを検知対象とするようにしてもよい。
以下、図10を参照して、本実施形態に係る物体検知装置100における3次元極座標グリッドマップに基づく空間の分割すなわちブロックBLの形成について、他の例と比較することで、その特性について説明する。図10(A)は、本実施形態における空間の分割を示す概念図であり、図10(B)は、一比較例における空間の分割を示す概念図である。なお、図10(A)は、図5(A)や図5(B)等に対応する図である。
本実施形態の場合、図10(A)に示すように、3次元極座標グリッドマップに基づく空間の分割とすることで、各ブロックBLには、同一本数(図示の例では3本ずつ)の投光成分PLすなわちレーザー光線が通過し、基準である点SSからの距離が等しいブロックBL間においては、レーザー光線の密度がほぼ一様となるように保たれている。また、このような状態が、移動体MOにとっての高さ方向(Z方向)及び幅方向(Y方向)の双方について保たれている。これに対して、図10(B)に示す一比較例では、同一形状の方眼状(格子状)のブロックBLで分割している点において、本実施形態の場合と異なっている。この場合、各ブロックBLが同じ形状となるため、基準である点SSに近いブロックBLでは、非常に密な状態で投光成分PLすなわちレーザー光線が通過する一方、遠くになるほど急激にレーザー光線の密度が下がってしまう。また、図10(B)に示す一比較例の場合、各ブロックBL間での粗密の差も大きくなる。さらに、各ブロックBL内においてをレーザー光線が通過する範囲についても均一性を失いバラツキが生じる。本実施形態では、かかる事態を回避することで、特に、遠方の物体検知を高精度に行うことを可能にしている。
なお、上記問題に対する別の対処方法として、例えば、測距点を増やすことが考えられる。すなわち、上記態様において、レーザー光線の本数を増やすことで、高精度な物体検知を維持することが考えられる。しかしながら、このような方法で検知を確実にしようとすると、測距点の増大と、検知速度とがトレードオフの関係にあることから、簡易な構成で検知を十分に迅速に行えるとは限らなくなってしまう。本実施形態では、測距点を増やすことなく、簡易な構成で、迅速で確実な物体検知を可能にしている。
以上のように、本実施形態に係る物体検知装置100は、3次元距離データを取得する測距部50と、3次元空間を所定の角度範囲ごとかつ所定の距離ごとに分割して形成された複数のエリアを有する3次元極座標グリッドマップにより、測距部50で取得した3次元距離データDDに基づく物体の有無を検知する検知部20とを備える。上記構成により、物体検知装置100では、3次元極座標グリッドマップにおける複数のエリアを形成する各ブロックBLが、3次元極座標について所定の角度範囲ごとかつ所定の距離ごとに分割して形成されているため、エリア間すなわちブロックBL間での検知精度のバラツキを抑えることができる。したがって、例えば測距部50で取得される3次元距離データDDが少ない場合すなわち測距点数が少ない簡易な構成であっても、検知部20における物体の有無の検知に関して、遠方の物体検知を高精度に行うことが可能になる。
〔その他〕
この発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
まず、上記では、測距部50における測距に関して、走査部2においてMEMSミラーを二次元駆動させることで、レーザー光を走査させるものとしているが、上記目的を達成可能な手法であれば、MEMSミラーに限らず、種々の手法で測距を行うことが可能である。また、二次元スキャン(二次元走査)において、リサージュ(またはリサジュー)パターンを形成するリサージュ型の走査を行う場合のほか、ラスタスキャン型の走査を行うものとしてもよい。さらに、リサージュ型やラスタスキャン型のように、測定対象範囲RRについて端から端まで光(ビーム)を振るのではなく、測定対象範囲RRのうち任意のところに光を当てる構成としてもよい。例えば液晶偏光回折素子を利用して、上記のような走査の制御を行うことができる。このための液晶偏光回折素子は、2つの屈折率を持つフィルムと光の偏光状態を変える液晶素子とを多層積層したものであり、これを通過する光線の方向を離散的に任意の方向に変化させることができる。また、上記のような液晶偏光回折素子に代えてオプティカルフェーズドアレイ(OPA:Optical Phased Array)を用いたものであってもよい。オプティカルフェーズドアレイは、分岐によって複数のチャンネルを通過する光の位相をそれぞれ制御することにより、出力光ビームの方向を任意の方向に変化させることができる。
また、上記のような走査による測距に限らず、例えばステレオカメラやTOF(Time-of-Flight)カメラ等による測距を行う場合に、本願を適用することも可能である。すなわち、ステレオカメラ等の種々の手法で取得した測距データについて、本実施形態で例示した3次元極座標グリッドマップに照合することで、高精度な物体検知が可能となる。
また、走査範囲についても種々変更可能なものとしてもよい。さらに、走査範囲におけるレーザー光の疎密度合いを検知範囲の重要度に応じて変えてもよい。この場合であっても、例えば3次元極座標グリッドマップにおける領域分け(ブロックの形成)をレーザー光の疎密度合いに対応させることで、例えば、各ブロック(各領域、各エリア)におけるレーザー光の本数を同一となる状態を維持できる。
また、上記において、移動体MOの運転については、人が乗って運転をする有人タイプのほか、移動体MOを遠隔操作する場合や、自動運転により移動体MOを動作させる無人タイプとすることも考えられる。例えば、有人タイプや遠隔操作の場合、検知部20が、通知情報RDを警告部ALに出力することで、移動体MOの運転手あるいは移動体MOを遠隔するものに対して注意を促すようにすることが考えられる。一方、無人タイプの場合、すなわち人が介在しない自動運転の場合、検知部20が、通知情報RDを制御部MCに出力することで、自動運転を主体的に行う移動体MOあるいは制御部MC側において、必要な措置をとることを可能にすることが考えられる。
また、上記では、農機等のように地上を走行する移動体MOに搭載されるものとしているが、これに限らず、例えば、図11(A)に例示するように、飛行する移動体MO(ドローン等)に本実施形態に係る物体検知装置100を搭載させてもよい。なお、図示の例では、物体検知装置100は、移動体MOの裏側と表側に一対で設ける第1検知装置100Aと第2検知装置100Bとで構成され、全方位について物体検知可能としている。すなわち、図11(B)に例示する範囲について、偏角θのうち、0°から90°あるいはそれ以上の角度範囲を第1検知装置100A側で検知し、90°あるいはそれ以下の角度から180°までの角度範囲を第2検知装置100B側で検知し、偏角φについては、図11(C)に例示するように、0°から360°までについて各検知装置100A,100Bにおいてそれぞれ対応可能とすることで、全方位について検知できる。