Spelingsarme tandwielkasten, tandheugels en rondsels

2019 – WEEK 3, SOFTWARE


Vision is een concept van doelherkenning, waarbij een ring rond de camera een lichtstraal uitzendt naar retroreflectieve doelen in de buurt, die de ontvangen bundel terugsturen naar de camera, waarna de ontvangen gegevens kunnen worden gecompileerd en gewijzigd om er daarna iets mee te doen.

Vision

Ik begon met Vision-codering door de vereiste bibliotheken voor Python te installeren, zoals OpenCV en numpy voor onze coderingstaal. Na veel moeite om de juiste volgorde van installatie te vinden, hebben we de bibliotheek werkend gekregen, waarna we konden beginnen met coderen.5

We zijn begonnen met het openen van de PiCAM en het door een HSV-filter laten gaan, waarin we alle kleuren filteren behalve degene die terugkeren van de beeld opnames, die in ons geval groen zijn. Na de HSV (Hue, Saturation, Value) hebben we het beeld vervaagd om wat ruis en ruwe randen te verwijderen. Vervolgens hebben we de openings- en sluitvariabelen van OpenCV gebruikt om de ruis binnen en buiten het doelwit verder te filteren om een mooi en schoon zwart-witbeeld te krijgen om mee te werken. Vervolgens hebben we het contourgebied van elk doel berekend, als het groter was dan een variabele dan gingen we verder. Vervolgens hebben we een matrix gemaakt om de hoeken van de doelen op te slaan met hun bijbehorende x-coördinaat erin, waarna we lijnen tekenen en de middelpunten en hoeken ervan berekenen. Zo ver zijn we nu, we willen nog steeds de Ethernet-communicatie gebruiken die is ingesteld voor de RoboRIO, en de waarden die worden verzonden, nauwkeuriger afstemmen.

Alles vision gerelateerd draait op een Raspberry-Pi 3-co-processor om stress op de RoboRIO te voorkomen. Voor een zichtbaken gebruikten we 3 groen heldere led-ringen om voldoende licht in de camera te krijgen op een voldoende afstand.

Auto-Aligning

Auto-aligning is een techniek die wordt gebruikt om ervoor te zorgen dat de robot perfect op het doel is afgestemd. Vision stuurt de xpixel van het middelpunt van het doel naar de RoboRIO. In LabVIEW wordt de xpixel geconverteerd naar de gierhoek.

Team Rembrandts maakt gebruik van de Raspberry Pi-cameramodule V2. De beeldbreedte is 640 pixels en het horizontale beeldveld is 62,2 ° (zie specificaties van de camera). De camera geeft aan dat het doel zich op een xpixel van 100 bevindt.

Dit is de LabVIEW-code voor automatisch uitlijnen door handmatig het setpoint te geven zonder de X-pixel te lezen, iets dat binnenkort wordt geïmplementeerd. Als je op knop 1 drukt, wordt de NavX-gierhoek weer op 0 ingesteld en houdt je de knop 0 ingedrukt op de joypad dan staart de loop. Eerst leest het de gierhoek van de NavX die de procesvariabele van de PID-regelaar zal zijn en het handmatige instelpunt is gewoon elk aantal van -179 tot 179. -0.95 en 0.95 zijn waarden die aangeven wat de maximale uitvoer zal zijn voor de motoren, dus nu is maximaal 95% mogelijk.

Wat nog moeten worden bereikt voor automatisch uitlijnen, is het integreren samen met vision en het samenvoegen waarbij de NavX in één keer wordt gereset voordat de loop start na het indrukken van de knop 0 op de joypad. Vervolgens worden al deze codes in klassen ingedeeld.

Motion Profiling

Vorige week werkten we aan bewegingsprofilering, dit is een manier om de robot autonoom te laten rijden. Het volgt een voorgeprogrammeerd pad, dit pad wordt gegenereerd met behulp van een bewegingsprofielgenerator. In deze bewegingsprofielgenerator kunnen we punten toevoegen en de positie en snelheid berekenen voor elk gegeven tijdsinterval.

Alle punten worden in een .csv-bestand geplaatst. Onze code kan de waarden uitlezen en in de bewegingsprofielbuffer plaatsen na enkele berekeningen die de snelheid omzetten in encoderwaarden.

Voordat het bewegingsprofiel wordt uitgevoerd, moeten de motoren in de aandrijflijn worden geïnstalleerd, daarna is er slechts één functie in de WPI-bibliotheek met betrekking tot het uitvoeren van het bewegingsprofiel.

We hebben enkele problemen ondervonden bij het maken van de code voor het bewegingsprofiel, zoals het niet terug uit kunnen bewegen van een bewegingsprofiel na een vorig bewegingsprofiel. We hebben enige vooruitgang geboekt door de instelling van de motoren te wijzigen.

het is een heel technisch verhaal, maar zoals is te lezen wordt er flink vooruitgang geboekt. Over 2 weken wil Team Rembrandts de robot helemaal klaar hebben voor de start van alle testen en vaardigheden voor de competitie in de USA.

Voor meer gedetailleerde informatie, bezoek de website van Team Rembrandts

 

Site by Merkelijkheid