Kristan Andersen, Simon Lykke, Jacob Styrup Bang

onsdag den 16. januar 2008

Lab Notebook 11


Date: 16.1.08
Duration of activity: 13.30-14.00
Group members participating: Simon, Jacob og Kristian

Fremtidigt arbejde
Bruge Navigation
Igennem projektet har vi haft problemer med at holde robotterne indenfor banen. Hvis vi indførte en form for koordinater og navigation kunne vi forbedre "RandomDrive", så den ikke længere ville være helt tilfældig, men forsøge at holde sig i koordinatsystemet. Et problem vil være præcisionen, hvilket vi opdagede i Lesson 9. Præcisionen vil kunne forbedres v.h.a. en kompas-sensor, som beskrevet i "Maximum Lego NXTBuilding Robots with Java Brains, Chapter 12, Localization", men fordi det bare er et område vi skal holde os indenfor at præcision ikke af afgørende vigtighed. Vi kan justere når robotten kommer ud i kanterne og robotterne kan udveksle viden om banen gennem Bluetooth.
Vi overvejede at sende koordinater mellem robotterne, så de altid vidste hvor modstanderen var henne, men det ville være "snyd". Det ville være alt for let at finde og fange den den undvigende robot.
Forbedre infrarød sender

Vi lavede et forsøg med at holde den ene robot stille og lave målinger mens vi drejede en af vore infrarøde kilder ca. 20 cm foran den. Det viste sig at der var store "blinde vinkler". Selvom vi iflg. specifikationen på dioderne skulle dække alle 360 gader, var det ikke tilfældet. En løsning kunne være at forbedre den infrarøde sender ved at bruge kraftigere dioder og sætte dem tættere sammen. Det vil give et problem med at få spænding nok. Der skal ligge 1,5-1,8 V over hver diode. Dvs. at det ikke længere vil være nok med en enkelt motorport og vi skulle have en ekstern spændingskilde. Hvis vi parallelkoblede dioderne ville vi have et problem med strømforbruget.
Udregne afstand via IR seeker og udnytte dette
Det er muligt at implementere en afstandsmåling v.h.a. den infrarøde søger. Problemet er bare at de læste signaler ikke er særligt gode, vi modtager ikke signaler særligt ofte, sollys giver udsving, det afsendte signals styrke varierer og skal kalibreres (pga. afladning af strømkilde) - hvis vi er heldige kan "se" hinanden indenfor en afstand af 50 cm. Hvis vi kunne omsætte signal styrken på de interne sensorer til en afstand på en pålidelig måde, vil det kunne give mere glidende bevægelser når der skal fanges og undviges - i og med at robotterne bedre ved hvor den anden er.
Kunne fjernstyre en robot.
Det er muligt at benytte Bluetooth til at fjernstyre en robot evt. med en mobil telefon. Dette er forholdsvis nemt at implementere men vi skal dog undersøge om NXT'en kan håndtere 2 forskellige Blutetooth forbindelser.
Lave baner med forhindringer (ultrasonic)
En åbenlys forbedring til banen er at benytte forhindringer som skal unviges samtidig med at robotterne fanger og unviger. Dette kunne implementere ved hjælp af ultrasonic sensoren, dog ville det kræve en sensor multiplextor at vi med den nuværende robot bruger alle sensor porte.
Flere robotter - måske med hold
Man kunne også udvide spillet med flere robotter som kunne være på 2 hold, og så når en robot fra et hold blev ramt skal hele holdet skifte roller.
Konklusion
Det er lykkedes at lave et par robotter, som kan spille tag-fat spillet som ønsket, og holde sig til reglerne. Dog er vi skuffede over funktionaliteten af IRSeekerSensor'ene og vores infrarøde lyskilde. Om fejlen ligger i lyskilderne eller sensorerne har vi ikke kunne finde svar på, men robotterne har svært ved at finde hinanden, selv på kort afstand. Det giver et indtryk af at det nogle gange er mere tilfældighed end noget andet når robotterne fanger hinanden i spillet. I opbygningen af softwaren har vi brugt en behaviour baseret arkitektur, nærmere betegnet LeJOS' subsumption mekanisme. Vi har opbygget en struktur, som fungerer fint efter hensigten, og man kan tydeligt observere på robotterne at de forskellige behaviours tager over på de ønskede tidspunkter. I forløbet har vi fået en bedre indsigt arbejdet med et embedded system, hvor man ikke har samme muligheder, som man har på en normal computer. Samtidig har vi set hvilke problemer der kan opstå med upræcise hardware enheder, arbejdet med at tilpasse softwaren, så vi kommer ud over disse problemer, og løser opgaven.

Ingen kommentarer: