NVIDIA 技术博客:在 FlexSim 中使用 OpenUSD 分析、可视化和优化现实世界的流程

nvdev 2024-01-25 18:16:03

这篇文章最初发表在 NVIDIA 技术博客上。有关此类的更多内容,请参阅最新的 增强现实/虚拟现实 新闻和教程。

对于制造和工业企业而言,效率和精度至关重要。为了简化运营、降低成本和提高生产力,各公司正在转向数字孪生和离散事件模拟。

离散事件模拟使制造商能够通过试验不同的输入和行为来优化流程,这些输入和行为可以逐步进行建模和测试。

FlexSim 是一家模拟建模软件提供商,专门从事离散事件模拟,使用户能够分析、可视化和优化各行各业的真实流程。借助用于创建和运行模拟的强大工具集,它正用于制造、仓储和医疗健康等行业,以改进复杂的系统和运营。

最近,FlexSim 开发了 NVIDIA Omniverse 连接器,使工程师、设计师和仿真专家能够将 FlexSim 模型无缝转换为 Universal Scene Description (OpenUSD) 格式。

NVIDIA Omniverse 是一个开发计算平台,使开发者能够基于 OpenUSD 构建可互操作的 3D 工作流和工具。OpenUSD 是一个可扩展的开源框架,用于在 3D 世界中描述、合成和协作,最初由 Pixar Animation Studios 开发。

FlexSim 利用 Omniverse Connector,使用户能够使用 Omniverse 平台的原生 RTX 渲染器实时可视化其仿真模型,实现逼真的质量。这种高级可视化技术现由 DLSS 3.5 提供支持,有助于决策制定,因为利益相关者可以通过交互式 3D 模型更好地了解复杂系统。

随着 FlexSim 的最新更新,用户现在可以将 3D 模型和资产导出到 USD,从而缩小 Omniverse 中模拟数据和实时 3D 可视化之间的差距。

视频 1.以 USD 格式导出 FlexSim 模型,以便在 NVIDIA Omniverse 中进行实时协作编辑

长期以来,FlexSim 一直是输送机、自动导引车( AGV )和线引导工业机器人系统规划者的首选工具。近年来,自由漫游自主移动机器人( AMR )的数量激增,占据了更多的制造和仓库空间,这促使了FlexSim A* 导航的出现。

将 FlexSim 的高级材料处理工具包与 Omniverse 中的协作布局工具相结合,可以提高模拟规划阶段的灵活性,并提高数字孪生操作阶段的视觉保真度。

借助 OpenUSD 实现无缝数字孪生协作

由于 OpenUSD 的强大功能和通用性,它已成为各行各业(包括视觉效果、建筑、设计、机器人和制造)广泛接受的标准。将 USD 纳入 FlexSim 的工作流程已释放出一系列优势,以各种方式使 FlexSim 团队和用户受益。

其中一个显著优势是它能够增强协作。FlexSim 的 Omniverse Connector 简化了协作,提供了一个平台,让多个团队可以在统一的数字孪生环境中就项目的各个方面实时协作。这促进了工程师、设计师和仿真专家之间的跨职能沟通和协同作用。

数据一致性是另一个重要优势。FlexSim 模型通常可作为复杂工业系统的最终参考。在 FlexSim 中构建对 USD 的支持不仅可确保保留几何数据,还可确保保留必要的模拟元数据。这种数据一致性可在整个设计和模拟阶段保持准确性,最终增强决策制定能力。

此外,采用 USD 使 FlexSim 与更广泛的 3D 设计和工程社区保持一致。CAD 软件包越来越多地将 USD 用作标准交换格式。这种互操作性简化了数据交换并加速了项目工作流程,改善了与使用这些工具的合作伙伴和客户的协作。

FlexSim 的 OpenUSD 支持还包括在 FlexSim 中使用 USD Stage.USD Stage 位于 3D 对象库的视觉区域,充当 3D 对象的容器,使用户能够将 OpenUSD 资产加载到 FlexSim 模型中。

The FlexSim user interface, showing a simulation for a conveyor belt in a factory setting
图 1.FlexSim 中带有可在 Omniverse 中使用的传送带的 USD 载物台

开发连接器

为了开发 Connector,FlexSim 的开发团队从 “Hello World” C++ 和 Python 示例开始,这为寻求构建 Connector 的开发者提供了一个全面的示例。该示例程序在 Omniverse Nucleus 中演示了各种功能,例如:

  • 创建自定义网格并将其添加到场景中
  • 将 MDL 材质及其纹理上传至 Nucleus 服务器
  • 通过实时更新调整骨架网格动画数据

然后,该团队使用实时会话示例构建了实时会话体验,使多个 FlexSim 用户能够在同一场景中实时协作。该示例演示了如何实现众多实时会话功能,包括:

  • 将“edit target”(编辑目标)设置为“。live layer”(实时层),以便更改“Replicate”(复制)到其他客户端
  • 在实时会话中显示所有者和已连接用户
  • 将 .live 会话中的更改合并回根阶段

通过实施实时会话,用户可以创建或加入实时会话,对 USD Stages 进行实时、双向协作编辑。这些阶段可以包含来自各种 3D 软件工具的资产,使跨职能团队能够在同一场景中协作。

他们还使用 Omni CLI 演示如何使用客户端库 API 与 Nucleus 交互。

Omniverse Live connection of a simulation model in FlexSim and USD Composer.图 2.FlexSim 和 USD Composer 中的实时同步仿真模型

开始在 Omniverse 上使用 FlexSim

同时下载 FlexSimOmniverse 在 FlexSim 中,在 “Connectivity” (连接) 下的 “Toolbox” (工具箱) 中找到 Omniverse Connector 属性。您可以选择要导出到 USD 的属性,包括网格、摄像头、纹理和对象属性表。

Screenshot of the FlexSim UI with Omniverse Connector Properties window for exporting assets to USD.
图 3.在 FlexSim 中选择要导出到 USD 的属性

如需详细了解如何在 Omniverse 上开发扩展程序、连接器和应用,请参阅 开始在 Omniverse 上构建

如果你想了解 USD (Universal Scene Description),请参阅 OpenUSD 资源。你也可以参加自定进度的在线课程,开始使用 USD 实现协作式 3D 工作流,并加入我们的 OpenUSD 联盟 (AOUSD) 论坛Discord

免费试用 RunUSD 验证服务 来验证您的 OpenUSD 资产和应用程序与各种 OpenUSD 版本和配置的兼容性。

 

阅读原文

...全文
130 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文系统梳理了计算机组成原理的完整知识体系,重点围绕冯·诺依曼体系结构、五大核心硬件(运算器、控制器、存储器、输入/输出设备)、数据表示与运算、存储层级、CPU架构、总线系统及I/O控制机制展开,深入剖析了硬件底层如何支撑Java程序的运行,特别是与JVM内存模型、多线程并发、IO操作、性能调优等关键技术的紧密关联。文章强调通过理解二进制编码、补码运算、缓存机制、指令流水线、乱序执行、断与DMA等底层原理,帮助Java开发者从根本上解释浮点精度丢失、数值溢出、线程安全、伪共享、IO阻塞等常见问题,并提供性能优化的硬件级视角。; 适合人群:具备一定Java开发基础,工作1-3年,希望深入理解JVM、并发编程、IO模型底层原理的后端研发人员。; 使用场景及目标:① 理解Java代码从编译到执行的完整软硬件链路;② 掌握JVM内存布局、GC机制、线程上下文切换、volatile与synchronized的硬件实现原理;③ 分析并解决高并发、高性能场景下的性能瓶颈,如缓存命率低、伪共享、总线争用、IO阻塞等问题;④ 在面试清晰阐述Java底层与计算机硬件的关联,展现扎实的系统功底。; 阅读建议:建议按照文档提供的“八、学习顺序”分阶段学习,每学完一个硬件模块,立即结合对应的Java技术点(如学到Cache时思考伪共享和@Contended)进行复盘,将抽象硬件原理具象化到日常开发场景,以达到学以致用的目的。

1,412

社区成员

发帖
与我相关
我的任务
社区描述
NVIDIA 开发者技术交流
人工智能 企业社区
社区管理员
  • nvdev
  • 活动通知
  • AI_CUDA_Training
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