NLT JuniorSoccer Robot NXT – 2015 Docenten Informatie Voorbereidingen JuniorSoccer NXT Workshop Voordat met de workshop JuniorSoccer NXT kan worden begonnen, dienen er een aantal zaken te zijn geregeld: 1. De NXT-‐G software moet zijn geïnstalleerd op de computers van de leerlingen. Deze software is gratis te downloaden via:
http://service.lego.com/enus/helptopics/products/themes/mindstorms/mindstorms-‐nxt/nxt-‐software-‐download.
2. Om in deze software de balzoeksensor (IR-‐Seeker-‐V2) en het kompas te gebruiken dienen wel eerst de betreffende blocks in de NXT-‐G software te worden geladen. Deze blocks zijn te vinden op: http://www.hitechnic.com/downloadnew.php?category=13 3. De software die in de lessen wordt beschreven moet worden geïnstalleerd. De NXT-‐G software slaat de programma’s op in een tweetal directories, die zich in de Documents directory bevinden. Het programma zelf staat in de directory: /Lego Creations/MindStorms Projects. Daarnaast wordt er gebruik gemaakt van een aantal myBlocks die in de directory onder MindStorms Projects/Profiles/Default/Blocks/My Blocks staan. Zet de programma’s op de juiste plaats. 4. De robot moet worden gebouwd. Daarvoor is een aparte set instructies beschikbaar. Minimaal is er voor de robot een NXT steen nodig, een lichtsensor, een ultrasone sensor en een HiTechnic IR-‐ Seeker V2 (IRV2), om de bal te zoeken. Een HiTechnic kompas wordt sterkt aanbevolen. Als er een keeper wordt gebouwd, zijn deze laatste twee sensoren niet nodig en kan volstaan worden met twee extra lichtsensoren. Bij de 1:1 wedstrijden worden geen keepers gebruikt maar voor oefenwedstrijden en 2:2 wedstrijden is dat wel het geval. Omdat de keeper geen IR sensor of kompas nodig heeft is die goedkoper te bouwen. 5. Het is handig om de robots éénmalig in elkaar te zetten en ze voor alle lessen ongewijzigd te gebruiken. Niet alleen kost het in elkaar zetten veel tijd, maar de ervaring leert dat bij het herhaald in elkaar zetten en weer uit elkaar halen er altijd onderdelen verdwijnen, die dan weer moeten worden vervangen. Sensor/Motor Motor rechts Motor links Lichtsensor Kompas Ultrasone sensor IRSeeker sensor
Poort C B 1 2 3 4
Belangrijk: zorg dat de motoren en sensoren op de aangegeven poorten zijn aangesloten. Links en rechts wordt altijd bekeken vanaf de positie van een denkbeeldige bestuurder.
1
NLT JuniorSoccer Robot NXT – 2015 Workshop JuniorSoccer Robot Deze workshop Robotica wordt gebruikt om docenten én leerlingen vertrouwd te maken met Robotica op school. De workshop bestaat uit een aantal lessen, die ieder tussen de 15 minuten tot een uur duren. Er zijn over het algemeen grote onderlinge verschillen tussen leerlingen, daarom maken we gebruik van leskaarten zodat de leerlingen in hun eigen tempo kunnen werken. Deze eerste leskaarten zijn bedoeld voor de docenten of begeleiders en legt uit, wat de bedoeling is en hoe de workshop moet worden voorbereid. Daarnaast wordt gebruik gemaakt van het programma van de NXT dat gratis kan worden gedownload. Naast deze NXT versie bestaat er ook een versie voor de nieuwere EV3 robots. Hoewel de EV3 software ook voor de NXT gebruikt kan worden is er geen ondersteuning voor de HiTechnic sensoren op een NXT, waardoor het nodig is om voor de NXT de originele NXT-‐G software te gebruiken. Als er robotjes worden gebruikt dienen die van te voren te worden gebouwd met Lego MindStorms. Deze cursus is ook te vinden op de RoboCupJunior website (www.robocupjunior.nl) onder de NLT Robotica download sectie. Zoek naar de JuniorSoccer wedstrijd voor de NXT. De resterende leskaarten zijn bedoeld voor de leerlingen. Op de voorkant staat een korte beschrijving van de opdracht. Op de achterkant staan stap-‐voor-‐stap instructies, die gevolgd dienen te worden. Tijdens de workshop dienen één of meer begeleiders rond te lopen om de cursisten te helpen. Om de gemaakte programma’s te testen is het nodig over een NXT te beschikken. Omdat het maken van het programma enige tijd vergt kunnen meerdere leerlingen gebruik maken van dezelfde robot. Omdat na het precies volgen van de instructies de leerlingen al snel een werkend programma krijgen, ontstaat het gevaar dat daardoor weinig wordt onthouden van de gevolgde methode. Daarom worden er aan het eind van de lessen één of meer opdrachten gegeven, waarbij de leerlingen zelf een programma moeten maken. Door gebruik te maken van de aangeboden voorbeeldprogramma’s gaan de leerlingen programma’s leren lezen en steken op die manier meer op van het lesmateriaal.
Voor deze module geldt een Creative Commons Naamsvermelding-Nietcommercieel-Gelijk delen 3.0 Nederland Licentie. Het lesmateriaal is ontwikkeld door RoboCupJunior in samenwerking met SLO. ►http://creativecommons.org/licenses/by-nc-sa/3.0/nl.
Dit lesmateriaal is een verdere uitbreiding van het eerdere lesmateriaal van de NLT Robotica module. Het onderwerp van die module is de RoboCupJunior Rescue wedstrijd. Dit nieuwe materiaal is gebaseerd op de RoboCupJunior voetbalwedstrijd. Het materiaal is ontwikkeld door RoboCupJunior Nederland en is gedeeltelijk afgeleid van materiaal dat is ontwikkeld door RoboCupJunior Australië.
2
NLT JuniorSoccer Robot NXT – 2015 1. JuniorSoccer Een eenvoudige versie van voetbal 1:1 en 2:2 Hoewel voetbal bij RoboCupJunior de moeilijkste wedstrijd is, ga je ontdekken dat met de JuniorSoccer software het maken van een voetballende robot eenvoudiger is dan je zou denken. Om deze wedstrijd aantrekkelijk te maken voor beginners, is gekozen voor zowel een simpele robot als een programma, waarbij veel van de benodigde onderdelen al in de vorm van kant-‐en-‐klare voorbeelden worden aangeboden. Het veld dat hierbij wordt gebruikt wijkt een beetje af van het gebruikelijke voetbalveld voor de 2:2 wedstrijden. In de verschillende plaatjes zie je een voetbalveld met drie tinten groen. In Nederland gebruiken we echter het standaard voetbalveld met daaromheen een witte rand. Vaak wordt gedacht dat er veel en dure apparatuur nodig is om met voetbal mee te kunnen doen. Maar met de JuniorSoccer opzet kun je al heel snel een eenvoudige, voetballende robot bouwen en programmeren. Bouw een tweetal van deze robots op school en begin daarmee aan je eigen voetbalwedstrijd. Om met de JuniorSoccer wedstrijd mee te kunnen doen met 2 robots, heb je nodig:
2X 09797 LEGO MindStorms NXT Kit 1X HiTechnic Infrared Seeker V2 en 1X HiTechnic Pulsed Soccer Ball 1X 09758 LEGO NXT Lichtsensor 1X HiTechnic Kompas Sensor (niet vereist maar wel aanbevolen) 2X 09758 LEGO NXT Lichtsensor als er een keeper gebouwd wordt Om mee te doen met de 1:1 wedstrijd is de keeper niet nodig en is alleen een robot met IR seeker, lichtsensor en optioneel een kompas nodig. Programmeer één of twee JuniorSoccer robots volgens de instructies uit deze les. Deze robot kan de bal zoeken en de bal schoppen en zal in de meeste wedstrijden al in staat zijn om doelpunten te scoren. Een kompas wordt aanbevolen maar is niet noodzakelijk. Om een oefenwedstrijd te spelen kun je een keeper bouwen, die geen IR seeker heeft maar twee gewone lichtsensoren. Volg daarvoor de instructies voor het bouwen van de Keeper uit de JuniorSoccer lessen. Met twee robots kun je ook meedoen met de 2:2 wedstrijden.
3
NLT JuniorSoccer Robot NXT – 2015 JuniorSoccer Spelregels 2015 Volgens de spelregels voor JuniorSoccer wordt er een veld gebruikt met drie tinten groen, een zwart gebied voor ieder doel en een witte rand van 30cm om het hele veld. In Nederland gebruiken we het standaard 2:2 voetbalveld met een witte rand eromheen en de zwarte vlakken voor het doel. Onderstaande samenvatting van de spelregels zijn bedoeld om de belangrijkste punten aan te stippen. Voor de officiële spelregels kijk je op de RoboCupJunior site naar de JuniorSoccer spelregels. JuniorSoccer kan gespeeld worden met één of twee robots per team. Daarom is in dit lesmateriaal ook informatie opgenomen voor de bouw van een goalie (keeper). Bij wedstrijden van 1 tegen 1 robot wordt geen keeper gebruikt
1 Teams gebruiken maximaal twee HiTechnic IRV2 sensoren en twee HiTechnic Kompas sensoren. Robots moeten passen in een cylinder van 22 cm doorsnede en 22 cm hoog en mogen maximaal 1 kg wegen. Robots moeten zijn voorzien van een draagbeugel. Er mogen alleen Lego NXT of EV3 robots worden gebruikt. Omnidirectionele wielen zijn niet toegstaan. 2 Alle andere sensoren moeten afkomstig zijn uit de MindStorms NXT of EV3 kits 3 Er mag alleen MindStorms NXT-‐G of EV3-‐G software worden gebruikt 4 Iedere wedstrijd duurt twee keer 5 minuten zonder rust met een pauze van 5 minuten tussen de wedstrijden 5 Alle programma’s moeten vóór aanvang van de wedstrijden zijn gemaakt 6 Als de bal de zijkant van het veld raakt wordt er gewoon doorgespeeld 7 Als “lack of progress” door de scheidsrechter wordt geroepen, wordt de bal op de dichtstbijzijnde neutrale plek gelegd 8 “Damaged” robots mogen alleen met toestemming van de scheidsrechter van het veld worden verwijderd 9 Een “damaged” robot blijft 30 seconden buiten het veld of totdat er een doelpunt is gemaakt 10 Als een robot op het punt staat om in eigen doel te schieten, wordt hij NIET uit het veld verwijderd 11 Het team dat een wedstrijd heeft gespeeld, levert de scheidsrechter voor de volgende wedstrijd 12 Een team dat niet klaar is om aan de volgende wedstrijd te beginnen verliest één doelpunt voor iedere minuut dat ze te laat zijn. De klok start stipt op het moment van aanvang van de wedstrijd. Niet komen opdagen resulteert in een score van 5-‐0 voor de tegenpartij 13 Als de ruimte beperkt is kan het voorkomen dat teams geen voorbereidingsruimte krijgen. Ze kunnen dan de ruimte rond het speelveld gebruiken om hun robots te programmeren (indien nodig) 14 Uitsluitend een laptop en twee robots mogen naar het speelveld worden meegebracht. Geen reserve onderdelen mogen worden meegebracht. Er wordt één stoel ter beschikking van een team gesteld. 15 Robots en laptops moeten bij het speelveld blijven zodra de wedstrijden zijn begonnen 16 Zie voor de spelregels de volledige regels voor JuniorSoccer 2015
4
NLT JuniorSoccer Robot NXT – 2015 1. De JuniorSoccer Robot Bouwen van de robot
Het belangrijkste bij voetbalwedstrijden is om de bal te vinden en de bal te volgen. Deze robot kan de bal blijven volgen als deze zich vóór de robot bevindt. Als je in de klas een aantal robots hebt kunnen de robots een golfbeweging laten zien door ze op een rijtje te zetten en de bal ervoor langs te laten rollen. Er wordt van uit gegaan dat je wel een beperkte kennis hebt over het programmeren met de NXT-‐G programmeertaal. Volg de instructies op de volgende plaatjes. Als je geen NXT hebt maar een EV3 kan de robot op bijna dezelfde manier worden gebouwd. Alleen kan bij de EV3 de bevestiging van de motoren aan de onderkant worden verstevigd met de rechthoekige onderdelen, die voor de NXT niet beschikbaar zijn.
1
NLT JuniorSoccer Robot NXT – 2015
2
NLT JuniorSoccer Robot NXT – 2015
3
NLT JuniorSoccer Robot NXT – 2015
4
NLT JuniorSoccer Robot NXT – 2015
5
NLT JuniorSoccer Robot NXT – 2015
6
NLT JuniorSoccer Robot NXT – 2015 2. Testen van de robot Inleiding Nadat je de JuniorSoccer robot hebt gebouwd gaan we die eerst testen. Het is belangrijk dat je de sensoren op de goede poorten hebt aangesloten en dat je bij de montage van de sensoren rekening houdt met mogelijke storende invloeden. Het volgende is daarbij belangrijk:
De Licht Sensor(en) Als je een keeper bouwt heeft deze alleen een lichtsensor nodig. Nog beter is het om twee lichtsensoren te monteren ongeveer ter hoogte van de bal. Daarmee kun je het verschil in signaal berekenen en de positie van de bal bepalen. Bij een aanvaller gebruiken we de lichtsensor naar beneden gericht om te kunnen bepalen of de robot zich nog op het speelveld bevindt en of hij het strafschopgebied vlak voor het doel inrijdt. Zorg bij de lichtsensoren dat deze goed zijn afgestemd op het omgevingslicht. Bij de keeper kijken we alleen naar het omgevingslicht (ambient light). Bij de aanvaller gebruiken we de reflectie van de ondergrond (reflected light). Daarbij moet dan het rode lampje branden. Bij de keeper mag dan niet.
De Ultrasone Sensor Zorg ervoor dat de Ultrasone sensor een vrij blikveld heeft en vooraan op de robot is gemonteerd. Hij wordt gebruikt om de afstand tot de bal en het doel te bepalen en om obstakels te kunnen ontwijken. Zorg er dus voor dat hij op ongeveer dezelfde hoogte zit als de bal en dat er geen kabels of andere voorwerpen voor zitten. Een keeper kan ook zijn uitgerust met een Ultrasone Sensor om de afstand tot de bal of een robot van de tegenstander te bepalen.
De IR Seeker V2 (IRV2) Sensor De InfraRood Seeker kan de bal op grote afstand detecteren en de richting ervan bepalen. De afstand tot de bal is met deze sensor niet gemakkelijk vast te stellen, daar gebruiken we de Ultrasone Sensor voor. Zorg dat deze sensor ook een onbelemmerd zicht heeft.
De Kompas Sensor De kompas sensor wordt gebruikt om de richting naar het doel van de tegenstander te bepalen. Een kompas is zeer gevoelig voor metalen, motoren en elektronica. Daarom moet hij op een afstand van 10-‐15 cm van de motoren en de NXT steen worden gemonteerd, liefst op een soort paaltje.
Testen Het eerste dat een voetballende robot moet doen is de bal zoeken en er achter aan rijden. Met deze robot kun je de bal volgen. We gaan er vanuit dat je wel enige kennis hebt over het programmeren MindStorms NXT-‐G. Je kunt het beste deze lessen volgen omdat ze je laten zien hoe je de sensoren en motoren kunt gebruiken. Voor de test gebruiken we alleen de IR sensor. In de verdere lessen gaan we dieper in op de andere sensoren.
7
NLT JuniorSoccer Robot NXT – 2015 Testen van de robot 1
Maak het programma dat je hiernaast ziet staan. Daarmee kun je kijken of alles goed werkt. In dit programma wacht de IR sensor op een signaal van de bal en zorgt dat de robot vooruit rijdt als hij de bal ziet.
2
3
4
Het motor icoontje wordt aangesloten op de poorten B en C, power level op 100% en een tijdsduur van 1 seconde. Save dit programma op je computer met de naam MW. Laad het programma dan in je robot. Druk drie keer op de oranje knop van je NXT totdat het MW Run File in het menu verschijnt. Probeer het programma uit. Als je in de klas meerdere robots hebt, zet ze dan op een rijtje en zet ze allemaal aan. Vervolgens laat je docent de bal voor alle robots langsrollen. Je ziet nu hoe alle robots op de bal reageren.
Het wachten (de zandloper) moet worden gezet op de IR Seeker V2 sensor, aangesloten op sensor 4.
8