IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7513203車両制御装置、制御方法、及びプログラム
<>
  • 特許-車両制御装置、制御方法、及びプログラム 図1
  • 特許-車両制御装置、制御方法、及びプログラム 図2
  • 特許-車両制御装置、制御方法、及びプログラム 図3
  • 特許-車両制御装置、制御方法、及びプログラム 図4
  • 特許-車両制御装置、制御方法、及びプログラム 図5
  • 特許-車両制御装置、制御方法、及びプログラム 図6
  • 特許-車両制御装置、制御方法、及びプログラム 図7
  • 特許-車両制御装置、制御方法、及びプログラム 図8
  • 特許-車両制御装置、制御方法、及びプログラム 図9
  • 特許-車両制御装置、制御方法、及びプログラム 図10
  • 特許-車両制御装置、制御方法、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】車両制御装置、制御方法、及びプログラム
(51)【国際特許分類】
   B66F 9/24 20060101AFI20240702BHJP
【FI】
B66F9/24 L
B66F9/24 A
【請求項の数】 8
(21)【出願番号】P 2023517000
(86)(22)【出願日】2021-04-30
(86)【国際出願番号】 JP2021017191
(87)【国際公開番号】W WO2022230172
(87)【国際公開日】2022-11-03
【審査請求日】2023-10-25
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】甲斐 夏季
【審査官】加藤 三慶
(56)【参考文献】
【文献】特開2021-028796(JP,A)
【文献】特開2001-129777(JP,A)
【文献】特開2017-019596(JP,A)
【文献】特開2020-040769(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
フォークリフトに備えられたカメラから画像を取得するカメラ画像取得部と、
前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識する画像認識部と、
前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御する移動制御部と、を備え
前記カメラ画像取得部は、
距離を測定可能なカメラを用いて前記フォークリフトから前記挿入口までの距離を推定し、
前記移動制御部は、
前記フォークリフトから前記挿入口までの距離をD(Dは正の実数)とし、前記挿入口を基準として、前記挿入口と正対する方向と前記フォークリフトが存在する方向との角度をRとし、DcosRの値が閾値を上回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上に最短距離で移動させるように前記フォークリフトの移動を制御し、前記DcosRの値が閾値を下回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上であって、前記挿入口から前記距離D離れた位置に移動させるように前記フォークリフトの移動を制御する、車両制御装置。
【請求項2】
前記画像認識部は、
前記パレット及び前記挿入口の形状を学習した学習モデルを用いて、前記パレットを囲む第1の矩形と、前記挿入口を囲む第2の矩形とを生成する、請求項1に記載の車両制御装置。
【請求項3】
前記移動制御部は、
前記第1の矩形の幅の第1の長さと、前記第2の矩形の幅の第2の長さとの比較結果に基づいて、前記挿入口の位置を基準とする前記フォークリフトが存在する方向を特定する、請求項2に記載の車両制御装置。
【請求項4】
前記移動制御部は、
前記第1の長さと前記第2の長さとの差が閾値を下回る場合、前記第1の矩形を前記画像の中心に近づけるように前記フォークリフトの移動を制御する、請求項3に記載の車両制御装置。
【請求項5】
前記移動制御部は、
前記第1の長さと前記第2の長さとの差が閾値を上回る場合、前記第1の長さと前記第2の長さの差が閾値を下回る位置へ前記フォークリフトを移動させるように前記フォークリフトの移動を制御する、請求項3又は4に記載の車両制御装置。
【請求項6】
前記移動制御部は、
前記フォークリフトから前記挿入口までの距離に応じて前記フォークリフトの速度を制御する、請求項に記載の車両制御装置。
【請求項7】
フォークリフトに備えられたカメラから画像を取得し、
前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識し、
距離を測定可能なカメラを用いて前記フォークリフトから前記挿入口までの距離を推定し、
前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、
前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御し、
前記フォークリフトの移動を制御する際に、
前記フォークリフトから前記挿入口までの距離をD(Dは正の実数)とし、前記挿入口を基準として、前記挿入口と正対する方向と前記フォークリフトが存在する方向との角度をRとし、DcosRの値が閾値を上回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上に最短距離で移動させるように前記フォークリフトの移動を制御し、前記DcosRの値が閾値を下回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上であって、前記挿入口から前記距離D離れた位置に移動させるように前記フォークリフトの移動を制御する、車両制御装置において実行される制御方法。
【請求項8】
フォークリフトに備えられたカメラから画像を取得し、
前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識し、
距離を測定可能なカメラを用いて前記フォークリフトから前記挿入口までの距離を推定し、
前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、
前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御し、
前記フォークリフトの移動を制御する際に、
前記フォークリフトから前記挿入口までの距離をD(Dは正の実数)とし、前記挿入口を基準として、前記挿入口と正対する方向と前記フォークリフトが存在する方向との角度をRとし、DcosRの値が閾値を上回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上に最短距離で移動させるように前記フォークリフトの移動を制御し、前記DcosRの値が閾値を下回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上であって、前記挿入口から前記距離D離れた位置に移動させるように前記フォークリフトの移動を制御することをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は車両制御装置、制御方法、プログラム、及びそのプログラムが格納された非一時的なコンピュータ可読媒体に関する。
【背景技術】
【0002】
近年、物流分野における労働力不足の解消を目的として、フォークリフトを人が操作するのではなく、人の操作を必要とせずに自律的にフォークリフトを動作させる技術が検討されている。このように、自律的に動作するフォークリフトを物流分野に用いる場合、フォークリフトのフォークをパレットに設けられたフォークポケットに正確に挿入するように動作させる必要がある。
【0003】
特許文献1には、フォークの先端に設置されたテレビカメラを用いてパレットの位置を3次元的に捕捉し、現在位置からパレットの位置までのアプローチ軌跡を生成する無人フォークリフトの構成が開示されている。無人フォークリフトは、テレビカメラを用いてパレットを撮像し、画像処理装置を用いて画像内に映るパレットの3次元位置を演算する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平1-241604号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、画像を用いて演算されたパレットの3次元位置は、画像の品質等に応じて推定精度に差異が生じる。例えば、遠く離れた位置から撮像された画像には、パレットが不鮮明に映る可能性がある。画像内のパレットが不鮮明である場合、不鮮明に映るパレットの正確な3次元位置を演算することは困難であるため、無人フォークリフトを正確に自律走行させることができなくなるという問題がある。
【0006】
本開示の目的の一つは、画像を用いた車両の自律走行を正確に制御することができる車両制御装置、制御方法、プログラム、及びそのプログラムが格納された非一時的なコンピュータ可読媒体を提供することにある。
【課題を解決するための手段】
【0007】
本開示の第1の態様にかかる車両制御装置は、フォークリフトに備えられたカメラから画像を取得するカメラ画像取得部と、前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識する画像認識部と、前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御する移動制御部と、を備える。
【0008】
本開示の第2の態様にかかる制御方法は、フォークリフトに備えられたカメラから画像を取得し、前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識し、前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御する。
【0009】
本開示の第3の態様にかかるプログラムは、フォークリフトに備えられたカメラから画像を取得し、前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識し、前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御することをコンピュータに実行させる。
【発明の効果】
【0010】
本開示により、画像を用いた車両の自律走行を正確に制御することができる車両制御装置、制御方法、プログラム、及びそのプログラムが格納された非一時的なコンピュータ可読媒体を提供することができる。
【図面の簡単な説明】
【0011】
図1】実施の形態1にかかる車両制御装置の構成図である。
図2】実施の形態2にかかる車両制御装置の構成図である。
図3】実施の形態2にかかる画像認識部が認識したパレット及びフォークポケットを説明する図である。
図4】実施の形態2にかかる画像認識部が認識したパレット及びフォークポケットを説明する図である。
図5】実施の形態2にかかる走行コントロールレバー及びステアリングの制御命令を説明する図である。
図6】実施の形態2にかかるフォークリフトがフォークポケットの正面方向に存在する場合の制御命令を説明する図である。
図7】実施の形態2にかかるフォークリフトがフォークポケットの斜め方向に存在する場合の制御命令を説明する図である。
図8】実施の形態2にかかるフォークリフトがフォークポケットの斜め方向に存在する場合の制御命令を説明する図である。
図9】実施の形態2にかかるフォークリフトの構成例を示す図である。
図10】実施の形態2にかかる車両制御装置におけるフォークリフトの制御処理の流れを示す図である。
図11】それぞれの実施の形態にかかる車両制御装置の構成図である。
【発明を実施するための形態】
【0012】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。はじめに図1を用いて実施の形態1にかかる車両制御装置10の構成例について説明する。車両制御装置10は、プロセッサがメモリに格納されたプログラムを実行することによって動作するソフトウェアもしくはモジュールであってもよい。車両制御装置10は、制御対象の車両に搭載されてもよく、車両制御装置10には搭載されず、ネットワークを介して制御対象の車両へ制御命令を送信してもよい。
【0013】
車両制御装置10は、画像取得部11、画像認識部12、及び移動制御部13を有している。画像取得部11、画像認識部12、及び移動制御部13は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、画像取得部11、画像認識部12、及び移動制御部13は、回路もしくはチップ等のハードウェアであってもよい。
【0014】
画像取得部11は、フォークリフトに備えられたカメラから画像を取得する。フォークリフトは、車両制御装置10による制御対象の車両である。フォークリフトは、車両制御装置10による制御に従って自律的に走行する。カメラは、フォークリフトの周囲を撮像し、画像を生成する。画像は、画像データと言い換えられてもよい。例えば、カメラは、フォークリフトの進行方向に存在する対象物を撮影することが可能な位置に設置されてもよい。フォークリフトは、パレットの挿入口にフォークを挿入し、荷物の運搬を行う。
【0015】
画像取得部11は、任意のタイミングにカメラから画像を取得してもよく、定期的にカメラから画像を取得してもよい。画像は、例えば、RGB(Red Green Blue)画像であってもよく、RGB-D(RGB and Depth)画像であってもよい。RGB画像は、カラー画像である。RGB画像は、例えば、RGBカメラにおいて生成される。RGB-D画像は、カラー画像であるRGB画像及び深さ画像を含む画像である。RGB-D画像は、例えば、RGB-Dカメラにおいて生成されてもよい。RGB-Dカメラは、カメラから対象物までの距離を検知する距離センサを搭載したデバイスである。
【0016】
画像認識部12は、画像に表示されるパレット及びパレットに設けられた挿入口を認識する。フォークリフトは、パレットの位置に向かって移動する。そのため、フォークリフトに備えられたカメラが撮影した画像には、パレット及びパレットに設けられた挿入口が含まれる。画像認識部12は、例えば、パレット及び挿入口の特徴量を抽出し、特徴量に基づいてパレット及び挿入口を認識してもよい。画像認識部12は、例えば、機械学習(Machine Learning)もしくは深層学習(Deep Learning)を実行することによって得られた、パレット及び挿入口を認識するための学習モデルを用いて、画像に含まれるパレット及び挿入口を認識してもよい。
【0017】
移動制御部13は、画像内におけるパレットの大きさに対する挿入口の相対的な大きさに応じて、挿入口の位置を基準とするフォークリフトが存在する方向を特定する。さらに、移動制御部13は、フォークリフトが存在する方向を特定すると、フォークリフトのフォークを挿入口に挿入可能な位置へ移動させるようにフォークリフトの移動を制御する。
【0018】
例えば、移動制御部13は、パレットの大きさに対する挿入口の相対的な大きさが大きくなるにしたがって、フォークリフトが挿入口の正面方向に近づいた位置に存在すると判定してもよい。また、移動制御部13は、パレットの大きさに対する挿入口の相対的な大きさが小さくなるにしたがって、フォークリフトが挿入口の正面方向からずれた位置に存在すると判定してもよい。
【0019】
フォークリフトのフォークは、地面と水平方向に延びた棒状もしくは板状の形状を有しており、フォークリフトの正面方向に設置されていてもよい。フォークリフトの正面方向は、例えば、フォークリフトの進行方向であってもよい。また、パレットの挿入口は、フォークを挿入可能なように、パレット内にフォークと同等もしくはフォークよりも長い深さの空間を有している。そのため、フォークを挿入口に挿入可能な位置とは、例えば、フォークリフトが挿入口に正対する位置であってもよい。
【0020】
以上説明したように、車両制御装置10は、画像内に含まれるパレットの大きさに対する挿入口の相対的な大きさを用いて、挿入口を基準とするフォークリフトが存在する方向を特定する。これにより、車両制御装置10は、画像の品質等に応じて推定精度が変化するパレット及び挿入口の3次元位置を用いることなく、画像内に含まれる2次元の対象物の大きさを用いて、フォークリフトが存在する方向を特定することができる。その結果、車両制御装置10は、フォークリフトが存在する方向を特定する精度を安定させることが可能となり、フォークリフトの自律走行を正確に制御することができる。
【0021】
(実施の形態2)
続いて、図2を用いて実施の形態2にかかる車両制御装置20の構成例について説明する。車両制御装置20は、図1の車両制御装置10に相当する。車両制御装置20は、フォークリフトに搭載され、フォークリフトの移動を制御する。
【0022】
車両制御装置20は、操作部21、画像認識部22、移動制御部23、及び学習モデル管理部24、を有している。操作部21、画像認識部22、移動制御部23、及び学習モデル管理部24は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、操作部21、画像認識部22、移動制御部23、及び学習モデル管理部24は、回路もしくはチップ等のハードウェアであってもよい。センサ25及びRGB-Dカメラ26は、車両制御装置20内に搭載されていてもよく、ケーブルもしくは無線通信回線を介して車両制御装置20と接続されてもよい。
【0023】
RGB-Dカメラ26は、例えば、フォークリフトの進行方向の風景もしくは進行方向に存在する対象物等を撮影する。また、RGB-Dカメラ26は、RGB画像とともに、対象物までの距離を示す深さ画像(デプス画像)も生成する。RGB-Dカメラ26は、生成したRGB画像を画像認識部22へ出力し、深さ画像を移動制御部23へ出力する。
【0024】
学習モデル管理部24は、パレット及びパレットに設けられたフォークポケットの形状を学習した学習モデルを管理する。フォークポケットは、パレットに設けられた挿入口に相当する。学習モデルは、例えば、深層学習を行うことによって作成されてもよい。学習モデルの作成には、具体的には、CNN(Convolutional Neural Network)が用いられてもよい。学習モデルは、車両制御装置20とは異なるコンピュータ装置を用いて作成されてもよく、車両制御装置20において作成されてもよい。例えば、車両制御装置20がフォークリフトに搭載される前に、車両制御装置20とは異なるコンピュータ装置において、様々なパレット及びフォークポケットの形状を学習した学習モデルが生成されてもよい。さらに、フォークリフトを用いて荷物の運搬を行う環境において、車両制御装置20は、事前に生成された学習モデルを用いて、実際に使用されるパレット及びフォークポケットの形状をさらに学習することにより、パレット及びフォークポケットの認識精度を向上させてもよい。つまり、車両制御装置20は、事前に生成された学習モデルを、フォークリフトを実際に走行させる環境に適用させるように更新してもよい。
【0025】
画像認識部22は、学習モデル管理部24において管理されている学習モデルを用いて、RGB-Dカメラ26から受け取った画像に含まれるパレット及びフォークポケットを認識する。画像認識部22は、例えば、パレットを含む領域及びフォークポケットを含む領域を矩形にて示すように、パレット及びフォークポケットを認識する。
【0026】
ここで、図3を用いて画像認識部22が認識したパレット及びフォークポケットを説明する。図3の上図には、パレット30、フォークポケット31、及びフォークポケット32が示されている。図3においては、パレット30が、二つのフォークポケットを有する構成例を示しているが、フォークポケットの数は二つに限定されない。フォークポケットは、パレット30内にフォークが挿入される空間を形成している。
【0027】
画像認識部22は、RGB-Dカメラ26から、図3の上図に示されるパレット30、フォークポケット31、及びフォークポケット32を含む画像を受け取る。図3の上図に示される画像は、フォークポケット31及びフォークポケット32の正面方向から撮影された画像に含まれるパレット30、フォークポケット31、及びフォークポケット32を示している。
【0028】
画像認識部22は、RGB-Dカメラ26から受け取った画像において、図3の下図に示されるように、学習モデルを用いてパレット30、フォークポケット31、及びフォークポケット32を含む領域を、矩形として認識する。即ち、パレット30は、矩形Pとして認識される。フォークポケット31は、矩形FP1として認識される。フォークポケット32は、矩形FP2として認識される。さらに、画像認識部22は、当該画像におけるそれぞれの矩形について、4つの頂点のうち少なくとも一つの部分画像内の座標(座標値)と、矩形の高さ、及び矩形の幅とを特定する。より具体的には、RGB-Dカメラ26から受け取った画像内の位置は、当該画像に対応する2次元座標(x-y座標)系として示される。例えば、パレット30を示す矩形Pについては、左上の頂点の座標(Px, Py)、矩形Pの高さPh、及び矩形Pの幅Pwが特定される。また、フォークポケット31についても、同様に、左上の頂点の座標(FP1x, FP1y)、高さFP1h、及び幅FP1wが特定される。フォークポケット32についても、同様に、左上の頂点の座標(FP2x, FP2y)、高さFP2h、及び幅FP2wが特定される。
【0029】
図2に戻り、画像認識部22は、パレット30、フォークポケット31、及びフォークポケット32について特定した情報を移動制御部23へ出力する。
【0030】
移動制御部23は、画像認識部22から受け取った情報を用いて、フォークポケット31及びフォークポケット32の位置を基準とするフォークリフトが存在する方向を特定する。フォークポケット31及びフォークポケット32の位置を基準とするとは、例えば、フォークポケット31及びフォークポケット32を含む面の中心を基準とすることであってもよい。
【0031】
具体的には、移動制御部23は、以下の式1を満たすか否かに応じて、フォークリフトが存在する方向を特定してもよい。
【0032】
Pw - (FP1w + FP2w) < A ・・・(式1)
【0033】
Aは正の実数であり、閾値として用いられる。移動制御部23は、Pw、FP1w、及びFP2wが、式1をみたす場合、フォークリフトがフォークポケット31及びフォークポケット32の正面方向に存在すると判定する。さらに、移動制御部23は、Pw、FP1w、及びFP2wが、式1をみたさない場合、フォークリフトがフォークポケット31及びフォークポケット32の正面方向からずれた位置に存在すると判定する。フォークポケット31及びフォークポケット32の正面方向からずれた位置とは、パレット30のフォークポケット31及びフォークポケット32を正面とした場合の、斜め方向の位置と言い換えられてもよい。
【0034】
図3はフォークリフトがフォークポケット31及びフォークポケット32の正面方向から撮影された画像内に含まれるパレット30を示している。フォークポケット31及びフォークポケット32の正面方向からパレット30を撮影した場合、パレット30の幅Pwと、フォークポケット31及びフォークポケット32の幅FP1w+FP2wとの差がAよりも小さい。言い換えると、パレット30の幅Pwに対するフォークポケット31及びフォークポケット32の幅FP1w+FP2wの相対的な大きさは大きいといえる。
【0035】
一方、図4はフォークリフトがパレット30の斜めの方向から撮影された画像内に含まれるパレット30を示している。パレット30の斜めの方向からフォークポケット31及びフォークポケット32が撮影された場合、正面方向から撮影された場合と比較して、パレット30の幅Pwと、フォークポケット31及びフォークポケット32の幅FP1w+FP2wとの差が大きくなる。つまり、パレット30の幅Pwと、フォークポケット31及びフォークポケット32の幅FP1w+FP2wとの差がAよりも大きくなる。言い換えると、パレット30の幅Pwに対するフォークポケット31及びフォークポケット32の幅FP1w+FP2wの相対的な大きさは小さいといえる。
【0036】
移動制御部23は、式1ではなく以下の式2を満たすか否かに応じて、フォークリフトが存在する方向を特定してもよい。
【0037】
Pw < B(FP1w + FP2w) ・・・(式2)
Bは1以上の実数である。
【0038】
移動制御部23は、Pw、FP1w、及びFP2wが、式2をみたす場合、フォークリフトがフォークポケット31及びフォークポケット32の正面方向に存在すると判定してもよい。さらに、移動制御部23は、Pw、FP1w、及びFP2wが、式2をみたさない場合、フォークリフトがフォークポケット31及びフォークポケット32の正面方向からずれた位置に存在すると判定してもよい。
【0039】
移動制御部23は、フォークリフトが存在する方向を特定すると、フォークリフトに対する制御命令を生成する。ここでは、主に、フォークリフトが備える走行コントロールレバー及びステアリングに対して、操作部21を介して実行される制御命令について説明する。走行コントロールレバーは、フォークリフトを前進もしくは後進させるために操作される。ステアリングは、フォークリフトを旋回させるために操作される。
【0040】
例えば、図5に示されるように、走行コントロールレバー及びステアリングの制御命令は、数値を指定することであってもよい。例えば、走行コントロールレバーに対する制御命令は、-400から+450までの間の数値によって示される。走行コントロールレバーに対する制御命令として正の値が指定された場合、フォークリフトが前進し、負の値が指定された場合フォークリフトが後進する。また、正の値及び負の値の絶対値が大きくなるほど、フォークリフトの移動が速くなり、絶対値が小さくなるほどフォークリフトの移動が遅くなる。
【0041】
また、例えば、ステアリングに対する制御命令は、-8,800から+8,800までの間の数値によって示される。ステアリングに対する制御命令として正の値が指定された場合、フォークリフトが右旋回し、負の値が指定された場合フォークリフトが左旋回する。また、正の値及び負の値の絶対値が大きくなるほど、フォークリフトの旋回角度もしくは回転角度が大きくなり、絶対値が小さくなるほど旋回角度もしくは回転角度が小さくなる。
【0042】
ここで、図6を用いて、フォークリフトがフォークポケット31及びフォークポケット32の正面方向に存在する場合の制御命令について説明する。
【0043】
図6のGは、RGB-Dカメラ26において撮影されたRGB画像を示している。図6には、RGB画像内における、画像認識部22において認識されたパレット30、フォークポケット31及びフォークポケット32の矩形Pが示されている。座標(Gcx, Gcy)は、RGB画像Gにおける中心座標を示している。また、座標(Pcx, Pcy)は、パレット30の矩形Pにおける中心座標を示している。例えば、x座標Pcxは、Px+Pw×1/2として求められる。「/」は割り算を示している。Pxは、パレット30の矩形の左上の頂点のx座標であり、Pwは、パレット30の矩形の幅である。
【0044】
移動制御部23は、パレット30における中心座標のx座標が、画像Gにおける中心座標のx座標に近づくようにステアリング及び走行コントロールレバーを制御する。具体的には、移動制御部23は、x座標Pcxがx座標Gcxとなるように、双曲線関数tanhを用いて、制御命令を生成する。具体的には、移動制御部23は、下記の式3を用いてステアリングに対する制御命令Sを決定する。
【0045】
S = Smax×tanh(Pcx-Gcx)・・・(式3)
Smaxは、ステアリング最大値である。
【0046】
式3は、パレット30の中心座標のx座標と画像Gの中心座標のx座標が離れるにつれて、旋回角度を大きくすることを示している。
【0047】
さらに、移動制御部23は、フォークリフトからフォークポケット31及びフォークポケット32までの距離Dを以下の式4に適用して走行コントロールレバーに対する制御命令Cを決定する。距離Dは、RGB-Dカメラ26から移動制御部23へ出力される深さ画像において定められる。
【0048】
C = Cmin(Cmax×D < Cmin) or C = Cmax×D(otherwise)・・・(式4)
Cminは、走行コントロールレバーの最小値である。
Cmaxは、走行コントロールレバーの最大値である。
Dは、0以上1以下の実数である。例えば、100メートルを、D=0.1(キロメートル)としてもよい。
【0049】
式4は、フォークリフトがフォークポケット31及びフォークポケット32に近づくにつれて速度を遅くし、フォークリフトがフォークポケット31及びフォークポケット32から離れるにつれて速度を早くすることを示している。
【0050】
続いて、図7及び図8を用いて、フォークリフトがフォークポケット31及びフォークポケット32の斜め方向に存在する場合の制御命令について説明する。図7は、矩形FP1及びFP2と、矩形に含まれるフォークポケット31及びフォークポケット32とを、XY平面上の領域として示している。
【0051】
座標(FP1x, FP1y)及び座標(FP2x, FP2y)は、画像認識部22において特定された値である。FP1_pは、フォークポケット31の左上の頂点を示している。FP1_pの座標を、FP1_p(FP1_px, FP1_py)とする。FP2_pは、フォークポケット32の右上の頂点を示している。FP2_pの座標を、FP2_p(FP2_px, FP2_py)とする。Hは、フォークポケット31及びフォークポケット32の高さを示している。角度Rは、パレット30の傾きを示している。パレット30の傾きは、フォークポケット31及びフォークポケット32の正面方向に対する、フォークリフトが存在する方向のずれを示す。フォークポケット31及びフォークポケット32の正面方向からパレット30を撮影した場合、フォークポケット31及びフォークポケット32の底辺は、実質的に水平方向に延びる直線として画像に示される。これに対して、フォークポケット31及びフォークポケット32の斜め方向からパレット30を撮影した場合、フォークポケット31及びフォークポケット32の底辺が水平方向に対して、傾いた直線として画像に示される。角度Rが大きくなるにしたがって、フォークポケット31及びフォークポケット32の正面方向に対するフォークリフトが存在する方向のずれが大きくなる。
【0052】
まず、移動制御部23は、角度Rを推定する。ここで、矩形FP1と、矩形FP2との間の距離は実質的に0とし、矩形FP1と矩形FP2とは、図7に示すように接しているとする。この場合tanRは、以下の式5のように示される。
【0053】
tanR = (FP1_py - FP2_py)/(FP2_px - FP1_px)・・・(式5)
FP1_px = FP1x
FP1_py = FP1y + FP1h - H
FP2_px = FP2x + FP2w
FP2_py = FP2y
H = FP2y + FP2h - FP1y
【0054】
Hを算出する際に、フォークポケット32の左上の頂点のy座標は、FP1yと同一としている。
【0055】
つまり、tanRは、画像認識部22において特定された情報を用いて示すことが可能であり、さらに、R = arctanR(FP1_py - FP2_py)/(FP2_px - FP1_px)、と示される。
【0056】
続いて、図8は、上から見た際のパレット30とフォークリフト40との位置を示している。フォークポケット31及びフォークポケット32は、パレット30の内部に備えられており点線で示されている。点線L1は、フォークリフト40と、フォークポケット31及びフォークポケット32との距離Dを示している。また、点線L2は、フォークポケット31及びフォークポケット32の正面方向に延びる仮想的な線を示している。
【0057】
図8の角度Rは、フォークポケット31及びフォークポケット32の正面方向を基準として、フォークリフト40が存在する方向の角度を示している。角度Rは、フォークポケット31及びフォークポケット32の正面方向に対する、フォークリフトが存在する方向のずれを示しており、図7に示す角度Rと一致する。
【0058】
移動制御部23は、DcosRが閾値を上回るか否かに応じて、図8のroute 1の経路もしくはroute 2の経路を選択する。DcosRが閾値を上回る場合、フォークリフト40は、パレット30から十分に離れた位置に存在することを示す。そのため、移動制御部23は、route 1を選択し、フォークリフト40を、フォークポケット31及びフォークポケット32の正面へ最多距離で移動させる。例えば、移動制御部23は、フォークリフト40を(90-R)度回転させ、DsinR移動させる。フォークリフト40は、route 1の経路にてフォークポケット31及びフォークポケット32の正面方向に延びる仮想的な線上に達した場合に、パレット30と十分に離れているため、その場で旋回動作を行いパレット30へフォークを向けることが可能である。
【0059】
一方、DcosRが閾値を下回る場合、フォークリフト40は、パレット30と近い位置に存在することを示す。このような場合、フォークリフト40がroute 1の経路にて移動すると、フォークポケット31及びフォークポケット32の正面方向に延びる仮想的な線上において、フォークリフト40が旋回動作を行う際にフォークがパレット30に衝突する可能性がある。この場合、フォークリフト40は、フォークをフォークポケット31及びフォークポケット32へ挿入することができなくなる。そのため、移動制御部23は、route 2を選択する。例えば、移動制御部23は、(90-R/2)度回転させ、2Dcos(90-R/2)移動させる。フォークリフト40がroute 2で仮想的な線上へ到達した場合、その到達位置は、route 1において到達する仮想的な線上の位置よりも、パレット30から離れた位置となる。例えば、フォークリフト40がroute 2の経路にて仮想的な線上に達した位置は、フォークポケット31及びフォークポケット32から距離D離れた位置であってもよい。つまり、route 2は、route 1よりも回り込んだ経路にてフォークポケット31及びフォークポケット32の正面方向へ移動するための経路である。
【0060】
また、DcosRが閾値を下回る場合にフォークリフト40が回転する角度は(90-R/2)度に制限されず、例えば、(90-R)度よりも大きい角度としてもよい。
【0061】
フォークリフト40が、route 1もしくはroute 2の経路にて仮想的な線上に到達し、パレット30を撮影した場合、式1もしくは式2を満たすこととなる。つまり、フォークリフト40は、式1もしくは式2を満たさない位置から、式1もしくは式2を満たす位置へ移動し、その後に、フォークを挿入可能な位置へ移動する。
【0062】
移動制御部23は、回転量及び移動距離を、センサ25から受け取るセンサ情報を用いて制御してもよい。センサ25は、センサ情報としてフォークリフト40のギア回転量等を計測する。センサ25は、計測したセンサ情報を移動制御部23へ出力する。移動制御部23は、センサ情報を、ホイール回転量もしくはステアリング回転量等に変換して、フォークリフト40の回転量及び移動距離を制御する。フォークリフトがフォークポケット31及びフォークポケット32の斜め方向に存在する場合に移動制御部23が実行する回転動作及び移動動作は、切り返し動作と称されてもよい。
【0063】
移動制御部23は、フォークポケット31及びフォークポケット32へ近づいた場合に、例えば、パレット30に張り付けられた特定のマーカーを読み取ることができた場合にフォークリフト40を停止させてもよい。移動制御部23は、RGB-Dカメラ26が撮影した画像内に含まれる特定のマーカーを読み取る。移動制御部23は、フォークリフト40を停止させ、フォークをフォークポケット31及びフォークポケット32へ挿入する動作を行ってもよい。特定のマーカーは、例えば、QR(Quick Response)コードであってもよい。
【0064】
移動制御部23は、操作命令を操作部21へ出力する。操作部21は、受け取った操作命令に従って走行コントロールレバー及びステアリングを動作させる。
【0065】
フォークリフト40は、例えば、有人フォークリフトであり、車両制御装置20の操作命令に従って走行コントロールレバー及びステアリングが操作される。フォークリフト40は、例えば、図9に示すように、運転席41、走行コントロールレバー42、ステアリング43、及び車両制御装置20を有している。フォークリフト40は、車両制御装置20の操作命令に従って動作するアタッチメントが装着されることによって、アタッチメントを介して走行コントロールレバー及びステアリングが操作されてもよい。この場合、係るアタッチメントは、例えば車両制御装置20を含み、フォークリフト40に対して着脱(後付け)可能な構成を備えてもよい。
【0066】
より具体的には、図9に示すように、フォークリフト40はオペレータが操作するタイプのフォークリフトであって、車両制御装置20は、係るフォークリフトの走行コントロールレバー42及びステアリング43が設けられた運転席41近傍に装着されている。車両制御装置20は、フォークリフト40に対して着脱可能な、アタッチメント形式の構造を有しており、操作命令に従って動作する走行コントロールレバー駆動機構44とステアリング駆動機構45とを備える。車両制御装置20は、走行コントロールレバー駆動機構44を介して走行コントロールレバーを操作すると共に、ステアリング駆動機構45を介してステアリングを操作する。例えば、走行コントロールレバー駆動機構44は、車両制御装置20の操作命令に従って、走行コントロールレバー42をフォークリフト40の前進方向もしくは後進方向へ動作させる。走行コントロールレバー42は、走行コントロールレバー駆動機構44の動作と連動して動作する。ステアリング駆動機構45は、車両制御装置20の操作命令に従って、ステアリング43を右回りもしくは左回りに回転させる。例えば、ステアリング駆動機構45は、フォークリフト40の前進方向もしくは後進方向への移動、及び、水平移動を組み合わせることによって、ステアリング43を回転させる。ステアリング43は、ステアリング駆動機構45の動作と連動して動作する。
【0067】
続いて、図10を用いて実施の形態2にかかる車両制御装置20におけるフォークリフトの制御処理の流れについて説明する。
【0068】
はじめに、RGB-Dカメラ26は、フォークリフト40の周辺を撮影してRGB画像及び深さ画像を生成する(S11)。次に、画像認識部22は、RGB画像に含まれるパレット30、フォークポケット31、及びフォークポケット32を認識する(S12)。パレット30、フォークポケット31、及びフォークポケット32を認識するとは、画像内に、パレット30、フォークポケット31、及びフォークポケット32の領域を囲む矩形を生成することであってもよい。
【0069】
次に、移動制御部23は、画像認識部22における画像認識結果を用いて、フォークポケット31及びフォークポケット32の正面方向を基準とする、フォークリフトが存在する方向を特定する(S13)。
【0070】
移動制御部23は、フォークリフトがフォークポケット31及びフォークポケット32の正面方向に存在すると判定した場合、画像内のパレットの中心座標のx座標を、画像の中心座標のx座標へ合わせる動作を行うように制御命令を生成する(S15)。移動制御部23は、フォークリフトがフォークポケット31及びフォークポケット32の正面方向に存在しないと判定した場合、切り返し動作を行うよう制御命令を生成する(S16)。
【0071】
次に、移動制御部23は、フォークリフトがパレット30へ接近し、パレット30に張り付けられている特定のマーカーを読み取ることができた場合にフォークリフトを停止させる(S17)。
【0072】
以上説明したように、実施の形態2にかかる車両制御装置20は、フォークリフト及びパレット30の3次元座標を用いることなく、RGB-Dカメラ26が生成したRGB画像及びDepth画像を用いて、フォークリフトの自律走行を制御することができる。車両制御装置20は、画像の品質等に応じて推定精度が変動する3次元座標を用いずに自律走行を制御するため、正確に自律走行を制御することができる。
【0073】
また、フォークリフトの3次元座標等を演算する処理と比較して、画像内のパレット30等の認識処理及びフォークリフトの存在する位置を特定する処理は、処理負荷が低い。そのため、フォークリフトの3次元位置等を演算する処理を実行する場合と比較して、車両制御装置20の処理負荷を軽減させることができる。
【0074】
図11は、車両制御装置10及び車両制御装置20(以下、車両制御装置10等とする)の構成例を示すブロック図である。図11を参照すると、車両制御装置10等は、ネットワークインタフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワークインタフェース1201は、ネットワークノード(e.g., eNB、MME、P-GW)と通信するために使用されてもよい。ネットワークインタフェース1201は、例えば、IEEE 802.3 seriesに準拠したネットワークインタフェースカード(NIC)を含んでもよい。ここで、eNBはevolved Node B、MMEはMobility Management Entity、P-GWはPacket Data Network Gatewayを表す。IEEEは、Institute of Electrical and Electronics Engineersを表す。
【0075】
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された車両制御装置10等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU、又はCPUであってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
【0076】
メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/O(Input/Output)インタフェースを介してメモリ1203にアクセスしてもよい。
【0077】
図11の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明された車両制御装置10等の処理を行うことができる。
【0078】
図11を用いて説明したように、上述の実施形態における車両制御装置10等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1又は複数のプログラムを実行する。
【0079】
上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0080】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0081】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
フォークリフトに備えられたカメラから画像を取得するカメラ画像取得部と、
前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識する画像認識部と、
前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御する移動制御部と、を備える車両制御装置。
(付記2)
前記画像認識部は、
前記パレット及び前記挿入口の形状を学習した学習モデルを用いて、前記パレットを囲む第1の矩形と、前記挿入口を囲む第2の矩形とを生成する、付記1に記載の車両制御装置。
(付記3)
前記移動制御部は、
前記第1の矩形の幅の第1の長さと、前記第2の矩形の幅の第2の長さとの比較結果に基づいて、前記挿入口の位置を基準とする前記フォークリフトが存在する方向を特定する、付記2に記載の車両制御装置。
(付記4)
前記移動制御部は、
前記第1の長さと前記第2の長さとの差が閾値を下回る場合、前記第1の矩形を前記画像の中心に近づけるように前記フォークリフトの移動を制御する、付記3に記載の車両制御装置。
(付記5)
前記移動制御部は、
前記第1の長さと前記第2の長さとの差が閾値を上回る場合、前記第1の長さと前記第2の長さの差が閾値を下回る位置へ前記フォークリフトを移動させるように前記フォークリフトの移動を制御する、付記3又は4に記載の車両制御装置。
(付記6)
前記カメラ画像取得部は、
距離を測定可能なカメラを用いて前記フォークリフトから前記挿入口までの距離を推定する、付記1乃至5に記載の車両制御装置。
(付記7)
前記移動制御部は、
前記フォークリフトから前記挿入口までの距離に応じて前記フォークリフトの速度を制御する、付記6に記載の車両制御装置。
(付記8)
前記移動制御部は、
前記フォークリフトから前記挿入口までの距離をD(Dは正の実数)とし、前記挿入口を基準として、前記挿入口と正対する方向と前記フォークリフトが存在する方向との角度をRとし、DcosRの値が閾値を上回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上に最短距離で移動させるように前記フォークリフトの移動を制御し、前記DcosRの値が閾値を下回る場合、前記フォークリフトを前記挿入口と正対する方向の延長線上であって、前記挿入口から前記距離D離れた位置に移動させるように前記フォークリフトの移動を制御する、付記6又は7に記載の車両制御装置。
(付記9)
前記画像認識部は、
前記パレット及び前記挿入口の形状を学習した学習モデルを用いて前記パレット及び前記挿入口を認識する、付記1乃至8に記載の車両制御装置。
(付記10)
前記移動制御部は、
前記フォークリフトを前進もしくは後進させるコントロールレバーと、前記フォークリフトを旋回させるステアリングと、を制御する、付記1乃至9のいずれか1項に記載の車両制御装置。
(付記11)
前記車両制御装置は、
前記フォークリフトに対して着脱可能な構造であって、前記コントロールレバーおよび前記ステアリングを駆動可能な機構を含む、付記10に記載の車両制御装置。
(付記12)
フォークリフトに備えられたカメラから画像を取得し、
前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識し、
前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、
前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御する、車両制御装置において実行される制御方法。
(付記13)
フォークリフトに備えられたカメラから画像を取得し、
前記画像に表示されるパレット及び前記パレットに設けられた挿入口を認識し、
前記画像内における前記パレットの大きさに対する前記挿入口の相対的な大きさに応じて、前記挿入口を基準とする前記フォークリフトが存在する方向を特定し、
前記フォークリフトのフォークを前記挿入口に挿入可能な位置へ移動させるように前記フォークリフトの移動を制御することをコンピュータに実行させるプログラムが格納された非一時なコンピュータ可読媒体。
【符号の説明】
【0082】
10 車両制御装置
11 画像取得部
12 画像認識部
13 移動制御部
20 車両制御装置
21 操作部
22 画像認識部
23 移動制御部
24 学習モデル管理部
25 センサ
26 RGB-Dカメラ
30 パレット
31 フォークポケット
32 フォークポケット
40 フォークリフト
41 運転席
42 走行コントロールレバー
43 ステアリング
44 走行コントロールレバー駆動機構
45 ステアリング駆動機構
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11