Movimiento#
Introducción#
El robot codificador VEX AIM cuenta con un sistema de propulsión holonómico que le permite moverse en cualquier dirección y rotar de forma independiente. Motion proporciona bloques para movimiento, giro, ajuste de velocidad y seguimiento de posición.
A continuación se muestra una lista de bloques disponibles:
Acciones: Mover y girar el robot.
mover – Mueve el robot hacia adelante, hacia atrás, hacia la izquierda o hacia la derecha.
Mover en ángulo – Mueve el robot en una dirección específica usando un ángulo.
mover por – Mueve el robot en una dirección específica durante una distancia establecida.
Mover en ángulo durante – Mueve el robot en un ángulo específico durante una distancia establecida.
girar – Gira el robot hacia la izquierda o hacia la derecha.
girar para – Gira el robot una cantidad específica de grados.
girar hacia el rumbo – Gira el robot para orientarse hacia un rumbo específico.
Mover con controlador – Permite conducir el robot usando el controlador.
detener todo movimiento – Detiene todo movimiento del robot.
Configuración: ajusta el movimiento y la velocidad de los giros.
establecer velocidad de movimiento – Establece la velocidad de movimiento como un porcentaje.
establecer velocidad de giro – Establece la velocidad de giro como un porcentaje.
Posición – Rastrear y modificar la posición del robot.
posición – Devuelve la coordenada x o y actual del robot.
establecer posición del robot – Establece manualmente la posición x e y del robot.
Valores – Verificar estado de movimiento.
¿mover activo? – Devuelve si el robot se está moviendo actualmente.
¿girar activo? – Devuelve si el robot está girando actualmente.
¿detenido? – Devuelve si el robot no se está moviendo ni girando.
Comportamiento#
mover#
El bloque mover mueve el robot en cuatro direcciones específicas utilizando la velocidad de movimiento actual.
mover [adelante v]
Parámetros |
Descripción |
---|---|
dirección |
Mueva el robot en una de las siguientes direcciones:
|
Ejemplo
cuando empieza :: hat events
[Avanzar]
mover [adelante v]
moverse en ángulo#
El bloque mover en ángulo mueve el robot en un ángulo especificado usando la velocidad de movimiento actual.
moverse en (90) grados
Parámetros |
Descripción |
---|---|
ángulo |
El ángulo, en forma de número entero o decimal, en el que se mueve el robot, que va desde -360 a 360 grados. |
Ejemplos
cuando empieza :: hat events
[Muévete a la derecha, luego avanza y detente.]
moverse en (90) grados
esperar (1) segundos
moverse en (0) grados
esperar (1) segundos
detener todo movimiento
cuando empieza :: hat events
[Muévete en diagonal hacia la derecha y detente.]
moverse en (45.33) grados
esperar (1) segundos
detener todo movimiento
moverse para#
El bloque mover por mueve el robot en cuatro direcciones específicas por una distancia específica usando la velocidad de movimiento actual.
mover [adelante v] para (200) [mm v] ▶
Parámetros |
Descripción |
---|---|
dirección |
Mueva el robot en una de las siguientes direcciones:
|
distancia |
La distancia, en número entero o decimal, que se moverá el robot, medida en unidades. |
unidad |
La unidad de medida, que puede ser una de las siguientes:
|
flecha expansiva |
Por defecto, este es un bloque de espera, por lo que el robot terminará de moverse antes de ejecutar el siguiente bloque. Para que el robot empiece a moverse y ejecute el siguiente bloque inmediatamente, expande el bloque para indicar y no esperes. |
Ejemplo
cuando empieza :: hat events
[Avanzar 200 mm]
mover [adelante v] para (200) [mm v] ▶
moverse en ángulo para#
El bloque mover en ángulo para mueve el robot en un ángulo específico durante una distancia especificada usando la velocidad de movimiento actual.
moverse en (45) grados para (200) [mm v] ▶
Parámetros |
Descripción |
---|---|
ángulo |
El ángulo, en forma de número entero o decimal, en el que se mueve el robot, que va desde -360 a 360 grados. |
distancia |
La distancia, en número entero o decimal, que se moverá el robot, medida en unidades. |
unidad |
La unidad de medida, que puede ser una de las siguientes:
|
flecha expansiva |
Por defecto, este es un bloque de espera, por lo que el robot terminará de moverse antes de ejecutar el siguiente bloque. Para que el robot empiece a moverse y ejecute el siguiente bloque inmediatamente, expande el bloque para indicar y no esperes. |
Ejemplos
cuando empieza :: hat events
[Muévete hacia la derecha y luego avanza.]
moverse en (90) grados para (50) [mm v] ▶
moverse en (0) grados para (100) [mm v] ▶
cuando empieza :: hat events
[Conduzca hacia adelante y haga parpadear todos los LED en rojo.]
moverse en (0) grados para (100) [mm v] ◀ y no espera
establecer el color del [lightall v] LED EN [rojo v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [rojo v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
doblar#
El bloque girar gira el robot en una dirección específica utilizando la velocidad de giro actual.
giro [derecha v]
Parámetros |
Descripción |
---|---|
dirección |
La dirección en la que gira el robot:
|
Ejemplo
cuando empieza :: hat events
[Gire a la izquierda y luego deténgase.]
giro [izquierda v]
esperar (1) segundos
detener todo movimiento
girar para#
El bloque girar para gira el robot en una dirección específica por una distancia establecida en relación a su dirección de orientación actual usando la velocidad de giro actual.
giro [derecha v] para (90) grados ▶
Parámetros |
Descripción |
---|---|
dirección |
La dirección en la que gira el robot:
|
ángulo |
El ángulo, en forma de número entero o decimal, en el que se mueve el robot, que va desde -360 a 360 grados. |
flecha expansiva |
Por defecto, este es un bloque de espera, por lo que el robot terminará de girar antes de ejecutar el siguiente bloque. Para que el robot empiece a girar y ejecute el siguiente bloque inmediatamente, expande el bloque para indicar y no esperes. |
Ejemplos
cuando empieza :: hat events
[Gire a la izquierda y luego gire a la derecha.]
giro [izquierda v] para (90) grados ▶
giro [derecha v] para (90) grados ▶
cuando empieza :: hat events
[Gire a la derecha y todos los LED parpadearán en azul.]
giro [derecha v] para (180) grados ◀ y no espera
establecer el color del [lightall v] LED EN [azul v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [azul v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
girar al rumbo#
El bloque girar hacia el rumbo gira el robot para orientarlo hacia un rumbo específico utilizando la velocidad de giro actual.
pasar a (270) grados de encabezado ▶
Parámetros |
Descripción |
---|---|
título |
El rumbo que tomará el robot será de –360 a 360 grados. |
flecha expansiva |
Por defecto, este es un bloque de espera, por lo que el robot terminará de girar antes de ejecutar el siguiente bloque. Para que el robot empiece a girar y ejecute el siguiente bloque inmediatamente, expande el bloque para indicar y no esperes. |
Ejemplos
cuando empieza :: hat events
[Girar para mirar cada punto cardinal.]
pasar a (90) grados de encabezado ▶
esperar (2) segundos
pasar a (180) grados de encabezado ▶
esperar (2) segundos
pasar a (270) grados de encabezado ▶
esperar (2) segundos
pasar a (0) grados de encabezado ▶
esperar (2) segundos
cuando empieza :: hat events
[Date la vuelta rápidamente y haz que todos los LED parpadeen en verde..]
pasar a (180) grados de encabezado ◀ y no espera
establecer el color del [lightall v] LED EN [verde v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [verde v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
moverse con el controlador#
El bloque mover con el mando permite controlar el robot con el mando de un solo joystick. Para usar el mando, hay que colocar el bloque dentro de un bucle, como un bucle infinito. Si el bucle se detiene y ningún otro bloque le indica al robot que se mueva, este seguirá en la última dirección en la que se movió el joystick.
mover con controlador
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empieza :: hat events
[Conduce con el mando durante cinco segundos.]
reiniciar temporizador :: custom-orientation
mientras <(temporizador en segundos) [math_less_than v] [5]>
mover con controlador
fin
detener todo movimiento
detener todo movimiento#
El bloque detener todo movimiento detiene todo movimiento del robot.
detener todo movimiento
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empieza :: hat events
[Gire a la derecha y luego deténgase.]
giro [derecha v]
esperar (1) segundos
detener todo movimiento
Ajustes#
establecer velocidad de movimiento#
El bloque establecer velocidad de movimiento establece la velocidad de movimiento predeterminada como porcentaje para todos los bloques de movimiento posteriores del proyecto. Una velocidad de movimiento del 100 % equivale a 200 milímetros por segundo (mm/s).
establecer la velocidad de movimiento (50) en %
Parámetros |
Descripción |
---|---|
velocidad |
Establece la velocidad de movimiento predeterminada como un porcentaje. |
Ejemplo
cuando empieza :: hat events
[Avanzar a la velocidad predeterminada.]
establecer la velocidad de movimiento (50) en %
moverse en (0) grados para (100) [mm v] ▶
esperar (1) segundos
[Muévete más lenta.]
establecer la velocidad de movimiento (20) en %
moverse en (0) grados para (100) [mm v] ▶
esperar (1) segundos
[Muévete más rápido.]
establecer la velocidad de movimiento (100) en %
moverse en (0) grados para (100) [mm v] ▶
esperar (1) segundos
establecer la velocidad de giro#
El bloque establecer velocidad de giro establece la velocidad predeterminada como porcentaje para todos los bloques de giro subsiguientes del proyecto. Una velocidad de giro del 100 % equivale a 150 grados por segundo (dps).
establecer la velocidad de giro (50) en %
Parámetros |
Descripción |
---|---|
velocidad |
Establece la velocidad de giro predeterminada como un porcentaje. |
Ejemplo
cuando empieza :: hat events
[Girar a la velocidad predeterminada.]
establecer la velocidad de giro (50) en %
giro [derecha v] para (90) grados ▶
esperar (1) segundos
[Date la vuelta más despacio.]
establecer la velocidad de giro (20) en %
giro [derecha v] para (90) grados ▶
esperar (1) segundos
[Date la vuelta más rápido.]
establecer la velocidad de giro (20) en %
giro [derecha v] para (90) grados ▶
esperar (1) segundos
Posición#
posición#
El bloque posición devuelve la coordenada x o y actual del robot como un entero, medido en milímetros.
[x v] posición en [mm v]
Parámetros |
Descripción |
---|---|
coordinar |
El eje de coordenadas, que puede ser uno de los siguientes:
|
unidad |
La unidad de medida, que puede ser una de las siguientes:
|
Ejemplo
cuando empieza :: hat events
moverse en (0) grados para (200) [mm v] ▶
[Avanzar e imprimir la nueva coordenada y el rumbo.]
establecer la posición del robot [0] x: y: [0]
moverse en (45) grados para (200) [mm v] ▶
imprimir ([x v] posición en [mm v]) en pantalla ▶
colocar el cursor en la siguiente fila de la pan...
imprimir ([y v] posición en [mm v]) en pantalla ▶
establecer la posición del robot#
El bloque establecer posición del robot establece la posición actual del robot en valores especificados en milímetros (mm).
establecer la posición del robot [0] x: y: [0]
Parámetros |
Descripción |
---|---|
incógnita |
La posición x que se debe establecer para el robot, en mm. |
y |
La posición y que se debe establecer para el robot, en mm. |
Ejemplo
cuando empieza :: hat events
[Restablecer la posición del robot después de moverse.]
mover [adelante v] para [60] [mm v] ▶
establecer la posición del robot [0] x: y: [0]
imprimir ([y v] posición en [mm v]) en pantalla ▶
Valores#
¿mover activamente?#
El bloque ¿movimiento activo? devuelve un valor booleano que indica si el robot se está moviendo actualmente.
Verdadero: el robot se está moviendo.
Falso` - El robot no se mueve.
<moverse activo?>
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empieza :: hat events
[Parpadea todos los LED cuando el robot esté en movimiento.]
moverse en (0) grados para (200) [mm v] ◀ y no espera
mientras <moverse activo?>
establecer el color del [lightall v] LED EN [rojo v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
fin
establecer el color del [lightall v] LED EN [apagado v]
¿activarse?#
El bloque ¿girar activo? devuelve un valor booleano que indica si el robot está girando actualmente.
Verdadero
– El robot está girando.Falso
- El robot no está girando.
<activarse?>
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empieza :: hat events
[Parpadea todos los LED mientras el robot está girando.]
giro [derecha v] para (180) grados ◀ y no espera
mientras <activarse?>
establecer el color del [lightall v] LED EN [rojo v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [apagado v]
esperar (0.5) segundos
fin
establecer el color del [lightall v] LED EN [apagado v]
¿interrumpido?#
El bloque ¿detenido? devuelve un valor booleano que indica si el robot no se está moviendo ni girando.
Verdadero: el robot no se mueve ni gira.
Falso: el robot se está moviendo o girando.
<se detuvo?>
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
definir light show
[Los LED parpadean mientras el robot se mueve o gira.]
repetir hasta <se detuvo?>
establecer el color del [lightall v] LED EN [verde v]
esperar (0.5) segundos
establecer el color del [lightall v] LED EN [azul v]
esperar (0.5) segundos
fin
cuando empieza :: hat events
[Parpadean todos los LED mientras el robot se mueve o gira.]
moverse en (0) grados para (200) [mm v] ◀ y no espera
light show
giro [derecha v] para (180) grados ◀ y no espera
light show