Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 3 Temat: Generowanie ruchów robota FANUC
Spis treści 1. Wprowadzenie... 3 1.1. Opis robota LR Mate 200iC... 3 1.2. Opis robota M-10iA... 4 1.3. Opis środowiska Roboguide... 6 2. Program... 7 2.1. Opis interfejsu... 7 2.2. Przygotowanie stanowiska... 9 2.3. Budowanie ścieżek, style spawania... 15 2.4. Budowa symulacji opis instrukcji... 18 2.5. Symulacja programu... 20 3. Uruchomienie na robocie... 24 3.1. Konfiguracja... 24 3.2. Wgrywanie programu... 24 3.3. Uruchomienie programu... 25
1. Wprowadzenie 1.1.Opis robota LR Mate 200iC Parametry techniczne podawane przez producenta (źródło: www.fanucrobotics.pl) Zastosowanie: Malowanie, Klejenie i uszczelnianie, Formowanie, Montaż, Odlewanie, Wypraski, Obrabianie Cechy: Elementy zintegrowane w ramie (okablowanie pneumatyczne oraz elektryczne) Możliwość montażu na podłodze, ścianie oraz na suficie Wysoka ochrona przed zanieczyszczeniami Wysoka przepustowość: Prędkość TCP większa niż 4 m/s Czas cyklu pracy 120 cykli/min (najszybszy w swojej klasie) 3
1.2.Opis robota M-10iA Roboty z serii M-10iA charakteryzują się dużą elastycznością przy udźwigu do 10 kg. Duża prędkość działania sprawia, że sprawdzają się także w operacjach przenoszenia i paletyzacji. Parametry techniczne: 4
Zastosowanie: Maszynowe ładowanie oraz rozładowywanie narzędzi Operowanie materiałem w celu montowania, odlewania plastiku Klejenie i uszczelnianie Cięcie, obróbka krawędzi, polerowanie Opakowywanie 5
1.3.Opis środowiska Roboguide Roboguide jest to oprogramowanie pozwalające zasymulować ruch robota lub wykonanie określonego zadania bez dostępu do rzeczywistego stanowiska oraz robota. Wykorzystywany jest do tego wirtualny kontroler robota. Zadaniem Roboguide jest weryfikacja operacji robota. Możliwe jest sprawdzenie np. wystąpienie kolizji z otoczeniem, przebieg operacji, oraz obejrzeć animowaną symulację pracy. W aplikacji mamy możliwość importowania modeli obiektów z oprogramowania CAD. Zestaw zawiera również wirtualny ręczny programator (TeachPendant) wyglądający i działający tak jak prawdziwy. Otrzymany obraz symulacji możemy zapisać w postaci pliku video AVI. Opcja Oprogramowanie Specyfikacja Komentarz Modelowanie Pakiet standardowy Auto Place Line Tracking Duty Estimator System Monitoring Tool ipendant I/F Arc Welding Package (spawanie łukowe) Rozplanowanie Programowanie Symulacja Zdalny monitoring Oblicza położenie robota aby zminimalizować czas cyklu dla ruchu robota Rejestrowanie ruchu robota Obliczanie czasu pracy robota Monitorowanie funkcji w poszukiwaniu i analizie problemów. Wyświetlanie planu Roboguide'a na ekranie ipendant'a Menu nawigacyjne Generator programu dla spawania łukowego Symulacja dla spawania łukowego Funkcje standardowe Oprogramowanie dodatkowe. Pakiet standardowy jest wymagany. 2 coordinated robots Arc Welding Package Spawanie łukowe dla dwóch, skoordynowanych robotów Chamfering Package Menu nawigacyjne 6
2. Program W tej części naszym celem będzie zamodelowanie stanowiska, na którym ma odbywać się spawanie, a następnie nauczenie robota ruchów, które powinien podczas spawania wykonywać. 2.1.Opis interfejsu 3 1 2 4 1. Pasek standard znajdują się na nim wszystkie podstawowe funkcje obsługi robota. 2. Pasek widoku obsługa kamery oraz pomiar odległości 3. Process Navigator podstawowe funkcje tworzenia symulacji 4. Cell Browser przeglądarka struktury programu 7
Klawisze do obsługi funkcji wyświetlonych na ekranie Shift przycisk do obsługi funkcji drugorzędnych klawisza, lub jako guzik bezpieczeństwa (trzeba trzymać przy poruszaniu robotem) Klawiatura numeryczna i kursory Poruszanie robotem Wirtualny TeachPendant jest dokładnym odwzorowaniem rzeczywistego kontrolera. Jedyną widoczną różnicą jest ekran, ale można go zmienić na identyczny z rzeczywistym poprzez przycisk znajdujący się po prawej stronie wyświetlacza. 8
2.2.Przygotowanie stanowiska 2.2.1. Tworzymy nowy program (New Cell) W kolejnych etapach wprowadzamy parametry naszej stacji: Workcell name nazwa programu Robot creation system default (sposób tworzenia robota) Robot software version V7.30 (oprogramowanie robota) Robot application/tool HandlingTool (H552) Robot Model M-10iA (H863) Additional Motion Groups none Robot Options default Powinniśmy otrzymać puste środowisko 9
2.2.2. Dodajemy podest, na którym ma stać robot. Będzie on używany jako Fixtures. Obiekt ten został zamodelowany w środowisku Autodesk Inventor i zapisany w formacie IGES. Następnie należy ustawić podest na odpowiedniej pozycji. Aby to zrobić w oknie Cell Browser znajdujemy nasz element i klikamy na nim dwukrotnie. Ustawiamy go zgodnie ze zdjęciem. 10
2.2.3. Ustawiamy robota na podeście Podobnie jak w przypadku podestu, ustawiamy pozycje robota. Pozycja jak i wygląd gotowej stacji znajduje się na zdjęciu poniżej. 2.2.4. Dodajemy narzędzie Będzie to głowica spawająca, którą zrobiliśmy w ćwiczeniu 2. Aby dodać nowe narzędzie należy na liście Tooling wybrać numer naszego chwytaka (może to być UT:1) i kliknąć na nim dwukrotnie. W nowym oknie wybieramy lokalizacje naszego chwytaka na dysku. W zakładce General możemy ustawić skalowanie naszego chwytaka, jeśli był on np. importowany z biblioteki narzędzi Fanuc a. Ustawiamy także jego orientacje względem kiści robota. Domyślne ustawienie wczytanego chwytaka spełnia nasze oczekiwania, więc nic nie zmieniamy w tej zakładce. W zakładce UTOOL ustawiamy TCP (centralny punkt narzędzia) zgodnie z rysunkiem. 11
Jeśli podane parametry nie zgadzają się z naszym rysunkiem, możemy modyfikować wartości TCP przez przeciąganie zielonego wskaźnika po ekranie, aż znajdzie się on na właściwym miejscu. 2.2.5. Dodajemy element do drzewa Parts W tym miejscu dodajemy wszystkie elementy, które są używane w programie. W naszym przypadku jest to tylko część, którą chcemy przyspawać do stołu. Istotne jest, by uruchomić opcję detekcji krawędzi, która będzie wykorzystywana przy spawaniu. 12
2.2.6. Dodajemy element kartka Kolejnym elementem będzie uproszczony model stołu (kartki), do którego będziemy chcieli przyspawać element. Należy dodać prostopadłościan typu Fixtures, o parametrach przedstawionych poniżej (jest to kartka formatu A2). W zakładce Parts naszego stołu zaznaczamy element Part1 i ustawiamy go na brzegu stołu (x = -150mm), tak jak jest to pokazane na rysunku. 13
W zakładce Simulation można ustawiać, po jakim czasie ma zniknąć bądź pojawić się element, jeśli będzie podniesiony/upuszczony. W naszym przypadku jest to nieistotne. 2.2.7. Wyznaczamy nowy układ współrzędnych (User Frame) Chcemy, aby nasz nowy układ był zaczepiony w układzie współrzędnych stołu. W ten sposób będziemy mogli w łatwy sposób sprawdzić poprawność programu i ewentualnie zmodyfikować położenie stołu na rzeczywistym robocie. 14
2.2.8. Dodajemy dodatkowy element Parts Będziemy na nim próbować różne style spawania. Dodajemy prosty element typu Box o wymiarach zbliżonych do kartki A4 (rysunek po prawej). Umieszczamy element na stole. (rysunek po lewej) 2.3.Budowanie ścieżek, style spawania 2.3.1. Draw Part Features - Lines Z menu Teach zaznaczamy Draw Parts Features. Jest to narzędzie, które pozwala nam na rysowanie krzywych, po których będzie się poruszać robot. 15
Zaznaczamy nasz element. Wybieramy funkcję Edge Line. Wykrywa ono automatycznie krawędzie części. Wybieramy pierwszy punkt na podstawie naszego elementu, a potem następny. Ważne jest, aby kąt między wektorami normalnymi do powierzchni nie był większy niż 180. Program automatycznie kontynuuje rysowanie krzywej punkt po punkcie. W ten sposób rysujemy obwiednie całego elementu. Kończymy rysowanie przez dwukrotne kliknięcie w punkt końcowy krzywej. Gdy skończyliśmy już rysować, automatycznie zostaje otwarte okno z parametrami naszej krzywej. 16
Sprawdzamy, czy nasza krzywa jest przypisana do naszego narzędzia i jest w naszym układzie współrzędnych. Jeżeli wszystko jest poprawnie przechodzimy do zakładki Pos Offsets. Możemy tutaj zmienić, pod jakim kątem i w jakiej odległości od narysowanej krzywej ma się poruszać narzędzie. Wprowadzamy kąt 45 od osi RY i zatwierdzamy to dla każdego segmentu krzywej. W zakładce Approach/Retreat możemy ustawić prędkości podejścia i odejścia od elementu, oraz jakim ruchem ma poruszać się głowica (liniowy albo joint). 2.3.2. Draw Part Features - Patterns Funkcja ta służy używana jest głównie przy aplikacjach lakierniczych lub przy nakładaniu uszczelnień. W spawaniu nie ma to zastosowania, ale mimo wszystko pokażemy jak się tego używa. Ścieżkę zaczynamy od zaznaczenia punktu środkowego, w którym zostanie umieszczony kwadrat z wymiarami. Ścieżka zaczynać się będzie od narożnika, w którym nie ma żadnych wymiarów. Należy zorientować odpowiednio do naszych potrzeb szablon i drugi raz nacisnąć na spawany element. Teraz pozostaje nam już tylko wybranie długości i szerokości ścieżki. Parametry te zatwierdzamy kolejnym kliknięciem. 17
Tak samo jak poprzednim razem otwiera nam się okno, w którym możemy zmienić parametry naszej ścieżki. Dla naszych potrzeb standardowe ustawienia są odpowiednie. W ten sam sposób rysujemy jeszcze kilka ścieżek, wypróbowując różne szablony. (rysunek po lewej) 2.4.Budowa symulacji opis instrukcji Nowy program dodajemy z Process Navigator -> Add a Simulation Program. 2.4.1. Record Tworzymy ruch robota z punktu poprzedniego do aktualnego ustawienia robota. Możemy tutaj wybrać ruch liniowy (L), gdzie TCP robota wykonuje ruch po linii prostej, jak również ruch tzw. Joint, gdzie robot dowolnie porusza osiami. Innymi parametrami są prędkość, dokładność podejścia. 2.4.2. Forward oraz Backward Funkcje pozwalają na przejście do następnej lub poprzedniej instrukcji w kodzie programu. 18
2.4.3. MoveTo Funkcje te pozwalają na wykonaniu ruchu do danego elementu na odpowiednim Fixtures. Umożliwia to sprawdzenie czy element jest osiągalny, oraz ułatwia ustawienie chwytaka nad elementem (punkt dojścia i odejścia). 2.4.4. Instrukcje 19
Pickup/Drop/Payload podnoszenie, upuszczanie, zmiana obciążenia chwytaka. Wait( ) czeka z wykonaniem następnej instrukcji określona ilość sekund. LBL[1], JMP, CALL wywoływanie innych funkcji lub skok do innej części programu. DO[1]=ON ustawienie wartości wyjścia cyfrowego pierwszego na true WAIT DI[1]=ON czeka z wykonywaniem programu do czasu, aż wejście cyfrowe pierwsze będzie miało wartość true IF instrukcje warunkowe w zależności od stanu wejść cyfrowych 2.4.5. Touchup Uczymy robota, w jaki sposób ma podejść do podnoszonego elementu. Aby skorzystać z tej funkcji wybieramy najpierw 2 identyczne punkty nad podnoszonym elementem. Następnie używamy funkcji Pickup/Drop. Wracamy do drugiego stworzonego punktu i wybieramy Touchup to Pick/Place Point. W ten sposób edytowaliśmy współrzędne punktu do takich, z których robot może podnieść element. 2.5.Symulacja programu 2.5.1. Generate TP Program Generate Feature TP Program jest to funkcja, która pozwoli nam bez konieczności ręcznego budowania ścieżek tak jak było pokazane powyżej, wygenerować ścieżkę robota (rysunek po prawej). 20
Wybieramy ścieżkę dookoła naszej bryły i naciskamy przycisk Generate. Automatycznie zostanie stworzony program typu TP. Są to programy na TeachPendant a i tylko z niego możemy go uruchamiać. Program, którą utworzyliśmy znajduje się w drzewie Programs. Po dwukrotnym kliknięciu na nazwie programu otwiera nam się TeachPendant. Aby zobaczyć nasz program musimy zapoznać się z działaniem kontrolera. 2.5.2. TeachPendant podstawowe informacje Wygląd TeachPendant a został już opisany na początku instrukcji. W tym miejscu skupimy się na uruchomieniu symulacji. Pierwszą rzeczą, którą musimy zrobić jest włączenie naszego kontrolera. Do poruszania się po kodzie symulacji służą kursory znajdujące się ponad klawiaturą numeryczną. Aby uruchomić kolejną linie symulacji należy nacisnąć przycisk Shift oraz FWD. Jeśli chcemy cofnąć do poprzedniego punktu, wybieramy tę samą kombinację tylko z przyciskiem BWD. Przycisk Shift służy tutaj jako przycisk bezpieczeństwa, tak samo jak Dead Man s Switch znajdujący się na spodzie rzeczywistego kontrolera. Przycisk STEP zmienia sposób poruszania się robota. Ruch może być wykonywany ciągle, bez konieczności naciskania przycisku FWD cały czas, albo instrukcja po instrukcji. Uruchamiamy nasz program. Generujemy i symulujemy także pozostałem nasze programy. 21
2.5.3. Simulation program Dodajemy program, który będzie nam w kolejności wywoływać wszystkie poprzednie krzywe spawania. Zapisujemy aktualną pozycję robota. Zmieniamy wartości współrzędnych punktu na pokazane na rysunku. Jest to punkt, do którego będzie wracać robot po wykonaniu każdej krzywej. Wywołujemy nasz program przez użycie funkcji Call Analogicznie tworzymy resztę programu. 22
Uruchamiamy nasz program z Run Panel. Możemy tę symulację eksportować do formatu AVI. 23
3. Uruchomienie na robocie Aby uruchomić gotowy program na rzeczywistym robocie należy wgrać go do pamięci kontrolera przy pomocy nośnika pamięci lub poprzez połączenie sieciowe. 3.1.Konfiguracja Zakładając, że rzeczywisty kontroler jest podłączony do sieci oraz posiada przypisany adres sieciowy, należy przy użyciu oprogramowania Robot Neighborhood dodać nowego robota podając jego adres sieciowy oraz indywidualną nazwę. 3.2.Wgrywanie programu Posiadając otwartą stację w Roboguide, należy zmienić typ programu, który wcześniej stworzyliśmy z symulacji na plik z rozszerzeniem *.TP, następnie klikając prawym przyciskiem na programie, który chcemy wysłać na kontroler należy skorzystać z opcji Export wybierając robota, którego przed chwilą dodaliśmy. 24
3.3.Uruchomienie programu Po wykonaniu powyższych kroków, program powinien znajdować się w pamięci kontrolera gotowy do uruchomienia. Należy pamiętać, że po wgraniu programu należy się upewnić, iż układy współrzędnych użytkownika oraz TCP użytkownika, z których korzysta program zgadzają się z tymi używanymi podczas symulacji (nie są one eksportowane do robota z programu Roboguide). 25