Co to jest układ współrzędnych robota?
Układ współrzędnych robota porządkuje ruch tak, aby manipulator trafiał tam, gdzie trzeba, i trzymał właściwy kąt narzędzia. Błąd w definicji bazy, narzędzia albo TCP szybko psuje trajektorię i uderza w jakość procesu. Poniżej wyjaśniam to praktycznie, bez zbędnych skrótów.
Najważniejsze informacje z tego artykułu:
- Układ współrzędnych robota opisuje pozycję i orientację manipulatora w przestrzeni.
- Najczęściej pracuje się na układach bazy, narzędzia, złączy i detalu.
- TCP wskazuje punkt, którym narzędzie wykonuje zadanie.
- Układy globalne są nieruchome, a lokalne zmieniają się razem z robotem lub detalem.
- Poprawna definicja układów ułatwia kinematykę prostą, odwrotną i programowanie ruchu.
Co to jest układ współrzędnych robota?
Układ współrzędnych robota to sposób opisu położenia i orientacji manipulatora w przestrzeni. Taki opis mówi sterownikowi, gdzie znajduje się punkt roboczy narzędzia i pod jakim kątem ma zostać ustawiony. Bez tego robot nie odróżni poprawnego dojścia do punktu od dojścia, które kończy się złym ustawieniem chwytaka, palnika albo wrzeciona.
Każdy taki układ ma punkt początkowy, osie X, Y, Z oraz opis obrotu wokół tych osi. W praktyce pozycję zapisuje się przez trzy współrzędne liniowe i trzy składowe orientacji. Często spotyka się zapis roll, pitch i yaw, czyli obrót wokół odpowiednich osi układu odniesienia.
W robotyce przemysłowej sama odległość od punktu zerowego nie wystarcza. Robot ma jeszcze ustawić narzędzie we właściwym kierunku. Może więc dojechać w dobre miejsce, ale pod złym kątem, a to wystarcza, by pogorszyć spawanie, rozregulować aplikację pick and place albo doprowadzić do kolizji.
Jakie elementy tworzą układ współrzędnych robota?
Taki zapis obejmuje:
- Początek układu – punkt zerowy, od którego liczy się wszystkie pozycje.
- Osie kartezjańskie – X, Y i Z, które opisują położenie w przestrzeni 3D.
- Orientację – obrót wokół osi, najczęściej zapisany jako kąty Eulera albo roll, pitch, yaw.
Te trzy elementy tworzą wspólny język dla sterownika, programu ruchu i operatora. Dzięki temu sterowanie przelicza ruch osi robota na pozycję efektora końcowego, czyli końcówki, która wykonuje realną pracę.
Wskazówka: Zawsze najpierw sprawdzam, względem którego układu panel pokazuje pozycję. Ten sam TCP ma inne współrzędne w układzie bazy, a inne w układzie użytkownika i to często tłumaczy pozornie dziwne różnice.
Sprawdź też inne artykuły z tej serii:
Jakie są podstawowe układy współrzędnych w robotyce?
W robotyce działa kilka układów odniesienia jednocześnie, bo każdy opisuje inną część rzeczywistości: stanowisko, podstawę robota, konfigurację osi, narzędzie albo detal. Ta hierarchia bardzo porządkuje program. Zamiast ręcznie przeliczać każdy punkt po zmianie stołu czy uchwytu, wystarczy poprawić właściwy układ.
| Układ | Do czego służy | Co opisuje |
|---|---|---|
| World | Porządkuje przestrzeń całej komórki. | Położenie względem otoczenia zewnętrznego i stałego układu globalnego. |
| Base | Stanowi punkt odniesienia robota. | Położenie względem fundamentu, cokołu lub miejsca montażu. |
| Joint | Opisuje konfigurację przegubów. | Kąty lub przesunięcia osi robota jako współrzędne uogólnione qi. |
| Tool | Definiuje narzędzie końcowe. | Pozycję i orientację TCP względem ostatniego przegubu albo interfejsu mechanicznego. |
| User | Ułatwia pracę na detalu lub stole. | Lokalny układ zdefiniowany przez użytkownika, na przykład dla stołu, palety lub przyrządu. |
W praktyce dochodzą jeszcze Object Frame, związany z konkretnym detalem, oraz Camera Frame, używany w systemach wizyjnych. Gdy kamera wykrywa przesunięcie obiektu, taki podział pozwala odnieść pozycję detalu do robota bez przebudowy całego programu. To robi dużą różnicę na uruchomieniu.
Spotyka się też Mechanical Interface, czyli układ związany z powierzchnią lub punktem montażu efektora końcowego do kołnierza robota. Ten poziom odniesienia przydaje się wtedy, gdy kilka narzędzi mocuje się do tego samego interfejsu i każde ma własny Tool Frame oraz własny TCP.
Czym różni się układ globalny od lokalnego?
Układ globalny pozostaje nieruchomy, a układ lokalny porusza się razem z elementem, do którego go przypisano. World Frame zwykle pełni rolę układu globalnego. Base, Tool, User albo Object częściej pracują jako układy lokalne, zależnie od tego, do czego zostały związane.
Ta różnica bezpośrednio wpływa na programowanie trajektorii. W układzie globalnym łatwo ocenić położenie robota w całej celi, strefy bezpieczeństwa i relacje między maszynami. W układzie lokalnym wygodniej prowadzi się narzędzie względem stołu, palety, detalu albo chwytaka.
Najczęstszy wybór wygląda tak:
- Układ globalny – do opisu całego stanowiska, stref i urządzeń zewnętrznych.
- Układ bazy – do odniesienia ruchu do miejsca montażu robota.
- Układ lokalny – do pracy względem detalu, narzędzia, palety lub przyrządu.
Wskazówka: Przy kilku gniazdach na jednym stole osobny User Frame dla każdego pola roboczego bardzo upraszcza program. Z doświadczenia widzę, że właśnie tam najszybciej wychodzi różnica między programem czytelnym a programem, którego nikt nie chce serwisować.

