如何为交互式仓库构建数字孪生
2022-09-23 09:37
元宇宙代表着下一代互联网。元宇宙的先行者——3D 创作者、开发者和企业正迫切地希望使用能够重新定义无限可能的数字孪生和模拟来推动扩展元宇宙边界。当前全球各个行业正在将资源逐渐转移到元宇宙中,开发者也正在寻找通过构建自定义工具和应用来优化行业工作流程的方法。
NVIDIA Omniverse 是一个用于 3D 模拟和设计协作的开放、可扩展平台,该平台专为扩展和自定义而创建。终端用户和内容创作者可以使用 Omniverse 连接和加速其工作流程,开发者则可以利用 Omniverse 堆栈的平台层,为其独家用例轻松构建新的工具和服务。
为了帮助开发者了解有哪些资产可用于在 Omniverse 中快速构建自定义扩展程序,目前在 NVIDIA 担任技术实习生的哈佛大学研究生 Vishal Vaidhyanathan 创建了一个能够轻松生成仓库数字孪生的轻量扩展程序。亚马逊等公司已通过构建数字孪生来优化仓库设计和流程,并以此训练了更多的智能机器人助手,提升了整体生产力,使得仓库已成为数字孪生的一个关键用例。
一个简单而强大的扩展程序
Warehouse Creator Extension(v.0.1) 提供三个仓库场景创建选项。用户可以:
生成一个简单的仓库外壳并放入用户的资产
选择用户喜欢的布局(U 形、I 形、L 形)和空货架、满货架、栏杆、叉车、机器人等对象,通过程序生成一个包含各种资产的完整仓库
将资产链接粘贴到扩展程序中,就能导入用户自己的资产
场景创建者可以直接在仓库的适当的位置导入自定义资产,而无需把它们拖放到舞台上。例如,如果要在场景中添加箱子,用户可以使用智能导入选项将箱子直接导入到货架或其他的位置。
由于用户已经亲身体验到构建数字孪生的便捷性,因此该扩展程序公布后在 Omniverse 社区引起了热潮。虽然该扩展程序较为简单,但可能会起到抛砖引玉的作用。NVIDIA 的内部团队已经开始在该扩展程序的基础上加入机器人模拟,并将该框架用于其他行业用例。
降低扩展程序开发的难度
尽管仍处于开发阶段,但 Vishal 的仓库扩展程序体现了使用 Omniverse Code 构建扩展程序有多么简单。作为一名建筑设计师,他对通用场景描述(USD)的开发和在 python 中构建扩展程序十分陌生,但他仅利用一个周末就完成了 Warehouse Creator 的构建。
Omniverse Code 相关文档提供了全面的模板和结构,使 Vishal 能很轻松地插入和尝试使用代码。Vishal 使用 omni.usd 文档来构建该扩展程序的逻辑。他从 omni.ui 文档中为一个灵活的用户接口提取参考片段,这使得他能够直观地放置三个场景创建选项。
Vishal 使用简单的资产放置规则来控制舞台上 USD 资产的位置和方向。这些资产被 NVIDIA 的 Omniverse Nucleus 服务器引用,并放置在由放置规则控制的相应位置。omni.usd 库实现了更为轻松的 USD 资产控制。
Vishal 表示:“我希望这能够体现出在 Omniverse 平台进行扩展的便捷性。快速入门文档提供了扩展技术入门所需要的一切信息。”
如要访问该扩展程序:
打开 Omniverse Create(从 Integration Launcher 中打开)
打开窗口 > 扩展程序,在扩展程序窗口中搜索 Warehouse Creator
安装并启用该扩展程序,然后就可以开始使用扩展程序了
USD 的力量
Vishal 还指出了 USD 如何极大简化场景构建流程。USD 既是一种能用于任意 3D 场景的开源交换格式,也是一种运行时。USD 是能够提供用于读取、写入和编辑场景的丰富工具集。通过将纹理、反射、物理和重量等有关信息统一组织在一个文件格式中,使对象控制和复杂工作流程的构建变得更容易。
USD 远不止是一种静态文件格式。它是一个 3D 合成引擎,是整合了用于虚拟世界合成、编辑、查询、渲染、协作和模拟技术的 API,其核心是一种开放、可扩展的 3D 世界语言。NVIDIA Omniverse 既是一个 USD 平台,也是一个用于构建元宇宙应用的工具包和用于运行虚拟世界的计算引擎。