• Nie Znaleziono Wyników

Index of /rozprawy2/11072

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/11072"

Copied!
149
0
0

Pełen tekst

(1)Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. Wydział Elektrotechniki Automatyki Informatyki i Inżynierii Biomedycznej. Katedra Automatyki i Inżynierii Biomedycznej. Rozprawa doktorska Planowanie trajektorii dla wybranej klasy robotów mobilnych z punktu widzenia ich sterowalności. mgr inż. Maciej Garbacz. Promotor: dr hab. inż. Krzysztof Oprzędkiewicz, prof. n. AGH. Kraków 2016.

(2) Składam. serdeczne podziękowania. Promotorowi,. Panu. Profesorowi dr hab. inż. Krzysztofowi Oprzędkiewiczowi za poświęcony czas i okazaną pomoc podczas realizacji niniejszej pracy. Dziękuję również Kolegom z Laboratorium Automatyki Robotyki i Systemów Fotowoltaicznych za życzliwość i wsparcie. Szczególnie dziękuję Panu dr Mieczysławowi Zaczykowi za wiele merytorycznych wskazówek pomocnych podczas realizacji pracy.. 2.

(3) Spis treści 1. Uwagi wstępne ............................................................................................................ 1.1. Struktura pracy ......................................................................................................... 1.2. Tło historyczne ......................................................................................................... 1.3. Klasyfikacja robotów mobilnych………………………………………………….... 1.4. Cel naukowy pracy..................................................................................................... 4 4 6 12 14. 2. Zagadnienie planowania trajektorii ruchu robotów mobilnych.................................... 2.1. Metody planowania trajektorii ruchu robota.............................................................. 2.2. Uwagi o konstrukcji robotów mobilnych................................................................... 2.3. Problemy podczas planowania trajektorii.................................................................... 17 17 25 29. 3. Robot doświadczalny wykorzystany podczas realizacji pracy...................................... 3.1. Konstrukcja robota...................................................................................................... 3.2. System sterowania....................................................................................................... 31 31 33. 4. Czujniki zbliżeniowe i ich modele matematyczne ........................................................ 36. 5. Model kinematyki robota i jego analiza........................................................................ 5.1.Nieliniowy model kinematyki i jego linearyzacja ...................................................... 5.2. Stabilność modelu kinematyki................................................................................... 5.3. Sterowalność modelu kinematyki............................................................................... 5.4. Proponowane przez autora wskaźniki jakości do oceny jakości ruchu robota............ 43 43 51 54 66. 6. Model dynamiki robota.................................................................................................. 69. 7. Badania eksperymentalne dla różnych konfiguracji czujników..................................... 73. 8. Uwagi końcowe.............................................................................................................. 116. 9. Bibliografia..................................................................................................................... 122. 10. Streszczenie.................................................................................................................. 134. 11. Abstract......................................................................................................................... 135. Dodatek A. Biblioteka rozkazów w środowisku MATLAB do komunikacji z robotem.. Dodatek B. Sterowanie robotem z wykorzystaniem logiki rozmytej............................... Dodatek C. Czujniki ultradźwiękowe będące na wyposażeniu robota Khepera III.......... 136 143 148. 3.

(4) 1. Uwagi wstępne 1.1. Struktura pracy Rozdział 1. ma charakter wprowadzający i podzielony został na krótkie podrozdziały. Podrozdział 1.2. przedstawia tło historyczne dotyczące omawianego zagadnienia. Podrozdział 1.3 poświęcony jest krótkiej charakterystyce i klasyfikacji robotów mobilnych różnego rodzaju. W podrozdziale 1.4. podano cel naukowy pracy. Rozdział 2. dotyczy zagadnienia planowania trajektorii dla robotów mobilnych. W podrozdziale 2.1 omówiono znane w literaturze algorytmy planowania trajektorii, podano ich klasyfikację i krótko omówiono najważniejsze i najpopularniejsze algorytmy lokalne, rozważane w niniejszej pracy. Szczególną uwagę zwrócono na algorytm Braitenberga bazujący na zachowaniu się żywych organizmów. Wynika to z faktu, że do realizacji części eksperymentalnej pracy został wykorzystany robot Khepera III, będący dobrym rzeczywistym przykładem tzw. pojazdu Braitenberga.. Podrozdział 2.2. zawiera uwagi o konstrukcji. robotów mobilnych z punktu widzenia planowania trajektorii. Podrozdział 2.3 krótko porusza tematykę problemów, jakie mogą wystąpić podczas planowania trajektorii robota. Rozdział 3. poświęcony został robotowi Khepera III, który został wykorzystany w części praktycznej pracy oraz systemowi sterowania tym robotem. Rozdział ten zawiera opis budowy robota a także przedstawia zbudowany przez autora system sterowania robota oparty o środowisko MATLAB/SIMULINK umożliwiający implementację algorytmów planowania trajektorii wykorzystanych w części eksperymentalnej pracy. Rozdział 4. zawiera szczegółową charakterystykę czujników zbliżeniowych pracujących w paśmie podczerwieni znajdujących się na wyposażeniu robota i wykorzystywanych podczas prowadzenia doświadczeń. W rozdziale tym zostaje również zasygnalizowany fakt wyposażenia robota w czujniki ultradźwiękowe, których bliższa charakterystyka znajduje się w Dodatku C. Rozdział 4 zawiera także modele przedziałowe charakterystyk czujników zbliżeniowych wykorzystywanych podczas poruszania się robota w przestrzeni roboczej, bazujące na funkcji wykładniczej oraz na funkcjach Mittag-Lefflera. Rozdział 5. opisuje model kinematyki robota realizującego algorytm Braitenberga- zarówno w wersji standardowej jak i zmodyfikowanej. Kolejne podrozdziały w obrębie rozdziału 5 przedstawiają proces linearyzacji nieliniowego modelu kinematyki oraz analizę stabilności. 4.

(5) (z użyciem. 1. i. 2. metody. Lapunova). i sterowalności. przedstawionych. modeli,. z uwzględnieniem konieczności omijania przeszkód. W rozdziale 5 zaproponowano definicję sterowalności dla rozważanego robota, wykazano, że znany z teorii systemów liniowych warunek konieczny i dostateczny sterowalności jest w rozważanym wypadku jedynie warunkiem koniecznym oraz zaproponowano warunek dostateczny sterowalności wiążący tę własność z wagami czujników zbliżeniowych robota. W rozdziale 5 omówiono także zaproponowane przez autora wskaźniki jakości do oceny ruchu robota, służące do oceny jakości realizacji trajektorii rozważanego w pracy pojazdu Braitenberga i wykorzystywane w eksperymentalnej części pracy. Rozdział 6. dotyczy modelu dynamiki robota. W rozdziale tym podano zasadność rozważania modelu dynamiki oraz przedstawiono model dynamiki odpowiadający rozważanej w pracy klasie robotów mobilnych i dokonano analizy stabilności modelu dynamiki rozważanego robota. Rozdział 7. zawiera opis części eksperymentalnej pracy. W rozdziale przedstawiono wyniki testów polegających na realizacji przez robota różnych typowych zadań: omijania przeszkód o różnych kształtach i różnych kolorach,. jazdy do punktu o zadanych współrzędnych. w przestrzeni z przeszkodami przy różnych konfiguracjach czujników zbliżeniowych i różnych parametrach algorytmu. Jako algorytm sterowania wykorzystano algorytm Braitenberga w wersjach: podstawowej i zmodyfikowanej. Dla każdego przejazdu robota rejestrowana była w formie graficznej jego trajektoria oraz wyliczane były wskaźniki jakości. W rozdziale 7. pracy zamieszczono wybrane, charakterystyczne przypadki wraz z ilustracją graficzną. oraz. podsumowaniem. tabelarycznym. odpowiednich. wskaźników. jakości. z jednoczesnym podsumowaniem zbliżonych do siebie eksperymentów. Zbadano również omijanie przez robota przeszkód o różnych współczynnikach pochłaniania promieniowania podczerwonego. Rozdział 8. stanowi podsumowanie przeprowadzonych eksperymentów oraz jest próbą odpowiedzi na pytanie o optymalną liczbę aktywnych czujników rozważanego robota podczas jego ruchu w nieznanym otoczeniu. Rozdział 9. stanowi wykaz literatury, natomiast rozdział 10. to streszczenie pracy w języku polskim, a rozdział 11.- w języku angielskim. Na końcu pracy umieszczono dodatki. Dodatek A zawiera kody źródłowe oprogramowania sterującego, Dodatek B opisuje możliwość sterowania robotem Khepera III z wykorzystaniem 5.

(6) logiki rozmytej, natomiast Dodatek C przedstawia krótką charakterystykę czujników ultradźwiękowych. Czujniki te stanowią fabryczne wyposażenia robota, jednak z uwagi na właściwości pomiarowe nie były bezpośrednio wykorzystywane podczas realizacji niniejszej pracy.. 1.2. Tło historyczne. Za pierwszy robot mobilny można uznać SHAKEY (rys. 1.1.) skonstruowany w latach 19681972 w Stanford Research Institut. [Wiley 1999][Nilsson 1984] Jego nazwa pochodzi od szarpanych ruchów, jakie wykonywał przy poruszaniu się. Poruszał się z prędkością zaledwie 2 m/h. Wyposażony był w kamerę, skaner laserowy i czujniki zderzakowe. Posiadał zdolność percepcji i tworzenia modelu otoczenia- wymagał jednak otoczenia o specyficznej strukturze.. Rys. 1.1. Robot Shakey (Stanford Research Institute) źródło: http://www.sri.com. Robot Shakey był inspiracją do powstania robota Stanford cart (1979) (rys. 1.2). Robot ten został wyposażony w kamery umożliwiające tworzenie map 3D otoczenia. Robot posiadał zdolność omijania przeszkód. Osiągał prędkość do 4-6 m/h. Oprócz komputera pokładowego towarzyszyły mu dużych rozmiarów komputery stacjonarne umożliwiające nawigację.. 6.

(7) Rys. 1.2. Robot Stanford cart (Stanford Research Institute) źródło: http://www.computerhistory.org. Kolejnym wartym odnotowania robotem był 3D One- Leg Hopper [Murthy 1983] (rys. 1.3). Był to pierwszy swobodnie skaczący robot skonstruowany w 1983r. przez MIT LegLab. Wyposażony był w napęd hydrauliczno-pneumatyczny. Opierał się na jednej nodze o zmiennej długości.. Rys. 1.3. Robot 3D One-Leg Hopper (MITLegLab) źródło: http://commons.wikimedia.org. Za ważny punkt rozwoju robotyki należy uznać robot Genghis [Siciliano 2008] (rys. 1.4.) skonstruowany w 1989r przez MIT Mobile Robotics Group. Był to robot kroczący, wzorowany na owadach. Wyposażony był w 6 nóg, ważył 1 kg, mierzył 35cm długości. Jego chód nie był na sztywno zaprogramowany, tylko generowany w zależności od zaistniałych sytuacji w otoczeniu. Wyposażony był w inklinometry, czujniki zbliżeniowe podczerwieni 7.

(8) oraz 4 ośmiobitowe CPU na pokładzie. Sterowanie odbywało się metodą wielowarstwowych automatów o skończonych stanach.. Rys. 1.4. Robot Genghis źródło: http://www.ai.mit.edu. Kolejnym wartym odnotowania w historii robotyki mobilnej był robot Nomad 1997 (rys. 1.5.) [Wagner 1998] skonstruowany z myślą o penetrowaniu obcych planet. Robot ten został wyposażony w skaner laserowy, radar, GPS. Był zdalnie sterowany i posiadał zdolność stereowizji. Za jego sterowanie odpowiadały 4 komputery pokładowe.. Rys. 1.5. Robot Nomad 1997 źródło: http://www.frc.ri.cmu.edu. Z pewnością na uwagę zasługują roboty skontruowane przez NASA JPL : Pathfinder w 1997r. (rys. 1.6) [Wiley 1999] oraz Mars Explorations Rovers z 2003r (rys. 1.7), które znalazły zastosowanie w misjach kosmicznych. Robot Pathfinder, zwany również Sojourner z powodzeniem poruszał się na Marsie. Napędzany był silnikami elektrycznymi zasilanymi z ogniw słonecznych. Robot Mars Explorations Rovers [Rongxing 2005] był głównym narzędziem w misji kosmicznej zorganizowanej w 2003 r przez Jet Propulsion Laboratory i służył do badań geologicznych planety.. 8.

(9) Rys. 1.6. Pathfinder (1997, NASA JPL) źródło: http://lannyland.blogspot.com. Rys. 1.7. Mars Explorations Rovers (2003, NASA JPL) źródło: http://mars.nasa.gov. Kolejnym istotnym elementem w rozwoju robotyki mobilnej było rozpoczęcie prac nad robotami humanoidalnymi. Za prototyp robota humanoidalnego można uznać AIBO (rys. 1.8) [Wei 2005] zaprezentowane przez firmę Sony Corp. w 2000 r. Robot ten był w stanie chodzić, kopać, rozpoznawać i śledzić obiekty, omijać przeszkody, rozpoznawać i wydawać dźwięki a także rozpoznawać ładowarkę w momencie zbliżania się baterii do stanu rozładowania. Był to robot o 20 stopniach swobody, wyposażony w kamerę, dotykowe czujniki wykrywania krawędzi, czujniki przyśpieszenia, wibracji, odległości, mikrofon.. 9.

(10) Rys. 1.8. Robot AIBO (2000r, Sony Corp) źródło: http://www.sony.net. Dalsze prace zaowocowały powstaniem robotów przypominających kształtem człowieka. W tej kategorii z pewnością należy wymienić grupę robotów ASIMO (przykład- rys. 1.9) będącą dziełem koncernu Honda Motor Company. Prace nad robotami humanoidalnymi trwały od lat osiemdziesiątych XX-wieku i zostały uwieńczone w roku 2000 publicznym zaprezentowaniem pierwszego modelu z serii ASIMO. Twórcy robotów ASIMO zwracali dużą uwagę na umiejętność interakcji robota z ludźmi. Zastosowane rozwiązania umożliwiały m.in. rozpoznawanie poruszających się obiektów, rozpoznawanie postaw i gestów, rozpoznawanie środowiska (przedmiotów i terenu- w tym m.in. odpowiednie zachowanie się w przypadku napotkania schodów), rozpoznawanie dźwięków a nawet rozpoznawanie twarzy konkretnych ludzi (możliwe do „nauczenia” jest rozpoznanie do 10 twarzy należących do konkretnych osób). Roboty Asimo posiadają łącznie 57 stopni swobody- w tym m.in. 3 w karku, po 7 w każdym z ramion, po 13 w każdej z dłoni i po 6 w każdej z nóg. Taka liczba stopni swobody wynika z przeprowadzonej analizy schematów ruchu człowieka podczas spaceru po płaskiej powierzchni oraz w trakcie chodzenia po schodach i podczas biegania. Asimo posiada także czujnik mierzący aktualną prędkość oraz żyroskop – umożliwiają one detekcję pozycji i pomiar prędkości robota. Pozwala to na utrzymanie równowagi i orientacji. Asimo wchodzi w interakcję ze środowiskiem poprzez wykrywanie obiektów w swoim najbliższym otoczeniu. Odbywa się to dzięki systemowi czujników umieszczonych na spodzie "stóp" robota, które wykrywają zmiany w podłożu oraz dzięki czujnikom ultradźwiękowym znajdującym się w środkowej części jego konstrukcji. Robot Asimo wyposażony został również w czujniki mierzące stopień ugięcia kończyn i sześcioosiowy czujnik siły, umożliwiające mu sprawne i efektywne poruszanie nogami i rękami. Asimo rozpoznaje ruch obiektów poprzez interpretowanie obrazów z kamer. Ma możliwość oszacowania aktualnej odległości od obiektów i kierunek w jakim się poruszają. Dzięki temu może podążać 10.

(11) za idącym człowiekiem, czy zareagować na zbliżającego się do niego człowieka. Najnowsze wersje Asimo wyposażone są w 8 mikrofonów rozmieszczonych dookoła głowy i korpusu. Dzięki temu, Asimo jest w stanie rozpoznawać komendy głosowe oraz określić kierunek, z jakich zostały podane. Może dzięki temu np. zwrócić twarz w odpowiednim kierunku.. Rys. 1.9 Robot ASIMO (2000-2015, Honda Motor Co. Inc.) źródło: http://asimo.honda.com. Warto odnotować także serię robotów mobilnych BigDog (rys. 1.10) realizowaną przez firmę Boston Dynamics od 2005 r. Jest to seria czteronożnych robotów kroczących przeznaczonych do poruszania się w trudnym terenie i do przenoszenia ładunków (głównie w zastosowaniach militarnych). Uznawane są za najbardziej rozwinięte technologicznie w kategorii kroczących robotów czteronożnych. Roboty te wyposażone są w laserowy żyroskop oraz system widzenia stereoskopowego. Roboty posiadają system aktywnego balansowania wykorzystujący wewnętrzne czujniki siły. Pozwala on utrzymać równowagę robota podczas kroczenia po nierównym terenie, czy pod działaniem zewnętrznych sił- jak np. umyślne kopnięcie robota z boku.. 11.

(12) Rys. 1.10. Robot BigDog (2005-2015, Boston Dynamics) źródło: http://www.robotshop.com. 1.3 Klasyfikacja robotów mobilnych Istnieje wiele kryteriów, według których można dokonać klasyfikacji robotów mobilnych. Jednym z nich jest sposób poruszania się [Dulęba 2001] [Siegwart 2004]. Z punktu widzenia sposobu poruszania się roboty mobilne można podzielić następująco: -jeżdżące (kołowe lub gąsienicowe) -kroczące (skaczące) [Zielińska 2009] [Zielińska 2010] -pływające -podwodne, będące przedmiotem badań m.in. w Akademii Marynarki Wojennej w Gdyni [Talaśka 2014] oraz na Politechnice Krakowskiej [Zając 2010] -latające (m. in. bezzałogowe obiekty wyposażone w systemy wizyjne, będące przedmiotem badań na Politechnice Białostockiej)[Kownacki 2012][Gosiewski 2014] oraz roboty rzucane [Czupryniak 2008] -specjalne (pełzające, wspinające się, nanoroboty) Roboty jeżdżące kołowe można z kolei jeszcze podzielić na podkategorie ze względu na liczbę kół i ich rodzaj. Zostanie to szczegółowo omówione w rozdziale 2.2. Z punktu widzenia pozyskiwania informacji o otoczeniu i zastosowanych czujników do detekcji ewentualnych przeszkód [Garbacz 2006] roboty można podzielić następująco: -roboty wykorzystujące czujniki zbliżeniowe pracujące w paśmie podczerwieni -roboty wykorzystujące czujniki indukcyjne -roboty wykorzystujące czujniki pojemnościowe 12.

(13) -roboty wykorzystujące czujniki ultradźwiękowe (sonary) -roboty wykorzystujące czujniki dotykowe. Możliwe są oczywiście rozwiązania wykorzystujące jednocześnie różne rodzaje czujników. Dodatkowo możliwe jest wykorzystanie informacji pomocniczych do uzyskania informacji o położeniu robota- jak np. pomiar położenia kół (odometria) [Chojecki 2003] z wykorzystaniem enkoderów lub resolwerów umieszczonych zazwyczaj na wale silnika. Umieszczenie urządzeń pomiarowych położenia przed przekładnią zapewnia dużą dokładność pomiaru. Jednak uzyskanie informacji finalnej o położeniu i orientacji robota jako całości wiąże się zwykle z koniecznością wielu obliczeń, których złożoność zależy od konstrukcji danego robota. Metoda ta daje dobre efekty w przypadkach, kiedy czas przejazdu robota jest krótki. W miarę wzrostu przejechanej odległości błąd pomiaru powstały na skutek niedokładności pomiarów czy np. poślizgów ulega kumulacji. Kolejny możliwy podział robotów opiera się na ich zastosowaniu. I tak roboty według tego kryterium można podzielić następująco: -do celów badawczych -do celów rozrywkowych -roboty stosowane w gospodarstwie domowym (automatyczne odkurzacze i kosiarki do trawy) [Ulatowski 2003] [Ulrich 1997] -roboty służące pomocą osobom niepełnosprawnym (przedmiot badań między innymi na Wydziale IMiR AGH [Giergiel 2015]) -roboty pirotechniczne- znajdujące zastosowanie w sytuacjach niebezpiecznych, pozwalają uchronić człowieka od bezpośredniego narażenia życia [Czupryniak 2005]. Przykładami takich robotów są roboty Inspector i Expert, zbudowane w PIAP w Warszawie (zob. rys.1.11.). Ważną grupę stanowią także roboty wojskowe, będące przedmiotem badań m.in. zespołu z Politechniki Białostockiej [Gosiewski 2015]. W kategorii robotów wojskowych warto wspomnieć o mobilnym robocie pola walki stworzonym przez zespół Instytutu Informatyki Stosowanej Politechniki Łódzkiej pod kierownictwem prof. Dominika Sankowskiego [Sankowski 2013]. 13.

(14) Rys.1.11. Roboty pirotechniczne Inspector i Expert (Przemysłowy Instytut Automatyki i Pomiarów Warszawa) źródło: http://www.piap.pl. 1.4. Cel naukowy pracy Funkcjonalność ruchowa robota mobilnego, rozumiana jako zdolność do realizacji dowolnej trajektorii w różnorodnym otoczeniu, zależy od bardzo wielu czynników między innymi od konstrukcji robota jak i algorytmów jego sterowania. Funkcjonalność ruchowa robota jest ściśle powiązana z jego sterowalnością (jako systemu dynamicznego), gdyż własność sterowalności robota mobilnego jest równoważna stwierdzeniu, że przestrzeń stanów osiągalnych z dowolnego punktu początkowego jest równa całej przestrzeni roboczej robota. Robot sterowalny jest w stanie osiągnąć dowolny punkt w przestrzeni roboczej, a w szczególności jest w stanie ominąć przeszkodę (nieruchomą lub ruchomą) wykrytą podczas jazdy do zadanego punktu końcowego. Kolizja z przeszkodą może być interpretowana jako utrata sterowalności z dwóch powodów: po pierwsze, system sterowania robota nie jest w stanie wygenerować trajektorii pozwalającej na ominięcie przeszkody, po drugie – w razie kolizji robot nie jest w stanie osiągnąć punktu docelowego. Planowanie trajektorii robota oraz jej późniejsza realizacja wymaga przeanalizowania zarówno zagadnień związanych z rozpoznawaniem otoczenia robota jak właściwym doborem odpowiednich metod sterowania z uwzględnieniem istniejących ograniczeń, przy czym ograniczeniami są: jest ilość i rozmieszczenie czujników wykrywających przeszkody oraz same przeszkody znajdujące się w przestrzeni roboczej i ich cechy istotne z punktu widzenia ich rozpoznania (kształt, kolor). W przypadku robotów holonomicznych nie występują ograniczenia związane z niemożliwością realizacji pewnych określonych konstrukcyjnych robota.. 14. trajektorii wynikającą z ograniczeń.

(15) Jednakże z punktu widzenia konstrukcji robota pojawia się w takiej sytuacji problem ustalenia optymalnej liczby czujników wykrywających przeszkody oraz ich lokalizacji na obudowie urządzenia. Zbyt mała liczba czujników może uniemożliwić wykrycie wszystkich przeszkód, a z kolei zbyt duża ich liczba podnosi koszty urządzenia, zwiększa jego masę i zużycie energii oraz komplikuje algorytm sterowania. Celem naukowym niniejszej pracy jest. analiza konstrukcji holonomicznego robota. mobilnego z punktu widzenia optymalizacji liczby i lokalizacji czujników zbliżeniowych przy wykorzystaniu istniejącej, optymalnej z punktu widzenia sterowalności konfiguracji układu napędowego. Formalnie cel naukowy pracy może być sformułowany następująco: Należy zaproponować i zweryfikować eksperymentalnie warunki. stabilności. i sterowalności dla autonomicznego, holonomicznego robota mobilnego klasy „pojazd Breitenberga” wiążące te własności z jego konstrukcją, a w szczególności z ilością i lokalizacją czujników wykrywających przeszkody przy założeniu, że trajektoria ruchu robota jest wyznaczana z użyciem algorytmu Breitenberga (podstawowego lub zmodyfikowanego), przestrzeń robocza jest ograniczona, a lokalizacja przeszkód w obrębie tej przestrzeni roboczej nie jest znana.. W szczególności realizacja powyższego celu naukowego pracy wymaga rozwiązania następujących problemów: 1.W oparciu o modele kinematyki i dynamiki rozważanego robota należy zbadać stabilność robota w funkcji wag sygnałów z czujników. 2.Należy zaproponować i zidentyfikować modele matematyczne opisujące zależność pomiędzy poziomem sygnału z czujnika zbliżeniowego a odległością od przeszkody. 3.Należy w oparciu o zlinearyzowany model kinematyki rozważanego robota zdefiniować pojęcie sterowalności dla rozważanej klasy robotów mobilnych oraz zaproponować warunki sterowalności wiążące tę własność z wagami sygnałów z czujników. 4.Zaproponować wskaźniki jakości będące miarą poprawności realizacji trajektorii podczas omijania przeszkody w celu oceny jakości realizacji zadań.. 15.

(16) 5.Otrzymane wyniki teoretyczne należy zweryfikować eksperymentalnie z użyciem zbudowanych w tym celu algorytmów sterowania zaimplementowanych na robocie eksperymentalnym. Zagadnienia prezentowane w pracy (realizowalność trajektorii robota przy różnej liczbie aktywnych czujników) mogą mieć duże znaczenie praktyczne przykładowo w przypadku robotów pracujących w warunkach bojowych w sytuacji, gdy część czujników zostanie uszkodzona lub zniszczona. W takich warunkach robot powinien mieć możliwość dalszego ograniczonego funkcjonowania w otoczeniu. W literaturze można znaleźć rozwinięcie tematyki funkcjonowania robota mobilnego z uszkodzonymi częściowo czujnikami, głównie w odniesieniu do robotów pirotechnicznych będących przedmiotem produkcji i badań zespołu działającego w ramach Przemysłowego Instytutu Automatyki i Pomiarów w Warszawie. [Bartoszek 2011], [Bigaj 2014]. 16.

(17) 2. Zagadnienie planowania trajektorii ruchu robotów mobilnych 2.1. Metody planowania trajektorii ruchu robota. Jeden z zasadniczych podziałów algorytmów planowania trajektorii dla robotów mobilnych dzieli algorytmy na globalne i lokalne [Dulęba 2001 s. 159-178][Garbacz 2003]. Poniżej zostanie podany krótki przegląd tych metod. Przykładowe metody globalne Z algorytmami globalnymi mamy do czynienia wówczas, kiedy jest z góry znana przestrzeń robocza i buduje się mapę otoczenia w oparciu o np. kamerę umieszczona ponad obszarem. Zagadnienie to było omówione miedzy innymi w pracach: [Dulęba 2001] [Siegwart 2004]. Przestrzeń robocza (w tym przede wszystkim położenie przeszkód) nie zmieniają się w trakcie ruchu robota. Można z góry zaprogramować całą ścieżkę aż od punktu startowego do docelowego. Idea metod globalnych polega na odwzorowaniu przestrzeni roboczej w postaci odpowiednich map geometrycznych lub topologicznych. Wyróżnia się trzy zasadnicze strategie tworzenia map [Majchrowski 2006]: -mapy drogowe, w których przestrzeń robocza wyrażona jest w postaci grafu z siecią możliwych ścieżek. Przykładowe metody bazujące na mapach drogowych to m.in. metoda grafu widoczności czy diagramu Woronoia. [Onura 2006] -dekompozycja, gdzie na skutek podziału przestrzeni roboczej na komórki uzyskuje się dyskretną przestrzeń roboczą, [Maaref 2002] [Lee 2003] [Dieguez 2003] [Lester 2005]. -sztuczne pola potencjałowe- wprowadza się odpowiednią funkcję matematyczną nad przestrzenią, w efekcie której uzyskuje się ciągłą przestrzeń stanu. Ze względu na fakt, że metody globalne nie będą wykorzystywane w dalszej części pracy, ich szczegółowe omówienie zostanie pominięte (szczegóły można znaleźć w literaturze) i w następnej części niniejszego rozdziału zostaną omówione metody lokalne.. 17.

(18) Wybrane metody lokalne Przy wykorzystaniu algorytmów lokalnych konieczna jest ciągła obserwacja otoczenia przez robota, gdyż cała przestrzeń robocza nie jest znana i jej elementy zmieniają się w czasiemogą to być ruchome przeszkody bądź poruszające się w tej samej przestrzeni inne roboty (traktowane w takiej sytuacji też jako przeszkody). Z tego względu zaplanowanie całej trajektorii „z góry” nie jest możliwe. Można jedynie próbować zgrubnie oszacować przebieg trajektorii z ciągłą kontrolą otoczenia pod kątem wykluczenia ewentualnej kolizji z nieznanymi wcześniej przeszkodami. Poniżej zostaną omówione metody lokalne dedykowane dla robotów mobilnych klasy „pojazd Braitenberga”, gdyż tej klasy urządzenie będzie stosowane w części eksperymentalnej niniejszej pracy, a jednocześnie (pomimo prostoty) jest ono dobrym reprezentantem dużej klasy rzeczywistych robotów mobilnych. Z najbardziej znanych i rozpowszechnionych lokalnych metod planowania trajektorii należy wymienić: -metody bazujące na metodzie „pól potencjałowych”, -metoda CRV (curvature velocity method)- metoda krzywizn I prędkości [Fernández 2004] -metoda VFH (vector field histogram) – algorytm pola wektorowego. Należy też dodać, że do planowania trajektorii robotów mobilnych (a w szczególności robotów klasy „pojazd Breitenberga” , mogą być też wykorzystane metody bazujące na sztucznej inteligencji. Jako przykłady można tu podać zastosowanie algorytmów genetycznych [Kubota 2001] lub logiki rozmytej [Xu 1996].. Metoda pól potencjałowych Pierwszą z typowych metod lokalnych jest metoda „pól potencjałowych”. W literaturze występuje także pod nazwą „metody sztucznych pól potencjalnych”. Jest ona omówiona między innymi w pracy: [Yamakawa 2010][Latombe 1991], a opis jej. praktycznej. implementacji dla robota Khepera III można znaleźć w pracy [Garbacz 2011]. Głównym założeniem jest przyjęcie, że robot traktowany jako punkt materialny porusza się w wyniku działających na niego sił. Siły występują zarówno za sprawą przeszkód jak i punktu docelowego. Punkt docelowy oddziałuje na robota w sposób przyciągający, natomiast przeszkody w sposób odpychający. Istotne jest dobranie odpowiedniej charakterystyki sił odpychających. Generalna idea jest taka, że wartości sił odpychających są małe z dala od 18.

(19) przeszkody, natomiast w miarę zbliżania się do przeszkody winny one wzrastać praktycznie do nieskończoności. Wszystkie siły oddziałujące na robota są sumowane w sposób wektorowy tworząc w danym punkcie wektor wypadkowy dla ruchu robota. Idea tej metody pokazana jest na rysunku 2.1.. Rys. 2.1. Ilustracja metody pól potencjałowych Z uwagi na to, że punkt porusza się po płaszczyźnie, wypadkowe pole działające na cząstkę jest superpozycją pola przyciągającego i pól odpychających, zależnych od q:. U w ( q )  U p ( q )   Voi ( q ). (2.1). i. gdzie: q=(x,y)- położenie punktu Uw- potencjał wypadkowy, Up- potencjał przyciągający Voi- i-ty potencjał odpychający Dobre efekty przynosi zamodelowanie potencjału przyciągającego funkcją paraboliczną opisaną następująco: U p (q) . 1 k p qr qk 2. 2. (2.2). gdzie: qr – współrzędne położenia robota qk – współrzędne położenia punktu docelowego kp – doświadczalnie dobierany współczynnik Dla potencjału zaproponowanego wzorem (2.2) siła przyciągania wynosi:. F p ( q r )   U p  k p q r  q k. (2.3). Dobrym przykładem potencjału odpychającego może być z kolei: 19.

(20)   1 1  1    k oi   Foi (qr )    qr  qoi d 0  qr  qoi  0 . , qr  qoi  d 0. 2. (2.4). , qr  qoi  d 0. gdzie: kp – doświadczalnie dobierany współczynnik qr – współrzędne położenia robota qk – współrzędne położenia punktu docelowego qoi – współrzędne położenia i-tej przeszkody do- minimalna odległość od przeszkody, przy której siła zaczyna działać na robota Przy potencjale opisanym przez (2.4) siła odpychania wynosi:.   1 1  1    k oi  Foi (q r )   d 0  qr  qoi  qr  qoi  0 . 2. , qr  qoi  d 0. (2.5). , qr  qoi  d 0. Ze wzoru (2.5) wynika, że siła odpychająca będzie rosnąć do nieskończoności, gdy ruchomy ładunek znajdzie się bardzo blisko przeszkody. Na podstawie wektorów sił odpychających oraz wektora siły przyciągającej, tworzony jest wypadkowy wektor, który nadaje chwilowy kierunek jazdy robota.. Wypadkowy wektor siły jest opisany następująco:. Fw  Fp   Foi. (2.6). i. Przy czym siły FP oraz Foi są opisane przez (2.3) i (2.4). Dysponując wszystkimi wektorami sił odpychających oraz wektorem siły przyciągającej tworzy się wypadkowy wektor decydujący o chwilowym kierunku jazdy robota. Siłę przyciągania można zaproponować w następującej postaci: 2 1   1 1  k    Voi (q)   2 oi  qr  qoi d 0     0 . , qr  qoi  d 0 , qr  qoi  d 0. 20. (2.7).

(21) F  qr  qk   . (2.8). gdzie qr- współrzędne robota qk- współrzędne położenia punktu końcowego ||qr-qk|| - odległość między punktami. ,- stałe dobrane eksperymentalnie. Algorytm Braitenberga Kolejnym typowym algorytmem lokalnym, stosowanym w dalszej części niniejszej pracy jest algorytm Braitenberga. Jest to stosunkowo prosty algorytm dedykowany do sterowania ruchem robota mobilnego z omijaniem przeszkód. Należy w tym miejscu dodać, że algorytm ten jest dedykowany dla robotów specjalnego typu, tzw. „pojazdów Braitenberga, które pomimo swojej prostoty bardzo dobrze opisują zachowanie się wielu rzeczywistych obiektów mobilnych. Idea pojazdów tej klasy została zaproponowana przez Braitenberga w 1984 roku [Braitenberg 1984].. Jednym z fundamentalnych założeń przy konstrukcji tej klasy robotów mobilnych jest bezpośrednie połączenie modułów percepcji i modułów ruchu czyli bezpośrednie połączenie czujników wykrywających przeszkody z napędami poszczególnych kół (elementami wykonawczymi). Pojazd Braitenberga może też zostać potraktowany jako system agentowy [Salomon 1999]. System agentowy to pojęcie wywodzące się z informatyki. W skrócie poprzez. „agenta”. rozumie. się. autonomiczny. program komputerowy,. zdolny. do. samodzielnego działania bez ingerencji ze strony programisty (zob. np. [Janiak 2014][Zieliński 2014]). Systemy agentowe znajdują zastosowanie w sytuacjach, w których użytkownik (programista) nie jest w stanie dostatecznie szybko zareagować za zmieniającą się sytuację- np. na skutek zbyt dużej liczby danych. Systemy agentowe znajdują też zastosowanie w aplikacjach kosmicznych, gdzie informacja o zmieniającej się sytuacji w odległym obiekcie (np. sondzie kosmicznej) może dotrzeć do operatora znajdującego się na Ziemi zbyt późno ze względu na dużą odległość. Sama konstrukcja pojazdu Braitenberga musi spełniać również określone założenia (będzie ona omówiona w dalszej części pracy). Zachowanie się pojazdu Braitenberga w nieznanym otoczeniu jest bardzo dobrym modelem wielu zjawisk i procesów z obszarów zarówno techniki, jak i biologii. 21. Według idei.

(22) Braitenberga robot był traktowany jako urządzenie wyposażone wyłącznie z czujniki dające informację o otoczeniu oraz silniki wprawiające robota w ruch. Sterowanie poszczególnymi silnikami było wyznaczane w oparciu o odczyty z czujników zbliżeniowych. V. Braitenberg zaproponował podział tego typu pojazdów na 3 podstawowe kategorie. Pojazdy 1 kategorii, najbardziej prymitywne- wyposażone były w 1 czujnik oraz 1 silnik. Pojazdy 2 kategorii posiadały 2 czujniki oraz 2 silniki. Pojazdy 3 kategorii posiadały większą liczbę czujników oraz 2 silniki. Do 3 kategorii zalicza się między innymi wykorzystanego w pracy robota Khepera III.. Uproszczony schemat blokowy algorytmu Braitenberga pokazany jest na rysunku 2.2. Do każdego z napędów doprowadzone są sygnały ze wszystkich sensorów, przy czym każde połączenie ma przypisaną określoną wagę. Chwilowa prędkość odpowiedniego napędu wyznaczana jest na podstawie sumy ważonej sygnałów ze wszystkich sensorów. Dostrojenie algorytmu polega na przypisaniu odpowiednich wag poszczególnym czujnikom i może być zrealizowane wieloma metodami, np. z użyciem sieci neuronowych [French 2005] [Yang 2011]. Algorytm ten nie pozwala na poruszanie się pomiędzy dwoma wyznaczonymi punktami a jedynie na omijanie przeszkód. Jednak odpowiednia modyfikacja i rozbudowa algorytmu Braintenberga umożliwia generowanie drogi do celu w połączeniu z omijaniem przeszkód, na które robot natrafia po drodze.. 22.

(23) Rys. 2.2. Schemat ideowy algorytmu Braitenberga. Na rysunku 2.2. poszczególne symbole oznaczają:c1, ..., cn – wartości pomiarów z czujników w1, ..., wn - wartości wag dla poszczególnych czujników k, A- stała wyznaczana doświadczalnie, opisująca prędkość bazową ruchu robota przy braku przeszkód.. Modyfikacja algorytmu Braintenberga umożliwiająca jazdę do zadanego celu polega na wprowadzeniu dodatkowego czynnika zależnego od kąta pomiędzy osią wyznaczoną przez kierunek robota a prostą przechodząca przez punkt środkowy robota i punkt docelowy. Im większy jest kąt odchylenia pomiędzy aktualnym kierunkiem robota a prostą przechodząca przez punkt środkowy robota i punkt docelowy- tym większą robot wykazuje tendencję do skorygowania kierunku jazdy na kierunek zmierzający do celu. Schemat blokowy wersji zmodyfikowanej pokazany jest na rysunku 2.3. Schemat ten dotyczy zarówno koła lewego jak i prawego. Przyjęto symetryczny dobór wag dla czujników znajdujących się z prawej i lewej. 23.

(24) strony robota- osią symetrii jest linia przechodząca przez środek robota, równoległa do kierunku robota poruszającego się na wprost.. Rys. 2.3. Schemat ideowy zmodyfikowanego algorytmu Braitenberga. Na rysunku 2.3. poszczególne symbole oznaczają: c1, ..., cn – wartości pomiarów z czujników w1, ..., wn - wartości wag dla poszczególnych czujników V- suma wartości z czujników pomnożonych przez wartości wag k, A- stałe wyznaczane doświadczalnie.  - kąt odchylenia od kierunku do celu wsp- współczynnik wyznaczany doświadczalnie Omówiony powyżej algorytm został wykorzystany do sterowania robotem Khepera III, wykorzystywanym do badań doświadczalnych omówionych w rozdziale 5 pracy.. 24.

(25) 2.2. Uwagi o konstrukcji robotów mobilnych. Spośród robotów o różnych sposobach poruszania się największą popularność zyskały roboty kołowe. Kołowe układy napędowe cechują się dużą efektywnością, a z mechanicznego punktu widzenia takie układy nie są skomplikowane w fizycznej realizacji. Roboty kołowe nie mają na ogół problemu z utrzymaniem równowagi- z uwagi na fakt, że koła pozostają w ciągłym kontakcie z podłożem. Dlatego też robot o liczbie kół nie przekraczającej 3 pozostaje cały czas w równowadze. W przypadku liczby kół mniejszej od 3 zazwyczaj stosuje się dodatkowe punkty podparcia gwarantujące ciągły kontakt z podłożem. W robotach o liczbie kół większej od 3 stosuje się specjalne mechanizmy w zawieszeniu, gwarantujące szybkie złapanie kontaktu z podłożem przez koło w razie napotkania przeszkody w terenie typu gwałtowny uskok. Typy kół stosowane w robotach mobilnych pokazane są na rysunku 2.4. [Siegwart 2004]. Rys.2.4. Stosowane typy kół w robotach: a- zwykłe koła; b; koła typu kastor (samonastawne), c- koła szwedzkie; d-koła (kule) sferyczne. źródło: [Siegwart 2004]. Najczęściej spotyka się roboty 2, 3 lub 4-kołowe, rzadziej o liczbie kół 6 i większej. W tabeli 2.1 zestawiono najczęściej spotykane rozwiązanie dla różnej liczby kół:. 25.

(26) Tabela 2.1. Schematyczne zestawienie typów robotów kołowych o 2, 3 i 4 kołach. (źródło: [Siegwart 2004]) Liczba kół. 2. Poglądowy rysunek. Opis Robot typu motocykl. Robot typu Segway [Harris 2001]. 3. dwa koła napędowe plus punkt podparcia- np. robot Khepera III stosowany do badań doświadczalnych w niniejszej pracy.. Dwa niezależnie napędzane koła plus trzecie koło typu kula, np. robot Pygmalion (EPFL Szwajcaria). 2 koła współosiowe napędowe plus koło sterowne np. robot AmigoBot [Burghardt 2010]. Koło sterowne będące jednocześnie kołem napędowym np. robot Neptune (Carnegie Mellon University Robotics Institute, 5000 Forbes Avenue, Pittsburgh). Trzy koła szwedzkie- możliwość jazdy we wszystkich kierunkach. 26.

(27) 4. Robot typu samochód z napędem na tylne koła [Michałek 2014]. Robot typu samochód z napędem na przednie koła. Robot typu samochód z napędem na cztery koła, z obiema osiami skrętnymi. Napęd różnicowy plus dwa punkty podparcia. 4 koła szwedzkie- możliwość jazdy we wszystkich kierunkach – robot typu Uranus [Muir 1987]. 2 koła napędzane plus 2 punkty podparcia- np. Khepera II [Garbacz 2004]. 4 napędowe i skrętne koła nastawne- np. robot Nomad XR4000 [Alvares 2004]. 27.

(28) Tabela.2.2. Objaśnienie zastosowanych schematów odpowiadających poszczególnym typom kół (źródło: [Siegwart 2004]). Koło wielokierunkowe nienapędzane- typu kastor, szwedzkie, kula lub punkt podparcia. Koło szwedzkie napędzane wielokierunkowe. Napędzane koło zwykłe. Nienapędzane koło zwykłe. Napędzane koło typu kastor. Kierowane koło zwykłe. Koła współosiowe. Przyjęty w danym robocie układ i liczba kół determinuje przydział robota do jednej z dwóch zasadniczych grup: robotów holonomicznych i nieholonomicznych [Dulęba 2001]. Roboty holonomiczne mają praktyczną możliwość zmiany orientacji w miejscu, bez zmiany położenia. Roboty nieholonomiczne mają z kolei ograniczone możliwości ruchowe, np. ograniczony promień skrętu. Typowym przykładem obiektu nieholonomicznego jest samochód. Tę grupę robotów należy traktować jako układ sterowania o określonych ograniczeniach ruchu. Roboty holonomiczne można z kolei rozpatrywać jako punkty materialne poruszające się w przestrzeni, nie mające ograniczeń ruchu wynikających z konstrukcji. Na potrzeby algorytmu wyznaczania trajektorii występujące przeszkody powiększa się o promień okręgu opisanego na robocie. Przykładem robota holonomicznego jest przedstawiony na rysunku 2.5. robot URANUS wyposażony w 4 koła „szwedzkie”. Są to specjalne tzw. koła omnikierunkowe, które posiadają na swoim obwodzie specjalnie zamontowane rolki dzięki czemu możliwy jest ich obrót w dowolnym kierunku, niezależnie od aktualnej orientacji koła.. 28.

(29) Rys. 2.5. Robot typu URANUS wyposażony w 4 koła wielokierunkowe typu Mecanum („szwedzkie”) źródło: http://www.cs.cmu.edu. 2.3. Problemy podczas planowania trajektorii Podczas planowania trajektorii ruchu robota mobilnego mogą wystąpić problemy z jej fizyczną realizowalnością. Dotyczy to przede wszystkim robotów nieholonomicznych i wynika z ograniczonych możliwości ruchowych robota, co może być interpretowane jako brak realizowalności niektórych trajektorii ruchu. Nie zawsze zaproponowana trajektoria, optymalna w sensie przyjętej funkcji kosztu okazuje się technicznie możliwa do realizacji, z uwagi na np. skręty o zbyt małym promieniu, na które nie pozwala fizyczna konstrukcja robota. Warto wspomnieć też o pewnej klasie prymitywnych robotów, których możliwości konstrukcyjne umożliwiają wykonywanie skrętu tylko w jedną stronę. Przykładem jest robot zrealizowany w ramach pracy magisterskiej w Katedrze Automatyki AGH [Jarzyna 2002]. Skręcanie takim robotem w kierunku przeciwnym wymaga dodatkowych manewrów cofania/ jazdy do przodu, co znacząco komplikuje kształt ostatecznej trajektorii, a ponadto powoduje zwiększenie zużycia energii potrzebnej do przemieszczenia oraz wydłuża czas przejazdu. Analogiczną sytuacją z życia codziennego jest przykład, w której optymalna trasa przejazdu z miejscowości A do B jest trasą optymalną w przypadku podróży samochodem osobowym, natomiast w przypadku podróży pojazdem wielkogabarytowym może okazać się niemożliwa do przebycia z uwagi na np. zbyt ciasny zakręt czy zbyt wąski tunel. W przypadku rozważanego w pracy robota w postaci pojazdu Braitenberga istotnym problemem jest optymalizacja proponowanych funkcji kosztu w funkcji wag poszczególnych czujników i parametrów algorytmu. Problem ten może być rozwiązany z użyciem wielu różnych podejść. W pracy [Hendzel 2013] przyjęto jako podstawę oceny wskaźnik oparty o przebiegi wartości błędów nadążania za trajektorią referencyjną. Taki wskaźnik dobrze 29.

(30) sprawdza się w sytuacji nadążania za ściśle określoną trajektorią wzorcową, natomiast dodatkowym problemem jest w takiej sytuacji wyznaczenie tej wzorcowej trajektorii. Z tego względu w niniejszej pracy optymalizacja zostanie zrealizowana z użyciem metod eksperymentalnych.. 30.

(31) 3. Robot doświadczalny wykorzystany podczas realizacji pracy 3.1. Konstrukcja robota Do badań eksperymentalnych został wykorzystany robot mobilny Khepera III znajdujący się na wyposażeniu Laboratorium Automatyki, Robotyki i Systemów Fotowoltaicznych. Zdjęcie robota przestawiono na rysunku 3.1.. Rys. 3.1. Robot Khepera III wykorzystywany do testów. Robot porusza się na dwóch kółkach, umieszczonych w jednej osi, obleczonych gumą dla uzyskania lepszej przyczepności. Dodatkowo Khepera III podparty jest w jednym punkcie co zapewnia stabilne poruszanie się w przestrzeni roboczej. Dookoła obudowy robota umieszczonych jest 9 czujników podczerwieni oraz dodatkowo 2 pod spodem (czujniki zbliżeniowe), umożliwiających wykrywanie na niedaleką odległość przeszkód bądź krawędzi stołu po którym robot się porusza. Robot ma również możliwość zmierzenia odległości od przeszkody, za sprawą pięciu wbudowanych sensorów ultradźwiękowych (sonary). Do napędu wykorzystano dwa wysokiej klasy silniki DC (jeden dla każdego koła) zapewniające sprawne i dokładne sterowanie ruchem robota. Obydwa koła robota napędzane są silnikami DC sprzężonymi z przekładnią o przełożeniu 43.2:1. Silniki maja własne wbudowane enkodery przyrostowe, umiejscowione na osi silnika, dające 16 impulsów na obrót wału silnika. W sumie daje to 691.2 impulsów na obrót koła, co odpowiada 54 impulsom na milimetr przejechanej drogi (średnica koła wynosi 41 mm, co daje 128.8 mm przejechanej drogi na pełny obrót tarczy koła). Maksymalna osiągalna prędkość robota wynosi 298 mm/s.. 31.

(32) Rys. 3.2. Główne elementy robota Khepera III.. Główne elementy robota Khepera III są pokazane na rysunku 3.2 1) czujniki podczerwieni 2) czujniki ultradźwiękowe 3) główny port komunikacyjny 4) port miniAB USB 5) port ładowania / zasilania 6) reset 7) włącznik zasilania. Rozmieszczenie czujników zbliżeniowych przedstawia rysunek 3.3 , a sonarów rysunek 3.4. Czujniki zbliżeniowe dają jedynie orientacyjną informację o odległości od przeszkody. Charakterystyka czujników jest taka, że im bliżej przeszkody czujnik się znajduje, tym poziom sygnału jest wyższy. Nie jest jednak możliwe jednoznaczne przeskalowanie wartości pomiaru na odległość wyrażoną w jednostkach długości. Czujniki podczerwieni mogą również pracować jako czujniki światła. Zastosowane w robocie sonary dają pomiar odległości w zakresie od 20 cm do 4 m. W celu zapoznania się z działaniem wszystkich czujników zostały przeprowadzone przez autora pracy testy ich działania, których wyniki są omówione poniżej. Ich wyniki zostały zaprezentowane również w pracy [Garbacz 2008]. Czujniki ultradźwiękowe z uwagi na nieprzydatność przy pomiarach na bliższe odległości nie zostały wykorzystane w części eksperymentalnej pracy. Z ich krótką charakterystyką można zapoznać się w Dodatku C. Natomiast modele charakterystyk czujników zbliżeniowych z użyciem funkcji: progowych, wykładniczych i Mittag – Lefflera zostaną podane w rozdziale 4.. 32.

(33) Rys. 3.3. Rozmieszczenie czujników zbliżeniowych (widok od spodu). Rys. 3.4. Rozmieszczenie sonarów. 3.2. System sterowania Na potrzeby wykonania eksperymentów zaimplementowano algorytmy Braitenberga (zarówno w wersji podstawowej jak i zmodyfikowanej, które opisano szczegółowo w podrozdziale 2.1). Rozmieszczenie czujników zbliżeniowych na obudowie robota, wykorzystywanych przez algorytm przedstawione zostało na rysunku 3.3. Układ sterowania robotem został zrealizowany na platformie MATLAB/SIMULINK. Zbudowanie układu sterowania poprzedziło zbudowanie specjalnej biblioteki rozkazów pod środowisko MATLAB służących do komunikacji i sterowania robotem Khepera III [Garbacz 2008]. Robot Khepera III został dostarczony przez producenta bez specjalistycznego oprogramowania umożliwiającego prowadzenie tego typu eksperymentów, dlatego też 33.

(34) konieczne okazało się zbudowanie tego oprogramowania przy współudziale autora (zob. Dodatek A). [Garbacz 2008] Układ sterowania wykorzystany w eksperymentach został przedstawiony na rys. 3.5.. Rys. 3.5. Układ sterowania robotem zrealizowany w środowisku Matlab/Simulink. Widoczne. na. rys.. (ponumerowanych. 3.5. wzmocnienia. czerwonymi. statyczne. liczbami). są. bloków. wagami. wzmocnienia. poszczególnych. („Gain”) czujników. w algorytmie Braitenberga. Przyporządkowanie poszczególnych bloczków (ponumerowanych przy użyciu czerwonych liczb) odpowiada numeracji czujników przedstawionej na rys. 3.3. Waga czujnika różna od zera oznacza, że czujnik jest czynny. Waga równa zeru oznacza fakt wyłączenia danego czujnika. Czujniki na robocie są zainstalowane na stałe i użytkownik nie ma możliwości ich przesunięcia czy demontażu. Możliwa jest natomiast dezaktywacja poszczególnych czujników poprzez przypisanie im wagi równej 0. Czujniki znajdujące się z przodu robota mają przyporządkowane numery odpowiednio 4 i 5. Widoczny na rys. 3.3. czujnik nr 9 znajduje się całkiem z tyłu robota. Z racji tego, że w prowadzonych doświadczeniach robot zasadniczo porusza się do przodu nie był wykorzystywany. Czujnik nr 9 mógłby również znaleźć zastosowanie w przypadku grupowej pracy robota. Wówczas 34.

(35) zostałby wykorzystany jako źródło informacji o np. doganiającym go innym robocie. Przeprowadzone eksperymenty dotyczą jednak sytuacji poruszania się pojedynczego robota w przestrzeni roboczej. Podobna sytuacja dotyczy czujników nr 10 i 11 znajdujących się pod spodem robota. Czujniki nr 10 i 11 mogą być wykorzystywane w zadaniach typu wykrywanie krawędzi, co nie było przedmiotem badań w niniejszej pracy. W pracy wykorzystano również zaimplementowany zmodyfikowany algorytm Braitenberga. Modyfikacja polegała na dodaniu dodatkowego czynnika zależnego od kąta pomiędzy osią wyznaczoną przez kierunek robota, a prostą przechodzącą przez punkt środkowy robota i punkt końcowy (docelowy). Działa to w ten sposób, że im większy jest kąt odchylenia tym większe jest oddziaływanie na robota ukierunkowujące go do celu. W tym przypadku schemat układu sterowania przedstawiony na rys. 3.5. wyposażono dodatkowo w podsystem umożliwiający zadanie punktu docelowego. Podsystem ten przestawiono na rysunku 3.6.. Rys. 3.6. Podsystem umożliwiający zadanie robotowi położenia punktu docelowego.. Widoczny na schemacie na rys. 3.6. bloczek „obl_kata” odpowiada za wyznaczenie kąta odchylenia pomiędzy aktualną orientacją robota a linią łączącą środek aktualnego położenia robota ze współrzędnymi punktu docelowego.. W oparciu o czujniki zbliżeniowe, możliwe jest również zaimplementowanie dla robota Khepera III algorytmu sterowania wykorzystującego logikę rozmytą. Przykład takiej aplikacji zamieszczono w Dodatku B. 35.

(36) 4. Czujniki zbliżeniowe i ich modele matematyczne W przypadku poruszania się robota w bliskich odległościach od przeszkód podstawowym źródłem informacji o tych przeszkodach są czujniki zbliżeniowe pracujące w paśmie podczerwieni. Czujniki te są łatwe w użyciu i tanie, natomiast znaczną niedogodnością w przypadku ich stosowania jest silna zależność poziomu sygnału wyjściowego od warunków zewnętrznych, takich jak: rodzaj powierzchni przeszkody (kolor i pochłanianie promieniowania IR), temperatura otoczenia i otaczające oświetlenie. Jednocześnie znaczenie sygnałów z czujników dla sterowania rozważanym robotem jest tym większe, że zgodnie z algorytmem Breitenberga są one bezpośrednim źródłem sygnałów sterujących. Z tego względu istotne jest podanie formalnego matematycznego modelu wiążącego poziom sygnału z czujnika z odległością od przeszkody. Propozycje takich modeli zostaną podane i przedyskutowane w niniejszym rozdziale. Wokół obudowy robota rozmieszczone jest 9 czujników (rys. 3.3). Dodatkowo pod spodem robota umieszczono 2 czujniki, umożliwiające wykrywanie np. krawędzi blatu.. Rys. 4.1. Sygnały z czujników IR w funkcji odległości od przeszkody dla różnych kolorów przeszkody oraz oświetlenia. 36.

(37) Poziomy sygnałów z wybranych czujników zbliżeniowych podczerwieni (emisja światła i pomiar po odbiciu) w funkcji odległości od przeszkody przedstawione zostały na rysunku 4.1. Rysunek ten przedstawia zbiorcze zestawienie charakterystyk tego samego czujnika (nr 4) zarejestrowanych odpowiednio dla przeszkody w kolorze białym, „naturalnego” drewna oraz przeszkody czarnej matowej (obudowa od komputera PC)- wykonane zarówno przy włączonym jak i wyłączonym oświetleniu w pomieszczeniu. Zaprezentowane wyniki eksperymentów pokazują przydatność czujników zbliżeniowych do wykrywania przeszkód podczas jazdy robota, ale jednocześnie nakazują zwrócić uwagę na sygnalizowany już fakt, że czujniki te. nie gwarantują uzyskiwania informacji o odległości z dużą dokładnością. i powtarzalnością. Jednakże przy założeniu odpowiedniego marginesu bezpieczeństwa umożliwiają robotowi wykrycie przeszkody dostatecznie wcześnie, żeby poprawnie skonstruowany algorytm sterowania pozwolił na bezkolizyjne jej ominięcie. W celu maksymalnego uniezależnienia działania robota od czynników zewnętrznych takich jak natężenie oświetlenia w pomieszczeniu czy fizyczne cechy materiału, z którego wykonane są przeszkody zaproponowano kilka funkcji, opisujących. poziom sygnału z czujnika. w funkcji odległości od przeszkody i dla różnych powierzchni przeszkód.. Rys. 4.2. Funkcja progowa dla czujnika. Z powodu silnej zależności charakterystyki od wielu wspomnianych czynników zewnętrznych- takie jak: kolor przeszkody, oświetlenie czy temperatura uzasadnione jest zastosowanie funkcji przedziałowych. 37.

(38) Pierwszą z nich jest prosta funkcja progowa opisana zależnością: U max U (d )    0. dla dla. d  dp d  dp. (4.1). gdzie dp- oznacza odległość progową, zdefiniowaną przedziałowo d p [d p ; d p ] , Umax- oznacza wartość sterowania przyjmowaną w przypadku osiągnięcia przez odległość wartości poniżej przyjętej wartości progowej dp. Sytuację taką zilustrowano na rysunku 4.2. Kolejną możliwą funkcją jest przedziałowa funkcja wykładnicza opisana zależnością: U (d )  U 0e. . d D. (4.2). gdzie d oznacza mierzoną odległość, dp – odległość stanowiącą próg natomiast wartości U0 oraz D zawierają się w przedziałach: U0 [U0 ;U0 ] , D  [ D ; D ] Wartości U0 oraz D zostają uzyskane na podstawie pomiarów zrealizowanych w różnych warunkach (np. dla różnych kolorów przeszkód lub w różnej temperaturze). Kolejną. propozycją. aproksymacji. charakterystyki. czujników. jest. przedziałowa. jednoargumentowa funkcja Mittag-Lefflera opisana zależnością: U (d )  U0  E (. d ) D. (4.3). gdzie: xk k  0  ( k  1) . E ( x)  . (4.4). przy czym U0 [U0 ;U0 ] , D  [ D ; D ] ,   [ ;  ] gdzie Γ(x)oznacza funkcję Gamma, będącą uogólnieniem funkcji silnia na liczby rzeczywiste: . (4.5).  ( x )   t x 1e  t dt 0. dla (4.5) zachodzi ( x  1)  x( x) Parametry przedziałowe wszystkich tych funkcji mogą być wyznaczone. doświadczalnie, rozwiązaniem jest odpowiedni sektor.. 38.