Jak wyznacza się TCP w przestrzeni roboczej?
TCP, czyli Tool Center Point, to punkt centralny narzędzia, w którym robot faktycznie wykonuje zadanie. Może nim być czubek palnika spawalniczego, środek szczęk chwytaka, końcówka dozownika, punkt styku elektrody albo wierzchołek frezu. Dla sterownika to najważniejszy punkt roboczy efektora końcowego.
Wyznaczenie TCP polega na określeniu jego położenia i orientacji względem ostatniego członu robota lub kołnierza montażowego narzędzia. W praktyce wykorzystuje się metody punktowe. Najczęściej spotyka się kalibrację czteropunktową albo procedury wielopunktowe, w których narzędzie ustawia się kilka razy względem tego samego punktu odniesienia. Sterownik z tych pozycji oblicza przesunięcie TCP.
Procedura wygląda zwykle tak:
- Ustal fizyczny punkt, który ma pełnić rolę TCP.
- Ustaw narzędzie w kilku różnych orientacjach względem tego samego punktu odniesienia.
- Zapisz pozycje w sterowniku.
- Oblicz położenie TCP względem narzędzia.
- Sprawdź wynik na punkcie kontrolnym.
W przypadku układów narzędzia i układów użytkownika producenci stosują też metodę trzypunktową. Dla User Frame wyznacza się zwykle: punkt początku układu, punkt na dodatnim kierunku osi X oraz punkt leżący w dodatniej półpłaszczyźnie XY. Taki zestaw ustala położenie i orientację płaszczyzny roboczej. To proste, a przy dobrze przygotowanym przyrządzie bardzo skuteczne.
Nawet mały błąd TCP przenosi się na cały program. Przy spawaniu wyjdzie to na ścieżce. Przy klejeniu na szerokości i położeniu ściegu. Przy manipulacji detalem na powtarzalności odkładania. Robot dalej będzie wyglądał na posłuszny, ale proces zacznie się rozjeżdżać.
Jak sprawdzić, czy TCP ustawiono dobrze?
Najprostsza kontrola polega na dojeździe do jednego punktu testowego z kilku orientacji narzędzia. Gdy kalibracja jest poprawna, końcówka trafia dokładnie w to samo miejsce. Gdy TCP jest błędny, narzędzie zaczyna zataczać mały okrąg albo odsuwa się bokiem podczas obrotu. To klasyczny objaw źle ustawionego punktu centralnego narzędzia.
Do weryfikacji przydają się takie sygnały:
- Stały punkt dojścia – końcówka trafia w to samo miejsce z różnych orientacji.
- Brak dryfu – robot nie ucieka bokiem przy obrocie narzędzia.
- Powtarzalny kontakt – chwytak, palnik albo dozownik zachowuje się identycznie w kolejnych cyklach.
Jak układ współrzędnych wspiera kinematykę prostą i odwrotną?
Bez układów współrzędnych nie ma sensownej kinematyki robota. Kinematyka prosta przelicza wartości osi i przegubów na pozycję TCP w przestrzeni. Kinematyka odwrotna idzie w przeciwną stronę: z zadanej pozycji i orientacji narzędzia wyznacza ustawienie osi robota.
W zapisie technicznym współrzędne przegubów tworzą wektor qi, czyli zestaw współrzędnych uogólnionych opisujących stan manipulatora. Sterownik przelicza ten stan przez transformacje homogeniczne, czyli macierze łączące przesunięcie i obrót w jednym modelu matematycznym. Efektem jest pozycja kartezjańska: X, Y, Z oraz orientacja narzędzia.
Z kolei przy kinematyce odwrotnej operator albo program podaje położenie TCP, a układ sterowania szuka konfiguracji przegubów, która pozwoli ten punkt osiągnąć. Tu zaczyna się ciekawsza część, bo jedna pozycja TCP często ma kilka rozwiązań. Robot może dojechać do tego samego miejsca z innym ułożeniem łokcia, nadgarstka czy obrotu osi bazowej.
Dlatego sterownik uwzględnia ograniczenia mechaniczne, osobliwości kinematyczne, kolizje i ciągłość ruchu. Szczególnie w robotach antropomorficznych osobliwości potrafią mocno namieszać. W robotach kartezjańskich, na przykład bramowych, ten problem wygląda inaczej, bo ich przestrzeń robocza ma prostszą geometrię i zwykle nie występuje taka redundancja ustawień przegubów.
Wskazówka: Gdy trajektoria zachowuje się nielogicznie, porównanie pozycji w układzie kartezjańskim z wartościami osi w układzie Joint szybko pokazuje źródło problemu. Czasem winna jest ścieżka, a czasem zwyczajnie błędny układ odniesienia.

