(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-10-18
(45)【発行日】2023-10-26
(54)【発明の名称】ロボットを制御する装置及び方法
(51)【国際特許分類】
G05D 1/02 20200101AFI20231019BHJP
【FI】
G05D1/02 K
【外国語出願】
(21)【出願番号】P 2023126350
(22)【出願日】2023-08-02
【審査請求日】2023-09-07
(31)【優先権主張番号】10 2022 208 089.0
(32)【優先日】2022-08-03
(33)【優先権主張国・地域又は機関】DE
【早期審査対象出願】
(73)【特許権者】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】チャナ ロス
(72)【発明者】
【氏名】ヤコフ ミロン
(72)【発明者】
【氏名】ユヴァル ゴルドフラハト
(72)【発明者】
【氏名】ドータン ディ カストロ
【審査官】田中 友章
(56)【参考文献】
【文献】特開2022-106924(JP,A)
【文献】特開2010-152787(JP,A)
【文献】中国特許出願公開第111890351(CN,A)
【文献】韓国公開特許第10-2020-0063538(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
ロボット装置用の制御ポリシーをトレーニングするための方法であって、
前記ロボット装置の環境の基準状態と前記基準状態に対する前記環境の基準観察とを取得することと、
前記ロボット装置の姿勢推定の複数の誤差のそれぞれについて、前記姿勢推定の誤差に従って前記基準観察に対して妨害された観察と、トレーニング入力としての、生成された観察を含むトレーニングデータ要素とを生成することと、
生成された前記トレーニングデータ要素を使用して前記制御ポリシーをトレーニングすることと、
を含む方法。
【請求項2】
前記誤差のうちの少なくともいくつかのそれぞれが、設けられている前記ロボット装置の姿勢推定機能部によってセンサ測定データに応答して形成される姿勢推定結果と基準姿勢との間の誤差であり、前記センサ測定データは、前記基準姿勢においてそれぞれのノイズによって妨害された場合に前記ロボット装置が取得するはずのセンサ測定データである、請求項1に記載の方法。
【請求項3】
前記センサ測定データは、前記ロボット装置の慣性測定ユニットの測定データ及び前記環境を観察するカメラからの画像データを含み、
前記姿勢推定機能部は、前記姿勢推定結果を決定するためのセンサフュージョンを実行する、
請求項2に記載の方法。
【請求項4】
姿勢推定結果不確実性を出力する姿勢推定を実行することと、
前記姿勢推定結果の周囲の前記姿勢推定結果不確実性に従って誤差分布からのサンプリングを行うことにより、前記誤差のうちの少なくともいくつかを生成することと、
を含む、請求項
2に記載の方法。
【請求項5】
前記ロボット装置は、工事車両であり、前記環境は、工事現場である、請求項
1に記載の方法。
【請求項6】
ロボット装置を制御するための方法であって、
請求項
1に記載の
方法を使用して制御ポリシーをトレーニングすることと、
環境を観察して観察を生成することと、
トレーニングされた前記制御ポリシーを用いて、前記観察から1つ又は複数の動作を決定することと、
前記ロボット装置により前記ロボット装置の姿勢を推定することと、
観察された前記環境内の推定姿勢を考慮して、前記1つ又は複数の動作を実行することと、
を含む方法。
【請求項7】
請求項
1に記載の方法を実施するように構成されている制御装置。
【請求項8】
コンピュータにより実行されるときに、請求項
1に記載の方法を前記コンピュータに実施させるための命令を含むコンピュータプログラム。
【請求項9】
コンピュータにより実行されるときに、請求項
1に記載の方法を前記コンピュータに実施させるための命令を備えるコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
従来技術
本開示は、ロボットを制御する装置及び方法に関する。
【背景技術】
【0002】
近年、様々な理由から労働力不足に陥っている工事現場において自動化の需要が高まっている。自動化は、第一に、過去数十年にわたって相当に停滞していた生産性を向上させ、膨張するコストを削減することができる。第二に、危険なタスクを機械が処理することができるようにし、それによって、作業者を危害から遠ざけることにより、作業者の安全を向上させることができる。第三に、作業者に要求される肉体労働を削減し、これにより、労働力不足を解決することに役立ち得る。
【0003】
しかしながら、工事現場は、様々な困難なタスクに関して複数の機械が同時に作業を行う、本質的に予測不能でありかつ構造化されていない環境である。さらに、工事のプロジェクトは、それぞれ専門性の高い建築設計や仕様などに合わせて調整されるものであるので、きわめて多様でもある。これらの理由から、工事現場における自動化は、困難な課題である。
【0004】
例えば、自律運転のための現行の機械学習法のバックボーンであるトレーニングのためのデータ収集は、安全性、時間及びコストが主要な実用上の考慮事項である工事現場の構造化されていない環境においては、きわめて困難であることがわかっている。こうした問題は、シミュレータを使用して部分的には解決することができる。しかし、このことには欠点がある。また、極端かつ危険なシナリオが頻繁に発生する工事環境の予測不能な性質により、自律車両用の標準的な方法を使用してモデル化及び学習を行うことは困難であることが判明している。
【発明の概要】
【発明が解決しようとする課題】
【0005】
従って、工事現場のような構造化されていない環境においてロボット装置用の制御ポリシーをトレーニングするためのアプローチが所望されている。
【課題を解決するための手段】
【0006】
発明の開示
種々の実施形態によれば、ロボット装置用の制御ポリシーをトレーニングするための方法であって、ロボット装置の環境の基準状態と当該基準状態に対する環境の基準観察とを取得することと、ロボット装置の姿勢推定の複数の誤差のそれぞれについて、姿勢推定の誤差に従って基準観察に対して妨害された観察と、トレーニング入力としての、生成された観察を含むトレーニングデータ要素とを生成することと、生成されたトレーニングデータ要素を使用して制御ポリシーをトレーニングすることと、を含む方法が提供される。
【0007】
上述した方法により、ロボット装置の制御ポリシー(又はエージェント)のトレーニングが可能となり、これにより、制御ポリシーが姿勢推定における誤差に対してロバストとなり、ひいては工事現場のような困難な(構造化されていない)環境において良好な結果を達成することができる。生成された観察は、それぞれの誤差分だけ正しい姿勢とは異なる各トレーニング姿勢に対応するとみなすことができる。
【0008】
(例えば、デモンストレーションなどの専門知識から得られる、基準観察に対して生成された)1つ又は複数の基準動作は、例えば、生成された観察に対する目標出力として、即ち、実行されるべき動作としての、誤った姿勢推定に対応するという意味で誤っている観察に対する目標出力として使用可能であり、これにより、ロボット装置は、その姿勢推定において誤りを犯した場合にも「正しい」動作を実行するようにトレーニングされる。トレーニングデータ要素の目標出力(即ち、グラウンドトゥルースのラベル)は、専門家、例えば「教師」として機能するエキスパートモデルによって生成可能である。
【0009】
観察(例えば、ハイトマップ)は、例えば、ロボット装置の推定姿勢が生成された観察によって示される環境状態におけるその真の姿勢であった場合に、ロボット装置が、環境の基準状態に対する(その基準姿勢に従った)位置及び向きとしての、生成された観察によって示される環境状態に対する(例えば、工事現場におけるサンドパイルに対する)位置及び向きを有するように、生成される。
【0010】
以下に、種々の実施形態を説明する。
【0011】
実施形態1は、上述したロボット装置用の制御ポリシーをトレーニングするための方法である。
【0012】
実施形態2は、誤差のうちの少なくともいくつかのそれぞれが、設けられているロボット装置の姿勢推定機能部によってセンサ測定データに応答して形成される姿勢推定結果と基準姿勢との間の誤差であり、ここで、センサ測定データは、基準姿勢においてそれぞれのノイズによって妨害された場合にロボット装置が取得するはずのセンサ測定データである、実施形態1に記載の方法である。
【0013】
従って、トレーニングに使用される姿勢を、実際の適用においてロボット装置が導出し得る姿勢推定値に対応する姿勢とすることが達成可能となる。
【0014】
実施形態3は、センサ測定データが、ロボット装置の慣性測定ユニットの測定データ及び環境を観察するカメラからの画像データを含み、姿勢推定機能部が、姿勢推定結果を決定するためのセンサフュージョンを実行する、実施形態2に記載の方法である。
【0015】
この場合には、慣性測定ユニットの測定を妨害し、センサフュージョンから得られた推定姿勢をトレーニング姿勢として採用することによって、誤差(ひいては(トレーニング)姿勢)を生成することができる。これによって、特に慣性測定ユニットの測定は、実際の適用において誤差を有する可能性があるため、現実に則したトレーニング姿勢が提供される。
【0016】
実施形態4は、方法が、(例えば、センサ測定データのトレーニングから)姿勢推定結果不確実性を出力する姿勢推定を実行することと、姿勢推定結果の周囲の姿勢推定結果不確実性に従って誤差分布からのサンプリングを行うことにより、誤差のうちの少なくともいくつかを生成することとを含む、実施形態1から3までのいずれか1つに記載の方法である。
【0017】
例えば、姿勢推定結果は、(拡張)カルマンフィルタ(EKF)の出力であるものとしてよい。この場合、拡張は、例えば、EKF残差の分布(例えば、平均としての姿勢推定と共分散としてのEKF共分散行列推定とによって与えられるガウス分布)から生成される。姿勢推定は、例えば、ロボット装置によって実現されるものである。このようにして、ロボット装置の動作において遭遇する現実に則したトレーニングデータ要素が生成される。
【0018】
実施形態5は、ロボット装置が工事車両であり、環境が工事現場である、実施形態1から4までのいずれか1つに記載の方法である。
【0019】
特に工事現場においては、不均一な地面のため、及び、環境内にきわめてノイズが多いため、姿勢推定は困難であり、それ故に、センサがノイズを含む測定値を提供し、このためノイズを含む姿勢推定が生じ、従って、このような環境においては、姿勢推定の誤差に対してロバストな制御ポリシーのトレーニングが特に有利である。
【0020】
実施形態6は、ロボット装置を制御するための方法であって、実施形態1から5までのいずれか1つに記載のように制御ポリシーをトレーニングすることと、環境を観察して観察を生成することと、トレーニングされた制御ポリシーを用いて、観察から1つ又は複数の動作を決定することと、ロボット装置によりロボット装置の姿勢を推定することと、観察された環境内の推定姿勢を考慮して、1つ又は複数の動作を実行することと、を含む、方法である。
【0021】
実施形態7は、実施形態1から6までのいずれか1つに記載の方法を実施するように構成されている制御装置である。
【0022】
実施形態8は、コンピュータにより実行されるときに、実施形態1から6までのいずれか1つに記載の方法をコンピュータに実施させるための命令を含むコンピュータプログラムである。
【0023】
実施形態9は、コンピュータにより実行されるときに、実施形態1から6までのいずれか1つに記載の方法をコンピュータに実施させるための命令を備えるコンピュータ可読媒体である。
【0024】
図面において、同一の参照符号は、全体として、それぞれ異なる図面を通して同様の部分を指す。各図面は、必ずしも縮尺通りに描かれておらず、全体として本発明の基本方式を説明することに重点が置かれている。以下の説明においては、次の各図面を参照しながら種々の態様を説明する。
【図面の簡単な説明】
【0025】
【
図1】一実施形態による工事環境における制御シナリオを示す図である。
【
図2A】エージェントの完全状態情報を示す図である。
【
図2B】
図2Aの真の(正しい)状態から導出された観察を示す図である。
【
図2C】
図2Bの観察に対して選択された動作を示す図である。
【
図3】トレーニングデータセットに対するポリシー入力の拡張を示す図である。
【
図4】種々の実施形態によるエージェントのトレーニングを示す図である。
【
図5】ロボット装置用の制御ポリシーをトレーニングするための方法を説明するフローチャートである。
【発明を実施するための形態】
【0026】
以下の詳細な説明は、本発明を実施することができる本開示の特定の詳細及び態様を例示として示す添付の図面を参照している。本発明の範囲から逸脱することなく、他の態様を利用することができ、構造的、論理的かつ電気的な変更を行うことができる。本開示のいくつかの態様を本開示の1つ又は複数の他の態様と組み合わせて新たな態様を実現することができるので、本開示の種々の態様は、必ずしも相互に排他的であるとは限らない。
【0027】
以下に、種々の例をより詳細に説明する。
【0028】
図1には、工事環境101における制御シナリオが示されている。
【0029】
ロボット100が環境101内に位置している。ロボット100は、開始位置102を有しており、例えば、サンドパイル103を除去しようとしている。環境101は、ロボット100によって回避されるべき障害物104を含み得る。例えば、障害物104は、ロボット100が通過し得ない物体(例えば、壁、木又は岩)、又は、ロボットが損傷若しくは危害を与え得るために回避されるべき物体(例えば、作業者)である。
【0030】
ロボット100は、制御装置105を有している(当該制御装置105は、ロボット100に対して遠隔位置にあるものとしてもよく、即ち、ロボット100は、遠隔制御によって制御されるものであってもよい)。制御装置105は、ロボット100を制御するエージェントを実装していることが見て取れる。用語「制御装置」と用語「エージェント」とは、以下においては、交換可能な語として使用される。
図1の典型的なシナリオにおいては、目標は、環境101のナビゲーションが行われてサンドパイル103が除去されるように、即ち、造成タスクが実行されるように、制御装置105がロボット100を制御することである。当該例においては、ロボット100は、自律型のブルドーザであるが、脚部又は軌道又は他の種類の推進システムを有するロボット(深海ローバ又は火星ローバなど)であるものとしてもよい。
【0031】
制御装置(又はエージェント)105は、観察に基づいてロボット100を制御する。即ち、制御装置(又はエージェント)105は、観察(例えば、カメラ106が観察したハイトマップ)を受信して、観察に対する1つ又は複数の動作を選択し、当該1つ又は複数の動作(例えば、所定の方向に所定の距離だけ移動すること)が実行されるようにロボット100を制御する。
【0032】
以下に、工事現場車両(一般的には、非構造化環境におけるロボット)用の自律的な経路計画のためのアプローチについて説明する。例として、
図1に示されているように、位置特定の不確実性のもとで車両(ブルドーザ)の推定姿勢が誤っている場合にブルドーザ100によって行われる自律的な造成タスクを考察する。当該タスクは、あらゆる工事現場における全ての工作機械に共通するいくつかの課題を課す。従って、上記のタスクを当該分野における代表的な一例と考えることができる。主たる課題には、全ての工作機械にとって大きな困難となるデータ収集が含まれる。第二に、環境の観察可能性が部分的であることがきわめて困難であり、これは、環境の大部分がセンサポジショニングに起因して不明瞭となっているためである。第三に、位置特定の不確実性につながるセンサノイズが挙げられ、これは、エージェント105が環境101の観察を使用する方式に影響を与えるため、意思決定プロセスにおいて著しい性能劣化を引き起こす。
【0033】
データ収集の困難性を克服すべく、種々の実施形態によれば、シミュレーション環境でエージェント105をトレーニングする際、シミュレーションから現実までのギャップを埋めるためにドメイン適応技術を使用することができる。シミュレーションは、現実世界のデータに可能な限り類似するように拡張することができる。種々の実施形態によれば、エージェント105に対する(制御)ポリシーが純粋にシミュレーションにおいて学習され(即ち、エージェントがトレーニングされ)、シミュレーションとスケーリングされたプロトタイプ環境との双方においてテストされる。
【0034】
さらに、種々の実施形態によれば、位置特定の不確実性への対処は、エージェントのポリシーのトレーニング中、(例えばセンサノイズに起因する)不確実性が考慮されるトレーニング体系を使用することによって行われる。これにより、エージェント105は、クリーンでノイズのない環境におけるポリシーの学習と比較して、推論中の不確実性のもとでの改善された性能を有するロバストなポリシーを学習することができる。
【0035】
具体的には、エージェント105をトレーニングするために使用されるトレーニングデータセットは、(基準)観察のスケーリング、回転及び並進のバージョンを含む多数の変形を形成するための拡張を含み、従って、より現実的な、位置特定誤差に起因して観察が不確実となるシナリオに対処するエージェントの能力が向上する。
【0036】
ブルドーザ100の制御は、タプル
【数1】
からなる部分的に観察可能なマルコフ決定過程(POMDP)としてモデル化可能である。即ち、状態
【数2】
は、最適なポリシーを学習するために、要求される全ての情報を含む、しかし、エージェント105には、多くの場合に、環境101に関する部分的な又はノイズを有する情報しか提供されず、これを観察
【数3】
と称する。観察は、典型的には、状態とは異なって、最適性に関する十分な統計を欠いている。各状態sにおいて、エージェント105は、動作
【数4】
を行う(即ち、選択された動作に従ってロボット100を制御する)。次いで、システム(ブルドーザ100及び環境101)は、遷移カーネル
【数5】
に基づいて、次の状態
【数6】
へ移行する。最後に、エージェントに、報酬
【数7】
が提供される。エージェントの目標は、累積報酬を最大化する挙動ポリシー
【数8】
を学習することであり、ここで、ポリシーは、観察(又は推定状態)を動作へとマッピングする。
【0037】
種々の実施形態によれば、自律的な造成タスクが、POMDP/R(即ち、報酬項を有さないPOMDP)として定式化され、即ち、状態、観察、動作及び遷移カーネルからなる4タプルが定義される。
【0038】
状態は、最適なポリシーの取得に要求される全ての情報を含み、各動作の結果を決定する。本例においては、状態は、エージェント(即ち、ブルドーザ)100の正確な姿勢を含む。
【0039】
図2Aは、一実施形態によるエージェント200の完全状態情報を示しており、この完全状態情報には、エージェント200の姿勢の(誤りのない)正確な知識と、サンドパイル201の位置を含む環境202に関する知識とが含まれる。
【0040】
図2Bには、誤りのない
図2Aの真の(正しい)状態から導出された観察が示されており、ここで、観察は、状態情報の一部(ここでは、環境202の一部204)を含む。
【0041】
誤差に関連して、動作の2つの側面を考慮することができる。即ち、
[i-開ループ選択]ここでは、ポリシーが、ブルドーザ100の到達すべき中間点を出力する。この場合、姿勢推定の誤差は、状態から観察までの最適でない投影として提示される。
[ii-閉ループ]ここでは、姿勢推定における誤差が、軌道の実行のためにブルドーザの下位の制御装置へフィードバックされる。この場合、誤差がシステムを通して伝播され、所望の経路からの逸脱が生じる。
【0042】
図2Cには、選択された動作がドット205として示されている(これらのドット205は、最上部のサンドパイル201を除去するためにブルドーザ200が取るべき経路を定義している)。
【0043】
状態遷移は、ブルドーザのダイナミクスと、土壌及び環境の物理的特性とによって決定される。
【0044】
種々の実施形態によれば、センサデータ(この例においては、ブルドーザの姿勢を測定するためのセンサ)に影響を与える測定ノイズによって引き起こされる状態決定の不確実性を反映した誤差を含むトレーニング観察(即ち、トレーニング入力)が生成される。本例においては、不正確な状態(主に姿勢)の推定が、ブルドーザ100の現在位置の周囲における誤ったバウンディングボックスビューへ変換される。
【0045】
トレーニング(及びテスト)のために、種々の実施形態によれば、拡張(例えば、回転及び並進)を真の正確な観察に適用することにより、シミュレーションにおいてこうした挙動が模倣される。即ち、観察が、(わずかに)回転させられた姿勢及び/又は並進させられた姿勢に従って生成される。
【0046】
図3には、トレーニングデータセットに対するポリシー入力の拡張が示されている。
【0047】
第1の
図301は、ブルドーザが環境306内のブルドーザ300の基準姿勢(即ち、この例においては、トレーニングデータのための真の姿勢として想定される姿勢)を有する基準トレーニングデータ要素を示している。当該姿勢に基づいて、ブルドーザは、環境の1つの観察(基準観察と称される)を取得する。このように、基準観察のケースは、トレーニングデータ要素のために想定された環境の真の状態(ここでは、具体的にはサンドパイル307の位置を含む)に対応する。基準データ要素は、基準トレーニングラベル、即ち、1つ又は複数の(基準)動作の仕様を含む(ここでは、ドット308によって表現されている、サンドパイル307のうちの1つを除去する経路を定義する中間点の形態の2つの動作であり、ブルドーザは、先ず、より離れた方の点へ向かい、次いで、より近い方の中間点へと戻る)。
【0048】
さらなる
図302,303,304,305は、それぞれ、基準観察の拡張バージョンに対応するトレーニングデータ要素を表現している。各トレーニングデータ要素は、妨害姿勢(即ち、
図301の真の姿勢とは異なる姿勢の仕様)、ひいては、基準観察に対して妨害された妨害観察(例えば、ハイトマップ)に対応する。
【0049】
各トレーニングデータ要素は、トレーニングラベルとして基準トレーニングラベルを含み、即ち、真の状態に対応するグラウンドトゥルース動作を指定しているので、ブルドーザは、その姿勢推定につき誤りを犯している場合にも適当な動作を実行するようにトレーニングされる。
【0050】
図4には、種々の実施形態によるエージェント105のトレーニングが示されている。
【0051】
当該例においては、ブルドーザ100に含まれて姿勢推定を生成する認識ブロック406が使用されている。
【0052】
具体的には、エージェント105は、高い頻度で速度及び角速度インクリメント
【数9】
を提供する慣性測定ユニット401を含む。
【0053】
(工事現場のいずれかの場所に取り付けられている)カメラ106へのインタフェース402は、低い頻度で補助位置及び補助姿勢(即ち、向き)の測定値
【数10】
を提供し、即ち、補助情報を提供する。当該補助情報は、GNSS(Global Navigation Satellite System)受信機のような他の装置によっても提供可能である。
【0054】
慣性ナビゲーションシステム(INS)403は、ブルドーザの位置、速度及び向きを計算するために、(IMU401からの)慣性センサ読み取り値及び初期条件(IC)404を使用する。一実施形態によれば、拡張カルマンフィルタ(EKF)405を使用するセンサフュージョンアプローチが使用されて、IMU401からの測定値と(カメラインタフェース402を介してブルドーザに受信された)カメラからの測定値とのセンサフュージョンが実行される。
【0055】
このように、慣性統合システム403は、IC404とIMU401からの測定値との双方を使用して、高い頻度で、位置及び姿勢の推定値
【数11】
を生成し、カメラインタフェース402を介して補助測定値が利用可能になると、EKF405が起動されて、補正姿勢、バイアス及びドリフトの推定値が提供される。これらの推定値は、インクリメントの補償のために、慣性統合システム403へフィードバックされる。これらの成分を含む認識ブロック406の出力が、高い頻度で、姿勢の推定値となる。
【0056】
認識ブロックがトレーニング状態(即ち、
図3の第1の
図301に示されているような基準トレーニングデータ要素の真の状態)に対して姿勢を推定すると、(
図3の第2の
図302から第5の
図305のいずれかによって表現されているような)対応するトレーニングデータ要素が生成される。これは、推定ブロック406からシミュレータへ推定姿勢を供給することによって行われ、これにより、真の状態に対応する正しい観察が妨害されることにより、即ち、ブルドーザの推定姿勢がその真の姿勢である場合にカメラ106によって観察されるはずの観察(ハイトマップ)が生成されることにより、真の状態408及び推定姿勢からの観察407がレンダリングされる。生成されたトレーニングデータ要素中のトレーニングラベルは、生成された観察をエキスパートモデルに与えることによって生成される。
【0057】
観察407が利用可能になると、この観察407は、動作409(即ち、中間点の決定)を提供するポリシーへ供給される。次いで、トレーニングラベルに対する損失が計算される。
【0058】
次いで、シミュレータは、提供された動作を実行し、次の真の状態を計算し(又は、他の方式により、例えば、数回の反復後のリセットによって若しくは他のトレーニングシナリオへのセットによって、シミュレーションを他の真の状態へとセットし)、他の損失(即ち、総トレーニング損失のうちの他の成分)を計算するために上記のプロセスを繰り返す(即ち、複数回の反復を実行する)ことができる。この場合、エージェントは、総トレーニング損失を低減するように、例えば、複数回の反復の損失バッチの合計を低減するようにトレーニング可能である。
【0059】
認識ブロック406によって提供された単一の姿勢推定から、(EKF共分散行列推定からの)姿勢の不確実性、即ち、
【数12】
を考慮して、複数のトレーニングデータ要素を生成することができることに留意されたい。ここで、Kは、推定姿勢
【数13】
に関する分布からレンダリングされる観察の数であり、
【数14】
は、正規分布である。上記の例においては、
【数15】
は
【数16】
に対応し、即ち、姿勢及び向きである。
【0060】
このように、認識ブロック406によって実現されるようなセンサフュージョンフィルタリングを用いて、ノイズを有する(妨害された)多数の観察(即ち、真の観察の拡張)が生成可能である。これは、特に、(i)慣性測定ユニット(IMU)401の慣性センサと補助センサ測定(ここでは、インタフェース402を介して受信される画像データ)とに合成ノイズを加算すること、(ii)慣性ナビゲーションシステム403(INS)及びEKF405を適用すること、並びに、(iii)フィルタ405によって形成された分布からノイズを有する観察をレンダリングすること、によって行うことができる。このようにすることにより、不確実性がトレーニングパイプライン内へ導入される。当該不確実性により、その時点での、潜在状態全体にわたる著しく広い分布を含むトレーニングデータセットが生じることによって、トレーニングが強化される。これにより、エージェント105は、位置特定の不確実性に対してよりロバストなポリシーを学習することができる。
【0061】
実際には、測定値にセンサノイズを挿入すると、それぞれの真の観察の周囲の小さい摂動へと変換される。
【0062】
こうして、ブルドーザが自身の姿勢を大域的な座標(即ち、ハイトマップの座標)において推定し、(センサ測定値の誤差に基づいて)姿勢推定において誤りを犯すと、この誤りは、
図3に示されているようなハイトマップの対応する変位又は回転とみなすことができる(これは、ブルドーザの視点からすると、環境が変位し及び/又は回転しているからである。なぜなら、当該ブルドーザは、環境における自身の姿勢を誤って推定しており、これにより、自身が変位し及び/又は回転しているにもかかわらず、環境が変位し及び/又は回転していると捉えているためである)。
【0063】
要約すると、種々の実施形態により、方法が、
図5に示されるように提供される。
【0064】
図5には、ロボット装置用の制御ポリシーをトレーニングするための方法を説明するフローチャート500が示されている。
【0065】
501において、ロボット装置の環境の基準状態と、この基準状態に対する環境の基準観察(即ち、基準状態を反映した観察)とが取得される。
【0066】
502においては、状態に対して1つ又は複数の基準動作が決定される。
【0067】
503においては、ロボット装置の姿勢推定の複数の誤差のそれぞれにつき、姿勢推定の誤差に従って基準観察に対して妨害された観察が生成され、トレーニング入力としての、生成された観察を含むトレーニングデータ要素と、目標出力としての1つ又は複数の基準動作とが生成される。
【0068】
504においては、生成されたトレーニングデータ要素を使用して、制御ポリシーがトレーニングされる。
【0069】
換言すれば、種々の実施形態により、エージェントが拡張データセットでトレーニングされる(又は再トレーニングされる)。具体的には、例えば、エージェントが以前にトレーニングにおいて遭遇したことのない付加的なトレーニングデータ要素が、(トレーニングデータ要素の分布から)エージェントに提供される。付加的なトレーニングデータ要素によって、エージェントが実装している制御ポリシーのスケール及び回転の不変性が改善される。例えば、上述したように、サンドパイルに対するエージェント(ブルドーザ)の位置が妨害されていることにつき、エージェントがこれを学習可能となり、推論においてより良好な決定を行うことができるようになる。
【0070】
上述したように、トレーニングデータ要素(即ち、これらが含むトレーニング観察、即ち、トレーニング入力)が、(動作ラベルが与えられた正しい観察に対応する)「真」の状態から変化した姿勢に対して、レンダリング可能となる。多数の姿勢から導出された同等の(「真」の)状態に対するいくつかの観察をエージェントに提供することにより、スケール及び回転に対するエージェントのロバストネスが改善される。
【0071】
図5のアプローチを使用して、姿勢が考慮される技術システム、例えばコンピュータ制御される機械、例えば、ロボット、車両、家電製品、電動工具、製造機械、パーソナルアシスタント又はアクセス制御システムなどを制御するための制御信号が計算されるように、エージェントをトレーニングすることができる。種々の実施形態によれば、技術システムを制御するためのポリシーを学習することができ、次いで、このポリシーに従って技術システムを動作させることができる。
【0072】
種々の実施形態においては、例えば観察を取得するために、ビデオ、レーダ、LiDAR、超音波、熱画像、動き、ソナーなどのような種々の視覚センサ(カメラ)から画像データ(即ち、デジタル画像)を受信して使用することができる。
【0073】
一実施形態によれば、当該方法は、コンピュータによって実装される。
【0074】
特定の実施形態を本明細書において図示及び説明してきたが、当業者には、本発明の範囲から逸脱することなく、様々な代替の及び/又は等価の実現形態を図示及び説明した特定の実施形態に置換し得ることが理解されるであろう。本出願は、本明細書において論じた特定の実施形態の任意の適応形態又は変形形態を包含することを意図している。従って、本発明は、特許請求の範囲及びその等価物によってのみ限定されることが意図されている。
【要約】
【課題】種々の実施形態により、ロボット装置用の制御ポリシーをトレーニングするための方法を説明する。
【解決手段】本方法は、ロボット装置の環境の基準状態と当該基準状態に対する環境の基準観察とを取得することと、ロボット装置の姿勢推定の複数の誤差のそれぞれについて、姿勢推定の誤差に従って基準観察に対して妨害された観察と、トレーニング入力としての、生成された当該観察を含むトレーニングデータ要素とを生成することと、生成されたトレーニングデータ要素を使用して制御ポリシーをトレーニングすることと、を含む。
【選択図】
図4