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

24
Doorlopende Leerlijn Robotica 1 Robotica Doorlopende leerlijn geschikt voor RoboCup en NLT voor leerlingen van 9 – 19 jaar versie 4.2 – September 2010

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

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

Doorlopende Leerlijn Robotica

1

Robotica Doorlopende leerlijn

geschikt voor RoboCup en NLT

voor leerlingen van 9 – 19 jaar

versie 4.2 – September 2010

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

Doorlopende Leerlijn Robotica

2

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

Page 3: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

3

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.

Page 4: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

4

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.

Page 5: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

5

In de ontwikkelomgeving van RoboPAL

wordt een programma ingevoerd.

Door het starten van de simulator

wordt het programma uitgevoerd

en kan dit stap voor stap worden

gevolgd.

De speciale RoboPAL dongle laadt

een programma draadloos in de

NXT via BlueTooth

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.

Page 6: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

6

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.

Page 7: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

7

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.

Page 8: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

8

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.)

Page 9: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

9

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.

Page 10: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

10

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.

Page 11: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

11

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.

Page 12: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

12

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

Page 13: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

13

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.

Page 14: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

14

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.

Page 15: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

15

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.

Page 16: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

16

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.

Page 17: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

17

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

Page 18: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

18

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.

Page 19: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

19

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.

Page 20: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

20

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

Page 21: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

21

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.

Page 22: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

22

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.

Page 23: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

23

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.

Page 24: OWD2010 - 1 + 2 - Programmeer een robotje - Peter van Lith

Doorlopende Leerlijn Robotica

24

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

[email protected]

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

[email protected] 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 [email protected].