De robot op school


IMG_1031

Ozobot robot steekt een kruispunt over

Hoe kunnen robots worden ingezet op school. De school van mijn dochter maakt dit jaar gebruik van robots zoals de Ozobot als hulpmiddel voor de introductie van logisch denken en programmeren. Als vader en IT-er ben ik geïnteresseerd in de mogelijkheden van deze robot. Daarom kocht ik gelijk het model EVO om eens te kijken wat deze robot wel allemaal kan. Ambitieus als ik ben wilde ik gelijk het hoogst bereikbare onderzoeken en stelde mij als doel: “De robot programmeren als een echte verkeersdeelnemer”.

img_1596-ozobot-sfeer-1_1

Eerst eenvoudig beginnen

De EVO robot kan lijnen volgen getekend op een stuk papier. Zo kan je een doolhof tekenen en de robot volgt het pad door over de lijnen te rijden. Door speciale kleurcodes aan te brengen op de lijnen kan de robot acties uitvoeren zoals ronddraaien en knipperen met zijn lampjes. Daarnaast is hij ook volledig te programmeren met Ozoblockly  een grafische programmeertaal.

Het programmeren van de robot

Programming

Programmeren van de robot met de blockly programmeer taal

Om de robot iets te laten doen heb je een robot nodig, een omgeving en een computer programma. De robot moet iets leuks of nuttigs gaan doen in zijn omgeving. Omdat de school bezig was met verkeerslessen kwam ik op het idee om de robot als een auto te laten rondrijden in een verkeerssituatie.

Met behulp van het open source tekenprogramma Inkscape maak ik een plattegrond van een eenvoudige verkeerssituatie. Een kruispunt van twee wegen. Met zwarte lijnen geef ik het traject aan dat de robot mag volgen. Daarnaast gebruik ik een aantal gekleurde markeringen zodat de robot weet waar hij is en waar hij naartoe gaat. Zo bepaalt de robot allereerst of hij aan de goede kant van de weg rijd en in de goede richting. Word hij verkeerd op de plattegrond geplaatst dan ziet hij dat en draait zich om. Daarna detecteert hij of hij een kruispunt nadert en neemt een beslissing: rechtdoor, links of rechts af. Bij elke markering controleert hij of er een tegenligger nadert en wacht geduldig tot deze voorbij is. Het ontwerp is er niet in één keer. Ik ontdek dat mijn robot niet om zich heen kan kijken. Hij heeft een sensor om naar beneden te kijken daar een te lijn volgen en kleuren herkennen. Ik moet hem dus zelf bijbrengen waar hij is door het aanbrengen van gekleurde wegmarkeringen.

ozobot-bit-2-0-robot-featuressensor-testrangeHij heeft ook een aantal sensoren die botsingen aan de voorkant en de achterkant kunnen vaststellen.

Met een infrarood sensor bepaalt de robot of er een obstakel is en uit welke richting deze komt. In een volgende versie van het programma ga ik proberen  de voorrangsregels te programmeren. Om dat goed te doen moet ik echter meer weten over de mogelijkheden en beperkingen van de botsingsensor.

Ik ga daarvoor de robot testen. Hiervoor heb ik een “shooting range” gemaakt waarin de robot stilstaat op een zwarte stip en zijn sensors op een doel kan richten, in dit geval een lego poppetje. Zo kan je ontdekken hoe de sensors werken.

Daarnaast denk ik na hoe ik deze kleinschalige verkeerssituatie kan opschalen naar een groter geheel. Ik denk aan een situatie waarbij robots rond rijden op bepaalde plaatsen dozen oppikken en rondbrengen naar andere plaatsen, onderweg deelnemen aan het verkeer. Ter inspiratie vond ik deze op het internet:

De code die ik nu heb gemaakt is bedoeld voor mijzelf om de robot beter te leren kennen. Zij is veel te ingewikkeld en moet dus eenvoudiger. En wellicht moet er veel meer interactie zijn tussen de kinderen en de robot. Je kan met je handen voor de robot signalen geven en hem wellicht de weg wijzen. Misschien kunnen we verkeerslichten maken die echt werken. Dat maakt het allemaal veel leuker en leerzamer. Er is nog veel te onderzoeken, gelukkig maar want het is best leuk.

Wat kunnen we hiervan leren

Ik ben nu gestart en druk bezig met het onderzoeken van de mogelijkheden van deze robot. Heb heel wat geleerd over de mogelijkheden en de beperkingen. Programmeren is het maken van een model van de werkelijkheid. Het model geeft je de mogelijkheid om de werkelijkheid te begrijpen en erop in te grijpen. Dat maakt programmeren zo leuk want je begrijpt je omgeving en hebt er ook nog invloed op (leuk toch?).

Als je kijkt naar robots en programmeren denk ik dat je verschillende nivo’s kan onderscheiden die zijn opgebouwd uit een aantal aspecten:

  1. Statische of dynamische omgeving
    • Lijnen op de vloer of geheel vrij rondrijden
    • Andere objecten aanwezig
    • Andere robots aanwezig
  2. Interactie met de omgeving (sensoren, geluid, licht, aanraken)
  3. Robot kan dingen onthouden (klein/groot geheugen, korte termijn, lange termijn)
  4. Robot begrijpt de omgeving (interne kaart, navigeren)
  5. Robot kan objecten zoeken, oppakken, vervoeren
  6. Robot kan andere objecten ontwijken
  7. Doelbewust handelen (actie/reactie versus doel gericht)

Naast de physieke robot bestaat er ook nog de virtuele robot. Een virtuele robot is een robot die leeft in een virtuele computer wereld. Een gesimuleerde wereld in een computer dus die je helemaal zelf kan inrichten. Minecraft is een voorbeeld van een virtuele wereld. In de echte wereld moeten robots worden gekocht, ze moeten hun batterijen opladen en ze kunnen stuk gaan. In een virtuele wereld heb je die beperkingen niet en kun je in principe heel veel robots maken en zelfs met meerdere kinderen tegelijk binnen dezelfde wereld werken. Zo onderzoek ik de mogelijkheden van Robomind, Minecraft: Education Edition en ComputerCraft (minecraft).

Hoe introduceer je dit op school

Je zal eenvoudig moeten beginnen en stapsgewijs opbouwen. Maar er is meer voor nodig dan een leuke robot en een knap programmaatje om robots effectief op school in te zetten.

De vraag is: Hoe kan je technieken als robots effectief inzetten om kinderen meer inzicht te geven in de essentie van het programmeren.

Deze vraag is er een voor de scholen zelf, ik ben namelijk een vader en IT-er en geen onderwijsdeskundige. Ik kan de school helpen met mijn technische kennis en enthousiasme. Ik verwacht van de school dat zij een plan hebben of gaan ontwikkelen om robots en programmeren effectief in te zetten. De school hoeft niet vanaf nul te beginnen maar kan gebruik maken van kennisnet.

Het model voor digitale geletterdheid  word beschreven op http://www.kennisnet.nl

 

 

Tips voor scholen (Bron: Kennisnet)

Voor scholen die met programmeren willen beginnen heeft Sandra Legters de volgende tips:

  1. Begin unplugged. Dat is gratis, je hebt er geen internetverbinding of apparatuur voor nodig en je kunt er veel mee doen. Op Codekinderen en CS unplugged staan voorbeelden.
  2. Zoek online naar gratis lesmateriaal. Bijvoorbeeld bij Code Studio. Het lesmateriaal is deels in het Engels, maar je kunt er wel ideeën opdoen. Kijk ook eens op de Wikispacespagina van OPONOA.
  3. Schaf voor de onderbouwgroepen Primo Cubetto of de Bee-Bot aan. Leerlingen maken hiermee op een speelse manier kennis met computational thinking en je kunt er veel kanten mee op.
  4. Doe rustig aan. Geef bijvoorbeeld in eerste instantie 6 keer per jaar een les aan je groep en breid dit steeds verder uit.
  5. Laat alle leerlingen en leerkrachten meedoen, ieder op zijn of haar niveau. Dus niet alleen plusklassen of naschoolse lessen.
  6. Sluit aan op bestaande vakken. Bijvoorbeeld bij taal: maak een verhaal met Scratch.
  7. Vraag een ouder met een ict-achtergrond te helpen met de lessen, zoals je ook leesouders hebt.
  8. Bied goede begeleiding. Zeker in het begin is programmeren best moeilijk voor kinderen. Maar ook als ze verder zijn zullen ze dingen tegenkomen waarbij ze begeleiding nodig hebben. Als leerkracht weet je het beste waarom een kind alleen maar poppetjes zit te tekenen tijdens de instructie. Is de opdracht te moeilijk? Speelt faalangst een rol? Zorg ervoor dat iedereen er echt van leert.
  9. Het gaat bij computational thinking niet alleen om programmeren, maar vooral ook om vaardigheden als: fouten opsporen en corrigeren (debuggen), problemen oplossen door ze op te delen in kleinere stukjes, variabelen kunnen gebruiken, algoritmes (series instructies) kunnen toepassen, patronen kunnen herkennen, als-dan-principes en herhalingen snappen. Dit zijn vaardigheden die in allerlei situaties en lessen aan kinderen kunnen worden geleerd. Het is niet alleen in de toekomst nuttig voor ze, maar ook nu al. Experimenteer daar mee.

Het lijkt mij een leuke uitdaging en ik werk daar graag aan mee.

Links:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s