Codering van de V5-afstandssensor met behulp van wiskundige ongelijkheden

Als u de V5-afstandssensor op uw robot gebruikt tijdens een VEX Robotics Competition (VRC)-wedstrijd, kan uw robot meer punten scoren met behulp van autonome bewegingen.

Het spel dat als voorbeeld voor dit artikel wordt gebruikt, is het VRC-spel 2021-2022, Tipping Point. Bekijk deze pagina voor meer informatie over het spel en hoe het gespeeld wordt. Voor de speldefinities die in dit artikel worden gebruikt, een overzicht van de spelregels en de puntentelling, kunt de spelhandleiding voor Tipping Pointraadplegen.


De V5-afstandssensor

Schuin zicht op de V5-afstandssensor.

De V5 Distance Sensor is een van de krachtige V5-sensoren die zijn ontworpen voor volledige integratie met het V5-roboticaplatform.

  • Deze sensor gebruikt een puls klaslokaalveilig laserlicht om de afstand vanaf de voorkant van de sensor tot een object te meten.
  • De V5 Afstandssensor kan worden gebruikt om een ​​object te detecteren en de relatieve grootte van het object te bepalen. De geschatte grootte van een object wordt gerapporteerd als klein, middelgroot of groot.
  • De sensor kan ook worden gebruikt om de naderingssnelheid van een robot te berekenen. De naderingssnelheid meet de snelheid van de robot/sensor terwijl deze naar het object beweegt.

Voor meer gedetailleerde informatie over de V5-afstandssensor, hoe deze werkt en hoe u deze kunt gebruiken met VEXcode V5, vzie dit artikel uit de VEX-bibliotheek.


V5 Afstandssensor Voorbeeld

Het doel van dit project is om de robot een mobiel doel te laten oppakken en verplaatsen met behulp van de V5-afstandssensor om te detecteren hoe ver weg het doel is.

Een VEXcode V5 Blocks-project dat vooruit rijdt totdat het een mobiel doel detecteert, dit oppakt en vervolgens verplaatst. Het project geeft de volgende instructies: Bij het starten, rijd vooruit, wacht tot de afstand van DistanceCenter tot het object in mm kleiner is dan 139, en stop dan met rijden. Draai vervolgens de ForkMotors 600 graden omhoog en daarna 90 graden naar links. Rijd vervolgens 600 mm vooruit, draai de vorkmotoren 600 graden naar beneden en rijd daarna 300 mm achteruit.

Dit is het codevoorbeeld dat in dit artikel wordt behandeld.

Er wordt een overzicht gegeven van het gedrag in het voorbeeld en hoe u de parameters kunt verkrijgen die worden gebruikt om de V5-afstandssensor te coderen.

U kunt het project bouwen in VEXcode V5 terwijl u het artikel volgt, of u kunt het artikel gewoon lezen ter inspiratie als voorbeeld van hoe u de V5-afstandssensor kunt opnemen wanneer u uw eigen robot codeert.

In deze video zie je hoe de bovenstaande code wordt uitgevoerd en hoe de robot een mobiel doel oppakt en verplaatst.

In dit voorbeeld wordt het menu 'Apparaten' van VEXcode V5 geopend om de apparaatconfiguratie weer te geven. Het menu toont allereerst een afstandssensor met de naam DistanceCenter op poort 19. Vervolgens is er een aandrijflijn met motoren op poorten 1 en 10 en een inertiële sensor op poort 3. Ten slotte is er een motorgroep genaamd ForkMotors op poorten 2 en 9.

Hier is de robotconfiguratie die in VEXcode V5 wordt gebruikt om de robot en de afstandssensor aan de configuratie voor dit voorbeeld toe te voegen, als u het voorbeeld zelf wilt proberen.

Robot gebruikt voor dit voorbeeld

Bovenaanzicht van de Moby Hero Bot, met de V5-afstandssensor extra gemarkeerd. De afstandssensor bevindt zich achter en onder de vork van de robot en is naar voren gericht.

De robot die in dit voorbeeld wordt gebruikt, is de VRC Hero Bot uit 2021-2022, Moby. Het ontwerp van Moby bevat geen sensoren, voor dit voorbeeld is de V5-afstandssensor aan Moby toegevoegd.

Voor dit voorbeeld is de V5-afstandssensor vlakbij het midden van Moby's Forks gemonteerd.

Voor meer informatie over Moby, dit artikel uit de VEX-bibliotheek

U hoeft Moby niet te gebruiken om de V5-afstandssensor te coderen of om deel te nemen aan de competitie van dit jaar. U kunt de sensor op uw aangepaste robot monteren waar u maar wilt.

Opmerking: Zorg ervoor dat er geen structuur op de robot zich vóór het kleine laservenster aan de voorkant van de sensor bevindt. Er moet een duidelijk pad vóór de sensor zijn tussen het doel en de sensor.

Uitsplitsing van het gedrag om te scoren

Om een ​​mobiel doel op te pakken en te verplaatsen met behulp van de feedback van de V5-afstandssensor, moet u eerst bepalen hoe de robot moet bewegen.

De Moby-robot wordt op een veld geplaatst met een mobiel doel een paar meter ervoor.

Eerst moet de robot met het gezicht naar het mobiele doel worden geplaatst.

De Moby-robot wordt getoond nadat hij vooruit is gereden om het mobiele doel te detecteren. Het mobiele doel bevindt zich nu in de vorkarmen van de robot.

Vervolgens moet de robot vooruit rijden totdat de afstandssensor detecteert dat het mobiele doel zich in de vorken bevindt en dicht bij de sensor.

De Moby-robot wordt getoond nadat hij het mobiele doel heeft gedetecteerd en zijn armen omhoog heft om het op te pakken.

Zodra de sensor detecteert dat het mobiele doel zich in de vorken of dichtbij de sensor bevindt, stopt de robot met rijden en brengt de vorken omhoog om het mobiele doel op te pakken.

De Moby-robot, die het mobiele doel draagt, is 90 graden naar links gedraaid.

Zodra het Mobiele Doel is opgepakt, draait de robot 90 graden naar links en rijdt 600 millimeter (mm) vooruit.

De Moby-robot heeft zijn vork laten zakken om het mobiele doel neer te zetten en is vervolgens achteruit gereden.

De robot laat dan de vorken zakken om het mobiele doel neer te zetten, en rijdt achteruit weg van het mobiele doel, zodat deze tijdens de volgende beweging niet per ongeluk omvalt.


Parameters begrijpen

Om het bovenstaande gedrag uit te voeren, is het belangrijk om te begrijpen hoe ver het mobiele doel verwijderd is van de V5-afstandssensor.

Parameter om het mobiele doel op te halen met behulp van de V5-afstandssensor

De Moby-robot staat op een veld met een mobiel doel tussen de vorken, zodat de ideale afstand kan worden bepaald.

Om de robot vooruit te laten rijden totdat de afstandssensor detecteert dat het mobiele doel zich in de vorken bevindt en dicht bij de sensor, moeten de waarden van de sensor worden geregistreerd vanuit de V5 Brain.

Plaats het mobiele doel tussen de vorken van de robot.

Het V5 Brain-scherm wordt weergegeven in het startmenu, waarbij de optie 'Apparaten' is geselecteerd.Het Brain-scherm wordt weergegeven in het menu Apparaatinfo, waar een lijst staat van alle Smart Ports en aangesloten apparaten van de Brain. Het pictogram van de afstandssensor in het menu 'Apparaatinfo' is gemarkeerd om aan te geven dat items kunnen worden geselecteerd om de bijbehorende informatiemenu's te openen.

Selecteer vervolgens in het Brain-scherm 'Apparaten' en vervolgens het pictogram voor de afstandssensor.

Het scherm met de hersengegevens wordt weergegeven in het menu 'Afstandssensor', waar de gegevens van de sensor worden getoond. Het menu toont gegevens over de grootte, snelheid en afstand van een object. Het menu bevat ook een diagram dat de afstand visualiseert en laat zien hoe deze in de loop van de tijd verandert. In deze schermafbeelding is het object klein, de snelheid is 0 meter per seconde en de afstand is 139 mm.

De afstand in millimeters (mm) dat het Mobiele Doel verwijderd is van de sensor, wordt gerapporteerd op het Brain-scherm.

Hetzelfde VEXcode V5 Blocks-project van eerder, dat vooruit rijdt totdat het een mobiel doel detecteert, het oppakt en het vervolgens verplaatst. De waarde waarmee de afstandssensor de objectafstand in het project vergelijkt, is 139 en is gemarkeerd.

Dit is de waarde die in het project wordt gebruikt bij het ophalen van het mobiele doel met behulp van de afstandssensor.

Parameter om de vorken omhoog en omlaag te brengen

De Moby-robot op een veld met een mobiel doel tussen zijn vorken.

Plaats het mobiele doel weer in de vorken.

Het Brain-scherm wordt weergegeven in het menu Apparaatinfo, waar een lijst staat van alle Smart Ports en aangesloten apparaten van de Brain. In het menu 'Apparaatinfo' is een motorpictogram gemarkeerd om aan te geven dat items kunnen worden geselecteerd om de bijbehorende informatiemenu's te openen.

Selecteer vervolgens in het Brain-scherm 'Apparaten' en vervolgens het pictogram voor Motor 2. Motor 2 bestuurt de linkervork.

De Moby-robot staat op een veld met een mobiel doel dat tussen zijn omhoogstaande vorken is geplaatst om het op te pakken.

Breng de vorken handmatig omhoog totdat het onderste deel van het mobiele doel het zicht van de afstandssensor niet blokkeert.

Wanneer u de vorken handmatig omhoog brengt, zorg er dan voor dat u elke vork aan de linker- en rechterkant van de Moby tegelijkertijd omhoog brengt, aangezien elke vork wordt bestuurd door een eigen motor.

Let op: Vermijd knelpunten Wanneer u de vorken handmatig optilt.

Het Brain-scherm wordt weergegeven in het Smart Motor-menu, waar de gegevens van het apparaat worden getoond. Het menu bevat meetwaarden en grafieken die de gegevens van het apparaat weergeven. In deze schermafbeelding is de waarde 'Degrees' van de motor gemarkeerd en deze geeft 604 weer.

Het aantal graden dat de Vorken omhoog zijn gebracht, wordt weergegeven op het scherm van de Hersenen.

Hetzelfde VEXcode V5 Blocks-project van eerder, dat vooruit rijdt totdat het een mobiel doel detecteert, het oppakt en het vervolgens verplaatst. Het aantal graden waarmee de vorkmotor in het project draait, is 600 en is gemarkeerd.

Dit is de waarde die in het project zal worden gebruikt bij het omhoog en omlaag brengen van de vorken om het mobiele doel op te pakken en te plaatsen.

Operatorblokken gebruiken

Het VEXcode V5 'kleiner dan'-operatorblok wordt weergegeven. Dit blok wordt gebruikt om twee waarden te vergelijken en te rapporteren of de eerste waarde lager is dan de tweede.

In dit project wordt het operatorblok <Less than> gebruikt om de afstandssensor te coderen.

Het scherm met de hersengegevens wordt weergegeven in het menu 'Afstandssensor', waar de gegevens van de sensor worden getoond. Het menu toont gegevens over de grootte, snelheid en afstand van een object. Het menu bevat ook een diagram dat de afstand visualiseert en laat zien hoe deze in de loop van de tijd verandert. In deze schermafbeelding is het object klein, de snelheid is 0 meter per seconde en de afstand is 139 mm.

Dit komt omdat naarmate de afstandssensor dichter en dichter bij een object komt, de afstand in millimeters tussen de sensor en dat object afneemt.

Hetzelfde VEXcode V5 Blocks-project van eerder, dat vooruit rijdt totdat het een mobiel doel detecteert, het oppakt en het vervolgens verplaatst. De waarde waarmee de afstandssensor de objectafstand in het project vergelijkt, is 139 en is gemarkeerd.

Er kunnen drempelwaarden worden geselecteerd om het gedrag van de robot te activeren zodra de afstand kleiner is dan een vooraf bepaalde hoeveelheid.

Wanneer de robot bijvoorbeeld richting het mobiele doel rijdt, gebruikt u het operatorblok <Less than> om het gedrag van de robot te activeren wanneer de afstand kleiner is dan , ongeveer 139 millimeter (mm).

Een Moby-robot op een veld met een mobiel doel in zijn vorken. De afstand van de afstandssensor tot het mobiele doel wordt aangegeven met een rode pijl.

Als die waarde bijvoorbeeld zou veranderen naar 10 millimeter (mm), zou de robot daadwerkelijk tegen het mobiele doel aanlopen en zichzelf mogelijk beschadigen, omdat 10 millimeter (mm) afstand van de sensor niet ver genoeg is om te voorkomen dat de vorken van de robot elkaar raken. het mobiele doel.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: