Movimento#

Introdução#

O robô de programação VEX AIM utiliza um sistema de transmissão holonómico para se mover para a frente, para trás, para a esquerda, para a direita ou em ângulo, além de poder rodar de forma independente. Os blocos de movimento controlam a forma como o robô se move e gira, a velocidade do seu movimento e como as suas posições x e y são rastreadas.

Mostrador de bússola circular de 0 a 315 graus a rodear um visor cinzento-escuro com ecrã azul-marinho. A parte da frente do robô está virada para 0 graus no mostrador da bússola.

Segue abaixo a lista de todos os blocos:

Ações — Mova e rode o robô.

  • mover — Move o robô para a frente, para trás, para a esquerda ou para a direita indefinidamente.

  • mover-se em ângulo — Move o robô num ângulo específico para sempre.

  • mover para — Move o robô numa direção específica por uma distância definida.

  • mover em ângulo para — Move o robô num ângulo específico por uma distância específica.

  • virar — Vira o robô para a esquerda ou para a direita para sempre.

  • virar para — Vira o robô para a esquerda ou para a direita por um número específico de graus.

  • virar para a direção — Vira o robô para ficar virado para uma direção específica.

  • mover com controlador — Permite que o robô seja controlado utilizando o controlador.

  • parar todo o movimento — Interrompe todo o movimento do robô.

Configurações — Ajuste a velocidade de movimento e de rotação.

Posição — Rastrear e modificar a posição do robô.

Valores — Verificar o estado da movimentação.

  • movimento ativo? — Reporta se o robô se está a mover.

  • virar ativo? — Reporta se o robô está a virar.

  • parado? — Reporta se o robô não se está a mover nem a rodar.

Ações#

mover#

O bloco de pilha movimento move o robô para a frente, para trás, para a esquerda ou para a direita indefinidamente, utilizando a velocidade de movimento atual. O robô continuará a mover-se até receber outra ação, como mover-se numa direção diferente, virar-se ou parar.

mover bloco de pilha para a frente#
mover [frente v]

Parâmetros

Descrição

direção

Direção do movimento do robô:

  • para a frente
  • para trás
  • para a esquerda
  • para a direita

Exemplo

Após iniciar, avance.#
quando iniciar
[Move forward]
mover [frente v]

mover-se em ângulo#

O bloco de pilha mover em ângulo move o robô indefinidamente num ângulo específico, utilizando a velocidade de movimento atual. O ângulo é relativo à posição atual do robô. O robô continuará a mover-se até receber outra ação, como mover-se numa direção diferente, rodar ou parar.

mover em 90 graus empilhar bloco#
mover a (90) graus

Parâmetros

Descrição

ângulo

O ângulo, em graus, que o robô se desloca. Pode ser um número inteiro ou decimal de -360 a 360.

Exemplos

Ao iniciar o movimento, o dispositivo roda 90 graus para a direita, aguarda 1 segundo, depois avança a 0 graus, aguarda 1 segundo e interrompe completamente o movimento.#
quando iniciar
[Move right, then move forward and stop.]
mover a (90) graus
aguardar (1) segundos
mover a (0) graus
aguardar (1) segundos
parar todo o movimento

Quando é iniciado, move-se diagonalmente para a direita num ângulo de 45,33 graus, aguarda 1 segundo e depois pára todo o movimento.#
quando iniciar
[Move diagonally to the right and stop.]
mover a (45.33) graus
aguardar (1) segundos
parar todo o movimento

movimento para#

O bloco de pilha movimento para move o robô para a frente, para trás, para a esquerda ou para a direita por uma distância específica, utilizando a velocidade de movimento atual. A direção é relativa à posição atual do robô. O projeto aguardará até que o robô termine de se mover antes de executar o próximo bloco na pilha.

avançar para o bloco de empilhamento de 200 mm#
mover [frente v] por (200) [mm v] ▶

Parâmetros

Descrição

direção

Direção do movimento do robô:

  • para a frente
  • para trás
  • para a esquerda
  • para a direita

distância

A distância percorrida pelo robô. Pode ser um número inteiro ou decimal.

unidade

A unidade de distância: mm (milímetros) ou polegadas.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplo

Ao iniciar, avance 200 mm no bloco de empilhamento.#
quando iniciar
[Move forward for 200 mm]
mover [frente v] por (200) [mm v] ▶

mover-se em ângulo para#

O bloco de pilha mover-se em ângulo para move o robô num ângulo específico por uma distância específica utilizando a velocidade de movimento atual. O ângulo é relativo à posição atual do robô. O projeto aguardará até que o robô termine de se mover antes de executar o próximo bloco na pilha.

mover em ângulo para bloco de pilha#
mover a (45) graus por (200) [mm v] ▶

Parâmetros

Descrição

ângulo

O ângulo, em graus, que o robô se desloca. Pode ser um número inteiro ou decimal de -360 a 360.

distância

A distância percorrida pelo robô. Pode ser um número inteiro ou decimal.

unidade

A unidade de distância: mm (milímetros) ou polegadas.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplos

Ao ser acionado, desloca-se para a direita a 90 graus durante 50 mm e, em seguida, avança a 0 graus durante 100 mm.#
quando iniciar
[Move right, then move forward.]
mover a (90) graus por (50) [mm v] ▶
mover a (0) graus por (100) [mm v] ▶

Ao ser acionado, o veículo avança 100 mm a 0 graus enquanto todos os LEDs piscam a vermelho.#
quando iniciar
[Drive forward and blink all LEDs red.]
mover a (0) graus por (100) [mm v] ◀ e não aguardar
definir cor do LED de [lightall v] para [vermelho v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [vermelho v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos

virar#

O bloco de pilha turn roda o robô para a esquerda ou para a direita indefinidamente utilizando a velocidade de rotação atual. O robô continuará a rodar até receber outra ação, como mover-se ou parar.

virar à direita bloco de pilha#
virar [direita v]

Parâmetros

Descrição

direção

A direção para a qual o robô vira: esquerda ou direita.

Exemplo

Ao iniciar o movimento, vira à esquerda, espera 1 segundo e depois pára completamente.#
quando iniciar
[Turn left, then stop.]
virar [esquerda v]
aguardar (1) segundos
parar todo o movimento

virar para#

O bloco de pilha rodar para roda o robô para a esquerda ou para a direita por um número específico de graus, utilizando a velocidade de rotação atual. O giro é relativo à direção atual para a qual o robô está virado. O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.

Vire à direita num ângulo de 90 graus e empilhe os blocos.#
virar [direita v] por (90) graus ▶

Parâmetros

Descrição

direção

A direção para a qual o robô vira: esquerda ou direita.

ângulo

O número de graus que o robô roda. Pode ser um número inteiro ou decimal.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplos

Ao ser ligado, roda 90 graus para a esquerda e depois roda 180 graus para a direita.#
quando iniciar
[Turn left, then turn around to the right.]
virar [esquerda v] por (90) graus ▶
virar [direita v] por (180) graus ▶

Ao ser ligado, roda 180 graus para a direita enquanto todos os LEDs piscam a azul.#
quando iniciar
[Turn right and blink all LEDs blue.]
virar [direita v] por (180) graus ◀ e não aguardar
definir cor do LED de [lightall v] para [azul v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [azul v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos

virar para a direção#

A direção é a direção para a qual o robô está virado, medida em graus. O bloco de pilha virar para a direção vira o robô para uma direção específica utilizando a velocidade de rotação atual. O robô irá rodar na direção mais curta para alcançar a direção desejada.

A direção inicial do robô é de 0 graus.

O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.

virar para a direção 90 graus, empilhar blocos#
virar para a direção (270) graus ▶

Parâmetros

Descrição

cabeçalho

A direção para a qual o robô deve estar virado, de -360 a 360 graus.

e não espere

Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente.

Exemplos

quando iniciar
[Turn to face each cardinal direction.]
virar para a direção (90) graus ▶
aguardar (2) segundos
virar para a direção (180) graus ▶
aguardar (2) segundos
virar para a direção (270) graus ▶
aguardar (2) segundos
virar para a direção (0) graus ▶
aguardar (2) segundos

Ao ser ligado, gira rapidamente 180 graus enquanto todos os LEDs piscam a verde.#
quando iniciar
[Turn around quickly and blink all LEDs green.]
virar para a direção (180) graus ◀ e não aguardar
definir cor do LED de [lightall v] para [verde v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [verde v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos

mover com o comando#

O bloco de pilha mover com o comando permite controlar o robô utilizando o Comando de Um Joystick. Este bloco lê a entrada do controlador apenas uma vez, a menos que esteja dentro de um ciclo, como por exemplo um ciclo infinito. Se o ciclo parar e não existirem outros blocos a instruir o robô para se mover, o robô continuará a mover-se na última direção em que moveu o joystick.

mover com controle

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Drive with the controller for five seconds.]
reiniciar temporizador
enquanto <(temporizador em segundos) [math_less_than v] [5]>
mover com controle
fim
parar todo o movimento

Interromper todos os movimentos#

O bloco de pilha parar todo o movimento interrompe completamente o movimento do robô.

Interrompa todo o movimento, empilhe o bloqueio.#
parar todo o movimento

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao ser acionado, vira à direita, espera 1 segundo e depois pára completamente.#
quando iniciar
[Turn right, then stop.]
virar [direita v]
aguardar (1) segundos
parar todo o movimento

Configurações#

definir velocidade de movimento#

O bloco de pilha definir velocidade de movimento indica ao robô a velocidade a que se deve mover. Uma percentagem maior faz com que o robô se mova mais rápido e uma percentagem menor faz com que o robô se mova mais devagar.

Todos os projetos começam com o robô a mover-se a 50% da velocidade por defeito.

Uma velocidade de deslocação de 100% é equivalente a 200 milímetros por segundo (m/s).

Defina a velocidade de movimento para 50% do bloco de pilha#
definir velocidade de movimento para (50)%

Parâmetros

Descrição

velocidade

A velocidade de deslocação varia de 0% a 100%.

Exemplo

quando iniciar
[Move forward at the default velocity.]
definir velocidade de movimento para (50)%
mover a (0) graus por (100) [mm v] ▶
aguardar (1) segundos
[Move slower.]
definir velocidade de movimento para (20)%
mover a (0) graus por (100) [mm v] ▶
aguardar (1) segundos
[Move faster.]
definir velocidade de movimento para (100)%
mover a (0) graus por (100) [mm v] ▶
aguardar (1) segundos

definir velocidade de rotação#

O bloco de pilha definir velocidade de rotação indica ao robô a velocidade a que deve rodar. Uma percentagem mais elevada faz com que o robô gire mais rápido e uma percentagem mais baixa faz com que o robô gire mais devagar.

Todos os projetos começam com o robô a rodar a 50% da velocidade por defeito.

Uma velocidade de rotação de 100% é equivalente a 150 graus por segundo \(dps\).

Defina a velocidade de rotação para 50% e empilhe os blocos.#
definir velocidade de giro para (50)%

Parâmetros

Descrição

velocidade

A velocidade de rotação varia entre 0% a 100%.

Exemplo

quando iniciar
[Turn around at default velocity.]
definir velocidade de giro para (50)%
virar [direita v] por (180) graus ▶
aguardar (1) segundos
[Turn around slower.]
definir velocidade de giro para (20)%
virar [direita v] por (180) graus ▶
aguardar (1) segundos
[Turn around faster.]
definir velocidade de giro para (100)%
virar [direita v] por (180) graus ▶
aguardar (1) segundos

Posição#

posição#

O bloco de relatório de posição informa a coordenada x ou y atual do robô.

No início de um projeto, as posições x e y do robô são definidas como 0. Os valores de posição mudam à medida que o robô se move e podem ser definidos utilizando o bloco definir posição do robô.

Posição x no bloco repórter mm#
posição de [x v] em [mm v]

Parâmetros

Descrição

coordenada

O eixo de coordenadas a introduzir: x ou y.

unidade

A unidade de medida é: mm (milímetros) ou polegadas.

Exemplo

Quando é iniciado, o dispositivo avança 200 mm, reinicia a sua posição, move-se diagonalmente a 45 graus por 200 mm e imprime as coordenadas X e Y atualizadas no ecrã.#
quando iniciar
mover a (0) graus por (200) [mm v] ▶
[Move forward and print the new coordinate and heading.]
definir posição do robô x: [0] y: [0]
mover a (45) graus por (200) [mm v] ▶
imprimir (posição de [x v] em [mm v]) na tela ▶
mover cursor para a próxima linha na tela
imprimir (posição de [y v] em [mm v]) na tela ▶

posicionar o robô#

O bloco de pilha definir posição do robô altera a posição x e y atual do robô para novos valores.

Por exemplo, se o robô se afastou do ponto inicial, definir x como 0 e y como 0 faz com que a localização atual do robô seja a nova posição 0, 0. Assim, o robô pode rastrear posições futuras com base neste novo valor.

definir posição do bloco de pilha#
definir posição do robô x: [0] y: [0]

Parâmetros

Descrição

x

O valor da posição x a definir para o robô, em mm.

y

O valor da posição y a definir para o robô, em mm.

Exemplo

quando iniciar
[Reset the robot's position after moving.]
mover [frente v] por [60] [mm v] ▶
definir posição do robô x: [0] y: [0]
imprimir (posição de [y v] em [mm v]) na tela ▶

Valores#

mover-se ativamente#

O bloco booleano movimento ativo indica se o robô se está a mover. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

  • Verdadeiro — O robô está em movimento.

  • Falso — O robô não se está a mover.

Este bloco funciona em conjunto com blocos Motion que possuem o parâmetro não espere.

é mover bloco repórter ativo#
<movimento ativo?>

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao ser iniciado, o robô avança 200 mm enquanto todos os LEDs piscam a vermelho. Os LEDs acendem e apagam a cada 0,5 segundos enquanto o robô está em movimento e permanecem apagados após a paragem.#
quando iniciar
[Blink all of the LEDs when the robot is moving.]
mover a (0) graus por (200) [mm v] ◀ e não aguardar
enquanto <movimento ativo?>
definir cor do LED de [lightall v] para [vermelho v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos
fim
definir cor do LED de [lightall v] para [desligado v]

ativar#

O bloco booleano turn active informa se o robô está a rodar. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

  • Verdadeiro — O robô está a rodar.

  • Falso — O robô não está a virar.

Este bloco funciona em conjunto com blocos Motion que possuem o parâmetro não espere.

ativar o bloco repórter#
<giro ativo?>

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao ser acionado, o dispositivo roda 180 graus para a direita enquanto todos os LEDs piscam a vermelho. Os LEDs piscam a cada 0,5 segundos durante a rotação e apagam-se no final da curva.#
quando iniciar
[Blink all of the LEDs while the robot is turning.]
virar [direita v] por (180) graus ◀ e não aguardar
enquanto <giro ativo?>
definir cor do LED de [lightall v] para [vermelho v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [desligado v]
aguardar (0.5) segundos
fim
definir cor do LED de [lightall v] para [desligado v]

parou#

O bloco booleano parado indica se o robô não se está a mover nem a rodar. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.

  • Verdadeiro — O robô não se está a mover nem a rodar.

  • Falso — O robô está a mover-se ou a rodar.

é bloqueador de repórter#
<parado?>

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao ser iniciado, o robô avança 200 mm enquanto realiza um espetáculo de luzes, rodando depois 180 graus para a direita, continuando o espetáculo de luzes. Os LEDs alternam entre verde e roxo a cada 0,5 segundos enquanto o robô se move ou gira. Assim que o robô pára, o espetáculo de luzes termina e os LEDs apagam-se.#
Define light show
[Flash LEDs while the robot is moving or turning.]
repetir até <parado?>
definir cor do LED de [lightall v] para [verde v]
aguardar (0.5) segundos
definir cor do LED de [lightall v] para [roxo v]
aguardar (0.5) segundos
fim


quando iniciar
[Blink all the LEDs while the robot is moving or turning.]
mover a (0) graus por (200) [mm v] ◀ e não aguardar
light show
virar [direita v] por (180) graus ◀ e não aguardar
light show