(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023157654
(43)【公開日】2023-10-26
(54)【発明の名称】産業車両の制御装置、産業車両の制御システム、及び産業車両の制御装置のプログラム
(51)【国際特許分類】
B66F 9/24 20060101AFI20231019BHJP
【FI】
B66F9/24 Z
B66F9/24 L
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022067698
(22)【出願日】2022-04-15
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【弁理士】
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】チュウ ジョウヨン
(72)【発明者】
【氏名】河本 満
(72)【発明者】
【氏名】大隈 隆史
(72)【発明者】
【氏名】吉田 英一
(72)【発明者】
【氏名】小出 幸和
(72)【発明者】
【氏名】岡本 浩伸
【テーマコード(参考)】
3F333
【Fターム(参考)】
3F333AA02
3F333AB13
3F333AE02
3F333FA01
3F333FA08
3F333FD14
3F333FE04
(57)【要約】
【課題】産業車両の作業状態をより適切に推定することができる産業車両の制御装置、産業車両の制御システム、及び産業車両の制御装置のプログラムを提供する。
【解決手段】制御装置20は、フォークリフト1の作業状態を推定する作業状態推定部30を有する。ここで、作業状態推定部30は、フォークリフト1に対する操作状態に関する操作情報の入力のみならず、及び荷物を撮影した撮影情報を入力される。作業状態推定部30は、フォークリフト1の動作のみならず、撮像情報に基づいて荷物の荷姿が正常であるか、異常であるかを判定することが可能となる。従って、作業状態推定部30は、荷姿が異常状態であるか否かの判定を行うと共に作業状態を出力する。これにより、作業状態推定部30は、フォークリフト1自身の状態のみならず、荷姿の異常状態まで含んで作業状態を推定することができる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
産業車両の作業状態を推定する制御装置であって、
前記産業車両の前記作業状態を推定する作業状態推定部を有し、
前記作業状態推定部は、前記産業車両に対する操作状態に関する操作情報の入力、及び荷物を撮影した撮影情報を入力され、前記荷物の荷姿が異常状態であるか否かの判定を行うと共に前記作業状態を出力する、産業車両の制御装置。
【請求項2】
前記作業状態推定部は、機械学習によって設定した作業状態推定モデルに基づいて前記作業状態を推定可能であり、前記操作情報及び前記撮影情報に基づいて、前記作業状態を出力する、請求項1に記載の産業車両の制御装置。
【請求項3】
前記操作情報は、アクセル操作量、タイヤ角、リフト操作量、リーチ操作量、ティルト操作量の少なくともいずれかを含む、請求項1に記載の産業車両の制御装置。
【請求項4】
前記荷物を撮影した画像から機械学習を用いて前記画像の特徴ベクトルを取得する特徴ベクトル取得部を更に有し、
前記特徴ベクトル取得部は、機械学習モデルとしてCNNを用い、
前記作業状態推定部は、前記特徴ベクトル取得部で取得された前記特徴ベクトルに基づいて前記作業状態を推定する、請求項1に記載の産業車両の制御装置。
【請求項5】
請求項1~4の何れか一項に記載の産業車両の制御装置を有する産業車両の制御システム。
【請求項6】
請求項1~4の何れか一項に記載の産業車両の制御装置に用いられる産業車両の制御装置のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業車両の制御装置、産業車両の制御システム、及び産業車両の制御装置のプログラムに関するものである。
【背景技術】
【0002】
産業車両の制御装置として、例えば特許文献1に記載されているものが知られている。特許文献1に記載の産業車両の制御装置は、産業車両に対する操作情報に基づいて産業車両の作業状態を推定し、当該作業状態の推定結果に基づいて産業車両を制御する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、産業車両の荷役対象となる荷物は、荷姿が荷役に適さない異常状態となることがある。例えば、荷物が正常にパレットに積載されていない状態だと、当該荷物を適切に荷役できない場合がある。しかしながら、上述の制御装置は、操作情報に基づいて産業車両の作業状態を推定するため、荷物の荷姿までは検出できない。従って、上述の制御装置は、荷姿の異常検出まで含んだ作業状態の推定を行うことができないという問題があった。従って、荷姿の異常状態まで含み、より適切に作業状態を推定することが求められていた。
【0005】
本発明の目的は、産業車両の作業状態をより適切に推定することができる産業車両の制御装置、産業車両の制御システム、及び産業車両の制御装置のプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一側面に係る産業車両の制御装置は、産業車両の作業状態を推定する制御装置であって、産業車両の作業状態を推定する作業状態推定部を有し、作業状態推定部は、産業車両に対する操作状態に関する操作情報の入力、及び荷物を撮影した撮影情報を入力され、荷物の荷姿が異常状態であるか否かの判定を行うと共に作業状態を出力する。
【0007】
産業車両の制御装置は、産業車両の作業状態を推定する作業状態推定部を有する。ここで、作業状態推定部は、産業車両に対する操作状態に関する操作情報の入力のみならず、及び荷物を撮影した撮影情報を入力される。作業状態推定部は、産業車両の動作のみならず、撮像情報に基づいて荷物の荷姿が正常であるか、異常であるかを判定することが可能となる。従って、作業状態推定部は、荷姿が異常状態であるか否かの判定を行うと共に作業状態を出力する。これにより、作業状態推定部は、産業車両自身の状態のみならず、荷姿の異常状態まで含んで作業状態を推定することができる。以上より、産業車両の作業状態をより適切に推定することができる。
【0008】
作業状態推定部は、機械学習によって設定した作業状態推定モデルに基づいて作業状態を推定可能であり、操作情報及び撮影情報に基づいて、作業状態を出力してよい。作業状態推定モデルは、過去の実際のデータに基づいて機械学習によって設定されたものであるため、荷姿の異常状態も含め、精度よく作業状態を推定することを可能とする。
【0009】
操作情報は、アクセル操作量、タイヤ角、リフト操作量、リーチ操作量、ティルト操作量の少なくともいずれかを含んでよい。これらのパラメータは、産業車両において作業者の意図を反映するパラメータである。作業状態推定部は、操作情報として、このようなパラメータを用いることで、適切な作業状態の推定を行う事ができる。
【0010】
産業車両の制御装置は、荷物を撮影した画像から機械学習を用いて特徴ベクトルを取得する特徴ベクトル取得部を更に有し、特徴ベクトル取得部は、機械学習モデルとしてCNNを用い、作業状態推定部は、特徴ベクトル取得部で取得された特徴ベクトルに基づいて作業状態を推定してよい。特徴ベクトル取得部は、撮影情報を特徴ベクトルで示すことにより、作業状態推定部へ出力する情報量を低減することができる。また、特徴ベクトル取得部は、機械学習モデルとしてCNNを用いることで、過去の実績に基づいて荷姿の異常状態を好適に反映した特徴ベクトルを取得することができる。
【発明の効果】
【0011】
本発明によれば、産業車両の作業状態をより適切に推定することができる産業車両の制御装置、産業車両の制御システム、及び産業車両の制御装置のプログラムを提供できる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態に係る運転支援システムを示すブロック図である。
【
図2】(a)はフォークリフトに対する撮影部の取り付け態様を示す斜視図であり、(b)は撮影部の角度を説明するための模式図である。
【
図3】フォークリフトの作業状態を説明するための図である。
【
図5】荷姿が異常状態であるときの様子を示す図である。
【
図6】作業状態推定部及び特徴ベクトル取得部の機械学習時の様子を示す図である。
【
図7】運転支援システムの処理内容を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。なお、図面において、同一または同等の要素には同じ符号を付し、重複する説明を省略する。
【0014】
図1は、本発明の実施形態に係る制御装置20を含む運転支援システム100(産業車両の制御システム)を示すブロック図である。運転支援システム100は、産業車両の遠隔操作を行うためのシステムである。
図1に示すように、運転支援システム100は、フォークリフト1(産業車両)と、遠隔操作装置2と、を備える。
【0015】
フォークリフト1は、運転制御部11と、複数の撮影部12と、を備える。運転制御部11は、遠隔操作装置2からの指令信号を受信し、当該指令信号に基づいて運転制御、及び操舵制御を行う。複数の撮影部12は、フォークリフト1の各部位に設けられ、フォークリフト1の周辺環境を撮影する。撮影部12は、作業支援に用いられる支援情報として、撮影した映像を取得して、後述の表示制御部22へ送信する。複数の撮影部12の取り付け位置の例を、
図2(a)に示す。撮影部12は、フォークリフト1の車体の前端、幅方向の端部、天井などに設けられる。なお、
図2(b)に示すようにXYZ座標を設定した場合、各箇所における撮影部12は、X軸、Y軸、Z軸の各軸まわりに傾いた状態で設置されてよい。
図2(a)では、八箇所に撮影部12が設けられ、それぞれ異なる箇所の映像を取得する。
【0016】
図1に示すように、遠隔操作装置2は、記憶部15と、操作部16と、表示部17と、操作情報取得部18と、制御装置20と、を備える。記憶部15は、各種情報を記憶する装置である。操作部16は、オペレータがフォークリフト1を遠隔操作するため操作を入力するためのユーザーインターフェースである。表示部17は、映像を出力するためのユーザーインターフェースである。表示部17は、互いに異なる映像を出力することができる第1領域D1、第2領域D2、及び第3領域D3を有している。
【0017】
操作情報取得部18は、オペレータの操作対象(ここでは操作部16)を操作している場合における、操作情報を取得する。操作情報取得部18は、例えば、操作部16の操作レバーに設けられたセンサ、または操作部16の操作内容を示す信号に基づいて操作内容を検知する手段などによって構成される。
【0018】
制御装置20は、遠隔操作装置2全体を制御する制御部である。制御装置20は、遠隔操作装置2を統括的に管理するECU[ElectronicControl Unit]を備えている。ECUは、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]、CAN[Controller Area Network]、通信回路等を有する電子制御ユニットである。ECUでは、例えば、ROMに記憶されているプログラムをRAMにロードし、RAMにロードされたプログラムをCPUで実行することにより各種の機能を実現する。制御装置20は、運転指令部21と、表示制御部22と、作業状態取得部23と、視点情報取得部26と、を備える。
【0019】
運転指令部21は、操作部16で入力された操作に基づく指令信号を生成して、運転制御部11へ送信するユニットである。
【0020】
表示制御部22は、表示部17の表示内容を制御するユニットである。表示制御部22は、オペレータの遠隔操作の作業を支援するための情報を表示部17に表示させる。表示制御部22は、記憶部15のデータベースの情報を用いて表示部17の第1領域D1、第2領域D2、及び第3領域D3の表示内容を制御する。また、表示制御部22は、撮影部12から取得した映像を作業状態取得部23へ送信する。
【0021】
表示制御部22は、視点情報取得部26で取得された視点情報に基づいて、表示部17に表示させる映像を選択する。第1領域D1及び第2領域D2は、特定の映像を大きく表示する大画面部であり、複数の撮影部12の映像の中から、表示制御部22が選択した撮影部12の映像が表示される。第3領域D3は、複数の映像を小さく表示させる小画面部に該当し、フォークリフト1上の全ての撮影部12からの映像を、周囲確認のための環境情報として表示する(
図4も参照)。
【0022】
例えば、
図3(a)は、フォークリフト1の作業状態を定義した表である。ここでは作業状態の一例として、「停止(Stop)」、「前進(Move fwd)」、「棚への接近(Approach)」、「調整(Adjust heading)」、「荷役(Load/Unload)」、「走行準備(Retreat)」、「後進(Move reverse)」というフォークリフト1の走行や、荷物の取り出し/荷降ろし作業に関する七つの状態について、荷物ありの状態(Load)と、荷物無しの状態(NoLoad)とで分けることで、合計14個の作業状態を定義している。フォークリフト1の走行は、「停止(Stop)」、「前進(Move fwd)」、「棚への接近(Approach)」、「走行準備(Retreat)」、「後進(Move reverse)」が該当し、荷物の取り出し/荷降ろし作業は「調整(Adjust heading)」、「荷役(Load/Unload)」が該当する。各作業状態の定義や数は上記に限定されず、適宜変更可能である。また、フォークリフト1(産業車両)の走行に関するもののみで作業状態を定義してもよい。更に、荷物の有無に関わらず、荷物の荷姿が異常状態であることを示す「異常(Anomaly)」という作業状態を設定する。これにより、
図3(a)では合計15個の作業状態を定義している。
図3(b)は、フォークリフト1が棚SFからの荷物の取り出し及び荷降ろしを行う際の、各作業状態を示した模式図である。なお、荷姿の異常状態である作業状態15へは、図中の作業状態1~14のどの状態からも状態遷移可能である。記憶部15のデータベースでは、各作業状態と、作業状態において確認すべき箇所を映すことができる撮影部12とが紐付けられている。従って、表示制御部22は、オペレータが操作しているフォークリフト1の作業状態に合わせて、第1領域D1及び第2領域D2に、特に確認すべき箇所の映像を大画面で映すことができる。なお、運転支援のために表示制御部22の制御によって表示部17に表示された映像を「運転支援映像」と称する場合がある。
【0023】
運転支援映像の適切な切替タイミングに関して、オペレータによって個体差が存在する。また、フォークリフト1で行っている作業状態が遷移したら、表示部17で表示すべき映像が切り替わる。当該事情に鑑みて、作業状態取得部23、及び視点情報取得部26は、運転支援映像をオペレータ個人に適合すると共に、作業状態の状態遷移に対応した処理を行う。
【0024】
作業状態取得部23は、フォークリフト1で行っている作業状態を取得する。作業状態取得部23は、操作情報取得部18で取得された操作情報に基づいて、作業状態を取得する。作業状態取得部23は、各作業状態へ状態遷移するときの遷移条件や遷移閾値などの推定指標を設定した作業状態推定モデルを用いて作業状態を取得する。作業状態取得部23は、記憶部15に記憶された作業状態推定モデルを取得してよい。作業状態取得部23の詳細については、後述する。作業状態取得部23は、取得した作業状態を視点情報取得部26へ送信する。
【0025】
視点情報取得部26は、作業状態取得部23で取得された作業状態に基づいて、オペレータの視点を取得する。ここで、記憶部15は、フォークリフト1の作業状態と、オペレータの視線に基づく視線情報とが紐付けられたデータベースを有する。従って、視点情報取得部26は、フォークリフト1の作業状態とデータベースとを照合することで、作業状態に対応する視線情報を取得する。視点情報取得部26は、取得した視点情報を表示制御部22へ送信する。これにより、表示制御部22は、視点情報に基づいて表示部17へ表示される映像を制御し、フォークリフト1の作業状態、及びオペレータ個人に対して最適な映像を表示することができる。
【0026】
次に、
図4を参照して、作業状態取得部23の詳細な構成について説明する。
図4は、作業状態取得部23の構成を示すブロック図である。
図4に示すように、作業状態取得部23は、作業状態推定部30と、特徴ベクトル取得部31と、を備える。
【0027】
作業状態推定部30は、機械学習を用いてフォークリフト1の作業状態を推定する。作業状態推定部30は、現在の操作情報u(t)、及び現在の撮影情報である現在の特徴ベクトルv(t)を入力されて、学習結果に基づいて、荷姿が異常状態であるか否かの判定を行うと共に、現在の作業状態x(t)を出力する。作業状態推定部30は、機械学習モデルM1を有する。
【0028】
作業状態として、
図3(a)に示す「1」~「15」の分類が用いられる。操作情報は、アクセル操作量、タイヤ角、リフト操作量、リーチ操作量、ティルト操作量の少なくともいずれかを含む。アクセル操作量は、フォークリフト1のアクセルの操作量を示すパラメータであり、アクセル操作量が大きいほどフォークリフト1の車速が速いことを示す。タイヤ角は、フォークリフト1のタイヤの旋回角を示すパラメータであり、タイヤ角が大きいほど、フォークリフト1が大きく旋回することを示す。リフト操作量は、フォークリフト1のフォークをリフトする操作の操作量を示すパラメータであり、リフト操作量が大きいほど、大きくフォークをリフトすることを示す。リーチ操作量は、フォークリフト1のフォークを前方に延ばす操作の操作量を示すパラメータであり、リーチ操作量が大きいほど、大きくフォークを前方へ動かすことを意味する。ティルト操作量は、フォークリフト1のフォークを傾ける操作の操作量を示すパラメータであり、ティルト操作量が大きいほど、大きくフォークを傾けることを意味する。
【0029】
作業状態推定部30は、各作業状態へ状態遷移するときの遷移条件や遷移閾値などの推定指標を設定した作業状態推定モデルと、入力された現在の操作情報u(t)とを照らし合わせることで、現在の作業状態x(t)を推定して出力する。作業状態推定モデルには、上述の操作情報のうち、どのパラメータがどの程度大きく(小さく)なったら、ある作業状態から他の作業状態へ遷移するかが設定されている。例えば、
図3(b)に示すように、「作業状態4」の「調整(Adjust heading)」ではフォークリフト1が大きく旋回している状態であり、「作業状態5」の「荷役(Load)」ではフォークリフト1の車速が遅く徐行している状態である。従って、作業状態推定部30は、アクセル操作量が大きく、且つタイヤ角が大きい状態から、各パラメータが所定の閾値を下回る状態となったら、「作業状態4から「作業状態5」へ遷移したものと推定できる。このような作業状態推定モデルは、機械学習によって、オペレータの過去の運転実績に基づいて、当該オペレータにとって最適な推定指標が設定される。なお、オペレータごとに個別の作業状態推定モデルが作成されてもよいし、個別のオペレータに限定されない作業状態推定モデルが作成されてもよい。作業状態推定モデルは記憶部15に記憶されており、作業状態推定部30は、必要なタイミングで、記憶部15からオペレータに対応する適切な作業状態推定モデルを取得する。また、作業状態推定部30は、特徴ベクトル取得部31から入力された特徴ベクトルv(t)を考慮することで、荷物の荷姿の異常状態(作業状態15)も含めて、現在の作業状態x(t)を推定して出力することができる。荷姿の異常状態については、後述する。
【0030】
特徴ベクトル取得部31は、荷物を撮影した画像から機械学習を用いて画像の特徴ベクトルを取得する。特徴ベクトル取得部31は、フォークリフト1の撮影部12で撮影された現在の画像I(t)を表示制御部22を介して取得する(
図1参照)。特徴ベクトル取得部31は、複数の撮影部12の画像のうち、フォークリフト1の前方等、荷物の荷姿が映っている画像I(t)を取得する。特徴ベクトル取得部31は、現在の画像I(t)を入力されて、学習結果に基づいて、現在の画像の特徴ベクトルv(t)を作業状態推定部30へ出力する。特徴ベクトル取得部31は、機械学習モデルM2を有する。
【0031】
特徴ベクトル取得部31は、画像(例えば1920×1080次元)から作業状態を推定するのに有効な特徴ベクトル(例えば1024次元)を抽出することができる抽出モデルと、入力された現在の画像I(t)とを照らし合わせて画像解析を行うことで、現在の画像I(t)の特徴ベクトルv(t)を取得して出力する。このような抽出モデルは、機械学習によって、過去の運転実績に基づいて、最適な抽出方法が設定される。抽出モデルは記憶部15に記憶されており、特徴ベクトル取得部31は、必要なタイミングで、記憶部15から抽出モデルを取得する。
【0032】
図5を参照して、荷物の荷姿が異常状態であることを推定するのに適した特徴ベクトルについて説明する。
図5に示すように、パレット40Aの荷物45Aの上面と、パレット40Bの荷物45Bの上面には、荷物45Fが架け渡されるように配置されている。このような荷姿の場合、フォークリフト1がパレット40Aまたはパレット40Bをリフトしたときに、荷物45Fが荷崩れを起こす可能性がある。従って、領域E1で示すように、複数の荷物45の重なり具合を示す箇所の特徴ベクトルを抽出することが好ましい。また、パレット40Dの荷物45Dが、パレット40Cに差し掛かっている。このような荷姿の場合、フォークリフト1がパレット40Cをリフトしたときに荷物45Dが荷崩れを起こす可能性がある。あるいは、パレット40Dをリフトしたときに荷物45Dが落下する可能性がある。従って、領域E2で示すように、あるパレットの荷物45と、他のパレット40との重なり具合を示す箇所の特徴ベクトルを抽出することが好ましい。また、パレット40Eの荷物45Eは、パレット40Eからはみ出している。このような荷姿の場合、フォークリフト1がパレット40Eをリフトしたときに荷物45Eが落下する可能性がある。また、パレット40Eの隣に他のパレット40を降ろそうとした場合、当該パレット40が荷物45Eと衝突する可能性がある。従って、領域E3で示すように、荷物45のパレット40からのはみ出し具体を示す箇所の特徴ベクトルを抽出することが好ましい。
【0033】
なお、
図5は、荷姿の異常状態の一例を示しているにすぎず、他の異常状態を検出できるような特徴ベクトルを抽出してよい。例えば、フォークリフト1が運んでいる最中の荷物が、パレットに対して大きくずれて配置されていたり、パレットからはみ出している場合は、荷姿の異常状態として特徴ベクトルを抽出してよい。また、荷物が配置される対象物は
図5のようなパレットに限定されない。例えば、箱型のかごに四つ脚を設けたようなかごパレットを用いた場合の荷姿の異常状態を抽出してもよい。例えば、上側のかごパレットの四箇所の脚は、下側のかごパレットの上端側の四箇所の嵌まり部に嵌合する状態が正常状態とする。これに対し、いずれかの脚(例えば、四つのうちの一つ)が嵌まり部に嵌合できていなかったり(落下状態)、かごパレットの歪み等が原因で嵌合が不十分である場合などに、荷姿の異常状態として特徴ベクトルを抽出してよい。
【0034】
作業状態推定部30は、特徴ベクトル取得部31で取得された特徴ベクトルv(t)に基づいて作業状態を推定することができる。作業状態推定部30は、現在のフォークリフト1が「作業状態1」~「作業状態14」(
図3(a)参照)のどの状態であるかに関わらず、入力された特徴ベクトルv(t)の結果のみに基づいて、荷姿の異常状態を判定してもよい。例えば、作業状態推定部30は、入力された特徴ベクトルv(t)の中に、
図5の領域E1,E2,E3のような部分が存在している場合は、フォークリフト1が「作業状態1」~「作業状態14」のどの作業状態であるかに関わらず、「作業状態15」の荷姿の異常状態であると推定してよい。この場合は、特徴ベクトル取得部31が画像から領域E1、E2、E3のような部分を抽出した時点で、荷姿の異常状態として取得し、作業状態推定部30に対しては、「荷姿が異常状態である」ことを示す判定結果を撮像情報として出力してもよい。作業状態推定部30は、特徴ベクトル取得部31からの判定結果を示す撮像情報に基づいて、荷姿が異常状態であることを判定してよい。
【0035】
また、作業状態推定部30は、現在のフォークリフト1が「作業状態1」~「作業状態14」(
図3(a)参照)のどの状態であるかと、入力された特徴ベクトルv(t)とを両方考慮して、荷姿の異常状態を判定してもよい。例えば、作業状態推定部30は、入力された特徴ベクトルv(t)の中に、
図5の領域E1,E2,E3のような部分が存在していても、フォークリフト1が「作業状態1」~「作業状態14」のどの作業状態であるかによっては、荷姿の状態異常と判定しなくてもよい。例えば、画像中に領域E1,E2,E3のような部分が存在していても、フォークリフト1が、パレット40A~40Eとは異なるパレット40をリフトしようとしている場合は、荷姿が異常状態であると判定しなくともよい。また、パレット40Eに関し、荷物45Eが多少ずれていてもフォークリフト1での搬送を許容するが、他のパレット40と荷物45Eが衝突することは許容しない場合があってもよい。この場合、作業状態推定部30は、フォークリフト1の作業状態がパレット40Eをリフトする「作業状態5」であるときは、領域E3が抽出されても荷姿の異常状態とは判定せず、「作業状態5」であると推定する。一方、作業状態推定部30は、フォークリフト1の作業状態がパレット40Eの隣に他のパレットを積み付ける「作業状態12」であるときは、領域E3が抽出されたら、荷姿の異常状態と判定し、「作業状態15」であると推定する。
【0036】
図6(a)は、学習時における作業状態推定部30の様子を示すブロック図である。
図6(a)に示すように、作業状態推定部30は、フォークリフト1に対する操作状態に関する操作情報の入力と、画像の特徴ベクトルの入力と、作業状態の正解データの入力により、機械学習を行う。
図6(a)に示す機械学習の処理は、実際のフォークリフト1の遠隔操作が行われる前段階で、予め行われてよい。操作情報、特徴ベクトル及び正解データとして、予め準備されたデータが用いられる。例えば、実験室などで実際にフォークリフト1の運転を行い、ある時刻における操作情報及び画像の特徴ベクトルと、その時刻における実際の作業状態とを紐づけた状態で、データの取得を行う。このときの実際の作業状態が正解データとなる。
【0037】
作業状態推定部30は、機械学習モデルM1としてLSTM(Long Short Term Memory)を用いてよい。このとき、作業状態推定部30は、学習データとして、時系列ごとに取得された操作情報、及び時系列ごとに取得された画像の特徴ベクトルによって機械学習を行ってよい。時系列ごとに取得された操作情報、及び特徴ベクトルは、例えば、「時刻0」から「時刻T」までの所定間隔で取得された「操作情報u(t)、特徴ベクトルv(t)及び正解作業状態y(t)」のデータ群によって構成される。作業状態推定部30は、機械学習モデルM1として、時系列ごとに取得された操作情報に対応することができるRNN(Recurrent Neural Network:再帰型ニューラルネットワーク)を用いてもよい。その他、作業状態推定部30が取得できれば、機械学習モデルM1はCNNに限定されない。
【0038】
図6(b)は、学習時における特徴ベクトル取得部31の様子を示すブロック図である。
図6(b)に示すように、特徴ベクトル取得部31は、フォークリフト1の荷役対象となる荷物の画像の入力と、当該画像に対応する正解作業状態の入力により、作業状態推定部30へ特徴ベクトルを出力する。そして、作業状態推定部30は、当該特徴ベクトルに基づいて推定作業状態を出力する。特徴ベクトル取得部31は、正解作業状態(y(t))と、推定作業状態(y`(t))との誤差が小さくなるように機械学習モデルM2,M3を構築する。なお、作業状態推定部30の機械学習モデルM3は、学習時のみ使用されるモデルである。学習が完了したら、特徴ベクトル取得部31は、機械学習モデルM2を取り出し、作業状態取得部23で使用する。
図6(b)に示す機械学習の処理は、実際のフォークリフト1の遠隔操作が行われる前段階で、予め行われてよい。画像、及び正解データとして、予め準備されたデータが用いられる。例えば、異常状態と判定し得る荷姿の画像を準備すると共に、当該画像の中で異常状態の特徴を分かりやすく示している箇所(例えば、
図5の領域E1,E2,E3など)の特徴ベクトルを抽出する。このように抽出した特徴ベクトルを正解特徴ベクトルとする。
【0039】
特徴ベクトル取得部31は、機械学習モデルM2としてCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)を用いてよい。ここで、特徴ベクトル取得部31は、学習データとして、時系列ごとに取得された画像によって機械学習を行ってよいし、時系列となっていない画像によって機械学習を行ってもよい。例えば、荷姿の異常状態や正常状態の特徴を分かりやすく示している画像を多数準備することで学習を行ってもよい。例えば、学習データは、「パターン0」から「パターンN」までの複数の「画像I(i)及び正解特徴ベクトルz(i)」のデータ群によって構成される。その他、特徴ベクトル取得部31が取得できれば、機械学習モデルM2はCNNに限定されない。
【0040】
次に、
図7を参照して、制御装置20による運転支援方法を示す処理内容の一例について説明する。
図7に示す処理は、表示部17に運転支援映像が表示されており、且つ、オペレータが遠隔操作でフォークリフト1を操作しているときに行われる。
図7に示すように、作業状態取得部23は、操作情報取得部18を介してオペレータによる操作情報を取得すると共に、表示制御部22を介して荷姿の画像を取得する(ステップS10)。次に、特徴ベクトル取得部は、ステップS10で取得した画像に基づいて、特徴ベクトルを取得する(ステップS20)。次に、作業状態推定部30は、ステップS10で取得した操作情報、及びステップS20で取得した特徴ベクトルに基づいて、作業状態を推定する(ステップS30)。次に、視点情報取得部26は、ステップS30で推定した作業状態に基づいて、視点情報を取得する(ステップS40)。次に、表示制御部22は、ステップS40で取得された視点情報に基づいて、表示部17で表示する運転支援映像を選択する(ステップS50)。
【0041】
次に、本実施形態に係る制御装置20の作用・効果について説明する。
【0042】
制御装置20は、フォークリフト1の作業状態を推定する作業状態推定部30を有する。ここで、作業状態推定部30は、フォークリフト1に対する操作状態に関する操作情報の入力のみならず、及び荷物を撮影した撮影情報を入力される。作業状態推定部30は、フォークリフト1の動作のみならず、撮像情報に基づいて荷物の荷姿が正常であるか、異常であるかを判定することが可能となる。従って、作業状態推定部30は、荷姿が異常状態であるか否かの判定を行うと共に作業状態を出力する。これにより、作業状態推定部30は、フォークリフト1自身の状態のみならず、荷姿の異常状態まで含んで作業状態を推定することができる。以上より、フォークリフト1の作業状態をより適切に推定することができる。
【0043】
作業状態推定部30は、機械学習によって設定した作業状態推定モデルに基づいて作業状態を推定可能であり、操作情報及び撮影情報に基づいて、作業状態を出力してよい。作業状態推定モデルは、過去の実際のデータに基づいて機械学習によって設定されたものであるため、荷姿の異常状態も含め、精度よく作業状態を推定することを可能とする。
【0044】
操作情報は、アクセル操作量、タイヤ角、リフト操作量、リーチ操作量、ティルト操作量の少なくともいずれかを含んでよい。これらのパラメータは、フォークリフト1において作業者の意図を反映するパラメータである。作業状態推定部30は、操作情報として、このようなパラメータを用いることで、適切な作業状態の推定を行う事ができる。
【0045】
制御装置20は、荷物を撮影した画像から機械学習を用いて特徴ベクトルを取得する特徴ベクトル取得部31を更に有し、特徴ベクトル取得部31は、機械学習モデルとしてCNNを用い、作業状態推定部30は、特徴ベクトル取得部31で取得された特徴ベクトルに基づいて作業状態を推定してよい。特徴ベクトル取得部31は、撮影情報を特徴ベクトルで示すことにより、作業状態推定部30へ出力する情報量を低減することができる。また、特徴ベクトル取得部31は、機械学習モデルとしてCNNを用いることで、過去の実績に基づいて荷姿の異常状態を好適に反映した特徴ベクトルを取得することができる。
【0046】
以上、本発明の好適な実施形態について幾つか説明してきたが、本発明は、上記実施形態に限定されるものではない。
【0047】
上述の実施形態では、運転支援システムは、遠隔操作時のオペレータの作業を支援していたが、産業車両を有人操作するときに支援を行ってもよい。また、オペレータが産業車両のシミュレーション運転を行うときの支援を行ってもよい。
【0048】
産業車両は、フォークリフトに限定されず、トーイングトラクター、スキッドステアローダーなどが採用されてもよい。
【0049】
上述の実施形態では、作業状態推定部30及び特徴ベクトル取得部31が機械学習を用いて処理をおこなっていたが、必ずしも機械学習を用いなくともよい。
【0050】
[形態1]
産業車両の作業状態を推定する制御装置であって、
前記産業車両の前記作業状態を推定する作業状態推定部を有し、
前記作業状態推定部は、前記産業車両に対する操作状態に関する操作情報の入力、及び荷物を撮影した撮影情報を入力され、前記荷物の荷姿が異常状態であるか否かの判定を行うと共に前記作業状態を出力する、産業車両の制御装置。
[形態2]
前記作業状態推定部は、機械学習によって設定した作業状態推定モデルに基づいて前記作業状態を推定可能であり、前記操作情報及び前記撮影情報に基づいて、前記作業状態を出力する、形態1に記載の産業車両の制御装置。
[形態3]
前記操作情報は、アクセル操作量、タイヤ角、リフト操作量、リーチ操作量、ティルト操作量の少なくともいずれかを含む、形態1又は2に記載の産業車両の制御装置。
[形態4]
前記荷物を撮影した画像から機械学習を用いて前記画像の特徴ベクトルを取得する特徴ベクトル取得部を更に有し、
前記特徴ベクトル取得部は、機械学習モデルとしてCNNを用い、
前記作業状態推定部は、前記特徴ベクトル取得部で取得された前記特徴ベクトルに基づいて前記作業状態を推定する、形態1~3の何れか一項に記載の産業車両の制御装置。
[形態5]
形態1~4の何れか一項に記載の産業車両の制御装置を有する産業車両の制御システム。
[形態6]
形態1~4の何れか一項に記載の産業車両の制御装置に用いられる産業車両の制御装置のプログラム。
【符号の説明】
【0051】
1…フォークリフト、20…制御装置、30…作業状態推定部、31…特徴ベクトル取得部、100…運転支援システム(産業車両の制御システム)。