(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022078002
(43)【公開日】2022-05-24
(54)【発明の名称】ロボットデバイスを制御するための方法及びロボット制御装置
(51)【国際特許分類】
B25J 9/16 20060101AFI20220517BHJP
【FI】
B25J9/16
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021183865
(22)【出願日】2021-11-11
(31)【優先権主張番号】10 2020 214 231.9
(32)【優先日】2020-11-12
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】アンドラス ガボール クプツィック
(72)【発明者】
【氏名】レオネール ロツォ
(72)【発明者】
【氏名】メン グオ
(72)【発明者】
【氏名】パトリック ケスパー
(72)【発明者】
【氏名】フィリップ クリスティアン シリンガー
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707LS20
3C707LV19
3C707LW03
3C707LW08
3C707LW12
(57)【要約】
【課題】種々の実施形態により、ロボットデバイスを制御するための方法が記載される。
【解決手段】運動スキル及び動作プリミティブから実施すべきシーケンスを有する、ロボットによって実施されるべきタスクのためのフローチャートについて、複合的ロボット軌道モデルが運動スキルのロボット軌道モデルから生成され、ロボットが制御され、その際、フローチャートによる運動スキルの後で、1つ以上の動作プリミティブが次の運動スキルの前に実行される場合、複合的ロボット軌道モデルによるロボットの制御は、運動スキルの実施後に中断され、1つ以上の動作プリミティブが実行された後で、複合的ロボット軌道モデルによるロボットの制御が継続される。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ロボットデバイスを制御するための方法であって、
複数の運動スキルの各々を実施するためのデモンストレーションを提供するステップと、
前記デモンストレーションから各運動スキルのためのロボット軌道モデルを訓練するステップと、
ロボットによって実施されるべきタスクのためのフローチャートを受信するステップであって、前記フローチャートは、前記運動スキル及び動作プリミティブから実施すべきシーケンスを有する、ステップと、
前記動作プリミティブの省略により前記フローチャートから短縮されたフローチャートを特定するステップと、
2つの運動スキルが前記短縮されたフローチャートに従って順次連続して実施されるべき場合に、前記運動スキルのロボット軌道モデルをカスケードすることにより、前記短縮されたフローチャートのための前記運動スキルの前記ロボット軌道モデルから複合的ロボット軌道モデルを生成するステップと、
前記複合的ロボット軌道モデルによって前記ロボットを制御するステップと、
を含み、
前記フローチャートによる運動スキルの後で、1つ以上の動作プリミティブが次の運動スキルの前に実行される場合に、前記複合的ロボット軌道モデルによる前記ロボットの制御は、前記運動スキルの実施後に中断され、1つ以上の動作プリミティブが実行された後で、前記複合的ロボット軌道モデルによる前記ロボットの制御が継続される、方法。
【請求項2】
前記フローチャートにより1つ以上の動作プリミティブが運動スキルの後で実行される場合、前記複合的ロボット軌道モデルにおける、前記運動スキルの前記ロボット軌道モデルの最終状態である状態が識別され、前記ロボットの前記制御において前記複合的ロボット軌道モデルの前記状態に到達したときに、前記複合的ロボット軌道モデルによる前記ロボットの前記制御が中断され、1つ以上の動作プリミティブが実行された後で、前記複合的ロボット軌道モデルによる前記ロボットの前記制御が継続される、請求項1に記載の方法。
【請求項3】
前記ロボット軌道モデルの各運動スキルについて、1つ以上の初期状態と1つ以上の最終状態とを有する隠れ準マルコフモデルであり、
前記方法は、
前記運動スキルの前記ロボット軌道モデルの各初期状態について、前記運動スキルを実行する前のロボットコンフィギュレーションの確率分布を含む、前記デモンストレーションからの前記各運動スキルについての前提条件モデルと、
前記運動スキルの前記ロボット軌道モデルの各最終状態について、前記運動スキルを実行した後のロボットコンフィギュレーションの確率分布を含む、前記各運動スキルについての最終条件モデルと、
を訓練するステップをさらに含み、
前記複合的ロボット軌道モデルは、
-前記2つの運動スキルが短縮されたフローチャートに従って順次連続して実施されるべき場合には、
o前記2つの運動スキルの軌道モデルの前記状態を、前記複合的ロボット軌道モデルに取り込むステップと、
o前記2つの運動スキルの第1の運動スキルの軌道モデルの各最終状態と、前記2つの運動スキルの第2の運動スキルの軌道モデルの各初期状態との間の遷移確率を、前記第1の運動スキルの第1の状態に対する前記第1の運動スキルの最終条件モデルの確率分布と、前記第2の運動スキルの初期状態に対する前記第2の運動スキルの初期モデルの確率分布との間の類似性の関数として計算するステップとによる、
前記運動スキルの前記ロボット軌道モデルをカスケードするステップによって生成され、
-前記2つの運動スキルが前記フローチャートに従って互いに交互に実施されるべき場合には、
o前記2つの運動スキルの軌道モデルの状態を前記複合的ロボット軌道モデルに取り込むステップと、
o前記第1の運動スキルの状態と前記第2の運動スキルの状態との間の遷移確率をゼロに設定するステップとによる、
前記運動スキルの前記ロボット軌道モデルを組み合わせるステップによって生成される、請求項1又は2に記載の方法。
【請求項4】
前記各運動スキルは、前記ロボットによる1つ以上の物体の操作を含み、前記各運動スキルの前記隠れ準マルコフモデルは、前記運動スキルが適用されるロボット及び物体コンフィギュレーションに対応するタスクパラメータを有するタスクパラメータ化された隠れ準マルコフモデルである、請求項1に記載の方法。
【請求項5】
前記方法は、前記各運動スキルのための効果モデルを訓練するステップをさらに含み、前記効果モデルは、前記運動スキルの前記ロボット軌道モデルの各最終状態について、前記ロボット及び/又は物体コンフィギュレーションが前記運動スキルの実行後に、前記運動スキルが適用される初期のロボット及び/又は物体コンフィギュレーションに対してどのように変化したかの確率分布を含み、前記2つの運動スキルがタスク内において順次連続して実施されるべき場合には、前記運動スキルの前記ロボット軌道モデルをカスケードするステップは、前記第2の運動スキルのタスクパラメータ化された隠れ準マルコフモデルを変換するステップを含み、それにより、それらのタスクパラメータは、前記第1の運動スキルの前記効果モデルによって与えられたロボット及び/又は物体コンフィギュレーションに対応するタスクパラメータである、請求項4に記載の方法。
【請求項6】
前記複合的ロボット軌道モデルを生成するステップは、前記ロボット軌道モデル、カスケードされたロボット軌道モデル及び組み合わせられたロボット軌道モデルを繰り返しカスケードするステップと、前記ロボット軌道モデル、前記カスケードされたロボット軌道モデル及び前記組み合わせられたロボット軌道モデルをタスクに従って組み合わせるステップとを含み、それにより、前記複合的ロボット軌道モデルは、全タスクのための軌道モデルである、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
請求項1乃至6のいずれか一項に記載の方法を実施するように構成されているロボット制御装置。
【請求項8】
命令がプロセッサによって実行されるときに、前記プロセッサに請求項1乃至6のいずれか一項に記載の方法を実施させるための命令を含むコンピュータプログラム。
【請求項9】
命令がプロセッサによって実行されるときに、前記プロセッサに請求項1乃至6のいずれか一項に記載の方法を実施させるための命令が記憶されているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットデバイスを制御するための方法及びロボット制御装置に関する。
【背景技術】
【0002】
ロボットによってタスクを実施するために、ユーザは、典型的には、種々の動作の実行を含み得るフローチャートを与える。これらの動作の多くは、ロボットによって提供される、制御状況に適合化させる必要のない「オープングリッパ」などのような動作プリミティブであるものとしてよい。ただし、動作は、ロボットがそれぞれの制御状況に適合化し得ることが望ましいタイプの運動スキルであるものとしてもよい。そのため、例えば、「物体をピックアップする」動作は、物体の初期位置と初期配向とに依存する。
【0003】
そのようなスキルのためにロボット軌道モデルを訓練することができる。例えば、L. Schwenkel、M. Guo及びM. Buergerらによる文献「Optimizing sequences of probabilistic manipulation skills learned from demonstration (Conference on Robot Learning, 2019)」(以下、参考文献[1]とも称する)には、各運動スキルが、種々のシナリオの下において独立して訓練され、何らかの特定のタスクに縛られていない方法が記載されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「Optimizing sequences of probabilistic manipulation skills learned from demonstration (Conference on Robot Learning, 2019)」 L. Schwenkel、M. Guo及びM. Buerger著
【発明の概要】
【発明が解決しようとする課題】
【0005】
ロボット(又は一般的にロボットデバイス)を制御するためのアプローチにおいては、ロボット軌道モデルが学習された動作プリミティブ及び運動スキルの両方を含むフローチャートの効率的な実装を可能にすることが望ましい。
【課題を解決するための手段】
【0006】
種々の実施形態によれば、ロボットデバイスを制御するための方法が提供され、この方法は、複数の運動スキルの各々を実施するためのデモンストレーションを提供するステップと、デモンストレーションから各運動スキルのためのロボット軌道モデルを訓練するステップと、ロボットデバイスによって実施されるべきタスクのためのフローチャートを受信するステップであって、フローチャートは、運動スキル及び動作プリミティブから実施すべきシーケンスを有する、ステップと、動作プリミティブの省略によりフローチャートから短縮されたフローチャートを特定するステップと、2つの運動スキルが短縮されたフローチャートに従って順次連続して実施されるべき場合に、運動スキルのロボット軌道モデルをカスケードすることにより、短縮されたフローチャートのための運動スキルのロボット軌道モデルから複合的ロボット軌道モデルを生成するステップと、複合的ロボット軌道モデルによってロボットを制御するステップとを含み、フローチャートによる運動スキルの後で、1つ以上の動作プリミティブが次の運動スキルの前に実行される場合、複合的ロボット軌道モデルによるロボットの制御は、運動スキルの実施後に中断され、1つ以上の動作プリミティブが実行された後で、複合的ロボット軌道モデルによるロボットの制御が継続される。
【0007】
さらなる実施形態によれば、上述の方法を実施するように構成されたロボット制御装置が提供される。
【0008】
上述したようなロボットデバイスを制御するための方法及びロボット制御装置は、デモンストレーションから学習した運動スキルも動作プリミティブも実行すべきタスクに対してロボットデバイスを効率的に制御することを可能にする。特に、それらの学習したロボット軌道モデルから複合的ロボット軌道モデルが形成される運動スキルが、動作プリミティブによって中断された場合においても、ロボットデバイスを複合的ロボット軌道モデルによって制御することが可能である。
【0009】
以下においては、種々の実施例が与えられる。
【0010】
実施例1は、上述したようなロボットデバイスを制御するための方法である。
【0011】
実施例2は、実施例1による方法であり、フローチャートに従って1つ以上の動作プリミティブが運動スキルに従って実行される場合、複合的ロボット軌道モデルにおける、運動スキルのロボット軌道モデルの最終状態である状態が識別され、ロボットの制御において複合的ロボット軌道モデルの状態に到達したときに、複合的ロボット軌道モデルによるロボットの制御が中断され、1つ以上の動作プリミティブが実行された後で、複合的ロボット軌道モデルによるロボットの制御が継続される。
【0012】
種々の運動スキルのロボット軌道モデルの最終状態に基づき動作プリミティブを挿入することにより、動作プリミティブが制御経過の適正な時点において実行されることが保証される。同様に、ロボットの位置を変更しない動作プリミティブの特性により、後続の運動スキルが複合的ロボット軌道モデルによって実行可能になることが保証される。
【0013】
実施例3は、実施例1又は2による方法であり、ロボット軌道モデルの各運動スキルについて、1つ以上の初期状態と1つ以上の最終状態とを有する隠れ準マルコフモデルであり、この方法は、
運動スキルのロボット軌道モデルの各初期状態について、運動スキルを実行する前のロボットコンフィギュレーションの確率分布を含む、デモンストレーションからの各運動スキルについての前提条件モデルと、
運動スキルのロボット軌道モデルの各最終状態について、運動スキルを実行した後のロボットコンフィギュレーションの確率分布を含む、各運動スキルについての最終条件モデルと、
を訓練するステップをさらに含み、複合的ロボット軌道モデルは、
-2つの運動スキルが短縮されたフローチャートに従って順次連続して実施されるべき場合には、
o2つの運動スキルの軌道モデルの状態を、複合的ロボット軌道モデルに取り込むステップと、
o2つの運動スキルの第1の運動スキルの軌道モデルの各最終状態と、2つの運動スキルの第2の運動スキルの軌道モデルの各初期状態との間の遷移確率を、第1の運動スキルの第1の状態に対する第1の運動スキルの最終条件モデルの確率分布と、第2の運動スキルの初期状態に対する第2の運動スキルの初期モデルの確率分布との間の類似性の関数として計算するステップとによる、
運動スキルのロボット軌道モデルをカスケードするステップによって生成され、
-2つの運動スキルがフローチャートに従って互いに交互に実施されるべき場合には、
o2つの運動スキルの軌道モデルの状態を複合的ロボット軌道モデルに取り込むステップと、
o第1の運動スキルの状態と第2の運動スキルの状態との間の遷移確率をゼロに設定するステップとによる、
運動スキルのロボット軌道モデルを組み合わせるステップによって生成される。
【0014】
これにより、運動スキルのロボット軌道モデルの適正な自動複合化が可能になる。
【0015】
実施例4は、実施例1による方法であり、各運動スキルは、ロボットによる1つ以上の物体の操作を含み、各運動スキルの隠れ準マルコフモデルは、運動スキルが適用されるロボット及び物体コンフィギュレーションに対応するタスクパラメータを有するタスクパラメータ化された隠れ準マルコフモデルである。
【0016】
それにより、種々の実施形態は、1つ以上の物体を取り扱うためのロボットデバイスの効率的な訓練及び効率的な制御を可能にする。
【0017】
実施例5は、実施例4による方法であり、この方法は、各運動スキルのための効果モデルを訓練するステップをさらに含み、この効果モデルは、運動スキルのロボット軌道モデルの各最終状態について、ロボット及び/又は物体コンフィギュレーションが運動スキルの実行後に、運動スキルが適用される初期のロボット及び/又は物体コンフィギュレーションに対してどのように変化したかの確率分布を含み、2つの運動スキルがタスク内において順次連続して実施されるべき場合には、運動スキルのロボット軌道モデルをカスケードするステップは、第2の運動スキルのタスクパラメータ化された隠れ準マルコフモデルを変換するステップを含み、それにより、それらのタスクパラメータは、第1の運動スキルの効果モデルによって与えられたロボット及び/又は物体コンフィギュレーションに対応するタスクパラメータである。
【0018】
それにより、制御軌道が、運動スキルのシーケンスを介して適正に計算されることが保証される。
【0019】
実施例6は、実施例1から5までのいずれか1つによる方法であり、複合的ロボット軌道モデルを生成するステップは、ロボット軌道モデル、カスケードされたロボット軌道モデル及び組み合わせられたロボット軌道モデルを繰り返しカスケードするステップと、ロボット軌道モデル、カスケードされたロボット軌道モデル及び組み合わせられたロボット軌道モデルをタスクに従って組み合わせるステップとを含み、それにより、複合的ロボット軌道モデルは、全タスクのための軌道モデルである。
【0020】
従って、複雑なタスクのための複合的モデルを繰り返し決定することができ、複雑なタスクに対する堅牢性を保証し、分岐条件の複雑な階層を定義する必要性から操作者を解放する。
【0021】
実施例7は、実施例1から6までのいずれか1つによる方法を実施するように構成されたロボット制御装置である。
【0022】
実施例8は、命令がプロセッサによって実行されるときに、プロセッサに実施例1から6までのいずれか1つによる方法を実施させるための命令を含むコンピュータプログラムである。
【0023】
実施例9は、命令がプロセッサによって実行されるときに、プロセッサに実施例1から6までのいずれか1つによる方法を実施させるための命令を記憶しているコンピュータ可読記憶媒体である。
【0024】
図面において、同一の参照符号は、一般に、種々の図面全体を通して同一の部品を表している。これらの図面は、必ずしも縮尺通りではないが、その代わりにここでは、本発明の原理を一般的に表すことに重点が置かれている。以下の明細書においては、種々の態様を以下の図面を参照して説明する。
【図面の簡単な説明】
【0025】
【
図2】運動スキルのシーケンスを伴う操作タスクを示すフローチャートである。
【
図3】一実施形態によるロボットデバイスを制御するための方法を示すフローチャートである。
【
図4】連続して実行されるべき運動スキルのロボット軌道モデルを、複合的ロボット軌道モデルにカスケードするためのカスケード操作を示した図である。
【
図5】分岐において(即ち、代替的に)実行されるべき運動スキルのロボット軌道モデルを、複合的ロボット軌道モデルに組み合わせるための組合せ操作を示した図である。
【
図6】一実施形態によるロボットデバイスを制御するための方法を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下の詳細な説明は、説明のために、本開示の特定の詳細及び本発明を実施することができる態様を示す添付の図面を参照している。また、本発明の保護範囲から逸脱することなく、他の態様を使用したり、構造的、論理的及び電気的な変更を実施したりすることができる。本開示のいくつかの態様は、新たな態様を構成するために本開示の1つ以上の他の態様と組み合わせることができるので、本開示の種々の態様は、必ずしも相互に排他的なものではない。
【0027】
以下においては、種々の例をより詳細に説明する。
【0028】
【0029】
ロボット100は、ロボットアーム101、例えば、ワーク(又は1つ以上の他の物体)を操作したり、取り付けたりするための産業用ロボットアームを含む。このロボットアーム101は、マニピュレータ102,103,104と、これらのマニピュレータ102,103,104が支持されている基台(又は支持台)105とを含む。「マニピュレータ」という用語は、それらの操作が例えばタスクを実行するために周辺環境との物理的な相互作用を可能にするロボットアーム101の可動要素に関連する。制御のために、ロボット100は、周辺環境との相互作用を制御プログラムに従って実施するように構成された(ロボット)制御装置106を含む。マニピュレータ102,103,104の最後の要素104(支持台105から最も遠い)は、エンドエフェクタ104とも称され、例えば、溶接トーチ、把持具、塗装具などの1つ以上のツールを含み得る。
【0030】
(支持台105に近い)他のマニピュレータ102,103は、位置決め装置を構成し得るものであり、それにより、エンドエフェクタ104と合わせて、ロボットアーム101は、その端部にエンドエフェクタ104を備えている。ロボットアーム101は、(場合によってはその手先に工具を持った)人間の腕と同様の機能を満たすことができる機械的なアームである。
【0031】
ロボットアーム101は、マニピュレータ102,103,104を相互に接続し、さらに支持台105に接続する関節要素107,108,109を含み得る。関節要素107,108,109は、1つ以上の関節を含み得るものであり、それらの各々は、関連するマニピュレータの相互に対する回転可能な運動(即ち、回転運動)及び/又は並進運動(即ち、シフト)を提供することができる。マニピュレータ102,103,104の運動は、制御装置106によって制御されるアクチュエータを用いて開始することができる。
【0032】
「アクチュエータ」という用語は、駆動されることに応じて機構やプロセスに作用を与えるように設計されたコンポーネントとして理解することができる。アクチュエータは、制御装置106によって出力された命令(いわゆる起動)を機械的な運動に置き換えることができる。例えば、電気機械式変換器などのアクチュエータは、その起動に応じて電気エネルギーを機械エネルギーに変換するように構成されるものとしてもよい。
【0033】
「制御装置」という用語は、エンティティを実装する何らかのタイプの論理回路として理解することができ、これは、例えば、記憶媒体に記憶されたソフトウェアを実行し得る回路及び/又はプロセッサ、ファームウェア、又は、それらの組合せを含み得るものであり、例えば、本例においては、アクチュエータに命令を出力することができる。制御装置は、例えば、ロボット装置の動作を制御するためにプログラムコード(例えば、ソフトウェア)によって構成されるものとしてもよい。
【0034】
本例においては、制御装置106は、1つ以上のプロセッサ110と、コード及びデータを格納したメモリ111とを含み、これらのコード及びデータに基づいて、プロセッサ110はロボットアーム101を制御する。種々の実施形態によれば、制御装置106は、メモリ111に格納された統計モデル112に基づいて、ロボットアーム101を制御する。ロボット100は、例えば、物体113を操作するものである。
【0035】
各時点において、ロボットアーム101と、操作すべき物体113(又はその他の物体)とからなるシステム全体は、位置、向き、エンドエフェクタ状態(グリッパの開閉)などに関して特定の状態にある。システム、ロボット又は物体のこの状態は、制御時に現れる統計モデルの状態との混同を回避するために、以下においては「(システム/ロボット/オブジェクト)コンフィギュレーション」と称する。
【0036】
ロボット100は、タスクを実行することを学習したり、人間のパートナーと協働することを学習したりするために、デモンストレーションから学習する方法(LfD)を利用することができる。人間のデモンストレーションは、ロボットのためのタスクの基準プランを表す確率論モデル112(統計モデルとも称される)によって符号化することができる。引き続き、制御装置106は、所望のロボットの運動を、場合によっては、人間のパートナーと周辺環境の両方のコンフィギュレーションの関数として生成するために、ロボット軌道モデルとも称される統計モデル112を使用することができる。
【0037】
LfDの基本的考察は、例えばGMMのような予め定められた運動スキルモデルを、複数のデモンストレーションに適合化させることにある。M個のデモンストレーションが存在すると仮定するならば、それらの各々は、N=Σ
mT
mの総観測量
【数1】
のデータセットに対してT
mのデータ点を含む。ただし、
【数2】
である。また、同様のデモンストレーションがP個の種々の座標系(タスクパラメータによって与えられる対象物体の局所的座標系や参照フレームなど)の観点から記録されることも想定される。そのようなデータを得るための通常の方法は、静的なグローバル参照フレームから参照フレームpへのデモンストレーションを、以下の式、
【数3】
によって変換することにある。ここで、
【数4】
は、グローバル座標系(即ち、グローバル参照フレーム)に関する(局所的)参照フレームpの並進及び回転である。従って、TP-GMMは、モデルパラメータ
【数5】
によって記述される、ここで、Kは、混合モデル内のガウス成分の数であり、π
kは、各成分の事前確率であり、
【数6】
は、参照フレームp内のk番目のガウス成分のパラメータである。
【0038】
標準的なGMMとは異なり、上記の混合モデルは、各参照フレームに対して独立して学習することはできない。実際、混合係数πkは、すべての参照フレームによって分けられ、参照フレームpのk番目の成分は、グローバル参照フレームの対応するk番目の成分にマッピングされなければならない。期待値最大化(EM)は、そのようなモデルを学習するために確立された手法である。
【0039】
それが学習されるとただちに、TP-GMMは、実行中に学習した運動スキルのための軌道を再現するために使用することができる。詳細には、観測された参照フレーム
【数7】
を考慮して、学習したTP-GMMは、以下のように、異なる参照フレーム上においてアフィン変換されたガウス成分を乗算することにより、パラメータ
【数8】
を有する単一のGMMに変換される。即ち、
【数9】
ここで、各参照フレームpにおける更新されたガウスベルのパラメータは、次のように計算される。即ち、
【数10】
タスクのパラメータは、時間に関して変化する可能性があるが、表記上、時間指標は省略している。
【0040】
隠れ準マルコフモデル(HSMM)は、標準的な隠れマルコフモデル(HMM)を、基礎となる確率過程の時間情報の埋め込みによって拡張したものである。即ち、HMMにおいては、基礎となる隠れプロセスがマルコフと想定される、即ち、次の状態への遷移確率は現在の状態にのみ依存すると想定されるが、HSMMにおいては、状態プロセスが準マルコフであると想定される。このことは、次の状態への遷移が現在の状態だけでなく、その状態になってからの経過時間にも依存することを意味する。これらは、デモンストレーションの時空間的特徴を学習するために、ロボット運動スキル符号化のためのTP-GMMとの組合せに適用することができる。タスクパラメータ化されたHSMMモデル(TP-HSMMモデル)は次のように定義される。即ち、
【数11】
ここで、a
hkは、状態hからkへの遷移確率であり、
【数12】
は、状態kの持続時間についてのガウス分布、即ち、特定の数の順次連続したステップの間、状態kに留まる確率を記述し、
【数13】
は、先に述べたTP-GMMと同様に、状態kに対応する観測確率を表している。ここでは、状態数が、「連結された」TP-GMMにおけるガウス成分の数を表していることに留意されたい。
【0041】
観測されたデータ点
【数14】
の特定の(部分的な)シーケンスを考慮して、Θの関連する状態シーケンスは、s
t=s
1s
2…s
tによって与えられると仮定する必要がある。データ点ξ
tが状態kに属する確率(即ち、s
t=k)は、順方向変数
【数15】
によって与えられる。即ち、
【数16】
ここで、
【数17】
は放出確率であり、
【数18】
は、タスクパラメータを考慮して式(1)から導出される。さらに、T
mまでの将来のステップを予測するために、再現中は同一の順方向変数を使用することもできる。
【0042】
しかしながら、この場合、将来の観測値は利用することができないため、遷移及び持続時間情報のみが使用される。即ち、式(2)においてすべてのk及びl>tに対して
【数19】
と設定する。最後に、最尤状態シーケンス
【数20】
が、
【数21】
の選択によって決定される。
【0043】
ここで、ロボット状態の所望の最終観測が、ξ
Tとして与えられると仮定するならば、この場合、Tは、運動スキルの計画対象期間(例えば、デモンストレーションの平均的な長さ)である。その上さらに、ロボットの初期状態は、ξ
1として観測される。学習したモデルΘaを考慮した運動スキルの実行(運動スキル再現)に対しては、ξ
1及びξ
Tのみを考慮した最尤状態シーケンス
【数22】
のみが構築される。
【0044】
順方向変数を使用した再現は、この場合、直接行うことはできない。なぜなら、式(2)の順方向変数は、境界の最尤状態のシーケンスを計算するのに対して、ここで望まれるのは、ξ
1及びξ
Tを考慮した共通の最尤状態シーケンスだからである。従って、式(2)を使用する場合、返されるシーケンス
【数23】
が、デモンストレーションの時空間パターンと最終観測値の両方に対応するという保証はない。物体をピックアップする例に関しては、所望の最終コンフィギュレーションが、物体の上面にエンドエフェクタが存在することであっても、「側方からのピックアップ」に対応する最尤シーケンスを返すことができる。
【0045】
この問題を克服するために、一実施形態によれば、ビタビアルゴリズムの修正が使用される。古典的なビタビアルゴリズムは、HMMにおいて、観測された事象の所与の流れにつながる最尤状態シーケンス(ビタビパスとも称される)を見出すために使用することができる。一実施形態によれば、主に2つの観点、即ち、(a)HMMではなくHSMMにおいて動作することと、さらに重要なこととして(b)最初と最後を除くほとんどの観測値が欠落していることとによって、それとは異なる方法が使用される。特に、観測がない場合、ビタビアルゴリズムは以下のようになる。即ち、
【数24】
ここで、
【数25】
は、状態jの持続確率であり、δ
t(j)は、システムが時点tで状態jにあり、t+1で状態jにない確率であり、さらに、
【数26】
ここで、
【数27】
は、ξ
tを考慮した式(1)のΘ
aにおけるグローバルガウス成分jである。詳細には、各時点t及び各状態jについて、式δ
t(j)を最大化する2つの引数が記録され、最尤状態シーケンス
【数28】
を見出すために、単純なトレースバック手順が使用される。換言すれば、上記のアルゴリズムは、ξ
1を起点として、最終的な観測値ξ
Tが生じる運動スキルaについての最尤シーケンス
【数29】
を導出する。
【0046】
ロボットのタスク空間が、エンドエフェクタの時間的に変化する姿勢(位置及び向き)によって表される場合、古典的なユークリッドに基づく手法は、そのようなデータの処理には適していない。それゆえ、種々の実施形態によれば、ロボットタスク空間は、リーマン多様体Mを備えている。多様体Mにおける各点xには、接線空間TxMが存在する。これにより、多様体の制約との幾何学的一貫性を保ちながらユークリッド演算を局所的に実行することができる。
【0047】
指数写像及び対数写像は、T
xMとMとの間の点をマッピングするために使用することができる。指数写像Exp
x:T
xM→Mは、点xの接線空間内の点を、測地線距離を維持したまま多様体上の点にマッピングする。その逆の演算は、対数写像Log
x:M→T
xMと称する。他の有用な演算には、平行移動
【数30】
があり、これは、要素を接線空間の間において歪みを生じさせることなく移動させるものである。上述した演算の正確な形態は、多様体に割り当てられるリーマンメトリックに依存する。種々の実施形態によれば、リーマン多様体は、観測された運動のパターンを符号化し、タスクプラン(例えば、順次連続する運動スキル)に対応する制御動作を最適なリーマン制御装置を使用して呼び出すリーマン正規分布を使用してMに関する統計量を適正に計算するために使用される。
【0048】
以下の説明においては、例として複数の自由度を有するロボットアーム101を観測する。このロボットアーム101のエンドエフェクタ104は、以下の状態
【数31】
(これはカルテシアン位置、オリエンテーションクオータニオン、グリッパコンフィギュレーションを記述する)を有し、静的で既知の作業空間内において動作する。アーム101の到達範囲内には、O={o
1,o
2,…o
J}により表される対象物体も存在し、これらの各々は、以下のコンフィギュレーション
【数32】
を有している。簡単化のために、システム全体のコンフィギュレーションを、
【数33】
により表す。
【0049】
そのようなシナリオにおいては、人間のユーザは、特定の運動スキルに従って1つ以上の物体を操作するために、アームに対して複数の運動的デモンストレーションを実施する。デモンストレーションされた運動スキルセットは、A={a1,a2,…aH}により表される。その上さらに、運動スキルa∈Aについて、関係する物体のセットはOaによって与えられ、利用可能なデモンストレーションのセットはDaにより表す。すべてのデモンストレーションは、上記で述べた物体固定構造に従っていることに留意すべきであり、即ち、それらは通常Oaの物体に割り当てられた複数の参照フレームに対して(即ち、複数の参照フレームの観点から)記録され、これは、多くの場合、作業空間内の物体の姿勢を表す。「ジャーナルをシリンダに挿入する」という運動スキルには、例えば、物体「ジャーナル」と「シリンダ」とが含まれ、関連するデモンストレーションにおいては、ロボット参照フレーム、「ジャーナル」参照フレームも、「シリンダ」参照フレームも記録される。
【0050】
以下において観測する(操作)タスクは、デモンストレーションされた運動スキルAから選択された運動スキルのシーケンスa*からなる。挿入タスクには、例えば、「キャップのピックアップ、キャップの向きの変更、キャップの新たなピックアップ及びキャップの挿入」などが含まれる。タスクの最後においては、ロボット及び物体を含めたシステムの所望の最終コンフィギュレーションとしての目標コンフィギュレーションGに到達する。
【0051】
工場で操作タスクを整理する手法では、ダイアグラムやフローチャートを介するのが一般的である。それらは通常、GUI(グラフィカルユーザインタフェース)の中においてドラッグ&ドロップを介して定義される。
【0052】
図2は、運動スキルを用いた操作タスクを順次連続して示したフローチャート(又はタスクダイアグラム)200である。
【0053】
操作タスクは、一連の運動スキル201乃至209からなり、この場合、各スキルは、上述したようなデモンストレーションから学習した運動スキルa∈A、即ち、HSMMで学習した運動スキルであり、又は、予め定められた動作プリミティブ(例えば、グリッパ命令)である。例えば、操作タスクは、キャップを差し込むためのタスクであり、以下のもの、即ち、
-キャップを位置特定する(動作プリミティブ)201
-グリッパをピックアップ位置に運ぶ(運動スキル)202
-グリッパを閉じる(動作プリミティブ)203
-グリッパ(ひいてはキャップ)の向きを変更する(運動スキル)204
-グリッパを開く(動作プリミティブ)205
-グリッパを再びピックアップ位置に運ぶ(運動スキル)206
-グリッパを閉じる(動作プリミティブ)207
-キャップを挿入する(運動スキル)208
-グリッパを開く(動作プリミティブ)209
を含む。
【0054】
グリッパを閉じる動作203,207、グリッパを開く動作205,209、及び、キャップを位置特定する動作201は、例えば6Dポーズ推定(キャップを位置特定する201)を含む予め定められた動作プリミティブであり、それに対して、他の動作は、上述したモデルのようにデモンストレーションから学習する学習型運動スキルである。
【0055】
フローチャートは、分岐を有する可能性もある。例えば、「物体を上からピックアップするための位置にグリッパを運ぶ」、「物体を左からピックアップするための位置にグリッパを運ぶ」又は「物体を右からピックアップするための位置にグリッパを運ぶ」といった運動スキルは、物体の初期コンフィギュレーションに依存して実行することができる。この意味においては、フローチャートは、種々の分岐から生じる(従って、どの分岐条件がそれぞれの制御状況を満たしているかに基づいて)、実施すべき運動スキル及び動作プリミティブの複数のシーケンスを示すことができる。
【0056】
このことは、ロボットが、運動スキルのセット(事前プログラミングされた動作プリミティブやデモンストレーションを通じて学習した運動スキル)を事前にインストールすることができることを意味し、特定の操作タスクについては、操作者がマニュアル(手動)により、当該タスクの実施を説明するダイアグラム(例えば、
図2のフローチャートなど)を構築する。その場合、これらのモジュールは、学習した運動スキルのセットや動作プリミティブである。
【0057】
図3は、一実施形態によるロボットデバイスを制御するための方法を表すフローチャートを示している。
【0058】
301においては、運動スキルのデモンストレーションが実施される。
【0059】
これらの運動スキルには、少なくとも、フローチャート303によって与えられたタスクの実行のために必要とされる運動スキルが含まれる。フローチャート303は、
図2を参照して上述したように、運動スキルに加えて動作プリミティブも有している。
【0060】
前述したように、デモンストレーションされた運動スキルa∈Aについては、利用可能なデモンストレーションのセットが、P個の参照フレームに記録されている以下の式
【数34】
によって与えられる。そのような参照フレームは、O
aの物体に直接結びついている点に留意されたい。
【0061】
302においては、ロボット軌道モデル(「ロボット挙動モデル」とも称される)が、各運動スキルについて学習される。
【0062】
上述したように、例えば、適正に選択されたコンポーネントの数Kを考慮して、運動スキルaに関する軌道の時空間的特徴を抽象化するTP-HSMMモデルΘaは、EM(期待値最大化)タイプによるアルゴリズムを使用して学習することができる。
【0063】
304においては、複合的ロボット軌道モデルが、302で学習したロボット軌道モデルから生成される。
【0064】
この目的のために、304においては、(動作プリミティブを除く)運動スキルが、フローチャートから取り出されている。
図2の例においては、このことは、複合的ロボット軌道モデルが、以下の運動スキルのシーケンス、即ち、
-グリッパをピックアップ位置に運ぶ202
-グリッパの向きを変更する204
-グリッパを再びピックアップ位置に運ぶ206
-キャップを挿入する(運動スキル)208
について生成されることを意味する。
【0065】
種々の運動スキルの軌道モデルから複合的ロボット軌道モデルを生成することができるようにするために、各運動スキルについての学習には、軌道モデルの学習の他に、さらに前提条件モデル、最終条件モデル及び効果モデルの学習も含まれる。これらのモデルを使用して、複合的ロボット軌道モデル305は、フローチャート303によって確定されたタスクの運動部分(即ち、動作プリミティブを除く運動スキルのシーケンス)について構築される。明確に言えば、前提条件モデルは、運動スキルを実行する前のシステムがいかにあるべきかをカプセル化したものであり、それに対して、効果モデル及び最終条件モデルは、運動スキルを実行した後のシステムがいかに変更されるべきかをカプセル化したものである。これらのモデルは、複合的ロボット軌道モデルを計算するための重要な部分である。なぜなら、それらは、運動スキル間の互換性を測定し、システムコンフィギュレーション(即ち、ロボット及び関与する物体のコンフィギュレーション)の進化に追従するからである。なお、「運動スキルモデル」という用語は、それぞれの運動スキルについてのロボット軌道モデル、前提条件モデル、最終条件モデル及び効果モデルを含むという解釈が可能である点に留意されたい。
【0066】
図2を参照して説明したように、タスクは、運動スキルを分岐して(即ち、交互に)実行すること、及び、順次連続して実行することを含み得る。
【0067】
従って、複合的モデルの生成は、運動スキルを順次連続して組み合わせる組合せ演算と、運動スキルを並列に組み合わせる演算とを再帰的に適用することを含む。
【0068】
図4は、順次連続して実行されるべき運動スキル401,402,403のロボット軌道モデルを、複合的ロボット軌道モデル404にカスケードするためのカスケード演算を示している。
【0069】
図5は、分岐して(即ち、交互に)実行されるべき運動スキル501,502,503,504のロボット軌道モデルを、複合的ロボット軌道モデル505に組み合わせるための組合せ演算を示している。
【0070】
図4に示されるように、運動スキルのシーケンスをカスケードするための組合せ演算は、順次連続して実行されるべき2つの運動スキルをカスケードするための演算の1つ以上の適用を含む。同様に、
図5に示されるように、運動スキルのシーケンスを組み合わせるための組合せ演算は、分岐して実行されるべき2つの運動スキルを組み合わせるための演算の1つ以上の適用を含む。
【0071】
順次連続して実行されるべき2つの運動スキルの組合せについては、2つの運動スキルの軌道モデルが、以下のように複合的軌道モデルにカスケードされる。
【0072】
順次連続した2つの運動スキルの2つのTP-HSMM
【数35】
及び
【数36】
を考慮して、それらを
【数37】
にカスケードするための演算はアルゴリズム1に要約されている。
【0073】
【0074】
アルゴリズム1の3行目の計算及び4行目の更新は、以下において与えられる式(4)又は式(5)に従って実施することができる点に留意されたい。
【0075】
重要な認識は、同一のモデル
【数39】
は、当該モデル
【数40】
がカスケードされるモデル
【数41】
の最終成分(即ち、HSMMの状態)に依存して異なって更新されることに見出すことができる。この根拠は、各最終成分が、a
1の実行後に
【数42】
のタスクパラメータの種々の変換を符号化することにあり、このことも、
【数43】
の成分を更新する種々の方法につながる。従って、複合的モデル
【数44】
は、K
1+K
1,f・K
2のサイズを有し、ここで、K
1及びK
2は、
【数45】
又は
【数46】
の成分の数であり、それに対して、K
1,fは、
【数47】
の最終成分の数である。特に、アルゴリズム2は、2つの主要な演算からなる。即ち、
(a)
【数48】
の各最終成分から
【数49】
の各初期成分への遷移確率を計算すること、
(b)
【数50】
がカスケードされた
【数51】
の各最終成分について、
【数52】
の全成分を変更することからなる。
【0076】
一実施形態によれば、文献[1]に記載されているように前提条件モデルと効果モデルとが使用される。特に、
【数53】
により表される学習した前提条件モデルは、初期ロボットコンフィギュレーション(例えば、ロボットの初期位置及び/又は姿勢)に対するTP-GMM、即ち、
【数54】
を含み、ここで、P
1,aは、初期システムコンフィギュレーション(即ち、ロボット及び/又は物体の初期コンフィギュレーション(例えば、位置及び/又は姿勢)から導出されるタスクパラメータの選択されたセットである。その他に、本明細書においては、
【数55】
により表され、
【数56】
と同様の方法により学習されるが、最終的なコンフィギュレーションについての最終条件モデル、即ち、
【数57】
が導入され、ここで、P
T,aは、最終システムコンフィギュレーションから導出された参照フレームの選択されたセットである。簡単に言うと、
【数58】
は、運動スキルaを実行する前の初期コンフィギュレーションをモデル化し、それに対して、
【数59】
は、その後の最終コンフィギュレーションをモデル化する。
さらに、
【数60】
により表される学習した効果モデルは、予測された最終システムコンフィギュレーションに対するTP-GMM、即ち、
【数61】
を含み、ここで、P
1,aは、
【数62】
で定義されている。これらの3つのモデルは、
【数63】
のタスクパラメータが(aの実行後の)最終システムコンフィギュレーションから計算されるのに対して、
【数64】
及び
【数65】
のタスクパラメータは、(aの実行前の)初期システムコンフィギュレーションから抽出される点において異なっている。ここでは、
【数66】
と記述される。
【0077】
次いで、
【数67】
の最終成分k
fから
【数68】
の初期成分k
iへの遷移確率は以下のとおりである。即ち、
【数69】
ここで、KL(・||・)は、KLダイバージェンス(Kullback-Leibler divergence)であり、
【数70】
は、参照フレームpの成分k
fに対応付けられたGMMであり、
【数71】
は、参照フレームpの成分k
iに対応付けられたGMMであり、
【数72】
は、これらの2つのモデルによって分けられ、常にグローバルな参照フレームを追加することにより、強制的に空でない状態にすることができる共通の参照フレームのセットである。このプロセスは、
【数73】
の最終成分及び
【数74】
の初期成分のすべての対について繰り返される。なお、
【数75】
の何らかの最終成分の初期確率は、正規化されるべきである点に留意されたい。
【0078】
【数76】
の最終成分k
fを考慮して、
【数77】
の各成分kは、以下のようにアフィン変換されるべきである。
【数78】
ここで、演算
【数79】
は、式(1)と同様の演算として定義され、
【数80】
は、
【数81】
の平均値から算出されるタスクパラメータであり、ここで、oは、
【数82】
の古い参照フレームpに対応付けられた物体であり、
【数83】
は、
【数84】
の新しい参照フレームである。参照フレームの変更は、
【数85】
のすべての成分を、
【数86】
の初期システムコンフィギュレーションを考慮して直接計算するために重要である点に留意されたい。
【数87】
の各成分についても、
【数88】
に基づく参照フレームの変更により同様のプロセスが適用される。
【0079】
最後に、アルゴリズム1により示されるように、
【数89】
の他のモデルパラメータ、例えば、持続確率、初期分布、最終分布などは、
【数90】
及び
【数91】
をわずかに変更するだけで簡単に確定される。
【数92】
の持続確率は、例えば、k
f個の複数のコピーに複製され、初期分布
【数93】
はゼロに設定される。なぜなら、
【数94】
の初期状態は、第1のモデルの状態
【数95】
に対応しているからである。
【数96】
の最終成分は、除去される。なぜなら、
【数97】
の最終状態が、ここでは、その複数の事例で更新された
【数98】
の最終成分だからである。
【0080】
並列に実行されるべき2つの運動スキルの組合せにおいては、2つの運動スキルの軌道モデルが、以下のように複合的軌道モデルに組み合わせられる。
【0081】
2つの運動スキルの2つのTP-HSMM
【数99】
及び
【数100】
は、並列に観測されるべきであり、それらを
【数101】
に組み合わせるための演算はアルゴリズム2に要約されている。
【0082】
【0083】
アルゴリズム2は、2つの部分からなり、一方は、複合的TP-HSMMモデル
【数103】
を計算する部分であり、他方は、複合的TPGMMモデル
【数104】
を計算する部分である。第1の最も重要なステップは、Θ
2の成分インデックスをΘ
1の成分の総数によって更新することである。これにより、同一のインデックスを有する種々の運動スキルの複数の成分が回避される。その後は、関連するTPGMMモデル、持続モデル、前提条件モデル及び効果モデルのすべてを相応に更新する必要がある。最後に、複合的遷移マトリックス{a
kh}が計算される場合、Θ
1の{a
kh}
1及びΘ
2の{a
kh}
2は、対角的に{a
kh}に付加され、それに対して、残余の項目はゼロで埋められる。これは、Θ
1からΘ
2への遷移が並列にまとめられる(即ち、順次連続してではない)ため、Θ
1からΘ
2への追加の遷移が付加されないことを意味する。
【0084】
要約すれば、304における複合的モデルの生成は、2つの運動スキルの以下の動作を繰り返し適用することを含む。即ち、
1)演算1(運動スキルを順次連続してカスケードする):
(
図4に示されているように)「運動スキル#1」と「運動スキル#2」とが順次連続して接続している場合、アルゴリズム1に従って複合的運動スキルモデルを計算する。
2)演算2(運動スキルを分岐して組み合わせる):
(
図5に示されているように)「運動スキル#1」と「運動スキル#2」とが並列に接続されている場合、アルゴリズム2に従って複合的運動スキルモデルを計算する。
【0085】
特に、これらの2つの演算は以下のように繰り返し実施される。即ち、
A)複合的運動スキルを各ブランチについて導出するために、タスクダイアグラム303内の各分岐又はサブ分岐について、演算1を再帰的に適用する。
B)複合的運動スキルをすべての分岐について導出するために、並列なすべての分岐について、演算2を再帰的に適用する。Aによれば、各分岐は、1つの複合的運動スキルのみを有すべきであることに留意すべきである。
C)すべての運動スキルのシーケンスにAを再帰的に適用し、すべての運動スキル分岐にBを再帰的に適用する。
【0086】
複合的ロボット軌道モデル305が生成された場合、フローチャート303によって定義されたタスクについて、所与の状況306(例えば、システムの初期コンフィギュレーションなど)で実行することができる。
【0087】
この目的のために、ロボット制御装置は、所与の状況306における初期システムコンフィギュレーションを考慮し、例えば、式(3)を複合的ロボット軌道モデル305に適用することにより、複合的ロボット軌道モデル305内部で最尤状態シーケンス307(即ち、GMM成分)、即ち、(ロボット及び物体を含めた)システムを最大確率で目標コンフィギュレーションにもたらす状態シーケンスを決定する。
【0088】
また、状態シーケンス307の決定は、所与の状況306下において実行する必要のある運動スキルのシーケンスも供給する。このことは、フローチャート303内に複数の分岐が存在し、そのために制御装置が種々の分岐を選択する必要がある場合に重要である。
【0089】
状態シーケンス307から、制御装置は、追従すべきロボット運動軌道308を求める。制御装置は、例えば、最適な軌道を求めるために、線形二次追従(LQT)を使用することができる。
【0090】
制御装置106が、ロボットアーム101をロボット運動軌道308に従って制御する場合、制御装置106は、矢印309により示すように、制御経過においてフローチャート303に従って実行される動作プリミティブを組み込む。
【0091】
この目的のために、動作プリミティブが運動スキルに従って実行される場合には、運動スキルが最終状態である状態、即ち、運動スキルのロボット軌道モデルの最終状態が、状態シーケンス307において識別される。この状態に達すると、状態シーケンス307による制御は中断され、動作プリミティブ(又は複数の動作プリミティブが運動スキルの後に実行される場合には複数の動作プリミティブ)が実行された後で、状態シーケンスによる制御が再開される。
【0092】
種々の実施形態に従って要約すれば、
図6に示されるような方法が提供される。
【0093】
図6は、一実施形態によるロボットデバイスを制御するための方法を表すフローチャート600を示している。
【0094】
601においては、複数の運動スキルの各々を実施するためのデモンストレーションが提供される。
【0095】
602においては、デモンストレーションからの各運動スキルについて、ロボット軌道モデルを訓練する。
【0096】
603においては、ロボットデバイスによって実施されるべきタスクのためのフローチャートが受信され、フローチャートは、運動スキル及び動作プリミティブから実施すべきシーケンスを有する。
【0097】
604においては、動作プリミティブの省略によりフローチャートから短縮されたフローチャートが生成される。
【0098】
605においては、2つの運動スキルが短縮されたフローチャートに従って順次連続して実施されるべき場合に、運動スキルのロボット軌道モデルをカスケードすることにより、短縮されたフローチャートのための運動スキルのロボット軌道モデルから複合的ロボット軌道モデルが生成される。
【0099】
606においては、ロボットデバイスが複合的ロボット軌道モデルによって制御され、フローチャートによる運動スキルの後で、1つ以上の動作プリミティブが次の運動スキルの前に実行される場合に、複合的ロボット軌道モデルによるロボットの制御は、運動スキルの実施後に中断され、1つ以上の動作プリミティブが実行された後で、複合的ロボット軌道モデルによる前記ロボットの制御が継続される。
【0100】
種々の実施形態によれば、換言すれば、ロボット装置によって実施される操作タスクのためのフローチャートから運動スキルが抽出され、それに対して複合的運動モデルが生成される。次いで、ロボットデバイスは、複合的運動モデルに基づいて制御され、制御の適正な箇所において動作が実行される。
【0101】
動作プリミティブは、基本的動作として理解することができる。即ち、ロボットデバイスが、例えば、デモンストレーションから学び取る必要性なしで掌握し得る動作の基礎を意味するものと理解することができる。特に、それは、各制御状況に適合化させる必要のない動作であるものとしてもよい。例えば、エンドエフェクタの起動(例えば、グリッパの開放、グリッパの閉鎖など)、ロボットの作業領域内の物体の認識、又は、ロボット制御のパラメータの変更(例えば、コンプライアンス)などである。その上さらに、動作プリミティブは、エンドエフェクタの位置及び向きを変更しなくてもよいという特性を有し、そのため、計算されたロボット軌道は、その後も引き続き有効であり、継続することができる。
【0102】
種々の実施形態によれば、ロボットデバイスのためのモデルは、複数の運動スキルについて訓練され、これらの運動スキルの複数の実行が分岐又は順次連続して含まれるタスクが実行されるべき場合には、モデルが複合的モデルにカスケードされ及び/又は組み合わせられる。次いで、この複合的モデルは、あたかも単一の運動スキルのためのモデルのように、例えば、タスクに対する最適な状態シーケンス(及びタスクが実行されるべきロボットデバイス及び物体の初期コンフィギュレーション)を決定し、それに応じてロボット装置を制御することによって、ロボットの制御のために使用することができる。
【0103】
図6の方法は、1つ以上のデータ処理ユニットを有する1つ以上のコンピュータによって実施され得る。「データ処理ユニット」という用語は、データや信号の処理を可能にする何らかのタイプのエンティティを意味するものと理解することができる。これらのデータや信号は、例えば、データ処理ユニットによって実施される少なくとも1つの(即ち、1つ以上の)特定の機能に従って処理可能である。データ処理ユニットは、アナログ回路、デジタル回路、複合信号回路、論理回路、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)の集積回路、又は、それらの組合せを含むものとしてもよいし、又は、それらから構成されるものとしてもよい。また、以下においてより詳細に説明する各機能を実現するための何らかの他の手法も、データ処理ユニットや論理回路ユニットとして理解することができる。もちろん、本明細書において詳細に説明されている1つ以上のプロセスステップは、データ処理ユニットによって実施される1つ以上の特定の機能を通じて、データ処理ユニットによって実行(例えば、実装)することができる。
【0104】
「ロボットデバイス」という用語は、例えば、コンピュータ制御された機械、車両、家電製品、電動ツール、製造機械、パーソナルアシスタント、又は、入退室管理システムなど(それらの動作が制御される機械部品を有する)何らかの物理的システムを指すものと理解することができる。
【0105】
種々の実施形態は、システム(ロボットデバイスや1つ以上の物体)のデモンストレーションや状態、コンフィギュレーション、及び、シナリオに関するセンサデータを取得するために、種々のセンサ、例えば、ビデオ、レーダ、LiDAR、超音波、モーション、サーマルイメージングセンサなどからのセンサ信号を受信して使用することができる。これらのセンサデータは、処理することが可能である。これには、例えば、(センサデータが取得された周辺環境における)物体の存在を検出するために、センサデータの分類や、センサデータにおけるセマンティックセグメンテーションの実施などが含まれ得る。これらの実施形態は、種々のシナリオ下において種々の操作タスクを達成するために、機械学習システムを訓練し、ロボットデバイス、例えば自律型ロボットマニピュレータを制御することに使用することができる。特に、これらの実施形態は、例えば組立ラインなどでの操作タスクの実行の制御及び監視に対して適用可能である。これらの実施形態は、例えば、従来の制御プロセス用GUIとシームレスに要約することができる。
【0106】
本明細書においては、特定の実施形態を示して説明してきたが、当業者が、図示され説明されてきたこれらの特定の実施形態を、本発明の保護範囲から逸脱することなく、種々の代替的及び/又は同等の実施形態に入れ替えることが可能であることは、明らかである。本明細書において論じられる特定の実施形態の何らかの適合化又は変化形態は、本出願によって包含されるべきであり、それゆえ、本発明は、本出願の特許請求の範囲及び等価物によってのみ限定されることが意図される。
【外国語明細書】