Systemskiss Vidareutveckling Optimal Styrning av Radiostyrd Racerbil Version 1.0 Simon Eiderbrant Status Granskad Erik Olsson 20 September 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 12 September 2012 Första utkast 0.2 18 September 2012 Andra utkast 1.0 20 September 2012 Slutdokument
Innehåll 1 Inledning 1 2 Syfte och mål 1 3 Användning 1 4 Systemöversikt 1 5 Bilmodellering 3 6 Beräkning av trajektoria med hjälp av optimal styrningmetoder 4 6.1 Ingående mjukvara........................................ 4 7 Regulator 5 7.1 Regulator............................................. 5 7.2 Gränssnitt............................................. 5
Vidareutveckling 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 syfta 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örblir robust och stabilt, något som den nuvarande systemet inte är. Den optimala 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 på följande sida 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 någon form av regulator) som sedan ställs ut till handkontrollen. I det manuella läget så körs en enkel loop-back funktionalitet som gör att bilen körs helt manuellt.
Vidareutveckling Optimal Styrning av Radiostyrd Racerbil 2 Figur 1: Informationsflöde mellan hårdvarukomponenter. Mjukvarumässigt består systemet av fem huvudkomponenter: Målföljningssystemet (redan implementerat) Regulatorn System för att beräkna en trajektoria med metoder från optimal styrning Bilmodellen Referensinterface (redan implementerat) Målföljningssystemet beräknar bilens skattade position (detta är redan implementerat). Bilmodellen tas fram genom att göra mätningar på bilen och bilbanan. För att beräkna en referenstrajektoria använder man sig av bilmodellen, detta görs offline men kan även användas i regulatorn om så krävs. Ett referensinterface används för att online kunna hantera informationen om banan på ett enkelt sätt. Ett blockschema över hela mjukvarustrukturen ses i figur 2 på nästa sida. Mer detaljerade beskrivningar av dessa system återfinns nedan i detta dokument.
Vidareutveckling Optimal Styrning av Radiostyrd Racerbil 3 Bilmodell offline bilmodell reducerad trajektoria online Trajektoriaoptimering Baninformation Referensinterface Handkontroll x ref x Tracking ˆx Regulator u Radiomodul Figur 2: Blockschema beskrivande signalflödet mellan de olika delsystemen. 5 Bilmodellering I projektet används modeller av Porsche och Lamborghini-bilar med än längd på ungefär 10 cm. Dessa består av ett chassi och en kaross och drivs av ett batteri som sätts in i chassit under karossen. Bilarna har en motor som driver bakhjulen och ett styrservo som används för att styra framhjulen. Den kan styras med hjälp av en fjärrkontroll eller via dator och dessa kan accelerera bilen framåt och bakåt, bromsa och ställa ut en styrvinkel till styrservot. Bilmodellen som togs fram förra årets projekt stämmer inte särskilt bra med verkligheten vilket resulterade i att bilen inte kunde följa det optimala spår som räknades fram. Årets projekt fokuserar mycket på att skapa en bättre modell, utgående ifrån det grundarbetet som gjordes under sommarprojektet. Till modellen måste parametrar identifieras, och modellen ska också verifieras så att den med säkerhet stämmer tillräckligt väl ihop med verkligheten. Bilmodelleringen delas upp i fyra olika områden:
Vidareutveckling Optimal Styrning av Radiostyrd Racerbil 4 Motormodellering Modellering av dynamiken från gaspådrag till utmoment vid hjulen. Däckmodellering Modellering av däckfriktion och slip för att veta vilket utmoment som kan ställas ut på däcken utan att bilen tappar greppet i kurvorna. Styrningsmodellering Modellering av hur bilen beter sig vid olika styrsignaler till styrservot. Dynamikmodell för hela bilen Här sätts modellerna ihop till en stor modell som behandlar hela bilens beteende. 6 Beräkning av trajektoria med hjälp av metoder från optimal styrning 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äggsprogram till Modelica. Resultaten från Modelica och Optimica körs sedan tillsammans i JModelica. JModelica ställer upp problemet 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 3. Fordonsmodell Modelica JModelica IPOPT Bivillkor Optimica Optimal Trajektoria Figur 3: Informationsflöde för att beräkna optimal trajektoria med JModelica. 6.1 Ingående mjukvara För att kunna lösa optimeringsproblemet behövs följande mjukvara: JModelica med Optimica IPOPT
Vidareutveckling Optimal Styrning av Radiostyrd Racerbil 5 7 Regulator Systemet ska kunna få bilen att autonomt följa en given referensbana. Det gör systemet genom att regulatorn kontinuerligt tar emot information om bilens skattade tillstånd från trackingsystemet samt en referenstrajektoria från referensinterfacet. Systemet ska även kunna möjliggöra manuell styrning med en handkontroll. I figur 4 ser man en schematisk bild över hur systemets ingående delar interagerar med varandra. Referensinterface Handkontroll x ref x Tracking ˆx Regulator u Radiomodul Figur 4: Blockschema beskrivande signalflödet mellan de olika delsystemen. Antingen är regulatorns eller handkontrollens styrsignal u aktiv, beroende på om systemet körs i autonomt eller manuellt läge. 7.1 Regulator Regulatorn har till uppgift att få bilen att följa en given referensbana, exempelvis bestående av linjeval och hastighet. Regulatorn bör ha någon form av framkoppling från referensvärdet och ej enbart reglera på reglerfelet, så att den exempelvis i en kurva börjar styra redan innan något reglerfel uppstått. 7.2 Gränssnitt Gränssnittet som används av delkomponenterna specificeras nedan: u - styrsignaler från antingen regulatorn eller handkontrollen till radiomodulen. Det finns två styrsignaler, en till gas och en till styrning. Dessa kan ligga i intervallet -1 till 1 (-1 max broms och 1 max gas, respektive maximalt vänster och maximalt höger).
Vidareutveckling Optimal Styrning av Radiostyrd Racerbil 6 x - godtyckligt tillstånd som utbytes mellan något av systemets delsystem. ˆx - bilens skattade tillstånd. Skattningsalgoritmen finns i målföljningssystemet och ger skattningarna till failsafesystemet och regulatorn. x ref - referensen för bilens tillstånd. Kommer från den trajektoria som beräknats med metoder från optimal styrning. på/av banan - boolesk variabel som anger ifall hela bilen befinner sig på banan i det givna tillståndet x.