Tuesday, June 4, 2013

Week 16 - Session 2

Dato:

04-06-2013

Varighed:

Fælles lab: 8 timer
Blog: 5 timer

Deltagere:

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

Status

Farvesensor og angrebstrategier er ikke færdige, og robotten er endnu ikke klar til at blive præsenteret.

Mål

Målet med denne laboratoriesession er at lave robotterne færdige, så de er klar til vores præsentation.

Plan

  • Oprydning i adfærdshierarki.
  • Forbedringer af adfærd
    • Aim
    • Shoot
  • Angrebsstrategier
  • Montering af isolering på farvesensoren og test med denne

Proces


Adfærdshierarki

Efter at have kigget på på vores tidsplan i forhold til de udfordringer, vi havde med farvesensoren, har vi ændret vores adfærdshierarki til nedenstående. Vi har valgt at droppe de forskellige angrebsstrategier, der skulle bruge farvesensoren, for i første omgang bare at fokusere på det at sigte og skyde mod mål lige når robotten har fået bolden.

Illustration af adfærdshierarki

Vi har en delvis færdig implementering af strategi-arbitrator, men valgte i første omgang at droppe den, indtil vi har mere end Aim-Shoot strategien, hvilket forudsætter bedre information om positionering. Tanken er at lade denne arbitrator håndtere. hvilke strategier der skal vælges til eksekvering, for så at lade de individuelle strategier kunne skifte prioritet indbyrdes ift. hvad robotten erfarer.
Aim
Ved denne adfærd har vi forsøgt at benytte en PID-controller for at mindske oscillering, i forbindelse med, at robotten prøver, at finde den rigtige vinkel. Tilpasningerne var dog større end, hvad vi havde tid til, så vi valgte i stedet en simpel løsning, hvor Aim har en skalering på hastigheden, således at denne bliver sat ned, jo tættere robotten kommer på den rigtige vinkel.

Diskussion af rotation af robot, til venstre, samt skitse af strategier til højre

Herover ses en af vores overvejelser ift. vores Aim, der går ud på altid at rotere den korteste vej imod vores "falske Nord". Denne ide blev implementeret, hvilket potentielt set, halverer vores rotationtid for Aim, der dog stadig er noget langsom.
Shoot
Vores problem med skydemekanismen var, at vi nogle gange fik udført to skud i træk. Dette problem blev løst ved at lave en buffer af læste værdier, og så kun påstå, at vi har bolden, hvis touch-sensoren har været berørt de sidste par målinger.

Touch-sensor samt berøringsflade for bolden

Som det måske kan ses herover, har der været en del trial-and-error ift. at få sat den lille grå brik sådan at boldens runde flade falder korrekt ind og trykker på den, uden at den lille brik pga. touch-sensoren's fjeder yder for stor modstand. I sidste ende havde vi en særdeles stabil, omend noget skrøbelig løsning, der præcist kunne fortælle, om bolden var i robottens greb.

Angrebsstrategier

Efter at robotten er begyndt at kunne leve op til de forskellige sensorer vi havde stillet for øje, er vi begyndt at analysere, hvordan vi kan udnytte dette fremadrettet. De vigtigste teknikker vores robot nu besidder er følgende:
  • Opnå kontrol over bolden.
  • Drible med bolden.
  • Afslut med bolden imens den er i besiddelse.
