analizimi dhe krahasimi i algoritmit rapidly-exploring

70
University of Business and Technology in Kosovo University of Business and Technology in Kosovo UBT Knowledge Center UBT Knowledge Center Theses and Dissertations Student Work Fall 10-2016 ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING RANDOM TREES DHE HYBRID A* (STAR) TE MODULI I RANDOM TREES DHE HYBRID A* (STAR) TE MODULI I PLANIFIKIMIT TË RRUGËS TE AUTOMJETET AUTONOME PLANIFIKIMIT TË RRUGËS TE AUTOMJETET AUTONOME INTELIGJENTE INTELIGJENTE Plarent Haxhidauti Follow this and additional works at: https://knowledgecenter.ubt-uni.net/etd Part of the Computer Sciences Commons

Upload: others

Post on 15-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

University of Business and Technology in Kosovo University of Business and Technology in Kosovo

UBT Knowledge Center UBT Knowledge Center

Theses and Dissertations Student Work

Fall 10-2016

ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

RANDOM TREES DHE HYBRID A* (STAR) TE MODULI I RANDOM TREES DHE HYBRID A* (STAR) TE MODULI I

PLANIFIKIMIT TË RRUGËS TE AUTOMJETET AUTONOME PLANIFIKIMIT TË RRUGËS TE AUTOMJETET AUTONOME

INTELIGJENTE INTELIGJENTE

Plarent Haxhidauti

Follow this and additional works at: https://knowledgecenter.ubt-uni.net/etd

Part of the Computer Sciences Commons

Page 2: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

Programi për Shkenca Kompjuterike dhe Inxhinieri

ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-

EXPLORING RANDOM TREES DHE HYBRID A* (STAR) TE

MODULI I PLANIFIKIMIT TË RRUGËS TE AUTOMJETET

AUTONOME INTELIGJENTE

Shkalla Bachelor

Plarent Haxhidauti

Tetor / 2016

Prishtinë

Page 3: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

Programi për Shkenca Kompjuterike dhe Inxhinieri

Punim Diplome

Viti akademik 2013 – 2016

Plarent Haxhidauti

ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-

EXPLORING RANDOM TREES DHE HYBRID A* (STAR) TEK

MODULI I PLANIFIKIMIT TË RRUGËS TE AUTOMJETET

AUTONOME INTELIGJENTE

Mentori: MSc. Shkëlqim Berisha

Tetor / 2016

Ky punim është përpiluar dhe dorëzuar në përmbushjen e kërkesave të

pjesshme për Shkallën Bachelor

Page 4: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

I

ABSTRAKT

Planifikimi i rrugës, i trajektores dhe optimizimi i asaj rruge janë çështje problemaktike në

fushën e robotikës. Për momentin veturat autonome janë në krye të hulumtimeve nga

industria për shkak të avantazheve që i ofrojnë. Software-i është elementi kryesorë që e

përfshinë autonominë e ofruar nga algoritmat planifikues që janë përgjegjës për marrjen e

vendimeve të rëndësishme.

Përderisa automjeti transporton udhëtarë ose të mira materiale prej një pike fillestare deri në

destinacion, planifikuesi i rrugës përmbanë metoda si kërkimi i shtegu për ta ndjekur,

shmagja e pengesave dhe gjenerimi i trajektoreve që ofrojnë rehati.

Qëllimi i këtij hulumtimi është analizimi i dy algoritmeve që e bëjnë planifikimin e rrugës.

Mblidhen të dhëna dhe krahasohet mes vete, se çka kanë të përbashkët e çka jo. Janë tri fusha

që një automjet inteligjent duhet të fokusohet, gjetja e rrugës, manovra më e sigurtë për

ekzekutim dhe vendosja për trajektoren më të mirë.

Së pari prezentohet algoritmi Rapidly-Exploring Random Tree. Analizohet se si punon dhe

në çfarë raste vepron më mirë. Shikohet nëse ka ndonjë mënyrë për ta përmirësuar në raste

të caktuara. Pastaj prentohet algoritmi Hybrid A* (Star). Edhe ky analizohet dhe tregohet në

cilat skenare të trafikut ka aplikim. Në fund pasi analizës së detajuar dhe krahasimit mes dy

algoritmeve, arrihet në përfundimin se cili ka ka vlerë më shumë në raste të caktuara.

Page 5: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

II

MIRËNJOHJE DHE FALËNDERIME

Dëshiroj të falenderoj mentorin Z. Shkëlqim Berisha për mbështetjen dhe motivimin e tij të

vazhdueshëm për arritjen e objektivit të përfundimit të studimeve Bachelor. Ndihma dhe

durimi i tij gjatë zhvillimit të këtij projekti vlerësohet tej mase. Po ashtu dua të falenderoj

familjen për mbështetjen e vazhdueshme përgjatë viteve të studimit dhe mirëkuptimin e tyre.

Page 6: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

III

PËRMBAJTJA

LISTA E FIGURAVE .......................................................................................................... VI

LISTA E TABELAVE ....................................................................................................... VII

FJALORI I TERMAVE ..................................................................................................... VII

1 HYRJE ............................................................................................................................ 1

2 SHQYRTIMI I LITERATURËS .................................................................................... 2

2.1 Hyrje ........................................................................................................................ 2

2.2 Kontrolli i lëvizjeve ................................................................................................. 3

2.2.1 Metodat kinetike të kontrollit ...................................................................................... 3

2.2.2 Sistemi linear i kontrollit ............................................................................................. 5

2.2.3 Metoda parashikuese e kontrollit ................................................................................ 5

2.3 Perceptimi i mjedisit ................................................................................................ 5

2.3.1 Detektimi i rrugës dhe korsisë ..................................................................................... 6

2.3.2 Detektimi dhe njohja e shenjave të trafikut ................................................................. 6

2.4 Lokalizimi ................................................................................................................ 7

2.5 Planifikimi i rrugës dhe marrja e vendimeve ........................................................... 7

3 DEKLARIMI I PROBLEMIT ...................................................................................... 10

3.1 Hyrje ...................................................................................................................... 10

3.2 Motivi prapa projektit ............................................................................................ 11

3.3 Qëllimi dhe objektivat ........................................................................................... 11

3.3.1 Qëllimi i përgjithshëm............................................................................................... 11

3.3.2 Objektivat .................................................................................................................. 12

3.4 Struktura e punimit të diplomës ............................................................................. 12

4 METODOLOGJIA ........................................................................................................ 13

Page 7: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

IV

4.1 Hyrje ...................................................................................................................... 13

4.2 Algoritmi Rapidly-Exploring Random Trees ........................................................ 15

4.2.1 Zgjedhja më e mirë e komandës së kontrollit ........................................................... 17

4.2.2 Kërkimi vizual i ngasësit ........................................................................................... 18

4.2.3 Struktura e modulit për planifikim të rrugës ............................................................. 20

4.2.4 Ndërveprimi i RRT me near dhe far point ................................................................ 21

4.2.5 Funksioni metrik ....................................................................................................... 22

4.2.6 Metoda B-Spline për optimizim të rrugës ................................................................. 23

4.2.7 Verifikimi i plotsueshmërisë së rrugës dhe vlerësimi i rrezikut ................................ 23

4.2.8 Disavantazhi i planifikuesit të bazuar në algoritmin RRT ........................................ 26

4.2.9 Simulimi e algoritmit RRT në Matlab ...................................................................... 27

4.3 Algoritmi Hybrid A* (Star) ................................................................................... 30

4.3.1 Analiza e funksionimit të Hybrid A* (Star) .............................................................. 31

4.3.2 Struktura e kërkimit të rrugës .................................................................................... 32

4.3.3 Përmirësimet për Hybrid A* (Star) ........................................................................... 33

4.3.4 Aplikimi i Hybrid A* duke u bazuar në grafe ........................................................... 37

5 REZULTATE ................................................................................................................ 41

5.1 Rezultati pas krahasimit dhe analizimit të RRT dhe Hybrid A* (Star) ................. 41

5.2 Përmbushja e qëllimit kryesorë duke përmbushur objektivat ................................ 42

6 PËRFUNDIME ............................................................................................................. 44

6.1 Përfundimet e arritura për problemin e deklaruar .................................................. 44

6.2 Puna e mëtutjeshme ............................................................................................... 44

7 REFERENCA ............................................................................................................... 46

7.1 Referencat në tekst ................................................................................................. 46

7.2 Referencat në figura ............................................................................................... 50

Page 8: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

V

8 APENDIKS ................................................................................................................... 52

8.1 Kodi që simulon algoritmin RRT në MATLAB.................................................... 52

8.1.1 Kodi për startimin e ekzekutimit të algoritmit .......................................................... 52

8.1.2 Kodi që e krijon hapësirën 3D .................................................................................. 53

Page 9: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

VI

LISTA E FIGURAVE

Figura 1. Pseudokodi për Rapidly-Exploring Random Trees

Figura 2. Pikat e koncentrimit gjatë ngasjes së veturës

Figura 3. Struktura e përgjithshme e modulit të planifikimit të rrugës

Figura 4. (a) Shpërndarja Gausiane për near point dhe (b) far point

Figura 5. Dallimi mes rrugës pa aplikim të B-Spline (a) dhe asaj me aplikim (b).

Figura 6. Harta me të dhëna që makina e merr si input

Figura 7. Rasti i gjenerimit të rrugës së drejt nga (b) lattices, (c) random sampling dhe (d)

RRT

Figura 8. Rasti i gjetjes së trajektores në rrugë me kthesë. (b) Lattice, (c) random sampling

dhe (d) RRT

Figura 9. Simulimi i gjendjes së parë të RRT në ambient 3D.

Figura 10. Simulimi i gjendjes së fundit të RRT në ambient 3D.

Figura 11. a) A* bashkon pikat në mes të qelive, b) D* bashkon skajet e qelive dhe lejon

shtigje lineare, c) Hybrid A* bashkon gjendjet me koston më të ulët dhe aplikon lëmimin

në kthesa apo ndryshe pruning.

Figura 12. a) Kërkimi në hapësirën 2D i shpalos 20.000 pika. b) Kërkimi në hapësirë pa

pengesa gjen destinacionin me 12.000 pika. c) Nëse e njejta mënyrë si nën b) përdoret në

raste më komplekse, numri total i pikave për të gjetur mbarimin është 37.000.

d) Kombinimi i dy mënyrave në raste kompleke jep rezultat shumë të kënaqshëm. Me

vetëm 11.000 pika gjendet destinacioni.

Figura 13. Planifikimi i pikës së ardhshme

Figura 14. Planifikimi i dy pikave të ardhshme

Figura 15. Pseudokodi për Hybrid A* me planifikim të dy pikave të ardhshme.

Figura 16. Kërkimi inkremental dhe me Reed – Shepp

Figura 17. a) Mjedisi 2D pa përdorimin e grafeve dhe b) mjedisi që përdorë rrjetën e

grafeve. Vendet e theksuara me ngjyrë të gjelbër janë më afër desinacionit, ndërsa vendet

me ngjyrë të kuqe janë ato shumë më larg pikës përfundimtare.

Figura 18. Me vijën rozë është paraqitur aplikimi i Reed – Shepp në grafin me segmente.

Page 10: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

VII

Figura 19. Dy imazhe e para lartë nuk e aplikojnë kërkimin në graf. Dy imazhet e tjera poshtë

tregojnë se sa shumë është përmirësuar shpejtësia e kërkimit kur përdoren grafe.

LISTA E TABELAVE

Tabela 1. Rezultatet e fundit të simulimit të algoritmit RRT

Tabela 2. Outputet e algoritmit RRT të testuar në Matlab

Tabela 3. Outputet e algoritmit Hybrid A* të bazuar në studimin e përmendur

Tabela 4. Krahasimi mes RRT dhe Hybrid A*

FJALORI I TERMAVE

AIA – Automjetet inteligjente autonome

DARPA - Defense Advanced Research Projects Agency

RRT – Rapidly-Exploring Random Trees

Page 11: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

1

1 HYRJE

Përgjatë viteve fusha e zhvillimit të automjeteve inteligjente ka arritur të bëhet një prej

degëve më të rëndësishme të sistemit të transportit. Këto automjete ofrojnë mundësi për

ndryshime rrënjësore të sistemit transportues. Paisja e makinave me teknologjinë që ofron

autonomi në ngasje, me shumë gjasë do të ulte numrin e aksidenteve në trafik dhe ndotjen e

ambientit nga makinat. Ideja e kalimit të kontrollit nga një drejtues tek vet makina, është një

hap gjigant që do të kërkoj kohë derisa të pranohet nga të gjith. Zhvillimi i kësaj teknologjie

ndikon direkt në progresin e industrive ku përdoren makineritë.

Një automjet autonom mund të definohet si një mjet që e di se cili është veprimi më i mirë i

mundshëm për tu bërë në një moment të caktuar. Tjetër veti e veturave të mençura është

kuptimi i ambientit dhe normalisht ngasja e saj.

Pengesat teknologjike për zhvillimin e një AIA nuk janë shumë të mëdha. Problemi pastaj

qëndron në krijimin e rregulloreve që lejojnë operimin e tyre. Sfida më e madhe e

inxhinierëve është krijimi i software-ve të besueshëm që marrin vendime për manovrimin e

veturës. Sot ka elemente të teknologjisë autonome që aplikohen në veturat e sotme. Duke

filluar prej sistemit anti-lock braking (ABS) deri tek adaptive cruise control. Sfida më e

madhe qëndron në integrimin e një sistemi që merr vendime për veturën duke u bazuar në

faktorët e ambientit. Aftësi tjetër që një AIA duhet të ketë është perceptimi i mjedisit për

rreth dhe lokalizimi i saj në atë mjedis. Njohja e shenjave të trafikut është një domosdoshmëri

në mënyrë që të respektohen rregullat e trafikut.

Paqartësi tjetër është se si një automjet autonom do të reagonte ndaj automjeteve tjera në

trafik që kanë drejtues. Drejtuesit mund të bëjnë manovrime të papritura, dhe ka gjasë

shkaktojnë reaksion zinxhir tek katër ose pesë vetura tjera. Për këtë shkak reagimet e një

veture inteligjente në raste të vështira nuk janë plotësisht të qarta. Testimi i këtij rasti nuk

është bërë në një situatë reale, për shkak se mund të jetë rrezik për drejtuesit e tjerë. Prej të

gjitha teknologjive që e përbëjnë një automjet autonom inteligjent, ajo për planifikim të

veprimeve dhe marrje të vendimeve luan rolin kyq. Kjo për shkak se e bën një veturë “të

mençur” dhe që merr vendimet e duhura në trafik.

Page 12: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

2

2 SHQYRTIMI I LITERATURËS

2.1 Hyrje

Sistemet e automjeteve inteligjente autonome janë bërë një fushë premtuese për të ardhmen.

Aftësitë e AIA janë zgjeruar nga një cruise control i thjeshtë, në adaptive cruise control,

mbajtja automatike e korsisë, planifikimi inteligjent i rrugës, navigimi në rrugë të pa

strukturuar (off-road) etj. Teknologjitë e ngarsjes autonome kanë zotësinë të ofrojnë

komoditet dhe siguri për ngasësin. Këtë e bëjnë duke shmangur disa aksidente që i shkaktonte

gabimi i shoferit. Megjithatë ende nuk është zhvilluar një AIA që mund të bashkëveproj me

vetura të tjera në një trafik të ngarkuar [3].

Ende ka probleme në dizajnimin dhe implementimin e disa teknologjive në veturat

autonome. Roli i njeriut në skemën e kontrollit të automjetit autonom është i panevojshëm.

Sistemi pa një drejtues duhet të marr të dhëna nga mjedisi dhe të bëj manovrime në bazë të

tyre. Një ngasës i pranon të dhënat nga ambienti, dhe vendos për veprimin më të mirë. Tani

një AIA duhet ta kryej këtë proces. Ky proces kërkon sensorët për perceptim të ambientit.

Po ashtu kompjuter dhe software që bëjnë procesimin e të dhënave që mirren nga sensorët,

dhe planifikojnë veprimet e veturës. Një mënyrë për përmbledhjen e këtij procesi është

modeli Sense-Plan-Act për zhvillimin e robotikës [4]. Ky është model që mundëson ndarjen

e detyrave për dizajn në fragmente, që mundëson lehtësim në implementim të sistemit.

Çdo sistem robotik duhet të jetë në gjendje të lokalizoj veten, perceptoj mjedisin rrethues, të

merr vendime ndaj reagimeve të mjedisit dhe të kontrolloj lëvizjet e veta [5]. Automjetet

inteligjente autonome nuk bëjnë përjashtim. Për këtë shkak shumë implementime të

sistemeve robotike aplikohen në AIA.

Në kontekst të kësaj teme, përmbledhen katër veti të AIA:

• Kontrolli i lëvizjeve

• Perceptimi i mjedisit

• Lokalizimi

• Planifikimi i rrugës dhe marrja e vendimeve.

Page 13: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

3

2.2 Kontrolli i lëvizjeve

Një nga sfidat e që lidhen me robotikën dhe navigimin e veturave autonome është kontrolli i

lëvizjeve. Mund të duket e thjeshtë detyra e ekzekutimit të instruksioneve. Ato merren nga

software-i për planifikim të rrugës, por për shkak të shumë inputeve në software, procesimet

janë të shumta. Detyra e kontrollit të lëvizjeve të një AIA është përgatitja e mjetit për lëvizje

të paracaktuar. Këtu qëllimi është minimizimi i gabimeve të sistemit gjatë lëvizjes prej

gjendjes momentale deri në gjendjen e dëshiruar. Kjo arrihet duke i dhënë inpute makinës që

të komandohet në mënyrë të paramenduar, duke përdorur funksione dhe procedura

matematikore. Ka disa lloje të metodave që janë zhvilluar specifikisht për kontroll të

lëvizjeve [6].

2.2.1 Metodat kinetike të kontrollit

Hulumtimet për sistemet e kontrollit të ndjekjes së rrugës për AIA kanë quar në

implementimin me sukses të metodave kinetike të kontrollit. Një nga metodat e para kinetike

është Pure Pursuit, e zhvilluar në Universitetin Carnegie Mellon [7]. Kjo metodë u

popullarizua për shkak të thjeshtësisë dhe perfomancës që e ka.

Implementimi i algoritmit pure pursuit për ndjekjen e rrugës merr në konsiderim stabilitetin

dhe performancën e automjetit. Ky algoritëm përdoret për kalkulimin e harkut ose lakimit që

automjeti duhet të bëj gjatë lëvizjes. Kjo bëhet duke zgjedhur një pikë të caktuar para mjetit,

dhe duke kalkuluar distancën e rrugës që duhet të përshkruhet për tu arrituar ajo pikë. Këtu

lidhet analogjia me emrin e algoritmit pure pursuit, ku automjeti gjithmonë është duke e

ndjekur një pikë të lëvizshme para tij që gjendet në një distancë të caktuar. Në mënyrë që

makina të mos prejë kthesat përgjatë rrugës, një hark rrethor imagjinohet mes makinës dhe

pikë së caktuar të cilën e ndjek. Automjeti e përcjell vijën tangjente në çdo pikë të harkut.

Pika e caktuar para automjetit, kthimi gjysëmrrethor më i vogël që mund ta bëj dhe këndi i

timonit janë tre parametrat që merren parasysh gjatë lëvizjes. Hapat e algoritmit Pure Pursuit

janë [8]:

1. Përcaktimi i lokacionit të makinës

2. Gjetja e pikës më të afërt mes rrugës (path) dhe makinës

Page 14: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

4

3. Gjetja e pikës së caktuar para mjetit që duhet ndjekur

4. Kalkulimi i harkut rrethor përgjat rrugës

5. Përcaktimi i këndit të timonit

Këta pesë hapa përsëriten gjatë tërë kohës sa është automjeti në lëvizje. Rruga ndahet në

segmente. Algoritmi përcakton cili është segmenti më i afërt me makinën dhe më pas

kalkulohet këndi i timonit që të ndjek sa më afër pikën lakoren.

Tjetër metodë kinetike e kontrollit është Vector Pursuit. Kjo metodë u zhvillua nga Jeffrey

S. Witt [9]. Erdhi si tentim për përmirësimin e Pure Pursuit, ku Witt në analizën gjeometrike

konsideron edhe trajektoren më të lehtë për automjetin. Vector Pursuit merr në konsiderim

orientimin dhe distancën e mjetit deri te pika e dëshiruar. Ky algoritëm bazohet në teorinë e

vidhave (theory of screws) [10]. Kjo teori përshkruan lëvizjen e një trupi në një sistem të

koordinatave. Në rastin e AIA, automjeti është trupi në sistem koordinativ. Me këtë teori

përshkruhet lëvizja e makinës prej pozitës dhe orientimit aktual, në pozitën dhe orientimin

përfundimtar. Kjo bën që arrijta në pikën e dëshiruar bëhet në orientimin e duhur. Në

zhvillimin e këtij algoritmi përdoret dy parime të teorisë së vidhave (theory of screws),

transferimi (lëvizja e mjetit) dhe rrotullimi (ndërrimi i drejtimit të mjetit). Ky algoritëm

përmbledhet në tre hapa [11].

Hapi i parë ndahet në dy pjesë. Pjesa e parë llogarit lëvizjen prej pozitës fillestare të makinës

deri të pika që e ndjek makina. Pjesa e dytë llogarit ndryshimin e rrotullimit ose orientimit të

makinës nga pika fillestare deri të pika që e ndjek makina. Orientimi i dëshiruar i makinës

pasi të arrijë te pika që e ndjek, definohet si drejtimi që ka makina në vijën tangjente kur

arrin në atë pikë.

Hapi i dytë i merr outputet e pjesës së parë dhe të dytë, te hapi i parë i algoritmit, dhe kalkulon

rrugën detajisht. Hapi i tretë përcakton pikën përfundimtare në sistemin koordinativ.

Algoritmat Pure Pursuit dhe Vector Pursuit janë teknika gjeometrike që përdorin një pikë

para makinës për llogaritje të lëvizjes në hapsirë. Vector Pursuit ka një avantazh ndaj Pure

Pursuit për shkak të marrjes parasysh të orientimit të automjetit kur arrin në destinacion.

Përparsi tjetër është se vetura e zvogëlon nevojën e ndërrimit të këndit të timonit përgjat

rrugës. Të vetmin avantazh që e ka Pure Pursuit është numri më i vogël i kalkulimeve.

Page 15: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

5

2.2.2 Sistemi linear i kontrollit

Sistemet lineare të kontrollit ofrojnë implementim të thjeshtë dhe saktësi të lartë në kontroll

të veturës [6]. Kjo për shkak të testimeve të shumta që janë kryer. Mjetit i jepet komanda të

ndjek një segment rruge të paracaktuar. Lëvizja e mjetit ishte shumë jo stabile për shkak se

shpejtësia ndikonte direkt në të. Sa më e madhe shpejtësia, aq më e vështirë bëhej përcjellja

e rrugës së paracaktuar. Po ashtu vazhdimi nga një segment në tjetrin shkaktonte çorientim

të automjetit.

Kjo metodë u përmirësua dukshëm nga Seibum Ben Choi [12]. Tani parametrat janë

dizajnuar të jenë të ndryshueshëm. Kjo u bë për shkak se gjatë lëvizjes parametrat që pranon

mjeti ndryshohen shpesh. Probleme si çekuilibri i shtypjes së ajrit në goma, erërave anësore,

balancit jo të plotë mes timonit dhe rrotave, shtynë avancimin e kësaj metode. Këtu shihet se

si përdoret një Closed-Loop sistem i kontrollit, i cili ofron rritje të stabilitetit për automjetet

inteligjente autonome.

2.2.3 Metoda parashikuese e kontrollit

Metoda parashikuese e kontrollit është metodë e avancuar që përdoret në industri për

optimizimin e problemeve të kontrollit me shumë kufizime [13]. Një formë e kësaj metode

është kontrolli i largimit të horizontit. Me këtë metodologji, problemi i kontrollit optimizohet

kur në një periudhë kohore të caktuar bëhet kalkulimi se si të shkohet deri tek pika e caktuar.

Kalkulimi bëhet pasi të merren informatat nga sensorët e AIA. Ky proces përsëritet në

vazhdueshmëri. Rezultatet e aplikimit të kësaj metode ishin pozitive, por për shkak të

procesimeve të shumta kompjuterike, nuk aplikohet.

2.3 Perceptimi i mjedisit

Teknologjia e perceptimit të mjedisit është moduli i parë që aktivizohet pas startimit të një

automjeti inteligjent autonom. Kupton strukturën e ambientit rrethues të makinës dhe krijon

një model të saj. Funksionet kryesore të saj janë detektimi i rrugës dhe korsisë, dhe njohja e

shenjave të trafikut [14].

Page 16: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

6

2.3.1 Detektimi i rrugës dhe korsisë

Rrugët i ndajmë në dy lloje, rrugë të strukturuara dhe rrugë të pastrukturuara. Rrugët e

strukturuara janë rrugë me shenja të korsive që dallohen lehtë, siç janë autostradat dhe rrugët

urbane. Përderisa rrugët janë të shënuara me vija të bardha kufizuese dhe ndarëse, atëherë

bëhet vetëm detektimi i korsisë. Disa sisteme që përdoren për detektimin e korsisë janë

AutoVue, Ralph, Aurora, Scar dhe Gold. Algoritmet e këtyre sistemeve ndahen në dy

kategori, metoda edge based dhe metoda e bazuar në model të shenjës në rrugë [15]. Metoda

edge based përdoret më shumë për shkak të performancës së lartë që e kanë. Problemi tjetër

që e ka kjo metodë është se bazohen në formën dhe dizajnin e rrugës. Nëse rruga është

komplekse, me shumë kthesa, rritet probabiliteti i mundësisë së gabimeve në llogaritjeve.

Disa nga modelet kryesore të rrugëve janë modeli trekëndësh, vi e drejtë, polinomial i rrugës

[16]. Studiuesit pastaj filluan të përshtatnin rrugën në të cilën është AIA me njërin nga

modelet e rrugëve. Këtë e bënë të provonin nëse ishte më e lehtë ta detektonin korsinë e

rrugës. Metoda ishte efikase, por kërkonte kalkulime të shumta për shkak të iteracioneve.

Rrugët e pastrukturuara janë rrugët e pashtruara që nuk janë të shënuara me shenja në tokë.

Rrugë të tilla janë rrugët e parqeve, rurale, malore etj. Detektimi i këtyre rrugëve është më

problematik për shkak të ndryshimit të madh potencial të mjedisit. Hulumtuesit u fokusuan

në kufijtë anësorë të rrugës dhe detektimin i mjedisit që nuk kishe ndryshim të madh [17].

Automjeti inteligjent autonom lëshon rreze me LASER që reflektohen dhe kthehen prapë.

Rrezet e kthyera procesohen dhe përcaktohet rruga më e lehtë që automjeti mund ta ndjek.

Kjo metodë nuk funksionon në mënyrë optimale nëse shfaqet ndonjë pengesë e papritur para

makinës. Reagimi i AIA mund të jetë i dobët dhe të shkaktoj aksident me pengesën.

2.3.2 Detektimi dhe njohja e shenjave të trafikut

Detektimi i shenjave të trafikut është fusha më e re e zhvillimit të automjeteve inteligjente

autonome. Njohja e shenjave të trafikut ndahet në dy kategori, detektimi dhe kategorizimi

[18].

Page 17: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

7

Për detektimin e e shenjave së pari shikohet se cfarë forme ka shenja, dhe më pas

kategorizohet se cfarë lloj shenje është. Metoda më e përdorur për detektim është segmentimi

i ngjyrave [18]. Modeli RGB i ngjyrave është gjerësisht i njohur. Spektri i modelit të ngjyrave

RGB ka ndjeshmëri të lartë ndaj intensitetit të dritës. Kjo është arsyeja e përdorimit të gjerë

të segmentimit të ngjyrave, mundësia e detektimit edhe nga intensiteti i ulët i dritës. Pasi

kryhet ky proces, fillon procesi per njohjen e formës së shenjës. Për njohjen e formave

përdoren teknikat të veçanta për secilën formë, të rrumbullakët, katrore, trekëndëshe, shumë

këndëshe.

Klasifikimi i shenjave të trafikut përdorë metoda për përputhjen e shablloneve siç janë LDA,

SVM, ANN etj. Support vector machines (SVM) përdoren për të klasifikuar pjesën e

brendshme të shenjës, numrin, shkonjën ose figurën. Pas kësaj, shenja futen në njërën nga

kategoritë e shenjave, me numër në qendër, shkronja ose figura.

2.4 Lokalizimi

Lokalizimi i saktë automjetit inteligjent autonom është shumë i domosdoshëm, për shkak se

AIA mund të thyej rregullat e trafikut apo edhe të shkaktoj aksident. Momentalisht për

lokalizim të AIA përdoren Global Navigation Satellite System (GNSS). Megjithatë saktësia

e këtij sistemi nuk është mjaftueshme për hapësira të ngushta, sepse sinjali i GNSS mund të

vonohet. Për zgjidhjen e këtij problemi përdoren algoritma map-mathing, detektimi i

imazheve me LASER, LIDAR etj [19].

Me metodën LIDAR, hartat krijohen si imazhe 2D [20]. Secili pixel i imazhit paraqet një

pikë të caktuar në mjedisin e vërtetë dhe kalkulohet një vlerë për atë pikë. Për t’i kalkuluar

ato pika, duhet të llogaritet pozita e secilës rreze që e ka lëshuar radari. Më pas në hartën 2D

paraqiten pikat e rrezeve të kthyera, dhe gjenerohet lokacioni i saktë i automjetit në atë

mjedis.

2.5 Planifikimi i rrugës dhe marrja e vendimeve

Teknologjia e marrjes së vendimeve gjatë lëvizjes së AIA është kyqe për funksionimin e saj

optimal. Teknologjia e planifikimit të rrugës vie në funksion menjëherë pas asaj të

Page 18: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

8

perceptimit të mjedisit. Qëllimi kryesor i teknologjisë së planifikimit të rrugës është t’i

sigurojë automjetit rrugën e sigurtë deri te destinacioni [21]. Ta bëj këtë duke marrë në

konsiderim dinamikën e veturës, aftësitë e manovrimit në prezencë të pengesave, dhe duke

ndjekur rregullat e trafikut. Planifikimi është proces që konsumon memorie dhe kapacitetin

hardware-ik të procesimit. Skenarët e ndryshëm në trafikun e dendur të një qyteti kanë shtyrë

në zhvillimin e teknologjisë për marrjen e vendimeve. Algoritmat që i kryejnë këto procese

pranojnë inpute prej të gjitha teknologjive të tjera të AIA.

Ky lloj i algoritmeve ekziston që një kohë të gjatë dhe është aplikuar në automjete të

shkretëtirës, roverët planetarë, trenat e shpejtë. Në përgjithësi, planifikimi i rrugës për

automjetet inteligjente autonome është i ndarë në tri klasa [21]:

• Planifikimi i rrugës

• Zgjedhja e manovrimit

• Planifikimi i trajektorës së lëvizjes

Këto tri klasa ose ndarje të kësaj teknologjie marrin parasysh dinamikën e veturës, pengesat

në rrugë, gjeometrinë e rrugës dhe veprimet që bëjnë të tjerët në trafik.

Rruga ose path, është shtegu që duhet të ndjek automjeti që të arrij destinacionin pa u ndeshur

me pengesa. Prandaj planifikimi i asaj rruge (path) është gjetja e rrugës më të mirë

gjeometrike prej gjendjes momentale tek gjendja përfundimtare e mjetit duke e llogaritur

parametrin kohë. Përcjellja e rrugës më të mirë të mundshme do të thotë respektimi i

rregullave të trafikut dhe shmangja e pengesave.

Manovrueshmëria është karakteristikë e lëvizjes së makinës, që ka lidhje me pozicionimin

dhe shpejtësinë e automjetit në rrugë. Shembuj të saj janë lëvizja drejtë, kthimi

gjysmërrethor, tejkalimi etj. Manovrimi është i pranueshëm të bëhet nëse respektohen

rregullat e trafikut. Për këtë shkak planifikimi i saj është forma më e lartë e inteligjencës së

një AIA, sepse duhet të marr në konsiderim edhe rrugën në të cilën kalon.

Trajektorja paraqitet si një sekuencë e gjendjeve që makina i ka vizituar ose kaluar nëpër to,

duke marrë paraysh parametrat e kohës dhe shpejtësisë. Planifikimi i trajektores ose

gjenerimi i saj, ka lidhje me planifikimin e transformimit të gjendjeve të mundshme të mjetit.

Kjo bëhet duke plotësuar rregullat e kinetikës së veturës dhe dinamikave të saj. Mbi të gjitha

duke marrë në konsideratë rregullat dhe gjendjen e trafikut e momental.

Page 19: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

9

Planifikimi i trajektorës ka dy parametra, shpejtësinë ose nxitimin dhe kohën. Gjatë ciklit të

planifikimit, planifikuesi i rrugës gjeneron disa trajektore prej lokacionit aktual të mjetit.

Gjenerimi bëhet duke u bazuar në distancën e lirë që e ka mjeti përpara, shpejtësinë e mjetit

dhe korsitë e lira që mund t’i ketë. Prej atyre disa trajektoreve të gjeneruara, zgjedhet ajo që

i përmbush rregullat e trafikut dhe është më e sigurtë. Ky planifikim i tërë bëhet në intervale

të caktuara kohore dhe kryesisht varet nga frekuenca e marrjes së të dhënave të reja nga

senzorët e automjetit.

Page 20: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

10

3 DEKLARIMI I PROBLEMIT

3.1 Hyrje

Gjatë viteve të fundit industria e automobilizmit dhe teknologjisë kanë bërë hapa të mëdhenjë

në zhvillimin e përgjithshëm të tyre. Këto dy industri kanë filluar të bëjnë të mundur

kompjuterizimin e funksionit, që për gati një dekadë, ka qenë njerëzorë, ngarjen e automjetit.

Sot modelet e reja të automjeteve përfshijnë sisteme që lehtësojnë punën e drejtuesit. Kjo ka

shtyrë që viteve të fundit të krijohet një sektorë i ri i zhvillimit për vetura të menqura.

Automjetet inteligjente autonome janë një pjesë e teknologjisë që shtojnë ngarjen e

automjeteve autonome për shkaqe të sigurisë. Në mënyrë që një automjet inteligjent autonom

të funksionoj në trafikun urban, ku mund të ndodhin situata të pa parashikueshme, poashtu

edhe në rrugët jashtë qytetit ku trafiku mund të parashikohet më shumë, një AIA duhet t’i

ketë disa teknologji të implementuara. Një AIA përbëhet prej katër teknologjive: perceptimi

i mjedisit dhe modelimi i saj, lokalizimi dhe ndërtimi i hartës, planifikimi i rrugës dhe marrja

e vendimeve, dhe kontrolli i lëvizjeve.

Një qështje madhore që lidhet me rritjen e prodhimit të autmjeteve janë rritja e numrit të

aksidenteve në trafik dhe bllokimit të trafikut. Për zgjidhjen e këtyre problemeve qeveritë e

shumë shteteve kanë financuar programe për zhvillimin e infrastrukturës së trafikut, ligjeve

dhe rregullave të trafikut dhe edukimit të shoferëve për rregullat e trafikut. Veç kësaj,

institute të hulumtimit kanë zhvilluar projekte për driver assistance dhe safety warning

systems. Si pasojë, të gjitha këto hulumtime në fushën e automjeteve inteligjente kanë bërë

që sistemet e transportit inteligjent të përmirësojnë sigurinë në rrugë dhe të redukojnë numrin

e aksidenteve në trafik. AIA aplikojnë sisteme siq janë Forward Collison Warning, Adaptive

Cruise Control dhe Lane Departure Warning.

Arsyeja kryesore për numrin e madh të aksidenteve në trafik janë ngarja pa vëmendjen e

plotë në trafik dhe ngarja për periudhë të gjatë ku pastaj ulen aftësitë për reagim në kohën e

duhur. Gjatë ngarjes në korsi me trafik të bllokuar shoferët duhet të kryejnë funksione siç

janë ndërrimi i marshit dhe analizimi i lëvizjes së veturave që i ka afër. Duhet të bëjnë

koordinimin hand-foot së paku dhjetë herë brenda një minuti, dhe ka gjasë që shoferi të bëj

gabime dhe të shkaktoj aksident. Me zhvillimin ekonomik, rritjen e veturave në trafik dhe

Page 21: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

11

rritjen e numrit të shoferëve të rinjë, është rritur edhe propabiliteti i ndodhjes së aksidenteve

dhe në përgjithsi numri i tyre. Aplikimi i gjerë i AIA do të tregonte përparim të sistemit të

transportit dhe do të tërhiqte institutet e hulumtimit dhe prodhuesit e automjeteve që të

investojnë në AIA.

3.2 Motivi prapa projektit

Automjetet inteligjente autonome dhe teknologjia të cilën e përdorin janë debati më i

shpeshtë në industrinë e automjeteve. Shumë kompani kanë filluar të zhvillojnë këtë

teknologji. Një nga arsyet e studimit dhe zhvillimit të AIA është përmirësimi i sigurisë në

rrugë.

Sipas Organizatës Botërore të Shëndetit, më shumë se 1.3 milion njerëz vdesin çdo vit si

pasojë e aksidenteve në trafik [1]. Në bazë të C2ES rreth 60% e energjisë totale konsumohet

nga transporti rrugor [2]. Këto statistika tregojnë se automjetet shkaktojnë një numër të lartë

të viktimave dhe janë një prej burimeve kryesore për emetimin e gazit që ndotë ambientin.

Ka patur përpjekje për zgjidhjen e këtyre problemeve por deri më tani nuk ka pasur ndonjë

efekt të madh. Zhvillimi i automjetet inteligjente autonome do të mund të kishte ndikim në

uljen e numrit të fatkeqësive në trafik dhe në mbrojtjen e ambientit.

3.3 Qëllimi dhe objektivat

3.3.1 Qëllimi i përgjithshëm

Zhvillimi i automjeteve inteligjente autonome do të jetë çështja kryesore në të ardhmen e

industrisë automobile. Nga katër teknologjitë që përbëjnë thelbin e AIA, ajo për planifikim

të rrugës dhe vendim marrje është më pak e njohur. Prandaj dhe qëllimi i këtij projekti është

hulumtimi dhe analizimi i algoritmeve që e bëjnë një veturë ‘të menqur’.

Page 22: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

12

3.3.2 Objektivat

Për të realizuar qëllimin e përgjithshëm, duhet të arrihen këto objektiva:

• Të analizohet struktura e përgjithshme e AIA.

• Analizimi dhe simulimi i algoritmit Rapidly-Exploring Random Trees.

• Analizimi dhe simulimi i algoritmit Hybrid A* (Star).

• Të simulohen algoritmet duke përdorur veglën specifike për procesim të imazheve

te Matlab.

• Të krahasohen ato algoritme dhe të nxirren përdundime për secilën.

3.4 Struktura e punimit të diplomës

Struktura e këtij punimi të diplomës është e përbërë nga tre pjesë, secila prej të cilave

përqendrohet në një çështje përkatëse dhe të bashkuara, formojnë një pamje të plotë të

projektit. Poashtu, secila pjesë përshkruhet detajisht duke përdorur një numër të kapitujve

përkatës.

• Hyrja dhe shqyrtimi i literaturës

• Hulumtimi dhe analiza

• Vlerësimet dhe përfundimet

Pjesa e parë e cila përfshin hyrjen dhe shqyrtimin e literaturës përqendrohet në konceptet

themelore të projektit. Kjo pjesë e deklaron problemin dhe motivin kryesor që qëndron prapa

tij. Në këtë mënyrë, kapitulli hyrës i ndihmon lexuesit të informohet për projektin dhe të

kuptojë se për çfarë bëhet fjalë në përgjithësi.

Pjesa e dytë vazhdon me analizë të projektit duke hulumtuar të gjitha faktet dhe informatat e

nevojshme, dhe duke studiuar algoritmet e aplikuara. Secili aspekt do të shpjegohet detajisht

nëpër kapituj përkatës. Pjesa e fundit merret me vlerësimin e projektit si dhe ndikimin e tij

në të tashmen dhe të ardhmen e industrisë së automjeteve dhe ngarjes së veturave. Së fundmi,

në këtë pjesë do të arrihet në një përfundim rreth projektit dhe poashtu të ofrohet një rishikim

i punës që do të duhet të kryhet në të ardhmen.

Page 23: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

13

4 METODOLOGJIA

4.1 Hyrje

Robotët mund t’i ndihmojnë njerëzimit në mënyra të ndryshme. Janë në gjendje të veprojnë

në hapësira helmuese ose të pa arritshme për një njeri. Aplikimet e robotikës mobile

përfshijnë një diapazon të gjerë, duke filluar nga robotët ndihmues në mjediset industriale e

deri tek robotët për eksplorimin e oqeaneve dhe hapësirës në gjithësi. Veturat inteligjente

autonome po shkaktojnë një evolucion në teknologjinë aktuale të makinave. Sistemet e

avancuara të asistencës për ngarësin po ndikojnë në rritjen e sigurisë rrugore, rrjedhjen

efikase të trafikut dhe uljen e konsumimit të karburantit. Shkaku i këtyre sistemeve, është

përmirësuar lëvizshmëria e mjeteve në trafik. Hulumtimet në fushën e AIA kanë pasur

ndikim edhe në sferën e robotikës, shkencave kompjuterike dhe inxhinierisë. Për më tepër,

duhet të theksojmë se zhvillimet shkencore të bëra nga kompanitë automobilistike nuk

publikohen në tërësi dhe mbrohen edhe me ligj në rast nevoje.

Vendim marrja është kritike dhe pika kyqe në arritjen e autonomisë së veturës [21].

Realizohet përmes algoritmeve të planifikimit, të ndërlidhura me aplikacionet e modulit për

navigim, perceptim të mjedisit dhe detektimit të shenjave rrugore. Pikësynimi kryesorë i

planifikimit është t’i ofroj makinës një rrugë të sigurtë deri në destinacion, duke marrë

parasysh dinamikën e makinës, aftësitë për manovrim në rast pengese dhe rregullat e trafikut.

Planifikimi i rrugës është proces që konsumon memorie dhe resurse procesuese të mëdha.

Kjo për shkak se të gjitha teknologjitë për drejtim të makinës veprojnë në mënyrë paralele

në të njejtën kohë. Inputet dhe outputet e planifikimit të rrugës varen nga modulet e tjera. Në

trafik urban duhet të bëhet planifikim me saktësi të lartë për shkak të distancave të vogla mes

makinave. Për këtë shkak është nevoja e zhvillimit të algoritmeve të avancuara.

Për ekzekutimin e detyrave komplekse të një automjeti autonom nevojiten katër aftësi.

Mapimi i mjedisit rrethues, lokalizimi i saktë, kontrolli i lëvizjeve dhe marrja e vendimeve.

Mapimi përfshinë krijimin e një harte të ambientit rrethues me informata të hapësirave nëse

mund ti arrij ose jo. Lokalizimi përfshinë llogaritjen e gjendjes së veturës në relacion me

hartën. Kontrolli ka për qëllim përkthimin e komandave të drejtimit dhe shpejtësisë në

përshpejtim, frenim dhe ndërrim të drejtimit të rrotave. Tjetër detyrë shumë e rëndësishme e

Page 24: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

14

një mjeti autonom, që është dhe fokusi i këtij hulumtimi, është planifikimi i rrugës dhe

lëvizjeve. Për arritjen e funksionimit të këtij moduli, një software merr si të hyra hartën e

mjedisit të makinës, pozitën e mjetit në hartë dhe pikën e destinacionit. Më pas gjenerohet

një trajektore duke filluar nga pika e mjetit deri te pika e fundit. Për një veturë, ajo trajektore

paraqitet si listë e komandave të shpejtësisë, këndit të kthimit të rrotave dhe kohës për sa

realizohet secila. Trajektorja më e mirë është ajo që nuk ka pengesa përgjat udhëtimit dhe

nuk shkakton parehati tek udhëtarët.

Varësisht nga platforma mobile që e përdorë këtë teknologji, planifikimi i rrugës duhet të

llogaris shumë kufizime dhe kjo bën që ky proces të jetë kompleks dhe shumë i kushtueshëm

në resurse kompjuterike. Ështe sfiduese veçanërisht në mjediset me rrugë të pastrukturuar që

nuk kanë hartë të saktë. Në këtë rast mjeti posedon informata të marra vetëm nga perceptimi

i mjedisit dhe kjo e limiton aftësinë ta gjej rrugën e duhur në mënyrë të saktë. Në sajë të këtij

observimi gjysmak, rruga e planifikuar do të ketë trajektore të gabuara. Veç kësaj, planikuesi

ka gjasë të bllokohet për shkak të informatave shumë të pakta.

Tjetër kufizim i rëndësishëm për një planifikim rruge të saktë shkaktohet nga kinetika e

veturës. Normalisht veturat sot e kanë të limituar këndin e kthimit të rrotave, si rrjedhim

ndërrimi i drejtimit në vend nuk është i mundur. Ky limitim duhet merret parasysh në mënyrë

të qartë gjatë planifikimit që të garantohet se rruga e planifikuar nuk përmban trajektore që

mund të jetë e pamundur të ndiqen. Që të aplikohet në trafikun e vërtetë, rruga duhet të

llogaritet disa herë për sekondë që të shfrytëzohen informatat e marra gjatë udhëtimit deri në

destinacion. Në këtë mënyrë, një planifikim rruge efikas dhe i besueshëm duhet të përmbush

kërkesat në kohë reale. Në rastin e veturës autonome planifikimi duhet të bëhet çdo 100

milisekonda [22].

Zgjidhja e problemit të planifikimit të rrugës ka filluar me operimin e mjeteve në mjedise

tërësisht të panjohura. Duke supozuar që makina ka lokalizim dhe perceptim adekuat të

mjedisit, e kanë vendosur në një lagje periferie pa trafik të navigoj. Këtë skenar e bëri Darpa

Urban Challenge (DUC), agjensioni për zhvillimin e hulumtimeve shkencore në SHBA, në

vitin 2007 [23]. Në këtë sfidë, makina me emrin Junior performoi me lehtësi nëpër rrugët e

lagjes, në detyrat e parkimit dhe kthimit gjysëmrrethor. Ky ishte hapi i parë në zhvillimin e

planifikimin e rrugës dhe marrjes së vendimeve.

Page 25: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

15

Në nëntor të vitit 2007, shumë vetura autonome inteligjente morrën pjesë në DUC. Ishte hera

e parë që makina të tilla lëviznin nëpër rrugë të strukturuara siç janë udhëkryqe, rreth

rrotullime, vende parkimi dhe autostrada [24]. Pjesa më e rëndësishe ishte kur në ato pjesë

të mbyllura u futën 70 vetura autonome dhe vetura të ngara nga njerëz së bashku. Të gjitha

veturave u kërkua që t’i ndiqnin rregullat e trafikut, të rrinin në korsinë e duhur dhe t’i

përcillnin shenjat e trafikut. Automjetet mund të bënin tejkalime, kthime gjysëmrrethore dhe

të parkoheshin sipas dëshirës në përputhje me rregullat e trafikut. Sfidat kryesore të

dizajnimit të sistemit për planifikim rruge ishin kinetika e veturave jo e njejtë për të gjitha

veturat, kufizime në kuptimin e mjedisit siç janë largësia e pengesave dhe llogaritja e gabuar

e reagimit të veturës.

Disa algoritme përdoren për gjetjen e rrugës më të realizueshme. Ato janë rrjetet neurale,

algoritmi Hybrid A* (A star), D* (D star), algoritmi rapidly exploring random tree (RRT),

algoritmet gjentike etj [25].

Metoda të ndryshme mund të gjenden në literatura për adresimin e këtij problemi. Vetura

është subjekt i kufizimeve kinodinamike dhe të mjedisit. Një trajtim i mundshëm i problemit

është përdorimi i algoritmit për kërkim në hapsirë A* ose D*. Algoritmi mundëson gjetjen e

trajektores deri në destinacion nëpër hapësirën me kufizime. Kjo zgjidhje përdoret sepse

është e shpejt dhe jep rezultat të kënaqshëm. Megjithatë trajektorja ka mundësi të mos ndiqet

në tërësi për shkak se algoritmi potencialisht mund të mos llogaris me saktësi kinodinamikën

e veturës. Një mundësi tjetër është të përdoret një model më i saktë i lëvizjes së veturës dhe

duke perdorur shembuj të bazuar në metodat e kërkimit që mund të përballojnë hapërsira tre

dimensionale për të gjetur një zgjidhje të realizueshme [26]. Shembull për këtë metodë është

algoritmi rapidly exploring trees (RRT), i zhvilluar nga LaValle. Ky algoritëm është

implementuar dhe përdorur në mënyrë të suksesshme në Darpa Urban Challenge në vitin

2007.

4.2 Algoritmi Rapidly-Exploring Random Trees

Planifikuesi i lëvizjeve të një mjeti autonom duhet të garantoj siguri dhe komoditet për

udhëtarët. Po ashtu duhet t’u përmbahet kufizimeve kinematike të lëvizjes që automjeti të

vazhdoj normalisht në rrugën e tij. Një model i lëvizjes për automjetet robotike mund të

Page 26: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

16

përshkruhet si në vazhdim [26]. Le të jetë x dhe y lokacioni i veturës, i llogaritur nga mesi i

rrotave të prapme. Orientimi i makinës le të jetë Θ. Le të jetë L distanca në mes aksit të

rrotave të prapme deri tek të përparmet. Shpejtësia le të jetë v, nxitimi i saj a dhe ϕ këndi i

rrotullimit të rrotave të përparme. Nga këto të dhëna mund të nxjerrim gjendjen e veturës dhe

komandën e kontrollit të saj. Gjendja e veturës në një pikë të caktuar kohore është kjo, Zt =

(x, y, Θ, v, ϕ). Ndërsa kontrolli i saj paraqitet me Ut = (v’, ϕ’, ∆t) në një kohë të caktuar. Pas

intervalit kohor ∆t, gjendja e veturës do të jetë në Zt+1 = (x’, y’, Θ’, v’, ϕ’).

Algoritmi RRT është i përbërë nga dy procedura, selektimi dhe zgjerimi. Përshkrimi i

algoritmit Rapidly-Exploring Random Trees (RRT) është si vijon. Selektimi kur gjendja

fillestare e makinës, Xinit, shtohet në pemën boshe T. Për çdo iterim që bëhet, një gjendje e

rastësishme, Xrand, merret nga hapësira e sigurtë prej përplasjeve Xfree. Më pas gjendja më e

afërt me Xrand që ekziston në pemën T, Xnear, identifikohet në pemë. Zgjerimi fillon kur Xnear

transformohet në Xnew. Transformimi bëhet duke zgjedhur një komandë të kontrollit për

makinën, në përputhje me kritere specifike të rregullave rrugore. Qëllimi i komandës është

që prej Xinit të arrihet Xgoal. Komanda aplikohet në Xnear për një periudhë të shkurtër derisa të

krijohet Xnew. Nëse Xnew shtrihet në Xfree, atëherë krijohet një segment me drejtim nga Xnear

tek Xnew. Trajektorja prej pikës fillestare deri tek destinacioni gjenerohet kur Xnew arrin tek

gjendja finale, Xgoal. Ky proces iterativ ekzekutohet derisa të arrihet kriteri që përmbush

kërkesën. Më poshtë është paraqitur pseudokodi për RRT.

Figura 1. Pseudokodi për Rapidly-Exploring Random Trees

Page 27: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

17

Algoritmi RRT përdorë kërkimin rritës (incremental) për ndërtimin e pemës T prej pikës

Xinit, duke gjeneruar gjendje në mënyrë të rastësishme. Kërkimi përqëndrohet brenda korsive

që i përdorë vetura dhe bën që ajo të mbaj distancë të sigurtë nga pengesat ose mjetet e tjera

në rrugë. Gjatë çdo cikli të planifikimit të rrugës, algoritmi pranon pesë të hyra (inputs):

1. Një hartë të përditësuar të mjedisit rreth makinës.

2. Gjendjen fillestare (Xinit) ndaj pozitës momentale në hartë.

3. Lokacionin e vijave kufizuese të korsisë në hartë.

4. Një listë të përditësuar të pikave që duhet t’i ndjek gjatë udhëtimit.

5. Trajektoren e ndërtuar në ciklin paraprak.

Më pas algoritmi krijon dhe jep si output një trajektore të re deri te Xgoal. Trajektorja

përshkruhet nga një kontroll i komandës U = (v, ϕ, ∆t).

4.2.1 Zgjedhja më e mirë e komandës së kontrollit

Algoritmi nuk e konsideron vetëm afërsinë e pikës më të afërt por edhe kritere të tjera.

Konsiderohen ambienti rrethues, kufizimet nga ligjet e trafikut, distanca nga pengesat dhe

distanca nga mesi i korsisë. Për çdo kalkulim të komandës së kontrollit, llogaritet edhe

kostoja e asaj komande me formulën më poshtë [24].

u.cost = Σi cost (u, ci) * weight (ci)

ci është kriteri i zgjedhjes së komandës, cost (u, ci) është kostoja që i caktohet komandës.

Ndërsa weight është rëndësia që i përcaktohet një komande për ekzekutim. Kur zgjedhet një

komandë kontrolli për lëvizjen e mjetit, vërtetohet nëse ajo komandë veç është ekzekutuar.

Nëse po, hiqet nga lista e komandës për ekzekutim, përndryshe aplikohet nëse pika Xnew

gjendet ne hapësirën Xfree. Ky planifikues i rrugës i ndjek pesë kushte të plotësimit për

zgjedhjen më efikase.

1. Distanca ndaj pikës Xrand. Komandat që e caktojnë pikën Xnew më larg Xrand kanë

kosto më të lartë se ato që e përcaktojnë Xnew më afër Xrand.

2. Distanca ndaj pengesave. Normalisht kosto më e lartë i shoqërohet komandës që

pikën Xnew e cakton më afër një pengese. Përderisa kosto më e ulët i caktohet

komandës që Xnew e cakton sa më larg prej pengesës.

Page 28: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

18

3. Afërsia ndaj qendrës së korsisë. Komanda që e cakton gjendjen e ardhshme të

makinës më larg qendrës së korisë ka kosto më të lartë. Ajo që e zgjeron pemën me

rrugë të reja sa më afër qendrës së korsisë ka kosto të ulët.

4. Kontrolli i limitit të shpejtësisë. Kosto minimale i atribuohet një komande që e mban

shpejtësinë në limit të saj. Kosto rritet me rritjen e diferencës mes shpejtësisë së

komanduar dhe shpejtësisë së dëshiruar.

Ekzekutimi i manovrave të drejtimit të caktuara nga ngasësi. Kosto më e vogël i caktohet

komandës që e bën makinën të lëviz me drejtim përpara. Komanda që e bën makinën të lëviz

me drejtim prapa, ka kosto më të lartë.

4.2.2 Kërkimi vizual i ngasësit

Për zhvillimin e një modeli që rrit edhe më shumë sigurinë dhe saktësinë e RRT mund të

përdoren sjelljet e shoferit të bazuara në pikat që ai i vrojton më shumë gjatë ngasjes.

Ekziston një lidhje mes fushës që shoferi e sheh dhe drejtimit të timonit gjatë ngasjes nëpër

rrugë me kthesa. Si rezultat i kësaj lidhjeje, shoferi përdorë një near point (pikë të afërt) dhe

far point (pikë të largët) që të ngas në mënyrë të sigurtë në rrugë me kthesa. RRT i bazuar në

këto dy pika (near dhe far) ka treguar një përmirësim në simulimet e bëra në rrugë të

mbyllura. Veç kësaj, në fazën e fundit përdoret një metodë e bazuar në B-spline për të

gjeneruar trajektore të lëmuara që të krijojnë një udhëtim më të këndshëm [27].

Pyetja se në cilën pikë të rrugës shikon një shofer gjatë ngasjes ka qenë pa përgjigje për një

kohë të gjatë. Janë zhvilluar studime në lidhje me këtë çështje, që ndihmojnë në kuptimin e

sjelljes së shoferit në rrugë [28]. Konkludimi i përgjithshëm i studimeve ishte se shoferi

përdor near point dhe far point në hapësirën e rrugës që e sheh, në të njejtën kohë. Kjo bën

që ai të manovroj me lehtësi nëpër rrugë me kthesa. Këto dy pika, near point dhe far point,

janë të ilustruara në figurën 2.

Page 29: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

19

Figura 2. Pikat e koncentrimit gjatë ngasjes së veturës

Near point është paraqitur me pikën e gjelbër, përfaqëson mesin e rrugës në një distancë

shumë të shkurtër para makinës. Far point e paraqitur me kryqin e kuq, është pika më e largët

e dukshme në horizontin e rrugës gjatë ngasjes. Në figurën 2a është far point në pikën e

zhdukjes, ku nuk mund të shihet dhe përcillet më ajo pikë. Figura 2b e ka pikën tangjente të

kthesës si far point, ndërsa në figurën 2c far point është makina përpara. Near point ndihmon

në mbajtjen e pozitës së veturës në rrugë dhe stabilitetin e saj. Far point ndihmon në

parashikimin e trajektores më të mirë për të ndjekur gjatë kthesës. Duke përdorur këto dy

pika të rëndësishme (near dhe far point), rritet efektiviteti gjatë ngasjes.

Bazuar në studimet për sjelljen vizuale të shoferit, near dhe far point ndihmojnë në zhvillimin

e algoritmit RRT. Ky studimi përdor këto pika për mbledhjen e informatave për RRT dhe

ekzekutim të saj. Kërkimi inkremental në hapësirë përpiqet të jetë sa më efektiv në mënyrë

që trajektorja e planifikuar të jetë sa më komfore për udhëtarët në makinë.

Page 30: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

20

4.2.3 Struktura e modulit për planifikim të rrugës

Struktura e përgjithshme e algoritmit RRT është e paraqitur në figurën 3. Ky algoritëm bën

pjesë në modulin për planifikimin e rrugës te automjetet inteligjente autonome.

Figura 3. Struktura e përgjithshme e modulit të planifikimit të rrugës

Moduli pranon informacionet nga mjedisi nga moduli i perceptimit të ambientit rrethues.

Pastaj krijohet një hartë në kohë reale për të ditur se cilat rrugë janë të përshkrueshme. Së

fundmi pranohen pikat e dukshme për ngasësin (near dhe far points). Informacionet e marra

nga moduli i perceptimit dhe lokalizimit pranohen nga algoritmi dhe gjenerohet një

trajektore. Trajektorja është në përputhje me rregullat kinetike të veturës dhe mund të ndiqet

nga ajo pa problem. Para se trajektorja të ekzekutohet nga moduli për kontrollin e lëvizjeve,

ajo përpunohet edhe një herë të fundit. Kjo bën që të gjenerohen lakesa në vendet e trajektores

Page 31: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

21

që janë me kthesa më të forta, dhe në përgjithsi të garantohet një rrugë që ofron rehati më të

mirë.

4.2.4 Ndërveprimi i RRT me near dhe far point

Rapidly-Exploring Random Trees e rrisin gjasën e gjetjes së rrugës sa më shumë që e

kërkojnë në hapsirë. Mirëpo nuk mund t’a përcaktojnë se kur nuk ka një shteg deri tek

destinacioni final [29]. RRT garantojnë realizueshmëri të ligjeve kinetike të makinës, mund

të implementohen lehtë në kohë reale dhe mund të përshtaten në mjedise dinamike.

Këto avantazhe të algoritmit RRT janë arsyeja se pse janë përdorur në automjetet inteligjente

autonome. Përparësitë kryesore të RRT janë kërkimi dhe eksplorimi i shpejt në një hapësirë

të lirë boshe. Megjithatë disfavori më i madh qëndron në shtigjet apo rrugët të cilat i gjeneron

pasi që janë me shumë kthesa dhe lakime. Tjetër pengesë e RRT është se secila pikë në tree

T, është e varur në pikën fqinjë më të afërt për tu zgjeruar. Tjetër limitim i RRT përfshinë

kontrollimin e detyruar për secilën pikë në hapësirën e sigurtë se ku mund të ngitet. Në rast

të një trafiku të rëndë ose një mjedisi me shumë pengesa në rrugë, rritet kompleksiteti i

llogaritjes së rrugës. Veç kësaj rrugët optimale komfore mund të hiqen nga lista e

ekzekutimit, në mënyrë që të favorizohet eksplorimi më i shpejt i hapësirës.

Në një ambient të stukturuar me rrugë të shtruara, mbledhja e informacioneve për secilën

gjendje në kohën t, rezulton në një numër të madh të informacionit të pa përdorur. Për ta

optimizuar këtë problem, përdoren near dhe far points të integruara në mënyrën e vrojtimit

të Gausit [30].

Për të qartësuar së çfarë janë near dhe far point, në vazhdim janë definimet. Near point është

një pikë në qendër të korsisë nëpër të cilën lëviz makina, e cila ka distancë 10 metra nga pika

qëndrore e makinës. Ndërsa far point mund të jetë një nga tri rastet:

1. Pika më e largët në një rrugë të drejtë që mund të merret si input nga algoritmi.

Largësia e kësaj pike varet nga shpejtësia e automjetit.

2. Pika tangjente në një kthesë në rrugë.

3. Makina e cila lëvizë para automjetit autonom.

Page 32: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

22

Në kushtet e kërkimit në hapësirë me near point, shpërndarja Gausiane është e gjerë dhe e

shkurtër. Kjo shpërndarje bën që të shfrytëzohet e gjith rruga dhe të ruhet hapësira e kërkuar

sepse near point është e shkurtër (10 metra). Në figurën 4a mund të shihet kërkimi në near

point. Ndërsa në kushtet e kërkimit në hapsirën e far point, struktura e shpërndarjes Gausiane

është më e ngushtë dhe e gjatë. Kjo për shkak të kufirit të limituar kërkues dhe rregullave të

ngasjes. Në figurën 4b është paraqitur kërkimi në far point.

Figura 4. (a) Shpërndarja Gausiane për near point dhe (b) far point

4.2.5 Funksioni metrik

Funksioni metrik është funksion i cili për çdo dy pika në hapësirë, vlera e tij është distanca

mes atyre dy pikave [31]. Algoritmi RRT i bashkon dy pika në hapësirë të cilat janë pranuar

të jenë pjesë e trajektores që të dërgon drejt destinacionit. Funksioni metrik ndihmon kur

algoritmi RRT aplikohet në mjetet me kënd të madh të lakores në kthesa ose kthimit

gjysëmrrethor. Distanca Euklidiane është funksioni metrik që aplikohet për krijimin e

trajektores më të butë [32]. Konsiderohet këndi i kthimit mes dy pikave fqinje për shkak të

uljes së nivelit të vështirësisë së manovrimit.

Page 33: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

23

4.2.6 Metoda B-Spline për optimizim të rrugës

Ka raste kur moduli për planifikimin e rrugës i bazuar në algoritmin RRT gjeneron rrugë

gjarpërore pa qenë nevoja. Këto rrugë përmbajnë rrezik potencial nëse ndodh ndonjë gabim

sado i vogël në ekzekutimin e tyre. Për zgjidhjen e këtij problemi përdoret metoda e bazuar

në B-Spline [27]. Kjo metodë aplikohet pasi të gjenerohet një trajektore që do të ndiqet. B-

Spline ndahet në dy pjesë. Pjesa e prerjes së degëzimeve të panevojshme në trungun me rrugë

të gjeneruara dhe pjesa e lëmimit ose zbutjes së kthesave që mbesin pasi të përfundoj pjesa

e parë. Më poshtë në figurën 5 është paraqitur se si duket rruga e gjeneruar prej pikës

fillestare deri tek destinacioni. Vija e kuqe prezenton kërkimin e algoritmit RRT, vija e zezë

paraqet pjesën e parë të metodës B-Spline ku shkurtohet rruga e përgjithshme. Ndërsa vija e

kaltër ilustron pjesën e lëmimit dhe zbutjes së kthesave në mënyrë të dukshme.

Figura 5. Dallimi mes rrugës pa aplikim të B-Spline (a) dhe asaj me aplikim (b) [1].

4.2.7 Verifikimi i plotsueshmërisë së rrugës dhe vlerësimi i rrezikut

Moduli i planifikimit të rrugës dhe perceptimit të mjedisit bashkëveprojnë ngushtë që një

automjet autonom të funksionoj normalisht. Të dhënat e modulit të perceptimit janë, zonat

që është e mundur të ngitet, ato që nuk është, pengesat statike dhe dinamike. Të gjitha këto

gjenerohen si imazhe në një hartë. Figura më poshtë e tregon këtë hartë. Pjesa e kuqe në hartë

tregon regjionet e pa arritshme për makinën dhe që nuk do të ketë ndonjë kontakt me to.

Pjesët e bardha tregojnë pengesat statike, kurse pjesa rozë do të thotë se ka një pengesë

Page 34: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

24

dinamike. Drejtkëndëshi i gjelbër është pozita momentale e mjetit. Drejtkëndëshi i kaltër

është gjeneruar nga kërkimi në far point dhe paraqet synimin aktual të mjetit inteligjent.

Figura 6. Harta me të dhëna që makina e merr si input

Page 35: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

25

Për t’i vërejtur avantazhet e këtij verzioni të algoritmit RRT për automjetet inteligjente në

ngasjen në rrugë, mund ta krahasojmë me disa algoritma të tjerë. Në shembullin më poshtë

RRT krahasohet me lattices dhe random sampling [30].

Figura 7. Rasti i gjenerimit të rrugës së drejt nga (b) lattices, (c) random sampling dhe (d)

RRT [2]

Ngasja në rrugë të drejtë është një nga skenaret trafikore më të shpeshta. Figura 7a paraqet

rezultatin e marrë nga near point (pika e gjelbër) dhe far point (kryqi i kaltër). Figura 7b

tregon performimin e lattices, që siç duket ka krijuar disa kthesa të panevojshme. Figura 7c

na jep rezultatet e random sampling. Edhe pse numri i lakesave të panevojshme është ulur,

prap se prap trajektorja i afrohet skajit të rrugës. Në fund në figurën 7d shihet RRT i cili në

një rrugë të drejtë, ka një trajektore gati perfekte. Kjo i mundëson udhëtim të sigurtë përgjatë

Page 36: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

26

gjith rrugës. Figura në vazhdim e ilustron sjelljen e makinës përgjatë një rruge me kthesë.

Figura 8a vizualizon rezultatin e marrë nga near point (pika e gjelbër) dhe far point (kryqi i

kaltër). Në figurën 8b shihet aplikimi i lattices. Trajektorja e planifikuar ka kthesa të tepërta

dhe të panevojshme. Random sampling ka përmirësim ndaj lattices, ku shihet një trajektore

më e mirë. Por prapë i afrohet skajit të rrugës. Në figurën e fundit 10d është rezultati i

algoritmit RRT të bazuar në near dhe far point. Duke u bazuar në këto dy pika, gjenerohet

një trajektore gati perfekte. Veç kësaj metoda B-Spline aplikohet në atë trajektore, e që e bën

trajektoren të mos dallohet nga ajo e ekzekutuar nga një ngasës real.

Figura 8. Rasti i gjetjes sw trajektores nw rrugw me kthesw. (b) Lattice, (c) random

sampling dhe (d) RRT [2]

4.2.8 Disavantazhi i planifikuesit të bazuar në algoritmin RRT

Vlera e informacioneve të disponueshme në lokacionin x, y në kohë t, së bashku me

informacionin mbi interpretimin e fundit të kontrollit të komandës H, përgjatë një periudhe

të caktuar paraqitet me funksionin f (x, y, t, H). Përderisa funksioni f ndryshon në mënyrë të

Page 37: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

27

ndjeshme prej një mjedisi në tjetrin, apo prej një rasti në tjetrin, disa atribute si drejtimi i

mjetit mund të mbes i njejtë.

Ndryshimi në mes [f (x, y, t, H) – f (x, y, t+1, H)] do të jetë i vogël [33]. Në shumicën e

kohës vlera e informacionit në një pikë të caktuar nuk do të ndryshoj në mënyrë dramaktike

në një kohë të shkurtër. Në rast të lëvizjes së mjetit në një rrugë urbane të qytetit, sensori do

të marr input në një lokacion në kohën t. Vlera e informacionit në pikën me kohë t+1 do të

pak apo nuk do të ketë asnjë vlerë. Kjo për shkak se nuk mund të ndodh ndonjë ndryshim

drastik në mjedisin rrethues në një kohë shumë të shkurtër. Kjo mënyrë e gjetjes së rrugës

është e sigurtë dhe garanton ekzekutim të trajektores. Në anën tjetër kostoja e planifikimit

dhe llogaritjes kompjuterike rritet drastikisht.

4.2.9 Simulimi e algoritmit RRT në Matlab

Me anë të software-it Matlab i cili ofron mjedis simulues, është simuluar algoritmi RRT në

një mjedis 3D. Pengesat janë programuar paraprakisht, ndërsa duhet të gjindet rruga më e

shkurtër nga pika startuese deri në destinacion.

Figura 9. Simulimi i gjendjes së parë të RRT në ambient 3D.

Page 38: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

28

Në këtë ambient tre dimensional pika startuese S është [5, 5, 5] ndërsa pika përfundimtare Z

është [95, 95, 95]. Numri i pengesave është 9. Segmentet e paraqitura me vijë të kuqe janë

trajektoret potenciale nëpër të cilat kalon makina. Pikat e gjelbra janë gjendjet (states) që

automjeti mund ta ketë pas gjetjes së rrugës dhe aplikimit të komandës së kontrollit. Në

figurën 9 është faza e parë e kërkimit të rrugës.

Figura 10. Simulimi i gjendjes së fundit të RRT në ambient 3D.

Figura 10 paraqet fazën e fundit të kërkimit dhe numrin total të segmenteve të kërkuara

përgjat gjetjes së të gjitha gjendjeve deri tek destinacioni. Më poshtë është paraqitur tabela

më të dhënat e simulimit.

Koha totale për gjetjen e rrugës 8.56 sekonda për x, y dhe z 100 metra

Numri i trajektoreve të eksploruara 4000

Numri i gjendjeve deri te destinacioni 21

Numri i kërkimeve për ndryshim të një gjendje 190

Numri i pengesave në rrugë 9

Tabela 1. Rezultatet e fundit të simulimit të algoritmit RRT

Page 39: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

29

Më poshtë është tabela me kondita të ndryshme për algoritmin dhe rezultatet e arritura nga

simulimi me veglën e Matlab për procesimit të imazheve.

Gjatësia e rrugës së kërkuar Koha e gjetjes së rrugës

500 metra 42.8 sekonda

1000 metra 85.6 sekonda

2000 metra 171.2 sekonda

3000 metra 256.8 sekonda

Tabela 2. Outputet e algoritmit RRT të testuar në Matlab

Funksioni kryesorë për gjetjen e rrugës më të shkurtër.

function path = findMinimumPath(tree,end_node,dim)

% find nodes that connect to end_node

connectingNodes = [];

for i=1:size(tree,1),

if tree(i,dim+1)==1,

connectingNodes = [connectingNodes ; tree(i,:)];

end

end

% find minimum cost last node

[tmp,idx] = min(connectingNodes(:,dim+2));

% construct lowest cost path

path = [connectingNodes(idx,:); end_node];

parent_node = connectingNodes(idx,dim+3);

while parent_node>1,

parent_node = tree(parent_node,dim+3);

Page 40: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

30

path = [tree(parent_node,:); path];

end

end

4.3 Algoritmi Hybrid A* (Star)

Përshkrimi i planifikimit të rrugës është si vijon. Makina pranon si input hartën që paraqet

pengesat potenciale në rrugë, gjendjen fillestare të makinës s0 = (x, y, θ)0 dhe pikën synuese

sg = (x, y, θ)g [34]. Parametrat e pranuar x dhe y janë pozita e makinës në fushën koordinative,

ndërsa θ është drejtimi i makinës. Output-i i dëshiruar është një trajektore e gjeneruar nga

një sekuencë e gjendjeve të makinës s0, s1, s2, s3, s4, … , sn = sg. Trajektorja duhet të

gjenerohet me numër sa më të vogël të gjendjeve që duhet kërkuar, e lëmuar dhe që përmbush

kriteret e kufizimeve kinematike të makinës.

Algoritmi nuk e vendos shpejtësinë e mjetit gjatë kërkimit për rrugën më të mirë [34]. Në një

shpejtësi konstante të makinës, e gjen trajektoren që është më e arritshmja për shpejtësinë

momentale. Pastaj ajo shpejtësi pranohet si parametër për llogaritjen e funksionit që krijon

lakoren e kthesës dhe llogaritjen e afërsisë ndaj pengesave.

Algoritmi aplikohet në hapësirën 3D të gjendjes kinematike të makinës. Pastaj ajo gjendje e

makinës përditësohet nga përpunimi i inputeve të vazhdueshme që i merr algoritmi gjatë

kërkimit. Hybrid A* përdorë funksionin e kërkimit në hapësirë f (x, y, θ, r). Parametri i fundit

r mund të ketë vlerat 0 ose 1 {0, 1} dhe tregon drejtimin aktual të makinës që mund të jetë

përpara ose prapa. Në funksionin e gjetjes së kostos së rrugës përdoret biti i drejtimit të

lëvizjes {0, 1}. Ky bit përdoret për të dhënë penalti kur makina lëviz me drejtim prapa ose

në momentin kur e ndërron drejtimin. Penaltia është rritja e kohës së kalkulimit të rrugës.

Ajo aplikohet në varësi të gjatësisë së segmentit prej një pike në tjetrën. Sa më i gjatë

segmenti aq më e madhe penaltia dhe anasjelltas. Dihet që ka raste kur makinës i duhet të

lëviz prapa, por rreziku për goditjen ndaj pengesave rritet në mënyrë të dukshe. Kjo është

arsyeja pse aplikohet ajo penalti.

Page 41: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

31

4.3.1 Analiza e funksionimit të Hybrid A* (Star)

Algoritmi punon si në vijim. Hapësira kërkuese ndahet në qeli të vogla të bashkuara, ku të

gjitha pikat në qendrat e qelive janë të lidhura mes vete. Në këtë mënyrë kërkimi bëhet më i

lehtë kërkimi [34]. Secilës qeli në hapësirë i asociohet një gjendje aktuale (real time) e

makinës. Më pas fillon kërkimi i rrugës. Gjendja e vazhdueshme momentale i shoqërohet një

pike të rëndomt. Algoritmi përmbanë një listë të pikave potenciale për ekzekutim. Gjendjes

momentale i aplikohet një komande kontrolli që të arrij në pikën që është e para në listë.

Nëse arritja tek ajo pikë i përmbahet kufizimeve kinematike të makinës dhe ka kosto të ulët,

atëherë makina kalon në atë gjendje. Ajo pikë futet e para në listë dhe vazhdon i njëjti aplikim

për pikën e dytë në listë.

Në rast se arritja te ajo pikë nuk i përmbush kriteret kinodinamike dhe ka kosto të lartë,

atëherë futet si e fundit në listë. Kështu bëhet sortimi i të gjitha pikave ose gjendjeve

potenciale të makinës. Në fund pikat janë të rradhitura në atë mënyrë që e dërgojnë makinën

nga fillimi deri në destinacion nëpër rrugën më të shkurtër.

Hybrit A* nuk garanton gjetjen e rrugës me koston më të vogël sepse komanda e kontrollit

nuk e ndjek gjithmonë rrugën që mund të jetë prerje e kthesës. Kjo do të thotë se ka raste kur

mund të shkurtohet rruga dhe të ulet kosto e saj. Megjithatë rezultati i gjetjes së rrugës është

gjithmonë i arritshëm brenda kufizimeve kinematike të makinës. Në praktikë gjithmonë ka

zgjidhje të problemit të gjetjes së rrugës. Kjo për shkak të qelive që garantojnë lidhjen e

çfarëdo dy pikave fqinje. Në figurën më poshtë është paraqitur krahasimi mes A*, D* dhe

Hybrid A*.

a) b) c)

Page 42: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

32

Figura 11. a) A* bashkon pikat në mes të qelive, b) D* bashkon skajet e qelive dhe lejon

shtigje lineare, c) Hybrid A* bashkon gjendjet me koston më të ulët dhe aplikon lëmimin

në kthesa apo ndryshe pruning.

4.3.2 Struktura e kërkimit të rrugës

Struktura e kërkimit të rrugës është e ndarë në dy mënyra [35]. Mënyra e parë është e

dizajnuar për kërkimin në hapësirë pa pengesa. Mënyra se si funksionon ky lloj kërkimi është

së pari llogaritet rruga më e shkurtër prej secilës pikë deri tek destinacioni. Në mjedisin pa

asnjë pengesë me funksionin f (x, y, θ) kontrollohen të gjitha pikat prej të cilave është e

mundur të krijohen trajektore. Kostoja e këtij kërkimi është e pranueshme, por kostot mund

të jenë të larta pasi që kërkimi mund të bëhet me makinën duke lëvizur prapa. Për shkak se

kjo mënyrë e kërkimit nuk varet nga sensorët për ta gjetur rrugën, mund ta gjej rrugën

paraprakisht (offline). Pastaj vetëm aplikohet komanda e kontrollit për secilën gjendje dhe

arrihet pika e destinacionit.

Mënyra e dytë e bën kërkimin në hapësirën me pengesa. Përdoret harta që i ka pengesat e

theksuara në mënyrë të veçantë. Pastaj llogaritet rruga që përdorë më së paku ndryshim të

gjendjeve për arritjen në destinacion. Duke patur parasysh ndonjë funksion që llogarit koston

e rrugës, si për shembull shmangja e përplasjeve, në një hapësirë f (x, y, θ). Atëherë krijojmë

një verzion 2D të asaj hapësire që paraqitet si në vijim, g (x, y) = minθ f (x, y, θ).

Një gjendje (state) 2D pretendohet të jetë e sigurtë (kostoja e përplasjes zero), nëse ekziston

të paktën një gjendje 3D e sigurtë, e projektuar nga po ajo gjendje 2D [36]. Me anë të

verzionit 2D mund të dihet gjeometria e pengesave. Zbulohen të gjitha pengesat në formë

gjysmërrethore dhe rrugët qorre. Më pas 2D e udhëzon mjetin në hapësirën 3D me katër

parametrat f (x, y, θ, r), t’iu shmanget sa më lart pengesave.

Përderisa të dy këto mënyra janë të pranueshme matematikisht, edhe mund të bashkohen që

ulin kohën e gjetjes së rrugës. Në figurën më poshtë është paraqitur shembulli i përdorimit

të tyre.

Page 43: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

33

Figura 12. a) Kërkimi në hapësirën 2D i shpalos 20.000 pika. b) Kërkimi në hapësirë pa

pengesa gjen destinacionin me 12.000 pika. c) Nëse e njejta mënyrë si nën b) përdoret në

raste më komplekse, numri total i pikave për të gjetur mbarimin është 37.000.

d) Kombinimi i dy mënyrave në raste kompleke jep rezultat shumë të kënaqshëm. Me vetëm

11.000 pika gjendet destinacioni. [4]

4.3.3 Përmirësimet për Hybrid A* (Star)

Në mënyrë që algoritmi Hybrid A* të aplikohet plotësisht në rrugët me trafik, janë disa sfida

që duhet të përmbushen. Në këtë pjesë do të përshkruhet limitimi që ky algoritëm e ka dhe

si të kalohet ai problem.

4.3.3.1 Planifikimi përgjatë disa pikave

Në një skenar kompleks nuk është praktike që të kërkohet vetëm pika e ardhshme gjatë

krijimit të rrugës. Operuesi i veturës ka si qëllim që makina të kaloj nëpër një seri pikash

(waypoints) njëra pas tjetrës deri në destinacion. Kjo mund të përbëj problem në raste të

Page 44: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

34

caktuara. Nuk mund të garantohet se nëse makina e kalon pikën e parë, do të ketë rrugë që

të arrihet edhe pika e dytë. Prandaj kur planifikohet përgjatë disa pikave nuk është praktikë

e mirë të llogariten vetëm dy pika dhe pastaj ato të bashkohen. Kjo mund të qoj në arritjen e

makinës në rrugë qorre. Në figurën më poshtë mund të shihet se si ndodh kjo. θ

Figura 13. Planifikimi i pikës së ardhshme

Planifikuesi e gjen rrugën më të shkurtër deri te G1, por pastaj ngec për shkak të radiusit të

limituar të kthimit. Ky limitim mund të tejkalohet duke llogaritur jo vetëm pikën e ardhshme,

por dy pikat e ardhshme [37]. Rruga që starton dhe vazhdon drejt G1 duhet të përmbush

kushte shtesë që arrij edhe tek G2. Figura tjetër tregon një rrugë që kalon nëpër të dyja pikat.

Figura 14. Planifikimi i dy pikave të ardhshme

Secilës pikë n i shoqërohet një e dhënë që tregon nëse kjo pikë është shtuar në në setin O të

pikave gjatë planifikimit të G1 ose G2. Procedura e planifikimit fillon me pikën që i asociohet

segmentit të parë s = 1. Kur kjo pikë e arrin destinacionin e parë G1, pasardhësi i tij

gjenerohet dhe shikon nëse mund të arrij tek G2. Vetëm nëse pikës arrihet t’i shoqërohet

Page 45: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

35

segmenti s = 2, atëherë konsiderohet se është gjetur rruga për G2. Pseudokodi për këtë

procedurë është i dhënë më poshtë.

Figura 15. Pseudokodi për Hybrid A* me planifikim të dy pikave të ardhshme.

Seti O i pikave përmbanë dy pika të reja sa herë që arrihet një destinacion i rradhës. Në këtë

mënyrë gjithmonë aplikohet kjo mënyrë e gjenerimit të trajektoreve. Për çdo pikë që do të

llogaritet, merret parasysh edhe kalkulimi i pikës së fundit f. Për tu garantuar rradhitja e saktë

e pikave që do të gjenerohen, pikës f i aplikohet distanca Euklidiane ndaj pikës së ardhshme.

Megjithatë ka raste kur distanca Euklidiane nuk është e mjaftueshme për shkak të

kompleksitetit të rrugës dhe pengesave. Atëherë duhet të merren parasysh dy raste dhe të

ndahen:

1. Rasti I – Rruga që të drejton tek gjendja e pikës x në hapësirë ende nuk e ka arritur

G1.

Page 46: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

36

2. Rasti II – Rruga që të drejton tek gjendja e pikës x në hapësirë e ka kaluar G2.

Megjithëse kjo mënyrë është e pranueshme, në përgjithsi nuk është plotësisht e besueshme

për shkak të rritjes së kostos kur kalohet prej segmentit të parë në të dytin. Kjo rezulton në

krijimin e më shumë pikave se sa është e nevojshme. Prap se prap mund të ketë implementim

praktik të tyre pasi që makina do të kalonte përmes G1 tek G2 nëpër pikat më të volitshme.

Procesimet kompjuterike do të ishin shumë të larta. Për më tepër, nuk do të merrej parasysh

drejtimi i lëvizjes së makinës, që do të rriste edhe më tepër koston e rrugës. Edhe pse

planifikuesi përgjatë dy pikave është efikas dhe funksionon, kompleksiteti i kalkulimeve

kompjuterike do të ishte shumë i madh për menaxhim efikas. Fakti së planifikimi ndodh në

cikle të shkurta dhe nevojitet kapacitet i lartë kompjuterik ka bërë që të përdoren më pak.

4.3.3.2 Zgjerimi i kërkimit në kohë konstante

Kërkimi i bazuar në qelitë (grid maps) zbërthehet në manovrim të timonit (steering) dhe

gazit. Kjo bën që gjendja përfundimtare e mjetit në lëvizje, nuk do të arrihet asnjëherë me

saktësi të madhe. Saktësia varet nga rezolucioni i grid map. Për t’iu qasur këtij problemi dhe

të përmirësojmë shpëjtësinë e kërkimit, shtohet zgjerim analitik i bazuar në modelin e Reed

– Shepp [38].

Për disa nga pikat në hartë, pika e ardhshme ku do të arrij automjeti llogaritet me modelin

Reed – Shepp. Ajo rrugë e kalkuluar me atë model kontrollohet nëse ka ndonjë pengesë duke

u bazuar në hartën e të gjitha pengesave që e pranon. Segmenti i ri rrugor shtohet në pemën

me rrugë që të qojnë në destinacion, vetëm nëse është collision-free. Kërkimi me modelin

Reed – Shepp kryhet në kohë konstante. Prandaj nuk është e përshtatshme që ky model të

aplikohet në të gjitha pikat gjatë kërkimit. Posaqërisht në pikat fillestare ku mundësia e

gjetjes së pengesave është më e madhe. Përdorimi i një funksioni përzgjedhës është i

domosdoshëm që Reed – Shepp të zbatohet çdo N pika, ku vlera e N zvogëlohet me rritjen e

numrit të pikave të gjetura. Sa më shumë që makina afrohet tek destinacioni, aq më shumë

zbatohet modeli.

Një shembull i Reed – Shepp shihet në figurën më poshtë. Hapësira kërkuese e gjeneruar nga

rritja inkrementale është shënuar me ngjyrë të verdhë dhe të gjelbër. Ndërsa kërkimi me Reed

– Shepp është paraqitur me vijën rozë.

Page 47: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

37

Figura 16. Kërkimi inkremental dhe me Reed – Shepp [5]

Dobitë e përdorimit të zgjerimit në kohë konstante me modelin Reed – Shepp janë së tepërmi

të varura në dendësinë e pengesave në mjedis. Në njërën anë, nëse spektri i kërkimit ka

hapësira të mëdha pa pengesa, Reed – Shepp do ta gjej shumë shpejt rrugën. Në anën tjetër,

nëse spektri i kërkimit është i mbushur me pengesa, rruga do të rezultoj në përplasje.

Megjithatë përdorimi i kësaj metode ka avantazhe të mëdha në shpejtësinë e planifikimit.

4.3.4 Aplikimi i Hybrid A* duke u bazuar në grafe

Navigimi nëpër zonat urbane kërkon strukturim më të mirë hartës. Ndihma e strukturës

topologjike është e nevojshe. Ajo është një bashkësi e madhe pikash, ku secila pikë ka si

fqinjë një bashkësi tjetër pikash. Struktura topologjike e ambientit paraqet parkingjet, korsitë

të shënuara me vija dhe lëvizjen e trafikut më detajisht. Që mjeti të lëvizë në ambient më të

komplikuar me shumë pengesa, përdoret një rrjet i detajuar i gjith ambientit i paraqitur në

një graf me segmente të drejtuara [39]. Grafi krijohet nga inputet e modulit të perceptimit të

mjedisit dhe lokalizimit. Në këtë mënyrë nuk është nëvoja e gjenerimit të rrugës dhe

planifikimit në të njejtën kohë. Roli i grafit me segmente të drejtuara është i dyfishtë. Së pari

e modifikon funksionin e kalkulimit të kostos. Rrugët që nuk e ndjekin grafin gjatë tërë kohës

Page 48: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

38

iu jepet një kosto më e lartë. Së dyti grafi i krijon hartën e mjedisit me saktësi shumë të

madhe.

Rrjeta e rrugëve paraqitet në një graf me segmente të drejtuara G = (V, E). Definohet distanca

e segmentit E që e dërgon makinën prej gjendjes (x, y) deri tek pika e rradhës me afërt me

anë të distancës Euklidiane. Në figurën më poshtë shihet dallimi në mes planifikuesit që e

përdorë grafin për kërkim dhe atij që nuk e përdorë.

Figura 17. a) Mjedisi 2D pa përdorimin e grafeve dhe b) mjedisi që përdorë rrjetën e grafeve.

Vendet e theksuara me ngjyrë të gjelbër janë më afër desinacionit, ndërsa vendet me ngjyrë

të kuqe janë ato shumë më larg pikës përfundimtare. [6]

Për gjetjen sa më të saktë të rrugës, në planifikuesin e bazuar në grafe aplikohet metoda e

kërkimit në kohë konstante Reed – Shepp. Zbatimi i tij mund të shihet në figurën poshtë ku

korsia e bllokuar kalohet lehtësisht me ndihmën e Reed – Shepp që e aplikon funksionin

përzgjedhës në pikën e bllokuar.

Page 49: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

39

Figura 18. Me vijën rozë është paraqitur aplikimi i Reed – Shepp në grafin me segmente. [7]

Simulimi i bërë në DARPA Urban Challenge tregon specifikisht numrin e pikave të

eksploruara përgjatë kërkimit. Shihet përmirësim i dukshëm kur përdoren grafet për kërkim

në hapësirë.

Page 50: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

40

Figura 19. Dy imazhe e para lartë nuk e aplikojnë kërkimin në graf. Dy imazhet e tjera poshtë

tregojnë se sa shumë është përmirësuar shpejtësia e kërkimit kur përdoren grafe. [8]

Më poshtë është tabela me kondita të ndryshme për algoritmin dhe rezultatet e arritura nga

simulimi që ka bërë një grup inxhinierësh [40].

Gjatësia e rrugës së kërkuar Koha e gjetjes së rrugës

500 metra 18.15 sekonda

1000 metra 36.3 sekonda

2000 metra 72.6 sekonda

3000 metra 109 sekonda

Tabela 3. Outputet e algoritmit Hybrid A* të bazuar në studimin e përmendur

Page 51: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

41

5 REZULTATE

5.1 Rezultati pas krahasimit dhe analizimit të RRT dhe Hybrid A* (Star)

Në strukturën e përgjithshme të automjeteve inteligjente, moduli i planifikimit të rrugës është

ai që e bën të veçantë ndaj mjeteve jo inteligjente. Është analizuar algoritmi Rapidly-

Exploring Random Trees dhe janë nxjerë konkludime mbi avantazhet dhe disavantazhet e

saj. Më pas e njëjta është bërë edhe për algoritmin Hybrid A* (Star). Duke parë të metat e

RRT, varianti tjetër Hybrid A* ofron zgjidhje. Por duke ditur që moduli për planifikimin e

rrugës është më pak i hulumtuar se modulet e tjera, deri tani rezultatet janë premtuese. Në

tabelën më poshtë janë avantazhet dhe të metat e secilit prej këtyre algoritmeve.

RRT Hybrid A*

Përparësitë Përparësitë

• Realizueshmëria në kohë reale • Fuqi e vogël llogaritëse për tu

procesuar

• Kërkim i shpejtë në hapësirë të lirë • Gjenerim i rrugës optimale dhe me

lakesa për zbutjen e kthesave të

forta

• Detektim i përplasjeve të

mundshme

• I përshtatshëm në mjedise

dinamike

Dobësitë Dobësitë

• Kthesa që i afrohen limitit të

kthimit

• Kohë e gjatë e kalkulimit për rrugë

me numër të madh të kthesave

• Varësi e madhe ndaj pikave fqinje

për kalkulim

• Tendencë e ndërrimit të drejtimit

pa ndonjë nevojë specifike

• Teknikat për mbrojtjen nga

përplasjet kërkojnë funksionim të

përsosur të moduleve tjera të AIA

• Ndërrimi i korsisë në mënyrë të

ashpër

Tabela 4. Krahasimi mes RRT dhe Hybrid A*

Page 52: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

42

5.2 Përmbushja e qëllimit kryesorë duke përmbushur objektivat

Qëllimi kryesorë ka qenë analizimi dhe krahasimi mes dy algoritmeve që e planifikojnë

rrugën në mënyrën më të mirë. Analizimi i hollësishëm i algoritmeve, mënyrës së

funksionimit, dobësive dhe të mirave të tyre, dërguan në përmbushjen e qëllimit.

Objektivat të cilët u realizan janë:

• Të analizohet struktura e përgjithshme e AIA.

Para se të analizohej struktura e AIA, është shqyrtuar zhvillimi i moduleve që e përbëjnë.

Duke parë që e ardhmja e automjete të menqura duket më premtuese, zhvillimi i AIA do të

ishte benefit i madh. Struktura e përgjithshme e AIA ndahet në modulin për:

1. Kontrollin e lëvizjeve

2. Perceptimin e mjedisit

3. Lokalizimin e mjetit në hartë

4. Planifikimi i rrugës

Moduli i kontrollit të lëvizjeve ka disa metoda që aplikon, për ta vënë në lëvizje makinën.

Ato janë metoda kinetike e kontrollit, sistemi linear i kontrollit dhe metoda parashikuese e

kontrollit. Perceptimi i mjedisit kupton strukturën e ambientit rrethues të makinës dhe krijon

një model të saj. Ndahet në dy pjesë, detektimi i rrugës dhe korsisë dhe detektimi dhe njohja

e shenjave të trafikut. Lokalizimi ndihmon AIA në respektimin e rregullave rrugore. Në

rastin më të mirë, përdorë metodën LIDAR të pozicionimit. Në fund bëhet gjetja e rrugës më

të mirë me ndihmën e RRT, A* etj.

• Analizimi dhe simulimi i algoritmit Rapidly-Exploring Random Trees.

Analizimi i algoritmit, mënyrës se si funksionon dhe të metodave dhe kalkulimeve që mund

t’i shtohet për ta rritur nivelin e saktësisë, e bëjnë të përdorshëm në raste të caktuara. Ofron

implentim të shpejtë me gjetje të garantuar të rrugës që është e arritshme. Por nuk mund të

përcaktoj se kur nuk zgjidhje për gjetjen e rrugës. Simulimi është bërë me softëare-in

MATLAB dhe me vizualizime të qarta është vërejtur cikli i zhvillimit të rrugës.

Page 53: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

43

• Analizimi dhe simulimi i algoritmit Hybrid A* (Star).

Pas përfundimeve të nxjerra nga analiza e RRT, studimi po ashtu në thellësi i Hybrid A*

tregoj përmirësim të reagimit në disa stuata në trafik për makinën. Shqyrtohen mundësitë dhe

metodat që e bëjnë edhe më të saktë, por me kosto të lartë të llogaritjes. Kërkimi në dy pikat

e ardhshme në hapësirë duke u bazuar në hartë, përmirëson lëvizjen e makinës. Ndërsa

kërkmi në kohë konstante i bazuar në modelin e Reed – Shepp e rrit performancën e makinës,

do të thotë ulet koha e gjetjes së pikës së ardhshme. Simulimi i këtij algoritmi nuk ka qenë i

mundur për shkak të shumë elementeve ndihmëse që e optimizojnë funksionimin e tij.

• Të krahasohen ato algoritme dhe të nxirren përdundime për secilën.

Simulimi i të dy algoritmeve është performuar me anë të softëare-it MATLAB, softëare

special për krijimin e ambienteve testuese. Pas simulimit janë nxjerrë pikat e forta dhe të

dobëta të secilit algoritëm. Është treguar se në cilat raste, cili algoritëm është më i favorshëm.

Page 54: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

44

6 PËRFUNDIME

6.1 Përfundimet e arritura për problemin e deklaruar

Në këtë studim janë paraqitur aplikimet e algoriteve për planifikim të rrugës dhe lëvizjes,

RRT dhe Hybrid A*.

RRT është vlerësuar në performancë duke përdorë simulatorë. Ky algoritëm është bazuar në

sjelljen e syrit gjatë shikimit në rrugë kur një njeri nget makinën. Planifikuesi pranon të dhëna

nga modulet e tjera dhe krijon një hartë gati të përsosur deri tek destinacioni. Karakteristikë

e RRT është bazimi në near dhe far points, që rrit performancën e algoritmit dhe rruga e

gjeneruar është më afër sjelljes reale se si një njeri do të ngiste. Për të garantuar edhe më

shumë trajektoren e përsosur aplikohen distanca Euklidiane dhe metoda B-Spline për

procesim të lakesave të forta. Janë zhvilluar një numër i testeve dhe analizave që e kanë

krahasuar me algoritme të tjera, dhe rezultatet kanë treguar se RRT mund të aplikohet.

Aplikimi mund të jetë në mjedise statike ose edhe dinamike. Megjithatë në rrugë të

strukturuara me shumë trafik, makina ka tendencë të dal nga kufinjtë e rrugës dhe

potencialisht të shkaktoj aksident.

Po ashtu u prezentua edhe aplikimi i algoritmit Hybrid A* për planifikimin e rrugës. Gjatë

kalkulimit të trajektoreve merr parasysh kufizimet kinematike të makinë dhe gjendjen

momentale të rrugës. Ka aftësinë të planifikoj nëpër dy pikat e ardhshme, dhe kështu duke

garantuar arritshmërinë në destinacion. Përdorimi i funksioneve që llogaritin koston e një

rruge lejon përfshirjen e kufizimeve si ndjekja e shiritit.

6.2 Puna e mëtutjeshme

Specifikisht për algoritmin Rapidly-Exploring Random Trees mund të përdoret një kamerë

si input eksta për detektimin e objekteve përpara. Kjo mund të bazohet në syrin e njeriut se

e percjell ai situatën në trafik. Problemi më i madhi është detektimi dhe shmagja e pengesave

dinamike për shkak të paparashikueshmërisë.

Page 55: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

45

Duke ditur që automjetet autonome inteligjente janë fushë e re e zhvillimit, ka probleme të

ndërlidhjes së të gjitha moduleve. Algoritmet që i ndërtojnë këto module kanë ekzistuar dhe

janë përdorur për qëllime të ndryshe. Sot ende ka vështirësi të mëdha në implementimin e

tërësishëm të sistemit dhe duhet punë e madhe. Industria e AIA është ende në hapat e parë,

dhe nëse këto makina fillojnë të përdoren më shumë, do ta ulnin numrin e aksidenteve. Duke

marrë parasysh këtë fakt, zhvillimet në përparimin e sistemeve automatizuese në AIA do ta

ndihmonin së tepërmi rritjen e përdoruesve të tyre.

Page 56: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

46

7 REFERENCA

7.1 Referencat në tekst

[1] http://apps.who.int/gho/data/node.main.A997 çasja e fundit: Tetor 2016

[2] http://www.c2es.org/technology/overview/buildings çasja e fundit: Tetor 2016

[3] J. Anderson, N. Kalra, K. Stanley, P. Sorensen, C. Samarus and O. Oluwatola,

“Autonomous Vehicle

Technology: A Guide for Policymakers”, Santa Monica: RAND Corporation, 2016

[4] Nils John Nilsson, Artificial Intelligence: A New Synthesis, China: Morgan Kaufmann

Publishers, 1998

[5] D.M. Stavens, “Learning to drive: Perception for autonomous cars”, Ph.D,

Dep.Shkenca Kompjuterike, Universiteti i Stanfordit, San Francisko, 2011

[6] T.C. Galluzzo, “Simultaneous Planning And Control For Autonomous Ground

Vehicles”, Ph.D, Dep. Shkenca Kompjuterike, Universiteti i Floridas, Gainesville, 2006

[7] C. Coulter, “Implementation of the Pure Pursuit Path tacking algorithm”, Ph.D, Dep.

Robotikës, Universiteti Carnegie Mellon, Pittsburgh, 1992

[8] S. Russell, P. Norving, “Artificial Intelligence: A Modern Approach”, USA, Prentice

Hall Publishing, 2009

[9] M. Lundgren, “Path Tracking for a Miniature Robot”, Masters, Dep. Shkenca

Kompjuterike, Universiteti Umea, Suedi, 2003

[10] H. Mortberg, “Artificial Intelligence: A Modern Approach”, Stockholm Suedi, 2006

Page 57: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

47

[11] J. S. Wit, “Vector Pursuit Path Tracking For Autonomous Ground Vehicles”, Ph.D,

Inxhinieri Mekanike, Universiteti i Floridas, Florida, 2000

[12] S.B. Choi, “The Design of a Control Coupled Obsever for the Longitudinal Control of

Autonomous Vehicle”, 2008

[13] M. Cannon, “C21 Model Predictive Control”, Dep. Inxhinierisë, Universiteti i

Oxfordit, Oxford, 2016

[14] L. Chen, Q. Li, M. Li, L. Zhang, Q. Mao, “Design of a Multi-Sensor Cooperation

Travel Environment Perception System for Autonomous Vehicle”, Dep. Elektronikës,

Universiteti Wuhan, Kinë, 2012

[15] N. Yung, A. Lai, “Effective Edge-Based Road Lane Detection”, Departamenti

Inxhinierisw Elektrike, Universiteti i Hong Kongut, Hong Kong, 2011

[16] A. Kumar, P. Simon, “Review of lane detection and tracking algorithms in advanced

driver assistance system”, Departamenti Shkencave Kompjuterike, Universiteti i Keralas,

Indi, 2015

[17] W. Zuo, T. Yao, “Road model prediction based unstructured road detection”, Dep.

Inxhinieri elektrike, Universiteti Zhejiang, Kinë, 2013

[18] S.Hossain, Z. Hyder, “Traffic Road Sign Detection and Recognition for Automotive

Vehicles”, Dep. Inxhinieri elektrike, Universiteti Veri Jug, Bangladesh, 2015

[19] J. Levinson, M. Montemerlo, S. Thrun, “Map-Based Precision Vehicle Localization in

Urban Environments”, Dep. Inteligjencës artificiale, Universiteti i Stanfordit, San

Francisko, 2015

Page 58: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

48

[20] N. Suganuma, D. Yamamoto, K. Yoneda, “Localization for Autonomous Vehicle on

Urban Roads”, Japoni, 2015

[21] C. Katrakazas, M. Quddus, W. Chen, L. Deka “Real-time motion planning methods for

autonomous on-road driving: State-of-the-art and future research directions”, Dep.

Inxhinierisë automobile, Universiteti Loughborough, Mbretëria e Bashkuar, 2015

[22] J. Petereit, T. Emter, C. Frey, “Application of Hybrid A* to an Autonomous Mobile

Robot for

Path Planning in Unstructured Outdoor Environments”, Karlsruhe, Gjermani, 2012

[23] D. Dolgov, S. Thrun, M. Montemerlo, J. Diebel, “Path Planning for Autonomous”,

Dep. Inteligjencë artificiale, Universiteti i Stanfordit, San Francisko, 2010

[24] Y. Kuwata, J. Teo, G. Fiore, S. Karaman, E. Frazzoli, J. How, “Real-time Motion

Planning with Applications to Autonomous Urban Driving”, IEEE Transaction on control

systems technology, 2009

[25] A. Abbadi, R. Matuosek, S. Jancik, J. Roupec, “Rapidly-Exploring Random Trees: 3D

Planning”, Instituti i Automatikës dhe Shkencave Kompjuterike, Universiteti Teknik i

Bërnos, Çeki, 2016

[26] R. Radaelli, C. Badue, M. Goncalves, T. Santos, A. Souza, “A Motion Planner for

Car-Like Robots Based on Rapidly-Exploring Random Trees”, Dep. Informatikës,

Universiteti Federal Espirito Santo, Brazil, 2011

[27] E. Shan, B. Dai, J. Song, Z. Sun “A Dynamic RRT Path Planning Algorithm Based on

B-Spline”, Dep. Inxhinierisë dhe automekanikës, Changsha, Kinë, 2009

[28] R. Mourant, T. Rockwell “Strategies of Visual Search by Novice and Experienced

Drivers”, Journal Citation Report, 2016

Page 59: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

49

[29] E. Frazzoli, “Robust Hybrid Control for Autonomous Vehicle Motion Planning”, Ph.D,

Dep. Aeronautikws, MIT, 2001

[30] M. Du, T. Mei, H. Liang, J. Chen, R. Huang, P. Zhao, “Drivers’ Visual Behavior-

Guided RRT Motion Planner for Autonomous On-Road Driving”, Dep. i Automatikës,

Universiteti i shkencave dhe tekonologjisë, Kinë, 2015

[31] https://en.wikipedia.org/wiki/Metric_(mathematics) çasja e fundit: Tetor 2016

[32] L. Palmieri, K. Arras, “Distance Metric Learning for RRT-Based Motion Planning for

Wheeled Mobile Robots”, Publikimet Spencer, 2014

[33] J. Kwak, P. Scierri, “Path Planning for Autonomous Information Collecting Vehicles”,

Dep. i robotikës, Universiteti Carnegie Mellon, Pittsburgh 2010

[34] M. Montemerlo, J. Diebel, “Path Planning for Autonomous Vehicles in Unknown

Semi-Structured Environments”, Instituti i kërkimit të Toyotas, 2010

[35] M. Montemerlo, J. Becker, S. Bhat, T. Hilden, G. Hoffman, “Junior: The Stanford

Entry in the Urban Challenge”, Laboratori i inteligjencës artificiale, Universiteti i

Stanfordit, San Francisco 2007

[36] G. Guerro-Filha, H. Samet, “A Hybrid Shortest Path Algorithm for Intra-Regional

Queries on Hierarchical Networks”, Dep. Shkencave kompjuterike dhe inxhinieriswë,

Universiteti i Texas, Arlington USA, 2009

[37] J. Petereit, T. Emer, C. Frey, “Application of Hybrid A* to an Autonomous Mobile

Robot for Path Planning in Unstructured Outdoor Environments”, Instituti Fraunhofer,

Karlsruhe, Gjermani, 2013

Page 60: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

50

[38] D. Dolgov, S. Thrun, M. Montemerlo, J. Diebel “Practical Search Techniques in Path

Planning for Autonomous Driving”, Instituti i robotikës, Universiteti i Stanford

[39] E. Chow, “A Graph Search Heuristic for Shortest Distance Paths”, Qendra për

aplikimin e shkencave kompjuterike, Livermore, California 2009

[40] L. Santoso, A. Setiawan, A. Prajogo, “Performance Analysis of Dijkstra, A* and Ant

Algorithm for Finding Optimal Path”, Dep. Informatikës, Fakulteti inxhinierisë industriale,

Universiteti Petra Christian, Indonezi, 2012

7.2 Referencat në figura

[1] D. Dolgov, S. Thrun, M. Montemerlo, J. Diebel “Practical Search Techniques in Path

Planning for Autonomous Driving”, Instituti i robotikws, Universiteti i Stanford

[2] L. Chen, Q. Li, M. Li, L. Zhang, Q. Mao, “Design of a Multi-Sensor Cooperation

Travel Environment Perception System for Autonomous Vehicle”, Dep. Elektronikës,

Universiteti Wuhan, Kinë, 2012

[3] L. Chen, Q. Li, M. Li, L. Zhang, Q. Mao, “Design of a Multi-Sensor Cooperation

Travel Environment Perception System for Autonomous Vehicle”, Dep. Elektronikës,

Universiteti Wuhan, Kinë, 2012

[4] D. Dolgov, S. Thrun, M. Montemerlo, J. Diebel “Practical Search Techniques in Path

Planning for Autonomous Driving”, Instituti i robotikës, Universiteti i Stanford

[5] M. Montemerlo, J. Diebel, “Path Planning for Autonomous Vehicles in Unknown Semi-

Structured Environments”, Instituti i kërkimit të Toyotas, 2010

Page 61: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

51

[6] J. Petereit, T. Emer, C. Frey, “Application of Hybrid A* to an Autonomous Mobile

Robot for Path Planning in Unstructured Outdoor Environments”, Instituti Fraunhofer,

Karlsruhe, Gjermani, 2013

[7] D. Dolgov, S. Thrun, M. Montemerlo, J. Diebel “Practical Search Techniques in Path

Planning for Autonomous Driving”, Instituti i robotikës, Universiteti i Stanford

[8] E. Chow, “A Graph Search Heuristic for Shortest Distance Paths”, Qendra për

aplikimin e shkencave kompjuterike, Livermore, California 2009

Page 62: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

52

8 APENDIKS

8.1 Kodi që simulon algoritmin RRT në MATLAB

8.1.1 Kodi për startimin e ekzekutimit të algoritmit

function startExecRRT

clc;

close all;

clear all;

num_of_runs =1;

run_RRTstar = 1;

dim = 3;

stepsize = [10];

random_world = 0;

radius = 10;

samples = 4000;

show_output = 1;

---------------------------------------------------------------------

if run_RRTstar == 1

time = 0;

avg_its = 0;

avg_path = 0;

for i = 1:num_of_runs

Page 63: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

53

[n_its path_n,run_time] =

RRTstar3D(dim,segmentLength,radius,random_world,show_output,samples);

time = time + run_time;

avg_its = avg_its + n_its;

avg_path = avg_path + path_n;

end

---------------------------------------------------------------------

8.1.2 Kodi që e krijon hapësirën 3D

function [its,sizePath,run_time] =

RRTstar3D(dim,segmentLength,radius,random_world,show_output,samples)

if dim == 3

start_cord = [5,5,5];

goal_cord = [95,95,95];

end

Size = 100;

NumObstacles = 100;

if random_world ==1

world = createWorld(NumObstacles,ones(1,dim)*Size,zeros(1,dim),dim);

end

path = findMinimumPath(tree,end_node,dim);

path_4000 = findMinimumPath(tree_4000,end_node,dim);

if show_output == 1

figure;

plotExpandedTree(world,tree_4000,dim);

plotWorld(world,path_4000,dim);

end

Page 64: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

54

-----------------------------------------------------------------------------

function world = createWorld(NumObstacles, endcorner, origincorner,dim)

if dim ==3;

% check to make sure that the region is nonempty

if (endcorner(1) <= origincorner(1)) || (endcorner(2) <= origincorner(2)) || (endcorner(3)

<= origincorner(3))

disp('Not valid corner specifications!')

world=[];

% create world data structure

else

world.NumObstacles = NumObstacles;

world.endcorner = endcorner;

world.origincorner = origincorner;

% create NumObstacles

bounds = [endcorner(1)- origincorner(1), endcorner(2)-origincorner(2), endcorner(3)-

origincorner(3)];

maxRadius = min(bounds);

maxRadius = 5*maxRadius/NumObstacles;

for i=1:NumObstacles,

% randomly pick radius

world.radius(i) = maxRadius*rand;

% randomly pick center of obstacles

cx = origincorner(1) + world.radius(i)...

+ (endcorner(1)-origincorner(1)-2*world.radius(i))*rand;

cy = origincorner(2) + world.radius(i)...

+ (endcorner(2)-origincorner(2)-2*world.radius(i))*rand;

cz = origincorner(2) + world.radius(i)...

+ (endcorner(2)-origincorner(2)-2*world.radius(i))*rand;

world.cx(i) = cx;

world.cy(i) = cy;

world.cz(i) = cz;

Page 65: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

55

end

end

end

-----------------------------------------------------------------------------

function [world NumObstacles] = createKnownWorld(endcorner, origincorner,dim)

if dim == 3

NumObstacles = 9;

% check to make sure that the region is nonempty

if (endcorner(1) <= origincorner(1)) | (endcorner(2) <= origincorner(2)) | (endcorner(3)

<= origincorner(3)),

disp('Not valid corner specifications!')

world=[];

% create world data structure

else

world.NumObstacles = NumObstacles;

world.endcorner = endcorner;

world.origincorner = origincorner;

% create NumObstacles

maxRadius = 10;

world.radius(1) = maxRadius;

cx = 50;

cy = 50;

cz = 50;

world.cx(1) = cx;

world.cy(1) = cy;

world.cz(1) = cz;

world.radius(2) = maxRadius;

cx = 25;

cy = 25;

cz = 25;

world.cx(2) = cx;

Page 66: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

56

world.cy(2) = cy;

world.cz(2) = cz;

world.radius(3) = maxRadius;

cx = 75;

cy = 75;

cz = 75;

world.cx(3) = cx;

world.cy(3) = cy;

world.cz(3) = cz;

world.radius(4) = maxRadius;

cx = 25;

cy = 25;

cz = 75;

world.cx(4) = cx;

world.cy(4) = cy;

world.cz(4) = cz;

world.radius(5) = maxRadius;

cx = 75;

cy = 75;

cz = 25;

world.cx(5) = cx;

world.cy(5) = cy;

world.cz(5) = cz;

world.radius(6) = maxRadius;

cx = 25;

cy = 75;

cz = 25;

world.cx(6) = cx;

world.cy(6) = cy;

world.cz(6) = cz;

Page 67: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

57

world.radius(7) = maxRadius;

cx = 75;

cy = 25;

cz = 25;

world.cx(7) = cx;

world.cy(7) = cy;

world.cz(7) = cz;

world.radius(8) = maxRadius;

cx = 75;

cy = 25;

cz = 75;

world.cx(8) = cx;

world.cy(8) = cy;

world.cz(8) = cz;

world.radius(9) = maxRadius;

cx = 25;

cy = 75;

cz = 75;

world.cx(9) = cx;

world.cy(9) = cy;

world.cz(9) = cz;

end

end

end

---------------------------------------------------------------------

function node=generateRandomNode(world,dim)

if dim ==3;

% randomly pick configuration

px = (world.endcorner(1)-world.origincorner(1))*rand;

py = (world.endcorner(2)-world.origincorner(2))*rand;

pz = (world.endcorner(3)-world.origincorner(3))*rand;

Page 68: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

58

chi = 0;

cost = 0;

node = [px, py, pz, chi, cost, 0];

% check collision with obstacle

while collision(node, node, world,dim),

px = (world.endcorner(1)-world.origincorner(1))*rand;

py = (world.endcorner(2)-world.origincorner(2))*rand;

pz = (world.endcorner(3)-world.origincorner(3))*rand;

chi = 0;

cost = 0;

node = [px, py, pz, chi, cost, 0];

end

end

end

--------------------------------------------------------------------

function collision_flag = collision(node, parent, world,dim)

collision_flag = 0;

if collision_flag == 0 && dim ==3

for sigma = 0:.2:1,

p = sigma*node(1:dim) + (1-sigma)*parent(1:dim);

% check each obstacle

for i=1:world.NumObstacles,

if (norm([p(1);p(2);p(3)]-[world.cx(i); world.cy(i); world.cz(i)])<=1*world.radius(i)),

collision_flag = 1;

break;

end

end

end

end

-------------------------------------------------------------------

function [new_tree,flag] = extendTree(tree,end_node,segmentLength,r,world,flag_chk,dim)

Page 69: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

59

if collision(new_node, tree(idx,:), world,dim)==0

tmp_dist = tree(:,1:dim)-(ones(size(tree,1),1)*new_point);

dist = sqr_eucl_dist(tmp_dist,dim);

near_idx = find(dist <= r^2);

if size(near_idx,1)>1

size_near = size(near_idx,1);

for i = 1:size_near

if collision(new_node, tree(near_idx(i),:), world,dim)==0

cost_near = tree(near_idx(i),dim+2)+line_cost(tree(near_idx(i),:),new_point,dim);

if cost_near < min_cost

min_cost = cost_near;

min_parent_idx = near_idx(i);

end

end

end

end

new_node = [new_point, 0 , min_cost, min_parent_idx];

new_tree = [tree; new_node];

new_node_idx = size(new_tree,1);

if size(near_idx,1)>1

reduced_idx = near_idx;

for j = 1:size(reduced_idx,1)

near_cost = new_tree(reduced_idx(j),dim+2);

lcost = line_cost(new_tree(reduced_idx(j),:),new_point,dim);

if near_cost > min_cost + lcost ...

&& collision(new_tree(reduced_idx(j),:),new_node,world,dim)

before = new_tree(reduced_idx(j),dim+3)

new_tree(reduced_idx(j),dim+3) = new_node_idx;

after = new_tree(reduced_idx(j),dim+3)

end

end

Page 70: ANALIZIMI DHE KRAHASIMI I ALGORITMIT RAPIDLY-EXPLORING

60

end

end

end

-----------------------------------------------------------------

function path = findMinimumPath(tree,end_node,dim)

% find nodes that connect to end_node

connectingNodes = [];

for i=1:size(tree,1),

if tree(i,dim+1)==1,

connectingNodes = [connectingNodes ; tree(i,:)];

end

end

% find minimum cost last node

[tmp,idx] = min(connectingNodes(:,dim+2));

% construct lowest cost path

path = [connectingNodes(idx,:); end_node];

parent_node = connectingNodes(idx,dim+3);

while parent_node>1,

parent_node = tree(parent_node,dim+3);

path = [tree(parent_node,:); path];

end

end