Hoe werkt het? Via een aantal onderwerpen zullen we de hoofdlijnen van onze voetballende robots uitleggen.
- Het spel
- Overzicht hardware
- Rijden
- Kijken
- Positie bepaling
- Bal handling
- Schieten
- Wereldbeeld
- Strategie
- Nieuwe generatie (Two wheeler)
Het spel
Het doel van het RoboCup initiatief is om 2050 de wereldkampioen voetbal te verslaan met een team van robots. Om dit doel te bereiken zijn een aantal leagues opgericht. RobotSports speelt in de Middle Size League (MSL). In deze league spelen twee teams van 5 robots zelfstandig (zonder menselijk ingrijpen) een wedstrijd van 2 x 15 minuten. De robots hebben een doorsnede van max 52 cm en zijn max 80 cm hoog. Er wordt gespeeld met een normale eqaal gekleurde voetbal (een vijfje) op een veld van max 22m x 14m. Een menselijke scheidsrechter leidt de wedstrijd. Zijn aanwijzingen (opdrachten) worden door een assistent via een software programma (Refbox) door gegeven aan de teams. Ieder team dient de opdrachten weer (zonder menselijk handelen) door te sturen naar de spelers (robots).
Het robot voetbal in de MSL zijn er net als in het echte voetbal vrije trappen, ingooien, strafschoppen, maar ook gele kaarten. De basis van de regels zijn de menselijke voetbal regels van FIFA, met een paar kleine aanpassingen. Wie de meeste doelpunten maakt wint. De doelen van 2m breed en 1m hoog. Dit maakt dat de MSL de RoboCup league is die het echte voetbal het meest benaderd. De robots zijn verplicht om alle sensoren op de robot te hebben. Communicatie tussen de robots gaat via WIFI. De robots mogen geen schade toe brengen aan het veld of andere robots (anders volgt een gele of rode kaart).
Meer info: MSL home-page.
Overzicht hardware
Er zijn 4 identieke veldspelers en een keeper. De basis van de keeper is een veldspeler, maar is uitgerust met extra sensoren (kinects – bekend van de Xbox) en een kenmerkend groot rek om de hoge bal te kunnen stoppen. De spelers hebben drie omni-wielen waarmee de robot elke kant heen kan rijden.
Er zijn diverse sensoren op de robot aanwezig, zoals een camera, kompas en een WIFI verbinding.
De ball handlers worden gebruikt om de bal bij de robot te houden tijdens het dribbelen en zorgen dat het schietmechanisme de bal kan wegschieten. Het schietmechanisme kan schieten met diverse snelheden en kiezen tussen een boogbal of een bal over de grond.
Rijden
Onze robots hebben drie omni-wheels. Dit zijn wielen met kleine rollertjes in het wiel, waardoor het wiel iedere kant op kan gaan. De drie omni-wheels worden elk door een eigen motor aangedreven. Dit maakt dat onze robots alle kanten kunnen op bewegen.
Kijken
De robots kijken naar het veld met een camera via een 360 graden spiegel (omni-vision). De camerabeelden worden een aantal keer per seconde geanalyseerd. In de beelden wordt gezocht naar de bal, de witte lijnen en de andere spelers. Via kleur en vorm worden deze items uit het beeld gehaald.
De omni-vision camera is een belangrijke sensor voor onze robots. Voor de wedstrijden wordt voor alle robots een kleur kalibratie uitgevoerd om de juiste kleuren-range te bepalen. Ook wordt de geometrie gekalibreerd zodat er een vertaling van pixel naar een afstand in meters gedaan kan worden. Op de keeper zit ook een kinect (bekend van de xbox), uit deze slimme sensor kan ook hoogte worden gehaald, iets dat handig is om een boogbal te detecteren.
Positie bepaling
De witte lijnen worden gebruikt door het zelflokalisatie proces. Dit proces zorgt er voor dat de robot weet waar hij op het veld is. Ook een kompas (gyroscoop) en de verplaatsingen van de wielen worden gebruikt om de positie van de robot ten opzichte van het veld te bepalen. De berekende veld-positie wordt gebruikt om de robot te kunnen laten voetballen.
Bal handling
Twee armpjes met een draaiend wieltje op het uiteinde zorgen dat de bal dichtbij de robot blijft, maar wel zodanig dat de tegenstander in staat blijft om de bal af te pakken. Door de balhandeling kan de robot forwards dribbelen met de bal, maar ook om de eigen as draaien.
De balhandeling zijn ook belangrijk om goed te kunnen schieten. Ze leggen de bal op de juiste positie, zodat de schotkracht zo goed mogelijk op de bal wordt overgedragen.
Schieten
We gebruiken een solenoïde (spoel) om een stuk metaal te versnellen. Door een korte puls wordt het schietmechanisme in beweging gezet. Het onderdeel (voet) dat tegen de bal aan komt is in hoogte verstelbaar. Hierdoor kunnen we vlak over de grond schieten of een boogbal schieten. Door de lengte van de puls te variëren kan er zachter en harder worden geschoten.
Wereldbeeld
Het combineren van alle beschikbare sensor-data, data van andere robots die is ontvangen via de WIFI tot bruikbare data voor de tactiek is het domein van het World-model. Soms zijn er meerdere sensoren die hetzelfde object waarnemen, een algoritme moet bepalen wat de waardes zijn die door de tactiek gebruikt kunnen worden. Een bal kan worden waargenomen met de omni-vision camera, via de sensoren in de bal-handlers, via een kinect, maar kan ook door een andere robot worden gerapporteerd.
Het world-model is ook verantwoordelijk voor het zenden en ontvangen van waarnemingen. Via een gesynchroniseerd gedistribueerde database wisselen de robots informatie uit. Alle robots hebben ongeveer hetzelfde wereldbeeld.
Strategie
De strategie software bepaalt welke rol en welke veld positie een speler heeft. Door het delen van de data, weet iedere robot waar de bal is, welke spelsituatie van toepassing is en waar de medespelers en tegenstanders staan. Dit stelt een robot in staat om te bepalen wie welke rol heeft. We hebben buiten de keeper geen vaste rollen.
De uitdaging is de rollen niet te snel te laten wisselen, maar ook niet te star te zijn. Als een rol is toegekend, kan de speler bepalen wat de beste veld-positie is voor zijn rol. Via een state machine wordt er gedrag voor de rol geselecteerd. Dit gedrag (skills) voert de robot uit. Dit leidt tot opdrachten voor de motion, ball-handling en schietmechanisme.
Nieuwe generatie (Two wheeler)
De huidige generatie heeft drie omni-wheels. Onze nieuwe generatie robots zal twee wielen hebben. De robot zal zichzelf in balance moeten houden tijdens het spel. De lage kosten en hoge wielbasis zijn de grote pluspunten van dit nieuwe platform. Meer info over het concept staat op: http://elexperiment.nl/2018/11/high-speed-balancing-robot-introduction (er staat ook een leuke film).