Referaty sesja 2p.indd - Pomiary Automatyka Robotyka

Transkrypt

Referaty sesja 2p.indd - Pomiary Automatyka Robotyka
Pomiary Automatyka Robotyka 2/2009
dr in. Micha Gnatowski
Instytut Podstawowych Problemów Techniki PAN
WIELOROBOTOWY SYSTEM TRANSPORTOWY
W artykule przedstawiono koncepcj zespou wielorobotowego wykonujcego zadanie transportowe w otoczeniu przemysowym, na przykad w hali fabrycznej.
Idea systemu polega na poruszaniu si grupy robotów po wczeniej zdefiniowanym, wspólnym grafie w ten sposób, e nie moe wystpi kolizja pomidzy robotami, nie mog si one zakleszczy a droga robotów i czas realizacji zadania musi
by optymalny dla caego zespou. Ponadto prezentowany system jest systemem
rozproszonym, z minimaln komunikacj pomidzy agentami.
MULTIROBOT TRANSPORTATION SYSTEM
In this article a model of group of mobile robots which executes a transportation
task in an industrial environment is presented. The robots move on a previously
defined graph. The task is that collision or deadlock must not occur and the path
and execution time must be optimal for the whole team. The presented system is
distributed with minimal communication among agents.
1. WSTP
Wród obecnie proponowanych wielu zastosowaniach robotów mobilnych mona wyróni
kategorie robotów uytkowych i przemysowych. Roboty uytkowe pracuj w bezporedniej
obecnoci czowieka i w pomieszczeniach przeznaczonych dla ludzi. cieki po których poruszaj si takie roboty s czsto zmienne i zale od chwilowego pooenia przeszkód. Takimi przeszkodami mog by: znajdujcy si tam ludzie, czsto przestawiane krzesa, inne
meble, itp. W takim rodowisku wygodne jest zastosowanie rastrowej mapy otoczenia poniewa cieka robota moe by zmienna i zalena od chwilowego umieszczenia przeszkód.
W tego typu mapie do planowania cieki czsto stosuje si metody dyfuzji, oraz komórkowe
sieci neuronowe [5, 6].
Innym rodzajem zastosowania robotów s roboty pracujce w rodowisku przemysowym,
gdzie trasy po których roboty mog si porusza s cile wyznaczone i w przypadku znalezienia si przeszkody na trasie przejazdu robota, niedopuszczalne jest takie omijanie przeszkody, które wymaga zjechania z trasy. Przykadem takiego rodowiska moe by dowolna
hala fabryczna, gdzie trasy wózków widowych, oraz trasy przej dla ludzi s oznaczone
wymalowanymi liniami i zabronione jest poruszanie si poza wskazanym obszarem. Trasa
takich robotów moe by przedstawiona w postaci grafu. Poruszanie si robota po wyznaczonym wczeniej grafie moe by zrealizowane na wiele sposobów. W najprostszym przypadku
po zadanym grafie porusza si tylko jeden robot, lub roboty mog si mija bezkolizyjnie.
Wtedy zadanie sprowadza si do znalezienia najkrótszej drogi i przejechaniu pomidzy zadanymi punktami [12, 13].
W przypadku grafowej mapy otoczenia, w róny sposób mona interpretowa krawd grafu.
W pracy [10], wprowadzono pojcie strategii „omijania” i „przepuszczania”, polegajce na
zjechaniu robota z krawdzi grafu i poruszaniu si równolegle do niego w celu ominicia innego robota.
322
automation 2009
Pomiary Automatyka Robotyka 2/2009
Graf po którym poruszaj si roboty moe by skierowany, co oznacza, e roboty mog si
porusza tylko w jednym kierunku na danej krawdzi grafu. Uatwia to sterowanie, poniewa
nie wystpi sytuacja kolizyjna na krawdzi grafu, ale czsto uniemoliwia jazd najkrótsz
drog.
Systemy wielorobotowe mona podzieli na scentralizowane i zdecentralizowane.
W pierwszych istnieje jednostka centralna, która podejmuje wszystkie decyzje a roboty s
tylko elementami wykonawczymi. Wikszo obecnie stosowanych w przemyle systemów
jest zrealizowana w ten sposób. Przykadem realizacji zadania eksploracji obszaru
z wykorzystaniem heterogenicznych robotów jest praca [8], gdzie wyrónia si robota - koordynatora i roboty wykonawcze, które nie posiadaj wasnej autonomii. Robot – koordynator
moe by traktowany jako jednostka centralna. W innych systemach scentralizowanych czsto scena jest obserwowana przez kamer i na podstawie tego obrazu jednostka centralna podejmuje decyzje o kolejnym ruchu kadego robota. Przykadem takich systemów s mecze
rozgrywane przez druyny robotów, gdzie kady robot jest obserwowany przez kamer
umieszczon nad boiskiem [14].
W systemach zdecentralizowanych kady robot traktowany jest jako agent a cay system jest
traktowany jak system wieloagentowy. W takim systemie istotny jest sposób komunikacji
pomidzy agentami. Mona wyróni lidera, który decyduje o zachowaniu pozostaych agentów, lub wszyscy agenci s równowani i wszelkie decyzje s podejmowane w procesie negocjacji [3]. Pierwsza z tych metod zawodzi, gdy lider ulegnie uszkodzeniu, lub wystpi zakócenia w komunikacji, druga ma t wad, e jest dugotrwaa, gdy podjcie kadej decyzji
wymaga czasochonnych negocjacji. Uwzgldniajc wady i zalety wszystkich metod komunikacji, wydaje si, e najlepsze rozwizanie jest takie, gdzie agenci s równowani, ich zachowanie wynika z przyjtych regu postpowania a negocjacje dotycz tylko rzadkich przypadków, których nie obejmuj wczeniej zdefiniowane reguy [2]. Dobrym przykadem realizacji indywidualnych celów przez agentów dziaajcych we wspólnym rodowisku, jest ruch
uliczny, gdzie reguy panujce na drodze s znane kademu kierowcy a znaki drogowe, sygnalizacja wietlna i sygnalizacja kierunkowskazami s sposobem komunikacji pomidzy
agentami-kierowcami. Szczegóowy opis pojcia agenta, opis rodzajów i parametrów agenta
jest przedstawiony w pracy [11].
Istnieje szereg rozwiza porednich czcych w sobie sterowanie nadrzdne i pewne elementy autonomii robotów. Sterowanie zarówno hierarchiczne, jak i wieloagentowe jest zaproponowane w pracy [10]. W pracy [4] przedstawiono wykorzystanie kilku kontrolerów obszaru nadzorujcych prac robotów.
Istotnym elementem w tworzeniu zespou robotów mobilnych jest protokó komunikacyjny,
sucy do wymiany danych pomidzy agentami. Przegld mechanizmów komunikacji jest
przedstawiony w pracy [9].
Ze wzgldu na praktyczne zastosowanie zespou robotów w jakim stopniu musz one wspópracowa z czowiekiem. W przypadku systemów najbardziej autonomicznych operator moe
wycznie zleca wykonanie zadania i cae zadanie bdzie wykonane ju bez udziau czowieka. W wikszoci przypadków ingerencja operatora jest konieczna w znacznie wikszym
stopniu. Prace nad przekazywaniem zadania dla caej grupy, bez jego jawnej dekompozycji
przez jednego operatora s przedstawione w [7]. Wielorobotowy system inspekcyjnointerwenycjny, skadajcy si z heterogenicznych robotów sterowany bezporednio przez
operatora jest przedstawiony w [1].
automation 2009
323
Pomiary Automatyka Robotyka 2/2009
2. MODEL SYSTEMU
Celem pracy jest zbudowanie modelu systemu umoliwiajcego realizacj zadania transportowego przez grup robotów mobilnych, pomidzy zadanymi punktami, na znanym
obszarze. Przyjto nastpujce zaoenia:
x Istnieje system umoliwiajcy robotom realizacj cieki wzdu znanej krawdzi grafu;
x Jest moliwa komunikacja pomidzy agentami znajdujcymi si w bezporedniej bliskoci;
x Jest moliwa komunikacja pomidzy wzami wzdu krawdzi grafu;
x Roboty mog porusza si tylko do przodu i nie mog si cofa;
Dla tak postawionych zaoe, zaproponowano nastpujcy model:
1. Pomidzy zadanymi punktami (zwanymi dalej punktami docelowymi), tworzony jest
nieskierowany graf waony, którego te punkty s wzami a wagi krawdzi grafu reprezentuj odlego, czas lub koszt przejazdu pomidzy wzami. Ze wzgldu na
przeszkody i inne ograniczenia, mog pojawia si nowe wzy w grafie. Algorytm
budowania grafu nie jest czci prezentowanego modelu. Punkty docelowe
i przykady czcego je grafu s przedstawione na rysunku 1. Kolorem czarnym zaznaczono punkty docelowe a kolorem biaym wzy, które powstay w procesie budowania grafu. Kady wze musi zawiera co najmniej dwie krawdzie, lecz zalecane
jest, eby byo ich jak najwicej.
Rys. 1a
Rys. 1b
Rys. 1a – punkty pomidzy którymi ma by wykonywany transport, wraz z przeszkodami;
Rys. 1b – graf zbudowany przez rozszerzenie przeszkód i poczenie wzów ze sob (nie zaznaczono
wzów, które powstay w wyniku przecicia krawdzi grafu);
Rys. 1c
324
Rys. 1c – Przykadowy graf zbudowany pomidzy
zadanymi punktami. Biae koa oznaczaj wzy powstae w procesie tworzenia grafu.
automation 2009
Pomiary Automatyka Robotyka 2/2009
2. Roboty mog si porusza tylko po krawdziach grafu i nie mog z niego zjeda
nawet w celu ominicia przeszkody lub innego robota;
3. Agentami w systemie s roboty i wzy grafu;
4. Roboty mog si komunikowa tylko z najbliszym wzem, jeeli znajduj si w jego
pobliu;
5. Roboty mog pozostawa bezczynne tylko gdy znajduj si w wle grafu;
6. Na krawdzi grafu moe znajdowa si tylko jeden robot;
7. Wzy grafu mog si komunikowa tylko z najbliszymi wzami (poczonymi krawdzi grafu);
8. System jest zdarzeniowy – zdarzeniem dla wza jest zblianie si robota, oraz rezerwacja lub zwolnienie krawdzi przez ssiedni wze. Zdarzeniem dla robota jest zblianie si do wza. Przykad wygenerowania zdarzenia zbliania si robota do wza
jest przedstawiony na rysunku. 2
Rysunek 2 – Zdarzenie dojazdu do wza. Przejazd przez czujnik zamontowany na trasie
generuje zdarzenie dla robota
9. Interakcja systemu z uytkownikiem odbywa si w ten sposób, e uytkownik moe
zleci wykonanie zadania transportowego pomidzy wybranymi punktami.
Operator zleca konkretnemu robotowi wykonanie zadnia transportowego podajc list wzów grafu, które robot ma za zadanie odwiedzi. Robot znajc graf pocze i swoje pooenie, znajduje najkrótsz ciek pomidzy dwoma kolejnymi punktami listy a nastpujce jedzie wzdu znalezionej cieki, komunikujc si z kadym agentem-wzem w trakcie przejazdu.
AGENT ROBOT
Robot moe znajdowa si w trybach: {wolny, jazda, zaadunek}. Jeeli robot jest w trybie
„wolny”, oznacza to, e robot znajduje si w wle grafu i oczekuje na zlecenie zadania. Po
otrzymaniu zadania robot zmienia tryb na: „jazda” i rozpoczyna realizacj wyznaczonej
wczeniej cieki. Po dojechaniu do poredniego lub docelowego wza, robot zatrzymuje si
na ustalony wczeniej czas i przechodzi w tryb „zaadunek”, co reprezentuje czas potrzebny
na zaadowanie lub wyadowanie przewoonego towaru.
Najistotniejszym elementem modelu jest jazda wzdu wyznaczonej cieki w sposób umoliwiajcy uniknicie kolizji z innymi robotami realizujcymi swoje zadania. Unikanie kolizji
odbywa si pod wpywem zdarzenia dojazdu robota do wza (rys.2), w sposób nastpujcy:
automation 2009
325
Pomiary Automatyka Robotyka 2/2009
1. Po odebraniu zdarzenia dojazdu do wza, robot wysya komunikat z informacj któr
nastpn krawdzi ma zamiar jecha (ta czynno moe by porównana z uywaniem
kierunkowskazów przez pojazdy zbliajce si do skrzyowania);
2. Agent-wze wysya robotowi jedn z trzech moliwych odpowiedzi:
zWyraa zgod na przejazd (odpowiednik zielonego wiata na skrzyowaniu);
zNie wyraa takiej zgody i wysya sygna „stop” (odpowiednik czerwonego
wiata na skrzyowaniu);
zNakazuje jazd inn krawdzi. (odpowiednik policjanta sterujcego ruchem
na skrzyowaniu i nakazujcego jazd w innym kierunku ni zamierzony);
3. W przypadku gdy robot dosta nakaz jazdy inn krawdzi, dokonuje on przeliczenia
trasy od wza, do którego prowadzi krawd, na której znajduje si robot. (rys.3)
Nakazany kierunek
jazdy dla robota A
Robot B
Robot A
Robot A
Robot B
Robot blokujcy drog
Przeliczona trasa dla robota A
Planowana trasa robota A
Rysunek 3 – Wzajemne blokowanie trasy przez 2 roboty. Robot A dostaje polecenie jazdy
krawdzi inn, ni planowana
AGENT WZE
Wze zna list odchodzcych od niego krawdzi grafu i ma komunikacj z ssiednimi agentami-wzami. Jest ona uywana do rezerwowania i zwalniania krawdzi grafu. Taka rezerwacja daje wzowi informacje, którymi krawdziami roboty mog si porusza. W przypadku, gdy wze zezwala robotowi na przejazd, dokonuje on rezerwacji krawdzi grafu i informuje o tym przeciwny wze tej krawdzi.
Wze dziaa zdarzeniowo, w reakcji na trzy typy zdarze.
Zdarzenie zbliania si robota.
W przypadku zdarzenia zbliania si robota do wza (rys. 2), dziaa on w nastpujcy
sposób:
1. Po otrzymaniu informacji o zblianiu si robota, agent-wze odbiera komunikat, któr nastpn krawdzi wza robot chce jecha;
2. Jeeli ta krawd jest wolna, agent-wze zezwala na przejazd, rezerwuje now krawd i zwalnia t, któr opuszcza robot;
3. Jeeli ta krawd grafu, któr chce jecha robot jest zajta, agent-wze nie zezwala
na przejazd i daje sygna „stop”;
326
automation 2009
Pomiary Automatyka Robotyka 2/2009
4. Jeeli wze wykryje sytuacj kolizyjn, to znaczy dwa lub wicej robotów chce jecha t sam drog w przeciwnych kierunkach, wtedy wze wysya do losowo wybranego robota polecenie jazdy losowo wybran woln krawdzi. Tak sytuacj
przedstawia rysunek 3, na którym dwa roboty wzajemnie si blokuj i jeden z nich zostaje skierowany na inn krawd.
Zdarzenie zarezerwowania krawdzi przez inny wze.
W przypadku odebrania zdarzenia rezerwacji krawdzi przez inny wze, sprawdza on ile pozostao wolnych krawdzi i jeeli wolna jest tylko jedna, zostaje ona zarezerwowana na potrzeby wasne.
Zdarzenie zwolnienia rezerwacji krawdzi przez inny wze.
W przypadku odebrania zdarzenia zwolnienia krawdzi przez inny wze, dany wze dziaa
w nastpujcy sposób:
1. Jeeli wze rezerwowa wczeniej inn krawd na potrzeby wasne, to zostaje ona
zwolniona;
2. Jeeli jaki robot zosta zatrzymany i oczekuje na zwolnienie tej krawdzi, od której
zdarzenie zostao odebrane, to wze zezwala robotowi na przejazd.
3. SYMULACJE
W celu sprawdzenia poprawnoci modelu zbudowany jest symulator. Widok symulatora
przedstawia rysunek 4.
Rysunek 4 – Graf wraz z robotami i przypisane im trasy. Wzy oznaczone kolorem czerwonym oznaczaj koce tras robotów. W tabeli przedstawiono trasy kadego z nich.
W symulatorze do poszukiwania najkrótszej drogi zosta zaimplementowany algorytm Floyda
[13]. Po otrzymaniu zadania robot znajc swoj pozycj sprawdza, czy znajduje si w wle
automation 2009
327
Pomiary Automatyka Robotyka 2/2009
pocztkowym trasy i jeeli nie, to wyznacza sobie najkrótsz tras do punktu pocztkowego.
Nastpnie robot wyznacza swoj tras do punktu docelowego. W prezentowanym przykadzie
przedstawiono tras bez punktów porednich. Z tabeli rysunku 4 wida, e robot R1 ma za
zadanie przejecha z wza N4, do wza N6. Robot R2 jedzie od wza N2 do wza N5
a robot R3 jedzie od wza N7 do wza N0. Wszystkie roboty znajduj si w punkcie pocztkowym trasy.
Rysunek 5 przedstawia roboty w trakcie wykonywania zadania i po jego zakoczeniu. Kolor
zielony na rysunku 5b oznacza, e roboty s w trybie „wolny” i s gotowe do otrzymania nastpnego zadania.
Rysunek 5a
Rysunek 5b
Rysunek 5 – Roboty w trakcie wykonywania zadania (5a) i po jego zakoczeniu (5b)
4. WNIOSKI
Miar skutecznoci systemu jest przede wszystkim jego bezkolizyjna praca, dla danego grafu,
dla danej liczby robotów i dowolnych trasach. Kolejnym elementem oceny jest minimalizowanie czasu wykonania zadania przez ca grup.
Cech wyróniaj prezentowany model jest zastosowanie dwóch rodzajów agentów – robota
i wza, oraz komunikacja ograniczona do niewielkich odlegoci, polegajca na komunikacji
wza z jego ssiadami, oraz robota z najbliszym wzem. Jest to zaleta systemu, gdy praktyczne zrealizowanie komunikacji pomidzy urzdzeniami w warunkach przemysowych na
due odlegoci moe by trudne. System moe by zastosowany dla dowolnie duego grafu
speniajcego podane ograniczenia. W systemie nie istnieje jednostka centralna. Wad systemu jest konieczno pamitania caego grafu przez kady z robotów indywidualnie. W wypadku rozbudowy systemu i niewprowadzeniu aktualizacji lub bdnego wprowadzania danych do niektórych robotów, te roboty mog dziaa nieoptymalnie lub bdnie.
W przyszoci planowane jest rozwinicie systemu o nastpujce elementy:
zMoliwo zlecenia zada dowolnemu robotowi. W chwili obecnej uytkownik zleca
zadanie konkretnemu robotowi – planowane jest takie rozwinicie systemu, eby zadanie byo realizowane przez najbliszego wolnego robota (moe by to porównane
z korporacj taksówkow, gdzie po zleceniu kursu, do klienta przyjeda najblisza
wolna taksówka). Moe by to trudne do zrealizowania przy braku centralnej komunikacji, jednake mona do tego zastosowa mechanizm rozchodzenia si informacji
przez przekazywanie jej pomidzy wzami.
328
automation 2009
Pomiary Automatyka Robotyka 2/2009
zW chwili obecnej nie istnieje mechanizm weryfikacji grafu i poza systemem ley takie
zbudowanie grafu, które umoliwi bezkolizyjn prac caego systemu. Planowane jest
opracowanie algorytmu, który bdzie weryfikowa, czy graf umoliwia prawidow
prac systemu, oraz proponowa optymaln liczb robotów.
zObecnie roboty planuj zawsze najkrótsz tras. Planowana jest taka modyfikacja
algorytmu, eby roboty uwzgldniay zadania innych robotów w planowaniu swojej
trasy.
7. BIBLIOGRAFIA
[1] J. Bdkowski, G. Kowalski, A.Masowski. Wielorobotowy mobilny system inspekcyjnointerwencyjny, Krajowa Konferencja Robotyki, KKR 2008, tom II, 695-702;
[2] M.Gnatowski Wykorzystanie systemów wieloagentowych we wspódziaaniu robotów
mobilnych, rozprawa doktorska, IPPT PAN, Warszawa 2005.
[3] Jacques Ferber. Multi-Agent Systems. Harlow: Addison Wesley Longman, 1999
[4] E.Roszkowska, B.Kreczmer, A.Borkowski, M.Gnatowski – Distributed supervisory
control for a system of path-network sharing mobile robots, Proceedings of the 3rd
European Conference on Mobile Robots, ECMR'07, Freiburg, Germany, p.54-59
[5] B.Siemitkowska. Uniwersalna metoda planowania trasy dla robota mobilnego, Krajowa Konferencja Robotyki, KKR 2008, tom II, 545-554
[6] B.Siemitkowska Coordination the motion of mobile robots using cellular neural network, JAMRIS, vol.I, 2008, p.65-70
[7] M.Skubic, D.Anderson, S.Blisard, D.Perzanowski, A.Schultz. Using a hand-drawn
sketch to control a team of robots, Autonomous Robots, Volume 22, Number 4,
May 2007 , pp. 399-410(12)
[8] M.Sawiski, W.Czajewski. Eksploracja obszaru z wykorzystaniem zespou heterogenicznych robotów mobilnych, Krajowa Konferencja Robotyki, KKR 2008, tom II,
703-710;
[9] P.Trojanek. Mechanizmy komunikacji jawnej w programowych strukturach ramowych,
Krajowa Konferencja Robotyki, KKR 2008, tom II, 369-378;
[10] W.Ulatowski, A.Masowski Sterowanie i wspópraca pojazdów AGV, Automation
2007, CD-Rom
[11] G. Weiss. Multiagent Systems. A Modern Approach to Distributed Artificial Intelligence. The MIT Press, Cambridge, Massachusetts London, England, 2000
[12] R.Wilson Wprowadzenie do teorii grafów, Wydawnictwo Naukowe PWN, Warszawa
2002, ISBN: 83-01-12641-8.
[13] P.Wróblewski Algorytmy struktury danych i techniki programowania. Helion 2001,
ISBN: 83-86718-91-9
[14] www.robocup.org – strona internetowa projektu RoboCup.
automation 2009
329