You are on page 1of 27

Elektrotehnički fakultet u Beogradu

Odsek Signali i Sistemi

DIPLOMSKI RAD
Primena veštačke inteligencije
pri kretanju robota za specijalne namene

Student:
Milošević Nikola 69/2004

Mentor:
Prof.Dr Milan Milosavljević

Beograd,2010.
Uvod .................................................................................................................................... 3
1. Opšti principi i načini kretanja robota za specijalne svrhe ............................................. 4
2. Zbog čega je autonomno kretanje robota tako teško? ..................................................... 6
3. Navigacija autonomnih robota ........................................................................................ 7
3.1. Planiranje globalnih putanja ................................................................................... 7
3.1.1. Navigacione funkcije......................................................................................... 7
3.1.2. Putne mape........................................................................................................ 8
3.2. Metode lokalne navigacije ....................................................................................... 9
3.2.1. Veštačko potencijalno polje .............................................................................. 9
3.2.2. Histogram vektorskog polja ............................................................................ 10
3.3. Hibridne metode..................................................................................................... 11
3.3.1. Hibridna navigacija ........................................................................................ 11
3.3.2. Integrisani algoritmi ....................................................................................... 12
4. Mapiranje ...................................................................................................................... 14
4.1. Mape obuhvatajuće mreže ..................................................................................... 14
4.2. Topološke mape ..................................................................................................... 16
5. Lokalizacija ................................................................................................................... 17
5.1. Lokalizacija pomoću Kalmanovog filtra ............................................................... 18
6. Primeri........................................................................................................................... 19
6.1. Korišćenje Kalmanovog filtra ................................................................................ 19
6.1.1. Inicijalizacija filtra ........................................................................................ 21
6.1.2. Kretanje i predikcija kretanja ......................................................................... 21
6.1.3. Izračunavanje relativne pozicije robota ......................................................... 22
6.1.4. Dodavanje novog objekta u mapu................................................................... 23
6.2. Korišćenje Fuzzy tehnike....................................................................................... 23
7.Zaključak........................................................................................................................ 25
Literatura ........................................................................................................................... 25

2
Uvod

Roboti su do sada korišćeni u mnogobrojnim situacijama i za razne namene: kao


čuvari, specijalni uređaji, mašine za košenje trave, čistači u prostorijama pod
vakumom itd. Oni su takođe korišćeni i u pretrazi i spašavanju (USAR, SSRR), pri
asistiranju u raznim misijama.

Roboti su pogodni za za pronalaženje trasa za izvlačenje, pronalaženje tela


nastradalih, uočavanje dodatnih opasnosti itd, što u mnogome čuva spasilačke timove.
Takođe su korišćeni tamo gde psi tragači nisu mogli da prođu zbog premalenog
otvora. U akcijama spašavanja uvek su bili na desetak metara ispred spasilačkih
timova čime su ulivali sigurnost timovima i davali tačne podatke o stanju ruševina da
ne bi došlo do iznenadnih obrušavanja ili slično.

Spasilačka robotika je novo polje robotike koje se intezivno razvijalo prethodnih


desetak godina i koje se i dalje razvija. Ova oblast robotike podrazumeva korišćenje
robota kao vid podrške prvim spasilačkim ekipama prilikom spašavanja i istraživanja
razorenih terena. Roboti, poznati kao SSRR roboti (Safety, Security and Rescue
Robots), mogu biti izuzetno efikasni u urbanim spasilačkim misijama nakon
zemljotresa, bombaških ili gasnih napada, eksplozija ili u svakodnevnim incidentima
kao što su požari i saobraćajne nesreće naročito one koje uključuju prevoz opasnih
materijala. Ovi roboti se koriste i za izviđanje ruševina u potrazi za priživelima.

Spasilački roboti, pored toga što zahtevaju specifičnu konstrukciju i dizajn, moraju
posedovati izuzetnu inteligenciju da bi se smanjila potreba stalnog nadgledanja i
upravljanja od strane čoveka.

Još od 1980. godine u literaturi su se spominjali ovakvi roboti međutim nije postojao
konkretan primer takvog uređaja, SSRR roboti još nisu bili napravljeni. Prva prava
istraživanja su započeta 1995. godine nakon bombaškog napada u Oklahoma Sitiju
kada je razmatrano kako se roboti mogu priključiti spasilačkim ekipama i poboljšati
njihovu efikasnost. Bilo je potrebno razviti ekspertski sistem za odlučivanje o tome
koji su postojeći roboti korisni i u kojim konkretnim operacijama (situacijama) se
mogu primeniti, kao i istražiti tzv. majka – ćerka klasu robota kao rešenje za uočene
nedostatke postojećih modela. Razvijen je niz robota koji su se lako prilagođavali
terenu, a koristili su se u realnim situacijama kao i u eksperimentalne svrhe. Bazirali
su se na principu dečijih igračaka na baterije. Razvoj ovih mobilnih robota je pospešio
razvoj malih robota guseničara koji su bili korišćeni za vojne operacije u urbanim
sredinama. Sve do 9.11.2001. ova vrsta robota nije imala ozbiljniju primenu iako su
svake godine organizovana takmičenja ovih robota u okviru Američkog udruženja za
veštačku inteligenciju (American Association for Artificial Intelligence) i tzv.
RoboCup. Na tim takmičenjima naglasak je bio mnogo više na razvoju veštačke
inteligencije nego na konkretnoj primeni ovih robota. Tek sa bombaškim napadom na
svetski trgovinski centar u Njujorku počinje ozbiljnija i konkretna primena. Tada su
prvi put zaista korišćeni ovi roboti i to u potrazi za preživelima i iznalaženja
najbezbednijih prolaza kroz ruševine, ispitivanje sigurnosti preostalih struktura
građevine i detekciju opasnih materijala i sadržaja. U svakoj od ovih primena roboti
su se pokazali superiornijima u donosu na standardnu opremu – roboti su sa lakoćom
prodirali u dubinu od dvadesetak metara što je bilo neuporedivo više od prosečna dva
metra koliko su dotadašnji uredjaji postzali. Takodje, mogli su da prodju kroz prolaze

3
koji su bili suviše uski za čoveka ili spasilačkog psa i mogli su da opstanu u
prostorima zahvaćenim vatrom ili na mestima kojima je pretilo obrušavanje. Odmah
posle 11. septembra formiran je zvanični robotski spasilački tim.

Pored mogućnosti robota da vrši navigaciju od početne tačke do zadatog cilja i da pri
tome izbegava bilo kakve statičke ili dinamičke prepreke, mobilni robot mora
posedovati sistem mapiranja i lokalizacije sopstvene pozicije. Pozicioniranje samog
robota mora biti poznato u svakom trenutku sa ciljem da operacije navigacije i
kreiranja mapa obavlja što preciznije. U ovom radu akcenat će biti na metodama koje
se bave pomenutim problemima.

1. Opšti principi i načini kretanja robota za specijalne svrhe

