Workshop FLL Leer robots programmeren Marieke Peelen – Lennart de Graaf – Daryo Verouden 1
Student-coaches
2
FIRST® LEGO® League
3
FLL Core values • We zijn een team • We doen zelf het werk met hulp van onze coaches. • We zijn sportief • ontdekken is belangrijker dan winnen • We delen onze ervaringen met anderen. • We hebben PLEZIER! 4
FLL Project • Onderzoek een probleem bij jou in de buurt – Internet, Bibliotheek, … – Praten met experts
• Bedenk een slimme oplossing voor het probleem • Vertel je oplossing aan iedereen – Presentatie – Website, Posters , Folders, …. 5
Robot wedstrijd • Robot – Niet op afstand bestuurd
• 2 ½ minuut • Missies – per opdracht zijn er punten te verdienen – een voor een? – Of alles achter elkaar?
6
Aan de slag! • • • • •
Voorstellen studenten coaches Hoe werkt de robot Hoe programmeer je hem Hoe los je missies op Tips & trics
7
Student coaches • Kennismaking • Indeling
8
9
Opdracht Probeer zo veel mogelijk uit te vinden over je robot • Hoe kan de robot bewegen? • Kan je robot ‘zien’, ‘voelen’ of ‘ruiken’ • Hoe zet je ‘m aan? • Hoe weet ie wat er moet gebeuren? 3 minuten, daarna samen kijken! 10
De Brick Draadjes
Scherm Lampjes Knopjes Geluid Nog meer draadjes! 11
Aansluitingen Uitgangen (output)
A
B
C
D
1
2
3
4
Ingangen (input)
12
Motoren • Rijden (grote motoren)
• Omduwen / grijpen (kleine motor)
13
Programmeren • Programma: een concrete reeks instructies die een computer uitvoert
14
LEGO Mindstorms programma
Nieuw programma maken
Robot educator (= help) HEEL HANDIG!!!
meting met sensoren doen
15
EV3 Workspace Hier maak je je programma
Programma Blokken
tabbladen voor • action • flow control • sensor • …
Hier maak je de documentatie / beschrijf je het algoritme
Verbinden Met robot, Programma opsturen En uitvoeren
feedback motoren en
Blok aan programma toevoegen
Klik op blok
Sleep hierheen
Verander instellingen
Aan de slag
1. Bouw het bovenstaande programma: Gebruik het move steering blok (richting veranderen) Druk op het groene driehoekje (play) Maak de kabel los, druk op de Enter knop op de EV3 2. Programmeer zelf: Rijd kort vooruit, maak bochtje, rijd langzaam ver achteruit
Belangrijke blokken Motor blocks • Blok om motor(en) te laten draaien motorpoort
rotatie modus
vermogen van: -100 (achteruit) 100 (vooruit)
Remmen of niet Aantal omwentelingen
Aan de slag Onderzoek wat de volgende blokjes doen
Bouw er een programma dat elk van de blokjes ten minste één keer gebruikt
21
Missies Maak een stappenplan: Een lijstje van dingen die je achter elkaar moet doen Bijvoorbeeld: • recept • flowchart
22
Algoritmen Algoritmen kun je op verschillende manieren beschrijven nee • In woorden • In plaatjes • Flow chart Het maakt niet uit, zolang iedereen maar begrijpt wat je bedoelt
Start
rijd vooruit
muur? ja stop
toon afstand tot muur op display Stop 23
Algoritme BELANGRIJKSTE TIP KISS: Keep It Short and Simple!
Aan de slag Een FLL opdracht Composteren: machine aanzetten en terug naar de basis • Bedenk een stappenplan • Maak het programma • Test het programma
Ik wacht op …
Start
• Kijk naar het stappenplan
rijd vooruit
nee
• Rijd vooruit wordt een ‘move steering’ blok … maar hoeveel rotaties? • Oplossing: Sensoren!
muur? ja stop
toon afstand tot muur op display
Stop
Invoer van sensoren Touch sensor
Color sensor
• Aanraking of botsing detecteren
• Meet hoeveel (gereflecteerd) licht hij ziet: Van 0 (donker) tot 100% (licht) • Meet welke kleur hij ziet: zwart,blauw,groen,geel, rood, wit, bruin, geen kleur
27
Invoer van sensoren Ultrasonic sensor
• Meet een afstand in centimeters Let op: • goed richten • geen objecten in beeld (draden) • soms onbetrouwbaar
Gyro sensor • Meet de hoekverdraaiing max 440°/ sec • Meet de hoek waarin deze staat precisie +- 3°
28
Wacht op Een wait blok zorgt dat je programma 'wacht‘ • een bepaalde tijdsduur • tot er een bepaalde conditie is bereikt bijvoorbeeld: – de kleurensensor detecteert de kleur 'rood' – de afstandssensor ziet een object op een afstand < 10 cm – de touch sensor verandert –… 29
Wacht op …
Start de motoren (vooruit)
Stop Wacht 3 seconden
Wacht op … Off On
Wacht tot de waarde die de touch sensor meet verandert (van niet ingedrukt naar ingedrukt of … )
Aan de slag Een test opdracht: • Laat de robot wachten tot hij de kleur rood ziet • Daarna moet hij een geluid afspelen • Daarna wacht de robot weer tot hij blauw ziet • En dan gaat hij rijden
Aan de slag Kies je eigen opdracht
Waarom doet mijn robot niet wat ik vraag? Iedere keer een beetje anders! frustrerend! Hoe voorkom je dat? Voorkom wielslip: – Keuze wielen en sturen – Pas op met vol vermogen
• Voorkom vervorming: – Harde banden – Stevig frame – Lagers voor wielassen
• Weet waar je bent: – Afstanden opmeten van 1 omwenteling – Kijk op PC (USB-kabel) voor het aantal graden – Sensoren
34
Weet waar je bent • Rijd tegen een muur of object Touch sensor • Stop bij zwarte lijn Lichtsensor • Volg zwarte lijn Lichtsensor in lus
35
Valkuilen, tips & trics • Als een programma aan het eind is, stopt het (direct!) • move steering en move tank • Wanneer is instelling met tijd handig • het Wait blok met een sensor (voor gebruik met 'bumper' of 'afstandssensor') • het gebruik van een complexe conditie (dit EN dat, dit OF dat). Hiervoor gebruik de data wires of variabelen • Een lijnvolger simpel en de strategie om 'm complexer maar ook beter te maken. 36