XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 449 Usng flockng Algorthm and Vorono Dagram for Moton Plannng of a Swarm of Robots Plánování pohybu skupny robotů pomocí flockng algortmu a Voroného dagramů ŠVEC, Petr Ing., Vysoké učení techncké v Brně, Fakulta strojního nženýrství, Ústav automatzace a nformatky, Techncká 2, 616 69 Brno p.svec@centrum.cz Abstrakt: Článek prezentuje technky pro řízení a plánování pohybu skupny robotů mez dvěma daným místy v prostředí s překážkam. Tyto technky jsou založeny na flockng algortmu smulující přrozený žvot, ve kterém mohou být smulovány houfující se č rojící se zvířata jako např. roje včel nebo hejna ryb, ale s menším ohledem na realtu jejch pohybu. Pro nalezení nejkratší cesty je použt A* algortmus ve spojení s Voroného dagramem, který je jednou ze základních datových struktur ve výpočetní geometr. Nejkratší cesta tvoří základ pro vytvoření kordoru umožňující přesun skupny robotů. Klíčová slova: plánování cesty, flockng, skupnové chování, A* algortmus, Voroného dagram 1 Úvod Exstuje mnoho metod pro plánování pohybu robota nebo skupny robotů mez dvěma daným místy. Článek představí plánování pohybu skupny robotů postaveného na flockng modelu (Reynolds, 1987). Návrh systémů pohybu skupn objektů zahrnuje dva hlavní směry. První směr slouží pro smulac přrozeného žvota, jehož účelem je smulovat chování jednců tak přrozeně, jak je to jen možné. Příklady tohoto přístupu mohou být např. smulace hejna ptáků nebo ryb. Jednotlví jednc těchto skupn se nazývají bod a jednoduchá pravdla pro smulac houfování (flockng) objektů se označují jako řídící (steerng) typy chování. Druhý směr je smulace pohybujících se objektů v prostředí s překážkam, ale s menším ohledem na realtu jejch pohybu. Proto objektem může být skupna robotů, jejíž cílem je dosáhnout dané destnace tak rychle, jak je to jen možné s tím, že strktně udržuje svojí soudržnost. I přes veškerou snahu o neděltelnost skupny robotů, povolujeme určtý stupeň separace a tím přrozeného pohybu této skupny. V článku bude představen a použt tento směr pohybu. Článek bude také prezentovat A* algortmus pro nalezení nejkratší cesty z dané startovní pozce do dané cílové stance a Voroného dagram, který je jednou ze základních datových struktur ve výpočetní geometr. V poslední část bude použta kombnace řídících typů chování pro realzac bezkolzního pohybu skupny robotů uvntř kordoru vytvořeného podél nejkratší cesty.
XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 450 2 Typy chování objektů Základem typů chování objektů je jednoduchý transportní model dle (Reynolds, 1999) aproxmující mnohem složtější modely, které nejsou postaveny na dealzovaných objektech. Jedná se o výpočetně nenáročný fyzkální model, protože je postavený na aproxmac hmotného bodu (bod má rychlost, ale žádnou setrvačnost). Tento model by mělo být vždy možné nahradt více realstckým fyzkálním modelem, protože samotné body neexstují v reálném světě a každý fyzkální objekt má nenulový poloměr a tedy moment setrvačnost. Typy chování objektů můžeme rozdělt do dvou částí řídící (steerng) typy chování a typy chování skupn. Exstuje mnoho typů řídících chování, které se mohou kombnovat do mnohem složtějšího typu chování (Reynolds, 1999). 2.1 Řídící typy chování Pohyb objektů je mplementován zmíněným jednoduchým fyzkálním modelem a parametrzován jedným řídícím vektorem síly. Proto jsou řídící typy chování založeny na výpočtu vektoru reprezentující požadovanou řídící sílu. První řídící styl chování, který bude zmíněn, je vyhledávací (seek) typ chování. Vyhledávácí typ chování vrací vektor síly soustředící daný objekt směrem do cílové pozce. Na obrázku 1 je požadovaná rychlost objektu označena jako vektor působící ve směru od objektu do cíle upravený na délku maxmální rychlost objektu a řídící síla je vypočtena jako rozdíl mez požadovanou rychlostí a rychlostí momentální. Momentální rychlost Řídící vektor: požadovaná rychlost - momentální rychlost Cesta pohybu Požadovaná rychlost Obrázek 1 Výpočet velkost řídícího vektoru v případě vyhledávacího typu chování Přjíždějící (arrval) styl chování je podobný vyhledávacímu stylu chování s tím, že povoluje postupné snžování rychlost objektu přblžujícího se k cíl. Styl chování sledování cesty (path followng) počítá řídící sílu, která posouvá objekt podél řady traťových bodů formujících cestu. Cílem řídícího stylu sledování cesty je přesun objektu podél cesty, který zároveň dovoluje odchylku v rámc specfkovaného kordoru. Pokud na začátku pohybu je objekt dál od vedoucí cesty než je povolená tolerance, musí se nejprve přblížt k této cestě. Na obrázku č. 2 s každý objekt určuje svou budoucí pozc, která je promítána na nejblžší bod na nejkratší cestě. Pokud budoucí pozce je určena mmo kordor, pak je objekt orentován ve špatném směru a musí být nasměrován k projekc této pozce na nejkratší cestě. Kordor má danou toleranc z důvodu případné kolze objektu s rohem kordoru, jak je ukázáno na obrázku 2.
XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 451 Tolerance Nový směr Obrázek 2 Typ chování sledování cesty 2.2 Typy chování skupn Typy chování skupn zahrnují řídící chování beroucí v úvahu nějaké nebo všechny objekty v prostoru. Aby objekt mohl určt řídící sílu, musí brát v úvahu všechny ostatní objekty uvntř oblast předdefnované velkost označované jako sousedství, které je centrováno na tomto objektu. V případě, že nějaký jný objekt vstoupí do této oblast, vznká potencální kolze, které se snaží objekt zabránt přesunem od ostatních objektů. Řídící styl chování určuje, jakým způsobem robot reaguje na ostatní roboty v jeho lokálním sousedství. Jak je ukázáno na obrázku 3, sousedství je specfkováno poloměrem a úhlem rozsahu. Úhel Poloměr sousedství Obrázek 3 Sousedství Pro smulac a řízení skupny objektů slouží shlukující (flockng) styl chování a skládá se z následujících tří řídících chování (vz. obr. 4), které popsují jakým způsobem se konkrétní objekt chová dle pozce a rychlost jeho blízkých sousedů ve skupně. Separace vytváří řídící sílu, která směruje objekt dál od objektů, které se nacházejí v jeho sousedském regonu. Nechť r značí vzdálenost k sousedov. Pro výpočet řídící síly se postupuje následovně: vypočítá se odpudvá sílu pro každý blízký objekt odečtením pozce daného objektu od pozce tohoto objektu, dále se provede normalzace této odpudvé síly, aplkuje se váha 1/r a nakonec výsledná řídící síla se dostane jako součet odpudvých sl všech sousedních objektů. Koheze vytváří řídící sílu, která směruje objekt do středu skupny jeho sousedních objektů. Tato síla je použta pro udržení koheze skupny. Pro výpočet řídící síly se
XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 452 postupuje následovně: vypočítá se průměrná pozce sousedů daného objektu a poté se odečte pozce objektu od této průměrné pozce. Zarovnání udržuje směr pohybu daného objektu se směrem pohybu jeho sousedů. Pro výpočet řídící síly se postupuje následovně: vypočítá se průměrný směr pohybu jeho sousedů a poté se odečte směrový vektor daného objektu od tohoto průměrného směru pohybu. Separace Koheze Zarovnání Obrázek 4 Shlukující styl chování Určení sousedů objektu je velm pomalé, pokud se porovnává vzdálenost mez každým dvěma objekty v prostoru. Touto prmtvní metodou se dosáhne časové složtost O ( n 2 ). Ovšem tato časová složtost může být podstatně snížena rozdělením prostoru do menších částí. Exstuje mnoho různých technk, například BSP stromy, čtyřstromy (quad trees), okt. stromy (oct trees) atd. Metoda bn lattce (Reynolds, 2000) rozděluje prostor do několka buněk. Každá buňka obsahuje seznam ukazatelů na všechny entty, které obsahuje. Seznam ukazatelů v jednotlvých buňkách se mění př každé změně pozc entt. Po určení, které buňky leží uvntř sousedství daného objektu, se porovnává vzdálenost pouze vůč objektům obsaženým v těchto buňkách. Počet objektů uvntř sousedství je shora ohrančen, protože skupna má maxmální hustotu objektů. Tuto hranc označíme k a je považována za konstantu. Tedy původní algortmus zrychlí z O ( n 2 ) na O (kn), což je asymptotcky ekvvalentní k O (n). 3 Plánování cesty Nechť je dáno prostředí s překážkam a dvěma místy, kde první reprezentuje startovní a druhé cílovou pozc přesunu. Úkolem je nalézt nejkratší cestu mez těmto místy a zároveň zajstt, že žádný robot ve skupně nebude koldovat s lbovolnou překážkou během pohybu. Pro nalezení nejkratší cesty, př splnění zmíněných podmínek, budou využty následující prostředky: Voroného dagram, který je použt pro nalezení všech možných cest mez překážkam s tou podmínkou, že body na těchto cestách mají největší možnou vzdálenost od těchto překážek a heurstcký A* algortmus pro nalezení samotné nejkratší cesty. Dále budou stručně shrnuty základní vlastnost těchto prostředků. 3.1 Voroného dagram Nechť je dána množna konečného počtu různých bodů P n 2 = { p1,..., p } R, kde 2 < n < a x <> x j pro <> j,, j I n. Všechny lokace v prostoru jsou přřazeny k nejblžším jejch bodům z množny P s ohledem na eukldovskou vzdálenost. Výsledkem je zobrazení prostoru do množny regonů V p ) = { x x x x x pro j <>, j I } ( n
XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 453 asocované s p. Samotný Voroného dagram (vz obrázek 5) je daný množnou regonů o V = { V ( p1),..., V ( pn )} generované množnou P. Základní metody pro výpočet Voroného dgramu jsou: nkrementální metoda, metoda rozděl a panuj a zametací metoda (plane sweep). Inkrementální metoda má nejhorší časovou složtost O ( n 2 ), kdežto rozděl a panuj metoda a metoda zametací mají nejhorší časovou složtost O ( n log n). Pro vytvoření Voroného dagramu byla zvolena zametací metodu z důvodu dobré časové složtost a možnost rozumné mplementace. Důkazy složtost těchto metod jsou provedeny v (Okabe et al., 2000) a (de Berg et al., 2000). 3.2 A* algortmus A* algortmus patří mez tzv. best frst algortmy pro nalezení nejkratších cest. Jedná se o výpočetně nejvýkonnější algortmus garantující nalezení nejkratší cesty. Nechť n označuje lbovolný uzel. Algortmus je postaven na formul f ( n) = g( n) + h( n), kde f (n) je odhadnutá cena nejlevnějšího řešení přes n, g (n) je cena cesty z počátečního uzlu do uzlu n, a h(n) je heurstcká cena udávající nejlevnější cestu z n do cíle. Pro nalezení nejkratší cesty je opakovaně vybírán uzel s nejnžší cenou f (n) a dále je prováděna relaxační operace podobně jako v Djkstrově algortmu (Russel & Norvg, 1995). Heurstcká funkce h musí být vybrána takovým způsobem, aby nedošlo k nadhodnocení ceny cesty do cíle (heurstcká funkce musí být tzv. přípustná). Nejjednodušší příklad přípustné heurstky je vzdálenost přímé vdtelnost. Mez algortmy, které rozšřují vyhledávácí cestu z kořene, je A* algortmus optmálně výkonný (optmally effcent) pro lbovolnou danou heurstckou funkc, což znamená, že neexstuje takový algortmus, který by garantoval expanz menšího počtu uzlů než A*. Časová složtost A* algortmu závsí na přesnost heurstcké funkce. Například, pokud heurstcká funkce je schopná naprosto přesně odhadnout cenu do cíle, pak A* algortmus běží v lneárním čase expandující pouze ty uzly ležící na optmální výsledné cestě. Důkazy optmalty, úplnost a další dskuze o složtost A* algortmu mohou být dále nalezeny v (Russel & Norvg, 1995), (Korf, 1999) a (Konar, 2000). 4 Plánování pohybu skupny robotů Nechť je daná skupna robotů, která má být navgovaná v prostředí s překážkam. Předem musí být vygenerován Voroného dagram a pomocí A* algortmu nalezena nejkratší cesta z dané startovní pozce do pozce cílové. Protože každý robot by měl být schopný projít touto cestou, tak volný prostor na této cestě by měl být zdola ohrančen kružncí o poloměru největší entty. Ačkol mnmální volný prostor určený průměrem obklopující kružnce postačuje pro nalezení cesty, preferuje se větší volný prostor z důvodu větší koherence skupny. V každém bodě na této cestě je volný prostor defnován jako průměr největší kružnce nekoldující s překážkou. Dále je velkost volného prostoru shora ohrančena maxmální šířkou skupny. Sjednocením všech shora ohrančených kružnc volného prostoru se dostane bezkolzní kordor pro přesun skupny robotů podél nejkratší cesty jak je zobrazeno na obrázku 5. Navgace skupny robotů skrz kordor je dosažena jednoduchou kombnací dříve zmíněných řídících stylů chování (sledování cesty, přjíždějící chování) a shlukujícího stylu chování. Kombnace představuje upravení řídících komponent váhovým vektory a jejch sečtení. Další možností je ponechat roboty vyskytující se v přední část skupny tuto skupnu vést. Tato myšlenka, prezentována v prác (Reynolds, 1999) a vylepšena v (Chou, 2004), určuje, že pouze robot v přední část skupny spouští A* algortmus, zatímco zbytek skupny je bude pouze následovat. To znamená, že pouze omezený počet robotů použje algortmus pro nalezení nejkratší cesty a tím snžuje nároky na výpočet. Není přesně určeno, jaký robot bude vést skupnu, místo toho robot vyskytující se v konkrétní stuac ve vedení skupny
XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 454 převezmou tuto rol. Tento přístup má výhodu v případě, že vedoucí skupny je z nějakého důvodu neschopný dalšího pohybu a tím brání přesunu celé skupny. Implementace spočívá v kontrole počtu robotů v sousedství konkrétního robota a pokud tento počet přesáhne danou hranc, pak robot nespustí A* algortmus. Obrázek 5 Voroného dagram se zobrazeným kordorem 5 Závěr V článku byla představena technka pro řízení a plánování pohybu skupny robotů v prostředí s překážkam. Tato technka řízení je postavena na několka základních pravdlech (Reynolds, 1987). Pro plánování pohybu byl použt A* algortmus, který patří do skupny tzv. best search algortmů pro nalezení nejkratší cesty. Platí, že pouze robot v přední část skupny mohou spouštět algortmus nalezení nejkratší cesty, což má za následek lepší výkon př výpočtu pohybu. Dále byl použt Voroného dagram jako základní struktura výpočetní geometre pro nalezení všech cest mez překážkam s tou vlastností, že vzdálenost z lbovolného bodu na této cestě je stejná ke všem blízkým překážkám. Tato vlastnost Voroného dagramu nám garantuje největší možnou vzdálenost skupny robotů od překážek. Navržené řešení zajstlo, že žádný robot nebude mít kolz s překážkou díky defnovanému bezkolznímu kordoru podél nejkratší cesty. Maxmální šířka kordoru je získána ze vzdálenost mez cestou a překážkou a z maxmální šířky skupny. 6 Použtá lteratura DE BERG, M., VAN KREVELD, M., OVERMARS, M. & SCHWARZKOPF, O. Computatonal Geometry: Algorthms and Applcatons. 2. vyd. Berln : Sprnger Verlag, 2000. 367 s. ISBN: 3-540-65620-0. CHIOU, T. Roadmap Based Methods for Flockng Moton wth Obstacles. Unversty of Maryland, College Park. <http://www.cs.umd.edu/~mount/indep/kevn/webpage/ > (Leden 2005) KONAR, A. Artfcal Intellgence and Soft Computng: Behavoral and Cogntve Modelng of the Human Bran. 1. vyd. London : CRC Press, 2000. 787 s. ISBN 0-849-31385-6.
XXX. ASR '2005 Semnar, Instruments and Control, Ostrava, Aprl 29, 2005 455 KORF, R. Artfcal Intellgence Search Algorthms. In Algorthms and Theory of Computaton Handbook. Los Angeles : CRC Press, 1999, s. 36-1-36-20. ISBN 0-849- 32649-4 OKABE, A., BOOTS, B., SUGIHARA, K. & CHIU, S., N. Spatal Tesselatons: Concepts and Applcatons of Vorono Dagrams. 2. vyd. Chchester : John Wley & Sons, 2000. 584 s. ISBN 0-471-98635-6. REYNOLDS, C. W. Flocks, Herds, and Schools: A Dstrbuted Behavoral Model. In SIGGRAPH 87 Conference Proceedngs. New York : ACM Press, 1987, s. 25-34. ISBN 0-89791-227-6. REYNOLDS, C. W. Interacton wth Groups of Autonomous Characters. In Proceedngs of Game Developers Conference 2000. San Francsco, Calforna : 2000, s. 449-460. REYNOLDS, C. W. Steerng Behavours for Autonomous Characters. In Proceedngs of Game Developers Conference 1999. San Francsco, Calforna : 1999. s. 763 782. RUSSEL, S. J., NORVIG, P. Artfcal Intellgence: A Modern Approach. 1. vyd. New Jersey : Prentce Hall, 1995. 932 s. ISBN 0-131-03805-2.