Roboti koji se koriste za specijalne svrhe, o kojima je prethodno bilo reči, nemaju
opšti princip kretanja koji koriste. Naime, u zavisnosti od vrste robota, razlikujemo i
načine njihovog kretanja. Vrlo često se koriste i roboti koji se kreću pomoću gusenica
jer su one vrlo poželjan sistem kretanja koji dozvoljava lako prevazilaženje velikih
prepreka, rupa, useka, kao i nestabilnih i vlažnih terena. Poznato je da se ovi roboti
koriste u takozvanim Multi-Robot timovima, jer se tada mnogo lakše vrši mapiranje i
istraživanje određenog prostora. Tehnika kretanja guseničara je jednostavna i zasniva
se na sistemu međusobno povezanih delova hardvera i softvera tzv. CubeSystem koji
ima ugrađen poseban kontroler, poseban operativan sistem i biblioteke zajedničkih
funkcija robota. Zahvaljujući gusenicama, ovi roboti se lako kreću po stepeništu i (ili)
po vrlo neravnim površinama. Vrlo su brzi i okretni na otvorenim terenima. Imaju
mali trag na podlozi, pa su pogodni i za zatvorene terene (objekte). Naravno,
opremljeni su jakim računarima i širokom lepezom različitih senzora i pribora. Set
baterija koje koriste dozvoljava 2.5 do 3 sata neprekidnog rada.

Slika 1. Robot guseničar

Takođe, vrlo su zastupljeni i korišćeni roboti na točkove. Postoji konfiguracija u kojoj


se koristi šest nezavisnih točkova koji su dosta veliki. Razlog za njihovu veličinu jeste
što se tako omogućava da robot nosi kompletan PC, senzore, razne druge komponente
i naravno što je jako značajno – popriličan teret. Motori pogone po tri točka sa leve i
sa desne strane preko kaiševa koji su vezani na prednju ili zadnju osovinu i razvijaju
snagu od po 90W, a opremljeni su i HP enkoderom od 500 impulsa po kanalu. U
poslednje vreme veoma rasprostranjen način rasporeda točkova je onaj u kome se 2
točka nalaze sa prednje strane, u istoj liniji, i da mogu da se rotiraju u svim pravcima.
Ovi točkovi služe za vuču. Treći je takođe pokretan i nalazi se pozadi, iza prednja dva
i služi za upravljanje - on drži pravac. Ovakav raspored točkova će biti razmatran i u
ovom radu.

4
Slika 2. Robot sa točkovima

Posebno su zanimljivi i takozvani modularni roboti. Ovi roboti su prvi put razvijeni u
Nemačkoj, kao nezavisni roboti i kao grupa robota, prevashodno za vojne misije,
preživljavanje i istraživanje. Kada se koriste kao pojedinačni roboti mogu da pokriju
velika područja u vrlo kratkom periodu. Pojedinačni moduli se spajaju posebnim
konusnim mehanizmom koji dozvoljava da se tako formiraju vrlo kompleksni roboti.
Ovaj mehanizam za spajanje razvio je Houxiang Zhang na Univerzitetu u Hamburgu.

Osnovna ideja je da je da je svaki pojedinačni modul vrlo jednostavan, i kao takav ne


mnogo efikasan, ali u kombunaciji sa ostalim modulima čitav sklop čini jedan
kompleksan sistem koji je sposoban za izvršavanje različituh zadataka.

Svaki modul opremljen je parom gusenica koji omogućava i penjanje po stepenicama,


različitim senzorima, senzorima za dodir, GPS-om i žiroskopom, koji im
omogućavaju lakšu navigaciju i snalaženje u prostoru. Ceo sistem modularnih robota
sastoji se od jednog glavnog (master) modula i više pomoćnih modula.

Osnovna prednost ovih robota je njihova konfigurabilnost i mogućnost da se spoje ili


razdvoje u nekom trenutku. Ako se, recimo, pretražuje teren, onda razdvojeni roboti
to mogu da urade mnogo brže. Ako je potrebno pomeriti neki veći objekat, roboti će
se spojiti i tako formirati jedan masivan robot koji će lakše pomeriti željeni objekat.
Veći robot će, takođe, lakše preći preko neravnog terena.

Takođe, treba još pomenuti i zmijolike robote. Ovi roboti imaju višestruke pokretne
zglobove i analogno tome veći stepen slobode. Veća pokretljivost, dostupnost,
mogućnosti i praktično beskonačan broj kombinacija čine ih superiornim u odnosu na
druge robote za spašavanje. Mogu da se kotrljaju, penju, razvlače, plivaju...
Najjednostavniji dizajn se sastoji od mnoštva povezanih jednostavnih pokretnih
zglobova sa dvosmernim kretanjem. Ova konstrukcija je vrlo robustna i nije pogodna
za krivudavo kretanje robota, pa se zbog toga zmijoliki roboti koriste na mobilnim
jedinicama.

5
2. Zbog čega je autonomno kretanje robota tako teško?

Zanimljivo je razmotriti zašto je autonomno kretanje robota u nepoznatim sredinama i


uslovima toliko teško, jer gledajući živi svet ne bi trebalo da postoje bilo kakvi
problemi. Ljudi i životinje se savršeno kreću i po nepoznatim područjima, čak iako su
ona dosta različita od njihovih uobičajenih okruženja.

Prvo, ono što se može uočiti jeste težnja ljudi koji prave algoritme za navigaciju
robota da koriste takve metode i načine prezentovanja algoritama u robotu koji su
ljudima naizgled nerazumljivi. Vrlo često je u osnovi tih algoritama najjednostavniji
mogući pristup, koji čak deluje toliko jednostavno da se zapitamo da li naš mozak ima
sličnosti sa takvim zaključivanjem i odlučivanjem, da li ikada razmišljamo na tako
„niskom nivou“. Poslednjih godina se intenzivno razvijaju principi veštačke
inteligencije u robotici i genetski algoritmi, odnosno teži se tome da se ne ulazi u to
kako robot radi i kakvi sve algoritmi stoje iza pojedinih njegovih akcija. Takav pristup
najviše liči na naše, žive, mozgove i u neku ruku ovako projektovani algoritmi sami
sebe oblikuju. Za jednog SSR robota od izuzetnog značaja je da u kritičnim
situacijama sam ume da odluči koji je sledeći, najbolji i najpovoljniji potez.

Ovakav, novi pristup, u navigaciji robota znači da robotski sistem sada poseduje
nekoliko nezavisnih podsistema od kojih svaki ponaosob iz spoljnje sredine prikuplja
podatke i radi na osnovu minimalnog broja tih podataka. Pri tome ne postoji centralni
sistem koji će pokupiti podatke od svakog podsistema i tako steći sliku o tome šta se
dešava, a zatim i odlučiti šta dalje, već ovi podsistemi međusobno komuniciraju u
toku same akcije. A kako ovo funkcioniše? Ceo sistem je podeljen na nivoe i postoji
hijerarhija. Zna se koje su primarne radnje i one se prve izvršavaju. Svaki naredni
nivo će biti u mogućnosti da izvrši akciju za koju je zadužen samo ukoliko ne postoji
zahtev za ispunjenjem akcije važnijeg nivoa. Primarna akcija kod ovih vrsta robota
bila bi sposobnost da se izbegne sudar sa drugim objektima, bilo pokretnim ili
statičnim. Ovo omogućuje sprega sonarnog senzora sa pokretačkim motorima. Sledeći
nivo bi bio da uokliko je robot siguran od sudara i ne postoje dodatne prereke sam
izabere sasvim proizvoljan pravac kojim će se kretati. Nivo iznad bi, u tom slučaju,
bio zadužen za ispitivanje bliže okoline i odlučivanje koji je put najbolji itd. Dakle, u
ovom pristupu koji najviše liči na čovekovo ponašanje, ne postoji unapred napisni
algoritam po kome će se robot ponašati, već su samo poznate smernice i zna se
važnost određenih akcija. Da bi sve ovo bilo moguće potrebno je omogućiti robotu da
putem senzora dobija najbolje moguće odgovore na pitanja tipa – šta i gde, što se
najčešće ostavaruje putem kamera i različitih vrsta senzora instaliranih na robotu. Ceo
ovaj princip se u potpunosti može primeniti i na grupu robota, već pomenute Multi-
Robot timove, gde sada svaki pojedinačni robot predstavlja jedan sistem sa posebnim
zaduženjima, a među njima takođe postoji hijererhija.

Navigacija na nepoznatim terenima sa sobom nosi dva suštinska prblema. Prvi


problem jeste kako generisati mapu prostora u kome se robot kreće, a drugi se odnosi
na određivanje relativnog položaja robota u odnosu na isprojektovanu mapu.

6
3. Navigacija autonomnih robota

Dugi niz godina razvijali su se razni algoritmi za autonomnu navigaciju pokretnih


robota. Ovi algoritmi se mogu podeliti u tri kategorije: planiranje globalnih putanji,
metodi lokalne navigacije i hibridni metodi. Podela je izvršena na osnovu tipa okoline
u kojoj se robot kreće kao i na osnovu znanja koje robot poseduje o toj okolini.
Algoritmi koje ćemo razmatrati jesu: navigacione funkcije, putne mape, histogrami
vektorskih polja, veštačka potencijalna polja, hibridna navigacija i integrisani
algoritam. Treba napomenuti da se u razmatranju ovih navigacionih algoritama
podrazumeva da se robot nalazi u planarnom okruženju.

3.1. Planiranje globalnih putanja

Što se tiče algoritama koji se koriste u planiranju globalnih putanja, oni se odnose na
grupu navigacionih algoritama koji planiraju optimalnu putanju od početne tačke do
ciljne tačke tako što se smatra da je okolina poznata. Ova grupa algoritama zahteva da
sredina bude nedinamička i da nema nepredvidivih prepreka. Razmotirićemo dva
algoritma planiranja globalne putanje, a to su navigacione funkcije i putne mape.

3.1.1. Navigacione funkcije

Najčešće korišćeni algoritam za planiranje globalnih putanja robota jeste navigaciona


funkcija koja je izvedena iz takozvanog „wave-front expansion“ algoritma. Odlikuje
se jednostavnošću, lakom implementacijom i robusnošću. Navigaciona funkcja N
predstavlja udaljenost cilja od praznog mesta u prostoru. Algoritam zahteva da
informacija o okolini koja se dalje predaje robotu bude predstavljena u vidu niza
mreža ćelja. Svaka mreža pojedinačno izgleda kao na slici 3.

Slika 3. Mreža ćelija

Mreža se formira po principu da svaka ćelija u mreži ima određni broj koji predstavlja
prioritet takozvanih „komšijskih ćelija“ ćelije ( x, y ) , a osenčene ćelije predstavljaju
„prve komšije“ ove ćelije. Na taj način može se formirati velika, globalna mreža kao
što je to prikazano na slici 4. Ćelije označene crnom bojom su prepreke a ćelije
označene sivom bojom su nesigurne „zone”.

7
Slika 4. Formiranje globalne mreže

Navigaciona funkcija dodeljuje numeričku vrednost N svakoj ćeliji, tako da ciljna


tačka u kojoj robot eventualno treba da se nađe ima najmanju vrednost, a sve ostale
slobodne ćelije imaju progresivno veće vrednosti takve da stepenasto opadaju od bilo
koje ćelije koja omogućuje put ka cilju. Vrednosti ćelija koje su slobodne povećavaju
se sa udaljenošću od cilja. Svaka mrežna ćelija ukoliko je slobodna označava se kao
gC free , a zauzeta sa gCoccupied . Vrednost N je prvobitno postavljena na 0 na ciljnoj
ćeliji gCgoal . Zatim je vrednost N postavljena na 1 za svakog prvog komšiju gCgoal
koji je u gC free . Pretpostavljeno je da je udaljenost između dve „komšijske“ ćelije
normalizovana na 1 . Generalno, vrednost svake gC free ćelije je podešena na N + 1 za
svaku neprocesiranu gC free ćeliju sa vrednošću N . Ovaj proces se ponavlja sve dok se
sve ćelije na mreži ne pretraže i označe. Konačno, put do cilja se generiše tako što se
prate opadajuće vrednosti polja N . Da bi se obezbedilo da robot svojim kretanjem ne
dodiruje prepreke, vrši se odbacivanje ćelija koje se nalaze na pozicijama koje su
manje od neke minimalne sigurne udaljenosti od prepreke.

3.1.2. Putne mape

Putna mapa je mreža jednodimenzionalnih krivih koje povezuju slobodni prostor


okoline u kojoj se robot nalazi. Kada se putna mapa jednom konstruiše koristi se kao
set standardizovanih putanja. Planiranje putanje je, shodno tome, svedeno na
povezivanje inicijalne i ciljne pozicije sa tačkama na putnoj mapi. Metode zasnovane
na ovoj ideji uključuju: graf vidljivosti,Voronoi dijagram kao i freeway mrežu i
siluetu.

8
Prednosti i mane planiranja globalnih putanja - Prednosti u korišćenju navigacionih
funkcija, putnih mapa i ostalih algoritama globalnog planiranja je u tome što se može
konstruisati kontinualna “collision free” putanja analiziranjem mogućnosti
povezivanja slobodnog prostora. Međutim, ovi algoritmi zahtevaju da sredina bude
poznata i statična. Bilo kakve druge promene u sredini mogu generisanu putanju
učiniti nevažećom. Shodno tome, navigacione funkcije i ostale metode ovde navedene
nisu pogodne za navigaciju u inicijalno nepoznatim sredinama kao i sredinama koje
imaju svoju dinamiku i nepredvidljive prepreke.

3.2. Metode lokalne navigacije

Metode lokalne navigacije za razliku od metoda globalnog planiranja ne zahtevaju da


robotu bude omogućeno bilo kakvo predznanje o okruženju u kome se nalazi.
Nasuprot tome ove metode se zasnivaju samo na trenutnim i lokalnim informacijama
koje obezbeđuju senzori na robotu što im indirektno daje sposobnost online
navigacije. Dve glavne metode koje se koriste su veštačko potencijalno polje i
histogram vektorskog polja.

3.2.1. Veštačko potencijalno polje

Metod veštačkog potencijalnog polja je uveden 1986. godine i smatra se, za sada, za
najbolju poznatu metodu iz grupe metoda lokalne navigacije kako zbog svoje
jednostavnosti tako i zbog efikasnosti. Robot je predstavljen kao čestica u
modifikovanom prostoru q koja se kreće pod uticajem veštačkog potencijala nastalog
pod uticajem vrednosti predstavljene kao završna pozicija robota qgoal i skalarne
udaljenosti od objekata koji okružuju ovog robota. Tipično, cilj generiše privlačan
1
potencijal kao U g (q ) = K g (q − qg )T (q − qg ) i on „vuče“ robota ka cilju, dok svaka
2
prepreka i okolni objekti generišu odbojni potencijal kao
1 1 1 
 K o ( − ), di < d o 
U i ,o =  2 di d o  koji tera robota od prepreke. U slučajevima kada
0, inače 
 
postoji više od jedne prepreke, totalna odbojna sila se računa kao suma svih odbojnih
sila koje proističu od prepreka. Parametri K g i K 0 su respektivno pojačanja
privlačnog i odbojnog polja, d i je skalarna udaljenost između robota i i − te prepreke.

Odbojni potencijal će imati efekat na robota samo kada se on kreće ka udaljenosti


koja je manja od d0 . Ovo implicira da d0 predstavlja minimalnu sigurnu udaljenost od
prepreke koju robot pokušava da održi. Negativan gradijent potencijalnog polja daje
veštačku silu koja deluje na robota F ( q ) = −∇U (q ) .

9
Na sledećoj slici je predstavljeno kretanje robota pod uticajem veštačkog
potencijalnog polja:

Slika 5. Metod veštačkog potencijalnog polja

Privlačna sila se generiše kao Fg (q ) = − K g (q − qg ) , a odbojna kao


 1 1 1
 K o ( − ) 2 , di < do
Fi ,o (q) =  d i d o di .
0, inače

n
Rezultanta svih privlačnih i odbojnih sila data je sa FR (q ) = Fg ( q ) + ∑ Fi ,o ( q ) , pri
i =1

čemu n označava ukupan broj prepreka i manji je od do .

3.2.2. Histogram vektorskog polja

Ova metoda lokalne navigacije zahteva da okolina bude predstavljena kao mreža
mozaičnih ćelija. Svaka mrežna ćelija sadrži numeričke vrednosti od 0-15 i ove
vrednosti označavaju da li je okolina koja je predstavljena mrežom ćelija zauzeta ili
ne - 0 označava apsolutnu sigurnost da ćelija nije zauzeta, dok 15 označava apsolutnu
isgurnost da je zauzeta. Zatim se rekurzivno izvršava dvofazni redukcioni proces da bi
se odredilo željeno kretanje robota u svakom trenutku. U prvoj fazi vrednosti svake od
mreže ćelija koje su u blizini robotove trenutne lokacije se svode na
jednodimenzionalni polarni histogram. Svako ograđeno mesto u polarnom histogramu
korespondira sa pravcem koji se vidi sa trenutne lokacije robota i sadrži vrednost koja
označava totalnu sumu vrednosti mreže ćelija u tom pravcu.Vrednosti iz polarnog
histograma predstavljaju prisustvo prepreka u respektivnom pravcu.U drugoj fazi,
robot bira ograđeno mesto iz histograma sa niskom gustinom prepreke u polarnom
histogramu i pravac najbliži cilju. Robot se kreće u pravcu predstavljenom preko
izabranog ogradka jer je taj pravac slobodan od prepreka i dovešće robota bliže cilju.

Prednosti i mane metoda lokalne navigacije – Prednosti ovih navedenih metoda


lokalne navigacije se ogledaju u tome da one ne zahtevaju inicijalno procesiranje sa
ciljem da se slobodan prostor konkretno reprezentuje. Shodno tome apriorno znanje o

10
okolini nije potrebno. U bilo kom trenutku vremena putanja se određuje na osnovu
trenutnog okruženja u kom se robot nalazi i to robotu omogućava da izbegne bilo
kakve prereke koje se mogu naći u tom trenutku u njegovoj neposrednoj blizini.
Najveća mana metoda lokalne navigacije jeste to što su one u osnovi metode
zasnovane na optimizaciji opadajućih koraka. To ograničava robota u smislu da on
sam postaje podložan poblemu lokalnog minimuma, a on u metodi potencijalnh polja
nastaje kada privlačne i odbojne sile poništavaju jedne druge. Robot će u toj situaciji
da se imobiliše i izgubi mogućnost da dođe do cilja. Da bi se ovaj problem rešio
smišljene su dodatne metode. Na primer, jedan od predloga je metod virtualne
prepreke gde robot detektuje lokalni minimum i popunjava tu oblast veštačkom
preprekom. Konsekventno tome, metoda isključuje sve konkavne prepreke i time
izbegava otkazivanja zbog lokalnog minimuma. Drugi predloženi metod koristi
slobodne harmonijske funkcije lokalnog minimuma zasnovane na dinamici fluida sa
ciljem stvaranja veštačkih potencijala za izbegavanje prepreka.

3.3. Hibridne metode

Hibridne metode kao algoritmi za navigaciju autonomnih robota prdlažu kombinaciju


lokalnih navigacionih metoda i metoda planiranja globalnih putanja. Ovi algoritmi
teže da iskombinuju prednosti oba pristupa, ali istovremeno i da eliminišu neke
njihove slabosti. U ovom delu predstavićemo dva ključna metoda hibridnih
algoritama: hibridnu navigaciju i integrisane algoritme.

3.3.1. Hibridna navigacija

Slika 6. Hibridna navigacija

Gornja slika pokazuje ilustraciju algoritma hibridne navigacije. Ovaj algoritam


kombinuje navigacione funkcije sa metodom potencijalnih polja. Ima za cilj da

11
eliminiše otkazivanja nastala usled problema lokalnog minimuma i istovremeno vrši
online izbegavanje sudara sa dinamičkim preprekama. Robot prvo računa putanju
povezujući njegovu trenutnu i ciljnu poziciju koristeći navigacione funkcije, a nakon
toga postavlja krug sa empirijski određenim radijusom centriranim oko njegove
trenutne pozicije. Ćelija koja odgovara preseku formiranog kruga sa putanjom
nastalom korišćenjem navigacionih f-ja naziva se privlačnom tačkom. Privlačna tačka
je ćelija sa najmanjom vrednošću N ukoliko imamo više od jednog preseka. Nakon
toga robot se kreće ka toj privlačnoj tački koristeći metodu potencijala polja i krug se
kreće zajedno sa robotom što će prouzrokovati promenu tačke privlačnosti. Kao
rezultat robot uvek „juri“ za dinamički kreiranom tačkom privlačenja koja progresira
napred, ka cilju, preko putanje nastale navigacionim metodama bez ikakve
mogućnosti da dođe u lokalni minimum. Radijus kruga se povećava u slučaju da
preseka putanje nastale metodom navigacionih f-ja nema ili se smanjuje kada
vrednost razdaljine izmedju robota i cilja postaje manja od radijusa kruga. To se radi
sa ciljem da se obezbedi da vrednost N sledećeg preseka bude manja nego trenutna
vrednost N .

3.3.2. Integrisani algoritmi

Poslednjih godina insistira se na sve većoj upotrebi integrisanih algoritama da bi se


mobilnim robotima omogućilo planiranje putanja bez problema lokalnog minimuma
kao i da bi se postigla zaštita od sudara sa dinamičkim preprekama. Algoritam
predstavlja modifikovanu verziju “frontier based exploration” metode koja se od svoje
originalne namene za pravljenje mapa preusmerila na pravljenje algoritama putanja u
nepoznatim okolinama. Ova metoda je iskombinovana sa hibridnim navigacionim
algoritmima u jedinstven metod.

Slika 7. pokazuje pregled integrisanog algoritma. Robot prvo pravi lokalnu mapu
okruženja, a zatim na osnovu kreiane mape odlučuje o tome da li je cilj dostižan ili ne.
Cilj je dostupan ako se nalazi u slobodnom prostoru robota, a nije ako se nalazi u
nepoznatom prostoru. Nepoznati deo mape je deo mape koji nije dovoljno istražen u
toku procesa stvaranja mape.

12
Slika 7. Integrisani algoritam

Robot će se kretati ka cilju koristeći hibridne navigacione algoritme ukoliko su


dostupni ili će se kretati napred ka „pod-cilju“ i napraviti novu lokalnu mapu kod
„pod-cilja“ ukoliko cilj nije dostupan. Ova mapa će biti dodata prethodnim lokalnim
mapama u cilju stvaranja veće mape lokalnog okruženja. Proces se obavlja sve dok
robot ne pronađe cilj u okviru slobodnog prostora, a „pod-cilj“ se obrađuje u tri
koraka. Prvi korak izračunava putanju koja spaja trenutnu poziciju robota i cilj
pomoću navigacionih funkcija. Nepoznate ćelije se uzimaju da budu slobodan prostor
u računanju navigacionih funkcija. Zatim se sve granične oblasti u mapi računaju.
Ograničenje slobodnog prostora i nepoznati region se smatra graničnom oblašću.
Granična oblast se pravi od grupe oblžnjih graničnih ćelija. Granične ćelije se definišu
kao bilo koja gC free ćelija na mapi sa najmanje dve nepoznate ćelije gCunknown kao
trenutnim komšijom. Ukupan broj graničnih ćelija koje prave graničnu oblast mora
biti veći od veličine robota kako bi ta granična oblast bila validna. I na kraju, granična
oblast koja preseca putanju napravljenu pomoću navigacionih funkcija će biti izabrana
tako da centroid te oblasti postaje „pod-cilj“.

Prednosti i mane hibridnih metoda - Hibridni navigacioni algoritmi imaju prednost jer
eliminišu otkazivanja usled greške minimuma, a i istovremeno u realnom vremenu
izbegavaju sudare sa preprekama u dinamičkoj sredini. Međutim, potrebno je da
sredina bude potpuno poznata da bi mogla da se obavi pretraga putem navigacionih
funkcija do cilja. Algoritmi će u potpuno nepoznatoj sredini biti beskorisni. Takođe,
ova metode ne poseduje bilo kakav način ponovnog planiranja putanje navigacione
funkcije u toku operacije. U takvim situacijama bilo koja veća promena u okruženju
može da izazve otkazivanje algoritma.
Integrisani algoritmi imaju prednost da planiraju putanje bez problema lokalnog
minimuma, ali i da u toku kretanja izbegavaju bilo kakve prepreke u bilo kakvom
nepoznatom dinamičkom okruženju. Algoritam robotu daje viši nivo autonomnosti
pošto ne zavisi od samog operatera koji bi mu mogao obezbediti mapu okoline.

13
Međutim ove prednosti dolaze sa cenom monotonosti u implementaciji, a razlog tome
je taj što integrisani algoritam zahteva da istovremeno budu implementirani hibridni
navigacioni algoritam i neki od algoritama za mapiranje.

4. Mapiranje

Kreiranje mapa (mapiranje) je proces pribavljanja informacija iz okoline putem


senzora instaliranih na robotu i prezentovanja tih informacija u formatu koji je robotu
pogodan za dalju obradu. Robot koristi kreiranu mapu kako bi se poboljšale
performanse navigacije. U ovom delu rada ćemo razmotriti dva algoritma za kreiranje
mapa: obuhvatajuće mreže i topološke mape.To su dve potpuno različite metode koje
se koriste za reprezentacju okoline u memoriji robota. Obuhvatajuće mreže teže da
opišu geometrijske osobine okoline i mapiranje pomoću obuhvatajućih mreža je
hronološki prvo nastalo i predloženo, dok je metoda topološkog mapiranja nastala kao
alternativa. Topološke mape opisuju vezu različitih lokacija u okolini.

4.1. Mape obuhvatajuće mreže

Ova metoda predstavlja okolinu u kojoj se robot kreće kao mozaičnu mrežu ćelija. Svaka od
mrežnih ćelija odgovara oblasti u fizičkoj, realnoj okolini i predstavlja neku „obuhvaćenu“
vrednost koja indicira da li je ćelija slobodna ili ne. Obuhvatajuća vrednost i-te ćelije u mreži
u nekom trenutnom će biti označena kao pti . Primetimo da pti mora da bude u opsegu od 0
do 1 u skladu sa aksiomama teorije verovatnoće. Vrednost pti = [ 0, 0.5 ) predstavlja nivo
sigurnosti da je ćelija prazna - nula predstavlja potpunu sigurnost praznine ćelije, a
pti = ( 0.5, 0] označava nivo sigurnosti ćelije u smislu njene zauzetosti. Vrednost pti = 0.5
označava da je ćelija neistražena oblast dok vrednost pti = 1 označava potpunu sigurnost da
je ćelija zauzeta. Robot kada biva ostavljen u neko okruženje nemam nikakvih informacja o
tom okruženju i uslovima u kojima se nalazi pa je inicijalno pti = 0.5 u trenutku t = 0 . Mapa
se osvežava pomoću takozvanih „logova šansi“. Prednost predstavljanja pomoću ovih logova
je u tom što se mogu izbeći nestabilnosti u okolinama 0 i 1. i − ta ćelija u mreži koja presreće
senzorsku liniju viziranja se ažurira pomoću formule lt ,i = lt −1,i + lsenzora gde lt −1,i predstavlja
šansu loga izračunatu iz obuhvaćene vrednosti ćelije na poziciji t − 1 i glasi
p
lt −1,i = log t −1,i .
1 − pt −1,i
Jednakost lsensor = locc je tačna ukoliko ćelija odgovara informaciji dobojenoj sa
senzora nakon merenja, a jednakost lsensor = l free ukoliko je radijus dejstva do ćelije
nešto manji od onoga što je senzor izmerio. Ostale ćelije na mapi ostaju
nepromenjene.

