Isaac Sim 5.1
本 repo 的實測環境以 Isaac Sim 5.1.x 為主(部分 API 對照回溯到 4.5),這一區收「只在 5.x 命名空間下成立」的內容——主要是程式碼。兩版通用的機制與方法論在共通區,與 6.0.1 的差異見版本速查表。
這一區只有兩篇的原因
5.1 與 6.0 之間,絕大多數機制沒有改變:物理引擎怎麼算一步、碰撞近似損掉什麼、質量該掛在哪一層、材質綁定何時 fallback,這些在兩版是同一套,因此留在共通區而不是複製兩份。真正綁死版本的是 Python 模組路徑——6.0 起 isaacsim.core.api / isaacsim.core.prims / isaacsim.core.utils 整組移到 isaacsim.core.experimental.*,凡是貼了可執行程式碼的篇章都會因此失效。這一區收的就是那兩篇。
篇章
- 07 · 最小可跑範例 —— 三個由小到大的 standalone 範例:方塊落地、載入官方倉庫場景、在官方場景裡讀機器人位姿。全部不開 GUI 也能跑。程式碼依官方文件與
standalone_examples組合,尚未在本 repo 環境實機驗證,資產路徑在不同文件版本間基準點不一,執行時用文中的is_file()檢查確認。 - 11 · 讀取即時位姿與放置精度驗收 —— 四種讀位姿的方法只有一種讀得到模擬當下的值,另外三種各有各的騙法;唯讀的觀測 API 反而會弄壞控制鏈;後半把「放得準不準」變成可量測、可驗收的管線。四元數順序在
omni.physx(x,y,z,w)與isaacsim.core.prims(w,x,y,z)之間分裂,這一條在 6.0 改了模組路徑之後仍要留意。
從零開始的閱讀動線
前面幾篇在共通區,順序是:
- 01 安裝與執行模式 —— GUI / headless / streaming 是同一核心的三種前端。選版本前先看 §3:5.1 配 595 世代驅動會在啟動約 65 秒必 segfault。
- 02 不碰 UI:用 Python 操作 ——
--exec啟動腳本、ScriptNode、UDP 遠端命令通道三層做法。 - 03 模型格式與匯入 → 04 建立物理世界 —— 一切先轉 USD;PLAYING 才有物理。
- 09 物理模擬基礎 → 13 接觸與抓握的第一性原理 —— 引擎內部怎麼算,以及為什麼調摩擦常常是錯的第一步。
- 動手跑 07。
- 要建一個能跑物理搬運的場景,接著讀 10 場景資產的物理結構 → 11 → 12 長跑維運。
接 ROS 2 或要遠端看畫面,另外讀 05 ROS2 橋接 與 06 WebRTC 串流,兩篇的實測都在 5.1 上做的。
參數預設值查哪裡
6.0.1 區的 17 篇 有一張七類物理屬性的完整預設值表。它標的是 6.0.1,但那是抽取來源而不是適用範圍——兩版 schema 逐項比對後,同名屬性的預設值只有 physxJoint:maxJointVelocity 一項不同(5.1 是 1000000,6.0 改成 inf)。5.1 要查預設值直接看那一篇,記得把那一行換回來。
準備升到 6.0
先讀 15 物理層變動 與 14 ROS 2 Bridge 架構重組,再看 08 遷移風險調查。整區入口在 6.0.1。