De locatiesensor gebruiken in VEXcode VR

De VR Robot beschikt over een groot aantal sensoren, waaronder een Locatiesensor.


Locatiesensor op de VR-robot

Toelichting VR-robotpen

De VR Robot heeft een ingebouwde Locatiesensor die de (X, Y) positie van de VR Robot rapporteert. De locatie van de VR Robot wordt bepaald door het centrale draaipunt. Dit is ook de locatie van de pen op de VR Robot.

VR van boven naar beneden

De locatiesensor rapporteert ook de locatiehoek, die varieert van 0 graden tot 359,9 graden volgens de kompasrichting.

Dashboard_locatie.png

De locatiesensorwaarden kunnen worden weergegeven op het dashboard in VEXcode VR. Voor meer informatie over het Dashboard, bekijk het artikel Dashboard - Speeltuinfuncties - VEXcode VR.


Algemeen gebruik van de locatiesensor

De Locatiesensor op de VR Robot kan op vele manieren worden gebruikt.

VEXcode VR-blokken Castle Crasher-speeltuin
Threshgold_greater_than_-300.png castle_crasher_monitor.png
VEXcode VR Python
def main():
terwijl niet location.position(Y, MM) > -300:
drivetrain.drive(FORWARD)
wait(20, MSEC)
drivetrain.stop()

De locatiesensor kan worden gebruikt om door de coördinaten van elke speeltuin te navigeren. Elke speeltuin varieert van -1000 mm tot 1000 mm voor de X- en Y-posities.

Als u bijvoorbeeld wilt dat de VR-robot stopt zodra deze een bepaalde waarde op de Y-as overschrijdt, kunt u een drempelwaarde op de Y-as instellen die groter is dan die waarde. Dit middelste kasteel in de Castle Crasher Playground heeft bijna een Y-waarde van -250. Het voorbeeldproject zorgt er dus voor dat de VR-robot stopt met rijden nadat hij een Y-waarde groter dan -300 passeert, en niet tegen het kasteel botst.

VEXcode VR-blokken Schijfverplaatser-speeltuin
Threshhold_capture_disk.png Screen_Shot_2021-12-13_at_11.26.26_AM.png
VEXcode VR Python
def main():
drivetrain.turn_for(RIGHT, 90, GRADEN)
terwijl niet location.position(X, MM) > 800:
drivetrain.drive(FORWARD)
wait(20, MSEC)
drivetrain.turn_for(LINKS , 90, GRADEN)
terwijl niet location.position(Y, MM) > -100:
drivetrain.drive(FORWARD)
wait(20, MSEC)
drivetrain.stop()
magnet.energize(BOOST)

De Locatiesensor kan ook worden gebruikt om de VR-robot naar een bekende locatie te verplaatsen. In dit project blijkt de eerste groene schijf op de locatie te liggen (800, -200). Om dat punt te bereiken, kan de VR-robot langs de X-as rijden tot hij 800 bereikt en vervolgens langs de Y-as tot hij -200 bereikt om de schijf op te pakken.

VEXcode VR-blokken Kunst canvas speeltuin
Screen_Shot_2021-12-13_at_11.45.30_AM.png Screen_Shot_2021-12-13_at_11.43.44_AM.png
VEXcode VR Python
def main():
pen.move(DOWN)
drivetrain.drive_for(FORWARD, 400, MM)
while location.position_angle(DEGREES) < 89:
drivetrain.turn(RIGHT)
wait(20, MSEC)
pen .set_pen_color(RED)
aandrijflijn.drive_for(FORWARD, 400, MM)

De Locatiesensor kan ook worden gebruikt om de huidige hoek van de VR Robot te bepalen. In dit project zal de VR-robot vooruit rijden en vervolgens rechtsaf slaan. Hij wacht tot de hoek van de VR-robot groter is dan 89 graden en verandert dan de penkleur in rood en rijdt nog eens 400 mm vooruit.

Merk op dat de locatiehoek in het Dashboard 92 is in plaats van precies 90 of zelfs 89,1. Dit komt omdat het tijd kost voordat de stroom van het project doorgaat en elke opdracht wordt verwerkt terwijl deze wordt uitgevoerd. De 92 graden is dus geen vergissing, maar is bedoeld vanwege de verwerkingstijd en de snelheid van de VR Robot.


De locatiesensor gebruiken in VEXcode VR-blokken

(Positie van robot) blok

Positie robotblok

Het blok (Positie van robot) rapporteert de X- of Y-coördinaatpositie van de VR-robot.

Positie van robot x blok

De X- of Y-coördinaatpositie kan worden geselecteerd in het vervolgkeuzemenu op het blok.

Positie robotblok

De mm- of inch-eenheden kunnen worden geselecteerd in het vervolgkeuzemenu op het blok.

(Positiehoek in graden) blok

Positiehoek in gradenblok

Het blok (Positiehoek in graden) rapporteert de hoek van de VR-robot in graden tot op de dichtstbijzijnde tiende plaats. De waarden variëren van 0,0 tot 359,9 graden.


De locatiesensor gebruiken in VEXcode VR Python

Screen_Shot_2021-11-11_at_9.49.14_AM.png

Om te beginnen met het programmeren van de locatiesensor met Python, moet u eerst een nieuw tekstproject openen in VEXcode VR. Voor meer informatie, dit artikel.

Screen_Shot_2021-12-13_at_11.55.20_AM.png

Het commando positierapporteert de X- of Y-coördinaatpositie van de VR-robot.

Het commando positie hoek rapporteert de hoek van de VR Robot in graden.

Om een ​​van deze opdrachten aan uw project toe te voegen, kunt u de opdracht vanuit de Toolbox naar binnen slepen, of de opdracht in de werkruimte typen met behulp van de functie Automatisch aanvullen. dit artikel voor meer informatie over automatisch aanvullen in VEXcode VR met Python.

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

Last Updated: