No Oscillations Corporation Efterstudie Optimal Styrning av Autonom Racerbil Version 0.1 Författare: Sofia Johnsen Datum: 20 december 2013 Status Granskad Sofia Johnsen 2013-12-12 Godkänd
Projektidentitet E-post: Hemsida: Beställare: Kund: Kursansvarig: Projektledare: Handledare: noosc@googlegroups.com http://www.isy.liu.se/edu/projekt/reglerteknik/2013/osaar/ Kristoffer Lundahl, Linköpings Universitet Telefon: 013-286623, E-post: kristoffer.lundahl@liu.se Daniel Axehill, Linköpings Universitet Telefon: 013-284042, E-post: daniel@isy.liu.se Daniel Axehill, Linköpings Universitet Telefon: 013-284042, E-post: daniel@isy.liu.se Mikael Rosell Isak Nielsen, Linköpings Universitet Telefon: 013-282804, E-post: isak.nielsen@liu.se Gruppmedlemmar Namn Ansvarsroller Telefon E-post (@student.liu.se) Mikael Rosell (MR) Projektledare (PL) 070-3901264 mikro418 Victor Carlsson (VC) Informationsansvarig (IA) 073-0568295 vicca226 Henrik Edlund (HE) Hårdvaruansvarig (HA) 070-4202846 hened061 Mathias Hallmén (MH) Testansvaring (TA) 073-8054244 matha848 Sofia Johnsen (SJ) Designansvarig (DA) 073-6459540 sofjo100 Lukas Lorentzon (LL) Figuransvarig (FA) 072-2347314 luklo656 Dennis Lundström (DL) Dokumentansvarig (DOC) 076-3377642 denlu994 Oskar Sunesson (OS) Leveransansvarig (LA) 070-2632041 osksu783
Dokumenthistorik Version Datum Förändringar Sign Granskad
Innehåll 1 Inledning 1 2 Tidsåtgång 1 2.1 Arbetsfördelning......................................... 1 2.2 Fördelning av tid......................................... 1 3 Analys av arbete och problem 2 3.1 Samarbete i gruppen....................................... 2 3.2 Användning av projektmodell.................................. 2 3.3 Relation med beställare..................................... 2 3.4 Relation med handledare..................................... 2 3.5 Tekniska framgångar/problem.................................. 2 4 Måluppfyllelse 3 4.1 Uppnådda mål.......................................... 3 4.2 Leverans.............................................. 3 4.3 Studiesituationens påverkan på projektet och vice versa................... 3 5 Förslag på vidareutveckling 3 6 Sammanfattning 4 6.1 Erfarenheter............................................ 4 6.2 Råd................................................ 4
Optimal Styrning av Autonom Racerbil 1 1 Inledning I detta dokument utvärderas projektet med avseende på tidsåtgång, arbetsgång och mål. 2 Tidsåtgång I den här sektionen beskrivs arbetsfördelning och fördelning av tid. 2.1 Arbetsfördelning Arbetsfördelningen gjordes vid veckovisa möten. Detta gjorde det enkelt att fördela tillgängliga resurser, till exempel om vissa delsystem behövde mer resurser eller om någon gruppmedlem var frånvarande. Fördelningen av arbete tog även hänsyn till gruppmedlemmarnas kompetenser så att till exempel vid implementering fanns alltid en erfaren programmerare i implementeringsgruppen. Detta gjorde att arbetet blev tideffektivt och mindre erfarna programmerare fick lärdomar. I projektrummet fanns en planeringstavla. Planeringstavlan var en whiteboard med mindre aktiviteter eller problem skrivna på post-it lappar och varje gruppmedlem hade ett fält på tavlan. En gruppmedlem satte sedan en post-it lapp i sitt fält om vederbörande arbetade med den aktiviteten. Detta gjorde att det snabbt gick att få en översikt av projektet och aktuella problem. Gruppmedlemmarna kunde lägga till post-it lappar allt eftersom problem eller lösningar uppenbarade sig. 2.2 Fördelning av tid Fördelningen av tid har överlag varit bra. Gruppmedlemmarna kunde planera sin tid självständigt dock skulle veckomål uppfyllas. En gruppmedlem arbetade mycket den första tiden. Detta berodde på att gruppmedlemen hade insikt i systemet från ett sommarprojekt och därför utbildade och hjälpte resterande gruppmedlemmar. Detta vållade inga problem utan var en förutsättning för ett väl utfört projekt då övriga gruppmedlemmar snabbt kom in i systemet. Gruppmedlemen arbetade mindre under den senare delen av projektet så den totala tiden överskreds inte. Gruppen har använt en internet-tjänst (Doodle.com) för att planera arbetsveckorna. Projektledaren mailade ut en doodle varje söndag tillsammans med veckans mål. Detta gav en god uppsikt av vad som skulle göras och när alla gruppmedlemmar var tillgängliga. Planerad tid och arbetad tid visas i Tabell 1. Reservtid är ej medräknad. Fas Planerad tid i timmar Använd tid i timmar Före 182 239 Under 1100 1229 Efter 165 188.5 Gemensamma aktiviteter för samtliga faser 264 213 Tabell 1: Planerad och arbetad tid.
Optimal Styrning av Autonom Racerbil 2 3 Analys av arbete och problem Kommande avsnitt behandlar arbetsgången och gruppdynamiken under projektet. 3.1 Samarbete i gruppen Samarbetet i gruppen har fungerat väl. Gruppen har strävat efter att jobba i mindre delgrupper för att underlätta arbetet. Det har varit enkelt för delgrupperna att föra dialog med varandra i och med veckovisa möten samt att delgrupperna ofta jobbade i eller i närheten av projektrummet vilket gjorde det snabbt och smidigt att lösa problem. För kommunikation i gruppen har mail-grupp och sms-grupp använts. Oftast användes sms-gruppen även för delgrupperna så att informationen nådde alla. 3.2 Användning av projektmodell De dokument som har varit obligatoriska för kursen är de dokument som följer LIPSmodellen och gruppen har i och med detta följt LIPS-modellen vad det gäller dokumentation. Däremot har gruppen valt att arbeta på ett tillvägagångssätt som mer liknar agila projektmodeller snarare än LIPS-modellen. Gruppen anser att vissa av dokumenten i LIPS-modellen helt klart är nödvändiga medan andra är rent av onödiga. 3.3 Relation med beställare Veckovisa möten mellan beställare och projektledare har förts, detta främst för statusuppdatering till beställaren för hur projektet har utvecklats. 3.4 Relation med handledare Handledartiden har använts snålt under projektet då gruppen inte stött på några större problem som inte gruppen klarat av att lösa. Vad gäller dokumenten har handledaren gett gruppen mycket feedback. 3.5 Tekniska framgångar/problem Ett problem under projektets utveckling var att den kod som tillhandahölls av tidigare års projekt i syftet att utvecklas var skriven på ett sätt som gjorde det svårt att sätta sig in i den. Koden innehöll få kommentarer, hade många ogenerella lösningar och korsberoenden och var inte helt modulärt uppbyggd. Det ledde till stora tidsförluster under projektets gång, inte minst när enskilda moduler utvecklades, t.ex. sökalgoritmen i målföljningssystemet. I simulatorn fick mycket kod skrivas om för att få den helt modulär. Den hårdvara som tillhandahållits i projektet har inte alltid skapat bra förutsättningar för att uppfylla projektets mål. De fordon som framförts på banan har haft slitna däck och motorer. Projektdatorn har varit långsam och förhindrat arbete i viss utsträckning. Bilarna har behövt rengöras ganska ofta p.g.a. mycket smuts på banan.
Optimal Styrning av Autonom Racerbil 3 4 Måluppfyllelse Projektets övergripande mål var att: Förhöja demo-effekten med hjälp av en projektor Ta hänsyn till markörers placering i 3D Utveckla möjligheter att använda systemet i utbildningssyfte Förbättra det befintliga systemet Dessa mål finns specificerade i form av krav på delsystem i projektets kravspecifikation. 4.1 Uppnådda mål Gruppen anser att de övergripande målen har uppnåtts. Alla krav med prioritet 1 uppnåddes. 4.2 Leverans Leveransen gick bra. Systemet har blivit mer stabilt och under leveransen klarade bilen av att köra ca 100 varv. Gruppen anser att upplägget med BP5 och Leverans till kund är bra. Att ha BP5 innan leveransen tar bort en del av den press som finns inför presentationen. Formen på leveransen är bra då det blir mer personligt när det inte är så mycket folk. 4.3 Studiesituationens påverkan på projektet och vice versa I vissa perioder har några gruppmedlemmar varit tvungna att lägga tid på sina andra kurser och därför inte kunnat lägga tid på projektet. Detta har lösts genom att de gruppmedlemmarna jobbat mer med projektet under andra perioder då kurserna har krävt mindre tid. Då projektkursen är roligare än andra kurser samt att det krävs ett visst antal timmar, är det lätt hänt att projektkursen prioriteras framför andra kurser. Att projektkursen inte har fasta tider i schemat gör att ledig tid i schemat ofta blir projekttid, även om andra kurser också kräver att man arbetar utanför schemat. 5 Förslag på vidareutveckling Förbättra simulatorn. Hantera ofysikaliska fenomen. Fortsätta med Q-learning/Reinforcement learning. Det finns ganska mycket liknande från bilspel. Se t.ex. torcs.sourceforge.net. Kräver en bra simulator. Nya saker i Visualiseringssystemet Styra lastbilen autonomt Bygga om bilbanan och rita ut bana med projektorn Omkörningar och kollisionshantering MPC
Optimal Styrning av Autonom Racerbil 4 6 Sammanfattning Gruppen tycker att projektet har gått bra och förvånansvärt smidigt. Gruppen stötte inte på några problem som hindrade fortsatt arbete och stoppade projektet. 6.1 Erfarenheter Att dela upp systemet i delsystem som går att utveckla separat gör att om ett delsystem ligger nere så kan man jobba på ett annat. Det är bra att ha en samordnad planering där en tydlig översikt ges. I vårt fall en planeringstavla. Super-sticky post-it-lappar är bra om man väljer att använda en whiteboard. Det är bra att bryta ner mål och krav i små aktiviteter. Det behöver nödvändigtvis inte göras i tidplanen men någonstans där folk ser. 6.2 Råd Använd whiteboarden i projektrummet som planeringstavla. Se till att bilen är i bra skick innan felsökning av mjukvara inleds. Det hamnar lätt smuts i bilens hjul som gör att de snurrar sämre och bilen börjar dra åt ett håll. Dela upp systemet i delsystem som går att utveckla vid sidan av varandra. Upprätta bra kommunikationskanaler, mail- och sms-grupp etc.