图 1:激励示例。我们介绍了 Vocal Sandbox,这是一个人机协作框架,使机器人能够在特定交互中适应并持续学习。在此示例中,用户为定格动画的每一帧安排单个 LEGO 结构 [底部],而机械臂控制摄像机。用户通过语言和演示等反馈方式教导机器人新行为 [左侧]。机器人在线学习,随着协作的进行逐步扩展至更复杂的任务 [右侧]。
关键词:持续学习,多模态教学,人机交互
1 引言
有效的人机协作需要系统能够与人类无缝协作并从人类中学习 [1-3]。这在共享空间并协同完成复杂目标的情境互动中尤为重要 [4-7]。在这种环境中,机器人需要通过多样的反馈持续适应并在线学习新的概念。然而,现有研究 [8-15] 在教学和泛化的类型上仍然有限。例如,许多系统使用语言模型将用户语句映射到静态、预定义的技能序列库中 [16-18]。这些系统可能在计划层次上具备泛化能力,但在执行新低级技能时则容易失败——无论技能多么简单(例如,“保持静止”)。因此,我们认为情境化人机协作需要在多个抽象层次上的学习与适应,以便在互动过程中赋能协作者不断教授新的高级计划行为和低级技能。
基于这一认识,我们提出了Vocal Sandbox,这是一个情境化人机协作框架,使用户能够通过多种方式进行教学,如语音对话、物体关键点和体感演示。该框架中的系统包含一个语言模型(LM)规划器 [19],用于将用户的语句映射到高级行为序列,并包含一组低级技能以将每个行为与机器人的动作相对应。关键在于,我们设计了轻量化且可解释的学习算法,能够实时整合用户的教学反馈,从而动态扩展系统的能力。假设用户与机器人协作拍摄乐高定格动画(图1)。用户作为动画师,调整乐高人偶和结构来设置每个关键帧(图1底部),而机器人则负责精确的摄像运动(例如,平滑跟踪并放大角色)。在互动初期,用户提出:“可以拍一个绕着绿巨人的跟踪镜头吗?” LM尝试生成计划,但失败了——“跟踪”还不是已知概念。机器人表达其失败并交由用户决定接下来的步骤。借助我们的框架,用户选择通过体感演示明确教授机器人如何“跟踪”。利用这个单一示例作为监督(图1左侧),系统立即参数化一个新技能(即 βtrack),并合成对应的行为(即 track(loc: Location))。之后(图1右侧),当用户指示机器人“推进到洛基并绕塔跟踪”时,机器人可以立刻利用所学生成完整任务计划(zoom_in(Loki); track(Tower)),并通过定制界面显示运动轨迹的可视化(详见 §3.3)。在用户确认后,机器人在真实环境中执行,完成所需的拍摄。
我们通过系统剥离实验和长时间的用户研究评估了Vocal Sandbox。在第一个场景中,非专业参与者与Franka Emika固定臂操控器合作完成礼品袋组装任务;我们对8名用户进行了组内研究,总计23小时的机器人交互时间,比较了Vocal Sandbox系统与两个基线系统:一个不具备高低层次学习的静态版本 [8],以及一个仅限于高级语言教学的变体。结果显示,我们的框架使用户能够教授17种新高级行为和平均16种新低级技能,比基线快22.1%,自动化表现更复杂(+19.7%),失败率更低(-67.1%);在质性分析中,参与者对我们的系统在易用性(+20.6%)、帮助性(+10.8%)和总体表现(+13.9%)方面的偏好均显著高于基线。我们随后将其扩展到一个更高要求的场景,由一位有经验的系统用户(本文作者之一)与机器人协作拍摄定格动画(图1);在两小时的连续协作中,用户逐步教授更复杂的概念,构建了丰富的技能和行为库,最终制作了一段52秒(232帧)的影片。
2 Vocal Sandbox:用于持续学习与适应的框架
Vocal Sandbox的特点在于其语言模型规划器,将用户的语句映射为高级行为序列,以及一系列将行为与机器人动作对应的技能策略(图2)。本节中,我们首先形式化地介绍规划 (§2.1) 和技能执行 (§2.2),然后展示我们在多样反馈模式下教授新行为的贡献 (§2.3)。
图 2:使用语言模型进行规划与教学。我们使用语言模型解析用户的语句,生成可执行程序形式的计划,其中包含由 API 定义的函数和参数 [左侧]。在成功解析后,我们在定制的 GUI 上可视化该计划和机器人预期行为的可解释跟踪(§3.3)。在解析失败的情况下,我们从用户处获取教学反馈,以合成新的函数和参数(§2.3)。
2.1 使用语言模型进行高级规划
需要注意的是,语言模型有时可能无法生成有效的计划——例如,对于API中不存在的行为描述的语句(例如,“你能用三颗糖果装一个礼品袋吗”)。在这种情况下,我们会触发异常,并依赖语言模型的常识理解生成一个有帮助的错误提示(例如,“我不确定如何进行包装;你能教我吗?”)。这些异常(以及成功生成的计划)会通过自定义图形界面(GUI; §3.3)显示给用户,以帮助确定下一步操作。
2.2 用于动作执行的低级技能
在本研究中,我们使用了三类不同的技能策略:手工编码的原语(如 GO_HOME 或 GRASP)、基于视觉关键点的策略(通过自然语言物体描述确定末端执行器的姿态)和动态运动原语 (§3.2)。请注意,我们的方案允许任意策略类别,包括学习的闭环控制策略 [20–22]。
2.3 通过程序合成进行教学
参数教学与函数教学的结合增强了框架的表达能力和实时适应性;通过为交互中学习和合成新的 API 规范定义轻量化算法,我们为用户提供了一种可靠的方法,以便在协作过程中扩展并推理机器人的能力。
3 实现与设计决策
虽然我们将 Vocal Sandbox 介绍为一个通用的学习框架,本节提供了与我们实验特定场景相关的实现细节。值得注意的是,我们的第一个实验场景是一个协作的礼品袋组装任务(§4.1),其中非专业用户与机器人合作,使用一组已知物品组装礼品袋(见图2)。我们的第二个实验场景(§4.2)将一位有经验的系统用户(本文作者之一)与机器人配对,完成乐高定格动画拍摄任务(见图1)。在所有场景中,我们使用配备 Robotiq 2F-85 夹持器的 Franka Emika Panda 机械臂,遵循 DROID [26] 规范;我们还假设可以访问一个具有已知内参和外参的俯视 ZED 2 RGB-D 摄像头,用于获取点云。
图 3:协作礼品袋装配。在此示例中,一名研究参与者(§4.1)口头请求机器人“将玩具车放进礼品袋”,使用新教授的“打包”行为来减少其监督时间 [左侧]。当机器人无法在图像中定位“车”时,用户通过点击互动 GUI 进行纠正,生成一个关键点标签,从而教授新的参数并为对应技能建立定位 [右侧]。
3.1 用于高级规划的语言模型
3.2 用于物体操作和动态运动的技能策略
3.3 用于透明性和干预的结构化图形用户界面
最后,我们设计了一个图形用户界面(GUI;见图5),为用户提供系统状态的透明性并支持教学。假设用户发出“将糖果装进包里”的指令,而失败模式下机器人错误地包装了其他物体(如球)。在没有额外信息的情况下,用户难以判断该失败是否源于 LM 规划器(如生成错误的计划 pack(ball))或技能策略的错误(如错误地在球上预测关键点而非糖果)。GUI 通过明确可视化计划及每个技能生成的可解释痕迹(如预测的关键点和分割掩码,或 DMP 生成的机器人预期路径)来解决这一困惑——这些可解释痕迹也作为获取教学反馈的接口(如通过“点击”指定关键点)。GUI 还提供了以下功能:1)用户语句的转录,2)当前模式(如正常执行、教学等),以及3)先前的交互历史。
4 实验
我们通过两个实验场景评估了 Vocal Sandbox 系统的可用性、适应性和有效性:1)真实环境下的人体实验,包含8名无经验参与者进行的协作礼品袋组装任务(§4.1),以及2)更复杂的场景中,由一名有经验的系统用户(本文作者之一)与机器人一起拍摄定格动画(§4.2)。所有研究均获得了伦理委员会(IRB)的批准,所有参与者均提供了知情同意。
4.1 用户研究:协作礼品袋组装
在此研究中,参与者与机器人协作,使用一组固定的物品(糖果、Play-Doh和玩具车),以及一张手写卡片(从96字的脚本中转录),来组装四个礼品袋。该任务重复且耗时,旨在研究用户如何教导机器人最大程度上帮助其并行工作,以减少用户的监督时间。
参与者和流程。我们进行了包含8名非专业用户(3名女性/5名男性,平均年龄25.2±1.22)的组内研究。每位用户使用三种不同的系统来组装四个袋子,方法的顺序在用户间随机分配。在与机器人互动之前,我们向用户提供了一张描述机器人能力的说明(即基础API功能)和教学接口的使用指南(如适用)。在开始组装礼品袋任务之前,用户被允许在不相关的任务上练习每种方法,即将(不同的)物体从桌子上扔进垃圾桶。
自变量 – 机器人控制方法。我们将完整的 Vocal Sandbox 系统(VS)与两个基线系统进行比较。第一个基线 VS - (Low, High) 是 Vocal Sandbox 的静态版本,去除了低级技能教学和高级计划教学,反映了如 MOSAIC [8] 等假设固定技能库和语言模型规划器具有基础 API 的先前工作。我们的第二个基线 VS - Low 去除了低级技能教学,但允许教授新的高级行为。
因变量。我们考虑了以下客观指标:监督机器人所需时间、语音指令数量、每条指令执行的低级技能数量(行为复杂性),以及高级和低级的教学交互次数。直观上,我们预计能够从用户反馈中学习高级行为的方法所需的主动监督时间更少,并生成比使用静态(简单)规划器更复杂的行为;同样,我们预计允许教授新低级技能的方法能减少低级技能执行错误次数。除客观指标外,我们还要求用户在使用每种方法后填写定性调查表,描述他们的体验并对每种方法进行排名。
图 4:用户研究量化结果。我们展示了机器人监督时间 [左侧]、行为复杂性 [中间] 和技能失败率 [右侧],这些指标均来自于用户研究(§4.1)中每个礼品袋的装配。随着时间的推移,与 Vocal Sandbox (VS) 系统协作的用户教授了更复杂的高层行为,技能失败次数减少,且相较于基线系统,机器人所需的监督时间也显著缩短。
结果 – 客观指标。我们在图4中报告了客观结果。我们将机器人监督时间(图4;左侧)视为机器人能力的代理——更有能力的机器人应该需要更少的监督(因为它能够自主执行更多操作)。我们观察到,Vocal Sandbox(VS)系统在监督时间方面优于 VS - (Low, High) 和 VS - Low 两个基线系统,表明了在多个抽象层级进行教学所带来的能力提升;通过可视化用户在协作中花费在指令、确认和并行化方面的时间(图4;左下),VS 系统的优势更加明显。
我们还衡量了(所教授的)高级行为的复杂性,指标为每次语言指令执行的低级技能数量(图4;中间)。我们发现,与两个基线系统相比,VS 系统生成的行为越来越复杂,且与 VS - (Low, High) 基线相比,教授和使用的复杂行为显著增加(p < 0.05)。这进一步突显了通过结构化函数合成进行高级教学的重要性(§2.3)。同样重要的是机器人的低级技能学习能力,表现在技能执行错误率随时间下降(图4;右侧)。我们看到 VS 系统的技能错误率显著低于两个基线系统(p < 0.05),强调了低级教学的重要性。我们还注意到,VS 系统的技能错误随着组装袋子数量的增加而减少,显示出其随时间的改进能力。
图 5:用户研究主观结果和系统 GUI。我们展示了用户对 Vocal Sandbox (VS) 和两个基线系统的主观评分。结果表明,VS 系统在所有指标上显著优于 VS - (Low, High) 基线系统(p < 0.05),除了可预测性和信任度 [左侧]。同时,我们也展示了用户在与系统交互时看到的图形用户界面(GUI; §3.3) [右侧]。
结果 – 主观指标。我们在图5(左侧)报告了主观调查结果,其中用户在六个不同的维度上对三种方法进行了排名。在易用性、帮助性、直观性和再次使用意愿方面,用户更偏爱我们的 VS 系统,认为其具有更高的透明性和可教学性,用户反馈“教学很有用”和“我喜欢能够教机器人某些技能”。我们还注意到,用户显著地(p < 0.05)更偏爱 VS 系统,而不是简单的 VS - (Low, High) 基线,因为后者“用起来更笨拙”。在可预测性和信任方面,尽管用户更倾向于我们的 VS 系统,但趋势较不明显,因为任何自主执行都会引起一定的可预测性损失(由于学习策略的机器人执行不完美)。
4.2 扩展实验:乐高定格动画
最后,为了测试框架的极限,我们设计了一个乐高定格动画的场景,其中一位有经验的系统用户(本文作者之一)与机器人进行连续两小时的协作来拍摄定格动画。用户作为导演,主导影片的创意,通过指示镜头拍摄和布置乐高场景,而机器人负责控制相机以捕捉不同类型的动态镜头。具体来说,用户通过体感演示教授机器人执行“跟踪”、“缩放”和“平移”等电影化概念,并使用这些演示拟合不同的动态运动原语(DMPs)(如 §3.2 所述)。用户在这些行为的基础上不断构建,逐步拍摄更复杂的画面序列,最终制作出一段52秒的定格动画,共计232帧。
在总帧数中,43%的画面使用了完全自主的动态相机运动,这些运动均由用户教授——即场景保持不变,而相机按照 DMP 生成的轨迹移动(例如,“放大”镜头)。我们发现所教授的技能能够泛化到不同的起始和终止位置,以及不同的时间约束下。例如,“缓慢环绕”指令控制了环绕运动,以更多帧(N=30;8秒)完成,而“快速环绕”则以更少帧(N=8;1.33秒)执行了相同技能。在两小时的互动中,机器人执行了40个新指令,如“让我们把塔楼框入画面”和“放大到钢铁侠”(更多示例见附录 D 和我们的项目页面)。
5 相关工作
Vocal Sandbox 涉及大量关于人机协作系统的研究,这些系统将任务规划与技能策略结合,以执行各种操作。我们在 §C.3 提供了相关工作的详细讨论,主要关注使用语言模型进行任务规划,或通过不同反馈模式学习可泛化技能的先前工作。
使用语言模型进行任务规划。近期研究探索了使用 GPT-4 和 PaLM [37–39] 等语言模型进行通用任务规划的方法 [9, 16–18],尤其是使用语言模型生成程序性计划的方式 [19, 40–43]。尽管一些方法尝试使用语言模型生成新技能(例如,通过参数化奖励函数 [44, 45]),但它们需要高成本的模拟和离线学习。相比之下,Vocal Sandbox 设计了轻量化学习算法,通过自然的用户互动在线学习新行为。
从多模态反馈中学习可泛化的技能。大量机器人研究探索了从多样反馈模式中解读意图的方案,从人机交互中的意图推断 [8, 46, 47] 到从隐性表达 [11, 48] 或显性手势 [12, 49, 50] 中学习。随着语言模型的进步,语言已成为一种越来越流行的交互方式;然而,大多数方法局限于特定类型的语言反馈,如目标指定 [13, 51] 或修正 [14, 52, 53]。相比之下,Vocal Sandbox 证明了在教授新行为时,仅靠语言是不够的——尤其在教授新物体关联或动态动作时。因此,我们的框架同时利用多种反馈模式来引导学习。
6 讨论
我们提出了 Vocal Sandbox,这一框架用于情境化人机协作,能够实时从多模态交互反馈中持续学习。Vocal Sandbox 由两个组成部分构成:高级语言模型规划器和一组将计划转化为动作的技能策略。这种分解方式允许用户在相关的抽象层次和模式下提供有针对性的反馈。我们通过包含8名参与者的用户研究对 Vocal Sandbox 进行了评估,观察到与非自适应基线相比,我们的系统更受用户青睐(+13.9%),需要更少的监督(-22.1%),产生更复杂的自主性能(+19.7%),且失败率更低(-67.1%)。
局限性和未来工作。由于执行依赖于从稀疏反馈中快速调整的低级技能,该框架在需要精细操作的场景(例如,辅助洗浴)中表现不佳,因为这些场景需要更多的数据以捕捉行为细节。另一局限是系统所支持的协作相对单一——用户作为教师,机器人作为跟随者——这种模式并不适合所有场景。未来工作将探索跨用户改进的算法,以及更高效的算法来学习更具表现力的技能。同时,我们还将进一步研究用户对机器人能力的认知,以深入探讨人机信任与协作模式的问题。
致谢
本研究得到了丰田研究所(TRI)、DARPA的“Friction for Accountability in Conversational Transactions” (FACT) 项目、AFOSR青年研究员计划、斯坦福以人为中心的人工智能研究所(HAI)、Cooperative AI基金会、美国国家科学基金会(NSF;奖项编号#1941722、#2006388、#2125511)、海军研究办公室(ONR;奖项编号#N000142112298)和DARPA(资助编号#W911NF2210214)的资助。Jennifer Grannen 感谢 NSF 研究生研究奖学金计划(GRFP)的资助。Siddharth Karamcheti 感谢 Open Philanthropy Project AI Fellowship 的资助。本文表达的任何观点、发现和结论均代表作者个人观点,不一定反映资助机构的立场。最后,我们感谢 Yuchen Cui、Suneel Belkhale、David Hall 及匿名审稿人的宝贵反馈和建议。
参考文献
概述
在以下附录中,我们提供了关于两个 Vocal Sandbox 系统(即用于协作礼品袋组装和乐高定格动画场景)的各组件实现的更多细节,包括整个系统架构的其他部分(例如,语音识别、文本转语音)细节。接着,我们从论文主体的讨论中进一步延伸,探讨该框架为未来研究提供的额外机会。
本论文的主要部分基于用户研究和扩展的交互实验;这些研究的视频可以在我们的项目网站上找到:https://vocal-sandbox.github.io
此外,我们的工作通过公开的 OpenAI API 使用 GPT-3.5 Turbo 进行函数调用 [v11-06; 27, 28];我们在网站上直接提供了这些提示(以代码形式):https://vocal-sandbox.github.io/#language-prompts
附录概述
附录A – 主要问题的动机
我们列出了一些可能在阅读正文时产生的动机性问题,并在此处进一步展开解答(例如,“为什么选择模块化而非端到端的方案?”)。我们的解答将直接链接到附录中的具体章节。
附录B – Vocal Sandbox的实现
我们提供了正文中两个 Vocal Sandbox 系统的完整实现细节,同时包括系统架构的其他部分(例如语音转文本、机器人控制等):
• §B.1 – 系统架构:提供实现实时语音识别和文本转语音的额外系统细节,包括延迟和费用统计。
• §B.2 – 任务规划和技能引导的语言模型:GPT-3.5 Turbo 的提示设计细节、生成超参数和延迟统计。
• §B.3 – 视觉关键点条件策略实现:视觉关键点条件策略的实现细节和静态评估(用于稳健的物体操作)。
• §B.4 – 从示范中学习离散动态运动原语:离散动态运动原语(DMP)和学习算法的形式化;我们使用的 DMP 特性(重新计时和目标编辑)的额外细节。
• §B.5 – 物理机器人平台及控制器参数:机器人平台和控制器的实现,确保符合性控制和安全性。
附录C – 扩展讨论与未来工作
我们就论文中的主题提供了扩展讨论,包括模块化和透明性在 Vocal Sandbox 开发中的重要性,Vocal Sandbox 在人机协作中的广泛影响,以及未来研究的方向。
附录D – 额外实验可视化
提供了实验设置和结果的额外可视化内容,包括乐高定格动画交互过程和最终影片产品的静态画面。
A. 动机性问题
问题 1. 如果我想从头实现一个 Vocal Sandbox,需要哪些组件?当前实验如何处理实时语音转文本和文本转语音?费用如何——运行礼品袋组装用户研究(N = 8)的成本是多少?
除了使用 GPT-3.5 Turbo 进行任务规划(带有函数调用 [v11-06; 27, 28])和(轻量级)学习的技能策略,我们还使用了 Whisper [54] 进行实时语音识别(将用户语音转为文本),并使用 OpenAI 文本转语音(TTS)API [55] 进行确认提示的语音化以及教学反馈的查询。所有模型、摄像头和 API 调用都在一台配备 NVIDIA RTX 4080 GPU(12 GB)的笔记本电脑上运行。在礼品袋组装用户研究(N = 8)中,所有外部 API(Whisper、OpenAI TTS、GPT-3.5 Turbo)的总成本为 $0.47 + $0.08 + $1.24 = $1.79。整个项目中,GPT-3.5 API 的费用为 $5.79,Whisper 和 TTS 的费用约为 $4.00(总计不超过 $10.00)。
问题 2. 鉴于使用 GPT-3.5/GPT-4 等强大的闭源基础模型,为什么在实现视觉关键点(以及学习策略的动态运动原语)时采用模块化方法?为什么不基于带视觉的 GPT-4 或现有的多任务预训练策略采用端到端方法?
本研究选择模块化方法的原因有两个。首先,现有的端到端模型在细粒度感知和场景落地方面仍然有限;我们在 §B.3 中通过关键点模型与预训练模型(如 OWLv2 [34, 35])的静态评估进行对比分析。其次,我们认为模块化允许用户在适当的抽象层次上系统地隔离失败,并通过多模态反馈加以解决。我们在 §C.1 中对此进行了进一步扩展。
问题 3. 用户研究中的基线方法(§4.1)被框定为消融研究,而不是结合语言模型规划和多模态学习(例如即时语言修正、手势)的现有系统实例。这些消融研究是如何选择的?它们与先前工作的明确关系是什么?
在用户研究中,我们构建基线的方法意在既能代表先前工作的贡献,又能满足我们情境人机协作设置的必要条件。尽管我们在论文中将这些方法称为“消融”,但每种方法都代表了先前工作——我们在 §C.2 中明确了这些联系。
问题 4. Vocal Sandbox 在先前的人机交互研究背景中如何定位?Vocal Sandbox 带来了哪些新的能力?
尽管论文正文已将我们框架与不同模态的任务规划和技能学习先前工作进行了比较,Vocal Sandbox 是在人机交互领域的丰富研究历史上构建的。我们在 §C.3 中详细介绍了相关工作以及未来研究的方向。
B 实现 Vocal Sandbox
实现 Vocal Sandbox 框架中的系统不仅需要基于语言的任务规划和低层技能执行的学习组件,还需要额外的支持来通过自动语音转文本(STT)和文本转语音(TTS)与用户交互,以实现失败或确认提示的语音化,并通过屏幕可视化图形用户界面。以下部分将介绍这些附加组件,并提供系统各学习组件实现的详细信息。
B.1 系统架构
为了实现稳定且经济的自动语音识别(将用户的语音转换为文本),我们使用了 OpenAI API 端点提供的 Whisper 模型 [27, 54]。Whisper 是目前最先进的自然语音转录模型,其每次转录请求的延迟(往返时间小于 0.5 秒)完全满足我们的各种使用场景。API 的定价也很实惠,Whisper API 通过 OpenAI 收费为 $0.006 每分钟转录(整个礼品袋组装用户研究的费用不到 $0.50)。值得注意的是,我们通过显式的“按下说话”接口实现语音转文本,而非“始终聆听”模式;我们发现这不仅能降低成本和单词错误率,还能改善用户体验。通过明确的音频提示开启和关闭聆听功能,用户对系统的行为更加清晰,也能更快定位由错误转录引发的失败。
除了自动语音转文本,我们还采用了现成的实时文本转语音解决方案,主要用于实现确认提示(例如:“这个计划是否符合您的要求?”)和系统状态播报,同时在请求用户教学新视觉概念或行为时也具有适应性(例如:“抱歉,我不确定‘果冻糖果’是什么样子,能教我吗?”)。对于这些查询,我们使用 OpenAI TTS API [55],其定价方案为每 1M 字符收费 $15.00(约 200K 字)。在礼品袋组装研究中,TTS 的成本不到 $0.08。硬件方面(用于语音识别和文本转语音),我们使用标准的 USB 扬声器-麦克风(Anker PowerConf S3)。
为了向用户展示图形用户界面,我们使用了一个 27 英寸的外接显示器,放置在机器人工作区域之外。我们通过一台 Alienware M16 笔记本电脑驱动 GUI 和所有 API 调用(包括语音识别、文本转语音和 GPT-3.5 Turbo 语言建模),并连接 ZED 2 摄像头和所有学习模型——包括视觉关键点条件策略、FastSAM [32] 和 XMem [33]。该笔记本电脑配备 NVIDIA RTX 4080 GPU,具有 12 GB VRAM,是根据 DROID 平台规范 [26] 采购的。
礼品袋组装用户研究的修改。在礼品袋组装用户研究(N = 8)中,我们在桌面上设置了“按下说话”语音识别接口,使用了物理按钮。用户可以使用两个按钮——一个用于“说话”,另一个用于“取消”前一个动作(同时作为机器人移动时的备用软件紧急停止按钮)。这些按钮放置在用户非惯用手一侧,方便用户随时使用。
乐高定格动画的修改。对于乐高定格动画研究,使用了上述相同组件,并进行了两个额外的修改。由于专家用户在协作过程中负责指导和构图,他们在工作区内增加了一台笔记本电脑(MacBook,运行 Stop Motion Studio),该设备与系统其他部分未连接。由于本研究需要用户双手自由(用于调整乐高人偶和结构或在笔记本电脑上编辑片段),我们将桌面“按下说话”按钮替换为带有两个开关的 USB 脚踏板,具有相同的识别和取消功能。
B.2 任务规划和技能引导的语言模型
正如论文主体所述,我们使用 GPT-3.5 Turbo 的函数调用功能 [v11-06; 27, 28] 作为任务规划的基础语言模型。此模型在工作开始时是最新、最实惠且响应延迟最高的语言模型(在 GPT-4 和 GPT-4o 发布之前),平均响应时间为 1-3 秒,成本为 $2.00 / 1M tokens。本项目中,GPT 3.5 API 的总费用为 $5.79,礼品袋组装用户研究的实际费用仅为 $1.24。
图 6:视觉关键点静态评估与 DMP 可视化工具。我们展示了视觉关键点在整洁环境 [左] 和更复杂的杂乱环境 [中] 中对物体位置的预测。此外,我们还展示了通过动态运动基元 (DMP) 技能生成的轨迹,并在 Mujoco [56] 模拟环境中渲染,显示机器人的执行路径。
我们在整个项目中使用了 GPT-3.5 的函数调用功能,采用 OpenAI 设定的自定义 JSON 格式来设计 API 规范的提示。我们在补充网站上提供了这些函数调用提示(以及本项目使用的所有 GPT-3.5 提示),便于可视化:https://vocal-sandbox.github.io/#language-prompts。所有语言模型输出均采用低温采样(0.2)生成。
B.3 视觉关键点条件策略实现
如论文主体所述,我们通过三个组件来实现 Vocal Sandbox 的物体操作技能:(1)学习的基于语言的关键点模型,(2)预训练的掩码传播模型 [XMem; 33],以及(3)基于点的分割模型 [FastSAM; 32]。
我们训练的关键点模型可以根据语言预测物体的中心点,使我们能够在 XMem 较难处理的物体实例间进行泛化。给定一个 RGB 图像 和来自高层语言规划器的自然语言描述 ,模型预测出每像素分数矩阵 。我们取 的坐标最大值作为预测的关键点。该模型使用双流架构实现,参照 Shridhar 等人 [57] 的方法,融合预训练的 CLIP [58] 文本嵌入与全卷积架构。我们在一个由 25 个独特图像组成的小数据集上训练了该模型,每个图像都标注有 3 个关键点(共 75 个样本)。为拟合模型,我们从每个真实标签生成热图,在每个关键点周围以固定标准差 6 像素生成 2D 高斯分布;通过最小化模型预测与这些热图的二元交叉熵来训练模型,并采用各种保持标签的仿射变换(如随机裁剪、剪切、旋转)进行图像增强。
我们的掩码传播模型 XMem [33] 用于从一个图像帧跟踪到下一个图像帧的物体分割掩码。XMem 包括三个卷积网络(查询编码器 、解码器 和值编码器 )和三个记忆模块(短期感觉记忆、工作记忆和长期记忆)。给定图像 ,查询编码器输出查询 并通过工作记忆和长期记忆执行基于注意力的内存读取,提取出特征 ,其中 是语言描述(例如,“糖果”)。解码器 将 、 和短期感觉记忆 作为输入,输出预测的掩码 。最后,值编码器 输出新特征以添加到记忆历史 。查询编码器 和值编码器 分别由 ResNet-50 和 ResNet-18 [59] 实现。解码器 将短期记忆历史 与提取的特征 连接起来,并以 2 倍的比例上采样,直到达到步幅为 4。在上采样过程中,解码器在每个层级都融合了查询编码器 的跳跃连接。最终的特征图通过一个 3 × 3 卷积输出单通道 logits 并上采样至图像尺寸。详情见 Cheng 和 Schwing [33]。
最后,我们使用点条件分割模型 FastSAM [32] 从预测的关键点中提取物体掩码。该模型包含两个部分:YOLOv8 [60] 分割模型 用于所有实例的分割,以及点提示引导的选择功能,用于识别包含点的物体掩码。从给定的预测关键点 出发,分割模型 输出包含 的掩码 。我们将此预测的掩码 通过值编码器 后添加到 XMem 记忆库中。
机器人动作被编码为参数化原语(如 pick_up 或 goto),接收物体位置作为输入并输出轨迹。
静态评估 – 稳健的物体定位。为了展示数据效率和领域特定视觉系统的必要性,我们将我们实现的视觉模块(如上述描述)与现有的闭源基础模型(如 OWLv2 和 GPT-4V)进行了比较。我们评估了来自用户研究(N = 8)中所有视觉查询的 (图像, 注释) 数据集,其中注释代表用户确认或手动选择的正确物体位置。我们报告了精确度和准确度的测量指标——关键点像素距离的均方误差和在距注释 14 像素(玩具车半径)内的预测成功次数。对于 Vocal Sandbox 预测的掩码,我们使用掩码的质心进行这些点到点的计算。结果表明,尽管所有三种方法的均方误差相近,但 Vocal Sandbox 视觉模块在精确度上显著优于基础模型。这是因为所有物体都密集排列在一张桌子上——在这些物体间随机选择会产生低均方误差,但相邻的预测不足以准确识别并隔离正确的抓取物体。
B.4 从示范中学习离散动态运动原语
在乐高定格动画的场景中,我们将低层技能策略实现为一个离散动态运动原语(DMP)库 [29, 30]。我们采用 Ijspeert 等人 [30] 提出的传统离散 DMP 公式,将系统状态 、目标 和相位变量 定义为一个二阶点动力系统,具体如下:
可视化 DMP 展开:使用 DMP 进行控制参数化的另一个优点是可以在执行前可视化整个轨迹。类似于在协作礼品袋组装场景中可视化关键点和物体分割掩码,我们提供了一个 GUI,通过简单的基于 MuJoCo 的查看器展示机器人和规划路径(以及末端执行器的姿势)。图 6(右)展示了一个示例——我们用绿色绘制了相对于当前机器人姿势的原始运动示范(作为参考),并用蓝色显示了规划的 DMP 轨迹,同时展示了轨迹起始和结束的末端执行器方向框架。用户还可以动态推进模拟,以实际执行速度可视化整个轨迹展开过程。
B.5 物理机器人平台和控制器参数
我们使用 Franka Emika Panda 7自由度(7-DoF)机械臂和 Robotiq 2F-85 平行爪夹持器,符合 DROID 平台规范 [26]。机器人和其基座放置在一张 3 英尺 x 5 英尺的桌子一侧,用户位于对面,这样用户和机器人可以共享桌面工作区。我们使用一个具有已知内参和外参的 ZED 2 RGB-D 顶置摄像头进行监控。机器人控制方面,我们采用基于 Polymetis [61] 的 DROID 控制栈的修改版本。低层策略以 10 Hz 的频率指令关节位置,并在 1 kHz 频率上运行关节阻抗控制器。我们实现了两种顺应模式:一种是机器人在执行低层技能时激活的刚性模式,另一种是用户提供运动示范时使用的柔顺模式。
安全性:我们包含了多重安全措施以确保用户的安全。用户可以在显示出可解释轨迹时通过物理取消按钮取消任何提议的行为,如 §B.1 所述——这将阻止执行并立即回溯 Vocal Sandbox 系统。此外,在任何低层技能执行过程中,用户也可以通过该按钮中断机器人的运动。此操作将立即停止机器人的运动并切换为完全柔顺模式。最后,在用户实验中,用户和观察员均可使用硬件紧急停止按钮,该按钮会切断机器人的电源并机械锁定机械臂。
C 扩展讨论与未来工作
以下章节进一步探讨了论文主体中的讨论,特别关注 Vocal Sandbox 的模块化设计优势,接着在更广泛的人机协作系统背景下,详细讨论了我们的贡献和未来方向。
C.1 关于模块化 vs. 端到端方法
我们将 Vocal Sandbox 设计为一个模块化框架;高层次的语言行为规划器和低层技能策略之间的解耦是显著特征,并贯穿了我们的贡献。然而,这一选择也引发了一个重要问题——为什么不采用端到端方法?
初步答案来源于当前模型的局限性;我们的用户研究表明,使用语言模型进行“平面”规划在可靠性方面存在多种失败模式,而在 §B.3 的静态评估中也显示出当前多模态模型(例如 GPT-4 Turbo 结合视觉)在复杂场景中的高精度语言定位方面存在不足。然而,即便考虑未来有更强大的端到端方法将语言、视觉和动作统一 [例如构建在 RT-2 或 RT-H 上;15, 62],我们认为模块化是允许用户在适当的抽象级别上隔离系统故障并本地化反馈的重要特性。
考虑端到端策略从数据中学习的常见失败模式:视觉稳健性。不同程度的分布偏移(例如引入新的干扰物,甚至对场景进行微小扰动)不仅会降低成功率 [63],还会以不可预测的方式影响闭环执行 [64],导致次优甚至不安全的轨迹。更糟糕的是,随着机器人或场景进一步偏离分布,错误会级联,导致更加不可预测的行为。
相比之下,我们用户研究中的一个显著观察结果是,用户不仅能迅速识别系统的失败模式,还能适应它们。例如,在实验的前两个礼品袋组装过程中,许多用户发现学习的关键点模型在预测特定类别物体(如 Play-Doh)时表现尤为不佳。用户并未让此失败彻底破坏任务,而是依赖系统的模块化来隔离这一失败模块(即视觉关键点策略)并有序地提供反馈——教导新的高层行为并预见机器人将失败的时机和地点。具体来说,用户选择教授一个高层行为“assemble_bag()”,让机器人在完成其他步骤后将 Play-Doh 装入礼品袋,从而使他们在大部分执行过程中能够“脱离”监督,仅在最后一步进行干预。换言之,Vocal Sandbox 的模块化为用户提供了快速理解机器人能力的杠杆,同时赋予了他们在系统优势上构建并在系统缺陷周围适应的权力。
C.2 系统消融和现有工作的明确联系
我们的用户研究(§4.1)将 Vocal Sandbox 系统与两个基线方法进行了比较,这两个方法被框定为不同的“消融”;在本节中,我们明确将每种消融与构建人机协作系统的现有工作联系起来,这些系统使用语言模型规划器,并从不同的反馈模式中学习技能。
为了建立这种联系,我们首先想重申 Vocal Sandbox 的贡献:1)能够通过混合模式教学反馈持续学习新的高层行为和低层技能,基于 2)我们在其中评估系统随时间提供更多实用性(协助用户)的人机协作情境。这个情境很重要;大多数现有工作将人机协作定义为人类提供远程指令或更正,机器人执行任务 [12, 17, 51]。这些工作评估的是二元成功率——在用户输入和任务之间,机器人是成功还是失败。
相反,我们的情境明确分配了机器人和人类在协作中的角色(例如拍摄定格动画,由机器人控制摄像机,人类导演)。在这里,任务成功是必要条件——如果用户无法指挥机器人执行最低限度的操作,他们就不会使用它(而是完全独自执行任务,或与人类合作伙伴协作)。因此,我们需要开发一个“基线”系统,以确保机器人在协作过程中始终是一个可行的合作伙伴。这就是为什么我们最低限度地定义了一组覆盖所需机器人能力的基本原语,以及用户可能需要的任何教学接口(例如 GUI)。换句话说,可行性和恢复能力是我们评估的所有系统的先决条件。
在这些先决条件下,我们考察了我们的假设——特别是,通过混合模式反馈在高层和低层学习,可以实现更有效的人机协作。我们考察了协作任务规划中的现有工作、处理实时语言更正的方法以及从其他反馈模式中学习的方法,并识别了以下系统“模板”进行比较:
1. “静态”规划,固定低层技能。这些系统将人机协作定义为将用户指令转化为一组预定义技能。这一系统反映了近期工作的核心贡献,如 Text2Motion [17]、ProgPrompt [18] 和 MOSAIC [8]——其中 MOSAIC 被我们认为是最接近的系统。
这些工作通过语言模型将用户意图映射为可实现的机器人计划,指定为程序。我们特别基于 MOSAIC,因为我们认为该系统是最通用的——它不假设事先访问全状态信息(即语言模型并未事先获得场景中的所有对象信息),而是调用学习的感知模型来定位对象(如我们所做的;§3.2)。将此与我们的“先决”系统相结合,我们得到 VS - (Low, High)——一个反映 MOSAIC 的系统,该系统使用语言模型将语言输入转换为固定库中的技能,其中一些技能依赖于学习的感知模块的输出。
2. 实时更正:“自适应”规划,固定技能。在如 Inner Monologue [9]、Code as Policies [19] 和 Yell at Your Robot [YAY; 14] 的工作中,机器人系统超越了静态规划。相反,它们展示了某种形式的反应性:尽管这些工作的技能集保持静态,但规划器会结合用户或环境反馈(例如更正、动作可行性、子任务成功)来综合计划。在这些工作中,YAY 增加了一个迭代组件,明确添加结构化行为以批量重新训练高层策略(类似于我们在教学过程中诱导新高层行为的方式)。增加这种反应性得到 VS - Low——一个将 InnerMonologue 与 YAY 的迭代更新相结合的系统,即一个反应性语言模型规划器,它基于用户更正或其他反馈迭代学习新的高层行为以引导规划。
3. 逐步改进低层技能。最后,为了探索通过混合模式反馈自适应地扩展我们低层技能库的影响,我们考察了 KITE [31] 和 MOKA [65] 中通过关键点监督学习技能、GIRAF [12] 中通过手势学习的技能,或从运动示范中学习动态运动基元(DMP)[30] 的现有工作。这些工作不聚焦于协作的多回合情境,而是提出方法在离线评估中(例如评估一个完全自主策略在有手势情况下和无手势情况下的成功率)进行评估。由于我们的贡献更集中于允许用户教授新低层技能时的协作性质,而非技能学习方法本身,因此我们将这些方法作为系统的固定组成部分。这形成了我们最终的 Vocal Sandbox 系统(VS)——在礼品袋组装情境中(§4.1),VS 通过学习的视觉关键点模型指定技能,而在定格动画情境中(§4.2),VS 通过 DMP 指定技能。值得注意的是,对于关键点模型,我们在 §B.3 中进行了不同(预训练)模型的静态评估,发现我们的简单双流 CLIP 基于架构在精度指标上优于现有的开放词汇检测器如 OWLv2 和基础模型如 GPT-4V。
以这种方式结构化我们的消融实验使我们能够在先前工作如 MOSAIC(VS - Low, High)、InnerMonologue 和 YAY(VS 0 Low)之间进行公平的对比,同时展示我们在高层和低层实现持续学习的创新贡献。
C.3 更广泛的背景和未来工作
尽管我们论文的主体将我们的框架与使用语言模型进行任务规划以及从多模态反馈中学习低层技能的方法进行对比,Vocal Sandbox 还建立在大量其他人机交互系统的工作基础上。这些系统在所实现的协作模式上有所不同,涵盖了从明确的人机团队合作在特定环境中的应用 [1, 4, 6, 7, 66],到共享自治的学习方法 [67–69],再到辅助机器人平台 [70–72] 等等 [2]。
虽然 Vocal Sandbox 受到这些前期工作的深刻启发,尤其是那些通过语言接口将用户意图与机器人低层行为相结合的研究 [8, 73, 74],但这仅是一个开始。我们框架的未来迭代将基于我们所允许的交互和学习类型不断拓展(例如多机器人协作或整合触觉或非语言反馈等模式),朝着通用且无缝的人机协作方向不断迈进。
D 额外实验可视化
我们展示了定格动画实验的额外可视化,包括用户教授的摄像机动作示例以及拍摄过程中两小时互动的静止画面。
图 7:用户教授的乐高摄像运动。我们展示了两个用户教授的摄像运动示例——“让我们将塔框在这个镜头中”以及“好的,现在放大到绿巨人身上”——以及对应的机器人轨迹。在拍摄影片的232帧中,有99帧是通过用户教授的复杂摄像运动拍摄的,如此处所展示的。
图 8:乐高定格动画协作静帧。我们展示了用于拍摄乐高定格动画的两小时连续协作过程中的静帧画面(左),以及最终影片中的相应帧画面(右)。用户负责指导并布置乐高人偶,而机器人负责控制摄像机。
声明:本文素材来源于https://arxiv.org/abs/2411.02599,致敬原作者。侵权可后台联系删除。
篇幅所限,以上仅摘录部分内容,
如需获取英文原版、中文译文,请加入知识星球,
并搜索编号“A252”获取详细资料。
另在知识星球新增了一篇非公开资料,
《集合值系统的识别与控制S158)》