特許文献1に開示された障害物検出センサは、二次元空間に放射状に走査した測定光と物体からの反射光に基づいて物体までの距離を二次元空間において測定する距離測定器と、当該距離測定器で測定された距離が当該二次元空間に画定された検出エリア内の距離であるときに当該距離に対応する物体が障害物であると判定する判定手段を備えて構成されている。
当該障害物検出センサを無人搬送車に搭載することにより、例えば無人搬送車の進行方向前方に位置する障害物を検知して無人搬送車が自動減速または自動停止するために用いられる。
しかし、当該障害物検出センサは測定光が二次元空間に走査されるものであったため、走査される二次元空間より低い位置や高い位置に物体が存在してもその物体を検出することができないという不都合があった。
そこで、特許文献2に開示されたような偏向装置を用いて測定光を二次元的に走査することで三次元空間に存在する物体の位置情報を検出し、検出した物体の位置情報が予め設定された三次元の物体検知領域に存在するか否かを判定する物体判定装置を設けることで三次元空間に対応した物体検出装置を構成することができる。
しかしながら、二次元的に走査された測定光により検出される物体の位置情報の数は非常に多く、また検出対象ではない雨霧やゴミ・虫、さらには床面や天井などから反射された本来判定対象から除外すべき情報も含まれる。そのため、三次元の位置情報より得られる被測定物の属性に基づいて、判定対象物であるか非判定対象物であるかを判別し、判定対象物と判別した個々の位置情報が三次元の物体検知領域に存在するか否かを個別に判定する場合には、演算負荷が非常に高くなるという課題があった。
また、三次元の物体検知領域を予め設定する場合は、二次元の物体検知領域を設定する場合に比べて領域を画定する基準点がかなり増えるため、その作業自体が煩雑になるという課題があった。
例えば、二次元的に測定光を走査する障害物検出センサを無人搬送車に搭載する場合には、無人搬送車が走行する床面だけでなく天井面および側壁面などでの反射があるので、測定光により検出される位置情報の数が非常に多くなる。そのため、走行方向に存在する障害物を検出するには、少なくとも床面、天井面および側壁面を物体検知領域から除くように物体検知領域を設定する作業が非常に煩雑となっていた。
このような課題に対応するためには、演算処理能力の高いCPUを採用することが必要になるが、費用対効果の観点でそのような演算処理能力の高い高価なCPUを採用することは非常に困難である。一方で安価なCPUを用いると演算時間が非常に長くなり、測定光の走査周期内で演算処理を完結できず、リアルタイム性が損なわれるという問題があった。
本発明の目的は、上述した問題点に鑑み、高価なCPUを用いることなく、リアルタイム性を実現でき、物体検知領域の設定が容易な三次元の物体検出装置、物体検出システム、物体検出プログラムおよび物体検出方法を提供する点にある。
上述の目的を達成するため、本発明による物体検出装置の第一の特徴構成は、発光素子から出射された測定光を二次元的に走査して前記測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる前記測定光と前記反射光との物理関係および前記測定光の走査方向に基づいて、三次元座標系における所定の始点から前記物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成部と、前記三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、前記基準平面と直交する鉛直軸に投影した前記三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成部と、前記基準平面に物体検知領域を生成する物体検知領域生成部と、前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定部と、を備え、前記三次元位置ベクトルは動径r
3
、第1偏角θ、第2偏角φで定義され、前記第1偏角θおよび前記第2偏角φが前記光走査装置により走査される前記測定光の走査方向に対応する球面座標系(r
3
,θ,φ)で表されるとともに、前記二次元位置ベクトルは動径r
2
、偏角ηで定義される極座標系(r
2
,η)で表され、前記第2の位置ベクトル生成部は前記球面座標系(r
3
,θ,φ)で表される前記三次元位置ベクトルを前記極座標系(r
2
,η)で表される前記二次元位置ベクトルに変換するように構成され、前記物体判定部は前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置するか否かを所定の偏角判定ピッチΔηで判定するように構成され、前記第2の位置ベクトル生成部は各二次元位置ベクトルの偏角を予め設定された規則に基づいて前記偏角判定ピッチΔηに対応付けて丸め込み処理するように構成され、前記物体判定部は同一の偏角に丸め込み処理した前記二次元位置ベクトルの総数に基づいて当該偏角に含まれる前記二次元位置ベクトルを判定対象とするか否かを決定する、ように構成されている点にある。
物体検出装置は、第1の位置ベクトル生成部と第2の位置ベクトル生成部と物体検知領域生成部と物体判定部を備えている。光走査装置から得られる測定光と反射光との物理関係および測定光の走査方向に基づいて第1の位置ベクトル生成部によって三次元位置ベクトルが生成される。当該三次元位置ベクトルによって三次元座標系における所定の始点から物体の照射位置までの距離および方向が特定される。第2の位置ベクトル生成部によって当該三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルが生成され、当該三次元位置ベクトルを基準平面と直交する鉛直軸に投影してその始点から終点までの距離である鉛直距離が算出される。物体検知領域生成部によって基準平面に物体検知領域が画定され、物体判定部によって二次元位置ベクトルの終点が物体検知領域の内部に位置する場合に物体が存在すると判定される。
つまり、三次元位置ベクトルを二次元位置ベクトルに変換することによりデータ数を大幅に減少させることができ、二次元位置ベクトルの終点が二次元座標系に画定された物体検知領域に位置するか否かにより物体の有無を判定すればよいため、大幅に演算負荷が低減できるようになり、高価なCPUを用いることなく、リアルタイム性を実現できる物体検出装置を実現できるようになる。
三次元位置ベクトルを、第1偏角θおよび第2偏角φが光走査装置により走査される測定光の走査方向に対応し、動径r
3
が所定の始点から物体の照射位置までの距離となる球面座標系(r
3
,θ,φ)で表わし、三次元位置ベクトルが二次元座標系に投影された二次元位置ベクトルを極座標系(r
2
,η)で表わすことにより演算負荷を軽減できるようになる。なお、所定の始点を光走査装置の設置位置とすることが好ましいが、三次元位置ベクトルの終点位置が定まる限り、始点を光走査装置の設置位置に限定する必要はない。また、球面座標系(r
3
,θ,φ)の偏角φと極座標系(r
2
,η)の偏角ηが同一平面上の偏角であることが好ましいが、異なる平面上の偏角であってもよい。
第2の位置ベクトル生成部により各三次元位置ベクトルから生成される各二次元位置ベクトルの偏角ηの分解能が高い場合には、物体判定部は極座標系(r
2
,η)で表わされる二次元位置ベクトルの終点が物体検知領域の内部に位置するか否かの判定をその分解能に応じて実行する必要がある。しかし、物体判定部を二次元位置ベクトルの偏角ηの分解能より低い分解能となる所定の偏角判定ピッチΔηで判定するように構成する場合には、判定に要する演算負荷を低減できるようになる。そのため、各二次元位置ベクトルの偏角を予め設定された規則に基づいて偏角判定ピッチΔηに対応付けて丸め込み処理することが好ましい。予め設定された規則とは丸め込み処理のための規則をいい、適宜設定することができる規則であり特に限定されるものではない。
同一の偏角に丸め込み処理した二次元位置ベクトルの総数が多いと、対応する偏角判定ピッチΔηの間に検出された測定点が多い、つまり物体の物理的サイズが大きいと判定でき、逆に同一の偏角に丸め込み処理した二次元位置ベクトルの総数が少ないと、物体の物理的サイズが小さくノイズとして判定することができる。例えば、二次元位置ベクトルのスカラー量に基づいてグループ化して代表ベクトルを設定するなどのフィルタ処理を行なうことで、判定対象となるデータ数の削減による演算負荷の低減を図ることができる。
同第二の特徴構成は、発光素子から出射された測定光を二次元的に走査して前記測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる前記測定光と前記反射光との物理関係および前記測定光の走査方向に基づいて、三次元座標系における所定の始点から前記物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成部と、前記三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、前記基準平面と直交する鉛直軸に投影した前記三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成部と、前記基準平面に物体検知領域を生成する物体検知領域生成部と、前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定部と、を備え、前記第2の位置ベクトル生成部は前記鉛直距離に基づいて前記二次元位置ベクトルを複数のグループに分割するように構成され、物体検知領域生成部は各グループに対応して前記物体検知領域を其々生成するように構成され、前記物体判定部は前記グループ毎に前記二次元位置ベクトルの終点が対応する物体検知領域の内部に位置する場合に物体が存在すると判定するように構成されている点にある。
第一の特徴構成と同様に、物体検出装置は、第1の位置ベクトル生成部と第2の位置ベクトル生成部と物体検知領域生成部と物体判定部を備えている。光走査装置から得られる測定光と反射光との物理関係および測定光の走査方向に基づいて第1の位置ベクトル生成部によって三次元位置ベクトルが生成される。当該三次元位置ベクトルによって三次元座標系における所定の始点から物体の照射位置までの距離および方向が特定される。第2の位置ベクトル生成部によって当該三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルが生成され、当該三次元位置ベクトルを基準平面と直交する鉛直軸に投影してその始点から終点までの距離である鉛直距離が算出される。物体検知領域生成部によって基準平面に物体検知領域が画定され、物体判定部によって二次元位置ベクトルの終点が物体検知領域の内部に位置する場合に物体が存在すると判定される。
つまり、三次元位置ベクトルを二次元位置ベクトルに変換することによりデータ数を大幅に減少させることができ、二次元位置ベクトルの終点が二次元座標系に画定された物体検知領域に位置するか否かにより物体の有無を判定すればよいため、大幅に演算負荷が低減できるようになり、高価なCPUを用いることなく、リアルタイム性を実現できる物体検出装置を実現できるようになる。
そして、三次元の物体検知領域を画定する必要がある場合など、鉛直距離に応じて異なる物体検知領域を画定する必要があるような場合に、鉛直距離に基づいて二次元位置ベクトルを複数のグループに分割し、グループ毎に異なる物体検知領域を画定することで、様々な三次元の物体検知領域に柔軟に対応した物体判定が可能になる。
同第三の特徴構成は、上述した第一または第二の特徴構成に加えて、前記物体検知領域は、前記三次元座標系に画定された三次元物体検知領域を前記基準平面に投影して得られる領域である点にある。
第1の位置ベクトル生成部によって生成される三次元位置ベクトルは、三次元空間に存在する床面、路面、天井面または側壁面など、本来除外すべき多くの物体が含まれる。そのような場合であっても、本来除外すべき物体が含まれないような三次元物体検知領域を基準平面に投影して得られる領域を物体検知領域とすることができる。
同第四の特徴構成は、上述した第一から第三の何れかの特徴構成に加えて、前記第2の位置ベクトル生成部により生成された二次元位置ベクトルが、前記三次元座標系において前記光走査装置が所定の基準姿勢で設置された場合に得られる二次元位置ベクトルとなるように、姿勢検知部から得られる前記光走査装置の姿勢情報に基づいて校正する校正処理部を備えている点にある。
三次元座標系としてワールド座標系またはローカル座標系の何れを採用する場合であっても、正確に物体を検知するためには基準平面を含む三次元座標系と光走査装置が二次元的に走査する測定光の座標系との間で座標の整合を図る必要があり、双方の座標系がずれている場合には整合を図るための座標変換処理が必要となる。例えば、平行移動処理や回転処理などの座標変換処理である。
そのために姿勢検知部から得られる光走査装置の姿勢情報に基づいて、光走査装置が所定の基準姿勢で設置された場合に得られる二次元位置ベクトルとなるように座標変換する校正処理が校正処理部によって実行される。所定の基準姿勢とは三次元座標系と光走査装置のローカルな座標系の関係が一義的に定まった姿勢をいう。
例えば第1の位置ベクトル生成部に当該校正処理部を備えて、測定光の座標系に基づいて得られる三次元位置ベクトルを校正(座標変換)して当該三次元座標系の三次元位置ベクトルを生成して第2の位置ベクトル生成部に出力してもよいし、例えば第2の位置ベクトル生成部に当該校正処理部を備えて、第1の位置ベクトル生成部から出力される測定光の座標系に基づく三次元位置ベクトルから基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成する際に校正(座標変換)してもよい。
同第五の特徴構成は、上述した第四の特徴構成に加えて、前記姿勢情報は静的な姿勢情報および/または動的な姿勢情報を含み、前記校正処理部は前記光走査装置の走査周期に同期して校正する点にある。
静的な姿勢情報とは三次元座標系に対する光走査装置の取付姿勢や光走査装置が取り付けられた機器の姿勢を示す情報をいう。動的な姿勢情報とは光走査装置自体の動きや光走査装置が取り付けられた機器の動きにより時間的に変化する姿勢を示す情報をいい、例えば光走査装置が無人搬送台車に取り付けられた場合に無人搬送台車の走行に伴って発生するピッチングやローリングなどで変化する姿勢情報をいう。校正処理部は光走査装置の走査周期に同期してこれらの姿勢情報に基づいて校正処理を行なうことで、実質的にはリアルタイムな校正処理が可能になる。
同第六の特徴構成は、上述した第四または第五の特徴構成に加えて、前記校正処理部は、前記姿勢情報と、前記三次元位置ベクトルに基づいて得られる所定の測定対象面と前記光走査装置との相対姿勢と、の双方に基づいて校正する点にある。
光走査装置を用いて所定の測定対象面上の物体の有無を判定する場合に、上述の姿勢情報のみに基づいて校正処理が実行されると、所定の測定対象面上の物体の有無を判定することが困難となる場合が生じる。例えば、光走査装置を設置した無人搬送車が測定対象面として平坦な路面の走行から傾斜した路面の走行に切り替わったような場合に姿勢情報のみに基づいて校正処理すると、物体検知領域との間でずれが生じて正確な物体判定が困難になる。そのような場合に備えて、三次元位置ベクトルに基づいて得られる所定の測定対象面と前記光走査装置との相対姿勢を加味して校正処理することで、正確な物体判定が可能になる。
例えば、走行路面に対して無人搬送車に生じるローリングやピッチングと、走行路面自体が傾斜していることの差異を判別することが可能になる。すなわちローリングやピッチングが生じた場合は三次元位置ベクトルに基づいて得られる走行路面の検出位置の変化と、姿勢検知部から得られる光走査装置の姿勢情報の変化とが一致するのに対して、走行路面が傾斜している場合は三次元位置ベクトルに基づいて得られる走行路面の検出位置は変化しないが、姿勢検知部から得られる光走査装置の姿勢情報は変化する。走行路面に沿って基準平面が画定されるような場合に、走行路面が傾斜していることのみによる校正処理を回避することで、正確な物体判定が可能になる。
同第七の特徴構成は、上述した第一の特徴構成に加えて、前記第2の位置ベクトル生成部は前記球面座標系(r3,θ,φ)で表される前記三次元位置ベクトルを前記極座標系(r2,η)で表される前記二次元位置ベクトルに変換する座標変換テーブルを備え、前記座標変換テーブルに基づいて前記三次元位置ベクトルを前記二次元位置ベクトルに変換する点にある。
球面座標系(r3,θ,φ)で表される三次元位置ベクトルを極座標系(r2,η)で表される二次元位置ベクトルに変換するために、個々に座標変換演算を行なう必要はなく、予め座標変換演算を行なった結果を備えた座標変換テーブル上のデータを参照することにより座標変換することができるようになり、演算負荷を大きく軽減できるようになる。
同第八の特徴構成は、上述した第一または第七の特徴構成に加えて、隣接する偏角ηまたは同一偏角ηに存在する前記二次元位置ベクトルの動径r2の偏差が第1の所定値以下となる関係を有する一群の二次元位置ベクトルを同一の判定対象物体として抽出し、当該一群の二次元位置ベクトルから求めた代表ベクトルを前記物体判定部の判定対象とする点にある。
例えば、二次元位置ベクトルの向きに沿う検出対象物体の厚みに基づいて第1の所定値を設定することにより、隣接する偏角ηまたは同一偏角ηに存在する二次元位置ベクトルの動径r2の偏差が第1の所定値以下となる一群の二次元位置ベクトルを同一の判定対象物体として取り扱うことができ、当該一群の二次元位置ベクトルから求めた代表ベクトルを前記物体判定部の判定対象とすることで演算負荷を大きく低減できるようになる。代表ベクトルとして、例えば、動径r2が最小となる二次元位置ベクトル、動径r2が最大となる二次元位置ベクトル、動径r2が中央値を示す二次元位置ベクトル、動径r2が平均値を示す位置ベクトル、一群の二次元位置ベクトルの重心となる位置ベクトルなどを採用することができる。
同第九の特徴構成は、上述した第八の特徴構成に加えて、隣接する偏角ηまたは同一偏角ηに其々存在する前記二次元位置ベクトルの動径r2の偏差が第2の所定値より大となる二次元位置ベクトルを孤立点として判定対象物体から除去する点にある。
例えば、二次元位置ベクトルの向きに沿う検出対象物体の厚みに基づいて第2の所定値を設定することにより、隣接する偏角ηまたは同一偏角ηに存在する二次元位置ベクトルの動径r2の偏差が第2の所定値より大となる二次元位置ベクトルを互いに異なる物体と判定することができ、同一の判定対象物体として取り扱うことができないと判定された物体を孤立点として判定対象物体から除去することによりさらに演算負荷を軽減できるようになる。なお、第1の所定値と第2の所定値が同じ値であってもよい。
同第十の特徴構成は、上述した第一、第七から第九の何れかの特徴構成に加えて、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する前記鉛直距離の偏差が第3の所定値以下となる関係を有する一群の二次元位置ベクトルを同一の判定対象物体として抽出し、当該一群の二次元位置ベクトルから求めた代表ベクトルを前記物体判定部の判定対象とする点にある。
鉛直距離とは第2の位置ベクトル生成部によって生成された二次元位置ベクトル毎に求められ、基準平面と直交する鉛直軸に三次元位置ベクトルを投影した際のその始点から終点までの距離である。例えば、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する鉛直距離の偏差が第3の所定値以下となる一群の二次元位置ベクトルを同一の判定対象物体として取り扱うことができ、当該一群の二次元位置ベクトルから求めた代表ベクトルを前記物体判定部の判定対象とすることで演算負荷を大きく低減できるようになる。代表ベクトルとして、例えば、動径r2が最小となる二次元位置ベクトル、動径r2が最大となる二次元位置ベクトル、動径r2が中央値を示す二次元位置ベクトル、動径r2が平均値を示す位置ベクトル、一群の二次元位置ベクトルの重心となる位置ベクトルなどを採用することができる。
同第十一の特徴構成は、上述した第十の特徴構成に加えて、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する前記鉛直距離の偏差が第4の所定値より大となる二次元位置ベクトルを孤立点として判定対象物体から除去する点にある。
例えば、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する鉛直距離の偏差が第4の所定値より大となる二次元位置ベクトルを互いに異なる物体と判定することができ、同一の判定対象物体として取り扱うことができないと判定された物体を孤立点として判定対象物体から除去することによりさらに演算負荷を軽減できるようになる。なお、第3の所定値と第4の所定値が同じ値であってもよい。
同第十二の特徴構成は、上述した第一から第十一の何れかの特徴構成に加えて、前記第2の位置ベクトル生成部は前記鉛直距離に基づいて前記二次元位置ベクトルを複数のグループに分割するように構成され、物体検知領域生成部は各グループに対応して前記物体検知領域を其々生成するように構成され、前記物体判定部は前記グループ毎に前記二次元位置ベクトルの終点が対応する物体検知領域の内部に位置する場合に物体が存在すると判定する点にある。
三次元の物体検知領域を画定する必要がある場合など、鉛直距離に応じて異なる物体検知領域を画定する必要があるような場合に、鉛直距離に基づいて二次元位置ベクトルを複数のグループに分割し、グループ毎に異なる物体検知領域を画定することで、様々な三次元の物体検知領域に柔軟に対応した物体判定が可能になる。
同第十三の特徴構成は、上述した第一から第十二の何れかの特徴構成に加えて、前記第2の位置ベクトル生成部は前記鉛直距離が第1の閾値以上でかつ前記第1の閾値より大きい第2の閾値以下の値となる二次元位置ベクトルを選択的に生成する点にある。
第2の位置ベクトル生成部によって、個々の三次元位置ベクトルから鉛直距離が第1の閾値以上でかつ第1の閾値より大きい第2の閾値以下の二次元位置ベクトルが選択的に生成されるので、明らかに三次元で画定される物体検知領域の外部に存在するような物体を判定対象物体から排除することができ、演算負荷を軽減できるようになる。
本発明による物体検出プログラムの第一の特徴構成は、コンピュータに、発光素子から出射された測定光を二次元的に走査して前記測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる前記測定光と前記反射光との物理関係および前記測定光の走査方向に基づいて、三次元座標系における所定の始点から前記物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成部と、前記三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、前記基準平面と直交する鉛直軸に投影した前記三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成部と、前記基準平面に物体検知領域を生成する物体検知領域生成部と、前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定部と、して機能させる物体検出プログラムであって、前記三次元位置ベクトルは動径r
3
、第1偏角θ、第2偏角φで定義され、前記第1偏角θおよび前記第2偏角φが前記光走査装置により走査される前記測定光の走査方向に対応する球面座標系(r
3
,θ,φ)で表されるとともに、前記二次元位置ベクトルは動径r
2
、偏角ηで定義される極座標系(r
2
,η)で表され、前記第2の位置ベクトル生成部は前記球面座標系(r
3
,θ,φ)で表される前記三次元位置ベクトルを前記極座標系(r
2
,η)で表される前記二次元位置ベクトルに変換するように構成され、前記物体判定部は前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置するか否かを所定の偏角判定ピッチΔηで判定するように構成され、前記第2の位置ベクトル生成部は各二次元位置ベクトルの偏角を予め設定された規則に基づいて前記偏角判定ピッチΔηに対応付けて丸め込み処理するように構成され、前記物体判定部は同一の偏角に丸め込み処理した前記二次元位置ベクトルの総数に基づいて当該偏角に含まれる前記二次元位置ベクトルを判定対象とするか否かを決定する、ように構成されている点にある。
同第二の特徴構成は、コンピュータに、発光素子から出射された測定光を二次元的に走査して前記測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる前記測定光と前記反射光との物理関係および前記測定光の走査方向に基づいて、三次元座標系における所定の始点から前記物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成部と、前記三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、前記基準平面と直交する鉛直軸に投影した前記三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成部と、前記基準平面に物体検知領域を生成する物体検知領域生成部と、前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定部と、して機能させる物体検出プログラムであって、前記第2の位置ベクトル生成部は前記鉛直距離に基づいて前記二次元位置ベクトルを複数のグループに分割するように構成され、物体検知領域生成部は各グループに対応して前記物体検知領域を其々生成するように構成され、前記物体判定部は前記グループ毎に前記二次元位置ベクトルの終点が対応する物体検知領域の内部に位置する場合に物体が存在すると判定する点にある。
本発明による物体検出方法の第一の特徴構成は、発光素子から出射された測定光を二次元的に走査して前記測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる前記測定光と前記反射光との物理関係および前記測定光の走査方向に基づいて、三次元座標系における所定の始点から前記物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成ステップと、前記三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、前記基準平面と直交する鉛直軸に投影した前記三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成ステップと、前記基準平面に物体検知領域を生成する物体検知領域生成ステップと、前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定ステップと、を備え、前記三次元位置ベクトルは動径r
3
、第1偏角θ、第2偏角φで定義され、前記第1偏角θおよび前記第2偏角φが前記光走査装置により走査される前記測定光の走査方向に対応する球面座標系(r
3
,θ,φ)で表されるとともに、前記二次元位置ベクトルは動径r
2
、偏角ηで定義される極座標系(r
2
,η)で表され、前記第2の位置ベクトル生成ステップは前記球面座標系(r
3
,θ,φ)で表される前記三次元位置ベクトルを前記極座標系(r
2
,η)で表される前記二次元位置ベクトルに変換するように構成され、前記物体判定ステップは前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置するか否かを所定の偏角判定ピッチΔηで判定するように構成され、前記第2の位置ベクトル生成ステップは各二次元位置ベクトルの偏角を予め設定された規則に基づいて前記偏角判定ピッチΔηに対応付けて丸め込み処理するように構成され、
前記物体判定ステップは同一の偏角に丸め込み処理した前記二次元位置ベクトルの総数に基づいて当該偏角に含まれる前記二次元位置ベクトルを判定対象とするか否かを決定する、ように構成されている点にある。
同第二の特徴構成は、発光素子から出射された測定光を二次元的に走査して前記測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる前記測定光と前記反射光との物理関係および前記測定光の走査方向に基づいて、三次元座標系における所定の始点から前記物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成ステップと、前記三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、前記基準平面と直交する鉛直軸に投影した前記三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成ステップと、前記基準平面に物体検知領域を生成する物体検知領域生成ステップと、前記二次元位置ベクトルの終点が前記物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定ステップと、を備え、前記第2の位置ベクトル生成ステップは前記鉛直距離に基づいて前記二次元位置ベクトルを複数のグループに分割するように構成され、物体検知領域生成ステップは各グループに対応して前記物体検知領域を其々生成するように構成され、前記物体判定ステップは前記グループ毎に前記二次元位置ベクトルの終点が対応する物体検知領域の内部に位置する場合に物体が存在すると判定するように構成されている点にある。
以上説明した通り、本発明によれば、高価なCPUを用いることなく、リアルタイム性を実現でき、物体検知領域の設定が容易な三次元の物体検出装置、物体検出システム、物体検出プログラムおよび物体検出方法を提供することができるようになった。
以下、本発明による物体検出装置、物体検出システム、物体検出プログラムおよび物体検出方法を説明する。
[三次元測距装置の構成]
図1(a)には、光走査装置10が組み込まれた三次元測距装置1の外観が示されている。当該三次元測距装置1は、TOF方式が採用され、略球面状の半透明の光学窓3を備えたケーシング2と、ケーシング2に収容された光走査装置10を備えている。光走査装置10に備えた偏向ミラー12からパルス状の測定光が測定対象となる外部空間に二次元的に走査される。
図2には、三次元測距装置1の内部構造が示されている。三次元測距装置1は発光素子4と、受光素子5と、光走査装置10を備えている。発光素子4として、発光波長領域が近赤外域のレーザダイオードが用いられ、受光素子5としてアバランシェフォトダイオードが用いられる。
光走査装置10は、発光素子4から出射された測定光を二次元的に走査して測定光が照射された物体100(図1(a)参照)からの反射光を受光素子5に導くように構成されている。
光走査装置10は、偏向ミラー12と、偏向ミラー12を横軸心P1周りに揺動駆動する第1偏向機構20と、偏向ミラー12を縦軸心P2周りに回転駆動する第2偏向機構25と、第1偏向機構20および第2偏向機構25に電力を給電する非接触給電部27を備えている。
第1偏向機構20は偏向ミラー12の背面側に配置されたコイル基板と、偏向ミラー12の両端側に設置された一対の永久磁石23を備えて構成され、コイル基板のコイルに流れる交流電流と永久磁石23により形成される磁界とによってコイルに作用するローレンツ力により、左右一対の梁部24,24で支持した偏向ミラー12を繰り返し揺動するように構成されている。第1偏向機構20によって測定光は垂直方向に揺動走査される。
第2偏向機構25は基台8の上部に設置されたモータMと、モータMの回転軸に回転可能に連結された回転体26を備えて構成され、回転体26の上部に第1偏向機構20が取り付けられている。第2偏向機構25によって測定光は水平方向に回転走査される。
モータMとしてコイルが巻回されたステータの内側に永久磁石が配されたロータを備えたインナーロータ型のDCブラシレスモータやステッピングモータが用いられている。
図2には明示されていないが、非接触給電部27は、上述したモータMおよび回転体26のそれぞれの外周に配置された珪素鋼製の一対の環状のコイル支持部28と、各コイル支持部28に僅かな隙間を隔てて互いに対向するように巻回された銅線のコイルを備えて構成され、電磁誘導方式によりモータM側に配されたコイルから回転体26側に配されたコイルに電力が非接触で給電されるように構成されている。
発光素子4から出射されたレーザ光は集光光学系を介して平行光に波形整形された後に案内光路41を介して偏向ミラー12に入射して外部空間に二次元的に走査される。外部空間に存在する物体に測定光が照射されると、その反射光が偏向ミラー12に入射して集光レンズ7に向けて偏向され、さらに偏向ミラー6を介して受光部5に入射する。
三次元測距装置1には、モータMの回転速度を検出するエンコーダと、エンコーダの出力に基づいてモータMの回転速度を制御するモータ制御部や、偏向ミラー12の背面側に配置されたコイル基板のコイルに印加する交流電流の周波数や電流値を調節して第1偏向機構20による偏向ミラー12の揺動周期を制御する揺動制御部を備えている。さらにエンコーダの出力に同期して発光素子4を点滅制御する発光制御部などを備えている。
図1(b)には、三次元測距装置1から走査されるパルス状の測定光の軌跡29が例示されている。本実施形態では、三次元測距装置1は基台8が水平姿勢に設置された場合に、第1偏向機構20によって水平方向に対して下側に-5度、上側に+35度の範囲(つまり垂直走査中心に対して±20度の範囲)、精度±2度、走査速度1200Hzで測定光が垂直方向に往復走査される。また、第2偏向機構25によって水平方向に210度の範囲、精度±0.125度、走査速度20Hzで測定光が走査される。その結果、図1(b)に示すような測定光の軌跡29となる。なお、水平方向への走査周期ごとに測定光の出射タイミングをずらせるようなインターレース方式で測定光を駆動すれば分解能を上げることができる。
三次元測距装置1は、ケーシング2の内部に設置された光走査装置10から球面状の光学窓3を介して波長領域が赤外域のパルス状の測定光を三次元空間に向けて走査し、光走査装置10から得られる測定光と反射光との物理関係および測定光の走査方向に基づいて、光走査装置10から物体100までの距離および方向を求めるための装置である。本実施形態では、TOF方式を採用しているので、測定光と反射光との物理関係として発光素子4からの測定光の出射時期と受光素子5による反射光の検出時期との時間差に基づいて距離を算出することができる。なお、測定光をAM(振幅)変調された連続光として、測定光と反射光との物理関係として位相差を用いて距離を算出する位相差方式を採用することも可能である。
[物体検出装置の説明]
図3に示すように、本発明による物体検出装置30は、上述した三次元測距装置1からの出力に基づいて、ある測定対象空間に画定された三次元の物体検知領域R3に存在する物体を検知するための装置である。
上述した三次元測距装置1から一走査周期で数千点から数十万点の測定データが出力される。そのような大容量の測定データを一走査周期、例えば20Hzであれば50msec.で演算処理するためには、非常に高速で高価なCPUが必要になる。しかし、本発明による物体検出装置30は、比較的安価なCPUであっても一走査周期で演算処理を完結でき、リアルタイム性を確保できるように構成されている。以下に詳述する。
図4に示すように、物体検出装置30は、第1の位置ベクトル生成部31と、第2の位置ベクトル生成部32と、物体検知領域設定部33と、物体検知領域生成部34と、物体判定部35を備えている。
第1の位置ベクトル生成部31は、発光素子4から出射された測定光を二次元的に走査して測定光が照射された物体からの反射光を受光素子5に導く光走査装置10から得られる測定光と反射光との物理関係および測定光の走査方向に基づいて、三次元座標系における所定の始点から物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する演算処理回路である。
第2の位置ベクトル生成部32は、三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、基準平面と直交する鉛直軸に三次元位置ベクトルの始点から終点まで投影した鉛直距離を算出する演算処理回路である。
物体検知領域設定部33は、予め基準平面に単一または複数の物体検知領域を画定して記憶部に記憶するとともに管理する演算処理回路である。物体検知領域は、測定対象空間である三次元座標系に画定した三次元の物体検知領域を基準平面に投影して得られる領域であってもよい。三次元の物体検知領域は測定対象空間に本来的に存在する固定構造物など検出対象とはならない物体の存在領域を除外領域として画定し、当該除外領域以外の領域を三次元の物体検知領域としてもよい。以下、基準平面に画定された二次元の物体検知領域を、単に物体検知領域と表記する。
予め可搬性メモリなどに格納された物体検知領域を、メモリインタフェースを介して物体検知領域設定部33が読み込み、あるいは外部コンピュータなどと通信ケーブルまたは無線通信インタフェースを介して接続し、外部コンピュータから入力するような構成であてもよい。
物体検知領域生成部34は、物体検知領域設定部33により設定された三次元の物体検知領域に基づいて基準平面に画定される二次元の物体検知領域を生成し、または、物体検知領域設定部33により設定された複数の物体検知領域から物体判定の対象とすべき物体検知領域を選択して物体検知領域の境界情報を生成する演算処理回路である。
物体判定部35は、二次元位置ベクトルの終点が物体検知領域の境界情報に基づいて物体検知領域の内部に位置するか否かを判断して、内部に位置する場合に三次元の検知領域に物体が存在すると判定する演算処理回路である。物体検知領域が三次元座標系に画定した三次元の物体検知領域を基準平面に投影して得られる領域である場合には、物体判定部35での判定結果は、三次元の物体検知領域において物体が存在するか否かを判定した場合の結果と実質的に等しいとみなすことができる。
物体検出装置30は、CPUと記憶部および入出力インタフェースを含む周辺回路を備えて構成され、記憶部に格納された物体検出プログラムをCPUが読み出して実行することにより上述した各機能を備えた演算処理回路が具現化される。
[物体検出装置により実行される物体判定処理の説明]
図5(a)には、球面座標系(r3,θ,φ)の中心と原点OとするX,Y,Z三次元直交座標系とを重ねた座標系が示されている。第1の位置ベクトル生成部31により生成される三次元位置ベクトルは動径r3、Z軸からの傾斜角度である第1偏角θ、三次元位置ベクトルのXY平面への投影ベクトルとX軸とのなす角度である第2偏角φで定義される。
つまり、第1偏角θおよび第2偏角φを用いて光走査装置10により走査される測定光の走査方向に対応する球面座標系(r3,θ,φ)が表される。図5(a)に二点鎖線で示された領域は三次元座標系に画定された物体検知領域R3である。
動径r3は原点Oから物体表面の反射点P3までの距離を示し、第1偏角θを用いてX,Y平面から反射点Pまでの仰角(π/2-θ)を示し、第2偏角φは原点Oから反射点Pまでの線分をX,Y平面上へ正射影した線分とX軸とのなす角度を示す。この図では、X,Y座標系が基準平面となる所定の二次元座標系となる。
球面座標系(r3,θ,φ)のX,Y,Z三次元直交座標系への変換式は以下の数式Aの通りである。
X=r3×cos(π/2-θ)×cos(φ)
=r3×sin(θ)×cos(φ)
Y=r3×cos(π/2-θ)×sin(φ)
=r3×sin(θ)×sin(φ)
Z=r3×sin(π/2-θ)=r3×cos(θ)
図5(b)に示すように、第2の位置ベクトル生成部32により生成される二次元位置ベクトルは動径r2、偏角ηで定義される極座標系(r2,η)で表される。第2の位置ベクトル生成部32は球面座標系(r3,θ,φ)で表される三次元位置ベクトルを極座標系(r2,η)で表される二次元位置ベクトルに変換するように構成されている。図5(a)に二点鎖線で示された領域は二次元座標系に変換された物体検知領域R2である。
つまり、三次元位置ベクトルP3(r3,θ,φ)を二次元座標系としてのXY平面に投影した二次元位置ベクトルP2(r2,η)を生成する。動径r2は原点Oから物体表面のXY平面への投影点P2までの距離を示し、偏角ηは原点Oと投影点P2を結ぶ線分に対するX軸からの角度を示す。
第2の位置ベクトル生成部32は、さらに、基準平面であるXY平面と直交する鉛直軸に三次元位置ベクトルP3(r3,θ,φ)の始点から終点までを投影した鉛直距離hを算出する。この例では、二次元座標系がXY直交座標系となり、鉛直軸がZ軸となる。
球面座標系(r3,θ,φ)の第2偏角φと極座標系の偏角ηが等しい場合には、球面座標系(r3,θ,φ)のX,Y二次元直交座標系への変換式は以下の数式Bの通りである。
X=r3×sin(θ)×cos(φ)=r2×cos(η)
Y=r3×sin(θ)×sin(φ)=r2×sin(η)
h=r3×cos(θ)
この数式を逆変換することによりr2,ηおよびhを算出することができる。
物体検知領域設定部33により設定された三次元の物体検知領域R3が、例えば図3に示すような筒状の領域である場合には、物体検知領域生成部34は、物体検知領域R3を基準平面となる二次元座標系に投影した二次元の物体検知領域R2を生成する。
三次元の物体検知領域R3の高さが鉛直距離hより十分に高い場合には、物体判定部35は、二次元位置ベクトルP2(r2,η)の終点が基準平面上の物体検知領域R2の内部に位置する場合に三次元の検知領域R3に物体が存在すると判定する。
つまり、第1の位置ベクトル生成部31によって三次元位置ベクトルP3(r3,θ,φ)の終点が三次元空間に画定された三次元の物体検知領域R3に位置するか否かが、三次元位置ベクトルP3(r3,θ,φ)が二次元座標系に投影された二次元位置ベクトルP2(r2,η)の終点が同じく二次元座標系に投影された二次元の物体検知領域R2に位置するか否かにより判定することができるため、大幅に演算負荷が低減できるようになり、高価なCPUを用いることなく、リアルタイム性を実現できる物体検出装置を実現できるようになる。
三次元位置ベクトルを、第1偏角θを用いて定義される仰角(π/2-θ)および第2偏角φが光走査装置により走査される測定光の走査方向に対応し、動径r3が所定の始点から物体の照射位置までの距離となる球面座標系(r3,θ,φ)で表わし、三次元位置ベクトルが二次元座標系に投影された二次元位置ベクトルを極座標系(r2,η)で表わすことにより演算負荷を軽減できるようになる。
なお、物体検知領域設定部33によって設定された物体検知領域が三次元ではなく二次元の物体検知領域R2である場合には、物体検知領域生成部34は当該二次元の物体検知領域R2をそのまま用いて基準平面となるXY二次元座標系に境界情報を生成すればよいので、演算負荷が低減する。
物体検知領域生成部34は、三次元の物体検知領域R3を基準平面となるXY二次元座標系に投影して二次元の物体検知領域R2を生成する必要は必ずしもなく、三次元の物体検知領域R3の内側に位置するように二次元の物体検知領域R2を基準平面上に新たに生成してもよい。二次元の物体検知領域R2を設定すれば、実質的に三次元の物体検知領域を設けるような物体の検知が可能になる。
第1の位置ベクトル生成部31によって生成される三次元位置ベクトルは、三次元空間に存在する床面、路面、天井面または側壁面など、本来除外すべき多くの物体からの反射光に基づくものが含まれる。そのような場合であっても、物体検知領域設定部33は本来除外すべき物体が含まれないような三次元の物体検知領域を画定してもよい。
以上の説明で用いた「投影」との用語は「正射影」の意義で用いたものであるが、正射影でなく傾斜角を持った射影でもよく、その場合に傾斜角に起因する寸法誤差を補正処理することも可能である。
また、所定の始点を光走査装置10(三次元測距装置1)の設置位置とすることが好ましいが、三次元位置ベクトルP3(r3,θ,φ)の終端位置が定まる限り、始点を光走査装置の設置位置に限定する必要はない。
さらに、球面座標系(r3,θ,φ)の偏角φと極座標系(r2,η)の偏角ηが同一平面上の偏角であることが好ましいが、異なる平面上の偏角であってもよい。つまり、第2の位置ベクトル生成部32は、三次元位置ベクトルを基準平面となる任意の二次元座標系に投影した二次元位置ベクトルを生成するとともに当該基準平面と直交する鉛直軸に三次元位置ベクトルを投影してその始点から終点までの距離である鉛直距離を算出するように構成されていればよい。換言すると、図5(a),(b)に示したX,Y,Z三次元直交座標系は理解を容易にするために例示した座標系に過ぎず、二次元座標系はXY直交座標系を構成するXY平面でなくてもよく、XY平面に対してある角度だけ傾斜した平面であってもよい。
上述した例では、三次元位置ベクトルを球面座標系(r3,θ,φ)で定義し、二次元位置ベクトルを極座標系(r2,η)で定義した例を説明したが、三次元位置ベクトルおよび二次元位置ベクトルの双方をX,Y,Z三次元直交座標系で定義してもよいことはいうまでもない。
上述の例では、ワールド座標系の原点を単に平行移動しただけのローカル座標系であるX,Y,Z三次元直交座標系の原点Oに光走査装置10(三次元測距装置1)がXY平面に水平に設置された状態を想定して説明したが、光走査装置10(三次元測距装置1)を無人搬送車(AGV)などの移動体に搭載する場合には、光走査装置10(三次元測距装置1)の取付姿勢がXY平面に水平な姿勢で設置されるとは限らず、また、車両の走行によって生じるピッチ角やロール角の影響を受けて姿勢が変動する場合がある。
そのため単に光走査装置10(三次元測距装置1)から出力される測定光と反射光の物理関係および測定光の走査方向のみに基づいて三次元位置ベクトルを生成すると、取付姿勢やピッチ角やロール角の影響により正確な物体判定処理ができなくなる。
そこで、第2の位置ベクトル生成部32により生成された二次元位置ベクトルが、三次元座標系において光走査装置10が所定の基準姿勢で設置された場合に得られる二次元位置ベクトルとなるように、姿勢検知部36から得られる光走査装置10の姿勢情報に基づいて校正する校正処理部37を備えている。
三次元座標系としてワールド座標系またはローカル座標系の何れを採用する場合であっても、正確に物体を検知するためには基準平面を含む三次元座標系と光走査装置が二次元的に走査する測定光の座標系との間で座標の整合を図る必要があり、双方の座標系がずれている場合には整合を図るための座標変換処理が必要となる。例えば、平行移動処理や回転処理などの座標変換処理である。
そのために姿勢検知部36から得られる光走査装置10の姿勢情報に基づいて、光走査装置10が所定の基準姿勢で設置された場合に得られる二次元位置ベクトルとなるように座標変換する校正処理が校正処理部37によって実行される。所定の基準姿勢とは三次元座標系と光走査装置のローカルな座標系の関係が一義的に定まった姿勢をいう。校正処理部37は第1の位置ベクトル生成部31に備えてもよいし第2の位置ベクトル生成部32に備えてもよい。
例えば第1の位置ベクトル生成部31に当該校正処理部37を備えて、測定光の座標系に基づいて得られる三次元位置ベクトルを校正(座標変換)して当該三次元座標系の三次元位置ベクトルを生成して第2の位置ベクトル生成部に出力してもよいし、例えば第2の位置ベクトル生成部32に当該校正処理部37を備えて、第1の位置ベクトル生成部31から出力される測定光の座標系に基づく三次元位置ベクトルから基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成する際に校正(座標変換)してもよい。
姿勢情報は静的な姿勢情報および/または動的な姿勢情報を含み、校正処理部37は光走査装置の走査周期に同期して校正するように構成することが好ましい。
静的な姿勢情報とは三次元座標系に対する光走査装置10の取付姿勢や光走査装置10が取り付けられた機器の姿勢を示す情報をいう。動的な姿勢情報とは光走査装置10自体の動きや光走査装置10が取り付けられた機器の動きにより時間的に変化する姿勢を示す情報をいい、例えば光走査装置が無人搬送台車に取り付けられた場合に無人搬送台車の走行に伴って発生するピッチングやローリングなどで変化する姿勢情報をいう。
校正処理部37は光走査装置10の走査周期に同期してこれらの姿勢情報に基づいて校正処理を行なうことで、実質的にはリアルタイムな校正処理が可能になる。光走査装置10の走査周期に同期するとは、光走査装置10の走査周期の度に校正処理を行なう場合や、光走査装置10の走査周期の整数倍の周期の度に校正処理を行なう場合を含む。
校正処理部37は、姿勢情報と、三次元位置ベクトルに基づいて得られる所定の測定対象面と光走査装置10との相対姿勢と、の双方に基づいて校正するように構成することが好ましい。
光走査装置10を用いて所定の測定対象面上の物体の有無を判定する場合に、上述の姿勢情報のみに基づいて校正処理が実行されると、所定の測定対象面上の物体の有無を判定することが困難となる場合が生じる。
例えば、光走査装置を設置した無人搬送車が測定対象面として平坦な路面の走行から傾斜した路面の走行に切り替わったような場合に姿勢情報のみに基づいて校正処理すると、物体検知領域との間でずれが生じて正確な物体判定が困難になる。そのような場合に備えて、三次元位置ベクトルに基づいて得られる所定の測定対象面と前記光走査装置との相対姿勢を加味して校正処理することで、正確な物体判定が可能になる。
例えば、走行路面に対して無人搬送車に生じるローリングやピッチングと、走行路面自体が傾斜していることの差異を判別することが可能になる。すなわちローリングやピッチングが生じた場合は三次元位置ベクトルに基づいて得られる走行路面の検出位置の変化と、姿勢検知部から得られる光走査装置の姿勢情報の変化とが一致するのに対して、走行路面が傾斜している場合は三次元位置ベクトルに基づいて得られる走行路面の検出位置は変化しないが、姿勢検知部から得られる光走査装置の姿勢情報は変化する。走行路面に沿って基準平面が画定されるような場合に、走行路面が傾斜していることのみによる校正処理を回避することで、正確な物体判定が可能になる。
姿勢検知部36として加速度センサおよびジャイロセンサを好適に用いることができ、加速度センサおよびジャイロセンサから得られる姿勢検知信号に基づいて三次元座標系における光走査装置10の姿勢を把握することができるので、第1の位置ベクトル生成部31により光走査装置が所定の基準姿勢にあるときの三次元位置ベクトルが生成されるようになる。
所定の基準姿勢とは三次元座標系と光走査装置のローカルな座標系の関係が一義的に定まった姿勢をいい、三次元座標系に構築される基準平面となる二次元座標系と光走査装置のローカルな座標系の関係が一義的に定まった姿勢でもある。姿勢検知部36は三次元測距装置1に組み込まれていてもよいし、三次元測距装置1が搭載される機器に搭載されていてもよい。
例えば、任意の回転で得られる新座標系(X,Y,Z)の座標値を旧座標系(x,y,z)の座標値で表す場合には、以下の数式で変換することができる。旧座標系(x,y,z)をx軸の周りに角度αだけ回転させて(x,Y’,Z’)とし、それをさらにY’軸の周りに角度βだけ回転させて(X’,Y’,Z)とし、さらにZ軸の周りに角度γだけ回転させる場合、新座標系(X,Y,Z)と旧座標系(x,y,z)は、以下の数式(数1)で変換できる。
このような座標の変換式はX,Y,Z三次元直交座標系のみならず、球面座標系や極座標系でも公知であり、そのような変換式を用いることにより容易に変換できる。例えば、第1の位置ベクトル生成部31は、光走査装置10から出力される一走査周期のデータを受信する度に、姿勢検知部36から得られる姿勢検知信号に基づいて各データを座標変換すればよい。
例えば、光走査装置の姿勢変化が、三次元座標系における三次元位置ベクトルを規定する第1偏角θ及び第2偏角φの方向に一致する場合(つまり、第1偏角θがθ
H変化し、第2偏角φがφ
H変化する場合)には、新座標系(R,Θ,Φ)と旧座標系(r,θ,φ)は、以下の数式(数2)で変換できる。
図6には、物体検出装置30により実行される物体判定処理の手順が示されている。
第1の位置ベクトル生成部31は光走査装置10から得られた一周期分の測定光と反射光との物理関係(遅延時間)および測定光の走査方向(θ,φ)を示すデータを受信するとその都度メモリに格納する(S2)。
その後に姿勢検知部36から姿勢検知信号を受信すると、当該姿勢検知信号に基づいて、物体検出装置30が設置されたローカルな三次元座標系におけるデータを、物体判定処理を行なう三次元座標系におけるデータに変換した三次元位置ベクトルP3(r3,θ,φ)を生成してメモリに格納する(S3)。
第2の位置ベクトル生成部32はメモリから三次元位置ベクトルP3(r3,θ,φ)を読み出して、三次元位置ベクトルP3(r3,θ,φ)を基準面となる二次元座標系に投影した二次元位置ベクトルP2(r2,η)を生成するとともに(S4)、基準平面と直交する鉛直軸に三次元位置ベクトルP3(r3,θ,φ)を投影して、その始点から終点までの距離である鉛直距離hを算出して、二次元位置ベクトルP2(r2,η)および鉛直距離hの対をそれぞれメモリに格納する(S5)。
物体検知領域生成部34は、予め物体検知領域設定部33により領域設定され、メモリに格納された複数の三次元物体検知領域R3または二次元物体検知領域R2から今回の物体判定に用いる三次元または二次元の物体検知領域を読み出して、二次元座標系に二次元の物体検知領域R2を生成してメモリに格納する(S6)。
物体判定部35は、メモリに格納された二次元位置ベクトルP2(r2,η)を順番に読み出して、二次元位置ベクトルP2(r2,η)の終点が二次元物体検知領域R2に含まれるか否かの属否判定を当該周期の全てのデータに対して行ない(S7,S8)、全てのデータに対する判定が終了すると(S8,Y)、二次元物体検知領域R2に一つでも二次元位置ベクトルP2(r2,η)の終点が存在すると物体有と判定出力し、二次元物体検知領域R2に一つも二次元位置ベクトルP2(r2,η)の終点が存在しない場合に物体有と判定出力する(S9)。
[物体判定処理の態様]
三次元位置ベクトルP3(r3,θ,φ)の第2偏角φと二次元位置ベクトルP2(r2,η)の偏角ηの双方が、例えばX,Y,Z三次元直交座標系のXY平面上のX軸からの角度である場合、球面座標系(r3,θ,φ)における第2偏角φと極座標系(r2,η)における偏角ηが対応する。
第2の位置ベクトル生成部32により各三次元位置ベクトルから生成される各二次元位置ベクトルの偏角ηの分解能が高い場合には、物体判定部35は極座標系(r2,η)で表わされる二次元位置ベクトルの終点が物体検知領域の内部に位置するか否かの判定をその分解能に応じて実行する必要があり、演算負荷が大きくなる。
そこで、物体判定部35は二次元位置ベクトルの終点が物体検知領域の内部に位置するか否かを所定の偏角判定ピッチΔηで判定するように構成され、第2の位置ベクトル生成部32は各二次元位置ベクトルの偏角を予め設定された規則に基づいて偏角判定ピッチΔηに対応付けて丸め込み処理するように構成されている。
物体判定部35を二次元位置ベクトルの偏角ηの分解能より低い分解能となる所定の偏角判定ピッチΔηで判定するように構成することにより、判定に要する演算負荷を低減できるようになる。予め設定された規則とは丸め込み処理のための規則をいい、適宜設定することができる規則であり特に限定されるものではない。例えば、偏角ηnと偏角ηn+1の間に存在する二次元位置ベクトルの偏角を一律に偏角ηn+1に丸め込んだり、偏角ηnと偏角ηn+1の間に存在する二次元位置ベクトルの偏角ηがηn+Δη/2未満であれば偏角ηn丸め込み、偏角ηがηn+Δη/2以上であれば偏角ηn+1丸め込んだりすることができる。
例えば、図7に示すように、2・Δφ=Δηという関係がある場合に、三次元位置ベクトルP31,P32が二次元位置ベクトルP21に、三次元位置ベクトルP33,P34がP22に変換されることにより、データ量は1/2になる。極座標系(r2,η)における偏角ηのピッチΔηは、データの削減により検出対象物体が排除されることが無いように検出対象物体の大きさに基づいて適宜決定すればよい。
第2の位置ベクトル生成部32は球面座標系(r3,θ,φ)で表される三次元位置ベクトルを極座標系(r2,η)で表される二次元位置ベクトルに変換する座標変換テーブルを備え、座標変換テーブルに基づいて三次元位置ベクトルを二次元位置ベクトルに変換するように構成することが好ましい。
球面座標系(r3,θ,φ)で表される三次元位置ベクトルを極座標系(r2,η)で表される二次元位置ベクトルに変換するために、個々に座標変換演算を行なう必要はなく、予め座標変換演算を行なった結果を備えた座標変換テーブル上のデータを参照することにより座標変換することができるようになり、演算負荷を大きく軽減できるようになる。
例えば、光走査装置10から出力される一周期のデータには、予め垂直走査方向を示す第1偏角π/2-θと水平走査方向を示す第2偏角φが含まれる。そのため、第1の位置ベクトルの動径r3を除く偏角情報π/2-θ,φは既知であるため、一周期の始点から偏角情報π/2-θ,φをシリアル番号でナンバリングしておけば、三次元位置ベクトルをr3、n(nは正整数のシリアル番号)で表わすことができる。
そこで、上述した[数1]の三角関数の項は各シリアル番号nにより定まる偏角情報θ,φに基づいて予め演算することができその演算結果をテーブルデータとする座標変換テーブルを作成しておくことができ、これにより演算負荷を大きく軽減できる。
また、球面座標系(r3,θ,φ)における第2偏角φのピッチΔφと上述した偏角判定ピッチΔηを予め決定しておけば、上述した数式Bから二次元位置ベクトルの動径r2を算出するために可能な演算を予め行い、その演算結果をテーブルデータとする座標変換テーブルを作成しておくことができ、これにより演算負荷を軽減ですることも可能になる。
座標変換テーブルとしては、球面座標系(r3,θ,φ)をX,Y,Z三次元直交座標系に変換し、さらにX,Y,Z三次元直交座標系から極座標系(r2,η)に変換するような態様に限るものではなく、球面座標系(r3,θ,φ)から極座標系(r2,η)に直接変換するものであってもよい。
物体判定部35は同一の偏角に丸め込み処理した二次元位置ベクトルの総数に基づいて当該偏角に含まれる二次元位置ベクトルを判定対象とするか否かを決定するように構成することが好ましい。
同一の偏角に丸め込み処理した二次元位置ベクトルの総数が多いと、対応する偏角判定ピッチΔηの間に検出された測定点が多い、つまり物体の物理的サイズが大きいと判定でき、逆に同一の偏角に丸め込み処理した二次元位置ベクトルの総数が少ないと、物体の物理的サイズが小さくノイズとして判定することができる。例えば、二次元位置ベクトルのスカラー量に基づいてグループ化して代表ベクトルを設定するなどのフィルタ処理を行なうことで、判定対象となるデータ数の削減による演算負荷の低減を図ることができる。
さらに、隣接する偏角ηまたは同一偏角ηに存在する二次元位置ベクトルの動径r2の偏差が第1の所定値以下となる関係を有する一群の二次元位置ベクトルを同一の判定対象物体として抽出し、当該一群の二次元位置ベクトルから求めた代表ベクトルを物体判定部の判定対象とすることが好ましい。
例えば、二次元位置ベクトルP2(r2,η)の向きに沿う検出対象物体の厚みに基づいて第1の所定値を設定することにより、隣接する偏角ηまたは同一偏角ηに存在する二次元位置ベクトルの動径r2の偏差が第1の所定値以下となる一群の二次元位置ベクトルを同一の判定対象物体として取り扱うことができる。
当該一群の二次元位置ベクトルから求めた代表ベクトルを物体判定部35の判定対象とすることで演算負荷を大きく低減できるようになる。代表ベクトルとして、例えば、動径r2が最小となる二次元位置ベクトル、動径r2が最大となる二次元位置ベクトル、動径r2が中央値を示す二次元位置ベクトル、動径r2が平均値を示す位置ベクトル、一群の二次元位置ベクトルの重心となる位置ベクトルなどを採用することができる。
このとき、隣接する偏角ηまたは同一偏角ηに其々存在する二次元位置ベクトルの動径r2の偏差が第2の所定値より大となる二次元位置ベクトルを孤立点として判定対象物体から除去することが好ましい。
例えば、二次元位置ベクトルP2(r2,η)の向きに沿う検出対象物体の厚みに基づいて第2の所定値を設定することにより、隣接する偏角ηまたは同一偏角ηに存在する二次元位置ベクトルの動径r2の偏差が第2の所定値より大となる二次元位置ベクトルを互いに異なる物体と判定することができ、同一の判定対象物体として取り扱うことができないと判定された物体を孤立点として判定対象物体から除去することにより、さらに演算負荷を軽減できるようになる。なお、第1の所定値と第2の所定値が同じ値であってもよい。
同様に、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する鉛直距離hの偏差が第3の所定値以下となる関係を有する一群の二次元位置ベクトルを同一の判定対象物体として抽出し、当該一群の二次元位置ベクトルから求めた代表ベクトルを物体判定部の判定対象とすることがさらに好ましい。
鉛直距離hとは、三次元位置ベクトルP3(r3,θ,φ)を基準平面となる二次元座標系に投影した二次元位置ベクトルP2(r2,η)毎に求められ、基準平面と直交する鉛直軸に三次元位置ベクトルP3(r3,θ,φ)の始点から終点まで投影した距離である。例えば、二次元位置ベクトルに対応付けられた鉛直距離hに基づいて第3の所定値を設定することにより、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する鉛直距離hの偏差が第3の所定値以下となる一群の二次元位置ベクトルを同一の判定対象物体として取り扱うことができ、当該一群の二次元位置ベクトルから求めた代表ベクトルを前記物体判定部の判定対象とすることで演算負荷を大きく低減できるようになる。
代表ベクトルとして、例えば、動径r2が最小となる二次元位置ベクトル、動径r2が最大となる二次元位置ベクトル、動径r2が中央値を示す二次元位置ベクトル、動径r2が平均値を示す位置ベクトル、一群の二次元位置ベクトルの重心となる位置ベクトルなどを採用することができる。
このとき、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する鉛直距離hの偏差が第4の所定値より大となる二次元位置ベクトルを孤立点として判定対象物体から除去することが好ましい。
例えば、二次元位置ベクトルP2(r2,η)に対応付けられた鉛直距離hに基づいて第4の所定値を設定することにより、同一の偏角ηに存在する複数の二次元位置ベクトルに其々対応する投影距離の偏差が第4の所定値より大となる二次元位置ベクトルを互いに異なる物体と判定することができ、同一の判定対象物体として取り扱うことができないと判定された物体を孤立点として判定対象物体から除去することによりさらに演算負荷を軽減できるようになる。なお、第3の所定値と第4の所定値が同じ値であってもよい。
第2の位置ベクトル生成部32は鉛直距離hに基づいて二次元位置ベクトルを複数のグループに分割し、物体検知領域生成部34は三次元座標系に画定された三次元の物体検知領域を鉛直距離hに基づいて、二次元座標系に投影した二次元の物体検知領域を各グループに対応して其々生成し、物体判定部35はグループ毎に各二次元位置ベクトルの終点が対応する二次元の物体検知領域の内部に位置する場合に、三次元の検知領域に物体が存在すると判定することが好ましい。
三次元の物体検知領域を二次元座標系に投影した形状が、基準平面に対する鉛直軸の方向に沿って異なる形状となるように三次元の物体検知領域が画定されるような場合でも鉛直距離hに基づいて二次元位置ベクトルを複数のグループに分割し、三次元座標系に画定された三次元の物体検知領域を鉛直距離hに基づいて、基準平面に投影した二次元の物体検知領域を各グループに対応して複数生成することで、様々な三次元の物体検知領域に柔軟に対応した物体判定が可能になる。
同様に、三次元の物体検知領域を二次元座標系に投影した形状が同一形状となる範囲では、当該範囲で二次元位置ベクトルを同一グループにまとめて物体判定してもよい。
なお、三次元の物体検知領域が予め画定されていることは必須ではなく、鉛直距離hに基づいて二次元位置ベクトルを分割したグループごとに基準平面に二次元の物体検知領域を画定するように構成してもよい。
第2の位置ベクトル生成部32は、第1偏角(仰角)(π/2-θ)に基づいて二次元位置ベクトルを複数のグループに分割してもよく、グループごとに基準平面に二次元の物体検知領域を画定するように構成してもよい。
同様に第2偏角φに基づいて二次元位置ベクトルを複数のグループに分割してもよく、グループごとに基準平面に二次元の物体検知領域を画定するように構成してもよい。三次元空間の特定の方向に存在する物体を効率的に検出することができるようになる。
さらには、第2の位置ベクトル生成部32は、鉛直距離hと、第1偏角(π/2-θ)と、第2偏角φの三つの要素のうちの何れか二つまたは三つ全てを組み合わせて二次元位置ベクトルを複数のグループに分割し、グループごとに基準平面に二次元の物体検知領域を画定するように構成してもよい。
三次元の物体検知領域の形状に基づいて第1の二次元座標系を決定することが好ましい。第1の二次元座標系に投影される三次元の物体検知領域が第2の二次元座標系に沿う高さ方向に沿って変化することがない座標系、または変化が少ない座標系を選択することが好ましい。
第2の位置ベクトル生成部は鉛直距離hが第1の閾値以上でかつ第1の閾値より大きい第2の閾値以下の値となる二次元位置ベクトルを選択的に生成することが好ましい。
第2の位置ベクトル生成部32によって、個々の三次元位置ベクトルから鉛直距離hが第1の閾値以上でかつ第1の閾値より大きい第2の閾値以下の二次元位置ベクトルが選択的に生成されるので、明らかに三次元で画定される物体検知領域の外部に存在するような物体を判定対象物体から排除することができ、演算負荷を軽減できるようになる。
例えば、建屋の床面に平行な二次元座標系を想定する場合、床面から第1の閾値以上の高さで、且つ、天井を想定した第2の閾値以下の鉛直距離hとなる二次元位置ベクトルを抽出すると、床面や天井面を物体判定対象から除去でき、演算負荷を低減できるばかりでなく、誤判定を防ぐことができる。
図8(a)から(d)に基づいて、本発明による物体検出システムにより物体を検出する手順の一例を説明する。図8(a)には、三次元座標系の原点Oに対する光走査装置10と、床面Fと、床面Fに垂直な壁面Wと、床面Fと壁面Wとの交差部に設置された直方体形状の検出対象物OJTとの位置関係が示されている。光走査装置10は原点Oに設置されている。後述するが、符号R2およびR2’は所定の鉛直距離hに対応付けて画定された物体検知領域を示している。
また、図8(b)には、光走査装置10により走査された測定光の反射点群、つまり第1の位置ベクトル生成部31により生成された複数の三次元位置ベクトルの終点位置を示す距離画像が示されている。
さらに、図8(c)には、第2の位置ベクトル生成部32により生成された二次元位置ベクトルP2(r2,η)で、基準平面となるXY二次元座標系に投影された複数の二次元位置ベクトルP2(r2,η)の終点位置を示すドット群と、当該基準平面に画定された物体検知領域R2が示されている。
同様に、図8(d)には、基準平面となるXY二次元座標系に投影された複数の二次元位置ベクトルP2(r2,η)の終点位置を示すドット群と、当該基準平面に画定された物体検知領域R2’が示されている。
図8(a)に示すように、物体検知領域R2は鉛直距離h(この実施形態ではZ軸方向の高さとなる)が0≦h≦h1の範囲に存在する二次元位置ベクトルP2(r2,η)を検出する物体検知領域であり、物体検知領域R2’は鉛直距離hがh2≦hの範囲に存在する二次元位置ベクトルP2(r2,η)を検出する物体検知領域であり、基準平面上で各物体検知領域R2およびR2’は同じ形状および大きさで画定されている。なお、図8(a)および図8(b)では、理解を容易にするために、物体検知領域R2およびR2’を基準平面とは離してそれぞれ上方側に移動させて示しているが、正確には基準平面上に画定される領域である。
各物体検知領域R2およびR2’は物体検知領域生成部34により生成された原点を頂点とする三角形の領域で、原点から遠ざかる方向に順に領域3、領域2、領域1のサブ領域が画定されている。例えば、物体検出装置が無人搬送車などの移動体に搭載される場合に、検出物体と移動体との相対距離に応じて異なる対処が必要な場合にサブ領域を画定する意義がある。例えば、移動体から遠い位置である領域1に物体が検知されると緩やかに減速し、中間の位置である領域2に物体が検知されると速やかに減速し、移動体の直近位置である領域3に物体が検知されると直ちに停止するなどといった対応が可能になる。
図8(a)に示すように、検出対象物OJTの正面Aは、三次元座標系の原点Oに設置された光走査装置10から比較的に近い距離にあるので、図8(b)に示すように正面Aにおける反射点群の密度は、検出対象物OJTより遠い位置となる壁面Wにおける反射点群の密度より高くなっている。
図8(c)には、鉛直距離hが0≦h≦h1の範囲となる二次元位置ベクトルP2(r2,η)で、物体検知領域R2に投影される複数の二次元位置ベクトルP2(r2,η)の終点が点群として示されている。物体判定部35により検出対象物OJTの正面Aが、物体検知領域R2内で区画された領域2に投影される二次元位置ベクトルP2(r2,η)として検出される。
図8(d)には、鉛直距離hがh2≦hの範囲となる二次元位置ベクトルP2(r2,η)で、物体検知領域R2’に投影される複数の二次元位置ベクトルP2(r2,η)の終点が点群として示されている。物体判定部35により壁面Wが領域1に投影される二次元位置ベクトルP2(r2,η)として検出される。
このように、鉛直距離hに応じて二次元位置ベクトルをグループ化し、其々に適切な物体検知領域を画定することにより、三次元空間に存在する物体を効率的に検出することが可能になる。
図9(a),(b)には、物体検知領域生成部34によって基準平面上に鉛直距離hに応じて異なる形状および異なる大きさの物体検知領域R21,R22,R23を画定する例が示されている。鉛直距離hがhB≦h<hAの領域にグループ化される二次元ベクトルに対応する物体判定領域R21、鉛直距離hがhC≦h<hBの領域にグループ化される二次元ベクトルに対応する物体判定領域R22、鉛直距離hがh<hCの領域にグループ化される二次元ベクトルに対応する物体判定領域R23となる。なお、図9(b)では、理解を容易にするために、物体検知領域R21およびR22を基準平面上のR23とは離してそれぞれ上方側に移動させて示しているが、正確には基準平面上に画定される領域である。
第1の位置ベクトル生成部31により生成された三次元ベクトルP31,P32,P33,P34は、第2の位置ベクトル生成部32により其々鉛直距離hがh31,h32,h33,h34の二次元ベクトルに変換される。三次元ベクトルP32,P33が同一グループの二次元ベクトルにグループ化され、P31,P34は互いに異なるグループにグループ化される。
物体判定部35によって各グループの二次元ベクトルの終点が対応するグループの物体検知領域R21,R22,R23に位置するか否かにより物体が存在するか否かが判定される。この例では、三次元ベクトルP31に対応する物体が物体検知領域R21に存在し、三次元ベクトルP32に対応する物体が物体検知領域R22に存在し、三次元ベクトルP34に対応する物体が物体検知領域R23に存在すると判定される。つまり、第2の位置ベクトル生成部32は鉛直距離hに基づいて二次元位置ベクトルを複数のグループに分割するように構成され、物体検知領域生成部34は各グループに対応して物体検知領域を其々生成するように構成され、物体判定部35はグループ毎に二次元位置ベクトルの終点が対応する物体検知領域の内部に位置する場合に物体が存在すると判定するように構成される。
このようにして、三次元空間に画定された複雑な形状の三次元の物体検知領域に物体が存在するか否かを判定する場合でも、二次元の物体検知領域の判定に変換することで、演算負荷を低減することで演算処理能力の低い安価な演算回路で物体検出装置30を構成することができる。
図10(a)から(d)には、光走査装置10と上述した何れかの物体検出装置30とを備えた物体検出システムが無人搬送車に搭載され、上述した校正処理部が機能する例が示されている。
図10(a)には、水平な床面を走行する無人搬送車AGVに搭載された光走査装置10から測定光が水平方向のみ一次元的に走査される場合が示されている。図10(b)には、光走査装置10から測定光が水平方向および垂直方向に二次元的に走査される場合が示されている。
図10(a)に示すように、測定光を一次元的に水平方向のみに走査すると、走査面であるXY平面に含まれる人物は検出可能であるが、XY平面より上方または下方に位置する物体(図10(a)では直方体形状の物体)を検出することができない。しかし、図10(b)に示すように、測定光を二次元的に走査すると、無人搬送車の前方の人物と直方体状の物体とがともに検出可能になる。
さらに光走査装置10には姿勢検知部36としてX,Y,Z3軸方向の加速度センサおよびX,Y,Z方向の回転角加速度を検出可能なジャイロセンサが取り付けられ、無人搬送車AGVの走行に伴って光走査装置10の姿勢が変動する場合でも、加速度センサおよびジャイロセンサから得られる姿勢検知信号に基づいて光走査装置10の姿勢と物体判定に用いられる三次元座標系とを整合する校正処理部が設けられている。
本実施形態で説明する物体検出装置30は、Z軸方向の距離つまり鉛直距離hに応じて複数の二次元の物体検知領域Rを、検出対象となる物体の特性に応じて適切に設定するように構成している。例えば床に設置されるような小さな異物を検出するために適切な鉛直距離、走行経路上に侵入する人間を検出するために適切な鉛直距離などである。また、床面および天井面に対応する三次元位置ベクトルは床面および天井面に対応する鉛直距離hを基準にして除外することが可能になる。
図10(c)には、初期設定として光走査装置10を無人搬送車AGVに対して水平方向から鉛直方向に角度β傾斜させて取り付けた例が示されている。この場合には、床面に対して上述の場合よりも無人搬送車AGVに近接した位置から物体検知が可能になる。
この例では、第1の位置ベクトル生成部31により生成される三次元位置ベクトルは、無人搬送車AGVとXY平面並びに水平な床面に対して角度βの傾斜角度をもつ。そこで、水平面であるXY平面を基準平面として、基準平面に物体検知領域を設定するために、物体検出装置は加速度センサおよびジャイロセンサから得られる姿勢情報である傾斜角度βに対応する姿勢検知信号に基づいて、校正処理部によって水平なXY平面に投影した二次元位置ベクトルを生成するように校正処理される。走行面に対して生じるローリングやピッチングといった姿勢変化が生じる場合にも校正処理部によって水平なXY平面に投影した二次元位置ベクトルを生成するように校正処理される。
図10(d)は図10(c)で説明した無人搬送車AGVが水平面に対して角度α下向きに傾斜した床面を走行する場合が示されている。無人搬送車AGVが傾斜床面を走行し始めると、姿勢検知部36は傾斜面の角度αと無人搬送車AGVへの取付角度βとを合わせた傾斜角を検知する。しかし、光走査装置10を基準にすると、XY平面自体が傾斜角度αで傾斜していることになる。
傾斜床面に位置する直方体形状の物体を検出するには、傾斜したXY平面を基準平面として物体検知領域を設定することが好ましい。そこで、校正処理部は、姿勢情報と、三次元位置ベクトルに基づいて得られる所定の測定対象面と光走査装置との相対姿勢と、の双方に基づいて校正するように構成されている。
光走査装置10を用いて所定の測定対象面上の物体の有無を判定する場合に、上述の姿勢情報のみに基づいて校正処理が実行されると、所定の測定対象面上の物体の有無を判定することが困難となる場合が生じる。例えば、光走査装置を設置した無人搬送車が測定対象面として平坦な路面の走行から傾斜した路面の走行に切り替わったような場合に姿勢情報のみに基づいて校正処理すると、物体検知領域との間でずれが生じて正確な物体判定が困難になる。そのような場合に備えて、三次元位置ベクトルに基づいて得られる所定の測定対象面と前記光走査装置との相対姿勢を加味して校正処理することで、正確な物体判定が可能になる。
上述の例では、床面に対して無人搬送車に生じるローリングやピッチングと、床面自体が傾斜していることの差異を判別することが可能になる。すなわちローリングやピッチングが生じた場合は三次元位置ベクトルに基づいて得られる走行路面の検出位置の変化と、姿勢検知部から得られる光走査装置の姿勢情報の変化とが一致するのに対して、走行路面がほぼ一定角度で上方または下方に向けて傾斜している場合は三次元位置ベクトルに基づいて得られる走行路面の検出位置は変化しないが、姿勢検知部から得られる光走査装置の姿勢情報は変化する。走行路面に沿って基準平面が画定されるような場合に、走行路面が傾斜していることのみによる校正処理を回避することで、正確な物体判定が可能になる。
なお、図10(a)から(d)では、基準平面を、光走査装置10を起点とした走行路面に平行な平面としているが、走行路面から光走査装置10までの設置高さをオフセットとして鉛直距離を算出し、走行路面を基準平面とすることも可能である。
本発明による物体検知装置は、物体検知領域の形状、物体検知空間の特性、検出対象物体の大きさなどに基づいて、上述した種々の態様を適宜組み合わせて実現することができる。
本発明による物体検出システムは、発光素子4から出射された測定光を二次元的に走査して測定光が照射された物体からの反射光を受光素子5に導く光走査装置10と、上述した種々の態様の何れかまたは組み合わせた物体検出装置30と、を備えていることが好ましい。
光走査装置10が組み込まれた三次元測距装置1の筐体内部に物体検出装置30を構成する制御基板が組み込まれた態様、三次元測距装置1と物体検出装置30を構成する制御基板がそれぞれ異なる筐体に組み込まれた態様の何れであってもよい。三次元測距装置1と物体検出装置30との間のデータのやり取りはイーサネットなどの公知の通信規格を用いて実現することができる。
本発明による物体検出プログラムは、コンピュータに、発光素子から出射された測定光を二次元的に走査して測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる測定光と反射光との物理関係および測定光の走査方向に基づいて、三次元座標系における所定の始点から物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成部と、三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、基準平面と直交する鉛直軸に投影した三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成部と、基準平面に物体検知領域を生成する物体検知領域生成部と、二次元位置ベクトルの終点が物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定部と、して機能させるように構成されている。そして各機能を実現する部位は上述した物体検出装置30の種々の態様を実現させるプログラムが含まれる。
本発明による物体検出方法は、発光素子から出射された測定光を二次元的に走査して測定光が照射された物体からの反射光を受光素子に導く光走査装置から得られる測定光と反射光との物理関係および測定光の走査方向に基づいて、三次元座標系における所定の始点から物体の照射位置までの距離および方向を示す三次元位置ベクトルを生成する第1の位置ベクトル生成ステップと、三次元位置ベクトルを基準平面となる所定の二次元座標系に投影した二次元位置ベクトルを生成するとともに、基準平面と直交する鉛直軸に投影した三次元位置ベクトルの始点から終点までの鉛直距離を算出する第2の位置ベクトル生成ステップと、基準平面に物体検知領域を生成する物体検知領域生成ステップと、二次元位置ベクトルの終点が物体検知領域の内部に位置する場合に物体が存在すると判定する物体判定ステップと、を備えている。
以上説明した実施形態は、本発明の一例であり、実施形態の記載により本発明の範囲が限定されるものではない。