Monday, February 10, 2014

Embedded Systems Lesson 1

Date: 6/2 2014
Duration of activity: 3 timer
Group members participating: 
Henrik Jørgensen
Michael Schiønning 
William Thorsen 

Mål 


Målet med første øvelsesgang er at samle LEGO-robotten, få basal kendskab til leJOS og gennemføre denne uges opgaver. 


Plan


Planen for denne uge er: 



  • 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.



Red60
Black40
Orange60
Blue53
Light Grey53
Light Green57
Yellow 64
"Dark" Grey53
"Dark" Green40
White66


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. 


Red25
Black17
Orange29
Blue23
Light Grey21
Light Green27
Yellow 31
"Dark" Grey20
"Dark" Green27
White33


Ø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