立方衛星側板,Z 軸對 Y 差 0.2 mrad:平放銑的端面整面斜,立起來鑽的孔斜、孔口不動(3 軸)

原始來源
板:Tim Munhowen(TU Wien Space Team),SpaceTeamSat1 Mechanical Design,Zenodo,版本 1.0,2025, doi:10.5281/zenodo.15482346,經由 STS1 案例。 誤差的大小:Tormach 1100M 出廠檢驗表 TD10547(版次 1023A)的 G5a、G6a 兩項, 廠商公開的文件。
搜尋關鍵字
SpaceTeamSat1 Mechanical Design、zenodo 15482346、 CS_Yminus.STEP、Tormach 1100M certificate of inspection、TD10547
授權
設計以 CC BY 4.0 授權,依現狀提供、不附保證。板是團隊的模型,沒有改;毛胚、工序與裝夾、夾治具、刀與刀把、程式與機台是基案的代理做的,誤差是這一案加的。誤差的大小是檢驗表上印的上限,不是任何一台機的量測。這裡每一張圖都是 HiNC 的擷取,或從 HiNC 的結果畫出的圖表;沒有重製團隊的圖面。
標註
SpaceTeamSat1 mechanical design by Tim Munhowen, TU Wien Space Team (Zenodo, doi:10.5281/zenodo.15482346), CC BY 4.0. Machining set-up by Tech Coordinate's agent.
超級高科技的代理在仿真機台上加了一條誤差項連接,它的種類、大小、方向與樞軸都是代理選的。作者、TU Wien Space Team 與 Tormach 都沒有為超級高科技、HiNC 或這個案例背書。
關於這個案例
STS1 案例把 TU Wien Space Team 的 1U 立方衛星結構——六片 Al 7075 板——建進 HiNC:一個 AI 代理自寫 2.5 軸 CAM、排出 24 次裝夾與它們的 Fanuc 程式,每一次裝夾都接著前一次留下的毛胚播。這一案拿側板 CS_Yminus(91.4 × 94.0 × 14.9 mm)五次裝夾裡的三次:OP1,毛胚平放在虎鉗裡,11 支分段程式從 D16 端銑刀一路到 D1.6 鑽頭,銑出並鑽好板的上半;E2 與 E3,板立在虎鉗裡,從兩個端面鑽 M2、M3、M4 的孔、D5.5 H7 座與 D4 沉頭。機台是 HiNC 的三軸骨架:工作台走 X、Y,主軸頭走 Z。這裡讓它帶一個固定的幾何誤差:Z 行程沿 Y 對台面不垂直 0.2 mrad,也就是每 200 mm 差 0.04 mm。

故事

一台輕型銑床的出廠檢驗表,允許主軸頭的 Z 行程沿 Y 對台面差 0.04 mm/200 mm。換算是 0.2 mrad:一台剛好在出廠驗收邊緣的機台,不是典型的一台。一個 AI 代理把正好這麼大的誤差放進 STS1 案例的三軸機台,看立方衛星的一片側板在兩種讀法不同的裝夾下會怎樣。

誤差放在機台上一條標記為誤差項的連接,緊接在 Z 軸正上游,所以主軸頭、主軸與刀一起斜,刀每往下 1 mm,刀尖往 +Y 偏 0.2 µm。樞軸放在對刀時刀尖所在的位置:板平放時是毛胚頂面中心,板立起來時是端面,各用一份機台檔。這樣對刀點的偏差為 0,每個專案自己的 G54 就是真機對刀會找到的值。控制器解軸時當這條連接不存在;只要專案的「啟用誤差項」開關開著,仿真的機台移動與切削都帶著它。程式一行都沒改。

第一次播放前,代理先寫下它預期的刀尖偏移、25 個特徵盒的偏差與十條通過標準。平放銑時,朝 ±Y 的每一個面都會平移並傾斜:−Y 端面過切、+Y 端面留料,越往下越多。立起來鑽時,孔每 1 mm 深度往零件 +z 斜 0.2 µm,孔口留在對刀面上。真實值在零件上最多約 3.2 µm,所以每次裝夾另外再播一組十倍的誤差(2 mrad)當顯示值。每一組都在 0.125 mm 下、只看幾何地播:

這些程式都是一般三軸加工:G54、G43 與鑽孔循環,沒有 RTCP、斜面加工或 CL。它們的機械座標只由程式與偏移決定;一趟清掉標記(控制器知道這個誤差)的修剪趟,切出的結果與有標記的那一趟完全相同。

HiNC 中,立方衛星側板的毛胚在平放裝夾、誤差放大十倍那一趟之後夾在虎鉗裡,依它與名目切削結果的差異上色:D6 端銑刀與熱縮刀把停在 −Y 端面旁,端面與端條內面帶色,窗口地板黃綠;右上角是 Df 色條
誤差放大十倍、控制器不知道它:平放裝夾切出的毛胚連同 Diff 放回 HiNC 的畫布,再用姿勢程式讓 D6 端銑刀與熱縮刀把停在 −Y 端面旁 0.2 mm。端面與端條內面帶著誤差;窗口地板的黃綠是傾斜的刀底留下的過切。
平放的板從 −Y 端正視端面,兩格依與名目切削結果的差異上色、交替顯示:誤差項開,端面由上到下從黃到紅;誤差項關,全綠
比對:從正面看 −Y 端面,交替顯示誤差項開(十倍誤差)與關(對照趟)。誤差開時,整個端面過切,越往下越深,端條 20 到 28 µm;左邊的角塊從頂端的綠到底部的紅。誤差關時,全部是綠的。
端面偏差對零件高度的圖:朝 −Y 的面紅、朝 +Y 的面藍,兩個值,每 0.5 mm 一格都落在兩條預測直線上,兩線在毛胚頂面交於零
平放的板:朝 −Y(紅)與 +Y(藍)的面,每 0.5 mm 高一格的偏差,包括端條與角塊的端面,真實值乘 10 畫上。每一格都落在預測線上,對刀的毛胚頂面為零、越往下越大:每個面都平移並傾斜誤差的角度。
M4 與 M3 兩個孔的孔壁展開:橫軸是繞孔軸的角度,0° 在孔頂;縱軸是深度;每個孔的孔頂越深越紅、孔底越深越藍,孔口附近幾乎是零
立起來鑽的板,十倍誤差:M4 與 M3 孔的孔壁繞孔軸展開,依 HiNC 匯出的切削結果每個頂點的偏差上色。孔頂越深越紅(過切),孔底越深越藍(留料),孔口幾乎是零:孔斜了,孔口沒動。畫布看不到孔壁,所以用匯出的網格來看。
HiNC 的機台拓樸圖:base 之後一支到 X、Y 軸與床台安裝點;另一支經過帶橘色「誤差項」徽章的 YZsq (StaticRotation) 到 Zerr,再接 Z 軸、主軸與刀具安裝點
誤差放在哪裡,HiNC 設備頁的拓樸欄:Z 軸正上游一個新錨點 Zerr。base → Zerr 這一條命名為 YZsq,是繞 X 方向的靜態旋轉,帶橘色「誤差項」徽章;Z 軸、主軸與刀具安裝點照舊接在它後面。
HiNC 中立在虎鉗裡的板,近看角塊:D2.5 鑽頭與熱縮刀把在 M3 孔裡,主軸頭在上方,端面是綠的
立起來的板,十倍誤差那一趟之後:姿勢程式讓 D2.5 鑽頭與熱縮刀把沿 M3 孔軸下去。對刀的端面是綠的;沉頭底的環帶一點顏色。

這些畫面由 HiNC 從基案的板、虎鉗、刀與程式渲染出來;沒有重製團隊的任何圖面。顏色是 HiNC 的幾何差異(色條上的 Df),對同一次裝夾名目趟切出的結果,色階正負對稱:紅=過切、藍=留料、綠=0;十倍誤差時,平放的板 ±0.035 mm、立起來的板 ±0.005 mm。畫面是把記下的毛胚連同 Diff 放回畫布拍的,不是重播;兩張刀把圖再用姿勢程式把刀帶進畫面。圖表由 HiNC 匯出的切削網格畫出。網格 0.125 mm。

關鍵數字意思
0.2 mrad誤差:Z 行程沿 Y 對台面不垂直,每 200 mm 差 0.04 mm,是一台輕型銑床出廠檢驗表允許的上限,不是任何一台機的量測。刀尖每 1 mm 深度往 +Y 偏 0.2 µm,對刀處為 0。每個數也都附十倍誤差(2 mrad,顯示值)的值
2.54×10⁻¹³ mm六趟帶誤差的播放,每一步量到的刀尖偏移與第一次播放前寫下的公式 δ = (0, −Z·sin θ, −Z·(1 − cos θ))(Z 是刀尖的程式 Z)之間的最大差:實際上是零。每一步的機械座標都與名目趟相同
∓2.03/∓2.77 µm平放的板,端條端面的上帶與下帶,真實值:−Y 面過切、+Y 面留料,與預測差不到百分之一 µm;十倍誤差時 ∓20.31 與 ∓27.69 µm。端條內面正好反過來,±2.39 µm
每 mm 2.000 µm十倍誤差時 M3 孔軸的斜度,0.0019998,對 sin θ = 0.002(M4:0.0019945),外推到端面只有 −0.10 到 +0.13 µm,最深一片則是 15 到 20 µm:孔口不動、孔斜
−0.588 µm角塊頂,最後由 D6 在一個高度切出:傾斜的刀底留下幾乎均勻的過切,是刀半徑乘角度(預測 −0.59)。導軌條朝 −X 的側面讀 0
9.925–10.169兩個值都量得到的 20 個盒,2 mrad 的偏差對 0.2 mrad 的比值:零件的反應與誤差成正比,所以任一組都讀得出每個特徵的靈敏度
55 分鐘18 趟 0.125 mm 播放在共用 32 執行緒伺服器上的時間,3,288.2 s:立起來的板每趟 4,535 或 5,251 步、5–30 s;平放的板每趟約 31.4 萬步、666–741 s,記憶體最多 5.75 GB

九個難題中的四個

一份帶著破角塊的毛胚紀錄

這片板的五次裝夾用毛胚紀錄接力,每一次讀前一次寫下的紀錄,所以鑽 −Y 端面的那一次,讀的是 E1 的紀錄;E1 是基案擺成繞對角線轉 120° 的裝夾。HiNC 在那裡有已知缺陷:這種裝夾讀不到力,匯出的零件在它切過的地方有開放邊。立板各趟的第一輪就繼承了它:M3 孔與沉頭的盒裡一個頂點都沒有,匯出的切削結果在角塊上有 6,289 與 9,052 條開放邊。試著從 E1 之前那一次的紀錄開始,就降到 726 與 1,272 條,M3 孔也完整了。E1 自己的孔與要量的孔都不相交,所以代理把這個改變寫成計畫後面註明日期的一節,才重播立板各趟。

兩個對刀高度、兩個樞軸,G54 才不用改

真機對刀會把誤差在對刀姿態造成的常數偏移吃進工作偏移;HiNC 量程式零點是在名目機台上量,什麼都不吃。這片板在兩個高度對刀:平放時在毛胚頂面,立起來時在端面。只用一個樞軸,至少有一次裝夾的程式零點會偏「高度差 × 角度」,各趟的 G54 會對不上,Diff 會把少做的對刀算到誤差頭上。代理讓每個對刀高度各有一個樞軸,放在那次對刀時刀尖的位置,代價是兩份機台檔。擬合在程式零點找到的偏移最多 8.44×10⁻¹⁴ mm,每一趟都照用專案自己的 G54。

