← Back to list

搞懂FANUC ROBOT的座標系:UFRAME與UTOOL解釋!

在工業自動化領域,精準控制 FANUC 機器人的第一步,就是徹底搞懂座標系 (Coordinate System)。許多剛踏入自動化產業的工程師,在面對 UFRAME (使用者座標) 與 UTOOL (工具座標)…

Ravenbotcode · 2025-07-22 06:20 · 13 claps · 4.9 min read
#fanuc #robotics #industrial-robotics #automation #programming
Open on Medium ↗
Wiki topics: 💻 · Programming ⚖️ · Law & Justice

搞懂FANUC ROBOT的座標系:UFRAME與UTOOL解釋!

在工業自動化領域,精準控制 FANUC 機器人的第一步,就是徹底搞懂座標系 (Coordinate System)。許多剛踏入自動化產業的工程師,在面對 UFRAME (使用者座標)UTOOL (工具座標) 時常感到一頭霧水,導致在現場教導點位時耗費大量時間。這篇文章將濃縮我多年的現場實戰與手臂調適經驗,用最白話的方式,帶你解析這兩個 FANUC 系統中最核心的設定觀念。

Photo by ZHENYU LUO on Unsplash

Photo by ZHENYU LUO on Unsplash

在本篇文章中,我將用淺顯易懂的方式一次搞懂ROBOT座標系的意義、差異與實務應用。

為什麼座標系很重要?

但是,ROBOT本身並不像人類具有「直覺」,認為自己待會該向上或向右,它需要明確被告知「哪裡是原點、方向在哪裡」這就是座標系的協助。

我們在一般治具上的取放料件時,治具的座標系與ROBOT的座標系可能並未經過校正吻合,舊友機率會發生前面幾個料件可以正確且精準地被取放,然而在接近末段的位置的時候,會因其「累積誤差」而無法正確取放。(如下圖)

ROBOT座標系與治具檯面並未吻合

ROBOT座標系與治具檯面並未吻合

當然你可能會認為說:ROBOT不是用「教導」的嗎?為什麼會有累積誤差的情況發生呢?

其中一個原因是,如果治具盤面上的料件只有10個左右,當然可以使用一個一個教導的方式來取放。那如果是有100個料件呢?難道也要一個一個教導嗎?

都已經決定要導入自動化了,我們當然可以用更聰明的方式來完成這個所謂「陣列取放」的問題。

這個問題之後會再寫一篇文來做說明。

FANUC ROBOT的四大座標系

FANUC ROBOT主要會接觸到以下4大座標系:

  1. World Frame (世界座標系):ROBOT一開機就預設好的,無法被更改。存在於ROBOT本體。
  2. User Frame (使用者座標系):自定義於要操作的空間。可以根據使用情況多加設定的座標系,在程式中可以切換組別使用。
  3. Tool Frame (工具座標系):以工具(夾爪或吸盤…等)安裝後的末端做為中心,又稱為Tool Center Point (TCP)。用於定義工具的長度和方向。
  4. Joint Frame (關節座標系):顧名思義就是以各軸關節分開來移動的,操作時可以控制各軸關節正反轉。

World Frame與Tool Frame的預設示意圖

World Frame與Tool Frame的預設示意圖

其中除了Joint Frame之外,其餘座標系都是Cartesian coordinate system (笛卡爾座標系統)

User Frame是什麼?它代表什麼空間?

想像一下你有一張工作桌,桌子上的每一個角落你都需要讓ROBOT去取放料件。正如前面所說明,如果直接用 WORLD 座標操作,位置很多的話就會變得非常麻煩。

這時候可以定義一個 User Frame,以桌角為原點,桌邊為 X、Y 方向,這樣我們就可以很直覺地在「桌面」上規劃ROBOT動作。

如上圖:當設定好User Frame以後,因為ROBOT已經執行參考了該座標系,只要操作1個方向就可以從A點去到B點。

Tool Frame是什麼?為什麼需要它?

當你在機械手臂上裝上不同工具(Tool)時,這些工具的形狀與長度可能不同。UTOOL 就是為了告訴機器人:我的手長這樣、手指這樣伸。

定義好UTOOL (或稱TCP)之後,那麼後續的移動都會是以該UTOOL進行的。在設定TCP的方向的時候,會有一個習慣是TCP與User Frame方向會大致一樣,總不太能User frame Z方向向上;TCP Z方向向下,這樣在移動或寫程式進行位置補償時容易被搞混。

實際範例:Uframe與UTool是如何被應用的?

在記錄點位的時候,實際上會同時紀錄當下使用Uframe和UTool分別是什麼組別,如下圖

例如所記錄的P[1]:

  • UF:0 代表參考User Frame第0組,也就是World Frame
  • UT:1 代表參考Tool Frame第1組

這樣做的好處是,今天不小心切換錯組別,就不會參考到錯誤的座標系去執行。(但是PR[…]可以執行)

因此我們在一個動作程式的開頭會進行座標系組別的宣告:

UFRAME_NUM=0
UTOOL_NUM=1

J P[1] 100% FINE

如此一來程式在自動執行的時候就會切換至當時正確的教導組別

再來一個場景是:我們要是更換夾爪,比如說變長,但是基本上其他動作都一樣,程式也都一樣的時候。我們只要重新設定UTOOL,最後確認一下動作是否干涉即可。

總結一下實際應用:

  1. 多個夾爪的場合:相同程式邏輯下,依據對應夾爪切換對應UTOOL
  2. 多個工作站的場合:切換不同UFRAME,例如放置台、輸送帶、加工機…等

掌握了UTOOL 和 UFRAME 就可以掌握部分程式共用的靈活性!也可以有效幫助你操作時的方便性!

推薦閱讀

如果你對這些實務技巧與觀念整合也有興趣,歡迎追蹤這個專欄;也歡迎留言告訴我你最想學的機器人主題!

[回到上方](#d30c)


메타데이터
post_id
61cb6e9a7692
slug
搞懂fanuc-robot的座標系-uframe與utool解釋-61cb6e9a7692
url
https://medium.com/@ravenbotcode/%E6%90%9E%E6%87%82fanuc-robot%E7%9A%84%E5%BA%A7%E6%A8%99%E7%B3%BB-uframe%E8%88%87utool%E8%A7%A3%E9%87%8B-61cb6e9a7692
canonical_url
https://medium.com/@ravenbotcode/%E6%90%9E%E6%87%82fanuc-robot%E7%9A%84%E5%BA%A7%E6%A8%99%E7%B3%BB-uframe%E8%88%87utool%E8%A7%A3%E9%87%8B-61cb6e9a7692
author_url
https://medium.com/@ravenbotcode
status
ok
fetched_at
2026-06-25 07:00:49