SlideShare a Scribd company logo
1 of 24
Download to read offline
Doorlopende Leerlijn Robotica




Robotica
Doorlopende leerlijn




                       geschikt voor RoboCup en NLT
                       voor leerlingen van 9 – 19 jaar
                       versie 4.2 – September 2010

                                                            1
Doorlopende Leerlijn Robotica


Doorlopende leerlijn
In Nederland worden verschillende robotica activiteiten ontwikkeld. De
bekendste daarvan zijn de First Lego League, RoboCup Junior en de NLT module
robotica voor VWO. De afgelopen jaren is gewerkt aan een doorlopende leerlijn,
waarbij voor alle RoboCup wedstrijden en de NLT robotica module lesmateriaal
is ontwikkeld voor leerlingen van 9 tot 19 jaar.

Een doorlopende leerlijn is een didactische aanpak waarbij de leerstof is
gespreid over meerdere jaren en schooltypes en ervoor zorgt dat er een goede
aansluiting is tussen alle onderdelen van de leerstof.




De leerlingen worden op drie niveaus vertrouwd gemaakt met het
programmeren van eenvoudige robots. Het gebruik van een simulator staat
hierbij centraal. De leerlijn voert langs drie niveaus:

Het conceptuele niveau is vooral gericht op het basisonderwijs. Op dit niveau
concentreren de leerlingen zich uitsluitend op het probleem. Vanuit de
programmeertaal krijgen ze kant-en-klare deeloplossingen aangereikt die ze op
de juiste manier moeten samenvoegen en waarvan ze de variabelen zelf
moeten instellen. Hierdoor raken de leerlingen in korte tijd vertrouwd met het
programmeren van een robot en leren ze snel te doorzien wat er in de praktijk
van robotica zoal komt kijken.

Op het fysieke niveau leren de cursisten om te gaan met sensoren en motoren
en gaan ze dieper in op het programmeren van robots. De leerlingen moeten
veel meer zelf ontdekken en doen, waardoor ze inzicht krijgen in hoe
                                                                                     2
Doorlopende Leerlijn Robotica

programma’s worden gemaakt. Ze moeten nu zélf de oplossingen maken die ze
op het conceptuele niveau nog kant-en-klaar voorgeschoteld kregen. De andere
onderdelen van de doorlopende leerlijn op dit niveau zijn eveneens beschikbaar
in RoboPAL.

Het programmeer niveau is het hoogste en moeilijkste niveau van de leerlijn.
Hierbij krijgen de leerlingen dezelfde problemen op te lossen, maar nu moeten
ze dit doen in de programmeertaal Java. Java is wijdverbreid in het bedrijfsleven
en de internetwereld.

De NLT-module Robotica is volledig opgenomen in deze doorlopende leerlijn
                            robotica en vormt daarvan het sluitstuk op zowel
                            het fysieke niveau (NXT) als op
                            programmeerniveau (Java). In het overzicht
                            hiernaast is de totale leerlijn geschetst. Alle
                            onderdelen van de leerlijn zijn beschikbaar in
                            RoboPAL, maar maken niet allemaal deel uit van
                            de NLT-module. Lesmateriaal voor de overige
                            onderdelen zijn apart beschikbaar.

                             De bestaande Java-versie van de NLT-module
                             Robotica valt samen met Level 3 (programming
                             level); de NXT-versie valt samen met Level 2
                             (physical level). Level 1 (conceptueel niveau)
                             maakt geen deel uit van de roboticamodule, maar
                             kan afzonderlijk daarvan worden ingezet. De beide
                             versies voor Java en voor de NXT zijn eveneens
                             afzonderlijk van elkaar te gebruiken.

                             In dit document gaan we dieper in op de volledige
                             leerlijn voor Robotica.




                                                                                      3
Doorlopende Leerlijn Robotica


RoboPAL
RoboPAL (Play And Learn) is een complete ontwikkelomgeving met het
bedieningsgemak van een eenvoudige grafische programmeertaal. In RoboPAL
bouw je programma’s op uit icoontjes die door middel van parameters
aangepast kunnen worden om de verschillende opdrachten uit te voeren. De
programma’s die de leerlingen moeten maken worden gaandeweg meer
complex en bereiken in het derde deel de hoogste moeilijkheidsgraad.

Simulator
De toepassing van een simulator is één van de belangrijkste aspecten van de
Robotica leerlijn. Niet alleen is het een veelvuldig toegepast onderdeel van
vrijwel alle roboticaprojecten, maar het helpt de leerlingen ook om beter en
sneller het lesmateriaal te verwerken.

In de dagelijkse praktijk van robotica zijn simulators niet meer weg te denken.
Ten eerste levert het uittesten van belangrijke functies in een simulatie
aanzienlijke tijdwinst op. Een robot, die onderhevig is aan slijtage of defect kan
raken, is vooralsnog niet nodig. Ten tweede werkt een simulator veel sneller
omdat er niet telkens opnieuw een programma in het geheugen van de robot
geladen hoeft te worden, om daarna te worden uitgeprobeerd. In de klas is het
een groot voordeel dat alle onderdelen van de lessen op de PC kunnen worden
gemaakt en getest. Een robotje is maar af en toe nodig. Leerlingen kunnen ook
thuis gemakkelijk de opdrachten op hun eigen PC uitproberen.

Het voordeel van RoboPAL is dat er een eenvoudige programmeeromgeving
mee wordt gerealiseerd met een geïntegreerde simulator, terwijl de opzet van
de doorlopende leerlijn in het systeem is verweven. Deze mate van integratie is
uniek in de markt.

Het programma wordt eerst ontwikkeld met RoboPAL en daarna met de
ingebouwde simulator uitgeprobeerd. Werkt het programma goed, dan wordt
het via de speciale RoboPAL dongle met een draadloze verbinding in het
geheugen van de NXT robot geladen.

                                                                                        4
Doorlopende Leerlijn Robotica




In de ontwikkelomgeving van RoboPAL   Door het starten van de simulator   De speciale RoboPAL dongle laadt
wordt een programma ingevoerd.        wordt het programma uitgevoerd      een programma draadloos in de
                                      en kan dit stap voor stap worden    NXT via BlueTooth
                                      gevolgd.


Java Simulator
De NLT module Robotica voor Level 3 (Programming Level) is gebaseerd op
Eclipse en de bijbehorende Java simulator. Deze simulator lijkt veel op die van
RoboPAL en de opzet is om in de loop van 2011 deze simulator en
ontwikkelomgeving te integreren met RoboPAL, zodat er vanuit één enkele
omgeving gewerkt kan worden met alle onderdelen van de doorlopende leerlijn.

Op dit moment is dat nog niet zo en is de software voor de NLT module voor
Java een apart systeem, dat ook apart wordt beschreven en geleverd.




                                                                                                             5
Doorlopende Leerlijn Robotica


De robots
Lego NXT
Bij de Java-versie van de NLT-module wordt gebruik gemaakt van de JoBot
Nano. Dit robotje is opgebouwd rond een standaard microprocessor van de
fabrikant MicroChip. Het heeft een technische uitstraling. Deze robotjes lenen
zich prima voor het maken van uitbreidingen. Leerlingen in de bovenbouw
kunnen die zelf maken. Programmeren in Java is niet eenvoudig. Veel scholen
kozen juist om die reden voor de NLT-module Robotica. Leerlingen die minder
diepgaand kennis met robotica willen maken kunnen dankzij deze nieuwe versie
nu ook aan de slag. Dit is vooral interessant voor de onderbouw, maar ook voor
bovenbouwleerlingen van andere studierichtingen dan VWO.

                          Door het gebruik van een eenvoudige
                          programmeertaal en een standaard NXT-robot van
                          Lego is niet alleen het programmeren eenvoudiger,
                          maar kan de robot ook voor andere projecten
                          worden gebruikt.

                         De Lego NXT is een flexibel robotica-bouwpakket,
                         dat met een heel scala aan programmeertalen kan
                         worden geprogrammeerd. Daarnaast is er een grote
verscheidenheid aan sensoren beschikbaar.

Dat maakt het voor leerlingen mogelijk om na het volgen van de NLT
roboticacursus zelfstandig aan grotere projecten te werken.