0.125 mm 的網格,讀零點幾 µm

真實值時零件上最大的偏差約 3.2 µm,在端面的最下緣、對刀的毛胚頂面下 15.9 mm;孔口與地板只動零點幾 µm,而網格一格是 125 µm。代理另播一組十倍的誤差,放在自己的資料夾,出現的地方都標明是顯示值,兩組都量。20 個盒在兩個值都量得到,比值 9.925–10.169;只有沉頭底的上側在真實值讀 0.28 µm,低於三倍雜訊底,照計畫寫成低於雜訊底。真實值的畫面配十倍細的色階,看起來與顯示值的一樣。

計畫前的唯讀審查挑出了什麼

提交計畫之前,四個唯讀代理各從一個角度讀設計:運動學、刀具行為、標準與特徵預測。角塊頂原本用 D16 預測,但 D16 差 0.15 mm 沒切到;最後切它的是 D6,留下幾乎均勻的 −0.59 µm,設計原本 −1.6 到 0 的範圍寬到驗不出來。沉頭底的盒框進了孔壁,孔壁斜得比地板的傾斜大好幾倍,正確的切削結果也會判不過,於是改成只落在環形地板上的兩個盒。導軌條頂的盒跨過一個台階。還有:少了毛胚紀錄時,HiNC 只記一則訊息就從原始毛胚開始播,所以現在每一趟播放前都先核它要讀的紀錄。

其餘五個在完整紀錄裡:第一輪的座底,在同一個破掉的毛胚上從 46 個頂點讀到 +1.75 µm,毛胚完整之後從 1,081 個頂點讀到 −0.50 µm;立板裝夾的平底地板匯出時仍有幾百條開放邊,所以 HiNC 自己的 Diff 會報理想幾何沒有封閉;為什麼孔壁要用匯出的網格量,因為畫布沒有剖面視圖;跨出 M3 孔出口的一片切片,起初把孔軸拉成 0.00116;以及平放帶誤差的各趟多出一兩步,所以逐步比較改照程式行配對。

結果

18 趟播放全部跑完,沒有碰撞、沒有快移切料、沒有行程超限,每一趟的每一支分段程式都碰到料。第一次播放前寫下的十條標準,八條照原文通過;另外兩條(雜訊底與成本)是照記。

控制器不知道誤差時,每一步的刀尖都在第一次播放前的公式算出的位置,最大差 2.54×10⁻¹³ mm:對刀高度為 0,以下往 +Y;十倍誤差時在換刀高度偏 0.7 到 0.8 mm,那時刀在空中。每一步的機械座標都與名目趟相同。

平放銑時,朝 ±Y 的每一個面都平移並傾斜:真實值時端條端面上帶 ∓2.03 µm、下帶 ∓2.77 µm,角塊端面從頂端的 ∓0.63 µm 斜到底部的 ∓2.73 µm,每 0.5 mm 高都落在預測線上。端條內面正好反過來,±2.39 µm;地板帶著刀底的傾斜;朝 ±X 的面讀 0。立起來鑽時,孔軸每 1 mm 深度斜 0.2 µm,與角度差 0.3 % 以內,外推到端面只有十分之一 µm;M4 孔口那一盒只有深段的 0.158 倍。對照趟切出的就是名目零件,差約 10⁻¹⁰ mm。

這項研究只放這一個常數誤差,取的是公開的上限,不是量到的值;傾斜反過來,所有正負號都反過來。播放只看幾何,沒有切削力與撓曲;立起來的零件也少了 E1 的側孔,因為各趟只好跳過那一次裝夾。一切都是仿真,沒有切過任何一片板。

帶來了什麼

看完整的案例紀錄:立方衛星側板,Z 軸垂直度差 0.2 mrad

六片板、24 次裝夾與代理自寫的 CAM 是怎麼來的,寫在基案裡: SpaceTeamSat1 立方衛星結構。

所有實作案例