27
Elektrotehnički fakultet u Beogradu Odsek Signali i Sistemi DIPLOMSKI RAD Primena veštačke inteligencije pri kretanju robota za specijalne namene Beograd,2010. Student: Milošević Nikola 69/2004 Mentor: Prof.Dr Milan Milosavljević

Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

  • Upload
    mracni

  • View
    1.065

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

Elektrotehnički fakultet u Beogradu Odsek Signali i Sistemi

DIPLOMSKI RAD

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

Beograd,2010.

Student: Milošević Nikola 69/2004

Mentor:

Prof.Dr Milan Milosavljević

Page 2: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

2

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

Page 3: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

3

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

Page 4: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

4

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.

Page 5: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

5

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.

Page 6: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

6

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.

Page 7: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

7

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”.

Page 8: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

8

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

freegC , a zauzeta sa occupiedgC . Vrednost N je prvobitno postavljena na 0 na ciljnoj

ćeliji goalgC . Zatim je vrednost N postavljena na 1 za svakog prvog komšiju goalgC

koji je u freegC . Pretpostavljeno je da je udaljenost između dve „komšijske“ ćelije

normalizovana na 1. Generalno, vrednost svake freegC ćelije je podešena na 1N + za

svaku neprocesiranu freegC ć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.

Page 9: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

9

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 goalq i skalarne

udaljenosti od objekata koji okružuju ovog robota. Tipično, cilj generiše privlačan

potencijal kao 1

( ) ( ) ( )2

T

g g g gU q K q q q q= − − i on „vuče“ robota ka cilju, dok svaka

prepreka i okolni objekti generišu odbojni potencijal kao

,

1 1 1( ),

2

0,

o i o

i oi o

K d dd dU

inače

− < =

koji tera robota od prepreke. U slučajevima kada

postoji više od jedne prepreke, totalna odbojna sila se računa kao suma svih odbojnih sila koje proističu od prepreka. Parametri gK i 0K su respektivno pojačanja

privlačnog i odbojnog polja, id 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 0d . Ovo implicira da 0d 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= −∇ .

Page 10: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

10

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 ( ) ( )g g gF q K q q= − − , a odbojna kao

2,

1 1 1( ) ,

( )

0,

o i o

i o ii o

K d dd d dF q

inače

− <=

.

Rezultanta svih privlačnih i odbojnih sila data je sa ,1

( ) ( ) ( )n

R g i o

i

F q F q F q=

= +∑ , pri

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

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

Page 11: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

11

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

Page 12: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

12

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.

Page 13: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

13

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 freegC ćelija na mapi sa najmanje dve nepoznate ćelije unknowngC 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.

Page 14: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

14

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

itp . Primetimo da

itp mora da bude u opsegu od 0

do 1 u skladu sa aksiomama teorije verovatnoće. Vrednost [ )0,0.5it

p = predstavlja nivo

sigurnosti da je ćelija prazna - nula predstavlja potpunu sigurnost praznine ćelije, a

( ]0.5,0it

p = označava nivo sigurnosti ćelije u smislu njene zauzetosti. Vrednost 0.5it

p =

označava da je ćelija neistražena oblast dok vrednost 1it

p = 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 0.5

itp = u trenutku 0t = . 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 , 1,t i t i senzoral l l−= + gde 1,t il − predstavlja

šansu loga izračunatu iz obuhvaćene vrednosti ćelije na poziciji 1t − i glasi

1,1,

1,

log1

t i

t i

t i

pl

p

−−

=−

.

Jednakost sensor occl l= je tačna ukoliko ćelija odgovara informaciji dobojenoj sa

senzora nakon merenja, a jednakost sensor freel l= 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

sensor freel l= za sve

Page 15: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

15

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

Jednakosti occl i freel se računaju kao log1

occocc

occ

pl

p=

− i log

1free

free

free

pl

p=

−, gde freep i

occp 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 occp i

freep

moraju biti određene eksperimentalno i ostaju konstante u toku procesa pravljenja mape.

Slika 8.

Page 16: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

16

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

Zauzimajuće vrednosti mreže ćelija se dobijaju kao ,,

11

1 exp( )t i

t i

pl

= −+

.

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

im i

povezanosti između susednih obeležja su predstavljene kao ivice jku . U mnogim

topološkim mapama, udaljenosti između susednih faktora su predstavljene kao ivice koje povezuju čvorovi.

Page 17: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

17

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 , tx , 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.

Page 18: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

18

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 tx i kovarijansom tp . Srednje odstupanje tx

uglavnom predstavlja poziciju robota u trenutku vremena t , a kovarijansa tp

predstavlja kovarijansu greške procene. PKF se sastoji od dva koraka: prvi predstavlja predikciju, a drugi ažuriranje. U predikcionom koraku predikciona pretpostavka

( )tbel x se prvo računa koristeći model kretanja koji opisuje stanje dinamike robota.

Ova vrednost se zatim transformiše u ( )tbel x koristeći informacije dobijene od

senzora u procesu ažuriranja. Kao što je gore napomenuto, predikciona pretpostavka

( )tbel x , koja je predstavljena pretpostavljenom vrednošću srednjeg odstupanja tx i

kovraijansom tp , se računa u toku predikcionog koraka procesa pomoću:

1

1

( , )t t t

T

t t t t t

x f x u

P F P F Q

=

= +

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

( )f ⋅ izračunatog u trenutku 1tx − , Q je kovarijansa modela kretanja i tu su kontrolni

podaci od robota. ( )tbel x se zatim transformiše u ( )tbel x pomoću vrednosti dobijenih

sa senzora tz i ažurira narednom koraku PKF-a pomoću narednih jednačina:

1( )

( ( , ))

( )

T T

t t t t t t t

t t t t t

t t t t

K PH H PH R

x x K z h x m

P I K H P

−= +

= + −

= −

gde tK predstavlja Kalmanovo pojačanje i određuje stepen do kog se vrednosti tz trebaju

upotrebiti u procenjivanju nove pozicije. Jednačina koja računa tx to radi tako što

prilagođava proporciono prema tK devijaciji tz sa prediktovanim merenjima ( , )th x m .

Važno je napomenuti da merenja senzora 1 2 ...T

t t tz z z = se odnose na koordinate

grupe posmatranih orjentira umesto grubih očitavanja senzora. Model merenja senzora ( )h ⋅

daje prediktovane mere iz date topološke mape m i tx .

Page 19: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

19

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 0 0( , )u v predstavlja poziciju (u

pikselima) gde optička osa preseca datu ravan. Koordinate u i v proizvoljne tačke na ravni se dobijaju pomeranjem koordinata 0u , odnosno 0v , za određeni broj piksela

koji je određen tipom korišćene kamere.

Slika 11. Slika koju zabaleži kamera robota

Page 20: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

20

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

Radijus putanje koju napravi centar glave robota jednak jetan( )

LR

s= , a radijus

putanje koju napravi zadnji točak je sin( )d

LR

s= . Sada možemo izračunai promene

položaja centra glave robota:

( ) ( ) (cos ( )sin sin ( )(cos 1))

( ) ( ) (sin ( )sin cos ( )(1 cos ))

( ) ( )

z t t z t R t K t K

x t t x t R t K t K

t t t K

φ φ

φ φφ φ

+ ∆ = + + −

+ ∆ = + + −

+ ∆ = +

Slika 13. Pozicija robota u jednom zamrznutom trenutku

Page 21: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

21

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

1

2

ˆ

ˆˆ

ˆ

vx

yx

y

= ⋮

,

1 2

1 1 1 1 2

2 2 1 2 2

xx xy xy

y x y y y y

y x y y y y

P P P

P P PP

P P P

=

⋮ ⋮ ⋮ ⋱

Vektor x̂ ima 3( 1)n + 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( 1) 3( 1)n n+ × + . Kao što se vidi, dimenzije x̂ i P će se menjati kako se

poznati objekti u okolnom prostoru budu dodavali ili brisali iz mape. ˆvx predstavlja

estimiranu poziciju robota, a ˆiy predstavlja estimiranu 3D poziciju i -tog objekta u

prostoru. ˆ ˆ ˆ, ,i i iX Y Z predstavljaju idealne pozicije konkretnog objekta.

ˆ

ˆ ˆ

ˆv

z

x x

φ

=

,

ˆ

ˆˆ

ˆ

i

i i

i

X

y Y

Z

=

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

robota treba da budu jednake nuli ˆˆˆ 0, 0, 0z x φ= = = . Tada je:

0

ˆ 0

0vx

=

i

0 0 0

0 0 0

0 0 0

P

=

.

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

Page 22: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

22

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

1

2

( ( | ), ( ))

ˆ ( | )ˆ( 1| )

ˆ ( | )

v vf x k k u k

y k kx k k

y k k

+ = ⋮

1 2

1 1 1 1 2

2 2 1 2 2

( | ) ( ) ( | ) ( | )

( | ) ( | ) ( | )( 1| )

( | ) ( | ) ( | )

T

v v v vxx xy xy

v v v v

T

vy x y y y y

v

T

vy x y y y y

v

f f f fP k k Q k P k k P k k

x x x x

fP k k P k k P k k

P k k x

fP k k P k k P k k

x

∂ ∂ ∂ ∂+

∂ ∂ ∂ ∂ ∂

+ = ∂

∂ ∂

⋮ ⋮ ⋮ ⋱

pri čemu su

( )

( )

( )v

z t t

f x t t

t tφ

+ ∆ = + ∆ + ∆

, v

us

=

,

( ) ( )

( ) ( )

( ) ( )

v

z t t z t t

v s

f x t t x t t

u v s

t t t t

v s

φ φ

∂ + ∆ ∂ + ∆ ∂ ∂

∂ ∂ + ∆ ∂ + ∆ = ∂ ∂ ∂ ∂ + ∆ ∂ + ∆ ∂ ∂

,

2

2

0

0v

s

σ

=

i T

v vf fQ U

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:

cos ( ) sin ( )

sin ( ) cos ( )

x

y

z

Gi i i

Gi Gi i

i iGi

h X x Z z

h h Y H

X x Z zh

φ φ

φ φ

− − − = = − − + −

, gde je H visina od poda do centra glave

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 ˆ

vx i ˆiy .

Page 23: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

23

6.1.4. Dodavanje novog objekta u mapu

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

cos sin

sin cos

x z

y

x z

Gi Gi

i Gi

Gi Gi

x h h

y H h

z h h

φ φ

φ φ

+ +

= + − +

, pa novi vektor stanja i nova matrica kovarijanse

postaju 1

2

v

novo

i

x

yx

y

y

=

i

1 2

1 1 1 1 2 1

2 2 1 2 2 2

1 2

T

ixx xy xy xx

v

T

iy x y y y y y x

v

novo T

iy x y y y y y x

v

T T

i i i i i i ixx xy xy xx L

v v v v v G G

yP P P P

x

yP P P P

xP

yP P P P

x

y y y y y y yP P P P R

x x x x x h h

∂ ∂

∂ =

∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂

+ ∂ ∂ ∂ ∂ ∂ ∂ ∂

.

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

Page 24: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

24

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 { }1 2, , , ,i kR R R R R= … … gde je iR i -to pravilo FISa.

Pravilo iR je definisano kao:

1 1 2 2 ...m m n nm nmif X is A and X is A and and X is A then Z is C

Ovo pravilo se može prikazati i u formi:

[ ]1 2 1 1 2 2( , , , , ) ( ) ( ) ( ) ( )i n m m nm nm nmR X X X Z A X A X A X C Z= ∧ ∧ ∧ →… … (1)

gde su 1 2 3, , ...X X X ulazne promenjive koje dobijamo kao očitane podatke sa

robotskih senzora. 1 2 3, , ...m m m nmA A A A su ulazni fuzzy skupovi, nmC 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 { }10 20 0, , , ,n nm

X X X X X= … … ,

sistem mora na osnovu ulaznog vektora X , na osnovu fuzzy relacije iR , da generiše

sledeći izlaz '10 20( , , )i nm iC X X X R= … � , gde nmX fazifikovana tzv. crisp vrednost

veličine nmX koja pripada izlaznom fuzzy skupu '( )iC Z . Izlaz dobijen na osnovu i -

tog pravila se definiše kao [ ]'1 1 2 2( ) ( ) ( ) ( ) ( )i m m nm n iC Z A X A X A X C Z= ∧ ∧ ∧ ⇒… .

Krajni izlaz sistema se dobija na osnovu min max sabiranja datog relacijom:

[ ]( )'1 1 2 2

1 1

( ) ( ) ( ) ( )k k

i m m nm n i

i i

C C A X A X A X C ZU U= =

= = ∧ ∧ ∧ ⇒… . Broj pravila jednak je

n m⋅ . Konačna funkcije pripadnosti dobijena korišćenem Mamdanijeve tehnike zaključivanja ima oblik:

min 1 21 1

( ) min ( ) , ( , ,..., )max i

X U

kn

C A n R n

i i

z X X X Xµ µ µ∈= =

=

(2)

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).

Page 25: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

25

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

Page 26: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

26

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.

Page 27: Diplomski Rad (Primena Vestacke Inteligencije Pri Kretanju Robota Za Specijalne Namene)Nikola Milosevic Br.ind69-04

27

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