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

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

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特開-監視装置 図1
  • 特開-監視装置 図2
  • 特開-監視装置 図3
  • 特開-監視装置 図4
  • 特開-監視装置 図5
  • 特開-監視装置 図6
  • 特開-監視装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022143405
(43)【公開日】2022-10-03
(54)【発明の名称】監視装置
(51)【国際特許分類】
   B66F 9/24 20060101AFI20220926BHJP
   G06T 7/00 20170101ALI20220926BHJP
   G08B 25/00 20060101ALI20220926BHJP
   G08B 21/02 20060101ALI20220926BHJP
   G08B 21/24 20060101ALI20220926BHJP
【FI】
B66F9/24 L
G06T7/00 350B
B66F9/24 A
G08B25/00 510M
G08B21/02
G08B21/24
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2021043889
(22)【出願日】2021-03-17
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】三田 達也
【テーマコード(参考)】
3F333
5C086
5C087
5L096
【Fターム(参考)】
3F333AA02
3F333FA11
3F333FA29
3F333FA36
3F333FD11
5C086AA22
5C086AA54
5C086BA19
5C086CA25
5C086CA28
5C086CB36
5C086DA14
5C086DA15
5C086DA33
5C086FA01
5C086FA11
5C087AA07
5C087AA31
5C087BB74
5C087DD41
5C087EE18
5C087GG02
5C087GG08
5C087GG10
5C087GG19
5C087GG59
5C087GG66
5L096AA06
5L096BA02
5L096BA04
5L096CA04
5L096DA02
5L096DA03
5L096FA02
5L096FA16
5L096FA35
5L096FA62
5L096FA66
5L096FA69
5L096GA04
5L096GA30
5L096GA34
5L096GA51
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
【課題】自動運転産業車両と手動運転産業車両との接触を抑制すること。
【解決手段】監視装置は、制御装置と、補助記憶装置と、を備える。補助記憶装置は、学習済みモデルを記憶している。制御装置は、カメラから画像データを取得する。制御装置は、学習済みモデルの出力結果から自動運転フォークリフトの周囲に存在する手動運転フォークリフトを認識する。制御装置は、自動運転フォークリフトの周囲に存在する手動運転フォークリフトに基づき、自動運転フォークリフトの速度上限値を設定する。制御装置は、自動運転フォークリフトの走行速度が速度上限値以上の場合、減速を行う。
【選択図】図4
【特許請求の範囲】
【請求項1】
自動運転産業車両の周囲を監視する監視装置であって、
カメラから画像データを取得する取得部と、
前記画像データが入力されることにより前記画像データに含まれる物体が手動運転産業車両か否かを示す指標を出力する学習済みモデルを記憶した記憶装置と、
前記学習済みモデルの出力結果から前記自動運転産業車両の周囲に存在する前記手動運転産業車両を認識する認識部と、
前記認識部により認識された前記手動運転産業車両に基づき、前記自動運転産業車両の速度制限、及び警報の少なくともいずれかを行う制御部と、を備える監視装置。
【請求項2】
前記制御部は、少なくとも前記自動運転産業車両の速度制限を行い、
前記制御部は、前記手動運転産業車両の数が多いほど、前記自動運転産業車両の速度上限値を低く設定する請求項1に記載の監視装置。
【請求項3】
前記学習済みモデルは、前記画像データに含まれる前記物体が人か否かを示す指標を出力し、
前記認識部は、前記学習済みモデルの出力結果から前記自動運転産業車両の周囲に存在する前記手動運転産業車両及び前記人を認識し、
前記制御部は、前記認識部により認識された前記手動運転産業車両、及び前記認識部により認識された前記人に基づき、前記自動運転産業車両の速度制限、及び警報の少なくともいずれかを行う請求項1又は請求項2に記載の監視装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、監視装置に関する。
【背景技術】
【0002】
特許文献1には、自動運転産業車両が開示されている。自動運転産業車両を運用する際には、自動運転産業車両と手動運転産業車両とが混在する状況での作業を禁止する場合がある。例えば、自動運転産業車両を運用する区域を予め設定しておき、当該区域への手動運転産業車両の進入を禁止する場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-1906号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
自動運転産業車両と手動運転産業車両とを同一の区域で運用したい場合がある。この場合、自動運転産業車両と手動運転産業車両とが接触すると、作業効率の低下を招くおそれがある。
【課題を解決するための手段】
【0005】
上記課題を解決する監視装置は、自動運転産業車両の周囲を監視する監視装置であって、カメラから画像データを取得する取得部と、前記画像データが入力されることにより前記画像データに含まれる物体が手動運転産業車両か否かを示す指標を出力する学習済みモデルを記憶した記憶装置と、前記学習済みモデルの出力結果から前記自動運転産業車両の周囲に存在する前記手動運転産業車両を認識する認識部と、前記認識部により認識された前記手動運転産業車両に基づき、前記自動運転産業車両の速度制限、及び警報の少なくともいずれかを行う制御部と、を備える。
【0006】
自動運転産業車両の周囲に手動運転産業車両が存在すると、自動運転産業車両の速度制限、及び警報の少なくともいずれかが行われる。自動運転産業車両の速度制限が行われると、自動運転産業車両の速度が制限されることで、自動運転産業車両と手動運転産業車両との接触が抑制される。警報が行われると、手動運転産業車両の搭乗者に、自動運転産業車両が存在していることを認識させることができる。これにより、自動運転産業車両と手動運転産業車両との接触が抑制される。
【0007】
上記監視装置について、前記制御部は、少なくとも前記自動運転産業車両の速度制限を行い、前記制御部は、前記手動運転産業車両の数が多いほど、前記自動運転産業車両の速度上限値を低く設定してもよい。
【0008】
上記監視装置について、前記学習済みモデルは、前記画像データに含まれる前記物体が人か否かを示す指標を出力し、前記認識部は、前記学習済みモデルの出力結果から前記自動運転産業車両の周囲に存在する前記手動運転産業車両及び前記人を認識し、前記制御部は、前記認識部により認識された前記手動運転産業車両、及び前記認識部により認識された前記人に基づき、前記自動運転産業車両の速度制限、及び警報の少なくともいずれかを行ってもよい。
【発明の効果】
【0009】
本発明によれば、自動運転産業車両と手動運転産業車両との接触を抑制することができる。
【図面の簡単な説明】
【0010】
図1】第1実施形態の自動運転フォークリフトが運用される区域を示す模式図。
図2】第1実施形態の自動運転フォークリフトを示す側面図。
図3】第1実施形態の自動運転フォークリフトの構成を示す図。
図4】周囲監視処理を示すフローチャート。
図5】画像データの一例を示す図。
図6】学習済みモデルの概要を示す図。
図7】第2実施形態の監視装置を示す図。
【発明を実施するための形態】
【0011】
(第1実施形態)
以下、監視装置の第1実施形態について説明する。
図1に示すように、区域A1には、自動運転フォークリフト10と、手動運転フォークリフトFと、人Mと、が存在している。区域A1は、例えば、工場、港湾、空港、商業施設及び公共施設などの場所の全体、あるいは、一部である。自動運転フォークリフト10は、自動での走行、及び自動での荷役を行うことが可能なフォークリフトである。手動運転フォークリフトFは、搭乗者の操作による走行、及び搭乗者の操作による荷役を行うことが可能なフォークリフトである。人Mは、例えば、区域A1で作業を行う作業者である。区域A1は、自動運転フォークリフト10、手動運転フォークリフトF、及び人Mが混在した状況で作業が行われる場所である。本実施形態において、自動運転フォークリフト10、手動運転フォークリフトF、及び人Mは、それぞれ複数存在している。自動運転フォークリフト10は、自動運転産業車両である。手動運転フォークリフトFは、手動運転産業車両である。
【0012】
図2に示すように、自動運転フォークリフト10は、車体11と、駆動輪12と、操舵輪13と、荷役装置14と、を備える。荷役装置14は、車体11の前部に設けられている。荷役装置14は、マスト15と、リフトブラケット18と、フォーク19と、リフトシリンダ20と、ティルトシリンダ21と、を備える。
【0013】
マスト15は、アウタマスト16と、インナマスト17と、を備える。アウタマスト16は、車体11に対して前後に傾動可能に支持されている。インナマスト17は、アウタマスト16に対して昇降可能に設けられている。リフトブラケット18は、インナマスト17に固定されている。フォーク19は、リフトブラケット18に固定されている。リフトブラケット18及びフォーク19は、インナマスト17とともに昇降する。リフトシリンダ20は、インナマスト17を昇降動作させる。ティルトシリンダ21は、マスト15を傾動動作させる。リフトシリンダ20及びティルトシリンダ21は、油圧シリンダである。
【0014】
図3に示すように、自動運転フォークリフト10は、駆動機構31と、油圧機構41と、カメラ51と、外界センサ52と、荷役用カメラ53と、警報装置54と、監視装置60と、を備える。監視装置60は、制御装置61と、補助記憶装置71と、を備える。
【0015】
駆動機構31は、自動運転フォークリフト10を走行させるための部材である。駆動機構31は、走行モータ32と、走行モータドライバ33と、回転数センサ34と、を備える。走行モータ32は、駆動輪12を駆動させるためのモータである。走行モータドライバ33は、走行モータ32を制御する。回転数センサ34は、走行モータ32の回転数を検出する。走行モータドライバ33は、回転数センサ34により走行モータ32の回転数を把握しながら、目標回転数に走行モータ32の回転数が追従するように走行モータ32を制御する。駆動機構31は、操舵輪13を操舵させるための操舵機構を含む。
【0016】
油圧機構41は、自動運転フォークリフト10に荷役を行わせるための部材である。油圧機構41は、ポンプを駆動させるための荷役モータ42と、コントロールバルブ43と、を備える。コントロールバルブ43は、リフトシリンダ20及びティルトシリンダ21への作動油の給排を制御する。リフトシリンダ20への作動油の給排によってインナマスト17は昇降する。ティルトシリンダ21への作動油の給排によってマスト15は車体11の前後方向に対して傾動する。
【0017】
カメラ51は、デジタルカメラである。カメラ51は、撮像素子を備える。撮像素子としては、例えば、CCDイメージセンサ(Charge Coupled Device image sensor)、及びCMOSイメージセンサ(Complementary Metal Oxide Semiconductor image sensor)を挙げることができる。カメラ51としては、例えば、RGBカメラ、赤外線カメラ、グレースケールカメラ、及び可視光カメラを挙げることができる。
【0018】
カメラ51は、所定のフレームレートで撮像を行って画像データを生成する。この画像データは、カメラ51で撮像した画像のデジタルデータである。カメラ51は、自動運転フォークリフト10の周囲を撮像するように配置されている。カメラ51は、自動運転フォークリフト10に積載された荷が画像データに写り込まないように配置することが好ましい。カメラ51は、例えば、車体11の上部に設けられている。カメラ51は、単数であってもよいし、複数であってもよい。
【0019】
外界センサ52は、自動運転フォークリフト10の周囲に存在する物体の3次元座標を制御装置61に認識させることができるセンサである。外界センサ52としては、例えば、ミリ波レーダー、ステレオカメラ、ToF(Time of Flight)カメラ、及びLIDAR(Laser Imaging Detection and Ranging)を挙げることができる。
【0020】
荷役用カメラ53は、例えば、カメラ51と同一構成である。荷役用カメラ53は、自動運転フォークリフト10の前方を撮像するように配置される。荷役用カメラ53は、フォーク19とともに上下動するように設けられている。
【0021】
警報装置54は、手動運転フォークリフトFの搭乗者、及び自動運転フォークリフト10の周囲の人Mに警報を行うための装置である。警報装置54は、音による警報を行う装置であってもよいし、光による警報を行う装置であってもよい。音による警報を行う装置としては、例えば、ブザー及び拡声器を挙げることができる。光による警報を行う装置としては、例えば、ランプを挙げることができる。
【0022】
制御装置61は、プロセッサ62と、記憶部63と、を備える。プロセッサ62としては、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、及びDSP(Digital Signal Processor)を挙げることができる。記憶部63は、RAM(Random Access Memory)及びROM(Read Only Memory)を含む。記憶部63は、処理をプロセッサ62に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部63、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置61は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェア回路によって構成されていてもよい。処理回路である制御装置61は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
【0023】
制御装置61は、取得部64と、認識部65と、制御部66と、を備える。取得部64、認識部65及び制御部66は、制御装置61がプログラムを実行することで機能する機能要素である。
【0024】
補助記憶装置71は、制御装置61が読み取り可能な情報を記憶している。補助記憶装置71としては、例えば、ハードディスクドライブ、及びソリッドステートドライブを挙げることができる。
【0025】
補助記憶装置71は、区域A1の環境を示す環境地図M1を記憶している。環境地図M1とは、区域A1に存在する物体の形状、区域A1の広さ等、区域A1の物理的構造に関する情報である。本実施形態において環境地図M1は、区域A1の構造を地図座標系の座標で表したデータである。地図座標系は、例えば、2軸直交座標系である。地図座標系は、区域A1の任意の一点を原点とする座標系である。地図座標系は、区域A1の絶対位置を表す座標系である。
【0026】
補助記憶装置71は、学習済みモデルM2を記憶している記憶装置である。学習済みモデルM2は、画像データが入力されることにより、画像データに含まれる物体が手動運転フォークリフトFか否かを示す指標を出力する対応関係を規定している。本実施形態の学習済みモデルM2は、画像データが入力されることにより、画像データに含まれる物体が人Mか否かを示す指標を出力する。また、本実施形態の学習済みモデルM2は、画像データが入力されることにより、画像データに含まれる物体が自動運転フォークリフト10か否かを示す指標を出力する。
【0027】
制御装置61は、外界センサ52の検出結果から自己位置を推定する。自己位置とは、自動運転フォークリフト10の地図座標系での座標である。例えば、制御装置61は、外界センサ52の検出結果からランドマークを検出し、ランドマークと環境地図M1とのマッチングにより自己位置を推定する。自己位置の推定は、外界センサ52を用いた自己位置の推定に、内界センサを用いたデッドレコニングを組み合わせて行われてもよい。自己位置の推定は、外界センサ52を用いた自己位置の推定に、GNSS(Global Navigation Satellite System)衛星から送信される衛星信号を用いた自己位置推定を組み合わせて行われてもよい。制御装置61は、自己位置を推定しながら駆動機構31を制御することで、自動運転フォークリフト10を目標位置まで走行させる。目標位置は、例えば、フォーク19に積載された荷を置く場所である荷置き位置、及びフォーク19に積載する荷が置かれた場所である荷取り位置を挙げることができる。
【0028】
制御装置61は、荷役用カメラ53の検出結果から荷とフォーク19との相対距離を把握する。制御装置61は、荷とフォーク19との相対距離を把握しながら、フォーク19に荷を積載する荷取りを行う。また、制御装置61は、荷役用カメラ53の検出結果から荷置き位置を把握し、フォーク19に積載された荷を荷置き位置に置く。
【0029】
上記したように、自動運転フォークリフト10は、自動で走行するための外界センサ52、及び自動で荷役を行うための荷役用カメラ53を備える。一例として、外界センサ52及び荷役用カメラ53を挙げたが、自動運転フォークリフト10は、フォーク19の位置決めを行うためのレーザー距離計、障害物を検出するための超音波センサ等、自動運転のための種々のセンサを備えている場合がある。これらのセンサ、及びセンサを取り付けるためのブラケットによって自動運転フォークリフト10と、手動運転フォークリフトFには外観の差が生じる。
【0030】
制御装置61が行う周囲監視処理について説明する。周囲監視処理は、自動運転フォークリフト10が起動している間、周期的に行われるルーチンである。
図4に示すように、ステップS1において、制御装置61は、カメラ51から画像データを取得する。制御装置61は、ステップS1の処理を行うことで、取得部64を備えているといえる。本実施形態では、一例として、制御装置61は、図5に示す画像データIMを取得したとする。図5に示す画像データIMには、自動運転フォークリフト10、手動運転フォークリフトF、及び人Mが含まれている。
【0031】
図4に示すように、次に、ステップS2において、制御装置61は、物体検出を行う。物体検出とは、画像データIMから、物体が含まれる領域と、領域に存在する物体のクラスと、を特定することである。物体が含まれる領域とは、画像データIM中の物体の位置を表している。
【0032】
制御装置61は、学習済みモデルM2を用いて物体検出を行う。学習済みモデルM2は、入力された画像データIMから物体が含まれる領域を特定し、当該領域に存在する物体が予め定められたクラスに該当するか否かの指標を出力する。クラスとしては、「自動運転フォークリフト」、「手動運転フォークリフト」及び「人」が設定されている。
【0033】
本実施形態では、物体が各クラスに該当するか否かを示す指標として、蓋然性を用いている。蓋然性とは、物体がクラスに該当する信頼度ともいえる。蓋然性としては、例えば、クラス確率、及びスコアを用いることができる。クラス確率とは、物体がクラスに該当する確率である。クラス確率は、0以上1以下の値である。スコアは、物体がクラスに該当する確率が高いほど大きくなる値である。本実施形態では、物体が各クラスに該当するか否かを示す指標として、クラス確率を用いている。「手動運転フォークリフト」のクラス確率は、画像データIMに含まれる物体が手動運転フォークリフトFか否かを示す指標である。「人」のクラス確率は、画像データIMに含まれる物体が人Mか否かを示す指標である。「自動運転フォークリフト」のクラス確率は、画像データIMに含まれる物体が自動運転フォークリフト10か否かを示す指標である。
【0034】
学習済みモデルM2は、DNN(Deep Neural Network)を用いた機械学習によって生成されている。本実施形態では、領域単位で物体のクラスを判定することができるアルゴリズムを用いている。機械学習のアルゴリズムとしては、例えば、SSD(Single Shot Multibox Detector)、R-CNN(Regional Convolutional Neural Network)、fast R-CNN、faster R-CNN、及びYOLO(You Only Look Once)を挙げることができる。これらのアルゴリズムは、CNN(Convolution Neural Network)をベースとしたアルゴリズムである。本実施形態においては、SSDにより生成された学習済みモデルM2を用いている。学習済みモデルM2は、教師データを用いた教師有り学習、あるいは、半教師有り学習によって生成される。教師データとしては、クラスに該当する物体が含まれる画像データIMと、画像データIM中の物体の位置と、ラベルと、を含むデータが用いられる。教師データは、画像データIM中の物体を枠で囲み、画像データIMに物体に対応するクラスのラベルを付すことで生成することができる。教師データとしては、「自動運転フォークリフト」が写る画像データIMに自動運転フォークリフト10を囲む枠及びラベルを付したデータ、「手動運転フォークリフト」が写る画像データIMに手動運転フォークリフトFを囲む枠及びラベルを付したデータ、「人」が写る画像データIMに人Mを囲む枠及びラベルを付したデータを用いればよい。
【0035】
学習済みモデルM2の概要について説明する。
図6に示すように、学習済みモデルM2は、特徴マップ生成部81と、物体領域候補抽出部82と、検出枠抽出部83と、を備える。
【0036】
特徴マップ生成部81は、画像データIMから特徴マップを生成する。SSDでは、6つの特徴マップが生成される。詳細にいえば、特徴マップ生成部81は、ベースネットワークと、複数の畳み込み層と、を備える。ベースネットワークとしては、一般物体認識データセットで学習を行ったCNNを用いることができる。ベースネットワークとしては、例えば、VGG16、及びResNet(Residual Network)を挙げることができる。ベースネットワークの中間層から1つの特徴マップを得ることができる。そして、ベースネットワーク、及び畳み込み層で上記した特徴マップを更に畳み込んでいく。これにより、特徴マップ生成部81は、6つの特徴マップを生成する。特徴マップを畳み込んでいくことで、ピクセルのサイズが異なる複数の特徴マップを得ることができる。
【0037】
物体領域候補抽出部82は、特徴マップの各ピクセルに対してアスペクト比の異なる複数のデフォルトボックスを付与する。物体領域候補抽出部82は、デフォルトボックス毎に、物体位置とのオフセットと、クラス確率と、を求める。物体領域候補抽出部82は、デフォルトボックスのうち、クラス確率が予め定められたクラス判定用閾値以上のデフォルトボックスを抽出する。これにより抽出されるデフォルトボックスは、クラスに該当する物体が存在する領域の候補といえる。
【0038】
検出枠抽出部83は、NMS(Non-Maximum Suppression)により、互いに重なり合うデフォルトボックスの削除を行う。検出枠抽出部83は、NMSを行った後に残ったデフォルトボックスを検出枠として抽出する。検出枠は、バウンディングボックスとも呼ばれる。検出枠は、物体が存在している領域である。詳細にいえば、検出枠は、クラスに該当する物体が存在している確率がクラス判定用閾値以上の領域である。検出枠抽出部83は、検出枠の位置と、検出枠に対応するクラス確率とを出力する。検出枠の位置は、画像座標系での基準座標、画像座標系での縦寸法、及び画像座標系での横寸法で表すことができる。画像座標系とは、画像データIM上での位置を表す2軸直交座標系である。適宜、画像座標系での座標を画像座標と称する。検出枠が矩形の場合、画像座標系での基準座標としては、矩形における4隅の画像座標のうちいずれかの画像座標、あるいは、矩形における中心の画像座標を用いることができる。
【0039】
図5には、ステップS2の物体検出を行うことで得られた検出結果を示している。図5に示すように、ステップS2の物体検出を行うことで、検出枠B1,B2,B3を得ることができる。図5に示す例では、自動運転フォークリフト10を囲む検出枠B1と、手動運転フォークリフトFを囲む検出枠B2と、人Mを囲む検出枠B3と、が得られている。また、検出枠B1,B2,B3毎に、「自動運転フォークリフト」のクラス確率、「手動運転フォークリフト」のクラス確率、及び「人」のクラス確率が得られている。
【0040】
図4に示すように、次に、ステップS3において、制御装置61は、検出枠B1,B2,B3がいずれのクラスに該当するかを判定する。検出枠B1,B2,B3は、例えば、クラス確率が最も高いクラスに該当すると判定される。図5に示す例では、検出枠B1は「自動運転フォークリフト」、検出枠B2は「手動運転フォークリフト」、検出枠B3は「人」に該当すると、それぞれ判定される。これにより、制御装置61は、学習済みモデルM2の出力結果から自動運転フォークリフト10の周囲に存在する手動運転フォークリフトFを認識することができる。制御装置61は、学習済みモデルM2の出力結果から自動運転フォークリフト10の周囲に存在する人Mを認識することができる。本実施形態において、画像データIMに存在している物体は、自動運転フォークリフト10の周囲に存在しているとみなしている。ステップS3の処理を行うことで、制御装置61は、認識部65を備えているといえる。
【0041】
次に、ステップS4において、制御装置61は、自動運転フォークリフト10に速度制限が必要か否かを判定する。本実施形態において、自動運転フォークリフト10の速度制限とは、自動運転フォークリフト10の走行速度に制限を課すことである。制御装置61は、画像データIMに手動運転フォークリフトF及び人Mの少なくともいずれかが含まれている場合、速度制限が必要であると判定する。ステップS4の判定結果が肯定の場合、制御装置61は、ステップS5の処理を行う。ステップS4の判定結果が否定の場合、制御装置61は、ステップS9の処理を行う。
【0042】
ステップS5において、制御装置61は、速度上限値を設定する。制御装置61は、以下の(1)式から速度上限値を決定し、決定した速度上限値を設定する。
【0043】
【数1】
A,B,Cは、それぞれ、予め定められた定数である。定数A,B,Cは、それぞれ、正の数である。(1)式から把握できるように、速度上限値は、手動運転フォークリフトFの数が多いほど低い値になる。速度上限値は、人Mの数が多いほど低い値になる。定数Cは、定数Bよりも大きな値であってもよい。速度上限値は、0を含む。即ち、制御装置61は、自動運転フォークリフト10を停止させるように速度上限値を設定してもよい。
【0044】
次に、ステップS6において、制御装置61は、自動運転フォークリフト10の走行速度が速度上限値以上か否かを判定する。自動運転フォークリフト10の走行速度は、例えば、回転数センサ34の検出結果やギヤ比などを用いて演算可能である。ステップS6の判定結果が否定の場合、制御装置61は、周囲監視処理を終了する。ステップS6の判定結果が肯定の場合、制御装置61は、ステップS7の処理を行う。
【0045】
ステップS7において、制御装置61は、自動運転フォークリフト10の走行速度が速度上限値未満になるように減速を行う。例えば、制御装置61は、自動運転フォークリフト10の走行速度が速度上限値を上回らないように目標回転数を演算し、この目標回転数を駆動機構31に出力する。走行モータドライバ33が、目標回転数を上回らないように制御を行うことで、減速が行われる。
【0046】
次に、ステップS8において、制御装置61は、警報装置54によって警報を行う。この警報は、自動運転フォークリフト10が減速中であることを手動運転フォークリフトFの搭乗者や人Mに通知するための警報である。ステップS8の処理を終えると、制御装置61は、周囲監視処理を終了する。ステップS7及びステップS8の処理を行うことで、制御装置61は、制御部66を備えているといえる。制御装置61は、自動運転フォークリフト10の周囲に存在する手動運転フォークリフトF及び人Mに基づき、速度制限及び警報を行っている。
【0047】
ステップS9において、制御装置61は、速度制限を解除する。詳細にいえば、速度制限が行われていない状態であれば、制御装置61は、速度制限が行われていない状態を維持する。過去の制御周期で速度上限値が設定されており、速度制限が行われている状態であれば、制御装置61は、速度制限を解除する。ステップS9の処理を終えると、制御装置61は、周囲監視処理を終了する。
【0048】
第1実施形態の作用について説明する。
制御装置61は、自動運転フォークリフト10の周囲に手動運転フォークリフトFが存在している場合、速度上限値を設定することで、自動運転フォークリフト10の速度制限を行う。自動運転フォークリフト10の走行速度が速度上限値以上の場合、制御装置61は警報装置54による警報を行う。更に、本実施形態では、自動運転フォークリフト10の周囲に人Mが存在する場合であっても、同様の制御が行われる。
【0049】
第1実施形態の効果について説明する。
(1-1)自動運転フォークリフト10の走行速度が制限されることで、自動運転フォークリフト10と手動運転フォークリフトFとの接触が抑制される。警報装置54による警報を行うことで、手動運転フォークリフトFの搭乗者に、自動運転フォークリフト10が存在していることを認識させることができる。これにより、自動運転フォークリフト10と手動運転フォークリフトFとの接触が抑制される。
【0050】
(1-2)制御装置61は、手動運転フォークリフトFの数が多いほど、自動運転フォークリフト10の速度上限値を低く設定する。手動運転フォークリフトFの数が多いほど、自動運転フォークリフト10と手動運転フォークリフトFとが接触するおそれがある。手動運転フォークリフトFの数が多いほど自動運転フォークリフト10の速度上限値を低くすることで、手動運転フォークリフトFの数が多い場合であっても、自動運転フォークリフト10と手動運転フォークリフトFとの接触を抑制できる。
【0051】
(1-3)制御装置61は、自動運転フォークリフト10の周囲に人Mが存在している場合も速度制限を行う。これにより、自動運転フォークリフト10により人Mの進行が阻害されることを抑制できる。
【0052】
(第2実施形態)
以下、監視装置の第2実施形態について説明する。
図7に示すように、監視装置90は、区域A1に設けられている。この場合、カメラ94は区域A1を撮像するように配置される。カメラ94は、1箇所に配置されていてもよいし、2箇所以上に配置されていてもよい。監視装置90は、例えば、制御装置91と、補助記憶装置92と、通信装置93と、を備える。制御装置91は、制御装置61と同一のものである。補助記憶装置92は、補助記憶装置71と同一のものであって学習済みモデルM2を記憶している。通信装置93は、無線信号により自動運転フォークリフト10に指令を送信可能である。通信装置93から送信される指令は、直接、自動運転フォークリフト10に受信されてもよい。通信装置93から送信される指令は、監視装置90よりも上位の上位制御装置に受信され、この上位制御装置から自動運転フォークリフト10に指令が送信されるようにしてもよい。
【0053】
制御装置91は、画像データIMから、自動運転フォークリフト10、手動運転フォークリフトF、及び人Mを抽出する。即ち、制御装置91は、第1実施形態と同様に、検出枠B1,B2,B3の抽出と、当該検出枠B1,B2,B3が該当するクラスの判定を行う。
【0054】
制御装置91は、同一の画像データIMに、自動運転フォークリフト10と手動運転フォークリフトFとが存在している場合、自動運転フォークリフト10の周囲に手動運転フォークリフトFが存在していると判定する。制御装置91は、同一の画像データIMに、自動運転フォークリフト10と人Mとが存在している場合、自動運転フォークリフト10の周囲に人Mが存在していると判定する。これにより、制御装置91は、第1実施形態と同様の手法により速度上限値を決定することができる。即ち、制御装置91は、(1)式から速度上限値を決定することができる。制御装置91は、通信装置93によって、速度上限値を設定するように自動運転フォークリフト10に指令を送信する。この際、区域A1に複数の自動運転フォークリフト10が存在する場合、カメラ94に写っている自動運転フォークリフト10を特定した上で、この自動運転フォークリフト10に指令を送信する必要がある。画像データIMに写っている自動運転フォークリフト10の特定は、種々の手法で行うことができる。区域A1で用いられる複数の自動運転フォークリフト10毎に異なるマーカーを設けて、マーカーによって画像データIMに写る自動運転フォークリフト10を特定してもよい。自動運転フォークリフト10が自己位置を監視装置90に送信している場合など、制御装置91が自動運転フォークリフト10の位置を認識していれば、この位置から画像データIMに写る自動運転フォークリフト10を特定してもよい。自動運転フォークリフト10では、速度上限値の設定が行われる。そして、自動運転フォークリフト10の走行速度が速度上限値以上の場合には、警報装置54による警報が行われる。制御装置91は、通信装置93により指令を送信することで、自動運転フォークリフト10の速度制限及び警報を行っているといえる。
【0055】
第2実施形態の効果について説明する。第1実施形態の効果に加えて、以下の効果を得ることができる。
(2-1)監視装置90は、区域A1に設けられたカメラ94から画像データIMを取得する。監視装置90は、この画像データIMから、自動運転フォークリフト10の速度制限及び警報を行う。区域A1に設けられたカメラ94から速度制限及び警報を行えるようにすることで、自動運転フォークリフト10の死角となりやすい箇所に手動運転フォークリフトFや人Mが存在している場合であっても速度制限及び警報を行うことができる。
【0056】
各実施形態は、以下のように変更して実施することができる。各実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○第1実施形態において、制御装置61は、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を算出してもよい。自動運転フォークリフト10と手動運転フォークリフトFとの相対距離は、種々の手法で算出することができる。制御装置61は、画像データIMにおける検出枠B2の位置、及び検出枠B2のサイズから自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を算出してもよい。制御装置61は、検出枠B2の位置、及び検出枠B2のサイズから、カメラ51を原点とする座標系での手動運転フォークリフトFの座標を算出できる。制御装置61は、この座標系での手動運転フォークリフトFの座標から、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を把握できる。また、制御装置61は、外界センサ52の検出結果を用いて自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を算出してもよい。同様に、制御装置61は、自動運転フォークリフト10と人Mとの相対距離を算出してもよい。
【0057】
制御装置61は、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離、及び自動運転フォークリフト10と人Mとの相対距離に基づき、速度上限値を設定してもよい。制御装置61は、例えば、以下の(2)式から速度上限値を決定し、決定された速度上限値を設定する。
【0058】
【数2】
Dは予め定められた定数である。相対距離は、自動運転フォークリフト10に最も近い手動運転フォークリフトF、及び自動運転フォークリフト10に最も近い人Mのうち、自動運転フォークリフト10に近い方と、自動運転フォークリフト10との距離である。(2)式から把握できるように、速度上限値は、手動運転フォークリフトF又は人Mが自動運転フォークリフト10に近いほど低い値になる。相対距離は、自動運転フォークリフト10に最も近い手動運転フォークリフトFと、自動運転フォークリフト10との距離であってもよい。この場合、制御装置61は、自動運転フォークリフト10と人Mとの相対距離を算出しなくてもよい。
【0059】
また、速度上限値は、手動運転フォークリフトFの数、及び自動運転フォークリフト10と手動運転フォークリフトFとの相対距離に基づき決定されてもよい。この場合、速度上限値は、自動運転フォークリフト10の周囲に存在する手動運転フォークリフトFの数が多いほど低く、かつ、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離が短いほど低くなる。速度上限値は、手動運転フォークリフトFの数、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離、人Mの数、及び人Mと自動運転フォークリフト10との相対距離に基づき決定されてもよい。この場合、速度上限値は、自動運転フォークリフト10の周囲に存在する手動運転フォークリフトFの数が多いほど低く、かつ、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離が短いほど低くなる。更に、速度上限値は、自動運転フォークリフト10の周囲に存在する人Mの数が多いほど低く、かつ、自動運転フォークリフト10と人Mとの相対距離が短いほど低くなる。
【0060】
第2実施形態において、制御装置91は、画像データIMから自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を算出してもよい。制御装置91は、検出枠B1,B2の位置、及び検出枠B1,B2のサイズから、カメラ94を原点とする座標系での自動運転フォークリフト10の座標、及び手動運転フォークリフトFの座標を算出できる。制御装置91は、この座標系での自動運転フォークリフト10の座標及び手動運転フォークリフトFの座標から、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を把握できる。同様に、制御装置91は、画像データIMから自動運転フォークリフト10と人Mとの相対距離を算出してもよい。この場合、制御装置91は、(2)式から速度上限値を決定してもよい。また、制御装置91は、手動運転フォークリフトFの数、自動運転フォークリフト10と手動運転フォークリフトFとの相対距離、人Mの数、及び人Mと自動運転フォークリフト10との相対距離に基づき速度上限値を決定してもよい。
【0061】
○各実施形態において、速度上限値は、手動運転フォークリフトFの数や手動運転フォークリフトFと自動運転フォークリフト10との相対距離によって変動しなくてもよい。例えば、制御装置61,91は、自動運転フォークリフト10の周囲に手動運転フォークリフトFが存在する場合、予め定められた値を速度上限値としてもよい。同様に、制御装置61,91は、自動運転フォークリフト10の周囲に人Mが存在する場合、予め定められた値を速度上限値としてもよい。
【0062】
○各実施形態において、制御装置61,91が自動運転フォークリフト10と手動運転フォークリフトFとの相対距離を算出できる場合、相対距離が閾値未満の手動運転フォークリフトFが自動運転フォークリフト10の周囲に存在しているとみなしてもよい。同様に、制御装置61,91が自動運転フォークリフト10と人Mとの相対距離を算出できる場合、相対距離が閾値未満の人Mが自動運転フォークリフト10の周囲に存在しているとみなしてもよい。この場合、制御装置61,91は、自動運転フォークリフト10との相対距離が閾値未満の手動運転フォークリフトFの数、及び人Mの数に応じて速度上限値を決定する。
【0063】
○各実施形態において、制御装置61,91は、速度制限を行う際に、自動運転フォークリフト10の荷役速度の制限を行ってもよい。自動運転フォークリフト10の荷役速度の制限は、荷役速度に速度上限値を設定することで行われる。荷役速度は、フォーク19の昇降速度、及びフォーク19の傾動速度を含む。フォーク19の昇降速度は、リフトシリンダ20への作動油の給排を制御することで調整可能である。フォーク19の傾動速度は、ティルトシリンダ21への作動油の給排を制御することで調整可能である。制御装置61,91は、自動運転フォークリフト10の荷役速度が速度上限値を上回らないように、油圧機構41を制御する。これにより、自動運転フォークリフト10の荷役装置14と手動運転フォークリフトFとが接触することを抑制できる。制御装置61,91は、速度制限を行う際に、自動運転フォークリフト10の走行速度、及び自動運転フォークリフト10の荷役速度の制限を行ってもよい。即ち、制御装置61,91は、自動運転フォークリフト10の走行速度及び、自動運転フォークリフト10の荷役速度の少なくともいずれかの速度制限を行えばよい。
【0064】
○第1実施形態において、制御装置61は、画像データIMに手動運転フォークリフトFが含まれている場合に、警報装置54による警報を行ってもよい。即ち、制御装置61は、自動運転フォークリフト10の周囲に手動運転フォークリフトFが存在している場合、自動運転フォークリフト10の走行速度が速度上限値以上か否かに関わらず、警報装置54による警報を行ってもよい。
【0065】
第2実施形態において、監視装置90が警報装置を備えていてもよい。この場合、制御装置91は、画像データIMに手動運転フォークリフトFが含まれている場合に、警報装置による警報を行ってもよい。
【0066】
○各実施形態において、速度上限値は、少なくとも、手動運転フォークリフトFに基づき設定されていればよい。例えば、(1)式から、「C×人Mの数」を除外してもよい。この場合、定数A,Bの値を変更してもよい。(1)式から、「C×人Mの数」を除外する場合、学習済みモデルM2には、「人」のクラスが設定されていなくてもよい。
【0067】
○各実施形態において、速度上限値は、(1)式に加えて、自動運転フォークリフト10の周囲に存在する自動運転フォークリフト10の数に応じて決定されてもよい。例えば、(1)式の分母に、「E×自動運転フォークリフト10の数」を加えてもよい。Eは、定数である。
【0068】
○各実施形態において、制御装置61,91は、自動運転フォークリフト10の周囲に手動運転フォークリフトFが存在している場合に、速度制限及び警報のうち速度制限のみを行ってもよい。
【0069】
○第1実施形態において、制御装置61は、自動運転フォークリフト10の周囲に手動運転フォークリフトF及び人Mの少なくともいずれかが存在している場合に、速度制限及び警報のうち警報のみを行ってもよい。即ち、ステップS3で画像データIMに手動運転フォークリフトF及び人Mの少なくともいずれかが存在していると判定された場合に、制御装置61は、警報装置54による警報を行ってもよい。制御装置61は、手動運転フォークリフトFの数が多いほど、警報装置54による警報を強くしてもよい。例えば、警報装置54が音による警報を行う装置の場合、制御装置61は、手動運転フォークリフトFの数が多いほど、音を大きくしてもよい。警報装置54が光による警報を行う装置の場合、制御装置61は、手動運転フォークリフトFの数が多いほど、光を強くしてもよいし、点滅速度を速くしてもよい。同様に、制御装置61は、人Mの数が多いほど、警報装置54による警報を強くしてもよい。警報は、少なくとも、自動運転フォークリフト10の周囲に手動運転フォークリフトFが存在している場合に行われればよい。
【0070】
第2実施形態において、制御装置91は、自動運転フォークリフト10の周囲に手動運転フォークリフトF及び人Mの少なくともいずれかが存在している場合に、速度制限及び警報のうち警報のみを行ってもよい。例えば、制御装置91は、通信装置93によって自動運転フォークリフト10に指令を送信することで、警報装置54による警報を行わせてもよい。また、監視装置90に警報装置を設けて、この警報装置により警報を行ってもよい。
【0071】
○第1実施形態において、学習済みモデルM2は、少なくとも、物体が「手動運転フォークリフト」か否かを判定できればよい。
○各実施形態において、自動運転産業車両は、自動運転トーイングトラクタを含む。手動運転産業車両は、手動運転トーイングトラクタを含む。区域A1は、自動運転トーイングトラクタと手動運転トーイングトラクタとが混在した状況で作業が行われる場所であってもよい。この場合、第1実施形態の監視装置60は、自動運転トーイングトラクタに設けられていてもよい。第1実施形態の学習済みモデルM2のクラスとしては「手動運転トーイングトラクタ」を設定し、画像データIMから手動運転トーイングトラクタを抽出するようにしてもよい。第2実施形態の学習済みモデルM2のクラスとしては「自動運転トーイングトラクタ」及び「手動運転トーイングトラクタ」を設定し、画像データIMから自動運転トーイングトラクタ及び手動運転トーイングトラクタを抽出するようにしてもよい。そして、制御装置61,91は、自動運転トーイングトラクタの速度制限、及び警報を行うようにしてもよい。
【0072】
区域A1は、自動運転フォークリフト10、手動運転フォークリフトF、自動運転トーイングトラクタ、及び手動運転トーイングトラクタが混在した状況で作業が行われる場所であってもよい。この場合、学習済みモデルM2のクラスとして「自動運転フォークリフト」、「手動運転フォークリフト」、「自動運転トーイングトラクタ」、及び「手動運転トーイングトラクタ」を設定すればよい。
【0073】
○各実施形態において、学習済みモデルM2は、DNN以外のアルゴリズムで生成されていてもよい。例えば、学習済みモデルM2は、SVM(Support Vector Machine)を用いて生成されていてもよい。この場合、制御装置61,91は、特徴量抽出を行う。学習済みモデルM2は、特徴量抽出により得られた特徴量から物体の該当するクラスの指標を出力する。特徴量抽出の手法としては、例えば、HOG(Histograms of Oriented Gradients)、及びSIFT(Scale-Invariant Feature Transform)を挙げることができる。
【0074】
○各実施形態において、学習済みモデルM2は、インスタンスセグメンテーション又はセマンティックセグメンテーションを用いたものであってもよい。インスタンスセグメンテーションは、ピクセル単位でクラスを判定する。インスタンスセグメンテーションを用いる場合、機械学習のアルゴリズムとしては、例えば、FCN(Fully Convolutional Network)、及びSegNetを用いることができる。セマンティックセグメンテーションは、ピクセル単位でクラスを判定し、かつ、物体が存在する領域を分割する。セマンティックセグメンテーションを用いる場合、機械学習のアルゴリズムとしては、例えば、Mask R-CNNを用いることができる。
【0075】
○各実施形態において、物体が各クラスに該当するか否かを示す指標は、物体が該当するクラスを示す値であってもよい。例えば「手動運転フォークリフト」が0、「人」が1に対応する場合、学習済みモデルM2は、検出枠毎に1か0かを出力してもよい。
【0076】
○第1実施形態と第2実施形態とを組み合わせてもよい。この場合、監視装置60と、監視装置90とで、同一の自動運転フォークリフト10に対して異なる速度上限値が決定される場合がある。この場合、予め優先度を決定しておき、優先度の高いほうの速度上限値を採用してもよいし、優先度に応じた係数を速度上限値に乗算して、これに基づき算出された値を速度上限値として採用してもよい。また、監視装置60で決定された速度上限値と、監視装置90で決定された速度上限値との平均値を速度上限値として採用してもよい。
【0077】
○各実施形態において、手動運転フォークリフトFは、遠隔地にいる操作者によって操作されるフォークリフトであってもよい。
○各実施形態において、学習済みモデルM2を記憶する記憶装置は、記憶部63であってもよい。
【0078】
○各実施形態において、取得部64、認識部65及び制御部66は、それぞれ、別の装置であってもよい。また、自己位置推定や駆動機構31の制御など、自動運転フォークリフト10の走行及び荷役に関する制御を行う制御装置61,91と、取得部64、認識部65及び制御部66として機能する装置とは別の装置であってもよい。
【符号の説明】
【0079】
F…手動運転産業車両としての手動運転フォークリフト、IM…画像データ、M…人、M2…学習済みモデル、10…自動運転産業車両としての自動運転フォークリフト、51,94…カメラ、60,90…監視装置、64…取得部、65…認識部、66…制御部、71,92…記憶装置としての補助記憶装置。
図1
図2
図3
図4
図5
図6
図7