NVIDIA Omniverse Simulation作為 NVIDIA Omniverse 平臺的關(guān)鍵組件之一,由 NVIDIA 技術(shù)提供動力支持,包括 PhysX、Flow、Blast 和 AI 等技術(shù)。
▲ NVIDIA Omniverse 中的物理模擬
1.NVIDIA PhysX
NVIDIA PhysX 是一種可擴展的多平臺物理仿真解決方案,PhysX 已成為 NVIDIA Omniverse 的主要物理引擎和關(guān)鍵的基礎(chǔ)技術(shù)支柱。
此前,PhysX 是一個游戲物理引擎,可提供用于各種視頻游戲主機的優(yōu)化端口;如今,PhysX 是一個高保真的、GPU 加速的物理模擬引擎,從傳統(tǒng)的 VFX 和游戲開發(fā)工作流、到高保真機器人開發(fā)、醫(yī)學(xué)仿真和科學(xué)可視化應(yīng)用,都可以借助 PhysX 實現(xiàn)基于現(xiàn)實物理世界的模擬仿真。
1.1 PhysX 物理模擬 SDK
NVIDIA PhysX SDK 包括 PhysX、Blast 和 Flow。
PhysX:多平臺物理引擎。PhysX 在 NVIDIA Omniverse 中以 BSD3 開源版本的形式提供,包括所有 CPU 源代碼和 GPU 二進制文件。
Blast:NVIDIA PhysX SDK 包含 Blast,這是一個專為提高性能、可擴展性和靈活性而設(shè)計的破壞和斷裂庫。
Flow:Flow 也是 NVIDIA PhysX SDK 的一部分,可實現(xiàn)真實的可燃流體、煙霧和火災(zāi)模擬。
1.2 PhysX 關(guān)鍵特性
剛體動力學(xué):根據(jù)剛體動力學(xué),研究外力(例如重力)作用下多個物體相互作用的運動。PhysX 可同時在 CPU 和 GPU 上提供經(jīng)過行業(yè)驗證的可擴展剛體仿真。
場景查詢:對仿真世界執(zhí)行空間查詢,以允許在仿真環(huán)境中使用場景查詢進行感知和推理。PhysX 與靈活的過濾機制相結(jié)合,支持對整個世界或單個物體進行光線投射、重疊和掃描式查詢。
關(guān)節(jié):關(guān)節(jié)限制了物體間相互作用的移動方式。PhysX 提供一套常見的內(nèi)置關(guān)節(jié)類型,并支持通過靈活的回調(diào)機制來自定義關(guān)節(jié)。
簡化坐標(biāo)關(guān)節(jié):坐標(biāo)關(guān)節(jié)的簡化可為剛體樹提供線性時間,以及有保證的零錯誤仿真。PhysX 的實施與分析模型非常匹配,并且能夠?qū)崿F(xiàn)準(zhǔn)確的動量守恒。
車輛動力學(xué):PhysX 可提供準(zhǔn)確高效的汽車仿真,包括輪胎、引擎、離合器、變速器和懸架模型。
角色控制器:PhysX 可提供一個運動學(xué)角色控制器,允許虛擬形象在仿真世界中導(dǎo)航。PhysX 同時支持與靜態(tài)和動態(tài)仿真活動者間的各種相互作用。
軟體動力學(xué):PhysX 的 FEM 軟體可模擬超彈性材質(zhì)的可測量屬性,以形成精確高效的彈性/塑料可變形物體模型。
SDF 碰撞器:基于 SDF 的碰撞檢測可以用于物理對象,實現(xiàn)對齒輪和凸輪的實時模擬。
基于位置的動力學(xué)(PBD):基于位置的動力學(xué)提供了一個靈活的框架,用于模擬各種現(xiàn)象,包括液體、顆粒材質(zhì)、布料、繩索、剛體、可變形物體等。基于位置的動力學(xué)廣泛應(yīng)用于視覺效果行業(yè)。
自定義幾何圖形:PhysX 提供各種內(nèi)置幾何圖形以及靈活的回調(diào)機制,使應(yīng)用能夠在仿真中引入自己的幾何類型。
借助 NVIDIA PhysX SDK,能夠幫助擴展各個行業(yè)的模擬工作流和相關(guān)應(yīng)用。
2. NVIDIA Warp
NVIDIA Warp 是一個 Python 框架,可以在 NVIDIA Omniverse 和 OmniGraph 中編寫 GPU 高性能模擬和圖形代碼。在 Omniverse 中,Warp 可用于數(shù)字人、物理模擬和程序動畫。
Warp 使用 kernel-based 編程模型,并且能夠生成 kernel code 的正向和反向版本,使得編寫可微模擬變得很容易。除此之外,Warp 還包含用于模擬和幾何處理的高級功能,提供更高級別的數(shù)據(jù)結(jié)構(gòu),例如 Mesh(網(wǎng)格)、Hash Grids(哈希網(wǎng)格)和 Sparse Volumes(稀疏體積)。
2.1 Warp 關(guān)鍵特性
布料模擬:使用有限元法(FEM)和基于邊緣的彎曲模型創(chuàng)建的布料模擬。
基于粒子的模擬:通過將離散元法(DEM)與變形網(wǎng)格碰撞相結(jié)合來模擬具有內(nèi)聚力和粘附力的顆粒材料。
程序動畫:在 Warp 中實現(xiàn)的實時程序海洋變形器,可作為 OmniGraph 節(jié)點集成到 NVIDIA Omniverse 中,驅(qū)動基于通用場景描述(USD)的網(wǎng)格圖元。
網(wǎng)格變形器:shrink-wrap 變形器使用 kernel-based 的光線投射到眼睛網(wǎng)格上,使眼球周圍的眼瞼變形。
2.2 Warp下載與安裝
要在 NVIDIA Omniverse 中使用 Warp,可以從 Extension 列表中搜索并啟用“Warp”。
omni.warp 擴展提供了 OmniGraph 節(jié)點的集合和示例場景,演示了 OmniGraph 中 Warp 的用法。啟用 omni.warp 擴展會自動啟用 omni.warp.core 擴展。
利用 omni.warp.core 擴展程序?qū)?Warp 安裝到 Omniverse 應(yīng)用程序的 Python 環(huán)境中,用戶可以在腳本和節(jié)點中導(dǎo)入該模塊。啟用后,可以打開腳本編輯器窗口并執(zhí)行以下代碼:
import warp as wp print(wp.__version__)
2.3 在 OmniGraph 中使用 Warp
Warp 在 NVIDIA Omniverse 中的主要用途之一,是可以在 Python 中定義 GPU OmniGraph 節(jié)點。
在 OmniGraph 中執(zhí)行 Warp 代碼有多種方法:
在 Python 中創(chuàng)建一個自定義 OmniGraph 節(jié)點,導(dǎo)入 Warp 模塊。
在 Action Graph 中添加腳本節(jié)點,并在腳本中導(dǎo)入 Warp 模塊。
將 Warp Kernel 節(jié)點添加到 Action Graph(需要啟用擴展 omni.warp)。
3. NVIDIA Modulus
NVIDIA Modulus 是一個開源物理機器學(xué)習(xí)平臺。該模型將物理學(xué)與深度學(xué)習(xí)訓(xùn)練數(shù)據(jù)相結(jié)合,以構(gòu)建具有近乎實時延遲的高保真、參數(shù)化代理模型。Modulus 可通過 Modulus 擴展程序與 NVIDIA Omniverse 集成,可用于將 Modulus 訓(xùn)練的模型的輸出可視化。
目前,Modulus 擴展程序僅適用于 NVIDIA Omniverse USD Composer 2022.2.0 或更早版本支持的 Linux 版本。因此,如果使用的是 2022 以前的版本,可搜索該擴展程序體驗,本文不再詳述。
4.來自第三方的物理仿真擴展程序或連接器
NVIDIA Omniverse 是一個可擴展的計算平臺,用戶可以基于 Universal Scene Description(OpenUSD)在 Omniverse 中開發(fā)和構(gòu)建自己的自定義程序和應(yīng)用。
4.1 FlexSim
FlexSim 是一家仿真建模軟件提供商,專門從事離散事件仿真,使用戶能夠分析、可視化和優(yōu)化各行各業(yè)的實際流程。FlexSim 開發(fā)了一個 NVIDIA Omniverse 連接器,使工程師、設(shè)計師和仿真專家能夠?qū)?FlexSim 模型無縫轉(zhuǎn)換為 OpenUSD 格式。將 FlexSim 的高級材質(zhì)處理工具包與 Omniverse 中的協(xié)作布局工具相結(jié)合,可以提高仿真規(guī)劃階段的靈活性,并提高數(shù)字孿生操作階段的視覺保真度。
▲ FlexSim 和 NVIDIA Omniverse USD Composer 中的
實時同步仿真模型
4.2 SimScale
借助 NVIDIA Omniverse SimScale Converter Extension,可以將 USD prims 作為模型上傳到 SimScale,并將計算流體動力學(xué)和有限元分析模擬引入 NVIDIA Omniverse。
用戶可在 NVIDIA Omniverse USD Composer 中單擊“Windows”>“Extensions”,安裝并啟動該擴展程序,進行體驗。
關(guān)于 NVIDIA Omniverse Simulation 相關(guān)操作教程,請參考后續(xù)以 NVIDIA Omniverse USD Composer 應(yīng)用為基礎(chǔ)的視頻教程,將帶大家詳細(xì)了解 Omniverse 中的物理仿真功能。
審核編輯:劉清
-
機器人
+關(guān)注
關(guān)注
211文章
28379瀏覽量
206914 -
NVIDIA
+關(guān)注
關(guān)注
14文章
4978瀏覽量
102987 -
二進制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41643 -
GPU芯片
+關(guān)注
關(guān)注
1文章
303瀏覽量
5804 -
ai技術(shù)
+關(guān)注
關(guān)注
1文章
1266瀏覽量
24285
原文標(biāo)題:Omniverse 教程 (10) : NVIDIA Omniverse 中的物理模擬功能
文章出處:【微信號:Leadtek,微信公眾號:麗臺科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論