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

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

▶ 株式会社小松製作所の特許一覧

特許7177608作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ
<>
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図1
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図2
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図3
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図4
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図5
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図6
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図7
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図8
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図9
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図10
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図11
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図12
  • 特許-作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-15
(45)【発行日】2022-11-24
(54)【発明の名称】作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ
(51)【国際特許分類】
   E02F 9/20 20060101AFI20221116BHJP
【FI】
E02F9/20 M
【請求項の数】 14
(21)【出願番号】P 2018111231
(22)【出願日】2018-06-11
(65)【公開番号】P2019214835
(43)【公開日】2019-12-19
【審査請求日】2021-05-06
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】山中 伸好
(72)【発明者】
【氏名】熊谷 年晃
(72)【発明者】
【氏名】藤井 賢佑
【審査官】石川 信也
(56)【参考文献】
【文献】特開2015-063864(JP,A)
【文献】国際公開第2016/148309(WO,A1)
【文献】国際公開第2017/010212(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 9/20
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
作業機械本体と、
前記作業機械本体に取り付けられた作業機と、
前記作業機を撮像する撮像装置と、
コンピュータとを備え、
前記コンピュータは、前記作業機の位置を求めるための学習済み位置推定モデルを有し、
前記学習済み位置推定モデルは、人工知能モデルであり、入力層と、中間層と、出力層とを有するニューラルネットワークを含み、かつ前記入力層、前記中間層、および前記出力層がそれぞれ、1または複数のニューロンを有しており、
前記コンピュータは、前記撮像装置によって撮像される前記作業機の撮像画像を取得し、前記学習済み位置推定モデルを用いて前記撮像画像を前記入力層に含まれる各前記ニューロンに入力し、前記出力層から前記作業機の位置を推定した推定位置を出力するようにプログラムされている、作業機械を含むシステム。
【請求項2】
前記作業機の位置は、前記作業機械本体に対する前記作業機の相対位置である、請求項1に記載のシステム。
【請求項3】
前記作業機は、前記作業機械本体に連結されたブームと、前記ブームに連結されたアームと、前記アームに連結されたバケットとを有し、
前記推定位置は、前記作業機械本体に対する前記ブームの角度と、前記ブームに対する前記アームの角度と、前記アームに対する前記バケットの角度とを含む、請求項2に記載のシステム。
【請求項4】
前記撮像画像は、前記作業機の動画像から得られたフレーム画像である、請求項1~3のいずれか1項に記載のシステム。
【請求項5】
前記撮像装置は、前記作業機械本体に取り付けられ、
前記作業機は、所定の動作平面上で動作し、
前記撮像装置の光軸が前記動作平面に交差する、請求項1~4のいずれか1項に記載のシステム。
【請求項6】
前記コンピュータは、前記推定位置と、前記撮像画像を撮像した時点に前記相対位置を計測した計測位置との誤差に基づいて、前記学習済み位置推定モデルが更新されるようにプログラムされている、請求項2、請求項3、または請求項2を直接もしくは間接的に引用する請求項4もしくは請求項5のいずれか1項に記載のシステム。
【請求項7】
前記作業機は、アタッチメントを有し、
前記作業機の位置は、前記アタッチメントの位置である、請求項1に記載のシステム。
【請求項8】
コンピュータによって実行される方法であって、
前記コンピュータは、作業機械本体に設けられた作業機の位置を求めるための学習済み位置推定モデルを有し、
前記学習済み位置推定モデルは、人工知能モデルであり、入力層と、中間層と、出力層とを有するニューラルネットワークを含み、かつ前記入力層、前記中間層、および前記出力層がそれぞれ、1または複数のニューロンを有しており、
前記作業機を含んだ画像を取得する工程と、
記学習済み位置推定モデルを用いて前記画像を前記入力層に含まれる各前記ニューロンに入力し、前記出力層から前記作業機の位置を推定した推定位置を出力する工程と、
を備える方法。
【請求項9】
学習済みの位置推定モデルの製造方法であって、
前記位置推定モデルは、人工知能モデルであり、入力層と、中間層と、出力層とを有するニューラルネットワークを含み、かつ前記入力層、前記中間層、および前記出力層がそれぞれ、1または複数のニューロンを有しており、
作業機械本体に取り付けられた作業機の撮像画像と、前記撮像画像を撮像した時点の前記作業機の位置を計測した計測位置とを含む学習用データを取得することと、
前記学習用データにより前記位置推定モデルを学習させることと、を備え
前記学習させることは、前記位置推定モデルを用いて前記撮像画像を前記入力層に含まれる各前記ニューロンに入力し、前記出力層から前記作業機の位置を推定した推定位置を出力することを含む、製造方法。
【請求項10】
前記学習させることは
前記計測位置に対する前記推定位置の誤差を算出することと、
前記誤差に基づいて前記位置推定モデルを更新することとを含む、請求項9に記載の製造方法。
【請求項11】
作業機の位置を求める位置推定モデルを学習させるための学習用データであって、
前記位置推定モデルは、人工知能モデルであり、入力層と、中間層と、出力層とを有するニューラルネットワークを含み、かつ前記入力層、前記中間層、および前記出力層がそれぞれ、1または複数のニューロンを有しており、
撮像装置によって撮像された前記作業機の撮像画像と、
前記撮像画像を撮像した時点の作業機の位置を計測した計測位置とを備え
前記学習させることは、前記位置推定モデルを用いて前記撮像画像を前記入力層に含まれる各前記ニューロンに入力し、前記出力層から前記作業機の位置を推定した推定位置を出力することを含む、学習用データ。
【請求項12】
前記作業機の位置は、作業機械本体に対する前記作業機の相対位置である、請求項11に記載の学習用データ。
【請求項13】
前記作業機は、前記作業機械本体に連結されたブームと、前記ブームに連結されたアームと、前記アームに連結されたバケットとを有し、
前記計測位置は、前記作業機械本体に対する前記ブームの角度と、前記ブームに対する前記アームの角度と、前記アームに対する前記バケットの角度とを含む、請求項12に記載の学習用データ。
【請求項14】
学習済みの位置推定モデルの製造方法であって、
前記位置推定モデルは、人工知能モデルであり、入力層と、中間層と、出力層とを有するニューラルネットワークを含み、かつ前記入力層、前記中間層、および前記出力層がそれぞれ、1または複数のニューロンを有しており、
作業機械本体に取り付けられた作業機の撮像画像を取得することと、
学習済みの第1の位置推定モデルを用いて前記撮像画像を前記入力層に含まれる各前記ニューロンに入力し、前記出力層から前記作業機の位置を推定した推定位置を出力することと、
前記撮像画像と前記推定位置とを含む学習用データにより、第2の位置推定モデルを学習させることと、を備える、製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データに関する。
【背景技術】
【0002】
油圧ショベルに関し、特許文献1には、ブームピンにブーム角度センサを取り付け、アームピンにアーム角度センサを取り付け、バケットリンクにバケット角度センサを取り付け、これら角度センサで検出した値に基づいてバケットの爪先の位置を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-71982号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記文献に記載の構成では、作業機の姿勢を取得するためにブーム、アームおよびバケットの各々の軸に角度センサを取り付ける必要があり、部品点数が増加する。
【0005】
本開示では、作業機の位置を求めるための、作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データが提供される。
【課題を解決するための手段】
【0006】
本開示のある局面に従うと、作業機械本体と、作業機械本体に取り付けられた作業機と、作業機を撮像する撮像装置と、コンピュータとを備える、作業機械を含むシステムが提供される。コンピュータは、作業機の位置を求めるための学習済み位置推定モデルを有している。コンピュータは、撮像装置によって撮像される作業機の撮像画像を取得し、学習済み位置推定モデルを用いて撮像画像から作業機の位置を推定した推定位置を求めるようにプログラムされている。
【0007】
本開示のある局面に従うと、コンピュータによって実行される方法が提供される。当該方法は、以下の処理を備えている。第1の処理は、作業機械本体に設けられた作業機を含んだ画像を取得することである。第2の処理は、作業機の位置を求めるための学習済み位置推定モデルを用いて、取得した画像から作業機の位置を推定した推定位置を求めることである。
【0008】
本開示のある局面に従うと、学習済みの位置推定モデルの製造方法が提供される。製造方法は、以下の処理を含んでいる。第1の処理は、学習用データを取得することである。学習用データは、作業機械本体に取り付けられた作業機の撮像画像と、撮像画像を撮像した時点の作業機の位置を計測した計測位置とを含んでいる。第2の処理は、学習用データにより位置推定モデルを学習させることである。
【0009】
本開示のある局面に従うと、作業機の位置を求める位置推定モデルを学習させるための学習用データが提供される。学習用データは、撮像装置によって撮像された作業機の撮像画像と、撮像画像を撮像した時点の作業機の位置を計測した計測位置とを備えている。
【0010】
本開示のある局面に従うと、学習済みの位置推定モデルの製造方法が提供される。製造方法は、以下の処理を備えている。第1の処理は、作業機械本体に取り付けられた作業機の撮像画像を取得することである。第2の処理は、学習済みの第1の位置推定モデルを用いて撮像画像から作業機の位置を推定した推定位置を求めることである。第3の処理は、撮像画像と推定位置とを含む学習用データにより、第2の位置推定モデルを学習させることである。
【発明の効果】
【0011】
本開示に従えば、作業機の位置を精度よく取得することができる。
【図面の簡単な説明】
【0012】
図1】実施形態に基づく油圧ショベルの外観図である。
図2】ブーム角度、アーム角度およびバケット角度について説明する、作業機の側面図である。
図3図1に示す油圧ショベルの模式的平面図である。
図4】作業機械を含むシステムに含まれる、コンピュータの構成を示す模式図である。
図5】出荷前の油圧ショベルのシステム構成を示すブロック図である。
図6】学習済みの位置推定モデルの製造方法を示すフローチャートである。
図7】位置推定モデルを学習させるための処理を示す概略図である。
図8】撮像画像の一例を示す模式図である。
図9】工場出荷される油圧ショベルのシステム構成を示すブロック図である。
図10】工場出荷後に作業機の相対位置を推定するためにコンピュータによって実行される処理を示すフローチャートである。
図11】学習済みの位置推定モデルを用いた、撮像画像から作業機の相対位置を推定する処理を示す模式図である。
図12】位置推定モデルの学習に関する変形例を示す概略図である。
図13】蒸留モデルを生成するための処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、実施形態について図に基づいて説明する。以下の説明では、同一部品には、同一の符号を付している。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0014】
実施形態においては、まず、本開示の思想を適用可能な作業機械の一例である油圧ショベルの構成について説明する。図1は、実施形態に基づく油圧ショベル100の外観図である。
【0015】
図1に示されるように、油圧ショベル100は、本体1と、油圧により作動する作業機2とを有している。本体1は、旋回体3と、走行装置5とを有している。走行装置5は、一対の履帯5Crを有している。油圧ショベル100は、履帯5Crの回転により走行可能である。なお、走行装置5が車輪(タイヤ)を有していてもよい。
【0016】
旋回体3は、走行装置5の上に配置され、かつ走行装置5により支持されている。旋回体3は、旋回軸RXを中心として走行装置5に対して旋回可能である。旋回体3は、キャブ4を有している。油圧ショベル100の乗員(オペレータ)は、このキャブ4に搭乗して、油圧ショベル100を操縦する。キャブ4には、オペレータが着座する運転席4Sが設けられている。オペレータは、キャブ4内において油圧ショベル100を操作可能である。オペレータは、キャブ4内において、作業機2の操作が可能であり、走行装置5に対する旋回体3の旋回操作が可能であり、また走行装置5による油圧ショベル100の走行操作が可能である。
【0017】
旋回体3は、エンジンが収容されるエンジンルーム9と、旋回体3の後部に設けられるカウンタウェイトとを有している。エンジンルーム9には、図示しないエンジンおよび油圧ポンプなどが配置されている。
【0018】
旋回体3において、エンジンルーム9の前方に手すり29が設けられている。手すり29には、アンテナ21が設けられている。アンテナ21は、たとえばGNSS(Global Navigation Satellite Systems:全地球航法衛星システム)用のアンテナである。アンテナ21は、車幅方向に互いに離れるように旋回体3に設けられた第1アンテナ21Aおよび第2アンテナ21Bを有している。
【0019】
作業機2は、旋回体3に支持されている。作業機2は、ブーム6と、アーム7と、バケット8とを有している。ブーム6は、旋回体3に回動可能に連結されている。アーム7はブーム6に回動可能に連結されている。バケット8は、アーム7に回動可能に連結されている。バケット8は、複数の刃を有している。バケット8の先端部を、刃先8aと称する。
【0020】
ブーム6の基端部は、ブームピン13を介して旋回体3に連結されている。アーム7の基端部は、アームピン14を介してブーム6の先端部に連結されている。バケット8は、バケットピン15を介してアーム7の先端部に連結されている。バケット8は、作業機2の先端に着脱可能に装着されたアタッチメントの一例である。作業の種類に応じて、アタッチメントが、ブレーカ、グラップル、またはリフティングマグネットなどに付け替えられる。
【0021】
なお本実施形態においては、作業機2を基準として、油圧ショベル100の各部の位置関係について説明する。
【0022】
作業機2のブーム6は、旋回体3に対して、ブーム6の基端部に設けられたブームピン13を中心に回動する。旋回体3に対して回動するブーム6の特定の部分、たとえばブーム6の先端部が移動する軌跡は円弧状である。その円弧を含む平面が、図1に示す動作平面Pとして特定される。油圧ショベル100を平面視した場合に、動作平面Pは直線として表される。この直線の延びる方向が、油圧ショベル100の本体1の前後方向、または旋回体3の前後方向であり、以下では単に前後方向ともいう。油圧ショベル100の本体1の左右方向(車幅方向)、または旋回体3の左右方向とは、平面視において前後方向と直交する方向であり、以下では単に左右方向ともいう。
【0023】
前後方向において、油圧ショベル100の本体1から作業機2が突き出している側が前方向であり、前方向と反対方向が後方向である。前方向を視て左右方向の右側、左側がそれぞれ右方向、左方向である。
【0024】
前後方向とは、キャブ4内の運転席に着座したオペレータの前後方向である。運転席に着座したオペレータに正対する方向が前方向であり、運転席に着座したオペレータの背後方向が後方向である。左右方向とは、運転席に着座したオペレータの左右方向である。運転席に着座したオペレータが正面に正対したときの右側、左側がそれぞれ右方向、左方向である。
【0025】
ブーム6は、ブームピン13を中心に回動可能である。アーム7は、アームピン14を中心に回動可能である。バケット8は、バケットピン15を中心に回動可能である。アーム7およびバケット8のそれぞれは、ブーム6の先端側で移動可能な可動部材である。ブームピン13、アームピン14およびバケットピン15は、動作平面Pと直交する方向、すなわち左右方向に延びている。動作平面Pは、ブーム6、アーム7およびバケット8の各々の回動中心となる軸線の、少なくとも一つ(実施形態の場合、三つ全て)と直交している。
【0026】
上述した通り、ブーム6は動作平面P上で旋回体3に対して回動動作する。同様に、アーム7は動作平面P上でブーム6に対して回動動作し、バケット8は動作平面P上でアーム7に対して回動動作する。実施形態の作業機2は、その全体が動作平面P上で動作する。バケット8の刃先8aは、動作平面P上を移動する。動作平面Pは、作業機2の可動範囲を含む垂直な平面である。動作平面Pは、ブーム6、アーム7およびバケット8の各々と交差している。動作平面Pは、ブーム6、アーム7およびバケット8の左右方向の中心に設定することができる。
【0027】
図1に示すように、本明細書において、動作平面P上における水平な方向にX軸を設定し、動作平面P上における垂直上向き方向にY軸を設定する。X軸とY軸とは、互いに直交している。
【0028】
作業機2は、ブームシリンダ10と、アームシリンダ11と、バケットシリンダ12とを有している。ブームシリンダ10は、ブーム6を駆動する。アームシリンダ11は、アーム7を駆動する。バケットシリンダ12は、バケット8を駆動する。ブームシリンダ10、アームシリンダ11、およびバケットシリンダ12のそれぞれは、作動油によって駆動される油圧シリンダである。
【0029】
作業機2は、バケットリンクを有している。バケットリンクは、第1リンク部材16と、第2リンク部材17とを有している。第1リンク部材16の先端と第2リンク部材17の先端とは、バケットシリンダトップピン19を介して、相対回転可能に連結されている。バケットシリンダトップピン19は、バケットシリンダ12の先端に連結されている。したがって第1リンク部材16および第2リンク部材17は、バケットシリンダ12にピン連結されている。
【0030】
第1リンク部材16の基端は、アーム7の先端部のバケットピン15の近傍において、第1リンクピン18を介してアーム7に回転可能に連結されている。第1リンク部材16は、アーム7にピン連結されている。第2リンク部材17の基端は、第2リンクピン20を介して、バケット8の根元部分のブラケットに回転可能に連結されている。第2リンク部材17は、バケット8にピン連結されている。
【0031】
油圧ショベル100は、撮像装置50を有している。実施形態の撮像装置50は、単眼カメラである。
【0032】
撮像装置50は、旋回体3に取り付けられている。撮像装置50は、キャブ4に取り付けられている。撮像装置50は、キャブ4の内部に取り付けられている。撮像装置50は、キャブ4の左フロントピラーの上端付近に取り付けられている。撮像装置50は、キャブ4の内部空間における、左右方向において作業機2からより離れる位置である左フロントピラーの近傍に配置されている。撮像装置50は、左右方向において、作業機2の動作平面Pから離れて配置されている。撮像装置50は、動作平面Pよりも左方に配置されている。
【0033】
図2は、ブーム角度θb、アーム角度θa、およびバケット角度θkについて説明する、作業機2の側面図である。
【0034】
図2に示すように、側方視において、ブームピン13とアームピン14とを通る直線と、上下方向に延びる直線との成す角度を、ブーム角度θbとする。ブーム角度θbは、旋回体3に対するブーム6の角度を表す。
【0035】
側方視において、ブームピン13とアームピン14とを通る直線と、アームピン14とバケットピン15とを通る直線との成す角度を、アーム角度θaとする。アーム角度θaは、ブーム6に対するアーム7の角度を表す。
【0036】
側方視において、アームピン14とバケットピン15とを通る直線と、バケットピン15と刃先8aとを通る直線との成す角度を、バケット角度θkとする。バケット角度θkは、アーム7に対するバケット8の角度を表す。
【0037】
動作平面P上における作業機2の姿勢は、ブーム角度θb、アーム角度θaおよびバケット角度θkの組み合わせで決まる。たとえば、アーム7の先端部の第1リンクピン18の動作平面P上の位置、すなわちXY座標は、ブーム角度θbおよびアーム角度θaの組み合わせで決まる。バケット8の動作に追随して変位するバケットシリンダトップピン19の動作平面P上の位置、すなわちXY座標は、ブーム角度θb、アーム角度θaおよびバケット角度θkの組み合わせで決まる。
【0038】
図3は、図1に示す油圧ショベル100の模式的平面図である。図3には、図1を参照して説明した作業機2、旋回体3、キャブ4、および撮像装置50が、模式的に図示されている。動作平面Pは、図3においては、図中の上下方向に延びる直線であり、二点鎖線で図示されている。図3に一点鎖線で図示されている光軸AXは、撮像装置50の光軸である。光軸AXの延びる方向と、動作平面Pの延びる方向とは、非平行である。光軸AXの延びる方向は、動作平面Pの延びる方向に対して傾斜している。光軸AXは、動作平面Pに交差している。
【0039】
撮像装置50は、作業機2の動作平面を斜め方向から見る位置に装着されている。撮像装置50は、動作平面Pに対して0°より大きい角度で、作業機2を撮像する。作業機2と撮像装置50との両方が旋回体3に取り付けられているために、油圧ショベル100が走行または旋回しても、動作平面Pに対する撮像装置50の位置関係は変化しない。動作平面Pに対する撮像装置50の取付位置は、油圧ショベル100の機種毎に予め決定されている。
【0040】
撮像装置50は、作業機2を撮像する。撮像装置50は、作業機2の動作平面Pを撮像する。撮像装置50は、動作平面P上を移動する作業機2を撮像する。撮像装置50による撮像画像は、作業機2の少なくとも一部を含んでいる。
【0041】
図4は、作業機械を含むシステムに含まれる、コンピュータ102Aの構成を示す模式図である。実施形態に係るシステムは、作業機械本体(本体1)に対する作業機2の相対位置を求めるためのシステムである。実施形態に係るシステムは、図1~3を参照して説明した作業機械の一例としての油圧ショベル100と、図4に示されるコンピュータ102Aとを含んでいる。
【0042】
コンピュータ102Aは、実施形態に係るシステム用に専用に設計されたものであってもよく、または汎用のPC(Personal Computer)であってもよい。コンピュータ102Aは、プロセッサ103と、記憶装置104と、通信インタフェース105と、I/Oインタフェース106とを有している。プロセッサ103は、たとえばCPU(Central Processing Unit)である。
【0043】
記憶装置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であってもよい。
【0044】
通信インタフェース105は、たとえば有線LAN(Local Area Network)モジュール、または無線LANモジュールなどであり、通信ネットワークを介した通信を行うためのインタフェースである。I/Oインタフェース106は、たとえばUSB(Universal Serial Bus)ポートなどであり、外部装置と接続するためのインタフェースである。
【0045】
コンピュータ102Aは、I/Oインタフェース106を介して、入力装置107、および出力装置108と接続される。入力装置107は、ユーザがコンピュータ102Aへの入力を行うための装置である。入力装置107は、たとえば、マウス、またはトラックボールなどのポインティングデバイスを含んでいる。入力装置107は、キーボードなどの文字入力のための装置を含んでもよい。出力装置108は、たとえば、ディスプレイを含んでいる。
【0046】
図5は、出荷前の油圧ショベル100のシステム構成を示すブロック図である。図5に示されるプロセッサ103および記憶装置104は、図4に示されるコンピュータ102Aの一部構成をなすものである。プロセッサ103は、画像処理部61と、作業機位置推定部65とを有している。記憶装置104には、学習済みの位置推定モデル80が保存されている。
【0047】
画像処理部61は、撮像装置(カメラ)50から、撮像装置50により撮像された撮像画像の入力を受ける。画像処理部61は、入力された撮像画像を画像処理する。
【0048】
位置推定モデル80は、本体1に対する作業機2の相対位置を求めるための人工知能モデルである。位置推定モデル80は、撮像画像から作業機2の相対位置を求めるように構成されている。コンピュータ102Aは、人工知能の位置推定モデルを用いることで、作業機2の相対位置を推定する。作業機位置推定部65は、位置推定モデル80を用いて、撮像画像から作業機2の相対位置を推定した推定位置を求める。より具体的には、作業機位置推定部65は、記憶装置104から位置推定モデル80を読み出し、位置推定モデル80に撮像画像を入力することで、ブーム角度θb、アーム角度θaおよびバケット角度θkの推定結果の出力を得る。
【0049】
位置推定モデル80は、ニューラルネットワークを含んでいる。位置推定モデル80はたとえば、畳み込みニューラルネットワーク(CNN)などのディープニューラルネットワークを含んでいる。
【0050】
実施形態におけるモデルは、ハードウェア、ハードウェア上で実行可能なソフトウェア、ファームウェア、またそれらの組合せに実装されていてもよい。モデルは、プロセッサ103によって実行されるプログラム、アルゴリズム、およびデータを含んでもよい。モデルの機能は、単一のモジュールによって実行されてもよく、または複数のモジュールに分散して実行されてもよい。モデルは、複数のコンピュータに分散して配置されてもよい。
【0051】
出荷前の油圧ショベル100は、エンコーダ161をさらに備えている。エンコーダ161は、ブームピン13に取り付けられるブーム角度センサ、アームピンに取り付けられるアーム角度センサおよびバケットリンクに取り付けられるバケット角度センサの総称である。エンコーダ161に替えて、作業機2にポテンショメータを装着して角度を計測してもよい。また、油圧シリンダのストロークを検出するストロークセンサを装着して、油圧シリンダの移動量を角度に変換してもよい。
【0052】
プロセッサ103は、角度変換部162と、誤差検出部66と、位置推定モデル更新部67とを有している。角度変換部162は、エンコーダ161から電気信号の入力を受け、この電気信号をブーム角度θb、アーム角度θaおよびバケット角度θkに変換する。エンコーダ161は、撮像装置50が撮像画像を撮像した時刻に電気信号を取得して、角度変換部162に出力する。角度変換部162は、撮像画像を撮像した時点に計測したブーム角度θb、アーム角度θaおよびバケット角度θkを、撮像画像に対応付けて取得する。
【0053】
誤差検出部66は、作業機位置推定部65によって推定されたブーム角度θb、アーム角度θaおよびバケット角度θkの推定結果と、角度変換部162で変換されたエンコーダ161の検出結果に基づくブーム角度θb、アーム角度θaおよびバケット角度θkの計測結果とを比較する。誤差検出部66は、ブーム角度θb、アーム角度θaおよびバケット角度θkの真値に対する推定結果の誤差を算出する。
【0054】
位置推定モデル更新部67は、誤差検出部66が算出したブーム角度θb、アーム角度θaおよびバケット角度θkの誤差に基づいて、位置推定モデル80を更新する。このようにして、位置推定モデル80が学習される。撮像装置50が撮像した作業機2の撮像画像と、角度変換部162で算出される、撮像画像を撮像した時点のブーム角度θb、アーム角度θaおよびバケット角度θkとは、位置推定モデル80を学習させるための学習用データを構成している。位置推定モデル80の学習は、油圧ショベル100の出荷前に、工場で行なわれる。
【0055】
図6は、学習済みの位置推定モデル80の製造方法を示すフローチャートである。図7は、位置推定モデル80を学習させるための処理を示す概略図である。図5について説明した内容と一部重複もあるが、図6および図7を参照して、本体1に対する作業機2の相対位置を推定する位置推定モデル80を学習させるための処理について、以下に説明する。
【0056】
図6に示されるように、まずステップS101において、撮像画像を取得する。コンピュータ102A、より詳しくは画像処理部61は、撮像装置(カメラ)50により撮像された撮像画像を、撮像装置50から取得する。撮像画像にはタイムスタンプが付与されており、撮像した時刻を判別できるように設定されている。画像処理部61は、撮像装置50が撮像した撮像画像をリアルタイムに取得してもよい。画像処理部61は、撮像装置50から撮像画像を所定時刻に、または所定時間毎に取得してもよい。画像処理部61は、撮像画像を画像処理して、記憶装置104に保存する。
【0057】
次にステップS102において、角度計測データを取得する。コンピュータ102A、より詳しくは角度変換部162は、エンコーダ161によって検出されたブーム角度θb、アーム角度θaおよびバケット角度θkの計測データを、エンコーダ161から取得する。これらの計測データは、撮像画像に割り当てられたものとされる。ある時刻に撮像された撮像画像は、その時刻に検出された計測データに対応付けられる。図7に示すように、撮像画像と、その撮像画像を撮像した時点に作業機2の角度を計測した計測位置とを含む学習用データ61A,61B,61C,…,が作成される。
【0058】
学習用データは、図7に示されるような、作業機2の姿勢が異なる複数の撮像画像を含んでいる。学習用データは、同じ姿勢の作業機2を、たとえば日中、逆光時、夜間などの異なる環境下で撮像した複数の撮像画像を含んでいてもよい。
【0059】
次にステップS103において、作業機2の相対位置を出力する。コンピュータ102A、より詳しくは作業機位置推定部65は、記憶装置104から位置推定モデル80を読み出す。位置推定モデル80は、図7に示すニューラルネットワークを含んでいる。ニューラルネットワークは、入力層81と、中間層(隠れ層)82と、出力層83とを含んでいる。各層81,82,83は、1または複数のニューロンを有している。各層81,82,83のニューロンの数は、適宜設定することができる。
【0060】
互いに隣接する層のニューロン同士は結合されており、各結合には重み(結合荷重)が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって、各ニューロンの出力値が決定される。
【0061】
位置推定モデル80は、撮像画像から作業機2の相対位置を求めるように学習される。学習によって得られた位置推定モデル80のパラメータは、記憶装置104に記憶されている。位置推定モデル80のパラメータは、たとえば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、および各ニューロンの閾値を含んでいる。
【0062】
作業機位置推定部65は、撮像装置50が撮像した撮像画像を、入力層81に入力する。出力層83から、本体1に対する作業機2の相対位置、具体的にはブーム角度θb、アーム角度θaおよびバケット角度θkを示す出力値が出力される。たとえば、コンピュータ102Aは、撮像画像を入力層81の入力として用いて、位置推定モデル80のニューラルネットワークの順方向伝播の演算処理を行う。これにより、コンピュータ102Aは、ニューラルネットワークの出力層83から出力される出力値として、作業機2の相対位置を推定した推定位置を得る。
【0063】
ステップS102の処理とステップS103の処理とは、ステップS102の処理の後にステップS103の処理が行なわれなくてもよい。ステップS102の処理とステップS103の処理とが同時に行なわれてもよく、ステップS103の処理の後にステップS102の処理が行なわれてもよい。
【0064】
次にステップS104において、ステップS103で出力された作業機2の推定位置と、ステップS102で取得された作業機2の角度の計測データとの差を算出する。コンピュータ102A、より詳しくは誤差検出部66は、位置推定モデル80の出力層83から出力された、撮像画像から作業機2の相対位置を推定した推定位置と、角度変換部162で得られた作業機2の相対位置の計測位置とを比較して、作業機2の相対位置の真値に対する推定値の誤差を算出する。
【0065】
コンピュータ102Aは、撮像画像を入力データとし、撮像画像を撮像した時点に作業機2の相対位置を計測した計測位置を教師データとして、位置推定モデル80の学習を行う。コンピュータ102Aは、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、および、各ニューロンの閾値のそれぞれの誤差を算出する。
【0066】
次にステップS105において、位置推定モデル80を更新する。コンピュータ102A、より詳しくは位置推定モデル更新部67は、誤差検出部66で算出された作業機2の相対位置の真値に対する推定値の誤差に基づいて、各ニューロン間の結合の重み、および各ニューロンの閾値などの、位置推定モデル80のパラメータを更新する。そして、同じ撮像画像が入力層81に入力されたならば真値により近い出力値を出力できるようにする。更新された位置推定モデル80のパラメータは、記憶装置104に記憶される。
【0067】
次回に作業機2の相対位置を推定するときには、更新された位置推定モデル80に撮像画像を入力して、作業機2の相対位置の推定結果の出力を得る。コンピュータ102Aは、位置推定モデル80が出力する作業機2の相対位置の推定結果が作業機2の相対位置を計測した計測位置と一致するようになるまで、ステップS101からステップS105までの処理を繰り返す。このようにして、位置推定モデル80のパラメータが最適化され、位置推定モデル80の学習が行なわれる。
【0068】
位置推定モデル80が十分に学習を積み重ねた結果、十分に精度の高い推定結果の出力が得られるようになると、コンピュータ102Aは位置推定モデル80の学習を終える。このようにして、学習済みの位置推定モデル80が作成される。そして、処理を終了する(エンド)。
【0069】
なお、位置推定モデル80の各種のパラメータの初期値は、テンプレートにより与えられてもよい。またはパラメータの初期値は、人間の入力により手動で与えられてもよい。位置推定モデル80の再学習を行うときには、コンピュータ102Aは、再学習を行う対象となる位置推定モデル80のパラメータとして記憶装置104に記憶されている値に基づいて、パラメータの初期値を用意してもよい。
【0070】
図8は、撮像画像の一例を示す模式図である。図8に示されるように、撮像装置50によって撮像される撮像画像は、作業機2の動画像MV1であってもよい。図8では、動画像MV1に含まれる複数の画像のうちの一部である画像F11~F14のみが例示されている。各々の画像F11~F14には、タイムスタンプが付与されている。コンピュータ102A(画像処理部61)は、動画像MV1から、たとえば画像F11を抜き出す。このときコンピュータ102は、画像F11に付与されているタイムスタンプと同時刻に検出された作業機2の相対位置の計測データを取得し、その計測データを撮像画像に割り当てる。
【0071】
図9は、工場出荷される油圧ショベル100のシステム構成を示すブロック図である。エンコーダ161は、出荷前に位置推定モデル80を学習させる目的で作業機2に仮取り付けされ、位置推定モデル80の学習が完了すると作業機2から取り外される。工場出荷される油圧ショベル100は、エンコーダ161を備えていない。工場出荷される油圧ショベル100は、図5に示すシステム構成のうち、撮像装置50およびコンピュータ102B(プロセッサ103、および記憶装置104)のみを備えている。
【0072】
図10は、工場出荷後に作業機2の相対位置を推定するためにコンピュータ102Bによって実行される処理を示すフローチャートである。図11は、撮像画像から作業機2の相対位置を求めるように学習済みの位置推定モデル80を用いた、撮像画像から作業機2の相対位置を推定する処理を示す模式図である。図9~11を参照して、工場出荷後に作業現場で撮像した撮像画像から作業機2の相対位置を推定する処理について、以下に説明する。
【0073】
まずステップS201において、撮像画像を取得する。コンピュータ102B、より詳しくは画像処理部61は、撮像装置(カメラ)50により撮像された撮像画像71(図11)を、撮像装置50から取得する。
【0074】
次にステップS202において、作業機2の相対位置を出力する。コンピュータ102B、より詳しくは作業機位置推定部65は、位置推定モデル80および学習済みのパラメータの最適値を記憶装置104から読み出すことで、学習済みの位置推定モデル80を取得する。作業機位置推定部65は、撮像装置50が撮像した撮像画像71を、位置推定モデル80への入力データとして用いる。作業機位置推定部65は、撮像画像71を、学習済みの位置推定モデル80の入力層81に含まれる各ニューロンに入力する。学習済みの位置推定モデル80の出力層83から、本体1に対する作業機2の相対位置を推定した推定位置、具体的にはブーム角度θb、アーム角度θaおよびバケット角度θkを示す角度出力値77(図11)が出力される。
【0075】
最後に、ステップS203において、コンピュータ102Bは、本体1に対する作業機2の相対位置を含む管理データを生成する。コンピュータ102Bは、管理データを記憶装置104に記録する。そして、処理を終了する(エンド)。
【0076】
以上説明したように、実施形態に係るシステムでは、コンピュータ102Bは、本体1に対する作業機2の相対位置を求めるための、学習済みの位置推定モデル80を有している。図9~11に示されるように、コンピュータ102Bは、撮像装置50によって撮像される作業機2の撮像画像71を取得し、学習済みの位置推定モデル80を用いて撮像画像71から作業機2の相対位置を推定した推定位置を求めるようにプログラムされている。
【0077】
したがって、本体1に対する作業機2の相対位置の推定に適した人工知能の位置推定モデル80を利用して、作業機2の姿勢を推定することができる。これにより、人工知能を用いて、作業機2の姿勢をコンピュータ102Bによって容易かつ精度よく判定することができる。
【0078】
作業機2の撮像画像から作業機の姿勢を推定できるので、ブーム角度θb、アーム角度θaおよびバケット角度θkを検出するためのセンサを不要にできる。角度センサの耐久性が油圧ショベル100の作業に影響を及ぼすこともない。したがって、簡易で安価かつ信頼性の高い構成で、従前の油圧ショベル100と同様に作業機2の現在の姿勢を取得することができる。
【0079】
図5に示されるように、コンピュータ102Aは、撮像画像から作業機2の相対位置を推定した推定位置と、当該撮像画像を撮像した時点に作業機2の相対位置を計測した計測位置との誤差に基づいて、位置推定モデル80が更新されるようにプログラムされている。このようにすることで、工場出荷前に位置推定モデル80を十分に学習させて、精度の高い位置推定モデル80を作成することができる。
【0080】
工場出荷される油圧ショベル100がエンコーダ161などのブーム角度θb、アーム角度θaおよびバケット角度θkを検出するためのセンサを備えている場合には、工場出荷後に位置推定モデル80を追加学習することも可能である。
【0081】
図7に示されるように、作業機2の相対位置の計測データは、ブーム角度θb、アーム角度θaおよびバケット角度θkを含んでいてもよい。予め関連付けて記憶された撮像画像の情報と本体1に対する作業機2の角度とを用いて、撮像装置50により撮像された撮像画像から、ブーム角度θb、アーム角度θaおよびバケット角度θkを求めることができる。
【0082】
図8に示されるように、撮像装置50によって撮像される撮像画像は、作業機2の動画像MV1であってもよい。動画像MV1を撮像することでタイムスタンプの付与された複数の画像を連続的に作成し、これら複数の画像の各々に、画像が撮像された時点に作業機2の相対位置を計測した計測位置を割り当てて学習用データとすることで、位置推定モデル80を効率的に学習させることができる。
【0083】
図3に示されるように、撮像装置50の光軸AXは、作業機2の動作平面Pに交差している。このようにすれば、撮像装置50は、動作平面Pに交差する方向から作業機2を撮像することができ、撮像画像内における作業機2の位置と動作平面P上の作業機2の位置とを一対一に対応付けることができる。したがって、撮像画像に基づいて、作業機2の現在の姿勢を精度よく取得することができる。
【0084】
図12は、位置推定モデル80の学習に関する変形例を示す概略図である。図5~7の説明においては、油圧ショベル100の工場出荷前に位置推定モデル80を学習させる例について説明した。位置推定モデル80を学習させるための学習用データは、複数の油圧ショベル100から収集されてもよい。
【0085】
図12に示される、第1の油圧ショベル100(油圧ショベル100A)と、第2の油圧ショベル100(油圧ショベル100B)と、第3の油圧ショベル100(油圧ショベル100C)と、第4の油圧ショベル100(油圧ショベル100D)とは、同じ機種である。油圧ショベル100A,100B,100Cは、撮像装置50とエンコーダ161とを備えている。油圧ショベル100A,100B,100Cは、工場出荷後であり、作業現場にある。
【0086】
コンピュータ102Aは、各油圧ショベル100A,100B,100Cから、撮像装置50が撮像した撮像画像を取得する。コンピュータ102Aはまた、各油圧ショベル100A,100B,100Cから、撮像画像を撮像した時点に計測したブーム角度θb、アーム角度θaおよびバケット角度θkを、撮像画像に対応付けて取得する。コンピュータ102Aは、同時刻に取得した撮像画像と作業機2の角度とを用いて、撮像画像から作業機2の相対位置を推定した推定位置を求めることができるように、位置推定モデル80を学習させる。
【0087】
コンピュータ102Aは、通信インタフェース105(図4)を介して、各油圧ショベル100A,100B,100Cから撮像画像と作業機2の角度の計測データとを取得してもよい。またはコンピュータ102Aは、外部記録媒体109を介して、各油圧ショベル100A,100B,100Cから撮像画像と作業機2の角度の計測データとを取得してもよい。
【0088】
コンピュータ102Aは、油圧ショベル100A,100B,100Cと同じ作業現場に配置されていてもよい。またはコンピュータ102Aは、作業現場から離れた遠隔地、たとえば管理センターに配置されていてもよい。油圧ショベル100A,100B,100Cは、同じ作業現場にあってもよく、別々の作業現場にあってもよい。
【0089】
学習済みの位置推定モデル80は、通信インタフェース105または外部記録媒体109などを介して、各油圧ショベル100A,100B,100Cへ提供される。このようにして、各油圧ショベル100A,100B,100Cは、学習済みの位置推定モデル80を備えるものとされる。
【0090】
各油圧ショベル100A,100B,100Cに既に位置推定モデル80が保存されている場合には、保存されている位置推定モデル80が書き換えられる。上述した学習用データの収集と位置推定モデル80の学習とを定期的に実行することで、位置推定モデル80の書き換えが定期的に行なわれるようにしてもよい。位置推定モデル80のパラメータの最新の更新値は、記憶装置104にその都度記憶されている。
【0091】
学習済みの位置推定モデル80は、油圧ショベル100Dにも提供される。学習用データを提供する油圧ショベル100A,100B,100Cと、学習用データを提供しない油圧ショベル100Dとの両方に、位置推定モデル80が提供される。油圧ショベル100Dは、油圧ショベル100A,100B,100Cのいずれかと同じ作業現場にあってもよく、油圧ショベル100A,100B,100Cとは異なる作業現場にあってもよい。油圧ショベル100Dは、工場出荷前であってもよい。
【0092】
上述した位置推定モデル80は、学習用データ61A,61B,61C,…,を用いて機械学習により学習したモデルに限られず、当該学習したモデルを利用して生成されたモデルであってもよい。たとえば位置推定モデル80は、学習済みモデルにデータの入出力を繰り返すことで得られる結果を基に学習させた別の学習済みモデル(蒸留モデル)であってもよい。図13は、蒸留モデルを生成するための処理を示すフローチャートである。
【0093】
図13に示されるように、まずステップS301において、撮像画像を取得する。コンピュータ102A、より詳しくは画像処理部61は、撮像装置(カメラ)50により撮像された撮像画像71(図11)を、撮像装置50から取得する。
【0094】
次にステップS302において、コンピュータ102Aは、学習済みの第1の位置推定モデルを用いて、本体1に対する作業機2の相対位置を推定した推定位置を求める。ステップS303において、コンピュータ102Aは、推定された作業機2の相対位置を出力する。
【0095】
コンピュータ102A、より詳しくは作業機位置推定部65は、記憶装置104から学習済みの第1の位置推定モデルを読み出す。作業機位置推定部65は、撮像装置50が撮像した撮像画像71を、学習済みの第1の位置推定モデルの入力層81に入力する。学習済みの第1の位置推定モデルの出力層83から、本体1に対する作業機2の相対位置、具体的にはブーム角度θb、アーム角度θaおよびバケット角度θkを示す角度出力値77(図11)の推定結果が出力される。
【0096】
次にステップS304において、コンピュータ102Aは、ステップS301で取得した撮像画像と、ステップS303で出力した作業機2の相対位置の推定結果とを、学習データとして記憶装置104に保存する。
【0097】
次にステップS305において、コンピュータ102Aは、学習モデルによって第2の位置推定モデルの学習を行う。コンピュータ102Aは、撮像画像を第2の位置推定モデルの入力層に入力する。コンピュータ102Aは、第2の位置推定モデルの出力層から、本体1に対する作業機2の相対位置、具体的にはブーム角度θb、アーム角度θaおよびバケット角度θkの推定結果を示す出力値を出力する。第2の位置推定モデルから出力された作業機2の相対位置と、ステップS303で出力した、第1の位置推定モデルから出力された作業機2の相対位置との差を算出する。この差に基づいて、コンピュータ102Aは、第2の位置推定モデルのパラメータを更新する。このようにして、第2の位置推定モデルの学習が行なわれる。
【0098】
最後にステップS306において、更新された第2の位置推定モデルのパラメータを学習済みパラメータとして記憶装置104に保存する。そして、処理を終了する(エンド)。
【0099】
以上のように、作業機2の撮像画像と第1の位置推定モデルを用いて作業機2の相対位置を推定した推定位置とを学習用データとして、第2の位置推定モデル(蒸留モデル)を学習させることで、コンピュータ102Aは、第1の位置推定モデルよりもシンプルな第2の位置推定モデルを用いて、本体1に対する作業機2の相対位置を推定することができる。これにより、作業機2の相対位置を推定するためのコンピュータ102Aの負荷を軽減することができる。なおコンピュータ102Aは、他のコンピュータによって生成された学習データによって、第2の位置推定モデルの学習を行なってもよい。
【0100】
上記実施形態では、位置推定モデル80はニューラルネットワークを含んでいる。これに限られず、位置推定モデル80は、たとえばサポートベクターマシンなど、機械学習を用いて作業機2の撮像画像から本体1に対する作業機2の相対位置を精度よく推定できるモデルであってもよい。
【0101】
本開示の思想を適用可能な作業機械は、油圧ショベルに限られず、ブルドーザ、モータグレーダ、またはホイールローダなどの作業機を有する作業機械であってもよい。
【0102】
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0103】
1 本体、2 作業機、3 旋回体、6 ブーム、7 アーム、8 バケット、50 撮像装置、61 画像処理部、61A,61B,61C 学習用データ、65 作業機位置推定部、66 誤差検出部、67 位置推定モデル更新部、71 撮像画像、77 角度出力値、80 位置推定モデル、81 入力層、82 中間層、83 出力層、100,100A,100B,100C,100D 油圧ショベル、102A,102B コンピュータ、103 プロセッサ、104 記憶装置、105 通信インタフェース、106 I/Oインタフェース、107 入力装置、108 出力装置、109 外部記録媒体、161 エンコーダ、162 角度変換部、AX 光軸、MV1 動画像、P 動作平面。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13