Med Asbjørn, Christer og Jesper

mandag den 7. januar 2008

Projekt, møde 6

Deltagere: Asbjørn, Christer og Jesper
Tidsforbrug: 7½ timer (10-17:30)

Målet for dagens session er at:
  • Opbygge et abstraktionslag mellem algoritmen og motorstyringen.
  • Arbejde med farvesensoren.
  • Påbegynde arbejde på løsningsalgoritmen
  • Påbegynde arbejde på scanner
  • Aftale næste møde
Abstraktionslag mellem algoritme og motorstyringen.
Vi er interesserede i at kunne oversætte et træk fra algoritmen til en sekvens af træk med motorerne. Algoritmen skal i forvejen holde styr på kubens tilstand, men den har ingen ide om hvordan kuben ligger i hardwaren og hvordan den manipulerer med hardwaren. Det er op til abstraktionslaget at varetage disse to opgaver.
Som test af vores abstraktionslag satte vi kuben i en kendt tilstand og lod programmet oversætte løsningen til motor-træk. Resultatet ses i følgende video:


Arbejde med farvesensoren.

Som tidligere beskrevet er farvesensoren rimelig god, men der er undtagelser. Et par ret bemærkelsesværdige af disse er:
  • Den har meget vanskeligt ved at se de blå og de grønne felter på kuben.
  • Den kan overhovedet ikke se en almindelig grøn LEGO klods.
Dog har den ingen problemer med et stykke grønt papir. Vi mistænker det flourescerende lys i Zuse, da det virker bedre ved vinduerne, hvor der er dagslys.

Great success! Nu virker det. Det viser sig at farvesensorerne virker meget bedre hvis der er en lille glødepære der belyser området som sensorerne måler på. Derfor har vi monteret en RCX pære mellem vores sensorer. Vi har desværre ikke nogen ledige motor-udgange til at trække strøm fra, men hvis vi aktiverer en af vores ubrugte sensor-indgange, er strømmen i den lige akkurat stærk nok til at drive en pære. Den lyser svagt, men det er tilstrækkeligt. Nu får vi ganske pålidelige målinger uanset belysning og kubens placering i slæden.



Påbegynde arbejde på løsningalgoritmen
Nu hvor hardwaren og hardwareabstraktion er ved at være på plads, kan vi vende fokus mod kernen af problemet. En hurtig Google søgning giver flere forskellige løsningsmetoder. Disse rangerer fra forholdsvis enkle, men tids- eller trækmæssigt uoptimale metoder til højt specialiserede systemer, der involverer store lookuptabeller. Vi har ikke specielt meget ram i NXT'en og vi ønsker generelt at holde kompleksiteten i skak. Mere om dette senere når vi kommer længere...

Påbegynde arbejde på scanner
Dette er en af de sidste dele af projektet. Som beskrevet ovenfor i dette blog-indlæg, er lyssensorerne ved at være på plads. Som noget af det sidste i dagens session lykkedes det at scanne 2x3 felter på en side. Der er stadig småproblemer, men dem regner vi med at udbedre næste gang vi mødes. Det er planen at maskinen selv skal rotere og scanne alle sider før den går igang med løsningsprocessen. Under selve løsningen holder algoritmen styr på kubens tilstand, hvorfor det ikke er nødvendigt at scanne flere gange.

Næste møde
Tirsdag kl 9

Ingen kommentarer: