Med Asbjørn, Christer og Jesper

fredag den 5. oktober 2007

NXT Robot Race (lesson 5)

Tidsforbrug: 3 timer.
Deltagere: Asbjørn, Christer og Jesper

Målet med dagens lektion er, at få vores robot til at følge en sort
streg på en bane på kortest mulig tid. Til slut skal vores tid
indsendes til Legolab.

Grundlæggende var vi enige om at vores robot havde den korrekte
grundlæggende funktionalitet og dagen skulle bruges til at kalibrere
diverse konstanter i robotten for at opnå optimal hastighed.

Vi havde to forskellige "håndtag" vi kunne dreje på, begge relateret
til hastigheden i sving. Som det kan ses på billeder har vores robot
tre sensorer. Vores program kører robotten fremad hvis den midterste
sensor ser sort. Hvis den midterste sensor ikke ser sort, men er af de
andre to gør drejer den ind imod banen igen. Det gør den ved at det
ene hjul kører ved fuld hastighed og det andet kører ved en anden
hastighed. Denne anden hastighed kaldes herefter halfSpeed. Hvis ingen
af sensorne ser sort drejer den skarpt imod den side hvor den sidst
har set sort. Igen gøres det ved at det ene hjul kører ved fuld
hastighed mens det andet kører ved mindre hastighed. Denne mindre
hastighed kalder vi stopSpeed. De to variabler vi har leget med er
altså halfSpeed og stopSpeed.

Det første vi gjorde var at skifte batterierne til almindelige AA
batterier og sætte det store specielle batteri til opladning. Vi satte
da stopSpeed til 0 og eksperimenterede med forskellige værdier af
halfSpeed. For hver værdi lavede vi tre tests på banen:

halfSpeed stopSpeed tid / s
600 0 21,8
- 0 21,9
- 0 22,8
700 0 22,5
- 0 22,9
- 0 22,9
800 0 Fejl
- 0 23,8
600 0 22,8
- 0 23,1
- 0 23,2
500 0 23,1
- 0 23,3
- 0 23,4


På dette tidspunkt valgte vi at stoppe. Vi nøjedes med kun to målinger
ved værdien 800 fordi den værdi gav meget dårlige resultater. Kigger
du på ovenstående bruges værdien 600 to gange og giver forskellige
resultater. Vores konklusion var at det var vigtigere at der er meget
strøm på batterierne end hvad værdien af halfSpeed er.

Vi ændrede nu softwaren til at kunne skifte halfSpeed of stopSpeed
variablerne på runtime med et menu-system og skiftede batteriet
tilbage til det medfølgende specielle batteri og lavede nye
tests. Denne gang testede vi kun en gang for hver parameter. Først
koncentrede vi os om at skyde os ind på nogle gode værdier til
halfSpeed med de nye batterier:

halfSpeed stopSpeed tid / s
600 0 22,3
550 0 22,5
650 0 22,0
700 0 22,9


Dernæst eksperimenterede vi med stopSpeed:

halfSpeed stopSpeed tid / s
650 100 22,0
650 200 22,0
650 400 22,6
800 500 23,3


Hvor den sidste test var et halv-desperat forsøg på at få meget fart
ud af robotten ved hele tiden at køre hurtigt. Det mislykkedes
naturligvis fordi den nu ikke længere var i stand til at følge banen
godt.

På dette tidspunkt koknkluderede vi at den eneste måde at få mere fart
på var bedre batterier, som vi ikke umiddelbart kunne finde. Vi gav
derfor umiddelbart op.

Nu var der ca. en time tilbage og for sjov ville vi få robotten til at
spille et stykke musik mens den kørte. Som musik valgte vi naturligvis
fjerde del af ouverturen fra William Tell. (Det eneste muligt korrekte
valg.) Vi fik bilen til at stå stille under introen hvilket så meget
imponerende ud. Det sjove er at med musik satte vi dagens bedste tid
(for vores bil):

halfSpeed stopSpeed tid / s
600 50 21,317


Vores bedste gennemkørsel:

En AVI kan hentes her.
Den spiller føromtalte melodi, men desværre bliver den overdøvet af motorerne.

Ingen kommentarer: