(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】障害物検知装置
(51)【国際特許分類】
G01S 17/931 20200101AFI20240702BHJP
G01S 13/931 20200101ALI20240702BHJP
【FI】
G01S17/931
G01S13/931
(21)【出願番号】P 2020173866
(22)【出願日】2020-10-15
【審査請求日】2023-01-19
【国等の委託研究の成果に係る記載事項】(出願人による申告)国立研究開発法人農業・食品産業技術総合研究機構生物系特定産業技術研究支援センター「革新的技術開発・緊急展開事業(うち人工知能未来農業創造プロジェクト)」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】服部 晋悟
【審査官】藤脇 昌也
(56)【参考文献】
【文献】特開2019-049514(JP,A)
【文献】特開2020-125031(JP,A)
【文献】特許第4811614(JP,B2)
【文献】米国特許出願公開第2020/0249354(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/00 - 7/51
G01S 17/00 - 17/95
G01S 13/00 - 13/95
(57)【特許請求の範囲】
【請求項1】
移動体に搭載される障害物検知装置であって、
物体の一部を表す点までの距離及び方向を検出するセンサと、
前記センサから検出結果を取得する取得部と、
前記点が水平方向に連続して検出された数を計数する計数部と、
前記計数部により計数された前記点の数が閾値以上の点群を障害物として検知する検知部と、
前記障害物として検知された前記点群に属する前記点のうち、前記移動体から最も離れた前記点の座標を前記障害物の座標として導出する検知装置と、を備える障害物検知装置。
【請求項2】
前記障害物の存在時間をカウントする計時部と、
前記存在時間が予め定められた時間閾値を超えた場合には前記障害物が存在していると判定し、前記存在時間が前記時間閾値を超えない場合には前記障害物が存在していないと判定する判定部と、を備える請求項1に記載の障害物検知装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、障害物検知装置に関する。
【背景技術】
【0002】
車両等の移動体には、移動体の進行の妨げとなる障害物を検知するための障害物検知装置が搭載される場合がある。障害物検知装置としては、例えば、センサの検出結果から物体の一部を表す点の座標を導出し、点の集合である点群を障害物として検知するものが挙げられる。センサとしては、例えば、レーザー距離計、ステレオカメラ、ミリ波レーダー等、物体の一部を表す点までの距離及び方向を導出可能なものが用いられる。この種の障害物検知装置では、雨滴、虫、又は埃等の進行を妨げない物体も障害物として検知される場合がある。特許文献1に開示の障害物検知装置は、点群の大きさが閾値以上の場合に、当該点群を障害物として検知する。点群の大きさが閾値未満の場合には、当該点群は障害物ではないとみなすことで、雨滴、虫、又は埃等の物体が障害物として検知されることを抑制している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示の障害物検知装置のように、大きさが閾値未満の点群を障害物ではないとみなす場合、大きさが閾値未満の点群の後方に障害物が存在している場合に、この障害物を検知できないおそれがある。
【課題を解決するための手段】
【0005】
上記課題を解決する障害物検知装置は、移動体に搭載される障害物検知装置であって、物体の一部を表す点までの距離及び方向を検出するセンサと、前記センサから検出結果を取得する取得部と、前記点が水平方向に連続して検出された数を計数する計数部と、前記計数部により計数された前記点の数が閾値以上の点群を障害物として検知する検知部と、を備える。
【0006】
雨滴、虫、又は埃等の物体は、離散的に存在する。このため、雨滴、虫、又は埃等の物体により得られる点は、水平方向に連続して存在しにくい。計数部により水平方向に連続して検出された点の数を計数し、点の数が閾値以上の点群を障害物として検知することで、雨滴、虫、又は埃等の物体が障害物として検知されることを抑制できる。障害物が存在している場合には、雨滴、虫、又は埃等の物体が存在している場合であっても、点が水平方向に連続して検出される。従って、水平方向に連続して検出される点の数を計数することで、障害物を検知することができる。
【0007】
上記障害物検知装置について、前記障害物の存在時間をカウントする計時部と、前記存在時間が予め定められた時間閾値を超えた場合には前記障害物が存在していると判定し、前記存在時間が前記時間閾値を超えない場合には前記障害物が存在していないと判定する判定部と、を備えていてもよい。
【発明の効果】
【0008】
本発明によれば、障害物を検知することができる。
【図面の簡単な説明】
【0009】
【
図1】障害物検知装置が搭載されるフォークリフトを示す概略平面図。
【
図4】雨天時にセンサによって得られる点の一例を示す図。
【
図5】雨天時にセンサによって得られる点の一例を示す図。
【
図8】フォークリフトが旋回した場合の障害物の位置について説明するための図。
【発明を実施するための形態】
【0010】
以下、障害物検知装置の一実施形態について説明する。
図1に示すように、移動体としてのフォークリフト10は、車体11と、車体11の前下部に配置された駆動輪12と、車体11の後下部に配置された操舵輪13と、荷役装置14と、を備える。フォークリフト10は、荷役装置14によって支持した荷を搬送する産業車両である。フォークリフト10としては、自動で動作するものであってもよいし、人による操作によって動作するものであってもよいし、自動での動作と人による操作での動作とを切り替えられるものであってもよい。
【0011】
図2に示すように、フォークリフト10は、駆動機構21と、制御装置22と、障害物検知装置30と、を備える。駆動機構21は、フォークリフト10を走行動作させるための部材であり、駆動輪12を駆動させるための走行用モータや、操舵輪13を操舵させるための操舵機構を含む。
【0012】
制御装置22は、フォークリフト10の走行に関する制御を行う。制御装置22は、駆動機構21を制御することで、フォークリフト10を走行させる。制御装置22は、ハードウェアとしてプロセッサと、記憶部と、を備える。プロセッサとしては、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又はDSP(Digital Signal Processor)が用いられる。記憶部は、RAM(Random access memory)及びROM(Read Only Memory)を含む。記憶部は、処理をプロセッサに実行させるように構成されたプログラムコードまたは指令を格納している。記憶部、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置22は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェア回路によって構成されていてもよい。処理回路である制御装置22は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0013】
障害物検知装置30は、センサ31と、検知装置40と、を備える。障害物検知装置30は、フォークリフト10の進行の妨げとなる障害物を検知するためのものである。
センサ31としては、点までの距離及び方向を測定可能なものが用いられる。本実施形態では、センサ31としてレーザー距離計を用いている。レーザー距離計は、LIDAR(Laser Imaging Detection and Ranging)又はレーザーレンジファインダと称されることもある。センサ31は、レーザーを照射し、レーザーが当たった点から反射された反射光を受光することで周辺環境を認識可能な距離計である。レーザーは、物体に当たることで反射されるため、点は物体の表面の一部を表しているといえる。なお、ここでいう物体は、フォークリフト10の進行の妨げとなる障害物、及びフォークリフト10の進行の妨げとならない物体を含む。フォークリフト10の進行の妨げとならない物体は、雨滴、虫、埃、及び雪片を含む。本実施形態では、フォークリフト10の進行の妨げとならない物体として雨滴を例に挙げて説明を行う。
【0014】
図1に示すように、センサ31は、検出可能範囲SA内でレーザーの照射角度を変更しながらレーザーを照射する。検出可能範囲SAは、例えば、レーザーを照射可能な照射可能角度θとレーザーの到達可能距離R1とで定まる扇形の範囲である。本実施形態のセンサ31は、照射可能角度θ内で一方向への照射角度を角度分解能に応じた一定角度θ1で変更しながらレーザーを照射する。照射角度は、例えば、照射可能角度θの中央を基準、即ち、0度とした場合の角度である。センサ31は、照射角度が変更される方向が水平方向となるように取り付けられている。これにより、センサ31は、水平方向への照射角度を変更しながらレーザーを照射する。
【0015】
センサ31は、レーザーの照射から反射光の受光までに要した時間から、レーザーが当たった点までの距離を測定できる。レーザーを照射した照射角度は、センサ31から点への方向を示しているといえる。センサ31は、水平方向への照射角度を変更しながらレーザーを照射するため、照射角度は、水平方向に対する点の方向を示しているといえる。レーザーを照射したにも関わらず反射光を受光できない場合には、当該レーザーの照射角度にはレーザーを反射する物体が存在しないといえる。センサ31は、点までの距離と照射角度とを対応付けた情報を検出する。点までの距離及び照射角度を用いることで、センサ31を原点とする座標系での点の座標を導出することができる。この座標は、水平方向を表す座標平面での座標を表しているといえる。センサ31の検出結果は、センサ31と点との水平方向に対する位置関係を表すものであればよい。本実施形態において、センサ31の検出結果は、点の座標を示す情報と、当該点を検出した際の照射角度を示す情報とを含む。
【0016】
センサ31は複数設けられている。複数のセンサ31は、フォークリフト10の後方の障害物を検知するために設けられた1つのセンサ31Aと、フォークリフト10の前方の障害物を検知するために設けられた2つのセンサ31B,31Cと、を含む。センサ31Aは、フォークリフト10の後方が検出可能範囲SAとなるように車体11に取り付けられている。センサ31Aは、例えば、車体11の後部に取り付けられている。センサ31Bは、フォークリフト10の前方及びフォークリフト10の左側方が検出可能範囲SAとなるように車体11に取り付けられている。センサ31Cは、フォークリフト10の前方及びフォークリフト10の右側方が検出可能範囲SAとなるように車体11に取り付けられている。2つのセンサ31B,31Cは、例えば、車体11の前方に取り付けられている。2つのセンサ31B,31Cは、例えば、左右に分かれて取り付けられている。なお、
図1では、センサ31Aの検出可能範囲SAのみを示しているが、2つのセンサ31B,31Cについてもセンサ31Aと同様の検出可能範囲SAを備える。
【0017】
上記したようにセンサ31を配置することで、水平方向に対するフォークリフト10の周囲全体がいずれかのセンサ31の検出可能範囲SAに含まれる。フォークリフト10の前後左右いずれの位置に障害物が存在している場合であっても、いずれかのセンサ31の検出可能範囲SAに障害物は位置するといえる。なお、3つのセンサ31は、互いの検出可能範囲SAが一部重なり合うように配置されていてもよいし、互いの検出可能範囲SAが重ならないように配置されていてもよい。
【0018】
図2に示すように、検知装置40は、ハードウェアとしてプロセッサ41と、記憶部42と、を備える。プロセッサ41としては、例えば、CPU、GPU、又はDSPが用いられる。記憶部42は、RAM及びROMを含む。記憶部42は、処理をプロセッサ41に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部42、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。検知装置40は、ASICやFPGA等のハードウェア回路によって構成されていてもよい。処理回路である検知装置40は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0019】
検知装置40は、プロセッサ41が記憶部42に記憶されたプログラムを実行することで機能する機能要素として取得部43と、計数部44と、検知部45と、計時部46と、判定部47と、リセット部48と、を備える。
【0020】
検知装置40は、所定の制御周期で以下の障害物検知制御を繰り返し行うことで障害物の検知を行う。以下、障害物検知制御について詳細に説明を行う。
図3に示すように、ステップS1において、検知装置40は、センサ31から検出結果を取得する。センサ31の検出結果は、複数の点を示す情報である。前述したように、点は、水平方向を表す座標平面での座標を表している。センサ31が複数設けられる場合、それぞれのセンサ31で原点の位置が異なる。また、センサ31が複数設けられる場合、それぞれのセンサ31で座標軸の向きが異なる場合がある。検知装置40は、3つのセンサ31の検出結果をマージして、3つのセンサ31により得られた点の座標を同一の座標系の座標とした後に、この座標を用いて障害物の検知を行ってもよい。検知装置40は、各センサ31の検出結果をマージせず、3つのセンサ31で別々に障害物の検知を行ってもよい。本実施形態では、説明の便宜上、フォークリフト10が水平面に位置している状態で水平方向のうちフォークリフト10の車幅方向に延びる軸をX軸、水平方向のうちX軸に直交する軸をY軸とする座標系での座標を3つのセンサ31から取得したとして説明を行う。この座標系の座標は、水平方向での点の位置を示しているといえる。
図4には、矢印XでX軸を示し、矢印YでY軸を示している。以下の説明において、座標とは、フォークリフト10の車幅方向に延びる軸をX軸、水平方向のうちX軸に直交する軸をY軸とする座標系での座標を示す。ステップS1の処理を行うことで、検知装置40は取得部43を備えているといえる。
【0021】
図3に示すように、ステップS2において、検知装置40は、水平方向に連続して点が検出された数を計数する。センサ31としてレーザー距離計を用いている場合、「点が水平方向に連続して検出される」とは、水平方向に対して照射角度を変更しながらレーザーを照射した際に、各照射角度で点が検出されることを意味する。例えば、任意の照射角度を第1照射角度、第1照射角度の次の照射角度を第2照射角度、第2照射角度の次の照射角度を第3照射角度とする。第1照射角度、第2照射角度、及び第3照射角度のそれぞれで点が検出された場合、連続して点が検出された数は3である。第1照射角度、及び第2照射角度で点が検出され、第3照射角度で点が検出されなかった場合、連続して点が検出された数は2である。第1照射角度、及び第3照射角度で点が検出され、第2照射角度で点が検出されなかった場合のように、点が離散的に検出された場合には点は連続して検出されていないといえる。なお、第1照射角度の前の照射角度、及び第3照射角度の次の照射角度では点が検出されていないとする。ステップS2の処理を行うことで、検知装置40は計数部44を備えているといえる。
【0022】
図4及び
図5に示すように、雨天時にフォークリフト10を屋外で走行させる場合を例に挙げてステップS2の処理について説明する。レーザーを照射することで、
図4に示すように点P1,P2,P3,P4,P5が得られたとする。点P1及び点P2は、雨滴Rにレーザーが照射されることで得られた点である。点P3~点P5は、障害物Bにレーザーが当たることで得られた点である。点P1と点P2は水平方向に連続していない点である。点P3~点P5は、互いに水平方向に連続する点である。雨滴Rは、実空間上で占有する領域が小さく、互いに離散的に存在するため、雨滴Rの後方に障害物Bが存在していない場合には点が連続して検出されにくい。一方で、障害物Bは、フォークリフト10の進行を妨げない物体よりも占有する領域が大きいため、点が連続して検出されやすい。
【0023】
レーザーを照射することで、
図5に示すように点P11,P12,P13,P14,P15,P16が得られたとする。点P11,P12は、雨滴Rにレーザーが照射されることで得られた点である。点P13は、障害物Bにレーザーが照射されることで得られた点である。点P11,P12に照射されたレーザーの延長線上には障害物Bが位置している。点P11,P12は、雨滴Rによって障害物Bに当たるレーザーが遮られることで得られた点といえる。点P11~P13は、互いに水平方向に連続する点である。このように、雨滴Rと障害物Bとの組み合わせによって水平方向に連続して点が検出される場合がある。
【0024】
点P14~P16は雨滴Rにレーザーが当たることで得られた点である。点P14~P16に照射されたレーザーの延長線上には障害物Bが位置している。点P14~P16は、雨滴Rによって障害物Bに当たるレーザーが遮られることで得られた点である。点P14~点P16は、互いに水平方向に連続する点である。降水量が多く雨滴Rが密に存在する場合や、センサ31の近くに雨滴Rが存在する場合には雨滴Rによって水平方向に連続して点が検出される場合がある。
【0025】
図3に示すように、ステップS3において、検知装置40は、ステップS2で計数された点の数が閾値以上の点群を障害物として検知する。詳細にいえば、検知装置40は、水平方向に閾値以上連続して検出された複数の点を1つの点群としてグルーピングする。閾値としては、センサ31の角度分解能、検知したい障害物の大きさ、検出可能範囲SAのうち最遠方に障害物が存在している場合に障害物に当たるレーザーの点数に基づき任意の値を設定することができる。本実施形態では、一例として閾値を3としている。即ち、水平方向に連続して3つ以上の点が検出された場合、これらの点は点群としてグルーピングされる。グルーピングの手法としては、任意の手法を挙げることができる。例えば、水平方向に連続して存在する4つの点が存在する場合、4つの点を1つの点群としてもよいし、4つの点のうち連続する3つの点を1つの点群とし、残りの1つの点は除外してもよい。また、4つの点には、連続する3つの点の組み合わせが2つ存在するため、2つの組み合わせのそれぞれを1つずつの点群としてもよい。この場合、4つの点のうち2つの点は、2つの点群に属することになる。ステップS3の処理を行うことで、検知装置40は検知部45を備えているといえる。
【0026】
図4及び
図5に示す例であれば、点P3~点P5が1つの点群PG1、点P11~P13が1つの点群PG2、点P14~P16が1つの点群PG3としてグルーピングされる。検知装置40は、各点群PG1,PG2,PG3を障害物として検知する。
【0027】
図3に示すように、ステップS4において、検知装置40は、障害物の位置を導出する。障害物の位置としては、障害物として検知された点群に属する点のうち任意の点の座標を用いることができる。本実施形態では、点群に属する点のうちフォークリフト10から最も離れた点の座標を障害物の位置としている。なお、フォークリフト10から最も離れた点とは、フォークリフト10からのユークリッド距離が最も長い点であってもよいし、Y軸に沿う距離がフォークリフト10から最も長い点であってもよい。
【0028】
検知装置40は、障害物検知制御によって検知された障害物が存在するか否かを判定する判定制御を行う。
図6に示すように、検知装置40は、予め定められた範囲Aに障害物が継続して位置している時間である存在時間から障害物が存在しているか否かの判定を行う。予め定められた範囲Aは、水平方向に対して定められた範囲である。予め定められた範囲Aは、例えば、X座標及びY座標によって規定される。
【0029】
予め定められた範囲Aは、複数の範囲A1,A2を備える。本実施形態において、予め定められた範囲Aは、第1範囲A1と、第2範囲A2と、を含む。第1範囲A1は、フォークリフト10から水平方向に広がる領域である。第1範囲A1の形状は、任意の形状とすることができる。第1範囲A1の形状としては、例えば、フォークリフト10を平面視した場合に、円形や多角形となるような形状を挙げることができる。第2範囲A2は、フォークリフト10から水平方向に広がる領域である。第2範囲A2は、第1範囲A1と重なり合う。第2範囲A2の形状は、任意の形状とすることができる。第2範囲A2は、例えば、第1範囲A1と同一形状であり、かつ、第1範囲A1よりも面積の小さい範囲である。第2範囲A2は全体に亘って第1範囲A1に含まれている。
【0030】
以下、判定制御について詳細に説明を行う。判定制御は、所定の制御周期で繰り返し行われる。以下の説明では、第1範囲A1に物体が存在しているか否かを判定する際の判定制御について説明する。
【0031】
図7に示すように、ステップS11において、検知装置40は、第1範囲A1に障害物が位置しているか否かを判定する。検知装置40は、ステップS4で導出した障害物の位置が第1範囲A1内か否かを判定することで、第1範囲A1に障害物が位置しているか否かを判定することができる。検知装置40は、第1範囲A1に1つでも障害物が位置していれば、第1範囲A1に障害物が位置していると判定する。検知装置40は、第1範囲A1に1つも障害物が位置してしない場合には第1範囲A1に障害物が位置していないと判定する。検知装置40は、ステップS11の判定結果が肯定の場合、ステップS12の処理を行う。検知装置40は、ステップS11の判定結果が否定の場合、ステップS16の処理を行う。
【0032】
ステップS12において、検知装置40は、第1範囲A1に障害物が位置している存在時間をカウントする。詳細にいえば、検知装置40は、存在時間のカウントが行われていない場合には存在時間のカウントを開始し、存在時間のカウントが既に行われている場合にはカウントを継続する。第1範囲A1には障害物が位置しているため、検知装置40は、障害物の存在時間をカウントしているといえる。ステップS12の処理を行うことで検知装置40は計時部46を備えているといえる。
【0033】
次に、ステップS13において、検知装置40は、第1範囲A1に障害物が位置している存在時間が時間閾値を超えたか否かを判定する。時間閾値は、予め定められた値である。時間閾値としては、雨滴Rが障害物として検知されている場合に、この障害物が検知されなくなるのに要すると想定される時間に設定される。雨滴Rにレーザーが当たることで障害物が検知された場合であっても、時間経過により雨滴Rが落下することでレーザーが雨滴Rに当たらなくなる。このように、雨滴Rが障害物として検知されている場合、時間経過により障害物が検知されなくなる場合がある。時間閾値を上記したように設定することで、第1範囲A1に存在している障害物が雨滴Rにより検知されている障害物のみの場合、存在時間が時間閾値を超える前にステップS11の判定結果が否定になる。ステップS13の判定結果が肯定の場合、検知装置40はステップS14の処理を行う。ステップS13の判定結果が否定の場合、検知装置40はステップS15の処理を行う。
【0034】
ステップS14において、検知装置40は、第1範囲A1に障害物が存在していると判定する。第1範囲A1に障害物が位置している存在時間が時間閾値を超えた場合には第1範囲A1に障害物が存在していると判定される。
【0035】
ステップS15において、検知装置40は、第1範囲A1に障害物が存在していないと判定する。第1範囲A1に障害物が位置している存在時間が時間閾値を超えない場合には第1範囲A1に障害物が存在していないと判定される。ステップS13~S15の処理を行うことで、検知装置40は、判定部47を備えているといえる。
【0036】
ステップS16において、検知装置40は、存在時間のカウントをリセットする。これにより、第1範囲A1に障害物が位置しなくなった場合には、存在時間のリセットにより、第1範囲A1に障害物が存在しないと判定されるようになる。ステップS16の処理を行うことで、検知装置40は、リセット部48を備えているといえる。
【0037】
図6に示すように、雨天時にフォークリフト10を屋外で走行させる場合を例に挙げて判定制御について説明する。
図6に示す例では、第1範囲A1に障害物Bが存在している。雨滴Rにより得られる点P21,P22,P23により点群PG11が障害物として検知されている。障害物Bにより得られる点P24,P25,P26により点群PG12が障害物として検知されている。
【0038】
点群PG11,PG12が障害物として検知されることで、存在時間のカウントが行われる。雨滴Rにより得られる点群PG11は、存在時間が時間閾値に達する前に得られなくなる。点群PG11が得られなくなっても、障害物Bが第1範囲A1に存在していれば、点群PG12は継続して得られるため、存在時間のカウントは継続される。存在時間が時間閾値を超えると、障害物が第1範囲A1に存在していると判定される。仮に、障害物Bが第1範囲A1に存在していない場合には、雨滴Rにより点群PG11が得られた場合であっても、存在時間が時間閾値に達する前に点群PG11が得られなくなる。このため、判定制御を行うことにより、雨滴Rが障害物として検知された場合であっても、この障害物は存在していないとみなすことができる。
【0039】
上記では、第1範囲A1に障害物が存在しているか否かを判定する場合について説明を行ったが、第2範囲A2についても同様の態様で障害物が存在しているか否かを判定することができる。ステップS11~ステップS16で行った処理を第2範囲A2についても行えばよい。検知装置40は、第1範囲A1及び第2範囲A2毎に障害物が存在しているか否かを判定する。なお、第2範囲A2は、第1範囲A1に含まれているため、第2範囲A2に障害物が位置している場合には、第1範囲A1についても第2範囲A2についても存在時間のカウントが行われることになる。即ち、第2範囲A2に障害物が存在している場合には、第1範囲A1にも障害物が存在していると判定される。
【0040】
検知装置40は、制御装置22に検知結果を出力する。検知結果は、例えば、第1範囲A1に障害物が存在しているか否かを示す情報、第2範囲A2に障害物が存在しているか否かを示す情報、及び障害物の位置情報を含む。
【0041】
制御装置22は、障害物検知装置30の検知結果に応じてフォークリフト10の制御を行う。例えば、制御装置22は、第2範囲A2に障害物が存在している場合には、駆動機構21を制御することでフォークリフト10を停止させる。制御装置22は、第1範囲A1に障害物が存在しており、かつ、第2範囲A2に障害物が存在していない場合には、駆動機構21を制御することでフォークリフト10を減速させる。フォークリフト10の減速は、例えば、車速上限値を設定することで行われる。制御装置22は、フォークリフト10の車速が車速上限値を上回らないようにフォークリフト10を走行させる。従って、フォークリフト10の車速が車速上限値未満であれば、第1範囲A1に障害物が存在している場合であってもフォークリフト10の減速が行われないことが生じ得る。車速上限値は、予め定められた一定値であってもよいし、障害物がフォークリフト10に近いほど低くなる変動値であってもよい。
【0042】
本実施形態の作用について説明する。
障害物検知制御では、水平方向に連続して検出された点の数を計数し、閾値以上連続して点が存在する場合には、それらの点の点群を障害物として検知している。
【0043】
図5に示す点群PG2は、雨滴Rによって得られた点と障害物Bによって得られた点によって障害物として検知されている。仮に、点群の大きさから障害物の検知を行う場合、所定範囲に存在する複数の点を1つの点群とし、点群の大きさを測定する。
図5に示す点P11,P12は、雨滴Rによって障害物Bに当たるレーザーが遮られることで得られた点である。点群の大きさから障害物の検知を行う場合、点P11,P12,P13を1つの点群としてグルーピングできず、障害物Bを検知できない場合がある。これに対し、本実施形態のように、水平方向に点が連続して検出されるか否かによって障害物の検知を行うと、雨滴Rにレーザーが遮られることで雨滴Rの後方に存在する障害物Bにレーザーが当たらない場合であっても、障害物Bを検知できる。また、レーザーの延長線上に障害物Bが位置しているため、雨滴Rによってレーザーが遮られていない場合であっても水平方向に点が連続して検出される。雨滴Rの後方に障害物Bが存在している場合には、雨滴Rによってレーザーが遮られるか否かに関わらず水平方向に連続して点が検出されるといえる。
【0044】
同様に、
図5に示す点群PG3は、雨滴Rによって得られた点P14~P16によって障害物として検知されている。障害物検知制御では、雨滴Rを障害物として検知し得る。この場合、雨滴Rの後方に障害物Bが存在していなければ、次回の制御周期では雨滴Rが障害物として検知されなくなる。雨滴Rの後方に障害物Bが存在していれば、次回の制御周期でも障害物が検知される。点群の大きさから障害物の検知を行う場合、点群PG3を障害物として検知できず、障害物の検知が遅れる場合がある。これに対し、本実施形態では、雨滴Rの後方に障害物Bが存在している場合には、継続して障害物が検知されるため、雨滴Rの後方に障害物Bが存在している場合であっても障害物を検知することができる。
【0045】
判定制御では、存在時間のカウントを行うことで、障害物が存在しているか否かを判定している。存在時間は、第1範囲A1と第2範囲A2毎にカウントされる。仮に、検知された障害物毎に存在時間のカウントを行う場合、前回の制御周期で検知された障害物と今回の制御周期で検知された障害物とが同一障害物か否かの判定を行う。そして、障害物毎に存在時間をカウントしていく。このように、障害物毎に存在時間をカウントする場合であっても、雨滴Rの影響を低減して、障害物が存在しているか否かの判定を行うことができる。しかしながら、検知された障害物毎に存在時間のカウントを行う場合、前回の制御周期で検知された障害物と今回の制御周期で検知された障害物とが同一障害物と判定できなかった場合には、存在時間がリセットされる。
【0046】
例えば、
図8に示すように、フォークリフト10が旋回した場合を想定する。旋回前において、検知装置40は、障害物Bにより得られた点P31,P32,P33の集合である点群PG13を障害物として検知している。フォークリフト10が旋回することで座標軸が動くため、障害物Bの座標が大きく変化する。障害物Bは移動していないにも関わらず、
図8に二点鎖線で示すように、障害物Bが大きく移動したとみなすことができる。この場合、検知装置40は、旋回前後で同一障害物を異なる障害物として検知する場合がある。結果として、フォークリフト10が旋回することで、存在時間のカウントがリセットされ、存在時間が時間閾値を超えるまで障害物が存在していないと判定される。特に、フォークリフト10のような産業車両は、倉庫、工場等の狭い領域で使用される関係上、最小旋回半径が小さいことが多い。このため、1回の制御周期の間に大きく旋回するおそれがあり、存在時間のリセットが生じ易い。
【0047】
本実施形態のように予め定められた範囲Aに障害物が位置する時間を存在時間としてカウントすることで、予め定められた範囲Aに障害物が位置していればカウントは継続される。フォークリフト10が旋回した場合であっても、フォークリフト10の旋回後に障害物が予め定められた範囲Aに存在していればカウントが継続される。
図8に示す例では、旋回前であっても旋回後であっても障害物Bが第1範囲A1に位置している。このため、旋回前後でも存在時間のリセットが行われない。
【0048】
なお、実施形態では、フォークリフト10の進行を妨げない物体の一例として雨滴Rを挙げて説明を行ったが、虫、埃、及び雪片であっても雨滴Rと同様のことが言える。
実施形態の効果について説明する。
【0049】
(1)検知装置40は、水平方向に連続して検出された点の数が閾値以上の点群を障害物として検知している。雨滴Rは、実空間上で離散的に存在する。これに対して、フォークリフト10の進行の妨げとなる障害物は、雨滴Rに比べて実空間上を占有する領域が大きい。水平方向に連続して検出された点の数を計数し、点の数が閾値以上の点群を障害物として検知することで、雨滴Rが障害物として検知されることを抑制できる。障害物が存在している場合には、雨滴Rが存在している場合であっても、点が水平方向に連続して検出される。従って、水平方向に連続して検出される点の数を計数することで、障害物を検知することができる。
【0050】
(2)検知装置40は、障害物の存在時間が時間閾値を超えた場合に、障害物が存在していると判定している。雨滴Rが障害物として検知された場合に、この障害物は存在していないと判定することができる。実施形態のように、障害物が存在するか否かによりフォークリフト10の減速及び停止が行われる場合には、雨滴Rによって減速及び停止が行われることを抑制することができる。
【0051】
(3)検知装置40は、水平方向に連続して検出された点の数によって障害物の検知を行っている。障害物の検知を行うために点群の大きさを算出する必要がないため、点群の大きさから障害物を検知する場合に比べて、ソフトウェアを簡素にすることができる。
【0052】
(4)検知装置40は、水平方向に連続して検出された点の数によって障害物の検知を行うことで、雨滴Rが障害物として検知されることを抑制することができる。検知装置40が行う制御により雨滴Rが障害物として検知されることを抑制できるため、雨滴Rが障害物として検知されることを抑制するために装置を追加する必要がない。
【0053】
(5)検知装置40は、予め定められた範囲Aに障害物が位置している存在時間をカウントしている。障害物が予め定められた範囲Aに位置していれば存在時間のカウントが継続される。予め定められた範囲Aに障害物が位置していれば、前回の制御周期で検知された障害物と今回の制御周期で検知された障害物とが同一か否かに関わらずカウントが行われる。従って、同一の障害物が存在するか否かを判定し、障害物の存在時間をカウントする場合に比べて、存在時間がリセットされにくい。存在時間のリセットにより障害物が存在していないと判定されることを抑制できる。
【0054】
(6)予め定められた範囲Aは、複数の範囲A1,A2を備える。範囲A1,A2毎に障害物が存在しているかを個別にカウントすることで、範囲A1,A2毎に障害物が存在しているか否かを判定することができる。従って、制御装置22は、範囲A1,A2毎に異なる制御を行うことができる。実施形態であれば、第1範囲A1に障害物が存在していればフォークリフト10の減速、第2範囲A2に障害物が存在していればフォークリフト10の停止を行うことができる。
【0055】
(7)検知装置40は、予め定められた範囲Aに障害物が位置している存在時間をカウントしている。障害物毎に存在時間をカウントする場合のように、前回の制御周期で検知された障害物と今回の制御周期で検知された障害物とが同一の障害物か否かを判定する必要がない。従って、同一の障害物が存在するか否かを判定し、障害物の存在時間をカウントする場合に比べて、ソフトウェアを簡素にすることができる。
【0056】
実施形態は、以下のように変更して実施することができる。実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○検知装置40は、判定制御の際に障害物毎に存在時間をカウントしてもよい。検知装置40は、障害物の位置、障害物の形状、及び障害物の移動ベクトルを含む障害物情報から、前回の制御周期で検知した障害物と今回の制御周期で検知した障害物とが同一の障害物か否かを判定することができる。検知装置40は、存在時間が時間閾値を超えた障害物は存在していると判定する。この場合であっても、雨滴Rに検知された障害物は存在していないと判定することができる。
【0057】
○検知装置40は、判定制御を行わなくてもよい。この場合、障害物検知制御により障害物が検知されると、存在時間に関わらず当該障害物が存在していると判定される。この場合、雨滴Rが障害物として検知された場合に、障害物が存在していないにも関わらず、フォークリフト10の減速や停止が行われる場合がある。しかしながら、雨滴Rが障害物として検知される頻度は低い。また、雨滴Rが障害物として検知された場合であっても雨滴Rが障害物として検知されている時間は僅かであると考えられる。従って、雨滴Rが障害物として検知されることでフォークリフト10の減速や停止が行われる場合であっても、この時間は僅かであると考えられるため、実使用上の影響は少ないと考えられる。
【0058】
○予め定められた範囲Aは、1つの範囲であってもよい。例えば、実施形態の第2範囲A2を省略して、第1範囲A1のみとしてもよい。
○予め定められた範囲Aは、複数の範囲に分割されていてもよい。例えば、第1範囲A1を複数の範囲に分割し、範囲毎に存在時間のカウントを行ってもよい。
【0059】
○予め定められた範囲Aは、3つ以上の範囲を備えていてもよい。
○第2範囲A2の一部が第1範囲A1に重なるようにしてもよい。
○検知装置40は、障害物検知制御及び判定制御に加えて、点群の大きさから障害物を検知する制御を行ってもよい。例えば、検知装置40は、点群の大きさから障害物を検知する制御を行い、点群の大きさが閾値以上の場合に、当該点群を障害物として検知する。検知装置40は、点群の大きさが閾値未満の場合、当該点群はフォークリフト10の進行を妨げない物体とみなす。検知装置40は、大きさが閾値未満の点群を除去した後に、障害物検知制御及び判定制御を行ってもよい。
【0060】
○センサ31としては、ステレオカメラ、ToF:Time of Flightカメラ、又はミリ波レーダーを用いてもよい。
ステレオカメラは、互いに離間して配置された2つのカメラを備え、両カメラによって撮像された画像に写る同一物体の画素差を用いて物体の座標を導出するためのものである。センサ31としてステレオカメラを用いる場合、検知装置40は、2つのカメラによって撮像された画像から視差画像を取得する。視差画像は、画素に対して視差[px]を対応付けたものである。視差は、ステレオカメラの備える2つのカメラによって撮像された画像を比較し、各画像に写る同一特徴点について画像間の画素数の差を導出することで得られる。特徴点とは、物体のエッジなど、境目として認識可能な部分である。特徴点は、輝度情報などから検出することができる。検知装置40は、ステレオカメラの基線長、ステレオカメラの焦点距離、及び視差画像からカメラ座標系における特徴点の座標を導出する。検知装置40は、カメラ座標系における特徴点の座標を実空間上の座標系の座標に変換する。特徴点は物体の一部を表す点である。このため、実空間上の座標系における特徴点の座標は、物体の一部を表す点までの距離及び方向を表しているといえる。センサ31としてステレオカメラを用いる場合、視差画像において水平方向に対応する方向に並ぶ画素に連続して視差が対応付けられている場合に、水平方向に連続して点が検出されているといえる。例えば、水平方向と画像の横方向とが一致するように撮像が行われている場合、画像の横方向に隣り合う画素同士に視差が対応付けられていれば、水平方向に連続して点が検出されているといえる。
【0061】
ToFカメラは、カメラと、光を照射する光源と、を備え、光源から照射された光の反射光を受光するまでの時間からカメラによって撮像された画像の画素毎に奥行き方向の距離を導出するものである。ToFカメラを用いることで、画素に奥行き方向の距離が対応付けられた距離画像を得ることができる。ステレオカメラを用いる場合と同様に、検知装置40は、実空間上の座標系における点の座標を導出することができる。ToFカメラを用いる場合、物体の一部を表す点とは、光が当たった箇所である。センサ31としてToFカメラを用いる場合、距離画像において水平方向に対応する方向に並ぶ画素に連続して距離が対応付けられている場合に、水平方向に連続して点が検出されているといえる。
【0062】
ミリ波レーダーとは、所定の周波数帯域の電波を周囲に照射することで周辺環境を認識可能なセンサである。ミリ波レーダーを用いる場合、物体の一部を表す点とは、電波が当たった点となる。ミリ波レーダーは、レーザーに代えて電波を用いた点がレーザー距離計とは異なる。ミリ波レーダーは、レーザー距離計と同様の機能を備える。
【0063】
センサ31としては、レーザー距離計とステレオカメラ等、複数のセンサを組み合わせたものであってもよい。
○センサ31としては、3次元計測を行えることができるものを用いてもよい。3次元計測は、点のX座標、Y座標及びZ座標を計測することである。Z座標は、鉛直方向の点の位置を示す。3次元計測を行うことができるセンサ31としては、水平方向に加えて鉛直方向に対して照射角度を変更できるレーザー距離計、ステレオカメラ、ToFカメラ、及びミリ波レーダーを挙げることができる。センサ31として3次元計測を行えるものを用いる場合、検知装置40は、水平方向に連続して検出された点の数が閾値以上であり、かつ、鉛直方向に連続して検出された点の数が閾値以上の点群を障害物として検知してもよい。即ち、点の鉛直方向の位置を検知できる場合には、鉛直方向の位置を含めて障害物の検知を行ってもよい。鉛直方向に連続して検出された点の数に設定される閾値は、水平方向に連続して検出された点の数に設定される閾値と同一の値であってもよいし、異なる値であってもよい。
【0064】
○センサ31は、単数であってもよい。この場合、予め定められた範囲Aは、センサ31の検出可能範囲SA内で設定すればよい。
○障害物検知装置30が障害物を検知した後に制御装置22が行う処理は任意である。例えば、音を発生させたり、ランプを点灯させることでフォークリフト10の搭乗者に障害物が存在することの報知を行ってもよい。フォークリフト10が自動で走行するフォークリフト10であれば、障害物を回避するように経路を生成してもよい。
【0065】
○障害物検知装置30は、任意の移動体に搭載することができる。例えば、トーイングトラクタ等のフォークリフト10以外の産業車両、乗用車、又はドローン等の飛翔体に障害物検知装置30は搭載されてもよい。
【0066】
○取得部43と、計数部44と、検知部45と、計時部46と、判定部47と、リセット部48と、はそれぞれ個別の装置であってもよい。
【符号の説明】
【0067】
B…障害物、P1~P5,P11~P16,P21~P26,P31~P33…点、PG1~PG3,PG11~PG13…点群、10…移動体としてのフォークリフト、30…障害物検知装置、31…センサ、43…取得部、44…計数部、45…検知部、46…計時部、47…判定部。