• Nie Znaleziono Wyników

Modele przestrzeni rzeczywistej

W dokumencie Index of /rozprawy2/10194 (Stron 57-60)

Agenty programowe wykorzystywane w systemach zarządzających robotami mobil-nymi mogą być postrzegane jako implementacje algorytmów sterujących urządzeniami fi-zycznymi. Oczywiście mogą wykonywać znacznie więcej funkcji, jednak pewne elementy klasycznego sterownika również posiadają. Najważniejszym z nich jest model fragmen-tu rzeczywistości, który jest podstawą podejmowania decyzji, czyli obliczania sterowania. Matematyczny model rzeczywistości jest zawsze obecny w programach komputerowych ste-rujących urządzeniami rzeczywistymi. Zawsze występuję tzw. cykl sterowania, w którym algorytm pobiera informacje z sensorów i oblicza sterowanie, które zbliża układ do stanu pożądanego.

Jak wspomniano w rozdziale 4.1.1, algorytmy sterujące grupami robotów często dzieli się na celowe i behawioralne (reaktywne) [75]. Metody celowe tworzą plan działania na podstawie jawnie zdefiniowanego modelu rzeczywistości, którym jest np. mapa pomiesz-czenia, w którym robot ma się przemieszczać. Metody reaktywne obliczają sterowanie na podstawie bieżących odczytów z sensorów. W przypadku reaktywnej nawigacji będzie to nadawanie odpowiednich prędkości kół na podstawie pomiarów odległości od przeszkód. Model systemu nie jest tu definiowany jawnie; jest zaszyty w równaniach implementowa-nych przez algorytm obliczający sterowanie. Jest to podejście znacznie bliższe rozwiąza-niom klasycznej teorii sterowania.

Rodzaj wykorzystywanego modelu jest uzależniony od stosowanego algorytmu. Jednak z punktu widzenia rozważanej w niniejszej pracy jakości systemu, ważniejsze są ograni-czenia w możliwościach przetwarzania określonego modelu. Jak wcześniej wspomniano, większość kluczowych problemów związanych ze sterowaniem robotami mobilnymi, zosta-ła już rozwiązana. Trzeba jednak zaznaczyć, że istniejące rozwiązania takich zagadnień jak lokalizacja, planowanie trasy czy koordynacja ruchu mają bardzo znaczące ograniczenia dotyczące wydajności, wielkości środowiska działania, liczby robotów, czyli maksymalnej wielkości przetwarzanego modelu.

Rozwiązaniem problemu skali, czyli wielkości przetwarzanych w systemie modeli, może być hierarchizacja sterowników, czyli w zbudowanie systemu agentowego zarządzającego grupą lub grupami robotów na różnych poziomach abstrakcji. Takie podejście jest oparte na idei sterowania hierarchicznego, dość szeroko opisywanego w pracach z dziedziny teo-rii sterowania [3], które w połączeniu z podejściem agentowym pozwala rozwiązać wiele problemów związanych ze skalowalnością i rozszerzalnością systemów.

Model szczegółowy, przetwarzany przez agenta sterującego bezpośrednio efektorami ro-bota, nie może (i nie musi) obejmować całego środowiska. Model agentów zarządzających całym systemem nie musi być przesadnie szczegółowy. Do podjęcia odpowiednich, ogól-nych decyzji wystarcza wiedza o wybraogól-nych, kluczowych aspektach rzeczywistości. Ilość

poziomów w hierarchii nie musi być ograniczona. W miarę wzrostu skali systemu możliwe jest dodawanie kolejnych warstw, odpowiedzialnych za coraz bardziej ogólne przetwarzanie coraz większych fragmentów systemu, z wykorzystaniem coraz bardziej ogólnych modeli. Taka architektura systemu agentowego będzie w niniejszej pracy nazywana architekturą wielomodelową.

Ogólna koncepcja sterowania wielomodelowego była rozwijana już w latach siedemdzie-siątych XX wieku [19, 18]. Może ona być z powodzeniem stosowana w wielu zagadnieniach, w których zastosowanie jednego modelu systemu nie jest wystarczające.

Przykład hierarchii agentów zarządzających systemem wykorzystującym roboty ilu-struje rysunek 6.3. Agenty na różnych poziomach hierarchii wykorzystują modele systemu na różnych poziomach abstrakcji.

Sterownik sensora Sterownik efektora Pospr zątaj po mieszc zenie 2 34 Przeszuka j pom ieszc zenie 412 Je d o (x ,y) Czynność zakończona Cel osiąg nię ty Strategia działania Zarządzanie grupą robotów Zarządzanie grupą robotów Zarządzanie grupą robotów Sterowanie robotem Sterowanie robotem Sterowanie robotem Sterowanie robotem Sterowanie robotem Sterowanie robotem Sterowanie robotem

Sterownik efektora Sterownik sensora

Rysunek 6.3: Hierarchia agentów zarządzających dużym systemem wielorobotowym. Wyż-sze warstwy operują na modelach o wyższym poziomie abstrakcji; protokoły komunikacyjne muszą opisywać zdarzenia, które można odwzorować w modelu warstwy wyższej.

Warto zaznaczyć, że hierarchia nie musi być statyczna. Implementacja powinna przewi-dywać możliwość zmiany struktury hierarchii w zależności od potrzeb. Przykładowo struk-tura agentów widoczna na rysunku 6.3 mogłaby zostać przebudowana poprzez przesunięcie agenta sterującego robotem pomiędzy agentami zarządzającymi grupami, lub poprzez roz-dzielenie agenta zarządzającego grupą na kilka tego typu agentów, gdy zajdzie potrzeba

równoległego wykonania większej ilości zadań. Operacje te powinien inicjować agent war-stwy wyższej.

Kluczowym problemem podczas projektowania hierarchii agentów zarządzających robo-tami jest zdefiniowanie protokołów komunikacyjnych pomiędzy agenrobo-tami z różnych warstw. Protokoły powinny być niezależny od sposobu implementacji warstwy niższej i powinny opisywać zjawiska, zdarzenia i polecenia, które można odwzorować w modelu warstwy wyższej. Tak zaprojektowana komunikacja pozwala na zmianę implementacji algorytmów warstwy niższej, a nawet na dodanie nowych elementów do niższej warstwy, bez konieczno-ści ingerowania w działanie całego systemu, który jest obsługiwany przez wyższe warstwy. Dobrym przykładem zastosowania architektury wielomodelowej w zarządzaniu robo-tami mobilnymi może być rozwiązanie problemu wielkości środowiska. Każdy algorytmy planowania trasy operujący na modelu grafowym czy rastrowym, ma ograniczone możli-wości przetwarzania. Spowodowane jest to nieliniową złożonością stosowanych algorytmów wyszukiwania ścieżek. Rozwiązaniem jest podzielenie szczegółowego modelu środowiska pomiędzy kilka agentów oraz utworzenie agenta warstwy wyższej, który będzie operował na mapie o mniejszej szczegółowości. Planowanie nie wykraczające poza obszar jedne-go z agentów warstwy niższej będzie realizowane autonomicznie, bez kontaktowania się z agentem nadrzędnym. Planowanie dłuższych tras będzie realizowane przez agenta warstwy wyższej, który zaplanuje trasę ogólną a następnie zleci opracowanie fragmentów szcze-gółowych agentom warstwy niższej, przez których fragmenty przebiega trasa ogólna. W miarę powiększania terenu wykorzystywanego przez system, możliwe jest dodawanie kolej-nych warstw. Szczegółowy opis implementacji takiego systemu zostanie przedstawiony w następnych rozdziałach.

Inne aspekty działania systemu, jak na przykład przydział zadań czy zapewnianie serwi-su robotów, również mogą i powinny być implementowane zgodnie z opisanym schematem. Tworzy to strukturę wielu hierarchii agentów współpracujących ze sobą na różnych pozio-mach i zapewnia wiele właściwości i możliwości bardzo pożądanych w złożonych systepozio-mach informatycznych. Najważniejsze z nich to:

• Skalowalność. Agent z założenia jest bytem asynchronicznym, posiadającym przy-najmniej jeden własny, niezależny wątek wykonania obliczeń, który może funkcjono-wać na dowolnym komputerze wchodzącym w skład maszyny wirtualnej tworzącej środowisko agentowe. Rozbudowa zasobów sprzętowych udostępnianych agentom nie stanowi problemu, więc liczba uruchamianych agentów nie jest trwale ograniczana ilością dostępnych zasobów. Natomiast zastosowanie architektury zakładającej ist-nienie wielu modeli reprezentujących ten sam aspekt systemu na różnych poziomach abstrakcji pozwala na podzielenie wykonywanych obliczeń tak, by żaden z agentów nie miał wymagań niemożliwych do zapewnienia przez dostępną platformę sprzętową.

• Rozszerzalność. Implementacja jest podzielona na aspekty, realizowane przez od-separowane, wielowarstwowe hierarchie agentów. W ramach pojedynczej hierarchii, niższe elementy realizują coraz bardziej szczegółowe funkcje. Dlatego im mniejszy jest zakres zmian, tym mniejszego fragmentu implementacji będzie dotyczył. Zmiana wprowadzana na określonym poziomie hierarchii nie powinna mieć wpływu na imple-mentację poziomów wyższych, pod warunkiem zachowania przez nową impleimple-mentację zgodności protokołów komunikacji pomiędzy warstwami.

W dokumencie Index of /rozprawy2/10194 (Stron 57-60)