robotica-opdracht voor V5 (pdf, 3,6 MB)

Inleiding robotica
Programmeren op de LEGO-robot EV3
Philip Habing; Versie 1.0 aug 2014
Inleiding Robotica vs 1.0
1/13
0 Inleiding
Het wereld-record Rubick-kubus oplossen door een robot, staat momenteel
op naam van -mede door LEGO aangestuurde- Cubestormer CS3. De CS3
haalt een recordtijd van ca 3.2 seconde.
Dat is natuurlijk leuk, maar weinig nuttig.
Wel zeer nuttig is wat de 12-jaar oude Shubham Banerjee maakte in 2014 met
de EV3: BRAIGO een braille-printer. Het apparaat van Shubham kostte
ongeveer 300 dollar; een commerciële braille-printer daarentegen kost ca 2000
dollar. Shubham won allerlei internationale prijzen met zijn printer en momenteel
wordt gewerkt aan verbeteringen en commercialisering van zijn uitvinding.
Sinds ongeveer 1994 is LEGO bezig om naast de traditionele LEGO-steen een
‘intelligente-steen’ te maken waarin een volledige computer is verwerkt die:
1. signalen van sensoren kan verwerken;
2. is te programmeren;
3. motoren kan aansturen;
4. andere intelligente stenen kan aansturen.
Met deze excellentie-opdracht ga je aan het werk met programmeren van de
EV3 die sinds 2014 verkrijgbaar is. Met de EV3 kun je allerlei robots maken.
Inleiding Robotica vs 1.0
2/13
1 Omschrijving van deze module
Doel:
Programmeren van een eenvoudige LEGO-robot. (Afhankelijk van je ervaring
met de EV3 kun je deze opdracht op verschillende niveau’s uitvoeren.)
NB: Dit is een uitdagende opdracht die vraagt om creativiteit,
doorzettingsvermogen en veel zelfstandigheid. Daarnaast maakt deze module
regelmatig gebruik van Engelstalige uitleg die op internet is te vinden. Tot slot:
Je bent voornamelijk bezig met programmeren van je robot. Het ouderwets
legoën is maar een klein stuk van de opdracht.
In deze module ga je zelf:
● kennis te verwerven over programmeren;
● programmeren van een robot;
● zelf een robot uitkiezen en programmeren.
Tijdsbesteding 15 uur:
● Circa een uurtje: eenvoudige LEGO-robot bouwen.
● Vier uur: zelfstandig bestuderen van de programmeer-software (dit kan
ook thuis op je eigen computer).
● Tien uur: programmeren van de software en besturen van de robot.
Inleiding Robotica vs 1.0
3/13
2 Voorafgaand
Vier opmerkingen vooraf:
1. Hoewel je de programmeer-software thuis kan downloaden en je
programma’s thuis kunt schrijven, wel een hele duidelijke voorwaarde:
De complete LEGO-bouwdoos inclusief
= de intelligente steen EV3,
= de accupack,
= vier sensoren (IR, tast, kleur, gyro) en
= drie motoren
blijven altijd op school.
Na ieder gebruik lever je de doos in bij
de TOA: dhr. Volk (uiteraard mag je je
robot intact laten).
2. In de intelligente-steen, de EV3 (zie
afbeelding hiernaast) zitten of
oplaadbare batterijen of een accu die
circa twaalf uur moet laden (12uur voor
batterijen, 4 uur voor een accupack). Zoek een TOA op (dhr. Volk van
natuurkunde bijvoorbeeld) en vraag om de batterijen/accu op te laden.
3. Het LEGO­MINDSTORMS­EV3programma (zie logo
hiernaast) staat op de school PC’s en is ook gratis te
downloaden voor op je eigen MAC/PC:
www.lego.com ­> mindstorms.
NB: Voor sommige sensoren (bijv de gyro) moet je extra
software-patches downloaden.
4. Er is een uitstekende help beschikbaar in het mindstorms programma:
Inleiding Robotica vs 1.0
4/13
LEGO­MINDSTORMS­EV3 > HOME­menu > EV3 Help(onderin het
scherm, rechts:)
3 De Rover
Opdracht 1: Robots?
1. Zoek uit wat het verschil is tussen een robot en een automaat.
2. Noem enkele robots.
3. Wat is de reden dat mensen robots maken?
4. Welke drie onderdelen bevat een robot?
5. Wat zijn eigenschappen van robots waarover slechts nog kan worden
gefantaseerd?
Opdracht 2: Voorbereiden, onderdelen en software.
1. Haal een LEGO-EV3 doos op bij de TOA uit het Sciencelab.
2. Laad de batterijen/accu op (ca 12 uur/4 uur).
3. Start op een computer (PC of Mac) het LEGO­MINDSTORMS­EV3
programma. Dit kan op de PC’s op school of download het gratis
programma op je eigen computer/laptop:
www.lego.com ­> mindstorms. Let op dat op internet vaak de educatie software wordt gebruikt. Deze
software is vrijwel hetzelfde, en verschilt voornamelijk in uiterlijk van de
gratis beschikbare thuis-software.
Je start deze module met een simpele
robot de Riley Rover (lijkend op de
Opportunity Rover dit momenteel op
Mars rond rijdt). De Rover kan rijden en
je kunt het makkelijk uitbreiden met
sensoren, grijparmen en andere zaken.
De Rover is bedoeld om je de basis van
de robotica te leren: het programmeren.
De robot kan heel veel doen, maar (bijna) nooit meer dan het van tevoren
geprogrammeerd is te doen (en cyborgs bestaan nog niet…). Centraal in het
Inleiding Robotica vs 1.0
5/13
werken met een robot/de Rover is een programmeerbaar blik, in dit geval de
EV3 ‘intelligente steen’. De EV3 is de hersens van de robot, het is een kleine -te
programmeren- LINUX-computer met een intern- en extern geheugen.
Door het geheugen van de computer te voorzien van één of meerdere
programma’s kun je de Rover dingen laten doen volgens de exacte regels van
zo’n programma.
Andersom geldt natuurlijk ook: Zonder programma doet de Rover helemaal
niets.
Inleiding Robotica vs 1.0
6/13
Opdracht 3: De rover bouwen
1. Zoek op internet naar het
bouwplan (pdf is wel handig) van
de eenvoudige Riley Rover (zie
afbeelding) of de iets
geavanceerdere Educator
Vehicle (EV3-robot-educator).
Beide robots hebben dezelfde
opbouw: twee aangedreven
wielen aan de voorzijde en een
zwenk-wiel aan de achterzijde. Sensoren en extra motoren kun je naar
wens monteren op het frame van de Rover.
2. Bouw de Rover.
3. Je zult merken dat je sommige LEGO-onderdelen niet hebt. Staar je niet
blind op de kleuren, een ander kleur onderdeel kan natuurlijk ook. Verzin
zelf een oplossing voor onderdelen die je niet hebt. Er is echter ook nog
genoeg technisch lego aanwezig dat je kunt gebruiken. Vraag de de Toa.
4. Bouw de IR-sensor aan je Rover. (Tip: Voor een goede werking van de
sensor: Monteer de IR-sensor niet te laag.)
5. Eventueel kun je de Rover ook voorzien van de tast- en de optische
sensor.
6. Eventueel kun je een grijp-arm voorop monteren.
Het vervolg van deze module bouwt voort op de Rover klaar is en gaat er vanuit
dat je een computer (met USB en liefst bluetooth) hebt met de
EV3-mindstorm-software.
Het vervolg van deze module splitst in twee delen:
1. Als je nog geen, of weinig ervaring hebt met robotica, start dan bij 4
Robotica voor starters.
2. Ben je een ervaren EV3-gebruik, ga dan direct naar opdracht 7:
Eindopdracht voor starters. Daarna kun je verder met 5 Robotica als je
ervaring hebt.
Inleiding Robotica vs 1.0
7/13
4 Robotica voor starters
Eerst wat theorie.
Opdracht 4: Introductie op de EV3 via het web
1. Bekijk de onderstaande link:
www.stemcentric.com > EV3 Tutorial > EV3 Introduction Uitleg van het systeem (18 minuten, in het Engels).
Deze uitleg behandelt:
0 min - 5:38 min: opbouw van het systeem, de verschillende motoren, de
sensoren, de slimme steen de EV3.
5:38 min - 15:00 min: programmeren van de EV3.
15:00 min - 18:00 min: Downloaden naar de EV3 en vervolgens uitvoeren
van een programma.
Opdracht 5: Een eerste programma
1. Een Amerikaans robotcentrum heeft een uitstekende online-cursus
gemaakt voor de EV3-Rover.
2. Carnegie Mellon Robotics Academy > Lego > EV3 > curriculum > View Online Version.
Bekijk in ieder geval nog wat theorie:
= Basics: Getting started 1­4 (4x 1,5 min) = Basics: Big Ideas 1­5 (3 x 2min) En vervolgens kun je zelf aan de slag: = Behaviors: Movements > 1: Moving straight > 3 Steering forward (2 min)(Hier leer je een eerste programma
maken, downloaden en tot slot door de EV3 je programma uit te laten
voeren.)
Tip bij deze opdracht
Inleiding Robotica vs 1.0
8/13
Je kunt proberen om een bluetooth verbinding tot stand te brengen tussen de
EV3 en je laptop. Dat werkt erg makkelijk want dan kun je heel snel
programma’s aanpassen en downloaden naar de EV3 en hoef je niet steeds de
USB-kabel aan- en af te koppelen. (Bluetooth daarentegen geeft nogal eens
problemen. Maar: ook daar vind je met even zoeken op internet wel oplossingen
voor. Google op: EV3 bluetooth problem. Het is de bedoeling dat je deze module afsluit met eindopdracht 7. Voordat je
echter zover bent, moet je eerst leren de Rover goed te kunnen programmeren.
Dat ga je nu doen. Opdracht 6: Zelf aan de slag met programmeren
1. Gebruik de cursus uit opdracht 5. Deze kun je naar eigen inzicht
doorlopen totdat je genoeg weet om de eindopdracht te kunnen
voltooien.
Kies vooral de lesjes uit die je handig vindt, je hoeft niet alle instructies te
doorlopen. Het gaat erom dat je voldoende leert om de eindopdracht 7
te kunnen volbrengen. In ieder geval moet je daarvoor kunnen:
= programmeren met als-dan (IF THEN) en herhaal (REPEAT UNTILL)
opdrachten.
= sensoren gebruiken.
Enkele opmerkingen:
● Het kan zijn dat jou Rover een iets andere opbouw/componenten heeft
dan de gebruikte Rover in de online-lessenserie. Dat houdt dan meteen in
dat je Rover soms iets anders zal reageren op gegeven commando’s.
Pas je programma aan op jou Rover.
● Houd je projecten en programma’s op een computer bij elkaar in een
eigen folder. Zo kun je later aanpassen en met je docent bespreken.
● De programma’s moeten een verduidelijkende naam hebben (bijv:
latparcours.ev3 enz).
● Voorzie je programma van opmerkingen. Dit helpt jou of iemand anders
om op een later tijdstip te kunnen begrijpen hoe het programma is
opgebouwd en wat de verschillende programma-blokken doen. Kies van
Inleiding Robotica vs 1.0
9/13
de onderstaande voorbeelden een aantal opgaven uit. Als je ervaren
bent, kies je twee, als je begint met de EV3 kies je er drie. Programmeer
de Rover, download en laat het programma uitvoeren. Vervolgens moet
je waarschijnlijk verfijnen. Je kunt alle drie de programma’s geheel
afronden en in het geheugen van de EV3 laten staan. Als je drie
programma’s hebt verwerkt, kom je de Rover demonstreren in de klas.
Opdracht 7 Eindopdracht voor starters
1. Maak op de grond/tafel in het sciencelab met gekleurde-tape een
rechthoekig vlak ( ca. 1 x 2 m). (Overleg met de TOA’s waar je dat het
beste kunt doen). In het vak staan een aantal kleine objecten ter grootte
van een bidon/fles.
Je Rover moet nu zo snel mogelijk rijden van twee diagonale hoeken
zonder:
1. Het vlak te verlaten;
2. De objecten om te gooien.
2. Een vak van 2 x 1m. Staat vol met enkele blikjes. Vindt de blikjes en duw
ze uit het vak.
Inleiding Robotica vs 1.0
10/13
5 Robotica als je al ervaring hebt
Als het goed is heb eerst gemaakt opdracht 7: Eindopdracht voor starters.
Opdracht X: Verdieping
Op school is veel technisch LEGO, vraag de Toa daar om. Met deze
uitbreidingen kun je bijvoorbeeld maken en programeer een:
1. Een kleur sorteerder;
2. Een grijparm;
3. Een Useless-machine.
Inleiding Robotica vs 1.0
11/13
6 Links
Op het web vind je heel veel over de LEGO-EV3 robot en mogelijkheden.
● Download de Lego mindstorms software die je nodig hebt om te
programmeren. Let op dat je soms extra besturingsblokken moet
downloaden, bijvoorbeeld voor de gyro-sensor.
● Bouwplan van de EV3 robot educator (driewieler).
● Bouwplan van Riley Rover van Damien Kee.
● Complete gratis en online lessenserie EV3 intro en training. Circa zestig
korte filmpjes met uitleg, opdrachten en dan enkele vragen. Zo leer je
snel en effectief programmeren met de software.
● Een heldere introductie en uitleg van het EV3-systeem (18 min Engels).
De uitleg gaat er vanuit dat je de mindstorm-software al op je computer
hebt staan.
● pdf-file met EV3 uitleg
● Door middel van gestrucureerd programmeren dwing je jezelf om
effectief na te denken wat je programma moet gaan doen. Het is een
eerste stap naar een effectief robot-programma.
Met een zogenaamd Nassi–Shneiderman diagram (NSD) (zie afbeelding
voor het progammeren van een kaartjes-machine) is daarbij een compact
Inleiding Robotica vs 1.0
12/13
en duidelijke methode.
Hiermee kun je de opzet van een programma maken om het vervolgens in
de mindstorms-software uit te werken en te programmeren.
● Shannon’s Useless machine van Lego, hier zijn de bouw-instructies.
● Een braille-printer van LEGO de BRAIGO en op youtube.
● Zelf kopen? Koop niet de Mindstorms doos in de winkel, maar koop de
Education-set (380 euro in juli 2014).
De educatie-set is goedkoper omdat je o.a. een accu-pack krijgt. En
daarnaast bevat deze set geen overbodige lego.
● www.robocup.orgwaat in 2050 een team van robots de WK-voetbal
laten winnen. Om dat te bereiken zijn er nu al jaarlijks wedstrijden.
● Classroom Activities for the Busy Teacher: EV3, Damien
Kee
Inleiding Robotica vs 1.0
13/13