Thursday, May 30, 2013

Week 15 - Session 2

Dato:

28-05-2013

Varighed:

Fælles lab: 7 timer
Blog: 5 timer

Deltagere:

Steffen Høi
Nikolaj Mols Hansen
Martin Vang
Ulrik Sahl Lystbæk

Status

Vi kan aflæse målingsværdier for IR sensoren som er monteret på robotten. Den overordnede konstruktion af robotten er stadig i gang. Adfærdhierarkiet er stadig lidt buggy.

Mål

Målet for denne laboratoriesession er at arbejde videre på konstruktion af robotten, teste IR sensoren samt lave indledende undersøgelser med kompas.

Plan

  • Videreudvikling af robot.
  • Undersøge interaktion mellem IR-sensor og IR-bold og finde bolden på lang afstand (måle vinklerne med vinkelmåler og sætte værdierne ind i en graf for at se forholdet mellem)
  • Få LEGO-robotten til at skyde mod mål (afgøre hvor målet er måske ved brug af kompas)
  • Indlede undersøgelser med kompas.
  • Rette fejl i adfærdhierarkiet.

Proces

Undersøge interaktion mellem IR-sensor og IR-bold

Først testede vi IR sensorens bredde. I bredden ved vi som vist på figuren Infrared Seeker Sensor fra sidste session, at der er 5 områder værdierne kan aflæses for. Vi ved også at der i alt burde være en bredde på 240 grader[1], som vi startede med at teste. Vinklen på de 240 grader stemte fint overens og det næste interessante var om de var ligeligt fordelt over de 5 områder. Det viste de sig at være dvs. at hvert felt fylder ca. 44 grader.
Test af IR Seekers vinkel
På bredden testede vi også overgangen mellem felterne og rigtigt nok som også kan ses i dokumentet vi fandt sidst Thomas Eng [2] er der et sted mellem de forskellige felter hvor begge felter giver udslag på målingerne. Vi har ikke oplevet på noget tidspunkt at bolden har givet udslag på mere end 2 målingfelter for sensoren. Dvs. at værdien for alle felter som ikke ser bolden er 0 og ikke noget med at de svinger mellem lave værdier. Det er meget stabilt og derfor har vi faktisk 9 felter hvor vi kan se bolden. Felterne er som følgende: (5), (5 og 4), (4), (4 og 3), (3), (3 og 2), (2), (2 og 1), (1).

IR Seeker målefelter og overlap
Derefter fortsatte vi til at teste rækkevidden af sensoren. Formålet med at teste rækkevidden var for det første at finde ud af hvor langt væk IR sensoren ville være i stand til at se bolden, fordi hvis det ikke var langt skulle der arbejdes på en adfærd til at komme godt rundt på banen for at lede efter bolden uden at kunne se den. Fremgangsmåden var at måde den givne afstand ud fra robotten, for så at holde bolden fast i denne position og rotere den. Imens blev den maksimale og minimale værdi gemt. Afstandsmålingerne vi foretog kan ses her:

Måleværdier

200 cm 27-40
180 cm 26-50
160 cm 29-58
140 cm 34-60
120 cm 39-69
100 cm 51-80
80 cm 59-97
60 cm 81-120
40 cm 118-142
20 cm 130-145
10 cm 141-145


IR-Seeker måledata over afstand
Vi har på baggrund af måledataene konkluderet at vi desværre ikke med god nok præcision kan bestemme afstanden fra vores robot til bolden. Problemet er at IR Bolden ikke udsender lige stærkt signal i alle retninger, så afhængig af hvordan bolden's indre dioder vender, får vi forskellige værdier ud fra en given afstand.

Kompas Sensor

Dette forsøg med at få kompasset til at fungere var ganske enkelt ubehageligt. Der er to forskellige måder at få en læsning ud af kompasset. Den ene er getDegrees(), der giver antal grader offset fra Nord jf. normalt kompas. Den anden er getDegreesCartesian(), der istedet giver grader der jf. dokumentationen "Compass readings increase clockwise from 0 to 360, but Cartesian coordinate systems increase counter-clockwise." Denne måletype havde dog den fordel at man kan "nulstille Nord" i den retning man har lyst til. Herefter får man grader ift. det nye "Nord".
I første omgang gik fremgangsmåden ud på at forsøge at få robotten til at dreje konsekvent imod Nord. Dette viste sig hurtigt at være utrolig svært. Under testene var robotten nogenlunde konsistent på en given plads på banen, men dens opfattelse af hvor Nord fra getDegrees() variereden med op til 50 grader. Dette var naturligvis uholdbart og utrolig frustrerende.
Vores teorier om hvad der var galt var på dette tidspunkt, at vi lavede fejlberegninger, at kompasset var i stykker eller at vi påvirkede det med trådløst signal fra telefoner. Vi havde allerede konstateret at kompasset var anderledes men stadigvæk ca. 50 grader usikkert forskellige steder på banen, ved at montere det på en lang ledning væk fra selve robotten og motorene (da vi mistænkte disses magnetfelter for at påvirke vores målinger under rotationen).
Opgaven blev overdraget til et par friske øjne med en ny vinkel på sagen og koden blev gemt, men ikke brugt i dette nye forsøg (helt nyt forsøg).

Differentiel Pilot

En normal begrænsning ved at bruge Lejos frameworket er, at man ikke kan benytte de forskellige pilot-klasser sammen med direkte kontrol over motorerne. Vi har fra et tidligere projekt [3] lavet modifikationer så denne begrænsning ikke længere umiddelbart gør sig gældende. Der er dog stadig indstillinger for afstand imellem hjul (19,0 mm) samt hjulenes diameter (6,3 mm), der spiller ind ift. at kunne benytte differentiel piloten til at lave præcise sving og manøvredygtighed. Da vi har gearing på vores markspiller, bliver dette naturligvis nød til at blive indregnet. Dette burde gøres ved at gange gearings-faktoren (2,5:1) med hjulets diameter.
Efter disse indstillinger testes robotten for at se om den kan dreje præcist på stedet. Vejledningen til differentiel pilot anbefaler at man ser om den kan køre en lige linje, men dette er meget svært at vurdere. Ved drejning på stedet 5 * 360 grader, fandt vi at det er nemmere at se om robotten stopper det samme sted, og dette hjalp os med at eliminere drift.
Efter at disse indstillinger er på plads blev robotten testet, og vi fandt at vi skulle bruge en konstant på 1,51 som dividend, for at robotten var præcis i drejninger. Dette kom noget bag på os, da vi forventede at en gearing på 2,5:1 ville give os en 2,5 gange hurtigere omdrejning, hvilket burde passe med den rapporterede 2,5 gange større diameter.
Vi valgte ikke at undersøge nøjere hvorfor dette var tilfældet, indtil vi fandt noget godt at bruge piloten på, hvor det kunne blive relevant.

Konklusion

IR sensoren er meget præcis i bredden og vi forventer at det vil gøre det ret let at navigere pænt i den rigtige retning mod bolden. De 9 felter gør at den kan rammes forholdsvis præcist selvom den nogle gange vil kunne ramme lidt skævt på bolden. Afstanden bolden kan ses på er meget god i forhold til at banen kun er 217 cm. Det betyder faktisk at bolden næsten vil kunne ses over hele banen. Det største problem bliver hvis robotten vender med ryggen mod bolden. Der er dog følgende problem som vi er opmærksomme på, på nuværende tidspunkt. Netop at robotten ikke helt overholder WRO GEN II Football reglerne for kravet om robottens dimensioner.
Vi udskyder igen adfærdhierarkiet til næste session.

Referencer

No comments:

Post a Comment