Transmisión#

Introducción#

El robot VEX IQ (segunda generación) utiliza un sistema de transmisión para desplazarse y girar. Este sistema se compone de motores y ruedas que trabajan conjuntamente para mover el robot.

Un sistema de transmisión configurado puede usar un sensor giroscópico conectado (Inertial.md), el sensor inercial integrado del sistema (Inertial.md) o ningún sensor. Cuando se usa un sensor, el sistema de transmisión lo utiliza para ayudar al robot a moverse y girar con precisión. Al inicio de cada proyecto, el sistema de transmisión calibra el sensor automáticamente. Mantenga el robot inmóvil durante aproximadamente 2 segundos durante la calibración para que pueda moverse y girar correctamente.

Existen muchas maneras de programar el sistema de transmisión. A continuación se muestra una lista de todos los bloques del sistema de transmisión:

Acciones: Mover y girar el robot.

  • drive — Mueve el robot hacia adelante o hacia atrás indefinidamente.

  • drive for — Mueve el robot hacia adelante o hacia atrás una distancia específica.

  • giro — Gira el robot hacia la izquierda o hacia la derecha indefinidamente.

  • girar para — Gira el robot hacia la izquierda o hacia la derecha un número específico de grados.

  • girar rumbo — Gira el robot para que mire hacia un rumbo específico de -359 a 359 grados. El robot girará en la dirección más corta para alcanzar el rumbo objetivo.

  • girar a rotación — Gira el robot a una rotación específica.

  • detener conducción — Detiene el movimiento del robot.

Ajustes: Ajuste la configuración de la transmisión.

Valores: comprobar el estado del movimiento.

Comportamiento#

conducir#

El bloque de accionamiento mueve el robot hacia adelante o hacia atrás indefinidamente. El robot seguirá moviéndose hasta que se le indique otra acción, como girar o detenerse.

drive [forward v]

Parámetros

Descripción

dirección

La dirección en la que se mueve el robot: hacia adelante o hacia atrás.

Ejemplo

when started
[Drive forward, then stop.]
drive [forward v]
wait (2) seconds
stop driving

conducir para#

El bloque de la pila drive for mueve el robot hacia adelante o hacia atrás una distancia específica. El proyecto esperará a que el robot termine de moverse antes de ejecutar el siguiente bloque de la pila.

drive [forward v] for (200) [mm v] ▶

Parámetros

Descripción

dirección

La dirección en la que se mueve el robot: hacia adelante o hacia atrás.

distancia

La distancia que recorre el robot. Puede ser un número entero o decimal.

unidad

La unidad de distancia: mm (milímetros) o pulgadas.

y no esperes

Seleccione la flecha ( ▶ ) para expandir el bloque y decir y no espere, de modo que el siguiente bloque en la pila se ejecutará inmediatamente.

Ejemplo

when started
[Drive backward 500 mm (millimeters).]
drive [reverse v] for (500) [mm v] ▶

doblar#

El bloque de pila girar hace girar al robot hacia la izquierda o hacia la derecha indefinidamente. El robot seguirá girando hasta que se le asigne otra acción, como conducir o detenerse.

turn [right v]

Parámetros

Descripción

dirección

La dirección en la que gira el robot: izquierda o derecha.

Ejemplo

when started
[Turn right, then stop.]
turn [right v]
wait (2) seconds
stop driving

girar para#

El bloque turn for hace girar el robot hacia la izquierda o hacia la derecha un número específico de grados. El giro es relativo a la posición actual del robot. El programa esperará a que el robot termine de girar antes de ejecutar el siguiente bloque.

turn [right v] for (90) degrees ▶

Parámetros

Descripción

dirección

La dirección en la que gira el robot: izquierda o derecha.

ángulo

El número de grados que gira el robot. Puede ser un número entero o decimal.

y no esperes

Seleccione la flecha ( ▶ ) para expandir el bloque y decir y no espere, de modo que el siguiente bloque en la pila se ejecutará inmediatamente.

Ejemplo

when started
[Turn left, then turn around to the right.]
turn [left v] for (90) degrees ▶
turn [right v] for (180) degrees ▶

girar al rumbo#

El rumbo es la dirección hacia la que apunta el robot, medida en grados. El bloque girar a rumbo hace que el robot gire para apuntar a un rumbo específico, desde -359 hasta 359 grados. El robot girará en la dirección más corta para alcanzar el rumbo deseado.

La dirección inicial del robot es de 0 grados.

El proyecto esperará a que el robot termine de girar antes de ejecutar el siguiente bloque de la pila.

turn to heading (90) degrees ▶

Parámetros

Descripción

título

La dirección hacia la que debe apuntar el robot, en grados. Puede ser un número entero o decimal entre -359 y 359.

y no esperes

Seleccione la flecha ( ▶ ) para expandir el bloque y decir y no espere, de modo que el siguiente bloque en la pila se ejecutará inmediatamente.

Ejemplo

when started
[Turn to face the cardinal directions.]
turn to heading (90) degrees ▶
wait (2) seconds
turn to heading (180) degrees ▶
wait (2) seconds
turn to heading (270) degrees ▶
wait (2) seconds
turn to heading (0) degrees ▶
wait (2) seconds

pasar a rotación#

El bloque apilable girar para rotar hace que el robot gire a una rotación específica.

La rotación indica cuánto ha girado el robot, medida en grados. Al inicio de un proyecto, el valor de rotación se establece en 0 grados. La rotación también se puede configurar mediante el bloque establecer rotación de accionamiento.

Los valores de rotación son absolutos. Esto significa que la dirección del giro depende de la rotación actual del robot. Girar a la derecha aumenta la rotación, y girar a la izquierda la disminuye.

Por ejemplo, si el robot comienza en 0 grados y se le da una rotación de 720 grados, girará dos veces a la derecha. Si luego se le da una rotación de 360 ​​grados, girará una vez a la izquierda, ya que 360 ​​es menor que 720.

turn to rotation (90) degrees ▶

Parámetros

Descripción

rotación

El valor de rotación, en grados, que alcanzará el robot. Puede ser un número entero o decimal.

y no esperes

Seleccione la flecha ( ▶ ) para expandir el bloque y decir y no espere, de modo que el siguiente bloque en la pila se ejecutará inmediatamente.

Ejemplo

when started
[Turn left, then spin in a circle clockwise and face right.]
turn to rotation (-90) degrees ▶
wait (2) seconds
turn to rotation (450) degrees ▶

deja de conducir#

El bloque de apilamiento detener conducción detiene el movimiento del robot.

stop driving

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Drive forward, then stop.]
drive [forward v]
wait [4] seconds
stop driving

Ajustes#

establecer la velocidad de conducción#

El bloque establecer velocidad de conducción indica al robot a qué velocidad debe conducir. Una velocidad mayor hace que el robot conduzca más rápido y una velocidad menor hace que conduzca más despacio.

Todos los proyectos comienzan con el robot conduciendo al 50% de su velocidad por defecto.

Nota: Una mayor velocidad hace que el robot se desplace más rápido, pero puede ser menos preciso. Una menor velocidad hace que el robot se desplace más despacio, pero puede ser más preciso.

set drive velocity to (50) [% v]

Parámetros

Descripción

velocidad

La velocidad de conducción varía del 0% al 100% al usar %. rpm (revoluciones por minuto) utiliza valores de 0 a 120.

unidad

La unidad de medida: % o rpm (revoluciones por minuto).

Ejemplo

when started
[Drive forward at the default velocity.]
drive [forward v] for (100) [mm v] ▶
wait (1) seconds
[Move slower.]
set drive velocity to (20) [% v]
drive [forward v] for (100) [mm v] ▶
wait (1) seconds
[Move faster.]
set drive velocity to (100) [% v]
drive [forward v] for (100) [mm v] ▶
wait (1) seconds

establecer la velocidad de giro#

El bloque de pila establecer velocidad de giro le indica al robot a qué velocidad debe girar. Una mayor velocidad hace que el robot gire más rápido y una menor velocidad hace que gire más lento.

Todos los proyectos comienzan con el robot girando al 50% de su velocidad por defecto.

Nota: Una mayor velocidad hace que el robot gire más rápido, pero puede ser menos preciso. Una menor velocidad hace que el robot gire más despacio, pero puede ser más preciso.

set turn velocity to (50) [% v]

Parámetros

Descripción

velocidad

La velocidad de giro varía del 0% al 100% al usar %. rpm (revoluciones por minuto) utiliza valores de 0 a 120.

unidad

La unidad de medida: % o rpm (revoluciones por minuto).

Ejemplo

when started
[Turn at default velocity.]
turn [right v] for (100) degrees ▶
wait (1) seconds
[Turn slower.]
set turn velocity to (20) [% v]
turn [right v] for (100) degrees ▶
wait (1) seconds
[Turn faster.]
set turn velocity to (100) [% v]
turn [right v] for (100) degrees ▶
wait (1) seconds

Establecer la parada de la unidad#

El bloque de configuración set drive stopping establece cómo se detendrá el robot: frenando, dejándose llevar por inercia o manteniéndose en posición.

set drive stopping to [brake v]

Parámetros

Descripción

comportamiento de detención

Cómo se detendrá el robot:

  • frenar — Se detiene inmediatamente.
  • desplazarse por inercia — Disminuye la velocidad hasta detenerse.
  • mantener — Se detiene inmediatamente y mantiene la posición de las ruedas.

Si no se utiliza este bloque, el robot utilizará el freno al detenerse.

Ejemplo

when started
[Drive forward and coast to a stop.]
set drive velocity to (100) [% v]
set drive stopping to [coast v]
drive [forward v]
wait (2) seconds
stop driving

establecer el tiempo de espera de la unidad#

El bloque de pila set drive timeout establece cuántos segundos intentará el robot completar un movimiento. Si el robot no puede terminar en ese tiempo, dejará de intentarlo y pasará al siguiente bloque de la pila. Esto evita que el robot se quede atascado en un movimiento.

set drive timeout to (1) seconds

Parámetros

Descripción

tiempo

El número de segundos que el robot puede intentar para completar un movimiento. Puede ser un número entero o decimal.

Ejemplo

when started
[Drive forward for 1 second, then turn.]
set drive timeout to (1) seconds
drive [forward v] for (25) [inches v] ▶
turn [right v] for (90) degrees ▶

establecer el rumbo de la unidad#

El rumbo es la dirección hacia la que apunta el robot, medida en grados. El bloque de pila establecer rumbo de conducción cambia el rumbo actual del robot a un nuevo valor.

Por ejemplo, si el robot ha girado para mirar hacia la derecha, al establecer la orientación a 0 grados, esa posición mirando hacia la derecha se convierte en la nueva posición de 0 grados. Entonces, el robot puede girar a otras posiciones en función de esa nueva orientación.

set drive heading to (0) degrees

Parámetros

Descripción

título

El valor de rumbo, en grados, que se debe configurar para el robot. Puede ser un número entero o decimal entre 0 y 359.

Ejemplo

when started
[Turn to the left.]
set drive heading to (90) degrees
turn to heading (0) degrees ▶

establecer la rotación de la unidad#

La rotación indica cuánto ha girado el robot, medida en grados. Al inicio de un proyecto, el valor de rotación se establece en 0 grados. El bloque establecer rotación de accionamiento modifica la rotación actual del robot a un nuevo valor.

Por ejemplo, si el robot ha dado dos vueltas completas a la derecha, su valor de rotación será de 720 grados. Si se establece la rotación en 0 grados, esta volverá a su valor original. A partir de ahí, el robot podrá girar según ese nuevo valor.

set drive rotation to (0) degrees

Parámetros

Descripción

rotación

El valor de rotación, en grados, que se debe configurar para el robot. Puede ser un número entero o decimal.

Ejemplo

when started
[Spin counterclockwise two times.]
set drive rotation to (720) degrees
turn to rotation (0) degrees ▶

Valores#

El viaje ha terminado.#

El bloque booleano drive is done indica si el robot ha terminado de moverse. Esto permite controlar la sincronización de otras acciones en función del movimiento del robot.

  • Verdadero — El robot ha terminado de moverse.

  • Falso — El robot sigue en movimiento.

Este bloque funciona junto con los siguientes bloques de tren motriz que tienen el parámetro y no esperar: conducir para, girar para, girar a rumbo y girar a rotación.

<drive is done?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Start spinning when the drive is complete.]
drive [forward v] for (200) [mm v] ◀ and don't wait
forever
if <drive is done?> then
turn [right v] for (360) degrees ▶
break
else
set cursor to row (1) column (1) on screen
print [Still Moving...] on screen ▶
wait (0.1) seconds
clear screen

El impulso está en marcha#

El bloque booleano drive is moving indica si el robot se está moviendo. Esto permite controlar la sincronización de otras acciones en función del movimiento del robot.

  • Verdadero — El robot se está moviendo.

  • Falso — El robot no se está moviendo.

Este bloque funciona junto con los siguientes bloques de tren motriz que tienen el parámetro y no esperar: conducir para, girar para, girar a rumbo y girar a rotación.

<drive is moving?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Print that the robot is moving while it is still driving.]
drive [forward v] for (200) [mm v] ◀ and don't wait
while <drive is moving?>
set cursor to row (1) column (1) on screen
print [Still Moving...] on screen ▶
wait (0.1) seconds
clear screen
fin
set cursor to row (1) column (1) on screen
print [Done!] on screen ▶

rumbo de la unidad#

El rumbo es la dirección hacia la que apunta el robot, medida en grados. El bloque de informe rumbo de conducción informa el rumbo actual del robot, que oscila entre 0 y 359 grados.

La dirección inicial del robot es de 0 grados.

(drive heading in degrees)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Display the heading after turning.]
turn [right v] for (450) degrees ▶
print (drive heading in degrees) on screen ◀ and set cursor to next row

rotación de la unidad#

La rotación indica cuánto ha girado el robot, medida en grados. Al inicio de un proyecto, el valor de rotación se establece en 0 grados. El bloque de informe drive rotation informa sobre la rotación actual del robot.

Girar a la derecha aumenta la rotación, y girar a la izquierda la disminuye. Por ejemplo, al dar dos vueltas completas a la derecha se registrará una rotación de 720 grados.

(drive rotation in degrees)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Display the rotation after turning.]
turn [right v] for (450) degrees ▶
print (drive rotation in degrees) on screen ◀ and set cursor to next row

velocidad de accionamiento#

El bloque de informe de velocidad de conducción indica la velocidad a la que se desplaza el robot.

Puede indicar la velocidad como un porcentaje de -100% a 100%, o en rpm (revoluciones por minuto) de -127 a 127. Un valor positivo indica que el robot avanza. Un valor negativo indica que retrocede.

(drive velocity in [% v])

Parámetros

Descripción

unidad

La unidad para informar la velocidad de accionamiento en: % (de -100% a 100%) o rpm (revoluciones por minuto, de -127 a 127).

Ejemplo

when started
[Display the velocity as the robot is moving.]
drive [forward v]
wait (1) seconds
print (drive velocity in [% v]) on screen ◀ and set cursor to next row
stop driving

corriente de accionamiento#

El bloque de informe de corriente de transmisión informa cuánta corriente eléctrica está utilizando el sistema de transmisión, medida en amperios (amperios) de 0,0 a 1,2 A. La corriente es la cantidad de electricidad que fluye a través del sistema de transmisión.

Un valor de corriente más alto significa que el sistema de transmisión está utilizando más corriente eléctrica. Esto puede ocurrir cuando el robot empuja contra un objeto o intenta moverse cuando está atascado.

Esto puede utilizarse para comprobar si el sistema de transmisión tiene dificultades durante el movimiento. Si la corriente se mantiene alta, el sistema de transmisión puede sobrecalentarse o consumir energía de forma menos eficiente.

(drive current in [amps v])

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Display the current as the robot is moving.]
set print precision to [0.01 v] on screen
drive [forward v]
wait (1) seconds
print (drive current in [amps v]) on screen ◀ and set cursor to next row
stop driving