Det er primært de samme egenskaber en menneskelig fodboldspiller har, og vi vil kigge på hvordan sammenspillet af disse teknikker kan sikre den bedst mulige succesrate. Herunder vil vi fokusere på, hvilke muligheder vi har, ud fra kompas og farvesensor, til at bestemme vores position. Ud fra denne position kan vi begynde at diskutere strategier. Hvis vi befinder os i en af de sorte målfelter og har bolden, vil vi have svært ved at fastslå, hvilken af de to målfelter vi befinder os i. Vi har muligheden for at køre mod modstanderens mål og undersøge, om vi rammer den hvide region. Hvis dette er tilfældet ved vi, at vi befinder os i vores eget felt, men hvis vi befinder os i modstanderens felt, vil vi køre ind i målet i stedet. Derfor vil vi altid skyde mod mål, hvis vi har bolden i en sort region. Enten vil vi stå i modstanderens målfelt og afslutte, ellers vil vi stå i vores eget felt og skyde bolden væk. Hvis vi står i en af sideregionerne, vil vi bevæge os imod midten. Midten kan beregnes ud fra, hvilken vi læser og kompas sensoren (i eksemplet nedenfor, vil mørkegrøn altid være vores højre bane, og lysegrøn altid venstre). Hvis den næste region vi rammer ind i er en sort region, så vil vi ligesom før (vist med røde pile) skyde mod mål, da vi stadig ikke ved, hvilken ende vi befinder os i.

Skitsering af overvejede strategier

Hvis den region vi bevæger os ind i, når vi bevæger os imod midten, er den hvide region, eller hvis vi allerede befinder os i den hvide region når bolden findes, så vil vi bruge enten den blå eller gule strategi vist på billedet. Den blå strategi går ud på at bevæge sig over i den ene side og udnytte vores robots hurtighed til at køre tilbage i den modsatte region og afslutte i retning mod mål. Den blå strategi går primært ud på at få modstanderens robot til at bevæge sig imod den ene side, og så bruge vores hurtighed til at udmanøvrere modstandernes robot. Vi forventer at modstanderens robot primært vil rette sig efter bolden, og har næppe mulighed for at tage forbehold for at vi vender. Vores ide er, at modstandernes robot ikke er hurtig nok til at komme på plads efter vores finte, så vi kan skyde bagom den. Den gule strategi går ud på hurtigt at køre over i den ene side og afslutte, og derved gribe modstanderens robot ude af position, specielt hvis man kommer fra den modsatte side. Alle strategier kan udnyttes fra begge sider, hvor strategierne spejlvendes i forhold til illustrationen.
Den overordnede ide bagved disse to (gul og blå) strategier er, at vi hvis vi fik tilbagemelding om succes/fiasko fra vores miljø, nemt ville kunne oparbejde en præference. Vi forventer ikke at vores modstanders robot, der jf. reglerne kun må køre direkte imod bolden, og derfor ikke parere med siden, vil være i stand til at blokere begge strategier lige godt.

Monter isolering på farvesensoren og test med denne

For at mindske påvirkningen af lys fra miljøet lavede vi isolering til, at have rundt om farvesensoren. Vi lavede den i første omgang i pap, da det gik noget hurtigere end at bygge et mørkekammer i LEGO. Formålet var, at se om vi kunne få gode nok målinger til, at det kunne betale sig at bygge en i LEGO, da regelsættet dikterer, at alt på robotten skal være af LEGO komponenter.

Kappe til isolering set nedefra

Efter isoleringen, med en kappe af pap, var sat på foretog vi nye målinger i banens fire forskelligt farvede felter. Målingerne var denne gang følgende:
  • Mørkegrøn: 145 +- 5
  • Lysegrøn: 288 +- 5
  • Sort: 83 +- 5
  • Hvid: 432 +- 5
Måledata med isolerende kappe

Konklusion

Med isolering mod lys fra miljøet monteret på farvesensoren, gav det meget stabile målinger. Den maksimale forskel, vi fik i målinger på ét felt var 10 , hvorimod den var 164 før vi havde lavet isoleringen. Udover at målingerne var stabile, så var der også stor forskel på de fire forskellige felter. Derfor kunne farvesensoren på denne måde godt bruges til at kende forskel på felterne. Desværre kom dette på plads så sent, at vi ikke kunne nå at implementere angrebsstrategier baseret på denne nye information.
Robotterne er nu klar til at blive præsenteret, og projektet mangler kun præsentationen samt redigering af blogindlæg.

No comments:

Post a Comment