World Robot Olympiad 2015 - Regular

Ole Caprani
Institut for Datalogi, Aarhus Universitet,
ocaprani@cs.au.dk

Sidst opdateret 10.8.15.

wroRegular.ev3p - program til WRO Starter Bot 2015

Når WRO Starter Bot 2015 kører på en bane uden bjerge, som det ses på videoen:

styres WRO Starter Bot 2015 af et program som hedder wroRegular.ev3p. Programmet findes i projektet WRO2015.ev3 og programmet gennemgås i det følgende.

Kuberne hentes og placeres én ad gangen

Ideen bag programmet wroRegular.ev3p er at få robotten til at hente de 4 farvede kuber én ad gangen i rækkefølgen:
  • kube i rødt område,
  • kube i blåt område,
  • kube i grønt område og sidst
  • kube i gult område.
Hver gang en kube er hentet, skal kuben bringes til placeringspositionen, som angivet af de 8 aktuelle farvede felter. I den nuværende udgave af programmet hentes og placeres blot den farvede kube i det røde felt. For at løse årets udfordring skal programmet altså udvides, så de tre andre kuber også bliver hentet og placeret korrekt.

Prøv i første omgang at få programmet wroRegular.ev3p til at styre WRO Starter Bot 2015 som på videoen.

Husk at armen skal være i vandret position ved starten:

Ideen bag den måde wroRegular.ev3p styrer robotten imellem de forskellige placerings- og anbringelsespositioner er at robotten hver gang den har hentet eller anbragt en kube kører til en position ved kanten af banen, kaldet vægpositionen, som vist her:

Fra vægpositionen bruger programmet så de sorte streger på banen til at vælge forskellige ruter ud til de forskellige placerings- og anbringelsespositioner eksempelvis som vist med pilene.

Prøv at se hvilke ruter robotten følger ved at bruge forskellige kombinationer af de 8 farvede felter som så får wroRegular.ev3p til at hente kuber med forskellige farver i det røde område og bringe kuben til forskellige anbringelsespositioner.

For at kunne udvide programmet, så de tre andre kuber også bliver hentet og placeret korrekt er det nødvendigt at kende til programmets struktur og detaljer.

Når wroRegular.ev3p åbnes ser det sådan her ud:

Programmet består af 4 blokke:
  • Den første blok er en variabel-blok, som sætter en variabel kaldet offset til 45 (se eventuelt EV3 hjælp > Programmeringsblokke > Data-blokke > Variabel). Værdien af offset skal være den lysværdi farvesensoren på port 3 registrerer over kanten af en af de sorte streger på banen, se Følg kanten af en sort streg.
  • Den næste blok, kaldet GetPositions, får robotten til at køre henover de 4 første felter, registrerer de 4 farveværdier og huske dem i 4 forskellige variable.
  • Den tredie blok, kaldet GetColors, får robotten til at køre henover de 4 sidste felter, registrerer de 4 farveværdier og huske dem i 4 forskellige variable og
  • den sidste blok, kaldet Red, henter kuben i det røde område og bringer den til kubens rette plads.
Programmet består af en variabel-blok og tre brugerdefinerede programmeringsblokke GetPositions, GetColors og Red. De fire blokke udføres efter hinanden. Detaljerne i GetPositions og GetColors kan ses i Registrering af placerings- og anbringelsessteder mens Red forklarer funktionen af blokken Red.