35
Teknisk dokumentation Racetrack 2015 Version 1.0 orfattare: Jonathan Stenstr¨ om Datum: November 2015 Status Granskad 2015-12-22 IK, PK, LK Godk¨ and Kurs: Reglerteknisk projektkurs E-mail: [email protected] Projektgrupp: OTC Dokumentansvarig: Jonathan Stenstr¨ om TSRT10: TSRT10 orfattarens e-mail: [email protected] Projekt: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Teknisk dokumentation Racetrack 2015 - isy.liu.se · Teknisk dokumentation Racetrack 2015 Version 1.0 F orfattare: Jonathan Stenstr om Datum: November 2015 Status Granskad 2015-12-22

Embed Size (px)

Citation preview

Teknisk dokumentationRacetrack 2015

Version 1.0

Forfattare: Jonathan StenstromDatum: November 2015

Status

Granskad 2015-12-22 IK, PK, LKGodkand

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Projektidentitet

Grupp E-mail: [email protected]: http://www.isy.liu.se/edu/projekt/tsrt10/2015/racetrack/Bestallare: Oskar Ljungqvist, Reglerteknik, Linkopings universitet

E-mail: [email protected]: Daniel Axehill, Reglerteknik, Linkopings universitet

Telefon: +46 13-28 40 42, E-mail: [email protected]: Daniel Axehill, Reglerteknik, Linkopings universitet

Telefon: +46 13-28 40 42, E-mail: [email protected]: Ingrid KugelbergHandledare: Kristoffer Lundahl, Fordonssystem, Linkopings universitet

Telefon: +46 13-28 66 23, E-mail: [email protected] Evestedt, Reglerteknik, Linkopings universitetE-mail: [email protected]

Projektmedlemmar

Ingrid Kugelberg Projektledare 072-2034579 [email protected] Stenstrom Dokumentansvarig 073-5022432 [email protected] Nordmark Mjukvaruansvarig 070-3747396 [email protected] Backman Testansvarig 073-0723032 [email protected] Karlsson Designansvarig 073-0395690 [email protected] Nyberg Komponentansvarig 073-0495990 [email protected]

- PlanerareOlle Holmer Komponentansvarig 073-8434542 [email protected]

- Regulatorsystem

Dokumenthistorik

Version Datum Gjorda andringar Signatur Granskare

0.1 2015-12-08 Forsta utkastet Projektgruppen LK0.2 2015-12-09 Andra utkastet Projektgruppen Projektgruppen0.3 2015-12-10 Tredje utkastet Projektgruppen Projektgruppen0.4 2015-12-15 Fjarde utkastet Projektgruppen IK, ON0.5 2015-12-18 Femte utkastet Projektgruppen IK, ON, LK0.6 2015-12-22 Forsta versionen Projektgruppen IK, PK, LK

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Innehall

1 Inledning 1

1.1 Definitioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Bakgrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Syfte och Mal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Systemoversikt 3

2.1 Hardvara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Mjukvara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Delsystem: Regulatorsystem for bil 6

3.1 Granssnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3 Parameterskattning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.4 Val av regulatorparametrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Delsystem: Regulatorsystem for lastbil 12

4.1 Generering av referens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2 Pure-pursuit regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Delsystem: Planerare 15

5.1 Granssnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.2 Terminal manifold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.3 Generering av trajektorier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.4 Undvika hinder och kollision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.4.1 Approximation med cirklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.4.2 Kollisionsdetektering med rutnat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.5 Optimeringsproblemet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.6 Transformation till globalt koordinatsystem . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6 Delsystem: Simuleringsmiljo 21

6.1 Miljon for bilen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.2 Simuleringsmotorn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.2.1 Kommunikation med V-REP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.3 Rorligt hinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7 Delsystem: Visualisering 23

8 Resultat 25

8.1 Regulatorsystem for bil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

8.2 Regulatorsystem for lastbil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.3 Planerare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.4 Simuleringsmiljo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

9 Vidareutveckling och framtida arbete 28

9.1 Regulator for bil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

9.2 Regulator for lastbil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

9.3 Planerare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

9.4 Simuleringsmiljo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Referenser 30

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 1

1 Inledning

Detta dokument beskriver det system som har implementerats pa det, under flera ar, ut-vecklade systemet LiU Racetrack. I stora drag ar LiU Racetrack ett system som autonomtkan kontrollera radiostydra bilar och lastbilar.

1.1 Definitioner

For att visualisera vissa delsystem kommer flodesscheman anvandas. I figur 1 forklarasvad de olika symbolerna som anvands i flodesscheman betyder.

Figur 1: Forklaring av symboler som anvands i dokumentet.

Har definierar vi begrepp och forkortningar som anvands i dokumentet.

• API: application programming interface.

• CDIO-projekt: Projektkurs omfattande 12 hogskolepoang som ges av ISY.

• GUI: graphical user interface.

• Hinder: Objekt i korbanan som markerar ej tillaten korvag for bilen. Hinder kanvara virtuella eller fysiska.

• IMM: Interacting Multiple Model.

• ISY: Institutionen for Systemteknik.

• LiU: Linkopings Universitet.

• Omkorning: En avvikelse fran forberaknad referesspar for att undvika kollision medhinder eller fordon.

• Planerare: Algoritm for att generera referensspar for bilen.

• Trajektoria: Beraknad korvag med tidsstamplar som genereras av planerare ellerreferensgenereringssystemet.

• V-REP: Virtual Robot Experimentation Platform

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 2

1.2 Bakgrund

Utveckling av algoritmer for styrning av autonoma fordon ar ett mycket aktuellt amneinom bade forskning och fordonsindustrin. For att kunna bedriva forskning inom dettaomrade byggde Avdelningen for Reglerteknik, ar 2011, upp en anlaggning bestaende aven bilbana med radiostyrda bilar, IR-kameror och malfoljningsalgoritmer sammankopp-lade via en dator. Anlaggningen har sedan utvecklats under fyra CDIO-projekt och tvasommarprojekt.

Vid starten av detta projekt fanns ett system som klarade av att kora de radiostyrdabilarna autonomt runt bilbanan. Styrningen av bilarna skottes av en banfoljande regu-lator som bestod av fem stycken PID-regulatorer med framkoppling. Denna banfoljanderegulator kravde information om bilarnas tillstand, sasom position och hastighet, vilketuppskattas av ett malfoljningssystem som anvander sig av tva IR-kameror monterade itaket ovanfor bilbanan.

Det fanns aven en radiostyrd lastbil som kunde manovreras runt banan via piltangenternapa datorn. Till systemet fanns ocksa en projektor kopplat till datorn som kunde visualiserainformation genom att projicera den direkt pa bilbanan. Bland annat kunde bilarnasonskade referensbana och varvtid visas upp via detta.

For att forenkla systemet sa behandlas de olika delarna som namnts ovan som delsystem.Datorn som kopplar ihop alla delsystem har aven ett grafiskt anvandargranssnitt, daranvandaren dels har mojlighet att gora vissa installningar och dels kan se information omtill exempel fordonens tillstand. Mer information om tidigare ars system finns att lasa iforegaende ars tekniska dokumentation [1].

1.3 Syfte och Mal

Syftet med arets projekt ar att vidareutveckla det befintliga systemet.

Malen med projektet kan delas upp dels i generella mal och dels i mal for varje delsystem.Malen for arets projekt beskrivs i listan nedan.

• Efter avslutat projekt ska systemet vara robust och stabilt.

• Vidareutveckla hard- och mjukvara for att kvalitetssakra det befintliga systemet.

• Utveckla och implementera en ny regulator for banfoljning av radiostyrda bilar.

• Utveckla och implementera algoritmer for omkorning av andra fordon och hinder.

• Utveckla och implementera regulator for banfoljning av lastbil med slapvagn.

• Utvekckla ett nytt simuleringssystem for testning av algoritmer och regulatorer.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 3

2 Systemoversikt

Har nedan foljer en oversiktlig beskrivning av systemet. Forst ar en overblick, darefterbeskrivs hard- och mjukvara.

Figur 2: Kommunikationsfloden for hardvaran

Bilen kor numera runt banan med en regulator baserad pa Lyapunov-teori och somanvands for att kunna folja en given trajektoria. Den trajektorian foljs sa lange sominget hinder ar detekterat, men om det hander ger planeraren ut en ny trajektoria som,med hjalp av en kollisionskontroll, undviker kollision. Den trajektoria som valjs ar densom beraknas vara minst ryckig, alltsa vara minimerad med avseende pa forandring i ac-celeration. Ett lampligt hinder for omkorning ar lastbilar, garna korandes. Darfor har enPure-pursuit regulator implementerats for att efterlikna ett verkligare och mer repetitivtscenario an med manuell styrning. For att underlatta utvecklingen har ett simulerings-system tagits fram, som i grunden ar byggt utifran programmet V-REP. Med hjalp utavsimuleringssystemet kan kod som ska anvandas pa hardvaran testas i en teoretisk miljoutan hardvarudefekter. I figur 2 kan man se banan tillsammans med bil och lastbil.

2.1 Hardvara

Vid projektets start fanns foljande hardvara:

• Bilbana

• Tre radiostyrda bilar av modell Kyosho dnano

• Radiostyrd lastbil, innefattande dragbil, dolly och slap

• Handkontroller till bilar och lastbil

• Tva IR-kameror

• Projektor

• PC: rt-pc-03

• Styrkort NI PCI-6024E

• Kopplingsplatta, BNC-2110, med tillhorande kablar

• Raspberry Pi B+ med tillbehoor

• SparkFun I2C D/A-omvandlare - MCP4725

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 4

• Microchip I2C D/A-omvandlare - TC1321EOA

• Extra natverkskort i rt-pc-03

• Natverksswitch med ett antal ethernetsladdar

Den hardvara som lagts till under projetet ar

• Radiostyrd bil av modell Kyosho Mini-Z

Beslut att kopa in en ny bil togs pa grund av att bilarna av modell Kyosho dnano enkeltslirar da hastigheten okar. Da det var av intresse att kora i en hogre hastighet an vaddnano-bilarna verkade klara av beslutades det att kopa in en ny bil av modell KyoshoMini-Z. Denna modell var storre och tyngre och bedomdes vara mindre benagen att slira.Efter tester visade det sig att den nya bilen hade problem att kora i laga hastigheter vilketgjorde att beslut togs att aterga till bilarna av modell Kyosho dnano.

I figur 3 finns en oversikt av kommunikationsfloden for hardvaran.

Figur 3: Kommunikationsfloden for hardvaran

2.2 Mjukvara

All mjukvara ar utvecklad i Visual Studio i en Windowsmiljo. Under 2015 har versionenav Visual Studio uppgraderats och projektet anvander nu 2015 ars version.

Programmet kors i flera parallella tradar, se foljande lista for en kort beskrivning avhierarkin och vad varje trad ansvarar for.

OSAARHuvudtraden for programmet. Skapar och skoter det grundlaggande fonster somdyker upp nar programmet startas.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 5

RacetrackBarn till OSAAR. Ansvarar for malfoljningssystem och kor IMM-filteret for attfolja bilar och lastbilar. Traden kors i 100Hz vilket ar uppdateringfrekvensen forkamerorna.

RegulatorBarn till Racetrack. Kor regulator for bil och lastbil varje gang ny data finnstillgangligt i Racetrack-traden.

DrawThreadBarn till Racetrack, trad som hanterar utritning pa skarm och via projektor.

PlannerThreadBarn till Racetrack, trad for planering. Kor planeringaren med 5 Hz och skickarsedan ny trajektoria till regulatorn.

ColissionThreadBarn till PlannerThread, trad for kollisionskontroll. Hjalper planeraren for att goraden mer effektiv.

Observera att varje gang programmet startas gors en kalibrering av rotation och skalningfor att fa skarven mellan kamerorna att stamma overens. Detta gors med tva punkter paramen till banan. Det ar viktigt att bada syns och att inga andra bitar av reflextejp finnsnara dessa punkter. Om nagot av detta sker kommer programmet inte veta vilka punkterdet ska valja och kalibreringen misslyckas, varpa programmet inte kommer ga att kora.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 6

3 Delsystem: Regulatorsystem for bil

Delsystemet Regulator for bil syftar till det system som gor att bilen foljer den trajek-toria som planeringsystemet genererat. Regulatorn som ar implementerad till bilen finnsbeskriven i [2] och bygger pa en kinematisk cykelmodell av en bil.

3.1 Granssnitt

Fran planeraren kommer bilens regulator att fa framraknade trajektorier att folja ochfran malfoljningssystemet kommer regulatorn fa bilens nuvarande position. Dessa signaleranvands sedan for att berakna styrsignaler for fordonet. Signalerna till och fran regulatornfinns beskrivna i tabell 1.

Tabell 1: Tabell over de signaler som ror bilens regulator

Signaler fran planerare Beskrivningyd1, yd2 Den onskade positionen for bilen.vd Bilens onskade hastighet.ψd Bilens onskade girvinkel.κd Den onskade kurvaturen for bilen.

Signal fran malfoljningssystemet Beskrivningx1, x2 Bilens faktiska position.

Signaler for reglering av bil Beskrivning.δ Styrsignal for bilens styrvinkel.F Styrsignal for kraften som laggs pa bakaxeln.

3.2 Modell

Tillstanden for bilen finns presenterade i figur 4. Styrsignalerna ar styrvinkeln, δ, och kraf-ten pa de bakre hjulen, F . Styrsignalerna har begransningarna |δ| ≤ δmax ≈ π

6 rad samt|F | ≤ 1. Med dessa tillstand och under forutsattningarna att beskrivna begransningar aruppfyllda kan en kinematisk modell, dar inget slip antas, beskrivas enligt

x1x2ψv

=

v cos(ψ)v sin(ψ)

v tan(δ)l

−Av +BF

(1)

Jamfort med modellen i [2] ar modellen har modifierad for att passa det aktuella systemet.De tre forsta ekvationerna ar identiska med modellen i [2] och finns aven harledda i [3]. Densista ekvationen ar ny och harstammar fran Newtons andra lag. A och B ar parametrarspecifika for det aktuella systemet och hur dessa har bestamts beskrivs senare i kapitlet.

For att mojliggora reglering av bilen maste styrlagar tas fram. Modell (1) forenklas genomatt infora de virtuella insignalerna w1 och w2.

w1 := κδ (2)

w2 := v = −Av +BF =⇒ F =1

B(w2 +Av) (3)

Da den onskade positionen och bilens position inte alltid kommer att sammanfalla kommerdet alltid finnas vissa reglerfel. Dessa ar et, som beskriver felet i longitudinellt led, en,

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 7

Figur 4: Cykelmodell av en bil. De olika parametrarna i figuren ar: [x1, x2], som avserpositionen for bilen i globala koordinater, v avser bilens hastighet, F avser kraften pade bakre hjulen, ψ ar bilens girvinkel och δ ar bilens styrvinkel. Forutom dessa finnsavstanden l som ar axelavstandet samt λ som ar avstandet fran bilens centrum till bakreaxeln. Figuren ar hamtad fran [2]

som beskriver felet i lateralt led samt eψ, som beskriver skillnaden mellan den onskadegirvinkeln och den girvinkel bilen star i. Den diffeomorphiska transformationen:

eteneψvκδ

=

[

cos(ψd) sin(ψd)− sin(ψd) cos(ψd)

] [y1 − y1dy2 − y2d

]ψ − ψdv

tan(δ)l

(4)

transformerar dessa reglerfel till en sa kallad Frenet frame, se figur 5. Transformationenger, enligt [2], det slutna systemet invarianta egenskaper.

Om de fyra forsta sambanden i transformationen deriveras erhalls systemet

et = v cos(eψ)− vd[1− κden] (5a)

en = v sin(eψ)− vdκden (5b)

eψ = vκδ − vdκd (5c)

v = w2 (5d)

Med hjalp av Lyapunovteori, se [2], tas sedan tva styrlagar fram

w1 = κd − k1[et

cos(eψ − 1)

eψ+ en

sin(eψ)

]− ζk2eψ (6)

w2 = vd − k1et − k3ev + ζk2e2ψ − eψκd (7)

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 8

Figur 5: En illustration av en Frenet frame. Figuren ar hamtad fran [2].

dar ζ ar 1 om bilen ska kora framat och −1 om bilen ska kora bakat och ev := v− vd ochdesignparametrarna k1, k2, k3 > 0. Med styrlagarna (6) och (7) har [2] visat att det slutnasystemet ar asymptotiskt stabilt om trajektorian ar tillrackligt jamn och tar hansyn tillbegransningen av styrsignalen.

Slutligen maste de virtuella signalerna w1 och w2 transformeras tillbaka till styrsignalernaδ och F . Med κδ = w1 och sista sambandet i (4) erhalls styrsignalen δ. Styrsignalen F fasenligt (3) dar w2 ges av (7).

δ = arctan(w1l) (8)

F =1

B(w2 +Av) (9)

De tva styrsignalerna δ och F maste anpassas till det verkliga systemet innan de kananvandas. For det verkliga systemet kommer darfor styrsignalerna och us, for bilens styr-vinkel, och ug, for bilens gaspadrag, att anvandas. Forhallandena mellan δ och us samtmellan F och ug var okant men har bestams genom experiment som beskrivs i avsnitt 3.3.

3.3 Parameterskattning

Tester har visat att us ar proportionell mot δ men med olika koefficienter beroende patecknet pa δ. Genom att lata bilen kora med konstant us och notera radien r pa den cirkelsom bilen kor i, samt anvanda att

κ =1

r=

tan δ

l=⇒ δ = arctan

l

r(10)

kan foljande samband erhallas

us =

{−2.2241 δ, δ ≤ 0

−2.5239 δ, δ > 0(11)

Laplacetransformering av (1) ger

v =B

s+AF (12)

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 9

10 20 30 40 50 60

Tid [s]

-1

-0.5

0

0.5

1

1.5

2Hastighet

10 20 30 40 50 60

Tid [s]

0

0.143

0.3

Gaspådrag, ug

Figur 6: Hastighet da ug okas langsamt.

vilket ar ett forsta ordningens system med tidskonstant 1A samt forstarkning B

A . A och Bkan alltsa bestammas utifran tidskonstanten och forstarkningen hos systemet.

I figur 6 visas hastigheten da ug okats langsamt. For ug < 1.143 ar v = 0 och efter detokar hastigheten linjart, detta ger

F =

{0 ug < α

ug − α ug ≥ α(13)

dar α = 0.143 i det har fallet. Eftersom ug okas langsamt befinner sig systemet approxi-mativt i stationart tillstand och v = 4F verkar galla. Detta ger att B

A = 4. I figur 7 visashastigheten da ug var ett steg. Som man kan se ser forhallandet mellan ug och hastighetut som ett forsta ordningens system med tidskonstant 0.375 s vilket ger A = 2.667. Vihar alltsa

A = 2.667

B

A= 4

=⇒

{A = 2.667

B = 10.668(14)

3.4 Val av regulatorparametrar

For att gora lateralt samt longitudinellt fel sa litet som mojlig har k1 gjorts sa stor sommojligt och k2 och k3 har valts for att tillata detta. I figur 8 visas fel fran korningar medolika varden pa k2, som man kan se ger bade sma och stora varden ett oscillativt beteende.I figur 9 visas fel fran korningar med olika varden pa k3. Som man kan se ger bade sma ochstora varden ett oscillativt beteende samt stora varden gor att felen konvergerar langsamteftersom hastigheten tvingas folja sin referens hardare. I figur 10 visas fel fran korningarmed olika varden pa alla parametrar, som man kan se ger sma varden ett oscillativtbeteende och stora varden ett mer nervost och brusliknande beteende.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 10

-1 0 0.375 2

Tid [s]

0

0.44

0.7

v [m

/s2]

Figur 7: Hastighet da ug var ett steg vid tiden 0 s. Stationara nivaer fore och efter steget,nivan da 63% av slutvardet uppnatts samt tiden nar detta intraffar ar markerade medstreckade linjer.

Aven de skattade parametrarna har justerats lite for att ge battre prestanda, de skattadevardena pa A och B gav ett ryckigt betende, genom att minska A och oka B blev pre-standan battre. Aven koefficienterna i (11) okades lite da bilen svangde for lite med deursprungliga i hogre hastigheter.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 11

Tid [s]

0 5 10-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

k2 = 1

Longitudinellt fel

Lateralt fel

Tid [s]

0 5 10 15 20-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

k2 = 8

Longitudinellt fel

Lateralt fel

Tid [s]

0 5 10-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

k2 = 30

Longitudinellt fel

Lateralt fel

Figur 8: Fel vid korning runt banan for nagra olika varden pa k2 med k1 = 35 ochk3 = 13. Bilen startar alltid i ungefar samma position. For k3 = 1 och 30 kolliderar bilenefter ungefar 10 s.

Tid [s]

0 5 10 15 20-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

k3 = 1

Longitudinellt fel

Lateralt fel

Tid [s]

0 5 10 15 20-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

k3 = 13

Longitudinellt fel

Lateralt fel

Tid [s]

0 5 10 15 20-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

k3 = 40

Longitudinellt fel

Lateralt fel

Figur 9: Fel vid korning runt banan for nagra olika varden pa k3 med k1 = 35 och k2 = 8.Bilen startar alltid i ungefar samma position.

Tid [s]

0 5 10 15-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2a = 0.3

Longitudinellt fel

Lateralt fel

Tid [s]

0 5 10 15-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2a = 1

Longitudinellt fel

Lateralt fel

Tid [s]

0 10 20-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2a = 2

Longitudinellt fel

Lateralt fel

Tid [s]

0 10 20-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2a = 3

Longitudinellt fel

Lateralt fel

Figur 10: Fel vid korning runt banan nar k1 = 35a, k2 = 8a samt k3 = 13a for nagra olikavarden pa a. Bilen startar alltid i ungefar samma position.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 12

4 Delsystem: Regulatorsystem for lastbil

Lastbilens regulatorsystem har som uppgift att autonomt kora lastbilen runt banan efteren given referens. Regulatorsystemet bestar av en Pure-pursuit regulator som beraknarut vilken styrvinkel lastbilen bor halla for att komma till en onskad punkt, sa kalladwaypoint. I systemet som helhet ar lastbilens framsta uppgift att agera som statiskt ochrorligt hinder hinder for bilarna.

4.1 Generering av referens

Generering av referens gors via en simulering i Simulink och Matlab. Forst ritas en ortogo-nal referens gjord pa endast punkter i samband med varje svang. Detta gor att referensenenbart bestar av 90- och 180-gradiga svangar, se figur 11. Darefter kors en simuleringmed den referensen, och punkterna for den simulerade korda strackan sparas undan ochanvands som den slutgiltiga referensen, se figur 11.

Figur 11: Figuren till hoger visar lastbilens ortogonala referens och till vanster visas last-bilens simulerade, slutgiltiga, referens. De bla linjerna illustrerar referensen och de gronalinjerna illustrerar banan.

Nar referensen sedan testas kan det visa sig att den genererade referensen inte klarar avatt anvandas for att kora igenom banan utan att lastbilen slar i vaggar. Detta innebaratt referensen maste justeras, och detta gors lampligen genom att korrigera den ortogo-nala referensen. Referensen far sedan testas tills den anses bra nog av anvandaren. Forytterligare information, se [4].

4.2 Pure-pursuit regulator

Lastbilen regleras genom banan med hjalp av en Pure-pursuit regulator. Denna regulatorbygger pa att regulatorn plockar ut den punkten ur en given referensbana som ligger pa ettbestamt avstand R, sa kallad look-ahead-radie, fran fordonet som ska regleras. Regulatornkommer sedan att berakna vilken styrvinkel som ska stallas ut for att fordonet ska nadenna punkt. Se geometrin som anvands i figur 12. I listan nedan beskrivs algoritmen merutforligt.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 13

1. Bestam fordonets position.

2. Hitta den punkt, way-point, i referensen som ligger narmast utanfor fordonets look-ahead-radie och satt den punkten till nuvarande way-point.

3. Hitta skarningen mellan den tankta linjen mellan den nuvarande way-point:en ochden foregaende way-point:en och fordonets look-ahead-radie. Detta blir den punktsom lastbilen ska reglera till.

4. Berakna styrvinkeln.

5. Uppdatera fordonets position och ga tillbaka till 1.

Figur 12: Geometrin som anvands for att ta fram styrlagen till Pure-pursuit regulatorn.Figuren ar hamtad fran [3].

I [3] finns en utforlig beskrivning av hur styrlagen for Pure-pursuit regulatorn tas fram.Resultatet ar att styrvinkeln α beraknas enligt

α = −arctan(L

R

)dar L ar fordonets langd och r radien pa den cirkelbage som fordonet kommer folja tillpunkten. Radien r beraknas enligt

r =R

2 sin (θe)

dar θe ar skillnaden mellan fordonets girvinkel och den girvinkel fordonet bor ha for attna punkten som ska regleras till. Sammantaget leder detta alltsa till styrlagen:

α = − arctan

(2L sin (θe)

R

)Look-ahead-radien R, ar Pure-pursuit regulatorns enda justerbara parameter. Ett hogtvarde pa denna parameter ger ett mjukt korsatt, men en stor avvikelse fran referensbanan.Ett lagre varde foljer battre, men kan ge ett oscillativt beteende, eller till och med leda tillinstabilitet. Vilken look-ahead-radie som ar mest lamplig beror ocksa pa vilken hastighetfordonet har. Generellt kraver en hogre hastighet en langre look-ahead-radie.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 14

Look-ahead-radien bestamdes i praktiken genom att testa olika radier pa det fysiska sy-stemet, med stycket ovan i atanke. Resultatet av detta var att en look-ahead-radie pa0.2 meter var rimligt for den valda hastigheten 0.4 (En hastighet pa -1 representerarmaxhastighet bakat och en hastighet pa 1 representerar maxhastighet framat).

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 15

5 Delsystem: Planerare

Planerarens uppgift ar att berakna en trajektoria for bilen att folja. Detta ska goraskontinuerligt och ska mojliggora for att olika hinder, som kan finnas pa bilens referenstra-jektoria, ska kunna undvikas. Hindren undviks antingen genom att bilen gor en omkorningeller att den stannar.

For att kunna gora detta kommer en algoritm enligt [5] att implementeras. Denna byggerpa att imitera en manniskas korsatt sa likt som mojligt. Detta gors genom att minimeraforandring i acceleration, sa kallad jerk. Minimeringen sker i bade lateral och longitudinellled.

Algoritmen kommer att arbeta enligt foljande steg. Trajektorier kommer att genererasi enighet med bilens momentana position, hastighet och acceleration och de onskadeslutvarden for dessa, kallat terminal manifold, se avsnitt 5.2. Darefter kommer samtli-ga trajektorier att kontrolleras for att se om de ar korbara och inte ligger i kollision medbilbanans vaggar eller andra fordon. Slutligen valjs den optimala trajektorian ut enligten malfunktion och stalls ut till regulatorn for bilen. Ett flodesschema for hur algoritmenarbetar finns specificerat i figur 13.

5.1 Granssnitt

Planeraren kommer som referens behova punkter i det globala koordinatsystemet enligt[x1, x2, ψ, v] pa punkter som den vill att bilen ska folja. Efter att planeraren nu bestamten vag bilen ska folja kommer den att skicka vagen som referens till regulatorn. Dettakommer ske pa formen [x1, x2, ψ, κd, v, a](t), dar ψ ar vinkel for bilen, κd ar kurvatur, vhastighet och a acceleration.

5.2 Terminal manifold

Terminal manifold kallas det omrade dar slutpunkter for var planerare finns. Detta omradedelas in i diskreta punkter och till varje punkt beraknas en trajektoria, se avsnitt 5.3.Detta omrade bestammer hur bilen kommer att agera pa vagen. I ett forsta steg kommeromradet att ligga sa att punkterna sprids i lateralt led en bit framfor bilen. Om ingen avdessa visar sig vara korbar sa kommer ett nytt omrade genereras dar punkterna spridsbade i lateralt och longitudinellt led for att mojliggora en inbromsning eller fullt stopp forbilen, se figur 14.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 16

Skapa trajektorier

Kan bilen följa trajektorian?

Krockar trajektorian med något objekt?

Välj första trajektorian

Markera trajektorian som

'valid'

Finns det fler trajektorier att kontrollera?

Markera trajektoria som 'invalid'

Beräkna kostnadsfunktion för alla trajektorier markerade 'valid'

Välj nästa trajektoriaJa

Nej

Ja

Nej

Ja

Nej

Välj trajektoria med minst kostnad

Bestäm terminal manifold

Figur 13: Flodesschema for hur planeraren kommer att arbeta

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 17

5.3 Generering av trajektorier

Vagen fran en startpunkt till en slutpunkt ska ske med minimal jerk. Detta problemkan losas analytiskt och ger da ett polynom som beskriver trajektorian. For detta inforsbeteckningar for lateralt led, d(t), och longitunell led, s(t), langs med trajektorian samttva integratorsystem ξ(t), ett for lateralt och ett for longitunell led, bada enligt

ξ(t) =

0 1 00 0 10 0 0

ξ(t) +

001

u(t) (15)

Detta ger nu ett optimeringsproblem som:

minimizeu(·)

h(ξ(t), t) +

∫ τ

0

1

2u2(t)dt

subject to ξ1(t) = ξ2(t)

ξ2(t) = ξ3(t)

ξ3(t) = u(t)

ξ(0) = [ξ1(0), ξ2(0), ξ3(0)]T

ξ(τ) = [0, ξref (τ), ξref (τ)]T

med

u(t) =...ξ 1(t) (16)

h(ξ(t), t) := ktt+1

2kξ1(ξ1(t)− ξref (t))2 (17)

dar kt samt kξ1 ar designparametrar for att straffa langsam konvergens samt avvikelsefran referenstrajektorian. Detta kan goras for lateral samt longitudinell led oberoendeav varandra. Observera att termen ktt i vart fall inte ar nodvandig eftersom endast entidshorisont anvands, den ar dock nodvandig om algoritmen utokas.Losningen till detta ges av:

ξ(t) = M1(t)c012 +M3(t)c345 (18)

dar

M1(t) :=

1 t t2

0 1 2t0 0 2

(19)

M2(t) :=

t3 t4 t5

3t2 4t3 5t4

6t 12t2 20t3

(20)

M3(t) := M2(t) +

0 0 120kξ1

0 0 00 0 0

(21)

c012 = M1(0)−1ξ(0) (22)

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 18

c345 = M−13 (τ)(ξref (τ)−M1(τ)c012) (23)

Kvintettillstandstrajektorian ges av

(cT012 cT345

)=(c0 c1 c2 c3 c4 c5

)(24)

dar c012 och c345 ar koefficienter givna av ekvation (22) och (23).

Forst genereras trajektorier med konstant hastighet som referens. Detta gor att det nuendast finns varden pa sref . Detta gor att den optimala trajektoria som ska foljas istalletberaknas enligt

ξ(t) = M1(t)c012 +M3(t)c34 (25)

Observera att i detta fall ar c5 = 0, samt med M1(t) och c012 som beskrivet ovan. Dettagor nu att inget krav finns pa ξ1(τ), vilket gor att en referens pa slutgiltig hastighet oavsettposition kan generas.

Figur 14: Trajektorier genererade av planeraren spridda i lateralt led. Trajektorier som ejar foljbara eller ligger i kollision har markerats med rott och den optimala trajektorianhar markerats i gront.

Det kan handa att alla dessa trajektorier blir ogiltiga, detta om till exempel hela korbananar blockerad. For att kunna hantera dessa situationer generars i detta fall ocksa trajekto-rier med konstant position enligt ekvation 18. Detta kan nu goras med bilens nuvarandeposition som startposition till varje diskret punkt i terminal manifold for lateral rorelse,som sprids homogent framfor bilen.

5.4 Undvika hinder och kollision

For att undvika att bilen kolliderar med objekt eller att dessa trajektorier gar att foljamaste de undersokas for att se om de ar giltiga eller inte. Detta gors forst genom att

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 19

kontrollera kurvatur samt acceleration for hela trajektorian, sa att bilen fysiskt kan foljatrajektorian. For detta transformeras alla valda trajektorier till det globala koordinatsy-stemet. Nar dessa finns i det globala koordinatsystemet kan maximala vardet pa accele-ration samt kurvradie jamforas med bilens egenskaper for att avgora om trajektorian garatt folja eller inte.

For att avgora om en trajektoria gar att folja utan att en kollision intraffar approximerasforst alla objekt med cirklar som sedan markeras i ett rutnat. For att avgora om kollisonuppstar racker det sedan att kontrollera om trajektorian gar igenom markerat omrade irutnatet. Detta beskrivs mer utforligt nedan.

5.4.1 Approximation med cirklar

Ett objekt med bredd B och hojd H delas forst upp i mindre rektanglar med bredd BNB

samt hojd HNH

. Dessa mindre rektanglar kan approximeras med cirklar Ci = (xi1, xi2, r),

i = 1, 2, ...NBNH dar (xi1, xi2) ar centrum for den rektangel som approximeras av cirkel i

samt

r =

√(B

2NB

)2

+

(H

2NH

)2

(26)

ar cirklarnas, gemensamma, radie.

Det storsta felet i approximationen intraffar pa mitten av nagon av rektanglarnas sidoralltsa

e = max

(r − B

2NB, r − H

2NH

)(27)

NB och NH valjes darfor sa att e far onskad storlek. Ett exempel visas i figur 15.

5.4.2 Kollisionsdetektering med rutnat

Forst approximeras bilen med cirklar enligt avsnitt 5.4.1. Omradet dar kollisionskontrollska utforas delas sedan upp i ett rutnat och de rutor som ett visst hinder ockuperar. For attunderlatta markeringen av hinder approximeras de ocksa med hjalp av cirklar som sedanar lattare att markera. Nar hindren markeras laggs aven bilens radie till eftersom det daracker att kontrollera att ingen av bilens cirklars centrum ligger i en ruta som ar markeradfor att avgora kollision. Detta gors i olika rutnat for varje tidpunkt som kollisionskontrollska goras och hindrens position skattas genom att anta konstant hastighet. Till hoger ifigur 15 har ett hinder markeras i ett rutnat, om en av bilens cirklars centrum skulle liggeri en rod ruta ar bilen i kollision med hindret.

Trajektorior testas genom att for varje tidpunkt i trajektorian kontrollera om nagon avbilens cirklars centrum ligger i en markerad ruta i aktuell tidpunkts rutnat.

5.5 Optimeringsproblemet

Efter att alla trajektorier har kontrollerats kan det finnas flera trajektorier som ar mojligaatt folja. Trajektorian med lagst kostnad valjs da ut som den vi vill folja, se figur 14.Kostnaden evalueras for bade den laterala och longitunella rorelse som ar associerad medden aktuella trajektorian. Dessa kostnader laggs sedan ihop for att fa den totala kostanden.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 20

Figur 15: Till vanster visas ett objekt som approximerats med cirklar och till hoger visassamma objekt markerat i ett rutnat.

5.6 Transformation till globalt koordinatsystem

For att transformera tillbaka fran det definierade koordinatsystemet [s, s, s, d, d, d](t) tilldet globala koordinatsystemet [x1, x2, ψ, κd, v, a](t) har foljande transformation gjorts

x(s(t), d(t)) = r(s(t)) + d(t)nc(s(t)) (28)

Hastighet och acceleration har beraknats med derivatan, respektive andragrads deriva-tan, av x(s(t), d(t)). Dessa har sedan slatats ut genom medelvardesbilding over fyranarliggande varden. Kurvatur har beraknats genom att lata P1, P2, P3 vara tre foljandetva-dimensionella punkter pa trajektorian. Kurvaturen, κ, kan da beraknas enligt

κ = 2

∣∣∣∣P2 − P1

P3 − P2

∣∣∣∣ /(‖P2 − P1‖ × ‖P3 − P2‖ × ‖P3 − P1‖) (29)

Trajektorian, uttryckt i de globala parametrarna [x1, x2, ψ, κd, v, a](t), stalls slutligen uttill regulatorn.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 21

6 Delsystem: Simuleringsmiljo

Simuleringsmiljon som har utvecklats har gjorts i syfte att kunna testa ovrig mjukvaruut-veckling. For att skapa simulatorn har simuleringsprogrammet V-REP anvands. V-REPar gjort av foretaget Coppelia Robotics och ar till for att kunna simulera olika dynamiskarobotar i olika miljoer.

6.1 Miljon for bilen

I projektet har det byggts upp en simuleringsmiljo som aterspeglar den uppsattningensom finns i labbet, skalenligt och efterpassat att aterspegla samma koordinatssystem somdet verkliga systemet anvander sig av. I figur 16 syns miljon som byggts upp. Bilen aren fardig modell fran V-REP och bygger pa att demonstrera Ackermannstyrning. Detstora graa skiktet som syns runt banan ar golvet, det golvet behovs for att bilen skakunna kora. Anledningen till detta ar for att det som ser ut som banan gjort sa attingen interaktion mellan banan och bilen sker. Bilen kor alltsa endast pa det graa golvet.De hoga cylindrarna i varje horn ar utplacerade for att kunna matcha in banan till detkoordinatsystem som finns i labbet och den runda skivan i nederkant markerar origo.

Figur 16: Simuleringsmiljon med bilen

6.2 Simuleringsmotorn

For att kunna kontrollera bilen har ett API byggts upp. Genom att kora den simulerings-motorn som byggts upp i C++ skapas en exekverbar fil som V-REP kan hitta och kora.I den filen finns ocksa regulatorkoden implementerad vilket gor att samma kod som korspa det verkliga systemet nu kan testas i simuleringsmiljon.

6.2.1 Kommunikation med V-REP

Data skickas till och fran V-REP med hjalp av det fjarrstydra API som finns for C++och ar dokumenterat pa websidan for V-REP [6]. For att erhalla snabb uppdatering och

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 22

overforing av information fran V-REP till var simuleringsmotor i C++ sa anvands enkommunikationslosning dar V-REP kontinuerligt strommar data till en buffer som C++programmet kan lasa fran. Hur V-REP:s fjarrstyda API kan anvandas for denna och andrakommunikationsmetoder finns ocksa beskrivet pa websidan [7].

6.3 Rorligt hinder

Lastbilen ar representerad som en gravmaskin i V-REP. Gravmaskinen styrs endast genomV-REP och paverkas inte av nagot yttre program. Referensen laddas in genom en textfili V-REP. Ett tradat script i V-REP flyttar sedan runt gravmaskinen kring den laddadereferensen i given hastighet. Detta illustreras i figur 17.

Figur 17: Simuleringsmiljon med rorligt hinder

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 23

7 Delsystem: Visualisering

Visualiserinsgssystemet har tva huvuduppgifter. Dels hanterar den projektorn och deninformation som ska visas pa banan samt det anvandargranssnittet som syns pa datorn.Exempel pa information som kan visas ar fordonens trajektorier, fordonens korda banaoch hinder. Visualiseringssystemet ar uppbyggt pa samma satt som tidigare ar men mednagra forandringar. I detta avsnitt kommer endast dessa forandringar att beskrivas ochfor utforligare beskrivning av hur visualiseringsystemet ar uppbyggt hanvisas till tidigarears dokumentation [1].

GUI:t ar uppbyggt av tva huvudfonster, det ar en kontrollpanel och ett main-fonsterdar fordonens referens och tillstand med mera kan ritas ut. I detta ars projekt har bi-lens regulator forandrats och bygger inte langre pa PID-regulatorer och darfor ar det ejlangre aktuellt att satta dessa parametrar. Anledningen till att dessa parametrar andafinns kvar ar pa grund av att den motsvarande programkoden finns kvar i bakgrunden.Kontrollpanelens utseende ses i figur 18.

Figur 18: Kontrollpanelen fran vilken systemet startas.

Main fonstret ser ut pa samma satt och har samma funktioner som tidigare ar, se figur19. Ett tillagg har gjorts for att mojliggora utritning av lastbilens referens. Implemen-tation av detta har gjorts pa samma satt som utritningen av bilens referens. Lastbilensreferens lases in traden som skoter utritning for GUI:t och projektorn och som gar attfinna i draw.cpp. Det ar mojligt att rita ut lastbilens referens for samma installningar, sakallade displaymode’s och projektormode’s, som det gar att rita ut bilens referens pa. Seanvandarhandledningen [8] for vilka installningar detta ar. Funktionsanrop for utritninggors i MainDisplay.cpp for GUI:t och i ProjektorDisplay.cpp for projektorn.

Nar det finns en trajektoria beraknad fran planeraren kommer aven denna att ritas ut.For utritning av trajektorian finns en ny funktion DrawOptTrajFromPlanner som gar attfinna i Display.cpp. Referensen kommer lasas in i draw.cpp och funktionsanrop gors sedani MainDisplay.cpp for GUI:t och i ProjektorDisplay.cpp for projektorn.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 24

Figur 19: Mainfonstret.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 25

8 Resultat

Har nedan presenteras de resultaten och den prestandan som har uppnatts under projek-tet.

Samtliga delsystem uppfyller de grundlaggande kraven enligt kravspecifikationen [9], vilketfinns dokumenterat i testprotokollet [10]. Regulatorerna reglerar enligt kravstalld prestan-da och klarar av detta under flera pa varandra foljande varv. Planeraren klarar med storsakerhet av att undvika statiska hinder genom omkorning eller inbromsning. Da rorligahinder forekommer klarar planeraren att kora om i manga fall, men inte i alla. Samspeletmellan regulatorn for bilen och planeraren behover forbattras, se kapitel 9.1 och 9.3. Vidarefinns det fysikaliska systemet simulerat i V-REP. Bilen kan i simulatorn koras med sam-ma regulator och den uppnar dar mycket god noggrannhet for foljning av referensbanan ilateralt led men ej i longitudinell led. Statiska och rorliga hinder finns implementerade isimuleringsmiljon men stod for autonoma omkorningar ar ej implementerat pa grund avproblem men hastighetsfoljning, se kapitel 9.4. Slutligen kan visualiseringssystemet avenrita ut lastbilens referens.

8.1 Regulatorsystem for bil

I figur 20 visas longitudinellt och lateralt fel nar bilen har kort fem varv med konstanthastighet 1 m/s. Parametrarna i regulatorn var k1 = 35, k2 = 8 samt k3 = 13. Somman kan se ligger felen, efter ett kort insvangningsforlopp, alltid inom 4 cm. Det lateralafelet ar mindre an 2 cm under 98% av strackan och det longitudinella felet ar mindre an2 cm under 89% av strackan. Kraven i kravspecifikationen uppfylls darmed. Det brusigautseendet pa det longitudinella felet beror pa att referensen bestar av diskreta punkter.

Om hastigheten okas blir systemet snabbt instabilt. For k1 = 35, k2 = 8 samt k3 = 13sker detta redan vid ungefar 1.2 m/s. Daremot kan vardena pa k1, k2 och k3 sankas foratt mojligora hogre hastigheter men detta gors pa bekostnad av storleken pa felen.

0 10 20 30 40 50 60

Tid [s]

-0.04

-0.02

0

0.02

0.04Lateralt fel

0 10 20 30 40 50 60

Tid [s]

-0.1

0

0.1Longitudinellt fel

Figur 20: Longitudinellt och lateralt fel nar bilen har kort fem varv med konstant hastighet1 m/s. Roda linjer markerar fel inom 4 cm och grona linjer markerar fel inom 2 cm.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 26

8.2 Regulatorsystem for lastbil

Lastbilen kan val folja sin referensbana under flera varv, se figur 21. Avvikelsen fran re-ferensbanan ar med god marginal innanfor det avstandet pa 4 cm som kravspecifikatinenkraver, se figur 22. Korningen visad i figurerna ar genomforda med en konstant hastighetpa 40% av den maximala hastigheten som lastbilens interna styrning tillater. Designpa-rametern ”lookahead distance” hade vardet 0.2 m vid korningen.

Figur 21: Fem korda varv med lastbilen. Den bla linjen visar lastbildens korda vag ochden roda linjen visar dess referens.

Figur 22: Fem korda varv med lastbilen inzoomat pa bansegmentet i det ovre hogra hornet.Den bla linjen visar lastbildens korda vag och den roda linjen visar dess referens.

Bade designparametern och hastigheten valdes genom testning pa det fysiska systemet foratt uppna onskat beteende pa den har specifika banan. En annorlunda referens kan kravaandra konfigurationer for att uppna tillracklig prestanda.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 27

8.3 Planerare

Planeraren klarar av att sprida trajektorier for konstant hastighet val. Den klarar av attgora kollisionskontroll och kan sedan valja den basta trajektorian att folja, enligt givenkostnadsfunktion. Vidare klarar den sedan att skicka denna trajektoria till regulatorn.Detta klarar den av att gora i 5 Hz. Berakningstiden for planeraren ar kortatre an sa menfor att fa ett repeterbart beteende gors det alltid i med samma frekvens.

Detta gor att planereren som helhelt klarar av att undvika statiska hinder utan problem.Observera att en kortare planeringstid, pa ungefar 1-1.5 s, ar fordelaktigt nar statiskahinder ska undvikas.

Den klarar aven av att i vissa fall genomfora omkorning av hinder i rorelse. Har ar detfordelaktigt med en langre planeringstid, pa ungefar 2 s. Se avsnitt 9.3, om vidareutveck-ling av planeraren, for att fa mer information om vad som behover goras for att detta skafungera bra.

8.4 Simuleringsmiljo

Det verkliga systemet finns aterskapat i en simuleringsmijo for att koras i programmetV-REP. Modellen i simuleringsmiljon har samma avstand och storlekar pa bil och bilbanasom det verkliga fysikaliska systemet. Till detta har det skapats en simuleringsmotor somfungerar som ett fjarrstyrt API till V-REP. Simuleringsmotorn ligger som ett eget projekti koden men anvander sig av koden som ar skriven for det verkliga systemet.

Idag kan systemet styra bilen sa att den kan folja referensbanan i lateral led med myc-ket god noggrannhet men inte i longitunell led. Problemet har legat i fysikmotorn somar integrerad i V-REP, las mer om detta i stycke 9.4. Statiska och rorliga hinder finnsimplementerade i simuleringsmiljon, dar det rorliga hindret bestar av en gravmaskin somkors helt oberoende av var egenutvecklade simuleringsmotor. Denna gravskopa ar styrsistallet direkt fran V-REP och ar programmerad att folja den referensbana som laggs ini simuleringsmiljon. Da inte regulatorn har kunnat bli fullt implementerat i simulerings-miljon har funktionalitet for autonoma omkorningar inte blivit implementerat. I figur 16och figur 17 syns de visuella resultaten.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 28

9 Vidareutveckling och framtida arbete

Har nedan presenteras omraden inom respektive delsystem dar vidareutveckling kan ske.Forslag pa forbattringar ges nedan under respektive delsystem.

9.1 Regulator for bil

Det storsta problemet med regulatorn ar formodligen att longitudinell och lateral foljningar kopplade och att den longitudinella foljningen har varit svarare att fa till bra. Ge-nom att separera dem och fixa en battre regulator for longitudinellt fel skulle prestandanformodligen bli battre och robustare.

Bilen svanger lite olika vid olika hastigheter. Att ta hansyn till detta skulle gora attregulatorn fungerar battre, framforallt nar hastigheten varierar.

9.2 Regulator for lastbil

Parallellt med detta projektet pagar ett projekt dar lastbilen ska fa en ny sandare. Detkommer forhoppningsvis minska fordrojningen mellan PC och lastbil. Minskas fordrojningen,kommer lastbilen kunna kora med hogre hastighet utan att bli instabil.

Det gar aven att forbattra och forenkla hur referenser for lastbilen genereras. Dagens sattar omstandigt och inte helt sjalvklart forsta gangen. Att som anvandare bara oppna ettGUI i matlab, dra ut linjer for att fa sin referens inskriven pa ratt stalle, vore smidigt. Envidareutveckling skulle inte ge nagon prestandaforbattring, men det skulle kunna sparatid om referensen ska bytas ut mycket.

9.3 Planerare

Planeraren behover utvidgas med mer funktionalitet for att fungera pa ett bra satt ialla situationer. Just nu klarar den bra att kora om statiska hinder, men rorliga kange problem. Det som skulle behovas for att detta ska fungera bra ar att hastighet ochacceleration beraknas fran fernet frame och inte deriveras fram. Deriveringen har nagonform av numeriskt problem och gor att hastigheten ibland sticker ivag valdigt. Planerarenskulle aven behova sprida punkter i longitunell led pa ett smart satt, till exempel att baralagga punkter bakom de hinder som finns.

Slutligen skulle det vara intressant att lata planeraren berakna trajektorier med olikasluttid vid varje planeringscykel. Detta pa grund av att langa trajektorier fungerar battreom hindret ror pa sig, men kan ge problem for fall med statiska hinder.

Allt detta finns beskrivet i forskningsrapporten [5], men har inte hunnits med under 2015ars projekt.

Hantering av hinder (kallade ”Obstacles” i koden) bor forbattras. Den funktionalitet somfinns nu har flera buggar och anvander bland annat ett helt eget filter, som ar helt onodigtoch som inte fungerar. Detta har gjort att arets projekt inte anvander dessa klasser utanistallet har en snabblosning far att fa hinder till planeraren.

9.4 Simuleringsmiljo

Ett problem gallande anvandningen av V-REP for simuleringar har varit att fysikmotornhar haft svarigheter att hantera korning av bilen utan sladd. Det bor namnas att V-

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 29

REP i aktuell version har fyra stycken olika fysikmotorer implementerade och att varderaav dessa har en mangd olika installningar och parametrar som kan andras. Darmed ardet inte helt enkelt att inse hur simuleringen bast bor konfigureras. Med de aktuellainstallningarna, som har funnits mest lampliga for att kunna simulera att bilen kor utanatt tappa fastet, blir hastighetsstyrningen valdigt svarhanterlig. Bilens egenskaper for hurhastigheten paverkas av styrsignalen blir da fundamentalt olika vid olika nivaer. Darmedhar det inte gatt att uppna en tillrackligt god foljning av trajektorian i tidshansyn for attkunna anvanda planeraren.

En vidareutveckling for att kunna hantera detta ar att avsta fran att anvanda sig av enfysikmotor i V-REP och istallet implementera en modell for att simulera bilens dynamiki C++ programmet och sedan uppdatera bilens position och orientering i V-REP enligtresultatet.

Andra utvecklingsmojligheter ar att bygga egna modeller i V-REP och gora sa att de farde egenskaper som ar onskvarda och sa lika verkligheten som mojligt.

Lastbilen, eller gravmaskinen i V-REP styrs nu helt oberoende av API:t. Detta ar kanskeinte onskvart om men implementeringar kring lastbil vill goras, till exempel platooningeller liknande. Det kan da vara bra om man forsoker inkludera styrningen av det rorligahindret till API:t.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf

Racetrack 30

Referenser

[1] Projektgruppen FAST. Teknisk dokumentation, 2014.

[2] Moritz Werling, Lutz Groll, and Gorg Bretthauer. Invariant trajectory tracking witha full-size autonomous road vehicle. IEEE Transactions on Robotics, 2010.

[3] Oskar Ljungqvist. Motion planning and stabilization for a reversing truck and trailersystem. Master’s thesis, Tekniska hogskolan vid Linkopings universitet, 2015.

[4] Henrik Backman & Lina Karlsson. Att andra lastbilens referens, 2015.

[5] Mortiz Werling, Soren Kammel, Julius Ziegler, and Lutz Groll. Optimal trajectoriesfor time-critical street scenarios using discretized terminal manifolds. The Interna-tional Journal of Robotics Research, 2011.

[6] V-rep remote api. http://www.coppeliarobotics.com/helpFiles/en/

remoteApiFunctionListCategory.htm. Accessed: 2015-12-10.

[7] V-rep remote api modus operandi. http://www.coppeliarobotics.com/

helpFiles/en/remoteApiModusOperandi.htm. Accessed: 2015-12-10.

[8] Projektgruppen OTC. Anvandarhandledning, 2015.

[9] Projektgruppen OTC. Kravspecifikation, 2015.

[10] Projektgruppen OTC. Testprotokoll, 2015.

Kurs: Reglerteknisk projektkurs E-mail: [email protected]: OTC Dokumentansvarig: Jonathan StenstromTSRT10: TSRT10 Forfattarens e-mail: [email protected]: Racetrack Dokumentnamn: Teknisk dokumentation.pdf