Podstawy Robotyki laboratorium Ćwiczenie 5 Mariusz Janusz-Bielecki Zak lad Informatyki i Robotyki Wersja 0.001.00, 11 Listopada, 2005
Wst ep Do zadań inżynierów robotyków należa wszelkie dzia lania dotyczace wyboru, montażu, uruchomienia, obs lugi, programowania, serwisu oraz napraw manipulatorów i robotów. Zagadnieniem realizowanym najcześciej jest programowanie. Z lożoność tego procesu wymaga od programisty solidnych podstaw matematycznych. Mimo, że wspó lczesne systemy sterowania robotów sa wyposażone w narzedzia programistyczne znacznie u latwiajace opracowanie programu, czesto do realizacji niestandardowych funkcji programista musi opracowywać np. trajektorie maszyny pos lugujac sie aplikacjami zewnetrznymi. Od zarania dziejów ludzkości nauka praktyczna polega la na obcowaniu z przedmiotem. Na tychże zajeciach studenci zapoznaja sie z robotem edukacyjnym EduBot o pieciu stopniach swobody. Posiada on pieć par obrotowych napedzanych serwomechanizmami RC.
Rozdzia l 1 EduBot Edubot jest robotem edukacyjnym przeznaczonym do nauki programowania robotów oraz projektowania, programowania i integrowania zrobotyzowanych stanowisk produkcyjnych. Jak każde tego typu urzadzenie wymaga jednak konstruktywnego podejścia, gdyż jest wrażliwym na wiele czynników, w tym personel obs lugujacy (grupe studentów), który z latwościa może go uszkodzić. Zatem należy postepować zgodnie z instrukcja oraz przy jakichkolwiek niejasnościach należy zadawać pytania dotyczace meritum zagadnienia. 1.1 Budowa robota 1.1.1 Mechanika Robot Edubot sk lada sie z pieciu cz lonów. Wszystkie cz lony moga przemieszczać sie równocześnie. Pieć niezależnych par kinematycznych obrotowych określa pieć stopni swobody urzadzenia. Podstawa oraz kolumna wykonane sa z tworzywa acetalowego. Ramie, przedramie oraz cz lony kiści wykonane sa antystatycznego PCV. Utwierdzenie robota jest możliwe dzieki zastosowaniu p lyty stalowej stanowiacej spodnia cześć podstawy. Naped stanowi sześć silników (serwomechanizm, RC-servo). Pe ln a liste cześci mechanicznych przedstawiono poniżej: P lyta stalowa. Podk ladki podstawy. Kontroler RC-servo. Gniazdo D-SUB (9 igie l). Gniazdo D-SUB (15 igie l). Gniazdo DIN (3 ig ly).
2 EduBot Podstawa. Nap ed kolumny. P lyta dolna kolumny. P lyta górna kolumny. Pierścień stabilizujacy kolumne. Lożysko kolumny z podk ladka. Rami e. Nap ed ramienia. Przedrami e. Nap ed przedramienia. Kiść - cz lon 1. Nap ed kiści - cz lon 1. Kiść - cz lon 2. Nap ed kiści - cz lon 2. Chwytak. Nap ed chwytaka. 1.1.2 Elektronika Sterownik Mózgiem systemu jest sterownik Servo Controller II. Może on sterować praca ośmiu napedów RC-servo. Wyposażony on jest w cztery wejścia cyfrowe, dwa wejścia analogowe oraz trzy wyjścia cyfrowe. Serwomechanizm Serwomechanizm, czyli uk lad nadażny, jest niezwykle czesto stosowany w technice. Klasycznym przyk ladem serwomechanizmu jest np. uk lad śledzacy ścieżke na p lycie CD. Idea dzia lania serwomechanizmu polega na zrównywaniu sygna lu wejściowego z wyjściowym. Odpowiada za to uk lad porównujacy te dwie wielkości i wytwarzajacy sygna l korekcyjny. Zazwyczaj w praktyce jest tak, że sygna l wejściowy i wyjściowy maja różny charakter: np. sygna lem wejściowym jest czas trwania impulsu, a sygna lem wyjściowym kat obrotu osi. Zadaniem uk ladu korekcji jest przetworzenie obydwu sygna lów
1.1 Budowa robota 3 do jednakowego rodzaju, umożliwiajacego bezpośrednie porównanie. Nastepnie wyznacza sie różnice i zostaje podjeta akcja wed lug zaszytego w uk lad algorytmu: ˆ Jeśli różnica jest mniejsza od umownej wartości minimalnej, nic nie rób. ˆ Jeśli różnica jest wieksza od minimalnej uruchom silnik w przeciwnym kierunku z predkości a proporcjonalna do różnicy sygna lów. W efekcie oś serwa ustawia sie pod katem proporcjonalnym do szerokości impulsu. Serwo pobiera prad. Jeśli nie porusza sie, prad ten jest minimalny. Jednak kiedy silnik serwa porusza sie pobór pradu rośnie gwa ltownie do znacznej wartości. Standardowe serwo podczas szybkiego ruchu pobiera oko lo 1.5A, co jest poważnym obciażeniem instalacji elektrycznej i zwykle stanowi górna granice obciażalności uk ladu BEC (5V). 1.1.3 Sterowanie L acze robot-pc Transmisja danych pomiedzy Edubot em a mikrokomputerem przebiega z wykorzystaniem l acza szeregowego standardu RS-232C. Mikrokomputer musi być wyposażony w gniazdo l acza szeregowego (dziewiecioig lowy D-SUB). Do transmisji należy wykorzystać standardowy przewód. Po pod l aczeniu przewodu do gniazda l acza RS-232C robota oraz mikrokomputera należy w l a- czyć zasilanie obu urzadzeń. Po l aczenie logiczne nastepuje w środowisku win95 przy pomocy programu Robotica Control Software. Robot l aczy sie automatycznie przy pierwszym uruchomieniu programu. Jeżeli próba sie nie powiedzie i robot nie zosta l pod l aczony do sieci, to pod l aczenia można dokonać przy użyciu opcji Connect z menu Tools. Robotica Control Software Oprogramowanie to umożliwia sterowanie manualne lub z wykorzystaniem programu napisanego przy pomocy j ezyka RPL (Robot Programming Language). Program posiada cztery tryby pracy: ˆ Tryb rejestrowania Record Mode s luż acy do programowania, przemieszczenia realizowane przez urzadzenie sa w nim automatycznie zapisywane w oknie edycyjnym programu. ˆ Tryb projektowania Design Mode s luż acy do programowania, przemieszczeń dokonuje si e przy pomocy suwaków dost epnych w panelu sterowania programu.
4 EduBot ˆ Tryb uruchomieniowy Run Mode pozwala uruchamiać programy wyedytowane w trybie projektowania lub zapamietane w trybie rejestrowania. W trybie tym uruchamiany jest program znajdujacy sie w oknie edycji. Jeżeli wystapi b l ad sk ladniowy to system automatycznie powraca do trybu projektowania. Odtwarzanie można przerwać naciskajac dowolny klawisz. ˆ Tryb krokowy Step Mode posiada cechy trybu uruchomieniowego z ta różnica, że po każdej wykonanej komendzie nastepuje pauza. Kontynuacja możliwa jest po naciśnieciu klawisza Spacja. 1.2 J ezyk programownia Edubota RPL Jezyk RPL s luży do programowania robota EduBot. Program zawiera komendy, które wykonywane sa sekwencyjnie. Sekwencja ta określona jest zgodnie z za lożeniami jezyka. Program sk lada sie z nag lówka (niezbedne do wykonania ca lości komedny), treści implementacyjnej zadania oraz zakończenia (komendy niezbedne do prawid lowego zamkniecia pewnych procesów). Program winien sk ladać sie z dużej ilości komentarzy. 1.2.1 Wybór portu szeregowego C Przyk lad: C 1 Wybór portu szeregowego komputera Jest to element inicjalizujacy kodu programu i musi w nim wystapić. Wartość portu musi zawierać sie od 1 do 4. Jeżeli port szeregowy jest zdefiniowany, to wszystkie komendy sa adresowane do tego portu do chwili kiedy nie jest wprowadzona nowa wartość w komendzie C. Komenda C musi być w pierwszej linii programu! 1.2.2 Koniec programu E Przyk lad: E 0 Kończy wykonywanie programu Wartość 0 (zero) jest obowiazkowa. Komenda E znajduje sie w ostatniej wykonywanej przez system linii. 1.2.3 Skok do podprogramu G Przyk lad: G 100 skok do linii opatrzonej etykieta 100 Komenda wykonuje skok do podprogramu. W programie można wyróżnić przy pomocy etykiety linie wykonywane wielokrotnie. Dzieki wykorzystaniu technologii podprogramu cześci powtarzajace sie umieszcza sie w wybranym bloku (podprogram), który można wykonywać wielokrotnie. Podprogram, który ma być wykonany musi być oznaczony etykieta poprzez zastosowanie znaku : (dwukropek). Etykieta musi zawierać sie w przedziale
1.2 J ezyk programownia Edubota RPL 5 od 1 do 999. Komenda G nie może być zagnieżdżona. Po użyciu komendy G 000, program przechodzi do linii nast epnej po tej, z której wywo lano skok do podprogramu. 1.2.4 Warunkowy skok do podprogramu I Przyk lad: I 2 200 jeżeli stan wejścia cyfrowego nr 2 jest wysoki (high), to przejdź do linii oznaczonej etykieta 200 Polecenie używane do wywo lania cześci kodu opatrzonego etykieta w przypadku spe lnienia warunku na wejściu cyfrowym. Linia, która ma być wykonana musi być oznaczona etykieta, poprzez zastosowanie komendy :. Etykieta musi zawierać sie w przedziale od 1 do 999. Stan wejścia cyfrowego można sprawdzić w oknie g lównym programu. Nie można programowo zmienić ustawienia stanu wejścia cyfrowego. 1.2.5 Skok do wskazanej cz eści programu J Przyk lad: J 300 przejdź do linii oznaczonej etykieta 300 Skok do linii programu opatrzonego etykieta zwierajac a sie w przedziale od 1 do 999. Komenda ta może być wykorzystana do tworzenia petli choć zaleca sie korzystanie z rozkazu G. 1.2.6 Przemieszczenie nap edu M Przyk lad: M 2 100 ruch nap edu 2 do pozycji 100 M 1 150 2 235 4 120 ruch nap edu 1 do pozycji 150, 2 do 235, 4 do 120 (linia ta spowoduje jednoczesny ruch trzech nap edów) Wybór nap edu oraz przemieszczenia. Numer silnika musi zawierać si e w przedziale od 1 do 6. 1. Obrót kolumny. 2. Obrót ramienia. 3. Obrót przedramienia. 4. Obrót kiści. 5. Obrót chwytaka. 6. Ruch szcz ek. Pozycja w przedziale od 1 do 255. Wartość pozycji nie jest skorelowana z katem podanym w stopniach!
6 EduBot 1.2.7 Stan wysoki lub niski wyjścia P Przyk lad: P 2 0 ustawia wyjście cyfrowe 2 w stan niski Ustawia wyjście cyfrowe w stan wysoki badź niski. Numer wyjścia cyfrowego musi mieścić sie w przedziale od 1 do 3. Sygna l cyfrowy wyjściowy może przyjmować dwie wartości: 0 i 1. W oknie g lównym programu można sprawdzić stan wyjścia Outputs i przy pomocy myszy zmienić stan wybranego wyjścia (klikajac na diode). Korzystajac z tej komendy można uruchamiać urzadzenia wspó lpracujace np inny robot. 1.2.8 Adres robota R Przyk lad: R 0 powoduje wybór pierwszego robota 0 Wskazuje, do którego robota bed a przesy lane instrukcje sterujace. Komenda R musi być użyta na poczatku programu zaraz po komendzie C. Wszystkie instrukcje przesy lane sa do maszyny, której numer podano jako argument w instrukcji R do chwili, gdy nie zostanie podany inny argument w instrukcji R. W przypadku użytkowania jednego robota jego adres wynosi zawsze 0. Jeżeli w systemie jest pod l aczonych wiecej robotów, to każdy z nich musi posiadać inny numer identyfikacyjny nadany komenda R oraz inny adres ustawiony przy pomocy prze l aczników znajdujacych sie na p lycie g lównej maszyny. Adres robota musi zawierać sie w przedziale od 0 do 3. 1.2.9 Pr edkość nap edu S Przyk lad: S 2 ustawia predkość napedów robota na 2 Komenda nadaje sta l a predkość napedom robota. W kodzie programu może być używana wiele razy. Należy pamietać aby pojawi la sie ona na poczatku programu po komendach C i R. Pozwoli to zapobiec niekontrolowanym ruchom silników. 1.2.10 Opóźnienie czasowe T Przyk lad: T 200 oóźnienie czasowe wynoszace 2 sekundy Komenda wstrzymuje wykonanie programu na zadany czas podany w centysekundach. 1.2.11 Oczekiwanie na stan wysoki na wejściu W Przyk lad: W 2 200 sprawdza wejście cyfrowe nr 2 i wstrzymuje wykonywanie programu aż nie zostanie ono ustawione w stan wysoki, po pojawieniu sie stanu wysokiego przenosi wykonywanie programu do linii 200 Komenda W może być użyta na dwa sposoby. Pierwszy pozwala wstrzymać wykonywanie programu i czekać, aż na wejściu cyfrowym pojawi sie stan wysoki. Ciag dalszy programu wykonywany jest od linii nastepnej po linii
1.3 Ćwiczenia 7 zawierajacej komende W. Drugi pozwala, po pojawieniu sie stanu wysokiego, przenieść wykonywanie programu do linii o podanej etykiecie. Numer wejścia cyfrowego robota edukacyjnego EduBot musi zawierać sie w przedziale od 1 do 4. 1.2.12 Etykieta : Przyk lad: : 200 etykieta opatrzona adresem 200 Adres musi zawierać si e w przedziale od 1 do 999. 1.2.13 Komentarz (...) Przyk lad: (To jest komentarz) komentarz w programie Tekst komentarza pozwala lepiej zrozumieć linie programu. Stanowi czytelny opis algorytmu. Wyjaśnia zamys ly programisty oraz skomplikowane metody programistyczne. 1.3 Ćwiczenia 1. Zapoznaj sie z budowa robota. 2. Zapoznaj si e z programem Robotica Control Software. 3. Zaprojektuj w trybie Design Mode trajektori e o ściśle określonych parametrach. 4. Zaprojektuj trajektorie odwrotna do zrealizowanej w punkcie poprzednim. 5. Wyprowadź macierz transformacji dla robota EduBot. 6. Każda instrukcje poniżeszego programu zapisz w osobnej linii, dodaj komentarze (przed każda linia) oraz popraw ewentualne b l edy: C 2 R 0 S 5 M 4 50 6 200 M 2 10 3 200 M 1 220 M 1 10 M 1 127 M 6 0 M 2 250 3 50 4 200 M 1 10 M 1 220 M 1 127 M 5 10 S 7 M 6 200 M 6 0 M 6 200 M 6 0 M 6 200 M 6 0 S 5 M 2 127 3 127 4 127 5 127 6 127 E 0 7. Zaprojektuj oraz zrealizuj przy pomocy jezyka RPL trajektorie pozwalajac a na przenoszenie dowolnego przedmiotu pomiedzy trzema stanowiskami kontrolnymi.
Bibliografia [1] Robotica, User Manual, Robotica.
10 BIBLIOGRAFIA