【论文笔记】Ground Manipulator Primitive Tasks to Executable Actions using Large Language Models

2023-11-12

【论文笔记】Ground Manipulator Primitive Tasks to Executable Actions using Large Language Models

Abstract

  1. 研究目标:解决从高层任务低层机器人执行指令的转换问题。

  2. 研究问题:在分层架构的机器人系统中,如何将规划层的高级任务直接转换为执行层的低级运动指令。

  3. 作者的研究思路:提出一种将操作原语任务机器人低级动作联系起来的新方法,利用大型语言模型(LLMs)实现。

  4. 具体技术路线:

    设计基于形式化任务框架(Task Framework Formalism)的类编程的提示。

    使LLMs能够为生成混合控制位力集点

  5. 评估方法:对几种最先进的LLMs进行评估。

Introduction

分层化机器人系统

  • 分层架构的发展可以追溯到斯坦福研究院的 Shakey 移动机器人。

    其系统由高级功能编程,用一阶逻辑解决规划问题,并通过低级功能指定电机命令。

  • 被总结为 “感知 —— 建模 —— 规划 —— 执行” (Sense - Model - Plan - Action)范式。

    通常分层的范式是:一个规划层和一个执行层。

  • 分层存在的问题是:从规划层到执行层的转换存在困难。

    【仿生包容结构】 存在,但是没有很多进展。

    【使用原语任务】 它引入了一组中间层动作库,例如 “推动物体” 或 “通过门” ,以在高级语言逻辑低级电机命令之间进行中介转换。成果:高层规划,中层执行和低层硬件控制层。现有的基于原始任务的方法需要繁琐的手动规定。它们通常产生一些包含少量原始任务的库,从而限制了机器人的任务适应性和通用性。


自然语言处理 for 机器人任务规划

列举了经典的几篇论文。。。真的很经典。。。

利用大型语言模型以 zero-shot 或 few-shot 的方式生成高级任务计划。

生成的抽象计划是用自然语言描述的,因此执行层无法理解。

【设计固定的语法实现高层-底层之间的转换】

  • 早期的方法使用严格的语法规则,将任务规范转换为线性时间逻辑形式;
  • 语法解析器用于将句子指令分解为不同的语法元素,主要涉及动词和对象;
  • 基于单词的统计机器翻译模型,以实现对新环境的泛化;
  • 单词嵌入(Word Embedding)和循环神经网络(RNN)成为主流,并在后来引入机器人任务分解中;
  • 现在,LLMs。

形式化任务框架

形式化任务框架的概念起源于对顺应运动(compliant motions)的研究(Mason 1981)。

形式化任务框架被明确地制定为任务规划力/位置控制之间的中间转换。

任务框架(也称为顺应框架)是附加在被操纵对象上局部坐标系

它的平移旋转方向可以配置为力控制位置控制

传统工作的不足之处:主要关注低级行动表示的分类,并很少考虑与高级任务命名的关联。


作者提出的方法概述

提出了一种方法,使用LLMs将文本 操作原语任务 转化为 可执行的动作

  • 设计一个形式化任务框架(Task Framework Formalism)的类编程提示,这是一种面向对象的规范。

  • 该提示将原始任务的文本作为输入,并输出任务框架中的一组位置/力矩设定点。

Porposed Approach

Preprocess: Identify Manipulator Primitive Tasks

将 “insert peg” 或 “open bottle” 等任务视为原始任务,通过单个控制策略完成无需更改坐标设置

将 “assembly GPU” 或 “make coffee” 是非原始任务的示例,必须进一步分解为多个步骤,这些步骤使用不同的控制策略和坐标。如果某个任务不是原始任务,需要进行任务分解。

TFF-based Prompt Design

使用LLMs以形式化任务框架的方式将其转换为低级执行程序。

LLMs倾向于对非正式问题提供冗长的答案详细的解释,需要设计特定的提示来将输出调节为结构化形式。

受到使用代码块生成机器人动作计划的启发,在计算机编程中以函数形式设计提示词。

1

  • 在函数外部,使用程序注释来指示函数是用于源函数还是目标函数。

    建议使用具有不同形式化任务框架配置的多个源函数,以为LLMs提供更好的指导。

  • 函数名就是原语任务名。

  • 函数参数以任务坐标系中的六个运动方向的进行规定。

  • 如果一个方向不激活,只需将其值指定为0。使用 t r a n s l a t i o n a l z = − 5 N \mathbf{translational}_z=-5\mathbf{N} translationalz=5N a n g u l a r z = 5 r a d / s e c \mathbf{angular}_z = 5 \mathbf{rad / sec} angularz=5rad/sec 来激活六个方向中的两个,控制信号是并行实现的。

Evaluation

Baselines
LLM temperature hyperparameter top P frequency penalty presence penalty hyperparameters
GPT-3.5-turbo 0 1 0 0
GPT-4 0 1 0 0
Bard (Web GUI) None None None None
LLaMA-2 0.01 1 0 0
Evaluation Methods

zero-shot; one-shot; three-shot; five-shot;

2

Results

3

  1. 在 zero-shot 测试中,没有一个LLM能够产生有效的响应。
  2. 对于 GPT-3.5-turboGPT-4Bard 模型,它们从 one-shot 开始就严格遵循定义的代码格式。
  3. 对于 one-shot 提示的 Bard ,它的大多数目标任务规范本质上是从源任务的方向设置中复制的。
  4. 失败原因分析:这些失败的任务与源任务语义相差很大,对LLMs提出了更多的挑战。
  5. LLaMA-2-70B只是反复地调用源函数。它不能生成任何新的坐标设置位置/力设置点

Conclusions and Discussions

  • 建议构建一个更全面的提示,包括所有接触和运动类型的任务。
  • 可以进一步引导 LLaMA-2 模型生成正确规范的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文笔记】Ground Manipulator Primitive Tasks to Executable Actions using Large Language Models 的相关文章

