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

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

▶ キャタピラー インコーポレイテッドの特許一覧

<>
  • 特許-油圧機械の制御マッピング 図1
  • 特許-油圧機械の制御マッピング 図2
  • 特許-油圧機械の制御マッピング 図3
  • 特許-油圧機械の制御マッピング 図4
  • 特許-油圧機械の制御マッピング 図5
  • 特許-油圧機械の制御マッピング 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】油圧機械の制御マッピング
(51)【国際特許分類】
   E02F 9/22 20060101AFI20240730BHJP
   G06N 3/02 20060101ALI20240730BHJP
   G06N 20/00 20190101ALI20240730BHJP
   E02F 9/20 20060101ALI20240730BHJP
【FI】
E02F9/22 E
G06N3/02
G06N20/00
E02F9/20 C
【請求項の数】 10
(21)【出願番号】P 2021568210
(86)(22)【出願日】2020-04-09
(65)【公表番号】
(43)【公表日】2022-07-19
(86)【国際出願番号】 US2020027387
(87)【国際公開番号】W WO2020231554
(87)【国際公開日】2020-11-19
【審査請求日】2023-04-10
(31)【優先権主張番号】16/410,934
(32)【優先日】2019-05-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】391020193
【氏名又は名称】キャタピラー インコーポレイテッド
【氏名又は名称原語表記】CATERPILLAR INCORPORATED
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ホーデル、ベンジャミン ジェイ.
(72)【発明者】
【氏名】ペイン、ニコラス エー.
(72)【発明者】
【氏名】シュロス、ラッセル エー.
(72)【発明者】
【氏名】ゴーマン、コーリー エル.
【審査官】松本 泰典
(56)【参考文献】
【文献】中国特許出願公開第102041824(CN,A)
【文献】特開平10-068144(JP,A)
【文献】特開2009-243157(JP,A)
【文献】米国特許出願公開第2020/0257607(US,A1)
【文献】欧州特許出願公開第03093400(EP,A1)
【文献】米国特許第06047228(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 9/22
G06N 3/02
G06N 20/00
E02F 9/20
(57)【特許請求の範囲】
【請求項1】
機械制御システム(202)であって、
トレーニングデータセットに基づいて機械学習システム(224)を利用してトレーニングされたモデル重み(222)のセットを格納するメモリ(208)であって、前記トレーニングデータセット油圧バルブ(104)が事前設定された変位に従って設定されたときに、機械(100)の油圧バルブ(104)事前設定された変位を、測定された機械(100)の構成要素(106、108、110)の動きパラメータに相関させ、前記構成要素(106、108、110)は、前記油圧バルブ(104)によって少なくとも部分的に動かされる、メモリ(208)と、
前記機械(100)の前記構成要素(106、108、110)の要求された速度を示す速度コマンド及び前記機械(100)上に配置された1つ又は複数のセンサからの機械状態データ(216)を受信するように構成された入力データレシーバ(218)と、
前記モデル重み(222)のセットを使用して、前記速度コマンドと前記機械状態データ(216)の組み合わせを、前記速度コマンドに応答して要求された速度で前記構成要素(106、108、110)の動きを引き起こす前記油圧バルブ(104)の予測変位にマッピングするように構成された制御マッピングモデル(220)と、を具備した機械制御システム(202)。
【請求項2】
前記速度コマンドが、前記機械の制御要素に対する前記機械(100)の操作者による操作者コマンド入力である、請求項1に記載の機械制御システム(202)。
【請求項3】
前記動きパラメータ、前記油圧バルブ(104)が前記事前設定された変位に従って設定されたときに、テスト実施中に測定された際の前記構成要素(106、108、110)の位置座標、速度、又は加速度のうちの少なくとも1つを含前記構成要素(106、108、110)は、前記油圧バルブ(104)によって少なくとも部分的に動かされる、請求項1に記載の機械制御システム(202)。
【請求項4】
前記機械学習システム(224)が、ニューラルネットワーク全結合層(fully-connected neural network layer)を備えた放射基底関数ネットワーク(radial basis function network)を含み、該放射基底関数ネットワークが複数の反復にわたって前記モデル重みのセット(222)を調整するために少なくとも部分的にバックプロパゲーションを利用して前記モデル重みのセット(222)をトレーニングするように構成されている、請求項1に記載の機械制御システム(202)。
【請求項5】
前記メモリ(208)が、異なるタイプのイベントに対応する複数のモデル重み(222)のセットを格納し、前記制御マッピングモデル(220)が、前記速度コマンドに関連付けられたイベントタイプに基づいて前記複数のモデル重み(222)のセットから前記モデル重み(222)のセットを選択する、請求項1に記載の機械制御システム(202)。
【請求項6】
前記機械状態データ(216)が、ポンプ圧力、油圧シリンダ圧力、及び前記機械(100)の前記構成要素(106、108、110)又は他の構成要素(106、108、110)に関連付けられた位置データのうちの1つ又は複数を含む、請求項1に記載の機械制御システム(202)。
【請求項7】
機械(100)であって、
実質的に剛性のあるフレームと、
異なる変位に対して開くように構成された油圧バルブ(104)と、
前記実質的に剛性のフレームに接続された構成要素(106、108、110)であって、前記油圧バルブ(104)が、前記実質的に剛性のフレームを基準にして前記構成要素(106、108、110)を動かすように構成されている、構成要素(106、108、110)と、
機械状態データ(216)を測定するように構成されている前記機械(100)によって搭載される1つ又は複数のセンサと、
前記油圧バルブ(104)の変位を制御するように構成された機械制御システム(202)であって、
トレーニングデータセットに基づいて機械学習システム(224)を利用してトレーニングされたモデル重み(222)のセットを格納するメモリ(208)であって、該トレーニングデータセット油圧バルブ(104)が事前設定された変位に従って設定されたときに、油圧バルブ(104)事前設定された変位を、測定された構成要素(106、108、110)の動きパラメータに相関させ、前記構成要素(106、108、110)は、前記油圧バルブ(104)によって少なくとも部分的に動かされる、メモリ(208)と、
前記構成要素(106、108、110)の要求された速度を示す速度コマンド及び前記1つ又は複数のセンサからの前記機械状態データ(216)を受信するように構成された入力データレシーバ(218)と、
前記モデル重み(222)のセットを使用して、前記速度コマンドと前記機械状態データ(216)の組み合わせを、前記速度コマンドに応答して要求された速度で前記構成要素(106、108、110)の動きを引き起こす前記油圧バルブ(104)の予測変位にマッピングするように構成された制御マッピングモデル(220)と、を具備した機械制御システム(202)と、を具備した機械(100)。
【請求項8】
前記機械学習システム(224)が、ニューラルネットワーク全結合層(fully-connected neural network layer)を備えた放射基底関数ネットワーク(radial basis function network)を含み、且つ
前記機械学習システム(224)が、複数の反復にわたって前記モデル重みのセット(222)を調整するために少なくとも部分的にバックプロパゲーションを利用して前記モデル重みのセット(222)をトレーニングするように構成されている、請求項7に記載の機械(100)。
【請求項9】
前記機械制御システム(202)の前記メモリ(208)が、異なる種別のイベントに対応する複数のモデル重み(222)のセットを格納し、
前記制御マッピングモデル(220)が、前記速度コマンドに関連付けられたイベント種別に基づいて、前記複数のモデル重み(222)のセットから前記モデル重み(222)のセットを選択する、請求項7に記載の機械(100)。
【請求項10】
前記機械状態データ(216)が、ポンプ圧力、油圧シリンダ圧力、及び機械(100)の前記構成要素(106、108、110)又は他の構成要素(106、108、110)の位置データのうちの1つ又は複数を含む、請求項7に記載の機械(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、油圧機械の制御をマッピングするためのシステム及び方法に関し、より具体的には、機械学習を利用して、入力データを、油圧機械構成要素を所望の速度で動かせるバルブ変位を得るための電流へマッピングできるモデル重みを見いだすことに関する。
【背景技術】
【0002】
掘削機及びその他の機械は、多くの場合、油圧制御構成要素を有する。例えば、油圧シリンダにリンクされた油圧ポンプは、掘削機のブーム、スティック、及び/又はバケットを動作させることができる。従来、油圧構成要素は機械的に直接制御されることがよくある。例えば、従来の機械式制御では、レバーの動きが油圧バルブを機械的に開閉して油圧シリンダ内の圧力を変化させ、それによって機械構成要素の動きを引き起こす。最近では、油圧構成要素の直接的な機械的制御の代わりに電気油圧式制御を使用する機械が開発された。電気油圧式制御は、入力コマンドを電流又は油圧構成要素の動作を駆動する信号に変換できる。
【0003】
例えば、P. Opdenbosch, N. Sadegh, 及び W. Book,「Learning Control Applied to Electro-Hydraulic Poppet Valves,(電気油圧式ポペットバルブに適用される学習制御)」Proceedings of the American Control Conference, 2008, pp. 1525-1532(以下「Opdenbosch」)は、その関係が非線形である可能性があるとしても、バルブソレノイドに送られる電流の量に比例して開く電気油圧式バルブについて説明している。特に、Opdenboschは、バルブの逆入力状態マッピングを学習し、バルブのフローコンダクタンスを所望の軌道に従わせる、ノーダルリンクパーセプトロンネットワーク(Nodal Link Perceptron Network:NLPN)を使用して、電気油圧式バルブを較正及び制御する方法について説明している。
【0004】
ただし、Opdenboschで説明されている方法により、所望のフローコンダクタンスを達成するために電気油圧式バルブに印加する電流を決定できるとはいえ、その電流又は電気油圧式バルブの対応するフローコンダクタンスがどのように電気油圧式バルブによって駆動される機械構成要素の実際の速度に変換されるかについては説明していない。Opdenboschで説明されている方法に従ってバルブのフローコンダクタンスを制御できる場合でも、関連する機械構成要素の結果として生じる速度は、油圧シリンダの圧力、構成要素の位置、及び機械の状態の他の態様などの他の変数によって変化する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
電気油圧式バルブによって駆動される機械構成要素の所望の速度を達成するために、電気油圧式バルブに提供される電流を制御するためのシステム及び方法が、本明細書に記載されている。
【課題を解決するための手段】
【0006】
第1の態様によれば、機械の機械制御システムは、前記油圧バルブが前記事前設定された変位に従って設定されたときに、機械の油圧バルブの事前設定された変位を、測定された前記機械の構成要素の動きパラメータに相関させ、前記構成要素は、前記油圧バルブによって少なくとも部分的に動かされトレーニングデータセットに基づく機械学習システムを利用してトレーニングされたモデル重みのセットを格納するメモリを含むことができる。前記機械制御システムはまた、前記機械の構成要素に関連付けられた入力コマンド及び前記機械に配置された1つ又は複数のセンサからの機械状態データを受け取るように構成された入力データレシーバを含むことができる。前記機械制御システムは、前記モデル重みのセットを利用して、前記入力コマンドと前記機械状態データの組み合わせを、前記入力コマンに応答して前記構成要素の動きを引き起こす前記油圧バルブの予測変位にマッピングするように構成された制御マッピングモデルを有することができる。
【0007】
さらなる態様によれば、機械は実質的に剛性のフレーム、異なる変位に合わせて開くように構成された油圧バルブ、前記実質的に剛性のフレームに接続された構成要素を含むことができる。前記油圧バルブは、前記実質的に剛性のあるフレームを基準にして前記構成要素を動かすように構成されることができる。前記機械は、機械状態データを測定するように構成された1つ又は複数のセンサを搭載することもできる。前記機械はさらに、前記油圧バルブの変位を制御するように構成された機械制御システムを有することができる。前記機械制御システムは、前記油圧バルブが前記事前設定された変位に従って設定されたときに、前記油圧バルブの事前設定された変位を、測定された前記構成要素の動きパラメータに相関させ、前記構成要素が前記油圧バルブによって少なくとも部分的に動かされるトレーニングデータセットに基づく機械学習システムを利用してトレーニングされたモデル重みのセットを格納するメモリを含むことができる。前記機械制御システムはまた、前記構成要素に関連付けられた入力コマンド及び前記1つ又は複数のセンサからの前記機械状態データを受信するように構成された入力データレシーバを含むことができる。前記機械制御システムは、前記モデル重みのセットを使用して、前記入力コマンドと前記機械状態データの組み合わせを、前記入力コマンドに応答して前記構成要素の動きを引き起こす前記油圧バルブの予測変位にマッピングするように構成された制御マッピングモデルをさらに含むことができる。
【0008】
別の態様によれば、方法は、複数の事前定義されたバルブ変位を規定するパラメータグリッドに従って、機械上で複数のテストシーケンスを実行することによってテストシーケンスデータを取得することを含むことができる。前記複数のテストシーケンスのうちの第1のテストシーケンスを実行することは、前記複数の事前定義されたバルブ変位の第1のバルブ変位に少なくとも部分的に基づいて油圧バルブを動作させることであって、前記油圧バルブを動作させることが、前記機械の構成要素の動きを引き起こす、動作させることと、前記油圧バルブの動作によって引き起こされる前記構成要素の動きを示す第1のテストシーケンスデータを測定すること、とを含むことができる。本方法はまた、トレーニングデータの中の前記テストシーケンスデータを使用することにより機械学習システムを使用してモデル重みのセットをトレーニングすることと、トレーニングラベルの中の前記複数の事前定義されたバルブ変位を使用することと、前記モデル重みのセットが、損失メトリックが事前定義された閾値を下回るように前記トレーニングデータから前記トレーニングラベルを予測するまで前記モデル重みのセットを繰り返し調整することと、を含むことができる。本方法は、前記機械上の1つ又は複数のセンサから機械状態データを受信することと、前記入力コマンドと前記機械状態データの組み合わせを前記予測変位にマッピングするために前記モデル重みのセットを使用して前記油圧バルブの予測変位を生成することと、をさらに含むことができる。前記予測変位に少なくとも部分的に基づいて、前記油圧バルブの変位を制御することが、前記入力コマンドに応答して前記構成要素の動きを引き起こすことができる。
【図面の簡単な説明】
【0009】
本発明に係る実施形態について、添付の図面を参照しつつ説明する。図中、参照番号の左端の桁は、その参照番号が最初に表示される図を特定している。異なる図中の同じ参照番号は、類似又は同一のアイテムを示す。
図1図1は、機械の一例を示している。
図2図2は、オンボード・コンピューティング・システム及びオフボード・コンピューティング・システムの例を示している。
図3図3は、パラメータグリッドの一例を示している。
図4図4は、パラメータグリッドの値に従って、テスト環境での機械の物理的テスト中にチャンネルデータを取り込むプロセスのフローチャートを示している。
図5図5は、パラメータグリッドの値及びテストイベントの実行中に記録される対応するチャンネルデータに基づいてモデル重みをトレーニングするプロセスのフローチャートを示している。
図6図6は、入力データに基づいてバルブ変位に対する電流を予測するために機械上でモデル重みを使用するプロセスのフローチャートを示している。
【発明を実施するための形態】
【0010】
図1は、機械100の一例を示している。機械100は、実質的に剛性のフレームを有することができ、且つ機械100の1つ又は複数の油圧制御構成要素を動作させることができる機械100内の油圧流体の圧力を制御するように構成された油圧ポンプ102及び1つ又は複数の油圧バルブ104を含むことができる。図1の例では、機械100は、ブーム106、スティック108、及びバケット110を含む油圧制御構成要素を備えた掘削機である。油圧ポンプ102及び/又はバルブ104は、油圧シリンダを制御して、1つ又は複数の油圧制御構成要素の動きを引き起こすことができる。例えば、油圧ブームシリンダ112は、ブーム106の動きを制御することができ、油圧スティックシリンダ114はスティック108の動きを制御することができ、油圧バケットシリンダ116はバケット110及び/又はリンケージの動きを制御することができる。他の例では、機械100は、油圧制御バケットを備えたホイールローダー、あるいは油圧制御式ドローバー、サークル、及びモールドボード(DCM)を備えたモーターグレーダーなど、油圧制御構成要素を備えた任意の他のタイプの機械であり得る。
【0011】
機械100は、少なくとも部分的に電気油圧的に制御されることができ、それによって、バルブ104に印加される電流は、バルブ104を異なるバルブ変位位置に対して異なる角度で開閉させ、その結果1つ又は複数の油圧制御構成要素の対応する動きを引き起こすことができる。例えば、バルブ104は、バルブソレノイドを有することができ、バルブソレノイドに提供される電流は、バルブ104が、ブーム106、スティック108、バケット110、及び/又は他の油圧制御構成要素の対応する動きをもたらすバルブ変位に合わせて開閉するように調整することができる。
【0012】
機械100は、電子制御モジュール(ECM)118を有することができる。ECMは、1つ又は複数のバルブ104に提供されるバルブソレノイド電流などの電流を調整することができる機械制御システムであり得る。ECM118は、オペレータコマンド及び/又は機械100の現在の状態に関するデータを含む、入力データを処理し、油圧制御構成要素の動きを引き起こすことができる1つ又は複数のバルブ104に提供される電流を決定することができる。例えば、掘削機のキャブに座っている人間オペレータは、キャブ内のレバーを動かすか、別のタイプの制御器を使用して、オペレータが所望する速度でスティック108を内側に動かす「スティックイン」イベントのための速度コマンドなどの入力コマンドを入力することができる。別の例として、自律オペレータを実装するソフトウェアは、レバー又は他の制御器を物理的に動かすことなく、速度コマンド又は他の入力コマンドを直接出力することができる。速度コマンド又は他の入力コマンドは、異なるタイプの機能、操作、イベント(「スティックイン」イベント、「スティックアウト」イベント、「ブームアップ」イベント、「ブームダウン」イベント、「バケットカール(bucket-curl)」イベント、「バケットダンプ」イベント、又は1つ又は複数の油圧制御構成要素の動きに関連付けられた任意の他のイベントなど)に対応し得る。
【0013】
図2は、オンボード・コンピューティング・システム202及びオフボード・コンピューティング・システム204の例を示している。オンボード・コンピューティング・システム202は、機械100にオンボードであるか、又は機械100に組み込まれている1つ又は複数のコンピューティングデバイス又は他のコントローラを含むことができ、且つ1つ又は複数のプロセッサ206、システムメモリ208、及び通信インターフェース210を含むことができる。例えば、オンボード・コンピューティング・システム202は、ECM118、プログラマブルロジックコントローラ(PLC)、及び/又は他のコンピューティングデバイスであり得るか、又はそれらを含み得る。オフボード・コンピューティング・システム204は、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、又は任意の他の外部コンピューティングデバイスであり得るし、それ自体のプロセッサ206、システムメモリ208、及び通信インターフェース210を含むこともできる。いくつかの例では、オンボード・コンピューティング・システム202及びオフボード・コンピューティング・システム204は、通信インターフェース210を使用して、直接有線接続又はネットワークを介した接続などの有線又は無線通信リンク212を介して互いに通信することができる。
【0014】
オンボード・コンピューティング・システム202は、ECM118を含むことができる。いくつかの例では、ECM118は、オンボード・コンピューティング・システム202内の他のコンピューティングデバイスにリンクされてもされなくてもよいコンピューティングデバイスであり得る。例えば、ECM118は、それ自体のプロセッサ206、システムメモリ208、及び/又は通信インターフェース210を備えた専用コントローラなど、オンボード・コンピューティング・システム202の他の要素にリンクされた別個のハードウェア要素であり得る。ECM118は、コンピュータ実行可能命令及び本明細書に記載の動作に関連付けられた他のデータを格納するシステムメモリ208を有することができ、且つECM118の1つ又は複数のプロセッサ206は、ECM118に関連付けられたコンピュータ実行可能命令を実行することができる。他の例では、ECM118は、コンピュータ実行可能命令及びECM118に関連付けられた他のデータが、オンボード・コンピューティング・システム202の1つ又は複数の他のコンピューティングデバイスによって格納及び/又は実行され得るようなソフトウェアモジュールであり得る。
【0015】
プロセッサ(複数可)206は、本明細書に記載されるように、様々な機能を実行するように動作することができる。いくつかの例では、プロセッサ(複数可)206は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、CPUとGPUの両方、又は当技術分野で知られている他の処理装置又は構成要素を含み得る。システムメモリ208は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、ハードドライブ又は他のディスクドライブ、メモリカード、光学ストレージ、磁気ストレージ、及び/又は任意の他のコンピュータ可読媒体を含む統合又はリムーバブルメモリ装置を含む揮発性及び/又は非揮発性のコンピュータ可読媒体であり得る。コンピュータ可読媒体は、非一時的なコンピュータ可読媒体であり得る。コンピュータ可読媒体は、本明細書に記載の動作を実行するためにプロセッサ(複数可)206によって実行され得るコンピュータ実行可能命令を格納するように構成され得る。付加的に、プロセッサ(複数可)206は、ローカルメモリを所有することができ、ローカルメモリはまた、プログラムモジュール、プログラムデータ、及び/又は1つ又は複数のオペレーティングシステムを格納することができる。
【0016】
例示的な実施形態は、本明細書に記載されているプロセス又は方法を実行するようにコンピュータ(又は他の電子デバイス)をプログラムするために使用され得る命令(圧縮又は非圧縮形式で)をその上に記憶した非一時的な機械可読記憶媒体を含むコンピュータプログラムアイテムとして提供され得る。機械可読記憶媒体には、ハードドライブ、フロッピーディスク、光ディスク、CD-ROM、DVD、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、フラッシュメモリ、磁気カード又は光学カード、ソリッドステートメモリデバイス、又は電子命令を保存するのに適した他のタイプの媒体/機械可読媒体を含み得るが、これらに限定されない。さらに、例示的な実施形態はまた、一時的な機械可読信号(圧縮又は非圧縮形式)を含むコンピュータプログラムアイテムとして提供され得る。キャリアを使用して変調されているかどうかにかかわらず、機械可読信号の例には、インターネット又は他のネットワークを介してダウンロードされた信号を含む、コンピュータシステム又はコンピュータプログラムをホストとして処理又は実行している機械がアクセスするように構成されることができる信号が含まれるが、これらに限定されない。
【0017】
オフボード・コンピューティング・システム204のシステムメモリ208は、1つ又は複数のパラメータグリッド214を格納することができる。以下により詳細に説明するように、パラメータグリッド214は、テストイベント中に使用して機械100に関するデータを測定及び取り込むことができるパラメータの組み合わせを規定することができる。いくつかの例では、パラメータグリッド214は、テスト中にオンボード・コンピューティング・システム202にコマンドを送信するように構成されたオフボード・コンピューティング・システム204のシステムメモリ208に格納されることができる。他の例では、パラメータグリッド214は、オフボード・コンピューティング・システム204上に準備され、テストの前にオンボード・コンピューティング・システム202にロードされ得、その結果、オンボード・コンピューティング・システム202のシステムメモリ208はまた、1つ又は複数のパラメータグリッド214のコピーを格納し得る。
【0018】
オンボード・コンピューティング・システム202のシステムメモリ208は、パラメータグリッド214に基づくテスト中及び/又は機械100の他の動作中に機械100のオンボードで測定及び記録されたチャンネルデータ216などのチャンネルデータ216を格納することができる。チャンネルデータ216は、パラメータグリッドによって規定されたテストイベントの実行中、及び/又は機械100の通常の動作中に、機械100の状態に関する物理及び/又は仮想センサによって提供される測定値及び他のデータを含むことができる。テストイベント中及び/又は機械100の通常の動作中に記録されたチャンネルデータ216は、以下でさらに説明するように、記憶及び/又は分析のためにオフボード・コンピューティング・システム204のシステムメモリ208に転送されることもできる。
【0019】
ECM118などのオンボード・コンピューティング・システム202はまた、入力データレシーバ218を含むことができる。入力データレシーバ218は、速度コマンド又はレバーの動きによって示される他のコマンドなどのイベントに関連付けられた入力コマンド、あるいは他のユーザ入力に対応するデジタル信号又は自律オペレータソフトウェアからの速度命令を受信することができる。入力データレシーバ218はまた、現在のポンプ圧力又はポンプコマンドに関するチャンネルデータ216及びバルブ104の現在の変位に関する情報など、機械100の現在の状態に関する他の入力データを受信するか又は探索することができる。
【0020】
オンボード・コンピューティング・システム202のシステムメモリ208はまた、制御マッピングモデル220及びモデル重み222のデータを格納することができる。制御マッピングモデル220は、モデル重み222を使用して入力データを出力データにマッピングする数学的モデル又は計算グラフであり得る。例えば、制御マッピングモデル220は、速度コマンド及び機械100の状態に関する他の入力データなどの入力データを、対応するバルブソレノイド電流又は他の電流に変換又はマッピングすることができる。制御マッピングモデル220によって決定される電流は、制御マッピングモデル220により予測され、機械の現在の状態の他の態様と組み合わせて、入力コマンドに対応する速度における油圧制御構成要素の動きをもたらす変位に合わせてバルブ104を開閉させる電流であり得る。
【0021】
以下により詳細に説明するように、いくつかの例では、モデル重み222は、オフボード・コンピューティング・システム204上で実行される機械学習システム224によって生成されることができ、且つモデル重み222は、制御マッピングモデル220によって使用されるために、オフボード・コンピューティング・システム204からオンボード・コンピューティング・システム202のシステムメモリ208へ転送されることができる。機械学習システム224は、機械学習を利用して、モデル重み222が、入力データを、入力速度コマンドに対応する速度でスティック108及び/又はその他の油圧制御構成要の動きをもたらすと予測されるバルブ104の電流にマッピングするように、テストデータに基づいてモデル重み222をトレーニングするように構成されることができる。
【0022】
図3は、パラメータグリッド214の一例を示している。パラメータグリッド214は、機械100が実行できる特定のタイプのイベント又は動作に対して規定されることができる。例えば、機械100が、「スティックイン」イベント、「スティックアウト」イベント、「ブームアップ」イベント、「ブームダウン」イベント、「バケットカール」イベント、及び「バケットダンプ」イベントを実行できる掘削機である場合には、これらの6つのタイプのイベントのそれぞれに1つずつ、6つのパラメータグリッド214が規定されることができる。パラメータグリッド214は、あるタイプのイベントの実行中に機械100の構成要素の動きに影響を与えることができるパラメータ302を規定することができる。パラメータグリッド214は、パラメータ302の値306の全く異なる組み合わせで複数のテストイベント304を規定することもできる。
【0023】
パラメータグリッド214のパラメータ302は、テスト中に機械100にオンボードで設定されることができ、且つ/又はイベントタイプに関連する少なくとも1つの機械構成要素の動き及び/又は速度に影響を及ぼすことができる変数であり得る。例えば、機械100が掘削機であり、イベントタイプが「スティックイン」イベントである場合、パラメータグリッド214の列は、ブーム位置、ペイロード値、ポンプ圧力を決定するポンプ電流コマンド、及びバルブ104の変位に対応するリンケージバルブ電流を含むパラメータ302を規定することができる。いくつかの例では、ポンプ電流コマンドは、ポンプバルブ電流、また従ってバルブ104の変位を制御し、それ自体が、ポンプ圧力を決定する油圧の流れを制御することができる。これらのパラメータ302は、掘削機の「スティックイン」イベントタイプに対して選択することができる。ブーム106の位置、ペイロード値、油圧ポンプ102によって提供される圧力、及び/又は掘削機内のバルブ104の変位が、一緒に、組み合わせて、掘削機のスティック108の内向きの運動の結果得られる速度を支配することができるからである。
【0024】
パラメータグリッド214はまた、異なるテストイベント304に対して規定されたパラメータ302に対して値306の一連の異なる組み合わせを規定することができる。パラメータグリッド214内の異なるテストイベント304は、同じ全体的なタイプのイベントに関連することができるが、パラメータ302の異なる初期値306に基づく異なるテスト実行、スイープ、又はシーケンスであり得る。例えば、パラメータグリッド214の1つの行は、ブーム位置、ポンプコマンド、及び第1のテストイベント304のバルブ変位の第1の組み合わせを規定することができる一方、パラメータグリッド214の第2の行は、第2のテストイベント304のためのブーム位置、ポンプコマンド、及びバルブ変位の第2の組み合わせを規定することができる。いくつかの例では、パラメータグリッド214は、1つ又は複数のパラメータ302の値306を、1つ又は複数のパラメータ302パラメータグリッド214内で順次的であるテストイベント304間で一定に保つことができるが、1つ又は複数の他のパラメータ302の値306を変更することができる。例えば、パラメータグリッド214は、ブーム位置及びポンプコマンドの値306を、一連のテストイベント304全体を通して一定に保つことができるが、順次的なテストイベント304の間で事前定義された量だけバルブ変位を変化させる。この例では、テストイベント304の第1のセットが、バルブ変位の複数の可能な値306と組み合わせて、ブーム位置及びポンプコマンドの定数値306を示した後、パラメータグリッド214内のテストイベント304の後続セットは、ブーム位置及び/又はポンプコマンドの新しい定数値306を規定することができ、且つバルブ変位の複数の可能な値306を再度通り抜けることができる。
【0025】
全体として、パラメータグリッド214は、特定のタイプのイベント中に機械100の1つ又は複数の油圧制御構成要素の可能な運動を駆動する状態空間をカバーするために、複数のテストイベント304にわたって定義済みのパラメータ302の値306のいくつもの組み合わせを有するように規定されることができる。以下に説明するように、パラメータグリッド214は、機械100のテスト中に使用して、機械学習を介して分析することができる機械構成要素及び他のチャンネルデータ216に関連付けられる動きパラメータを取り込むことができる。
【0026】
図4は、パラメータグリッド214内の値306に基づいてテスト環境における機械100の物理的テスト中にチャンネルデータ216を取り込むプロセスのフローチャートを示している。図4のプロセス中に、テストイベント304は、テストイベント304のパラメータグリッド214に事前設定された値306に対応する固定パラメータオーバーライドを使用して機械100を初期化することによって実行され得る。複数のテストイベント304にわたって、パラメータグリッド214で規定された値306の様々な組み合わせの結果を観察及び記録することができ、その結果を後で機械学習を介して制御マッピングモデル220のモデル重み222を決定するために使用することができる。図4のプロセスは、異なるパラメータグリッド214を使用して、機械100に関連付けられた全く異なるタイプのイベントに関連付けられたチャンネルデータ216の異なるセットを取り込むために複数回実行されることができる。例えば、機械100が、「スティックイン」イベント、「スティックアウト」イベント、「ブームアップ」イベント、「ブームダウン」イベント、「バケットカール」イベント、及び「バケットダンプ」イベントを実行できる掘削機であり、且つチャンネルデータ216を、これらの6つのタイプのイベントについて取り込むことになっている場合には、図4のプロセスを、6種類のイベントごとに1回ずつ、6回実行できる。
【0027】
動作402において、パラメータグリッド214をテストコントローラにロードすることができる。例えば、場合によっては、テストコントローラは、テスト中に少なくとも部分的に機械100を制御するために有線又は無線接続を介して機械100に接続される、ラップトップコンピュータ又は他のコントローラなどのオフボード・コンピューティング・システム204であり得る。パラメータグリッド214は、特定のタイプのイベント中に機械100の1つ又は複数の油圧制御構成要素の可能な運動を駆動する状態空間をカバーするために、様々なテストイベント304のためのパラメータ302の値306を用いて規定されてきた可能性がある。いくつかの例では、パラメータグリッド214を手動で規定されてきた可能性がある。他の例では、パラメータグリッド214の一部又は全部の態様は、異なるテストイベント304に関するその値306などであって、プログラムに従って規定されてきた可能性がある。例えば、コンピュータ実行可能命令は、オフボード・コンピューティング・システム204のプロセッサ206によって実行されることができ、事前定義された増分値によって連続するテストイベント304において1つ又は複数のパラメータ302の値306を変化させることによってパラメータグリッド214を自動的に生成することができる。
【0028】
動作404において、パラメータグリッド214を使用して、テストイベント304のために機械100を初期化することができる。特定のテストイベント304のために機械100を初期化するには、機械100の構成要素は、パラメータグリッド214内のテストイベント304のために規定された値306に従って設定されることができる。例えば、特定のテストイベント304について、パラメータグリッド214が固有のブーム位置、固有のポンプコマンド、及び固有のバルブ変位を規定する場合、機械100のブーム106を定義済みのブーム位置へ動かせることができ、油圧ポンプ102を、定義済みのポンプコマンドに従って設定することができ、そしてバルブ104を、定義済みのバルブ変位に従って開くように設定することができる。
【0029】
いくつかの例では、ECM118又は他のオンボードコントローラ、オフボードコントローラ、機械要素、ロボット要素、及び/又は他の要素などのテストコントローラ及び/又は他のテスト機器を使用して、機械100の構成要素をパラメータグリッド214内の値306の組み合わせに従って自動的に構成することができる。例えば、オフボードテストコントローラのプロセッサ206は、特定のテストイベント304用のパラメータグリッド214内の値306を決定し、その値306又は対応する命令を、機械100のオンボードコントローラに出力することができる。当該オンボードコントローラは、コンピュータ実行可能命令を実行して機械100の構成要素を、テストイベント304に関連付けられる値306に基づいて人間の入力なしに自動的に動作させ又は調整させる信号を生成及び出力する。これにより、テストイベント304毎のパラメータグリッド214に従って機械100の構成要素を初期化する際のヒューマンエラーのリスクを低減することができ、パラメータグリッド214内の複数の連続するテストイベント304に基づくテストが人間の介入なしに自動的に進行することを可能にする。
【0030】
動作406において、パラメータグリッド214内のそのテストイベント304の値306に従ってテストイベント304の機械100の構成要素を初期化した後、テストコントローラは、機械100の構成要素が、動作404中に初期化された構成要素の状態に基づいて動きをするように機械100を起動させることによってテストイベント304を実行することができ。例えば、掘削機がブーム位置、ポンプコマンド、及びパラメータグリッド214内のテストイベント304に対して規定されたバルブ変位に基づいて初期化されたとき、掘削機の油圧ポンプ102は、掘削機のスティック108が、事前設定されたブーム位置、ポンプコマンド、及びバルブ変位の結果として動作するように作動状態にされることができる。
【0031】
動作408において、チャンネルデータ216は、機械100が動くにつれて、機械100上又はその周辺の物理及び/又は仮想センサを使用して、テストイベント304の実行中に測定及び記録されることができる。測定及び記録されたチャンネルデータ216は、速度、加速度、位置情報、及び/又は任意の他の動きパラメータを含む、テストイベント304の実行中に測定された機械100の構成要素の動きパラメータを指示することができる。
【0032】
例えば、慣性測定ユニット(IMU)又はストリングポテンショメータなどの位置センサを使用して、テストイベント304の実行中に3次元空間を通してスティック108又は他の機械構成要素の位置を追跡することができる。空間座標又は経時的な構成要素の位置を示す他の情報などのこの位置データを使用して、構成要素の速度、構成要素の加速度、及び/又はその他の位置データを含む、テストイベント304の実行中のスティック108又は他の機械構成要素の動きパラメータを測定又は導出することができる。いくつかの例では、運動学的分析、微分分析、又は任意の他のタイプの分析を使用して、速度パラメータ、加速度パラメータ、及び/又はテストイベント304の実行中に得られた測定値から機械構成要素に関連付けられた任意の他のタイプの動きパラメータを導出することができる。
【0033】
速度情報及び/又はテストイベント304の実行中に機械構成要素に関連付けられた他の動きパラメータを決定することに加えて、他のチャンネルデータ216もまた、テストイベント304の実行中に測定及び記録されることができる。例えば、ヘッド側圧力、ロッド側圧力、油圧シリンダに関連付けられた他の圧力、ポンプ圧力、エンジン回転速度、トルク、及び/又は他の測定値などのチャンネルデータ216は、テストイベント304の実行中に測定又は導出されることができる。
【0034】
いくつかの例では、テストイベント304のパラメータグリッド214内の事前設定された値306への応答としてテストイベント304の実行中に測定されたスティック108の速度など、テストイベント304の実行中に測定されたチャンネルデータ216は、テストコントローラに設けられたシステムメモリ208に格納されたデータファイルに記録されることができる。他の例では、測定されたチャンネルデータ216は、オフボード・コンピューティング・システム204のシステムメモリ208に記憶するために、テストコントローラからオフボード・コンピューティング・システム204に転送されることができる。
【0035】
動作410において、テストコントローラは、パラメータグリッド214内にまだ実行されるべき追加のテストイベント304があるかどうかを判定することができる。例えば、テストコントローラは、パラメータグリッド214内のすべてのテストイベント304が実行されたかどうかを判定することができる。いかなる追加のテストイベント304も実行されることがない場合、テストコントローラは、動作412におけるモデリングのために、記録されたチャンネルデータ216を出力することができる。例えば、記録されたチャンネルデータ216は、図5に関して以下に説明するように、機械学習モデルのトレーニング及び/又は検証に使用するために出力されることができる。しかしながら、パラメータグリッド214内の追加のテストイベント304が実行されることになる場合、テストコントローラは、動作404に戻ることができ、且つ後続のテストイベント304に関連付けられた値306の新しい組み合わせに基づいて、新しいテストイベント304のために機械100を再初期化することができる。他の例では、テストコントローラは、すべてのテストイベント304が完了するまで待つのではなく、各テストイベント304の後に記録済のチャンネルデータ216を出力してもよい。
【0036】
図5は、パラメータグリッド214の値306及びテストイベント304の実行中に記録された対応するチャンネルデータ216に基づいてモデル重み222をトレーニングするプロセスのフローチャートを示している。例えば、オフボード・コンピューティング・システム204は、図4に示されているデータ取り込みプロセスを用いて複数のテストイベント304の実行中に特定のイベントタイプについて取り込まれたチャンネルデータ216とともに図5のプロセスを使用して、次いでオンボード・コンピューティング・システム202に転送されることができるモデル重み222をトレーニングすることができる。モデル重み222は、1つ又は複数の機械学習アルゴリズム又はアーキテクチャを使用する機械学習システム224によってトレーニングされることができ、その結果、モデル重み222は、機械100の状態の他の属性と組み合わせて、入力速度コマンドに対応する機械構成要素の速度をもたらすことが期待される、バルブ104の電流を予測することができる。図5のプロセスは、オフボード・コンピューティング・システム204によって実行されることができる。当該オフボード・コンピューティング・システム204は、パラメータグリッド214を規定したか、あるいは図4のプロセス中にテストコントローラとして機能した同じ又は異なるオフボード・コンピューティング・システム204であり得る。
【0037】
動作502において、オフボード・コンピューティング・システム204は、パラメータグリッド214の値306及び対応する記録されたチャンネルデータ216を含む、テストイベント304に対応するデータを、トレーニングデータセット及びテストデータセットに分割することができる。テストデータセットは、モデル重み222のトレーニング中に抑制され、使用されないようにできる。以下でさらに説明するように、トレーニングデータセットの一部又は全部を使用してモデルの重み222をトレーニングした後、テストデータセットと十分に整合する予測を行うためにモデル重み222が使用できるかどうかに基づいて、モデルの重み222の精度を検証することができる。例えば、テストイベント304の10%に関連付けられたデータを、テストデータとして見合せて、モデル重み222のトレーニングには使用されないようできる一方、テストイベント304の他の90%に関連付けられたデータは、モデル重み222をトレーニングするためにトレーニングデータとして使用できる。他の例では、テストイベント304用のデータの任意の他の量又はパーセンテージを、モデル重み222をトレーニングするために使用されないテストデータとして見合せることができる。
【0038】
トレーニングデータセットは、それ自体でトレーニングデータとトレーニングラベルに分割できる。モデル重み222のトレーニング中にトレーニングデータが機械学習システム224への入力として使用される場合、トレーニングラベルは、対応するトレーニングデータ入力に基づいてモデル重み222が生成すべき目標出力とすることができる。ここで、トレーニングラベルは、バルブの変位、又はそれらのバルブ変位を引き起こす対応する電流にすることができる。トレーニングデータは、パラメータグリッド214からの他の値306及び/又は速度測定値、構成要素位置、圧力設定値又は測定値、速度コマンドなどの、測定されたチャンネルデータ216、及び/又は他の測定されたチャンネルデータ216又はパラメータグリッド214内に事前設定された値306とすることができる。したがって、パラメータグリッド214内の特定のテストイベント304に対して規定されたバルブ変位は、トレーニングラベルとして使用することができる一方、そのテストイベント304のためにパラメータグリッド214内に事前定義されたデータ及び/又は速度測定値又はテストイベント304の実行中に測定された他のデータは、そのトレーニングラベルに対応するトレーニングデータとして使用することができる。例えば、「スティックイン」イベントのテストイベント304の実行中に、バルブ104がパラメータグリッド214内の特定のバルブ変位に従って事前設定されていてもよく、且つスティック108の結果得られた速度がチャネルデータ216として測定されたとはいえ、機械学習システム224を使用してモデル重み222をトレーニングする場合には、測定された速度はトレーニングデータの一部とすることができ、且つその対応するバルブ変位はトレーニングデータセットから予測されるべきトレーニングラベルとすることができる。
【0039】
動作504において、トレーニングデータ及び対応するトレーニングラベルを機械学習システム224に提供して、モデル重み222のセットをトレーニングすることができる。機械学習システム224は、深層学習フレームワークを有することができ、多層パーセプトロン(multi-layer perceptron)、複合ニューラルネットワーク(complex neural network)、長・短期記憶ネットワーク、又は他のアーキテクチャを含む様々なタイプのアーキテクチャを有することができる。1つの非限定的な例として、機械学習システム224は、放射基底関数(RBF)ネットワークとそれに続く高密度全結合型ニューラルネットワーク層(dense fully-connected neural network layer)を備えたアーキテクチャを有することができる。いくつかの例では、機械学習システム224は、バックプロパゲーションに基づいてモデル重み222を少なくとも部分的にトレーニングすることができる。
【0040】
RBFネットワークモデルを使用するものなどの機械学習システム224は、モデルパラメータを使用して、入力を出力に回帰させることができる。モデルパラメータは、重み、バイアス、基底ベクトル、又は他のタイプの値とすることができるが、本明細書ではモデル重み222と呼ぶ。機械学習システム224は、任意の数のモデル重み222を使用又はトレーニングしてもよい。いくつかの例では、機械学習システム224は、数十又は数百のモデル重み222を使用又はトレーニングしてもよいが、他の例では、任意の他の数のモデル重み222を使用又はトレーニングしてもよい。いくつかの例では、モデル重み222は、最初にランダム値に初期化されてもよい。しかしながら、時間の経過とともに、機械学習システム224のフレームワークは、モデル重み222がトレーニングデータで動作して、以下で説明するように十分であると考えられる程度まで対応するトレーニングラベルを生成できるようになるまで、モデル重み222を調整することができる。
【0041】
モデル重み222の反復調整は、モデル重み222が最小損失に収束して対応するトレーニングデータから期待されるトレーニングラベルを正確に予測できるように、少なくとも部分的にバックプロパゲーションに基づくことができる。例えば、機械学習システム224のフレームワークは、速度測定値、構成要素位置、圧力設定値、及び/又は他の値などのテストイベント304に関連付けられたトレーニングデータが、モデルの重み222を、トレーニングデータに対応したバルブ変位を示す対応するトレーニングラベルに、モデル重み222に基づいてマッピングされることができるように、モデル重み222を調整することができる。
【0042】
動作506において、モデル重み222が、損失メトリックが事前定義された閾値を満たすように十分にトレーニングされているかどうかを判定することができる。いくつかの例では、テストイベント304に関連付けられたデータから見合されたテストデータは、機械学習システム224を介して実行されることができ、機械学習システム224によってトレーニングされた現在のモデル重み222に基づいて出力データを生成することができる。当該出力は、テストイベント304に関連付けられたデータから見合されたテストラベルと比較されることができ、モデルの出力と予想されるテストラベルとの間の損失メトリックを計算することができる。いくつかの例では、損失メトリックは平均二乗誤差として計算されることができ、平均二乗誤差の値が小さいほど、モデルの出力とテストラベル間のより近い一致を示す。
【0043】
これらの例では、平均二乗誤差などの計算された損失メトリックが事前定義された許容閾値を下回っている場合、モデル重み222のトレーニングは十分に正確であると判定できる。計算された損失メトリックが動作506において事前定義された許容閾値を下回っていないことが判明した場合、動作504及び506を繰り返して、計算された損失メトリックが事前定義された許容閾値を下回り且つモデル重み222が十分に正確であると判定されるまでモデル重み222を更に調整することができる。
【0044】
他の例では、計算された損失メトリックは、最小化されていると想定されてもよく、したがって、モデル重み222を調整するためにトレーニング反復の事前定義された回数が実行された後、モデル重み222が十分に正確であると見なすことができるように事前定義された閾値を満たしていると想定されてもよい。例えば、平均二乗誤差などの損失メトリックは、上記のように動作506を通過するたびに計算することができるが、サンプルデータを用いた実験は、損失メトリックが50回目の反復より前に最小値に達するか、又は最小値に向かう傾向があるかもしれない且つ後続の反復中に上昇しないことを示した。これは、トレーニングが50回目の反復を過ぎてデータに過剰適合しないことを意味する。したがって、これらの実験に基づいて、いくつかの例では、カウンタは、動作506を介して反復回数を追跡することができ且つ反復カウンタが、各反復中に損失メトリックを明示的に計算することなく50回目の反復など、事前定義された値に達するときに、モデル重み222は動作506で正確であると想定されることができる。
【0045】
モデル重み222が動作506において十分に正確であると判定された後、機械学習を使用するトレーニング中にモデル重み222を繰り返し調整するためにおそらく動作504及び506を介して幾数回の反復後に、最終的なモデル重み222は、オフボード・コンピューティング・システム204によって出力されることができ、機械100のオンボード・コンピューティング・システム202にロードされる。いくつかの例では、モデル重み222でプロビジョニングされた機械100は、テスト中に使用されたのと同じ機械100とすることができる。しかしながら、他の例では、モデル重み222でプロビジョニングされた機械100は、テスト中に使用された機械100と同等である異なる機械100とすることができる。例えば、テスト環境でテストショベルを使用して図3のプロセスに従ってテストが実施された、そしてオフボード・コンピューティング・システム204上で機械学習を使用してモデル重み222が決定されたとき、これらのモデル重み222は、次いで、テスト掘削機と同等である生産掘削機のオンボード・コンピューティング・システム202にプロビジョニングされることができる。
【0046】
図5のプロセスで使用されるトレーニング及びテストデータセットは、固有のタイプのイベントに対して実行されたテストイベント304に対応させることができため、図5のプロセスを使用して決定及び出力されたモデル重み222がそのタイプのイベントにとっても固有とすることができる。したがって、機械100が異なるタイプのイベントを実行することができる場合、図5のプロセスを繰り返して、各タイプのイベントに固有のモデル重み222を決定することができる。例えば、機械100が、「スティックイン」イベント、「スティックアウト」イベント、「ブームアップ」イベント、「ブームダウン」イベント、「バケットカール」イベント、及び「バケットダンプ」イベントを実行できる掘削機である場合、図5のプロセスを6回実行して、6つのタイプのイベントのそれぞれに固有のモデル重み222の異なるセットを決定することができる。
【0047】
図6は、入力データに基づいてバルブ変位に対する電流を予測するために、機械100上でモデル重み222を使用するプロセスのフローチャートを示している。例えば、モデル重み222は、入力データを、バルブ104を機械100の状態の他の属性と組み合わせて、油圧制御機械構成要素の予想される速度に導くバルブ変位に合わせて開閉させる、バルブソレノイド電流などの対応する電流にマッピングするためにECM118又は他のオンボード・コンピューティング・システム202上の制御マッピングモデル220によって使用されてもよい。他の例では、モデル重み222を使用して、機械構成要素の予想される速度に導くと予想されるバルブ変位を予測することができ、他の処理を使用して、バルブ104を予測されるバルブ変位に合わせて開放させる電流を決定することができる。
【0048】
動作602において、モデル重み222は、機械100のオンボード・コンピューティング・システム202にロードされることができる。上で論じたように、モデル重み222は、機械100又は同等の機械100で実行されるテストイベント304に関連付けられたデータに基づいてモデル重み222をトレーニングすることによって、オフボード・コンピューティング・システム204上の機械学習システム224を使用して決定されることができる。いくつかの例では、モデル重み222は、オフボード・コンピューティング・システム204上で1つのフォーマット又はプログラミング言語で表現され得るが、機械100のオンボード・コンピューティング・システム202によって使用される別のフォーマット又はプログラミング言語に変換され得る。例えば、動作506において出力されたモデル重みは、図2に示されるようにオンボード・コンピューティング・システム202の制御マッピングモデル220によって使用されるモデル重み222を格納又はポピュレートするために機械100のオンボード・コンピューティング・システム202にロード又はフラッシュされることができる構成ファイルに変換されることができる。上で論じたように、モデル重み222の異なるセットは、機械100が実行することができる異なるタイプのイベントについて決定されることができる。したがって、異なるタイプのイベントに固有のモデル重み222の異なるセットは、動作602中に機械100にロードされることができる。
【0049】
動作604において、オンボード・コンピューティング・システム202は、機械100の油圧制御構成要素に関連付けられた速度コマンドを受信することができる。いくつかの例では、速度コマンドは、物理レバーの動き又はハードウェア制御器の他の起動に対応することができる。例えば、スティック108の動きを制御するために人間オペレータが掘削機のキャブに設けられたレバーを動かす程度は、人間オペレータが要求し期待しているスティック108の速度を指示することができる。他の例では、オンボード・コンピューティング・システム202は、例えば、ソフトウェア制御自律オペレータから又は指定された速度での構成要素の動きを直接的に要求するユーザ入力からの電子命令として、要求された速度で機械100の油圧制御構成要素を動かすための直接命令又は信号を受信することができる。
【0050】
いくつかの例では、速度コマンドは、要求されたイベントのタイプを直接的又は間接的に示すことができる。例えば、速度コマンドがスティック108に関連付けられたレバーの内向きの動きとして受信されるとき、オンボード・コンピューティング・システム202は、オペレータが「スティックイン」イベントを要求していると判定し得る。オンボード・コンピューティング・システム202は、指示されたイベントタイプに対応するモデル重み222の複数のセットのうちの1つを選択し得る。例えば、受信された速度コマンドが、代わりに「スティックアウト」イベントに対応するレバーの外向きの動きである場合、オンボード・コンピューティング・システム202は、「スティックアウト」イベントタイプについて特定的に決定されたモデル重み222を使用すべきであると判定することができる。他の例では、入力速度コマンド又は複数のタイプのイベントに対する他の入力を実質的に同時に受信することができ、オンボード・コンピューティング・システム202は、イベントのタイプ毎にモデル重み222を選択することができ、これによって、オンボード・コンピューティング・システム202は、機械100の多機能制御のために入力データを出力データにマッピングするために使用できる異なるセットのモデル重み222を使用することができる。これら例のうちいくつかでは、異なるタイプの入力データ及び/又はモデル重みを、出力データに実質的に同時にまたは並行してマッピングできる。他の例では、異なるタイプの入力データ及び/又はモデル重みを、ラウンドロビン順序又は直列ループで出力データにマッピングできる。
【0051】
動作606において、オンボード・コンピューティング・システム202はまた、機械100の現在の状態に関する機械状態データを取得することができる。この機械状態データは、機械100上のセンサによって測定された、又は、構成要素の現在位置、油圧シリンダ圧力、及びポンプ圧力など他の方法でオンボード・コンピューティング・システム202に知られているチャンネルデータ216を含むことができる。機械状態データは、図5のプロセスにおいてモデル重み222のトレーニングデータとして使用されたデータのタイプに対応することができる。センサが故障し、対応するチャンネルデータ216を読み取ることができない場合など、チャンネルデータ216又はモデル重み222のトレーニング中に使用された他のデータのタイプが動作606で利用できない場合には、いくつかの例では、欠落データを以前の測定値、データが時間の経過とともにどのように進行したかの傾向から推測することができる、あるいは他の方法で推定できる、あるいは欠落したデータのデフォルト値を使用できる。
【0052】
いくつかの例では、速度コマンド及び/又は機械状態データを、制御マッピングモデル220に送る前に、サニタイズ及び/又はスケーリングすることができる。例えば、制御マッピングモデル220は、-1から1などの入力値の予想される分布を有し得、したがって、ECM118は、入力値を予想される分布にスケーリングすることができる。
【0053】
動作608において、オンボード・コンピューティング・システム202の制御マッピングモデル220は、モデル重み222を使用して、速度コマンド及び機械状態データからバルブ104の電流(例えば、バルブソレノイド電流)を予測することができる。例えば、オンボード・コンピューティング・システム202は、受信した速度コマンドから導出された所望の速度、及び機械状態データを、その制御マッピングモデル220に入力することができる。オンボード・コンピューティング・システム202上の制御マッピングモデル220は、モデル重み222をトレーニングしたオフボード・コンピューティング・システム204上の機械学習システム224と同じアーキテクチャを有することができ、その結果、制御マッピングモデル220は、提供されたモデル重み222を使用して同じタイプの入力データを同じタイプの出力データにマッピングすることができる。例えば、機械学習システム224のように、制御マッピングモデル220は、要求されたイベントタイプに対応するモデル重み222のセットを使用して、所望の速度及び機械状態データの表現を、バルブ104を固有のバルブ変位に合わせて開閉させ、結果として油圧制御構成要素をオペレータが所望する速度で動かせるバルブ104の電流へマッピングするRBFネットワークモデルアーキテクチャを有することができる。代替的に、制御マッピングモデル220は、モデル重み222を使用して、入力データを特定のバルブ変位に直接マッピングすることができ、オンボード・コンピューティング・システム202の他の要素は、バルブ104をそのバルブ変位に合わせて動かすことができる対応するバルブ電流を決定することができる。例えば、ルックアップテーブル又は他の実験データは、バルブ104をその現在変位から制御マッピングモデル220によって決定された新しいバルブ変位に合わせて動かすバルブ電流を決定するためにオンボード・コンピューティング・システム202の電流決定器によって使用されることができるオンボード・コンピューティング・システム202のシステムメモリ208に格納されることができる。
【0054】
いくつかの例では、制御マッピングモデル220によって予測される値は、-1と1の間の値などの特定のスケールであり得、オンボード・コンピューティング・システム202は、それらの値を、バルブ104を対応するバルブ変位に動かすために機械100において使用されることができる値に、スケーリング及び/又はオフセットすることができる。
【0055】
動作610において、油圧制御機械構成要素は、予測された電流及び/又はバルブ変位に従ってバルブ104を開閉することによって駆動されることができる。例えば、予測に基づくバルブ104の調整は、油圧シリンダの圧力を調整して、それらを動かし、結果として、ブーム106、スティック108、あるいはバケット110などの油圧制御構成要素を動かすことができる。モデル重み222が、テスト中のバルブ変位及び他のチャンネルデータ216を含む複数の変数の異なる組み合わせによって部分的に引き起こされる機械構成要素の測定速度を表わしたトレーニングデータセットを使用してトレーニングされたため、モデル重み222を使用して予測された電流及び/又はバルブ変位は、機械100の状態の現在の属性と組み合わせて、オペレータによって要求及び期待される速度で機械構成要素の動きをもたらすことが期待されることができる。言い換えれば、テスト中に、パラメータグリッド214内のテストイベント304に従ってバルブ変位が事前設定された、そして他の変数とともにそれらのバルブ変位の様々な組み合わせによって引き起こされる機械構成要素の速度が測定されたとはいえ、動作中にオンボード・コンピューティング・システム202は、モデル重み222を使用して、機械100の状態に関する他の変数の現在の既知値と組み合わせて、オペレータが所望する速度で機械構成要素の動きをもたらすバルブ変位の電流を予測することができる。
【0056】
動作610の後、いくつかの例では、オンボード・コンピューティング・システム202は、動作604における次の速度コマンドを受信するのを待つことができる。場合によっては、次の速度コマンドは、以前の速度コマンドと同じイベントタイプに関連付けられてもよく、新しい速度コマンドに応答してバルブの変位又は電流を予測するためにモデル重み222の同じセットを使用できることを指し示している。例えば、2つの連続する速度コマンドは、両方とも「スティックイン」イベントに関するものであってよいが、スティック108に対しては要求速度が異なっていてもよい。他の場合には、次の速度コマンドが以前の速度コマンドとは異なるイベントタイプに関連付けられてもよい、このことは新しい速度コマンドに応答してバルブの変位又は電流を予測するためにモデル重み222の異なるセットを使用する必要があることを指し示している。他の例では、オンボード・コンピューティング・システム202は、例えば、並列又はラウンドロビン又は直列ループ実装でモデル重み222の異なるセットを使用して異なるタイプの入力データを出力データにマッピングすることによって、多機能制御を可能にするために、異なるタイプのイベントに対応する異なるセットのモデル重み222を実質的に同時に使用するように構成されることができる。
【0057】
付加的に、次の速度コマンドが動作604を介して新しいループで受信された後、新しい機械状態データを動作606で取得されることができる。機械100の態様は、最後の通過の動作606を基準にして変更した可能性があり、したがって、オンボード・コンピューティング・システム202は、新しい通過の動作606においてチャンネルデータ216又は他の状態データの最新の測定値を取得することができ、これによって機械100の状態に関する最新のデータに少なくとも部分的に基づいて動作608において予測を行うことができるようになる。例えば、以前の速度コマンドが動作610においてブーム106の動きをもたらしたとき、油圧シリンダ圧力、ポンプ圧力、構成要素の位置、及び/又は他のデータが新しい値に変更された可能性がある。これらの新しい値は、後続の速度コマンドに応答して予測を行うときに取得及び検討されることができる。
【産業上の利用可能性】
【0058】
本明細書に記載のシステム及び方法は、機械100に、機械100の状態の他の属性と組み合わせてオペレータによって入力された速度コマンドに微細に一致する機械構成要素の速度をもたらすと予想される予測バルブ変位又は対応する電流を決定させることができる。多くのオペレータは、レバーやその他の制御器の動きが機械の動きにどのように変換されるかを直感的に感じることができるように、機械的に駆動された従来の油圧機械について長年の経験を持っている。このような直接機械リンクは、電気油圧制御される機械には存在しない可能性もあり、そしてそれらの速度コマンドが、オペレータが期待する速度で機械構成要素の動きをもたらさない場合、オペレータはイライラするかもしれない。付加的に、速度コマンドが、オペレータが期待する機械の動きをもたらさない場合、それはまた、機械100によって実行される作業に影響を与える可能性がある。例えば、掘削機を使用して作業現場を整地して、オペレータがプラスマイナス1インチの差異で地ならししたい際には、オペレータが要求する機械の動きと機械の実際の性能との間の不一致は、オペレータがプロジェクトを完了させる能力に大きな影響を及ぼす可能性がある。
【0059】
1つの解決策は、入力コマンドが、期待される動きをもたらすように機械100を手動で調整することであり得る。ただし、これはテスト機械でテストを実施して、テストに基づいた制御変数を手動で調整し、且つ新しいテストを実施することを伴うことがよくある。このプロセスには、テストの実施と変数を手動で再調整するのに数か月あるいは数年かかる場合があり、新しい機械の配備又は販売が大幅に遅れる可能性がある。
【0060】
本明細書で説明するように、パラメータグリッド214に従って自動的に実行されるテストシーケンスの単一のセットからモデル重みを生成するために機械学習を利用することにより、このプロセスを大幅にスピードアップすることができる。自動生成されたモデル重みはまた、入力コマンドを基準にした機械100の最終的な動きの誤差を減少させることができる。付加的に、パラメータグリッド214が、特定のタイプのイベント中に機械100の1つ又は複数の油圧制御構成要素の可能な運動を駆動する状態空間をカバーできるパラメータ302の値の複数の組み合わせで設計されることが可能であるため、機械学習モデルは、機械100の現在の状態に関する他の変数に関係なく、期待速度を発生させるバルブ変位に対する電流を予測できるモデル重みを生成するようにトレーニングされることができる。したがって、本明細書に記載のシステム及び方法は、機械100の動きを、反復可能かつ期待される方法で、オペレータからの速度コマンドに一致させることができる。
【0061】
本開示の態様は、上記の実施形態を参照して特に示され、説明されてきたが、当業者には、開示される内容の精神と範囲から逸脱することなく開示された機械、システム、及び方法の修正によって、様々な追加の実施形態が企図され得ることが理解される。そのような実施形態は、特許請求の範囲及びその任意の同等物に基づいて決定される本開示の範囲内にあると理解されるべきである。
図1
図2
図3
図4
図5
図6