(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024001878
(43)【公開日】2024-01-10
(54)【発明の名称】制御ルールを実装するための機械学習モデルをトレーニングするための方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20231227BHJP
B25J 13/00 20060101ALI20231227BHJP
G06N 3/092 20230101ALI20231227BHJP
【FI】
G06N20/00
B25J13/00 Z
G06N3/092
【審査請求】未請求
【請求項の数】8
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023101496
(22)【出願日】2023-06-21
(31)【優先権主張番号】10 2022 206 273.6
(32)【優先日】2022-06-22
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ファビアン オットー
(72)【発明者】
【氏名】ゲルハルト ノイマン
(72)【発明者】
【氏名】アン ビエン ゴ
(72)【発明者】
【氏名】ハンナ ツィーシェ
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707KS03
3C707KS04
3C707KT01
3C707KT06
3C707LW12
3C707LW15
(57)【要約】
【課題】種々の実施形態により、制御ルールを実装するための機械学習モデルをトレーニングするための方法を説明する。
【解決手段】本方法は、複数の制御サイクルの各々ごとに、それぞれの制御シナリオを規定する入力データを機械学習モデルに供給することであって、機械学習モデルは、供給された入力データに応答して、軌道パラメータ値の確率分布を規定する出力データを出力する、ことと、確率分布から軌道パラメータ値をサンプリングすることと、軌道パラメータ値に応じて軌道を決定することと、軌道を評価することとを含み、さらに、より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、機械学習モデルを適合させることを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
制御ルールを実装するための機械学習モデルをトレーニングするための方法であって、
複数の制御サイクルの各々ごとに、
それぞれの制御シナリオを規定する入力データを前記機械学習モデルに供給することであって、前記機械学習モデルは、供給された前記入力データに応答して、軌道パラメータ値の確率分布を規定する出力データを出力する、ことと、
前記確率分布から軌道パラメータ値をサンプリングすることと、
前記軌道パラメータ値に応じて軌道を決定することと、
前記軌道を評価することと、
を含み、さらに、
より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、前記機械学習モデルを適合させること、
を含む方法。
【請求項2】
前記軌道パラメータ値は、軌道基底関数の重みであり、
前記軌道は、前記重みに応じた前記軌道基底関数の組み合わせによって決定される、
請求項1に記載の方法。
【請求項3】
前記軌道を評価することは、前記軌道を追従するようにロボット装置を制御し、その結果として生じる制御結果を評価することを含む、
請求項1又は2に記載の方法。
【請求項4】
前記ロボット装置は、コントローラによって前記軌道を追従するように制御され、
前記コントローラは、より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、前記機械学習モデルと共に適合させられる、
請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記機械学習モデルは、ニューラルネットワークである、
請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
請求項1乃至5のいずれか一項に記載の機械学習モデルをトレーニングすることと、
所定の制御シナリオを規定する入力データに対してトレーニングされた前記機械学習モデルを出力する出力データに従って、ロボット装置を制御することと、
を含む制御方法。
【請求項7】
プロセッサによって実行された場合に、請求項1乃至6のいずれか一項に記載の方法を前記プロセッサに実施させるための命令を含むコンピュータプログラム。
【請求項8】
プロセッサによって実行された場合に、請求項1乃至6のいずれか一項に記載の方法を前記プロセッサに実施させるための命令を格納しているコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御ルールを実装するための機械学習モデルをトレーニングするための方法に関する。
【背景技術】
【0002】
強化学習(Reinforcement Learning:RL)においては、エージェント(例えば、ロボット)は、各自の環境との相互作用のみによって最適に振る舞うことを学習する。したがって、エージェントは、高報酬が得られる挙動を発見するために各自の環境を効果的に探査(探索)する必要がある。RL問題は、軌道に基づく視点と、ステップに基づく視点とから考慮可能である。前者の軌道に基づく視点の場合には、例えば、ロボットアームが追従する軌道が、1つのエピソード全体(すなわち、1つの制御サイクル)中に全体として観察され、探索も、軌道レベルで実施される。ステップに基づくアプローチの場合には、1つの軌道のそれぞれの中間状態が個々に考慮され、したがって、探索は、専ら中間状態に基づいている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ステップに基づくアプローチは、マルコフ仮定によって制限されており、しばしば格段により簡単に定義可能である非マルコフ性の報酬を有する環境におけるトレーニングのためには、使用することができない。これに対して、軌道に基づくアプローチの欠点は、しばしばそのアプローチの複雑さに関して制限されており、状態変化等に対しては設計されていないことである。
【0004】
ステップに基づくアプローチの利点と軌道に基づくアプローチの利点とを組み合わせる手法、又は、これらのアプローチのそれぞれの欠点を回避する手法が望ましい。
【課題を解決するための手段】
【0005】
発明の開示
種々の実施形態によれば、制御ルールを実装するための機械学習モデルをトレーニングするための方法であって、複数の制御サイクルの各々ごとに、それぞれの制御シナリオを規定する入力データを機械学習モデルに供給することであって、機械学習モデルは、供給された入力データに応答して、軌道パラメータ値の確率分布を規定する出力データを出力する、ことと、確率分布から軌道パラメータ値をサンプリングすることと、軌道パラメータ値に応じて軌道を決定することと、軌道を評価することとを含み、さらに、より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、機械学習モデルを適合させることを含む方法が提供される。
【0006】
上述した方法により、軌道に基づく探索と、軌道に基づく挙動とを使用することが可能となり、このようにして、ステップに基づくアプローチよりもより一様な性能がもたらされる。全体として、このことにより、よりエネルギ効率的なストラテジがもたらされ、挙動は、ステップに基づくアプローチの場合よりも最適な制御ソリューションにより近づくこととなる。上述した方法により、高度に非線形なコンテキスト情報の利用が可能となる。それと同時に、探索は、相関していないステップに基づく予測には依存しなくなる。種々の実施形態によれば、最適な制御の利点と強化学習との組み合わせ、軌道の最適化による安定性の改善及びよりエネルギ効率的な制御、漸近性能の改善、並びに、より強力に相関した探索が達成される。
【0007】
以下には、種々の実施例が記載されている。
【0008】
実施例1は、上述のような、制御ルールを実装するための機械学習モデルをトレーニングするための方法である。
【0009】
実施例2は、軌道パラメータ値が、軌道基底関数の重みであり、軌道が、重みに応じた軌道基底関数の組み合わせによって決定される、実施例1に記載の方法である。
【0010】
軌道のための運動プリミティブを実装するために基底関数を使用することによって、可能性のある軌道の大きい空間の効率的なパラメータ化が提供される。これに関する例は、DMP(Dynamic Movement Primitives:動的運動プリミティブ)及びProMP(Probabilistic Movement Primitives:確率的運動プリミティブ)である。
【0011】
実施例3は、軌道を評価することが、軌道を追従するようにロボット装置を制御し、その結果として生じる制御結果を評価することを含む、実施例1又は2に記載の方法である。
【0012】
したがって、複数の制御サイクルが実施され、その都度、制御の結果が評価され、例えば、目標が達成されたかどうか(又は目標がどの程度良好に達成されたか)、どのくらいのエネルギが消費されたか等が評価される。これにより、(ロボット装置自体の挙動を含む)(制御)環境の反応が、運動に一緒に取り込まれ、これにより、制御ルールは、実際の使用において良好な結果が達成されるようにトレーニングされる。
【0013】
実施例4は、ロボット装置が、コントローラによって軌道を追従するように制御され、コントローラは、より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、機械学習モデルと共に適合させられる、実施例1から3までのいずれか1つに記載の方法である。
【0014】
例えば、PDコントローラ(又は他のコントローラ)のパラメータが一緒にトレーニングされることにより、サンプル効率を高めることができる。
【0015】
実施例5は、機械学習モデルが、ニューラルネットワークである、実施例1から4までのいずれか1つに記載の方法である。
【0016】
このことにより、評価された軌道に基づくトレーニングのために任意の深層RL方法を使用することが可能となる。
【0017】
実施例6は、制御方法であって、当該制御方法は、実施例1から5までのいずれか1つに記載の機械学習モデルをトレーニングすることと、所定の制御シナリオを規定する入力データに対してトレーニングされた機械学習モデルを出力する出力データに従って、ロボット装置を制御することとを含む、制御方法である。
【0018】
実施例7は、プロセッサによって実行された場合に、実施例1から6までのいずれか1つに記載の方法をプロセッサに実施させるための命令を含むコンピュータプログラムである。
【0019】
実施例8は、プロセッサによって実行された場合に、実施例1から6までのいずれか1つに記載の方法をプロセッサに実施させるための命令を格納しているコンピュータ可読媒体である。
【0020】
図面においては、同様の参照符号は、全般的に複数の全く異なる図面を通して同一の部分を指す。図面は、必ずしも縮尺通りではなく、その代わりに全般的に本発明の原理を図示することに重点が置かれている。以下の記載においては、以下の図面を参照しながら種々の態様について説明する。
【図面の簡単な説明】
【0021】
【
図2】1つの実施形態による強化学習を示す図である。
【
図3】1つの実施形態による、制御ルールを実装するための機械学習モデルをトレーニングするための方法を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下の詳細な説明は、添付の図面を参照しており、それらの図面には、本発明を実施可能な本開示の具体的な詳細及び態様が説明のために示されている。他の態様を使用することもでき、本発明の範囲から逸脱することなく、構造的、論理的又は電気的な変更を加えることができる。本開示のいくつかの態様を本開示の1つ又は複数の他の態様と組み合わせて、新しい態様を形成することができることから、本開示の種々の態様は、必ずしも相互に排他的なものではない。
【0023】
以下、種々の実施例についてさらに詳細に説明する。
【0024】
【0025】
ロボット100は、ロボットアーム101を含み、例えば、ワークピース(又は、1つ又は複数の他のオブジェクト)を処理するための又は組み立てるための産業用ロボットアームを含む。ロボットアーム101は、マニピュレータ102,103,104と、これらのマニピュレータ102,103,104を支持する基台(又は支持体)105とを含む。「マニピュレータ」という用語は、ロボットアーム101の可動部材を指し、この可動部材を動作させることによって、例えば、ある1つのタスクを実行するために、環境との物理的な相互作用が可能となる。制御のためにロボット100は、(ロボット)制御装置106を含み、この制御装置106は、制御プログラムに従って環境との相互作用を実施するように構成されている。マニピュレータ102,103,104のうちの(支持体105から最も遠い)最後の部材104は、エンドエフェクタ104とも称され、溶接トーチ、把持器具、塗装設備等のような1つ又は複数のツールを含み得る。
【0026】
(支持体105により近い)他のマニピュレータ102、103は、ポジショニング装置を構成することができ、これにより、エンドエフェクタ104と共に、このエンドエフェクタ104を端部に有するロボットアーム101が提供されている。ロボットアーム101は、(場合によってはその端部にツールを有する)人間の腕と同様の機能を提供することができる機械式のアームである。
【0027】
ロボットアーム101は、マニピュレータ102,103,104を互いに及び支持体105と相互接続するジョイント部材107,108,109を含み得る。ジョイント部材107,108,109は、1つ又は複数のジョイントを有し得るものであり、それらのジョイントの各々によって、関連するマニピュレータに対して互いに相対的に回転可能な運動(すなわち、回転運動)及び/又は並進運動(すなわち、変位)をもたらすことができる。マニピュレータ102,103,104の運動を、制御装置106によって制御されるアクチュエータを用いて開始することができる。
【0028】
「アクチュエータ」という用語は、駆動されたことに応答してメカニズム又はプロセスに作用を及ぼすように構成された構成要素であると理解可能である。アクチュエータは、制御装置106によって発せられた命令(いわゆるアクティベーション)を実施して、機械的運動を生じさせることができる。駆動に応答して電気エネルギを機械エネルギに変換するように、アクチュエータ、例えば電気機械変換器を構成することができる。
【0029】
「制御装置」という用語は、エンティティを実装する任意の種類のロジックとして理解可能であり、このエンティティは、例えば、記憶媒体に格納されたソフトウェア、ファームウェア又はこれらの組み合わせを実行可能な回路及び/又はプロセッサを含み得るものであり、例えば、本実施例においてはアクチュエータに命令を発することができる。例えば、プログラムコード(例えば、ソフトウェア)によって、ロボット装置の動作を制御するように、制御装置を構成することができる。
【0030】
本実施例によれば、制御装置106は、1つ又は複数のプロセッサ110と、コード及びデータを格納するメモリ111とを含み、プロセッサ110は、このコード及びデータに基づいてロボットアーム101を制御する。種々の実施形態によれば、制御装置106は、メモリ111に格納されている、制御ルール(英語:policy)を実装する機械学習モデル112に基づき、ロボットアーム101を制御する。ロボット100は、例えば、オブジェクト113を操作することが求められている。
【0031】
あらゆる時点において、ロボットアーム101と、操作されるべきオブジェクト113とからなるシステム全体、又は、(例えば、種々の種類及び形状の)1つ又は複数のさらなるオブジェクト114も、位置、向き、エンドエフェクタ状態(グリッパの開放/閉鎖)等に関して所定の状態stを有し、ここで、tは、開始時点t=1から終了時点t=Tまで経過する。システム、ロボット又はオブジェクトのこの状態を、(制御)コンフィギュレーションとも称する。この制御コンフィギュレーションの少なくとも一部は、例えばカメラ115を用いて(又はロボットに設けられたセンサによっても)検出され、これにより、制御装置は、システム全体の現在の状態に関する情報を有する。
【0032】
例えば、ロボットアーム101によって実施される操作タスクは、行動atのシーケンスから構成されており、すなわち、制御のそれぞれの時点に対する行動のシーケンスから構成されている。
【0033】
種々の実施形態によれば、強化学習(例えば、深層RL、すなわち、トレーニングされるニューラルネットワークに基づいた強化学習)が、(軌道に基づく計画とみなすことができる)軌道に基づくアプローチと組み合わせられる。状態stにおける制御ストラテジが、実施されるべき行動atを直接的に出力するという典型的なステップに基づくアプローチとは異なり、種々の実施形態によれば、制御ルールによって、運動プリミティブの(すなわち、具象的にはパラメータ化された軌道の)パラメータに関する値が供給される。次いで、これらのパラメータ値が、軌道(すなわち、例えばエンドエフェクタ104の位置及び速度の推移)に変換され、(従来の)コントローラ、例えばPDコントローラ等を使用して、ロボットによって実施される行動atのシーケンスに変換される。
【0034】
軌道を、以下においては、重みwであるパラメータに依存して表現するために、例えば、DMP(動的運動プリミティブ)又はProMP(確率的運動プリミティブ)を使用することができる。
【0035】
DMPは、非線形の摂動関数fを有する2次の線形の動的システム
【数1】
として表現され、ここで、
【数2】
は、動的システムの位置、速度又は加速度を表し、α及びβは、正のばね減衰定数であり、gは、目標アトラクタであり、τは、実施速度に影響を与える時定数である。摂動関数自体は、指数関数的に減少する位相変数
【数3】
を介して
【数4】
のように定義されており、ここで、
【数5】
は、基底関数であり、wは、それぞれの基底関数に対する重みw
iを有する重みベクトルである。摂動関数は、位相項xに基づいて漸近的に0に近づく。したがって、
【数6】
の場合、システムダイナミクスは、安定した目標アトラクタによって支配される。重みw
iに対する軌道は、動的システムの積分によって得られる。
【0036】
ProMPの場合、重みベクトルwに対する運動プリミティブは、軌道の分布を提供する(この分布からサンプリングするものとしてもよいし、又は、この分布の平均値を、例えば軌道として利用するものとしてもよい)。このことによって、軌道成分間の、時間にわたる相関を検出することが可能となる。DMPとは異なりProMPは、軌道を直接的にモデル化する。所与の重みベクトルwにおける(1自由度を有する)軌道の確率を、線形の基底関数モデルとして
【数7】
のように表現することができ、ここで、
【数8】
は、ホワイトノイズであり、
【数9】
は、((2)で使用された記述方式による)基底関数を表す。DMPの場合と同様に、基底関数は、時間ではなく位相信号にわたって定義可能である。
【0037】
例えば条件付けのような確率論的な演算をp(w)に適用することにより、ProMPは、例えば、通過点に対する条件付け、組み合わせ及び重ね合わせのような、軌道を操作するための柔軟な手段を提供する。さらに、wをサンプリングし、基底関数を用いて軌道空間に投影することによって、種々のサンプル軌道を容易に取得することが可能である。ただし、ProMPは、典型的にはパラメータ空間wにおいてガウス分布を使用するので、条件付け演算は、線形の関係に制限されている。ジョイント空間において軌道を学習する場合には、所望のジョイント位置が達成されるように条件付けることが可能であるが、所望のエンドエフェクタ状態の達成、又は、画像のような比較的高次元のセンサ入力の達成さえも、条件付けることは簡単ではない。
【0038】
種々の実施形態によれば、深層RLの利点が、運動プリミティブの利点と組み合わせられる。このことにより、深層RLアプローチの柔軟性及び汎化能力と、軌道に基づくアプローチの平滑性及び安定性とが提供される。さらに、種々の実施形態によるアプローチの場合には、MDP(マルコフ決定過程)が不要となり、探索は、深層RLアプローチの場合のステップごとの探索の場合よりもより強力に相関するようになる。
【0039】
図2は、1つの実施形態による強化学習を示している。
【0040】
強化学習時には、すなわち、例えば制御装置106によって実施されるが、別個のトレーニング装置によっても実施され、特にシミュレーションにも基づいて実施されるトレーニング時には、機械学習モデル201によって、ここでは例えば機械学習モデル112に対応するニューラルネットワークによって表される制御ルール
【数10】
が学習される。この場合、制御ルールのパラメータは、機械学習モデル201の対応するパラメータであり、例えば、機械学習モデル201のトレーニング時に適合させられるニューラルネットワークの重みである。制御ルールの出力は、運動プリミティブのパラメータ値の、すなわち、ここでは重みベクトルwの確率分布(例えば、平均値(ベクトル)及び共分散行列)の記述である。ニューラルネットワーク201の入力は、コンテキスト情報cであり、例えば、制御シナリオの開始コンフィギュレーション、オブジェクトに関する目標位置等である。202において、それぞれの制御サイクル(すなわち、イテレーション、ロールアウト、又は、エピソード)ごとに(探索のために)確率分布から重みベクトルwがサンプリングされる。203において、この重みベクトルwから、対応する軌道
【数11】
(例えば、位置及び対応する速度の所望のシーケンス)が生成される。このことは、DMPの場合には(2)に従って実施され、ProMPの場合には(3)に従って実施され、ProMPの場合には、この段階で再度サンプリングを行うことができ、又は、(3)の軌道分布の平均値をとることができる。生成された軌道は、コントローラ(例えば、PDコントローラ)を使用して、ステップに基づく行動a
tに、すなわち、それぞれの現在の状態s
tを考慮したそれぞれの制御時点に対するステップに基づく行動a
tにマッピングされ、このステップに基づく行動a
tは、実施されて、環境とのインタラクションによって新しい状態s
t+1を提供する。したがって、それぞれの制御シナリオの開始コンテキストcに対する重みベクトルのサンプリングが、行動のシーケンスを暗黙的に提供する。
【0041】
ステップに基づくアプローチとは異なり、このアプローチは、それぞれの軌道ごとに1つのサンプル
【数12】
のみを生成する(ここで、
【数13】
は、全体的な報酬、又は、軌道の他の評価である)。それぞれのこのようなサンプルは、1つの完全なエピソードに相当し、リプレイ(英語:Replay)バッファに追加され、トレーニングのために使用される。
【0042】
トレーニングは、任意の深層RL方法を用いて実施可能である。しかしながら、この場合、Q関数を利用するRL方法が、場合によっては粗悪なトレーニング挙動を有し得るということに留意すべきである。なぜなら、Q関数は、入力としての運動プリミティブの(任意の大きさの)パラメータ化を受けるからである。したがって、1つの実施形態によれば、安定した数学的に正しいオンポリシー(On-Policy)方法として、例えばTRL(Trust Region Layers:信頼領域層)方法が使用される。このことは、例えば、サンプル
【数14】
のバッチを使用してV関数及び機械学習モデル201を更新することを含み、この場合、機械学習モデル201は、より高評価Rを有するサンプルがより高確率になるように適合させられる。
【0043】
サンプル効率を高めるために、微分可能なコントローラ204を使用することができ、制御ルールの一部にすることができる。
【0044】
要約すると、種々の実施形態によれば、
図3に示されているような方法が提供される。
【0045】
図3は、1つの実施形態による、制御ルールを実装するための機械学習モデルをトレーニングするための方法を示すフローチャート300を示している。
【0046】
301において、複数の制御サイクルの各々ごとに、以下のことが行われる。
・302において、それぞれの制御シナリオを規定する入力データが機械学習モデルに供給され、機械学習モデルは、供給された入力データに応答して、軌道パラメータ値の確率分布を規定する出力データを出力する。
・303において、確率分布から軌道パラメータ値がサンプリングされる(すなわち、「抽出される」)。
・304において、軌道パラメータ値に応じて(例えば、(2)又は(3)に従って)軌道が決定される。
・305において、軌道が(例えば、リワード等に基づいて)評価される。
【0047】
306において、(それぞれの制御シナリオに対して)(その制御サイクルにおいて)より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、機械学習モデルが適合させられる。例えば、ニューラルネットワークの重みは、(それぞれの制御シナリオに対する)このニューラルネットワークの出力によって規定される確率分布の平均値が、良好な評価を有する1つ又は複数の軌道を提供していた軌道パラメータ値の方向へとシフトされるように、適合させられる(例えば、共分散行列も同様)。
【0048】
種々の実施形態によれば、1つの軌道は、複数の時間ステップにわたる複数の制御行動を含む。軌道パラメータ値がサンプリングされる場合には、このことは、複数の時間ステップの各々ごとにこれらの軌道パラメータ値から制御行動が与えられているということを意味する。これにより、(ロボット装置が制御行動を実施する状態に達する前に行われる)サンプリングは、それぞれ異なる時間ステップにおいて実施される制御行動が定められていると判定する。(たとえ、これらの制御行動が依然として完全には把握されていなくても。なぜなら、例えば、それぞれのコントローラによって考慮される摂動が発生するからである。)すなわち、軌道パラメータ値のサンプリングにより(場合により、ProMPの場合のように軌道の分布からのサンプリングと組み合わせて)、全ての後続する(複数の)時間ステップの制御行動が定められる。確率分布は、例えば、全ての軌道パラメータ値に対する1つの共通の確率分布であり、すなわち、例えば多次元の確率分布である。
【0049】
図3の方法は、1つ又は複数のデータ処理ユニットを含む1つ又は複数のコンピュータによって実施可能である。「データ処理ユニット」という用語は、データ又は信号の処理を可能にする任意の種類のエンティティとして理解可能である。データ又は信号は、例えば、データ処理ユニットによって実施される少なくとも1つの(すなわち、1つ又は複数の)特定の機能に従って処理可能である。データ処理ユニットは、アナログ回路、デジタル回路、論理回路、マイクロプロセッサ、マイクロコントローラ、中央処理装置(CPU)、グラフィック処理装置(GPU)、デジタル信号プロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)の集積回路、又は、これらの任意の組み合わせを含み得るものであり若しくはこれらから形成可能である。本明細書においてより詳細に説明されるそれぞれの機能を実装するための任意の他の手法も、データ処理ユニット又は論理回路装置として理解可能である。本明細書において詳細に説明される方法ステップのうちの1つ又は複数は、データ処理ユニットにより、データ処理ユニットによって実施される1つ又は複数の特定の機能を介して実行(例えば、実装)可能である。
【0050】
図3の手法は、ロボット装置のための制御信号を生成するために使用される。「ロボット装置」という用語は、コンピュータ制御式の機械、車両、家庭用電化装置、電動工具、製造機械、パーソナルアシスタント、又は、アクセス制御システムのような(動きが制御される機械部品を有する)任意の技術的システムに関するものとして理解可能である。技術的システムのための制御ルールが学習され、次いで、技術的システムが相応に制御される。このために(制御ルールと、例えば上記の実施例におけるコントローラのようなさらなる構成要素とによって)、例えば、距離、速度及び加速度のような1つ又は複数の連続的な値が生成される。この意味において、回帰が実施される。
【0051】
種々の実施形態は、ビデオ、レーダ、LiDAR、超音波、モーション、サーマルイメージング等のような種々のセンサからのセンサ信号を受信及び使用して、例えば、システム(ロボット及び1つ又は複数のオブジェクト)の状態又はシナリオに関するセンサデータを取得することができる。各実施形態は、機械学習システムをトレーニングして、種々のシナリオ下で種々の操作タスクを達成するように、ロボット、例えばロボットのマニピュレータを自律的に制御するために使用可能である。特に、各実施形態は、例えば組立ラインにおける操作タスクの実行の制御及び監視に適用可能である。
【0052】
本明細書において特定の実施形態について図示及び説明してきたが、本発明の範囲から逸脱することなく、図示及び説明された特定の実施形態の代わりに多種多様な代替的及び/又は均等な実装形態を使用し得ることは、当業者によって認識される。本願は、本明細書において論じられた特定の実施形態の任意の適合又は変形を網羅することが意図されている。したがって、本発明は、特許請求の範囲及びそれらの均等物によってのみ限定されることが意図されている。
【手続補正書】
【提出日】2023-08-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
制御ルールを実装するための機械学習モデルをトレーニングするための方法であって、
複数の制御サイクルの各々ごとに、
それぞれの制御シナリオを規定する入力データを前記機械学習モデルに供給することであって、前記機械学習モデルは、供給された前記入力データに応答して、軌道パラメータ値の確率分布を規定する出力データを出力する、ことと、
前記確率分布から軌道パラメータ値をサンプリングすることと、
前記軌道パラメータ値に応じて軌道を決定することと、
前記軌道を評価することと、
を含み、さらに、
より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、前記機械学習モデルを適合させること、
を含む方法。
【請求項2】
前記軌道パラメータ値は、軌道基底関数の重みであり、
前記軌道は、前記重みに応じた前記軌道基底関数の組み合わせによって決定される、
請求項1に記載の方法。
【請求項3】
前記軌道を評価することは、前記軌道を追従するようにロボット装置を制御し、その結果として生じる制御結果を評価することを含む、
請求項1に記載の方法。
【請求項4】
前記ロボット装置は、コントローラによって前記軌道を追従するように制御され、
前記コントローラは、より高評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率が、より低評価を有する軌道が決定される元となった軌道パラメータ値をサンプリングする確率に比較して高められるように、前記機械学習モデルと共に適合させられる、
請求項3に記載の方法。
【請求項5】
前記機械学習モデルは、ニューラルネットワークである、
請求項1に記載の方法。
【請求項6】
請求項1に記載の方法により機械学習モデルをトレーニングすることと、
所定の制御シナリオを規定する入力データに対してトレーニングされた前記機械学習モデルを出力する出力データに従って、ロボット装置を制御することと、
を含む制御方法。
【請求項7】
プロセッサによって実行された場合に、請求項1に記載の方法を前記プロセッサに実施させるための命令を含むコンピュータプログラム。
【請求項8】
プロセッサによって実行された場合に、請求項1に記載の方法を前記プロセッサに実施させるための命令を格納しているコンピュータ可読媒体。
【外国語明細書】