(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-17
(45)【発行日】2022-10-25
(54)【発明の名称】作業機械の制御システム及び方法
(51)【国際特許分類】
E02F 9/20 20060101AFI20221018BHJP
E02F 9/26 20060101ALI20221018BHJP
H04N 7/18 20060101ALI20221018BHJP
H04N 5/232 20060101ALI20221018BHJP
G06T 7/00 20170101ALI20221018BHJP
G06T 7/50 20170101ALI20221018BHJP
【FI】
E02F9/20 Q
E02F9/26 B
H04N7/18 J
H04N5/232 290
G06T7/00 350B
G06T7/50
(21)【出願番号】P 2018169158
(22)【出願日】2018-09-10
【審査請求日】2021-08-03
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110000202
【氏名又は名称】新樹グローバル・アイピー特許業務法人
(72)【発明者】
【氏名】逢澤 正憲
(72)【発明者】
【氏名】嶋田 健二郎
(72)【発明者】
【氏名】續木 雄基
【審査官】五十幡 直子
(56)【参考文献】
【文献】特開2018-017115(JP,A)
【文献】特開2017-158033(JP,A)
【文献】特開2017-142591(JP,A)
【文献】特開2018-077190(JP,A)
【文献】特開2016-053904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 9/20
E02F 9/26
H04N 7/18
H04N 5/232
G06T 7/00
G06T 7/50
(57)【特許請求の範囲】
【請求項1】
作業機械と、
前記作業機械の周辺を撮影するカメラと、
プロセッサと、
を備え、
前記プロセッサは、
前記カメラによって撮影された撮影画像を示す画像データを取得し、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得し、
前記撮影画像において前記特定の物体を検出したときには、前記作業機械から前記特定の物体までの距離に基づいて前記作業機械を制御
し、
前記撮影画像において複数の前記特定の物体を検出したときには、前記作業機械から前記複数の特定の物体のそれぞれまでの距離のうち最短の距離を距離パラメータとして選択し、
前記距離パラメータが所定の距離閾値以上であるときには、前記作業機械が所定の作業を自動で行う第1制御モードにて前記作業機械を制御し、
前記距離パラメータが前記所定の距離閾値より小さいときには、前記第1制御モードと異なる第2制御モードにて前記作業機械を制御する、
システム。
【請求項2】
前記プロセッサは、
前記作業機械の互いに異なる方向の複数の撮影画像を示す複数の画像データを取得し、
前記物体検出モデルを用いた画像解析により、前記複数の撮影画像のそれぞれにおいて前記特定の物体を検出したときには、前記複数の撮影画像のそれぞれに対して前記距離パラメータを決定し、
前記複数の撮影画像のそれぞれの前記距離パラメータのうち少なくとも1つが前記所定の距離閾値より小さいときには、前記第2制御モードにて前記作業機械を制御する、
請求項
1に記載のシステム。
【請求項3】
前記作業機械は、出力装置を含み、
前記プロセッサは、前記第2制御モードにおいて前記出力装置に警報を出力させる、
請求項
1又は2に記載のシステム。
【請求項4】
前記プロセッサは、前記第2制御モードでは、前記第1制御モードよりも前記作業機械の動作を制限する、
請求項
1から3のいずれかに記載のシステム。
【請求項5】
前記プロセッサは、前記第2制御モードでは、前記作業機械を停止させる、
請求項
1から4のいずれかに記載のシステム。
【請求項6】
作業機械と、
前記作業機械の周辺を撮影するカメラと、
プロセッサと、
を備え、
前記プロセッサは、
前記カメラによって撮影された撮影画像を示す画像データを取得し、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得し、
前記撮影画像において前記特定の物体を検出したときには、前記作業機械から前記特定の物体までの距離に基づいて前記作業機械を制御し、
所定時間ごとに前記距離を取得し、
今回の距離と前回の距離との差分が所定の閾値より大きいときには、前記差分が小さくなるように前記今回の距離を補正する、
システム。
【請求項7】
前記カメラは、単眼カメラである、
請求項1から
6のいずれかに記載のシステム。
【請求項8】
前記特定の物体は、人を含む、
請求項1から
7のいずれかに記載のシステム。
【請求項9】
作業機械を制御するためにプロセッサによって実行される方法であって、
前記作業機械の周辺を撮影した撮影画像を示す画像データを取得することと、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得することと、
前記撮影画像において前記特定の物体を検出したときには、前記作業機械から前記特定の物体までの距離に基づいて前記作業機械を制御すること
と、
前記撮影画像において複数の前記特定の物体が検出されたときには、前記作業機械から前記複数の特定の物体のそれぞれまでの距離のうち最短の距離を距離パラメータとして選択することと、
前記距離パラメータが所定の距離閾値以上であるときには、前記作業機械が所定の作業を自動で行う第1制御モードにて前記作業機械を制御することと、
前記距離パラメータが前記所定の距離閾値より小さいときには、前記第1制御モードと異なる第2制御モードにて前記作業機械を制御すること、
を備える方法。
【請求項10】
前記作業機械の互いに異なる方向の複数の撮影画像を示す複数の画像データを取得することと、
前記物体検出モデルを用いた画像解析により、前記複数の撮影画像のそれぞれにおいて前記特定の物体を検出したときには、前記複数の撮影画像のそれぞれに対して前記距離パラメータを決定することと、
前記複数の撮影画像のそれぞれの前記距離パラメータのうち少なくとも1つが前記所定の距離閾値より小さいときには、前記第2制御モードにて前記作業機械を制御すること、
をさらに備える請求項
9に記載の方法。
【請求項11】
前記作業機械は、出力装置を含み、
前記第2制御モードにて前記作業機械を制御することは、前記出力装置に警報を出力させることを含む、
請求項
9又は10に記載の方法。
【請求項12】
前記第2制御モードにて前記作業機械を制御することは、前記第1制御モードよりも前記作業機械の動作を制限することを含む、
請求項
9から11のいずれかに記載の方法。
【請求項13】
前記第2制御モードにおいて前記作業機械を制御することは、前記作業機械を停止させることを含む、
請求項
9から12のいずれかに記載の方法。
【請求項14】
作業機械を制御するためにプロセッサによって実行される方法であって、
前記作業機械の周辺を撮影した撮影画像を示す画像データを取得することと、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得することと、
前記撮影画像において前記特定の物体を検出したときには、前記作業機械から前記特定の物体までの距離に基づいて前記作業機械を制御することと、
所定時間ごとに前記距離を取得することと、
今回の距離と前回の距離との差分が所定の閾値より大きいときには、前記差分が小さくなるように前記今回の距離を補正すること、
を備える方法。
【請求項15】
前記特定の物体は、人を含む、
請求項
9から14のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械の制御システム及び方法に関する。
【背景技術】
【0002】
作業機械による作業を自動制御によって行う技術が知られている。例えば、特許文献1では、掘削位置と排土位置とが作業機械のコントローラに予め教示されている。コントローラは、掘削位置で掘削を行い、掘削位置から排土位置に向けて作業機械を旋回させ、排土位置で排土するように作業機械を制御する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように、作業機械による作業を自動制御によって行う場合、作業機械は自動で動作する。このような自動動作は、周囲の環境を考慮しつつ行うことが好ましい。本発明は、周囲の環境を考慮しつつ、作業機械による作業を自動で行うことが可能な技術を提供する。
【課題を解決するための手段】
【0005】
第1の態様に係るシステムは、作業機械と、作業機械の周辺を撮影するカメラと、プロセッサとを備える。プロセッサは、カメラが撮影した撮影画像を示す画像データを取得する。プロセッサは、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得する。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。プロセッサは、撮影画像において特定の物体を検出したときには、作業機械から特定の物体までの距離から得られる距離に基づいて作業機械を制御する。
【0006】
第2の態様に係る方法は、作業機械を制御するためにプロセッサによって実行される方法である。当該方法は、以下の処理を備える。第1の処理は、作業機械の周辺を撮影した撮影画像を示す画像データを取得することである。第2の処理は、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得することである。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。第3の処理は、撮影画像において特定の物体を検出したときに、作業機械から特定の物体までの距離に基づいて作業機械を制御することである。
【0007】
第3の態様に係るシステムは、作業機械と、作業機械の周辺を撮影するカメラと、ディスプレイと、プロセッサとを備える。プロセッサは、カメラによって撮影された撮影画像を示す画像データを取得する。プロセッサは、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得する。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。プロセッサは、特定の物体を示す情報と、距離を示す情報とを撮影画像に付加してディスプレイに表示させる。
【0008】
第4の態様に係る学習データは、物体検出モデルを学習させるための学習データであって、作業機械付近の画像を示す画像データと、画像に存在する特定の物体のクラス情報と、画像における特定の物体の位置情報と、特定の物体に関する距離情報とを備える。
【0009】
第5の態様に係る方法は、物体検出モデルの製造方法であって、以下の処理を備える。第1の処理は、学習データを取得することである。学習データは、作業機械付近の画像を示す画像データと、画像に存在する特定の物体のクラス情報と、画像における特定の物体の位置情報と、特定の物体に関する距離情報とを含む。第2の処理は、学習データによりモデルを学習させることである。
【0010】
第6の態様に係る方法は、コンピュータによって実行される方法であって、以下の処理を備える。第1の処理は、作業機械付近の画像を取得することである。第2の処理は、物体検出モデルを用いた画像解析により、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離と検出することである。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。
【発明の効果】
【0011】
本発明では、学習済みの物体検出モデルを用いた画像解析によって、作業機械の撮影画像から、特定の物体の存在を検出すると共に、特定の物体までの距離を取得する。そして、特定の物体までの距離から得られる距離パラメータに基づいて作業機械を制御することで、周囲の環境を考慮しつつ、作業機械による作業を自動で行うことができる。
【図面の簡単な説明】
【0012】
【
図1】作業機械が用いられる作業現場の一例を示す平面図である。
【
図5】自動制御モードの処理を示すフローチャートである。
【
図6】物体検出モデルによる画像解析のための構成を示す模式図である。
【
図8】作業機械の近傍での人を検出するための処理を示すフローチャートである。
【
図10】
図9に示す撮影画像において検出された人の位置を示す平面図である。
【
図11】物体検出モデルの学習を行う学習システムの構成を示す模式図である。
【
図12】変形例に係る作業機械の構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、実施形態に係る作業機械1の制御システムについて、図面を参照しながら説明する。
図1は、作業機械1が用いられる作業現場の一例を示す平面図である。作業現場には、作業機械1と運搬車両2とが配置されている。作業機械1は、自動制御により運搬車両2と協働して作業を行う。
【0014】
本実施形態において、作業機械1は油圧ショベルである。運搬車両2はダンプトラックである。作業機械1は、作業現場内の所定の掘削位置P1の横に配置されている。運搬車両2は、作業現場内の所定の積込位置P2と所定のダンプ位置P3との間を走行して往復する。作業機械1は、自動制御により、掘削位置P1を掘削して、土砂等の素材を、積込位置P2に停車している運搬車両2に積み込む。素材を積み込まれた運搬車両2は、ダンプ位置P3まで走行し、ダンプ位置P3に素材を降ろす。ダンプ位置P3には、ブルドーザなどの他の作業機械3が配置されており、ダンプ位置P3に降ろされた素材を敷き広げる。素材を降ろした運搬車両2は積込位置P2まで走行し、作業機械1は、積込位置P2に停車した運搬車両2に再び素材を積み込む。このような作業が繰り返されることで、掘削位置P1の素材がダンプ位置P3に移送される。
【0015】
図2は、作業機械1の側面図である。
図2に示すように、作業機械1は、車両本体11と作業機12とを含む。車両本体11は、旋回体13と走行体14とを含む。旋回体13は、走行体14に対して旋回可能に取り付けられている。旋回体13にはキャブ15が配置されている。ただし、キャブ15は省略されてもよい。走行体14は、履帯16を含む。後述するエンジン24の駆動力によって履帯16が駆動されることで、作業機械1は走行する。
【0016】
作業機12は、車両本体11の前部に取り付けられている。作業機12は、ブーム17とアーム18とバケット19とを含む。ブーム17は、旋回体13に対して上下方向に動作可能に取り付けられている。アーム18は、ブーム17に対して動作可能に取り付けられている。バケット19は、アーム18に対して動作可能に取り付けられている。作業機12は、ブームシリンダ21と、アームシリンダ22と、バケットシリンダ23とを含む。ブームシリンダ21と、アームシリンダ22と、バケットシリンダ23とは、油圧シリンダであり、後述する油圧ポンプ25からの作動油によって駆動される。ブームシリンダ21は、ブーム17を動作させる。アームシリンダ22は、アーム18を動作させる。バケットシリンダ23は、バケット19を動作させる。
【0017】
図3は、作業機械1の制御システムの構成を示すブロック図である。
図3に示すように、作業機械1は、エンジン24と、油圧ポンプ25と、動力伝達装置26と、コントローラ27とを含む。
【0018】
エンジン24は、コントローラ27からの指令信号により制御される。油圧ポンプ25は、エンジン24によって駆動され、作動油を吐出する。油圧ポンプ25から吐出された作動油は、ブームシリンダ21と、アームシリンダ22と、バケットシリンダ23とに供給される。
【0019】
作業機械1は、旋回モータ28を含む。旋回モータ28は、油圧モータであり、油圧ポンプ25からの作動油によって駆動される。旋回モータ28は、旋回体13を旋回させる。なお、
図2では、1つの油圧ポンプ25が図示されているが、複数の油圧ポンプが設けられてもよい。
【0020】
油圧ポンプ25は可変容量ポンプである。油圧ポンプ25にはポンプ制御装置29が接続されている。ポンプ制御装置29は、油圧ポンプ25の傾転角を制御する。ポンプ制御装置29は、例えば電磁弁を含み、コントローラ27からの指令信号により制御される。コントローラ27は、ポンプ制御装置29を制御することで、油圧ポンプ25の容量を制御する。
【0021】
油圧ポンプ25とシリンダ21-23と旋回モータ28とは、制御弁31を介して油圧回路によって接続されている。制御弁31は、コントローラ27からの指令信号によって制御される。制御弁31は、油圧ポンプ25からシリンダ21-23及び旋回モータ28に供給される作動油の流量を制御する。コントローラ27は、制御弁31を制御することで、作業機12の動作を制御する。また、コントローラ27は、制御弁31を制御することで、旋回体13の旋回を制御する。
【0022】
動力伝達装置26は、エンジン24の駆動力を走行体14に伝達する。動力伝達装置26は、例えば、トルクコンバーター、或いは複数の変速ギアを有するトランスミッションであってもよい。或いは、動力伝達装置26は、HST(Hydro Static Transmission)、或いはHMT(Hydraulic Mechanical Transmission)などの他の形式のトランスミッションであってもよい。
【0023】
コントローラ27は、取得したデータに基づいて作業機械1を制御するようにプログラムされている。コントローラ27は、エンジン24と走行体14と動力伝達装置26とを制御することで、作業機械1を走行させる。コントローラ27は、エンジン24と油圧ポンプ25と制御弁31とを制御することで、作業機12を動作させる。
【0024】
コントローラ27は、CPU或いはGPU等のプロセッサ271と、メモリ272とを含む。プロセッサ271は、作業機械1の自動制御のための処理を行う。メモリ272は、例えばRAMなどの揮発性メモリ、或いはROMなどの不揮発性メモリを含んでもよい。メモリ272は、作業機械1の自動制御のためのデータ及びプログラムを記憶している。
【0025】
作業機械1は、位置センサ33と、作業機センサ34a-34cと、旋回角度センサ39とを含む。位置センサ33は、作業機械1の位置を検出し、作業機械1の位置を示す位置データを出力する。位置センサ33は、GNSS(Global Navigation Satellite System)レシーバを含む。GNSSレシーバは、例えばGPS(Global Positioning System)用の受信機である。
【0026】
作業機センサ34a-34cは、作業機12の姿勢を検出し、作業機12の姿勢を示す姿勢データを出力する。作業機センサ34a-34cは、例えばシリンダ21-23のストローク量を検出するストロークセンサである。作業機12の姿勢データは、シリンダ21-23のストローク量を含む。或いは、作業機センサ34a-34cは、ブーム17、アーム18、及びバケット19のそれぞれの回転角度を検出するセンサなどの他のセンサであってもよい。旋回角度センサ39は、走行体14に対する旋回体13の旋回角度を検出し、旋回角度を示す旋回角度データを出力する。
【0027】
コントローラ27は、位置センサ33、作業機センサ34a-34c、及び旋回角度センサ39と有線或いは無線によって通信可能に接続されている。コントローラ27は、位置センサ33と作業機センサ34a-34cと旋回角度センサ39とから、それぞれ作業機械1の位置データと作業機12の姿勢データと旋回角度データとを受信する。コントローラ27は、位置データと姿勢データと旋回角度データとから、バケット19の刃先位置を算出する。例えば、作業機械1の位置データは、位置センサ33のグローバル座標を示す。コントローラ27は、作業機12の姿勢データと旋回角度データとに基づいて、位置センサ33のグローバル座標からバケット19の刃先位置のグローバル座標を算出する。
【0028】
作業機械1は、地形センサ35を含む。地形センサ35は、作業機械1の周囲の地形を計測して、地形センサ35が計測した地形を示す地形データを出力する。本実施形態では、地形センサ35は、旋回体13の側部に取り付けられている。地形センサ35は、旋回体13の側方に位置する地形を計測する。地形センサ35は、例えばライダ(LIDAR:Laser Imaging Detection and Ranging)である。ライダは、レーザーを照射して、その反射光を計測することで、地形上の複数の計測点までの距離を測定する。地形データは、作業機械1に対する各計測点の位置を示す。
【0029】
作業機械1は、作業監視カメラ36と、複数の周辺監視カメラ41-44とを含む。
図2に示すように、作業監視カメラ36は、旋回体13の前方に向けて、旋回体13に取り付けられている。作業監視カメラ36は、旋回体13の前方を撮影する。作業監視カメラ36はステレオカメラである。作業監視カメラ36は、作業監視カメラ36が撮影した画像を示す作業画像データを出力する。
【0030】
複数の周辺監視カメラ41-44は、作業機械1の周辺を撮影する。周辺監視カメラ41-44は、旋回体13に取り付けられている。
図4は、作業機械1及びその周囲の平面図である。
図4に示すように、周辺監視カメラ41-44は、それぞれ互いに異なる方向を撮影する。周辺監視カメラ41-44は、単眼カメラである。周辺監視カメラ41-44は、第1カメラ41と第2カメラ42と第3カメラ43と第4カメラ44とを含む。
【0031】
第1カメラ41は、旋回体13の一方の側部に取り付けられている。第2カメラ42は、旋回体13の他方の側部に取り付けられている。第1カメラ41は、作業機械1の一側方を撮影する。第2カメラ42は、作業機械1の他側方を撮影する。第3カメラ43と第4カメラ44とは、旋回体13の後部に取り付けられている。第3カメラ43と第4カメラ44とは、作業機械1の後方を撮影する。
【0032】
第1カメラ41は、第1カメラ41が撮影した第1撮影画像を示す第1画像データを出力する。第2カメラ42は、第2カメラ42が撮影した第2撮影画像を示す第2画像データを出力する。第3カメラ43は、第3カメラ43が撮影した第3撮影画像を示す第3画像データを出力する。第4カメラ44は、第4カメラ44が撮影した第4撮影画像を示す第4画像データを出力する。
【0033】
コントローラ27は、作業監視カメラ36及び周辺監視カメラ41-44と有線或いは無線により通信可能に接続されている。コントローラ27は、作業監視カメラ36から作業画像データを受信する。コントローラ27は、周辺監視カメラ41-44から第1~第4画像データを受信する。なお、周辺監視カメラ41-44の数は、4つに限らず3つ以下、或いは5つ以上であってもよい。
【0034】
作業機械1は、通信装置38を含む。通信装置38は、作業機械1の外部の機器とデータ通信を行う。通信装置38は、作業機械1の外部のリモートコンピュータ機器4と通信を行う。リモートコンピュータ機器4は、作業現場に配置されてもよい。或いは、リモートコンピュータ機器4は、作業現場から離れた管理センタ内に配置されてもよい。リモートコンピュータ機器4は、ディスプレイ401と入力装置402とを含む。
【0035】
ディスプレイ401は、作業機械1に関する画像を表示する。ディスプレイ401は、コントローラ27から通信装置38を介して受信した信号に応じた画像を表示する。入力装置402は、オペレータによって操作される。入力装置402は、例えばタッチパネルを含んでもよく、或いは、ハードウェアキーを含んでもよい。リモートコンピュータ機器4は、入力装置402によって入力された指令を示す信号を、通信装置38を介してコントローラ27に送信する。
【0036】
図3に示すように、運搬車両2は、車両本体51と、走行体52と、荷台53とを含む。車両本体51は、走行体52に支持されている。走行体52が駆動されることで、運搬車両2は走行する。荷台53は、車両本体51に支持されている。運搬車両2は、位置センサ63と通信装置66とを含む。位置センサ63は、例えば作業機械1の位置センサ33と同様に、GNSSレシーバを含む。位置センサ63は、運搬車両2の位置を検出する。作業機械1の通信装置38は、運搬車両2の通信装置66とデータ通信を行う。作業機械1のコントローラ27は、通信装置38,66を介して、運搬車両2の位置データを受信する。
【0037】
次に、作業機械1のコントローラ27によって実行される自動制御モードの処理について説明する。自動制御モードでは、コントローラ27は、作業機械1が所定の作業を自動で行うように、作業機械1を制御する。本実施形態において、所定の作業は、掘削及び積込である。
図5は、自動制御モードの処理を示すフローチャートである。
【0038】
コントローラ27は、自動制御モードの開始指令を受信すると、作業機械1のエンジン24を始動すると共に、
図5に示す処理を実行する。自動制御モードの開始指令は、例えばオペレータが上述したリモートコンピュータ機器4の入力装置402を操作することで、リモートコンピュータ機器4から出力される。コントローラ27は、通信装置38を介して開始指令を受信する。
【0039】
図5に示すように、ステップS101では、コントローラ27は、作業機械1の位置を取得する。ここでは、コントローラ27は、位置センサ33と、作業機センサ34a-34cと、旋回角度センサ39とから、それぞれ作業機械1の位置データと作業機12の姿勢データと旋回角度データとを取得する。コントローラ27は、位置データと姿勢データと旋回角度データとから、バケット19の刃先位置を算出する。
【0040】
ステップS102では、コントローラ27は、画像データを取得する。ここでは、コントローラ27は、旋回体13の前方の画像を示す作業画像データを作業監視カメラ36から取得する。また、コントローラ27は、旋回体13の両側方及び後方の画像を示す第1~第4画像データを周辺監視カメラ41-44から取得する。なお、作業監視カメラ36と周辺監視カメラ41-44とは、少なくとも自動制御モードの実行中には、常時、撮影を行い、作業画像データと第1~第4画像データとを生成する。コントローラ27は、少なくとも自動制御モードの実行中には、作業監視カメラ36と周辺監視カメラ41-44とから、リアルタイムに作業画像データと第1~第4画像データとを取得する。
【0041】
ステップS103では、コントローラ27は、画像処理を実行する。画像処理は、作業画像データと第1~第4画像データとに基づいて、画像認識技術により、作業機械1の周囲における所定の物体の存在を検出する。ステップS104では、コントローラ27は、作業機械1の近傍に人が検出されたかを判定する。画像処理、及び、人の検出方法については、後に説明する。作業機械1の近傍に人が検出されないときには、コントローラ27は、ステップS105からステップS109に示す第1制御モードの処理を実行する。
【0042】
ステップS105では、コントローラ27は、運搬車両2を検出したかを判定する。コントローラ27は、画像認識技術により、作業画像データから運搬車両2が所定の積込位置P2に到達したかを検出する。或いは、コントローラ27は、運搬車両2から受信した位置データにより、運搬車両2が所定の積込位置P2に到達したかを検出する。コントローラ27が運搬車両2を検出したときには、処理はステップS106に進む。
【0043】
ステップS106では、コントローラ27は、自動掘削を行う。ここでは、コントローラ27は、所定の掘削位置P1で作業機12による掘削を行うように作業機械1を制御する。自動掘削において、コントローラ27は、地形センサ35によって掘削位置P1の地形を計測する。コントローラ27は、地形センサ35が計測した掘削位置P1の地形に応じて、作業機12による掘削位置を調整する。また、コントローラ27は、地形センサ35が計測した掘削位置P1の地形に応じて、目標掘削経路を決定する。コントローラ27は、目標掘削経路に従って作業機12の刃先が移動するように、作業機12を制御する。
【0044】
ステップS107では、コントローラ27は、自動積込を行う。ここでは、コントローラ27は、掘削位置P1から積込位置P2に向けて旋回体13を旋回させ、積込位置P2で作業機12から排土するように作業機械1を制御する。それにより、積込位置P2に停車している運搬車両2の荷台53に掘削された素材が積み込まれる。
【0045】
ステップS108では、コントローラ27は、積込が終了したかを判定する。コントローラ27は、例えば荷台53に積み込まれた素材の重量を取得し、当該素材の重量が許容重量に達したときに、積込が終了したと判定する。
【0046】
ステップS108において、積込が終了していないとコントローラ27が判定したときには、処理はステップS106に戻る。そして、ステップS106とステップS107の処理が繰り返される。それにより、素材の掘削と運搬車両2への積込とが繰り返される。
【0047】
ステップS108において、積込が終了したとコントローラ27が判定したときには、処理はステップS109に進む。ステップS109では、コントローラ27は、運搬車両2に積込位置P2からの離脱指令を送信する。運搬車両2は、離脱指令を受信すると、積込位置P2からダンプ位置P3に向かって移動する。
【0048】
ステップS110では、コントローラ27は、終了指令を受信したかを判定する。終了指令を受信したときには、コントローラ27は、自動制御モードを停止させる。例えば、コントローラ27は、オペレータが上述したリモートコンピュータ機器4の入力装置402を操作することで、リモートコンピュータ機器4から出力される。コントローラ27は、通信装置38を介して終了指令を受信する。
【0049】
ステップS104において、作業機械1の近傍に人が検出されたときには、コントローラ27は、ステップS111に示す第2制御モードの処理を実行する。詳細には、ステップS111では、コントローラ27は、出力装置45に警報を出力させる。
図2に示すように、本実施形態では、出力装置45は、作業機械1に設けられた警告灯である。コントローラ27は、作業機械1の近傍に人が検出されたときには、警告灯を点灯する。なお、出力装置45は、スピーカーであってもよい。コントローラ27は、作業機械1の近傍に人が検出されたときには、スピーカーから警告音を発してもよい。
【0050】
コントローラ27は、少なくとも自動制御モードの実行中には、作業機械1の近傍での人の検出の判断をリアルタイムに行う。従って、コントローラ27は、第1制御モードの実行中に作業機械1の近傍に人が検出されたときには、第1制御モードでの処理を実行しながら、出力装置45に警報を出力させてもよい。或いは、コントローラ27は、第1制御モードの処理を停止して、出力装置45に警報を出力させてもよい。
【0051】
次に、作業機械1の近傍での人の検出方法について説明する。コントローラ27は、AI(Artificial Intelligence)を用いた画像認識技術により、作業画像データと第1~第4画像データとが示す画像中の特定の物体の存在を検出する。特定の物体は人を含む。特定の物体は、人のみに限らず、運搬車両2、或いはブルドーザなどの他の作業機械を含んでもよい。コントローラ27は、画像認識技術により、人と、他の特定の物体とを識別する。
【0052】
図6に示すように、コントローラ27は、学習済みの物体検出モデル111を含む。物体検出モデル111は、コントローラ27に実装されている。物体検出モデル111は、画像解析のための人工知能モデルである。物体検出モデル111は、入力された画像データD11を解析して、画像データが示す画像中に特定の物体が含まれているかを判定する。画像データD11は、上述した作業画像データ及び第1~第4画像データを含む。
【0053】
画像データD11が示す画像中に特定の物体が含まれているときには、物体検出モデル111は、画像中の特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離を出力する。特定の物体のクラスは、特定の物体の種類であり、人を含む。特定の物体のクラスは、運搬車両2或いはブルドーザなど、人以外の種類を含んでもよい。
【0054】
物体検出モデル111は、
図7に示すニューラルネットワーク120を含む。例えば、物体検出モデル111は、畳み込みニューラルネットワーク(CNN)などのディープニューラルネットワークを含む。
図7に示すように、ニューラルネットワーク120は、入力層121、中間層122(隠れ層)、及び出力層123を含む。各層121,122,123は、1又は複数のニューロンを備えている。互いに隣接する層のニューロン同士は結合されており、各結合には重み(結合荷重)が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
【0055】
入力層121には、画像データD11が入力される。出力層123には、画像において検出された特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離とを示す出力値が出力される。物体検出モデル111は、画像データD11が入力されると、画像において検出された特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離とを示す出力値を出力するように学習済みである。学習によって得られた物体検出モデル111の学習済みパラメータは、コントローラ27に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク120の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
【0056】
図8は、作業機械1の近傍での人を検出するための処理を示すフローチャートである。
図8に示すように、ステップS201では、コントローラ27は、画像内の人を検出する。コントローラ27は、上述したように、物体検出モデル111を用いた画像解析により、作業画像データが示す画像と、第1~第4画像データが示す作業機械1の複数の撮影画像とのそれぞれに対して、人を検出する。
【0057】
図9は、第1カメラ41によって撮影された第1撮影画像の一例を示す図である。
図9に示すように、画像に複数の人H1-H3が含まれるときには、コントローラ27は、画像中の複数の人H1-H3をそれぞれ認識して検出する。コントローラ27は、画像中の複数の人H1-H3のそれぞれの画像内における座標と、作業機械1からの距離とを検出する。画像中の人H1-H3の座標は、人H1-H3を示す枠の画像内での位置を示す。例えば、
図10は、
図9に示す画像において検出された人H1-H3の位置を示す平面図である。コントローラ27は、作業機械1から、画像中に含まれる人H1-H3までの距離L1-L3を取得する。
【0058】
ステップS202では、コントローラ27は、距離パラメータDを決定する。コントローラ27は、画像中に人が一人だけ含まれているときには、画像中に含まれる当該人までの距離を距離パラメータDとして決定する。コントローラ27は、画像中に複数の人が含まれているときには、画像中に含まれる複数の人までの距離のうち最短の距離を距離パラメータDとして選択する。
【0059】
例えば、
図10に示す例では、コントローラ27は、画像中に含まれる複数の人H1-H3までの距離L1-L3のうち最短の距離L3を距離パラメータDとして選択する。なお、コントローラ27は、所定のサンプリング時間ごとに画像中に含まれる人を検出し、当該人までの距離を取得する。また、コントローラ27は、所定のサンプリング時間ごとに距離パラメータDを決定する。
【0060】
コントローラ27は、第1~第4撮影画像のそれぞれについて距離パラメータDを決定する。例えば、第1撮影画像において複数の人が検出されたときには、第1撮影画像に含まれる複数の人までの距離のうち最短の距離を第1撮影画像における距離パラメータDとして決定する。第2撮影画像において複数の人が検出されたときには、第2撮影画像に含まれる複数の人までの距離のうち最短の距離を第2撮影画像における距離パラメータDとして決定する。第3撮影画像において複数の人が検出されたときには、第3撮影画像に含まれる複数の人までの距離のうち最短の距離を第3撮影画像における距離パラメータDとして決定する。第4撮影画像において複数の人が検出されたときには、第4撮影画像に含まれる複数の人までの距離のうち最短の距離を第4撮影画像における距離パラメータDとして決定する。
【0061】
ステップS203では、コントローラ27は、距離パラメータDが所定の距離閾値Aより小さいかを判定する。距離パラメータDが所定の距離閾値Aより小さいときには、コントローラ27は、ステップS204において、作業機械1の近傍に人を検出したと決定する。
【0062】
コントローラ27は、複数の撮影画像において人が検出されたときには、ステップS203において、複数の撮影画像のそれぞれの距離パラメータDのうち、少なくとも1つが所定の距離閾値Aより小さいかを判定する。そして、複数の撮影画像のそれぞれの距離パラメータDのうち、少なくとも1つが所定の距離閾値Aより小さいときには、コントローラ27は、ステップS204において、作業機械1の近傍に人を検出したと決定する。
【0063】
上述したように、コントローラ27は、作業機械1の近傍に人を検出したときには、ス出力装置45から警報を出力する。従って、コントローラ27は、複数の撮影画像の少なくとも1つにおいて、作業機械1から所定の距離閾値Aまでの範囲に人を検出したときには、出力装置45から警報を出力する。また、コントローラ27は、作業画像データが示す画像、及び、撮影画像の全てにおいて、作業機械1から所定の距離閾値Aまでの範囲に人を検出しなくなったときには、出力装置45からの警報を停止する。
【0064】
以上説明した本実施形態に係る作業機械1の制御システムでは、コントローラ27は、学習済みの物体検出モデル111を用いた画像解析によって、作業機械1の撮影画像から、人の存在を検出すると共に、作業機械1から人までの距離を取得する。そして、コントローラ27は、検出した人まで距離に基づいて作業機械1を制御することで、周囲の環境を考慮しつつ、作業機械1による作業を自動で行うことができる。
【0065】
また、物体検出モデル111は、特定の物体と当該物体までの距離とを学習しているので、単画像を物体検出モデル11に入力すれば、当該単画像に含まれる特定の物体と、距離とを得ることができる。そのため、撮影される地形の形状情報および撮影された物体の大きさ等の情報を利用することなく、単画像から距離を取得することができる。
【0066】
次に、実施形態に係る分類モデル111の学習方法について説明する。
図11は、物体検出モデル111の学習を行う学習システム200を示す図である。学習システム200は、学習データ生成モジュール211と学習モジュール212とを含む。
【0067】
学習データ生成モジュール211は、画像データD21から学習データD22を生成する。学習モジュール212は、学習データD22を用いて、物体検出モデル111の学習を行い、物体検出モデル111のパラメータを最適化する。学習システム200は、最適化されたパラメータを学習済みパラメータD23として取得する。学習データ生成モジュール211と学習モジュール212とは、コンピュータに実装されている。学習データ生成モジュール211と学習モジュール212とは、単一のコンピュータに実装されてもよい。或いは、学習データ生成モジュール211と学習モジュール212とは、複数のコンピュータに分散して実装されてもよい。
【0068】
学習データ生成モジュール211は、画像データD21が示す画像において指定された枠内の画像に、特定の物体のクラス情報と位置情報と距離情報とを割り当てる。クラス情報は、画像に存在する特定の物体のクラスを示す。位置情報は、画像における特定の物体の位置であり、画像における枠の座標を示す。距離情報は、特定の物体までの距離を示す。
【0069】
クラス情報は、人間が手動で入力することで、割り当てられもよい。位置情報は、画像データD21から、学習データ生成モジュール211の演算により割り当てられてもよい。距離情報は、ステレオカメラによって取得された画像データD21から学習データ生成モジュール211の演算により割り当てられてもよい。或いは、距離情報は、人間が手動で入力することで、割り当てられもよい。学習データ生成モジュール211は、複数の画像に対して上記の割り当てを繰り返すことで、学習データD22を生成する。
【0070】
学習モジュール212は、学習データD22によって物体検出モデル111の学習を行う。学習モジュール212は、学習データD22に含まれる画像を入力データとし、作業画像中の特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離を教師データとして、物体検出モデル111の学習を行う。
【0071】
例えば、コンピュータ202は、画像の各画素値を入力層121の入力として用いて、ニューラルネットワーク120の順伝播方向の演算処理を行う。これにより、学習モジュール212は、ニューラルネットワーク120の出力層123から出力される出力値を得る。次に、学習モジュール212は、出力層123から出力される出力値と、教師データが示す正しい出力値との誤差を算出する。学習モジュール212は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習モジュール212は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【0072】
学習モジュール212は、複数の画像について、物体検出モデル111からの出力値が、教師データが示す正しい出力値と一致するまで、上記の処理を繰り返す。それにより、物体検出モデル111のパラメータが最適化され、物体検出モデル111を学習させることができる。
【0073】
なお、物体検出モデル111の各種のパラメータの初期値は、テンプレートにより与えられてもよい。或いは、パラメータの初期値は、人間の入力により手動で与えられてもよい。物体検出モデル111の再学習を行うときには、学習モジュール212は、再学習を行う対象となる物体検出モデル111の学習済みパラメータD23に基づいて、パラメータの初期値を用意してもよい。
【0074】
なお、学習システム200は、上述した物体検出モデル111の学習を定期的に実行することで、学習済みパラメータD23を更新してもよい。学習システム200は、更新した学習済みパラメータD23をコントローラ27に転送してもよい。コントローラ27は、転送された学習済みパラメータD23によって、物体検出モデル111のパラメータを更新してもよい。
【0075】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
【0076】
作業機械1は、油圧ショベルに限らず、ホイールローダ、或いはモータグレーダ等の他の機械であってもよい。作業機械1の構成は、上記の実施形態のものに限らず、変更されてもよい。作業機械1は、電動モータで駆動される車両であってもよい。例えば、走行体14及び/又は旋回体13は、電動モータで駆動されてもよい。作業機12の構成が変更されてもよい。例えば、作業機12は、バケット19に限らず、グラップル、フォーク、リフティングマグネットなどの他の積込用アタッチメントを含んでもよい。
【0077】
運搬車両2は、ダンプトラック以外の車両であってもよい。運搬車両2の構成は、上記の実施形態のものに限らず、変更されてもよい。運搬車両2は自動制御により運転されてもよい。或いは、運搬車両2は、オペレータによって手動で運転されてもよい。運搬車両2は、省略されてもよい。すなわち、作業機械1が行う作業は、運搬車両2と協働するもの以外の作業であってもよい。
【0078】
作業機械1に備えられる各種のセンサの構成は、上記の実施形態のものに限らず、変更されてもよい。例えば、地形センサ35は、旋回体13の側部以外の部分に配置されてもよい。地形センサ35は、ライダに限らず、レーダーなどの他のセンシング装置であってもよい。或いは、地形センサ35はカメラであってもよく、コントローラ27は、カメラが撮影した画像を解析することで、地形を認識してもよい。
【0079】
作業監視カメラ36は、旋回体13の前部以外の部分に配置されてもよい。周辺監視カメラ41-44は、旋回体13の両側部及び後部以外の部分に配置されてもよい。
【0080】
コントローラ27は、一体に限らず、複数のコントローラ27に分かれていてもよい。コントローラ27によって実行される処理は、複数のコントローラ27に分散して実行されてもよい。その場合、複数のコントローラ27の一部は、作業機械1の外部に配置されてもよい。
【0081】
コントローラ27によって実行される自動制御モードの処理は、上述した実施形態のものに限らず、変更されてもよい。第1制御モードにおいて作業機械1が行う所定の作業は、掘削及び積込に限らず、他の作業であってもよい。第2制御モードにおいて、コントローラ27は、作業機械1を停止させてもよい。或いは、コントローラ27は、第2制御モードにおいて、作業機械1の動作を第1制御モードでの動作よりも制限してもよい。例えば、コントローラ27は、作業機械1の旋回速度を低減してもよい。コントローラ27は、作業機械1の旋回範囲を制限してもよい。コントローラ27は、作業機械1の走行速度を低減してもよい。コントローラ27は、作業機械1の走行範囲を制限してもよい。
【0082】
上述したように、コントローラ27は、所定のサンプリング時間ごとに、距離パラメータDを決定する。コントローラ27は、今回の距離パラメータDと前回の距離パラメータDとの差分が所定の閾値より大きいときには、差分が小さくなるように今回の距離パラメータDを補正してもよい。例えば、コントローラ27は、今回の距離パラメータDと前回の距離パラメータDとの平均値を、今回の距離パラメータDとして決定してもよい。或いは、コントローラ27は、今回の距離パラメータDを無視して、前回の距離パラメータDと同じ値を今回の距離パラメータDとして決定してもよい。
【0083】
図12は、変形例に係る作業機械1の制御システムの構成を示すブロック図である。
図12に示すように、作業機械1の制御システムは、ディスプレイ46を備えてもよい。ディスプレイ46は、例えばLCD(liquid crystal display)、有機EL(electroluminescence)ディスプレイ、或いはCRT(cathode ray tube)ディスプレイなどである。コントローラ27は、撮影画像から検出した特定の物体のクラスと距離とを、撮影画像に付加してディスプレイ46に表示させてもよい。なお、ディスプレイ46は、作業機械1に搭載されてもよい。或いは、ディスプレイ46は、作業機械1の外部に配置されてもよい。
【産業上の利用可能性】
【0084】
本発明によれば、周囲の環境を考慮しつつ、作業機械による作業を自動で行うことが可能となる。
【符号の説明】
【0085】
1 作業機械
41-44 周辺監視カメラ
271 プロセッサ
45 出力装置
46 ディスプレイ