(57)【要約】【課題】周囲の環境を考慮しつつ、作業機械による作業を自動で行うことが可能な技術を提供する。【解決手段】プロセッサは、カメラが撮影した撮影画像を示す画像データを取得する。プロセッサは、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得する。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。プロセッサは、撮影画像において特定の物体を検出したときには、作業機械から特定の物体までの距離に基づいて作業機械を制御する。【選択図】図９
2020041326.tif 000002
【特許請求の範囲】
【請求項１】
作業機械と、
前記作業機械の周辺を撮影するカメラと、
プロセッサと、
を備え、
前記プロセッサは、
前記カメラによって撮影された撮影画像を示す画像データを取得し、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得し、
前記撮影画像において前記特定の物体を検出したときには、前記作業機械から前記特定の物体までの距離に基づいて前記作業機械を制御する、
システム。
【請求項２】
前記プロセッサは、
前記撮影画像において複数の前記特定の物体を検出したときには、前記作業機械から前記複数の特定の物体のそれぞれまでの距離のうち最短の距離を距離パラメータとして選択し、
前記距離パラメータに基づいて前記作業機械を制御する、
請求項１に記載のシステム。
【請求項３】
前記プロセッサは、
前記距離パラメータが所定の距離閾値以上であるときには、前記作業機械が所定の作業を自動で行う第１制御モードにて前記作業機械を制御し、
前記距離パラメータが前記所定の距離閾値より小さいときには、前記第１制御モードと異なる第２制御モードにて前記作業機械を制御する、
請求項２に記載のシステム。
【請求項４】
前記プロセッサは、
前記作業機械の互いに異なる方向の複数の撮影画像を示す複数の画像データを取得し、
前記物体検出モデルを用いた画像解析により、前記複数の撮影画像のそれぞれにおいて前記特定の物体を検出したときには、前記複数の撮影画像のそれぞれに対して前記距離パラメータを決定し、
前記複数の撮影画像のそれぞれの前記距離パラメータのうち少なくとも１つが前記所定の距離閾値より小さいときには、前記第２制御モードにて前記作業機械を制御する、
請求項３に記載のシステム。
【請求項５】
前記作業機械は、出力装置を含み、
前記プロセッサは、前記第２制御モードにおいて前記出力装置に警報を出力させる、
請求項３又は４に記載のシステム。
【請求項６】
前記プロセッサは、前記第２制御モードでは、前記第１制御モードよりも前記作業機械の動作を制限する、
請求項３から５のいずれかに記載のシステム。
【請求項７】
前記プロセッサは、前記第２制御モードでは、前記作業機械を停止させる、
請求項３から６のいずれかに記載のシステム。
【請求項８】
前記プロセッサは、所定時間ごとに前記距離を取得し、
今回の距離と前回の距離との差分が所定の閾値より大きいときには、前記差分が小さくなるように前記今回の距離を補正する、
請求項１から７のいずれかに記載のシステム。
【請求項９】
前記カメラは、単眼カメラである、
請求項１から８のいずれかに記載のシステム。
【請求項１０】
前記特定の物体は、人を含む、
請求項１から９のいずれかに記載のシステム。
【請求項１１】
作業機械を制御するためにプロセッサによって実行される方法であって、
前記作業機械の周辺を撮影した撮影画像を示す画像データを取得することと、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得することと、
前記撮影画像において前記特定の物体を検出したときには、前記作業機械から前記特定の物体までの距離に基づいて前記作業機械を制御すること、
を備える方法。
【請求項１２】
前記撮影画像において複数の前記特定の物体が検出されたときには、前記作業機械から前記複数の特定の物体のそれぞれまでの距離のうち最短の距離を距離パラメータとして選択することと、
前記距離パラメータに基づいて前記作業機械を制御すること、
をさらに備える、
請求項１１に記載の方法。
【請求項１３】
前記距離パラメータが所定の距離閾値以上であるときには、前記作業機械が所定の作業を自動で行う第１制御モードにて前記作業機械を制御することと、
前記距離パラメータが前記所定の距離閾値より小さいときには、前記第１制御モードと異なる第２制御モードにて前記作業機械を制御すること、
をさらに備える、
請求項１２に記載の方法。
【請求項１４】
前記作業機械の互いに異なる方向の複数の撮影画像を示す複数の画像データを取得することと、
前記物体検出モデルを用いた画像解析により、前記複数の撮影画像のそれぞれにおいて前記特定の物体を検出したときには、前記複数の撮影画像のそれぞれに対して前記距離パラメータを決定することと、
前記複数の撮影画像のそれぞれの前記距離パラメータのうち少なくとも１つが前記所定の距離閾値より小さいときには、前記第２制御モードにて前記作業機械を制御すること、
をさらに備える請求項１３に記載の方法。
【請求項１５】
前記作業機械は、出力装置を含み、
前記第２制御モードにて前記作業機械を制御することは、前記出力装置に警報を出力させることを含む、
請求項１３又は１４に記載の方法。
【請求項１６】
前記第２制御モードにて前記作業機械を制御することは、前記第１制御モードよりも前記作業機械の動作を制限することを含む、
請求項１３から１５のいずれかに記載の方法。
【請求項１７】
前記第２制御モードにおいて前記作業機械を制御することは、前記作業機械を停止させることを含む、
請求項１３から１６のいずれかに記載の方法。
【請求項１８】
前記特定の物体は、人を含む、
請求項１１から１７のいずれかに記載の方法。
【請求項１９】
作業機械と、
前記作業機械の周辺を撮影するカメラと、
ディスプレイと、
プロセッサと、
を備え、
前記プロセッサは、
前記カメラによって撮影された撮影画像を示す画像データを取得し、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記画像データから、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離とを取得し、
前記特定の物体を示す情報と、前記距離を示す情報とを前記撮影画像に付加して前記ディスプレイに表示させる、
システム。
【請求項２０】
物体検出モデルを学習させるための学習データであって、
作業機械付近の画像を示す画像データと、
前記画像に存在する特定の物体のクラス情報と、
前記画像における前記特定の物体の位置情報と、
前記特定の物体に関する距離情報と、
を備える学習データ。
【請求項２１】
物体検出モデルの製造方法であって、
作業機械付近の画像を示す画像データと、前記画像に存在する特定の物体のクラス情報と、前記画像における前記特定の物体の位置情報と、前記特定の物体に関する距離情報と、を含む学習データを取得することと、
前記学習データによりモデルを学習させること、
を備える製造方法。
【請求項２２】
コンピュータによって実行される方法であって、 
作業機械付近の画像を取得することと、
特定の物体の画像と、前記特定の物体までの距離とを学習済みの物体検出モデルを用いた画像解析により、前記撮影画像内に存在する前記特定の物体と、前記作業機械から前記特定の物体までの距離と検出することと、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機械の制御システム及び方法に関する。
【背景技術】
【０００２】
作業機械による作業を自動制御によって行う技術が知られている。例えば、特許文献１では、掘削位置と排土位置とが作業機械のコントローラに予め教示されている。コントローラは、掘削位置で掘削を行い、掘削位置から排土位置に向けて作業機械を旋回させ、排土位置で排土するように作業機械を制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１９２５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、作業機械による作業を自動制御によって行う場合、作業機械は自動で動作する。このような自動動作は、周囲の環境を考慮しつつ行うことが好ましい。本発明は、周囲の環境を考慮しつつ、作業機械による作業を自動で行うことが可能な技術を提供する。
【課題を解決するための手段】
【０００５】
第１の態様に係るシステムは、作業機械と、作業機械の周辺を撮影するカメラと、プロセッサとを備える。プロセッサは、カメラが撮影した撮影画像を示す画像データを取得する。プロセッサは、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得する。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。プロセッサは、撮影画像において特定の物体を検出したときには、作業機械から特定の物体までの距離から得られる距離に基づいて作業機械を制御する。
【０００６】
第２の態様に係る方法は、作業機械を制御するためにプロセッサによって実行される方法である。当該方法は、以下の処理を備える。第１の処理は、作業機械の周辺を撮影した撮影画像を示す画像データを取得することである。第２の処理は、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得することである。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。第３の処理は、撮影画像において特定の物体を検出したときに、作業機械から特定の物体までの距離に基づいて作業機械を制御することである。
【０００７】
第３の態様に係るシステムは、作業機械と、作業機械の周辺を撮影するカメラと、ディスプレイと、プロセッサとを備える。プロセッサは、カメラによって撮影された撮影画像を示す画像データを取得する。プロセッサは、物体検出モデルを用いた画像解析により、画像データから、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離とを取得する。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。プロセッサは、特定の物体を示す情報と、距離を示す情報とを撮影画像に付加してディスプレイに表示させる。
【０００８】
第4の態様に係る学習データは、物体検出モデルを学習させるための学習データであって、作業機械付近の画像を示す画像データと、画像に存在する特定の物体のクラス情報と、画像における特定の物体の位置情報と、特定の物体に関する距離情報とを備える。
【０００９】
第５の態様に係る方法は、物体検出モデルの製造方法であって、以下の処理を備える。第1の処理は、学習データを取得することである。学習データは、作業機械付近の画像を示す画像データと、画像に存在する特定の物体のクラス情報と、画像における特定の物体の位置情報と、特定の物体に関する距離情報とを含む。第2の処理は、学習データによりモデルを学習させることである。
【００１０】
第６の態様に係る方法は、コンピュータによって実行される方法であって、以下の処理を備える。第１の処理は、作業機械付近の画像を取得することである。第２の処理は、物体検出モデルを用いた画像解析により、撮影画像内に存在する特定の物体と、作業機械から特定の物体までの距離と検出することである。物体検出モデルは、特定の物体の画像と、特定の物体までの距離とを学習済みである。
【発明の効果】
【００１１】
本発明では、学習済みの物体検出モデルを用いた画像解析によって、作業機械の撮影画像から、特定の物体の存在を検出すると共に、特定の物体までの距離を取得する。そして、特定の物体までの距離から得られる距離パラメータに基づいて作業機械を制御することで、周囲の環境を考慮しつつ、作業機械による作業を自動で行うことができる。
【図面の簡単な説明】
【００１２】
【図１】作業機械が用いられる作業現場の一例を示す平面図である。
【図２】作業機械の側面図である。
【図３】作業機械の構成を示すブロック図である。
【図４】作業機械及びその周囲の平面図である。
【図５】自動制御モードの処理を示すフローチャートである。
【図６】物体検出モデルによる画像解析のための構成を示す模式図である。
【図７】物体検出モデルの構成を示す模式図である。
【図８】作業機械の近傍での人を検出するための処理を示すフローチャートである。
【図９】作業機械の撮影画像の一例を示す図である。
【図１０】図９に示す撮影画像において検出された人の位置を示す平面図である。
【図１１】物体検出モデルの学習を行う学習システムの構成を示す模式図である。
【図１２】変形例に係る作業機械の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、実施形態に係る作業機械１の制御システムについて、図面を参照しながら説明する。図１は、作業機械１が用いられる作業現場の一例を示す平面図である。作業現場には、作業機械１と運搬車両２とが配置されている。作業機械１は、自動制御により運搬車両２と協働して作業を行う。
【００１４】
本実施形態において、作業機械１は油圧ショベルである。運搬車両２はダンプトラックである。作業機械１は、作業現場内の所定の掘削位置Ｐ１の横に配置されている。運搬車両２は、作業現場内の所定の積込位置Ｐ２と所定のダンプ位置Ｐ３との間を走行して往復する。作業機械１は、自動制御により、掘削位置Ｐ１を掘削して、土砂等の素材を、積込位置Ｐ２に停車している運搬車両２に積み込む。素材を積み込まれた運搬車両２は、ダンプ位置Ｐ３まで走行し、ダンプ位置Ｐ３に素材を降ろす。ダンプ位置Ｐ３には、ブルドーザなどの他の作業機械３が配置されており、ダンプ位置Ｐ３に降ろされた素材を敷き広げる。素材を降ろした運搬車両２は積込位置Ｐ２まで走行し、作業機械１は、積込位置Ｐ２に停車した運搬車両２に再び素材を積み込む。このような作業が繰り返されることで、掘削位置Ｐ１の素材がダンプ位置Ｐ３に移送される。
【００１５】
図２は、作業機械１の側面図である。図２に示すように、作業機械１は、車両本体１１と作業機１２とを含む。車両本体１１は、旋回体１３と走行体１４とを含む。旋回体１３は、走行体１４に対して旋回可能に取り付けられている。旋回体１３にはキャブ１５が配置されている。ただし、キャブ１５は省略されてもよい。走行体１４は、履帯１６を含む。後述するエンジン２４の駆動力によって履帯１６が駆動されることで、作業機械１は走行する。
【００１６】
作業機１２は、車両本体１１の前部に取り付けられている。作業機１２は、ブーム１７とアーム１８とバケット１９とを含む。ブーム１７は、旋回体１３に対して上下方向に動作可能に取り付けられている。アーム１８は、ブーム１７に対して動作可能に取り付けられている。バケット１９は、アーム１８に対して動作可能に取り付けられている。作業機１２は、ブームシリンダ２１と、アームシリンダ２２と、バケットシリンダ２３とを含む。ブームシリンダ２１と、アームシリンダ２２と、バケットシリンダ２３とは、油圧シリンダであり、後述する油圧ポンプ２５からの作動油によって駆動される。ブームシリンダ２１は、ブーム１７を動作させる。アームシリンダ２２は、アーム１８を動作させる。バケットシリンダ２３は、バケット１９を動作させる。
【００１７】
図３は、作業機械１の制御システムの構成を示すブロック図である。図３に示すように、作業機械１は、エンジン２４と、油圧ポンプ２５と、動力伝達装置２６と、コントローラ２７とを含む。
【００１８】
エンジン２４は、コントローラ２７からの指令信号により制御される。油圧ポンプ２５は、エンジン２４によって駆動され、作動油を吐出する。油圧ポンプ２５から吐出された作動油は、ブームシリンダ２１と、アームシリンダ２２と、バケットシリンダ２３とに供給される。
【００１９】
作業機械１は、旋回モータ２８を含む。旋回モータ２８は、油圧モータであり、油圧ポンプ２５からの作動油によって駆動される。旋回モータ２８は、旋回体１３を旋回させる。なお、図２では、１つの油圧ポンプ２５が図示されているが、複数の油圧ポンプが設けられてもよい。
【００２０】
油圧ポンプ２５は可変容量ポンプである。油圧ポンプ２５にはポンプ制御装置２９が接続されている。ポンプ制御装置２９は、油圧ポンプ２５の傾転角を制御する。ポンプ制御装置２９は、例えば電磁弁を含み、コントローラ２７からの指令信号により制御される。コントローラ２７は、ポンプ制御装置２９を制御することで、油圧ポンプ２５の容量を制御する。
【００２１】
油圧ポンプ２５とシリンダ２１−２３と旋回モータ２８とは、制御弁３１を介して油圧回路によって接続されている。制御弁３１は、コントローラ２７からの指令信号によって制御される。制御弁３１は、油圧ポンプ２５からシリンダ２１−２３及び旋回モータ２８に供給される作動油の流量を制御する。コントローラ２７は、制御弁３１を制御することで、作業機１２の動作を制御する。また、コントローラ２７は、制御弁３１を制御することで、旋回体１３の旋回を制御する。
【００２２】
動力伝達装置２６は、エンジン２４の駆動力を走行体１４に伝達する。動力伝達装置２６は、例えば、トルクコンバーター、或いは複数の変速ギアを有するトランスミッションであってもよい。或いは、動力伝達装置２６は、HST（Hydro Static Transmission）、或いはHMT（Hydraulic Mechanical Transmission）などの他の形式のトランスミッションであってもよい。
【００２３】
コントローラ２７は、取得したデータに基づいて作業機械１を制御するようにプログラムされている。コントローラ２７は、エンジン２４と走行体１４と動力伝達装置２６とを制御することで、作業機械１を走行させる。コントローラ２７は、エンジン２４と油圧ポンプ２５と制御弁３１とを制御することで、作業機１２を動作させる。
【００２４】
コントローラ２７は、CPU或いはGPU等のプロセッサ２７１と、メモリ２７２とを含む。プロセッサ２７１は、作業機械１の自動制御のための処理を行う。メモリ２７２は、例えばRAMなどの揮発性メモリ、或いはROMなどの不揮発性メモリを含んでもよい。メモリ２７２は、作業機械１の自動制御のためのデータ及びプログラムを記憶している。
【００２５】
作業機械１は、位置センサ３３と、作業機センサ３４ａ−３４ｃと、旋回角度センサ３９とを含む。位置センサ３３は、作業機械１の位置を検出し、作業機械１の位置を示す位置データを出力する。位置センサ３３は、GNSS(Global Navigation Satellite System)レシーバを含む。GNSSレシーバは、例えばGPS（Global Positioning System）用の受信機である。
【００２６】
作業機センサ３４ａ−３４ｃは、作業機１２の姿勢を検出し、作業機１２の姿勢を示す姿勢データを出力する。作業機センサ３４ａ−３４ｃは、例えばシリンダ２１−２３のストローク量を検出するストロークセンサである。作業機１２の姿勢データは、シリンダ２１−２３のストローク量を含む。或いは、作業機センサ３４ａ−３４ｃは、ブーム１７、アーム１８、及びバケット１９のそれぞれの回転角度を検出するセンサなどの他のセンサであってもよい。旋回角度センサ３９は、走行体１４に対する旋回体１３の旋回角度を検出し、旋回角度を示す旋回角度データを出力する。
【００２７】
コントローラ２７は、位置センサ３３、作業機センサ３４ａ−３４ｃ、及び旋回角度センサ３９と有線或いは無線によって通信可能に接続されている。コントローラ２７は、位置センサ３３と作業機センサ３４ａ−３４ｃと旋回角度センサ３９とから、それぞれ作業機械１の位置データと作業機１２の姿勢データと旋回角度データとを受信する。コントローラ２７は、位置データと姿勢データと旋回角度データとから、バケット１９の刃先位置を算出する。例えば、作業機械１の位置データは、位置センサ３３のグローバル座標を示す。コントローラ２７は、作業機１２の姿勢データと旋回角度データとに基づいて、位置センサ３３のグローバル座標からバケット１９の刃先位置のグローバル座標を算出する。
【００２８】
作業機械１は、地形センサ３５を含む。地形センサ３５は、作業機械１の周囲の地形を計測して、地形センサ３５が計測した地形を示す地形データを出力する。本実施形態では、地形センサ３５は、旋回体１３の側部に取り付けられている。地形センサ３５は、旋回体１３の側方に位置する地形を計測する。地形センサ３５は、例えばライダ（LIDAR：Laser Imaging Detection and Ranging）である。ライダは、レーザーを照射して、その反射光を計測することで、地形上の複数の計測点までの距離を測定する。地形データは、作業機械１に対する各計測点の位置を示す。
【００２９】
作業機械１は、作業監視カメラ３６と、複数の周辺監視カメラ４１−４４とを含む。図２に示すように、作業監視カメラ３６は、旋回体１３の前方に向けて、旋回体１３に取り付けられている。作業監視カメラ３６は、旋回体１３の前方を撮影する。作業監視カメラ３６はステレオカメラである。作業監視カメラ３６は、作業監視カメラ３６が撮影した画像を示す作業画像データを出力する。
【００３０】
複数の周辺監視カメラ４１−４４は、作業機械１の周辺を撮影する。周辺監視カメラ４１−４４は、旋回体１３に取り付けられている。図４は、作業機械１及びその周囲の平面図である。図４に示すように、周辺監視カメラ４１−４４は、それぞれ互いに異なる方向を撮影する。周辺監視カメラ４１−４４は、単眼カメラである。周辺監視カメラ４１−４４は、第１カメラ４１と第２カメラ４２と第３カメラ４３と第４カメラ４４とを含む。
【００３１】
第１カメラ４１は、旋回体１３の一方の側部に取り付けられている。第２カメラ４２は、旋回体１３の他方の側部に取り付けられている。第１カメラ４１は、作業機械１の一側方を撮影する。第２カメラ４２は、作業機械１の他側方を撮影する。第３カメラ４３と第４カメラ４４とは、旋回体１３の後部に取り付けられている。第３カメラ４３と第４カメラ４４とは、作業機械１の後方を撮影する。
【００３２】
第１カメラ４１は、第１カメラ４１が撮影した第１撮影画像を示す第１画像データを出力する。第２カメラ４２は、第２カメラ４２が撮影した第２撮影画像を示す第２画像データを出力する。第３カメラ４３は、第３カメラ４３が撮影した第３撮影画像を示す第３画像データを出力する。第４カメラ４４は、第４カメラ４４が撮影した第４撮影画像を示す第４画像データを出力する。
【００３３】
コントローラ２７は、作業監視カメラ３６及び周辺監視カメラ４１−４４と有線或いは無線により通信可能に接続されている。コントローラ２７は、作業監視カメラ３６から作業画像データを受信する。コントローラ２７は、周辺監視カメラ４１−４４から第１〜第４画像データを受信する。なお、周辺監視カメラ４１−４４の数は、４つに限らず３つ以下、或いは５つ以上であってもよい。
【００３４】
作業機械１は、通信装置３８を含む。通信装置３８は、作業機械１の外部の機器とデータ通信を行う。通信装置３８は、作業機械１の外部のリモートコンピュータ機器４と通信を行う。リモートコンピュータ機器４は、作業現場に配置されてもよい。或いは、リモートコンピュータ機器４は、作業現場から離れた管理センタ内に配置されてもよい。リモートコンピュータ機器４は、ディスプレイ４０１と入力装置４０２とを含む。
【００３５】
ディスプレイ４０１は、作業機械１に関する画像を表示する。ディスプレイ４０１は、コントローラ２７から通信装置３８を介して受信した信号に応じた画像を表示する。入力装置４０２は、オペレータによって操作される。入力装置４０２は、例えばタッチパネルを含んでもよく、或いは、ハードウェアキーを含んでもよい。リモートコンピュータ機器４は、入力装置４０２によって入力された指令を示す信号を、通信装置３８を介してコントローラ２７に送信する。
【００３６】
図３に示すように、運搬車両２は、車両本体５１と、走行体５２と、荷台５３とを含む。車両本体５１は、走行体５２に支持されている。走行体５２が駆動されることで、運搬車両２は走行する。荷台５３は、車両本体５１に支持されている。運搬車両２は、位置センサ６３と通信装置６６とを含む。位置センサ６３は、例えば作業機械１の位置センサ３３と同様に、GNSSレシーバを含む。位置センサ６３は、運搬車両２の位置を検出する。作業機械１の通信装置３８は、運搬車両２の通信装置６６とデータ通信を行う。作業機械１のコントローラ２７は、通信装置３８，６６を介して、運搬車両２の位置データを受信する。
【００３７】
次に、作業機械１のコントローラ２７によって実行される自動制御モードの処理について説明する。自動制御モードでは、コントローラ２７は、作業機械１が所定の作業を自動で行うように、作業機械１を制御する。本実施形態において、所定の作業は、掘削及び積込である。図５は、自動制御モードの処理を示すフローチャートである。
【００３８】
コントローラ２７は、自動制御モードの開始指令を受信すると、作業機械１のエンジン２４を始動すると共に、図５に示す処理を実行する。自動制御モードの開始指令は、例えばオペレータが上述したリモートコンピュータ機器４の入力装置４０２を操作することで、リモートコンピュータ機器４から出力される。コントローラ２７は、通信装置３８を介して開始指令を受信する。
【００３９】
図５に示すように、ステップＳ１０１では、コントローラ２７は、作業機械１の位置を取得する。ここでは、コントローラ２７は、位置センサ３３と、作業機センサ３４ａ−３４ｃと、旋回角度センサ３９とから、それぞれ作業機械１の位置データと作業機１２の姿勢データと旋回角度データとを取得する。コントローラ２７は、位置データと姿勢データと旋回角度データとから、バケット１９の刃先位置を算出する。
【００４０】
ステップＳ１０２では、コントローラ２７は、画像データを取得する。ここでは、コントローラ２７は、旋回体１３の前方の画像を示す作業画像データを作業監視カメラ３６から取得する。また、コントローラ２７は、旋回体１３の両側方及び後方の画像を示す第１〜第４画像データを周辺監視カメラ４１−４４から取得する。なお、作業監視カメラ３６と周辺監視カメラ４１−４４とは、少なくとも自動制御モードの実行中には、常時、撮影を行い、作業画像データと第１〜第４画像データとを生成する。コントローラ２７は、少なくとも自動制御モードの実行中には、作業監視カメラ３６と周辺監視カメラ４１−４４とから、リアルタイムに作業画像データと第１〜第４画像データとを取得する。
【００４１】
ステップＳ１０３では、コントローラ２７は、画像処理を実行する。画像処理は、作業画像データと第１〜第４画像データとに基づいて、画像認識技術により、作業機械１の周囲における所定の物体の存在を検出する。ステップＳ１０４では、コントローラ２７は、作業機械１の近傍に人が検出されたかを判定する。画像処理、及び、人の検出方法については、後に説明する。作業機械１の近傍に人が検出されないときには、コントローラ２７は、ステップＳ１０５からステップＳ１０９に示す第１制御モードの処理を実行する。
【００４２】
ステップＳ１０５では、コントローラ２７は、運搬車両２を検出したかを判定する。コントローラ２７は、画像認識技術により、作業画像データから運搬車両２が所定の積込位置Ｐ２に到達したかを検出する。或いは、コントローラ２７は、運搬車両２から受信した位置データにより、運搬車両２が所定の積込位置Ｐ２に到達したかを検出する。コントローラ２７が運搬車両２を検出したときには、処理はステップＳ１０６に進む。
【００４３】
ステップＳ１０６では、コントローラ２７は、自動掘削を行う。ここでは、コントローラ２７は、所定の掘削位置Ｐ１で作業機１２による掘削を行うように作業機械１を制御する。自動掘削において、コントローラ２７は、地形センサ３５によって掘削位置Ｐ１の地形を計測する。コントローラ２７は、地形センサ３５が計測した掘削位置Ｐ１の地形に応じて、作業機１２による掘削位置を調整する。また、コントローラ２７は、地形センサ３５が計測した掘削位置Ｐ１の地形に応じて、目標掘削経路を決定する。コントローラ２７は、目標掘削経路に従って作業機１２の刃先が移動するように、作業機１２を制御する。
【００４４】
ステップＳ１０７では、コントローラ２７は、自動積込を行う。ここでは、コントローラ２７は、掘削位置Ｐ１から積込位置Ｐ２に向けて旋回体１３を旋回させ、積込位置Ｐ２で作業機１２から排土するように作業機械１を制御する。それにより、積込位置Ｐ２に停車している運搬車両２の荷台５３に掘削された素材が積み込まれる。
【００４５】
ステップＳ１０８では、コントローラ２７は、積込が終了したかを判定する。コントローラ２７は、例えば荷台５３に積み込まれた素材の重量を取得し、当該素材の重量が許容重量に達したときに、積込が終了したと判定する。
【００４６】
ステップＳ１０８において、積込が終了していないとコントローラ２７が判定したときには、処理はステップＳ１０６に戻る。そして、ステップＳ１０６とステップＳ１０７の処理が繰り返される。それにより、素材の掘削と運搬車両２への積込とが繰り返される。
【００４７】
ステップＳ１０８において、積込が終了したとコントローラ２７が判定したときには、処理はステップＳ１０９に進む。ステップＳ１０９では、コントローラ２７は、運搬車両２に積込位置Ｐ２からの離脱指令を送信する。運搬車両２は、離脱指令を受信すると、積込位置Ｐ２からダンプ位置Ｐ３に向かって移動する。
【００４８】
ステップＳ１１０では、コントローラ２７は、終了指令を受信したかを判定する。終了指令を受信したときには、コントローラ２７は、自動制御モードを停止させる。例えば、コントローラ２７は、オペレータが上述したリモートコンピュータ機器４の入力装置４０２を操作することで、リモートコンピュータ機器４から出力される。コントローラ２７は、通信装置３８を介して終了指令を受信する。
【００４９】
ステップＳ１０４において、作業機械１の近傍に人が検出されたときには、コントローラ２７は、ステップＳ１１１に示す第２制御モードの処理を実行する。詳細には、ステップＳ１１１では、コントローラ２７は、出力装置４５に警報を出力させる。図２に示すように、本実施形態では、出力装置４５は、作業機械１に設けられた警告灯である。コントローラ２７は、作業機械１の近傍に人が検出されたときには、警告灯を点灯する。なお、出力装置４５は、スピーカーであってもよい。コントローラ２７は、作業機械１の近傍に人が検出されたときには、スピーカーから警告音を発してもよい。
【００５０】
コントローラ２７は、少なくとも自動制御モードの実行中には、作業機械１の近傍での人の検出の判断をリアルタイムに行う。従って、コントローラ２７は、第１制御モードの実行中に作業機械１の近傍に人が検出されたときには、第１制御モードでの処理を実行しながら、出力装置４５に警報を出力させてもよい。或いは、コントローラ２７は、第１制御モードの処理を停止して、出力装置４５に警報を出力させてもよい。
【００５１】
次に、作業機械１の近傍での人の検出方法について説明する。コントローラ２７は、AI（Artificial Intelligence）を用いた画像認識技術により、作業画像データと第１〜第４画像データとが示す画像中の特定の物体の存在を検出する。特定の物体は人を含む。特定の物体は、人のみに限らず、運搬車両２、或いはブルドーザなどの他の作業機械を含んでもよい。コントローラ２７は、画像認識技術により、人と、他の特定の物体とを識別する。
【００５２】
図６に示すように、コントローラ２７は、学習済みの物体検出モデル１１１を含む。物体検出モデル１１１は、コントローラ２７に実装されている。物体検出モデル１１１は、画像解析のための人工知能モデルである。物体検出モデル１１１は、入力された画像データＤ１１を解析して、画像データが示す画像中に特定の物体が含まれているかを判定する。画像データＤ１１は、上述した作業画像データ及び第１〜第４画像データを含む。
【００５３】
画像データＤ１１が示す画像中に特定の物体が含まれているときには、物体検出モデル１１１は、画像中の特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離を出力する。特定の物体のクラスは、特定の物体の種類であり、人を含む。特定の物体のクラスは、運搬車両２或いはブルドーザなど、人以外の種類を含んでもよい。
【００５４】
物体検出モデル１１１は、図７に示すニューラルネットワーク１２０を含む。例えば、物体検出モデル１１１は、畳み込みニューラルネットワーク（CNN）などのディープニューラルネットワークを含む。図７に示すように、ニューラルネットワーク１２０は、入力層１２１、中間層１２２（隠れ層）、及び出力層１２３を含む。各層１２１，１２２，１２３は、１又は複数のニューロンを備えている。互いに隣接する層のニューロン同士は結合されており、各結合には重み（結合荷重）が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
【００５５】
入力層１２１には、画像データＤ１１が入力される。出力層１２３には、画像において検出された特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離とを示す出力値が出力される。物体検出モデル１１１は、画像データＤ１１が入力されると、画像において検出された特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離とを示す出力値を出力するように学習済みである。学習によって得られた物体検出モデル１１１の学習済みパラメータは、コントローラ２７に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク１２０の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
【００５６】
図８は、作業機械１の近傍での人を検出するための処理を示すフローチャートである。図８に示すように、ステップＳ２０１では、コントローラ２７は、画像内の人を検出する。コントローラ２７は、上述したように、物体検出モデル１１１を用いた画像解析により、作業画像データが示す画像と、第１〜第４画像データが示す作業機械１の複数の撮影画像とのそれぞれに対して、人を検出する。
【００５７】
図９は、第１カメラ４１によって撮影された第１撮影画像の一例を示す図である。図９に示すように、画像に複数の人Ｈ１−Ｈ３が含まれるときには、コントローラ２７は、画像中の複数の人Ｈ１−Ｈ３をそれぞれ認識して検出する。コントローラ２７は、画像中の複数の人Ｈ１−Ｈ３のそれぞれの画像内における座標と、作業機械１からの距離とを検出する。画像中の人Ｈ１−Ｈ３の座標は、人Ｈ１−Ｈ３を示す枠の画像内での位置を示す。例えば、図１０は、図９に示す画像において検出された人Ｈ１−Ｈ３の位置を示す平面図である。コントローラ２７は、作業機械１から、画像中に含まれる人Ｈ１−Ｈ３までの距離Ｌ１−Ｌ３を取得する。
【００５８】
ステップＳ２０２では、コントローラ２７は、距離パラメータＤを決定する。コントローラ２７は、画像中に人が一人だけ含まれているときには、画像中に含まれる当該人までの距離を距離パラメータＤとして決定する。コントローラ２７は、画像中に複数の人が含まれているときには、画像中に含まれる複数の人までの距離のうち最短の距離を距離パラメータＤとして選択する。
【００５９】
例えば、図１０に示す例では、コントローラ２７は、画像中に含まれる複数の人Ｈ１−Ｈ３までの距離Ｌ１−Ｌ３のうち最短の距離Ｌ３を距離パラメータＤとして選択する。なお、コントローラ２７は、所定のサンプリング時間ごとに画像中に含まれる人を検出し、当該人までの距離を取得する。また、コントローラ２７は、所定のサンプリング時間ごとに距離パラメータＤを決定する。
【００６０】
コントローラ２７は、第１〜第４撮影画像のそれぞれについて距離パラメータＤを決定する。例えば、第１撮影画像において複数の人が検出されたときには、第１撮影画像に含まれる複数の人までの距離のうち最短の距離を第１撮影画像における距離パラメータＤとして決定する。第２撮影画像において複数の人が検出されたときには、第２撮影画像に含まれる複数の人までの距離のうち最短の距離を第２撮影画像における距離パラメータＤとして決定する。第３撮影画像において複数の人が検出されたときには、第３撮影画像に含まれる複数の人までの距離のうち最短の距離を第３撮影画像における距離パラメータＤとして決定する。第４撮影画像において複数の人が検出されたときには、第４撮影画像に含まれる複数の人までの距離のうち最短の距離を第４撮影画像における距離パラメータＤとして決定する。
【００６１】
ステップＳ２０３では、コントローラ２７は、距離パラメータＤが所定の距離閾値Ａより小さいかを判定する。距離パラメータＤが所定の距離閾値Ａより小さいときには、コントローラ２７は、ステップＳ２０４において、作業機械１の近傍に人を検出したと決定する。
【００６２】
コントローラ２７は、複数の撮影画像において人が検出されたときには、ステップＳ２０３において、複数の撮影画像のそれぞれの距離パラメータＤのうち、少なくとも１つが所定の距離閾値Ａより小さいかを判定する。そして、複数の撮影画像のそれぞれの距離パラメータＤのうち、少なくとも１つが所定の距離閾値Ａより小さいときには、コントローラ２７は、ステップＳ２０４において、作業機械１の近傍に人を検出したと決定する。
【００６３】
上述したように、コントローラ２７は、作業機械１の近傍に人を検出したときには、ス出力装置４５から警報を出力する。従って、コントローラ２７は、複数の撮影画像の少なくとも１つにおいて、作業機械１から所定の距離閾値Ａまでの範囲に人を検出したときには、出力装置４５から警報を出力する。また、コントローラ２７は、作業画像データが示す画像、及び、撮影画像の全てにおいて、作業機械１から所定の距離閾値Ａまでの範囲に人を検出しなくなったときには、出力装置４５からの警報を停止する。
【００６４】
以上説明した本実施形態に係る作業機械１の制御システムでは、コントローラ２７は、学習済みの物体検出モデル１１１を用いた画像解析によって、作業機械１の撮影画像から、人の存在を検出すると共に、作業機械１から人までの距離を取得する。そして、コントローラ２７は、検出した人まで距離に基づいて作業機械１を制御することで、周囲の環境を考慮しつつ、作業機械１による作業を自動で行うことができる。
【００６５】
また、物体検出モデル１１１は、特定の物体と当該物体までの距離とを学習しているので、単画像を物体検出モデル１１に入力すれば、当該単画像に含まれる特定の物体と、距離とを得ることができる。そのため、撮影される地形の形状情報および撮影された物体の大きさ等の情報を利用することなく、単画像から距離を取得することができる。
【００６６】
次に、実施形態に係る分類モデル１１１の学習方法について説明する。図１１は、物体検出モデル１１１の学習を行う学習システム２００を示す図である。学習システム２００は、学習データ生成モジュール２１１と学習モジュール２１２とを含む。
【００６７】
学習データ生成モジュール２１１は、画像データＤ２１から学習データＤ２２を生成する。学習モジュール２１２は、学習データＤ２２を用いて、物体検出モデル１１１の学習を行い、物体検出モデル１１１のパラメータを最適化する。学習システム２００は、最適化されたパラメータを学習済みパラメータＤ２３として取得する。学習データ生成モジュール２１１と学習モジュール２１２とは、コンピュータに実装されている。学習データ生成モジュール２１１と学習モジュール２１２とは、単一のコンピュータに実装されてもよい。或いは、学習データ生成モジュール２１１と学習モジュール２１２とは、複数のコンピュータに分散して実装されてもよい。
【００６８】
学習データ生成モジュール２１１は、画像データＤ２１が示す画像において指定された枠内の画像に、特定の物体のクラス情報と位置情報と距離情報とを割り当てる。クラス情報は、画像に存在する特定の物体のクラスを示す。位置情報は、画像における特定の物体の位置であり、画像における枠の座標を示す。距離情報は、特定の物体までの距離を示す。
【００６９】
クラス情報は、人間が手動で入力することで、割り当てられもよい。位置情報は、画像データＤ２１から、学習データ生成モジュール２１１の演算により割り当てられてもよい。距離情報は、ステレオカメラによって取得された画像データＤ２１から学習データ生成モジュール２１１の演算により割り当てられてもよい。或いは、距離情報は、人間が手動で入力することで、割り当てられもよい。学習データ生成モジュール２１１は、複数の画像に対して上記の割り当てを繰り返すことで、学習データＤ２２を生成する。
【００７０】
学習モジュール２１２は、学習データＤ２２によって物体検出モデル１１１の学習を行う。学習モジュール２１２は、学習データＤ２２に含まれる画像を入力データとし、作業画像中の特定の物体のクラスと、画像における特定の物体の座標と、特定の物体までの距離を教師データとして、物体検出モデル１１１の学習を行う。
【００７１】
例えば、コンピュータ２０２は、画像の各画素値を入力層１２１の入力として用いて、ニューラルネットワーク１２０の順伝播方向の演算処理を行う。これにより、学習モジュール２１２は、ニューラルネットワーク１２０の出力層１２３から出力される出力値を得る。次に、学習モジュール２１２は、出力層１２３から出力される出力値と、教師データが示す正しい出力値との誤差を算出する。学習モジュール２１２は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習モジュール２１２は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【００７２】
学習モジュール２１２は、複数の画像について、物体検出モデル１１１からの出力値が、教師データが示す正しい出力値と一致するまで、上記の処理を繰り返す。それにより、物体検出モデル１１１のパラメータが最適化され、物体検出モデル１１１を学習させることができる。
【００７３】
なお、物体検出モデル１１１の各種のパラメータの初期値は、テンプレートにより与えられてもよい。或いは、パラメータの初期値は、人間の入力により手動で与えられてもよい。物体検出モデル１１１の再学習を行うときには、学習モジュール２１２は、再学習を行う対象となる物体検出モデル１１１の学習済みパラメータＤ２３に基づいて、パラメータの初期値を用意してもよい。
【００７４】
なお、学習システム２００は、上述した物体検出モデル１１１の学習を定期的に実行することで、学習済みパラメータＤ２３を更新してもよい。学習システム２００は、更新した学習済みパラメータＤ２３をコントローラ２７に転送してもよい。コントローラ２７は、転送された学習済みパラメータＤ２３によって、物体検出モデル１１１のパラメータを更新してもよい。
【００７５】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
【００７６】
作業機械１は、油圧ショベルに限らず、ホイールローダ、或いはモータグレーダ等の他の機械であってもよい。作業機械１の構成は、上記の実施形態のものに限らず、変更されてもよい。作業機械１は、電動モータで駆動される車両であってもよい。例えば、走行体１４及び／又は旋回体１３は、電動モータで駆動されてもよい。作業機１２の構成が変更されてもよい。例えば、作業機１２は、バケット１９に限らず、グラップル、フォーク、リフティングマグネットなどの他の積込用アタッチメントを含んでもよい。
【００７７】
運搬車両２は、ダンプトラック以外の車両であってもよい。運搬車両２の構成は、上記の実施形態のものに限らず、変更されてもよい。運搬車両２は自動制御により運転されてもよい。或いは、運搬車両２は、オペレータによって手動で運転されてもよい。運搬車両２は、省略されてもよい。すなわち、作業機械１が行う作業は、運搬車両２と協働するもの以外の作業であってもよい。
【００７８】
作業機械１に備えられる各種のセンサの構成は、上記の実施形態のものに限らず、変更されてもよい。例えば、地形センサ３５は、旋回体１３の側部以外の部分に配置されてもよい。地形センサ３５は、ライダに限らず、レーダーなどの他のセンシング装置であってもよい。或いは、地形センサ３５はカメラであってもよく、コントローラ２７は、カメラが撮影した画像を解析することで、地形を認識してもよい。
【００７９】
作業監視カメラ３６は、旋回体１３の前部以外の部分に配置されてもよい。周辺監視カメラ４１−４４は、旋回体１３の両側部及び後部以外の部分に配置されてもよい。
【００８０】
コントローラ２７は、一体に限らず、複数のコントローラ２７に分かれていてもよい。コントローラ２７によって実行される処理は、複数のコントローラ２７に分散して実行されてもよい。その場合、複数のコントローラ２７の一部は、作業機械１の外部に配置されてもよい。
【００８１】
コントローラ２７によって実行される自動制御モードの処理は、上述した実施形態のものに限らず、変更されてもよい。第１制御モードにおいて作業機械１が行う所定の作業は、掘削及び積込に限らず、他の作業であってもよい。第２制御モードにおいて、コントローラ２７は、作業機械１を停止させてもよい。或いは、コントローラ２７は、第２制御モードにおいて、作業機械１の動作を第１制御モードでの動作よりも制限してもよい。例えば、コントローラ２７は、作業機械１の旋回速度を低減してもよい。コントローラ２７は、作業機械１の旋回範囲を制限してもよい。コントローラ２７は、作業機械１の走行速度を低減してもよい。コントローラ２７は、作業機械１の走行範囲を制限してもよい。
【００８２】
上述したように、コントローラ２７は、所定のサンプリング時間ごとに、距離パラメータＤを決定する。コントローラ２７は、今回の距離パラメータＤと前回の距離パラメータＤとの差分が所定の閾値より大きいときには、差分が小さくなるように今回の距離パラメータＤを補正してもよい。例えば、コントローラ２７は、今回の距離パラメータＤと前回の距離パラメータＤとの平均値を、今回の距離パラメータＤとして決定してもよい。或いは、コントローラ２７は、今回の距離パラメータＤを無視して、前回の距離パラメータＤと同じ値を今回の距離パラメータＤとして決定してもよい。
【００８３】
図１２は、変形例に係る作業機械１の制御システムの構成を示すブロック図である。図１２に示すように、作業機械１の制御システムは、ディスプレイ４６を備えてもよい。ディスプレイ４６は、例えばＬＣＤ（liquid crystal display）、有機ＥＬ（electroluminescence）ディスプレイ、或いはＣＲＴ（cathode ray tube）ディスプレイなどである。コントローラ２７は、撮影画像から検出した特定の物体のクラスと距離とを、撮影画像に付加してディスプレイ４６に表示させてもよい。なお、ディスプレイ４６は、作業機械１に搭載されてもよい。或いは、ディスプレイ４６は、作業機械１の外部に配置されてもよい。
【産業上の利用可能性】
【００８４】
本発明によれば、周囲の環境を考慮しつつ、作業機械による作業を自動で行うことが可能となる。
【符号の説明】
【００８５】
１          作業機械
４１−４４  周辺監視カメラ
２７１      プロセッサ
４５        出力装置
４６        ディスプレイ
【図１】
2020041326.tif 000003
【図２】
2020041326.tif 000004
【図３】
2020041326.tif 000005
【図４】
2020041326.tif 000006
【図５】
2020041326.tif 000007
【図６】
2020041326.tif 000008
【図７】
2020041326.tif 000009
【図８】
2020041326.tif 000010
【図９】
2020041326.tif 000011
【図１０】
2020041326.tif 000012
【図１１】
2020041326.tif 000013
【図１２】
2020041326.tif 000014