(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】作業機械を含むシステム、コンピュータによって実行される方法、および学習済みの姿勢推定モデルの製造方法
(51)【国際特許分類】
E02F 9/20 20060101AFI20240115BHJP
E02F 9/26 20060101ALI20240115BHJP
G06N 3/04 20230101ALI20240115BHJP
【FI】
E02F9/20 Q
E02F9/26 B
G06N3/04
(21)【出願番号】P 2021511888
(86)(22)【出願日】2020-03-26
(86)【国際出願番号】 JP2020013507
(87)【国際公開番号】W WO2020203596
(87)【国際公開日】2020-10-08
【審査請求日】2023-02-16
(31)【優先権主張番号】P 2019072225
(32)【優先日】2019-04-04
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】清水 実
【審査官】柿原 巧弥
(56)【参考文献】
【文献】特開2001-142506(JP,A)
【文献】国際公開第2017/010212(WO,A1)
【文献】特開2018-190241(JP,A)
【文献】特開2016-156193(JP,A)
【文献】特開2015-063864(JP,A)
【文献】国際公開第2015/129932(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 9/20
E02F 9/26
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
作業機械本体と、
前記作業機械本体に取り付けられた作業機と、
コンピュータとを備え、
前記コンピュータは、作業中の前記作業機の目標姿勢を求めるための学習済み姿勢推定モデルを有し、
前記コンピュータは、前記作業機による作業開始からの経過時間と、前記作業機械本体および前記作業機の動作に関する機械データとを取得し、前記学習済み姿勢推定モデルを用いて前記経過時間および前記機械データから前記目標姿勢を推定した推定目標姿勢を出力する、作業機械を含むシステム。
【請求項2】
前記学習済み姿勢推定モデルは、前記経過時間および前記機械データが入力されると、前記経過時間および前記機械データから前記推定目標姿勢を出力するように、学習用データセットを用いた学習処理がなされている、請求項1に記載のシステム。
【請求項3】
前記学習済み姿勢推定モデルは、学習用データセットを用いた学習処理により生成され、前記学習用データセットは、前記経過時間および前記機械データに対して、前記作業機の姿勢データをラベル付けした学習用データを複数含む、請求項1に記載のシステム。
【請求項4】
前記作業機は、前記作業機械本体に連結されたブームと、前記ブームに連結されたアタッチメントとを含む、請求項1~3のいずれか1項に記載のシステム。
【請求項5】
前記推定目標姿勢は、前記作業機械本体に対する前記ブームの角度と、前記ブームに対する前記アタッチメントの角度とを含む、請求項4に記載のシステム。
【請求項6】
前記アタッチメントはバケットである、請求項4または5に記載のシステム。
【請求項7】
前記機械データは、前記作業機械本体の走行に関するデータを含む、請求項1~6のいずれか1項に記載のシステム。
【請求項8】
コンピュータによって実行される方法であって、
作業機械本体に取り付けられた作業機による作業開始からの経過時間と、前記作業機械本体および前記作業機の動作に関する機械データと、を取得する工程と、
作業中の前記作業機の目標姿勢を求めるための学習済み姿勢推定モデルを用いて、前記経過時間および前記機械データから前記目標姿勢を推定した推定目標姿勢を求める工程と、
を備える方法。
【請求項9】
学習済みの姿勢推定モデルの製造方法であって、
作業機械本体に取り付けられた作業機による作業開始からの経過時間と、前記作業機械本体および前記作業機の動作に関する機械データと、作業中の前記作業機の姿勢データと、を含む学習用データを取得することと、
前記経過時間および前記機械データを前記姿勢推定モデルに入力し、前記作業機の目標姿勢を推定した推定目標姿勢の出力値を得ることと、
前記推定目標姿勢と前記姿勢データとから、前記姿勢推定モデルを学習させることと、を備える、製造方法。
【請求項10】
前記学習させることは
、
前記姿勢データに対する前記推定目標姿勢の誤差を検出することと、
前記誤差に基づいて前記姿勢推定モデルを更新することとを含む、請求項9に記載の製造方法。
【請求項11】
作業機械本体に取り付けられた作業機による作業開始からの経過時間と、前記作業機械本体および前記作業機の動作に関する機械データとを取得することと、
学習済みの第1の姿勢推定モデルを用いて、作業中の前記作業機の目標姿勢を前記経過時間および前記機械データから推定した推定目標姿勢を求めることと、
前記経過時間および前記機械データ
を第2の姿勢推定モデルに入力し、作業中の前記作業機の目標姿勢を示す推定目標姿勢の出力値を得ることと、
前記第2の姿勢推定モデルから出力された前記作業機の推定目標姿勢と前記第1の姿勢推定モデルから出力された前記作業機の推定目標姿勢とから、前記第2の姿勢推定モデルを学習させることと、を備える、学習済みの姿勢推定モデルの製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業機械を含むシステム、コンピュータによって実行される方法、および学習済みの姿勢推定モデルの製造方法に関する。
【背景技術】
【0002】
ホイールローダの掘削作業においては、車両を前進させることにより作業機を土砂の山に押し込むと共に、作業機を上昇させる。これにより、土砂が作業機上に掬い取られる。
【0003】
従来、効率的な掘削作業を実行するため、作業機の動作を自動制御する技術が提案されている(たとえば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記文献には、掘削作業時に、オペレータのアクセル操作およびバケット操作から、自動的にブームを駆動制御する技術が開示されている。オペレータの足によるアクセル操作と右手によるレバー操作とが必要であり、円滑な操作のためにはオペレータの熟練が要求される。
【0006】
作業中の作業機の目標姿勢を求めて、その目標姿勢に合わせて作業機を自動制御することにより、作業機械による作業のさらなる自動化が可能になる。
【0007】
そこで本開示では、作業中の作業機の目標姿勢を求めるための、作業機械を含むシステム、コンピュータによって実行される方法、および学習済みの姿勢推定モデルの製造方法が提供される。
【課題を解決するための手段】
【0008】
本開示のある局面に従うと、作業機械本体と、作業機械本体に取り付けられた作業機と、コンピュータとを備える、作業機械を含むシステムが提供される。コンピュータは、作業中の作業機の目標姿勢を求めるための学習済み姿勢推定モデルを有している。コンピュータは、作業機による作業開始からの経過時間と、作業機械本体および作業機の動作に関する機械データとを取得し、学習済み姿勢推定モデルを用いて経過時間および機械データから目標姿勢を推定した推定目標姿勢を出力する。
【0009】
本開示のある局面に従うと、コンピュータによって実行される方法が提供される。当該方法は、以下の処理を備えている。第1の処理は、作業機械本体に取り付けられた作業機による作業開始からの経過時間と、作業機械本体および作業機の動作に関する機械データと、を取得することである。第2の処理は、作業中の作業機の目標姿勢を求めるための学習済み姿勢推定モデルを用いて、経過時間および機械データから目標姿勢を推定した推定目標姿勢を求めることである。
【0010】
本開示のある局面に従うと、学習済みの姿勢推定モデルの製造方法が提供される。製造方法は、以下の処理を含んでいる。第1の処理は、作業機械本体に取り付けられた作業機による作業開始からの経過時間と、作業機械本体および作業機の動作に関する機械データと、作業中の作業機の姿勢データと、を含む学習用データを取得することである。第2の処理は、学習用データにより姿勢推定モデルを学習させることである。
【0011】
本開示のある局面に従うと、作業機械本体に取り付けられた作業機の作業中の目標姿勢を求める姿勢推定モデルを学習させるための、学習用データが提供される。学習用データは、作業機による作業開始からの経過時間と、経過時間を計測した時点での作業機械本体および作業機の動作に関する機械データと、経過時間を計測した時点での作業機の姿勢を示す姿勢データとを備えている。
【0012】
本開示のある局面に従うと、学習済みの姿勢推定モデルの製造方法が提供される。製造方法は、以下の処理を含んでいる。第1の処理は、作業機械本体に取り付けられた作業機による作業開始からの経過時間と、作業機械本体および作業機の動作に関する機械データとを取得することである。第2の処理は、学習済みの第1の姿勢推定モデルを用いて、作業中の作業機の目標姿勢を経過時間および機械データから推定した推定目標姿勢を求めることである。第3の処理は、経過時間および機械データと、推定目標姿勢と、を含む学習用データにより、第2の姿勢推定モデルを学習させることである。
【発明の効果】
【0013】
本開示に従えば、作業中の作業機の目標姿勢を精度良く取得することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態に基づく作業機械の一例としてのホイールローダの側面図である。
【
図2】実施形態に基づくホイールローダの構成を示す概略ブロック図である。
【
図3】実施形態に基づくホイールローダによる掘削作業を説明する図である。
【
図4】作業機械を含むシステムに含まれる、コンピュータの構成を示す模式図である。
【
図5】出荷前のホイールローダのシステム構成を示すブロック図である。
【
図6】学習済みの目標姿勢推定モデルの製造方法を示すフローチャートである。
【
図7】目標姿勢推定モデルを学習させるための処理を示す概略図である。
【
図8】工場出荷されるホイールローダのシステム構成を示すブロック図である。
【
図9】工場出荷後に作業機の目標姿勢を推定するためにコンピュータによって実行される処理を示すフローチャートである。
【
図10】学習済みの目標姿勢推定モデルを用いた、推定目標姿勢を得る処理を示す模式図である。
【
図11】目標姿勢推定モデルの学習に関する変形例を示す概略図である。
【
図12】蒸留モデルを生成するための処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、実施の形態について図に基づいて説明する。以下の説明では、同一部品には、同一の符号を付している。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0016】
<全体構成>
実施の形態においては、作業機械の一例としてホイールローダ1について説明する。
図1は、実施形態に基づく作業機械の一例としてのホイールローダ1の側面図である。
【0017】
図1に示されるように、ホイールローダ1は、車体フレーム2と、作業機3と、走行装置4と、キャブ5とを備えている。車体フレーム2、キャブ5などからホイールローダ1の車体が構成されている。ホイールローダ1の車体には、作業機3および走行装置4が取り付けられている。
【0018】
走行装置4は、ホイールローダ1の車体を走行させるものであり、走行輪4a、4bを含んでいる。ホイールローダ1は、走行輪4a、4bが回転駆動されることにより自走可能であり、作業機3を用いて所望の作業を行うことができる。
【0019】
車体フレーム2は、前フレーム2aと後フレーム2bとを含んでいる。前フレーム2aと後フレーム2bとは、互いに左右方向に揺動可能に取り付けられている。前フレーム2aと後フレーム2bとに亘って、一対のステアリングシリンダ11が取り付けられている。ステアリングシリンダ11は、油圧シリンダである。ステアリングシリンダ11がステアリングポンプ12(
図2参照)からの作動油によって伸縮することによって、ホイールローダ1の進行方向が左右に変更される。
【0020】
本明細書中において、ホイールローダ1が直進走行する方向を、ホイールローダ1の前後方向という。ホイールローダ1の前後方向において、車体フレーム2に対して作業機3が配置されている側を前方向とし、前方向と反対側を後方向とする。ホイールローダ1の左右方向とは、平面視において前後方向と直交する方向である。前方向を見て左右方向の右側、左側が、それぞれ右方向、左方向である。ホイールローダ1の上下方向とは、前後方向および左右方向によって定められる平面に直交する方向である。上下方向において地面のある側が下側、空のある側が上側である。
【0021】
前フレーム2aには、作業機3および一対の走行輪(前輪)4aが取り付けられている。作業機3は、車体の前方に配設されている。作業機3は、作業機ポンプ13(
図2参照)からの作動油によって駆動される。作業機ポンプ13は、エンジン21により駆動され、吐出する作動油によって作業機3を作動させる油圧ポンプである。作業機3は、ブーム14と、作業具であるバケット6とを含んでいる。バケット6は、作業機3の先端に配置されている。バケット6は、ブーム14の先端に着脱可能に装着されたアタッチメントの一例である。作業の種類に応じて、アタッチメントが、グラップル、フォーク、またはプラウなどに付け替えられる。
【0022】
ブーム14の基端部は、ブームピン9によって前フレーム2aに回転自在に取付けられている。バケット6は、ブーム14の先端に位置するバケットピン17によって、回転自在にブーム14に取付けられている。
【0023】
前フレーム2aとブーム14とは、一対のブームシリンダ16により連結されている。ブームシリンダ16は、油圧シリンダである。ブームシリンダ16の基端は、前フレーム2aに取り付けられている。ブームシリンダ16の先端は、ブーム14に取り付けられている。ブームシリンダ16が作業機ポンプ13(
図2参照)からの作動油によって伸縮することによって、ブーム14が昇降する。ブームシリンダ16は、ブームピン9を中心としてブーム14を上下に回転駆動する。
【0024】
作業機3は、ベルクランク18と、バケットシリンダ19と、リンク15とをさらに含んでいる。ベルクランク18は、ブーム14のほぼ中央に位置する支持ピン18aによって、ブーム14に回転自在に支持されている。バケットシリンダ19は、ベルクランク18と前フレーム2aとを連結している。リンク15は、ベルクランク18の先端部に設けられた連結ピン18cに連結されている。リンク15は、ベルクランク18とバケット6とを連結している。
【0025】
バケットシリンダ19は、油圧シリンダであり作業具シリンダである。バケットシリンダ19の基端は、前フレーム2aに取り付けられている。バケットシリンダ19の先端は、ベルクランク18の基端部に設けられた連結ピン18bに取り付けられている。バケットシリンダ19が作業機ポンプ13(
図2参照)からの作動油によって伸縮することによって、バケット6が上下に回動する。バケットシリンダ19は、バケットピン17を中心としてバケット6を回転駆動する。
【0026】
後フレーム2bには、キャブ5および一対の走行輪(後輪)4bが取り付けられている。キャブ5は、ブーム14の後方に配置されている。キャブ5は、車体フレーム2上に載置されている。キャブ5内には、オペレータが着座するシート、および後述する操作装置8などが配置されている。
【0027】
<システム構成>
図2は、実施形態に基づくホイールローダ1の構成を示す概略ブロック図である。
図2に示されるように、ホイールローダ1は、駆動源としてのエンジン21、走行装置4、作業機ポンプ13、ステアリングポンプ12、操作装置8、制御装置10、表示器50などを備えている。
【0028】
エンジン21は、たとえばディーゼルエンジンである。駆動源として、エンジン21に代えて、蓄電体により駆動するモータが用いられてもよく、またエンジンとモータとの双方が用いられてもよい。エンジン21は燃料噴射ポンプ24を有している。燃料噴射ポンプ24には、電子ガバナ25が設けられている。シリンダ内に噴射する燃料量を調整することにより、エンジン21の出力が制御される。この調整は、電子ガバナ25が制御装置10によって制御されることで行われる。
【0029】
エンジン回転数は、エンジン回転数センサ91によって検出される。エンジン回転数センサ91の検出信号は、制御装置10に入力される。
【0030】
走行装置4は、エンジン21からの駆動力によりホイールローダ1を走行させる装置である。走行装置4は、トルクコンバータ装置23、トランスミッション26、ならびに上述した前輪4aおよび後輪4bなどを有している。
【0031】
トルクコンバータ装置23は、ロックアップクラッチ27とトルクコンバータ28とを有している。ロックアップクラッチ27は、油圧作動式のクラッチである。ロックアップクラッチ27への作動油の供給が、クラッチ制御弁31を介して、制御装置10によって制御される。これによりロックアップクラッチ27は、連結状態と非連結状態とに切換可能である。ロックアップクラッチ27が非連結状態である場合には、トルクコンバータ28が、オイルを媒体としてエンジン21からの駆動力を伝達する。ロックアップクラッチ27が連結状態である場合には、トルクコンバータ28の入力側と出力側とが直結される。
【0032】
トランスミッション26は、前進走行段に対応する前進クラッチCFと、後進走行段に対応する後進クラッチCRとを有している。各クラッチCF,CRの連結状態・非連結状態が切り換えられることによって、車両の前進と後進とが切り換えられる。クラッチCF,CRが共に非連結状態のときは、車両は中立状態となる。
【0033】
トランスミッション26は、複数の速度段に対応した複数の速度段クラッチC1-C4を有しており、減速比を複数段階に切り換えることができる。各速度段クラッチC1-C4は、油圧作動式の油圧クラッチである。図示しない油圧ポンプからクラッチ制御弁31を介してクラッチC1-C4へ作動油が供給される。クラッチ制御弁31が制御装置10によって制御されて、クラッチC1-C4への作動油の供給が制御されることにより、各クラッチC1-C4の連結状態及び非連結状態が切り換えられる。
【0034】
トランスミッション26の出力軸には、T/M出力回転数センサ92が設けられている。T/M出力回転数センサ92は、トランスミッション26の出力軸の回転数を検出する。T/M出力回転数センサ92からの検出信号は、制御装置10に入力される。制御装置10は、T/M出力回転数センサ92の検出信号に基づいて車速を算出する。
【0035】
トランスミッション26から出力された駆動力は、シャフト32などを介して車輪4a,4bに伝達される。これにより、ホイールローダ1が走行する。エンジン21からの駆動力の一部が走行装置4に伝達されて、ホイールローダ1が走行する。
【0036】
エンジン21の駆動力の一部は、PTO(Power Take Off)軸33を介して、作業機ポンプ13およびステアリングポンプ12に伝達される。作業機ポンプ13およびステアリングポンプ12は、エンジン21からの駆動力によって駆動される油圧ポンプである。作業機ポンプ13から吐出された作動油は、作業機制御弁34を介してブームシリンダ16およびバケットシリンダ19に供給される。ステアリングポンプ12から吐出された作動油は、ステアリング制御弁35を介してステアリングシリンダ11に供給される。作業機3は、エンジン21からの駆動力の一部によって駆動される。
【0037】
第1油圧検出器95は、ブームシリンダ16に取り付けられている。第1油圧検出器95は、ブームシリンダ16の油室内の作動油の圧力を検出する。第1油圧検出器95の検出信号は、制御装置10に入力される。
【0038】
第2油圧検出器96は、バケットシリンダ19に取り付けられている。第2油圧検出器96は、バケットシリンダ19の油室内の作動油の圧力を検出する。第2油圧検出器96の検出信号は、制御装置10に入力される。
【0039】
第1角度検出器29は、たとえば、ブームピン9に取り付けられたポテンショメータである。第1角度検出器29は、車体に対するブーム14の持ち上がり角度(チルト角度)を表すブーム角度を検出する。第1角度検出器29は、ブーム角度を示す検出信号を制御装置10に出力する。
【0040】
具体的には、
図1に示すように、ブーム基準線Aは、ブームピン9の中心とバケットピン17の中心とを通る直線である。ブーム角度θ1は、ブームピン9の中心から前方に延びる水平線Hと、ブーム基準線Aとの成す角度である。ブーム基準線Aが水平である場合をブーム角度θ1=0°と定義する。ブーム基準線Aが水平線Hよりも上方にある場合にブーム角度θ1を正とする。ブーム基準線Aが水平線Hよりも下方にある場合にブーム角度θ1を負とする。
【0041】
なお第1角度検出器29は、ブームシリンダ16に配置されたストロークセンサであってもよい。
【0042】
第2角度検出器48は、たとえば、支持ピン18aに取り付けられたポテンショメータである。第2角度検出器48は、ブーム14に対するバケット6のチルト角度を表すバケット角度を検出する。第2角度検出器48は、バケット角度を示す検出信号を制御装置10に出力する。
【0043】
具体的には、
図1に示すように、バケット基準線Bは、バケットピン17の中心とバケット6の刃先6aとを通る直線である。バケット角度θ2は、ブーム基準線Aとバケット基準線Bとの成す角度である。バケット6を接地した状態でバケット6の刃先6aが地上において水平となる場合をバケット角度θ2=0°と定義する。バケット6を掘削方向(上向き)に移動した場合にバケット角度θ2を正とする。バケット6をダンプ方向(下向き)に移動した場合にバケット角度θ2を負とする。
【0044】
第2角度検出器48は、ブーム14に対するベルクランク18の角度(ベルクランク角度)を検出することにより、バケット角度θ2を検出してもよい。ベルクランク角度は、支持ピン18aの中心と連結ピン18bの中心とを通る直線と、ブーム基準線Aとの成す角度である。第2角度検出器48は、バケットピン17に取り付けられたポテンショメータまたは近接スイッチであってもよい。または第2角度検出器48は、バケットシリンダ19に配置されたストロークセンサであってもよい。
【0045】
操作装置8は、オペレータによって操作される。操作装置8は、アクセル操作部材81a、アクセル操作検出部81b、ステアリング操作部材82a、ステアリング操作検出部82b、ブーム操作部材83a、ブーム操作検出部83b、バケット操作部材84a、バケット操作検出部84b、変速操作部材85a、変速操作検出部85b、FR操作部材86a、および、FR操作検出部86bなどを有している。
【0046】
アクセル操作部材81aは、エンジン21の目標回転数を設定するために操作される。アクセル操作部材81aは、たとえばアクセルペダルである。アクセル操作部材81aの操作量(アクセルペダルの場合、踏み込み量)を増大すると、車体は加速する。アクセル操作部材81aの操作量を減少すると、車体は減速する。アクセル操作検出部81bは、アクセル操作部材81aの操作量を検出する。アクセル操作部材81aの操作量を、アクセル操作量と称する。アクセル操作検出部81bは、アクセル操作量を検出する。アクセル操作検出部81bは、検出信号を制御装置10へ出力する。
【0047】
ステアリング操作部材82aは、車両の移動方向を操作するために操作される。ステアリング操作部材82aは、たとえばステアリングハンドルである。ステアリング操作検出部82bは、ステアリング操作部材82aの位置を検出し、検出信号を制御装置10に出力する。制御装置10は、ステアリング操作検出部82bからの検出信号に基づいてステアリング制御弁35を制御する。ステアリングシリンダ11が伸縮して、車両の進行方向が変更される。
【0048】
ブーム操作部材83aは、ブーム14を動作させるために操作される。ブーム操作部材83aは、たとえば操作レバーである。ブーム操作検出部83bは、ブーム操作部材83aの位置を検出する。ブーム操作検出部83bは、検出信号を制御装置10に出力する。制御装置10は、ブーム操作検出部83bからの検出信号に基づいて、作業機制御弁34を制御する。ブームシリンダ16が伸縮して、ブーム14が動作する。
【0049】
バケット操作部材84aは、バケット6を動作させるために操作される。バケット操作部材84aは、たとえば操作レバーである。バケット操作検出部84bは、バケット操作部材84aの位置を検出する。バケット操作検出部84bは、検出信号を制御装置10に出力する。制御装置10は、バケット操作検出部84bからの検出信号に基づいて、作業機制御弁34を制御する。バケットシリンダ19が伸縮して、バケット6が動作する。
【0050】
変速操作部材85aは、トランスミッション26の速度段を設定するために操作される。変速操作部材85aは、たとえばシフトレバーである。変速操作検出部85bは、変速操作部材85aの位置を検出する。変速操作検出部85bは、検出信号を制御装置10に出力する。制御装置10は、変速操作検出部85bからの検出信号に基づいて、トランスミッション26の変速を制御する。
【0051】
FR操作部材86aは、車両の前進と後進とを切り換えるために操作される。FR操作部材86aは、前進、中立および後進の各位置に切り換えられる。FR操作検出部86bは、FR操作部材86aの位置を検出する。FR操作検出部86bは、検出信号を制御装置10に出力する。制御装置10は、FR操作検出部86bからの検出信号に基づいてクラッチ制御弁31を制御する。前進クラッチCFおよび後進クラッチCRが制御され、車両の前進と後進と中立状態とが切り換えられる。
【0052】
表示器50は、制御装置10から指令信号の入力を受けて、各種情報を表示する。表示器50に表示される各種情報は、たとえば、ホイールローダ1により実行される作業に関する情報、燃料残量、冷却水温度および作動油温度などの車体情報、ホイールローダ1の周辺を撮像した周辺画像などであってもよい。表示器50はタッチパネルであってもよく、この場合、オペレータが表示器50の一部に触れることにより生成される信号が、表示器50から制御装置10に出力される。
【0053】
制御装置10は、一般的にCPU(Central Processing Unit)により各種のプログラムを読み込むことにより実現される。制御装置10は、メモリ60と接続されている。メモリ60は、ワークメモリとして機能するとともに、ホイールローダの機能を実現するための各種のプログラムを格納する。
【0054】
制御装置10は、アクセル操作部材81aの操作量に応じた目標回転数が得られるように、エンジン指令信号を電子ガバナ25に送る。制御装置10は、電子ガバナ25の制御に従って変動するエンジン21への燃料供給量に基づいて、エンジン21の単位稼働時間あたりの燃料消費量、ホイールローダ1の単位走行距離あたりの燃料消費量、および、バケット6内の単位積載重量あたりの燃料消費量を、算出可能である。
【0055】
制御装置10は、T/M出力回転数センサ92の検出信号に基づいて、ホイールローダ1の車速を算出する。制御装置10は、ホイールローダ1の車速と牽引力との関係を規定するマップをメモリ60から読み出し、当該マップに基づいて、牽引力を算出する。
【0056】
制御装置10は、エンジン回転数センサ91から、エンジン回転数の検出信号の入力を受ける。制御装置10は、エンジン回転数とエンジントルクとの関係を規定するマップをメモリ60から読み出し、当該マップに基づいて、エンジントルクを算出する。
【0057】
牽引力およびエンジントルクは、マップの参照とは異なる形態で算出されてもよい。たとえば、テーブルの参照または数式による演算などによって、牽引力およびエンジントルクを算出してもよい。
【0058】
制御装置10は、ブーム14およびバケット6の動作を自動制御する。この自動制御の詳細については後述する。
【0059】
<掘削作業>
本実施形態のホイールローダ1は、土砂などの掘削対象物を掬い取る掘削作業を実行する。
図3は、実施形態に基づくホイールローダ1による掘削作業を説明する図である。
【0060】
図3に示されるように、ホイールローダ1は、バケット6の刃先6aを掘削対象物100に食い込ませた後に、
図3中の曲線矢印のように、バケット軌跡Lに沿ってバケット6を上昇させる。これにより、掘削対象物100を掬い取る掘削作業が実行される。
【0061】
本実施形態のホイールローダ1は、掘削対象物100をバケット6に掬い取る掘削動作と、バケット6内の荷(掘削対象物100)をダンプトラックなどの運搬機械に積み込む積込動作とを実行する。
【0062】
より具体的には、ホイールローダ1は、次のような複数の作業工程を順次に行うことを繰り返して、掘削対象物100を掘削し、ダンプトラックなどの運搬機械に掘削対象物100を積み込む。
【0063】
第一の工程は、掘削対象物100に向かって前進する空荷前進工程である。第二の工程は、バケット6の刃先6aが掘削対象物100に食い込むまでホイールローダ1を前進させる掘削(突込み)工程である。第三の工程は、ブームシリンダ16を操作してバケット6を上昇させるとともにバケットシリンダ19を操作してバケット6をチルトバックさせる掘削(掬込み)工程である。第四の工程は、バケット6に掘削対象物100が掬い込まれた後にホイールローダ1を後進させる積荷後進工程である。
【0064】
第五の工程は、バケット6を上昇させた状態を維持しながら、またはバケット6を上昇させながら、ホイールローダ1を前進させてダンプトラックに接近させる、積荷前進工程である。第六の工程は、所定位置でバケット6をダンプして掘削対象物100をダンプトラック荷台上に積み込む排土工程である。第七の工程は、ホイールローダ1を後進させながらブーム14を下げ、バケット6を掘削姿勢に戻す、後進・ブーム下げ工程である。以上が、掘削積込作業の1サイクルをなす典型的な作業工程である。
【0065】
<コンピュータ102Aの詳細構成>
図4は、作業機械を含むシステムに含まれる、コンピュータ102Aの構成を示す模式図である。実施形態に係るシステムは、作業機械の作業中、典型的にはホイールローダ1による掘削作業中の、作業機械本体(
図1を参照して説明した車体)に対するブーム14の角度(ブーム角度θ1、
図1)と、ブーム14に対するバケット6の角度(バケット角度θ2、
図1)との目標値を求めるためのシステムである。
図4に示されるコンピュータ102Aは、
図2に示される制御装置10の一部構成を成すものである。コンピュータ102Aは、実施形態に係るシステム用に専用に設計されたものであってもよく、または汎用のPC(Personal Computer)であってもよい。
【0066】
コンピュータ102Aは、プロセッサ103と、記憶装置104と、通信インタフェース105と、I/Oインタフェース106とを有している。プロセッサ103は、たとえばCPUである。
【0067】
記憶装置104は、記憶されたプログラムおよびデータなどの情報をプロセッサ103が読み取り可能なように記憶する媒体を含んでいる。記憶装置104は、RAM(Random Access Memory)、またはROM(Read Only Memory)などのシステムメモリと、補助記憶装置とを含んでいる。補助記憶装置は、たとえばハードディスクなどの磁気的記録媒体、CD(Compact Disc)、DVD(Digital Versatile Disc)などの光学的記録媒体、またはフラッシュメモリなどの半導体メモリであってもよい。記憶装置104は、コンピュータ102Aに内蔵されてもよい。記憶装置104は、コンピュータ102Aに着脱可能に接続される外部記録媒体109を含んでもよい。外部記録媒体109は、CD-ROMであってもよい。
【0068】
通信インタフェース105は、たとえば有線LAN(Local Area Network)モジュール、または無線LANモジュールなどであり、通信ネットワークを介した通信を行うためのインタフェースである。I/Oインタフェース106は、たとえばUSB(Universal Serial Bus)ポートなどであり、外部装置と接続するためのインタフェースである。
【0069】
コンピュータ102Aは、I/Oインタフェース106を介して、入力装置107、および出力装置108と接続される。入力装置107は、ユーザがコンピュータ102Aへの入力を行うための装置である。入力装置107は、たとえば、マウス、またはトラックボールなどのポインティングデバイスを含んでいる。入力装置107は、キーボードなどの文字入力のための装置を含んでもよい。出力装置108は、たとえば、ディスプレイ(表示器50、
図2)を含んでいる。
【0070】
図5は、出荷前のホイールローダ1のシステム構成を示すブロック図である。
図5に示されるプロセッサ103および記憶装置104は、
図4に示されるコンピュータ102Aの一部構成をなすものである。プロセッサ103は、演算部161を有している。
【0071】
演算部161は、第1油圧検出器95から、ブームシリンダ16の油室内の作動油の圧力を検出した検出信号の入力を受ける。演算部161は、アクセル操作検出部81bから、アクセル操作量を検出した検出信号の入力を受ける。演算部161は、T/M出力回転数センサ92から、トランスミッション26の出力軸の回転数を検出した検出信号の入力を受ける。演算部161は、T/M出力回転数センサ92の検出信号に基づいて、ホイールローダ1の車速を演算する。
【0072】
演算部161は、エンジン回転数センサ91から、エンジン回転数を検出した検出信号の入力を受ける。演算部161は、アクセル操作量に基づいてエンジン21への燃料供給量を演算し、土砂などの掘削対象物100のバケット6内への積込量をブームシリンダ16の油室内の油圧に基づいて演算し、さらに燃料供給量当たりの掘削対象物の積込量(すなわち、燃料消費率)を演算する。
【0073】
演算部161は、ホイールローダ1の車速と牽引力との関係を規定するマップを参照して、ホイールローダ1の車速に基づいて、牽引力を演算する。演算部161は、エンジン回転数とエンジントルクとの関係を規定するマップを参照して、エンジン回転数に基づいて、エンジントルクを演算する。
【0074】
ブームシリンダ16の油圧、アクセル操作量、車速、エンジン回転数、燃料消費率、牽引力、およびエンジントルクは、作業機械本体(車体)および作業機3の動作に関する機械データに含まれる。機械データは、アクセル操作量、車速、エンジン回転数、牽引力およびエンジントルクなどの、作業車両本体の走行に関するデータを含んでいる。
【0075】
プロセッサ103は、タイマ162を有している。演算部161は、タイマ162から現在時刻を読み出し、ホイールローダ1が掘削作業を実行しているときの、掘削作業開始からの経過時間を演算する。
【0076】
掘削作業が開始したこと、すなわちホイールローダ1の作業工程が空荷前進工程から掘削(突込み)工程へと移ったことは、バケット6の刃先6aが掘削対象物100に突っ込みバケット6に掘削対象物100の負荷が作用し始めるときにブームシリンダ16の油室内の油圧が増加することを検出すること、および作業機3が掘削作業を始める姿勢にあるかをブーム角度θ1とバケット角度θ2とにより確認することで、判定される。作業においてブームシリンダ16が受ける負荷を基に、作業開始時点が判定されてもよい。作業開始は、ホイールローダ1の周辺を撮像装置で撮影した撮像データを基に判定してもよい。
【0077】
掘削作業が終了したこと、すなわちホイールローダ1の作業工程が掘削(掬込み)工程から積荷後進工程へと移ったことは、ホイールローダ1の走行する方向が前進方向から後進方向へと変化し、かつバケット6の動作が掘削対象物100を掬い込むためのチルトバックから中立になったことを検出することで、判定される。
【0078】
プロセッサ103は、角度検出部163を有している。角度検出部163は、第1角度検出器29からブーム角度θ1を検出した検出信号の入力を受ける。角度検出部163は、第2角度検出器48からバケット角度θ2を検出した検出信号の入力を受ける。
【0079】
掘削作業中のある時刻に検出されたブーム角度θ1およびバケット角度θ2は、当該時刻における掘削作業開始からの経過時間と、当該時刻に取得された機械データとに割り当てられたものとされ、学習用データとして記憶装置104に格納される。記憶装置104には、目標姿勢推定モデル180を学習させるための学習用データセット188が保存されている。学習用データセット188は、掘削作業中のある時刻における掘削作業開始からの経過時間および機械データに対して、当該時刻における作業機3の姿勢(ブーム角度θ1およびバケット角度θ2)をラベル付けした学習用データを、複数含んでいる。
【0080】
プロセッサ103は、目標姿勢推定部165を有している。記憶装置104には、目標姿勢推定モデル180が保存されている。
【0081】
目標姿勢推定モデル180は、掘削作業中の作業機3の目標姿勢を求めるための人工知能モデルである。目標姿勢推定モデル180は、掘削作業開始からの経過時間および機械データから、掘削作業中の作業機3の目標姿勢を求めるように構成されている。コンピュータ102Aは、人工知能の目標姿勢推定モデル180を用いることで、掘削作業中の作業機3の目標姿勢を推定する。目標姿勢推定部165は、目標姿勢推定モデル180を用いて、経過時間および機械データから作業機3の目標姿勢を推定した推定目標姿勢を求める。
【0082】
より具体的には、目標姿勢推定部165は、記憶装置104から目標姿勢推定モデル180を読み出し、演算部161で演算された作業開始からの経過時間および機械データを目標姿勢推定モデル180に入力することで、目標とすべきブーム角度θ1およびバケット角度θ2の推定結果の出力を得る。
【0083】
目標姿勢推定モデル180は、ニューラルネットワークを含んでいる。目標姿勢推定モデル180は、たとえば、畳み込みニューラルネットワーク(CNN)などのディープニューラルネットワークを含んでいる。
【0084】
実施形態におけるモデルは、ハードウェア、ハードウェア上で実行可能なソフトウェア、ファームウェア、またそれらの組合せに実装されていてもよい。モデルは、プロセッサ103によって実行されるプログラム、アルゴリズム、およびデータを含んでもよい。モデルの機能は、単一のモジュールによって実行されてもよく、または複数のモジュールに分散して実行されてもよい。モデルは、複数のコンピュータに分散して配置されてもよい。
【0085】
プロセッサ103は、誤差算出部166と、目標姿勢推定モデル更新部167とを有している。
【0086】
誤差算出部166は、演算部161で演算された経過時間および機械データに対応する学習用データを選択する。誤差算出部166は、目標姿勢推定部165によって推定されたブーム角度θ1およびバケット角度θ2の推定結果と、選択された学習用データに含まれるブーム角度θ1およびバケット角度θ2とを比較する。誤差算出部166は、学習用データに含まれるブーム角度θ1およびバケット角度θ2の値に対する、目標姿勢推定部165で推定されたブーム角度θ1およびバケット角度θ2の推定結果の誤差を算出する。
【0087】
目標姿勢推定モデル更新部167は、誤差算出部166が算出したブーム角度θ1およびバケット角度θ2の誤差に基づいて、目標姿勢推定モデル180を更新する。このようにして、目標姿勢推定モデル180の学習が行なわれる。目標姿勢推定モデル180の学習は、ホイールローダ1の出荷前に、工場で行なわれる。
【0088】
<学習済みの目標姿勢推定モデル180の製造方法>
図6は、学習済みの目標姿勢推定モデル180の製造方法を示すフローチャートである。
図7は、目標姿勢推定モデル180を学習させるための処理を示す概略図である。
図5について説明した内容と一部重複もあるが、
図6および
図7を参照して、掘削作業中の作業機3の目標姿勢を推定する目標姿勢推定モデル180を学習させるための処理について、以下に説明する。
【0089】
図6に示されるように、まずステップS101において、経過時間および機械データを取得する。ステップS102において、作業機姿勢データを取得する。
【0090】
コンピュータ102A、より詳しくは演算部161は、掘削作業中のある時刻における掘削作業開始からの経過時間を演算する。また演算部161は、第1油圧検出器95、アクセル操作検出部81b、T/M出力回転数センサ92およびエンジン回転数センサ91を含む各種のセンサの検出結果に基づいて、当該時刻における機械データを演算する。角度検出部163は、第1角度検出器29および第2角度検出器48の検出結果に基づいて、当該時刻におけるブーム角度θ1およびバケット角度θ2を検出する。
【0091】
図7に示されるように、複数のオペレータによる実際の掘削作業、望ましくは数万回以上の掘削作業のうち、生産性の高い掘削が行なわれたときの、経過時間および機械データ(
図7に示される説明変数)、ならびに作業機姿勢データ(
図7に示される推定変数)が抽出される。実際の掘削作業のうち、掘削時間が短く掘削土量が多い掘削が行なわれたときの、経過時間および機械データと作業機姿勢データとを含む、学習用データ188A,188B,188C,…,が作成される。
【0092】
学習用データは、オペレータが手入力で入力するデータ、掘削対象物100の土質および傾斜の角度、ならびに、ホイールローダ1の周辺を撮像装置で撮像した撮像データなどをさらに含んでもよい。
【0093】
次にステップS103において、作業機3の目標姿勢を出力する。コンピュータ102A、より詳しくは目標姿勢推定部165は、記憶装置104から目標姿勢推定モデル180を読み出す。目標姿勢推定モデル180は、
図7に示すニューラルネットワークを含んでいる。ニューラルネットワークは、入力層181と、中間層(隠れ層)182と、出力層183とを含んでいる。中間層182は多層化されている。入力層181、中間層182および出力層183は、1または複数のユニット(ニューロン)を有している。入力層181、中間層182および出力層183のユニットの数は、適宜設定することができる。
【0094】
隣り合う層のユニット同士は結合されており、各結合には重みが設定されている。各ユニットにはバイアスが設定されている。各ユニットには閾値が設定されている。各ユニットへの入力値と重みとの積の総和にバイアスを加算した値が閾値を超えているか否かによって、各ユニットの出力値が決定される。
【0095】
目標姿勢推定モデル180は、作業開始からの経過時間および機械データから、作業中の作業機3の目標姿勢を求めるように学習される。学習によって得られた目標姿勢推定モデル180のパラメータは、記憶装置104に記憶されている。目標姿勢推定モデル180のパラメータは、たとえば、ニューラルネットワークの層数、各層におけるユニットの個数、ユニット同士の結合関係、各ユニット間の結合の重み、各ユニットに紐付けられているバイアス、および各ユニットの閾値を含んでいる。
【0096】
目標姿勢推定部165は、演算部161が演算した経過時間および機械データを、入力層181に入力する。出力層183から、作業機3の目標姿勢、具体的にはブーム角度θ1およびバケット角度θ2を示す出力値が出力される。たとえば、コンピュータ102Aは、経過時間および機械データを入力層181の入力として用いて、目標姿勢推定モデル180のニューラルネットワークの順方向伝播の演算処理を行う。これにより、コンピュータ102Aは、ニューラルネットワークの出力層183から出力される出力値として、作業機3の目標姿勢を推定した推定目標姿勢を得る。
【0097】
ステップS102の処理とステップS103の処理とは、ステップS102の処理の後にステップS103の処理が行われなくてもよい。ステップS102の処理とステップS103の処理とが同時に行われてもよく、ステップS103の処理の後にステップS102の処理が行われてもよい。
【0098】
次にステップS104において、ステップS103で出力された作業機3の目標姿勢と、ステップS102で取得された作業機姿勢データとの差を算出する。コンピュータ102A、より詳しくは誤差算出部166は、目標姿勢推定モデル180の出力層183から出力された、作業機3の目標姿勢を推定した推定目標姿勢と、該当の学習用データに含まれる作業機3の姿勢とを比較して、作業機姿勢データに対する推定目標姿勢の誤差を算出する。
【0099】
コンピュータ102Aは、掘削作業中のある時刻における作業開始からの経過時間と、当該時刻における機械データとを入力データとし、当該時刻における作業機3の姿勢を示す姿勢データ(ブーム角度θ1およびバケット角度θ2)を教師データとして、目標姿勢推定モデル180の学習を行う。コンピュータ102Aは、算出した出力値の誤差から、バックプロパゲーションにより、各ユニット間の結合の重み、各ユニットのバイアス、および各ユニットの閾値のそれぞれの誤差を算出する。
【0100】
次にステップS105において、目標姿勢推定モデル180を更新する。コンピュータ102A、より詳しくは目標姿勢推定モデル更新部167は、誤差算出部166で算出された、角度検出部163で得られた作業機3の姿勢に対する推定目標姿勢の誤差に基づいて、各ユニット間の結合の重み、各ユニットのバイアス、および各ユニットの閾値などの、目標姿勢推定モデル180のパラメータを更新する。そして、同じ経過時間および機械データが入力層181に入力されたならば、作業機3の姿勢を示す姿勢データにより近い出力値を出力できるようにする。更新された目標姿勢推定モデル180のパラメータは、記憶装置104に記憶される。
【0101】
次回に作業機3の目標姿勢を推定するときには、更新された目標姿勢推定モデル180に経過時間および機械データを入力して、作業機3の推定目標姿勢の出力を得る。コンピュータ102Aは、目標姿勢推定モデル180が出力する作業機3の推定目標姿勢が、経過時間および機械データを取得した時点での作業機3の姿勢を示す姿勢データと一致するようになるまで、ステップS101からステップS105までの処理を繰り返す。このようにして、目標姿勢推定モデル180のパラメータが最適化され、目標姿勢推定モデル180の学習が行われる。
【0102】
目標姿勢推定モデル180が十分に学習を積み重ねた結果、十分に精度の高い推定目標姿勢が得られるようになると、コンピュータ102Aは目標姿勢推定モデル180の学習を終える。このようにして、学習済みの目標姿勢推定モデル180が作成される。そして、処理を終了する(エンド)。
【0103】
なお、目標姿勢推定モデル180の各種のパラメータの初期値は、テンプレートにより与えられてもよい。またはパラメータの初期値は、人間の入力により手動で与えられてもよい。目標姿勢推定モデル180の再学習を行うときには、コンピュータ102Aは、再学習を行う対象となる目標姿勢推定モデル180のパラメータとして記憶装置104に記憶されている値に基づいて、パラメータの初期値を用意してもよい。
【0104】
<学習済みの目標姿勢推定モデル180を用いた作業機3の目標姿勢の推定>
図8は、工場出荷されるホイールローダ1のシステム構成を示すブロック図である。工場出荷されるホイールローダ1は、
図5に示されるコンピュータ102Aに替えて、コンピュータ102Bを備えている。コンピュータ102Bは、プロセッサ103と記憶装置104とを有している。
【0105】
プロセッサ103は、
図5と同様の、演算部161、タイマ162および目標姿勢推定部165を有している。プロセッサ103はまた、ブーム制御部168と、バケット制御部169とを有している。プロセッサ103は、
図5に示される角度検出部163、誤差算出部166および目標姿勢推定モデル更新部167を有していない。記憶装置104は、学習済みの目標姿勢推定モデル180を有している。記憶装置104は、
図5に示される学習用データセット188を有していない。
【0106】
図9は、工場出荷後に作業機3の目標姿勢を推定するためにコンピュータ102Bによって実行される処理を示すフローチャートである。
図10は、作業開始からの経過時間および機械データから作業機3の目標姿勢を求めるように学習済みの目標姿勢推定モデル180を用いた、推定目標姿勢を得る処理を示す模式図である。
図8~10を参照して、工場出荷後に掘削作業中の作業機3の目標姿勢を推定する処理について、以下に説明する。
【0107】
まずステップS201において、経過時間および機械データを取得する。コンピュータ102B、より詳しくは演算部161は、掘削作業中のある時刻における掘削作業開始からの経過時間を演算する。また演算部161は、第1油圧検出器95、アクセル操作検出部81b、T/M出力回転数センサ92およびエンジン回転数センサ91を含む各種のセンサの検出結果に基づいて、当該時刻における機械データを演算する。
図10に示される入力データ191は、経過時間と、機械データとを含んでいる。
【0108】
次にステップS202において、作業機3の目標姿勢を推定する。コンピュータ102B、より詳しくは目標姿勢推定部165は、目標姿勢推定モデル180および学習済みのパラメータの最適値を記憶装置104から読み出すことで、学習済みの目標姿勢推定モデル180を取得する。目標姿勢推定部165は、演算部161で演算された経過時間および機械データを、目標姿勢推定モデル180への入力データ191として用いる。目標姿勢推定部165は、経過時間および機械データを、学習済みの目標姿勢推定モデル180の入力層181に含まれる各ユニットに入力する。学習済みの目標姿勢推定モデル180の出力層183から、掘削作業中の作業機3の目標姿勢を推定した推定目標姿勢、具体的にはブーム角度θ1およびバケット角度θ2を含む角度出力値197(
図10)が出力される。
【0109】
次にステップS203において、コンピュータ102Bは、推定目標姿勢に基づいて、作業機3を動作する。
【0110】
目標姿勢推定部165からブーム制御部168に、目標のブーム角度θ1が出力される。ブーム制御部168は、目標のブーム角度θ1に基づいて、ブームシリンダ16に制御信号を出力する。制御信号を受けたブームシリンダ16が伸びるまたは縮むことにより、ブーム角度θ1の実際の値が目標値に近づくように、ブーム14を動作させる自動制御が行われる。
【0111】
目標姿勢推定部165からバケット制御部169に、目標のバケット角度θ2が出力される。バケット制御部169は、目標のバケット角度θ2に基づいて、バケットシリンダ19に制御信号を出力する。制御信号を受けたバケットシリンダ19が伸びるまたは縮むことにより、バケット角度θ2の実際の値が目標値に近づくように、バケット6を動作させる自動制御が行われる。
【0112】
最後に、ステップS204において、コンピュータ102Bは、作業機3の姿勢を含む管理データを生成する。コンピュータ102Bは、管理データを記憶装置104に記録する。そして、処理を終了する(エンド)。
【0113】
以上説明したように、実施形態に係るシステムでは、コンピュータ102Bは、掘削作業中の作業機3の目標姿勢を求めるための、学習済みの目標姿勢推定モデル180を有している。
図8~10に示されるように、コンピュータ102Bは、掘削作業中のある時刻における作業開始からの経過時間および機械データを取得し、学習済みの目標姿勢推定モデル180を用いて、経過時間および機械データから作業機3の目標姿勢を推定した推定目標姿勢を求めるようにプログラムされている。
【0114】
したがって、作業機3の目標姿勢の推定に適した人工知能の目標姿勢推定モデル180を利用して、掘削作業中の作業機3の目標姿勢を推定することができる。これにより、人工知能を用いて、作業機3の目標姿勢をコンピュータ102Bによって容易かつ精度よく求めることができる。
【0115】
図5に示されるように、コンピュータ102Aは、目標姿勢推定モデル180を用いて作業開始からの経過時間および機械データから作業機3の目標姿勢を推定した推定目標姿勢と、学習用データに含まれる作業中の作業機3の目標姿勢との誤差に基づいて、目標姿勢推定モデル180が更新されるようにプログラムされている。このようにすることで、工場出荷前に目標姿勢推定モデル180を十分に学習させて、精度の高い目標姿勢推定モデル180を作成することができる。
【0116】
工場出荷後のホイールローダ1は、第1角度検出器29、第2角度検出器48および角度検出部163を備えていてもよい。この場合には、工場出荷後に目標姿勢推定モデル180を追加学習することも可能である。
【0117】
図1に示されるように、ホイールローダ1は、前フレーム2aに連結されたブーム14と、ブーム14に連結されたバケット6とを有していてもよい。学習済みの目標姿勢推定モデル180を用いて、作業開始からの経過時間および機械データから、ブーム角度θ1およびバケット角度θ2の目標値を推定することができる。
【0118】
<目標姿勢推定モデル180の学習に関する変形例>
図11は、目標姿勢推定モデル180の学習に関する変形例を示す概略図である。
図5~7の説明においては、ホイールローダ1の工場出荷前に目標姿勢推定モデル180を学習させる例について説明した。目標姿勢推定モデル180を学習させるための学習用データは、複数のホイールローダ1から収集されてもよい。
【0119】
図11に示される、第1のホイールローダ1(ホイールローダ1A)と、第2のホイールローダ1(ホイールローダ1B)と、第3のホイールローダ1(ホイールローダ1C)と、第4のホイールローダ1(ホイールローダ1D)とは、同じ機種である。ホイールローダ1A,1B,1Cは、工場出荷後であり、作業現場にある。
【0120】
コンピュータ102Aは、各ホイールローダ1A,1B,1Cから、掘削作業中のある時刻における作業開始からの経過時間と、当該時刻における機械データを取得する。コンピュータ102Aはまた、各ホイールローダ1A,1B,1Cから、当該時刻における作業機姿勢データ(ブーム角度θ1およびバケット角度θ2)を、経過時間および機械データに対応付けて取得する。コンピュータ102Aは、各ホイールローダ1A,1B,1Cによる複数の掘削作業のうち、生産性の高い掘削が行われたときの経過時間、機械データおよび作業機姿勢データを抽出して、学習用データとして収集する。これらの学習用データを用いて、コンピュータ102Aは、経過時間および機械データから作業機3の目標姿勢を推定した推定目標姿勢を求めることができるように、目標姿勢推定モデル180を学習させる。
【0121】
コンピュータ102Aは、通信インタフェース105(
図4)を介して、各ホイールローダ1A,1B,1Cから、経過時間、機械データおよび作業機姿勢データを取得してもよい。またはコンピュータ102Aは、外部記録媒体109を介して、各ホイールローダ1A,1B,1Cから、経過時間、機械データおよび作業機姿勢データを取得してもよい。
【0122】
コンピュータ102Aは、ホイールローダ1A,1B,1Cと同じ作業現場に配置されていてもよい。またはコンピュータ102Aは、作業現場から離れた遠隔地、たとえば管理センターに配置されていてもよい。ホイールローダ1A,1B,1Cは、同じ作業現場にあってもよく、別々の作業現場にあってもよい。
【0123】
学習済みの目標姿勢推定モデル180は、通信インタフェース105または外部記録媒体109などを介して、各ホイールローダ1A,1B,1Cへ提供される。このようにして、各ホイールローダ1A,1B,1Cは、学習済みの目標姿勢推定モデル180を備えるものとされる。
【0124】
各ホイールローダ1A,1B,1Cに既に目標姿勢推定モデル180が保存されている場合には、保存されている目標姿勢推定モデル180が書き換えられる。上述した学習用データの収集と目標姿勢推定モデル180の学習とを定期的に実行することで、目標姿勢推定モデル180の書き換えが定期的に行なわれるようにしてもよい。目標姿勢推定モデル180のパラメータの最新の更新値は、記憶装置104にその都度記憶されている。
【0125】
学習済みの目標姿勢推定モデル180は、ホイールローダ1Dにも提供される。学習用データを提供するホイールローダ1A,1B,1Cと、学習用データを提供しないホイールローダ1Dとの両方に、目標姿勢推定モデル180が提供される。ホイールローダ1Dは、ホイールローダ1A,1B,1Cのいずれかと同じ作業現場にあってもよく、ホイールローダ1A,1B,1Cとは異なる作業現場にあってもよい。ホイールローダ1Dは、工場出荷前であってもよい。
【0126】
<蒸留モデルの製造方法>
上述した目標姿勢推定モデル180は、学習用データ188A,188B,188C,…,を用いて機械学習により学習したモデルに限られず、当該学習したモデルを利用して生成されたモデルであってもよい。たとえば目標姿勢推定モデル180は、学習済みモデルにデータの入出力を繰り返すことで得られる結果を基に学習させた別の学習済みモデル(蒸留モデル)であってもよい。
図12は、蒸留モデルを生成するための処理を示すフローチャートである。
【0127】
図12に示されるように、まずステップS301において、経過時間および機械データを取得する。
図6に示されるステップS101と同様に、演算部161は、掘削作業中のある時刻における掘削作業開始からの経過時間を演算するとともに、当該時刻における機械データを演算する。
【0128】
次にステップS302において、コンピュータ102Aは、学習済みの第1の目標姿勢推定モデルを用いて、掘削作業中の作業機3の目標姿勢を推定した推定目標姿勢を求める。ステップS303において、コンピュータ102Aは、推定された作業機3の目標姿勢を出力する。
【0129】
コンピュータ102A、より詳しくは目標姿勢推定部165は、記憶装置104から学習済みの第1の目標姿勢推定モデルを読み出す。目標姿勢推定部165は、演算部161が演算した経過時間および機械データを、学習済みの第1の目標姿勢推定モデルの入力層181に入力する。学習済みの第1の目標姿勢推定モデルの出力層183から、掘削作業中の作業機3の目標姿勢、具体的にはブーム角度θ1およびバケット角度θ2を示す推定目標姿勢が出力される。
【0130】
次にステップS304において、コンピュータ102Aは、ステップS301で取得した経過時間および機械データと、ステップS303で出力した作業機3の目標姿勢とを、学習データとして記憶装置104に保存する。
【0131】
次にステップS305において、コンピュータ102Aは、学習モデルによって第2の目標姿勢推定モデルの学習を行う。コンピュータ102Aは、経過時間および機械データを第2の目標姿勢推定モデルの入力層に入力する。コンピュータ102Aは、第2の目標姿勢推定モデルの出力層から、掘削作業中の作業機3の目標姿勢、具体的にはブーム角度θ1およびバケット角度θ2の推定結果を示す出力値を出力する。第2の目標姿勢推定モデルから出力された作業機3の推定目標姿勢と、ステップS303で出力した、第1の目標姿勢推定モデルから出力された作業機3の推定目標姿勢との差を算出する。この差に基づいて、コンピュータ102Aは、第2の目標姿勢推定モデルのパラメータを更新する。このようにして、第2の目標姿勢推定モデルの学習が行なわれる。
【0132】
最後にステップS306において、更新された第2の目標姿勢推定モデルのパラメータを学習済みパラメータとして記憶装置104に保存する。そして、処理を終了する(エンド)。
【0133】
以上のように、経過時間および機械データと、第1の目標姿勢推定モデルを用いて作業機3の目標姿勢を推定した推定目標姿勢と、を学習用データとして、第2の目標姿勢推定モデル(蒸留モデル)を学習させることで、コンピュータ102Aは、第1の目標姿勢推定モデルよりもシンプルな第2の目標姿勢推定モデルを用いて、掘削作業中の作業機3の目標姿勢を推定することができる。これにより、作業機3の目標姿勢を推定するためのコンピュータ102Aの負荷を軽減することができる。なおコンピュータ102Aは、他のコンピュータによって生成された学習データによって、第2の目標姿勢推定モデルの学習を行なってもよい。
【0134】
上記実施形態では、目標姿勢推定モデル180はニューラルネットワークを含んでいる。これに限られず、目標姿勢推定モデル180は、たとえばサポートベクターマシン、決定木など、機械学習を用いて作業開始からの経過時間および機械データから作業中の作業機3の目標姿勢を精度よく推定できるモデルであってもよい。
【0135】
本開示の思想を適用可能な作業機械は、ホイールローダに限られず、油圧ショベルまたはブルドーザなどの、作業機を有する作業機械であってもよい。油圧ショベルの場合、目標姿勢推定モデルに入力される機械データは、ブームシリンダの油圧、アームシリンダの油圧、エンジントルク、エンジン回転数、油圧ポンプ容量などを含んでもよい。油圧ショベルの場合、目標姿勢推定モデルが出力する作業機の推定目標姿勢は、車体に対するブームの角度、ブームに対するアームの角度、およびアームに対するバケットの角度を含んでもよい。
【0136】
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0137】
1,1A,1B,1C,1D ホイールローダ、2 車体フレーム、2a 前フレーム、3 作業機、4 走行装置、5 キャブ、6 バケット、6a 刃先、8 操作装置、9 ブームピン、10 制御装置、11 ステアリングシリンダ、14 ブーム、16 ブームシリンダ、17 バケットピン、18 ベルクランク、18a 支持ピン、18b,18c 連結ピン、19 バケットシリンダ、21 エンジン、29 第1角度検出器、48 第2角度検出器、81a アクセル操作部材、81b アクセル操作検出部、82a ステアリング操作部材、82b ステアリング操作検出部、83a ブーム操作部材、83b ブーム操作検出部、84a バケット操作部材、84b バケット操作検出部、85a 変速操作部材、85b 変速操作検出部、86a FR操作部材、86b FR操作検出部、91 エンジン回転数センサ、92 出力回転数センサ、95 第1油圧検出器、96 第2油圧検出器、100 掘削対象物、102A,102B コンピュータ、103 プロセッサ、104 記憶装置、105 通信インタフェース、106 I/Oインタフェース、107 入力装置、108 出力装置、109 外部記録媒体、161 演算部、162 タイマ、163 角度検出部、165 目標姿勢推定部、166 誤差算出部、167 目標姿勢推定モデル更新部、168 ブーム制御部、169 バケット制御部、180 目標姿勢推定モデル、181 入力層、182 中間層、183 出力層、188 学習用データセット、188A,188B,188C 学習用データ、191 入力データ、197 角度出力値、A ブーム基準線、B バケット基準線、H 水平線、L バケット軌跡。