Agnieszka ALEKSIŃSKA, A drian KOSOW SKI, Michał M A ŁA FIEJSK I Politechnika G dańska
I D E N T Y F I K A C J A T E R E N U Z A P O M O C Ą A U T O N O M I C Z N E G O R O B O T A
S tre s z c z e n ie . W pracy rozważane jest zagadnienie identyfikacji nieznanego terenu za pom ocą autonomicznego ro b o ta o ograniczonym zasięgu widzial
ności. Przyjęty model m atem atyczny zakłada, że teren m a postać ograniczo
nej dwuwymiarowej m apy podzielonej na identyczne kwadratow e obszary (pola) przylegające do siebie bokami. Zadaniem autonom icznego robota, którego zasięg widzialności ogranicza sie do pól przylegających do miejsca, w którym się znajduje, jest identyfikacja całej mapy, poprzez odwiedzenie wszystkich jej pól w możliwie najm niejszej liczbie ruchów robota. Ponie
waż problem w wersji on-line nie posiada dokładnego rozwiązania, autorzy skoncentrowali się na konstrukcji algorytm u przybliżonego dla szczególnych typów m ap z gwarantowaną dokładnością jjC, gdzie C jest liczbą pól całej mapy.
T E R R A I N L A Y O U T I D E N T I F I C A T I O N U S IN G A U T O N O M O U S R O B O T U N IT S
S u m m a ry . We consider th e problem of identifying an unknown terrain layout using an autonom ous mobile robot w ith a bounded line of sight.
Since in th e general case there does not exist an exact on-line algorithm for th e considered problem, we restrict our considerations to th e construction of an approxim ation algorithm for special classes of maps, proving an upper bound of | C moves for th e proposed approach, where C denotes th e area of th e m ap m easured in squares.
1. W p r o w a d z e n ie i o p is p r o b le m u
Problem y przeszukiwania nieznanego terenu oraz poszukiw ania celu o nie
zidentyfikowanym położeniu należą do podstawowych zadań autonom icznych ro
botów mobilnych i m ają swoje sformułowanie w języku geometrii obliczeniowej [1, 2, 4, 6, 7], ‘
12 A. Aleksińska, A. Kosowski, M. M ałafiejski
W pracy w ykorzystam y geometryczny model zagadnienia przeszukiw ania terenu przez autonom icznego ro b o ta mobilnego. M apę nieznanego terenu podzie
limy na identyczne kwadratow e pola przylegające do siebie bolcami. Dwa pola, które m ają wspólny wierzchołek, będziemy nazywać sąsiednimi, natom iast pola które m ają wspólną krawędź bezpośrednio sąsiednimi. Z pozycji, w której się znaj
duje, robot widzi bezpośrednio sąsiadujące pola i może przem ieścić się na jedno z tych pól w jednym kroku.
Rozważany przez nas problem konstrukcji najkrótszej tra sy autonom icznego robota mobilnego sform ułujem y następująco:
Problem Najkrótszej Trasy Robota [ Pr o b l e m N T R ] W e j ś c i e : początkowe położenie robota, mapa.
R o z w i ą z a n i e : tra sa komiwojażera.
K r y t e r i u m : m inim alizacja długości.
Złożoność obliczeniowa problem u w wersji off-line pozostaje problem em otw artym . W pracy [5] autorzy podali schem at 1 + e-przybliżony, natom iast w [1] skonstruowano algorytm m inim alizujący długość trasy ro b o ta z dokładnością równą | .
Zajm iem y się w ersją on-line tego problem u, dla której nie istnieje algo
rytm dokładny, zatem współczynnik przybliżoności liczony będzie względem liczby wszystkich pól mapy. W pracy [7] autorzy pokazali, że w tym przypadku najlepszy współczynnik aproksym acji, jaki m ożna uzyskać, wynosi g. Podali także algorytm
|-przybliżon y dla dowolnych map.
2. A lg o r y tm |- p r z y b l iż o n y d l a w ą s k ic h m a p
Zaprezentowany przez nas algorytm on-line będzie m iał zastosowanie dla m ap szczególnej postaci. Rozważać będziemy mapy, w których nie m ożna umie
ścić k w adratu składającego się z 16 pól. klapy takiej postaci będziemy nazywać wąskimi. Dodatkowo zakładać będziemy, że m apa nie m a pól rozspajających, czyli takich których usunięcie rozspoiłoby mapę.
Poniżej skonstruujem y algorytm ^-przybliżony, tzn. algorytm , k tó ry zn aj
duje trasę nie dłuższą niż | C, gdzie C jest liczbą pól całej mapy.
2.1. Algorytm
W pamięci ro b o ta przechowywać będziemy informacje o dokładnym położe
niu wszystkich wcześniej zidentyfikowanych pól. Niektóre pola sąsiadujące z tra są ro b ota b ędą przechowywane n a stosie w celu ich możliwie najszybszego odwiedze
nia.
Zakładamy, że rozpoczynając identyfikację mapy, robot ustaw iony jest na polu brzegowym m apy (przynajm niej jeden z wierzchołków takiego pola znajduje się na brzegu mapy, form alna definicja zamieszczona została dalej). Podstawową
zasadą ruchu ro b o ta jest wybranie skrętu w lewo, przed pójściem prosto oraz skrę
tem w prawo. W trakcie przeszukiw ania m apy robot rozpoznaje ślepe zaułki, czyli pola, które bezpośrednio sąsiadują z trzem a wcześniej odwiedzonymi połam i, róż
nymi od pola sta rtu . R obot, w sytuacji gdy zidentyfikuje ślepy zaułek, rezygnuje z odwiedzenia kolejnego pola według wcześniejszej zasady, odkłada inform acje o tym polu n a stos i w ybiera ślepy zaułek jako kolejne odwiedzane pole.
Formalnie, kolejny ruch ro b o ta wykonywany jest w oparciu o poniższe re
guły, uporządkow ane względem m alejących priorytetów:
1. Jeśli pole, na którym znajduje się robot, sąsiaduje bezpośrednio ze ślepym zaułkiem , to robot umieszcza na stosie współrzędne pola, na które przem ie
ściłby się, gdyby nie było ślepego zaułka. Następnie przesuwa się n a pole, które jest ślepym zaułkiem.
2. Jeżeli stos nie jest pusty, to robot przemieszcza się do ostatniego n a stosie nieodwiedzonego pola, poruszając się najkró tszą ścieżką, w ybierając ruch prosto przed skrętem w lewo. Po dotarciu do niego zdejm uje to pole ze stosu.
3. Jeżeli stos jest pusty, robot próbuje przemieścić się na nieodwiedzone pole w ybierając skręt w lewo, ruch prosto, przed skrętem w prawo.
4. Jeżeli stos jest pusty i pole, na którym znajduje się robot, nie sąsiaduje bezpośrednio z nieodwiedzonym polem, to robot przemieszcza się wzdłuż najkrótszej ścieżki do ostatniego pola trasy, które m a sąsiada wśród nie- odwiedzonych pól.
5. Jeżeli cała m ap a została zidentyfikowana, to robot w raca do p u n ktu sta rtu w zdłuż najkrótszej ścieżki.
2.2. A naliza algorytm u
Zbiór krawędzi pól mapy, które należą tylko do jednego pola mapy, tworzy brzeg mapy. Zbiór pól m apy P , które nie sąsiadują z brzegiem mapy, będziemy nazywać szkieletem m apy P. N atom iast pola, które nie należą do szkieletu mapy, nazywać będziem y polam i brzegowymi
L e m a t 1. Niech P będzie mapą bez pól rozspajających. Jeżeli szkielet mapy P jest jednym z elementarnych szkieletów przedstawionych na rysunku 1, to algorytm pokryje P w 5g4~3 krokach.
E
Rys. 1. Zbiór elem entarnych szkieletów m apy (z dokładnością do obrotu czy od
bicia). C iągłą linią oznaczono brzeg szkieletu
14 A. Aleksińska, A. Kosowski, M. Małafiejski
Dowód. Dowód polega n a rozpatrzeniu skończonej liczby wąskich m ap o elemen
tarnym szkielecie i konstrukcji dla nich tra sy ro b o ta zgodnie z algorytm em . Łatwo zauważyć, że dołączanie fragm entów w sposób pokazany n a rysunku 4 nie w pły
wa na liczbę w ielokrotnie odwiedzanych pól. Pozwoliło to n a zredukowanie liczby
koniecznych do przeanalizow ania m ap. □
L e m a t 2. Dowolna wąska mapa o spójnym szkielecie bez pól rozspajających zo
stanie pokryta przez algorytm w 5g}~3 krokach.
Dowód. Przeprow adzim y indukcję względem rozm iaru szkieletu mapy.
Jeżeli szkielet m apy jest pusty, to długość trasy ro b o ta będzie równa do
kładnie C.
Załóżmy, że algorytm pokryw a mapy, których rozm iar szkieletu jest m niej
szy niż n, w co najwyżej 5i? p ^ krokach. Niech P będzie wąską m apą, której szkielet m a rozm iar równy n. Jeśli szkielet m apy P m a jed n ą z postaci pokazanych na ry
sunku 1 (z dokładnością do ob ro tu czy odbicia), to n a m ocy lem atu 1 długość trasy ro b o ta będzie w ynosiła co najwyżej 0(tyr-3.
Jeśli n ato m iast szkielet m apy P nie jest elem entarny, to zaw iera jeden z fragm entów pokazanych n a rysunku 2 (z dokładnością do obrotu czy odbicia).
Przy czym zakładam y, że tra s a ro b o ta nie rozpoczyna się w polach przylegających do widocznych krawędzi szkieletu.
Rys. 2. Zbiór możliwych zakończeń szkieletów wąskiej m apy (z dokładnością do o b ro tu czy odbicia). C iągłą linią oznaczono brzeg szkieletu
D la każdego z powyższych zakończeń szkieletu m apy P będziem y rozwa
żać w szystkie możliwe postaci brzegów m apy otaczających szkielet. W każdym przypadku m ożna zredukować szkielet m apy P , obcinając pew ien fragm ent map}' tak, aby uzyskana m ap a była wąska, m ia ła spójny szkielet i kolejność odwiedzania pozostałych p ól m apy nie zm ieniła się. Sposób redukcji ilustruje rysunek 3.
Poniew aż dołączanie do brzegów galerii fragm entów postaci z rysunku 4 nie zm ienia tra s y ro b o ta i nie zwiększa liczby pól, któ re należy odwiedzać wielokrotnie, rozpatrzyliśm y wszystkie istotnie różniące sie przypadki.
W w yniku redukcji otrzym aliśm y m apę P ' o m niejszym szkielecie, skracając trasę ro b o ta o p i zm niejszając rozm iar m apy o r , gdzie p, r są pewnym i liczbami naturalnym i. W każdym przypadku £ < | , stą d n a m ocy indukcji
S ( P ) < « (P O + p < i ( C - r - | ) + p <
gdzie S ( P ) je s t długością tra sy ro b o ta w ew nątrz m apy P.
□
ir
ÏfFF
fFF
FR-
i ;
:r
i r >brzeg szkieletu brzeg wielokąta tra sa ro bota odwiedzone pola
szkielet m apy odcinany fragm ent
. \ t. \ N N '
í t S
: A
1 A
m
• t f r 1
Rys. 3. R edukcja szkieletu galerii. N ieparzyste kolumny zaw ierają m apę przed re
dukcją, natom iast parzyste m apę po redukcji
T w ie r d z e n ie 1. Niech P będzie wąską mapą bez pól rozspajających. Wówczas trasa robota będzie krótsza niż .
Dowód. Przeprow adzim y indukcję względem liczby składowych spójności szkie
letu. Niech G \ , G2 będą sąsiadującymi składowymi spójności szkieletu. Niech a\ € G \ , b\ € Go będą polam i wewnętrznym i m apy takim i, że odległość a\ od b\
jest jak najm niejsza. Wówczas pola są i S2 pokazane na rysunku 5 nie należą do
16 A. Aleksińska, A. Kosowski, M. Małafiejski
i t -
c f c
d A di
Rys. 4. Sposób zwiększania rozm iaru m apy bez zm iany tra sy ro b o ta i liczby odwie
dzanych w ielokrotnie pól. D ołączany fragm ent m apy został zakreskowany n a pierwszym rysunku
szkieletu i m ają co najm niej jed en wierzchołek położony n a brzegu mapy. Możliwe są trzy sposoby położenia pól s i, S2 względem brzegów galerii (rysunek 5 (a-c)).
(a) Podzielimy m apę P n a dwie części P \ , Po w sposób pokazany na rysun
ku 5(a’). Ponieważ pola si i so w ystępują w obydwu częściach mapy, więc C ( P ) = C (P \) + C(Po) — 2. Rozważmy trasy, które wyznaczy rob ot identy
fikując każdą część m apy osobno.
Przypuśćm y, że ro bot rozpoczyna pracę w ew nątrz m apy Po od pola S3. Tra
sa ro b o ta w ew nątrz m apy P2 m a długość równą co najwyżej ^ ((ty Ą ) — | ) i składa się z fragm entu po łączącego p u n k t S3 z punktem S4 i odcinka .S4.S3.
Podobnie tra s a ro b o ta w ew nątrz m apy Pi sk łada się z fragm entu p n łączą
cego pu n kt s ta rtu z S3, odcinka S3S4 i fragm entu P1 2 łączącego punkt S4 z punktem sta rtu . Zatem , tra s a skład ająca się z fragm entów pn,P 2,P l2 jest trasą, k tó rą znajdzie algorytm oraz
S ( P ) = S ( F i) + S ( Ą ) - 2 « j( C '( P ,) + C (P 2) - | ) - 2
= |« ? ( / > ) + f ) - 2 < f t C t P ) - | ) .
Podobnie postępujem y, gdy robot rozpoczyna pracę w ew nątrz m apy P2 od pola S4.
(b-c) Dowodzimy analogicznie.
□
3. M o ż liw e u o g ó ln ie n ia i w n io s k i k o ń c o w e
Pokazaliśmy, że w ew nątrz wąskich m ap bez pól rozspajających zaprezen
towany algorytm znajd uje tra sę ro b o ta o długości równej co najw yżej | C. Jed
nak stosunkowo p ro sta m odyfikacja skonstruowanego przez nas algorytm u pozwa
la znaleźć równie dobre przybliżenie rozw iązania problem u dla bardziej ogólnych m ap. M ożna pokazać, że w wąskich m apach algorytm znajd uje tra sę ro b o ta o dłu
gości równej co najwyżej f C + T , gdzie T jest liczbą pól rozspajających. Ponadto,
(a) P
\bi\
s' \
1 S 3 j S l a i S 4 \S 2
;/
/ / ~ T - -- s'/
s4
bi\ ’ \
1
S 3 j S l a i
S 4 j S 2 V
L_
(b) 1
isi ai
|S2 b]
(c)
b\
1 i\si Oli i
\S2\
11
Rys. 5. Łączenie m ap o spójnym szkielecie
stosując reguły poruszania się podane w części 2.1, aż do n apotkania przewężenia mapy, m ożna z uwagi na znajomość brzegu fragm entu m apy zastosować algorytm dla wersji off-łine [1] i kontynuować identyfikację mapy, zgodnie z regułam i z części 2.1. Szczegółowa analiza powyższych uogólnień zaprezentowanego przez nas algo
rytm u w ykracza objętością poza zakres referatu i stanow i obiekt naszych dalszych badań.
LITERATU RA
1. A rkin E.M ., Fekete S.P, M itchell J.S.B.: A pproxim ation algorithm s for lawn mowing and milling. M athem atisches In stitu t, U niversität zu Köln 1997.
2. Deng X., K am eda T ., P apadim itrio u C.: How to learn an unknown environ
m ent I: T he rectilinear case. J.A CM , 45(2), 1998, p. 215-245.
3. Fuszara M., Kosowski A., Malafiejski M.: O utline of an environm ent for th e sim ulation of autonom ous m ilitary units. Zesz. Nauk. Pol. Gd., Ser. Techno
logie Inform acyjne, No. 5, 2004, p. 755-764.
4. G abriely Y., Rim on E.: C om petitive on-line coverage of grid environm ents by a m obile robot. Com put. Geom. T heory Appl., 24, 2003, p. 197— 224.
5. Grigni M., K outsoupias E., P apadim itriou C.H.: An approxim ation scheme for plan ar graph T SP. Proc. 36th Annu. IE E E Sympos. Found. Com put. Sei.
(1995), p. 640— 645.
6. Hoffmann F., Icking C., Klein R., Kriegei K.: T h e polygon exploration pro
blem. SIAM J. Com put, 31, 2001, p. 577-600.
18 A. Aleksinska, A. Kosowski, M. Malafiejski
7. Icking C., K am phans T ., Klein R., Langetepe E.: Exploring Simple Grid Polygons. LNCS (2005) 3595, p. 524-533.
8. Icking C., Klein R., Langetepe E., Schuierer S., Sem rau I.: An optim al com
p etitive strateg y for walking in streets. SIAM J. C om put., 33, 2004, p. 462—
486.
Recenzent: D r hab. inz. Andrzej Polanski, prof. Pol. SI.
A b s t r a c t
We consider th e problem of identifying an unknown terrain layout using an autonom ous mobile robot w ith a bounded line of sight. In th e adopted m a
them atical model, it is assum ed th a t th e considered terrain takes th e form of a two-dimensional map, divided into u n it squares w ith adjacent sides. T he auto
nomous robot, whose scope of vision only includes th e squares directly adjacent to its current location, is required to identify th e entire m ap in such a way as to minimise th e num ber of moves perform ed by th e robot betw een adjacent fields.
Since in th e general case th ere does not exist an exact on-line algorithm for th e considered problem, we restrict our considerations to th e construction of an ap
proxim ation algorithm for special classes of m aps, proving an upper bound of j C moves for th e proposed approach, where C denotes th e area of th e m ap m easured in squares.