Slika 8 (a) pokazuje proces ažuriranja za mapu. Ćelija koja odgovara merenom
signalu sa senzora je osenčena crnom bojom, a ćelija koja preseca (presreće) snop
merenja od strane senzora je označena belom bojom. Slika 8 (b) pokazuje slučaj kada
je rezultat merenja senzora jednak maksimalnom dometu senzora i lsensor = l free za sve

14
ćelije koje presreću snop merenja. Ovaj efekat se javlja jer je pretpostavljeno da ako
sensor detektuje maksimalni domet, nema prepreke.

pocc p free
Jednakosti locc i l free se računaju kao locc = log i l free = log , gde p free i
1 − pocc 1 − p free
pocc označavaju verovatnoće merenja senzora da li su mrežne ćelije prazne ili ne, a
imaju vrednosti bliske vrednostima 0 i 1 za precizne senzore. Vrednosti pocc i p free
moraju biti određene eksperimentalno i ostaju konstante u toku procesa pravljenja
mape.

Slika 8.

15
Slika 9. Obuhvatajuća mrežna mapa jednog hodnika

1
Zauzimajuće vrednosti mreže ćelija se dobijaju kao pt ,i = 1 − .
1 + exp(lt ,i )
Na slici 9 vidimo jednu obuhvatajuću mrežnu mapu nastalu pomoću laserskog
pretraživača dometa. Crne oblasti predstavljaju slobodan prostor a sive oblasti ne
istražene delove.

4.2. Topološke mape

Za razliku od prethodne metode, metoda topoloških mapa ne pokušava da predstavi


prostor pomoću informacija o njegovog geometriji. Topološke mape predstavljaju
prostor kao grafove. Primer topološke mape je dat na slici 10. Lista značajnih obeležja
kao što su zidovi, ćoškovi, vrata ili hodnici su predstavljeni kao čvorovi mi i
povezanosti između susednih obeležja su predstavljene kao ivice u jk . U mnogim
topološkim mapama, udaljenosti između susednih faktora su predstavljene kao ivice
koje povezuju čvorovi.

16
Slika 10. Topološka mapa

Uspeh pri korišćenju topoloških mapa zavisi najviše od efikasnosti pri izvlačenju
odgovarajućih osobina i kreiranju samog grafa. Ukoliko je od značaja čuvanje
memorije ova metoda je neuporedivo bolja od ostalih i ta prednost je direktno
prouzrokovana time što je potrebno mnogo manje memorije da se čuvaju informacije
o čvorovima nego o mrežama ćelija. Međutim, preciznost je nešto manja, a uzrok
tome je to što neke od veoma važnih informacija kao što je precizna lokacija
slobodnog prostora u okolini može a i ne mora biti predstavljena u mapama.
Ograničenje u vidu preciznosti topoloških mreža uvodi smanjenje brzine i sigurnosti
navigacije robota.

5. Lokalizacija

Većina mobilnih robota određuje svoju poziciju (vrši sopstvenu lokalizaciju u


prostoru) u datom trenutku t , xt , u odnosu na izmerene podatke sa mape. Nažalost
klizanja i zanošenja točkova izazivaju inkrementalne greške pri lokalizaciji. Ove
greške dovode do toga da roboti gube pojam o svojoj poziciji i shodno tome gube
mogućnost da samostalno vrše navigaciju od jedne do druge tačke. Rešenje problema
lokalizacije leži u tome da se iskoristi informacija okoline sa dodatnih senzora.
Primeri takvih senzora su dometni laseri i sonarni senzori koji mere udaljenost između
robota i najbliže prepreke u okolini. Prošireni Kalmanov filtar predstavlja algoritamiz
grupe metoda koji koriste teoriju verovatnoće kao svoju osnovu.

17
5.1. Lokalizacija pomoću Kalmanovog filtra

Prošireni Kalmanov filtar (PKF) je najprihvaćeniji algoritam za lokalizaciju mobilnih


robota zbog svoje robusnosti i efikasnosti. PKF je rekurzivni algoritam za estimaciju
položaja robota pomoću dodatnih senzora. Glavna karakteristika PKF-a je što
zadržava poslednje procenjeno stanje pozicije koje je prateći Gausovsku raspodelu
predstavljeno sa srednjim odstupanjem xt i kovarijansom pt . Srednje odstupanje xt
uglavnom predstavlja poziciju robota u trenutku vremena t , a kovarijansa pt
predstavlja kovarijansu greške procene. PKF se sastoji od dva koraka: prvi predstavlja
predikciju, a drugi ažuriranje. U predikcionom koraku predikciona pretpostavka
bel ( xt ) se prvo računa koristeći model kretanja koji opisuje stanje dinamike robota.
Ova vrednost se zatim transformiše u bel ( xt ) koristeći informacije dobijene od
senzora u procesu ažuriranja. Kao što je gore napomenuto, predikciona pretpostavka
bel ( xt ) , koja je predstavljena pretpostavljenom vrednošću srednjeg odstupanja xt i
kovraijansom pt , se računa u toku predikcionog koraka procesa pomoću:

xt = f ( xt −1 , ut )
Pt = Ft Pt −1 Ft T + Qt

Gde f (⋅) predstavlja model kretanja mobilnog robota, F predstavlja jakobijana od


f (⋅) izračunatog u trenutku x t −1 , Q je kovarijansa modela kretanja i ut su kontrolni
podaci od robota. bel ( xt ) se zatim transformiše u bel ( xt ) pomoću vrednosti dobijenih
sa senzora zt i ažurira narednom koraku PKF-a pomoću narednih jednačina:

K t = Pt H t T ( H t Pt H t T + Rt ) −1

xt = xt + K t ( zt − h( xt , m))

Pt = ( I − K t H t ) Pt

gde K t predstavlja Kalmanovo pojačanje i određuje stepen do kog se vrednosti zt trebaju


upotrebiti u procenjivanju nove pozicije. Jednačina koja računa xt to radi tako što
prilagođava proporciono prema K t devijaciji zt sa prediktovanim merenjima h( xt , m) .
T
Važno je napomenuti da merenja senzora zt =  z1t
... se odnose na koordinate
z 2t
grupe posmatranih orjentira umesto grubih očitavanja senzora. Model merenja senzora h(⋅)
daje prediktovane mere iz date topološke mape m i xt .

18
6. Primeri

U ovom primeru razmotrićemo kretanje robota korišćenjem Kalmanovog filtra i fuzzy


logike.

6.1. Korišćenje Kalmanovog filtra

Pre nego što izložimo kako se konkretno generiše algoritam, pogledajmo kako izgleda
ono što zabeleži kamera smeštena na robotu (Slika 11). Radi jednostavnosti, ravan
slike koju beleži kamera (Camera Image Plane) je na slici predstavljena ispred
optičkog centra O, iako je u realnosti obrnuto. Vektor h koji ide od optičkog centra O
do objekta koji se skenira P, preseca ravan slike koju beleži kamera na odstojanju p i
to je mesto gde će objekat biti „uslikan“. Tačka (u0 , v0 ) predstavlja poziciju (u
pikselima) gde optička osa preseca datu ravan. Koordinate u i v proizvoljne tačke na
ravni se dobijaju pomeranjem koordinata u0 , odnosno v0 , za određeni broj piksela
koji je određen tipom korišćene kamere.

Slika 11. Slika koju zabaleži kamera robota

19
Takođe, potrebno je uvesti neke oznake i pri kretanju samog robota. Pozicija robota
na podlozi opisana je koordinatama ( z , x, φ ) , gde su z i x koordinate centra glave
robota, a φ ugao između ose koja se poklapa sa pravcem robota i z ose.

Slika 12. Kretanje robota i označavanje početnih pozicija

Pogledajmo malo detaljnije sliku 13. sa koje se tačno vidi šta se dešava pri kretanju
robota

L
Radijus putanje koju napravi centar glave robota jednak je R = , a radijus
tan( s )
L
putanje koju napravi zadnji točak je Rd = . Sada možemo izračunai promene
sin( s )
položaja centra glave robota:

z (t + ∆t ) = z (t ) + R (cos φ (t ) sin K + sin φ (t )(cos K − 1))


x(t + ∆t ) = x(t ) + R(sin φ (t ) sin K + cos φ (t )(1 − cos K ))
φ (t + ∆t ) = φ (t ) + K

Slika 13. Pozicija robota u jednom zamrznutom trenutku

20
Trenutne procene pozicija robota i okolnih objekata sadrže se u vektoru stanja x̂ , a
greške procene u kovarijacionoj matrici P :

 xˆv   Pxx Pxy1 Pxy2 ⋯


 yˆ   
Py x Py1 y1 Py1 y2 ⋯
xˆ =  1  , P =  1
 yˆ 2  P Py2 y1 Py2 y2 ⋯
   y2 x 
⋮  ⋮ ⋮ ⋮ ⋱

Vektor x̂ ima 3( n + 1) elemenata, gde je n broj poznatih delova (objekata) u prostoru


čije se mapiranje vrši. Kao što je rečeno, P je kvadratna, simetrična matrica i ima
dimenzijae 3(n + 1) × 3(n + 1) . Kao što se vidi, dimenzije x̂ i P će se menjati kako se
poznati objekti u okolnom prostoru budu dodavali ili brisali iz mape. xˆv predstavlja
estimiranu poziciju robota, a yˆ i predstavlja estimiranu 3D poziciju i -tog objekta u
prostoru. Xˆ , Yˆ , Zˆ predstavljaju idealne pozicije konkretnog objekta.
i i i

 zˆ   Xˆ i 
   
xˆv =  xˆ  , yˆi =  Yˆi 
φˆ  ˆ 
   Z i 

6.1.1. Inicijalizacija filtra

Naravno, potrebno je izabrati i početne uslove. Uzima se da ne postoje nikakve


apriorne informacije o položaju objekata u datom prostoru i da početne pozicije
0
robota treba da budu jednake nuli zˆ = 0, xˆ = 0, φ = 0 . Tada je: xˆv =  0  i
ˆ
 0 
0 0 0 
P =  0 0 0  .
 0 0 0 

6.1.2. Kretanje i predikcija kretanja

Kretanje robota zapravo je diskretizovano u vremenu sa korakom k . Vremenski


razmak između dva trenutka ∆t je podešen tako da bude što manji kako bi se
obuhvatile i najmanje promene na ulazima v (trenje između podloge i točkova) i

21
s (ugao za koji se zadnji točak zarotira pri kretanju). Nakon jednog koraka imamo da
su nova procenjena stanja i kovarijansa:

 f v ( xv (k | k ), u (k )) 
 yˆ1 (k | k ) 
xˆ(k + 1| k ) =  
 yˆ 2 (k | k ) 
 
 ⋮ 

 ∂f v ∂f v
T
∂f v ∂f v 
 Pxx (k | k ) + Q(k ) Pxy (k | k ) Pxy2 ( k | k ) ⋯
 ∂xv ∂xv ∂xv 1 ∂xv 
 ∂f v
T 
 Py1x (k | k ) Py1 y1 (k | k ) Py1 y2 ( k | k ) ⋯
P (k + 1| k ) =  ∂xv 
 
∂f v
T
 Py2 x (k | k ) Py2 y1 (k | k ) Py2 y2 ( k | k ) ⋯
 ∂xv 
 
 ⋮ ⋮ ⋮ ⋱

 ∂z (t + ∆t ) ∂z (t + ∆t ) 
 ∂v ∂s 
 z (t + ∆t )   
 v  ∂f v  ∂x(t + ∆t ) ∂x(t + ∆t ) 
pri čemu su f v =  x(t + ∆t )  , u =  , = ,
φ (t + ∆t )   s  ∂u  ∂v ∂s 
 
 ∂φ (t + ∆t ) ∂φ (t + ∆t ) 
 ∂v ∂s 
σ 2 0  ∂f v ∂f v
T

U = v 2
i Q = U .
 0 σs  ∂u ∂u

6.1.3. Izračunavanje relativne pozicije robota

Kada se robot pokrenuo i napravio svoj prvi korak, potrebno je izračunati poziciju
prvog najbližeg objekta u prostoru u kome se on kreće, što zapravo znači merenje
rastojanja od centra glave robota do posmatranog objekta. Tako se dobija vektor:
 hGi   cos φ ( X − x) − sin φ ( Z − z ) 
 x  i i
 , gde je H visina od poda do centra glave
hGi =  hGiy  =  Yi − H 
  sin φ ( X − x) + cos φ ( Z − z ) 
 hGiz   i i 
robota. Na osnovu ove jednačine mogu se izračunati i kordinate budućih relativnih
pozicija robota u odnosu na isti objekat i to tako što će u ovim jenačinama figurisati
estimacije xˆv i yˆ i .

22
6.1.4. Dodavanje novog objekta u mapu

Kada je novi objekat prvi put primećen, vektor hG se inicijalizuje na


 x + hGi cos φ + hGi sin φ 
 x z

yi =  H + hGiy  , pa novi vektor stanja i nova matrica kovarijanse
 
 z − hGix sin φ + hGiz cos φ 
 xv 
y 
postaju xnovo =  1  i
 y2 
 
 yi 
 ∂yi
T

 xxP P P P 
∂xv
xy1 xy2 xx
 
 ∂yi
T 
 Py1x Py1 y1 Py1 y2 Py1x 
 ∂xv 
Pnovo =  .
∂yi
T
 P Py2 y1 Py2 y2 Py2 x 
 y2 x ∂xv 
 T T

 ∂yi ∂yi ∂yi ∂yi ∂yi ∂yi ∂yi 
 ∂x Pxx ∂x Pxy1 ∂x Pxy2 ∂x Pxx ∂x + ∂h RL ∂h 
 v v v v v G G 

6.2. Korišćenje Fuzzy tehnike

Navigacija robota u realnim uslovima ima sledeće probleme:

(1) Znanje o okruženju je samo delimično i to neminovno povlači greške


modeliranja. Takođe, bilo kakav model objekata koji s analiziraju mora biti
konačnog reda, što akođe dovodi do izvesnih grešaka.

(2) Prostor u kome se robot kreće je prostran i dinamičan jerse objekti u njemu
mogu kretati, pojavljivati i nestajati.

