24年5月来自CMU和Mistral AI的论文“Plan-Seq-Learn: Language model guided RL for solving long horizon robotics tasks”。
大语言模型 (LLM) 已被证明能够执行长范围机器人任务的高级规划,但现有方法需要访问预定义的技能库(例如拾取、放置、拉动、推动、导航)。但是,LLM 规划并未解决如何设计或学习这些行为的问题,这在长范围设置中仍然具有挑战性。此外,对于许多感兴趣的任务,机器人需要能够以细粒度的方式调整其行为,这要求智体能够修改低级控制动作。能否改用 LLM 中的互联网规模知识来制定高级策略,指导强化学习 (RL) 策略在线有效地解决机器人控制任务,而无需预先确定的技能集?本文提出
Plan-Seq-Learn (PSL)
:一种模块化方法,它使用运动规划来弥合抽象语言和学习的低级控制之间的差距,以便从头开始解决长期机器人任务。PSL 在 25 多个具有挑战性的机器人任务(最多 10 个阶段)上取得了最佳成果。PSL 解决了来自原始视觉输入的长范围任务,涵盖四个基准,成功率超过 85%,优于基于语言、经典和端到端的方法。
近年来,随着大语言模型 (LLM) 的出现,机器人学习领域发生了重大转变,LLM 成为将互联网规模的知识注入机器人技术的机制。一种特别有效的范例,是针对预定义的一组技能进行 LLM 规划(Ahn,2022;Singh,2023;Huang,2022b;Wu,2023),在广泛的机器人任务中产生了强大的效果。这些工作假设存在一个预定义的技能库,该库抽象了机器人控制问题。这样转而专注于设计方法来选择正确的序列技能来解决给定的任务。然而,对于涉及接触丰富的机器人操作任务(如图所示),这些技能通常是不可用的,需要大量的工程工作来设计或先验训练,或者根本没有表现足够来解决任务。如何才能超越预构建的技能库,并以尽可能少的假设将语言模型应用于通用机器人任务?
机器人系统需要能够在线改进低级控制策略,同时能够进行长远规划。
端到端强化学习 (RL) ,是一种可以在机器人上以最少的假设产生复杂低级控制策略的范式(Akkaya,2019;
Herzog,2023;
Handa,2022;
Kalashnikov,2018;
2021;
Chen,2022;
Agarwal,2023)。
与分层方法不同,分层方法对智体施加特定结构(可能不适用于所有任务),而端到端学习方法原则上可以直接从数据中学习更好的表示。
然而,由于 RL 中的探索具有重大挑战,尤其是在机器人任务特有的高维连续动作空间中,因此 RL 方法传统上仅限于短范围领域。
RL 方法难以处理较长时范围的任务,因为这些任务必须同时学习高级推理和低级控制;
有效地将任务分解为子序列并准确实现它们通常具有挑战性(Sutton,1999;
Parr & Russell,1997)。
主要见解是 LLM 和 RL 具有互补的优势和劣势。先前的研究(Ahn,2022;Huang,2022a;Wu,2023;Singh,2023;Song,2023)表明,在得到适当提示后,
语言模型
能够利用互联网规模的知识将长期任务分解为可实现的子目标,但缺乏产生低级机器人控制策略的机制(Wang,2023),而
RL
可以发现机器人的复杂控制行为,但难以同时进行长范围推理(Nachum,2018)。但是,直接结合这两种范式(例如,通过训练语言条件策略来解决新任务)并不能解决探索问题。RL 智体现在必须同时学习语言语义和低级控制。理想情况下,RL 智体应该能够遵循 LLM 的指导,使其能够学习有效地在线解决每个预测的子任务。
如何将 LLM 的抽象语言空间与 RL 智体的低级控制空间联系起来,解决长期机器人控制问题?
这项工作提出了一种学习方法 PSL,用运动规划和学习的低级控制来跟踪语言模型规划,解决长范围机器人任务。
需要的是,一个能够弥合零样本语言模型规划和学习的低级控制之间差距的模块。许多感兴趣的任务可以分解为无接触运动和接触丰富交互的交替阶段。首先接近目标区域,然后执行交互行为,然后再移动到下一个子任务。无接触运动生成正是运动规划问题。为了估计目标区域的位置,最先进的视觉模型能够进行准确的语言条件状态估计(Kirillov,2023;Zhou,2022;Liu,2023b;Bahl,2023;Ye,2023;Labbe,2022)。因此,提出一个排序模块,它使用现成的视觉模型从语言规划中估计目标机器人状态,然后使用运动规划器实现这些状态。从这些状态开始,训练使用 RL 优化任务奖励的交互策略。如图所示:PSL 使用 LLM 将任务分解为一个区域清单和阶段终止条件(顶部),使用运动规划对规划进行排序(左),并使用 RL 学习控制策略(右)。
如下算法伪代码:
长期任务可以分解为一系列阶段来执行。
不是使用交互或可能需要有关环境特别信息的任务规划器 (Fikes & Nilsson 1971) 来发现这些阶段,而是使用语言模型在不访问环境的情况下生成自然语言规划。
具体来说,给定人类给出的任务描述,会提示 LLM 制定规划。
设计规划的粒度和范围至关重要;
需要可以由排序模块解释的规划,排序模块是一种基于视觉的系统,它使用运动规划来生成和实现机器人姿势。
因此,LLM 预测目标区域(场景中物体/容器的自然语言标签,例如“银钉”),该区域可以转换为在规划的每个阶段开始时要实现的目标姿势。
当 RL 策略正在执行规划的某个步骤时,添加阶段终止条件(例如抓取、放置、转动、打开、推动)以了解阶段是否完成并进入下一阶段。此条件定义为函数 fstage(Oglobal),该函数接收对环境的当前观察并评估二元成功标准以及用于提示 LLM 条件的自然语言描述符(例如“抓取”或“放置”)。这些阶段终止条件,是使用视觉姿势估计来决定。
LLM 提示由任务描述 gl、支持的阶段终止条件列表(本文在所有环境中保持不变)和用于输出格式的其他提示字符串组成。将语言规划格式化如下:(“区域 1”,“终止条件 1”),...(“区域 N”,“终止条件 N”),假设 LLM 预测 N 个阶段。给出提示后,LLM 会以上面列出的格式输出自然语言规划。
给定一个高级语言规划,希望逐步执行该规划并启用学习的 RL 策略来解决任务,使用现成的视觉为运动规划系统生成目标姿势。在高级规划的 X 阶段,排序模块采用相应的步骤高级规划(“区域 Y”、“终止条件 Z”)以及场景的当前全局观察 Oglobal(覆盖整个场景的 RGB-D 视图),预测目标机器人姿势 qtarget,然后使用运动规划达到机器人姿势。
视觉和估计
:使用来自高级规划和观察 Oglobal 的目标感兴趣区域的文本标签,需要计算运动规划器要实现的目标机器人状态 qtarget。原则上,可以训练一个 RL 策略来解决这个任务(学习一个策略 πv 将 Oglobal 映射到 qtarget),给定环境奖励函数。然而,观察到目标区域的 3D 位置,是这个任务的最佳策略 πv∗ 的合理估计:直观地说,希望将机器人初始化到感兴趣区域附近,以便它可以有效地学习交互。因此,可以利用视觉模型来估计目标区域的 3D 坐标,绕过学习此步骤的策略。选择使用 SAM(Kirillov 2023)来执行分割,因为它能够识别各种各样的物体,并使用校准的深度图像来估计目标区域的坐标。将估计的区域姿势转换为目标机器人姿势 qtarget,以便使用逆运动学进行运动规划。
运动规划
:给定机器人的起始配置 q0 和机器人目标配置 qtarget,运动规划模块旨在找到在 q0 和 qtarget 之间形成无碰撞路径的路径点 τ 轨迹。例如,对于操作任务,q 表示机器人手臂的关节角度。可以使用运动规划直接解决这个问题,例如基于搜索的规划 (Cohen 2010 )、基于采样的规划 (Kuffner Jr. & LaValle 2000)或轨迹优化 (Schulman 2013)。在实施中,用基于采样的规划器 AIT* (Strub & Gammell 2020),因为它的设置要求最低(仅碰撞检查)并且规划性能良好。