lekcija 12:lekcija 12: planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12....

86
Lekcija 12: Planiranje Lekcija 12: Planiranje kretanja mobilnog robota Prof dr sc Jasmin Velagić kretanja mobilnog robota Prof.dr.sc. Jasmin Velagić Elektrotehnički fakultet Sarajevo Kl ij M bil b tik Kolegij: Mobilna robotika 2012/2013

Upload: others

Post on 10-Mar-2021

4 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Lekcija 12: PlaniranjeLekcija 12: Planiranje kretanja mobilnog robota

Prof dr sc Jasmin Velagić

kretanja mobilnog robota

Prof.dr.sc. Jasmin VelagićElektrotehnički fakultet Sarajevo

K l ij M bil b tikKolegij: Mobilna robotika

2012/2013

Page 2: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.1. UvodJedan od ključnih problema u mobilnoj roboticijest sposobnost generiranja plana vlastitog 2/86j p g j p gkretanja s ciljem izvršavanja nekog zadatka.Cilj planiranja kretanja je promjena stanja

2/86

j p j j j p j jokoline na temelju računanja sekvencedopustivih kretanja robota.Tako se kod izvršavanja određenog kretanjazahtijeva dolazak robota iz početne u ciljnutačku, a da se pri tome izbjegavaju sveprepreke i objekti koje se mogu naći na putu.Proces kojim se određuje skup slobodnihputanja kretanja (engl. collision free paths)robota do željenog cilja naziva seplaniranje kretanja.

Page 3: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodIdealno robot postiže svoje ciljeve uprkos mnogimmogućim ograničenjima na kretanje, koja mogu

3/86biti unutarnja ili vanjska.Fizičke prepreke u radnoj okolini predstavljaju

j k ič j k t j bil b t i

3/86

vanjska ograničenja na kretanje mobilnog robota ijedina stvarna ograničenja koja se razmatraju uprocesu planiranja kretanjaprocesu planiranja kretanja.Unutarnja ograničenja uključuju prirodnamehanička ograničenja, kao što su neholonomnamehanička ograničenja, kao što su neholonomnaograničenja koja onemogućavaju bočno kretanjamobilnog robota, i senzorska ograničenja, kao štoje blokiranje pogleda kamera od strane prepreka.Ova unutarnja ograničenja su važna i moraju se

ti b i l i j b d ćih k t juzeti u obzir u planiranju budućih kretanja.

Page 4: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodPostoje dvije fundamentalne paradigme zaplaniranje putanje s izbjegavanjem prepreka:

4/86Globalni pristup koji generira putanju off-linekorištenjem poznatih informacija o okolini.

4/86

On zahtijeva precizno specificiran model okolinei znatan iznos vremena računanja.Ovim pristupom nije moguće reagirati nanepredviđene promjene u okolini.

L k l i i t b lj li k išt jLokalni pristup se obavlja on-line korištenjemmalog broja poznatih informacija o prostoru.

Moguće je reagirati na nepredviđene promjene iMoguće je reagirati na nepredviđene promjene ine zahtijeva se velik iznos računarskog vremena.Na ovaj način nije moguće dobiti optimalnuNa ovaj način nije moguće dobiti optimalnuputanju.

Page 5: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodPrvi korak je preslikavanje (mapiranje) robota,koji ima složen geometrijski oblik, u tačku u 4/86j g jnovom, apstraktnom prostoru, koji se nazivakonfiguracijski prostor [Lozano-Perez i

4/86

Wesley, 1989].Ovo preslikavanje transformira originalniproblem u problem planiranja putanje pokretnetačke.Nakon toga se diskretizira kontinuiranikonfiguracijski prostor i konstruira povezani

fgraf.Na kraju se pretražuje graf kako bi se pronašlaputanja kojom bi robot dosegao svoj cilj.

Page 6: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Uvod

6/86Geometrija robota i prepreka

Ako se putanja ne đ

6/86

Formulacija problema

pronađe, proces pretrage se ponavlja redefiniranjem

Konfiguracijski prostor

redefiniranjem procesa diskretizacije i Povezani graf

Diskretizacija

jpretraživanja putanje. Kompletni, navedeni

g

Pretraživanje grafa

proces, planiranja putanje je prikazan na slici

Rezultantna putanja

na slici.

Page 7: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodNa temelju navedenog može se reći da su ulazi uproces planiranja: geometrijski opis robota i

7/86okruženja i početni i krajnji položaj robota(pozicija i orijentacija).I l l i j t j j t j d

7/86

Izlaz procesa planiranja putanje je putanja odpočetnog qi do ciljnog položaja qf

qf

qi

Page 8: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodZahtjevi pri procesu planiranja trajektorije mogu biti: 8/86ogu b t

Minimalna duljina staze.Sredina s pokretnim preprekama, što

8/86

Sredina s pokretnim preprekama, što predstavlja dodatni izazov.Sredina sa pokretnim ciljem.p jMinimalan iznos vremena za prijelaz putanje.Utrošak energije.Ut oša e e g jeIzbor staza koje zadovoljavaju neka druga ograničenja.g j

Planirnje kretanja zahtijeva razmatranje svojstava robota i strukture okoline.svojstava robota i strukture okoline.

Page 9: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodOkolina, odnosno prostor u kome se krećemobilni robot sastoji se od prepreka i 9/86j p pslobodnog prostora.Prepreke predstavljaju već zauzeti dio

9/86

p p j jprostora, odnosno dio prostora kroz koji serobot ne može kretati.Slobodni prostor je nezauzeti dio prostoraunutar koga se robot može kretati.Za određivanje kuda se mobilni robot možekretati definira se konfiguracijski prostor.Konfiguracija robota je skup parametara kojijednoznačno određuju poziciju svake tačke naj j p jrobotu.

Page 10: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodNa primjer, konfiguracija mobilnog robota jezadana njegovom pozicijom (x,y) i 10/86j g p j ( y)orijentacijom θ za θ ∈ [-π, π] i predstavlja setrojkom q = (x, y, θ).

10/86

Ako se pretpostavi da se konfiguracija robotasastoji od d parametara, tada se ona možepromatrati kao tačka u d-dimenzionalnomprostoru C,nazvanom konfiguracijski prostor.Konfiguracijski prostor je skup svihmogućih položaja robota.Konfiguracija q je slobodna ako je robotpostavljen u q i ne dodiruje prepreke uprostoru.

Page 11: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodSlobodni prostor F predstavlja podskup svihslobodnih konfiguracija robota u C–u.

11/86Prostor prepreka B je komplement od F : B = C \F.Za ilustraciju slobodnog, zauzetog i

11/86

konfiguracijskog prostora promatra slika ispod.

Page 12: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

UvodZa robota koji se samo translatira u ravnini možese eksplicitno konstruirati prostor C računanjem

12/86Minkowski razlike robota i prepreka.Intuitivno, može se razmišljati o računanju kao"ši j " k blik j b t i

12/86

"širenju" prepreka oblikovanjem robota ismanjivanjem robota na veličinu tačke.Obično robot osim translacije obavlja i rotacijskoObično robot osim translacije obavlja i rotacijskokretanje.U slučaju rotacije računaju se isječci prostora CU slučaju rotacije, računaju se isječci prostora Csa robotom u različitim fiksnim orijentacijama inakon toga se oni gomilaju i slažu.g g jEgzaktno računanje C je također moguće, s tim daje znatno kompliciranije (Avnaim i Boissonnat,1988).

Page 13: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.2. ROADMAP algoritmi planiranjaRoadmap algoritmi planiranja putanje spadaju u globalno planiranje kretanja. 13/86g p j jOvi algoritmi formiraju slobodni robotski prostor u obliku mreže

13/86

pjednodimenzionalnih krivulja ili linija, koje se zovu mape puteva (road mape). Cilj je reducirati N-dimenzionalni konfiguracijski prostor u skup jednodimenzionalnih putanja za pretraživanje.Kada se konstruira graf putanja tada se koristi algoritam planiranja kretanja kojim se pretražuje niz putanja od početne qi do ciljne qf robotske konfiguracije.

Page 14: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

ROADMAP algoritmi planiranjaMapa puta predstavlja dekompoziciju konfiguracijskog prostora mobilnog robota na

14/86temelju specificiranja geometrije prepreka. Cilj je konstruirati skup putanja koje omogućuju

b t k t j bil dj t l b d

14/86

robotu kretanje bilo gdje unutar slobodnog prostora uz istovremeno minimiziranje ukupnog broja putanjabroja putanja. Svojstva roadmap algoritama su:

Pristupnost: postoji slobodna putanja odPristupnost: postoji slobodna putanja od startne pozicije robota do mape putanja.Odstupnost: postoji slobodna putanja odOdstupnost: postoji slobodna putanja od mape putanje do ciljne pozicije robota.Povezanost: postoji slobodna putanja odPovezanost: postoji slobodna putanja od uzlazne do silazne tačke na mapi putanja.

Page 15: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.2.1. Graf vidljivih vrhovaGraf vidljivih vrhova Gv se primjenjuje udvodimenzionalnom konfiguracijskom prostoru sa

15/86poligonalnim preprekama.Oblikuje se međusobnim spajanjem svihidlji ih h k C i č t i ilj

15/86

vidljivih vrhova prepreka C i početne qi i ciljnekonfiguracije qf robota.Dvije tačke odnosno vrha su vidljive ako izmeđuDvije tačke, odnosno vrha, su vidljive ako izmeđunjih nema prepreka.Također postoje putanje oko rubova prepreka akoTakođer postoje putanje oko rubova prepreka akosu dva susjedna vrha iste prepreke međusobnovidljiva.jAko je dobiveni graf putanja unutar mape prostora,tada je svaka spojna linija grafa potencijalni dioputanje mobilnog robota od početne do ciljnepozicije.

Page 16: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Graf vidljivih vrhovaKorištenje grafa vidljivih vrhova:

K1: nacrtaju se spojne linije od početne i ciljne tačke do ih idlji ih h i d l t 16/86svih vidljivih vrhova i do uglova prostora.

K2: nacrtaju se spojne linije između svih vidljivih vrhova svih prepreka.

16/86

p pK3: linije uzduž rubova prepreka su također spojne linije.K4: ponavljati K2 i K3 dok se svi vrhovi ne spoje.

qf

qi

Page 17: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Graf vidljivih vrhovaPostoje dvije važne poteškoće u primjeni grafovavidljivih vrhova.

17/86Prva se odnosi na veličinu prostora i brojavrhova i spojnih linija između njih.

17/86

Sa povećanjem broja poligonalnih preprekapovećava se veličina konfiguracijskog prostora ibroj vrhova i spojnih linijabroj vrhova i spojnih linija.Iako se ovaj algoritam veoma brzo izvršava, onmože biti sporiji i neefikasniji u odnosu na drugemože biti sporiji i neefikasniji u odnosu na drugealgoritme ako je konfiguracijski prostor značajnopopunjen preprekama.p p j p pDrugi nedostatak je da rezultantne putanje imajutendenciju navoditi robota što je moguće bližepreprekama tokom njegovog kretanja ka cilju.

Page 18: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Graf vidljivih vrhovaOvaj metod je ekstremno brz i efikasan u razrijeđenimokolinama, odnosno okolinama sa preprekama

18/86između kojih postoje veća rastojanja.Planiranje pomoću grafova vidljivih vrhova se možeučiniti optimalnim u pogledu duljine rezultantne

18/86

učiniti optimalnim u pogledu duljine rezultantneputanje.Za optimalnost je usko vezan pojam sigurnosti uZa optimalnost je usko vezan pojam sigurnosti, usmislu držanja robota na razumnoj udaljenosti odprepreka.Rješenje koje bi zadovoljilo oba kriterija, optimalnost isigurnost, sastoji se u povećanju dimenzija prepreka,radije nego u povećanju polumjera robota iliradije nego u povećanju polumjera robota, ilialternativno, modificirati rezultantnu putanju nakonplaniranja putanje na temelju udaljenosti izmeđup j p j j jputanje kretanja robota i prepreka.

Page 19: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Graf vidljivih vrhovaPronalaženja optimalne putanje korištenjem grafavidljivih vrhova od početne qi do ciljne qf 19/86konfiguracije mobilnog robota. 19/86

qi

qf

Page 20: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.2.2. Voronoijev dijagramZa razliku od grafa vidljivih vrhova, Voronoijevdijagram formira vrlo sigurnu mapu putanja

20/86koje su udaljene od prepreka koliko jemaksimalno moguće (Latombe, 1991).

20/86

U ovom potpoglavlju se razmatra generaliziraniVoronoijev dijagram.Ovaj dijagram predstavlja mrežu putanja kojesu jednako udaljene od susjednih prepreka.Za svaku tačku slobodnog prostora računa senjena udaljenost do najbliže prepreke (slika nasljedećem slajdu)sljedećem slajdu).Veličina dijagrama se povećava što se robotviše udaljava od preprekeviše udaljava od prepreke.

Page 21: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramVeličina dijagrama se povećava što se robotviše udaljava od prepreke. 21/86j p p 21/86

qf qf

qi qi

Page 22: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramZa zatvoreni slobodni prostor sa kompaktnimpreprekama, Voronoijev dijagram se sastoji od

22/86kontinuiranih linija.Tako se u bilo kojoj tački Voronoijevog dijagrama

22/86

udaljenost do najbližih prepreka ne možepovećati bez obzira na bilo koje lokalno kretanje

V ij dijpo Voronoijevom dijagramu.Ako robot slijedi putanju definiranu Voronoijevimdijagramom on će osim izbjegavanja preprekadijagramom, on će osim izbjegavanja preprekamaksimizirati (lokalno) svoju udaljenost do njih.U tačkama koje su na jednakom odstojanju odU tačkama koje su na jednakom odstojanju oddvije ili više prepreka formiraju se oštri vrhovi.Voronoijev dijagram sadrži vrhove dobivene saVoronoijev dijagram sadrži vrhove dobivene saovim oštrim rubnim tačkama.

Page 23: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramVoronoijev dijagram ima važan nedostatak uslučaju ograničenog područja lokalizacijskih

23/86senzora, odnosno senzora na temelju čijihmjerenja se obavlja lokalizacija.B d ći d j l it l i j t j

23/86

Budući da ovaj algoritam planiranja putanjemaksimizira udaljenost između robota i objekata uokolini bilo koji senzor kratkog dometa na robotuokolini, bilo koji senzor kratkog dometa na robotuće prouzročiti pogrešnu percepciju okoline.Ako se takvi senzori koriste za lokalizaciju tada ćeAko se takvi senzori koriste za lokalizaciju tada ćeodabrana putanja biti prilično loša sa stajalištalokalizacije.S druge strane, metod grafa vidljivih vrhova semože dizajnirati na način da zadrži robota po željiblizu objekata (prepreka) u mapi.

Page 24: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramMeđutim, postoji i jedva primjetna, važnaprednost metode Voronoijevih dijagrama u

24/86odnosu na druge metode planiranja kretanja:izvršivost.

24/86

Za zadanu, pojedinačnu planiranu putanjuVoronoijevog dijagrama, robot sa senzorima

d lj ti k št l ki k iliudaljenosti, kao što su laserski skener iliultrazvučni senzori, može slijediti Voronoijevevrhove korištenjem jednostavnog upravljačkogvrhove korištenjem jednostavnog upravljačkogalgoritma.Ovaj upravljački sistem će prirodno držati robotaOvaj upravljački sistem će prirodno držati robotana vrhovima Voronijevog grafa, tako da kretanjezasnovano na Voronoijevom dijagramu možej j gublažiti pogreške usljed netačnosti mjerenjaenkodera.

Page 25: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramOvo interesantno svojstvo Voronoijevog dijagramamože se iskoristiti za obavljanje automatskog

25/86mapiranja okoline pronalaženjem nepoznatihvrhova Voronoijevih dijagrama i kretanjem ponjima te nakon toga konstruirati Voronoijevu

25/86

njima, te nakon toga konstruirati Voronoijevumapu okoline [Choset i saradnici, 2000].Dva najčešće korištena načina mjerenjaDva najčešće korištena načina mjerenjaudaljenosti kod Voronoijevog dijagrama su L1 i L2metrike:

konst.}:),({ 1 =+→ yxyxL

k t }:)({ 22 +→L konst.}:),({ 222 =+→ yxyxL

Page 26: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramGrafičke interpretacije navedenih metrika suprikazane na sljedećim slikama. 26/86p j 26/86

}konst. ||||:),{( =+ yxyx }konst. :),{( 22 =+ yxyx

Page 27: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramPrimjer kreiranja grafa L1 metrikom (oštrirubovi). 27/86) 27/86

1 15

2

11

9 10

12 4

13

15

9 10

7

14

1 5

5

6 16

3 4

18

17 4 17

3

Page 28: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramPrimjer kreiranja grafa sa L2 metrikom(zaobljeni rubovi). 28/86( j ) 28/86

1

15

2

1

10

12 4

13

15

9 10

7

14

1

7 5

5

6 16

5

3 18 17 4 17

3

Page 29: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramKada su zadane početna i ciljna tačka,robot se može kretati na dovoljno velikom 29/86obot se o e etat a do o j o e orastojanju od najbliže prepreke dok sekreće prema tački koja leži na

29/86

p jVoronoijevom dijagramu.Nakon toga robot slijedi skup paraboličnih iNakon toga robot slijedi skup paraboličnih ipravolinijskih segmenata (spojnih linija) kojisačinjavaju Voronoijev dijagram dok nesačinjavaju Voronoijev dijagram dok nedostigne lokaciju iz koje se može direktnousmjeriti ka ciljnoj lokaciji uz održavanjeusmjeriti ka ciljnoj lokaciji uz održavanjemaksimalne udaljenosti od prepreka uokoliniokolini.

Page 30: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Voronoijev dijagramPlaniranje kretanja mobilnog robotakorištenjem generaliziranog Voronoijevog 30/86o šte je ge e a a og o o o je ogdijagrama.

30/86

qiqi

qf

Page 31: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.3. Dekompozicija prostora (segmenata)Dekompozicija prostora dijeli slobodni robotskiprostor u jednostavne regione, koji se nazivaju 31/86p j g j jsegmenti (ćelije).Segmenti su obično konveksne površine pa je

31/86

g p p jpotrebno konstantno vrijeme za računanjeputanje između bilo koje dvije konfiguracijeunutar segmenta.Kada se konstruira graf Gseg i uspostavigslobodan prostor unutar njega F tada se možeprimijeniti neki od roadmap algoritama.Č f GČvorovi grafa Gseg su segmenti.Postoji rub (spojna linija) između dva čvoraako su korespodentni segmenti susjedni jedanu odnosu na drugog.

Page 32: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Jednostavna segmentna dekompozicijapredstavlja mrežu sa fiksnom rezolucijom. 32/86p j j 32/86

qi

qf

Page 33: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Da bi se pronašla putanja između početne qi i ciljnetačke qf, prvo se lociraju dva segmenta unutar kojih

33/86se nalaze ove tačke.Nakon toga se traži putanja u grafu Gseg izmeđud k d t č

33/86

dva korespodentna čvora.Rezultat je sekvenca susjednih slobodnihsegmenata koji formiraju prolaz u slobodnomsegmenata koji formiraju prolaz u slobodnomprostoru između qi i qf.Glavna prednost ovog algoritma je laganaGlavna prednost ovog algoritma je laganaimplementacija, što ga čini široko primijenjenim uplaniranju kretanja mobilnih robota.p j jAlgoritam pronalazi putanju kada ona postoji samoako je rezolucija mreže dovoljno dobra. Zato sekaže da je ovaj algoritam samo rezolucijskikompletan.

Page 34: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Za prevazilaženje ovog problema koristi sealgoritam triangulacije (de Berg i saradnici, 2000)

34/86koji dijeli slobodan prostor u trokutove korištenjemvrhova poligonalnih prepreka.

34/86

Page 35: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Važan aspekt metoda dekompozicije prostoraje postavljanje granica između segmenata. 35/86j p j j g gAko su granice postavljene korištenjemfunkcije strukture okoline tada se govori o

35/86

j gegzaktnoj dekompoziciji (Latombe, 1991).Pod strukturom okoline se podrazumijevajup j jpojedinačne prepreke i slobodni prostor.Rezultantni segmenti su u cijelosti zauzeti ili sug ju cijelosti prazni.Pojedinačna pozicija robota unutar svakogPojedinačna pozicija robota unutar svakogslobodnog segmenta nije od značaja, već jevažna mogućnost prelaska robota izg ppojedinačnog slobodnog segmenta u njegovesusjedne slobodne segmente.

Page 36: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Proces planiranja putanje egzaktnomdekompozicijom segmenata:

36/86Prvo se slobodni prostor podijeli u segmente.Zatim se u svakom segmentu pronađe centroid,

36/86

odnosno centar područja i označi se brojem.

514

15 qi 4

5613

15

1

7

10 16

2 3 11 12

8 9 qf

Page 37: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Ovi centroidi predstavljaju čvorove, odnosnevrhove povezanog grafa.

37/86Povezivanje dva susjedna vrha grafa se obavljapreko tačke na sredini njihove granice.

37/86

15

456

13

14 qi

7

13

1 10 16

2 3 11 12

8 9 qf

Page 38: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Najkraća pronađena putanja je označena punomlinijom.

38/8638/86

qi 15 4

56

14

4613

1

7

10 16

2 3

10

11 12

16

8 9 qf 9 qf

Page 39: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Ključni nedostatak egzaktne dekompozicijesegmenata je da broj segmenata i 39/86g j j gračunarska efikasnost cjelokupnog procesaplaniranja putanje ovise o gustoći i

39/86

složenosti prepreka u okolini.U slučaju da je koncentracija prepreke u okoliniznačajno smanjena, tada će biti malosegmenata čak i ako su dimenzije okoline

likveoma velike.Zbog složenosti u implementaciji ova sedekompozicija relativno rijetko koristi mobilnojrobotici.

Page 40: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Kada dekompozicija rezultiraaproksimacijom stvarne mape tada se 40/86ap o s ac jo st a e ape tada segovori o aproksimativnoj dekompoziciji,koja je jedna od najpopularnijih tehnika

40/86

j j j jp p jplaniranja putanje mobilnih robota.Najvažniji razlog za ovo je mrežasti prikazNajvažniji razlog za ovo je mrežasti prikazrobotske okoline.Najviše korištena tehnika aproksimativneNajviše korištena tehnika aproksimativnedekompozicije je fiksna dekompozicijakoja formira diskretnu mrežu segmenatakoja formira diskretnu mrežu segmenatafiksnih dimenzija (slika na sljedećoj slici).

Page 41: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Aproksimativna fiksna dekompozicija prostora

41/8641/86

Page 42: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Dimenzije segmenata u fiksnojdekompoziciji prostora ne ovise o 42/86de o po c j p osto a e o se opojedinačnim preprekama u okolini.Mora se paziti da segment ne bude previše

42/86

Mora se paziti da segment ne bude previšemali, jer će u slučaju okoline velikihdimenzija biti mnogo segmenata što ćedimenzija biti mnogo segmenata što ćezahtjevati znatne memorijske resurse zapohranu informacija o pojedinom segmentupohranu informacija o pojedinom segmentu,bez obzira na gustoću i broj prepreka uokoliniokolini.Glavna prednost fiksne dekompozicije jeniska računarska složenost planiranjaniska računarska složenost planiranjaputanje.

Page 43: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Osim fiksne dekompozicije, postoji ivarijabilna dekompozicija prostora 43/86j p j p(adaptivna dekompozicija).Na sljedećoj slici slobodni prostor je izvana

43/86

j j p jograničen pravokutnikom, a iznutra sa tripoligona.Pravokutnik je rekurzivno dekomponiran(razložen) u veći broj manjih pravokutnika.Svaka dekompozicija dijeli svaki djelomičnozauzet/djelomično slobodan segment prostorau četiri identična podsegmenta.Na svakoj razini rezolucije samo segmenti kojij j g jleže isključivo unutar slobodnog prostora sekoriste za konstrukciju povezivog grafa.

Page 44: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Varijabilna dekompozicija prostora

44/8644/86start

cilj cilj

Page 45: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Dekompozicija prostora (segmenata)Planiranje putanje u ovakvoj adaptivnojdekompoziciji se može hijerarhijski izvršavati. 45/86p j j jPlaniranje započinje sa grubom rezolucijom,koja se u svakom sljedećem koraku reducira

45/86

j jdok se ne identificira rješenje ili se ne postignelimit na rezoluciju.Kada se uspoređuju dekompozicije sa fiksnim ivarijabilnim dimenzijama segmenata, tada seova druga lakše adaptira složenijim okolinama,pa će stoga okoline sa manjom gustoćom ikoncentracijom prepreka sadržavati manji brojsegmenata, što za sobom povlači značajnomanje memorije a pohranmanje memorije za pohranu.

Page 46: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.4. Metoda potencijalnih poljaOsnovni koncept metode potencijalnih polja je„napuniti“ radni prostor robota umjetnim

46/86potencijalnim poljem u kome će ciljna pozicijaprivlačiti robota (privlačna sila), a prepreke gaodbijati [Khatib 1986]

46/86

odbijati [Khatib, 1986].Drugim riječima, robot i prepreke imaju isti polaritet,a cilj suprotan polaritet pri čemu cilj predstavljaa cilj suprotan polaritet, pri čemu cilj predstavljaminimum u prostoru, a prepreke maksimume(predstavljene šiljcima u potencijalnom polju).U metodi potencijalnih polja robot se razmatrakao tačka u umjetnom potencijalnom polju koji

k ć j dij t lj ilj jse kreće u smjeru gradijenta polja prema ciljnojlokaciji.Ova metoda je posebno atraktivna zbogOva metoda je posebno atraktivna zbogmogućnosti njene elegantne matematičke analize ipojednostavljenja.

Page 47: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaKonvencionalno, aktivni potencijal je definirankao funkcija relativne udaljenosti robota i cilja, 47/86j j jpri čemu je cilj fiksna tačka u prostoru.Umjetno potencijalno polje U(q) se formira od

47/86

j p j p j (q)komponente pridružene cilju Ucilj(q) ikomponenti pridruženih preprekama Uprep(q).p p

Rezultantno umjetno potencijalno poljepredstavlja sumu navedene dvije komponente:

∑+= )()()( qqq prepcilj UUU (*)

Funkcija potencijala specificira kretanje robota

∑ p pj

u bilo kojoj konfiguraciji q ∈C.

Page 48: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaBudući da se robot promatra kao tačka (x, y) tose njegova orijentacija može zanemariti i 48/86j g j jrezultantno potencijalno polje je predstavljenou dvodimenzionalnom prostoru (ravnini).

48/86

Na temelju izraza (*) može se izračunati izrazza silu umjetnog polja koja djeluje na pozicijuq = (x, y):

⎟⎞

⎜⎛ ∂U

⎟⎟⎟⎞

⎜⎜⎜⎛

∂∂∂

−=−∇=UxU

UF )(q⎟⎟

⎠⎜⎜

⎝ ∂∂

yU

gdje ∇U(q) označava gradijent vektora U(q).

Page 49: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaPredznak – u prethodnom izrazu znači da se robotkreće ka cilju (koji je obično globalni minimum od

49/86U(q)) u smjeru negativnog gradijenta vektora U(q).Sila F se također može razdijeliti na privlačnu (cilj) idb j ( k ) il

49/86

odbojnu (prepreka) silu:

)()()( qqq l FFF −=

)()(

)()()(

qq

qqq

prepcilj

prepcilj

UU

FFF

∇−−∇=

=

Rezultantna sila se dobiva superpozicijomprivlačne sile kojom cilj djeluje na robota i odbojnihprivlačne sile kojom cilj djeluje na robota i odbojnihsila kojima prepreke djeluju na robota.Ova sila, odnosno potencijal, će voditi robota kaOva sila, odnosno potencijal, će voditi robota kacilju uz istovremeno izbjegavanje prepreka koje senađu na putanji.

Page 50: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaPotencijal kojim cilj privlači robota se može opisatiparaboličnom funkcijom oblika:

50/8650/86

2

21)( ciljcilj qqU −= αq

gdje je α pozitivna skalirajuća konstanta i ||q – qcilj|||E klid k d lj t i đ kt i ij

2 jj

Euklidska udaljenost između vektora pozicijerobota i cilja.Ovaj potencijal je diferencijabilna funkcija i naOvaj potencijal je diferencijabilna funkcija i natemelju njega se može izračunati sila kojom ciljprivlači robota:privlači robota:

( ))()( ciljciljciljcilj qqqqUF −∇−−=−∇= αqq

)( ciljqq −−= α

Page 51: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaOva sila konvergira linearno ka nuli kako se robotpribližava cilju.

51/86Odbojni potencijal je veoma jak kada je robot blizuprepreke i slabi kako se robot udaljava od nje.

51/86

Jedan od načina izražavanja ovog potencijala je:

U β)(prep

prep qqU

−=

β)(q

gdje je qprep pozicija prepreke.Korištenjem prethodnog izraza računa se silaj p gkojom prepreka odbija robota na sljedeći način:

)()( UF ∇β

2)()(prep

prepprepqq

UF−

=−∇=βqq

Page 52: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaPrivlačno potencijalno polje cilja

52/8652/86

Page 53: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaOdbojno potencijalno polje prepreke

53/8653/86

Page 54: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaRezultantno potencijalno polje

54/8654/86

Page 55: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaRezultantno potencijalno polje

55/8655/86

Page 56: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda potencijalnih poljaMetoda potencijalnih polja je prilično efikasna irobusna u odnosu na upravljačke i senzorske

56/86(mjerne) pogreške.Međutim, ova metoda, koja spada u skupinu

56/86

metoda optimizacije najbržim spustom, nijeefikasna u slučaju problema lokalnog

i iminimuma.U slučaju lokalnog minimuma robot može upastiu zamku i ne dostići globalni minimum (cilj)u zamku i ne dostići globalni minimum (cilj).Za rješavanje problema lokalnog minimuma nepostoji općeniti postupak već se metodipostoji općeniti postupak već se metodipotencijalnih polja dodaju stohastičkapretraživanja koja omogućuju izlazak robota izpretraživanja koja omogućuju izlazak robota izzamke [Latombe, 1991].

Page 57: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.5. Metoda privlačnih i odbojnih silaU nastavku će se prezentirati algoritam planiranjaputanje zasnovan na principu djelovanja

57/86privlačnih i odbojnih sila, koji reducira brojprepreka koje imaju dominantan utjecaj nakretanje robota u svakom pojedinom vremenskom

57/86

kretanje robota u svakom pojedinom vremenskomtrenutku [Velagić, Lačević i Peruničić, 2005; 2006;Velagić, Lačević i Osmić, 2006].Velagić, Lačević i Osmić, 2006].Reduciranje broja prepreka se obavlja pomoćuneizrazitih pravila.pKako je već navedeno privlačna sila se pridružujecilju, a odbojne sile preprekama. Sve sile sepredstavljaju pravcima i rezultantna sila predstavljasmjer kretanja robota u datom trenutku.R b t ij d d tk k li i k jRobot nema unaprijed podatke o okolini, kojedobiva posredstvom ultrazvučnih mjerenja okoline.

Page 58: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaObjasnimo šta se dešava kada robot (xt,yt) na svomputu prema ciljnoj tački detektira prepreku

58/86definiranu sa (xp,yp)58/86

y

prepreka yp

y

tpp

tpp

yyy

xxx

−=Δ

−=Δ

yp

Rp

α

222ppp

tp

yxR Δ+Δ=

robot yt

Odbojna sila:

2

1r R

F =

xt xp x pR

Page 59: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaProjekcije odbojne sile na pojedine osi:

59/8659/86

)sin()cos(

αα

⋅=⋅=

rry

rrx

FFFF

gdje je ugao α jednak:

)(rry

gdje je ugao α jednak:

pyΔarctanα

pxΔ= arctanα

Koordinate vrha vektora odbojne sile u odnosu nakoordinate trenutne pozicije robota se računajup j jprema izrazima na sljedećem slajdu.

Page 60: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaPridruživanje odbojne (reaktivne) sile prepreci.

60/8660/86 y

⎧ 0|| ΔFyp

Rp ⎪⎩

⎪⎨⎧

>−

<+=

0 za , ||

0za |,|

prxt

prxtr ΔxFx

ΔxFxx

yt

p

α ⎩ p

⎪⎧ <+ 0za|| ΔyFyyr Fr ⎪⎩

⎪⎨⎧

>−

<+=

0 za , ||

0za ,||

pryt

prytr ΔyFy

ΔyFyy

xt xp x xr

Page 61: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaCiljnoj tački se pridružuje sila kojom ona privlačirobota.

61/8661/86

ciljna tačka y tcc xxx −=Δ

ciljna tačka yc

Rc 22ccc

tcc

yxR

yyy

Δ+Δ=

−=Δ

yt θ

ccc

U predloženom algoritmuzakon po kome se mijenjay

robot zakon po kome se mijenjaiznos privlačne sile je:

⎩⎨⎧

>≤

=m 1|| za |,| m 1|| za |,|

cc

cca RR

RRF

κ

xt x xc ⎩

Page 62: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaU ovom algoritnu je odabran κ=5.Velik iznos ovog parametra je odabran zbog 62/86Velik iznos ovog parametra je odabran zbogtoga što u krugu radijusa 1 m oko ciljne tačkerelevantne prepreke koje utječu na kretanje

62/86

p p j j jrobota (kasnije će se razviti pravila zaodređivanje koja prepreka je relavantna) biproizvele jake odbojne sile i odbacile robotaunatrag, tako da on nikad ne bi stigao u ciljnut čktačku.Iznos ovog parametra je povezan sa područjem

( )čitanja sonara (u našem slučaju R=4 m).U slučaju većeg R-a, morao bi se izabrati veći κ.

Page 63: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaOdređivanje nove ciljne tačke.

63/8663/86ciljna tačka

cynova ciljna tačka

y

yNova ciljna tačka senalazi na poziciji vrha

cR

j

nR

ny

aF

nalazi na poziciji vrhavektora koji se dobijevektorskim zbrojem silaodbijanja od prepreke i

typy prepreka

R

θ odbijanja od prepreke isile privlačenja od straneciljne tačke, odnosnok di t hty

robot pR

rFry koordinate vrha ovogvektora se dobivaju kao:

crn

crn

yyyxxxΔ+=Δ+=

tx px cx xrx nx crn yyy

Page 64: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaUvodi se i stohastička sila.Ova sila ima mali intenzitet i jedino u slučaju kada 64/86j jdolazi do poništavanja privlačne i odbojne sile njeniznos naglo raste i ona tada djeluje na robota.

64/86

ciljna tačka

y

Fs

prepreka Djeluje okomito na pravac kretanja

robot

p jrobota.

x

Page 65: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaZa stohastičku silu vrijedi sljedeće pravilo:

65/86AKO |F | = |F | I ugao između F i F je manji od 0 01 rad

U nastavku se opisuju pravila planiranja kretanja

65/86AKO |Fa| |Fr| I ugao između Fa i Fr je manji od 0.01 rad ONDA Fs velika INAČE Fs mala

U nastavku se opisuju pravila planiranja kretanjakojima se određuju relevantne prepreke za daljnjekretanje robota u trenutnoj situaciji.j j jS tim u vezi uvodimo pojmove vidno polje,odnosno vidokrug mobilnog robota i ciljni krug.Ovdje se koristi mobilni robot opremljen sa 16sonarnih senzora, koji su kružno raspoređeni.Jasna slika, odnosno granica pouzdanosti očitanjaovakvih podataka je 4 m od centra platforme (Rv),

d id lj b t j k l jodnosno vidno polje robota je krug sa polumjerom4 metra sa centrom u centru platforme.

Page 66: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaAko u prostoru postoji samo ciljna tačka bezikakvih prepreka, tada komponenta - Rp ima

66/86pvrijednost jednaku nuli i jedina sila koja tadadjeluje na robota je sila privlačenja koju uzrokujeciljna tačka

66/86

ciljna tačka.U slučaju da se detektirana prepreka nalazi negdjena kraju vidnog polja robota algoritam će pridružitina kraju vidnog polja robota, algoritam će pridružitisilu kojom ova prepreka odbija robota. Sila kojomprepreka odbija robota će biti relativno mala, takop p jda će izvršiti skoro neprimjetno skretanje robota sanjegove pravolinijske putanje.Kada se robot pak ''previše'' približi prepreci tadakvadratni član u ukupnoj sili preovladava i faktičkije jedina sila koja djeluje na robota sila odbijanja ije jedina sila koja djeluje na robota, sila odbijanja irobot se trudi da se što više udalji od prepreke.

Page 67: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSituacija izbjegavanja prepreke

67/8667/86 y

cilj

prepreka

robot

x

Page 68: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaDa bi prepreka bilavidljiva mora

68/86y 1 zadovoljavati: 68/86

R < R 4

y 1

odnosno mora biti

Rpi < Rv,Rv Rp4

4

odnosno mora bitiu vidnom poljurobota, gdje je Rpi

Rp5 Rp3

5

3 2

udaljenost i-teprepreke do robota.Ovdje će se koristiti prikaz vidnog polja x vidnog polja pomoću matrice.

x Dimenzije matrice: n×n (4 m × 4 m),Dimenzije ćelije: 5 cm × 5 cm.

Page 69: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaPrikaz sila koje utječu na kretanje robota nanjegovom putu ka ciljnoj tački.

69/8669/86 y U ovom pristupu računa se

trenutna udaljenost robota

2

trenutna udaljenost robota do ciljne tačke, parametar Rc, i nakon toga se opisuje kružnica sa centrom u ciljnoj

Rc

1 Rpom1 kružnica sa centrom u ciljnoj tački i polumjerom koji je jednak nešto uvećanoj

3 Rpom3

Rp3 vrijednosti udaljenosti između robota i ciljne tačke, (Rc+0.1, gdje duljina 0.1 p cpredstavlja zonu sigurnosti koja se opisuje oko prepreke).

x

p p )

Page 70: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaUdaljenost između prepreke i ciljne tačke:

70/8670/8622 )()( pcpcpom yyxxR −+−=

Uvjet vidljivosti prepreke:

AKO (( Rc+0.1) >Rpom) I (Rp < Rv ) ONDA preprekavidljiva i utječe na kretanje.

Na ovaj način sve tačke koje nisu na predviđenoj

j j j

Na ovaj način, sve tačke koje nisu na predviđenojputanji, ne opterećuju nepotrebno robota sadodatnom silom.

Page 71: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaPrikaz situacije kada se prepreka nalazi unutarciljnog kruga iza ciljne tačke.

71/8671/86

y Problem može nastatiukoliko se prepreka

Rp ukoliko se preprekanalazi unutar ciljnogkruga, u dijametru

Rc (Rc+0.1), a iza ciljnetačke i robot joj sepribližava te ona pada

nova ciljna tačka Fr

približava te ona padau njegovo vidno polje.

Odbacivanje prepreke iza robota:nova ciljna tačka

Fa AKO (Rp < Rc) ONDA prepreka vidljiva.

Odbacivanje prepreke iza robota:

x

Page 72: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSituacija kada robot ne osjeća prepreku koja senalazi iza ciljne tačke.

72/8672/86 y

R

Rc

Rp

nova ciljna tačka Fr j

Fa

Puni uvjet za vidno poljex

Puni uvjet za vidno polje robota glasi:

AKO (( R +0 1) >R )) I (R < R ) I (R < R )AKO (( Rc+0.1) >Rpom)) I (Rp < Rv) I (Rp < Rc) ONDA prepreka vidljiva i utječe na kretanje robota

Page 73: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaUvjeti globalnog pkretanja

73/86y 73/86 y

R +0 1 1

3

2 5 Rc+0.1

3

4

x Samo je prepreka 3. relevantna za kretanje.

Page 74: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaKada se robot kreće prema cilju i na svom putu nemaprepreka koje bi mu remetile kretanja, on se tada kreće

k i l b i 74/86maksimalnom brzinom vmax.U slučaju da postoji relevantna prepreka na udaljenostimanjoj od 1 m od robota tada će se brzina robota

74/86

manjoj od 1 m od robota tada će se brzina robotakorigirati koeficijentom k, tako da će se brzina robotamijenjati ovisno o njegovoj udaljenosti do prepreke, ašto je prikazano na slici

v[m/s]

vmax

k·Rpp

Rp[m] 0.1 1

vmin

Page 75: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSimulacijski rezultati

Predloženi algoritam omogućuje kretanje robotu ka 75/86g g j jciljnoj tački uz istovremeno zaobilaženjeeventualnih prepreka koje mu se mogu naći nat t

75/86

tom putu.

8

10

4

6

8

-2

0

2

y [m

]

-6

-4

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

-8

x [m]

Page 76: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSimulacijski rezultati

76/8676/86

8

10

2

4

6

2

0

2

y [m

]

6

-4

-2

10

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10 x [m]

Page 77: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSimulacijski rezultati

77/8610 77/86

6

8

10

2

4

6

2

0

2

y [m

]

6

-4

-2

10

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x [m]

Page 78: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSimulacijski rezultati

78/8678/86

8

10

4

6

0

2

y [m

]

-4

-2

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x [m]

Page 79: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSimulacijski rezultati

79/8610 79/86

6

8

10

2

4

6

0

2

y [m

]

-4

-2

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x [m]

Page 80: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Metoda privlačnih i odbojnih silaSimulacijski rezultati

80/8680/86

8

10

4

6

0

2

y [m

]

-4

-2

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x [m]

Page 81: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

12.6. Problem lokalnog minimumaPredloženi algoritam je efikasan u slučajvima kadarobot ne upada u zamku, odnosno kada ne postoji

81/86problem lokalnog minimuma.Međutim, kada se robot nađe u lokalnom

i i ij i ći i k ( ti

81/86

minimumu ne uspijeva izaći iz zamke (vrti se ubeskonačnoj petlji).

y

beskonačna petlja

x

Page 82: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Problem lokalnog minimumaZa izbjegavanje problema lokalnog minimumapredlaže se algoritam koji ne zahtijeva memoriranje

th d iđ ih ( đ ih) dij l k li [V l ić 82/86prethodno viđenih (pređenih) dijelova okoline [Velagić,Lačević i Peruničić, 2006].

82/86

Algoritam izbjegavanja problema lokalnog minimumaKorak 1.: Računati privlačne i odbojne sile, te njihovu sumuKorak 2.: AKO rezultantna sila ima tendenciju gurnuti robota unazad

ONDA ne uzimati u obzir privlačnu siluI držati odbojnu silu konstantnom i jednakom udaljenosti donajbliže prepreke

INAČE i ij iti i i i l č ih i db j ih ilINAČE primijeniti princip privlačnih i odbojnih silaKRAJ

Korak 3 : AKO robot nije dosegnuo ciljnu tačkuKorak 3.: AKO robot nije dosegnuo ciljnu tačkuONDA idi na Korak 1

Page 83: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Problem lokalnog minimumaAlgoritam tjera robota u desno u tački prekapčanja a(tačka u kojoj robot ima tendenciju vratiti se nazad,d d ij iti j k t j ) i di d d 83/86odnodno promijeniti smjer kretanja) i vodi ga do druge

tačke prekapčanja b u skladu sa opisanim algoritmomizbjegavanja lokalnog minimuma.

83/86

j g j gNakon pristizanja u tačku b primjenjuje se principprivlačnih i odbojnih sila, opisan ranije.

y

Tačke prekapčanja

a

prekapčanja

b

x

Page 84: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Problem lokalnog minimumaSimulacijski rezultati

84/8484/84

8

10

4

6

0

2

y [m

]

-4

-2

y

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x [m]

Page 85: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Problem lokalnog minimumaSimulacijski rezultati

85/8610 85/86

6

8

10

2

4

6

2

0

2

y(m

)

-4

-2

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x(m)

Page 86: Lekcija 12:Lekcija 12: Planiranje kretanja mobilnog robotajvelagic/laras/dok/... · 2012. 12. 27. · Tako se kod izvršavanja određenog kretanja zahtijeva dolazak robota iz početne

Problem lokalnog minimumaSimulacijski rezultati

86/8610 86/86

6

8

10

2

4

6

2

0

2

y(m

)

6

-4

-2

-8

-6

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

x(m)