POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI Kierunek: Specjalno± : Automatyka i Robotyka (AIR) Robotyka (ARR) PRACA DYPLOMOWA MAGISTERSKA Podatny manipulator planarny - budowa i sterowanie Vulnerable planar manipulator - design and control Autor: Michaª Kot Prowadz cy prac : dr in». Janusz Jakubiak, I-6 Ocena pracy: WROCŠAW 2012
Spis tre±ci 1 Wst p 3 2 Cele projektu 5 2.1 Aspekt in»ynierski............................... 5 2.2 Aspekt badawczy................................ 5 2.3 Kinematyka................................... 6 3 Pierwowzór 7 3.1 Ró»nice w stosunku do pierwowzoru...................... 7 4 Struktura manipulatora 9 4.1 Konguracje niedozwolone........................... 9 4.2 Kinematyka manipulatora........................... 9 4.2.1 Prosta kinematyka manipulatora................... 9 4.2.2 Odwrotna kinematyka manipulatora................. 9 5 Wyznaczenie wymiarów manipulatora 11 5.1 Obliczenie przestrzeni roboczej manipulatora................. 11 5.1.1 Przestrze«robocza na bazie prostej kinematyki........... 11 5.1.2 Przestrze«robocza na bazie odwrotnej kinematyki.......... 11 5.1.3 Obwiednia przestrzeni roboczej.................... 12 5.1.4 Wyznaczanie powierzchni przestrzeni roboczej............ 12 5.2 Wyznaczenie wymiarów manipulatora na podstawie przestrzeni roboczej.. 12 5.2.1 Wyznaczenie wymiarów próbnej wersji manipulatora........ 12 5.2.2 Wyznaczenie wymiarów ostatecznej wersji manipulatora....... 13 6 Podsumowanie projektu 17 A Zawarto± pªyty CD 19 Bibliograa 19
Rozdziaª 1 Wst p Oby gdzie± byª
Rozdziaª 2 Cele projektu Celem projektu zrealizowanego w ramach niniejszej pracy magisterskiej jest zaprojektowanie i skonstruowanie planarnego, równolegªego i redundantnego manipulatora, który b dzie w stanie analizowa siªy dziaªaj ce na niego z zewn trz. Umo»liwi to zr czne poruszanie si robota w ±rodowisku, poniewa» ka»da napotkana przeszkoda spowoduje zatrzymanie go b d¹ te» zmusi do osi gni cia zadanego poªo»enia w innej konguracji przegubów. Dodatkow cech, która zostanie zaimplementowana w manipulatorze jest mo»liwo± uczenia si ruchów zadanych manualnie przez operatora konkretna ±cie»ka mo»e zosta zapisana na podstawie odczytów siª dziaªaj cych na nap dy. 2.1 Aspekt in»ynierski Aspekt in»ynierski projektu zakªada zaprojektowanie mechaniki i ukªadu sterowania manipulatora. Jest on ±ci±le powi zany z aspektem badawczym (2.2), poniewa» dobór parametrów ukªadu mechanicznego musiaª zosta poprzedzony szeregiem analiz i symulacji. Trójwymiarowy model obiektu zostaª wykonany z wykorzystaniem ±rodowiska Autodesk Inventor [?], które to umo»liwia szybkie i wygodnie modelowanie zªo»onych konstrukcji mechanicznych. Co wi cej, posiada on plugin SimMechanics Link [?], umo»liwiaj cy eksport modelu do toolboxa Simulink ±rodowiska Matlab [?], które jest jednym z najpopularniejszych i najbardziej rozbudowanych aplikacji symulacyjnych. W trakcie prac z wykorzystaniem Inventora skonstruowane zostaªy cztery podobne modele manipulatora, które ewoluowaªy w kierunku wersji docelowej. Projektowanie i implementacja algorytmów sterowania... bla bla... 2.2 Aspekt badawczy Opracowanie kryteriów doboru parametrów kinematycznych manipulatora stanowiªo jeden z kluczowych elementów aspektu badawczego projektu. Proporcje dªugo±ci ramion robota maj istotny wpªyw na jako± i wielofunkcyjno± jego pracy, w zwi zku z czym deniuje si caªy szereg kryteriów [?], które ró»ni si pomi dzy sob zarówno podej±ciem, jak i stopniem skomplikowania: ekscentryczno± manipulatora, mierz ca odlegªo± poªo»enia przegubów od ich pozycji ±rodkowych, manipulowalno± manipulatora, która jest miar wra»liwo±ci efektora na lokalne wariacje konguracji,
6 2. Cele projektu wspóªczynnik uwarunkowania, b d cy miar stopnia anizotropowo±ci konguracji, dystorsja kinematyczna, jako miara niesztywno±ci kinematyki, obj to± przestrzeni roboczej, g sto± obj to±ci kinematyki. W teorii robotyki stosuje si tak»e kombinacje kilku ró»nych kryteriów. W przypadku niniejszego projektu zastosowane zostaªo kryterium mówi ce o obj to±ci przestrzeni roboczej, co w przypadku manipulatorów planarnych sprowadza si do powierzchni przestrzeni roboczej. Obliczenie przestrzeni z du» dokªadno±ci dla wielu ró»nych konguracji robota jest niemo»liwe bez wykorzystania komputera. W zwi zku z tym konieczne okazaªo si napisanie programu z wykorzystaniem j zyka C++, który wyszukuje optymaln kon- guracj parametrów manipulatora. Szerzej zostaªo to opisane w rozdziale 5. Istotn cz ±ci aspektu badawczego projektu byªy tak»e badania porównawcze algorytmów sterowania oraz ocena ich wªasno±ci.... bla bla... 2.3 Kinematyka Efektorem (chwytakiem) nazywa si zako«czenie konstrukcji manipulatora, które cz sto posiada mo»liwo± wymiany b d¹ modykacji. Dzi ki temu jeden robot mo»e sekwencyjnie wykonywa kilka ró»ni cych si od siebie operacji. Przeksztaªcenie geometryczne, które pozwala wyznaczy poªo»enie efektora w przestrzeni roboczej na podstawie poªo»e«przegubów manipulatora okre±la si mianem kinematyki. Ze wzgl du na planarno± konstruowanego manipulatora wyznaczenie kinematyki sprowadza si do obliczenia poªo»e«x i Y, gdy» ruch robota odbywa si na pªaszczy¹nie i wspóªrz dna Z jest staªa.
Rozdziaª 3 Pierwowzór Pomysª na stworzenie planarnego manipulatora zrodziª si po przeczytaniu artykuªu naukowego "Hybrid position/force control of a exible parallel manipulator"[?]. Autorzy tego artykuªu podj li si stworzenia równolegªego manipulatora, którego cech charakterystyczn jest elastyczna ko«cówka umo»liwiaj ca pomiary siª/momentów dziaªaj cych na efektor. Jak widzimy na rysunku??, do pomiaru siªy zostaª wykorzystany czujnik siª/momentów o sze±ciu stopniach swobody, dzi ki czemu mo»liwe jest wykrycie ka»dego rodzaju deformacji elastycznej ko«cówki. Zalet takiego rozwi zania jest zdolno± do analizy siª i momentów, którymi otoczenie oddziaªuje na efektor. W rezultacie, poprzez zastosowanie hybrydowego sterowania, polegaj cego na jednoczesnym kontrolowaniu poªo»enia efektora i siª na niego oddziaªuj cych, jeste±my w stanie zapewni dokªadniejsz i bezpieczniejsz interakcj manipulatora z otoczeniem. Wynika to z braku du»ych siª powstaj cych przy wykorzystaniu jedynie kontroli poªo»enia. 3.1 Ró»nice w stosunku do pierwowzoru Stworzony w ramach niniejszej pracy magisterskiej manipulator ró»ni si jednak»e w wielu aspektach od swojego pierwowzoru. Konstrukcja tamtego manipulatora nie zakªadaªa redundancji, która jest jednym z fundamentów tego projektu. Redundancja, która umo»liwia osi gni cie jednego poªo»enia efektora przy pomocy wielu ró»nych konguracji manipulatora, zostaªa zapewniona poprzez wprowadzenie jednego dodatkowego przegubu pasywnego. Co wi cej, w stosunku do pierwowzoru elastyczne ramie poª czone z czujnikiem siª i momentów zostaªo zast pione przez inny mechanizm, opisany dokªadniej w rozdziale??. Dzi ki zmianom w konstrukcji manipulator stworzony w ramach tego projektu posiada wi ksz gam potencjalnych zastosowa«, np. mo»liwo± uczenia si.
Rozdziaª 4 Struktura manipulatora 4.1 Konguracje niedozwolone 4.2 Kinematyka manipulatora 4.2.1 Prosta kinematyka manipulatora 4.2.2 Odwrotna kinematyka manipulatora
Rozdziaª 5 Wyznaczenie wymiarów manipulatora Po zdeniowaniu modelu robota w postaci równa«kinematyki mo»na przej± do projektowania jego zycznej konstrukcji. Pierwszym etapem tego procesu jest okre±lenie» danych gabarytów robota. Istnieje kilka podej± do tego zadania 2.2, jednak»e w przypadku tej pracy zostaªa wykorzystana analiza stosunku wielko±ci przestrzeni roboczej do rozmiarów poszczególnych elementów manipulatora. 5.1 Obliczenie przestrzeni roboczej manipulatora W celu obliczenia przestrzeni roboczej manipulatora stworzony zostaª oddzielny program w j zyku C++, który realizowaª to zadanie. Skªadaª si on przede wszystkim z klasy symuluj cej obiekt manipulatora, w której zaimplementowane zostaªy metody liczenia zarówno prostej jak i odwrotnej kinematyki dla konkretnej instancji robota. Na ich podstawie wyznaczana jest przestrze«robocza. Wyniki oblicze«z wykorzystaniem jednej i drugiej metody zapisywane s do tej samej postaci, co pozwala na ich porównanie. Posta ta zakªada stworzenie odpowiednio du»ej siatki w przestrzeni (wi kszej ni» przestrze«robocza manipulatora) o okre±lonych i równych rozmiarach pojedynczych komórek wypeªnionych zerami. Nast pnie wypeªniamy warto±ciami jeden wszystkie te komórki, które s dla poprzez efektor osi galne dla badanego manipulatora. 5.1.1 Przestrze«robocza na bazie prostej kinematyki Prosta kinematyka manipulatora zaimplementowana analogicznie do oblicze«z rozdziaªu??, tutaj jest ju» liczona dla konkretnych warto±ci parametrów manipulatora. W celu wyznaczenia przestrzeni roboczej rozpatrzone zostaªy wszystkie mo»liwe konguracje k tów przegubów manipulatora, z dokªadno±ci do zadanego kroku i z wyª czeniem konguracji niedozwolonych (opisanych szerzej w rozdziale 4.1). Rezultatem wyznaczenia prostej kinematyki jest poªo»enie XY, dla którego odpowiadaj ca komórka siatki przestrzeni (ta, w której efektor w zadanej konguracji si znajduje) zostaje wypeªniona jedynk. 5.1.2 Przestrze«robocza na bazie odwrotnej kinematyki W przypadku odwrotnej kinematyki stosujemy odwrotne podej±cie do problemu wyznaczania przestrzeni roboczej. Tym razem zadanie sprowadza si do przejrzenia wszystkich komórek siatki przestrzeni i oznaczeniu jedynk tych, dla których mo»liwe jest wyznaczenie konguracji manipulatora, w której efektor znajduje si w aktualnej komórce.
12 5. Wyznaczenie wymiarów manipulatora W zwi zku z tym funkcja wyznaczaj ca odwrotn kinematyk dla zadanego poªo»enia zwraca warto± true/false w zale»no±ci od tego czy operacja si powiodªa. 5.1.3 Obwiednia przestrzeni roboczej Kolejnym etapem liczenia powierzchni jest wyznaczenie obwiedni przestrzeni roboczej na podstawie siatki wypeªnionej z wykorzystaniem metod kinematyki. W tym celu zostaª zaimplementowany algorytm, który dla zadanej siatki tworzy jej kopi zawieraj c jedynie obrys przestrzeni. Co warto doda, dla efektywno±ci oblicze«nie przeszukuje on caªej siatki, a jedynie inteligentnie porusza si po kraw dziach przestrzeni roboczej (zakªadamy,»e jest ona wypukªa). Dodatkowo w algorytmie zostaªa zaimplementowana mo»liwo± zapisania wygenerowanego obrysu do pliku. Odbywa si to poprzez przeliczenie odpowiednich komórek siatki na warto±ci X i Y co umo»liwia pó¹niejsze narysowanie przestrzeni. Przykªad takiej obwiedni, wygenerowany z pomoc programu gnuplot zostaª przedstawiony na rysunku??. 5.1.4 Wyznaczanie powierzchni przestrzeni roboczej Na podstawie obwiedni przestrzeni roboczej jeste±my w stanie obliczy jej powierzchni. Ze wzgl du na ograniczenia numeryczne przyj te wcze±niej b dzie to jedynie jej aproksymacja. Dla ka»dej kolumny obliczamy liczb komórek siatki pomi dzy wyst pieniem pierwszej i drugiej jedynki (górna i dolna kraw d¹ obrysu), a nast pnie sumujemy wszystkie te warto±ci otrzymuj c powierzchni przestrzeni roboczej. Dokªadno± otrzymanej w ten sposób powierzchni zale»y w du»ym stopniu od zdeniowanej ziarnisto±ci siatki. 5.2 Wyznaczenie wymiarów manipulatora na podstawie przestrzeni roboczej Posiadaj c mo»liwo± obliczenia rozmiaru przestrzeni roboczej pojedynczej instancji manipulatora jeste±my w stanie porówna je i wybra t, która zapewni nam najlepsze warunki pracy. W tym celu deniujemy konkretn warto± jako sum ramion (sama warto± nie jest istotna, gdy» interesuje nas wzajemny stosunek dªugo±ci ramion). Nast pnie zmieniamy dªugo± ka»dego z ogniw z odpowiednim krokiem i obliczamy rozmiar przestrzeni roboczej, zarówno prost jak i odwrotn kinematyk. Oczywi±cie interesuj nas tylko te konguracje, w których suma dªugo±ci ramion nie przekracza zadanej sumy. Spo±ród wszystkich wygenerowanych kombinacji wybieramy t, która maksymalizuje rozmiar przestrzeni roboczej. Dla zdeniowanych ogniw nale»y wyznaczy tak»e optymalne rozstawienie pocz tków ka»dego z ramion (silników). Operacj t wykonujemy dla konkretnych dªugo±ci ogniw, które z kolei musimy liczy dla konkretnego rozstawienia zadania te s komplementarne. 5.2.1 Wyznaczenie wymiarów próbnej wersji manipulatora Przed przyst pieniem do wyznaczania konguracji docelowego manipulatora proces optymalizacji zostaª przeprowadzony dla wersji próbnej, opisanej w rozdziale??. W tym przypadku dokªadno± wyniku nie byªa najistotniejsza, w zwi zku z czym wszystkie dªugo±ci iterowano z krokiem 10, przy czym ich suma powinna wynosi 100. Po zaimplementowaniu prostej i odwrotnej kinematyki na pocz tku wyznaczono optymalne konguracje
5.2. Wyznaczenie wymiarów manipulatora na podstawie przestrzeni roboczej 13 dla kilku przykªadowych warto±ci L, b d cych poªow odlegªo±ci pomi dzy pocz tkami ramion manipulatora: kinematyka prosta: L=0: l1=40, l2=20, l3=40, l4=0, L=10: l1=30, l2=30, l3=40, l4=0, L=20: l1=20, l2=40, l3=40, l4=0, L=30: l1=20, l2=30, l3=50, l4=0, L=40: l1=20, l2=30, l3=50, l4=0, kinematyka odwrotna: L=0: l1=30, l2=40, l3=30, l4=0, L=10: l1=30, l2=40, l3=30, l4=0, L=20: l1=30, l2=30, l3=40, l4=0, L=30: l1=30, l2=20, l3=50, l4=0, L=40: l1=20, l2=30, l3=50, l4=0, Warto wspomnie,»e parametry l1-l4 byªy iterowane na przedziale od 0 do 50. Jak widzimy, dla tej wersji manipulatora ostatnie z ramion najmniej wpªywa na wielko± przestrzeni roboczej, w zwi zku z czym algorytm staraª si je eliminowa (dzi ki temu inne ramiona mogªy by dªu»sze). Przy oddalaniu pocz tków ramion od siebie wzrasta znaczenie trzeciego ramienia, podczas gdy maleje pierwszego. Ró»nice pomi dzy prost i odwrotn kinematyk wynikaj gªównie z ró»nych metodologii liczenia, jednak»e warto rozwa»y i jedn i drug opcj w celu zebrania wi kszej ilo±ci obserwacji. Posiadaj c kilka wybranych konguracji manipulatora mo»emy teraz dokªadniej ju» (z krokiem 1) znale¹ najlepsz dla nich odlegªo± L. Wyniki zostaªy zaprezentowane na wykresach, rysunek 5.2.1 prosta kinematyka i rysunek 5.2.1. Jak mo»na si byªo spodziewa, w obu przypadkach najwi ksza przestrze«robocza jest osi gana dla maªych warto±ci L. Jednak»e jest to sprzeczne z wymaganiem dotycz cym rozªo»enia siª dziaªaj cych na efektor na poszczególne nap dy zale»y nam, aby ramiona byªy w pewnej odlegªo±ci od siebie. W zwi zku z tym konieczne jest wypracowanie konsensusu. Wszystkie konguracje dªugo±ci zwracaj stosunkowo do± du»e przestrzenie robocze dla parametru L znajduj cego si w przedziale (10,20). Je»eli to byªaby ostateczna wersja manipulatora, jako kompromis warto± z tego przedziaªu zostaªaby wybrana. 5.2.2 Wyznaczenie wymiarów ostatecznej wersji manipulatora
14 5. Wyznaczenie wymiarów manipulatora X: 0 Y: 1600 1535 1400 1200 1000 800 600 400 200 0 10 20 30 40 50 1400 X: 10 Y: 1305 1300 1200 1100 1000 900 800 700 600 500 400 0 10 20 30 40 50 (a) L=0: l1=40, l2=20, l3=40, l4=0 (b) L=10: l1=30, l2=30, l3=40, l4=0 1400 1300 1500 1400 1200 1100 1000 900 800 700 600 500 X: 20 Y: 1125 1300 1200 1100 1000 900 800 700 X: 30 Y: 1165 400 0 10 20 30 40 50 600 0 10 20 30 40 50 (c) L=20: l1=20, l2=40, l3=40, l4=0 (d) L=30: l1=20, l2=30, l3=50, l4=0 1500 1400 1300 1200 X: 30 Y: 1165 1100 1000 900 800 700 600 0 10 20 30 40 50 (e) L=40: l1=20, l2=30, l3=50, l4=0 Rysunek 5.1 Powierzchnia przestrzeni roboczej w zale»no±ci od odlegªo±ci pocz tków pierwszych ramion manipulatora przy wykorzystaniu prostej kinematyki
5.2. Wyznaczenie wymiarów manipulatora na podstawie przestrzeni roboczej 15 (a)(b) L=0: L=10: l1=30, l1=30, l2=40, l2=40, l3=30, l3=30, l4=0 l4=0 (c)(d) L=20: L=30: l1=30, l1=30, l2=30, l2=20, l3=40, l3=50, l4=0 l4=0 (e) L=40: l1=20, l2=30, l3=50, l4=0 Rysunek 5.2 Powierzchnia przestrzeni roboczej w zale»no±ci od odlegªo±ci pocz tków pierwszych ramion manipulatora przy wykorzystaniu odwrotnej
Rozdziaª 6 Podsumowanie projektu
Dodatek A Zawarto± pªyty CD Do pracy doª czono pªyt CD zawieraj c : 1. Aplikacja katalog zawieraj cy kod ¹ródªowy aplikacji, 2. Doc katalog zawieraj cy dokumentacj kodu ¹ródªowego przy wykorzystaniu ±rodowiska Doxygen 3. KDL katalog zawieraj cy kod ¹ródªowy biblioteki KDL [?] 4. Projekt_Inzynierski.pdf wersja elektroniczna niniejszego dokumentu