Jak opisuje się ruch po osiach X, Y, Z i wokół nich?
Ruch robota opisuje się przez translację i rotację. Translacja oznacza przesunięcie wzdłuż osi X, Y i Z. Rotacja oznacza obrót wokół tych osi. Razem daje to sześć stopni swobody, czyli pełny opis położenia i orientacji efektora końcowego w przestrzeni.
- X – ruch wzdłuż jednej osi poziomej, zależny od przyjętej orientacji układu.
- Y – ruch wzdłuż drugiej osi poziomej.
- Z – ruch pionowy albo zgodny z osią normalną do płaszczyzny roboczej.
- Roll – obrót wokół osi X lub osi narzędzia, zależnie od konwencji sterownika.
- Pitch – obrót wokół osi Y.
- Yaw – obrót wokół osi Z.
Tu kryje się ważny szczegół: różne sterowniki stosują różne konwencje zapisu orientacji. Zmienia się kolejność osi obrotu, nazewnictwo i sposób liczenia kątów. Dlatego ten sam punkt zapisany w dwóch systemach może wyglądać inaczej mimo identycznego położenia fizycznego. Kto raz odwrócił narzędzie przez złą kolejność kątów, ten już potem sprawdza dokumentację bez przypominania.
Jak używa się układów współrzędnych podczas programowania ruchu?
Układy współrzędnych porządkują cały proces programowania robota. Dzięki nim punkty ruchu zapisuje się względem bazy, narzędzia, stołu, detalu albo całej celi, a nie w przypadkowym zestawie liczb. To przekłada się na czytelność programu, krótsze uruchomienie i łatwiejsze zmiany produktu.
Hierarchia transformacji zwykle wygląda tak: Joint → nadgarstek lub koniec ostatniego przegubu → Tool i TCP → User lub Object → Base → World. Sterownik łączy te poziomy podczas obliczania trajektorii. Dzięki temu zmiana położenia detalu nie wymaga ręcznego poprawiania wszystkich punktów, o ile punkty zapisano w dobrze dobranym układzie użytkownika albo obiektu.
Przy pracy z robotem dobrze sprawdza się taka kolejność:
- Ustal układ bazy i potwierdź zgodność z montażem robota.
- Zdefiniuj TCP dla każdego narzędzia.
- Dodaj User Frame lub Object Frame dla detalu, stołu albo przyrządu.
- Wprowadź punkty ruchu w wybranym układzie odniesienia.
- Zweryfikuj trajektorię w trybie testowym przy małej prędkości.
W praktyce programista stale przełącza się między układami. W jednym momencie sprawdza pozycję narzędzia względem detalu, a chwilę później kontroluje kąty osi w Joint Coordinates, by uniknąć przekręcenia nadgarstka albo wejścia w ograniczenie mechaniczne. Właśnie tu widać, że co to jest układ współrzędnych robota nie stanowi czystej teorii. To narzędzie opisu, bez którego trudno mówić o stabilnym procesie.
W środowiskach offline i systemach CAM spotyka się podobną logikę. Program najpierw odnosi geometrię do modelu maszyny, a dopiero potem do konkretnego stanowiska. Z punktu widzenia wdrożenia daje to jedną dużą korzyść: łatwiej przenieść ścieżkę z symulacji na rzeczywistego robota bez ręcznego przestawiania setek punktów.
Podsumowanie
Układ współrzędnych robota opisuje pozycję i orientację manipulatora w przestrzeni oraz łączy geometrię robota z geometrią stanowiska. Najczęściej wykorzystuje się układ globalny World, układ bazy, układ złączy Joint, układ narzędzia Tool i układ użytkownika albo obiektu. TCP wskazuje punkt, którym narzędzie naprawdę pracuje, dlatego jego poprawna kalibracja ma bezpośredni wpływ na jakość procesu. Dobrze zdefiniowane układy upraszczają kinematykę prostą i odwrotną, programowanie trajektorii oraz późniejszy serwis.
FAQ
Q: Czy układ współrzędnych robota zawsze ma trzy osie?
A: Tak, opis przestrzenny opiera się na osiach X, Y i Z. Do pełnego opisu dochodzi jeszcze orientacja, czyli obroty wokół tych osi.
Q: Czy jeden robot może mieć kilka układów narzędzia?
A: Tak, jeśli pracujesz z kilkoma efektorami końcowymi. Każde narzędzie powinno mieć własny Tool Frame i własny TCP.
Q: Czy User Frame trzeba ustawiać dla każdej aplikacji?
A: Nie zawsze, ale warto to zrobić, gdy detal, stół albo paleta mają własną geometrię. Taki układ upraszcza program i serwis.
Q: Czy błąd TCP wpływa na kinematykę odwrotną?
A: Tak, bo sterownik liczy pozycję przegubów dla źle opisanej końcówki narzędzia. Efekt widać jako przesunięcie całej trajektorii.
Q: Czy układ Joint Coordinates przydaje się operatorowi?
A: Tak, zwłaszcza przy diagnostyce i ręcznym prowadzeniu robota. Pokazuje on rzeczywiste kąty osi i pomaga ocenić konfigurację manipulatora.
Weryfikacja i redakcja
Za redakcję i weryfikację artykułu odpowiadają:
Joanna Lewandowska. Specjalistka ds. automatyki i integracji. Absolwentka kierunku Automatyka i Robotyka na Akademii Górniczo-Hutniczej im. Stanisława Staszica w Krakowie.
Piotr Woźniak. Doświadczony redaktor technologiczny. Absolwent kierunku Dziennikarstwo i Komunikacja Społeczna na Uniwersytecie Warszawskim.





Opublikuj komentarz