torsdag den 20. november 2008

Legolab week 9


Legolab week9

Dato: 20/11 2008
Tidsforbrug: 3 timer
Deltagere: Michael, Asger, Peter

Plan:
* Teste præcisionen af relativ positionering.


=== Teste præcisionen af relativ positionering.
Vi bruger en standard robot lavet fra byggevejledningen i LEGO 9797
sættet s. 8-22.

-- Kalibrering.
Vi kalibrerer både omkredsen af hjulene og hjulafstanden. For at
kalibrere omkredsen lader vi robotten køre en meter frem og stoppe. Så
kan vi teste om de præcist er 56mm i diameter som der står påtrykt på
hjulene.

Kalibrering af hjul:
Vi kalibrerede robottens hjuldiameter ved at bruge programmet
CalHjul.java
.

Da vi satte robotten igang så vi straks at den drejede en smule til
den ene side, fordi hjulene ikke var præcist lige store. Vi satte en
whiteboard marker på robotten for at den kunne tegne den vej den
faktisk kørte. Det viste sig at den kørte vej, afveg 1cm fra en lige
streg over en afstand på en meter. Vi løste problemet ved at prøve
forskellige hjul, indtil vi fandt 2 ens hjul, der kun gav en afgivelse
på 2mm over afstanden på 1m.

Med en hjuldiameter på 56mm kører robotten 1cm forkort
på 1m, så den faktiske hjuldiameter for robotten er en smule mindre
nemlig 55,44mm.

Vi kørte 3 test med den nye hjuldiameter. Alle gav en afvigelse på
under 1mm, over afstanden på 1m.

--- Kalibrering af hjulafstand.

For at kunne dreje præcist med TachoNavigator klassen, skal man kende
den diameter robotten drejer om. Vi har målt den til at være 110mm,
for at eftertjekke dette har vi lavet et lille program

CalDistance.java
som drejer 2 gange rundt om sig selv i step af
45 grader.

Vi ser at robotten faktisk drejer præcist med en hjulafstand på 110mm.

--- Test af kalibrering.

Vi tester præcisionen af robotten ved at lade den køre samme rute som
i Brian Bagnall's bog, kapitel 12, men vi lader vores robot køre turen
2 gange så vi bedre kan se effekten af akkumuleret fejl. Programmet vi
har brugt er TestCal .

Resultat:

Det viser sig at robotten er omtrent 40cm fra origo når den slutter
sin anden runde. Vores første tanke var at det skyldes at
TachoNavigators goTo metode var upræcis, så vi udregnede selv de
vinkler og afstande der skulle bruges. Resultatet var det samme. Ved
at montere en whiteboard marker på robotten kunne vi se hvilken sti
den kørte på gulvet. Det viser sig at robotten slet ikke kører lige
selvom vi kalibrede den til at kunne køre ligeud. Over 2m afviger
banen robotten kørte, 2 cm fra en lige linje, dvs den har en afvigelse
på 2,26 grader pr meter den kører. Det betyder at hvis vi kører 10m
har vi en akkumuleret afvigelse af vinklen på 22,6 grader. Det passer
godt med den observerede slutafvigelse for vinklen i vores test.

Men da vi havde slet ikke så store afvigelser i den kliniske test vi
kørte. Konklusionen må hermed være at batteriniveauet eller overfladen
der køres på spiller en rolle for præcisionen af robotten. Når denne
styres vha.

Ingen kommentarer: