VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图

这篇具有很好参考价值的文章主要介绍了VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

语言是一种压缩媒介,人们通过它来提炼和传达他们对世界的知识和经验。大型语言模型(LLMs)已成为一种有前景的方法,通过将世界投影到语言空间中来捕捉这种抽象。虽然这些模型被认为在文本形式中内化了可概括的知识,但如何利用这种可概括的知识使具身代理能够在现实世界中进行物理行动仍然是一个问题。
该工作研究了将抽象语言指令(例如“摆放桌子”)与机器人行动相结合的问题。之前的研究利用词汇分析来解析指令,而最近的研究利用语言模型将指令分解为文本序列的步骤。然而,为了能够与环境进行物理交互,现有方法通常依赖于手动设计或预训练的运动基元(即技能),这些基元可以由LLM或规划器调用。由于缺乏大规模的机器人数据,这种依赖于单个技能的获取常常被认为是系统的一个主要瓶颈。因此,问题就出现了:如何在细粒度的行动层面上利用LLMs内部化的丰富知识,而不需要费力的数据收集或为每个单独的基元手动设计?
为了解决这个挑战,该工作首先注意到LLMs直接输出文本形式的控制动作是不可行的,因为这些动作通常由高维空间中的高频控制信号驱动。然而,该工作发现LLMs擅长推断受语言条件约束的可行性和限制,并通过利用它们的编码能力,可以通过编排感知调用(例如通过CLIP 或开放词汇检测器和数组操作(例如通过NumPy )来组合密集的3D体素图,将它们在视觉空间中进行关联。例如,给定指令“打开顶层抽屉,注意花瓶”,LLMs可以被提示推断出:1)应该抓住顶层抽屉的把手,2)把手需要向外移动,3)机器人应该远离花瓶。虽然这些信息是以文本形式表达的,但LLMs可以生成Python代码来调用感知API以获取相关对象或部件(例如“把手”)的空间几何信息,然后操纵3D体素图,在观察空间中的相关位置处为目标位置指定高值,同时为花瓶周围指定低值。最后,组合的值图可以作为运动规划器的目标函数,直接合成实现给定指令的机器人轨迹,而无需为每个任务或LLM进行额外的训练数据。

相关成果以“VoxPoser: Composable 3D Value Maps for Robotic Manipulation with Language Models ”为题发表。
主要贡献
该工作的贡献总结如下:
• 该工作提出了VoxPoser,一种从预训练的语言模型中提取机器人操作的可行性和约束的方法,无需额外的训练,并且可以推广到开放指令。
• 利用VoxPoser来表示任务目标,该工作展示了合成轨迹可以在模拟和真实环境中以闭环方式通过MPC进行鲁棒执行的能力,适用于各种操作任务。
• 该工作展示了VoxPoser适用于仅有有限数量的在线交互,通过高效学习动力学模型的应用性,例如,在不到3分钟内学习使用杠杆把手打开门。
方法简介
考虑一个给定的操作问题,以自由形式语言指令L来描述(例如,“打开顶层抽屉”)。然而,根据L生成机器人轨迹可能很困难,因为L可能具有任意长的时间跨度或不完全规定(即需要上下文理解)。相反,该工作将重点放在问题的各个阶段(子任务)ℓi上,这些阶段明确指定了一个操作任务(例如,“抓住抽屉把手”,“拉开抽屉”),其中分解由高级规划器(例如LLM或基于搜索的规划器)给出。本工作中研究的核心问题是为机器人生成运动轨迹。
VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图,机器人,语言模型,机器人,3d

VoxPoser通过合成3D地图进行运动规划
该工作将运动轨迹表示为一系列由操作空间控制器执行的密集末端执行器路径点,其中每个路径点包括期望的6自由度末端执行器姿态、末端执行器速度和夹爪动作。然而,值得注意的是,也可以使用其他表示轨迹的方式,例如关节空间轨迹。
计算相对于自由形式语言指令的Ftask是极具挑战性的,不仅因为语言可以传达的丰富语义空间,还因为缺乏带有T和ℓ标签的机器人数据。然而,该工作提供了一个关键观察,即大量的任务可以通过机器人的观察空间中的体素值图来表征,它指导场景中的“感兴趣实体”(如机器人末端执行器、物体或物体的部分)的运动。例如,在下图中考虑任务“打开顶层抽屉”及其第一个子任务“抓住顶层抽屉把手”(由LLMs推断)。这里的“感兴趣实体”是机器人末端执行器,体素值图应该反映对抽屉把手的吸引力。通过进一步指示“注意花瓶”,该图还可以更新以反映对花瓶的排斥。该工作将“感兴趣实体”表示为e,其轨迹表示为τe。
VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图,机器人,语言模型,机器人,3d

VoxPoser主要方法示意图
值得注意的是,该工作观察到,通过在互联网规模的数据上进行预训练,大型语言模型不仅能够识别“感兴趣实体”,而且可以通过编写Python程序来组合准确反映任务指令的值图。具体而言,当指令作为代码中的注释给出时,LLMs可以被提示:1)调用感知API(调用视觉语言模型(VLM),如开放词汇检测器)以获取相关对象的空间几何信息,2)生成NumPy操作以操作3D数组,3)在相关位置上指定精确的值。该工作将这种方法称为VOXPOSER。具体而言,该工作的目标是通过提示LLM并通过Python解释器执行代码来获得一个体素值图Vti = VoxPoser(ot, ℓi),其中ot是时间t时的RGB-D观察结果,ℓi是当前的指令。此外,由于V通常是稀疏的,该工作通过平滑操作使体素值图变得密集,因为它们可以鼓励由运动规划器优化的更平滑的轨迹。
在获得任务代价之后,使用简单的零阶优化方法,通过随机采样轨迹并使用提出的目标对其进行评分。进一步地,优化是在模型预测控制框架中实现的,该框架在每一步迭代地使用当前观察来重新规划轨迹,以在动态干扰下稳健地执行轨迹,可以使用学习的模型或基于物理的模型。然而,由于VoxPoser在观察空间中提供了“密集的奖励”,而且该工作能够在每一步重新规划,令人惊讶的是该工作发现,即使使用基于简单启发式模型,整个系统已经能够完成本工作中考虑的大量操作任务。由于一些值图是针对“感兴趣实体”定义的,而这个实体不一定是机器人,该工作还使用动力学模型找到所需的机器人轨迹来最小化任务代价(即机器人与环境之间的相互作用实现所需的物体运动)。
实验结果
1)操作任务结果
该工作研究VoxPoser 是否可以零样本合成机器人轨迹来执行现实世界中的日常操作任务。环境设置的详细信息可以在附录A.4 中找到。虽然所提出的方法可以推广到开放的指令集和开放的对象集,但该工作选择了 5 个代表性任务来提供表 1 中的定量评估。包括环境推出和价值图可视化在内的定性结果是 如图3所示。该工作发现VoxPoser可以有效地合成用于日常操作任务的机器人轨迹,并且平均成功率很高。由于具有快速重新规划功能,它对外部干扰也具有鲁棒性,例如移动目标/障碍物以及机器人关闭抽屉后将其拉开。
VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图,机器人,语言模型,机器人,3d

实验结果

VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图,机器人,语言模型,机器人,3d

生成3D价值图可视化结果
该工作进一步与 Code as Policies的变体进行比较,该变体使用 LLM 来参数化简单基元的预定义列表(例如,移动到姿势、打开夹具)。该工作发现,与链接顺序策略逻辑相比,在联合优化方案下考虑其他约束的同时进行空间组合的能力是一种更灵活的表述,释放了更多操作任务的可能性并导致更稳健的执行。
2)泛化到新指令或属性

新任务泛化性能结果
表 2 显示了每项任务 20 个回合的平均成功率。该工作发现 VoxPoser 在所有场景中都表现出卓越的泛化能力。通过价值图组合而不是直接指定原始参数,将 LLM 知识扎根于机器人感知中,可以提供更大的灵活性和更好的泛化能力。
总结与展望
这项工作中,该工作提出了VOXPOSER,一个用于提取可供性和约束的通用框架,基于3D感知空间,从LLM和VLM中提取现实世界中的日常操作任务,为开放集指令和对象提供显着的泛化优势。尽管取得了引人注目的结果,VoxPoser仍存在一些局限性。首先,它依赖于外部感知模块,这限制了需要整体视觉推理或理解细粒度物体几何形状的任务。其次,虽然适用于高效的动力学学习,但仍然需要通用的动力学模型来实现具有相同泛化水平的接触丰富的任务。第三,该工作的运动规划器仅考虑末端执行器轨迹,而全臂规划也是可行的,并且可能是更好的设计选择。最后,LLM需要手动提示工程。还看到了未来工作的几个令人兴奋的场所。例如,最近成功的多模态LLM可以直接转化为VoxPoser以实现直接视觉基础。为对齐和提示开发的方法可用于减轻临时工程工作。最后,可以开发更先进的轨迹优化方法,与VoxPoser合成的值图进行最佳接口。文章来源地址https://www.toymoban.com/news/detail-769105.html

