Los bloques de actuación de la base Robobo son siete:

Todos ellos están relacionados con acciones que pueden realizar actuadores de la base Robobo, tanto los motores como los LEDs.

 

Stop _ Motors

  • Función: Detiene los motores de las ruedas, pan o tilt. 
  • CAMPOS:
    • SELECCIÓN DE MOTOR: se permite escoger si queremos detener todos los motores, los de las ruedas, el del pan, o el del tilt.
  • Ejemplo de funcionamiento:

El siguiente programa arranca un movimiento recto de Robobo sin tiempo de finalización (bloque move wheels with speed) y, a continuación, se queda esperando a que el valor del sensor infrarrojo central (read IR front-c sensor value) sea mayor de 100 (objeto cercano). Cuando esto ocurre, el bloque stop wheels motors para los motores de las ruedas.

 

Move wheels with speed R _ L _ 

  • Función: Mueve las ruedas de Robobo. Este bloque sirve para establecer la velocidad del motor de la rueda derecha (R) y de la rueda izquierda (L). El movimiento se realizará de forma indefinida hasta que sea detenido por el bloque stop all motors.
  • CAMPOS:
    • velocidad rueda derecha (R): 
      • Número entero que indica la velocidad de giro del motor de la rueda derecha.
      • Rango: valores enteros de -100 a 100. Los valores negativos mueven la rueda hacia atrás y los positivos hacia adelante. Los valores de mayor magnitud (valor absoluto), darán mayor velocidad de giro.
      • Advertencia: valores altos de velocidad hacen que Robobo se mueva muy rápido, lo cual aumenta la probabilidad de dañar la base o el smartphone por un impacto.
    • velocidad rueda izquierda (L): 
      • Número entero que indica la velocidad de giro del motor de la rueda izquierda.
      • Rango: valores enteros de -100 a 100. Los valores negativos mueven la rueda hacia atrás y los positivos hacia adelante. Los valores de mayor magnitud (valor absoluto), darán mayor velocidad de giro.
      • Advertencia: valores altos de velocidad hacen que Robobo se muy rápido, lo cual aumenta la probabilidad de dañar la base o el smartphone por un impacto.
  • EjemploS de funcionamiento:

Se muestra el mismo programa anterior, El siguiente programa arranca un movimiento recto de Robobo y continúa con el mismo hasta que el valor del sensor infrarrojo central (read IR front-c sensor value) sea mayor de 100 (objeto cercano). Cuando esto ocurre, el bloque stop wheels motors detiene los motores de las ruedas:

Move wheels with speed R _ L _ for _ seconds and wait _

  • Función: Mueve las ruedas de Robobo durante un tiempo determinado. Este bloque sirve para establecer la velocidad del motor de la rueda derecha (R) y de la rueda izquierda (L), y durante cuánto tiempo se aplican. 
  • CAMPOS:
    • velocidad rueda derecha (R): 
      • Número entero que indica la velocidad de giro del motor de la rueda derecha.
      • Rango: valores enteros de -100 a 100. Los valores negativos mueven la rueda hacia atrás y los positivos hacia adelante. Los valores de mayor magnitud (valor absoluto), darán mayor velocidad de giro.
      • Advertencia: valores altos de velocidad hacen que Robobo se mueva muy rápido, lo cual aumenta la probabilidad de dañar la base o el smartphone por un impacto.
    • velocidad rueda izquierda (L): 
      • Número entero que indica la velocidad de giro del motor de la rueda izquierda.
      • Rango: valores enteros de -100 a 100. Los valores negativos mueven la rueda hacia atrás y los positivos hacia adelante. Los valores de mayor magnitud (valor absoluto), darán mayor velocidad de giro.
      • Advertencia: valores altos de velocidad hacen que Robobo se mueva muy rápido, lo cual aumenta la probabilidad de dañar la base o el smartphone por un impacto.
    • TIEMPO:
      • Número real que indica el tiempo en segundos durante el cual se aplica la velocidad a los motores de las ruedas.
      • Rango: cualquier valor positivo.
    • Modo de funcionamiento: Existen dos modos de funcionamiento posibles:
      • True: modo bloqueante, es decir, Robobo moverá las ruedas con la velocidad indicada en los campos R y L durante el tiempo establecido en el campo tiempo y, a continuación, continuará con el programa.
      • False: modo no-bloqueante, es decir, Robobo iniciará el movimiento con la velocidad de las ruedas indicada en los campos R y L durante el tiempo establecido en el campo tiempo, mientras continuará con la ejecución de los bloques posteriores.
  • EjemploS de funcionamiento:

Para conseguir que Robobo se mueva recto hacia adelante, se debe poner el mismo valor de velocidad positiva en ambos motores (programa de la izquierda). Para que se mueva recto hacia atrás, se debe utilizar el mismo valor de velocidad, pero negativa (programa de la derecha):

Otras combinaciones de valores positivos y negativos, darán lugar a movimientos curvos. Los dos siguientes programas hacen los mismo, que Robobo gire sobre sí mismo en el sitio, aproximadamente 180º. La combinación de velocidad y tiempo se debe ajustar para lograr el giro deseado:

Move wheels _ with speed _ by _ degrees

  • Función: Mueve las ruedas de Robobo en función de los grados de giro establecidos. Este bloque sirve para establecer la velocidad y los grados de giro de la rueda derecha (R) , la rueda izquierda (L) o ambas.
  • CAMPOS:
    • SELECCIÓN DE RUEDA: se escoge si queremos que se mueva la rueda derecha (right), izquierda (left), o ambas (both).
    • velocidad (SPEED): 
      • Número entero que indica la velocidad de giro del motor seleccionado en el campo anterior.
      • Rango: valores enteros de -100 a 100. Los valores negativos mueven la rueda hacia atrás y los positivos hacia adelante. Los valores de mayor magnitud (valor absoluto), darán mayor velocidad de giro.
      • Advertencia: valores altos de velocidad hacen que Robobo se mueva muy rápido, lo cual aumenta la probabilidad de dañar la base o el smartphone por un impacto.
    • GRADOS DE GIRO (DEGREES): 
      • Número entero que indica los grados de giro de la rueda seleccionada en el primer campo a la velocidad indicada. 
      • Rango: valores enteros de -inf a inf (sin límite). Hay que tener en cuenta que una vuelta completa de la rueda son 360 grados. Si la rueda gira hacia atrás, los grados de giro disminuyen, pudiendo ser negativos.
  • EjemploS de funcionamiento:

El siguiente programa mueve a Robobo en línea recta a velocidad 20 hasta que las dos ruedas giran 360 grados (una vuelta completa). A continuación gira 180 grados (media vuelta) la rueda izquierda hacia atrás a velocidad 30, y finalmente gira la rueda derecha hacia adelante 180 grados a velocidad 50. El Robobo termina en la misma posición tras ejecutar los dos últimos bloques, aunque los giros sean a diferente velocidad.

Move pan to position _ with speed _ and wait _

  • Función: Mueve el motor PAN del soporte del smartphone. Este motor permite que el smartphone gire hacia la derecha y hacia la izquierda sin necesidad de girar las ruedas de la base, como se muestra en la siguiente imagen:

  • CAMPOS:
    • ángulo de giro: 
      • Número entero que indica el ángulo de giro del motor PAN.
      • Rango: valores enteros de -160 a 160, siendo 0 el valor de inicio (como se muestra en la imagen). Los valores negativos giran el PAN hacia la izquierda, mientras que los valores positivos giran el PAN hacia la derecha.
    • Velocidad de giro: 
      • Número entero que indica la velocidad de giro del motor PAN.
      • Rango: valores enteros de 0 a 100. Cuanto mayor es la velocidad para un ángulo de giro dado, menos tiempo tardará Robobo en poner el motor PAN en dicho ángulo. 
    • Modo de funcionamiento: Existen dos modos de funcionamiento posibles:
      • true: Modo bloqueante. En este modo, el robot ejecuta este bloque hasta que se alcanza el ángulo establecido, sin saltar al bloque siguiente.
      • false: Modo no-bloqueante, es decir, se inicia el movimiento del motor PAN establecido e inmediatamente se lanza la ejecución del bloque que exista a continuación. Esto implica, por ejemplo, que el robot puede ejecutar el movimiento de otro motor mientras se realiza el movimiento del PAN.
  • Ejemplo de funcionamiento:

El programa de la izquierda mueve el motor PAN a 120º, y al terminar dicho movimiento, mueve a Robobo hacia adelante durante 3 segundos. El programa de la derecha hace el mismo movimiento de PAN, pero de manera simultánea con el movimiento hacia adelante.

Move tilt to position _ with speed _ and wait _

  • Función: Mueve el motor TILT del soporte del smartphone. Este motor permite que el smartphone gire hacia delante y hacia atrás, como se muestra en la siguiente imagen:

  • CAMPOS:
    • ángulo de giro
      • Número real que indica el ángulo de giro del motor TILT.
      • Rango: de 26 a 109, siendo 75 el valor de inicio (como se muestra en la imagen anterior). Los valores menores de 75 giran el TILT hacia la arriba, mientras que los valores mayores de 75 giran el TILT hacia la abajo.
    • Velocidad de giro: 
      • Número real que indica la velocidad de giro del motor TILT.
      • Rango: de 0 a 100. Cuanto mayor es la velocidad para un ángulo de giro dado, menos tiempo tardará Robobo en poner el motor TILT en dicho ángulo. 
    • Modo de funcionamiento: Existen dos modos de funcionamiento posibles:
      • true: modo bloqueante. En este modo, el robot continúa con la ejecución de este bloque hasta que se alcanza el ángulo establecido, sin saltar al bloque siguiente.
      • false: modo no-bloqueante, es decir, se inicia el movimiento del motor TILT establecido e inmediatamente se lanza la ejecución del bloque que exista a continuación. Esto implica, por ejemplo, que el robot puede ejecutar el movimiento de otro motor mientras se realiza el movimiento del TILT.
  • Ejemplo de funcionamiento:

El programa de la izquierda mueve el motor TILT a 90º, y al terminar dicho movimiento, mueve el PAN a 180º. El programa de la derecha hace el mismo movimiento de TITL y PAN, pero de manera simultánea.

 

Set led _ to color  _

 

  • Función: Enciende o apaga el LED de la base elegido en el campo selección de LED al color elegido en el campo selección de color.

  • CAMPOS:
    • selección de led
      • Rango: se pueden encender de manera individual los LEDs de la base (la imagen anterior muestra la localización de los LEDs y su nombre) o bien todos juntos (all).
    • selección de color: 
      • Hay 8 colores posibles para los LEDs: blanco, rojo, azul, cyan, magenta, amarillo, verde y naranja. También es posible apagar los LEDs utilizando este comando, si escogemos off en el color.
  • Ejemplo de funcionamiento:

El siguiente programa enciende cada LED de la base a un color diferente durante un segundo (bloque wait), después los apaga todos y repite esta secuencia 10 veces.