fredag den 5. oktober 2007

ESEA - Labnotes

NXT Programmering - Lektion 5 - fredag
Varighed: 4 timer - 9.00 - 13.00
Gruppemedlemmer: Aslak, Ruben og Lars

Målet for i dag er at gennemføre Robot Race hurtigst muligt. Vi er blevt forslået at gå væk fra brugen af Locomotion.java, idet den er baseret på en ikke-direkte adgang til motorene. Vi beslutter ved starten af dagen at bibeholde brugen af Locomotion.java, idet en så gennemgribende ændring vil tage for lang tid.

Dagen i går sluttede i en nedadgående retning, idet vi ved de sidste ændringer opnåede større kontrol med robottens opførsel, men med dårlige tider som resultat. Se bloggen fra i går for nærmere beskrivelse. Dette medfører at humøret ikke er i top, som fredagen starter kl. 09.00. Men vi tror på at det nok skal lade sig gøre at forbedre opførslen mærkbart. Det største problem vi har oplevet er, at vi ikke helt ved hvor mange målinger robotten når at udføre, når den er hhv. ude på det hvide uderlag og inde på den sorte tape. Vi ved altså ikke helt hvor aggresiv robotten skal dreje til højre, når den er på den sorte tape. Når robotten er for "slap" kører den ofte over tapen og kommer på den forkerte side (dette resulterede i en bakke-sensor placeret bag højre hjul). Når robotten er for aggresiv opnår vi utrolig god linje-følger tendenser, men også lave hastigheder. Altså er løsningen et kompromis, som skal findes eksperimentalt.

Vores første tilgang er at starte med bare én opførsel for målinger på hhv. hvid og sort. Ved at analysere hvordan robotten klarer banen med denne indstilling tilføjer vi langsomt flere og flere trin i opførslen. Når robotten f.eks. måler sort for 3. gang i træk er det på tide at dreje meget skarpt, osv. Denne tilgang er den samme som fra dag 1, men den virker ikke som vi håbede. Faktisk må vi indse, at vi ikke kan nå at få robotten til at gennemføre banen lige så godt som dagen i forvejen, inden vores tid løber fra os.

Realiteten er, at det oprindelige udgangspunkt, at holde antallet af sensorer på et minimum, at forsøge at optimere på udgangspunktet, frem for at lave en helt nytænkt løsning, at fokusere på at udvikle koden, frem for køretøjet, er slået helt fejl. Vi kan ikke tackle banen med samme hurtigt kørsel som nogle af de konkurrerende køretøjer.

Som dagen slutter vælger vi at indsende den bedste tid fra dagen i går, og en dokumentation af et gennemløb af banen som vores deltagelse i Robot Race. Koden, som den ser ud da denne lektion er slut er som følger:
slutkode

Ingen kommentarer: