Een sneller obstakelontwijkend voertuigje

Een sneller obstakelontwijkend voertuigje

Voor de CoderDojo CODA Apeldoorn heb ik dit obstakelontwijkende voertuig samengesteld. Zwaar geïnspireerd op één van de WeDo 2.0 Building Instructions, namelijk het model Steer. Het bijzondere aan dit model is dat je met 1 enkele motor rechtdoor kunt rijden en achteruit naar links kunt bewegen en daarmee het voertuig heel redelijk kunt laten manoeuvreren. Dit model beweegt sneller dan de MazeRunnerBot versie 2.0.

Bouwinstructies
Weer heb ik het model in LEGO Digital Designer (LDD) getekend, zodat er een bouwtekening kan worden gegenereerd. Deze bouwinstructies kun je downloaden of bekijken in de formaten HTML en PDF. Hier kun je het 3-D LDD bronbestand ObstakelOntwijker.lxf downloaden.

Programmacode
Het bijbehorende programma is niet erg groot. Er wordt (nadat de snelheid van de motor wordt ingesteld) voortdurend vooruit gereden totdat de bewegingssensor iets waarneemt. Dan wordt een korte tijd de draairichting van de motor omgedraaid, waardoor het wagentje een bochtje achteruit naar links maakt. Vervolgens wordt weer vooruit gereden, etc.

LineFollowerBot Programma

Ook kan eenvoudig een soort afstandsbediening worden gemaakt met 3 mogelijkheden, vooruit rijden, bochtje links achteruit en stoppen:

LineFollowerBot Programma

Het obstakelontwijkende voertuigje in actie:

Advertisement

MazeRunnerBot versie 2.0 met zwaartepunt boven zwenkwiel

MazeRunnerBot versie 2.0 met zwaartepunt boven zwenkwiel

Tijdens de 2018 editie van het Bloeiend festival konden de deelnemers actief kennismaken met de eerste versie van de MazeRunnerBot. Toen bleek dat er te weinig gewicht op het zwenkwieltje lag, zodat het dubbele gladde bandje nogal eens slipte.

Voor versie 2 van de MazeRunnerBot is het batterijcompartiment boven het zwenkwiel geplaatst en zijn de gladde bandjes vervangen door een band met profiel.

Bouwinstructies
Het model heb ik ook weer met LEGO Digital Designer getekend, zodat er een bouwtekening kan worden gegenereerd. Deze bouwinstructies kun je downloaden of bekijken in de formaten HTML en PDF.

Ook kun je het bestand MazeRunnerBot 2_0.lxf downloaden. Met welk programma je dat kunt openen en hoe je het model daarin correct kunt bekijken, staat onderaan deze blog post in de paragrafen Extra informatie en Lego Digital Designer Developer Mode.

Programmacode
Hieronder staat het bijbehorende programma (dit is niet veranderd sinds de eerste versie), waarin eerst eenmalig het display links onderin het scherm een neutrale/witte achtergrond krijgt en de motorkracht wordt gezet. Daarna wordt telkens vooruit gereden tot de bewegingssensor iets waarneemt binnen 15 cm afstand. De motor stopt dan met draaien. Op dat moment wordt een willekeurig getal tussen de 1 en de 9 gekozen en dit getal wordt vermenigvuldigd met 0,1 zodat de uiteindelijke uitkomst een waarde tussen de 0,10 en 0,90 is (deze waarden worden overigens steeds in het display links onderin getoond). De motor gaat nu de andere kant op draaien gedurende de laatstgenoemde waarde in seconden. Hierdoor draait het wagentje telkens een willekeurig stukje. Daarna gaat door de herhalingslus de motor weer zo draaien dat het karretje rechtdoor verder rijdt. Tot het volgende obstakel verschijnt, enz…

MazeRunnerBot Programma

Beelden van het 2.0 model in een met houten blokjes gemaakte arena met het lopende programma op een iPad ernaast.

Jong en oud aan de LEGO WeDo tijdens Apeldoorns Bloeiend Festival

Jong en oud aan de LEGO WeDo tijdens Apeldoorns Bloeiend Festival

