onsdag den 28. januar 2009

Konklusion

Konklusion for projektet



Hvad blev projektet til



Det endelige projekt er 2 robotter der kan skubbe en puk rundt på en
bane. Som sensor til at give position og rotation af robotterne bruges
AR-toolkit, der via bluetooth sender oplysningerne til robotterne. På
robotterne har vi brugt en subsumption arkitektur, for at have en
mekanisme til at kontrollere deres opførsel.

Camera tracking fungerede rigtig fint som en sensor, der leverede
information til robotterne om deres miljø. Og 2 vejs kommunikation
over bluetooth virkede fint, både til at leverer opdateringer til
robotterne om deres koordinater og til at leverer informationer fra
robotterne til vores GUI'en til brug ved debugging.

Problemer i processen/produktet



Vi nåede ikke alle de ting vi gerne ville have haft med i
projektet. Bl.a. nåede vi kun at implementere 4 af vores i alt 7
behaviors.

Vi oplevede en del problemer med at få robottens navigation til at
agere korrekt. Problemerne opstår fordi vores kode består af en masse
tråde der muterer data på kryds og tværs. Således kan man ikke være
sikker på at virkeligheden afspejler det robotten er igang
med. Problemerne kan løses ved at implementere en navigator der netop
tager højde for opdateringer fra flere kilder, af fysiske
positionsoplysninger.

Vi har haft problemer med at debugge vores kode, fordi vi er på et
embedded system. Det var dog en kæmpe hjælp da vi endeligt havde et
stabilt bluetooth subsystem, hvor vi kunne sende en masse forskellige
beskeder igennem. Når man reflekterer over hele kurset, har debugging
og datalogging været en del af alle ugeopgaverne. Set i det perspektiv
ville det være oplagt, at lave det bluetooth subsystem vi
konstruerede, allerede i første uge af kurset.

Fremtids perspektiv





Hvis vi havde haft mere tid, ville vi have implementeret vores egen
navigator, således vi bedre kan bruge de informationer vi får fra
AR-toolkit.

Navigatoren kunne endvidere med fordel bruge stimulans fra en
kompassensor, da et af de store problemer med vores nuværende design
er at robotten overstyrer når den drejer. Det sker fordi, der er
nævneværdig forsinkelse på oplysningerne der kommer fra
AR-toolkit.

Forsinkelsen af dataen kunne man også kompensere for med et moving
average, sammen med aktiv brug af en slags tachonavigering.

Alternativt kunne man sætte et timestamp på dataen fra
AR-toolkit. Ideen er så at robotten med en slags tachonavigator kender
sin fortid. Den kan så lave et opslag i sin fortid, for at finde ud af
hvor den var på det pågældende timestamp, robotten vil så have
mulighed for at korrigere sin nuværende position i forhold til
oplysningerne om, hvor stor afvigelsen var i fortiden.

De data robotten modtager om position og rotation af de andre objekter
er et halvt til et helt sekund forsinkede. På et sekund kan robotten
næsten dreje 90 grader hvis motorerne kører med en hastighed på
100grader pr. sekund. Hvilket er en relativt lav hastighed.

På subsumption siden kunne man forestille sig at skifte over til at
bruge det subsumption framework der er i lejos. Grunden er at vi er
skiftet til lejos 0.7. Efter vi har læst lejos kildekoden for
subsumption frameworket, viser det sig at lejos 0.7 faktisk har et
ganske brugbart subsumption framework.

Ingen kommentarer: