Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

49
POLITECHNIKA WARSZAWSKA WYDZIAL ELEKTRONIKI I TECHNIK INFORMACYJNYCH INSTYTUT AUTOMATYKI I INFORMATYKI STOSOWANEJ Rok akademicki 2012/2013 PRACA DYPLOMOWA INŻYNIERSKA Magdalena Kula Stanowisko do badania charakterystyki tlumienia manipulatora IRp–6. Opiekun pracy: dr inż. Tomasz Winiarski Ocena pracy: ............................ ......................................... Data i podpis Przewodniczącego Komisji Egzaminu Dyplomowego

Transcript of Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Page 1: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

POLITECHNIKA WARSZAWSKA

WYDZIAŁ ELEKTRONIKI I TECHNIK INFORMACYJNYCH

INSTYTUT AUTOMATYKI I INFORMATYKI STOSOWANEJ

Rok akademicki 2012/2013

PRACA DYPLOMOWA INŻYNIERSKA

Magdalena Kula

Stanowisko do badania charakterystyki tłumienia

manipulatora IRp–6.

Opiekun pracy:

dr inż. Tomasz Winiarski

Ocena pracy: . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Data i podpis Przewodniczącego

Komisji Egzaminu Dyplomowego

Page 2: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Podziękowanie

Chciałabym podziękować wszystkim osobom, zaangażowanym w pomoc przy powsta-

waniu tej pracy. Szczególnie chciałam podziękować mojemu promotorowi, Tomaszowi

Winiarskiemu za cenne uwagi i wskazówki. Podziękowania należą się także osobom

z laboratorium 012 za wsparcie i motywację do pracy: Konradowi Banachowiczowi, Mi-

chałowi Walęckiemu, Maciejowi Stefańczykowi, Adamowi Skubisowi, Bartoszowi Świ-

stakowi. Na końcu chciałam podziękować jeszcze Rafałowi Karolewskiemu za wsparcie

i za to, że we mnie nie zwątpił.

1

Page 3: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Kierunek: Informatyka

Specjalność: Systemy Informacyjno-Decyzyjne

Data urodzenia: 1990.01.30

Data rozpoczęcia studiów: 2009.02.23

Życiorys

Urodziłam się 30 stycznia 1990 roku w Żyrardowie. W 2008 roku ukończyłam Li-

ceum Ogólnokształcące im. Stanisława Żeromskiego w Żyrardowie. W roku 2009 rozpo-

częłam studia na kierunku Informatyka Wydziału Elektroniki i Technik Informacyjnych

Politechniki Warszawskiej.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

podpis studenta

Egzamin dyplomowy

Złożył egzamin dyplomowy w dn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Z wynikiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Ogólny wynik studiów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dodatkowe wnioski i uwagi Komisji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Page 4: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Streszczenie

Celem pracy było stworzenie stanowiska do badania charakterystyki tłumienia siły

zadawanej przez manipulator IRp–6. Urządzenie do zadawania tłumienia manipulato-

rowi przemysłowemu zostało skonstruowane z wykorzystaniem siłownika pneumatycz-

nego firmy FESTO. Drugim aspektem pracy było stworzenie sterownika dla manipula-

tora IRp–6, umożliwiającego z zadaną prędkością i ograniczeniem na siłę oddziaływanie

na urządzanie tłumiące. Praca ma charakter badawczy, dlatego przeprowadzono serie

pomiarów sprawdzających poprawność działania urządzenia. W niniejszej pracy zawarte

zostały założenia, jakie spełniać powinno urządzenie tłumiące, realizacja mechaniczna

obiektu oraz podsumowanie otrzymanych wyników.

Słowa kluczowe: Manipulator IRp–6, MRROC++, tłumienie, siła, siłownik pneuma-

tyczny

Abstract

Title: Test bench to investigate the damping characteristics of the manipulator IRp–6.

The aim of this thesis was to create a test bench to examine the characteristics

of set force damping of the IRp–6 manipulator. Device to set damping for industrial

manipulator has been developed with use of FESTO pneumatic cylinder. The second

aspect of the thesis was to create a driver for the IRp–6 manipulator, which would

apply force to the pneumatic cylinder with set speed and limit in force. Work has a

research character, therefore, a series of test measurements for proper operation of the

equipment was conducted. In the presented thesis the assumptions, that should be met

by the damping device, the mechanical implementation of the object and a summary of

the results have been included.

Keywords: Manipulator IRp–6, MRROC++, dumping, force, pneumatic cylinder

Page 5: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Spis treści

1 Wstęp 6

1.1 Motywacja pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Cel pracy i założenia pracy . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Układ pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Wprowadzenie do tematyki 8

2.1 Sprężystość i tłumienie . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Manipulator IRp–6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Siłownik pneumatyczny . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Model kontaktu manipulatora z otoczeniem . . . . . . . . . . . . . . . 11

2.5 Przetwarzanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5.1 Metoda uśredniania danych . . . . . . . . . . . . . . . . . . . . 14

2.5.2 Filtr Butterwortha . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5.3 Transformata Fouriera . . . . . . . . . . . . . . . . . . . . . . . 15

3 Opis wykorzystanych technologii 16

3.1 MRROC++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Środowisko Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Opis stanowiska badawczego 21

4.1 Założenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.2 Proces tworzenia urządzenia zadającego tłumienie . . . . . . . . . . . . 21

4.3 Realizacja fizyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4 Uwagi dotyczące eksploatacji . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Programowanie manipulatora IRp–6 27

5.1 Zadanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 Opis Klas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6 Specyfikacja funkcji środowiska Matlab 32

4

Page 6: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

7 Wyniki 34

7.1 Wybór metody filtracji danych . . . . . . . . . . . . . . . . . . . . . . . 34

7.2 Wyznaczanie współczynników tłumienia . . . . . . . . . . . . . . . . . 38

8 Wnioski 42

Literatura 43

Załączniki 44

5

Page 7: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

1 Wstęp

1.1 Motywacja pracy

Robotyka jest stosunkowo młodą dziedziną nauki. Rozwijanie jej jest o tyle trudne,

że łączy ona w sobie elementy zarówno związane z informatyką (programowanie ste-

rowników) jak i z mechaniką oraz budową robotów. Wiele doświadczeń badających

fizyczny kontakt robota z otoczeniem nie zostało jeszcze przeprowadzonych ani udo-

kumentowanych. Pomimo ciągłego rozwoju robotyki, nadal wiedza na temat tłumienia

siły w tej dziedzinie jest dość ograniczona. Budowa stanowiska badawczego, a w szcze-

gólności budowa urządzenia zadającego tłumienie, może stanowić wyjście do dalszego

rozwoju badań w tym kierunku. Głównym powodem, dla którego osobiście zdecydo-

wałam się podjąć ten tematu była możliwość zmierzenia się i zapoznania z progra-

mowaniem sterowników dla systemów wieloobrotowych oraz połączenie tego z budową

własnego urządzenia, zadającego tłumienie.

Roboty pracują w środowisku niedeterministycznym, nieodpornym na lekkie prze-

kłamania. Każde uruchomienie robota czy manipulatora jest zależne od otoczenia w ja-

kim się znajduje. Wywołanie tego samego zadania przy tych samych danych wejścio-

wych może dać inne rezultaty, dlatego też bardzo ważnym aspektem tej pracy było

stworzenie takiego środowiska pracy dla manipulatora, żeby wyniki działania danego

algorytmu sterowania siłą przy tych samych danych wejściowych, były jak najbardziej

do siebie zbliżone.

1.2 Cel pracy i założenia pracy

Celem pracy inżynierskiej była konstrukcja stanowiska do badania charakterystyki

tłumienia siły manipulatora IRp–6. Pierwszym wyznaczonym celem było zbudowanie

urządzenia zadającego tłumienie manipulatorowi. Głównym założeniem przy powsta-

waniu urządzenia było zadbanie o to, by jego działanie zbliżone było do działania

deterministycznego. Przy budowie stanowiska dążono do standaryzacji kontaktu ma-

nipulatora z otoczeniem. Konstrukcja urządzenia do zadawania tłumienia powstała

w wyniku przeprowadzonych analiz i została poddana eksperymentalnej weryfikacji.

Praca miała na celu sprawdzenie, na ile możliwe jest zbudowanie mechanicznego urzą-

dzenia, na podstawie którego będzie można prowadzić badania w tematyce tłumienia.

1.3 Układ pracy

Rozdział 2 wprowadza czytelnika w tematyki pracy. Na początku wytłumaczone

zostały zjawiska tłumienia i sprężystości. We wprowadzeniu znajduje się także defini-

cja kontaktu manipulatora z otoczeniem. Osobno omówiono kinematykę i dynamikę

6

Page 8: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

robotów. Następnie opisano urządzenia wchodzące w skład stanowiska do badania cha-

rakterystyki tłumienia manipulatora IRp–6 czyli sam manipulator oraz siłownik pneu-

matyczny, na bazie którego powstało urządzenie zadające tłumienie.

W kolejnej części rozdziału 2 opisane zostały użyte w projekcie trzy metody filtracji

danych. Zebrane charakterystyki działania siły manipulatora były bardzo zniekształ-

cone przez szumy i należało poddać je filtracji. W rozdziale 2 opisane zostały użyte w

projekcie trzy metody filtrowania danych.

Sekcja 3 zawiera opis użytych technologii: MRROC++ oraz Matlab. W aplikacji

MRROC++ stworzony został sterownik manipulatora, natomiast w środowisku Matlab

przeprowadzano operacje przetwarzania danych. Wykorzystano go także do przygoto-

wania wizualizacji otrzymanych wyników. Odpowiednio w rozdziałach 5 i 6 znajduje się

dokładny opis metod i funkcji wytworzonych w MRROC++ i Matlab podczas realizacji

projektu.

Rozdział 4 zawiera założenia jakie miało spełniać całe stanowisko do badań, przed-

stawia historię powstawania urządzenia do zadawania tłumienia oraz prezentuje osta-

teczną wersję całego stanowiska badawczego. Dodatkowo zawarto w nim uwagi eksplo-

atacyjne stanowiska.

Ostatnie dwa rozdziały prezentują wyniki doświadczeń przeprowadzonych na stano-

wisku oraz wniosku jakie można sformułować na ich podstawie. Przedstawione zostały

w nim wyliczone współczynniki tłumienia oraz otrzymane charakterystyki siły od czasu

dla manipulatora IRp–6 przy zadanych ustawieniach urządzenia tłumiącego.

7

Page 9: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

2 Wprowadzenie do tematyki

Poniższy rozdział ma za zadnie wprowadzić czytelnika w tematykę pracy. Znaj-

dują się w nim zarysy definicji zjawisk tłumienia i sprężystości. Przybliżono również

tematykę modelowania kontaktu manipulatora z otoczeniem. Na opis kontaktu manipu-

latora z otoczeniem składa się kinematyka i dynamika robota. Kinematyka odpowiada

za orientację i określanie pozycji robota w przestrzeni natomiast dynamika definiuje

ruch manipulatora. Kolejne podrozdziały charakteryzują manipulator IRp–6, z którego

udziałem przeprowadzano badania oraz siłownik pneumatyczny firmy FESTO który był

głównym elementem zadającym tłumienie robotowi. Ostatni podrozdział opisuje trzy

wybrane metody do filtrowania danych otrzymanych z czujnika siły.

2.1 Sprężystość i tłumienie

Sprężystość [4] jest to własność ciał polegająca na powracaniu do pierwotnego

kształtu i wymiarów po zdjęciu obciążenia, wywołującego odkształcenie. Ciała wyka-

zują sprężystość tylko do pewnej wartości obciążenia (sprężystość graniczna), powyżej

której powstają nieodwracalne odkształcenia plastyczne. Związek siły działającej na

sprężynę o współczynniku K i generujący przesunięcie X wyrażony jest wzorem:

F = K ·X (1)

Tłumienie drgań [4] jest to w ogólnym przypadku zmniejszenie drgań swobodnych

w układzie drgającym, wywołane rozpraszaniem energii. Zadaniem w tym projekcie

jest wygaszenie siły jaką przykłada manipulator do urządzenia zadającego tłumienie.

Tłumienie zależne jest od prędkości i można je przedstawić za pomocą równania:

F = B · X (2)

Gdzie X to stosunek przesunięcia do przyrostów w czasie definiowane wzorem X = dXdt

.

2.2 Manipulator IRp–6

Manipulator jest to robot będący mechanicznym ramieniem. Oznacza to, że liczba

jego stopni swobody odpowiada dokładnie liczbie stawów jego ramienia. Każdy ma-

nipulator ma ściśle określoną przestrzeń roboczą w której może wykonywać zadania.

Przestrzeń robocza jest ściśle związania z kinematyką danego manipulatora.

Manipulator IRp–6 [1] zbudowany został w Polsce w PIAP (Przemysłowym Insty-

tucie Automatyki i Pomiarów). Jest to manipulator stawowy, który powstał na licencji

szwedzkiej firmy ASEA (Allemana Svenska Elektriska Aktienbolaget). Jest to manipu-

lator przemysłowy, wykorzystywany głównie do lakierowania i spawania części. IRp–6

może wykonywać zaprogramowane zadania, lub być sterowany ręcznie przez operatora.

8

Page 10: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Rysunek 1: Manipulatory IRp–6 układające kostkę Rubika

Wyposażony jest także w system wizyjny za pomocą którego jest w stanie przeprowa-

dzać czynności oparte na rozpoznawaniu obrazów. IRp–6 może być sterowany ręcznie

za pomocą szafy sterującej lub programowany za pomocą dowolnego systemu robo-

tycznego. Operator manipulatora zatem nie musi być w bezpośrednim otoczeniu części

manipulacyjnej, żeby wykonać zadanie. Należy wyróżnić dwa rodzaje funkcji działania

manipulatora: manipulacyjną, wykonywaną przez chwytak i wysięgnikową, realizowaną

przez ramię manipulatora. W projekcie korzystano jedynie z funkcji wysięgowej ma-

nipulatora. Zadaniem manipulatora było przepchnięcie dźwigni ze stałą prędkością,

a czynność ta nie wymaga operacji manipulacji.

Rysunek 1 przedstawia manipulatory IRp–6 w laboratorium robotyki Instytutu

Automatyki i Informatyki Stosowanej Politechniki Warszawskiej. IRp–6 jest typowym

przykładem robota przemysłowego i wykorzystywany jest głównie do automatyzacji

procesów przemysłowych. Ma zastosowanie przede wszystkim tam, gdzie istnieje bez-

pośrednie narażenie życia i zdrowia człowieka.

W laboratorium 012 Instytutu Automatyki i Informatyki stosowanej znajdują się

dwa manipulatory IRp–6: Track i Postument. Obydwa wyposażone są w dwupalcza-

ste chwytaki o jednym stopniu swobody. Track dodatkowo posiada jeszcze tor jezdny

po którym może się poruszać, natomiast Postument, jest na stałe zamontowany w jed-

nym miejscu. Na rysunku 2 po lewej przedstawiono przestrzenny schemat manipulatora

o 7 stopniach swobody. Po prawej stronie rysunku 2 przedstawiono łańcuch kinema-

tyczny manipulatora o 8 stopniach swobody:

• ruch po torze jezdnym (Q0)

• obrót korpusu względem podstawy (Q1)

9

Page 11: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Rysunek 2: Schematy budowy manipulatora IRp–6

• obrót ramienia (ramienia dolnego) (Q2)

• obrót przedramienia (ramienia górnego) (Q3)

• pochylanie kiści (przegubu) (Q4)

• skręcanie kiści (przegubu) (Q5)

• obracanie chwytaka (Q6)

• ruch palcami (Q7)

Na każdej osi stopnia swobody manipulatorów działają silniki elektryczne prądu

stałego z przekładniami. Manipulator IRp–6 składa się z trzech zasadniczych układów:

układu kinematycznego, układów pomiarowych i napędowych oraz z układu sterowania.

Układ kinematyczny odpowiada za przekształcanie działania obrotowego silników

na ruch odpowiednich ramion manipulatora. W skład tego układu wchodzą wszystkie

elementy kinematyczne robota wraz z elementami przeniesienia napędu. Układy pomia-

rowe i napędowe odpowiedzialne są za regulację położenia robota. Na poszczególnych

osiach działają sterowniki mocy oraz silniki prądu stałego. Układ sterowania natomiast

składa się z komputera, pamięci, urządzeń wejścia wyjścia oraz modułów sterujących

serwomechanizmami manipulatora.

2.3 Siłownik pneumatyczny

Siłowniki pneumatyczne mają szerokie zastosowanie w przemyśle. Są to urządzenia

napędzane najczęściej powietrzem lub inną mieszanką gazów roboczych. Siłowniki tego

typu nie generują dużej siły, za to ich ruch jest bardzo dynamiczny. Można je łączyć

10

Page 12: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

z siłownikami hydraulicznymi, co sprawia, że ruch siłownika staje się bardziej płynny

a siła działania się zwiększa.

Rysunek 3: Siłownik firmy FESTO typu DNC

W projekcie został użyty siłownik typu DNC-32-150-PPV-A (Rysunek 3). Jest to

siłownik liniowy, tłoczyskowy jednostronnego działania. Średnica tłoka wynosi 32mm,

a długość skoku jest równa 150mm. Siłownik ten jest jednym z mniejszych dostępnych

siłowników pneumatycznych na rynku. W siłownikach tłoczyskowych przesuwanie tłoka

jest zależne od kierunku, z którego podawane do urządzenia jest sprzężone powietrze.

Powietrze jednak nie może być wykorzystane w badaniu tłumienia. Ośrodkiem wypeł-

niającym urządzenie do zadawania tłumienie powinna być substancja, której ściśliwość

jest jak najmniejsza. Nie można odpowiednio zmierzyć współczynnika tłumienia przy

siłowniku wypełnionym powietrzem, ponieważ siła, jaką manipulator wkłada w przesu-

nięcie tłoka nie była by tłumiona przez zawór. Manipulator sprężałby tylko powietrze,

a stopień udziału tłumienia przez zawór byłby znikomy.

W ostatecznej wersji siłownik pneumatyczny został wypełniony olejem przekładnio-

wym. Mała lepkość cieczy, oraz minimalna jej sprężystość sprawia, że idealnie nadaje

się do tego typu pomiarów.

2.4 Model kontaktu manipulatora z otoczeniem

Słowo robot pochodzi od słowiańskiego słowa robota, oznaczającego ciężką pracę,

wysiłek. Definiowany jest jako programowalna, wielofunkcyjna maszyna zaprojekto-

wana do przemieszczania materiałów, narzędzi lub specjalizowanych urządzeń poprzez

różne programowane ruchy w celu realizacji różnych zadań.

Pojęcie modelu kontaktu manipulatora z otoczeniem opiera się na temacie kine-

matyki i dynamiki robota. W pracy nie zajmowano się kinematyką i dynamiką ruchu

manipulatora jako całości, lecz właśnie dynamiką kontaktu manipulatora z otoczeniem.

Podstawowy, impedancyjny [8] model kontaktu manipulatora z otoczeniem można

przedstawić za pomocą schematu 4. Składa się on z trzech zasadniczych elementów:

elementu sprężystego, tłumiącego oraz masy. Impedancję można zapisać zatem w po-

niższej postaci:

F (t) =Md2x(t)dt2

+Bdx(t)dt

+Kx(t) (3)

11

Page 13: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

B

F

xK

Rysunek 4: Impedancja mechaniczna, połączenie równoległe sprężyny i tłumienia

W projekcie nie mamy do czynienia ze standardową impedancją mechaniczną. Urzą-

dzenie do zadawania tłumienia można przedstawić jako szeregowe połączenie elementu

sprężystego z tłumikiem, które przedstawione jest na schemacie 5.

B

x1

K

x2

F1, V

1

1 2

F2, V

2

Rysunek 5: Model kontaktu manipulatora z urządzeniem tłumiącym. Połączenie sze-regowe sprężyny i tłumienia

Działając na układ z siłą F1 następuje ściskanie sprężyny wraz z jednoczesnym

przesuwaniem się tłoka w tłumiku. Z tego zjawiska wynika, że prędkości w punkcie 1 i 2

są pochodnymi przesunięcia sprężyny, co prezentują wzory:

V1 = x1 (4)

V2 = x2 (5)

Siły F1 i F2 są sobie równe i początkowo wynoszą 0. W kolejnych fazach ruchu definio-

wane są przez wzory 6 i 8:

F1(t) = K (d− (x2 (t)− x1 (t))) (6)

Gdzie d jest długością sprężyny wyrażoną wzorem:

d = x2(t)− x1(t) (7)

12

Page 14: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Wzór na siłę F1 wynika z twierdzenia o sprężystości (1). Siłę F2 natomiast można

przedstawić jako tłumienie (2):

F2(t) = V2(t) ·B (8)

gdzie B to współczynnik tłumienia.

Jednym z celów projektu było wyznaczenie współczynnika tłumienia B urządzenia,

zadającego tłumienie manipulatorowi. W pierwszej fazie ruchu, gdy na siłę składa

się tłumienia i sprężystość, wyznaczenie współczynnika tłumienia jest bardzo trudne.

W czasie ściskania sprężyny różnica prędkości V1 − V2 jest malejąca. W drugiej fazie

ruchu, gdy sprężyna osiągnie już maksymalne ściśnięcie i prędkość V2 równa jest już

prędkości V1, siła równa jest sile tłumienia (8). Znając wartość V2, gdyż jest to prędkość

zadana i znając siłę, którą można odczytać z wykresu można wyznaczyć współczynnik

B.

Wyznaczenie współczynnika sprężystości K na podstawie zebranych danych pomia-

rowych jest prawie niemożliwe. Wynika to z niedokładności pomiarów i niemożliwości

odpowiedniej aproksymacji funkcji. Siła F , gdzie udział ma sprężystość i tłumienie

jest funkcją nieliniową a F jest malejąca. Na rysunku 6 przedstawiono przykładowy

przebieg wartości siły od czasu.

Rysunek 6: Przykładowy wykres siły od czasu dla stworzonego urządzania zadającegotłumienie

13

Page 15: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

2.5 Przetwarzanie danych

Odczyty danych zebrane z czujnika siły manipulatora były bardzo zniekształcone

przez szumy. Bez odpowiedniej filtracji otrzymanych wyników policzenie współczyn-

ników tłumienia i sztywności było niemożliwe. Nieczytelne były w szczególności dane,

gdzie siła maksymalna nie przekraczała wartości 4N. W pracy przetestowano trzy me-

tody filtrowania danych: filtrowanie za pomocą transformaty Fouriera, filtrowanie dol-

noprzepustowym filtrem Butterwortha oraz metodę uśredniania danych. Jakość wy-

branych metod filtracji sprawdzano za pomocą wskaźnika PSNR czyli szczytowego

stosunku sygnału do szumu (wzór 9).

PSNR = 20 · log(MAX(N)√MSE

)(9)

Wzór na PSNR opiera się na wartości błędu średniokwadratowego (MSE). Jest to

suma różnicy między dwoma sygnałami podniesiona do kwadratu oraz podzielona przez

ilość próbek:

MSE =1n·n∑i=1

(xi − yi)2 (10)

W projekcie do wyliczenia PSNR przyjmujemy, że dane zebrane z czujnika są szu-

mem, natomiast przybliżone wartości siły wyliczone za pomocą metod filtracji sygna-

łem podstawowym. Do policzenia wskaźnika potrzebujemy jeszcze maksymalną wartość

siły. Czujnik zamontowany na manipulatorze może zmierzyć siłę do 60N .

2.5.1 Metoda uśredniania danych

Metoda uśredniania danych z zadanym oknem polegała na policzeniu uśrednionej

wartości dla danego x z danych o zadanym oknie. Wzór uśredniający x dla zadanego

okna o rozmiarze w:

X(k) =1w·k+bw2 c∑i=k−bw2 c

x(i) (11)

Rozmiar okna może być teoretycznie dowolną liczbą naturalną, lecz przyjęto, że

rozmiar okna podawany do uśredniania danych będzie liczbą naturalną nieparzystą.

Wiadomo wtedy, że uśredniania liczba jest dokładnie środkiem zadanego przedziału.

W przypadku uśredniania danych wartości xi we wzorze na MSE są danymi wyjścio-

wymi natomiast yi to wartości średnie z zadanego okna liczone według wzoru 11.

2.5.2 Filtr Butterwortha

Filtr Butterwortha [5] działa w dziedzinie częstotliwości. Charakteryzuje się, na tle

innych filtrów, najbardziej płaskim przebiegiem charakterystyki amplitudowej w paśmie

przenoszenia, lecz ma bardzo słabą charakterystykę fazową. Wadą tego filtru jest także

występowanie załamania się charakterystyki pod koniec pasma przepustowego. Poniżej

14

Page 16: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

znajduje się wzór na transmitancję funkcji Butterwortha:

Td(f) =1√

1 + ( ff0

)2n(12)

Przy użyciu funkcji Matlaba filter można wykorzystać tę transmitancję do przetwarza-

nia sygnałów. W filtrze Butterwortha możemy dobrać dwa parametry: rząd n i często-

tliwość graniczą f0.

2.5.3 Transformata Fouriera

Ostatnią wypróbowaną metodą filtrowania danych było zastosowanie filtru dolno-

przepustowego za pomocą szybkiej transformaty Fouriera. Wzór na ciągłą transformatę

Fouriera znajduje się poniżej:

F (s) =∫ +∞−∞f(x) · e−2πixsdx (13)

Dane zebrane z czujnika siły nie są jednak ciągle. Aby zastosować transformatę

Fouriera należy skorzystać ze wzoru na jej dyskretną postać:

X(k) =N−1∑n=0

xn · e−2πiNnk (14)

Proces filtrowania danych z szumu polegał na wycięciu dużego przedziału częstotli-

wości, które zakłócały odczyty a następnie odwróceniu operacji przy pomocy odwrotnej

transformaty Fouriera. Wykresy i wyniki ilustrujące dokładne działanie metod zawarte

są w rozdziale 7.1.

15

Page 17: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

3 Opis wykorzystanych technologii

3.1 MRROC++

MRROC++ [9] (Multi-Robot Research-Oriented Controller) to programowa struk-

tura ramowa stworzona w Instytucie Automatyki i Informatyki Stosowanej w 1995

roku, która wspomaga tworzenie sterowników dla systemów wielorobrotowych. System

MRROC++ został wykorzystany między innymi do konstrukcji układów sterujących

dla szeregu robotów prototypowych. Programową strukturę ramową aplikacji tworzą:

• biblioteka modułów, z których są budowane programy sterujące robotami,

• szablony programów, w które wstawione są wywołania modułów bibliotecznych,

• narzędzia do tworzenia nowych modułów – wzorce modułów i metody ich two-

rzenia.

Bibliotekę aplikacji można rozszerzać poprzez dodawanie nowych funkcji, bądź mo-

dyfikowanie już istniejących modułów. Biblioteki realizowane są w powszechnie znanych

językach programowania C/C++ Pascal lub Java. Sterowniki dla robotów tworzone są

w języku C++. Sterownik to zbiór procesów o dokładnie zdefiniowanych zadaniach. Je-

żeli zmianie ulegnie chociaż część zadania, należy napisać nowy sterownik. Tworzenie

nowych sterowników w aplikacji MRROC++ jest bardzo wygodne, ponieważ program

ma strukturę wielowarstwową. Rysunek 7 przedstawia schemat sterownika wytworzo-

nego w aplikacji MRROC++.

Tworząc nowy sterownik nie musimy pisać wszystkiego od początku, lecz dokonu-

jemy zmian jedynie w części zależnej od zadania. Aplikacja ma już gotowy interfejs

użytkownika oraz komponenty odpowiedzialne za oprogramowanie części zależnej od

sprzętu.

Aplikacja MRROC++ posiada cechy systemu rzeczywistego, które niezbędne są

do prawidłowego wytwarzania sterowników sterujących robotami. Programując roboty,

ważne jest aby czas reakcji na generowane zdarzenia był możliwie najkrótszy. W po-

przednich wersjach programu wytwarzane sterowniki działały pod kontrolą systemu

czasu rzeczywistego QNX. Obecnie tworzone są one w środowisku Linux z jądrem

w wersji RT. Jądro RT różni się od standardowego jądra sposobem szeregowania proce-

sów. W tej wersji procesy są szeregowane w czasie rzeczywistym, dzięki czemu informa-

cje między komputerem a manipulatorem IRp–6 są przekazywane możliwe najszybciej

i z jak największym priorytetem. W przypadku działania na wersji jądra, gdzie pro-

cesy szeregowane są w sposób standardowy, możliwa jest utrata pewnych informacji

o sterowaniu. Wynikiem wywłaszczenia procesu odpowiedzialnego za wymianę infor-

macji przez inny proces systemu, sterowanie manipulatora może ulec przeregulowaniu

co awaryjnie zakończy wykonywanie zadania.

16

Page 18: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Operator

UserInterfaceProcessUI

MasterProcessMP

EffectorControlProcessECPj,

j = 1,, n e

EffectorDriverProcessEDPj,

j = 1,, n e

VirtualSensorProcessVSPj,

j = 1,, n e

Effectorj, j = 1,, n e

Siłowniki Narzędzie Wyjścia

Czujnikirzeczywistell=1,, n e

SystemResposneProcessSRP Interfejs

użytkownika(stały)

Częśćzależnaod zadania

Częśćzależnaod sprzętu

Rysunek 7: Warstwy sterownika w MRROC++

Do napisania nowego zadania w aplikacji, należy jedynie modyfikować część zależną

od zadania, czyli bloki MP i ECP. Modyfikacja polega na dodaniu własnego zadania

do puli zadań, jakie już posiada aplikacja.

Blok ECP odpowiada za działanie pojedynczych robotów. W skład ECP wcho-

dzą generatory, tworzące poszczególne elementy zadań aplikacji. Blok MP odpowiada

natomiast za komunikację między procesami ECP. Procesy MP dają możliwość pro-

gramowania systemów wielorobotowych.

17

Page 19: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Zadania w aplikacji MRROC++ odpowiedzialne są za wykonywanie algorytmu za-

danego przez operatora. Patrząc na schemat 7 widać, że na część zależną od zadania

składają się procesy MP i ECP. Procesy MP pełnią rolę zarządcy, sterują przebiegiem

wykonywanego zadania i odpowiedzialne są za przesyłanie rozkazów zarówno do ro-

bota jak i do użytkownika. Komunikują się z ECP lub bezpośrednio z częścią zależną

od sprzętu. Głównym budulcem ECP są generatory, o których szerzej napisane jest

w rozdziale 4.3.

Tworzenie sterowników dla robotów i testowanie ich bezpośrednio na fizycznym

urządzeniu może sprawiać wiele trudności. Niepoprawnie napisany kod może uszkodzić

sprzęt, który jest programowany. Zalecane jest dlatego testowanie działania zaprogra-

mowanego sterownika za pomocą symulacji komputerowej. Środowisko do symulacji

i wizualizacji działania robotów zostało napisane przez inż. Mariusza Żbikowskiego [2].

Program ten łączy się z aplikacją MRROC++ umożliwiając ręczne sterowanie wirtual-

nym robotem z konsoli sterowniczej programu, bądź wykonywanie konkretnego zapro-

gramowanego zadania. Programowanie przy użyciu symulacji komputerowej nazywane

jest programowaniem offline.

Manipulatory wykonując swoje zadania poruszają się po pewnych zdefiniowanych

trajektoriach. Aplikacja MRROC++ umożliwia m. in. trzy rodzaje zadawania trajek-

torii ruchu robotom: sterowanie robotem za pomocą konsoli, zapisywanie trajektorii

podczas ręcznego poruszania podatnym robotem oraz zadawanie trajektorii z pliku.

Program MRROC++ umożliwia sterowanie robotem w czasie rzeczywistym za po-

mocą konsoli sterowniczej. Zadawanie ruchu możne odbywać się w wybranym ukła-

dzie współrzędnych: JOINT lub XYZ ANGLE AXIS. W układzie JOINT sterujemy

robotem na podstawie informacji o obrotach przekładni konkretnych członów ro-

bota. Metoda JOINT jest bardzo mało intuicyjna i sprawa dużo trudności, lecz

w tym układzie możemy zadać dowolną pozycję z przestrzeni manipulacyjnej robota.

W XYZ ANGLE AXIS zadajemy punkty w przestrzeni x,y,z jakie ma osiągnąć koń-

cówka manipulatora.

Drugim sposobem zadawania trajektorii manipulatorowi jest zapisanie jej podczas

ręcznego poruszania podatnym robotem. Ręczne poruszanie robotem sprawia trudno-

ści, przez co metoda jest mało dokładna. Przydatną opcja w planowaniu trajektorii

manipulatora jest możliwość zczytywania obecnej pozycji robota. Informacja może być

zczytana w obu układach współrzędnych JOINT i XYZ ANGLE AXIS

Ostatnią metodą jest wprowadzanie trajektorii manipulatorowi z pliku. Poniżej

znajduje się przykładowy plik z zadaną trajektorią:

1 JOINT

2 2

3 ABSOLUTE

4

5 0.05 0.05 0.05 0.05 0.05 0.05

6 0.02 0.02 0.02 0.02 0.02 0.02

18

Page 20: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

7 -0.104 -1.542 0.020 1.134 3.658 -2.738

8

9 0.05 0.05 0.05 0.05 0.05 0.05

10 0.02 0.02 0.02 0.02 0.02 0.02

11 -0.104 -1.542 0.020 1.4104 3.358 -2.538

Opis kodu:

• 1 - definicja układu współrzędnych JOINT lub XYZ ANGLE AXIS,

• 2 - ilość kroków trajektorii jaką ma wykonać manipulator,

• 3 - sposób interpolacji punktów, czyli czy są one definiowane względem układu

bazowego (ABSOLUTE) czy względem poprzedniej pozycji robota (RELATIVE),

• 5-7, 9-11 - dwa zdefiniowane kroki trajektorii manipulatora.

– 5 - sześć maksymalnych przyspieszeń dla poszczególnych kierunków ruchu

dla dojazdu do zadanej dalej pozycji

– 6 - sześć maksymalnych przyspieszeń dla poszczególnych kierunków ruchu

dla dojazdu do zadanej dalej pozycji

– 7 - pozycja końcówki

3.2 Środowisko Matlab

Matlab [6] jest interakcyjnym środowiskiem do wykonywania naukowych i inżynier-

skich obliczeń. Nazwa Matlab pochodzi od słów Matrix Laboratory.

Matlab jest pełnoprawnym językiem programowania wysokiego poziomu, o składni

wzorowanej na języku C. Obecnie [3] posiada około 80 funkcjonalnych bibliotek i około

30 podprogramów zwanych toolboxami.

Podstawowym typem danych w Matlabie jest macierz o elementach rzeczywistych

lub zespolonych. Wszystkie zmienne w programie traktowane są jak macierze a wektory

i skalary są szczególnymi przypadkami macierzy. Deklarowanie typu i wymiaru zmien-

nej odbywa się automatycznie na podstawie podanych danych do macierzy. Tablice

w Matlabie indeksowane są od jedynki w przeciwieństwie do większości wysokopozio-

mowych języków programowania, gdzie wszystkie zmienne tablicowe numerowane są

od zera.

Komendy do wykonania dla programu można wprowadzać z konsoli programu, bądź

stworzyć i wykonać swój skrypt. Matlab umożliwia pisanie własnych funkcji oraz po-

zwala na używanie struktur. Pozwala również na pisanie programów zorientowanych

obiektowo. Za pomocą programu można rysować dwu i trójwymiarowe wykresy funkcji

oraz wizualizować wyniki obliczeń w postaci rysunków statycznych i animacji.

Funkcje Matlaba [3] mogą być wykorzystywane przy opracowywaniu wyników da-

nych eksperymentalnych. Umożliwia wizualizację danych, udostępnia funkcje staty-

styczne oraz posiada wbudowane funkcje aproksymujące.

W projekcie, do odszumiania danych, wykorzystano między innymi funkcję poly-

fit, która aproksymuje podaną funkcję wielomianem o zadanym stopniu. Na wejście

19

Page 21: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

przyjmuje trzy parametry, x, y - serie danych oraz wcześniej już wspomniany stopień

wielomianu. Funkcja siły od czasu, z której wyznaczany jest współczynnik tłumienia,

jest funkcją liniową, dlatego aproksymowana była wielomianem rzędu pierwszego.

Filtrowanie danych również oparte zostało na wbudowanych funkcjach matlabo-

wych. Skorzystano z szybkiej transformaty Fouriera (fft) oraz z odwrotności tej opera-

cji czyli odwrotnej transformaty Fouriera (ifft). Funkcje te przekształcają odpowiednio

podane na wejście dane. Użyto także funkcji butter filtrująca dane za pomocą filtru

Butterwotha. Filtr ten, oprócz danych do przekształcenia, wymaga podania dwóch

parametrów: rzędu wielkości filtru oraz częstotliwości granicznej.

Funkcje statystyczne jakie wykorzystano to min i max do liczenia minimum i mak-

simum lokalnego w celu wyznaczenia przedziału działania siły tłumienia.

Opis funkcji stworzonych i użytych w projekcie znajduje się w rozdziale 6

20

Page 22: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

4 Opis stanowiska badawczego

4.1 Założenia

Stanowisko badawcze do zbierania charakterystyki tłumienia manipulatora, oprócz

samego manipulatora IRp–6, składa się także z urządzenia zadającego tłumienie. Re-

alizacja budowy urządzania zmieniała się wraz z rozwojem pracy. Na początku należało

zastanowić się nad elementem urządzenia, za pomocą którego można by zadawać i kon-

trolować tłumienie. Ważna była także możliwość zadawania różnego tłumienia dla róż-

nej prędkości manipulatora. Urządzenie zadające tłumienie musiało mieć co najmniej

jeden tłok, na który mógłby, bezpośrednio lub pośrednio, oddziaływać manipulator.

Z powyższych pierwotnych założeń powstało kilka wersji urządzenia, które opisane zo-

stały poniżej.

4.2 Proces tworzenia urządzenia zadającego tłumienie

a aa ab

Rysunek 8: Schemat urządzenia zadającego tłumienie w wersji 1.0; a) tłoki; b) zawórkulowy.

Pierwsza wersja modelu została przedstawiona na rysunku 8. Prototyp urządze-

nia zbudowany został z dwóch rurek PCV połączonych ręcznym zaworem kulowym

(rysunek 8 b) o średnicy przepływu 1”. Na końcach rur PCV zamieszczono tłoki (rysu-

nek 8 a) wykonane ze strzykawek. Zawór kulowy jest najprostszym zaworem obrotowym

w całości zbudowanym z metalu. Elementem kontrolującym przepływ jest chromowa

kula lub jej fragment, zbędne jest więc jakiekolwiek dodatkowe stosowanie uszczelek

wewnątrz zaworu. Uszczelki maja tendencje do odkształcania się i dla małych kątów

otworzenia zaworu mogłoby zakłócać wyniki pomiarów. Na rysunku 9 przedstawiony

został przekrój zaworu kulowego.

Zbudowane urządzenie było testowane i wypełniane różnymi ośrodkami: olejem,

wodą oraz wodą z detergentem. Głównym problemem było zbyt duże tarcie statyczne

tłoka. Najmniejsze tarcie dało się zauważyć, gdy siłownik wypełniony był wodą z de-

tergentem, czysta woda, jak i olej, miały zbyt duży współczynnik lepkości.

Głównym problemem urządzenia było jego odpowietrzenie. Podczas pracy urządze-

nia, zarówno z wody jak i z oleju wytrącało się powietrze, które zakłócało jego pracę.

21

Page 23: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Rysunek 9: Przekrój zaworu kulowego.

Poprzez zamontowanie dwóch tłoków bardzo łatwo można było uzyskać efekt rozpręża-

nia powietrza. Do prawidłowego zbadania tłumienia należało wyeliminować całkowicie

powietrze z układu poprzez odpowiednie zalanie urządzenia wodą z detergentem oraz

odpowietrzanie go w trakcie pracy. W wersji następnej urządzenia dodatkowo został

zamontowany odpowietrznik. Schemat wersji następnej znajduje się na rysunku 10.

a aa ab c

Rysunek 10: Schemat urządzenia zadającego tłumienie w wersji 1.1; a) tłoki; b) odpo-wietrznik ciągły c) zawór kulowy.

Rysunek 11: Urządzenie zadające tłumienie w wersji 1.1.

Zanotowanie odpowietrznika niestety nie przyniosło zamierzonego efektu. Nadal

zbyt dużo powietrza znajdowało się wewnątrz układu co uniemożliwiało przeprowadze-

nie badań. Rysunek 11 przedstawia zdjęcie urządzenia do zadawania tłumienia w wer-

sji 1.1. Kolejne urządzenie zostało zmontowane na bazie jednostronnego tłoczyskowego

siłownika pneumatycznego firmy Festo. Schemat konstrukcji przedstawiony został na

rysunku 12. Z dwóch stron do siłownika (rysunek 12 a) były doprowadzone rurki o śred-

nicy 8mm. Rurki po środku połączone były z zaworem kulowym (rysunek 12 b), który

22

Page 24: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

miał za zadanie regulować przepływ. Konstrukcja wypełniona została olejem przekła-

dniowym o bardzo małej lepkości.

aa

b

Rysunek 12: Schemat Urządzenia zadającego tłumienie w wersji 2.0; a) siłownik pneu-matyczny; b) zawór kulowy regulujący przepływ.

Ostatnie ulepszenie wprowadzone do konstrukcji to dodatkowy zawór kulowy uła-

twiający wprowadzanie oleju przekładniowego oraz odpowietrzanie urządzenia. Sche-

mat ostatecznej wersji przestawiony został na rysunku 13.

aa

bc

Rysunek 13: Schemat urządzenia zadającego tłumienie w wersji 2.1; a) siłownik pneu-matyczny; b) zawór kulowy regulujący przepływ; c) zawór kulowy pomocniczy.

4.3 Realizacja fizyczna

Stanowisko do badań składa się z dwóch zasadniczych elementów: manipulatora

IRp–6 oraz urządzenia zadającego tłumienie. W celu uzyskania jak najmniejszego tar-

cia statycznego tłoka urządzenie wypełnione zostało olejem przekładniowym. Tarcie

statyczne zmniejszono także stosując dźwignie przekładniową. Manipulator nie działa

bezpośrednio na tłok urządzenia, ale na dźwignię. W Dźwigni przekładniowej umiesz-

czono trzy uchwyty, dzięki którym można zadawać trzy różne przyłożenia. Zakres ru-

chu tłoka jest zmienny, w zależności od ustawionego przyłożenia na dźwigni. Schemat

stanowiska badawczego przedstawiono na rysunku 14. Oznaczenia Q1 − Q4 wskazują

elementy ruchome układu. Ruch tłoka wewnątrz siłownika (oznaczony jako Q3) jest

ruchem translacyjnym działającym w jednej osi. Elementy Q1, Q2, Q4 działają rota-

cyjnie umożliwiając działanie przekładni. Siłownik (rysunek 14 a) przymocowany jest

do podłoża i przekładni za pomocą dwóch zawiasów obrotowych. Dźwignia opiera się

na jednym zawiasie przymocowanym do podłoża. Trójkąty na schemacie odwzorowują

23

Page 25: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

trzy możliwe miejsca przymocowania siłownika do dźwigni przekładniowej. Siłownik

można umieścić w położeniu dolnym, środkowym i górnym.

aa

Q1

Q3Q2

Q4

bc

Rysunek 14: Schemat urządzenia zadającego tłumienie z dźwignią przekładniową; a) si-łownik pneumatyczny; b) dźwignia; c) regulacja przyłożenia.

Na rysunku 15 przedstawiono stanowisko do badania charakterystyki manipulatora.

Zdjęcie po lewej stronie prezentuje widok na stanowisko od przodu. Widoczna jest tu-

taj ostateczna wersja urządzenia zadającego tłumienie oraz manipulator IRp–6. Ma-

nipulator oddziałuje na urządzenie popychając chwytakiem dźwignię przekładniową.

Urządzenie zamocowano do żeliwnego stelażu za pomocą opasek do kabli. Sam stelaż,

by był nieruchomy w osi ruchu manipulatora, został przymocowany do taśmociągu

roboczego.

Zdjęcie po prawej natomiast przedstawia siłownik wraz z systemem regulacji tłu-

mienia. Wyjścia siłownika połączone są ze sobą rurkami pneumatycznymi. Pomiędzy

jednym wyjściem a drugim zamocowane są dwa zawory. Zawór (g) służy do zalewania

siłownika olejem przekładniowym oraz do odpowietrzania układu. Do drugiego zaworu

(e) zamontowano podziałkę kątową oraz dźwignię regulującą przepływ oleju. Dźwignia

umożliwia z dużą dokładnością ustawienie kąta zamknięcia zaworu.

Całe stanowisko, jak już wcześniej wspomniano, składa się z dwóch elementów:

manipulatora IRp–6 i z urządzenia zadającego tłumienie. Robot przykłada siłę do

wajchy urządzania próbując ją przesunąć. W zależności od kąta zamknięcia zaworu

oraz ustawienia siłownika, musi przyłożyć większa lub mniejszą siłę. Na rysunku 16

przedstawiono schemat całego stanowiska do badania charakterystyki tłumienia siły

manipulatora IRp–6.

4.4 Uwagi dotyczące eksploatacji

Prawidłowe działanie stanowiska do badania tłumienia manipulatora zależne jest

od kilku czynników. Manipulator, zanim wejdzie w kontakt z urządzeniem, musi być

ustawiony w odpowiedniej pozycji. Za ustawienie manipulatora odpowiada generator

24

Page 26: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

b

c

a

d

e

f

g

Rysunek 15: Stanowisko do badania charakterystyki manipulatora: a) Manipula-tor IRp–6; b) Dźwignia urządzenia tłumiącego; c) Urządzenie tłumiące d) Siłownikpneumatyczny wypełniony olejem; e) Dźwignia do ustawiania kąta zamknięcia zaworu;f) Miarka kątowa; g) Zawór odpowietrzający.

b

a

F

Rysunek 16: Stanowisko do badania charakterystyki tłumienia siły manipulatoraIRp–6: a) manipulator IRp–6; b) urządzenie zadające tłumienie.

aplikacji MRROC++. Początkowa trajektoria robota jest stała i służy do dojazdu ma-

nipulatora do pozycji startowej. Dopiero od zadanej pozycji, manipulator porusza się

w kierunku urządzenia i z zadaną przez operatora prędkością popycha dźwignię prze-

kładniową urządzenia. Ruch manipulatora w kierunku urządzenia odbywa się w jednej

osi. W przypadku niekontrolowanego zachowania manipulatora należy niezwłocznie

wyłączyć go awaryjnym przyciskiem STOP.

Przed rozpoczęciem pomiaru dźwignia przekładniowa urządzenia powinna być w po-

zycji pionowej. Po wykonaniu jednego pomiaru, będzie ona przechylona przez manipu-

lator. W celu powtórzenia doświadczenia, należy ręcznie przestawić dźwignię do pozycji

25

Page 27: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

pionowej. Dla różnego zamocowania siłownika do dźwigni, pozycja startowa wajchy bę-

dzie się różnić. Aby zapewnić powtarzalność pomiarów, na taśmociągu zostały dodane

znaczniki startowe dla wajchy.

W układzie, po kilkunastu pomiarach, luzują się połączenia rurek pneumatycznych

ze złączkami. Rurki tego typu nie są przeznaczone do pracy z cieczami, w dodatku tak

śliskimi jak olej przekładniowy. Do prawidłowego działania układu należy poprawiać

mocowania rurek.

Innym problemem, jaki występuje podczas użytkowania urządzenia, jest powietrze

pojawiające się w układzie. Podczas eksploatacji zdarzają się małe wycieki oleju. Wy-

nika to, jak już wcześniej wspomniano, z wyślizgujących się rurek pneumatycznych.

Podczas pracy siłownik zasysa więc małe porcje powietrza. Po kilkunastu pomiarach

należy uzupełnić braki olejowe w układzie oraz ponownie go odpowietrzyć.

Odpowietrzanie układu ułatwia dodatkowy zawór. Sam proces dolewania oleju po-

lega na otwarciu zaworu pomocniczego, wlaniu oleju powyżej części obrotowej zaworu

oraz jego zamknięciu. Komin, do którego wlewa się olej musi znajdować się w naj-

wyższym punkcie urządzenia. Po zamknięciu zaworu odpowietrzamy układ, poruszając

tłokiem siłownika. Po kilku ruchach, ostrożnie otwieramy zawór pomocniczy. Czynność

powtarzamy do momentu, gdy po otwarciu zaworu poziom oleju nadal będzie utrzy-

mywał się powyżej części obrotowej zaworu. Bez dodatkowego zaworu odpowietrzanie

jest bardzo uciążliwe. Należy bardzo uważać na to, by olej nie wylewał się z układu

podczas ruchu tłoka.

Kąt zamknięcia zaworu głównego ustawia się za pomocą dźwigni znajdującej się

przy podziałce kątowej. Na zaworze można ustawić kąty zamknięcia od 0° (zawór

otwarty) do 90° (zawór zamknięty) z dokładnością do 1°. Z doświadczeń przeprowa-

dzonych na urządzeniu, siłownik zadaje zauważalne tłumienie przy kącie zamknięcia

powyżej 40°.

26

Page 28: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

5 Programowanie manipulatora IRp–6

W rozdziale 3.1 przybliżono budowę sterownika w MRROC++. Projekt składał

się z generatora ECP i zadania MP. W następnych podrozdziałach opisano dokładniej

stworzone zadanie i generator.

5.1 Zadanie

W tym podrozdziale opisane zostało zadanie realizowane przez manipulator IRp–6.

Pojedyncze zadanie dla robota składa się z plików źródłowych zadania, oraz z dwóch

plików konfiguracji robota. W aplikacji domyślnie zdefiniowany jest plik common.ini,

który zawiera standardowe zestawy parametrów. Dodatkowy plik konfiguracyjny two-

rzony jest pod wyspecjalizowane zadanie manipulatora.

Plik podzielony jest na sekcje: mp, ecp i edp. Każda sekcja posiada podstawowe

parametry:

• is active - flaga opowiadająca za aktywowanie danej sekcji,

• node name - nazwa węzła, na którym ma być uruchomiona dana sekcja.

• program name - nazwa programu binarnego skojarzonego z sekcją.

Plik konfiguracyjny wykorzystany w projekcie:

1 [mp]

2 is_active =1

3 program_name=mp_mkula

4 node_name=irp6

5 trajectory_file =../../ src/application/mkula/test_p.trj

6

7 [ecp_irp6ot_m]

8 is_active =0

9 program_name=ecp_mkula

10 max_force = 40

11 max_torque = 10

12 node_name=irp6

13

14 [edp_irp6ot_m]

15 is_active =0

16 robot_test_mode =0

17 force_sensor_test_mode =0

18 imu_sensor_test_mode =0

19 node_name=irp6

20 preset_position_0 =0.3 0.229 -1.602 0.153 1.255 0.235 -1.223

21 computed_force_2 =1

22 desired_force_2 =1

23 adjusted_force_2 = 1

24 inertial_force_2 = 1

25 real_cartesian_position_0 =1

27

Page 29: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

26 real_cartesian_vel_0 =1

27 real_cartesian_acc_0 =1

28 imu_cartesian_acc_0 =1

29

30 [ui]

31 is_active =1

32 reader_meassures_dir =/home/mkula/test

Opis kodu:

• 1-5 - sekcja mp. W linii nr 5 zdefiniowano ścieżkę, w której znajduje się trajektoria

manipulatora.

• 7-12 - sekcja ecp. W liniach nr 10 i 11 zdefiniowano odpowiednie maksymalną

siłę i moment siły dla manipulatora.

• 14-28 - sekcja edp. Preset position 0 definiuje wyjściową pozycję manipulatora.

Linie 21-28 odpowiadają za zczytywanie danych siły z czujnika manipulatora.

• 30-32 - sekcja ui. W lini 32 zdefiniowano ścieżkę, w której zapisywane są odczyty

z czujnika siły manipulatora.

5.2 Generator

Jak już wcześniej wspomniano, generatory są głównym budulcem zdań ECP. W tej

części definiowane są poszczególne części algorytmu, jaki ma wykonać robot. Genera-

tory powoływane są do działania w procesach MP.

W projekcie wykorzystywano gotowy generator stworzony przez Rafała Tulwina [7].

Generator constant velocity generuje ruch robota ze stałą prędkością dla zadanej tra-

jektorii podanej z pliku. W pracy rozszerzono funkcjonalność tego generatora. Korzy-

stając z dziedziczenia po klasie constant velocity, zadawana jest trajektoria manipulato-

rowi. IRp–6 wykonuje ruch zgodnie z zadaną trajektorią ze stałą prędkością, zadawaną

w pliku konfiguracyjnym. Dodatkowo jednak istnieje możliwość ograniczenia maksy-

malnej siły oraz momentu siły. Oba parametry ograniczające inicjowane są w pliku

konfiguracyjnym. Na rysunku 17 przedstawiono schemat działania generatora.

Patrząc na schemat widzimy, że gdy siła manipulatora lub moment siły przekro-

czy wartości graniczne ustawione w pliku konfiguracyjnym, manipulator zatrzymuje

się w miejscu. Zatrzymanie polegające na wygaszeniu prędkości aż do zatrzymania, lub

dostosowanie prędkości do ograniczenia siły zakłóciłoby pomiary współczynnika tłu-

mienia. Założeniem projektu jest by manipulator oddziaływał na urządzenie ze stałą

prędkością przy konkretnym, nie zmienianym w czasie ruchu, ustawieniu zaworu i si-

łownika. Wykres 18 przedstawia zależność prędkości manipulatora od siły zadawanej

przez robota.

28

Page 30: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Rysunek 17: Schemat działania manipulatora

5.3 Opis Klas

Na schemacie 19 przedstawiono diagram klas stworzonych komponentów. Klasa

ecp t mkula odpowiada za stworzenie sprecyzowanego zadania MP, natomiast

29

Page 31: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

0 5 10 15 20 25 30 35CZAS [s]

0

5

10

15

20

25

SIŁA

[N]

Wykres siły od czasuOgraniczenie siły

Rysunek 18: Wykres przedstawiający działanie generatora limit force przy stałej pręd-kości manipulatora

mp t mkula steruje całym zadaniem i definiuje roboty, przy użyciu których zostanie

wykonane zadanie. Obie klasy, jak widać na diagramie, dziedziczą z klasy głównej

Task.

Rysunek 19: Diagram klas

30

Page 32: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Klasa ecp g limit force tworzy generator odpowiedzialny za poruszanie się manipu-

latora ze stałą prędkością z ograniczeniem na siłę i moment siły. Przeciąża on metodę

next step() z klasy bazowej generator, w której definiuje się kolejne kroki algorytmu.

Dokładny opis zmiennych i metod klasy:

• max max force p, max force ot, max torque p, max torque ot - zmienne pomoc-

nicze, do których zczytywane są wartości graniczne siły i momentu siły zdefinio-

wane przez użytkownika w pliku konfiguracyjnym.

• force torque - sześcioelementowy wektor, do którego zczytywane są składowe siły

i momentu siły.

• force, torque - siła i moment siły wyliczony ze składowych zczytanych z czujników

manipulatora.

• next step() - przeciążona metoda klasy Task, w której określono działanie gene-

ratora w każdym kolejnym kroku algorytmu wykonywanego przez manipulator

Klasa ecp st mkula gen jest generatorem po stronie zadania MP. Definiuje głównie

traektorię, po której będzie poruszał se robot, oraz roboty które będą wykorzystywane

w zadaniu.

Opis zmiennych i metod:

• lfgenjoint, lfgenmotor, lfgeneuler, lfgenangle - definiują wskaźniki odpowiedzialne

za wyliczanie trajektorii dla stałej prędkości dla różnych układów współrzędnych.

• track, postument - zmienne określające, które roboty będą brały udział w zada-

niu.

• network path - zmienna tekstowa ze ścieżką do pliku z trajektorią

• conditional execution() - funkcja wczytująca trajektorię z pliku i przeliczająca

kolejne kroki dla manipulatora.

31

Page 33: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

6 Specyfikacja funkcji środowiska Matlab

W tym dziale opisane zostały funkcje i skrypty stworzone w środowisku Matlab.

Poniżej znajduje się opis funkcji wykorzystanych przy filtrowaniu zaszuminonych

danych oraz tworzenia wykresów.

fourier.m

Funkcja filtrująca dane wejściowe za pomocą szybkiej transformaty Fouriera.

Funkcja realizująca transformatę Fouriera znajduje się w podstawowych bibliotekach

programu i wywoływana jest komendą fft. W funkcji fourier danymi wejściowymi są

dane do przefiltrowania oraz częstotliwość graniczna, powyżej której reszta często-

tliwości jest wygaszana. Funkcja zwraca tablice dwuelementową. Pierwsza zwracana

wartość to dane po odcięciu częstotliwości, natomiast drugi element to również dane

po odcięciu zbędnych częstotliwości, ale poddane dodatkowo już operacji odwrotnej

transformaty Fouriera za pomocą wbudowanej funkcji ifft.

mean data.m

Funkcja usuwająca szumy za pomocą metody uśredniania danych. Na wejście

podawane są dane do filtrowania oraz rozmiar okna z jakim będą one uśredniane.

Funkcja zwraca uśrednione dane.

filter butter.m

Metoda filtrująca dane z użyciem filtru Butterwotha. Na wejściu funkcji podane

są dane do filtracji oraz dwa parametry filtru: a – częstotliwość graniczna oraz b –

rząd filtru. Po zastosowaniu wbudowanej funkcji Butter dane poddawane są filtracji

za pomocą funkcji filter. Funkcja zwraca dane po przefiltrowaniu.

find zero.m

Funkcja licząca zera z pochodnej danych przefiltrowanych za pomocą transformaty

Fouriera. W rozdziale 7.2 jest opisane dokładnie jakie miejsca zerowe są szukane.

Metoda przyjmuje na wejście wektor danych, pozycję, od której poszukiwane ma być

miejsce zerowe oraz kierunek, w którym poszukiwane będzie miejsce zerowe.

getAllFiles.m

Metoda wczytująca nazwy wszystkich plików znajdujących się w danym katalogu.

Wczytywanie nazw plików jest o tyle istotne, że w nazwie zawarta jest informacja

o pomiarze czyli kąt otworu zaworu, położenie siłownika, prędkość manipulatora oraz

numer pomiaru.

32

Page 34: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

parseFileName.m

Funkcja pomagająca w zapisywaniu danych. Przyjmuje na wejście nazwę obecnie

przetwarzanych danych, parametry dotyczące filtrowania danych, nazwę parametrów

oraz string umożliwiający dodanie komentarza do zapisywanych danych. Zwraca

nazwę pliku gotową do zapisu.

MSE.m

Funkcja licząca błąd średniokwadratowy (10). Na wejście funkcji podawane są dane

wyjściowe oraz dane po zastosowaniu filtrowania, a zwracana jest wartość błędu MSE.

PSNR.m

Funkcja licząca szczytowy stosunek sygnału do szumu (9). Przyjmuje na wejście

jedynie wartość błędu średniokwadratowego i zwraca policzony współczynnik PSNR.

draw fourier.m, draw mean data.m, draw butter.m

Funkcje draw służą do rysowania wykresów danych. W każdym pliku używane są

odpowiednio metody filtrowania danych oraz liczone są współczynniki MSE i PSNR.

Każda metoda przyjmuje parametry: dane wyjściowe do obróbki, podstawę czasu oraz

nazwę obecnie przetwarzanych danych. W zależności od metody podawane są różne

dodatkowe parametry. W uśrednianiu parametrem jest wielkość okna, w transformacie

Fouriera częstotliwość maksymalna, a w filtrze Butterwotha rząd filtru i częstotliwość

graniczna. W funkcji draw fourier dodatkowo aproksymowana jest funkcja siły gdzie

występuj tłumienie.

do all.m

Funkcja wywołująca metody draw dla wszystkich plików z danymi. Nie przyjmuje

żadnych paramentów i także nic nie zwraca. korzysta z funkcji getAllFiles.

33

Page 35: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

7 Wyniki

7.1 Wybór metody filtracji danych

Poniżej przedstawiono wyniki działania trzech metod filtracji danych. Wszystkie

testowane były na tych samych danych wejściowych, zdejmowanych przy ustawieniu

środkowym siłownika na dźwigni, prędkości manipulatora 0.0025m/s oraz kącie za-

mknięcia zaworu tłumiącego 60°. Dla porównania skuteczności pojedynczej metody,

zestawiono dane wyjściowe z danymi po filtracji dla różnych parametrów danego filtru.

Wszystkie wskaźniki PSNR filtrów przedstawiono na poszczególnych wykresach oraz

w tabeli 1.

Dla metody uśredniania dobrano trzy rozmiary okna 11, 32 oraz 51. Rysunek 20

przedstawia dane wyjściowe zestawione z danymi po uśrednieniu dla różnych rozmia-

rów okien. Patrząc na wykresy można zauważyć, że im większa szerokość okna tym

otrzymujemy mniej zniekształcone dane.

−5

0

5

10Dane wyjścioweDane uśrednione przy rozmiarze okna 11

−5

0

5

10

SIŁA

[N]

Dane wyjścioweDane uśrednione przy rozmiarze okna 31

0 2 4 6 8 10 12 14 16CZAS [s]

−5

0

5

10

PSNR=38.13

PSNR=36.81

PSNR=36.89

Dane wyjścioweDane uśrednione przy rozmiarze okna 51

Rysunek 20: Wykres danych wyjściowych zestawionych z danymi uśrednionymi różnymirozmiarami okna

Dane uśrednione oknem o rozmiarze 31 i 51 są wyraźnie mniej zaszumione po za-

stosowaniu metody, natomiast wykres pierwszy, gdzie okno jest rozmiaru 11, szumów

jest nadal zdecydowanie za dużo. Na wykresie 21 znajduje się powiększony fragment

wykresu 20.

34

Page 36: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0

−4

−2

0

2

4

6

8

10

Dane wyjścioweDane uśrednione przy rozmiarze okna 11 (powiększenie)

Rysunek 21: Powiekszony wycinek wykresu 20.

Wykres 22 przedstawia natomiast dane zestawione z danymi po zastosowaniu filtru

Butterwortha. Dane na tym wykresie były filtrowane filtrem o tym samym rzędzie rów-

nym 4 oraz trzema różnymi częstotliwościami granicznymi. Patrząc na wykres można

zauważyć, że filtr Butterwortha aproksymuje nasze dane z dużym opóźnieniem. Mniej-

sza częstotliwość graniczna wygładza bardziej szumy na wykresie, ale niestety również

wprowadza większe opóźnienie. Na wykresie 23 przedstawiono filtrowanie Butterwor-

tha ze stałą częstotliwością graniczną równą 0.009 i trzema różnymi rzędami filtru. Po

wykresach widać, że również rząd filtru ma wpływ na opóźnienie danych.

Podobnie jak w metodzie uśredniania danych, również przy metodzie filtrowania

Butterwotha policzono wskaźniki PNSR. Wszystkie policzone wskaźniki zostały za-

mieszczone pod wykresami. Wartości wskaźników są zdecydowanie mniejsze niż w przy-

padku metody uśredniania. Duże błędy w danych wprowadza opóźnienie filtru.

W metodzie filtrowania za pomocą transformaty Fouriera przeprowadzono testy na

trzech różnych filtrach dolnoprzepustowych: filtr do 1, 4 i 7Hz. Rysunek 38 przedstawia

zestawienie wykresów danych, z danymi po wycięciu różnych przedziałów częstotliwości.

Filtr nie wprowadza żadnych opóźnień. Dane po zastosowaniu filtrowania są wy-

gładzone, mają bardzo mało minimów i maksimów lokalnych. Wskaźniki PSNR mają

wartości porównywalne z uśrednianiem danych.

Wybór najlepszej metody polegał na porównaniu współczynników PSNR oraz na

wizualnej ocenie wyglądu przybliżonych danych. W tabeli 1 zebrano wszystkie współ-

czynniki PSNR dla wszystkich metod i ich wariantów.

35

Page 37: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

−5

0

5

10Dane wyjścioweDane przefiltrowane filtrem rzędu 4 i częstotliwością graniczną 0.09

−5

0

5

10

SIŁA

[N]

Dane wyjścioweDane przefiltrowane filtrem rzędu 4 i częstotliwością graniczną 0.009

0 2 4 6 8 10 12 14 16CZAS [s]

−5

0

5

10

PSNR=35.64

PSNR=34.03

PSNR=25.17

Dane wyjścioweDane przefiltrowane filtrem rzędu 4 i częstotliwością graniczną 0.001

Rysunek 22: Wykres danych wyjściowych zestawionych z danymi po zastosowaniu filtruButterwortha rzędu 4 i różnych częstotliwościach granicznych

−5

0

5

10Dane wyjścioweDane przefiltrowane filtrem rzędu 1 i częstotliwością graniczną 0.009

−5

0

5

10

SIŁA

[N]

Dane wyjścioweDane przefiltrowane filtrem rzędu 4 i częstotliwością graniczną 0.009

0 2 4 6 8 10 12 14 16CZAS [s]

−5

0

5

10

PSNR=36.25

PSNR=34.03

PSNR=32.18

Dane wyjścioweDane przefiltrowane filtrem rzędu 7 i częstotliwością graniczną 0.009

Rysunek 23: Wykres danych wyjściowych zestawionych z danymi po zastosowaniu filtruButterwortha z częstotliwością graniczną 0.009 i różnych rzędach

Najlepsze wskaźniki uzyskała metoda uśredniania danych. Największy współczyn-

nik uzyskało uśrednianie o rozmiarze okna 11. Jednak mimo dobry wyników, widać

36

Page 38: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

−5

0

5

10Dane wyjścioweDane przefiltrowane filtrem do 1Hz

−5

0

5

10

SIŁA

[N]

Dane wyjścioweDane przefiltrowane filtrem do 4Hz

0 2 4 6 8 10 12 14 16CZAS [s]

−5

0

5

10

PSNR=36.05

PSNR=36.79

PSNR=36.92

Dane wyjścioweDane przefiltrowane filtrem do 7Hz

Rysunek 24: Wykres danych przy prędkości manipulatora 0.0025m/s, ustawieniu dol-nym siłownika i kącie zamknięcia zaworu 60°

Tablica 1: Tablica współczynników PSNR dla metod z różnymi parametrami

Nr wykresu Uśrednianie Filtr Filtr TransformataButterwoth’a 1 Butterwoth’a 2 Fouriera

(od góry) (rys. 20) (rys. 22) (rys. 23) (rys. 38)

Wykres 1 38.13 35.64 36.25 36,05Wykres 2 36.81 34.03 34.03 36,79Wykres 3 36.89 25.17 32.18 36,92

że dalej mamy do czynienia z dość dużymi szumami. Na uśrednionych danych nadal

mamy sporo zakłóceń i dużo minimów i maksimów lokalnych.

Filtr Butterwortha dyskwalifikuje opóźnienie jakie wprowadza w przefiltrowanych

danych. Najgorsze rezultaty widać gdy częstotliwość graniczna wynosi 0.001. Opóźnie-

nie wtedy jest na tyle duże, że PSNR wynosi tylko 25.17. Wygładza bardzo dobrze

dane, nie widać praktycznie w ogóle szumów, lecz w tym projekcie wprowadzając na-

wet małe opóźnienia otrzymamy wyniki współczynników tłumienia zupełnie różne od

rzeczywistych.

Filtrowanie za pomocą transformaty Fouriera dobrze wygładza szumy i nie wprowa-

dza przy tym żadnych opóźnień. Wskaźniki PSNR są zbliżone wartościami do danych

uśrednionych.

37

Page 39: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

W dalszej części pracy wykorzystano filtrowanie za pomocą transformaty Fouriera.

Filtr ten, nie wprowadza żadnych niepożądanych opóźnień, ma mało minimów i maksi-

mów lokalnych przez co dalsze przetwarzanie danych nie będzie stwarzało problemów.

Po przeprowadzeniu jeszcze kilku testów na filtrze zmieniając zakres wyciętych często-

tliwości, do obliczeń współczynników tłumienia wykorzystano filtr do 4Hz.

7.2 Wyznaczanie współczynników tłumienia

Przeglądając wykresy wygenerowane na podstawie danych z czujnika siły można

zauważyć klika tendencji. Cały ruch manipulatora można podzielić na 4 fazy. Pierwsza

faza, to poruszanie się manipulatora w kierunku urządzenia zadającego tłumienie, bez

obciążenia. Siła w tym etapie powinna być równa zero. Czujnik nie jest dobrze skali-

browany, dlatego ręcznie należało skalibrować dane. Policzono średnią z pierwszej fazy

ruchu i odjęto ją od wszystkich danych według wzoru:

xk = xk −1n·w∑i=1

xi (15)

W dalszym etapie ruchu, gdy manipulator wchodzi w kontakt z dźwignią urządze-

nia, ma udział zjawisko sprężystości i tłumienia. Wyznaczenie współczynnika tłumienia

w tym etapie jest niemożliwe. W trzeciej części ruchu działa już samo tłumienie i z tego

fragmentu wyliczone zostały współczynniki. Siła z udziałem tłumienie w tym fragmen-

cie powinna być funkcją liniową stałą, dlatego też dane były najpierw aproksymowane

funkcją liniową, później natomiast w liczeniu współczynnika tłumienia liczono śred-

nią z otrzymanej funkcji liniowej. Końcowy etap ruchu manipulatora to wycofywanie

ramienia od dźwigni. Podobnie jak w początkowej fazie ruchu, po spadku siły z jaka ma-

nipulator pchał dźwignie, dalej powinna wynosić 0N . Proces wyznaczania przedziałów

tłumienia wizualizują wykresy na rysunku 25.

Trzymając się założeń poczynionych na podstawie obserwacji wykresów, wydzielono

z wykresu etap, gdzie działa tylko tłumienie. W momencie, gdy manipulator wchodzi

w kontakt z wajchą mamy do czynienia ze stanem nieustalonym. Nie wiadomo jaki

dokładnie udział ma siła sprężystości i tłumienia w tym etapie. Siła wtedy rośnie

nieliniowo, aż do momentu jej ustabilizowania się, gdzie działa już tylko tłumienie. Gdy

manipulator odpuszcza już dźwignię, siła spada do zera kończąc tym samym pomiar.

Przedział, gdzie mamy stan nieustalony, w którym pod koniec stabilizuje się działanie

siły, zaczyna się w pierwszej połowie wykresu, natomiast tłumienie kończy się w drugiej

jego części. Można zatem policzyć przedział za pomocą pochodnej, jej miejsc zerowych

oraz maksimów i minimów lokalnych.

Po policzeniu pochodnej z przefiltrowanych danych wyznaczono maksimum lokalne

w lewej części wykresu oraz minimum w prawej części. Maksimum i minimum wy-

znaczają przegięcia funkcji aproksymującej dane. Następnie policzono miejsce zerowe

pochodnej na prawo maksimum lokalnego. Miejsce to w przybliżeniu wyznacza, odkąd

38

Page 40: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

0 1000 2000 3000 4000 5000 6000 7000 8000−5

0

5

10 Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

0 1000 2000 3000 4000 5000 6000 7000 8000−50−40−30−20−10

010 Pochodna

MaksiumimMinimum

0 1000 2000 3000 4000 5000 6000 7000 8000−5

0

5

10Dane przefiltrowaneTłumienieMiejsca zerowePrzegięcia funkcji

Rysunek 25: Wykres przedstawiający metodę wyznaczania współczynników tłumienia

na siłę oddziałuje tylko tłumienie. Końcowy przedział działania tłumienia wyznaczono

także za pomocą najbliższego miejsca zerowego pochodnej, liczonego na lewo od mini-

mum lokalnego.

W wyniku niedokładności pomiaru nie można aproksymować funkcji, ani precy-

zyjnie wyliczyć współczynnika sprężystości K na odcinku początkowym wykresu. Na