Afgelopen zaterdagmiddag tijdens het festival Bloeiend werd het Apeldoornse culturele seizoen gestart met allerlei activiteiten in de buitenruimte tussen Gigant en CODA. Dit was de gebruikte wervingstekst van ons gedeelte:

LEGO Robot Parcours
CODA en Gigant slaan de handen ineen en organiseren op de trappen van het Van Reekumplein een heus LEGO robottoernooi. Je leert van alles over het besturen en programmeren van een robot en hoe deze in elkaar zit. Ook leer je meer over de werking van sensoren en motoren en hoe je een robot precies dat kunt laten doen wat jij wilt. Rij met de LEGO auto over het parcours en pas de auto aan zodat deze extra snel, sterk of stoer wordt!

Met houten latten hadden we op de vlakke traptreden richting het CODA museum een soort doolhof/hindernisbaan gelegd en daarnaast een aantal LEGO Education WeDo 2.0 sets en iPads. Op deze iPads kon met behulp van dit blog een tweetal modellen worden nagebouwd en geprogrammeerd, LineFollowerBot en MazeRunnerBot.

Gedurende de middag werd er door diverse mensen en kinderen op de brede treden lekker gebouwd, geprogrammeerd, geprobeerd en gefotografeerd. Gelukkig was het goed weer…

Doel van onze aanwezigheid is het promoten van het CODA FabLab in het algemeen en de LEGO bouwmiddagen en de CoderDojo in het bijzonder.

Hieronder een korte impressie van de middag:

Iets anders geweldigs dat tijdens het festival door de straat trok, was onderstaande zandtekenmachine BLOM van Gijs van Bon.

LineFollowerBot bouwinstructies en programmeervoorbeeld

LineFollowerBot bouwinstructies en programmeervoorbeeld

Langs de lijn
Naast het ontwijken van obstakels is een andere klassieke uitdaging voor robots het volgen van een lijn.

Bronvermelding
Dit model is grotendeels geleend van deze Robotic Goes Europe – Erasmus+ video. Het programma kwam eerst van de site van de Familie Labusch. Inmiddels komt het programma van de video van Daniele Benedettelli.
Ere wie ere toekomt..!

Bouwinstructies
Ook dit keer heb ik het model in LEGO Digital Designer (LDD) getekend, zodat er een bouwtekening kan worden gegenereerd. Deze bouwinstructies kun je downloaden of bekijken in de formaten HTML en PDF. Hier kun je het 3-D LDD bronbestand LineFollowerBot.lxf downloaden.

Programmacode
Hieronder staat het bijbehorende programma, dat veelvuldig gebruik maakt van berichten (messages) omdat een keuzestructuur (if-then) in de LEGO WeDo 2.0 app ontbreekt. De bewegingssensor (motion sensor) wordt ingezet om te bepalen of linker- of rechterwiel gedurende 0,2 seconden wordt aangedreven. Een lichte kleur zoals wit wordt door de sensor weergegeven als 0 en een donkere ondergrond als 1, 2 of 3. Er wordt telkens op de uitkomst van de bewegingssensor gereageerd. Bij 0 wordt het linkerwiel aangedreven en dus naar rechts gestuurd. Bij 1, 2 en 3 wordt het rechterwiel aangedreven en stuurt het wagentje naar links.

LineFollowerBot Programma

Beelden van dit model langs een lijn van zwarte tape met het lopende programma op een iPad ernaast. Het programma dat in de video te zien is, is een eerdere versie. De hierboven getoonde versie van het programma doet hetzelfde maar is wat korter.

MazeRunnerBot kan nagebouwd worden

MazeRunnerBot kan nagebouwd worden

Doolhof
Voor het komende Bloeiend festival te Apeldoorn o.a. ter promotie van de LEGO bouwmiddagen en de CoderDojo in het CODA FabLab gaan we een houten doolhof/parcours maken van bijna 3 x 3 meter. Het is de bedoeling dat daarin ruim 10 door de jeugdige deelnemers in elkaar gezette en geprogrammeerde LEGO Education WeDo 2.0 robots gaan rondrijden. Deze post bevat de bouwinstructies en een voorbeeld van de programmeercode voor deze MazeRunnerBot.

Ik kon het niet laten en heb zelf een LEGO Education 45300 WeDo 2.0 Basisset aangeschaft, zodat ik het voertuigje op m’n gemak kon verbeteren, testen en de code telkens kon aanpassen.

Bouwinstructies
Ook heb ik het model nu in LEGO Digital Designer getekend, zodat er een bouwtekening kan worden gegenereerd. Deze bouwinstructies kun je downloaden of bekijken in de formaten HTML en PDF. Onderaan deze post staat nog extra informatie en kan je het 3-D bronbestand downloaden.

Programmacode
Hieronder staat het bijbehorende programma, waarin eerst eenmalig het display links onderin het scherm een neutrale/witte achtergrond krijgt en de motorkracht wordt gezet. Daarna wordt telkens vooruit gereden tot de bewegingssensor iets waarneemt binnen 15 cm afstand. De motor stopt dan met draaien. Op dat moment wordt een willekeurig getal tussen de 1 en de 9 gekozen en dit getal wordt vermenigvuldigd met 0,1 zodat de uiteindelijke uitkomst een waarde tussen de 0,10 en 0,90 is (deze waarden worden overigens steeds in het display links onderin getoond). De motor gaat nu de andere kant op draaien gedurende de laatstgenoemde waarde in seconden. Hierdoor draait het wagentje telkens een willekeurig stukje. Daarna gaat door de herhalingslus de motor weer zo draaien dat het karretje rechtdoor verder rijdt. Tot het volgende obstakel verschijnt, enz…

MazeRunnerBot Programma

Beelden van dit model in een houten testdoolhof met het lopende programma op een iPad ernaast.

Extra informatie
Op deze Programming Blocks poster staat meer informatie over wat je met de verschillende WeDo 2.0 programmeerblokjes kunt doen. Deze poster is wel in het Engels.

Hier kun je het LEGO Digital Designer bestand MazeRunnerBot.lxf downloaden. Na het openen van dit bestand krijg je deze waarschuwingsmelding te zien “1 brick was not placed correctly and has been removed from the model”. Een van de lichtbruine dunne tandwielen kan volgens het programma niet worden geplaatst in de stuurinrichting, maar in het echt past het prima.

Lego Digital Designer Developer Mode
Op YouTube vond ik de video getiteld Lego Digital Designer Developer Mode waarin wordt uitgelegd hoe je niet-plaatsbare LEGO elementen toch kunt plaatsen in LEGO Digital Designer (LDD).

Voor Windows komt het hierop neer. Je zet in bestand preferences.ini de regel DeveloperMode=1. Dit bestand staat in folder C:\Users\some_user\AppData\Roaming\LEGO Company\LEGO Digital Designer. Als je daarna LDD herstart, verschijnt er een extra menu genaamd Developer. In dat menu kies je Toggle Physics Test. Als je vervolgens het model opnieuw inlaadt, zie je wel het eerst missende tandwiel.

Ook op een Mac zou het moeten werken, staat in de commentaren onder de video.

P.S. het idee voor de sturing, dus met 1 motor rechtdoor kunnen rijden en ook bochtjes kunnen draaien, komt hier vandaan.

FroggerBot en MazeRunnerBot zien het levenslicht

FroggerBot en MazeRunnerBot zien het levenslicht

Regelmatig komen Marco en ik bij elkaar in het Apeldoornse CODA FabLab om ideeën uit te wisselen en nieuwe technieken uit te proberen. Zo zijn we bijvoorbeeld bezig om te ontdekken wat er allemaal kan met de LEGO Education WeDo 2.0 set. We proberen leuke modellen te maken en daar ook een programma bij te schrijven om de schepsels tot leven te laten komen.

Marco is bezig met een kikker die echt kan springen en kwaken en ik ben een karretje aan het maken die probeert obstakels te omzeilen. Het plan is om de resultaten op het komende Bloeiend festival te demonstreren en door de deelnemers te laten bouwen, aanpassen en programmeren.

Wil je zelf met deze sets aan de slag, neem dan eens een kijkje tijdens de LEGO bouwmiddagen in het CODA FabLab.

Hieronder nog wat test runs van FroggerBot en MazeRunnerBot: