(57)【要約】【課題】運搬中のパレットと前方障害物との衝突を未然に防止することが可能なフォークリフトを提供する。【解決手段】フォーク４先端に配置されたカメラにより前方対象物までの距離を測定する測距部と、測距部により測定された前方対象物までの距離とフォーク４が差し込まれたパレットの形状情報とに基づいてパレット先端から前方対象物までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定する衝突判断部と、衝突判断部により算出した距離が所定の閾値以下であると判定された場合に、警報を出力させる又は移動を停止させる制御を行う衝突制御部と、を備える。【選択図】図１
2019199331.tif 000002
【特許請求の範囲】
【請求項１】
フォーク先端に配置されたカメラにより前方対象物までの距離を測定する測距部を備えるフォークリフトにおいて、
前記測距部により測定された前記前方対象物までの距離と前記フォークが差し込まれたパレットの形状情報とに基づいて前記パレット先端から前記前方対象物までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定する衝突判断部と、
前記衝突判断部により前記算出した距離が所定の閾値以下であると判定された場合に、警報を出力させる又は移動を停止させる制御を行う衝突制御部と、
を備えることを特徴とするフォークリフト。
【請求項２】
前記フォーク先端から前記前方対象物までの距離を算出する背景距離算出部と、
前記フォーク先端から前記パレットの出口側の差込口までの距離を算出する差込口距離算出部と、
を備え、
前記衝突判断部は、前記背景距離算出部により算出された前記フォーク先端から前記前方対象物までの距離と前記差込口距離算出部により算出された前記フォーク先端から前記パレットの出口側の差込口までの距離との差分に基づいて前記パレット先端から前記前方対象物までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定することを特徴とする請求項１に記載のフォークリフト。
【請求項３】
前記フォークが前記パレットに差し込まれる前に前記カメラにより撮影された画像に基づいて、前記パレットの差込口を認識するパレット差込口認識部と、
前記パレット差込口認識部により認識された前記パレットの差込口の大きさを推定し、当該推定した前記パレットの差込口の大きさと、前記パレットの差込口の形状と、を記憶部に記憶させる差込口記憶部と、
を備え、
前記差込口距離算出部は、前記フォークが前記パレットに差し込まれた後に前記カメラにより撮影された画像と前記差込口記憶部により前記記憶部に記憶された前記パレットの差込口の形状とに基づいて、前記パレットの出口側の差込口を認識し、当該認識した前記パレットの出口側の差込口の高さと前記差込口記憶部により前記記憶部に記憶された前記パレットの差込口の大きさとに基づいて、前記フォーク先端から前記パレットの出口側の差込口までの距離を算出することを特徴とする請求項２に記載のフォークリフト。
【請求項４】
前記測距部は、一対のカメラを有し、前記フォークが前記パレットに差し込まれる前は前記一対のカメラによる測距を行い、前記フォークが前記パレットに差し込まれた後は前記一対のカメラのいずれか一方による測距を行うことを特徴とする請求項３に記載のフォークリフト。
【請求項５】
前記差込口距離算出部は、前記フォークが前記パレットに差し込まれた後に前記カメラにより撮影された画像の明度に基づいて、前記パレットの出口側の差込口の形状を検出し、当該検出した前記パレットの出口側の差込口の形状と前記記憶部に記憶された前記パレットの差込口の形状とに基づいて、前記パレットの出口側の差込口を認識することを特徴とする請求項３又は４に記載のフォークリフト。
【請求項６】
マストから前記パレット後端までの距離を測定するセンサーを備え、
前記差込口距離算出部は、前記パレットの長さと、前記フォークの長さと、前記センサーにより測定された前記マストから前記パレット後端までの距離と、に基づいて、前記フォーク先端から前記パレットの出口側の差込口までの距離を算出することを特徴とする請求項２に記載のフォークリフト。
【請求項７】
前記差込口距離算出部は、前記フォークが前記パレットに差し込まれる前に前記カメラにより撮影された前記パレットの画像に基づいて、前記パレットの長さを推定することを特徴とする請求項６に記載のフォークリフト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォークリフトに関する。
【背景技術】
【０００２】
従来、フォークリフトを用いて荷物を荷台に置く際、フォーク（爪）がパレットから大きくはみ出していると、爪が前方に積み上げられている他の荷物やパレット、壁等に衝突してしまうことがある。また、図１４に示すように、爪が荷物２００Ａを載置するパレット１００Ａからはみ出していない場合であっても、パレット１００Ａが前方に積み上げられている他の荷物２００Ｂやパレット１００Ｂ、壁等に衝突してしまうこともある。特に、荷物を高所に積み上げる場合、少しでも前方の荷物に接触すると荷崩れを起こしてしまうため、フォークリフトの操作に精密なコントロールを要していた。
【０００３】
また、本来はパレットに対して適切な爪の長さがあるが、パレットの大きさはまちまちであり、個々のパレットに対してわざわざ爪の長さを調整していると、作業効率が下がってしまう。そのため、パレットに対して爪が短いまま使用することもある。
【０００４】
フォークと前方障害物との衝突を未然に防ぐ技術として、フォークの下端部分の前方にある障害物を測定可能な位置に非接触測定器を取付けた構成が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９５３３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１記載の技術では、走行中に前方障害物との衝突を防ぐことはできるが、パレット上の荷物を荷台に置く際、荷物の前方が荷台に遮られて見えなくなるため、荷台上にある荷物を検出することができず、荷台上にある荷物との衝突を防ぐことができない。
【０００７】
また、例えば、フォークの先端にカメラを取り付けて、フォーク先端から前方の障害物までの長さを測定し、フォーク先端と前方障害物との衝突を未然に防ぐ方法も考えられる。しかしながら、図１５に示すように、フォーク４がパレット１００に対して短い（フォーク４先端がパレット１００内に留まる）場合、単にフォーク４先端に取り付けたカメラ６１、６２による前方の測距だけでは、フォーク４先端から前方対象物２００までの距離Ｌａを測定することしかできないため、パレット１００から前方対象物２００までの正確な距離Ｌｓを測定することができない。
上記のカメラによる前方の測距に加え、パレットの長さを入力することで、パレットから前方対象物までの距離を算出する方法もあるが、大きさがまちまちのパレットの長さを個々に入力するのは手間であった。
【０００８】
本発明は、運搬中のパレットと前方障害物との衝突を未然に防止することが可能なフォークリフトを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、上記目的を達成するためになされたものであり、
フォーク先端に配置されたカメラにより前方対象物までの距離を測定する測距部を備えるフォークリフトにおいて、
前記測距部により測定された前記前方対象物までの距離と前記フォークが差し込まれたパレットの形状情報とに基づいて前記パレット先端から前記前方対象物までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定する衝突判断部と、
前記衝突判断部により前記算出した距離が所定の閾値以下であると判定された場合に、警報を出力させる又は移動を停止させる制御を行う衝突制御部と、
を備えることを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載のフォークリフトにおいて、
前記フォーク先端から前記前方対象物までの距離を算出する背景距離算出部と、
前記フォーク先端から前記パレットの出口側の差込口までの距離を算出する差込口距離算出部と、
を備え、
前記衝突判断部は、前記背景距離算出部により算出された前記フォーク先端から前記前方対象物までの距離と前記差込口距離算出部により算出された前記フォーク先端から前記パレットの出口側の差込口までの距離との差分に基づいて前記パレット先端から前記前方対象物までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定することを特徴とする。
【００１１】
請求項３に記載の発明は、請求項２に記載のフォークリフトにおいて、
前記フォークが前記パレットに差し込まれる前に前記カメラにより撮影された画像に基づいて、前記パレットの差込口を認識するパレット差込口認識部と、
前記パレット差込口認識部により認識された前記パレットの差込口の大きさを推定し、当該推定した前記パレットの差込口の大きさと、前記パレットの差込口の形状と、を記憶部に記憶させる差込口記憶部と、
を備え、
前記差込口距離算出部は、前記フォークが前記パレットに差し込まれた後に前記カメラにより撮影された画像と前記差込口記憶部により前記記憶部に記憶された前記パレットの差込口の形状とに基づいて、前記パレットの出口側の差込口を認識し、当該認識した前記パレットの出口側の差込口の高さと前記差込口記憶部により前記記憶部に記憶された前記パレットの差込口の大きさとに基づいて、前記フォーク先端から前記パレットの出口側の差込口までの距離を算出することを特徴とする。
【００１２】
請求項４に記載の発明は、請求項３に記載のフォークリフトにおいて、
前記測距部は、一対のカメラを有し、前記フォークが前記パレットに差し込まれる前は前記一対のカメラによる測距を行い、前記フォークが前記パレットに差し込まれた後は前記一対のカメラのいずれか一方による測距を行うことを特徴とする。
【００１３】
請求項５に記載の発明は、請求項３又は４に記載のフォークリフトにおいて、
前記差込口距離算出部は、前記フォークが前記パレットに差し込まれた後に前記カメラにより撮影された画像の明度に基づいて、前記パレットの出口側の差込口の形状を検出し、当該検出した前記パレットの出口側の差込口の形状と前記記憶部に記憶された前記パレットの差込口の形状とに基づいて、前記パレットの出口側の差込口を認識することを特徴とする。
【００１４】
請求項６に記載の発明は、請求項２に記載のフォークリフトにおいて、
マストから前記パレット後端までの距離を測定するセンサーを備え、
前記差込口距離算出部は、前記パレットの長さと、前記フォークの長さと、前記センサーにより測定された前記マストから前記パレット後端までの距離と、に基づいて、前記フォーク先端から前記パレットの出口側の差込口までの距離を算出することを特徴とする。
【００１５】
請求項７に記載の発明は、請求項６に記載のフォークリフトにおいて、
前記差込口距離算出部は、前記フォークが前記パレットに差し込まれる前に前記カメラにより撮影された前記パレットの画像に基づいて、前記パレットの長さを推定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、運搬中のパレットと前方障害物との衝突を未然に防止することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係るフォークリフトの概略構成を示す図である。
【図２】本実施形態に係るフォークリフトの制御構造を示す機能ブロック図である。
【図３】測距部の概略構成を示す正面図及び側面断面図である。
【図４】一対のカメラによりそれぞれ撮影される画像の一例を示す図である。
【図５】パレットの出口側の差込口近傍で一対のカメラが撮影する様子の一例を示す平面図である。
【図６】本実施形態に係るフォークリフトの動作の一例を示すフローチャートである。
【図７】パレットにフォークが差し込まれる様子の一例を示す図である。
【図８】パレット内部からみた背景の一例を示す図である。
【図９】フォーク及びパレットと前方対象物との位置関係を示す平面図である。
【図１０】差込口の画像上の高さの一例を示す図である。
【図１１】ピンホールカメラモデルを示す図である。
【図１２】変形例に係るフォークリフトの動作の一例を示すフローチャートである。
【図１３】フォーク及びパレットの位置関係を示す側面図である。
【図１４】パレットが前方に積み上げられている他の荷物やパレットと衝突する様子の一例を示す図である。
【図１５】フォークがパレットに対して短い場合の測距における課題を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１９】
［１．構成の説明］
本実施形態に係るフォークリフト１は、図１及び図２に示すように、車体２と、マスト３と、フォーク４と、リフトチェーン５と、測距部６と、警報装置７と、記憶部８と、制御部１０と、を備えて構成されている。フォークリフト１は、荷物を載置するパレット１００（図７等参照）にフォーク４を差し込むことで、荷物を運搬することができる。
【００２０】
車体２は、操舵装置２１と、運転席２２と、前輪２３及び後輪２４と、を備えて構成されている。前輪２３及び後輪２４は、車体２の両側面のそれぞれに設けられ、それぞれ車体２に対して回転可能に支持されている。
フォークリフト１の運転者が、運転席２２で操舵装置２１を操作することで、車体２が路面を走行するとともに、車体２の進行方向を変更することができる。
【００２１】
マスト３は、車体２の前面に取付けられている支柱であり、その軸線は上下方向に伸びている。
【００２２】
フォーク４は、マスト３に上下方向に移動可能に取付けられている。フォーク４は、一対のツメ４ａ、４ｂを有している。一対のツメ４ａ、４ｂは、車体２の左右方向に互いに離間した位置に配置されており、マスト３側から車体２の前方に向かって伸びている。
【００２３】
リフトチェーン５は、マスト３に設置されており、フォーク４と係合している。リフトチェーン５がフォーク昇降装置（図示省略）により駆動されると、それによってフォーク４が昇降される。フォーク４の上下方向の位置は、フォーク昇降装置の駆動量によって特定可能となっている。
【００２４】
測距部６は、一対のカメラ６１、６２からなるステレオカメラである。測距部６は、図３（Ａ）及び図３（Ｂ）に示すように、フォーク４（が有する一対のツメ４ａ、４ｂのいずれか一方）の先端に取り付けられている。本実施形態では、測距部６は、ツメ４ａの先端に、フォーク４（ツメ４ａ）の先端と一対のカメラ６１、６２の先端とが一致するように取り付けられている。
測距部６は、一対のカメラ６１、６２で撮影した画像の対象物を検出し、その視差によって対象物までの距離を測定する。なお、測距部６は、一対のカメラ６１、６２のいずれか一方のみを使用することで、単眼カメラとしても機能する。測距部６は、単眼カメラとして機能する場合、移動中に撮影された連続画像に映る対象物の画面上の動きと撮影位置の変位量とに基づいて、対象物までの距離を測定することができる（所謂モーションステレオ法）。
【００２５】
ここで、測距部６をステレオカメラとして機能させる場合、原理的に左右の画像の対象物を検出し、その視差によって距離を測定する。ステレオカメラの場合、わかりやすい模様や縦方向の線がないと、正確に距離を測定できないという課題がある。特に、パレット１００の出口側の差込口１０１の手前付近では、図４及び図５に示すように、一方のカメラ６１には縦線（差込口１０１の側端部分を示す線）Ｌ１が映っていても（カメラ６１により撮影される画像を示す図４（Ａ）参照）、もう一方のカメラ６２には縦線Ｌ１が映っていない（カメラ６２により撮影される画像を示す図４（Ｂ）参照）こともあり得る。また、差込口１０１の横方向の線は見えていても、パレット１００の内部は暗いため、大きな傷でもない限り、視差が取りにくいという課題がある。
【００２６】
一方、測距部６を単眼カメラとして機能させる場合、移動中に撮影された連続画像に映る対象物の画面上の動きと撮影位置の変位量とに基づいて、対象物までの距離を測定する。単眼カメラの場合、車のように、単に平面上を移動するものには適しているが、フォークリフト１の場合、マスト３がその下端を軸として前後に稼働するため、フォーク４の傾きが変わってしまい、フォークリフト１自体は動いていなくても画面内の被写体が動いてしまうという課題がある。
【００２７】
したがって、測距部６は、フォーク４がパレット１００に差し込まれる前は、視差が取りやすいため、距離の推定がより正確なステレオカメラ（一対のカメラ６１、６２）による測距を行うようにし、フォーク４がパレット１００に差し込まれた後は、視差が取りにくいため、視差を取る必要がない単眼カメラ（一対のカメラ６１、６２のいずれか一方）による測距を行うようにするとよい。
【００２８】
警報装置７は、制御部１０より所定の信号（パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれがある旨を示す信号）を受信すると、フォークリフト１の運転者に向けて警報を発する。なお、警報は、ランプ等の視覚情報、ブザー等の聴覚情報、又は、それらの組み合わせのいずれであってもよい。
【００２９】
記憶部８は、ＨＤＤ、半導体メモリーなどにより構成され、プログラムデータや各種設定データ等のデータを制御部１０から読み書き可能に記憶する。
【００３０】
制御部１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えたマイクロプロセッサによって構成されている。制御部１０は、車体２に搭載されている。制御部１０は、フォーク昇降装置（図示省略）と、測距部６と、警報装置７と、記憶部８と、等に接続されており、これらの動作を制御する。例えば、制御部１０は、フォーク昇降装置を駆動することで、フォーク４を上下方向に移動させる。また、制御部１０は、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれがある旨の信号を受信すると、その旨の信号を警報装置７に向けて出力する。これにより、運転者に向けて警報が発せられる。そして、警報が発せられた時に運転者がフォークリフト１の移動を停止させることで、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突する前にパレット１００又はフォーク４の移動を停止させることができる。
【００３１】
［２．動作の説明］
次に、本実施形態に係るフォークリフト１の動作について、図６のフローチャートを参照して説明する。この動作は、フォークリフト１に荷物を載せていない状態で開始される。
【００３２】
まず、制御部１０は、測距部６の一対のカメラ６１、６２により撮影された画像を取得し、一時的に記憶部８に格納する（ステップＳ１０１）。また、制御部１０は、取得した画像に対し、必要に応じて歪み補正などを行う。すなわち、制御部１０は、画像管理部１１（図２参照）として機能する。はじめは、フォーク４をパレット１００に差し込んでいない状態で測距部６の一対のカメラ６１、６２により撮影された画像を取得する。
【００３３】
次に、制御部１０は、ステップＳ１０１で取得した画像を参照して、フォーク４がパレット１００に差し込まれているか否かを判定する（ステップＳ１０２）。すなわち、制御部１０は、差込状態判断部１４（図２参照）として機能する。はじめは、フォーク４をパレット１００に差し込んでいない状態で撮影されているため、パレット１００にフォーク４が差し込まれていないと判定する。
【００３４】
通常、パレット１００には、フォーク４を差し込むための差込口１０１が設けられている（図７参照）。差込口１０１は、１つの側面から反対側の側面まで貫通するように設けられており、いずれの側面からもフォーク４を差し込むことができるようになっている。ステップＳ１０２において、制御部１０は、例えば、トンネルに入ったときのように、画像の周縁部が極端に暗く（暗い色をしており）、画像の中央付近に比較的明るい部分（出口側の差込口１０１に相当する部分）がある場合は、フォーク４がパレット１００に差し込まれている状態だと判断することができる。または、簡易の光センサーを使用して、画像の明暗の状態から判断するようにしてもよい。
【００３５】
制御部１０は、フォーク４がパレット１００に差し込まれていると判定した場合（ステップＳ１０２：ＹＥＳ）、ステップＳ１０７へと移行する。
一方、制御部１０は、フォーク４がパレット１００に差し込まれていないと判定した場合（ステップＳ１０２：ＮＯ）、次のステップＳ１０３へと移行する。
【００３６】
ステップＳ１０３において、制御部１０は、ステップＳ１０１で取得した画像を参照して、パレット１００の入口側の差込口１０１を認識することができたか否かを判定する（ステップＳ１０３）。例えば、制御部１０は、予め複数用意しておいた差込口１０１の形状画像とのパターンマッチングを行うことで、差込口１０１を探索する。すなわち、制御部１０は、パレット差込口認識部１２（図２参照）として機能する。
制御部１０は、パレット１００の差込口１０１を認識することができたと判定した場合（ステップＳ１０３：ＹＥＳ）、次のステップＳ１０４へと移行する。
一方、制御部１０は、パレット１００の差込口１０１を認識することができていないと判定した場合（ステップＳ１０３：ＮＯ）、ステップＳ１０１へと移行し、再度、ステップＳ１０１以降の処理を繰り返す。
【００３７】
ステップＳ１０４において、制御部１０は、ステップＳ１０３で認識したパレット１００の差込口１０１の形状を記憶部８に記憶させる（ステップＳ１０４）。
【００３８】
次に、制御部１０は、測距部６の一対のカメラ６１、６２によりパレット１００までの距離を測距させる（ステップＳ１０５）。
【００３９】
次に、制御部１０は、ステップＳ１０５で測定されたパレット１００までの距離に基づいて差込口１０１の大きさを推定し、記憶部８に記憶させる（ステップＳ１０６）。すなわち、制御部１０は、差込口記憶部１３（図２参照）として機能する。その後、ステップＳ１０１へと移行し、再度、ステップＳ１０１以降の処理を繰り返す。
【００４０】
ステップＳ１０７において、制御部１０は、ステップＳ１０１で取得した画像を参照して、パレット１００の出口側の差込口１０１を認識する（ステップＳ１０７）。具体的には、制御部１０は、ステップＳ１０１で取得した画像を参照して、ステップＳ１０４で記憶した差込口１０１形状とマッチングする形状を探索する。なお、画像内の差込口１０１が、部分的である可能性も考慮して探索する。フォーク４がパレット１００に差し込まれている状態では、基本的に暗い部分に対して明るい部分の形状をマッチングさせて探索させることとなる。すなわち、ステップＳ１０１で取得した画像の明度に基づいてパレット１００の出口側の差込口１０１の形状を検出し、当該検出した差込口１０１の形状とステップＳ１０４で記憶した差込口１０１の形状とをマッチングさせることで、パレット１００の出口側の差込口１０１を認識する。
【００４１】
次に、制御部１０は、ステップＳ１０７で認識した出口側の差込口１０１の内部を、パレット１００の向こう側の風景（すなわち、背景）として認識する（ステップＳ１０８）。すなわち、制御部１０は、背景認識部１５（図２参照）として機能する。図８に、背景Ｅ１の一例を示す。
【００４２】
次に、制御部１０は、測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から背景（前方対象物２００）までの距離Ｌａ（図９参照）を算出する（ステップＳ１０９）。すなわち、制御部１０は、背景距離算出部１６（図２参照）として機能する。例えば、制御部１０は、ステレオカメラ（一対のカメラ６１、６２）による視差で深度マップを作成する方法により、背景までの距離Ｌａを算出する。この場合、作成した深度マップで最も距離が短い領域を代表点として、前方対象物２００までの距離Ｌａを算出するようにしてもよい。
【００４３】
次に、制御部１０は、測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から出口側の差込口１０１までの距離Ｌｂ（図９参照）を算出する（ステップＳ１１０）。すなわち、制御部１０は、差込口距離算出部１７（図２参照）として機能する。例えば、制御部１０は、予め推定して記憶部８に記憶させた差込口１０１の大きさにより、出口側の差込口１０１までの距離Ｌｂを算出する。具体的には、一対のカメラ６１、６２のいずれかのカメラで撮影した画像から差込口１０１形状を認識し、差込口１０１の画像上の高さｈを取得する（図１０参照）。ここで、ピンホールカメラモデル（図１１参照）を利用すると、出口側の差込口１０１までの距離Ｌｂは、次の式（１）で表される。なお、ＬＥはレンズ、ｆは焦点距離、Ｈは差込口１０１の実際の高さであり、差込口１０１の実際の高さＨ、差込口１０１の画像上の高さｈ、焦点距離ｆは、いずれも既知の値である。
Ｌｂ＝Ｈｆ／ｈ  ・・・（１）
【００４４】
次に、制御部１０は、ステップＳ１１０で出口側の差込口１０１までの距離Ｌｂを算出することができたか否かを判定する（ステップＳ１１１）。
制御部１０は、出口側の差込口１０１までの距離Ｌｂを算出することができたと判定した場合（ステップＳ１１１：ＹＥＳ）、ステップＳ１１３へと移行する。
一方、制御部１０は、出口側の差込口１０１までの距離Ｌｂを算出することができなかったと判定した場合（ステップＳ１１１：ＮＯ）、フォーク４先端がパレット１００の出口側の差込口１０１（パレット１００先端）から突き出していると判断し、Ｌｂ＝０と設定する（ステップＳ１１２）。
【００４５】
次に、制御部１０は、パレット１００の出口側の差込口１０１（パレット１００先端）又は測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から背景（前方対象物２００）までの距離Ｌｓ（図９参照）を算出し、Ｌｓが所定の閾値以下であるか否かを判定する（ステップＳ１１３）。すなわち、制御部１０は、衝突判断部１８（図２参照）として機能する。ここで、所定の閾値は、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれのある距離（例えば、１００ｍｍ）のことである。この所定の閾値は、ユーザーや運転者が任意に設定できるようにしてもよい。なお、Ｌｓは、次の式（２）で表される。
Ｌｓ＝Ｌａ−Ｌｂ  ・・・（２）
【００４６】
本実施形態では、フォーク４先端がパレット１００先端から突き出しているとき、Ｌｂ＝０と設定される（ステップＳ１１２参照）ので、Ｌｓ＝Ｌａ（測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から背景（前方対象物２００）までの距離）である。
【００４７】
制御部１０は、Ｌｓが所定の閾値以下であると判定した場合（ステップＳ１１３：ＹＥＳ）、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれがあると判断し、警報装置７を制御して警報を出力させる（ステップＳ１１４）。これにより、パレット１００先端又はフォーク４先端と前方対象物２００との衝突を未然に防止することができる。すなわち、制御部１０は、衝突制御部１９（図２参照）として機能する。なお、ステップＳ１１４において、警報装置７を制御して警報を出力させる代わりに、フォークリフト１の移動を停止させるようにしてもよい。
一方、制御部１０は、Ｌｓが所定の閾値を超えていると判定した場合（ステップＳ１１３：ＮＯ）、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれはないと判断し、処理を終了する。
【００４８】
以上のように、本実施形態に係るフォークリフト１は、フォーク４先端に配置されたカメラ６１、６２により前方対象物２００までの距離を測定する測距部６と、測距部６により測定された前方対象物２００までの距離とフォーク４が差し込まれたパレット１００の形状情報とに基づいてパレット１００先端から前方対象物２００までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定する衝突判断部１８と、衝突判断部１８により算出した距離が所定の閾値以下であると判定された場合に、警報を出力させる又は移動を停止させる制御を行う衝突制御部１９と、を備える。
したがって、本実施形態に係るフォークリフト１によれば、フォーク４先端がパレット１００からはみ出していないであっても、大きさにバラツキのあるパレット１００の長さを考慮して前方対象物２００までの距離を測定することができるので、運搬中のパレット１００と前方障害物（前方対象物２００）との衝突を未然に防止することができる。よって、運搬中のパレット１００と前方障害物との衝突による荷崩れの発生を防止することができる。
【００４９】
また、本実施形態に係るフォークリフト１は、フォーク４先端から前方対象物２００までの距離を算出する背景距離算出部１６と、フォーク４先端からパレット１００の出口側の差込口１０１までの距離を算出する差込口距離算出部１７と、を備える。また、衝突判断部１８は、背景距離算出部１６により算出されたフォーク４先端から前方対象物２００までの距離と差込口距離算出部１７により算出されたフォーク４先端からパレット１００の出口側の差込口１０１までの距離との差分に基づいてパレット１００先端から前方対象物２００までの距離を算出し、当該算出した距離が所定の閾値以下であるか否かを判定する。
したがって、本実施形態に係るフォークリフト１によれば、大きさにバラツキのあるパレット１００の長さを考慮して前方対象物２００までの距離を測定することができるので、運搬中のパレット１００と前方障害物との衝突を未然に防止することができる。よって、運搬中のパレット１００と前方障害物との衝突による荷崩れの発生を防止することができる。
【００５０】
また、本実施形態に係るフォークリフト１は、フォーク４がパレット１００に差し込まれる前にカメラ６１、６２により撮影された画像に基づいて、パレット１００の差込口１０１を認識するパレット差込口認識部１２と、パレット差込口認識部１２により認識されたパレット１００の差込口１０１の大きさを推定し、当該推定したパレット１００の差込口１０１の大きさと、パレット１００の差込口１０１の形状と、を記憶部８に記憶させる差込口記憶部１３と、を備える。また、差込口距離算出部１７は、フォーク４がパレット１００に差し込まれた後にカメラ６１、６２により撮影された画像と差込口記憶部１３により記憶部８に記憶されたパレット１００の差込口１０１の形状とに基づいて、パレット１００の出口側の差込口１０１を認識し、当該認識したパレット１００の出口側の差込口１０１の高さと差込口記憶部１３により記憶部８に記憶されたパレット１００の差込口１０１の大きさとに基づいて、フォーク４先端からパレット１００の出口側の差込口１０１までの距離を算出する。
したがって、本実施形態に係るフォークリフト１によれば、フォーク４先端がパレット１００からはみ出していない場合のように、ステレオカメラでは視差が取りにくいケースであっても、測距部６による測距精度を十分に確保することができるので、より正確に、かつ、比較的計算量少なくパレット１００の出口側の差込口１０１までの距離を算出することができる。よって、運搬中のパレット１００と前方障害物との衝突をより確実に防止することができる。
【００５１】
また、本実施形態に係るフォークリフト１によれば、測距部６は、一対のカメラ６１、６２を有し、フォーク４がパレット１００に差し込まれる前は一対のカメラ６１、６２による測距を行い、フォーク４がパレット１００に差し込まれた後は一対のカメラ６１、６２のいずれか一方による測距を行う。
したがって、本実施形態に係るフォークリフト１によれば、視差が取りやすい場合には距離の推定がより正確なステレオカメラによる測距を行い、視差が取りにくい場合には視差を取る必要がない単眼カメラによる測距を行うことができるので、状況に応じて最適な測距を行うことができる。よって、運搬中のパレット１００と前方障害物との衝突をより確実に防止することができる。
【００５２】
また、本実施形態に係るフォークリフト１によれば、差込口距離算出部１７は、フォーク４がパレット１００に差し込まれた後にカメラ６１、６２により撮影された画像の明度に基づいて、パレット１００の出口側の差込口１０１の形状を検出し、当該検出したパレット１００の出口側の差込口１０１の形状と記憶部８に記憶されたパレット１００の差込口１０１の形状とに基づいて、パレット１００の出口側の差込口１０１を認識する。
したがって、本実施形態に係るフォークリフト１によれば、簡易な構成で容易にパレット１００の出口側の差込口１０１を認識することができるので、容易にパレット１００の出口側の差込口１０１までの距離を算出することができる。
【００５３】
以上、本発明に係る実施形態に基づいて具体的に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で変更可能である。
【００５４】
（変形例）
例えば、上記実施形態では、パレット１００内部で撮影した画像を利用して、フォーク４先端からパレット１００先端までの距離Ｌｂを算出するようにしているが、これに限定されるものではない。例えば、パレット１００の長さ（パレット１００長）を利用してＬｂを算出するようにしてもよい。具体的には、パレット１００にフォーク４を挿入する前に、パレット１００長を推定するようにし、既知の値であるフォーク４の長さと組み合わせることで、フォーク４先端からパレット１００先端までの距離Ｌｂを算出するようにしてもよい。
以下、図１２のフローチャートを参照して、変形例に係るフォークリフト１の動作を説明する。
【００５５】
まず、制御部１０は、測距部６の一対のカメラ６１、６２により撮影された画像を取得し、一時的に記憶部８に格納する（ステップＳ２０１）。また、制御部１０は、取得した画像に対し、必要に応じて歪み補正などを行う。
【００５６】
次に、制御部１０は、ステップＳ２０１で取得した画像を参照して、フォーク４がパレット１００に差し込まれているか否かを判定する（ステップＳ２０２）。
制御部１０は、フォーク４がパレット１００に差し込まれていると判定した場合（ステップＳ２０２：ＹＥＳ）、ステップＳ２０５へと移行する。
一方、制御部１０は、フォーク４がパレット１００に差し込まれていないと判定した場合（ステップＳ２０２：ＮＯ）、次のステップＳ２０３へと移行する。
【００５７】
ステップＳ２０３において、制御部１０は、ステップＳ２０１で取得した画像を参照して、パレット１００を認識することができたか否かを判定する（ステップＳ２０３）。
制御部１０は、パレット１００を認識することができたと判定した場合（ステップＳ２０３：ＹＥＳ）、次のステップＳ２０４へと移行する。
一方、制御部１０は、パレット１００を認識することができていないと判定した場合（ステップＳ２０３：ＮＯ）、ステップＳ２０１へと移行し、再度、ステップＳ２０１以降の処理を繰り返す。
【００５８】
ステップＳ２０４において、制御部１０は、ステップＳ１０３で認識したパレット１００の、フォーク４の延伸方向と平行な方向のパレット１００長Ｌｐ（図１３参照）を推定し、記憶部８に記憶させる（ステップＳ２０４）。具体的には、制御部１０は、フォーク４がパレット１００に差し込まれる前（ステップＳ２０２：ＮＯ）に測距部６の一対のカメラ６１、６２により撮影された画像を参照して、差込口１０１が設けられている側面のパレット１００長を推定する。一般に、パレット１００は、平面視で正方形状に形成されているため、フォーク４の延伸方向と平行な方向のパレット１００長Ｌｐは、差込口１０１が設けられている側面のパレット１００長と同一である。したがって、差込口１０１が設けられている側面のパレット１００長からＬｐを推定することができる。その後、ステップＳ２０１へと移行し、再度、ステップＳ２０１以降の処理を繰り返す。
【００５９】
ステップＳ２０５において、制御部１０は、マスト３内部に設けられた簡易距離センサー（センサー）ＳＥにより測定された、マスト３からパレット１００後端までの距離Ｌｋ（図１３参照）を取得する（ステップＳ２０５）。簡易距離センサーＳＥは、図１３に示すように、フォーク４の根元（付け根部分）に設けられている。パレット１００が完全にマスト３手前まで差し込まれているか（Ｌｋ＝０であるか）は状況によるため、フォーク４の根元に簡易距離センサーＳＥを取り付けることで、マスト３からパレット１００後端までの距離Ｌｋを正確に測定することができる。
【００６０】
次に、制御部１０は、測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から出口側の差込口１０１までの距離Ｌｂ（図１３参照）を算出する（ステップＳ２０６）。ここで、出口側の差込口１０１までの距離Ｌｂは、次の式（３）で表される。なお、Ｌｆはフォーク４の長さであり、既知の値である。Ｌｆは、予め入力しておいた値を利用するようにしてもよい。
Ｌｂ＝Ｌｐ＋Ｌｋ−Ｌｆ  ・・・（３）
【００６１】
次に、制御部１０は、ステップＳ２０６で算出した出口側の差込口１０１までの距離Ｌｂが０以上（Ｌｂ≧０）であるか否かを判定する（ステップＳ２０７）。
制御部１０は、出口側の差込口１０１までの距離Ｌｂが０以上（Ｌｂ≧０）であると判定した場合（ステップＳ２０７：ＹＥＳ）、ステップＳ２０９へと移行する。
一方、制御部１０は、出口側の差込口１０１までの距離Ｌｂが０未満（Ｌｂ＜０）であると判定した場合（ステップＳ２０７：ＮＯ）、フォーク４先端がパレット１００の出口側の差込口１０１（パレット１００先端）から突き出していると判断し、Ｌｂ＝０と設定する（ステップＳ２０８）。
【００６２】
次に、制御部１０は、ステップＳ２０１で取得した画像を参照して、パレット１００の出口側の差込口１０１を認識する（ステップＳ２０９）。
【００６３】
次に、制御部１０は、ステップＳ２０９で認識した出口側の差込口１０１の内部を、パレット１００の向こう側の風景（すなわち、背景）として認識する（ステップＳ２１０）。
【００６４】
次に、制御部１０は、測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から背景（前方対象物２００）までの距離Ｌａ（図９参照）を算出する（ステップＳ２１１）。
【００６５】
次に、制御部１０は、パレット１００の出口側の差込口１０１（パレット１００先端）又は測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から背景（前方対象物２００）までの距離Ｌｓ（図９参照）を算出し、Ｌｓが所定の閾値以下であるか否かを判定する（ステップＳ２１２）。Ｌｓは、上記した式（２）：Ｌｓ＝Ｌａ−Ｌｂで算出することができる。
【００６６】
変形例では、フォーク４先端がパレット１００先端から突き出しているとき、Ｌｂ＝０と設定される（ステップＳ２０８参照）ので、Ｌｓ＝Ｌａ（測距部６の一対のカメラ６１、６２の位置（フォーク４先端）から背景（前方対象物２００）までの距離）である。
【００６７】
制御部１０は、Ｌｓが所定の閾値以下であると判定した場合（ステップＳ２１２：ＹＥＳ）、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれがあると判断し、警報装置７を制御して警報を出力させる（ステップＳ２１３）。これにより、パレット１００先端又はフォーク４先端と前方対象物２００との衝突を未然に防止することができる。なお、ステップＳ２１３において、警報装置７を制御して警報を出力させる代わりに、フォークリフト１の移動を停止させるようにしてもよい。
一方、制御部１０は、Ｌｓが所定の閾値を超えていると判定した場合（ステップＳ２１２：ＮＯ）、パレット１００先端又はフォーク４先端と前方対象物２００とが衝突するおそれはないと判断し、処理を終了する。
【００６８】
以上のように、変形例に係るフォークリフト１は、マスト３からパレット１００後端までの距離を測定するセンサー（簡易距離センサーＳＥ）を備える。また、差込口距離算出部１７は、パレット１００の長さと、フォーク４の長さと、センサーにより測定されたマスト３からパレット１００後端までの距離と、に基づいて、フォーク４先端からパレット１００の出口側の差込口１０１までの距離を算出する。
したがって、変形例に係るフォークリフト１によれば、安価なセンサーを用いて低コストでマスト３からパレット１００後端までの距離を測定することができるので、低コストで、かつ、精度よくフォーク４先端からパレット１００の出口側の差込口１０１までの距離を算出することができる。
【００６９】
また、変形例に係るフォークリフト１によれば、差込口距離算出部１７は、フォーク４がパレット１００に差し込まれる前にカメラ６１、６２により撮影されたパレット１００の画像に基づいて、パレット１００の長さを推定する。
したがって、変形例に係るフォークリフト１によれば、パレット１００の長さを推定した上で、フォーク４先端からパレット１００の出口側の差込口１０１までの距離を算出することができるので、精度よく前方対象物２００までの距離を測定することができる。
【００７０】
（その他の変形例）
また、上記実施形態では、フォーク４（ツメ４ａ）の先端と一対のカメラ６１、６２の先端とが一致する構成を例示して説明しているが、これに限定されるものではない。例えば、フォーク４（ツメ４ａ）の先端が一対のカメラ６１、６２の先端よりも突出する構成を採用するようにしてもよい。この場合、フォーク４先端から出口側の差込口１０１までの距離又は前方対象物２００までの距離を算出する際、算出結果に対し、フォーク４（ツメ４ａ）の先端と一対のカメラ６１、６２の先端のずれ量分を補正するようにするとよい。
【００７１】
その他、フォークリフトを構成する各装置の細部構成及び各装置の細部動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【００７２】
１  フォークリフト
２  車体
２１  操舵装置
２２  運転席
２３  前輪
２４  後輪
３  マスト
４  フォーク
４ａ、４ｂ  ツメ
５  リフトチェーン
６  測距部
６１、６２  カメラ
７  警報装置
８  記憶部
１０  制御部
１１  画像管理部
１２  パレット差込口認識部
１３  差込口記憶部
１４  差込状態判断部
１５  背景認識部
１６  背景距離算出部
１７  差込口距離算出部
１８  衝突判断部
１９  衝突制御部
１００  パレット
１０１  差込口
２００  前方対象物
ＳＥ  簡易距離センサー（センサー）
【図１】
2019199331.tif 000003
【図２】
2019199331.tif 000004
【図３】
2019199331.tif 000005
【図４】
2019199331.tif 000006
【図５】
2019199331.tif 000007
【図６】
2019199331.tif 000008
【図７】
2019199331.tif 000009
【図８】
2019199331.tif 000010
【図９】
2019199331.tif 000011
【図１０】
2019199331.tif 000012
【図１１】
2019199331.tif 000013
【図１２】
2019199331.tif 000014
【図１３】
2019199331.tif 000015
【図１４】
2019199331.tif 000016
【図１５】
2019199331.tif 000017