(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024088606
(43)【公開日】2024-07-02
(54)【発明の名称】逆強化学習による人間スキルの学習
(51)【国際特許分類】
B25J 9/22 20060101AFI20240625BHJP
G06N 3/092 20230101ALI20240625BHJP
【FI】
B25J9/22 Z
G06N3/092
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023209167
(22)【出願日】2023-12-12
(31)【優先権主張番号】18/068,760
(32)【優先日】2022-12-20
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100130133
【弁理士】
【氏名又は名称】曽根 太樹
(72)【発明者】
【氏名】カイメン ワン
(72)【発明者】
【氏名】ユイ チャオ
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS06
3C707BS10
3C707JS01
3C707JT10
3C707JU02
3C707KS11
3C707KS33
3C707KT03
3C707KT06
3C707LS05
3C707LU08
3C707LW15
(57)【要約】
【課題】逆強化学習及び強化学習報酬関数を使用して、人間の実演を含む操作を行うようにロボットに教示する方法を提供する。
【解決手段】実演者は、接触力及びワークの動作のデータが記録された状態で操作を行う。実演データは、状態及び行動のセットについての確率のガウス分布を定めて、人間スキルを取り込むエンコーダニューラルネットワークを訓練するために使用される。次いで、エンコーダニューラルネットワーク及びデコーダニューラルネットワークは、ライブでのロボット操作で使用され、ここで、デコーダは、ロボットからの力及び動作状態のデータに基づいて行動を計算するためにロボット制御装置によって使用される。各操作の後、人間の実演及びロボット操作の確率曲線間の小さい差に報酬を与えるカルバック-ライブラ(KL)ダイバージェンス項、およびロボットによる成功の操作に報酬を与える完了項を用いて、報酬関数が計算される。デコーダは、報酬関数を最大化するように強化学習を使用して訓練される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
人間の実演による操作を行うようにロボットに教示する方法であって、
固定ワークに対して可動ワークを操作することを含む、人間の手による前記操作の前記実演を行うことと、
実演状態データ及び実演行動データを含む実演データを生成するために、コンピュータによって前記実演からの力及び動作のデータを記録することと、
前記実演状態データ及び前記実演行動データに対応付けられる確率の第1の分布を出力するように第1のニューラルネットワークを訓練するために、前記実演データを使用することと、
前記ロボットからのフィードバックとして提供されるロボット状態データに基づいてロボット動作指令として提供するロボット行動データを決定する方策ニューラルネットワークで構成されたロボット制御装置を使用することを含む、前記ロボットによって前記操作を行うことと、
前記ロボットによる前記操作の完了に続いて、前記第1のニューラルネットワークを使用して、前記ロボット状態データ及び前記ロボット行動データに対応付けられる確率の第2の分布を出力することと、報酬関数においてカルバック-ライブラ(KL)ダイバージェンス計算で確率の前記第1の分布および前記第2の分布を使用することとを含んで、前記報酬関数の値を計算することと、
前記方策ニューラルネットワークの継続的な強化学習訓練で前記報酬関数の値を使用することと、
を含む、方法。
【請求項2】
前記操作は、前記固定ワークの開口内への前記可動ワークの設置であり、前記設置の期間中に前記可動ワークと前記固定ワークとの間の接触を含む、請求項1に記載の方法。
【請求項3】
前記第1のニューラルネットワークの前記訓練で使用される前記実演状態データ、及び前記方策ニューラルネットワークによって使用される前記ロボット状態データは、前記可動ワークと前記固定ワークとの間の接触力及びトルクを含む、請求項2に記載の方法。
【請求項4】
前記実演状態データにおける前記可動ワークと前記固定ワークとの間の前記接触力及びトルクは、前記固定ワークと静止固定物との間に位置する力センサによって測定される、請求項3に記載の方法。
【請求項5】
前記実演状態データ及び前記実演行動データは、前記実演の期間中に前記人間の手のカメラ画像を分析することによって決定される前記可動ワークの並進速度及び回転速度を含む、請求項1に記載の方法。
【請求項6】
前記第1のニューラルネットワークは、エンコーダニューラルネットワーク構造を有し、前記実演データを使用して前記第1のニューラルネットワークを訓練することは、実演デコーダニューラルネットワークからの出力として提供される行動データが、前記エンコーダニューラルネットワークへの入力として提供される前記実演行動データに収束するまで継続する、請求項1に記載の方法。
【請求項7】
前記報酬関数は、確率の前記第1の分布と前記第2の分布との間の差がより小さい場合により大きいKLダイバージェンス項と、前記ロボットによる前記操作が成功である場合に加算される成功項と、を含む、請求項1に記載の方法。
【請求項8】
前記報酬関数内の前記KLダイバージェンス項は、前記ロボットによる前記操作の各ステップについての前記KLダイバージェンス計算の総和を含む、請求項7に記載の方法。
【請求項9】
前記KLダイバージェンス計算は、確率の前記第1の分布と前記第2の分布との間の差として差分曲線を計算し、次いで、前記差分曲線の下の領域を積分することを含む、請求項8に記載の方法。
【請求項10】
前記強化学習訓練は、前記報酬の値を最大化する目的で前記方策ニューラルネットワークを訓練する、請求項1に記載の方法。
【請求項11】
人間の実演による操作を行うようにロボットに教示する方法であって、
固定ワークにおける開口内に可動ワークを設置することを含む、人間の手による前記操作の前記実演を行うことと、
実演状態データ及び実演行動データを含む実演データを生成するために、コンピュータによって前記実演からの力及び動作のデータを記録することであって、前記実演データは、前記可動ワークの並進速度及び回転速度、並びに前記可動ワークと前記固定ワークとの間の接触力及びトルクを含む、ということと、
前記実演状態データ及び前記実演行動データに対応付けられる確率の第1の分布を出力するように第1のニューラルネットワークを訓練するために前記実演データを使用することと、
前記ロボットからのフィードバックとして提供されるロボット状態データに基づいてロボット動作指令として提供するロボット行動データを決定する方策ニューラルネットワークで構成されたロボット制御装置を使用することを含む、前記ロボットによって前記操作を行うことと、
前記ロボットによる前記操作の完了に続いて、前記第1のニューラルネットワークを使用して、前記ロボット状態データ及び前記ロボット行動データに対応付けられる確率の第2の分布を出力することと、報酬関数においてカルバック-ライブラ(KL)ダイバージェンス計算で確率の前記第1の分布および前記第2の分布を使用することとを含んで、前記報酬関数の値を計算することであって、前記報酬関数は、KLダイバージェンス項及び成功項を含む、ことと、
前記方策ニューラルネットワークの継続的な強化学習訓練で前記報酬関数の値を使用して前記報酬関数の値を最大化することと、
を含む、方法。
【請求項12】
人間の実演による操作を行うようにロボットに教示するシステムであって、
データをコンピュータに提供する3次元(3D)カメラ及び力センサを含む実演作業セルであって、人間は、手を使用して、固定ワークに対して可動ワークを操作することによって前記操作の前記実演を行う、実演作業セルと、
制御装置と通信するロボットを含むロボット作業セルと、を備え、
前記コンピュータは、前記実演からの力及び動作のデータを記録して、実演状態データ及び実演行動データを含む実演データを生成し、前記実演データを使用して、前記実演状態データ及び前記実演行動データに対応付けられる確率の第1の分布を出力するように第1のニューラルネットワークを訓練するように構成されており、
前記制御装置は、前記ロボットからのフィードバックとして提供されるロボット状態データに基づいてロボット動作指令として提供するロボット行動データを決定する方策ニューラルネットワークにて構成されており、
前記コンピュータ又は前記制御装置は、前記ロボットによる前記操作の完了に続いて、前記第1のニューラルネットワークを使用して、前記ロボット状態データ及び前記ロボット行動データに対応付けられる確率の第2の分布を出力することを含んで、報酬関数の値を計算し、前記報酬関数においてカルバック-ライブラ(KL)ダイバージェンス計算で確率の前記第1の分布および前記第2の分布を使用し、前記方策ニューラルネットワークの継続的な強化学習訓練で前記報酬関数の値を使用するように構成されている、システム。
【請求項13】
前記第1のニューラルネットワークの前記訓練で使用される前記実演状態データ、及び前記方策ニューラルネットワークによって使用される前記ロボット状態データは、前記可動ワークと前記固定ワークとの間の接触力及びトルクを含む、請求項12に記載のシステム。
【請求項14】
前記力センサは、前記固定ワークと静止固定物との間に位置している、請求項12に記載のシステム。
【請求項15】
前記実演状態データ及び前記実演行動データは、前記実演の期間中に前記カメラによって取り込まれる前記手の画像を分析することによって決定される前記可動ワークの並進速度及び回転速度を含む、請求項12に記載のシステム。
【請求項16】
前記第1のニューラルネットワークは、エンコーダニューラルネットワーク構造を有し、前記第1のニューラルネットワークを訓練することは、実演デコーダニューラルネットワークからの出力として提供される行動データが、前記エンコーダニューラルネットワークへの入力として提供される前記実演行動データに収束するまで継続する、請求項12に記載のシステム。
【請求項17】
前記報酬関数は、確率の前記第1の分布と前記第2の分布との間の差がより小さい場合により大きいKLダイバージェンス項と、前記ロボットによる前記操作が成功である場合に加算される成功項と、を含む、請求項12に記載のシステム。
【請求項18】
前記報酬関数内の前記KLダイバージェンス項は、前記ロボットによる前記操作の各ステップについての前記KLダイバージェンス計算の総和を含む、請求項17に記載のシステム。
【請求項19】
前記KLダイバージェンス計算は、確率の前記第1の分布と前記第2の分布との間の差として差分曲線を計算し、次いで、前記差分曲線の下の領域を積分することを含む、請求項18に記載のシステム。
【請求項20】
前記強化学習訓練は、前記報酬の値を最大化する目的で前記方策ニューラルネットワークを訓練する、請求項12に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、産業用ロボット動作プログラミングの分野に関し、より具体的には、ワーク配置操作を行うようにロボットをプログラムする方法に関し、ここで、スキルは、人間の実演する期間中に逆強化学習を使用して取り込まれ、ロボットスキルを人間スキルと比較する報酬関数は、ロボットによる最適な行動を制御する方策を定めるために強化学習段階で使用される。
【背景技術】
【0002】
産業用ロボットを使用して、製造、組み立て、及び材料の移動の様々な操作を繰り返し行うことは周知である。しかしながら、ランダムな位置及び向きのワークをビンから取り出し、当該ワークをコンテナ又はコンベヤに移動させるなどの、非常に単純な操作を行うようにロボットに教示することでさえ、従来の方法を使用すると、直感的でなく、時間がかかり、及び/又は費用がかかっていた。構成部品の組み立て操作の教示は、更に一層困難である。
【0003】
ロボットは従来から、教示操作盤を使用して人間の操作者によって、上述のタイプのピックアンドプレース操作を行うように教示されてきた。教示操作盤は、ロボット及びその把持部がワークを把持するのに正しい位置及び向きになるまで、「X方向のジョグ」又は「ローカルZ軸線周りの把持部の回転」などの増分移動を行うようにロボットに指示するために操作者によって使用される。次いで、ロボット構成及びワーク姿勢は、「ピック」操作に使用されるように、ロボット制御装置によって記録される。次いで、同様の教示操作盤指令は、「移動」及び「プレース」操作を定めるために使用される。しかしながら、ロボットをプログラムする教示操作盤の使用は多くの場合に、特に熟練者ではない操作者にとって、困難であって、エラーが起きやすく、時間がかかることが分かっている。ロボットの教示にモーションキャプチャシステムも使用されているが、当該システムは、費用がかかり、正確な結果を得るために多くのセットアップ時間を要する。
【0004】
人間の実演によるロボットの教示も知られているが、構成部品の設置及び組み立てなどの用途に必要とされるような、ワークの正確な配置に必要とされる位置精度が不足している場合がある。これは特に、構成部品の設置が、力制御装置を有するロボットを使用して行われる場合に該当し、その場合に、人間の実演の期間中に取り込まれる力信号、及び必要とされる位置調整に対する当該力信号の関係は、設置する期間中にロボットに生じるものとは完全に異なり得る。
【0005】
上述の状況を鑑みて、人間の実演によって教示されるスキルの本質を取り込み、巧緻性が必要とされるロボットの設置操作を行うために当該スキルを使用する、改善されたロボット教示技術が必要である。
【発明の概要】
【0006】
本開示は、逆強化学習、及びカルバック-ライブラ(KL)ダイバージェンス計算を含む強化学習報酬関数を使用して、人間の実演に基づいて操作を行うようにロボットに教示しロボットを制御する方法を記載する。人間の実演者は、ワークの力及び動作のデータが記録された状態で、構成部品の設置などの操作を行う。人間の実演からの力及び動作のデータは、人間スキルを取り込むエンコーダニューラルネットワーク及びデコーダニューラルネットワークを訓練するために使用され、ここで、エンコーダは、状態及び行動データのセットに対応付けられる確率のガウス分布を定め、デコーダは、状態データ及び対応する最高の確率のセットに対応付けられる行動を決定する。次いで、エンコーダニューラルネットワーク及びデコーダニューラルネットワークは、ライブでのロボット操作で使用され、ここで、デコーダは、ロボットからの力及び動作状態のデータに基づいて行動を計算するためにロボット制御装置によって使用される。各操作が完了した後、エンコーダニューラルネットワークからの人間の実演及びロボット操作の確率曲線間の小さい差に報酬を与えるKLダイバージェンス項、およびロボットによる成功の構成部品の設置に報酬を与える完了項を用いて、報酬関数が計算される。デコーダニューラルネットワークは、報酬関数を最大化するように強化学習を使用して訓練される。
【0007】
本開示のデバイス及び方法の追加の特徴は、添付の図面と併せて、以下の説明及び付属する特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0008】
【
図1】本開示の実施形態に係る、逆強化学習技術及び順強化学習技術の両方を含む人間の実演及びロボット操作のシステムに関係する上位概念を示すブロック図の実例である。
【
図2】本開示の実施形態に係る、人間の実演及びロボット操作の確率曲線間の差がより小さい場合に、より大きい報酬を生む報酬関数を構成するために、カルバック-ライブラ(KL)ダイバージェンス計算がどのように使用されるかを示すブロック図の実例である。
【
図3】本開示の実施形態に係る、ロボット動作を制御するためにデコーダニューラルネットワークがどのように使用されるか、およびKLダイバージェンス項及び成功項を有する報酬関数が、継続的なシステム訓練にどのように使用されるかを示すブロック図の実例である。
【
図4】本開示の実施形態に係る、構成部品の設置操作の人間の実演に関するシステムの実例であって、ここで、実演者の手のカメラ画像は、ワークの動作を決定するために使用され、力データは、固定ワークの下方から検知される。
【
図5】本開示の実施形態に係る、人間の実演からの状態及び行動データに基づいて、エンコーダニューラルネットワーク及びデコーダニューラルネットワークが最初にどのように訓練されるかを示すブロック図の実例である。
【
図6】本開示の実施形態に係る、人間実演データを使用して訓練されるエンコーダニューラルネットワーク、並びに報酬関数を最大化するようなデコーダの継続的な訓練を伴ってロボット操作中に使用されるエンコーダニューラルネットワーク及びデコーダニューラルネットワークを有するシステムを示す概略図である。
【
図7】本開示の実施形態に係る、逆強化学習、及びKLダイバージェンス計算を含む報酬関数を用いた継続的な強化学習を使用して、人間の実演に基づいて操作を行うようにロボットに教示しロボットを制御する方法のフローチャート図である。
【発明を実施するための形態】
【0009】
逆強化学習を使用して、人間の実演に基づいて操作を行うようにロボットに教示しロボットを制御する方法を対象とする本開示の実施形態の以下の説明は、本質的に単なる例示であって、本開示のデバイス及び技術、又はこれらの用途若しくは使用を限定することを全く意図していない。
【0010】
産業用ロボットを製造、組み立て、及び材料移動の様々な操作に使用することは周知である。ある既知のタイプのロボット操作は、「ピック、移動、及びプレース」であって、ここで、ロボットは、第1の場所から部品又はワークを取り出し、当該部品を移動させ、第2の場所に当該部品を配置する。より専門的なタイプのロボット操作は組み立てであって、ここで、ロボットは、ある構成部品を取り出し、当該構成部品を(通常、より大きく、且つある場所に固定された)第2の構成部品内に設置するか又は組み立てる。
【0011】
部品移動及び組み立て操作を行うようにロボットを訓練するために、単純で直感的な技術を開発することが長い間目標であった。特に、人間の実演によって教示する様々な方法が開発されてきた。当該方法は、ロボットの増分移動を定めるために人間が教示操作盤を使用することと、人間の実演者の移動が、高度な機器を使用して専用のワークにおいて取り込まれるモーションキャプチャシステムを使用することと、を含む。これらの技術のどれもが、費用対効果が高くなく、且つ正確でないことが分かっている。
【0012】
人間の実演によるロボット教示に関する別の技術は、2020年4月8日に出願され、その内容全体を参照により本明細書に援用される、本出願の同一出願人による「ROBOT TEACHING BY HUMAN DEMONSTRATION(人間の実演によるロボット教示)」と題する米国特許出願番号第16/843,185号に開示されている。前述の出願は以下で、「185号出願」と称される。185号出願では、開始場所から目的場所へワークを移動させる人間の手のカメラ画像が分析され、ロボット把持部移動指令に変換される。
【0013】
185号出願の技術は、ワークの配置に高精度が必要でない場合に充分に機能する。しかしながら、アセンブリ内への構成部品のロボットの設置などの精度が高い配置用途では、ハンド内のワークの把持姿勢の不明確性は、僅かな不正確性をもたらし得る。加えて、設置操作は多くの場合に、異なるタイプの動作制御アルゴリズムを必要とするロボットの力フィードバック制御装置の使用を要求する。
【0014】
構成部品の設置などの接触ベースの用途においてロボット制御に力制御装置が使用される場合に、人間の実演から測定される力及び動作をロボット制御装置が直接使用するのは問題である。これは、釘(peg)が、穴の縁の反対の端に対する一方の端との接触を行う場合などに、ワーク位置の非常に僅かな差が、結果として生じる接触力の非常に大きい差をもたらし得るためである。加えて、ロボット力制御装置は本質的に、力及び視覚的な感覚の差、並びに周波数応答の差を含む人間の実演者と異なる応答をする。したがって、力制御装置における人間実演データの直接的な使用は通常は、望ましい結果を生成しない。
【0015】
上述の状況を考慮して、設置操作中における、ロボットにより制御されるワークの配置の精度を改善する技術が必要である。本開示は、これを、逆強化学習及び順強化学習の組合せを使用することによって達成し、ここで、逆強化学習は、実演の期間中の人間スキルを取り込むために使用され、順強化学習は、人間実演データから行動を直接的に計算するのではなくスキルを真似るロボット制御システムの継続的な訓練に使用される。当該技術は、以下で詳細に述べられる。
【0016】
強化学習及び逆強化学習は、機械学習の分野において既知の技術である。強化学習は、望ましい挙動に報酬を与え、及び/又は望ましくないものを罰することに基づく機械学習訓練方法である。概して、強化学習エージェントは、その環境を知覚及び解釈し、行動し、試行錯誤を通じて学習することができる。逆強化学習は、RLの逆問題を解くことができる機械学習フレームワークである。基本的に、逆強化学習は、人間からの学習に関するものである。逆強化学習は、人間のエージェントの挙動を観察することによって、エージェントの目標又は目的を学習し、報酬を確立するために使用される。本開示は、新しい方法で逆強化学習を強化学習と組み合わせ、ここで、逆強化学習は、実演から人間スキルを学習するために使用され、学習した人間スキルの遵守に基づく報酬関数は、強化学習を使用してロボット制御装置を訓練するために使用される。
【0017】
図1は、本開示の実施形態に係る、逆強化学習技術及び順強化学習技術の両方を含む人間の実演及びロボット操作のシステムに関係する上位概念を示すブロック図の実例である。ボックス100で、逆強化学習技術は、実演の期間中に人間スキルを抽出するために使用され、ここで、人間の実演者は、部品設置作業を行う。ブロック110で、人間は、作業、例えば、穴への釘の挿入、又は筐体内の回路基板上への電子構成部品の設置を実演する。ブロック120で、実演の期間中に示される人間スキルを取り込むようにエンコーダニューラルネットワーク及びデコーダニューラルネットワークを訓練するために、逆強化学習が使用される。ブロック130で、実演される人間スキルに対する遵守に報酬を与える報酬関数が構成される。
【0018】
ボックス140で、実演される人間スキルは、人間スキルを真似るようにロボット制御装置を訓練する強化学習技術において一般化される。ブロック150で、人間の実演に基づく逆強化学習からの報酬関数は、強化学習のためにブロック160で使用される。強化学習は、ロボット制御装置の継続的な訓練を行って、人間スキルを再現するロボット挙動に報酬を与え、それにより、構成部品の設置の成功をもたらし、ブロック170で最適なロボット行動又は性能をもたらす。
図1に示される概念の詳細を以下で述べる。
【0019】
図2は、本開示の実施形態に係る、人間の実演及びロボット操作の確率曲線間の差がより小さい場合に、より大きい報酬を生む報酬関数を構成するために、カルバック-ライブラ(KL)ダイバージェンス計算がどのように使用されるかを示すブロック図の実例である。ボックス210で、作業の人間の実演が行われる。本開示の技術を説明する目的で、作業は、ある構成部品を別のものに設置することである。例えば、穴への釘の挿入において、釘は、人間の実演者によって保持及び操作され、穴は、固定位置で保持された構成要素内に形成されている。ボックス210における人間の実演は、
図1のブロック110に対応する。
【0020】
人間実演ボックス210からのデータは、エンコーダニューラルネットワーク220を訓練するために使用される。この訓練は、後で詳細に述べられるように逆強化方法を使用する。エンコーダニューラルネットワーク220は、状態s及び行動aに対応する確率zを定めた関数qを提供する。関数qは、230で示されるような確率zのガウス分布である。後で、ボックス240に示されるロボット操作において、ロボット動作及び状態が取り込まれ、関数pを生成するためにエンコーダ220において使用され、関数pも、250で示されるように状態s及び行動aに対して確率zを関連付ける。確率zは、エンコーダニューラルネットワーク220による、ガウス分布表現に対する状態s及び行動a間の関係の写像である。
【0021】
カルバック-ライブラ(KL)ダイバージェンス計算は、関数pからのガウス分布と関数qからの分布との差の量を表す数値を生成するために使用される。確率曲線p及びqは、ボックス260内の左に示されている。KLダイバージェンス計算はまず、ボックス260内の右に示されるように分布曲線間の差を計算し、次いで、差分曲線の下の領域を積分する。KLダイバージェンス計算は、報酬関数の一部として使用されることができ、ここで、p及びq分布の間の小さい差は、(270で示される)大きい報酬をもたらし、p及びq分布の間の大きい差は、(280で示される)小さい報酬をもたらす。
【0022】
逆強化学習技術を使用したエンコーダニューラルネットワーク220の訓練は、ロボット制御装置の強化学習訓練における報酬関数及びその使用として、以下で詳細に述べられる。
【0023】
図3は、本開示の実施形態に係る、ロボット動作を制御するためにデコーダニューラルネットワークがどのように使用されるか、およびKLダイバージェンス項及び成功項を有する報酬関数が、継続的なシステム訓練にどのように使用されるかを示すブロック図の実例である。ボックス310は、
図2に関して上述したエンコーダニューラルネットワーク220を訓練するために使用される逆強化学習段階を含む。エンコーダニューラルネットワーク220は、人間の実演からの状態s及び行動aに対応する確率zを定めた関数qを生成する。一度訓練されると、エンコーダニューラルネットワーク220は、また、ロボット動作からの状態s及び行動aに対応する確率zを定めた関数pを生成するために使用される。
【0024】
320で示される報酬関数の好ましい実施形態では、報酬関数は、(より小さいp及びq分布の間の差に対して、報酬がより大きい)KLダイバージェンス項と、成功項と、を含む。成功項は、ロボットの設置操作が成功である場合に報酬を増加させる。したがって、報酬関数は、(KLダイバージェンス項を介して)熟練した人の実演者のスキルと一致するロボットの挙動を奨励し、また、(成功項を介して)設置操作の成功をもたらすロボットの挙動を奨励する。
【0025】
報酬関数の好ましい実施形態は、式(1)で以下に定められる。
【数1】
ここで、Jは、方策デコーダ分布関数πのパラメータθの集合についての報酬値であって、Eは、確率の期待値であって、αは定数であって、D
KLは、分布p及びqについて計算されるKLダイバージェンス値であって、r
doneは、成功報酬項である。式(1)で、ロボット操作のステップの全てにおいて総和をとるため、KLダイバージェンス項は各ステップで計算され、操作についての最終的な報酬は、総和、及び適用可能な場合に成功項を使用して計算される。定数α及び成功報酬項r
doneは、強化学習段階で望ましいシステム性能を達成するように選択され得る。
【0026】
全体的な手順は、以下のように機能する。逆強化学習ボックス310で、ボックス210での人間の実演は、前述のように、そして以下で詳細に述べられるように、エンコーダニューラルネットワーク220を訓練するために使用される。強化学習ボックス330で、方策デコーダニューラルネットワーク340は、状態ベクトルs及び確率zに対応する行動aを決定する関数πを定める。行動aは、ワーク(例えば、穴に挿入される釘)を操作しているロボットを制御するためにロボット制御装置によって使用される。ロボット並びに固定及び可動ワークは、
図3において環境350によって表される。並進速度及び回転速度と共に力及びトルクを含む状態ベクトルsは、次の行動aを計算するために方策デコーダ340にフィードバックされる。ロボットが(ボックス240で示される)ワークを操作すると、ロボット動作は、分布pを生成するためにエンコーダ220を通じて供給される。分布qは、人間の前の実演から既知である。各々のロボットの設置操作が(成功して、又は成功ではなく)完了した後に、320で示される報酬関数は、式(1)を使用して計算され、報酬関数は、方策デコーダ340の継続的な訓練に使用される。
【0027】
図4は、本開示の実施形態に係る、構成部品の設置操作の人間の実演に関するシステムの実例であって、ここで、実演者の手のカメラ画像は、ワークの動作を決定するために使用され、力データは、固定ワークの下方から検知される。上述の
図2及び
図3で、人間実演ボックス210は、穴への釘の挿入などの操作を行う熟練者の人間を記述するデータを提供し、データは、エンコーダニューラルネットワーク220を訓練するために使用された。
図4は、好ましい実施形態でデータがどのように取り込まれるかを示す。
【0028】
人間の実演の期間中にデータを取り込む既知の方法は通常、2つの技術のうちの一方を使用する。第1の技術は、接触力及びトルクを測定する力センサを用いて、実演者によって操作されるワークを嵌めることを伴う。この第1の技術では、ワークの動作は、モーションキャプチャシステムを使用して決定される。この技術の欠点は、力センサがユーザの把持場所及び/又はワークの操作感触を物理的に変更するということ、並びにワークが部分的に実演者の手によって遮られ得るということを含む。
【0029】
第2の技術は、協働ロボットによっても把持されているワークを使用して操作を人間に実演してもらうことである。この技術は本質的に、人間の実演者に対するワークの操作感触に影響を及ぼし、これは、自由に移動可能なワークに関するものとは異なる実演操作をもたらす。
【0030】
逆強化学習についての本開示の方法は、上述の既知の技術の難点を克服する、人間の実演の期間中にデータを収集する技術を使用する。これは、実演者の手の画像を分析して、対応するワーク及びロボット把持部の姿勢を計算することと、可動ワークの上方からではなく静止ワークの下方から力を測定することと、を含む。
【0031】
人間の実演者410は、静止ワーク422(例えば、釘が挿入される穴を含む構成部品)内に設置される可動ワーク420(例えば、釘)を操作する。3Dカメラ又は他のタイプの3Dセンサ430は、ワークにおける実演シーンの画像を取り込む。力センサ440は、プラットフォーム442(すなわち、ジグプレート又は同種のもの)の下方の場所にあって、力センサ440は好ましくは、テーブル又はスタンド450の上に配置される。
図4に示される実験構成を使用して、実演者410は、設置操作中に可動ワーク410を自由に操作することができ、カメラ430は、ワークの遮蔽のリスクを伴うことなく実演者の手の画像を取り込むことができる。(手の動作、したがって、対応する把持部の動作、及びワークの動作を定めた)カメラ画像は、プラットフォーム442の下方のセンサ440からの力及びトルクデータと共に、エンコーダニューラルネットワーク220を訓練しているコンピュータに提供される。
【0032】
図4の下方部分は、手460の上に重ね合わされている座標系と共に、人間の実演者の手460を示す。把持部472を有するロボット470も示されている。参照により援用される前述の185出願は、ワークを移動させる人間の手のカメラ画像を分析して、手の移動をロボット把持部の移動に変換する技術を開示する。当該技術は、本開示に従ってエンコーダニューラルネットワーク220を訓練するのに必要とされる人間実演データを提供するために、
図4に示される実験プラットフォームを用いて使用され得る。
【0033】
図5は、本開示の実施形態に係る、逆強化学習技術を使用して、人間の実演からの状態及び行動データに基づいて、エンコーダニューラルネットワーク及びデコーダニューラルネットワークが最初にどのように訓練されるかを示すブロック図の実例である。人間の実演からの一連のステップは、ボックス510のA、B、C、及びDで示される。人間の実演のステップは、静止ワーク422内に設置する可動ワーク420を操作する実演者の手460を示す。
【0034】
前述のように、エンコーダニューラルネットワーク220は、状態s及び行動aに対応する確率zを定める。人間の実演の場合に、これは分布qである。
図5で、状態ベクトルsは530で示されており、行動ベクトルaは540で示されている。状態ベクトルsは、時間ステップtについて、直交する3つの力(F
x、F
y、F
z)及び3つのトルク(T
x、T
y、T
z)と共に、直交する3つの並進速度及び3つの回転速度(v
x、v
y、v
z、ω
x、ω
y、ω
z)を含む。行動ベクトルaは、時間ステップt+1について並進速度及び回転速度(v及びω)を含む。
【0035】
ボックス510のA及びBに示される実演ステップは、以下のような状態ベクトル及び行動ベクトル(s
0、a
1)の対応するセットを提供する。状態s
0は、ボックス510のAに含まれるステップからのワーク速度及び接触力/トルクによって定められる。行動a
1は、ボックス510のBに含まれるステップからのワーク速度によって定められる。この配置は、ロボット制御装置の操作を真似ており、ここで、状態ベクトルは、次の行動を決定するためにフィードバック制御計算で使用される。状態530及び行動540についての速度、力、及びトルクのデータの全ては、
図4に示される上述の実験プラットフォーム構成によって提供される。
【0036】
人間の実演の一連のステップからのデータは、エンコーダニューラルネットワーク220を訓練するために使用される一連の対応する状態ベクトル及び行動ベクトル(s0、a1)、(s1、a2)、(s2、a3)などを提供する。前述のように、エンコーダニューラルネットワーク220は、状態s及び行動aに対応付けられる確率zの分布qを生成する。分布qは、操作の実演からの人間スキルを取り込む。
【0037】
次いで、実演デコーダ550は、状態s及び確率zに対応する行動aを決定するために使用される。実演デコーダ550によって生成される(ボックス560で示される)行動aが、エンコーダ220への入力として提供される(540で示される)行動aに収束するまで、エンコーダニューラルネットワーク220の訓練は、人間実演データから継続する。エンコーダニューラルネットワーク220の訓練は、既知の損失関数手法、又は最も好適であると決定されるような別の技術を使用して達成され得る。
【0038】
図6は、本開示の実施形態に係る、人間実演データを使用して訓練されるエンコーダニューラルネットワークを有するシステム600、並びに報酬関数を最大化するようなデコーダの継続的な訓練を伴ってロボット操作中に使用されるエンコーダニューラルネットワーク及びデコーダニューラルネットワークを示す概略図である。実演から人間スキルを取り込むようにエンコーダを訓練するために逆強化学習を使用し、ロボット操作において報酬関数を最適化するようにデコーダを訓練するために強化学習を使用する主要概念は、詳細に上述されている。
図6は単に、上述の概念の好ましい計算環境の実装態様を示すために提供される。
【0039】
コンピュータ610は、ボックス210に示される人間の実演からデータを取り込むために使用される。コンピュータ610は、カメラ430及び力センサ440(
図4)から画像を受信し、そのデータは、
図5に関して記載されるようにエンコーダニューラルネットワーク220を訓練するために使用される状態s及び行動aを定める。コンピュータ610上で行動する実演デコーダ550も示されている。コンピュータ610は、後でロボットを制御するために使用されるロボット制御装置とは別のデバイスであり得る。例えば、コンピュータ610は、
図4に示されるように人間の実演が行われる実験作業セルに配置されるスタンドアロンのコンピュータであり得る。一度、エンコーダニューラルネットワーク220が人間実演データを用いて訓練されると、エンコーダ220は、その使用中に、後のロボット操作において変更されない。
【0040】
ロボット620は、産業用ロボットに精通する者に既知の方法で、制御装置630と通信する。ロボット620は、ロボットが可動ワーク420を静止ワーク422内に設置している間の接触力及びトルクを測定する力センサ622と共に構成されている。力及びトルクデータは、制御装置630への状態データフィードバックとして提供される。ロボットは、制御装置630へのフィードバックとして動作状態データ(ジョイント回転位置及び速度)を提供するジョイントエンコーダを有する。制御装置630は、
図3に示されるように、そして上述のように、方策デコーダ340から最新の状態データ及び確率関数に基づいて次の行動(動作指令)を決定する。
【0041】
状態及び行動データは、破線によって示されるように、エンコーダニューラルネットワーク220にも提供される。各々のロボットの設置操作が完了すると、エンコーダ220は、前述のKLダイバージェンス計算を使用して報酬関数を計算するために、ロボット状態及び行動データ(分布p)並びに人間の実演からの既知の分布qを使用する。報酬関数はまた、式(1)において上記で定められるように、適用される場合に、成功報酬項を組み込む。方策デコーダ340の継続的な訓練は、報酬を最大化するように方策デコーダニューラルネットワーク340を適応させる強化学習を使用して行われる。
【0042】
方策デコーダニューラルネットワーク340の継続的な訓練は、上述のコンピュータ610又は更に別のコンピュータなどのロボット制御装置630以外のコンピュータ上で行われ得る。方策デコーダ340は、制御装置630上に存在するものとして示されており、その結果、制御装置630は、ロボット620からの力及び動作状態フィードバックを使用し、次の行動(動作指令)を決定して、当該動作指令をロボット620に提供し得る。方策デコーダニューラルネットワーク340の強化学習訓練が、異なるコンピュータ上で行われる場合に、方策デコーダ340は、ロボット操作の制御のために制御装置630へ定期的にコピーされる。
【0043】
図7は、本開示の実施形態に係る、逆強化学習、及びKLダイバージェンス計算を含む報酬関数を用いた継続的な強化学習を使用して、人間の実演に基づいて操作を行うようにロボットに教示しロボットを制御する方法のフローチャート
図700である。ボックス702で、人間の熟練者は、
図2及び
図3のボックス210で示されるように、穴への釘の挿入などの操作の実演を行う。ボックス702での人間の実演は、操作者が可動ワークを操作するときに手の位置データを記録する3Dセンサ又はカメラ、及び静止ワークの下方に配置された力センサを用いて、
図4に示されるような作業セルにおいて行われる。
【0044】
ボックス704で、デコーダニューラルネットワーク及び実演デコーダニューラルネットワークは、人間の実演からのデータを使用して訓練される。実演からのデータは、状態(6自由度の速度及び力)と、行動(6自由度の速度)と、を含む。デコーダニューラルネットワークは、人間の実演者のスキルを取り込むように逆強化学習技術を使用して訓練される。決定ダイヤモンド706で、デコーダニューラルネットワークから出力される行動が、エンコーダに入力される行動に収束したかどうかが決定される。収束していない場合に、訓練は、別の実演を行う人間の熟練者で継続する。逆強化学習訓練が完了すると(決定ダイヤモンド706で行動が収束すると)、プロセスは、ロボットの実行に移る。
【0045】
ボックス708で、ロボットは、人間の熟練者によって実演されたものと同じ操作を行う。ロボット制御装置は、状態ベクトル(ロボットからのフィードバックとして提供される力及び速度)および確率分布に対応付けられる行動(速度)を計算する方策デコーダニューラルネットワークで構成されている。決定ダイヤモンド710で、ロボット操作が完了したかどうかが決定される。完了していない場合に、操作は、ボックス708で継続する。状態及び行動データは、ロボット操作の全てのステップで取り込まれる。
【0046】
ボックス712で、ロボット操作が完了した後、(ステップ702~706で訓練される)エンコーダニューラルネットワークは、ロボット操作からの確率分布曲線を提供するために使用され、ロボット操作からの確率分布曲線は、KLダイバージェンス計算で人間の実演からの確率分布曲線と比較される。KLダイバージェンス計算は、ロボット操作の各ステップで行われ、報酬関数は、KLダイバージェンス計算の総和及び成功項から計算される。ボックス714で、報酬関数から計算される報酬値は、方策デコーダニューラルネットワークの強化学習訓練に使用される。プロセスは、ロボットが別の操作を行うボックス708に戻る。ステップ708~714では、ロボット制御装置によって使用される方策デコーダは、人間の実演者のスキルを真似て操作の成功をもたらす行動(ロボット動作指令)をどのように選択するかを学習する。
【0047】
前述の説明の全体を通して、様々なコンピュータ及び制御装置が記載及び示唆される。当該コンピュータ及び制御装置のソフトウェアアプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ以上の計算デバイス上で実行されることを理解されたい。特に、これは、
図6に対して述べられる任意の別のコンピュータと共に、上述のコンピュータ610及びロボット制御装置630におけるプロセッサを含む。具体的には、制御装置/コンピュータにおけるプロセッサは、上述の方法で、人間の実演の期間で逆強化学習を含み、ロボットの実行段階で強化学習を含んで、人間の実演を介してロボット教示を行うように構成されている。
【0048】
上記で概説したように、後で強化学習を使用してロボット制御装置を訓練する、逆強化学習を使用した人間の実演によるロボット教示の本開示の技術は、既存のロボット教示方法を超えるいくつかの利点を提供する。本開示の技術は、望ましい挙動に報酬を与えるように適用する力制御装置環境において、人間が実演したスキルを適用させるのに充分に堅牢でありつつ、人間の実演の直観的な利点を提供する。
【0049】
逆強化学習を使用した人間の実演によるロボット教示に関する多数の好ましい態様及び実施形態が上述されているが、当業者は、それらの修正、並び替え、追加、及び副次的組合せを認識するであろう。したがって、以下の添付の特許請求の範囲及び以下で組み込まれる特許請求の範囲は、これらの真の趣旨及び範囲内にあるような全ての当該修正、並び替え、追加、及び副次的組合せを含むと解釈されることが意図される。
【外国語明細書】