• Nie Znaleziono Wyników

Index of /rozprawy2/10096

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/10096"

Copied!
140
0
0

Pełen tekst

(1)AKADEMIA GÓRNICZO – HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I ELEKTRONIKI. WOJCIECH ZABOROWSKI. ZASTOSOWANIE SYSTEMÓW AGENTOWYCH DO WSPOMAGANIA ZARZĄDZANIA ZESPOŁAMI ROBOTÓW MOBILNYCH. ROZPRAWA DOKTORSKA PRZYGOTOWANA POD KIERUNKIEM DR. HAB. INŻ. KRZYSZTOFA CETNAROWICZA PROF. N. AGH. KRAKÓW 2008.

(2) W tym miejscu chciałbym podziękować wszystkim osobom, które swoimi cennymi uwagami i wsparciem, w różnorodny sposób przyczyniły się do powstania tej pracy. W pierwszej kolejności podziękowania składam mojemu promotorowi Panu dr. hab. inż. Krzysztofowi Cetnarowiczowi prof. n. AGH za zainteresowanie mnie problematyką podjętą w pracy, cenne wskazówki i dyskusje oraz stałą opiekę w trakcie jej powstawania. Słowa wdzięczności kieruję również do Pana prof. zw. dr. hab. inż. Krzysztofa Zielińskiego i Pana dr. inż. Romana Krasowskiego za nieustającą motywacje i wsparcie w trudnych chwilach. Podziękować pragnę również dr. inż. Markowi Gajęckiemu za pomoc w zakresie opracowania i implementacji zagadnień związanych z problemem komiwojażera oraz cenne uwagi i opinie dotyczące pozostałych problemów badawczych poruszanych w tej pracy. Dziękuję również wszystkim Koleżankom i Kolegom z Katedry Informatyki AGH za doping i zainteresowanie moją pracą. Na koniec chciałbym podziękować również mojej Rodzinie za cierpliwość, wyrozumiałość i życzliwość okazywaną mi w czasie tworzenia tej pracy.. 2.

(3) Spis treści Wstęp ................................................................................................................................ 5 1. Wprowadzenie do systemów wielorobotowych i wieloagentowych ................. 10 1.1 Roboty mobilne................................................................................................... 10 1.1.1 Roboty mobilne jako systemy komputerowe.................................................. 11 1.1.2 Źródła ograniczeń komunikacyjnych.............................................................. 14 1.2 Problem przydziału zadań w systemach wielorobotowych ................................ 16 1.2.1 Zadanie optymalnego przydziału (zagadnienie przydziału) ........................... 17 1.2.2 Zastosowanie programowania liniowego ....................................................... 18 1.2.3 Wykorzystanie rozwiązań dualnych ............................................................... 19 1.2.4 Wykorzystanie gier ekonomicznych............................................................... 19 1.2.5 Specyfika zagadnienia dla systemów robotowych ......................................... 21 1.2.6 Zastosowanie metod aukcyjnych .................................................................... 22 1.3 Analiza stosowanych rozwiązań ......................................................................... 24 2. Proponowane rozwiązanie .................................................................................. 28 3. Koncepcja modelu symulacyjnego systemu wielorobotowego .......................... 32 4. Wprowadzenie do systemów wieloagentowych ................................................. 36 4.1 Koncepcja agenta................................................................................................ 39 4.2 Agenty a środowisko .......................................................................................... 39 4.3 Formalny opis architektury agentów .................................................................. 42 4.4 Architektura m-agenta ........................................................................................ 45 4.5 Podstawowe elementy świata autonomicznych agentów ................................... 46 4.6 Struktura środowiska .......................................................................................... 47 4.7 Model m-agenta .................................................................................................. 48 5. System agentowy kierujący grupą robotów........................................................ 51 5.1 Środowisko ......................................................................................................... 51 5.2 Zasoby................................................................................................................. 52 5.3 Profil intelektualny agenta AG0 ......................................................................... 55 6. Koncepcja agenta wirtualnego............................................................................ 70 6.1 Środowisko dla agenta wirtualnego .................................................................... 71 6.2 Rozszerzenie specyfikacji systemu agentowego ................................................ 75 6.2.1 Rozszerzenie specyfikacji środowiska............................................................ 76 6.2.2 Modyfikacja specyfikacji agenta typu AG0.................................................... 79 6.3 Specyfikacja agenta AG1.................................................................................... 83 6.4 Specyfikacja agenta AG2.................................................................................... 93 7. Propozycja metody oceny uzyskanych wyników ............................................. 101 7.1 Problem komiwojażera ..................................................................................... 103 7.2 Problem komiwojażera niepowracającego ....................................................... 103 7.3 Problem wielu (niepowracających) komiwojażerów........................................ 104 7.4 Algorytm rozwiązujący problem wielu komiwojażerów.................................. 105 7.5 Podsumowanie .................................................................................................. 108 8. Symulator do przeprowadzenia badań proponowanego rozwiązania............... 109 9. Eksperymenty symulacyjne .............................................................................. 113 9.1 Badanie wpływu zastosowania agentów AG1 i AG2 ....................................... 113 9.2 Rezultaty eksperymentów symulacyjnych dla Serii I....................................... 116 9.3 Rezultaty eksperymentów symulacyjnych dla Serii II ..................................... 118 9.4 Ocena uzyskanych wyników ............................................................................ 120 9.5 Podsumowanie i wnioski .................................................................................. 127. 3.

(4) 10. Zakończenie ...................................................................................................... 129 10.1 Wnioski............................................................................................................. 129 10.2 Kierunki dalszych badań................................................................................... 129 Bibliografia ................................................................................................................... 131. 4.

(5) Wstęp. Robotyka jest dyscypliną, która w chwili obecnej na dobre zadomowiła się w życiu codziennym. Wystarczy wspomnieć fakt, że proste maszyny wspomagające prace w gospodarstwie domowym nierzadko nazywane są właśnie robotami. Jako normalny element naszego otoczenia odbieramy zrobotyzowane fabryki lub linie produkcyjne, gdzie roboty przemysłowe zastępując ludzi przy powtarzających się lub wykonywanych w szkodliwych dla zdrowia warunkach czynnościach, wykonują je szybciej i precyzyjniej. Robotyka mobilna stanowi przy tym stosunkowo młodą dyscyplinę. Mimo to, jej osiągnięcia są coraz bardziej widoczne. Roboty mobilne powoli opuszczają laboratoria naukowe, znajdując swoje miejsce w życiu codziennym, od zastosowań militarnych w postaci automatycznych pojazdów zwiadowczych, przez wykonywanie prac niebezpiecznych przy rozbrajaniu ładunków wybuchowych. A w kolejce czekają już inne zastosowania. Prowadzone są intensywne badania nad wykorzystaniem pracy zespołowej autonomicznych robotów mobilnych między innymi do samodzielnego przeszukiwania terenów po katastrofach, wspomagania akcji ratowniczych itd. Takie zespoły robotów określane są mianem systemów wielorobotowych (ang. multi-robot systems). W tego typu zastosowaniach istotną rolę we właściwej koordynacji i współpracy odgrywa możliwość komunikacji pomiędzy poszczególnymi członkami zespołu. Brak komunikacji pomiędzy wszystkimi robotami w zespole może utrudnić lub nawet uniemożliwić osiągnięcie wyznaczonego celu misji. Jednym z kluczowych zagadnień we współpracy robotów mobilnych w ramach grupy jest problematyka przydzielania zadań poszczególnym członkom zespołu. Zagadnienie przydziału dóbr (zadania można traktować jak dobra) jest w wersji statycznej samo w sobie problemem złożonym. Systemy wielorobotowe złożone z robotów mobilnych cechują się natomiast dużą dynamiką zmian swojego stanu. Proces przydzielania zadań musi być dokonywany w szybko zmieniających się warunkach (pojawianie się nowych zadań czy też występowanie innych okoliczności). Gdy krytycznym elementem staje się czas znalezienia rozwiązania, sięga się po metody, które niekoniecznie podają rozwiązanie optymalne, ale potrafią podać akceptowalne rozwiązanie suboptymalne w znacznie krótszym czasie. Grupę taką stanowią, metody. 5.

(6) oparte o aspekty ekonomiczne procesu przydzielania zadań. Wzorowane na znanym z ekonomii pojęciu wolnego skutkiem. w. wielu. rynku systemy aukcyjne stosowane z pozytywnym. działających. systemach. wielorobotowych.. Sprawne. ich. funkcjonowanie wydaje się być zależne od istnienia globalnej komunikacji pomiędzy wszystkimi członkami zespołu. Sugeruje to wrażliwość tych technik na zjawiska ograniczające lub blokujące wzajemną wymianę informacji. Stosowane obecnie techniki komunikacji pomiędzy robotami jak i przyszłe zadania, do których te roboty są przygotowywane pozwalają na przyjęcie założenia, że w tych nowych zastosowaniach nie uda się usunąć zjawiska występowania ograniczeń komunikacyjnych. W związku z czym konieczne staje się poszukiwanie takich metod przydziału zadań, które skutecznie będą eliminować negatywny wpływ zjawisk ograniczających komunikację na efektywność mechanizmu przydzielania zadań. Badania nad systemami wieloagentowymi zostały zainicjowane w latach osiemdziesiątych XX wieku. Bazą do powstania tej klasy systemów był rozwój sprzętu informatycznego,. sieci. komputerowych. oraz. szerokopasmowych. łączy. światłowodowych i satelitarnych. Nowe środki techniczne stworzyły duże możliwości w. zakresie. budowania. nowych. rozwiązań. w. dziedzinie. oprogramowania,. w szczególności zaś systemów rozproszonych. Wówczas jako podstawowy element służący do budowy systemów zdecentralizowanych wprowadzono abstrakcyjne pojęcie autonomicznego agenta i wraz z nim abstrakcyjną klasę systemów informatycznych określanych mianem systemów wieloagentowych. W chwili obecnej dostępnych jest wiele równych architektur systemów agentowych. Jako jedno z wielu potencjalnych zastosowań tych systemów wymienia się rozproszoną robotykę, rozumianą jako sterowanie działaniem grupy autonomicznych robotów realizujących wspólne przedsięwzięcia, w warunkach niepełnej informacji, dynamicznych zmian celu działania oraz ewolucji środowiska. Tak więc zastosowanie systemów agentowych do kierowania grupą robotów nie jest zagadnieniem nowym. W wielu publikacjach prowadzone były rozważania nad podobieństwami i różnicami pomiędzy systemami wielorobotowymi i systemami wieloagentowymi. Według jednej z koncepcji architektur systemów agentowych (architektura m-agenta), autonomiczny robot mobilny może, poza szczególnymi przypadkami, posiadać wszystkie cechy abstrakcyjnego m-agenta. Ograniczony jest jedynie środowiskiem działania do materialnej przestrzeni. 6.

(7) rzeczywistej. Można powiedzieć, że w takim ujęciu systemy wielorobotowe stanowią pewną klasę systemów wieloagentowych, w których roboty mobilne są agentami działającymi w rzeczywistym środowisku. Dla porównania, wspomniana architektura m-agenta umożliwia całkowitą dowolność w określaniu środowiska (a właściwie środowisk) działania dla agentów. W wielu funkcjonujących systemach wielorobotowych mamy do czynienia z sytuacją, gdy na skutek barier technologicznych robot mobilny jest tylko sensorem i efektorem, natomiast sztuczna inteligencja (czyli właściwy program sterujący) odpowiedzialna za jego zachowanie (agent) funkcjonuje z dala od niego. W tej sytuacji środowiskiem dla agenta nie jest już tylko rzeczywista przestrzeń, i można powiedzieć, że agent stanowi reprezentację robota w przestrzeni wirtualnej. Czy zatem system agentowy kierujący grupą robotów musi się ograniczać wyłącznie do agentów stanowiących ich reprezentację? Czy wykorzystanie zalet świata wirtualnego i wprowadzenie do systemu agentowego dodatkowych agentów, nie posiadających swoich efektorów i sensorów w świecie rzeczywistym, lecz operujących wyłącznie w świecie wirtualnym, będzie mieć pozytywny wpływ na funkcjonowanie zespołu robotów, który kontrolują? W świetle przedstawionych powyżej uwag można sformułować następującą tezę: Wykorzystanie wirtualnej reprezentacji środowiska wieloagentowego, w skład którego wchodzą między innymi agenty nie posiadające swojego bezpośredniego powiązania z robotami działającymi w przestrzeni rzeczywistej umożliwia lepszą realizację procesu zarządzania zespołem robotów mobilnych w porównaniu z przypadkiem, gdy w przestrzeni wirtualnej działają tylko agenty posiadające swoją reprezentację w rzeczywistym środowisku. Praca ta przedstawia próbę znalezienia rozwiązania problemu przydziału zadań w zespole robotów mobilnych, w warunkach ograniczeń komunikacyjnych, z wykorzystaniem do tego celu możliwości, jakie daje zastosowanie pewnego podejścia agentowego do systemów wielorobotowych. Do realizacji tego celu został zaprojektowany i przygotowany eksperymentalny system wieloagentowy zarządzający grupą robotów mobilnych. System składać się będzie z grupy autonomicznych robotów mobilnych. umieszczonych w losowo. 7.

(8) wybranych miejscach, na ograniczonym zamkniętym obszarze. W obrębie obszaru działania robotów będą się pojawiać zadania, które roboty mają wykonywać. Miejsce i czas pojawienia się każdego zadania oraz inne jego parametry będą również ustalane losowo. Aby pojedynczy robot mógł wykonać zadanie, musi znaleźć się w miejscu, w którym to zadanie się znajduje. W rozpatrywanym systemie przyjęto, że zadania nie posiadają możliwości przemieszczania się. Uzyskane metodą symulacji komputerowej wyniki badań tego systemu pozwolą na ocenę i weryfikację poprawności zaproponowanych rozwiązań. Często używane w pracy będzie pojęcie systemu wielorobotowego. Oznaczać ono będzie grupę autonomicznych robotów mobilnych umieszczonych w pewnym określonym środowisku, mogących się w nim przemieszczać oraz oddziaływać na to środowisko. Równie często używane będą zamiennie pojęcia: robot mobilny, robot z agentem rzeczywistym lub robot z agentem fizycznym. Praca została podzielona na następujące rozdziały: W rozdziale pierwszym przedstawiono podstawowe zagadnienia z dziedziny systemów wieloagentowych i wielorobotowych, w tym między innymi podstawowe informacje o robotach mobilnych, systemach wielorobotowych oraz ograniczeniach, z jakimi te systemy się spotykają. Zawiera on również wprowadzenie do problemu przydziału zadań w systemach wielorobotowych i powszechnie stosowanych metodach jego rozwiązania. Rozdział drugi przedstawia propozycje rozwiązania problemu przydzielania zadań w systemie wielorobotowym z użyciem agentów wirtualnych. Rozdział trzeci przedstawia założenia budowy modelu symulacyjnego prostego systemu wielorobotowego wykorzystanego do prowadzenia badań. Rozdział czwarty stanowi wprowadzenie w zagadnienie systemów agentowych. Rozdział piąty opisuje konstrukcje systemu agentowego kierującego działaniem grupy robotów w systemie wielorobotowym opartym o założenia przedstawione w rozdziale trzecim. Konstrukcja systemu oparta jest na przedstawionej w rozdziale wcześniejszym architekturze m-agenta. Rozdział szósty zawiera propozycje usprawnienia przedstawionego w rozdziale piątym systemu wieloagentowego poprzez wprowadzenie agentów wirtualnych.. 8.

(9) Rozdział siódmy przedstawia podobieństwo badanego problemu do znanego z badań operacyjnych. problemu. komiwojażera. używanych do jego rozwiązywania. oraz. możliwość. wykorzystania. metod. do pozyskania danych przydatnych w ocenie. wyników eksperymentów symulacyjnych. Rozdział ósmy omawia krótko budowę oraz sposób korzystania z narzędzia użytego do prowadzenia eksperymentów symulacyjnych. W rozdziale dziewiątym zaprezentowano wyniki uzyskane w prowadzonych eksperymentach symulacyjnych wraz z odpowiednimi wskaźnikami służącymi ich ocenie. Omówiono tam również wnioski, jakie płyną z analizy zarówno samych wyników eksperymentów jak i z wartości wskaźników użytych do oceny tych wyników. Rozdział dziesiąty stanowi podsumowanie pracy, oraz wskazuje potencjalne kierunki dalszych badań z wykorzystaniem narzędzi, wyników oraz doświadczeń zdobytych podczas powstawania tej pracy.. 9.

(10) 1. Wprowadzenie do systemów wielorobotowych i wieloagentowych W rozdziale tym zostaną zwięźle przedstawione podstawowe zagadnienia z zakresu systemów wieloagentowych i wielorobotowych. Zapoznanie się z nimi ma za zadanie ogólne wprowadzenie czytelnika w tematykę badawczą poruszaną bardziej szczegółowo w dalszej części pracy.. 1.1 Roboty mobilne Pojęcie robot wywodzi się od czeskiego słowa ,,robota”, użytego po raz pierwszy w 1921 roku przez czeskiego pisarza, Karela Čapka, autora idei podobnych ludziom istot, wykonujących powtarzające się, monotonne czynności [17]. W chwili obecnej terminu robot używamy do określenia sterowanego, mechanicznego urządzenia wykonującego automatycznie pewne czynności. Podczas wykonywania tych czynności robot może być kontrolowany przez program komputerowy, sterujący bezpośrednio efektorami robota. Po zaprogramowaniu, robot jest w stanie wykonywać swoje zadania bez nadzoru człowieka, powtarzając sekwencyjnie wszystkie zaprogramowane czynności bądź też dostosowując swoje zachowanie w reakcji na bodźce pochodzące z zewnątrz i wykorzystując do tego (lub nie) techniki sztucznej inteligencji. Robotyka mobilna jest stosunkowo młodą dziedziną, intensywnie rozwijającą się od kilkunastu lat. Pierwotnie skupiona była wokół zagadnień związanych z budową i kierowaniem pojedynczymi robotami autonomicznymi, w tym również robotami o kształtach humanoidalnych (jako przykład wymienić tu można roboty ASIMO [88], Rhino [11], Minerva [71]). Roboty takie znajdują szerokie zastosowania w zadaniach niebezpiecznych (inspekcje i prace w niekorzystnych lub skrajnie niebezpiecznych dla człowieka warunkach środowiskowych) bądź nieosiągalnych dla ludzi (np. eksploracja odległej przestrzeni kosmicznej), lub też wykorzystywane są w celach rozrywkowych. Jako znakomity przykład użycia robota do eksploracji terenu niedostępnego dla ludzi można podać bardzo popularnego w mediach, skonstruowanego w NASA robota The Mars Pathfinder Sojourner Rover [80]. Nie jest to oczywiście jedyny przykład wykorzystania robotów do eksploracji przestrzeni kosmicznej. Jako przykład aktualnie. 10.

(11) trwającego projektu można tu wymienić np. projekt PHOENIX [81] badający wodę na Marsie. Innym przykładem zastosowania robotów mobilnych mogą być roboty iNspector [77] i eXpert [85] skonstruowane przez PIAP w Warszawie i wykorzystywane przez policję między innymi do zdalnego rozbrajania ładunków wybuchowych. Kolejny obszar badawczy stanowią zagadnienia związane ze współpracą robotów w ramach grupy, w celu wspólnej realizacji określonych zadań. Jako ciekawą platformę do tych badań przytoczyć można zapoczątkowane w latach dziewięćdziesiątych XX wieku projekty badawcze z pogranicza nauki i zabawy, polegające na prowadzeniu gier zespołowych przez drużyny autonomicznych robotów mobilnych (projekty ROBOCUP [83], FIRA [78]). W tym wypadku, główny nacisk został przesunięty z zagadnień konstrukcyjnych na zagadnienia współpracy kilku lub nawet kilkunastu robotów dążących osiągnięcia wspólnego celu. Wykorzystuje się w tym współzawodnictwie stosunkowo niewielkie i proste w budowie roboty (np.: Miabot Pro [53], Mirosot-100 [86]), choć i tutaj występują niewielkie, ale skomplikowane i rozbudowane konstrukcje (np. Tinyphoon [60]). Nie można pominąć również projektów robotów posiadających zastosowania wojskowe [54]. Przewijają się tu głównie dwa zastosowania: automatyczne pojazdy zwiadowcze (np. RQ-1 Predator [82]) oraz roboty przystosowane do unieszkodliwiania pól minowych (np.: Pack Bot [79] firmy iRobot, rodzina robotów TALON [87] firmy Foster Miller). Pojawiają się także konstrukcje zdalnie sterowanych, uzbrojonych pojazdów służących jako wsparcie oddziałów wojskowych w walce lub realizujących funkcje zaopatrzeniowe. Oficjalnie brak jest informacji o pracach nad autonomicznie działającym. żołnierzem-robotem, ale obserwując postępy w tej dziedzinie można. przypuszczać, że pojawienie się takich konstrukcji wydaje się być kwestią czasu.. 1.1.1 Roboty mobilne jako systemy komputerowe Przez system komputerowy rozumiany tu będzie współdziałający ze sobą (ewentualnie połączony w sieć) układ sprzętu komputerowego i oprogramowania, realizujący określone zadania (np. komputerowy system akwizycji danych pomiarowych to całokształt sprzętu i oprogramowania służący zbieraniu danych pomiarowych). Analizując konstrukcje różnych rodzajów robotów mobilnych – od maszyn kroczących poczynając na niewielkich robotach grających w piłkę kończąc, można. 11.

(12) w ich konstrukcji wyodrębnić trzy podstawowe podsystemy (podział taki proponowany jest m. in. w pracy profesora C. Zielińskiego [75]): – Podsystem efektorów umożliwiający interakcje z przestrzenią, w której robot się znajduje. Do tej części zaliczyć można wszelakiej konstrukcji mechanizmy powalające robotowi na poruszanie się (od prostego, dwukołowego mechanizmu różnicowego jak w robotach grających w piłkę, przez różnorodne mechanizmy wielokołowe i gąsienicowe, a na mechanizmach kroczących skończywszy). Zaliczyć należy do tej kategorii wszelkiego rodzaju manipulatory nie przeznaczone do poruszania się robota, ale dające mu możliwość dokonywania zmian w otaczającym go środowisku. – Podsystem sensoryczny pozwalający robotowi „czuć” swoje otoczenie. W skład tego podsystemu wchodzić będzie cała gama urządzeń pozwalających na lokalizacje robota w przestrzeni (odbiorniki GPS, laserowe i ultradźwiękowe mierniki odległości), żyrokompasy akcelerometry itp., kamery i inne urządzenia akwizycji obrazu (wykorzystywanie do nie tylko lokalizacji robota, ale również do celów związanych z jego przeznaczeniem) oraz inne (mniej lub bardziej specjalizowane) sensory, których obecność wynika również z przeznaczenia robota to wykonywania konkretnych zadań. – Podsystem odpowiedzialny za kierowanie autonomicznymi zachowaniami robota (sztuczna inteligencja), możliwy do zrealizowania w postaci odpowiednio oprogramowanego. sterownika. (komputera). lub. dedykowanego. rozwiązania. sprzętowego. Z informatycznego punktu widzenia ostatni składnik stanowi najbardziej interesujący element robota mobilnego. Zwykle jest to uniwersalny lub specjalizowany komputer, zawierający oprogramowanie sterujące robotem oraz umożliwiający interakcje z operatorem, a także w miarę potrzeb z innymi robotami. Komputer taki (sterownik) zwykle zawiera procesor o określonej mocy obliczeniowej, pamięć operacyjną oraz inne elementy niezbędne do poprawnego funkcjonowania. Poziom zaawansowania oprogramowania tego sterownika decyduje o tym, czy funkcjonowanie robota polegać będzie na sekwencyjnym powtarzaniu określonego zestawu czynności, czy też jego zachowanie będzie się dynamicznie dostosowywać od zmian zachodzących w jego otoczeniu. Złożoność komputera sterującego zależy między innymi od. 12.

(13) oczekiwanej funkcjonalności robota. Wzrost funkcjonalności i „inteligencji” robota powiększa wymagania stawiane komputerowi sterującemu. Dla sekwencyjnego powtarzania zestawu pewnych czynności, a nawet prostych reakcji robota na bodźce z otoczenia wystarczy sterownik zbudowany z prostego komputera opartego o pojedynczy. układ. scalony. (mikrokontroler. jednoukładowy).. Dla. bardziej. skomplikowanego robota, wyposażonego w liczne sensory (dalmierze, kamery itp.) wymagany będzie sterownik o znacznie większych możliwościach przetwarzania danych, co w praktyce przekłada się na większą moc obliczeniową komputera sterującego.. Niestety,. nie. jest. możliwy. nieograniczony. wzrost. wydajności. instalowanych urządzeń sterujących. Barierę stanowią zasoby energii jakimi dysponuje robot, a wydajniejszy komputer sterujący potrzebuje więcej energii do działania. To w skrócie przekłada się na większą masę akumulatorów zasilających, a wzrost masy robota powoduje kolejny wzrost zapotrzebowania na energię niezbędną do przemieszczania odpowiednio większej masy robota. W skład części sterującej robota wchodzi również moduł komunikacyjny (przewodowy lub bezprzewodowy), pozwalający na interakcję pomiędzy robotem a operatorem (wydającym robotowi polecenia i/lub obserwującym efekty działania robota) lub pomiędzy dwoma lub więcej robotami (współpraca w realizacji wspólnego celu). W przypadku niewielkich i prostych konstrukcji (np. MiaBotPro) wszystkie te elementy połączone są we wspólnej jednostce i nie jest możliwe jawne i proste rozdzielenie poszczególnych funkcji (prawie zawsze można konstrukcję robota rozdzielić na część mechaniczną i elektronikę sterującą). Z drugiej jednak strony, konstrukcja. niektórych. sensorów. (np.. dalmierza. laserowego). jest. na. tyle. skomplikowana, że on sam w sobie stanowi oddzielnie bardzo zaawansowany i wysoko wyspecjalizowany system komputerowy. O ile w warstwie sprzętowej czasem trudno jest poprowadzić wyraźne granice pomiędzy poszczególnymi podsystemami, to w procesie tworzenia oprogramowania sterującego robotem jest to zadanie w zasadzie nieuniknione [55],[68]. Prowadzi to do tworzenia warstwowych architektur oprogramowania sterującego robotem [61]. Roboty mobilne posiadają cechy pozwalające uznać je za systemy komputerowe. W warstwie sprzętu komputerowego posiadają jednostkę obliczeniową (procesor) o określonej mocy obliczeniowej oraz pamięć operacyjną. W odróżnieniu od. 13.

(14) tradycyjne postrzeganych systemów komputerowych, warstwa sprzętu umożliwia dodatkowo robotowi przemieszczanie się i interakcje z otoczeniem. Wykorzystując łącza bezprzewodowe możliwe jest także łączenie ich w sieć. Współdziałające z tym sprzętem (dedykowane) oprogramowanie umożliwia im realizacje określonych (specyficznych dla robotów mobilnych) celów. Cechy te są dokładnie takie, jak wymienione wcześniej elementy charakteryzujące systemy komputerowe.. 1.1.2 Źródła ograniczeń komunikacyjnych W celu umożliwienia komunikacji pomiędzy użytkownikiem a robotem, jak i pomiędzy robotami, roboty a w szczególności autonomiczne roboty mobilne, niezależnie od swojej konstrukcji i zastosowań, wymagają wyposażenia ich w kanał komunikacyjny. Kanał ten jest wykorzystywany do komunikacji z użytkownikiem (operatorem) w celu przekazywania poleceń do robota i odbierania od robota danych związanych z wykonywaniem otrzymanych przez niego poleceń. Kanał komunikacyjny jest też wykorzystywany do wymiany informacji pomiędzy robotami. Wymiana ta może służyć pośredniemu przekazywaniu instrukcji operatora, jak i koordynacji działań w celu wspólnej realizacji otrzymanych od operatora zadań. Medium takie stanowić może łącze kablowe służące do zasilania i kontrolowania robota (np. robot Inspector12). Stanowić je może również moduł komunikacji bezprzewodowej w postaci transcivera IRDA lub bluetooth czy też karty bezprzewodowej w standardzie WiFi. Niezależnie od użytego medium komunikacyjnego, cechuje się ono dwoma rodzajami. ograniczeń:. zasięgiem. komunikacji. oraz. przepustowością. kanału. komunikacyjnego, gdyż zarówno łącze kablowe jak i łącza bezprzewodowe takie ograniczenia posiadają. Ograniczenia te wynikają z dwóch podstawowych powodów: fizycznych własności użytego kanału komunikacyjnego oraz z użycia standardowych dla danego medium protokołów komunikacyjnych. Do celów komunikacji pomiędzy użytkownikiem a pojedynczym robotem mobilnym możliwe jest wykorzystanie przewodowego medium komunikacyjnego. W wybranych zastosowaniach stanowi ono jedyną możliwość komunikacji z tym robotem (przykładem może tu być robot prowadzący inspekcję kanalizacji). Jeśli jednak poddamy pod rozwagę zagadnienie komunikacji w grupie robotów mobilnych mogących swobodnie przemieszczać się w wybranej przestrzeni, wtedy jakakolwiek. 14.

(15) forma komunikacji przewodowej staje się zupełnie nieprzydatna ze względu na konieczność istnienia dowolnej formy kabla łączącego każdego robota co najmniej z panelem operatorskim użytkownika lub innym ośrodkiem kontrolującym bądź koordynującym w przypadku. działania. robotów.. autonomicznych. Jedyną. robotów. akceptowalną. mobilnych. formą. pozostaje. komunikacji komunikacja. bezprzewodowa. Obecnie w zakresie komunikacji bezprzewodowej właściwie stosuje się techniki oparte na wykorzystaniu fal radiowych (Bluetooth, ZigBee, WiFi) lub światła w zakresie. podczerwieni. (IrDA).. Zestawienie. podstawowych. parametrów. poszczególnych mediów (na podstawie [74])przedstawia tabela: Tab. 1.1 Wybrane parametry cyfrowych łączy bezprzewodowych.. Typ. IrDA 950nm 200 THz. pasmo przepustowość maksymalny zasięg moc nadajnika protokół dostępu. 4 (16) Mb/s. ZigBee. BlueTooth. WiFi. IEEE 802.15.4. IEEE 802.15.1. IEEE 802.11b/g. 2.4GHz 868/915 MHz 250 kbps 20 /40 kbps. 2.4-2.4835 GHz. 2,4-2,485 GHz 5 GHz. 1Mb/s. 11/54 Mb/s. 1 (8) m. 100m. 100m. do 150m wewnątrz do 400m na zewnątrz. do 10mW. max 100 mW. 100mW. 100mW. IrLAP (HDLC). CSMA/CA. L2CAP. DFWMAC. Podane w Tab. 1.1 parametry odnoszą się do sytuacji idealnej, gdzie nie występują zakłócenia i ograniczenia propagacji fal elektromagnetycznych. W zastosowaniach, do których przygotowywane są autonomiczne roboty mobilne (misje kosmiczne [70], [80], [81] przeszukiwanie terenów katastrof budowlanych [12], [84] itp.) należy uwzględnić dodatkowo niekorzystny wpływ środowiska na uzyskiwane parametry połączeń bezprzewodowych, co w sposób oczywisty wpłynie na zasięg efektywnej komunikacji pojedynczego robota. Jako przykład takich ograniczeń zaprezentować można sytuację, w której dwie lub trzy betonowe ściany w budynku są w stanie skutecznie zablokować możliwość komunikacji za pośrednictwem WiFi na odległość kilku do kilkunastu metrów. Podsumowując, komunikacja przewodowa jest w systemach mobilnych raczej mało przydatna, gdyż poważnie ogranicza mobilność robotów. Komunikacja. 15.

(16) bezprzewodowa posiada również ograniczenia w postaci limitowanego zasięgu, podatności na zaniki i zakłócenia wynikające zarówno z natury fal elektromagnetycznych jak i na skutek występowania czynników zewnętrznych. A błędy i zakłócenia w komunikacji utrudnią lub uniemożliwią współpracę i realizację zadań przez roboty.. 1.2 Problem przydziału zadań w systemach wielorobotowych Optymalny przydział zadań jest zagadnieniem związanym z podejmowaniem decyzji. Teoretycznymi aspektami tego typu zagadnień zajmują się badania operacyjne (ang. operations research). Jest to dyscyplina naukowa związana z teorią podejmowania decyzji. Pozwala ona wyznaczyć metodę i rozwiązanie pewnych klas problemów związanych z podejmowaniem optymalnych decyzji. Optymalny przydział zadań jest jednym z typowych zagadnień studiowanych w ramach tej dyscypliny. Określany jest on również nazwą problem doboru. W najbardziej ogólnym znaczeniu dotyczy on znalezienia takiego sposobu rozdzielenia ograniczonych (szeroko rozumianych) zasobów, by zostały one jak najlepiej wykorzystane. Problem alokacji zadań w systemach wieloagentowych/wielorobotowych jest problemem natury organizacyjnej. Jeśli potraktujemy dowolny system jako zbiór: – zasobów, – zadań do zrealizowania z użyciem tych zasobów, – funkcję miary użyteczności, wtedy. celem. tak. rozumianej. alokacji. jest. maksymalizacja. użyteczności. z uwzględnieniem niedoboru zasobów. Zainteresowanie wspomnianym problemem przydziału zadań pojawiło się w wielu dziedzinach, między innymi w teorii gier [59], badaniach operacyjnych, planowaniu [31], [42], [6], optymalizacji kombinatorycznej [45]. Każda z tych dziedzin wnosi specyficzne spojrzenie na problemy organizacyjne, choć proponowane rozwiązania są dosyć podobne, to różne punkty widzenia pozwalają na wnikliwsze zbadanie natury problemu.. 16.

(17) 1.2.1 Zadanie optymalnego przydziału (zagadnienie przydziału) Problem optymalnego przydziału (ang. Optimal Assignment Problem) został oryginalnie zdefiniowany przez von Neumana przy zastosowaniu teorii gier [59] oraz badań operacyjnych, w kontekście przydziału personelu [23], [69]. Jednak najlepiej odpowiadającym opisowi procesu alokacji zadań w systemach wielorobotowych jest przykład opisujący problem pracy i pracowników. Może on zostać zdefiniowany w sposób następujący: Dane jest n pracowników, każdy szukający zadania do wykonania oraz m możliwych do wykonania zadań, każde wymagające jednego pracownika. Dla każdego pracownika określona jest zależność charakteryzująca jego predyspozycje do wykonania konkretnego zadania (funkcja jakości). Jeśli pracownik nie jest przygotowany (przystosowany) do wykonania danego zadania, wtedy funkcja przyjmuje wartość zerową. Rozwiązanie polega na znalezieniu takiego przydzielenia zadań pracownikom, aby uzyskać maksymalną wydajność z uwzględnieniem priorytetów zadań i umiejętności pracowników. W odniesieniu do systemów wieloagentowych/wielorobotowych problem ten można zdefiniować podobnie: Dane jest n agentów/robotów, mogących wykonywać jedno zadanie oraz m możliwych do wykonania zadań, każde wymagające jednego agenta/robota. Dla każdego agenta/robota określona jest zależność charakteryzująca jego predyspozycje do wykonania konkretnego zadania (funkcja jakości). Jeśli agent/robot nie jest przygotowany (przystosowany) do wykonania danego zadania, wtedy funkcja przyjmuje wartość zerową. Rozwiązanie polega na znalezieniu takiego przydzielenia zadań agentom/robotom, aby uzyskać maksymalną wydajność z uwzględnieniem priorytetów zadań i wydajności poszczególnych agentów/robotów. Formalnie można to zagadnienie opisać następująco: – danych jest n robotów oznaczonych R1..Rn – danych jest m zadań do wykonania oznaczonych T1..Tm wraz z ich współczynnikami priorytetu p1,..,pm – znana jest nieujemna funkcja (macierz) W=[wij] o rozmiarach m × n określająca predyspozycje robota Ri przy wykonywaniu zadania Tj, 1 ≤ i ≤ n , 1 ≤ j ≤ m Przy założeniach dodatkowych: – każdy robot Ri może wykonywać jedno zadanie w czasie od rozpoczęcia do zakończenia jego realizacji – każde zadanie Tj wymaga do realizacji tylko jednego robota. 17.

(18) Należy znaleźć optymalny sposób przydzielenia zadań poszczególnym robotom. Oczekiwanym wynikiem będzie zestaw par: (r1,t1)…(rk,tk), 1 ≤ k ≤ min(m, n). (1.1). przyporządkowujący zadania poszczególnym robotom. Miernikiem jakości przydziału dla pojedynczej pary (rl,tl) będzie iloczyn predyspozycji robota rl do wykonania zadania tl i priorytetu zadania tl ( U l = wr t pt ). Wskaźnikiem l l l (miernikiem) jakości przydzielenia wszystkich zadań niech będzie suma wskaźników poszczególnych par: k. k. l =1. l =1. U = ∑ U l = ∑ wrl tl p tl. (1.2). 1.2.2 Zastosowanie programowania liniowego Tak postawiony problem może zostać potraktowany jako zagadnienie programowania liniowego (całkowitoliczbowego) [31] w postaci: Mając daną macierz W =[wij] o rozmiarach m × n oraz m-wymiarowy wektor [pj] znaleźć m×n nieujemnych liczb całkowitych xij (macierz przydziału X =[xij]), które maksymalizują wyrażenie: n. m. U = ∑∑ wij xij p j. (1.3). i =1 j =1. przy warunkach: n. ∑x. ij. =1. (i = 1,2,..., n). (1.4). =1. ( j = 1,2,..., m). (1.5). i =1 m. ∑x. ij. j =1. Zależność (1.3) jest miarą jakości określającą wydajność całego systemu, natomiast warunki (1.4) i (1.5) stanowią konsekwencje założenia, że jeden robot może wykonywać jedno zadanie i każde zadanie wymaga do wykonania jednego robota. Należy również zauważyć, że xij może przyjmować wartości 0 lub 1 (co według [42] sprowadza to zagadnienie do zadania programowania binarnego liniowego). Należy zauważyć, że macierz przydziału X stanowi specyficzną postać zapisu zestawu par. 18.

(19) robot–zadanie będącego zgodnie z (1.1) poszukiwanym rozwiązaniem zadania przydziału. Jako zagadnienie programowania liniowego problem ten może zostać rozwiązany za pomocą np.: metody simplex [18], [19] lub metody węgierskiej [47].. 1.2.3 Wykorzystanie rozwiązań dualnych Zgodnie. z. własnościami. programowania. liniowego,. przedstawione. zależnościami (1.3)–(1.5) zadanie maksymalizacji, posiada zadanie dualne w postaci zagadnienia minimalizacji określonego następująco: znaleźć n nieujemnych liczb całkowitych ui i m nieujemnych liczb całkowitych vj które minimalizują wyrażenie: n. m. i −1. j =1. P = ∑ ui + ∑ v j. (1.6). przy warunku: u i + v j ≥ wij. ∀i, j. (1.7). Zgodnie z twierdzeniem o dualności w programowaniu liniowym problem pierwotny i problem do niego dualny są równoważne, a uzyskane rozwiązania optymalne są takie same [31]. Problem dualny do zagadnienia przydziału znajduje swoją interpretację ekonomiczną. Pozwala to potraktować zagadnienie przydziału jako grę ekonomiczną.. 1.2.4 Wykorzystanie gier ekonomicznych Jak wspomniano wcześniej zagadnienie przydziału zadań robotom (dzięki dualności w programowaniu liniowym) może zostać potraktowane również jako gra ekonomiczna [65]. Zagadnienie przydziału można w tym wypadku przedstawić następująco: Zbudujmy wolny rynek zadań oparty na cenach. Zadania są sprzedawane robotom przez brokerów. Zadanie tj jest na sprzedaż za cenę (wywoławczą) cj. Wykonanie przez robota. ri zadania tj przyniesie robotowi zarobek (zysk) hij. Dla każdego zadania tj należy ustalić taką cenę końcową pj, która określi przydział zadań poszczególnym robotom.. 19.

(20) Cena pj zadania tj musi być większa lub równa cenie cj określonej przez brokera. W przeciwnym przypadku broker nie sprzeda zadania. Zakładając, że robot ri działa samodzielnie, będzie się starał kupić to zadanie ti, którego wykonanie przyniesie mu największy zysk:. t i ∈ arg max{hij − p j }. (1.8). j. Sprzedawca będzie dążył do tego, by sprzedać zadania za maksymalną cenę. Rynek osiągnie stan równowagi gdy ceny poszczególnych zadań osiągną taki poziom, przy którym każde zadanie będzie wybrane tylko przez jednego robota. Wówczas zyski poszczególnych stron można opisać następująco:. ∀i. u i = hiti − p i ,. ∀j. vj = pj − cj. Zgodnie z liniowym modelem wolnego rynku i twierdzeniem o równowadze [31], w stanie równowagi rynku zyski obu stron są maksymalne. Zatem rozwiązanie zagadnienia przydziału zadań uzyskane przez wolny rynek stanowi rozwiązanie optymalne [31] prezentowanego problemu przydziału zadań. Zagadnienie przydziału zadań robotom może ponadto być sformułowane również jako jedno z wymienionych standardowych zagadnień: – problem planowania (scheduling) [35], [10] – problem przepływów sieciowych (network flow) [35], [2] – problem optymalizacji kombinatorycznej [35], [45] Każde z wymienionych tu podejść oferuje specyficzne dla swojej dziedziny metody otrzymania rozwiązania. Uzyskane z użyciem tych podejść wyniki są zbieżne z wynikami uzyskanymi z użyciem metod szerzej omówionych w rozdziałach 1.2.2– 1.2.4. Informacja o nich ma charakter poglądowy, mający pokazać rozległość dyscyplin, przy użyciu których można badać zagadnienie przydziału zadań robotom. Podejścia te nie będą wykorzystywane w dalszej części pracy, wskazane zostają jednak źródła, w których można uzyskać szczegółowe informacje na ich temat.. 20.

(21) 1.2.5 Specyfika zagadnienia dla systemów robotowych W stosunku do przestawionego w rozdziałach 1.2.1–1.2.4 zagadnienia przydziału można użyć sformułowania, że odnosi ono się do sytuacji statycznej. Odpowiada to sytuacji, w której dysponujemy grupą robotów i pewną ilością zadań do wykonania. Zakłada się dodatkowo, że ilość robotów i ilość zadań nie zmieni się do momentu zakończenia wykonania ostatniego zadania. Rozwiązując zagadnienie przydziału dla powyższych założeń, wyznacza się każdemu z robotów listę zadań do wykonania. Pamiętać należy o tym, że nawet w takich warunkach znalezienie rozwiązania dokładnego jest zadaniem wymagającym znacznych nakładów obliczeniowych. W systemach wielorobotowych sytuacja taka właściwie nie występuje. Znacznie częściej spotykana jest sytuacja, w której zbiór zadań przydzielanych robotom powiększa się o nowe zadania pojawiające się w trakcie wykonywania innych zadań. Pojawianie się nowych zadań może być w tym wypadku skutkiem wykonania jakiegoś zadania, którego kontynuacją są kolejne zadania. Pojawienie się nowego zadania może też wynikać z natury środowiska, w którym system wielorobotowy funkcjonuje. Nie trudno wyobrazić sobie sytuację, w której np. jeden lub kilka robotów ulega awarii i nie może wykonywać zadań. Spodziewać się można również sytuacji, w której jeden z robotów oddala się od pozostałych na tyle, ze zespół traci z nim łączność, a razem z nią wiedzę na temat stanu owego nieszczęśnika. Dla utrzymania przez cały czas optymalnego rozdziału zadań w systemie zaistnienie każdego z tych przypadków wymaga ponownego wyznaczenia listy zadań dla każdego z robotów. Problem komplikuje się dodatkowo, gdy częstość zachodzenia zdarzeń wpływających na optymalność przydziału zadań jest na tyle duża, że czas pomiędzy tymi zdarzeniami staje się porównywalny z czasem potrzebnym do wyznaczenia optymalnego rozwiązania zagadnienia przydziału dla konkretnej konfiguracji robotów i zadań.. Dla tak określonych warunków problem przydziału. zadań w systemie wielorobotowym możemy określić mianem dynamicznego. Jego dynamikę można badać ograniczając się do sytuacji, w której zmiany zachodzą wyłącznie w obrębie zbioru wykonywanych zadań (dynamika ze względu na zadania). Można też ograniczyć się do sytuacji, w której zmiany zachodzą tylko wśród robotów (dynamika ze względu na roboty). Najbardziej złożony przypadek obejmował będzie dynamiczne zmiany po obu stronach tzn. w zbiorze zadań i w zbiorze robotów.. 21.

(22) 1.2.6 Zastosowanie metod aukcyjnych Pomysł. zastosowania. modelu. ekonomicznego. do. kontrolowania. systemu. wieloagentowego zaproponowany został przez Smitha i jest dziś powszechnie znany jako sieć kontraktowa (Contract Net Protocol) [66]. Rozwiązania oparte na tej idei są wykorzystywane. w. aplikacjach. systemów. wieloagentowych. zajmujących. się. zarządzaniem odnawialnymi zasobami [46]. Jako jeden z przykładów takich zastosowań można podać tu zdecentralizowane zarządzanie sieciami komputerowymi [16]. Również w oparciu o tę ideę zaproponowano kilka rozwiązań kierujących procesem przydzielania zadań w systemach wieloagentowych (np.[1]) i wielorobotowych (m.in.: systemy MURDOCH [34], [39], TraderBots [20], KAMARA [48] oraz inne [38], [49]). Sposób działania systemów aukcyjnych przydzielania zadań (na podstawie systemu MURDOCH) można opisać krótko w następujący sposób: 1. Dla każdego nowo pojawiającego się zadania wyznaczany jest robot odpowiedzialny za jego przydział i wykonanie (z reguły jest to robot, który pierwszy dowiaduje się o nowym zadaniu). 2. Robot rozgłasza informacje, że dysponuje zadaniem do wykonania. Komunikat zawiera. szczegółowe. informacje. na. temat. zadania.. W. komunikacie. przekazywana jest również informacja dla zainteresowanych robotów o sposobie określenia wartości wskaźnika przydatności do wykonania ogłoszonego zadania (metryka). 3. Zainteresowane roboty wyznaczają zgodnie z podaną metryką swój wskaźnik przydatności do wykonania ogłoszonego zadania i zgłaszają jego wartość robotowi, który prowadzi aukcje. 4. Po upływie określonego czasu aukcja jest zamykana i na podstawie podanej metryki oraz zgłoszonych ofert wyznaczany jest zwycięzca. Otrzymuje on ograniczony czasowo kontrakt na wykonanie zadania. Pozostali uczestnicy aukcji wracają do trybu oczekiwania. 5. Robot, który prowadził aukcje dla danego zadania, nadzoruje wykonanie tego zadania do czasu aż nie zostanie ono ukończone. Czasowo ograniczony kontrakt na wykonanie zadania zabezpiecza wykonanie zadania na wypadek, gdyby zwycięzca aukcji nie mógł zadania zakończyć. W przypadku utraty. 22.

(23) kontaktu z robotem dotychczas wykonującym zadanie, jest ono ponownie przydzielane innemu robotowi. W sytuacji, gdy robot wykonujący zadanie utraci kontakt z robotem który zadanie przydzielał, porzuca on wykonywanie zadania. Jak widać algorytm jest stosunkowo prosty i nie wymagający obliczeniowo. Jego autor oszacował w pracy [35] złożoność obliczeniową na poziomie o(1) dla każdego uczestnika i o(n) dla robota prowadzącego aukcje (n określa ilość zadań), (autor nie podaje, czy ilość robotów ma wpływ na złożoność obliczeniową algorytmu). Nietrudno zatem zauważyć że zarówno sam proces przydzielania jak i wykonywania. zadania. zależy w. prezentowanym. rozwiązaniu. od. sprawnej. komunikacji. Przy niedostatecznym zasięgu komunikacji na etapie przydzielania zadania, odpowiednia informacja może nie dotrzeć do wszystkich potencjalnie zainteresowanych robotów. Utrata komunikacji przed zakończeniem wykonania zadania prowadzić może natomiast do porzucenia go przed ukończeniem, co również jest kłopotliwe dla systemu, gdyż będzie wymagać ponownego wykonania procedury jego przydzielenia. To znów stwarza potencjalny problem, który z robotów powinien tą procedurę przeprowadzać, czy nie wystąpi konflikt pomiędzy robotem, który wcześniej monitorował wykonanie zadania. Ogólnie może to prowadzić do niepotrzebnego angażowania zasobów całego systemu.. 23.

