Kristan Andersen, Simon Lykke, Jacob Styrup Bang

fredag den 28. september 2007

Lesson 4

Dagens mål:
  • Eksperimenter med lys sensoren.
  • Få sensoren til skelne mellem 3 farver.
  • Få robotten til at følge en sort streg og stoppe i et grønt målfelt.
Vi startede med at montere lys sensoren på robotten i følge manualen.
Dernæst blev alle programmer hentet, kompilet og kørt. Vi kikkede på kildekoden for BlackWhiteSensor og sammenligede den med første uges LineFollower klasse.
De 2 forskelle var; i LineFollower udføres der ingen kalibering da blackWhiteThreshold er sat i programmet og LineFollower bruger ikke Locomotion klassen.

Vi valgte ikke at teste klassen BlackWhiteSensor med vores egen test klasse, da den bliver testet i LineFollowerCal.
Vi tilføjede grøn i BlackWhiteSensor (nu omdøbt til ColorSensor) på samme måde som sort og hvid. I stedet for en thresholdværdi udregner vi nu 2 værdier, baseret på sort/grøn og grøn/hvid.
Vi regnede værdien ud på samme måde som før med sort/hvid ved at tage gennemsnittet af de 2 målinger.
Herunder er angivet vores målinger:
  • Hvid: 52-53
  • Grøn: 45
  • Sort: 25
Dette gav så følgende thresholdværdier:
  • blackGreenThreshold: 35
  • greenWhiteThreshold: 47,5
Desuden blev LineFollowerCal ændret så hvis colorsensoren "så" grøn stoppede robotten.
Vi testede robotten på banen og opdagede at robotten stoppede i det hvide. Dette skyldes at den hvide bane nogle gange giver en værdi som tolkes som værdien ligger i det grønne område.
På banen blev følgende værdier målt:
  • Hvid: 48
  • Sort: 27
  • Grøn: 47
Det ses at disse målinger er markant anderledes end de første målinger som blev foretaget på A4 ark.
Man kan se at værdien for hvid og grøn er ligger meget tæt på hinanden.
Vi indførte nu at der kun er en thresholdværdi, dvs. der sammenlignes i forhold til den grønne værdi hele tiden.
Desuden indførte vi også at robotten skulle måle "grøn" 5 gange i træk før robotten stoppede, dette gjorde vi for at undgå at en enkelt fejllæsning på grænsen mellem det hvide og sorte førte til robotten stoppede.
Alle disse forbedringer gjorde at robotten nu kunne følge en sort linje og stoppe på et grønt felt.

Tuning af robot.
Da vores mål for dagen var opfyldt blev fokus nu at tune robotten til det forestående løb.
Vi valgte først ikke at tilføje flere sensorer for at se hvad vi kunne få ud af "standart" robotten.
Vores strategi først var at sætte hastigheden op for de 2 motorer, dette medførte naturligvis at robotten bevægede sig hurtigere frem men desvære og hurtigere uden for banen.
Vi fjernede også "Thred.sleep" fra robotten for at få så mange målinger så muligt, for at kunne korrigere hurtigt.
Vi indførte desuden også at så længe robotten var over det sorte skulle robotten kører med fuld kraft på begge hjul.
Dette viste sig dog at have nogle problemer da robotten havde svært ved at korrigere når den kom uden for det sorte.
Vi arbejder også med at lave en lys sensor som bevæger sig over overfladen som så skulle være guide for robotten.

Ingen kommentarer: