torsdag den 9. september 2010

Lab 2

Vi skal i dag eksperimentere med "Ultrasonic Sensor", som kan sende ultralyd ud og måle lydniveau.

Først vil vi bruge sensoren sammen med programmet SonicSensorTest.java , som vi har fået givet, til at måle afstande. Vi afprøvede programmet og konkluderede
at det virkede meget godt, samt at den ikke kan måle afstanden til noget der absorberer lyd som f.eks. en trøje.

Programmet fungere ved at sende pulser af lyd ud som danner et ekko på flader, jo længere tid det tager for ekkoet at vende tilbage jo længere væk må fladen
være.
Resultatet af at ændre tiden mellem hver puls og læsning (sample frekvens) var standardværdien for frekvensen er 300ms, vi prøvede med 150 ms uden den store forskel. Herefter prøvede med en frekvens på 10 ms igen uden forskel. Om dette er tegn på at den gamle minimunsgrænse er "ligegyldig" eller om de enforcer den så vi ikke KAN bestemme en der er mindre ved vi ikke.
Vi observerede desuden at hvis Ultrasonice sensor ikke står vinkelret med væggen, måler den 255 da signalet bliver reflekteret i den forkerte retning.
pægvwsed qab
Dokumentationen skriver at så længe du bruger standard continius måling er der et max længde der kan måles på ca 170 cm, hvis den ikke modtager et ekko
(endten fordi der ikke er et ekko eller ekkoet kommer for sent) vil den måle 255. Vi fandt ud af at disse forhold havde indvirkning på målingen hvis
samplingfrekvensen var for lav gik mange signaler tabt, samt at vinklingen mod væggen også kan resulterer i "tabt" signal
" og det resulterede i disse begræsninger vi skal måle vinkelret på væggen, og sætte frekvensen højt (ikke prøve på at spare på målingerne).

Vi fandt ud af at der er en ping() metode som disabler continius måling og enabler manuel måling, hvor man selv sender pings ud med ping() kommandoen og selv
begynder at lytte med readDistances(int [] distances).

Tracker Beam

Vi bruger Tracker.java programmet som ved en Proportional control (da dens fart er bestemt af errors størelse ikke bare nogle definerede states bestemt af tresholds) sørger for at robotten er i en "desired distance" fra muren af.
Vores konklutioner fra vores ekperimentering med diverse variabler i programmet.Vi ændrede min power fra 60 til 30 med det resultat at bilen ikke kørte ret langt før den stoppede, og nåede ikke hen til desired distance, fordi motorene ikke fik kraft nok til at trække robotten.

Wall Follower

Vi byggede en "wall follower" ud fra eksemplerne i bogen. Koden kan ses her:

Til at starte med fik vi vent det omvendt, så den drejede væk fra den ønskede distance i stedet for tættere på, dette løste vi ved at vende hovedet den anden vej. Herefter havde vi lidt problemer med at den "missede" et signal og foretog så en lille "dans" (drejede en omgang om sig selv indtil den igen fandt muren). Vi prøvede at løse dette ved at ændre på samplingfrekvensen, og ændre distancen så den skulle køre tættere på væggen.



Ingen kommentarer:

Send en kommentar