Med Asbjørn, Christer og Jesper

fredag den 16. november 2007

NXT programmering, lesson 9

Tidsforbrug: 3 timer.
Deltagere: Asbjørn og Christer.
(Jesper er til programmeringskonkurrence i Holland.)

Målet med dagens session er, at eksperimentere med navigation ud fra motorernes tacho tællere med og uden forhindringer på banen.

Vi vil gennemgå disse skridt et for et:
  • Bygge bilen i noten og få den udleverede kode til at virke.
    • Vores egen bil havde et uheldigt tyngdepunkt og notens bil virkede enklere.
  • Teste præcision af Blightbot koden.
    • Testen udføres et antal gange.
    • Vi ændrer ruten i koden for at teste præcision i sving.
  • Navigation uden om forhindringer.
Bygge bilen i noten og få den udleverede kode til at virke.
Tidsforbrug: 30 min.

Som sagt var vores gamle design uegnet. Det var for stort og klodset og havde et dårligt tyngdepunkt (højt og forskudt). Byggeinstruktionerne i noten var rimeligt lette at følge i kraft af bilens simple opbygning. Der var kun enkelte problemer hvor kvaliteten af fotokopieringen gjorde det svært at se præcis hvor tingene skulle monteres. En mere kompliceret konstruktion ville have været vanskelig at bygge på denne måde.

Den udleverede kode virkede med det samme uden problemer.







Teste præcision af Blightbot koden.
Tidsforbrug: 30 min.

Af pladshensyn var vi nødt til at ændre afstandsangivelser i den initielle rute i koden. Vi havde simpelthen ikke gulvareal nok til at køre programmet som det var. Derfor halverede vi alle afstande før vi startede. Vi kørte robotten med Blightbot koden flere gange med enslydende resultat hver gang. Afvigelsen mellem startpositionen og slutpositionen var ca ½ cm ved alle vores tests.

Ifølge opgaven har denne robot en præcisionsmæssig svaghed når den drejer. Derfor ændrede vi ruten i koden så den fik flere sving. På tegningen ses den nye rute der køres i rækkefølgen 1-6. Nu var afvigelsen mellem start og stop ca 3.5 cm hver gang. Altså er sving tilsyneladende designets svaghed.



Navigation uden om forhindringer.
Tidsforbrug:2 timer.

Vi besluttede at genbruge sidste uges AvoidFront behavior kode. Desuden modificerede vi RandomDrive til TachoDrive. Tanken er da at vi så vil have en robot med disse to behaviors. I denne forbindelse monterede vi ultralydssensoren igen.

Hvad skal der ske når den ser en forhindring?
En mulighed er at bakke lidt tilbage, dreje og prøve igen. Ved gentagne gange at foretage denne handling burde man før eller siden kunne komme forbi forhindringen.

I praksis fik vi desværre ikke denne løsning til at virke inden for tidsrammen. Efter den ser forhindringen første gang går det galt og den fortsætter aldrig mod målet igen.

Ingen kommentarer: