计算机视觉/视频分析

使用 OpenUSD 模拟铁路

 

铁路模拟在现代运输和物流中发挥着重要作用,为轨道、交换机和轨道车辆之间复杂的相互作用提供了一个虚拟试验场。它是工程师和开发者微调和优化铁路系统的关键工具,可确保效率、安全性和成本效益。

物理仿真支持全面的场景分析、预测性维护和创新解决方案的探索,最终有助于铁路基础设施的发展和可持续性。

然而,有效且准确地模拟铁路绝非易事。必须对各种互联和动态组件进行精确建模。此外,还必须考虑现实世界的物理特性、安全协议和各种操作场景。

借助 railOmniverse 扩展程序实现逼真的铁路模拟

行业内计划 Digitale Schiene DeutschlandDeutsche Bahn(DB)的目标是利用数字化来提高其铁路网络的容量、质量和效率。其中一项措施是在德国创建物理属性准确的全国铁路系统仿真。

railOmniverse 是一个 C++ 扩展程序,NVIDIA Omniverse 作者 Trend Verlag(趋势)与 Deutsche Bahn 合作,旨在促进其高度复杂的铁路系统模拟。该扩展程序基于 Trend Trax 追踪库,提供了一系列工具,用于在物理铁路模拟中创建和管理轨道系统、电机模型、制动系统和车轮摩擦。railOmniverse 利用 NVIDIA PhysX 支持铁路系统各组件间真实的物理交互、力学和动力学模拟。

Omniverse 是一个开放的开发计算平台,它让开发者能够基于 通用场景描述 (OpenUSD) 进行工作。OpenUSD 是一个可扩展的开源框架,用于描述、合成和协作 3D 世界中的内容。

通过将 railOmniverse 扩展程序集成到其数字孪生中,DB 能够利用 Trend TrackJoint 及其 Trax Track 库中的其他功能。这在创建逼真的铁路模拟方面节省了大量时间。

“我们认为 [railOmniverse] 是迄今为止最好的方法,因为它使我们能够在极端条件下平稳行驶,但在极端条件下仍然会脱轨。”DB Systel GmbH 高级软件开发人员 Jose Minguez 在 GTC 2023 会议上说,“构建德国铁路网的数字孪生,提供新一代铁路系统。它还让我们可以根据不同的天气条件或列车中不同的负载权重等变量自由调整一些参数,以影响速度变化。”

视频 1.使用 railOmniverse 扩展程序在 NVIDIA Omniverse 中进行物理模拟

借助 TrackJoint 和 NVIDIA PhysX 微调列车的物理模拟

Trend 和 DB 进行了大量实验,探索各种碰撞、附加力、位置校正等。目标是将列车运动限制在轨道上。但是,这些方法始终损害了模拟的真实感,并且经常导致稳定性问题。

TrackJoint 功能的引入提供了可靠的解决方案。TrackJoint 是将列车的车轮框架连接到轨道系统的组件。它限制了车轮框架相对于轨道的移动,同时保持模拟的稳定性和真实感。

经过多次实验后,Trax 库的设计初衷是省略每个旋转车轮复杂物理细节的模拟,而是专注于保持每个转向架的粒度。转向架是沿着轨道运行的物理实体。

甚至列车的行驶也可以作为约束实施,将包含加速、制动和摩擦的电机模型无缝集成到模拟中。该模型几乎可以容纳各种类型的推进引擎及其齿轮箱和车轮配置,这些引擎通过根据特定铁路车辆的具体情况定制的引力特性曲线进行模拟。

使用 Omniverse 中的自定义关节接口实现了与 NVIDIA PhysX 的集成。TrackJoint 的实现反映了用于内置关节(例如旋转或球形)的方法。这涉及为相对平移和旋转速度定义一系列约束,然后将这些约束提供给 PhysX 约束求解器供直接使用。

在 Omniverse 中处理车轮框架及其与轨道车主体的连接时,用户可以利用该平台提供的实用程序。例如,转向架链可采用旋转接头,货车之间的联轴器可采用距离接头。

与任何其他 PhysX 接头类似,车轮框架本身由配备 TrackJoint 的 NVIDIA PhysX 机身表示。这意味着 railOmniverse 引入的新元素可以与 Omniverse 和 PhysX 中使用的所有标准仿真工具无缝集成。

PhysX 专注于求解器中的相对速度,可实现不受静态环境限制的轨道,还可连接到物理物体。这为在其他铁路车辆(例如适配器货车或火车轮船)上运行的转台或火车开辟了可能性。

使用 OpenUSD 实现协作和自定义模式

事实证明,OpenUSD 交换是 DB 和 Trend 之间进行协作的有效媒介。要在轨道上运行列车,首先需要轨道和交换机。DB 和 Trend 就这些实体的自定义 USD 基元定义达成一致,从而支持使用 Trax 库的功能从 DB 提供的样本数据中创建数据。

Trend 开发团队利用模式机制,为轨道、交换机、TrackJoint 和电机模型的各个方面定义并注册了新的基元。这促进了两端的同步开发。例如,DB 使用 Omniverse Bezier BasisCurves 提供轨道几何数据,而 Trend 使用专用的样条曲线对系统进行扩展,该曲线按弧长进行参数化,使其能够用于 TrackJoint 的模拟。

探索 Trax 库

在创建逼真的模拟时,使用像Trend Trax 追踪库这样的库至关重要,因为它们可以节省时间和精力。利用已经解决了基本问题的库是非常重要的。有了合适的库,您的模拟项目不是从明天开始的;实际上,是从多年前 Trax 库创立之时就已经启动了。

A technical diagram of Trend Verlag’s USD implementation and Omniverse connection, including track data, the Trax Library, custom USD prims, PhysX, and Isaac Sim.
图 1.Trend Verlag USD 实现和 Omniverse 连接,为 Trax 库的各个方面提供自定义 USD 基元

该库包含 TrackJoint 等众多功能,这些功能已在真实用例中进行测试,并可随时用于您自己的铁路模拟。其中包括以下内容:

  • 轨迹系统创建工具:用于定义轨迹的几何形状、指定曲线和扭转,以及管理不同轨迹段之间的切换和过渡的工具。
  • 电机模型:该模型支持模拟列车电机的行为。它建立了速度与在特定速度下可应用的最大电机力之间的关系,确保列车的真实加速和减速。
  • 摩擦和制动:用于模拟车轮相关摩擦和制动的模型。这有助于模拟摩擦对列车运动的影响,并施加制动力以减慢列车速度或使其停止。
  • 转向架和 RailRunners:用于表示转向架的接口。通过 RailRunner 接口,您可以将多个转向架连接成一列火车。它还包括了用于链接转向架和配置铁路车辆的模型。
  • 传感器和信号:用于检测轨道沿线事件的机制。传感器可用于侦测车轮对或其他特定事件的通过,而信号则用于传递信息,以便在列车沿轨道移动时将其发送给列车。
  • 曲线理论:该库整合了曲线理论中的数学概念,从曲率和扭转的角度出发描述曲线。这有助于在曲线和速度变化时,准确地表示曲线和速度。

Trend 计划于 2024 年初发布 railOmniverse 的公开版本。如需了解详细信息,我们维护了一份名为 Trax Book 的详细文档,其中概述了 Trax 库使用的基本原理。有关 railOmniverse 开发的最新信息,请访问Trax 手册第 12 章

我们期待了解您的用例。如果您有任何疑问或建议,请发送电子邮件至 horstmann.Marc@trendverlag.de。要注册 railOmniverse 时事通讯,请在主题行中加入`railNewsletter`。

加入 NVIDIA GTC 2024 的 OpenUSD 日,参与专家主持的全天会议和座谈会。通过注册 GTC 2024,您可以通过深入的会议、研讨会和培训,了解如何在 Omniverse 上构建基于 OpenUSD 的扩展程序、应用和服务,并亲自或通过虚拟方式掌握 AI 领域的最新动态。

下载标准许可证,开始使用 NVIDIA Omniverse免费访问OpenUSD并了解如何Omniverse Enterprise可以连接您的团队

 

Tags