Ćwiczenie VIII LABORATORIUM MECHATRONIKI IEPiM Sterowanie, uczenie i symulacja robotów przemysłowych Kawasaki Zał.1 - Roboty przemysłowe i mobilne. Roboty Kawasaki - charakterystyka Zał.2 - Oprogramowanie PC ROSET Zał.3 - Animacja - Programowanie Robotów. Część 1 Zał.4 - Animacja - Programowanie Robotów. Część 2 Przebieg ćwiczenia CZĘŚĆ 1. (OBOWIĄZKOWA) Konfiguracja i uczenie blokowe 1. Uruchomić program PC-ROSET (gdy pojawi się komunikat o braku klucza należy kliknąć close i program się uruchomi). PC-ROSET po uruchomieniu otwiera dwa okna, których nie wolno zamykać do chwili zakończenia projektu: - DataViewer - służy do zarządzania projektem (zakładka Scene) oraz komunikacji z robotem za pomocą terminala (zakładka Terminal). - SceneViewer służy do wizualizacji robota i jego otoczenia. Możliwe jest wyświetlanie np. kilka widoków sceny jednocześnie. 2. Zapoznać się z algorytmem tworzenia projektu opisanym szczegółowo w załączniku 2 do instrukcji: Oprogramowanie PC Roset - rozdział 1 : 1.1. Opis okien programu 1.2. Tworzenie pierwszego projektu 1.2.1. Wybór robota Zanotować parametry wybranego robota: - typ, udźwig, ilość stopni swobody, powtarzalność, zakres ruchu, zasięg, waga, sposób montażu, kontroler, zastosowania. Okno Teaching Panel nie będzie przydatne w dalszej części projektu i można je zamknąć. 1.2.2. Konfiguracja robota (nie ma konieczności zmiany ustawień konfiguracji) 1.2.3. Uruchomienie terminalu (zakładka Terminal) i wirtualnego programatora TP (Teach Pendant). Uruchumionego wirtualnego programatora nie wolno zamykać w czasie pracy. 1.2.4. Poruszanie robotem za pomocą TP Po wykonaniu wszystkich powyższych czynności, napisać wg algorytmu jak w punkcie 1.2.5. Napisanie pierwszego programu (patrz załącznik 2- rozdział 1.), program sterowania wybranym robotem realizujący przemieszczanie końcówki roboczej pomiędzy dowolnie utworzonymi ( rozkazem here #p ) punktami we współrzędnych przegubowych: #p1, #p2, #p3, #p4, #p5, #p6 i powrót do pozycji bazowej za pomocą rozkazu home. Trajektoria powinna składać się z ruchu w interpolacji przegubowej, liniowej i kołowej. Uruchomić i zademonstrować realizację programu przez robota, z włączoną opcją wizualizacji trajektorii ruchu narzędzia. Zapisać wizualizację trajektorii ruchu narzędzia uzyskaną w oknie Scene Viewer oraz listing listy pozycji i program z zakładki Terminal w postaci pliku edytora Word. CZĘŚĆ 2. Program własny Napisać oraz uruchomić program realizujący ustaloną z prowadzącym zajęcia trajektorię ruchu narzędzia, np.: koperta, wybrany detal, wybrana litera alfabetu, wybrane logo Uruchomić i zademonstrować realizację programu przez robota, z włączoną opcją wizualizacji trajektorii ruchu narzędzia. Zapisać wizualizację trajektorii ruchu narzędzia uzyskaną w oknie Scene Viewer oraz listing listy pozycji i program z zakładki Terminal w postaci pliku edytora Word. Wydrukować protokół zawierający wizualizację trajektorii, listę pozycji oraz program do oceny. 3. Szczegółowy opis rozkazów w języku proceduralnym AS Language, zawiera załącznik 2 do instrukcji: Oprogramowanie PC Roset - rozdział 3. W sprawozdaniu należy: a) opisać wyniki kolejnych etapów przebiegu ćwiczenia, b) podać parametry wybranego robota, c) załączyć przygotowany program wraz z listą pozycji robota i wizualizacją trajektorii ruchu narzędzia, d) wymienić i opisać szczegółowo rozkazy wykorzystane w przygotowanym programie, e) sformułować wnioski. 1
Przykładową aplikację pokazano poniżej. Lista pozycji robota zawiera 7 punktów: #p1 #p7, zdefiniowanych we współrzędnych przegubowych. Punkt #p1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000, to położenie startowe Home robota po włączeniu zasilania napędów. Każdy kolejny punkt odpowiada pozycji robota po wykonaniu obrotu odpowiedniego przegubu o kąt 90. Wizualizacja trajektorii ruchu. 2
Napisanie pierwszego programu Kawasaki oferuje kilka sposobów programowania: Block Teaching (uczenie blokowe za pomocą TP), AS Language (język proceduralny), połącznie obu wymienionych metod. Największe możliwości daje użycie AS Language i ewentualne wspomaganie go Block Teaching. Pierwszy program będzie polegał na ruchu robota pomiędzy kilkoma punktami w interpolacji przegubowej. W tym celu należy utworzyć kilka punktów: 1. Przełączamy się na okno terminalu, wpisujemy komendę here #p1 i zatwierdzamy (enter). 2. Zatwierdzamy współrzędne dzięki czemu został utworzony punkt #p1 (we współrzędnych przegubowych). 3. Przemieszczamy robota za pomocą TP do innej pozycji i wpisujemy here #p2 i postępujemy analogicznie jak dla punktu #p1. 4. W ten sam sposób tworzymy punkty #p3 i #p4. Po wpisaniu komendy list zostaną wyświetlone wszystkie utworzone przez nas punkty i ich współrzędne Wpisujemy polecenie edit prog1 i przechodzimy do trybu edycji programu. (SZCZEGÓŁOWY OPIS DZIAŁANIA EDYTORA JEST W ZAŁĄCZNIKU 2.!!! Piszemy: jmove #p1 jmove #p2 jmove #p3 jmove #p4 jmove #p1 e Wpisanie e powoduje zamknięcie edytora. Program ten każe robotowi przemieścić końcówkę roboczą od punktu #p1 do #p2 następnie #p3, #p4 i ponownie #p1. Ruchy te będą wykonywane w interpolacji przegubowej. W celu uruchomienia programu należy przełączyć robota z trybu TEACH w tryb REPEAT (na TP) i załączyć silniki. Następnie wpisujemy na terminalu komendę exe prog1. Robot zacznie wykonywać nasz program. Jeśli chcemy zwiększyć prędkość wykonania programu wpisujemy np. speed 50 (wartość ta jest w % i początkowo wynosiła 10). Przechodzimy do zakładki SCENE i zapisujemy nasz projekt. Należy pamiętać, że tak sposób zapisania projektu powoduje iż nie zostanie utworzony osobny plik z samym programem, lokacjami itp. Jeśli chcemy mieć te dane osobno należy użyć w terminalu polecenia SAVE. (OPISANEGO W DALSZEJ CZĘŚCI INSTRUKCJI ZAŁĄCZNIK 2.!!!!) 3
WIRTUALNY PROGRAMATOR -TP, okna: SCENE VIEWER i DATA VIEWER (powinny być otwarte w trakcie programowania i symulacji) 4
Program napisany w języku proceduralnym AS, dla robota FSO10C.*=== AS GROUP === :.*USER IF AS : UAS01B0030Z 2007/06/29 18:04.*USER IF TP : UTP01B0030Z 2007/06/29 18:19.*ARM CONTROL AS : AAS01B0030Z 2007/06/29 18:26.*USER IF AS MESSAGE FILE : MAS1B030ZEN 2007/06/29 17:44.*USER IF TP MESSAGE FILE : MTP1B030ZEN 2007/06/29 17:55.*ARM DATA FILE : ARM01B0030Z 2007/06/29 17:42.*=== SERVO GROUP === :.* [Shipment setting data].*there is no Shipment setting data..netconf 192.168.0.2,"",255.255.255.0,0.0.0.0,0.0.0.0,0.0.0.0,"".PROGRAM prog1() JMOVE #p1 JMOVE #p2 JMOVE #p3 JMOVE #p4 JMOVE #p5 JMOVE #p6 JMOVE #p7 JMOVE #p1.end Wydruk listy pozycji robota.*=== AS GROUP === :.*USER IF AS : UAS01B0030Z 2007/06/29 18:04.*USER IF TP : UTP01B0030Z 2007/06/29 18:19.*ARM CONTROL AS : AAS01B0030Z 2007/06/29 18:26.*USER IF AS MESSAGE FILE : MAS1B030ZEN 2007/06/29 17:44.*USER IF TP MESSAGE FILE : MTP1B030ZEN 2007/06/29 17:55.*ARM DATA FILE : ARM01B0030Z 2007/06/29 17:42.*=== SERVO GROUP === :.* [Shipment setting data].*there is no Shipment setting data..netconf 192.168.0.2,"",255.255.255.0,0.0.0.0,0.0.0.0,0.0.0.0,"".JOINTS #p1 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 #p2 0.000000 90.000000 0.000000 0.000000 0.000000 0.000000 #p3 90.000000 90.000000 0.000000 0.000000 0.000000 0.000000 #p4 90.000000 90.000000 90.000000 0.000000 0.000000 0.000000 #p5 90.000000 90.000000 90.000000 90.000000 0.000000 0.000000 #p6 90.000000 90.000000 90.000000 90.000000-90.000000 0.000000 #p7 90.000000 90.000000 90.000000 90.000000-90.000000 90.000000.END Opis oprogramowania PC-ROSET zawiera załącznik do ćwiczenia. 5
Przykład wizualizacji programu sterowania robotem. Trajektoria ruchu litera P. 23 Z 500 400 300 Przykład listy pozycji i programu sterowania robotem. Trajektoria ruchu litera P 0 500 600 X Y Z Location p101 100.000 500.000 500.000 0.000 90.000 90.000 p2 100.000 500.000 300.000 0.000 90.000 90.000 p3 100.000 500.000 400.000 0.000 90.000 90.000 p4 100.000 550.000 400.000 0.000 90.000 90.000 p5 100.000 600.000 450.000 0.000 90.000 0.000 p6 100.000 550.000 500.000 0.000 90.000 0.000 Y.PROGRAM p() 1 JMOVE p101 2 LMOVE p2 3 LMOVE p3 4 LMOVE p4 5 C1MOVE p5 6 C2MOVE p6 7 LMOVE p101.end 27 6
Pytania do ćwiczenia VIII 1. Nazwać i scharakteryzować układy współrzędnych pracy robota. 2. Jakie parametry obejmuje konfiguracja robota Kawasaki? 3. Na czym polega uczenie blokowe robota Kawasaki za pomocą Teach Pendanta? 4. Scharakteryzować funkcje EMG, MTR, TCH/REP Teach Pendanta. 5. Wyjaśnić różnice pomiędzy rozkazem HERE #p1 i HERE p1. 6. Wyjaśnić na przykładzie działanie rozkazów JMOVE oraz HOME 7. Omówić na przykładzie działanie rozkazu ruchu robota Kawasaki w interpolacji kołowej. 8. Wyjaśnić różnice pomiędzy rozkazem HERE #p1 i POINT #p1 9. Omówić rozkazy wyświetlania zawartości kontrolera. 10. Wyjaśnić na przykładzie znaczenie parametru ALWAYS w rozkazach prędkości i dokładności. 11. Jakie dane zawiera lista lokacji utworzona za pomocą programatora Teach Pendant? 12. Omówić sposób zwiększania prędkości wykonywania programu sterowania robotem Kawasaki. 13. Napisać program wyświetlający listę lokacji robota z ich wartościami a następnie kasujący zapamiętane pozycje. 14. Napisać program ruchu robota w interpolacji przegubowej do punktu odległego o 5mm od jego pozycji bazowej. 15. Napisać program definiujący pozycję robota: 90,90,90,0,0,0 określoną we współrzędnych przegubowych, a następnie ruch robota w interpolacji liniowej do tego punktu i powrót do pozycji: 0,0,0,0,0,0. 16. Napisać program wstawiający przed 12 krokiem programu o nazwie Logo ruch w interpolacji przegubowej do punktu o współrzędnych 100,100,0,0,0,0. 7