Professional Documents
Culture Documents
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
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.
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.
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.
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?
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.
6
3. Navigacija autonomnih robota
Š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.
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
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.
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.
9
Na sledećoj slici je predstavljeno kretanje robota pod uticajem veštačkog
potencijalnog 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.
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.
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 .
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
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
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.
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
17
5.1. Lokalizacija pomoću Kalmanovog filtra
xt = f ( xt −1 , ut )
Pt = Ft Pt −1 Ft T + Qt
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
18
6. Primeri
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.
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.
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:
20
Trenutne procene pozicija robota i okolnih objekata sadrže se u vektoru stanja x̂ , a
greške procene u kovarijacionoj matrici P :
zˆ Xˆ i
xˆv = xˆ , yˆi = Yˆi
φˆ ˆ
Z 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
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
(2) Prostor u kome se robot kreće je prostran i dinamičan jerse objekti u njemu
mogu kretati, pojavljivati i nestajati.
Problemi navedeni pod (1) i (2) utiču na formiranje fuzzy pravila, a problem (3) se
rešava korišćenjem što bolje opreme.
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.
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
24
Slika 14. Postavka problema
25
7.Zaključak
26
Literatura
[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
[1] http://www.wikipedia.com
27