论文

面向动态CAD模型的智能体辅助设计

Agent-Aided Design for Dynamic CAD Models

智能体系统Agent 工具调用

摘要

去年,研究人员开始创建代理系统,可以在免培训的环境中设计真实世界的 CAD 风格对象,这是一种我们称之为代理辅助设计的新型系统。一般来说,这些系统将代理置于反馈循环中,在其中可以编写代码、将该代码编译为 CAD 模型的程序集、可视化模型,然后根据视觉和其他反馈迭代地完善其代码。尽管取得了快速进展,但一个关键问题仍然存在:这些系统都无法构建带有移动部件的复杂 3D 装配体。例如,现有的系统无法构建活塞、钟摆,甚至剪刀。为了使代理辅助设计对工业制造产生真正的影响,我们需要一个能够生成此类 3D 装配的系统。在本文中,我们提出了 AADvark 的原型,这是一个为此任务设计的代理系统。与之前最先进的系统不同,AADvark 捕获具有一个或多个自由度的动态部件交互。这一设计决策允许 AADvark 直接推理具有移动部件的组件,从而实现跨领域目标,包括但不限于机械运动。不幸的是,当前的大语言模型是不完美的空间推理器,AADvark 通过将外部约束求解器工具与专门的视觉反馈机制相结合来解决这个问题。我们证明,通过修改代理工具(FreeCAD 和装配解算器),我们能够创建强大的验证信号,使我们的系统能够构建具有可移动部件的 3D 装配体。

面向动态CAD模型的智能体辅助设计
图 1.AADvark 生成剪刀的图示。 AADvark 接受一张或多张图像和/或文本描述作为输入。 AADvark 为 3D 装配中的零件和接头创建 JSON 定义,然后使用 3D 装配约束求解器对其进行编译。编译错误和中间渲染(在 FreeCAD 中生成)会反馈到代理中。我们修改 FreeCAD 和约束求解器,以分别向代理提供空间提示和信息性错误消息。代理迭代地更新程序集,直到它确定渲染的对象与输入足够相似。 AADvark 生成一把剪刀的插图。 AADvark 接受一张或多张图像和/或文本描述作为输入。 AADvark 为 3D 装配中的零件和接头创建 JSON 定义,然后使用 3D 装配约束求解器对其进行编译。编译错误和中间渲染(在 FreeCAD 中生成)会反馈到代理中。我们修改 FreeCAD 和约束求解器,以分别向代理提供空间提示和信息性错误消息。代理迭代地更新程序集,直到确定渲染的对象与输入足够相似。