Med Asbjørn, Christer og Jesper

torsdag den 20. december 2007

Projekt, møde 4

Deltagere: Asbjørn og Jesper
Tidsforbrug: 7 timer (kl 9 - 16)

Denne gang satte vi os for at rette de fejl der var ved vores hardwares håndtering af kuben:
  • Vores tilter kunne ikke altid tilte kuben.
  • Vores twister kunne ikke holde sig på multipla af 90 grader.
Disse tre problemer angreb vi i rækkefølgen beskrevet her. Det første var at fikse tilteren. Dette problem løste vi ved at ombygge forbindelsen mellem motoren og tilter-armen. Det viste sig at vi ikke behøvede nedgearing her. Resultatet er en mere voldsom tiltning af kuben, men til gengæld virker den hver gang.

Det andet problem var en større hindring. Da rubikskuber ikke er designet med LEGO-kompatibilitet for øje, er der rimelig meget slør mellem kuben og twisterarmen. Løsningen har her primært været i softwaren, der nu kompenserer for slør-effekten. I stedet for at dreje f.eks. 90 grader, drejer den i stedet lidt for langt og lidt tilbage. Ved at prøve forskellige værdier for denne overkompensering, lykkedes det os at finde en løsning der virkede. I hardwaren har vi gjort grebet om kuben lidt tættere.

Efter vi havde opnået en rimelig pålidelig mekanisk manipulation af kuben, fik vi udleveret en NXT Color Sensor. Projektet kræver godt nok to, men det er da en start. Vi lavede nogle indledende tests og konstaterede følgende:
  • Farvemålingen er generelt god og følsom overfor små ændringer i farve, men:
    • Afstanden man kan måle præcist i er kort og skarpt afgrænset. Det observerede vi tydeligst med kubens blå og grønne felter. Ved ca 1 cm var målingen god, men ved 1.5 cm var der problemer.
    • Selv om den indbyggede RGB -> farveindex konvertering virker det meste af tiden, har den meget svært ved at genkende kubens hvide sider (farve index 17). Også selv om RGB værdierne er ca lige store og i den høje ende (dvs i intervallet lysegrå..hvid).
Efter disse indledende målinger var det tid at finde en måde at montere sensoren på, så den pålideligt kunne måle farverne på kubens sider. I vores mockup har vi indtil nu anvendt to andre sensorer med samme ydre dimensioner som farvesensoren. Men vi havde ikke taget højde for sensorens begrænsede rækkevidde. Derfor har vi været nødt til at ændre twister-armen, så sensorerne kan komme tættere på kubens sider.

Vi brugte resten af tiden på at forbedre monteringen af farvesensorerne, samt at påbegynde programmeringen af softwaren. Vi har valgt at adskille logikken fra styringen af motorerne. Derved kan vi udvikle løsningsalgoritmen uden at inddrage den fysiske robot hver gang koden skal testes. Hvis en almindelig PC kan løse en virtuel kube i Java, vil det da være en smal sag at flytte koden over på NXT'en og løse kuben ved mekanisk manipulation.

Desuden optog vi en video af maskinen mens den kørte. Den laver ikke noget "fornuftigt" på denne video. Det er udelukkende en test af de forskellige mekaniske dele.


Billeder
Her ses et nærbillede af styringsmekanismen til rotation af slæden. I vores oprindelige design var slæden monteret direkte på en motor. Dette viste sig dog at være en vakkelvorn og ikke særlig præcis løsning. Dette design er meget bedre med hensyn til stabilitet og præcision.
Her ses en måling af et grønt felt på kuben. På NXT'ens skærm udskriver vi farveindex og RGB værdier.
Det kan være lidt svært at se værdierne på billedet, men der står:









På de næste billeder ses hele konstruktionen oppefra, sidefra og i perspektiv som den ser ud på dette tidspunkt.














Ingen kommentarer: