JP2022143969A - データ生成装置、データ生成方法、制御装置、制御方法及びプログラム - Google Patents

データ生成装置、データ生成方法、制御装置、制御方法及びプログラム Download PDF

Info

Publication number
JP2022143969A
JP2022143969A JP2021044782A JP2021044782A JP2022143969A JP 2022143969 A JP2022143969 A JP 2022143969A JP 2021044782 A JP2021044782 A JP 2021044782A JP 2021044782 A JP2021044782 A JP 2021044782A JP 2022143969 A JP2022143969 A JP 2022143969A
Authority
JP
Japan
Prior art keywords
state
time
next time
simulated
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021044782A
Other languages
English (en)
Inventor
達也 田中
Tatsuya Tanaka
敏充 金子
Toshimitsu Kaneko
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2021044782A priority Critical patent/JP2022143969A/ja
Priority to US17/446,319 priority patent/US20220297298A1/en
Publication of JP2022143969A publication Critical patent/JP2022143969A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

【課題】制御対象の動作を学習させる環境をモデル化するときのモデル化誤差を低減させる。【解決手段】実施形態の制御装置は、決定部と報酬生成部と模擬部と次状態生成部とを備える。決定部は、現在時刻の状態に基づいて行動を決定する。報酬生成部は、前記現在時刻の状態と、前記行動とに基づいて報酬を生成する。模擬部は、前記現在時刻の状態に基づいて設定された現在時刻の模擬状態と、前記行動と、から次時刻の模擬状態を生成する。次状態生成部は、前記現在時刻の状態と、前記行動と、前記次時刻の模擬状態とから、次時刻の状態を生成する。【選択図】図3

Description

本発明の実施形態はデータ生成装置、データ生成方法、制御装置、制御方法及びプログラムに関する。
製造・物流現場等における労働力不足などにより、作業の自動化が求められている。ティーチングが不要で、自律的にロボットの動作を獲得できる方法として、強化学習がある。強化学習は、試行錯誤に行動を繰り返すことにより動作を学習するため、一般的にロボット実機を用いた強化学習は、データの取得に手間のかかる高コストな学習となる。そのため、行動の試行回数に対してデータ効率を高める方法が求められている。その方法の一つとして、モデルベース強化学習が従来から知られている。
Anusha Nagabandi,Gregory Kahn, Ronald S.Fearing,Sergey Levine,"Neural Network Dynamics for Model-Based Deep Reinforcement Learning with Model-Free Fine-Tuning",arXiv:1708.02596([令和2年11月2日検索],インターネット<URL:https://arxiv.org/abs/1708.02596>),2017. John Schulman,Filip Wolski,Prafulla Dhariwal,Alec Radford,Oleg Klimov,"Proximal Policy Optimization Algorithms",arXiv:1707.06347([令和2年11月2日検索],インターネット<URL:https://arxiv.org/abs/1707.06347>),2017.
しかしながら従来の技術では、制御対象の動作を学習させる環境をモデル化するときのモデル化誤差を低減させることが難しかった。
実施形態の制御装置は、決定部と報酬生成部と模擬部と次状態生成部とを備える。決定部は、現在時刻の状態に基づいて行動を決定する。報酬生成部は、前記現在時刻の状態と、前記行動とに基づいて報酬を生成する。模擬部は、前記現在時刻の状態に基づいて設定された現在時刻の模擬状態と、前記行動から次時刻の模擬状態を生成する。次状態生成部は、前記現在時刻の状態と、前記行動と、前記次時刻の模擬状態とから、次時刻の状態を生成する。
実施形態のロボットシステムの装置構成の例を示す図。 実施形態のデータ生成装置及び制御装置の機能構成の例を示す図。 実施形態の生成部の機能構成の例を示す図。 実施形態の模擬部の動作を説明するための図。 実施形態の報酬の生成処理の例を説明するための図。 実施形態の次状態生成部の動作を説明するための図。 実施形態の次状態の生成処理の例を説明するための図。 実施形態の次状態の生成処理の例を説明するための図。 実施形態の次状態の生成処理の例を説明するための図。 実施形態の報酬の生成処理と次状態の生成処理とを、ニューラルネットワークの一部を共有する構成で実現する例を説明するための図。 実施形態のデータ生成方法の例を示すフローチャート。 実施形態の制御方法の例を示すフローチャート。 実施形態のデータ生成装置及び制御装置のハードウェア構成の例を示す図。
以下に添付図面を参照して、データ生成装置、データ生成方法、制御装置、制御方法及びプログラムの実施形態を詳細に説明する。
実施形態では、物品(対象物の一例)を把持する機能を有するロボットを制御するロボットシステムを例にして説明する。
[装置構成の例]
図1は、実施形態のロボットシステム1の装置構成の例を示す図である。実施形態のロボットシステム1は、制御装置100、ロボット110及び観測装置120を備える。ロボット110は、複数のアクチュエータ111、多関節アーム112及びエンドエフェクタ113を備える。
制御装置100は、ロボット110の動作を制御する。制御装置100は、例えばコンピュータ、及び、ロボット110の動作制御のための専用の装置等により実現される。
制御装置100は、物品10を把持するためにアクチュエータ111に送出する制御信号を決定する方策を学習する際に用いられる。これにより、ロボット110等の実機のデータ取得が高コストなシステムの動作計画を効率的に学習することが可能となる。
制御装置100は、観測装置120により生成された観測情報を用いて、対象物を把持するための動作計画を作成する。制御装置100は、作成された動作計画に基づく制御信号をロボット110のアクチュエータ111に送出することにより、ロボット110を動作させる。
ロボット110は、操作の対象物である物品10を把持する機能を有する。ロボット110は、例えば多関節ロボット、直行ロボット、及び、これらの組み合わせ等により構成される。以下では、ロボット110が複数のアクチュエータ111を備える多関節ロボットである場合を例にして説明する。
エンドエフェクタ113は、対象物(例えば物品10)を移動させるために、多関節アーム112の先端に取り付けられる。エンドエフェクタ113は、例えば対象物を把持可能なグリッパー、及び、真空式ロボットハンドなどである。多関節アーム112及びエンドエフェクタ113は、アクチュエータ111による駆動に応じて制御される。より具体的には、多関節アーム112は、アクチュエータ111による駆動に応じて、移動、回転、及び、伸縮(すなわち関節間の角度の変更)等を行う。エンドエフェクタ113は、アクチュエータ111による駆動に応じて、対象物の把持(グリップまたは吸着)を行う。
観測装置120は、物品10及びロボット110の状態を観測することにより、観測情報を生成する。観測装置120は、例えば画像を生成するカメラ、及び、デプスデータ(奥行き情報)を生成する距離センサ等である。観測装置120は、ロボット110を含む環境内(例えば室内の柱及び天井等)に設置されていてもよいし、ロボット110に取り付けられていてもよい。
[制御装置の機能構成の例]
図2は実施形態の制御装置100の機能構成の例を示す図である。実施形態の制御装置100は、取得部200と、生成部201と、記憶部202と、推論部203と、更新部204と、ロボット制御部205とを備える。
取得部200は、観測装置120から観測情報を取得し、状態s を生成する。状態s は、観測情報から得られる情報を含む。また、状態s には、ロボット110から取得されたロボット110の内部状態(各関節の角度・位置、エンドエフェクタの位置など)が含まれていてもよい。
生成部201は、取得部200から状態s を受け付けると、経験データ(s,a,r,st+1)を生成する。経験データ(s,a,r,st+1)、及び、生成部201の処理の詳細は、図3を参照して後述する。
記憶部202は、生成部201で生成された経験データを蓄積するバッファである。記憶部202は、例えばメモリ、HDD(Hard Disk Drive)及びSSD(Solid State Drive)などで構成される。
推論部203は、時刻tの状態s を用いて、アクチュエータ111に送出する制御信号を決定する。推論には、様々な強化学習アルゴリズムが使用できる。例えば非特許文献2のPPO(Proximal Policy Optimization)により推論を行う場合、推論部203は、状態s をニューラルネットワークで構成された方策π(a│s)に入力し、得られた確率密度関数P(a|s)に基づいて行動aを決定する。行動aは、例えば多関節アーム112を移動、回転、伸縮(関節間の角度の変更)、などを行ったり、エンドエフェクタの座標位置を指定したりするための制御信号である。
更新部204は、記憶部202に蓄積された経験データを用いて、推論部203の方策π(a│s)を更新する。例えば、方策π(a│s)がニューラルネットワークで決定される場合、ニューラルネットワークの重みやバイアスを更新する。重みやバイアスは、PPOなどの各種強化学習アルゴリズムで用いられる目的関数に従って、誤差逆伝搬法などを用いることで更新することができる。
ロボット制御部205は、推論部203からの出力情報に基づいて、アクチュエータ111に制御信号を送出することによって、ロボット110を制御する。
次に、生成部201の処理の詳細について説明する。
[生成部の機能構成の例]
図3は実施形態の生成部201の機能構成の例を示す図である。ここでは、制御装置100を構成する生成部201として実勢形態を説明するが、生成部201の機能構成の一部または全部を構成するデータ生成装置であってもよい。実施形態の生成部201は、初期状態取得部300と、選択部301と、決定部302と、模擬部303と、報酬生成部304と、次状態生成部305と、次状態取得部306とを備える。
初期状態取得部300は、ロボット110の動作の開始時刻における状態s を取得し、状態s を初期状態sとする。ここでは開始時刻に取得した状態s で説明するが、過去に取得したs を保持しておき、再利用してもよく、観測装置120で観測した観測情報に基づいて、データ拡張技術などを用い、s を合成して用いてもよい。
選択部301は、初期状態取得部300により取得された状態s、または次状態取得部306により取得された状態sのいずれかを選択し、選択された状態sを決定部302及び報酬生成部304へ入力する。状態s及び状態sは、観測装置120から観測情報であり、例えば、画像又は奥行き情報等であり、どちらか一方、又は両方であってもよく、ロボット110から取得されたロボット110の内部状態(各関節の角度・位置、エンドエフェクタの位置など)であってよく、更にはそれらの組み合わせ、それらに対して演算を行った結果得られた情報であってもよい。次状態取得部306により取得された状態sは、前回(例えば時刻t-1)の次状態生成部306の処理によって生成された前回の次時刻の状態s(t-1)+1である。例えば、選択部301は、ロボット110の動作の開始時刻においては状態sを選択し、それ以外の場合には、次状態取得部306により取得された状態sを選択する。
決定部302は、方策μに従い、状態sにおいてとる行動aを決定する。方策μは、推論部203で用いられる方策π(a│s)でもよいし、推論部203とは別の行動決定基準に基づいた方策でもよい。
模擬部303は、ロボット110の動きをシミュレートする。模擬部303は、例えばロボットシミュレータによって、ロボット110の動きをシミュレートしてもよい。また例えば、模擬部303は、実機(ロボット110)を実際に用いてロボット110の動きをシミュレートしてもよい。ピッキング対象の対象物(例えば物品10)は存在していなくてもよい。
模擬部303は、動作開始時刻に、選択部301からの初期化指示に基づいて、模擬状態を初期化する。模擬状態は、例えば、画像又は奥行き情報等であり、どちらか一方、又は両方であってもよく、ロボット110から取得されたロボット110の内部状態(各関節の角度・位置、エンドエフェクタの位置など)であってよく、更にはそれらの組み合わせ、それらに対して演算を行った結果得られた情報であってもよい。まず、模擬部303は、開始時刻におけるロボット110の状態(例えば関節角度など)に基づいて、模擬部303内部の状態を修正し、ロボット110と同じ姿勢・状態になるように模擬状態を設定する。次に、模擬部303は、決定部302により決定された行動aに基づいて、一時刻後のロボット110の状態をシミュレートする。模擬部303は、シミュレートの結果得られた、一時刻後のロボット110の模擬状態s’t+1を、次状態生成部305へ入力する。また、報酬生成部304で報酬rを算出する際に利用する場合には、報酬生成部304にも模擬状態s’t+1を入力してもよい。
図4は実施形態の模擬部303の動作を説明するための図である。ここでは、模擬部303がロボットシミュレータで構成(実現)される場合を例にとって説明する。模擬部303は、ロボット110に対応するロボットのモデル(例えばCADデータ、質量及び摩擦係数など)を持ったシミュレータである。
模擬部303は、時刻tの模擬状態s’を生成する。例えば、観測装置120がカメラで構成される場合、模擬部303は、ロボット110を観測装置120の視点から撮影したときの画像に相当する画像をレンダリングし、レンダリングされた画像によって模擬状態s’(模擬状態s’を観測した情報)を生成する。なお、模擬状態s’は、奥行き情報を用いて表されていてもよい。
模擬部303は、決定部302により決定された行動aに基づいて、模擬状態s’からロボット110の状態をシミュレートする。模擬部303は、シミュレート後、ロボット110を観測装置120の視点から撮影したときの画像に相当する画像をレンダリングすることで、時刻t+1の模擬状態s’t+1を生成する。
報酬生成部304は、状態sにおいて行動aを行った場合に得られる報酬rを出力する。報酬rは、例えばニューラルネットワークなどの統計的手法により算出されてもよい。また例えば、報酬rは、あらかじめ決められた関数などを用いて算出されてもよい。
図5は実施形態の報酬rの生成処理の例を説明するための図である。図5の例は、報酬生成部304をニューラルネットワークで構成(実現)する場合を示す。ここでは、状態sが画像で表現される場合を例に挙げて説明する。
図5の例では、状態sが、畳み込み層(Convolution Layer)によって畳み込み処理が施された後、全結合層(Fully Connected Layer)によって処理されることによって、D次元の特徴が得られる。また、行動aが、全結合層によって処理されることによって、D次元の特徴が得られる。これらD次元の特徴、及び、D次元の特徴を連結し、全結合層によって処理することで、報酬rが算出される。畳み込み層または全結合層での各処理の後に、正規化線形関数、シグモイド関数等の活性化関数による変換処理を加えても良い。
なお、報酬rの生成に模擬状態s’t+1を使ってもよい。報酬生成部304が、次時刻の模擬状態s’t+1に更に基づいて報酬rを生成する場合、模擬状態s’t+1に状態sと同様の処理を施し、得られたDs’次元の特徴を、D次元の特徴、及び、D次元の特徴に更に連結し、全結合層によって処理することで、報酬rを算出する。
報酬生成部304を構成するニューラルネットワークの重み及びバイアスは、経験データ(s,a,r,st+1)の教師データから求められる。経験データ(s,a,r,st+1)の教師データは、例えば、図1に示すロボットシステム1を稼働させることによって集められる。具体的には、報酬生成部304が、報酬生成部304を構成するニューラルネットワークで求めた報酬rと、教師データの報酬rとを比較し、当該ニューラルネットワークの重み及びバイアスを、例えば二乗誤差を最小化するように、誤差逆伝搬法などを用いて求める。
図3に戻り、次状態生成部305は、選択部301により選択された状態sと、決定部302により決定された行動aと、模擬部303により生成された一時刻後のロボット110の模擬状態s’t+1とに基づいて、次時刻の状態(次状態)st+1を生成する。状態st+1を算出する方法には、例えばニューラルネットワークなどの統計的手法を用いられる。
図6は実施形態の次状態生成部305の動作を説明するための図である。図6は、次状態生成部305が、次の時刻の状態st+1を生成する動作を示す。次状態生成部305は、状態s、模擬状態s’t+1、及び、行動aに基づいて、次時刻の状態st+1を生成する。図6の例では、状態sは、観測装置120により観測された画像を用いて表される。模擬状態s’t+1は、模擬部303によりレンダリングされた画像により表される。行動aは、決定部302により決定された行動aである。
なお、状態s、状態st+1、模擬状態s’、及び、模擬状態s’t+1の表現方法は、画像形式に限られない。例えば、状態s、状態st+1、模擬状態s’、及び、模擬状態s’t+1は、画像及び奥行き情報の少なくとも一方を含んでいてもよい。
図7は実施形態の次状態の生成処理の例を説明するための図である。図7の例は、次状態生成部305をニューラルネットワークで構成する場合を示す。ここでは、状態sが画像で表現される場合を例に挙げて説明する。状態sが、畳み込み層(Convolution Layer)によって畳み込み処理が施された後、全結合層(Fully Connected Layer)によって処理されることによって、D次元の特徴が得られる。また、行動aが、全結合層によって処理されることによって、D次元の特徴が得られる。これらD次元の特徴、及び、D次元の特徴を連結し、全結合層によって処理したのち、逆畳み込み層(Deconvolution Layer)で逆畳み込み処理を施すことにより、次状態st+1が生成される。
なお、次状態st+1の生成に模擬状態s’t+1を使ってもよい。その場合、模擬状態s’t+1に状態sと同様の処理を施し、Ds’次元の特徴を得る。そして、Ds’次元の特徴を、D次元の特徴、及び、D次元の特徴に更に連結し、全結合層によって処理したのち、逆畳み込み層(Deconvolution Layer)で逆畳み込み処理を施すことにより、次状態st+1が生成される。
畳み込み層、全結合層、逆畳み込み層での各処理の後に、正規化線形関数、シグモイド関数等の活性化関数による変換処理を加えても良い。
次状態生成部305を構成するニューラルネットワークの重み及びバイアスは、経験データ(s,a,r,st+1)の教師データから求められる。経験データ(s,a,r,st+1)の教師データは、例えば、図1に示すロボットシステム1を稼働させることによって集められる。具体的には、次状態生成部305が、次状態生成部305を構成するニューラルネットワークで求めた次状態st+1と、教師データの次状態st+1とを比較し、当該ニューラルネットワークの重み及びバイアスを、例えば二乗誤差を最小化するように、誤差逆伝搬法などを用いて求める。
図8A及び8Bは、実施形態の次状態st+1の生成処理の例を説明するための図である。実施形態の制御装置100によれば、図8Aに示すように、ロボット110の次時刻での状態st+1については、模擬部303(例えばロボットシミュレータ)により生成された模擬状態s’t+1に基づいて生成することができる。そのため、次状態生成部305は、物品10等のピッキング対象物の次時刻での状態(例えば物品10の位置、大きさ、形状及び姿勢等)に関する情報f(s,a,s’t+1)のみを補正情報として生成すればよい(実際には、ロボット110とロボットシミュレータとの間の誤差があり得るため、その誤差も補正情報として生成する)。
すなわち実施形態の制御装置100では、次状態生成部305が、次時刻の模擬状態s’t+1を補正する補正情報を生成し、当該補正情報と次時刻の模擬状態s’t+1とから、次時刻の状態st+1を生成する。これにより、ロボット110に関する誤差を削減することができるので、モデル化誤差を低減できる。従来は、ロボット110の次時刻での状態st+1、及び、ピッキング対象物の次時刻での状態の両方を生成する必要があり、また、次状態st+1は、状態s及び行動aのみに基づいて生成されていたため、モデル化誤差を低減させることが難しかった。
また、実施形態のピッキング動作の学習においては、ロボット110及び対象物(例えば物品10)の大まかなレイアウトが既知であるため、例えば観測装置120がカメラで構成される場合、取得された画像中から、パターン認識技術などを用いて、対象物(例えば物品10)の領域を検出することが可能である。すなわち、次状態生成部305は、画像及び奥行き情報の少なくとも一方から、対象物を含む領域iを抽出し、当該対象物を含む領域に更に基づいて、次時刻の状態st+1を生成してもよい。例えば、次状態生成部305は、あらかじめ対象物(例えば物品10)の領域を画像から切り出しておき、その領域を示す情報iも用いて次状態st+1を生成することで、さらにモデル化誤差を低減することが可能となる。
図3に戻り、次状態取得部306は、次状態生成部305により生成された次状態st+1を取得し、当該次状態st+1を次回の処理(次時刻における処理)に用いる状態sとし、当該状態s状態を選択部301へ入力する。
なお、上述の説明では、報酬生成部304と、次状態生成部305とが、それぞれ別々に、報酬r及び次状態st+1を生成する例をあげて説明したが、両者がニューラルネットワークで構成される場合、図9の例のように、そのニューラルネットワークの一部を共通化して利用してもよい。
図9は実施形態の報酬rの生成処理と次状態st+1の生成処理とを、ニューラルネットワークの一部を共有する構成で実現する例を説明するための図である。図9の例のように、ニューラルネットワークの一部を共通化することにより、ニューラルネットワークの学習効率化が期待できる。
[データ生成方法の例]
図10は実施形態のデータ生成方法の例を示すフローチャートである。はじめに、選択部301が、状態s(初期状態)、または、状態s(次状態生成部305の前回の処理によって生成された次時刻の状態st+1)を取得する(ステップS1)。次に、選択部301が、ステップS1の処理により取得された状態sまたは状態sを、現在時刻の状態sとして選択する(ステップS2)。
次に、決定部302が、現在時刻の状態sに基づいて行動aを決定する(ステップS3)。次に、報酬生成部304が、現在時刻の状態sと、行動aとに基づいて報酬rを生成する(ステップS4)。次に、模擬部303が、現在時刻の状態sに基づいて設定された現在時刻の模擬状態s’と、行動aと、から次時刻の模擬状態s’t+1を生成する(ステップS5)。次に、次状態生成部305が、現在時刻の状態sと、行動aと、次時刻の模擬状態s’t+1とから、次時刻の状態st+1を生成する(ステップS6)。
経験データは、ステップS1~S6の処理またはその繰り返しによって、記憶部202に蓄積される。
[制御方法の例]
図11は実施形態の制御方法の例を示すフローチャーとである。ステップS1からステップS6まではデータ生成方法と同じであり、説明を省略する。ステップS6で次時刻の状態st+1を生成した後、次に、推論部203が、現在時刻の状態stと、行動atと、報酬rtと、次時刻の状態st+1とを含む経験データから強化学習によって得られた方策πに基づいて、制御対象(実施形態ではロボット110)を制御する制御信号を決定する。なお、方策πは、更新部204が、記憶部202に記憶された経験データを用いて更新する。経験データは、ステップS1~S6の処理またはその繰り返しによって、記憶部202に蓄積される。
更新部204は、記憶部202に記憶された経験データを用いて方策πを更新する。推論部203は、現在時刻の状態sと、行動aと、報酬rと、次時刻の状態st+1とを含む経験データから強化学習によって得られた方策πに基づいて、制御対象(実施形態ではロボット110)を制御する制御信号を決定する(ステップS7)。
以上、説明したように、実施形態の制御装置100によれば、制御対象の動作を学習させる環境をモデル化するときのモデル化誤差を低減させることができる。
従来の技術では、ロボットの動作を学習させる環境をモデル化する際、モデル化誤差が発生するという問題があった。一般的に、ロボットの動作を完全にモデル化して再現することは困難であるため、モデル化誤差が発生する。モデル化した環境を用いて生成した経験データによってロボットの動作を学習させた場合、このモデル化誤差が原因となり、実際のロボット上では所望の動作を実現できない可能性があった。
一方、実施形態の制御装置100によれば、モデルベース強化学習において、モデル化の誤差を低減した経験データ(s,a,r,st+1)を生成することができる。具体的には、次時刻の状態st+1を生成する際に、模擬部303により生成された模擬状態s’t+1を用いることで、模擬部303が模擬可能な情報に関しては誤差を低減することができる。その結果、生成される学習データの誤差を低減することができるので、実際のロボット110上でも、所望の動作を従来よりも高精度に実現することができる。
[ハードウェア構成の例]
図12は実施形態の制御装置100のハードウェア構成の例を示す図である。実施形態の制御装置100は、プロセッサ401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405及び通信装置406を備える。プロセッサ401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405及び通信装置406は、バス410を介して接続されている。
プロセッサ401は、補助記憶装置403から主記憶装置402に読み出されたプログラムを実行する。主記憶装置402は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置403は、HDD、及び、メモリカード等である。
表示装置404は表示情報を表示する。表示装置404は、例えば液晶ディスプレイ等である。入力装置405は、制御装置100を操作するためのインタフェースである。入力装置405は、例えばキーボードやマウス等である。通信装置406は、他の装置と通信するためのインタフェースである。なお、制御装置100は、表示装置404及び入力装置405を備えていなくてもよい。制御装置100が、表示装置404及び入力装置405を備えていない場合は、例えば通信装置406を介して他の装置から制御装置100の設定等が行われる。
実施形態の制御装置100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
また実施形態の制御装置100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の制御装置100で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
また実施形態の制御装置100のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
実施形態の制御装置100で実行されるプログラムは、上述の機能ブロックのうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、プロセッサ401が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置402上にロードされる。すなわち上記各機能ブロックは主記憶装置402上に生成される。
なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
また複数のプロセッサ401を用いて各機能を実現してもよい。その場合、各プロセッサ401は、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。
また実施形態の制御装置100の動作形態は任意でよい。実施形態の制御装置100の機能の一部を、例えばネットワーク上のクラウドシステムとして動作させてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 ロボットシステム
10 物品
100 制御装置
110 ロボット
111 アクチュエータ
112 多関節アーム
113 エンドエフェクタ
120 観測装置
200 取得部
201 生成部
202 記憶部
203 推論部
204 更新部
205 ロボット制御部
300 初期状態取得部
301 選択部
302 決定部
303 模擬部
304 報酬生成部
305 次状態生成部
306 次状態取得部
401 プロセッサ
402 主記憶装置
403 補助記憶装置
404 表示装置
405 入力装置
406 通信装置

Claims (23)

  1. 現在時刻の状態に基づいて行動を決定する決定部と、
    前記現在時刻の状態と、前記行動とに基づいて報酬を生成する報酬生成部と、
    前記現在時刻の状態に基づいて設定された現在時刻の模擬状態と、前記行動から次時刻の模擬状態を生成する模擬部と、
    前記現在時刻の状態と、前記行動と、前記次時刻の模擬状態とから、次時刻の状態を生成する次状態生成部と、
    を備えるデータ生成装置。
  2. 前記報酬生成部は、前記次時刻の模擬状態に更に基づいて前記報酬を生成する、
    請求項1に記載のデータ生成装置。
  3. 前記次状態生成部は、前記次時刻の模擬状態を補正する補正情報を生成し、前記補正情報と前記次時刻の模擬状態とから、前記次時刻の状態を生成する、
    請求項1又は2に記載のデータ生成装置。
  4. 前記現在時刻の状態、前記次時刻の状態、前記現在時刻の模擬状態、及び、前記次時刻の模擬状態は、画像及び奥行き情報の少なくとも一方を含む、
    請求項2又は3に記載のデータ生成装置。
  5. 前記模擬部は、ロボットシミュレータまたは前記ロボットを用いて、前記次時刻の模擬状態を生成する 請求項4に記載のデータ生成装置。
  6. 前記次状態生成部は、前記画像及び前記奥行き情報の少なくとも一方から、前記ピッキング対象物を含む領域を抽出し、前記ピッキング対象物を含む領域に更に基づいて、前記次時刻の状態を生成する、
    請求項5に記載のデータ生成装置。
  7. 初期状態を取得する初期状態取得部と、
    前回の前記次状態生成部の処理によって生成された前回の前記次時刻の状態を取得する次状態取得部と、
    前記初期状態または前記前回の次時刻の状態のいずれかから、前記現在時刻の状態を選択する選択部と、
    を更に備える請求項1乃至6のいずれか1項に記載のデータ生成装置。
  8. 前記データ生成装置と、
    更に、前記現在時刻の状態と、前記行動と、前記報酬と、前記次時刻の状態とを含む経験データから強化学習によって得られた方策に基づいて、制御対象を制御する制御信号を決定する推論部と、
    を備える請求項1乃至7のいずれか1項に記載の制御装置。
  9. 決定部が、現在時刻の状態に基づいて行動を決定するステップと、
    報酬生成部が、前記現在時刻の状態と、前記行動とに基づいて報酬を生成するステップと、
    前記模擬部が、前記現在時刻の状態に基づいて設定された現在時刻の模擬状態と、前記行動と、から次時刻の模擬状態を生成するステップと、
    前記次状態生成部が、前記現在時刻の状態と、前記行動と、前記次時刻の模擬状態とから、次時刻の状態を生成するステップと、
    を備えるデータ生成方法。
  10. 前記報酬を生成するステップは、前記次時刻の模擬状態に更に基づいて前記報酬を生成する、
    請求項9に記載のデータ生成方法。
  11. 前記次時刻の状態を生成するステップは、前記次時刻の模擬状態を補正する補正情報を生成し、前記補正情報と前記次時刻の模擬状態とから、前記次時刻の状態を生成する、
    請求項9又は10に記載のデータ生成方法。
  12. 前記現在時刻の状態、前記次時刻の状態、前記現在時刻の模擬状態、及び、前記次時刻の模擬状態は、画像及び奥行き情報の少なくとも一方を含む、
    請求項11に記載のデータ生成方法。
  13. 前記次時刻の状態を生成するステップは、前記画像及び前記奥行き情報の少なくとも一方から、前記ピッキング対象物を含む領域を抽出し、前記ピッキング対象物を含む領域に更に基づいて、前記次時刻の状態を生成する、
    請求項12に記載のデータ生成方法。
  14. 初期状態を取得するステップと、
    前回の前記次時刻の状態を生成するステップによって生成された前回の前記次時刻の状態を取得するステップと、
    前記初期状態または前記前回の次時刻の状態のいずれかから、前記現在時刻の状態を選択するステップと、
    を更に含む請求項9乃至13のいずれか1項に記載のデータ生成方法。
  15. 前記データ生成方法の各ステップと、
    推論部が、前記現在時刻の状態と、前記行動と、前記報酬と、前記次時刻の状態とを含む経験データから強化学習によって得られた方策に基づいて、制御対象を制御する制御信号を決定するステップと、
    を更に含む請求項9乃至14のいずれか1項に記載の制御方法。
  16. コンピュータを、
    現在時刻の状態に基づいて行動を決定する決定部と、
    前記現在時刻の状態と、前記行動とに基づいて報酬を生成する報酬生成部と、
    前記現在時刻の状態に基づいて設定された現在時刻の模擬状態と、前記行動と、から次時刻の模擬状態を生成する模擬部と、
    前記現在時刻の状態と、前記行動と、前記次時刻の模擬状態とから、次時刻の状態を生成する次状態生成部と、
    として機能させるためのプログラム。
  17. 前記報酬生成部は、前記次時刻の模擬状態に更に基づいて前記報酬を生成する、
    請求項16に記載のプログラム。
  18. 前記次状態生成部は、前記次時刻の模擬状態を補正する補正情報を生成し、前記補正情報と前記次時刻の模擬状態とから、前記次時刻の状態を生成する、
    請求項16又は17に記載のプログラム。
  19. 前記現在時刻の状態、前記次時刻の状態、前記現在時刻の模擬状態、及び、前記次時刻の模擬状態は、画像及び奥行き情報の少なくとも一方を含む、
    請求項18に記載のプログラム。
  20. 前記模擬部は、ロボットシミュレータまたは前記ロボットを用いて、前記次時刻の模擬状態を生成する、
    請求項19に記載のプログラム。
  21. 前記次状態生成部は、前記画像及び前記奥行き情報の少なくとも一方から、前記ピッキング対象物を含む領域を抽出し、前記ピッキング対象物を含む領域に更に基づいて、前記次時刻の状態を生成する、
    請求項20に記載のプログラム。
  22. 初期状態を取得する初期状態取得部と、
    前回の前記次状態生成部の処理によって生成された前回の前記次時刻の状態を取得する次状態取得部と、
    前記初期状態または前記前回の次時刻の状態のいずれかから、前記現在時刻の状態を選択する選択部と、
    を更に備える請求項16乃至21のいずれか1項に記載のプログラム。
  23. 請求項16乃至22のいずれか1項に記載の前記プログラムの各機能と、
    更に、前記現在時刻の状態と、前記行動と、前記報酬と、前記次時刻の状態とを含む経験データから強化学習によって得られた方策に基づいて、制御対象を制御する制御信号を決定する推論部、
    として機能させるためのプログラム。
JP2021044782A 2021-03-18 2021-03-18 データ生成装置、データ生成方法、制御装置、制御方法及びプログラム Pending JP2022143969A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021044782A JP2022143969A (ja) 2021-03-18 2021-03-18 データ生成装置、データ生成方法、制御装置、制御方法及びプログラム
US17/446,319 US20220297298A1 (en) 2021-03-18 2021-08-30 Data generation device, data generation method, control device, control method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021044782A JP2022143969A (ja) 2021-03-18 2021-03-18 データ生成装置、データ生成方法、制御装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2022143969A true JP2022143969A (ja) 2022-10-03

Family

ID=83285974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021044782A Pending JP2022143969A (ja) 2021-03-18 2021-03-18 データ生成装置、データ生成方法、制御装置、制御方法及びプログラム

Country Status (2)

Country Link
US (1) US20220297298A1 (ja)
JP (1) JP2022143969A (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319420A (ja) * 1996-05-31 1997-12-12 Ricoh Co Ltd 組立ロボット
JP2017185577A (ja) * 2016-04-04 2017-10-12 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
JP2017211913A (ja) * 2016-05-27 2017-11-30 日本電信電話株式会社 行動決定装置、未来予測モデル学習装置、ネットワーク学習装置、方法、及びプログラム
US20190354859A1 (en) * 2018-05-18 2019-11-21 Deepmind Technologies Limited Meta-gradient updates for training return functions for reinforcement learning systems
WO2020009139A1 (ja) * 2018-07-04 2020-01-09 株式会社Preferred Networks 学習方法、学習装置、学習システム及びプログラム
JP2020082293A (ja) * 2018-11-28 2020-06-04 株式会社東芝 ロボット動作計画装置、ロボットシステム、および方法
JP2020082322A (ja) * 2018-11-30 2020-06-04 株式会社クロスコンパス 機械学習装置、機械学習システム、データ処理システム及び機械学習方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3523761B1 (en) * 2016-11-04 2023-09-20 DeepMind Technologies Limited Recurrent environment predictors
EP3824358A4 (en) * 2018-09-04 2022-04-13 Kindred Systems Inc. REAL-TIME-REAL-WORLD REINFORCEMENT LEARNING SYSTEMS AND METHODS
US20210103815A1 (en) * 2019-10-07 2021-04-08 Deepmind Technologies Limited Domain adaptation for robotic control using self-supervised learning
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
US11554482B2 (en) * 2020-07-16 2023-01-17 Hitachi, Ltd. Self-learning industrial robotic system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319420A (ja) * 1996-05-31 1997-12-12 Ricoh Co Ltd 組立ロボット
JP2017185577A (ja) * 2016-04-04 2017-10-12 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
JP2017211913A (ja) * 2016-05-27 2017-11-30 日本電信電話株式会社 行動決定装置、未来予測モデル学習装置、ネットワーク学習装置、方法、及びプログラム
US20190354859A1 (en) * 2018-05-18 2019-11-21 Deepmind Technologies Limited Meta-gradient updates for training return functions for reinforcement learning systems
WO2020009139A1 (ja) * 2018-07-04 2020-01-09 株式会社Preferred Networks 学習方法、学習装置、学習システム及びプログラム
JP2020082293A (ja) * 2018-11-28 2020-06-04 株式会社東芝 ロボット動作計画装置、ロボットシステム、および方法
JP2020082322A (ja) * 2018-11-30 2020-06-04 株式会社クロスコンパス 機械学習装置、機械学習システム、データ処理システム及び機械学習方法

Also Published As

Publication number Publication date
US20220297298A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
JP6781183B2 (ja) 制御装置及び機械学習装置
JP5225720B2 (ja) ロボットのモーションの発生及び制御のための装置ならびに方法
JP5750657B2 (ja) 強化学習装置、制御装置、および強化学習方法
JP2019529135A (ja) ロボット操作のための深層強化学習
US11823048B1 (en) Generating simulated training examples for training of machine learning model used for robot control
JP7295421B2 (ja) 制御装置及び制御方法
TWI802820B (zh) 機器人控制裝置、方法和儲存媒體
JP2020082322A (ja) 機械学習装置、機械学習システム、データ処理システム及び機械学習方法
CN115605326A (zh) 用于控制机器人的方法和机器人控制器
US11790042B1 (en) Mitigating reality gap through modification of simulated state data of robotic simulator
US20210107144A1 (en) Learning method, learning apparatus, and learning system
JP2019098439A (ja) 振動抑制装置
CN110385694A (zh) 机器人的动作示教装置、机器人系统以及机器人控制装置
CN114516060A (zh) 用于控制机器人装置的设备和方法
CN114599488A (zh) 机器学习数据生成装置、机器学习装置、作业系统、计算机程序、机器学习数据生成方法及作业机的制造方法
JP6550605B2 (ja) 動作の転移装置、動作の転移方法及びプログラム
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
JPWO2019239562A1 (ja) 機械学習装置及びこれを備えたロボットシステム
JP7336856B2 (ja) 情報処理装置、方法及びプログラム
JP2022143969A (ja) データ生成装置、データ生成方法、制御装置、制御方法及びプログラム
JP6518982B2 (ja) 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体
CN114585487A (zh) 通过使用基于视觉的机器人任务模型训练模拟到真实模型来减轻现实差距
CN115008439A (zh) 信息处理设备和方法、机器人系统、产品制造方法
US20240054393A1 (en) Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240112