(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022176917
(43)【公開日】2022-11-30
(54)【発明の名称】ロボットデバイスを制御するための方法
(51)【国際特許分類】
B25J 9/16 20060101AFI20221122BHJP
【FI】
B25J9/16
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022080087
(22)【出願日】2022-05-16
(31)【優先権主張番号】10 2021 204 961.3
(32)【優先日】2021-05-17
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】レオネル ロソ
(72)【発明者】
【氏名】ヴェーダント デイヴ
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707LS01
3C707LW12
3C707WL01
(57)【要約】 (修正有)
【課題】ロボットデバイスを制御するための方法が説明される。
【解決手段】ロボットスキルのためのデモンストレーションを提供するステップであって、ロボット構成のシーケンスを含む軌道をデモンストレーションし、リーマン多様体の構造を有する構成空間の要素によって記述されるステップと重みベクトルに従った基本運動と、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することで、ロボットデバイスの基本運動の重みベクトルとしての各軌道の表現を決定するステップであって、組み合わせは、多様体に写像されるステップと、デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させた基本運動を実行することによってロボットデバイスを制御するステップと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ロボットデバイスを制御するための方法であって、該方法は、
ロボットスキルのためのデモンストレーションを提供するステップであって、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述されるステップと、
各デモンストレーションされた軌道について、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって、前記ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現を決定するステップであって、前記組み合わせは、前記多様体に写像されるステップと、
前記デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって重みベクトルの確率分布を決定するステップと、
前記重みベクトルの決定された確率分布に従って基本運動を実行することによって前記ロボットデバイスを制御するステップと、を含む、方法。
【請求項2】
前記重みベクトルの確率分布は、前記デモンストレーションされた軌道について決定された重みベクトルにガウス分布を適合させることによって決定される、請求項1記載の方法。
【請求項3】
前記各デモンストレーションされた軌道は、時点の予め定められたシーケンスの各時点に対するロボット構成を含み、重みベクトルに従った基本運動の各組み合わせは、前記時点の予め定められたシーケンスの各時点に対するロボット構成を指定し、前記各デモンストレーションされた軌道について、前記重みベクトルは、可能な重みベクトルの集合から、前記重みベクトルに従った基本運動の組み合わせと、前記デモンストレーションされた軌道とについての重みベクトルを決定することによって決定され、前記組み合わせは、多様体に写像され、前記可能な重みベクトルの集合の中で最小であり、前記多様体に写像された基本運動の組み合わせと、前記デモンストレーションされた軌道との間の距離は、前記時点のシーケンスの時点にわたって、前記多様体に写像されたときの時点における基本運動の組み合わせによって与えられる前記多様体の要素と、前記デモンストレーションされた軌道との間の前記多様体のメトリックの値または値のべき乗を含む各時点についての項を含んだ項にわたる合計によって与えられる、請求項1または2記載の方法。
【請求項4】
前記方法は、前記デモンストレーションされた軌道の1つについて、前記重みベクトルに従った基本運動の組み合わせと、前記デモンストレーションされた軌道との間の距離測定値が最小化されるような、多様体の点および重みベクトルを検索するステップを含み、前記組み合わせは、点における接空間から前記多様体に写像され、前記各デモンストレーションされた軌道について、前記多様体への前記各組み合わせの写像は、選択された点における接空間から前記組み合わせを写像することによって実行される、請求項1から3までのいずれか1項記載の方法。
【請求項5】
前記軌道は、配向軌道であり、前記各デモンストレーションは、位置軌道をさらにデモンストレーションし、前記各ロボット構成は、三次元空間におけるベクトルによって記述される姿勢と、予め定められた構成空間の要素によって記述される向きとを含む、請求項1から4までのいずれか1項記載の方法。
【請求項6】
前記方法は、より多くのロボットスキルのデモンストレーションを提供するステップと、各スキルについて、軌道の表現と重みベクトルと重みベクトルの確率分布とを決定するステップと、前記各スキルについて、前記重みベクトルの確率分布から、多様体点のリーマンガウス分布を決定することによって、前記ロボットデバイスを制御するステップと、前記スキルのリーマンガウス分布の積分布を決定するステップと、決定された積確率分布からサンプリングすることによって前記ロボットデバイスを制御するステップと、を含む、請求項1から5までのいずれか1項記載の方法。
【請求項7】
ロボットデバイスコントローラであって、請求項1から6までのいずれか1項記載の方法を実行するように構成されている、ロボットデバイスコントローラ。
【請求項8】
コンピュータプログラムであって、命令がプロセッサによって実行されるときに、前記プロセッサに請求項1から6までのいずれか1項記載の方法を実行させる命令を含んでいる、コンピュータプログラム。
【請求項9】
コンピュータ可読媒体であって、命令がプロセッサによって実行されるときに、前記プロセッサに請求項1から6までのいずれか1項記載の方法を実行させる命令が格納されている、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットデバイスを制御するための方法に関する。
【0002】
多くの用途では、ロボットが、場合によっては動的で構造化されていない環境において自律的に動作することが望まれる。このためには、ロボットは、自身の周辺環境の中でどのように動き、どのように対話するかを学習する必要がある。そうするために、ロボットは、単純な動作を実行したり、複雑なタスクを複数のスキルの組み合わせとして実行したりするために使用できるスキルのライブラリに依存する場合がある。動作スキルを学習する手法は、人間の例を介して、デモンストレーションから学ぶこと(LfD:Learning from demonstrations)として公知である。これには、ロボットによって模倣されるべき特定の動作を1回または複数回示す専門家(典型的には人間)が必要である。
【0003】
A. Paraschos らによる刊行物「Using probabilistic movement primitives in robotics” by A. Paraschos et al., in Autonomous Robots, 42:529-551, 2018」には、ロボット動作スキルを学習して合成するための確率的枠組みである確率的運動プリミティブ(ProMP)が記載されている。ProMPは、コンパクトな基底関数表現に基づく軌道分布を表している。その確率論的定式化により、運動の変調、平行運動の起動、および制御における分散情報の活用が可能になる。
【0004】
ProMPは、直交運動の学習に使用されてきたが、その定式化では、四元数軌道の形態での配向運動を扱うことができない。しかしながら、四元数は、それらがほぼ最小の表現と、閉ループ配向制御での強い安定性とを提供するなど、ロボット制御にとって好ましい特性を備えている。したがって、四元数軌道を含むデモンストレーションからロボット制御学習を可能にするアプローチが望まれる。
【0005】
発明の開示
様々な実施形態によれば、ロボットデバイスを制御するための方法が提供され、この方法は、ロボットスキルのためのデモンストレーションを提供するステップであって、ここで、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、ここで、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述されるステップを含む。本方法はさらに、各デモンストレーションされた軌道について、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって、ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現を決定するステップであって、ここで、組み合わせは、多様体に写像されるステップを含む。本方法はさらに、デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって重みベクトルの確率分布を決定するステップと、重みベクトルの決定された確率分布に従って基本運動を実行することによってロボットデバイスを制御するステップとを含む。
【0006】
様々な実施形態によれば、上述の方法は、(以下で詳細に説明するように多変量測地線回帰を使用して)確率的動作プリミティブを符号化、再現、および適合させるリーマン多様体アプローチを使用するロボット制御を提供する。特に、様々な実施形態によれば、四元数軌道の空間は、リーマン多様体とみなされる。このアプローチは、ジオメトリを認識しないアプローチ(古典的なProMPなど)と比較して、ともすれば不正確なデータを符号化したり、歪んだ軌道を再現したりすることが少なく、ロボットによるスキルの学習と再現とを可能にさせる。これは大まかな近似に依存しないため、モデルもより説明しやすくなる。その上さらに、このアプローチは、軌道分布の変調や動作プリミティブの混合などの付加的な適合能力も提供する。
【0007】
様々な実施形態によれば、デモンストレーションされた軌道は、測地線回帰である重みベクトルとして表される。これは、測地線が、各デモンストレーションされた軌道に適合しているように見え得ることを意味する。
【0008】
以下では様々な例が与えられる。
【0009】
実施例1は、上述したようなロボットデバイスを制御するための方法である。
【0010】
実施例2は、実施例1による方法であり、ここで、重みベクトルの確率分布は、デモンストレーションされた軌道について決定された重みベクトルにガウス分布を適合させることによって決定される。
【0011】
訓練および再現のためにガウス分布を使用することにより、デモンストレーションでは見られなかった制御シナリオの信頼性の高い制御が提供される。
【0012】
実施例3は、実施例1または2による方法であり、ここで、各デモンストレーションされた軌道は、時点の予め定められたシーケンスの各時点に対するロボット構成を含み、重みベクトルに従った基本運動の各組み合わせは、時点の予め定められたシーケンスの各時点に対するロボット構成を指定し、
各デモンストレーションされた軌道について、重みベクトルは、可能な重みベクトルの集合から、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道とについての重みベクトルを決定することによって決定され、
組み合わせは、多様体に写像され、可能な重みベクトルの集合の中で最小であり、
多様体に写像された基本運動の組み合わせと、デモンストレーションされた軌道との間の距離は、時点のシーケンスの時点にわたって、多様体に写像されたときの時点における基本運動の組み合わせによって与えられる多様体の要素と、デモンストレーションされた軌道との間の多様体のメトリックの値または値のべき乗を含む各時点についての項を含んだ項にわたる合計によって与えられる。
【0013】
これにより、デモンストレーションされた軌道に重みベクトルを適合させることによって、重みベクトルによりデモンストレーションされた軌道を表現する効率的な手法が提供される。組み合わせは、多様体上の点を選択し、選択された点における多様体の接空間の指数関数により多様体に組み合わせを写像することによって、多様体に写像されてもよい。
【0014】
実施例4は、実施例1~3までのいずれか1つによる方法であり、この方法は、デモンストレーションされた軌道の1つについて、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値が最小化されるような、多様体の点および重みベクトルを検索するステップを含み、ここで、組み合わせは、点における接空間から前記多様体に写像され、ここで、各デモンストレーションされた軌道について、多様体への各組み合わせの写像は、選択された点における接空間から前記組み合わせを写像することによって実行される。
【0015】
換言すれば、接空間(すなわち、接空間を取る多様体の点)は、1つの実証された軌道について、重みおよび点にわたる最適化を実行することにより決定される。次いで、この接空間は、組み合わせまたは検索中にこれが必要な任意の組み合わせを、デモンストレーションされたすべての軌道についての多様体に写像するために使用される。換言すれば、同じ接空間、したがって同じ指数写像が、すべてのデモンストレーションされた軌道に使用される。これにより、異なる軌道に対して異なる接空間を使用することが接線重みベクトルを非常に多様化させてしまうという問題を克服する効果的な手法が提供される。
【0016】
実施例5は、実施例1~4までのいずれか1つによる方法であり、ここで、軌道は、配向軌道であり、各デモンストレーションは、位置軌道をさらにデモンストレーションし、各ロボット構成は、三次元空間におけるベクトルによって記述される姿勢と、予め定められた構成空間の要素によって記述される向きとを含む。
【0017】
したがって、スキルは、ロボットの姿勢のシーケンス、例えばエンドエフェクタの位置および向きをデモンストレーションすることによって学習されてもよく、ここで、向きのためのモデルは、リーマン多様体に基づくアプローチを使用して学習される。
【0018】
実施例6は、実施例1~5までのいずれか1つによる方法であり、この方法は、より多くのロボットスキルのデモンストレーションを提供するステップと、各スキルについて、軌道の表現と重みベクトルと重みベクトルの確率分布とを決定するステップと、各スキルについて、重みベクトルの確率分布から、(時点毎に)多様体点のリーマンガウス分布を決定することによって、ロボットデバイスを制御するステップと、スキルのリーマンガウス分布の積分布を決定するステップと、(時点毎に)決定された積確率分布からサンプリングすることによってロボットデバイスを制御するステップと、を含む。
【0019】
これにより、リーマン多様体上のデモンストレーションから学んだスキルのためのスキルのブレンディングが可能になる。
【0020】
実施例7は、請求項1から6までのいずれか1項記載の方法を実行するように構成されているロボットデバイスコントローラである。
【0021】
実施例8は、命令がプロセッサによって実行されるときに、該プロセッサに実施例1から6までのいずれか1つによる方法を実行させる命令を含んでいるコンピュータプログラムである。
【0022】
実施例9は、命令がプロセッサによって実行されるときに、該プロセッサに実施例1から6までのいずれか1つによる方法を実行させる命令が格納されているコンピュータ可読媒体である。
【0023】
図面において、同様の参照符号は、一般に、異なる図面を通して同じ部品を指している。これらの図面は必ずしも縮尺通りではなく、代わりに本発明の原理を一般的に説明することに重点が置かれている。以下の明細書では、以下の図面を参照しながら様々な態様が説明される。
【図面の簡単な説明】
【0024】
【
図2】球面多様体S
2を示す図であり、それらの点は例えばロボットのエンドエフェクタの可能な向きをそれぞれ表すことができる。
【
図3】一実施形態による球面多様体S
2上の多変量一般線形回帰を示す図である。
【
図4】説明のために球面上の文字に実施形態を適用した例を示す図である。
【
図5】説明のために球面上の文字のための一実施形態によるブレンディングプロセスを示す図である。
【
図6】ロボットデバイスを制御するための方法を示すフローチャートである。
【0025】
以下の詳細な説明は、本発明が実施され得る本開示の特定の詳細および態様を例示として示す添付の図面を参照している。また、本発明の保護範囲から逸脱することなく、他の態様を使用したり、構造的、論理的、および電気的な変更を行ったりしてもよい。本開示のいくつかの態様は、新たな態様を形成するために本開示の1つ以上の他の態様と組み合わせることができるので、本開示の様々な態様は、必ずしも相互に排他的であるとは限らない。
【0026】
以下では、様々な例をより詳細に説明する。
【0027】
【0028】
このロボット100は、作業部品(または1つ以上の他の対象物)を操作したり、組み立てたりするためのロボットアーム101、例えば産業用ロボットアームを含む。このロボットアーム101は、マニピュレータ102,103,104と、これらのマニピュレータ102,103,104が支持されている基台(または支持台)105とを含む。「マニピュレータ」という用語は、ロボットアーム101の可動部材を指し、それらの操作が、例えば作業を実行するために環境との物理的な相互作用を可能にしている。制御のために、ロボット100は、制御プログラムに従って環境との相互作用を実施するように構成された(ロボット)コントローラ106を含む。マニピュレータ102,103,104の(支持台105から最も離れた)最後の部材104は、エンドエフェクタ104とも称され、1つ以上のツール、例えば溶接トーチ、把持器具、塗装設備などを含むことができる。
【0029】
(支持台105の近傍にある)他のマニピュレータ102,103は、例えばエンドエフェクタ104と共に、その端部にエンドエフェクタ104を備えるロボットアーム101が設けられた位置決めデバイスを形成することができる。ロボットアーム101は、人間の腕と同様の機能を提供することができる機械的なアームである(場合によっては、その端部にツールを備える)。
【0030】
ロボットアーム101は、マニピュレータ102,103,104を互いに相互接続し、さらに支持台105にも相互接続する関節要素107,108,109を含むことができる。関節要素107,108,109は、1つ以上の関節を含むことができ、それらの各々は、互いに関連するマニピュレータに対して回転可能な動作(すなわち回転動作)および/または並進動作(すなわち変位)を提供することができる。マニピュレータ102,103,104の運動は、コントローラ106によって制御されるアクチュエータを用いて開始することができる。
【0031】
「アクチュエータ」という用語は、駆動されることに応じて機構やプロセスに影響を与えるように適合された構成部品として理解されてもよい。アクチュエータは、コントローラ106によって出力された命令(いわゆる起動)を、機械的な運動として実行することができる。アクチュエータ、例えば電気機械変換器は、駆動に応じて電気エネルギを機械エネルギに変換するように構成されていてもよい。
【0032】
「コントローラ」という用語は、任意のタイプの論理実装された項目として理解されてもよく、これは、例えば、記録媒体に格納されたソフトウェア、ファームウェア、またはそれらの組み合わせを実行することができ、例えば、本例のアクチュエータに命令を出力することができる回路および/またはプロセッサを含むことができる。コントローラは、例えば、システム、本例ではロボットの運用を制御するためにプログラムコード(例えばソフトウェア)によって構成されていてもよい。
【0033】
本例では、コントローラ106は、1つ以上のプロセッサ110と、コードおよびデータを格納したメモリ111とを含み、これらのコードおよびデータに基づいて、プロセッサ110はロボットアーム101を制御する。様々な実施形態によれば、コントローラ106は、メモリ111に格納された機械学習モデル112に基づいて、ロボットアーム101を制御する。
【0034】
様々な実施形態によれば、リーマン多様体アプローチは、ProMPを使用して配向動作プリミティブを学習するために使用される。すなわち、リーマン多様体定式化を使用して「配向ProMP」として示される、古典的ProMPの拡張が提供される。
【0035】
オリジナルの(すなわち古典的な)確率的運動プリミティブ(ProMP)アプローチは、ユークリッド空間でのロボットのスキルを処理するため、(ロボットの向きを表す)四元数軌道の学習および再現を不可能にさせる。
【0036】
以下に説明するProMPのリーマン定式化は、四元数データの学習および再現を可能にさせる。その上さらに、本明細書で与えられる一般的な処理のため、一般的なリーマン多様体に対する使用が可能になる。
【0037】
以下では、ユークリッド空間でのロボットスキルを処理するためのProMPの導入が示される。
【0038】
【0039】
一般に、単一の運動実行に対して、所定の軌道
【数1】
が、変数yの時系列として示される。ここで、y
tは、時間tについてのロボット構成とも称され、時間ステップtでのタスク空間内の関節角度または直交位置のいずれかを表すことができる(付加的にyの時間微分が考慮されてもよい)。古典的なProMP表記法に従って、y
tは、d自由度(DoF)のシステム、例えば7自由度を有するロボットアーム101の測定値を表すd次元ベクトルである。軌道τの各点は、次式のように線形基底関数モデルとして表すことができる。
y
t=Ψ
tw+ε
y⇒P(y
t│w)=N(y
t│Ψ
tw,Σ
y) (1)
ここで、wは、dN
φ次元の重みベクトルであり、Ψ
tは、各DoFに対する時間依存の基底関数φ
tを含むd×dN
φ次元のブロック対角行列であり(1つのDoFに対する基底関数は、基本運動(例えば、所定の方向への運動、所定の軸周りの回転)とも称される)、N
φは、基底関数の数を示し、ε
y~N(0,Σ
y)は、不確かさΣ
yを有するゼロ平均i.i.d.ガウスノイズである。
【0040】
ProMPは、各デモンストレーションが重みベクトルwの異なる値によって特徴付けられ、分布P(w;θ)=N(w│μw,Σw)となることを想定している。次いで、完全な軌道は、P(w;θ)から引き出された重みwと共に各tにおける基底関数の合成としてモデル化できる。したがって、時間tに対する状態P(y
t;θ)の分布は、次式のように計算できる。
【数2】
この式からは、各タイムステップtにおける平均と分散の両方が推定される。
【0041】
デモンストレーションから学習する場合、例示的な軌道は時間の長さが異なることが多い。ProMPは、位相変数を導入してデータを時間インスタンスから分離することでこの問題を克服する。これにより、時間変調が可能になる。この場合、デモンストレーションの範囲は、z
0=0からz
T=1であり、デモンストレーションされた軌道は、
【数3】
として再定義される。Ψを形成する基底関数は、位相変数zにも依存する。具体的には、ProMPは、幅h、中心c
iでもって、b
i(z
t)=exp((-(z
t-c
i)
2)/2h)として定義されるストロークベースの運動のためのガウス基底関数を使用し、これらはしばしば実験的に設計されている。次いで、これらのガウス基底関数は、正規化され、次式となる。
【数4】
【0042】
一般的に言えば、ProMPの学習プロセスは、主に重み分布P(w;θ)を推定することからなる。そうするために、式(1)のようなi番目のデモンストレーションを表す重みベクトルw
iが最尤推定によって推定される。これは、次式、
w
i=(Ψ
TΨ+λI)
-1Ψ
TY
i (3)
の形態の線形リッジ回帰の解につながる。ここで
【数5】
は、観測されたすべての軌道点を連結し、Ψは、基底関数行列Ψ
tについてのすべての時間インスタンスからなる。次いで、N個のデモンストレーションの集合が与えられると、重み分布パラメータθ={μ
w,Σ
w}が最尤法で推定できる。新しい状況に適合するために、ProMPは、関連する共分散Σ
y
*を用いて所期の軌道点
【数6】
に到達するように動作を条件付けることにより、通過点または目標位置への軌道変調を可能にする。これは、結果として、条件付き確率
【数7】
となり、そのパラメータは、以下のように計算できる(ガウス分布を想定)。
【数8】
【0043】
軌道分布の積を計算することにより、異なる運動プリミティブは、単一の動作にブレンドすることができる。具体的には、最終動作への影響がブレンディング重みα
t,sに従って変化するS個の異なるProMPの集合P
s(y
t)=N(y
t│μ
t,s,Σ
t,s)に対して、各時間ステップtにおけるブレンドされた軌道は、次の分布
【数9】
に従う。次いで、
【数10】
のパラメータは、次のようにガウス分布の加重積から容易に推定される。
【数11】
【0044】
タスクパラメータは、例えば、タスクを達成するためにロボット動作を目標対象物に適合させることができる。そのような情報は、デモンストレーション中に得られることが多く、ProMPの定式化に統合させることができる。形式的には、ProMPは、外部状態
【数12】
を考慮し、
【数13】
から平均重みベクトルμ
wへのアフィン写像を学習して以下の結合確率分布となる。
【数14】
ここで、{O,o}は線形リッジ回帰を使用して学習される。
【0045】
上述したように、四元数は、ロボット制御に適した特性を備えている。ただし、(ロボット制御に使用される)四元数は、単位ノルム制約を満たすため、ベクトル空間を形成せず、したがって、(単位ノルムを伴う)四元値を有する変数を処理し、分析するための従来のユークリッド空間法の使用は不十分である。
【0046】
様々な実施形態によれば、リーマン幾何学は、四元数空間上でProMPを定式化するために活用される。
【0047】
リーマン多様体Mは、各点が局所的にユークリッド空間
【数15】
に類似し、大域的に定義された微分構造を持つm次元の位相空間である。各点x∈Mに対して、xを通るすべての可能な滑らかな曲線の接ベクトルからなるベクトル空間である接空間T
xMが存在する。リーマン多様体は、リーマンメトリックと称される滑らかに変化する正定値の内積を備え、これによりM内の曲線の長さを定義することができる。これらの曲線は、測地線と称され、M内の2点間の最小長さの曲線を表すため、ユークリッド空間上の直線をリーマン多様体に一般化したものである。
【0048】
図2は、それらの点が例えばロボットエンドエフェクタの可能な向きをそれぞれ表すことができる球面多様体S
2の図を示す。
【0049】
2つの点xおよびyは、ロボットエンドエフェクタ104の2つの異なる方向を表すためにコントローラ106によって使用されてもよい球面上に示されている。
【0050】
周囲空間における2点間の最短距離は直線201となるが、多様体上の最短経路は測地線202である。
【0051】
ユークリッド接空間を利用するために、接空間
【数16】
の間を行き来する写像が使用されてもよく、これらはそれぞれ指数写像および対数写像と表記される。
【0052】
指数写像
【数17】
は、xから始まり、xとyとの間の測地距離dMが、xとuとの間の距離のノルムに等しくなるようなuの方向における測地線上に存在するように、xの接空間内にある点uを多様体上の点yに写像する。逆の操作は対数写像
【数18】
と称される。すなわち、
【数19】
【0053】
多様体に関する別の有用な操作として、接空間内の2つの要素間の内積が一定に保たれるように、接空間の間で要素を移動させる平行移動
【数20】
がある。
【0054】
例えば、
図2では、
【数21】
は、
【数22】
から
【数23】
まで平行移動されたベクトル
【数24】
および
【数25】
である(簡略化のため、インデックス
【数26】
は省略されている)。
【0055】
以下では、確率変数p∈Mのリーマンガウス分布が、次式
【数27】
ただし、平均μ∈Mおよび共分散Σ∈TμM
として導入される。このリーマンガウスは、リーマン多様体のための近似的な最大エントロピー分布に対応する。
【0056】
以下は、球面多様体S
mについてのリーマン距離、指数写像、対数写像、および平行移動操作のための式である。
【表2】
【0057】
様々な実施形態によれば、線形回帰をリーマン多様体設定に一般化する測地線回帰が使用される(例えばコントローラ106)。この測地線回帰モデルは、以下のように定義される。
【数28】
ここで、y∈Mおよび
【数29】
は、それぞれ出力変数と入力変数、p∈Mは、多様体上の基点、u∈T
pMは、pにおける接空間内のベクトル、誤差項εは、
【数30】
における接空間内の値をとる確率変数である。線形回帰と同様に、(p,u)は、切片pおよび傾きuとして解釈することができる。
【0058】
ここで、点{y
1,…,y
T}∈Mおよび
【数31】
の集合を考察する。測地線回帰の目的は、すべてのT個の対(x
i,y
i)の間の関係を最良にモデル化する測地線曲線γ∈Mを見つけ出すことである。これを達成するために、モデル推定値と観測値との間のリーマン距離の2乗和(つまり誤差)が最小化される。すなわち、
【数32】
ここで、
【数33】
は、多様体M上のモデル推定値であり、
【数34】
は、リーマン誤差であり、対(p,u)∈TMは、接束TMの要素である。測地線モデルの最小二乗推定量は、上記のリーマン距離の二乗和の最小化として定式化できる。すなわち、
【数35】
【0059】
しかしながら、式(9)は、式(3)のような解析的な解を与えられない。解は最急降下法によって得ることができるが、これには、リーマン距離関数の導関数と指数写像の導関数とを計算する必要がある。後者は、初期点pおよび初期速度uに関する導関数に分けられる。これらの勾配は、ヤコビ場(すなわち、リーマン曲率テンソルのもとで特定の初期条件に従う2次方程式の解)の観点から計算することができる。
【0060】
上記の測地線モデルは、スカラー独立変数
【数36】
のみを考慮していることに留意されたい。これは、導関数が、単一の接ベクトルuによってパラメータ化された単一の測地線曲線に沿ったヤコビ場によって取得されることを意味する。ヤコビ場の計算は、いわゆる随伴演算子に依存し、これは、実際には測地線回帰の誤差項の平行移動の役割を果たす。
【数37】
の多変量ケースへの拡張には、複数の測地線曲線(これはユークリッド空間における「基底」ベクトルとみなすことができる)の識別を伴う若干異なったアプローチが必要である。リーマン多様体上の多変量一般線形モデル(MGLM)は、この問題の解決策を提供する。
【0061】
MLGMは、xの次元毎に1つずつ、複数の接ベクトルuj∈TpMによって形成される測地線基底U=[u
1…u
n]を使用する。次いで、問題の式(9)は、
【数38】
を用いて以下のように再定式化することができる。
【数39】
式(10)を解くために、対応する勾配は、随伴演算子が平行移動操作に類似しているという洞察を活用して計算することができる。そのようにして、多変量ケースのための特別な随伴演算子を設計するというハードルを克服することができ、代わりに、平行移動操作が、必要な勾配を近似するために実行されてもよい。この多変量の枠組みは、リーマン多様体M上にある各デモンストレーションについて、式(3)に類似した重みベクトルを計算するという目的を果たす。
【0062】
以下では、デモンストレーションデータが四元数軌道に対応する場合、すなわちM≡S3の場合に、どのようにMLGMが使用され得るかについて説明する。
【0063】
人間のデモンストレーションが(運動感覚教授または遠隔操作を介して)直交運動パターンによって特徴付けられる場合、ロボットエンドエフェクタの並進運動と回転運動の両方を包含する学習モデル112を有することが必要である。これは、所定のデモンストレーション軌道
【数40】
が、ここで時間ステップtにおけるエンドエフェクタの完全な直交姿勢を表すデータポイント
【数41】
として構成されることを意味する。このケースでの課題は、
【数42】
におけるユークリッドのケースが古典的なProMPに従うため、配向空間におけるProMPの学習である。
【0064】
最初に
【数43】
についての等価式が、MGLMの枠組みで、式(1)における線形基底関数モデルに類似するように導入される。具体的には、推定値
【数44】
であり、ここでは以下のとおりである。
【数45】
【0065】
この等価性は、ProMPの古典的な定式化と我々の提案する配向軌道のためのアプローチとの間の類似性を確立するときに有用であることが判明した。式(1)と同様に、τの点y
t∈Mは、次のように測地線基底関数モデルとして表現することができる。
P(y
t│w)=N
M(y
t│Exp
p(Ψ
tw),Σ
y) (12)
ここで、pは、M上の固定基点であり、
【数46】
は、N
φ個の重みベクトルw
n∈T
pMを連結した大きな重みベクトルであり、Ψtは、式(1)と同じ時間依存性の基底関数の行列であり、Σ
yは、
【数47】
上の不確実性を符号化した共分散行列である。この定式化に関する2つの特別な態様、詳細には、(i)式(12)のリーマンガウス分布の平均、つまりExp
p(Ψ
tw)∈Mが前述のMGLMの等価的定式化を活用すること、および(ii)式(12)においてwを形成する重みベクトルが、MGLMの測地基底を構成するベクトルに対応することは、とりわけ注目に値する。
【0066】
すべてのデモンストレーションは、異なる重みベクトルwによって特徴付けられるため、ここでも分布P(w;θ)=N(w│μ
w,Σ
w)が取得できる。したがって、y
tの周辺分布は次のように計算することができる。
P(y;θ)=∫N
M(y│Exp
p(Ψw),Σ
y)N(w│μ
w,Σ
w)dw (13)
ここで、周辺分布は、異なる多様体上にある2つの確率分布に依存する(簡略化のために、ここおよび以下では時間インデックスを省略する)。しかしながら、平均μ
yは、単一の固定点p∈Mおよびμ
w∈T
pMに依存する。これらの2つの観測値は、以下のように接空間T
pM上の境界(13)を解くために活用される。
【数48】
ここで、
【数49】
は、μ
yからpへの平行移動共分散Σ
yである。この周辺分布は、依然として接空間T
pM上にあるため、指数写像を使用してMに逆写像されることに留意されたい。これにより、最終的に周辺分布は次のようになる。
【数50】
ただし、
【数51】
【0067】
上述のように、ProMPの学習プロセスは、重み分布P(w;θ)を推定することに集約される。そうするために、各デモンストレーションiについて、コントローラ106は、MGLMを使用して、重みベクトル
【数52】
を推定する。はじめに、先に導入されたy
tについての等価式が使用され、ここで、
【数53】
は、基底関数の数である。その上さらに、y
t∈S
3を用いてデモンストレーションされた四元数軌道
【数54】
を考察する。次いで、式(3)と同様にユークリッド空間において、重み推定値が、ここでは式(10)の活用によって取得され、次式となる。
【数55】
ここで、φ
tは、時点tにおける基底関数のベクトルであり、Wは、推定された接重みベクトル
【数56】
(すなわち、点p∈Mから現れるN
φ個の接ベクトル)の集合を含んでいる。
【0068】
図3は、配向ProMPの重みの学習に使用した球面多様体S
2上の多変量一般線形回帰を示している。軌道yが与えられれば、接空間T
pMの原点pと、接重みベクトルw
nとが式(15)を介して推定される。
【0069】
式(15)を解くために、pおよび各w
nに関するE(p,w
n)の勾配が計算される。上記で説明したように、これらの勾配は、いわゆる随伴演算子に依存し、大まかに言えば、各誤差項
【数57】
を、
【数58】
を用いて
【数59】
からT
pMにもたらしている。したがって、これらの随伴演算子は、平行移動操作として近似させることができる。これは、式(15)の誤差関数を次のような再定式化に導く。
【数60】
【0070】
次いで、誤差関数E(p,w
n)の近似勾配は次のように対応する。
【数61】
上記の勾配を用いることにより、コントローラ106は、各デモンストレーションiについて、N
φ個のベクトルw
nによって形成されるベクトルp
iと重み行列W
iの両方を推定することができる。各デモンストレーションは、各接重みベクトルw
n∈T
pMを推定するために使用される多様体Mにおける原点を定義するpの異なる推定値につながる可能性があることに留意されたい。これにより、デモンストレーション全体にわたって異なる接空間が生成される可能性があり、したがって、非常に多様な接重みベクトルが生成される可能性がある。この問題を克服する有効な手法は、すべてのデモンストレーションが同じ接空間の原点pを共有していることを想定することであり、これは、測地線基底関数モデル(式(12))を定義するときに行われたのと同じ想定である。したがって、様々な実施形態によれば、コントローラ106は、単一のデモンストレーションについてpを推定し、それを使用して、デモンストレーションの集合全体についてすべての接重みベクトルを推定する。次いで、N個のデモンストレーションの集合が与えられると、重み分布パラメータθ={μ
w,Σ
w}は、
【数62】
として標準最尤法によって推定することができる。
【0071】
N個のデモンストレーションの集合が提供された(例えば、ロボットアーム101を手で動かすことによってユーザから提供された)後にコントローラ106が実行することができる、配向ProMPによるロボット制御モデル112の学習アルゴリズムの一例は、以下のとおりである。
【表3】
【0072】
古典的なProMPと同様に、コントローラ106は、関連する共分散
【数63】
を有する所期の軌道点
【数64】
に到達するように動作を調整することによって、軌道変調(すなわち新たな状況に適合するための、すなわち制御シナリオ)を実行することができる。この結果、式(13)と同様に、異なる多様体上にある2つの確率分布に依存する条件付き確率
【数65】
が得られる。ここで再び、平均μ
yは、単一で固定されたp∈Mに依存し、それが重み分布の存在する接空間T
pMの基底であるということが活用される。これにより、条件付き分布は次のように書き換えることができる。
【数66】
ここで、
【数67】
は、結果としての条件付き分布について推定するためのパラメータである。ここで両分布は、ユークリッド空間に埋め込まれたT
pM上に存在するため、新しい分布パラメータは、共分散行列の平行移動に特別な注意を払いながら古典的なProMP条件付け手順と同様に推定することができる。次いで、新たな重み分布パラメータは、以下のとおりである。
【数68】
【0073】
結果としての新たな重み分布からは、新たな周辺分布P(y;θ*)がここでは式(14)を介して得られる可能性もある。
【0074】
ブレンディングに関して、古典的なProMPは、ガウス分布の積を使用することによって、運動プリミティブの集合をブレンドする。Mにおいてプリミティブをブレンドする場合、各軌道分布は、異なる接空間TpM上にある重みベクトルの集合によってパラメータ化されることを考慮する必要がある。したがって、ガウス分布の加重積を再定式化する必要がある。そうするために、様々な実施形態によれば、リーマン多様体上のガウス積の定式化が使用され、ここで、積の対数尤度は、勾配ベースのアプローチを使用して繰り返し最大化される。
【0075】
形式的には、リーマンガウス分布の積の対数尤度は、以下のように与えられる(定数項は除外する)。
【数69】
ここで、μ
y,sおよびΣ
y,sは、スキルsのための周辺分布P
s(y;θ)のパラメータである。なお、式(20)における対数写像は、異なる接空間
【数70】
に作用することに留意されたい。対数尤度の最大化を実行するために、元の対数尤度関数が変更されないようにしながら、写像の基数と引数とが入れ替えられる。そうするために、Log
x(y)=-Log
y(x)の関係性ならびに平行移動操作をこの問題の克服のために活用することができ、次式となる。
【数71】
ここで、μ
+は、結果としての(推定される)ガウスの平均であり、
【数72】
である。式(21)は、ベクトル
【数73】
とブロック対角行列
【数74】
とを定義することによって書き直すことができる。この結果、Jは、リーマン多様体M上のガウス分布の経験的平均vを計算するために使用される目的関数の形態を有し、
【数75】
そこからは、次のように平均を繰り返し計算することが可能である。
【数76】
ここで、Jは、v
kにおけるMの接空間の基底に関するε(v)のヤコビアンである。コントローラ106は、ここでは平均μ
+の同様の反復推定を以下に示すように実行することができる。
【数77】
ただし、
【数78】
である。反復Kで収束した後、コントローラ106は、分布P(y
+)=N
M(y
+│μ
+,Σ
+)の最終パラメータを以下に示すように取得する。
【数79】
【0076】
上記で説明したように、古典的なProMPでは、重み分布P(w;θ)=N(w│μ
w,Σ
w)を外部タスクパラメータ
【数80】
の関数として適合させることができ、ここでは、各デモンストレーションについて
【数81】
の値にアクセスできると想定される。タスクパラメータ化は、重みベクトル
【数82】
として配向ProMPにも同様に適用され、したがって、式(6)は、タスクパラメータ
【数83】
がユークリッドである限り直接適用することができる。ただし、
【数84】
がリーマン多様体に属する場合は、より一般的なアプローチが必要となる。
【0077】
タスクパラメータ
【数85】
を保持する場合、コントローラ106は、リーマン多様体上のガウス混合モデルを使用して結合確率分布
【数86】
を学習することができる。その後、コントローラ106は、新たなタスクパラメータ
【数87】
が提供された場合、再生中に
【数88】
を計算するためにガウス混合回帰を採用することができる。
【0078】
配向ProMPにおけるモデル学習、軌道再生、通過点適合、およびスキルブレンディング作業のやり方をより良好に説明するために、手書き文字のデータセットが使用された。元の軌道は、
【数89】
において生成され、その後の単位ノルムベクトルへの単純な写像によってS
2へ投影された。データセット中の各文字は、N=8回デモンストレーションされ、主に可視化の目的で、簡単な平滑化フィルタが各軌道に適用された。4つのProMPモデルがトレーニングされ、1つは{G,I,J,S}のセットの各文字用である。IおよびJについてトレーニングされたモデルには、均一に分布した中心を有するN
φ=30個の基底関数が使用され、文字GおよびSについては、N
φ=60個の基底関数が使用された。配向ProMPモデルは、上記で与えられたアルゴリズムに従って、初期学習率α=0.005、対応する上限値α
max=0.03でトレーニングされた。
【0079】
図4は、文字GおよびSに対してトレーニングされたモデルに対応する、デモンストレーションデータ、式(13)を介して計算された周辺分布P(y;θ)、ならびに式(18)および(19)から得られた通過点適合を示している。周辺分布の平均は、デモンストレーションパターンに従い、対応する共分散プロファイルは、S
2におけるデモンストレーションの変動性を捕捉する。文字GおよびSの軌道は、現実的なロボット設定において観察されるものよりもさらに複雑となる可能性のある非常に精巧な「動作」パターンを示しており、その複雑さには注目の価値がある。通過点適合に関しては、共分散
【数90】
が関連付けられたランダム点y
*∈S
2が使用された(すなわち、y
*を通過する際に高精度が要求された)。
【0080】
図4に示すように、配向ProMPは、所与の通過点を正確に通過しながら、軌道と関連する共分散プロファイルとの両方をスムーズに適合させることができる。
【0081】
図5は、{G,I}および{S,J}に対する配向ProMPのブレンディングプロセスを示す。
【0082】
目標は、集合の中の第1の文字のプロファイルを追従することによって始まり、次いで、第2の文字の軌道分布が途中で滑らかに切り替わる軌道を生成することであった。
図5には、前述の2つのケースに対する結果としてのブレンドされた軌道が示されており、ここで、配向ProMPは、所与の2つの軌道分布を上述したように導入された配向ProMPのためのブレンディング手順を追従することによって滑らかにブレンドしている。ブレンディング挙動は、各スキルsに関連付けられた重みα
s∈[0,1]の一時的な発生に強く依存することに留意されたい。この一連の実験では、
【数91】
である間、重み
【数92】
および
【数93】
に対してシグモイド状の関数が使用された。前述の結果は、配向ProMPが、S
2上の軌道分布を正常に学習および再現し、完全な通過点適合およびブレンディング能力を提供することを示している。
【0083】
実験によれば、これは、例えば、以前に掴んだ物体を持ち上げ、エンドエフェクタ104を回転させ、当該物体をその元の場所に戻すが、向きは変えて配置することに相当するような再配向スキルのためのロボット設定においても同様に成り立つことを示している。このロボットスキルは、大きな位置および向きの変更を特徴とし、したがって、配向ProMPの機能性を披露するのに適している。
【0084】
再配向スキルのようなロボットスキルをトレーニングするために、各デモンストレーションは、例えば、フルポーズのロボットエンドエフェクタの軌道
【数94】
を与える。ここで、
【数95】
は、タイムステップtにおけるエンドエフェクタの姿勢を表す。このように、各デモンストレーションは、位置軌道(各々が
【数96】
の要素によって記述される位置の時系列を含む)および配向軌道(各々がS
3の要素によって記述される向きの時系列を含む)をデモンストレーションする。これらの軌道からの生データは、位置に対するサブモデルと向きに対するサブモデルとを含んだ
【数97】
のProMPモデル112をトレーニングするために使用されてもよく、ここでの、位置モデルは、古典的なProMPアプローチを使用して学習され、向きモデルは、配向ProMPアプローチ(例えば上述のアルゴリズム)を使用して学習される。これらのサブモデルの両方については、同じ(例えばN
φ=40個の)基底関数の集合が使用されてもよいが、異なる成分について(位置サブモデルにおける各位置成分および向きサブモデルにおける各向き成分について)使用されてもよい。
【0085】
要約すると、様々な実施形態に従って、本方法は、
図6に示されるように提供される。
【0086】
図6は、ロボットデバイスを制御するための方法を示すフローチャート600を示す。
【0087】
ステップ601では、デモンストレーションがロボットスキルのために提供され、ここで、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、ここで、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述される。
【0088】
ステップ602では、各デモンストレーションされた軌道について、ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現が、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって決定され、ここで、組み合わせは、多様体に写像される。
【0089】
ステップ603では、重みベクトルの確率分布が、デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって決定される。
【0090】
ステップ604では、ロボットデバイスが、重みベクトルの決定された確率分布に従って基本運動を実行することによって制御される。
【0091】
これは、(式(1)に従って)重みベクトルの確率分布からサンプリングし、サンプルベクトルに従って基本運動を実行することを含むことができる。また、(式(14)に従って)軌道の確率分布を導出することも可能であり、そのうちの1つを制御のためにサンプリングすることができ、それらは上記説明のような軌道の混合などの高度な制御に使用されてもよい。
【0092】
図6の方法は、1つ以上のデータ処理ユニットを含む1つ以上のコンピュータによって実行されてもよい。用語「データ処理ユニット」は、データまたは信号の処理を可能にする任意のタイプの項目として理解することができる。例えば、データまたは信号は、データ処理ユニットによって実行される少なくとも1つの(すなわち1つ以上の)特定の機能に従って処理されてもよい。データ処理ユニットは、アナログ回路、デジタル回路、コンポジット信号回路、ロジック回路、マイクロプロセッサ、マイクロコントローラ、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)集積回路、またはそれらの任意の組み合わせを含むことができ、あるいはそれらから形成されてもよい。それぞれの機能を実装する任意の他の手法は、データ処理ユニットまたは論理回路として理解されてもよい。本明細書に詳細に記載される方法ステップのうちの1つ以上は、データ処理ユニットによって実行される1つ以上の特定の機能を通して、データ処理ユニットによって実行(例えば、実装)されてもよいことが理解されるであろう。
【0093】
様々な実施形態は、例えば、デモンストレーションのデータを取得するために、ビデオ、レーダ、LiDAR、超音波、サーマルイメージング、ソナーなどのような、様々な視覚センサ(カメラ)から画像データを受信し、使用することができる。
【0094】
図6のアプローチは、例えば、ロボット、車両、家電製品、電動工具、製造機械、パーソナルアシスタント、またはアクセス制御システムなどのコンピュータ制御された機械のような物理システムを制御するための制御信号を計算するために使用することができる。様々な実施形態によれば、物理システムを制御するためのポリシーが学習され、次いで、この物理システムがそれに応じて操作されてもよい。
【0095】
一実施形態によれば、この方法はコンピュータに実装される。
【0096】
本明細書では、特定の実施形態が示され説明されてきたが、当業者であるならば、図示され説明されてきたこれらの特定の実施形態を、本発明の保護範囲から逸脱することなく様々な代替的および/または等価的な実装形態に入れ替えてもよいことは明らかであろう。本出願では、本明細書で論じられる特定の実施形態の何らかの適合化または変化形態をカバーすることが意図されている。それゆえ、本発明は、本出願の特許請求の範囲および等価物によってのみ限定されることが意図される。
【手続補正書】
【提出日】2022-06-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ロボットデバイスを制御するための方法であって、該方法は、
ロボットスキルのためのデモンストレーションを提供するステップであって、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述されるステップと、
各デモンストレーションされた軌道について、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって、前記ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現を決定するステップであって、前記組み合わせは、前記多様体に写像されるステップと、
前記デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって重みベクトルの確率分布を決定するステップと、
前記重みベクトルの決定された確率分布に従って基本運動を実行することによって前記ロボットデバイスを制御するステップと、を含む、方法。
【請求項2】
前記重みベクトルの確率分布は、前記デモンストレーションされた軌道について決定された重みベクトルにガウス分布を適合させることによって決定される、請求項1記載の方法。
【請求項3】
前記各デモンストレーションされた軌道は、時点の予め定められたシーケンスの各時点に対するロボット構成を含み、重みベクトルに従った基本運動の各組み合わせは、前記時点の予め定められたシーケンスの各時点に対するロボット構成を指定し、前記各デモンストレーションされた軌道について、前記重みベクトルは、可能な重みベクトルの集合から、前記重みベクトルに従った基本運動の組み合わせと、前記デモンストレーションされた軌道とについての重みベクトルを決定することによって決定され、前記組み合わせは、多様体に写像され、前記可能な重みベクトルの集合の中で最小であり、前記多様体に写像された基本運動の組み合わせと、前記デモンストレーションされた軌道との間の距離は、前記時点のシーケンスの時点にわたって、前記多様体に写像されたときの時点における基本運動の組み合わせによって与えられる前記多様体の要素と、前記デモンストレーションされた軌道との間の前記多様体のメトリックの値または値のべき乗を含む各時点についての項を含んだ項にわたる合計によって与えられる、請求項1または2記載の方法。
【請求項4】
前記方法は、前記デモンストレーションされた軌道の1つについて、前記重みベクトルに従った基本運動の組み合わせと、前記デモンストレーションされた軌道との間の距離測定値が最小化されるような、多様体の点および重みベクトルを検索するステップを含み、前記組み合わせは、点における接空間から前記多様体に写像され、前記各デモンストレーションされた軌道について、前記多様体への前記各組み合わせの写像は、選択された点における接空間から前記組み合わせを写像することによって実行される、請求項1または2記載の方法。
【請求項5】
前記軌道は、配向軌道であり、前記各デモンストレーションは、位置軌道をさらにデモンストレーションし、前記各ロボット構成は、三次元空間におけるベクトルによって記述される姿勢と、予め定められた構成空間の要素によって記述される向きとを含む、請求項1または2記載の方法。
【請求項6】
前記方法は、より多くのロボットスキルのデモンストレーションを提供するステップと、各スキルについて、軌道の表現と重みベクトルと重みベクトルの確率分布とを決定するステップと、前記各スキルについて、前記重みベクトルの確率分布から、多様体点のリーマンガウス分布を決定することによって、前記ロボットデバイスを制御するステップと、前記スキルのリーマンガウス分布の積分布を決定するステップと、決定された積確率分布からサンプリングすることによって前記ロボットデバイスを制御するステップと、を含む、請求項1または2記載の方法。
【請求項7】
ロボットデバイスコントローラであって、請求項1または2記載の方法を実行するように構成されている、ロボットデバイスコントローラ。
【請求項8】
コンピュータプログラムであって、命令がプロセッサによって実行されるときに、前記プロセッサに請求項1または2記載の方法を実行させる命令を含んでいる、コンピュータプログラム。
【請求項9】
コンピュータ可読媒体であって、命令がプロセッサによって実行されるときに、前記プロセッサに請求項1または2記載の方法を実行させる命令が格納されている、コンピュータ可読媒体。
【外国語明細書】