First Lego League programmering

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

Sidst opdateret 6.10.19.

I First Lego League konkurrencen skal der bygges og programmeres en LEGO Mindstorms robot til at løse missioner på en robotbane. Hvert år offentliggøres en ny robotbane med et tilhørende tema som f.eks. Mars, nanoteknologi eller ældre hjælpes af robotter.

På YouTube findes en række videoer, som viser, hvordan hold verden over igennem årene har fået rigtig mange point på de forskellige FLL robotbaner. F.eks. denne video, FLL 2013 452 points Technomancers.

You Tube videoerne viser en mangfoldighed af forskellige måder at bygge robotterne på. Men der er visse gennemgående fællestræk, når det gælder programmering af robotterne. F.eks. er alle robotterne programmeret til at kunne navigere f.eks. fra basen og ud til de forskellige missioner på banen.

Inspireret af You Tube videoerne er der her på siderne samlet forslag til, hvordan FLL robotter kan programmes til at klare robotmissioner på en typisk FLL robotbane. Robot eksemplerne er baseret på LEGO Mindstorms styreenheden EV3. Eksempler på løste missioner på robotbaner fra tidligere år er FLL 2016 Animal Alience, FLL 2017 HYDRO DYNAMICS og FLL 2018 Into Orbit.

EV3 baserede robotter

De brugte EV3 robotter her på siderne er meget simple, da programmeringen af robotterne er hovedfokus. Alle de foreslåede EV3 baserede robotter tager udgangspunkt i en robot base, der er foreslået i byggevejledningerne, som følger med LEGO EV3 Core Set 45544 sættet:
Robot basen er forsynet med en redskabsmotor, hvorpå der kan monteres redskaber, som er specielle for de enkelte missioner.

Ved løsning af nogle af de udvalgte missioner her på siderne skal armen på redskabsmotoren vendes, så den bøjer nedad. Desuden skal de to pinde fjernes fra bøjlerne i siderne foran hjulene:

Alle robotprogrammer er lavet ved hjælp af det grafiske programmeringsværktøj til EV3. I EV3 brugervejledning, side 36 forklares, hvordan værktøjet installeres på maskinen og hvilke introduktioner til programmering, som værktøjet indeholder, bl.a. Quick Start og Robot Educator.

Start med bygning og simpel programmering af robot basen:

Robot basen
Programmering af motorer på robot basen

Gå dernæst i gang med forskellige former for programmering af robotten til at klare dele af typiske robotmissioner på FLL robotbaner:

Programmering af en rute på robotbanen
Brug af banens kanter til at navigere
Brug sorte streger på banen til at navigere
I programmerne er følgende brugerdefinerede blokke brugt:
Programmering af rute: MoveCm og SpinDegree

Brug sorte/farvede streger på banen til at navigere: