torsdag den 2. februar 2012

Lego LAB Uge 1

Som det første satte vi os for sideløbende at bygge robotten og få installeret drivere og software til NXT'en. Bygningen af robotten gik efter planen, mens installationen af softwaren var noget mere problematisk. Vi installerede på en Windows 7 64-bit maskine med 32-bit JDK 1.7.0, 32-bit Eclipse og 64-bit USB driver. Under installationen fulgte vi manualen, men det viste sig at være problematisk, da vi havde problemer med "JAVA_HOME" miljøvariablen. Manualen sagde nemlig, at man skulle sætte den, men det virkede faktisk kun, hvis man ikke havde sat den. Det sjove ved dette problem var, at leJOS softwaret faktisk sagde, at vi ikke havde JDK installeret, men det vi ignorerede vi, hvilket endte med at virke alligevel. Efter vi fixede dette problem kunne vi flashe vores NXT med leJOS. Et andet problem var, at vi ikke kunne uploade til NXT'en via de medfølgende .bat filer. Dette fixede vi ved at installere et Eclipse plugin.

Så efter vi brugte en del tid på at få fixet disse problemer, kunne vi begynde at lægge programmer over på robotten. Dette gav os følgende test resultater.

Resultater
Lyssensoren tændt
Grøn: 43
Rød: 57
Lysegrå: 52

Sort: 35
Hvid: 55

Så grunden til at blackWhiteThreshold er sat til 45 er fordi, at det er lige mellem mellem værdierne for sort og hvid.

Lyssensoren slukket
Grøn: 37
Rød: 41
Lysegrå: 34

Sort: 27
Hvid: 42

Så her, er værdierne generelt lavere end før, men til gengæld er de så også tættere på hinanden. Så derfor, ville f.eks. thresholdet fra før ikke virker mere. Denne form for måling kan ikke bruges til farver, men mere til lysstyrke, hvilket resultaterne bekræfter.

Sample interval
I takt med, at vi øger delayed mellem aflæsninger fra lyssensoren, bliver svingene større, og den har sværere ved at holde sig på den sorte linje. Ved 10 ms kørte den perfekt, ved 100 ms var det mere usikkert, mens den ved 500+ ms havde nul chance for at holde sig på den sorte streg.

String-variabler eller ej
Ved begge forsøg svinger den frie memory fra 55.000 til 40.000.

Med variable:
  • 7.6 sekunder inden garbage-collectoren rydder op

Uden variable:
  • 3.0 sekunder

Altså kan vi konkludere, at det at lave nye strenge hele tiden fylder noget mere end at bruge pre-allokeret variabler.

Ingen kommentarer:

Send en kommentar