(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-07
(45)【発行日】2025-04-15
(54)【発明の名称】判定装置、フォークリフト、及び学習方法
(51)【国際特許分類】
B66F 9/24 20060101AFI20250408BHJP
G06T 7/00 20170101ALI20250408BHJP
G06T 7/70 20170101ALI20250408BHJP
【FI】
B66F9/24 L
G06T7/00 350B
G06T7/70 A
(21)【出願番号】P 2022012019
(22)【出願日】2022-01-28
【審査請求日】2024-06-17
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】服部 晋悟
【審査官】中島 亮
(56)【参考文献】
【文献】特開2020-040769(JP,A)
【文献】特開2017-151652(JP,A)
【文献】特開2020-040790(JP,A)
【文献】特開2020-040812(JP,A)
【文献】特開2019-099079(JP,A)
【文献】韓国公開特許第10-2007-0068519(KR,A)
【文献】米国特許第04279328(US,A)
【文献】特開2014-038045(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/24
G06T 7/00
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
フォークリフトの荷役対象物が載置されたパレットに対して光を照射する照射部を制御する照射制御部であって、前記照射部を第1態様、及び前記第1態様とは異なる第2態様のうち、少なくとも一方の態様により動作させる照射制御部と、
前記照射制御部が前記照射部を前記第1態様に動作させた状態における前記パレットと、前記パレットのパレット穴とを撮像し、第1撮像画像を生成するように撮像部の動作を制御する撮像制御部と、
前記第1撮像画像に基づいて、前記パレットの位置を特定する特定部と、
前記第1撮像画像に基づいて、前記パレットの位置が特定できたか否かを判定する判定部と、
前記判定部により、前記パレットの位置が特定できたと判定された場合、前記パレットの位置を示す情報を出力する出力部とを、備え、
前記判定部により、前記第1撮像画像に基づいて前記パレットの位置が特定できないと判定された場合、前記撮像制御部は、前記照射制御部が前記照射部を前記第2態様に動作させた状態における前記パレットと、前記パレットのパレット穴とを撮像し、第2撮像画像を生成するように前記撮像部の動作を制御し、前記特定部は、前記第2撮像画像に基づいて、前記パレットの位置を特定し、前記判定部は、前記第2撮像画像に基づいて、前記パレットの位置が特定できたか否かを更に判定する、
ことを特徴とする判定装置。
【請求項2】
前記照射部は、互いに異なる波長域の光を照射する複数の光源を有し、
前記照射制御部は、前記第1態様において、第1光源に前記パレットに対して光を照射させ、前記第2態様において、前記第1光源に比して波長域が狭い光を照射する第2光源に前記パレットに対して光を照射させる、
請求項1に記載の判定装置。
【請求項3】
前記第2光源の光には、ブルーライトが含まれる、
請求項2に記載の判定装置。
【請求項4】
前記特定部は、前記パレットと前記パレット穴とが示される教師画像と、前記教師画像における前記パレットの位置とを教師データとした機械学習により生成された学習済みモデルと、前記第1撮像画像、又は前記第2撮像画像とに基づいて、前記パレットの位置を特定する、
請求項1から3のうちいずれか一項に記載の判定装置。
【請求項5】
前記教師画像には、
第3光源の光が前記パレットに照射された状態の画像と、前記第3光源に比して、波長域が狭い光を照射する第4光源の光が前記パレットに照射された状態の画像と、自然光が前記パレットに照射された状態の画像と、前記フォークリフトの周辺に存在する物体の影が前記パレットに生じた状態の画像とのうち、少なくともいずれか一つが含まれる、
請求項4に記載の判定装置。
【請求項6】
前記特定部により特定された前記パレットの位置に基づいて、前記パレット穴の位置を特定するパレット穴位置特定部を更に備え、
前記出力部は、前記パレット穴の位置を示す情報を出力する、
請求項1から5のうちいずれか一項に記載の判定装置。
【請求項7】
請求項1から請求項6のうちいずれか一項に記載の判定装置と、
前記パレットの位置に基づいて、前記パレット穴に、前記フォークリフトのフォークの位置を合わせる駆動制御部と、を備える
ことを特徴とするフォークリフト。
【請求項8】
フォークリフトの荷役対象物が載置されたパレットと、前記パレットに設けられたパレット穴とが示される教師画像と、前記教師画像における前記パレットの位置とを教師データとした機械学習により学習モデルに学習させ、
前記教師画像には、第3光源の光が前記パレットに照射された状態の画像と、前記第3光源に比して、波長域が狭い光を照射する第4光源の光が前記パレットに照射された状態の画像と、自然光が前記パレットに照射された状態の画像と、前記フォークリフトの周辺に存在する物体の影が前記パレットに生じた状態の画像とのうち、少なくともいずれか一つが含まれる、
ことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、フォークリフト、及び学習方法に関する。
【背景技術】
【0002】
フォークリフトは、パレットを搬送する。パレットには、荷役対象物が載置されている。フォークリフトにおいて、パレットが撮像された画像に対して画像処理を行うことにより、パレットの位置を特定する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、パレットが置かれている位置や周辺環境によっては、パレットを撮像しても、画像に適切にパレットの特徴が示されていない場合がある。このような場合、特許文献1に開示の技術では、パレットが撮像された画像に対して画像処理を行っても、パレットの位置を特定することが困難である場合があった。
【課題を解決するための手段】
【0005】
上記目的を達成する判定装置は、フォークリフトの荷役対象物が載置されたパレットに対して光を照射する照射部を制御する照射制御部であって、前記照射部を第1態様、及び前記第1態様とは異なる第2態様のうち、少なくとも一方の態様により動作させる照射制御部と、前記照射制御部が前記照射部を前記第1態様に動作させた状態における前記パレットと、前記パレットのパレット穴とを撮像し、第1撮像画像を生成するように撮像部の動作を制御する撮像制御部と、前記第1撮像画像に基づいて、前記パレットの位置を特定する特定部と、前記第1撮像画像に基づいて、前記パレットの位置が特定できたか否かを判定する判定部と、前記判定部により、前記パレットの位置が特定できたと判定された場合、前記パレットの位置を示す情報を出力する出力部とを、備え、前記判定部により、前記第1撮像画像に基づいて前記パレットの位置が特定できないと判定された場合、前記撮像制御部は、前記照射制御部が前記照射部を前記第2態様に動作させた状態における前記パレットと、前記パレットのパレット穴とを撮像し、第2撮像画像を生成するように前記撮像部の動作を制御し、前記特定部は、前記第2撮像画像に基づいて、前記パレットの位置を特定し、前記判定部は、前記第2撮像画像に基づいて、前記パレットの位置が特定できたか否かを更に判定する。
【0006】
かかる構成によれば、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定することができる。
上記判定装置において、前記照射部は、互いに異なる波長域の光を照射する複数の光源を有し、前記照射制御部は、前記第1態様において、第1光源に前記パレットに対して光を照射させ、前記第2態様において、前記第1光源に比して波長域が狭い光を照射する第2光源に前記パレットに対して光を照射させてもよい。
【0007】
かかる構成によれば、パレットに対して第2光源の光を照射し、パレットの特徴が示された第2撮像画像を取得することにより、パレットの位置を特定することができる。
上記判定装置において、前記第2光源の光には、ブルーライトが含まれてもよい。
【0008】
上記判定装置において、前記特定部は、前記パレットと前記パレット穴とが示される教師画像と、前記教師画像における前記パレットの位置とを教師データとした機械学習により生成された学習済みモデルと、前記第1撮像画像、又は前記第2撮像画像とに基づいて、前記パレットの位置を特定してもよい。
【0009】
かかる構成によれば、パレットが置かれている位置や周辺環境に応じて学習された学習済みモデルを用いて、パレットの位置を特定することができる。
上記判定装置において、前記教師画像には、第3光源の光が前記パレットに照射された状態の画像と、前記第3光源に比して、波長域が狭い光を照射する第4光源の光が前記パレットに照射された状態の画像と、自然光が前記パレットに照射された状態の画像と、前記フォークリフトの周辺に存在する物体の影が前記パレットに生じた状態の画像とのうち、少なくともいずれか一つが含まれてもよい。
【0010】
かかる構成によれば、パレットが置かれている位置や周辺環境に応じて学習された学習済みモデルを用いて、パレットの位置を特定することができる。
上記判定装置において、前記特定部により特定された前記パレットの位置に基づいて、前記パレット穴の位置を特定するパレット穴位置特定部を更に備え、前記出力部は、前記パレット穴の位置を示す情報を出力してもよい。
【0011】
かかる構成によれば、パレットが置かれている位置や周辺環境に関わらず、パレット穴の位置を特定することができる。
上記目的を達成するフォークリフトは、上述のいずれかに記載の判定装置と、前記パレットの位置に基づいて、前記パレット穴に、前記フォークリフトのフォークの位置を合わせる駆動制御部と、を備える。
【0012】
かかる構成によれば、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定し、パレット穴にフォークを差し込むことができる。
上記目的を達成する学習方法は、フォークリフトの荷役対象物が載置されたパレットと、前記パレットに設けられたパレット穴とが示される教師画像と、前記教師画像における前記パレットの位置とを教師データとした機械学習により学習モデルに学習させ、前記教師画像には、第3光源の光が前記パレットに照射された状態の画像と、前記第3光源に比して、波長域が狭い光を照射する第4光源の光が前記パレットに照射された状態の画像と、自然光が前記パレットに照射された状態の画像と、前記フォークリフトの周辺に存在する物体の影が前記パレットに生じた状態の画像とのうち、少なくともいずれか一つが含まれる。
【0013】
かかる構成によれば、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定することができる学習済みモデルを生成することができる。
【発明の効果】
【0014】
本発明によれば、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定することができる。
【図面の簡単な説明】
【0015】
【
図1】フォークリフトの説明に用いられる図である。
【
図3】第1撮像画像、及び第2撮像画像の一例を示す図である。
【
図4】判定装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
<実施形態>
[フォークリフト20について]
以下、図面を参照し、判定装置を具体化した実施形態について説明する。
【0017】
図1に示すように、判定装置10は、例えば、フォークリフト20に備えられる。本実施形態において、フォークリフト20は、自動運転制御により走行するものとする。自動運転制御とは、フォークリフト20に乗車した乗員による運転操作に依らずに、フォークリフト20の操舵のみ、または速度のみ、または操舵と速度の双方を制御して車両を運転させることである。フォークリフト20は、判定装置10から取得したパレットの位置を示す情報に基づいて、自動運転制御により走行しつつ、パレットを移載する。判定装置10の詳細については、後述する。
【0018】
フォークリフト20は、例えば、車輪21と、フォーク22と、ハンドル23と、操作レバー24と、車輪21を駆動する走行アクチュエータ25aと、フォーク22を駆動する荷役アクチュエータ25bと、通信部26と、制御部27と、ヘッドライト28と、撮像部29とを備える。ハンドル23は、フォークリフト20に運転者が乗車した場合、フォークリフト20の操舵を行う際に用いられる。また、操作レバー24は、フォークリフト20に運転者が乗車した場合、フォーク22の操作を行う際に用いられる。
【0019】
なお、上述したように、本実施形態において、フォークリフト20は、自動運転制御により走行するフォークリフトである。このため、フォークリフト20は、フォークリフト20に乗車する運転者がフォークリフト20を操作する際に用いられるハンドル23や操作レバー24を備えていなくてもよい。
【0020】
走行アクチュエータ25aは、フォークリフト20の走行に用いられるものである。具体的には、走行アクチュエータ25aは、車輪21を回転駆動させるとともに、操舵角を変更して、フォークリフト20の進行方向を変更する。荷役アクチュエータ25bは、フォーク22を用いた荷役動作を行わせるためのものである。具体的には、荷役アクチュエータ25bは、フォーク22を昇降させるリフト動作と、フォーク22を傾けるチルト動作を行わせる。フォーク22には、パレットが積載される。パレットには、例えば、フォークリフト20が荷役を行う対象である荷役対象物が載置される。また、フォーク22は、上昇、又は下降し、パレットに載置された荷役対象物の積み込み、又は積み降ろしを行う。
【0021】
フォークリフト20は、例えば、バッテリフォークリフトであってもよい。この場合、走行アクチュエータ25aは、車輪21を回転駆動させる走行用電動モータ、及び操舵用電動モータ等により実現される。また、荷役アクチュエータ25bは、荷役動作を行わせるための油圧ポンプ、及び油圧シリンダ等により実現される。
【0022】
通信部26は、例えば、通信用回路又は通信用モジュールを含む。通信部26は、判定装置10やその他の機器と各種データを送受信する。通信部26は、有線または無線で通信を行う。無線通信である場合、通信部26の通信態様は、Wi-Fi(登録商標)、Bluetooth(登録商標)等の近距離無線通信でもよい。また、無線通信である場合、通信部26の通信態様は、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線等のネットワークを介した通信であってもよい。
【0023】
制御部27は、判定装置10から取得したパレットの位置を示す情報に基づいて、走行アクチュエータ25a、及び荷役アクチュエータ25bを制御する。詳しくは、制御部27は、パレットの位置を示す情報に基づいて、当該情報が示すパレットの位置まで走行するように、走行アクチュエータ25aを制御する。また、制御部27は、パレットの位置を示す情報に基づいて、パレットのパレット穴の位置に、フォーク22の位置を合わせるように、荷役アクチュエータ25bを制御する。荷役アクチュエータ25bは、「駆動制御部」の一例である。
【0024】
ヘッドライト28は、例えば、フォークリフト20の進行方向前方に光を照射する。また、ヘッドライト28は、判定装置10の制御に基づいて、パレットに対して光を照射する。以下、ヘッドライト28は、第1光源28aと、第2光源28bとの複数の光源を有する場合について説明する。第1光源28aと、第2光源28bとは、例えば、互いに異なる波長域の光を照射する光源である。詳しくは、第1光源28aは、第2光源28bに比して広い波長域の光を照射する。具体的には、第1光源28aは、ホワイトライトにより実現される。また、第2光源28bは、第1光源28aに比して狭い波長域の光を照射する。具体的には、第2光源28bは、ブルーライトにより実現される。以下、第1光源28aと、第2光源28bとを互いに区別しない場合には、単に「ヘッドライト28」と記載する。ヘッドライト28は、「照射部」の一例である。
【0025】
撮像部29は、例えば、フォーク22のうち荷役動作の妨げにならない位置、又はフォーク22を支持するマスト等に設けられる。撮像部29は、フォークリフト20の周辺環境を撮像するとともに、撮像画像を生成する。また、撮像部29は、判定装置10の制御に基づいて、パレットに対してヘッドライト28により光が照射された状態、且つパレットとパレット穴とを一つの撮像画像に含めた状態において、パレットを撮像するとともに、撮像画像を生成する。
【0026】
[判定装置10について]
図2に示すように、判定装置10は、例えば、通信部11と、制御部100と、記憶部200とを備える。通信部11は、例えば、通信用回路又は通信用モジュールを含む。通信部11は、通信部26やその他の機器と各種データを送受信する。通信部11は、有線または無線で通信を行う。無線通信である場合、通信部11の通信態様は、Wi-Fi、Bluetooth等の近距離無線通信でもよい。また、無線通信である場合、通信部11の通信態様は、LAN、プロバイダ端末、無線通信網、無線基地局、専用回線等のネットワークを介した通信であってもよい。
【0027】
制御部100は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの非一過性の記憶媒体を備える記憶部200に格納されていてもよい。
【0028】
記憶部200は、上記の各種記憶装置、或いはEEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)等により実現されてもよい。記憶部200には、上述したプログラムの他、学習済みモデル201が記憶される。学習済みモデル201の詳細については、後述する。
【0029】
制御部100は、例えば、照射制御部101と、撮像制御部102と、特定部103と、判定部104と、出力部105とをその機能部として備える。
照射制御部101は、例えば、ヘッドライト28の動作を制御する。ヘッドライト28の動作には、ヘッドライト28を点灯、又は消灯させることが含まれる。
【0030】
撮像制御部102は、例えば、撮像部29の動作を制御する。撮像部29の動作には、例えば、撮像対象を撮像するとともに、撮像画像を生成すること、撮像部29の撮像に係る設定を変更すること、及び撮像部29が撮像する範囲を変更すること等が含まれる。撮像部29の撮像に係る設定には、例えば、ピント位置、絞り値、シャッタースピード、及びISO感度等の設定が含まれる。
【0031】
特定部103は、学習済みモデル201と、撮像部29により生成された撮像画像とに基づいて、パレットの位置を特定する。ここで、学習済みモデル201は、パレットと、パレット穴とが示される画像が入力されると、パレットの位置を示す座標の情報を出力する演算モデルである。パレットの位置を示す座標は、例えば、画像を撮像した撮像部29を原点とする座標である。
【0032】
学習済みモデル201は、例えば、教師画像TPと、教師画像TPにおけるパレットの位置とを教師データとした機械学習により生成された学習済みモデルである。
図3に示す一例では、教師画像TPには、パレットPL1と、パレットPL1のパレット穴PH1とが示される。また、教師画像TPには、パレットPL2と、パレットPL2のパレット穴PH2とが示される。学習済みモデル201の学習に用いられるネットワークは、例えば、ディープニューラルネットワーク(Deep Neural Network;DNN)であってもよく、回帰型ニューラルネットワーク(Recurrent Neural Network:RNN)であってもよい。なお、教師画像TPには、一つのパレットと、当該パレットのパレット穴とが示されるものであってもよい。
【0033】
教師画像TPには、例えば、第1教師画像TP1から第4教師画像TP4のうち、少なくともいずれか一つが含まれる。第1教師画像TP1は、例えば、ホワイトライトの光がパレットに照射された状態の画像である。第2教師画像TP2は、ブルーライトの光がパレットに照射された状態の画像である。第3教師画像TP3は、自然光がパレットに照射された状態の画像である。第4教師画像TP4は、フォークリフトの周辺に存在する物体の影がパレットに生じた状態の画像である。フォークリフトの周辺に存在する物体の影には、フォークリフトが存在する空間を構成する構造物の影や、フォークリフトが備える構造物の影等である。ホワイトライトは、「第3光源」の一例であり、ブルーライトは、「第4光源」の一例である。
【0034】
図2に示すように、判定部104は、特定部103の処理によりパレットの位置が特定できたか否かを判定する。判定部104は、例えば、特定部103の処理により取得されたパレットの位置を示す座標の値が所定範囲内の値である場合、パレットの位置が特定できたと判定する。また、判定部104は、特定部103の処理によりパレットの位置が取得できなかった場合、又は取得されたパレットの位置を示す座標の値が、所定範囲外の値である場合等、パレットの位置が特定できないと判定する。所定範囲の値は、例えば、撮像部29が撮像した撮像画像に示される範囲の座標を表す値である。
【0035】
出力部105は、判定部104によりパレットの位置が特定できたと判定された場合、特定部103の処理により特定されたパレットの位置を示す情報を、通信部11を介して制御部27に出力する。制御部27は、判定装置10から取得したパレットの位置を示す情報に基づいて、走行アクチュエータ25a、及び荷役アクチュエータ25bを制御する。
【0036】
[パレットの位置が特定できない場合]
ここで、判定部104によりパレットの位置が特定できないと判定された場合、照射制御部101は、ヘッドライト28を、当初の態様とは異なる他の態様により動作させる。以下、照射制御部101が、ヘッドライト28の動作を第1態様~第4態様の、四つの態様に制御する場合について説明する。第1態様は、第1光源28a、及び第2光源28bのうち、第1光源28aのみが点灯している状態である。第2態様は、第1光源28a、及び第2光源28bのうち、第2光源28bのみが点灯している状態である。第3態様は、第1光源28a、及び第2光源28bの両方が点灯している状態である。第4態様は、第1光源28a、及び第2光源28bの両方が消灯している状態である。
【0037】
また、判定部104によりパレットの位置が特定できないと判定された場合、撮像制御部102は、照射制御部101が第1態様~第4態様により動作させた状態で、撮像部29にパレットと、パレット穴とを撮像させ、撮像画像を生成させる。以下、ヘッドライト28が第1態様により動作し、パレットに対して第1光源28aに光を照射させた状態において、撮像制御部102が撮像部29にパレットとパレットのパレット穴とを撮像させ、生成した画像を、第1撮像画像P1と記載する。また、ヘッドライト28が第2態様により動作し、パレットに対して第2光源28bに光を照射させた状態において、撮像制御部102が撮像部29にパレットとパレットのパレット穴とを撮像させ、生成した画像を、第2撮像画像P2と記載する。また、ヘッドライト28が第3態様により動作し、パレットに対して第1光源28a、及び第2光源28bに光を照射させた状態において、撮像制御部102が撮像部29にパレットとパレットのパレット穴とを撮像させ、生成した画像を、第3撮像画像P3と記載する。また、ヘッドライト28が第4態様により動作し、ヘッドライト28を消灯させた状態において、撮像制御部102が撮像部29にパレットとパレットのパレット穴とを撮像させ、生成した画像を、第4撮像画像P4と記載する。以下、第1撮像画像P1~第4撮像画像P4を互いに区別しない場合には、単に「撮像画像」と記載する。
【0038】
特定部103は、パレットの位置が特定できないと判定された場合、照射制御部101がヘッドライト28を他の態様により動作させた状態において、撮像制御部102が撮像部29に生成させた撮像画像に基づいて、パレットの位置を特定してもよい。以下、判定部104は、特定部103の処理により、第1撮像画像P1~第4撮像画像P4のいずれに基づいてもパレットの位置を特定できない場合、総合的にパレットの位置を特定できないと判定する。
【0039】
出力部105は、判定部104により総合的にパレットの位置が特定できないと判定された場合、異常動作処理を実行する指示を示す情報を、通信部11を介してフォークリフト20の制御部27に出力する。制御部27は、判定装置10から取得した情報に基づいて、フォークリフト20に異常動作処理を実行させる。異常動作処理には、例えば、フォークリフト20のうち、自動運転制御に係る構成に対する電源供給を停止することや、ユーザに異常を通知する異常音を出力させること等が含まれる。
【0040】
[判定装置10の動作]
以下、
図4を参照し、判定装置10の動作について説明する。
図4に示すフローチャートは、例えば、フォークリフト20がフォーク22にパレットを積載する際に実行される。まず、照射制御部101は、ヘッドライト28の動作を第1態様に制御する(ステップS100)。次に、撮像制御部102は、撮像部29にパレットを撮像させ、第1撮像画像P1を生成させる(ステップS102)。次に、特定部103は、第1撮像画像P1に基づいて、パレットの位置を特定する処理を実行する(ステップS104)。次に、判定部104は、ステップS104の特定処理により、パレットの位置が特定できたか否かを判定する(ステップS106)。出力部105は、判定部104によりパレットの位置が特定できたと判定された場合、パレットの位置を示す情報を、制御部27に出力する(ステップS108)。
【0041】
照射制御部101は、ステップS106において判定部104によりパレットの位置が特定できないと判定された場合、ヘッドライト28の動作を第2態様に制御する(ステップS110)。次に、撮像制御部102は、撮像部29にパレットを撮像させ、第2撮像画像P2を生成させる(ステップS112)。次に、特定部103は、第2撮像画像P2に基づいて、パレットの位置を特定する処理を実行する(ステップS114)。次に、判定部104は、ステップS114の特定処理により、パレットの位置が特定できたか否かを判定する(ステップS116)。判定部104は、パレットの位置が特定できたと判定した場合、処理をステップS108に進める。
【0042】
照射制御部101は、ステップS116において判定部104によりパレットの位置が特定できないと判定された場合、ヘッドライト28の動作を第3態様に制御する(ステップS118)。次に、撮像制御部102は、撮像部29にパレットを撮像させ、第3撮像画像P3を生成させる(ステップS120)。次に、特定部103は、第3撮像画像P3に基づいて、パレットの位置を特定する処理を実行する(ステップS122)。次に、判定部104は、ステップS122の特定処理により、パレットの位置が特定できたか否かを判定する(ステップS124)。判定部104は、パレットの位置が特定できたと判定した場合、処理をステップS108に進める。
【0043】
照射制御部101は、ステップS124において判定部104によりパレットの位置が特定できないと判定された場合、ヘッドライト28の動作を第4態様に制御する(ステップS126)。次に、撮像制御部102は、撮像部29にパレットを撮像させ、第4撮像画像P4を生成させる(ステップS128)。次に、特定部103は、第4撮像画像P4に基づいて、パレットの位置を特定する処理を実行する(ステップS130)。次に、判定部104は、ステップS130の特定処理により、パレットの位置が特定できたか否かを判定する(ステップS132)。判定部104は、パレットの位置が特定できたと判定した場合、処理をステップS108に進める。
【0044】
出力部105は、ステップS106,S116,S124,S132の処理において、判定部104によりパレットの位置を特定できないと判定された場合、判定部104が総合的にパレットの位置を特定できないと判定したものとする。出力部105は、異常動作処理を実行する指示を示す情報を、通信部11を介して制御部27に出力する(ステップS134)。
【0045】
[実施形態の効果]
上記実施形態によれば、以下のような効果を得ることができる。
(1)判定装置10は、照射制御部101と、撮像制御部102と、特定部103と、判定部104と、出力部105とを備える。照射制御部101は、パレットに対して光を照射するヘッドライト28を制御する制御部であって、ヘッドライト28を第1態様、及び第1態様とは異なる第2態様のうち、少なくとも一方の態様により動作させる。具体的には、照射制御部101は、ヘッドライト28を第1~第4態様のいずれかにより動作させる。撮像制御部102は、照射制御部101がヘッドライト28を第1態様に動作させた状態におけるパレットと、パレットのパレット穴とを撮像するとともに、第1撮像画像P1を生成するように撮像部29の動作を制御する。特定部103は、第1撮像画像P1に基づいて、パレットの位置を特定する。判定部104は、第1撮像画像P1に基づいて、パレットの位置が特定できたか否かを判定する。出力部105は、判定部104により、パレットの位置が特定できたと判定された場合、パレットの位置を示す情報を出力する。判定部104により、第1撮像画像P1に基づいてパレットの位置が特定できないと判定された場合、撮像制御部102は、照射制御部101がヘッドライト28を第2~第4態様に動作させた状態におけるパレットと、パレットのパレット穴とを撮像するとともに、第2~第4撮像画像P2~P4を生成するように撮像部29の動作を制御する。特定部103は、第2~第4撮像画像P2~P4に基づいて、パレットの位置を特定する。また、判定部104は、第2~第4撮像画像P2~P4に基づいて、パレットの位置が特定できたか否かを更に判定する。
【0046】
ここで、パレットが置かれている位置や周辺環境によっては、パレットを撮像しても、画像に適切にパレットの特徴が示されていない場合がある。本実施形態の照射制御部101は、第1撮像画像P1に基づいてパレットの位置が特定できない場合、ヘッドライト28の動作を他の態様に制御する。したがって、第1撮像画像P1と、第2~第4撮像画像P2~P4とでは、画像に示されるパレットの特徴の現れ方が異なり、特定部103により一つの撮像画像でパレットの位置を特定できない場合であっても、他の撮像画像でパレットの位置を特定できる場合がある。かかる構成によれば、特定部103は、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定することができる。
【0047】
(2)ヘッドライト28は、互いに異なる波長域の光を照射する複数の光源を有する。照射制御部101は、第1態様において、第1光源28aにパレットに対して光を照射させる。照射制御部101は、第2態様において、第1光源28aに比して波長域が狭い光を照射する第2光源28bにパレットに対して光を照射させる。
【0048】
かかる構成によれば、特定部103は、第1撮像画像P1に基づいてパレットの位置が特定できない場合、パレットに対して第2光源28bの光(例えば、ブルーライトの光)を照射し、パレットの特徴が示された第2撮像画像P2を取得する。したがって、第1撮像画像P1に基づいてパレットの位置が特定できなくても、第2撮像画像P2に基づいてパレットの位置を特定することができる。
【0049】
(3)特定部103は、学習済みモデル201と、第1撮像画像P1、又は第2撮像画像P2とに基づいて、パレットの位置を特定してもよい。学習済みモデル201は、パレットとパレット穴とが示される教師画像TPと、教師画像TPにおけるパレットの位置とを教師データとした機械学習により生成される。
【0050】
かかる構成によれば、特定部103は、パレットが置かれている位置や周辺環境に応じて学習された学習済みモデル201を用いて、パレットの位置を特定することができる。
(4)教師画像TPには、第1教師画像TP1、第2教師画像TP2、第3教師画像TP3、及び第4教師画像TP4と、が含まれる。
【0051】
かかる構成によれば、特定部103は、パレットが置かれている位置や周辺環境に応じて学習された学習済みモデル201を用いて、パレットの位置を特定することができる。
(5)フォークリフト20は、判定装置10と、荷役アクチュエータ25bと、を備える。
【0052】
かかる構成によれば、フォークリフト20は、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定し、パレット穴にフォーク22を差し込むことができる。
【0053】
(6)学習済みモデル201の学習方法は、パレットと、パレットに設けられたパレット穴とが示される教師画像TPと、教師画像TPにおけるパレットの位置とを教師データとした機械学習により学習モデルに学習させ、教師画像TPには、第1教師画像TP1、第2教師画像TP2、第3教師画像TP3、及び第4教師画像TP4と、が含まれる。
【0054】
かかる構成によれば、学習方法は、パレットが置かれている位置や周辺環境に関わらず、パレットの位置を特定することができる学習済みモデル201を生成することができる。また、かかる構成によれば、パレットが置かれている位置や周辺環境に応じて学習された学習済みモデル201を用いて、パレットの位置を特定することができる。
【0055】
上記各実施形態は以下のように変更してもよい。なお、上記実施形態および以下の各別例は、技術的に矛盾しない範囲で互いに組み合わせてもよい。
〇制御部100は、例えば、特定部103により特定されたパレットの位置に基づいて、パレット穴の位置を特定するパレット穴位置特定部を更に備えていてもよい。この場合、フォークリフト20は、LIDAR(Light Detection and Ranging)を備える。パレット穴位置特定部は、特定部103により特定されたパレットの位置付近に、LIDARに光を照射させる。パレット穴位置特定部は、照射した光の散乱光を測定する。パレット穴位置特定部は、発光から受光までの時間に基づいて、対象までの距離を検出する。照射される光は、例えば、パルス状のレーザ光であってよい。パレット穴位置特定部は、光を照射した範囲のうち、対象までの距離が遠い範囲を、パレット穴の位置として特定する。出力部105は、パレットの位置を情報に代えて(或いは、加えて)、パレット穴の位置を示す情報を制御部27に出力する。かかる構成によれば、制御部27は、パレット穴の位置を示す情報に基づいて、パレット穴にフォーク22を差し込むことができる。
【0056】
〇パレット穴位置特定部は、例えば、パレット穴が示された教師画像と、教師画像におけるパレット穴の位置とを教師データとした機械学習により生成された学習済みモデルを用いて、パレット穴の位置を特定してもよい。この場合、学習済みモデルは、パレットと、パレット穴とが示される画像が入力されると、画像を撮像した撮像部を原点とする座標上におけるパレット穴の位置を示す座標を示す情報を出力する演算モデルである。
【0057】
〇ステップS108の直前、又はステップS108の直後において、照射制御部101は、ヘッドライト28の動作を第1態様に制御する処理を実行してもよい。かかる構成によれば、ヘッドライト28の態様が第1態様以外の態様に制御された場合であっても、フォークリフト20がパレットまで移動する際に、ヘッドライト28がフォークリフト20の進行方向に光を照射できるようにすることができる。
【0058】
〇第1教師画像TP1、第2教師画像TP2、第3教師画像TP3、及び第4教師画像TP4のような環境を実環境で実現することが困難な場合には、教師画像TPは、例えば、仮想空間において再現された画像が用いられてもよい。
【0059】
〇特定部103は、学習済みモデル201を用いた方法以外の方法によって、パレットの位置や、パレット穴の位置を特定してもよい。この場合、特定部103は、第1撮像画像P1~第4撮像画像P4に対して、画像処理を行う。特定部103は、画像処理に基づいてパレットやパレット穴の特徴点を特定することで、パレットの位置や、パレット穴の位置を特定する。画像処理は、例えば、エッジ検出等により、パレットやパレット穴の端点を特定可能にする処理である。
【0060】
〇
図4に示すフローチャートでは、第1態様、第2態様、第3態様、及び第4態様の順にヘッドライト28の動作が制御されたが、これに限られない。ステップS100~S106の第1処理、ステップS110~S116の第2処理、ステップS118~S124の第3処理、及びステップS126~S132の第4処理は、いずれの順序で実行されてもよい。この場合、第1処理~第4処理のうち、最後に実行された処理に含まれる判定処理において、判定部104がパレットの位置を特定できないと判定した場合、処理をステップS134に進める。
【0061】
〇
図4に示すフローチャートでは、ヘッドライト28の動作が第1態様~第4態様において生成された、第1撮像画像P1~第4撮像画像P4に基づいて、特定部103がパレットの位置を特定する場合について説明したが、これに限られない。照射制御部101は、例えば、ヘッドライト28の動作を、第1態様~第4態様のうち、少なくとも二つの態様に制御するものであってもよい。例えば、照射制御部101は、ヘッドライト28の動作を、第1態様、及び第2態様のみに制御するものであってもよい。この場合、撮像制御部102は、第1態様における第1撮像画像P1と、第2態様における第2撮像画像P2との生成のみを撮像部29に指示する。また、特定部103は、第1撮像画像P1に基づくパレットの位置の特定処理、及び第2撮像画像P2に基づくパレットの位置の特定処理の二つの特定処理のみを実行する。また、判定部104は、二つの特定処理によってパレットの位置が特定できないと判定した場合、総合的にパレットの位置が特定できないと判定する。
【0062】
〇なお、上述したヘッドライト28の態様の組み合わせは、一例であって、これに限られない。照射制御部101は、ヘッドライト28の態様を、第1態様~第4態様のうち、互いに異なる少なくとも二つの態様に制御するものであれば、態様の組み合わせは第1態様、及び第2態様に限られず、いずれの組み合わせであってもよい。詳しくは、照射制御部101は、ヘッドライト28の動作を第1態様と、第3態様とに制御する。撮像制御部102は、第1態様において第1撮像画像P1を生成させる。撮像制御部102は、第3態様において第3撮像画像P3を生成させる。この場合、第3態様は、「第2態様」の一例であり、第3撮像画像P3は、「第2撮像画像」の一例である。また、照射制御部101は、ヘッドライト28の動作を、第1態様と、第4態様とに制御する。撮像制御部102は、第1態様において第1撮像画像P1を生成させる。撮像制御部102は、第4態様において第4撮像画像P4を生成させる。この場合、第4態様は、「第2態様」の一例であり、第4撮像画像P4は、「第2撮像画像」また、照射制御部101は、ヘッドライト28の動作を、第2態様と、第3態様とに制御する。撮像制御部102は、第2態様において第2撮像画像P2を生成させる。撮像制御部102は、第3態様において第3撮像画像P3を生成させる。この場合、第2態様は、「第1態様」の一例であり、第3態様は、「第2態様」の一例であり、第2撮像画像P2は、「第1撮像画像」の一例であり、第3撮像画像P3は、「第2撮像画像」の一例である。また、照射制御部101は、ヘッドライト28の動作を、第2態様と、第4態様とに制御する。撮像制御部102は、第2態様において第2撮像画像P2を生成させる。撮像制御部102は、第4態様において第4撮像画像P4を生成させる。この場合、第2態様は、「第1態様」の一例であり、第4態様は、「第2態様」の一例であり、第2撮像画像P2は、「第1撮像画像」の一例であり、第4撮像画像P4は、「第2撮像画像」の一例である。また、照射制御部101は、ヘッドライト28の動作を、第3態様と、第4態様とに制御する。撮像制御部102は、第3態様において第3撮像画像P3を生成させる。撮像制御部102は、第4態様において第4撮像画像P4を生成させる。この場合、第3態様は、「第1態様」の一例であり、第4態様は、「第2態様」の一例であり、第3撮像画像P3は、「第1撮像画像」の一例であり、第4撮像画像P4は、「第2撮像画像」の一例である。
【0063】
〇また、照射制御部101は、ヘッドライト28の動作を「第2態様」に制御した後、「第1態様」に制御するものであってもよい。この場合、撮像制御部102は、「第2態様」において「第2撮像画像」を生成させた後、「第1態様」において「第1撮像画像」を生成させる。また、判定部104は、「第2撮像画像」に基づいて、パレットの位置が特定できないと判定した後、「第1撮像画像」に基づいて、パレットの位置が特定できたか否かを判定する。
【0064】
〇第2光源28bが、ブルーライトにより実現される場合について説明したが、これに限られない。第2光源28bは、第1光源28aが照射する光よりも波長域が狭い光を照射する光源であれば、いずれのライトにより実現されてもよい。また、第1光源28aは、第2光源28bが照射する光よりも波長域が広い光を照射する光源であれば、ホワイトライト以外のライトにより実現されてもよい。
【0065】
〇第1光源28aと、第2光源28bとは、例えば、互いに異なる波長域の光を照射する光源である場合について説明したが、これに限られない。第1光源28aと、第2光源28bとは、互いに輝度の異なる光を照射する光源であってもよい。この場合、第2光源28bは、第1光源28aが照射する光よりも弱い輝度の光を照射する光源であれば、いずれのライトにより実現されてもよい。また、第1光源28aは、第2光源28bが照射する光よりも強い輝度の光を照射する光源であれば、いずれのライトにより実現されてもよい。
【0066】
〇第1教師画像TP1は、例えば、第1光源28aが照射する光がパレットに照射された状態の画像であってもよく、第1光源28aと同様の機能を有する第3光源が照射する光がパレットに照射された状態の画像であってもよい。第2教師画像TP2は、例えば、第2光源28bが照射する光がパレットに照射された状態の画像であってもよく、第2光源28bと同様の機能を有する第4光源が照射する光がパレットに照射された状態の画像であってもよい。
【0067】
〇第4光源が、ブルーライトにより実現される場合について説明したが、これに限られない。第4光源は、第3光源が照射する光よりも波長域が狭い光を照射する光源であれば、いずれのライトにより実現されてもよい。また、第3光源は、第4光源が照射する光よりも波長域が広い光を照射する光源であれば、ホワイトライト以外のライトにより実現されてもよい。
【0068】
〇第3光源と、第4光源とは、例えば、互いに異なる波長域の光を照射する光源である場合について説明したが、これに限られない。第3光源と、第4光源とは、互いに輝度の異なる光を照射する光源であってもよい。この場合、第4光源は、第3光源が照射する光よりも弱い輝度の光を照射する光源であれば、いずれのライトにより実現されてもよい。また、第3光源は、第4光源が照射する光よりも強い輝度の光を照射する光源であれば、いずれのライトにより実現されてもよい。
【0069】
〇第1撮像画像P1~第4撮像画像P4は、それぞれ、複数の撮像画像を合成した合成画像により実現してもよい。この場合、撮像制御部102は、例えば、ヘッドライト28が各態様に制御されている状態において、撮像に係る設定を変更しながら複数の撮像画像を生成する。そして、撮像制御部102は、ヘッドライト28が各態様に制御されている状態において生成した撮像画像をそれぞれ合成し、第1撮像画像P1~第4撮像画像P4を生成する。詳しくは、撮像制御部102は、ヘッドライト28が第1態様に制御されている状態において、ピント位置をそれぞれ異ならせた撮像画像を数枚程度、生成する。そして、撮像制御部102は、生成した数枚の撮像画像を合成し、第1撮像画像P1を生成する。これにより、第1撮像画像P1は、1枚の画像により実現される場合に比して、第1撮像画像P1に示される撮像対象が、より鮮明に撮像される。したがって、特定部103は、より鮮明な撮像画像に基づいて、パレットの位置を特定することができるため、パレットの位置の特定の精度を向上させることができる。
【0070】
〇上述では、判定装置10と、フォークリフト20とが別体により実現される場合について説明したが、これに限られない。判定装置10と、フォークリフト20とは、一体に構成されてもよい。この場合、制御部27は、制御部100が備える機能部を備える。また、フォークリフト20は、記憶部200を備える。判定装置10と、フォークリフト20とが一体に構成される場合、フォークリフト20は、制御部27と判定装置10との間の情報の送受信に用いられる構成としての通信部11や通信部26を備えていなくてもよい。
【符号の説明】
【0071】
10…判定装置、20…フォークリフト、21…車輪、22…フォーク、23…ハンドル、24…操作レバー、25a…走行アクチュエータ、25b…荷役アクチュエータ、11,26…通信部、27,100…制御部、28…ヘッドライト、28a…第1光源、28b…第2光源、29…撮像部、101…照射制御部、102…撮像制御部、103…特定部、104…判定部、105…出力部、200…記憶部、201…学習済みモデル、P1…第1撮像画像、P2…第2撮像画像、P3…第3撮像画像、P4…第4撮像画像、TP…教師画像、TP1…第1教師画像、TP2…第2教師画像、TP3…第3教師画像、TP4…第4教師画像。