JP6603257B2 - 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法 - Google Patents

行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法 Download PDF

Info

Publication number
JP6603257B2
JP6603257B2 JP2017069866A JP2017069866A JP6603257B2 JP 6603257 B2 JP6603257 B2 JP 6603257B2 JP 2017069866 A JP2017069866 A JP 2017069866A JP 2017069866 A JP2017069866 A JP 2017069866A JP 6603257 B2 JP6603257 B2 JP 6603257B2
Authority
JP
Japan
Prior art keywords
information
robot
value
behavior information
learning
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.)
Active
Application number
JP2017069866A
Other languages
English (en)
Other versions
JP2018171663A (ja
Inventor
知之 山本
佑典 栗原
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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2017069866A priority Critical patent/JP6603257B2/ja
Priority to US15/935,456 priority patent/US10730182B2/en
Priority to CN201810258132.2A priority patent/CN108693851B/zh
Priority to DE102018204740.5A priority patent/DE102018204740B4/de
Publication of JP2018171663A publication Critical patent/JP2018171663A/ja
Application granted granted Critical
Publication of JP6603257B2 publication Critical patent/JP6603257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/33Director till display
    • G05B2219/33056Reinforcement learning, agent acts, receives reward, emotion, action selective
    • 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/40202Human robot coexistence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法に関する。
従来、ロボットが人と共存する空間で作業する場合がある。例えば、ロボットは、予めプログラミングされた位置までワークを運び、作業者にワークを受け渡すと、次のワークを取りに行くという一連の動作を繰り返す場合である。
このように、ロボットと作業者との間で協調作業を行う場合、ロボットは、プログラミングによって定められた位置やタイミング等で作業を行っていた。しかし、このような場合に、受け渡し位置やタイミングによっては、作業者にとって受け取り難い場合や、次の作業を始め難い場合がある。
ここで、ロボットにさせる作業を最適化するための装置が開示されている(例えば、特許文献1参照)。
特開2009−125920号公報
ロボットに最適な処理をさせるためには、再度プログラミングを行って受け渡し位置等を教示する必要があるが、試行錯誤して最適な位置等を探し出すのには限度があった。
本発明は、係る課題に鑑みなされたものであり、その目的は、作業者がロボットとの協調作業を行いやすくするための行動情報学習装置、ロボット制御システム及び行動情報学習方法を提供することである。
(1)本発明の行動情報学習装置(例えば、行動情報学習装置300)は、ロボット(例えば、ロボット100)がワーク置き場から取得したワーク(例えば、ワーク7)を、作業者(例えば、作業者P)に対してワークを受け渡す領域であるワーク受渡領域(例えば、受渡領域8)内で受け渡す場合に、前記ロボットの状態情報(例えば、状態s)を取得する状態情報取得手段(例えば、状態情報取得部310)と、前記状態情報の調整情報である行動情報(例えば、行動a)を出力する行動情報出力手段(例えば、行動情報出力部320)と、ワークの受け渡しにかかる受渡時間(例えば、受渡時間T)についての情報である判定情報を取得し、取得した前記判定情報に基づいて強化学習における報酬の値を算出する報酬算出手段(例えば、報酬算出部331)と、前記報酬算出手段により算出された前記報酬の値と、前記状態情報と、前記行動情報とに基づいて前記強化学習を行うことにより価値関数(例えば、価値関数Q)を更新する価値関数更新手段(例えば、価値関数更新部332)と、を備える。
(2) (1)に記載の行動情報学習装置において、前記状態情報は、前記ロボットの姿勢及び前記ワーク受渡領域内の受渡位置に関する情報を含み、前記調整情報は、前記状態情報についての調整を行うための情報を含んでもよい。
(3) (2)に記載の行動情報学習装置において、前記状態情報は、更にワークを取得した位置から前記ワーク受渡領域内への前記ロボットの移動経路を含んでもよい。
(4) (1)から(3)までのいずれかに記載の行動情報学習装置において、前記報酬算出手段は、前記受渡時間が前回の受渡時間よりも短い場合に、前記報酬の値を正の値とし、前記受渡時間が前回の受渡時間よりも長い場合に、前記報酬の値を負の値としてもよい。
(5) (1)から(4)までのいずれかに記載の行動情報学習装置において、前記受渡時間は、ワークを取得してから前記ワーク受渡領域内の位置に移動するまでの移動時間(例えば、移動時間T1)と、ワークを前記ワーク受渡領域内の位置に移動後、前記ワークを作業者が受け取るまでの開放時間(例えば、開放時間T2)とからなり、前記受渡時間が同じ場合には、前記開放時間が短い場合に、前記移動時間が短い場合より前記報酬の値をより大きな値にしてもよい。
(6) (1)から(5)までのいずれかに記載の行動情報学習装置において、他の行動情報学習装置との間で前記価値関数を共有し、前記価値関数更新手段が、前記共有した価値関数を更新してもよい。
(7) 本発明によるロボット制御システム(例えば、ロボット制御システム1000)は、(1)から()までのいずれかに記載の行動情報学習装置(例えば、行動情報学習装置300)と、前記行動情報学習装置に対して通信ネットワーク(例えば、ネットワーク400)を介して接続され、前記ロボット(例えば、ロボット100)を制御するロボット制御装置(例えば、ロボット制御装置200)と、を備え、前記行動情報学習装置が、前記価値関数更新手段(例えば、価値関数更新部332)により更新された前記価値関数に基づいて、前記ロボットによる前記受渡時間を最短にするための行動情報である最適化行動情報を生成する行動情報生成手段(例えば、最適化行動情報出力部350)と、前記行動情報生成手段により生成された前記最適化行動情報を、前記ロボット制御装置に対して出力する行動情報出力手段(例えば、最適化行動情報出力部350)と、を備える。
(8) 本発明による行動情報学習方法は、状態情報取得手段が、ロボットがワーク置き場から取得したワークを、作業者に対してワークを受け渡す領域であるワーク受渡領域内で受け渡す場合に、前記ロボットの状態情報を取得するステップと、行動情報出力手段が、前記状態情報の調整情報である行動情報を出力するステップと、報酬算出手段が、ワークの受け渡しにかかる受渡時間についての情報である判定情報を取得し、取得した前記判定情報に基づいて強化学習における報酬の値を算出するステップと、価値関数更新手段が、算出された前記報酬の値と、前記状態情報と、前記行動情報とに基づいて前記強化学習を行うことにより価値関数を更新するステップと、を含む。
本発明によれば、作業者がロボットとの協調作業を行いやすくするための行動情報学習装置、ロボット制御システム及び行動情報学習方法を提供できる。
本発明の実施形態全体の基本的構成を示すブロック図である。 本発明の実施形態に含まれる各装置が備える機能ブロックを表すブロック図である。 本発明の実施形態におけるロボットの動作を説明するための図である。 本発明の実施形態における強化学習時の基本的動作を示すフローチャートである。 本発明の実施形態における最適化行動情報の選択時の基本的動作を示すフローチャートである。 本発明の変形形態における行動情報学習装置間の連携を示すブロック図である。
(実施形態)
まず、本発明の実施形態の概略を説明する。本実施形態において、図1に示すように、ロボット100と、作業者Pとは、作業空間内にて共同で作業をする。そして、ロボット100は、ワーク7(図3参照)を作業者Pに運搬し、作業者Pは、ロボット100からワーク7を受け取って作業をする。そして、ロボット制御システム1000では、ロボット100がワーク7を運搬してから、作業者Pがワーク7を受け取るまでの時間が最短になるように、ロボット100の行動情報を学習する。
次に、本実施形態に係るロボット制御システム1000の構成について説明する。ロボット制御システム1000は、ロボット100、ロボット制御装置200、行動情報学習装置300及びネットワーク400を備えている。
ここで、ロボット制御装置200とロボット100とは、1対1の組とされて、通信可能に接続されている。なお、ロボット制御装置200とロボット100とは、接続インタフェースを介して直接接続されても、また、LAN(Local Area Network)等のネットワークを介して接続されてもよい。
また、ロボット制御装置200と、行動情報学習装置300とは、それぞれ接続インタフェースを介して直接に接続、又は、それぞれネットワーク400を介して接続されており、相互に通信を行うことが可能である。なお、ネットワーク400は、例えば、工場内に構築されたLANや、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク400における具体的な通信方式や、有線接続及び無線接続のいずれであるか等については、特に限定されない。
次に、ロボット制御システム1000に含まれるこれら装置の機能について、図2を参照して説明する。ここで、図2は、各装置に含まれる機能ブロックを表すブロック図である。なお、各装置間に存在するネットワーク400については、その図示を省略する。
ロボット100は、ロボット制御装置200に設定されたロボット制御プログラム及びロボット制御装置200に設定されたパラメータの設定値に基づいて生成される動作指令にしたがって、例えば、部品等のワーク7を運搬する。ロボット100は、モータ部110と、開放ボタン120とを備える。
モータ部110は、ロボット100のハンド部13(後述する)等の駆動軸を駆動させるサーボモータである。
開放ボタン120は、ハンド部13に把持したワーク7を取り外す処理を行うためのボタンである。開放ボタン120は、作業者Pにより操作される。開放ボタン120を操作したことによる押下情報は、ロボット制御装置200に送られる。
ここで、ロボット100による動作について、図3に基づき説明する。
図3は、本発明の実施形態におけるロボット100の動作を説明するための図である。
ロボット100は、例えば、6軸多関節型のロボットである。ロボット100の各関節部の駆動軸及びハンド部13の駆動軸は、モータ部110によって駆動するが、ロボット制御装置200によって制御される。
ロボット100は、例えば、ワーク置き場に載置されたワーク7を取得し、作業台上の受渡領域8の所定位置にワーク7を運搬する。このロボット100がワーク7を取得してから受渡領域8の所定位置までワーク7を運搬するまでの時間を、移動時間T1とする。
作業者Pによるロボット100への操作、例えば、作業者Pがロボット100のハンド部13の近傍を掴んで動かす動作をすることによって、ロボット100は、位置及び姿勢を変える。また、作業者Pによる開放ボタン120の押下操作によって、ロボット制御装置200のモータ制御部210は、ワーク7をハンド部13から取り外す制御を行い、作業者Pは、ロボット100からワーク7を受け取る。このロボット100がワーク7を受渡領域8の所定位置まで運搬してから作業者Pがワーク7を受け取るまでの時間を、開放時間T2とする。そして、移動時間T1と、開放時間T2とをあわせた時間を、受渡時間Tとする。
以上、ロボット100の機能ブロックについて説明したが、上述した機能ブロックは、本実施形態の動作に特に関連する部分である。ロボット100は、上述した機能ブロック以外にも、例えば、動作指令を増幅するモータ駆動アンプや、ユーザの操作を受け付けるための操作盤等、一般的な機能ブロックを備えている。しかしながら、これらの一般的な機能ブロックについては、当業者によく知られているので、詳細な説明及び図示を省略する。
図2に戻り、ロボット制御装置200は、ロボット100を制御することにより、ロボット100に所定の動作を行わせる装置である。また、ロボット制御装置200は、行動情報学習装置300に対して状態情報(「ステータス」ともいう。)を送信する。更に、ロボット制御装置200は、行動情報学習装置300から行動情報(「アクション」ともいう。)を受信する。これら各情報の詳細については、行動情報学習装置300の機能ブロックの説明と併せて説明をする。
ロボット制御装置200は、モータ制御部210と、パラメータ設定部220と、プログラム修正部230と、受渡時間計測部240とを備える。
モータ制御部210は、ロボット制御プログラム及びパラメータ(例えば、ハンド部13を含むロボット100の受渡領域8内での姿勢、受渡領域8内における位置、ワーク7を取得してから受渡領域8内の位置に達するまでのロボット100の移動経路に関する値)の設定値に基づいて動作指令を生成し、生成した動作指令をロボット100に送出する。そして、モータ制御部210は、ロボット100に動作指令を送出することにより、ロボット100のモータ部110等の駆動を制御する。この処理により、ロボット100によるワーク7の運搬動作が実現される。ここで、ロボット制御プログラムには、運搬のための諸条件(例えば、障害物を避けるためのマップ情報、移動速度等)が定義されている。
パラメータ設定部220は、ロボット100の当該ロボット制御プログラムによるワーク7の運搬時における移動処理に関するパラメータを設定する部分である。ロボット100のパラメータとは、例えば、ハンド部13を含むロボット100の受渡領域8内での姿勢や、受渡領域8内の位置や、ロボット100の移動経路に関するパラメータである。ハンド部13を含むロボット100の姿勢を示すパラメータは、例えば、ハンド部13の角度に関するデータである。また、受渡領域8内の位置を示すパラメータは、例えば、ハンド部13の位置をXYZ座標で表したデータである。ロボット100の移動経路に関するパラメータは、例えば、ロボット100がワーク7を取得したワーク置き場の位置から受渡領域8までのロボット100の教示点のデータである。ここで、ロボット100の教示点とは、ロボット100のハンド部13の先端部の位置をいう。
かかるパラメータの設定値は、行動情報学習装置300から出力される行動情報や、最適化行動情報に基づいて調整される。
プログラム修正部230は、ロボット制御プログラムを直接修正する。具体的には、プログラム修正部230は、当該ロボット制御プログラムで記述されたハンド部13を含むロボット100の受渡領域8内での姿勢や、受渡領域8内の位置等を、行動情報学習装置300から出力される行動情報や、最適化行動情報に基づいて、プログラムコードを直接修正する。
受渡時間計測部240は、時間を計測する制御部である。受渡時間計測部240は、ロボット100がワーク置き場に載置されたワーク7を取得し、受渡領域8の所定位置にワーク7を運搬するまでの時間である移動時間T1を計測する。また、受渡時間計測部240は、受渡領域8の所定位置にワーク7を運搬してから作業者Pがワーク7を受け取るまでの時間である開放時間T2を計測する。
行動情報学習装置300は、強化学習を行う装置である。行動情報学習装置300に含まれる各機能ブロックの説明に先立って、まずは、強化学習の基本的な仕組みについて説明する。エージェント(本実施形態における行動情報学習装置300に相当)は、環境の状態を観測し、ある行動を選択し、当該行動に基づいて環境が変化する。環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択(意思決定)を学習する。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。
このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
このように、強化学習では、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち将来的に得られる報酬を最大にするための学習方法を学ぶ。これは、本実施形態において、例えば、受渡時間Tを短縮し、更に、開放時間T2を短縮するための行動情報を選択するという、未来に影響をおよぼすような行動を獲得できることを表している。
ここで、強化学習としては、任意の学習方法を用いることができるが、以下の説明では、或る環境の状態sの下で、行動aを選択する価値Q(s,a)を学習する方法であるQ学習(Q−learning)を用いる場合を例にとって説明をする。
Q学習では、或る状態sのとき、取り得る行動aのなかから、価値Q(s,a)の最も高い行動aを最適な行動として選択することを目的とする。
しかしながら、Q学習を最初に開始する時点では、状態sと行動aとの組み合わせについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェントは、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(s,a)を学習していく。
また、将来にわたって得られる報酬の合計を最大化したいので、最終的に価値Q(s,a)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動にしたがって状態変化した場合の期待値である。しかしQ学習の過程において、最適な行動が何であるのかは不明であるので、様々な行動を行うことにより、探索しながら強化学習をする。このような価値Q(s,a)の更新式は、例えば、次の式(1)により表すことができる。
Figure 0006603257
上記の式(1)において、sは、時刻tにおける環境の状態を表し、aは、時刻tにおける行動を表す。行動aにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した式(1)は、試行aの結果、返ってきた報酬rt+1を元に、状態sにおける行動aの価値Q(s,a)を更新する方法を表している。この更新式は、状態sにおける行動aの価値Q(s,a)よりも、行動aによる次の状態st+1における最良の行動の価値max (st+1,a)の方が大きければ、価値Q(s,a)を大きくし、逆に小さければ、価値Q(s,a)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
ここで、Q学習では、すべての状態行動ペア(s,a)についての価値Q(s,a)のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアの価値Q(s,a)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。
そこで、公知のDQN(Deep Q−Network)と呼ばれる技術を利用するようにしてもよい。具体的には、価値関数Qを適当なニューラルネットワークを用いて構成し、ニューラルネットワークのパラメータを調整することにより、価値関数Qを適当なニューラルネットワークで近似することにより価値Q(s,a)の値を算出するようにしてもよい。DQNを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。なお、DQNについては、例えば、以下の非特許文献に詳細な記載がある。
<非特許文献>
「Human−level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年3月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
行動情報学習装置300は、上記において説明をしたQ学習を行う。具体的には、行動情報学習装置300は、ロボット100において設定されたロボット制御プログラムの内容及び当該ロボット制御プログラム実行時におけるパラメータの組み合わせを状態sとし、当該状態sに係る当該ロボット制御プログラムの修正及びパラメータの調整を行動aとして、選択する価値関数Qを学習する。
行動情報学習装置300は、ロボット100において設定されたロボット制御プログラム及びパラメータ等の状態sを観測して、行動aを決定する。行動情報学習装置300は、行動aをするたびに報酬が返ってくる。行動情報学習装置300は、将来にわたっての報酬の合計が最大になるように、最適な行動aを試行錯誤的に探索する。そうすることで、行動情報学習装置300は、ロボット100において設定されたロボット制御プログラムの内容及び当該ロボット制御プログラム実行時におけるパラメータの組み合わせ等である状態sに対して、最適な行動aを選択することが可能となる。
すなわち、行動情報学習装置300により学習された価値関数Qに基づいて、或る状態sに係るロボット制御プログラムの内容及び当該ロボット制御プログラム実行時におけるパラメータの組み合わせに対して、適用される行動aのうち、価値関数Qの値が最大となるような行動aを選択することで、ワーク7の受け渡しに係る時間である受渡時間T及び開放時間T2が最短になるような行動aを選択することが可能となる。
以上の強化学習を行うために、行動情報学習装置300は、状態情報取得部310、行動情報出力部320、学習部330及び価値関数記憶部340を備える。
状態情報取得部310は、ロボット制御プログラムの内容及び当該ロボット制御プログラム実行時におけるパラメータの組み合わせである状態情報(状態s)を、ロボット制御装置200(及び/又はロボット100)から取得する部分である。この状態sは、Q学習における、環境の状態sに相当する。
具体的には、本実施形態における状態sには、ロボット100を制御するためのロボット制御プログラムの内容及び当該ロボット制御プログラム実行時におけるパラメータの組み合わせが含まれ、パラメータには、当該ロボット制御プログラム等によるハンド部13を含むロボット100の受渡領域8内での姿勢、受渡領域8内における位置、ワーク7を取得してから受渡領域8内の位置に達するまでの移動経路に関する情報が含まれる。状態情報取得部310は、取得した状態sを学習部330に対して出力する。
また、状態情報取得部310は、Q学習を行うための報酬を算出するための判定情報も取得する。具体的には、状態sに係るロボット制御プログラム及び当該ロボット制御プログラム実行時におけるパラメータの組み合わせを実行後の受渡時間Tを、Q学習を行うための報酬を算出するための判定情報とする。受渡時間Tは、上述したように、ロボット100がワーク7を取得してから受渡領域8内の位置まで移動する時間である移動時間T1と、受渡領域8内の位置に移動してから作業者Pにワーク7が受け渡されるまでの開放時間T2とからなる。
行動情報出力部320は、学習部330が生成した行動情報(行動a)を、ロボット制御装置200に対して送信する部分である。ロボット制御装置200は、上述したように、この行動aに基づいて、現在の状態s、すなわち現在設定されているロボット制御プログラム及びパラメータを修正することで、次の状態s´(すなわち修正されたロボット制御プログラム、修正されたパラメータ及び当該修正されたロボット制御プログラムと修正されたパラメータによる移動処理を実行した場合の状態)に遷移する。
学習部330は、或る環境の状態sの下で、ある行動aを選択する場合の価値Q(s,a)を学習する部分である。具体的には、学習部330は、報酬算出部331、価値関数更新部332及び行動情報生成部333を備える。
報酬算出部331は、或る状態sの下で、行動aを選択した場合の報酬を、判定情報に基づいて算出する部分である。ここで、本実施形態では、行動aにより修正された状態s´に係る修正後のロボット制御プログラム及び当該修正後のロボット制御プログラム実行時における修正後のパラメータに基づいて動作したロボット100の受渡時間Tが、行動aにより修正される前の状態sに係る修正前のロボット制御プログラム及び当該修正前のロボット制御プログラム実行時における修正前のパラメータに基づいて動作したロボット100の受渡時間Tよりも長くなった場合に、報酬の値を負の値とする。
一方で、行動aにより修正された状態s´に係る修正後のロボット制御プログラム及び当該修正後のロボット制御プログラム実行時における修正後のパラメータに基づいて動作したロボット100の受渡時間Tが、行動aにより修正される前の状態sに係る修正前のロボット制御プログラム及び当該修正前のロボット制御プログラム実行時における修正前のパラメータに基づいて動作したロボット100の受渡時間Tよりも短くなった場合に、報酬の値を正の値とする。
また、報酬の値については重みづけを与えるようにすることができる。例えば、移動時間T1と、開放時間T2とでは、開放時間T2が短くなった場合の方が、移動時間T1が短くなった場合に比べて、報酬の正の値を大きくすることが好ましい。つまり、開放時間T2が短くなった度合いに応じて、正の値が大きくなるようにするとよい。
なお、上記の報酬の値の算出方法は、一例であって、これに限定されない。例えば、状態s´と状態sにおける受渡時間Tの偏差、移動時間T1の偏差、及び開放時間T2の偏差と、報酬の値を対応付ける報酬対応テーブルを予め任意に作成しておき、報酬対応テーブルに基づいて、報酬の値を算出するようにしてもよい。また、受渡時間Tの偏差、移動時間T1の偏差、及び開放時間T2の偏差を入力とする報酬関数を予め任意に作成しておき、報酬関数に基づいて、報酬の値を算出するようにしてもよい。
価値関数更新部332は、状態sと、行動aと、行動aを状態sに適用した場合の状態s´と、上記のようにして算出された報酬の値とに基づいてQ学習を行うことにより、価値関数記憶部340が記憶する価値関数Qを更新する。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s´に遷移する都度、即座に価値関数Qの更新を行うという学習方法である。また、バッチ学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s´に遷移することを繰り返すことにより、学習用のデータを収集し、収集したすべての学習用データを用いて、価値関数Qの更新を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行うという学習方法である。
行動情報生成部333は、Q学習の過程において、ロボット100に様々な動作(Q学習における行動aに相当する。)を行わせるために、行動aを生成して、生成した行動aを行動情報出力部320に対して出力する。
具体的には、行動情報生成部333は、現在の状態sに対して、Q学習の過程における行動aを選択する。本実施形態における行動aには、現在の状態sに係るロボット制御プログラムで記述された内容に関する修正情報、及び現在の状態sに係るパラメータ(例えば、ハンド部13を含むロボット100の姿勢、受渡領域8内における位置、ワーク7を取得してから受渡領域8内の位置に達するまでのロボット100の移動経路に関する値)の設定値が含まれる。
行動情報生成部333は、例えば、状態sに含まれるロボット制御プログラム及びパラメータに対して行動aに含まれるパラメータ(例えば、ハンド部13を含むロボット100の姿勢、受渡領域8内における位置、ワーク7を取得してから受渡領域8内の位置に達するまでのロボット100の移動経路に関する値)の設定値を適用して、状態s´に遷移して、プラスの報酬(正の値の報酬)が返った場合、次の行動a´としては、例えば、受渡領域8内の位置を、ワーク7を取り外した位置である開放位置側に少し移動させたり、ロボット100の姿勢を、ワーク7を取り外した姿勢である開放姿勢の方向に少し変化させたりして、受渡時間Tがより短くなるような行動a´を選択する方策を取るようにしてもよい。
また、逆に、マイナスの報酬(負の値の報酬)が返った場合、行動情報生成部333は、例えば、状態s´よりも状態s寄りになるように、行動a´を選択するようにしてもよい。又は、状態s´寄りになるような行動a´を選択することで、マイナスの報酬になると思われる行動を集めるようにしてもよい。
更に、行動情報生成部333は、現在の推定される行動aの価値の中で、最も価値Q(s,a)の高い行動a´を選択するグリーディ法や、ある小さな確率εでランダムに行動a´選択し、それ以外では最も価値Q(s,a)の高い行動a´を選択するεグリーディ法といった公知の方法により、行動a´を選択する方策を取るようにしてもよい。
価値関数記憶部340は、価値関数Qを記憶する記憶装置である。価値関数記憶部340に記憶された価値関数Qは、価値関数更新部332により更新される。
また、行動情報学習装置300は、価値関数更新部332がQ学習を行うことにより更新した価値関数Qに基づいて、価値Q(s,a)が最大となる動作をロボット100に行わせるための行動a(以下、「最適化行動情報」と呼ぶ。)を生成する。
行動情報学習装置300は、最適化行動情報出力部350を備えている。
最適化行動情報出力部350は、価値関数記憶部340が記憶している価値関数Qを取得する。この価値関数Qは、上述したように、価値関数更新部332がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部350は、価値関数Qに基づいて、最適化行動情報を生成し、生成した最適化行動情報をロボット制御装置200に対して出力する。この最適化行動情報には、行動情報出力部320がQ学習の過程において出力する行動情報と同様に、修正後のロボット制御プログラム及び当該修正後のロボット制御プログラム実行時における修正後のパラメータが含まれる。
ロボット制御装置200が、この最適化行動情報に基づいて現在設定されているロボット制御プログラム及びパラメータを修正して、動作指令を生成することにより、ロボット100は、受渡時間T及び開放時間T2が最短になるように動作することができる。
以上、ロボット制御装置200や行動情報学習装置300に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、ロボット制御装置200及び行動情報学習装置300は、CPU(Central Processing Unit)等の演算処理装置を備える。また、ロボット制御装置200及び行動情報学習装置300は、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
そして、ロボット制御装置200及び行動情報学習装置300は、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行う。また、ロボット制御装置200及び行動情報学習装置300は、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
具体例として、ロボット制御装置200は、一般的なロボット100の制御装置に本実施形態を実現するためのアプリケーションソフトウェアを組み込むことにより実現できる。また、行動情報学習装置300は、一般的なパーソナルコンピュータに、本実施形態を実現するためのアプリケーションソフトウェアを組み込むことより実現できる。
ただし、行動情報学習装置300については、機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General−Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると、高速処理できるようになるのでよい。更には、より高速な処理を行うために、行動情報学習装置300は、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
次に、図4のフローチャートを参照して本実施形態における行動情報学習処理として、Q学習を行う行動情報学習装置300の動作について説明をする。
まず、ステップS11(以下、単に「S」という。)において、状態情報取得部310がロボット制御装置200から状態情報を取得する。取得した状態情報は、価値関数更新部332や行動情報生成部333に対して出力される。上述したように、この状態情報は、Q学習における環境の状態sに相当する情報であり、S11時点での、ロボット制御プログラムの内容とパラメータの設定値である、ハンド部13を含むロボット100の受渡領域8内での姿勢、受渡領域8内の位置、移動経路に関する情報が含まれる。なお、最初にQ学習を開始する時点でのロボット制御プログラム及びパラメータの設定値は、予めユーザが生成するようにする。つまり、本実施形態では、ユーザが作成したロボット制御プログラム及びパラメータの初期設定値を、強化学習により最適なものに調整する。
S12において、行動情報生成部333が新たな行動情報を生成し、生成した新たな行動情報(行動a)を、行動情報出力部320を介してロボット制御装置200に対して出力する。行動情報を受信したロボット制御装置200は、受信した行動情報に基づいて現在の状態sに係るロボット制御プログラム及びパラメータを修正した状態s´により、ロボット100を駆動させて、ワーク7の受け渡し処理を行う。上述したように、この行動情報は、Q学習における行動aに相当するものである。ここで、行動情報には、例えば、ロボット制御プログラムの修正値と、パラメータの設定値が含まれる点については、上述した通りである。
S13において、状態情報取得部310は、新たな状態s´についての判定情報を取得する。ここで、新たな状態s´には、状態s´に係るロボット制御プログラム及びパラメータを含む。また、判定情報は、状態s´に係る移動処理行うために要した移動時間T1及び開放時間T2からなる受渡時間Tを含む。取得した判定情報は、報酬算出部331に対して出力される。
報酬算出部331は、入力された判定情報に基づいて報酬を算出する。そのために、S14において、報酬算出部331は、判定情報に含まれる受渡時間Tが短くなったか否かを判定する。かかる判定は、状態s´の判定情報に含まれる、状態s´に係る移動処理を行うために要した受渡時間Tと、状態s´の前の状態である状態sの判定情報に含まれる、状態sに係る移動処理を行うために要した受渡時間Tとを比較することにより行うことができる。受渡時間Tが短くなったのであれば(S14:Yes)、報酬算出部331は、処理をS15に移す。他方、受渡時間Tが長くなったのであれば(S14:NO)、報酬算出部331は、処理をS18に移す。
S15において、報酬算出部331は、判定情報に含まれる開放時間T2が、状態s´の前の状態である状態sの判定情報に含まれる、状態sに係る移動処理を行うために要した開放時間T2より短くなったか否かを判定する。開放時間T2が短くなったのであれば(S15:Yes)、報酬算出部331は、処理をS16に移す。他方、開放時間T2が長くなったのであれば(S15:NO)、報酬算出部331は、処理をS17に移す。
S16において、報酬算出部331は、報酬を第1の値とする。ここで、第1の値は正の値とする。その後、学習部330は、処理をS19に移す。
S17において、報酬算出部331は、報酬を第2の値とする。ここで、第2の値は正の値とする。また、第2の値は、第1の値より小さいものとする。その後、学習部330は、処理をS19に移す。
S18において、報酬算出部331は、報酬を第3の値とする。ここで、第3の値は負の値とする。
なお、第1の値、第2の値及び第3の値については、前回と比較した時間の差の大きさによって、更に重みづけを行うようにしてもよい。
S19において、価値関数更新部332は、上述にて算出された報酬の値に基づいて、価値関数記憶部340が記憶している価値関数Qを更新する。そして、学習部330は、再度S11に戻り、上述した処理を繰り返すことにより、価値関数Qは、適切な値に収束していく。なお、学習部330は、上述した処理を、所定回数繰り返したことや、所定時間繰り返したことを条件として終了するようにしてもよい。
以上、行動情報学習装置300の動作について説明したが、例えば、S14からS18にかけての報酬の値を算出する処理は、一例であって、これに限定されない。例えば、上述したように、状態s´と状態sにおける受渡時間Tの偏差、移動時間T1の偏差、及び開放時間T2の偏差と、を予め設定された報酬対応テーブル又は報酬関数に入力して、報酬の値を算出するようにしてもよい。
以上、図4を参照して説明した動作により、本実施形態では、受渡時間T及び開放時間T2を短縮するための行動情報を生成するための価値関数Qを生成することができる、という効果を奏する。
次に、図5のフローチャートを参照して、行動情報学習装置300による最適化行動情報の生成時の動作について説明をする。
まず、S21において、行動情報学習装置300の最適化行動情報出力部350は、価値関数記憶部340が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部332がQ学習を行うことにより更新したものである。
S22において、最適化行動情報出力部350は、この価値関数Qに基づいて、例えば現在設定されている状態sにおいて、取り得る行動aのなかから価値Q(s,a)の最も高い行動aを最適な行動として選択することで最適化行動情報を生成し、生成した最適化行動情報をロボット制御装置200に対して出力する。
以上により、ロボット制御装置200が、この最適化行動情報に基づいて現在設定されている状態s(すなわち、現在設定されているロボット制御プログラム及びパラメータ)を修正して、動作指令を生成する。そして、ロボット制御装置200は、生成した動作指令をロボット100に送ることにより、ロボット100は、受渡時間Tが最短になるように動作することができる、という効果を奏する。
また、図5を参照して説明した動作により、本実施形態では、行動情報学習装置300は、価値関数Qに基づいて最適化行動情報を生成し、ロボット制御装置200は、この最適化行動情報に基づいて現在設定されているロボット制御プログラム及びパラメータを修正して、動作指令を生成する。そして、ロボット制御装置200は、生成した動作指令をロボット100に送ることにより、受渡時間Tを短縮して、ロボット100を制御することが可能となる、という効果も奏する。
本実施形態では、上述したように、ロボット制御プログラムやパラメータの設定値を調整しながら強化学習を行うことにより、受渡時間Tを短縮することができる。すなわち、本実施形態は、一般的な技術に比べて、有利な効果を奏する。
なお、上記のロボット制御システム1000に含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のロボット制御システム1000に含まれる各装置のそれぞれの協働により行われる行動情報学習方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
上述した実施形態では、行動情報学習装置300を、ロボット100やロボット制御装置200とは別体の装置により実現することを想定していたが、行動情報学習装置300の機能の一部又は全部を、例えば、ロボット制御装置200により実現するようにしてもよい。
上述した実施形態では、行動情報学習装置300を、学習を行う機能と、行動情報を生成する機能とを有するものとしたが、学習を行う機能と、行動情報を生成する機能とを別の装置で行うようにしてもよい。
上述した実施形態では、行動情報学習装置300が強化学習を行うものを説明した。この点、図6に示すように、ロボット制御システム1000−2が、m個の行動情報学習装置300に対してネットワーク500を介して接続された管理装置600を備えるものとしてもよい。例えば、ロボット制御装置200ごとに行動情報学習装置300を備えた場合には、mは、ロボット制御装置200の数である。
そして、ロボット100と作業者Pの相対的な作業環境が同じ条件(例えば、ロボット100の位置、受渡領域8、ロボット100のハンド部13の移動可能領域等が相対的に同じであること)を満たす場合、複数の行動情報学習装置300−1〜300−mに対してネットワーク500を介して管理装置600を接続することで、管理装置600は、各行動情報学習装置300の価値関数Qを集約することができる。そうすることで、価値関数Qは、すべての行動情報学習装置300との間で共有される。価値関数Qを複数の行動情報学習装置300で共有するようにすれば、各行動情報学習装置300にて分散して強化学習を行うことが可能となるので、強化学習の効率を向上させることが可能となる。
そして、管理装置600が、集約した価値関数Qを、各行動情報学習装置300に対して送信するようにしてもよい。
なお、管理装置600は、各行動情報学習装置300から学習用のデータを収集し、価値関数Qを更新するようにしてもよい。
また、管理装置600が、最適化行動情報を、各ロボット制御装置200に対して出力するようにしてもよい。
7 ワーク
8 受渡領域
13 ハンド部
100 ロボット
110 モータ部
120 開放ボタン
200 ロボット制御装置
210 モータ制御部
220 パラメータ設定部
300 行動情報学習装置
310 状態情報取得部
320 行動情報出力部
330 学習部
331 報酬算出部
332 価値関数更新部
333 行動情報生成部
340 価値関数記憶部
350 最適化行動情報出力部
400,500 ネットワーク
1000 ロボット制御システム
P 作業者
T 受渡時間
T1 移動時間
T2 開放時間

Claims (7)

  1. ロボットがワーク置き場から取得したワークを、作業者に対してワークを受け渡す領域であるワーク受渡領域内で受け渡す場合に、前記ロボットの状態情報を取得する状態情報取得手段と、
    前記状態情報の調整情報である行動情報を出力する行動情報出力手段と、
    ワークの受け渡しにかかる受渡時間を判定情報とし、前記判定情報に基づいて強化学習における報酬の値を算出する報酬算出手段と、
    前記報酬算出手段により算出された前記報酬の値と、前記状態情報と、前記行動情報とに基づいて前記強化学習を行うことにより価値関数を更新する価値関数更新手段と、
    を備え、
    前記報酬算出手段は、前記状態情報に係る前記受渡時間を前回の受渡時間とし、前記行動情報に基づいて前記状態情報を修正した修正後の状態情報に係る前記受渡時間を今回の受渡時間とした場合に、
    前記判定情報である前記今回の受渡時間が前記前回の受渡時間よりも短い場合に、前記報酬の値を正の値とし、
    前記判定情報である前記今回の受渡時間が前記前回の受渡時間よりも長い場合に、前記報酬の値を負の値とする行動情報学習装置。
  2. 請求項1に記載の行動情報学習装置において、
    前記状態情報は、前記ロボットの姿勢及び前記ワーク受渡領域内の受渡位置に関する情報を含み、
    前記調整情報は、前記状態情報についての調整を行うための情報を含む行動情報学習装置。
  3. 請求項2に記載の行動情報学習装置において、
    前記状態情報は、更にワークを取得した位置から前記ワーク受渡領域内への前記ロボットの移動経路を含む行動情報学習装置。
  4. 請求項1から請求項3までのいずれかに記載の行動情報学習装置において、
    前記受渡時間は、ワークを取得してから前記ワーク受渡領域内の位置に移動するまでの移動時間と、ワークを前記ワーク受渡領域内の位置に移動後、前記ワークを作業者が受け取るまでの開放時間とからなり、
    前記受渡時間が短くなった場合であって、前記開放時間が短くなった場合には、前記開放時間が短くならなかった場合より前記報酬の値をより大きな値にする行動情報学習装置。
  5. 請求項1から請求項4までのいずれかに記載の行動情報学習装置を含む複数の行動情報学習装置に対して通信可能に接続された管理装置であって、
    前記複数の行動情報学習装置との間で前記価値関数を共有し、
    前記共有した価値関数を更新する管理装置。
  6. 請求項1から請求項4までのいずれかに記載の行動情報学習装置と、
    前記行動情報学習装置に対して通信ネットワークを介して接続され、前記ロボットを制御するロボット制御装置と、
    を備えたロボット制御システムであって、
    前記行動情報学習装置は、
    前記価値関数更新手段により更新された前記価値関数に基づいて、前記ロボットによる前記受渡時間を最短にするための行動情報である最適化行動情報を生成する行動情報生成手段と、
    前記行動情報生成手段により生成された前記最適化行動情報を、前記ロボット制御装置に対して出力する行動情報出力手段と、
    を備えるロボット制御システム。
  7. 状態情報取得手段が、ロボットがワーク置き場から取得したワークを、作業者に対してワークを受け渡す領域であるワーク受渡領域内で受け渡す場合に、前記ロボットの状態情報を取得するステップと、
    行動情報出力手段が、前記状態情報の調整情報である行動情報を出力するステップと、
    報酬算出手段が、ワークの受け渡しにかかる受渡時間を判定情報とし、前記判定情報に基づいて強化学習における報酬の値を算出するステップと、
    価値関数更新手段が、算出された前記報酬の値と、前記状態情報と、前記行動情報とに基づいて前記強化学習を行うことにより価値関数を更新するステップと、
    を含み、
    前記報酬算出手段は、前記状態情報に係る前記受渡時間を前回の受渡時間とし、前記行動情報に基づいて前記状態情報を修正した修正後の状態情報に係る前記受渡時間を今回の受渡時間とした場合に、
    前記判定情報である前記今回の受渡時間が前記前回の受渡時間よりも短い場合に、前記報酬の値を正の値とし、
    前記判定情報である前記今回の受渡時間が前記前回の受渡時間よりも長い場合に、前記報酬の値を負の値とするステップを含む行動情報学習方法。
JP2017069866A 2017-03-31 2017-03-31 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法 Active JP6603257B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017069866A JP6603257B2 (ja) 2017-03-31 2017-03-31 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
US15/935,456 US10730182B2 (en) 2017-03-31 2018-03-26 Action information learning device, robot control system and action information learning method
CN201810258132.2A CN108693851B (zh) 2017-03-31 2018-03-27 行为信息学习装置、机器人控制***及行为信息学习方法
DE102018204740.5A DE102018204740B4 (de) 2017-03-31 2018-03-28 Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017069866A JP6603257B2 (ja) 2017-03-31 2017-03-31 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法

Publications (2)

Publication Number Publication Date
JP2018171663A JP2018171663A (ja) 2018-11-08
JP6603257B2 true JP6603257B2 (ja) 2019-11-06

Family

ID=63525617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017069866A Active JP6603257B2 (ja) 2017-03-31 2017-03-31 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法

Country Status (4)

Country Link
US (1) US10730182B2 (ja)
JP (1) JP6603257B2 (ja)
CN (1) CN108693851B (ja)
DE (1) DE102018204740B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220065226A (ko) * 2020-11-13 2022-05-20 주식회사 플라잎 로봇의 엔드 이펙터의 최적 경로를 도출하는 장치 및 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6517762B2 (ja) * 2016-08-23 2019-05-22 ファナック株式会社 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
US10695911B2 (en) * 2018-01-12 2020-06-30 Futurewei Technologies, Inc. Robot navigation and object tracking
US12026610B2 (en) * 2018-09-25 2024-07-02 International Business Machines Corporation Reinforcement learning by sharing individual data within dynamic groups
WO2020105157A1 (ja) * 2018-11-21 2020-05-28 株式会社日立製作所 作業最適化システムおよび作業最適化装置
DE112018008159B4 (de) 2018-12-26 2022-10-20 Mitsubishi Electric Corporation Robotersteuervorrichtung, Robotersteuerung-Lernvorrichtung und Robotersteuerverfahren
WO2020149414A1 (ja) * 2019-01-18 2020-07-23 株式会社安川電機 ロボット制御システム及びロボット制御方法
CN110238839B (zh) * 2019-04-11 2020-10-20 清华大学 一种利用环境预测优化非模型机器人多轴孔装配控制方法
DE102019205651B3 (de) * 2019-04-18 2020-08-20 Kuka Deutschland Gmbh Verfahren und System zum Ausführen von Roboterapplikationen
US11345030B2 (en) * 2019-05-28 2022-05-31 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives
JP7235596B2 (ja) 2019-05-31 2023-03-08 ファナック株式会社 協働ロボットシステム
JP7415356B2 (ja) 2019-07-29 2024-01-17 セイコーエプソン株式会社 プログラム移送システムおよびロボットシステム
CN112766530B (zh) * 2019-11-06 2024-07-02 三菱电机自动化(中国)有限公司 生产准备及生产启动作业辅助装置、***及方法
US11417328B1 (en) * 2019-12-09 2022-08-16 Amazon Technologies, Inc. Autonomously motile device with speech commands
DE102020103852B4 (de) 2020-02-14 2022-06-15 Franka Emika Gmbh Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
JP7380874B2 (ja) * 2020-06-01 2023-11-15 日本電気株式会社 プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
CN112476424A (zh) 2020-11-13 2021-03-12 腾讯科技(深圳)有限公司 机器人控制方法、装置、设备及计算机存储介质
CN112405543B (zh) * 2020-11-23 2022-05-06 长沙理工大学 一种基于深度强化学习的机械臂密集物体温度优先抓取方法
DE102021110984A1 (de) 2020-12-29 2022-06-30 B-Horizon GmbH Verfahren zum automatischen Anpassen des Verhaltens eines mobilen Benutzerendgeräts
CN114851184B (zh) * 2021-01-20 2023-05-09 广东技术师范大学 一种面向工业机器人的强化学习奖励值计算方法
JPWO2022249457A1 (ja) * 2021-05-28 2022-12-01
CN113459109B (zh) * 2021-09-03 2021-11-26 季华实验室 机械臂路径规划方法、装置、电子设备及存储介质
KR102568297B1 (ko) * 2021-11-09 2023-08-21 씨제이대한통운(주) 선박 도착예정시간을 연산하는 방법 및 이를 위한 연산장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031202B2 (ja) 1976-04-26 1985-07-20 三井東圧化学株式会社 硬化性樹脂組成物
JPH09319420A (ja) 1996-05-31 1997-12-12 Ricoh Co Ltd 組立ロボット
JP2003084804A (ja) 2001-09-10 2003-03-19 Yaskawa Electric Corp 最適指令作成装置
JP5137537B2 (ja) 2007-11-28 2013-02-06 三菱電機株式会社 ロボットの作業動作最適化装置
JP4899165B2 (ja) * 2007-12-10 2012-03-21 本田技研工業株式会社 脚式移動ロボットの制御装置
CN102402712B (zh) 2011-08-31 2014-03-05 山东大学 基于神经网络的机器人强化学习初始化方法
US8374421B1 (en) 2011-10-18 2013-02-12 Google Inc. Methods and systems for extracting still frames from a compressed video
CN102819264B (zh) 2012-07-30 2015-01-21 山东大学 移动机器人路径规划q学习初始化方法
JP5616478B1 (ja) * 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
JP5877857B2 (ja) * 2014-03-10 2016-03-08 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
CA2882968C (en) * 2015-02-23 2023-04-25 Sulfur Heron Cognitive Systems Inc. Facilitating generation of autonomous control information
JP6240689B2 (ja) 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP5997330B1 (ja) 2015-07-31 2016-09-28 ファナック株式会社 主軸交換の要否を判定できる機械学習装置、主軸交換判定装置、制御装置、工作機械及び生産システム、並びに機械学習方法
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6031202B1 (ja) 2016-01-29 2016-11-24 ファナック株式会社 製造機械の異常の原因を発見するセル制御装置
CN106094813B (zh) 2016-05-26 2019-01-18 华南理工大学 基于模型相关强化学习的仿人机器人步态控制方法
US20190184564A1 (en) * 2016-08-30 2019-06-20 Honda Motor Co., Ltd. Robot control apparatus and robot control method
JP6453922B2 (ja) * 2017-02-06 2019-01-16 ファナック株式会社 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
US11440184B2 (en) * 2017-02-09 2022-09-13 Mitsubishi Electric Corporation Position control device and position control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220065226A (ko) * 2020-11-13 2022-05-20 주식회사 플라잎 로봇의 엔드 이펙터의 최적 경로를 도출하는 장치 및 방법
KR102432281B1 (ko) * 2020-11-13 2022-08-16 주식회사 플라잎 로봇의 엔드 이펙터의 최적 경로를 도출하는 장치 및 방법

Also Published As

Publication number Publication date
US10730182B2 (en) 2020-08-04
DE102018204740B4 (de) 2023-11-02
CN108693851A (zh) 2018-10-23
JP2018171663A (ja) 2018-11-08
DE102018204740A1 (de) 2018-10-04
CN108693851B (zh) 2020-05-26
US20180281180A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
JP6603257B2 (ja) 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
JP6490127B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
US10747193B2 (en) Machine learning apparatus, servo control apparatus, servo control system, and machine learning method
US10331104B2 (en) Machine tool, simulation apparatus, and machine learning device
JP6063013B1 (ja) びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置
JP6849643B2 (ja) 出力装置、制御装置、及び評価関数と機械学習結果の出力方法
JP6514257B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6474449B2 (ja) 調整装置及び調整方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6784722B2 (ja) 出力装置、制御装置、及び評価関数値の出力方法
JP2017030067A (ja) 加工時間測定機能とオンマシン測定機能を有する制御装置付き加工装置
JP2019021024A (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6453921B2 (ja) 学習モデル構築装置、及び制御情報最適化装置
JP2017102613A (ja) 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
US11126149B2 (en) Control parameter adjusting device and adjusting method using machine learning
JP6841852B2 (ja) 制御装置及び制御方法
US20210107144A1 (en) Learning method, learning apparatus, and learning system
CN112638596B (zh) 自主学习型机器人装置以及自主学习型机器人装置的动作生成方法
JP2021039648A (ja) 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法
WO2021186500A1 (ja) 学習装置、学習方法、及び、記録媒体
JP6740263B2 (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6659260B2 (ja) Plcプログラムの最適化機能を備えた制御装置及び機械学習器
WO2021187268A1 (ja) 機械学習装置、数値制御システム、設定装置、数値制御装置、及び機械学習方法
US20220134545A1 (en) Information processing device, information processing method, and computer program product
WO2020105157A1 (ja) 作業最適化システムおよび作業最適化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180515

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180731

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191010

R150 Certificate of patent or registration of utility model

Ref document number: 6603257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150