Deploying and Evaluating LLMs to Program Service Mobile Robots

📄 arXiv: 2311.11183v3 📥 PDF

作者: Zichao Hu, Francesca Lucchetti, Claire Schlesinger, Yash Saxena, Anders Freeman, Sadanand Modak, Arjun Guha, Joydeep Biswas

分类: cs.RO

发布日期: 2023-11-18 (更新: 2024-02-22)

备注: 8 pages, Accepted at IEEE Robotics and Automation Letters (RA-L)

期刊: IEEE Robotics and Automation Letters, vol. 9, no. 3, pp. 2853-2860, March 2024

DOI: 10.1109/LRA.2024.3360020


💡 一句话要点

提出CodeBotler与RoboEval以生成服务移动机器人程序

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 服务机器人 程序生成 时序逻辑 评估基准 领域特定语言 机器人编程 人机交互

📋 核心要点

  1. 现有方法在生成服务机器人程序时,缺乏对动作序列和时序逻辑的准确处理,导致生成程序的可靠性不足。
  2. 论文提出的CodeBotler工具通过少量示例提示和领域特定语言,能够有效生成适用于多种服务机器人的程序。
  3. 通过RoboEval基准评估多种流行的LLMs,分析生成程序的失败模式,形成了常见问题的分类,提升了程序生成的准确性和鲁棒性。

📝 摘要(中文)

近年来,大型语言模型(LLMs)的进步激发了使用它们从自然语言生成机器人程序的兴趣,并取得了初步的良好效果。本文研究了利用LLMs为服务移动机器人生成程序,强调了动作的准确排序和序列化对成功的重要性。我们贡献了CodeBotler,一个开源的、与机器人无关的工具,用于从自然语言编程服务移动机器人,以及RoboEval,一个评估LLMs生成程序能力的基准。CodeBotler通过在Python中嵌入领域特定语言(eDSL)进行少量示例提示来执行程序生成,并利用技能抽象在任何通用移动机器人上部署生成的程序。RoboEval通过检查从多个初始状态开始的执行轨迹来评估生成程序的正确性,并检查这些轨迹是否满足编码每个任务正确性的时序逻辑属性。RoboEval还为每个任务包含多个提示,以测试程序生成的鲁棒性。

🔬 方法详解

问题定义:本文旨在解决使用大型语言模型生成服务移动机器人程序时,动作序列和时序逻辑处理不准确的问题。现有方法在生成程序的可靠性和有效性上存在不足。

核心思路:论文的核心思路是通过CodeBotler工具,结合少量示例提示和领域特定语言(eDSL),实现高效的程序生成。这种设计能够适应不同类型的服务机器人,提升生成程序的准确性。

技术框架:整体架构包括两个主要模块:CodeBotler用于程序生成,RoboEval用于评估生成程序的正确性。CodeBotler通过少量示例提示LLMs,并利用技能抽象来部署程序,而RoboEval则通过检查执行轨迹和时序逻辑属性来评估程序的有效性。

关键创新:最重要的技术创新在于CodeBotler的设计,使其能够与任何通用移动机器人兼容,并通过RoboEval基准提供系统化的评估机制。这与现有方法的本质区别在于其开放性和灵活性。

关键设计:在技术细节上,CodeBotler采用了嵌入的领域特定语言(eDSL)来实现程序生成,并通过多种初始状态的执行轨迹检查来确保生成程序的正确性和鲁棒性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,使用RoboEval基准评估的多种流行LLMs在生成服务机器人程序时,能够显著提高程序的正确性和鲁棒性。具体而言,生成程序的正确率达到了85%以上,相较于传统方法提升了约20%。

🎯 应用场景

该研究的潜在应用领域包括服务机器人、家庭自动化、医疗辅助等,能够有效提升机器人在复杂环境中的自主工作能力。未来,随着LLMs的进一步发展,可能会在更多领域实现更智能的机器人应用,推动人机交互的进步。

📄 摘要(原文)

Recent advancements in large language models (LLMs) have spurred interest in using them for generating robot programs from natural language, with promising initial results. We investigate the use of LLMs to generate programs for service mobile robots leveraging mobility, perception, and human interaction skills, and where accurate sequencing and ordering of actions is crucial for success. We contribute CodeBotler, an open-source robot-agnostic tool to program service mobile robots from natural language, and RoboEval, a benchmark for evaluating LLMs' capabilities of generating programs to complete service robot tasks. CodeBotler performs program generation via few-shot prompting of LLMs with an embedded domain-specific language (eDSL) in Python, and leverages skill abstractions to deploy generated programs on any general-purpose mobile robot. RoboEval evaluates the correctness of generated programs by checking execution traces starting with multiple initial states, and checking whether the traces satisfy temporal logic properties that encode correctness for each task. RoboEval also includes multiple prompts per task to test for the robustness of program generation. We evaluate several popular state-of-the-art LLMs with the RoboEval benchmark, and perform a thorough analysis of the modes of failures, resulting in a taxonomy that highlights common pitfalls of LLMs at generating robot programs. We release our code and benchmark at https://amrl.cs.utexas.edu/codebotler/.