(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241108BHJP
G06N 3/08 20230101ALI20241108BHJP
G06T 7/00 20170101ALI20241108BHJP
B25J 13/00 20060101ALI20241108BHJP
【FI】
G06N20/00 130
G06N3/08
G06T7/00 350C
B25J13/00 Z
(21)【出願番号】P 2021012310
(22)【出願日】2021-01-28
【審査請求日】2023-12-12
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】國吉 康夫
(72)【発明者】
【氏名】大村 吉幸
(72)【発明者】
【氏名】金 希哲
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2013-193202(JP,A)
【文献】国際公開第2017/187811(WO,A1)
【文献】特開2005-122617(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/08
G06T 7/00
B25J 13/00
H04N 23/00
H04N 25/00
(57)【特許請求の範囲】
【請求項1】
ターゲットに対してタスクを実行するマニピュレータを制御するための学習モデルを模倣学習するための情報処理装置であって、
人間が前記マニピュレータを操作することによって実行される前記タスクの各時点について、前記ターゲット及び前記マニピュレータの観測画像を取得する観測画像取得部と、
前記観測画像において前記人間が注視する注視点を示す注視点情報を取得する注視点取得部と、
前記観測画像の解像度を低解像度化することによって周辺画像を生成する周辺画像生成部と、
前記観測画像のうち、前記注視点情報における前記注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する注視画像生成部と、
前記タスクの各時点での前記観測画像の各々における前記マニピュレータの動作が、前記タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされる注視動作と、前記想定したときに比較的低解像度の周辺視野を用いてなされる周辺動作とのいずれに該当するかを分類する分類部と、
前記マニピュレータの動作が前記周辺動作に分類された観測画像に基づく前記周辺画像と前記周辺動作における前記マニピュレータの位置及び姿勢を示す値との組を含む第1教師データと、前記マニピュレータの動作が前記注視動作に分類された観測画像に基づく前記注視画像と前記注視動作における前記位置及び姿勢を示す値との組を含む第2教師データとを生成する教師データ生成部と、
前記第1教師データに基づいて、前記周辺画像が入力されると前記位置及び姿勢の目標値を出力する第1学習モデルを模倣学習し、前記第2教師データに基づいて、前記注視画像が入力されると前記目標値を出力する第2学習モデルを模倣学習する学習部と、
を備える、情報処理装置。
【請求項2】
ターゲットに対してタスクを実行するマニピュレータを制御するための情報処理装置であって、
前記タスクの各時点について、前記ターゲット及び前記マニピュレータの観測画像を取得する観測画像取得部と、
前記観測画像において人間が前記タスクを実行する際に注視する注視点を示す注視点情報を取得する注視点取得部と、
前記観測画像の解像度を低解像度化することによって周辺画像を生成する周辺画像生成部と、
前記観測画像のうち、前記注視点情報における前記注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する注視画像生成部と、
前記タスクの各時点での前記観測画像の各々における前記マニピュレータの動作が、前記タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされる注視動作と、前記想定したときに比較的低解像度の周辺視野を用いてなされる周辺動作とのいずれに該当するかを分類する分類部と、
前記マニピュレータの動作が前記周辺動作に分類された観測画像に基づく前記周辺画像と前記周辺動作における前記マニピュレータの位置及び姿勢を示す値の組を含む第1教師データに基づいて模倣学習された第1学習モデルであって、前記周辺画像が入力されると前記位置及び姿勢の目標値を出力する前記第1学習モデルと、前記マニピュレータの動作が前記注視動作に分類された観測画像に基づく前記注視画像と前記注視動作における前記位置及び姿勢を示す値との組を含む第2教師データに基づいて模倣学習された第2学習モデルであって、前記注視画像が入力されると前記目標値を出力する前記第2学習モデルと、を取得する学習モデル取得部と、
前記周辺動作に分類された観測画像について、その周辺画像を前記第1学習モデルに入力することにより前記第1学習モデルから出力された前記目標値を取得し、前記注視動作に分類された観測画像について、その注視画像を前記第2学習モデルに入力することにより前記第2学習モデルから出力された前記目標値を取得し、前記取得した目標値に基づいて前記マニピュレータを制御する動作制御部と、
を備える、情報処理装置。
【請求項3】
前記分類部は、前記注視点と前記マニピュレータとの間の距離と前記マニピュレータの動作速度との少なくとも一方に基づいて、前記周辺動作及び前記注視動作のいずれに該当するかを分類する、請求項1に記載の情報処理装置。
【請求項4】
前記分類部は、前記注視画像が入力されると前記周辺動作及び前記注視動作のいずれに該当するかの分類を出力する動作分類器に前記注視画像を入力することにより前記分類器から出力された分類結果に基づいて、前記周辺動作及び前記注視動作のいずれに該当するかを分類する、請求項2に記載の情報処理装置。
【請求項5】
前記注視画像に基づいて、前記タスクを失敗した状態から次に前記タスクを試行するまでの動作であるリカバリー動作が必要であるか否かを判定する判定部を含み、
前記動作制御部は、前記リカバリー動作が必要であると判定された場合、前記注視画像が入力されると前記リカバリー動作における前記目標値を出力するリカバリー用学習モデルに前記注視画像を入力することにより、前記リカバリー用学習モデルから前記リカバリー動作における前記目標値を取得し、前記取得したリカバリー動作における目標値に基づいて前記マニピュレータを制御する、請求項2又は4に記載の情報処理装置。
【請求項6】
前記動作制御部は、前記リカバリー動作が必要であると判定された場合、前記注視画像が入力されると前記リカバリー動作を完了するために必要なステップ数を出力するリカバリーステップ予測器から前記ステップ数を取得し、
前記リカバリー用学習モデルは、前記ステップ数をさらに入力可能であり、
前記動作制御部は、前記リカバリー用学習モデルに前記注視画像及び前記ステップ数を入力することにより、前記リカバリー用学習モデルから前記リカバリー動作における目標値を取得する、請求項5に記載の情報処理装置。
【請求項7】
ターゲットに対してタスクを実行するマニピュレータを制御するための学習モデルを模倣学習するためのプログラムであって、コンピュータを、
人間が前記マニピュレータを操作することによって実行される前記タスクの各時点について、前記ターゲット及び前記マニピュレータの観測画像を取得する観測画像取得部と、
前記観測画像において前記人間が注視する注視点を示す注視点情報を取得する注視点取得部と、
前記観測画像の解像度を低解像度化することによって周辺画像を生成する周辺画像生成部と、
前記観測画像のうち、前記注視点情報における前記注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する注視画像生成部と、
前記タスクの各時点での前記観測画像の各々における前記マニピュレータの動作が、前記タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされると推測される注視動作と、前記想定したときに比較的低解像度の周辺視野を用いてなされると推測される周辺動作とのいずれに該当するかを分類する分類部と、
前記マニピュレータの動作が前記周辺動作に分類された観測画像に基づく前記周辺画像と前記周辺動作における前記マニピュレータの位置及び姿勢を示す値との組を含む第1教師データと、前記マニピュレータの動作が前記注視動作に分類された観測画像に基づく前記注視画像と前記注視動作における前記位置及び姿勢を示す値との組を含む第2教師データとを生成する教師データ生成部と、
前記第1教師データに基づいて、前記周辺画像が入力されると前記位置及び姿勢の目標値を出力する第1学習モデルを模倣学習し、前記第2教師データに基づいて、前記注視画像が入力されると前記目標値を出力する第2学習モデルを模倣学習する学習部と、
として機能させるためのプログラム。
【請求項8】
ターゲットに対してタスクを実行するマニピュレータを制御するためのプログラムであって、コンピュータを、
前記ターゲット及び前記マニピュレータの観測画像を取得する観測画像取得部と、
前記観測画像において人間が前記タスクを実行する際に注視する注視点を示す注視点情報を取得する注視点取得部と、
前記観測画像の解像度を低解像度化することによって周辺画像を生成する周辺画像生成部と、
前記観測画像のうち、前記注視点情報における前記注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する注視画像生成部と、
前記タスクの各時点での前記観測画像の各々における前記マニピュレータの動作が、前記タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされると推測される注視動作と、前記想定したときに比較的低解像度の周辺視野を用いてなされると推測される周辺動作とのいずれに該当するかを分類する分類部と、
前記マニピュレータの動作が前記周辺動作に分類された観測画像に基づく前記周辺画像と前記周辺動作における前記マニピュレータの位置及び姿勢を示す値の組を含む第1教師データに基づいて模倣学習された第1学習モデルであって、前記周辺画像が入力されると前記位置及び姿勢の目標値を出力する前記第1学習モデルと、前記マニピュレータの動作が前記注視動作に分類された観測画像に基づく前記注視画像と前記注視動作における前記位置及び姿勢を示す値との組を含む第2教師データに基づいて模倣学習された第2学習モデルであって、前記注視画像が入力されると前記目標値を出力する前記第2学習モデルと、を取得する学習モデル取得部と、
前記周辺動作に分類された観測画像について、その周辺画像を前記第1学習モデルに入力することにより前記第1学習モデルから出力された前記目標値を取得し、前記注視動作に分類された観測画像について、その注視画像を前記第2学習モデルに入力することにより前記第2学習モデルから出力された前記目標値を取得し、前記取得した目標値に基づいて前記マニピュレータを制御する動作制御部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高精度の器用なロボット操作のための視線ベースの二重解像度の深層模倣学習を利用する情報処理装置及びプログラムに関する。
【背景技術】
【0002】
従来の模倣学習([1]、[2])をベースとしたロボット制御では、人間のエキスパートによるデモンストレーションデータに基づいて入力画像全体と出力行動の関係が深層ニューラルネットワークを用いて学習される。この方法は、ハードコードされたロボット制御ルールや物体の物理モデルを規定する必要がないため、物体の物理モデルを得ることが難しい日常生活でのロボットマニピュレーションで有望である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
模倣学習を利用して、ロボットマニピュレータに精密な操作を伴うタスクを実施させることが想定される。しかし、従来の深層模倣学習の手法では、入力画像全体を用いて模倣学習の演算が行われるため、入力画像において操作を模倣するために重要な箇所とそうではない箇所が均等に学習される。そのため、学習効率が悪く、計算コストの低減と学習モデルの精度の向上とを両立する観点で改善の余地があった。
【0004】
上記を鑑み、本発明の目的は、模倣学習において、計算コストを低減しつつ学習モデルの精度を向上可能な情報処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様の情報処理装置は、
ターゲットに対してタスクを実行するマニピュレータを制御するための学習モデルを模倣学習するための情報処理装置であって、
人間が前記マニピュレータを操作することによって実行される前記タスクの各時点について、前記ターゲット及び前記マニピュレータの観測画像を取得する観測画像取得部と、
前記観測画像において前記人間が注視する注視点を示す注視点情報を取得する注視点取得部と、
前記観測画像の解像度を低解像度化することによって周辺画像を生成する周辺画像生成部と、
前記観測画像のうち、前記注視点情報における前記注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する注視画像生成部と、
前記タスクの各時点での前記観測画像の各々における前記マニピュレータの動作が、前記タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされると推測される注視動作と、前記想定したときに比較的低解像度の周辺視野を用いてなされると推測される周辺動作とのいずれに該当するかを分類する分類部と、
前記マニピュレータの動作が前記周辺動作に分類された観測画像に基づく前記周辺画像と前記周辺動作における前記マニピュレータの位置及び姿勢を示す値との組を含む第1教師データと、前記マニピュレータの動作が前記注視動作に分類された観測画像に基づく前記注視画像と前記注視動作における前記位置及び姿勢を示す値との組を含む第2教師データとを生成する教師データ生成部と、
前記第1教師データに基づいて、前記周辺画像が入力されると前記位置及び姿勢の目標値を出力する第1学習モデルを模倣学習し、前記第2教師データに基づいて、前記注視画像が入力されると前記目標値を出力する第2学習モデルを模倣学習する学習部と、
を備える。
【0006】
ターゲットに対してタスクを実行するマニピュレータを制御するための情報処理装置であって、
前記タスクの各時点について、前記ターゲット及び前記マニピュレータの観測画像を取得する観測画像取得部と、
前記観測画像において人間が前記タスクを実行する際に注視する注視点を示す注視点情報を取得する注視点取得部と、
前記観測画像の解像度を低解像度化することによって周辺画像を生成する周辺画像生成部と、
前記観測画像のうち、前記注視点情報における前記注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する注視画像生成部と、
前記タスクの各時点での前記観測画像の各々における前記マニピュレータの動作が、前記タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされる注視動作と、前記想定したときに比較的低解像度の周辺視野を用いてなされる周辺動作とのいずれに該当するかを分類する分類部と、
前記マニピュレータの動作が前記周辺動作に分類された観測画像に基づく前記周辺画像と前記周辺動作における前記マニピュレータの位置及び姿勢を示す値の組を含む第1教師データに基づいて模倣学習された第1学習モデルであって、前記周辺画像が入力されると前記位置及び姿勢の目標値を出力する前記第1学習モデルと、前記マニピュレータの動作が前記注視動作に分類された観測画像に基づく前記注視画像と前記注視動作における前記位置及び姿勢を示す値との組を含む第2教師データに基づいて模倣学習された第2学習モデルであって、前記注視画像が入力されると前記目標値を出力する前記第2学習モデルと、を取得する学習モデル取得部と、
前記周辺動作に分類された観測画像について、その周辺画像を前記第1学習モデルに入力することにより前記第1学習モデルから出力された前記目標値を取得し、前記注視動作に分類された観測画像について、その注視画像を前記第2学習モデルに入力することにより前記第2学習モデルから出力された前記目標値を取得し、前記取得した目標値に基づいて前記マニピュレータを制御する動作制御部と、
を備える。
【0007】
なお、以上の任意の組み合わせや、本発明の構成要素や表現を方法、装置、プログラム、プログラムを記録した一時的なまたは一時的でない記憶媒体、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、模倣学習において、計算コストを低減しつつ学習モデルの精度を向上することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】実施形態の情報処理システムの概略構成図である。
【
図2】
図1の情報処理装置の機能ブロック図である。
【
図3】高速動作及び低速動作を分類するための動作速度閾値の決定方法を説明する図である。
【
図5】
図5(a)は、第1学習モデルのニューラルネットワークの一例を示す図であり、
図5(b)及び(c)は第2学習モデルのニューラルネットワークの一例を示す図である。
【
図6】第1学習モデル及び第2学習モデルの生成処理のフローチャートである。
【
図7】ロボットマニピュレータの動作の制御アルゴリズムを示す図である。
【
図8】ロボットマニピュレータの動作の制御処理のフローチャートである。
【
図9】実施例に係る針の糸通しタスクの評価表を示す図である。
【
図10】実施例に係る針の糸通しタスクにおける学習効率の評価表を示す図である。
【
図11】実施例に係るボルトピッキングタスクの評価表を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明を好適な実施形態をもとに各図面を参照しながら説明する。実施形態および変形例では、同一または同等の構成要素には、同一の符号を付するものとし、適宜重複した説明は省略する。
【0011】
[実施形態]
まず、本実施形態の概要について説明する。汎用ロボットマニピュレータにおいて、例えば針の糸通しタスクのような高精度な操作タスクを実施することが望まれている。しかし、この針の糸通しタスクは、例えば、(1)針の穴の小さい隙間に糸を通すための精密な操作を要することに加え、(2)タスク中に糸が変形し、(3)タスクにおいて糸をピックアップする試行毎に糸や針の姿勢が異なる。糸の変形や試行毎に異なる糸や針の姿勢を考慮してロボット制御ルールを確立することは困難である。そのため、従来のロボット制御ルールベースのアプローチを針の糸通しタスクなどの精密なタスクに適用することは困難であった。
【0012】
深層模倣学習([1]、[2])は、人間の視覚画像及びその行動を含むデモンストレーションデータを用いて深層ニューラルネットワークを学習するために使用される。深層模倣学習は、ハードコードされたロボット制御ルールを必要としないため、ロボットマニピュレーションにおいて上述の針の糸通しなどの精密な操作を伴うタスクに適用できる可能性がある。しかし、上述の(1)~(3)の理由から、深層模倣学習を利用してこのタスクを実現するためには、高精度且つ複雑な動作制御ポリシーが必要となる。
【0013】
従来の深層模倣学習ベースの視覚運動制御方法は、タスクのデモンストレーション中に得られる視覚画像全体を使用して動作制御ポリシーを学習する([1]、[2]、[10]、[11]、[12])。視覚画像全体を使用するため、学習に要するデータ量が多くなり、多くの学習時間を要する場合がある。一方で、例えばデータ量を少なくするために入力画像の解像度を低くすると、模倣学習において入力画像中の精密な操作を判別できず、精密な操作を適切に模倣する学習モデルを構築できない場合がある。また、デモンストレーションにおいてタスクの成功に寄与する動作とそうではない動作とを均等に学習することから、計算効率が悪い。このように、従来の深層模倣学習の手法では、物体に対する精密な操作を伴うタスクに適用することが難しいため、汎化性能が低いという問題があった。
【0014】
一方、人間は、操作タスクを行う際に、異なる視覚解像度を有する二重解像度の制御システムを使用する[3]。人間の目の解剖学的研究によると、網膜は中心窩とその周辺領域とに分かれている。中心窩は、錐体光受容体が優勢な視野を有する網膜の中心に位置し、網膜の他の部分よりも比較的密度が高く且つ厚いため[4]、比較的に高解像度の視覚情報を提供する。人間がターゲットに向けて手を動かすと、視線は自然にターゲットに集中する([5]、[6]、[7]、[8])。周辺領域は、比較的まばらな数の光受容体、特に桿体視細胞が優勢な光受容体を含み[4]、比較的に低解像度の視覚情報を提供する。
【0015】
また、視覚誘導下でターゲットに手を伸ばすと、注視視野と周辺視野とが機能的に分離されることが知られている[3]。人間はまず、低解像度の周辺視野の視覚情報を使用してターゲットの近くまで手を移動させ、手の操作軌道の終盤に高解像度の注視視野の視覚情報を使用してターゲットへの正確な誘導を実現する([3]、[9])。
【0016】
本発明者らは、この人間の視線ベースの2つの異なる解像度を有する視覚運動制御システムを深層模倣学習に適用することにより、ロボットマニピュレータにおいて針の糸通しなどの精密な操作を伴うタスクを実現できると考え、本発明に至った。
【0017】
図1は、本実施形態の情報処理システム1の概略構成図である。情報処理システム1は、ロボットマニピュレータ10と、撮像装置20と、情報処理装置30と、データベース40と、操作装置50と、を含む。ロボットマニピュレータ10、撮像装置20、情報処理装置30、データベース40、及び操作装置50は、ネットワークNWを介して通信可能に接続される。
【0018】
ロボットマニピュレータ10は、後述の操作装置50の操作信号又は動作制御部109の操作指令に応じて、ターゲット5に対して所定のタスクを実行するように動作する。ロボットマニピュレータ10は、例えば、エンドエフェクタ11と、モータなどの複数の駆動装置(不図示)によって駆動される複数の関節12と、隣接する関節同士を接続する複数のリンク13と、を備える(いずれも不図示)。例えば、ロボットマニピュレータ10では、後述の操作信号又は操作指令において指定された回転方向および回転速度で回転するように駆動装置を制御することにより、その駆動が制御される。
【0019】
撮像装置20は、ターゲット5及びロボットマニピュレータ10を撮影することによりその観測画像を生成する。本実施形態の撮像装置20は、左右両側にそれぞれ視野を有し、左右両側の2つの観測画像を生成するステレオカメラである。生成された観測画像は、ネットワークNWを介して情報処理装置30、データベース40、及び操作装置50に供給される。
【0020】
情報処理装置30は、制御装置31と、記憶装置32と、通信装置33と、を含む。制御装置31は、例えば、CPU、GPU、DSP等によって構成される。記憶装置32は、例えば、ROM、RAMなどの各種メモリによって構成される。記憶装置32は、通信装置33を介して取得した各種データを記憶する。また、記憶装置32は、制御装置31における各種制御を実行するための各種プログラムを記憶している。通信装置33は、有線または無線の接続により、ネットワークNWを介してロボットマニピュレータ10及びデータベース40との間のデータ通信を行う。
【0021】
データベース40は、ターゲット5及びロボットマニピュレータ10の観測画像、ロボットマニピュレータ10の位置及び姿勢を時系列的に示す動作軌道データ、情報処理装置30から供給された学習モデル等を記憶する。具体的には、データベース40は、観測画像と、その観測画像における動作軌道データとを関連付けて記憶する。本実施形態の動作軌道データは、ロボットマニピュレータ10のエンドエフェクタの先端の位置及び姿勢(向き)の時系列データである。動作軌道データは、人間のオペレータ2が操作装置50を介してロボットマニピュレータ10を操作してタスクをデモンストレーションすることにより取得され、データベース40に予め記憶される。
【0022】
操作装置50は、人間のオペレータ2がロボットマニピュレータ10を操作するための装置である。操作装置50は、ヘッドマウントディスプレイ(HMD)51と、コントローラ52と、視線追跡装置53と、を含む。HMD51は、撮像装置20から供給された観測画像を表示する。コントローラ52は、オペレータ2の操作入力を受け付ける入力部(不図示)を含む。コントローラ52は、オペレータ2の操作入力に応じて制御信号をロボットマニピュレータ10に送信することにより、ロボットマニピュレータ10の駆動を制御する。オペレータ2は、HMD51に表示された観測画像を基に、コントローラ52を操作することにより、タスクのデモンストレーションを実行できる。視線追跡装置53は、HMD51に取り付けられ、オペレータ2の視線の位置を追跡することによりオペレータ2の注視する注視点を示す注視点情報を生成する。視線追跡装置53は、生成した注視点情報をネットワークNWを介してデータベース40に供給して、注視点情報をその注視点情報生成時の観測画像と関連付けてデータベース40に記憶させる。
【0023】
図2は、
図1の情報処理装置30の機能ブロック図である。以下の図に示す各機能ブロックは、ハードウェア的には、演算機能、制御機能、記憶機能、入力機能、出力機能を有するコンピュータや、各種の電子素子、機械部品等で実現され、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックが描かれる。したがって、これらの機能ブロックがハードウェア、ソフトウェアの組合せによって様々な形態で実現できることは、当業者には理解されるところである。
【0024】
図2の情報処理装置30は、観測画像取得部101と、注視点取得部102と、周辺画像生成部103と、注視画像生成部104と、分類部105と、教師データ生成部106と、学習部107と、学習モデル取得部108と、動作制御部109と、動作制御部109と、判定部110と、記憶部111と、を含む。
【0025】
観測画像取得部101は、所定のタスクにおけるターゲット5及びロボットマニピュレータ10の観測画像を取得する。
【0026】
注視点取得部102は、観測画像において人間が注視する注視点を示す注視点情報を取得する。ここでの注視点は、観測画像における人間の視点の位置を示し、より具体的には、観測画像と視線の交差する位置を示す。注視点取得部102は、視線追跡装置53によって生成されてデータベース40に記憶された注視点情報を取得する第1注視点取得部102aと、観測画像におけるオペレータ2の注視点の位置を予測する視線予測器を用いて注視点情報を取得する第2注視点取得部102bと、を含む。
【0027】
周辺画像生成部103は、観測画像の解像度を低解像度化することによって周辺画像を生成する。
【0028】
注視画像生成部104は、観測画像のうち、注視点取得部102で取得された注視点情報における注視点を含む所定の範囲の画像部分によって構成された注視画像を生成する。
【0029】
分類部105は、観測画像におけるロボットマニピュレータ10の動作が周辺動作と注視動作とのいずれに該当するかを分類する。注視動作は、タスクが人間によって実行されると想定したときに比較的高解像度の注視視野を用いてなされる動作であり、例えば所定の速度範囲未満又は注視点から所定の距離範囲内での動作である。周辺動作は、タスクが人間によって実行されると想定したときに比較的低解像度の周辺視野を用いてなされる動作であり、例えば所定の速度範囲以上又は注視点から所定の距離範囲外での動作である。分類部105は、後述の動作スケール分類器の学習の際には、ロボットマニピュレータ10の動作速度と後述の動作速度閾値との比較に基づいて、ロボットマニピュレータ10の動作が周辺動作及び注視動作のいずれであるかを分類する。また、分類部105は、タスクにおいてロボットマニピュレータ10の動作を制御する際には、後述の動作スケール分類器に観測画像を入力することにより、ロボットマニピュレータ10の動作が周辺動作及び注視動作のいずれであるかを分類する。
【0030】
ここで、生理学的研究によると、人間のターゲット到達運動は、周辺視野から計算された高速到達運動と、注視視野から計算された正確な低速誘導運動に分けられる([3]、[9])。本実施形態では、この研究結果に基づいて、観測画像からロボットマニピュレータ10の動作が高速動作及び低速動作のいずれであるかが判断される。本実施形態の高速動作は周辺動作の一例であり、本実施形態の低速動作は注視動作の一例である。動作は、動作のスケールによって高速動作と低速動作とに分けられる。動作は、遠隔操作中のロボットマニピュレータ10の現在のステップと次のステップとの間の位置[x;y;z]の差によって定義される。針の糸通しタスクと後述のボルトピッキングタスクでは回転は重要ではないため、動作のスケールを示す動作速度は位置の差を示す以下の式(1)のユークリッドノルムによって定義される。式(1)中、stは、タイムステップtでの動作速度を表す。
【0031】
【0032】
なお、動作中の回転が重要な要素であるタスクについては、ロボットマニピュレータ10の現在のステップと次のステップとの間の位置[x;y;z]の差に加えてオイラー角[α;β;γ]の差によって動作速度が定義されてもよい。
【0033】
分類部105は、オペレータ2のデモンストレーションデータに対して、単位時間あたりのエンドエフェクタ11の移動量のヒストグラムから高速動作及び低速動作の判定を行う。この判定は、エンドエフェクタ11の動作速度と後述の動作速度閾値とに基づいてなされる。学習部107は、この判定結果に基づく教師あり学習によって高速動作及び低速動作のバイナリ分類問題を学習する。具体的には、学習部107は、バイナリ分類器(動作スケール分類器)をロボットマニピュレータ10の動作のスケールを用いてトレーニングする。動作スケール分類器は、分類部105によって判定された高速動作及び低速動作の正解ラベルを用いて、観測画像におけるロボットマニピュレータ10の動作が低速動作及び高速動作のいずれに該当するかを学習する。この学習後、ロボットマニピュレータ10の現在の動作ステップでの動作が動作スケール分類器を用いて低速動作及び高速動作の一方から自動的に選択されるようになる。注視画像は分類のために十分な情報を有するため、注視画像を動作スケール分類器の入力として使用した。学習した動作スケール分類器は、データベース40及び記憶部111に記憶される。動作スケール分類器は、動作分類器の一例である。
【0034】
図3を参照する。
図3は、高速動作及び低速動作を分類するための動作速度閾値の決定方法を説明する図である。低速動作及び高速動作にそれぞれ対応する2つのガウス分布を有するガウス混合モデル(GMM)がロボットマニピュレータ10の位置[x;y;z]に基づく移動量のヒストグラムにおける動作のスケールから適合される。分類部105は、2つのガウス分布の交点を高速動作及び低速動作を区別するための動作速度閾値として決定する。
【0035】
教師データ生成部106は、第1教師データ及び第2教師データを生成する。第1教師データは、ロボットマニピュレータ10の動作が周辺動作に分類された観測画像に基づく周辺画像と周辺動作におけるロボットマニピュレータ10の位置及び姿勢との組を含む教師データである。第2教師データは、ロボットマニピュレータ10の動作が注視動作に分類された観測画像に基づく注視画像と注視動作における位置及び姿勢との組を含む教師データである。教師データにおける正解データとしての位置及び姿勢は、データベース40にその観測画像と関連付けて記憶された動作軌道データに基づいて取得される。
【0036】
学習部107は、第1教師データに基づいて第1学習モデルを模倣学習し、第2教師データに基づいて第2学習モデルを模倣学習する。第1学習モデルは、周辺画像が入力されるとロボットマニピュレータ10の位置及び姿勢の目標値を出力する。第2学習モデルは、注視画像が入力されるとロボットマニピュレータ10の位置及び姿勢の目標値を出力する。ここでの目標値は、実行するタスクにおけるロボットマニピュレータ10のその後の位置及び姿勢を示す。本実施形態では、目標値は、ロボットマニピュレータ10の次の動作ステップで目標とする位置及び姿勢を示す。
【0037】
本実施形態では、第1学習モデル及び第2学習モデルの模倣学習アルゴリズムとして、ニューラルネットワークを用いた。本実施形態では、高速動作用の第1学習モデルと低速動作用の第2学習モデルとの2つのニューラルネットワークを別々にトレーニングした。高速動作及び低速動作が1つのニューラルネットワークを用いて一緒にトレーニングされた場合、ニューラルネットワークの重みが模倣損失を減らすために高速動作を予測するようにより良く調整され、低速動作が十分な精度で学習できないためである。
【0038】
学習モデル取得部108は、第1学習モデル及び第2学習モデル等を取得する。本実施形態の学習モデル取得部108は、データベース40から第1学習モデル及び第2学習モデル等を取得するが、これに限定されず、例えば、記憶部111から第1学習モデル及び第2学習モデル等を取得してもよい。
【0039】
動作制御部109は、ロボットマニピュレータ10の動作が周辺動作に分類された観測画像について、その周辺画像を第1学習モデルに入力することにより第1学習モデルから出力された位置及び姿勢の目標値を取得する。また、動作制御部109は、ロボットマニピュレータ10の動作が注視動作に分類された観測画像について、その注視画像を第2学習モデルに入力することにより第2学習モデルから出力された位置及び姿勢の目標値を取得する。
【0040】
また、動作制御部109は、取得した目標値に基づいてロボットマニピュレータ10を制御する。具体的には、動作制御部109は、取得した目標値を実現するようにロボットマニピュレータ10の動作を制御するための操作指令をロボットマニピュレータ10に供給する。
【0041】
判定部110は、後述のリカバリー動作の要否やタスクが完了したかどうかを判定する。
【0042】
記憶部111は、観測画像や後述の第1学習モデル、第2学習モデル、動作スケール分類器、リカバリー分類器、リカバリーステップ予測器、リカバリー用学習モデルなどの各種データを記憶する。
【0043】
以下、ロボットマニピュレータ10を操作して糸をピックアップし、その糸を針の穴に通すタスク(以下、「針の糸通しタスク」という)を例に本実施形態について説明する。針の糸通しタスクでは、ロボットマニピュレータ10が糸を掴んでいないときは糸をターゲット5とし、糸をピックアップした後は針をターゲット5とする。
【0044】
本実施形態でのセットアップでは、人間のオペレータが、HMD51からの視覚入力に基づいてロボットマニピュレータ10(例えばUR5ロボット)を遠隔操作する。HMD51は、撮像装置20(ZED Miniステレオカメラ[14])からの画像を表示する。一方で、HMD51に取り付けられた視線追跡装置53がオペレータ2の視線を測定する。
【0045】
図4は、本実施形態のアーキテクチャを示す図である。観測画像取得部101で取得された左右両方の観測画像(1280×720)は、周辺画像生成部103及び注視画像生成部104によってそれぞれ周辺画像と注視画像とに処理される。本実施形態の周辺画像は、取得した左右両方の観測画像全体を128×72に縮小してリサイズしたものである。周辺画像は、高速動作の予測及び後述の視線予測器を用いて注視点の位置を予測するために使用される。注視点取得部102によって取得された左右の注視点の位置を使用して、左右の観測画像をクロップして注視画像を生成する。本実施形態の注視画像は、取得した左右両方の観測画像から注視点の周囲142×120の領域をクロップした画像である。撮像装置20としてのZED Miniステレオカメラの視野は90°(H)×60°(V)×100°であるため、1280×720のフル画像サイズからの画像の142×120は、人間の目の網膜の中心部(10°)に対応する([3])。生成された注視画像及び周辺画像は、視覚運動ポリシーの計算のための入力として使用される。
【0046】
注視画像を使用して、以下が推測される。
(1)エンドエフェクタ11の把持部(不図示)の開閉動作
(2)針の穴に糸を通すための低速動作
(3)タスク失敗時のリカバリー用の低速動作(リカバリーについては後述する)
(4)ロボットマニピュレータ10で実行される動作のスケール(低速動作/高速動作)の分類
【0047】
図5(a)~
図5(c)を参照する。周辺画像の特徴は、空間ソフトマックス(Spatial Softmax)([1]、[11])から抽出される。空間ソフトマックス関数は、特徴を2次元座標として表す(
図5(a))。糸の3次元形状と観測画像におけるロボットマニピュレータ10の動作との関係を推測するために、注視画像が一連の畳み込みニューラルネットワークとストライド数2の最大プーリング(Max Pooling)層を使用して処理される(
図5(b)、
図5(c))。次に、抽出された特徴は、一連のfullyconnected(FC)層で処理される。バッチ正規化(Batch Norm)[16]及びReLU活性化関数[17]がFC層間で使用される。FC層毎に200のノードがある。動作(低速動作、高速動作、エンドエフェクタ11の把持部の開閉)を推測するニューラルネットワークは3つのFC層を使用し、他のニューラルネットワークは2つのFC層を使用した。
【0048】
以下、
図6を用いて、本実施形態における第1学習モデル及び第2学習モデルの生成処理の流れを説明する。
【0049】
ステップS101で、観測画像取得部101は針の糸通しタスクにおけるターゲット5及びロボットマニピュレータ10の観測画像及び対応する動作軌道データを取得し、第1注視点取得部102aはその観測画像における注視点情報を取得する。ステップS101では、観測画像、動作軌道データ及び注視点情報は、タスクの各時点について取得される。ステップS101では、人間のオペレータ2がロボットマニピュレータ10を遠隔操作して撮像装置20を用いてその画像及び軌道を記録しつつ、視線追跡装置53によってオペレータの視線の動きを記録した。具体的には、ステップS101での観測画像は、オペレータ2が操作装置50を介してロボットマニピュレータ10を操作して針の糸通しタスクのデモンストレーションを実行し、このデモンストレーションを撮像装置20によって撮像することにより生成される。動作軌道データは、操作装置50の操作に基づいて生成される。ステップS101での注視点情報は、視線追跡装置53によってそのデモンストレーション時のオペレータ2の視線を追跡することにより生成される。撮像装置20は針の糸通しタスクの各時点について生成した観測画像、操作装置50はその観測画像に対応する動作軌道データを、視線追跡装置53はその観測画像に対応する注視点情報を、それぞれデータベース40に供給する。データベース40は、供給された観測画像、対応する動作軌道データ及び注視点情報を関連付けて記憶する。本実施形態の観測画像取得部101は、オペレータ2のデモンストレーションに基づいて予め記憶された、複数の観測画像及び対応する動作軌道データをデータベース40から取得する。第1注視点取得部102aは、観測画像に対応する注視点情報をデータベース40から取得する。観測画像取得部101は、取得した観測画像を周辺画像生成部103及び注視画像生成部104に供給する。また、観測画像取得部101は、取得した動作軌道データを教師データ生成部106に供給する。第1注視点取得部102aは、取得した注視点情報を注視画像生成部104に供給する。
【0050】
ステップS102で、周辺画像生成部103は周辺画像を生成し、注視画像生成部104は注視画像を生成する。本実施形態の周辺画像生成部103は、取得した観測画像全体をリサイズすることにより、観測画像の解像度を低解像度化して周辺画像を生成する。本実施形態の注視画像生成部104は、注視点情報に基づいて観測画像において注視点を含む所定の範囲の画像をトリミングすることにより、注視画像を生成する。周辺画像生成部103は、生成した周辺画像を教師データ生成部106に供給する。注視画像生成部104は、生成した注視画像を分類部105及び教師データ生成部106に供給する。
【0051】
ステップS103で、分類部105は、タスクの各時点について取得した観測画像の各々におけるロボットマニピュレータ10の動作が、周辺動作と注視動作とのいずれに該当するかを分類する。本実施形態の分類部105は、注視画像に基づいて1つ前のステップと現在のステップでの動作速度(m/ステップ)を測定する。分類部105は、測定した動作速度が動作速度閾値よりも大きい場合には現在の動作を高速動作(周辺動作)として分類する。分類部105は、測定した動作速度が動作速度閾値以下である場合には現在の動作を低速動作(注視動作)として分類する。分類部105は、各観測画像におけるロボットマニピュレータ10の動作の分類結果を教師データ生成部106に供給する。
【0052】
ステップS104で、教師データ生成部106は、第1教師データ及び第2教師データを生成する。具体的には、教師データ生成部106は、ロボットマニピュレータ10の動作が周辺動作に分類された観測画像の周辺画像及び動作軌道データを用いて第1教師データを生成し、ロボットマニピュレータ10の動作が注視動作に分類された観測画像の注視画像及び動作軌道データを用いて第2教師データを生成する。教師データ生成部106は、生成した第1教師データ及び第2教師データを学習部107に供給する。
【0053】
ステップS105で、学習部107は、第1教師データに基づいて第1学習モデルを模倣学習し、第2教師データに基づいて第2学習モデルを模倣学習する。学習部107は、構築した第1学習モデル及び第2学習モデルをデータベース40及び記憶部111に供給する。データベース40及び記憶部111では、所定のタスク(本実施形態では針の糸通しタスク)に関する第1学習モデル及び第2学習モデルが関連付けられて記憶される。ステップS105の後、学習モデルの生成処理S100が終了する。
【0054】
図7は、本実施形態におけるロボットマニピュレータ10の動作の制御アルゴリズムを示す。
図7のアルゴリズムにおいて、π
fastは高速動作と示し、π
slowは低速動作を示し、π
recはリカバリー動作を示し、π
recはエンドエフェクタ11の把持部の開閉を示し、θはリカバリー分類器を示し、ρは視線予測器を示し、Ψはリカバリーステップ予測器を示し、φは動作スケール分類器を示す。
【0055】
図8を用いて、本実施形態におけるロボットマニピュレータ10の動作の制御処理S200を説明する。
【0056】
ステップS201で、観測画像取得部101は、ターゲット5及びロボットマニピュレータ10の観測画像を取得する。ステップS201では、観測画像取得部101は、撮像装置20において撮影された観測画像を撮像装置20から取得する。観測画像取得部101は、取得した観測画像を周辺画像生成部103及び注視画像生成部104に供給する。
【0057】
ステップS202で、周辺画像生成部103は、供給された観測画像に基づいて周辺画像を生成する。周辺画像生成部103は、生成した周辺画像を注視点取得部102及び動作制御部109に供給する。
【0058】
ステップS203で、第2注視点取得部102bは、取得した観測画像における注視点情報を取得する。第2注視点取得部102bは、観測画像におけるオペレータ2の注視点の位置を予測する視線予測器に生成した周辺画像を入力することにより、仮に人間がタスクを実行すると想定した際に注視すると推測される注視点を示す注視点情報を取得する。この視線予測器は、記憶部111に予め記憶され、第2注視点取得部102bによって記憶部111から読み出される。視線予測器は、例えば、混合密度ネットワーク(MDN)([13]、[15])を用いる。第2注視点取得部102bは、取得した注視点情報を注視画像生成部104に供給する。なお、視線予測器に周辺画像ではなく観測画像を入力することで注視点情報が取得されてもよい。
【0059】
ステップS204で、注視画像生成部104は、供給された観測画像及び注視点情報に基づいて注視画像を生成する。注視画像生成部104は、生成した注視画像を分類部105及び動作制御部109に供給する。
【0060】
ステップS205で、分類部105は、供給された観測画像におけるロボットマニピュレータ10の動作が周辺動作と注視動作とのいずれに該当するかを分類する。具体的には、分類部105は、記憶部111から学習済みの動作スケール分類器を読み出し、この動作スケール分類器に注視画像を入力することにより、動作スケール分類器から出力された周辺動作又は注視動作の分類結果に基づいて、上記分類を行う。ステップS205で周辺動作に分類された場合、分類部105は分類結果を動作制御部109に供給し、処理S200はステップS206に進む。ステップS205で注視動作に分類された場合、分類部105は分類結果を動作制御部109に供給し、処理S200はステップS207に進む。
【0061】
ステップS206で、動作制御部109は、周辺画像を第1学習モデルに入力して、第1学習モデルから目標値を取得する。ここでは、動作制御部109は、学習モデル取得部108を介してデータベース40において針の糸通しタスクに関して関連付けられて記憶された第1学習モデルを読み出し、これを使用する。ステップS207の後、処理S200はステップS211に進む。
【0062】
ステップS207で、判定部110は、リカバリー動作が必要か否かを判定する。ここで、リカバリー動作について説明する。「リカバリー動作」は、ターゲット5に対するタスクを失敗した状態(以下、「失敗状態」という)から次にタスクを試行するまでの動作をいう。本実施形態での「リカバリー動作」は、エンドエフェクタ11が糸のピックアップや針の糸通しの失敗状態から次のピックアップや糸通しまでのロボットマニピュレータ10の動作をいう。本実施形態での「失敗状態」とは、エンドエフェクタ11が糸を掴み損なった状態や糸が針の穴を通らずに針の周囲を通り過ぎた状態、又はリカバリー動作を実行中である状態をいう。針の糸通しタスクでは、針の穴の隙間が小さいため、人間のオペレータですらデモンストレーションにおいて頻繁に失敗する。人間は、失敗してから糸通しが最終的に成功するまで再試行する。したがって、ロボットマニピュレータ10でも、失敗からリカバリーし、その後の試行でより良いパフォーマンスを達成できるはずであると想定した。
【0063】
本実施形態では、判定部110は、現在の状態が失敗状態であるか否かに基づいて、リカバリー動作が必要か否かを判定する。判定部110は、現在の状態が失敗状態であるか否かを認識するためのニューラルネットワークであるリカバリー分類器を用いる。リカバリー分類器は、注視画像に基づいて、ロボットマニピュレータ10が糸を針の穴に通すのに失敗したかどうかを予測する。リカバリー分類器は、デモンストレーションデータに基づいてインデックスを付けた失敗状態の動作に基づいてトレーニングされ、事前に記憶部111及びデータベース40に記憶される。
【0064】
判定部110は、注視画像生成部104から注視画像が供給されたことに応答して、記憶部111から学習モデル取得部108を介してリカバリー分類器を読み出し、注視画像をリカバリー分類器に入力する。判定部110は、リカバリー分類器の分類結果に基づいて失敗状態ではないと認識された場合に、リカバリー動作が必要ではないと判定する。ここで、「失敗状態ではない」とは、例えば、現在の状態が針の穴に糸が通った成功状態のみならず、現在の状態がリカバリー動作の実行中ではない状態においてロボットマニピュレータ10が針の穴への糸通しを達成する位置に到達していない状態も含む。リカバリー動作が必要ではないと判定された場合(ステップS207のN)、判定部110は動作制御部109に動作制御指令を供給し、処理S200はステップS208に進む。一方、判定部110は、リカバリー分類器の分類結果に基づいて失敗状態であると認識された場合に、リカバリー動作が必要であると判定する。この場合(ステップS207のY)、判定部110は動作制御部109にリカバリー用動作制御指令を供給し、処理S200はステップS209に進む。
【0065】
ステップS208で、動作制御部109は、注視画像を第2学習モデルに入力して、第2学習モデルから目標値を取得する。ここでは、動作制御部109は、学習モデル取得部108を介してデータベース40において針の糸通しタスクに関して関連付けられて記憶された第2学習モデルを読み出し、これを使用する。ステップS208の後、処理S200はステップS211に進む。
【0066】
ステップS209で、動作制御部109は、注視画像に基づいて、リカバリー動作を完了するために必要なステップ数を取得する。本実施形態の動作制御部109は、注視画像が入力されるとリカバリーを完了するために必要なステップ数を出力するリカバリーステップ予測器を用いてこのステップ数を取得する。
【0067】
ステップS210で、動作制御部109は、取得した注視画像及びステップ数をリカバリー用学習モデルに入力することにより、リカバリー用学習モデルから目標値を取得する。ここでは、動作制御部109は、学習モデル取得部108を介してデータベース40において針の糸通しタスクに関して関連付けられて記憶されたリカバリー用学習モデルを読み出し、これを使用する。リカバリー用学習モデルは、注視画像及びステップ数に基づいてリカバリー動作を予測する。リカバリー用学習モデルは、デモンストレーションデータに基づいてインデックスを付けたリカバリー動作に基づいてトレーニングされ、事前に記憶部111及びデータベース40に記憶される。ステップS210の後、処理S200はステップS211に進む。
【0068】
ステップS211で、動作制御部109は、取得した目標値に基づいてロボットマニピュレータ10のエンドエフェクタ11を移動させるように、ロボットマニピュレータ10を制御する。ステップS211の後、動作制御部109はタスク完了判定指令を供給し、処理S200はステップS212に進む。
【0069】
ステップS212で、判定部110は、タスクが完了したか否かを判定する。本実施形態の判定部110は、針の糸通しタスクが成功した場合に、タスクが完了したと判定し、ロボットマニピュレータ10が針の穴への糸通しが可能な位置に到達していない状態にある場合にはタスクが完了していないと判定する。ステップS212でタスクが完了していないと判定された場合(ステップS212のN)、判定部110は観測画像取得部101に観測画像取得指令を供給し、処理S200はステップS201に戻る。ステップS212でタスクが完了したと判定された場合(ステップS212のY)、処理S200は終了する。
【0070】
本実施形態の効果を説明する。周辺画像及び注視画像を用いた二重解像度の制御方法を用いることで、モデリングの難しい環境・物体を伴うタスクに対して精密なマニピュレーションがロボットマニピュレータ10を用いて可能になる。たとえば、針に糸を通すような精密さを要するタスクを高解像度の注視画像を利用することで実現可能になる。
【0071】
本実施形態の分離された視覚運動制御アーキテクチャには、以前の深層模倣学習方法と比較して以下の利点がある。明示的な注視メカニズムを使用してシーン全体の重要な機能に焦点を合わせると、必要なニューラルネットワークパラメータが少なくなるため、汎化性能が向上する。また、必要な画像領域だけを注視画像として高解像度に保持するため、より高い計算効率を達成でき、学習速度を大幅に改善できる。さらに、本実施形態の手法は、試行毎に異なる糸や針の姿勢に応じて動作を制御することが可能である。そのため、柔軟物の操作・食品の操作などに適用可能であると期待される。
【0072】
(実施例)
<タスクの設定>
本実施例では、ロボットマニピュレータ10が、(1)糸をピックアップし、(2)テーブルの9cm×9cmの領域でランダムに配置された針の穴に糸を貫通させるように針の糸通しタスクを設定した。この設定では、針の糸通しの各試行間で針の位置と糸の把持位置とに差異がある。ニューラルネットワークは、このような位置の違いに対応できるようにポリシーを調整する必要がある。
【0073】
本実施例の手法が一般に正確なタスクに適用可能であることを実証するために、ロボットマニピュレータ10がテーブルの9cm×9cmの領域でM6×14ボルトをピックアップするボルトピッキングタスクを設定した。したがって、ロボットマニピュレータ10はテーブルとの衝突を防ぎながらボルトを掴むための正確な位置を学習する必要がある。
【0074】
本実施例では、1649エピソードの教師データ(196.8分)と148エピソードの検証データ(17.01分)とを使用して、針の糸通りタスクによってニューラルネットワークをトレーニングした。ボルトピッキングタスクに関して、775回のトレーニングエピソード(39.56分)と102回の検証エピソード(5.402分)を使用した。オペレータによる各タスクのデモンストレーションを10.0Hzでサンプリングした。各ニューラルネットワークの構成要素は、30エポックにわたる最小の検証損失から選択した。1e-4の学習率、整流アダム(RAdam)オプティマイザ[18]、および[13]と同じ動作損失を使用した。各ニューラルネットワーク構成要素は、Xeon(登録商標) CPU E5-2698 v4とバッチサイズ64のNVIDIA(登録商標) Tesla V100 GPUを使用してトレーニングした。トレーニングが1280×720イメージを使用して実行された場合、メモリの問題を回避するためにバッチサイズ=8を使用した。Intel(登録商標) CPU Core i7-8700Kと1つのNVIDIA(登録商標) GeForce GTX 1080 Tiを使用して、UR5ロボットマニピュレータをテストした。
【0075】
<本実施例の手法の評価>
図9~
図11を用いて、本実施例の手法の評価について説明する。
図9は、本実施例による針の糸通しタスクの評価表を示す図である。
図10は、本実施例による針の糸通しタスクにおける学習効率の評価表を示す図である。
図11は、実施例によるボルトピッキングタスクの評価表を示す図である。
【0076】
まず、
図9の(a)及び
図11の(a)を参照する。本実施形態の手法では、針の糸通しで81.25%、ボルトピッキングで68.75%の成功率を達成した。本実施例では、ロボットマニピュレータ10が糸をピックアップし、失敗を認識し、失敗状態からリカバリーし、最終的に糸通しに成功した。別の試行では、針に衝突して糸が変形した場合でも、ロボットは適切な操作を行うことができた。
【0077】
<注視画像の評価>
図9の(b)を参照する。注視画像が計算コストと性能との両方にどのように影響するかを評価するために、本実施例の手法と注視画像を使用しない方法とを比較した。注視画像が周辺画像(128×72)に置き換えられたとき、針の糸通しの成功確率は12.5%であり、失敗の確率が比較的高いことがわかる。
【0078】
図9の(b)及び
図11の(b)を参照する。全ての画像が観測画像(1280×720)に置き換えられた場合、ニューラルネットワークは糸のピックアップに失敗した。このネットワークアーキテクチャは、ボルトピッキングでも失敗した。したがって、目的のタスクに応じて適切な解像度の画像を選択することは、汎化の改善に貢献する。
【0079】
図10を参照する。本実施例の手法による計算コストと1280×720の観測画像を用いた場合の計算コストを比較した。本実施例の手法では、1つのステップを計算するために1/8.10の積和演算(MAC)を必要とし、全てのニューラルネットワークの30エポック全体をトレーニングするために約1/27.7の計算時間を必要とした。
【0080】
<高速・低速動作の分離の評価>
図9の(c)、
図11の(c)を参照する。高速動作と低速動作の両方が1つのニューラルネットワークのみを使用してトレーニングされた場合、針の糸通しの成功率は0%に低下した。テストされた閾値は、[0.0208;0.00364;0.0790;0.0985]であり、[μ
1;μ
1+σ
1;μ
2-σ
2/2;μ
2]に対応する。ここで、μ
1、μ
2及びσ
1、σ
2は、各ガウス分布の平均及び標準偏差である(μ
1<μ
2)。交点は0.05685~μ
1+2.315σ
1~μ
2-1.069σ
2である。
【0081】
<視覚運動制御の分離の評価>
図9の(d)を参照する。本実施例の手法は、周辺画像を高速動作に割り当て、注視画像を低速動作に割り当てた。高速動作及び低速動作の両方に注視画像のみを割り当てる、または高速動作に注視画像及び周辺画像の両方を割り当てるなどの他のアーキテクチャでは、糸のピックアップに失敗した。さらに、注視画像及び周辺画像の両方を低速動作に割り当てると、成功率が低下した。
【0082】
<リカバリー動作の評価>
図9の(e)を参照する。1つのニューラルネットワークのみを使用して成功動作とリカバリー動作をトレーニングすると、性能が低下した。これは、リカバリー動作が明示的に取得されなかったため、ロボットマニピュレータ10が失敗後にリカバリーできなかったためである。特に、本実施例の手法は13回の失敗のうち12回でリカバリーできたが、成功動作とリカバリー動作でトレーニングされたニューラルネットワークは8回の失敗のうち1回でしかリカバリーできなかった。さらに、リカバリーステップ予測器がない場合、成功率は31.25%に低下した。このとき、ロボットマニピュレータ10では、リカバリー分類器の出力の摂動により、成功動作とリカバリー動作が繰り返し切り替えられた。
【0083】
<解像度の評価>
図9の(f)を参照する。半分の解像度の画像(640×360)を使用した場合、成功率は50%に低下した。これは、針の糸通しタスクを実行するには高解像度の画像が必要であることを示している。
【0084】
<立体視の評価>
図9の(g)を参照する。立体視がなければ、成功率は劇的に低下した。これは、糸の奥行きを含む3次元状態と針までの距離/方向を認識することが重要であることを示す。したがって、左右の観測画像を用いて奥行情報を取得することは性能の向上に寄与する。
【0085】
<評価のまとめ>
従来、糸をピックアップしてから針の穴に通す一連のタスクは、ロボットマニピュレータによって実現されていない。本実施例によると、ロボットマニピュレータ10は高い精度で針の糸通しタスクを行うことが実証された。このアプローチは、糸が変形した場合でも適切な制御を実現した。さらに、ボルトピッキングタスクで得られた結果は、本実施例の手法が汎化され、複雑なポリシーを学習でき、高い精度を必要とする他のタスクに適用できることを明らかにしている。本実施例の手法によって得られた結果は、分離された視覚運動の制御が、高解像度の視覚入力を使用した処理と比較して、タスクの性能と計算効率との両方を改善することを確認している。さらに、この結果は、視覚運動の操作における注視/周辺視野の役割に関する以前の研究によって得られた結果と一致している([3]、[6]、[9])。これは、人間が生成したデータの模倣学習をロボットマニピュレータ10に適用する際に人間の動作の特性を考慮する必要があり、入力感覚データからのモータ制御出力にエンドツーエンドのフィッティングを使用するだけでは不十分な場合があることを示唆している。
【0086】
(変形例)
実施形態では、分類部105は、動作速度と動作速度閾値との比較に基づいて周辺動作及び注視動作のいずれに該当するかを分類したが、これに限定されない。例えば、分類部105は、注視点とロボットマニピュレータ10のエンドエフェクタ11との間の距離を距離閾値と比較することにより、周辺動作及び注視動作のいずれに該当するかを分類してもよい。この場合、この距離閾値は、動作速度閾値と同様に、低速動作及び高速動作にそれぞれ対応する2つのガウス分布を有するガウス混合モデルを用いて求められればよい。まとめると、分類部105は、注視点とロボットマニピュレータ10との間の距離とロボットマニピュレータ10の動作速度との少なくとも一方に基づいて、周辺動作及び注視動作のいずれに該当するかを分類することができる。
【0087】
実施形態では、第1学習モデル、第2学習モデル及びリカバリー用学習モデルはデータベース40から読み出されたが、記憶部111から読み出されてもよい。
【0088】
図1に示すハードウェア構成は一例であり、これに限られるものではない。また、
図1及び
図2では情報処理装置30が学習装置としても機能しうることを記載しているが、情報処理装置30と学習装置とを物理的に異なる装置により実現してもよい。
【0089】
(参考文献)
[1] T. Zhang, Z. McCarthy, O. Jow, D. Lee, X. Chen, K. Goldberg, and P. Abbeel, “Deep imitation learning for complex manipulation tasks from virtual reality teleoperation,” in International Conference on Robotics and Automation. IEEE, 2018, pp. 1-8.
[2] P.-C. Yang, K. Sasaki, K. Suzuki, K. Kase, S. Sugano, and T. Ogata, “Repeatable folding task by humanoid robot worker using deep learning,” Robotics and Automation Letters, vol. 2, no. 2, pp. 397-403, 2016.
[3] J. Paillard, “Fast and slow feedback loops for the visual correction of spatial errors in a pointing task: a reappraisal,” Canadian journal of physiology and pharmacology, vol. 74, no. 4, pp. 401-417, 1996.
[4] H. Kolb, “Simple anatomy of the retina,” Webvision: The Organization of the Retina and Visual System [Internet]., pp. 13-36, 1995. [Online]. Available: https://www.ncbi.nlm.nih.gov/books/NBK11533/
[5] M. Hayhoe and D. Ballard, “Eye movements in natural behavior,” Trends in Cognitive Sciences, vol. 9, pp. 188-94, 2005.
[6] A. J. de Brouwer, J. P. Gallivan, and J. R. Flanagan, “Visuomotor feedback gains are modulated by gaze position,” Journal of neurophysiology, vol. 120, no. 5, pp. 2522-2531, 2018.
[7] U. Sailer, J. R. Flanagan, and R. S. Johansson, “Eye-hand coordination during learning of a novel visuomotor task,” Journal of Neuroscience, vol. 25, no. 39, pp. 8833-8842, 2005.
[8] D. S¨afstr¨om, R. S. Johansson, and J. R. Flanagan, “Gaze behavior when learning to link sequential action phases in a manual task,” Journal of vision, vol. 14, no. 4, pp. 3-3, 2014.
[9] F. Sarlegna, J. Blouin, J.-L. Vercher, J.-P. Bresciani, C. Bourdin, and G. M. Gauthier, “Online control of the direction of rapid reaching movements,” Experimental Brain Research, vol. 157, no. 4, pp. 468-471, 2004.
[10] V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, S. Petersen, C. Beattie, A. Sadik, I. Antonoglou, H. King, D. Kumaran, D. Wierstra, S. Legg, and D. Hassabis, “Human-level control through deep reinforcement learning,” nature, vol. 518, no. 7540, pp. 529-533, 2015.
[11] C. Finn, X. Y. Tan, Y. Duan, T. Darrell, S. Levine, and P. Abbeel, “Deep spatial autoencoders for visuomotor learning,” in International Conference on Robotics and Automation. IEEE, 2016, pp. 512-519.
[12] S. Levine, C. Finn, T. Darrell, and P. Abbeel, “End-to-end training of deep visuomotor policies,” The Journal of Machine Learning Research, vol. 17, no. 1, pp. 1334-1373, 2016.
[13] H. Kim, Y. Ohmura, and Y. Kuniyoshi, “Using human gaze to improve robustness against irrelevant objects in robot manipulation tasks,” IEEE Robotics and Automation Letters, vol. 5, no. 3, pp. 4415-4422, 2020.
[14] D. Chotrov, Z. Uzunova, Y. Yordanov, and S. Maleshkov, “Mixedreality spatial configuration with a zed mini stereoscopic camera,” 11 2018.
[15] C. M. Bishop, “Mixture density networks,” Neural Computing Research Group, Aston University, Tech. Rep., 1994.
[16] S. Ioffe and C. Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift,” arXiv preprint arXiv:1502.03167, 2015.
[17] X. Glorot, A. Bordes, and Y. Bengio, “Deep sparse rectifier neural networks,” in Proceedings of the fourteenth international conference on artificial intelligence and statistics, 2011, pp. 315-323.
[18] L. Liu, H. Jiang, P. He, W. Chen, X. Liu, J. Gao, and J. Han, “On the variance of the adaptive learning rate and beyond,” arXiv preprint arXiv:1908.03265, 2019.