(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】障害物検出装置
(51)【国際特許分類】
G05D 1/43 20240101AFI20241008BHJP
【FI】
G05D1/43
(21)【出願番号】P 2021158220
(22)【出願日】2021-09-28
【審査請求日】2023-12-18
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】関 聡史
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2021-124781(JP,A)
【文献】特開2017-184358(JP,A)
【文献】特開2017-083919(JP,A)
【文献】特開2017-227529(JP,A)
【文献】特開2018-124209(JP,A)
【文献】特開2019-139304(JP,A)
【文献】米国特許出願公開第2017/0217433(US,A1)
【文献】中国特許出願公開第112099481(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/43
(57)【特許請求の範囲】
【請求項1】
移動体に搭載される障害物検出装置であって、
物体の一部を表す点までの距離及び方向を検出するセンサと、
前記センサから検出結果を取得する取得部と、
前記検出結果から前記物体の位置を検出する検出部と、
前記検出部の検出結果に基づいて、前記物体の将来の予測位置を予測する予測部と、
前記予測位置と、前記検出部の検出結果とに基づいて、前記物体が障害物であるか否かを判定する判定部と、
を備え
、
前記予測部は、移動している前記物体の移動先を予測する場合には、複数の前記検出部の検出結果に基づいて、前記予測位置を予測し、
前記判定部は、前記検出部の検出結果が、前記予測位置から所定の距離までの予測範囲内に前記物体が存在することを示す場合、前記物体を障害物と判定する、障害物検出装置。
【請求項2】
前記予測部は、停止している前記物体の移動先を予測する場合には、前記移動体の移動に基づいて、前記予測位置を予測し、
前記判定部は、前記検出部の検出結果が、前記予測位置に前記物体が存在することを示す場合、前記物体を障害物と判定する、
請求項1に記載の障害物検出装置。
【請求項3】
前記検出部は、前記物体を検出する処理を、所定の時間間隔毎に行い、
前記予測部は、前記所定の時間間隔が長い程、前記予測範囲の広さを広くする、
請求項
1又は2に記載の障害物検出装置。
【請求項4】
前記判定部は、前記物体が障害物であるか否かの判定を複数回行い、複数回の判定のうち、所定回数以上、前記物体が障害物であると判定された場合、前記物体を障害物と判定する、
請求項1から
3のうちいずれか一項に記載の障害物検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害物検出装置に関する。
【背景技術】
【0002】
車両等の移動体には、移動体の進行の妨げとなる障害物を検出するための障害物検出装置が搭載される場合がある。障害物検出装置は、例えば、センサとして、レーザー距離計、ステレオカメラ、ミリ波レーダー等を用いて、物体の一部を表す点までの距離及び方向を導出し、導出結果に基づいて、障害物を検出するものが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示の障害物検出装置では、雨滴、虫、又は埃等の移動体の進行の妨げにならない物体を障害物として検出することに伴い、移動体の走行が妨げられる場合があった。
【課題を解決するための手段】
【0005】
上記目的を達成する障害物検出装置は、移動体に搭載される障害物検出装置であって、物体の一部を表す点までの距離及び方向を検出するセンサと、前記センサから検出結果を取得する取得部と、前記検出結果から前記物体の位置を検出する検出部と、前記検出部の検出結果に基づいて、前記物体の将来の予測位置を予測する予測部と、前記予測位置と、前記検出部の検出結果とに基づいて、前記物体が障害物であるか否かを判定する判定部と、を備えることを特徴とする。
【0006】
かかる構成によれば、障害物検出装置は、予測位置に物体が存在するか否かに基づいて、移動体の進行の妨げにならない物体を障害物として判定することに伴い、移動体の走行が妨げられることを抑制することができる。
【0007】
上記障害物検出装置において、前記予測部は、停止している前記物体の移動先を予測する場合には、前記移動体の移動に基づいて、前記予測位置を予測し、前記判定部は、前記検出部の検出結果が、前記予測位置に前記物体が存在することを示す場合、前記物体を障害物と判定してもよい。
【0008】
かかる構成によれば、障害物検出装置は、移動体の移動に応じた予測位置に前記物体が存在しない場合には、移動体の進行の妨げになる障害物が存在しないと判定する。これにより、障害物検出装置は、移動体の進行の妨げにならない物体を障害物として判定することに伴い、移動体の走行が妨げられることを抑制することができる。
【0009】
上記障害物検出装置において、前記予測部は、移動している前記物体の移動先を予測する場合には、複数の前記検出部の検出結果に基づいて、前記予測位置を予測し、前記判定部は、前記検出部の検出結果が、前記予測位置から所定の距離までの予測範囲内に前記物体が存在することを示す場合、前記物体を障害物と判定してもよい。
【0010】
かかる構成によれば、障害物検出装置は、予測範囲に物体が存在しない場合には、移動体の進行の妨げになる物体が存在しないと判定する。これにより、障害物検出装置は、移動体の進行の妨げにならない物体を障害物として判定することに伴い、移動体の走行が妨げられることを抑制することができる。
【0011】
上記障害物検出装置において、前記検出部は、前記物体を検出する処理を、所定の時間間隔毎に行い、前記予測部は、前記所定の時間間隔が長い程、前記予測範囲の広さを広くしてもよい。
【0012】
上記障害物検出装置において、前記判定部は、前記物体が障害物であるか否かの判定を複数回行い、複数回の判定のうち、所定回数以上、前記物体が障害物であると判定された場合、前記物体を障害物と判定してもよい。
【0013】
かかる構成によれば、判定部は、精度よく障害物の存在の有無を判定することができる。
【発明の効果】
【0014】
本発明によれば、障害物検出装置は、予測位置に物体が存在するか否かに基づいて、移動体の進行の妨げにならない物体を障害物として判定することに伴い、移動体の走行が妨げられることを抑制することができる。
【図面の簡単な説明】
【0015】
【
図1】障害物検知装置が搭載されるフォークリフトの一例を示す概略平面図である。
【
図2】障害物検知装置の構成の一例を示す図である。
【
図3】第1実施形態に係る予測処理、及び判定処理の説明に用いられる図である。
【
図4】第1実施形態に係る予測処理、及び判定処理の説明に用いられる図である。
【
図5】第1実施形態に係るフォークリフト10の動作の一例を示すフローチャートである。
【
図6】第2実施形態に係る予測処理、及び判定処理の説明に用いられる図である。
【
図7】第2実施形態に係るフォークリフト10の動作の一例を示すフローチャートである。
【
図8】予測処理、及び判定処理の他の例の説明に用いられる図である。
【
図9】予測処理、及び判定処理の他の例の説明に用いられる図である。
【発明を実施するための形態】
【0016】
<第1実施形態>
以下、図面を参照し、障害物検出装置を具体化した第1実施形態について説明する。
図1に示すように、移動体としてのフォークリフト10は、車体11と、車体11の前下部に配置された駆動輪12と、車体11の後下部に配置された操舵輪13と、荷役装置14と、を備える。フォークリフト10は、荷役装置14によって支持した荷を搬送する産業車両である。フォークリフト10としては、自動で動作するものであってもよいし、人による操作によって動作するものであってもよいし、自動での動作と人による操作での動作とを切り替えられるものであってもよい。
【0017】
図2に示すように、フォークリフト10は、駆動機構21と、制御装置22と、センサ31と、障害物検出装置40とを備える。駆動機構21は、フォークリフト10を走行動作させるための部材であり、駆動輪12を駆動させるための走行用モータや、操舵輪13を操舵させるための操舵機構を含む。
【0018】
制御装置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つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0019】
センサ31は、フォークリフト10の周囲に存在する物体を検出するためのものである。センサ31としては、点までの距離及び方向を測定可能なものが用いられる。本実施形態では、センサ31としてレーザー距離計を用いている。レーザー距離計は、LIDAR(Laser Imaging Detection and Ranging)又はレーザーレンジファインダと称されることもある。センサ31は、レーザーを照射し、レーザーが当たった点から反射された反射光を受光することで周辺環境を認識可能な距離計である。レーザーは、物体に当たることで反射されるため、点は物体の表面の一部を表しているといえる。なお、ここでいう物体は、フォークリフト10の進行の妨げとなる障害物、及びフォークリフト10の進行の妨げとならない物体を含む。フォークリフト10の進行の妨げとならない物体は、雨滴、虫、埃、及び雪片を含む。本実施形態では、フォークリフト10の進行の妨げとならない物体として雨滴を例に挙げて説明を行う。
【0020】
図1に示すように、センサ31は、検出可能範囲TA内でレーザーの照射角度を変更しながらレーザーを照射する。検出可能範囲TAは、例えば、レーザーを照射可能な照射可能角度θとレーザーの到達可能距離L1とで定まる扇形の範囲である。本実施形態のセンサ31は、照射可能角度θ内で一方向への照射角度を角度分解能に応じた一定角度θ1で変更しながらレーザーを照射する。照射角度は、例えば、照射可能角度θの中央を基準、即ち、0度とした場合の角度である。センサ31は、照射角度が変更される方向が水平方向となるように取り付けられている。これにより、センサ31は、水平方向への照射角度を変更しながらレーザーを照射する。
【0021】
センサ31は、レーザーの照射から反射光の受光までに要した時間から、レーザーが当たった点までの距離を測定できる。レーザーを照射した照射角度は、センサ31から点への方向を示しているといえる。センサ31は、水平方向への照射角度を変更しながらレーザーを照射するため、照射角度は、水平方向に対する点の方向を示しているといえる。レーザーを照射したにも関わらず反射光を受光できない場合には、当該レーザーの照射角度にはレーザーを反射する物体が存在しないといえる。センサ31は、点までの距離と照射角度とを対応付けた情報を検出する。点までの距離及び照射角度を用いることで、センサ31を原点とする座標系での点の座標を導出することができる。この座標は、水平方向を表す座標平面での座標を表しているといえる。センサ31の検出結果は、センサ31と点との水平方向に対する位置関係を表すものであればよい。本実施形態において、センサ31の検出結果は、点の座標を示す情報と、当該点を検出した際の照射角度を示す情報とを含む。
【0022】
センサ31は複数設けられている。複数のセンサ31は、フォークリフト10の前方の物体を検出するために設けられた3つのセンサ31A,31B,31Cを含む。センサ31Aは、フォークリフト10の前方が検出可能範囲TAとなるように車体11に取り付けられている。センサ31Aは、例えば、車体11の前部に取り付けられている。センサ31Bは、フォークリフト10の前方及びフォークリフト10の左側方が検出可能範囲TAとなるように車体11に取り付けられている。センサ31Cは、フォークリフト10の前方及びフォークリフト10の右側方が検出可能範囲TAとなるように車体11に取り付けられている。センサ31Aは、例えば、車体11の前方に取り付けられている。2つのセンサ31B,31Cは、例えば、左右に分かれて取り付けられている。なお、
図1では、センサ31Aの検出可能範囲TAのみを示しているが、2つのセンサ31B,31Cについてもセンサ31Aと同様の検出可能範囲TAを備える。
【0023】
上記したようにセンサ31を配置することで、水平方向に対するフォークリフト10の周囲のうち、少なくとも前方がいずれかのセンサ31の検出可能範囲TAに含まれる。フォークリフト10の前方と、左右とのいずれの位置に物体が存在している場合であっても、いずれかのセンサ31の検出可能範囲TAに物体は位置するといえる。なお、3つのセンサ31は、互いの検出可能範囲TAが一部重なり合うように配置されていてもよいし、互いの検出可能範囲TAが重ならないように配置されていてもよい。
【0024】
図2に示すように、障害物検出装置40は、ハードウェアとして制御部100と、記憶部200と、を備える。制御部100としては、例えば、CPU、GPU、又はDSPが用いられる。記憶部200は、RAM及びROMを含む。記憶部200は、処理を制御部100に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部200、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御部100は、ASICやFPGA等のハードウェア回路によって構成されていてもよい。処理回路である制御部100は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0025】
制御部100は、記憶部200に記憶されたプログラムを実行することで機能する機能要素として取得部101と、検出部102と、予測部103と、判定部104とを備える。
【0026】
取得部101は、センサ31から検出結果を示す情報を取得する。
検出部102は、取得部101により取得された検出結果に基づいて、物体の位置を検出する。センサ31の検出結果は、複数の点を示す情報である。前述したように、点は、水平方向を表す座標平面での座標を表している。センサ31が複数設けられる場合、それぞれのセンサ31で原点の位置が異なる。また、センサ31が複数設けられる場合、それぞれのセンサ31で座標軸の向きが異なる場合がある。検出部102は、3つのセンサ31の検出結果をマージして、3つのセンサ31により得られた点の座標を同一の座標系の座標とした後に、この座標を用いて物体の位置の検出を行う。検出部102は、例えば、所定の時間間隔毎に検出処理を行う。
【0027】
本実施形態では、説明の便宜上、フォークリフト10が水平面に位置している状態で、当該水平面上においてフォークリフト10を基準として規定した座標系での座標を、3つのセンサ31から取得したとして説明を行う。この座標系において、水平方向のうちフォークリフト10の車幅方向に延びる軸をX軸とし、水平方向のうちX軸に直交する軸をY軸とする。この座標系の座標は、水平方向での点の位置を示しているといえる。
【0028】
予測部103は、検出部102の検出結果に基づいて、物体の将来の位置を予測する。以下、予測部103が予測した物体の将来の位置を「予測位置」と記載する。
判定部104は、予測部103により予測された予測位置と、検出部102の検出結果とに基づいて、物体が存在するか否かを判定する。詳しくは、判定部104は、検出部102により検出された物体の位置が、予測部103により予測された予測位置である場合、物体が存在すると判定する。また、判定部104は、予測位置と、検出部102の検出結果とに基づいて、存在すると判定した物体が障害物であるか否かを判定する。
【0029】
[予測処理、及び判定処理の詳細について]
以下、
図3~
図4を用いて、予測部103の処理と、判定部104の処理との詳細について説明する。本実施形態の予測部103は、停止している物体について、フォークリフト10の移動に基づいて、予測位置を予測する。
【0030】
図3では、検出部102は、停止している物体P1を検出する。上述したように、検出部102は、所定の時間間隔毎に検出処理を行う。予測部103は、検出部102が物体P1を検出してから次の検出処理のタイミングまでに、フォークリフト10が移動する移動量に基づいて、物体P1の予測位置FPを予測する。詳しくは、予測部103は、フォークリフト10の+X軸方向の変位が移動量Δxである場合、検出部102により検出された物体P1のX座標から移動量Δxを差し引いた座標を予測位置FPのX座標とする。予測部103は、フォークリフト10の-X軸方向の変位が移動量Δxである場合、検出部102により検出された物体P1のX座標に移動量Δxを足し合わせた座標を予測位置FPのX座標とする。また、予測部103は、フォークリフト10の+Y軸方向の変位が移動量Δyである場合、検出部102により検出された物体P1のY座標から移動量Δyを差し引いた座標を予測位置FPのY座標とする。
【0031】
次の検出タイミングにおいて、検出部102は、物体P2を検出する。判定部104は、検出部102によって検出された物体P2の位置が、予測部103によって予測された予測位置FPと合致すると判定する。この場合、判定部104は、物体P1がフォークリフト10の移動に伴い物体P2の位置に変位したものとして、物体を障害物と判定する。
【0032】
図4では、判定部104は、検出部102によって検出された物体P2の位置が、予測部103によって予測された予測位置FPと合致しないと判定する。この場合、判定部104は、停止している物体P1がフォークリフト10の移動に伴い物体P2の位置に変位したのではなく、物体P1と物体P2とは、別の物体であるものとして判定する。つまり、判定部104は、物体P1と物体P2とを進行の妨げにならない物体として判定し、障害物が存在しないと判定する。
【0033】
ここで、物体P1と、物体P2とが別の物体である場合、先に検出部102が物体P1を検出したタイミングにおいて、物体P2も検出されるはずである。一方で、先に検出部102が物体P1を検出したタイミングにおいて、物体P2は、検出されていない。また、後に検出部102が物体P2を検出したタイミングにおいて、物体P1は、検出されていない。これより、検出部102により検出された物体P1や物体P2は、フォークリフト10の進行の妨げとならない雨滴等である可能性が高く、判定部104は、障害物が存在しないと判定する。
【0034】
図3~
図4に示すように、検出可能範囲TA内には、監視範囲SAが設けられる。監視範囲SAは、例えば、予め指定された水平面上の範囲であって、フォークリフト10の前方に設けられる四角形の範囲である。監視範囲SAを示す情報は、例えば、記憶部200に記憶される。監視範囲SAを示す情報とは、例えば、検出可能範囲TAにおける監視範囲SAの頂点の座標を示す情報である。監視範囲SA内に、雨滴、虫、又は埃等の移動体の進行の妨げにならない物体以外の物体が存在する場合、当該物体は、フォークリフト10の走行の妨げとなる障害物である。判定部104は、監視範囲SAを示す情報を参照し、存在すると判定した物体の位置が監視範囲SA内である場合、監視範囲SAに当該物体が障害物であることを示す情報を含む検出結果を制御装置22に出力する。
【0035】
制御装置22は、障害物検出装置40から取得した検出結果に応じてフォークリフト10の制御を行う。例えば、制御装置22は、監視範囲SAに障害物が存在している場合には、駆動機構21を制御することでフォークリフト10を停止、又は減速させる。フォークリフト10の減速は、例えば、車速上限値を設定することで行われる。制御装置22は、フォークリフト10の車速が車速上限値を上回らないようにフォークリフト10を走行させる。したがって、フォークリフト10の車速が車速上限値未満であれば、監視範囲SAに障害物が存在している場合であってもフォークリフト10の減速が行われないことが生じ得る。車速上限値は、予め定められた一定値であってもよいし、障害物がフォークリフト10に近いほど低くなる変動値であってもよい。
【0036】
[動作フロー]
以下、
図5を参照し、第1実施形態に係るフォークリフト10の動作の詳細について説明する。
図5のフローチャートが示す処理は、所定の時間間隔毎に繰り返し実行される。まず、取得部101は、各センサ31から検出結果を取得する(ステップS100)。次に、検出部102は、ステップS100において取得された検出結果に基づいて、検出可能範囲TAに存在する物体を検出し、物体の位置を特定する(ステップS102)。次に、予測部103は、ステップS102において検出部102により特定された物体の位置に基づいて、当該物体の予測位置FPを予測する(ステップS104)。次に、取得部101は、各センサ31から検出結果を取得する(ステップS106)。次に、検出部102は、ステップS106において取得された検出結果に基づいて、検出可能範囲TAに存在する物体を検出し、物体の位置を特定する(ステップS108)。
【0037】
判定部104は、予測部103により予測された予測位置FPと、ステップS108において特定された物体の位置とに基づいて、物体が予測位置FPに存在するか否かを判定する(ステップS110)。判定部104は、ステップS108において特定された物体の位置と、予測位置FPとが合致する場合、物体が障害物であると判定し、ステップS108において特定された物体の位置と、予測位置FPとが合致しない場合、物体が障害物ではないと判定する。
【0038】
障害物であると判定した場合、判定部104は、障害物が監視範囲SAに存在するか否かを判定する(ステップS112)。判定部104により監視範囲SAに障害物が存在すると判定された場合、判定部104は、制御装置22に検出結果を出力する。検出結果には、監視範囲SAに障害物が存在していることを示す情報が含まれる。制御装置22は、障害物検出装置40から、監視範囲SAに障害物が存在していることを示す情報を含む検出結果を取得した場合、フォークリフト10を停止、又は減速させる(ステップS114)。
【0039】
障害物が存在しないと判定した場合、又は物体が障害物であるものの当該障害物が監視範囲SAに存在しないと判定した場合、判定部104は、制御装置22に検出結果を出力する。検出結果には、障害物が存在しない、又は物体が障害物であるものの当該障害物が監視範囲SAに存在しないことを示す情報が含まれる。制御装置22は、障害物検出装置40から、障害物が存在しない、又は物体が障害物であるものの当該障害物が監視範囲SAに存在しないことを示す情報を含む検出結果を取得した場合、フォークリフト10の走行を継続させる(ステップS116)。次に、予測部103は、ステップS108において検出部102により特定された物体の位置に基づいて、当該物体の予測位置FPを予測し(ステップS118)、処理をステップS106に進める。
【0040】
[第1実施形態の障害物検出装置40にかかる効果について]
(1-1)本実施形態の判定部104は、予測部103により予測された予測位置FPと、検出部102の検出結果とに基づいて、物体が障害物であるか否かを判定する。詳しくは、予測部103は、停止している物体の移動先を予測する場合には、フォークリフト10の移動に基づいて、予測位置FPを予測する。判定部104は、検出部102の検出結果が、予測位置FPに物体が存在することを示す場合、物体を障害物と判定する。
【0041】
ここで、検出部102は、フォークリフト10の進行の妨げとならない雨滴、虫、埃、及び雪片等の物体を検出する場合がある。一方で、フォークリフト10の進行の妨げとならない雨滴、虫、埃、及び雪片等の進行の妨げにならない物体は、検出部102により検出された場合であっても、予測位置FPにおいて、再度検出されない可能性が高い。本実施形態の判定部104は、検出部102により検出された物体が、予測位置FPに存在する場合に、フォークリフト10の進行の妨げとなる障害物であると判定する。つまり、判定部104は、フォークリフト10の進行の妨げとなる障害物が存在するか否かを判定することができる。
【0042】
一般に、制御装置22が、フォークリフト10の進行の妨げとならない雨滴、虫、埃、及び雪片等の進行の妨げにならない物体の存在に基づいて、フォークリフト10を停止、又は減速させる場合、フォークリフト10は、適切に走行できない場合がある。本実施形態の障害物検出装置40は、物体を検出しつつ、且つ当該物体がフォークリフト10の進行の妨げとなる障害物であるか否かを判定する。したがって、障害物検出装置40は、フォークリフト10の進行の妨げにならない物体を障害物として判定することに伴い、フォークリフト10の走行が妨げられることを抑制することができる。
【0043】
<第2実施形態>
以下、図面を参照し、障害物検出装置を具体化した第2実施形態について説明する。上述した実施形態では、予測部103が、停止している物体について、予測位置を予測する場合について説明した。第2実施形態では、予測部103が、移動している物体について、予測位置を予測する場合について説明する。
【0044】
予測部103は、移動している物体の移動先を予測する場合には、複数の検出部102の検出結果に基づいて、予測位置FPを予測する。以下、本実施形態の予測部103の処理の詳細について説明する。
【0045】
図6に示すように、検出部102は、ある検出タイミングにおいて、物体P1を検出する。そして、検出部102は、次の検出タイミングにおいて、物体P2を検出する。予測部103は、n回目の検出タイミングの検出結果と、n+1回目の検出タイミングの検出結果とに基づいて、予測位置FPを予測する。nは、自然数である。この場合、予測部103は、物体P1の検出結果と、物体P2の検出結果とに基づいて、予測位置FPを予測する。詳しくは、予測部103は、物体P1のX座標から物体P2のX座標を差し引いた値を、X軸方向の移動量Δx1として導出し、物体P1のY座標から物体P2のY座標を差し引いた値を、Y軸方向の移動量Δy1として導出する。予測部103は、移動量Δx1と、移動量Δy1とに基づいて、予測位置FPを予測する。予測部103は、例えば、物体P2のX座標に移動量Δx1を足し合わせた座標を予測位置FPのX座標とし、物体P2のY座標に移動量Δy1を足し合わせた座標を予測位置FPのY座標とする。
【0046】
次の検出タイミングにおいて、検出部102は、物体P3を検出する。判定部104は、検出部102によって検出された物体P3の位置が、予測部103によって予測された予測位置FPと合致する、又は予測位置FPから所定距離Dまで離れた位置までの予測範囲FA内であるか否かを判定する。所定距離Dは、例えば、物体が移動に伴って、予測位置FPから変位する可能性のある距離である。したがって、予測範囲FAは、例えば、物体の移動の傾向に反して物体が移動し得る範囲である。
【0047】
図6では、判定部104は、検出部102によって検出された物体P3の位置と、予測部103によって予測された予測位置FPとが合致しないと判定する。一方で、判定部104は、検出部102によって検出された物体P3の位置が、予測範囲FA内であると判定する。この場合、判定部104は、物体P2が移動に伴い物体P3の位置に変位したものとして、物体が存在すると判定する。なお、判定部104は、検出部102によって検出された物体P3の位置が、予測位置FPと合致せず、且つ予測範囲FA内ではない場合には、物体P2と物体P3とは、別の物体であるものとして判定する。つまり、判定部104は、物体P1と物体P2とを進行の妨げにならない物体として判定し、障害物が存在しないと判定する。
【0048】
[動作フロー]
以下、
図7を参照し、第2実施形態に係るフォークリフト10の動作の詳細について説明する。
図7のフローチャートが示す処理は、所定の時間間隔毎に繰り返し実行される。また、
図7に示す処理のうち、
図5に示す処理と同様の処理については、同一のステップ符号を付して説明を省略する。
【0049】
本実施形態では、取得部101は、ステップS102の処理の後、各センサ31から検出結果を取得する(ステップS200)。次に、検出部102は、ステップS200において取得された検出結果に基づいて、検出可能範囲TAに存在する物体を検出し、物体の位置を特定する(ステップS202)。次に、予測部103は、ステップS102において検出部102により特定された物体の位置と、ステップS202において検出部102により特定された物体の位置とに基づいて、予測位置FPを予測し(ステップS204)、処理をステップS106に進める。予測部103は、例えば、ステップS102において特定された物体の座標から、ステップS202において特定された物体の座標までの、X軸方向の移動量Δx1と、Y軸方向の移動量Δy1とを導出する。予測部103は、移動量Δx1と、移動量Δy1とに基づいて、予測位置FPを予測する。
【0050】
判定部104は、予測位置FPと、予測位置FPから所定距離Dまで離れた位置までの予測範囲FAと、ステップS108において特定された物体の位置とに基づいて、物体が予測位置FP、又は予測範囲FA内に存在するか否かを判定する(ステップS206)。判定部104は、ステップS108において特定された物体の位置が、予測位置FPと合致する、又は予測範囲FA内である場合には、物体が障害物であると判定し、処理をステップS112に進める。判定部104は、ステップS108において特定された物体の位置が、予測位置FPと合致しない、且つ予測範囲FA内ではない場合には、障害物が存在しないと判定し、処理をステップS116に進める。
【0051】
[第2実施形態の障害物検出装置40にかかる効果について]
(2-1)本実施形態の予測部103は、複数の検出部102の検出結果に基づいて、予測位置FPを予測する。詳しくは、予測部103は、例えば、検出部102により特定された複数の物体の座標から、X軸方向の移動量Δx1と、Y軸方向の移動量Δy1とを導出する。予測部103は、移動量Δx1と、移動量Δy1とに基づいて、予測位置FPを予測する。判定部104は、検出部102により特定された物体の位置が、予測位置FPと合致する、又は予測範囲FA内である場合には、物体が障害物であると判定し、予測位置FPと合致しない、且つ予測範囲FA内ではない場合には、物体が障害物ではないと判定する。
【0052】
予測部103は、複数の検出部102の検出結果に基づいて、予測位置FPを予測することにより、物体の移動の傾向に基づいて、予測位置FPを予測することができる。一方で、予測部103が、物体の移動の傾向に基づいて、予測位置FPを予測した場合であっても、物体が移動している場合、移動の傾向に反して、物体が予測位置FPに移動せず、予測位置FPの近傍に移動する場合がある。本実施形態の判定部104は、検出部102により特定された物体の位置が予測位置FPから所定距離Dまで離れた位置までの予測範囲FA内である場合には、物体を障害物と判定する。上述したように、予測範囲FAは、例えば、物体の移動の傾向に反して物体が移動し得る範囲である。これにより、判定部104は、物体が移動している場合であっても、当該物体がフォークリフト10の進行の妨げとなる障害物であるか否かを判定することができる。したがって、障害物検出装置40は、フォークリフト10の進行の妨げにならない物体を障害物として判定することに伴い、フォークリフト10の走行が妨げられることを抑制することができる。
【0053】
上記各実施形態は以下のように変更してもよい。なお、上記実施形態および以下の各別例は、技術的に矛盾しない範囲で互いに組み合わせてもよい。
〇上述では、判定部104が、検出部102によって検出された物体の位置が、予測位置FPと合致する、又は予測範囲FA内である場合に、物体が存在すると判定したが、これに限られない。判定部104は、物体が存在するか否かの判定を複数回行い、複数回の判定のうち、所定回数以上、物体が存在すると判定された場合、物体を障害物と判定してもよい。この一例では、判定部104は、連続2回以上、物体が存在すると判定された場合、物体を障害物であると判定する場合について説明する。
【0054】
図8では、予測部103は、n回目の検出タイミングの検出結果と、n+1回目の検出タイミングの検出結果とに基づいて、予測位置FPを予測する。この場合、予測部103は、検出部102により検出された物体P1と、物体P2との検出結果に基づいて、予測位置FP1を予測する。判定部104は、検出部102により検出された物体P3の位置が、予測位置FP1から所定距離Dまで離れた位置までの予測範囲FA1内であるため、物体を障害物と判定する。次に、予測部103は、n+1回目の検出タイミングの検出結果と、n+2回目の検出タイミングの検出結果とに基づいて、予測位置FPを予測する。この場合、予測部103は、検出部102により検出された物体P2と、物体P3との検出結果に基づいて、予測位置FP2を予測する。判定部104は、検出部102により検出された物体P4の位置が、予測位置FP2から所定距離Dまで離れた位置までの予測範囲FA2内であるため、物体を障害物と判定する。
【0055】
ここで、物体P4の位置は、監視範囲SA内の位置である。この一例では、判定部104は、監視範囲SA内に物体が存在し、且つその物体が連続して2回障害物であると判定された場合に、監視範囲SA内に物体が存在することを示す情報を含む検出結果を、制御装置22に出力する。上述したように、判定部104は、物体P3にかかる判定と、物体P4にかかる判定との連続2回とも、物体が障害物であると判定した。このため、判定部104は、監視範囲SA内に物体が存在することを示す情報を含む検出結果を、制御装置22に出力する。
【0056】
ここで、状況によっては、フォークリフト10の進行の妨げとならない物体が、偶然、予測位置FPと合致する位置、又は予測範囲FA内において検出される場合がある。一方で、フォークリフト10の進行の妨げとならない物体が、複数回に亘って、予測位置FPと合致する位置、又は予測範囲FA内において検出される可能性は低い。かかる構成によれば、判定部104は、1回のみの判定に比して、精度よく障害物の存在の有無を判定することができる。
【0057】
なお、物体が障害物である判定された所定回数は、2回に限られず、3回以上であってもよい。また、判定部104は、ある物体について、障害物であると判定された回数の合計が、所定回数以上である場合に、物体を障害物と判定してもよい。
【0058】
〇上述では、予測部103が、検出部102により検出された1つの物体について、予測位置FPを予測する場合について説明したが、これに限られない。検出部102により検出された物体が複数存在する場合、予測部103は、複数の物体のそれぞれについて、予測位置FPを予測してもよい。
【0059】
図9では、検出部102が、物体P1を検出し、次の検出タイミングにおいて、物体P2、物体Q1、及び物体R1の3つの物体を検出する。予測部103は、物体P1の検出結果と、物体P2の検出結果とに基づいて、予測位置FP1を予測する。また、予測部103は、物体P1の検出結果と、物体Q1の検出結果とに基づいて、予測位置FQ1を予測する。また、予測部103は、物体P1の検出結果と、物体R1の検出結果とに基づいて、予測位置FR1を予測する。
【0060】
判定部104は、予測位置FP1の位置と、予測位置FP1から所定距離Dまで離れた位置までの予測範囲FA-1と、検出部102の検出結果とに基づいて、物体が障害物であるか否かを判定する。また、判定部104は、予測位置FQ1の位置と、予測位置FQ1から所定距離Dまで離れた位置までの予測範囲FA-2と、検出部102の検出結果とに基づいて、物体が障害物であるか否かを判定する。また、判定部104は、予測位置FR1の位置と、予測位置FR1から所定距離Dまで離れた位置までの予測範囲FA-3と、検出部102の検出結果とに基づいて、物体が障害物であるか否かを判定する。
【0061】
図9では、検出部102が、次の検出タイミングにおいて、物体P3、物体Q2、及び物体R2を検出する。また、これらの物体は、いずれも、予測範囲FA-1~FA-3内に存在する。したがって、判定部104は、物体P3、物体Q2、及び物体R2のそれぞれについて、物体を障害物と判定する。
【0062】
かかる構成によれば、検出部102により複数の物体が検出された場合であっても、判定部104は、物体のそれぞれについて、障害物であるか否かを判定することができる。
〇なお、上述では、予測位置から所定距離Dまで離れた位置までの範囲を予測範囲FAとする場合について説明したが、これに限られない。判定部104は、例えば、検出部102が検出処理を行う所定の時間間隔の長さに応じて、予測範囲FAの広さを変更してもよい。詳しくは、判定部104は、所定の時間間隔の長さが長い程、予測範囲FAの広さを広くする。
【0063】
ここで、物体が移動している場合、検出部102が検出処理を行う所定の時間間隔が長い程、物体が移動する可能性のある範囲が広くなる。かかる構成によれば、判定部104は、検出部102の検出処理を行う所定の時間間隔の長さに応じて予測範囲FAの広さを決定することにより、物体の移動に応じて、障害物の判定を行うことができる。
【0064】
〇上述では、監視範囲SAが四角形の範囲である場合について説明したが、これに限られない。障害物が存在することによってフォークリフト10の妨げになる範囲であれば、いずれの形状の範囲であってもよい。例えば、監視範囲SAは、検出可能範囲TAと同一の形状であってもよい。
【0065】
〇予測部103は、直近の検出部102の検出処理において検出された物体の座標から移動量Δx、及び移動量Δyを差し引いた座標を予測位置FPの座標とする場合について説明したが、これに限られない。予測部103は、例えば、フォークリフト10が移動する移動量に基づいて、移動量Δxと、移動量Δyとを補正してもよい。詳しくは、予測部103は、フォークリフト10の移動量の増加の程度を算出する。増加の程度は、例えば、n+1回目の検出タイミングとn+2回目の検出タイミングとの間にフォークリフト10が移動した移動量を、n回目の検出タイミングとn+1回目の検出タイミングとの間にフォークリフト10が移動した移動量により除した値である。かかる構成によれば、予測部103は、物体が移動している場合であって、且つフォークリフト10が定速で移動していない場合であっても、物体の移動、及び、又はフォークリフト10の移動量に応じた予測位置FPを予想することができる。
【0066】
○センサ31としては、ステレオカメラ、ToF(Time of Flight)カメラ、又はミリ波レーダーを用いてもよい。ステレオカメラは、互いに離間して配置された2つのカメラを備え、両カメラによって撮像された画像に写る同一物体の画素差を用いて物体の座標を導出するためのものである。センサ31としてステレオカメラを用いる場合、障害物検出装置40は、2つのカメラによって撮像された画像から視差画像を取得する。視差画像は、画素に対して視差[px]を対応付けたものである。視差は、ステレオカメラの備える2つのカメラによって撮像された画像を比較し、各画像に写る同一特徴点について画像間の画素数の差を導出することで得られる。特徴点とは、物体のエッジなど、境目として認識可能な部分である。特徴点は、輝度情報などから検出することができる。障害物検出装置40は、ステレオカメラの基線長、ステレオカメラの焦点距離、及び視差画像からカメラ座標系における特徴点の座標を導出する。障害物検出装置40は、カメラ座標系における特徴点の座標を実空間上の座標系の座標に変換する。特徴点は物体の一部を表す点である。このため、実空間上の座標系における特徴点の座標は、物体の一部を表す点までの距離及び方向を表しているといえる。センサ31としてステレオカメラを用いる場合、視差画像において水平方向に対応する方向に並ぶ画素に連続して視差が対応付けられている場合に、水平方向に連続して点が検出されているといえる。例えば、水平方向と画像の横方向とが一致するように撮像が行われている場合、画像の横方向に隣り合う画素同士に視差が対応付けられていれば、水平方向に連続して点が検出されているといえる。
【0067】
ToFカメラは、カメラと、光を照射する光源と、を備え、光源から照射された光の反射光を受光するまでの時間からカメラによって撮像された画像の画素毎に奥行き方向の距離を導出するものである。ToFカメラを用いることで、画素に奥行き方向の距離が対応付けられた距離画像を得ることができる。ステレオカメラを用いる場合と同様に、障害物検出装置40は、実空間上の座標系における点の座標を導出することができる。ToFカメラを用いる場合、物体の一部を表す点とは、光が当たった箇所である。センサ31としてToFカメラを用いる場合、距離画像において水平方向に対応する方向に並ぶ画素に連続して距離が対応付けられている場合に、水平方向に連続して点が検出されているといえる。
【0068】
ミリ波レーダーとは、所定の周波数帯域の電波を周囲に照射することで周辺環境を認識可能なセンサである。ミリ波レーダーを用いる場合、物体の一部を表す点とは、電波が当たった点となる。ミリ波レーダーは、レーザーに代えて電波を用いた点がレーザー距離計とは異なる。ミリ波レーダーは、レーザー距離計と同様の機能を備える。
【0069】
センサ31としては、レーザー距離計とステレオカメラ等、複数のセンサを組み合わせたものであってもよい。
○センサ31としては、3次元計測を行えることができるものを用いてもよい。3次元計測は、点のX座標、Y座標及びZ座標を計測することである。Z座標は、鉛直方向の点の位置を示す。3次元計測を行うことができるセンサ31としては、水平方向に加えて鉛直方向に対して照射角度を変更できるレーザー距離計、ステレオカメラ、ToFカメラ、及びミリ波レーダーを挙げることができる。センサ31として3次元計測を行えるものを用いる場合、障害物検出装置40は、水平方向に連続して検出された点の数が閾値以上であり、かつ、鉛直方向に連続して検出された点の数が閾値以上の点群を物体として検出してもよい。即ち、点の鉛直方向の位置を検出できる場合には、鉛直方向の位置を含めて物体の検出を行ってもよい。鉛直方向に連続して検出された点の数に設定される閾値は、水平方向に連続して検出された点の数に設定される閾値と同一の値であってもよいし、異なる値であってもよい。
【0070】
○センサ31は、単数であってもよい。この場合、予め定められた範囲Aは、センサ31の検出可能範囲TA内で設定すればよい。
○障害物検出装置40が障害物を検出した後に制御装置22が行う処理は任意である。例えば、音を発生させたり、ランプを点灯させることでフォークリフト10の搭乗者に障害物が存在することの報知を行ったりしてもよい。フォークリフト10が自動で走行するフォークリフト10であれば、障害物を回避するように経路を生成してもよい。
【0071】
○障害物検出装置40は、任意の移動体に搭載することができる。例えば、トーイングトラクタ等のフォークリフト10以外の産業車両、乗用車、又はドローン等の飛行体に障害物検出装置40は搭載されてもよい。
【符号の説明】
【0072】
10…フォークリフト、11…車体、12…駆動輪、13…操舵輪、14…荷役装置、21…駆動機構、22…制御装置、31,31A,31B,31C…センサ、40…障害物検出装置、100…制御部、101…取得部、102…検出部、103…予測部、104…判定部、200…記憶部、FA,FA1,FA-1,FA2,FA-2,FA-3…予測範囲、FP,FP1,FP2,FQ1,FR1…予測位置、SA…監視範囲、TA…検出可能範囲。