(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120253
(43)【公開日】2024-09-05
(54)【発明の名称】操作方法学習装置、操作方法学習システム、操作方法学習方法、およびプログラム
(51)【国際特許分類】
B25J 13/00 20060101AFI20240829BHJP
B25J 15/08 20060101ALI20240829BHJP
G06N 20/00 20190101ALI20240829BHJP
G06N 3/092 20230101ALI20240829BHJP
B25J 15/10 20060101ALI20240829BHJP
【FI】
B25J13/00 Z
B25J15/08 J
G06N20/00
G06N3/092
B25J15/10
B25J15/08 W
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023026923
(22)【出願日】2023-02-24
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】森平 尚樹
(72)【発明者】
【氏名】林 昭伸
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707ES05
3C707ES07
3C707KS29
3C707KS31
3C707KS33
3C707KS35
3C707KS36
3C707KT01
3C707KT05
3C707KW01
3C707KW04
3C707KW05
3C707KX08
3C707LV06
3C707LW12
3C707LW15
(57)【要約】
【課題】物体操作の学習を行う際に効率的な試行錯誤が実施させることができる操作方法学習装置、操作方法学習システム、操作方法学習方法、およびプログラムを提供することを目的とする。
【解決手段】操作方法学習装置は、対象物体を操作可能な装置を含む環境モデルを記憶する記憶部と、環境モデルを用いて前記装置の状態量を取得する第1取得部と、環境モデルを用いて対象物体の状態量を取得する第2取得部と、環境モデルを用いて装置と対象物体の接触状態を取得する第3取得部と、接触状態を入力とし、接触状態の出現頻度から内部報酬を計算する内部報酬計算部と、装置の状態量と対象物体の状態量と接触状態量を入力とし、対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算する外部報酬計算部と、内部報酬を用いて更新される第1方策と、外部報酬を用いて更新される第2方策を確率的に選択しながら探索する探索部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
対象物体の操作方法を学習する操作方法学習装置であって、
前記対象物体を操作可能な装置を含む環境モデルを記憶する記憶部と、
前記環境モデルを用いて前記装置の状態量を取得する第1取得部と、
前記環境モデルを用いて前記対象物体の状態量を取得する第2取得部と、
前記環境モデルを用いて前記装置と前記対象物体の接触状態を取得する第3取得部と、
前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算する内部報酬計算部と、
前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算する外部報酬計算部と、
前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索する探索部と、
を備える操作方法学習装置。
【請求項2】
前記接触状態は、前記装置が既に触れた位置を示す情報、前記装置と前記対象物体の相対位置姿勢の情報から推定した接触状態、前記対象物体上で既に触れた位置を示す情報、前記装置と前記対象物体とが接触している場合の力を表す情報、および触覚センサが検出した検出値のうちの少なくとも1つである、
請求項1に記載の操作方法学習装置。
【請求項3】
前記探索部は、訓練時に、予め前記内部報酬に基づくデータを集め、訓練を行う、
請求項1または請求項2に記載の操作方法学習装置。
【請求項4】
前記外部報酬計算部は、前記対象物体の位置、前記対象物体の姿勢、前記装置と前記対象物体とが接触している場合の力を表す情報、触覚センサが検出した検出値、訓練時に前回用いた行動指示、および目標接触位置のうちの少なくとも1つである、
請求項1または請求項2に記載の操作方法学習装置。
【請求項5】
前記探索部は、探索毎に前記内部報酬と前記外部報酬と前記装置に対する行動指示と前記装置の行動を記憶し、所定の前記行動回数毎に前記第1方策と前記第2方策を更新する、
請求項1または請求項2に記載の操作方法学習装置。
【請求項6】
前記装置は、2つ以上の指部をそなえるロボットハンドであり、
前記ロボットハンドは、指先毎に力覚センサが取り付けら、前記ロボットハンドの各部に触覚センサが取り付けられている、
請求項1または請求項2に記載の操作方法学習装置。
【請求項7】
前記内部報酬計算部は、ロボットハンドのモデルと前記対象物体のモデルとの相対位置姿勢に基づいて、接触していそうな部位を推定して前記内部報酬を計算する、
請求項1または請求項2に記載の操作方法学習装置。
【請求項8】
対象物体の操作方法を学習するシステムであって、
前記対象物体を操作可能な装置と、
前記装置の状態量を取得する第1取得部と、
前記対象物体の状態量を取得する第2取得部と、
前記装置と前記対象物体の接触状態を取得する第3取得部と、
前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算する内部報酬計算部と、
前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算する外部報酬計算部と、
前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索する探索部と、
を備える操作方法学習システム。
【請求項9】
対象物体の操作方法を学習する操作方法学習装置のコンピュータが、
前記対象物体を操作可能な装置を含む環境モデルを用いて前記装置の状態量を取得し、
前記環境モデルを用いて前記対象物体の状態量を取得し、
前記環境モデルを用いて前記装置と前記対象物体の接触状態を取得し、
前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算し、
前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算し、
前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索する、
操作方法学習方法。
【請求項10】
対象物体の操作方法を学習する操作方法学習装置のコンピュータに、
前記対象物体を操作可能な装置を含む環境モデルを用いて前記装置の状態量を取得させ、
前記環境モデルを用いて前記対象物体の状態量を取得させ、
前記環境モデルを用いて前記装置と前記対象物体の接触状態を取得させ、
前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算させ、
前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索させ、目的タスク解決のための外部報酬を計算させ、
前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操作方法学習装置、操作方法学習システム、操作方法学習方法、およびプログラムに関する。
【背景技術】
【0002】
例えば、多指を有するロボットハンドによる物体の持ち替えなどの操り作業は、人が設計したモデルに基づく動作プランを用いて開発が進められている。
また、予測モデルをデータから学習したり、モデル無しで方策を獲得する開発が行われている。例えば、ハンドの広範囲に力・触覚センサを取り付けて、手探りで把持させてグラフ構造であるGCN(Graph Convolution Networks)モデルを学習させる手法が提案されている(例えば、非特許文献1参照)。このような手法では、与えられたタスクを解決するための報酬である外部報酬を用いて方策を訓練する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】船橋 賢,磯部 智喜, et al., “GCNと分布型触覚センサを用いた様々な物体に対する多指ロボットハンドによる操り動作の実現”,第40回日本ロボット学会学術講演会,RSJ2022, 4B2-03, 2022
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、人が設計したモデルを用いてプランニングする従来技術では、適用可能な操作は限定的で、かつモデルと実世界の誤差により実行時のロバスト性が高くなかった。
また、非特許文献1に記載の技術では、学習対象が高次元で複雑な問題の場合、情報を圧縮する構造を取り入れるなどの工夫が必要となり、触覚センサやカメラと多指ハンドを用いる場合、高効率なアプローチはまだ成熟しておらず,学習効率が悪い。また、非特許文献1に記載の技術では、有益な試行錯誤がなされず学習が進まないことがある。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、物体操作の学習を行う際に効率的な試行錯誤が実施させることができる操作方法学習装置、操作方法学習システム、操作方法学習方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)上記目的を達成するため、本発明の一態様に係る操作方法学習装置は、対象物体の操作方法を学習する操作方法学習装置であって、前記対象物体を操作可能な装置を含む環境モデルを記憶する記憶部と、前記環境モデルを用いて前記装置の状態量を取得する第1取得部と、前記環境モデルを用いて前記対象物体の状態量を取得する第2取得部と、前記環境モデルを用いて前記装置と前記対象物体の接触状態を取得する第3取得部と、前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算する内部報酬計算部と、前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算する外部報酬計算部と、前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索する探索部と、を備える操作方法学習装置である。
【0007】
(2)(1)の操作方法学習装置において、前記接触状態は、前記装置が既に触れた位置を示す情報、前記装置と前記対象物体の相対位置姿勢の情報から推定した接触状態、前記対象物体上で既に触れた位置を示す情報、前記装置と前記対象物体とが接触している場合の力を表す情報、および触覚センサが検出した検出値のうちの少なくとも1つであるようにしてもよい。
【0008】
(3)(1)の操作方法学習装置において、前記探索部は、訓練時に、予め前記内部報酬に基づくデータを集め、訓練を行うようにしてもよい。
【0009】
(4)(1)の操作方法学習装置において、前記外部報酬計算部は、前記対象物体の位置、前記対象物体の姿勢、前記装置と前記対象物体とが接触している場合の力を表す情報、触覚センサが検出した検出値、訓練時に前回用いた行動指示、および目標接触位置のうちの少なくとも1つであるようにしてもよい。
【0010】
(5)(1)の操作方法学習装置において、前記探索部は、探索毎に前記第1方策と前記第2方策のどちらかを確率的に選択し、探索に用いる行動を決定するようにしてもよい。
【0011】
(6)(1)の操作方法学習装置において、前記装置は、2つ以上の指部をそなえるロボットハンドであり、前記ロボットハンドは、指先毎に力覚センサが取り付けられ、前記ロボットハンドの各部に触覚センサが取り付けられているようにしてもよい。
【0012】
(7)(1)の操作方法学習装置において、前記内部報酬計算部は、ロボットハンドのモデルと前記対象物体のモデルとの相対位置姿勢に基づいて、接触していそうな部位を推定して前記内部報酬を計算するようにしてもよい。
【0013】
(8)上記目的を達成するため、本発明の一態様に係る操作方法学習システムは、対象物体の操作方法を学習するシステムであって、前記対象物体を操作可能な装置と、前記装置の状態量を取得する第1取得部と、前記対象物体の状態量を取得する第2取得部と、前記装置と前記対象物体の接触状態を取得する第3取得部と、前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算する内部報酬計算部と、前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算する外部報酬計算部と、前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索する探索部と、を備える操作方法学習システムである。
【0014】
(9)上記目的を達成するため、本発明の一態様に係る操作方法学習方法は、対象物体の操作方法を学習する操作方法学習装置のコンピュータが、前記対象物体を操作可能な装置を含む環境モデルを用いて前記装置の状態量を取得し、前記環境モデルを用いて前記対象物体の状態量を取得し、前記環境モデルを用いて前記装置と前記対象物体の接触状態を取得し、前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算し、前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索し、目的タスク解決のための外部報酬を計算し、前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索する、操作方法学習方法である。
【0015】
(10)上記目的を達成するため、本発明の一態様に係る操作方法学習プログラムは、対象物体の操作方法を学習する操作方法学習装置のコンピュータに、前記対象物体を操作可能な装置を含む環境モデルを用いて前記装置の状態量を取得させ、前記環境モデルを用いて前記対象物体の状態量を取得させ、前記モデルを用いて前記装置と前記対象物体の接触状態を取得させ、前記接触状態を入力とし、前記接触状態の出現頻度から内部報酬を計算させ、前記装置の状態量と前記対象物体の状態量と接触状態量を入力とし、前記対象物体の操作方策を探索させ、目的タスク解決のための外部報酬を計算させ、前記内部報酬を用いて更新される第1方策と、前記外部報酬を用いて更新される第2方策を確率的に選択しながら探索させる、プログラムである。
【発明の効果】
【0016】
(1)~(10)によれば、物体操作の学習を行う際に効率的な試行錯誤を実施させることができる。
【図面の簡単な説明】
【0017】
【
図1】センサを備え多指を備えるロボットハンドの例を示す図である。
【
図2】実施形態に係る操作方法学習システムの構成例を示す図である。
【
図3】実施形態に係る操作方法の訓練時の処理の概要を示す図である。
【
図4】実施形態に係る操作方法学習装置の学習手順を示すフローチャートである。
【
図5】比較例の内部報酬計算部無しで外部報酬に基づいたポリシーによる接触状態の探索例を示す図である。
【
図6】実施形態による内部報酬計算部有りで内部報酬も用いたポリシーによる接触状態の探索例を示す図である。
【
図7】比較例と実施形態における探索範囲例を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0019】
(センサを備えるロボットハンド)
まず、センサを備え多指を備えるロボットハンドの例を説明する。
図1は、センサを備え多指を備えるロボットハンドの例を示す図である。なお、
図1では、指が4つの例を示しているが、指の数はこれに限らず、例えば2つや3つであってもよく、5つ以上であってもよい。
指先には、6軸センサである力覚センサ11(11a、11b、11c、11d)が取り付けられている。
また、指の腹、手のひら等には、触覚センサ12が取り付けられている。
なお、
図1に示したセンサの取り付け位置や個数や大きさ等は一例であり、これに限らない。
【0020】
(操作方法学習システムの構成例)
次に、操作方法学習システムの構成例を説明する。
図2は、本実施形態に係る操作方法学習システムの構成例を示す図である。
図2のように、操作方法学習システム5は、ロボットハンド1と、環境センサ2と、操作方法学習装置3を備える。
ロボットハンド1は、例えば、力覚センサ11と、触覚センサ12と、撮影部13と、アクチュエータ14と、制御部15と、通信部16を備える。
操作方法学習装置3は、例えば、第1取得部301と、第2取得部302と、第3取得部303と、内部報酬計算部304と、外部報酬計算部305と、探索部306と、記憶部307と、学習処理部308と、通信部309を備える。
【0021】
なお、ロボットハンド1と操作方法学習装置3は、有線または無線で互いに接続されている。また、環境センサ2と操作方法学習装置3は、有線または無線で互いに接続されている。
【0022】
ロボットハンド1は、例えば
図1のような4つの指を備える多指ハンドである。なお、ロボットハンド1は、不図示のアームに接続されている。なお、本実施形態において、ロボットハンド1に行わせる作業は、例えば、対象物体の把持、対象物体を把持した後の物体の姿勢の変更や移動等の持ち替え等を含む様々な持ち方を試すことである。
【0023】
環境センサ2は、例えば、深度情報Dも測定可能なRGB(赤緑青)D撮影装置である。環境センサ2は、例えば、物体やロボットハンド1を撮影可能な範囲に設置される。環境センサ2は、複数であってもよい。
【0024】
力覚センサ11は、例えば、複数の向きに作用する力やトルクの大きさをリアルタイムに計測することのできる6軸力覚センサ(6AF sensor)である。
【0025】
触覚センサ12は、例えば、人間の手などに備わっている触覚が感じとる情報を検出し、電気信号に変換する触覚センサ(Tactile sensor)である。
【0026】
撮影部13は、例えば手の甲等に取り付けられている。撮影部13は、深度情報Dも測定可能なRGB(赤緑青)D撮影装置である。
【0027】
アクチュエータ14は、ロボットハンド1の各関節を制御部15の制御に応じて駆動する。
【0028】
制御部15は、各センサが検出した検出値や撮影部13が撮影した画像を、通信部16を介して操作方法学習装置3に送信する。制御部15は、通信部16を介して、操作方法学習装置3が送信した情報を取得する。
【0029】
通信部16は、制御部15が出力する情報を操作方法学習装置3に送信する。通信部16は、操作方法学習装置3が送信した情報を受信し、受信した情報を制御部15に出力する。
【0030】
第1取得部301は、例えば、力覚センサ11の検出値を装置の状態量(ハンドの関節角など)として取得する。
【0031】
第2取得部302は、例えば、撮影部13が撮影した画像(含む深度情報)、環境センサ2が撮影した画像(含む深度情報)を取得し、取得した画像に含まれる情報に対して画像処理を行って、操作対象物体の状態量(対象物体の位置姿勢など)を取得する。
【0032】
第3取得部303は、例えば、触覚センサ12の検出値を取得し、取得した検出値を用いて装置と対象物体の接触状態を取得する。なお、接触状態とは、対象物体を操作するロボットハンド1(装置)が既に触れた位置を示す情報、ロボットハンド1と対象物体の相対位置姿勢の情報から推定した接触状態、対象物体上で既に触れた位置を示す情報、ロボットハンド1と対象物体とが接触している場合の力を表す情報、および触覚センサが検出した検出値のうちの少なくとも1つである。なお、ロボットハンド1が接触センサを備えていない場合でも、ロボットハンド1と対象物体の形状モデルの位置関係から、推定できる接触状態でも内部報酬の計算には使えるため、「ロボットハンド1と対象物体の相対位置姿勢の情報から推定した接触状態」も接触状態である。
【0033】
内部報酬計算部304は、接触状態量を入力とし、接触状態の出現頻度から内部報酬を計算する。なお、以下の説明において内部報酬計算部304は、RND(Random Network Distillation)を用いる例を説明するが、他の手法を用いてもよい。なお、RNDについては後述する。
【0034】
外部報酬計算部305は、目的タスク解決のための外部報酬を計算する。
【0035】
探索部306は、訓練時、内部報酬を用いて第1方策を更新し、外部報酬を用いて第2方策を更新する。探索部306は、探索時、第1方策と第2方策の2つから1つを確率的に選択し、探索に用いる状態量を含む行動を決定する。
【0036】
記憶部307は、接触状態の出現頻度を記憶する。記憶部307は、例えば、カーネル関数のパラメータ、RNDのパラメータ等を記憶する。記憶部307は、環境モデル、外部報酬、内部報酬、第1方策、第2方策、前回のコマンド、目標接触位置等を記憶する。記憶部307は、訓練のアルゴリズム内で用いられる関数近似器や環境モデルのパラメータを記憶する。なお、環境モデルは、例えば、ロボットハンド1のモデルと、操作対象のモデル等を備えている。
【0037】
学習処理部308は、取得された装置状態量と対象物体状態量と接触状態量をモデルへの入力とする。学習処理部308は、訓練時に、記憶部307が記憶するカーネル関数やモデル、内部報酬で訓練するための第1方策、外部報酬で訓練するための第2方策を初期化する。学習処理部308は、上策を確率的に選択して行動指示を生成し、生成した行動指示を、通信部309を介してロボットハンド1へ送信する。
【0038】
通信部309は、例えば、学習処理部308の指示に応じて行動指示をロボットハンド1に送信する。
【0039】
(強化学習のアプローチ)
次に、強化学習のアプローチ例を説明する。
本実施形態の機械学習では、内部報酬と外部報酬を同時に考慮しながら、探索・試行錯誤に利用するアプローチする。なお、内部報酬とは、タスク非依存の報酬であり、例えば、状態の珍しさや、状態に対する自信や不確実性等である。また、外部報酬とは、与えられたタスクを解決するための報酬である。
【0040】
なお、内部報酬は、例えば、ニューラルネットワークやカーネル法などを用いて計算する。内部報酬の計算に用いる手法としては、例えば、ランダムにパラメータを初期化して固定化したターゲットのニューラルネットワークと、訓練対象のニューラルネットワークとの出力差が小さくなるように訓練対象のネットワークのパラメータを訓練する(例えば、参考文献1参照(RND))手法がある。この手法においては、訓練されたデータが入力された場合は、2つのネットワークが同じような値を出力するようになり、未知のデータが入力された場合は2つのネットワークが異なる値を出力する。なお、一般的に内部報酬に用いる入力は全ての状態であるが、本実施形態では、全ての状態のうちの一部の情報を用いる。
【0041】
参考文献1;Yuri Burda, et al., ”EXPLORATION BY RANDOM NETWORK DISTILLATION”, arXiv:1810.12894 , 2018
【0042】
図3は、本実施形態に係る操作方法の訓練時の処理の概要を示す図である。
本実施形態では、タスクが変わっても色々な接触状態を試すように、すなわち馴染みのない接触状態を探索するようにすることで、有益な試行錯誤を促進することで、方策の学習を行う。なお、本実施形態では、内部報酬の計算を一部の状態量を用いてRND351で算出し、第1方策352を内部報酬で訓練して更新し、第2方策353を外部報酬で訓練して更新する。
【0043】
操作方法学習装置3は、ロボットハンド1と環境センサ2から取得された情報のうち、力覚センサ11の検出値と、触覚センサ12の検出値と、撮影部13または環境センサ2が撮影した画像とセンサの検出値に基づく対象物体上で既に指部が触れた位置を示す情報のうちの少なくとも1つを、RND351に入力して、接触状態に関する内部報酬を算出する。なお、RND351のネットワークは、上述した参考文献1の手法を用いて、内部報酬を算出する。なお、内部報酬の算出は、カーネル法等で行ってもよい。RND351は,ある接触状態が入力されると,内部報酬を出力する。例えば、状態stで行動atをとった場合は、環境354(Env)が出力する次の状態st+1のうち接触状態だけをRND351に入力され、RND351が内部報酬を計算する。
【0044】
第1方策352は、内部報酬のみを考慮した方策である。第1方策352は、内部報酬によって訓練され更新される。第1方策352には、取得されたロボットの状態量(関節角等)、物体位置や姿勢、力覚センサ11の検出値、触覚センサ12の検出値、前回行ったコマンド、目標接触位置等の情報が入力される。第1方策352の出力は、行動である。
【0045】
第2方策353は、外部報酬のみを考慮した方策である。第2方策353は、外部報酬によって訓練され更新される。第2方策353には、取得されたロボットの状態量(関節角等)、物体位置や姿勢、力覚センサ11の検出値、触覚センサ12の検出値、前回行ったコマンド、目標接触位置等の情報が入力される。なお、前回行ったコマンドは記憶部307が記憶する。また、目標接触位置は、例えば学習処理部308が生成する。第2方策353の出力は、行動である。なお、外部報酬の計算は、設定されたタスクによって異なる。例えば、物体の位置を変えるタスクの場合は、状態量の一部(物体の位置)の情報だけから外部報酬を算出する。また、他のタスクの場合は、状態量の全ての情報から外部報酬を算出する。
【0046】
なお、各方策の個数は、1つとは限らない。例えば、ゴールが複数ある場合は、方策をゴール毎に設けるようにしてもよい。または、複数のゴールを1つの方策に入力して用いてもよい。すなわち、方策は、並列化されていてもよく、ゴール条件付きで用いられるようにしてもよい。
【0047】
なお、外部報酬は、記憶させておき、訓練時にそのままの値で使うことができる。オンポリシーの場合は、内部報酬も一時的に記憶しておき、そのままの値で訓練に使用するが、訓練後は破棄する。オフポリシーの場合の内部報酬は、その時点までに経験したデータから考えて、珍しいか否かを判定する。このため、データ数が増えた後は、再計算が必要になる。
そして、外部報酬を用いた訓練では、記憶部307から状態st、行動at、外部報酬r^Ext、行動後の状態st+1を複数のtに対して取り出して、これらを基に方策ネットワークのパラメータを更新する。
内部報酬を用いる訓練では、記憶部307から状態st、行動at、行動後の状態st+1を複数のtに対して取り出して、st+1に対して内部報酬r^Intを再計算し、これらを基に方策ネットワークのパラメータを更新する。
【0048】
環境354(Env)は、第1方策352と第2方策353の出力を確率的に選択して、方策が出力した行動を環境モデルで実行する。なお、選択する確率は、例えば、第1方策352が40%、第2方策353が60%である。なお、環境354(Env)の出力は、ロボットの状態量や物体情報、接触情報に基づいて算出された外部報酬だけである。例えば、環境354(Env)は、状態stと行動atが入力されると、次の状態st+1と外部報酬r^Extを出力する。環境354(Env)は、第1方策352が出力した行動が入力されても、第2方策353が出力した行動が入力されても、次の状態st+1と外部報酬r^Extを出力する。また、第1方策352と第2方策353が出力するスケールが異なる場合は、スケールのレンジが同じようになるように例えば正規化して用いる。なお、記憶される情報は、状態st、行動at、外部報酬r^Ext、および行動後の状態st+1である。また、内部報酬r^Intは、訓練時に再計算される。
【0049】
このように、外部報酬を計算する外部報酬計算部305には、環境354(Env)が対応する。また、内部報酬を計算する内部報酬計算部304には、RND351が対応する。
【0050】
(操作方法学習装置の学習手順)
次に、操作方法学習装置の処理手順例を説明する。
図4は、本実施形態に係る操作方法学習装置の学習手順を示すフローチャートである。
図4の処理は、オンポリシーの場合の例である。なお、オンポリシーとは、データをためてポリシーの更新に再利用しない処理である。
【0051】
(ステップS1)学習処理部308は、記憶部307が記憶する接触状態の出現頻度、すなわちRNDのパラメータ等を初期化する。なお、接触状態とは、例えば、対象物体と指部との接触状態、対象物体に対する指部が触った位置等の情報を含む。
【0052】
(ステップS2)学習処理部308は、第1方策と第2方策それぞれのネットワークのパラメータを初期化(所定の値等)する。
【0053】
(ステップS3)第1取得部301~第3取得部303は、現在の接触状態を含む現在の状態量(対象物体の位置、対象物体の姿勢、力覚センサの検出値、触覚センサの検出値、前回のコマンド、目標接触位置)を取得する。
【0054】
(ステップS4)内部報酬計算部304は、接触状態の出現頻度を求めて内部報酬を算出する。すなわち内部報酬計算部304は、接触状態に関わる状態量の一部を用いてRNDを用いて内部報酬を算出する。さらに、外部報酬計算部305は、タスクに応じて状態量の全てまたは一部を用いて外部報酬を算出する。学習処理部308は、第1方策と第2方策を確率的に選択して、行動を生成する。学習処理部308は、生成した行動を環境モデルで実行させる。なお、学習処理部308は、生成した行動をロボットハンド1に実行させるように、通信部309を介してロボットハンド1へ行動指示を送信するようにしてもよい。この場合、ロボットハンド1は、行動指示に応じて行動を1ステップ行うようにしてもよい。
【0055】
(ステップS5)第1取得部301~第3取得部303は、行動を実行した後の状態量を取得する。
【0056】
(ステップS6)内部報酬計算部304は、取得した行動実行後の接触状態に関わる状態量の一部を用いて内部報酬を算出する。外部報酬計算部305は、取得した行動実行後の状態量の全てまたは一部を用いて外部報酬を算出する。
【0057】
(ステップS7)学習処理部308は、データ(状態量)が所定数集まったか否かを判別する。学習処理部308は、データが所定数集まった場合(ステップS7;YES)、ステップS8の処理に進める。学習処理部308は、データが所定数集まっていない場合(ステップS7;NO)、ステップS3の処理に戻す。
【0058】
(ステップS8)探索部306は、ステップS7で計算された内部報酬に基づいて第1方策を更新する。探索部306は、ステップS7で計算された外部報酬に基づいて第2方策を更新する。
【0059】
(ステップS9)内部報酬計算部304は、更新された第1方策に基づいて、内部報酬計算部304を更新、例えばRNDのネットワークを更新する。
【0060】
(ステップS10)学習処理部308は、学習が終了したか否かを判別する。なお、学習処理部308は、例えば、予め定められた回数の行動または学習を行ったら、学習を完了したと判断する。学習処理部308は、学習が終了した場合(ステップS10;YES)、学習処理を終了する。学習処理部308は、学習が終了していない場合(ステップS10;NO)、ステップS3に処理を戻す。
【0061】
なお、
図4に示した処理手順は一例であり、これに限らない。例えば、ステップS1、S2の処理は並列で行ってもよく、処理順番が逆であってもよい。
【0062】
(評価結果)
次に、評価結果例を説明する。
図5は、比較例の内部報酬計算部無しで外部報酬に基づいたポリシーによる接触状態の探索例を示す図である。
図6は、本実施形態による内部報酬計算部有りで内部報酬も用いたポリシーによる接触状態の探索例を示す図である。
図7は、比較例と本実施形態における探索範囲例を示す図である。
図6の符号g101と
図7の符号g201は、訓練が5回程度の動作例である。
図6の符号g111と
図7の符号g211は、訓練が10回程度の動作例である。
図6の符号g121と
図7の符号g221は、訓練が30回程度の動作例である。
図7において符号g101のグラフは比較例の結果、符号g102のグラフが本実施形態の結果である。また、
図7において、横軸はロボットハンド1の親指に取り付けられている6軸の力覚センサ11によるx方向の力(N(ニュートン))、縦軸はロボットハンド1の親指に取り付けられている6軸の力覚センサ11によるy方向の力(N)である。
【0063】
図5~
図7の示したように、本実施形態では、内部報酬を用いたため、外部報酬のみを用いる比較例と比較して、より早くより広い範囲の接触状態を探索できた。
【0064】
以上のように、本実施形態によれば、目的タスクの解決のための試行錯誤と並行して、珍しい接触状態を好む探索が促進されるため、多指を備えるロボットハンド1による対象物体の操り学習を行う際に効率的な試行錯誤が実施される。また、本実施形態によれば、従来技術で見られる多次元の情報を圧縮する構造を取り入れるなどの工夫と独立して効率的な探索を誘導するため、モデル獲得が不要でありモデルフリーでの方策獲得の学習の支援することができる。なお、本実施形態の操作方法学習装置3が用いるモデルは、ロボットハンド1等の装置に関するモデルと対象物体に関するモデル(形状、大きさ、重さ等)であり、方策等の学習に用いられるモデルとは異なっている。
【0065】
なお、本発明における操作方法学習装置3の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより操作方法学習装置3が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0066】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0067】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0068】
5…操作方法学習システム、1…ロボットハンド、2…環境センサ、3…操作方法学習装置、11…力覚センサ、12…触覚センサ、13…撮影部、14…アクチュエータ、15…制御部、16…通信部、301…第1取得部、302…第2取得部、303…第3取得部、304…内部報酬計算部、305…外部報酬計算部、306…探索部、307…記憶部、308…学習処理部、309…通信部