IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特許-障害物検出装置 図1
  • 特許-障害物検出装置 図2
  • 特許-障害物検出装置 図3
  • 特許-障害物検出装置 図4
  • 特許-障害物検出装置 図5
  • 特許-障害物検出装置 図6
  • 特許-障害物検出装置 図7
  • 特許-障害物検出装置 図8
  • 特許-障害物検出装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-20
(45)【発行日】2023-03-01
(54)【発明の名称】障害物検出装置
(51)【国際特許分類】
   G01S 17/89 20200101AFI20230221BHJP
   G01S 17/931 20200101ALI20230221BHJP
   G06T 7/00 20170101ALI20230221BHJP
   B66F 9/24 20060101ALI20230221BHJP
【FI】
G01S17/89
G01S17/931
G06T7/00 650Z
B66F9/24 P
【請求項の数】 2
(21)【出願番号】P 2019216748
(22)【出願日】2019-11-29
(65)【公開番号】P2021085828
(43)【公開日】2021-06-03
【審査請求日】2022-02-14
【国等の委託研究の成果に係る記載事項】(出願人による申告)国立研究開発法人農業・食品産業技術総合研究機構生物系特定産業技術研究支援センター「革新的技術開発・緊急展開事業(うち人工知能未来農業創造プロジェクト)」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】服部 晋悟
【審査官】藤田 都志行
(56)【参考文献】
【文献】特開2017-019596(JP,A)
【文献】特開2018-132376(JP,A)
【文献】国際公開第2013/035612(WO,A1)
【文献】中国特許出願公開第108868268(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48- 7/51
G01S 17/00-17/95
G01C 3/00- 3/32
G06T 7/00
G06V 10/25
G06V 20/58
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
産業車両に搭載され、前記産業車両の進行の妨げとなる障害物を検出する障害物検出装置であって、
前記産業車両の車幅方向に延びる軸をX軸、前記X軸に直交する軸であって前記産業車両が位置している路面に沿う軸をY軸、前記X軸及び前記Y軸に直交する軸をZ軸とする座標系において、物体の一部を表す点の座標を取得する座標取得部と、
前記座標取得部により取得された前記点から一部の前記点を間引くダウンサンプリングを行うダウンサンプリング部と、
前記ダウンサンプリングが行われた後に残った前記点毎に面法線ベクトルを導出する面法線ベクトル導出部と、
前記X軸及び前記Y軸で表されるXY平面に対する前記面法線ベクトルの角度が第1閾値未満となる前記点を集合させた点群であって、前記点の数が第2閾値以上の前記点群を前記障害物として抽出する障害物抽出部と、を備える障害物検出装置。
【請求項2】
前記点のZ座標に対して、前記点が前記路面よりも下方に位置しているか否かを判定するための閾値が設定されており、
前記Z座標が前記閾値未満となる前記点を除去する除去部を備える請求項1に記載の障害物検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害物検出装置に関する。
【背景技術】
【0002】
産業車両には、産業車両の進行の妨げとなる障害物を検出するための障害物検出装置が搭載される場合がある。障害物検出装置としては、例えば、センサの検出結果から物体の一部を表す点の3次元座標を導出し、点の集合である点群を物体として抽出するものが挙げられる。センサとしては、ステレオカメラ、LIDAR、ミリ波レーダー等の3次元座標の導出が可能なものが用いられる。この種の障害物検出装置では、路面が物体として抽出される場合があり、抽出された物体が路面か障害物かを区別する必要がある。
【0003】
特許文献1に記載の障害物検出装置は、距離画像の画素を3次元座標に変換する変換部と、距離画像の画素から3点を抽出して面法線ベクトルを導出する面法線ベクトル導出部と、を備える。面法線ベクトル導出部により、3点で表される局所面の面法線ベクトルを導出することができる。局所面が路面であれば、路面の面法線ベクトルと局所面の面法線ベクトルとのなす角が閾値未満となるため、局所面の面法線ベクトルから障害物と路面とを区別することができる。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2013/035612号
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、雨や小石等、産業車両の進行の妨げとなりにくい物体であっても障害物として検出されるおそれがある。また、面法線ベクトルの導出を行っているため、障害物検出装置の処理負荷が大きい。処理負荷が大きいと、障害物の検出に要する時間が長くなったり、障害物検出装置の処理能力を向上させるためのコストが増加する。
【0006】
本発明の目的は、産業車両の進行の妨げとなりにくい物体が障害物として検出されることを抑制でき、かつ、処理負荷を軽減することができる障害物検出装置を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決する障害物検出装置は、産業車両に搭載され、前記産業車両の進行の妨げとなる障害物を検出する障害物検出装置であって、前記産業車両の車幅方向に延びる軸をX軸、前記X軸に直交する軸であって前記産業車両が位置している路面に沿う軸をY軸、前記X軸及び前記Y軸に直交する軸をZ軸とする座標系において、物体の一部を表す点の座標を取得する座標取得部と、前記座標取得部により取得された前記点から一部の前記点を間引くダウンサンプリングを行うダウンサンプリング部と、前記ダウンサンプリングが行われた後に残った前記点毎に面法線ベクトルを導出する面法線ベクトル導出部と、前記X軸及び前記Y軸で表されるXY平面に対する前記面法線ベクトルの角度が第1閾値未満となる前記点を集合させた点群であって、前記点の数が第2閾値以上の前記点群を前記障害物として抽出する障害物抽出部と、を備える。
【0008】
XY平面は、産業車両の位置している路面と平行な平面である。従って、XY平面に対する面法線ベクトルの角度は、路面に対する面法線ベクトルの角度を表しているといえる。物体の一部を表す点の面法線ベクトルは、点の周囲の局所的な平面に対して垂直となる方向に延びるベクトルである。従って、点が路面とは異なる物体の一部を表している場合、XY平面に対する面法線ベクトルの角度は第1閾値未満となる。XY平面に対する面法線ベクトルの角度が第1閾値未満の点を集合させた点群は路面とは異なる物体といえる。面法線ベクトルを用いることで、路面とは異なる物体を抽出することができる。面法線ベクトルの導出は、ダウンサンプリングが行われた後の点毎に行われるため、ダウンサンプリングを行わない場合に比べて、障害物検出装置の処理負荷を軽減することができる。障害物検出装置は、XY平面に対する面法線ベクトルの角度が第1閾値未満の点を集合させた点群のうち点の数が第2閾値以上の点群を障害物として抽出する。点の数が少ない点群ほど小さい物体であり、進行の妨げとはなりにくい。第2閾値を設定し、点の数が第2閾値未満の点群については障害物として扱わないことで、産業車両の進行の妨げとなりにくい物体が障害物として検出されることを抑制できる。
【0009】
上記障害物検出装置について、前記点のZ座標に対して、前記点が前記路面よりも下方に位置しているか否かを判定するための閾値が設定されており、前記Z座標が前記閾値未満となる前記点を除去する除去部を備えていてもよい。
【発明の効果】
【0010】
本発明によれば、産業車両の進行の妨げとなりにくい物体が障害物として検出されることを抑制でき、かつ、処理負荷を軽減することができる障害物検出装置を提供することにある。
【図面の簡単な説明】
【0011】
図1】フォークリフトを示す概略側面図。
図2】フォークリフトの概略構成図。
図3】フォークリフトが用いられる環境の一例を示す図。
図4】障害物検出装置が行う処理を示すフローチャート。
図5】第2路面と、第2路面に存在する障害物を模式的に示す斜視図。
図6】障害物の周辺にレーザーを照射した場合に得られる点を示す模式図。
図7】ダウンサンプリングが行われた後に残る点を示す模式図。
図8】面法線ベクトルを導出する手法を説明するための図。
図9】第1閾値について説明するための図。
【発明を実施するための形態】
【0012】
以下、障害物検出装置の一実施形態について説明する。
図1に示すように、産業車両としてのフォークリフト10は、車体11と、車体11の前下部に配置された駆動輪12と、車体11の後下部に配置された操舵輪13と、荷役装置14と、を備える。荷役装置14は、車体11の前部に立設されたマスト15と、マスト15に固定されたリフトブラケット16と、リフトブラケット16に固定された一対のフォーク17と、マスト15を昇降動作させるリフトシリンダ18と、マスト15を傾動動作させるティルトシリンダ19と、を備える。フォーク17には、荷Wが積載される。リフトシリンダ18及びティルトシリンダ19は油圧シリンダである。フォークリフト10としては、自動で動作するものであってもよいし、人による操作によって動作するものであってもよいし、自動での動作と人による操作での動作とを切り替えられるものであってもよい。
【0013】
図2に示すように、フォークリフト10は、駆動機構21と、油圧機構22と、制御装置23と、を備える。駆動機構21は、フォークリフト10を走行動作させるための部材であり、駆動輪12を駆動させるための走行用モータや、操舵輪13を操舵させるための操舵機構を含む。油圧機構22は、リフトシリンダ18及びティルトシリンダ19への作動油の給排を制御するための部材であり、ポンプを駆動させるための荷役モータや、コントロールバルブを含む。
【0014】
制御装置23は、CPUやGPU等のプロセッサ24と、RAM及びROM等からなる記憶部25と、を備える。記憶部25には、フォークリフト10を動作させるためのプログラムが記憶されている。記憶部25は、処理をプロセッサ24に実行させるように構成されたプログラムコードまたは指令を格納しているといえる。記憶部25すなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置23は、ASIC:Application Specific Integrated CircuitやFPGA:Field Programmable Gate Array等のハードウェア回路によって構成されていてもよい。処理回路である制御装置23は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0015】
フォークリフト10には、障害物検出装置31が搭載されている。障害物検出装置31は、フォークリフト10の進行の妨げとなる障害物を検出する。障害物検出装置31は、フォークリフト10と検出した障害物との相対距離を導出することも可能である。障害物検出装置31は、検出結果を制御装置23に出力する。制御装置23は、障害物検出装置31の検出結果に応じた制御を行う。例えば、制御装置23は、フォークリフト10と障害物との相対距離が予め定められた所定距離未満になると、駆動機構21を制御することで車速制限を課すようにしてもよい。制御装置23は、フォークリフト10と障害物との相対距離が予め定められた所定距離未満になると、警報を行うようにしてもよい。
【0016】
障害物検出装置31は、センサ30の検出結果から障害物を検出するものである。センサ30としては、3次元計測を行うことができるものが用いられる。3次元計測とは、実空間を表す3次元の座標系における物体の座標を導出することである。本実施形態では、センサ30としてLIDAR:Laser Imaging Detection and Rangingを用いている。LIDARは、レーザーを周辺に照射し、レーザーが当たった点から反射された反射光を受光することで周辺環境を認識可能な距離計である。LIDARは水平方向及び鉛直方向への照射角度を変更しながらレーザーを照射する3次元の距離計である。
【0017】
センサ30としては、フォーク17に荷Wが積載されている場合であっても、荷Wによってレーザーが遮られない位置に設けられることが好ましい。センサ30としては、マスト15とともに昇降及び傾動しない位置に設けられることが好ましい。本実施形態において、センサ30は、フォークリフト10の前部に取り付けられている。
【0018】
センサ30は、レーザーの照射角度、及びレーザーの照射から反射光の受光までに要した時間から、レーザーが当たった点までの距離を照射角度に対応付けて導出できる。言い換えれば、センサ30は、センサ30を原点とする実空間上の座標系において、レーザーが当たった点の座標を導出することができる。座標系は、フォークリフト10の車幅方向に延びる軸をX軸、X軸に直交する軸であってフォークリフト10が位置している路面に沿う軸をY軸、X軸及びY軸に直交する軸をZ軸とする3軸直交座標系である。X軸及びY軸で表されるXY平面は、フォークリフト10が位置している路面と平行な面といえる。図中、X軸を矢印X、Y軸を矢印Y、Z軸を矢印Zで示している。
【0019】
障害物検出装置31は、CPUやGPU等のプロセッサ32と、RAM及びROM等からなる記憶部33と、を備える。記憶部33には、障害物を検出するためのプログラムが記憶されている。記憶部33は、処理をプロセッサ32に実行させるように構成されたプログラムコードまたは指令を格納しているといえる。記憶部33すなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。障害物検出装置31は、ASIC:Application Specific Integrated CircuitやFPGA:Field Programmable Gate Array等のハードウェア回路によって構成されていてもよい。処理回路である障害物検出装置31は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0020】
本実施形態の作用について、障害物検出装置31が行う処理とともに説明を行う。本実施形態では、一例として、図3に示す環境でフォークリフト10が用いられている場合について説明する。フォークリフト10の用いられる環境は、工場、商業施設、港湾等である。図3に示すように、フォークリフト10が用いられる環境では、路面として第1路面R1及び第2路面R2が存在する。第1路面R1と第2路面R2では水平面に対する傾斜角度が異なる。フォークリフト10は第1路面R1から第2路面R2に向けて進行している。第2路面R2には、フォークリフト10の進行の妨げとなる障害物Oが存在している。
【0021】
図4に示すように、ステップS1において、障害物検出装置31は、センサ30から検出結果を取得する。図5に示すように、障害物Oの周辺にレーザーが照射されたとする。この場合、障害物検出装置31は、図6に示すように、レーザーが当たった点Pの座標を得ることができる。図6では、説明の便宜上、第2路面R2にレーザーが当たった点PRと、障害物Oにレーザーが当たった点POとを区別して図示している。図示は省略しているが、第1路面R1にもレーザーは照射されており、第1路面R1にレーザーが当たった点Pの座標も障害物検出装置31に取得される。ステップS1の処理を行うことで、障害物検出装置31は座標取得部を備えているといえる。
【0022】
図4に示すように、ステップS2において、障害物検出装置31は、ステップS1で取得された点Pから一部の点Pを間引くダウンサンプリングを行う。障害物検出装置31は、予め定められた規則に従って点Pを間引く。予め定められた規則は、任意に設定することができる。例えば、障害物検出装置31は、X軸の延びる方向に隣り合う点Pの間隔が予め定められた間隔以上になるように点Pを間引いてもよいし、所定の数毎に点Pを間引いてもよい。ダウンサンプリングは、ダウンサンプリングが行われた後に残る点Pが、レーザーの照射された範囲の全体に亘って分散するように行われることが好ましい。即ち、レーザーが照射された範囲のうち一部に偏って点Pが存在しないように点Pが間引かれることが好ましい。ステップS2の処理を行うことで、障害物検出装置31はダウンサンプリング部を備えているといえる。
【0023】
次に、ステップS3において、障害物検出装置31は、ステップS2でダウンサンプリングが行われた後に残った点P毎に面法線ベクトルを導出する。言い換えれば、ステップS2で間引かれなかった点P毎に面法線ベクトルが導出される。図6に示す点Pに対してダウンサンプリングを行い、図7に示す点Pが残ったとすると、図7に示す点P毎に面法線ベクトルは導出されるといえる。面法線ベクトルの導出は、ベクトルの外積を用いて導出する手法や、点Pを通る平面の方程式を導出する手法等、どのような手法を用いて行われてもよい。面法線ベクトルは、複数の点Pに囲まれる平面に対して垂直な方向に向けたベクトルである。面法線ベクトルの導出は、面法線ベクトルを導出する対象となる点Pを含む少なくとも3つの点Pを用いて行われる。障害物検出装置31は、面法線ベクトルを導出する対象となる点Pと、この点Pから所定範囲内に位置する2つ以上の点Pとを用いて面法線ベクトルを導出する。点P同士が過剰に離れた点Pを用いて面法線ベクトルを導出すると、点P同士に囲まれる領域内で平面の傾斜が変化しているおそれがあり、導出される面法線ベクトルの精度が低下するおそれがある。このため、点P同士に囲まれる領域内で平面の傾斜が変化している場合であっても、導出される面法線ベクトルの精度に与える影響が許容範囲に収まるように所定範囲を設定している。障害物検出装置31は、面法線ベクトルを導出する対象となる点Pから所定範囲内に2つ以上の点Pが存在する場合には、面法線ベクトルを導出する対象となる点Pについて面法線ベクトルを導出する。一方で、障害物検出装置31は、面法線ベクトルを導出する対象となる点Pから所定範囲内に2つ以上の点Pが存在しない場合には、当該面法線ベクトルを導出する対象となる点Pについては面法線ベクトルを導出しない。面法線ベクトルを導出できなかった点Pについては、障害物Oを表す点Pではないとして扱う。
【0024】
一例として、ベクトルの外積を用いて面法線ベクトルを導出する手法について説明する。
図8に示すように、面法線ベクトルを導出する対象となる点P1の所定範囲には、点P2と点P3が存在している。点P1から点P2に向かうベクトルを(1)式、点P1から点P3に向かうベクトルを(2)式とすると、面法線ベクトルは(3)式から導出することができる。即ち、点P1から点P2に向かうベクトルと点P1から点P3に向かうベクトルの外積が面法線ベクトルとなる。ステップS3の処理を行うことで、障害物検出装置31は、面法線ベクトル導出部を備えているといえる。
【0025】
【数1】
【0026】
【数2】
【0027】
【数3】
図4に示すように、ステップS4において、障害物検出装置31は、障害物Oの一部を表す点Pの候補である候補点を抽出する。候補点の抽出は、X軸及びY軸で表されるXY平面に対する面法線ベクトルの角度が予め定められた第1閾値未満となるか否かを判定することで行われる。障害物検出装置31は、点P毎にXY平面に対する面法線ベクトルの角度が第1閾値未満か否かを判定する。障害物検出装置31は、XY平面に対する面法線ベクトルの角度が予め定められた第1閾値未満となる点Pを候補点として抽出する。言い換えれば、障害物検出装置31は、XY平面に対する面法線ベクトルの角度が予め定められた第1閾値以上となる点Pは、障害物Oとは異なる物体の一部を表す点Pと判定する。第1閾値は、点Pが障害物Oの一部を表す点Pか、路面R1,R2の一部を表す点Pかを判別するための閾値である。XY平面は、フォークリフト10が位置している路面である第1路面R1と平行な平面である。従って、XY平面に対する面法線ベクトルの角度は、フォークリフト10が位置している第1路面R1に対する面法線ベクトルの角度といえる。なお、本実施形態において、XY平面に対する面法線ベクトルの角度とは、Y軸と面法線ベクトルとがなす角の角度である。
【0028】
図9に実線で示すように、面法線ベクトルは、各点Pの周囲の局所的な平面に対して垂直となる方向に延びるベクトルなので、点Pが第1路面R1の一部を表す点Pであれば、XY平面に対する当該点Pの面法線ベクトルの角度θは90°となる。第1路面R1と第2路面R2では傾斜角度が異なっており、第1路面R1にフォークリフト10が位置している場合、第2路面R2の一部を表す点Pの面法線ベクトルは、XY平面に対して垂直とならない。第2路面R2の一部を表す点Pの面法線ベクトルは、XY平面に対して90°未満の角度となる。一般に、水平面に対する路面の傾斜角度は10°未満に収まると考えられる。また、フォークリフト10の用いられる環境は、工場、港湾、商業施設などの限られた環境である。このような環境では、水平面に対する路面の傾斜角度は更に低い値に収まると考えられる。第1閾値としては、フォークリフト10が位置している第1路面R1とは傾斜角度の異なる第2路面R2が存在している場合であっても、第2路面R2を障害物Oとして検出しないような値に設定されている。また、路面R1,R2に障害物Oが存在している場合、障害物Oの一部は路面R1,R2から鉛直方向上方に向けて立ち上がるように位置する。例えば、図5に示した障害物Oのように、障害物Oが直方体とすると、障害物Oの側面は路面R1,R2から鉛直方向上方に向けて立ち上がるように位置する。路面R1,R2に障害物Oが位置している場合に、当該障害物Oの局所的な平面を想定すると、障害物Oは路面R1,R2との傾斜が大きく異なる局所的な平面を側面に備えているといえる。路面R1,R2との傾斜が大きく異なる平面では、面法線ベクトルの傾きが路面R1,R2の傾斜角度に近くなる。図9に一点鎖線で示すように、路面R1,R2に障害物Oが存在している場合、XY平面に対する角度θが小さくなる面法線ベクトルが導出されるといえる。このような要素に基づき、第1閾値としては、例えば、15°~60°の範囲で任意に設定することができる。
【0029】
図7に示す例では、点PRが第2路面R2、点POが障害物Oの一部を表している。従って、点PRの面法線ベクトルは、XY平面に対する角度が第1閾値以上となる。また、点POの一部については、XY平面に対する面法線ベクトルの角度が第1閾値未満になる。障害物Oは、局所的な平面の傾斜角度と第1路面R1の傾斜角度との差が大きい部分と、局所的な平面の傾斜角度と第1路面R1の傾斜角度との差が小さい部分とを備える。図5に示す例では、障害物Oの上面は、第1路面R1の傾斜角度との差が小さく、上面にレーザーが当たることで得られる点POの面法線ベクトルはXY平面に対する角度が第1閾値以上となる。一方で、障害物Oの側面にレーザーが当たることで得られる点POの面法線ベクトルはXY平面に対する角度が第1閾値未満となる。従って、点POの一部が候補点として抽出される。
【0030】
図4に示すように、ステップS5において、障害物検出装置31は、Z座標が閾値未満の点Pを除去する。閾値は、点PのZ座標に対して設定された閾値であって、点Pが路面R1,R2よりも下方に位置しているか否かを判定するための閾値である。障害物検出装置31は点P毎にZ座標が閾値未満か否かを判定する。本実施形態では、ステップS4で候補点と判定された点Pに対して、Z座標が閾値未満か否かを判定する。路面R1,R2に水溜まりが存在している場合等、路面R1,R2にレーザーを正反射する鏡面が存在している場合、レーザーの正反射により点Pの座標を正しく検出できない場合がある。詳細にいえば、センサ30から照射されたレーザーが鏡面に照射されると、鏡面で正反射されたレーザーが更に他の部材によって反射された反射光をセンサ30は受光することになる。結果として、レーザーが鏡面に照射されると、鏡面におけるレーザーが当たった点Pよりも遠方の座標が検出されることになる。この場合、鏡面に照射されたレーザーによって得られる点Pの座標のうちZ座標は、路面R1,R2よりも鉛直方向下方の座標となる。この点Pを用いて障害物Oを検出すると、障害物Oが存在していないにも関わらず障害物Oが存在していると判定されるおそれがあるため、レーザーが鏡面に照射されることで得られた点Pについては除去を行う。除去とは、除去された点Pについては、障害物Oを検出するための処理に用いないことを意味する。
【0031】
路面R1,R2からセンサ30までのZ軸の延びる方向に対する距離は既知の値である。即ち、センサ30を原点とした場合の路面R1,R2のZ座標は予め把握することができる。検出誤差を加味した上で、路面R1,R2のZ座標よりも若干低いZ座標を閾値として設定することで、鏡面に照射されたレーザーによって得られた点Pを除去することができる。ステップS6の処理を行うことで、障害物検出装置31は除去部を備えているといえる。
【0032】
次に、ステップS6において、障害物検出装置31は、点Pを用いて物体の抽出を行う。点Pは、物体の表面の一部を表したものである。このため、点Pの集合である点群を1つの物体として扱うことができる。障害物検出装置31は、互いに離散した複数の点Pを1つの点群としてクラスタ化することで、物体を抽出することができる。本実施形態では、面法線ベクトルが第1閾値以上の点Pを除いた候補点のうちZ座標が閾値以上の点Pを用いて物体が抽出される。
【0033】
次に、ステップS7において、障害物検出装置31は、フィルタリングを行う。フィルタリングとは、物体のサイズが過剰に小さいものを除去することで、物体のうちフォークリフト10の進行の妨げとなり得る障害物Oを抽出することである。障害物検出装置31は、点群を構成する点Pの数が第2閾値未満の点群は障害物Oではないと判定する。第2閾値としては、障害物Oとして検出したい物体の大きさに応じて、ユーザーが任意に設定することができる。例えば、小石や雨を障害物Oとして検出したくない場合、小石や雨の大きさを想定した上で、小石や雨にレーザーが当たった場合の点Pの数を想定して第2閾値を設定する。本実施形態では、ダウンサンプリングを行っているため、小石や雨にレーザーが当たった場合の点Pの数を想定し、更に、この点Pの数に対してダウンサンプリングを行ったときに残る点Pの数を想定した第2閾値を設定する。障害物検出装置31は、点群を構成する点Pの数が第2閾値以上のものを障害物Oであると判定する。ステップS4~ステップS7の処理を行うことで、障害物検出装置31は障害物抽出部を備えているといえる。
【0034】
上記したように、障害物検出装置31は、面法線ベクトルが第1閾値未満の点Pを障害物Oの一部を表す候補点として抽出し、候補点による点群を物体として抽出している。そして、障害物検出装置31は、点Pの数が第2閾値以上の点群を障害物Oであると判定している。障害物検出装置31は、XY平面に対する面法線ベクトルの角度が予め定められた第1閾値未満となる点Pを集合させた点群であって、点Pの数が第2閾値以上の点群を障害物Oとして抽出しているといえる。座標取得部、ダウンサンプリング部、面法線ベクトル導出部、除去部、及び障害物抽出部は、障害物検出装置31のプロセッサ32が予め定められた動作をすることで機能する機能要素といえる。
【0035】
本実施形態の効果について説明する。
(1)障害物検出装置31は、センサ30の検出結果から得られた点Pを間引くダウンサンプリングを行い、ダウンサンプリングを行った後に残った点Pの面法線ベクトルを導出している。点Pは、物体においてレーザーが当たった部位の座標を示しており、物体の一部を表しているといえる。点Pの面法線ベクトルは、複数の点Pに囲まれる平面に対して垂直となる方向に延びるベクトルであり、点Pの周囲の局所的な平面に対して垂直となる方向に延びるベクトルといえる。点Pが路面R1,R2とは異なる物体の一部を表している場合、XY平面に対する面法線ベクトルは第1閾値未満となる。第1閾値未満の点Pを集合させた点群は路面R1,R2とは異なる物体といえる。面法線ベクトルを用いることで、路面R1,R2とは異なる物体を抽出することができる。面法線ベクトルは、ダウンサンプリングが行われた後の点P毎に行われるため、ダウンサンプリングを行わない場合に比べて、障害物検出装置31の処理負荷を軽減することができる。障害物検出装置31は、第1閾値未満の点Pを集合させた点群のうち点Pの数が第2閾値以上の点群を障害物Oとして抽出する。点Pの数が少ない点群ほど、小さい物体であり、進行の妨げとはなりにくい。第2閾値を設定し、点Pの数が第2閾値未満の点群については障害物Oとして扱わないことで、フォークリフト10の進行の妨げとなりにくい物体が障害物Oとして検出されることを抑制できる。
【0036】
(2)障害物検出装置31は、点PのうちZ座標が閾値未満のものを除去している。路面R1,R2にレーザーを正反射する鏡面が存在している場合、レーザーの正反射により点Pの座標を正しく検出できない場合がある。Z座標が閾値未満となる点Pを除去することで、鏡面にレーザーが照射されることで得られた点Pを除去することができる。従って、路面R1,R2に鏡面が存在している場合に、障害物Oが存在しないにも関わらず障害物Oが誤検出されることが抑制される。
【0037】
実施形態は、以下のように変更して実施することができる。実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○センサ30としては、ステレオカメラ、ToF:Time of Flightカメラ、ミリ波レーダー等を用いてもよい。ステレオカメラは、互いに離間して配置された2つのカメラを備え、両カメラによって撮像された画像に写る同一物体の画素差を用いて物体の座標を導出するためのものである。TOFカメラは、カメラと、光を照射する光源と、を備え、光源から照射された光の反射光を受光するまでの時間からカメラによって撮像された画像の画素毎に奥行き方向の距離を導出するものである。ステレオカメラやToFカメラを用いる場合、物体の一部を表す点とは、画素となる。ミリ波レーダーとは、所定の周波数帯域の電波を周囲に照射することで周辺環境を認識可能なセンサである。ミリ波レーダーを用いる場合、物体の一部を表す点とは、電波が当たった点となる。即ち、物体の一部を表す点とは、センサによって実空間上の座標系における座標を検出できる点といえる。センサとしては、LIDARとステレオカメラ等、複数のセンサを組み合わせたものであってもよい。
【0038】
○障害物検出装置31は、Z座標が閾値未満の点Pを除去しなくてもよい。この場合、フォークリフト10を屋内で用いる等、路面R1,R2に鏡面が存在しない環境でフォークリフト10を用いることが好ましい。また、センサ30として、ミリ波レーダー等、鏡面を原因とする座標の誤差が生じにくいものを用いることで、路面R1,R2に鏡面が存在している場合であっても、障害物の誤検出を抑制することができる。
【0039】
○障害物検出装置31は、ダウンサンプリングを行う前に、Z座標が閾値未満の点Pの除去を行ってもよい。
○障害物検出装置31は、ダウンサンプリングを行う前にフィルタリングを行ってもよい。障害物検出装置31は、検出結果から取得した点Pを集合させた点群の数から、物体が障害物Oか否かを判定する。この場合、第2閾値としては、ダウンサンプリングを行った後にフィルタリングを行う場合に比べて、大きい値が用いられる。
【0040】
○座標取得部、ダウンサンプリング部、面法線ベクトル導出部、除去部、及び障害物抽出部は、それぞれ、個別の装置であってもよい。
○産業車両としては、港湾で用いられ、主としてコンテナを搬送する無人搬送車や、トーイングトラクタ等でもよい。
【符号の説明】
【0041】
O…障害物、P…点、R1…第1路面、R2…第2路面、10…産業車両としてのフォークリフト、31…障害物検出装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9