CN115338859A - 机器人操纵的深度强化学习 - Google Patents
机器人操纵的深度强化学习 Download PDFInfo
- Publication number
- CN115338859A CN115338859A CN202210871601.4A CN202210871601A CN115338859A CN 115338859 A CN115338859 A CN 115338859A CN 202210871601 A CN202210871601 A CN 202210871601A CN 115338859 A CN115338859 A CN 115338859A
- Authority
- CN
- China
- Prior art keywords
- robot
- policy
- given
- episode
- additional
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32335—Use of ann, neural network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33033—Identification neural controller copies weight to system neural controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33034—Online learning, training
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39001—Robot, manipulator control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39298—Trajectory learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40499—Reinforcement learning algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Fuzzy Systems (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
实施方式利用深度强化学习来训练策略神经网络,该策略神经网络参数化策略,以用于基于当前状态来确定机器人动作。这些实施方式中的一些从同时操作的多个机器人收集经验数据。每个机器人在作为对执行任务的每次探索并且各自在情节期间基于策略网络和策略网络的当前策略参数被引导的情节的迭代执行期间生成经验数据的实例。所收集的经验数据在情节期间生成,并用于通过基于一批所收集的经验数据迭代地更新策略网络的策略参数来训练策略网络。此外,在由机器人执行的多个情节中的每一个情节的执行之前,可以提供(或检索)当前更新的策略参数,以供情节的执行时利用。
Description
本申请是申请日为2017年9月14日、申请号为201780067067.9、发明名称为“机器人操纵的深度强化学习”的发明专利申请的分案申请。
技术领域
本申请的发明构思涉及深度强化学习方法,尤其涉及深度强化学习方法的扩展,以改进一个或多个机器人的操作性能。
背景技术
许多机器人被编程以利用一个或多个末端执行器来操纵一个或多个对象。例如,机器人可以利用末端执行器向对象施加力并引起该对象的移动。例如,机器人可以利用抓取末端执行器或其他末端执行器来转移对象,而不一定要抓取该对象。而且,例如,机器人可以利用诸如“冲击(impactive)”抓取器或“侵入(ingressive)”抓取器的抓取末端执行器(例如,使用钉、针等物理地穿透对象)来从第一位置拾取对象,将该对象移动到第二位置,以及在第二位置处放下该对象。
发明内容
下面描述的实施方式提供了当执行一个或多个任务时,一个或多个机器人的操作性能的改进。如本文所述,使用强化学习过程来改进一个或多个机器人的性能,这促进了用于使用一个或多个机器人执行特定物理任务的最佳方法或策略的快速学习。机器人能够使用学习到的策略来提高任务执行的效率。例如,随着所描述的强化学习过程的进行,物理任务可以由机器人更快地和/或以更少的电力消耗来执行。因为机器人性能的其他方面随着学习过程得到改进,这种物理任务可以附加地或可替换地被更安全地执行,或者可以在定义的安全参数内继续进行。
从以下公开中可以明显看出,学习过程可以是迭代的。当新的迭代被传递到负责控制机器人的物理动作的(多个)计算装置时,一个或多个机器人可以根据针对特定任务的策略/方案的每个新的改进的迭代来执行。如此以来,在由机器人执行的物理动作方面,上述效率增益可以随着学习过程的继续而频繁发生。总的来说,机器人性能改进的速率以及所得到的效率增益可以特别快,并且可以使得机器人以最佳方式在比使用其他学习技术更短的时间内完成物理任务。将理解,这使得在较早阶段体验到上述优点,诸如机器人的改进的功耗。这将在下面描述,例如,作为在不同计算机处理器中用于一个或多个机器人的训练线程和经验线程之间解耦的解释的一部分。具体地,据解释,跨异步地池化它们的策略更新的多个机器人并行化训练算法可以得到在给定数量的训练迭代之后更精确和/或稳健的策略神经网络。
强化学习的目的是控制试图最大化奖励函数的代理(agent),该奖励函数在机器人技能(本文也称为任务)的上下文中,表示机器人应该尝试完成什么的用户提供的定义。在时间t的状态xt处,代理根据其策略π(ut|xt)选择并执行动作ut,根据机器人的动态p(xt|xt,ut)转换到新状态xt,以及接收奖励r(xt,ut)。强化学习的目的是找到最大化来自初始状态分布的预期奖励之和的最佳策略π*。基于奖励函数来确定奖励,如上所述,该奖励函数取决于待完成的机器人任务。因此,机器人上下文中的强化学习寻求学习给定机器人任务的执行的最佳策略。
本文公开的实施方式利用深度强化学习来训练策略网络,该策略网络参数化策略,以用于基于当前状态来确定机器人动作。该当前状态可以包括机器人的状态(例如,机器人的关节的角度、机器人的(多个)末端执行器的(多个)位置和/或它们的时间导数)和/或机器人环境中一个或多个组件的当前状态(例如,机器人的环境中(多个)传感器的当前状态、机器人的环境中(多个)目标对象的(多个)当前姿态)。策略网络可以是神经网络,诸如深度神经网络。例如,策略网络可以是神经网络,该神经网络接受当前状态作为输入,并且基于神经网络的输入和学习的策略参数来生成指示将要实施的动作的输出。例如,输出可以指示将要提供给机器人的致动器中的每一个致动器的速度命令,或者将要施加给机器人的致动器中的每一个致动器的扭矩。机器人可以通过在机器人的每个控制周期将当前状态应用于策略神经网络、通过使用策略神经网络处理该当前状态生成输出、以及实施控制命令以实行由该输出指示的动作,来利用策略神经网络。然后,可以将该控制命令的实施之后的状态用作下一控制周期的当前状态。
本文公开的实施方式从同时操作的多个机器人收集经验数据。每个机器人在作为对执行任务的每次探索并且各自在情节(episode)期间基于策略网络和策略网络的当前策略参数被引导的情节的迭代执行期间生成经验数据的实例。例如,在情节期间,机器人可以在该情节期间的机器人的多个控制周期中的每个控制周期生成经验数据的实例。经验数据的每个实例可以指示对应的:当前/开始状态、从开始状态转换到的后续状态、执行以从开始状态转换到后续状态的机器人动作(其中动作基于开始状态到策略网络的应用及其当前策略参数)、以及可选地对动作的奖励(如基于奖励函数所确定的)。所收集的经验数据在情节期间生成,并用于通过基于一批所收集的经验数据迭代地更新策略网络的策略参数来训练策略网络。此外,在由机器人执行的多个情节中的每一个情节的执行之前,可以提供(或检索)当前更新的策略参数,以供情节的执行时利用。例如,每个机器人可以在执行其情节中的每一个情节之前从训练的最近迭代获得更新的策略参数,并且在执行该情节时使用更新的策略参数。因此,每个情节的经验数据基于具有来自训练的最近(相对于情节的开始)迭代的更新的策略参数的策略网络。
在许多实施方式中,策略网络的训练相对于从多个机器人生成和收集经验数据是异步的。也就是说,训练/更新策略网络的(多个)线程与从多个机器人生成和/或收集经验数据的(多个)线程解耦。例如,训练/更新线程可以在一个或多个处理器上操作,并且经验线程可以在与操作训练/更新线程的一个或多个处理器分离的一个或多个附加处理器上操作。训练线程和经验线程之间的解耦可以确保训练速度和经验收集速度的差异不会停止生成经验数据的机器人的控制程序,这些控制程序通常要求以固定频率发送控制。换句话说,解耦可以使得经验数据收集能够通过对应的经验线程继续进行,而不会停止用于训练目的的这些线程。此外,解耦使得训练线程能够与经验线程并行操作,异步地和迭代地更新策略网络的策略参数,并且迭代地提供更新的策略参数以用于情节。并且,在许多实施方式中,(多个)训练线程可以操作大于机器人的一个或多个(例如,全部)控制频率(例如,20Hz)的频率(例如,60Hz)。在这些实施方式中,通过从并行操作的多个机器人获得经验数据并通过在(多个)单独的线程中异步地执行训练,可以减少现实世界(例如,墙上的时钟)训练时间(相对于不利用来自多个机器人的经验数据的技术)。例如,训练可以在没有任何(或没有更少)延迟的情况下进行,其中该延迟是由于缓冲区中没有新的经验数据可用。并且,例如,单独的线程可以防止需要停止经验数据收集来使训练能够进行,反之亦然。
此外,利用来自多个机器人的经验数据以及解耦训练和经验收集线程可以在给定次数的训练迭代之后产生比如果不利用这种技术更精确和/或更稳健的模型。这可以是由于,例如,机器人在给定情节中生成的经验数据基于策略参数,其中该策略参数基于以下两者来更新:来自机器人的经验数据的过去实例、和来自在并行操作的(多个)其他机器人的经验数据的过去实例。例如,在机器人的第三情节中,在第三情节中利用的策略参数不仅可以基于来自机器人的第一情节和/或第二情节的经验数据,还可以基于来自并行操作的(多个)机器人的第一情节和/或第二情节的经验数据。以这种方式,在第三情节中生成的经验数据基于具有更新的策略参数的策略网络,该更新的策略参数是鉴于来自不止两个先前情节的经验数据来训练的,这可以使得在第三情节中生成导致比如果仅鉴于来自两个先前情节的经验数据来训练更新策略参数更快收敛的经验数据。
在本文描述的各种实施方式中,生成经验数据的多个机器人中的一个或多个可以相对于彼此异步操作,和/或更新的策略参数可以在情节执行之前由机器人异步地提供(或检索)。以这种方式,提供给多个机器人中的每一个机器人的更新的策略参数可以相对于彼此变化。例如,在第一时间处,第一机器人可以获得更新的策略参数,以用于在将要由第一机器人执行的情节中使用。在该第一时间处,第二机器人仍然可以执行先前情节。在第一时间之后的第二时间处,然后第二机器人可以获得进一步更新的策略参数,以用于在将要由第二机器人执行并且紧接在先前情节之后的情节中。在该第二时间处,(由于在第一和第二时间之间进行的进一步训练)所获得的进一步更新的策略参数可以不同于由第一机器人在第一时间处获得的更新的策略参数。以这种方式,由第一机器人在第一时间处获得的更新的策略参数不被提供给第二机器人使用。相反,获得了更多最新的(more up to date)进一步更新的策略参数。
在一些实施方式中,提供了一种包括在由多个机器人中的每一个机器人执行多个情节期间执行以下步骤的方法,其中该情节中的每一个情节是基于表示对任务的强化学习策略的策略神经网络来执行该任务的探索:将机器人在情节期间生成的机器人经验数据的实例存储在缓冲区中,其中该机器人经验数据的实例中的每一个在情节中对应的情节期间生成,并且至少部分地在使用具有对应情节的策略神经网络的对应策略参数的策略神经网络生成的对应输出上生成;迭代地生成策略神经网络的更新的策略参数,其中迭代地生成的迭代中的每次迭代包括在迭代期间使用在缓冲区中一组的机器人经验数据的实例中的一个或多个来生成更新的策略参数;并且由机器人中的每一个机器人结合由机器人执行的多个情节中的每一个情节的开始,更新将由机器人在情节中使用的策略神经网络,其中更新策略神经网络包括使用迭代地生成更新的策略参数的最近迭代的更新的策略参数。
本文公开的这些和其他实施方式可以包括以下特征中的一个或多个。
更新的策略参数中的每一个为策略神经网络的对应层的对应节点定义对应值。
对于机器人中的给定机器人的机器人经验数据的实例可以以比迭代地生成更新的策略参数的生成频率更低的频率的第一频率存储在缓冲区中。
对于机器人中的每一个机器人的机器人经验数据的实例可以以其每个都比迭代地生成更新的策略参数的生成频率更低的对应频率存储在缓冲区中。
将机器人经验数据的实例存储在缓冲区中可以由第一线程中的一个或多个处理器执行,并且迭代地生成可以由与第一线程分离的第二线程中的一个或多个处理器执行。例如,第一线程可以由第一组一个或多个处理器执行,并且第二线程可以由第二组一个或多个处理器执行,其中第二组与第一组不重叠。
迭代地生成的迭代中的每次迭代可以包括在生成迭代期间、鉴于在缓冲区中的一组机器人经验数据的实例中的一个或多个、基于最小化损失函数来生成更新的策略参数。
迭代地生成的迭代中的每次迭代可以包括在生成迭代期间,鉴于在缓冲区中的一组机器人经验数据的实例中的一个或多个的离策略(off-policy)学习。例如,离策略学习可以是Q学习,诸如利用归一化优势函数(normalized advantage function,NAF)算法或深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法的Q学习。
经验数据的实例中的每一个可以指示对应的:开始机器人状态、从开始机器人状态转换到的后续机器人状态、执行以从开始机器人状态转换到后续机器人状态的动作、以及对该动作的奖励。执行以从开始机器人状态转换到后续机器人状态的动作可以是基于使用具有对于对应情节的更新的策略参数的策略神经网络处理开始机器人状态而生成的。对该动作的奖励可以是基于强化学习策略的奖励函数而生成的。
方法还可以包括:基于一个或多个标准,终止多个情节的执行并终止迭代地生成;以及向策略神经网络提供更新策略参数的最近生成的版本,以供一个或多个附加机器人使用。
在一些实施方式中,提供了一种方法,该方法包括:由给定机器人的一个或多个处理器:执行基于具有第一组策略参数的策略网络执行任务的探索的给定情节;提供在给定情节期间基于策略网络生成的机器人经验数据的第一实例;以及在由给定机器人执行基于策略网络执行任务的后续情节之前:用更新的策略参数替换第一组的一个或多个策略参数,其中该更新的策略参数是基于机器人经验数据的附加实例生成的,该附加实例是在由附加机器人执行任务的探索的附加机器人情节期间由附加机器人生成的;其中,后续情节紧接着第一情节,并且其中在后续情节中基于策略网络执行任务包括使用更新的策略参数来代替替换的策略参数。
本文公开的这些和其他实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,该方法可以进一步包括由一个或多个附加处理器并且在后续情节的执行期间生成进一步更新的策略参数,其中,生成进一步更新的策略参数基于在第一情节期间生成的机器人经验数据的第一实例中的一个或多个。该方法还可以包括提供进一步更新的策略参数,以供附加机器人在由附加机器人执行对应情节时使用。在这些实施方式中的一些中,附加机器人在由给定机器人执行后续情节期间开始执行对应情节和/或在由给定机器人执行任何情节时给定机器人不使用进一步更新的策略参数。在这些实施方式中的一些中,该方法还可以包括:由一个或多个附加处理器生成更进一步更新的策略参数,其中,更进一步更新的策略参数在后续情节的执行期间生成,并且在进一步更新的策略参数生成之后生成;以及提供更进一步更新的策略参数,以供给定机器人在由给定机器人执行基于策略网络执行任务的进一步后续情节时使用。进一步后续情节紧跟着所述后续情节。在这些实施方式的一些版本中:给定机器人在由附加机器人执行对应情节期间开始执行进一步后续情节;在由附加机器人执行任何情节时附加机器人不利用更新的策略参数和更进一步更新的策略参数;和/或在由附加机器人执行任何情节时附加机器人不利用更新的策略参数。
策略网络可以包括神经网络模型或由神经网络模型组成,并且更新的策略参数中的每一个可以为神经网络模型的对应层的对应节点定义对应值。
在一些实施方式中,该方法还包括,在执行任务的给定情节的执行期间:在来自策略网络的输出的给定迭代中,确定违反给定机器人的一个或多个标准;修改给定迭代的输出,使得不再违反一个或多个标准;以及基于修改的输出生成经验数据的实例的给定实例。标准可以包括以下中的一个或多个:关节位置限制、关节速度限制和末端执行器位置限制。
在一些实施方式中,该方法还包括通过以下方式在给定情节期间生成探索中的给定探索:将当前状态表示作为输入应用到策略网络,该当前状态表示指示至少给定机器人的当前状态;通过使用策略网络处理输入来生成输出;以及基于输出向给定机器人的一个或多个致动器提供控制命令。基于输出向致动器提供控制命令可以包括:通过向输出添加噪声来生成修改的输出;以及基于修改的输出提供控制命令。输出可以包括机器人的多个致动器中的每一个的速度或扭矩,并且提供控制命令可以包括提供使得致动器施加速度或扭矩的控制命令。
经验数据的第一实例中的每一个指示对应的:开始机器人状态、从开始机器人状态转换到的后续机器人状态、执行以从开始机器人状态转换到后续机器人状态的动作、以及对该动作的奖励。
在一些实施方式中,提供了一种方法,该方法包括接收由多个机器人中的给定机器人生成的机器人经验数据的给定实例。在基于在生成给定实例时给定机器人利用的策略网络的策略参数的给定版本执行任务的探索的给定情节期间,生成机器人经验数据的给定实例。该方法还包括从多个机器人中的附加机器人接收机器人经验数据的附加实例,该附加实例在由附加机器人基于策略网络执行任务的探索的情节期间生成。该方法还包括,在给定机器人和附加机器人继续执行任务的探索的情节时,基于至少部分地基于给定实例和附加实例的策略网络的训练,生成所述策略网络的策略参数的新版本。该方法还包括向给定机器人提供策略参数的新版本,用于执行基于策略参数的新版本由给定机器人执行任务的探索的紧接的后续情节。
本文公开的这些和其他实施方式可以包括以下特征中的一个或多个。
接收给定实例发生在从给定机器人接收经验数据的实例的多次经验数据迭代的一次迭代中,其中,多次经验数据迭代以第一频率发生。训练强化模型以生成更新的参数包括执行多次训练迭代,该多次训练迭代包括:第一训练迭代,至少部分地基于给定实例和附加实例的策略网络的训练;以及一次或多次附加的训练迭代,基于来自多个机器人的经验数据的更进一步的实例的策略网络的训练。训练迭代以第二频率发生,第二频率是比经验数据迭代更高的频率。
在一些实施方式中,提供了一种方法,该方法包括迭代地接收由异步且同时操作的多个机器人生成的经验数据的实例。在基于策略神经网络的任务探索的对应情节期间,由多个机器人中的对应机器人生成经验数据的实例中的每一个。该方法还包括基于从多个机器人接收的经验数据迭代地训练策略网络,以在每次训练迭代中生成策略网络的一个或多个更新的参数。该方法还包括迭代地且异步地向机器人提供更新的参数的实例,用于在经验数据的实例所基于的任务探索的情节之前更新机器人的策略神经网络。
在一些实施方式中,提供了一种由一个或多个处理器实施的方法,包括:在由多个机器人中的每一个机器人执行多个情节期间,情节中的每一个情节包括基于表示对任务的强化学习策略的策略神经网络执行任务:将由多个机器人在情节期间生成的机器人经验数据的实例存储在缓冲区中,机器人经验数据的实例中的每一个在情节中的对应情节期间生成,并且至少部分地在使用具有对应情节的策略神经网络的对应策略参数的策略神经网络生成的对应输出上生成;迭代地生成策略神经网络的更新的策略参数,其中迭代地生成的迭代中的每次迭代包括在迭代期间使用在缓冲区中的一组机器人经验数据的实例中的一个或多个来生成更新的策略参数;以及由机器人中的每一个机器人结合由机器人执行的多个情节中的每一个情节的开始,更新将由机器人在情节中使用的策略神经网络,其中更新策略神经网络包括使用迭代地生成更新的策略参数的最近迭代的更新的策略参数。
在一些实施方式中,提供了一种方法,包括:由多个机器人的给定机器人的一个或多个处理器:执行基于具有第一组策略参数的策略网络执行任务的给定情节;提供在给定情节期间基于策略网络生成的机器人经验数据的第一实例;在由给定机器人执行基于策略网络执行任务的后续情节之前:用更新的策略参数替换第一组的一个或多个策略参数,其中更新的策略参数是根据基于机器人经验数据的附加实例训练策略网络而生成的,附加实例是在由附加机器人执行任务的附加机器人情节期间由附加机器人生成的,其中由附加机器人执行任务的附加机器人情节是基于策略网络的;其中,后续情节紧接着第一情节,并且其中在后续情节中基于策略网络执行任务包括使用更新的策略参数来代替替换的策略参数。
在一些实施方式中,提供了一种由一个或多个处理器实施的方法,包括:在接收来自多个代理的给定代理的经验数据的多个经验数据迭代中的一个迭代中,接收由所述给定代理生成的代理经验数据的给定实例,其中,在基于在生成给定实例时所述给定代理利用的策略网络的策略参数的给定版本执行任务的给定情节期间,生成所述代理经验数据的给定实例;从所述多个代理中的附加代理接收代理经验数据的附加实例,所述附加实例在由所述附加代理基于所述策略网络执行任务的情节期间生成,其中所述多个经验数据迭代以第一频率发生;在所述给定代理和所述附加代理继续执行任务的情节时,基于至少部分地基于所述给定实例和所述附加实例的所述策略网络的训练,来生成所述策略网络的策略参数的新版本,其中所述策略网络的训练包括以大于所述第一频率的第二频率发生的多个训练迭代,所述多个训练迭代包括:至少部分地基于所述第一实例和所述附加实例的所述策略网络的训练的第一训练迭代;和基于来自多个代理的经验数据的更进一步的实例的所述策略网络的训练的一次或多次附加的训练迭代;向所述给定代理提供所述策略参数的新版本,用于执行基于所述策略参数的新版本由所述给定代理执行任务的紧接的后续情节。
在一些实施方式中,提供了一种由一个或多个处理器实施的方法,包括:迭代地接收由异步且同时操作的多个代理生成的经验数据的实例,其中,在基于策略神经网络执行任务的对应情节期间,由所述多个代理中的对应代理生成经验数据的实例中的每一个;基于从所述多个代理接收的经验数据迭代地训练策略神经网络,以在每次训练迭代中生成所述策略神经网络的一个或多个更新的参数;以及迭代地且异步地向代理提供更新的参数的实例,用于在经验数据的进一步的实例所基于的执行任务的后续情节之前更新所述代理的策略神经网络。
在一些实施方式中,提供了一种计算机可读指令,当由计算装置执行计算机可读指令时,使得执行本公开的实施方式中所描述的方法。
在一些实施方式中,提供了一种用于深度强化学习的装置,被配置为执行本公开的实施方式中所描述的方法。
其他实施方式可以包括存储由一个或多个处理器(例如,一个或多个中央处理单元(central processing unit,CPU)、一个或多个图形处理单元(graphics processingunit,GPU)、和/或一个或多个张量处理单元(tensor processing unit,TPU))可执行的指令的非暂时性计算机可读存储介质,以执行诸如上述和/或本文其他地方描述的一个或多个方法的方法。又一实施方式可以包括包括可操作来执行存储的指令以执行诸如上述和/或本文其他地方描述的一个或多个方法的方法的一个或多个处理器的一个或多个计算机和/或一个或多个机器人的***。
应当理解,本文更详细描述的前述构思和附加构思的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开结尾的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1示出了可以实施本文公开的实施方式的示例环境。
图2示出了图1的机器人之一以及机器人的抓取末端执行器沿着路径移动的示例。
图3是示出由机器人执行情节的示例的流程图。
图4是示出存储经验数据的实例的示例方法的流程图。
图5是示出训练以更新策略网络的参数的示例方法的流程图。
图6示意性地描绘机器人的示例架构。
图7示意性地描绘计算机***的示例架构。
具体实施方式
强化学习的机器人应用通常会损害学习过程的自主性,有利于实现对真实物理***实用的训练时间。强化学习过程的这种损害可能是由于引入了手工设计的策略表示和/或人工提供的演示。
本说明书的实施方式针对深度强化学习方法的扩展以提高一个或多个机器人的操作性能。如前所述,实施方式提供了操作优势,诸如由机器人执行的物理动作的效率增益,并且还减轻了强化学习的现有机器人应用的缺点。这些可以包括减轻对手工设计的策略表示的需求(例如,“基于模型的”策略表示)和/或减轻对人工提供的演示的需求。在本文描述的一些实施方式中,通过深度强化学习来训练参数化策略的策略神经网络,这减轻了对手工设计的策略表示的需求。此外,策略神经网络可以是“无模型的”,因为它不明确地学习机器人环境的模型。作为一个具体的示例,在一些实施方式中,基于深度Q函数(deep Q-function)的离策略训练的深度强化学习算法可以扩展到复杂的3D操纵任务,并且可以足够有效地学习深度神经网络策略,以基于由真实物理机器人生成的经验数据来训练。在这些实施方式中的一些中,通过跨异步地池化它们的策略更新的多个机器人并行化算法可以减少现实世界(例如,墙上的时钟)训练时间。在这些实施方式中的一些中,跨异步地池化它们的策略更新的多个机器人并行化算法可以附加地和/或替代地产生在给定数量的训练迭代之后比如果未利用这种并行化更精确和/或更稳健的策略神经网络。这可以是由于,例如,机器人在给定实例中生成的经验数据基于策略参数,其中该策略参数基于以下两者来更新:来自机器人的经验数据的过去实例、和来自并行操作的(多个)其他机器人的经验数据的过去实例。此外,本文公开的技术的一些实施方式使得能够在真实机器人上学习三维(“three-dimensional,3D”)机器人操纵任务(例如,开门任务、取和放任务),而无需任何先前的演示或手动设计的(例如,“基于模型的”)策略表示。
如下文更详细描述的,在各种实施方式中,离策略强化学***台上的样本有效训练,可以通过使用多个机器人的共享经验使能在训练中更高的时间效率,和/或可以由于多个机器人和/或它们的环境之间的差异而使能更稳健的训练。训练的提高的时间效率使得,例如,真实物理机器人使用改进的策略以在较早时间执行物理任务。这带来了以下形式的技术优势:例如,在较早阶段机器人的提高的功耗,和/或,例如,由于机器人的策略和得到的物理动作的早期改进而使机器人关节的总磨损率较低。
在来自多个机器人的池化经验(集体机器人学***台上同时收集经验,所以这种异步执行和神经网络训练可以实现总体训练时间的加速。
在真实的机器人环境中,具体地,具有接触事件的真实的机器人环境中,环境动力学通常不可用或无法精确建模。鉴于此,本文公开的实施方式集中于无模型强化学习,其包括策略搜索方法和值迭代方法。虽然策略搜索方法提供了优化真实目标的直接方法,但是由于在策略(on-policy)学习,它们通常要求比值迭代方法多得多的数据。因此,本文公开的一些实施方式具体集中于值迭代方法,诸如基于用函数逼近的Q学习的值迭代方法。值迭代方法的两个示例是DDPG和NAF,它们将深度Q学习扩展到连续的动作空间,并且由于例如通过重放缓冲区的离策略学习、比竞争策略搜索方法更具样本效率。
强化学习的目的是控制试图最大化奖励函数的代理,在机器人技能(本文也称为任务)的上下文中,该奖励函数表示机器人应该尝试完成什么的用户提供的定义。在时间t的状态xt处,代理根据其策略π(ut|xt)选择并执行动作ut,根据动态p(xt|xt,ut)转换到新状态xt,以及接收奖励r(xt,ut)。在本文描述的实施方式中,考虑了无限期折扣回报(infinite-horizon discounted return)问题。无限期折扣回报问题的目标是从时间t到T的γ折扣的未来回报,由给出。目的是找到最佳策略π*,该最佳策略π*最大化来自初始状态分布的预期回报之和,由给出。
在强化学习方法中,与在策略变体相比,诸如Q学习的离策略方法可以提供数据效率增益。这对机器人应用可以是有益的。Q学习通过在学习策略的Q函数和通过贪婪地(greedily)最大化Q函数更新策略之间迭代,来学习贪婪确定性策略π(ut|xt)=δ(ut=μ(xt))。参数化行为值(action-value)函数,β是任意探索策略,以及pβ是由β引起的状态访问,学习目标是最小化Bellman误差,其中目标时间yt固定为:
对于连续的动作问题,对于由深度神经网络参数化的Q函数,策略更新步骤可能是棘手的。因此,本文描述的各种实施方式中,可以利用用函数逼近的Q学习的扩展。用函数逼近的Q学习的扩展的两个示例是DDPG和NAF。DDPG通过采用行动者-评价(actor-critic)的方法来回避该棘手的问题,而NAF将Q函数的类别限制在下面的表达式中,以使能封闭形式的更新,就像在离散动作的情况下一样。在探索期间,时间相关噪声可以可选地被添加到策略网络输出。
这种强化学习公式可以应用在机器人***中,以学习由奖励函数定义的各种机器人技能。然而,学习过程通常很耗时。因此,在本文公开的实施方式中,可以利用NAF的并行变体或DDPG的并行版本来减轻这些关心的问题中的一个或两个。这可以使能在复杂的真实机器人任务中从头开始学习神经网络参数化的Q函数。在实际的深度机器人学习应用中,学习时间被受限于真实时间的真实机器人的数据收集速率限制,而不被网络训练速度限制。因此,本文公开的各种实施方式提出使用异步NAF来有效地使用多个真实机器人用于数据收集,并提高现实世界的学习速度。当然,当所学习的策略由执行物理任务的机器人执行时,这实现了现实世界机器人性能的更快速的改进,以及如前所述的对应的效率增益。此外,本文公开的各种实施方式在Q学习期间实现积极探索(例如,通过向策略网络输出添加大的时间相关噪声以增加探索程度),这在从头开始学习时可以是有益的和/或需要的。在这些实施方式中的一些中,还可以采用技术来实现积极探索,同时最小化或防止违反执行探索的机器人的一个或多个标准(例如,安全标准和/或其他标准)。
在本文公开的异步NAF的实施方式中,(多个)训练器线程(更新/训练策略神经网络)与(多个)经验收集器线程(在探索期间各自收集来自一个或多个机器人的经验数据)分离。在这些实施方式中的一些中,训练线程和收集器线程之间的解耦可以确保训练速度的差异不会停止机器人生成经验数据的控制程序,这些控制程序通常要求以固定频率发送控制。在(多个)训练器线程从(由(多个)经验收集器线程填充的)重放缓冲区保持训练时,(多个)经验收集器线程各自在每一情节开始时将它们的策略参数与(多个)训练器线程同步(例如,用在训练线程的最近迭代中生成的更新的参数来更新它们的策略神经网络),在机器人上执行命令,以及将经验数据的实例推入重放缓冲区。
下面呈现的是用于使用N个收集器线程和一个训练线程执行异步NAF的一个示例算法的概述。尽管示例算法被呈现为具有一个训练线程,但是在一些实施方式中,可以提供多个训练线程(例如,跨多个线程的分布式训练)。
如本文所述,在各种实施方式中,神经网络可以对行为值函数和策略进行参数化。在这些实施方式中的一些中,在生成指示将基于策略实施的动作的输出时,各种状态表示可以用作模型的输入。该状态表示可以指示机器人的状态,以及可选地指示一个或多个环境对象的状态。作为一个示例,机器人状态表示可以包括关节角度和末端执行器位置,以及它们的时间导数。在一些实施方式中,成功信号(例如,目标位置)可以被附加到机器人状态表示。如本文所述,成功信号可以用于确定对动作和/或其他目的的奖励。具体的成功信号将取决于正在进行强化学习的任务。例如,对于到达任务,成功信号可以是末端执行器的目的/目标位置。作为另一示例,对于开门任务,成功信号可以包括门关闭时的把手位置和附接到门框的传感器(例如,附接到门框的惯性测量单元)的四元数测量值。在各种实施方式中,标准前馈网络可以用作策略神经网络以参数化行为值函数和策略。作为一个示例,具有100个单元大小的两个隐藏层网络可以各自用于参数化NAF中的m(x)、L(x)(P(x)的柯列斯基分解)和V(x)以及DDPG中m(x)和Q(x;u)。对于DDPG中的Q(x;u),动作向量u可以作为另一输入被添加到第二隐藏层,随后是线性投影。ReLU可用作隐藏激活,并且双曲线正切(Tanh)可以用于仅策略网络m(x)中的最终层激活,以限定动作范围。
如本文所述,在一些实施方式中,可以采用技术来实现积极探索,同时最小化或防止违反机器人执行探索的一个或多个标准(例如,安全标准和/或其他标准)。在这些实施方式中的一些中,标准可以包括机器人的每个关节的速度限制、机器人的每个关节的位置限制、和/或机器人的其他运动学和/或动力学约束。例如,如果机器人在探索期间的命令的(commanded)输出(例如,通过正在使用的策略网络)指示将超过其速度限制的关节的速度,则该速度可以在实施输出之前被修改(例如,缩小到速度限制),或者,可替换地,可以抛出错误,并且可以开始新情节探测。
在一些实施方式中,末端执行器位置的边界球体(bounding sphere)(或(多个)其他边界形状)可以用作标准。如果机器人在探测期间的命令的输出将机器人的末端执行器发送到边界球体之外,则机器人的正向运动学可以用于将命令的速度加上一些校正速度投影到球体表面上。可以使用附加和/或替代标准。例如,当执行探索以学***面,和/或可以向机器人的一个或多个关节添加扭矩限制(例如,使得如果由于与门或把手的接触而不能实现命令的速度,则机器人将不会施加过量的扭矩)。
现在参考附图,提供了上述的附加描述和附加实施方式。图1示出了示例环境,其中可以实施本文公开的实施方式。示例机器人180A和180B被包括在图1中。机器人180A和180B是具有多个自由度的“机器人臂”,使得通过机器人的移动,抓取末端执行器182A和182B能够沿着多个潜在路径中的任何路径来回移动(traversing),以将抓取末端执行器182A和182B定位在期望的位置。例如,参考图2,示出了机器人180A沿着路径201来回移动其末端执行器的示例。图2包括机器人180A的幻像和非幻像图像,其示出了机器人180A及其末端执行器在沿着路径201来回移动时撞击的一组姿态中的两个不同姿态。再次参考图1,机器人180A和180B各自进一步控制它们对应的抓取末端执行器182A、182B的两个相对的“爪(claw)”,以在至少打开位置和关闭位置(和/或可选地多个“部分关闭”位置)之间致动爪。
示例视觉传感器184A和184B也在图1中示出。在图1中,视觉传感器184A相对于机器人180A的基座或其他静止参考点以固定姿态安装。视觉传感器184B也相对于机器人180B的基座或其他静止参考点以固定姿态安装。如图1所示,视觉传感器184A相对于机器人180A的姿态不同于视觉传感器184B相对于机器人180B的姿态。如本文所述,在一些实施方式中,这可以有利于提供由机器人180A和/或180B中的每一个生成的经验数据的多样性(如果经验数据至少部分受到来自视觉传感器184A和184B的传感器数据的影响)。视觉传感器184A和184B是可以生成与传感器视线内的(多个)对象的形状、颜色、深度和/或其他特征相关的图像或其他视觉数据的传感器。视觉传感器184A和184B可以是例如专题照相机、立体照相机和/或3D激光扫描仪。3D激光扫描仪包括发射光的一个或多个激光器和收集与发射光的反射相关的数据的一个或多个传感器。3D激光扫描仪可以是例如飞行时间3D激光扫描仪或基于三角测量的3D激光扫描仪,并且可以包括位置敏感检测器(position sensitivedetector,PSD)或其他光学位置传感器。
视觉传感器184A具有机器人180A的工作空间的至少一部分的视野,诸如包括示例抹刀191A的工作空间的一部分。尽管抹刀191A的搁置(resting)表面没有在图1中示出,但是它可以搁置在桌子、箱子和/或(多个)其他表面上。在其他实施方式中,如本文所述,在机器人180A执行的一个或多个情节期间,可以提供更多对象、更少对象、附加对象和/或替代对象。情节中的每一个情节可以是在执行任务时的探索,该任务涉及抹刀191A和订书机191B中对应的动作(例如,触摸对象,“拾取和放置”对象)。可以提供附加的和/或替代的对象。例如,对于“开门”任务,门可以设置在机器人180A和180B中的每一个的环境中。视觉传感器184B具有机器人180B的工作空间的至少一部分的视野,诸如包括示例订书机191B的工作空间的一部分。尽管订书机191B的搁置表面没有在图1中示出,但是它可以搁置在桌子、箱子和/或(多个)其他表面上。在其他实施方式中,如本文所述,在机器人180B执行的一个或多个情节期间,可以提供更多对象、更少对象、附加对象和/或替代对象。
尽管在图1中示出了具体的机器人180A和180B,但是可以使用附加的和/或替代的机器人,包括类似于机器人180A和180B的附加机器人臂、具有其他机器人臂形式的机器人、具有人形形式的机器人、具有动物形式的机器人、经由一个或多个轮子移动的机器人(例如,自平衡机器人)、潜水器机器人、无人驾驶飞行器(“UAV,unmanned aerial vehicle”)等等。并且,尽管图1中示出了具体的抓取末端执行器,但是也可以使用附加的和/或替代的末端执行器。例如,可以使用不能抓取的末端执行器。此外,尽管图1中示出了视觉传感器184A和184B的具体安装,但是可以使用附加的和/或替代的安装,或者可以省略视觉传感器。例如,在一些实施方式中,视觉传感器可以直接安装到机器人上,诸如安装在机器人的不可致动组件上或机器人的可致动组件上(例如,安装在末端执行器上或靠近末端执行器的组件上)。并且,例如,在一些实施方式中,视觉传感器可以安装在与其关联的机器人分离的非静止结构上,和/或可以以非静止方式安装在与其关联的机器人分离的结构上。
机器人180A、180B和/或其他机器人可以用于执行多个情节,该多个情节是基于无模型强化学习网络执行任务的每个探索。例如,机器人180A和机器人180B可以各自包括策略网络,诸如代表确定性策略函数的深度神经网络。在情节开始时,机器人的当前状态(例如,伪随机选择的开始状态)可以与成功信号(例如,到达任务的末端执行器的目标位置)以及基于输入在策略网络上生成的输出一起作为输入应用到策略网络。策略网络输出指示在机器人的下一控制周期中要执行的动作。例如,对于机器人的每个致动器,在关节空间中,策略网络输出可以是速度命令。作为另一示例,策略网络输出可以是机器人的每个致动器的电机转矩。动作随后由机器人执行。然后,机器人在实施动作之后的状态可以与成功信号以及基于输入在网络上生成的附加输出一起作为输入应用到策略网络。这可以继续迭代地执行(例如,在机器人的每个控制周期),直到实现成功信号(例如,基于满足标准的奖励来确定)和/或满足其他标准。其他标准可以是,例如,情节的时间上的持续时间已经满足阈值(例如,X秒),或者已经发生了阈值数量的控制周期。在满足成功信号和/或其他标准之后,可以开始新的情节。
如图1所示,并且在此更详细地描述,在机器人180A和机器人180B(以及可选的(多个)附加机器人)执行情节时,经验收集器引擎112接收由该机器人180A和机器人180B(以及可选的(多个)附加机器人)生成的经验数据的实例。例如,机器人180A可以在执行情节时,在其每个控制周期向经验收集器引擎112提供经验数据的新实例。作为另一示例,机器人180A可以在情节结束时向经验收集器引擎112提供情节期间生成的经验数据的所有实例。作为又一示例,机器人180A可以每0.2秒或者以(多个)其他规则或非规则的间隔提供经验数据的新实例。经验数据的每个实例由对应的机器人在对应迭代中基于应用于机器人的策略网络的输入和/或通过机器人的策略网络生成的输出来生成。例如,经验数据的每个实例可以指示机器人的当前状态、基于策略网络的输出要执行的动作、实施该动作后机器人的状态和/或对该动作的奖励(如通过在策略网络上生成的输出和/或单独的奖励函数所指示的)。
经验收集器引擎112将接收到的经验数据的实例存储在重放缓冲区122中。重放缓冲区122可以包括训练引擎114可访问的存储器和/或数据库。尽管示出了单个经验收集器引擎112,但是应当理解,可以提供多个经验收集器引擎112。例如,每个机器人可以包括它自己的经验收集器引擎或者与它自己的经验收集器引擎相关联,并且这些引擎都可以将经验数据的实例存储在重放缓冲区122中。
训练引擎114利用诸如本文所述的技术(例如,与诸如NAF和/或DDPG变体的Q学习相关的技术)迭代地训练策略网络124的一个或多个参数。在训练的每次迭代中,训练引擎114可以利用重放缓冲区122的一组一个或多个经验数据的实例来生成更新的策略参数。训练引擎114可以可选地从重放缓冲区122中清除(多个)所利用的实例和/或以其他方式清除它们(例如,基于先进先出(first in first out)方案)。
在机器人180A和180B中的任一个执行新情节之前,机器人可以用由训练引擎114最近生成的策略参数来更新其策略网络。在一些实施方式中,策略参数可以由训练引擎114“推”给机器人180A和180B。在一些其他实施方式中,策略参数可以由机器人180A和180B“拉”。因此,在图1的实施方式中,机器人180A、机器人180B和可选的附加机器人可以并行操作,同时它们各自都基于相同的无模型强化策略网络执行多个情节。然而,一个或多个机器人利用的策略参数可以一次或多次不同于一个或多个其他机器人。例如,在时间T1和在给定情节开始之前,机器人180A可以将其策略参数与最近更新的策略参数同步。然而,在时间Tl,机器人180B可能在情节中,并且可能仍然在来自训练引擎114的先前迭代(紧接先前或多次迭代之前)的更新较少的策略参数下操作。在时间T2,机器人180B可以将其策略参数与更进一步更新的策略参数同步,但是机器人180A在时间T2仍然处于给定的情节中,并且仍然在时间T1的(现在较少的)更新的策略参数下操作。
如本文所述,当在机器人并行操作期间生成经验数据的那些实例时,经验收集器引擎112可以将机器人180A、180B和/或其他机器人中的每一个的经验数据的实例添加到重放缓冲区122中。在一些实施方式中,每个机器人的经验数据可以以机器人的对应(并且可选地相同)频率(例如,以机器人的控制周期频率)添加到重放缓冲区122。例如,机器人可以具有60Hz的控制频率,并以60Hz提供经验数据(即每秒提供60个经验数据的实例)。在这些实施方式中的一些中,训练引擎114可以以大于机器人的频率中的一个或多个(例如,全部)的频率执行训练迭代,并且可以在机器人继续并行操作并基于情节生成经验数据时执行这些迭代。这些技术中的一种或多种可以使得策略网络的收敛能够比如果不采用这些技术时发生得更快。
经验收集器引擎112、重放缓冲区122、训练引擎114和策略网络124在图1中被示为与机器人180A和180B分离。然而,在一些实施方式中,这些组件中的一个或多个的所有或各方面可以(例如,经由机器人180A和180B的一个或多个处理器)在机器人180A和/或机器人180B上实施。例如,机器人180A和180B可以各自包括经验收集器引擎112的实例。在一些实施方式中,这些组件中的一个或多个的所有或各方面可以在与机器人180A和180B分离、但是与该机器人180A和180B进行网络通信的一个或多个计算机***上实施。在这些实施方式中的一些中,经验数据可以在一个或多个网络上从机器人传输到组件,并且更新的策略参数可以在一个或多个网络上从组件传输到机器人。
图3是示出执行对象运动尝试并存储与对象运动尝试相关联的数据的示例方法300的流程图。为了方便,参考执行操作的***来描述流程图的操作。该***可以包括机器人的一个或多个组件,诸如机器人180A、180B、640和/或其他机器人的处理器和/或机器人控制***。此外,尽管方法300的操作以具体顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框352处,情节开始以执行任务。
在框354处,如果任何更新的参数可用,则***基于更新的参数同步由***使用的策略网络的策略参数。例如,***可以用基于图5的方法500生成的一个或多个最近更新的策略参数来替换策略网络的一个或多个策略参数。在一些实施方式中,用另一策略参数替换策略参数包括用另一值替换神经网络模型的节点的值。
在框356处,***初始化随机过程用于任务探索。如本文所使用的,随机包括伪随机和真随机。作为一个示例,***可以使机器人的末端执行器移动到随机开始位置。作为另一示例,***可以使机器人的每个关节各自呈现具体的运动状态(例如,具体的位置、速度和/或加速度)。
在框358处,***识别当前状态。当前状态可以包括当前机器人状态和/或一个或多个环境对象的当前状态。环境对象的当前状态可以基于附着到那些环境对象的传感器和/或基于来自机器人的传感器数据来确定。例如,环境对象的当前状态可以基于来自一个或多个传感器的传感器数据,诸如当任务是开门时附着在门上的惯性测量单元(“inertialmeasurement unit,IMU”)。并且,例如,环境对象的当前状态可以基于由机器人的视觉传感器捕获的视觉传感器数据(例如,对象的当前位置可以基于来自机器人的视觉传感器的视觉传感器数据来确定)。在框358的第一次迭代中,当前的机器人状态将是框356的初始化之后的初始机器人状态。例如,初始机器人状态可以包括机器人的一个或多个组件的当前状态,诸如每个关节和/或末端执行器的位置、速度和/或加速度。
在框360处,***基于当前状态和基于策略网络选择要实施的动作。例如,***可以将当前状态作为输入应用于强化学习策略模型,并且基于输入在模型上生成指示要实施的动作的输出。***可以基于输出选择动作。在一些实施方式中,输出包括应用于机器人致动器的扭矩值和/或其他值,并且选择动作可以包括选择那些值作为动作。在框358处识别附加和/或替代的当前观察值的实施方式中,它们也可以作为输入应用于策略网络。
在框362处,***执行该动作,并观察奖励和该动作产生的后续状态。例如,***可以生成一个或多个运动命令,以使一个或多个致动器移动并实行动作。***可以基于奖励函数和可选地基于提供给***的成功信号来观察奖励。例如,末端执行器达到目标姿态的任务的奖励函数可以基于该动作产生的末端执行器的姿态和目标姿态(其中目标姿态被提供为成功信号)之间的差异。后续状态可以包括后续机器人状态和/或一个或多个环境对象的后续状态。例如,后续机器人状态可以包括机器人的一个或多个组件的状态作为动作结果,诸如每个关节和/或末端执行器的位置、速度和/或加速度。在一些实施方式中,在框362处,***附加地或替代地识别其他观察值作为动作结果,诸如在实施动作之后由机器人的视觉传感器捕获的视觉传感器数据和/或在实施动作之后来自(多个)其他传感器的其他传感器数据。
在框364处,***向重放缓冲区发送经验数据的实例。例如,***本身可以将实例存储在重放缓冲区中,或者将实例提供给将实例存储在重放缓冲区中的单独组件。如关于图5的方法500所述,实例和来自其他机器人的其他实例可以在训练期间用于更新策略参数。在一些实施方式中,经验数据可以包括指示框358的当前状态、框360的动作和/或框362的观察到的奖励和/或后续状态的数据。
在框366处,***确定是否已经满足成功或其他标准。例如,如果框362处观察到的奖励满足阈值,则***可以确定成功。并且,例如,另一标准可以是已经满足了框358、360、362和364的阈值时间和/或阈值迭代次数。
如果***确定已经满足成功或其他标准,则***前进到框352并开始新情节。注意的是,在新情节中,在新情节的框354处,***可以将策略参数与相对于紧接的前一情节的参数更新的一个或多个更新的参数同步(作为根据图5的方法500和/或其他方法同时更新这些参数的结果)。例如,更新的参数可以根据图5的方法500利用来自根据图3的方法300异步生成经验数据的一个或多个其他机器人的经验数据来更新。以这些和其他方式,图3的每一情节可以利用基于来自(多个)其他机器人的经验数据更新的策略参数。这可以使得每一情节生成使能更有效的训练的经验数据。***可以利用方法300执行多个情节,直到训练(根据图5的方法500和/或其他方法)完成和/或直到接收到一些其他信号(例如,错误发生)。
如果***确定不满足成功或其他标准,则***前进到框358,并执行框358、360、362和364的附加迭代。
在图3中,框370、372和374还被示出并且表示可选的框,该可选的框可以被实施来确定框360的任何动作是否违反机器人的一个或多个标准,并且如果是,则在框362处的动作执行之前采取校正动作。在框370处,***确定框360的动作是否违反一个或多个机器人标准。如果不是,***前进到框362并执行动作。
如果***确定框360的动作确实违反了一个或多个机器人标准,则***前进到框372或框374。在框372处,***可以修改动作,使得它不再违反标准,并且提供修改后的动作来代替动作以用于在框362处执行。例如,如果违反速度约束,则可以修改动作,使得不再违反速度约束。可以在经验数据的实例中提供修改的动作来代替未修改的动作。
在框374处,***可以响应于某些违反机器人标准的行为,可选地终止该情节。如果***在框374处终止该情节,则***可以返回到框352和/或等待干预(例如,人为干预)。
如本文所述,在许多实施方式中,图3的方法300可以在方法300的其相应迭代的一次或多次迭代(例如,全部)期间在并行操作的多个机器人中的每一个上实施。例如,第一机器人的一个或多个处理器可以执行方法300的实例化,第二机器人的一个或多个处理器可以执行方法300的实例化,等等。与如果只有一个机器人在操作方法300相比,这可以使得能够在给定的时间段内生成更多的经验数据的实例。在其中策略神经网络的训练以比给定机器人生成经验数据的更高的频率进行的实施方式中,这可以导致策略神经网络的时间有效的训练。此外,这可以使得给定机器人的方法300的每一情节能够利用基于来自(多个)其他机器人的经验数据更新的经验数据。这可以导致策略神经网络的训练与如果没有利用基于异步经验数据的异步训练相比在更少的迭代中收敛。此外,在其中多个机器人的末端执行器、传感器、致动器和/或其他硬件组件不同地变化和/或磨损的实施方式中,和/或其中不同的机器人与不同的对象(例如,不同尺寸、不同重量、不同形状、不同半透明性、不同材料的对象)和/或在不同的环境(例如,不同的表面、不同的照明、不同的环境障碍)交互的实施方式中,在训练中利用由多个机器人生成的经验数据可以在训练的策略网络中为各种机器人和/或环境配置提供鲁棒性。
图4是示出存储经验数据的实例的示例方法400的流程图。为了方便,参考执行操作的***来描述流程图的操作。该***可以包括一个或多个计算机***的一个或多个组件(诸如处理器)和/或可以包括一个或多个机器人的一个或多个组件(诸如机器人的处理器和/或机器人控制***)。此外,尽管方法400的操作以具体顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框452处,经验数据收集开始。
在框454处,***接收机器人的经验数据的实例。机器人是并行地(但可选地以不同的频率)向***和/或其他***提供经验数据的多个机器人中的一个。例如,机器人可以各自实施图3的方法300,并且框454可以响应于方法300的框364的执行的每个实例而被执行。
在框456处,***将经验数据的实例存储在重放缓冲区中。在框458处,***确定训练是否完成。响应于来自基于存储在重放缓冲区中的经验数据来更新策略参数的可选的单独的训练***的信号,***可以确定训练完成。
如果***在框458处确定训练没有完成,则***返回到框454并接收经验数据的附加实例(来自相同机器人或不同机器人)。应当理解,可以实施方法400的一个或多个框的多线程,以使得能够从多个机器人同时接收经验数据。
如果***在框458处确定训练完成,则经验数据收集在框460处结束。
尽管为了清楚起见,方法300和方法400在此以单独的附图示出,但是应当理解,方法400的一个或多个框可以由执行方法300的一个或多个框的(多个)相同组件来执行。例如,方法300和方法400的一个或多个(例如,所有)框可以由机器人的(多个)处理器执行。并且,应当理解,方法400的一个或多个框可以与方法300的一个或多个框结合执行,或者在方法300的一个或多个框之前或之后执行。
图5是示出更新策略网络的参数的训练的示例方法500的流程图。为了方便,参考执行操作的***来描述流程图的操作。该***可以包括计算机***的一个或多个组件,诸如训练引擎114和/或其他计算机***的处理器(例如,GPU和/或CPU)。此外,尽管方法500的操作以具体顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框552处,训练开始。
在框558处,***从重放缓冲区中采样一批经验数据。例如,***可以基于图3的方法300和/或图4的方法400对存储在重放缓冲区中的一批一个或多个经验数据的实例进行采样。
在一些经验数据的实现中,***设置
在框564处,***提供更新以供机器人在接下来的情节中使用。例如,***可以提供更新的策略参数和/或其他参数,以供机器人在接下来的情节中使用。
在框566处,***确定训练是否完成。在一些实施方式中,确定训练完成可以基于:确定已经实现收敛、已经发生了框558-564的阈值量的迭代、已经处理了所有可用的经验数据、已经过了阈值时间量、和/或已经满足了其他标准。
如果***确定训练完成,则训练在框568处结束。如果***确定训练没有完成,***返回到框558。如本文所述,方法500可以与本文所述的方法300和400同时执行。在这些实施方式中的一些中,方法500的迭代的执行频率可以大于方法300和/或400的迭代的执行频率。作为一个非限制性示例,方法500可以以100Hz的速率执行,以及方法300可以以20Hz的速率执行。注意的是,在一些实施方式中,方法300、方法400和/或方法500可以“连续”执行,因为经验数据由一个或多个现实世界机器人连续生成,并且用于连续更新目标策略网络。
为了提供关于本文描述的实施方式的一些附加细节,更详细地描述可以通过本文公开的强化学习技术学习的一些示例任务。任务的一些示例包括随机目标到达、推门和/或拉门、拾取和放置。例如,在到达任务中,机器人臂可以试图从固定的初始配置到达空间中的随机目标。通过从以点为中心的0.2m大小的立方体中均匀采样点,每情节生成随机目标。随机目标可以作为成功信号提供。给定末端执行器位置e和目标位置y,奖励函数可以是:
并且,例如,在推门和拉门任务中,机器人臂可以试图通过推或拉门把手来开门。把手可以向下转动高达90度,而门可以双向打开高达90度。门有弹簧,使得当没有施加外力时该门会逐渐关闭。门有插销,使得只有当把手转动超过大约60度时,才能开门。附着在门上的IMU传感器可用于门角度测量,并且来自IMU传感器的四元数读取可以用于计算损失。例如,奖励函数可以由两部分组成:末端执行器与把手的接近程度,以及门在正确方向打开的程度的测量。奖励函数的第一部分取决于末端执行器位置e和处于中性状态的把手位置h之间的距离。奖励函数的第二部分取决于把手的四元数q和当把手被转动和门被打开时的值qo之间的距离。状态特征可以包括机器人臂的关节角度及其时间导数、末端执行器位置、静止(resting)门把手位置、门框位置、门角度和把手角度。
图6示意性地描绘了机器人640的示例架构。机器人640包括机器人控制***660、一个或多个操作组件640a-640n、以及一个或多个传感器642a-642m。传感器642a-642m可以包括例如视觉传感器、光传感器、压力传感器、压力波传感器(例如,麦克风)、接近传感器、加速度计、陀螺仪、温度计、气压计等。虽然传感器642a-m被描绘为与机器人620集于一体,但这并不意味着是限制性的。在一些实施方式中,传感器642a-m可以位于机器人620的外部,例如,作为独立单元。
操作组件640a-640n可以包括例如一个或多个末端执行器和/或一个或多个伺服电机或其他致动器,以实行机器人的一个或多个组件的移动。例如,机器人620可以具有多个自由度,并且每个致动器可以响应于控制命令在一个或多个自由度内控制机器人620的致动。如本文所使用的,术语致动器除了可以与致动器相关联并且将接收到的控制命令转换成用于驱动致动器的一个或多个信号的(多个)任何驱动器之外,还涵盖产生运动的机械或电气设备(例如,电机)。因此,向致动器提供控制命令可以包括向将控制命令转换成用于驱动电气或机械设备以产生期望运动的适当信号的驱动器提供控制命令。
机器人控制***660可以在一个或多个处理器中实施,诸如机器人620的CPU、GPU和/或(多个)其他控制器。在一些实施方式中,机器人620可以包括“脑盒(brain box)”,其可以包括控制***660的所有或各方面。例如,脑盒可以向操作组件640a-n提供实时数据突发,其中每个实时突发包括一个或多个控制命令的集合,这些控制命令尤其规定了操作组件640a-n中的一个或多个中的每一个的运动参数(如果有的话)。在一些实施方式中,机器人控制***660可以执行本文描述的方法300、400和/或500的一个或多个方面。
如本文所述,在一些实施方式中,由控制***660在移动机器人的一个或多个组件时生成的控制命令的所有或各方面可以基于在策略网络上基于当前机器人状态和/或其他观察值生成的输出。尽管控制***660在图6中被示为机器人620的组成部分,但是在一些实施方式中,控制***660的所有或各方面可以在与机器人620分离但与该机器人620通信的组件中实施。例如,控制***660的所有或各方面可以在与机器人620有线和/或无线通信的一个或多个计算设备上实施,诸如计算设备710。
图7是可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备710的框图。计算设备710通常包括经由总线子***712与许多***设备通信的至少一个处理器714。这些***设备可以包括存储子***724,该存储子***724包括例如存储器子***725和文件存储子***726、用户接口输出设备720、用户接口输入设备722和网络接口子***716。输入和输出设备允许用户与计算设备710交互。网络接口子***716提供到外部网络的接口,并且耦合到其他计算设备中的对应接口设备。
用户接口输入设备722可以包括键盘、定点设备(诸如鼠标、轨迹球、触摸板或图形输入板)、扫描仪、合并到显示器中的触摸屏、音频输入设备(诸如语音识别***)、麦克风、和/或其他类型的输入设备。通常,术语“输入设备”的使用意图包括将信息输入到计算设备710或通信网络上的所有可能类型的设备和方式。
用户接口输出设备720可以包括显示子***、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子***可以包括阴极射线管(cathode ray tube,CRT)、诸如液晶显示器(liquid crystal display,LCD)的平板设备、投影设备或用于创建可视图像的一些其他机构。显示子***还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用意图包括从计算设备710向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。
存储子***724存储提供本文描述的一些或所有模块的功能的编程和数据结构。例如,存储子***724可以包括用于执行图3、图4和/或图5的方法的选定方面的逻辑。
这些软件模块通常由处理器714单独或与其他处理器结合执行。存储子***724中使用的存储器725可以包括许多存储器,这些存储器包括用于在程序运行期间存储指令和数据的主随机存取存储器(random access memory,RAM)730和存储固定指令的只读存储器(read only memory,ROM)732。文件存储子***726可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光驱动器或可移动介质盒。实施某些实施方式的功能的模块可以由文件存储子***726存储在存储子***724中,或者存储在由(多个)处理器714可访问的其他机器中。
总线子***712提供用于让计算设备710的各种组件和子***按需相互通信的机构。尽管总线子***712示意性地示出为单个总线,但是总线子***的替代实施方式可以使用多个总线。
计算设备710可以是不同类型的包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理***或计算设备。由于计算机和网络的不断变化的性质,图7中描绘的计算设备710的描述仅意图作为说明一些实施方式的特定示例。计算设备710的许多其他配置可能具有比图7描绘的计算设备更多或更少的组件。
虽然本文已经描述和说明了几个实施方式,但是可以使用用于执行功能和/或获得本文描述的结果和/或一个或多个优点的各种其他装置和/或结构,并且这样的变化和/或修改中的每一个都被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于所教导的(多个)具体应用。本领域的技术人员将认识到,或者能够仅使用常规实验来明确本文描述的具体实施方式的很多等同物。因此,应当理解,前述实施方式仅作为示例给出,并且在所附权利要求及其等同物的范围内,实施方式可以以除具体描述和要求保护以外的方式实践。本公开的实施方式针对本文描述的每个独立的特征、***、物品、材料、套件和/或方法。另外,如果两个或多个这样的特征、***、物品、材料、套件和/或方法不是相互矛盾的,则这两个或多个这样的特征、***、物品、材料、套件和/或方法的任何组合都包括在本公开的范围内。
Claims (33)
1.一种由一个或多个处理器实施的方法,包括:
在由多个机器人中的每一个机器人执行多个情节期间,所述情节中的每一个情节包括基于表示对任务的强化学习策略的策略神经网络执行所述任务:
将由多个机器人在情节期间生成的机器人经验数据的实例存储在缓冲区中,所述机器人经验数据的实例中的每一个在情节中的对应情节期间生成,并且至少部分地在使用具有所述对应情节的策略神经网络的对应策略参数的策略神经网络生成的对应输出上生成;
迭代地生成所述策略神经网络的更新的策略参数,其中迭代地生成的迭代中的每次迭代包括在迭代期间使用在所述缓冲区中的一组机器人经验数据的实例中的一个或多个来生成所述更新的策略参数;以及
由机器人中的每一个机器人结合由机器人执行的多个情节中的每一个情节的开始,更新将由机器人在所述情节中使用的策略神经网络,其中更新所述策略神经网络包括使用迭代地生成更新的策略参数的最近迭代的更新的策略参数。
2.根据权利要求1所述的方法,其中,更新的策略参数中的每一个为所述策略神经网络的对应层的对应节点定义对应值。
3.根据权利要求1所述的方法,其中,对于所述机器人中的每一个机器人的机器人经验数据的实例以对应频率存储在所述缓冲区中,其中所述对应频率每一个都低于迭代地生成所述更新的策略参数的第二频率。
4.根据权利要求1所述的方法,其中,将所述机器人经验数据的实例存储在所述缓冲区中由第一线程中的一个或多个处理器执行,并且其中迭代地生成由与所述第一线程分离的第二线程中的一个或多个处理器执行。
5.根据权利要求4所述的方法,其中,所述第一线程由第一组一个或多个处理器执行,并且所述第二线程由第二组一个或多个处理器执行,所述第二组与所述第一组不重叠。
6.根据权利要求1所述的方法,其中,迭代地生成的迭代中的每次迭代包括在生成迭代期间,鉴于在所述缓冲区中的一组机器人经验数据的实例中的一个或多个,基于最小化损失函数来生成更新的策略参数。
7.根据权利要求1所述的方法,其中,迭代地生成的迭代中的每次迭代包括在生成迭代期间,鉴于在所述缓冲区中的一组机器人经验数据的实例中的一个或多个的离策略学习。
8.根据权利要求7所述的方法,其中,所述离策略学习是Q学习。
9.根据权利要求8所述的方法,其中,所述Q学习利用归一化优势函数(NAF)算法或深度确定性策略梯度(DDPG)算法。
10.根据权利要求1所述的方法,
其中,所述机器人经验数据的实例中的每一个指示对应的:开始机器人状态、从所述开始机器人状态转换到的后续机器人状态、执行以从所述开始机器人状态转换到所述后续机器人状态的动作、以及对所述动作的奖励;
其中,所述执行以从开始机器人状态转换到后续机器人状态的动作是基于使用具有对于对应情节的更新的策略参数的策略神经网络处理开始机器人状态而生成的,并且其中,对所述动作的奖励是基于所述强化学习策略的奖励函数而生成的。
11.根据权利要求1所述的方法,还包括:
基于一个或多个标准,终止所述多个情节的执行并终止迭代地生成;
向所述策略神经网络提供所述更新策略参数的最近生成的版本,以供一个或多个附加机器人使用。
12.一种方法,包括:
由多个机器人的给定机器人的一个或多个处理器:
执行基于具有第一组策略参数的策略网络执行任务的给定情节;
提供在所述给定情节期间基于所述策略网络生成的机器人经验数据的第一实例;
在由所述给定机器人执行基于所述策略网络执行任务的后续情节之前:
用更新的策略参数替换所述第一组的一个或多个策略参数,其中所述更新的策略参数是根据基于机器人经验数据的附加实例训练所述策略网络而生成的,所述附加实例是在由附加机器人执行任务的附加机器人情节期间由所述附加机器人生成的,其中由所述附加机器人执行任务的附加机器人情节是基于策略网络的;
其中,所述后续情节紧接着第一情节,并且其中在所述后续情节中基于所述策略网络执行任务包括使用所述更新的策略参数来代替替换的策略参数。
13.根据权利要求12所述的方法,还包括:
由一个或多个附加处理器并且在所述后续情节的执行期间生成进一步更新的策略参数,其中,生成所述进一步更新的策略参数基于在所述给定情节期间生成的机器人经验数据的第一实例中的一个或多个;以及
提供所述进一步更新的策略参数,以供所述附加机器人中的附加机器人在由所述附加机器人执行对应情节时使用。
14.根据权利要求13所述的方法,其中,所述附加机器人在由所述给定机器人执行所述后续情节期间开始执行所述对应情节。
15.根据权利要求13所述的方法,其中,在由所述给定机器人执行任何情节时,所述进一步更新的策略参数不被所述给定机器人利用。
16.根据权利要求13所述的方法,还包括:
由一个或多个附加处理器生成更进一步更新的策略参数,其中,所述更进一步更新的策略参数在所述后续情节的执行期间生成,并且在所述进一步更新的策略参数生成之后生成;以及
提供所述更进一步更新的策略参数,以供所述给定机器人在由所述给定机器人执行基于所述策略网络执行任务的进一步后续情节时使用;
其中,所述进一步后续情节紧跟着所述后续情节。
17.根据权利要求16所述的方法,其中,所述给定机器人在由所述附加机器人执行所述对应情节期间开始执行所述进一步后续情节。
18.根据权利要求16所述的方法,其中,在由所述附加机器人执行任何情节时,所述更新的策略参数和所述更进一步更新的策略参数不被所述附加机器人利用。
19.根据权利要求12所述的方法,其中,在由所述附加机器人执行任何情节时,所述更新的策略参数不被所述附加机器人利用。
20.根据权利要求12所述的方法,其中,所述策略网络包括神经网络模型。
21.根据权利要求20所述的方法,其中,所述更新的策略参数中的每一个为所述神经网络模型的对应层的对应节点定义对应值。
22.根据权利要求12所述的方法,还包括,在执行所述任务的给定情节的执行期间:
在来自所述策略网络的输出的给定迭代中,确定违反所述给定机器人的一个或多个标准;
修改所述给定迭代的输出,使得不再违反所述一个或多个标准;以及
基于修改的输出生成经验数据实例的给定实例。
23.根据权利要求22所述的方法,其中,所述标准包括以下中的一个或多个:关节位置限制、关节速度限制和末端执行器位置限制。
24.根据权利要求12所述的方法,其中执行所述给定情节包括:
将当前状态表示作为输入应用到所述策略网络,所述当前状态表示指示至少给定机器人的当前状态;
通过使用所述策略网络处理所述输入来生成输出;以及
基于所述输出向所述给定机器人的一个或多个致动器提供控制命令。
25.根据权利要求24所述的方法,其中,基于所述输出向所述致动器提供所述控制命令包括:
通过向所述输出添加噪声来生成修改的输出:以及
基于所述修改的输出提供所述控制命令。
26.根据权利要求24所述的方法,其中,所述输出包括所述机器人的多个致动器中的每一个的速度或扭矩,并且其中,提供所述控制命令包括提供使得所述致动器施加所述速度或扭矩的控制命令。
27.根据权利要求12所述的方法,其中,经验数据的第一实例中的每一个指示对应的:开始机器人状态、从所述开始机器人状态转换到的后续机器人状态、执行以从所述开始机器人状态转换到所述后续机器人状态的动作、以及对所述动作的奖励。
28.一种由一个或多个处理器实施的方法,包括:
在接收来自多个代理的给定代理的经验数据的多个经验数据迭代中的一个迭代中,接收由所述给定代理生成的代理经验数据的给定实例,其中,在基于在生成给定实例时所述给定代理利用的策略网络的策略参数的给定版本执行任务的给定情节期间,生成所述代理经验数据的给定实例;
从所述多个代理中的附加代理接收代理经验数据的附加实例,所述附加实例在由所述附加代理基于所述策略网络执行任务的情节期间生成,其中所述多个经验数据迭代以第一频率发生;
在所述给定代理和所述附加代理继续执行任务的情节时,基于至少部分地基于所述给定实例和所述附加实例的所述策略网络的训练,来生成所述策略网络的策略参数的新版本,其中所述策略网络的训练包括以大于所述第一频率的第二频率发生的多个训练迭代,所述多个训练迭代包括:
至少部分地基于所述第一实例和所述附加实例的所述策略网络的训练的第一训练迭代;和
基于来自多个代理的经验数据的更进一步的实例的所述策略网络的训练的一次或多次附加的训练迭代;
向所述给定代理提供所述策略参数的新版本,用于执行基于所述策略参数的新版本由所述给定代理执行任务的紧接的后续情节。
29.根据权利要求28所述的方法,还包括:
由所述给定代理执行基于所述策略参数的新版本由所述给定代理执行任务的紧接的后续情节。
30.一种由一个或多个处理器实施的方法,包括:
迭代地接收由异步且同时操作的多个代理生成的经验数据的实例,其中,在基于策略神经网络执行任务的对应情节期间,由所述多个代理中的对应代理生成经验数据的实例中的每一个;
基于从所述多个代理接收的经验数据迭代地训练策略神经网络,以在每次训练迭代中生成所述策略神经网络的一个或多个更新的参数;以及
迭代地且异步地向代理提供更新的参数的实例,用于在经验数据的进一步的实例所基于的执行任务的后续情节之前更新所述代理的策略神经网络。
31.根据权利要求30所述的方法,还包括:
在代理上执行经验数据的实例所基于的执行任务的所述情节。
32.一种计算机可读指令,当由计算装置执行所述计算机可读指令时,使得执行根据权利要求1至31中任一项所述的方法。
33.一种用于深度强化学习的装置,被配置为执行根据权利要求1至31中任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662395340P | 2016-09-15 | 2016-09-15 | |
US62/395,340 | 2016-09-15 | ||
PCT/US2017/051646 WO2018053187A1 (en) | 2016-09-15 | 2017-09-14 | Deep reinforcement learning for robotic manipulation |
CN201780067067.9A CN109906132B (zh) | 2016-09-15 | 2017-09-14 | 机器人操纵的深度强化学习 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067067.9A Division CN109906132B (zh) | 2016-09-15 | 2017-09-14 | 机器人操纵的深度强化学习 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115338859A true CN115338859A (zh) | 2022-11-15 |
Family
ID=59966886
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067067.9A Active CN109906132B (zh) | 2016-09-15 | 2017-09-14 | 机器人操纵的深度强化学习 |
CN202210871601.4A Pending CN115338859A (zh) | 2016-09-15 | 2017-09-14 | 机器人操纵的深度强化学习 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067067.9A Active CN109906132B (zh) | 2016-09-15 | 2017-09-14 | 机器人操纵的深度强化学习 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11400587B2 (zh) |
EP (1) | EP3504034A1 (zh) |
JP (1) | JP6721785B2 (zh) |
KR (1) | KR102211012B1 (zh) |
CN (2) | CN109906132B (zh) |
DE (1) | DE202017105598U1 (zh) |
WO (1) | WO2018053187A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118114746A (zh) * | 2024-04-26 | 2024-05-31 | 南京邮电大学 | 基于贝尔曼误差的方差最小化强化学习机械臂训练加速方法 |
Families Citing this family (132)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10586173B2 (en) | 2016-01-27 | 2020-03-10 | Bonsai AI, Inc. | Searchable database of trained artificial intelligence objects that can be reused, reconfigured, and recomposed, into one or more subsequent artificial intelligence models |
US11868896B2 (en) | 2016-01-27 | 2024-01-09 | Microsoft Technology Licensing, Llc | Interface for working with simulations on premises |
US11836650B2 (en) | 2016-01-27 | 2023-12-05 | Microsoft Technology Licensing, Llc | Artificial intelligence engine for mixing and enhancing features from one or more trained pre-existing machine-learning models |
US11775850B2 (en) * | 2016-01-27 | 2023-10-03 | Microsoft Technology Licensing, Llc | Artificial intelligence engine having various algorithms to build different concepts contained within a same AI model |
US11841789B2 (en) | 2016-01-27 | 2023-12-12 | Microsoft Technology Licensing, Llc | Visual aids for debugging |
CN109906132B (zh) * | 2016-09-15 | 2022-08-09 | 谷歌有限责任公司 | 机器人操纵的深度强化学习 |
EP3523760B1 (en) * | 2016-11-04 | 2024-01-24 | DeepMind Technologies Limited | Reinforcement learning systems |
US11062207B2 (en) * | 2016-11-04 | 2021-07-13 | Raytheon Technologies Corporation | Control systems using deep reinforcement learning |
EP3568811A1 (en) * | 2017-02-24 | 2019-11-20 | Deepmind Technologies Limited | Training machine learning models |
WO2018201151A1 (en) * | 2017-04-28 | 2018-11-01 | Google Llc | Neural network optimizer search |
JP2019057093A (ja) * | 2017-09-20 | 2019-04-11 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US10754308B2 (en) * | 2017-11-09 | 2020-08-25 | International Business Machines Corporation | Decomposed perturbation approach using memory based learning for compliant assembly tasks |
JP6680748B2 (ja) * | 2017-11-17 | 2020-04-15 | ファナック株式会社 | 制御装置及び機械学習装置 |
US11494632B1 (en) * | 2017-12-07 | 2022-11-08 | X Development Llc | Generating simulated training examples for training of machine learning model used for robot control |
JP6810087B2 (ja) * | 2018-03-29 | 2021-01-06 | ファナック株式会社 | 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法 |
JP7035734B2 (ja) * | 2018-03-30 | 2022-03-15 | 富士通株式会社 | 強化学習プログラム、強化学習方法、および強化学習装置 |
JP7087632B2 (ja) * | 2018-04-26 | 2022-06-21 | セイコーエプソン株式会社 | ロボット制御装置 |
WO2018172593A2 (es) * | 2018-05-25 | 2018-09-27 | Erle Robotics, S.L | Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo |
CN108481328B (zh) * | 2018-06-04 | 2020-10-09 | 浙江工业大学 | 六关节工业机器人关节空间轨迹跟踪柔性迭代学习控制方法 |
US20190385091A1 (en) * | 2018-06-15 | 2019-12-19 | International Business Machines Corporation | Reinforcement learning exploration by exploiting past experiences for critical events |
EP3784451A1 (en) * | 2018-06-15 | 2021-03-03 | Google LLC | Deep reinforcement learning for robotic manipulation |
WO2020009139A1 (ja) * | 2018-07-04 | 2020-01-09 | 株式会社Preferred Networks | 学習方法、学習装置、学習システム及びプログラム |
US11285607B2 (en) | 2018-07-13 | 2022-03-29 | Massachusetts Institute Of Technology | Systems and methods for distributed training and management of AI-powered robots using teleoperation via virtual spaces |
WO2020029095A1 (zh) * | 2018-08-07 | 2020-02-13 | 中国科学院深圳先进技术研究院 | 强化学习网络的训练方法、装置、训练设备及存储介质 |
US11823039B2 (en) | 2018-08-24 | 2023-11-21 | International Business Machines Corporation | Safe and fast exploration for reinforcement learning using constrained action manifolds |
WO2020047657A1 (en) * | 2018-09-04 | 2020-03-12 | Kindred Systems Inc. | Real-time real-world reinforcement learning systems and methods |
US10821603B2 (en) * | 2018-09-05 | 2020-11-03 | The Boeing Company | Methods and apparatus for robot control |
CN109212476B (zh) * | 2018-09-18 | 2023-03-14 | 广西大学 | 一种基于ddpg的rfid室内定位算法 |
GB2577312B (en) * | 2018-09-21 | 2022-07-20 | Imperial College Innovations Ltd | Task embedding for device control |
US11292133B2 (en) | 2018-09-28 | 2022-04-05 | Intel Corporation | Methods and apparatus to train interdependent autonomous machines |
DE102019006725B4 (de) | 2018-10-02 | 2023-06-01 | Fanuc Corporation | Steuereinrichtung und Steuersystem |
JP6508691B1 (ja) * | 2018-10-15 | 2019-05-08 | 株式会社Mujin | 制御装置、作業ロボット、プログラム、及び、制御方法 |
KR102611952B1 (ko) * | 2018-10-30 | 2023-12-11 | 삼성전자주식회사 | 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치 |
US11292129B2 (en) * | 2018-11-21 | 2022-04-05 | Aivot, Llc | Performance recreation system |
CN109657800A (zh) * | 2018-11-30 | 2019-04-19 | 清华大学深圳研究生院 | 基于参数噪声的强化学习模型优化方法及装置 |
KR102619004B1 (ko) | 2018-12-14 | 2023-12-29 | 삼성전자 주식회사 | 로봇 장치 및 로봇의 작업 기술을 학습하는 방법 |
KR102559552B1 (ko) * | 2018-12-17 | 2023-07-26 | 한국전자통신연구원 | 다매체 다중경로 네트워크의 최적 경로 선택 시스템 및 그 방법 |
CN109760046A (zh) * | 2018-12-27 | 2019-05-17 | 西北工业大学 | 基于强化学习的空间机器人捕获翻滚目标运动规划方法 |
CN109693239A (zh) * | 2018-12-29 | 2019-04-30 | 深圳市越疆科技有限公司 | 一种基于深度强化学习的机器人抓取方法 |
US11787050B1 (en) * | 2019-01-01 | 2023-10-17 | Sanctuary Cognitive Systems Corporation | Artificial intelligence-actuated robot |
CN113677485A (zh) * | 2019-01-23 | 2021-11-19 | 谷歌有限责任公司 | 使用基于元模仿学习和元强化学习的元学习的用于新任务的机器人控制策略的高效自适应 |
WO2020170304A1 (ja) * | 2019-02-18 | 2020-08-27 | 日本電気株式会社 | 学習装置及び方法、予測装置及び方法、並びにコンピュータ可読媒体 |
US11410023B2 (en) | 2019-03-01 | 2022-08-09 | International Business Machines Corporation | Lexicographic deep reinforcement learning using state constraints and conditional policies |
US11308362B2 (en) * | 2019-03-26 | 2022-04-19 | Shenzhen Keya Medical Technology Corporation | Method and system for generating a centerline for an object, and computer readable medium |
DE102019205359B4 (de) * | 2019-04-12 | 2022-05-05 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Ansteuern einer technischen Einrichtung |
KR102143757B1 (ko) * | 2019-05-07 | 2020-08-12 | 오토시맨틱스 주식회사 | 딥러닝을 포함한 인공지능을 적용시킨 풍력 발전장치 |
US11345030B2 (en) * | 2019-05-28 | 2022-05-31 | Intel Corporation | Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives |
EP3748551A1 (de) * | 2019-06-07 | 2020-12-09 | Robert Bosch GmbH | Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters |
US12012826B2 (en) | 2019-06-21 | 2024-06-18 | Schlumberger Technology Corporation | Field development planning based on deep reinforcement learning |
CN110400345B (zh) * | 2019-07-24 | 2021-06-15 | 西南科技大学 | 基于深度强化学习的放射性废物推抓协同分拣方法 |
KR20210012730A (ko) | 2019-07-26 | 2021-02-03 | 삼성전자주식회사 | 인공지능 모델의 학습 방법 및 전자 장치 |
US11720792B2 (en) * | 2019-07-31 | 2023-08-08 | Royal Bank Of Canada | Devices and methods for reinforcement learning visualization using immersive environments |
US11676064B2 (en) * | 2019-08-16 | 2023-06-13 | Mitsubishi Electric Research Laboratories, Inc. | Constraint adaptor for reinforcement learning control |
US11400592B2 (en) * | 2019-08-19 | 2022-08-02 | Wipro Limited | Method and system for task execution in dynamic heterogeneous robotic environment |
CN110333739B (zh) * | 2019-08-21 | 2020-07-31 | 哈尔滨工程大学 | 一种基于强化学习的auv行为规划及动作控制方法 |
CN110394804B (zh) * | 2019-08-26 | 2022-08-12 | 山东大学 | 一种基于分层线程框架的机器人控制方法、控制器及*** |
JP7263980B2 (ja) * | 2019-08-27 | 2023-04-25 | 富士通株式会社 | 強化学習方法、強化学習プログラム、および強化学習装置 |
CN110502034B (zh) * | 2019-09-04 | 2022-08-09 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的固定翼无人机群集控制方法 |
US11685045B1 (en) * | 2019-09-09 | 2023-06-27 | X Development Llc | Asynchronous robotic control using most recently selected robotic action data |
DE102019213676B3 (de) * | 2019-09-10 | 2020-09-17 | Kuka Deutschland Gmbh | Robotersteuerung |
WO2021050488A1 (en) * | 2019-09-15 | 2021-03-18 | Google Llc | Determining environment-conditioned action sequences for robotic tasks |
DE102019214400A1 (de) * | 2019-09-20 | 2021-03-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Trainieren eines künstlichen neuronalen Netzwerks |
KR102233739B1 (ko) | 2019-09-24 | 2021-03-31 | 한국생산기술연구원 | 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법 |
US11389957B2 (en) | 2019-09-30 | 2022-07-19 | Mitsubishi Electric Research Laboratories, Inc. | System and design of derivative-free model learning for robotic systems |
US11775860B2 (en) * | 2019-10-15 | 2023-10-03 | UiPath, Inc. | Reinforcement learning in robotic process automation |
US20210125052A1 (en) * | 2019-10-24 | 2021-04-29 | Nvidia Corporation | Reinforcement learning of tactile grasp policies |
CN110728368B (zh) * | 2019-10-25 | 2022-03-15 | 中国人民解放军国防科技大学 | 一种仿真机器人深度强化学习的加速方法 |
WO2021096561A1 (en) * | 2019-11-15 | 2021-05-20 | Google Llc | Mitigating reality gap through training a simulation-to-real model using a vision-based robot task model |
CN110930379B (zh) * | 2019-11-18 | 2023-04-07 | 湖北工业大学 | 基于ddpg-ram算法的复杂光照条件下织物缺陷检测方法 |
US20210146531A1 (en) * | 2019-11-20 | 2021-05-20 | Nvidia Corporation | Guided uncertainty-aware policy optimization: combining model-free and model-based strategies for sample-efficient learning |
CN110929532B (zh) * | 2019-11-21 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
KR102281119B1 (ko) | 2019-11-27 | 2021-07-26 | 한국생산기술연구원 | 강화학습을 이용한 7축 로봇 제어 방법 |
CN110909859B (zh) * | 2019-11-29 | 2023-03-24 | 中国科学院自动化研究所 | 基于对抗结构化控制的仿生机器鱼运动控制方法、*** |
CN111191399B (zh) * | 2019-12-24 | 2021-11-05 | 北京航空航天大学 | 机器鱼的控制方法、装置、设备及存储介质 |
DE102019135810B3 (de) * | 2019-12-27 | 2020-10-29 | Franka Emika Gmbh | Erzeugung eines Steuerprogramms für einen Robotermanipulator |
CN111223141B (zh) * | 2019-12-31 | 2023-10-24 | 东华大学 | 基于强化学习的自动化流水线作业效率优化***及方法 |
CN111263332A (zh) * | 2020-03-02 | 2020-06-09 | 湖北工业大学 | 基于深度强化学习的无人机轨迹及功率联合优化方法 |
KR20210121790A (ko) | 2020-03-31 | 2021-10-08 | 한국외국어대학교 연구산학협력단 | 강화학습 기반의 분류기 학습 장치 및 방법 |
DE102020204388A1 (de) | 2020-04-03 | 2021-10-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Ansteuern eines Agenten |
CN111716352B (zh) * | 2020-05-13 | 2022-04-29 | 中国电力科学研究院有限公司 | 一种配电网带电作业机械臂导航避障方法及*** |
CN111552183B (zh) * | 2020-05-17 | 2021-04-23 | 南京大学 | 一种基于自适应权重强化学习的六足机器人避障方法 |
CN111633647B (zh) * | 2020-05-26 | 2021-06-22 | 山东大学 | 一种基于深度强化学习的多模融合机器人缝制方法及*** |
CN112327821A (zh) * | 2020-07-08 | 2021-02-05 | 东莞市均谊视觉科技有限公司 | 一种基于深度强化学习的智能清洁机器人路径规划方法 |
DE102020209685B4 (de) | 2020-07-31 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung |
CN112171660B (zh) * | 2020-08-18 | 2021-11-23 | 南京航空航天大学 | 一种基于深度强化学习的空间双臂***约束运动规划方法 |
DE102020210823A1 (de) | 2020-08-27 | 2022-03-03 | Robert Bosch Gesellschaft mit beschränkter Haftung | Maschinen-Steueranordnung |
TWI739604B (zh) * | 2020-09-18 | 2021-09-11 | 英業達股份有限公司 | 訓練機器動物的運動控制器的方法 |
US20220105626A1 (en) * | 2020-10-05 | 2022-04-07 | Autodesk, Inc. | Techniques for force and torque-guided robotic assembly |
US12017352B2 (en) * | 2020-10-29 | 2024-06-25 | Nvidia Corporation | Transformation of joint space coordinates using machine learning |
US11992945B2 (en) * | 2020-11-10 | 2024-05-28 | Google Llc | System and methods for training robot policies in the real world |
CN112356031B (zh) * | 2020-11-11 | 2022-04-01 | 福州大学 | 一种基于Kernel采样策略在不确定性环境下的在线规划方法 |
DE102020214231A1 (de) | 2020-11-12 | 2022-05-12 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung |
JP7517608B2 (ja) | 2020-11-13 | 2024-07-17 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN112338921A (zh) * | 2020-11-16 | 2021-02-09 | 西华师范大学 | 一种基于深度强化学习的机械臂智能控制快速训练方法 |
CN112498334B (zh) * | 2020-12-15 | 2022-03-11 | 清华大学 | 智能网联混合动力汽车的鲁棒能量管理方法及*** |
CN114684293B (zh) * | 2020-12-28 | 2023-07-25 | 成都启源西普科技有限公司 | 一种机器人行走仿真算法 |
CN112801149B (zh) * | 2021-01-15 | 2024-06-11 | 江苏大学 | 一种基于深度强化学习的多车队列控制方法 |
CN112801290B (zh) * | 2021-02-26 | 2021-11-05 | 中国人民解放军陆军工程大学 | 一种多智能体深度强化学习方法、***及应用 |
CN112975977B (zh) * | 2021-03-05 | 2022-08-09 | 西北大学 | 一种高效的机械臂抓取深度强化学习奖励训练方法及*** |
CN113093727B (zh) * | 2021-03-08 | 2023-03-28 | 哈尔滨工业大学(深圳) | 一种基于深度安全强化学习的机器人无地图导航方法 |
CN113128699B (zh) * | 2021-03-12 | 2022-11-15 | 合肥工业大学 | 快速收敛的多无人机协同对抗强化学习方法 |
EP4075337A1 (en) * | 2021-03-15 | 2022-10-19 | Honeywell Limited | Process controller with meta-reinforcement learning |
US20220305649A1 (en) * | 2021-03-25 | 2022-09-29 | Naver Corporation | Reachable manifold and inverse mapping training for robots |
US20210229281A1 (en) * | 2021-03-26 | 2021-07-29 | Venkat Natarajan | Collaborative multi-robot tasks using action primitives |
CN112990361B (zh) * | 2021-04-20 | 2021-07-27 | 北京动亮健康科技有限公司 | 基于Q-Learning算法的调整运动速度的方法、跑步机及提示装置 |
CN113135532B (zh) * | 2021-05-12 | 2022-03-11 | 吉林大学 | 一种自平衡高空作业台及其控制方法 |
DE102021204846B4 (de) | 2021-05-12 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Robotervorrichtung |
DE102021204961B4 (de) | 2021-05-17 | 2023-06-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zur Steuerung einer Robotervorrichtung |
CN113326872A (zh) * | 2021-05-19 | 2021-08-31 | 广州中国科学院先进技术研究所 | 一种多机器人轨迹规划方法 |
CN113290557A (zh) * | 2021-05-21 | 2021-08-24 | 南京信息工程大学 | 一种基于数据驱动的蛇形机器人控制方法 |
CN113340324B (zh) * | 2021-05-27 | 2022-04-29 | 东南大学 | 一种基于深度确定性策略梯度的视觉惯性自校准方法 |
US11845190B1 (en) * | 2021-06-02 | 2023-12-19 | Google Llc | Injecting noise into robot simulation |
CN113467248A (zh) * | 2021-07-22 | 2021-10-01 | 南京大学 | 基于强化学习的无人机传感器故障时容错控制方法 |
KR102346900B1 (ko) | 2021-08-05 | 2022-01-04 | 주식회사 애자일소다 | 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법 |
CN113524196A (zh) * | 2021-08-10 | 2021-10-22 | 南京深一科技有限公司 | 一种基于平面视觉深度强化学习的机械臂抓取控制方法 |
CN113459109B (zh) * | 2021-09-03 | 2021-11-26 | 季华实验室 | 机械臂路径规划方法、装置、电子设备及存储介质 |
CN113967909B (zh) * | 2021-09-13 | 2023-05-16 | 中国人民解放军军事科学院国防科技创新研究院 | 基于方向奖励的机械臂智能控制方法 |
US20230109398A1 (en) * | 2021-10-06 | 2023-04-06 | Giant.Ai, Inc. | Expedited robot teach-through initialization from previously trained system |
KR20230061612A (ko) | 2021-10-28 | 2023-05-09 | 아이둡 주식회사 | 머신 러닝을 이용한 물체의 피킹 자동화 시스템 및 그 제어 방법 |
DE102021212494B4 (de) | 2021-11-05 | 2024-07-04 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung |
CN114089633B (zh) * | 2021-11-19 | 2024-04-26 | 江苏科技大学 | 一种水下机器人多电机耦合驱动控制装置及方法 |
KR102664200B1 (ko) | 2021-12-20 | 2024-05-10 | 주식회사 현대케피코 | 가속도센서를 이용한 보행 로봇의 강화 학습 방법 |
CN114454160B (zh) * | 2021-12-31 | 2024-04-16 | 中国人民解放军国防科技大学 | 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及*** |
KR102631984B1 (ko) * | 2022-02-14 | 2024-01-30 | 경희대학교 산학협력단 | 사람형 로봇 손의 처리 시스템 |
CN114734443B (zh) * | 2022-04-27 | 2023-08-04 | 东南大学 | 基于生成对抗模仿学习的人机协作机器人技能识别方法 |
CN114905510B (zh) * | 2022-04-29 | 2023-07-28 | 南京邮电大学 | 基于自适应近端优化的机器人动作方法 |
CN114952828B (zh) * | 2022-05-09 | 2024-06-14 | 华中科技大学 | 一种基于深度强化学习的机械臂运动规划方法和*** |
CN114721409B (zh) * | 2022-06-08 | 2022-09-20 | 山东大学 | 一种基于强化学习的水下航行器对接控制方法 |
CN115366099B (zh) * | 2022-08-18 | 2024-05-28 | 江苏科技大学 | 基于正向运动学的机械臂深度确定性策略梯度训练方法 |
CN115674191B (zh) * | 2022-10-08 | 2024-05-10 | 广东工业大学 | 一种基于数字孪生的机械臂控制方法及*** |
CN117875407B (zh) * | 2024-03-11 | 2024-06-04 | 中国兵器装备集团自动化研究所有限公司 | 一种多模态持续学习方法、装置、设备及存储介质 |
CN118051063B (zh) * | 2024-04-16 | 2024-06-14 | 中国民用航空飞行学院 | 一种低空无人机避障飞行的训练方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005238422A (ja) | 2004-02-27 | 2005-09-08 | Sony Corp | ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法 |
US9104197B2 (en) * | 2004-06-15 | 2015-08-11 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
US8060251B2 (en) * | 2004-12-06 | 2011-11-15 | Honda Motor Co., Ltd. | Interface for robot motion control |
EP2360629A3 (en) | 2005-05-07 | 2012-04-11 | Stephen L. Thaler | Device for the autonomous bootstrapping of useful information |
US11159909B2 (en) * | 2008-02-05 | 2021-10-26 | Victor Thomas Anderson | Wireless location establishing device |
US8805110B2 (en) * | 2008-08-19 | 2014-08-12 | Digimarc Corporation | Methods and systems for content processing |
JP2011204036A (ja) | 2010-03-25 | 2011-10-13 | Institute Of National Colleges Of Technology Japan | 経験強化型強化学習システム、経験強化型強化学習方法および経験強化型強化学習プログラム |
CN102402712B (zh) * | 2011-08-31 | 2014-03-05 | 山东大学 | 基于神经网络的机器人强化学习初始化方法 |
US8788439B2 (en) | 2012-12-21 | 2014-07-22 | InsideSales.com, Inc. | Instance weighted learning machine learning model |
US9056396B1 (en) * | 2013-03-05 | 2015-06-16 | Autofuss | Programming of a robotic arm using a motion capture system |
US9776325B1 (en) * | 2013-03-13 | 2017-10-03 | Hrl Laboratories, Llc | Method for tele-robotic operations over time-delayed communication links |
EP2999940A4 (en) * | 2013-05-22 | 2017-11-15 | Neurala Inc. | Methods and apparatus for early sensory integration and robust acquisition of real world knowledge |
US9186795B1 (en) * | 2013-06-24 | 2015-11-17 | Redwood Robotics, Inc. | Programming and execution of force-based tasks with torque-controlled robot arms |
US9679258B2 (en) | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
US9533413B2 (en) * | 2014-03-13 | 2017-01-03 | Brain Corporation | Trainable modular robotic apparatus and methods |
US9302393B1 (en) * | 2014-04-15 | 2016-04-05 | Alan Rosen | Intelligent auditory humanoid robot and computerized verbalization system programmed to perform auditory and verbal artificial intelligence processes |
US10445641B2 (en) * | 2015-02-06 | 2019-10-15 | Deepmind Technologies Limited | Distributed training of reinforcement learning systems |
US9855658B2 (en) * | 2015-03-19 | 2018-01-02 | Rahul Babu | Drone assisted adaptive robot control |
US9676098B2 (en) * | 2015-07-31 | 2017-06-13 | Heinz Hemken | Data collection from living subjects and controlling an autonomous robot using the data |
US9981381B1 (en) * | 2016-06-08 | 2018-05-29 | X Development Llc | Real time generation of phase synchronized trajectories |
CN109906132B (zh) * | 2016-09-15 | 2022-08-09 | 谷歌有限责任公司 | 机器人操纵的深度强化学习 |
EP3566824B1 (en) * | 2018-05-11 | 2023-06-28 | Siemens Aktiengesellschaft | Method, apparatus, computer-readable storage media and a computer program for robotic programming |
US11554482B2 (en) * | 2020-07-16 | 2023-01-17 | Hitachi, Ltd. | Self-learning industrial robotic system |
-
2017
- 2017-09-14 CN CN201780067067.9A patent/CN109906132B/zh active Active
- 2017-09-14 CN CN202210871601.4A patent/CN115338859A/zh active Pending
- 2017-09-14 US US16/333,482 patent/US11400587B2/en active Active
- 2017-09-14 EP EP17772579.3A patent/EP3504034A1/en active Pending
- 2017-09-14 KR KR1020197009013A patent/KR102211012B1/ko active IP Right Grant
- 2017-09-14 JP JP2019514301A patent/JP6721785B2/ja active Active
- 2017-09-14 WO PCT/US2017/051646 patent/WO2018053187A1/en unknown
- 2017-09-15 DE DE202017105598.1U patent/DE202017105598U1/de active Active
-
2022
- 2022-08-01 US US17/878,186 patent/US11897133B2/en active Active
-
2023
- 2023-12-01 US US18/526,443 patent/US20240131695A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118114746A (zh) * | 2024-04-26 | 2024-05-31 | 南京邮电大学 | 基于贝尔曼误差的方差最小化强化学习机械臂训练加速方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018053187A1 (en) | 2018-03-22 |
JP2019529135A (ja) | 2019-10-17 |
CN109906132A (zh) | 2019-06-18 |
US11897133B2 (en) | 2024-02-13 |
KR20190040506A (ko) | 2019-04-18 |
KR102211012B1 (ko) | 2021-02-03 |
DE202017105598U1 (de) | 2018-05-24 |
JP6721785B2 (ja) | 2020-07-15 |
US20240131695A1 (en) | 2024-04-25 |
EP3504034A1 (en) | 2019-07-03 |
CN109906132B (zh) | 2022-08-09 |
US11400587B2 (en) | 2022-08-02 |
US20190232488A1 (en) | 2019-08-01 |
US20220388159A1 (en) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109906132B (zh) | 机器人操纵的深度强化学习 | |
EP3621773B1 (en) | Viewpoint invariant visual servoing of robot end effector using recurrent neural network | |
US20210237266A1 (en) | Deep reinforcement learning for robotic manipulation | |
JP6586532B2 (ja) | ロボットの把持のための深層機械学習方法および装置 | |
EP3914424A1 (en) | Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning | |
US11823048B1 (en) | Generating simulated training examples for training of machine learning model used for robot control | |
CN112135716B (zh) | 数据高效的分层强化学习 | |
US11790042B1 (en) | Mitigating reality gap through modification of simulated state data of robotic simulator | |
JP2023545109A (ja) | 仮想環境における複数のロボットのシミュレーション | |
US11685045B1 (en) | Asynchronous robotic control using most recently selected robotic action data | |
EP3900887A1 (en) | Robot collision detection using cascading variational autoencoder | |
WO2022192132A1 (en) | Controlling multiple simulated robots with a single robot controller | |
CN117863185A (zh) | 以高保真度模拟和高速低保真度模拟进行训练 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |