位置:首页 > 热点资讯 > NVIDIA Omniverse RTX传感器仿真集成到现有应用方案

NVIDIA Omniverse RTX传感器仿真集成到现有应用方案

时间:2026-07-21  |  作者:318050  |  阅读:0

对于正在构建3D、设计、仿真、机器人以及工业数字孪生应用的开发者来说,一个关键需求是:如何将物理AI能力无缝嵌入到他们已经在使用的工具和服务中。很多工作流已经依赖于OpenUSD场景、SimReady(仿真就绪)资产、基于Blender的工作流、CAD管线,或者是特定领域的应用栈。真正的挑战在于,如何让这些应用和AI袋里具备可调用的工具,来检查场景、生成传感器输出、测试变更,并返回开发者可以信赖的验证结果。

NVIDIA Omniverse库,现在已整合到NVIDIA Agent Toolkit中,提供了一套模块化的构建模块,用于将这些能力添加到现有应用中。ovrtx就是其中的RTX传感器仿真库,目前以预发布软件的形式在GitHub上提供。它为开发者提供了一个轻量级的C和Python SDK,能够从OpenUSD内容生成相机、激光雷达、雷达及相关传感器输出,同时将控制权保留在宿主应用内部。

在Omniverse库的堆栈中,ovstage为OpenUSD场景数据提供了一个共享的运行时阶段,使得像ovphysx和ovrtx这样的库能够通过一个公共的数据基座来交换仿真状态、场景变更和prim标识。这篇文章将带你了解ovrtx如何作为Omniverse库模型的一部分集成到现有工作流中,包括加载OpenUSD内容、配置渲染和传感器输出、从应用循环中步进、将结果读回应用,以及将同样的模型应用到PTC Onshape Render Studio示例和SimReady Blender示例工作流中。

NVIDIA Omniverse库如何帮助应用开发者?

仿真和渲染正在成为众多工作流应用层的一部分,涵盖设计、机器人、自动驾驶汽车(A V)、工业数字孪生和物理AI。开发者和团队需要可视化OpenUSD场景、生成物理上可信的数据、测试感知系统、验证行为,并在他们使用的工具内部查看结果。这些工具包括CAD系统、基于Blender的工作流、PLM或PDM工作流、OpenUSD资产管线、内部仿真栈以及特定领域的应用。

在之前的文章《将物理AI能力集成到现有应用中——使用NVIDIA Omniverse库》中,我们介绍了一种以库为先的方法,将Omniverse能力添加到现有应用栈中。该文章展示了独立的库如何通过聚焦的API暴露传感器、物理和存储能力,让团队对能力在自身工具和服务中的运行位置有更多控制权。ovrtx正是将这种方法专门应用于Omniverse RTX传感器仿真和可视化。

正如在SIGGRAPH 2026上宣布的,NVIDIA Agent Toolkit现在包含了Omniverse库,其中ovrtx作为RTX传感器仿真层,帮助应用和袋里从OpenUSD场景生成相机、激光雷达、雷达、语义分割和视觉预检输出。与其他Omniverse库结合使用时,它成为准备和验证仿真就绪3D内容的工具驱动工作流的一部分。

NVIDIA Omniverse RTX传感器仿真集成到现有应用方案_wishdown.com
图1. 现有应用工作流——使用OpenUSD场景数据,通过ovrtx生成RTX渲染的相机和传感器输出

当传感器仿真需要融入现有工作流时,这种应用控制至关重要。对于物理AI团队来说,这些输出可以支持合成数据生成(SDG)、感知测试、机器人工作流、仿真就绪的数字孪生以及设计审查。现在,ovrtx已在GitHub上以预发布软件的形式提供,你可以查看C和Python API,运行示例,测试OpenUSD场景加载,并评估RTX传感器输出如何融入你自己的应用循环。

如何将ovrtx集成到现有工作流中

ovrtx的核心原则很直接:作为开发者,你可以将NVIDIA Omniverse RTX传感器仿真带入自己的应用,同时保持对应用架构、UI、数据模型和工作流的控制。这个轻量级的C和Python SDK专为需要实时3D视口、RTX渲染或传感器仿真(包括相机、激光雷达、雷达、超声波及相关输出)的项目而设计。

典型的集成分五步走:

  1. 创建并配置一个ovrtx渲染器。
  2. 从应用现有管线中加载或引用OpenUSD内容。
  3. 为工作流所需的相机、激光雷达、雷达、语义分割或渲染输出定义RenderProduct和RenderVar。
  4. 从应用循环中步进渲染或传感器仿真。
  5. 将结果映射回CPU或GPU内存,以便应用能够显示、保存、分析或传递给另一个进程。

下面是一个伪代码示例——宿主应用拥有工作流的所有权。

renderer = ovrtx.Renderer() renderer.open_usd(app_scene_or_usd_layer) render_products = {"/Render/Camera"} # 根据需要添加激光雷达、雷达或其他输出。 while app.is_running(): app.update_scene_state() products = renderer.step(render_products=render_products, delta_time=app.frame_delta_seconds) for product in products.values(): for frame in product.frames: color = frame.render_vars["LdrColor"].map(device=ovrtx.Device.CPU) app.use_render_output(color)

控制权始终留在宿主应用手中。应用拥有循环;ovrtx生成请求的渲染或传感器输出;结果返回给工作流,用于显示、存储、分析或下游处理。

ovrtx集成流程中的核心组件

当宿主应用调用ovrtx时,会用到几个核心部分:Omniverse RTX渲染器、一个OpenUSD阶段,以及定义要生成输出的RenderProduct和RenderVar。

Omniverse RTX渲染器

Omniverse RTX渲染器是ovrtx库暴露的核心技术。它充分利用NVIDIA RTX,将NVIDIA RTX GPU中的“片上”RT Core与Tensor Core提供的AI加速相结合。NVIDIA Omniverse RTX能够对3D环境中的光传输进行实时、基于物理的渲染和仿真,利用灵活的基于物理的光照和材质来模拟相机、激光雷达、雷达及相关传感器输出。

ovstage

ovstage是Omniverse库的共享运行时阶段。它提供C和Python API,用于通过CPU和GPU内存读取、写入、查询和管理OpenUSD场景数据,例如变换、材质、层级、元数据和仿真状态。在多库工作流中,ovstage允许ovphysx写入更新的仿真状态,而ovrtx读取变更后的场景数据进行传感器仿真——无需每个库维护独立的场景表示。

OpenUSD

NVIDIA已将OpenUSD作为NVIDIA Omniverse和仿真工作流的基础数据层。OpenUSD定义了3D场景的标准数据表示,并提供了C++和Python API来读写这些场景。OpenUSD中的数据组织成一个场景图,ovrtx可以对其进行渲染。USD阶段可以定义和处理复杂的几何体、光度光源、OpenPBR材质、相机以及其他传感器。

RenderProduct与RenderVar

RenderProduct和RenderVar提供了一种USD原生的方式来定义要从渲染器或传感器仿真器中获取的输出。它们提供了很大的灵活性,可以指定输出类型、分辨率、格式和其他参数。一个RenderProduct与一个或多个传感器关联,ovrtx生成与该RenderProduct关联的RenderVar所定义的输出。RenderProduct和RenderVar可以通过编程方式定义并存储在USD场景中,也可以在运行时使用ovrtx的C或Python API定义。

应用流程

可以将ovrtx看作一个按需服务,你的应用在需要可视化OpenUSD场景或生成渲染与传感器输出时调用它。前几步——创建渲染器、加载OpenUSD内容、配置RenderProduct和RenderVar——通常只执行一次或很少执行。最后几步——步进渲染或传感器仿真以及读取输出——通常运行在应用循环内部。

创建并配置ovrtx渲染器

你的现有应用,无论是Python、C还是C++,首先创建一个渲染器实例并设置所需的基本选项。

  • 初始化ovrtx并构造一个渲染器对象,将其指向正确的GPU和任何全局配置选项。
  • 如果你有多个视图或传感器,仍然只有一个渲染器实例来协调它们,多个RenderProduct稍后会被附加。
renderer = ovrtx.Renderer()

加载或引用OpenUSD内容

接下来,渲染器需要知道从哪个USD阶段提取数据。

  • 使用open_usd将渲染器指向一个OpenUSD文件或URL,使用open_usd_from_string直接从字符串加载USDA,或使用add_usd_reference组合额外的引用内容。
  • 如果你的应用已经有Omniverse或USD管线,ovrtx可以直接读取该OpenUSD内容,而无需应用以另一种格式重建场景。
renderer.open_usd("warehouse_scene.usd") # 或者组合额外内容到阶段中: # renderer.add_usd_reference("extra_props.usd", prefix="/World/Props")

配置渲染和传感器输出

有了渲染器和阶段后,应用指定它需要哪些输出。

定义RenderProduct

  • 例如:机器人上的RGB相机、俯视监控相机、车辆上的旋转激光雷达传感器。
  • 每个RenderProduct绑定到USD阶段中的一个相机或传感器prim路径,并指定分辨率。

附加RenderVar。对于每个RenderProduct,指定ovrtx应该生成哪些输出。例如:

  • 颜色,如LdrColor或HdrColor
  • 深度或距离
  • 表面法线
  • 语义分割
  • 激光雷达点云
  • 雷达检测
  • 其他传感器特定的张量

从应用循环中步进渲染或传感器仿真

应用从其主循环中调用ovrtx,主循环可能已经管理着物理、动画、用户输入、网络或其他仿真状态。应用更新OpenUSD阶段后,通过传入时间增量来推进渲染或传感器仿真。ovrtx随后为配置的RenderProduct和RenderVar生成请求的输出。

将输出返回给应用

对于生成的每一帧,应用将请求的输出作为张量读取,位于CPU或GPU内存中。它根据需要将这些输出用于应用逻辑的其他部分。

获取数据的GPU和CPU视图:

  • ovrtx将每个RenderVar暴露为一个张量句柄。可以使用DLPack、NumPy或PyTorch工具进行包装。
  • 如果希望保留在GPU上(例如,馈送给模型),则保持缓冲区在设备上,直接传递给PyTorch或Warp,无需复制。
  • 如果需要保存图像或点云,则在CPU内存上请求这些输出,并使用其他逻辑写入PNG、NumPy数组等。
op = renderer.step_async(render_products={"/Render/Camera"}, delta_time=1.0 / 60) pending = op.wait() products = pending.fetch() for _name, product in products.items(): for frame in product.frames: var = frame.render_vars["LdrColor"].map(device=ovrtx.Device.CPU)

何时将ovrtx与其他Omniverse库一起使用

ovrtx可以单独使用,也可以与其他NVIDIA Omniverse库结合使用,具体取决于宿主应用的需求。当应用需要RTX传感器仿真、视口输出或可视化时,从ovrtx开始。当工作流还需要物理、流式传输、存储或其他应用服务时,再添加其他库。

应用需求使用功能
RTX传感器仿真、视口输出或可视化ovrtx从OpenUSD内容生成渲染帧和传感器输出
物理仿真与渲染或传感器输出ovrtx + ovphysx添加物理行为,可在应用工作流中可视化或使用
将渲染输出流式传输到远程或浏览器体验ovrtx + ovstream添加用于交互式查看或审查的流式传输路径
跨存储工作流管理OpenUSD内容ovrtx + ovstorage添加读取、写入或同步OpenUSD场景数据的路径
跨渲染、物理、传感器和应用代码共享OpenUSD场景状态ovstage + ovrtx / ovphysx提供共享运行时阶段,使库能够交换场景数据、仿真更新和变更的prim状态
表1. 根据开发者需要添加的应用能力,将ovrtx与其他Omniverse库结合使用的常见方式

将此表作为决策起点,判断宿主应用需要什么。当工作流需要从OpenUSD内容生成渲染帧、视口输出或模拟传感器输出时,从ovrtx开始。只有当同一工作流还需要物理行为、交互式流式传输或OpenUSD内容管理时,才添加ovphysx、ovstream或ovstorage。下面的示例展示了这些选择如何映射到实际的集成模式,从最小的ovrtx渲染到交互式查看和多库工作流。

ovrtx实际集成示例

首先,可以直接访问NVIDIA-Omniverse/ovrtx GitHub仓库,获取SDK示例、设置指南和API相关技能。对于袋里指导,可参考NVIDIA Agent Skills。要了解Omniverse库在早期工作流中的组合方式,可以探索NVIDIA-Omniverse/omniverse-labs GitHub仓库,其中包含来自NVIDIA Omniverse团队的实验性示例、集成试验、参考模式和概念验证应用。

示例:最小化“Hello World”

从ovrtx仓库中的最小化ovrtx示例开始。这个“Hello World”示例是一个简单的冒烟测试,用于在添加交互、传感器输出或更大的应用外壳之前验证直接SDK路径。

视频1. 了解如何运行最小化示例,将Python、C和C++应用连接到Omniverse RTX渲染进程,并为机器人和合成数据工作流生成传感器输出

该示例展示了如何创建渲染器、加载OpenUSD场景、渲染单张图像,并将结果复制回CPU以写入PNG。传递--png标志,输出将写入_output/render.png,可以使用任何图像查看器检查。不传递标志时,示例会直接在你的默认图像查看器中打开渲染图像。

适用场景:为现有应用添加RTX传感器仿真能力,而无需构建完整的Omniverse Kit应用。

示例:构建交互式USD查看器

当目标是构建一个围绕OpenUSD内容的查看器应用,尤其当工作流需要对GPU后端渲染器进行浏览器流式访问时,可以使用Omniverse Realtime Viewer技能。ovrtx仍然是渲染层,而查看器提供了周围的应用结构:场景加载、相机控制、选择、渲染设置、UI,以及本地桌面或浏览器流式传输。对于更底层的C++视口集成,vulkan-interop示例展示了如何使用Vulkan和CUDA在实时视口中显示ovrtx输出。

视频2. 了解单个自然语言提示如何搭建一个功能完整的查看器应用,包含服务器、前端、脚本、资产、USD场景文件、RenderVar输出以及ovrtx/ovstream后端

对于浏览器流式工作流,服务器拥有ovrtx渲染器和OpenUSD阶段的访问权限,然后使用ovstream将渲染帧发送到浏览器UI。想要动手实践,可以使用Brev可启动项部署并测试一个基于ovrtx和ovstream库构建的实时查看器应用。

更多信息,请参阅NVIDIA-Omniverse/omniverse-labs GitHub仓库中的袋里辅助集成指南。

适用场景:开发一个流式USD查看器,具备RTX渲染、基于浏览器的相机控制,以及使用NVIDIA Omniverse库和AI编码袋里的GPU后端部署路径。

示例:使用ovphysx添加物理

场景可视化之后,下一步通常是让它具有物理行为——重力、碰撞、摩擦和其他仿真行为。这就是ovphysx发挥作用的地方。与ovrtx类似,ovphysx可以从应用工作流中调用,以便应用模拟行为并在实时视口中可视化结果。


视频3. 了解如何使用NVIDIA Omniverse库(包括ovrtx、ovphysx、ovstorage和基于MCP的袋里工作流)为现有应用添加物理AI能力

Omniverse-Labs中的ovrtx + ovphysx示例展示了这种组合工作流。该示例采用双进程架构:查看器进程由ovrtx拥有,而一个独立的ovphysx工作进程将姿态数据流回应用循环。

适用场景:在渲染或传感器感知的OpenUSD工作流中添加物理仿真。

示例:SimReady Blender示例工作流

在SIGGRAPH 2026上展示的SimReady Blender示例工作流,展示了软件制造商如何使用Omniverse库(现在已整合到NVIDIA Agent Toolkit中)向现有3D应用添加袋里就绪的仿真能力——包括NVIDIA RTX传感器仿真、物理和验证——同时让创作者保持控制。现在,该工作流作为将Omniverse库集成到Blender中的蓝图,已公开可用。

