• Nie Znaleziono Wyników

Eksperymenty z wykorzystaniem rzeczywistych robotówrobotów

W dokumencie Index of /rozprawy2/11382 (Stron 98-107)

Serwer lokalizacji

5.3 Eksperymenty z wykorzystaniem rzeczywistych robotówrobotów

W dalszej części rozprawy opisano platformę robota Czterokołowa Autonomiczna Platforma mObilna (CAPO) i przedstawiono sposoby testowania algorytmów na rze-czywistych robotach oraz przypadki testowe.

5.3.1 Platforma CAPO

W celu weryfikacji poprawności algorytmów wykorzystano platformę mobilną Czte-rokołowa Autonomiczna Platforma mObilna (CAPO), które została w całości zapro-jektowana oraz zrealizowana w Katedrze Informatyki [92]. W stworzonym rozwiązaniu położono nacisk na prostotę konstrukcji. Robot został zbudowany z ogólnie dostęp-nych na rynku komponentów. Integracja poszczególdostęp-nych podzespołów umożliwiła łatwy i szybki montaż kolejnych egzemplarzy robotów bez konieczności stosowania dodatko-wych wyspecjalizowanych modułów. Podejście takie zapewniło łatwą rozszerzalność urządzenia, prostą instalację oraz szybkie diagnozowanie i usuwanie usterek.

Rysunek 5.22: Przykładowe konfiguracje robota CAPO [92].

Robota CAPO składa się z następujących elementów:

• konstrukcja mechaniczna – obudowa wykonana z aluminium i poliwęglanu o wymiarach 22 cm x 20 cm x 6 cm, przystosowana do montażu czterech silników, • podsystem zasilania – zasilany przez dwie baterie litowo-polimerowe o

nomi-nalnym napięciu 14.8 V i pojemności 5 Ah każda, połączonych równolegle, • podsystem napędowy – składający się ze sterowników silników, czterech

silni-ków oraz kół,

• komputer sterujący – PandaBoard ES (szczegółowa specyfikacja zamieszczona została w dodatku B),

• układy sensoryczne i inne peryferia – w zależności od konfiguracji robot wyposażony jest w: skaner laserowy, sensor Inertial Measurement Unit (IMU), kamery USB czy sensor MS Kinect.

Na rysunku 5.22 przedstawiono przykładowe konfiguracje robota CAPO.

Kontrolę nad poszczególnymi podzespołami sterującymi robotem sprawuje popu-larny i stabilny system operacyjny Ubuntu. System umożliwia integrację i uruchamia-nie programów napisanych w wielu popularnych technologiach.

Opracowana platforma łączy komponenty programowe umożliwiając zunifikowany dostęp do podzespołów robota za pomocą interfejsu programistycznego [90]. Sterowniki poszczególnych modułów zostały w większości napisane w języku C. Warstwą zarządza-jącą dostępem do sterowinków zajmuje się aplikacja „Mediator” zrealizowana w tech-nologii Erlang. Dostarczane przez warstwę metody umożliwiają: uruchamianie, zatrzy-mywanie, pobieranie i odbieranie danych oraz monitorowanie każdego ze sterowników. „Mediator” dostarcza klientom lokalnym oraz zdalnym metod obsługi poszczególnych komponentów. Na rysunku 5.23 przestawiono diagram architektury oprogramowania sterującego robotem CAPO.

Maszyna wirtualna Erlanga Nadzorca

sterownikówNadzorca Mediator komunikacjiNadzorca sterowników Port sterownika Sterownik silników Sterownik IMU Sterownik ... Router

wiadomości klientaŁącze

Klient lokalny WiFi loopback Klient zdalny Cyber-przestrzeń Komputer sterujący robota

Rysunek 5.23: Diagram architektury oprogramowania sterującego robota CAPO [92].

Zarówno możliwości sprzętowe jak i programowe dostarczane przez platformę CAPO umożliwiły przeprowadzenie eksperymentów weryfikujących poprawność działania stworzonych algorytmów koordynacji.

W celu lokalizacji robota w labiryncie, stworzono system oparty o kamerę umiesz-czoną na suficie oraz markery zamieszczone na górnej obudowie robota. Stworzony system lokalizacji wykorzystuje bibliotekę do przetwarzania obrazu OpenCV4 oraz

sys-4

tem markerów Aruco5. Na rysunku 5.24 przedstawiono schemat systemu lokalizacji robotów w labiryncie.

Serwer Lokalizacji Serwer Lokalizacji

Rysunek 5.24: System lokalizacji robotów CAPO.

Pozycja każdego robota rozsyłana jest przez serwer lokalizacji do wszystkich uczest-ników ruchów.

5.3.2 Scenariusze testowe

W celu sprawdzenia poprawności działania algorytmów wytypowano zestaw kon-figuracji, które na etapie symulacji najlepiej obrazują działania każdej z metod. We-ryfikację poprawności działania algorytmów z wykorzystaniem rzeczywistych robotów przeprowadzono dla następujących układów labiryntów:

• otwarta przestrzeń; ustawienia: 1-1 oraz 1-2,

• otwarta przestrzeń skos; ustawienia: zadanie 1 oraz zadanie 2, • przejście przez drzwi; ustawienia: 1-H1 oraz 1-H2,

• mijanka.

Ze względu na ograniczoną przestrzeń laboratorium, testy dla rzeczywistych robo-tów zostały przeprowadzone dla maksymalnie czterech roborobo-tów. Wszystkie ekspery-menty zostały wykonane z wykorzystaniem robotów CAPO. Każdy ze zdefiniowanych przypadków testowych został powtórzony pięciokrotnie dla każdej z wybranych konfi-guracji.

Dla algorytmów, którym na etapie symulacji nie udało się ukończyć zadania nie podjęto prób sprawdzenia ich działania w testach z użyciem rzeczywistych robotów. Do testów wybrano tylko te konfiguracje, które na etapie symulacji zakończyły się po-wodzeniem. Szczegółowy opis poszczególnych zadań został zamieszczony w rozdziałach: 5.1.3, 5.1.4 oraz 5.1.8.

W dalszej części zaprezentowano omówienie wyników testów dla rzeczywistych ro-botów.

5.3.3 Otwarta przestrzeń

Ustawienie prostopadłe

W metodzie R robot o mniejszym współczynniku respektu ustępuje pierwszeństwa robotowi o większym współczynniku respektu (przypadek 1-1 ) (1-1; url:1-1). W konfi-guracji 1-2 pojedynczy robot ustępuje pierwszeństwa nadjeżdżającej z przeciwka grupie robotów (1-2; url:1-2).

W eksperymentach dla algorytmu PR roboty wymijają się wzajemnie (1-1, 1-2; url:1-1 ,url:1-2) tak, jak można to zaobserwować w trakcie testów w symulatorze.

W konfiguracji 1-1 dla rozwiązania R+ zachowanie robotów jest zbliżone do za-chowania z symulacji (1-1; url:1-1). Niewielką różnicę zaza-chowania robota omijającego grupę możemy zaobserwować dla ustawienia 1-2 (1-2; url:1-2). W symulacji, grupa rozjeżdża się na boki umożliwiając pojedynczemu robotowi przeciśnięcie się pomiędzy uczestnikami ruchu. W eksperymencie z rzeczywistymi robotami, pojedynczy robot zjeżdża w bok ustępując pierwszeństwa grupie. Obserwowana różnica wynika z innego zgrupowania się robotów. W symulacji dochodzi do grupowania pomiędzy pojedynczym robotem a grupą, czego nie obserwujemy w eksperymentach z rzeczywistymi robotami. Przeprowadzone dla ustawień 1-1 oraz 1-2 testy potwierdziły poprawność działania metod R, PR oraz R+. Sposób poruszania się robotów w poszczególnych algorytmach jest zbieżny z symulacją. Przy zadanej konfiguracji potwierdza to poprawność działania algorytmów testowanych przy wykorzystaniu rzeczywistych robotów. Na rysunku 5.25 przestawiono kadry z przejazdu robotów dla konfiguracji: 1-1 oraz 1-2.

Rysunek 5.25: Przejazd rzeczywistych robotów w labiryncie ustawienie prostopadłe

algo-rytm R ustawienie 1-1.

Analizując wyniki eksperymentów zauważyć można, iż w obu przypadkach z wyko-naniem zadania najlepiej poradził sobie algorytm PR. W podobnym czasie ukończyły zadanie algorytmy R oraz R+. Najgorzej poradził sobie algorytm RVO (1-1, 1-2; url:1-1, url:1-2). Wyniki eksperymentów dla konfiguracji 1-1 oraz 1-2 przedstawia rysunek 5.26. R RVO PR R+ 200 250 300 350 400 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

w Ustawienie 1-1 R RVO PR R+ 250 300 350 400 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

w

Ustawienie 1-2

Rysunek 5.26: Wyniki eksperymentów z wykorzystaniem rzeczywistych robotów mapa

otwarta przestrzeń ustawienia prostopadłe.

Ustawienie skos

Zarówno konfiguracja cztery roboty zadanie 1 jak i cztery roboty zadanie 2 wy-konały powierzone zadanie przejechania labiryntu po skosie. Roboty dla testowanych przypadków zachowywały się w zbliżony sposób jak w symulatorze. Na rysunku 5.27 przedstawiono kadr z przejazdu robotów dla konfiguracji cztery roboty zadanie 1.

Rysunek 5.27: Przejazd rzeczywistych robotów w labiryncie otwarta przestrzeń ustawienie

skos cztery roboty zadanie 1 metodą R.

W trakcie eksperymentów roboty dla algorytmu PR poruszały się zgodnie z przy-jętymi zasadami ruchu. Podczas przejazdu zaobserwować można, że robot ustępuje pierwszeństwa nadjeżdżającemu z prawej strony, a następnie stara się kontynuować ruch. Spotykające się w centralnym punkcie labiryntu roboty, starają się wzajemnie wyminąć. Spośród testowanych algorytmów właśnie PR udało się w obu przypadkach zakończyć zadanie w najkrótszym czasie. Na rysunku 5.28 przedstawiono wyniki eks-perymentów z udziałem rzeczywistych robotów dla cztery roboty zadanie 1 oraz cztery

roboty zadanie 2 (cztery roboty zadanie 1, cztery roboty zadanie 2; url:cztery roboty

zadanie 1, url:cztery roboty zadanie 2).

R RVO PR R+ 600 700 800 900 1000 1100 1200 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

w

Ustawienie skos zadanie 1

R RVO PR R+ 1200 1400 1600 1800 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

w

Ustawienie skos zadanie 2

Rysunek 5.28: Wyniki eksperymentów z wykorzystaniem rzeczywistych robotów mapa

otwarta przestrzeń.

Przeprowadzone testy dla algorytmu R wykazały, iż ustępowanie pierwszeństwa leżne jest od współczynnika respektu oraz aktualnego zgrupowania się robotów. W

za-daniu 1 oraz zaza-daniu 2 obserwujemy jak robot o niższym współczynniku respektu

ustępuje pierwszeństwa robotom o wyższym współczynniku respektu (cztery roboty zadanie 1, cztery roboty zadanie 2; url:cztery roboty zadanie 1, url:cztery roboty za-danie 2). Zmieniając swoje bieżące ustawienie, uczestnicy ruchu dynamicznie tworzą grupy z innymi robotami stając się bardziej lub mniej „ważnymi” robotami. Grupo-wanie w jednym przypadku skłania roboty do kontynuowania wykonywanego zadania, zaś w innym do ucieczki. Roboty dość często zmieniają kierunek, w którym chcą się poruszać, co wynika z bieżącej przynależności do grupy, ale i z braku synchronizacji obliczeń dla kolejnych pozycji robota. Powoduje to lekkie oscylacje w ruchu, które prze-kładają się nieznacznie na czas wykonania powierzonego zadania. Algorytm wykonał powierzone zadania w bardzo zbliżonym czasie do algorytmu PR.

W algorytmie R+ podczas wykonywania testów dochodzi do wzajemnego przepy-chania się robotów w centralnej części labiryntu (cztery roboty zadanie 1, cztery roboty zadanie 2; url:cztery roboty zadanie 1, url:cztery roboty zadanie 2). Częsta zmiana kie-runku ruchu niekorzystnie wpływa na całkowity czas wykonania zadania. Zachowanie rzeczywistych robotów powiązane jest bowiem z czasem potrzebnym na wykonanie skrętu. W symulacji kąt jest precyzyjnie zmieniany, podczas gdy roboty zbliżają się do siebie. Bezwładność robotów w trakcie modyfikacji kąta jest na tyle duża, iż nie pozwala im wykonać tego zadania w sposób płynny. Gdy roboty zbliżą się do sobie na zbyt małą odległość i zaczynają się wzajemnie grupować, ich współczynniki są na tyle duże, iż roboty chcą kontynuować wykonywanie zadania. Sytuacja ta kolejny raz zmie-nia się, gdy roboty skierują się w stronę punktu docelowego. Proces ten powtarza się wielokrotnie i przez to dochodzi do oscylacji pomiędzy uczestnikami ruchu. Algorytm

R+ osiągnął podobny czas wykonania zadania jak metoda referencyjna RVO.

Również i dla metody RVO bezwładność robotów uniemożliwia łagodną zmianę kąta skrętu robota. Uczestnicy ruchu spotykają się w centralnej części laboratorium i wzajemnie „przepychają się” (cztery roboty zadanie 1, cztery roboty zadanie 2; url:cztery roboty zadanie 1, url:cztery roboty zadanie 2).

5.3.4 Przejście przez drzwi

W metodzie R robot o mniejszym współczynniku respektu zmuszany jest do ustą-pienia pierwszeństwa w wąskim przejściu, analogicznie jak obserwujemy to podczas symulacji.

W algorytmie PF oraz PF+ robot starający się wejść do pomieszczenia ustępuje pierwszeństwa w wąskim przejściu robotowi wychodzącemu z pomieszczenia (konfigu-racja 1-H1 ). W ustawieniu 1-H2 to grupa robotów przepuszcza pojedynczego robota

w przejściu. Obserwowane sytuacje potwierdzają poprawność działa algorytmów PF oraz PF+. Na rysunku 5.29 przedstawiono kadr z przejazdu robotów dla konfiguracji:

1-1 oraz 1-2.

Rysunek 5.29: Przejazd rzeczywistych robotów w labiryncie przejście przez drzwi ustawienie

1-H2 metodą PF+.

Roboty dla konfiguracji 1-H1 algorytm R+ zachowują się w zbliżony sposób jak w symulacji (1-H1; url:1-H1). W przypadku 1-H2 dochodzi, podobnie jak w symula-cji, do wzajemnego przepychania się robotów w obszarze przejścia (1-H2; url:1-H2). W symulatorze, robotowi wychodzącemu z pomieszczenia udaje się przejechać pomię-dzy robotami. W eksperymentach z udziałem rzeczywistych robotów, robot próbujący wyjść z pomieszczenia jest spychany w głąb pomieszczenia oddalając się od przejścia.

R PF RVO PR R+ PF+ 240 260 280 300 320 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

w Ustawienie 1-H1 R PF RVO PR R+ PF+ 400 500 600 700 800 900 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

w

Ustawienie 1-H2

Rysunek 5.30: Wyniki eksperymentów z wykorzystaniem rzeczywistych robotów mapa

przejście przez drzwi.

W badanych przypadkach algorytmy RVO oraz PR nie poradziły sobie z wykona-niem zadania.

Zarówno w przypadku 1-H1 oraz 1-H2 najlepiej poradziły sobie metody PF (1-H1, 1-H2; url:1-(1-H1, url:1-H2) oraz PF+ (1-(1-H1, 1-H2; url:1-(1-H1, url:1-H2). Algorytmy

R (1-H1, 1-H2; url:1-H1, url:1-H2) i R+ przy tej konfiguracji wykonały zadanie w nieco

gorszym czasie. Na rysunku 5.30 przestawiono wyniki eksperymentów przy wykorzy-staniu rzeczywistych robotów dla konfiguracji 1-H1 oraz 1-H2.

5.3.5 Mijanka

Dla konfiguracji 1-H1 eksperymenty potwierdziły poprawność działania algorytmu

R (1-H1; url:1-H1) oraz R+ (1-H1; url:1-H1). Roboty zachowywały się w podobny

sposób jak było to obserwowane w symulacji. Potwierdza to poprawność działania algorytmów na mapie przy zadanej konfiguracji dla rzeczywistych robotów. Na rysunku 5.31 przestawiono kadr z przejazdu robotów dla konfiguracji 1-H1.

Rysunek 5.31: Przejazd rzeczywistych robotów w labiryncie mijanka algorytm R

ustawie-nie: 1-H1.

W prezentowanej sytuacji robot o mniejszym współczynniku respektu ustępuje pierwszeństwa robotowi, którego współczynnik respektu jest większy. Robot wyko-rzystuje do wyminięcia obszar mijanki w celu uniknięcia kolizji.

Porównując działanie algorytmu R oraz R+ możemy zauważyć, iż w testach z udzia-łem rzeczywistych robotów algorytm R poradził sobie nieznacznie gorzej niż algorytm

R+. Na rysunku 5.32 przedstawiono wyniki eksperymentów dla rzeczywistych robotów,

dla ustawienia 1-H1.

Różnica ta wynika z wielkości i umiejscowienia obszaru mijanki na mapie. Łączna długość mijanki oraz obszaru, który musi przebyć robot o mniejszym współczynniku respektu jest podobna do drogi jaką musi przebyć drugi robot. W zaistniałej sytuacji oba roboty „wykryją się” wzajemnie w obszarze mijanki, a nie w wąskim korytarzu jak stało się to w symulacji. W przeprowadzonym scenariuszu testowym brak jest sytuacji, w której robot ucieka przed goniącym go osobnikiem, co obserwujemy w sce-nariuszach symulacyjnych. Oba algorytmy zadziałały podobnie nakazując skierowanie robota w obszar mijanki i tym samym unikając konfrontacji z drugim robotem.

R RVO PR R+ 260 270 280 290 300 310 320 Nazwa algorytmu Łą czn

y czas dla wszystkich robotó

W dokumencie Index of /rozprawy2/11382 (Stron 98-107)

Powiązane dokumenty