TMflow Software version: 2 Series
TM Robot Hardware version: All Robot with EIH Camera
Jig: 設計能安裝在 FOUP 公差為 ±0.05mm,且可黏貼 LM 的治具
Background #
在 Robot + AMR 的整合應用場域中,系統整合商 (SI) 通常會利用 E-Rack 上各槽位貼附的 Landmark (LM) 來建立 LM Base,接著使用該 LM Base 為基準教導 FOUP 的取放點 (Pick & Place Points)。
理想上,只要完成一次教導,同一組 LM Base 應可套用至所有槽位。然而,實際運行時會受到以下因素影響:
A. Robot 在不同姿態下進行卡式座標移動時,可能產生非線性誤差。
B. 各槽位上 LM 的貼附位置或角度不一致,也會導致取放誤差。
這些誤差可能使 Robot 在移動至取放點時,實際物理位置出現偏差,進而造成機構干涉。
目前多數系統整合商仍採用針對每個槽位逐一手動微調 (Offset) 的方式修正,過程費時且人 工作業量高,極需更有效率的解決方案。

Introduction & Value #
本方法可有效改善 B.因槽位上 LM 貼附不一致所導致的取放誤差問題。透過此方法,Robot 在相近姿態下執行各槽位的取放動作時,無需再逐一進行微調,即可維持穩定的取放點,將取放點誤差控制在 ±1mm 以內,並省下大量的工作時間。
以下列情況為例:
假設現場共有 100 個槽位,傳統方式需針對每個槽位進行一次教導與微調,每槽位約耗時 10 分鐘,總計需 100 × 10 = 1,000 分鐘。
採用此新方法後,只需:
- 初次教導取放點約 10 分鐘;
- 其餘各槽位僅需 1 分鐘 執行視覺任務建立關係。
整體僅需 10 + (1 × 100) = 110 分鐘,即可完成所有槽位的取放點建立,相較傳統流程節省近 90% 的時間成本,同時降低人為誤差發生機率。
Preparation #
TMflow Software version: 2 Series
TM Robot Hardware version: All Robot with EIH Camera
Jig: 設計能安裝在 FOUP 公差為 ±0.05mm,且可黏貼 LM 的治具。

Optimization Method & Process #
- 首先透過教導建立在 TM LM Base (Jig) 上的取放點,取放點就可以跟著 Jig 一起帶著走到下一個槽位,而不需要重新教導。

- 接著建立各 TM LM Base (Slot) 與 TM LM Base (Jig) 的關係。

- 實際運行不需要治具,Robot 執行 TM LM Base (Slot) Vision Job 之後,取放點的座標系會透過TM LM Base (Slot) 以及關係式 Trans 換算得出,因此不需要治具上的 LM。

以下以多層 E-Rack(Slot 1~Slot 6)為例,說明如何使用此方法建立 Landmark 之間的對應關係,並完成各槽位的取放動作。

系統架構 #
如上圖所示,一個有上/中/下層的Rack,包含:
- FOUP Base * 6
- TM Landmark * 6
- FOUP(Front Opening Unified Pod)
- Jig(With Landmark)
Robot 透過各層的 Slot Landmark 與 Jig Landmark建立相對關係,統一基準進行取放動作。
教導流程 #
- 從任一層開始,例如從 Level Upper (Slot 1) 開始操作。
- 將 Cap Jig 安裝到 FOUP 上方。
- 專案 Step-Run(需事先設定好遠拍 LM 點位)
- LM 定點式定位 (Slot Landmark) :
- Robot 先進行遠拍與近拍,取得Slot LM對應的 VisionBase_Slot。
- LM 定點式定位 (Slot Landmark) :
-
- LM 定點式定位 (Jig Landmark):
- 再進行遠拍與近拍Jig LM,取得 VisionBase_Jig。
- LM 定點式定位 (Jig Landmark):
- 教導取放點(Pick & Place Points)
- 基於 VisionBase_Jig 教導取放點。
- 重複相同步驟,依序完成其他層(Level Middle / Lower)的取放點教導。
全域變數 #
- 系統中若有 N 個 Slots,需在 TMflow 中建立 N 組全域變數。
例如:
執行專案流程 #
- Define 階段
- 建立VisionBase_Slot 與 VisionBase_Jig 的相對關係(Transformation Matrix)。
- 將結果存入對應的全域變數。
例如:
-
- Slot 1 關係存入 g_Z_Slot_Trans_1
-
- Slot 2 關係存入 g_Z_Slot_Trans_2
- …
- Slot N 關係存入 g_Z_Slot_Trans_N
- 從任一槽位(例如 Slot 1)開始,完成關係定義後切換至下一槽位。
- 完成其他槽位(Slot 2~Slot 6) Transformation Matrix 建立。
2. Run 階段
- 當上位機下發工單時,系統可以依據工單內容改變變數 ID。
- Robot 專案會自動套用該槽位的相對關係,完成取放動作。
Q&A #
Q. 專案當中是怎麼實作建立Slot / Jig LM關係以及如何使用?
A. 在專案 Define 階段的流程當中,使用 Script Node + TMscript Command –> Trans() 將兩個 LM Base 建立關係並存到全域變數上。

另外在專案 Run 階段的流程當中,使用 TMscript Command –> Applytrans() 建立虛擬 Jig LM 座標系。

Q. 如何增加 LM Base 定位精度?
A. 除了確認光線充足外,建議可以在 Vision Job 拍攝前加上等待時間(Ex. Waitfor Node – 1000ms),讓Robot 在一個相對穩定不動的狀態下拍照。
Q. 設計Jig是否有什麼建議?
A. Jig 主要的目的是「固定上方的LM 與 FOUP 的關係」,因此設計的建議是能盡量貼合並減少LM的偏移量,例如: Jig 下方可以設計錐型凸台來對齊 FOUP 中心,每次安裝時都能在相同位置。

如果認為設計 Jig 過於繁瑣,也可以直接利用一個FOUP 貼上 LM 作為 Golden Sample,如此也能達成目的 -「固定上方的LM 與 FOUP 的關係」,只是相較於製作Jig,FOUP 本身的造價較高,可以根據當時情況判斷要用何種方式實現此方法。
Q. 此方法的應用注意事項?
A. 如果 FOUP Base 之間的距離太遠,即便使用 Jig LM 統一建立取放點,還是會受到手臂姿態差異導致的非線性誤差,建議距離若大於 500mm 則需要重新教導一組取放點。


