(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023113133
(43)【公開日】2023-08-15
(54)【発明の名称】ロボット装置を制御する方法
(51)【国際特許分類】
B25J 9/16 20060101AFI20230807BHJP
G06N 99/00 20190101ALI20230807BHJP
【FI】
B25J9/16
G06N99/00 180
【審査請求】未請求
【請求項の数】7
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023013714
(22)【出願日】2023-02-01
(31)【優先権主張番号】10 2022 201 116.3
(32)【優先日】2022-02-02
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】フィリップ クリスティアン シリンガー
(72)【発明者】
【氏名】アクシャイ ドンティ ラメシュ バブ
(72)【発明者】
【氏名】レオネル ロソ
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707LW08
3C707LW12
3C707WL01
(57)【要約】
【課題】様々な実施形態に従ってロボット装置を制御する方法について記載する。
【解決手段】本方法は、タスクを実行するためのロボット制御モデルを生成するステップであって、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する、ステップと、ロボット制御モデルのパラメータを目標関数の最適化によって調整するステップであって、目標関数は、タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによってロボット装置を制御するステップと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボット装置を制御する方法であって、
タスクを実行するためのロボット制御モデルを生成するステップであって、前記ロボット制御モデルは、前記タスクの実行に作用を及ぼすパラメータを有する、ステップと、
前記ロボット制御モデルの前記パラメータを目標関数の最適化によって調整するステップであって、前記目標関数は、前記タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、
前記タスクを実行するための前記ロボット制御モデルに従って、調整された前記パラメータによって前記ロボット装置を制御するステップと、
を含む、ロボット装置を制御する方法。
【請求項2】
信号時相論理に従って前記少なくとも1つの条件を少なくとも1つの信号時相論理式で表現するステップと、
前記少なくとも1つの信号時相論理式を少なくとも1つのロバストネス基準に変換するステップと、
前記タスクの実行のために前記少なくとも1つのロバストネス基準の値を求めることにより、前記目標関数を評価するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記ロボット制御モデルの前記パラメータは、時間に関連づけられたパラメータと、位置に関連づけられたパラメータとを有する、請求項1又は2に記載の方法。
【請求項4】
前記ロボット制御モデルは、隠れセミマルコフモデル(英語のHidden Semi Markov Modelを表すHSMM)である、請求項1から3までのいずれか1項に記載の方法。
【請求項5】
前記少なくとも1つの連続的なセンサ信号は、前記ロボット装置の一部の位置及び/又は前記ロボット装置の一部に作用する力を表す、請求項1から4までのいずれか1項に記載の方法。
【請求項6】
請求項1から5までのいずれか1項に記載の方法を実施するように構成されているロボット制御装置。
【請求項7】
プロセッサによって実行されると、前記プロセッサに請求項1から5までのいずれか1項に記載の方法を実施させるための命令を含むコンピュータプログラム。
【請求項8】
プロセッサによって実行されると、前記プロセッサに請求項1から5までのいずれか1項に記載の方法を実施させるための命令を格納しているコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット装置を制御する方法に関する。
【背景技術】
【0002】
(物体の)操作を実施するというロボットのためのタスクにおいて、1つの重要な問題となることは、個々のタスクに対して(たとえば、ロボットアームのための)適当な軌跡を決定することである。特定のタスクタイプを可能な限り効率的に解決する目的で、特性がまったく異なる複数の様々なアプローチが存在する。1つの例は、デモンストレーションからの学習(英語のlearning from demonstrationを表すLfD)である。
【0003】
LfDの場合、人間のユーザ(「エキスパート」)がロボットに対し、意図する挙動、即ち、特定のタスクを解決するであろう例示的な軌跡をデモンストレーションする。これらのデモンストレーションから、ロボットは、ロボット制御モデルを学習し、このようにして相応の運動スキルを獲得することができる。デモンストレーションされたスキルを基礎としたロボット支援による組み立てに関するさらに詳細な点については、たとえば、Rozo, L., Guo, M., Kupcsik, A. G., Todescato, M., Schillinger, P., Gifthaler, M., ... & Burger, M.著、“Learning and sequencing of object-centric manipulation skills for industrial tasks”、2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp.9072-9079). IEEE(以下、参考文献[1]と称する)を参照されたい。
【0004】
LfDアプローチは、望ましい軌跡に対する基準を明示的に記述することが困難であるときに、特に適している。しかしながら、このアプローチは、暗黙的な基準を捉えることしかできず、それ以外の明示的な制約又は望ましい特性を追加するための一般的なメカニズムは存在しない。
【0005】
このような制約に対処する目的で、かかる明示的な条件を別個の形式論で表現し、次いで、元々学習された運動スキルを向上させるために、最適化技術を組み入れることができる。たとえば、Innes, C. & Ramamoorthy, S.著“Elaborating on learned demonstrations with temporal logic specifications”、2020, arXiv preprint arXiv:2002.00784(以下、参考文献[2]と称する)によれば、LfDの1つの動的体系的バリエーションである動的運動プリミティブ(英語のDynamic Movement Primitivesを表すDMP)を最適化する目的で、時相(時間)論理の1つのバリエーションである線形時相論理(英語のLinear Temporal Logicを表すLTL)における目標が定式化される。
【0006】
これに加えて、Dhonthi, A., Schillinger, P., Rozo, L. & Nardi, D.著(2021)による論文“Study of Signal Temporal Logic Robustness Metrics for Robotic Tasks Optimization”、arXiv preprint arXiv:2110.00339(以下、参考文献[3]と称する)には、STL(Signal Temporal Logic)を用いた条件の定式化について記載されている。
【0007】
参考文献[2]のアプローチのためには、勾配を求めなければならず、それゆえ、規定可能な明示的条件の帯域幅が制限されている。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Rozo, L., Guo, M., Kupcsik, A. G., Todescato, M., Schillinger, P., Gifthaler, M., ... & Burger, M.著、“Learning and sequencing of object-centric manipulation skills for industrial tasks”、2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp.9072-9079). IEEE
【非特許文献2】Innes, C. & Ramamoorthy, S.著、“Elaborating on learned demonstrations with temporal logic specifications”、2020, arXiv preprint arXiv:2002.00784
【非特許文献3】Dhonthi, A., Schillinger, P., Rozo, L. & Nardi, D.著(2021) 、論文“Study of Signal Temporal Logic Robustness Metrics for Robotic Tasks Optimization”、arXiv preprint arXiv:2110.00339
【発明の概要】
【発明が解決しようとする課題】
【0009】
よって、明示的な条件の規定をより広い範囲で行うことのできるアプローチが望まれている。
【課題を解決するための手段】
【0010】
発明の開示
様々な実施形態に従って、ロボット装置を制御する方法が提供され、当該方法は、タスクを実行するためのロボット制御モデルを生成するステップであって、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する、ステップと、ロボット制御モデルのパラメータを目標関数の最適化によって調整するステップであって、目標関数は、タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによってロボット装置を制御するステップと、を含む。
【0011】
目標関数の最適化は、たとえば、ブラックボックス最適化を用いて行われる。ブラックボックス最適化(BBO)を使用することにより、たとえば参考文献[2]の手順の場合に必要とされるような勾配が不要となり、従って、格段に拡張されたより表現力豊かな信号領域にわたって、(たとえば、信号時相論理(STL)を用いて)条件を定義することが可能になり、たとえば、結果として生じる力に対する制限の記述、又は、一般的には軌跡自体に代わる軌跡の作用が可能になる。従って、上述の方法によって、幅広い範囲の用途を担保することができる。
【0012】
BBOの場合、様々なシナリオに対してタスクを実行することができ、又は、目標関数のいずれの評価についても同様のシナリオを採用することができる(即ち、たとえば、物体は、常に同一の位置にある)。未知の作用を最小限に抑制する目的で、実際に可能な限り、シナリオを同様に維持することが有用になり得る。パラメータセットごとにそれぞれ異なるシナリオの集合を実行して、複数の実行にわたる平均値を形成することが実際に可能である場合には、やはり有用になり得る。実際の観点からは、シナリオを正確に繰り返すことが、場合によっては不可能であるかもしれないが、これは、BBOに対する排除基準でもなく、結果が悪くなったり又は最適化が緩慢になったりする可能性があるだけである。
【0013】
上述のロボット制御方法をたとえば、ロボット操作タスクのために使用することができ、この場合にはエキスパートがロボットの望ましい挙動を予め定めて指定する。これは特に、特定の組み立てステップが複雑な運動を必要とし、同時に付加的な条件を満たす必要がある、ロボット支援による組み立ての場合に当てはまる。たとえば、ある組み立てプロセスにおいて、1つのピンを特定の手法で他の被加工物に挿入する必要がある。この運動を完全に形式的に記述することは困難であると考えられるので、人間がこの運動をデモンストレーションすることができるが、それにもかかわらず、接触力の低減又は目標ポジション精度といったような特定の制約を達成することが望ましく、これらは場合によってはあまり最適にはデモンストレーションされない。
【0014】
以下、様々な実施例について記載する。
【0015】
実施例1は、上述のようにロボット装置を制御する方法である。
【0016】
実施例2は、実施例1に記載の方法であって、この方法はさらに、信号時相論理に従って少なくとも1つの条件を少なくとも1つの信号時相論理式で表現するステップと、少なくとも1つの信号時相論理式を少なくとも1つのロバストネス基準に変換するステップと、タスクの実行のために少なくとも1つのロバストネス基準の値を求めることにより、目標関数を評価するステップと、を含む。
【0017】
条件を捕捉するために信号時相論理(英語のSignal Temporal Logicを表すSTL)を使用することにより、たとえば、時間演算子に対するタイムインターバルを記述することが可能であることから、条件の表現力豊かな仕様記述が可能となる。換言すれば、少なくとも1つの条件は、1つ又は複数のタイムインターバル及び1つ又は複数の連続信号によって表現される。STL式を実数値の報酬関数、いわゆるロバストネス基準に変換する効率的なアプローチが存在しており、これはその数学的特性ゆえに、ロボット制御モデルの効率的かつ表現力豊かな最適化を可能にする。
【0018】
実施例3は、実施例1又は2に記載の方法であって、この場合、ロボット制御モデルのパラメータは、時間に関連づけられたパラメータと、位置に関連づけられたパラメータとを有する。
【0019】
たとえば、時間に関連づけられたパラメータとして持続確率を有し、位置に関連づけられたパラメータとして(たとえば)平均的な長さを有するHSMMといったように、かかるパラメータを有するロボット制御モデルは、条件の仕様記述のためにSTLを使用することに非常に良好に対応しており、それというのも、STLは、時間的及び空間的な条件を定式化するからである。
【0020】
実施例4は、実施例1から3までのいずれか1つに記載の方法であって、この場合、ロボット制御モデルは、隠れセミマルコフモデル(英語のHidden Semi Markov Modelを表すHSMM)である。
【0021】
(たとえば、LfDのために)HSMMモデルを使用することによって、学習されたスキル(即ち、タスクを実行するためのスキル)のための離散的な状態に基づくモデルがもたらされ、このモデルによれば、各状態が軌跡に沿った確率論的通過点におおよそ対応し、遷移持続時間によって軌跡の個々の区間の実行速度が定義される。これにより、STL目標と能力モデルのパラメータとの間の自明の結合が形成されるようにして、STL条件の仕様記述に対する有用な基礎が提供される。
【0022】
実施例5は、実施例1から4までのいずれか1つに記載の方法であって、この場合、少なくとも1つの連続的なセンサ信号は、ロボット装置の一部の位置及び/又はロボット装置の一部に作用する力を表す。
【0023】
かくして、特に、ロボット装置が特定の領域内(又は領域外)に(たとえば、エンドエフェクタと共に)留まること、及び、(たとえば、操作される物体に対しロボット装置が及ぼす)許容された力を超えない、という条件を指定することができる。
【0024】
実施例6は、実施例1から5までのいずれか1つに記載の方法を実施するように構成されているロボット制御装置である。
【0025】
実施例7は、プロセッサによって実行されると、このプロセッサに実施例1から5までのいずれか1つに記載の方法を実施させるための命令を含むコンピュータプログラムである。
【0026】
実施例8は、プロセッサによって実行されると、このプロセッサに実施例1から5までのいずれか1つに記載の方法を実施させるための命令を格納しているコンピュータ可読媒体である。
【0027】
図面において、類似した参照符号は、種々のすべての図面において、総じて同一の部分に適用される。図面は、必ずしも縮尺どおりではなく、その代わりに総じて本発明の原理を描くことに重点が置かれている。以下の説明においては、種々の態様について以下の図面を参照しながら説明する。
【図面の簡単な説明】
【0028】
【
図2】上述の4つのオペレーションによる所与の条件へのロボット制御モデルの調整について具体的に説明するフローチャートを示す図である。
【
図3】ロボット装置を制御する方法を表すフローチャートを示す図である。
【発明を実施するための形態】
【0029】
以下の詳細な説明は、本発明を実施可能な本開示の特別な詳細及び態様を説明するために示す添付の図面に関係するものである。他の態様を使用することができ、本発明の保護範囲から逸脱することなく、構造的、論理的及び電気的な変更を実施することができる。新たな態様を形成する目的で、本開示のいくつかの態様を、本開示の1つ又は複数の他の態様と組み合わせることができることから、本開示の種々の態様は必ずしも互いに排他的なものではない。
【0030】
以下においては、様々な実施例についてさらに詳細に説明する。
【0031】
【0032】
ロボット100は、ロボットアーム101、たとえば、被加工物(又は、1つ又は複数の他の物体)を取り扱う又は組み立てるための産業用ロボットアームを含む。ロボットアーム101は、マニピュレータ102,103,104と台座(又は支持部)105とを含み、この台座105によりマニピュレータ102,103,104が支持されている。用語「マニピュレータ」は、ロボットアーム101の可動要素に適用されるものであり、それらを操作することによって、たとえばある1つのタスクを実行する目的で、周囲との物理的な相互作用が可能となる。制御のために、ロボット100は、(ロボット)制御装置106を含み、この制御装置106は、制御プログラムに従って周囲との相互作用を実現するように構成されている。マニピュレータ102,103,104の(支持部105から最も離隔している)最後の要素104は、エンドエフェクタ104とも称され、たとえば、溶接バーナ、グリッパ器具、ラッカ工具などのような1つ又は複数の工具を含み得るものである。
【0033】
(台座105に近い)他のマニピュレータ102,103は、ポジショニング装置を成すことができ、これによりエンドエフェクタ104と共働して、ロボットアーム101にはその端部にエンドエフェクタ104が設けられた状態となる。ロボットアーム101は機械的なアームであって、これは(場合によってはその端部に工具を持たせて)人間の腕と類似した機能を果たすことができる。
【0034】
ロボットアーム101は、ジョイント要素107,108,109を含み得るものであり、これらのジョイント要素107,108,109によって、マニピュレータ102,103,104が互いに接続され、かつ、台座105と接続される。ジョイント要素107、108、109は、1つ又は複数のジョイントを有し得るものであり、それらのジョイント各々によって、対応するマニピュレータ相互間で相対的に回転可能な運動(即ち、回転運動)及び/又は並進運動(即ち、シフト)をもたらすことができる。マニピュレータ102,103,104の運動を、制御装置106によって制御されるアクチュエータを用いて生じさせることができる。
【0035】
用語「アクチュエータ」は、自身が駆動されることに対するリアクションとして、メカニズム又はプロセスに作用を与えるように設計されている構成要素であると解することができる。アクチュエータは、制御装置106によって出力された命令(いわゆるアクティベーション)を機械運動に変換することができる。アクチュエータ、たとえば電気機械変換器を、そのアクティベーションに基づきリアクションとして電気エネルギーを機械エネルギーに変換するように構成することができる。
【0036】
用語「制御装置」は、以下のようなエンティティを実装する任意のタイプのロジックであると解することができる。即ち、このエンティティは、たとえば、記憶媒体に格納されているソフトウェアを実行可能な回路及び/又はプロセッサ、ファームウェア又はこれらの組合せを含み得るものであり、命令を、たとえば本実施例においては、アクチュエータに出力することができる。ロボットの動作を制御する目的で、制御装置をたとえばプログラムコード(たとえばソフトウェア)によって構成することができる。
【0037】
本実施例においては、制御装置106は、1つ又は複数のプロセッサ110及び記憶装置111を含み、この記憶装置111は、コード及びデータを格納しており、これらに基づきプロセッサ110は、ロボットアーム101を制御する。種々の実施形態によれば、制御装置106は、記憶装置111内に格納されている機械学習モデル112に基づき、ロボットアーム101を制御する。ロボット100は、たとえば、物体113を拾い上げるように指示されている。たとえば、エンドエフェクタ104はグリッパであり、物体113を拾い上げるように指示されており、ただし、エンドエフェクタ104は、たとえば、物体113を吸引して拾い上げるように構成することもできる。
【0038】
種々の実施形態によれば、ロボット100にタスクを実行させるように教える目的で、デモンストレーションからの学習(英語のLearning from Demonstrationsを表すLfD)が用いられる。人間によるデモンストレーションを、ロボットのためのタスクの予定されたプランを表現する機械学習モデル112(このケースにおいては、確率モデル又は統計モデル)によって符号化することができる。次いで、制御装置106は、望ましいロボット運動を生成する目的で、ロボット軌跡モデルとも称される統計モデル112を使用することができる。
【0039】
LfDの基本的な着想は、たとえばGMMのような予め記述された運動スキルモデルを、複数のデモンストレーションから成る集合に調整することである。M個のデモンストレーションが存在するものとし、それらのデモンストレーションのうち各々が、N=Σ
mT
m個の全観測
【数1】
のデータセットについて、T
m個のデータポイントを含み、ここで、
【数2】
である。ここでは、(たとえば着目対象物体のローカル座標系又は参照フレームなど、タスクパラメータによって与えられる)P個のそれぞれ異なる座標系の視点から、同一のデモンスレーションが記録される、ということも前提とされる。かかるデータを取得するための一般的な手法は、デモンストレーションを静的なグローバル参照フレームから参照フレームpへ、
【数3】
によって変換することである。ここで、
【数4】
は、グローバル座標系(即ち、グローバル参照フレーム)に関連づけられた(ローカル)参照フレームpの並進及び回転である。次いで、TP-GMMがモデルパラメータ
【数5】
によって記述され、ここで、Kは、混合モデルにおけるガウス成分の個数を表し、π
kは、各成分の先行の確率であり、
【数6】
は、参照フレームp内のk番目のガウス成分のパラメータである。
【0040】
標準GMMとは異なり、上述の混合モデルは、参照フレームごとに独立して学習することができない。実際には、すべての参照フレームにおける混合係数πkが分割され、参照フレームp内のk番目の成分は、グローバル参照フレーム内の対応するk番目の成分にマッピングしなければならない。期待値最大化(EM)は、かかるモデルを学習するための確立された方法である。
【0041】
学習されたならば直ちに、TP-GMMを実行中に使用して、学習された運動スキルのための軌跡を再現することができる。これにはロボットの制御が含まれ、従って、ロボットは、初期コンフィギュレーションから目標コンフィギュレーションに到達する(たとえば、エンドエフェクタ104が初期姿勢から終了姿勢に移動する)。この目的で、ジョイント要素107,108,109における(時間に依存する)加速度が計算される。
観測される参照フレーム
【数7】
を考慮して、学習されたTP-GMMは、それぞれ異なる参照フレームを介してアフィン変換されたガウス成分の乗算によって、複数のパラメータ
【数8】
を含むただ1つのGMMに次式のように変換される。即ち、
【数9】
ここで、各参照フレームpにおいて更新されたガウスベル曲線のパラメータが
【数10】
として計算される。タスクパラメータは、経時的に変動する可能性があるとはいえ、時間インデクスは、表記の都合上省略される。
【0042】
隠れセミマルコフモデル(HSMM)は、基礎を成す確率論的プロセスの時間情報を埋め込むことによって、標準隠れマルコフモデル(HMM)を拡張する。つまり、HMMでは、基礎を成す隠れプロセスがマルコフであるとみなされ、即ち、次の状態への遷移の確率が現在の状態のみに依存するのに対し、HSMMでは、状態プロセスがセミマルコフであるとみなされる。このことが意味することは、次の状態への遷移が、現在の状態と、この状態に入って以降に経過した時間とに依存する、ということである。デモンストレーションの空間的時間的特徴を学習する目的で、ロボット運動スキルの符号化のために、TP-GMMと組み合わせてこれらを適用することができる。タスクパラメータ化されたHSMMモデル(TP-HSMMモデル)は、以下のように定義されている。即ち、
【数11】
ここで、a
hkは、状態hからkへの遷移確率であり、
【数12】
は、状態kの持続時間にわたるガウス分布を表し、即ち、相前後して続く特定の個数のステップにわたり状態kに留まる確率であり、
【数13】
は、状態kに対応する観測確率を表す以前に導入されたTP-GMMと等しい。ここで留意されたいことは、状態の個数は、「結合された」TP-GMM内のガウス成分の個数を表している、ということである。
【0043】
観測されるデータポイント
【数14】
の特定の(部分的な)シーケンスを考慮して、Θにおける対応する状態シーケンスがs
t=s
1s
2...s
tによって与えられていると仮定することが望ましい。データポイントξ
tが状態kに属する(即ち、s
t=kである)確率は、順方向変数
【数15】
によって与えられている。即ち、
【数16】
ここで、
【数17】
は出力確率であり、(1)の
【数18】
は、タスクパラメータを考慮して導出されたものである。さらに、T
m個に至るまでの将来のステップを予測する目的で、同一の順方向変数を再現中にも使用することができる。
【0044】
ただし、このケースにおいては、将来の観測を利用することができないことから、遷移情報及び持続情報だけが使用され、即ち、式(2)においてすべてのk及びlがtよりも大きいときには、
【数19】
の代入によってこのことが行われる。最後に、最大確率の状態シーケンス
【数20】
が、
【数21】
の選択によって決定される。
【0045】
ここで、ロボット状態の望ましい最終観測がξ
Tとして与えられるものとし、ここで、Tは、運動スキルの計画対象期間(たとえば複数のデモンストレーションについての平均的な長さ)である。なお、最初のロボット状態はξ
1として観測される。学習されたモデルΘ
aを考慮して運動スキルを実行(即ち、運動スキルを再現)するために、ξ
1及びξ
Tだけを考慮して最大確率の状態シーケンス
【数22】
だけが構築される。
【0046】
このケースにおいては、順方向変数を用いた再現は、そのままでは行うことができない。それというのも、式(2)における順方向変数は、最大周辺確率の状態のシーケンスを計算するのに対し、望ましいのは、ξ
1及びξ
Tを考慮したときの最大同時確率の状態シーケンスだからである。よって、(2)が使用される場合には、返されたシーケンス
【数23】
が、デモンストレーションの空間的時間的パターンにも最終観測にも一致するという保証はない。物体を拾い上げるための例に関して、望ましい最終コンフィギュレーションが、エフェクタが物体の上面に存在しているということであったとしても、「側方からの拾い上げ」に対応する最大確率のシーケンスが返される場合がある。
【0047】
この問題を解決する目的で、1つの実施形態によれば、ビタビアルゴリズムの修正が使用される。観測されたイベントの所与の流れに至る最大確率の状態シーケンス(ビタビパスとも呼ばれる)をHMMにおいて探し出す目的で、古典的なビタビアルゴリズムを使用することができる。1つの実施形態によれば、以下の2つの主要な観点でこれとは異なる方法が使用される。即ち、(a)これはHMMではなくHMMにおいて動作する。さらに重要なことに(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】
を導出する。
【0048】
このとき、ロボット100の(運動)スキルのために、特定の用途において、スキル実施にあたりロボット100により遵守される特定の条件を定義可能であることが望ましい場合がある。これに関する例は、特定の力若しくは摩擦を超えない(たとえば、2つの部分が互いに過度に強く押圧されない、又は、スリーブが過度の摩擦を伴ってロッド上でシフトされない)、又は、特定の空間領域から離れない、ということである。
【0049】
種々の実施形態によれば、LfDを用いて学習されたスキル(又は能力)の範囲内で、形式的仕様記述を考慮するためのアプローチが提供される。具体的には、種々の実施形態によれば、LTLに比較して表現が強化された時相論理の1つのバリエーションである信号時相論理(STL)が、報酬関数の形態でタスク仕様記述を定式化するために使用され、LfDを用いて隠れセミマルコフモデル(HSMM)として学習されたスキルを調整する目的で、ブラックボックス最適化アプローチ(BBO)が使用される。
【0050】
従って、種々の実施形態は、STL、BBO及びLfDを用いてHSMMとしてロボットスキルを学習することに基づいている。STL仕様記述からBBOのための目標関数への変換については、様々なロバストネス基準の記述に関する参考文献[3]を参照されたい。これらを以下において説明する実施形態に関連して使用することができる。BBOのためには、ベイズ最適化(BO)又はCMA-ES(共分散行列適応進化戦略)を使用することができる。以下において説明する実施形態は、使用されるBB最適化技術に関して特定の前提をなすものではない。
【0051】
種々の実施形態によれば、最適化方法を用いることにより、特定のスキルのためのロボット制御モデルが、所与の条件を考慮するように改善される。このことは、反復プロセスによって行われ、これによれば、所定の条件を反映するある1つの目標の仕様記述に関連して、ロボット制御モデルの改善されたバージョンを取得する目的で、以下のオペレーション(1乃至4、下記参照)が任意の回数にわたり繰り返される。
【0052】
ある1つのスキルのための初期のロボット制御モデルを起点として、種々の実施形態によれば、たとえば、人間の複数のデモンストレーションから成る集合(たとえば、参照軌跡)及び複数の条件(たとえば、付帯条件としてある1つのタスクを実施する際に達成すべき目標)から成る形式的STL仕様記述から導出された、HSMMを起点として、以下のステップが(たとえば、制御装置106によって)繰り返し実施される。
1)スキルのためのロボットモデルの修正(バリエーション)を決定するステップ。
2)ロボットモデルの修正を用いてスキルを実施し、その際に発生する(センサ)信号を記録するステップ。
3)記録された信号が、条件について予め定められたSTL仕様記述にどの程度一致している(即ち、これを満たしている)のかを評価するステップ。
4)BBOオプティマイザを更新して、(条件を満たすことに関して)現在最良の修正をマークするステップ。
【0053】
図2には、上述の4つのオペレーションによる所与の条件へのロボット制御モデルの調整について具体的に説明するフローチャート200が示されている。
【0054】
オペレーション1)の場合、ある1つのスキルのためのロボット制御モデルを様々な手法で、即ち、ロボット制御モデルの一連の様々なパラメータ201を修正することによって、変更することができる。HSMMモデルの表現に基づき、かかるパラメータ201に対する自明の選択は、構成要素の平均的な位置
【数30】
、構成要素の持続時間にわたる確率分布のパラメータ
【数31】
、及び、構成要素間の遷移確率a
hkである。これらは、妨害(変更)
【数32】
による修正のたびに修正され、これによってロボット制御モデルが修正される。
【0055】
これに加えて、オペレーション1)の場合、修正のためのパラメータの決定を様々な手法で行うことができ、これは主としてBBO法の選択に依存する。たとえば、パラメータ値をランダムに選択することができる。ベイズ最適化(BO)の場合、パラメータ値は、通常(最適化パラメータの初期化204を起点として)、いわゆる獲得関数202の最適化によって求められ、その際、パラメータの選択と予期される目標値との間の関係をモデリングする目的で、(未知の)最適化すべき関数の代替(たとえばガウスプロセス203)が形成される。CMA-ESを使用する場合、より高い目標関数に至るパラメータをより高い確率でサンプリングする目的で、時間の経過と共に修正される確率分布から、パラメータ値が取り出される。
【0056】
ロボット制御モデルの修正後、修正されたロボット制御モデルに従ってスキルの実行206が行われる。
【0057】
オペレーション2)の場合、所与のSTL仕様記述205は、一連のいわゆる評価によって表現され、これはスキル実行の特定の特性、たとえばわずかな大きさの接触力の維持又は作業空間の特定の領域外又は領域内での残留を要求する。これによって、どのセンサ信号をタスク実行中に記録しなければならないかが直接表されており、即ち、どの量を測定しなければならないかが表されている(即ち、ロボット、たとえばエンドエフェクタ104の、たとえば個々の接触力又はポジション)。
【0058】
オペレーション3)の場合、実行206において記録された信号が離散化され、これらの信号について(たとえば参考文献[3]に記載されているように)、STL仕様記述205のロバストネスメトリック207の値を計算することができる。タスク最適化の目的に適している、様々な特性を有するロバストネスメトリックの様々な定式化が存在している。わかりやすいメトリックは、いわゆる空間ロバストネスであって、これは、離散化された信号に沿った個々の時点ごとに命題の真理値が変化するまでの信号値の距離を測定する。このメトリックは、たとえば、測定された力と指定された接触力との間の差を測定し、又は、作業空間内の特定の領域までのユークリッド距離を測定する。
【0059】
オペレーション4)の場合、モデルパラメータ201の変更も、STL仕様記述による目標の、結果として生じる値207も既知であり、使用されているBBO法に引き渡すことができる。このオペレーションも使用されるBBO法に依存する。BOのケースでは、たとえば、得られた観測を取り入れる目的でガウスプロセス(GP)203が更新され、又は、CMA-ESのケースでは、ランダムサンプル分布が相応に更新される。極端なケースでは、たとえば、パラメータのランダムサンプルにおいて、このステップを省略することができる。
【0060】
要約すると、種々の実施形態によれば
図3に示されているような方法が提供される。
【0061】
図3には、ロボット装置を制御する方法を表すフローチャート300が示されている。
【0062】
ステップ301において、タスクを実行するためのロボット制御モデルが生成され、その際、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する。
【0063】
ステップ302において、ロボット制御モデルのパラメータが目標関数の最適化によって調整され、この目標関数は、タスク実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する。
【0064】
ステップ303において、ロボット装置は、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによって制御される。
【0065】
図3の方法を、1つ又は複数のデータ処理ユニットを備えた1つ又は複数のコンピュータによって実施することができる。用語「データ処理ユニット」を、データ又は信号の処理を可能にする任意のタイプのエンティティのことであると解することができる。データ又は信号をたとえば、データ処理ユニットが実行する少なくとも1つの(即ち、1つ又は1つより多くの)特別な機能に従って処理することができる。データ処理ユニットは、アナログ回路、ディジタル回路、ロジック回路、マイクロプロセッサ、マイクロコントローラ、中央ユニット(CPU)、グラフィック処理ユニット(GPU)、ディジタル信号プロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)集積回路、又は、これらの任意の組合せを含み得るものであり、又は、これらから成るものとし得る。本明細書においてより詳細に説明される個々の機能を実装するための他の任意の手法を、データ処理ユニット又はロジック回路装置として解することもできる。本明細書において詳細に説明されるプロセスステップのうちの1つ又は複数を、データ処理ユニットによって、このデータ処理ユニットが実行する1つ又は複数の特別な機能を介して、実施する(たとえば、実装する)ことができる。
【0066】
図3のアプローチは、ロボット装置のための制御信号の生成に用いられる。用語「ロボット装置」を、(運動が制御される機械部分を備えた)任意の技術システムに関係するものと解することができ、たとえば、コンピュータ制御機械、車両、家庭用装置、電動工具、製造機械、パーソナルアシスタント、又は、アクセス制御システムなどである。技術システムに対する制御規則が学習され、それに応じて技術システムが制御される。
【0067】
制御信号を生成するために、1つ又は複数の受信されたセンサ信号から得られた(センサ)データが、たとえば、スカラー時系列の形態で処理され、それらのデータには、たとえば、ロボットエンドエフェクタ姿勢(ポジション及び配向)、力、ロボットジョイント力などのようなあらゆる種類の軌跡に関する特定のデータが含まれる。
【0068】
これらのセンサデータが処理され、これにはセンサデータの分類、又は、センサデータにおけるセマンティックセグメンテーションの実施を含めることができ、これによって、1つ又は複数の条件の、ユーザによって与えられた形式的仕様記述の遵守(及び遵守の定量化)に関して、(センサデータが得られた環境における)物体の存在を検出することができる。
【0069】
機械学習システムをトレーニングし、たとえば、ロボットマニピュレータによって自律的に、ロボットを制御するという状況において、様々なシナリオのもとで様々な操作タスクを達成する目的で、実施形態を使用することができる。特に実施形態を、たとえば組み立てラインにおいて、操作タスクの実行の制御及び監視に適用することができる。たとえば、制御プロセスのための従来のGUIとシームレスに、(たとえば、ユーザによる条件の仕様記述を実現する目的で)実施形態を統合することができる。
【0070】
本明細書において特別な実施形態について示し説明してきたが、当業者には自明のとおり、図示され説明されている特別の実施形態を、本発明の保護範囲から逸脱することなく、代替的な及び/又は等価の多様な実装形態と取り替えることができる。本願は、本明細書において論じられている特別な実施形態のいかなる調整又は変形も包含するものである。よって、本発明は、特許請求の範囲及びその等価物によってのみ限定される、ということが意図されている。
【手続補正書】
【提出日】2023-03-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ロボット装置を制御する方法であって、
タスクを実行するためのロボット制御モデルを生成するステップであって、前記ロボット制御モデルは、前記タスクの実行に作用を及ぼすパラメータを有する、ステップと、
前記ロボット制御モデルの前記パラメータを目標関数の最適化によって調整するステップであって、前記目標関数は、前記タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、
前記タスクを実行するための前記ロボット制御モデルに従って、調整された前記パラメータによって前記ロボット装置を制御するステップと、
を含み、さらに、
信号時相論理に従って前記少なくとも1つの条件を少なくとも1つの信号時相論理式で表現するステップと、
前記少なくとも1つの信号時相論理式を少なくとも1つのロバストネス基準に変換するステップと、
前記タスクの実行のために前記少なくとも1つのロバストネス基準の値を求めることにより、前記目標関数を評価するステップと、
を含む、ロボット装置を制御する方法。
【請求項2】
前記ロボット制御モデルの前記パラメータは、時間に関連づけられたパラメータと、位置に関連づけられたパラメータとを有する、請求項1に記載の方法。
【請求項3】
前記ロボット制御モデルは、隠れセミマルコフモデル(英語のHidden Semi Markov Modelを表すHSMM)である、請求項1に記載の方法。
【請求項4】
前記少なくとも1つの連続的なセンサ信号は、前記ロボット装置の一部の位置及び/又は前記ロボット装置の一部に作用する力を表す、請求項1に記載の方法。
【請求項5】
請求項1に記載の方法を実施するように構成されているロボット制御装置。
【請求項6】
プロセッサによって実行されると、前記プロセッサに請求項1に記載の方法を実施させるための命令を含むコンピュータプログラム。
【請求項7】
プロセッサによって実行されると、前記プロセッサに請求項1に記載の方法を実施させるための命令を格納しているコンピュータ可読媒体。
【外国語明細書】