Usando o sensor de localização no VEXcode VR

O VR Robot possui uma infinidade de sensores, incluindo um sensor de localização.


Sensor de localização no robô VR

Texto explicativo da caneta do robô VR

O Robô VR possui um Sensor de Localização integrado que informa a posição (X, Y) do Robô VR. A localização do Robô VR é determinada pelo ponto de viragem central. Esta também é a localização da caneta no VR Robot.

VR de cima para baixo

O Sensor de Localização também informa o ângulo de localização que varia de 0 graus a 359,9 graus seguindo o estilo de direção da bússola.

Grip_Map_with_Axis__1_.jpg

Cada Playground varia de -1000mm a 1000mm para as posições X e Y. A localização inicial do Robô VR depende do Playground selecionado. Para obter mais informações sobre detalhes de localização em um Playground e o sistema de coordenadas, consulte os seguintes artigos:

Dashboard_location.png

Os valores do Sensor de Localização podem ser exibidos no Dashboard no VEXcode VR. Para saber mais sobre o Dashboard, consulte o artigo Dashboard - Playground Features - VEXcode VR.

Screen_Shot_2022-04-19_at_2.05.06_PM.png

Os valores do Sensor de Localização podem ser exibidos no Console do Monitor no VEXcode VR.

  • Para saber mais sobre como usar o Monitor Console com VEXcode VR Blocks, consulte este artigo.
  • Para saber mais sobre como usar o Monitor Console com VEXcode VR Python, este artigo.

Usos comuns do sensor de localização

O sensor de localização no robô VR pode ser usado de várias maneiras.

Blocos VR VEXcode Parque do Crasher do Castelo
Threshgold_greater_than_-300.png castelo_crasher_monitor.png
VEXcode VR Python
def main():
enquanto não for location.position(Y, MM) > -300:
drivetrain.drive(FORWARD)
wait(20, MSEC)
drivetrain.stop()

O Sensor de Localização pode ser usado para navegar pelas coordenadas de qualquer Playground. Cada Playground varia de -1000mm a 1000mm para as posições X e Y.

Por exemplo, se você quiser que o robô VR pare ao cruzar um determinado valor no eixo Y, você poderá definir um limite no eixo Y para ser maior que esse valor. Este castelo central no Castle Crasher Playground está próximo de um valor Y de -250. Portanto, o projeto de exemplo define o robô VR para parar de dirigir depois de passar um valor Y superior a -300 e não colidir com o castelo.

Blocos VR VEXcode Parque do movimentador de disco
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, DEGREES)
enquanto não for location.position(X, MM) > 800:
drivetrain.drive(FORWARD)
wait(20, MSEC)
drivetrain.turn_for(LEFT , 90, DEGREES)
enquanto não for location.position(Y, MM) > -100:
drivetrain.drive(FORWARD)
wait(20, MSEC)
drivetrain.stop()
magnet.energize(BOOST)

O Sensor de Localização também pode ser usado para mover o Robô VR para um local conhecido. Neste projeto, o primeiro disco verde parece estar no local (800, -200). Para chegar a esse ponto, o robô VR pode dirigir ao longo do eixo X até atingir 800 e depois ao longo do eixo Y até atingir -200 para pegar o disco.

Blocos VR VEXcode Parque de telas de arte
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)
caneta .set_pen_color (VERMELHO)
trem de força.drive_for (AVANÇAR, 400, MM)

O Sensor de Localização também pode ser usado para determinar o ângulo atual do Robô VR. Neste projeto, o VR Robot irá avançar e depois virar à direita. Ele esperará até que o ângulo do robô VR seja superior a 89 graus e então mudará a cor da caneta para vermelho e avançará mais 400 mm.

Observe que o ângulo de localização no Dashboard é 92 em vez de exatamente 90 ou mesmo 89,1. Isso ocorre porque leva tempo para que o fluxo do projeto prossiga e processe cada comando à medida que são executados. Assim, os 92 graus não são um erro, são pretendidos devido ao tempo de processamento e à velocidade do VR Robot.


Usando o sensor de localização em blocos VEXcode VR

Bloco (Posição do robô)

Posição do bloco do robô

O bloco (Posição do robô) informa a posição das coordenadas X ou Y do Robô VR.

Posição do robô x bloco

A posição das coordenadas X ou Y pode ser selecionada no menu suspenso do bloco.

Posição do bloco do robô

As unidades em mm ou polegadas podem ser selecionadas no menu suspenso do bloco.

Bloco (ângulo de posição em graus)

Bloco de ângulo de posição em graus

O bloco (Ângulo de posição em graus) informa o ângulo do robô VR em graus até a décima posição mais próxima. Os valores variam de 0,0 a 359,9 graus.


Usando o sensor de localização no VEXcode VR Python

Screen_Shot_2021-11-11_at_9.49.14_AM.png

Para começar a programar o Sensor de Localização com Python, você precisará primeiro abrir um novo projeto de texto no VEXcode VR. Para obter mais informações, este artigo.

Screen_Shot_2021-12-13_at_11.55.20_AM.png

O comando positioninforma a posição das coordenadas X ou Y do robô VR.

O comando position angle informa o ângulo do robô VR em graus.

Para adicionar qualquer um desses comandos ao seu projeto, você pode arrastar o comando da caixa de ferramentas ou digitar o comando na área de trabalho usando a função Autocomplete. Para saber mais sobre o preenchimento automático no VEXcode VR com Python, este artigo.

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

Last Updated: