Kalibracja robotów przemysłowych Rzeszów 27.07.2013
Kalibracja robotów przemysłowych 1. Układy współrzędnych w robotyce... 3 2 Deklaracja globalnego układu współrzędnych.. 5 3 Deklaracja układu współrzędnych obiektu lub użytkownika.... 7 4 Deklaracja narzędzia pracy.... 8 5 Transformatory położenia kątowego (ang. resolver )... 9 6 Napędy elektryczne robotów przemysłowych... 13 7 Aktualizacja liczników transformatorów położenia kątowego (resolverów) 16 8 Aktualizacja wartości kąta położenia zerowego silnika... 18 9 Kalibracja robotów przy użyciu panelu operatorskiego 19 9.1 Aktualizacja liczników obrotu... 19 9.2 Kalibracja siatki podstawy. 20 10 Kalibracja robotów za pomocą RobotStudio Online. 22 10.1 Proces pobierania systemu z kontrolera. 22 10.2 Kalibracja robotów poprzez edycję plików 24 11 Podsumowanie... 26 Literatura... 26 2
Kalibracja robotów przemysłowych Poniżej zaprezentowano opis stosowanych w robotyce układów odniesienia, podano sposoby ich kalibracji, omówiono podstawy teoretyczne układów sensorycznych i wykonawczych bezpośrednio związanych z kalibracją robotów ponadto podano w formie instrukcji w jaki sposób należy przeprowadzić kalibrację robotów z wykorzystaniem panelu operatorskiego (FlexPendant) oraz oprogramowania RobotStudio. Przeprowadzone prace symulacyjne i testowe odniesiono do robotów IRB 140 oraz IRB 1600 sterowanych za pomocą kontrolera IRC5. 1. Układy współrzędnych w robotyce Robot, urządzenie mechaniczne wykorzystuje do orientacji w przestrzeni informację o kontach w swoich złączach oraz wiedzę dostarczoną przez operatora. Programista powinien niekiedy przeanalizować i mieć świadomość, że robot czy manipulator nie posiada rozbudowanego systemu wizyjnego jak człowiek, który jest w stanie na bieżąco wprowadzać korekty i reagować na zmiany otoczenia. Widzi czy mówiąc inaczej wie o otaczającym świecie tylko tyle ile mu powiemy. Dlatego aby mógł wykonywać prace musimy podać do systemu zrobotyzowanego informacja gdzie jest robot i gdzie są przedmioty wokół niego z którymi będzie wchodził w interakcje. W pierwszym kroku musimy określić punkt odniesienia i przyjąć globalny układ współrzędnych (tzw. ang base frame). Najczęściej przyjmujemy kartezjański układ odniesienia. W porównaniu z układem współrzędnych biegunowych, współrzędne kartezjańskie dają bardziej naturalną oraz łatwiejszą w zastosowaniu praktycznym informację o położeniu ramienia manipulatora w przestrzeni roboczej. W kolejnym kroku należy w zdefiniowanym globalnym układzie odniesienia umieścić robota lub roboty. Kartezjański układ współrzędnych związany z robotem jest układ bazowy, zaczepiony w podstawie robota. Ponadto w praktyce przydatne jest posługiwanie się układem współrzędnych obiektu roboczego, narzędzia oraz użytkownika. System układów charakteryzuje się hierarchicznością, co oznacza, że definiowanie układu odbywa się w odniesieniu do innego układu współrzędnych. Globalny układ współrzędnych ma szczególne znaczenie w systemach składających się z wielu często współpracujących ze sobą robotów lub poruszających się na zainstalowanych dodatkowych osiach. 1 - globalny układ współrzędnych 2,3 bazowe układy Rys. 1. Globalny układ współrzędnych (1) dla dwóch robotów pracujących we wspólnej przestrzeni roboczej [ABB1]. 3
Pozwala na określenie wspólnej przestrzeni roboczej, przy czym układy bazowe mogą mieć całkowicie różną orientację względem siebie. Wówczas układy bazowe poszczególnych manipulatorów są odniesione względem układu globalnego (rys.1). Bazowy układ współrzędnych jest podstawowym układem określającym położenie ramienia w przestrzeni, przypisany do konkretnej jednostki mechanicznej, a w przypadku systemu składającego się z pojedynczego robota jest często układem globalnym (rys.2). Rys.2. Bazowy układ współrzędnych (XYZ) umieszczony w podstawie robota. Układ współrzędnych użytkownika definiowany jest w układzie globalnym. Związany jest najczęściej z zamocowaniem przedmiotu obrabianego (stoły warsztatowe, przenośniki, przyrządy obróbkowe, pozycjonery) (rys.3). Pozycje zapisane w układzie współrzędnych użytkownika są w odniesieniu do niego niezmienne. Sam układ użytkownika może się przemieszczać fakt ten w ułatwia programowanie. Informacja na temat przemieszczenia układu musi być uwzględniona w systemie sterującym jako zmiana położenia układu użytkownika względem układu globalnego. W przypadku, gdy w jednym zamocowaniu znajduje się kilka obiektów roboczych wygodnie jest użyć oddzielnego układu współrzędnych dla każdego z nich. Układ współrzędnych obiektu roboczego jest najwygodniejszy dla programowania trajektorii ruchu, dlatego to właśnie w nim określa się punkty docelowe i przebieg ścieżki punktu roboczego narzędzia. W związku z tym, że układ ten bezpośrednio związany jest z obiektem roboczym wygodnym sposobem programowania jest umiejscowienie go w bazie wymiarowej rysunku technicznego (rys.3). Układ współrzędnych obiektu roboczego może być ruchomy względem podstawy robota, a także układu globalnego, czy też użytkownika. W przypadku, gdy obiekt zmienia położenie, zmieni również położenie układ współrzędnych z nim związany. 1- Bazowy układ współrzędnych. 2 - Układ współrzędnych użytkownika. 3,4 - Układ współrzędnych obiektu. Rys.3. Układy współrzędnych obiektu przy dwóch różnych zamocowaniach. 4
Szczególne znaczenie ma to, gdy obiekt przemieszcza się np. za pomocą przenośnika lub, gdy po zaprogramowaniu trajektorii ze względów technologicznych musi nastąpić zmiana jego położenia. W niektórych przypadkach, kiedy zaprogramowane wcześniej pozycje nie możliwe są do osiągnięcia przy zapisanych wcześniej konfiguracjach osi robota, może być wymagana rekonfiguracja całej ścieżki lub jej części. Układ współrzędnych narzędzia definiowany jest na podstawie niezmiennego układu współrzędnych przegubu osi 6, którego początek znajduje się w środku kołnierza montażowego końcówki roboczej (narzędzia) (rys.4). Układem współrzędnych narzędzia jest przesunięcie układu współrzędnych ostatniego przegubu wzdłuż jego osi obrotu, a jego środek nazywany jest punktem środkowym narzędzia TCP (Tool Center Point). Jest to punkt roboczy przemieszczający się podczas pracy po zaprogramowanej trajektorii. Wykorzystanie tego układu szczególne znaczenie ma podczas impulsowania robota w celu odjazdu od obrabianego przedmiotu wzdłuż jednej z osi tego układu. Rys.4. Układ współrzędnych narzędzia wraz z centralnym punktem narzędzia (TCP). Poza wymienionymi wyżej głównymi układami współrzędnych wykorzystywanych podczas programowania robotów definiuje się również pochodne układy współrzędnych nazywane układami współrzędnych przeniesienia. Są to transformacje układu współrzędnych obiektu roboczego stosowane w celu uniknięcia wielokrotnego programowania tej samej trajektorii w różnych miejscach przestrzeni roboczej. Układ współrzędnych obiektu roboczego zostaje skopiowany w nowym miejscu wraz z zaprogramowanymi punktami. Nie zawsze wykorzystywanie wszystkich zaprezentowanych układów współrzędnych jest konieczne. Jeśli przyjrzymy się powyższym definicjom widzimy, że stosując jedynie bazowy układ współrzędnych możemy definiować położenie TCP w dowolnym miejscu przestrzeni roboczej. Jednak byłaby to praca bardzo mozolna i często trudna do zrealizowania w przypadkach, gdy na przykład wykonujemy pracę dla obiektów których krawędzie są zorientowane inaczej niż bazowy układ współrzędnych. Wykorzystanie w takim przypadku układów odniesienia powiązanych z obiektami oczywiście zwiększa dokładność i zmniejsza pracochłonność, a przez to czas pisania programu dedykowane dla robota. 2 Deklaracja globalnego układu współrzędnych W większości przypadków do programowania zadań dla pojedynczego robota można używać głównie układu współrzędnych podstawowych, związanego z podstawą robota. Gdy jednak stacja robocza składa się z dwóch lub więcej robotów, które korzystają z tej samej przestrzeni roboczej, lub będą ze sobą współpracować (tryb MultiMove ) to należy zadeklarować globalny układ współrzędnych (rys. 5a). 5
Zadanie to sprowadza się do ustawienia pozycji i orientacji układu współrzędnych podstawowych każdego z robotów w pożądanym układzie współrzędnych globalnych. Pomiar tych wartości konwencjonalnymi metodami i wpisanie otrzymanych wartości mogłoby nie być wystarczająco dokładne. Do realizacji tego zadania wykorzystuje się specjalną funkcję kontrolera, która pozwala na dokładne określenie parametrów przesunięcia tych układów współrzędnych. Jest ona dostępna w zakładce Base Frame w menu kalibracji (rys. 5b) pod nazwą 4 points XZ. a) b) z p y p x p z g y g x g Rys. 5.a) Robot i jego układ współrzędnych podstawowych x p y p z p w globalnym układzie współrzędnych x g y g z g, b) zakładka ustawień pozycji bazowego układu współrzędnych. Metoda ta polega na czterokrotnym ustawianiu końcówki roboczej (punktu charakterystycznego narzędzia) w ustalonym punkcie globalnego układu współrzędnych (W - Reference point ), przy czym za każdym razem robot powinien być ustawiony pod innym kątem tak jak na rys. 6a. Po każdym ustawieniu należy zaakceptować pozycję naciskając Modify Position (rys. 6b). a) b) ( x, y z ) W, w w w z p y p x p z g y g x g Rys. 6a). Przykładowy sposób ustawień końcówki roboczej w punkcie referencyjnym W, b) menu konfiguracji położenia bazowego układu współrzędnych. 6
Pomiar wartości kątowych wszystkich osi robota i dane geometryczne narzędzia pozwolą w ten sposób określić wartości Δx 1, Δy 1, Δz 1 określające przesunięcie bazowego układu współrzędnych względem globalnego układu. Aby zmienić dodatkowo orientację układu bazowego należy podać punkty na przedłużeniu osi x ( Elongator point X rys. 6b) oraz osi z ( Elongator point Z rys. 6b) globalnego układu współrzędnych. Przedstawiony wcześniej proces należy powtórzyć dla wszystkich współpracujących robotów. Jednocześnie należy dołożyć wszelkich starań, aby czynności te były wykonywane jak najdokładniej, ponieważ od nich zależy późniejsza dokładność pracy. 3 Deklaracja układu współrzędnych obiektu lub użytkownika Układ współrzędnych użytkownika jak i obiektu są przydatne w sytuacjach, gdy w skład systemu zrobotyzowanego wchodzą dodatkowe urządzenia np pozycjonery, stoły obróbcze posiadające swoje własne układy współrzędnych. Obydwa układy współrzędnych można zdefiniować dla dowolnej liczby obiektów jak i elementów obrabianych. Różnica pomiędzy układem użytkownika, a obiektu polega na tym, że układ współrzędnych użytkownika definiowany jest w odniesieniu do globalnego układu współrzędnych, a układ współrzędnych obiektu opiera się na układzie współrzędnych użytkownika. Robot może posiadać kilka układów współrzędnych obiektów roboczych, reprezentujących różne obiekty robocze lub kilka kopii tego samego obiektu, znajdujących się w różnych miejscach. Generalnie w układach współrzędnych obiektów roboczych tworzy się ścieżki podczas programowania robota. Przyjęcie tego typu metodologii programowania robota posiada szereg zalet. Podczas zmiany pozycji obiektu roboczego w stanowisku, wystarczy zmienić układ współrzędnych obiektu, a wszystkie ścieżki zostaną zaktualizowane. Ponadto fakt ten, umożliwia pracę z obiektami roboczymi przesuwającymi się np za pomocą osi zewnętrznych lub przenośników. W takiej sytuacji przesuwany jest obiekt roboczy wraz ze ścieżkami pracy robota z nim związanymi. a) b ) Rys. 7. Definiowanie układu współrzędnych obiektu a) schemat, b) panel definiujący W celu zdefiniowania układu współrzędnych obiektu roboczego należy podać trzy pozycje, dwie na osi x i jedną na osi y (rys.7a). Podczas definiowania obiektu roboczego można skorzystać z układ współrzędnych użytkownika jak również z globalnego układu współrzędnych (rys. 7b). 7