Inleiding robotica - 3e8.nl3e8.nl/files/robotica_opdracht.pdf · Inleiding Robotica vs 1.0 9/13 ....

13
Inleiding robotica Programmeren op de LEGO-robot EV3 Philip Habing; Versie 1.0 aug 2014 Inleiding Robotica vs 1.0 1/13

Transcript of Inleiding robotica - 3e8.nl3e8.nl/files/robotica_opdracht.pdf · Inleiding Robotica vs 1.0 9/13 ....

  • 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

    https://www.youtube.com/watch?v=X0pFZG7j5cE&feature=youtu.behttps://www.google.com/url?q=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBraigo&sa=D&sntz=1&usg=AFQjCNFP_LTiIvzqfVTISxkPyGePoNLAqw

  • 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 LEGOMINDSTORMSEV3 programma (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

    http://www.google.com/url?q=http%3A%2F%2Fwww.lego%2Fcom&sa=D&sntz=1&usg=AFQjCNHGwZXKt47jeOY0N3OvpVuigVtQAA

  • LEGOMINDSTORMSEV3 > HOMEmenu > 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 LEGOMINDSTORMSEV3 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

    http://www.google.com/url?q=http%3A%2F%2Fwww.lego%2Fcom&sa=D&sntz=1&usg=AFQjCNHGwZXKt47jeOY0N3OvpVuigVtQAAhttp://www.google.com/url?q=http%3A%2F%2Fmars.nasa.gov%2Fmer%2Fhome%2Findex.html&sa=D&sntz=1&usg=AFQjCNEzrMX3YfM1XoywegipPyppn8Qfaghttps://www.google.com/url?q=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCyborg&sa=D&sntz=1&usg=AFQjCNEV9zScpFeF9dY3hIYyU3LL_6Hdgg

  • 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 14 (4x 1,5 min) = Basics: Big Ideas 15 (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

    http://www.google.com/url?q=http%3A%2F%2Fwww.stemcentric.com%2Fev3-tutorial&sa=D&sntz=1&usg=AFQjCNGZIz-3mSb4AvgY7Bovno_XN4soCghttp://www.google.com/url?q=http%3A%2F%2Fwww.stemcentric.com%2Fev3-tutorial&sa=D&sntz=1&usg=AFQjCNGZIz-3mSb4AvgY7Bovno_XN4soCghttp://www.google.com/url?q=http%3A%2F%2Fwww.education.rec.ri.cmu.edu%2Fcontent%2Flego%2Fev3%2Fcurriculum%2Fpreview%2F&sa=D&sntz=1&usg=AFQjCNFXUKHo8gBOHqSO7MEKK0zwCFz-bA

  • 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

    http://www.google.com/url?q=http%3A%2F%2Fwww.lego.com%2Fen-us%2Fmindstorms%3Ficmp%3DCOUSFRMindstorms&sa=D&sntz=1&usg=AFQjCNFx_ew_7h70MWdf_UI8W3HHq8S8-ghttp://www.google.com/url?q=http%3A%2F%2Frobotsquare.com%2F2013%2F10%2F01%2Feducation-ev3-45544-instruction%2F&sa=D&sntz=1&usg=AFQjCNHIg9nOfC4EUBgO6vgX-NHa_TWwoAhttp://www.google.com/url?q=http%3A%2F%2Fwww.damienkee.com%2Fhome%2F2013%2F8%2F2%2Frileyrover-ev3-classroom-robot-design.html&sa=D&sntz=1&usg=AFQjCNGUb4-Rcp1GfUAVdqjHdpsldATW5Qhttp://www.google.com/url?q=http%3A%2F%2Fwww.damienkee.com%2F&sa=D&sntz=1&usg=AFQjCNEZXNHG-0Khp1_GJ-DP16k9XdJHvghttp://www.google.com/url?q=http%3A%2F%2Fwww.education.rec.ri.cmu.edu%2Fcontent%2Flego%2Fev3%2Fcurriculum%2Fpreview%2F&sa=D&sntz=1&usg=AFQjCNFXUKHo8gBOHqSO7MEKK0zwCFz-bAhttp://www.google.com/url?q=http%3A%2F%2Fwww.stemcentric.com%2Fev3-tutorial&sa=D&sntz=1&usg=AFQjCNGZIz-3mSb4AvgY7Bovno_XN4soCghttp://www.google.com/url?q=http%3A%2F%2Fwww.firstlegoleague.org%2Fsites%2Fdefault%2Ffiles%2F...%2F2013EV3Programming.pdf&sa=D&sntz=1&usg=AFQjCNERqiN4cFaEDn5jh-ibo_3m7YpJhAhttps://www.google.com/url?q=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FStructured_programming&sa=D&sntz=1&usg=AFQjCNELXk5GEP1byf43VggQyGBBBflEFQhttps://www.google.com/url?q=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FNassi%25E2%2580%2593Shneiderman_diagram&sa=D&sntz=1&usg=AFQjCNGkCrQ6EUNDzWrLOPSK7_PpNlomOA

  • 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.org waat 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

    https://www.youtube.com/watch?v=6xCd55oSgO4http://www.google.com/url?q=http%3A%2F%2Fjkbrickworks.com%2Fluuma-ev3%2F&sa=D&sntz=1&usg=AFQjCNHBw8omh1hGl339ibIId8pZwqkYVwhttp://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBraigo&sa=D&sntz=1&usg=AFQjCNEnyONERGSBNn4F19sl1VMmjEoQTAhttps://www.youtube.com/watch?v=0YfnKB1zWOUhttp://www.google.com/url?q=http%3A%2F%2Fwww.robocup.org&sa=D&sntz=1&usg=AFQjCNHCl-WsshFi_kmy2r08E6Jgbxn3Tghttp://www.google.com/url?q=http%3A%2F%2Fwww.damienkee.com%2Fclassroom-activities-ev3%2F&sa=D&sntz=1&usg=AFQjCNHvQIHITh8O91tts4FdzJH0bmUwgg