Designspecifikation. Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil. Version 1.0 Simon Eiderbrandt 12 oktober 2012

Relevanta dokument
Systemskiss. Vidareutveckling Optimal Styrning av Radiostyrd Racerbil. Version 1.0 Simon Eiderbrant. Granskad Erik Olsson 20 September 2012

Testplan. Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil. Version 1.1 Fredrik Karlsson 26 november Granskad JL, FK 26 november 2012

Kravspecifikation. Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil. Version 1.1 Joel Lejonklou 26 november 2012

Teknisk dokumentation

Systemskiss Optimal Styrning av Autonom Racerbil

Tillbakablick: Övning 1.2. Fordonsdynamik med reglering. Stillastående bil. Sidkrafter: Frågeställning 1. R r. R g

Tillbakablick: Övning 1.2. Fordonsdynamik med reglering. Stillastående bil. Sidkrafter: Frågeställning 1. R r. R g

Testplan Autonom truck

Figure 1: Blockdiagram. V (s) + G C (s)y ref (s) 1 + G O (s)

Reglerteori. Föreläsning 11. Torkel Glad

Testplan Racetrack 2015

Testplan. Flygande Autonomt Spaningsplan. Version 1.0. Dokumentansvarig: Henrik Abrahamsson Datum: 14 mars Status.

Systemskiss. Joachim Lundh TSRT10 - SEGWAY 6 december 2010 Version 1.0. Status:

Kravspecifikation LiU Racetrack

Tentamen. TSFS 02 Fordonsdynamik med reglering 1 november, 2013, kl. 8 12

Repetion. Jonas Björnsson. 1. Lyft ut den/de intressanta kopp/kropparna från den verkliga världen

V x + ΔV x ) cos Δθ V y + ΔV y ) sin Δθ V x ΔV x V y Δθ. Dela med Δt och låt Δt gå mot noll:

Användarhandledning. Optimal Styrning av Radiostyrd Racerbil. Version 1.0 Isak Nielsen 10 december Granskad Per Svennerbrandt 30 november 2011

Stelkroppsmekanik partiklar med fixa positioner relativt varandra

Systemskiss. LiTH Kamerabaserat Positioneringssystem för Hamnkranar Mikael Ögren Version 1.0. Status

Reglerteori, TSRT09. Föreläsning 8: Olinjäriteter och stabilitet. Torkel Glad. Reglerteknik, ISY, Linköpings Universitet

Testprotokoll Racetrack 2015

Exempel: DC-servo med styrsignalmättning DEL III: OLINJÄR REGLERTEORI. DC-servo forts.: Rampsvar och sinussvar

TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING

TSRT91 Reglerteknik: Föreläsning 10

Lösningsförslag till tentamen i Reglerteknik fk M (TSRT06)

Bästa däcken fram eller bak? Fordonsdynamik med reglering. Kurvtagning: Figur 5.5

Tentamen Mekanik F del 2 (FFM521 och 520)

Reglerteknik AK, FRTF05

Designspecifikation Optimal Styrning av Autonom Racerbil

Reglerteori. Föreläsning 8. Torkel Glad

Mekanik Föreläsning 8

Testprotokoll. Redaktör: Sofie Dam Version 0.1. Status. Planering och sensorfusion för autonom truck Granskad Dokumentansvarig - Godkänd

Systemskiss. Redaktör: Anders Toverland Version 1.0. Status. LiTH Fordonssimulator. Granskad Godkänd. TSRT71 Anders Toverland

Modellering av Dynamiska system. - Uppgifter till övning 1 och 2 17 mars 2010

Projektdirektiv Oskar Ljungqvist Sida 1. Kund/Examinator: Daniel Axehill, Reglerteknik/LiU

Teknisk Dokumentation

Teknisk Dokumentation

Välkomna till TSRT19 Reglerteknik Föreläsning 3. Sammanfattning av föreläsning 2 PID-reglering Blockschemaräkning Reglerdesign för svävande kula

TSRT09 Reglerteori. Sammanfattning av föreläsning 10. Fasplan. Olika typer av jämviktspunkter. Samband linjärt olinjärt: nära jämviktspunkt

Projektplan Optimal Styrning av Autonom Racerbil

Lösningsförslag TSRT09 Reglerteori

Optimalitetsvillkor. Optimum? Matematisk notation. Optimum? Definition. Definition

Optimeringsproblem. 1 Inledning. 2 Optimering utan bivillkor. CTH/GU STUDIO 6 TMV036c /2015 Matematiska vetenskaper

REGLERTEKNIK KTH. REGLERTEKNIK AK EL1000/EL1110/EL1120 Tentamen , kl

Testspecifikation. Henrik Hagelin TSRT10 - SEGWAY 6 december 2010 Version 1.0. Status:

TAIU07 Matematiska beräkningar med Matlab

Lösningar till 5B1762 Optimeringslära för T, 24/5-07

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

Bästa däcken fram eller bak? Fordonsdynamik med reglering. Kurvtagning: Figur 5.5

Testprotokoll Autonom målföljning med quadcopter

LiTH. WalkCAM 2007/05/15. Testplan. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs

TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING

Systemskiss. Flygande Autonomt Spaningsplan. Version 1.0. Dokumentansva Datum: 13 februari Dokumentansvarig: Henrik Abrahamsson.

Reglerteknik AK. Tentamen 24 oktober 2016 kl 8-13

Systemskiss Racetrack 2015

Systemskiss. LiTH Autonom bandvagn med stereokamera Gustav Hanning Version 1.0. Status. TSRT10 8Yare LIPs. Granskad

TENTAMEN I TSRT09 REGLERTEORI

LIPs Fredrik Ljungberg ChrKr Projektdirektiv18_ROV.doc CKr

TENTAMEN I REGLERTEKNIK Y TSRT12 för Y3 och D3. Lycka till!

Olinjära system (11, 12.1)

SF1669 Matematisk och numerisk analys II Bedömningskriterier till tentamen Torsdagen den 4 juni 2015

TSRT91 Reglerteknik: Föreläsning 12

Försättsblad till skriftlig tentamen vid Linköpings universitet

HARALD Testprotokoll

Testplan. Redaktör: Sofie Dam Version 0.1. Status. Planering och sensorfusion för autonom truck Granskad Dokumentansvarig - Godkänd

Reglerteknik AK. Tentamen 27 oktober 2015 kl 8-13

Transient beteende. Fordonsdynamik med reglering. Transient beteende. Figur Använder ett koordinatsystem som är fixt i förhållande till bilen.

TENTAMEN I TSRT09 REGLERTEORI

TENTAMEN I REGLERTEKNIK Y/D

Systemkonstruktion Z3

LIPs Daniel Axehill ChrKr Projektdirektiv_Saab_v3 CKr

Modellering av en Tankprocess

ÖVNINGSTENTAMEN Modellering av dynamiska system 5hp

Lösningsförslat ordinarie tentamen i Mekanik 2 (FFM521)

Föreläsning 7. Reglerteknik AK. c Bo Wahlberg. 26 september Avdelningen för Reglerteknik Skolan för elektro- och systemteknik

Flervariabel reglering av tanksystem

1 Konvexa optimeringsproblem grundläggande egenskaper

8.3 Variabeltransformationer Frånkoppling. Betrakta ett 2x2-system, som beskrivs med modellen (8.3.1)

Reglerteknik AK. Tentamen 16 mars 2016 kl 8 13

LiTH Golfspelande industrirobot Designspecifikation. Designansvarig: Mikaela Waller Version 1.0. Status. Granskad Martin

university-logo Mekanik Repetition CBGA02, FYGA03, FYGA07 Jens Fjelstad 1 / 11

Systemskiss. Michael Andersson Version 1.0: Status. Platooning Granskad DOK, PL Godkänd Erik Frisk

Tentamen med lösningsdiskussion. TSFS06 Diagnos och övervakning 1 juni, 2013, kl

LiTH Autonom styrning av mobil robot Testplan Version 1.0 TSRT71-Reglertekniskt projektkurs Anders Lindgren L IPs

Lösningsförslag till tentamen i Reglerteknik (TSRT19)

Andra EP-laborationen

TANA17 Matematiska beräkningar med Matlab

Ordinarie tentamen i Mekanik 2 (FFM521)

TSRT91 Reglerteknik: Föreläsning 11

Tentamen Mekanik F del 2 (FFM520)

No Oscillations Corporation. Efterstudie. Optimal Styrning av Autonom Racerbil. Version 0.1 Författare: Sofia Johnsen Datum: 20 december 2013

Försättsblad till skriftlig tentamen vid Linköpings universitet

LiTH, Reglerteknik Saab Dynamics. Testplan Collision avoidance för autonomt fordon Version 1.0

Rotationsrörelse laboration Mekanik II

Transkript:

Designspecifikation Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil Version 1.0 Simon Eiderbrandt 12 oktober 2012 Status Granskad FC, JL, SE 12 oktober 2012 Godkänd

Projektidentitet Grupp-e-post: Hemsida: Beställare: Kund: Kursansvariga: Handledare: joele569@student.liu.se http://www.isy.liu.se/edu/projekt/reglerteknik/2012/racetrack/ Kristoffer Lundahl, Avdelningen för Fordonssystem vid LiTH Telefon: +46 (0)13 286623, E-post: kristoffer.lundahl@liu.se Daniel Axehill, Avdelningen för Reglerteknik vid LiTH Telefon: +46(0)13 284042, E-post: daniel@isy.liu.se David Törnqvist, Avdelningen för Reglerteknik vid LiTH Telefon: +46 (0)13 281882, E-post: tornqvist@isy.liu.se Daniel Axehill, Avdelningen för Reglerteknik vid LiTH Telefon: +46(0)13 284042, E-post: daniel@isy.liu.se Isak Nielsen, Avdelningen för Reglerteknik vid LiTH Telefon: +46 (0)13 281304, E-post: isak.nielsen@isy.liu.se Gruppmedlemmar Namn Ansvar Telefon E-post (@student.liu.se) Joel Lejonklou Projektledare 0734-403828 joele569 Simon Eiderbrant Dokumentansvarig 0737-308998 simei865 Erik Olsson Designansvarig 0738-130759 eriol622 Fredrik Karlsson Testansvarig 0708-393376 freca476 Thomas Barath Leveransansvarig 0739-782290 thoba099 Erhan Konuskan Informationsansvarig 0707-787930 erhko279

Dokumenthistorik Version Datum Gjorda förändringar Signatur Granskad av 0.1 27 september 2012 Första utkast 0.2 3 oktober 2012 Andra utkast 0.3 4 oktober 2012 Tredje utkast 0.4 9 oktober 2012 Fjärde utkast 1.0 12 oktober 2012 Godkänd version

Innehåll 1 Inledning 1 2 Syfte och mål 1 3 Användning 1 4 Systemöversikt 1 5 Bilmodellering 3 5.1 Röresleekvationer......................................... 4 5.2 Konstanter............................................ 5 5.3 Krafter på däcken........................................ 5 5.3.1 Longitudinell dynamik.................................. 5 5.3.2 Lateral dynamik..................................... 6 5.4 Slippvinklar............................................ 7 5.5 Styrvinkel............................................. 7 5.6 Tröghetsmoment......................................... 7 5.7 Bilmodellen i helhet....................................... 7 5.7.1 Rörelseekvationer..................................... 7 5.7.2 Konstanter........................................ 8 5.7.3 Krafter.......................................... 8 5.7.4 Slippvinklar........................................ 9 5.7.5 Styrvinkel......................................... 9 5.8 Modell för optimering...................................... 9 5.9 Modell för reglering........................................ 10 5.10 Utvecklingsmöjligheter...................................... 10 6 Beräkning av tidsoptimal trajektoria 10 6.1 Ingående mjukvaror....................................... 10 6.2 Implementation av optimeringsproblem i JModelica.org................... 11 6.3 Lösning av optimeringsproblemet................................ 12 6.4 Optimeringsmetoder och initialgissning............................. 13 6.4.1 Initialgissning i mitten av banan............................ 13 6.4.2 Tidigare beräknad trajektoria.............................. 13 6.4.3 Inspelad trajektoria................................... 14 6.4.4 Uppdelning av bana med överlappande sektioner................... 14 6.4.5 Stegvis ökning av optimeringshorisont......................... 14 6.4.6 Optimering av initialgissning.............................. 14 6.4.7 Alternativ metod..................................... 14 6.5 Banparametrisering........................................ 14 6.5.1 Kontinuerliga begränsningar............................... 14 6.6 Gränssnitt............................................. 15 7 Regulator 16 7.1 Regulatorstruktur........................................ 16 7.2 Bilmodell för regulatorsyntes.................................. 16

7.3 Härledning av rörelsemodellen och övriga storheter...................... 17 7.3.1 Hastigheten i x-led.................................... 18 7.3.2 Hastighten i y-led.................................... 18 7.3.3 Vinkelhastigheten.................................... 18 7.3.4 Avståndet mellan bilens önskade och verkliga position................ 18 7.3.5 Skillnaden mellan referensvinkeln och bilens nuvarande vinkel............ 18 7.4 Olinjär regulator modell..................................... 19 7.5 Linjäriserad modell........................................ 19 7.5.1 Bestämning av jämviktspunkter............................. 20 7.5.2 Potentiella förenklingar................................. 20 7.6 Gränssnitt............................................. 20 7.6.1 Intressanta storheter................................... 20 8 Referensinterface 21 8.1 Gränssnitt............................................. 21 8.1.1 Insignaler från offlinesystemet.............................. 21 8.1.2 Insignaler från onlinesystemet.............................. 21 8.1.3 Utsignaler till onlinesystemet.............................. 21 A Appendix 24 A.1 A-matrisen, tillståndsform.................................... 24 A.2 B-matrisen, tillståndsform.................................... 25

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 1 1 Inledning Förra året genomfördes ett projekt vars syfte var att ta fram ett styrsystem för en radiostyrd bil (RC-bil), som skulle kunna styra bilen längs en trajektoria beräknad offline. Det finns emellertid stora förbättringsmöjligheter för systemet, framförallt när det kommer till bilmodellering och beräkning av optimal trajektoria. I somras genomfördes även ett projekt med syfte att förbättra bilmodelleringen. Tanken med detta projektet är att utgående från det grundarbete som gjordes i somras, förbättra modelleringen och beräkningen av den optimala trajektorian, samt eventuellt förbättra den regulator som används. Med hjälp av mer exakta modelleringar av bilen och bättre reglering skall bilen ta sig runt banan snabbare än den klarade förra året. 2 Syfte och mål Målet med projektet är att dels autonomt kunna köra flera på varandra följande varv snabbare än vad man tidigare lyckats med, men samtidigt följa referenstrajektorian bättre än innan. Dessutom ska systemet förbli robust, något som den nuvarande systemet inte är. Den tidsoptimala trajektorian ska fortfarande beräknas offline. 3 Användning Detta system ska sedan användas som laborationsmoment, demonstrationsmoment och studentprojekt vid ISY. 4 Systemöversikt Systemet består av flera olika delar som samverkar. Hårdvarumässigt är det fem stora delkomponenter som är aktuella: Bilbana Bilar Kameror Radiokontroll Dator Figur 1 visar hur hårdvarukomponenterna interagerar med varandra. Bilbanan är uppbyggd av kvadratiska skumgummiplattor som är placerade på en träplatta. Körbanan är inhägnad av en sarg i skumgummi som absorberar kraften ifall bilarna skulle krascha. I taket ovanför bilbanan är två kameror monterade. Dessa är placerade så att deras synfält täcker av hela banan. Bilderna som kamerorna tar skickas till datorn som med hjälp av algoritmer detekterar bilarna och skattar deras tillstånd. Sampeltiden för systemet är 100Hz, men kan ändras om så önskas (dock klarar det ej över cirka 110Hz). Styrningen av bilarna kan ske antingen autonomt eller manuellt. I det helt autonoma läget så beräknar datorn en styrsignal (via en regulator) som sedan ställs ut. I det manuella läget så körs en enkel loop-back funktionalitet som gör att bilen körs helt manuellt. Mjukvarumässigt består systemet av fem huvudkomponenter:

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 2 Figur 1: Informationsflöde mellan hårdvarukomponenter. Målföljningssystemet Regulatorn System för att beräkna en tidsoptimal trajektoria Bilmodellen Referensinterface Målföljningssystemet beräknar bilens skattade position (detta är redan implementerat). Bilmodellen tas fram genom att frilägga en single track-modell. Den parametersätts sedan utifrån genomförda mätningar på bilens acceleration och position då olika styrsignaler sätts ut till bilen. För att beräkna en referenstrajektoria används bilmodellen. Detta görs offline och modellen kan användas i regulatorn om så krävs. Ett referensinterface används för att online kunna hantera informationen om trajektorian på ett enkelt sätt. Ett blockschema över hela mjukvarustrukturen ses i figur 2.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 3 Bilmodell Trajektoriaoptimering Baninformation offline online reducerad bilmodell trajektoria Referensinterface Handkontroll x x ref, u offline Tracking ˆx Regulator u Radiomodul Figur 2: Blockschema beskrivande signalflödet mellan de olika delsystemen. 5 Bilmodellering RC-bilarna som används i projektet är tillverkade av företaget Kyosho. Bilarna är av modellklassen dnano och är i skalan 1:43. Bilens mått är 107x50x27 mm och väger cirka 40 gram. Projektet har tillgång till två sorters bilmodeller men kommer huvudsakligen arbeta med endast en av dem, närmare bestämt bilmodellen Lamborghini Murcielago. RC-bilarna består av en plastkaross och ett chassi. På chassit sitter fyra gummidäck, ett styrservo och en elmotor. Gummidäcken slits med tiden, vilket till en början inte tas i beaktning i modellen. Styrservot är kopplat till framdäcken och styrs via styrsignalen (u s [ 1, 1]). Elmotorn sköter via gas-/bromssignal (u g ) acceleration, inbromsning och back. På mitten av chassit sitter det batteri som driver elmotorn. Utifrån Almroths sommarprojekt [1], som hädanefter benäms som sommarprojektet, ska en redan framtagen modell utvärderas. Sommarprojektet utgick från single trackmodell med ett framhjul och ett bakhjul. Genom friläggning och kända modeller skapades

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 4 Figur 3: Friläggning av bilen. Figur 4: Bilens olika rörelsevektorer. sedan en modell för RC-bilen. Under sommarprojektet verifierades även modellen i olika arbetsområden. Nedan följer härledningen av de delmodeller, se 20-5.6 som sommarprojektet kom fram till. Slutligen återfinns modellen i sin helhet, 5.7, samt ett stycke om hur modellen kan förbättras, se 5.10 5.1 Röresleekvationer Med hjälp av figur 3 och 4 kan följande rörelseekvationer tas fram: a x = V y Ω z (1) a y = V y + Ω z (2) Med hjälp av ekvation (1) och (2) får man följande ekvationer: m( V y Ω z ) = F xf cos δ f + F xr F yr sin δ f (3) m( V y + Ω z ) = F yr + F yf cos δ f + F xf sin δ f (4) Ω z = l 1 F yf cos δ f l 2 F yr + l 1 F xf sin δ f (5) I z Ekvation (5) beskriver bilens girvinkelacceleration. Vektorerna som beskriver hastighet och acceleration måste emellertid projiceras ner på det globala koordinatsystemet, vilket tydliggörs i figur 5. Ekvationerna som beskriver rörelsen i de globala koordinaterna, ˆX och Ŷ, blir enligt (6) till (9);

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 5 Y x Y y X X Figur 5: Bilens koordinatsystem,{ˆx,ŷ}, i det globala koordinatsystemet,{ ˆX,Ŷ }. V X = cos θ + V y sin θ (6) V Y = sin θ V y cos θ (7) V X = cos θ V y sin θ (8) V Y = sin θ V y cos θ (9) 5.2 Konstanter Nödvändiga konstanter för att modellen ska bli komplett bestämdes också i sommarprojektet. Med hjälp av en brevvåg bestämdes bilens totala massa samt hur den var fördelad på fram- och bakhjul. När massfördelningen var bestämd kunde man med hjälp av linjal bestämma avstånden från däcken till masscentrum, l 1 och l 2. Genom tiptest kunde man sedan bestämma höjden h. Slutligen bestämdes även friktionskoefficienten µ genom att hindra hjulen att rulla och sedan sakta öka planets lutning. 5.3 Krafter på däcken För att bestämma de olika krafterna på däcken delades krafterna på däcken upp i komposanter, vilket resulterade i longitudinell, x-led, och laterall dynamik, y-led. 5.3.1 Longitudinell dynamik För att modellera F xr gjordes accelerationstester. F xf sattes dock till noll i och med att bilen endast drivs med bakhjulen och att friktionskraften på framdäcken negligeras. Utifrån dessa accelerationstester anpassades två polynom enligt (10), ett för acceleration och ett för broms.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 6 Figur 6: Friktionsellipsen. a x = AV 2 x + B + Cu g + Du 2 g + Eu g (10) 5.3.2 Lateral dynamik För att bestämma de laterala krafterna på däcken användes friktionsellipsen, se figur 6. Utifrån denna får man den maximala laterala kraften för olika slippvinklar, α, givet longitunell kraft. Sambandet mellan longitudinell kraft, F x, maximal longitudinell kraft, F xmax och maximal lateral kraft F y0 (α), kan approximeras av (11). ( ) 2 ( ) 2 Fy Fx + = 1 = F y = F y0(α) F y0 (α) F xmax 1 ( Fx F xmax ) 2 (11) För att ta reda på den maximal kraften mellan underlaget och däcken i x-led, F xmax, multipliceras friktionskoefficienten med normalkraften, se (12). Normalkrafterna på däcken beräknas enligt (13) och (14). F xmax = µw r (12) W f = l 2W L h L ma x (13) W r = l 1W L + h L ma x (14) F y0 (α) modellerades med hjälp av Magic Formula (MF), se (15). Konstanten D, vilket är den maximala kraften i y-led, valdes att inte användas direkt utan istället beräknas som

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 7 D f = µw f respektive D r = µw r. I och med att datan från kamerorna i taket inte är fullt tillförlitliga så har dessutom en konstant A lagts till som osäkerhetsparameter, se (16). F y0 (α) = D sin(c arctan (Bα E(Bα arctan(bα)))) (15) F y0 (α) = D sin(c arctan (B(α + A) E(B(α + A) arctan(b(α + A))))) (16) 5.4 Slippvinklar Slippvinklarna α r och α f är vinklarna mellan de riktningar som hjulen pekar i och de rullande hjulens faktiska färdrikting. Utifrån figur 4 så härleddes dessa vinklar enligt (17) och (18). ( ) l1 Ω z + V y α f = δ f arctan ( ) l2 Ω z V y α r = arctan (17) (18) 5.5 Styrvinkel För att modellera styrvinkeln mättes vinkeln som ställdes ut för olika styrsignaler. I modellen som togs fram i sommarprojektet fanns en offset med. Denna offset är dock en trimparameter som används för att bestämma hur snett hjulen står när man inte ger någon styrsignal alls. 5.6 Tröghetsmoment Utifrån ekvation (5) fick man fram hur man skulle beräkna tröghetsmomentet för bilen. Omskrivningen gav sedan (19). 5.7 Bilmodellen i helhet I z = l 1F yf cos δ f l 2 F yr + l 1 F xf sin δ f (19) Ω z Utifrån den parametersättning som gjordes under sommarprojektet samt ovanstående delmodeller blir den totala bilmodellen enligt (20). 5.7.1 Rörelseekvationer = F xf cos δ f + F xr F yf sin δ f m V y = F yf cos δ f + F yr + F xf sin δ f m + V y Ω z (20) Ω z Ω z = l 1F yf cos δ f l 2 F yr + l 1 F xf sin δ f I z

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 8 V X = cos θ + V y sin θ V Y = sin θ V y cos θ V X = cos θ V y sin θ V Y = sin θ V y cos θ 5.7.2 Konstanter Här följer en tabell över konstanterna som bestämdes i sommarprojektet. Tabell 1: Tabell över fysikaliska konstanter till modellen Konstant Förklaring Värde m Bilens massa 40.0 10 3 kg L Avståndet mellan fram- och bakhjul 0.0625 m l 1 Avståndet från masscentrum till framhjulet 0.0301 m l 2 Avståndet mellan masscentrum och bakhjulet 0.0324 m h Tyngdpunktens höjd 0.01 m µ Friktionskoefficienten 1.1 I z Tröghetsmomentet 3.9 10 5 kgm 2 5.7.3 Krafter F y = F y0 (α) 1 ( ) 2 Fx F xmax F xr = ma x = m(a 1 V 2 x + B 1 + C 1 u g + D 1 u 2 g + E 1 u g ) (u g 0) F xr = ma x = m(a 2 V 2 x + B 2 + C 2 u g + D 2 u 2 g + E 2 u g ) (u g 0) Tabell 2: Konstanter till krafterna i x-led på bakdäcket Konstant Värde A 1 0.0995 A 2 0.3173 B 1-0.7566 B 2-0.7636 C 1-1.0941 C 2-1.9961 D 1 0.2857 D 2 0.3616 E 1 6.7232 E 2 1.1589

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 9 F xf = 0 F xmax = µw W f = l 2W L W r = l 1W L h L ma x + h L ma x F y0f (α) = µw f sin(c f arctan (B f (α + A f ) E f (B f (α + A f ) arctan(b f (α + A f ))))) F y0r (α) = µw r sin(c r arctan (B r (α + A r ) E r (B r (α + A r ) arctan(b r (α + A r ))))) Tabell 3: Konstanter till Magic Formula Konstant Värde A f 0.001641 B f 17.57 C f 1.096 E f 0.8536 A r 0.00529 B r 5.7 C r 2.261 E r 1.604 5.7.4 Slippvinklar ( ) l1 Ω z + V y α f = δ f arctan ( ) l2 Ω z V y α r = arctan 5.7.5 Styrvinkel δ f = C 1 u s + C 0 [grader] δ f,max = ±22 [grader] Tabell 4: Konstanter till styrvinkelsmodellen Konstant Värde C 0 0.4538 C 1 25.04 5.8 Modell för optimering För att använda modellen för ta fram den tidsoptimala trajektorian kan det krävas att modellen förenklas. Vilka förenklingar som kan göras är i dagsläget svårt att avgöra. En

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 10 potentiell förenkling är dock att försumma lastförskjutningen (försumma accelationstermen i (13) och (14)). Genom att göra vissa förenklingar och åter validera modellen kan man dra slutsatser om det var en relevant förenkling. Om modellen fungerar bra kan man utöka modellen igen genom att ta med de delar av modellen som negligerats. 5.9 Modell för reglering Den modell som ska användas vid reglering måste vara linjär, vilket innebär att modellen måste förenklas och linjäriseras. Detta görs i avsnitt 7, Regulator. 5.10 Utvecklingsmöjligheter Överlag verkar modellen från sommarprojektets modell stämma bra överens med RC-bilens dynamik. Det finns dock vissa potentiella förbättringar samt kontroller som behöver göras. För det första ska modellen återigen valideras utifrån det material som gruppen tillhandahållit vid projektets start. Det innebär att kontrollera att de givna parametrarna från sommarens projekt fortfarande ger tillfredställande resultat. Det skulle kunna vara så att däck och batterier hade annan status än vad de har idag, vilket måste utredas. För det andra så har modellen sina brister, främst vid låga gaspådrag. Genom att studera accelerationstesterna och anpassa andra kurvor kan en bättre modell möjligtvis tas fram. Vidare, vilket är specificerat i Kravspecifikationen som krav av prioritet 2, kan en adaptiv modell tas fram för både batteri- och däckslitage. För att kunna göra detta måste man först få en uppfattning om hur mycket och på vilket sätt respektive del slits med tiden. 6 Beräkning av tidsoptimal trajektoria Detta delsystem beräknar en trajektoria runt banan, vilken regulatorn använder som den referens bilen skall följa. Optimeringen beräknas med hjälp av en bilmodell och en parametrisering av banan som bivillkor. Bilmodellen beskrivs i Modelica och optimeringsvillkoren beskrivs i Optimica, som är ett tilläggsspråk till Modelica. JModelica kompilerar Modelicaoch Optimica-modellerna/-skripten, och omvandlar det till ett Non-Linear Programming (NLP) problem och sedan löses optimeringproblemet av lösaren IPOPT. IPOPT genererar den optimala trajektorian om en sådan existerar. Flödet för detta kan ses i figur 7. Fordonsmodell Modelica JModelica IPOPT Bivillkor Optimica Optimal Trajektoria Figur 7: Informationsflöde för att beräkna optimal trajektoria med JModelica. 6.1 Ingående mjukvaror För att lösa optimeringsproblemet används följande mjukvara:

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 11 JModelica.org Ett open source-verktyg som är baserat på programmerings-/modelleringsspråket Modelica. Det används för att modellera, simulera och optimera dynamiska system så som detta projekt. JModelica.org innehåller även stöd för Optimica, vilket är ett tillägg till Modelica som ger möjlighet att optimera systemet. För att optimera systemet innehåller JModelica även den icke-linjära optimeringslösaren IPOPT. Python Ett programmeringsspråk med goda skriptmöjligheter som används för att kompilera och optimera modellerna och för att presentera resultaten. Python används med paketen: NumPy Lägger till stöd för stora multidimensionella arrayer och matriser och även matematiska funktioner för att manipulera dessa. SciPy Lägger till stöd för många matematiska och tekniska funktioner som liknar matlab. matplotlib Lägger till stöd för plottar och grafer i matlab-stil. IPython Ett interaktivt skalprogram som lägger till lite extra funktionalitet. PyReadline Lägger till funktionalitet för att redigera i kommandoraden. 6.2 Implementation av optimeringsproblem i JModelica.org Ett optimeringsproblem ställs upp på följande form: min u( ) t f s.a. ẋ = f(x(t), u(t)) g(u(t), x(t)) 0 x(t 0 ) = x 0 x(t f ) = x f u min u u max t [t 0, t f ] där u(t) är styrsignaler, t f är tiden då bilen når mållinjen, x(t) är tillstånden i modellen, g(u, x) är optimeringsproblemets villkor,

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 12 u min och u max är minsta respektive största tillåtna värde på styrsignalen, t 0 är starttiden och x 0 är tillstånden vid tidpunkten 0. Detta kan implementeras i Optimica enligt: optimization Opt Model (objective = finaltime, starttime = 0, finaltime(free=true, min=4,initialguess=6.5)) // Tillstånd Real x1(start=x1 0,fixed=true); Real x2(start=x2 0,fixed=true);... // Styrsignaler input Real u1(free=true, min=u1 min, max=u1 max); input Real u2(free=true, min=u2 min, max=u2 max);... // Modellekvationer equation der(x1) = f1(u1,u2,...,x1,x2,...); der(x2) = f2(u1,u2,...,x1,x2,...);... // Optimeringsvillkor constraint 0 <= g1(u1,u2,...,x1,x2,...); 0 <= g2(u1,u2,...,x1,x2,...);... x1(finaltime) = x1 f; x2(finaltime) = x2 f;... end My Opt; 6.3 Lösning av optimeringsproblemet Efter att Modelica/Optimica-modellen har skapats behöver den kompileras till ett JMUobjekt som sedan optimeras med hjälp av IPOPT-lösaren. Detta gör man med hjälp av

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 13 pythonscript. # Importera funktionen för kompilering av modeller och JMUModel-klassen from pymodelica import compile_jmu from pyjmi import JMUModel # Kompilera modellen (<Modellnamn> och <Modellfil> byts ut mot passande namn) jmu_name = compile_jmu(<modellnamn>,<modellfil>) # Ladda modellen opt_mod = JMUModel(jmu_name) # Optimera modellobjektet m.h.a IPOPT om inget annat anges res = opt_mod.optimize() # Plocka ut variabelvärden (exempel på variabelnamn, kan vara andra i modellen) x1=res[ x1 ] x2=res[ x2 ] u=res[ u ] t=res[ time ] Variablerna returneras i form av numpy-arrayer som sedan tas om hand på önskat sätt. De kan plottas med hjälp av matplotlib-biblioteket eller så kan de skrivas ut till en textfil och användas tillsammans med referensinterfacet för att styra bilen i det autonoma läget. 6.4 Optimeringsmetoder och initialgissning För att lösa ett optimeringsproblem krävs en initialgissning som optimeringslösaren utgår ifrån innan den börjar söka den optimala lösningen. För att undvika att man får ett lokalt men icke-globalt minimum som lösning så krävs det att initialgissningen är god. Med aktuell bilmodell från avsnitt bilmodell finns risken att IPOPT inte kan hitta en lösning för hela problemet. För att lösa detta kan optimeringsproblemet behöva delas upp i mindre delar, alternativt förenkla modellen eller använda sig av en uppstyckad bana med förenklad modell. Det finns flera metoder för att lösa optimeringsproblemet och för att komma fram till en initialgissning och nedan beskrivs några av dem. 6.4.1 Initialgissning i mitten av banan En simpel initialgissning är att välja en trajektoria på mitten av banan med konstant hastighet. Om man förbättrar denna gissning manuellt genom att sprida ut punkter med kvalificerade gissningar av hastighet och styrvinkel så förväntas optimeringsproblemet förenklas. 6.4.2 Tidigare beräknad trajektoria Då det här projektet är en vidareutveckling av ett tidigare projekt, OSARR av projektgruppen Slipping Limit, finns redan beräknade trajektorier. Genom att använda dessa trajektorier som initialgissning i detta projekts optimeringsproblem kan eventuellt en lösning hittas utan att dela upp problemet i mindre delar. Denna metod kan därmed vara en lämplig första ansats för lösning av optimeringsproblemet.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 14 6.4.3 Inspelad trajektoria Då bilen kör i autonomt läge kan trackingsystemet spela in bilens trajektoria. Om bilen kör efter den beräknade trajektorian från tidigare projekt och bilens trajektoria spelas in kan denna användas som intialgissning. 6.4.4 Uppdelning av bana med överlappande sektioner En metod är att dela upp optimeringsproblemet i sektioner där en sektion motsvarar en del av banan. Dessa sektioner väljs så att de överlappar med varandra och täcker hela banan. Optimeringsproblemet löses sedan för varje sektion för sig vilket förenklar problemet avsevärt. Lösningen till en sektion av banan kan sedan användas som initialgissning till intilliggande överlappande sektion. Lösningarna knyts sedan ihop till en lösning för en sluten trajektoria. 6.4.5 Stegvis ökning av optimeringshorisont Ytterligare en metod är att utgå från en startposition och lösa optimeringsproblemet för en kort sträcka. Lösningen används sedan som initialgissning till ett optimeringsproblem där sträckan utökats ett stycke med slutposition längre fram på banan. Detta upprepas tills en lösning för hela banan har erhållits. 6.4.6 Optimering av initialgissning En metod beskriven av Danielsson [2] går ut på att i ett första steg lösa ett optimeringsproblem som minimerar styrsignalerna, givet en fix sluttid. Till detta optimeringsproblem är en relativt enkel initialgissning tillräcklig. Steg ett itereras och inför varje iteration sänks den fixa sluttiden tills en lösningen inte längre hittas. Vissa justeringar kan sedan utföras för att ytterligare förbättra sluttiden. I steg två används lösningen till ovan nämnda optimeringsproblem som initialgissning till optimeringsproblemet som minimerar sluttiden. 6.4.7 Alternativ metod En annan metod beskriven av Cardamone [3] bygger på idén att lösa en trade-off mellan kortaste väg och minsta krökning. På detta sätt kan en optimal väg beräknas. Denna optimala väg kan användas som en del av en intialgissning. 6.5 Banparametrisering För att optimeringslösaren ska känna till vilka positioner i x- och- y-led som är tillåtna, och vilka positioner som är utanför sargen, behöver banan parametriseras. Nedan beskrivs två metoder för att implementera dessa bivillkor som constraints i Optimica. 6.5.1 Kontinuerliga begränsningar Man kan beskriva banan med hjälp av ellipser som motsvarar sargen. Dessa ellipser blir förbjudna områden i optimeringsproblemet och villkoren formuleras så att bilen vid varje tidpunkt måste befinna sig utanför alla ellipserna. Figur 8 nedan visar hur det kan se ut med ellipser av ordning 2. I verkligheten vill man ha högre då detta gör att sargerna blir rektanglar med rundade hörn. Ellipserna beskrivs av ekvationen

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 15 Figur 8: Skiss över hur banans väggar kan representeras med ellipser. Dock är ellipserna här av ordning 2. Om man har högre ordning på ellipserna kommer de mer att likna den riktiga banan. ( ) n ( x r n xi y yi + a i Där (x i, y i ) är ellipsens centrum och a i och b i är halvaxlarnas längder. Kraven formuleras som optimeringsvillkor i optimica som r^n <= ((x - xi)/ai)^n + ((y - yi)/bi)^n; Sedan måste bilen även hålla sig innanför de yttre väggarna. Detta är väldigt enkelt att implementera som direkta gränser på x- och y-position. x >= xmin; y >= ymin; x <= xmax; y <= ymax; b i ) n Detta sätt att representera banan användes i projektet OSARR förra året (2011) och verkade fungera bra. 6.6 Gränssnitt Till optimeringen används bilmodellen framtagen i avsnitt 5 samt en parametrisering av banan enligt någon av metoderna beskrivna i avsnittet 6.5 på föregående sida. Resultatet från optimeringen sparas till en fil för att sedan kunna användas av regulatorn.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 16 7 Regulator Regulatorns uppgift är att se till att bilen följer den tidsoptimala trajektorian, i en så hög hastighet som möjligt, samtidigt som systemet förblir robust och stabilt. Beroende på var bilen befinner sig på banan måste regulatorn ställa ut olika hastigheter och styrvinklar. 7.1 Regulatorstruktur Regulatorn ska implementeras som en linjär tillståndsåterkoppling, specificierad av (21). L-matrisens värden ska styras utifrån gain-scheduling övervakning. Detta innebär att beroende på (i detta fall) vilken hastighet bilen har, kommer olika värden på L-matrisen att ställas ut i regulatorn. De olika värdena erhålls i sin tur med minimering av linjärkvadratiska kriterier (LQ-teknik) i offlineläge. Skillnaden mellan värdena på L-matriserna kommer att bero på hur hårt regulatorns tillstånd, för olika hastigheter, kommer att straffas. Matrisen L 0 bestäms så att det slutna systemet får önskvärda statiska egenskaper. Ett flödesschema som beskriver det tillståndsåterkopplade systemet visas i figur 9. u = u offline Lẑ + L 0 r (21) ẑ = M ˆx Referensinterface u offline r L 0 L 0 r u Bil Lẑ L ẑ Referensinterface Figur 9: Blockschema beskrivande det tillståndsåterkopplade systemet. 7.2 Bilmodell för regulatorsyntes För att kunna använda LQ-teknik, måste en linjär modell som beskriver hur regulatorn påverkar bilens tillstånd via styrsignalerna tas fram. Regulatorn kommer att bestå av fem tillståndsvariabler. Dels de som beskriver bilens dynamik, givna av (20) och dels de storheter som är definierade i figur 10. Vid framräkningen av rörelseekvationerna görs en del antaganden och approximationer enligt (22). Avståndsskillnader mellan bilens nuvarande position och referensbanan betraktas som positiva då bilens masscentrum befinner sig till vänster om referensbanan och negativa när bilen är placerad till höger om referensbanan.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 17 θ ref θ, v x θ e r e ṙ e Figur 10: Variabler som är intressanta för regulatorn. F xf = 0 (22) F yf = c αf α f F yr = c αr α r sin(δ f ) = δ f cos(δ f ) = 1 δ f = c f u s α f = δ f l 1Ω z + V y α r = l 2Ω z V y 7.3 Härledning av rörelsemodellen och övriga storheter I detta avsnitt kommer rörelseekvationerna angivna av (20), med antaganden och approximationer enligt (22) att tas fram. Fortsatta härledningar behandlas bara för u g 0. Detta innebär att det förutsätts att dynamiken är samma för acceleration som för inbromsning.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 18 7.3.1 Hastigheten i x-led = F xr F yf sin(δ f ) m + V y Ω = (23) =AV 2 x + Du 2 g + B + Cu g + Eu g c αf α f sin(δ f ) m =AVx 2 + Du 2 g + B + Cu g + Eu g c αf (δ f Ωzl1 m =AVx 2 + Du 2 g + B + Cu g + Eu g c αf (c f u s Ωzl1 m 7.3.2 Hastighten i y-led + V y Ω z = Vy )δ f Vy )c f u s + V y Ω z = + V y Ω z 7.3.3 Vinkelhastigheten V y = F yf cos(δ f ) + F yr m = c αf α f + c αr α r Ω z = m = c αf (c f u s l1ωz+vy l ) + c 2Ω z V y αr m Ω z = (24) Ω z Ω z = l 1F yf cos(δ f ) l 2 F yr I z = (25) = l 1c αf α f l 2 c αr α r I z = = l 1c αf (c f u s l1ωz+vy l ) l 2 c 2Ω z V y αr I z 7.3.4 Avståndet mellan bilens önskade och verkliga position Förändringshastigheten för r e (ṙ e ) antas vara projektionen av hastighetsvektorn på referensbanans normal. ṙ e = sin(θ e ) + cos(θ e )V y (26) 7.3.5 Skillnaden mellan referensvinkeln och bilens nuvarande vinkel Hur denna defineras visas i figur 10. θ e = θ ref θ (27)

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 19 7.4 Olinjär regulator modell Den olinjära modellen för dynamiken blir då: = AVx 2 + Du 2 g + B + Cu g + Eu g c αf (c f u s Ωzl1 m V y = c αf (c f u s l1ωz+vy l ) + c 2Ω z V y αr Ω z m Ω z = l 1c αf (c f u s l1ωz+vy I z ṙ e = sin(θ e ) + cos(θ e )V y θ e = Ω z ) l 2 c αr l 2Ω z V y Vy )c f u s + V y Ω z (28) Mätningarna för de fem tillstånden skapas i referensinterfacet och mätekvationen h(x) blir V y y = h(, V y, Ω z, r e, θ e ) = Ω z r e θ e där y är de (transformerade) mätningar som regulatorn får. (29) 7.5 Linjäriserad modell För att få en linjär modell så linjäriseras modellen ovan kring en viss arbetspunkt [x, u ]. För linjärisera på ett smidigt sätt så definieras tillståndsvektorn som x = [ V y Ω z r e θ e ] T och insignalvektorn till u = [ u g u s ] T. Modellen kan då att skriva som där f(x, u) = och ẋ = f(x, u) (30) y = h(x) (31) AVx 2 + Du 2 g + B + Cu g v x + Eu g c αf (c f u s Ωz l 1 Vx c αf (c f u s l 1Ωz +Vy Vx m l 1c αf (c f u s l 1Ωz +Vy Vx )+c αr l 2 Ωz Vy Vx m Ω z ) l 2c αr l 2 Ωz Vy Vx I z sin(θ e ) + cos(θ e )V y Ω z h(x) = x 1 x 2 x 3 x 4 x 5 Vy Vx )c f u s + V y Ω z är vektorvärda funktioner. Linjäriseringen sker kring arbetspunkten x = [ Vx Vy Ω z 0 0 ] T samt ū = [u g u s] T och beräknas med hjälp av första ordningens Taylorutveckling enligt ẋ f( x, ū) + f(x, u) x (x x) + x= x,u=ū f(x, u) u (32) (33) (u ū) (34) x= x,u=ū

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 20 y y( x) + h(x) x (x x) (35) x= x På matrisform blir modellen enligt (36). a 11 a 12 a 13 a 14 a 15 b 11 b 12 a 21 a 22 a 23 a 24 a 25 q = a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 q + b 21 b 22 b 31 b 32 b 41 b 42 w (36) a 51 a 52 a 53 a 54 a 55 b 51 b 52 1 0 0 0 0 0 1 0 0 0 ỹ = 0 0 1 0 0 0 0 0 1 0 q 0 0 0 0 1 där q = x x och w = u u samt a ij = fi x j och b ij = fi u j utvärderade i x och u. Dessutom är ỹ = y y( x). Värdena för dessa återfinns i Appendix A. 7.5.1 Bestämning av jämviktspunkter Regulatorn kommer att försöka styra systemet mot r e = 0 och θ e = 0, varför dessa värden väljs som arbetspunkt vid linjäriseringen. Övriga tillstånd har ingen konstant arbetspunkt att linjärisera kring. Bestämning av övriga jämviktspunkter i x samt u gör man genom att utföra experiment för olika jämviktspunkter. Det innebär att man bestämmer sig för en stationär punkt x och sedan studerar vilka styrsignaler som krävs för att nå denna arbetspunkt. När man gjort detta vet man alltså hur den linjäriserade modellen blir genom att evaluera de olika matriselementen i A och B. Genom att välja olika x får man olika värden på styrsignalerna och därmed med blir även matriselementen olika. Detta resulterar i olika modeller och därmed olika L i LQ-återkoppling. 7.5.2 Potentiella förenklingar I och med att uttrycken är väldigt långa kan det vara smidigt att göra ytterligare förenklingar. Förslag på sådana kan till exempel vara att modellera om F xr, vilket förenklar. 7.6 Gränssnitt I detta avsnitt beskrivs all information som regulatorn använder och skapar. 7.6.1 Intressanta storheter ˆx ẑ y v ref Skattade tillståndet hos bilen. Kommer från målföljningssystemet. De intressanta reglerstorheterna. Mätsignaler som används av regualtorn. Referenshastigheten för bilen.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 21 u offline u L L 0 Offlineberäknade styrsignaler. Används i framkoppling. Önskade styrsignaler. Bestäms med LQ-teknik. Gain-scheduling beroende på vilken hastighet bilen har. Bestäms så att slutna systemet får önskade statiska egenskaper. 8 Referensinterface Referensinterfacet är det system som sköter kommunikationen mellan regulator och referenstrajektorian, se figur 2. Givet de skattningar som trackingssystemet ger samt referenstrajektorians värden, skickar referensinterfacet mätningar som regulatorn återkopplar från. De mätningar som regulatorn förväntar sig från referensinterfacet beskrivs i ekvation (37) till (41). = v x,bil (37) V y = v y,bil (38) Ω z = θ (39) r e = XY bil XY ref (40) θ e = θ bil θ ref (41) där XY i är positionen i globala koordinatsystemet, v bil är hastigheten i bilens longitudinella riktning samt θ i är vinkeln mellan bilens longitudinella riktning och den globala X-axeln (i {bil, ref}). För att avgöra vilken referenspunkt som ska användas tar referensinterfacet den punkt där avståndet mellan trajektorian och bilens masscentrum är som minst. Dessutom innehåller referensinterfacet även styrsignalerna från optimeringslösaren. Med hjälp av detta kan en framkopplingslänk till regulatorn implementeras. 8.1 Gränssnitt I detta avsnitt beskrivs vad interfacet förväntar sig för in- och utsignaler från de olika delsystemen. 8.1.1 Insignaler från offlinesystemet trajektoria Information om referenstrajektorian läses in från en fil som optimeringslösaren skapat. 8.1.2 Insignaler från onlinesystemet x Tillståndet för bilen från trackingssystemet. 8.1.3 Utsignaler till onlinesystemet y Mätsignaler till regulatorn.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 22 v ref u offline Referenshastigheten för bilen. De styrsignaler som optimeringslösaren beräknat offline.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 23 Referenser [1] Almroth, M. Modellering av racerbil. Linköpings Universitet, Linköping, 2012. [2] Danielsson, H. Vehicle path optimisation. Lunds Universitet, Lund, 2007. [3] Cardemone, L. Searching for the Optimal Racing Line Using Genetic Algoritm. University of Illinois, Illinois USA, 2010.

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 24 A Appendix A.1 A-matrisen, tillståndsform a 11 = 2AV x + B + Cu g c αf c f u s(ω zl 1 + V a 12 = c αf c f u s mv x a 13 = c αf c f u sl 1 mvx a 14 = 0 a 15 = 0 + Ω z + V y Vx 2 m y ) a 21 = c αf l 1 Ω z + c αf Vy V 2 m a 22 = c αf mv x a 23 = c αf l 1 mvx a 24 = 0 a 25 = 0 x c αr mv x + c αf l 2 mv x c αrl 2 Ω z mv 2 x V x + c αrvy mvx 2 Ω z l 1 Ω z + Vy a 31 = l 1 c αf V 2 a 32 = l 1c αf V x I z + l 2c αr V x I z a 33 = l2 1c αf V x I z l2 2c αr V x I z a 34 = 0 a 35 = 0 x I z + l 2 c αr l 2 Ω z Vy Vx 2 I z a 41 = 0 a 42 = 1 a 43 = 0 a 44 = 0 a 45 = Vx a 51 = 0 a 52 = 0 a 53 = 1 a 54 = 0 a 55 = 0

Vidareutveckling av Optimal Styrning av Radiostyrd Racerbil 25 A.2 B-matrisen, tillståndsform b 11 = CV x + 2Du g + E b 12 = 2 c αf c f m b 21 = 0 b 22 = c αf c f m b 31 = 0 b 32 = l 1c αf c f I z b 41 = 0 b 42 = 0 b 51 = 0 b 52 = 0 u s + c αf c f (Ω zl 1 + V y ) V x m