物理模擬健檢

為了「先讓它動起來」而繞過物理的每一個捷徑,症狀不會消失,只會搬到一個沒人會聯想到成因的地方。 這幾個計算器把判斷這件事所需的算式做成可以填自己數字的形式 —— 預設值是一個真實案例(Isaac Sim 裡的堆高機搬棧板)的實測值。

車體 + 電池 +配重 r=0.115 轉向軸 門架 承載輪(被動) 棧板 d = 1.4115 m r ≈ 1.5 m(載重到轉軸) α(偏航角加速度) a側 = α·r 摩擦能承受 μ·g → α_max = μ·g / r
公式用到的三個幾何量。r 是載重到轉軸的距離,不是到叉齒根部 ——轉彎時甩出去的力臂是這一段。轉向軸距 d 用於阿克曼逆運動學; 輪半徑 r_輪 用於把牽引力換算成關節力矩。比例依實測值繪製。

1. 載重會不會滑?

最常被誤判成「摩擦不夠」的問題。先算數量級:致動器能給的加速度, 和摩擦能承受的加速度,差幾倍。差一個數量級以上時,調摩擦是浪費時間。

摩擦上限 α_max = μ·g / r 致動能力 α = τ / I

2. 薄件插不插得進窄縫?

孔頂 孔底 開口 100 叉齒(長 L、厚 t) h(θ) = 佔用 餘裕/2 餘裕/2 θ
決定成敗的是姿態掃過的垂直包絡 h(θ),不是件本身的厚度 t。 一片 25 mm 的板傾斜 2.6° 時佔用 75 mm —— 在 100 mm 的開口裡只剩 25 mm 餘裕,而傾角放平到 0.5° 就變成 54 mm。 高度掃不到解時,該動的往往是傾角。

決定成敗的是姿態掃過的垂直包絡,不是件本身的厚度。 一片 25 mm 的板傾斜 2.6° 時可以佔掉 75 mm。

垂直佔用 h(θ) = L·|sin θ| + t·|cos θ| (旋轉矩形的外接高) 可用餘裕 play = 開口 − h 置中需抬 lift = play / 2

⚠ 別用標稱厚度。 真實件有跟部與錐度,不是乾淨的矩形。 拿兩個實測點反解等效 L 與 t,誤差會小一個數量級 —— 下面這組就是靠這招從 25 mm 的標稱值修正到 39.1 mm 的(差 14 mm,足以讓一輪失敗)。

3. 單位到底是什麼?

metersPerUnit 不算數。幾何常常用原始單位授權,靠 prim 的 scale 縮下來, 而且每一層 scale 可能不同、可能非均勻。 這個案例裡若照父層的 0.001 推,輪半徑會算成 0.5 m 而不是 0.115 m —— 力矩換算直接差 4.3 倍。

有效值 = 原始值 × metersPerUnit × Π(各層 scale)

4. 致動權限 vs 真實設備

把關節的 maxForce 換算回「這台真實設備能出多少力」。 倍率超過個位數,模擬出來的就不是動力學,是運動學瞬移。

輪上力矩 τ = F_牽引 × r_輪

是簡化,還是捷徑?

不是所有簡化都要修。判準只有一個。

問題簡化(可接受)捷徑(會收費)
它移除了什麼計算量、外觀細節一個上限約束
待測的量受影響嗎不會會,但隔好幾層才看得出來
例子輪子的視覺網格簡化輪子的關節改成 Fixed
例子遠處物件不做碰撞摩擦調到非物理值去補償

核心問句:這個簡化有沒有拿掉一個「本來會讓某件事做不到」的限制? 真車轉不快,是因為輪胎摩擦圓限住了它。把輪子拿掉,就沒有任何東西限制轉速 —— 而限制正是物理模擬的價值所在。

開始調參之前