(57)【特許請求の範囲】
【請求項１】
予め定義されたアクションのセットに基づいて作動される少なくとも一つのロボットの動作を改善する方法であって、
−アクションライブラリ（６）に保存されているオリジナルアクションのセットのうちの少なくとも２つであって、前記ロボットにより実行されるべき最適なアクションの順が示された制御ポリシーによって順次実行されることとなる２つのアクションを組み合わせて、少なくとも２つのアクションが並行して実行される複合アクション（Ｓ１、Ｓ３）を生成するステップと、
−前記オリジナルアクションに加えて前記複合アクションをアクションライブラリ（６）に保存するステップと、
−生成された複合アクションを追加した後の前記アクションライブラリ（６）内に現在保存されているアクションのセットにアクションの順次実行よりもアクションの並行実行が好ましいと評価する報酬関数を用いた強化学習アルゴリズムを適用して、前記オリジナルアクションと前記複合アクションとを用いる新しい制御ポリシーを学習するステップと、
−前記強化学習アルゴリズムを適用することにより、使用しないことに決定された前記複合アクションを、前記アクションライブラリ（６）から削除して、結果として得られたアクションライブラリを生成し、
−前記結果として得られたアクションライブラリ（６）と、前記強化学習アルゴリズムを適用して学習した前記新しい制御ポリシーと、に基づいて、ロボット（１０、１５．１、１５．２）を作動させるステップと、
を有する方法。
【請求項２】
前記複合アクションは、少なくとも２つのオリジナルアクションの組み合わせであり、そのような組み合わせは、前記アクションライブラリ（６）の全てのオリジナルアクションのうちのオリジナルアクションの、全ての可能なペアについて実行される（Ｓ１）、
ことを特徴とする、請求項１に記載の方法。
【請求項３】
どの複合アクションが不可能かを決定し、それら不可能な複合アクションを前記ライブラリに保存することを行わない、
ことを特徴とする、請求項２に記載の方法。
【請求項４】
前記オリジナルアクションと前記複合アクションとを含むアクションの前記セットについての制御ポリシーの学習が、前記強化学習アルゴリズムを適用することにより実行される（Ｓ４）際に、前記オリジナルアクションのみに基づいて生成された制御ポリシー（Ｓ２）についての知識が使用される、
ことを特徴とする、請求項１ないし３のいずれか一項に記載の方法。
【請求項５】
前記強化学習アルゴリズムの適用のため、複合アクション及び又はより速いタスク達成を良しとする報酬関数が用いられる、
ことを特徴とする、請求項１ないし４のいずれか一項に記載の方法。
【請求項６】
少なくとも、前記複合アクションを生成するステップ（Ｓ１、Ｓ３）、前記複合アクションを保存するステップ、及び強化学習アルゴリズムを適用するステップ（Ｓ４）が、シミュレーションとして実行される、
ことを特徴とする、請求項１ないし５のいずれか一項に記載の方法。
【請求項７】
少なくとも、前記複合アクションを生成するステップ（Ｓ１、Ｓ３）、前記複合アクシ
ョンを保存するステップ、及び強化学習アルゴリズムを適用するステップ（Ｓ４）は、複数回実行され、各繰り返し実行の際に、結果として得られたアクションライブラリ（６）のすべてのアクションが、次の繰り返し実行のためのオリジナルアクションを構成する、
ことを特徴とする、請求項１ないし６のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定義されたアクションのセットに基づいて作動される少なくとも一つのロボットの動作を改善するための方法に関する。
【背景技術】
【０００２】
近年、ロボットは、当該ロボットに与えることのできるタスクが例えば物を所定の位置から掴みとって所定の目標位置へ配置するといった単純なタスクに限定されない程度にまで、改良されている。現在では、ロボットは、状況認識を用い、当該状況認識を基礎として次に実行すべきアクションを決定することが多い。しかしながら、ロボットの挙動の全体は、未だに個別のアクションで構成されている。例えば、モーションは、より小さなモーション・チャンク（モーションの集団（塊）、motion chunk）（基本モーションと呼ばれることもある）として構成され得る。本発明の説明及び従来技術の説明において、用語“アクション”は、モーションには限定されない。用語“アクション”は、或る長さの時間における、又は或るイベントまでにおける、例えばロボットの関節、マニピュレータ、又はセンサなどの、或るロボットコンポーネントの、何らかのアクチュエーション（作動、actuation）として定義される。
【０００３】
特定のタスク又は所望の挙動を実行するためにロボットが用いるアクションは、通常、人間である設計者によって作成されるか、又は個別に学習される。その後に、そのような個々のアクションは、ロボットによって順番に、又は知覚された状態に対する反応（reaction）として実行される。しかしながら、ロボットに与えられるタスクは、そのようなアクションのシーケンスによって実行され得るものの、多くの場合、複数の異なるゴールに同時に到達すべくロボットに複数のアクションを並行に実行させることが望ましい。一つの例は、個別の基本モーションが、ヒューマノイド・ロボットの腕（アーム）等の、ロボットの個々のエンドエフェクタ（end-effectors）に影響を与え得る場合である。複数のアクションを並行に実行すれば、複合されたゴール（複合的なゴール、combined goal）に到達するのに要する時間を低減して効率を向上し得ることは明らかである。図５及び６は、そのような状況を示している。このシナリオは、ヒューマノイド型サービスロボット１０を示しており、タスクは、空のコップ１４を掴んで、後で運ぶトレイ１３上に置くことで、テーブルを片づけることである。トレイ１３の位置は変化し得るので、関節（ジョイント）の可動限界を超えることなくカップ１４をトレイ１３に置くことができるようにするためには、トレイ１３を、例えばロボット１０の作業範囲の中央へ向かって、横方向へ押すことが必要となり得る。周知のストラテジは、異なる複数のアクションを順次実行することである。すなわち、まずトレイ１３を第１のエンドエフェクタ１１によりロボット１０の作業範囲の中央へ押し、次に、当該ロボットの他のエンドエフェクタ１２によりカップ１４を掴んで置くことである。トレイ１３はロボット１０がカップ１４を置くことのできるエリアに存在することとなるので、その時点でこの動作を実行することが可能となる。
【０００４】
図６の示されているように、トレイ１３を押すことと、他の手（エンドエフェクタ）でカップ１４を掴むこと、という複合アクション（又は組み合わせアクション、combined action）を実行することが望ましい。
【０００５】
非特許文献１には、作業ロボットの効率を向上すべく、Ｑ学習（Q-learning）に基づく強化学習（reinforcement learning）を用いて、タスクをより迅速に完了するためのより良い選択を可能とする報酬（rewards）を算出することが記載されている。すなわち、そのような強化学習プロセスの結果である制御ポリシーは、タスク完了までに要する全時間という観点での効率を改善する。しかしながら、この技術も、シーケンシャルに実行されるアクションのみを用いている。
【０００６】
他方で、特許文献１には、どのようにして２つのアクションを同時に実行し得るか、が記載されている。ただし、この文献は、例えばモーション命令の混成（混合、blending）といった、２つのアクションをどのように同時実行するかについての課題に限定したものであり、そのような複合アクションの生成については何ら記載していない。すなわち、この文献は、複合アクションが実行されることとなるときに、それをロボットにおいてどのようにインプリメント（具体化、実施）するかの教示を与えるものである。最後に述べるが重要なものとして、非特許文献２には、要求された作業空間に基づいて双腕ロボット（two-arm-robot）が２つのアクションを並行化（並列化、parallelize）し得ることが記載されている。２つのアクションを並行に実行すべく、それら２つのアクションのための作業空間が分離しているか否かが判断される。その場合、これらのタスクは独立しており、２つの個別のモーションプランナを用いて適切なモーションが個別に生成され、最後にそれらのアクションが並行に実行される。このアプローチは、２つのアクションの幾何学的側面を考慮するのみである。２つのアクションの組み合わせが実現可能か否かという問題を更に評価することはしない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の目的は、予め規定されたアクションに基づいて作動される少なくとも一つのロボットの動作を改善する方法を提供することである。
【課題を解決するための手段】
【０００８】
この問題は、独立形式請求項に従う方法により解決される。有利な態様は、従属形式請求項（sub claims）に記載される。
【０００９】
本発明に係る方法によると、まず、アクションライブラリ（action library）に保存されているオリジナルアクション（original actions）の集合の中の少なくとも２つのアクションを組み合わせることにより、“複合アクション（combined actions）”が生成される。オリジナルアクションは、目標に到達すべく通常はシーケンシャルに実行されるように用いられる例えば基本モーション又はその他のアクションであり得る。複合アクションとは、並行に実行されることとなる少なくとも２つのアクションで構成される一のアクションである。“並行に”とは、２つのアクションが、同時に開始されるか、予め定められた所定の遅延を持って開始されるか、又は同時に終了するか、のいずれかを意味する。
【００１０】
そのような複合アクションは、生成されると、アクションライブラリ内に、既に保存されているオリジナルアクションに加えて保存される。すなわち、当該アクションライブラリは、新たな又は拡張されたアクションライブラリとなり、強化学習アルゴリズムを適用するための基礎となる。アクションライブラリに現在保存されているアクションのセットが強化学習アルゴリズムに適用され、オリジナルアクション及び複合アクションを用いる制御ポリシーが学習される。したがって、その後は、新しい制御ポリシーに基づいて、及び、特に拡張された新しいアクションライブラリ（順次実行され得るオリジナルアクションのみならず、ロボットが作動されたときに効率を向上し得る複合アクションをも含んでいる）に基づいて、ロボットを制御することが可能となる。
【００１１】
複合アクションの自動生成を実行することのみならず、そのとき利用可能なすべてのオプションを利用して新たな制御ポリシーに到達し得ることは、拡張されたアクションライブラリの拡張されたセットに強化学習アルゴリズムを適用するときに特に利点がある。
【００１２】
不要な計算量（計算負荷、calculation efforts）を回避すべく、複合アクションを使用しないことが決定され得る。そして、強化学習後に、それらの複合アクションがライブラリから削除される。すなわち、その後の動作においてはこれらの（アクションの）組合せはもはや存在せず、従って、ライブラリは小さく保たれ得る。
【００１３】
複合アクションを生成するための複数の有利な方法がある。第１に、並行に実行されることとなる（したがって、一つの複合アクションを構成することとなる）初期のアクションライブラリの中の２つの（又はそれ以上の）オリジナルアクションを結合することは、有利である。そのような２つ（またはそれ以上）のオリジナルアクションの組み合わせは、オリジナルアクションについての想定され得る任意のペア（又はサブセット）について行われ得る。この場合、複合アクションの最大数は、数学的に可能な最大の数となり得る。もちろん、このような複合アクションは、合理的でないか、又は全く実行不可能なアクションを含み得る。したがって、複合アクションをライブラリに追加して保存する際に、不可能な複合アクションが特定されて省かれれば、さらに有利である。これには、その後の処理の際に考慮の対象となる複合アクションの数が少なくなるという利点がある。したがって、その後の強化学習ステップでは、計算量が低減される。
【００１４】
もう一つは、それ以前にアクションライブラリのオリジナルアクションのセットに対し強化学習を適用することによって得た既知の制御ポリシーを用いて、複合アクションを生成するアプローチである。多くの場合、このような強化学習ステップの結果である制御ポリシーについての知識が存在する。したがって、その制御ポリシーの中でどの２つのアクションが順次（シーケンシャルに）出現するかを特定することも、可能である。オリジナルの制御ポリシーに従って何らかの形で順次実行されるこれら２つの又はそれ以上のアクションを並列に実行することは有利であることが多いので、既知の制御ポリシーにおいて順次出現するきっかり２つのアクションの組み合わせが、複合アクションとして生成される。
【００１５】
さらに、有利には、オリジナルアクションに基づいて生成される制御ポリシーについての知識を用いて、オリジナルアクションと複合アクションとを含むアクションの新しいセットに対するポリシー学習（policy learning）が改善される。すなわち、古い制御ポリシーが強化学習アルゴリズムの出発点となって、計算効率がさらに改善される。
【００１６】
強化学習アルゴリズムが適用される際には、当該強化学習アルゴリズムにおいて用いられる報酬関数が複合アクションの好ましさを示し及び又はより迅速なタスク達成を支援することが、更に好ましい。これにより、複合アクションが考慮されること、及びその結果得られる制御ポリシーがオリジナルの制御ポリシーにおいて用いられたオリジナルアクションに対して改善された効率を持つこと、が保証される。
【００１７】
本方法は、実際のロボットに広く用いられ得るが、少なくとも、複合アクションの生成を行うステップと、当該複合アクションを保存するステップと、強化学習アルゴリズムを適用するステップと、を含むシミュレーションを実行することが特に好ましい。シミュレーションのアクションライブラリにおいて初期的に及び又は最終的に用いられたアクション及び複合アクションが、ロボットが備える実際のアクションライブラリ内にも保存され得ることは明らかである。本方法の実行後に、そのシミュレーションにおいてアクションライブラリに追加された複合アクションは、勿論、実際のロボットの実際のアクションライブラリにも追加され、このアクションライブラリに基づいて、そのロボットの運用動作が実行される。
【００１８】
他の有利な態様によると、本方法のステップは、続けて複数回にわたり繰り返し実行され得る。これにより、さらに複雑なアクションも生成することができる。複合アクションは、次の繰り返しステップにおいて単純なアクションと組み合わされたり、他の複合アクションとも組み合わされ得るためである。オリジナルアクションについての次の繰り返し処理で、全てのアクション（最初の繰り返し処理のオリジナルアクション、及び最初の繰り返し処理の複合アクション）を備えるアクションライブラリがそこに保存され、上述したのと同様のプロシージャにより組み合わされ得る。
【図面の簡単な説明】
【００１９】
以下に、更なる態様を含む及び有利な方法を、添付図面を参照しつつ説明する。図には、以下が示されている。
【００２０】
【図１】状態−アクション・マッピング（state-action mapping）を用いてロボットがアクションをどのように実行するのかを、説明するための図である。
【図２】本発明を例示する単純化されたフロー図である。
【図３】以前のシーケンシャルアクションを組み合わせて複合アクションを生成することを説明する図である。
【図４】オリジナルアクションと、アクションライブラリに追加された複合アクションと、に適用される強化学習アルゴリズムの、Ｑマップの一例を示す図である。
【図５】可能性のある用途を示すサービスロボットのシナリオである。
【図６】図５において複合アクションが適用された後の状態を示す図である。
【図７】２つの同様なロボットの並行作業に本発明を適用した例を示す図である。
【発明を実施するための形態】
【００２１】
本発明の説明を始める前に、本発明は、特定のタイプのロボットや特定のタイプのアクションに限定されるものではないことを強調しておく。多種多様な異なるロボット・タイプがあるものの、それらはすべて、それらの環境内において動作するという点において共通するからである。したがって、ロボットにより遂行され又は実行されるアクションも、多くの種類があり得る。それらのアクションは、それらの環境との、意図されたインタラクションに依存するためである。個別のビルディングブロック（基礎的要素、building blocks）と考えることのできるアクションには、例えば以下のようなものがある。
モーション：この場合、ロボットアクチュエータを用いて環境が操作され、あるいはロボットが移動される。
【００２２】
センシング：ロボットの環境を物理的に検知することのできるデバイス（例えば、カメラ、レーザ距離計（laser range finder）、触覚センサ（tactile sensor）、その他の同様のセンサ）が、ロボット又はロボットの特定のパーツに取り付けられ、当該ロボットの環境に関する情報を提供し得る。
【００２３】
オーディオ／スピーチ：聴覚機能又は発声機能は、ロボットを当該ロボットの環境内の存在物と通信できるようにすることを意図したものである。これは、ロボットが発話コマンドによってガイドされ又は指示される場合には、特に有利である。これとは逆に、ロボットは、検出した物や知覚した物体などについてコメントすることが可能である。
【００２４】
可視化：ロボットに直接的に設けられているか又は当該ロボットによって少なくとも制御されるコンピューターのディスプレイを用いて、当該コンピューターのディスプレイ上に表示される出力が最終的にそのロボットによって実行されるアクションとなるように、追加情報が与えられ得る。
【００２５】
アクションの例を示した上述のリストは、勿論、全てを網羅しているわけではない。この点に関しては、非特許文献３に多くが示されている。この文献には、異なる種々のタイプのロボットについて、アクションがどのようなものとなり得るかの概要が示されている。既に上述したように、本発明は、任意のタイプのロボットについての任意のタイプのアクションに適したものであることを意図している。本発明を理解するためには、まず、ロボットが実行すべきアクションがどのようにして選択されるかを理解することが重要である。人間である設計者により前もって定義された複数のアクションは、選択が可能である。そして、知覚された状態（state）を特定のアクションにマップする制御ポリシーに基づいて、ロボットにより実行されるべき特定のアクションが選択される。そのような処理フローを、図１に示す。まず、ロボットの知覚モジュール１が、センサ情報を処理する。検知された情報に基づいて、システムの状態（システム状態、system state）が分類される。その後、この分類されたシステム状態を用い、現在の状態に適していると考えられるアクションが、制御ポリシー２を用いて決定される。上述したように、制御ポリシーは、分類された状態に対し、ロボットにより実行されるべき適切なアクションをマップする。選択される可能性のあるアクションが、アクションライブラリ６に保存される。最先端のシステムによれば、アクションライブラリ６に保存されるアクションのセットは、全て人間である設計者により定義されたアクションであって、シーケンシャルにのみ実行されるアクションに限られている。このような先行技術とは異なり、本発明においては、実行用に選択される得るものとしてライブラリに保存されるアクションの数を拡張することが可能であり、それらの新しいアクションは、オリジナルアクションの少なくとも２つの組み合わせである。したがって、最終的に新しいアクション（複合アクション）が選択されて実行されるときには、その実行により、一つの複合アクションとして定義された２つのオリジナルアクションの、並行実行が行われることとなる。
【００２６】
アクションが選択されると、アクションエグゼキュータ３により当該アクションが解釈される。アクションエグゼキュータ３は、選択されたアクションに従ってロボットのアクチュエータ４の協働動作を操作する。すべてのアクションは環境との何らかのインタラクションであるので、選択されたアクションを実行すると、環境５が操作されて新しい状態が生まれることとなる。すなわち、環境についての知覚は永久に実行されるので、この処理ループは再び開始されることとなり、環境におけるこの変化に基づいて、実行すべき次のアクションが選択される。
【００２７】
最適な制御ポリシーを見出すべく強化学習等の最適化技術を適用することは、本技術分野では公知であることに留意すべきである。以下では、強化学習アルゴリズムの例としていわゆるＱ学習アルゴリズムを用いて説明を行う。本発明が、適用可能な多くのアルゴリズムの一つに特に限定されるものでないことは明らかである。強化学習アルゴリズムの一般的アイデアは、制御ポリシーを定義することに代えて、報酬関数（reward functions）を用いることである。システムの設計者は、これらのスカラー値を、望ましいイベントに関してはより大きく設定し、望ましくないイベントに関してはより低く設定する。強化学習は、設計者の知識から出発して、関連する状況において全体としての報酬が最大となる制御ポリシーを自動的に発見する。その考え方は、状況を調査し、アクション選択をランダムに行って、全体としての報酬の最大化に貢献するのはどのアクションか、を発見することである。調査は、ロボット自身において行うこともできるし、またはシミュレーションにおいて行うこともできる。これについては、ロボットの動作を最適化するための詳細なステップについて説明する際に後述する。その後に、アクションの拡張セットについての制御ポリシーを学習し及び複合アクションの実現可能性を評価すべく、Ｑ学習アルゴリズムが用いられる。
【００２８】
まず、本発明の特定の態様から説明すべく、図２を用いて、本発明に従う方法の３つの連続するステージを例示する。符号（Ａ）で示された第１ステージでは、複合アクションについての候補が生成される。複合アクションの生成又は発生は、後述するように２つの異なる方法で実行され得る。更に、生成された複合アクションの一部のみ又は全部が選択され、複合アクション生成の元となった全ての基本アクション又はオリジナルアクションを既に前もって包含しているアクションライブラリに、上記選択された複合アクションが追加される。
【００２９】
その後に、ステージ（Ｂ）において、新たな拡張されたアクションライブラリに基づき、新しい制御ポリシーが学習される。制御ポリシーの学習は、更に、どの複合アクションが有用でどの複合アクションがそうでないかを評価する機会を与える。最終的に何らの利益ももたらさない複合アクションは、ステージ（Ｃ）において選り分けられる。すなわち、不適切なアクションは、アクションライブラリ６から取り除かれ、当該アクションライブラリ６ができるだけコンパクトな状態に維持される。
【００３０】
以下では、本発明に従う方法の各ステージについて、より詳細に説明する。
【００３１】
学習プロセスを始める前に、複合アクションを生成し又は発生させる必要がある。これには複数のオプションが存在する。それらのうちの２つについて、詳細に説明する。図２の右側に示すように、アクションライブラリ６内のオリジナルアクションであるいずれか２つのアクションを組み合わせることができる。これにより、非常に多くの複合アクションが生成されることとなるが、それらの全てが合理的なものということではない。
【００３２】
２つのオリジナルアクションを組み合わせることで、新たなアクションが生成される。そのような生成は、オリジナルアクションのうちの２つからの全ての情報を包含させるか、又は或るストラテジを用いてオリジナルアクションの内の２つを活性化（activate）することで行うものとすることができる。アクションの組み合わせの例を図３に示す。この例では、アクション１とアクション２とが実行される。第１には、これらのアクションが組み合わされて同時に開始される可能性が存在する。第２には、これらのアクションが、同じ時刻に完了するように開始される。また、第３には、それぞれのアクションが、互いの間において予め定められた時間だけ遅れて実行され得る。この場合には、開始時刻と完了時刻とが異なるものとなり得る。
【００３３】
図１を参照して説明したように、アクションエグゼキュータ３は、オリジナルアクションが選択されたらそれらオリジナルアクションを実行する役割を果たす。複合アクションの場合に、そのようなアクションの組み合わせをロボットにおいてどのように実行するかを決定するのも、エグゼキュータの役割である。例えば、組み合わされるオリジナルアクションは、複数の異なるモダリティ（modalities）に影響を与え得る。例えば、一つはロボットのアームを制御し得るものであり、他の一つは、オーディオ信号を発することである。もちろん、両方とも、単純に同時に実行され得る。他方で、複合アクションは、同じモダリティに影響を与えることもあり得る。すなわち、２つのアクションが共にロボットアームの複数部分を制御することに関するものとなり得る。この場合、これらのアクションは、もちろん、アクションエグゼキュータによって調整（調和、coordinate）される必要がある。一般に、そのような混成（融合、blending together）を行うこと自体は、非特許文献４に詳細に記載されているように、公知である。
【００３４】
上述したように、全く役立たない複合アクションや意味のない複合アクションが発生する、といったことが起こり得る。例えば、「エンドエフェクタを左へ移動する」というアクションと、「エンドエフェクタを右へ移動する」という第２のアクションは、同時に実行されると、単に何の動きを生じさせないこととなる。もちろん、そのような複合アクションは、全く意味を為さない。単にアクションライブラリ６からオリジナルアクションを取り出し、利用可能なオリジナルアクションの全てについて、それらオリジナルアクションの任意の２つを組み合わせて複合アクションを発生させる場合には、その後に、合理的でないか又は全く意味のない複合アクションを選り分けて、その後の更なる処理に際して発生し得る不要な計算処理やコストを回避する必要がある。更なる処理の際に不要な組合せが考慮されるのを回避するため、不可能な組合せを除外する発見的教授法（heuristics）を用いることが推奨される。そのような不可能な組み合わせとは、例えば、ロボットの同じグリッパ（つかみ装置、gripper）に対しそれぞれ異なる態様の制御を行う２つのアクションである。
【００３５】
第２の、より高度な方法は、アクションの無意味な組合せの数を、最初から減らす方法である。図２の左側のステージ（Ａ）に示すように、最初の制御ポリシーが、アクションライブラリに保存されているオリジナルアクションについて学習され得る。ロボットが対処しなければならない状況についてのそのような最初の制御ポリシーが既知となれば、関連する状況においてオリジナルアクションの内のいずれを順次実行するかは、同様に既知であるか、または少なくとも学習結果を評価することにより学習され得る。その後は、常に、順次実行されることとなる少なくとも２つのアクションを組み合わせて一つの複合アクションが構築される。これにより、任意の可能なペア又はサブセットを生成する上述のアプローチに比べて、複合アクションの数は劇的に低減される。このアプローチの背後にあるアイデアは、時間的に互いに近接して順次に実行される複数のアクションは、並行に実行されると有利である可能性が高い、という考え方である。
【００３６】
他のケースと同様に、生成された複合アクションはアクションライブラリに新たに追加され、アクションライブラリ内の利用可能なアクションにはオリジナルアクションと複合アクションが含まれることとなり、当該利用可能なアクションの数が増加する。
【００３７】
説明を簡単化するため、ここでの説明では、複合アクションは、組み合わされて１つの複合アクションを構築する２つのオリジナルアクションの組み合わせに限られるものとした。もちろん、本発明の思想（アイデア）は、２つを超えるアクションの組み合わせに拡張することもできる。すなわち、３つ又は４つのオリジナルアクションを組み合わせるものとすることができる。
【００３８】
本発明の次のステージ（Ｂ）では、新しい複合アクションのうちのどれが実現可能であるかを見出す必要がある。
実現可能性は、アクションの組合せがロボットの制約条件を満たしているということだけで判断されるのではなく、関連する状況に対してその複合アクションが有用であるか否かをも考慮しなければならない。このことは、生成された複合アクションを追加した後のアクションライブラリに基づいて新しい制御ポリシーを学習することにより評価され得る。学習そのものは、すでに述べたように、最新の強化学習テクニックを用いて実行される。図４は、学習プロセスが開始されたときの初期テーブルであり得るテーブルを示している。使用されるＱ学習アルゴリズムは、複合アクションを学習するためいくつかの特別な態様を考慮しなければならない。
【００３９】
このケースでは、オリジナルアクションは既に学習プロセスの基礎であったものとし、図４のＱマップの左部分（状態（states）と個々の（又はオリジナルの）アクションを示した部分）は図２のステージＡに示したような学習の結果であるものとする。そのような以前の学習プロセスについての知識は、複合アクションを含む新しい制御ポリシーの学習の速度を大幅に向上させる。
【００４０】
図示のように、複合アクションを含まない既存のポリシーが、開始点（スターティングポイント）として用いられる。そして、この既存のポリシーは、複合アクションを付加的に考慮することにより洗練されたものとなる。アクションライブラリに追加されるそれぞれの複合アクションに対して一つの列がＱマップに追加される。オリジナルアクションに対する既知の制御ポリシーに基づいて、複合アクションについての報酬が定義される。実際に新しい複合アクションが有意に考慮されるように、報酬関数は、アクションの順次実行よりも並行実行が好ましいとする報酬を意味するものでなければならない。報酬は、単に複合アクションを選択することについての固定的な報酬か、又はより速い実行時間に対する報酬であるものとすることができる。これは、ロボットが、物事を並行実行することにより、より迅速に問題を解決することを意味する。
【００４１】
追加された列は、したがって、対応する状況における一のアクションが持つ最大値に１を加算した値に初期化される。
Ｑ学習は、開拓ステップ（exploitation step）の際に最高のＱ値を持つアクションを選択するので、本アルゴリズムは、新しい複合アクションの探索に集中するように強制され、学習速度が大幅に改善される。強化学習ステップの結果は、以前の既存のアクションと、（可能であれば）いくつかの複合アクションと、を用いる制御ポリシーである。すなわち、ポリシーは、どのアクションが実現可能であるかについての情報を含むのみならず、それらを使用し得る状況についての情報も含む。
【００４２】
明らかに、複合アクションの実現可能性についての知識も、無意味な複合アクションをアクションライブラリから除去するために用いられ得る。この点は特に重要である。更なる繰り返し処理においては、本方法の全体が繰り返され、より少ない数のオリジナルアクションが更なる処理に用いられることとなるためである。
【００４３】
複合アクションを含めてポリシーが学習された後では、それらの複合アクションの多くは使用することができない。一つの理由は、関節動作制限（joints limits）や衝突などのロボットの制約に違反し得るためであり、他の一つの理由は、複合アクションが特定のシナリオにおいては何らの利益ももたらさないためである。したがって、上述の理由からアクションライブラリを小さく維持すべく、そのような無意味な複合アクションがアクションライブラリから除去される。Ｑマップの場合には、これは、その特定の状態について最大のＱ値よりも小さいＱ値を持つ全ての複合アクションを除去することにより行われ得る。ここに述べるように、本方法の最後においては、オリジナルアクションと、付加された多くの複合アクションと、を加えた新しいアクションライブラリが存在することとなる。本方法の全体が繰り返される場合、この新しいアクションライブラリは、これらのオリジナルアクションと複合アクションとを、次の繰り返し処理のためのオリジナルアクションとして含むものとみなされる。
【００４４】
上述したように、アクションライブラリを作成しなければならない場合に効率的であるべく、できるだけ多くの本方法のステップをシミュレートすることが特に重要である。
【００４５】
図５及び６に戻ると、本発明を用いることにより、ロボット１０は、その左右の腕１１、１２を同時に用いるように作動され得る。ロボットの右腕１１がトレイ１３を作業範囲の中心方向へ押しつつ、左腕１２は、これと同時にカップ１４を掴み上げることができる。明らかに、２つのアクションのそのような並行実行は、ロボットの作業の効率を大幅に向上し得る。同時に、その挙動の見栄えも、人間の挙動により近づいたものとなり、大幅に改善される。
【００４６】
本発明の方法の適用に関する他の例は、アクションを組み合わせて効率的なポリシーを生成することにより付加的なロボット労働力を生み出す、フレキシブルなオートメーションである。産業用途においては、様々なタイプのロボットを用いて材料や製品に異なる処理が施されることが多い。ロボットは、多くの場合、極めて特殊なタスクを、繰り返し且つ正確なタイミングで実行する。しかしながら、オートメーションにおける最近のトレンドは、製造プロセスに、より柔軟性を持たせることである。以下に述べるように、本発明を用いて、このようなオートメーションシナリオでの柔軟性を向上することができる。
【００４７】
図７は、そのようなシナリオを示している。このシナリオは、ロボットアームを用いて、一の製品に異なる処置を順次施すという架空の製造設定である。そのような処置の例は、例えば、ケーブルを製品１６に固定したり、孔をあけたり、その後に何かをその孔に嵌め込んだりすることである。この場合も、アクションのタイプ（種類）とそれらのアクションのシーケンシャルな実行とが、人間である設計者により定義される。設計者は、全てのタスクを実行すべくロボットがどのアクションを実行することができるか、についての知識を有している。実行されるアクションは、互いに依存するものである必要はなく、もちろん、一つのロボット１５．１のみがそれらをシーケンシャルに実行できるということもあり得る。ここで、需要増により、ロボット製造プロセスの生産能力を増加することが必要となった場合には、追加のロボットアーム１５．２が製造エリアに追加され得る。その結果、図７に示すような状況となる。図７には、２つのロボットアーム１５．１、１５．２が同じワークピース（加工対象物、work piece）１６に対して協働して作業を行っている。２つのロボットアーム１５．１、１５．２は、同じ作業スペースをシェアしつつ同じ製造品１６に独立なアクションを並行に実行し得る一つのロボットシステムとして見ることができる。人間である設計者が前もって定義したどのアクションも、２つのロボット１５．１、１５．２のいずれかにより実行され得る。このとき、ロボットアーム１５．１、１５．２の間の衝突回避、アクションの実行時間、及びアクション間の依存関係に関連して、そのようなアクションのどの組み合わせが可能であるかを、本発明の方法を用いて自動的に評価することができる。すなわち、本発明に係る方法における意味での複合アクションは、第１ロボットアーム１５．１により実行されるアクションと、第２ロボットアーム１５．２により実行される第２アクションと、で構成される。
【００４８】
従って、プロセスにおける第１のステップは、図２に関連して既に述べたように、アクションライブラリ６内にある任意の２つの個別のアクションの、全ての組み合わせを付加して、複合アクションの候補を自動生成することである。その後で、学習アルゴリズムを適用して、どの複合アクションが２つのロボットアーム１５．１、１５．２により並行に実行され得るかをエンコードするポリシーが学習される。そして、その制御ポリシーにおいて用いられない複合アクションの候補がアクションライブラリ６から除去され、結果として得られたアクションライブラリ６と、学習プロセスから得られたポリシーと、に基づいて、２つのロボット１５．１、１５．２が並行に作動される。
【先行技術文献】
【特許文献】
【００４９】
【特許文献１】US 8,265,789 B2
【非特許文献】
【００５０】
【非特許文献１】A. Gil, H. Stern, Y. Edan and U. Kartoun in “A Scheduling Reinforcement Learning Algorithm” (International Symposium on Flexible Automation, Atlanta, GA, 2008)
【非特許文献２】F. Zacharias, D. Leidner, F. Schmidt, C. Borst and G. Hirzinger in “Exploiting Structure in Two-armed Manipulation Tasks for Humanoid Robots” (IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Taipei, 2010)
【非特許文献３】B. Siciliano and K. Oussama, Springer Handbook of Robotics, Springer Berlin Heidelberg, 2008）
【非特許文献４】“Adaptive Movement Sequences and Predictive Decisions based on Hierarchical Dynamical Systems” (T. Luksch, M. Gienger, M. Muhlig and T. Yoshiike; in IEEE/RSJ International Confernence on Intelligent Robots and Systems, Vilamoura, Algarve, 2012)
【図１】
0006695170.tif 000002
【図２】
0006695170.tif 000003
【図３】
0006695170.tif 000004
【図４】
0006695170.tif 000005
【図５】
0006695170.tif 000006
【図６】
0006695170.tif 000007
【図７】
0006695170.tif 000008