iT邦幫忙

2026 iThome 鐵人賽

DAY 25
0
AI Engineering

Physical AI 驗證工程:30 天把機器人模擬變成可檢查的證據系列 第 25

Day 25|數位孿生:質心落在支撐範圍內,箱子就一定不會倒嗎?

  • 分享至 

  • xImage
  •  

案例 F06:機器人棧板與堆疊穩定性

image
image

先講清楚邊界:這是均勻密度剛體箱、固定摩擦與重力作用下的準靜態模擬。沒有紙箱變形、內容物晃動、棧板撓曲、運輸加速度、震動或外部撞擊。

最常見的堆疊規則

判斷一疊箱子會不會倒,常用的簡化方法是:

  1. 取某個接合面以上的所有箱子。
  2. 算出它們的合成質心。
  3. 把合成質心垂直投影到下方支撐面。
  4. 投影落在支撐多邊形內,判為穩定;落在外面,判為可能傾倒。

這個規則計算快,不需要每個候選擺法都跑物理模擬,因此很適合放進棧板規劃器。

但「理論上合理」與「在目前模型裡足夠可靠」仍是兩件事。本篇只做一件事:把解析規則的預測與 PhysX 模擬四秒後的結果逐一比較。

驗模型之前,要先讓資料有機會答錯

最初設計的水平位移範圍是 [-0.02, 0.28] m。先用 200 個不進入正式結果的 seed 掃描解析模型後,發現 99% 都被預測為穩定。

如果直接用這組範圍做驗證,就算模型只會回答「穩定」,也可能得到很高的一致率。這不是模型有預測力,而是題目幾乎沒有反例。

因此,正式執行前重新調整位移範圍:

水平位移範圍 解析模型預測穩定比例
[-0.02, 0.28] m 99%
[-0.05, 0.45] m 57%
[-0.05, 0.50] m 約 50%,正式採用
[-0.05, 0.65] m 25%
[-0.05, 0.80] m 8%

正式 seed 與設計掃描 seed 完全分開。這個步驟的目的不是把答案調成好看,而是讓測試同時包含足夠的穩定與傾倒案例。

這是模型驗證很重要的原則:如果測試資料幾乎只有一種答案,高準確率可能沒有意義。

「站住」不能只看影片

四秒影片中,箱子看起來沒有倒,不代表它真的沒有緩慢滑動。因此,本篇在執行前先把穩定定義成兩個可計算條件:

  • 每個箱子相對放置位置的水平位移不超過 20 mm。
  • 沒有任何箱子向下掉落超過一個箱厚,也就是 0.2 m。

判定直接由 USD 姿態計算,不靠人工看影片。影片用來理解情境,數值才負責通過或失敗。

正式結果:28/30 與解析判準一致

指標 正式結果 鎖定門檻 判定
穩定性一致率 0.9333(28/30) ≥ 0.90 通過
解析模型預測穩定比例 0.5667 僅記錄
物理模擬實際穩定比例 0.6333 僅記錄
模糊案例比例 0.0667(2/30) 僅記錄
單尾精確二項檢定 p = 4.34 × 10⁻⁷ α = 0.01 通過
Cohen's κ 0.867 僅記錄
重複試驗 28/30 ≥ 0.90 通過
數值收斂 通過 通過

更值得注意的是分歧的位置。依正式指標與原文正文,判準有把握的 28 個 seed 全部一致;2 個落在門檻附近的模糊案例全部不一致。

而且兩次不一致都是同一個方向:解析規則預測會倒,物理模擬卻站住。沒有出現解析規則核准穩定、物理模擬卻倒下的案例。

對一個前端篩選器而言,這種錯誤方向偏保守:可能刪掉少數其實可行的擺法,但在這 30 個 seed 中沒有核准後來傾倒的擺法。

不過樣本只有 30 個,不能把「本次沒有」寫成「永遠不會」。

模糊區必須在看結果之前定義

若先看到兩個錯誤,再畫一條範圍把它們圈起來,這只是事後解釋。

本案例在第一次正式執行前,就先定義最差穩定裕度落在門檻 ±0.05 內為模糊區,並規定這個分組只作診斷,不改變正式通過條件。

所以我們才有資格說:所有分歧都發生在模型事前就表示沒有把握的位置。

一個數字是否有說服力,不只看數值大小,也要看規則是在結果之前還是之後定義。

這條規則看得到傾倒,看不到滑動

質心投影判準只處理幾何與重力矩,沒有摩擦係數。它可以回答「合成質心是否跨過支撐邊界」,卻不能判斷箱子會不會先沿接觸面滑走。

本篇模擬中的接觸摩擦固定為 0.6/0.5,一致率只對這組摩擦與幾何成立。若摩擦降低,解析判準可能仍說穩定,物理模型卻因滑動而失敗。

因此,這個結果比較接近:

在目前剛體幾何與固定摩擦條件下,質心判準可以作為快速篩選器。

而不是:

只要質心投影在箱子裡,任何堆疊都一定安全。

判定可重現,不代表每個小數點都一樣

物理在 CPU 上執行並關閉 GPU dynamics,減少了 GPU 排程造成的變異。但接觸豐富的場景,在同一個 session 連續重播時,連續位移量仍可能有約 10⁻³ mm 的差異。

本案例的穩定/傾倒判定每次相同,連續數值則在預先設定的容差內。這是一種分層的可重現性:

  • 判定層:結果必須完全一致。
  • 連續量層:允許在有工程意義的極小容差內變動。

這比宣稱物理模擬「逐位元完全相同」更誠實,也更符合接觸求解器的實際行為。

這篇可以支持到哪裡?

可以支持的結論:在四個 200 mm 均勻密度剛體箱、指定水平位移範圍、固定摩擦與無外部擾動下,解析質心判準與四秒 PhysX 模擬的一致率為 28/30,而且分歧都在事前定義的門檻附近。

不能支持的結論:

  • 判準不含摩擦,不能預測低摩擦造成的滑動。
  • 沒有紙箱變形、內容物偏移與堆疊互鎖。
  • 沒有運輸震動、外力與加速度。
  • 棧板為 kinematic 剛體,不模擬撓曲或與地面相對運動。
  • 只驗證單一直立柱的支撐關係,不能直接外推到多支撐堆疊。
  • 結果不能用來決定實際堆疊高度、載重或運輸固定方式。

今天帶走三件事

  1. 驗證分類模型時,資料要同時包含足夠的正例與反例。
  2. 模糊區必須事前定義,不能看到錯誤後才畫線。
  3. 質心判準能預測傾倒,不代表它看得到滑動、變形與震動。

Day 26 會再往前一步:即使堆疊規則合理,真正把箱子吸起來時,重心偏移仍可能讓箱子傾斜並撞到旁邊的箱子。


上一篇
Day 24|數位孿生:手眼校正拍得越多,真的會越準嗎?
系列文
Physical AI 驗證工程:30 天把機器人模擬變成可檢查的證據25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言