通过模型上下文协议实现基于检索的机器人程序生成与仿真纠正
摘要
本文提出一种基于语言模型的工作流程,用于生成、验证和纠正ABB RAPID机器人程序,采用检索增强生成和模型上下文协议,并通过ABB RobotStudio中的仿真进行验证。
arXiv:2608.21417v1 公告类型:新
摘要:柔性制造要求工业机器人能够随着产品变体的变化而快速重新编程。本文提出一种基于语言模型的工作流程,该流程从自然语言任务描述中生成、验证和迭代纠正ABB RAPID机器人程序。双流检索增强生成(RAG)管道将代码生成建立在经过验证的技术文档和生产模板基础上,减少了由无根据的语言模型产生的领域特定错误。自定义模型上下文协议(MCP)服务器将语言模型客户端直接连接到ABB RobotStudio,实现自动代码上传、仿真执行和诊断反馈。评估结合了一个30个查询的检索基准、有范围的代码生成检查以及在模拟的拾放制造单元中的RobotStudio案例研究。仿真循环暴露了仅靠静态和语义检查无法捕获的执行故障,包括吸盘释放高度错误、不可达的放置目标以及依赖配置的恢复动作。结果表明,RAG和MCP如何将基于根据的代码生成与工业机器人仿真软件的可执行反馈连接起来,同时减少但未消除专家设置和最终监督。
查看缓存全文
缓存时间: 2026/08/25 04:15
# 基于模型上下文协议的检索增强机器人程序生成与仿真校正 来源:https://arxiv.org/html/2608.21417 ## 基于模型上下文协议的检索增强机器人程序生成与仿真校正 期刊:CIE53会议论文集 周志超 邮箱:[zhousaiensi@gmail\.com](mailto:[email protected]) 地址:瑞典哥德堡,查尔姆斯理工大学机械工程系,Hörsalsvägen 7a,邮编 SE-412 96 陈思远 邮箱:[siyuan\.chen@chalmers\.se](mailto:[email protected]) 通讯作者:通讯作者 地址:瑞典哥德堡,查尔姆斯理工大学机械工程系,Hörsalsvägen 7a,邮编 SE-412 96 Omkar Salunkhe 邮箱:[omkar\.salunkhe@chalmers\.se](mailto:[email protected]) 地址:瑞典哥德堡,查尔姆斯理工大学机械工程系,Hörsalsvägen 7a,邮编 SE-412 96 Ebru Turanoglu Bekar 邮箱:[ebrut@chalmers\.se](mailto:[email protected]) 地址:瑞典哥德堡,查尔姆斯理工大学机械工程系,Hörsalsvägen 7a,邮编 SE-412 96 Johan Stahre 邮箱:[johan\.stahre@chalmers\.se](mailto:[email protected]) 地址:瑞典哥德堡,查尔姆斯理工大学机械工程系,Hörsalsvägen 7a,邮编 SE-412 96 Anders Skoogh 邮箱:[anders\.skoogh@chalmers\.se](mailto:[email protected]) 地址:瑞典哥德堡,查尔姆斯理工大学机械工程系,Hörsalsvägen 7a,邮编 SE-412 96 ###### 摘要 柔性制造要求工业机器人在产品变型更换时能够快速重新编程。本文提出一种基于语言模型的工作流程,能够根据自然语言任务描述生成、验证并迭代纠正 ABB RAPID 机器人程序。一个双流检索增强生成(RAG)流水线将代码生成建立在经过验证的技术文档和生产模板基础上,减少了无依据的语言模型所产生的领域特定错误。一个定制的模型上下文协议(MCP)服务器将语言模型客户端直接连接到 ABB RobotStudio,实现自动代码上传、仿真执行和诊断反馈。评估结合了一个30个查询的检索基准测试、有范围的代码生成检查,以及在仿真拣选与放置制造单元中的 RobotStudio 案例研究。仿真循环揭示了仅靠静态和语义检查无法捕获的执行失败,包括吸盘释放高度错误、不可达的放置目标以及依赖于配置的恢复动作。结果表明,RAG 和 MCP 如何将基于依据的代码生成与来自工业机器人仿真软件的可执行反馈联系起来,同时减少但并未消除专家设置和最终监督的需求。 ###### 关键词: 机器人编程,模型上下文协议,大型语言模型,检索增强生成 ## 1 引言 柔性制造依赖于在产品变型、夹具、工具或生产批量发生变化时重新配置生产系统的能力[1 (https://arxiv.org/html/2608.21417#bib.bib1)]。工业机器人是这种灵活性的核心,因为它们可以执行跨不同产品族的搬运、装配和工艺任务。然而,更改机器人任务并不像更改产品计划那样简单:新行为必须经过编程、根据单元布局进行检查,并在投入生产前进行验证[2 (https://arxiv.org/html/2608.21417#bib.bib2)]。 因此,机器人编程仍然是一个持续存在的工程瓶颈。传统的在线和离线编程方法降低了部署风险,但它们仍然需要机器人语言、坐标系、工具、传感器和工艺约束方面的专业知识[3 (https://arxiv.org/html/2608.21417#bib.bib3)]。在高混流制造中,这一挑战变得更加明显,因为产品变型频繁更换,重复的手动编程成本可能会限制制造单元的实际灵活性。 大型语言模型(LLMs)为机器人编程提供了一种新的接口,因为它们可以将自然语言意图转换为类似代码的控制逻辑[4 (https://arxiv.org/html/2608.21417#bib.bib4)]。关于对话式机器人编程的研究表明,这些模型可以推理任务和机器人动作,但同时也揭示了在可靠性和领域特定性方面的局限[5 (https://arxiv.org/html/2608.21417#bib.bib5)]。检索增强生成(RAG)通过将生成建立在外部文档和示例的基础上,解决了部分问题[6 (https://arxiv.org/html/2608.21417#bib.bib6)]。对于机器人代码生成,这很有用,因为本地手册和经过验证的示例可以减少产生的错误指令和无效编程模式[7 (https://arxiv.org/html/2608.21417#bib.bib7)]。 然而,对于工业机器人编程而言,基于文本的生成是不够的。一个生成的机器人程序可能遵循了请求的任务,但在配置好的单元中执行时仍然可能失败。可达性、路径几何形状、夹具释放行为、I/O 状态和控制器恢复是执行属性,而不仅仅是代码属性。工业机器人系统的自动测试研究从验证角度指出了同一点:验收必须基于系统行为,而不仅仅是程序结构[8 (https://arxiv.org/html/2608.21417#bib.bib8)]。这就留下了基于 RAG 的代码生成与制造业所需的执行级反馈之间的差距。 本文在具体的工业机器人编程环境中解决了这一差距。该工作流程针对 ABB RAPID 程序,并使用 RobotStudio 作为仿真和控制器执行环境。RAG 检索相关的技术文档和生产模板,而模型上下文协议(MCP)则将 RobotStudio 操作公开为可调用的工具。生成的程序被上传到虚拟控制器,进行执行、监控,并使用执行状态、事件日志、关节读数、I/O 信号、场景信息和程序变量进行纠正。截图被保留用于文档记录和人工确认,但不作为主要的自动检测信号。 本文贡献了一种连接 RobotStudio 的工作流程,用于从自然语言生成和验证供应商特定的机器人程序,评估了用于减少领域特定生成错误的双流 RAG,并提供了案例证据,表明执行反馈如何揭示文本级检查所遗漏的失败。论文结构如下。第2节 (https://arxiv.org/html/2608.21417#S2) 回顾了关于工业机器人编程、离线仿真、RAG 和使用工具的 LLM 工作流程的相关工作。第3节 (https://arxiv.org/html/2608.21417#S3) 描述了所提出的工作流程。第4节 (https://arxiv.org/html/2608.21417#S4) 解释了评估设计和指标。第5节 (https://arxiv.org/html/2608.21417#S5) 报告了检索、生成和 RobotStudio 结果,随后是讨论和结论。 ## 2 文献综述 工业机器人编程受到专有控制器语言和封闭平台生态系统的制约[3 (https://arxiv.org/html/2608.21417#bib.bib3)]。ABB 系统使用 RAPID 模块来定义运动指令、工件、工具数据、I/O 行为和执行例程[9 (https://arxiv.org/html/2608.21417#bib.bib9)]。离线编程和仿真环境,如 ABB RobotStudio,允许在部署前开发和测试机器人程序[10 (https://arxiv.org/html/2608.21417#bib.bib10)]。基于 CAD 的离线编程也被研究作为一种减少手动编程工作量的方法,使具有制造工艺知识的用户能够更容易地进行机器人编程[11 (https://arxiv.org/html/2608.21417#bib.bib11)]。这些方法很有用,因为虚拟控制器和仿真环境可以在无需立即接触硬件的情况下重现控制器行为、机器人运动学和许多执行约束。 对于生成的机器人程序来说,离线仿真不仅仅是可视化。通过结构检查的代码仍可能失败,原因可能是运动不可达、关节解接近奇异点、弧段几何无效或零件未被末端执行器释放。因此,工业机器人系统的自动验收测试已被确定为减少手动验证工作量的重要方向[8 (https://arxiv.org/html/2608.21417#bib.bib8)]。在 LLM 生成的机器人代码背景下,这意味着文本级检查应由来自目标编程和仿真环境的执行反馈来补充。 检索增强生成解决了一个独立但相关的问题:LLM 在被要求生成专业领域的代码时,容易产生技术细节的幻觉[12 (https://arxiv.org/html/2608.21417#bib.bib12)]。RAG 通过检索相关源材料并在推理时对其进行条件化生成来注入外部知识[6 (https://arxiv.org/html/2608.21417#bib.bib6)]。检索质量在技术领域尤为重要,因为相关的源材料必须出现在提示上下文的前部才能影响生成。基于假设文档的查询重构方法展示了减少用户请求与技术文档之间词汇鸿沟的一种方式[13 (https://arxiv.org/html/2608.21417#bib.bib13)]。对于机器人代码生成,这很有用,因为用户描述的意图例如“从传送带上拾取一个零件”,而知识库描述的是指令、数据类型和控制器语义。 使用工具的 LLM 工作流程通过添加查询分解、类型化工具调用和迭代纠正来扩展 RAG[14 (https://arxiv.org/html/2608.21417#bib.bib14)]。最近关于智能体检索增强生成的工作也将检索与工具使用和反馈相结合[15 (https://arxiv.org/html/2608.21417#bib.bib15)]。模型上下文协议提供了一种标准化的客户端-服务器模式,用于将外部工具和数据源暴露给 LLM 应用程序[16 (https://arxiv.org/html/2608.21417#bib.bib16)]。在所提出的系统中,MCP 被用作 LLM 客户端和 RobotStudio 之间的接口层。这种分离将语言模型置于模拟器之外,同时使模拟器操作作为类型化工具可用。 这些研究线索表明,人工智能辅助可以支持机器人程序合成,但它们为工业单元留下了一个重要的验证空白。语言模型机器人控制表明,自然语言意图可以被翻译成可执行的程序[4 (https://arxiv.org/html/2608.21417#bib.bib4)]。对话式机器人编程研究也报告了类似的潜力,同时也强调了可靠性限制[5 (https://arxiv.org/html/2608.21417#bib.bib5)]。RAG 通过将生成建立在手册和示例的基础上,减少了一些领域特定的幻觉[7 (https://arxiv.org/html/2608.21417#bib.bib7)]。然而,文本级正确性并不能保证生成的 RAPID 模块在配置好的 RobotStudio 工作站中能正确运行。因此,当前工作的新颖之处不仅在于使用 LLM 生成机器人代码,还在于将生成连接到来自 RobotStudio 的执行级反馈,在那里可以使用控制器状态、事件日志、I/O 信号、RAPID 变量和场景对象来诊断和纠正失败。 ## 3 提出的工作流程 该工作流程包含两个连接的层:一个检索和规划层,用于准备基于依据的 RAPID 生成提示;一个验证和执行层,用于在 RobotStudio 中运行生成的程序并返回诊断反馈。图1 (https://arxiv.org/html/2608.21417#S3.F1) 总结了整体架构。 请参考图注图1:总体检索与规划及验证与执行工作流程。### 3.1 检索和规划层 检索和规划层使用两个检索流。文档流主要基于 ABB 的 RAPID 技术参考手册,涵盖指令、函数和数据类型;而代码模板流包含由一家北欧领先汽车公司提供的106个经过验证的 RAPID 示例。这种分离很重要,因为两个流回答不同的问题。文档解释指令语义和数据类型,而模板展示如何将指令组合成可执行的模块结构。 对于用户请求,查询分解步骤将任务拆分为更小的检索任务,例如定位运动指令规则、I/O 信号模式、工具定义、工件约定或错误处理示例。检索到的代码片段被组装成一个结构化的提示,要求生成一个完整的 RAPID 模块,具有明确的入口过程、平衡的分隔符、无未解决的占位符,并使用用户指定的工具和工件名称。 ### 3.2 验证和执行层 验证和执行层通过为本研究开发并作为工程制品发布的一个 RobotStudio MCP 桥接器将 LLM 客户端连接到 RobotStudio。111本研究中使用的 RobotStudio MCP 实现可在 https://github.com/zhou-zhichao/robotstudio-mcp 获取。一个 RobotStudio 插件通过端口8080公开一个本地 HTTP API。MCP 服务器将来自语言模型客户端的工具调用转换为对插件的 HTTP 请求,然后插件与 RobotStudio SDK 对象和虚拟控制器交互。该桥接器公开了16个 MCP 工具,涵盖工作站状态、关节状态读取、仿真启动/停止/重置、RAPID 上传与执行、事件日志检索、模块/源代码检查、RAPID 变量访问、I/O 信号访问、场景对象检查和截图捕获。 ### 3.3 验证循环 验证循环在生成器产生 RAPID 模块后开始。工作流程首先应用结构检查,以确保模块和过程分隔符平衡且没有模板占位符残留。然后,语义验证步骤检查用户指定的对象、工具、I/O 信号和运动意图是否得到体现。随后,MCP 桥接器将代码上传到 RobotStudio,在虚拟控制器上执行,并检索控制器反馈。 当执行失败时,工作流程使用诊断输出来修改程序。本文使用的主要反馈信号是控制器执行状态、事件日志错误、关节读数、I/O 信号值以及场景对象的位置和边界框。场景内省也有助于避免硬编码的假设。例如,工作流程可以列出可用的 `wobjdata` 声明,而不是手动推导工件坐标;并且可以读取对象边界框来计算不同零件尺寸的放置高度。 ## 4 实验设置 评估结合了检索基准测试、代码生成检查和 RobotStudio 仿真案例。表1 (https://arxiv.org/html/2608.21417#S4.T1) 说明了每个部分的分析单元,以便在正确的范围内解释结果。检索指标在相同的30个查询上比较配置;代码生成检查总结了在记录的生成集中观察到的模块质量;RobotStudio 案例研究检查了执行反馈是否能揭示文本级检查所遗漏的失败。 表1:评估范围和预期比较。检索基准测试包含30个查询,这些查询是为拣选与放置操作、托盘流、焊接序列、信号处理和错误恢复逻辑构建的。每个查询都手动关联了相关的文档和代码块。此外,进行了21次代码生成试验,以评估七个类别下的 RAPID 模块质量,包括路径跟踪。
相似文章
Agentic RAG-VLM: 基于功能感知的检索增强生成与自反思规划用于机器人抓取
本文介绍了Agentic RAG-VLM,一个统一的框架,将检索增强生成与视觉语言模型及自反思规划相结合,实现在杂乱环境中的泛化机器人抓取,成功率达到78.3%。
我的智能体一直在自信地基于糟糕的检索上下文行动,直到我添加了自检步骤
作者分享了防止基于RAG的智能体基于糟糕的检索上下文行动的技术,包括混合检索、重排序、纠正检索步骤和防护栏,并有一个构建实验室活动于8月29日演示这些方法。
面向机器人控制的上下文世界建模
本文介绍了上下文世界建模(ICWM),这是一个使机器人策略能够从自身生成的交互中推断系统变量的框架,通过将系统识别视为一个上下文自适应问题,无需参数更新即可适应新的配置。在模拟和真实世界实验中,它在处理新的相机视角时优于标准的VLA基线。
编码代理作为世界模拟器表现良好
本文提出了一种基于代理的框架,利用编码代理从自然语言提示生成物理上可信的世界模拟,在物理准确性和指令保真度方面优于基于视频的模型。
检索很廉价,给我看代码:面向检索增强生成的可执行多跳推理
本文介绍了PyRAG,这是一个将多跳检索增强生成重新表述为程序合成与执行的框架,使用可执行的Python代码来表示推理步骤,从而实现确定性反馈和自适应检索。