视频4. 了解更多关于使用Omniverse库将袋里就绪的仿真能力引入现有3D应用的信息

适用场景:了解Omniverse库如何帮助软件制造商为现有3D应用添加袋里就绪的仿真能力,同时让创作者和开发者保持控制。

希望本地运行这类袋里工作流的设计师和工程师,可以在NVIDIA DGX Station上使用NVIDIA NemoClaw进行部署。NemoClaw将Nemotron 3 Ultra开放前沿模型、安全袋里运行时和Omniverse库打包成一个完整的本地堆栈——一个个人AI工作站,能够访问Blender和仿真工具。

如何将ovrtx集成到云端原生设计工作流中

PTC Onshape Render Studio团队正在探索ovrtx如何融入云端原生的CAD和PDM工作流。在这些工作流中,产品数据、协作工具、渲染需求和既有的用户体验已经紧密集成。这使得它成为验证NVIDIA Omniverse RTX渲染如何融入现有应用工作流的有用节点,同时保留用户已经依赖的架构、数据模型和产品体验。

NVIDIA Omniverse RTX传感器仿真集成到现有应用方案_wishdown.com
图2. PTC TypeScript RTX Workbench使用NVIDIA Omniverse RTX渲染Onshape设计内容,展示了ovrtx如何将应用控制的、路径追踪的可视化引入云端原生设计工作流

这项早期工作使用Onshape内容来探索ovrtx如何支持具有更复杂产品设计几何体的云端原生渲染工作流。ovrtx能够集成到现有系统中,因此团队可以评估它如何融入他们已经使用的服务和应用层,而不是将渲染视为一个独立的环境。

对于PTC Onshape Render Studio团队来说,ovrtx帮助解决了三个实际的集成需求:

  • 应用控制的渲染:宿主应用控制渲染何时发生、如何配置输出以及结果如何返回工作流。
  • 云端原生集成:渲染能力可以通过团队已经使用的应用或服务层暴露出来,包括云端原生服务工作流。
  • 基于OpenUSD的场景交换:ovrtx从OpenUSD场景数据渲染,为团队提供了一条连接产品设计几何体、可视化和下游仿真工作流的实用路径。

对于应用团队来说,要点是:ovrtx可以让RTX传感器仿真和可视化成为他们已经拥有的工作流的一部分。PTC的工作展示了一个底层API如何支持云端原生设计系统中的生产级探索,在这些系统中,渲染必须与产品数据、协作工作流和应用体验保持紧密联系。

根据PTC Onshape软件开发高级总监Brendan Hack的说法:“ovrtx为我们提供了一条底层API路径,将NVIDIA RTX引入系统的云端原生设计工具,同时将应用架构和产品体验保留在我们的控制之中。”

开始使用NVIDIA ovrtx

NVIDIA Omniverse库提供了模块化的构建模块,用于将RTX传感器仿真、物理、存储以及相关的物理AI能力集成到现有应用栈中。借助ovrtx,你可以为基于OpenUSD的工作流添加相机、激光雷达、雷达、语义分割和视觉预检输出。

对于正在开发设计、仿真、机器人、工业数字孪生、合成数据生成或物理AI应用的团队,ovrtx提供了一条实用的路径,让你可以在自己已有的工具、管线和应用循环中评估RTX传感器仿真。

准备好了吗?

  • 探索Omniverse库:访问NVIDIA-Omniverse GitHub仓库,查找帮助袋里和开发者为现有应用添加RTX传感器仿真、物理、OpenUSD工作流、存储和验证的工具和技能。
  • 运行示例:查看Omniverse Labs,获取早期实验性示例和概念验证项目,了解Omniverse库如何组合在一起。
  • 使用NVIDIA物理AI袋里技能:利用袋里技能将重复的设置、仿真和评估任务转化为工作流,开发者可以使用AI编码袋里进行检查、调整和运行。
  • 在DGX Station上本地运行:仅需三个步骤,不到30分钟即可在DGX Station上部署NemoClaw。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多