到了这里,关于VoxPoser:使用语言模型进行机器人操作的可组合 3D 值图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Instruct2Act:使用大型语言模型将多模态指令映射到机器人动作

    基础模型在多种应用中取得了重大进步,包括文本到图像的生成、全景分割和自然语言处理。本文提出了一个名为Instruct2Act的框架,该框架利用大型语言模型将多模态指令映射为机器人操作任务的顺序动作。 具体来说,Instruct2Act使用大型语言模型生成Python程序,构成了一个完

    2024年02月16日
    浏览(40)
  • C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地

      本文将探讨如何使用c#开发基于大语言模型的私域聊天机器人落地。大语言模型(Large Language Model,LLM 这里主要以chatgpt为代表的的文本生成式人工智能)是一种利用深度学习方法训练的能够生成人类语言的模型。这种模型可以处理大量的文本数据,并学习从中获得的模式,

    2024年02月03日
    浏览(55)
  • 使用ROS进行机器人的模拟与仿真

    机器人的模拟与仿真是研究和开发机器人系统的关键步骤。在这个过程中,ROS(Robot Operating System)是一个非常重要的工具。本文将深入探讨如何使用ROS进行机器人的模拟与仿真,并提供一些最佳实践、技巧和技术洞察。 机器人的模拟与仿真是研究和开发机器人系统的关键步骤。

    2024年02月20日
    浏览(40)
  • C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地之openai接口平替

    ------------恢复内容开始------------ 在上一篇文章中我们大致讲述了一下如何通过词嵌入向量的方式为大语言模型增加长期记忆,用于落地在私域场景的问题。其中涉及到使用openai的接口进行词嵌入向量的生成以及chat模型的调用 由于众所周知的原因,国内调用openai接口并不友好

    2024年02月06日
    浏览(58)
  • 【ROS】机器人使用Nomachine进行远程控制

    官网:NoMachine - Free Remote Desktop for Everybody 支持的系统: Windows Mac Linux 树莓派 其他ARM板 IOS Android 由于网速问题,可以使用我下载好的:(8.8.1_1) 链接:https://pan.baidu.com/s/16v6jn8a-dcVbIxGI3bI2QA   提取码:r8pi    Windows安装:(直接一路next即可,顺便改下安装位置) 这样就安装

    2024年03月22日
    浏览(72)
  • 【Python】使用pyppeteer进行网页截图并发送机器人

    Pyppeteer是对Puppeteer的一个Python封装,常用在爬虫方面,最近使用它做网页巡检报告的截图,记录一下 使用pyppeteer其实和我们自己开浏览器的逻辑差不多,同时要结合async一起使用,首先要通过lauch函数启动一个浏览器,启动浏览器的时候可以设置启动参数,其中包括使用的代

    2024年02月02日
    浏览(48)
  • Chatopera 云服务支持大语言模型对话(LLM),定制您的聊天机器人

    2024 年,Chatopera 云服务继续不断完善,为开发者提供最好的定制聊天机器人的工具。在过去的一年,用户们反映最多的建议是 Chatopera 云服务内置大语言模型的对话,今天 Chatopera 云服务完成了产品升级,满足了这个诉求。 大语言模型通过对海量语料进行机器学习,可以回答

    2024年01月18日
    浏览(44)
  • [LLM]Streamlit+LLM(大型语言模型)创建实用且强大的Web聊天机器人

    Streamlit 是一个开源框架,使开发人员能够快速构建和共享用于机器学习和数据科学项目的交互式 Web 应用程序。它还提供了一系列小部件,只需要一行 Python 代码即可创建,例如 st.table(…) 。对于我们创建一个简单的用于私人使用的聊天机器人网站来说,Streamlit 是一个非常合

    2024年01月16日
    浏览(53)
  • 以大语言模型ChatGLM2-6B为后台,打造个人语音交互机器人Demo

    随着以ChatGLM2-6B为代表的开源大型语言模型的兴起,人工智能革命正席卷全球…… ChatGLM2-6B这一代表性的开源大型模型,以其易于部署、适度的参数量和强大的中文处理能力,为个人用户提供了在个人显卡上部署大型模型的便捷途径。 然而,在大型语言模型领域,人机交互仍

    2024年02月05日
    浏览(49)
  • 手把手QQ机器人制作教程,根据官方接口进行开发,基于Python语言制作的详细教程(更新中)

    QQ开放平台官方地址:https://q.qq.com/#/app/bot QQ开放平台包含:QQ机器人、QQ小程序、QQ小游戏,我们这边选择QQ机器人。 机器人类型:设置私域机器人或者公域机器人,当然公域机器人对于服务器的要求过高,我们这边选择 私域机器人 进行开发。 特别注意在选择沙箱频道的时候

    2023年04月08日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包