rysunkach 26, 27, 28 przedstawiono dane z zaznaczonym przedziałem działania tłumie-

nia.

0 500 1000 1500 2000 2500 3000 3500

−4

−2

0

2

4

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 26: Wykres danych z zaznaczonym przedziałem działania tłumienia dla usta-wienia dolnego siłownika, prędkości manipulatora 0.05m/s i kącie zamknięcia zaworu45°

39

Page 41: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

0 500 1000 1500 2000

−4

−2

0

2

4

6Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 27: Wykres danych z zaznaczonym przedziałem działania tłumienia dla usta-wienia środkowego siłownika, prędkości manipulatora 0.01m/s i kącie zamknięcia za-woru 50°

0 500 1000 1500 2000 2500 3000 3500 4000

−4

−2

0

2

4

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 28: Wykres danych z zaznaczonym przedziałem działania tłumienia dla usta-wienia środkowego siłownika, prędkości manipulatora 0.005m/s i kącie zamknięcia za-woru 50°

Po wyznaczeniu przedziału działania siły tłumienia wyliczono współczynnik tłu-

mienia B (2). W projekcie dla każdego z trzech przyłożeń siłownika i różnych kątów

zamknięcia zaworu wykonano serię czterech pomiarów. W tabeli 2 znajdują się wyli-

czone średnie współczynniki tłumienia z czterech serii pomiarów. W założeniu (2) przy

dwukrotnym zwiększeniu prędkości manipulatora, dla tego samego ustawienia siłow-

nika i zaworu, siła z jaką robot popycha dźwignię powinna rosnąć dwukrotnie, a współ-

czynniki tłumienia powinny być takie same dla danego ustawienia siłownika. Więcej

wykresów przedsawiających działanie urządzenia zostało zawarte w załączniku 8

40

Page 42: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Tablica 2: Średnie współczynniki tłumienia dla czterech pomiarów

Prędkość [m/s]0.0025 0.005 0.01 0.02

środkowe przyłożenie, kąt 50° 745.7 493.6 410.6 434.1środkowe przyłożenie, kąt 60° 3803.2 3869.3 4727.5 —

dolne przyłożenie, kąt 45° 177.9 125.0 75.0 39.3dolne przyłożenie, kąt 50° 262.7 148.9 106.0 65.7dolne przyłożenie, kąt 60° 844.0 725.5 755.6 —

Na podstawie wyników tabeli 2 widzimy rozbieżności w wartościach współczyn-

ników tłumienia dla danego ustawienia siłownika. Przy prędkości 0.02m/s i dużym

zamknięciu zaworu siła przykładana do dźwigni przekraczała zakres pomiaru czujnika

siły. Przez przekroczenie zakresu, wyniki nie były miarodajne i nie zostały umieszczone

w tabeli. W miarę wzrostu prędkości manipulatora, współczynniki tłumienia wyraźnie

maleją. Siła jaką manipulator wywiera na dźwigni urządzenia, przy stałej prędkości ru-

chu ramienia, nie rośnie dwukrotnie jak zakładano. Patrząc na wykresy z zaznaczonym

przedziałem udziału tłumienia, widzimy, że siła maleje z czasem. Wynika to z modelu

kontaktu robota z dźwignią. Manipulator nie jest przyczepiony do dźwigni i w miarę po-

ruszania nią, zmienia się punkt przyłożenia chwytaka do dźwigni. Zakłócenia wynikać

też mogą z udziału tarcia statycznego, którego nie da się w pełni wyeliminować.

41

Page 43: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

8 Wnioski

Celem pracy była budowa stanowiska do badania charakterystyki tłumienia ma-

nipulatora IRp–6 i przeprowadzenie serii sprawdzających jego działanie. Nowatorskie

podejście do tematu, oraz brak wcześniej udokumentowanych doświadczeń o podobnej

tematyce stwarzało pewien problem.

Na podstawie wyników można stwierdzić, że model nie zachowuje się tak, jak prze-

widywały założenia projektu. Współczynniki tłumienia dla różnych prędkości i tego

samego ustawienia urządzenia tłumiącego różnią się dość znacznie od siebie i mają

tendencje malejącą wraz ze wzrostem prędkości manipulatora.

Manipulatory IRp–6 charakteryzują się dużą dokładnością dojeżdżania do zadanej

pozycji, ale małą powtarzalnością danej pozycji. Błędy, jakie generowane są podczas

poruszania manipulatorem, nie mają jednakże wpływu na otrzymane wyniki. W projek-

cie manipulator nie był wykorzystywany do zadania manipulacyjnego, ale do zadania

wysięgowego. Najważniejszym zadaniem manipulatora było utrzymywanie tej samej

prędkości podczas popychania dźwigni urządzenia i warunek ten został zapewniony

przez sterownik stworzony w aplikacji MRROC++.

Zakłócenia w wynikach generowane są przez urządzenie tłumiące. Tłumik, powstały

na potrzeby zadania, nie spełnia założeń projektowych i nie może stanowić bazy do

profesjonalnych pomiarów i badań prowadzonych w tematyce starowania siłowego ma-

nipulatora.

Projekt zadawania tłumienia siły manipulatorowi będzie kontynuowany. Korzysta-

jąc z doświadczeń tej pracy wiadomo już, że budowa mechanicznego urządzenia stwarza

duże problemy i zbudowany obiekt niekoniecznie zachowuje tak, jak przyjęto w zało-

żeniach. Pomysły stworzenia innych mechanicznych konstrukcji opartych przykładowo

na pompach hydraulicznych czy rowerkach treningowych magnetycznych zostały od-

rzucone z podobnych przyczyn.

Tłumik nie spełnia wymogów, aby wykorzystany był do dalszych badań, ale do-

świadczenie zebrane podczas tworzenia projektu wnosi dużo informacji przy budowie

nowego stanowiska do zadawania tłumienia. Jak już wcześniej wspomniano, budowanie

mechanicznego urządzenia sprawia wiele kłopotów, dlatego następne stanowisko będzie

składało się z dwóch gotowych elementów a dokładniej z dwóch manipulatorów IRp–6.

Jeden z nich, podobnie jak w tym projekcie, będzie ze stałą prędkością oddziaływał

na urządzenie tłumiące. Elementem tłumiącym w następnym projekcie zostanie drugi

manipulator IRp–6 w aktywnym trybie. Stworzony zostanie system dwurobotowy wza-

jemnie na siebie oddziaływający. Zaletą takiego rozwiązania jest przede wszystkim to,

że nie trzeba budować nowego urządzania. Gdy tłumikiem zostanie manipulator, bę-

dzie większy dostęp do danych, które można zczytywać z obu obiektów a nie tak jak

w przypadku obecnego projektu, tylko z manipulatora zadającego silę.

42

Page 44: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Literatura

[1] G. Bechciński. Konstrukcja i działanie oraz obsługa robota przemysłowego IRp–6

http://ioitbm.p.lodz.pl/Dydaktyka/Obrabiarki/R/R-4.pdf, Łódź, 2011.

[2] M. Żbikowski. Graficzne srodowisko symulacyjne systemu wielomanipulatorowego

(In Polish). Bachelor’s thesis, WEiTI, Warsaw, 2009.

[3] J. Brzózka, L. Dorobczyński. MATLAB: środowisko obliczeń naukowo-technicznych.

Wydawnictwo Naukowe PWN, 2008.

[4] PWN Encyklopedia Powszechna. Pwn, 1976.

[5] P. Horowitz, W. Hill, B.w Kalinowski, G. Kalinowska, M. Szeżyńska. Sztuka elek-

troniki. Wydawnictwa Komunikacji i Łączności, 1992.

[6] B. Mrozek, Z. Mrozek, J. Mościński. Matlab: uniwersalne środowisko do obliczeń

naukowo-technicznych. Wydaw. PLJ, 1996.

[7] R. Tulwin. IRp-6 manipulator trajectory optimization based on state feedback.

Praca magisterska, WEiTI, 2012.

[8] T. Winiarski. Specification and implementation of force control tasks for robot

manipulators. Praca doktorska, WUT, 2009.

[9] C. Zieliński, W. Szynkiewicz, T. Winiarski, T. Kornuta. MRROC++ based system

description. 2007.

43

Page 45: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Załączniki

W załączniku przedstawiono wykresy wynikowe zależności siły od czasu.

Wykresy dla tej samej prędkości manipulatora, tego samego

ustawienia siłownika i różnych kątów zamknięcia zaworu.

0 500 1000 1500 2000 2500 3000 3500

−4

−2

0

2

4 Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 29: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 0°

0 500 1000 1500 2000 2500 3000 3500 4000

−4

−2

0

2

4 Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 30: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 45°

44

Page 46: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

0 500 1000 1500 2000 2500 3000 3500

−4

−2

0

2

4 Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 31: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 50°

0 500 1000 1500 2000 2500 3000 3500

−4

−2

0

2

4

6

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 32: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 60°

45

Page 47: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Wykresy dla tej samej prędkości manipulatora, tego samego

kąta zamknięcia zaworu i różnych ustawień siłownika.

0 500 1000 1500 2000

−4

−2

0

2

4

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 33: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 50°

0 200 400 600 800 1000 1200 1400−5

0

5

10

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 34: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu środ-kowym siłownika i kącie zamknięcia zaworu 50°

46

Page 48: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

Wykresy dla tego samego ustawienia siłownika, tego samego

kąta zamknięcia zaworu i różnych prędkości manipulatora.

0 1000 2000 3000 4000 5000 6000 7000−5

−4

−3

−2

−1

0

1

2

3

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 35: Wykres danych przy prędkości manipulatora 0.0025m/s, ustawieniu dol-nym siłownika i kącie zamknięcia zaworu 50°

0 500 1000 1500 2000 2500 3000 3500

−4

−2

0

2

4 Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 36: Wykres danych przy prędkości manipulatora 0.005m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 50°

47

Page 49: Stanowisko do badania charakterystyki tłumienia manipulatora IRp–6.

0 500 1000 1500 2000−5

−4

−3

−2

−1

0

1

2

3

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 37: Wykres danych przy prędkości manipulatora 0.01m/s, ustawieniu dolnymsiłownika i kącie zamknięcia zaworu 50°

0 500 1000 1500 2000

−4

−2

0

2

4

Dane wyjścioweFiltrowanie Fourierado 4 HzTłumienie

Rysunek 38: Wykres danych przy prędkości manipulatora 0.02m/s, ustawieniu środ-kowym siłownika i kącie zamknięcia zaworu 50°

48