tirsdag den 18. januar 2011

NXT Programming, lesson 21

Konklusion
I denne sektion vil der fremsættes en konklusion på projektet, med fokus på hvad der er godt i projektet, hvad der er dårligt og hvis der havde været mere tid hvad skulle have været implementeret yderligere.

Godt:
  • Mobiltelefonenskamera kan genkende farver og afstand.
  • Bluetooth forbindelsen virker direkte mellem mobiltelefonen og NXT'en.
  • Opførselshieraki.
  • GreyNavigator virker efter hensigten og kan faktisk navigere efter grå toner.
  • Kalibreringen virker og modvirker skift i omgivelserne.
Dårligt:
  • FindBrick virker i den forstand at man kan give den en klods, hvorefter den tager i mod den og bestemmer farven af klodsen. Den virker dog ikke som beskrevet i projekt beskrivelsen (skulle have været i stand til at finde klodserne på banen), hvilket skyldes manglende tid.
  • ColorNavigator virker i den forstand at den kan kende forskel på farverne rød og grøn, og navigere efter dem i henhold til hvilken farve klodsen mellem dens kløer har. Den navigere dog ikke helt som den burde, da den kun benytter den yderste ring til at navigere efter. Den oprindelige idé var at den skulle rette ind efter ringene hele vejen ned og ikke kun den første.
  • Kloens greb. Det er problematisk at motoren enten ikke lukker kloen nok, så klodsen holdes løst, eller at motoren blokerer hvis den ikke kan lukke helt i, i forhold til den vinkel som er angivet i koden.
  • Ingen kalibrering på androidenheden, grundet tidsmangel.
  • Problem med den hvide ende af banen. Dette kan muligvis skyldes et dårligt udprint eller en dårlig billedfil. Det burde med andre ord være til at lave, hvis budgettet er til det.
Hvis vi havde 14 dage mere ville vi:
  • FindBrick skal selv kunne finde klodserne vha. dataen fra mobiltelefonen.
  • ColorNavigator skal udnytte alle ringe i forbindelse med afleveringen af en brik.
  • Finishline skal inkluderes som en opførsel.
  • Der skal findes en løsning på det hvide område ved banen problematikken.
  • GreyNavigator skal modificeres så den ikke hopper lige inden den retter ind efter en ring.
  • Kloens greb/udformning skal modificeres så den har bedre fat om klodsen.
  • Lys til mobiltelefonens kamera kan være med til at gøre farve genkendelsen mere miljø uafhængig. Det er dog vigtigt at dioden ikke lyser for kraftigt.
  • Robotten skal gøres fysisk mere robust.

Konklusion:
Alt i alt har projektet været vellykket i den forstand at vi alle sammen har lært rigtig meget om det at programmere indlejrede enheder og hvilke udfordringer som følger med i forbindelse med udvikling af sådanne. Vi har i det hele taget opnået kæmpe erfaring med reaktive systemer i forhold til [Martin]'s definition af reaktive systemer, da robottens software klart er opbygget som en række forskellige opførsler som til sammen giver en mere avanceret adfærd. En af styrkerne ved programmering af reaktive systemer er muligheden for at slå forskellige opførsler til og fra og på den måde teste den enkelte adfærd hver for sig, hvilket vi i høj grad har benyttet os af i dette projekt.
Vi har allesammen lært at miljøet, robottens udformning og de forskellige opførsler i høj grad hænger sammen. F.eks. oplevede vi at det nye bane udprint havde lidt andre farve værdier end forgængeren, hvilket gjorde at robotten opførte sig anderledes. Yderligere betød en ombygning af kloen at der skulle ændres lidt på gribe adfæren.
Adfæren greynavigator har også givet os erfaring i udvikling af P-kontroller, og vist os hvilken forskel dette gør i forhold til en "2-level" eller "3-level" [PID].

    Ingen kommentarer:

    Send en kommentar