(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-29
(45)【発行日】2023-06-06
(54)【発明の名称】フォークリフト
(51)【国際特許分類】
B66F 9/24 20060101AFI20230530BHJP
【FI】
B66F9/24 P
(21)【出願番号】P 2020065210
(22)【出願日】2020-03-31
【審査請求日】2022-06-20
【国等の委託研究の成果に係る記載事項】(出願人による申告)国立研究開発法人農業・食品産業技術総合研究機構生物系特定産業技術研究支援センター「革新的技術開発・緊急展開事業(うち人工知能未来農業創造プロジェクト)」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】三田 達也
【審査官】吉川 直也
(56)【参考文献】
【文献】特開2017-182502(JP,A)
【文献】特開2018-002335(JP,A)
【文献】特開2020-111400(JP,A)
【文献】特開2018-199560(JP,A)
【文献】特開2009-291540(JP,A)
【文献】米国特許出願公開第2018/0312382(US,A1)
【文献】韓国公開特許第10-2011-0027460(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/00-11/04
(57)【特許請求の範囲】
【請求項1】
車体と、
パレットが積載される一対のフォークと、を備えたフォークリフトであって、
前記フォークリフトが用いられる環境を地図座標系での座標で表した環境地図を記憶するように構成された記憶装置と、
前記地図座標系での前記フォークリフトの自己位置を推定するためのセンサを用いて、前記自己位置の推定を行う自己位置推定部と、
前記地図座標系での前記フォークリフトの姿勢を検出する姿勢検出部と、
前記フォークに前記パレットを積載する際に前記フォークが差し込まれる孔を差込孔、前記フォークにおいて前記差込孔に差し込まれる部分を差込部、前記パレットにおいて前記差込孔に前記差込部を差し込む際に水平方向に対して前記フォークが接触し得る箇所を第1接触箇所とした場合、前記パレットの位置を検出するための位置検出センサを用いて導出された座標であって前記地図座標系での前記第1接触箇所の座標を取得するパレット座標取得部と、
前記差込部において前記差込孔に前記差込部を差し込む際に水平方向に対して前記パレットに接触し得る箇所を第2接触箇所とした場合、前記自己位置及び前記フォークリフトの姿勢から前記地図座標系での前記第2接触箇所の座標を導出するフォーク座標導出部と、
前記地図座標系での前記第1接触箇所の座標と前記地図座標系での前記第2接触箇所の座標から、水平方向に対して前記フォークと前記パレットとが接触したかを判定する接触判定を行う判定部と、を備えるフォークリフト。
【請求項2】
前記フォークリフトを通過させる目標パスを生成するパス生成部と、
前記フォークリフトの基準点が前記目標パスに追従するように前記フォークリフトを移動させる移動制御部と、を備え、
前記移動制御部は、前記一対のフォーク同士の間の中心位置を前記基準点として設定可能である請求項1に記載のフォークリフト。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フォークリフトに関する。
【背景技術】
【0002】
フォークリフトは、車体と、フォークと、を備える。フォークリフトは、フォークに積載されたパレットを搬送する。フォークにパレットを積載する際には、差込孔にフォークを差し込み、フォークを上昇させることでフォークにパレットを積載する。差込孔にフォークを差し込む過程でフォークがパレットに接触すると、フォークによりパレットが押されてしまい、円滑にパレットの積載を行えない場合がある。特許文献1に記載のフォークリフトは、フォークにセンサを設けることで、フォークとパレットとが接触したことを検出できるようにしている。特許文献1では、上下方向に対するフォークとパレットとの接触を検出している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
フォークリフトでは、差込孔にフォークを差し込む過程で水平方向に対するフォークとパレットとの接触も検出することが好ましい。特許文献1と同様に、フォークにセンサを設けることで、水平方向に対するフォークとパレットとの接触を検出することが可能である。言い換えれば、水平方向に対するフォークとパレットとの接触を検出する場合、専用のセンサを設ける必要がある。
【0005】
本発明の目的は、専用のセンサを設けることなく水平方向に対するフォークとパレットとの接触を検出することができるフォークリフトを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するフォークリフトは、車体と、パレットが積載される一対のフォークと、を備えたフォークリフトであって、前記フォークリフトが用いられる環境を地図座標系での座標で表した環境地図を記憶するように構成された記憶装置と、前記地図座標系での前記フォークリフトの自己位置を推定するためのセンサを用いて、前記自己位置の推定を行う自己位置推定部と、前記地図座標系での前記フォークリフトの姿勢を検出する姿勢検出部と、前記フォークに前記パレットを積載する際に前記フォークが差し込まれる孔を差込孔、前記フォークにおいて前記差込孔に差し込まれる部分を差込部、前記パレットにおいて前記差込孔に前記差込部を差し込む際に水平方向に対して前記フォークが接触し得る箇所を第1接触箇所とした場合、前記パレットの位置を検出するための位置検出センサを用いて導出された座標であって前記地図座標系での前記第1接触箇所の座標を取得するパレット座標取得部と、前記差込部において前記差込孔に前記差込部を差し込む際に水平方向に対して前記パレットに接触し得る箇所を第2接触箇所とした場合、前記自己位置及び前記フォークリフトの姿勢から前記地図座標系での前記第2接触箇所の座標を導出するフォーク座標導出部と、前記地図座標系での前記第1接触箇所の座標と前記地図座標系での前記第2接触箇所の座標から、水平方向に対して前記フォークと前記パレットとが接触したかを判定する接触判定を行う判定部と、を備える。
地図座標系での第1接触箇所の座標と地図座標系での第2接触箇所の座標から、水平方向に対してフォークとパレットとが接触したかを判定することができる。地図座標系での
第1接触箇所の座標は、パレットの位置を検出するためのセンサを用いて導出される。地図座標系での第2接触箇所の座標は、自己位置推定部により推定した自己位置とフォークリフトの姿勢から導出することができる。従って、専用のセンサを設けることなく、水平方向に対してフォークとパレットとが接触したことを検出することができる。
上記フォークリフトについて、前記フォークリフトを通過させる目標パスを生成するパス生成部と、前記フォークリフトの基準点が前記目標パスに追従するように前記フォークリフトを移動させる移動制御部と、を備え、前記移動制御部は、前記一対のフォーク同士の間の中心位置を前記基準点として設定可能であってもよい。
【発明の効果】
【0007】
本発明によれば、専用のセンサを設けることなく水平方向に対するフォークとパレットとの接触を検出することができる。
【図面の簡単な説明】
【0008】
【
図1】荷役システムの概略図、及び荷役システムが用いられる作業場の模式図。
【
図2】停車位置に停車しているトラックを示す側面図。
【
図4】フォークリフトの一部を破断して示す斜視図。
【
図5】フォークをフォークリフトの車幅方向から見た図。
【
図7】荷取り作業を行う際のトラックとフォークリフトとの位置関係を示す図。
【
図8】荷役システムで行われる制御を示す相互作用図。
【
図9】パレットの地図座標を導出する際に上位制御装置が行う処理を説明するための図。
【
図10】第1基準点と第2基準点を模式的に示す図。
【
図11】基準点が第1基準点の場合と第2基準点の場合で、方位偏差が同一の際の目標パスから差込部までの最大離間距離を示す図。
【
図13】制御装置が行う傾斜調整制御を示すフローチャート。
【
図14】フォークの傾きと荷台の上面の傾きの差を示す模式図。
【
図15】フォークリフトの走行距離と距離計の測定値との関係を示す図。
【
図16】第1距離計により得られる第1直線と第2距離計により得られる第2直線を示す図。
【
図17】学習済みモデルを生成する際に学習器に入力される画像データを示す図。
【
図20】変形例におけるフォークリフトの走行距離と距離計の測定値との関係を示す図。
【発明を実施するための形態】
【0009】
(第1実施形態)
以下、フォークリフトの第1実施形態について説明する。以下の説明において、上下とは鉛直方向での上下を示す。また、左右とはフォークリフトの前進方向を前とした場合の左右である。
【0010】
図1に示すように、荷役システムCSは、フォークリフト10と、カメラ60と、上位制御装置70と、を備える。フォークリフト10は、工場、港湾、空港、商業施設などのパレットPを搬送する必要のある作業場で使用される。フォークリフト10は、トラックTに積まれたパレットPをフォークリフト10に積載する荷取り作業を行った後に、パレットPを別の場所や別の装置まで搬送する。トラックTの停車位置A1は、予め定められ
ている。フォークリフト10は、荷取り位置A2まで移動した後に、荷取り作業を行う。荷取り位置A2は、荷取り作業を行う対象となるパレットPの正面位置である。
【0011】
作業場には、停車位置A1を間に挟んで2つの柱Pi1,Pi2が設けられている。なお、2つの柱Pi1,Pi2が停車位置A1を間に挟んでいるとは、水平方向のうち2つの柱Pi1,Pi2が並ぶ方向に直交する方向から見て、2つの柱Pi1,Pi2が停車位置A1を間に挟んでいることを意味する。2つの柱Pi1,Pi2は、作業場に元々備わっている既設構造物である。2つの柱Pi1,Pi2は、例えば、軒を支持する支柱である。停車位置A1は、2つの柱Pi1,Pi2の間に設定されていると捉えることもできる。なお、2つの柱Pi1,Pi2の間とは、水平方向のうち2つの柱Pi1,Pi2が並ぶ方向に直交する方向から見て、停車位置A1が2つの柱Pi1,Pi2の間に位置していることを意味する。
【0012】
2つの柱Pi1,Pi2のそれぞれには、固定マーカーMA1,MA2が設けられている。2つの柱Pi1,Pi2に設けられた固定マーカーMA1,MA2は、同一方向を向くように設けられている。固定マーカーMA1,MA2としては、2次元的に配列された複数の矩形又は複数のドットを含む識別画像であるARマーカーやQRコード(登録商標)、所定の周波数で発光している発光体によるマーカー、物体の画像そのものなど、種々のマーカーを用いることができる。固定マーカーMA1,MA2は、作業場での位置が変化しないマーカーである。以下の説明において、2つの柱Pi1,Pi2の一方を第1柱Pi1、他方を第2柱Pi2とし、第1柱Pi1に設けられた固定マーカーMA1を第1固定マーカーMA1、第2柱Pi2に設けられた固定マーカーMA2を第2固定マーカーMA2として説明を行う。
【0013】
図2に示すように、トラックTは、平ボディのトラックである。トラックTは、荷台TBと、側あおりSSと、後あおりRSと、タイヤT1と、を備える。荷台TBには、複数のパレットPが積まれている。トラックTは、荷台TBに積まれたパレットPを搬送する搬送車である。側あおりSSは、荷台TBの側部に設けられている。側あおりSSは、上下方向に回動可能である。後あおりRSは、荷台TBの後部に設けられている。後あおりRSは、上下方向に回動可能である。トラックTの走行中などには、側あおりSS及び後あおりRSによって荷台TBが囲まれている。フォークリフト10が荷取り作業を行う際には、側あおりSS及び後あおりRSは、下方に回動させられており、側あおりSS及び後あおりRSはパレットPに向かい合わない。即ち、フォークリフト10が荷取り作業を行う際には、側あおりSS及び後あおりRSは、フォークリフト10による荷取り作業を阻害しないように回動させられる。
【0014】
パレットPは、搬送物を収容する四角箱状の収容部Sと、収容部Sの四隅に設けられた脚部Lと、を備える。本実施形態のパレットPは、メッシュパレットである。なお、図示は省略しているが、収容部Sには搬送物が収容されている。パレットPには、マーカーMA3,MA4が設けられている。マーカーMA3,MA4は、1つのパレットP毎に2つずつ設けられている。同一のパレットPに設けられるマーカーMA3,MA4については、異なる模様のマーカーが用いられることが好ましい。また、荷台TBに搭載される各パレットPに設けられる全てのマーカーMA3,MA4が異なる模様であることがより好ましい。マーカーMA3,MA4としては、2次元的に配列された複数の矩形又は複数のドットを含む識別画像であるARマーカーやQRコード、所定の周波数で発光している発光体によるマーカー、物体の画像そのものなど、種々のマーカーを用いることができる。パレットPは、マーカーMA3,MA4がトラックTの車幅方向を向く態様で荷台TBに積まれている。
【0015】
荷役システムCSは、荷取り位置A2とは異なる位置A3にあるフォークリフト10を
トラックTに積まれたパレットPの位置まで誘導し、フォークリフト10に荷取り作業を行わせるシステムである。
【0016】
図3及び
図4に示すように、フォークリフト10は、車体11と、車体11の前下部に配置された駆動輪12と、車体11の後下部に配置された操舵輪13と、車体11の前方に設けられた荷役装置14と、距離計41と、配線43と、車載カメラ45と、を備える。荷役装置14は、車体11の前部に設けられたマスト15と、バックレスト18と、バックレスト18に固定された一対のフォーク31と、リフトシリンダ20と、ティルトシリンダ21と、を備える。
【0017】
マスト15は、車体11に対して前後に傾動可能に支持されたアウタマスト16と、アウタマスト16に対して昇降可能なインナマスト17と、を備える。バックレスト18は、インナマスト17に固定されている。バックレスト18及びフォーク31は、インナマスト17とともに昇降する。リフトシリンダ20は、インナマスト17を昇降動作させる。ティルトシリンダ21は、マスト15を傾動動作させる。リフトシリンダ20及びティルトシリンダ21は、油圧シリンダである。フォーク31には、パレットPが積載される。フォーク31は、脚部L同士の間に差し込まれ、収容部Sの底を支持する。
【0018】
図4及び
図5に示すように、フォーク31は、バックレスト18に取り付けられる平板状の取付部32と、取付部32から取付部32の厚み方向に延びる平板状の差込部33と、を備える。フォーク31は、取付部32がマスト15に沿って上下方向に延び、差込部33が取付部32の下端からフォークリフト10の前方に向けて延びる態様で取り付けられている。差込部33の厚み方向の両面は、上下方向を向いている。差込部33の厚み方向の両面のうち上を向く面を上面34、下を向く面を下面35と称する。
【0019】
一対のフォーク31のそれぞれには、距離計41が1つずつ取り付けられている。距離計41としては、超音波センサが用いられている。超音波センサは、超音波を送信し、超音波が物体で反射されることによる反射波を受信するまでの時間から物体までの距離を測定する距離計である。
【0020】
距離計41は、差込部33の先端部36に設けられている。距離計41は、差込部33の側面37に取り付けられている。なお、差込部33の側面37とは上面34と下面35との間で延びる面である。距離計41は、差込部33の上面34よりも上方に突出しないように取り付けられている。本実施形態において、差込部33の厚み方向において、距離計41は上面34と下面35との間に収まるように設けられている。差込部33をフォークリフト10の車幅方向から見ると、距離計41の全体が差込部33に重なり合う。
【0021】
距離計41は、フォーク31よりも下方に位置する物体までの距離を測定できるように取り付けられている。本実施形態のように、距離計41が超音波センサの場合には、超音波が下方に向けて送信されるように超音波センサは取り付けられている。なお、距離計41は、フォーク31よりも下方に位置する物体までの距離を測定できればよく、差込部33の厚み方向に対して傾いた方向への距離を測定してもよい。即ち、距離計41によって測定される距離は、フォーク31の下方に位置する物体までの最短距離でなくてもよく、差込部33の厚み方向に対して傾いた方向への成分を含んだ距離であってもよい。
【0022】
配線43は距離計41の測定結果を送信したり、距離計41を駆動させるための信号を距離計41に送信するための部材である。配線43は、差込部33の側面37に沿って、車体11に向けて延びている。
【0023】
以下の説明において、適宜、一対のフォーク31のうち一方を第1フォーク31A、他
方を第2フォーク31B、第1フォーク31Aに取り付けられた距離計41を第1距離計41A、第2フォーク31Bに取り付けられた距離計41を第2距離計41Bとして説明を行う。第1フォーク31Aは左側のフォーク31であり、第2フォーク31Bは右側のフォーク31である。
【0024】
車載カメラ45は、フォークリフト10の車幅方向において2つのフォーク31の間に設けられている。車載カメラ45は、フォーク31とともに昇降するように設けられている。本実施形態において、車載カメラ45はバックレスト18に設けられている。車載カメラ45は、フォークリフト10の前方を撮像するように配置されている。車載カメラ45は、単眼カメラである。
【0025】
図6に示すように、フォークリフト10は、駆動機構51と、油圧機構52と、制御装置53と、補助記憶装置56と、揚高センサ57と、環境センサ58と、通信部59と、を備える。
【0026】
駆動機構51は、フォークリフト10を走行動作させるための部材であり、駆動輪12を駆動させるための走行用モータや、操舵輪13を操舵させるための操舵機構を含む。
油圧機構52は、リフトシリンダ20及びティルトシリンダ21への作動油の給排を制御するための部材であり、ポンプを駆動させるための荷役モータや、コントロールバルブを含む。リフトシリンダ20への作動油の給排によってインナマスト17は昇降する。ティルトシリンダ21への作動油の給排によってマスト15は車体11の前後方向に対して傾動する。インナマスト17の昇降とはフォーク31の昇降ともいえる。マスト15の傾動とは、フォーク31の傾動ともいえる。
【0027】
制御装置53は、CPUやGPU等のプロセッサ54と、RAM及びROM等からなる記憶部55と、を備える。記憶部55は、処理をプロセッサ54に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部55、すなわち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置53は、ASIC:Application Specific Integrated CircuitやFPGA:Field Programmable Gate Array等のハードウェア回路によって構成されていてもよい。処理回路である制御装置53は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0028】
制御装置53は、記憶部55に記憶されたプログラムに従い、駆動機構51及び油圧機構52を制御することで、フォークリフト10を動作させる。フォークリフト10は、操作者による操作が行われることなく、制御装置53による制御によって自動で動作するフォークリフトである。
【0029】
制御装置53には、車載カメラ45が接続されている。車載カメラ45の撮像により得られた画像データは、制御装置53に入力される。制御装置53には、配線43によって距離計41が接続されている。制御装置53は、距離計41の測定値を認識することができる。
【0030】
補助記憶装置56は、制御装置53が読み取り可能な情報を記憶している。補助記憶装置56としては、例えば、ハードディスクドライブや、ソリッドステートドライブが用いられる。記憶部55に記憶されるプログラムコードや指令は、記憶部55に代えて補助記憶装置56に記憶されてもよい。
【0031】
記憶装置としての補助記憶装置56には、環境地図を示す情報が記憶されている。環境
地図とは、フォークリフト10の用いられる環境の形状、広さなど、フォークリフト10の周辺環境の物理的構造に関する情報である。環境地図は、フォークリフト10の用いられる環境、即ち、
図1に示す作業場を地図座標系での座標で表したデータといえる。詳細に言えば、地図座標系は、原点を基準とした座標でフォークリフト10の用いられる環境の物理的構造に関する位置を表現したものである。本実施形態において、地図座標系の原点は第1固定マーカーMA1である。地図座標系の座標軸のうちX軸は、第1固定マーカーMA1と第2固定マーカーMA2の並ぶ方向に延びる軸であり、地図座標系の座標軸のうちY軸は水平方向のうちX軸に直交する方向に延びる軸である。前述した停車位置A1とは、地図座標系でのX座標が第1柱Pi1のX座標と第2柱Pi2のX座標との間となる位置といえる。なお、
図1、
図9及び
図10において、矢印Xは地図座標系のX軸、矢印Yは地図座標系のY軸を示している。
【0032】
第1固定マーカーMA1と第2固定マーカーMA2は、同一の座標軸上に位置している。2つの固定マーカーMA1,MA2は柱Pi1,Pi2に設けられているため、地図座標系での固定マーカーMA1,MA2の座標は、地図座標系での柱Pi1,Pi2の座標を表していると捉えることもできる。地図座標系は、フォークリフト10が使用される環境から固定マーカーMA1,MA2を設置し得る物理的構造を抽出し、この物理的構造に合わせた座標軸を設定した座標系といえる。本実施形態において地図座標系での第1固定マーカーMA1のY座標、及び第2固定マーカーMA2のY座標はともに0である。本実施形態では、説明の便宜上、X座標及びY座標のみについて説明するが、地図座標系は、2軸直交座標系に限られず、3軸直交座標系であってもよい。即ち、地図座標系は、座標軸としてX軸及びY軸に直交するZ軸を備えていてもよい。以下の説明において、地図座標系の座標を地図座標と称する。
【0033】
環境地図は、フォークリフト10が用いられる周辺環境を予め把握できていれば、予め補助記憶装置56に記憶されていてもよい。環境地図を予め補助記憶装置56に記憶する場合、建築物の壁、柱など位置の変化しにくい物の座標を環境地図として記憶する。環境地図は、SLAM:Simultaneous Localization and Mappingによるマッピングにより作成さ
れてもよい。マッピングは、例えば、環境センサ58によって得られた座標から局所地図を作成し、この局所地図を自己位置に応じて組み合わせることによって行われる。マッピングにより環境地図を作成する場合であっても、第1固定マーカーMA1は原点、固定マーカーMA1,MA2の座標はX軸上の座標となるように予め設定しておく。
【0034】
制御装置53は、環境地図上でのフォークリフト10の自己位置を推定する自己位置推定を行いながら駆動機構51を制御することで、荷取り位置A2にフォークリフト10を移動させることが可能である。自己位置推定は、例えば、走行用モータの回転数を用いて自己移動量を推定するオドメトリを用いて行われてもよいし、ランドマークと環境地図とのマッチング結果から行われてもよい。また、これらを組み合わせて自己位置推定をしてもよい。フォークリフト10が用いられる環境が屋外であれば、GPS:Global Positioning Systemを用いて自己位置を推定してもよい。なお、自己位置とは、車体11の一点を示す座標であり、例えば、車体11の水平方向の中央の座標である。制御装置53は、自己位置を推定する自己位置推定部として機能する。
【0035】
揚高センサ57は、路面からフォーク31までの高さである揚高を検出する。制御装置53は、揚高センサ57の検出結果からフォーク31の揚高を認識可能である。
環境センサ58は、フォークリフト10の後方に位置する物体と、フォークリフト10との相対位置を制御装置53に認識させることができるセンサである。環境センサ58としては、例えば、ミリ波レーダー、ステレオカメラ、LIDAR:Laser Imaging Detection and Rangingなどを用いることができる。環境センサ58は、自己位置推定を行う際のランドマークを検出するために設けられている。環境センサ58は、フォークリフト10の自
己位置を推定するためのセンサである。
【0036】
通信部59は、無線LAN、Zigbee(登録商標)、LPWA:Low Power Wide Areaなどの無線通信方式で通信を行うことが可能な通信機器である。通信部59は、受信
した無線信号を復調したデータを制御装置53に入力したり、制御装置53から入力されたデータを変調して無線信号として送信することが可能である。
【0037】
図1に示すように、カメラ60は、作業場に配置されている。カメラ60は、停車位置A1、及び固定マーカーMA1,MA2を撮像するように配置されている。詳細に言えば、カメラ60は、停車位置A1にトラックTが停車している場合に、トラックTの荷台TBに積まれたパレットPの全てのマーカーMA3,MA4及び2つの固定マーカーMA1,MA2を撮像できるように配置されている。カメラ60は、単眼カメラである。
【0038】
図6に示すように、上位制御装置70は、制御部75と、指令通信部73と、を備える。制御部75は、CPUやGPU等のプロセッサ71と、RAM及びROM等からなる記憶部72と、を備える。記憶部72は、処理をプロセッサ71に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部72、すなわち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御部75は、ASICやFPGA等のハードウェア回路によって構成されていてもよい。処理回路である制御部75は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0039】
指令通信部73は、無線LAN、Zigbee、LPWAなどの無線通信方式で通信を行うことが可能な通信機器である。指令通信部73は、受信した無線信号を復調したデータを制御部75に入力したり、制御部75から入力されたデータを変調して無線信号として送信することが可能である。指令通信部73は、通信部59が受信可能な無線信号を生成し、通信部59に送信する。
【0040】
上位制御装置70の制御部75には、カメラ60の画像データが入力される。上位制御装置70は、作業場に配置されていてもよいし、作業場とは異なる位置に配置されていてもよい。上位制御装置70が作業場とは異なる位置に配置される場合、カメラ60の画像データは、画像データを上位制御装置70に送信可能な通信部などによって上位制御装置70に送信される。
【0041】
図7に示すように、フォークリフト10による荷取り作業が行われる際には、制御装置53は、荷台TB、脚部L、及び収容部Sに囲まれる孔である差込孔IHとフォーク31の先端とが向かい合うようにフォーク31の位置を調整する。フォークリフト10はトラックTの車幅方向から差込孔IHに差込部33を差し込む。即ち、フォークリフト10の前後方向とトラックTの車幅方向とが一致している状態で荷取り作業は行われる。差込部33を差込孔IHに差し込む際には、フォーク31とフォークリフト10が存在している路面とが平行な状態で差込部33を差込孔IHに差し込んでいく。言い換えれば、フォークリフト10が存在している路面に対してフォーク31が傾斜していない状態で差込部33を差込孔IHに差し込んでいく。以下、フォークリフトが荷取り作業を行う際に行われる制御について説明する。
【0042】
図8に示すように、ステップS1において、上位制御装置70は、カメラ60のカメラ座標系でのパレットPの座標を導出する。カメラ60のカメラ座標系は、カメラ60を原点とする座標系である。カメラ座標系は、例えば、光軸をY軸、水平方向のうちY軸に直交する方向をX軸とする座標系である。本実施形態では、X座標及びY座標のみについて
説明するが、カメラ座標系は、2軸直交座標系に限られず、3軸直交座標系であってもよい。即ち、カメラ座標系は、座標軸としてX軸及びY軸に直交するZ軸を備えていてもよい。以下、カメラ60のカメラ座標系での座標をカメラ座標と称する。
【0043】
上位制御装置70は、カメラ60から入力された画像データからマーカーMA3,MA4を画像認識する画像認識処理を行う。画像認識処理により画像データからマーカーMA3,MA4が抽出されると、上位制御装置70は、カメラ60により撮影されたマーカーMA3,MA4の画像を解析して、マーカーMA3,MA4の大きさからマーカーMA3,MA4のカメラ座標を導出する。本実施形態では、パレットP毎に2つのマーカーMA3,MA4を設けているため、パレットP毎に、2つのマーカーMA3,MA4のカメラ座標が導出される。マーカーMA3,MA4は、パレットPに設けられているため、マーカーMA3,MA4のカメラ座標は、パレットPのカメラ座標と捉えることができる。上位制御装置70は、同様の手法で、2つの固定マーカーMA1,MA2のカメラ座標を導出する。
【0044】
次に、ステップS2において、上位制御装置70は、パレットPの地図座標を導出する。上位制御装置70は、2つの固定マーカーMA1,MA2のカメラ座標、及びマーカーMA3,MA4のカメラ座標を用いた三辺測量によってパレットPの地図座標を導出する。パレットPの地図座標の導出は、各マーカーMA3,MA4の地図座標を導出することで行われる。以下、パレットPのマーカーMA3,MA4のうち1つのマーカーMA3を例に挙げて、マーカーMA3の地図座標を導出する方法について説明する。以下では、1つのマーカーMA3についての説明を行うが、同様の手法により上位制御装置70は、画像データ中のマーカーMA3,MA4の全てについて地図座標を導出する。
【0045】
図9に示すように、カメラ60を原点(0,0)とするカメラ座標系において、第1固定マーカーMA1のカメラ座標を(xa,ya)、第2固定マーカーMA2のカメラ座標を(xb,yb)、マーカーMA3のカメラ座標を(xc,yc)とする。第1固定マーカーMA1のカメラ座標(xa,ya)、第2固定マーカーMA2のカメラ座標(xb,yb)、及びマーカーMA3のカメラ座標(xc,yc)はステップS1で導出されている。このため、上位制御装置70は、第2固定マーカーMA2とマーカーMA3との間の距離a、第1固定マーカーMA1とマーカーMA3との間の距離b、第1固定マーカーMA1と第2固定マーカーMA2との間の距離cを導出可能である。即ち、上位制御装置70は、第1固定マーカーMA1、第2固定マーカーMA2、及びマーカーMA3を頂点とする三角形の各辺の長さを導出可能である。詳細にいえば、距離aは以下の(1)式、距離bは以下の(2)式、距離cは以下の(3)式によって導出可能である。
【数1】
【数2】
【数3】
ここで、第1固定マーカーMA1のカメラ座標(xa,ya)からマーカーMA3のカメラ座標(xc,yc)までの距離bにおいて、2つの柱Pi1,Pi2同士が向かい合う方向に対する距離成分を距離xpとする。距離xpは、第1固定マーカーMA1、第2固定マーカーMA2、及びマーカーMA3を頂点とする三角形において、2つの固定マーカーMA1,MA2を結ぶ線分にマーカーMA3から垂線を下ろしたときの交点CPと第1固定マーカーMA1との間の距離ともいえる。第1固定マーカーMA1のカメラ座標(
xa,ya)からマーカーMA3のカメラ座標(xc,yc)までの距離bにおいて、距離xpに直交する方向への距離成分を距離ypとする。距離ypは、交点CPとマーカーMA3との間の距離ともいえる。距離xp,ypは距離a,b,cを用いて導出することができる。詳細にいえば、距離xpは以下の(4)式、距離ypは以下の(5)式で導出できる。
【数4】
【数5】
距離xp,ypは、第1固定マーカーMA1からマーカーMA3までの距離bを互いに直交する方向に分解した距離成分を表しており、座標(xp,yp)は、第1固定マーカーMA1を原点とする座標系でのマーカーMA3の座標と捉えることができる。また、距離xpは地図座標系のX軸方向の距離、距離ypは地図座標系のY軸方向の距離である。更に、地図座標系の原点を第1固定マーカーMA1としているため、座標(xp,yp)は、地図座標系でのマーカーMA3の座標と捉えることができる。
【0046】
ここで、(5)式で導出される距離yp=地図座標系でのY座標ypは、地図座標系において+座標なのか-座標なのかを考慮していない値なので、以下の(6)式からY座標ypが+座標なのか-座標なのかを判定する。なお、+座標か-座標かは、地図座標系での座標軸に対して座標がいずれの方向に位置しているかを表すものであり、座標軸毎に任意に設定することができる。例えば、
図9に示す環境を示す地図座標系において、原点よりもカメラ60側をY軸の-座標、反対を+座標とした場合、座標が+か-かによって地図座標系でのY軸方向において、マーカーMA3が原点よりもカメラ60側に位置しているか、原点よりもカメラ60から離れて位置しているかを表しているといえる。
【数6】
(6)式により求められたL>0であれば、Y座標ypは+座標、L<0であればY座標ypは-座標である。従って、L<0の場合には、(5)式により導出されたY座標ypに-1を乗算する。
【0047】
なお、(4)式で導出される距離xp=地図座標系でのX座標xpについても、+座標なのか-座標なのかを考慮していない値であるが、地図座標系での第2固定マーカーMA2のX座標に合わせたX座標xpが導出されるようにすることで、+座標なのか-座標なのかを判定する必要がない。例えば、地図座標系のX軸において、原点よりも第2固定マーカーMA2側を+座標、反対を-座標としたとする。停車位置A1の関係上、地図座標系でのパレットPのX座標は必ず+座標となる。このため、(4)式により導出されたxpを地図座標系でのパレットPのX座標と捉えることができる。また、原点よりも第2固定マーカーMA2側を-座標にした場合には、パレットPのX座標は必ず-座標となるため、(4)式により導出されたX座標xpに-1を乗算すればよい。このように、地図座標系での第2固定マーカーMA2のX座標が+座標であればX座標xpも+座標、地図座標系での第2固定マーカーMA2のX座標が-座標であればX座標xpも-座標が導出されるようにすればよい。
【0048】
上位制御装置70は、同一のパレットPに設けられた2つのマーカーMA3,MA4の地図座標からパレットPの地図座標を導出する。上位制御装置70は、2つのマーカーM
A3,MA4の地図座標のうちいずれかをパレットPの地図座標と捉えてもよいし、2つのマーカーMA3,MA4の地図座標の中心座標をパレットPの地図座標と捉えてもよい。いずれの場合であっても、マーカーMA3,MA4の地図座標は、パレットPの地図座標と紐付けられているため、パレットPの地図座標として捉えることができる。上位制御装置70は、2つのマーカーMA3,MA4の地図座標から、地図座標系でのパレットPの姿勢を導出することも可能である。例えば、上位制御装置70は、2つのマーカーMA3,MA4の地図座標を結ぶ線分の傾きから地図座標系でのパレットPの姿勢を導出することができる。地図座標系でのパレットPの姿勢は、基準に対する角度で表現される。例えば、パレットPの姿勢は、地図座標系のX軸、あるいは、Y軸に対する角度で表すことができる。
【0049】
図8に示すように、ステップS3において、上位制御装置70は、パレットPの地図座標を含む指令を指令通信部73から送信する。指令には、パレットPの地図座標を示す情報に加えて、パレットPの姿勢を示す情報、3つのパレットPのうちいずれのパレットPを荷取り対象とするかを示す情報等、種々の情報が含まれていてもよい。即ち、指令には、フォークリフト10に荷取り作業を行わせる対象となるパレットPに関する情報が含まれる。指令は、フォークリフト10をパレットPの地図座標に移動させるための移動開始指令である。なお、上位制御装置70は、作業場に配備される複数のフォークリフト10に対して、個別に指令を与えることができる。
【0050】
ステップS4において、制御装置53は、上位制御装置70からの指令を受信すると、受信した指令に含まれるパレットPの地図座標へ向けてフォークリフト10を移動させる。制御装置53は、パレットPの地図座標を把握できるため、パレットPの地図座標、あるいは、パレットPの地図座標よりも若干手前の地図座標を目標地点としてフォークリフト10を移動させる。
【0051】
図10に示すように、制御装置53は、Path Following制御を行うことでフォークリフト10を移動させる。制御装置53は、パレットPの地図座標に向けた目標パスTPを定期的に生成し、この目標パスTPに追従するようにフォークリフト10を移動させる。制御装置53は、パス生成部として機能している。フォークリフト10は、荷取り作業の対象となるパレットPに向けて移動する。目標パスTPは、例えば、環境センサ58を原点とする座標系での座標として導出される。また、制御装置53は、自己位置から目標パスTPを地図座標系の座標に変換することもできる。
【0052】
制御装置53は、フォークリフト10を目標パスTPに追従させるために、フォークリフト10と目標パスTPとの間の偏差を減少させる制御を行う。偏差には、少なくとも横偏差e1及び方位偏差θ1が含まれる。Path Following制御では、予め定められたフォークリフト10の基準点が目標パスTPを追従するように制御が行われる。横偏差e1とは、フォークリフト10の基準点と目標パスTPとの間の車幅方向の偏差である。方位偏差θ1とは、目標パスTPの延びる方向とフォークリフト10の進行方向との角度差である。詳細にいえば、方位偏差θ1は、フォークリフト10の基準点を通過し、フォークリフト10の前後方向に延びる仮想的な線分と、目標パスTPとのなす角の角度である。本実施形態では、フォークリフト10の基準点を2つ設定し、フォークリフト10の位置に応じて基準点を切り替えている。基準点のうちの1つを第1基準点CP1、第1基準点CP1とは異なる基準点を第2基準点CP2とする。第1基準点CP1は、車体11において車幅方向の中心位置である。第2基準点CP2は、一対のフォーク31同士の間の中心位置である。なお、第2基準点CP2は、一対のフォーク31同士の間の中心位置であれば、フォークリフト10の前後方向の位置はいずれの位置であってもよいが、一対のフォーク31の先端同士の間など、フォーク31の前方の位置とすることが好ましい。第2基準点CP2は第1基準点CP1よりもフォークリフト10の前方に位置する基準点である。
【0053】
制御装置53は、自己位置推定により得られた自己位置から目標パスTPとフォークリフト10の基準点との横偏差e1を導出可能である。フォークリフト10の基準点と自己位置との位置関係を予め定められているため、フォークリフト10の基準点と自己位置との位置関係を記憶部55や補助記憶装置56に記憶しておくことで、自己位置からフォークリフト10の基準点の座標を導出することができる。制御装置53は、目標パスTPの座標と基準点の座標から横偏差e1を導出し、横偏差e1が減少するようにフォークリフト10の操舵機構等を制御する。なお、横偏差e1は、環境センサ58を原点とする座標系での座標から導出されてもよいし、地図座標系での座標から導出されてもよい。
【0054】
制御装置53は、フォークリフト10の姿勢から方位偏差θ1を導出可能である。フォークリフト10の姿勢とは、地図座標系において、フォークリフト10が向く方向、即ち、フォークリフト10の前後方向が延びる方向である。フォークリフト10の姿勢は、基準に対する角度で表現される。例えば、フォークリフト10の姿勢は、地図座標系のX軸、あるいは、Y軸に対する角度で表すことができる。フォークリフト10の姿勢によって、環境センサ58により検出されるランドマークの座標が変化するため、フォークリフト10の姿勢は環境センサ58の検出結果から導出することができる。制御装置53は、フォークリフト10の姿勢と目標パスTPから方位偏差θ1を導出し、方位偏差θ1が小さくなるようにフォークリフト10の操舵機構等を制御する。制御装置53は、フォークリフト10の姿勢を検出する姿勢検出部として機能している。
【0055】
制御装置53は、フォークリフト10がパレットPに近付くまでは第1基準点CP1を基準点としてPath Following制御を行う。一方で、制御装置53は、フォークリフト10がパレットPに近付いてからは第2基準点CP2を基準点としてPath Following制御を行う。フォークリフト10がパレットPに近付いたか否かの判定は、種々の方法で行うことができる。例えば、フォークリフト10とパレットPとの距離が予め定めた閾値未満になった場合に第1基準点CP1から第2基準点CP2に基準点を切り替えてもよい。本実施形態では、フォークリフト10による荷取り作業が行われる際には第2基準点CP2を基準点とし、フォークリフト10による荷取り作業が行われない場合には第1基準点CP1を基準点としている。従って、ステップS4の処理を行う際には、制御装置53は第1基準点CP1を基準点としている。ステップS4の処理を行うことで、制御装置53は移動制御部として機能している。
【0056】
図8に示すように、ステップS5において、フォークリフト10が荷取り作業の対象となるパレットPに近付くと、制御装置53は車載カメラ45によってパレットPを検出する。詳細には、制御装置53は、パレットPの位置及び姿勢を検出する。車載カメラ45は、パレットPの位置を検出するための位置検出センサである。車載カメラ45によるパレットPの検出は、例えば、上位制御装置70によって行われるカメラ60によるマーカーMA3,MA4の検出と同様の手法で行われる。即ち、制御装置53は、車載カメラ45から入力された画像データからマーカーMA3,MA4が抽出されると、マーカーMA3,MA4の画像を解析することで、車載カメラ45のカメラ座標系でのマーカーMA3,MA4の座標を導出することができる。車載カメラ45のカメラ座標系とは、車載カメラ45を原点とする座標系である。制御装置53は、車載カメラ45の撮像により得られた画像データからパレットPの座標を導出し、パレットPに合わせてフォークリフト10の位置を調整する。これにより、フォークリフト10は、荷取り作業を行う荷取り位置A2まで移動する。車載カメラ45の位置と自己位置との位置関係は一定であるため、制御装置53は、車載カメラ45のカメラ座標系でのパレットPの座標を用いて、フォークリフト10の位置を調整することができる。フォークリフト10が荷取り位置A2に到達すると、制御装置53はフォークリフト10の移動を停止させる。フォークリフト10が荷取り位置A2まで移動することで、制御装置53は荷取り作業を開始する。荷取り作業が
開始されると、制御装置53はフォーク31を上昇させる。制御装置53は、フォーク31の揚高が荷台TBの上面B1と収容部Sの底との範囲に収まるように、即ち、差込部33が差込孔IHの高さに位置するようにフォーク31を上昇させる。
【0057】
ステップS6において、制御装置53はフォークリフト10を前進させることで、フォーク31の差込部33を差込孔IHに差し込んでいく。この際、制御装置53は、第2基準点CP2を基準点とするPath Following制御を行っている。制御装置53は、第2基準点CP2と目標パスTPとの横偏差e1及び方位偏差θ1が小さくなるように制御を行うことになる。
【0058】
図11に示すように、第1基準点CP1を基準点としてPath Following制御を行うと、第2基準点CP2を基準点としてPath Following制御を行う場合に比べて基準点から差込部33の先端までの距離が遠くなる。図から把握できるように、方位偏差θ1が同一であれば、基準点から離れている位置ほど目標パスTPに対する車幅方向の離間距離が長くなる。即ち、基準点から離れている位置ほど目標パスTPからのずれ量が多くなりやすい。このため、方位偏差θ1が同一であれば、第1基準点CP1が基準点の場合に比べて、第2基準点CP2が基準点の場合のほうが目標パスTPと差込部33との車幅方向に対する最大離間距離d1が短くなる。
【0059】
図8及び
図12に示すように、ステップS6において、制御装置53は、第1接触箇所CL1の地図座標を導出する。ここで、第1接触箇所CL1とは、パレットPにおいて差込孔IHに差込部33を差し込む際に水平方向に対してフォーク31が接触し得る箇所である。本実施形態において、第1接触箇所CL1は、4つの脚部Lのうち荷取り作業を行う際に差込部33が差し込まれる差込孔IHを形成している第1接触面PS1、及び荷取り作業を行う際にフォークリフト10側に位置する2つの脚部Lにおいてフォークリフト10側に位置する第2接触面PS2である。第1接触箇所CL1は、パレットPにおいて差込孔IHに差込部33を差し込む際に水平方向に対して差込部33と対向し得る面といえる。
【0060】
制御装置53は、車載カメラ45を用いて、第1接触箇所CL1の地図座標を導出することができる。前述したように、制御装置53は、車載カメラ45を用いて、車載カメラ45のカメラ座標系でのパレットPの座標、及びパレットPの姿勢を導出することができる。車載カメラ45と自己位置の位置関係は一定であるため、制御装置53は車載カメラ45のカメラ座標系でのパレットPの座標からパレットPの地図座標を導出することができる。また、制御装置53は車載カメラ45のカメラ座標系でのパレットPの姿勢から地図座標系でのパレットPの姿勢を導出することができる。制御装置53は、地図座標系でのパレットPの座標及び姿勢から第1接触箇所CL1の地図座標を導出する。記憶部55や補助記憶装置56などの制御装置53が読み取り可能な情報を記憶した記憶装置には、パレットPの種類、パレットPの寸法、パレットPの形状などを含むパレットPに関する情報が記憶されている。地図座標系でのパレットPの座標及び姿勢を把握できているため、パレットPの寸法から第1接触箇所CL1の地図座標を導出することができる。本実施形態において、制御装置53は、第1接触箇所CL1のうち6箇所の地図座標を導出する。パレットPの4つの脚部Lのうち差込孔IHに差込部33を差し込む際にフォークリフト10に近い2つの脚部Lを第1脚部LA及び第2脚部LBとし、第1脚部LA及び第2脚部LBよりフォークリフト10から離れた脚部Lを第3脚部LC及び第4脚部LDとして詳細に説明を行う。
【0061】
第1脚部LAと第3脚部LCとは差込部33が差し込まれる方向に互いに向かい合っている。第2脚部LBと第4脚部LDとは差込部33が差し込まれる方向に互いに向かい合っている。第1脚部LAの第1接触面PS1及び第3脚部LCの第1接触面PS1に沿っ
ており、かつ、第1脚部LAの第1接触面PS1及び第3脚部LCの第1接触面PS1から第2脚部LB及び第4脚部LDに向けて離間している仮想的な線分を第1パレット線分LP1とする。第1脚部LAの第2接触面PS2に沿っており、かつ、パレットPから離れる方向に第2接触面PS2から離間している仮想的な線分を第2パレット線分LP2とする。第2脚部LBの第1接触面PS1及び第4脚部LDの第1接触面PS1に沿っており、かつ、第2脚部LBの第1接触面PS1及び第4脚部LDの第1接触面PS1から第1脚部LA及び第3脚部LCに向けて離間している仮想的な線分を第3パレット線分LP3とする。第2脚部LBの第2接触面PS2に沿っており、かつ、パレットPから離れる方向に第2接触面PS2から離間している仮想的な線分を第4パレット線分LP4とする。
【0062】
各パレット線分LP1~LP4は、第1接触箇所CL1に沿った線分であり、各パレット線分LP1~LP4は第1接触箇所CL1を表しているといえる。本実施形態では、各パレット線分LP1~LP4は第1接触箇所CL1から離間している。第1接触箇所CL1から各パレット線分LP1~LP4までの離間距離は、マージンである。
【0063】
第1パレット線分LP1と第2パレット線分LP2との交点を第1パレット接触点PP1、第1パレット線分LP1上の点であって第1パレット接触点PP1から離間した点を第2パレット接触点PP2、第2パレット線分LP2上の点であって第1パレット接触点PP1から離間した点を第3パレット接触点PP3とする。第1パレット接触点PP1は、第1脚部LAの角のうち第1接触箇所CL1となる2つの接触面PS1,PS2が交わる角から、2つの接触面PS1,PS2から離れる方向に離間した位置ともいえる。第1パレット接触点PP1と第2パレット接触点PP2との離間距離は、例えば、第1脚部LAと第3脚部LCとが向かい合う方向に対するパレットPの寸法よりも長い距離である。第1パレット接触点PP1と第3パレット接触点PP3との離間距離は、例えば、第1脚部LAと第2脚部LBとが向かい合う方向に対する第1脚部LAの寸法よりも長い距離である。第3パレット線分LP3と第4パレット線分LP4との交点を第4パレット接触点PP4、第3パレット線分LP3上の点であって第4パレット接触点PP4から離間した点を第5パレット接触点PP5、第4パレット線分LP4上の点であって第4パレット接触点PP4から離間した点を第6パレット接触点PP6とする。第3パレット接触点PP3は、第2脚部LBの角のうち第1接触箇所CL1となる2つの接触面PS1,PS2が交わる角から、2つの接触面PS1,PS2から離れる方向に離間した位置ともいえる。第4パレット接触点PP4と第5パレット接触点PP5との離間距離は、例えば、第2脚部LBと第4脚部LDとが向かい合う方向に対するパレットPの寸法よりも長い距離である。第4パレット接触点PP4と第6パレット接触点PP6との離間距離は、例えば、第1脚部LAと第2脚部LBとが向かい合う方向に対する第2脚部LBの寸法よりも長い距離である。
【0064】
制御装置53は、地図座標系でのパレットPの座標、地図座標系でのパレットPの姿勢、及びパレットPの寸法から6つのパレット接触点PP1~PP6の地図座標を第1接触箇所CL1の地図座標として導出する。ステップS6の処理を行うことで、制御装置53は、パレット座標取得部として機能している。
【0065】
次に、ステップS7において、制御装置53は、第2接触箇所CL2の地図座標を導出する。ここで、第2接触箇所CL2とは、差込部33の水平方向の外形において差込孔IHに差込部33を差し込む際にパレットPに接触し得る箇所である。第2接触箇所CL2は、フォーク31の差込部33における側面37である。また、2つの差込部33同士の間はパレットPに接触しないとすれば、差込部33の側面37のうち一対のフォーク31同士の間の部位を除いた面が第2接触箇所CL2といえる。第2接触箇所CL2の地図座標は、自己位置及びフォークリフト10の姿勢から導出することができる。記憶部55や
補助記憶装置56などの制御装置53が読み取り可能な情報を記憶した記憶装置には、フォークリフト10の寸法情報を含む諸元が記憶されている。フォーク31の寸法情報などから、自己位置とフォーク31との位置関係は把握することができる。自己位置とフォーク31との位置関係は一定であるため、地図座標系でのフォークリフト10の姿勢を把握できれば、地図座標系でのフォーク31の座標を導出することができる。本実施形態において、制御装置53は、フォーク31の4箇所の地図座標を第2接触箇所CL2の地図座標として導出する。
【0066】
第1フォーク31Aの差込部33において車幅方向の最も外側に沿う線分を第1フォーク線分LF1、第2フォーク31Bの差込部33において車幅方向の最も外側に沿う線分を第2フォーク線分LF2、一対のフォーク31の差込部33において先端同士を通過し第1フォーク線分LF1と第2フォーク線分LF2に交差する線分を第3フォーク線分LF3とする。なお、
図12では図示の関係上、各フォーク線分LF1~LF3を各フォーク31から離して図示しているが、各フォーク線分LF1~LF3は地図座標系でのXY平面において第2接触箇所CL2と同一位置の線分である。
【0067】
第1フォーク線分LF1において最も車体11に近い位置を第1フォーク接触点PF1、第1フォーク線分LF1と第3フォーク線分LF3との交点を第2フォーク接触点PF2とする。第3フォーク線分LF3と第2フォーク線分LF2との交点を第3フォーク接触点PF3、第2フォーク線分LF2において最も車体11に近い位置を第4フォーク接触点PF4とする。第1フォーク接触点PF1は第1フォーク31Aの差込部33において左端、かつ、後端といえる。第2フォーク接触点PF2は第1フォーク31Aの差込部33において左端、かつ、前端といえる。第3フォーク接触点PF3は第2フォーク31Bの差込部33において右端、かつ、前端といえる。第4フォーク接触点PF4は第2フォーク31Bの差込部33において右端、かつ、後端といえる。
【0068】
制御装置53は、自己位置とフォーク31との位置関係から4つのフォーク接触点PF1~PF4の地図座標を第2接触箇所CL2の地図座標として導出する。
図12から把握できるように、第2接触箇所CL2とは、一対のフォーク31の外周を囲む箇所ともいえる。ステップS7の処理を行うことで、制御装置53は、フォーク座標導出部として機能している。
【0069】
図8に示すように、ステップS8において、制御装置53はフォーク31とパレットPとが接触したか否かを判定する接触判定を行う。接触判定は、各パレット線分LP1~LP4と、各フォーク線分LF1~LF3とが交差するか否かを判定することによって行われる。詳細にいえば、以下の第1条件から第3条件のうちいずれかが成立すると、制御装置53は、フォーク31とパレットPとが接触したと判定する。
【0070】
第1条件…第1フォーク線分LF1が第1パレット線分LP1又は第2パレット線分LP2に交差している。
第2条件…第2フォーク線分LF2が第3パレット線分LP3又は第4パレット線分LP4に交差している。
【0071】
第3条件…第3フォーク線分LF3が第1パレット線分LP1、第2パレット線分LP2、第3パレット線分LP3又は第4パレット線分LP4に交差している。
各パレット線分LP1~LP4と各フォーク線分LF1~LF3とが交差するかは、各パレット接触点PP1~PP6の地図座標と、各フォーク接触点PF1~PF4の地図座標から判定することができる。一例として、第3フォーク線分LF3と第1パレット線分LP1とが交差しているか否かの判定について説明する。第3フォーク線分LF3と第1パレット線分LP1とが交差している場合、第3フォーク線分LF3の両端のフォーク接
触点PF2,PF3が第1パレット線分LP1を挟んだ両側に位置し、かつ、第1パレット線分LP1の両端のパレット接触点PP1,PP2が第3フォーク線分LF3を挟んだ両側に位置する。これを利用して、第3フォーク線分LF3と第1パレット線分LP1とが交差していることを判定することができる。
【0072】
第2フォーク接触点PF2の地図座標を(x1,y1)、第3フォーク接触点PF3の地図座標を(x2,y2)、第1パレット接触点PP1の地図座標を(x3,y3)、第2パレット接触点PP2の地図座標を(x4,y4)とする。
【0073】
地図座標系のXY平面で第2フォーク接触点PF2と第3フォーク接触点PF3とを通る第3フォーク線分LF3の式は、以下の(7)式で表すことができる。
【数7】
(7)式から以下の(8)式を導出することができる。
【数8】
第1パレット接触点PP1と第2パレット接触点PP2とが第3フォーク線分LF3を挟んだ両側に位置していれば、(8)式のxにx3、yにy3を代入した結果と、(8)式のxにx4、yにy4を代入した結果とで正負が反転する。第1パレット接触点PP1と第2パレット接触点PP2とが第3フォーク線分LF3を挟んだ両側に位置している場合、以下の(9)式が成立するといえる。
【数9】
同様に、第2フォーク接触点PF2と第3フォーク接触点PF3とが第1パレット線分LP1を挟んだ両側に位置している場合、以下の(10)式が成立するといえる。
【数10】
制御装置53は、(9)式及び(10)式の両方が成立すると、第3フォーク線分LF3と第1パレット線分LP1とが交差していると判定する。一方で、制御装置53は(9)式及び(10)の少なくともいずれかが成立しない場合、第3フォーク線分LF3と第1パレット線分LP1とが交差していないと判定する。
【0074】
上記した例では、第3フォーク線分LF3と第1パレット線分LP1とを例に挙げて説明を行ったが、制御装置53は、各フォーク線分LF1~LF3と各パレット線分LP1~LP4についても同様の手法により、線分が交差しているかの判定を行う。そして、制御装置53は、第1条件~第3条件の少なくともいずれかが成立したか否かの判定を行うことで、接触判定を行う。接触判定により、フォーク31とパレットPとが接触していると判定されると、制御装置53はフォークリフト10を停止させたり、上位制御装置70にフォーク31とパレットPとが接触した旨の通知を行う。接触判定によりフォーク31とパレットPとが接触していると判定されずに、差込部33が所定量差し込まれると、制御装置53は、フォークリフト10の前進を停止させる。制御装置53は、フォークリフト10の前進を停止させた後には、フォーク31を上昇させることでフォーク31にパレットPを積載する。
【0075】
なお、前述したように、各パレット線分LP1~LP4は、第1接触箇所CL1に対してマージンを設定した線分である。このマージンは、フォークリフト10の制動距離、第1接触箇所CL1の地図座標や第2接触箇所CL2の地図座標の検出精度を考慮して設定された値である。このため、接触判定によりフォーク31とパレットPとが接触していると判定された場合であっても、実際にはフォーク31とパレットPとが接触していない場合がある。接触判定とは、フォーク線分LF1~LF3とパレット線分LP1~LP4とが交差している場合には水平方向に対してフォーク31とパレットPとが接触しているとみなすものであり、実際にフォーク31とパレットPとが接触しているか否かは問わない。制御装置53は、ステップS8の処理を行うことで判定部として機能している。
【0076】
上記したように、制御装置53は、差込部33を差込孔IHに差し込む過程で、第1接触箇所CL1の地図座標と第2接触箇所CL2の地図座標から水平方向に対してフォーク31とパレットPとが接触しているか否かを判定している。また、本実施形態では、差込部33を差込孔IHに差し込む際に、以下の傾斜調整制御を行うことで、上下方向に対するフォーク31とパレットPとの接触を抑制している。
【0077】
図13に示すように、ステップS11において、制御装置53は、フォークリフト10の前進中に距離計41によって距離を測定する。本実施形態では、距離計41は、差込部33よりも下方に位置する物体までの距離を測定できるように設けられているため、差込部33が差込孔IHに差し込まれた状態で距離計41により測定される距離は、距離計41から荷台TBの上面B1までの距離である。距離計41は、差込孔IHを形成する面のうち差込部33の下面35に向かい合う上面B1までの距離を測定可能に設けられているといえる。距離計41は、差込部33に設けられているため、距離計41によって測定される距離は、差込部33から荷台TBの上面B1までの距離とみなすことができる。差込部33の厚み方向に対して距離計41と上面34との距離が一定なので、距離計41によって測定される距離は差込部33の上面34から荷台TBの上面B1までの距離と捉えることもできる。ステップS11の処理は、フォークリフト10が前進し、差込部33の一部が差込孔IHに差し込まれた際に行われる。詳細にいえば、ステップS11の処理は、距離計41によって荷台TBの上面B1までの距離が測定できるようになってから行われる。制御装置53は、距離計41の測定結果を所定のサンプリング周期で複数回取得する。
【0078】
次に、ステップS21において、制御装置53は、距離計41の測定値により得られる直線の傾きを導出する。ここで、差込部33と荷台TBの上面B1とが平行であれば、言い換えれば、フォークリフト10の前後方向に対するフォーク31の傾きと、トラックTの車幅方向に対する荷台TBの傾きとが同一であれば、距離計41の測定値は一定になる。この場合、測定値により得られる直線の傾きは0になる。一方で、フォークリフト10の前後方向に対するフォーク31の傾きと、トラックTの車幅方向に対する荷台TBの傾きとが異なる場合、フォークリフト10が前進するにつれて、測定値が変化する。例えば、
図14に示すように、差込部33が差し込まれる方向において、奥に向かうにつれて荷台TBが上方に位置するように荷台TBが傾いている場合で、フォーク31の傾きが荷台TBの傾きよりも小さいと、フォークリフト10が前進するにつれて、荷台TBの上面B1と距離計41との上下方向に対する距離d11が小さくなる。なお、
図14では、説明の便宜上、フォーク31の傾きと荷台TBの傾きとの差を誇張して表現している。
【0079】
図15に示すように、差込部33を差込孔IHに差し込む際のフォークリフト10の走行距離をX軸、距離計41の測定値をY軸とする散布図に、距離計41の測定値Mをプロットしたとする。
図15に示す測定値Mは、差込部33が差し込まれる方向において、奥に向かうにつれて荷台TBが上方に位置するように荷台TBが傾いており、フォーク31の傾きが荷台TBの傾きよりも小さい場合に得られる測定値である。即ち、測定値Mは、
図14に示した状態での測定値である。測定値Mはフォークリフト10の走行距離に応じて変化することがわかる。なお、フォークリフト10の走行距離が長くなるにつれて差込部33の差込孔IHへの差込量は多くなるため、X軸は差込部33の差込量と捉えることもできる。
【0080】
制御装置53は、測定値Mから、回帰分析により直線L1を得る。回帰分析としては、例えば、最小二乗法やRANSAC:Random Sample Consensusを用いることができる。回帰分
析により得られた直線L1は、近似直線である。
【0081】
ここで、測定値Mから得られた直線L1は、フォークリフト10の前後方向に対するフォーク31の傾きと、トラックTの車幅方向に対する荷台TBの上面B1の傾きとの差を表しているといえる。直線L1の傾きを算出することで、フォークリフト10の前後方向に対するフォーク31の傾きと、トラックTの車幅方向に対する荷台TBの上面B1の傾きとの差、即ち、フォーク31と荷台TBの上面B1との相対的な傾きを導出できるといえる。また、パレットPは荷台TBの上面B1に置かれているため、トラックTの車幅方向に対する荷台TBの上面B1の傾きは、トラックTの車幅方向に対するパレットPの傾きと同一とみなすことができる。従って、直線L1の傾きは、パレットPに対するフォーク31の傾きと捉えることができる。
【0082】
制御装置53は、2つの距離計41によって得られた測定値M毎に個別に直線L1の傾きを導出する。即ち、制御装置53は、第1距離計41Aの測定値Mから得られた直線L1の傾きと、第2距離計41Bの測定値Mから得られた直線L1の傾きとを導出する。
【0083】
図16に示すように、測定値Mにより得られる直線L1のうち第1距離計41Aの測定値Mから得られた直線L1を第1直線L11とし、第2距離計41Bの測定値Mから得られた直線L1を第2直線L21とする。
図16に二点鎖線で示すように、第1直線L11と第2直線L21では、傾きが異なる場合がある。また、
図16に一点鎖線で示すように、第2直線L21の傾きが第1直線L11の傾きと同じであっても、第2直線L21と第1直線L11で切片が異なる場合がある。これは、第1距離計41Aと第2距離計41Bの取付態様、パレットPの配置位置、トラックTの停車位置A1の傾斜など、種々の要素を原因とするものである。第1距離計41Aと第2距離計41Bとで取付角度に差がある場合や、第1フォーク31Aに対する第1距離計41Aの取付位置と第2フォーク31Bに対する第2距離計41Bの取付位置に差がある場合には、第1直線L11と第2直線L21とで傾きや切片に差が生じる場合がある。パレットPの配置位置によっては、トラックTの一部に偏って荷重が加わることで荷台TBが傾き、この傾きを原因として第1フォーク31Aから荷台TBの上面B1までの距離と、第2フォーク31Bから荷台TBの上面B1までの距離とに差が生じる場合がある。これにより、第1直線L11と第2直線L21とで傾きや切片に差が生じる場合がある。トラックTの停車位置A1が斜面の場合、停車位置A1の傾斜によって荷台TBも傾き、この傾きを原因として第1直線L11と第2直線L21とで傾きや切片に差が生じる場合がある。なお、説明の便宜上、
図16に示す第1直線L11の傾きと第2直線L21の傾きとの差、及び第1直線L11の切片と第2直線L21の切片との差は誇張して表現している。
【0084】
本実施形態において、制御装置53は、第1直線L11の傾きと第2直線L21の傾きの両方に基づき、パレットPに対するフォーク31の傾きを導出する。例えば、制御装置53は、第1直線L11の傾きと第2直線L21の傾きの中央値をパレットPに対するフォーク31の傾きとして導出する。
【0085】
図13に示すように、ステップS31において、制御装置53は油圧機構52を制御することでフォーク31を傾動させる。制御装置53は、フォーク31の傾きと荷台TBの
上面B1の傾きとの差が小さくなるようにフォーク31を傾動させる。例えば、制御装置53は、ステップS21で得られたパレットPに対するフォーク31の傾きの分だけ、フォーク31を傾動させる。フォーク31の傾きと荷台TBの上面B1の傾きとの差がなくなるようにフォーク31を傾動させることが好ましいが、フォーク31の傾きと荷台TBの上面B1の傾きとの差が許容範囲内に収まるように制御が行われればよい。許容範囲とは、フォーク31が荷台TBの上面B1やパレットPに接触しない程度でのパレットPに対するフォーク31の傾きを許容するものである。
【0086】
図14に示す例では、差込部33が差し込まれる方向において、奥に向かうにつれて荷台TBが上方に位置するように荷台TBが傾いており、フォーク31は水平である。この場合、制御装置53は、フォーク31を後傾させることで、フォーク31の傾きと荷台TBの上面B1の傾きとの差を小さくする。
【0087】
図13に示すように、ステップS41において、制御装置53は、油圧機構52を制御することでフォーク31を昇降させる。制御装置53は、荷台TBの上面B1と差込部33との間の距離が予め定められた一定値となるようにフォーク31を昇降させる。なお、一定値とは、誤差を許容する所定の範囲である。即ち、制御装置53は、荷台TBの上面B1と差込部33との間の距離が予め定められた所定の範囲に収まるようにフォーク31の上下方向の位置を調整する。荷台TBの上面B1と差込部33との間の距離は、距離計41によって測定することができる。前述したように、第1直線L11と第2直線L21で傾きが異なる場合や、第1直線L11と第2直線L21で切片が異なる場合は、第1距離計41Aから荷台TBの上面B1までの距離と第2距離計41Bから荷台TBの上面B1までの距離に差が生じている。本実施形態の制御装置53は、第1距離計41Aと第2距離計41Bの両方に基づき、荷台TBの上面B1と差込部33との間の距離を導出する。例えば、制御装置53は、第1距離計41Aの測定値Mと第2距離計41Bの測定値Mの中央値を荷台TBの上面B1と差込部33との間の距離として導出する。
【0088】
なお、距離計41の取付態様によっては、距離計41は、差込部33の厚み方向に対して傾いた方向への距離を測定する。この場合、荷台TBの上面B1と差込部33との間の距離は、荷台TBの上面B1と差込部33との間の最短距離ではなく、差込部33の厚み方向に対して傾いた方向への成分を含んだ距離となる。制御装置53は、距離計41の取付態様に応じて、測定値Mを補正して、荷台TBの上面B1とフォーク31との間の最短距離を導出してもよい。上記した傾斜調整制御により、上下方向に対してフォーク31が荷台TBやパレットPに接触することが抑制されている。
【0089】
第1実施形態の作用について説明する。
停車位置A1にパレットPを積んだトラックTが停車すると、上位制御装置70は、パレットPの地図座標を導出し、導出されたパレットPの地図座標を含む指令をフォークリフト10に送信する。通信部59により制御装置53が指令を受信すると、フォークリフト10は荷取り作業の対象となるパレットPまで誘導される。
【0090】
制御装置53は、荷取り作業を行う際には、第2基準点CP2を基準点とし、Path Following制御を行う。第1基準点CP1を基準点として差込孔IHへの差込部33の差し込みを行う場合、目標パスTPから車幅方向に対する差込部33の離間距離が長くなりやすく、差込部33がパレットPに接触するおそれがある。これに対し、第2基準点CP2を基準点とすることで、方位偏差θ1が同一であれば第1基準点CP1を基準点とする場合に比べて目標パスTPから差込部33の離間距離が短くなる。
【0091】
更に、制御装置53は、荷取り作業を行う際には、地図座標系での第1接触箇所CL1の座標と地図座標系での第2接触箇所CL2の座標から、水平方向に対してフォーク31
とパレットPとが接触したか否かを判定することができる。これにより、フォーク31とパレットPとが接触した場合には、地図座標系での座標を利用して、水平方向に対するフォーク31とパレットPとの接触を検出することができる。
【0092】
第1実施形態の効果について説明する。
(1-1)制御装置53は、第1接触箇所CL1の地図座標と第2接触箇所CL2の地図座標から、水平方向に対するフォーク31とパレットPとの接触を検出している。第1接触箇所CL1の地図座標は、車載カメラ45を用いて導出することができる。第2接触箇所CL2の地図座標は環境センサ58を用いて導出することができる。車載カメラ45はパレットPの位置を検出するために設けられており、環境センサ58は自己位置推定のために設けられている。これらを用いることで、専用のセンサを設けることなく、水平方向に対するフォーク31とパレットPとの接触を検出することができる。
【0093】
(1-2)目標パスTPとの偏差を算出するための基準点として、第2基準点CP2を用いている。制御装置53は、目標パスTPと基準点との方位偏差θ1が小さくなるように制御を行うものの、フォーク31と基準点とが離れていると方位偏差θ1が小さくても、車幅方向に対する目標パスTPからフォーク31までの離間距離が長くなる場合がある。荷取り作業を行う際には、差込孔IHに差込部33を差し込む関係上、フォーク31が目標パスTPから大きく離れないことが好ましい。第2基準点CP2を基準点とすることで、第2基準点CP2よりも後方を基準点とする場合に比べて車幅方向に対する目標パスTPからフォーク31までの離間距離を短くすることができる。このため、水平方向に対するフォーク31とパレットPとの接触を抑制することができる。
【0094】
(1-3)フォーク31に距離計41を設けて、距離計41の測定値Mから、上下方向に対するパレットPとフォーク31との傾きの差を導出している。これにより、差込孔IHに差込部33を差し込む過程で、水平方向に対するフォーク31とパレットPとの接触を検出しつつ、上下方向に対するフォーク31とパレットPとの接触を抑制することができる。
【0095】
(1-4)停車位置A1を撮像できるカメラ60を設けて、カメラ60の画像データから上位制御装置70で地図座標系でのパレットPの座標を導出することで、上位制御装置70を用いてフォークリフト10をパレットPに誘導することができる。
【0096】
(1-5)第1固定マーカーMA1と第2固定マーカーMA2を地図座標系のX軸上に位置するようにし、第1固定マーカーMA1を地図座標系の原点としている。三辺測量によって導出されるマーカーMA3,MA4の座標は、第1固定マーカーMA1を原点とした座標系の座標といえる。固定マーカーMA1,MA2と地図座標系との対応関係を上記のようにすることで、第1固定マーカーMA1を原点とした座標系と地図座標系で原点及び座標軸とが一致する。従って、三辺測量によって導出されたマーカーMA3,MA4の座標が地図座標系の座標となる。三辺測量によって導出されたマーカーMA3,MA4の座標から、更に、マーカーMA3,MA4の地図座標を導出する場合に比べて制御装置53の行う処理が少なくなる。
【0097】
また、第1固定マーカーMA1と第2固定マーカーMA2を地図座標系のX軸上に位置するようにし、第1固定マーカーMA1を地図座標系の原点とすることで、地図座標系でのカメラ60の位置を把握できてなくてもパレットPの地図座標を導出することができる。また、カメラ60のカメラ座標系の座標軸と地図座標系の座標軸とを一致させなくてもパレットPの地図座標を導出することができる。従って、カメラ60を配置するときに、地図座標系でのカメラ60の位置や姿勢を把握しなくてもよいし、予め定められた位置にカメラ60を配置する必要もない。言い換えれば、固定マーカーMA1,MA2と地図座
標系との対応関係を上記のようにすることで、停車位置A1及び2つの固定マーカーMA1,MA2を撮像できれば、カメラ60は任意の位置に任意の姿勢で配置することができるし、カメラ60の位置や姿勢を上位制御装置70や制御装置53が把握する必要もない。
【0098】
(第2実施形態)
荷役システムの第2実施形態について説明する。第2実施形態の荷役システムでは、パレットのカメラ座標を導出する態様が第1実施形態とは異なる。以下の説明では、第1実施形態とは異なる部分について説明する。
【0099】
上位制御装置70は、教師データを機械学習モデルに入力して生成された学習済みモデルによってパレットPのカメラ座標を導出する。詳細にいえば、上位制御装置70の記憶部72など制御部75の読み取り可能な記憶装置には、学習済みモデルが記憶されている。上位制御装置70は、ステップS1において、カメラ60によってパレットPが撮像されると、学習済みモデルを用いて、画像データからパレットPのカメラ座標を導出する。
【0100】
図17に示すように、学習済みモデルは、機械学習のアルゴリズムにより構築された学習器74に教師データを入力することで生成されている。学習器74は、教師有り学習モデルである。機械学習としては、例えば、サポートベクタマシン、ニューラルネットワーク、ナイーブベイズ、ディープラーニング、決定木を挙げることができる。本実施形態では、機械学習として、ディープラーニングを用いる。
【0101】
教師データとしては、パレットPを撮像した画像データIMにパレットPのカメラ座標をラベルとして付与したデータを用いる。詳細にいえば、
図17に示すように、トラックTの荷台TBに積まれたパレットPを撮像した画像データIMに、パレットPを囲むバウンディングボックスを設定する。そして、バウンディングボックス毎にラベルを設定したデータを教師データとする。この教師データを学習器74に入力することで、学習済みモデルが生成される。学習済みモデルは、パレットPの画像データを入力することで、カメラ座標を出力する。なお、図示は省略しているが、パレットPの画像データIMには、収容部Sに収容された搬送物が含まれる。即ち、パレットPの画像データIMとは、搬送物を収容部Sに収容した状態でのパレットPの画像データである。
【0102】
カメラ60によって撮像されるパレットPの画像データと、パレットPのカメラ座標には相関がある。カメラ座標系においてカメラ60の座標とパレットPの座標が近いほど、画像データ中のパレットPのサイズは大きくなる。また、カメラ60の姿勢とパレットPの姿勢に応じて、画像データ中のパレットPは歪む。このため、上記した学習器74を用いて学習した学習済みモデルを用いて、パレットPのカメラ座標を導出することができる。
【0103】
また、上位制御装置70は、上記した学習済みモデルと同様の手法で学習を行った学習済みモデルを用いて、カメラ座標系での2つの柱Pi1,Pi2のカメラ座標を導出する。詳細にいえば、2つの柱Pi1,Pi2を撮像した画像データに柱Pi1,Pi2を囲むバウンディングボックスを設定し、バウンディングボックス毎にカメラ座標をラベルとして付与する。これにより得られた教師データによって機械学習を行った学習済みモデルを用いて、2つの柱Pi1,Pi2のカメラ座標を導出することができる。
【0104】
上位制御装置70は、2つの柱Pi1,Pi2のカメラ座標、及びパレットPのカメラ座標を、学習済みモデルを用いて導出することができる。なお、学習済みモデルは、パレットP及び2つの柱Pi1,Pi2の両方が写る画像データIMにラベルを付与した教師データを用いて生成してもよい。
【0105】
学習済みモデルを用いてパレットPのカメラ座標を導出する場合、上位制御装置70は、マーカーMA3,MA4を用いることなく、パレットPのカメラ座標を導出可能である。従って、制御装置53についても上位制御装置70と同様に、マーカーMA3,MA4を用いることなく、パレットPの検出を行う。制御装置53は、上位制御装置70と同様に、学習済みモデルを用いてパレットPの検出を行うようにしてもよいし、他の手法でパレットPの検出を行うようにしてもよい。
【0106】
第2実施形態では、第1実施形態の効果(1-4)に加えて、以下の効果を得ることができる。
(2-1)上位制御装置70は、学習済みモデルを用いて、パレットPのカメラ座標を導出することができる。上位制御装置70は、マーカーMA3,MA4を認識することなく、パレットPのカメラ座標を導出できるため、パレットPにマーカーMA3,MA4を取り付ける手間を軽減することができる。
【0107】
各実施形態は、以下のように変更して実施することができる。各実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○各実施形態において、フォークリフト10の位置に関わらず、常に基準点をフォーク31の中間位置=第2基準点CP2としてもよい。
【0108】
○各実施形態において、フォークリフト10の位置に関わらず、常に基準点を車体11の中心位置=第1基準点CP1としてもよい。
○各実施形態において、フォークリフト10の移動制御は、目標パスTPを生成し、この目標パスTPに基準点を追従させることでフォークリフト10を移動させるものであれば、Path Following制御とは異なる制御であってもよい。
【0109】
○各実施形態において、第1接触箇所CL1の座標は上位制御装置70で導出されてもよい。第1実施形態で記載したように、上位制御装置70は、地図座標系でのパレットPの座標及び姿勢を導出可能であるため、上位制御装置70が読み取り可能な記憶装置にパレットPに関する情報を記憶しておくことで、上位制御装置70で第1接触箇所CL1の地図座標を導出可能である。上位制御装置70により導出された第1接触箇所CL1の地図座標は、指令通信部73からフォークリフト10に送信される。制御装置53は、上位制御装置70により導出された第1接触箇所CL1の地図座標を通信部59から取得可能である。このように、制御装置53は、車載カメラ45による撮像データからパレットPの地図座標を導出することでパレットPの地図座標を取得するだけでなく、上位制御装置70によって導出されたパレットPの地図座標を受信することでパレットPの地図座標を取得することも可能である。この場合、カメラ60が位置検出センサとなる。従って、フォークリフト10は、車載カメラ45を備えていなくてもよい。フォークリフト10のパレットPへの移動は、上位制御装置70から受信したパレットPのカメラ座標のみで行われる。
【0110】
○各実施形態において、接触判定は、パレット線分LP1~LP4とフォーク線分LF1~LF3との交差から判定する態様に限られず、第1接触箇所CL1の地図座標と第2接触箇所CL2の地図座標とを用いて接触判定を行う態様であれば、どのようなものであってもよい。例えば、パレット線分LP1~LP4上の地図座標を所定の間隔で導出し、フォーク線分LF1~LF3上の地図座標を所定の間隔で導出する。地図座標系で第1接触箇所CL1に囲まれる範囲と第2接触箇所CL2に囲まれる範囲を把握できるため、両範囲が重なり合ったときに水平方向に対してフォーク31とパレットPとが接触したと判定してもよい。また、制御装置53は、第1接触箇所CL1の地図座標と第2接触箇所CL2の地図座標との差が予め定められた閾値未満になったときに水平方向に対してフォー
ク31とパレットPとが接触したと判定してもよい。
【0111】
○各実施形態において、制御装置53は、(9)式及び(10)式のいずれかが成立すると、第3フォーク線分LF3と第1パレット線分LP1とが交差していると判定してもよい。この場合、制御装置53は、(9)式及び(10)式のいずれかのみで判定を行ってもよい。第3フォーク線分LF3と第1パレット線分LP1に限らず、他のパレット線分LP1~LP4とフォーク線分LF1~LF3との交差の判定についても、1つの式の判定結果に基づいて行われてもよい。
【0112】
○各実施形態において、各パレット線分LP1~LP4は、マージンを設定せず、第1接触箇所CL1と同一位置を表す線分としてもよい。この場合、各フォーク線分LF1~LF3にマージンを設定し、第2接触箇所CL2から離れる方向に離間した線分としてもよい。また、各パレット線分LP1~LP4及び各フォーク線分LF1~LF3の両方にマージンを設定しなくてもよい。各パレット線分LP1~LP4及び各フォーク線分LF1~LF3にマージンを設定しない場合、各パレット線分LP1~LP4と各フォーク線分LF1~LF3との互いの最短離間距離に閾値を設定することで、接触判定を行ってもよい。
【0113】
○各実施形態において、第1接触箇所CL1は、第1接触面PS1、及び第2接触面PS2のいずれかであってもよい。即ち、各フォーク線分LF1~LF3との交差を判定する線分は、2つのパレット線分LP1,LP3、及び2つのパレット線分LP2,LP4のいずれかであってもよい。
【0114】
○各実施形態において、地図座標系でのパレットPの姿勢は導出しなくてもよい。停車位置A1に精度良くパレットPを配置させることができれば、パレットPの姿勢は予め予想することができる。このため、パレットPの地図座標から第1接触箇所CL1の地図座標を導出し、接触判定を行うことができる。
【0115】
○各実施形態において、パレットPの寸法などのパレットPに関する情報は上位制御装置70が読み取り可能な記憶装置に記憶されていてもよい。この場合、上位制御装置70は、パレットPに関する情報をフォークリフト10に向けて送信することが可能である。制御装置53は、上位制御装置70から受信したパレットPに関する情報から、第1接触箇所CL1の座標を導出可能である。従って、パレットPに関する情報を記憶する記憶装置をフォークリフト10が備えていなくてもよい。
【0116】
○第1実施形態において、パレットPの寸法などのパレットPに関する情報はマーカーMA3,MA4に紐付けられていてもよい。この場合、制御装置53は、マーカーMA3,MA4に紐付けられた情報を画像認識により取得することで、パレットPに関する情報を取得可能である。
【0117】
○第1実施形態において、上位制御装置70は、パレットPの地図座標をフォークリフト10に送信しなくてもよい。停車位置A1は予め定まっているため、トラックTが停車位置A1に停車すると、フォークリフト10は停車位置A1まで移動する。トラックTが停車したことは、上位制御装置70からの通知によって把握できるようにしてもよいし、フォークリフト10にセンサを設けることで把握できるようにしてもよい。停車位置A1は、予め定められているものの、パレットPの位置は不定であるため、制御装置53は、車載カメラ45によって撮像される画像データからパレットPの位置を検出する。
【0118】
○各実施形態において、パレットは、平パレットFPであってもよい。
図18及び
図1
9に示すように、平パレットFPは、矩形平板状のパレットである。平パレットFPは、
差込孔PIHを形成している差込孔形成面82と、複数の貫通孔83と、を備える。差込孔形成面82は、2つ設けられている。差込孔形成面82は、平パレットFPの4つの側面のうち互いに反対の面となる2つの面同士の間で延びるように設けられている。差込孔形成面82に囲まれる孔が差込孔PIHである。貫通孔83は、平パレットFPを厚み方向に貫通している。貫通孔83は、平パレットFPの厚み方向の面84,85に開口している。貫通孔83は、差込孔PIHに開口している。差込孔形成面82は、平パレットFPの厚み方向に互いに向かい合う第1内面86と第2内面87とを備える。平パレットFPは、第1内面86が第2内面87よりも下方、即ち、第1内面86が差込孔形成面82の下面、第2内面87が差込孔形成面82の上面となるように配置されている。
【0119】
パレットが平パレットFPの場合、差込孔PIHが開口する側面のうち、差込孔PIHに差込部33を差し込む際にフォークリフト10に向かい合う面90が第1接触箇所になる。即ち、差込孔PIHが開口する側面のうちのいずれかが第1接触箇所になる。また、差込孔形成面82のうち第1内面86と第2内面87との間で延びる第3内面88と第4内面89が第1接触箇所になる。第3内面88と第4内面89とは水平方向に互いに向かい合う面である。パレットが平パレットFPの場合、差込孔PIHが開口する面90に沿うパレット線分、第3内面88に沿うパレット線分、第4内面89に沿うパレット線分がそれぞれ導出されるようにパレット接触点は設定される。平パレットFPは、2つの差込孔PIHを備えているため、差込孔PIH毎にパレット線分を導出する必要があり、メッシュパレットに比べて、パレット線分の数が増える。パレット線分の数が増えた場合であっても、第1実施形態と同様の手法で、フォーク線分LF1~LF3とパレット線分とが交差しているかを判定することで接触判定を行うことができる。
【0120】
また、パレットが平パレットFPの場合、第1実施形態のステップS11~ステップS41のうちステップS21の処理が第1実施形態とは異なる。
図19に示すように、フォーク31に平パレットFPを積載する際には、差込部33を差込孔PIHに差し込んでいく。この際、距離計41は、貫通孔83のない位置では、第1内面86までの距離を測定する。距離計41は、貫通孔83のある位置では、第1内面86までの距離を測定することができず、平パレットFPが置かれた載置面までの距離を測定することになる。
【0121】
図20に示すように、フォークリフト10の走行距離をX軸、距離計41の測定値をY軸とする散布図に測定値Mをプロットすると、測定値Mはフォークリフト10の走行距離及び貫通孔83の有無に応じて変化することがわかる。
【0122】
第1内面86の傾きは、平パレットFPに対するフォーク31の傾きと捉えることができるため、第1内面86までの距離を測定した測定値Mから直線L3を導出することができれば、この直線L3の傾きから平パレットFPに対するフォーク31の傾きを導出することができる。
【0123】
図20から把握できるように、距離計41により平パレットFPが置かれた載置面までの距離が測定されると、第1内面86までの距離が測定されている場合に比べて、貫通孔83の軸線方向の長さだけ、測定値Mが大きくなる。従って、フォーク31を差込孔PIHに差し込んでいったときに得られた測定値Mから極小値M1を抽出し、極小値M1から直線L3を得ることで、第1内面86までの距離を測定した測定値Mから直線L3を導出することができる。そして、直線L3の傾きから、平パレットFPに対するフォーク31の傾きを導出することができる。
【0124】
なお、パレットPとしては、上記した平パレットFPや実施形態のポストパレットに限られず、種々のパレットを用いることができる。
○フォークリフト10の姿勢の検出は、姿勢を検出するためのセンサによって行われてもよい。姿勢を検出するためのセンサとしては、フォークリフト10の進行している方位を把握できるものであればよい。
【0125】
○各実施形態において、距離計41としては、光電センサ、レーザーセンサなどを用いてもよい。
○各実施形態において、距離計41は、差込部33のうちフォークリフト10の前後方向における中央部など、先端部36以外に設けられていてもよい。
【0126】
○各実施形態において、距離計41は、一対のフォーク31のうち一方にのみ設けられていてもよい。この場合、制御装置53は、距離計41の測定値Mから得られた直線L1の傾きをパレットPに対するフォーク31の傾きとする。
【0127】
○各実施形態において、制御装置53は、差込部33を差込孔IHに差し込む際に、フォークリフト10が存在している路面に対してフォーク31を傾斜させた状態で差込部33を差込孔IHに差し込んでもよい。
○各実施形態において、傾斜調整制御は行われなくてもよい。この場合、フォークリフト10は、距離計41を備えていなくてもよい。
○各実施形態において、カメラ座標系での地図座標系の原点の座標を把握できており、かつ、カメラ座標系の座標軸の向きと地図座標系の座標軸の向きとを一致させていれば、2つの柱Pi1,Pi2のカメラ座標は導出されなくてもよい。この場合、上位制御装置70は、パレットPのカメラ座標を導出すると、パレットPのカメラ座標からパレットPの地図座標を導出する。記憶部72など制御部75が読み取り可能な情報を記憶する記憶装置には、カメラ座標系での地図座標系の原点の座標が記憶されている。カメラ座標系での地図座標系の原点の座標とは、カメラ座標系の原点と地図座標系の原点との座標のずれともいえる。上位制御装置70は、パレットPのカメラ座標を導出すると、パレットPのカメラ座標を、カメラ座標系での地図座標系の原点の座標分だけずらす。これにより、パレットPのカメラ座標は、地図座標系の原点を基準とした座標になり、上位制御装置70によりパレットPの地図座標が導出される。
【0128】
各実施形態において、地図座標系でのカメラ60の座標を把握できており、かつ、カメラ座標系の座標軸の向きと地図座標系の座標軸の向きとを一致させていれば、パレットPのカメラ座標からパレットPの地図座標への変換は、制御装置53によって行われてもよい。上位制御装置70は、パレットPのカメラ座標を導出すると、パレットPのカメラ座標をフォークリフト10に送信する。制御装置53は、パレットPのカメラ座標を受信すると、パレットPのカメラ座標からパレットPの地図座標を導出する。記憶部55や補助記憶装置56など制御装置53の読み取り可能な情報を記憶する記憶装置には、地図座標系でのカメラ60の座標が記憶されている。制御装置53は、パレットPのカメラ座標を受信すると、地図座標系の原点と地図座標系でのカメラ60の座標とのずれの分だけ、パレットPのカメラ座標をずらす。これにより、制御装置53は、パレットPのカメラ座標からパレットPの地図座標を導出することができる。このように、地図座標系でのカメラ60の座標を把握できていれば、制御装置53は、パレットPのカメラ座標からパレットPに地図座標を取得することができる。従って、地図座標系でのパレットPの座標を得られる情報とは、実施形態のようにパレットPの地図座標であってもよいし、上記したようにパレットPのカメラ座標であってもよい。言い換えれば、パレットPのカメラ座標をパレットPの地図座標に変換する処理は、上位制御装置70によって行われてもよいし、制御装置53によって行われてもよい。荷役システムCSがパレットPのカメラ座標をパレットPの地図座標に変換する座標変換部を備えていればよい。
【0129】
上記したように、上位制御装置70及び制御装置53の少なくともいずれかが、カメラ
座標系の原点と地図座標系の原点との座標のずれを把握できており、かつ、カメラ座標系の座標軸の向きと地図座標系の座標軸の向きとを一致させていれば、上位制御装置70によって2つの柱Pi1,Pi2のカメラ座標は導出されなくてもよい。従って、停車位置A1を2つの柱Pi1,Pi2の間に設定する必要がなく、停車位置A1の自由度が向上する。また、上位制御装置70が行う処理を少なくすることができる。
【0130】
また、カメラ座標系の座標軸の向きと地図座標系の座標軸の向きとが一致していない場合であっても、カメラ座標系の座標軸と地図座標系の座標軸とのずれ角、及びカメラ座標系の原点と地図座標系の原点との座標のずれを把握できていれば、パレットPのカメラ座標からパレットPの地図座標を導出することができる。この場合であっても、上位制御装置70及び制御装置53のいずれであっても、パレットPのカメラ座標からパレットPの地図座標への変換を行うことができる。そして、上記した効果と同様の効果を得ることができる。
【0131】
○各実施形態において、フォークリフト10は、位置検出センサとして車載カメラ45に代えて、ミリ波レーダー、ステレオカメラ、LIDARなど、制御装置53がパレットPの
位置を検出できるものを備えていてもよい。
【0132】
○第1実施形態において、パレットPに設けられるマーカーは1つであってもよい。この場合、マーカーの地図座標がパレットPの地図座標となる。また、上位制御装置70は、画像データ中のマーカーの歪み方からカメラ座標系でのマーカーの姿勢を導出することができる。上位制御装置70は、カメラ座標系でのマーカーの姿勢から、環境地図でのマーカーの姿勢を導出することで、地図座標系でのパレットPの姿勢を導出することができる。同様に、制御装置53は、車載カメラ45の撮像による画像データ中のマーカーの歪み方から、車載カメラ45のカメラ座標系でのマーカーの姿勢を導出することができる。そして、制御装置53は、車載カメラ45のカメラ座標系でのマーカーの姿勢から地図座標系でのパレットPの姿勢を導出することができる。
【0133】
○第1実施形態において、地図座標系の原点と第1固定マーカーMA1の座標とは一致していなくてもよい。この場合、地図座標系での第1固定マーカーMA1の座標と地図座標系の原点との座標のずれを予め把握し、上位制御装置70の記憶部72など、制御部75が読み取り可能な記憶装置に地図座標系での第1固定マーカーMA1の座標と地図座標系の原点との座標のずれを記憶しておく。上位制御装置70は、地図座標系での第1固定マーカーMA1の座標と地図座標系の原点との座標のずれの分だけ、三辺測量によってマーカーMA3,MA4の座標をずらす。これにより上位制御装置70は、地図座標系でのマーカーMA3,MA4の座標、ひいては、地図座標系でのパレットPの座標を導出することができる。
【0134】
○第1実施形態において、上位制御装置70は、(5)式を省略し、(6)式からY座標ypを導出してもよい。
○第1実施形態において、マーカーMA3のY座標ypが+座標になるか-座標になるかを予め把握できていれば、(6)式による判定を行わなくてもよい。例えば、地図座標系のY軸方向において、停車位置A1を+座標側のみとし、-座標側へのトラックTの停車を禁止することで、マーカーMA3のY座標は+座標になる。この場合、Y座標ypが+座標になるか-座標になるかを判定しなくてもよいため、上位制御装置70が行う処理を少なくすることができる。
【0135】
○第2実施形態において、学習済みモデルは、パレットP及び2つの柱Pi1,Pi2が写る画像データを入力することで、柱Pi1を原点とする座標が導出されるものであってもよい。この場合の教師データとしては、パレットP及び2つの柱Pi1,Pi2を撮
像した画像データIMに柱Pi1を原点とするパレットPの座標をラベルとして付与したデータを用いる。パレットP及び2つの柱Pi1,Pi2の位置関係によって、画像データにおけるパレットPと柱Pi1との比率、画像データにおけるパレットPの位置と柱Pi1との位置関係等が異なる。このため、上記した教師データを用いて機械学習を行った学習済みモデルでは、パレットP及び2つの柱Pi1,Pi2が写る画像データを入力することで、柱Pi1を原点とするパレットPの座標が得られる。この場合、第1実施形態と同様に、柱Pi1を地図座標系の原点にしておくことで、上位制御装置70によって導出されるパレットPの座標は、パレットPの地図座標となる。
【0136】
○各実施形態において、フォークリフト10は、自動での動作と手動での動作を切り替え可能なフォークリフトであってもよい。
○各実施形態において、フォークリフト10は、荷役装置14を前進及び後進させることができるリーチシリンダを備えるリーチ式のフォークリフトであってもよい。
【0137】
○各実施形態において、通信部59は、少なくとも指令通信部73からの指令を受信する機能を備えていればよく、送信機能を備えていなくてもよい。
○各実施形態において、指令通信部73は、少なくとも通信部59に指令を送信する機能を備えていればよく、受信機能を備えていなくてもよい。
【0138】
○各実施形態において、自己位置推定部、姿勢検出部、パレット座標取得部、フォーク座標導出部、判定部、パス生成部、及び移動制御部は別々の装置によって構成されていてもよい。
【0139】
○各実施形態において、環境地図の記憶される記憶装置としては、制御装置53の読み取り可能な情報を記憶できる記憶媒体であれば、どのようなものであってもよい。例えば、EEPROMなどの不揮発性メモリであってもよい。
【0140】
○各実施形態において、固定マーカーMA1,MA2の設けられる既設構造物は、柱Pi1,Pi2以外であってもよい。また、固定マーカーMA1,MA2を設けるための構造物を設置してもよい。
【0141】
○各実施形態において、荷役システムCSは複数のカメラ60を備えていてもよい。
○各実施形態において、停車位置A1は複数設定されていてもよい。この場合、停車位置A1毎に個別にカメラ60を設ける。上位制御装置70は、カメラ60毎に1つずつ設けられていてもよいし、複数のカメラ60に対して1つのみであってもよい。荷役システムCSが備えるフォークリフト10、カメラ60、及び上位制御装置70は、それぞれ、単数であってもよいし、複数であってもよい。
【0142】
○各実施形態において、フォークリフト10が荷取り作業を行う対象となるパレットPを積載したトラックTは、平ボディのトラックに限られず、コンテナトラックなどであってもよい。フォークリフト10が荷取り作業を行う対象となるパレットPを積載した搬送車は、トラックT以外の車両であってもよい。
【符号の説明】
【0143】
CL1…第1接触箇所、CL2…第2接触箇所、CP2…第2基準点、IH…差込孔、P…パレット、10…フォークリフト、11…車体、31…フォーク、33…差込部、45…位置検出センサとしての車載カメラ、53…自己位置推定部、姿勢検出部、パレット座標取得部、フォーク座標導出部、判定部、パス生成部、及び移動制御部として機能する制御装置、56…記憶装置としての補助記憶装置、58…環境センサ。