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

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

▶ 住友重機械工業株式会社の特許一覧

<>
  • 特開-作業機械、情報処理装置、プログラム 図1
  • 特開-作業機械、情報処理装置、プログラム 図2
  • 特開-作業機械、情報処理装置、プログラム 図3
  • 特開-作業機械、情報処理装置、プログラム 図4
  • 特開-作業機械、情報処理装置、プログラム 図5
  • 特開-作業機械、情報処理装置、プログラム 図6
  • 特開-作業機械、情報処理装置、プログラム 図7
  • 特開-作業機械、情報処理装置、プログラム 図8
  • 特開-作業機械、情報処理装置、プログラム 図9
  • 特開-作業機械、情報処理装置、プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076741
(43)【公開日】2024-06-06
(54)【発明の名称】作業機械、情報処理装置、プログラム
(51)【国際特許分類】
   E02F 9/20 20060101AFI20240530BHJP
   E02F 3/43 20060101ALI20240530BHJP
   E02F 9/26 20060101ALN20240530BHJP
【FI】
E02F9/20 Q
E02F3/43 A
E02F9/26 B
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022188448
(22)【出願日】2022-11-25
(71)【出願人】
【識別番号】000002107
【氏名又は名称】住友重機械工業株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】原 孝介
【テーマコード(参考)】
2D003
2D015
【Fターム(参考)】
2D003AA01
2D003BA02
2D003BA03
2D003BA04
2D003BA06
2D003CA02
2D003CA10
2D003DA04
2D003DB02
2D003DB03
2D003DB04
2D003DB05
2D003DC07
2D003FA02
2D015HA03
(57)【要約】
【課題】作業機械の作業対象の形状をより適切に把握することが可能な技術を提供する。
【解決手段】本開示の一実施形態に係るショベル100は、ショベル100の動作に合わせて、作業対象の形状を推定するコントローラ30と、ショベル100の作業部位(バケット6)の軌道に関するデータを取得するセンサS1~S6を備え、コントローラ30は、掘削動作の実行時のバケット6の軌道に関するデータに基づき、作業対象の形状を推定する。
【選択図】図8
【特許請求の範囲】
【請求項1】
作業機械の動作に合わせて、作業対象の形状を推定する処理装置を備える、
作業機械。
【請求項2】
作業機械の作業部位の軌道に関するデータを取得する第1の取得装置を備え、
前記処理装置は、所定の動作の実行時の前記作業部位の軌道に関するデータに基づき、作業対象の形状を推定する、
請求項1に記載の作業機械。
【請求項3】
作業機械の周辺の作業対象の形状を測定する測定装置を備え、
前記処理装置は、前記作業対象の形状の測定データと、前記所定の動作の実行時の前記作業部位の軌道に関するデータとに基づき、前記作業対象の形状を推定する、
請求項2に記載の作業機械。
【請求項4】
前記処理装置は、前記所定の動作の実行前の前記作業対象の形状の測定データと、前記所定の動作の実行後の前記作業対象の形状の測定データと、前記所定の動作の実行時の前記作業部位の軌道に関するデータとに基づき、前記所定の動作の実行後の前記作業対象の形状を推定する、
請求項3に記載の作業機械。
【請求項5】
前記処理装置は、前記作業対象の土砂、又は、作業機械の動作に応じて前記作業対象に追加される土砂の特性に基づき、前記作業対象の形状を推定する、
請求項1乃至4の何れか一項に記載の作業機械。
【請求項6】
前記特性は、土砂の安息角、土砂の含水率、及び土砂の粒度の少なくとも1つを含む、
請求項5に記載の作業機械。
【請求項7】
前記作業対象から前記作業部位への反力に関するデータを取得する第2の取得装置を備え、
前記処理装置は、前記所定の動作の実行時の前記作業部位への反力に関するデータに基づき、前記作業対象の形状を推定する、
請求項2乃至4の何れか一項に記載の作業機械。
【請求項8】
前記処理装置は、前記作業対象の形状の推定結果と、前記推定結果の出力後に前記測定装置により取得される、前記作業対象の形状の測定データとに基づき、前記作業対象の形状を推定する、
請求項3又は4に記載の作業機械。
【請求項9】
前記所定の動作は、複数あり、
前記処理装置は、複数の前記所定の動作のうちの作業機械が実行する前記所定の動作に応じて、前記作業対象の形状を推定する、
請求項2乃至4の何れか一項に記載の作業機械。
【請求項10】
前記作業部位は、バケットであり、
前記所定の動作は、掘削動作又は排土動作である、
請求項2乃至4の何れか一項に記載の作業機械。
【請求項11】
前記作業対象の形状の推定結果に基づき、作業機械の動作を制御する制御装置を備える、
請求項1乃至4の何れか一項に記載の作業機械。
【請求項12】
前記作業対象の形状の推定結果を表示する表示装置を備える、
請求項1乃至4の何れか一項に記載の作業機械。
【請求項13】
前記作業対象の形状の推定結果を表示する表示装置を備え、
前記処理装置は、作業機械の動作に合わせて、前記作業対象の形状を推定すると共に、前記作業対象内の位置に応じた前記作業対象の形状の推定結果の不確かさを出力し、
前記表示装置は、前記作業対象内の位置に応じた前記不確かさの違いが識別可能なように、前記作業対象の形状の推定結果を表示する、
請求項1乃至4の何れか一項に記載の作業機械。
【請求項14】
作業機械の動作に応じて、前記作業機械の作業対象の形状を推定する、
情報処理装置。
【請求項15】
情報処理装置に、
作業機械の動作に応じて、前記作業機械の作業対象の形状を推定させる、
プログラム。
【請求項16】
支援装置に、
作業機械の動作に応じて、前記作業機械の作業対象の形状を推定させ、
前記作業対象の形状の推定結果を表示させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業機械等に関する。
【背景技術】
【0002】
従来、オペレータが操作する、或いは、自律運転を行うショベル等の作業機械が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-188432号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、例えば、ショベルに搭乗するオペレータは、土砂の凹凸やショベルのアタッチメント等によって、作業対象の地面の一部が死角になる可能性がある。また、ショベルの遠隔操作が行われる場合、オペレータは、ショベルに搭載されるカメラの画像を見ながら操作を行う必要があり、カメラの画像の状態によっては、作業対象の地面の形状を把握しにくくなる可能性がある。そのため、カメラや測距センサ(距離センサ)等のデータに基づき、作業対象の形状が認識され、作業機械のキャビンに搭載されるディスプレイや遠隔操作用のディスプレイに作業対象の形状が表示される場合がある。
【0005】
また、例えば、ショベルの自律運転が行われる場合、作業対象の地面の土砂の形状に応じて、ショベルの作業部位(バケット)の軌道が決定される場合がある。この場合、カメラや測距センサ等のデータに基づき、作業対象の形状が認識され、その作業対象の形状に基づき、作業機械の作業部位の軌道が決定される。
【0006】
しかしながら、ショベルに搭載されるカメラや測距センサ等を利用する場合、ショベルのアタッチメントや土砂の凹凸に遮蔽されて作業対象の一部の形状を測定できないオクルージョンが発生する可能性がある。そのため、例えば、ディスプレイに表示される作業対象の形状の一部に穴が生じ、オペレータの操作支援の観点で好ましくない状況が生じる可能性がある。また、例えば、作業対象の一部の形状が測定できないことから、自律運転のための作業部位の軌道の生成に関する精度が悪化する可能性がある。
【0007】
そこで、上記課題に鑑み、作業機械の作業対象の形状をより適切に把握することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本開示の一実施形態では、
作業機械の動作に合わせて、作業対象の形状を推定する処理装置を備える、
作業機械が提供される。
【0009】
また、本開示の他の実施形態では、
作業機械の動作に合わせて、前記作業機械の作業対象の形状を推定する、
情報処理装置が提供される。
【0010】
また、本開示の更に他の実施形態では、
情報処理装置に、
作業機械の動作に合わせて、前記作業機械の作業対象の形状を推定させる、
プログラムが提供される。
【0011】
また、本開示の更に他の実施形態では、
支援装置に、
作業機械の動作に合わせて、前記作業機械の作業対象の形状を推定させ、
前記作業対象の形状の推定結果を表示させる、
プログラムが提供される。
【発明の効果】
【0012】
上述の実施形態によれば、作業機械の作業対象の形状をより適切に把握することができる。
【図面の簡単な説明】
【0013】
図1】稼働支援システムの一例を示す図である。
図2】ショベルの一例を示す上面図である。
図3】ショベルの遠隔操作に関する構成の一例を示す図である。
図4】ショベルのハードウェア構成の一例を示す図である。
図5】情報処理装置のハードウェア構成の一例を示す図である。
図6】稼働支援システムの機能構成の第1例を示す機能ブロック図である。
図7】稼働支援システムの機能構成の第2例を示す機能ブロック図である。
図8】作業対象形状取得部の処理の一例を概略的に示すフローチャートである。
図9】観測対象領域の一例を示す図である。
図10】影響領域の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して実施形態について説明する。
【0015】
[稼働支援システムの概要]
図1図3を参照して、本実施形態に係る稼働支援システムSYSの概要について説明をする。
【0016】
図1は、稼働支援システムSYSの一例を示す図である。図1において、ショベル100は、左側面図が示される。図2は、ショベル100の一例を示す上面図である。図3は、ショベル100の遠隔操作に関する構成の一例を示す図である。以下、ショベル100の上面視でアタッチメントATが延び出す方向(図2の上方向)を"前"と規定して、ショベル100における方向、或いは、ショベル100から見た方向を説明する場合がある。
【0017】
図1に示すように、稼働支援システムSYSは、ショベル100と、情報処理装置200と、センサ群300とを含む。
【0018】
稼働支援システムSYSは、情報処理装置200を用いて、ショベル100と連携し、ショベル100の稼働に関する支援を行う。
【0019】
稼働支援システムSYSに含まれるショベル100は、1台であってもよいし、複数台であってもよい。
【0020】
ショベル100は、稼働支援システムSYSにおいて、稼働に関する支援の対象の作業機械である。
【0021】
図1図2に示すように、ショベル100は、下部走行体1と、上部旋回体3と、ブーム4、アーム5、及び、バケット6を含むアタッチメントATと、キャビン10とを備える。
【0022】
下部走行体1は、クローラ1Cを用いて、ショベル100を走行させる。クローラ1Cは、左側のクローラ1CL及び右側のクローラ1CRを含む。クローラ1CLは、走行油圧モータ1MLで油圧駆動される。同様に、クローラ1CLは、走行油圧モータ1MRで油圧駆動される。これにより、下部走行体1は、自走することができる。
【0023】
上部旋回体3は、旋回機構2を介して下部走行体1に旋回可能(旋回自在)に搭載される。例えば、上部旋回体3は、旋回油圧モータ2Mで旋回機構2が油圧駆動されることにより、下部走行体1に対して旋回する。
【0024】
ブーム4は、左右方向に沿う回転軸を中心として俯仰可能なように、上部旋回体3の前部中央に取り付けられる。アーム5は、左右方向に沿う回転軸を中心として回転可能なように、ブーム4の先端に取り付けられる。バケット6は、左右方向に沿う回転軸を中心として回転可能なように、アーム5の先端に取り付けられる。
【0025】
バケット6は、エンドアタッチメントの一例であり、例えば、掘削作業や法面作業や整地作業等に用いられる。
【0026】
バケット6は、ショベル100の作業内容に応じて、適宜交換可能な態様で、アーム5の先端に取り付けられている。つまり、アーム5の先端には、バケット6に代えて、バケット6とは異なる種類のバケット、例えば、相対的に大きい大型バケット、法面用バケット、浚渫用バケット等が取り付けられてもよい。また、アーム5の先端には、バケット以外の種類のエンドアタッチメント、例えば、攪拌機、ブレーカ、クラッシャー等が取り付けられてもよい。また、アーム5と、エンドアタッチメントとの間には、例えば、クイックカップリングやチルトローテータ等の予備アタッチメントが設けられてもよい。
【0027】
ブーム4、アーム5、及び、バケット6は、それぞれ、ブームシリンダ7、アームシリンダ8、及び、バケットシリンダ9により油圧駆動される。
【0028】
キャビン10は、オペレータが搭乗し、ショベル100を操作するための操縦室である。キャビン10は、例えば、上部旋回体3の前部左側に搭載される。
【0029】
ショベル100は、通信装置60を搭載し、所定の通信回線NWを通じて、情報処理装置200と相互に通信を行うことができる。
【0030】
通信回線NWは、例えば、作業現場のローカルネットワーク(LAN:Local Area Network)を含む。また、通信回線NWは、広域ネットワーク(WAN:Wide Area Network)を含んでもよい。広域ネットワークには、例えば、基地局を末端とする移動体通信網、通信衛星を利用する衛星通信網、インターネット網等が含まれる。また、通信回線NWは、例えば、WiFiやブルートゥース(登録商標)等の無線通信規格に基づく近距離通信回線が含まれてもよい。
【0031】
例えば、ショベル100は、キャビン10に搭乗するオペレータの操作に応じて、下部走行体1(即ち、左右の一対のクローラ1CL,1CR)、上部旋回体3、ブーム4、アーム5、及びバケット6等の被駆動要素を動作させる。
【0032】
また、ショベル100は、キャビン10に搭乗するオペレータによって操作可能に構成されるのに代えて、或いは、加えて、ショベル100の外部から遠隔操作(リモート操作)が可能に構成されてもよい。ショベル100が遠隔操作される場合、キャビン10の内部は、無人状態であってもよい。また、ショベル100が遠隔操作専用である場合、キャビン10は省略されてもよい。以下、オペレータの操作には、キャビン10のオペレータの操作装置26に対する操作、及び外部のオペレータの遠隔操作の少なくとも一方が含まれる前提で説明を進める。
【0033】
例えば、図3に示すように、遠隔操作には、ショベル100と通信回線NWを通じて通信可能な遠隔操作支援装置400で行われるショベル100のアクチュエータに関する操作入力によって、ショベル100が操作される態様が含まれる。遠隔操作支援装置400は、情報処理装置200と別に設けられてもよいし、情報処理装置200であってもよい。
【0034】
遠隔操作支援装置400は、例えば、ショベル100の作業を外部から管理する管理センタ等に設けられる。また、遠隔操作支援装置400は、可搬型の操作端末であってもよく、この場合、オペレータは、ショベル100の周辺からショベル100の作業状況を直接確認しながらショベル100の遠隔操作を行うことができる。
【0035】
ショベル100は、例えば、後述の通信装置60を通じて、自身に搭載される撮像装置が出力する撮像画像に基づくショベル100の前方を含む周辺の様子を表す画像(以下、「周辺画像」)を遠隔操作支援装置400に送信してよい。また、ショベル100は、通信装置60を通じて、撮像装置の出力する撮像画像を遠隔操作支援装置400に送信し、遠隔操作支援装置400は、ショベル100から受信する撮像画像を加工し周辺画像を生成してもよい。そして、遠隔操作支援装置400は、ショベル100の前方を含む周辺の様子を表す周辺画像を自身の表示装置に表示させてよい。また、ショベル100のキャビン10の内部の出力装置50(表示装置50A)に表示される各種の情報画像(情報画面)は、同様に、遠隔操作支援装置400の表示装置にも表示されてよい。これにより、遠隔操作支援装置400を利用するオペレータは、例えば、表示装置に表示されるショベル100の周辺の様子を表す画像や情報画面等の表示内容を確認しながら、ショベル100を遠隔操作することができる。そして、ショベル100は、通信装置60により遠隔操作支援装置400から受信される、遠隔操作の内容を表す遠隔操作信号に応じて、アクチュエータを動作させ、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の被駆動要素を駆動してよい。
【0036】
また、遠隔操作には、例えば、ショベル100の周囲の人(例えば、作業者)のショベル100に対する外部からの音声入力やジェスチャ入力等によって、ショベル100が操作される態様が含まれてもよい。具体的には、ショベル100は、自身に搭載される音声入力装置(例えば、マイクロフォン)やジェスチャ入力装置(例えば、撮像装置)等を通じて、周囲の作業者等により発話される音声や作業者等により行われるジェスチャ等を認識する。そして、ショベル100は、認識した音声やジェスチャ等の内容に応じて、アクチュエータを動作させ、下部走行体1(左右のクローラ1C)、上部旋回体3、ブーム4、アーム5、及びバケット6等の被駆動要素を駆動してもよい。
【0037】
また、ショベル100は、オペレータの操作の内容に依らず、自動でアクチュエータを動作させてもよい。これにより、ショベル100は、下部走行体1、上部旋回体3、アタッチメントAT等の被駆動要素の少なくとも一部を自動で動作させる機能、即ち、いわゆる「自動運転機能」或いは「マシンコントロール(Machine Control:MC)機能」を実現することができる。
【0038】
自動運転機能には、例えば、半自動運転機能(操作支援型のMC機能)が含まれる。半自動運転機能は、オペレータの操作に応じて、操作対象の被駆動要素(アクチュエータ)以外の被駆動要素(アクチュエータ)を自動で動作させる機能である。また、自動運転機能には、完全自動運転機能(完全自動型のMC機能)が含まれてもよい。完全自動運転機能は、オペレータの操作がない前提で、複数の被駆動要素(油圧アクチュエータ)の少なくとも一部を自動で動作させる機能である。ショベル100において、完全自動運転機能が有効な場合、キャビン10の内部は無人状態であってよい。また、ショベル100が完全自動運転専用である場合、キャビン10は省略されてもよい。また、半自動運転機能や完全自動運転機能等には、例えば、ルールベースの自動運転機能が含まれる。ルールベースの自動運転機能は、自動運転の対象の被駆動要素(アクチュエータ)の動作内容が予め規定されるルールに従って自動的に決定される態様の自動運転機能である。また、半自動運転機能や完全自動運転機能等には、自律運転機能が含まれてもよい。自律運転機能は、ショベル100が自律的に各種の判断を行い、その判断結果に沿って、自動運転の対象の被駆動要素(油圧アクチュエータ)の動作内容が決定される態様の自動運転機能である。
【0039】
また、ショベル100の作業が遠隔監視されてもよい。この場合、遠隔操作支援装置400と同様の機能を有する遠隔監視支援装置が設けられてもよい。遠隔監視支援装置は、例えば、情報処理装置200である。これにより、遠隔監視支援装置のユーザである監視者は、遠隔監視支援装置の表示装置に表示される周辺画像を確認しながら、ショベル100の作業の状況を監視することができる。また、例えば、監視者は、安全性の観点から必要と判断した場合、遠隔監視支援装置の入力装置を用いて、所定の入力を行うことによって、ショベル100のオペレータによる操作や自動運転に介入しショベル100を緊急停止させることができる。
【0040】
情報処理装置200は、ショベル100と通信を行うことにより相互に連携し、ショベル100の稼働に関する支援を行う。
【0041】
情報処理装置200は、例えば、ショベル100の作業現場内の管理事務所、或いは、ショベル100の作業現場とは異なる場所にある、ショベル100の稼働状況等を管理する管理センタ等に設置されるサーバ装置や管理用の端末装置である。サーバ装置は、オンプレミスサーバやクラウドサーバであってもよいし、エッジサーバであってもよい。管理用の端末装置は、例えば、デスクトップ型のPC(Personal Computer)等の定置型の端末装置であってもよいし、タブレット端末、スマートフォン、ラップトップ型のPC等の可搬型の端末装置(携帯端末)であってもよい。後者の場合、作業現場の作業者や作業を監督する監督者や作業現場を管理する管理者等は、可搬型の情報処理装置200を所持して作業現場内を移動することができる。また、後者の場合、オペレータは、例えば、可搬型の情報処理装置200をショベル100のキャビンに持ち込むことができる。
【0042】
情報処理装置200は、例えば、ショベル100から稼働状態に関するデータを取得する。これにより、情報処理装置200は、ショベル100の稼働状態を把握し、ショベル100の異常の有無等を監視することができる。また、情報処理装置200は、例えば、後述の表示装置208を通じて、ショベル100の稼働状態に関するデータを表示し、ユーザに確認させることができる。また、情報処理装置200は、例えば、ショベル100の稼働状態を学習モデルに学習させ、ショベル100の稼働を支援するための学習済みモデルを生成することができる。
【0043】
また、情報処理装置200は、ショベル100にコントローラ30等の処理で利用されるプログラムや参照データ等の各種データをショベル100に送信してもよい。これにより、ショベル100は、情報処理装置200からダウンロードされる各種データを用いて、ショベル100の稼働に関する各種の処理を行うことができる。
【0044】
センサ群300は、ショベル100の作業現場に設けられる。作業対象は、例えば、ショベル100の周辺の作業領域の土砂である。
【0045】
例えば、稼働支援システムSYSに複数のショベル100が含まれる場合、ショベル100ごとにセンサ群300が設けられる。また、稼働支援システムSYSに含まれる複数のショベル100が同じ作業現場で作業を行う場合、複数のショベル100に対して、1つのセンサ群300が共用されてもよい。
【0046】
センサ群300は、センサ300-1~300-M(M:2以上の整数)を含む。センサ300-1~300-Mは、ショベル100の周辺の作業現場の物体の状態を測定し、その状態に関する測定データを取得する。作業現場の物体には、ショベル100の周辺の作業対象(作業領域の土砂)の他、例えば、ショベル100の周辺の他のショベル、ブルドーザ等の作業機械や土砂運搬用のトラック等の作業車両が含まれる。物体の状態には、物体の形状や特性が含まれる。
【0047】
センサ300-1~300-Mは、例えば、測距センサ(距離センサ)を含む。測距センサには、例えば、LIDAR(Light Detecting and Ranging)、ミリ波レーダ、超音波センサ、赤外線センサ等が含まれる。また、センサ300-1~300-Mは、例えば、ステレオカメラ、TOF(Time Of Flight)カメラ等、2次元の画像に加えて、距離(深度)に関するデータを取得可能な3Dカメラを含んでもよい。また、センサ300-1~300-Mの中には、測距センサ及び3Dカメラが混在していてもよい。これにより、センサ群300は、ショベル100の周辺の作業現場の物体の形状を表す測定データを取得することができる。以下、測距センサや3Dカメラ等、物体の形状を表す測定データを取得可能なセンサを便宜的に「形状センサ」と称する場合がある。
【0048】
また、センサ300-1~300-Mは、多波長分光カメラを含んでもよい。多波長分光カメラには、例えば、マルチスペクトルカメラやハイパースペクトルカメラ等が含まれる。これにより、例えば、センサ群300は、土砂の硬度や含水率等、ショベル100の周辺の作業現場の物体の特性を表す測定データを取得することができる。以下、多波長分光カメラ等、物体の特性を表す測定データを取得可能なセンサを便宜的に「特性センサ」と称する場合がある。
【0049】
例えば、センサ300-1~300-Mは、複数の形状センサを含む。そして、複数の形状センサは、ショベル100の周辺の作業現場の互いに異なる場所に、且つ、それぞれのセンシング可能な範囲が少なくとも1つの他の形状センサのセンシング範囲と重複するように設けられてもよい。これにより、例えば、一の形状センサの測定データでは、オクルージョンが発生し、センシング範囲の一部の物体の形状を表す測定データを取得できない場合でも、他の形状センサではその範囲の物体の形状を表す測定データを取得できる場合がある。そのため、センサ群300は、ショベル100の周辺の作業現場の物体の形状を表す測定データをより確実に取得することができる。
【0050】
また、センサ300-1~300-Mは、複数の特性センサを含んでもよい。そして、複数の特性センサはショベル100の周辺の作業現場の互いに異なる場所に、且つ、それぞれのセンシング可能な範囲が少なくとも1つの他の特性センサと重複するように設けられてもよい。これにより、例えば、一の特性センサの測定データでは、オクルージョンが発生し、センシング範囲の一部の物体の特性を表す測定データを取得できない場合でも、他の形状センサではその範囲の物体の特性を表す測定データを取得できる場合がある。そのため、センサ群300は、ショベル100の周辺の作業現場の物体の特性を表す測定データをより確実に取得することができる。
【0051】
また、センサ300-1~300-Mは、形状センサの機能及び特性センサの機能の双方を有するセンサ(以下、「統合センサ」)を含んでもよい。この場合、センサ300-1~300-Mは、複数の統合センサを含んでもよい。そして、複数の特性センサはショベル100の周辺の作業現場の互いに異なる場所に、且つ、それぞれのセンシング可能な範囲が少なくとも1つの他の特性センサと重複するように設けられてもよい。
【0052】
尚、センサ群300は、簡易的に、形状センサや特性センサを1つだけ含んでいてもよい。また、稼働支援システムSYSは、センサ群300に代えて、簡易的に、ショベル100の周辺の作業現場の物体の状態に関する測定データを取得可能なセンサを1つだけ含んでいてもよい。
【0053】
センサ300-1~300-Mは、ショベル100の周辺の作業現場に固定されていてもよいし、ショベル100の周辺の作業現場の中を移動可能な移動体に搭載されていてもよい。移動体は、例えば、作業現場の中で移動する作業機械や作業車両を含む。また、作業現場の中を移動可能な移動体は、例えば、作業現場の上空を飛行するドローン等の飛行体を含んでもよい。
【0054】
センサ300-1~300-Mの出力(測定データ)は、通信回線NWを通じて、情報処理装置200に取り込まれる。センサ300-1~300-Mの出力は、例えば、通信回線NWを通じて、情報処理装置200に直接取り込まれる。また、センサ300-1~300-Mの出力は、通信回線NWを通じてショベル100に一旦取り込まれ、ショベル100を経由して情報処理装置200に取り込まれてもよい。また、センサ300-1~300-Mは、上述の移動体等、所定の機器に搭載されている場合、センサ300-1~300-Mの出力は、所定の機器の内部に一旦取り込まれ、当該機器から情報処理装置200に取り込まれてもよい。
【0055】
[稼働支援システムのハードウェア構成]
次に、図1図3に加えて、図4図5を参照して、稼働支援システムSYSのハードウェア構成について説明する。
【0056】
尚、遠隔操作支援装置400のハードウェア構成は、情報処理装置200と同様であってよい。そのため、遠隔操作支援装置400のハードウェア構成に関する図示及び説明を省略する。
【0057】
<ショベルのハードウェア構成>
図4は、ショベル100のハードウェア構成の一例を示すブロック図である。
【0058】
尚、図4では、機械的動力が伝達される経路は二重線、油圧アクチュエータを駆動する高圧の作動油が流れる経路は実線、パイロット圧が伝達される経路は破線、電気信号が伝達される経路は点線でそれぞれ示される。
【0059】
ショベル100は、被駆動要素の油圧駆動に関する油圧駆動系、被駆動要素の操作に関する操作系、ユーザとの情報のやり取りに関するユーザインタフェース系、外部との通信に関する通信系、及び各種制御に関する制御系等のそれぞれの構成要素を含む。
【0060】
≪油圧駆動系≫
図4に示すように、ショベル100の油圧駆動系は、上述の如く、下部走行体1(左右のクローラ1C)、上部旋回体3、ブーム4、アーム5、及びバケット6等の被駆動要素のそれぞれを油圧駆動する油圧アクチュエータHAを含む。また、本実施形態に係るショベル100の油圧駆動系は、エンジン11と、レギュレータ13と、メインポンプ14と、コントロールバルブ17とを含む。
【0061】
油圧アクチュエータHAには、走行油圧モータ1ML,1MR、旋回油圧モータ2M、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等が含まれる。
【0062】
尚、ショベル100は、油圧アクチュエータHAの一部又は全部が電動アクチュエータに置換されてもよい。つまり、ショベル100は、ハイブリッドショベルや電動ショベルであってもよい。
【0063】
エンジン11は、ショベル100の原動機であり、油圧駆動系におけるメイン動力源である。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。エンジン11は、例えば、上部旋回体3の後部に搭載される。エンジン11は、例えば、後述するコントローラ30による直接或いは間接的な制御下で、予め設定される目標回転数で一定回転し、メインポンプ14及びパイロットポンプ15を駆動する。
【0064】
尚、エンジン11に代えて、或いは、加えて、他の原動機(例えば、電動機)等がショベル100に搭載されてもよい。
【0065】
レギュレータ13は、コントローラ30の制御下で、メインポンプ14の吐出量を制御(調節)する。例えば、レギュレータ13は、コントローラ30からの制御指令に応じて、メインポンプ14の斜板の角度(以下、「傾転角」)を調節する。
【0066】
メインポンプ14は、高圧油圧ラインを通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、例えば、エンジン11と同様、上部旋回体3の後部に搭載される。メインポンプ14は、上述の如く、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、上述の如く、コントローラ30の制御下で、レギュレータ13により斜板の傾転角が調節されることによりピストンのストローク長が調整され、吐出流量や吐出圧が制御される。
【0067】
コントロールバルブ17は、オペレータの操作装置26に対する操作や遠隔操作の内容、或いは、自動運転機能に対応する操作指令に応じて、油圧アクチュエータHAを駆動する。コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載される。コントロールバルブ17は、上述の如く、高圧油圧ラインを介してメインポンプ14と接続され、メインポンプ14から供給される作動油を、オペレータの操作、或いは、自動運転機能に対応する操作指令に応じて、それぞれの油圧アクチュエータに選択的に供給する。具体的には、コントロールバルブ17は、メインポンプ14から油圧アクチュエータHAのそれぞれに供給される作動油の流量と流れる方向を制御する複数の制御弁(方向切換弁)を含む。
【0068】
≪操作系≫
図4に示すように、ショベル100の操作系は、パイロットポンプ15と、操作装置26と、油圧制御弁31と、シャトル弁32と、油圧制御弁33とを含む。
【0069】
パイロットポンプ15は、パイロットライン25を介して各種油圧機器にパイロット圧を供給する。パイロットポンプ15は、例えば、エンジン11と同様、上部旋回体3の後部に搭載される。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
【0070】
尚、パイロットポンプ15は、省略されてもよい。この場合、メインポンプ14から吐出される相対的に高い圧力の作動油が所定の減圧弁により減圧された後の相対的に低い圧力の作動油がパイロット圧として各種油圧機器に供給されてよい。
【0071】
操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各種被駆動要素の操作を行うために用いられる。具体的には、操作装置26は、オペレータがそれぞれの被駆動要素を駆動する油圧アクチュエータHAの操作を行うために用いられ、その結果として、油圧アクチュエータHAの駆動対象の被駆動要素のオペレータによる操作を実現することができる。操作装置26は、それぞれの被駆動要素(油圧アクチュエータHA)を操作するためのペダル装置やレバー装置を含む。
【0072】
例えば、図4に示すように、操作装置26は、油圧パイロット式である。具体的には、操作装置26は、パイロットライン25及びそこから分岐するパイロットライン25Aを通じてパイロットポンプ15から供給される作動油を利用し、操作内容に応じたパイロット圧を二次側のパイロットライン27Aに出力する。パイロットライン27Aは、シャトル弁32の一方の入口ポートに接続され、シャトル弁32の出口ポートに接続されるパイロットライン27を介して、コントロールバルブ17に接続される。これにより、コントロールバルブ17には、シャトル弁32を介して、操作装置26における各種被駆動要素(油圧アクチュエータHA)に関する操作内容に応じたパイロット圧が入力されうる。そのため、コントロールバルブ17は、オペレータ等による操作装置26に対する操作内容に応じて、それぞれの油圧アクチュエータHAを駆動することができる。
【0073】
また、操作装置26は、電気式であってもよい。この場合、パイロットライン27A、シャトル弁32、及び油圧制御弁33は省略される。具体的には、操作装置26は、操作内容に応じた電気信号(以下、「操作信号」)を出力し、操作信号は、コントローラ30に取り込まれる。そして、コントローラ30は、操作信号の内容に応じた制御指令、つまり、操作装置26に対する操作内容に応じた制御信号を油圧制御弁31に出力する。これにより、油圧制御弁31からコントロールバルブ17に操作装置26の操作内容に応じたパイロット圧が入力され、コントロールバルブ17は、操作装置26の操作内容に応じて、それぞれの油圧アクチュエータHAを駆動することができる。
【0074】
また、コントロールバルブ17に内蔵される、それぞれの油圧アクチュエータHAを駆動する制御弁(方向切換弁)は、電磁ソレノイド式であってもよい。この場合、操作装置26から出力される操作信号がコントロールバルブ17に(即ち、電磁ソレノイド式の制御弁に)直接入力されてもよい。
【0075】
また、上述の如く、油圧アクチュエータHAの一部又は全部は電動アクチュエータに置換されてもよい。この場合、コントローラ30は、操作装置26の操作内容や遠隔操作信号で規定される遠隔操作の内容に応じた制御指令を電動アクチュエータ或いは電動アクチュエータを駆動するドライバ等に出力してよい。また、ショベル100が遠隔操作される場合、操作装置26は省略されてもよい。
【0076】
油圧制御弁31は、操作装置26の操作対象の被駆動要素(油圧アクチュエータHA)ごと且つ被駆動要素(油圧アクチュエータHA)の駆動方向(例えば、ブーム4の上げ方向及び下げ方向)ごとに設けられる。例えば、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等を駆動するための複動式の油圧アクチュエータHAごとに、2つの油圧制御弁31が設けられる。油圧制御弁31は、例えば、パイロットポンプ15とコントロールバルブ17との間のパイロットライン25Bに設けられ、その流路面積(即ち、作動油が通流可能な断面積)を変更可能に構成されてよい。これにより、油圧制御弁31は、パイロットライン25Bを通じて供給されるパイロットポンプ15の作動油を利用して、所定のパイロット圧を二次側のパイロットライン27Bに出力することができる。そのため、油圧制御弁31は、パイロットライン27Bとパイロットライン27の間のシャトル弁32を通じて、間接的に、コントローラ30からの制御信号に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。よって、例えば、コントローラ30は、油圧制御弁31から自動運転機能に対応する操作指令に応じたパイロット圧をコントロールバルブ17に供給させ、自動運転機能によるショベル100の動作を実現することができる。
【0077】
また、コントローラ30は、油圧制御弁31を制御し、ショベル100の遠隔操作を実現してもよい。具体的には、コントローラ30は、通信装置60によって、遠隔操作支援装置400から受信される遠隔操作信号で指定される遠隔操作の内容に対応する制御信号を油圧制御弁31に出力する。これにより、コントローラ30は、油圧制御弁31から遠隔操作の内容に対応するパイロット圧をコントロールバルブ17に供給させ、オペレータの遠隔操作に基づくショベル100の動作を実現することができる。
【0078】
また、操作装置26が電気式の場合、コントローラ30は、油圧制御弁31から操作装置26の操作内容(操作信号)に応じたパイロット圧を直接的にコントロールバルブ17に供給させ、オペレータの操作に基づくショベル100の動作を実現することができる。
【0079】
シャトル弁32は、2つの入口ポートと1つの出口ポートを有し、2つの入口ポートに入力されたパイロット圧のうちの高い方のパイロット圧を有する作動油を出口ポートに出力させる。シャトル弁32は、油圧制御弁31と同様に、操作装置26の操作対象の被駆動要素(油圧アクチュエータHA)ごと且つ被駆動要素(油圧アクチュエータHA)の駆動方向ごとに設けられる。例えば、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等を駆動するための複動式の油圧アクチュエータHAごとに、2つのシャトル弁32が設けられる。シャトル弁32の2つの入口ポートのうちの一方が操作装置26(具体的には、操作装置26に含まれる上述のレバー装置やペダル装置)の二次側のパイロットライン27Aに接続され、他方が油圧制御弁31の二次側のパイロットライン27Bに接続される。シャトル弁32の出口ポートは、パイロットライン27を通じて、コントロールバルブ17の対応する制御弁のパイロットポートに接続される。対応する制御弁とは、シャトル弁32の一方の入口ポートに接続される上述のレバー装置或いはペダル装置の操作対象である油圧アクチュエータHAを駆動する制御弁である。そのため、これらのシャトル弁32は、それぞれ、操作装置26の二次側のパイロットライン27Aのパイロット圧と油圧制御弁31の二次側のパイロットライン27Bのパイロット圧のうちの高い方を、対応する制御弁のパイロットポートに作用させることができる。つまり、コントローラ30は、操作装置26の二次側のパイロット圧よりも高いパイロット圧を油圧制御弁31から出力させることで、オペレータの操作装置26に対する操作に依らず、対応する制御弁を制御することができる。よって、コントローラ30は、オペレータの操作装置26に対する操作状態に依らず、被駆動要素(下部走行体1、上部旋回体3、ブーム4、アーム5、バケット6)の動作を制御し、自動運転機能や遠隔操作機能を実現することができる。
【0080】
油圧制御弁33は、操作装置26とシャトル弁32とを接続するパイロットライン27Aに設けられる。油圧制御弁33は、例えば、その流路面積を変更可能なように構成される。油圧制御弁33は、コントローラ30から入力される制御信号に応じて動作する。これにより、コントローラ30は、オペレータにより操作装置26が操作されている場合に、操作装置26から出力されるパイロット圧を強制的に減圧させることができる。そのため、コントローラ30は、操作装置26が操作されている場合であっても、操作装置26の操作に対応する油圧アクチュエータHAの動作を強制的に抑制させたり停止させたりすることができる。また、コントローラ30は、例えば、操作装置26が操作されている場合であっても、操作装置26から出力されるパイロット圧を減圧させ、油圧制御弁31から出力されるパイロット圧よりも低くすることができる。そのため、コントローラ30は、油圧制御弁31及び油圧制御弁33を制御することで、例えば、操作装置26の操作内容とは無関係に、所望のパイロット圧をコントロールバルブ17内の制御弁のパイロットポートに確実に作用させることができる。よって、コントローラ30は、例えば、油圧制御弁31に加えて、油圧制御弁33を制御することで、ショベル100の自動運転機能や遠隔操作機能をより適切に実現することができる。
【0081】
≪ユーザインタフェース系≫
図4に示すように、ショベル100のユーザインタフェース系は、操作装置26と、出力装置50と、入力装置52とを含む。
【0082】
出力装置50は、ショベル100のユーザ(例えば、キャビン10のオペレータや外部の遠隔操作のオペレータ)やショベル100の周辺の人(例えば、作業者や作業車両の運転者)等に向けて各種情報を出力する。
【0083】
例えば、出力装置50は、視覚的な方法で各種情報を出力する照明機器や表示装置50A(図7参照)等を含む。照明機器は、例えば、警告灯(インジケータランプ)等である。表示装置50Aは、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。例えば、図2に示すように、照明機器や表示装置50Aは、キャビン10の内部に設けられ、キャビン10の内部のオペレータ等に視覚的な方法で各種情報を出力してよい。また、照明機器や表示装置50Aは、例えば、上部旋回体3の側面等に設けられ、ショベル100の周囲の作業者等に視覚的な方法で各種情報を出力してもよい。
【0084】
また、出力装置50は、聴覚的な方法で各種情報を出力する音出力装置を含んでもよい。音出力装置には、例えば、ブザーやスピーカ等が含まれる。音出力装置は、例えば、キャビン10の内部及び外部の少なくとも一方に設けられ、キャビン10の内部のオペレータやショベル100の周囲の人(作業者等)に聴覚的な方法で各種情報を出力してよい。
【0085】
また、出力装置50は、操縦席の振動等の触覚的な方法で各種情報を出力する装置を含んでもよい。
【0086】
入力装置52は、ショベル100のユーザからの各種入力を受け付け、受け付けられた入力に対応する信号は、コントローラ30に取り込まれる。例えば、図2に示すように、入力装置52は、キャビン10の内部に設けられ、キャビン10の内部のオペレータ等からの入力を受け付ける。また、入力装置52は、例えば、上部旋回体3の側面等に設けられ、ショベル100の周辺の作業者等からの入力を受け付けてもよい。
【0087】
例えば、入力装置52は、ユーザからの機械的な操作による入力を受け付ける操作入力装置を含む。操作入力装置には、表示装置50Aに実装されるタッチパネル、表示装置50Aの周囲に設置されるタッチパッド、ボタンスイッチ、レバー、トグル、操作装置26(レバー装置)に設けられるノブスイッチ等が含まれてよい。
【0088】
また、入力装置52は、ユーザの音声入力を受け付ける音声入力装置を含んでもよい。音声入力装置には、例えば、マイクロフォンが含まれる。
【0089】
また、入力装置52は、ユーザのジェスチャ入力を受け付けるジェスチャ入力装置を含んでもよい。ジェスチャ入力装置には、例えば、ユーザが行うジェスチャの様子を撮像する撮像装置が含まれる。
【0090】
また、入力装置52は、ユーザの生体入力を受け付ける生体入力装置を含んでもよい。生体入力には、例えば、ユーザの指紋、虹彩等の生体情報の入力が含まれる。
【0091】
≪通信系≫
図4に示すように、本実施形態に係るショベル100の通信系は、通信装置60を含む。
【0092】
通信装置60は、外部の通信回線NWに接続し、ショベル100と別に設けられる装置と通信を行う。ショベル100と別に設けられる装置には、ショベル100の外部にある装置の他、ショベル100のユーザによってキャビン10に持ち込まれる可搬型の端末装置(携帯端末)が含まれてもよい。通信装置60は、例えば、4G(4th Generation)や5G(5th Generation)等の規格に準拠する移動体通信モジュールを含んでよい。また、通信装置60は、例えば、衛星通信モジュールを含んでもよい。また、通信装置60は、例えば、WiFi通信モジュールやブルートゥース(登録商標)通信モジュール等を含んでもよい。また、通信装置60は、接続可能な通信回線NWが複数ある場合、通信回線NWの種類に合わせて、複数の通信装置を含んでもよい。
【0093】
例えば、通信装置60は、作業現場に構築される局所的な通信回線を通じて、作業現場内の情報処理装置200や遠隔操作支援装置400等の外部装置と通信を行う。局所的な通信回線は、例えば、作業現場に構築される局所的な5G(いわゆるローカル5G)による移動体通信回線やWiFi6によるローカルネットワークである。
【0094】
また、通信装置60は、作業現場を含む広域の通信回線、即ち、広域ネットワークを通じて、作業現場の外部にある情報処理装置200や遠隔操作支援装置400等と通信を行ってもよい。
【0095】
≪制御系≫
図4に示すように、ショベル100の制御系は、コントローラ30を含む。また、本実施形態に係るショベル100の制御系は、操作圧センサ29と、センサ40と、センサS1~S9とを含む。
【0096】
コントローラ30は、ショベル100に関する各種制御を行う。
【0097】
コントローラ30の機能は、任意のハードウェア、或いは、任意のハードウェア及びソフトウェアの組み合わせ等により実現されてよい。例えば、図3に示すように、コントローラ30は、バスBS1で接続される、補助記憶装置30A、メモリ装置30B、CPU(Central Processing Unit)30C、及びインタフェース装置30Dを含む。
【0098】
補助記憶装置30Aは、不揮発性の記憶手段であり、インストールされるプログラムを格納すると共に、必要なファイルやデータ等を格納する。補助記憶装置30Aは、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリ等である。
【0099】
メモリ装置30Bは、例えば、プログラムの起動指示があった場合に、補助記憶装置30AのプログラムをCPU30Cが読み込み可能なようにロードする。メモリ装置30Bは、例えば、SRAM(Static Random Access Memory)である。
【0100】
CPU30Cは、例えば、メモリ装置30Bにロードされるプログラムを実行し、プログラムの命令に従って、コントローラ30の各種機能を実現する。
【0101】
インタフェース装置30Dは、例えば、ショベル100の内部の通信回線に接続するための通信インタフェースとして機能する。インタフェース装置30Dは、接続する通信回線の種類に合わせて、複数の異なる種類の通信インタフェースを含んでもよい。
【0102】
また、インタフェース装置30Dは、記録媒体からのデータの読み取りや記録媒体へのデータの書き込みのための外部インタフェースとして機能する。記録媒体は、例えば、キャビン10の内部に設置されるコネクタに着脱可能なケーブルで接続される専用ツールである。また、記録媒体は、例えば、SDメモリカードやUSB(Universal Serial Bus)メモリ等の汎用の記録媒体であってもよい。これにより、コントローラ30の各種機能を実現するプログラムは、例えば、可搬型の記録媒体によって提供され、コントローラ30の補助記憶装置30Aにインストールされうる。また、プログラムは、通信装置60を通じて、ショベル100の外部の他のコンピュータ(例えば、情報処理装置200)からダウンロードされ、補助記憶装置30Aにインストールされてもよい。
【0103】
尚、コントローラ30の機能の一部は、他のコントローラ(制御装置)により実現されてもよい。即ち、コントローラ30の機能は、ショベル100に搭載される複数のコントローラにより分散して実現される態様であってもよい。
【0104】
操作圧センサ29は、油圧パイロット式の操作装置26の二次側(パイロットライン27A)のパイロット圧、即ち、操作装置26におけるそれぞれの被駆動要素(油圧アクチュエータ)の操作状態に対応するパイロット圧を検出する。操作圧センサ29による、操作装置26におけるそれぞれの被駆動要素(油圧アクチュエータHA)に関する操作状態に対応するパイロット圧の検出信号は、コントローラ30に取り込まれる。
【0105】
尚、操作装置26が電気式である場合、操作圧センサ29は省略される。コントローラ30は、操作装置26から取り込まれる操作信号に基づき、操作装置26を通じたそれぞれの被駆動要素の操作状態を把握することができるからである。
【0106】
センサ40は、例えば、ショベル100の周辺の物体の形状に関する測定データを取得する。
【0107】
例えば、センサ40は、測距センサや3Dカメラ等の、ショベル100の周辺の物体の形状を表す測定データを取得可能な形状センサである。また、センサ40は、形状センサの機能に加えて、多波長分光カメラ等の、ショベル100の周辺の物体の特性を表す測定データを取得可能な特性センサの機能を有する統合センサであってもよい。
【0108】
例えば、図2に示すように、センサ40は、センサ40F,40B,40L,40Rを含む。センサ40Fは、上部旋回体3の前方の物体の状態(形状や特性)を測定する。センサ40Bは、上部旋回体3の物体の状態を測定する。センサ40Lは、上部旋回体3の左方の物体の状態を測定する。センサ40Rは、上部旋回体3の右方の物体の状態を測定する。これにより、センサ40は、ショベル100の上面視において、ショベル100を中心とする全周、即ち360度の角度方向に亘る範囲の物体の状態を測定することができる。以下、センサ40F,40B,40L,40Rを包括的に、或いは、個別に、「センサ40X」と称する場合がある。
【0109】
センサ40(センサ40X)の出力データ(即ち、ショベル100の周辺の物体の状態に関する測定データ)は、一対一の通信線や車載ネットワークを通じて、コントローラ30に取り込まれる。これにより、例えば、コントローラ30は、センサ40Xの出力データに基づき、ショベル100の周辺の物体の形状や特性等の状態を把握することができる。
【0110】
尚、センサ40B,40L,40Rのうちの一部又は全部は省略されてもよい。
【0111】
センサS1は、ブーム4に取り付けられ、ブーム4の姿勢状態を測定する。センサS1は、ブーム4の姿勢状態を表す測定データを出力する。ブーム4の姿勢状態は、例えば、ブーム4の上部旋回体3との連結部に相当する基端の回転軸回りの姿勢角度(以下、「ブーム角度」)である。センサS1は、例えば、ロータリポテンショメータ、ロータリエンコーダ、加速度センサ、角加速度センサ、6軸センサ、IMU(Inertial Measurement Unit:慣性計測装置)等を含む。以下、センサS2~S4についても同様であってよい。また、センサS1は、ブームシリンダ7の伸縮位置を検出するシリンダセンサを含んでもよい。以下、センサS2,S3についても同様であってよい。センサS1の出力(ブーム4の姿勢状態を表す測定データ)は、コントローラ30に取り込まれる。これにより、コントローラ30は、ブーム4の姿勢状態を把握することができる。
【0112】
センサS2は、アーム5に取り付けられ、アーム5の姿勢状態を測定する。センサS2は、アーム5の姿勢状態を表す測定データを出力する。アーム5の姿勢状態は、例えば、アーム5のブーム4との連結部に相当する基端の回転軸回りの姿勢角度(以下、「アーム角度」)である。センサS2の出力(アーム5の姿勢状態を表す測定データ)は、コントローラ30に取り込まれる。これにより、コントローラ30は、アーム5の姿勢状態を把握することができる。
【0113】
センサS3は、バケット6に取り付けられ、バケット6の姿勢状態を測定する。センサS3は、バケット6の姿勢状態を表す測定データを出力する。バケット6の姿勢状態は、例えば、バケット6のアーム5との連結部に相当する基端の回転軸回りの姿勢角度(以下、「アーム角度」)である。センサS3の出力(バケット6の姿勢状態を表す測定データ)は、コントローラ30に取り込まれる。これにより、コントローラ30は、バケット6の姿勢状態を把握することができる。
【0114】
センサS4は、ショベル100の機体(例えば、上部旋回体3)の姿勢状態を測定する。センサS4は、ショベル100の機体の姿勢状態を表す測定データを出力する。ショベル100の機体の姿勢状態は、例えば、所定の基準面(例えば、水平面)に対する機体の傾斜状態である。例えば、センサS4は、上部旋回体3に取り付けられ、ショベル100の前後方向及び左右方向の2軸回りの傾斜角度(以下、「前後傾斜角」及び「左右傾斜角」)を測定する。センサS4の出力(ショベル100の機体の姿勢状態を表す測定データ)は、コントローラ30に取り込まれる。これにより、コントローラ30は、機体(上部旋回体3)の姿勢状態(傾斜状態)を把握することができる。
【0115】
センサS5は、上部旋回体3に取り付けられ、上部旋回体3の旋回状態を測定する。センサS5は、上部旋回体3の旋回状態を表す測定データを出力する。センサS5は、例えば、上部旋回体3の旋回角速度や旋回角度を測定する。センサS5は、例えば、ジャイロセンサ、レゾルバ、ロータリエンコーダ等を含む。センサS5の出力(上部旋回体3の旋回状態を表す測定データ)は、コントローラ30に取り込まれる。これにより、コントローラ30は、上部旋回体3の旋回角度等の旋回状態を把握することができる。
【0116】
コントローラ30は、センサS1~S5の出力に基づき、アタッチメントATの先端(バケット6)の位置を把握(推定)することができる。
【0117】
尚、センサS4に3軸回りの角速度を検出可能なジャイロセンサ、6軸センサ、IMU等が含まれる場合、センサS4の検出信号に基づき上部旋回体3の旋回状態(例えば、旋回角速度)が検出されてもよい。この場合、センサS5は、省略されてもよい。
【0118】
センサS6は、ショベル100の位置を測定する。センサS6は、ワールド(グローバル)座標で位置を測定してもよいし、作業現場でのローカル座標で位置を測定してもよい。前者の場合、センサS6は、例えば、GNSS(Global Navigation Satellite System)センサである。後者の場合、センサS6は、作業現場の位置の基準となる機器と通信を行い、基準に対する位置に対応する信号を出力可能な送受信機である。センサS6の出力は、コントローラ30に取り込まれる。
【0119】
センサS7は、ブームシリンダ7の油室の圧力(シリンダ圧)を測定する。センサS7は、例えば、ブームシリンダ7のロッド側の油室のシリンダ圧(ロッド圧)を測定するセンサと、ボトム側の油室のシリンダ圧(ボトム圧)を測定するセンサとを含む。センサS7の出力(ブームシリンダ7のシリンダ圧の測定データ)は、コントローラ30に取り込まれる。
【0120】
センサS8は、アームシリンダ8の油室の圧力(シリンダ圧)を測定する。センサS8は、例えば、アームシリンダ8のロッド側の油室のシリンダ圧(ロッド圧)を測定するセンサと、アームシリンダ8のボトム側の油室のシリンダ圧(ボトム圧)を測定するセンサとを含む。センサS8の出力(アームシリンダ8のシリンダ圧の測定データ)は、コントローラ30に取り込まれる。
【0121】
センサS9は、バケットシリンダ9の油室の圧力(シリンダ圧)を測定する。センサS9は、例えば、バケットシリンダ9のロッド側の油室のシリンダ圧(ロッド圧)を測定するセンサと、バケットシリンダ9のボトム側の油室のシリンダ圧(ボトム圧)を測定するセンサとを含む。センサS9の出力(バケットシリンダ9のシリンダ圧の測定データ)は、コントローラ30に取り込まれる。
【0122】
コントローラ30は、センサS7~S9の出力に基づき、アタッチメントATに作用する負荷状態を把握することができる。アタッチメントATに作用する負荷には、例えば、バケット6に作業対象(地面の土砂)から作用する反力やバケット6に収容される土砂の重量等が含まれる。
【0123】
<情報処理装置のハードウェア構成>
図5は、情報処理装置200のハードウェア構成の一例を示すブロック図である。
【0124】
情報処理装置200の機能は、任意のハードウェア或いは任意のハードウェア及びソフトウェアの組み合わせ等により実現される。例えば、図5に示すように、情報処理装置200は、外部インタフェース201、補助記憶装置202、メモリ装置203、CPU204、高速演算装置205、通信インタフェース206、入力装置207、表示装置208、及び音出力装置209を含む。これらは、バスBS2で接続される。
【0125】
外部インタフェース201は、記録媒体201Aからデータの読み取りや記録媒体201Aへのデータの書き込みのためのインタフェースとして機能する。記録媒体201Aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、SDメモリカード、USBメモリ等が含まれる。これにより、情報処理装置200は、記録媒体201Aを通じて、処理で利用する各種データを読み込み、補助記憶装置202に格納したり、各種機能を実現するプログラムをインストールしたりすることができる。
【0126】
尚、情報処理装置200は、通信インタフェース206を通じて、外部装置から処理で利用する各種データやプログラムを取得してもよい。
【0127】
補助記憶装置202は、インストールされた各種プログラムを格納すると共に、各種処理に必要なファイルやデータ等を格納する。補助記憶装置202は、例えば、HDD(Hard Disc Drive)やSSD(Solid State Disc)やフラッシュメモリ等を含む。
【0128】
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。メモリ装置203は、例えば、DRAM(Dynamic Random Access Memory)やSRAMを含む。
【0129】
CPU204は、補助記憶装置202からメモリ装置203にロードされた各種プログラムを実行し、プログラムに従って情報処理装置200に関する各種機能を実現する。
【0130】
高速演算装置205は、CPU204と連動し、相対的に高い速度で演算処理を行う。高速演算装置205は、例えば、GPU(Graphics Processing Unit)やASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等を含む。
【0131】
尚、高速演算装置205は、必要な演算処理の速度に応じて、省略されてもよい。
【0132】
通信インタフェース206は、外部機器と通信可能に接続するためのインタフェースとして用いられる。これにより、情報処理装置200は、通信インタフェース206を通じて、例えば、ショベル100等の外部機器と通信することができる。また、通信インタフェース206は、接続される機器との間の通信方式等によって、複数の種類の通信インタフェースを有してもよい。
【0133】
入力装置207は、ユーザから各種入力を受け付ける。入力装置207には、ショベル100の遠隔操作を行うための遠隔操作用の操作装置が含まれる。
【0134】
入力装置207は、例えば、ユーザからの機械的な操作入力を受け付ける形態の入力装置(以下、「操作入力装置」)を含む。遠隔操作用の操作装置は、操作入力装置であってよい。操作入力装置は、例えば、ボタン、トグル、レバー、キーボード、マウス、表示装置208に実装されるタッチパネル、表示装置208とは別に設けられるタッチパッド等を含む。
【0135】
また、入力装置207は、ユーザからの音声入力を受付可能な音声入力装置を含んでもよい。音声入力装置は、例えば、ユーザの音声を集音可能なマイクロフォンを含む。
【0136】
また、入力装置207は、ユーザからのジェスチャ入力を受付可能なジェスチャ入力装置を含んでもよい。ジェスチャ入力装置は、例えば、ユーザのジェスチャの様子を撮像可能なカメラを含む。
【0137】
また、入力装置207は、ユーザからの生体入力を受付可能な生体入力装置を含んでもよい。生体入力装置は、例えば、ユーザの指紋や虹彩に関する情報を内包する画像データを取得可能なカメラを含む。
【0138】
表示装置208は、情報処理装置200のユーザに向けて、情報画面や操作画面を表示する。表示装置208は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。
【0139】
音出力装置209は、情報処理装置200のユーザに向けて、音によって各種情報を伝える。音出力装置209は、例えば、ブザー、アラーム、スピーカ等である。
【0140】
[稼働支援システムの機能構成]
次に、図1図5に加えて、図6図7を参照して、稼働支援システムSYSの機能構成について説明する。具体的には、稼働支援システムSYSにおけるショベル100の作業部位の軌道の生成に関する機能構成について説明する。
【0141】
<第1例>
図6は、稼働支援システムSYSの機能構成の第1例を示す機能ブロック図である。
【0142】
以下、「ショベル100の作業部位の軌道」をショベル100の作業部位が既に移動した経路(即ち、軌跡)、及び将来的に移動する可能性のある経路の双方を含む意図で用いる。作業部位は、作業対象に対して変化を加えるために用いるアタッチメントのATの先端部に相当する。具体的には、作業部位は、バケット6である。
【0143】
ショベル100は、支援装置150を含む。本例では、支援装置150は、自律運転機能により動作するショベル100に対する作業の実行に関する支援を行う。
【0144】
図6に示すように、支援装置150は、コントローラ30と、油圧制御弁31と、センサ40と、センサS1~S9とを含む。
【0145】
コントローラ30は、機能部として、動作ログ提供部301と、作業支援部302とを含む。
【0146】
尚、稼働支援システムSYSに含まれるショベル100が複数台である場合、コントローラ30が動作ログ提供部301及び作業支援部302のうちの前者のみを含むショベル100と、後者のみを含むショベル100とが存在してもよい。この場合、前者のショベル100は、後者のショベル100の作業支援機能のために用いられる、ショベル100の動作ログを取得し情報処理装置200に提供する機能のみを有する。後述の第2例の場合についても同様であってよい。
【0147】
情報処理装置200は、機能部として、ログ取得部2001と、シミュレータ部2002と、ログ記憶部2003と、教師データ生成部2004と、機械学習部2005と、学習済みモデル記憶部2006と、配信部2007とを含む。
【0148】
動作ログ提供部301は、ショベル100の所定の動作時の動作ログを取得し、情報処理装置200に提供するための機能部である。
【0149】
所定の動作は、例えば、掘削作業の際に利用される、掘削動作、ブーム上げ旋回動作、ブーム下げ旋回動作、排土動作、ほうき動作等を含む。また、所定の動作は、整地作業の際に利用される、掘削動作、排土動作、掃出し動作、水平引き動作、転圧動作、ほうき動作等を含んでもよい。また、所定の動作は、法面作業の際に利用される、切土動作、転圧動作等を含んでもよい。掃出し動作は、例えば、アタッチメントATを動作させ、バケット6を地面に沿って前方に押し出すことで、バケット6の背面で土砂を前方に掃出す動作である。掃出し動作では、例えば、アタッチメントATは、ブーム4の下げ動作、及びアーム5の開き動作を行う。水平引き動作は、例えば、アタッチメントATを動作させ、バケット6の爪先を地面に沿って略水平に手前に向かって引きつけるように移動させることで、地面(地形の表面)の凹凸を均す動作である。水平引き動作では、例えば、アタッチメントATは、ブーム4の上げ動作、アーム5の閉じ動作を行う。転圧動作は、例えば、アタッチメントATを動作させ、バケット6の背面で地面を押し付ける動作である。また、転圧動作は、バケット6を上下に移動させながら、バケット6の背面を地面に打ち付けるようにして地面を押し付ける動作であってもよい。また、転圧動作は、バケット6を地面に沿って前方に押し出すことで、バケット6の背面で土砂を前方の所定の位置まで掃出した後に、所定の位置の地面をバケット6の背面で地面を押し付ける動作であってもよい。転圧動作では、例えば、アタッチメントATは、地面を押し付ける際にブーム4の下げ動作を行う。ほうき動作は、例えば、上部旋回体3を動作させ、バケット6を地面に沿わせた状態で左右に旋回させる動作である。また、ほうき動作は、例えば、アタッチメントAT及び上部旋回体3を動作させ、バケット6を地面に沿わせた状態で左右交互に旋回させながら、バケット6を前方の押し出す動作であってもよい。ほうき動作では、例えば、上部旋回体3が左右の旋回動作を交互に繰り返す。また、ほうき動作では、例えば、上部旋回体3の左右交互の旋回動作に加えて、掃出し動作の場合と同様、アタッチメントATがブーム4の下げ動作及びアーム5の開き動作を行ってもよい。
【0150】
ショベル100の動作ログは、ショベル100の動作状態を表す時系列のデータである。例えば、ショベル100の動作ログは、オペレータの操作内容を表す時系列のデータを含む。オペレータの操作内容を表す時系列のデータは、例えば、油圧パイロット式の操作装置26に対応する操作圧センサ29の時系列の出力データや電気式の操作装置26に対応する操作装置26の時系列の出力データ(操作信号のデータ)である。また、ショベル100の動作ログは、センサS1~S5の時系列の出力データや、センサS1~S5の出力データから取得される、ショベル100の姿勢状態を表す時系列のデータであってもよい。
【0151】
例えば、動作ログ提供部301は、ショベル100の運転歴が長く、相対的に経験のあるオペレータ(以下、便宜的に「熟練者」)がショベル100を操作したときの動作ログを取得し、情報処理装置200に提供する。これにより、後述の如く、ショベル100の動作ログに基づく機械学習によって、熟練者の操作によるショベル100の動作を再現可能な学習済みモデルLM2を生成することができる。
【0152】
また、後述の如く、学習済みモデルLM2は省略され、学習済みモデルLM1のみが生成されてもよい。この場合、情報処理装置200に提供されるショベル100の動作ログには、熟練者以外のオペレータがショベル100を操作したときの動作ログが含まれていてもよいし、自動運転機能によるショベル100の動作に対応する動作ログが含まれていてもよい。また、学習済みモデルLM1のためのショベル100の動作ログと、学習済みモデルLM2のためのショベル100の動作ログとが別々に取得されてもよい。
【0153】
動作ログ提供部301は、動作ログ記録部301Aと、動作ログ記憶部301Bと、動作ログ送信部301Cとを含む。
【0154】
動作ログ記録部301Aは、ショベル100の所定の動作時の動作ログを取得し、動作ログ記憶部301Bに記録する。例えば、動作ログ記録部301Aは、ショベル100の所定の動作が実行されるごとに、その動作中の動作ログを動作ログ記憶部301Bに記録する。
【0155】
動作ログ記憶部301Bには、ショベル100の動作ログが記憶される。例えば、動作ログ記憶部301Bには、ショベル100が実行した所定の動作ごとに、動作ログと、所定の動作が実行された時刻(日時)のデータとが紐づけられて記憶される。所定の動作が実行された時刻のデータは、ショベル100の所定の動作の開始及び終了の双方の時刻のデータを含む。また、複数の所定の動作が規定されている場合、動作ログ記憶部301Bには、ショベル100が実行した所定の動作ごとに、動作ログと、所定の動作が実行された時刻のデータと、実行された所定の動作の識別情報のデータとが紐づけられて記憶される。以下、ショベル100の動作ログと紐づけられるデータを便宜的に「付随データ」と称する場合がある。例えば、動作ログ記憶部301Bには、ショベル100が実行した所定の動作ごとに、動作ログと付随データとの対応関係を表すレコードデータが蓄積されることにより、ショベル100の所定の動作の実行時の動作ログのデータベースが構築される。
【0156】
尚、後述の動作ログ送信部301Cにより情報処理装置200に送信済みの動作ログ記憶部301Bの動作ログは、事後的に消去されてもよい。
【0157】
動作ログ送信部301Cは、動作ログ記憶部301Bに記憶される、ショベル100が所定の動作を実行したときの動作ログ、及び動作ログに紐付けられる付随データを、通信装置60を通じて情報処理装置200に送信する。また、動作ログ送信部301Cは、ショベル100が実行した所定の動作ごとのショベル100の動作ログと付随データとの対応関係を表すレコードデータを併せて情報処理装置200に送信してもよい。
【0158】
例えば、動作ログ送信部301Cは、情報処理装置200から受信される、ショベル100の動作ログの送信要求に応じて、動作ログ記憶部301Bに記憶される、未送信のショベル100の動作ログ及び付随データを情報処理装置200に送信する。また、動作ログ送信部301Cは、所定のタイミングで、動作ログ記憶部301Bに記憶される、未送信のショベル100の動作ログ及び付随データを自動的に情報処理装置200に送信してもよい。所定のタイミングは、例えば、ショベル100の稼働停止(キースイッチのオフ)時や稼働開始(キースイッチのオン)時等である。
【0159】
ログ取得部2001は、ショベル100が所定の動作を実行したときのログを取得する。
【0160】
ショベル100が所定の動作を実行したときのログは、ショベル100が所定の動作を実行したときの動作ログ及び作業対象の状態ログを含む。作業対象の状態ログは、ショベル100の所定の動作の実行前及び実行後の作業対象の状態を表すデータを含む。作業対象の状態には、作業対象の土砂の形状(地形形状)や土砂の特性等が含まれる。ショベル100が所定の動作を実行したときの動作ログは、ショベル100からアップロードされる。ショベル100が所定の動作を実行したときの作業対象の状態ログは、センサ群300からアップロードされる測定データと、ショベル100からアップロードされる付随データ(所定の動作が実行された時刻のデータ)とに基づき取得される。
【0161】
シミュレータ部2002は、ショベル100及び作業対象(土砂)の仮想モデルを用いて、ショベル100の所定の動作に関するコンピュータシミュレーションを行う。
【0162】
例えば、個別要素法(DEM:Distinct Element Method)を用いて、作業対象の地面の土砂を微小粒子の集まりとしてモデル化する。これにより、シミュレータ部2002は、ショベル100の仮想モデルに掘削動作等の所定の動作を実行させて、微小粒子の個々の運動を解析することで集合体として作業対象の土砂の全体の挙動や土砂からの反力等を仮想的に再現することができる。
【0163】
シミュレータ部2002は、コンピュータシミュレーションによりショベル100が所定の動作を実行したときのログとして、ショベル100の作業部位の軌道のデータ、及び所定の動作の実行前後の作業対象(土砂)の状態のデータを取得する。前者のデータは、コンピュータシミュレーションによりショベル100が所定の動作を実行したときの動作ログに相当し、後者のデータは、コンピュータシミュレーションによりショベル100が所定の動作を実行したときの作業対象の状態ログに相当する。
【0164】
シミュレータ部2002は、様々な作業対象(土砂)の状態、及び様々なショベル100の作業部位の軌道を用いて、ショベル100の所定の動作に関する多数のパターンのコンピュータシミュレーションを実施する。これにより、シミュレータ部2002は、互いに異なる条件下でコンピュータシミュレーションによりショベル100が所定の動作を実行したときのログをログ記憶部2003に蓄積させることができる。
【0165】
ログ記憶部2003には、ログ取得部2001及びシミュレータ部2002により取得された、ショベル100が所定の動作を実行したときのログが蓄積される形で記憶される。例えば、ログ記憶部2003には、ショベル100が実際に或いはコンピュータシミュレーションにより実行した所定の動作ごとの動作ログと作業対象の状態ログと付随データとが紐づけられる形で記憶される。ログ記憶部2003において、ログ取得部2001により取得されたログと、シミュレータ部2002により取得されたログとは、識別可能な態様で記憶されていてもよいし、識別不可能な態様で混在して記憶されていてもよい。
【0166】
教師データ生成部2004は、ログ記憶部2003に記憶される、ショベル100が所定の動作を実行したときのログに基づき、機械学習用の教師データを生成し、多数の教師データの集合体である教師データセットを出力する。教師データ生成部2004は、バッチ処理によって、自動的に教師データを生成してもよいし、情報処理装置200のユーザからの入力に応じて、教師データを生成してもよい。教師データ生成部2004は、教師データ生成部2004A,2004Bを含む。
【0167】
教師データ生成部2004Aは、学習済みモデルLM1を生成するための教師データセットを生成する。学習済みモデルLM1は、ショベル100の所定の動作の実行前の作業対象の形状のデータ、及びショベル100が所定の動作を実行したときの作業部位の軌道(軌跡)のデータを入力として、ショベル100の所定の動作の実行後の作業対象の形状を推論する。教師データは、入力データとしての、ショベル100の所定の動作の実行前の作業対象の状態、及びショベル100が所定の動作を実行したときの作業部位の軌道と、正解データとしての、所定の動作の実行後の作業対象の状態との組み合わせである。
【0168】
また、学習済みモデルLM1の入力データには、ショベル100の作業対象の土砂の特性を表すデータが含まれてもよい。例えば、土砂の特性を表すデータは、土砂の安息角のデータを含む。これにより、学習済みモデルLM1は、土砂の安息角を考慮して、より適切な土砂形状を推論することができる。この場合、教師データの中の入力データには、土砂の特性を表すデータ(安息角のデータ)が含まれる。
【0169】
また、学習済みモデルLM1の入力データには、ショベル100の所定の動作の実行時の掘削反力を表すデータが含まれてもよい。これにより、学習済みモデルLM1は、例えば、地中の岩等にバケット6が当接し、結果として、土砂の掘削をすることができなかったような場合であっても、掘削反力を考慮して、適切な土砂形状を推定することができる。
【0170】
尚、学習済みモデルLM1を生成するための教師データセットは、ログ取得部2001により取得されるログ、及びシミュレータ部2002から出力されるログのうちの前者のログのみから生成されてもよい。この場合、シミュレータ部2002は、省略されてもよい。同様に、学習済みモデルLM1を生成するための教師データセットは、ログ取得部2001により取得されるログ、及びシミュレータ部2002から出力されるログのうちの後者のログのみから生成されてもよい。この場合、センサ群300及びショベル100の動作ログ提供部301は、省略されてもよい。また、学習済みモデルLM1を生成するための教師データセットは、ベースの教師データセットと、最終調整用(ファインチューニング用)の教師データセットとを含んでもよい。この場合、ベースの教師データセットは、多数のデータが必要であることから、シミュレータ部2002から出力されるログに基づき生成され、最終調整用の教師データセットは、ログ取得部2001により取得されるログ基づき生成されてもよい。以下、学習済みモデルLM2についても同様であってよい。
【0171】
教師データ生成部2004Bは、学習済みモデルLM2を生成するための教師データを生成する。学習済みモデルLM2は、ショベル100の周辺の作業対象の状態のデータを入力として、ショベル100の所定の動作での作業部位の目標軌道を推論する。教師データは、入力データとしての、ショベル100の所定の動作の実行前の作業対象の状態と、正解データとしての、熟練者の操作によりショベル100が所定の動作を実行したときの作業部位の軌道との組み合わせである。つまり、教師データ生成部2004は、ログ取得部2001により取得される、熟練者の操作によりショベル100が所定の動作をしたときのログに基づき、教師データセットを生成する。また、複数の種類の所定の動作が規定されている場合、学習済みモデルLM2は、所定の動作の種類ごとに生成されてよい。この場合、教師データ生成部2004Bは、所定の動作の種類ごとに、教師データセットを生成する。
【0172】
機械学習部2005は、教師データ生成部2004により生成される教師データセットに基づき、ベースの学習モデルに機械学習を行わせ、学習済みモデルLM1,LM2を生成する。学習済みモデル(ベースの学習モデル)は、例えば、DNN(Deep Neural Network)等のニューラルネットワークを含む。
【0173】
機械学習部2005は、機械学習部2005A,2005Bを含む。
【0174】
機械学習部2005Aは、教師データ生成部2004Aから出力される教師データセットに基づき、ベースの学習モデルM1に機械学習を行わせる。これにより、機械学習部2005Aは、ショベル100の所定の動作の実行前の作業対象の状態のデータ、及びショベル100の所定の動作を実行したときの作業部位の軌道のデータ等を入力として、ショベル100の所定の動作の実行後の作業対象の状態を出力(推論)可能な学習済みモデルLM1を生成することができる。また、機械学習部2005Aは、学習済みモデルLM1による推論結果と、実際のセンサ40の測定結果との誤差が小さくなるように、学習済みモデルLM1を補正(追加学習)してもよい。この場合、学習済みモデルLM1による推論結果、及び実際のセンサ40の測定結果のデータは、ショベル100から情報処理装置200にアップロードされる。
【0175】
機械学習部2005Bは、教師データ生成部2004Bから出力される教師データセットに基づき、ベースの学習モデルM2に機械学習を行わせる。これにより、機械学習部2005Bは、ショベル100の周辺の作業対象の状態のデータを入力として、ショベル100の所定の動作での作業部位の目標軌道を出力(推論)可能な学習済みモデルLM2を生成することができる。
【0176】
学習済みモデル記憶部2006には、機械学習部2005により出力される学習済みモデルLM1,LM2が記憶される。また、機械学習部2005Aによって、学習済みモデルLM1の再学習や追加学習がされる場合、学習済みモデル記憶部2006の学習済みモデルLM1は更新される。学習済みモデルLM2が機械学習部2005Bによって再学習や追加学習がされる場合についても同様である。
【0177】
配信部2007は、学習済みモデルLM1,LM2のデータをショベル100に配信する。
【0178】
例えば、配信部2007は、機械学習部2005Aにより学習済みモデルLM1が生成或いは更新されると、直近で生成或いは更新された学習済みモデルLM1をショベル100に配信する。また、配信部2007は、ショベル100から受信される、学習済みモデルLM1の配信を要求する信号に応じて、学習済みモデル記憶部2006の最新の学習済みモデルLM1をショベル100に配信してもよい。学習済みモデルLM2についても同様であってよい。
【0179】
作業支援部302は、自律運転機能により動作するショベル100に対する作業の支援を行うための機能部である。
【0180】
作業支援部302は、学習済みモデル記憶部302Aと、作業対象形状取得部302Bと、目標軌道生成部302Cと、動作制御部302Dとを含む。
【0181】
学習済みモデル記憶部302Aには、情報処理装置200から配信され通信装置60を通じて受信される、学習済みモデルLM1,LM2が記憶される。
【0182】
作業対象形状取得部302Bは、ショベル100の所定の動作の実行時の作業部位の軌道(軌跡)に基づき、ショベル100の作業対象の土砂の形状を表すデータを取得する。具体的には、作業対象形状取得部302Bは、ショベル100の所定の動作の実行時の作業部位の軌道に基づき、所定の動作の実行前からの土砂の形状の変化を推定する形で、ショベル100の作業対象の土砂の形状を表すデータを取得してよい。また、作業対象形状取得部302Bは、センサ40(特性センサ)による作業対象の土砂の特性の測定データやセンサS7~S9の測定データ(作業部位への作業対象の土砂からの反力)のデータを考慮して、ショベル100の作業対象の土砂の形状を表すデータを取得してもよい。
【0183】
この際、作業対象形状取得部302Bは、センサ40による作業対象の土砂の形状の測定データを前提として、ショベル100の所定の動作の実行時の作業部位の軌跡に基づき、センサ40により測定できない箇所の土砂形状を補間してよい。また、作業対象形状取得部302Bは、センサ40を利用せずに、ショベル100の作業対象の土砂の形状の初期状態をベースに、ショベル100の所定の動作の実行ごとの作業部位の軌跡に基づき、土砂の形状の変化を推定しながら、土砂形状を表すデータを取得してもよい。この場合、センサ40は、省略されてもよい。ショベル100の作業対象の土砂の形状の初期状態は、例えば、通信装置60を通じて、ショベル100の外部から配信されたり、入力装置52を通じて、ユーザにより入力されたりすることにより取得される。また、ショベル100の作業対象の土砂の形状の初期状態は、例えば、ショベル100のクローラが設置している地面と同じ高さの平面等のように固定されていてもよい。
【0184】
例えば、作業対象形状取得部302Bは、ショベル100の所定の動作の実行前の土砂形状、及びショベル100の所定の動作の実行時の作業部位の軌跡に基づき、学習済みモデルLM1を用いて、ショベル100の所定の動作の実行後の土砂形状を推定する。そして、作業対象形状取得部302Bは、上記の推定結果と、センサ40による、ショベル100の所定の動作の実行後の土砂形状の測定データとを統合することにより、現在の作業対象の状態を表すデータを取得してよい。具体的には、作業対象形状取得部302Bは、ショベル100の周辺の観測対象領域の中でセンサ40が土砂形状を測定できなかった箇所について、上記の推定結果のデータで補間する形でデータ統合が実行される。これにより、センサ40がオクルージョン等により観測対象領域の一部の箇所の作業対象の測定データを取得できない場合でも、コントローラ30は、その箇所の作業対象の形状を含む観測対象領域の作業対象の土砂の形状を表すデータを取得することができる。
【0185】
ショベル100の所定の動作の実行前の作業対象の形状は、例えば、作業対象形状取得部302Bによる前回の出力に相当する。ショベル100の所定の動作における作業部位の軌道は、例えば、センサS1~S6の出力に基づき取得される。
【0186】
尚、作業対象形状取得部302Bは、センサ40の出力に基づき、ショベル100の周辺の観測対象領域内に障害物が存在する場合、その障害物が存在する領域を作業対象の土砂の形状の推定対象から除外してもよい。障害物には、例えば、作業機械や作業車両等の移動体、電柱や柵等の地物が含まれる。また、同じ作業現場で稼働するショベル100が複数存在する場合、複数のショベル100は、互いに、所定の動作の実行時の作業部位の軌道(軌跡)を表すデータを共有してもよい。これにより、作業対象形状取得部302B(学習済みモデルLM1)は、他のショベル100の所定の動作による作業対象の土砂の形状の変化も考慮することができる。そのため、作業対象形状取得部302B(学習済みモデルLM1)は、ショベル100の周辺の作業対象の土砂の形状をより適切に推定することができる。作業対象形状取得部302Bの機能の一部又は全部は、処理能力が相対的に高い外部装置(例えば、情報処理装置200)に移管されてもよい。これにより、コントローラ30は、自身の処理能力が不足する場合であっても、ショベル100の所定の動作の実行時の作業部位の軌跡を考慮して、ショベル100の所定の動作の実行後における作業対象の土砂の形状を表すデータを取得することができる。
【0187】
目標軌道生成部302Cは、作業対象形状取得部302Bの推定結果(ショベル100の所定の動作の実行後の作業対象の状態)に基づき、ショベル100の所定の動作における目標軌道を生成する。
【0188】
例えば、目標軌道生成部302Cは、作業対象形状取得部302Bにより取得される作業対象の土砂の形状に基づき、学習済みモデルLM2を用いて、ショベル100の所定の動作における作業部位の目標軌道を生成する。
【0189】
尚、目標軌道生成部302Cは、学習済みモデルLM2に代えて、既知の任意の手法を適用することにより、ショベル100の周辺の作業対象の状態(予測結果)に合わせたショベル100の作業部位の目標軌道を生成してもよい。この場合、教師データ生成部2004C及び機械学習部2005Bは、省略されてもよい。例えば、目標軌道生成部302Cは、作業対象形状取得部302Bにより取得される作業対象の土砂の形状に基づき、MPC(Model Predictive Control:モデル予測制御)によって、ショベル100の作業部位の目標軌道のデータを生成してもよい。また、目標軌道生成部302Cは、作業対象形状取得部302Bにより取得される作業対象の土砂の形状に基づき、ショベル100の作業部位の予め規定される基準となる軌道を最適化することにより、ショベル100の作業部位の目標軌道のデータを生成してもよい。
【0190】
動作制御部302Dは、目標軌道生成部302Cにより生成される目標軌道に沿ってショベル100の所定部位が移動するように、ショベル100に所定の動作を行わせる。具体的には、動作制御部302Dは、センサS1~S5の出力等から作業部位の位置を把握しながら、油圧制御弁31を制御することで、ショベル100の作業部位が目標軌道に沿って移動するようにショベル100に所定の動作を行わせる。これにより、ショベル100は、作業対象の形状に合わせて、所定の動作を実行しながら、自律的に作業を進めることができる。
【0191】
このように、本例では、コントローラ30は、ショベル100の所定の動作に合わせて、ショベル100の作業対象(地面)の土砂の形状を表すデータを取得する。具体的には、コントローラ30は、ショベル100の所定の動作の実行時の作業部位の軌道(軌跡)に基づき、ショベル100の作業対象(地面)の土砂の形状を表すデータを取得する。これにより、コントローラ30は、例えば、オクルージョン等によって、センサ40が土砂形状を測定できない箇所が生じるような状況であっても、ショベル100の作業部位の移動に伴う土砂形状の変化を考慮して、その箇所の土砂形状を補間することができる。また、センサ40を利用せずとも、ショベル100の作業部位の移動に伴う土砂形状の変化の履歴によって、ショベル100の作業対象の土砂形状を推定することができる。そのため、コントローラ30は、観測対象領域の中で、ショベル100の作業対象の土砂形状をより適切に把握し、その結果、ショベル100の作業部位の目標軌道をより適切に生成することができる。よって、コントローラ30は、ショベル100の自律運転をより適切に実行させることができる。
【0192】
尚、作業対象形状取得部302B、目標軌道生成部302C、及び動作制御部302Dの機能の一部又は全部は、情報処理装置200に移管されてもよい。これにより、ショベル100の作業部位の目標軌道の生成に関する処理やショベル100の動作の制御に関する処理について、ショベル100の処理負荷を軽減することができる。
【0193】
<第2例>
図7は、稼働支援システムSYSの機能構成の第2例を示す機能ブロック図である。
【0194】
以下、上述の第1例と同じ或いは対応する構成には同一の符号を付し、上述の第1例と異なる箇所を中心に説明を行う。
【0195】
ショベル100は、上述の第1例と同様、支援装置150を含む。本例では、支援装置150は、ショベル100を操作し作業を実行する、或いは、ショベル100の作業を監視するユーザに対する支援を行う。
【0196】
図7に示すように、本例では、支援装置150は、コントローラ30と、センサ40と、表示装置50Aと、センサS1~S9とを含む。また、ショベル100の遠隔操作が行われる場合、支援装置150は、通信装置60を含んでもよい。
【0197】
コントローラ30は、機能部として、上述の第1例と同様、動作ログ提供部301と、作業支援部302とを含む。
【0198】
動作ログ提供部301は、上述の第1例と同様、動作ログ記録部301Aと、動作ログ記憶部301Bと、動作ログ送信部301Cとを含む。
【0199】
情報処理装置200は、機能部として、上述の第1例と同様、ログ取得部2001と、シミュレータ部2002と、ログ記憶部2003と、教師データ生成部2004と、機械学習部2005と、学習済みモデル記憶部2006と、配信部2007とを含む。
【0200】
本例では、情報処理装置200は、教師データ生成部2004B、機械学習部2005B、及び学習済みモデルLM2が省略される点で上述の第1例と異なる。
【0201】
作業支援部302は、ショベル100を操作し作業を実行する、或いは、ショベル100の作業を監視するユーザに対する支援を行うための機能部である。
【0202】
作業支援部302は、学習済みモデル記憶部302Aと、作業対象形状取得部302Bと、表示処理部302Eとを含む。つまり、作業支援部302は、目標軌道生成部302C及び動作制御部302Dが省略され、表示処理部302Eが追加される点で上述の第1例と異なる。
【0203】
表示処理部302Eは、ショベル100を操作し作業を実行する、或いは、ショベル100の作業を監視するユーザに対する作業支援に関する画面を表示装置50Aに表示させる。また、表示処理部302Eは、同様の画面に対応するデータを、通信装置60を通じて遠隔操作支援装置400や遠隔監視支援装置に送信し、遠隔操作支援装置400や遠隔監視支援装置に表示させてもよい。
【0204】
例えば、表示処理部302Eは、作業対象形状取得部302Bの出力(ショベル100の所定の動作の実行後の作業対象の土砂の形状のデータ)に基づき、ショベル100の作業対象(地面)の土砂の形状を表す画像を表示装置50Aに表示させる。また、表示処理部302Eは、ショベル100の作業対象の土砂の形状を表す画像のデータを、通信装置60を通じて遠隔操作支援装置400や遠隔監視支援装置に送信し、遠隔操作支援装置400や遠隔監視装置に表示させてもよい。これにより、ユーザは、表示装置50A等に表示される、ショベル100の作業対象の土砂の形状を表す画像を通じて、ショベル100の作業対象の土砂の形状を把握しながら、ショベル100の操作を行ったり、ショベル100の作業を監視したりすることができる。また、表示装置50A等は、ショベル100の所定の動作の実行に合わせて、ショベル100の作業対象の土砂の形状を表す画像を更新することができる。そのため、ユーザは、リアルタイムにショベル100の作業対象の土砂の形状を把握しながらショベル100の操作やショベル100の作業の監視をより適切に行うことができる。
【0205】
このように、本例では、コントローラ30は、観測対象領域の中で、ショベル100の作業対象の土砂形状をより適切に把握し、その結果、その土砂形状を表す画像の表示を通じて、ユーザは、作業対象の土砂形状をより適切に把握することができる。そのため、ユーザは、作業対象の土砂形状を把握しながら、より適切にショベル100を操作したり、より適切にショベル100の作業を監視したりすることができる。
【0206】
尚、ショベル100が遠隔操作される場合、学習済みモデル記憶部302A、作業対象形状取得部302B、及び表示処理部302Eの機能の一部又は全部は、遠隔操作支援装置400に設けられてもよい。また、作業対象形状取得部302Bの機能は、情報処理装置200に移管されてもよい。これにより、ショベル100の処理負荷を軽減することができる。
【0207】
[作業対象形状取得部の処理の具体例]
次に、図8図10を参照して、作業対象形状取得部302Bの処理の具体例について説明する。
【0208】
本例では、ショベル100の所定の動作が掘削動作である前提で説明を進める。
【0209】
図8は、作業対象形状取得部302Bの処理の一例を概略的に示すフローチャートである。図9は、観測対象領域の一例を示す図である。図10は、影響領域の一例を示す図である。
【0210】
図8のフローチャートは、例えば、ショベル100の掘削動作の実行後に行われる。以下、本フローチャートでは、作業開始からk回目(k:正の整数)のショベル100の掘削動作の実行後の作業対象の形状(土砂形状)を表すデータを取得する前提で説明を進める。
【0211】
例えば、図9に示すように、ショベル100の周辺の観測対象領域TAが所定数Nの格子に区切られる。観測対象領域TAは、ショベル100の周囲において、作業対象形状取得部302Bが土砂形状を表すデータを取得する領域である。本例では、土砂形状を表すデータとして、観測対象領域TAの格子i(i=1~N)ごとの土砂の高さh 、及びその推定精度に対応する不確かさs を取得する。土砂の高さh 及び不確かさs は、以下の式(1),(2)で表される。
【0212】
【数1】
【0213】
ステップS102にて、作業対象形状取得部302Bは、ショベル100の掘削動作の実行前の土砂形状のデータを入力する。ショベル100の掘削動作の実行前の土砂形状のデータは、(k-1)回目の掘削動作の実行後の土砂形状のデータ(土砂の高さh k―1及び不確かさs k―1)に相当する。
【0214】
また、1回目の掘削動作(k=1)の場合、作業対象形状取得部302Bは、土砂形状のデータの初期値(土砂の高さh 及び不確かさs )を入力する。
【0215】
尚、土砂形状のデータの初期値は、センサ40(形状センサ)の出力に基づき取得されてもよいし、ショベル100の外部から取得されてもよいし、予め規定される仮定値であってもよい。予め規定される仮定値は、例えば、観測対象領域TAの全体(全ての格子i)がショベル100の位置の地面と同じ高さであると仮定したときのゼロ(0)である。
【0216】
ステップS102の処理が完了すると、作業対象形状取得部302Bは、ステップS104に進む。
【0217】
ステップS104にて、作業対象形状取得部302Bは、観測対象領域TAの格子iごとのショベル100の今回の掘削動作のログを入力する。ログは、バケット6の刃先(爪先)の高さb、バケット6の刃先(爪先)の角度φ、掘削反力f、土砂特性λ、及び影響情報κを含む。また、ログは、その他の情報ωを含んでもよい。
【0218】
バケット6の刃先の高さbは、観測対象領域TAの格子iごとの、ショベル100の今回の掘削動作でバケット6の刃先が通過した高さを意味し、以下の式(3)で表される。
【0219】
【数2】
【0220】
バケット6の刃先の高さbは、バケット6が通過しなかった位置に対応する格子iについては、入力されなくてもよいし、適当な値が入力されてもよい。後述のバケット6の刃先の角度φ、及び掘削反力fについても同様である。バケット6の刃先の高さbは、例えば、ショベル100の今回の掘削動作時のバケット6の軌跡のデータに基づき取得される。バケット6の軌跡のデータは、例えば、ショベル100の今回の掘削動作時のセンサS1~S6の出力の時系列データに基づき取得される。
【0221】
バケット6の刃先の角度φは、観測対象領域TAの格子iごとの、ショベル100の今回の掘削動作でバケット6の刃先が通過したときの所定の基準面(例えば、水平面)に対するバケット6の刃先の角度を意味し、以下の式(4)で表される。
【0222】
【数3】
【0223】
バケット6の刃先の角度φは、例えば、ショベル100の今回の掘削動作時のバケット6の軌跡のデータと、バケット6の姿勢角度の時系列データとに基づき取得される。バケット6の姿勢角度の時系列データは、例えば、ショベル100の今回の掘削動作時のセンサS3の出力の時系列データに基づき取得される。
【0224】
掘削反力fは、観測対象領域TAの格子iごとの、ショベル100の今回の掘削動作で地面からバケット6に作用した反力を意味し、以下の式(5)で表される。
【0225】
【数4】
【0226】
掘削反力fは、例えば、ショベル100の今回の掘削動作時のセンサS7~S9の出力の時系列データに基づき取得される。
【0227】
尚、格子iごとの掘削反力は、ベクトルとして表現されてもよい。この場合、観測対象領域TAの格子iごとの土砂特性λ は、1次元でなく、3次元となる。
【0228】
土砂特性λは、観測対象領域TAの格子iごとの土砂の特性を意味し、以下の式(6)で表される。
【0229】
【数5】
【0230】
土砂特性λは、例えば、観測対象領域TAの格子iごとの安息角である。土砂特性λは、例えば、予め規定されている。また、土砂特性λは、センサ40の出力やセンサS7~S9の出力の時系列データに基づき取得されてもよい。
【0231】
尚、格子iごとの土砂特性は、複数の種類あってもよい。この場合、観測対象領域TAの格子iごとの土砂特性λ は、1次元でなく、多次元となる。
【0232】
影響情報κは、観測対象領域TAの格子iごとの、ショベル100の今回の掘削動作による土砂形状への直接の影響の有無を表す。例えば、影響情報κは、観測対象領域TAの格子iごとの、バケット6の刃先の通過の有無を意味し、以下の式(7)で表される。
【0233】
【数6】
【0234】
例えば、今回の掘削動作時に、観測対象領域TAの格子i(i=1,・・・,N)をバケット6の刃先が通過し、且つ、そのときのバケット6の刃先の高さが土砂の高さhe,i k―1以下である場合、影響情報κ は、"+1"に設定される(κ =+1)。一方、今回の掘削動作時に、観測対象領域TAの格子i(i=1,・・・,N)をバケット6の刃先が通過しなかった、或いは、通過したが、そのときの高さが土砂の高さhe,i k―1より高い場合、影響情報κ は、"-1"に設定される(κ =-1)。
【0235】
その他の情報ωは、例えば、ショベル100の掘削動作の実行後にバケット6に収容されていた土砂の重量w及び体積vを含み、以下の式(8)で表される。
【0236】
【数7】
【0237】
ステップS104の処理が完了すると、作業対象形状取得部302Bは、ステップS106に進む。
【0238】
ステップS106にて、作業対象形状取得部302Bは、土砂形状の不確かさse,i k-1の更新を行う。
【0239】
例えば、作業対象形状取得部302Bは、ショベル100の今回の掘削動作によって土砂の形状(土砂の高さhe,i )に影響がある領域(以下、「影響領域」)Ωを設定する。そして、作業対象形状取得部302Bは、影響領域Ωに含まれる格子iについて、土砂形状の不確かさse,i が高まったと判断し、以下の式(9)により更新する。
【0240】
【数8】
【0241】
例えば、図10に示すように、影響領域Ωは、掘削領域EAを四方に所定量だけ膨張させた範囲として設定される。掘削領域EAは、観測対象領域TAの中で、ショベル100の今回の掘削動作時に、バケット6の刃先が通過し、且つ、そのときのバケット6の刃先の高さが土砂の高さhe,i k―1以下であった格子iの集合に相当する領域である。
【0242】
不確かさse,i の増加分cは、例えば、影響領域Ωの中の格子ごとに同じ値である。また、不確かさse,i の増加分cは、影響領域Ωの中において、掘削領域EAが最も大きく掘削領域EAから離れるにつれて小さくなるように設定されてもよい。
【0243】
ステップS106の処理が完了すると、作業対象形状取得部302Bは、ステップS108に進む。
【0244】
ステップS108にて、作業対象形状取得部302Bは、センサ40の出力に基づき、ショベル100の今回の掘削動作の実行前の土砂形状を特定する。これにより、作業対象形状取得部302Bは、観測対象領域TAの中で、センサ40が土砂の高さを測定することができた格子iについて、ショベル100の今回の掘削動作の実行後の土砂の形状を特定することができる。
【0245】
例えば、作業対象形状取得部302Bは、カルマンフィルタを適用し、センサ40の出力に基づき、ショベル100の前回の掘削動作の実行後の土砂の形状を補正することで、ショベル100の今回の掘削動作の実行後の土砂の形状を特定する。
【0246】
カルマンフィルタを適用すると、ショベル100の掘削動作の実行後の観測対象領域TAの任意の格子iについて、分散sで土砂の高さzが観測されたときに、土砂の高さhe,i 及びその不確かさse,i は、以下の式(10)~(14)で表される。
【0247】
【数9】
【0248】
式(10)~(14)を関数Kとしてまとめると以下の式で表される。
【0249】
【数10】
【0250】
よって、観測対象領域TAの格子iについて、センサ40により分散sl,iで土砂の高さzl,iが測定されたときに、センサ40の出力に基づく土砂の高さhl,i 及び不確かさsl,i は、以下の式(16)で表される。
【0251】
【数11】
【0252】
これにより、作業対象形状取得部302Bは、ショベル100の今回の掘削動作の実行後において、センサ40の出力に基づく土砂の高さhl,i 及び不確かさsl,i を取得(特定)することができる。
【0253】
観測対象領域TAにおける格子iごとの、センサ40の出力に基づく土砂の高さh は、以下の式(17)で表される。
【0254】
【数12】
【0255】
センサ40は、オクルージョン等によって、観測対象領域TAの全ての格子iの高さを測定できない場合がある。そのため、土砂の高さhl,i 及び不確かさsl,i は、センサ40により土砂の高さを測定できた格子iについてのみ、式(16)により取得される。センサ40により土砂の高さを測定できなかった格子iについての土砂の高さhl,i 及び不確かさsl,i は、例えば、前回値(土砂の高さhl,i k―1及び不確かさsl,i k―1)に維持される。また、センサ40により土砂の高さを測定できなかった格子iについての土砂の高さhl,i 及び不確かさsl,i は、不明であることを示す値("unknown")に指定されてもよい。以下、観測対象領域TAにおける格子iごとの、センサ40が土砂形状を測定できたか否かを表す測定可否情報m が用いられる。例えば、測定可否情報m は、以下の式(18)~(20)で表される。
【0256】
【数13】
【0257】
ステップS108の処理が完了すると、作業対象形状取得部302Bは、ステップS110に進む。
【0258】
ステップS110にて、作業対象形状取得部302Bは、学習済みモデルLM1に相当する関数gを用いて、格子iごとの土砂形状(土砂の高さz 及びその不確かさs )を推論する。
【0259】
【数14】
【0260】
関数gは、例えば、ディープニューラルネットワーク(DNN)を中心に構成される。また、入力及び出力を画像の形式とし、U-Netを用いることも可能である。この場合、上述の式(8)のその他の情報ωは、画像の形式を取らないため、画像の形式に展開されてもよいし、中間層に直接入力する形が採用されてもよい。
【0261】
そして、作業対象形状取得部302Bは、ステップS108の場合と同様、カルマンフィルタを適用し、関数gの推論の結果に基づき、ショベル100の今回の掘削動作の実行後の土砂の形状を推定する。観測対象領域の格子iについて、関数gの推論結果に基づく土砂の高さhp,i 及び不確かさsp,i は、以下の式(22)で表される。
【0262】
【数15】
【0263】
ステップS110の処理が完了すると、作業対象形状取得部302Bは、ステップS112に進む。
【0264】
ステップS112にて、作業対象形状取得部302Bは、ステップS108及びステップS110の双方の処理の出力に基づき、ショベル100の掘削動作の実行後の最終的な土砂の形状を表すデータ(土砂の高さh 及び不確かさs )を生成する。即ち、作業対象形状取得部302Bは、ステップS108の処理で出力される、センサ40の出力に基づく土砂の形状のデータと、ステップS110の処理で出力される、関数gの推論結果に基づく土砂の形状のデータとを統合する。
【0265】
例えば、作業対象形状取得部302Bは、ステップS108の処理でセンサ40の出力に基づき特定された土砂形状のデータ(土砂の高さhl,i 及び不確かさsl,i )を、最終的な土砂形状のデータ(土砂の高さhe,i 及び不確かさse,i )とする。
【0266】
但し、上述の如く、センサ40のオクルージョン等によって、ステップS108の処理でセンサ40の出力に基づき土砂の形状が特定されない格子i、つまり、測定可否情報m の値が"-1"の格子iが存在する場合がある。そのため、この格子iについて、作業対象形状取得部302Bは、ステップS110の処理で関数gの推論の結果に基づき特定された土砂形状のデータ(土砂の高さhp,i 及び不確かさsp,i )を、最終的な土砂形状のデータとする。
【0267】
つまり、作業対象形状取得部302Bは、以下の式(23),(24)によって、最終的な土砂形状のデータを生成する。
【0268】
【数16】
【0269】
尚、ショベル100の今回の掘削動作の実行後の土砂形状をセンサ40が測定できている格子iについても、ステップS110の処理で関数gによる推論の結果に基づき特定された土砂形状のデータが最終的な土砂形状のデータとして用いられてもよい。
【0270】
ステップS110の処理が完了すると、作業対象形状取得部302Bは、ステップS112に進む。
【0271】
ステップS112にて、作業対象形状取得部302Bは、ステップS110で生成される土砂形状のデータ(土砂の高さh 及び不確かさs )を出力する。
【0272】
これにより、例えば、目標軌道生成部302Cは、作業対象形状取得部302Bから出力される土砂形状のデータに基づき、ショベル100の作業部位、つまり、バケット6(の刃先)の目標軌道を生成することができる。
【0273】
また、例えば、表示処理部302Eは、作業対象形状取得部302Bから出力される土砂形状のデータに基づき、ショベル100の周辺の観測対象領域TAの土砂形状を表す画像を生成することができる。そのため、表示処理部302Eは、ショベル100の周辺の観測対象領域TAの土砂形状を表す画像を表示装置50Aに表示させたり、通信装置60を通じて、遠隔操作支援装置400や遠隔監視支援装置に送信し、これらの表示装置に表示させたりすることができる。また、表示処理部302Eは、ショベル100の周辺の観測対象領域TAの土砂の形状を表す画像に不確かさs を反映させてもよい。例えば、表示処理部302Eは、ショベル100の周辺の観測対象領域TA内の格子iごとの不確かさs を土砂の形状を表す画像の格子iに対応する箇所の色によって表現する。これにより、表示処理部302Eは、ショベル100の周辺の観測対象領域TA内の格子iごとの不確かさの違いが認識可能なように、ショベル100の周辺の観測対象領域TAの土砂の形状を表す画像を表示することができる。
【0274】
尚、作業対象形状取得部302Bは、土砂形状のデータに加えて、本フローチャートの処理の過程で得られる他のデータを出力してもよい。例えば、作業対象形状取得部302Bは、測定可否情報m を出力してもよい。これにより、コントローラ30は、観測対象領域TAの中で、センサ40が土砂形状を測定できた格子iと、センサ40が土砂形状を測定できなかった格子iとを識別することができる。そのため、例えば、表示処理部302Eは、観測対象領域TAの土砂形状を表す画像を表示装置50A等に表示させる際に、センサ40の出力が反映されている格子iとセンサ40の出力が反映されていない格子とを区別して表示させることができる。
【0275】
ステップS114の処理が完了すると、作業対象形状取得部302Bは、今回のフローチャートの処理を終了する。
【0276】
このように、本例では、作業対象形状取得部302Bは、関数gを用いて、ショベル100の掘削動作時のバケット6の軌道(軌跡)や掘削反力や土砂の特性等を考慮して、掘削動作の実行前の土砂形状から掘削動作後の土砂形状を推定することができる。
【0277】
尚、本例では、所定の動作が排土動作である場合についても、作業対象形状取得部302Bは、上記と同様の処理によって、ショベル100の排土動作後の土砂形状のデータを生成し出力することができる。この場合、例えば、その他の情報ωkは、以下の式(25)で表される。
【0278】
【数17】
【0279】
式(25)に示すように、その他の情報ωには、ショベル100の排土動作の実行前のバケット6に収容されていた土砂の重量Wk-1及び体積Vk-1及び排土動作の実行後のバケット6に収容されていた土砂の重量W及び体積Vが含まれる。また、式(25)に示すように、排土先がトラックの荷台である場合、その他の情報ωには、トラックの荷台の平面視の四辺の位置ρが含まれてもよい。これにより、作業対象形状取得部302Bは、トラックの荷台の形状を考慮した荷台の土砂形状を推定することができる。
【0280】
また、ショベル100の掘削動作及び排土動作の組み合わせにより実行される作業についても、作業対象形状取得部302Bは、上記と同様の処理によって、ショベル100の掘削動作後或いは排土動作後の土砂形状のデータを生成し出力することができる。
【0281】
[学習済みモデルの生成方法の具体例]
次に、学習済みモデルLM1の生成方法の具体例について説明する。
【0282】
本例では、上述の図8の処理で利用される学習済みモデルLM1に対応する関数gの生成方法について説明する。
【0283】
教師データセットDの教師データcj(j=1~L)は、例えば、以下の式(26)で表される。
【0284】
【数18】
【0285】
教師データcは、入力データh^ ,s^ ,h ,s ,m ,b,φ,f,λ,κ,ωと、正解データとしてのショベル100の掘削動作後の土砂の高さh との組み合わせである。入力データh^ ,s^ ,h ,s ,m ,b,φ,f,λ,κ,ωは、式(21)の関数gの入力データ(h k-1,s k-1,h ,s ,m ,b,φ,f,λ,κ,ω)に対応する。
【0286】
以下の式(27)に示すように、関数gは、パラメータWを有し、そのパラメータWが教師データセットDによって最適化される形で機械学習が行われる。
【0287】
【数19】
【0288】
例えば、以下の式(28)の損失関数E(W)が最小になるようにパラメータWが最適化されることにより、学習済みモデルLM1に対応する関数gが生成される。
【0289】
【数20】
【0290】
教師データセットDは、上述の如く、ログ取得部2001により取得されるログから生成されてもよいし、シミュレータ部2002により取得されるログから生成されてもよいし、双方のログから生成されてもよい。
【0291】
シミュレータ部2002では、例えば、上述の如く、DEM等の粒子シミュレーションが採用され、粒子の位置に対して仮想的に配置されるLIDAR等の形状センサのレイトレースにより、土砂の高さh が取得される。
【0292】
また、教師データセットDは、上述の如く、シミュレータ部2002により取得されるログから生成される、ベースの教師データセットと、ログ取得部2001により取得されるログから生成される、ファインチューニング用の教師データセットとを含んでもよい。この場合、ファインチューニング用の教師データセットに含まれる教師データの数は、比較的少数であってよい。
【0293】
入力データh ,S ,m の取得に関連して、仮想的にセンサ群300の測定データやシミュレータ部2002の仮想空間上に配置される仮想的な形状センサの測定データの一部をマスクしてもよい。これにより、仮に、センサ群300やシミュレータ部2002の仮想空間上に配置される仮想的な形状センサにオクルージョンが生じていない場合でも、仮想的にオクルージョンを発生させた測定データを取得することができる。また、シミュレータ部2002の仮想空間上に配置される形状センサのレイトレースによって、観測対象領域TAの中でのオクルージョン領域が具体的に演算されてもよい。また、シミュレータ部2002の仮想空間上に配置される形状センサの位置を変化させながらオクルージョン領域を変化させてもよい。これにより、関数gについてのロバストな機械学習を実現することができる。
【0294】
また、入力データh^ ,s^ は、前回の関数gの出力(推論結果)に相当し、時系列で繰り返される複数回の掘削動作を利用して取得されてよい。また、データの点数の増加を抑制する観点から、仮想的に大きなノイズを混ぜながら学習させることによって代用されてもよい。これにより、関数gについてよりロバストが機械学習を実現することができる。
【0295】
このように、情報処理装置200は、教師データcを含む教師データセットDを生成し、教師データセットDに基づく機械学習によって、学習済みモデルLM1に相当する関数gを生成することができる。
【0296】
[作用]
次に、本実施形態に係る作業機械、情報処理装置、及びプログラムの作用について説明する。
【0297】
本実施形態では、作業機械は、処理装置を備える。作業機械は、例えば、上述のショベル100である。処理装置は、例えば、上述のコントローラ30である。具体的には、処理装置は、作業機械の動作に合わせて、作業対象の形状を推定する。
【0298】
また、本実施形態では、情報処理装置は、作業機械の動作に応じて、作業機械の作業対象の形状を推定してもよい。情報処理装置は、例えば、上述のコントローラ30や情報処理装置200や遠隔操作支援装置400である。
【0299】
また、本実施形態では、プログラムは、情報処理装置に、作業機械の動作に応じて、作業機械の作業対象の形状を推定させてもよい。
【0300】
これにより、作業機械等は、例えば、作業機械の動作に応じた作業対象の形状の変化を考慮して作業対象の状態を推定することができる。そのため、作業機械等は、作業対象の形状をより適切に把握することができる。
【0301】
また、本実施形態では、作業機械は、第1の取得装置を備えてもよい。第1の取得装置は、例えば、上述のセンサS7~S9である。具体的には、第1の取得装置は、作業機械の作業部位の軌道に関するデータを取得してもよい。そして、処理装置や情報処理装置は、所定の動作の実行時の作業部位の軌道に関するデータに基づき、作業対象の形状を推定してもよい。
【0302】
これにより、作業機械等は、作業部位の軌道から作業部位と作業対象との位置関係から作業対象の形状の変化を考慮し、作業対象の状態を推定することができる。
【0303】
また、本実施形態では、作業機械は、測定装置を備えてもよい。測定装置は、例えば、上述のセンサ40である。具体的には、測定装置は、作業機械の周辺の作業対象の形状を測定してもよい。そして、処理装置や情報処理装置は、作業対象の形状の測定データと、所定の動作の実行時の作業部位の軌道に関するデータとに基づき、作業対象の形状を推定してもよい。
【0304】
これにより、作業機械等は、例えば、ある時点の作業対象の形状を起点として、作業部位の軌道から作業対象の形状の変化を考慮して、作業対象の形状を推定することができる。
【0305】
また、本実施形態では、処理装置や情報処理装置は、所定の動作の実行前の作業対象の形状の測定データと、所定の動作の実行後の作業対象の形状の測定データと、所定の動作の実行時の作業部位の軌道に関するデータとに基づき、所定の動作の実行後の作業対象の形状を推定してもよい。
【0306】
これにより、作業機械等は、例えば、作業機械の所定の動作の実行後の作業対象の形状について、測定装置の測定データをベースとしつつ、オクルージョン等により測定不可の箇所について、作業部位の軌道から作業対象の形状を推定することができる。
【0307】
また、本実施形態では、処理装置や情報処理装置は、作業対象の土砂、又は、作業機械の動作に応じて作業対象に追加される土砂の特性に基づき、作業対象の形状を推定してもよい。
【0308】
これにより、作業機械等は、土砂の特性を考慮して、より適切に作業対象の形状を推定することができる。
【0309】
また、本実施形態では、土砂の特性は、土砂の安息角、土砂の含水率、及び土砂の粒度の少なくとも1つを含んでもよい。
【0310】
これにより、作業機械等は、土砂の安息角や土砂の含水率や土砂の粒度を考慮して、より適切に作業対象の形状を推定することができる。
【0311】
また、本実施形態では、作業機械は、第2の取得装置を備えてもよい。第2の取得装置は、例えば、上述のセンサS7~S9である。具体的には、第2の取得装置は、作業対象から作業部位への反力に関するデータを取得してもよい。そして、処理装置や情報処理装置は、所定の動作の実行時の作業部位への反力に関するデータに基づき、作業対象の形状を推定してもよい。
【0312】
これにより、作業機械等は、例えば、作業機械の所定の動作の実行時の作業部位への反力から地中の岩等との接触を認識したり、土砂の硬度等の特性を認識したりすることができる。そのため、作業機械等は、これらの認識結果を考慮して、より適切に作業対象の形状を推定することができる。
【0313】
また、本実施形態では、処理装置や情報処理装置は、作業対象の形状の推定結果と、推定結果の出力後に測定装置により取得される、作業対象の形状の測定データとに基づき、作業対象の形状を推定してもよい。
【0314】
これにより、処理装置や情報処理装置は、例えば、作業対象の形状の推定結果と、推定結果の出力後の測定装置の測定結果との差異に基づく機械学習の結果を利用して、より適切に作業対象の形状を推定することができる。
【0315】
また、本実施形態では、作業機械の所定の動作は、複数あってもよい。そして、処理装置や情報処理装置は、複数の所定の動作のうちの作業機械が実行する所定の動作に応じて、作業対象の形状を推定してもよい。
【0316】
これにより、作業機械等は、作業機械が実行する所定の動作に合わせて、作業対象の状態を推定することができる。
【0317】
また、本実施形態では、作業機械の作業部位は、バケットであってもよい。そして、作業機械の所定の動作は、掘削動作又は排土動作であってもよい。
【0318】
これにより、作業機械等は、作業機械の掘削動作や排土動作に応じた作業対象の形状の変化を考慮して、より適切に作業対象の土砂の形状を推定することができる。
【0319】
また、本実施形態では、作業機械は、作業対象の形状の推定結果に基づき、作業機械の動作を制御する制御装置を備えてもよい。また、情報処理装置は、作業対象の形状の推定結果に基づき、作業機械の動作を制御する制御部を備えてもよい。
【0320】
これにより、作業機械等は、作業対象の形状に合わせて、作業機械の動作を制御することができる。
【0321】
また、本実施形態では、作業機械は、作業対象の形状の推定結果を表示する表示装置を備えてもよい。表示装置は、例えば、上述の出力装置50である。
【0322】
また、本実施形態では、プログラムは、支援装置に、作業機械の動作に応じて、作業機械の作業対象の形状を推定させ、作業対象の形状の推定結果を表示させてもよい。支援装置は、例えば、遠隔操作支援装置400である。
【0323】
これにより、作業機械等は、作業対象の形状の推定結果をオペレータ等に提示することができる。
【0324】
また、本実施形態では、作業機械は、作業対象の形状の推定結果を表示する表示装置を備えてもよい。また、処理装置や情報処理装置は、作業機械の動作に合わせて、作業対象の形状を推定すると共に、作業対象内の位置に応じた作業対象の形状の推定結果の不確かさを出力してもよい。そして、表示装置は、作業対象内の位置に応じた不確かさの違いが識別可能なように、作業対象の形状の推定結果を表示させてもよい。
【0325】
また、本実施形態では、プログラムは、支援装置に、作業機械の動作に応じて、作業機械の作業対象の形状を推定させると共に、作業対象内の位置に応じた作業対象の形状の推定結果の不確かさを出力させてもよい。そして、プログラムは、支援装置に、作業対象内の位置に応じた不確かさの違いが識別可能なように、作業対象の形状の推定結果を表示させてもよい。
【0326】
これにより、作業機械等は、作業対象の形状の推定結果をユーザに認識させることができると同時に、観測対象範囲内の位置に応じた推定結果の不確かさの違いをユーザに認識させることができる。
【0327】
以上、実施形態について詳述したが、本開示はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0328】
1 下部走行体
3 上部旋回体
4 ブーム
5 アーム
6 バケット
30 コントローラ
31 油圧制御弁
32 シャトル弁
33 油圧制御弁
40 センサ
40B センサ
40F センサ
40L センサ
40R センサ
50 出力装置
50A 表示装置
52 入力装置
60 通信装置
100 ショベル
150 支援装置
200 情報処理装置
300 センサ群
300-1~300-M センサ
301 動作ログ提供部
301A 動作ログ記録部
301B 動作ログ記憶部
301C 動作ログ送信部
302 作業支援部
302A 学習済みモデル記憶部
302B 作業対象形状取得部
302C 目標軌道生成部
302D 動作制御部
302E 表示処理部
400 遠隔操作支援装置
2001 ログ取得部
2002 シミュレータ部
2003 ログ記憶部
2004 教師データ生成部
2004A 教師データ生成部
2004B 教師データ生成部
2005 機械学習部
2005A 機械学習部
2005B 機械学習部
2006 学習済みモデル記憶部
2007 配信部
AT アタッチメント
EA 掘削領域
LM1,LM2 学習済みモデル
S1~S9 センサ
SYS 稼働支援システム
TA 観測対象領域
Ω 影響領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10