(24) 1.3 Analiza stosowanych rozwiązań Problematyka przydziału zadań jest jednym z kluczowych obszarów badań nad systemami wielorobotowymi. Bez wątpienia efektywny, zdecentralizowany mechanizm przydzielania. zadań. jest. ważnym. elementem. wpływającym. na. wydajność. i niezawodność działania wspomnianego zespołu robotów. Wysoka wydajność ogranicza niepotrzebne zużycie zasobów. Systemy scentralizowane, pomimo czasem lepszej efektywności, są zdecydowanie bardziej podatne na awarie. Uszkodzenie centrum zarządzającego lub utrata z nim łączności prowadzić może do kompletnego chaosu w zespole robotów w ten sposób kierowanych. Poszukiwanie rozwiązania optymalnego zagadnienia przydziału metodami znanymi z badań operacyjnych jest nieopłacalne ze względu na dużą złożoność obliczeniową i pamięciową stosowanych algorytmów (sformułowanie zagadnienia przydziału. jako. zadania. programowania. całkowitoliczbowego. kwalifikuje. to. zagadnienie pod względem złożoności obliczeniowej jako problem NP-trudny (ang.. NP-hard), zatem algorytm rozwiązujący ten problem ma złożoność wykładniczą [6]). Metody przybliżone (simpex, metoda węgierska), pomimo mniejszej złożoności obliczeniowej, również nie są zbyt przydatne do naszego celu ze względu na czas potrzebny na znalezienie rozwiązania. W każdym przypadku pojawienie się nowego zadania powoduje konieczność poszukiwania nowego rozwiązania zagadnienia przydziału dla nowych danych wejściowych. Kolejnym negatywnym aspektem tego podejścia jest konieczność podejmowania decyzji w sposób scentralizowany oraz w oparciu o w miarę pełną wiedzę o stanie systemu. Wady te mimo wszystko nie dyskwalifikują całkowicie tego podejścia. Badanie systemu wielorobotowego, w którym przydział zadań realizowany był w oparciu o zagadnienia programowania całkowitoliczbowego jest przedstawione w [4]. We wnioskach autorzy zwracają uwagę na niedoskonałości prezentowanego rozwiązania (w postaci dużej złożoności obliczeniowej i konieczności centralnego podejmowania decyzji). W porównaniu do. przedstawionych powyżej metod, dobre rezultaty daje. zastosowanie podejścia ekonomicznego do badanego problemu. Dość powszechnie w systemach wielorobotowych stosowane są obecnie rozwiązania (wymienione. 24.

(25) w rozdziale 1.2.6) oparte o mechanizmy aukcyjne oraz sieci kontraktowe. Cechują się one wysoką efektywnością i stosunkowo niewielką złożonością obliczeniową. W idealnych warunkach (krytycznym elementem jest niezawodna komunikacja) uzyskanie w ten sposób rozwiązanie problemu przydziału zadań jest rozwiązaniem optymalnym. W warunkach niepewnej komunikacji, otrzymane tymi metodami rozwiązania nie są już jednak optymalne. Sami ich autorzy zaliczają je zresztą z tego powodu do rozwiązań suboptymalnych. Wspomniane aukcyjne mechanizmy przydzielania zadań w zespole robotów funkcjonują najlepiej w sytuacji, gdy nie występują żadne ograniczenia w wymianie komunikatów pomiędzy poszczególnymi członkami zespołu. Możliwe jest zbudowanie w oparciu o nie, systemu charakteryzującego się odpornością na awarie i chwilową utratę możliwości komunikacji, ale ich założenia konstrukcyjne wymagają istnienia sprawnej komunikacji, obejmującej najlepiej swym zasięgiem wszystkich członków zespołu robotów. Brak możliwości komunikacji jest traktowany jako sytuacja awaryjna i niepożądana. W rzeczywistych systemach wielorobotowych jest to jednak sytuacja częsta i powinna być rozważana jako stan normalny. Kłopoty z realizacją komunikacji pomiędzy poszczególnymi robotami mogą mieć różne źródła, zależne od własności wykorzystywanego medium komunikacyjnego oraz cech środowiska, w którym roboty działają, rodzaju wykonywanych zadań i innych przyczyn. Podstawowe przyczyny problemów komunikacyjnych można usystematyzować następująco:. •. wynikające z fizycznych własności użytego nośnika (fal radiowych) – zanik w wyniku przekroczenia zasięgu – zanik wynikający z występowania przeszkód środowiskowych. •. wynikające z zakłóceń – zanik na skutek występowania przypadkowych zakłóceń pochodzących między innymi ze środowiska – zanik na skutek celowych działań zewnętrznych (zagłuszanie lub fałszowanie komunikacji). •. wynikające z usterek technicznych robota.. 25.

(26) Pierwsza grupa przyczyn wynika wprost z fizycznych własności fal elektromagnetycznych wykorzystywanych jako standardowy nośnik komunikacji w robotach. mobilnych.. W. przypadku. propagacji. fali. elektromagnetycznej. w jednorodnym ośrodku jej amplituda maleje odwrotnie proporcjonalnie do kwadratu odległości. Wszelkie dodatkowe przeszkody w postaci ścian, drzew i innych obiektów, umieszczone na drodze między nadajnikiem a odbiornikiem, dodatkowo tłumią fale, przez co jeszcze bardziej skracają zasięg komunikacji. Jako prosty przykład ograniczania zasięgu komunikacji przez przeszkody można podać wykorzystanie sieci WiFi wewnątrz budynku. Kilka ścian na drodze między nadajnikiem i odbiornikiem skutecznie taką komunikację blokuje. Przemieszczanie się robota mobilnego jest oczywistym składnikiem jego funkcjonowania. Stąd nawet w otwartym terenie nie trudno wyobrazić sobie sytuację, w której dwa roboty oddalają się od siebie na odległość, która uniemożliwia komunikacje między nimi. Przy operowaniu zespołu robotów w budynkach, tunelach i innych podobnych obiektach, sama forma środowiska określa możliwości propagacji fal elektromagnetycznych, które determinują możliwości komunikacji pomiędzy robotami. Roboty mobilne funkcjonują (lub będą funkcjonować) w środowisku w otoczeniu różnych maszyn i urządzeń. Jak wiadomo, urządzenia elektryczne mogą na sutek swej normalnej pracy lub też usterki generować znaczne zakłócenia elektromagnetyczne. Pracujący w sąsiedztwie tych urządzeń robot lub grupa robotów jest oczywiście poddana działaniu tych zakłóceń. Kolejnym źródłem zakłóceń mogą się stać urządzenia techniczne emitujące fale radiowe (np.: stacja telekomunikacyjna, przekaźnik telefonii komórkowej itp.). Zastosowanie robotów do akcji ratowniczych naraża je na zakłócenia pochodzące np. z uszkodzonych linii energetycznych. Wreszcie ostatnim czynnikiem mogącym wpłynąć na utratę możliwości komunikacji na skutek zakłóceń jest celowe zagłuszanie. Z tego typu działaniami należy liczyć się w zastosowaniach militarnych, gdzie przeciwnik z pewnością wykorzysta możliwość ograniczenia działań wrogich robotów na swoim terenie, ograniczając lub blokując możliwość komunikacji. Ostatnia grupa przyczyn jest najbardziej oczywista. Robot jako urządzenie techniczne może ulec awarii. Awaria może być samoistna lub też być skutkiem. 26.

(27) przypadkowego albo celowego uszkodzenia robota. Awarii ulec może cały robot lub niektóre jego podzespoły. Skutki awarii mogą być takie, że robot w ogóle przestanie działać i stanie się elementem środowiska (złomem), można stracić z nim komunikacje, a robot będzie dalej wykonywał powierzone mu przed awarią zadania, wreszcie robot może utracić zdolność wykonywania zadań, ale pozostanie mu sprawnie działająca komunikacja. Niezależnie od wymienionych przyczyn ograniczenia w komunikacji nabierają szczególnego znaczenia w sytuacji, gdy do rozwiązania problemu (realizacji postawionego grupie robotów zadania) niezbędna jest współpraca większej liczby członków zespołu, a ograniczona komunikacja uniemożliwia skuteczne znalezienie niezbędnych współpracowników doprowadzając np.: do niepotrzebnego blokowania zasobów, wstrzymywania wykonywania niektórych zadań.. 27.

(28) 2. Proponowane rozwiązanie Jak przedstawiono we wcześniejszych rozważaniach, zagadnienie przydziału zadań w systemach wielorobotowych nie zostało dotychczas rozwiązane w sposób zadowalający. Prezentowane podejścia napotykają na szereg trudności i są obwarowane licznymi ograniczeniami, zwłaszcza w obliczu niepewnej komunikacji. Traktowanie grupy robotów jako systemu wieloagentowego jest w zasadzie standardowym. podejściem. stosowanym. do. analizy. zagadnień. związanych. z projektowaniem i funkcjonowaniem zespołów robotów mobilnych. Zwykle przyjmuje ono formę utożsamienia robota z agentem działającym w określonym fragmencie rzeczywistego świata (w tym przypadku przestrzenią działania agentów jest świat rzeczywisty). Sytuację taką ilustruje Rys. 2.1. Robot i agent są spójnym bytem funkcjonującym w pewnym środowisku. Wobec potencjalnych możliwości, jakie dają systemy wieloagentowe, podejście takie wydaje się sprowadzać systemy wielorobotowe do pewnej podklasy systemów agentowych.. agent. robot. agent. robot. agent. środowisko. robot. Rys. 2.1 Powiązania pomiędzy agentami i robotami. Obecne rozwiązania konstrukcyjne robotów mobilnych oferują na swym pokładzie pewne zasoby informatyczne (rozumiane tutaj jako moc obliczeniową. 28.

(29) jednostki sterującej, jej pamięć operacyjną oraz kanały komunikacyjne). Dodatkowe połączenie tych zasobów związane z tworzeniem grupy robotów można wykorzystać do wzbogacenia robotowego systemu wieloagentowego o nowe możliwości. Dysponując zasobami obliczeniowymi i komunikacyjnymi poszczególnych robotów. można. stworzyć. przestrzeń. wirtualną.. Korzystając. z. zasobów. komunikacyjnych i obliczeniowych poszczególnych robotów można zbudować zatem nierzeczywistą przestrzeń, w której działać będą agenty reprezentujące interesy poszczególnych robotów. Sytuacje taką przedstawiono na Rys. 2.2.. środowisko wirtualne. agent. robot. agent. robot. agent. środowisko rzeczywiste robot. Rys. 2.2 Konstruowanie przestrzeni wirtualnej. Forma przestrzeni wirtualnej może być praktycznie dowolna i zależeć tylko od wymagań oraz potrzeb agentów. Roboty stanowią w tej sytuacji pomost pomiędzy. światem rzeczywistym i przestrzenią wirtualną, natomiast umieszczenie na Rys. 2.2 fragmentu robota wewnątrz obszaru oznaczającego środowisko wirtualne symbolizuje fakt, że roboty użyczając swoich zasobów sprzętowych stanowić będą budulec tej przestrzeni. Każdy robot posiada reprezentacje w świecie wirtualnym, w postaci własnego agenta. Dostarcza temu agentowi niezbędnych do podejmowania decyzji informacji ze świata rzeczywistego, oraz podejmuje zlecone przez agenta działania. Natomiast wszelkie interakcje pomiędzy agentami odbywają się wyłącznie na płaszczyźnie wirtualnej.. 29.

(30) Dysponując przestrzenią wirtualną można posunąć się dalej i wzbogacić system agentowo-robotowy przez wprowadzenie nowych typów agentów, jak to zostało pokazane na Rys. 2.3.. środowisko wirtualne agent agent. robot. robot. agent agent agent. agent. środowisko rzeczywiste robot. Rys. 2.3 Wzbogacanie przestrzeni wirtualnej o nowe typy agentów. Agenty te, w odróżnieniu od agentów powiązanych z robotami, nie będą posiadać swojej reprezentacji w rzeczywistym środowisku. Stąd w dalszej części pracy nazywane będą agentami wirtualnymi. Zadania tych agentów zależeć będą od konkretnych potrzeb całego systemu. Generalnie zadania te miałyby się skupiać na zagadnieniach kompensowania niedostatków wynikających z ograniczeń i ułomności komunikacji. Dodatkowo podejście takie może w znaczący sposób ułatwić zarówno proces projektowania, jaki i analizy oraz formalnego opisu poszczególnych typów agentów i całego systemu. Sam zabieg przeniesienia zarówno agentów jak i interakcji pomiędzy nimi nie wymaga specjalnych ingerencji w część sprzętową robotów, lecz tylko wprowadzenia odpowiednich zmian w ich oprogramowaniu. W oparciu o przedstawione przesłanki można rozważać słuszność następującej tezy: Wykorzystanie. wirtualnej. reprezentacji. środowiska. wieloagentowego. w szczególności zawierającego, między innymi, agenty nie posiadające swojego. 30.

(31) stałego powiązania z robotami działającymi w przestrzeni rzeczywistej, umożliwia lepszą realizację procesu zarządzania zespołem robotów mobilnych w porównaniu z przypadkiem, gdy w przestrzeni wirtualnej działają tylko agenty posiadające swoją reprezentacje w rzeczywistym środowisku. Podstawową ideą opisanego dalej rozwiązania jest zbudowanie, w oparciu o infrastrukturę informatyczną, dostarczaną przez poszczególnych członków grupy robotów, przestrzeni wirtualnej. Połączenie pomiędzy światem rzeczywistym, w którym działać będą roboty a wykreowaną przestrzenią wirtualną stanowić będą agenty powiązane na stałe z poszczególnymi robotami. Każdy taki agent będzie reprezentował tylko i wyłącznie jednego robota. Natomiast dodatkowe agenty egzystujące wyłącznie w przestrzeni wirtualnej będą elementem mającym wpłynąć na wzrost efektywności procesu zarządzania grupą robotów. Przez lepsze zarządzanie grupą robotów należy w tym wypadku rozumieć taki sposób kierowania zespołem, który umożliwia szybsze wykonanie powierzonych zespołowi zadań. Przedstawiona powyżej teza zostanie wykazana drogą konstrukcji systemu zarządzania grupą robotów mobilnych i zbadania jego możliwości.. 31.

(32) 3. Koncepcja modelu symulacyjnego systemu wielorobotowego W rozdziale tym przestawione zostaną założenia i model symulacyjny pewnego abstrakcyjnego systemu wielorobotowego tworzonego przez grupę homogenicznych robotów mobilnych, działających w dwuwymiarowej przestrzeni i wykonujących pojawiające się tam zadania. Model ten następnie do przeprowadzenia eksperymentów symulacyjnych, których wyniki zostaną zaprezentowane i omówione w dalszej części pracy. Otrzymane wyniki tych eksperymentów pozwolą wykazać poprawność tezy przedstawionej w rozdziale 2. Budując model symulacyjny przyjęto następujące założenia: –. Środowiskiem działania robotów będzie prostokątny, zamknięty, pozbawiony przeszkód obszar. Jego rozmiar zostanie określony za pomocą parametrów. MAXX i MAXY. Pozwoli to na prowadzenie eksperymentów w obszarach o różnych rozmiarach. –. W takim środowisku umieszczona zostanie pewna liczba (ROBOT_MAX) jednakowych (homogenicznych) robotów. Wielkość ta również będzie sparametryzowana, by możliwe było badanie zachowania się systemu dla różnej liczby robotów.. –. Każdy z robotów będzie mógł wykonywać w jednej chwili czasu tylko jedno zadanie.. –. Każdemu. z. robotów. zostanie. przyporządkowany. numer. (z. zakresu. 1.. ROBOT _ MAX ) służący do identyfikacji robota. –. Zachowanie się każdego robota będzie kontrolowane w sposób niezależny od pozostałych. Roboty tworzyć będą system zdecentralizowany. W systemie nie będzie centralnego elementu koordynującego lub oddziałującego na zachowanie się robotów.. –. W środowisku będą pojawiać się zadania do wykonania przez roboty. Całkowita ilość zadań będzie określona jako parametr środowiska (TASK_MAX).. –. Pojawianie się zadań w systemie będzie procesem rozłożonym w czasie i mającym charakter losowy. Pozwoli to obserwować zachowanie się systemu. 32.

(33) (robotów) w warunkach dynamicznych – ilość zadań będących do wykonania może być zmienna w czasie. – Każde zadanie opisywane będzie zestawem parametrów określających jego położenie oraz nakład pracy, jaki jest wymagany do jego wykonania (ponadto dodatkowe cechy np. wynagrodzenie, jakie uzyska wykonujący zadanie). Nakład pracy charakteryzowany będzie przez dwa parametry: nakład energii i ilość czasu potrzebną do wykonania zadania. – Każde zadanie będzie mogło być wykonane przez każdego robota. – Rozpoczęcie. wykonywania. zadania. przez. robota. wiązać. się. będzie. z koniecznością jego zakończenia. Robot nie będzie miał możliwości porzucenia zadania w trakcie jego wykonywania (analiza przypadku, gdy możliwe będzie przerwanie wykonywania zadania wydaje się być interesującym tematem dalszych badań, nie będących przedmiotem tej pracy), robot nie będzie mógł rozpocząć wykonywania zadania, jeśli jego stan nie pozwoli na ukończenie tego zadania. – Zadania pojawiające się w systemie będą zadaniami prostymi. Oznacza to, że w odróżnieniu od zadań złożonych, do wykonania których wymagana jest większa liczba robotów, jedno zadanie będzie mogło zostać wykonane tylko przez jednego robota. W przypadku zadań złożonych możliwa będzie dekompozycja takiego zadania na odpowiednią ilość zadań prostych. – Zarówno robot jak i zadanie będą reprezentowane w systemie jako punkt materialny (obiekt o zerowym rozmiarze). – Stan robota będzie opisywany za pomocą zestawu zmiennych pozwalających określić w dowolnej chwili jego aktualne położenie i jego stan energetyczny. – Roboty będą posiadały możliwość komunikacji pomiędzy sobą. Zostanie ona wykorzystana. do. przesyłania. szeroko. pojętej. informacji,. związanej. z przydzielaniem zadań poszczególnym robotom. Komunikacja będzie posiadać ograniczony zasięg (definiowany parametrem COMMRANGE). Wielkość ta również będzie sparametryzowana. Pozwoli to na ocenę działania systemu w warunkach nieograniczonej komunikacji (zasięg będzie rozciągnięty do nieskończoności) i w sytuacji występowania ograniczeń komunikacyjnych.. 33.

(34) – Wiedza robota na temat środowiska oparta będzie na danych uzyskanych z układów percepcji danego robota, lub pozyskanych od innych robotów za pośrednictwem komunikacji. – Egzystencja robota w systemie będzie zużywać jego zasoby energetyczne. Ilość zużywanych zasobów zależeć będzie od aktualnego stanu robota (nawet jeśli robot aktualnie nie wykonuje żadnej pracy ani nie przemieszcza się, to musi chociażby utrzymywać aktywność kanału komunikacyjnego). – Zużycie energii przez robota w procesie przemieszczania się określone zostanie parametrem ρ określającym ilość energii potrzebną na przebycie jednostkowej odległości. – Wykonanie zleconego robotowi zadania powodować będzie także zużywanie jego zasobów energetycznych. Ilość tych zasobów określana jest przez jeden z elementów charakteryzujących zlecone zadanie. (W przypadku robotów heterogenicznych o różnym stopniu przystosowania do wykonywania różnego rodzaju zadań, ilość ta będzie korygowana współczynnikiem zwiększającym zużycie energii własnej robota, odwrotnie proporcjonalnie do przystosowania danego robota do wykonywania określonego typu zadania.) Zachowanie się pojedynczego, rzeczywistego robota będącego składnikiem grupy robotów, w sytuacji braku centralnego systemu kontrolnego jest zjawiskiem (procesem) całkowicie asynchronicznym w stosunku do zachowania się pozostałych członków tej grupy. Ponieważ będziemy mieć do czynienia z systemem zdecentralizowanym, w procesie analizy i projektowania mechanizmów kontrolujących zachowanie poszczególnych robotów zastosowane zostało podejście agentowe. Agent kierujący zachowaniem każdego robota będzie wyposażony w niezbędny aparat zachowań umożliwiających poprawne funkcjonowanie robota w modelowanym środowisku. Główny nacisk położony będzie na zachowania agenta związane z przydzielaniem zadań pojawiających się w środowisku. Pozostałe formy jego aktywności zostały ograniczone do zachowań niezbędnych. Badanie systemu wielorobotowego, opartego na wymienionych wcześniej założeniach, zostanie przeprowadzone przy użyciu symulacji komputerowej. Zdaniem autora, proces modelowania i symulacji tego systemu można oprzeć na mechanizmie symulacji zdarzeniowej [13], która wydaje się być intuicyjną techniką symulacji tego typu. 34.

(35) systemów. Mechanizm ten pozwala skutecznie usunąć z procesu symulacji elementy nieistotne z punktu widzenia badanych zjawisk. Wydaje się on również niezwykle elastyczny w sytuacji, gdy konieczna jest zamiana modelu zdarzeniowego na model symulacji sterownej zegarem. Możliwe jest to poprzez stosunkowo prostą modyfikację przyjętego modelu zdarzeniowego.. 35.

(36) 4. Wprowadzenie do systemów wieloagentowych Opisane w niniejszej pracy rozwiązanie oparte zostało na idei autonomicznego agenta. Rozdział ten stanowi zatem wprowadzenie w problematykę związaną z koncepcją agenta i budową systemów wieloagentowych. Badania nad systemami wieloagentowymi (MAS, ang. Multiagent Systems) zaliczane często do dziedziny określanej jako rozproszona sztuczna inteligencja (DAI, ang. Distributed Artificial Intelligence), zostały zainicjowane w latach osiemdziesiątych XX wieku [14], [26], [56], [64]. Aktualnie teoria systemów wieloagentowych jest nie tylko przedmiotem badań naukowych, ale znalazła także zastosowanie w budowie przemysłowych i komercyjnych aplikacji [56], [72]. W pracy [56] można znaleźć następującą definicję agenta i systemu wieloagentowego: System wieloagentowy to system, w którym grupa współdziałających agentów dąży do osiągnięcia pewnego zbioru celów lub wykonuje pewien zbiór zadań. Natomiast agent to autonomiczna jednostka, która postrzega środowisko, w którym się znajduje i może na nie oddziaływać. Eksponowana często cecha agenta – autonomiczność – oznacza, że ma on w pewnym zakresie kontrolę nad swoim zachowaniem oraz może działać bez interwencji człowieka lub innego programu. Agent realizuje cele lub wykonuje zadania w taki sposób, aby spełnić założenia projektowe przyjęte przy konstruowaniu zarówno jego, jak i całego systemu wieloagentowego. W pracy [43] przedstawione są następujące cechy systemu wieloagentowego: – każdy agent dysponuje niepełną informacją i ma ograniczone możliwości działania, – sterowanie w systemie jest zdecentralizowane, – dane są rozproszone, – obliczenia przebiegają w sposób asynchroniczny.. Istnieją różne podejścia do sposobu modelowania i realizacji agenta oraz interakcji między agentami i środowiskiem, w którym agenty działają.. 36.

(37) Interakcja agentów może się odbywać w sposób pośredni poprzez środowisko, w którym są one osadzone (np. przez obserwację stanu środowiska lub przeprowadzenie akcji, która modyfikuje stan środowiska) lub w sposób bezpośredni poprzez komunikację przy pomocy wspólnego języka (poprzez przekazywanie informacji).. Zastosowania systemów wieloagentowych Aktualne jak i perspektywiczne zastosowania systemów agentowych mogą być bardzo różnorodne. Jako najbardziej charakterystyczne [43], można wymienić: –. Handel elektroniczny i rynki elektroniczne, gdzie kupujące i sprzedające agenty nabywają i sprzedają towary w imieniu ich użytkowników.. –. Monitorowanie i zarządzanie sieciami telekomunikacyjnymi, gdzie agenty odpowiadają np. za przekazanie rozmowy, przełączanie czy transmisję.. –. Modelowanie i optymalizacja systemów transportowych. (w obszarze. gospodarstwa domowego, miejskim, narodowym, światowym), gdzie agenty reprezentują np. pojazdy transportujące lub przewożone towary czy klientów. –. Przetwarzanie informacji w środowiskach informacyjnych (np. Internet), gdzie wiele agentów odpowiada za gromadzenie lub obróbkę informacji.. –. Organizacja ruchu miejskiego czy powietrznego, gdzie agenty odpowiadają za odpowiednie interpretowanie danych pojawiających się w różnych punktach pomiarowych.. –. Zautomatyzowanie planów spotkań, gdzie agenty działając w imieniu ich użytkowników ustalają szczegóły spotkań takie, jak miejsce, czas, porządek spotkania.. –. Optymalizacja. przemysłowych. procesów. produkcyjnych,. gdzie. agenty. reprezentują agregaty produkcyjne lub przedsiębiorstwa. –. Analiza procesów biznesowych wewnątrz lub pomiędzy przedsiębiorstwami, gdzie agenty reprezentują ludzi lub różne wydziały zaangażowane w te procesy na różnych etapach i różnych poziomach.. –. Elektroniczna rozrywka, w tym oparte o rzeczywistość wirtualną gry komputerowe, gdzie np. animowane agenty wyposażone w różne charaktery grają przeciwko sobie lub przeciwko ludziom.. 37.

(38) – Projektowanie i reinżynieria wzorców przepływu informacji i sterowania w organizacjach naturalnych, technicznych i hybrydowych wielkiej skali, gdzie agenty reprezentują jednostki odpowiedzialne za te wzorce. – Badanie społecznych aspektów inteligencji i symulacja złożonych społecznych zjawisk takich, jak ewolucja ról, norm i struktur organizacyjnych, gdzie agenty spełniają rolę członków naturalnej społeczności będącej przedmiotem rozważań. Dodatkowo należy wymienić (między innymi za pracami [22],[36]) robotykę rozproszoną, a szczególnie zagadnienia kooperacji i koordynacji zachowań zespołów robotów mobilnych. Wspólnymi cechami wymienionych zastosowań są: a) wbudowane rozproszenie – są one wewnętrznie rozproszone w takim znaczeniu,. że dane przetwarzane: – występują w różnych miejscach geograficznych („rozproszenie przestrzenne”), – występują w różnym czasie („rozproszenie temporalne”), – mogą być zgrupowane w klastry, dostęp, do których i użycie wymaga znajomości różnych ontologii i języków („rozproszenie semantyczne”), – mogą być również zgrupowane w klastry, dostęp, do których i użycie wymaga zdolności. oddziaływania,. percepcyjnych,. klasyfikujących. („rozproszenie. funkcjonalne”). b) wbudowana złożoność – są one wewnętrznie złożone w tym znaczeniu, że są zbyt duże, by być rozwiązane przez pojedynczy, scentralizowany system, z powodu ograniczeń na danym poziomie technologii sprzętu i oprogramowania komputerowego. Zastosowanie scentralizowanego systemu, który spełnia wymagania rozważanej złożoności zwykle jest bardzo trudne, wymaga czasu i kosztów. Poza tym, takie rozwiązania często prowadzą do rezultatów, które są nietrwałe i stają się nieużyteczne, w momencie, gdy wymagania stawiane tym rozwiązaniom nieznacznie się zmieniają (niestabilność). Realizacja wewnętrznie rozproszonych i złożonych problemów w sposób scentralizowany jest nie tylko niezgodna z intuicją, lecz często wręcz niemożliwa. Alternatywą jest rozbicie procesu rozwiązania takich problemów pomiędzy wiele jednostek zdolnych do inteligentnego współdziałania, czyli zastosowanie podejścia agentowego.. 38.

Cytaty

Powiązane dokumenty

Kiedy wszystkiego się nauczyłem i swobodnie posługiwałem się czarami, to czarnoksiężnik znów zamienił mnie w człowieka... 1 Motywacje i przykłady dyskretnych układów dynamicz-

Prostokątny obszar o powierzchni 0,5 ha przylega jednym bokiem do prostoliniowego odcinka rzeki?. Jakie powinny być jego wymiary, bo ogrodzenie było

Zauważ, że : jest szczególnym przypadkiem funkcji conc z listy 2, więc jest

Rowerzysta przejechał pierwsze 5 km ze średnią prędkością 20 km/h a następnie 12 km ze średnią prędkością 16 km/h.. W chwili gdy mijał stojący na sąsiednim pasie

Czas postrzega się jako „prostą linię, bowiem tylko za pomocą koncepcji linearnej można połączyć ze sobą początek (arche) i o koniec (telos).. Nowy Testament zna jedynie

Zagadnienie występujące w zadaniu okazało się na tyle atrakcyjne dla uczniów, że podjęli się jego rozwiązania i wskazali poprawny wynik.. Najtrudniejsze było dla uczniów

wodzących, że proces fundacyjny jest już w toku. Rzadko natomiast udaje się uchwycić źródłowo moment, w którym podjęta została przez fundatora sama myśl

Na tej strukturze oparta jest moralność, czyli wartość moralna jako rzeczywistość egzystencjalna, dzięki tej strukturze wchodzi ona w wewnętrzny ustrój