Skip to main content

De controller als gebruikersinterface

Drie studenten vieren feest tijdens een roboticawedstrijd. De twee studenten aan de rechterkant steken enthousiast hun vuisten in de lucht, terwijl de student aan de linkerkant lacht terwijl hij een controller vasthoudt.
Studenten reageren op een succesvolle Driver Controlled-wedstrijd.

De robot op afstand besturen

Meestal gebruiken we afstandsbedieningen om onze televisie te bedienen. We drukken op knoppen waardoor de televisie een door ons gewenst kanaal of informatie-/toegangsscherm weergeeft. Technisch gezien is de afstandsbediening van uw televisie een gebruikersinterface. Het is echter een veel minder geavanceerde gebruikersinterface dan die van uw smartphone. Omdat het minder geavanceerd is, zijn het meestal elektrotechnici en geen gebruikersinterfacetechnici die afstandsbedieningen voor televisies ontwerpen. Vanwege hun opleiding beschouwen elektrotechnici het toevoegen van nieuwe functies aan een afstandsbediening als een circuitprobleem: hoe voeg ik een nieuwe knop toe om een nieuwe functie op mijn televisie te bedienen? Ze houden geen rekening met de bruikbaarheid van de nieuwe knop in verhouding tot de andere knoppen.

Het programmeren van uw V5-controller is veel geavanceerder. Tijdens de Driver Controlled-wedstrijden van een competitie wil je dat jouw coureur/team zoveel mogelijk voordelen heeft. U kunt de knoppen en joysticks dus zo programmeren dat ze meer dan één eenvoudige handeling uitvoeren. Bovendien kunt u ze programmeren om complexe handelingen uit te voeren wanneer knoppen en joysticks in combinatie worden gebruikt. Dit is vergelijkbaar met de manier waarop sommige gamecontrollers werken. Als programmeur van de controller bedenkt u net als een UI-engineer welke knoppen u in combinatie moet gebruiken. U doet dit door uit te zoeken hoe u uw vingers en handen moet plaatsen om alle knoppen te kunnen bereiken. U wilt niet dat de bestuurder van uw robot kramp in zijn handen krijgt.

De programmering van uw V5-controller controleert herhaaldelijk welke knop(pen) er worden ingedrukt, zodat de robot het juiste gedrag kan vertonen. Houd er rekening mee dat er veel geneste voorwaardelijke statements in het project van de Controller kunnen zijn bij het gebruik van combinaties van indrukken, zoals in het volgende voorbeeld: Als de A-knop wordt ingedrukt en de B-knop wordt ingedrukt, voer dan dit gedrag uit. Als de A-knop wordt ingedrukt, de B-knop wordt ingedrukt en de linkerjoystick naar beneden wordt geduwd, doe dan het volgende. Anders (alleen A wordt ingedrukt), doe dit gedrag. Bedenk hoeveel extra combinaties van voorwaarden er nodig zijn om rekening te houden met alle andere knoppen en hun combinaties die beschikbaar zijn op de Controller.

Naarmate u complexere gedragingen in de werking van de Controller programmeert, komt het project natuurlijk dichter bij een autonome robot. Een wedstrijdteam moet dus uitzoeken welke gedragingen het beste als complexe sequenties in de Controllers kunnen worden geprogrammeerd en welke gedragingen het beste in meerdere delen kunnen worden opgesplitst, zodat de Controller de bestuurder (gebruiker) meer controle geeft over de snelheid en nauwkeurigheid van het gedrag.

Motiveer discussie-icoon Motiveer Discussie - VEX Robotica Competities

Elk jaar daagt VEX haar gebruikers uit met een nieuw spel. Teams strijden in wedstrijden die bestaan uit een autonome periode van vijftien (15) seconden (zonder controller), gevolgd door een periode van één minuut en vijfenveertig seconden (1:45) onder controle van de bestuurder (controller). Sommige studenten hebben misschien al eerder deelgenomen aan roboticawedstrijden, als onderdeel van een club of team. Met de onderstaande vragen worden leerlingen gevraagd hun ervaringen en/of interesses in wedstrijden te delen.
V:Heeft iemand hier, of iemand die je kent, meegedaan aan een roboticawedstrijd?
A:Moedig de leerlingen die hebben meegedaan aan om hun ervaringen te delen. Stel vervolgens meer vragen, zoals: 'Welke robot heb je gebruikt?' en/of 'Wat was je favoriete onderdeel van de ervaring?'.

V:Is er iemand die meer wil weten over de VEX-competitie/het spel van dit jaar?
A:Als leerlingen 'ja' antwoorden, kun je ze doorverwijzen naar de website van de VEX-competitieen de video van de uitdaging van dit jaar laten zien.

Breid uw leerproces uit-pictogram Breid uw leerproces uit - Programmeren van de controller

Zoals hierboven uitgelegd, kan de controller zo worden geprogrammeerd dat een knop of een combinatie van knoppen een complexe reeks gedragingen kan initiëren. Deze complexe reeks bewegingen hoeft niet per se een eenvoudige reeks te zijn, maar kan ook voorwaarden bevatten. Met behulp van sensorgegevens kan worden bepaald welke complexe reeks gedragingen in de gegeven situatie het meest geschikt is.

Daag leerlingen uit om hun controllers zo te programmeren dat de robot een ingewikkelde taak uitvoert als ze op één of twee knoppen drukken. Hier zijn enkele mogelijke voorbeelden:

  • De robot haalt een bal of spelelement van een bepaalde kleur op.

  • De robot pakt een spelelement op en lanceert het om een bepaald doel te bereiken.

  • De robot heroriënteert zich door met zijn auto tegen een muur aan te rijden voordat hij verdergaat.