- Installere leJOS
- Samle LEGO-robotten med lyssensoren
- Udarbejde ugens øvelser.
- Opsæt gruppens blog.
Resultat af øvelser
Den første øvelse gik ud på at bruge robottens lyssensor til at måle lysværdien på en forskellige række legoklodser af forskellige farver, som kan ses i tabellen nedenfor.
| Red | 60 |
| Black | 40 |
| Orange | 60 |
| Blue | 53 |
| Light Grey | 53 |
| Light Green | 57 |
| Yellow | 64 |
| "Dark" Grey | 53 |
| "Dark" Green | 40 |
| White | 66 |
Måden hvorpå sensoren opfanger lys er via en skala fra 0 til 100. 100 svarer til meget lyst og 0 svarer til mørkt. Ud fra vores data kan vi her vælge en grænseværdi imellem hhv. den sorte og den hvide lysværdi ~40-61. Alle målingerne er foretaget med en afstand fra klodsen til sensoren svarende til den afstand sensoren har til jorden når den er monteret på robotten.
Grænseværdien betyder at robottens program antager, at sensoren er over et sort område når den afmålte værdi befinder sig under den givne grænseværdi. Ellers er sensoren over et hvidt område.
Øvelse 2
I den anden øvelse skal vi, igen måle de samme legoklodser, men denne gang uden at sensorens LED lys er tændt. Nu måler sensoren ikke længere reflektionen af det røde LED lys, men derimod bliver omgivelsernes lys målt. Den nedenstående tabel viser de samme legoklodsers målning efter dioden er slukket. Igen er samme afstand brugt til alle målingerne.
| Red | 25 |
| Black | 17 |
| Orange | 29 |
| Blue | 23 |
| Light Grey | 21 |
| Light Green | 27 |
| Yellow | 31 |
| "Dark" Grey | 20 |
| "Dark" Green | 27 |
| White | 33 |
Øvelse 3
Fra starten af er det en forsinkelse på lyssensorens læsning på 10 millisekunder. Øvelsen krævede at vi satte dette op til henholdsvis 100, 500 og 1000 millisekunder. Fordi intervallet mellem robottens læsning sættes ned er den længere og længere om at registrere at den skal rette op. Når den kom uden for den sorte streg kunne robotten have problemer med at finde tilbage. Især ved 1000 millisekunder var tiden mellem afmålingerne så stor, at den kørte i cirkler. Dette var fordi at robotten når at passere den sorte linje i løbet af sin rotation, om de ene hjul, før den foretager målingen.
Øvelse 4
Til øvelse 4 skulle vi tage brug af Datalogger.java til at indsamle data fra robottens lyssensor når intervallet er hhv. sat til 10, 100, 500 og 1000 millisekunder.
Målingerne er sat ind i graferne nedenfor. Som det fremgår af grafen, oscillerer den kraftigere jo kortere intervallet er imellem afmålingerne.
Øvelse 5
Vi observerede et jævnt fald i ledig hukommelse, dette kan forbindes med at vi nu skrev strenge direkte i LCD.drawString(). En streng er en reference til et objekt, en in-line streng udgør da en instantiering af et objekt. Når vi ikke benytter en refereret streng (som tidligere) vil der altså konstant oprettes nye objekter. Garbage collectoren vil da rydde op i disse objekter med jævne mellemrum, hvilket sås ved en kraftig stigning af fri hukommelse .
Konklusion
Vi har i denne uge fået styr på det helt basale hvad leJOS angår, bygget Mindstorms robotten og opsat vores gruppes blog til at kunne føre vores lab-notesbog. Overall har denne uges opgaver ikke været de mest krævende da de har stået for at introducere os til, hvordan den fysiske virkelighed påvirker vores robot. Robotten reagerer kun på den virkelighed den selv har "læst" og har en række begrænsninger, deriblandt dens reaktionstid.
Ved næste øvelsesgang skal vi have taget hul på Eclipse plug-in'et til leJOS og nok også kigget på Bluetooth muligheden, da den med allerhøjeste sandsynlighed bliver nyttige i løbet af de senere uger.
Referencer
Øvelserne, LineFollower.java samt SLineFollower.java er hentet fra kursussiden:
http://legolab.cs.au.dk/DigitalControl.dir/NXT/Lesson1.dir/Lesson.html
Link til bloggen:
http://eswihemi.blogspot.dk/
No comments :
Post a Comment