JP2023113133A - ロボット装置を制御する方法 - Google Patents
ロボット装置を制御する方法 Download PDFInfo
- Publication number
- JP2023113133A JP2023113133A JP2023013714A JP2023013714A JP2023113133A JP 2023113133 A JP2023113133 A JP 2023113133A JP 2023013714 A JP2023013714 A JP 2023013714A JP 2023013714 A JP2023013714 A JP 2023013714A JP 2023113133 A JP2023113133 A JP 2023113133A
- Authority
- JP
- Japan
- Prior art keywords
- task
- robot
- control model
- parameters
- robot control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000002123 temporal effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 16
- 238000005457 optimization Methods 0.000 description 15
- 238000013459 approach Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 239000012636 effector Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 235000000332 black box Nutrition 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004922 lacquer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005309 stochastic process Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39205—Markov model
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40113—Task planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
【課題】様々な実施形態に従ってロボット装置を制御する方法について記載する。【解決手段】本方法は、タスクを実行するためのロボット制御モデルを生成するステップであって、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する、ステップと、ロボット制御モデルのパラメータを目標関数の最適化によって調整するステップであって、目標関数は、タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによってロボット装置を制御するステップと、を含む。【選択図】図1
Description
本開示は、ロボット装置を制御する方法に関する。
(物体の)操作を実施するというロボットのためのタスクにおいて、1つの重要な問題となることは、個々のタスクに対して(たとえば、ロボットアームのための)適当な軌跡を決定することである。特定のタスクタイプを可能な限り効率的に解決する目的で、特性がまったく異なる複数の様々なアプローチが存在する。1つの例は、デモンストレーションからの学習(英語のlearning from demonstrationを表すLfD)である。
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]と称する)を参照されたい。
LfDアプローチは、望ましい軌跡に対する基準を明示的に記述することが困難であるときに、特に適している。しかしながら、このアプローチは、暗黙的な基準を捉えることしかできず、それ以外の明示的な制約又は望ましい特性を追加するための一般的なメカニズムは存在しない。
このような制約に対処する目的で、かかる明示的な条件を別個の形式論で表現し、次いで、元々学習された運動スキルを向上させるために、最適化技術を組み入れることができる。たとえば、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)における目標が定式化される。
これに加えて、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)を用いた条件の定式化について記載されている。
参考文献[2]のアプローチのためには、勾配を求めなければならず、それゆえ、規定可能な明示的条件の帯域幅が制限されている。
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
Innes, C. & Ramamoorthy, S.著、"Elaborating on learned demonstrations with temporal logic specifications"、2020, arXiv preprint arXiv:2002.00784
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
よって、明示的な条件の規定をより広い範囲で行うことのできるアプローチが望まれている。
発明の開示
様々な実施形態に従って、ロボット装置を制御する方法が提供され、当該方法は、タスクを実行するためのロボット制御モデルを生成するステップであって、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する、ステップと、ロボット制御モデルのパラメータを目標関数の最適化によって調整するステップであって、目標関数は、タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによってロボット装置を制御するステップと、を含む。
様々な実施形態に従って、ロボット装置を制御する方法が提供され、当該方法は、タスクを実行するためのロボット制御モデルを生成するステップであって、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する、ステップと、ロボット制御モデルのパラメータを目標関数の最適化によって調整するステップであって、目標関数は、タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによってロボット装置を制御するステップと、を含む。
目標関数の最適化は、たとえば、ブラックボックス最適化を用いて行われる。ブラックボックス最適化(BBO)を使用することにより、たとえば参考文献[2]の手順の場合に必要とされるような勾配が不要となり、従って、格段に拡張されたより表現力豊かな信号領域にわたって、(たとえば、信号時相論理(STL)を用いて)条件を定義することが可能になり、たとえば、結果として生じる力に対する制限の記述、又は、一般的には軌跡自体に代わる軌跡の作用が可能になる。従って、上述の方法によって、幅広い範囲の用途を担保することができる。
BBOの場合、様々なシナリオに対してタスクを実行することができ、又は、目標関数のいずれの評価についても同様のシナリオを採用することができる(即ち、たとえば、物体は、常に同一の位置にある)。未知の作用を最小限に抑制する目的で、実際に可能な限り、シナリオを同様に維持することが有用になり得る。パラメータセットごとにそれぞれ異なるシナリオの集合を実行して、複数の実行にわたる平均値を形成することが実際に可能である場合には、やはり有用になり得る。実際の観点からは、シナリオを正確に繰り返すことが、場合によっては不可能であるかもしれないが、これは、BBOに対する排除基準でもなく、結果が悪くなったり又は最適化が緩慢になったりする可能性があるだけである。
上述のロボット制御方法をたとえば、ロボット操作タスクのために使用することができ、この場合にはエキスパートがロボットの望ましい挙動を予め定めて指定する。これは特に、特定の組み立てステップが複雑な運動を必要とし、同時に付加的な条件を満たす必要がある、ロボット支援による組み立ての場合に当てはまる。たとえば、ある組み立てプロセスにおいて、1つのピンを特定の手法で他の被加工物に挿入する必要がある。この運動を完全に形式的に記述することは困難であると考えられるので、人間がこの運動をデモンストレーションすることができるが、それにもかかわらず、接触力の低減又は目標ポジション精度といったような特定の制約を達成することが望ましく、これらは場合によってはあまり最適にはデモンストレーションされない。
以下、様々な実施例について記載する。
実施例1は、上述のようにロボット装置を制御する方法である。
実施例2は、実施例1に記載の方法であって、この方法はさらに、信号時相論理に従って少なくとも1つの条件を少なくとも1つの信号時相論理式で表現するステップと、少なくとも1つの信号時相論理式を少なくとも1つのロバストネス基準に変換するステップと、タスクの実行のために少なくとも1つのロバストネス基準の値を求めることにより、目標関数を評価するステップと、を含む。
条件を捕捉するために信号時相論理(英語のSignal Temporal Logicを表すSTL)を使用することにより、たとえば、時間演算子に対するタイムインターバルを記述することが可能であることから、条件の表現力豊かな仕様記述が可能となる。換言すれば、少なくとも1つの条件は、1つ又は複数のタイムインターバル及び1つ又は複数の連続信号によって表現される。STL式を実数値の報酬関数、いわゆるロバストネス基準に変換する効率的なアプローチが存在しており、これはその数学的特性ゆえに、ロボット制御モデルの効率的かつ表現力豊かな最適化を可能にする。
実施例3は、実施例1又は2に記載の方法であって、この場合、ロボット制御モデルのパラメータは、時間に関連づけられたパラメータと、位置に関連づけられたパラメータとを有する。
たとえば、時間に関連づけられたパラメータとして持続確率を有し、位置に関連づけられたパラメータとして(たとえば)平均的な長さを有するHSMMといったように、かかるパラメータを有するロボット制御モデルは、条件の仕様記述のためにSTLを使用することに非常に良好に対応しており、それというのも、STLは、時間的及び空間的な条件を定式化するからである。
実施例4は、実施例1から3までのいずれか1つに記載の方法であって、この場合、ロボット制御モデルは、隠れセミマルコフモデル(英語のHidden Semi Markov Modelを表すHSMM)である。
(たとえば、LfDのために)HSMMモデルを使用することによって、学習されたスキル(即ち、タスクを実行するためのスキル)のための離散的な状態に基づくモデルがもたらされ、このモデルによれば、各状態が軌跡に沿った確率論的通過点におおよそ対応し、遷移持続時間によって軌跡の個々の区間の実行速度が定義される。これにより、STL目標と能力モデルのパラメータとの間の自明の結合が形成されるようにして、STL条件の仕様記述に対する有用な基礎が提供される。
実施例5は、実施例1から4までのいずれか1つに記載の方法であって、この場合、少なくとも1つの連続的なセンサ信号は、ロボット装置の一部の位置及び/又はロボット装置の一部に作用する力を表す。
かくして、特に、ロボット装置が特定の領域内(又は領域外)に(たとえば、エンドエフェクタと共に)留まること、及び、(たとえば、操作される物体に対しロボット装置が及ぼす)許容された力を超えない、という条件を指定することができる。
実施例6は、実施例1から5までのいずれか1つに記載の方法を実施するように構成されているロボット制御装置である。
実施例7は、プロセッサによって実行されると、このプロセッサに実施例1から5までのいずれか1つに記載の方法を実施させるための命令を含むコンピュータプログラムである。
実施例8は、プロセッサによって実行されると、このプロセッサに実施例1から5までのいずれか1つに記載の方法を実施させるための命令を格納しているコンピュータ可読媒体である。
図面において、類似した参照符号は、種々のすべての図面において、総じて同一の部分に適用される。図面は、必ずしも縮尺どおりではなく、その代わりに総じて本発明の原理を描くことに重点が置かれている。以下の説明においては、種々の態様について以下の図面を参照しながら説明する。
以下の詳細な説明は、本発明を実施可能な本開示の特別な詳細及び態様を説明するために示す添付の図面に関係するものである。他の態様を使用することができ、本発明の保護範囲から逸脱することなく、構造的、論理的及び電気的な変更を実施することができる。新たな態様を形成する目的で、本開示のいくつかの態様を、本開示の1つ又は複数の他の態様と組み合わせることができることから、本開示の種々の態様は必ずしも互いに排他的なものではない。
以下においては、様々な実施例についてさらに詳細に説明する。
図1には、ロボット100が示されている。
ロボット100は、ロボットアーム101、たとえば、被加工物(又は、1つ又は複数の他の物体)を取り扱う又は組み立てるための産業用ロボットアームを含む。ロボットアーム101は、マニピュレータ102,103,104と台座(又は支持部)105とを含み、この台座105によりマニピュレータ102,103,104が支持されている。用語「マニピュレータ」は、ロボットアーム101の可動要素に適用されるものであり、それらを操作することによって、たとえばある1つのタスクを実行する目的で、周囲との物理的な相互作用が可能となる。制御のために、ロボット100は、(ロボット)制御装置106を含み、この制御装置106は、制御プログラムに従って周囲との相互作用を実現するように構成されている。マニピュレータ102,103,104の(支持部105から最も離隔している)最後の要素104は、エンドエフェクタ104とも称され、たとえば、溶接バーナ、グリッパ器具、ラッカ工具などのような1つ又は複数の工具を含み得るものである。
(台座105に近い)他のマニピュレータ102,103は、ポジショニング装置を成すことができ、これによりエンドエフェクタ104と共働して、ロボットアーム101にはその端部にエンドエフェクタ104が設けられた状態となる。ロボットアーム101は機械的なアームであって、これは(場合によってはその端部に工具を持たせて)人間の腕と類似した機能を果たすことができる。
ロボットアーム101は、ジョイント要素107,108,109を含み得るものであり、これらのジョイント要素107,108,109によって、マニピュレータ102,103,104が互いに接続され、かつ、台座105と接続される。ジョイント要素107、108、109は、1つ又は複数のジョイントを有し得るものであり、それらのジョイント各々によって、対応するマニピュレータ相互間で相対的に回転可能な運動(即ち、回転運動)及び/又は並進運動(即ち、シフト)をもたらすことができる。マニピュレータ102,103,104の運動を、制御装置106によって制御されるアクチュエータを用いて生じさせることができる。
用語「アクチュエータ」は、自身が駆動されることに対するリアクションとして、メカニズム又はプロセスに作用を与えるように設計されている構成要素であると解することができる。アクチュエータは、制御装置106によって出力された命令(いわゆるアクティベーション)を機械運動に変換することができる。アクチュエータ、たとえば電気機械変換器を、そのアクティベーションに基づきリアクションとして電気エネルギーを機械エネルギーに変換するように構成することができる。
用語「制御装置」は、以下のようなエンティティを実装する任意のタイプのロジックであると解することができる。即ち、このエンティティは、たとえば、記憶媒体に格納されているソフトウェアを実行可能な回路及び/又はプロセッサ、ファームウェア又はこれらの組合せを含み得るものであり、命令を、たとえば本実施例においては、アクチュエータに出力することができる。ロボットの動作を制御する目的で、制御装置をたとえばプログラムコード(たとえばソフトウェア)によって構成することができる。
本実施例においては、制御装置106は、1つ又は複数のプロセッサ110及び記憶装置111を含み、この記憶装置111は、コード及びデータを格納しており、これらに基づきプロセッサ110は、ロボットアーム101を制御する。種々の実施形態によれば、制御装置106は、記憶装置111内に格納されている機械学習モデル112に基づき、ロボットアーム101を制御する。ロボット100は、たとえば、物体113を拾い上げるように指示されている。たとえば、エンドエフェクタ104はグリッパであり、物体113を拾い上げるように指示されており、ただし、エンドエフェクタ104は、たとえば、物体113を吸引して拾い上げるように構成することもできる。
種々の実施形態によれば、ロボット100にタスクを実行させるように教える目的で、デモンストレーションからの学習(英語のLearning from Demonstrationsを表すLfD)が用いられる。人間によるデモンストレーションを、ロボットのためのタスクの予定されたプランを表現する機械学習モデル112(このケースにおいては、確率モデル又は統計モデル)によって符号化することができる。次いで、制御装置106は、望ましいロボット運動を生成する目的で、ロボット軌跡モデルとも称される統計モデル112を使用することができる。
LfDの基本的な着想は、たとえばGMMのような予め記述された運動スキルモデルを、複数のデモンストレーションから成る集合に調整することである。M個のデモンストレーションが存在するものとし、それらのデモンストレーションのうち各々が、N=ΣmTm個の全観測
のデータセットについて、Tm個のデータポイントを含み、ここで、
である。ここでは、(たとえば着目対象物体のローカル座標系又は参照フレームなど、タスクパラメータによって与えられる)P個のそれぞれ異なる座標系の視点から、同一のデモンスレーションが記録される、ということも前提とされる。かかるデータを取得するための一般的な手法は、デモンストレーションを静的なグローバル参照フレームから参照フレームpへ、
によって変換することである。ここで、
は、グローバル座標系(即ち、グローバル参照フレーム)に関連づけられた(ローカル)参照フレームpの並進及び回転である。次いで、TP-GMMがモデルパラメータ
によって記述され、ここで、Kは、混合モデルにおけるガウス成分の個数を表し、πkは、各成分の先行の確率であり、
は、参照フレームp内のk番目のガウス成分のパラメータである。
標準GMMとは異なり、上述の混合モデルは、参照フレームごとに独立して学習することができない。実際には、すべての参照フレームにおける混合係数πkが分割され、参照フレームp内のk番目の成分は、グローバル参照フレーム内の対応するk番目の成分にマッピングしなければならない。期待値最大化(EM)は、かかるモデルを学習するための確立された方法である。
学習されたならば直ちに、TP-GMMを実行中に使用して、学習された運動スキルのための軌跡を再現することができる。これにはロボットの制御が含まれ、従って、ロボットは、初期コンフィギュレーションから目標コンフィギュレーションに到達する(たとえば、エンドエフェクタ104が初期姿勢から終了姿勢に移動する)。この目的で、ジョイント要素107,108,109における(時間に依存する)加速度が計算される。
観測される参照フレーム
を考慮して、学習されたTP-GMMは、それぞれ異なる参照フレームを介してアフィン変換されたガウス成分の乗算によって、複数のパラメータ
を含むただ1つのGMMに次式のように変換される。即ち、
ここで、各参照フレームpにおいて更新されたガウスベル曲線のパラメータが
として計算される。タスクパラメータは、経時的に変動する可能性があるとはいえ、時間インデクスは、表記の都合上省略される。
観測される参照フレーム
隠れセミマルコフモデル(HSMM)は、基礎を成す確率論的プロセスの時間情報を埋め込むことによって、標準隠れマルコフモデル(HMM)を拡張する。つまり、HMMでは、基礎を成す隠れプロセスがマルコフであるとみなされ、即ち、次の状態への遷移の確率が現在の状態のみに依存するのに対し、HSMMでは、状態プロセスがセミマルコフであるとみなされる。このことが意味することは、次の状態への遷移が、現在の状態と、この状態に入って以降に経過した時間とに依存する、ということである。デモンストレーションの空間的時間的特徴を学習する目的で、ロボット運動スキルの符号化のために、TP-GMMと組み合わせてこれらを適用することができる。タスクパラメータ化されたHSMMモデル(TP-HSMMモデル)は、以下のように定義されている。即ち、
ここで、ahkは、状態hからkへの遷移確率であり、
は、状態kの持続時間にわたるガウス分布を表し、即ち、相前後して続く特定の個数のステップにわたり状態kに留まる確率であり、
は、状態kに対応する観測確率を表す以前に導入されたTP-GMMと等しい。ここで留意されたいことは、状態の個数は、「結合された」TP-GMM内のガウス成分の個数を表している、ということである。
観測されるデータポイント
の特定の(部分的な)シーケンスを考慮して、Θにおける対応する状態シーケンスがst=s1s2...stによって与えられていると仮定することが望ましい。データポイントξtが状態kに属する(即ち、st=kである)確率は、順方向変数
によって与えられている。即ち、
ここで、
は出力確率であり、(1)の
は、タスクパラメータを考慮して導出されたものである。さらに、Tm個に至るまでの将来のステップを予測する目的で、同一の順方向変数を再現中にも使用することができる。
ただし、このケースにおいては、将来の観測を利用することができないことから、遷移情報及び持続情報だけが使用され、即ち、式(2)においてすべてのk及びlがtよりも大きいときには、
の代入によってこのことが行われる。最後に、最大確率の状態シーケンス
が、
の選択によって決定される。
ここで、ロボット状態の望ましい最終観測がξTとして与えられるものとし、ここで、Tは、運動スキルの計画対象期間(たとえば複数のデモンストレーションについての平均的な長さ)である。なお、最初のロボット状態はξ1として観測される。学習されたモデルΘaを考慮して運動スキルを実行(即ち、運動スキルを再現)するために、ξ1及びξTだけを考慮して最大確率の状態シーケンス
だけが構築される。
このケースにおいては、順方向変数を用いた再現は、そのままでは行うことができない。それというのも、式(2)における順方向変数は、最大周辺確率の状態のシーケンスを計算するのに対し、望ましいのは、ξ1及びξTを考慮したときの最大同時確率の状態シーケンスだからである。よって、(2)が使用される場合には、返されたシーケンス
が、デモンストレーションの空間的時間的パターンにも最終観測にも一致するという保証はない。物体を拾い上げるための例に関して、望ましい最終コンフィギュレーションが、エフェクタが物体の上面に存在しているということであったとしても、「側方からの拾い上げ」に対応する最大確率のシーケンスが返される場合がある。
この問題を解決する目的で、1つの実施形態によれば、ビタビアルゴリズムの修正が使用される。観測されたイベントの所与の流れに至る最大確率の状態シーケンス(ビタビパスとも呼ばれる)をHMMにおいて探し出す目的で、古典的なビタビアルゴリズムを使用することができる。1つの実施形態によれば、以下の2つの主要な観点でこれとは異なる方法が使用される。即ち、(a)これはHMMではなくHMMにおいて動作する。さらに重要なことに(b)最初と最後の観測結果を除いて、ほとんどの観測結果が欠けている。特に観測が存在しない場合、ビタビアルゴリズムは、
となり、ここで、
は、状態jの持続確率であり、δt(j)は、システムが時間tのときには状態jにあり、時間t+1のときには状態jにない、という確率であり、
ここで、
は、ξtを考慮した(1)のΘaにおけるグローバルガウス成分jである。即ち、いずれの時間tであっても状態jごとに、方程式δt(j)を最大化する2つの引数が記録され、最大確率の状態シーケンス
を探し出す目的で、単純なトレースバックプロシージャが使用される。換言すれば、上述のアルゴリズムは、ξ1を起点として最終観測ξTをもたらす運動スキルaに対する最大確率のシーケンス
を導出する。
このとき、ロボット100の(運動)スキルのために、特定の用途において、スキル実施にあたりロボット100により遵守される特定の条件を定義可能であることが望ましい場合がある。これに関する例は、特定の力若しくは摩擦を超えない(たとえば、2つの部分が互いに過度に強く押圧されない、又は、スリーブが過度の摩擦を伴ってロッド上でシフトされない)、又は、特定の空間領域から離れない、ということである。
種々の実施形態によれば、LfDを用いて学習されたスキル(又は能力)の範囲内で、形式的仕様記述を考慮するためのアプローチが提供される。具体的には、種々の実施形態によれば、LTLに比較して表現が強化された時相論理の1つのバリエーションである信号時相論理(STL)が、報酬関数の形態でタスク仕様記述を定式化するために使用され、LfDを用いて隠れセミマルコフモデル(HSMM)として学習されたスキルを調整する目的で、ブラックボックス最適化アプローチ(BBO)が使用される。
従って、種々の実施形態は、STL、BBO及びLfDを用いてHSMMとしてロボットスキルを学習することに基づいている。STL仕様記述からBBOのための目標関数への変換については、様々なロバストネス基準の記述に関する参考文献[3]を参照されたい。これらを以下において説明する実施形態に関連して使用することができる。BBOのためには、ベイズ最適化(BO)又はCMA-ES(共分散行列適応進化戦略)を使用することができる。以下において説明する実施形態は、使用されるBB最適化技術に関して特定の前提をなすものではない。
種々の実施形態によれば、最適化方法を用いることにより、特定のスキルのためのロボット制御モデルが、所与の条件を考慮するように改善される。このことは、反復プロセスによって行われ、これによれば、所定の条件を反映するある1つの目標の仕様記述に関連して、ロボット制御モデルの改善されたバージョンを取得する目的で、以下のオペレーション(1乃至4、下記参照)が任意の回数にわたり繰り返される。
ある1つのスキルのための初期のロボット制御モデルを起点として、種々の実施形態によれば、たとえば、人間の複数のデモンストレーションから成る集合(たとえば、参照軌跡)及び複数の条件(たとえば、付帯条件としてある1つのタスクを実施する際に達成すべき目標)から成る形式的STL仕様記述から導出された、HSMMを起点として、以下のステップが(たとえば、制御装置106によって)繰り返し実施される。
1)スキルのためのロボットモデルの修正(バリエーション)を決定するステップ。
2)ロボットモデルの修正を用いてスキルを実施し、その際に発生する(センサ)信号を記録するステップ。
3)記録された信号が、条件について予め定められたSTL仕様記述にどの程度一致している(即ち、これを満たしている)のかを評価するステップ。
4)BBOオプティマイザを更新して、(条件を満たすことに関して)現在最良の修正をマークするステップ。
1)スキルのためのロボットモデルの修正(バリエーション)を決定するステップ。
2)ロボットモデルの修正を用いてスキルを実施し、その際に発生する(センサ)信号を記録するステップ。
3)記録された信号が、条件について予め定められたSTL仕様記述にどの程度一致している(即ち、これを満たしている)のかを評価するステップ。
4)BBOオプティマイザを更新して、(条件を満たすことに関して)現在最良の修正をマークするステップ。
図2には、上述の4つのオペレーションによる所与の条件へのロボット制御モデルの調整について具体的に説明するフローチャート200が示されている。
オペレーション1)の場合、ある1つのスキルのためのロボット制御モデルを様々な手法で、即ち、ロボット制御モデルの一連の様々なパラメータ201を修正することによって、変更することができる。HSMMモデルの表現に基づき、かかるパラメータ201に対する自明の選択は、構成要素の平均的な位置
、構成要素の持続時間にわたる確率分布のパラメータ
、及び、構成要素間の遷移確率ahkである。これらは、妨害(変更)
による修正のたびに修正され、これによってロボット制御モデルが修正される。
これに加えて、オペレーション1)の場合、修正のためのパラメータの決定を様々な手法で行うことができ、これは主としてBBO法の選択に依存する。たとえば、パラメータ値をランダムに選択することができる。ベイズ最適化(BO)の場合、パラメータ値は、通常(最適化パラメータの初期化204を起点として)、いわゆる獲得関数202の最適化によって求められ、その際、パラメータの選択と予期される目標値との間の関係をモデリングする目的で、(未知の)最適化すべき関数の代替(たとえばガウスプロセス203)が形成される。CMA-ESを使用する場合、より高い目標関数に至るパラメータをより高い確率でサンプリングする目的で、時間の経過と共に修正される確率分布から、パラメータ値が取り出される。
ロボット制御モデルの修正後、修正されたロボット制御モデルに従ってスキルの実行206が行われる。
オペレーション2)の場合、所与のSTL仕様記述205は、一連のいわゆる評価によって表現され、これはスキル実行の特定の特性、たとえばわずかな大きさの接触力の維持又は作業空間の特定の領域外又は領域内での残留を要求する。これによって、どのセンサ信号をタスク実行中に記録しなければならないかが直接表されており、即ち、どの量を測定しなければならないかが表されている(即ち、ロボット、たとえばエンドエフェクタ104の、たとえば個々の接触力又はポジション)。
オペレーション3)の場合、実行206において記録された信号が離散化され、これらの信号について(たとえば参考文献[3]に記載されているように)、STL仕様記述205のロバストネスメトリック207の値を計算することができる。タスク最適化の目的に適している、様々な特性を有するロバストネスメトリックの様々な定式化が存在している。わかりやすいメトリックは、いわゆる空間ロバストネスであって、これは、離散化された信号に沿った個々の時点ごとに命題の真理値が変化するまでの信号値の距離を測定する。このメトリックは、たとえば、測定された力と指定された接触力との間の差を測定し、又は、作業空間内の特定の領域までのユークリッド距離を測定する。
オペレーション4)の場合、モデルパラメータ201の変更も、STL仕様記述による目標の、結果として生じる値207も既知であり、使用されているBBO法に引き渡すことができる。このオペレーションも使用されるBBO法に依存する。BOのケースでは、たとえば、得られた観測を取り入れる目的でガウスプロセス(GP)203が更新され、又は、CMA-ESのケースでは、ランダムサンプル分布が相応に更新される。極端なケースでは、たとえば、パラメータのランダムサンプルにおいて、このステップを省略することができる。
要約すると、種々の実施形態によれば図3に示されているような方法が提供される。
図3には、ロボット装置を制御する方法を表すフローチャート300が示されている。
ステップ301において、タスクを実行するためのロボット制御モデルが生成され、その際、ロボット制御モデルは、タスクの実行に作用を及ぼすパラメータを有する。
ステップ302において、ロボット制御モデルのパラメータが目標関数の最適化によって調整され、この目標関数は、タスク実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する。
ステップ303において、ロボット装置は、タスクを実行するためのロボット制御モデルに従って、調整されたパラメータによって制御される。
図3の方法を、1つ又は複数のデータ処理ユニットを備えた1つ又は複数のコンピュータによって実施することができる。用語「データ処理ユニット」を、データ又は信号の処理を可能にする任意のタイプのエンティティのことであると解することができる。データ又は信号をたとえば、データ処理ユニットが実行する少なくとも1つの(即ち、1つ又は1つより多くの)特別な機能に従って処理することができる。データ処理ユニットは、アナログ回路、ディジタル回路、ロジック回路、マイクロプロセッサ、マイクロコントローラ、中央ユニット(CPU)、グラフィック処理ユニット(GPU)、ディジタル信号プロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)集積回路、又は、これらの任意の組合せを含み得るものであり、又は、これらから成るものとし得る。本明細書においてより詳細に説明される個々の機能を実装するための他の任意の手法を、データ処理ユニット又はロジック回路装置として解することもできる。本明細書において詳細に説明されるプロセスステップのうちの1つ又は複数を、データ処理ユニットによって、このデータ処理ユニットが実行する1つ又は複数の特別な機能を介して、実施する(たとえば、実装する)ことができる。
図3のアプローチは、ロボット装置のための制御信号の生成に用いられる。用語「ロボット装置」を、(運動が制御される機械部分を備えた)任意の技術システムに関係するものと解することができ、たとえば、コンピュータ制御機械、車両、家庭用装置、電動工具、製造機械、パーソナルアシスタント、又は、アクセス制御システムなどである。技術システムに対する制御規則が学習され、それに応じて技術システムが制御される。
制御信号を生成するために、1つ又は複数の受信されたセンサ信号から得られた(センサ)データが、たとえば、スカラー時系列の形態で処理され、それらのデータには、たとえば、ロボットエンドエフェクタ姿勢(ポジション及び配向)、力、ロボットジョイント力などのようなあらゆる種類の軌跡に関する特定のデータが含まれる。
これらのセンサデータが処理され、これにはセンサデータの分類、又は、センサデータにおけるセマンティックセグメンテーションの実施を含めることができ、これによって、1つ又は複数の条件の、ユーザによって与えられた形式的仕様記述の遵守(及び遵守の定量化)に関して、(センサデータが得られた環境における)物体の存在を検出することができる。
機械学習システムをトレーニングし、たとえば、ロボットマニピュレータによって自律的に、ロボットを制御するという状況において、様々なシナリオのもとで様々な操作タスクを達成する目的で、実施形態を使用することができる。特に実施形態を、たとえば組み立てラインにおいて、操作タスクの実行の制御及び監視に適用することができる。たとえば、制御プロセスのための従来のGUIとシームレスに、(たとえば、ユーザによる条件の仕様記述を実現する目的で)実施形態を統合することができる。
本明細書において特別な実施形態について示し説明してきたが、当業者には自明のとおり、図示され説明されている特別の実施形態を、本発明の保護範囲から逸脱することなく、代替的な及び/又は等価の多様な実装形態と取り替えることができる。本願は、本明細書において論じられている特別な実施形態のいかなる調整又は変形も包含するものである。よって、本発明は、特許請求の範囲及びその等価物によってのみ限定される、ということが意図されている。
Claims (8)
- ロボット装置を制御する方法であって、
タスクを実行するためのロボット制御モデルを生成するステップであって、前記ロボット制御モデルは、前記タスクの実行に作用を及ぼすパラメータを有する、ステップと、
前記ロボット制御モデルの前記パラメータを目標関数の最適化によって調整するステップであって、前記目標関数は、前記タスクの実行時における少なくとも1つの連続的なセンサ信号の時間推移に対する少なくとも1つの条件の遵守を評価する、ステップと、
前記タスクを実行するための前記ロボット制御モデルに従って、調整された前記パラメータによって前記ロボット装置を制御するステップと、
を含む、ロボット装置を制御する方法。 - 信号時相論理に従って前記少なくとも1つの条件を少なくとも1つの信号時相論理式で表現するステップと、
前記少なくとも1つの信号時相論理式を少なくとも1つのロバストネス基準に変換するステップと、
前記タスクの実行のために前記少なくとも1つのロバストネス基準の値を求めることにより、前記目標関数を評価するステップと、
をさらに含む、請求項1に記載の方法。 - 前記ロボット制御モデルの前記パラメータは、時間に関連づけられたパラメータと、位置に関連づけられたパラメータとを有する、請求項1又は2に記載の方法。
- 前記ロボット制御モデルは、隠れセミマルコフモデル(英語のHidden Semi Markov Modelを表すHSMM)である、請求項1から3までのいずれか1項に記載の方法。
- 前記少なくとも1つの連続的なセンサ信号は、前記ロボット装置の一部の位置及び/又は前記ロボット装置の一部に作用する力を表す、請求項1から4までのいずれか1項に記載の方法。
- 請求項1から5までのいずれか1項に記載の方法を実施するように構成されているロボット制御装置。
- プロセッサによって実行されると、前記プロセッサに請求項1から5までのいずれか1項に記載の方法を実施させるための命令を含むコンピュータプログラム。
- プロセッサによって実行されると、前記プロセッサに請求項1から5までのいずれか1項に記載の方法を実施させるための命令を格納しているコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022201116.3A DE102022201116B4 (de) | 2022-02-02 | 2022-02-02 | Verfahren zum Steuern einer Robotervorrichtung |
DE102022201116.3 | 2022-02-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023113133A true JP2023113133A (ja) | 2023-08-15 |
Family
ID=87160520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023013714A Pending JP2023113133A (ja) | 2022-02-02 | 2023-02-01 | ロボット装置を制御する方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230241772A1 (ja) |
JP (1) | JP2023113133A (ja) |
CN (1) | CN116533229A (ja) |
DE (1) | DE102022201116B4 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117656082B (zh) * | 2024-01-29 | 2024-05-14 | 青岛创新奇智科技集团股份有限公司 | 基于多模态大模型的工业机器人控制方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019001207A1 (de) | 2018-02-19 | 2019-08-22 | Boll Automation Gmbh | Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks |
EP3587045A1 (de) | 2018-06-28 | 2020-01-01 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems |
DE102019203634A1 (de) | 2019-03-18 | 2020-09-24 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Ansteuern eines Roboters |
DE102019207410A1 (de) | 2019-05-21 | 2020-11-26 | Robert Bosch Gmbh | Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators |
EP3753684B1 (en) | 2019-06-21 | 2022-08-10 | Robert Bosch GmbH | Method and system for robot manipulation planning |
DE102019216229B4 (de) | 2019-10-07 | 2022-11-10 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung |
US20210125052A1 (en) | 2019-10-24 | 2021-04-29 | Nvidia Corporation | Reinforcement learning of tactile grasp policies |
DE102020206916A1 (de) | 2020-06-03 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Steuereinrichtung und Verfahren zum Auswählen von Auswertungspunkten für ein Bayessches Optimierungsverfahren |
DE102020207085A1 (de) | 2020-06-05 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern eines roboters und robotersteuereinheit |
DE102020209685B4 (de) | 2020-07-31 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung |
-
2022
- 2022-02-02 DE DE102022201116.3A patent/DE102022201116B4/de active Active
-
2023
- 2023-01-30 US US18/161,142 patent/US20230241772A1/en active Pending
- 2023-01-31 CN CN202310119135.9A patent/CN116533229A/zh active Pending
- 2023-02-01 JP JP2023013714A patent/JP2023113133A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022201116B4 (de) | 2024-05-16 |
US20230241772A1 (en) | 2023-08-03 |
DE102022201116A1 (de) | 2023-08-03 |
CN116533229A (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nagabandi et al. | Deep dynamics models for learning dexterous manipulation | |
JP7387920B2 (ja) | ロボットを制御するための方法及びロボットコントローラ | |
Yu et al. | Global model learning for large deformation control of elastic deformable linear objects: An efficient and adaptive approach | |
US10913152B2 (en) | Robot device controller, robot device arrangement and method for controlling a robot device | |
US20080243307A1 (en) | Apparatus and Method for Generating and Controlling the Motion of a Robot | |
US20240173854A1 (en) | System and methods for pixel based model predictive control | |
CN112109079A (zh) | 用于机器人操控规划的方法和系统 | |
US20220161424A1 (en) | Device and method for controlling a robotic device | |
US11759947B2 (en) | Method for controlling a robot device and robot device controller | |
Khansari-Zadeh et al. | Learning to play minigolf: A dynamical system-based approach | |
KR20220155921A (ko) | 로봇 디바이스를 제어하기 위한 방법 | |
US20220143831A1 (en) | Method for controlling a robotic device and robot control unit | |
JP2022061022A (ja) | 力及びトルク誘導ロボット組立のための技術 | |
US20220371194A1 (en) | Method for controlling a robotic device | |
JP2023113133A (ja) | ロボット装置を制御する方法 | |
CN114290323A (zh) | 用于控制机器人装置的装置和方法 | |
Alt et al. | Robot program parameter inference via differentiable shadow program inversion | |
JP7375587B2 (ja) | 軌道生成装置、多リンクシステム、及び軌道生成方法 | |
KR20210090098A (ko) | 로봇 제어 장치 및 로봇 제어 방법 | |
Hangl et al. | A novel skill-based programming paradigm based on autonomous playing and skill-centric testing | |
Havoutis et al. | Online incremental learning of manipulation tasks for semi-autonomous teleoperation | |
Su et al. | Enhanced kinematic model for dexterous manipulation with an underactuated hand | |
Beik Mohammadi et al. | Mixed-reality deep reinforcement learning for a reach-to-grasp task | |
Belter et al. | Kinematically optimised predictions of object motion | |
Queißer et al. | Skill memories for parameterized dynamic action primitives on the pneumatically driven humanoid robot child affetto |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230302 |