(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6695170
(24)【登録日】2020年4月23日
(45)【発行日】2020年5月20日
(54)【発明の名称】ロボットの動作を改善する方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20200511BHJP
B25J 9/22 20060101ALI20200511BHJP
【FI】
B25J13/00 Z
B25J9/22 Z
【請求項の数】7
【外国語出願】
【全頁数】13
(21)【出願番号】特願2016-38697(P2016-38697)
(22)【出願日】2016年3月1日
(65)【公開番号】特開2016-196079(P2016-196079A)
(43)【公開日】2016年11月24日
【審査請求日】2018年10月24日
(31)【優先権主張番号】15162447.5
(32)【優先日】2015年4月2日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】503113186
【氏名又は名称】ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハー
【氏名又は名称原語表記】Honda Research Institute Europe GmbH
(74)【代理人】
【識別番号】110001081
【氏名又は名称】特許業務法人クシブチ国際特許事務所
(72)【発明者】
【氏名】マヌエル ヒューリヒ
(72)【発明者】
【氏名】ミヒャエル ギンガー
(72)【発明者】
【氏名】林 昭伸
【審査官】
貞光 大樹
(56)【参考文献】
【文献】
米国特許第5367449(US,A)
【文献】
国際公開第2013/192490(WO,A2)
【文献】
特開2006−268812(JP,A)
【文献】
特開2000−122992(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 − 21/02
(57)【特許請求の範囲】
【請求項1】
予め定義されたアクションのセットに基づいて作動される少なくとも一つのロボットの動作を改善する方法であって、
−アクションライブラリ(6)に保存されているオリジナルアクションのセットのうちの少なくとも2つであって、前記ロボットにより実行されるべき最適なアクションの順が示された制御ポリシーによって順次実行されることとなる2つのアクションを組み合わせて、少なくとも2つのアクションが並行して実行される複合アクション(S1、S3)を生成するステップと、
−前記オリジナルアクションに加えて前記複合アクションをアクションライブラリ(6)に保存するステップと、
−生成された複合アクションを追加した後の前記アクションライブラリ(6)内に現在保存されているアクションのセットにアクションの順次実行よりもアクションの並行実行が好ましいと評価する報酬関数を用いた強化学習アルゴリズムを適用して、前記オリジナルアクションと前記複合アクションとを用いる新しい制御ポリシーを学習するステップと、
−前記強化学習アルゴリズムを適用することにより、使用しないことに決定された前記複合アクションを、前記アクションライブラリ(6)から削除して、結果として得られたアクションライブラリを生成し、
−前記結果として得られたアクションライブラリ(6)と、前記強化学習アルゴリズムを適用して学習した前記新しい制御ポリシーと、に基づいて、ロボット(10、15.1、15.2)を作動させるステップと、
を有する方法。
【請求項2】
前記複合アクションは、少なくとも2つのオリジナルアクションの組み合わせであり、そのような組み合わせは、前記アクションライブラリ(6)の全てのオリジナルアクションのうちのオリジナルアクションの、全ての可能なペアについて実行される(S1)、
ことを特徴とする、請求項1に記載の方法。
【請求項3】
どの複合アクションが不可能かを決定し、それら不可能な複合アクションを前記ライブラリに保存することを行わない、
ことを特徴とする、請求項2に記載の方法。
【請求項4】
前記オリジナルアクションと前記複合アクションとを含むアクションの前記セットについての制御ポリシーの学習が、前記強化学習アルゴリズムを適用することにより実行される(S4)際に、前記オリジナルアクションのみに基づいて生成された制御ポリシー(S2)についての知識が使用される、
ことを特徴とする、請求項1ないし3のいずれか一項に記載の方法。
【請求項5】
前記強化学習アルゴリズムの適用のため、複合アクション及び又はより速いタスク達成を良しとする報酬関数が用いられる、
ことを特徴とする、請求項1ないし4のいずれか一項に記載の方法。
【請求項6】
少なくとも、前記複合アクションを生成するステップ(S1、S3)、前記複合アクションを保存するステップ、及び強化学習アルゴリズムを適用するステップ(S4)が、シミュレーションとして実行される、
ことを特徴とする、請求項1ないし5のいずれか一項に記載の方法。
【請求項7】
少なくとも、前記複合アクションを生成するステップ(S1、S3)、前記複合アクシ
ョンを保存するステップ、及び強化学習アルゴリズムを適用するステップ(S4)は、複数回実行され、各繰り返し実行の際に、結果として得られたアクションライブラリ(6)のすべてのアクションが、次の繰り返し実行のためのオリジナルアクションを構成する、
ことを特徴とする、請求項1ないし6のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、予め定義されたアクションのセットに基づいて作動される少なくとも一つのロボットの動作を改善するための方法に関する。
【背景技術】
【0002】
近年、ロボットは、当該ロボットに与えることのできるタスクが例えば物を所定の位置から掴みとって所定の目標位置へ配置するといった単純なタスクに限定されない程度にまで、改良されている。現在では、ロボットは、状況認識を用い、当該状況認識を基礎として次に実行すべきアクションを決定することが多い。しかしながら、ロボットの挙動の全体は、未だに個別のアクションで構成されている。例えば、モーションは、より小さなモーション・チャンク(モーションの集団(塊)、motion chunk)(基本モーションと呼ばれることもある)として構成され得る。本発明の説明及び従来技術の説明において、用語“アクション”は、モーションには限定されない。用語“アクション”は、或る長さの時間における、又は或るイベントまでにおける、例えばロボットの関節、マニピュレータ、又はセンサなどの、或るロボットコンポーネントの、何らかのアクチュエーション(作動、actuation)として定義される。
【0003】
特定のタスク又は所望の挙動を実行するためにロボットが用いるアクションは、通常、人間である設計者によって作成されるか、又は個別に学習される。その後に、そのような個々のアクションは、ロボットによって順番に、又は知覚された状態に対する反応(reaction)として実行される。しかしながら、ロボットに与えられるタスクは、そのようなアクションのシーケンスによって実行され得るものの、多くの場合、複数の異なるゴールに同時に到達すべくロボットに複数のアクションを並行に実行させることが望ましい。一つの例は、個別の基本モーションが、ヒューマノイド・ロボットの腕(アーム)等の、ロボットの個々のエンドエフェクタ(end-effectors)に影響を与え得る場合である。複数のアクションを並行に実行すれば、複合されたゴール(複合的なゴール、combined goal)に到達するのに要する時間を低減して効率を向上し得ることは明らかである。
図5及び6は、そのような状況を示している。このシナリオは、ヒューマノイド型サービスロボット10を示しており、タスクは、空のコップ14を掴んで、後で運ぶトレイ13上に置くことで、テーブルを片づけることである。トレイ13の位置は変化し得るので、関節(ジョイント)の可動限界を超えることなくカップ14をトレイ13に置くことができるようにするためには、トレイ13を、例えばロボット10の作業範囲の中央へ向かって、横方向へ押すことが必要となり得る。周知のストラテジは、異なる複数のアクションを順次実行することである。すなわち、まずトレイ13を第1のエンドエフェクタ11によりロボット10の作業範囲の中央へ押し、次に、当該ロボットの他のエンドエフェクタ12によりカップ14を掴んで置くことである。トレイ13はロボット10がカップ14を置くことのできるエリアに存在することとなるので、その時点でこの動作を実行することが可能となる。
【0004】
図6の示されているように、トレイ13を押すことと、他の手(エンドエフェクタ)でカップ14を掴むこと、という複合アクション(又は組み合わせアクション、combined action)を実行することが望ましい。
【0005】
非特許文献1には、作業ロボットの効率を向上すべく、Q学習(Q-learning)に基づく強化学習(reinforcement learning)を用いて、タスクをより迅速に完了するためのより良い選択を可能とする報酬(rewards)を算出することが記載されている。すなわち、そのような強化学習プロセスの結果である制御ポリシーは、タスク完了までに要する全時間という観点での効率を改善する。しかしながら、この技術も、シーケンシャルに実行されるアクションのみを用いている。
【0006】
他方で、特許文献1には、どのようにして2つのアクションを同時に実行し得るか、が記載されている。ただし、この文献は、例えばモーション命令の混成(混合、blending)といった、2つのアクションをどのように同時実行するかについての課題に限定したものであり、そのような複合アクションの生成については何ら記載していない。すなわち、この文献は、複合アクションが実行されることとなるときに、それをロボットにおいてどのようにインプリメント(具体化、実施)するかの教示を与えるものである。最後に述べるが重要なものとして、非特許文献2には、要求された作業空間に基づいて双腕ロボット(two-arm-robot)が2つのアクションを並行化(並列化、parallelize)し得ることが記載されている。2つのアクションを並行に実行すべく、それら2つのアクションのための作業空間が分離しているか否かが判断される。その場合、これらのタスクは独立しており、2つの個別のモーションプランナを用いて適切なモーションが個別に生成され、最後にそれらのアクションが並行に実行される。このアプローチは、2つのアクションの幾何学的側面を考慮するのみである。2つのアクションの組み合わせが実現可能か否かという問題を更に評価することはしない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明の目的は、予め規定されたアクションに基づいて作動される少なくとも一つのロボットの動作を改善する方法を提供することである。
【課題を解決するための手段】
【0008】
この問題は、独立形式請求項に従う方法により解決される。有利な態様は、従属形式請求項(sub claims)に記載される。
【0009】
本発明に係る方法によると、まず、アクションライブラリ(action library)に保存されているオリジナルアクション(original actions)の集合の中の少なくとも2つのアクションを組み合わせることにより、“複合アクション(combined actions)”が生成される。オリジナルアクションは、目標に到達すべく通常はシーケンシャルに実行されるように用いられる例えば基本モーション又はその他のアクションであり得る。複合アクションとは、並行に実行されることとなる少なくとも2つのアクションで構成される一のアクションである。“並行に”とは、2つのアクションが、同時に開始されるか、予め定められた所定の遅延を持って開始されるか、又は同時に終了するか、のいずれかを意味する。
【0010】
そのような複合アクションは、生成されると、アクションライブラリ内に、既に保存されているオリジナルアクションに加えて保存される。すなわち、当該アクションライブラリは、新たな又は拡張されたアクションライブラリとなり、強化学習アルゴリズムを適用するための基礎となる。アクションライブラリに現在保存されているアクションのセットが強化学習アルゴリズムに適用され、オリジナルアクション及び複合アクションを用いる制御ポリシーが学習される。したがって、その後は、新しい制御ポリシーに基づいて、及び、特に拡張された新しいアクションライブラリ(順次実行され得るオリジナルアクションのみならず、ロボットが作動されたときに効率を向上し得る複合アクションをも含んでいる)に基づいて、ロボットを制御することが可能となる。
【0011】
複合アクションの自動生成を実行することのみならず、そのとき利用可能なすべてのオプションを利用して新たな制御ポリシーに到達し得ることは、拡張されたアクションライブラリの拡張されたセットに強化学習アルゴリズムを適用するときに特に利点がある。
【0012】
不要な計算量(計算負荷、calculation efforts)を回避すべく、複合アクションを使用しないことが決定され得る。そして、強化学習後に、それらの複合アクションがライブラリから削除される。すなわち、その後の動作においてはこれらの(アクションの)組合せはもはや存在せず、従って、ライブラリは小さく保たれ得る。
【0013】
複合アクションを生成するための複数の有利な方法がある。第1に、並行に実行されることとなる(したがって、一つの複合アクションを構成することとなる)初期のアクションライブラリの中の2つの(又はそれ以上の)オリジナルアクションを結合することは、有利である。そのような2つ(またはそれ以上)のオリジナルアクションの組み合わせは、オリジナルアクションについての想定され得る任意のペア(又はサブセット)について行われ得る。この場合、複合アクションの最大数は、数学的に可能な最大の数となり得る。もちろん、このような複合アクションは、合理的でないか、又は全く実行不可能なアクションを含み得る。したがって、複合アクションをライブラリに追加して保存する際に、不可能な複合アクションが特定されて省かれれば、さらに有利である。これには、その後の処理の際に考慮の対象となる複合アクションの数が少なくなるという利点がある。したがって、その後の強化学習ステップでは、計算量が低減される。
【0014】
もう一つは、それ以前にアクションライブラリのオリジナルアクションのセットに対し強化学習を適用することによって得た既知の制御ポリシーを用いて、複合アクションを生成するアプローチである。多くの場合、このような強化学習ステップの結果である制御ポリシーについての知識が存在する。したがって、その制御ポリシーの中でどの2つのアクションが順次(シーケンシャルに)出現するかを特定することも、可能である。オリジナルの制御ポリシーに従って何らかの形で順次実行されるこれら2つの又はそれ以上のアクションを並列に実行することは有利であることが多いので、既知の制御ポリシーにおいて順次出現するきっかり2つのアクションの組み合わせが、複合アクションとして生成される。
【0015】
さらに、有利には、オリジナルアクションに基づいて生成される制御ポリシーについての知識を用いて、オリジナルアクションと複合アクションとを含むアクションの新しいセットに対するポリシー学習(policy learning)が改善される。すなわち、古い制御ポリシーが強化学習アルゴリズムの出発点となって、計算効率がさらに改善される。
【0016】
強化学習アルゴリズムが適用される際には、当該強化学習アルゴリズムにおいて用いられる報酬関数が複合アクションの好ましさを示し及び又はより迅速なタスク達成を支援することが、更に好ましい。これにより、複合アクションが考慮されること、及びその結果得られる制御ポリシーがオリジナルの制御ポリシーにおいて用いられたオリジナルアクションに対して改善された効率を持つこと、が保証される。
【0017】
本方法は、実際のロボットに広く用いられ得るが、少なくとも、複合アクションの生成を行うステップと、当該複合アクションを保存するステップと、強化学習アルゴリズムを適用するステップと、を含むシミュレーションを実行することが特に好ましい。シミュレーションのアクションライブラリにおいて初期的に及び又は最終的に用いられたアクション及び複合アクションが、ロボットが備える実際のアクションライブラリ内にも保存され得ることは明らかである。本方法の実行後に、そのシミュレーションにおいてアクションライブラリに追加された複合アクションは、勿論、実際のロボットの実際のアクションライブラリにも追加され、このアクションライブラリに基づいて、そのロボットの運用動作が実行される。
【0018】
他の有利な態様によると、本方法のステップは、続けて複数回にわたり繰り返し実行され得る。これにより、さらに複雑なアクションも生成することができる。複合アクションは、次の繰り返しステップにおいて単純なアクションと組み合わされたり、他の複合アクションとも組み合わされ得るためである。オリジナルアクションについての次の繰り返し処理で、全てのアクション(最初の繰り返し処理のオリジナルアクション、及び最初の繰り返し処理の複合アクション)を備えるアクションライブラリがそこに保存され、上述したのと同様のプロシージャにより組み合わされ得る。
【図面の簡単な説明】
【0019】
以下に、更なる態様を含む及び有利な方法を、添付図面を参照しつつ説明する。図には、以下が示されている。
【0020】
【
図1】状態−アクション・マッピング(state-action mapping)を用いてロボットがアクションをどのように実行するのかを、説明するための図である。
【
図2】本発明を例示する単純化されたフロー図である。
【
図3】以前のシーケンシャルアクションを組み合わせて複合アクションを生成することを説明する図である。
【
図4】オリジナルアクションと、アクションライブラリに追加された複合アクションと、に適用される強化学習アルゴリズムの、Qマップの一例を示す図である。
【
図5】可能性のある用途を示すサービスロボットのシナリオである。
【
図6】
図5において複合アクションが適用された後の状態を示す図である。
【
図7】2つの同様なロボットの並行作業に本発明を適用した例を示す図である。
【発明を実施するための形態】
【0021】
本発明の説明を始める前に、本発明は、特定のタイプのロボットや特定のタイプのアクションに限定されるものではないことを強調しておく。多種多様な異なるロボット・タイプがあるものの、それらはすべて、それらの環境内において動作するという点において共通するからである。したがって、ロボットにより遂行され又は実行されるアクションも、多くの種類があり得る。それらのアクションは、それらの環境との、意図されたインタラクションに依存するためである。個別のビルディングブロック(基礎的要素、building blocks)と考えることのできるアクションには、例えば以下のようなものがある。
モーション:この場合、ロボットアクチュエータを用いて環境が操作され、あるいはロボットが移動される。
【0022】
センシング:ロボットの環境を物理的に検知することのできるデバイス(例えば、カメラ、レーザ距離計(laser range finder)、触覚センサ(tactile sensor)、その他の同様のセンサ)が、ロボット又はロボットの特定のパーツに取り付けられ、当該ロボットの環境に関する情報を提供し得る。
【0023】
オーディオ/スピーチ:聴覚機能又は発声機能は、ロボットを当該ロボットの環境内の存在物と通信できるようにすることを意図したものである。これは、ロボットが発話コマンドによってガイドされ又は指示される場合には、特に有利である。これとは逆に、ロボットは、検出した物や知覚した物体などについてコメントすることが可能である。
【0024】
可視化:ロボットに直接的に設けられているか又は当該ロボットによって少なくとも制御されるコンピューターのディスプレイを用いて、当該コンピューターのディスプレイ上に表示される出力が最終的にそのロボットによって実行されるアクションとなるように、追加情報が与えられ得る。
【0025】
アクションの例を示した上述のリストは、勿論、全てを網羅しているわけではない。この点に関しては、非特許文献3に多くが示されている。この文献には、異なる種々のタイプのロボットについて、アクションがどのようなものとなり得るかの概要が示されている。既に上述したように、本発明は、任意のタイプのロボットについての任意のタイプのアクションに適したものであることを意図している。本発明を理解するためには、まず、ロボットが実行すべきアクションがどのようにして選択されるかを理解することが重要である。人間である設計者により前もって定義された複数のアクションは、選択が可能である。そして、知覚された状態(state)を特定のアクションにマップする制御ポリシーに基づいて、ロボットにより実行されるべき特定のアクションが選択される。そのような処理フローを、
図1に示す。まず、ロボットの知覚モジュール1が、センサ情報を処理する。検知された情報に基づいて、システムの状態(システム状態、system state)が分類される。その後、この分類されたシステム状態を用い、現在の状態に適していると考えられるアクションが、制御ポリシー2を用いて決定される。上述したように、制御ポリシーは、分類された状態に対し、ロボットにより実行されるべき適切なアクションをマップする。選択される可能性のあるアクションが、アクションライブラリ6に保存される。最先端のシステムによれば、アクションライブラリ6に保存されるアクションのセットは、全て人間である設計者により定義されたアクションであって、シーケンシャルにのみ実行されるアクションに限られている。このような先行技術とは異なり、本発明においては、実行用に選択される得るものとしてライブラリに保存されるアクションの数を拡張することが可能であり、それらの新しいアクションは、オリジナルアクションの少なくとも2つの組み合わせである。したがって、最終的に新しいアクション(複合アクション)が選択されて実行されるときには、その実行により、一つの複合アクションとして定義された2つのオリジナルアクションの、並行実行が行われることとなる。
【0026】
アクションが選択されると、アクションエグゼキュータ3により当該アクションが解釈される。アクションエグゼキュータ3は、選択されたアクションに従ってロボットのアクチュエータ4の協働動作を操作する。すべてのアクションは環境との何らかのインタラクションであるので、選択されたアクションを実行すると、環境5が操作されて新しい状態が生まれることとなる。すなわち、環境についての知覚は永久に実行されるので、この処理ループは再び開始されることとなり、環境におけるこの変化に基づいて、実行すべき次のアクションが選択される。
【0027】
最適な制御ポリシーを見出すべく強化学習等の最適化技術を適用することは、本技術分野では公知であることに留意すべきである。以下では、強化学習アルゴリズムの例としていわゆるQ学習アルゴリズムを用いて説明を行う。本発明が、適用可能な多くのアルゴリズムの一つに特に限定されるものでないことは明らかである。強化学習アルゴリズムの一般的アイデアは、制御ポリシーを定義することに代えて、報酬関数(reward functions)を用いることである。システムの設計者は、これらのスカラー値を、望ましいイベントに関してはより大きく設定し、望ましくないイベントに関してはより低く設定する。強化学習は、設計者の知識から出発して、関連する状況において全体としての報酬が最大となる制御ポリシーを自動的に発見する。その考え方は、状況を調査し、アクション選択をランダムに行って、全体としての報酬の最大化に貢献するのはどのアクションか、を発見することである。調査は、ロボット自身において行うこともできるし、またはシミュレーションにおいて行うこともできる。これについては、ロボットの動作を最適化するための詳細なステップについて説明する際に後述する。その後に、アクションの拡張セットについての制御ポリシーを学習し及び複合アクションの実現可能性を評価すべく、Q学習アルゴリズムが用いられる。
【0028】
まず、本発明の特定の態様から説明すべく、
図2を用いて、本発明に従う方法の3つの連続するステージを例示する。符号(A)で示された第1ステージでは、複合アクションについての候補が生成される。複合アクションの生成又は発生は、後述するように2つの異なる方法で実行され得る。更に、生成された複合アクションの一部のみ又は全部が選択され、複合アクション生成の元となった全ての基本アクション又はオリジナルアクションを既に前もって包含しているアクションライブラリに、上記選択された複合アクションが追加される。
【0029】
その後に、ステージ(B)において、新たな拡張されたアクションライブラリに基づき、新しい制御ポリシーが学習される。制御ポリシーの学習は、更に、どの複合アクションが有用でどの複合アクションがそうでないかを評価する機会を与える。最終的に何らの利益ももたらさない複合アクションは、ステージ(C)において選り分けられる。すなわち、不適切なアクションは、アクションライブラリ6から取り除かれ、当該アクションライブラリ6ができるだけコンパクトな状態に維持される。
【0030】
以下では、本発明に従う方法の各ステージについて、より詳細に説明する。
【0031】
学習プロセスを始める前に、複合アクションを生成し又は発生させる必要がある。これには複数のオプションが存在する。それらのうちの2つについて、詳細に説明する。
図2の右側に示すように、アクションライブラリ6内のオリジナルアクションであるいずれか2つのアクションを組み合わせることができる。これにより、非常に多くの複合アクションが生成されることとなるが、それらの全てが合理的なものということではない。
【0032】
2つのオリジナルアクションを組み合わせることで、新たなアクションが生成される。そのような生成は、オリジナルアクションのうちの2つからの全ての情報を包含させるか、又は或るストラテジを用いてオリジナルアクションの内の2つを活性化(activate)することで行うものとすることができる。アクションの組み合わせの例を
図3に示す。この例では、アクション1とアクション2とが実行される。第1には、これらのアクションが組み合わされて同時に開始される可能性が存在する。第2には、これらのアクションが、同じ時刻に完了するように開始される。また、第3には、それぞれのアクションが、互いの間において予め定められた時間だけ遅れて実行され得る。この場合には、開始時刻と完了時刻とが異なるものとなり得る。
【0033】
図1を参照して説明したように、アクションエグゼキュータ3は、オリジナルアクションが選択されたらそれらオリジナルアクションを実行する役割を果たす。複合アクションの場合に、そのようなアクションの組み合わせをロボットにおいてどのように実行するかを決定するのも、エグゼキュータの役割である。例えば、組み合わされるオリジナルアクションは、複数の異なるモダリティ(modalities)に影響を与え得る。例えば、一つはロボットのアームを制御し得るものであり、他の一つは、オーディオ信号を発することである。もちろん、両方とも、単純に同時に実行され得る。他方で、複合アクションは、同じモダリティに影響を与えることもあり得る。すなわち、2つのアクションが共にロボットアームの複数部分を制御することに関するものとなり得る。この場合、これらのアクションは、もちろん、アクションエグゼキュータによって調整(調和、coordinate)される必要がある。一般に、そのような混成(融合、blending together)を行うこと自体は、非特許文献4に詳細に記載されているように、公知である。
【0034】
上述したように、全く役立たない複合アクションや意味のない複合アクションが発生する、といったことが起こり得る。例えば、「エンドエフェクタを左へ移動する」というアクションと、「エンドエフェクタを右へ移動する」という第2のアクションは、同時に実行されると、単に何の動きを生じさせないこととなる。もちろん、そのような複合アクションは、全く意味を為さない。単にアクションライブラリ6からオリジナルアクションを取り出し、利用可能なオリジナルアクションの全てについて、それらオリジナルアクションの任意の2つを組み合わせて複合アクションを発生させる場合には、その後に、合理的でないか又は全く意味のない複合アクションを選り分けて、その後の更なる処理に際して発生し得る不要な計算処理やコストを回避する必要がある。更なる処理の際に不要な組合せが考慮されるのを回避するため、不可能な組合せを除外する発見的教授法(heuristics)を用いることが推奨される。そのような不可能な組み合わせとは、例えば、ロボットの同じグリッパ(つかみ装置、gripper)に対しそれぞれ異なる態様の制御を行う2つのアクションである。
【0035】
第2の、より高度な方法は、アクションの無意味な組合せの数を、最初から減らす方法である。
図2の左側のステージ(A)に示すように、最初の制御ポリシーが、アクションライブラリに保存されているオリジナルアクションについて学習され得る。ロボットが対処しなければならない状況についてのそのような最初の制御ポリシーが既知となれば、関連する状況においてオリジナルアクションの内のいずれを順次実行するかは、同様に既知であるか、または少なくとも学習結果を評価することにより学習され得る。その後は、常に、順次実行されることとなる少なくとも2つのアクションを組み合わせて一つの複合アクションが構築される。これにより、任意の可能なペア又はサブセットを生成する上述のアプローチに比べて、複合アクションの数は劇的に低減される。このアプローチの背後にあるアイデアは、時間的に互いに近接して順次に実行される複数のアクションは、並行に実行されると有利である可能性が高い、という考え方である。
【0036】
他のケースと同様に、生成された複合アクションはアクションライブラリに新たに追加され、アクションライブラリ内の利用可能なアクションにはオリジナルアクションと複合アクションが含まれることとなり、当該利用可能なアクションの数が増加する。
【0037】
説明を簡単化するため、ここでの説明では、複合アクションは、組み合わされて1つの複合アクションを構築する2つのオリジナルアクションの組み合わせに限られるものとした。もちろん、本発明の思想(アイデア)は、2つを超えるアクションの組み合わせに拡張することもできる。すなわち、3つ又は4つのオリジナルアクションを組み合わせるものとすることができる。
【0038】
本発明の次のステージ(B)では、新しい複合アクションのうちのどれが実現可能であるかを見出す必要がある。
実現可能性は、アクションの組合せがロボットの制約条件を満たしているということだけで判断されるのではなく、関連する状況に対してその複合アクションが有用であるか否かをも考慮しなければならない。このことは、生成された複合アクションを追加した後のアクションライブラリに基づいて新しい制御ポリシーを学習することにより評価され得る。学習そのものは、すでに述べたように、最新の強化学習テクニックを用いて実行される。
図4は、学習プロセスが開始されたときの初期テーブルであり得るテーブルを示している。使用されるQ学習アルゴリズムは、複合アクションを学習するためいくつかの特別な態様を考慮しなければならない。
【0039】
このケースでは、オリジナルアクションは既に学習プロセスの基礎であったものとし、
図4のQマップの左部分(状態(states)と個々の(又はオリジナルの)アクションを示した部分)は
図2のステージAに示したような学習の結果であるものとする。そのような以前の学習プロセスについての知識は、複合アクションを含む新しい制御ポリシーの学習の速度を大幅に向上させる。
【0040】
図示のように、複合アクションを含まない既存のポリシーが、開始点(スターティングポイント)として用いられる。そして、この既存のポリシーは、複合アクションを付加的に考慮することにより洗練されたものとなる。アクションライブラリに追加されるそれぞれの複合アクションに対して一つの列がQマップに追加される。オリジナルアクションに対する既知の制御ポリシーに基づいて、複合アクションについての報酬が定義される。実際に新しい複合アクションが有意に考慮されるように、報酬関数は、アクションの順次実行よりも並行実行が好ましいとする報酬を意味するものでなければならない。報酬は、単に複合アクションを選択することについての固定的な報酬か、又はより速い実行時間に対する報酬であるものとすることができる。これは、ロボットが、物事を並行実行することにより、より迅速に問題を解決することを意味する。
【0041】
追加された列は、したがって、対応する状況における一のアクションが持つ最大値に1を加算した値に初期化される。
Q学習は、開拓ステップ(exploitation step)の際に最高のQ値を持つアクションを選択するので、本アルゴリズムは、新しい複合アクションの探索に集中するように強制され、学習速度が大幅に改善される。強化学習ステップの結果は、以前の既存のアクションと、(可能であれば)いくつかの複合アクションと、を用いる制御ポリシーである。すなわち、ポリシーは、どのアクションが実現可能であるかについての情報を含むのみならず、それらを使用し得る状況についての情報も含む。
【0042】
明らかに、複合アクションの実現可能性についての知識も、無意味な複合アクションをアクションライブラリから除去するために用いられ得る。この点は特に重要である。更なる繰り返し処理においては、本方法の全体が繰り返され、より少ない数のオリジナルアクションが更なる処理に用いられることとなるためである。
【0043】
複合アクションを含めてポリシーが学習された後では、それらの複合アクションの多くは使用することができない。一つの理由は、関節動作制限(joints limits)や衝突などのロボットの制約に違反し得るためであり、他の一つの理由は、複合アクションが特定のシナリオにおいては何らの利益ももたらさないためである。したがって、上述の理由からアクションライブラリを小さく維持すべく、そのような無意味な複合アクションがアクションライブラリから除去される。Qマップの場合には、これは、その特定の状態について最大のQ値よりも小さいQ値を持つ全ての複合アクションを除去することにより行われ得る。ここに述べるように、本方法の最後においては、オリジナルアクションと、付加された多くの複合アクションと、を加えた新しいアクションライブラリが存在することとなる。本方法の全体が繰り返される場合、この新しいアクションライブラリは、これらのオリジナルアクションと複合アクションとを、次の繰り返し処理のためのオリジナルアクションとして含むものとみなされる。
【0044】
上述したように、アクションライブラリを作成しなければならない場合に効率的であるべく、できるだけ多くの本方法のステップをシミュレートすることが特に重要である。
【0045】
図5及び6に戻ると、本発明を用いることにより、ロボット10は、その左右の腕11、12を同時に用いるように作動され得る。ロボットの右腕11がトレイ13を作業範囲の中心方向へ押しつつ、左腕12は、これと同時にカップ14を掴み上げることができる。明らかに、2つのアクションのそのような並行実行は、ロボットの作業の効率を大幅に向上し得る。同時に、その挙動の見栄えも、人間の挙動により近づいたものとなり、大幅に改善される。
【0046】
本発明の方法の適用に関する他の例は、アクションを組み合わせて効率的なポリシーを生成することにより付加的なロボット労働力を生み出す、フレキシブルなオートメーションである。産業用途においては、様々なタイプのロボットを用いて材料や製品に異なる処理が施されることが多い。ロボットは、多くの場合、極めて特殊なタスクを、繰り返し且つ正確なタイミングで実行する。しかしながら、オートメーションにおける最近のトレンドは、製造プロセスに、より柔軟性を持たせることである。以下に述べるように、本発明を用いて、このようなオートメーションシナリオでの柔軟性を向上することができる。
【0047】
図7は、そのようなシナリオを示している。このシナリオは、ロボットアームを用いて、一の製品に異なる処置を順次施すという架空の製造設定である。そのような処置の例は、例えば、ケーブルを製品16に固定したり、孔をあけたり、その後に何かをその孔に嵌め込んだりすることである。この場合も、アクションのタイプ(種類)とそれらのアクションのシーケンシャルな実行とが、人間である設計者により定義される。設計者は、全てのタスクを実行すべくロボットがどのアクションを実行することができるか、についての知識を有している。実行されるアクションは、互いに依存するものである必要はなく、もちろん、一つのロボット15.1のみがそれらをシーケンシャルに実行できるということもあり得る。ここで、需要増により、ロボット製造プロセスの生産能力を増加することが必要となった場合には、追加のロボットアーム15.2が製造エリアに追加され得る。その結果、
図7に示すような状況となる。
図7には、2つのロボットアーム15.1、15.2が同じワークピース(加工対象物、work piece)16に対して協働して作業を行っている。2つのロボットアーム15.1、15.2は、同じ作業スペースをシェアしつつ同じ製造品16に独立なアクションを並行に実行し得る一つのロボットシステムとして見ることができる。人間である設計者が前もって定義したどのアクションも、2つのロボット15.1、15.2のいずれかにより実行され得る。このとき、ロボットアーム15.1、15.2の間の衝突回避、アクションの実行時間、及びアクション間の依存関係に関連して、そのようなアクションのどの組み合わせが可能であるかを、本発明の方法を用いて自動的に評価することができる。すなわち、本発明に係る方法における意味での複合アクションは、第1ロボットアーム15.1により実行されるアクションと、第2ロボットアーム15.2により実行される第2アクションと、で構成される。
【0048】
従って、プロセスにおける第1のステップは、
図2に関連して既に述べたように、アクションライブラリ6内にある任意の2つの個別のアクションの、全ての組み合わせを付加して、複合アクションの候補を自動生成することである。その後で、学習アルゴリズムを適用して、どの複合アクションが2つのロボットアーム15.1、15.2により並行に実行され得るかをエンコードするポリシーが学習される。そして、その制御ポリシーにおいて用いられない複合アクションの候補がアクションライブラリ6から除去され、結果として得られたアクションライブラリ6と、学習プロセスから得られたポリシーと、に基づいて、2つのロボット15.1、15.2が並行に作動される。
【先行技術文献】
【特許文献】
【0049】
【特許文献1】US 8,265,789 B2
【非特許文献】
【0050】
【非特許文献1】A. Gil, H. Stern, Y. Edan and U. Kartoun in “A Scheduling Reinforcement Learning Algorithm” (International Symposium on Flexible Automation, Atlanta, GA, 2008)
【非特許文献2】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)
【非特許文献3】B. Siciliano and K. Oussama, Springer Handbook of Robotics, Springer Berlin Heidelberg, 2008)
【非特許文献4】“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)