CN110799308B - 利用耐噪声结构化探索确定对于机器人的控制策略 - Google Patents

利用耐噪声结构化探索确定对于机器人的控制策略 Download PDF

Info

Publication number
CN110799308B
CN110799308B CN201880038417.3A CN201880038417A CN110799308B CN 110799308 B CN110799308 B CN 110799308B CN 201880038417 A CN201880038417 A CN 201880038417A CN 110799308 B CN110799308 B CN 110799308B
Authority
CN
China
Prior art keywords
robot
control strategy
matrix
structured
structured matrix
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
CN201880038417.3A
Other languages
English (en)
Other versions
CN110799308A (zh
Inventor
V.辛德瓦尼
A.伊森
K.M.克罗曼斯基
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN110799308A publication Critical patent/CN110799308A/zh
Application granted granted Critical
Publication of CN110799308B publication Critical patent/CN110799308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Feedback Control In General (AREA)

Abstract

方法、***和装置,包括编码在计算机存储介质上的计算机程序,用于通过执行机器人和现实世界环境的模拟来优化对于机器人的控制策略的确定,以确定控制策略参数。

Description

利用耐噪声结构化探索确定对于机器人的控制策略
相关申请的交叉引用
在美国,本申请要求于2017年9月22日提交的美国专利申请第62/562,286号的申请日和于2017年12月15日提交的美国专利申请第62/599,552号的申请日在35U.S.C.§119(e)下的权益,这两个专利申请通过引用结合于此。
技术领域
本说明书涉及确定对于机器人的控制策略,特别地涉及利用耐噪声结构化探索确定对于机器人的控制策略。
背景技术
本说明书涉及通过执行机器人和现实世界环境的模拟来优化对于机器人马达技能的控制策略参数和控制策略的确定,以确定控制策略参数的技术。
发明内容
本说明书描述了在物理模拟或渲染处理中有效确定对于物理或模拟机器人或者对于对象的控制参数的技术。
本说明书主题的一个新颖方面是用于确定对于机器人的控制策略的***、方法或计算机指令程序。该方法,例如,包括接收要由机器人执行的任务的目标函数f形式的规范(specification),其中f是控制策略的标量值目标函数,并且控制策略为机器人的每个状态s确定要由机器人执行的动作u,并且其中目标函数f表示机器人执行任务的程度;以及通过模拟机器人的操作来确定对于机器人执行任务的控制策略,以通过求解形式为
Figure GDA0002480554320000011
的优化问题来确定控制策略x*,其中
Figure GDA0002480554320000012
是在模拟机器人的操作期间遇到的控制策略的状态,并且其中求解优化问题包括使用有限差分过程估计目标函数f的梯度,以估计由平衡旋转器的行定义的扰动方向上的梯度,平衡旋转器是定义接近x的坐标系的旋转的旋转或线性变换的结构化矩阵。
本说明书主题的另一新颖方面是用于确定对于机器人的控制策略的***、方法或计算机指令程序。例如,该方法包括确定具有由动力学函数f定义的动力学的机器人的控制策略,其中xt+1=f(xt,ut)是机器人在机器人处于状态xt时接收控制输入ut之后,在时间t+1处的状态xt+1,控制策略的确定包括模拟机器人的操作以确定控制策略,包括求解具有表示任务的以下形式的成本函数的轨迹优化问题:
Figure GDA0002480554320000021
其中时间T是优化范围,并且ct和cT分别是逐阶段成本函数和终端成本函数,并且控制策略包括动作序列u0…uT-1,并且其中求解轨迹优化问题包括使用有限差分过程局部地(locally)线性化f以估计时间t处的f的雅可比数(Jacobians),包括在由平衡旋转器的行定义的扰动方向上估计时间t处的f,平衡旋转器是定义旋转或线性变换的结构化矩阵,该旋转或线性变换接近f在时间t处的坐标系的旋转。
本说明书中描述的主题可以在特定实施例中实施,以便实现以下优点中的一个或多个优点。技术可以很容易地***到成熟的优化程序中,包括用于通用非线性编程的求解器,该求解器可以处理难以明确地结合到现有的无模型强化学习方案中的复杂的约束。与使用坐标方向或随机高斯扰动、通过有限差分估计梯度的方案相比,使用由一系列结构化正交矩阵定义的参数扰动方向,本说明书中描述的结构化有限差分一致地给出了梯度和雅可比数的高质量近似。当本说明书中描述的技术用于线性化有噪声的黑盒动力学(blackbox dynamics)而不是标准有限差分时,像迭代线性二次调节器(iterativelinear–quadratic regulator,iLQR)和微分动态规划(Differential DynamicProgramming,DDP)这样的轨迹优化器要求较少的迭代来求解几个经典的连续控制任务。利用嵌入到准牛顿优化器——有限存储器Broyden-fletcher-Goldfarb-Shanno(LBFGS)中的、本说明书中描述的结构化探索,模拟能够学习成功地从模拟传递到实际硬件的、四足运动的灵活的行走和转弯策略。
使用结构化正交矩阵来定义参数变化方向可以得到对通常存在于许多连续控制任务中的噪声表现出鲁棒性的优化处理。结果,在与其他有限差分方案相比时,使用结构化正交矩阵的优化处理,诸如本文描述的平衡旋转器,可以得到更快的收敛。这可以减少用于优化对于机器人的控制策略所花费的时间(以及减少优化的计算成本)。反过来,这可以使能够在执行所述机器人的现实世界测试之前,虚拟地测试和检查更大范围的潜在设计的适用性。
附图说明
图1是示出用于机器人的模拟的模拟***的元件的框图。
图2是示出用于确定对于机器人的控制策略的示例方法的流程图。
图3是示出用于机器人的模拟的另一模拟***的元件的框图。
图4是示出用于确定对于机器人的控制策略的另一示例方法的流程图。
具体实施方式
图1是示出用于机器人的模拟的模拟***100的元件的框图。
用于机器人的模拟的模拟***102包括物理引擎104和3D渲染器106。机器人的模拟学习控制策略,并且通常学习可以被传递到现实世界的硬件机器人110的运动技能108。对于任何模拟,模拟***接收描述模拟世界中的模拟机器人和对象的描述数据112以及指定虚拟世界的参数114。
模拟由模拟优化变量
Figure GDA0002480554320000031
来指定(120),该模拟优化变量可能被约束为处于子集Ω中,指定例如约束条件。目标函数f是模拟期间遇到的内部状态x的标量值函数。每次在x处评估f时,评估返回f(x)+ε(x),其中ε(x)是噪声项。
图2是示出用于使用图1中所示种类的模拟***来确定对于机器人的控制策略的示例方法的流程图。该方法接收要由机器人执行的任务的目标函数f形式的规范(202)。目标函数f是控制策略的标量值目标函数,并且控制策略针对机器人的每个状态s确定要由机器人执行的动作u。目标函数f表示机器人执行任务的程度。该方法通过模拟机器人的操作来确定(204)对于机器人执行任务的控制策略,以通过求解形式为
Figure GDA0002480554320000032
的优化问题来确定控制策略x*。术语
Figure GDA0002480554320000033
是在模拟该机器人的操作期间遇到的控制策略的状态。求解优化问题包括使用有限差分过程估计目标函数f的梯度,以估计由平衡旋转器的行定义的扰动方向上的梯度(206)。平衡旋转器(spinner)是定义接近x的坐标系的旋转的旋转或线性变换的结构化矩阵。当控制策略已经由模拟确定时,该控制策略被传递到机器人(208)。
平衡旋转器可以被表征为(α,β)-平衡旋转器。对于0<α≤1和0<β≤1的(α,β)-平衡旋转器是可逆的矩阵
Figure GDA0002480554320000041
其下式为真:
(1)
Figure GDA0002480554320000042
且supi,j∈{1,..,n}|Mi,j|≤1;以及
(2)对于1≤i<j≤n的
Figure GDA0002480554320000043
其中
Figure GDA0002480554320000044
表示M的第i行。
为了定义梯度,更好的平衡旋转器由β≈1表征,其具有几乎正交的行。有利的平衡旋转器是(α,β)-平衡旋转器,其中α和β每个与1相差不超过约
Figure GDA0002480554320000045
的相应的量,其中k≈1是常数,并且n是x的维数,在这种情况下,结构化矩阵的行几乎正交,并且结构化矩阵定义接近x的坐标系的旋转的线性变换。另一有利的示例是(α,β)-平衡旋转器,其中α=1且β=1,并且结构化矩阵定义x的坐标系的旋转。
可在该方法中使用的(1,1)平衡旋转器的特定族包括阿达玛(Hadamard)矩阵和二次剩余矩阵。可以使用的(1,1)平衡旋转器的其他形式是MD形式,其中M是(1,1)平衡旋转器,且D是具有-1或+1的对角条目的对角线矩阵
Figure GDA0002480554320000046
其他形式还包括右乘具有-1或+1的对角条目的对角矩阵D的阿达玛矩阵。在一些实施方式中,在任一对角矩阵X中,对角矩阵的对角条目从集合{-1,+1}中随机独立地取得。
阿达玛矩阵是具有形式
Figure GDA0002480554320000047
的矩阵,其中B1=…=Bl∈{-1,+1}2×2,如果i≠1或j≠1则B1[i][j],B1[1][1]=-1,且
Figure GDA0002480554320000048
表示克罗内克(Kronecker)积。
二次剩余矩阵通过以下构造获得,其中p是形式为p=4t+3的素数,其中t是自然数。竞赛图(tournament)T被定义为没有多边的完全有向图。二次剩余竞赛图Tp是在p顶点{0,1,…,p-1}上的竞赛图,其中当且仅当i–j是模p的二次剩余,对于0≤i,j≤p–1,存在从i到j的边。然后,二次剩余竞赛图Tp的邻接矩阵Qp∈{-1,1}p×p是矩阵,使得对于i≠j,如果在Tp中存在从i到j的边,则Qp[i][j]=1,否则为-1,并且Qp[i][i]=1。
Figure GDA0002480554320000049
Figure GDA0002480554320000051
表示被如下定义的矩阵:如果i=0或j=0,则
Figure GDA0002480554320000052
否则
Figure GDA0002480554320000053
矩阵
Figure GDA0002480554320000054
是二次剩余矩阵。
在一些实施方式中,对于机器人的控制策略108是参数化的控制策略,并且x是矢量化版本的控制策略的参数。
在一些实施方式中,对于机器人的控制策略由神经网络模型的权重和偏差表示,并且确定控制策略包括训练神经网络以最小化目标函数f来学习控制策略。
在一些实施方式中,确定对于机器人的控制策略包括执行强化学习策略优化;并且其中f是模拟中预期回报的负值。
有利地,在一些实施方式中,估计目标函数f的梯度(206)包括通过使用快速沃尔什-阿达玛(Walsh-Hadamard)变换或快速傅立叶变换对结构化矩阵进行快速矩阵向量乘法来估计目标函数f的梯度。
在控制策略被传递到机器人之后,可以使得机器人在控制策略的控制下操作(210)。
图3是示出用于机器人的模拟的模拟***300的元件的框图。
用于机器人的模拟的模拟***302包括物理引擎304和3D渲染器306。机器人的模拟学习控制策略308,该控制策略308可以被传递到现实世界的硬件机器人310。对于任何模拟,模拟***接收描述模拟世界中的模拟机器人和对象的描述数据312以及指定虚拟世界的参数314。
由定义机器人的动力学的动力学函数f指定(320)模拟,机器人在机器人处于状态xt时接收控制输入ut之后,该动力学函数f在时间t+1处将xt+1=f(xt,ut)确定为下一状态xt+1。并且通过逐阶段(stage-wise)成本函数ct和终端成本函数cT
图4是示出用于使用图3中所示的种类的模拟***来确定对于机器人的控制策略的示例方法的流程图。该方法接收机器人的动力学函数的规范以及指定要由机器人执行的任务的成本函数(402)。确定控制策略包括模拟机器人的操作以确定控制策略(404),包括求解具有表示任务的以下形式的成本函数的轨迹优化问题:
Figure GDA0002480554320000055
这里,时间T是优化范围,并且ct和cT分别是逐阶段成本函数和终端成本函数,并且控制策略是或包括动作序列u0…uT-1。求解轨迹优化问题包括使用有限差分过程来局部地线性化动力学函数f,以估计在时间t处的f的雅可比数(Jacobians)。在由平衡旋转器的行定义的扰动方向上估计梯度(406)。平衡旋转器是定义旋转或线性变换的结构化矩阵,该旋转或线性变换接近f在时间t处的坐标系的旋转。
当控制策略已经由模拟确定时,其被传递到机器人(408)。
然后,可以使得机器人在控制策略的控制下操作(410)。
在一些实施方式中,对于机器人的控制策略308由神经网络模型的权重和偏差表示,并且确定控制策略包括训练神经网络以最小化学习控制策略的成本函数。
在一些实施方式中,在状态x和动作u处的f的评估返回f(x,u)+ε(x),其中ε(x)是噪声项。
有利地,在一些实施方式中,估计目标函数f的梯度(406)包括通过使用快速沃尔什-阿达玛变换或快速傅立叶变换对结构化矩阵进行快速矩阵向量乘法来估计目标函数f的梯度。
上述***和方法中的每一个都可以用于为各种现实世界机器人开发控制策略,这些机器人包括靠腿或车***作的自主车辆或飞行自主车辆。对于具有腿并执行行走和转弯动作的机器人,控制策略可以定义行走和转弯动作。具体地,对于能够执行自主四足运动的机器人,控制策略可以定义四足运动。类似地,对于作为靠车***作的车辆的机器人,控制策略可以定义由车辆执行的操纵,例如,其可以是停车操纵。在其他场景中,机器人是具有多个自由度,例如五个或更多个自由度的机械臂,并且控制策略定义机械臂的运动。在一些情况下,机械臂具有末端执行器,并且控制策略定义到目标位置的运动。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在包括本说明书中公开的结构及其结构等同物的计算机硬件中实施、或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形的非暂时性程序载体上的计算机程序指令的一个或多个模块,以用于由数据处理装置运行或控制数据处理装置的操作。可替换地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以编码信息,用于传输到合适的接收器装置以由数据处理装置运行。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行访问存储设备,或者它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”包括用于处理数据的各种装置、设备和机器,举例来说包括可编程处理器、计算机或多个处理器或计算机。装置可以包括专用逻辑电路,例如,FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application specificintegrated circuit,专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明或处理语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件***中的文件。程序可以存储在保存其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件(例如存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署为在位于一个站点或者跨多个站点分布并通过通信网络互连的一个或多个计算机上运行。
在本说明书中,术语“引擎”指的是提供与输入不同的输出的软件实施的输入/输出***。引擎可以是经编码的功能块,诸如库、平台、软件开发工具包(softwaredevelopment kit,“SDK”)或对象。每个引擎可以在任何适当类型的计算设备上实施,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或桌上型计算机、PDA、智能电话或包括一个或多个处理器和计算机可读介质的其他固定或便携式设备。另外,两个或多个引擎可以在相同的计算设备上实施,或者在不同的计算设备上实施。
在本说明书中描述的处理和逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路,例如FPGA(现场可编程逻辑阵列)和ASIC(专用集成电路)来执行,并且装置也可以实施为该专用逻辑电路,例如FPGA(现场可编程逻辑阵列)和ASIC(专用集成电路)。例如,处理和逻辑流程可以由图形处理单元(graphicsprocessing unit,GPU)来执行,并且装置也可以被实施为图形处理单元(GPU)。
适合于运行计算机程序的计算机举例来说包括通用或专用微处理器或两者、或者任何其他种类的中央处理单元,可以基于通用或专用微处理器或两者、或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者被可操作地耦合以从该一个或多个大容量存储设备接收数据或将数据传递到该一个或多个大容量存储设备或两者。然而,计算机不需要这样的设备。此外,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(personal digitalassistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GlobalPositioning System,GPS)接收器或便携式存储设备,例如通用串行总线(universalserial bus,USB)闪存驱动器,仅举几个示例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,举例来说包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入该专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,例如CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示器)监视器,以及用户可以通过其向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。其他种类的设备也可以用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式,包括声音、语音或触觉输入接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从该用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户客户端设备上的网络浏览器发送网页。
本说明书中描述的主题的实施例可以在计算***中实施,该计算***包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有用户可以通过其与本说明书中描述的主题的实施方式交互的图形用户界面或网络浏览器的客户端计算机;或者包括一个或多个这样的后端组件、中间件组件或前端组件的任意组合。***的组件可以通过任何形式或介质的数字数据通信互连,例如通信网络。通信网络的示例包括局域网(local area network,“LAN”)和广域网(wide area network,“WAN”),例如互联网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络交互。客户端和服务器的关系是通过在各自的计算机上运行的计算机程序产生的,并且彼此之间具有客户端-服务器关系。
虽然本说明书包含许多具体的实施细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,并且甚至最初被要求这样保护,但是在一些情况下,可以从该组合中删除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定次序描述了操作,但这不应被理解为要求以所示的特定次序或顺序执行这样的操作,或者要求执行所有所示的操作以获得实现期望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中各种***模块和组件的分离不应理解为在所有实施例中要求这种分离,并且应理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或者打包到多个软件产品中。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中叙述的动作可以以不同的次序执行,并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定次序或顺序来实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

Claims (44)

1.一种用于确定对于机器人的控制策略的方法,所述方法包括:
接收要由机器人执行的任务的目标函数f形式的规范,其中f是控制策略的标量值目标函数,并且所述控制策略为机器人的每个状态s确定要由机器人执行的动作u,并且其中所述目标函数f表示机器人执行任务的程度;以及
通过模拟机器人的操作来确定对于机器人执行任务的所述控制策略,以通过求解形式为
Figure FDA0003734953660000011
的优化问题来确定控制策略x*,其中
Figure FDA0003734953660000012
是在模拟机器人的操作期间遇到的所述控制策略的状态,并且其中求解所述优化问题包括使用有限差分过程来估计所述目标函数f的梯度,以估计由平衡旋转器的行定义的扰动方向上的梯度,平衡旋转器是定义接近x的坐标系的旋转的旋转或线性变换的结构化矩阵。
2.根据权利要求1所述的方法,其中对于所述机器人的控制策略是参数化的控制策略,并且所述x是矢量化版本的所述控制策略的参数。
3.根据权利要求1所述的方法,其中对于所述机器人的控制策略由神经网络模型的权重和偏差表示,所述方法还包括:
训练所述神经网络以最小化所述目标函数f来学习所述控制策略x*;
将所学习的控制策略x*传递给所述机器人;以及
使得所述机器人在所学习的控制策略x*的控制下操作。
4.根据权利要求1所述的方法,其中确定对于所述机器人的控制策略包括执行强化学习策略优化以学习所述控制策略x*,并且其中f是所述模拟中预期回报的负值,并且其中所述方法还包括:
将所学习的控制策略x*传递给机器人;以及
使得所述机器人在所学习的控制策略的控制下操作。
5.根据权利要求1所述的方法,其中所述优化问题的形式为
Figure FDA0003734953660000013
Figure FDA0003734953660000014
其中每个x和x*被约束在
Figure FDA0003734953660000015
的子集Ω中。
6.根据权利要求1所述的方法,其中,在求解所述优化问题时,在状态x处的f的评估返回f(x)+ε(x),其中ε(x)是噪声项。
7.根据权利要求1所述的方法,其中所述平衡旋转器是(α,β)-平衡旋转器,并且其中0<α≤1和0<β≤1。
8.根据权利要求7所述的方法,其中β≈1并且所述结构化矩阵的行几乎正交。
9.根据权利要求8所述的方法,其中α和β每个与1相差不超过约
Figure FDA0003734953660000021
的相应量,其中k≈1是常数,n是x的维数,由此所述结构化矩阵的行几乎正交,并且所述结构化矩阵定义接近x的坐标系的旋转的线性变换。
10.根据权利要求7所述的方法,其中α=1且β=1,并且所述结构化矩阵定义x的坐标系的旋转。
11.根据权利要求10所述的方法,其中所述结构化矩阵是二次剩余矩阵。
12.根据权利要求10所述的方法,其中所述结构化矩阵是阿达玛矩阵。
13.根据权利要求10所述的方法,其中所述结构化矩阵是MD形式的(1,1)-平衡旋转器,其中M是(1,1)-平衡旋转器,且D是具有-1或+1的对角条目的对角线矩阵
Figure FDA0003734953660000022
14.根据权利要求10所述的方法,其中所述结构化矩阵是右乘具有-1或+1的对角条目的对角矩阵的阿达玛矩阵。
15.根据权利要求13所述的方法,其中所述对角矩阵的对角条目从集合{-1,+1}中随机独立地获取。
16.根据权利要求15所述的方法,包括:
通过使用快速沃尔什-阿达玛变换FWHT或快速傅立叶变换FFT对所述结构化矩阵进行快速矩阵向量乘法来估计目标函数f的梯度。
17.一种用于确定对于机器人的控制策略的方法,所述方法包括:
确定具有由动力学函数f定义的动力学的机器人的控制策略,其中xt+1=f(xt,ut)是机器人在机器人处于状态xt时接收控制输入ut之后,在时间t+1处的状态xt+1
所述控制策略的确定包括模拟机器人的操作以确定所述控制策略,包括求解具有表示任务的以下形式的成本函数的轨迹优化问题:
Figure FDA0003734953660000023
其中时间T是优化范围,并且ct和cT分别是逐阶段成本函数和终端成本函数,并且所述控制策略包括动作序列u0…uT-1,并且
其中求解所述轨迹优化问题包括使用有限差分过程局部线性化f以估计时间t处的f的雅可比数,包括在由平衡旋转器的行定义的扰动方向上估计时间t处的f,平衡旋转器是定义旋转或线性变换的结构化矩阵,所述旋转或线性变换接近在时间t处的f的坐标系的旋转。
18.根据权利要求17所述的方法,包括:
将所学习的控制策略动作序列u0…uT-1传递给机器人;以及
使得机器人在所学习的控制策略的控制下操作。
19.根据权利要求17所述的方法,包括:
使用微分动态规划DDP或迭代线性二次调节器iLQR方法求解所述轨迹优化问题,在所述方法中有限差分近似的扰动方向由平衡旋转器矩阵的行在计算时间t处的函数f的梯度时确定。
20.根据权利要求17所述的方法,其中对于所述机器人的控制策略由神经网络模型的权重和偏差表示,所述方法还包括:
训练所述神经网络以最小化所述成本函数来学习所述控制策略。
21.根据权利要求17所述的方法,其中,在求解所述轨迹优化问题时,在状态x和动作u处的f的评估返回f(x,u)+ε(x),其中ε(x)是噪声项。
22.根据权利要求17所述的方法,其中所述平衡旋转器是(α,β)-平衡旋转器,并且其中0<α≤1和0<β≤1。
23.根据权利要求22所述的方法,其中β≈1并且所述结构化矩阵的行几乎正交。
24.根据权利要求23所述的方法,其中α和β每个与1相差不超过约
Figure FDA0003734953660000031
的相应量,其中k≈1是常数,n是x的维数,由此所述结构化矩阵的行几乎正交,并且所述结构化矩阵定义接近x的坐标系的旋转的线性变换。
25.根据权利要求23所述的方法,其中α=1且β=1,并且所述结构化矩阵定义x的坐标系的旋转。
26.根据权利要求25所述的方法,其中所述结构化矩阵是二次剩余矩阵。
27.根据权利要求25所述的方法,其中所述结构化矩阵是阿达玛矩阵。
28.根据权利要求25所述的方法,其中所述结构化矩阵是MD形式的(1,1)-平衡旋转器,其中M是(1,1)-平衡旋转器,且D是具有-1或+1的对角条目的对角线矩阵
Figure FDA0003734953660000032
29.根据权利要求25所述的方法,其中所述结构化矩阵是右乘具有-1或+1的对角条目的对角矩阵的阿达玛矩阵。
30.根据权利要求28所述的方法,其中所述对角矩阵的对角条目从集合{-1,+1}中随机独立地获得。
31.根据权利要求30所述的方法,包括:
通过使用快速沃尔什-阿达玛变换FWHT或快速傅立叶变换FFT对所述结构化矩阵进行快速矩阵向量乘法来估计目标函数f的梯度。
32.根据权利要求1或17所述的方法,其中所述机器人是靠腿或车***作的自主车辆、或飞行自主车辆。
33.根据权利要求32所述的方法,其中所述机器人是自主车辆。
34.根据权利要求32所述的方法,其中:
所述机器人具有腿并且可操作以执行行走和转弯动作;并且
所述控制策略定义行走和转弯动作。
35.根据权利要求34所述的方法,其中:
所述机器人可操作以执行自主四足运动;并且
所述控制策略定义四足运动。
36.根据权利要求32所述的方法,其中:
所述机器人是靠车***作的车辆;并且
所述控制策略定义由所述车辆执行的操纵。
37.根据权利要求36所述的方法,其中所述机器人是自主驾驶汽车。
38.根据权利要求36所述的方法,其中所述操纵是停车操纵。
39.根据权利要求32所述的方法,其中:
所述机器人是飞行自主车辆。
40.根据权利要求1或17所述的方法,其中:
所述机器人是具有多个自由度的机械臂;并且
所述控制策略定义所述机械臂的运动。
41.根据权利要求40所述的方法,其中所述多个自由度是五个或更多个自由度。
42.根据权利要求40所述的方法,其中:
所述机械臂具有末端执行器;并且
所述控制策略定义到目标位置的运动。
43.一种用指令编码的计算机存储介质,所述指令在由一个或多个计算机运行时,使得所述一个或多个计算机实施***以执行根据权利要求1至42中任一项所述的求解方法。
44.一种***,包括:
一个或多个计算机以及其上存储指令的一个或多个存储设备,所述指令在被所述一个或多个计算机运行时,可操作以使得所述一个或多个计算机执行包括根据权利要求1至42中任一项所述的求解方法的方法。
CN201880038417.3A 2017-09-22 2018-09-21 利用耐噪声结构化探索确定对于机器人的控制策略 Active CN110799308B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762562286P 2017-09-22 2017-09-22
US62/562,286 2017-09-22
US201762599552P 2017-12-15 2017-12-15
US62/599,552 2017-12-15
PCT/US2018/052226 WO2019060730A1 (en) 2017-09-22 2018-09-21 DETERMINING CONTROL POLICIES FOR ROBOTS WITH STRUCTURED EXPLORATION TOLERANT TO NOISE

Publications (2)

Publication Number Publication Date
CN110799308A CN110799308A (zh) 2020-02-14
CN110799308B true CN110799308B (zh) 2022-09-27

Family

ID=63794735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880038417.3A Active CN110799308B (zh) 2017-09-22 2018-09-21 利用耐噪声结构化探索确定对于机器人的控制策略

Country Status (4)

Country Link
US (1) US11697205B2 (zh)
EP (1) EP3612356B1 (zh)
CN (1) CN110799308B (zh)
WO (1) WO2019060730A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3622439B1 (en) * 2017-09-15 2022-08-03 Google LLC Improvements related to generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
US11226621B2 (en) * 2018-02-14 2022-01-18 Teradyne, Inc. Method for optimization of robotic transportation systems
US11975451B2 (en) * 2021-03-27 2024-05-07 Mitsubishi Electric Research Laboratories, Inc. Simulation-in-the-loop tuning of robot parameters for system modeling and control
CN114415618B (zh) * 2021-11-08 2023-09-29 中国民航大学 载人机器人运动敏捷性评价方法和评价装置
CN116736748A (zh) * 2022-03-01 2023-09-12 腾讯科技(深圳)有限公司 构建机器人的控制器的方法和机器人

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103240739A (zh) * 2013-05-07 2013-08-14 武汉科技大学 一种移动机械臂分散集中自主切换控制方法
CN105252180A (zh) * 2015-11-18 2016-01-20 扬州新联汽车零部件有限公司 一种可重构的自动化柔性焊装生产平台及其运转方法
CN106625610A (zh) * 2017-02-23 2017-05-10 哈尔滨工业大学 侧立式交叉杆型并联机构六自由度航天器运动仿真平台
CN106737673A (zh) * 2016-12-23 2017-05-31 浙江大学 一种基于深度学习的端到端的机械臂控制的方法
CN106886155A (zh) * 2017-04-28 2017-06-23 齐鲁工业大学 一种基于pso‑pd神经网络的四足机器人运动轨迹控制方法
CN107020636A (zh) * 2017-05-09 2017-08-08 重庆大学 一种基于策略梯度的机器人学习控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103240739A (zh) * 2013-05-07 2013-08-14 武汉科技大学 一种移动机械臂分散集中自主切换控制方法
CN105252180A (zh) * 2015-11-18 2016-01-20 扬州新联汽车零部件有限公司 一种可重构的自动化柔性焊装生产平台及其运转方法
CN106737673A (zh) * 2016-12-23 2017-05-31 浙江大学 一种基于深度学习的端到端的机械臂控制的方法
CN106625610A (zh) * 2017-02-23 2017-05-10 哈尔滨工业大学 侧立式交叉杆型并联机构六自由度航天器运动仿真平台
CN106886155A (zh) * 2017-04-28 2017-06-23 齐鲁工业大学 一种基于pso‑pd神经网络的四足机器人运动轨迹控制方法
CN107020636A (zh) * 2017-05-09 2017-08-08 重庆大学 一种基于策略梯度的机器人学习控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Sequential operator splitting for constrained nonlinear optimal control";SINDHWANI VIKAS ET AL;《2017 AMERICAN CONTROL CONFERENCE(ACC) AACC》;20170524;第4864-4871页 *

Also Published As

Publication number Publication date
WO2019060730A1 (en) 2019-03-28
EP3612356A1 (en) 2020-02-26
EP3612356B1 (en) 2021-06-16
CN110799308A (zh) 2020-02-14
US20200276704A1 (en) 2020-09-03
US11697205B2 (en) 2023-07-11

Similar Documents

Publication Publication Date Title
CN110799308B (zh) 利用耐噪声结构化探索确定对于机器人的控制策略
US11886997B2 (en) Training action selection neural networks using apprenticeship
CN109643383B (zh) 域分离神经网络
US11741334B2 (en) Data-efficient reinforcement learning for continuous control tasks
US20210049467A1 (en) Graph neural networks representing physical systems
US10860927B2 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
CN110114784B (zh) 递归环境预测器及其方法
CN110546653B (zh) 使用管理者和工作者神经网络的用于强化学习的动作选择
CN111602144A (zh) 生成指令序列以控制执行任务的代理的生成神经网络***
EP3707645A1 (en) Neural network systems implementing conditional neural processes for efficient learning
US20210158162A1 (en) Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
US20220366246A1 (en) Controlling agents using causally correct environment models
CN110622174A (zh) 基于想象的智能体神经网络
CN114341895A (zh) 使用超模型的探索
CN115066686A (zh) 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划
US20240189994A1 (en) Real-world robot control using transformer neural networks
US20230124261A1 (en) Generating spatial embeddings by integrating agent motion and optimizing a predictive objective

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
GR01 Patent grant
GR01 Patent grant