(3) U zavisnosti od kvaliteta podloge podaci sa senzora su manje ili više


verodostojni.

Problemi navedeni pod (1) i (2) utiču na formiranje fuzzy pravila, a problem (3) se
rešava korišćenjem što bolje opreme.

Fuzzy pridružena memorija (Fuzzy Associative Memory - FAM) – FAM je proces


enkodiranja i mapiranja ulaznih fuzzy skupova u izlazne fuzzy skupove. Veza između
ulaznih fuzzy skupova i fuzzy pravila prikazana je kao fuzzy pridružena memorija. U
osnovi u FAM metodologije svaka veličina u FAM matrici predstavlja fuzzy skup

23
pridružen jednoj nezavisnoj veličini koja nam je od značaja. Kako se broj ovih
veličina povećava tako i broj pravila koja opisuju ponašanje sistema eksponencijalno
raste. Zbog toga se koristi FAM metod jer on značajno redukuje broj potrebnih fuzzy
pravila.

Modeliranje sistema upravljanja – Fuzzy sistem za odlučivanje (Fuzzy Inference


System - FIS) je definisan kao proces prevođenja ulaznih podatakau izlazne koristeći
teoriju fuzzy skupova. Fuzzy pravila su definisana kao uslovne rečenice tipa
IF…THEN... i sastoje se od lingvističkih varijabli i lingvisitčkih vrednosti koje su
opisane u fuzzy skupovima.

Posmatrajmo skup fuzzy pravila R = { R1 , R2 ,… , Ri ,… Rk } gde je Ri i -to pravilo FISa.


Pravilo Ri je definisano kao:
if X 1 is A1m and X 2 is A2 m and ...and X n is Anm then Z is Cnm

Ovo pravilo se može prikazati i u formi:


Ri ( X 1 , X 2 ,… , X n , Z ) = [ A1m ( X 1 ) ∧ A2 m ( X 2 ) ∧ … ∧ Anm ( X nm ) ] → Cnm ( Z ) (1)
gde su X 1 , X 2 , X 3 ... ulazne promenjive koje dobijamo kao očitane podatke sa
robotskih senzora. A1m , A2 m , A3m ... Anm su ulazni fuzzy skupovi, Cnm je izlazni fuzzy
skup, Z je izlazna promenljiva, n je dimenzija ulaznog vektora, a m je broj fuzzy
skupova.
Da bi se generisao n dimenzioni fuzzy ulazni vektor X = { X 10 , X 20 ,… , X n 0 ,… X nm } ,
sistem mora na osnovu ulaznog vektora X , na osnovu fuzzy relacije Ri , da generiše
sledeći izlaz Ci ' = ( X 10 , X 20 ,… X nm )  Ri , gde X nm fazifikovana tzv. crisp vrednost
veličine X nm koja pripada izlaznom fuzzy skupu Ci ' ( Z ) . Izlaz dobijen na osnovu i -
tog pravila se definiše kao Ci ' ( Z ) = [ A1m ( X 1 ) ∧ A2 m ( X 2 ) ∧ … ∧ Anm ( X n ) ] ⇒ Ci ( Z ) .
Krajni izlaz sistema se dobija na osnovu min max sabiranja datog relacijom:
k k
C = U Ci ' = U ([ A1m ( X 1 ) ∧ A2 m ( X 2 ) ∧ … ∧ Anm ( X n )] ⇒ Ci ( Z ) ) . Broj pravila jednak je
i =1 i =1

n ⋅ m . Konačna funkcije pripadnosti dobijena korišćenem Mamdanijeve tehnike


zaključivanja ima oblik:

k  
µC ( z ) = max  min  µ A ( X n ) n , µ R ( X 1 , X 2 ,..., X n )  
min i
(2)
i =1
X ∈U
 i =1 

Kada se primljeni signal sa senzora robota poklopi sa uslovima postavljenim u nekom


od pravila, može da se desi da je moguće problem rešiti na više načina, odnosno da se
više pravila aktivira istovremeno. Ukoliko do ovog slučaja dođe, sistem to tretira kao
sukob više pravila i ne zna koje pravilo treba da izabere. Takozvana hijerarhijska
fuzzy metodologija se primenjuje da reši ovaj problem. Zamislimo da imamo sledeću
situaciju. Robot se nalazi u nekom prolazu, hodniku i sl. i treba da dođe do mesta
označenog sa „x“ (Slika 14), međutim negde u tom prolazu nalazi se prepreka (zid).

24
Slika 14. Postavka problema

Sada je potrebno odlučiti da li će se robot kretati direktno ka cilju, pa kada naiđe na


prepreku da odluči da li će da skrene levo ili desno i tako zaobiđe prepreku, ili će
odmah odlučiti da ide duž jednog od zidova hodnika čime će izbeći kontakt sa
preprekom. Rešenje između ne postoji i ova dva rešenja su međusobno
suprotstavljena. Ovaj problem je jedan od ključnih problema u autonomnoj navigacii
robota i rešava se na više mogućih načina. Jedan način jeste da se izabere ona akcija
koja zahteva minimum naprezanja, minimum snage. Sledeći način podrazumeva da se
nasumično izabere jedno od pravila koje će se primeniti, a da se naknadno, kada do
problema eventualnog sudara dođe, razmatraju druga, tada aktuelna pravila. Ono
rešenje koje se najčešće primenjuje jeste da se u ovakvim situacijama definiše
unapred određena akcija koju će robot izvesti. Ta akcija je uglavnom definisana kao
skretanje u desno, a svaka sledeća akcija je definisana novim pravilima.

Slika 15. Ilustracija fuzzy pravila

25
7.Zaključak

Mobilni roboti moraju do poseduju tri sposobnosti da bi postigli potpunu autonomiju,


a to su: navigacija, kreiranje mapa i lokalizacija. Tokom godina razvijeno je i
predloženo mnogo algoritama koji obezbeđuju ove sposobnosti. Međutim, iako su
metode koje su razvijene poprilično efikasne ipak postoji ograničenje u vidu sredine u
kojoj se roboti mogu naći. U budućnost,i ciljevi razvijanja novih metoda i algoritama
biće skoncentrisani na to da se robotima omogući što veća autonomnost u urbanijim
sredinama.

26
Literatura

[1] M. Tim Jones – Artificial Inteligence Systems Approach

[2] Stuart Russell, Peter Norvig Artificial Inteligence Modern Approach

[3] Mobile Robots Navigation, Mapping, and Localization Part I / Lee Gim Hee,
DSO National Laboratories, Singapore; and Marcelo H. Ang Jr., National University
of Singapore, Singapore

[4] Mobile Robots Navigation, Mapping, and Localization Part I I/ Lee Gim Hee,
DSO National Laboratories, Singapore; and Marcelo H. Ang Jr., National University
of Singapore, Singapore

[5] Artificial Intelligence and Expert Systems for Engineers by C.S.


Krishnamoorthy; S. Rajeev

[1] Recent Advances in Mechatronics, Tomas Brezina and Ryszard Jablonski

[1] http://www.wikipedia.com

27

You might also like