(39) Dwuargumentowa funkcja Mittag-Lefflera wyraża się zależnością: xk k  0  ( k   ) . E ,  ( x)  . (4.6). gdzie: . (4.7).  ( x )   t x 1e  t dt 0. Parametry przedziałowe wyrażają się zależnościami: U MLf ( l )  U 0 E  ,  (  al ). (4.8). a  [ a ; a ] ,   [ ;  ] ,   [  ;  ]. dla funkcji Mittag-Lefflera, gdzie oraz. (4.9). U exp (l )  U 0e  bl. dla funkcji wykładniczej, gdzie. b  [ b; b ]. Dla każdej z 6 charakterystyk przedstawionych na rysunku 4.1. wyznaczono parametry każdej z rozważanych funkcji poprzez minimalizację typowej kwadratowej funkcji kosztu: N. (4.10). I   (ui  sygni ) 2 i 1. gdzie: ui – kolejne punkty aproksymacji charakterystyki, sygni- kolejne punkty oryginalnego sygnału. Na rysunku 4.3. przedstawiono przykładową charakterystykę czujnika nr 4 (zarejestrowaną dla przeszkody w kolorze drewna, przy włączonym oświetleniu w pomieszczeniu) wraz. 39.

(40) z aproksymacją. funkcją. wykładniczą. opisaną. wzorem. (4.9).. Rys. 4.3. Charakterystyka czujnika odległościowego wraz z aproksymacją funkcją wykładniczą.. Taką identyfikację przeprowadzono dla wszystkich 6 charakterystyk przedstawionych na rysunku 4.1. W tabeli 4.1. zestawiono wartości wykładników b (we wzorze 4.9) dla których wskaźnik jakości I przyjmował minimalne wartości. Tabela 4.1. Zestawienie wartości wykładników oraz wskaźników jakości dla aproksymacji funkcją wykładniczą nr aproksymowanej charakterystyki. Wartość wykładnika b. wartość wskaźnika kwadratowego I. 1 2 3 4 5 6. 0.0290 0.0253 0.0852 0.0476 0.0265 0.0911. 5.6611*106 6.8454*106 5.1332*105 1.0594*106 4.9298*106 1.8398*105. Na rysunku 4.4 przedstawiono przykładową charakterystykę czujnika nr 4 wraz z aproksymacją dwuargumentową funkcją Mittag-Lefflera.. 40.

(41) Rys. 4.4. Charakterystyka czujnika odległościowego wraz z aproksymacją funkcją wykładniczą.. Analogicznie, w ten sam sposób przeprowadzono optymalizację dla wszystkich 6 przypadków charakterystyk uwzględnionych na rysunku 4.1. W tabeli 4.2. zestawiono wartości parametrów α,β oraz a (we wzorze 4.8) dla których wskaźnik jakości I przyjmował optymalne wartości. Tabela 4.2. Zestawienie wartości parametrów funkcji oraz wskaźników jakości dla aproksymacji dwuargumentową funkcją Mittag-Lefflera nr aproksymowanej charakterystyki. Wartość parametru. Wartość parametru. Wartość parametru. α. β. a. wartość wskaźnika kwadratowego I. 1 2 3 4 5 6. 0.8484 0.8360 0.7045 0.7026 0.8524 0.5219. 1.1826 1.1460 1.1186 1.0540 1.1500 0.9475. 0.0377 0.0307 0.1014 0.0518 0.0323 0.0869. 3.7101*106 4.9183*106 1.7815*105 2.5864*105 3.1914*106 1.4863*105. Na podstawie przeprowadzonych procesów optymalizacji jako przedział dla aproksymacji funkcją wykładniczą można przyjąć: b  [0.0253;0.0911] , natomiast dla aproksymacji dwuargumentową funkcją Mittag-Lefflera można przyjąć a  [ 0.0307;0.1014] ,   [0.5219;0.8524] 41.

(42) ,   [0.9474;1.1826] .Dzięki zastosowaniu funkcji przedziałowych możliwe jest stworzenie uniwersalnego modelu charakterystyki czujnika, który pozwala na zamodelowanie bezkolizyjnego poruszania się robota niezależnie od cech materiałowych przeszkód. Na podstawie wykresów przedstawionych na rysunkach 4.3 i 4.4 oraz tabel 4.1 i 4.2 można też zauważyć, że funkcja Mittag-Lefflera ze względu na charakterystyczny kształt swojego przebiegu dokładniej opisuje charakterystykę czujnika, niż typowa funkcja wykładnicza.. 42.

(43) 5. Model kinematyki robota i jego analiza 5.1. Nieliniowy model kinematyki i jego linearyzacja Analizę modelu kinematyki robota rozpoczniemy od spostrzeżenia, że sensowne z punktu widzenia działania robota wartości wszystkich zmiennych występujących w równaniu (5.3) zmiennych są ograniczone ze względu na ich fizyczną realizowalność i wielkość przestrzeni roboczej robota. Jeżeli przyjmiemy, że początek układu współrzędnych znajduje się w lewym dolnym rogu przestrzeni roboczej (jak pokazano na rysunku 5.1) oraz maksymalne prędkości obrotowe obu kół są równe i wynoszą ωmax , to wszystkie zmienne można zapisać w postaci następujących liczb przedziałowych: X  x : x  xmin ; xmax   R Y  y : y  0; ymax   R .   0;2   L  0; max   R  P  0; max   R. (5.1). K  0; K max   R . Mając zdefiniowane maksymalne wartości współrzędnych przestrzeni roboczej, możemy zdefiniować całą przestrzeń roboczą robota jako:. Z  X  Y  R2. (5.2). 43.

(44) Rys. 5.1. Przestrzeń robocza w przypadku rzeczywistym przy założeniu ograniczeń (5.1). Rys. 5.2. Ilustracja wielkości fizycznych występujących w modelu kinematyki robota Khepera III. Model kinematyki robota Khepera III zostanie przedstawiony w oparciu o wielkości fizyczne pokazane. na. rysunkach. 5.1. i. 5.2.. Rozmieszczenie. czujników. zbliżeniowych. wykorzystywanych w części eksperymentalnej przedstawia rysunek 5.3. Równanie ruchu robota Khepera III opisane jest przez (5.3):. 44.

(45) Rys. 5.3. Rozmieszczenie czujników zbliżeniowych i napędów robota   x    sin      y   cos     0      1    1   r   1    r 2  . 0 0  1  u1  l  u 2  r  l  r . (5.3). gdzie: x,y- aktualne położenie środka robota w globalnym układzie współrzędnych, θ- kąt obrotu lokalnego układu współrzędnych (X1,Y1 ) związanego z osiami kół robota w stosunku do globalnego układu współrzędnych (X0 ,Y0 ), ϕ1 , ϕ2- położenia kątowe odpowiednio lewego i prawego koła. W równaniu (5.3) u1 jest prędkością liniową robota, u2 prędkością zmian orientacji robota. Z modelu kinematyki (5.3) można wyznaczyć równania na prędkości w obu kierunkach u1 oraz u2: . .   u1  r  2 1 2 . u2  r . (5.4) . 1   2 2l 45.

(46) Po przekształceniu. równanie kinematyki (5.3) i przy uwzględnieniu zależności (5.4). otrzymuje się związek między składowymi prędkości ruchu całego robota a prędkościami kół:     r  sin  x   2     r  cos   y    2   r        2l. r  sin   2    r  cos   1    2    r   2   2  l . . (5.5). Przyjmując oznaczenia jak na rysunku 5.4 prędkości kątowe poszczególnych kół wyznaczone zgodnie z ideą algorytmu Braintenberga (opisanego w podrozdziale 2.1) można wyrazić następująco: 4. 8.  L   wnu n   wn u n  K n 1. 4. (5.6). n 5. 8.  P    wn u n   wnu n  K n 1. n 5. gdzie: ωL, ωP – prędkości kątowe odpowiednio lewego i prawego koła, u1, ..., un – wartości pomiarów z czujników w1, ..., wn - wartości wag dla poszczególnych czujników K- pewna stała wartość prędkości bazowej Wartości pomiarów. z czujników u1,…,un przyjmują wartość wyrażone funkcjami. przedziałowymi opisanymi zależnościami (4.1), (4.8) lub (4.9).. Rozważany model kinematyki opisany przez (5.5) dotyczący algorytmu Braitenberga bez podania punktu docelowego jest modelem nieliniowym. W celu analizy stabilności i sterowalności prowadzonych w kolejnych podrozdziałach dokonamy linearyzacji modelu (5.5). Linearyzację rozpoczniemy od wyznaczenia punktów równowagi. Punkty równowagi spełniają następujący układ równań: ( (. − − =0. 46. )=0 )=0. (5.7).

(47) przy uwzględnieniu ograniczeń wyrażonych poprzez (5.1) Na podstawie (5.7) można stwierdzić, że układ równań (5.5) zeruje się dla prędkości obu kół równych jednocześnie zero oraz prędkości bazowej K także równej zero niezależnie od wartości wszystkich zmiennych stanu. Z tego wynika, że punktem równowagi rozważanego modelu jest każdy punkt przestrzeni roboczej przy wyłączonych napędach kół. Bazując na I metodzie Lapunova [Mitkowski 1991] dokonuje się linearyzacji bezpośrednio z postaci (5.5) i otrzymuje się macierz jakobianową (5.8) pierwszych pochodnych dla dowolnego punktu równowagi:.  f1  x  f A 2  x  f  3  x. f1 y f 2 y f 3 y. f1    f 2    f 3    . (5.8). f1 x. 0. f1 y. 0. f 1 .  r cos  ( P   L ). f 2 x. 0. f 2 y. 0. f 2 .   r sin  ( L   P )  r sin  ( P   L ). f 3 x. 0. f 3 y. 0. f 3 . 0. (5.9 a-i). W konkretnym przypadku macierz jakobianowa (5.8) przyjmie postać: 0 = 0 0. 0 0 0. ( (. − −. ) ). (5.10). 0 47.

