Skip to the content.

Omniverse Ops Starter

一個 NVIDIA Omniverse / OpenUSD 工廠數位孿生 starter project。專案用 Python 從 JSON layout 產生 .usda 場景,並附上一個 Omniverse Kit extension 範例,方便之後擴充成工廠監控、設備配置、物流動線或機器人模擬工具。

專案亮點

專案結構

.
├── data/
│   └── factory_layout.json
├── docs/
│   ├── setup.md
│   ├── isaac-amr-scenario.md
│   ├── live-telemetry.md
│   ├── usd-layers-and-variants.md
│   └── workflow.md
├── isaac/
│   └── amr_waypoint_task.py
├── kit-extension/
│   └── exts/omniverse.ops.starter/
├── output/
│   └── .gitkeep
├── scripts/
│   ├── create_demo_stage.py
│   ├── create_layered_stage.py
│   ├── telemetry_server.py
│   ├── validate_layered_stage.py
│   └── validate_stage.py
├── tests/
│   └── test_scene_contract.py
├── web-demo/
│   ├── index.html
│   ├── styles.css
│   └── app.js
├── pyproject.toml
└── README.md

快速開始

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -e ".[usd]"

產生範例 USD 場景:

python scripts/create_demo_stage.py --output output/demo_factory.usda

驗證場景:

python scripts/validate_stage.py output/demo_factory.usda

產生 layered USD + variants + AMR scenario:

python scripts/create_layered_stage.py --output-dir output/layers
python scripts/validate_layered_stage.py output/layers/factory_composed.usda

啟動 live telemetry:

python scripts/telemetry_server.py --scenario peak_hour

跑測試:

python -m unittest discover -s tests

開啟網頁互動展示:

open web-demo/index.html

場景內容

目前的 factory twin 包含:

Omniverse Kit Extension

Extension 位於:

kit-extension/exts/omniverse.ops.starter

在 Kit-based app 中把 kit-extension/exts 加入 extension search path,啟用 omniverse.ops.starter 後,會看到 Omniverse Ops Starter 視窗,可按 Create / Update Scene 建立場景。

Web Demo

web-demo/index.html 是一個純靜態互動展示端,適合放在 GitHub Pages 或直接用瀏覽器開啟。它會優先讀取 data/factory_layout.json,並提供內建 fallback,讓 demo 在本機檔案模式也能正常展示。

若啟動 scripts/telemetry_server.py,web demo 會自動切換成 live telemetry dashboard,顯示 WebSocket 狀態、即時感測器值、KPI 與 AMR mission progress。

延伸文件

參考

授權

MIT License