当前位置:   article > 正文

RoBoGEN: 生成式仿真为自动机器人学习释放无限数据_生成机器人 模拟数据

生成机器人 模拟数据

23年11月来自CMU、清华、MIT和麻省大学的论文“RoboGen: Towards Unleashing Infinite Data for Automated Robot Learning via Generative Simulation“。

RoboGen,一种生成式机器人智体,通过生成式模拟规模地自动学习各种机器人技能。RoboGen利用了基础模型和生成模型的最新进展。不是直接使用或调整这些模型来产生策略或低级别的行动,而是生成式方案,其用这些模型来自动生成多样任务、场景和训练监督,从而在最少的人工监督下扩大机器人技能学习。

该方法为机器人智体提供了一个自引导的“建议-生成-学习”循环:智体首先提出要开发的交互任务和技能,然后通过适当的空间配置填充相关目标和资产,生成相应的模拟环境。然后,智体将所提出的高级任务分解为子任务,选择最优学习方法(强化学习、运动规划或轨迹优化),生成所需的训练监督,然后学习策略获得所提出的技能。其试图提取嵌入大规模模型中的广泛通用知识,并将其迁移到机器人领域。全生成式的流水线可以重复查询,产生与不同任务和环境相源源不断的技能演示。

生成模拟的范式,将模拟机器人技能学习的进步与基础模型和生成模型的最新进展相结合。生成式模拟利用最先进的基础模型生成能力,旨在为模拟中各种机器人技能学习所需的所有阶段生成信息:从高级任务和技能建议,到任务相关的场景描述、资产选择和生成、策略学习选择和训练监督。得益于最新基础模型中编码的全面知识,以这种方式生成的场景和任务数据有可能与现实世界场景的分布非常相似。此外,这些模型可以进一步提供分解的低级别子任务,这些子任务可以通过特定域的策略学习方法无缝处理,从而为各种技能和场景生成闭环演示。

如图所示:RoboGEN包括四个步骤,任务提议、场景生成、训练监督生成和技能学习。

添加图片注释,不超过 140 字(可选)

作者用GPT-4(OpenAI,2023)作为LLM进行查询,但一旦有了更好的模型,就可以升级这个后端。下文中在机械臂(例如,Franka)的背景下解释RoboGen的细节,以及使用基于目标初始化生成与目标操作相关的任务。在这种情况下,用于初始化的目标从预先定义的列表中采样,该列表包括家庭场景中常见的铰接和非铰接目标,如烤箱、微波炉、分配器、笔记本电脑、洗碗机等,这些目标是从PartNetMobility(Xiang,2020)和RLBench(James,2020)中提取的。像GPT-4这样的LLM在互联网规模数据集上受过训练,对这些目标的启示(affordance)、如何与它们交互的知识以及它们可以与什么样有意义的任务相关联有着丰富的理解。为了生成涉及机器人对铰接目标的交互和操作任务,构建一个查询,该查询包括铰接目标所属的广泛类别、从URDF文件导出的铰接树,以及一个提供目标链接注释的语义文件,例如,哪个链接对应于微波炉中的门。此信息由PartNetMobility数据集提供。铰接目标的类别告知的是,可以用这类目标执行哪些一般类型的任务,铰接树和语义文件告知的是,GPT-4目标可以如何精确铰接,以及每个关节和链接的语义。该查询要求GPT-4返回可以对采样目标执行的多个任务,其中每个任务由任务名称、任务的简短描述组成,除了所提供的铰接目标之外,是否还有任何其他目标需要该任务,以及机器人需要与铰接目标的哪些关节/链接进行交互才能完成任务。此外,在GPT-4的查询中包括了一个示例输入输出对,执行上下文学习,从而提高其响应的质量。

给定一个提议的任务,继续生成相应的模拟场景,用于学习完成任务的技能。场景组件和配置是以任务描述为条件生成的,并且检索或生成目标资产,随后填充模拟场景。具体而言,场景组件和配置由以下元素组成:对要填充到场景中的相关资源查询、它们的物理参数(如大小)、配置(如初始关节角度)以及资源的总体空间配置。

为了获得解决提议任务的技能,需要对技能学习进行监督。为了便于学习过程,RoboGen首先查询GPT-4,规划划并将生成的任务(可以是长期任务)分解为短期子任务。关键假设是,当任务被分解为足够短的时间段子任务时,每个子任务都可以通过现有算法可靠地求解,如强化学习(Schulman et al.,2017;Haarnoja et al.,2018)、运动规划(Karaman&Frazzoli,2011)或轨迹优化(Kalakrishnan et al.,2011)。分解后,RoboGen查询GPT-4,选择合适的算法来解决每个子任务。RoboGen中集成了三种不同类型的学习算法:强化学习、进化策略、基于梯度的轨迹优化和带有运动规划的动作原语。其中每一个都适用于不同的任务,例如,基于梯度的轨迹优化更适合于学习涉及软体的细粒度操作任务,例如将面团成型为目标形状(Xu,2023;Lin,2022a);与运动规划相结合的动作基元在解决任务时更可靠,例如经由无碰撞路径接近目标目标;强化学习和进化策略更适合接触丰富且涉及与其他场景组件的连续交互任务,例如腿的运动,或者所需动作不能通过离散的末端执行器姿势简单地参数化,例如转动烤箱的旋钮。

一旦获得了所提议任务的所有必要信息,包括场景组件和配置、任务分解以及分解子任务的训练监督,就能够在模拟中为机器人构建场景,学习完成任务所需的技能。

如上所述,我们将各种技术组合用于技能学习,包括强化学习、进化策略、基于梯度的轨迹优化和带有运动规划的动作原语,因为每种技术都适用于不同类型的任务。对于目标操作任务,用SAC(Haarnoja et al.,2018)作为学习该技能的RL算法。观察空间是任务中目标和机器人的低级状态。RL策略的动作空间包括机器人末端执行器的增量平移或目标位置(由GPT-4确定)及其增量旋转。用开放运动规划库(OMPL)(Sucan et al.,2012)中实现的BIT*(Gammell et al.,2015)作为动作原语的底层运动规划算法。对于涉及多个子任务的长期任务,采用一种顺序地学习每个子任务的简单方案:对于每个子任务,运行RL N=8次,并用奖励最高的结束状态作为下一个子任务的初始状态。对于运动任务,交叉熵方法CEM(De Boer et al.,2005)用于技能学习,发现它比RL更稳定、更有效。真值模拟器被用作CEM中的动态模型,需要优化的动作是机器人的关节角度值。对于柔体操纵任务,与Adam(Kingma&Ba,2014)一起运行基于梯度的轨迹优化来学习该技能,其中梯度由全可微分模拟器提供。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号