Jobot Nano
Het cursusmateriaal is opgezet om grotendeels gebruikt te worden op een
tweetal verschillende robots. De JoBot Nano is onderdeel van de JoBot familie.
JoBot staat voor Java Based Omnidiractional roBOT en is bedoeld als een breder
platform voor zelfbouw. Deze robot kan in Java worden geprogrammeerd en is
vooral bedoeld voor het Programming Level.


                                                                                    6
Doorlopende Leerlijn Robotica

Het is een eenvoudig robotje met verschillende sensoren, waarmee alle
onderdelen van de doorlopende leerlijn kunnen worden uitgevoerd.

                                      Naast de eenvoudige Nano bestaan er
                                      ook nog de meer uitgebreide Junior en
                                      de driewielige omnidirectionele JoBot.

                                      Er zijn daarnaast verschillende extra
                                      sensoren en opties beschikbaar voor dit
                                      robotje, waaronder een autonome
                                      camera, waarmee objecten en kleuren
                                      kunnen worden herkend.

FlexBot
De FlexBot is een nieuwe robot, die de opvolger gaat worden van de JoBot
familie.

                                  De prints die bij deze robot worden gebruikt
                                  zijn opgebouwd uit FlexBoards, waarmee een
                                  scala van componenten op een standaard
                                  print kunnen worden toegevoegd.

                                  De eerste prototypes zijn momenteel in
                                  ontwikkeling en in de loop van 2011 zal een
                                  nieuwe versie van de Java omgeving worden
                                  ontwikkeld die met deze robot en de Nano
zullen gaan werken.

Daarmee wordt dan tevens bereikt dat alle software voor de gehele leerlijn
wordt ontwikkeld vanuit dezelfde ontwikkelomgeving.




                                                                                     7
Doorlopende Leerlijn Robotica


Het Conceptuele niveau
                     Het Conceptuele niveau concentreert zich op
                     manier waarop een probleem wordt
                     aangepakt.

                     De bedoeling is dat leerlingen met een
                     minimum aan inspanning hun eerste
                     resultaten bereiken en daardoor vertrouwen
                     krijgen dat zij met robotjes kunnen omgaan en
                     ook kunnen leren om te programmeren.

                     De lessen zijn opgezet om de verschillende
                     wedstrijden van RoboCup Junior te kunnen
                     spelen, te weten; Dansen, Rescue en Voetbal.

                     De cursus begint met de basiscursus waarin
                     voldoende wordt geleerd om daarna een keuze
                     te maken uit één van de drie disciplines. Vaak
                     is het de beste benadering om na de
                     basiscursus te beginnen met Dansen, gevolgd
                     door Rescue en vervolgens de veel moeilijkere
                     Voetbal toepassingen. (In de huidige versie is
                     Voetbal nog niet beschikbaar.)




                                                                         8
Doorlopende Leerlijn Robotica


Lesmateriaal
Alle lessen op dit niveau worden gegeven met zogenaamde leskaarten.

Iedere les heeft een bijbehorende leskaart, waarbij op de voorkant een korte
beschrijving staat van de les en op de achterkant stap-voor-stap instructies die
de leerlingen moeten uitvoeren. Door deze stappen te volgen leren ze het
programma te gebruiken, de robotjes te programmeren en de missie uit te
voeren.




Door het gebruik van één leskaart per les kunnen leerlingen ieder in hun eigen
tempo de lessen volgen. Met behulp van RoboPAL wordt het programma
gemaakt en met de ingebouwde simulator wordt het programma getest. Dat
kan ook thuis gedaan worden. Werkt het programma goed, dan wordt er een
robotje gepakt en wordt het programma draadloos in het geheugen van het
robotje geladen via de RoboPAL dongle. Bij de Nano robots wordt het
programma met behulp van een kabel in het geheugen geladen.

Aan het eind van ieder onderdeel wordt een les opgenomen waarin de
leerlingen het geleerde in de praktijk zelf moeten toepassen. Hiermee wordt het
geleerde toegepast en blijft beter onthouden.




                                                                                       9
Doorlopende Leerlijn Robotica


Basis
        De basislessen behandelen de
        onderwerpen als Calibratie,
        Beweging, Sensoren en het gebruik
        van Loops (programma lussen of
        herhalingen)

        Er zijn een viertal lessen, die
        zorgen dat de leerlingen leren hoe
        je de robot laat bewegen, hoe je
        een programma moet laden en
        vervolgens hoe je met de sensoren
        kleuren kunt onderscheiden.

        Gewapend met deze basiskennis
        kunnen ze doorgaan met de
        volgende lessen, afhankelijk van de
        gekozen missie.




                                               10
Doorlopende Leerlijn Robotica


Dans
Bij de Dans missie moet een robotje op de maat van zelf uit te kiezen muziek
bewegingen gaan maken. Daarvoor is nodig dat het muziekstuk wordt
opgedeeld in onderdelen, waarbij voor ieder onderdeel wordt vastgesteld wat
voor bewegingen daar bij horen.

                                       Daarvoor moet een dansschema
                                       worden opgesteld en op basis daarvan
                                       wordt dan een programma
                                       samengesteld. In een achttal lessen
                                       worden verschillende aspecten van het
                                       programmeren van een dansende
                                       robot behandeld. Naast het gebruik
                                       van extra motoren voor bewegingen
                                       van bijvoorbeeld een hoofd, kan ook
                                       gebruik worden gemaakt van Midi om
                                       de volgorde en timing van bewegingen
                                       te bepalen.

                                       Daarnaast worden extra mogelijkheden
                                       geboden om een lijn te volgen en te
                                       zorgen dat de robot niet ergens
                                       tegenaan botst.

                                       Bij wedstrijden dansen de leerlingen
                                       vaak mee met de robots en kunnen
                                       leerlingen die zich niet zo
                                       aangetrokken voelen tot techniek of
                                       het programmeren van een robotje,
                                       zorgen voor de choreografie of het
                                       ontwerpen en maken van kostuums
voor dansers en robots.


                                                                                   11
Doorlopende Leerlijn Robotica


Rescue
                                        De Rescue missie is opgezet om te
                                       leren omgaan met sensoren en
                                       motoren. De leerlingen krijgen een
                                       lijnvolger aangeboden en een
                                       automatische kalibratie routine.

                                       Ze leren de sensoren te kalibreren en
                                       daarna hoe ze een lijnvolger kunnen
                                       instellen.

                                       De kunst is om het robotje zo snel
                                       mogelijk de weg te laten volgen zonder
                                       uit te bocht te vliegen.

                                       In een zestal lessen wordt geleerd hoe
                                       de missie gespeeld moet worden en er
                                       kan in de klas al een wedstrijd worden
                                       gespeeld om te zien of de leerlingen
                                       zich de stof eigen hebben gemaakt.

                                        De Rescue missie houdt in dat een
gevaarlijke container in een moeras terecht is gekomen (een blikje dat op het
gele vlak staat).

                          Het robotje moet zo snel mogelijk vanaf het
                          startpunt de zwarte weg volgen en aangekomen op
                          het gele vlak daar het blikje zoeken en naar de kant
                          duwen.

                          Hierbij is het kalibreren van de sensoren op het veld
                          belangrijk en de instelling van de parameters voor de
                          lijnvolger. Er wordt in een zestal lessen uitgelegd wat
                          lijnvolgers zijn, hoe kalibratie werkt en hoe de

                                                                                     12
Doorlopende Leerlijn Robotica

lijnvolger het beste kan worden ingesteld. Vervolgens wordt uitgelegd hoe je
het blikje moet zoeken en al rijdend van het veld afduwt.

Leerlingen die de missie tot een goed einde brengen kunnen hiermee eventueel
ook meedoen met de RoboCup Junior wedstrijden die jaarlijks in mei of juni in
NEMO worden gehouden.

Voetbal
Het moeilijkste onderdeel is voetbal. In de huidige versie zijn daar nog geen
lessen voor opgezet, maar die zijn wel in ontwikkeling. Daarnaast is er wel
cursusmateriaal beschikbaar over voetbal voor andere programmeertalen maar
niet op het conceptuele niveau.




                                                                                    13
Doorlopende Leerlijn Robotica


Het Fysieke Niveau
                            Na het doorlopen van de lessen op het
                            Conceptuele niveau kunnen leerlingen
                            overstappen naar het Fysieke niveau. Op dit
                            niveau worden er geen ingeblikte functies zoals
                            lijnvolgers en kalibratie meer verstrekt maar
                            wordt geleerd hoe je zelf lijnvolgers en kalibratie
                            routines moet bouwen.

                            Ook hier kennen we een basiscursus en de Dans,
                            Rescue en Voetbal missies.

                            Extra op dit niveau is de NLT robotica module
                            voor de Lego NXT, waarin een basiscursus is
                            opgenomen en de rescue missie wordt
                            behandeld. In het volgende deel van deze folder
                            wordt de NLT module verder uitgelegd.

                            De drie lessen behandelen net als bij het
                            conceptuele niveau de verschillende aspecten
                            aan de hand van leskaarten. De lessen gaan veel
                            dieper dan bij het Conceptuele niveau en de
                            leerlingen moeten veel meer zelf doen.



Bij de NLT module wordt gebruik gemaakt van lesboeken, waarbij in ieder
hoofdstuk een nieuw onderwerp wordt behandeld. De leskaarten maken dan
plaats voor lesboeken met meer tekst en moeilijkere oefeningen.




                                                                                   14
Doorlopende Leerlijn Robotica


Basis
        In de basiscursus wordt meer uitgelegd over
        kalibratie en lijnvolgers. Daarnaast wordt
        het idee van subroutines, variabelen en
        parameters uitgelegd, zodat in de volgende
        missies de leerlingen daarmee aan de slag
        kunnen.

        Omdat in alle missies dezelfde technieken
        gebruikt worden is er een zekere mate van
        overlap tussen de lessen.

        Dans
        Aan de hand van de dansmissie worden de
        verschillende onderdelen die in de
        basiscursus zijn geleerd toegepast om een
        dansschema te maken en verder uit te
        bouwen.

        Rescue
        De rescue missie is in principe hetzelfde en
        ook hier wordt geleerd om zelf lijnvolgers te
        maken en gebruik te maken van subroutines
        etc.

        Voetbal
        Ook hier zijn nog geen lessen voor voetbal
        beschikbaar.




                                                         15
Doorlopende Leerlijn Robotica


De NLT module voor Lego NXT
De NLT module is onderverdeeld in drie delen die afzonderlijk of in combinatie
gevolgd kunnen worden:

                        1. De basis wordt gelegd in het eerste deel van vier
                           lessen waarin het robotje aan bod komt, de
                           simulator, het programmeren en waarin een eerste
                           programma wordt gemaakt. Dit is tevens een goede
                           introductie voor docenten die op school mee willen
                           doen met de RoboCup Junior wedstrijden.
                        2. De Rescue missie. In deze drie hoofdstukken wordt
                           aan de hand van de Sense-Reason-Act loop uitgelegd
                           hoe de Rescue missie kan worden geprogrammeerd.
                        3. Adaptive Behavior. In deze laatste drie hoofdstukken
                           wordt meer aandacht besteed aan het
                           programmeren van eenvoudig insectachtig gedrag
                           waarbij technieken uit de Kunstmatige Intelligentie
                           worden toegepast.

                     In iedere les worden een aantal belangrijke concepten
behandeld, zie de Features in het plaatje hiernaast. De module kan in
verschillende combinaties worden gevolgd. Het deel Basics is in alle gevallen
vereist. Daarna kunnen de delen Rescue en het meer complexe Adaptive
Behaviour volgen. Het is ook mogelijk om na Basics direct door te gaan met
Adaptive Behavior.

De Rescue missie houdt in dat er een gevaarlijke container moet worden
opgespoord en uit een moeras moet worden verwijderd. Adaptive Behavior
concentreert zich meer op de technieken die nodig zijn om robots zichzelf te
laten aanpassen aan veranderende omstandigheden.




                                                                                     16
Doorlopende Leerlijn Robotica

In deze lessen wordt gebruik gemaakt van een cursusboek voor ieder deel en is
ook een docentenversie beschikbaar. Hier worden dus geen leskaarten meer
gebruikt.

Basics
                    De basismodule geeft de leerling alle informatie die nodig
                    is om programma’s te kunnen schrijven, testen en
                    uitvoeren op de NXT robot.

                    In ieder van de vier hoofdstukken wordt eerst een uitleg
                    gegeven en vervolgens wordt in een aantal concrete
                    stappen aangegeven wat er in het programma ingevoerd
                    moet worden.

                          Om ervoor te zorgen dat leerlingen overzicht houden
                          zijn er optionele detailopdrachten. Die kunnen ze
                          desgewenst overslaan of meer in detail bekijken,
                          mocht een vervolgopdracht te moeilijk blijken.

                          Deze optionele opdrachten zijn in de onderstaande
                          plaatjes aangegeven met de grijze vakjes.
                          Verder wordt ieder hoofdstuk afgerond met een
                          zelfdoe-opdracht waarin het geleerde wordt
                          toegepast. Deze zijn aangegeven met een rood
                          kader.

                          Daarnaast wordt aandacht besteed aan het opslaan
                          van programma’s, het gebruik van variabelen en
                          subroutines en wordt de werking van de
                          ingebouwde debugger uitgelegd.

                          De opdrachten op dit niveau zijn zeer eenvoudig en
                          behandelen de elementaire concepten van het

                                                                                    17
Doorlopende Leerlijn Robotica

programmeren. Er wordt begonnen met eenvoudige programmeerstappen.

De laatste lessen behandelen het gebruik van programmalussen en vervolgens
de toepassing van subroutines, variabelen en parameters.

                                       Dit is een simpel programma waarin de
                                       robot een stukje vooruit rijdt en dan een
                                       bochtje maakt.

                                       Datzelfde kan worden ondergebracht in
                                       een subroutine, waardoor dit
                                       programma-onderdeel opnieuw kan
                                       worden gebruikt voor andere
                                       doeleinden.


                                       In dit programma wordt de subroutine
                                       twee keer aangeroepen. Met vier
                                       aanroepen legt het robotje een vierkant
                                       af. De parameters worde gebruikt om de
                                       lengte van de zijden van het vierkant te
                                       kunnen aanpassen.


Op dit niveau zijn de programma’s nog redelijk eenvoudig te volgen. Aan het
eind zijn leerlingen in staat om zelfstandig eenvoudige programma’s te maken.

Het is dikwijls gemakkelijker om een onderwerp aangedragen te krijgen. Dat
gebeurt in de resterende twee delen. In deel 2, de Rescue missie, wordt geleerd
hoe het robotje een gevaarlijke container kan opsporen. Dit is een leuke
opdracht die ook gebruikt kan worden door leerlingen die willen meedoen met
de nationale RoboCup Junior wedstrijden. Deze worden jaarlijks in NEMO
georganiseerd.




                                                                                    18
Doorlopende Leerlijn Robotica


Rescue
                             In het tweede deel wordt de Sense-Reason-Act
                             loop geïntroduceerd.




                             Deze constructie wordt in
                             vrijwel alle robotprogramma’s toegepast. Het
                             houdt onder meer in dat de robot zijn sensoren
                             gebruikt om een lijn te volgen of een object te
                             vinden. Elk van de drie hoofdstukken behandelt
                             één van deze drie stappen.

                             Het onderwerp van dit tweede deel is de rescue
                             missie. Hierbij moet het robotje de zwarte lijn
                             volgen, totdat het bij het moeras aankomt. Daar
                             moet het robotje een blikje zoeken en naar de
                             kant duwen. Dat blikje stelt een container voor
                             met gevaarlijke stoffen, die niet met water in
                             aanraking mogen komen.

                                                   De container moet dus zo
                                                   snel mogelijk worden
                                                   opgespoord en naar de kant
                                                   geduwd.

                                                   De leerlingen leren om zelf
                                                   een lijnvolger te
                                                   programmeren en hoe de
sensoren moeten worden gekalibreerd. De kunst is om het robotje zo snel
mogelijk het parcours te laten volgen, zonder dat het uit de bocht vliegt.

                                                                                     19
Doorlopende Leerlijn Robotica

De programma’s in dit deel zijn moeilijker dan in het eerste deel. Er wordt
gebruik gemaakt van loops (lussen), subroutines en van parameters om de
werking van het programma te beïnvloeden.

                               Ook hier is belangrijk om de juiste instellingen
                               van de lijnvolgers uit te zoeken en de sensoren
                               op de juiste manier te kalibreren. Het derde deel
                               kan hierna gevolgd worden, maar de docent
                               heeft ook de keuze om dat deel over te slaan.

                               Voor de leerlingen die graag een wat
                               uitdagender onderwerp kiezen, kan het tweede
                               deel worden verruild voor het moeilijkere, derde
                               deel.

De inhoud van dit onderdeel heeft een grote mate van overlap met de Rescue
lessen op dit niveau. In de NLT module worden meer details behandeld
waardoor meer diepgang wordt bereikt




                                                                                     20
Doorlopende Leerlijn Robotica


Adaptive Behavior
                       In het derde deel wordt geleerd hoe de
                       robot zichzelf kan aanpassen aan
                       veranderende omstandigheden.

                       Hierbij is van belang om gebruik te maken
                       van een zogenaamd State Diagram
                       (toestandsdiagram) waarin staat in welke
                       situatie de robot kan raken en wat de
                       daarbij behorende actie is. Dit is een
                       verdere verdieping van de Sense-Reason-
                       Act loop.




                    Een state-diagram geeft aan door welke
                    externe prikkels de robot in een bepaalde
                    toestand raakt en welke actie hij daarop
                    onderneemt (behavior).




                                          De programma’s in dit
                                          deel zijn weer een stuk
                                          complexer dan in
                                          de voorgaande delen en
                                          zijn meer theoretisch
                                          georiënteerd.


                                                                        21
Doorlopende Leerlijn Robotica


Het Programmeer Niveau
                   Het programmeer niveau is het hoogste niveau
                   van de doorlopende leerlijn. Op dit niveau wordt
                   geprogrammeerd in een echte
                   programmeertaal, in ons geval Java.

                   De huidige versie voorziet alleen in het NLT deel
                   dat in de vorm van cursusboeken voor de NLT
                   robotica module beschikbaar is.

                   Er wordt gebruik gemaakt van Eclipse als
                   ontwikkelomgeving en van Java als
                   programmeertaal. Als onderdeel van het
                   lesmateriaal wordt een volledig in Java
                   ontwikkelde simulator bijgeleverd.

                   Het programmeren op dit niveau is veel lastiger
                   dan bij de twee eerdere niveau’s. Leerlingen
                   worden herhaaldelijk geconfronteerd met hun
                   eigen fouten en moeten niet alleen leren om
                   secuur te werken maar ook moeten ze gebruik
                   maken van de ingebouwde debugging
                   faciliteiten.

                   Voor het programmeren wordt gebruik gemaakt
                   van een zogenaamde packager, die de door
                   Eclipse gegenereerde code omzet naar
                   machinetaal en die vervolgens in het geheugen
                   van het robotje laadt.

                   De opdrachten in deze lessen zijn precies
                   hetzelfde als die op het Fysieke niveau alleen is
                   het programmeren ervan een stuk lastiger,
                   omdat met een tekstuele programmeertaal
wordt gewerkt.
                                                                         22
Doorlopende Leerlijn Robotica

                                       De bijgeleverde simulator werkt op een
                                       vergelijkbare manier als bij RoboPAL
                                       maar is geheel in Java geschreven en kan
                                       eventueel door de docent of leerlingen
                                       verder worden aangepast.

                                      Er is een nieuwe versie in voorbereiding,
                                      waarbij net als bij de voorgaande
                                      onderdelen geprogrammeerd wordt met
de RoboPAL omgeving, alleen nu in Java. Zodra deze versie gereed is zal worden
overgestapt van Eclipse als ontwikkelomgeving naar RoboPAL.

Met de nieuwe FlexBot die in ontwikkeling is zal dit onderdeel, waarbij in Java
wordt geprogrammeerd ook in de RoboPAL omgeving worden opgenomen.
Daardoor is dan de gehele leerlijn onderdeel van een complete
ontwikkelomgeving.

De programmeeromgeving is daarnaast onderdeel van Virtual BreadBoard, een
simulatiesysteem waarmee ook functies van elektronische onderdelen kunnen
worden ontwikkeld en gebouwd. Daarmee kunnen de leerlingen dan zelf
elektronica ontwerpen, testen en bouwen.

Ook de mechanica wordt niet vergeten. Door de integratie met een 3D ontwerp
programma kunnen ook mechanische onderdelen worden ontworpen en in eem
FabLab zelf worden gebouwd. Aan deze onderdelen zal in de loop van 2011
verder worden gewerkt.




                                                                                      23
Doorlopende Leerlijn Robotica


Download procedure software en documentatie
Alle informatie over de NLT robotica module voor de NXT is beschikbaar op CD.
De CD voor NLT voor de NXT en die van Java is gratis verkrijgbaar bij het
steunpunt NLT in Amsterdam. http://betavak-nlt.nl/regionaal/Regionale_steunpunten/
De CD voor de RoboCup onderdelen van de leerlijn kunt u bestellen via
info@robocupjunior.nl
Alle software en documentatie voor de beide NLT robotica modules kan via
DropBox worden gedownload. Dat kan op twee manieren:
  1. Via de website van RoboCup Junior kunt u het gewenste materiaal direct
     downloaden via onderstaande links:
      a. NLT lesmateriaal:
      http://dl.dropbox.com/u/8670206/NLT_Robotica_NXT_4.2.zip (6 Mb)
       b. RoboPAL versie 4.2:
      http://www.robocupjunior.nl/download-document/74-robopal-versie-4.2-voor-nxt.html (123 Mb)
  2. Op de website van RoboCup Junior vindt u in de download sectie de meest
     belangrijke informatie over de NLT module voor NXT en die voor Java.
  3. Wilt u toegang tot nieuwste versies via de NLT? Stuur dan een e-mail aan
     info@robocupjunior.nl waarin u vraagt om toegang tot de NLT DropBox. Wij
     zorgen dan dat u met uw e-mailadres toegang krijgt. Vervolgens maakt u
     verbinding met de DropBox van NLT. Hierin vindt u een map voor NLT
     Robotica (Java) en voor RoboPAL. De mappen bevatten hetzelfde als de
     CD. Via de DropBox heeft u altijd de beschikking over de meest recente
     informatie.
De meest recente versies van de NLT Robotica voor Java zijn eveneens te
downloaden via de website van RoboCup Junior: www.RoboCupJunior.nl
Informatie over RoboPAL en Virtual BreadBoard is te vinden op de volgende
websites: www.muvium.com, www.robopal4nxt.com en www.virtualbreadboard.com
Wilt u extra informatie over de apparatuur, prijzen etc? Stuur dan een mailtje
naar info@robocupjunior.nl.



                                                                                                    24

More Related Content

More from SURF Events

Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...
Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...
Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...
SURF Events
 
Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...
Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...
Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...
SURF Events
 

More from SURF Events (20)

Onderwijsinnovatie Management CardGame - Ysbrand Hoetjes - OWD22
Onderwijsinnovatie Management CardGame - Ysbrand Hoetjes - OWD22Onderwijsinnovatie Management CardGame - Ysbrand Hoetjes - OWD22
Onderwijsinnovatie Management CardGame - Ysbrand Hoetjes - OWD22
 
Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...
Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...
Hoe door een multidisciplinaire aanpak de ondersteuning van het leren en werk...
 
Gebruikers aan het woord, effectief doorontwikkelen - Jeffrey Braak & Larissa...
Gebruikers aan het woord, effectief doorontwikkelen - Jeffrey Braak & Larissa...Gebruikers aan het woord, effectief doorontwikkelen - Jeffrey Braak & Larissa...
Gebruikers aan het woord, effectief doorontwikkelen - Jeffrey Braak & Larissa...
 
Hoe geven de HU en Fontys vorm aan studentgestuurd onderwijs met hulp van een...
Hoe geven de HU en Fontys vorm aan studentgestuurd onderwijs met hulp van een...Hoe geven de HU en Fontys vorm aan studentgestuurd onderwijs met hulp van een...
Hoe geven de HU en Fontys vorm aan studentgestuurd onderwijs met hulp van een...
 
Blended education en de organisatie van onderwijs - Judith Vennix& Ralf Hille...
Blended education en de organisatie van onderwijs - Judith Vennix& Ralf Hille...Blended education en de organisatie van onderwijs - Judith Vennix& Ralf Hille...
Blended education en de organisatie van onderwijs - Judith Vennix& Ralf Hille...
 
Kickstart de blend- modellen en benaderingen - Barend Last (UM) - OWD22
Kickstart de blend- modellen en benaderingen - Barend Last (UM) - OWD22Kickstart de blend- modellen en benaderingen - Barend Last (UM) - OWD22
Kickstart de blend- modellen en benaderingen - Barend Last (UM) - OWD22
 
Erasmus without paper - een mijlpaal in de ondersteuning van studentmobilitei...
Erasmus without paper - een mijlpaal in de ondersteuning van studentmobilitei...Erasmus without paper - een mijlpaal in de ondersteuning van studentmobilitei...
Erasmus without paper - een mijlpaal in de ondersteuning van studentmobilitei...
 
Accelereren op leven lang ontwikkelen met (micro)credentials, badges en actio...
Accelereren op leven lang ontwikkelen met (micro)credentials, badges en actio...Accelereren op leven lang ontwikkelen met (micro)credentials, badges en actio...
Accelereren op leven lang ontwikkelen met (micro)credentials, badges en actio...
 
Green Award; trigger voor het verduurzamen van ict onderwijs - Claudia Tempel...
Green Award; trigger voor het verduurzamen van ict onderwijs - Claudia Tempel...Green Award; trigger voor het verduurzamen van ict onderwijs - Claudia Tempel...
Green Award; trigger voor het verduurzamen van ict onderwijs - Claudia Tempel...
 
De Le-Do-Loop- een nieuwe methode om hoogcognitieve leerdoelen te bereiken - ...
De Le-Do-Loop- een nieuwe methode om hoogcognitieve leerdoelen te bereiken - ...De Le-Do-Loop- een nieuwe methode om hoogcognitieve leerdoelen te bereiken - ...
De Le-Do-Loop- een nieuwe methode om hoogcognitieve leerdoelen te bereiken - ...
 
Een open boek ontwikkelen- het proces - Loes van Hove & Martijn Ouwehand (TU/...
Een open boek ontwikkelen- het proces - Loes van Hove & Martijn Ouwehand (TU/...Een open boek ontwikkelen- het proces - Loes van Hove & Martijn Ouwehand (TU/...
Een open boek ontwikkelen- het proces - Loes van Hove & Martijn Ouwehand (TU/...
 
Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...
Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...
Betekenisvol leren in de digitalisering van het onderwijs - Michiel de Jong (...
 
The impact of technology on society - how to become a responsible designer of...
The impact of technology on society - how to become a responsible designer of...The impact of technology on society - how to become a responsible designer of...
The impact of technology on society - how to become a responsible designer of...
 
Uncovering technologies #2- Cloud, Edge & XR - Tim Kok, David Salek, Esther v...
Uncovering technologies #2- Cloud, Edge & XR - Tim Kok, David Salek, Esther v...Uncovering technologies #2- Cloud, Edge & XR - Tim Kok, David Salek, Esther v...
Uncovering technologies #2- Cloud, Edge & XR - Tim Kok, David Salek, Esther v...
 
Trainen met impact in onderwijslogistiek - Iwan Brouns & Lisanne van Brouwers...
Trainen met impact in onderwijslogistiek - Iwan Brouns & Lisanne van Brouwers...Trainen met impact in onderwijslogistiek - Iwan Brouns & Lisanne van Brouwers...
Trainen met impact in onderwijslogistiek - Iwan Brouns & Lisanne van Brouwers...
 
From Emergency Remote Teaching to Post Covid Teaching & Learning - Chris Rouw...
From Emergency Remote Teaching to Post Covid Teaching & Learning - Chris Rouw...From Emergency Remote Teaching to Post Covid Teaching & Learning - Chris Rouw...
From Emergency Remote Teaching to Post Covid Teaching & Learning - Chris Rouw...
 
Digitale en open leermaterialen in NL- samenwerking centraal - Lieke Rensink ...
Digitale en open leermaterialen in NL- samenwerking centraal - Lieke Rensink ...Digitale en open leermaterialen in NL- samenwerking centraal - Lieke Rensink ...
Digitale en open leermaterialen in NL- samenwerking centraal - Lieke Rensink ...
 
Kan jij wat. Over de groei en reflectie tool voor de onderwijskundig ict prof...
Kan jij wat. Over de groei en reflectie tool voor de onderwijskundig ict prof...Kan jij wat. Over de groei en reflectie tool voor de onderwijskundig ict prof...
Kan jij wat. Over de groei en reflectie tool voor de onderwijskundig ict prof...
 
Hybride onderwijsvormen - Michel Jansen (SURF), Jet Bierman & Natasa Brouwer ...
Hybride onderwijsvormen - Michel Jansen (SURF), Jet Bierman & Natasa Brouwer ...Hybride onderwijsvormen - Michel Jansen (SURF), Jet Bierman & Natasa Brouwer ...
Hybride onderwijsvormen - Michel Jansen (SURF), Jet Bierman & Natasa Brouwer ...
 
Your VUture - het studieloopbaanspel - Nadia van der Pool & Bo Janssen(VU) - ...
Your VUture - het studieloopbaanspel - Nadia van der Pool & Bo Janssen(VU) - ...Your VUture - het studieloopbaanspel - Nadia van der Pool & Bo Janssen(VU) - ...
Your VUture - het studieloopbaanspel - Nadia van der Pool & Bo Janssen(VU) - ...
 

OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

  • 1. Doorlopende Leerlijn Robotica Robotica Doorlopende leerlijn geschikt voor RoboCup en NLT voor leerlingen van 9 – 19 jaar versie 4.2 – September 2010 1
  • 2. Doorlopende Leerlijn Robotica Doorlopende leerlijn In Nederland worden verschillende robotica activiteiten ontwikkeld. De bekendste daarvan zijn de First Lego League, RoboCup Junior en de NLT module robotica voor VWO. De afgelopen jaren is gewerkt aan een doorlopende leerlijn, waarbij voor alle RoboCup wedstrijden en de NLT robotica module lesmateriaal is ontwikkeld voor leerlingen van 9 tot 19 jaar. Een doorlopende leerlijn is een didactische aanpak waarbij de leerstof is gespreid over meerdere jaren en schooltypes en ervoor zorgt dat er een goede aansluiting is tussen alle onderdelen van de leerstof. De leerlingen worden op drie niveaus vertrouwd gemaakt met het programmeren van eenvoudige robots. Het gebruik van een simulator staat hierbij centraal. De leerlijn voert langs drie niveaus: Het conceptuele niveau is vooral gericht op het basisonderwijs. Op dit niveau concentreren de leerlingen zich uitsluitend op het probleem. Vanuit de programmeertaal krijgen ze kant-en-klare deeloplossingen aangereikt die ze op de juiste manier moeten samenvoegen en waarvan ze de variabelen zelf moeten instellen. Hierdoor raken de leerlingen in korte tijd vertrouwd met het programmeren van een robot en leren ze snel te doorzien wat er in de praktijk van robotica zoal komt kijken. Op het fysieke niveau leren de cursisten om te gaan met sensoren en motoren en gaan ze dieper in op het programmeren van robots. De leerlingen moeten veel meer zelf ontdekken en doen, waardoor ze inzicht krijgen in hoe 2
  • 3. Doorlopende Leerlijn Robotica programma’s worden gemaakt. Ze moeten nu zélf de oplossingen maken die ze op het conceptuele niveau nog kant-en-klaar voorgeschoteld kregen. De andere onderdelen van de doorlopende leerlijn op dit niveau zijn eveneens beschikbaar in RoboPAL. Het programmeer niveau is het hoogste en moeilijkste niveau van de leerlijn. Hierbij krijgen de leerlingen dezelfde problemen op te lossen, maar nu moeten ze dit doen in de programmeertaal Java. Java is wijdverbreid in het bedrijfsleven en de internetwereld. De NLT-module Robotica is volledig opgenomen in deze doorlopende leerlijn robotica en vormt daarvan het sluitstuk op zowel het fysieke niveau (NXT) als op programmeerniveau (Java). In het overzicht hiernaast is de totale leerlijn geschetst. Alle onderdelen van de leerlijn zijn beschikbaar in RoboPAL, maar maken niet allemaal deel uit van de NLT-module. Lesmateriaal voor de overige onderdelen zijn apart beschikbaar. De bestaande Java-versie van de NLT-module Robotica valt samen met Level 3 (programming level); de NXT-versie valt samen met Level 2 (physical level). Level 1 (conceptueel niveau) maakt geen deel uit van de roboticamodule, maar kan afzonderlijk daarvan worden ingezet. De beide versies voor Java en voor de NXT zijn eveneens afzonderlijk van elkaar te gebruiken. In dit document gaan we dieper in op de volledige leerlijn voor Robotica. 3
  • 4. Doorlopende Leerlijn Robotica RoboPAL RoboPAL (Play And Learn) is een complete ontwikkelomgeving met het bedieningsgemak van een eenvoudige grafische programmeertaal. In RoboPAL bouw je programma’s op uit icoontjes die door middel van parameters aangepast kunnen worden om de verschillende opdrachten uit te voeren. De programma’s die de leerlingen moeten maken worden gaandeweg meer complex en bereiken in het derde deel de hoogste moeilijkheidsgraad. Simulator De toepassing van een simulator is één van de belangrijkste aspecten van de Robotica leerlijn. Niet alleen is het een veelvuldig toegepast onderdeel van vrijwel alle roboticaprojecten, maar het helpt de leerlingen ook om beter en sneller het lesmateriaal te verwerken. In de dagelijkse praktijk van robotica zijn simulators niet meer weg te denken. Ten eerste levert het uittesten van belangrijke functies in een simulatie aanzienlijke tijdwinst op. Een robot, die onderhevig is aan slijtage of defect kan raken, is vooralsnog niet nodig. Ten tweede werkt een simulator veel sneller omdat er niet telkens opnieuw een programma in het geheugen van de robot geladen hoeft te worden, om daarna te worden uitgeprobeerd. In de klas is het een groot voordeel dat alle onderdelen van de lessen op de PC kunnen worden gemaakt en getest. Een robotje is maar af en toe nodig. Leerlingen kunnen ook thuis gemakkelijk de opdrachten op hun eigen PC uitproberen. Het voordeel van RoboPAL is dat er een eenvoudige programmeeromgeving mee wordt gerealiseerd met een geïntegreerde simulator, terwijl de opzet van de doorlopende leerlijn in het systeem is verweven. Deze mate van integratie is uniek in de markt. Het programma wordt eerst ontwikkeld met RoboPAL en daarna met de ingebouwde simulator uitgeprobeerd. Werkt het programma goed, dan wordt het via de speciale RoboPAL dongle met een draadloze verbinding in het geheugen van de NXT robot geladen. 4
  • 5. Doorlopende Leerlijn Robotica In de ontwikkelomgeving van RoboPAL Door het starten van de simulator De speciale RoboPAL dongle laadt wordt een programma ingevoerd. wordt het programma uitgevoerd een programma draadloos in de en kan dit stap voor stap worden NXT via BlueTooth gevolgd. Java Simulator De NLT module Robotica voor Level 3 (Programming Level) is gebaseerd op Eclipse en de bijbehorende Java simulator. Deze simulator lijkt veel op die van RoboPAL en de opzet is om in de loop van 2011 deze simulator en ontwikkelomgeving te integreren met RoboPAL, zodat er vanuit één enkele omgeving gewerkt kan worden met alle onderdelen van de doorlopende leerlijn. Op dit moment is dat nog niet zo en is de software voor de NLT module voor Java een apart systeem, dat ook apart wordt beschreven en geleverd. 5
  • 6. Doorlopende Leerlijn Robotica De robots Lego NXT Bij de Java-versie van de NLT-module wordt gebruik gemaakt van de JoBot Nano. Dit robotje is opgebouwd rond een standaard microprocessor van de fabrikant MicroChip. Het heeft een technische uitstraling. Deze robotjes lenen zich prima voor het maken van uitbreidingen. Leerlingen in de bovenbouw kunnen die zelf maken. Programmeren in Java is niet eenvoudig. Veel scholen kozen juist om die reden voor de NLT-module Robotica. Leerlingen die minder diepgaand kennis met robotica willen maken kunnen dankzij deze nieuwe versie nu ook aan de slag. Dit is vooral interessant voor de onderbouw, maar ook voor bovenbouwleerlingen van andere studierichtingen dan VWO. Door het gebruik van een eenvoudige programmeertaal en een standaard NXT-robot van Lego is niet alleen het programmeren eenvoudiger, maar kan de robot ook voor andere projecten worden gebruikt. De Lego NXT is een flexibel robotica-bouwpakket, dat met een heel scala aan programmeertalen kan worden geprogrammeerd. Daarnaast is er een grote verscheidenheid aan sensoren beschikbaar. Dat maakt het voor leerlingen mogelijk om na het volgen van de NLT roboticacursus zelfstandig aan grotere projecten te werken. Jobot Nano Het cursusmateriaal is opgezet om grotendeels gebruikt te worden op een tweetal verschillende robots. De JoBot Nano is onderdeel van de JoBot familie. JoBot staat voor Java Based Omnidiractional roBOT en is bedoeld als een breder platform voor zelfbouw. Deze robot kan in Java worden geprogrammeerd en is vooral bedoeld voor het Programming Level. 6
  • 7. Doorlopende Leerlijn Robotica Het is een eenvoudig robotje met verschillende sensoren, waarmee alle onderdelen van de doorlopende leerlijn kunnen worden uitgevoerd. Naast de eenvoudige Nano bestaan er ook nog de meer uitgebreide Junior en de driewielige omnidirectionele JoBot. Er zijn daarnaast verschillende extra sensoren en opties beschikbaar voor dit robotje, waaronder een autonome camera, waarmee objecten en kleuren kunnen worden herkend. FlexBot De FlexBot is een nieuwe robot, die de opvolger gaat worden van de JoBot familie. De prints die bij deze robot worden gebruikt zijn opgebouwd uit FlexBoards, waarmee een scala van componenten op een standaard print kunnen worden toegevoegd. De eerste prototypes zijn momenteel in ontwikkeling en in de loop van 2011 zal een nieuwe versie van de Java omgeving worden ontwikkeld die met deze robot en de Nano zullen gaan werken. Daarmee wordt dan tevens bereikt dat alle software voor de gehele leerlijn wordt ontwikkeld vanuit dezelfde ontwikkelomgeving. 7
  • 8. Doorlopende Leerlijn Robotica Het Conceptuele niveau Het Conceptuele niveau concentreert zich op manier waarop een probleem wordt aangepakt. De bedoeling is dat leerlingen met een minimum aan inspanning hun eerste resultaten bereiken en daardoor vertrouwen krijgen dat zij met robotjes kunnen omgaan en ook kunnen leren om te programmeren. De lessen zijn opgezet om de verschillende wedstrijden van RoboCup Junior te kunnen spelen, te weten; Dansen, Rescue en Voetbal. De cursus begint met de basiscursus waarin voldoende wordt geleerd om daarna een keuze te maken uit één van de drie disciplines. Vaak is het de beste benadering om na de basiscursus te beginnen met Dansen, gevolgd door Rescue en vervolgens de veel moeilijkere Voetbal toepassingen. (In de huidige versie is Voetbal nog niet beschikbaar.) 8
  • 9. Doorlopende Leerlijn Robotica Lesmateriaal Alle lessen op dit niveau worden gegeven met zogenaamde leskaarten. Iedere les heeft een bijbehorende leskaart, waarbij op de voorkant een korte beschrijving staat van de les en op de achterkant stap-voor-stap instructies die de leerlingen moeten uitvoeren. Door deze stappen te volgen leren ze het programma te gebruiken, de robotjes te programmeren en de missie uit te voeren. Door het gebruik van één leskaart per les kunnen leerlingen ieder in hun eigen tempo de lessen volgen. Met behulp van RoboPAL wordt het programma gemaakt en met de ingebouwde simulator wordt het programma getest. Dat kan ook thuis gedaan worden. Werkt het programma goed, dan wordt er een robotje gepakt en wordt het programma draadloos in het geheugen van het robotje geladen via de RoboPAL dongle. Bij de Nano robots wordt het programma met behulp van een kabel in het geheugen geladen. Aan het eind van ieder onderdeel wordt een les opgenomen waarin de leerlingen het geleerde in de praktijk zelf moeten toepassen. Hiermee wordt het geleerde toegepast en blijft beter onthouden. 9
  • 10. Doorlopende Leerlijn Robotica Basis De basislessen behandelen de onderwerpen als Calibratie, Beweging, Sensoren en het gebruik van Loops (programma lussen of herhalingen) Er zijn een viertal lessen, die zorgen dat de leerlingen leren hoe je de robot laat bewegen, hoe je een programma moet laden en vervolgens hoe je met de sensoren kleuren kunt onderscheiden. Gewapend met deze basiskennis kunnen ze doorgaan met de volgende lessen, afhankelijk van de gekozen missie. 10
  • 11. Doorlopende Leerlijn Robotica Dans Bij de Dans missie moet een robotje op de maat van zelf uit te kiezen muziek bewegingen gaan maken. Daarvoor is nodig dat het muziekstuk wordt opgedeeld in onderdelen, waarbij voor ieder onderdeel wordt vastgesteld wat voor bewegingen daar bij horen. Daarvoor moet een dansschema worden opgesteld en op basis daarvan wordt dan een programma samengesteld. In een achttal lessen worden verschillende aspecten van het programmeren van een dansende robot behandeld. Naast het gebruik van extra motoren voor bewegingen van bijvoorbeeld een hoofd, kan ook gebruik worden gemaakt van Midi om de volgorde en timing van bewegingen te bepalen. Daarnaast worden extra mogelijkheden geboden om een lijn te volgen en te zorgen dat de robot niet ergens tegenaan botst. Bij wedstrijden dansen de leerlingen vaak mee met de robots en kunnen leerlingen die zich niet zo aangetrokken voelen tot techniek of het programmeren van een robotje, zorgen voor de choreografie of het ontwerpen en maken van kostuums voor dansers en robots. 11
  • 12. Doorlopende Leerlijn Robotica Rescue De Rescue missie is opgezet om te leren omgaan met sensoren en motoren. De leerlingen krijgen een lijnvolger aangeboden en een automatische kalibratie routine. Ze leren de sensoren te kalibreren en daarna hoe ze een lijnvolger kunnen instellen. De kunst is om het robotje zo snel mogelijk de weg te laten volgen zonder uit te bocht te vliegen. In een zestal lessen wordt geleerd hoe de missie gespeeld moet worden en er kan in de klas al een wedstrijd worden gespeeld om te zien of de leerlingen zich de stof eigen hebben gemaakt. De Rescue missie houdt in dat een gevaarlijke container in een moeras terecht is gekomen (een blikje dat op het gele vlak staat). Het robotje moet zo snel mogelijk vanaf het startpunt de zwarte weg volgen en aangekomen op het gele vlak daar het blikje zoeken en naar de kant duwen. Hierbij is het kalibreren van de sensoren op het veld belangrijk en de instelling van de parameters voor de lijnvolger. Er wordt in een zestal lessen uitgelegd wat lijnvolgers zijn, hoe kalibratie werkt en hoe de 12
  • 13. Doorlopende Leerlijn Robotica lijnvolger het beste kan worden ingesteld. Vervolgens wordt uitgelegd hoe je het blikje moet zoeken en al rijdend van het veld afduwt. Leerlingen die de missie tot een goed einde brengen kunnen hiermee eventueel ook meedoen met de RoboCup Junior wedstrijden die jaarlijks in mei of juni in NEMO worden gehouden. Voetbal Het moeilijkste onderdeel is voetbal. In de huidige versie zijn daar nog geen lessen voor opgezet, maar die zijn wel in ontwikkeling. Daarnaast is er wel cursusmateriaal beschikbaar over voetbal voor andere programmeertalen maar niet op het conceptuele niveau. 13
  • 14. Doorlopende Leerlijn Robotica Het Fysieke Niveau Na het doorlopen van de lessen op het Conceptuele niveau kunnen leerlingen overstappen naar het Fysieke niveau. Op dit niveau worden er geen ingeblikte functies zoals lijnvolgers en kalibratie meer verstrekt maar wordt geleerd hoe je zelf lijnvolgers en kalibratie routines moet bouwen. Ook hier kennen we een basiscursus en de Dans, Rescue en Voetbal missies. Extra op dit niveau is de NLT robotica module voor de Lego NXT, waarin een basiscursus is opgenomen en de rescue missie wordt behandeld. In het volgende deel van deze folder wordt de NLT module verder uitgelegd. De drie lessen behandelen net als bij het conceptuele niveau de verschillende aspecten aan de hand van leskaarten. De lessen gaan veel dieper dan bij het Conceptuele niveau en de leerlingen moeten veel meer zelf doen. Bij de NLT module wordt gebruik gemaakt van lesboeken, waarbij in ieder hoofdstuk een nieuw onderwerp wordt behandeld. De leskaarten maken dan plaats voor lesboeken met meer tekst en moeilijkere oefeningen. 14
  • 15. Doorlopende Leerlijn Robotica Basis In de basiscursus wordt meer uitgelegd over kalibratie en lijnvolgers. Daarnaast wordt het idee van subroutines, variabelen en parameters uitgelegd, zodat in de volgende missies de leerlingen daarmee aan de slag kunnen. Omdat in alle missies dezelfde technieken gebruikt worden is er een zekere mate van overlap tussen de lessen. Dans Aan de hand van de dansmissie worden de verschillende onderdelen die in de basiscursus zijn geleerd toegepast om een dansschema te maken en verder uit te bouwen. Rescue De rescue missie is in principe hetzelfde en ook hier wordt geleerd om zelf lijnvolgers te maken en gebruik te maken van subroutines etc. Voetbal Ook hier zijn nog geen lessen voor voetbal beschikbaar. 15
  • 16. Doorlopende Leerlijn Robotica De NLT module voor Lego NXT De NLT module is onderverdeeld in drie delen die afzonderlijk of in combinatie gevolgd kunnen worden: 1. De basis wordt gelegd in het eerste deel van vier lessen waarin het robotje aan bod komt, de simulator, het programmeren en waarin een eerste programma wordt gemaakt. Dit is tevens een goede introductie voor docenten die op school mee willen doen met de RoboCup Junior wedstrijden. 2. De Rescue missie. In deze drie hoofdstukken wordt aan de hand van de Sense-Reason-Act loop uitgelegd hoe de Rescue missie kan worden geprogrammeerd. 3. Adaptive Behavior. In deze laatste drie hoofdstukken wordt meer aandacht besteed aan het programmeren van eenvoudig insectachtig gedrag waarbij technieken uit de Kunstmatige Intelligentie worden toegepast. In iedere les worden een aantal belangrijke concepten behandeld, zie de Features in het plaatje hiernaast. De module kan in verschillende combinaties worden gevolgd. Het deel Basics is in alle gevallen vereist. Daarna kunnen de delen Rescue en het meer complexe Adaptive Behaviour volgen. Het is ook mogelijk om na Basics direct door te gaan met Adaptive Behavior. De Rescue missie houdt in dat er een gevaarlijke container moet worden opgespoord en uit een moeras moet worden verwijderd. Adaptive Behavior concentreert zich meer op de technieken die nodig zijn om robots zichzelf te laten aanpassen aan veranderende omstandigheden. 16
  • 17. Doorlopende Leerlijn Robotica In deze lessen wordt gebruik gemaakt van een cursusboek voor ieder deel en is ook een docentenversie beschikbaar. Hier worden dus geen leskaarten meer gebruikt. Basics De basismodule geeft de leerling alle informatie die nodig is om programma’s te kunnen schrijven, testen en uitvoeren op de NXT robot. In ieder van de vier hoofdstukken wordt eerst een uitleg gegeven en vervolgens wordt in een aantal concrete stappen aangegeven wat er in het programma ingevoerd moet worden. Om ervoor te zorgen dat leerlingen overzicht houden zijn er optionele detailopdrachten. Die kunnen ze desgewenst overslaan of meer in detail bekijken, mocht een vervolgopdracht te moeilijk blijken. Deze optionele opdrachten zijn in de onderstaande plaatjes aangegeven met de grijze vakjes. Verder wordt ieder hoofdstuk afgerond met een zelfdoe-opdracht waarin het geleerde wordt toegepast. Deze zijn aangegeven met een rood kader. Daarnaast wordt aandacht besteed aan het opslaan van programma’s, het gebruik van variabelen en subroutines en wordt de werking van de ingebouwde debugger uitgelegd. De opdrachten op dit niveau zijn zeer eenvoudig en behandelen de elementaire concepten van het 17
  • 18. Doorlopende Leerlijn Robotica programmeren. Er wordt begonnen met eenvoudige programmeerstappen. De laatste lessen behandelen het gebruik van programmalussen en vervolgens de toepassing van subroutines, variabelen en parameters. Dit is een simpel programma waarin de robot een stukje vooruit rijdt en dan een bochtje maakt. Datzelfde kan worden ondergebracht in een subroutine, waardoor dit programma-onderdeel opnieuw kan worden gebruikt voor andere doeleinden. In dit programma wordt de subroutine twee keer aangeroepen. Met vier aanroepen legt het robotje een vierkant af. De parameters worde gebruikt om de lengte van de zijden van het vierkant te kunnen aanpassen. Op dit niveau zijn de programma’s nog redelijk eenvoudig te volgen. Aan het eind zijn leerlingen in staat om zelfstandig eenvoudige programma’s te maken. Het is dikwijls gemakkelijker om een onderwerp aangedragen te krijgen. Dat gebeurt in de resterende twee delen. In deel 2, de Rescue missie, wordt geleerd hoe het robotje een gevaarlijke container kan opsporen. Dit is een leuke opdracht die ook gebruikt kan worden door leerlingen die willen meedoen met de nationale RoboCup Junior wedstrijden. Deze worden jaarlijks in NEMO georganiseerd. 18
  • 19. Doorlopende Leerlijn Robotica Rescue In het tweede deel wordt de Sense-Reason-Act loop geïntroduceerd. Deze constructie wordt in vrijwel alle robotprogramma’s toegepast. Het houdt onder meer in dat de robot zijn sensoren gebruikt om een lijn te volgen of een object te vinden. Elk van de drie hoofdstukken behandelt één van deze drie stappen. Het onderwerp van dit tweede deel is de rescue missie. Hierbij moet het robotje de zwarte lijn volgen, totdat het bij het moeras aankomt. Daar moet het robotje een blikje zoeken en naar de kant duwen. Dat blikje stelt een container voor met gevaarlijke stoffen, die niet met water in aanraking mogen komen. De container moet dus zo snel mogelijk worden opgespoord en naar de kant geduwd. De leerlingen leren om zelf een lijnvolger te programmeren en hoe de sensoren moeten worden gekalibreerd. De kunst is om het robotje zo snel mogelijk het parcours te laten volgen, zonder dat het uit de bocht vliegt. 19
  • 20. Doorlopende Leerlijn Robotica De programma’s in dit deel zijn moeilijker dan in het eerste deel. Er wordt gebruik gemaakt van loops (lussen), subroutines en van parameters om de werking van het programma te beïnvloeden. Ook hier is belangrijk om de juiste instellingen van de lijnvolgers uit te zoeken en de sensoren op de juiste manier te kalibreren. Het derde deel kan hierna gevolgd worden, maar de docent heeft ook de keuze om dat deel over te slaan. Voor de leerlingen die graag een wat uitdagender onderwerp kiezen, kan het tweede deel worden verruild voor het moeilijkere, derde deel. De inhoud van dit onderdeel heeft een grote mate van overlap met de Rescue lessen op dit niveau. In de NLT module worden meer details behandeld waardoor meer diepgang wordt bereikt 20
  • 21. Doorlopende Leerlijn Robotica Adaptive Behavior In het derde deel wordt geleerd hoe de robot zichzelf kan aanpassen aan veranderende omstandigheden. Hierbij is van belang om gebruik te maken van een zogenaamd State Diagram (toestandsdiagram) waarin staat in welke situatie de robot kan raken en wat de daarbij behorende actie is. Dit is een verdere verdieping van de Sense-Reason- Act loop. Een state-diagram geeft aan door welke externe prikkels de robot in een bepaalde toestand raakt en welke actie hij daarop onderneemt (behavior). De programma’s in dit deel zijn weer een stuk complexer dan in de voorgaande delen en zijn meer theoretisch georiënteerd. 21
  • 22. Doorlopende Leerlijn Robotica Het Programmeer Niveau Het programmeer niveau is het hoogste niveau van de doorlopende leerlijn. Op dit niveau wordt geprogrammeerd in een echte programmeertaal, in ons geval Java. De huidige versie voorziet alleen in het NLT deel dat in de vorm van cursusboeken voor de NLT robotica module beschikbaar is. Er wordt gebruik gemaakt van Eclipse als ontwikkelomgeving en van Java als programmeertaal. Als onderdeel van het lesmateriaal wordt een volledig in Java ontwikkelde simulator bijgeleverd. Het programmeren op dit niveau is veel lastiger dan bij de twee eerdere niveau’s. Leerlingen worden herhaaldelijk geconfronteerd met hun eigen fouten en moeten niet alleen leren om secuur te werken maar ook moeten ze gebruik maken van de ingebouwde debugging faciliteiten. Voor het programmeren wordt gebruik gemaakt van een zogenaamde packager, die de door Eclipse gegenereerde code omzet naar machinetaal en die vervolgens in het geheugen van het robotje laadt. De opdrachten in deze lessen zijn precies hetzelfde als die op het Fysieke niveau alleen is het programmeren ervan een stuk lastiger, omdat met een tekstuele programmeertaal wordt gewerkt. 22
  • 23. Doorlopende Leerlijn Robotica De bijgeleverde simulator werkt op een vergelijkbare manier als bij RoboPAL maar is geheel in Java geschreven en kan eventueel door de docent of leerlingen verder worden aangepast. Er is een nieuwe versie in voorbereiding, waarbij net als bij de voorgaande onderdelen geprogrammeerd wordt met de RoboPAL omgeving, alleen nu in Java. Zodra deze versie gereed is zal worden overgestapt van Eclipse als ontwikkelomgeving naar RoboPAL. Met de nieuwe FlexBot die in ontwikkeling is zal dit onderdeel, waarbij in Java wordt geprogrammeerd ook in de RoboPAL omgeving worden opgenomen. Daardoor is dan de gehele leerlijn onderdeel van een complete ontwikkelomgeving. De programmeeromgeving is daarnaast onderdeel van Virtual BreadBoard, een simulatiesysteem waarmee ook functies van elektronische onderdelen kunnen worden ontwikkeld en gebouwd. Daarmee kunnen de leerlingen dan zelf elektronica ontwerpen, testen en bouwen. Ook de mechanica wordt niet vergeten. Door de integratie met een 3D ontwerp programma kunnen ook mechanische onderdelen worden ontworpen en in eem FabLab zelf worden gebouwd. Aan deze onderdelen zal in de loop van 2011 verder worden gewerkt. 23
  • 24. Doorlopende Leerlijn Robotica Download procedure software en documentatie Alle informatie over de NLT robotica module voor de NXT is beschikbaar op CD. De CD voor NLT voor de NXT en die van Java is gratis verkrijgbaar bij het steunpunt NLT in Amsterdam. http://betavak-nlt.nl/regionaal/Regionale_steunpunten/ De CD voor de RoboCup onderdelen van de leerlijn kunt u bestellen via info@robocupjunior.nl Alle software en documentatie voor de beide NLT robotica modules kan via DropBox worden gedownload. Dat kan op twee manieren: 1. Via de website van RoboCup Junior kunt u het gewenste materiaal direct downloaden via onderstaande links: a. NLT lesmateriaal: http://dl.dropbox.com/u/8670206/NLT_Robotica_NXT_4.2.zip (6 Mb) b. RoboPAL versie 4.2: http://www.robocupjunior.nl/download-document/74-robopal-versie-4.2-voor-nxt.html (123 Mb) 2. Op de website van RoboCup Junior vindt u in de download sectie de meest belangrijke informatie over de NLT module voor NXT en die voor Java. 3. Wilt u toegang tot nieuwste versies via de NLT? Stuur dan een e-mail aan info@robocupjunior.nl waarin u vraagt om toegang tot de NLT DropBox. Wij zorgen dan dat u met uw e-mailadres toegang krijgt. Vervolgens maakt u verbinding met de DropBox van NLT. Hierin vindt u een map voor NLT Robotica (Java) en voor RoboPAL. De mappen bevatten hetzelfde als de CD. Via de DropBox heeft u altijd de beschikking over de meest recente informatie. De meest recente versies van de NLT Robotica voor Java zijn eveneens te downloaden via de website van RoboCup Junior: www.RoboCupJunior.nl Informatie over RoboPAL en Virtual BreadBoard is te vinden op de volgende websites: www.muvium.com, www.robopal4nxt.com en www.virtualbreadboard.com Wilt u extra informatie over de apparatuur, prijzen etc? Stuur dan een mailtje naar info@robocupjunior.nl. 24