D-20261020-01|輪類滾動面改掛保守 cylinder¶
2026-10-26 關聯追補:「每個 admitted proxy 各建一顆 collider、不合併 collider」已由 D-20261026-01 修訂:tire/roller 部件內被判圓外圈完整包覆的 proxy 只承載質量、不建 collider,質量性質 併入 hinge body;未被包覆的 proxy 仍各建一顆 collider,滾動面改掛 cylinder 的規則不變。
背景與驅動力¶
Stage 3 凸 proxy 的點預算把正圓胎體離散成滾動圓周僅數站的多邊形(公版 speed 胎:視覺網格
圓到 0.15mm,烘焙 hull 的滾動圓周僅 8 站、支撐半徑峰谷 1.85mm=接觸容差 0.1mm 的 18 倍)。
物理引擎忠實模擬出多邊形輪:無轉向車在平直線即產生 ±25°–37° 蛇行、撞牆放大至垂直頂牆卡死
(000940/000868),單變數隔離證實與場地、牆、solver 全部無關。hinge descriptor 本就烘有
Mount frame 派生的保守 cylinder(halfHeightM/radiusM/centerLocalM/cylinderRotationLocal),
可直接作滾動面的碰撞形狀。
考慮過的選項¶
- 提高 hinge 零件 proxy 圓周站數(16–24 站):仍是多邊形、只縮小漣波;點數與接觸成本上升,棄。
- 維持現狀、把蛇行當公版特性:漣波 18 倍於容差且頂牆卡死是其下游後果,棄。
- 滾動面改掛烘焙保守 cylinder、非滾動 proxy 維持凸拓樸(採納)。
決定¶
- hinge 零件(tire/roller)的每個 admitted proxy 仍各建一顆 collider;proxy 對 hinge 軸最大半徑
達
radiusM × HINGE_ROLLING_PROXY_RADIUS_RATIO(protocol 常數、初值 0.98)者判定為滾動面, collider 形狀改用 hinge descriptor 的保守 cylinder,pose=centerLocalM+cylinderRotationLocal; 材質、質量性質、wearCapacityJ、碰撞群組與事件設定沿用該 proxy,不合併 collider、不改質量分布。 - 非滾動 proxy(hub 等)與其他零件維持逐 convex proxy 拓樸;runtime 不從 mesh 重推圓柱, cylinder 只由烘焙 hinge descriptor 決定。
- 判定在組裝期以烘焙 f64 值計算,為跨 peer 決定性的一部分;snapshot 拓樸鍵原生支援 cylinder。
- 驗證(研究原型 v15616+正式樹等效):直線 speed/heavy 5.5s/11.5s 完賽、yaw ≤1.7°、零撞牆 (原為蛇行卡死不完賽);speed U 180° 彎 13.9s 完賽;Node/Chromium 最終快照逐位元相同; 彎道/接縫/牆接觸全程無核心拒絕、uncertain=0、接受指標 ≤0.1mm。determinism golden 場景 版本升至 revision-13。
- 已知牽連:縮減 cube 測試 fixture 在全牽引下會後翻翻滾(合法動力學;對應 spec 斷言改量最大 前向行程);speed 在簡易 O 第一彎停住屬場地導引層議題(與 000902 同族),另案追蹤。
後果與影響¶
- 所有含輪車輛的物理軌跡改變(同樣合格的不同時間線);pre_launch 無遷移義務,determinism golden 場景升 revision-13、conformance 向量依既有 generate 流程重生。
- 快照位元組與既有錄像/向量不相容;跨 peer 一致性由組裝期 f64 判定與 protocol 常數保證。
- 輪類接觸品質大幅改善(直線零撞牆、拒絕 trial 趨零、接受錨點下降),單車 step 成本變化 在 ±2ms 內;多車成本重量掛 T5 治具,不在本決策範圍。
- 偏航症狀面 000940/000868 隨本決策實作收斂;simple O 彎導引與 000902 另案。