随机推荐

  • Vue3生命周期了解

    Vue3生命周期 在 setup 中 可以通过 onX 的方式注册 生命周期钩子 1 beforeCreate gt 使用 setup 2 created gt 使用 setup 3 beforeMount gt onBeforeMount
  • Sentinel服务流控、熔断和降级

    谷粒商城 分布式基础篇 环境准备 谷粒商城 分布式基础 业务编写 谷粒商城 分布式高级篇 业务编写 持续更新 谷粒商城 分布式高级篇 ElasticSearch 谷粒商城 分布式高级篇 分布式锁与缓存 项目托管于gitee 一 Sentin
  • hrnetv2训练自己的数据集(cityscapes格式)

    简单记录利用hrnetv2训练自有数据时 遇到的问题 1 下载github代码 配置环境 2 假设已有原始8位图像和8位label图像 3 修改root lib datasets cityscapes py中的部分 self label m
  • vtk教程第三章 计算机图形学入门

    计算机图形学是数据可视化的基础 实际上 可视化是将数据转换为一组图形原语的过程 然后使用计算机图形学的方法将这些原语转换成图片或动画 本章讨论计算机图形学的基本原理 我们从描述光和物理物体如何相互作用形成我们所看到的开始 接下来 我们将研究
  • 2023年纳米材料和纳米技术前沿国际会议(NanoMT 2023)

    会议简介 Brief Introduction 2023年纳米材料和纳米技术前沿国际会议 NanoMT 2023 会议时间 2023年9月22日 24日 召开地点 中国武汉 大会官网 NanoMT 2023 2023 4rd Interna
  • Redis五大数据类型使用——zset

    1 Sorted Set数据类型概述 有序集合 元素类型为Sting 元素具有唯一性 不能重复 每个元素都会关联 个double类型的分数score 表示权重 可以通过权重的大小排序 元素的score可以相同 2 Sorted Set数据类
  • numpy.load和numpy.save

    http old sebug net paper books scipydoc numpy intro html id9 numpy load和numpy save函数以NumPy专用的二进制类型保存数据 这两个函数会自动处理元素类型和sh
  • 面试类链表题目汇总

    注意 红色区域为错误点 黄色区域为注意点 重点 1 链表末未添加尾节点 因为插入一个尾节点 如果为空的话就需要修改头结点 多以 void AddToTail ListNode pHead int value ListNode pAdd ne
  • Visual studio 2015 C# 快速using,快捷键修改

    最近开始学习Unity3D引擎 使用的是c 开发 经常要引用其他程序集 但是每次手动打using感觉很麻烦 VS 有个功能是显示可能的修补程序 快捷键是 ctrl 在实际使用的时候大概这个快捷键被占用了 一直没效果 就尝试着自己改 方法如下
  • 思科模拟器DHCP snooping和DAI [动态ARP绑定]

    在设备上开启dhcp中snopping功能 可以有效的防止dhcp非信任端口来的欺骗 使内部网络被攻击到 配置受信任端口是为了防止攻击者在局域网内伪装成一台DHCP服务器 对合法客户的DHCP请求做出响应 为客户提供虚假的IP地址和网关 在
  • Ubuntu 换源

    Ubuntu 换源 我真的是计算机纯小白 如果有啥不对的地方 请各位大佬指出 我一定改正 我是在 VM ware 上运行的虚拟机 用的是 Ubuntu 22 04 操作系统 要换源主要是因为我的 apt get install 命令啥都下不
  • Linux 5.13版本发布,准备支持Apple M1

    在6月27日 Linus Torvalds宣布Linux5 13版本内核发布 新版本在一些著名的平台上 如ARM MIPS RISC V上有显著更新 同时也包括了一些准备工作 为支持苹果的M1芯片所做的更新 详细特性可以参考 https w
  • 测试工具Jmeter下载安装(WIN10)

    1 前往Jmeter官网下载压缩包 其实这一个zip压缩包就足够了 其他的一些tgz后缀的压缩包都不用理会 没有影响 2 解压下载的压缩包 重点知识 解压时千万记好解压路径 后边会涉及到 这个压缩包应该是50MB左右 解压后会出现bin文件
  • 【算法与数据结构】关于排序的问题思考

    文章目录 引言 不断的插入值 并保证序列是递增的 Python中sort 和sorted 的区别是啥 sorted 函数如何使用 问题 如何返回排序之后的索引 问题 排序的稳定性 问题 寻找第K大的元素的算法 引出一个算法题 参考资料 引言
  • Cannot assign requested address出现的原因及解决方案(转)

    Cannot assign requested address出现的原因及解决方案 今天使用python多线程请求服务时 出现Cannot assign requested address错误 网上找了下原因 大致上是由于客户端频繁的连服务
  • 深度学习——day8 读论文(2022 硕士毕业论文)大规模车辆路径问题的深度强化学习算法研究

    大规模车辆路径问题的深度强化学习算法研究 思维导图 算法设计 预训练模型设计 Transformer模型设计 编码器 编码器原理图 第一层 扩维嵌入操作 第二层 线性回归扩维 第三层 注意力层 由两部分组成 KQV模型 注意力层机制最重要的
  • Python内置对象(字符串)

    字符串 定义 在Python中 在单引号或者双引号之间的字符集合 如果字符串中需要出现单引号或双引号 可以使用转义符号 对字符串中的符号进行转义 原始字符串只需要在字符串前边加一个英文字母 r 即可 print r C Program Fi
  • unity 代码动态加载材质求 (Material)

    首先新建一个shader 在progect面板中右键Create gt Shader gt Standard Surface Shader 右键刚才新建的shader 选择Create gt Material unity会自动创建一个名称格
  • 密码学系列之:bcrypt加密算法详解

    简介 今天要给大家介绍的一种加密算法叫做bcrypt bcrypt是由Niels Provos和David Mazi res设计的密码哈希函数 他是基于Blowfish密码而来的 并于1999年在USENIX上提出 除了加盐来抵御rainb
  • 【论文笔记】Ground Manipulator Primitive Tasks to Executable Actions using Large Language Models

    论文笔记 Ground Manipulator Primitive Tasks to Executable Actions using Large Language Models Abstract 研究目标 解决从高层任务到低层机器人执行指