(48) Dla zmodyfikowanego algorytmu Braitenberga, pozwalającego na dojazd do zadanego punktu docelowego (xk,yk) prędkości kół wyrażone zostaną zależnością: 4. 8.  L   wnu n   wnu n  K  M  n 1. (5.11). n 5. 4. 8.  P    wn u n   wn u n  K  M  n 1. n5. gdzie: M- waga współczynnika związanego z korygowaniem prędkości poszczególnych kół w zależności od odchylenia aktualnego kierunku jazdy robota od prostej przechodzącej przez środek robota i punktu docelowy β- kąt pomiędzy aktualnym kierunkiem ruchu robota a prostą przechodzącą przez środek robota i punktu docelowy Schemat poglądowy robota poruszającego się zgodnie ze zmodyfikowanym algorytmem Braitenberga przedstawiono na rys 5.4. Z rysunku 5.4. wynikają poniższe zależności: (5.12).   .   arctan. yk  y xk  x. (5.13). 8  4    r   wn u n  wn u n  M   n 1 n 5 . (5.14). 8  4 y  y    r   wn u n  wn u n  M  M arctan n xn  x  n 5  n 1. (5.15). 48.

(49) Rys.5.4. Ilustracja zmodyfikowanego algorytmu Braitenberga [Łubiarz 2016]. Dla przypadku z podanym punktem docelowym (zmodyfikowany algorytm Braitenberga) zachodzi zależność: 4 8 y y      wnu n   wnun  M  M arctan k xk  x n 1 n 5. (5.16). Podsumowując powyższe rozważania model kinematyki robota z zadanym punktem końcowym w przestrzeni stanu można zapisać następująco:. 49.

(50)  Kr x  cos   l  Kr  y  sin   l  4 8   w u  w u  M  Marctg yk  y   n n n n  xk  x n 1 n 5. (5.17). Zauważmy, że w przypadku, gdy punkt końcowy (xk,yk) nie jest określony, model kinematyki (5.17) redukuje się do modelu bez punktu końcowego, który opisuje wyłącznie omijanie przeszkody. Prędkość liniowa ruchu robota jest równa: 1 V  ( L   P )  K 2. (5.18). Natomiast prędkość kątowa zmiany orientacji przestrzennej robota jest równa: 4 8 y y      wnu n   wnu n  M  M arctan k xk  x n 1 n 5. (5.19). Trajektoria robota, określona jako rozwiązanie równania stanu (5.17) musi spełniać następujące warunki: (1) startować w punkcie (0,0,θ0) (2) kończyć się w punkcie końcowym (xk,yk, θk) (3) nie może się przecinać z żadną z przeszkód. Układ opisany (5.13) jest nieliniowy. W celu jego analizy z użyciem podejścia liniowego możemy dokonać jego linearyzacji. W pierwszej kolejności szuka się punktów równowagi robota: (x0,y0, θ0). Muszą one spełniać warunek zerowania się wszystkich pochodnych:  x  0   y  0   0 . (5.20). Z czego wynika:  Kr cos  0  l  Kr  sin   0  l 4 8  w u  w u  M  M arctan yk  y  0  n n n n  xk  x n 1 n 5. 50. (5.21).

(51) Z analizy równania (5.21) wynika, że: przy braku sygnałów z czujników oraz K=0 punktem równowagi jest każdy punkt obszaru roboczego. Po przyjęciu tego założenia możemy opisać model zlinearyzowany jako:  x  Ax  Bu   y  Cx. (5.22). gdzie:  0   A 0  ( yk  y )   ( y  y ) 2  ( x  x) 2 k  k. 0 B   0  w1. 0 0  ( xk  x ) ( y k  y ) 2  ( xk  x ) 2. 0. 0. 0. 0. 0. 0. 0. 0 w2. 0 w3. 0 w4. 0  w4. 0  w3. 0  w2. 0  w1. 1 0 0  C  0 1 0 0 0 1. Kr cos    l  Kr sin   l   M  . (5.23). 1 1 0. (5.24). (5.25). 5.2. Stabilność modelu kinematyki Analiza stabilności modelu kinematyki zostanie przeprowadzona osobno dla przypadku algorytmu Braintenberga bez i z podaniem punktu docelowego Dla przypadku bez podania punktu końcowego równanie (5.17) przyjmie postać:  Kr x  cos  l  Kr  y  sin   l  4 8   w u  w u  n n  n n  n 1 n 5. (5.26). 51.

(52) Punkty równowagi równania (5.26) są następujące:  Kr cos  0  l  Kr  sin   0  l 4 8  wu  wu 0  n n n n  n 1 n 5. (5.27). Z powyższego układu równań wynika, że punktem równowagi jest każdy punkt dla zerowych sterowań. Na podstawie (5.27) można stwierdzić, że układ równań (5.26) zeruje się dla prędkości obu kół równych jednocześnie zero oraz prędkości bazowej K także równej zero niezależnie od wartości wszystkich zmiennych stanu. Z tego wynika, że punktem równowagi rozważanego modelu jest każdy punkt przestrzeni roboczej przy wyłączonych napędach kół. Na podstawie macierzy pierwszych pochodnych opisanej wzorem (5.10) wynika, że liniowe przybliżenie systemu (5.5) jest stabilne, ale nie jest asymptotycznie stabilne- występuje jedna potrójna wartość własna w zerze. Z tego względu nie można określić stabilności systemu na podstawie pierwszej metody Lapunova. Do dalszej analizy zastosowano drugą metodę Lapunova. Proponowany funkcjonał Lapunova i jego uzasadnienie Do analizy stabilności w otoczeniu punktu równowagi wykorzystana zostanie II metoda Lapunova. Proponowany funkcjonał dla przypadku bez podania punktu końcowego przyjmie postać formy kwadratowej jak poniżej, przy spełnieniu ograniczeń (5.1): V (q)  qT Pq. (5.28). gdzie P jest dodatnią macierzą kwadratową (przykładowo- może to być macierz diagonalna) : V (q)  qT Pq. (5.29). Przykładowo:  p1 P   0  0. 0 p2 0. 0 0  p3 . (5.30). 52.

(53) Przypomnijmy, że wektor stanu ma postać:  x q   y   . (5.31). Po uwzględnieniu (5.30) i (5.31) funkcjonał (5.29) przyjmuje postać:  p1 pV ( q )  q Pq  [ x y  ] 0  0 T. 0 p2 0. 0  x 1 1 1 0   y   p1 x 2  p 2 y 2  p 3 2 2 2 2 p3   . (5.32). Funkcjonał w postaci (5.32) spełnia podstawowe założenie dotyczące funkcjonału Lapunova, gdyż: V ( q )  0 dla.  0 q   0 ,  0. V ( q )  0 dla.  0 q   0  0. (5.33). Z kolei pochodna funkcjonału (5.32) liczona wzdłuż trajektorii systemu, w przypadku układu bez zadanego punktu końcowego, opisanego przez (5.5) jest równa: V rK V (t )  q  p1 xr sin  ( P   L )  p2 yr cos  ( P   L )  p3 2 q l. (5.34). Zauważmy, że czynnik z wagą p3 w (5.34) jest zawsze ujemny, gdyż wszystkie pozostałe parametry występujące w tym czynniku są dodatnie (są to wymiary robota oraz współczynnik wzmocnienia). To implikuje, że można dobrać taką skończoną i dodatnią wartość wagi p3 w wyrażeniu (5.34), że będzie ono ujemnie określone w całej przestrzeni stanu, określonej przez (5.10). Wartość tej wagi musi spełniać następującą nierówność przedziałową dla każdego z przedziałów określonych przez (5.1): p3 . l p1 sin (P  L )  p2 cos (L  P ) K. (5.35). Na podstawie powyższych rozważań można sformułować wniosek, że rozważany model kinematyki robota bez zadanego punktu końcowego określony przez (5.5) jest globalnie stabilny w całej rozważanej przestrzeni roboczej.. Z kolei dla przypadku algorytmu Braitenberga z zadanym punktem końcowym pochodna funkcjonału Lapunova (5.29) liczona wzdłuż trajektorii systemu przyjmie postać:. 53.

Cytaty

Powiązane dokumenty

Podczas analizy dynamiki oraz symulacji ruchu robota uwzględniono takie czynniki, jak: poślizgi gąsienic zależne od podłoża i odkształceń szponów, siłę wyporu

Nowoczesne oprogramowanie CAD/CAE oferuje spójny i elastyczny zestaw modułów do trójwymiarowego projektowania mechanicznego, symulacji, tworzenia narzędzi oraz

Uroczyście zapraszam na publiczną obronę mojej rozprawy doktorskiej pt.. Algorytmy wysokiej dokładności śledzenia trajektorii

Przedstawiono, jak śledzi się położenia przegubów i końcówki robota niezależnie od elementów elektromechanicznych oraz równocześnie przeszkody należące do środowiska,

interpolacyjnej przy użyciu krzywych Beziera, co pozwala na jej użycie w funkcji kary,. ● eksperymentalna generacja sterowań, prowadzona przy użyciu optymalizacji on-line,

wa zaoferował nam wiele atrakcji, nie tylko jako miejsce, gdzie mogłyśmy spożywać posiłki, ale także przygotować się do zajęć, odpocząć i „wmieszać” w grupę

Jest w tym działaniu jednak pewna logika – uzyskanie doraźnych korzyści przez rządzących w postaci uniknięcia straj- ków, zdobycia poparcia przed kolejnymi wyborami,

Doktor Zastrow z zarządu Niemieckiego Towarzy- stwa Higieny Szpitalnej postuluje wprowadzenie takich rygorów w całych Niemczech, ale szef komu- nalnej służby zdrowia w