fredag den 11. januar 2008

Eksamensforberedelse

Blog10: Eksamensforberedelse

Varighed: 7 timer, Deltagere: Mads og Janus

Formålet med dagens øvelsesgang er at gøre projektet klart til fremlæggelse d. 17.

Planen for dagen er følgende:

  • Find den fejl i Bluetooth kommandoen doGoto, som gør at robotten "kører i trekanter" når kommandoen bliver udført.
  • Find fejlen i kommandoen doCalibrate, som gør at den "kører lidt i trekanter" og derefter ikke kalibrerer.
  • Find ud af om autokalibreringen kan forbedres.
  • Check om belysningen i fremlæggelseslokalet er til at have med at gøre (ie. ensartet belysning)

Find fejlen i Bluetooth kommandoen doGoto

Der var to problemer. Det første problem vi observerede var, at når vi beordrede robotten til at bevæge sig til et bestemt sted på kortet, så skete der ingenting. Dette problem var grundet i at en del af kommunikationsprotokollen ikke stemte overens imellem computer og robot. Rettelsen her var naturligvis at vælge at implementere den aftalte protokol; helt præcist hvordan denne konflikt er opstået er uklart.

Det andet problem vi mødte i forbindelse med doGoto var at robotten i nogle tilfælde kørte til centrum af nærvedliggende vejblokke før den udførte selve vejfinder-delen af kommandoen. Problemet var periodisk - det skete ikke hver gang vi forsøgte at bede robotten om at flytte sig imellem den samme start- og slutblok. Løsningen lå i noget, som vi tidligere havde diskuteret i forbindelse med korttegning på skærmen - nemlig i den metode, der udregner hvilken blok robotten står i ud fra et sæt koordinater i Navigatorens koordinatsystem.

Find fejlen i kommandoen doCalibrate

Vi kunne ikke se hvad doCalibrate egentlig foretog sig før vi fik rettet doGoto. Derefter kunne vi se at den nu virkede korrekt, bortset fra at den ikke kalibrerede; den fandt et kalibreringspunkt (et kryds), og så stoppede den. Løsningen var at dreje robotten i en bestemt retning og rent faktisk kalde kalibreringsmetoden...

Find ud af om autokalibreringen kan forbedres

Under autokalibrering havde robotten problemer med at rette sig pænt ind. Efter at have betragtet robottens bevægelsesmønster opdagede vi, at der var problemer med græskantsgenkendelse; legopladerne er opbygget med et smalt "fortov" adskilt fra den egentlige vej med en græsstribe, hvilket sensorerne nogle gange opdagede, andre gange ikke. Vi ville bruge græskanten til at kalibrere rotationen. Dette gøres når vi er på vej ud af krydset efter at have kalibreret positionen. Af denne grund havde detekteringen af græskanten stor betydning for præcisionen af rotationskalibreringen. Tilfældighed af denne slags gjorde autokalibreringen mindre brugbar.

Løsningen var at "fjerne fortovet", altså at sætte tape over den smalle vejstribe, hvilket bevirkede at den gang på gang stillede sig ganske præcist langs den valgte retning.

Check belysningen i fremlæggelseslokalet

Lyssensorerne er ganske følsomme overfor lysændringer. Sidebelysning og genskin fra f.eks. spots og solen ændrer de aflæste værdier så meget, at forskellen mellem græs og vej nogle steder udviskes. Som nævnt i en tidligere blogpost omkring lyssensorerne blev vi enige om at bruge et threshold-system med kalibrering, så det kræver at lyset på vejnettet er nogenlunde ligeligt fordelt uden store forskelle. Jævnt distribueret lys er vi glade for - så lysstofrør eller ovenlys, der befinder sig højt over os er at foretrække, mens vi dog kan acceptere en vis fejlmargin på lyssensorerne. Vi fandt ud af at lyset i Store Auditorium er ganske perfekt, da der kan blændes af for solen, spots kan slukkes og loftsbelysningen er ca. ti meter over gulvhøjde. Desværre er det ikke der vi skal fremvise projektet, så det er heldigt at Zuse også har en lyssætning der kan bruges.

Konklusion

Vi har afprøvet robotten under mange forskellige forhold, og det virker som om at systemet er helt stabilt og klar til fremvisning. Dog er vi overbevist om at en kalibrering er nødvendig inden fremvisning, da det omkringværende miljø nok ikke er som under sidste test.

Ingen kommentarer: